@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.css');
/* Brand palette and the surfaces where it is used. */
:root{
 --vw-unit:0.0694444444vw;
 --white:#FFFFFF;
 --warm-ivory:#F7F5E9;
 --charcoal:#1C1C1C;
 --celadon:#A7C3BD;
 --deep-olive:#687959;
 --butter-yellow:#F3E4A7;
 --bg:var(--white);
 --ink:var(--charcoal);
 --mint:var(--celadon);
 --olive:var(--deep-olive);
 --olive-ink:#4F603F;
 --line:#E0E3DE;
 --muted:#555B57;
 --active:color-mix(in srgb,var(--celadon) 55%,var(--white));
 --soft-celadon:color-mix(in srgb,var(--celadon) 18%,var(--white));
 --hover-accent:color-mix(in srgb,var(--butter-yellow) 55%,var(--white));
 --image-bg:var(--white);
}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(100 * var(--vw-unit))}body{margin:0;background:var(--bg);color:var(--ink);font-family:Pretendard,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible{outline:calc(2 * var(--vw-unit)) solid var(--olive);outline-offset:calc(5 * var(--vw-unit))}.skip{position:fixed;top:calc(-80 * var(--vw-unit));left:calc(20 * var(--vw-unit));background:var(--ink);color:white;padding:calc(12 * var(--vw-unit));z-index:100}.skip:focus{top:calc(10 * var(--vw-unit))}.header{margin:0 3.3%;height:calc(100 * var(--vw-unit));display:flex;align-items:center;border-bottom:calc(1 * var(--vw-unit)) solid var(--ink);gap:calc(60 * var(--vw-unit))}.wordmark{font-size:calc(23 * var(--vw-unit));font-weight:750;letter-spacing:calc(-1.1 * var(--vw-unit));display:inline-flex;align-items:center;gap:calc(9 * var(--vw-unit))}.brand-dot{width:calc(8 * var(--vw-unit));height:calc(8 * var(--vw-unit));background:var(--celadon)}nav{display:flex;gap:calc(30 * var(--vw-unit));font-size:calc(13 * var(--vw-unit))}nav a{padding:calc(10 * var(--vw-unit)) 0}nav a:hover{color:var(--olive-ink)}nav span{font-size:calc(9 * var(--vw-unit));vertical-align:super;margin-left:calc(3 * var(--vw-unit));color:var(--olive-ink)}.header-note{margin-left:auto;font-size:calc(11 * var(--vw-unit));color:var(--muted)}.split{display:grid;grid-template-columns:40% 60%;margin:0 3.3%;min-height:calc(790 * var(--vw-unit))}.intro{padding:calc(66 * var(--vw-unit)) calc(36 * var(--vw-unit)) calc(36 * var(--vw-unit)) 0;display:flex;flex-direction:column;border-right:calc(1 * var(--vw-unit)) solid var(--line)}.eyebrow{font-size:calc(10 * var(--vw-unit));letter-spacing:calc(1.1 * var(--vw-unit));font-weight:500}.intro>.eyebrow{display:flex;align-items:center;gap:calc(8 * var(--vw-unit))}.small-square{width:calc(6 * var(--vw-unit));height:calc(6 * var(--vw-unit));background:var(--olive)}h1{font-size:clamp(calc(32 * var(--vw-unit)),3.2vw,calc(53 * var(--vw-unit)));letter-spacing:calc(-2.1 * var(--vw-unit));line-height:1.42;font-weight:600;margin:calc(42 * var(--vw-unit)) 0 calc(26 * var(--vw-unit));word-break:keep-all}.intro-copy{font-size:calc(13 * var(--vw-unit));line-height:1.95;color:var(--muted);letter-spacing:calc(-.3 * var(--vw-unit));margin:0}.intro-bottom{margin-top:auto;padding-top:calc(100 * var(--vw-unit));display:flex;justify-content:space-between;align-items:end;font-size:calc(12 * var(--vw-unit));line-height:1.9;color:var(--muted)}.vertical-mark{writing-mode:vertical-rl;font-size:calc(9 * var(--vw-unit));letter-spacing:calc(1.8 * var(--vw-unit))}.work{padding:calc(39 * var(--vw-unit)) 0 calc(38 * var(--vw-unit)) calc(38 * var(--vw-unit));min-width:0}.section-line{display:flex;justify-content:space-between;align-items:center;font-size:calc(10 * var(--vw-unit))}.section-line h2{font-size:calc(12 * var(--vw-unit));font-weight:500;margin:0}.section-line>span{font-size:calc(10 * var(--vw-unit));color:var(--muted)}.project-list{margin:calc(22 * var(--vw-unit)) 0 calc(30 * var(--vw-unit))}.project-row{display:flex;border-bottom:calc(1 * var(--vw-unit)) solid var(--line);align-items:stretch;transition:background .18s}.project-row:first-child{border-top:calc(1 * var(--vw-unit)) solid var(--line)}.project-row.active{background:var(--active)}.project-row:hover{background:var(--soft-celadon)}.project-row.active:hover{background:var(--active)}.project-select{display:flex;align-items:center;text-align:left;gap:calc(21 * var(--vw-unit));background:none;border:0;cursor:pointer;padding:calc(21 * var(--vw-unit)) calc(12 * var(--vw-unit));flex:1;min-width:0}.project-number{font-size:calc(10 * var(--vw-unit));color:var(--muted)}.project-name{font-size:clamp(calc(13 * var(--vw-unit)),1.2vw,calc(18 * var(--vw-unit)));font-weight:500;letter-spacing:calc(-.4 * var(--vw-unit))}.project-open{padding:calc(19 * var(--vw-unit)) calc(16 * var(--vw-unit));font-size:calc(20 * var(--vw-unit));color:var(--muted);display:flex;align-items:center}.active .project-open{color:var(--olive-ink)}.image-placeholder{background:var(--image-bg);aspect-ratio:1.87;position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:calc(19 * var(--vw-unit)) calc(22 * var(--vw-unit));overflow:hidden;color:var(--muted)}.placeholder-top,.placeholder-bottom{display:flex;justify-content:space-between;gap:calc(12 * var(--vw-unit));font-size:calc(8 * var(--vw-unit));letter-spacing:calc(1 * var(--vw-unit))}.placeholder-bottom{letter-spacing:calc(.2 * var(--vw-unit));color:var(--muted)}.placeholder-bottom>span{letter-spacing:calc(1 * var(--vw-unit))}.placeholder-center{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column}.placeholder-center p{font-size:calc(14 * var(--vw-unit));margin:calc(17 * var(--vw-unit)) 0 calc(8 * var(--vw-unit));font-weight:400;letter-spacing:calc(-.3 * var(--vw-unit))}.placeholder-center>span:last-child{font-size:calc(8 * var(--vw-unit));letter-spacing:calc(1.5 * var(--vw-unit));color:var(--muted)}.crop-symbol{display:block;width:calc(33 * var(--vw-unit));height:calc(26 * var(--vw-unit));border:calc(1 * var(--vw-unit)) solid #a7b3a1;position:relative}.crop-symbol:after{content:'';width:calc(7 * var(--vw-unit));height:calc(7 * var(--vw-unit));background:var(--mint);position:absolute;left:calc(12 * var(--vw-unit));top:calc(8 * var(--vw-unit))}.image-placeholder img{width:100%;height:100%;object-fit:contain;position:absolute;inset:0;background:var(--bg)}.preview-caption{display:flex;justify-content:space-between;gap:calc(16 * var(--vw-unit));margin-top:calc(22 * var(--vw-unit))}.preview-caption .eyebrow{font-size:calc(8 * var(--vw-unit));color:var(--olive-ink)}.preview-caption h3{font-size:calc(17 * var(--vw-unit));letter-spacing:calc(-.5 * var(--vw-unit));margin:calc(9 * var(--vw-unit)) 0}.preview-caption p{font-size:calc(11 * var(--vw-unit));color:var(--muted);line-height:1.7;margin:0;word-break:keep-all}.text-link{font-size:calc(11 * var(--vw-unit));white-space:nowrap;align-self:flex-end;border-bottom:calc(1 * var(--vw-unit)) solid var(--ink);padding-bottom:calc(5 * var(--vw-unit))}.text-link span{margin-left:calc(20 * var(--vw-unit))}.text-link:hover{color:var(--olive-ink);border-color:var(--olive-ink)}.about{margin:0 3.3%;border-top:calc(1 * var(--vw-unit)) solid var(--ink);display:grid;grid-template-columns:40% 60%;padding:calc(64 * var(--vw-unit)) 0 calc(85 * var(--vw-unit))}.section-label{font-size:calc(10 * var(--vw-unit));letter-spacing:calc(1 * var(--vw-unit));display:flex;flex-direction:column;gap:calc(14 * var(--vw-unit))}.section-label span{font-size:calc(8 * var(--vw-unit));color:var(--muted)}.about-content{padding-left:calc(38 * var(--vw-unit));max-width:calc(700 * var(--vw-unit))}.about h2{font-size:calc(30 * var(--vw-unit));line-height:1.5;letter-spacing:calc(-1 * var(--vw-unit));font-weight:500;margin:0 0 calc(25 * var(--vw-unit))}.about p{font-size:calc(13 * var(--vw-unit));line-height:1.95;color:var(--muted);max-width:calc(520 * var(--vw-unit));word-break:keep-all}.expertise{display:flex;flex-wrap:wrap;gap:calc(9 * var(--vw-unit)) calc(22 * var(--vw-unit));margin-top:calc(30 * var(--vw-unit));font-size:calc(10 * var(--vw-unit));color:var(--olive-ink)}footer{margin:0 3.3%;padding:calc(27 * var(--vw-unit)) 0;border-top:calc(1 * var(--vw-unit)) solid var(--ink);display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:calc(10 * var(--vw-unit))}footer .wordmark{font-size:calc(15 * var(--vw-unit));color:var(--ink)}.detail-main{margin:0 7%;}.detail-heading{padding-top:calc(35 * var(--vw-unit))}.detail-title{margin:calc(60 * var(--vw-unit)) 0 calc(45 * var(--vw-unit));max-width:calc(900 * var(--vw-unit))}.detail-title h1{font-size:clamp(calc(35 * var(--vw-unit)),5vw,calc(70 * var(--vw-unit)));line-height:1.15;letter-spacing:calc(-2 * var(--vw-unit));margin:calc(24 * var(--vw-unit)) 0}.detail-title p{font-size:calc(18 * var(--vw-unit));color:var(--muted)}.detail-meta{display:flex;justify-content:space-between;font-size:calc(9 * var(--vw-unit));letter-spacing:calc(1 * var(--vw-unit));padding:calc(18 * var(--vw-unit)) 0;border-top:calc(1 * var(--vw-unit)) solid var(--line)}.large{aspect-ratio:2.1;padding:calc(25 * var(--vw-unit)) calc(28 * var(--vw-unit))}.large .placeholder-center p{font-size:calc(19 * var(--vw-unit))}.case-body{display:grid;grid-template-columns:minmax(0,32fr) minmax(0,68fr);padding:calc(80 * var(--vw-unit)) 0 calc(40 * var(--vw-unit));gap:calc(35 * var(--vw-unit))}.case-note{font-size:calc(10 * var(--vw-unit));letter-spacing:calc(1 * var(--vw-unit))}.case-note>span{display:block;margin-top:calc(12 * var(--vw-unit));font-size:calc(11 * var(--vw-unit));color:var(--muted);letter-spacing:0}.case-note p{font-size:calc(11 * var(--vw-unit));letter-spacing:0;line-height:1.9;color:var(--muted);max-width:calc(240 * var(--vw-unit))}.case-section{border-top:calc(1 * var(--vw-unit)) solid var(--line);padding:calc(26 * var(--vw-unit)) 0 calc(36 * var(--vw-unit));display:flex;gap:calc(30 * var(--vw-unit))}.case-number{font-size:calc(10 * var(--vw-unit));color:var(--olive-ink);padding-top:calc(6 * var(--vw-unit))}.case-section h2{font-size:calc(23 * var(--vw-unit));font-weight:500;margin:0 0 calc(20 * var(--vw-unit));letter-spacing:calc(-.5 * var(--vw-unit))}.case-section h2 span{font-size:calc(11 * var(--vw-unit));color:var(--muted);display:block;margin-top:calc(9 * var(--vw-unit));letter-spacing:0}.case-section p{font-size:calc(14 * var(--vw-unit));line-height:1.9;color:var(--muted);word-break:keep-all;max-width:calc(630 * var(--vw-unit))}.final-work>.section-line{margin:calc(30 * var(--vw-unit)) 0 calc(22 * var(--vw-unit))}.final-work h2{font-size:calc(22 * var(--vw-unit))}.final-work h2 span{font-size:calc(11 * var(--vw-unit));color:var(--muted);margin-left:calc(12 * var(--vw-unit))}.next-project{display:grid;grid-template-columns:1fr auto;gap:calc(20 * var(--vw-unit));padding:calc(35 * var(--vw-unit)) 0;margin:calc(65 * var(--vw-unit)) 0;border-top:calc(1 * var(--vw-unit)) solid var(--ink);border-bottom:calc(1 * var(--vw-unit)) solid var(--ink)}.next-project .eyebrow{grid-column:1/-1;color:var(--olive-ink)}.next-project>span:not(.eyebrow){font-size:calc(26 * var(--vw-unit));letter-spacing:calc(-.7 * var(--vw-unit))}.next-project:hover{color:var(--olive-ink)}@media(min-aspect-ratio:2/1){.split{min-height:calc(900 * var(--vw-unit))}.intro{padding-top:calc(85 * var(--vw-unit))}.work{padding-top:calc(50 * var(--vw-unit))}.project-select{padding-top:calc(26 * var(--vw-unit));padding-bottom:calc(26 * var(--vw-unit))}}@media(max-aspect-ratio:4/3){.header{gap:calc(35 * var(--vw-unit));height:calc(85 * var(--vw-unit))}.header-note{font-size:calc(9 * var(--vw-unit))}.intro{padding-right:calc(22 * var(--vw-unit))}.intro-copy{font-size:calc(12 * var(--vw-unit))}.desktop-break{display:none}.work{padding-left:calc(24 * var(--vw-unit))}.project-select{gap:calc(12 * var(--vw-unit));padding:calc(20 * var(--vw-unit)) calc(8 * var(--vw-unit))}.project-name{font-size:calc(13 * var(--vw-unit))}.project-open{padding:calc(17 * var(--vw-unit)) calc(9 * var(--vw-unit))}.preview-caption{flex-direction:column}.text-link{align-self:flex-start}.intro h1{font-size:calc(32 * var(--vw-unit));letter-spacing:calc(-1.5 * var(--vw-unit))}.split{min-height:calc(740 * var(--vw-unit))}.about-content{padding-left:calc(24 * var(--vw-unit))}}@media(max-aspect-ratio:1/1){html{scroll-padding-top:calc(20 * var(--vw-unit))}.header{margin:0 6%;height:calc(78 * var(--vw-unit));justify-content:space-between;gap:calc(20 * var(--vw-unit))}.wordmark{font-size:calc(21 * var(--vw-unit))}.header-note{display:none}nav{font-size:calc(12 * var(--vw-unit));gap:calc(23 * var(--vw-unit))}.split{display:block;margin:0 6%}.intro{border-right:0;padding:calc(48 * var(--vw-unit)) 0 calc(35 * var(--vw-unit))}.intro h1{font-size:clamp(calc(31 * var(--vw-unit)),7.4vw,calc(47 * var(--vw-unit)));line-height:1.4;margin:calc(29 * var(--vw-unit)) 0 calc(22 * var(--vw-unit));letter-spacing:calc(-1.5 * var(--vw-unit))}.intro-copy{font-size:calc(13 * var(--vw-unit));max-width:calc(400 * var(--vw-unit))}.intro-bottom{padding-top:calc(33 * var(--vw-unit));font-size:calc(10 * var(--vw-unit));align-items:center}.vertical-mark{writing-mode:horizontal-tb;font-size:calc(7 * var(--vw-unit));letter-spacing:calc(.7 * var(--vw-unit))}.work{padding:calc(30 * var(--vw-unit)) 0 calc(45 * var(--vw-unit));border-top:calc(1 * var(--vw-unit)) solid var(--ink)}.project-name{font-size:calc(13 * var(--vw-unit))}.project-select{padding:calc(21 * var(--vw-unit)) calc(8 * var(--vw-unit));gap:calc(15 * var(--vw-unit))}.project-open{padding-left:calc(13 * var(--vw-unit));padding-right:calc(13 * var(--vw-unit))}.project-list{margin-bottom:calc(24 * var(--vw-unit))}.image-placeholder{aspect-ratio:1.35;padding:calc(16 * var(--vw-unit))}.placeholder-top,.placeholder-bottom{font-size:calc(7 * var(--vw-unit));letter-spacing:calc(.5 * var(--vw-unit))}.placeholder-bottom>span{display:none}.preview-caption{margin-top:calc(20 * var(--vw-unit));gap:calc(18 * var(--vw-unit))}.preview-caption h3{font-size:calc(18 * var(--vw-unit))}.preview-caption p{font-size:calc(12 * var(--vw-unit))}.preview-caption .text-link{align-self:flex-end}.about{margin:0 6%;padding:calc(37 * var(--vw-unit)) 0 calc(45 * var(--vw-unit));grid-template-columns:1fr;gap:calc(35 * var(--vw-unit))}.section-label{flex-direction:row;justify-content:space-between}.about-content{padding:0}.about h2{font-size:calc(27 * var(--vw-unit))}.about p{font-size:calc(13 * var(--vw-unit))}.expertise{line-height:1.7;gap:calc(7 * var(--vw-unit)) calc(19 * var(--vw-unit))}footer{margin:0 6%;gap:calc(15 * var(--vw-unit));flex-wrap:wrap;padding:calc(24 * var(--vw-unit)) 0}footer>span:nth-child(2){display:none}footer>span{font-size:calc(8 * var(--vw-unit))}.detail-main{margin:0 6%}.detail-title{margin:calc(43 * var(--vw-unit)) 0 calc(30 * var(--vw-unit))}.detail-title h1{font-size:calc(38 * var(--vw-unit));letter-spacing:calc(-1.5 * var(--vw-unit))}.detail-title p{font-size:calc(16 * var(--vw-unit))}.detail-meta{font-size:calc(7 * var(--vw-unit));gap:calc(15 * var(--vw-unit))}.detail-meta>span:last-child{white-space:nowrap}.large{aspect-ratio:1.3}.case-body{grid-template-columns:1fr;padding:calc(40 * var(--vw-unit)) 0 calc(10 * var(--vw-unit));gap:calc(25 * var(--vw-unit))}.case-note p{max-width:none}.case-section{gap:calc(20 * var(--vw-unit));padding:calc(24 * var(--vw-unit)) 0}.case-section h2{font-size:calc(22 * var(--vw-unit))}.case-section p{font-size:calc(13 * var(--vw-unit))}.next-project{margin:calc(40 * var(--vw-unit)) 0}.next-project>span:not(.eyebrow){font-size:calc(22 * var(--vw-unit))}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Editorial refinements: preserve the original split and palette. */
.split{min-height:0;grid-template-columns:minmax(0,40fr) minmax(0,60fr)}
.intro{padding-top:calc(52 * var(--vw-unit));min-width:0}
.intro h1{margin-top:calc(32 * var(--vw-unit))}
.intro-copy{font-size:calc(16 * var(--vw-unit));line-height:1.85;max-width:calc(410 * var(--vw-unit));word-break:keep-all}
.intro-bottom{margin-top:calc(64 * var(--vw-unit));padding-top:calc(24 * var(--vw-unit));border-top:calc(1 * var(--vw-unit)) solid var(--line);display:block;color:var(--ink)}
.intro-bottom>.eyebrow{font-size:calc(10 * var(--vw-unit));color:var(--muted)}
.focus-areas{list-style:none;padding:0;margin:calc(16 * var(--vw-unit)) 0 0;display:flex;flex-wrap:wrap;gap:calc(8 * var(--vw-unit)) calc(18 * var(--vw-unit));font-size:calc(14 * var(--vw-unit));line-height:1.7;letter-spacing:calc(-.2 * var(--vw-unit))}
.project-name{font-size:clamp(calc(15 * var(--vw-unit)),1.22vw,calc(18 * var(--vw-unit)));line-height:1.5;overflow-wrap:anywhere}
.project-number{font-size:calc(12 * var(--vw-unit));flex-shrink:0}
.project-open{min-width:calc(48 * var(--vw-unit));justify-content:center}
.section-line h2{font-size:calc(14 * var(--vw-unit))}
.preview-caption{flex-wrap:wrap}
.preview-caption>div{min-width:0;flex:1 1 calc(240 * var(--vw-unit))}
.preview-caption .eyebrow{font-size:calc(10 * var(--vw-unit));line-height:1.6}
.preview-caption h3{font-size:calc(20 * var(--vw-unit));margin:calc(10 * var(--vw-unit)) 0}
.preview-caption p{font-size:calc(15 * var(--vw-unit));line-height:1.8;color:var(--muted)}
.text-link{font-size:calc(13 * var(--vw-unit));line-height:1.6;padding-top:calc(8 * var(--vw-unit));padding-bottom:calc(8 * var(--vw-unit))}
.about p{font-size:calc(16 * var(--vw-unit));line-height:1.85;max-width:calc(560 * var(--vw-unit))}
.expertise{font-size:calc(12 * var(--vw-unit));line-height:1.8}
.case-section p{font-size:calc(16 * var(--vw-unit));line-height:1.85}
.case-note p{font-size:calc(13 * var(--vw-unit))}
.process-heading{font-size:calc(15 * var(--vw-unit));font-weight:500;margin:calc(26 * var(--vw-unit)) 0 calc(12 * var(--vw-unit))}
.contact{margin:0 3.3%;border-top:calc(1 * var(--vw-unit)) solid var(--line);padding:calc(48 * var(--vw-unit)) 0 calc(64 * var(--vw-unit));display:grid;grid-template-columns:minmax(0,40fr) minmax(0,60fr)}
.contact-content{padding-left:calc(38 * var(--vw-unit));max-width:calc(700 * var(--vw-unit));min-width:0}
.contact h2{font-size:calc(26 * var(--vw-unit));letter-spacing:calc(-.7 * var(--vw-unit));font-weight:500;margin:0 0 calc(18 * var(--vw-unit))}
.contact p{font-size:calc(15 * var(--vw-unit));color:var(--muted);line-height:1.8;margin:0 0 calc(25 * var(--vw-unit));word-break:keep-all}
.contact-links{display:grid;gap:calc(4 * var(--vw-unit))}
.contact-item{display:flex;align-items:baseline;gap:calc(24 * var(--vw-unit));flex-wrap:wrap;border-top:calc(1 * var(--vw-unit)) solid var(--line);padding:calc(16 * var(--vw-unit)) 0;min-width:0}
.contact-label{font-size:calc(13 * var(--vw-unit));min-width:calc(65 * var(--vw-unit))}
.contact-status{font-size:calc(14 * var(--vw-unit));color:var(--muted)}
.contact-item .text-link{align-self:auto;padding:0;white-space:normal;overflow-wrap:anywhere}
@media(min-aspect-ratio:2/1){.intro{padding-top:calc(64 * var(--vw-unit))}}
@media(min-aspect-ratio:1001/1000) and (max-aspect-ratio:4/3){.intro-copy{font-size:calc(15 * var(--vw-unit))}.focus-areas{font-size:calc(13 * var(--vw-unit));display:grid;gap:calc(7 * var(--vw-unit))}.intro-bottom{margin-top:calc(44 * var(--vw-unit))}.project-name{font-size:calc(15 * var(--vw-unit))}.contact-content{padding-left:calc(24 * var(--vw-unit))}.header{gap:calc(24 * var(--vw-unit))}nav{gap:calc(20 * var(--vw-unit))}.header-note{max-width:calc(125 * var(--vw-unit));line-height:1.5}}
@media(max-aspect-ratio:1/1){
 .split{display:block}.intro{padding:calc(40 * var(--vw-unit)) 0 calc(32 * var(--vw-unit))}.intro h1{margin-top:calc(26 * var(--vw-unit))}
 .intro-copy{font-size:calc(16 * var(--vw-unit));max-width:calc(440 * var(--vw-unit))}.intro-bottom{margin-top:calc(30 * var(--vw-unit));padding-top:calc(20 * var(--vw-unit))}
 .focus-areas{font-size:calc(13 * var(--vw-unit));gap:calc(6 * var(--vw-unit)) calc(16 * var(--vw-unit));margin-top:calc(12 * var(--vw-unit))}
 nav{font-size:calc(13 * var(--vw-unit));gap:calc(18 * var(--vw-unit))}.header{gap:calc(12 * var(--vw-unit))}.header .wordmark{font-size:calc(19 * var(--vw-unit))}
 .project-name{font-size:calc(15 * var(--vw-unit));line-height:1.5}.project-select{padding:calc(18 * var(--vw-unit)) calc(8 * var(--vw-unit));gap:calc(12 * var(--vw-unit));min-height:calc(64 * var(--vw-unit))}
 .project-number{font-size:calc(11 * var(--vw-unit))}.project-open{min-width:calc(44 * var(--vw-unit));padding:calc(14 * var(--vw-unit)) calc(10 * var(--vw-unit))}
 .preview-caption{gap:calc(16 * var(--vw-unit))}.preview-caption>div{flex-basis:100%}.preview-caption h3{font-size:calc(20 * var(--vw-unit))}
 .preview-caption p,.about p,.case-section p{font-size:calc(16 * var(--vw-unit));line-height:1.85}
 .preview-caption .text-link{align-self:flex-start;margin-left:auto;min-height:calc(44 * var(--vw-unit));display:flex;align-items:center}
 .about{padding:calc(34 * var(--vw-unit)) 0 calc(40 * var(--vw-unit));gap:calc(28 * var(--vw-unit))}.about h2{font-size:calc(27 * var(--vw-unit))}.expertise{font-size:calc(12 * var(--vw-unit))}
 .contact{margin:0 6%;grid-template-columns:minmax(0,1fr);padding:calc(32 * var(--vw-unit)) 0 calc(40 * var(--vw-unit));gap:calc(28 * var(--vw-unit))}
 .contact-content{padding:0}.contact h2{font-size:calc(24 * var(--vw-unit))}.contact p{font-size:calc(16 * var(--vw-unit))}.contact-item{gap:calc(10 * var(--vw-unit)) calc(20 * var(--vw-unit))}
 .case-section>div{min-width:0}.detail-title h1{font-size:clamp(calc(30 * var(--vw-unit)),8.5vw,calc(38 * var(--vw-unit)));overflow-wrap:anywhere}
 .next-project>span{min-width:0;overflow-wrap:anywhere}
}
@media(max-aspect-ratio:9/16){nav{gap:calc(12 * var(--vw-unit))}.header .wordmark{font-size:calc(17 * var(--vw-unit))}.intro h1{font-size:calc(29 * var(--vw-unit))}.focus-areas{gap:calc(6 * var(--vw-unit)) calc(12 * var(--vw-unit))}}

/* Amazon PDP case study — scoped to preserve the home and other templates. */
.amazon-case .detail-title{max-width:calc(1000 * var(--vw-unit));margin-bottom:calc(40 * var(--vw-unit))}
.amazon-case .detail-title h1{max-width:calc(920 * var(--vw-unit))}
.amazon-case .detail-title>p{max-width:calc(590 * var(--vw-unit));font-size:calc(18 * var(--vw-unit));line-height:1.8;word-break:keep-all}
.project-facts{display:grid;grid-template-columns:1fr .8fr 1.5fr;gap:calc(24 * var(--vw-unit));margin:0;padding:calc(24 * var(--vw-unit)) 0 calc(32 * var(--vw-unit));border-top:calc(1 * var(--vw-unit)) solid var(--line)}
.project-facts dt{font-size:calc(12 * var(--vw-unit));color:var(--muted);margin-bottom:calc(10 * var(--vw-unit))}
.project-facts dd{font-size:calc(14 * var(--vw-unit));line-height:1.7;margin:0;word-break:keep-all}
.work-image{margin:0;min-width:0}
.work-image-frame{background:var(--image-bg);display:grid;place-items:center;min-width:0}
.work-image-empty{font-size:calc(13 * var(--vw-unit));line-height:1.8;color:var(--muted);text-align:center;padding:calc(20 * var(--vw-unit));word-break:keep-all}
.work-image-frame.has-image{aspect-ratio:auto!important;background:transparent;display:block}
.work-image-frame img{display:block;width:100%;height:auto}
.work-image figcaption{font-size:calc(12 * var(--vw-unit));color:var(--muted);line-height:1.7;padding-top:calc(12 * var(--vw-unit))}
.case-nav{border-bottom:calc(1 * var(--vw-unit)) solid var(--line);padding:calc(22 * var(--vw-unit)) 0;display:flex;flex-wrap:wrap;gap:calc(12 * var(--vw-unit)) calc(30 * var(--vw-unit));font-size:calc(13 * var(--vw-unit))}
.case-nav a{padding:calc(6 * var(--vw-unit)) 0;color:var(--muted)}
.case-nav a:hover{color:var(--olive-ink)}
.case-editorial{padding:calc(28 * var(--vw-unit)) 0 calc(20 * var(--vw-unit))}
.case-block{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:calc(40 * var(--vw-unit));padding:calc(44 * var(--vw-unit)) 0;border-bottom:calc(1 * var(--vw-unit)) solid var(--line)}
.case-block-label>span{font-size:calc(11 * var(--vw-unit));letter-spacing:calc(.6 * var(--vw-unit));color:var(--olive-ink)}
.case-block-label h2{font-size:calc(26 * var(--vw-unit));letter-spacing:calc(-.7 * var(--vw-unit));font-weight:500;line-height:1.5;margin:calc(12 * var(--vw-unit)) 0 0}
.case-block-copy{max-width:calc(640 * var(--vw-unit));min-width:0}
.case-block-copy p{font-size:calc(16 * var(--vw-unit));line-height:1.9;color:var(--muted);word-break:keep-all;margin:0}
.case-block-copy h3{font-size:calc(16 * var(--vw-unit));font-weight:500;margin:calc(26 * var(--vw-unit)) 0 calc(10 * var(--vw-unit))}
.approach-steps{list-style:none;counter-reset:steps;margin:calc(24 * var(--vw-unit)) 0 0;padding:0}
.approach-steps li{counter-increment:steps;position:relative;padding:calc(22 * var(--vw-unit)) 0 calc(22 * var(--vw-unit)) calc(38 * var(--vw-unit));border-top:calc(1 * var(--vw-unit)) solid var(--line)}
.approach-steps li:before{content:counter(steps,decimal-leading-zero);position:absolute;left:0;top:calc(25 * var(--vw-unit));font-size:calc(11 * var(--vw-unit));color:var(--olive-ink)}
.approach-steps h3{margin:0 0 calc(10 * var(--vw-unit))}
.case-final{padding-top:calc(50 * var(--vw-unit))}
.work-notice{font-size:calc(13 * var(--vw-unit));line-height:1.8;color:var(--muted);margin:calc(20 * var(--vw-unit)) 0 calc(40 * var(--vw-unit))}
.work-group{margin:0 0 calc(60 * var(--vw-unit))}
.work-group h3{font-size:calc(21 * var(--vw-unit));font-weight:500;letter-spacing:calc(-.5 * var(--vw-unit));margin:0 0 calc(12 * var(--vw-unit))}
.work-group>p{font-size:calc(15 * var(--vw-unit));line-height:1.8;color:var(--muted);margin:0 0 calc(24 * var(--vw-unit))}
.work-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:calc(24 * var(--vw-unit))}
.work-full{display:grid;gap:calc(24 * var(--vw-unit))}
.amazon-case .back-link{display:inline-flex;align-items:center;min-height:calc(44 * var(--vw-unit))}
.amazon-case .next-project{margin-top:calc(80 * var(--vw-unit))}
@media(max-aspect-ratio:1/1){
 .amazon-case .detail-title{margin:calc(32 * var(--vw-unit)) 0}
 .amazon-case .detail-title>p{font-size:calc(16 * var(--vw-unit))}
 .project-facts{grid-template-columns:minmax(0,1fr);gap:calc(20 * var(--vw-unit));padding:calc(22 * var(--vw-unit)) 0 calc(26 * var(--vw-unit))}
 .project-facts>div{display:grid;grid-template-columns:calc(65 * var(--vw-unit)) minmax(0,1fr);gap:calc(12 * var(--vw-unit))}
 .project-facts dt{margin:calc(3 * var(--vw-unit)) 0 0}.project-facts dd{font-size:calc(14 * var(--vw-unit))}
 .case-nav{gap:calc(4 * var(--vw-unit)) calc(20 * var(--vw-unit));padding:calc(14 * var(--vw-unit)) 0;font-size:calc(13 * var(--vw-unit))}.case-nav a{min-height:calc(44 * var(--vw-unit));display:flex;align-items:center}
 .case-editorial{padding-top:calc(8 * var(--vw-unit))}.case-block{grid-template-columns:minmax(0,1fr);gap:calc(24 * var(--vw-unit));padding:calc(32 * var(--vw-unit)) 0}
 .case-block-label h2{font-size:calc(24 * var(--vw-unit));margin-top:calc(9 * var(--vw-unit))}.case-block-copy p{font-size:calc(16 * var(--vw-unit));line-height:1.85}
 .approach-steps li{padding-left:calc(30 * var(--vw-unit))}.approach-steps h3{line-height:1.6}
 .case-final{padding-top:calc(32 * var(--vw-unit))}.work-notice{margin-bottom:calc(32 * var(--vw-unit))}.work-group{margin-bottom:calc(40 * var(--vw-unit))}
 .work-gallery{grid-template-columns:minmax(0,1fr);gap:calc(20 * var(--vw-unit))}.work-full{gap:calc(20 * var(--vw-unit))}
 .work-group h3{font-size:calc(20 * var(--vw-unit))}.work-image-empty{font-size:calc(12 * var(--vw-unit))}
 .amazon-case .next-project{margin-top:calc(48 * var(--vw-unit))}
}

/* Product content: final gallery, responsive A+ modules, and version comparison. */
.amazon-case .detail-title{max-width:calc(1100 * var(--vw-unit));margin:calc(40 * var(--vw-unit)) 0 calc(38 * var(--vw-unit))}
.amazon-case .detail-title h1{font-size:clamp(calc(36 * var(--vw-unit)),5.2vw,calc(72 * var(--vw-unit)));max-width:calc(1030 * var(--vw-unit));line-height:1.12;letter-spacing:calc(-2 * var(--vw-unit))}
.amazon-case .detail-title .case-headline{font-size:clamp(calc(20 * var(--vw-unit)),2vw,calc(28 * var(--vw-unit)));color:var(--ink);max-width:none;letter-spacing:calc(-.7 * var(--vw-unit));line-height:1.5;margin:calc(24 * var(--vw-unit)) 0 0}
.product-cover{background:var(--white);display:flex;justify-content:center}
.product-cover .work-image{width:min(100%,calc(660 * var(--vw-unit)))}
.amazon-case .project-facts{grid-template-columns:.8fr 1.2fr 1.4fr;padding-top:calc(28 * var(--vw-unit));margin-top:calc(30 * var(--vw-unit))}
.amazon-case .approach-steps{margin-top:0}
.amazon-case .approach-steps li:first-child{border-top:0;padding-top:0}
.amazon-case .approach-steps li:first-child:before{top:calc(4 * var(--vw-unit))}
.amazon-case .approach-steps p{white-space:pre-line}
.amazon-case .case-final{padding-top:calc(64 * var(--vw-unit));border-top:calc(1 * var(--vw-unit)) solid var(--line);margin-top:calc(24 * var(--vw-unit))}
.amazon-case .case-final>.case-block-label{margin-bottom:calc(40 * var(--vw-unit))}
.section-intro{font-size:calc(16 * var(--vw-unit));line-height:1.85;color:var(--muted);margin:calc(-20 * var(--vw-unit)) 0 calc(40 * var(--vw-unit));word-break:keep-all}
.media-status{font-size:calc(12 * var(--vw-unit));line-height:1.8;color:var(--muted);margin:calc(22 * var(--vw-unit)) 0 0}
.media-status[hidden]{display:none}
.work-group h4{font-size:calc(12 * var(--vw-unit));color:var(--muted);font-weight:400;margin:calc(24 * var(--vw-unit)) 0 calc(14 * var(--vw-unit))}
.square-gallery .work-image-frame{aspect-ratio:1!important}
.square-gallery img{width:100%;height:100%;object-fit:contain}
.aplus-desktop{display:grid;gap:calc(18 * var(--vw-unit))}
.aplus-mobile{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:calc(24 * var(--vw-unit));max-width:calc(660 * var(--vw-unit));margin-top:calc(10 * var(--vw-unit))}
.evolution-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:calc(24 * var(--vw-unit))}
.evolution-grid>div{min-width:0}
.evolution-grid h4{margin-top:0}
.outcome-block{margin-top:calc(24 * var(--vw-unit));border-top:calc(1 * var(--vw-unit)) solid var(--line)}
.outcome-block .case-block-copy>h3:first-child{margin-top:0}
@media(max-aspect-ratio:1/1){
 .amazon-case .detail-title{margin:calc(28 * var(--vw-unit)) 0 calc(30 * var(--vw-unit))}
 .amazon-case .detail-title h1{font-size:clamp(calc(32 * var(--vw-unit)),9vw,calc(48 * var(--vw-unit)));letter-spacing:calc(-1.4 * var(--vw-unit))}
 .amazon-case .detail-title .case-headline{font-size:calc(21 * var(--vw-unit));margin-top:calc(20 * var(--vw-unit));max-width:calc(310 * var(--vw-unit));word-break:keep-all}
 .amazon-case .project-facts{grid-template-columns:minmax(0,1fr);margin-top:calc(24 * var(--vw-unit));padding-top:calc(24 * var(--vw-unit))}
 .amazon-case .case-final{padding-top:calc(32 * var(--vw-unit));margin-top:calc(16 * var(--vw-unit))}
 .amazon-case .case-final>.case-block-label{margin-bottom:calc(28 * var(--vw-unit))}
 .section-intro{font-size:calc(15 * var(--vw-unit));margin:calc(-10 * var(--vw-unit)) 0 calc(30 * var(--vw-unit))}
 .aplus-desktop{gap:calc(12 * var(--vw-unit))}.aplus-mobile{gap:calc(16 * var(--vw-unit));max-width:none}
 .evolution-grid{grid-template-columns:minmax(0,1fr);gap:calc(26 * var(--vw-unit))}
 .evolution-grid .work-image{max-width:100%}
 .square-gallery{gap:calc(30 * var(--vw-unit))}.work-group h3{line-height:1.5}
 .media-status{font-size:calc(12 * var(--vw-unit))}.amazon-case .work-group{margin-bottom:calc(44 * var(--vw-unit))}
}
@media(max-aspect-ratio:3/5){.aplus-mobile{grid-template-columns:minmax(0,1fr)}}

