:root{--paper:#f7f6f2;--ink:#262824;--muted:#72746c;--line:#dcded5;--accent:#405b78}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid var(--accent);outline-offset:7px}.skip{position:absolute;top:-60px;padding:12px;background:white;z-index:9}.skip:focus{top:0}header,.hero-inner,.section-heading,.work,footer{width:min(1200px,88%);margin-inline:auto}header{height:108px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:32px}.brand{font-size:21px;letter-spacing:-.8px;font-weight:600;white-space:nowrap}.brand-dot{color:var(--accent)}nav{display:flex;gap:32px;font-size:12px}nav a{padding:12px 0;position:relative}nav .active:after{content:'';position:absolute;bottom:2px;left:0;width:100%;height:1px;background:var(--ink)}nav a:hover{color:var(--accent)}.hero-inner{padding-top:85px}.eyebrow{font-size:10px;letter-spacing:1.7px;font-weight:500;display:flex;align-items:center;gap:9px}.status-dot{width:6px;height:6px;background:var(--accent);border-radius:50%}h1{font-size:clamp(62px,7.8vw,108px);font-weight:400;line-height:1.02;letter-spacing:-5.5px;margin:35px 0 40px}h1 em{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-5px;color:var(--accent)}.hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;padding-bottom:57px}.intro{font-size:18px;line-height:1.65;max-width:460px;margin:0;color:#5b5e55;letter-spacing:-.25px}.explore{font-size:12px;white-space:nowrap;display:flex;align-items:center;gap:48px;padding-bottom:7px;border-bottom:1px solid var(--line)}.explore span{font-size:22px}.explore:hover{color:var(--accent)}.hero-rule{border-top:1px solid var(--line);padding:17px 0 0;display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.5px;color:var(--muted)}.section-heading{display:flex;justify-content:space-between;align-items:baseline;margin-top:95px;margin-bottom:28px}.section-heading h2{font-size:25px;font-weight:400;letter-spacing:-.7px;margin:0}.section-heading>span{font-size:10px;color:var(--muted);letter-spacing:1px}.work{display:grid;grid-template-columns:1fr 1fr;gap:58px 30px;margin-bottom:120px}.project{position:relative;min-width:0;display:flex;flex-direction:column}.project-index{position:absolute;top:15px;left:15px;z-index:2;font-size:10px;letter-spacing:1px;background:var(--paper);padding:7px 9px;border:1px solid #e3e3df}.visual{display:block;position:relative;overflow:hidden;aspect-ratio:1.47;background:#e9e9e4;border:1px solid #e4e4de}.visual img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s ease,opacity .45s ease}.visual .alternate{position:absolute;inset:0;opacity:0}.visual:hover .alternate,.visual:focus-visible .alternate{opacity:1}.visual:hover img{transform:scale(1.025)}.details{padding:23px 0 0;display:flex;flex-direction:column;align-items:flex-start;position:relative}.tags{font-size:10px;letter-spacing:.5px;color:var(--muted);margin:0 0 19px;order:2}.details>div{order:1}.company{font-size:11px;color:var(--accent);margin:0 0 9px;letter-spacing:.35px}h2{font-size:23px;line-height:1.25;letter-spacing:-.7px;font-weight:400;margin:0 0 13px}.project-link{order:3;font-size:11px;padding-bottom:6px;border-bottom:1px solid var(--line);display:flex;gap:29px}.project-link span{color:var(--accent)}.project-link:hover{color:var(--accent)}footer{border-top:1px solid var(--line);padding-top:54px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:54px}footer .eyebrow{color:var(--muted);margin:0 0 23px}footer h2{font-family:Georgia,serif;font-size:38px;font-weight:400;letter-spacing:-1.3px}footer p:not(.eyebrow){font-size:13px;line-height:1.7;color:var(--muted)}.about-link{font-size:12px;border-bottom:1px solid var(--line);padding-bottom:10px;display:flex;gap:48px}.about-link span{color:var(--accent)}.footer-bottom{grid-column:1/-1;display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:24px 0 30px;font-size:10px;color:var(--muted)}@media(min-width:1400px){.hero-inner{padding-top:100px}.work{gap:70px 36px}}@media(max-width:800px){header{height:95px}nav{gap:18px;font-size:10px}.brand{font-size:18px}.hero-inner{padding-top:65px}h1{font-size:72px;letter-spacing:-4px}h1 em{letter-spacing:-4px}.intro{font-size:16px;max-width:360px}.explore{gap:18px}.hero-bottom{gap:28px}.section-heading{margin-top:75px}.work{gap:45px 24px}h2{font-size:20px}}@media(max-width:600px){header{height:auto;flex-direction:column;align-items:flex-start;gap:16px;padding:25px 0 20px}nav{gap:20px;flex-wrap:wrap}nav a{padding:5px 0}.hero-inner{padding-top:49px}.eyebrow{font-size:9px;letter-spacing:1.2px}h1{font-size:clamp(45px,11.7vw,70px);letter-spacing:-2.8px;margin:28px 0 30px}h1 em{letter-spacing:-2.8px}.hero-bottom{flex-direction:column;align-items:flex-start;gap:28px;padding-bottom:38px}.intro{font-size:16px}.explore{gap:30px}.hero-rule{font-size:8px;letter-spacing:.7px}.hero-rule span:last-child{display:none}.section-heading{margin-top:60px;margin-bottom:23px}.section-heading h2{font-size:24px}.work{grid-template-columns:1fr;gap:42px;margin-bottom:70px}.details{padding-top:20px}h2{font-size:23px}.tags{margin-bottom:15px}.company{font-size:11px}.project-link{font-size:12px}footer{grid-template-columns:1fr;gap:25px;padding-top:35px}footer h2{font-size:31px}.about-link{justify-self:start}.footer-bottom{margin-top:15px;font-size:9px;gap:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.visual img{transition:none}}
.about-page{width:min(1200px,88%);margin:auto}.about-intro{display:grid;grid-template-columns:1.7fr 1fr;align-items:center;gap:70px;padding:85px 0 90px}.about-intro h1{font-size:clamp(48px,5.8vw,80px);letter-spacing:-3.9px;line-height:1.08;margin:30px 0}.about-intro h1 em{letter-spacing:-3.9px}.about-lead{font-size:18px;line-height:1.65;color:#5b5e55;letter-spacing:-.3px}.portrait{margin:0}.portrait img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;filter:saturate(.7);display:block}.portrait figcaption{font-size:8px;letter-spacing:1.4px;color:var(--muted);margin-top:14px}.bio-section,.experience-section{display:grid;grid-template-columns:1fr 2fr;gap:60px;border-top:1px solid var(--line);padding:60px 0 70px}.section-label{font-size:9px;letter-spacing:1.3px;color:var(--muted);padding-top:8px}.bio-copy{max-width:640px}.bio-copy h2{font-size:34px;letter-spacing:-1.1px;margin-bottom:25px}.bio-copy p{font-size:16px;line-height:1.8;color:#5b5e55;margin:0 0 20px}.text-link{display:inline-flex;gap:44px;font-size:12px;border-bottom:1px solid var(--line);padding:10px 0;margin-top:5px}.text-link span{color:var(--accent)}.experience-row{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:25px 0}.experience-row:first-child{padding-top:0}.experience-row h2{font-size:24px;margin:0 0 8px}.experience-row p,.education p{font-size:13px;color:var(--muted);margin:0;line-height:1.6}.experience-row>span{font-size:9px;letter-spacing:1px;color:var(--muted);white-space:nowrap;padding-top:8px}.education{padding-top:38px}.education .eyebrow{font-size:9px;margin-bottom:25px}.education h3{font-size:16px;font-weight:400;letter-spacing:-.2px;margin:24px 0 5px}.personal{padding-bottom:90px}@media(max-width:800px){.about-intro{gap:35px}.about-intro h1{font-size:53px;letter-spacing:-2.5px}.about-intro h1 em{letter-spacing:-2.5px}.about-lead{font-size:16px}.bio-section,.experience-section{gap:30px}}@media(max-width:600px){.about-intro{grid-template-columns:1fr;padding:48px 0;gap:28px}.about-intro h1{font-size:clamp(42px,10vw,60px)}.portrait{max-width:340px}.bio-section,.experience-section{grid-template-columns:1fr;gap:25px;padding:35px 0 45px}.bio-copy h2{font-size:28px}.bio-copy p{font-size:15px}.experience-row h2{font-size:20px}.experience-row>span{font-size:8px}.personal{padding-bottom:55px}}
.collection-page{width:min(1200px,88%);margin:auto}.collection-hero{padding:80px 0 70px}.collection-hero h1{font-size:clamp(55px,6.5vw,90px);letter-spacing:-4px;line-height:1.06;margin:30px 0}.collection-hero h1 em{letter-spacing:-4px}.collection-hero>p:last-child{max-width:500px;color:var(--muted);font-size:17px;line-height:1.7}.research-list{margin-bottom:100px}.research-entry{border-top:1px solid var(--line);display:grid;grid-template-columns:.34fr 1fr 1fr;gap:35px;padding:45px 0}.research-meta{font-size:10px;color:var(--muted);letter-spacing:1px}.research-meta p{font-size:8px;line-height:1.8;margin-top:22px}.research-image{background:#eaece7;display:flex;align-items:center;padding:15px}.research-image img{display:block;width:100%;height:auto;max-height:310px;object-fit:contain}.research-copy h2{font-size:28px;margin-top:13px}.research-copy>p:not(.company){font-size:14px;line-height:1.8;color:var(--muted)}.art-section{margin-bottom:75px;border-top:1px solid var(--line);padding-top:30px}.gallery-heading{display:flex;justify-content:space-between;align-items:baseline;gap:25px;margin-bottom:24px}.gallery-heading h2{font-size:26px}.gallery-heading p{font-size:12px;color:var(--muted)}.art-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px 25px}.art-grid figure{margin:0;min-width:0}.art-open{border:0;padding:0;background:#eaece7;display:block;width:100%;position:relative;cursor:zoom-in;overflow:hidden;aspect-ratio:1}.art-open img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .5s}.art-open:hover img{transform:scale(1.035)}.art-open>span{position:absolute;right:12px;bottom:12px;background:var(--paper);padding:7px 10px;color:var(--accent);font-size:16px}.art-grid figcaption{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.6px;color:var(--muted);margin-top:12px}.art-dialog{width:min(1100px,94vw);max-height:94vh;background:var(--paper);border:1px solid var(--line);padding:45px 25px 15px}.art-dialog::backdrop{background:#181c22d9}.art-dialog img{display:block;max-width:100%;max-height:75vh;object-fit:contain;margin:auto}.art-dialog p{font-size:11px;color:var(--muted)}.dialog-close{position:absolute;top:12px;right:20px;border:0;background:none;color:var(--ink);cursor:pointer;font-size:13px}button:focus-visible{outline:2px solid var(--accent);outline-offset:4px}@media(max-width:800px){.research-entry{grid-template-columns:1fr 1fr;gap:25px}.research-meta{grid-column:1/-1;display:flex;gap:20px;align-items:center}.research-meta p{margin:0}.art-grid{grid-template-columns:repeat(2,1fr)}.collection-hero h1{font-size:65px;letter-spacing:-3px}.collection-hero h1 em{letter-spacing:-3px}}@media(max-width:600px){.collection-hero{padding:48px 0 35px}.collection-hero h1{font-size:clamp(42px,10vw,60px);letter-spacing:-2.5px}.collection-hero h1 em{letter-spacing:-2.5px}.collection-hero>p:last-child{font-size:15px}.research-entry{grid-template-columns:1fr;padding:30px 0;gap:23px}.research-copy h2{font-size:26px}.research-list{margin-bottom:55px}.art-grid{gap:25px 16px}.gallery-heading{display:block}.gallery-heading h2{font-size:24px}.gallery-heading p{line-height:1.6}.art-grid figcaption{font-size:8px;letter-spacing:0}.art-section{margin-bottom:50px}nav{gap:23px}}
.case-page{width:min(1200px,88%);margin:auto}.back-link{font-size:11px;color:var(--muted);display:inline-block;margin-top:40px}.case-hero{padding:55px 0 45px;max-width:1000px}.case-hero h1{font-size:clamp(48px,6.5vw,86px);line-height:1.05;letter-spacing:-3.8px;margin:25px 0}.case-deck{font-size:21px;line-height:1.6;color:#5b5e55;max-width:720px}.case-facts{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:40px 0 0;padding-top:25px;border-top:1px solid var(--line)}.case-facts dt{font-size:9px;letter-spacing:1.3px;color:var(--muted);margin-bottom:12px}.case-facts dd{font-size:13px;line-height:1.7;margin:0}.case-cover{margin:0 0 50px;background:#eaece7;overflow:hidden}.case-cover img{display:block;width:100%;max-height:600px;object-fit:contain}.case-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:35px;padding:30px 0 50px}.case-metrics strong{font-size:48px;letter-spacing:-2px;font-weight:400;color:var(--accent)}.case-metrics p{font-size:12px;line-height:1.6;color:var(--muted)}.case-jump{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:17px 0;display:flex;flex-wrap:wrap;gap:25px;margin-bottom:15px;font-size:10px}.case-section{display:grid;grid-template-columns:1fr 2fr;gap:55px;padding:65px 0 35px;scroll-margin-top:20px}.case-copy{max-width:730px}.case-copy h2{font-size:35px;letter-spacing:-1.1px;line-height:1.18;margin-bottom:24px}.case-copy p,.case-copy li{font-size:16px;line-height:1.85;color:#5b5e55}.case-copy ul{padding-left:19px;margin:22px 0 10px}.case-copy li{padding-left:8px;margin-bottom:12px}.case-artifacts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;margin:12px 0 45px}.case-artifacts>.case-figure:only-child{grid-column:1/-1}.case-figure{margin:0;min-width:0}.case-figure>a{display:flex;align-items:center;justify-content:center;background:#eeefeb;border:1px solid #e3e5dc;padding:18px;min-height:170px}.case-figure img{display:block;max-width:100%;width:auto;height:auto;max-height:680px;object-fit:contain}.case-figure:only-child img{max-height:820px}.case-figure figcaption{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.5px;color:var(--muted);padding-top:12px}.case-figure figcaption span{color:var(--accent)}.supporting{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:25px 0 70px}.supporting summary{padding:24px 0;font-size:13px;cursor:pointer}.supporting summary>span{float:right;font-size:11px;color:var(--muted)}.supporting .case-artifacts{margin-top:15px}.case-page+footer{margin-top:75px}@media(max-width:800px){.case-hero h1{font-size:60px;letter-spacing:-2.8px}.case-deck{font-size:18px}.case-section{gap:30px;grid-template-columns:1fr 2.5fr}.case-copy h2{font-size:29px}.case-copy p,.case-copy li{font-size:15px}.case-jump{gap:18px}.case-artifacts{gap:22px}}@media(max-width:600px){.back-link{margin-top:28px}.case-hero{padding:33px 0}.case-hero h1{font-size:clamp(40px,10vw,58px);letter-spacing:-2px}.case-deck{font-size:17px}.case-facts{grid-template-columns:1fr;gap:22px;margin-top:28px}.case-cover{margin-bottom:25px}.case-metrics{gap:20px;grid-template-columns:1fr 1fr;padding:20px 0}.case-metrics strong{font-size:37px}.case-metrics p{font-size:11px}.case-jump{font-size:9px;gap:15px}.case-section{grid-template-columns:1fr;gap:20px;padding:40px 0 20px}.case-copy h2{font-size:28px}.case-artifacts{grid-template-columns:1fr;gap:24px;margin-bottom:25px}.case-figure>a{padding:12px}.case-figure img{max-height:600px}.case-page+footer{margin-top:45px}.supporting{margin-bottom:40px}}
.microsoft-artifact{margin:15px 0 45px}.microsoft-artifact>a{background:white;padding:0;min-height:0}.microsoft-artifact img{width:100%;height:auto;max-height:none}.case-disclosure{font-size:11px;line-height:1.8;color:var(--muted);max-width:800px;margin:30px 0}.case-source-link{margin:30px 0 65px}

.visual img.perception-banner{object-fit:contain;background:#f4eee9}
.research-report{margin:0 0 30px}.research-report>a{display:block;background:#fff;border:1px solid var(--line)}.research-report img{display:block;width:100%;height:auto}.research-report figcaption{display:flex;justify-content:space-between;gap:20px;font-size:9px;line-height:1.6;letter-spacing:.3px;color:var(--muted);padding-top:11px}.research-report figcaption span{white-space:nowrap;color:var(--accent)}.report-section{padding:45px 0 15px;scroll-margin-top:25px}.report-section-title{display:flex;gap:30px;align-items:baseline;border-top:1px solid var(--line);padding-top:25px;margin-bottom:30px}.report-section-title>span{font-size:10px;letter-spacing:1px;color:var(--accent)}.report-section-title h2{font-size:27px;letter-spacing:-.8px}.award-line{display:flex;gap:40px;align-items:baseline;border-bottom:1px solid var(--line);padding:25px 0}.award-line>span{font-size:9px;letter-spacing:1.2px;color:var(--accent)}.award-line p{font-size:16px}.pororoca-gallery{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:20px 0}.pororoca-gallery .research-report>a{height:330px;display:flex;align-items:center;justify-content:center;background:#efefea}.pororoca-gallery img{max-height:100%;width:100%;object-fit:contain}.research-video{aspect-ratio:16/9;background:#eaece7;margin-bottom:35px}.research-video iframe{border:0;width:100%;height:100%}.research-detail{margin-bottom:80px}@media(max-width:600px){.report-section{padding-top:25px}.report-section-title{gap:18px;margin-bottom:20px}.report-section-title h2{font-size:23px}.research-report{margin-bottom:23px}.research-report figcaption{font-size:8px}.award-line{display:block}.award-line p{font-size:15px;line-height:1.6}.pororoca-gallery{grid-template-columns:1fr;gap:20px}.pororoca-gallery .research-report>a{height:auto;min-height:200px}.research-detail{margin-bottom:45px}}

.portrait img{aspect-ratio:2/3;object-fit:cover;filter:none}
.hero-video{position:relative;background:#171d27;aspect-ratio:16/9}.hero-video video{display:block;width:100%;height:100%;object-fit:contain}.hero-video-play{position:absolute;inset:0;width:100%;border:0;cursor:pointer;background:linear-gradient(transparent 60%,#17233277);display:flex;align-items:center;justify-content:center;color:#fff}.hero-video-play[hidden]{display:none}.play-disc{display:grid;place-items:center;width:78px;height:78px;border-radius:50%;background:#fffef9f0;color:var(--accent);font-size:26px;padding-left:5px;box-shadow:0 5px 25px #18263a33;transition:transform .2s}.hero-video-play:hover .play-disc{transform:scale(1.08)}.video-label{position:absolute;bottom:26px;left:30px;font-size:13px;letter-spacing:.2px}.video-error{position:absolute;bottom:0;left:0;right:0;margin:0;padding:15px 20px;background:#f7f6f2f5;font-size:12px;color:var(--ink)}.video-error a{text-decoration:underline}@media(max-width:600px){.play-disc{width:58px;height:58px;font-size:20px}.video-label{font-size:11px;bottom:15px;left:16px}}

/* Perception decision-led case study */
.story-hero{max-width:none;padding-bottom:40px}.story-hero h1{margin-bottom:28px}.story-subtitle{display:block;font-size:clamp(29px,3.6vw,48px);line-height:1.18;letter-spacing:-1.8px;margin-top:25px}.story-subtitle em{letter-spacing:-1.5px}.story-hero .case-deck{max-width:760px;font-size:19px}.story-hero .case-facts{grid-template-columns:1.1fr 1fr 1fr}.story-caption{font-size:10px;color:var(--muted);margin:-35px 0 30px;line-height:1.6}.story-thesis{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:30px 0 38px;margin:30px 0}.story-thesis>p:last-child{font-family:Georgia,serif;font-size:clamp(27px,3.3vw,43px);line-height:1.3;letter-spacing:-.7px;max-width:900px;margin:20px 0 0;color:var(--accent)}.story-journey{list-style:none;padding:20px 0 30px;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.story-journey li{border-top:2px solid var(--accent);padding-top:20px}.story-journey span,.story-model span,.decision-note>span{font-size:9px;letter-spacing:1.3px;color:var(--accent)}.story-journey h3{font-size:19px;line-height:1.3;letter-spacing:-.4px;font-weight:400;margin:20px 0 12px}.story-journey p,.story-model p{font-size:13px;color:#5b5e55;line-height:1.7}.decision-note{border-left:2px solid var(--accent);padding:8px 0 5px 24px;margin:30px 0 10px}.decision-note p{font-size:14px;line-height:1.8;margin:12px 0}.story-screen{margin:25px 0 60px}.story-screen>a{display:block;padding:0;background:white;border:1px solid var(--line);overflow:hidden;border-radius:5px}.story-screen img{width:100%;max-height:none;display:block;height:auto}.story-screen figcaption{line-height:1.7;gap:25px;font-size:10px}.story-screen figcaption span{white-space:nowrap}.story-review{margin:0 0 30px 33.333%;padding:25px 0 25px 28px;border-left:1px solid var(--line);max-width:730px}.story-review h3{font-size:24px;font-weight:400;line-height:1.3;letter-spacing:-.5px}.story-review p:not(.eyebrow){font-size:15px;line-height:1.8;color:#5b5e55}.story-review p.story-small,.case-copy p.story-small{font-size:12px;color:var(--muted)}.story-model{display:grid;grid-template-columns:1fr 1fr;gap:50px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:30px 0}.story-model h3{font-size:22px;font-weight:400;letter-spacing:-.5px;line-height:1.3}.case-copy strong{color:var(--ink);font-weight:500}.story-hero+.case-jump{margin-bottom:35px}
@media(max-width:800px){.story-journey{grid-template-columns:1fr 1fr}.story-hero .case-facts{gap:20px}.story-review{margin-left:30%}}@media(max-width:600px){.story-hero .case-facts{grid-template-columns:1fr}.story-subtitle{font-size:29px;letter-spacing:-1px}.story-subtitle em{letter-spacing:-1px}.story-hero .case-deck{font-size:17px}.story-journey{gap:20px}.story-journey h3{font-size:18px}.story-journey p{font-size:12px}.story-review{margin-left:0;padding-left:20px}.story-review h3{font-size:22px}.story-model{grid-template-columns:1fr;gap:15px}.story-screen{margin:20px 0 35px}.story-screen figcaption{display:block;font-size:9px}.story-screen figcaption span{display:block;margin-top:5px}.story-caption{margin-top:-10px}.decision-note{padding-left:18px}}

/* A quiet dot texture fades behind the homepage introduction. */
.home-page{position:relative;isolation:isolate}.home-page::before{content:"";position:absolute;inset:0 0 auto;height:1250px;z-index:0;pointer-events:none;background-image:radial-gradient(circle,rgba(64,91,120,.38) 1px,transparent 1.15px);background-size:26px 26px;opacity:.62;-webkit-mask-image:radial-gradient(ellipse 80% 62% at 62% 24%,#000 12%,transparent 88%);mask-image:radial-gradient(ellipse 80% 62% at 62% 24%,#000 12%,transparent 88%)}@media(max-width:600px){.home-page::before{height:850px;background-size:24px 24px;opacity:.5}}

.home-page>header,.home-page>main,.home-page>footer{position:relative;z-index:1}

/* Systems story: editorial diagrams and explicit design boundaries. */
.systems-section{padding:65px 0;border-top:1px solid var(--line);margin:35px 0}.systems-section>h2{font-size:clamp(28px,3.4vw,43px);line-height:1.15;letter-spacing:-1.2px;max-width:850px;margin:25px 0}.systems-intro{max-width:760px;font-size:17px;line-height:1.85;color:#5b5e55}.concept-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:start;gap:22px;margin:45px 0 25px}.concept-flow>div{border-top:2px solid var(--accent);padding-top:23px}.concept-flow span,.systems-pairs span,.reuse-stack>div>span{font-size:9px;letter-spacing:1.1px;color:var(--accent)}.concept-flow h3,.systems-pairs h3{font-size:22px;line-height:1.35;font-weight:400;letter-spacing:-.5px;margin:20px 0 15px}.concept-flow p,.systems-pairs p{font-size:14px;line-height:1.8;color:#5b5e55}.concept-flow>b{font-size:22px;font-weight:400;color:var(--accent);padding-top:65px}.systems-footnote{font-size:11px;line-height:1.8;color:var(--muted);max-width:850px;margin:25px 0 0}.systems-pairs{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin:40px 0 0}.systems-pairs>div{border-top:1px solid var(--line);padding-top:25px}.reuse-stack{margin-top:40px;border:1px solid var(--line)}.shared-layer{background:#e7ecef;padding:30px}.shared-layer p{font-family:Georgia,serif;font-size:clamp(22px,3vw,36px);color:var(--accent);line-height:1.4;margin:20px 0 5px}.adapter-layer{padding:30px;border-bottom:1px solid var(--line)}.adapter-layer ul{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;padding:0;gap:25px;font-size:14px;line-height:1.6;margin:25px 0 0}.reuse-destinations{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:15px 30px}.reuse-destinations p{font-size:19px;line-height:1.6}.reuse-destinations p span{font-size:12px;color:var(--muted)}.constraint-table{margin-top:40px}.constraint-row{display:grid;grid-template-columns:.8fr 1.1fr 1.1fr;gap:35px;padding:28px 0;border-bottom:1px solid var(--line)}.constraint-head{font-size:10px;color:var(--muted);letter-spacing:.7px;padding:15px 0}.constraint-row h3{font-weight:400;font-size:19px;line-height:1.4;color:var(--accent);margin:0}.constraint-row p{font-size:14px;line-height:1.8;margin:0;color:#5b5e55}@media(max-width:800px){.concept-flow{gap:12px}.concept-flow h3{font-size:19px}.adapter-layer ul{grid-template-columns:1fr 1fr}.constraint-row{gap:20px}.systems-pairs{gap:30px}}@media(max-width:600px){.systems-section{padding:38px 0;margin:20px 0}.systems-intro{font-size:16px}.concept-flow{grid-template-columns:1fr;gap:18px;margin-top:30px}.concept-flow>b{padding:0;transform:rotate(90deg);justify-self:center}.concept-flow h3{font-size:22px}.systems-pairs,.reuse-destinations{grid-template-columns:1fr;gap:15px}.shared-layer,.adapter-layer{padding:22px}.reuse-destinations{padding:10px 22px}.adapter-layer ul{gap:20px;font-size:13px}.constraint-head{display:none}.constraint-row{grid-template-columns:1fr;gap:14px;padding:25px 0}.constraint-row p:nth-child(2)::before{content:'Design response · ';color:var(--accent)}.constraint-row p:nth-child(3)::before{content:'Dependency · ';color:var(--accent)}}

.coding-tools{display:flex;flex-wrap:wrap;gap:14px;list-style:none;padding:0;margin:32px 0 40px}.coding-tools li{display:flex;gap:12px;align-items:center;border:1px solid var(--line);padding:13px 20px;color:var(--accent)}.coding-tools svg{width:21px;height:21px;flex:none}.coding-tools span{font-size:13px;line-height:1.6}.coding-tools small{display:block;font-size:10px;color:var(--muted)}.coding-evidence{display:grid;grid-template-columns:1.5fr 1fr;gap:45px;align-items:center}.coding-evidence figure{margin:0;min-width:0}.coding-evidence img{display:block;width:100%;height:auto;border:1px solid var(--line)}.coding-evidence figcaption{font-size:10px;line-height:1.7;color:var(--muted);margin-top:12px}.coding-decisions h3{font-family:Georgia,serif;font-size:clamp(24px,2.7vw,34px);font-weight:400;line-height:1.4;letter-spacing:-.6px;color:var(--accent);margin:22px 0}.coding-decisions>p:not(.eyebrow){font-size:14px;line-height:1.8;color:#5b5e55}.coding-decisions .text-link{font-size:12px}@media(max-width:800px){.coding-evidence{grid-template-columns:1fr;gap:20px}.coding-decisions h3{font-size:29px}}@media(max-width:600px){.coding-tools{gap:10px}.coding-tools li{padding:10px 14px}.coding-tools svg{width:18px;height:18px}}

.coding-pair{grid-template-columns:1fr 1fr;align-items:start;gap:26px}.coding-pair figure>a{display:flex;height:380px;align-items:center;justify-content:center;background:#eceeea;border:1px solid var(--line);overflow:hidden}.coding-pair figure:nth-child(2)>a{background:#0c1117}.coding-pair img{width:100%;height:100%;object-fit:contain;border:0}.coding-pair figure:nth-child(2) img{object-fit:cover;object-position:top}.coding-summary{display:grid;grid-template-columns:1fr 1fr;gap:45px;margin-top:30px}.coding-summary h3{margin-top:0}.coding-summary p{margin-top:0}@media(max-width:800px){.coding-pair{grid-template-columns:1fr 1fr;gap:20px}.coding-pair figure>a{height:280px}.coding-summary{gap:25px}}@media(max-width:600px){.coding-pair,.coding-summary{grid-template-columns:1fr}.coding-pair figure>a{height:auto;min-height:0}.coding-pair img{height:auto;object-fit:contain}.coding-pair figure:nth-child(2)>a{max-height:440px;align-items:flex-start}.coding-summary{gap:0}}

/* Refined case-study hierarchy and evidence. */
.perception-case .case-hero{padding-bottom:30px}.outcome-strip{display:grid;grid-template-columns:1fr 1.2fr auto;align-items:center;gap:35px;border-block:1px solid var(--line);padding:26px 0;margin:5px 0 25px}.outcome-strip>div>span{font-size:9px;letter-spacing:1.4px;color:var(--accent)}.outcome-strip p{font-size:25px;letter-spacing:-.6px;margin:9px 0}.outcome-strip small{display:block;max-width:330px;font-size:11px;line-height:1.6;color:var(--muted)}.outcome-strip>a{font-size:12px;display:flex;align-items:center;gap:22px}.outcome-strip>a>span{font-size:27px;color:var(--accent)}.perception-case .case-jump{flex-wrap:wrap;gap:10px 25px}.decision-index{list-style:none;margin:25px 0 55px;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.decision-index a{display:block;position:relative;border-top:2px solid var(--accent);padding:23px 15px 10px 0;min-height:190px}.decision-index span{font-size:9px;letter-spacing:1.3px;color:var(--accent)}.decision-index h3{font-size:24px;font-weight:400;line-height:1.25;letter-spacing:-.6px;max-width:270px;margin:22px 0 14px}.decision-index p{font-size:13px;line-height:1.7;color:#5b5e55;max-width:280px}.decision-index b{position:absolute;right:0;top:18px;font-size:20px;font-weight:400;color:var(--accent)}.decision-index a:hover h3{color:var(--accent)}.review-evolution{margin:30px 0 65px;padding:35px 0;border-block:1px solid var(--line)}.review-intro{max-width:730px;margin-bottom:35px}.review-intro h2{font-size:31px;line-height:1.2;letter-spacing:-.8px;margin:20px 0}.review-intro>p:last-child{font-size:15px;line-height:1.8;color:#5b5e55}.evolution-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.evolution-panel{border:1px solid var(--line);padding:23px;background:#eeefea}.evolution-panel.revised{background:#e8edf0;border-color:#becbd4}.evolution-panel>.eyebrow{margin:0 0 22px}.mini-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #ccd2d0;padding-bottom:15px;font-size:12px}.mini-toolbar>div{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.mini-action{font-size:10px;border:1px solid #aebecb;padding:7px 9px;background:#f7f8f5;white-space:nowrap;color:var(--accent)}.mini-content{padding:24px 0;font-size:13px;min-height:148px}.mini-rule{display:block;height:7px;background:#ccd6db;width:90%;margin-top:20px}.mini-rule.short{width:60%;margin-top:12px}.mini-budget{border:1px solid #ccd2d0;padding:15px;display:flex;justify-content:space-between;gap:15px;font-size:11px}.mini-budget>span{color:var(--accent)}.mini-risk{display:flex;justify-content:space-between;gap:15px;margin-top:23px;border-left:2px solid var(--accent);padding-left:12px;font-size:11px;color:var(--accent)}.evolution-note{font-size:12px;line-height:1.7;color:#5b5e55;margin:20px 0 0}.coding-pair{grid-template-columns:1.15fr 1fr;align-items:start}.coding-pair figure>a{height:360px}.coding-pair .terminal-window{height:360px;overflow:auto;background:#0c1117;border:1px solid var(--line);scrollbar-color:#65717e #171d25;scrollbar-width:thin}.terminal-window:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.coding-pair .terminal-window img{display:block;width:100%;height:auto;object-fit:contain}.coding-pair .terminal-figure>a.terminal-full{display:inline-block;height:auto;border:0;background:none;font-size:10px;color:var(--accent);padding:10px 0 0}.coding-pair .terminal-figure figcaption{margin-top:5px}.coding-summary h3{font-size:28px}.delivery-tradeoff{margin:0 0 60px;padding:25px 0 25px 28px;border-left:2px solid var(--accent);max-width:820px}.delivery-tradeoff h3{font-size:24px;font-weight:400;line-height:1.35;letter-spacing:-.5px}.delivery-tradeoff>p:last-child{font-size:14px;line-height:1.8;color:#5b5e55}.validation-details{border-block:1px solid var(--line);margin:30px 0;padding:20px 0}.validation-details summary{cursor:pointer;list-style:none;font-size:16px;display:flex;justify-content:space-between;gap:20px}.validation-details summary::-webkit-details-marker{display:none}.validation-details summary span{font-size:22px;color:var(--accent)}.validation-details[open] summary span{transform:rotate(45deg)}.validation-details summary:focus-visible{outline:2px solid var(--accent);outline-offset:6px}.perception-case .systems-section{padding:45px 0;margin:25px 0}.perception-case .case-section{padding-block:55px}
@media(max-width:800px){.outcome-strip{grid-template-columns:1fr 1fr}.outcome-strip>a{grid-column:1/-1}.decision-index{gap:20px}.decision-index h3{font-size:21px}.evolution-grid{gap:18px}.evolution-panel{padding:18px}.mini-toolbar{flex-wrap:wrap}.coding-pair{grid-template-columns:1fr 1fr}.coding-pair figure>a,.coding-pair .terminal-window{height:300px}}
@media(max-width:600px){.outcome-strip{gap:25px 20px;padding:23px 0}.outcome-strip p{font-size:21px}.outcome-strip small{font-size:10px}.decision-index{grid-template-columns:1fr;gap:12px;margin-bottom:25px}.decision-index a{min-height:0;padding:20px 25px 12px 0}.decision-index h3{max-width:none;font-size:23px;margin:15px 0 10px}.decision-index p{max-width:none}.evolution-grid{grid-template-columns:1fr}.review-intro h2{font-size:27px}.mini-toolbar{flex-wrap:nowrap}.coding-pair{grid-template-columns:1fr;gap:25px}.coding-pair figure>a{height:auto;min-height:0}.coding-pair .terminal-window{height:360px}.coding-summary{margin-top:25px}.coding-summary h3{font-size:26px}.delivery-tradeoff{padding-left:20px}.perception-case .case-section{padding-block:35px}.perception-case .systems-section{padding-block:35px}.perception-case .case-jump{gap:5px 20px}}

/* Let spacing carry section hierarchy; reserve rules for useful boundaries. */
.perception-case .outcome-strip{border:0;margin-top:0;margin-bottom:16px;padding-top:12px;padding-bottom:28px}
.perception-case .case-jump{border-top:0;border-bottom:1px solid var(--line);margin-top:0;padding-top:0;padding-bottom:18px}
.perception-case .systems-section{border-top:0}.perception-case .story-thesis{border:0;padding-top:20px;padding-bottom:25px}.perception-case .review-evolution{border:0}.perception-case .story-model{border:0}.perception-case .case-section{border-top:0}
/* DevOps evidence follows the same restrained frames and reading rhythm. */
.devops-case .case-cover{max-width:1000px;margin:0 auto 36px;background:transparent;border:1px solid var(--line);border-radius:5px}.devops-case .case-cover img{width:100%;height:auto;max-height:430px;object-fit:contain}
.devops-case .microsoft-artifact{width:min(100%,1000px);margin:32px auto 54px}.devops-case .microsoft-artifact>a{border:1px solid var(--line);border-radius:5px;overflow:hidden;background:white;padding:14px}.devops-case .microsoft-artifact img{width:100%;height:auto;max-height:620px;object-fit:contain}.devops-case .microsoft-artifact figcaption{font-size:10px;line-height:1.7;letter-spacing:0;gap:25px;padding-top:12px}.devops-case .microsoft-artifact figcaption span{white-space:nowrap}.devops-screen-scroll{height:620px;overflow:auto;border:1px solid var(--line);border-radius:5px;background:white;scrollbar-width:thin;scrollbar-color:#a6b1b8 #eef0eb}.devops-screen-scroll:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.devops-case .devops-screen-scroll img{display:block;max-height:none;width:100%;height:auto}.devops-case .tall-artifact>a.artifact-full-link{display:inline-block;padding:12px 0 0;border:0;background:none;font-size:11px;color:var(--accent)}
@media(max-width:600px){.devops-case .microsoft-artifact{margin:25px auto 36px}.devops-case .microsoft-artifact>a{padding:5px}.devops-case .microsoft-artifact figcaption{display:block;font-size:9px}.devops-case .microsoft-artifact figcaption span{display:block;margin-top:4px}.devops-screen-scroll{height:450px}.perception-case .outcome-strip{padding-bottom:15px}}

/* Curated portfolio: clear scope before depth. */
.project-description{font-size:15px;line-height:1.7;color:#5b5e55;max-width:440px;margin:12px 0 14px}.project-scope{font-size:10px;line-height:1.7;letter-spacing:.2px;color:var(--accent);margin:0 0 20px}.featured-work .project-1{grid-column:1/-1;display:grid;grid-template-columns:1.5fr 1fr;gap:45px;align-items:center}.featured-work .project-1 .visual{aspect-ratio:1.65}.featured-work .project-1 .details{padding:0}.featured-work .project-1 h2{font-size:36px;letter-spacing:-1px}.featured-work .project-1 .company{margin-bottom:18px}.featured-work .project-1 .tags{margin-bottom:25px}.more-heading{margin-top:70px}.more-work{grid-template-columns:repeat(3,1fr);gap:28px;margin-bottom:90px}.more-work h2{font-size:21px}.more-work .project-description{font-size:13px}.home-page .footer-bottom{gap:22px;flex-wrap:wrap}.home-page .footer-bottom>span{margin-right:auto}.about-actions{display:flex;gap:28px;flex-wrap:wrap;margin-top:28px}.practice-evidence{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin:0 0 75px}.practice-evidence>a{display:block;padding:22px 0;border-top:2px solid var(--accent)}.practice-evidence>a>span{font-size:9px;color:var(--accent);letter-spacing:1.1px}.practice-evidence h2{font-size:24px;line-height:1.25;margin:23px 0 17px}.practice-evidence p{font-size:14px;line-height:1.8;color:#5b5e55}.practice-evidence small{display:block;font-size:11px;color:var(--accent);margin-top:24px}.practice-evidence a:hover h2{color:var(--accent)}.case-brief{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin:0 0 45px;padding:20px 0}.case-brief span{font-size:9px;letter-spacing:1.1px;color:var(--accent)}.case-brief p{font-size:15px;line-height:1.8;color:#5b5e55;margin:14px 0 0}.supporting-case .case-jump{border-top:0;flex-wrap:wrap;gap:10px 26px}.supporting-case .case-cover{max-width:1100px;margin-inline:auto;border-radius:5px}.supporting-case .case-artifacts{gap:28px}.supporting-case .case-figure>a{border-radius:5px;padding:12px;background:#fff;overflow:hidden}.supporting-case .case-figure img{max-height:580px}.supporting-case .case-figure figcaption{line-height:1.7;letter-spacing:0;gap:20px;font-size:10px}.evidence-more{margin:10px 0 50px;padding:0}.evidence-more>summary{display:flex;justify-content:space-between;gap:25px;cursor:pointer;font-size:12px;line-height:1.7;padding:14px 0;color:var(--accent);list-style:none}.evidence-more>summary::-webkit-details-marker{display:none}.evidence-more>summary span{font-size:10px;color:var(--muted)}.evidence-more[open]>.case-artifacts{margin-top:20px}.evidence-more>summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.reuse-implementation{font-size:14px;line-height:1.8;color:#5b5e55;max-width:850px;margin:30px 0 0}.reuse-implementation strong{display:block;color:var(--ink);font-weight:500;margin-bottom:8px}
@media(max-width:900px){.featured-work .project-1{gap:30px;grid-template-columns:1.2fr 1fr}.featured-work .project-1 h2{font-size:29px}.more-work{grid-template-columns:1fr 1fr}.practice-evidence{gap:25px}.practice-evidence h2{font-size:21px}.case-brief{gap:25px}}
@media(max-width:600px){.featured-work .project-1{display:flex;gap:0}.featured-work .project-1 .details{padding-top:23px}.featured-work .project-1 h2{font-size:27px}.more-work{grid-template-columns:1fr}.more-heading{margin-top:35px}.project-description{font-size:14px}.practice-evidence{grid-template-columns:1fr;gap:15px;margin-bottom:40px}.practice-evidence h2{font-size:24px}.practice-evidence small{margin-top:15px}.case-brief{grid-template-columns:1fr;gap:20px;padding-top:0;margin-bottom:30px}.case-brief p{margin-top:8px}.supporting-case .case-figure figcaption{font-size:9px}.supporting-case .case-figure>a{padding:7px}}

/* Research and product evidence: selected views first, details on demand. */
.adoption-map{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;list-style:none;padding:0;margin:40px 0}.adoption-map li{padding-top:20px;border-top:2px solid var(--accent)}.adoption-map span,.research-to-design span{font-size:9px;letter-spacing:1px;color:var(--accent)}.adoption-map h3{font-size:21px;font-weight:400;line-height:1.3;letter-spacing:-.5px;margin:20px 0 12px}.adoption-map p,.research-to-design p{font-size:13px;line-height:1.8;color:#5b5e55}.research-implication{padding:24px 28px;margin:30px 0;background:#e8edf0}.research-implication h3{font-size:25px;line-height:1.3;letter-spacing:-.5px;font-weight:400;margin:15px 0}.research-implication>p:not(.eyebrow){font-size:14px;line-height:1.85;color:#5b5e55;max-width:850px}.research-to-design{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin:35px 0}.research-to-design h3{font-size:22px;font-weight:400;line-height:1.3;letter-spacing:-.5px}.research-to-design a{display:inline-block;font-size:11px;color:var(--accent);line-height:1.6;padding-bottom:5px;border-bottom:1px solid var(--line)}.evidence-gallery{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin:30px 0}.evidence-shot{margin:0;min-width:0}.evidence-shot>a{display:block;border:1px solid var(--line);border-radius:5px;overflow:hidden;background:#fff}.evidence-shot img{display:block;width:100%;height:auto;object-fit:contain}.evidence-shot figcaption{display:flex;justify-content:space-between;gap:16px;font-size:10px;line-height:1.7;color:var(--muted);padding-top:12px}.evidence-shot figcaption span{color:var(--accent);white-space:nowrap}.evidence-wide{margin:25px 0 35px}.project-evidence-more{margin:20px 0 35px}.project-evidence-more>summary{display:flex;justify-content:space-between;align-items:baseline;gap:25px;cursor:pointer;list-style:none;color:var(--accent);font-size:12px;padding:14px 0}.project-evidence-more>summary::-webkit-details-marker{display:none}.project-evidence-more>summary span{font-size:10px;color:var(--muted);white-space:nowrap}.project-evidence-more>summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.project-evidence-more .evidence-gallery{margin-top:15px}.evidence-shot a:hover{border-color:#9baebc}
@media(max-width:800px){.adoption-map{grid-template-columns:1fr 1fr}.research-to-design{gap:22px}.evidence-gallery{gap:20px}}@media(max-width:600px){.adoption-map{gap:20px}.adoption-map h3{font-size:19px}.adoption-map p{font-size:12px}.research-to-design,.evidence-gallery{grid-template-columns:1fr}.research-to-design{gap:12px}.research-implication{padding:20px}.research-implication h3{font-size:23px}.evidence-shot figcaption{font-size:9px}.project-evidence-more>summary{font-size:11px;gap:15px}}

.strategy-priorities{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin:35px 0}.strategy-priorities span{font-size:9px;letter-spacing:1px;color:var(--accent)}.strategy-priorities h3{font-weight:400;font-size:23px;line-height:1.3;letter-spacing:-.5px;margin:20px 0 12px}.strategy-priorities p{font-size:14px;line-height:1.8;color:#5b5e55}.slide-viewer{margin:40px 0 15px;border:1px solid var(--line);border-radius:6px;padding:28px;background:#eeefeb}.slide-viewer:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.slide-viewer-head{display:flex;justify-content:space-between;gap:25px;align-items:center;margin-bottom:25px}.slide-viewer-head .eyebrow{margin:0 0 12px}.slide-viewer-head h3{font-size:25px;font-weight:400;letter-spacing:-.5px;line-height:1.3;margin:0}.slide-count{font-size:12px;color:var(--accent);white-space:nowrap;font-variant-numeric:tabular-nums}.slide-chapters{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:22px}.slide-chapters button,.slide-controls button{font:inherit;font-size:12px;color:var(--accent);padding:10px 15px;background:transparent;border:1px solid #cbd2d4;border-radius:3px;cursor:pointer}.slide-chapters button[aria-pressed="true"]{background:var(--accent);color:white;border-color:var(--accent)}.slide-stage{margin:0}.slide-original{display:block;background:white;aspect-ratio:16/9;border:1px solid var(--line);overflow:hidden}.slide-original img{display:block;width:100%;height:100%;object-fit:contain}.slide-stage figcaption{font-size:12px;line-height:1.6;color:#5b5e55;margin:15px 0 22px;min-height:20px}.slide-controls{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:end;gap:25px}.slide-picker{min-width:0;max-width:590px;width:100%;justify-self:center}.slide-picker label{display:block;font-size:10px;color:var(--muted);margin-bottom:7px}.slide-picker select{font:inherit;font-size:12px;background:var(--paper);color:var(--ink);border:1px solid #cbd2d4;border-radius:3px;width:100%;padding:10px;min-width:0}.slide-controls button:disabled{opacity:.35;cursor:default}.slide-viewer button:focus-visible,.slide-picker select:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.slide-help{font-size:10px;line-height:1.7;color:var(--muted);margin:18px 0 0}@media(max-width:700px){.strategy-priorities{grid-template-columns:1fr;gap:15px}.slide-viewer{padding:17px}.slide-viewer-head h3{font-size:21px}.slide-controls{gap:12px}.slide-controls button{padding:10px}.slide-controls button span{display:none}.slide-picker select{font-size:11px}.slide-chapters{gap:7px}.slide-chapters button{font-size:10px;padding:9px 10px}.slide-stage figcaption{font-size:11px}}

.case-password-gate{max-width:740px;margin:35px auto 90px;padding:42px;background:#e8edf0;border-radius:5px}.case-password-gate h2{font-size:34px;line-height:1.2;letter-spacing:-.8px;margin:22px 0}.case-password-gate>p:not(.eyebrow){font-size:15px;line-height:1.8;color:#5b5e55;max-width:560px}.case-password-gate form{margin-top:28px}.case-password-gate label{display:block;font-size:12px;margin-bottom:10px}.gate-input-row{display:flex;gap:12px}.gate-input-row input{min-width:0;flex:1;font:inherit;font-size:17px;border:1px solid #aebcc8;background:var(--paper);border-radius:3px;padding:13px}.gate-input-row button{font:inherit;font-size:12px;border:1px solid var(--accent);background:var(--accent);color:#fff;padding:14px 20px;border-radius:3px;cursor:pointer}.gate-input-row button span{margin-left:18px}.gate-input-row input:focus-visible,.gate-input-row button:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.gate-error{font-size:13px;color:#8d332d;line-height:1.6}@media(max-width:600px){.case-password-gate{padding:25px;margin-bottom:50px}.case-password-gate h2{font-size:28px}.gate-input-row{flex-direction:column}.gate-input-row button{align-self:flex-start}}

/* A balanced first row: equal visual weight for the three featured projects. */
.featured-work{grid-template-columns:repeat(3,minmax(0,1fr));gap:34px;align-items:stretch}.featured-work .project-1{grid-column:auto;display:flex;flex-direction:column;gap:0;align-items:stretch}.featured-work .project .visual,.featured-work .project-1 .visual{aspect-ratio:1.42;width:100%;flex:none}.featured-work .project .details,.featured-work .project-1 .details{padding:24px 0 0;flex:1;align-items:stretch}.featured-work .project .details>div{flex:1}.featured-work .project h2,.featured-work .project-1 h2{font-size:25px;line-height:1.22;letter-spacing:-.7px;min-height:61px;margin-bottom:14px}.featured-work .project .company,.featured-work .project-1 .company{margin-bottom:13px}.featured-work .project-description{font-size:14px;line-height:1.75;margin:0 0 15px;min-height:74px}.featured-work .project-scope{font-size:10px;line-height:1.8;min-height:36px;margin:0 0 18px}.featured-work .project .tags,.featured-work .project-1 .tags{font-size:10px;line-height:1.6;margin:0 0 21px;min-height:16px}.featured-work .project-link{align-self:flex-start}.featured-work{margin-bottom:65px}.more-heading{margin-top:45px}.more-work{gap:34px}
@media(max-width:1000px) and (min-width:701px){.featured-work,.more-work{gap:24px}.featured-work .project h2,.featured-work .project-1 h2{font-size:22px;min-height:81px}.featured-work .project-description{font-size:13px;min-height:92px}.featured-work .project .details,.featured-work .project-1 .details{padding-top:20px}.featured-work .project-scope{min-height:54px}}
@media(max-width:700px){.featured-work{grid-template-columns:1fr;gap:42px}.featured-work .project .visual,.featured-work .project-1 .visual{aspect-ratio:1.55}.featured-work .project h2,.featured-work .project-1 h2{font-size:25px;min-height:0;margin-bottom:13px}.featured-work .project-description,.featured-work .project-scope,.featured-work .project .tags{min-height:0}.featured-work .project .details,.featured-work .project-1 .details{padding-top:22px}.featured-work .project .details>div{flex:initial}.featured-work{margin-bottom:50px}.more-heading{margin-top:30px}}

/* Lead project with measured emphasis; two supporting projects below. */
.featured-work{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 32px}.featured-work .project-1{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:50px;align-items:center}.featured-work .project-1 .visual{aspect-ratio:1.6}.featured-work .project-1 .details{padding:0}.featured-work .project-1 h2{font-size:34px;min-height:0;margin-bottom:20px;letter-spacing:-.9px}.featured-work .project-1 .project-description{font-size:16px;line-height:1.8;min-height:0;max-width:410px;margin-bottom:20px}.featured-work .project-1 .project-scope{min-height:0;margin-bottom:19px}.featured-work .project-1 .tags{min-height:0;margin-bottom:22px}.featured-work .project:not(.project-1) .visual{aspect-ratio:1.9}.featured-work .project:not(.project-1) h2{font-size:25px;min-height:0;margin-bottom:14px}.featured-work .project:not(.project-1) .project-description{min-height:50px;max-width:460px}.featured-work .project:not(.project-1) .project-scope{min-height:18px}.featured-work .project:not(.project-1) .details{padding-top:22px}
@media(max-width:1000px) and (min-width:701px){.featured-work .project-1{gap:30px;grid-template-columns:1.1fr 1fr}.featured-work .project-1 h2{font-size:30px}.featured-work .project-1 .project-description{font-size:14px}.featured-work .project:not(.project-1) .project-description{min-height:70px}.featured-work .project:not(.project-1) .project-scope{min-height:36px}}
@media(max-width:700px){.featured-work{grid-template-columns:1fr;gap:42px}.featured-work .project-1{display:flex;gap:0;grid-column:auto}.featured-work .project-1 .details{padding-top:22px}.featured-work .project-1 h2{font-size:29px;margin-bottom:14px}.featured-work .project-1 .project-description{font-size:15px}.featured-work .project:not(.project-1) .visual{aspect-ratio:1.6}.featured-work .project:not(.project-1) .project-description,.featured-work .project:not(.project-1) .project-scope{min-height:0}}

/* Align the lead image and copy to the exact columns of the supporting row. */
.featured-work .project-1{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px}@media(max-width:1000px) and (min-width:701px){.featured-work .project-1{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px}}

/* Evidence reads as chapters in the case study, rather than a separate slide library. */
.story-deck{margin:38px 0 50px;min-width:0}.story-deck:focus-visible{outline:2px solid var(--accent);outline-offset:8px}.story-deck-heading{display:flex;justify-content:space-between;gap:25px;align-items:center;margin-bottom:17px}.story-deck-heading .eyebrow{margin:0}.deck-count{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.story-deck-figure{margin:0}.deck-original{display:block;background:#fff;border:1px solid var(--line);border-radius:5px;overflow:hidden;aspect-ratio:16/9}.deck-original img{display:block;width:100%;height:100%;object-fit:contain}.story-deck-figure figcaption{display:grid;grid-template-columns:1fr 1.1fr;gap:45px;padding:23px 0}.story-deck-figure h3{font-size:22px;font-weight:400;letter-spacing:-.5px;line-height:1.35;margin:0}.story-deck-figure p{font-size:14px;line-height:1.8;color:#5b5e55;margin:0}.story-deck-controls{display:flex;align-items:center;gap:25px}.story-deck-controls button{font:inherit;font-size:12px;background:transparent;color:var(--accent);padding:10px 0;border:0;cursor:pointer;white-space:nowrap}.story-deck-controls button:disabled{opacity:.35;cursor:default}.story-deck-controls button:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.deck-progress{appearance:none;-webkit-appearance:none;border:0;height:2px;width:100%;background:#dce1df;color:var(--accent)}.deck-progress::-webkit-progress-bar{background:#dce1df}.deck-progress::-webkit-progress-value{background:var(--accent);transition:width .2s}.deck-progress::-moz-progress-bar{background:var(--accent)}.deck-continue{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:12px;color:var(--accent);padding:15px 0 0;margin-top:13px}.deck-continue span{font-size:20px}.deck-original:hover{border-color:#a2b2be}@media(max-width:700px){.story-deck-figure figcaption{grid-template-columns:1fr;gap:12px;padding:20px 0}.story-deck-figure h3{font-size:21px}.story-deck-figure p{font-size:13px}.story-deck-controls{gap:18px}.story-deck-heading .eyebrow{font-size:8px;letter-spacing:.8px}.story-deck{margin:30px 0 40px}}

/* Decision-led case study: main evidence is readable without opening supporting slides. */
.context-film{margin:12px 0 20px;border-bottom:1px solid var(--line)}.context-film>summary{display:flex;justify-content:space-between;gap:20px;cursor:pointer;padding:20px 0;font-size:14px;color:var(--accent);list-style:none}.context-film>summary span{font-size:11px;color:var(--muted)}.context-film .hero-video{margin:15px 0 45px}.context-film .story-caption{margin-bottom:22px}.context-film[open]>summary{margin-bottom:12px}
.design-at-glance{margin:25px 0 55px}.glance-heading{max-width:750px;margin-bottom:28px}.glance-heading h2{font-size:clamp(29px,3.7vw,43px);font-weight:400;letter-spacing:-1.2px;line-height:1.18;margin:15px 0}.glance-heading>p:last-child{color:#5b5e55;font-size:16px;line-height:1.7}.annotated-overview{margin:0}.annotated-overview>a{position:relative;display:block;border:1px solid var(--line);background:white;border-radius:7px;overflow:hidden}.annotated-overview img{display:block;width:100%;height:auto}.annotated-overview figcaption{font-size:11px;line-height:1.6;color:var(--muted);margin:12px 0 0}.screen-pin{position:absolute;display:grid;place-items:center;width:29px;height:29px;background:#405b78;color:white;border-radius:50%;border:2px solid white;box-shadow:0 2px 8px #263e4a33;font-size:13px}.pin-one{top:11%;left:3%}.pin-two{top:11%;left:51%}.pin-three{top:2%;left:72%}
.evidence-callouts,.prototype-loop{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;list-style:none;padding:0;margin:28px 0 0}.evidence-callouts li{display:flex;gap:12px}.evidence-callouts li>span{color:var(--accent);font-size:13px;padding-top:3px}.evidence-callouts h3,.prototype-loop h3{font-size:18px;font-weight:400;line-height:1.3;margin:0 0 10px}.evidence-callouts p,.prototype-loop p{font-size:13px;line-height:1.75;color:#5b5e55;margin:0}.prototype-loop{margin:30px 0}.prototype-loop span{font-size:10px;letter-spacing:1px;color:var(--accent);display:block;margin-bottom:15px}
.insight-decision{display:grid;grid-template-columns:1fr auto 1fr;gap:30px;align-items:center;background:#eaf0f1;padding:32px;margin:30px 0;border-radius:5px}.insight-decision>span{font-size:30px;color:var(--accent)}.insight-decision h3{font-size:23px;font-weight:400;line-height:1.3;margin:12px 0}.insight-decision p:not(.eyebrow){font-size:14px;line-height:1.8;color:#5b5e55;margin:0}
.evidence-appendix{margin:30px 0 0;border-block:1px solid var(--line)}.evidence-appendix>summary{list-style:none;cursor:pointer;padding:22px 0;display:flex;justify-content:space-between;align-items:center;font-size:17px}.evidence-appendix small{display:block;font-size:11px;color:var(--muted);margin-top:8px}.evidence-appendix b{font-size:24px;font-weight:400;color:var(--accent)}.evidence-appendix[open]>summary b{transform:rotate(45deg)}.evidence-appendix .story-deck{margin-top:8px}.evidence-appendix summary::-webkit-details-marker,.context-film summary::-webkit-details-marker{display:none}
.decision-reasoning{margin:0 0 32px;background:#eceee8;padding:28px 30px;border-radius:5px}.decision-reasoning>h3{font-family:Georgia,serif;font-weight:400;font-size:25px;color:var(--accent);margin:0 0 24px}.reasoning-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.reasoning-grid span{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--accent)}.reasoning-grid p{font-size:14px;line-height:1.75;color:#5b5e55;margin:12px 0 0}.scope-proof{display:grid;grid-template-columns:1fr 1.4fr;gap:35px;margin:32px 0;padding:30px;border:1px solid #becbd4;border-radius:5px}.scope-proof h3{font-size:25px;font-weight:400;line-height:1.35;margin:13px 0}.scope-proof h3 span{color:var(--accent);padding:0 12px}.scope-proof p:not(.eyebrow){font-size:14px;line-height:1.75;color:#5b5e55}.scope-anchor{border-right:1px solid var(--line);padding-right:30px}
.scale-contract,.delivery-facts{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin:30px 0}.scale-contract{padding:30px;background:#eef0eb;border-radius:5px}.scale-contract h3,.delivery-facts h3{font-size:23px;font-weight:400;line-height:1.3;margin:14px 0}.scale-contract ul{padding-left:18px;font-size:14px;line-height:1.9;color:#5b5e55}.delivery-facts span{font-size:10px;letter-spacing:1px;color:var(--accent)}.delivery-facts p{font-size:13px;line-height:1.7}.perception-case .story-thesis{margin-top:0}.perception-case #challenge{padding-bottom:25px}.perception-case .case-jump{font-size:11px}
@media(max-width:700px){.evidence-callouts,.prototype-loop,.reasoning-grid{grid-template-columns:1fr;gap:22px}.insight-decision{grid-template-columns:1fr;padding:24px;gap:18px}.insight-decision>span{transform:rotate(90deg);width:30px}.scope-proof,.scale-contract,.delivery-facts{grid-template-columns:1fr;gap:20px}.scope-anchor{border-right:0;border-bottom:1px solid var(--line);padding:0 0 14px}.decision-reasoning,.scope-proof,.scale-contract{padding:23px}.context-film>summary{flex-direction:column;gap:8px}.screen-pin{width:22px;height:22px;font-size:10px}.evidence-callouts{margin-top:22px}.glance-heading h2{letter-spacing:-.7px}}

/* Research method and customer value: explicit evidence, readable without slide navigation. */
.research-status{display:flex;align-items:center;gap:20px;padding:18px 22px;background:#e9eef0;border-radius:5px;margin:28px 0}.research-status>span{font-size:10px;letter-spacing:1px;color:var(--accent);white-space:nowrap}.research-status p{font-size:13px;line-height:1.6;color:#5b5e55;margin:0}.study-design{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin:30px 0 38px}.study-design>div>span,.rq-row>div>span{font-size:10px;letter-spacing:1px;color:var(--accent)}.study-design h3{font-weight:400;font-size:21px;line-height:1.3;margin:15px 0 12px}.study-design p,.rq-row p{font-size:14px;line-height:1.75;color:#5b5e55;margin:0}.research-question-map{border-top:1px solid var(--line)}.rq-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px;padding:25px 0;border-bottom:1px solid var(--line)}.rq-row h3{font-size:21px;line-height:1.3;font-weight:400;margin:12px 0 0}.rq-row p strong{display:block;font-weight:500;color:var(--ink);margin-bottom:8px}.research-boundary{border-left:2px solid var(--accent);padding:5px 0 5px 22px;margin:30px 0 20px;max-width:850px}.research-boundary h3{font-size:20px;font-weight:400;margin:8px 0}.research-boundary p{font-size:14px;line-height:1.8;color:#5b5e55;margin:8px 0}
.strategy-model{display:grid;grid-template-columns:1fr .65fr 1fr;gap:25px;align-items:stretch;margin:30px 0}.strategy-model>div{background:#eef0eb;padding:28px;border-radius:5px}.strategy-model h3{font-size:24px;font-weight:400;line-height:1.3;margin:15px 0}.strategy-model p:not(.eyebrow){font-size:14px;line-height:1.8;color:#5b5e55}.strategy-model .strategy-bridge{background:#e5edf0;text-align:center;display:flex;flex-direction:column;justify-content:center}.strategy-bridge>span{color:var(--accent);font-size:25px}.strategy-bridge h3{font-size:21px}.strategy-bridge p{margin:0}.strategy-hypothesis{font-size:15px;line-height:1.8;max-width:900px;color:#5b5e55}.strategy-hypothesis strong{color:var(--ink);font-weight:500}
.value-path{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:32px 0}.value-path article{background:#eef0eb;border-radius:6px;padding:26px;display:flex;flex-direction:column}.value-step{font-size:10px;letter-spacing:1px;color:var(--accent)}.value-path h3{font-size:25px;line-height:1.25;letter-spacing:-.5px;font-weight:400;margin:20px 0}.value-path article>p{font-size:14px;line-height:1.75;color:#5b5e55;margin:0 0 20px}.value-path strong{display:block;font-size:12px;font-weight:500;color:var(--ink);margin-bottom:7px}.value-path a{font-size:12px;color:var(--accent);line-height:1.6;margin-bottom:24px}.value-check{font-size:13px;line-height:1.75;color:#405b78;border-top:1px solid #ced7d6;padding-top:20px;margin-top:auto}.value-check>span{display:block;font-size:9px;letter-spacing:.8px;margin-bottom:9px}.impact-status{font-size:13px;line-height:1.8;color:#5b5e55;max-width:850px}.impact-status strong{font-weight:500;color:var(--ink)}.research-followthrough{margin:25px 0;padding:25px;background:#e9eef0;border-radius:5px}.research-followthrough h3{font-size:21px;font-weight:400;margin:0 0 15px}.research-followthrough p{font-size:14px;line-height:1.8}
@media(max-width:750px){.research-status{align-items:start;flex-direction:column;gap:10px}.study-design,.rq-row,.value-path{grid-template-columns:1fr;gap:24px}.rq-row{padding:24px 0}.strategy-model{grid-template-columns:1fr}.strategy-model .strategy-bridge{padding:18px}.strategy-bridge>span{transform:rotate(90deg)}.strategy-bridge h3{margin:8px 0}.value-path h3{font-size:24px}.value-path article{padding:24px}.study-design{gap:28px}}

.impact-heading h2{font-size:clamp(30px,3.5vw,44px);font-weight:400;letter-spacing:-1.2px;line-height:1.2;margin:18px 0 24px;max-width:850px}

/* Evidence-first editorial finish */
.iteration-record{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;list-style:none;padding:0;margin:28px 0}.iteration-record li{padding:18px 0;border-top:2px solid #a5b5bc}.iteration-record span{font-size:10px;letter-spacing:1px;color:var(--accent)}.iteration-record p{font-size:14px;line-height:1.75;color:#5b5e55;margin:13px 0 0}.planning-model{margin:30px 0}.perception-case .review-evolution{margin-top:40px}.perception-case .review-intro{max-width:800px}.perception-case .review-intro h2{font-size:clamp(28px,3.4vw,40px)}.perception-case .value-path article>p{font-size:15px}.perception-case .value-path h3{min-height:94px}.perception-case .systems-footnote{line-height:1.75}
@media(max-width:700px){.iteration-record{grid-template-columns:1fr;gap:5px}.perception-case .value-path h3{min-height:0}}

/* Interim research findings and design implications */
.finding-lead{padding:34px;background:#e7edf0;border-radius:6px;margin:28px 0}.finding-lead>h3{font-family:Georgia,serif;font-size:clamp(26px,3vw,36px);line-height:1.25;font-weight:400;color:var(--accent);max-width:780px;margin:18px 0}.finding-lead>p:not(.eyebrow){font-size:15px;line-height:1.8;max-width:900px;color:#4f5c60}.finding-contexts{display:grid;grid-template-columns:1fr 1fr;gap:36px;margin:28px 0}.finding-contexts>div{padding:23px;background:#f7f8f5;border-radius:4px}.finding-contexts span,.findings-decisions>div>span,.open-research>span{font-size:10px;letter-spacing:1px;color:var(--accent)}.finding-contexts h4{font-size:23px;font-weight:400;margin:15px 0}.finding-contexts p,.findings-decisions p{font-size:14px;line-height:1.8;color:#5b5e55}.finding-contexts strong,.findings-decisions strong,.finding-implication strong{font-weight:500;color:var(--ink)}.findings-decisions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin:35px 0}.findings-decisions h3{font-size:23px;font-weight:400;line-height:1.3;margin:16px 0}.findings-decisions a{font-size:12px;color:var(--accent)}.open-research{display:grid;grid-template-columns:130px 1fr;gap:25px;padding:24px;border:1px solid #b6c4cc;border-radius:5px}.open-research h3{font-size:22px;font-weight:400;margin:0 0 12px}.open-research p{font-size:14px;line-height:1.8;color:#5b5e55;margin:0}.research-method{margin:26px 0}.research-method summary{font-size:15px;cursor:pointer;display:flex;justify-content:space-between;list-style:none;padding:20px 0;border-bottom:1px solid var(--line)}.research-method[open] summary>span{transform:rotate(45deg)}.research-action-note{margin:25px 0 40px;padding:24px 28px;border-left:2px solid var(--accent);background:#edf0ea;max-width:900px}.research-action-note h3{font-size:24px;font-weight:400;line-height:1.3;margin:15px 0}.research-action-note>p:not(.eyebrow){font-size:14px;line-height:1.8;color:#5b5e55}.research-action-note small{font-size:11px;line-height:1.7;color:var(--muted);display:block}
@media(max-width:700px){.finding-contexts,.findings-decisions,.open-research{grid-template-columns:1fr;gap:22px}.finding-lead{padding:24px}.finding-contexts>div{padding:20px}.open-research{padding:22px}.research-action-note{padding:20px}}

/* Concrete research-driven proposals, distinctly labeled from original artifacts. */
.revision-comparison{display:grid;grid-template-columns:1fr 1.2fr;gap:30px;margin:32px 0}.revision-comparison>article{padding:28px;background:#eeefeb;border-radius:6px}.revision-comparison>.revision-after{background:#e6edf0}.revision-ui{background:#fff;border:1px solid #d4dcdf;border-radius:8px;padding:25px;margin:22px 0;min-height:250px}.ui-kicker{font-size:10px;letter-spacing:.8px;color:#667880}.revision-ui h3{font-size:24px;line-height:1.3;font-weight:400;margin:17px 0 25px}.run-estimate{font-size:14px;line-height:1.8;color:#59636a}.run-estimate strong{display:block;font-size:33px;font-weight:400;color:#273b49;margin-top:9px}.revision-comparison h4{font-size:16px;font-weight:500;margin:22px 0 10px}.revision-comparison article>p:not(.eyebrow){font-size:14px;line-height:1.8;color:#5b5e55}.budget-example{display:flex;align-items:baseline;gap:14px}.budget-example strong{font-size:44px;font-weight:400;color:#405b78}.budget-example span{font-size:13px;color:#53616b}.revision-ui progress{width:100%;height:8px;border:0;appearance:none;background:#e6e9ea;margin:18px 0 3px;border-radius:5px;overflow:hidden}.revision-ui progress::-webkit-progress-bar{background:#e6e9ea}.revision-ui progress::-webkit-progress-value{background:#607f91}.revision-ui progress::-moz-progress-bar{background:#607f91}.budget-period{font-size:11px;color:#66727a}.budget-explanation summary{font-size:13px;color:#405b78;cursor:pointer;margin:20px 0 10px}.budget-explanation p{font-size:13px;line-height:1.75;color:#56616a}.revision-evaluation{border-left:2px solid #405b78;padding:5px 0 5px 25px;max-width:850px;margin-top:28px}.revision-evaluation h3{font-size:24px;font-weight:400;margin:12px 0}.revision-evaluation>p:last-child{font-size:14px;line-height:1.8;color:#5b5e55}.estimator-refinement{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin:35px 0;padding:30px;background:#edf0ea;border-radius:6px}.estimator-refinement h3{font-size:27px;font-weight:400;line-height:1.3;margin:16px 0}.estimator-refinement p{font-size:14px;line-height:1.8;color:#5b5e55}.estimator-microcopy{background:white;padding:24px;border-radius:6px}.estimator-microcopy label{display:block;font-size:13px;margin:22px 0 9px}.estimator-microcopy select{width:100%;padding:11px;border:1px solid #bbc9cf;border-radius:4px;font:inherit;font-size:13px;color:#30434d;background:white}.estimator-microcopy .discount-example{font-size:11px;margin:12px 0 24px}.estimator-microcopy summary{cursor:pointer;font-size:14px;color:#30434d}.estimator-microcopy summary span{display:block;margin:8px 0 0;font-size:11px;color:#405b78}.estimator-microcopy small{font-size:10px;line-height:1.7;color:#66727a;display:block;margin-top:20px}@media(max-width:700px){.revision-comparison,.estimator-refinement{grid-template-columns:1fr;gap:22px}.revision-comparison>article,.estimator-refinement{padding:22px}.revision-ui{padding:20px;min-height:0}.budget-example{flex-wrap:wrap;gap:8px}}

/* Matched persona cards: equal columns, shared rows, expansion below the pair. */
.persona-premise{font-size:16px;line-height:1.8;max-width:850px;color:var(--accent);margin:18px 0 30px}.persona-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin:32px 0 0}.persona-card{display:grid;grid-template-rows:subgrid;grid-row:span 3;gap:24px;min-width:0;padding:28px;background:#edf0ec;border:1px solid #dfe4df;border-radius:9px}.persona-admin{background:#e8eef1;border-color:#d7e0e5}.persona-card-heading .eyebrow{margin:0 0 18px;font-size:9px;letter-spacing:1px}.persona-card-heading h3{font-size:clamp(25px,2.6vw,33px);font-weight:400;line-height:1.2;letter-spacing:-.7px;margin:0 0 15px}.persona-card-heading>p:last-child{font-size:13px;line-height:1.7;color:#606b6b;margin:0}.persona-preview{display:flex;flex-direction:column;min-height:280px;padding:23px;background:#fff;border:1px solid #d8e0e3;border-radius:7px;min-width:0}.persona-preview-top{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#63767e;font-size:9px;letter-spacing:.5px}.scope-chip{font-size:9px;letter-spacing:0;padding:5px 8px;border-radius:20px;background:#f0f3f3;white-space:nowrap}.persona-preview h4{font-size:21px;line-height:1.3;font-weight:400;margin:24px 0 21px;color:#2b414b}.activity-line{display:flex;align-items:center;gap:12px;margin-bottom:18px}.activity-symbol{width:29px;height:29px;border-radius:6px;background:#eef2f3;display:grid;place-items:center;color:#526e7d;font-size:18px;flex-shrink:0}.activity-line strong,.activity-line div>span{display:block;font-size:12px;line-height:1.6}.activity-line strong{font-weight:500;color:#344b56}.activity-line div>span{font-size:11px;color:#6a787d}.persona-preview .preview-caption{font-size:10px;line-height:1.6;color:#63767e;margin:auto 0 0;padding-top:20px;border-top:1px solid #e7ecec}.admin-budget-value{display:flex;align-items:baseline;gap:12px;margin:0 0 18px}.admin-budget-value strong{font-size:43px;line-height:1.15;font-weight:400;color:#405b78}.admin-budget-value span{font-size:12px;line-height:1.6;color:#63747d}.persona-preview progress{height:7px;width:100%;appearance:none;border:0;background:#edf0f1;border-radius:5px;overflow:hidden}.persona-preview progress::-webkit-progress-bar{background:#edf0f1}.persona-preview progress::-webkit-progress-value{background:#658397}.persona-preview progress::-moz-progress-bar{background:#658397}.admin-budget-labels{display:flex;justify-content:space-between;gap:10px;margin:10px 0 23px;font-size:10px;color:#63747d}.persona-responsibilities{margin:0;display:grid;gap:18px}.persona-responsibilities dt{font-size:9px;letter-spacing:1px;color:var(--accent);margin-bottom:7px}.persona-responsibilities dd{margin:0;font-size:13px;line-height:1.75;color:#53605f}.persona-handoff{display:grid;grid-template-columns:140px 1fr;gap:20px;align-items:baseline;padding:23px 0}.persona-handoff>span{font-size:10px;letter-spacing:1px;color:var(--accent)}.persona-handoff p{margin:0;font-size:14px;line-height:1.8;color:#5b5e55}.persona-budget-definition{border-block:1px solid var(--line);margin:0 0 30px}.persona-budget-definition summary{display:flex;justify-content:space-between;gap:20px;list-style:none;cursor:pointer;padding:18px 0;font-size:13px;color:var(--accent)}.persona-budget-definition[open] summary>span{transform:rotate(45deg)}.persona-budget-definition>div{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding-bottom:16px}.persona-budget-definition p{font-size:13px;line-height:1.8;color:#5b5e55;margin:5px 0}.persona-budget-definition strong{font-weight:500;color:var(--ink)}.persona-research-connection{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin:30px 0}.persona-research-connection h3{font-weight:400;font-size:23px;line-height:1.3;margin:15px 0}.persona-research-connection>div>p:last-child{font-size:14px;line-height:1.8;color:#5b5e55}.persona-budget-definition summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
@supports not (grid-template-rows:subgrid){.persona-card{grid-template-rows:auto 1fr auto}.persona-card-heading{min-height:155px}}
@media(max-width:750px){.persona-comparison,.persona-research-connection,.persona-budget-definition>div{grid-template-columns:1fr;gap:24px}.persona-card{grid-row:auto;grid-template-rows:auto auto auto;padding:22px}.persona-card-heading h3{font-size:28px}.persona-preview{padding:20px;min-height:275px}.persona-handoff{grid-template-columns:1fr;gap:10px}.persona-research-connection{gap:20px}.persona-card-heading{min-height:0}.admin-budget-value{flex-wrap:wrap}}

.journey-personas{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:5px 0 26px}.journey-personas article{border:1px solid var(--line);border-radius:7px;padding:24px}.journey-personas h3{font-size:24px;line-height:1.3;font-weight:400;margin:15px 0}.journey-personas article>p:not(.eyebrow){font-size:14px;line-height:1.8;color:#5b5e55}.persona-evidence-label{display:block;color:var(--accent);font-size:11px;line-height:1.6;margin-top:18px}.persona-practitioner .admin-budget-value strong{color:#526f63}.persona-practitioner .persona-preview progress::-webkit-progress-value{background:#6f8e7e}.persona-practitioner .persona-preview progress::-moz-progress-bar{background:#6f8e7e}@media(max-width:750px){.journey-personas{grid-template-columns:1fr;gap:20px}}

/* Research iteration: one concise evidence chain */
.iteration-story{margin:36px 0 42px;padding:32px;background:#eeeee8;border-radius:12px}.iteration-heading{max-width:760px}.iteration-heading h3{font-size:30px;line-height:1.2;margin:12px 0}.iteration-heading>p:last-child{line-height:1.7;color:#64675f}.iteration-sequence{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;padding:0;margin:32px 0;list-style:none}.iteration-sequence li{display:flex;flex-direction:column;align-items:flex-start;min-width:0}.iteration-number{font-size:13px;color:#405b78;letter-spacing:.12em}.iteration-sequence h4{font-size:19px;line-height:1.3;margin:15px 0 8px}.iteration-sequence p{font-size:15px;line-height:1.7;color:#555a53;margin:0 0 20px}.iteration-tag{margin-top:auto;font-size:11px;letter-spacing:.03em;background:#fff;padding:6px 9px;border-radius:5px;color:#405b78}.iteration-tradeoff{display:grid;grid-template-columns:150px 1fr;gap:20px;margin:0 0 22px;padding-top:22px;border-top:1px solid #d5d9cf}.iteration-tradeoff>span{font-size:11px;letter-spacing:.1em;color:#405b78}.iteration-tradeoff p{margin:0;font-size:15px;line-height:1.7;max-width:780px}@media(max-width:900px){.iteration-sequence{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.iteration-story{padding:24px 20px}.iteration-sequence{grid-template-columns:1fr;gap:28px}.iteration-tradeoff{grid-template-columns:1fr;gap:10px}}

.validation-plan{margin:42px 0 52px}.validation-plan>h3{font-size:30px;line-height:1.2;margin:12px 0 16px}.validation-intro{max-width:760px;color:#64675f;line-height:1.75}.validation-tasks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:28px 0 20px}.validation-tasks article{padding:24px;background:#eef1f2;border-radius:10px}.validation-tasks .eyebrow{font-size:10px}.validation-tasks h4{font-size:21px;line-height:1.3;margin:16px 0}.validation-tasks p{font-size:15px;line-height:1.75;color:#555a53}.validation-tasks strong{color:#303a40;font-weight:600}.validation-method{background:#eeeee8;padding:18px 22px;border-radius:8px}.validation-method summary{cursor:pointer;display:flex;justify-content:space-between;gap:20px;font-size:15px}.validation-method>div{max-width:880px;padding-top:12px;font-size:15px;line-height:1.75;color:#555a53}@media(max-width:750px){.validation-tasks{grid-template-columns:1fr;gap:16px}}

.reviewer-brief{display:grid;grid-template-columns:1fr 1.2fr;gap:64px;margin:48px 0 36px}.reviewer-brief h2{font-size:clamp(28px,3vw,40px);line-height:1.16;max-width:470px;margin:14px 0}.reviewer-summary p{font-size:16px;line-height:1.8;color:#62675f;margin:0 0 16px}.reviewer-summary strong{color:#262824;font-weight:600}.validation-disclosure{border-radius:10px;background:#eeeee8;padding:22px 26px}.validation-disclosure>summary{display:flex;justify-content:space-between;align-items:center;gap:20px;cursor:pointer}.validation-disclosure>summary .eyebrow{display:block;margin-bottom:8px}.validation-disclosure>summary strong{font-size:22px;font-weight:400}.validation-body{padding-top:24px}.validation-disclosure[open]>summary>span:last-child{transform:rotate(45deg)}@media(max-width:750px){.reviewer-brief{grid-template-columns:1fr;gap:16px}.validation-disclosure{padding:20px}}

.estimator-evidence{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(260px,1fr);gap:32px;align-items:start;margin:36px 0 56px}.estimator-evidence .case-figure{margin:0;min-width:0}.estimator-evidence .case-figure img{width:100%;height:auto;object-fit:contain}.estimator-evidence-notes{padding:24px;background:#eeeee8;border-radius:10px}.estimator-evidence-notes h3{font-size:24px;line-height:1.25;margin:12px 0 22px}.estimator-evidence-notes ol{margin:0;padding-left:20px}.estimator-evidence-notes li{padding-left:5px;margin-bottom:20px}.estimator-evidence-notes h4{font-size:16px;margin:0 0 6px}.estimator-evidence-notes li p{font-size:14px;line-height:1.7;color:#60675d;margin:0}.estimator-evidence-notes .systems-footnote{font-size:12px;line-height:1.6;margin:20px 0 0}@media(max-width:950px){.estimator-evidence{grid-template-columns:1fr}.estimator-evidence-notes ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}}@media(max-width:650px){.estimator-evidence-notes ol{display:block}}

/* Final research synthesis: preserve the editorial case-study layout. */
.research-map ol{list-style:none;padding:0;margin:24px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 36px}.research-map li{border-top:1px solid #dcded5;padding-top:20px;min-width:0}.research-map li h3{font-size:21px;line-height:1.3;margin:10px 0}.research-map li p{font-size:15px;line-height:1.7;color:#62675f}.research-map .eyebrow{font-size:11px}.research-context .findings-decisions{margin-top:32px}#research-delivery .findings-decisions p{line-height:1.7}#validation-plan .validation-tasks{margin-top:28px}@media(max-width:700px){.research-map ol{grid-template-columns:1fr}}
