@font-face{font-family:'Manrope';font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/manrope-700.ttf') format('truetype')}
:root{--paper:#fcfcfa;--dark:#111210;--ink:#252820;--orange:#ff673f;--serif:'Fraunces',Georgia,serif;--sans:'Instrument Sans',Arial,sans-serif;--gutter:clamp(20px,4vw,64px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:400 18px/1.5 var(--sans)}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;border:0;border-radius:0;background:transparent}button:disabled{opacity:.35;cursor:default}img{display:block;max-width:100%;height:auto}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500}h1,h2,.display{font-family:var(--serif);font-variation-settings:'opsz' 144,'SOFT' 0,'WONK' 0;letter-spacing:-.035em;line-height:1.02}h3{line-height:1.2}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid currentColor;outline-offset:6px}button:focus-visible{position:relative;z-index:2}[hidden]{display:none!important}::selection{background:#dae5a5;color:#111210}.skip-link{position:fixed;top:-100px;left:20px;background:white;color:black;z-index:100;padding:12px}.skip-link:focus{top:12px}.site-header{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:25px var(--gutter);background:var(--paper);color:var(--ink);font-size:15px}.wordmark{font-weight:600;white-space:nowrap}.wordmark span{display:block;font-size:12px;font-weight:400;color:#62685e;margin-top:3px}.site-header nav{display:flex;align-items:center;gap:clamp(18px,2.4vw,40px)}.site-header nav a{padding:10px 0;white-space:nowrap;border-bottom:1px solid transparent}.site-header nav a:hover{border-color:currentColor}.site-footer{display:flex;align-items:center;gap:30px;flex-wrap:wrap;background:var(--dark);color:#f2f0e7;padding:28px var(--gutter);font-size:14px}.site-footer>span{margin-right:auto;color:#b6b9ae}.eyebrow{font-size:14px;letter-spacing:.08em;text-transform:uppercase}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:50px;border-bottom:1px solid currentColor;padding:12px 0;min-height:44px}.text-link>span{font-size:25px}.entrance{position:fixed;inset:0;z-index:50;background:var(--dark);color:#f2f0e7;display:flex;flex-direction:column;justify-content:space-between;padding:28px var(--gutter);overflow:auto;transition:transform 320ms ease-in-out}.entrance.leaving{transform:translateY(-100%)}.entrance-top,.entrance-bottom{display:flex;justify-content:space-between;gap:24px;font-size:14px}.entrance-enter{width:min(100%,1120px);margin:auto;text-align:left;padding:36px 0;color:var(--orange)}.entrance-name{font:500 clamp(100px,17vw,250px)/.83 var(--serif);font-variation-settings:'opsz' 144,'SOFT' 0,'WONK' 0;letter-spacing:-.065em;display:block}.entrance-name>span{display:block;margin-left:20%}.entrance-name>.entrance-first{margin-left:0;position:relative;top:-.08em}.entrance-action{display:flex;align-items:center;justify-content:space-between;margin-top:48px;padding-top:16px;border-top:1px solid #ff673f77;font-size:18px}.entrance-action>span{font-size:34px}.entrance-bottom{align-items:end}.entrance-bottom>span:last-child{text-align:right}.work-heading{display:flex;justify-content:space-between;align-items:end;padding:32px var(--gutter) 36px;gap:24px}.work-heading h1{font-size:clamp(32px,4.2vw,64px)}.work-heading p{font-size:16px}.project-slide{background:var(--field);color:var(--ink);padding:24px var(--gutter) 45px}.project-kicker{display:flex;justify-content:space-between;gap:20px;font-size:14px}.project-slide h2{font-size:clamp(78px,12.8vw,190px);margin:16px 0 30px;line-height:.96}.project-stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.1fr);align-items:end;gap:40px}.project-description{font-size:clamp(24px,2.7vw,40px);line-height:1.16;max-width:18ch}.project-scope{max-width:28ch;font-size:15px;margin-top:18px}.project-intro .text-link{margin-top:24px;font-size:16px}.project-art{display:flex;gap:20px;justify-content:center;align-items:center;height:clamp(260px,29vw,430px);min-width:0}.project-art img{width:100%;height:100%;object-fit:contain}.project-art.paired img{width:calc(50% - 10px)}.project-art.paired img:first-child{transform:translateY(-10px)}.project-art:hover{filter:brightness(1.03)}.project-navigation{background:var(--dark);color:#f2f0e7;padding:0 var(--gutter)}.project-index{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px}.index-item{display:flex;align-items:center;border-top:3px solid transparent}.index-item:has(button[aria-pressed=true]){border-color:var(--selection-ink,#dae5a5);color:var(--selection-ink,#dae5a5)}.index-item button{display:flex;flex:1;flex-direction:column;align-items:start;gap:10px;font-size:23px;padding:20px 0;min-width:0}.index-item button>span{font-size:13px}.index-item>a{font-size:26px;padding:12px}.sequence-controls{display:flex;justify-content:end;align-items:center;gap:22px;border-top:1px solid #ffffff26;padding:8px 0 14px;font-size:14px}.sequence-controls button{font-size:25px;min-width:44px;min-height:44px}.campus{background:var(--dark);color:#f2f0e7}.section-title{padding:95px var(--gutter) 45px}.section-title h2{font-size:clamp(54px,8vw,115px);margin:14px 0 20px}.section-title p{max-width:37ch}.campus-group{padding:32px var(--gutter) 28px}.navarasa{background:#152d41}.artha{background:#e0e6cc;color:#242820}.collection-header{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:38px}.collection-header h3{font:500 36px var(--serif);letter-spacing:-.03em}.collection-header>span{font-size:14px}.poster-row{display:flex;justify-content:center;align-items:center;gap:clamp(20px,4vw,65px);padding:0 4%;height:490px}.poster-row .image-button{height:100%;max-width:33%;flex:1}.poster-row.three .image-button:last-child{height:77%}.poster-row.two .image-button{max-width:45%}.poster-row.two .image-button:last-child{height:85%}.image-button{position:relative;display:block;min-width:0;padding:0}.image-button img{height:100%;width:100%;object-fit:contain}.zoom-label{position:absolute;right:8px;bottom:8px;padding:6px 10px;background:#111210;color:white;font-size:12px;opacity:0;transition:opacity 150ms}.image-button:hover .zoom-label,.image-button:focus-visible .zoom-label{opacity:1}.collection-caption{display:flex;justify-content:space-between;gap:30px;border-top:1px solid #ffffff33;padding-top:20px;margin-top:35px;font-size:14px}.collection-caption>p{max-width:40ch}.artha .collection-caption{border-color:#24282033}.about-teaser{padding:90px var(--gutter);background:#dae5a5;color:#22291b}.about-teaser h2{font-size:clamp(60px,9vw,140px);margin:24px 0 26px}.contact-block{padding:65px var(--gutter);background:#ff825f;color:#241810}.contact-block h2{font-size:clamp(60px,8.5vw,128px);margin:25px 0 50px}.contact-bottom{display:flex;gap:45px;align-items:end;justify-content:space-between}.contact-bottom p{max-width:45ch;font-size:17px}.email-link{font-size:clamp(20px,2.4vw,36px);border-bottom:1px solid currentColor;padding-bottom:8px;overflow-wrap:anywhere}.image-dialog{max-width:100vw;max-height:100dvh;width:100vw;height:100dvh;border:0;padding:0;background:#111210;color:#f2f0e7}.image-dialog[open]{display:flex;flex-direction:column}.image-dialog::backdrop{background:#111210ee}.dialog-top,.dialog-bottom{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:18px 28px;font-size:15px}.dialog-top p{max-width:70ch}.dialog-top button,.dialog-bottom button{padding:10px;min-height:44px;flex-shrink:0}.detail-scroll{flex:1;overflow:auto;min-height:0;display:flex;align-items:start;justify-content:center;padding:12px 24px}.detail-scroll img{max-height:100%;width:auto;max-width:100%;object-fit:contain;margin:auto}.not-found{min-height:70vh;padding:90px var(--gutter);background:#dae5a5}.not-found h1{font-size:clamp(60px,10vw,150px);margin:30px 0}
@media(min-width:801px){.enhanced .project-slide:not(.is-active){display:none}.enhanced .project-slide.is-active{animation:appear 220ms ease-out}}@keyframes appear{from{opacity:.7}to{opacity:1}}
@media(max-width:1000px){.site-header{align-items:start}.wordmark span{max-width:19ch;white-space:normal}.site-header nav{gap:18px;flex-wrap:wrap;justify-content:end}.project-stage{gap:25px}.contact-bottom{display:block}.email-link{display:inline-block;margin-top:35px}.poster-row{height:380px}.index-item button{font-size:20px}}
@media(max-width:800px){.site-header{padding-block:20px;gap:20px;flex-wrap:wrap}.site-header nav{width:100%;justify-content:space-between;gap:12px;font-size:14px}.wordmark span{max-width:none}.work-heading{padding-block:25px;align-items:start}.work-heading p{font-size:14px}.project-slide{padding-top:20px;padding-bottom:32px}.project-slide h2{font-size:clamp(67px,13vw,110px);margin-block:22px}.project-stage{grid-template-columns:1fr}.project-art{grid-row:1;height:clamp(250px,54vw,400px)}.project-description{max-width:25ch}.project-scope{max-width:45ch}.project-intro .text-link{margin-top:12px}.project-kicker{font-size:12px}.project-kicker>span:last-child{max-width:24ch;text-align:right}.project-navigation{display:none}.section-title{padding-top:65px}.collection-header{align-items:start;flex-direction:column;gap:8px;margin-bottom:28px}.poster-row{height:auto;display:grid;grid-template-columns:1fr 1fr;gap:26px;padding:0}.poster-row .image-button,.poster-row.two .image-button,.poster-row.three .image-button:last-child{height:310px;max-width:100%}.poster-row.three .image-button:last-child{grid-column:1/-1;width:50%;justify-self:center;height:250px}.poster-row.two .image-button:last-child{height:260px}.collection-caption{flex-direction:column;gap:12px}.entrance-name{font-size:clamp(90px,20vw,160px)}.entrance-top>span:nth-child(2){display:none}.entrance-top,.entrance-bottom{font-size:13px}.entrance-enter{padding-block:40px}.entrance-action{margin-top:38px}.site-footer{gap:18px}.site-footer>span{width:60%;margin-right:0}}
@media(max-width:480px){.site-header nav{gap:8px;font-size:13px}.nav-arrow{display:none}.work-heading{display:block}.work-heading p{margin-top:14px}.work-heading p br{display:none}.project-slide h2{font-size:19vw}.project-art{height:240px;gap:12px}.project-art.paired img{width:calc(50% - 6px)}.poster-row .image-button,.poster-row.two .image-button{height:230px}.poster-row.two .image-button:last-child{height:210px}.poster-row.three .image-button:last-child{height:210px}.contact-block{padding-block:45px}.contact-block h2{font-size:15vw}.dialog-top{align-items:start;padding:14px}.dialog-top p{font-size:13px}.dialog-bottom{padding:12px;font-size:13px}.detail-scroll{padding:0 10px}.entrance-name{font-size:24vw}.entrance-name>span{margin-left:15%}.entrance-action{font-size:16px}.site-footer>span{width:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
/* Case studies: full-width fields, intentionally bounded documents. */
.case-hero{background:var(--field);color:var(--ink);padding:32px var(--gutter) 40px}.case-back{font-size:14px;padding:8px 0;display:inline-block}.case-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:32px 0 20px}.case-heading h1{font-size:clamp(80px,13vw,185px)}.case-heading>span{font-size:14px;padding-bottom:10px}.case-deck{font-size:clamp(26px,3.4vw,48px);line-height:1.2;max-width:27ch;margin-bottom:45px}.case-facts{display:grid;grid-template-columns:1.3fr 1.2fr 1.1fr .4fr;gap:30px;border-top:1px solid currentColor;padding-top:20px;margin:0;font-size:15px}.case-facts dt{font-size:12px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:9px}.case-facts dd{margin:0}.gallery{background:var(--gallery);color:#242820;position:relative}.gallery-frame{margin:0}.gallery-images{height:clamp(300px,43vw,590px);padding:36px max(var(--gutter),7vw);display:flex;justify-content:center;align-items:center;gap:clamp(16px,4vw,60px)}.gallery-images>.image-button{height:100%;width:100%;min-width:0}.gallery-images.pair>.image-button{width:calc(50% - 20px)}.gallery-frame.wide .gallery-images{height:auto;aspect-ratio:1.8;padding:0 3vw}.gallery-frame.wide .image-button{height:100%;width:100%}.gallery-frame.labels .gallery-images{height:550px;flex-direction:column;padding:24px 8vw;gap:18px}.gallery-frame.labels .gallery-images>.image-button{width:100%;height:calc(50% - 9px)}.gallery-frame figcaption{padding:20px var(--gutter);font-size:14px;max-width:95ch}.gallery-controls{display:flex;align-items:center;justify-content:flex-end;padding:0 var(--gutter) 15px;gap:20px;font-size:14px}.gallery-controls button{font-size:25px;min-width:44px;min-height:44px}.story{display:grid;grid-template-columns:1fr 1.15fr;gap:8vw;padding:75px var(--gutter);background:var(--paper);color:#252820}.story h2{font-size:clamp(40px,4.4vw,68px);margin-top:20px}.story-copy{max-width:58ch;padding-top:5px}.story-copy p+p{margin-top:20px}.case-pagination{padding:35px var(--gutter) 50px;background:var(--dark);color:#f2f0e7}.case-pagination>div{display:flex;justify-content:space-between;gap:20px;font-size:14px}.next-project{display:flex;justify-content:space-between;align-items:center;gap:20px;font:500 clamp(50px,8vw,120px)/1.1 var(--serif);letter-spacing:-.04em;margin-top:38px}.minimal-arrow{display:inline-flex;width:clamp(30px,4vw,64px);height:clamp(30px,4vw,64px);flex:0 0 auto}.minimal-arrow svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:square;stroke-linejoin:miter}
/* About: the portrait has its own track; biography never overlaps it. */
.about-hero{background:#121612;color:#f2f0e7;padding:35px var(--gutter) 65px}.about-heading h1{font-size:clamp(70px,13.7vw,210px);color:#dae5a5;margin:16px 0 35px;line-height:.95}.about-composition{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.8fr) minmax(0,1fr);gap:clamp(24px,2.5vw,40px);align-items:center}.portrait-stage{position:relative;background:#dae5a5;overflow:hidden;isolation:isolate;padding:15px 0 0;min-width:0}.portrait-stage img{position:relative;z-index:1;width:100%;max-width:100%;height:auto}.portrait-type{position:absolute;inset:0;overflow:hidden;font:600 clamp(60px,8vw,120px)/1.08 var(--sans);letter-spacing:-.04em;color:#63713b;opacity:.36;pointer-events:none;white-space:nowrap;transform:rotate(-6deg) scale(1.08);transform-origin:center}.about-side{font-size:clamp(16px,1.35vw,20px);line-height:1.4;display:flex;flex-direction:column;gap:35px}.about-side .eyebrow{font-size:12px;color:#b7bfab;display:block;margin-bottom:12px;letter-spacing:.06em}.about-side .text-link{font-size:15px;gap:15px}.about-introduction{background:#f2f0e7;padding:70px var(--gutter);display:grid;grid-template-columns:1.2fr 1fr;gap:7vw;align-items:center}.about-introduction h2{font-size:clamp(45px,5.2vw,82px)}.about-introduction>p{max-width:48ch;font-size:clamp(18px,1.65vw,24px)}.experience{background:#121612;color:#f2f0e7;padding:70px var(--gutter)}.experience-heading{display:flex;justify-content:space-between;gap:35px;align-items:start;margin-bottom:50px}.experience-heading h2{font-size:clamp(40px,5vw,75px);width:65%}.experience-list{border-top:1px solid #f2f0e740}.experience-row{display:grid;grid-template-columns:.55fr 2fr 1.1fr 30px;gap:25px;padding:30px 0;border-bottom:1px solid #f2f0e740;align-items:start;transition:color 150ms}.experience-row:hover{color:#dae5a5}.experience-year,.experience-role{font-size:14px}.experience-row h3{font:500 35px var(--serif);margin-bottom:8px;letter-spacing:-.03em}.experience-row p{font-size:15px}.experience-row div>span{font-size:13px;color:#b7bfab;display:block;margin-top:8px}.recognition{display:flex;gap:45px;margin-top:50px;align-items:start}.recognition p{font-size:20px}.recognition p>span{font-size:15px;color:#b7bfab}.detail-scroll.is-zoomed{display:block}.detail-scroll.is-zoomed img{max-height:none;max-width:none;width:2000px;height:auto;margin:0}.dialog-zoom{margin-left:auto}.dialog-bottom button[aria-pressed=true]{text-decoration:underline;text-underline-offset:5px}
@media(max-width:1000px){.about-composition{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}.about-side.right{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:15px}.portrait-type{font-size:10vw}.experience-row{grid-template-columns:.5fr 2fr 1fr 20px;gap:18px}}
@media(max-width:800px){.case-facts{grid-template-columns:1fr 1fr;gap:25px}.case-heading{margin-top:25px}.case-heading h1{font-size:14vw}.case-deck{margin-bottom:30px}.story{grid-template-columns:1fr;gap:25px;padding-block:45px}.story h2{font-size:48px}.story-copy{max-width:65ch}.gallery-images{height:360px;padding:25px var(--gutter);gap:18px}.gallery-images.pair>.image-button{width:calc(50% - 9px)}.gallery-frame.wide .gallery-images{aspect-ratio:1.55}.gallery-frame.labels .gallery-images{height:400px;padding:15px}.about-introduction{grid-template-columns:1fr;gap:25px;padding-block:50px}.experience-heading{flex-direction:column;gap:20px}.experience-heading h2{width:100%}.experience-row{grid-template-columns:55px 1fr 24px;gap:18px}.experience-role{grid-column:2;grid-row:2}.experience-row>span:last-child{grid-column:3;grid-row:1}.recognition{flex-direction:column;gap:15px}.dialog-zoom{font-size:12px}}
@media(max-width:520px){.about-hero{padding-bottom:40px}.about-heading h1{font-size:17vw;margin-bottom:25px}.about-composition{display:flex;flex-direction:column;gap:30px;align-items:stretch}.portrait-stage{order:-1}.portrait-type{font-size:18vw}.about-side.left{display:grid;grid-template-columns:1fr 1fr;gap:25px}.about-side.left .text-link{grid-column:1/-1;justify-self:start}.about-side.right{display:flex;gap:25px}.about-side.right>div{max-width:35ch}.about-side{font-size:18px}.gallery-images{height:300px;padding:22px 16px;gap:12px}.gallery-frame.labels .gallery-images{height:330px}.case-heading h1{font-size:17vw}.case-heading>span{font-size:12px;white-space:nowrap}.case-facts{font-size:14px}.case-facts>div{min-width:0}.story h2{font-size:42px}.story{gap:22px}.experience{padding-block:50px}.experience-row h3{font-size:30px}.next-project{font-size:14vw}.dialog-bottom{gap:8px;flex-wrap:wrap}.dialog-bottom button{font-size:12px}.dialog-bottom [data-detail-count]{font-size:12px}}

.section-title h2,.story h2,.about-introduction h2,.contact-block h2{letter-spacing:-.04em}
.entrance:focus{outline:none}

html:not(.enhanced) .gallery-controls,html:not(.enhanced) .project-navigation{display:none}

/* Experiments: every approved piece appears in one compact, uncut masonry wall. */
.experiments{background:var(--paper);color:var(--ink);padding:110px var(--gutter) 135px}
.experiments-heading{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,.45fr);gap:8vw;align-items:end;border-top:1px solid currentColor;padding-top:22px}
.experiments-heading h2{font-size:clamp(62px,8.6vw,132px);margin-top:24px}
.experiments-heading>p{max-width:34ch;font-size:16px;padding-bottom:12px}
.experiments-mosaic{columns:5;column-gap:clamp(10px,1.35vw,22px);margin-top:clamp(56px,7vw,105px)}
.experiment-item{width:100%;margin:0 0 clamp(10px,1.35vw,22px);break-inside:avoid;background:#171715;overflow:hidden;transition:transform 220ms ease,filter 220ms ease,opacity 220ms ease}
.experiment-item img{width:100%;height:auto;object-fit:contain}
.experiment-item:hover{transform:scale(.985);filter:brightness(1.06)}
.experiment-item .zoom-label{right:8px;bottom:8px}
.enhanced .experiment-item{opacity:0;transform:translateY(14px)}
.enhanced .experiment-item.is-visible{opacity:1;transform:translateY(0);transition:opacity 420ms ease,transform 420ms ease,filter 220ms ease}
.enhanced .experiment-item.is-visible:hover{transform:scale(.985)}

@media(max-width:1000px){
  .experiments{padding-block:85px 105px}
  .experiments-heading{grid-template-columns:minmax(0,1.4fr) minmax(230px,.6fr);gap:5vw}
  .experiments-mosaic{columns:4}
}
@media(max-width:800px){.experiments-mosaic{columns:3}}
@media(max-width:560px){
  .experiments{padding:70px 12px 90px}
  .experiments-heading{display:block;padding:16px 4px 0}
  .experiments-heading h2{font-size:15.5vw;margin-top:20px}
  .experiments-heading>p{margin-top:28px;font-size:15px}
  .experiments-mosaic{columns:2;column-gap:8px;margin-top:55px}
  .experiment-item{margin-bottom:8px}
  .experiment-item .zoom-label{display:none}
}

/* Dark exhibition system: a warm black ground lets the work and its project colours do the talking. */
:root{
  --paper:#0b0b0a;
  --dark:#070707;
  --ink:#f4f1e8;
  --orange:#ff5b2e;
  --muted:#aaa99f;
  --line:rgba(244,241,232,.18);
  --raised:#151513;
}
body{background:var(--paper);color:var(--ink)}
::selection{background:var(--orange);color:#070707}
a:focus-visible,button:focus-visible{outline-color:var(--orange)}
.skip-link{background:var(--orange);color:#070707}
.site-header{position:relative;z-index:10;background:var(--paper);color:var(--ink);border-bottom:1px solid var(--line)}
.wordmark span{color:var(--muted)}
.site-header nav a{border-bottom-color:transparent;transition:border-color 150ms ease,color 150ms ease}
.site-header nav a:hover{border-color:var(--orange);color:var(--orange)}
.site-footer{background:#070707;color:var(--ink);border-top:1px solid var(--line)}
.site-footer>span{color:var(--muted)}
.entrance{background:#070707;color:var(--ink)}
.entrance-enter{color:var(--orange)}
.entrance-action{border-color:color-mix(in srgb,var(--orange) 55%,transparent)}

/* Home: deep blue light softens the dark canvas behind the portfolio content. */
.home{background:#080d16}
.home .site-header{background:linear-gradient(110deg,#090d14 0%,#0d1727 54%,#0a101a 100%)}
.home .work-section{position:relative;isolation:isolate;background:radial-gradient(ellipse at 84% 8%,rgba(35,83,145,.34),transparent 38%),radial-gradient(ellipse at 22% 70%,rgba(21,53,99,.22),transparent 42%),linear-gradient(135deg,#0a0e16 0%,#0d1522 48%,#090d14 100%)}
.home .work-section::before{content:'';position:absolute;z-index:-1;inset:0;background:radial-gradient(ellipse at 68% 38%,rgba(91,142,205,.09),transparent 46%);filter:blur(24px);pointer-events:none}
.work-heading{min-height:clamp(230px,31vw,470px);padding-top:clamp(55px,9vw,140px);padding-bottom:clamp(38px,6vw,88px);align-items:end;border-bottom:1px solid var(--line)}
.work-heading h1{font-family:var(--sans);font-weight:600;font-size:clamp(68px,11.8vw,205px);line-height:.82;letter-spacing:-.07em;max-width:8ch}
.work-heading p{color:var(--muted);padding-bottom:6px}
.project-slide{position:relative;border-bottom:1px solid color-mix(in srgb,var(--ink) 28%,transparent);box-shadow:inset 0 1px 0 color-mix(in srgb,var(--ink) 12%,transparent)}
.project-slide:not(.has-project-scene){background-image:radial-gradient(ellipse at 86% 4%,rgba(54,102,166,.22),transparent 42%),radial-gradient(ellipse at 8% 88%,rgba(31,67,120,.16),transparent 40%)}
.project-slide h2{letter-spacing:-.065em}
.project-art{filter:drop-shadow(0 22px 32px rgba(0,0,0,.24))}
.project-art:hover{filter:drop-shadow(0 28px 40px rgba(0,0,0,.38)) brightness(1.06)}
.project-navigation{background:linear-gradient(110deg,#090c12,#101b2b 56%,#080c13);border-bottom:1px solid var(--line)}
.index-item{border-top-color:var(--line)}
.sequence-controls{border-color:var(--line)}

/* The experiment wall stays black so colour, typography and packaging can carry the rhythm. */
.experiments{position:relative;isolation:isolate;background:radial-gradient(ellipse at 12% 6%,rgba(34,77,132,.28),transparent 35%),radial-gradient(ellipse at 86% 48%,rgba(28,63,112,.19),transparent 42%),linear-gradient(145deg,#0a0e15 0%,#0d1521 52%,#080c13 100%);color:var(--ink);padding-top:0;border-bottom:1px solid var(--line)}
.experiments-heading{border-color:var(--line)}
.experiments-heading>p{color:var(--muted)}
.experiments-heading h2{font-family:var(--sans);font-weight:600;line-height:.83;letter-spacing:-.065em}

/* Campus is a separate chapter but remains part of the dark site. */
.campus{position:relative;isolation:isolate;background:radial-gradient(ellipse at 82% 4%,rgba(32,73,126,.24),transparent 36%),linear-gradient(145deg,#080c13 0%,#0d1520 52%,#080b11 100%);color:var(--ink)}
.section-title{padding-top:clamp(95px,12vw,180px)}
.campus>.section-title{padding-top:clamp(44px,6vw,84px)}
.section-title h2{font-family:var(--sans);font-weight:600;line-height:.84;letter-spacing:-.07em}
.section-title p{color:var(--muted)}
.navarasa{background:#10293b;border-top:1px solid rgba(190,236,231,.34)}
.artha{background:#242a19;color:#f4f1e8;border-top:1px solid rgba(217,240,139,.45)}
.artha .collection-caption{border-color:rgba(244,241,232,.25)}
.collection-caption{border-color:var(--line);color:var(--muted)}
.artha .collection-caption{color:rgba(244,241,232,.76)}

/* About and contact become deliberate high-contrast interruptions, not pale cards. */
.about-teaser{position:relative;overflow:hidden;background:#f4f1e8;color:#080808;padding-top:clamp(95px,12vw,175px)}
.about-teaser::after{content:'SCIENCE / DESIGN';position:absolute;right:-.04em;bottom:-.2em;font:600 clamp(62px,14vw,230px)/.78 var(--sans);letter-spacing:-.08em;color:rgba(0,0,0,.08);pointer-events:none;white-space:nowrap}
.about-teaser>*{position:relative;z-index:1}
.about-teaser h2{font-family:var(--sans);font-weight:600;line-height:.82;letter-spacing:-.07em;max-width:9ch}
.contact-block{background:var(--orange);color:#080808;padding-top:clamp(75px,10vw,145px);padding-bottom:clamp(70px,9vw,125px)}
.contact-block h2{font-family:var(--sans);font-weight:600;line-height:.9;letter-spacing:-.045em;max-width:10ch}
.home .site-footer{background:linear-gradient(110deg,#080c13,#111b2a 58%,#080c13)}

/* Project pages: project colour holds the cover; explanations read on a dark editorial ground. */
.case-hero{border-bottom:1px solid color-mix(in srgb,var(--ink) 32%,transparent)}
.case-heading h1{letter-spacing:-.07em}
.gallery{background:#121211;color:var(--ink);border-bottom:1px solid var(--line)}
@supports (background:color-mix(in srgb, red, black)){
  .gallery{background:linear-gradient(135deg,color-mix(in srgb,var(--field) 38%,#0b0b0a),#10100f 64%)}
}
.gallery-frame figcaption{color:var(--muted);border-top:1px solid var(--line)}
.gallery-controls{border-top:1px solid var(--line);color:var(--ink)}
.story{background:#0b0b0a;color:var(--ink);border-bottom:1px solid var(--line)}
.story .eyebrow{color:var(--muted)}
.story h2{font-family:var(--sans);font-weight:600;line-height:.87;letter-spacing:-.065em}
.story-copy{color:#d5d2ca}
.case-pagination{background:#070707;color:var(--ink);border-top:1px solid var(--line)}
.next-project{color:var(--orange)}
.case-pagination .next-project:hover{color:#f4f1e8}

/* About: the portrait stays central, now surrounded by a stronger typographic field. */
.about-hero{background:#080908;color:var(--ink);border-bottom:1px solid var(--line)}
.about-heading h1{font-family:var(--sans);font-weight:600;color:var(--orange);letter-spacing:-.08em}
.portrait-stage{background:#d9f08b;box-shadow:0 24px 60px rgba(0,0,0,.36)}
.portrait-type{color:#25351a;opacity:.48}
.about-side .eyebrow,.experience-row div>span,.recognition p>span{color:var(--muted)}
.about-introduction{background:#f4f1e8;color:#0b0b0a}
.about-introduction h2{font-family:var(--sans);font-weight:600;line-height:.86;letter-spacing:-.065em}
.experience{background:#0b0b0a;color:var(--ink)}
.experience-heading h2{font-family:var(--sans);font-weight:600;line-height:.86;letter-spacing:-.065em}
.experience-list,.experience-row{border-color:var(--line)}
.experience-row:hover{color:var(--orange)}
.not-found{background:#0b0b0a;color:var(--ink)}
.image-dialog,.image-dialog::backdrop{background:#070707}
.image-dialog{color:var(--ink)}
.dialog-top,.dialog-bottom{border-color:var(--line)}

@media(max-width:800px){
  .work-heading{min-height:0;padding-top:70px}
  .work-heading h1{font-size:clamp(58px,16vw,112px);max-width:7ch}
  .experiments-heading h2{font-size:clamp(58px,16vw,100px)}
  .about-teaser::after{font-size:27vw}
}

/* Keep interface symbols monochrome on phones that otherwise substitute emoji glyphs. */
.site-header nav a span[aria-hidden],.site-footer a,.text-link span[aria-hidden],.email-link span[aria-hidden],.entrance-action span[aria-hidden],.index-item>a,.experience-row>span[aria-hidden],.ds-live-link span[aria-hidden],.ds-open span[aria-hidden]{font-family:Arial,sans-serif;font-variant-emoji:text}
@media(max-width:560px){
  .site-header{position:static}
  .work-heading{padding-top:60px;padding-bottom:40px}
  .work-heading h1{font-size:18vw}
  .experiments{padding-top:0}
  .experiment-item{background:transparent}
  .contact-block h2{font-size:17vw}
}
@media(prefers-reduced-motion:reduce){.experiment-item,.enhanced .experiment-item,.enhanced .experiment-item.is-visible{opacity:1;transform:none;transition:none}}

/* Prakriti rebuild: shared case-study modules, introduced one approved project at a time. */
.project-slide.has-project-scene{position:relative;isolation:isolate;overflow:hidden;background:#050505}
.project-slide.has-project-scene>.project-kicker,.project-slide.has-project-scene>h2,.project-slide.has-project-scene>.project-stage{position:relative;z-index:2}
.project-slide.has-project-scene::after{content:'';position:absolute;z-index:1;inset:0;background:radial-gradient(ellipse at 12% 10%,rgba(48,94,151,.24),transparent 52%),linear-gradient(90deg,rgba(5,5,5,.96) 0%,rgba(5,5,5,.78) 30%,rgba(5,5,5,.16) 58%,rgba(5,5,5,0) 78%);pointer-events:none}
.project-scene{position:absolute;z-index:0;inset:0;background:#050505;pointer-events:none}
.project-scene img{width:100%;height:100%;object-fit:cover;object-position:right center}
.project-slide.has-project-scene .project-stage{min-height:clamp(260px,29vw,430px);display:block}
.project-slide.has-project-scene .project-intro{display:flex;min-height:inherit;width:min(42%,520px);flex-direction:column;justify-content:center}

.case-hero--compact{background:#0b0b0a;color:#f4f1e8;padding-top:24px;padding-bottom:30px;border-bottom:1px solid rgba(244,241,232,.18)}
.case-title-band{display:flex;align-items:end;justify-content:space-between;gap:24px;margin:24px 0 18px}
.case-title-band h1{font-size:clamp(66px,9vw,138px);line-height:.9}
.case-title-band>span{font-size:14px;padding-bottom:8px;white-space:nowrap}
.case-hero--compact .case-deck{font-size:clamp(22px,2.2vw,34px);margin-bottom:28px}
.case-meta-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px 34px;margin:0;padding-top:16px;border-top:1px solid rgba(244,241,232,.3)}
.case-meta-grid>div{min-width:0}
.case-meta-grid dt{font-size:11px;line-height:1.25;text-transform:uppercase;letter-spacing:.1em;color:#aaa99f;margin-bottom:7px}
.case-meta-grid dd{margin:0;font-size:14px;line-height:1.35}
.case-meta-grid>div:nth-child(6){grid-column:span 2}

.case-narrative{background:#070707}
.case-module{margin:0;width:100%;overflow:hidden}
.case-module-images{display:grid;width:100%;height:clamp(520px,61vw,920px);gap:0;align-items:stretch}
.case-module--single .case-module-images,.case-module--wide .case-module-images{grid-template-columns:1fr}
.case-module--split .case-module-images{grid-template-columns:repeat(2,minmax(0,1fr))}
.case-module--triptych .case-module-images{grid-template-columns:repeat(3,minmax(0,1fr))}
.case-module .image-button{width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden}
.case-module .image-button img{width:100%;height:100%;object-fit:contain}
.case-module--wide .image-button img{max-width:1500px}
.case-module.catalogue-cover-spread .image-button img{max-width:none;object-fit:cover;object-position:center center}
.case-module.catalogue-back-wide .image-button img{object-fit:cover;object-position:center center}
.case-theme--black{background:#050505}
.case-theme--paper{background:#f0eee7;color:#171815}
.case-module.sacks-on-white,.case-module.bottles-on-white{background:#fff}
.case-module.bottles-on-white .image-button:first-child img{transform:scale(1.1)}
.case-module.bottles-with-stickers .case-module-images{height:clamp(420px,48vw,720px)}
.case-module.bottles-with-stickers .image-button:nth-child(2) img{object-fit:cover;object-position:center center}
.case-theme--green{background:#173d2c;color:#d9f08b}
.case-module--text{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(300px,1.3fr) minmax(260px,.8fr);gap:clamp(28px,5vw,88px);align-items:end;padding:clamp(46px,6vw,88px) var(--gutter)}
.case-module--text>div{grid-column:1/3;display:grid;grid-template-columns:minmax(180px,.55fr) minmax(300px,1fr);gap:clamp(28px,5vw,88px);align-items:end}
.case-module--text h2{font-size:clamp(42px,5.2vw,80px);line-height:.95;max-width:13ch}
.case-module--text>p{max-width:38ch;font-size:16px}
.case-module.late-brand-pair .case-module-images{height:auto;aspect-ratio:3/1}

.case-details{background:#0b0b0a;color:#f4f1e8;padding:clamp(68px,9vw,132px) var(--gutter)}
.case-details-heading{display:grid;grid-template-columns:.7fr 1.2fr .75fr;gap:clamp(26px,5vw,82px);align-items:end;margin-bottom:clamp(38px,5vw,74px)}
.case-details-heading h2{font-size:clamp(48px,5.8vw,90px);line-height:.94}
.case-details-heading>p{max-width:28ch;color:#aaa99f;font-size:15px}
.case-details-grid{columns:4 240px;column-gap:8px}
.case-details-grid .image-button{display:block;width:100%;height:auto;margin:0 0 8px;break-inside:avoid;background:#151513}
.case-details-grid .image-button img{width:100%;height:auto;object-fit:contain}
.case-details-grid .zoom-label{right:0;bottom:0}
.enhanced .case-details-grid{display:grid;grid-template-columns:repeat(var(--detail-columns,4),minmax(0,1fr));gap:8px;columns:auto}
.enhanced .case-details-column{display:flex;min-width:0;flex-direction:column;gap:8px}
.enhanced .case-details-column .image-button{margin:0}

@media(max-width:1000px){
  .case-meta-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .case-meta-grid>div:nth-child(6){grid-column:span 2}
  .case-details-grid{columns:3 200px}
  .case-details-heading{grid-template-columns:.6fr 1.2fr .7fr}
}
@media(max-width:800px){
  .project-slide.has-project-scene::after{background:linear-gradient(90deg,rgba(5,5,5,.98) 0%,rgba(5,5,5,.8) 54%,rgba(5,5,5,.18) 100%)}
  .project-slide.has-project-scene .project-stage{min-height:360px}
  .project-slide.has-project-scene .project-intro{width:min(72%,500px)}
  .case-title-band{margin-top:20px}
  .case-title-band h1{font-size:clamp(62px,13vw,110px)}
  .case-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px}
  .case-module-images{height:clamp(430px,78vw,640px)}
  .case-module--text{grid-template-columns:1fr;gap:24px}
  .case-module--text>div{grid-column:auto;grid-template-columns:1fr;gap:18px}
  .case-module--text>p{max-width:54ch}
  .case-details-heading{grid-template-columns:1fr;gap:18px}
}
@media(max-width:560px){
  .project-slide.has-project-scene .project-stage{min-height:330px}
  .project-slide.has-project-scene .project-intro{width:88%}
  .project-scene img{object-position:68% center}
  .case-hero--compact{padding-bottom:24px}
  .case-title-band h1{font-size:17vw}
  .case-meta-grid{gap:17px 18px}
  .case-meta-grid>div:nth-child(6){grid-column:1/-1}
  .case-meta-grid dd{font-size:13px}
  .case-module-images{height:auto;min-height:0}
  .case-module--single .image-button,.case-module--wide .image-button{height:auto;min-height:360px}
  .case-module--single .image-button img,.case-module--wide .image-button img{height:auto;max-height:600px}
  .case-module.catalogue-cover-spread .image-button{height:min(86vw,600px);min-height:360px}
  .case-module.catalogue-cover-spread .image-button img{height:100%;max-height:none;object-fit:cover}
  .case-module--split .case-module-images,.case-module--triptych .case-module-images{grid-template-columns:1fr}
  .case-module--split .image-button,.case-module--triptych .image-button{height:min(128vw,560px)}
  .case-module.bottles-with-stickers .image-button{height:min(105vw,520px)}
  .case-module--text{padding-block:40px}
  .case-module--text h2{font-size:11.5vw}
  .case-module.late-brand-pair .case-module-images{height:auto;aspect-ratio:auto}
  .case-module.late-brand-pair .image-button{height:66vw;min-height:250px}
  .case-details{padding-block:62px}
  .case-details-grid{columns:2 130px;column-gap:6px}
  .case-details-grid .image-button{margin-bottom:6px}
  .enhanced .case-details-grid,.enhanced .case-details-column{gap:6px}
}

/* Prakriti phone layout: preserve every image's intrinsic ratio and remove
   desktop crop/scale rules when narrative modules stack vertically. */
@media(max-width:720px){
  html,body{max-width:100%;overflow-x:clip}
  .site-header{align-items:stretch}
  .site-header .wordmark{align-self:flex-start}
  .site-header nav{display:grid;width:100%;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 14px}
  .site-header nav a{min-width:0;text-align:center}

  .case-hero--compact{padding-top:18px}
  .case-title-band{align-items:end;gap:12px;margin-bottom:16px}
  .case-title-band h1{min-width:0;font-size:clamp(54px,17vw,96px);overflow-wrap:anywhere}
  .case-title-band>span{font-size:12px;padding-bottom:5px}
  .case-hero--compact .case-deck{font-size:clamp(20px,6.2vw,28px);margin-bottom:24px}
  .case-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px}
  .case-meta-grid>div:nth-child(6){grid-column:1/-1}
  .case-meta-grid dd{overflow-wrap:anywhere}

  .case-module-images,
  .case-module.bottles-with-stickers .case-module-images,
  .case-module.late-brand-pair .case-module-images{height:auto;min-height:0;aspect-ratio:auto}
  .case-module--split .case-module-images,
  .case-module--triptych .case-module-images{grid-template-columns:1fr}
  .case-module .image-button,
  .case-module--single .image-button,
  .case-module--wide .image-button,
  .case-module--split .image-button,
  .case-module--triptych .image-button,
  .case-module.catalogue-cover-spread .image-button,
  .case-module.catalogue-back-wide .image-button,
  .case-module.bottles-with-stickers .image-button,
  .case-module.late-brand-pair .image-button{display:block;height:auto;min-height:0;aspect-ratio:auto;overflow:hidden}
  .case-module .image-button img,
  .case-module--single .image-button img,
  .case-module--wide .image-button img,
  .case-module.catalogue-cover-spread .image-button img,
  .case-module.catalogue-back-wide .image-button img,
  .case-module.bottles-on-white .image-button:first-child img,
  .case-module.bottles-with-stickers .image-button:nth-child(2) img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;object-position:center;transform:none}

  .case-module--text{gap:22px;padding:38px var(--gutter) 42px}
  .case-module--text>div{gap:14px}
  .case-module--text h2{font-size:clamp(40px,11.5vw,62px);line-height:.98}
  .case-module--text>p{font-size:15px;line-height:1.55}

  .case-details{padding:52px var(--gutter) 58px}
  .case-details-heading{margin-bottom:34px}
  .case-details-heading h2{font-size:clamp(43px,13vw,62px)}
  .enhanced .case-details-grid{grid-template-columns:repeat(var(--detail-columns,2),minmax(0,1fr))}
  .case-details-grid .zoom-label{display:none}

  .image-dialog{width:100%;max-width:100%;height:100dvh;max-height:100dvh}
  .dialog-top{gap:12px;padding:12px 14px}
  .dialog-top p{font-size:12px;line-height:1.35}
  .detail-scroll{padding:8px 10px}
  .detail-scroll img{width:auto;max-width:100%;height:auto;max-height:100%;object-fit:contain}
  .dialog-bottom{display:grid;grid-template-columns:1fr auto 1fr;gap:6px 10px;padding:10px 12px}
  .dialog-bottom [data-detail-prev]{grid-column:1;grid-row:1;text-align:left}
  .dialog-bottom [data-detail-count]{grid-column:2;grid-row:1;align-self:center}
  .dialog-bottom [data-detail-next]{grid-column:3;grid-row:1;text-align:right}
  .dialog-bottom [data-toggle-zoom]{grid-column:1/-1;grid-row:2;justify-self:center}
}

@media(max-width:400px){
  .site-header nav{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px}
  .case-meta-grid{grid-template-columns:1fr}
  .case-meta-grid>div:nth-child(6){grid-column:auto}
  .case-details{padding-inline:10px}
}

/* Campus poster collection: one continuous row for both student organisations. */
.campus-collection{background:radial-gradient(ellipse at 12% 0%,rgba(160,249,239,.2),transparent 42%),radial-gradient(ellipse at 88% 100%,rgba(95,203,221,.2),transparent 48%),linear-gradient(125deg,#153b4a 0%,#12495a 52%,#194e5b 100%);border-top:1px solid rgba(190,236,231,.44)}
.poster-row.six{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(8px,1.1vw,18px);height:clamp(250px,27vw,420px);padding:0}
.poster-row.six .image-button{width:100%;height:100%;max-width:none}

@media(max-width:800px){
  .poster-row.six{display:flex;height:clamp(250px,68vw,360px);gap:10px;overflow-x:auto;justify-content:start;scroll-snap-type:x proximity;padding:0 0 12px;scrollbar-width:thin}
  .poster-row.six .image-button{flex:0 0 40vw;height:100%;max-width:none;scroll-snap-align:start}
}

/* Scale the approved 1700 × 892 desktop composition as a single artboard. */
.studio-hero-viewport{position:relative;width:100%;aspect-ratio:1700/892;overflow:hidden}
.studio-hero-viewport>.studio-hero{position:absolute;inset:0 auto auto 0}
/* White studio hero: coloured light and oversized type sit behind the portrait. */
.home .studio-hero{position:relative;isolation:isolate;display:block;width:1700px;height:892px;min-height:0;--gutter:64px;transform:scale(var(--studio-scale,1));transform-origin:top left;overflow:hidden;padding:0;color:#18223d;border-bottom:1px solid #e4e6eb;background:linear-gradient(0deg,#fff 0%,#fff 12%,rgba(255,255,255,.94) 27%,rgba(255,255,255,0) 75%),radial-gradient(ellipse at 86% 15%,#c9b69c 0%,transparent 59%),radial-gradient(ellipse at 58% 30%,#9cae9c 0%,transparent 58%),radial-gradient(ellipse at 13% 12%,#405a78 0%,#8eabc1 39%,#f1eee7 78%)}
.home .studio-hero::before{content:'';position:absolute;inset:77% 0 0;z-index:0;background:linear-gradient(180deg,#e6e8ed55,#fff 65%);border-top:1px solid #d8dce52b}
.home .studio-hero::after{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;background:url(/assets/hero/studio-ribbon.svg) center / cover no-repeat;opacity:.78}
.home .studio-hero h1{position:absolute;z-index:1;top:calc(8% + 150px);left:4%;width:92%;max-width:none;white-space:nowrap;margin:0;font-family:'Manrope',Arial,sans-serif;font-weight:700;font-size:clamp(76px,204px,180px);line-height:.9;letter-spacing:-.045em;text-transform:uppercase;color:#000;text-shadow:none}
.home .studio-hero h1:focus,.home .studio-hero h1 span:focus{outline:none!important}
.studio-hero-statement{position:absolute;z-index:3;top:12%;margin:0;color:#000!important;opacity:1;filter:none;font-family:var(--sans);font-size:clamp(16px,28.9px,24px);line-height:1.14;font-weight:800;letter-spacing:-.035em;text-transform:uppercase}
.studio-hero-statement--left{left:var(--gutter);max-width:clamp(220px,442px,360px)}
.studio-hero-statement--right{right:var(--gutter);max-width:210px;text-align:right}
/* Keep the props in the open left field and above the portrait. */
.studio-floating-objects{position:absolute;z-index:2;inset:0;pointer-events:none}
.studio-floater{position:absolute;display:block;max-width:none;height:auto;object-fit:contain;pointer-events:auto;transform:rotate(var(--tilt));filter:drop-shadow(0 14px 16px #18202b26);animation:none;transition:filter .45s ease,scale .45s ease}
.studio-floater--can{left:calc(6% - 40px);top:calc(36% - 20px);width:7.2%;--tilt:-17deg;--duration:7s}
.studio-floater--headphones{left:calc(18% + 50px);top:calc(50% - 25px);width:10.4%;--tilt:12deg;--duration:8s;--delay:-3s}
.studio-floater--phone{left:calc(40% + 100px);top:calc(5% + 10px);width:8%;--tilt:-24deg;--duration:9s;--delay:-5s}
.studio-floater--plant{left:18%;bottom:5%;top:auto;width:20%;--tilt:-12deg;--duration:8s;--delay:-2s;animation:none;transition:none;z-index:4}
@keyframes studio-drift{from{translate:0 -5px}to{translate:3px 5px}}
@media(hover:hover) and (pointer:fine){.studio-floater:not(.studio-floater--plant):hover{filter:drop-shadow(0 18px 19px #18202b35);scale:1;animation-play-state:paused}.studio-floater--plant:hover{filter:none;scale:1}}
.studio-portrait{position:absolute;z-index:3;right:0;bottom:30px;width:70%;height:94%;pointer-events:none}

.studio-portrait img{position:relative;width:100%;height:100%;object-fit:contain;object-position:right bottom;background:url(/assets/hero/studio-contact-shadows.svg) right bottom / contain no-repeat}
.studio-plant{position:absolute;left:calc(18% + 700px);bottom:5%;width:20%;aspect-ratio:1223/1286;z-index:4;pointer-events:none}
.studio-plant::before{content:'';position:absolute;left:calc(40% - 10px);bottom:7%;width:38%;height:2.5%;border-radius:50%;background:radial-gradient(ellipse,#353a3259 0%,#353a3238 38%,#353a3200 76%);filter:blur(.8px);z-index:0}
.studio-portrait .studio-floater--plant{position:absolute;left:0;right:auto;top:auto;bottom:0;width:100%;height:auto;object-fit:contain;z-index:1;filter:none;background:none;box-shadow:none}
.studio-hero-copy{position:absolute;z-index:3;left:var(--gutter);bottom:15%;width:26%;max-width:320px}
.home .studio-hero-copy p{color:#263350;font-size:clamp(15px,24.65px,20px);line-height:1.5;margin:0;padding:0}
.studio-hero-copy a{display:inline-flex;gap:25px;align-items:center;border-bottom:1px solid #667593;padding:14px 0;margin-top:22px;font-size:14px;min-height:44px}
@media(min-width:601px){.studio-hero-copy a{transform:translateY(18px)}}
.studio-hero-copy a:hover{color:#4b39b9;border-color:currentColor}
.studio-hero-note{position:absolute;z-index:3;left:var(--gutter);bottom:24px;font-size:10px;letter-spacing:.14em;color:#5b6374}

@media(prefers-reduced-motion:reduce){.studio-floater{animation:none;transition:none}.studio-floater:hover{scale:1}}

/* A compact iOS-style context card in the open space beside the portrait. */
.studio-skills{position:absolute;z-index:4;left:calc(33% + 175px);bottom:calc(5.5% + 80px);width:clamp(195px,289px,268px);color:#fff;font-family:'Manrope',var(--sans)}
.studio-skills h2{display:table;margin:0 0 9px auto;padding:11px 23px;border-radius:17px;background:#202321;color:#fff;font:600 15px/1.2 var(--sans);letter-spacing:-.02em;box-shadow:0 4px 12px #20232110}
.studio-skills ul{list-style:none;margin:0;padding:0;overflow:hidden;border-radius:19px;background:linear-gradient(135deg,#747d7b66,#555e5e66);border:1px solid #ffffff55;box-shadow:0 12px 30px #17222218,inset 0 1px 0 #ffffff24;-webkit-backdrop-filter:blur(22px) saturate(135%);backdrop-filter:blur(22px) saturate(135%)}
.studio-skills li{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:clamp(35px,51px,46px);padding:9px 15px;font:400 clamp(12px,17px,16px)/1.3 var(--sans);letter-spacing:-.02em}
.studio-skills li+li{border-top:1px solid #ffffff20}
.studio-skills svg{width:17px;height:17px;flex-shrink:0;opacity:.95}
.studio-skills li.studio-skills-tool{border-top:6px solid #303b3b55;color:#ffd0b5;font-weight:500}

.studio-skills li.studio-skills-tool+.studio-skills-tool{border-top:1px solid #ffffff20}

/* Preserve the name, three props and Skills card as one tablet composition. */
.studio-locked-group{display:contents}
@media(max-width:1279px){
  .studio-hero-viewport{aspect-ratio:1280/780}
  .home .studio-hero{width:1280px;height:780px;--gutter:48px}
  .studio-locked-group{display:block;position:absolute;left:0;top:30px;width:1700px;height:892px;transform:scale(.85);transform-origin:top left;z-index:2}
  .studio-hero-statement{top:40px;font-size:20px}
  .studio-hero-statement--left{max-width:330px}
  .studio-hero-statement--right{max-width:200px}
  .studio-portrait{width:1190px;height:838px;right:0;bottom:24px;transform:scale(.65);transform-origin:bottom right}
  .studio-hero-copy{bottom:70px;width:470px;max-width:none}
  .home .studio-hero-copy p{font-size:24px;line-height:1.35}
  .studio-hero-copy a{font-size:18px;margin-top:12px;min-height:48px}
  .studio-hero-note{font-size:13px;bottom:24px}
}

/* Portrait phone layout: a raised name and props frame the seated portrait. */
@media(max-width:600px){
  .studio-hero-viewport{aspect-ratio:430/760}
  .home .studio-hero{width:430px;height:760px;--gutter:20px}
  .studio-locked-group{display:contents}
  .home .studio-hero h1{top:115px;left:20px;width:390px;white-space:normal;font-size:87px;line-height:.94;letter-spacing:-.055em}
  .home .studio-hero h1 span{display:block;text-align:right}
  .studio-hero-statement{font-size:12px;line-height:1.2;letter-spacing:-.03em}
  .studio-hero-statement--left{top:30px;max-width:210px}
  .studio-hero-statement--right{top:78px;right:20px;max-width:125px}
  .studio-floater--can{left:18px;top:170px;width:48px}
  .studio-floater--headphones{left:330px;top:140px;width:68px}
  .studio-floater--phone{left:182px;top:48px;width:52px}
  .studio-portrait{width:480px;height:480px;right:-5px;bottom:120px;transform:none}
  .studio-plant{left:77%;width:20%;bottom:5%}
  .studio-skills{left:auto;right:20px;top:315px;bottom:auto;width:176px;z-index:4}
  .studio-skills h2{font-size:14px;padding:10px 17px;border-radius:16px;margin-bottom:8px}
  .studio-skills ul{border-radius:18px;background:linear-gradient(135deg,#747d7b99,#555e5e88)}
  .studio-skills li{font-size:12px;min-height:32px;padding:8px 10px;gap:6px}
  .studio-skills svg{width:14px;height:14px}
  .studio-skills li.studio-skills-tool{border-top-width:5px}
  .studio-hero-copy{left:20px;right:20px;bottom:45px;width:auto;display:flex;align-items:center;gap:20px}
  .home .studio-hero-copy p{font-size:14px;line-height:1.4;flex:1}
  .studio-hero-copy a{font-size:12px;margin:0;padding:10px 0;gap:12px;min-height:44px;flex-shrink:0}
  .studio-hero-note{left:20px;bottom:18px;font-size:9px;letter-spacing:.1em}
}

@media(max-width:600px){
  .home .studio-hero .studio-hero-statement{font-size:12px;margin:0;padding:0}
  .home .studio-hero p br{display:initial}
}

/* Dopamix homepage feature: carry the warm studio palette into its desktop mockup. */
.project-slide.home-project--dopamix{background:linear-gradient(108deg,#482830 0%,#4b2d34 14%,#452e30 34%,#362522 55%,#211916 88%);color:#f5bea9}
.project-slide.home-project--dopamix::after{background:none}
.project-slide.home-project--dopamix .project-scene{left:34%;right:0;background:transparent}
.project-slide.home-project--dopamix .project-scene img{position:absolute;inset:-14% 0 auto auto;width:100%;height:128%;object-fit:contain;object-position:right center;transform:translateX(calc(4% + 80px));-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 26%);mask-image:linear-gradient(90deg,transparent 0%,#000 26%)}
@media(max-width:800px){
  .project-slide.home-project--dopamix{background:linear-gradient(145deg,#482830 0%,#4b2d34 20%,#452e30 42%,#362522 66%,#211916 92%)}
  .project-slide.home-project--dopamix .project-scene{left:18%;top:18%;right:0;bottom:0}
  .project-slide.home-project--dopamix .project-scene img{inset:0 0 auto auto;width:100%;height:100%;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 24%);mask-image:linear-gradient(90deg,transparent 0%,#000 24%)}
}


/* AquaMuse homepage feature: echo the blue water-science display. */
.project-slide.home-project--aquamuse{background:linear-gradient(108deg,#113e48 0%,#17495a 22%,#265a70 44%,#3b7391 65%,#5b91bc 100%);color:#beece7}
.project-slide.home-project--aquamuse::after{background:none}
.project-slide.home-project--aquamuse .project-scene{left:32%;right:0;background:transparent}
.project-slide.home-project--aquamuse .project-scene img{position:absolute;inset:-30% -2% auto auto;width:135%;height:160%;object-fit:contain;object-position:right center;transform:translateX(calc(4% + 110px)) scale(1.1);transform-origin:right center;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 26%);mask-image:linear-gradient(90deg,transparent 0%,#000 26%)}
@media(max-width:800px){
  .project-slide.home-project--aquamuse{background:linear-gradient(145deg,#113e48 0%,#17495a 24%,#265a70 48%,#3b7391 72%,#5b91bc 100%)}
  .project-slide.home-project--aquamuse .project-scene{left:18%;top:18%;right:0;bottom:0}
  .project-slide.home-project--aquamuse .project-scene img{inset:-12% -2% auto auto;width:135%;height:130%;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 26%);mask-image:linear-gradient(90deg,transparent 0%,#000 26%)}
}

/* Preserve the GeoPulse feature dimensions after removing its preview images. */
#preview-geopulse .project-stage{min-height:clamp(260px,29vw,430px)}
@media(max-width:800px){#preview-geopulse .project-stage{min-height:360px}}
@media(max-width:560px){#preview-geopulse .project-stage{min-height:330px}}

.aquamuse-opening-mockup .gallery-images{padding:0;height:auto;aspect-ratio:1.8;display:block;overflow:hidden}
.aquamuse-opening-mockup .gallery-images>img{width:100%;height:100%;object-fit:cover;object-position:center}
@media(max-width:800px){.aquamuse-opening-mockup .gallery-images{aspect-ratio:1.415}}

/* Light interiors for the AquaMuse case study. */
.case-study--aquamuse{--ink:#193c40!important;--muted:#61716c;--line:#193c4026;background:#fafbf7;color:#193c40}
.case-study--aquamuse .case-hero{background:#e5efeb;color:#193c40}
.case-study--aquamuse .story{background:#fafbf7;color:#193c40}
.case-study--aquamuse .story-copy{color:#344c47}
.case-study--aquamuse .gallery{background:#eef3ed;color:#193c40}
.case-study--aquamuse .gallery-frame figcaption{color:#61716c}
.case-study--aquamuse .case-pagination{background:#e5efeb;color:#193c40}
.case-study--aquamuse .case-pagination .next-project:hover{color:#32746c}

.gallery-frame.gallery-frame--mockup .gallery-images{padding:0;display:block;overflow:hidden}
.gallery-frame--mockup .gallery-images>img{width:100%;height:100%;object-fit:cover;object-position:center}

.aquamuse-water-science-mockup .gallery-images{padding:0;display:block;aspect-ratio:1.8;height:auto;overflow:hidden}
.aquamuse-water-science-mockup .gallery-images>img{width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.3);transform-origin:center}
@media(max-width:800px){.aquamuse-water-science-mockup .gallery-images{aspect-ratio:1.334}}

.aquamuse-water-reporting-mockup .gallery-images{padding:0;display:block;aspect-ratio:1.8;height:auto;overflow:hidden}
.aquamuse-water-reporting-mockup .gallery-images>img{width:100%;height:100%;object-fit:cover;object-position:center 50%}
@media(max-width:800px){.aquamuse-water-reporting-mockup .gallery-images{aspect-ratio:1.334}}

.aquamuse-fishbowl-imac-mockup .gallery-images{padding:0;display:block;aspect-ratio:1.8;height:auto;overflow:hidden}
.aquamuse-fishbowl-imac-mockup .gallery-images>img{width:100%;height:100%;object-fit:cover;object-position:center}
@media(max-width:800px){.aquamuse-fishbowl-imac-mockup .gallery-images{aspect-ratio:1.334}}

.project-slide.home-project--geopulse{background:linear-gradient(108deg,#2c3988 0%,#35438e 14%,#465398 29%,#616aa8 45%,#8382ba 62%,#a5a0d4 80%,#c0baeb 100%);color:#eeecff}
.project-slide.home-project--geopulse::after{background:none}
.project-slide.home-project--geopulse .project-scene{left:32%;right:0;background:transparent}
.project-slide.home-project--geopulse .project-scene img{position:absolute;inset:-20% -2% auto auto;width:115%;height:140%;object-fit:contain;object-position:right center;transform:translateX(calc(6% + 50px)) scale(1.2);transform-origin:right center;-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.08) 7%,rgba(0,0,0,.3) 15%,rgba(0,0,0,.65) 24%,rgba(0,0,0,.9) 32%,#000 40%);mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.08) 7%,rgba(0,0,0,.3) 15%,rgba(0,0,0,.65) 24%,rgba(0,0,0,.9) 32%,#000 40%)}
@media(max-width:800px){.project-slide.home-project--geopulse{background:linear-gradient(145deg,#2c3988 0%,#5963a5 45%,#c0baeb 100%)}.project-slide.home-project--geopulse .project-scene{left:18%;top:18%;right:0;bottom:0}.project-slide.home-project--geopulse .project-scene img{inset:-12% -2% auto auto;width:135%;height:130%}}

.geopulse-print-photo-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));height:clamp(300px,43vw,590px);overflow:hidden}
.geopulse-print-photo-row>img{width:100%;height:100%;object-fit:cover;object-position:center}

.case-study--geopulse .case-hero--compact{background:var(--field);color:var(--ink);border-bottom-color:color-mix(in srgb,var(--ink) 32%,transparent)}
.case-study--geopulse .case-meta-grid{border-color:color-mix(in srgb,var(--ink) 32%,transparent)}
.case-study--geopulse .case-meta-grid dt{color:var(--ink);opacity:.65}

.case-study--dopamix .dopamix-project-header{background:#1d1918;color:#f3eadb;border-bottom-color:#f3eadb30}
.dopamix-project-header .case-title-band h1{color:#c97058}
.dopamix-header-deck{display:flex;justify-content:space-between;align-items:center;gap:24px}
.dopamix-project-header .case-meta-grid dt{color:#b9a99d}
.dopamix-project-header .case-meta-grid{border-color:#f3eadb30}
@media(max-width:560px){.dopamix-header-deck{align-items:flex-start;flex-direction:column;margin-bottom:24px}.dopamix-header-deck .case-deck{margin-bottom:0}}

.case-study--aquamuse .case-meta-grid{border-color:#193c4026}
.case-study--aquamuse .case-meta-grid dt{color:#61716c}

/* One continuous colour field behind the homepage header and hero. */
.home{position:relative}
.home::before{content:'';position:absolute;inset:0 0 auto;height:var(--hero-backdrop-height,65vw);pointer-events:none;background:radial-gradient(ellipse at 0% 0%,rgba(227,237,231,.94) 0%,rgba(215,230,225,.76) 15%,rgba(203,221,220,.28) 30%,transparent 48%),linear-gradient(0deg,#fff 0%,#fff 12%,rgba(255,255,255,.94) 27%,rgba(255,255,255,0) 75%),radial-gradient(ellipse at 86% 15%,#c9b69c 0%,transparent 59%),radial-gradient(ellipse at 58% 30%,#9cae9c 0%,transparent 58%),radial-gradient(ellipse at 13% 12%,#405a78 0%,#8eabc1 39%,#f1eee7 78%)}
.home .site-header{position:relative;z-index:5;background:transparent;color:#17212b;border-bottom:0}
.home .site-header .wordmark span{color:#263746}
.home .work-section,.home .studio-hero{background:transparent}
.studio-skills h2{padding:0;background:transparent;box-shadow:none}
.skills-toggle{display:flex;align-items:center;gap:10px;padding:11px 23px;border-radius:17px;background:#202321;color:#fff;font:600 15px/1.2 var(--sans);box-shadow:0 0 0 1px #ffffff88,0 0 20px #f4d6a580;animation:skills-invite 2.6s ease-in-out infinite}
.skills-toggle:hover,.skills-toggle:focus-visible{background:#34443e;box-shadow:0 0 0 2px #fff9,0 0 28px #f4d6a5aa}
.skills-chevron{transition:transform .25s ease}
.skills-toggle[aria-expanded=true] .skills-chevron{transform:rotate(180deg)}
.studio-skills ul{transition:opacity .22s ease,transform .22s ease,visibility .22s;transform-origin:top right}
.studio-skills:not(.is-open) ul{visibility:hidden;opacity:0;transform:translateY(-8px) scale(.97);pointer-events:none}
.studio-skills.is-open .skills-toggle{animation:none}
@keyframes skills-invite{50%{box-shadow:0 0 0 2px #ffffffaa,0 0 28px #f4d6a5aa}}
@media(max-width:600px){.studio-skills h2{padding:0}.skills-toggle{font-size:14px;padding:10px 17px}}
@media(prefers-reduced-motion:reduce){.skills-toggle{animation:none}.studio-skills ul,.skills-chevron{transition:none}}

.studio-skills h2{position:relative;top:10px}
.skills-toggle{background:rgba(255,255,255,.28);color:#182820;border:1px solid rgba(255,255,255,.6);-webkit-backdrop-filter:blur(18px) saturate(135%);backdrop-filter:blur(18px) saturate(135%);animation:none;box-shadow:0 0 18px #f4e2bd45,inset 0 1px 0 #ffffff70;transition:background .2s ease,box-shadow .2s ease}
.skills-toggle:hover,.skills-toggle:focus-visible{background:rgba(255,255,255,.46);box-shadow:0 0 22px #f4e2bd70,inset 0 1px 0 #ffffff80}
.skills-indicator{position:relative;display:block;width:12px;height:12px}
.skills-indicator::before,.skills-indicator::after{content:'';position:absolute;background:currentColor;border-radius:1px}
.skills-indicator::before{width:10px;height:1.5px;left:1px;top:5px}
.skills-indicator::after{width:1.5px;height:10px;left:5px;top:1px;transition:opacity .18s ease}
.skills-toggle[aria-expanded=true] .skills-indicator::after{opacity:0}
.studio-skills ul{transition:opacity .2s ease,visibility .2s;position:relative;top:10px}
.studio-skills:not(.is-open) ul{transform:none}
@media(prefers-reduced-motion:reduce){.skills-toggle,.skills-indicator::after{transition:none}}

.skills-toggle{box-shadow:0 0 0 1px #ffffff70,0 0 14px #fff8,0 0 30px #f6deb575,inset 0 1px 0 #ffffffb0;animation:skills-glass-glow 2.8s ease-in-out infinite}
.skills-toggle:hover,.skills-toggle:focus-visible{background:rgba(255,255,255,.58);box-shadow:0 0 0 2px #ffffffb0,0 0 22px #ffffffa0,0 0 42px #f6deb599,inset 0 1px 0 #fff;animation:none}
.studio-skills.is-open .skills-toggle{animation:none;box-shadow:0 0 0 1px #ffffff80,0 0 18px #f6deb560,inset 0 1px 0 #ffffffa0}
@keyframes skills-glass-glow{0%,100%{box-shadow:0 0 0 1px #ffffff70,0 0 12px #ffffff60,0 0 26px #f6deb555,inset 0 1px 0 #ffffffb0}50%{box-shadow:0 0 0 1px #ffffffb0,0 0 22px #ffffffa0,0 0 42px #f6deb595,inset 0 1px 0 #fff}}
@media(prefers-reduced-motion:reduce){.skills-toggle{animation:none}}

.studio-skills ul{background:rgba(255,255,255,.28);color:#182820;border:1px solid rgba(255,255,255,.6);box-shadow:inset 0 1px 0 #ffffff70;-webkit-backdrop-filter:blur(18px) saturate(135%);backdrop-filter:blur(18px) saturate(135%)}
.studio-skills li+li{border-top-color:rgba(24,40,32,.12)}
.studio-skills li.studio-skills-tool{border-top-color:rgba(255,59,48,.28);color:#ff3b30}
.studio-skills li.studio-skills-tool+.studio-skills-tool{border-top-color:rgba(255,59,48,.2)}

#preview-prakriti.has-project-scene{background:linear-gradient(110deg,#294d3b 0%,#244332 22%,#182d23 43%,#0c1711 62%,#050505 84%)}
#preview-prakriti .project-scene{background:transparent;-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.06) 20%,rgba(0,0,0,.28) 35%,rgba(0,0,0,.7) 49%,#000 65%);mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.06) 20%,rgba(0,0,0,.28) 35%,rgba(0,0,0,.7) 49%,#000 65%)}
#preview-prakriti.has-project-scene::after{background:linear-gradient(90deg,rgba(41,77,59,.35) 0%,rgba(36,67,50,.16) 28%,transparent 58%)}
@media(max-width:800px){#preview-prakriti.has-project-scene{background:linear-gradient(135deg,#294d3b 0%,#244332 28%,#14261c 58%,#050505 100%)}#preview-prakriti.has-project-scene::after{background:linear-gradient(90deg,rgba(36,67,50,.55),rgba(24,45,35,.22) 48%,transparent 85%)}}

/* Keep the brief welcome screen aligned with the responsive hero wordmark. */
.entrance{background:linear-gradient(0deg,#fff 0%,#fff 12%,rgba(255,255,255,.94) 27%,rgba(255,255,255,0) 75%),radial-gradient(ellipse at 86% 15%,#c9b69c 0%,transparent 59%),radial-gradient(ellipse at 58% 30%,#9cae9c 0%,transparent 58%),radial-gradient(ellipse at 13% 12%,#405a78 0%,#8eabc1 39%,#f1eee7 78%);color:#000}
.entrance::before{content:none}
.entrance-top{position:relative;z-index:2;color:#111}
.entrance-enter{position:absolute;inset:0;z-index:1;width:100%;max-width:none;height:100%;margin:0;padding:0;color:#000}
.entrance-name{position:absolute;z-index:1;left:var(--entrance-name-left,4vw);top:var(--entrance-name-top,28vh);width:var(--entrance-name-width,92vw);margin:0;color:#000;font-family:'Manrope',Arial,sans-serif;font-weight:700;font-size:clamp(76px,12vw,180px);line-height:.9;letter-spacing:-.045em;text-transform:uppercase;white-space:nowrap;transform-origin:top left;pointer-events:none}
.entrance-name>span{display:inline;margin:0;text-align:inherit}
.entrance-action{position:absolute;z-index:2;left:4vw;right:4vw;top:68vh;margin:0;padding-top:16px;border-color:#1115;color:#111;font-size:18px;pointer-events:auto}
.entrance-action>span{font-size:34px}
@media(max-width:600px){.entrance-name{font-size:87px;line-height:.94;letter-spacing:-.055em;white-space:normal}.entrance-name>span{display:block;text-align:right}.entrance-action{font-size:16px}}

.prakriti-product-photos{display:grid;grid-template-columns:1.4fr 1fr 1fr;grid-template-rows:repeat(2,clamp(180px,22vw,340px));gap:16px;padding:24px var(--gutter) 40px;background:#e6edda}
.prakriti-product-photos img{width:100%;height:100%;object-fit:cover;min-width:0}
.prakriti-product-photos img:first-child{grid-column:1;grid-row:1}
.prakriti-product-photos img:nth-child(2){grid-column:1;grid-row:2}
.prakriti-product-photos img:nth-child(3){grid-column:2;grid-row:1/3}
.prakriti-product-photos img:nth-child(4){grid-column:3;grid-row:1/3}
@media(max-width:700px){.prakriti-product-photos{grid-template-columns:1fr 1fr;grid-template-rows:auto auto auto;gap:10px;padding:16px}.prakriti-product-photos img:first-child{grid-column:1/3;grid-row:1;aspect-ratio:2}.prakriti-product-photos img:nth-child(2){grid-column:1/3;grid-row:2;aspect-ratio:4/3}.prakriti-product-photos img:nth-child(3){grid-column:1;grid-row:3;aspect-ratio:3/4}.prakriti-product-photos img:nth-child(4){grid-column:2;grid-row:3;aspect-ratio:3/4}}
.case-study--prakriti .case-hero--compact{background:#173d2c;color:#f2f0e7;border-bottom-color:#f2f0e744}
.case-study--prakriti .case-meta-grid{border-color:#f2f0e744}
.case-study--prakriti .case-meta-grid dt{color:#c2c8ae}

.resume-page{min-height:calc(100svh - 180px);padding:36px var(--gutter) 60px;background:#101923;color:#f2f0e7}
.resume-heading{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:24px;margin-bottom:26px}
.resume-back{justify-self:start;border-bottom:1px solid #f2f0e766;padding-bottom:8px}
.resume-heading>div{text-align:center}
.resume-heading h1{font:600 clamp(40px,6vw,76px)/.95 var(--sans);letter-spacing:-.06em;margin-top:10px}
.resume-download{justify-self:end;display:inline-flex;align-items:center;gap:14px;border-bottom:1px solid #f2f0e788;padding:7px 0;font-size:15px;transition:border-color 160ms ease,color 160ms ease}
.resume-download:hover{color:#c8f4ed;border-color:#c8f4ed}
.resume-preview{height:min(78svh,1100px);min-height:480px;border:1px solid #c8f4ed55;background:#252b30}
.resume-preview img{display:block;width:auto;height:100%;max-width:100%;object-fit:contain;margin:0 auto}
@media(max-width:700px){.resume-page{padding-top:24px}.resume-heading{grid-template-columns:1fr auto;align-items:center}.resume-heading>div{grid-column:1/-1;grid-row:1;text-align:left}.resume-heading h1{font-size:48px}.resume-back{grid-column:1;grid-row:2}.resume-download{grid-column:2;grid-row:2;padding:7px 0;font-size:14px;gap:9px}.resume-preview{height:72svh;min-height:420px}}

/* Compact phone navigation; keep the approved hero artboard unchanged. */
.nav-toggle{display:none}
@media(max-width:600px){
  .site-header,.home .site-header{position:relative;align-items:center;flex-wrap:wrap;gap:0 12px;padding-block:16px}
  .site-header .wordmark{align-self:center;min-width:0}
  .site-header .wordmark span{font-size:11px}
  .enhanced .nav-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:44px;height:44px;margin-left:auto;padding:10px}
  .nav-toggle span{display:block;width:23px;height:1.5px;background:currentColor;transition:opacity 150ms ease}
  .nav-toggle[aria-expanded=true] span:nth-child(2){opacity:.35}
  .enhanced .site-header nav{display:none}
  .enhanced .nav-toggle[aria-expanded=true]+nav{display:flex;flex-direction:column;align-items:stretch;gap:0;width:100%;padding-top:14px;margin-top:12px;border-top:1px solid currentColor}
  .site-header nav a{text-align:left;min-height:44px;font-size:16px}
  .resume-preview{height:auto;min-height:0}
  .resume-preview img{width:100%;height:auto}
}
/* Stack narrative columns before their minimum widths exceed a tablet. */
@media(min-width:801px) and (max-width:1100px){
  .case-module--text{grid-template-columns:1fr;gap:24px}
  .case-module--text>div{grid-column:auto;grid-template-columns:minmax(0,.6fr) minmax(0,1fr);gap:28px}
  .case-module--text>p{max-width:65ch}
}
@media(max-width:720px){
  .case-meta-grid dd{font-size:14px}
}

/* On narrow screens, give each project image its own space above the copy. */
@media(max-width:800px){
  .project-slide.has-project-scene{display:flex;flex-direction:column}
  .project-slide.has-project-scene>.project-kicker{order:0}
  .project-slide.has-project-scene>h2{order:1;margin-bottom:18px}
  .project-slide.has-project-scene>.project-scene{position:relative;inset:auto;order:2;width:calc(100% + 2 * var(--gutter));margin-inline:calc(-1 * var(--gutter));height:clamp(240px,55vw,420px);flex:none;background:transparent;z-index:2}
  .project-slide.has-project-scene>.project-scene img{position:static;inset:auto;width:100%;height:100%;object-fit:contain;object-position:center;transform:none;mask-image:none;-webkit-mask-image:none}
  .project-slide.has-project-scene>.project-stage{order:3;min-height:0!important;padding-top:24px}
  .project-slide.has-project-scene .project-intro{width:100%;min-height:0}
  .project-slide.has-project-scene .project-description{max-width:28ch}
  .project-slide.has-project-scene .project-scope{max-width:42ch}
  .project-slide.home-project--aquamuse{background:linear-gradient(145deg,#113e48,#265a70 48%,#17495a 85%)}
  .project-slide.home-project--geopulse{background:linear-gradient(145deg,#2c3988,#8382ba 48%,#35438e 85%)}
  #preview-prakriti.has-project-scene{background:#173d2c}
  #preview-prakriti.has-project-scene::after{display:none}
  #preview-prakriti.has-project-scene>.project-scene{width:min(84%,720px);height:auto;aspect-ratio:1333/1180;margin-inline:auto;background:#050505;mask-image:none;-webkit-mask-image:none}
  #preview-prakriti.has-project-scene>.project-scene picture{display:block;width:100%;height:100%}
  #preview-prakriti.has-project-scene>.project-scene img{width:100%;height:100%;object-fit:cover;object-position:center}
}

/* Local Figma reference: white canvas, coloured ribbon and Bodoni wordmark. */
.home::before,.home .site-header,.home .studio-hero,.entrance{background:#fff}
.home .studio-hero::before{background:#f6f7f9;border-top:0}
.home .studio-hero h1{font-family:'Bodoni Moda',serif;font-weight:400;font-size:200px;font-optical-sizing:auto;font-style:normal;font-variation-settings:normal;font-synthesis:none}
.entrance-name{font-family:'Bodoni Moda',serif;font-weight:400;font-optical-sizing:auto;font-style:normal;font-variation-settings:normal;font-synthesis:none}
@media(max-width:600px){.home .studio-hero h1{font-size:87px}}