/* Amazon collection: the existing home split remains unchanged. */
.amazon-index{padding-bottom:calc(72 * var(--vw-unit))}
.amazon-index .detail-title h1{max-width:calc(900 * var(--vw-unit))}
.index-summary{border-top:calc(1 * var(--vw-unit)) solid var(--line);padding:calc(22 * var(--vw-unit)) 0}
.amazon-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:calc(60 * var(--vw-unit)) calc(32 * var(--vw-unit))}
.amazon-project-link{display:block;min-width:0}
.amazon-project-link .work-image-frame{background:var(--image-bg)}
.amazon-project-info{padding-top:calc(22 * var(--vw-unit))}
.amazon-project-info .eyebrow{color:var(--olive-ink)}
.amazon-project-info h2{font-size:calc(24 * var(--vw-unit));line-height:1.4;font-weight:500;letter-spacing:calc(-.6 * var(--vw-unit));margin:calc(12 * var(--vw-unit)) 0 calc(14 * var(--vw-unit));overflow-wrap:anywhere;transition:color .18s}
.amazon-project-info p{font-size:calc(14 * var(--vw-unit));line-height:1.8;color:var(--muted);margin:calc(4 * var(--vw-unit)) 0}
.amazon-project-link:hover h2{color:var(--olive-ink)}
.empty-projects{grid-column:1/-1;font-size:calc(16 * var(--vw-unit));line-height:1.8;color:var(--muted);padding:calc(48 * var(--vw-unit)) 0}
.amazon-case .product-line{padding-bottom:calc(48 * var(--vw-unit));border-bottom:calc(1 * var(--vw-unit)) solid var(--line)}
.amazon-case .product-line>h3{font-size:calc(28 * var(--vw-unit));line-height:1.45}
.amazon-case .product-line>h4{margin-top:calc(36 * var(--vw-unit))}
.unavailable{min-height:32vw;padding-bottom:calc(80 * var(--vw-unit))}
.unavailable h1{font-size:calc(36 * var(--vw-unit))}
@media(max-aspect-ratio:1/1){.amazon-project-grid{grid-template-columns:minmax(0,1fr);gap:calc(42 * var(--vw-unit))}.amazon-index{padding-bottom:calc(44 * var(--vw-unit))}.amazon-project-info{padding-top:calc(18 * var(--vw-unit))}.amazon-project-info h2{font-size:calc(23 * var(--vw-unit))}.amazon-case .product-line>h3{font-size:calc(24 * var(--vw-unit))}.amazon-case .product-line{padding-bottom:calc(32 * var(--vw-unit))}.unavailable h1{font-size:calc(28 * var(--vw-unit))}}

