/* A shared reading and spacing system for the desktop and phone experiences. */
:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-10:40px;--ink:#28382b;--muted:#63705d;--line:#d8dfd0;--paper:#f8f8f3;--green:#35583e;--sage:#e3ead8;font-optical-sizing:auto}
body{font-size:15px;-webkit-font-smoothing:antialiased}.menubar{font-size:13px}.desktop-menu button{font-size:13px}.desktop-clock,.location{font-size:12px}.desktop-menu{gap:22px}.window-title{font-size:12px}.window-body{padding:32px 40px}.window-body p,.window-body li{font-size:14px;line-height:1.75;color:#65715d}.window-body strong{font-weight:700}.window-body .eyebrow{font-size:11px;letter-spacing:1.15px;color:#65765a}.window-body .section-heading{font-size:39px;line-height:1.16;letter-spacing:-1px;margin:12px 0 16px}.window-body .section-lead{font-size:16px;line-height:1.65;max-width:62ch;margin-bottom:28px}.window-body .hero-description{font-size:17px;line-height:1.7;max-width:52ch;margin-bottom:24px}.hero-tagline{font-size:13px;line-height:1.5;gap:12px}.hero-title-row{margin:28px 0 16px;gap:16px}.hero-description strong{color:#334b32}.hero-stats{padding:24px 0;margin-top:28px}.hero-stat strong{font-size:33px}.hero-stat span{font-size:11px;line-height:1.6;color:#66745b}.welcome-bottom{padding-top:20px}.window-body .welcome-bottom p{font-size:12px;line-height:1.6;color:#6b785f}.welcome-bottom button{font-size:12px}.window-footer{font-size:10px;color:#6e7b63;min-height:31px;padding:9px 18px}.window-body .btn,.btn{font-size:13px;min-height:44px;gap:10px;padding:12px 16px;border-color:#c8d3bd}.btn.primary{background:#35583e;border-color:#35583e}.btn.primary:hover{background:#294930}.btn.small{min-height:40px;font-size:12px}.button-row{gap:10px}.text-button{font-size:12px;line-height:1.5;min-height:32px;color:#46633a}.window-body .source-note{font-size:11px;line-height:1.65;color:#748169}.app-launcher{font-size:12px;gap:10px}.desktop-launchers{gap:26px}.dock-label{font-size:11px}.role h3{font-size:26px;margin:8px 0}.window-body .role-title{font-size:15px;color:#46623c;line-height:1.5;margin-bottom:16px}.role-title span,.role-date{font-size:12px;line-height:1.6;color:#6f7e63}.role{padding-bottom:32px}.role ul{margin-top:12px;padding-left:19px}.role li+li{margin-top:7px}.pill{font-size:11px;padding:6px 10px;color:#566d47;background:#edf1e7;border-color:#d2dcc7}.case-top{margin-bottom:16px}.case-client{font-size:11px;line-height:1.6;color:#627753;letter-spacing:.8px}.case-card{padding:28px 0}.case-card h3{font-size:29px;line-height:1.2;margin-bottom:16px}.case-metrics{padding:20px 24px;gap:32px;margin:20px 0;background:#e7eedc}.case-metrics strong{font-size:34px}.case-metrics span{font-size:11px;line-height:1.6;color:#617650}.case-card summary{font-size:12px;line-height:1.5;padding:4px 0;color:#49683c}.window-body .case-card details p{font-size:13px}.skill-group{padding:24px 0}.skill-group h3{font-size:26px;margin-bottom:14px}.skill-tags{gap:8px}.skill-tags span{font-size:13px;padding:9px 12px;color:#506a41;background:#e7eddd}.credential{padding:24px 0;gap:16px}.credential h3{font-size:25px;margin-bottom:8px}.window-body .credential p{font-size:13px;color:#68795c}.cert-row{font-size:14px;padding:17px 0;gap:12px;line-height:1.5}.contact-banner{gap:16px;margin:24px 0}.contact-banner h2{font-size:34px;line-height:1.15}.window-body .contact-banner p{font-size:13px;color:#6b7b5d;margin-top:7px;line-height:1.5}.window-body .contact-note{font-size:12px;line-height:1.65;color:#6d7d61;margin:12px 0 24px}.contact-actions{gap:10px}.contact-line{font-size:14px;padding:18px 0;gap:14px;line-height:1.5}.contact-line small{font-size:11px;margin-bottom:5px;color:#6c7d5f}.contact-line .copy-button{font-size:12px;min-height:44px;color:#4f713e}.brief-highlight{padding:24px;margin:24px 0;background:#e7eedc}.window-body .brief-highlight p{font-size:16px;line-height:1.75;color:#466039}.brief-points li{padding:17px 0;gap:14px}.brief-points .icon{height:20px;width:20px;color:#7c9569}.share-tabs{padding:5px;margin:24px 0}.share-tabs button{font-size:13px;min-height:42px}.qr-caption h3{font-size:27px;margin-bottom:12px}.window-body .qr-caption p{font-size:14px;line-height:1.65;color:#667b58}.recognition button span{font-size:12px;line-height:1.5;padding:13px 14px}.recognition-grid{gap:16px}.awards-heading h3{font-size:28px;margin:12px 0 16px}.award-row{padding:18px 0;gap:16px}.award-meta strong,.award-meta span{font-size:12px}.award-meta span{color:#516d41}.window-body .award-row p{font-size:14px;line-height:1.6;color:#617553}.window-body .cv-intro{font-size:16px;line-height:1.7}.cv-impact span{font-size:11px;line-height:1.65;color:#cbd7bc}.cv-impact strong{font-size:34px}.cv-section-label{margin:32px 0 20px}.cv-section-label h2{font-size:29px}.cv-role{padding:28px;margin-bottom:20px}.cv-period{font-size:12px;color:#697e5b}.cv-role-meta{font-size:12px;gap:12px;margin-bottom:20px;color:#6b7e5d}.window-body .cv-role>p{font-size:15px;line-height:1.8;color:#677b58}.window-body .cv-role li{font-size:14px;line-height:1.85;color:#657955}.cv-role strong{color:#34502c}.cv-results span{font-size:11px;color:#647b52}.cv-role .award-meta span,.cv-role .award-meta strong{font-size:11px}.window-body .cv-role .award-row p{font-size:13px}.cv-role .awards-heading h3{font-size:26px}.cv-role .text-button{font-size:12px}.cv-education .eyebrow{font-size:10px}.cv-education h3{font-size:20px;margin:10px 0}.cv-skills>span{font-size:13px;padding:10px 13px}.cv-certifications strong{font-size:14px}.window-body .cv-certifications p{font-size:13px;line-height:1.8}.window-body .cv-end .eyebrow{font-size:10px}.widget-top{font-size:12px}.widget-date{font-size:12px}.local-bottom{font-size:11px;line-height:1.5}.focus-widget .eyebrow,.quick-widget .eyebrow{font-size:10px;color:#627451}.focus-widget p{font-size:12px;color:#68795a;line-height:1.75}.quick-widget button,.quick-widget a{font-size:11px;min-height:41px}.desktop-footer{font-size:10px;color:#d9dfcc94}.desktop-footer button{font-size:10px}.search-result strong{font-size:14px}.search-result small{font-size:12px;color:#687b5a}.search-result{padding:13px 14px;gap:14px}.search-help{font-size:12px;color:#697c5b}.search-input-row input{font-size:16px}.search-input-row button{font-size:11px;min-height:30px;min-width:34px}
@media(max-width:1100px) and (min-width:769px){.window-body{padding:28px}.hero-stats{gap:12px}.hero-stat strong{font-size:28px}.hero-stat span{font-size:10px}.hero-tagline{font-size:11px;gap:9px}.window-body .hero-description{font-size:15px}.window-body .btn{font-size:12px}.desktop-menu{gap:14px}.desktop-menu button{font-size:12px}.window-body .section-heading{font-size:35px}}
@media(max-width:768px){.phone-status{font-size:12px;padding:14px 25px 0}.status-name{font-size:12px;letter-spacing:.7px}.phone-time-block{padding-top:15px}.phone-date{font-size:14px;line-height:1.5;margin-bottom:1px}.phone-clock{font-size:70px;font-weight:400;line-height:1.18;letter-spacing:-3.5px}.phone-location{font-size:11px;color:#d4dfc6;opacity:.85;margin:6px 0 21px;gap:5px}.phone-location .icon{width:12px;height:12px}.phone-intro{padding:18px 20px 0}.intro-top{gap:10px;margin-bottom:13px}.tiny-label{font-size:11px;color:#60764f;letter-spacing:.1px}.intro-top>.icon{color:#688654}.phone-intro h1{font-size:38px;letter-spacing:-1px;margin-bottom:8px}.phone-intro>p{font-size:14px;line-height:1.55;margin-bottom:16px;color:#627653}.intro-footer{font-size:10px;line-height:1.5;padding:12px 0;color:#5b744b}.phone-apps{padding-top:25px;row-gap:23px;column-gap:10px}.phone-apps .app-launcher{font-size:11px;gap:8px;color:#f0f4e8;line-height:1.35}.phone-apps .app-tile{width:57px;height:57px}.phone-search{font-size:11px;color:#d3ddc5;background:#e1e9d11b;padding:8px 14px;margin-top:23px;gap:7px}.phone-search .icon{width:12px;height:12px}.phone-hint{display:none}.dock{padding:12px 10px 10px}.dock-label{font-size:10px;color:#eff4e4}.dock-item{gap:6px}.dock-item .app-tile{width:49px;height:49px}.window-title{font-size:13px}.mobile-back{font-size:12px;min-height:44px}.window-body{padding:28px 24px 35px}.window-body p,.window-body li{font-size:15px;line-height:1.75}.window-body .section-heading{font-size:37px;line-height:1.18;letter-spacing:-1px;margin:13px 0 17px}.window-body .section-lead{font-size:15px;line-height:1.7;margin-bottom:26px}.window-body .eyebrow{font-size:10px;letter-spacing:1px;line-height:1.5}.hero-title-row{gap:13px;margin:28px 0 18px}.hero-title-row h1{font-size:41px;letter-spacing:-1.4px}.hero-tagline{font-size:14px;line-height:1.7;display:block}.window-body .hero-description{font-size:16px;line-height:1.75}.hero-stats{padding:23px 0;gap:14px;margin-top:26px}.hero-stat strong{font-size:27px;line-height:1.18}.hero-stat span{font-size:10px;line-height:1.7}.window-body .welcome-bottom p{font-size:13px;line-height:1.6}.welcome-bottom .text-button{font-size:12px}.window-body .btn{font-size:13px;min-height:46px;padding:12px 14px;gap:9px}.window-body .btn.small{font-size:12px;min-height:42px}.window-footer{font-size:10px;min-height:48px;padding:10px 22px calc(23px + env(safe-area-inset-bottom))}.window-footer span:last-child{font-size:9px}.role{padding-left:20px;padding-bottom:30px}.role-date{font-size:11px}.role h3{font-size:28px}.window-body .role-title{font-size:15px;margin-bottom:16px}.role-title span{font-size:12px;margin-top:7px}.role li+li{margin-top:9px}.role .text-button{font-size:13px}.case-client{font-size:10px;line-height:1.6}.case-top{gap:12px;margin-bottom:14px}.case-card h3{font-size:29px;line-height:1.25;margin-bottom:15px}.case-metrics{gap:23px;padding:20px 18px}.case-metrics strong{font-size:32px}.case-metrics span{font-size:10px;line-height:1.65}.pill{font-size:11px;padding:7px 9px;line-height:1.3}.case-card summary{font-size:13px;padding:6px 0;line-height:1.5}.window-body .case-card details p{font-size:14px}.skill-tags span{font-size:13px;padding:10px 12px}.skill-group h3{font-size:28px}.credential h3{font-size:26px;line-height:1.25}.window-body .credential p{font-size:14px;line-height:1.7}.cert-row{font-size:14px;line-height:1.6;padding:18px 0}.contact-banner{gap:13px;margin:22px 0}.contact-banner h2{font-size:31px}.window-body .contact-banner p{font-size:12px;line-height:1.6}.window-body .contact-note{font-size:12px;line-height:1.7}.contact-actions .btn{font-size:12px;padding:12px 8px;gap:7px}.contact-actions .btn .icon{width:15px;height:15px}.contact-line{font-size:13px;padding:19px 0;gap:12px}.contact-line small{font-size:11px}.contact-line .copy-button{font-size:11px}.window-body .brief-highlight p{font-size:16px;line-height:1.8}.brief-highlight{padding:21px}.brief-points li{font-size:15px;padding:18px 0;line-height:1.8}.qr-caption h3{font-size:28px;line-height:1.2}.window-body .qr-caption p{font-size:14px;line-height:1.7}.share-tabs button{font-size:12px;min-height:44px}.recognition-grid{gap:12px}.recognition button span{font-size:11px;padding:13px 12px;line-height:1.6}.award-row{padding:17px 0;gap:14px}.award-meta strong,.award-meta span{font-size:11px}.window-body .award-row p{font-size:14px;line-height:1.65}.os-window[data-app="resume"] .window-body{padding:0 24px 33px}.cv-hero{padding:28px 0 27px}.cv-identity .eyebrow{font-size:8px;letter-spacing:.8px}.cv-identity h1{font-size:34px}.window-body .cv-identity p{font-size:12px;margin-top:5px}.cv-hero>h2{font-size:35px;line-height:1.17;letter-spacing:-.8px;margin:28px 0 18px}.window-body .cv-intro{font-size:15px;line-height:1.8;margin-bottom:24px}.cv-hero .btn{font-size:12px;padding:12px 13px}.cv-impact{margin:0 -24px;padding:24px;gap:12px}.cv-impact strong{font-size:26px}.cv-impact span{font-size:10px;line-height:1.7}.cv-section-label{margin:30px 0 20px}.cv-section-label h2{font-size:29px;line-height:1.22}.cv-section-label>span{font-size:11px}.cv-role{padding:23px 20px;margin-bottom:19px}.cv-period{font-size:11px}.cv-role h3{font-size:24px;line-height:1.3;margin-bottom:11px}.cv-role-meta{font-size:12px;gap:8px;line-height:1.55;margin-bottom:19px}.window-body .cv-role>p{font-size:15px;line-height:1.8}.window-body .cv-role li{font-size:14px;line-height:1.8;padding-bottom:16px}.cv-results{padding:19px 17px;gap:25px}.cv-results strong{font-size:33px}.cv-results span{font-size:10px;line-height:1.7}.cv-role .award-meta strong,.cv-role .award-meta span{font-size:10px}.window-body .cv-role .award-row p{font-size:13px}.cv-role .awards-heading h3{font-size:26px}.cv-role .text-button{font-size:12px}.cv-education h3{font-size:18px;line-height:1.5}.cv-education .eyebrow{font-size:9px;line-height:1.7}.window-body .cv-education p{font-size:13px}.cv-skills>span{font-size:12px;padding:10px 12px}.cv-certifications strong{font-size:14px}.window-body .cv-certifications p{font-size:13px;line-height:1.9}.window-body .cv-end .eyebrow{font-size:9px;line-height:1.8}.window-body .source-note{font-size:11px;line-height:1.8;color:#6d805d}.search-result strong{font-size:15px}.search-result small{font-size:12px}.search-result{padding:14px 12px}.search-help{font-size:11px}}
@media(max-width:380px){.phone-home{padding-left:21px;padding-right:21px}.phone-time-block{padding-top:10px}.phone-clock{font-size:61px}.phone-location{margin-bottom:17px}.phone-intro{padding:16px 18px 0}.phone-intro h1{font-size:35px}.phone-intro>p{font-size:13px}.intro-footer{font-size:9px}.phone-apps{gap:21px 9px;padding-top:23px}.phone-apps .app-launcher{font-size:10px}.phone-apps .app-tile{width:54px;height:54px}.phone-search{margin-top:21px}.hero-title-row h1{font-size:37px}.contact-line{font-size:12px}.contact-line .copy-button{min-width:39px}.window-body .btn{font-size:12px;padding:12px}.cv-hero .btn{font-size:11px;gap:7px}.cv-impact{padding:23px 21px}.cv-impact strong{font-size:24px}.cv-impact span{font-size:9px}.cv-role{padding:22px 18px}.cv-role-meta{font-size:11px}}
@media(max-width:768px) and (max-height:760px){.phone-time-block{padding-top:8px}.phone-clock{font-size:55px}.phone-location{margin-bottom:16px}.phone-intro{padding-top:15px}.intro-top{margin-bottom:11px}.phone-intro h1{font-size:33px}.phone-intro>p{font-size:13px;margin-bottom:14px}.intro-footer{padding:10px 0}.phone-apps{padding-top:22px;row-gap:20px}.phone-search{margin-top:20px}}
@media(prefers-contrast:more){:root{--line:#a6b49a}.window-body p,.window-body li,.window-body .section-lead,.contact-line small,.hero-stat span{color:#354c2d}.window-footer{color:#49603b}.phone-hint{display:none}}
