@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Libre+Caslon+Display&display=swap');
:root{--paper:#f5f4ef;--ink:#252b27;--muted:#656b64;--rule:#d3d5cc;--accent:#ab4a2d;--panel:#eaece5;--serif:'Libre Caslon Display',Georgia,serif;--sans:'DM Sans','Helvetica Neue',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}::selection{background:#d4dec9;color:var(--ink)}a{color:inherit;text-decoration:none}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible{outline:2px solid var(--accent);outline-offset:6px}img{display:block;max-width:100%;height:auto}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:450}h1{font-size:clamp(48px,6.7vw,104px);line-height:1.04;letter-spacing:-.065em}h2{font-size:clamp(28px,3vw,44px);line-height:1.16;letter-spacing:-.04em}h3{font-size:23px;line-height:1.25;letter-spacing:-.025em}.serif{font-family:var(--serif);font-weight:400;letter-spacing:-.035em}.eyebrow{font-size:11px;line-height:1.5;letter-spacing:.13em;text-transform:uppercase;font-weight:550}.site-header,main,.site-footer{max-width:1600px;margin:auto;padding-left:6vw;padding-right:6vw}.site-header{height:124px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--rule);gap:20px}.logo{display:flex;align-items:center;font-size:47px;letter-spacing:-.09em;font-weight:650;line-height:1}.logo-dot{color:var(--accent);margin-right:24px}.logo-name{font-size:10px;line-height:1.5;letter-spacing:.01em;font-weight:500}.site-header nav{display:flex;gap:35px;font-size:13px}.site-header nav a{position:relative;padding:10px 0}.site-header nav a:after{content:'';position:absolute;left:0;right:0;bottom:3px;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .2s}.site-header nav a:hover:after,.site-header nav a[aria-current]:after{transform:scaleX(1)}.skip{position:fixed;top:8px;left:8px;z-index:10;background:var(--ink);color:white;padding:10px 20px;transform:translateY(-150%)}.skip:focus{transform:translateY(0)}.home-intro{padding:58px 0 80px}.intro-top{display:flex;justify-content:space-between;margin-bottom:42px;gap:20px}.status-dot{display:inline-block;background:var(--accent);width:6px;height:6px;border-radius:50%;margin:0 9px 1px 0}.home-intro h1{max-width:1100px}.intro-bottom{display:grid;grid-template-columns:1fr 1fr;align-items:end;margin-top:42px;gap:35px}.intro-bottom p{max-width:440px;color:var(--muted);font-size:16px}.text-link{display:inline-flex;align-items:center;gap:36px;border-bottom:1px solid var(--ink);padding-bottom:8px;font-size:13px;width:fit-content}.text-link:hover{color:var(--accent);border-color:var(--accent)}.intro-bottom .text-link{justify-self:end}.section-heading{display:flex;justify-content:space-between;align-items:center;padding:24px 0;border-top:1px solid var(--ink);gap:20px}.section-heading h2{font-size:15px;letter-spacing:-.01em}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:58px 30px}.project-card:first-child{grid-column:1/-1}.project-image{position:relative;aspect-ratio:1.42;overflow:hidden;background:#e5e7e0;display:grid;place-items:center;padding:8%}.project-card:first-child .project-image{aspect-ratio:2.15;padding:3% 16%;background:#222923}.project-image img{width:100%;height:100%;object-fit:contain;min-height:0;transition:transform .55s cubic-bezier(.2,.65,.3,1)}.project-card:hover .project-image img{transform:scale(1.035)}.project-image.growth-monitor{padding:0;background:#232823}.project-image.growth-monitor img{object-fit:cover}.project-card:first-child .project-image.growth-monitor{padding:0 8%}.project-image.epilepsy-journal{background:#dce2d7}.project-image.circular-healthcare{background:#dfe6e5}.project-image.ergonomics-model{background:#e2e0d8}.project-image.cookware-lca{background:#eceee8;padding:5%}.project-image.innovation-process{background:#ece7df}.project-open{position:absolute;bottom:20px;right:20px;width:40px;height:40px;display:grid;place-items:center;background:var(--paper);border-radius:50%;font-size:20px;transition:background .2s,color .2s}.project-card:hover .project-open{background:var(--accent);color:var(--paper)}.project-info{display:grid;grid-template-columns:25px 1fr;gap:14px;padding-top:19px;border-bottom:1px solid var(--rule);padding-bottom:24px;min-height:136px}.project-number{font-size:10px;color:var(--muted);padding-top:5px}.project-info h3{font-size:22px}.project-info p{color:var(--muted);font-size:13px;max-width:470px;margin-top:7px}.category{grid-column:2;font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:var(--accent)}.project-card:first-child .project-info{grid-template-columns:32px 1fr auto;min-height:110px}.project-card:first-child .category{grid-column:3;padding-top:5px}.project-card:last-child:nth-child(even){grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:30px;border-bottom:1px solid var(--rule);padding-bottom:35px}.project-card:last-child:nth-child(even) .project-image{aspect-ratio:1.8}.project-card:last-child:nth-child(even) .project-info{align-content:center;border-bottom:0}.outline-link{display:flex;justify-content:space-between;border:1px solid var(--rule);padding:20px 24px;margin-top:38px;font-size:13px;transition:background .2s}.outline-link:hover{background:var(--panel)}.about-strip{display:grid;grid-template-columns:1fr 2fr;border-top:1px solid var(--rule);padding:75px 0 95px;margin-top:90px;gap:30px}.about-strip p:not(.eyebrow){max-width:530px;color:var(--muted);margin:28px 0}.site-footer{background:var(--ink);color:var(--paper)}.footer-top{padding:55px 0 65px}.footer-top .eyebrow{color:#b7bdb3;margin-bottom:22px}.footer-contact{font-size:clamp(30px,4.6vw,66px);letter-spacing:-.05em;line-height:1.2;display:flex;justify-content:space-between;gap:30px}.footer-contact:hover{color:#d6b39e}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding:24px 0;border-top:1px solid #4d554c;font-size:11px;color:#b7bdb3}.footer-bottom a:hover{color:white}.page-intro{padding:75px 0 70px}.page-intro .eyebrow{margin-bottom:30px}.page-intro h1{font-size:clamp(44px,5.7vw,84px)}.lead{font-size:19px;line-height:1.65;color:var(--muted);max-width:650px}.page-intro .lead{margin-top:30px}main>section:last-child{margin-bottom:90px}.case-intro{padding:38px 0 45px}.back-link{font-size:12px;color:var(--muted);display:inline-block;margin-bottom:55px}.back-link:hover{color:var(--accent)}.case-intro .eyebrow{color:var(--accent);margin-bottom:20px}.case-intro h1{font-size:clamp(45px,6vw,90px);max-width:1040px}.case-lead{font-size:clamp(19px,2vw,26px);line-height:1.5;max-width:820px;color:var(--muted);margin-top:30px}.project-meta{display:grid;grid-template-columns:1fr 1fr;gap:30px;border-top:1px solid var(--rule);padding-top:25px;margin:45px 0 0}.project-meta dt{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:7px}.project-meta dd{font-size:13px;margin:0}figure{margin:0}.case-hero{background:var(--panel);padding:55px 8% 0}.case-hero>img{width:100%;max-height:620px;object-fit:contain}.case-hero.growth-monitor{background:#242a25;padding:0}.case-hero.growth-monitor>img{max-height:680px;object-fit:cover}.case-hero.growth-monitor figcaption{color:#d0d4cd;padding:20px 25px}.case-hero.epilepsy-journal{background:#dce2d7}.case-hero.cookware-lca{padding-top:80px;padding-bottom:20px}.case-hero figcaption{padding-top:35px;padding-bottom:20px}figcaption{font-size:11px;color:var(--muted);line-height:1.6}.case-section{display:grid;grid-template-columns:1fr 2fr;gap:45px;padding:65px 0}.case-label{padding-top:8px}.case-copy{max-width:700px}.case-copy h2{font-size:33px;margin-bottom:22px}.case-copy p{font-size:17px;line-height:1.85;color:var(--muted)}.case-figure{background:#eaece5;padding:40px 6% 20px}.case-figure img{width:auto;max-width:100%;height:auto;max-height:650px;object-fit:contain;margin:auto}.case-figure figcaption{margin-top:25px}.source-note{border-top:1px solid var(--rule);padding:28px 0;font-size:12px;color:var(--muted);margin-top:45px}.source-note a{text-decoration:underline;text-underline-offset:4px}.next-project{display:block;padding:40px 0 65px;border-top:1px solid var(--ink)}.next-project>.eyebrow{display:block;margin-bottom:22px}.next-project>span:last-child{display:flex;justify-content:space-between;font-size:clamp(28px,4vw,52px);line-height:1.2;letter-spacing:-.04em;gap:25px}.next-project:hover{color:var(--accent)}.profile{display:grid;grid-template-columns:1fr 2fr;gap:9%;padding:0 0 75px}.portrait{max-width:270px}.portrait img{width:100%;filter:saturate(.65)}.profile h2{margin-bottom:12px}.profile .eyebrow{color:var(--accent);margin-bottom:25px}.profile p:not(.eyebrow){margin-bottom:24px}.profile p:not(.lead):not(.eyebrow){color:var(--muted)}.resume-section{display:grid;grid-template-columns:1fr 2fr;gap:9%;border-top:1px solid var(--rule);padding:40px 0}.resume-section>h2{font-size:23px}.resume-row{display:grid;grid-template-columns:110px 1fr;gap:20px;padding-bottom:30px;margin-bottom:28px;border-bottom:1px solid var(--rule)}.resume-row:last-child{margin-bottom:0;border-bottom:0;padding-bottom:0}.resume-row>span{font-size:12px;color:var(--muted)}.resume-section h3{font-size:18px;margin-bottom:8px}.resume-section p{font-size:14px;color:var(--muted);margin-bottom:12px}.resume-org{color:var(--accent)!important}.contact-intro{padding-bottom:60px}.contact-details{margin-bottom:120px!important}.contact-details>a,.contact-details>div{display:grid;grid-template-columns:180px 1fr 25px;gap:20px;align-items:center;border-top:1px solid var(--rule);padding:28px 0}.contact-details>a>span:nth-child(2),.contact-details>div>span:nth-child(2){font-size:clamp(17px,2.5vw,32px);letter-spacing:-.025em;overflow-wrap:anywhere}.contact-details a:hover{color:var(--accent)}.contact-details .eyebrow{color:var(--muted)}
@media(min-width:1600px){.site-header,main,.site-footer{padding-left:96px;padding-right:96px}}@media(max-width:850px){.site-header{height:100px}.site-header nav{gap:22px}.logo-name{display:none}.logo-dot{margin-right:0}.home-intro{padding:40px 0 55px}.location{display:none}.home-intro h1{font-size:9vw}.intro-bottom{grid-template-columns:1.5fr 1fr}.project-info h3{font-size:20px}.project-card:first-child .project-info{grid-template-columns:25px 1fr}.project-card:first-child .category{grid-column:2}.project-grid{gap:35px 22px}.about-strip,.case-section{grid-template-columns:1fr 3fr;gap:25px}.about-strip{margin-top:65px}.case-section{padding:45px 0}.case-label .eyebrow{font-size:9px}.profile,.resume-section{gap:40px}.footer-bottom{flex-wrap:wrap}.contact-details>a,.contact-details>div{grid-template-columns:110px 1fr 20px}}
@media(max-width:560px){.site-header,main,.site-footer{padding-left:6%;padding-right:6%}.site-header{height:87px}.logo{font-size:39px}.site-header nav{gap:18px;font-size:11px}.intro-top{margin-bottom:35px}.eyebrow{font-size:10px}.home-intro h1{font-size:11.4vw}.intro-bottom{grid-template-columns:1fr;gap:24px;margin-top:28px}.intro-bottom p{font-size:14px}.intro-bottom .text-link{justify-self:start}.section-heading .eyebrow{font-size:8px}.project-grid{display:block}.project-card{display:block;margin-bottom:30px}.project-card:first-child .project-image{aspect-ratio:1.4;padding:8%}.project-card:first-child .project-image.growth-monitor{padding:0}.project-image{aspect-ratio:1.35}.project-info{min-height:0;padding-top:15px;padding-bottom:20px;gap:10px}.project-info h3{font-size:22px}.project-info p{font-size:13px}.project-card:last-child:nth-child(even){display:block;padding-bottom:0}.project-card:last-child:nth-child(even) .project-info{padding-bottom:22px}.project-card:last-child:nth-child(even) .project-image{aspect-ratio:1.35}.project-card:first-child .project-info{min-height:0}.outline-link{margin-top:10px}.about-strip{display:block;padding:35px 0 10px;margin-top:45px}.about-strip>.eyebrow{margin-bottom:25px}.about-strip h2{font-size:32px}.about-strip p:not(.eyebrow){font-size:14px;margin:22px 0}.footer-top{padding:35px 0 40px}.footer-contact{font-size:31px}.footer-bottom{display:grid;grid-template-columns:1fr auto;font-size:10px;gap:12px}.footer-bottom>span:nth-child(2){grid-column:1/-1;grid-row:2}.page-intro{padding:45px 0}.page-intro h1{font-size:11vw}.lead{font-size:16px}.case-intro{padding-top:25px}.back-link{margin-bottom:35px}.case-intro h1{font-size:45px}.case-lead{font-size:19px;margin-top:20px}.project-meta{grid-template-columns:1fr;gap:20px;margin-top:30px}.case-hero{padding:25px 6% 0}.case-hero figcaption{padding-top:20px}.case-section{display:block;padding:35px 0}.case-label{margin-bottom:17px}.case-copy h2{font-size:28px;margin-bottom:15px}.case-copy p{font-size:15px;line-height:1.8}.case-figure{padding:22px 5% 16px}.case-figure figcaption{margin-top:17px}.profile,.resume-section{grid-template-columns:1fr;gap:28px}.portrait{max-width:200px}.profile{padding-bottom:45px}.resume-row{grid-template-columns:80px 1fr;gap:15px}.contact-details>a,.contact-details>div{grid-template-columns:1fr 22px;gap:8px;padding:22px 0}.contact-details .eyebrow{grid-column:1/-1}.contact-details>a>span:nth-child(2),.contact-details>div>span:nth-child(2){font-size:19px}.contact-details{margin-bottom:60px!important}main>section:last-child{margin-bottom:55px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

.case-image-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.case-image-pair .case-figure{min-width:0;padding:24px 5% 20px}.case-image-pair img{width:100%;height:auto;max-height:none}.case-image-pair figcaption{margin-top:18px}
@media(max-width:560px){.case-image-pair{grid-template-columns:1fr;gap:20px}}

.coach-summary-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.coach-summary-grid .case-figure{min-width:0;padding:24px 12px 18px}.coach-summary-grid img{width:auto;max-width:100%;height:auto;margin:0 auto}.coach-summary-grid figcaption{margin-top:16px}
@media(max-width:560px){.coach-summary-grid{grid-template-columns:1fr}}

.case-image-panel{background:#eaece5}

.case-copy h3{font-size:20px;line-height:1.3;margin:28px 0 8px}.case-copy h2+h3{margin-top:0}

.circular-healthcare.case-image-reduced>img,.case-image-reduced>img{width:70%;margin-left:auto;margin-right:auto}

.cookware-impact-reduced>img{width:60%;margin-left:auto;margin-right:auto}

.case-hero.cookware-lca{background:transparent;padding-top:30px;padding-bottom:0}.cookware-framework-panel{width:calc(60% + 36px);margin:0 auto;padding:10px 18px;background:var(--panel)}.cookware-framework-panel>img{width:100%;height:auto;max-height:620px;object-fit:contain}.case-hero.cookware-lca figcaption{padding-top:10px;padding-bottom:20px}

.case-video{margin-top:30px;background:var(--panel);padding:18px}.case-video video{display:block;width:100%;height:auto;aspect-ratio:16/9;max-height:75vh;background:#171a18;object-fit:contain}.case-video figcaption{padding-top:12px;color:var(--muted);font-size:12px}

.epilepsy-feature{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(28px,5vw,72px);align-items:center;padding:70px 0;border-top:1px solid var(--rule)}
.epilepsy-feature .case-copy{max-width:760px}
.epilepsy-feature .case-copy .eyebrow{color:var(--accent);margin-bottom:16px}
.epilepsy-feature .case-copy p+p{margin-top:18px}
.epilepsy-feature .case-figure{min-width:0;padding:22px 5% 18px}
.epilepsy-feature .case-figure img{max-height:650px}
.epilepsy-feature .case-figure figcaption{margin-top:18px}
.epilepsy-feature-reverse .case-copy{grid-column:2;grid-row:1}
.epilepsy-feature-reverse .case-figure{grid-column:1;grid-row:1}
.epilepsy-overview{padding:30px 4% 22px}
.epilepsy-overview img{width:100%;max-height:740px}
.epilepsy-overview figcaption{margin-top:20px}
.epilepsy-image-pair{margin:0 0 24px}
.epilepsy-image-pair .case-figure{display:flex;flex-direction:column;justify-content:center;background:#eaece5}
.epilepsy-image-pair .case-figure img{width:100%;height:clamp(280px,32vw,420px);max-height:none;object-fit:contain}
.epilepsy-medication-pair .case-figure img{height:clamp(280px,32vw,420px);object-fit:contain}
.epilepsy-analysis-image{padding:34px 3% 22px}
.epilepsy-analysis-image img{width:100%;max-height:820px}
.epilepsy-analysis-image figcaption{margin-top:20px}
.epilepsy-boundary{border-top:1px solid var(--rule)}
.epilepsy-design-context{width:100%;margin:22px 0;background:#eaece5;padding:22px 5% 18px}
.epilepsy-design-context img{width:100%;height:auto;max-height:none;object-fit:contain}
.epilepsy-design-context figcaption{margin-top:14px}
.epilepsy-logger-figure{padding:32px 5% 20px}
.epilepsy-logger-figure img{width:100%;max-height:650px}
.epilepsy-challenge-copy{max-width:760px}
.epilepsy-challenge-image{margin:24px 0;background:#eaece5;padding:20px 4% 16px}
.epilepsy-challenge-image img{width:100%;height:auto;max-height:none}
.epilepsy-challenge-image figcaption{margin-top:16px}
@media(max-width:850px){.epilepsy-feature{grid-template-columns:1fr;gap:28px;padding:48px 0}.epilepsy-feature-reverse .case-copy,.epilepsy-feature-reverse .case-figure{grid-column:1;grid-row:auto}.epilepsy-feature-reverse .case-copy{grid-row:1}.epilepsy-feature-reverse .case-figure{grid-row:2}}
@media(max-width:560px){.epilepsy-feature{padding:35px 0;gap:20px}.epilepsy-overview{padding:18px 4% 16px}.epilepsy-analysis-image{padding:20px 3% 16px}.epilepsy-image-pair{margin-bottom:18px}.epilepsy-image-pair .case-figure img{height:auto;max-height:none}.epilepsy-medication-pair .case-figure img{height:clamp(280px,32vw,420px);max-height:none;object-fit:contain}.case-section.epilepsy-challenge-section{display:block}.epilepsy-challenge-image{margin:20px 0;padding:14px 4% 12px}}
.growth-electronics-integration{width:50%;margin:0 auto 24px}

/* The Flipper case study: consistent image frames and responsive visual groups. */
.flipper-hero{padding:46px 12% 0}
.flipper-hero>img{width:100%;max-height:680px;object-fit:contain}
.flipper-driver-figure{margin:0 0 24px;padding:30px 8% 20px}
.flipper-driver-figure img{width:100%;max-height:560px;object-fit:contain}
.flipper-pair .case-figure{display:flex;flex-direction:column;justify-content:center;background:#eaece5}
.flipper-pair .case-figure img{width:100%;height:clamp(240px,32vw,420px);max-height:none;object-fit:contain}
.flipper-layout-figure{width:min(600px,100%);margin:0 auto 24px}
.flipper-process{overflow-x:auto;padding:22px 0 16px}
.flipper-process img{width:100%;min-width:900px;max-height:none}
.flipper-process figcaption{padding:0 6%;margin-top:16px}
.flipper-pass-figure{width:min(360px,100%);margin:0 auto 24px}
.flipper-pass-figure img{width:100%;height:210px;object-fit:contain}
.flipper-three-up{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:0 0 24px}
.flipper-three-up .case-figure{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:22px 5% 18px;background:#eaece5}
.flipper-three-up .case-figure img{width:100%;height:clamp(230px,25vw,330px);max-height:none;object-fit:contain}
.flipper-three-up figcaption{margin-top:17px}
.flipper-comparables{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:0}
.flipper-comparables .case-figure img{height:clamp(250px,27vw,360px)}
@media(max-width:850px){.flipper-three-up{grid-template-columns:repeat(2,minmax(0,1fr))}.flipper-comparables{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.flipper-hero{padding:24px 5% 0}.flipper-driver-figure{padding:18px 4% 14px}.flipper-pair .case-figure img{height:clamp(250px,70vw,340px)}.flipper-process img{min-width:900px}.flipper-three-up,.flipper-comparables{grid-template-columns:1fr;gap:18px}.flipper-three-up .case-figure img{height:300px}.flipper-pass-figure{width:min(360px,100%)}}