/* Shared palette: subtle surfaces, clear text contrast, and small yellow details. */
.project-row.active{background:var(--active)}
.project-row.active:hover{background:var(--active)}
.project-number{display:inline-flex;align-items:center;justify-content:center;min-width:calc(24 * var(--vw-unit));padding:calc(2 * var(--vw-unit)) calc(4 * var(--vw-unit));color:var(--ink)}
.project-row.active .project-number{background:var(--butter-yellow)}
.project-open:hover{background:var(--butter-yellow);color:var(--ink)}
.work-image-frame{background:var(--image-bg)}
.product-cover{background:var(--white)}
.amazon-project-link .work-image-frame{background:var(--image-bg)}
.work-image figcaption{color:var(--muted)}
.case-block-copy p{white-space:pre-line}
.product-line>h3:empty{display:none}
.section-label,.eyebrow{color:var(--olive-ink)}
@media(prefers-reduced-motion:reduce){*{transition:none!important}html{scroll-behavior:auto}}

/* Case study process: editorial image decisions, optional evidence, and full-set disclosures. */
.hero-scope{font-size:calc(13 * var(--vw-unit))!important;color:var(--muted)!important;line-height:1.8!important;margin-top:calc(14 * var(--vw-unit))!important}
.process-case .detail-title{margin-bottom:calc(28 * var(--vw-unit))}
.process-case .product-cover .work-image{width:min(100%,calc(760 * var(--vw-unit)))}
.overview-facts{margin:calc(28 * var(--vw-unit)) 0 0;display:grid;gap:calc(15 * var(--vw-unit))}
.overview-facts>div{display:grid;grid-template-columns:calc(80 * var(--vw-unit)) minmax(0,1fr);gap:calc(18 * var(--vw-unit))}
.overview-facts dt{font-size:calc(12 * var(--vw-unit));line-height:1.8;color:var(--muted)}
.overview-facts dd{font-size:calc(15 * var(--vw-unit));line-height:1.8;margin:0;word-break:keep-all}
#strategy-copy>h3:first-child{margin-top:0}
.decision-row{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:calc(48 * var(--vw-unit));align-items:center;padding:0 0 calc(48 * var(--vw-unit));margin-bottom:calc(48 * var(--vw-unit));border-bottom:calc(1 * var(--vw-unit)) solid var(--line)}
.decision-copy{min-width:0;max-width:calc(360 * var(--vw-unit))}
.decision-copy h3{font-size:calc(22 * var(--vw-unit));font-weight:500;line-height:1.5;letter-spacing:calc(-.5 * var(--vw-unit));margin:calc(16 * var(--vw-unit)) 0}
.decision-copy p,.module-copy p{font-size:calc(15 * var(--vw-unit));line-height:1.85;color:var(--muted);word-break:keep-all;margin:calc(12 * var(--vw-unit)) 0}
.evidence-note{font-size:calc(11 * var(--vw-unit))!important;line-height:1.7!important;color:var(--olive-ink)!important}
#gallery-groups .work-group>.work-image{max-width:calc(720 * var(--vw-unit));margin:0 auto calc(24 * var(--vw-unit))}
.work-disclosure{margin-top:calc(22 * var(--vw-unit));border-top:calc(1 * var(--vw-unit)) solid var(--line);border-bottom:calc(1 * var(--vw-unit)) solid var(--line)}
.work-disclosure summary{cursor:pointer;font-size:calc(14 * var(--vw-unit));line-height:1.7;padding:calc(20 * var(--vw-unit)) calc(8 * var(--vw-unit));min-height:calc(54 * var(--vw-unit))}
.work-disclosure summary:hover{color:var(--olive-ink)}
.work-disclosure summary:focus-visible{outline:calc(2 * var(--vw-unit)) solid var(--olive-ink);outline-offset:calc(4 * var(--vw-unit))}
.work-disclosure[open]>:not(summary){margin:calc(20 * var(--vw-unit)) 0 calc(28 * var(--vw-unit))}
.aplus-comparison{display:grid;gap:calc(30 * var(--vw-unit))}
.aplus-comparison .work-group{margin-bottom:0!important}
.aplus-comparison .comparison-mobile{max-width:calc(560 * var(--vw-unit))}
.comparison-note{font-size:calc(14 * var(--vw-unit))!important;line-height:1.85!important;color:var(--muted)!important;max-width:calc(680 * var(--vw-unit));margin:calc(20 * var(--vw-unit)) 0!important}
.module-copy{padding:calc(14 * var(--vw-unit)) 0}
.module-copy h3{font-size:calc(16 * var(--vw-unit))!important;margin:0!important}
.process-case .aplus-mobile{max-width:none;grid-template-columns:repeat(2,minmax(0,1fr))}
.project-navigation{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:calc(28 * var(--vw-unit));margin:calc(72 * var(--vw-unit)) 0 calc(60 * var(--vw-unit));padding:calc(26 * var(--vw-unit)) 0;border-top:calc(1 * var(--vw-unit)) solid var(--ink);border-bottom:calc(1 * var(--vw-unit)) solid var(--ink);align-items:center}
.project-navigation a{font-size:calc(15 * var(--vw-unit));line-height:1.7;padding:calc(10 * var(--vw-unit)) 0;overflow-wrap:anywhere}
.project-navigation a:last-child{text-align:right}
.project-navigation a>span{display:block;font-size:calc(11 * var(--vw-unit));color:var(--olive-ink);margin-bottom:calc(9 * var(--vw-unit))}
.project-navigation .back-to-projects{font-size:calc(12 * var(--vw-unit));text-align:center}
.project-navigation a:hover{color:var(--olive-ink)}
@media(max-aspect-ratio:1/1){
 .decision-row{grid-template-columns:minmax(0,1fr);gap:calc(24 * var(--vw-unit));margin-bottom:calc(32 * var(--vw-unit));padding-bottom:calc(32 * var(--vw-unit))}
 .decision-copy{max-width:none}.decision-copy h3{font-size:calc(21 * var(--vw-unit));margin:calc(12 * var(--vw-unit)) 0}
 .decision-copy p,.module-copy p{font-size:calc(16 * var(--vw-unit))}.process-case .case-final>.case-block-label h2{word-break:keep-all}
 .overview-facts>div{grid-template-columns:calc(65 * var(--vw-unit)) minmax(0,1fr);gap:calc(14 * var(--vw-unit))}
 .process-case .aplus-mobile{grid-template-columns:minmax(0,1fr)}
 .aplus-comparison .comparison-mobile{max-width:none}
 .project-navigation{grid-template-columns:repeat(2,minmax(0,1fr));gap:calc(16 * var(--vw-unit));margin:calc(44 * var(--vw-unit)) 0 calc(34 * var(--vw-unit))}
 .project-navigation .back-to-projects{grid-column:1/-1;grid-row:2;border-top:calc(1 * var(--vw-unit)) solid var(--line);padding-top:calc(20 * var(--vw-unit))}
 .project-navigation a{font-size:calc(14 * var(--vw-unit));min-height:calc(44 * var(--vw-unit))}
}

