@font-face{font-family:'DM Sans';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/dm-sans-400.ttf') format('truetype')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:500;font-display:swap;src:url('assets/fonts/dm-sans-500.ttf') format('truetype')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:600;font-display:swap;src:url('assets/fonts/dm-sans-600.ttf') format('truetype')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:700;font-display:swap;src:url('assets/fonts/dm-sans-700.ttf') format('truetype')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/manrope-400.ttf') format('truetype')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:500;font-display:swap;src:url('assets/fonts/manrope-500.ttf') format('truetype')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:600;font-display:swap;src:url('assets/fonts/manrope-600.ttf') format('truetype')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:700;font-display:swap;src:url('assets/fonts/manrope-700.ttf') format('truetype')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:800;font-display:swap;src:url('assets/fonts/manrope-800.ttf') format('truetype')}
:root{--paper:#f7f8f2;--ink:#183e35;--muted:#65716a;--line:#dce2d6;--lime:#e4edbd;--green:#244d40;--white:#fff;--radius:18px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a,summary{touch-action:manipulation}button{border:0}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #798c3e;outline-offset:6px}::selection{background:#d7e7a4}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Manrope,Arial,sans-serif;font-weight:500;line-height:1.13;letter-spacing:-.055em}h1{font-size:clamp(44px,4.5vw,67px);font-weight:500}h2{font-size:clamp(34px,3.15vw,47px)}h3{font-size:34px}em{font-family:Georgia,'Times New Roman',serif;font-weight:400}p{color:var(--muted)}svg{display:block}.wrap{width:min(1200px,calc(100% - 96px));margin-inline:auto}.eyebrow{font-size:10px;letter-spacing:.15em;font-weight:700;line-height:1.4;color:var(--ink)}.header{position:sticky;top:0;z-index:20;background:rgba(247,248,242,.94);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.nav{height:87px;display:flex;align-items:center;justify-content:space-between;gap:24px}.wordmark{font-family:Manrope,Arial,sans-serif;font-size:25px;font-weight:800;letter-spacing:-1.2px;white-space:nowrap}.wordmark span{display:inline-block;margin-left:7px;color:#72934c;font-size:32px;vertical-align:-3px}.nav-links{display:flex;gap:34px;font-size:12px;font-weight:500}.nav-links a{position:relative}.nav-links a:after{content:'';position:absolute;left:0;bottom:-7px;height:1px;background:var(--ink);width:0;transition:width .2s}.nav-links a:hover:after,.nav-links a.active:after{width:100%}.nav-contact{font-size:12px;font-weight:600;border:1px solid #b5c1ac;border-radius:100px;padding:11px 20px}.nav-contact span{margin-left:18px}.menu-toggle{display:none}.skip-link{position:fixed;z-index:100;top:-100px;left:20px;background:var(--ink);color:white;padding:12px}.skip-link:focus{top:10px}.hero{display:grid;grid-template-columns:1.3fr 1fr;gap:58px;align-items:center;padding-top:78px;padding-bottom:68px}.availability{display:flex;align-items:center;gap:8px;letter-spacing:.105em;font-size:9px;margin-bottom:27px}.status-dot{display:inline-block;width:7px;height:7px;background:#7e9c52;border-radius:50%;box-shadow:0 0 0 4px #dbe7cc;flex-shrink:0}.hero h1{margin-bottom:24px}.hero h1 em{color:#5a734d}.hero-intro{font-size:16px;max-width:500px;line-height:1.8}.hero-context{font-size:11px;margin-top:17px;color:#536456}.hero-context span{padding:0 6px}.hero-actions{display:flex;gap:12px;margin-top:29px}.button{display:inline-flex;align-items:center;justify-content:center;gap:26px;padding:15px 22px;font-size:12px;font-weight:600;border-radius:8px;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px)}.button span{font-size:18px;line-height:1}.primary{background:var(--ink);color:white}.primary:hover{background:#2c5746}.secondary{border:1px solid #cbd3c3}.secondary:hover{background:#edf0e5}.location{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:10px;margin-top:26px}.location svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.5}.location span{margin:0 5px;color:#a0ac99}.impact{display:grid;grid-template-columns:1.2fr repeat(4,1fr);padding-block:31px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.impact-intro{align-self:center}.impact-intro .eyebrow{font-size:8px;letter-spacing:.12em}.impact-intro p{font-size:16px;line-height:1.4;color:var(--ink);margin-top:10px}.metric{border-left:1px solid var(--line);padding-left:30px}.metric strong{font-family:Manrope,Arial,sans-serif;font-size:39px;letter-spacing:-.065em;font-weight:500;line-height:1.4}.metric strong span{font-size:27px}.metric p{font-size:10px;line-height:1.6;margin-top:3px}.section{padding-block:100px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;margin-bottom:38px}.section-number{color:#6a795e;margin-bottom:17px}.section-heading>p{font-size:12px;margin-bottom:3px;line-height:1.8}.project{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fcfdf8;transition:box-shadow .2s}.project:hover{box-shadow:0 12px 35px #1c422b09}.featured{display:grid;grid-template-columns:1.06fr 1fr}.project-visual{position:relative;overflow:hidden;min-height:350px}.aws-visual{background:#24483d;color:#e4ecce}.visual-top,.visual-caption{position:absolute;left:30px;right:30px;display:flex;justify-content:space-between;align-items:center;z-index:2}.visual-top{top:24px;font-size:14px;letter-spacing:-.03em}.visual-top>span:last-child{font-size:22px}.visual-caption{bottom:24px;font-size:7px;letter-spacing:.14em;opacity:.7}.pricing-diagram{position:absolute;left:52px;right:48px;bottom:84px;height:207px;display:flex;align-items:flex-end;gap:18px;border-bottom:1px solid #c6d6bd50;background:repeating-linear-gradient(to top,transparent,transparent 50px,#c6d6bd16 50px,#c6d6bd16 51px)}.pricing-bar{width:28%;position:relative;border:1px solid #bed28b65;border-bottom:0;border-radius:5px 5px 0 0;background:linear-gradient(to top,#5d8150,#c2d48d)}.bar-one{height:65px;opacity:.5}.bar-two{height:121px;opacity:.75}.bar-three{height:179px}.pricing-bar span{position:absolute;left:50%;transform:translateX(-50%);bottom:-25px;font-size:8px;letter-spacing:.13em;color:#e4ecce}.diagram-label{position:absolute;left:-29px;top:35px;font-size:7px;writing-mode:vertical-rl;transform:rotate(180deg);letter-spacing:.16em}.curve{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.curve path{stroke:#f1f5dd;fill:none;stroke-width:1.5;stroke-dasharray:4 5}.project-copy{padding:38px 40px}.tags{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:19px}.tags span{font-size:8px;letter-spacing:.1em;border:1px solid #d8dfcf;border-radius:30px;padding:5px 9px;line-height:1.3;color:#5d7151}.project-copy>p{font-size:12px;margin-top:19px;line-height:1.8;max-width:450px}.project-result{display:flex;align-items:center;gap:15px;margin-block:21px}.project-result strong{font-size:32px;font-weight:500;letter-spacing:-.05em}.project-result span{font-size:10px;max-width:120px;line-height:1.5;color:var(--muted)}.text-link{display:inline-flex;align-items:center;gap:23px;background:none;font-size:11px;font-weight:600;border-bottom:1px solid #bfc9b4;padding:0 0 7px}.text-link span{font-size:17px;line-height:1;transition:transform .2s}.text-link:hover span{transform:translate(3px,-3px)}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:25px}.compact .project-visual{height:285px;min-height:0}.compact .project-copy{padding:30px 34px 33px}.compact h3{font-size:30px}.compact .project-copy>p{max-width:400px}.ai-visual{background:#e5e9df;color:#435647}.tryon-composition{position:absolute;inset:45px 0 45px;display:flex;justify-content:center;gap:15px;align-items:center}.garment-card{background:#f8f7f0;border:1px solid white;width:120px;height:164px;box-shadow:0 7px 20px #304d3510;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-10deg)}.garment-card svg{width:83px;height:114px;fill:#b6bbaa;stroke:#909c88;stroke-width:.75}.garment-card span{font-size:6px;letter-spacing:.2em;margin-top:4px}.garment-two{transform:rotate(8deg) translateY(4px)}.garment-two svg{fill:#677e68;stroke:#45664f}.ai-badge{position:absolute;left:50%;transform:translateX(-50%);bottom:0;background:white;border:1px solid #d8e2d1;border-radius:30px;padding:7px 13px;font-size:9px;white-space:nowrap;box-shadow:0 5px 15px #193e3510}.sizing-visual{background:#eae6da;color:#615e4a}.sizing-composition{position:absolute;inset:55px 35px 45px}.size-node{position:absolute;left:15%;width:44px;height:37px;display:grid;place-items:center;border:1px solid #bbb7a1;background:#f7f5ec;border-radius:6px;font-family:Georgia,serif;font-style:italic;font-size:20px;z-index:2}.node-a{top:5px;transform:rotate(-8deg)}.node-b{top:64px}.node-c{top:123px;transform:rotate(8deg)}.size-line{position:absolute;height:1px;background:#b8b59c;width:31%;left:23%;top:81px;transform-origin:right}.line-a{transform:rotate(29deg)}.line-c{transform:rotate(-29deg)}.size-center{width:130px;height:130px;border:1px solid #b8b59c;position:absolute;top:17px;left:50%;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:13px;line-height:1.5;background:#f4f1e7;box-shadow:0 0 0 10px #eae6da,0 0 0 11px #cfcab75e}.size-center strong{font-family:Georgia,serif;font-style:italic;font-size:18px;font-weight:400}.size-caption{display:none}.mini-result{font-size:10px;padding:20px 0 24px;color:#53644a;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.mini-result strong{font-size:18px;font-weight:500}.work-footnote{font-size:9px;margin-top:22px}.experience-section{background:#eef1e7;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:82px 0}.experience-layout{display:grid;grid-template-columns:1fr 1.16fr;gap:95px}.experience-intro h2{font-size:39px}.experience-intro>p:not(.eyebrow){margin-top:25px;font-size:13px;max-width:320px}.experience-intro .text-link{margin-top:29px}.timeline{padding-left:24px}.timeline details{position:relative;border-left:1px solid #c9d4bd;padding:0 0 24px 32px}.timeline details:last-child{padding-bottom:0;border-left-color:transparent}.timeline summary{list-style:none;cursor:pointer;position:relative;padding-right:32px}.timeline summary::-webkit-details-marker{display:none}.timeline-dot{position:absolute;left:-38px;top:4px;width:11px;height:11px;border:2px solid #9daf87;background:#eef1e7;border-radius:50%}.timeline details[open] .timeline-dot{background:var(--ink);border-color:var(--ink);box-shadow:0 0 0 5px #e0e8d6}.role-meta{display:block;font-size:9px;color:#627357;letter-spacing:.06em;margin-bottom:7px}.current-tag{font-size:7px;background:#dce7c6;padding:3px 6px;border-radius:3px;margin-left:8px}.role-company{display:block;font-size:22px;font-weight:500;letter-spacing:-.035em}.role-company>span{font-size:13px;color:#63745b;margin-left:6px;font-weight:400;letter-spacing:0}.role-title{display:block;font-size:11px;color:var(--muted);margin-top:2px}.expand-icon{position:absolute;right:0;top:22px;font-size:20px;transition:transform .2s;font-weight:400}.timeline details[open] .expand-icon{transform:rotate(45deg)}.role-details{padding-top:14px;font-size:11px;line-height:1.8;color:var(--muted)}.role-details ul{padding-left:15px;margin:9px 0 0}.role-details li{margin-top:6px}.about-section{display:grid;grid-template-columns:1fr 1.16fr;gap:95px}.about-heading h2{font-size:38px}.about-content>p{font-size:13px;margin-bottom:16px}.about-content .about-lead{font-size:22px;line-height:1.5;color:var(--ink);letter-spacing:-.02em;margin-bottom:21px}.capabilities{display:flex;gap:8px;flex-wrap:wrap;margin-block:25px 30px}.capabilities span{font-size:10px;padding:7px 12px;border:1px solid var(--line);border-radius:30px}.education{border-top:1px solid var(--line);padding-top:24px;display:grid;grid-template-columns:1fr 1fr;gap:20px}.education .eyebrow{font-size:8px}.education p{font-size:10px;margin-top:10px;line-height:1.9}.contact-section{border-radius:20px;background:var(--ink);color:#f7f8ed;padding:52px 54px;display:flex;justify-content:space-between;align-items:center;gap:40px}.contact-section .eyebrow{color:#d8e4b9;font-size:8px;display:flex;align-items:center;gap:10px;margin-bottom:21px}.contact-section .status-dot{width:5px;height:5px;box-shadow:0 0 0 3px #536f49}.contact-section h2{font-size:38px}.contact-section h2 em{color:#dce9b9}.contact-section p:not(.eyebrow){color:#bdcdbd;font-size:11px;margin-top:21px;line-height:1.9}.contact-actions{display:flex;flex-direction:column;align-items:flex-start;padding-top:40px;flex-shrink:0}.light{background:#e6efc3;color:var(--ink);min-width:180px;justify-content:space-between}.copy-email{background:none;color:#dce4d1;margin-top:19px;padding:0;font-size:10px}.copy-email span{margin-left:8px}.copy-status{font-size:10px;color:#e6efc3;min-height:18px;margin-top:5px}.footer{display:flex;align-items:center;gap:25px;justify-content:space-between;padding-block:33px;font-size:9px;color:var(--muted)}.footer .wordmark{font-size:19px;color:var(--ink)}.footer .wordmark span{font-size:24px}.footer p{flex:1;margin-left:28px}.back-top{font-size:20px;border:1px solid var(--line);border-radius:50%;width:34px;height:34px;display:grid;place-items:center;color:var(--ink)}dialog{width:min(780px,calc(100% - 32px));max-height:90vh;max-height:90dvh;border:1px solid var(--line);border-radius:20px;background:var(--paper);color:var(--ink);padding:0;box-shadow:0 35px 100px #06180e55}dialog::backdrop{background:#0c271f99;backdrop-filter:blur(6px)}.dialog-top{display:flex;justify-content:space-between;align-items:center;padding:18px 32px;position:sticky;top:0;background:var(--paper);border-bottom:1px solid var(--line);z-index:2}.dialog-top .eyebrow{font-size:9px}.dialog-close{background:#e8eddf;width:34px;height:34px;border-radius:50%;font-size:14px}#case-content{padding:35px 44px}.case-kicker{font-size:10px;letter-spacing:.1em;margin-bottom:15px;text-transform:uppercase}#case-title{font-size:42px;margin-bottom:20px}.case-deck{font-size:16px;line-height:1.7}.case-stat{background:#e7edda;border:1px solid #d4dfc5;border-radius:12px;padding:20px 24px;display:flex;gap:20px;align-items:center;margin-block:27px}.case-stat strong{font-size:32px;line-height:1;white-space:nowrap;font-weight:500;letter-spacing:-.04em}.case-stat span{font-size:12px;line-height:1.6;color:#516747}.case-section{margin-top:27px}.case-section h3{font-size:21px;letter-spacing:-.025em;margin-bottom:10px}.case-section p,.case-section li{font-size:13px;line-height:1.85;color:var(--muted)}.case-section ul{padding-left:18px}.case-section li+li{margin-top:7px}.case-note{font-size:10px;padding-top:21px;margin-top:27px;border-top:1px solid var(--line)}.dialog-bottom{padding:22px 32px;background:#eef1e6;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:11px}.dialog-bottom a{font-weight:600}.dialog-done{background:none;padding:0;text-decoration:underline;text-underline-offset:4px}
@media(min-width:1500px){.hero{padding-top:90px;padding-bottom:85px}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.hero{gap:30px;grid-template-columns:1.15fr 1fr}.hero h1{font-size:49px}.hero-intro{font-size:14px}.metric{padding-left:20px}.metric strong{font-size:34px}.experience-layout,.about-section{gap:45px}.project-copy{padding:30px}.pricing-diagram{left:42px;right:36px}.contact-section{padding:42px 35px}.contact-section h2{font-size:33px}}
@media(max-width:800px){.wrap{width:calc(100% - 44px)}.nav{height:73px}.nav-links{gap:21px;font-size:11px}.nav-contact{font-size:10px;padding:9px 14px}.nav-contact span{margin-left:9px}.hero{gap:24px;padding-top:52px;padding-bottom:45px;grid-template-columns:1.15fr .85fr}.hero h1{font-size:40px}.availability{font-size:7px}.hero-intro{font-size:12px}.hero-context{font-size:9px}.hero-actions{gap:8px}.button{padding:12px 15px;font-size:10px;gap:18px}.metric{padding-left:15px}.metric strong{font-size:29px}.metric strong span{font-size:22px}.metric p{font-size:8px}.impact-intro p{font-size:13px}.impact-intro .eyebrow{font-size:6px}.section{padding-block:70px}.section-heading>p{max-width:250px;font-size:11px}.desktop-break{display:none}.project-copy{padding:27px}.project h3{font-size:27px}.project-copy>p{font-size:11px}.project-result{gap:10px}.project-result span{font-size:9px}.project-result strong{font-size:28px}.project-visual{min-height:350px}.project-grid{gap:18px}.compact .project-copy{padding:25px}.compact .project-visual{height:255px}.compact h3{font-size:25px}.visual-top,.visual-caption{left:22px;right:22px}.visual-caption{font-size:6px}.experience-layout,.about-section{grid-template-columns:1fr;gap:35px}.experience-intro>p:not(.eyebrow){max-width:450px}.timeline{padding-left:8px}.experience-intro h2,.about-heading h2{font-size:36px}.role-meta{font-size:10px}.role-title{font-size:12px}.role-details{font-size:13px}.timeline details{padding-bottom:28px}.about-content>p{font-size:14px}.about-content{max-width:600px}.contact-section{gap:25px}.contact-section h2{font-size:28px}.contact-section p:not(.eyebrow){font-size:10px}.contact-actions .button{font-size:12px;min-width:150px}.copy-email{font-size:9px}.footer p{margin-left:0}}
@media(max-width:600px){html{scroll-padding-top:82px}.wrap{width:calc(100% - 40px)}.nav{height:70px;gap:17px}.wordmark{font-size:23px}.nav-contact{margin-left:auto;font-size:10px;padding:8px 12px}.menu-toggle{display:flex;flex-direction:column;gap:5px;background:transparent;width:32px;height:38px;justify-content:center;padding:5px}.menu-toggle span{height:1px;width:21px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3px) rotate(-45deg)}.nav-links{display:none;position:absolute;top:70px;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);padding:20px;flex-direction:column;font-size:14px;gap:0}.nav-links.open{display:flex}.nav-links a{padding:12px 0}.nav-links a:after{display:none}.hero{grid-template-columns:1fr;padding-top:41px;gap:32px;padding-bottom:38px}.availability{font-size:8px;margin-bottom:22px}.hero h1{font-size:clamp(36px,9vw,53px);line-height:1.15;margin-bottom:20px}.hero-intro{font-size:14px;max-width:450px}.hero-context{font-size:10px;margin-top:16px}.hero-actions{margin-top:25px;gap:10px}.hero-actions .button{font-size:11px;padding:13px 19px}.location{margin-top:21px;font-size:10px}.impact{grid-template-columns:1fr 1fr;padding-block:23px;gap:25px 0}.impact-intro{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between}.impact-intro .eyebrow{font-size:8px}.impact-intro p{margin:0;font-size:12px;text-align:right}.impact-intro p br{display:none}.metric{padding:0;border-left:0}.metric:nth-of-type(odd){border-left:1px solid var(--line);padding-left:28px}.metric strong{font-size:38px}.metric strong span{font-size:26px}.metric p{font-size:10px}.section{padding-block:59px}.section-heading{flex-direction:column;align-items:flex-start;gap:20px;margin-bottom:27px}.section-heading h2{font-size:35px}.section-heading>p{max-width:320px;font-size:12px}.section-number{font-size:9px;margin-bottom:15px}.featured{grid-template-columns:1fr}.featured .project-visual{min-height:0;height:285px}.pricing-diagram{bottom:67px;height:160px;left:45px;right:35px}.bar-one{height:50px}.bar-two{height:91px}.bar-three{height:136px}.project-copy{padding:26px}.project h3{font-size:29px}.project-copy>p{font-size:12px}.project-result span{max-width:none}.project-grid{grid-template-columns:1fr;gap:20px;margin-top:20px}.compact .project-visual{height:250px}.compact .project-copy{padding:26px}.compact h3{font-size:29px}.text-link{font-size:12px}.tags span{font-size:8px}.visual-top{font-size:13px}.visual-caption{font-size:6px}.mini-result{font-size:10px}.work-footnote{font-size:9px;line-height:1.7}.experience-section{padding-block:57px}.experience-intro h2,.about-heading h2{font-size:34px}.experience-layout{gap:39px}.timeline details{padding-left:24px}.timeline-dot{left:-30px}.role-title{font-size:11px;max-width:240px}.role-company{font-size:21px}.role-details{font-size:12px}.role-meta{font-size:8px}.current-tag{font-size:6px}.about-section{gap:28px}.about-content .about-lead{font-size:23px}.about-content>p{font-size:13px}.education{gap:15px}.education p{font-size:9px}.contact-section{padding:33px 27px;flex-direction:column;align-items:flex-start;gap:24px;border-radius:15px}.contact-section h2{font-size:31px}.contact-section p:not(.eyebrow){font-size:11px}.contact-section p br{display:none}.contact-actions{padding-top:0;width:100%}.contact-actions .button{font-size:12px;padding:14px 20px;min-width:170px}.copy-email{font-size:11px;margin-top:15px}.footer{gap:15px;flex-wrap:wrap;padding-block:27px}.footer .wordmark{font-size:20px}.footer p{display:none}.footer>span{margin-left:auto;font-size:8px}.footer .back-top{width:28px;height:28px;font-size:17px}.dialog-top{padding:15px 20px}#case-content{padding:27px 24px}#case-title{font-size:32px}.case-deck{font-size:14px}.case-stat{padding:18px;gap:15px}.case-stat strong{font-size:27px}.case-stat span{font-size:11px}.dialog-bottom{padding:20px;flex-wrap:wrap}.dialog-close{width:38px;height:38px}.dialog-top .eyebrow{font-size:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Strategic Trajectory */
.trajectory-heading{text-align:center;max-width:650px;margin:0 auto 32px}
.trajectory-heading h2{font-size:46px}
.trajectory-heading>p:last-child{font-size:14px;line-height:1.8;margin-top:20px}
.trajectory-toolbar{display:flex;align-items:center;justify-content:space-between;min-height:42px;font-size:9px;letter-spacing:.12em;color:#687a5c;margin-bottom:5px}
.trajectory-toolbar>span>span{padding:0 12px}
.trajectory-controls{display:flex;align-items:center;gap:9px}
.trajectory-controls button{display:grid;place-items:center;width:36px;height:36px;border:1px solid #c8d3bb;border-radius:50%;background:transparent;font-size:17px;transition:background .2s}
.trajectory-controls button:hover:not(:disabled){background:#dfe8d3}
.trajectory-controls button:disabled{opacity:.35;cursor:default}
.trajectory-controls[hidden]{display:none}
.swipe-hint{font-size:9px;letter-spacing:.02em;margin-right:10px}
.trajectory-scroll{overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#adbd97 transparent;padding:15px 10px 28px;margin-inline:-10px}
.trajectory-scroll:focus-visible{outline:2px solid #798c3e;outline-offset:4px;border-radius:12px}
.trajectory-track{position:relative;display:grid;grid-template-columns:repeat(4,minmax(230px,1fr));gap:24px;padding:0;margin:0;list-style:none;min-width:992px}
.trajectory-track:before{content:'';position:absolute;top:45px;left:12.5%;right:12.5%;height:1px;background:linear-gradient(90deg,#bccca7,#325741);pointer-events:none}
.trajectory-track li{min-width:0;scroll-snap-align:start;scroll-margin-inline:10px}
.milestone{position:relative;display:flex;flex-direction:column;align-items:center;width:100%;padding:0;background:none;text-align:center;border-radius:14px}
.milestone-period{font-size:9px;font-weight:600;letter-spacing:.055em;min-height:18px;display:flex;align-items:center;gap:7px;justify-content:center;color:#647459;white-space:nowrap}
.milestone-current-label{font-size:7px;padding:2px 5px;border-radius:3px;background:#dce8c7;color:#365437}
.milestone-node{position:relative;display:block;width:12px;height:12px;border-radius:50%;background:#9fb885;border:3px solid #eef1e7;box-shadow:0 0 0 1px #9fb885;margin:22px 0 26px;transition:transform .25s,box-shadow .25s}
.milestone-current .milestone-node{background:var(--ink);box-shadow:0 0 0 1px var(--ink),0 0 0 6px #dce5d0}
.milestone-card{display:flex;align-items:center;flex-direction:column;background:#f9fbf4;border:1px solid #d3dec8;border-radius:16px;width:100%;min-height:250px;padding:24px 15px 20px;box-shadow:0 5px 15px #243e3010;transition:transform .25s,box-shadow .25s,border-color .25s}
.milestone-current .milestone-card{background:#e4edda;border-color:#b6c9a3}
.milestone-number{font-size:8px;letter-spacing:.09em;color:#687a5c;margin-bottom:18px}
.milestone-company{font-family:Manrope,Arial,sans-serif;font-size:23px;line-height:1.3;font-weight:600;letter-spacing:-.045em;margin-bottom:9px}
.milestone-company>span{font-size:12px;font-weight:400;letter-spacing:0;display:block;margin-top:2px}
.milestone-title{font-size:12px;line-height:1.65;min-height:42px;margin-bottom:16px;max-width:200px;color:#586951}
.milestone-current .milestone-title{min-height:24px}
.milestone-tag{font-size:9px;padding:5px 10px;line-height:1.3;border-radius:30px;background:#e8eedf;color:#4f6642;margin-top:auto}
.milestone-current .milestone-tag{background:#d2e1bd}
.milestone-expanded .milestone-card{min-height:300px;padding:27px 19px 20px}
.milestone-expanded.milestone-current .milestone-card{min-height:320px}
.milestone-summary{font-size:11px;line-height:1.65;color:#586951;margin-top:17px;max-width:260px}
.milestone-expanded .milestone-action{margin-top:auto}
.milestone-action{display:flex;align-items:center;justify-content:space-between;width:100%;font-size:10px;font-weight:500;margin-top:21px;border-top:1px solid #dae3d0;padding-top:13px}
.milestone-action>span{font-size:16px;line-height:1}
.milestone:hover .milestone-card,.milestone:focus-visible .milestone-card,.milestone.is-active .milestone-card{transform:translateY(-6px);box-shadow:0 12px 25px #24492d18;border-color:#92ac78}
.milestone:hover .milestone-node,.milestone:focus-visible .milestone-node,.milestone.is-active .milestone-node{transform:scale(1.3);box-shadow:0 0 0 1px #6e9159,0 0 0 6px #dce5d0}
.trajectory-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:22px;padding-top:22px;border-top:1px solid #d4dfc9}
.trajectory-footer p{font-family:Georgia,serif;font-style:italic;font-size:17px;color:#64745a}
.trajectory-footer .text-link{font-size:11px;flex-shrink:0}
.career-company{font-size:17px;color:#587345;margin-top:-6px;margin-bottom:22px}
.career-company span{display:block;font-size:11px;color:var(--muted);margin-top:5px}
.career-skills{display:flex;flex-wrap:wrap;gap:8px;margin:25px 0}
.career-skills span{font-size:10px;padding:5px 10px;background:#e7eddd;border-radius:30px;color:#536b43}
.role-achievements li{padding-left:5px;margin-top:12px!important}
.related-cases{border-top:1px solid var(--line);padding-top:23px}
.role-case-link{display:flex;align-items:center;justify-content:space-between;gap:15px;width:100%;text-align:left;background:#e9efdf;border:1px solid #d2dfc3;border-radius:10px;padding:17px 20px;margin-top:12px;font-size:13px;font-weight:500;transition:background .2s}
.role-case-link:hover{background:#dce8ce}
.role-case-link>span{font-size:19px}
@keyframes milestone-arrive{from{opacity:.2;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
.trajectory-revealed .milestone-card{animation:milestone-arrive .55s ease-out backwards}
.trajectory-revealed li:nth-child(2) .milestone-card{animation-delay:.1s}
.trajectory-revealed li:nth-child(3) .milestone-card{animation-delay:.2s}
.trajectory-revealed li:nth-child(4) .milestone-card{animation-delay:.3s}
@media(max-width:800px){.trajectory-heading h2{font-size:40px}.trajectory-heading>p:last-child{font-size:13px}.trajectory-track{grid-template-columns:repeat(4,240px);min-width:1032px}}
@media(max-width:600px){.trajectory-heading{text-align:left;margin-bottom:23px}.trajectory-heading h2{font-size:35px}.trajectory-heading>p:last-child{font-size:12px;margin-top:17px}.trajectory-toolbar{font-size:8px}.trajectory-controls button{width:36px;height:36px}.swipe-hint{font-size:8px;margin-right:0;letter-spacing:0}.trajectory-track{gap:18px;min-width:1014px}.milestone-card{min-height:250px}.trajectory-footer{align-items:flex-start;flex-direction:column;gap:15px;margin-top:13px}.trajectory-footer p{font-size:16px}}


/* LinkedIn writing, with an editorial featured article and supporting essay. */
.writing-section { border-bottom: 1px solid var(--line); }
.writing-featured {
  display: grid;
  grid-template-columns: 1.55fr 1fr;
  border: 1px solid var(--line);
  border-radius: 14px;
  overflow: hidden;
  background: #fcfdf8;
}
.writing-copy { padding: 38px 40px; }
.writing-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 22px; margin-bottom: 24px; }
.writing-meta > span { font-size: 9px; letter-spacing: .12em; font-weight: 600; color: #647853; }
.writing-meta time { font-size: 11px; color: var(--muted); }
.writing-copy h3 { font-size: 33px; line-height: 1.25; letter-spacing: -.04em; max-width: 550px; }
.writing-section h3 a:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }
.writing-copy > p { font-size: 13px; line-height: 1.9; margin-top: 20px; max-width: 510px; }
.writing-byline { font-size: 10px; color: var(--muted); margin-top: 23px; }
.writing-byline span { margin-inline: 7px; }
.writing-copy .text-link { margin-top: 22px; }
.writing-quote { display: flex; flex-direction: column; justify-content: center; padding: 44px 38px; background: var(--ink); }
.writing-quote .eyebrow { color: #bacead; font-size: 9px; }
.writing-quote blockquote { margin: 30px 0; font-family: Georgia, serif; font-size: 31px; line-height: 1.45; letter-spacing: -.025em; color: #eef2e3; }
.writing-quote .quote-credit { color: #bfccbe; font-size: 11px; }
.writing-secondary { display: grid; grid-template-columns: 1fr 2.55fr; gap: 34px; margin-top: 24px; padding: 34px 40px; border: 1px solid var(--line); border-radius: 14px; background: #f0f3e9; }
.writing-secondary-label .eyebrow { display: block; font-size: 9px; color: #647853; }
.writing-secondary-label time { display: block; font-size: 11px; color: var(--muted); margin-top: 13px; }
.writing-secondary h3 { font-size: 27px; line-height: 1.3; letter-spacing: -.035em; max-width: 650px; }
.writing-secondary p { font-size: 13px; line-height: 1.8; margin-top: 16px; max-width: 640px; }
.writing-secondary .writing-subtitle { font-size: 12px; margin-top: 7px; color: #637451; }
.writing-secondary .text-link { margin-top: 23px; }
.writing-footer { display: flex; align-items: center; justify-content: space-between; gap: 22px; margin-top: 30px; }
.writing-footer > p { font-size: 12px; }
.contact-linkedin { color: #dce4d1; font-size: 11px; margin-top: 17px; }
.contact-linkedin span { margin-left: 15px; }
.contact-linkedin:hover, .footer-linkedin:hover { text-decoration: underline; text-underline-offset: 4px; }
.footer-linkedin { font-size: 10px; color: var(--ink); white-space: nowrap; }
@media (max-width: 1000px) {
  .writing-copy { padding: 30px; }
  .writing-copy h3 { font-size: 29px; }
  .writing-quote { padding: 32px 27px; }
  .writing-quote blockquote { font-size: 27px; }
  .writing-secondary { padding: 30px; gap: 25px; }
}
@media (max-width: 700px) {
  .writing-featured { grid-template-columns: 1fr; }
  .writing-quote { padding: 30px; }
  .writing-quote blockquote { margin: 18px 0; max-width: 420px; }
  .writing-secondary { grid-template-columns: 1fr; gap: 22px; }
  .writing-secondary-label { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 22px; }
  .writing-secondary-label time { margin-top: 0; }
}
@media (max-width: 600px) {
  .writing-copy, .writing-secondary, .writing-quote { padding: 26px; }
  .writing-copy h3 { font-size: 28px; }
  .writing-copy > p, .writing-secondary p { font-size: 12px; }
  .writing-secondary h3 { font-size: 25px; }
  .writing-footer { align-items: flex-start; flex-direction: column; gap: 12px; }
  .footer-linkedin { font-size: 9px; }
}

/* Make case-study links easier to spot within Selected Work. */
.work-section .project-copy .text-link{font-size:14px}

/* Fit the AWS illustration into its secondary project card. */
.compact .pricing-diagram{bottom:67px;height:160px}
.compact .bar-one{height:50px}
.compact .bar-two{height:91px}
.compact .bar-three{height:136px}

/* Separate the executive summary from the detailed product lifecycle. */
.case-lifecycle{margin-top:38px;padding-top:30px;border-top:1px solid var(--line)}
.lifecycle-steps{list-style:none;padding:0;margin:24px 0 0}
.lifecycle-step{display:grid;grid-template-columns:32px minmax(0,1fr);gap:16px}
.lifecycle-steps .lifecycle-step+.lifecycle-step{margin-top:24px}
.lifecycle-number{display:grid;place-items:center;align-self:start;width:32px;height:32px;border-radius:50%;background:#e7edda;color:var(--ink);font-size:11px;font-weight:600}
.lifecycle-detail h4{margin:3px 0 9px;font-family:Manrope,Arial,sans-serif;font-size:15px;font-weight:600;line-height:1.5;letter-spacing:-.02em}
@media(max-width:600px){.lifecycle-step{grid-template-columns:28px minmax(0,1fr);gap:10px}.lifecycle-number{width:28px;height:28px}.lifecycle-detail h4{margin-top:2px;font-size:14px}}

/* Keep longer case-study metric labels readable on phones. */
@media (max-width: 600px) {
  .case-stat {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }
}

/* Name, positioning, and portrait in the opening section. */
.hero-name{font-size:clamp(52px,6vw,78px);margin-bottom:12px}
.hero-positioning{font-size:clamp(26px,3vw,39px);font-weight:500;line-height:1.2;letter-spacing:-.035em;color:#536456;margin-bottom:22px}
.profile-panel{display:flex;justify-content:center;align-items:center;min-width:0;padding:0;background:none;border:0;border-radius:0}
.profile-photo{display:block;width:min(100%,380px);height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center 30%;border:0;border-radius:50%;box-shadow:0 20px 55px #173d2c20}
@media(max-width:1100px){.hero-name{font-size:52px}.hero-positioning{font-size:clamp(26px,3vw,31px)}.profile-photo{width:min(100%,340px)}}
@media(max-width:800px){.hero-name{font-size:43px}.hero-positioning{font-size:22px}.profile-photo{width:min(100%,300px)}}
@media(max-width:600px){.hero-name{font-size:48px}.hero-positioning{font-size:24px;margin-bottom:17px}.profile-panel{justify-content:flex-start}.profile-photo{width:min(100%,320px)}}
@media(max-width:360px){.hero-name{font-size:42px}.hero-positioning{font-size:21px}}
.hero-copy .hero-context{font-size:12px;font-weight:700;color:#536456}
.hero-copy .hero-context strong{font-size:inherit;font-weight:700;color:var(--ink)}

/* Grow each milestone card along the career timeline. */
.trajectory-track{grid-template-columns:minmax(190px,.75fr) minmax(220px,.9fr) minmax(270px,1.15fr) minmax(310px,1.35fr);gap:18px;min-width:1100px}
.trajectory-track:before{left:9%;right:16%}
.trajectory-track li:nth-child(1) .milestone-card{min-height:310px}
.trajectory-track li:nth-child(2) .milestone-card{min-height:345px}
.trajectory-track li:nth-child(3) .milestone-card{min-height:380px}
.trajectory-track li:nth-child(4) .milestone-card{min-height:415px}
.milestone-expanded .milestone-tag{margin-top:14px}
.trajectory-track li:nth-child(1) .milestone-company{font-size:21px}
.trajectory-track li:nth-child(2) .milestone-company{font-size:23px}
.trajectory-track li:nth-child(3) .milestone-company{font-size:26px}
.trajectory-track li:nth-child(4) .milestone-company{font-size:29px}
.trajectory-track li:nth-child(2) .milestone-card{background:#f3f6ed}
.trajectory-track li:nth-child(3) .milestone-card{background:#ebf1e3}
.trajectory-track li:nth-child(4) .milestone-card{background:#e4edda}
@media(max-width:800px){.trajectory-track{grid-template-columns:minmax(210px,.75fr) minmax(240px,.9fr) minmax(280px,1.15fr) minmax(320px,1.35fr);min-width:1150px}.trajectory-track:before{left:9%;right:16%}}

/* Show each project in its own full-width row and give each visual its context. */
.work-section .project-grid{grid-template-columns:1fr;gap:24px;margin-top:24px}
.work-section>.project.featured{grid-template-columns:.72fr 1.28fr}
.work-section>.project.featured .project-visual{min-height:300px}
.work-section .project-grid .project{display:grid;grid-template-columns:.72fr 1.28fr;align-items:stretch}
.work-section .project-grid .compact .project-visual{height:auto;min-height:350px}
.work-section .project-grid .compact .project-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(28px,4vw,52px)}
.project-proof{width:100%;margin-top:20px;padding-top:17px;border-top:1px solid var(--line)}
.project-proof>.eyebrow{font-size:10px;letter-spacing:.12em;color:#526944}
.project-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:9px}
.project-metrics>div{display:flex;flex-direction:column;justify-content:center;gap:5px;min-width:0;min-height:82px;padding:12px;border:1px solid #d5dfca;border-radius:9px;background:#edf2e5}
.project-metrics strong{font-family:Manrope,Arial,sans-serif;font-size:clamp(16px,1.8vw,23px);font-weight:700;line-height:1.2;letter-spacing:-.04em;overflow-wrap:anywhere;color:var(--ink)}
.project-metrics span{font-size:9px;line-height:1.4;color:#526257}
.project-proof .decision-heading{margin-top:17px}
.project-decisions{display:grid;gap:7px;list-style:none;padding:0;margin:9px 0 0;counter-reset:project-choice}
.project-decisions li{counter-increment:project-choice;display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:10px;padding:9px 11px;border-radius:8px;background:#f1f4eb;font-size:12px;line-height:1.55;color:#46564b}
.project-decisions li::before{content:counter(project-choice,decimal-leading-zero);display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#dce7d0;font-size:8px;font-weight:700;color:#365342}
.work-section .project-proof+.text-link{margin-top:26px}
.work-section .sizing-composition .size-caption{display:block;position:absolute;bottom:0;left:0;right:0;text-align:center;font-size:8px;line-height:1.4;letter-spacing:.1em;color:#615e4a}
@media(max-width:800px){.work-section .project-grid .project{grid-template-columns:.72fr 1.28fr}}
@media(max-width:600px){.work-section>.project.featured{grid-template-columns:1fr}.work-section>.project.featured .project-visual{height:230px;min-height:0}.work-section .project-grid .project{grid-template-columns:1fr}.work-section .project-grid .compact .project-visual{height:220px;min-height:0}.project-metrics{gap:6px}.project-metrics>div{padding:7px;min-height:72px}.project-metrics strong{font-size:12px}.project-metrics span{font-size:7px}.project-decisions li{font-size:11px}}