/* Data-driven featured work and a native image viewer. */
.intro-secondary{display:block;margin-top:calc(16 * var(--vw-unit))}
.featured-projects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:calc(30 * var(--vw-unit)) calc(22 * var(--vw-unit))}
.featured-project:first-child{grid-column:1/-1}
.featured-project{display:block;min-width:0}
.featured-copy{padding-top:calc(15 * var(--vw-unit))}
.featured-copy h3{font-size:calc(17 * var(--vw-unit));line-height:1.5;letter-spacing:calc(-.4 * var(--vw-unit));font-weight:500;margin:0 0 calc(9 * var(--vw-unit))}
.featured-copy p{font-size:calc(12 * var(--vw-unit));line-height:1.8;color:var(--muted);margin:0;word-break:keep-all}
.featured-project:hover h3{color:var(--olive-ink)}
.image-open{position:relative;display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in;text-align:inherit}
.image-open img{width:100%;height:auto;display:block}
.zoom-hint{display:block;padding:calc(8 * var(--vw-unit)) 0;font-size:calc(11 * var(--vw-unit));color:var(--olive-ink);text-align:right;background:var(--bg)}
.image-dialog{width:min(calc(1300 * var(--vw-unit)),96vw);max-width:96vw;height:48vw;max-height:48vw;padding:0;border:calc(1 * var(--vw-unit)) solid var(--line);background:var(--bg);color:var(--ink)}
.image-dialog::backdrop{background:rgb(28 28 28 / .65)}
.viewer-toolbar{height:calc(58 * var(--vw-unit));padding:calc(8 * var(--vw-unit)) calc(20 * var(--vw-unit));display:flex;justify-content:flex-end;align-items:center;gap:calc(24 * var(--vw-unit));border-bottom:calc(1 * var(--vw-unit)) solid var(--line)}
.viewer-toolbar button{font-size:calc(13 * var(--vw-unit));min-height:calc(40 * var(--vw-unit));background:none;border:0;cursor:pointer;padding:calc(8 * var(--vw-unit));color:var(--ink)}
.viewer-stage{height:calc(100% - calc(58 * var(--vw-unit)));overflow:auto;padding:calc(20 * var(--vw-unit));overscroll-behavior:contain}
.viewer-stage img{display:block;width:100%;height:auto;max-width:100%;margin:0 auto}
.viewer-stage.actual-size img{width:auto;max-width:none;margin:0}
@media(max-aspect-ratio:1/1){.featured-projects{grid-template-columns:minmax(0,1fr);gap:calc(30 * var(--vw-unit))}.featured-project:first-child{grid-column:auto}.featured-copy h3{font-size:calc(19 * var(--vw-unit))}.viewer-stage{padding:calc(10 * var(--vw-unit))}.viewer-toolbar{padding:calc(8 * var(--vw-unit)) calc(10 * var(--vw-unit))}}

body:has(.image-dialog[open]){overflow:hidden}


/* All dimensional length tokens use vw; percentages/fr retain container/grid ratios.
   Landscape reference: 1440-wide composition. Portrait reference: 390-wide composition.
   Responsive conditions use aspect ratios so viewport lengths do not mix units. */
.featured-projects{grid-template-columns:minmax(0,1fr);gap:0}
.featured-project:first-child{grid-column:auto}
.featured-project{display:grid;grid-template-columns:24vw minmax(0,1fr);align-items:center;gap:2vw;padding:2vw 0;border-bottom:.069444vw solid var(--line)}
.featured-project:first-child{padding-top:0}
.featured-copy{padding-top:0;min-width:0}
.featured-copy h3{font-size:1.55vw;line-height:1.45;margin:0 0 .8vw;overflow-wrap:anywhere}
.featured-copy p{font-size:1vw;line-height:1.8}
.amazon-project-grid{grid-template-columns:minmax(0,1fr);gap:0}
.amazon-project-link{display:grid;grid-template-columns:26vw minmax(0,1fr);align-items:center;gap:3.5vw;padding:2.4vw 0;border-bottom:.069444vw solid var(--line)}
.amazon-project-info{padding-top:0;min-width:0}
.amazon-project-info h2{font-size:2.2vw;line-height:1.4;margin:.6vw 0 1vw}
.amazon-project-info p{font-size:1.05vw;line-height:1.8;margin:.3vw 0}
.featured-project .work-image,.amazon-project-link .work-image{width:100%;min-width:0}
.featured-project .work-image-frame,.amazon-project-link .work-image-frame{aspect-ratio:1!important;display:grid!important;place-items:center;background:var(--white)}
.featured-project .work-image-frame img,.amazon-project-link .work-image-frame img{width:100%;height:100%;min-height:0;object-fit:contain}
.featured-project .work-image-empty,.amazon-project-link .work-image-empty{font-size:.9vw;padding:1vw}
@media(max-aspect-ratio:1/1){
 :root{--vw-unit:.2564102564vw}
 .featured-projects{gap:0}
 .featured-project,.amazon-project-link{grid-template-columns:minmax(0,1fr);gap:4vw;padding:6vw 0}
 .featured-copy,.amazon-project-info{grid-row:1;padding-top:0}
 .featured-project .work-image,.amazon-project-link .work-image{grid-row:2}
 .featured-project .work-image-frame,.amazon-project-link .work-image-frame{aspect-ratio:3/2!important}
 .featured-copy h3,.amazon-project-info h2{font-size:5.1vw;line-height:1.4;margin:0 0 2.4vw}
 .featured-copy p,.amazon-project-info p{font-size:3.4vw;line-height:1.75;margin:1vw 0}
 .featured-project .work-image-empty,.amazon-project-link .work-image-empty{font-size:3.2vw;padding:3vw}
 .image-dialog{height:120vw;max-height:120vw}
 .unavailable{min-height:80vw}
}
@media(min-aspect-ratio:3/4) and (max-aspect-ratio:1/1){.image-dialog{height:85vw;max-height:85vw}}
@media(min-aspect-ratio:2/1){.image-dialog{height:36vw;max-height:36vw}}
@media(pointer:coarse) and (orientation:landscape){
 :root{--vw-unit:.1184834123vw}
 .header-note{display:none}
 .split{display:block}
 .intro{border-right:0;padding:4vw 0}
 .intro h1{font-size:4.2vw}
 .intro-copy{font-size:2vw;max-width:74vw}
 .work{padding:3vw 0}
 .featured-project{grid-template-columns:28vw minmax(0,1fr);gap:3vw}
 .featured-copy h3,.amazon-project-info h2{font-size:2.6vw}
 .featured-copy p,.amazon-project-info p{font-size:1.8vw}
 .about,.contact{grid-template-columns:minmax(0,1fr);gap:3vw}
 .about-content,.contact-content{padding-left:0}
}

/* Project indexes: a balanced image-and-title grid. */
.featured-projects{grid-template-columns:repeat(2,minmax(0,1fr));gap:2.4vw 1.8vw}
.featured-project,.featured-project:first-child{display:grid;grid-template-columns:minmax(0,1fr);grid-column:auto;align-items:start;gap:1.1vw;padding:0;border-bottom:0}
.featured-copy{grid-row:2}
.featured-project .work-image{grid-row:1}
.featured-copy h3{font-size:1.4vw;margin:0 0 .6vw}
.featured-copy p{font-size:.95vw}
.amazon-project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:3.2vw 2.4vw}
.amazon-project-link{grid-template-columns:minmax(0,1fr);align-items:start;gap:1.3vw;padding:0;border-bottom:0}
.amazon-project-info{grid-row:2}
.amazon-project-link .work-image{grid-row:1}
.amazon-project-info h2{font-size:1.8vw;margin:.5vw 0 .7vw}
.amazon-project-info p{font-size:1vw}
.featured-project .work-image-frame,.amazon-project-link .work-image-frame{aspect-ratio:1!important}
@media(max-aspect-ratio:1/1){
 .featured-projects,.amazon-project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7vw 4vw}
 .featured-project,.amazon-project-link{grid-template-columns:minmax(0,1fr);gap:3vw;padding:0}
 .featured-copy,.amazon-project-info{grid-row:2}
 .featured-copy h3,.amazon-project-info h2{font-size:4vw;line-height:1.45;margin:0 0 2vw}
 .featured-copy p,.amazon-project-info p{font-size:3vw;line-height:1.7;margin:.8vw 0}
}
@media(pointer:coarse) and (orientation:landscape){
 .featured-project,.amazon-project-link{grid-template-columns:minmax(0,1fr);gap:1.8vw}
 .featured-copy h3,.amazon-project-info h2{font-size:2.4vw}
 .featured-copy p,.amazon-project-info p{font-size:1.7vw}
}

/* Keep the two-column grid; reduce each project tile by twenty percent. */
.featured-project,.amazon-project-link{width:80%;justify-self:center}

/* A banner exists only in the separate local review build. */
.review-banner{padding:.55vw 3.3vw;background:var(--soft-celadon);border-bottom:.069444vw solid var(--line);color:var(--muted);font-size:.85vw;line-height:1.7}
#process-evidence .work-group{max-width:100%}
@media(max-aspect-ratio:1/1){.review-banner{padding:3vw 6vw;font-size:3.2vw}}

/* The three capabilities stay visible; only available work receives navigation. */
.static-category{cursor:default}
.category-state{font-size:.85vw;color:var(--muted);align-self:center;padding-right:1vw}
.project-row.is-unavailable:hover{background:transparent}
.category-state{white-space:nowrap}
.category-context{margin:0;padding:0 calc(12 * var(--vw-unit)) calc(22 * var(--vw-unit));font-size:calc(14 * var(--vw-unit));line-height:1.8;color:var(--muted);word-break:keep-all}
.category-navigation{display:flex;flex-wrap:wrap;gap:.7vw 2vw;padding:1vw 0;margin:1vw 0 2.4vw;border-top:.069444vw solid var(--line);border-bottom:.069444vw solid var(--line);font-size:.95vw}
.category-navigation a{padding:.6vw 0;line-height:1.7}
.category-navigation a[aria-current="page"]{color:var(--ink);border-bottom:.2vw solid var(--deep-olive);background:var(--soft-celadon)}
.support-copy{max-width:54vw;margin-left:auto}
.support-copy>p{font-size:1.11vw;line-height:1.85;word-break:keep-all;margin:0 0 1.5vw}
.support-copy h3{font-size:1.25vw;line-height:1.6;font-weight:500;margin:1.8vw 0 .7vw}
.support-copy h3:first-child{margin-top:0}
@media(max-aspect-ratio:1/1){
 .category-state{font-size:2.8vw;padding-right:2vw}
 .category-navigation{gap:1vw 4vw;padding:2.5vw 0;margin:3vw 0 6vw;font-size:3.3vw}
 .category-navigation a{padding:2vw 0;min-height:11.3vw}
 .support-copy{max-width:none;margin-left:0}
 .support-copy>p{font-size:4.1vw;line-height:1.85;margin-bottom:5vw}
 .support-copy h3{font-size:4.3vw;margin:6vw 0 2vw}
}

/* Selected work opens across disciplines; category filters are explicit controls. */
.primary-category .project-number{color:var(--olive-ink);font-weight:600}
.featured-copy .featured-role{margin-top:.5vw;color:var(--ink)}
.contextual-decisions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6vw 2.8vw;margin:1.5vw 0 2vw;max-width:64vw}
.contextual-decisions h3{font-size:1.25vw;font-weight:500;line-height:1.6;margin:0 0 .7vw}
.contextual-decisions p{font-size:1.11vw;line-height:1.85;margin:0;word-break:keep-all;color:var(--muted)}
@media(max-aspect-ratio:1/1){
 .featured-copy .featured-role{font-size:3vw;margin-top:2vw}
 .contextual-decisions{display:block;max-width:none;margin:5vw 0 7vw}
 .contextual-decisions h3{font-size:4.3vw;margin:5vw 0 2vw}
 .contextual-decisions p{font-size:4.1vw;line-height:1.85;margin:0}
}
@media(pointer:coarse) and (orientation:landscape){
}

/* Each Work category reveals its own projects below the category heading. */
.work-accordion-item{border-bottom:.069444vw solid var(--line)}
.work-accordion-item:first-child{border-top:.069444vw solid var(--line)}
.work-accordion-item>.project-row{border:0}
.accordion-toggle{width:100%;min-height:4.5vw}
.accordion-chevron{width:.55vw;height:.55vw;border-right:.1vw solid currentColor;border-bottom:.1vw solid currentColor;transform:rotate(45deg);margin-left:auto;margin-right:.6vw;flex-shrink:0;transition:transform .18s}
.accordion-toggle[aria-expanded="true"] .accordion-chevron{transform:rotate(225deg)}
.work-accordion-panel{padding:2vw 0 2.4vw}
.work-accordion-panel[hidden]{display:none}
.work-accordion-panel .preview-caption{padding:0 .8vw;margin-top:2vw}
@media(max-aspect-ratio:1/1){
 .accordion-toggle{min-height:15vw}
 .accordion-chevron{width:1.7vw;height:1.7vw;border-width:.3vw;margin-right:1.5vw}
 .work-accordion-panel{padding:6vw 0 7vw}
 .work-accordion-panel .preview-caption{padding:0 2vw;margin-top:6vw}
}
@media(prefers-reduced-motion:reduce){.accordion-chevron{transition:none}}

/* The disclosure button and collection link are separate sibling controls. */
.work-accordion-item .accordion-toggle{width:auto;flex:1;min-width:0}
.work-list-link{flex:0 0 3.6vw;justify-content:center;padding:.8vw;min-height:4.5vw;color:var(--olive-ink)}
.work-list-link>span{font-size:1.4vw;line-height:1}
.work-list-link:hover,.work-list-link:focus-visible{background:var(--butter-yellow);color:var(--ink)}
@media(max-aspect-ratio:1/1){
 .work-list-link{flex-basis:11.3vw;padding:2vw;min-height:15vw}
 .work-list-link>span{font-size:5.2vw}
}

/* Small editorial labels identify the lead case without changing the grid. */
.project-kicker{display:block;font-size:.8vw;line-height:1.7;color:var(--olive-ink);margin-bottom:.5vw}
@media(max-aspect-ratio:1/1){.project-kicker{font-size:2.8vw;margin-bottom:1.5vw}}
@media(pointer:coarse) and (orientation:landscape){.project-kicker{font-size:1.5vw}}

/* Evidence-based diagrams use actual work thumbnails and editorial rules. */
.content-map-intro{font-size:1.05vw;line-height:1.85;color:var(--muted);margin:0 0 2vw;word-break:keep-all}
.content-map{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2vw}
.content-map-item{min-width:0;border-top:.2vw solid var(--celadon);padding-top:1.2vw}
.map-range{font-size:.75vw;line-height:1.7;color:var(--olive-ink);letter-spacing:.04vw}
.content-map-item h3{font-size:1.25vw;line-height:1.6;font-weight:500;margin:.6vw 0}
.content-map-item>p{font-size:1vw;line-height:1.8;color:var(--muted);word-break:keep-all;margin:0 0 1.3vw}
.content-map-thumbs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6vw;align-items:start}
.content-map-thumbs .work-image{margin:0;min-width:0}
.content-map-thumbs figcaption{font-size:.75vw;color:var(--muted);margin-top:.4vw}
.content-map-thumbs .zoom-hint{display:none}
.evolution-change-table{width:100%;border-collapse:collapse;table-layout:fixed;margin:2.5vw 0 3vw;text-align:left}
.evolution-change-table caption{text-align:left;font-size:.95vw;line-height:1.8;color:var(--olive-ink);padding-bottom:1vw}
.evolution-change-table th,.evolution-change-table td{font-size:1vw;line-height:1.8;vertical-align:top;padding:1.1vw 1vw;border-bottom:.069444vw solid var(--line);word-break:keep-all;overflow-wrap:anywhere}
.evolution-change-table th{font-weight:500}
.evolution-change-table thead th{border-top:.069444vw solid var(--line)}
.evolution-change-table thead th:first-child{width:20%}
.evolution-change-table thead th:last-child{background:var(--active)}
.evolution-change-table td{color:var(--muted)}
@media(max-aspect-ratio:1/1){
 .content-map-intro{font-size:4vw;margin-bottom:6vw}
 .content-map{grid-template-columns:repeat(2,minmax(0,1fr));gap:7vw 4vw}
 .content-map-item{padding-top:3vw}
 .map-range{font-size:2.8vw;letter-spacing:.1vw}
 .content-map-item h3{font-size:4.2vw;margin:2vw 0}
 .content-map-item>p{font-size:3.6vw;margin-bottom:4vw}
 .content-map-thumbs{gap:2vw}
 .content-map-thumbs figcaption{font-size:2.8vw;margin-top:1vw}
 .evolution-change-table{margin:7vw 0 8vw}
 .evolution-change-table caption{font-size:3.2vw;padding-bottom:3vw}
 .evolution-change-table th,.evolution-change-table td{font-size:3.5vw;line-height:1.75;padding:3vw 2vw}
}
@media(pointer:coarse) and (orientation:landscape){
 .content-map{grid-template-columns:repeat(2,minmax(0,1fr))}
 .map-range,.content-map-thumbs figcaption{font-size:1.5vw}
 .content-map-item h3{font-size:2.3vw}.content-map-item>p,.content-map-intro{font-size:1.8vw}
 .evolution-change-table th,.evolution-change-table td{font-size:1.8vw}
 .evolution-change-table caption{font-size:1.6vw}
}

/* Editorial case studies: image and contribution are visible together. */
.case-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:5vw;align-items:center;padding:2.5vw 0 3.5vw}
.case-hero .detail-heading{padding:0;min-width:0}
.process-case .case-hero .detail-title{margin:2.5vw 0 0;max-width:none}
.case-hero .detail-title h1{font-size:3.3vw;line-height:1.2;letter-spacing:-.1vw;overflow-wrap:anywhere;margin:1.2vw 0 1.6vw}
.amazon-case .case-hero .detail-title>.case-headline{font-size:1.35vw;line-height:1.75;color:var(--ink);margin:0}
.process-case .case-hero .product-cover{background:transparent;min-width:0}
.process-case .case-hero .product-cover .work-image{width:100%}
.hero-facts{display:grid;gap:.8vw;margin:2.2vw 0;padding-top:1.4vw;border-top:.069444vw solid var(--line)}
.hero-facts>div{display:grid;grid-template-columns:5vw minmax(0,1fr);gap:1.4vw}
.hero-facts dt{font-size:.85vw;line-height:1.8;color:var(--muted)}
.hero-facts dd{font-size:1vw;line-height:1.8;margin:0;word-break:keep-all;overflow-wrap:anywhere}
.work-jump{display:inline-flex;align-items:center;font-size:1vw;padding:.5vw 0}
.case-context{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:7vw;padding:4vw 0;border-bottom:.069444vw solid var(--line)}
.case-context>div{min-width:0}
.case-context .case-block-label{margin-bottom:1.6vw}
.case-context .case-block-label h2{font-size:1.7vw;margin:.6vw 0}
.case-context p{font-size:1.15vw;line-height:1.85;word-break:keep-all;color:var(--muted);margin:0}
.case-context h3{font-size:1.15vw;font-weight:500;line-height:1.6;margin:1.4vw 0 .5vw}
.case-context .support-copy{max-width:none;margin:0}
.case-context .support-copy h3:first-child{margin-top:0}
.case-context .support-copy>p{font-size:1.15vw;margin:0 0 1vw}
.context-role{border-left:.069444vw solid var(--line);padding-left:3vw}
.featured-copy .project-focus,.amazon-project-info .project-focus{color:var(--ink);line-height:1.65;margin:.8vw 0}
.amazon-project-info .index-role{color:var(--olive-ink);margin-top:.8vw}
.content-map-thumbs:has(>.work-image:only-child){grid-template-columns:minmax(0,1fr)}
@media(max-aspect-ratio:1/1){
 .case-hero{grid-template-columns:minmax(0,1fr);gap:6vw;padding:3vw 0 7vw}
 .process-case .case-hero .detail-title{margin:6vw 0 0}
 .case-hero .detail-title h1{font-size:8.2vw;line-height:1.2;letter-spacing:-.25vw;margin:3vw 0 4vw}
 .amazon-case .case-hero .detail-title>.case-headline{font-size:4.4vw}
 .hero-facts{gap:2vw;margin:5vw 0;padding-top:4vw}
 .hero-facts>div{grid-template-columns:17vw minmax(0,1fr);gap:3vw}
 .hero-facts dt{font-size:3.2vw}.hero-facts dd{font-size:3.8vw}
 .work-jump{font-size:3.8vw;padding:2.5vw 0;min-height:11.3vw}
 .case-context{grid-template-columns:minmax(0,1fr);gap:7vw;padding:9vw 0}
 .case-context .case-block-label{margin-bottom:4vw}
 .case-context .case-block-label h2{font-size:5.6vw;margin:2vw 0}
 .case-context p,.case-context .support-copy>p{font-size:4.1vw}
 .case-context h3{font-size:4.2vw;margin:5vw 0 2vw}
 .case-context .support-copy>p{margin-bottom:4vw}
 .context-role{border-left:0;border-top:.069444vw solid var(--line);padding:7vw 0 0}
 .featured-copy .project-focus,.amazon-project-info .project-focus{font-size:3.4vw;margin:2vw 0}
 .amazon-project-info .index-role{margin-top:2vw}
}
@media(pointer:coarse) and (orientation:landscape){
 .case-hero{gap:3vw}.case-hero .detail-title h1{font-size:3.8vw}
 .amazon-case .case-hero .detail-title>.case-headline{font-size:2vw}
 .hero-facts dt{font-size:1.5vw}.hero-facts dd,.work-jump{font-size:1.7vw}
 .hero-facts>div{grid-template-columns:8vw minmax(0,1fr)}
 .case-context p,.case-context .support-copy>p{font-size:1.9vw}
 .case-context h3{font-size:2vw}.case-context .case-block-label h2{font-size:2.6vw}
}
/* Keep the opening composition within a typical desktop viewport. */
@media(min-aspect-ratio:1001/1000) and (pointer:fine){
 .process-case>.category-navigation{padding:.4vw 0;margin:.7vw 0 1vw}
 .case-hero{padding:1.5vw 0 2.5vw;gap:4vw;align-items:start}
 .case-hero .detail-title h1{font-size:2.9vw}
 .process-case .case-hero .detail-title{margin:1.5vw 0 0}
 .process-case .case-hero .product-cover .work-image{width:min(100%,34vw)}
 .hero-facts{margin:1.5vw 0;padding-top:1vw}
}

/* A white canvas, warm profile section, and small functional colour accents. */
.website-comparison{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.36fr);gap:3vw;align-items:start}
.process-case .website-comparison>.work-group{min-width:0;margin-bottom:0}
@media(max-aspect-ratio:1/1){
 .website-comparison{grid-template-columns:minmax(0,1fr);gap:7vw}
 .website-comparison-mobile{width:100%;max-width:72vw;margin-inline:auto}
}
.project-live{padding:1.6vw 0 2vw;border-top:.069444vw solid var(--line)}
.project-live-links{display:flex;flex-wrap:wrap;gap:1vw 2vw}
.project-live p{max-width:60vw;margin:1.2vw 0 0;color:var(--muted);font-size:1vw;line-height:1.8;word-break:keep-all}
.external-link-note{font-size:.8vw;color:var(--muted);margin-left:.3vw}
.case-related{display:grid;grid-template-columns:1fr 3fr;gap:2vw;padding:2vw 0;border-top:.069444vw solid var(--line)}
.case-related>.eyebrow{color:var(--olive-ink)}
.case-related>div{display:flex;flex-direction:column;align-items:flex-start;gap:1vw;min-width:0}
.case-related .text-link{white-space:normal;overflow-wrap:anywhere}
@media(max-aspect-ratio:1/1){
 .project-live{padding:5vw 0 6vw}
 .project-live-links{gap:3vw 5vw}
 .project-live p{max-width:none;font-size:3.6vw;margin-top:4vw}
 .external-link-note{font-size:2.8vw;margin-left:1vw}
 .case-related{grid-template-columns:1fr;gap:4vw;padding:6vw 0}
 .case-related>div{gap:4vw}
}
@media(pointer:coarse) and (orientation:landscape){
 .project-live p{font-size:1.8vw}
 .external-link-note{font-size:1.5vw}
}
::selection{background:var(--butter-yellow);color:var(--ink)}
.intro-emphasis{color:var(--deep-olive);text-decoration:underline;text-decoration-color:var(--butter-yellow);text-decoration-thickness:.32vw;text-underline-offset:.38vw;text-decoration-skip-ink:none}
.intro-copy{color:var(--ink)}
.intro-secondary{color:var(--muted)}
.header nav a.current{color:var(--olive-ink);text-decoration:underline;text-decoration-color:var(--butter-yellow);text-decoration-thickness:.2vw;text-underline-offset:.6vw}
.project-number{display:inline-flex;align-items:center;justify-content:center;min-width:1.8vw;min-height:1.8vw;background:var(--butter-yellow);color:var(--ink)}
.project-row.active .project-number{background:var(--butter-yellow);color:var(--ink)}
.project-row.active .work-list-link{color:var(--ink)}
.project-kicker{display:inline-block;background:var(--warm-ivory);color:var(--olive-ink);padding:.2vw .5vw;margin-bottom:.65vw}
.amazon-project-info>.eyebrow{display:inline-block;padding:.3vw .55vw;background:var(--butter-yellow);color:var(--ink)}
.text-link:hover,.text-link:focus-visible{color:var(--ink);background:var(--hover-accent);border-color:var(--deep-olive)}
.category-navigation a{padding:.6vw .65vw}
.category-navigation a:hover{color:var(--ink);background:var(--soft-celadon)}
.about{margin:0;padding:4.5vw 3.3vw 5.5vw;background:var(--warm-ivory);border-top:.069444vw solid var(--line)}
.about .section-label,.contact .section-label{color:var(--olive-ink)}
.about h2{color:var(--ink)}
.expertise{color:var(--olive-ink)}
.case-nav a:hover,.case-nav a:focus-visible{color:var(--ink);background:var(--soft-celadon)}
.work-disclosure[open]>summary{background:var(--soft-celadon);color:var(--ink)}
.work-disclosure>summary:hover{background:var(--hover-accent);color:var(--ink)}
.context-role{border-left-color:var(--celadon)}
@media(max-aspect-ratio:1/1){
 .intro-emphasis{text-decoration-thickness:1vw;text-underline-offset:1.2vw}
 .header nav a.current{text-decoration-thickness:.55vw;text-underline-offset:1.5vw}
 .project-number{min-width:5.7vw;min-height:5.7vw}
 .project-kicker{padding:.7vw 1.5vw;margin-bottom:2vw}
 .amazon-project-info>.eyebrow{padding:1vw 1.7vw}
 .featured-copy p,.featured-copy .featured-role,.amazon-project-info p{font-size:3.6vw;line-height:1.75}
 .featured-copy .project-focus,.amazon-project-info .project-focus{font-size:3.8vw}
 .category-navigation a{padding:2vw 1.5vw}
 .about{margin:0;padding:9vw 6vw 11vw;gap:6vw}
 .content-map-item{border-top-width:.6vw}
 .context-role{border-top-color:var(--celadon)}
}
@media(pointer:coarse) and (orientation:landscape){
 .project-number{min-width:3vw;min-height:3vw}
 .project-kicker{padding:.4vw .8vw}
 .about{padding:6vw 3.3vw}
}

/* Adjacent sections share one divider instead of two parallel rules. */
.amazon-case :is(.case-context,.case-block):has(+ :is(.case-final,.outcome-block,.case-related)){border-bottom:0}
.work-disclosure+.work-disclosure{border-top:0;margin-top:0}
.decision-row:has(+ .work-disclosure){border-bottom:0;margin-bottom:0}

/* Short celadon rules distinguish major sections from disclosure rows. */
.amazon-case .case-final{position:relative;border-top:0}
.amazon-case .case-final::before{content:'';position:absolute;inset:0 auto auto 0;width:4vw;border-top:.2vw solid var(--celadon)}
@media(max-width:700px){
 .amazon-case .case-final::before{width:12vw;border-top-width:.6vw}
}

/* Gallery narrative: questions and content roles, without repeated thumbnails. */
.gallery-flow{gap:2.4vw}
.gallery-flow .content-map-item{position:relative;border-top:0;padding-top:0}
.flow-step{display:inline-flex;align-items:center;justify-content:center;min-width:2.2vw;min-height:2.2vw;padding:.25vw .55vw;margin-bottom:1.2vw;background:var(--butter-yellow);font-size:1vw;color:var(--ink)}
.gallery-flow .content-map-item:not(:last-child)::after{content:'→';position:absolute;right:-1.8vw;top:0;font-size:1.1vw;color:var(--olive-ink)}
.gallery-flow .content-map-item h3{margin:0 0 .8vw;font-size:1.3vw}
.gallery-flow .content-map-item .flow-question{color:var(--ink);font-weight:500;margin:0 0 .6vw}
.gallery-flow .map-range{display:block;margin-top:1.2vw}
.flow-goal{margin:2.4vw 0 0;padding:1.2vw 0 1.2vw 1.3vw;border-left:.2vw solid var(--celadon);font-size:1.05vw;line-height:1.85;color:var(--muted);max-width:68vw;word-break:keep-all}
@media(max-aspect-ratio:1/1){
 .gallery-flow{grid-template-columns:minmax(0,1fr);gap:7vw}
 .gallery-flow .content-map-item{padding-left:12vw;min-height:16vw}
 .flow-step{position:absolute;left:0;top:0;width:8vw;min-height:8vw;font-size:3.6vw;padding:1vw;margin:0}
 .gallery-flow .content-map-item h3{font-size:4.8vw;margin-bottom:2.2vw}
 .gallery-flow .content-map-item>p{font-size:4vw;margin-bottom:2vw}
 .gallery-flow .content-map-item .flow-question{margin-bottom:1.5vw}
 .gallery-flow .map-range{font-size:3vw;margin-top:2vw}
 .gallery-flow .content-map-item:not(:last-child)::after{content:'↓';left:2.4vw;right:auto;top:auto;bottom:-5.5vw;font-size:4vw}
 .flow-goal{max-width:none;font-size:4vw;margin-top:8vw;padding:3vw 0 3vw 4vw;border-left-width:.6vw}
}

/* Final PDP galleries use a compact, three-column image index. */
.gallery-three-column{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.4vw 1.6vw;align-items:start}
.gallery-tile{min-width:0}
.gallery-tile .work-image{width:100%;margin:0}
.gallery-tile-copy{margin-top:1.1vw}
.gallery-tile .gallery-tile-copy h3{font-size:1.05vw;line-height:1.6;margin:0 0 .5vw}
.gallery-tile-copy p{font-size:.95vw;line-height:1.8;color:var(--muted);margin:0;word-break:keep-all}
@media(max-aspect-ratio:1/1){
 .gallery-three-column{grid-template-columns:repeat(2,minmax(0,1fr));gap:6vw 3vw}
 .gallery-tile-copy{margin-top:3vw}
 .gallery-tile .gallery-tile-copy h3{font-size:3.5vw;margin-bottom:1.5vw}
 .gallery-tile-copy p{font-size:3.2vw}
}
.aplus-flow{margin:0 0 3vw}
.aplus-flow>h3{margin-bottom:1vw}
.aplus-adaptation{font-size:1.05vw;line-height:1.85;color:var(--muted);margin:1.4vw 0 0;max-width:68vw;word-break:keep-all}
@media(max-aspect-ratio:1/1){
 .aplus-flow{margin-bottom:8vw}
 .aplus-flow>h3{margin-bottom:3vw}
 .aplus-adaptation{font-size:4vw;margin-top:4vw;max-width:none}
}

/* Preserve native asset size; large originals shrink to the available width. */
.native-media .work-image{width:fit-content;max-width:100%;margin-inline:auto}
.native-media .work-image-frame img{width:auto;max-width:100%;height:auto}
.native-media .image-open{max-width:100%}

/* Stored Brand Store assets form an explicitly labelled editorial reconstruction. */
.store-composition{max-width:72vw;margin-inline:auto;display:grid;gap:.5vw}
.store-composition-row{display:grid;grid-template-columns:repeat(var(--store-columns),minmax(0,1fr));gap:.5vw;align-items:start}
.store-composition-row .work-image{width:100%;max-width:none;margin:0}
.store-composition-row .work-image-frame img{width:100%;height:auto}
.store-composition-row .zoom-hint{display:none}
.work-group>.store-composition-label{font-size:.9vw;color:var(--olive-ink);margin-bottom:1.2vw}
.store-composition~.evidence-note{max-width:72vw;margin:1.4vw auto 0}
@media(max-aspect-ratio:1/1){
 .store-composition{max-width:100%;gap:1vw}
 .store-composition-row{gap:1vw}
 .work-group>.store-composition-label{font-size:3.2vw;margin-bottom:3vw}
 .store-composition~.evidence-note{max-width:none;margin-top:3vw}
}

/* Persistent global navigation and compact project section links. */
:root{--sticky-header-height:calc(100 * var(--vw-unit));--sticky-section-height:0vw}
html{scroll-padding-top:calc(var(--sticky-header-height) + var(--sticky-section-height) + 1.6vw)}
.header{position:sticky;top:0;z-index:40;background:var(--white)}
.header::before{content:'';position:absolute;inset:0 -3.3vw;z-index:-1;background:var(--white)}
.case-nav{position:sticky;top:var(--sticky-header-height);z-index:30;background:var(--white);flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;gap:1.8vw;padding:1vw 0;scrollbar-width:thin}
.case-nav a{flex:0 0 auto;white-space:nowrap;border-bottom:.14vw solid transparent}
.case-nav a[aria-current="location"]{color:var(--ink);background:var(--hover-accent);border-bottom-color:var(--deep-olive)}
.skip{z-index:100}
@media(max-aspect-ratio:1/1){
 .case-nav{gap:4vw;padding:2vw 0;font-size:3.4vw}
 .case-nav a{padding:2.5vw 1.5vw;border-bottom-width:.4vw}
 .case-nav a[aria-current="location"]{border-bottom-width:.4vw}
}

/* Compact the persistent controls after leaving the top of the page. */
.header{transition:height .16s ease}
.header.is-compact{height:calc(56 * var(--vw-unit))}
.case-nav{padding:.35vw 0}
.case-nav a{padding:.35vw .4vw}
@media(max-aspect-ratio:1/1){
 .header.is-compact{height:calc(54 * var(--vw-unit))}
 .case-nav{padding:.7vw 0;gap:3vw}
 .case-nav a{padding:1.8vw 1.2vw;min-height:9.5vw}
}

/* Lighter, slimmer navigation while browsing work. */
.product-work-link{display:inline-block;margin:0 0 1.8vw;white-space:normal}
@media(max-aspect-ratio:1/1){.product-work-link{margin-bottom:5vw}}
.header.is-compact{height:calc(44 * var(--vw-unit));background:transparent}
.header.is-compact::before{background:rgba(255,255,255,.88)}
.header.is-compact .wordmark{font-size:calc(18 * var(--vw-unit))}
.header.is-compact nav a{padding:calc(6 * var(--vw-unit)) 0}
.case-nav{padding:.15vw 0;background:rgba(255,255,255,.9)}
.case-nav a{padding:.25vw .4vw}
@media(max-aspect-ratio:1/1){
 .header.is-compact{height:calc(46 * var(--vw-unit))}
 .header.is-compact .wordmark{font-size:calc(17 * var(--vw-unit))}
 .case-nav{padding:.4vw 0}
 .case-nav a{padding:1.2vw 1vw;min-height:8.2vw}
}
