/* Real photographs, a shared chapter navigation, and stories in three acts. */
#living-oasis{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity 1s}#living-oasis.ready{opacity:1}.hero-image{animation:none}.hero-shade{background:linear-gradient(90deg,#080511e0,#09051260 48%,#0e0b1818),linear-gradient(0deg,#0e0b18,transparent 37%)}h1{color:#fff6ff;text-shadow:0 4px 40px #04020c99}.places-word{color:#eddbff}.intro-copy,.hero-content .eyebrow{color:#fff0ff}.masthead nav{gap:28px}.masthead nav a,.masthead nav button{font-size:14px}.masthead .active{color:#fff;border-bottom-color:#ebcdff}.nav-context{display:block;font-size:10px;letter-spacing:.06em;color:#ccb1e4;line-height:1.3;margin-top:2px}.nav-explore{min-width:70px;text-align:left}.masthead{padding-top:20px;padding-bottom:18px}.scroll-hint{font-size:12px;letter-spacing:.03em;gap:16px}.scroll-track{height:28px;width:1px;background:#c8a9f04d;position:relative}.scroll-track i{display:block;background:#f2dcff;width:2px;height:9px;animation:scroll-cue 2s ease-in-out infinite}.hero-credit{max-width:260px}.chapter-rail{padding:18px 5% 16px;gap:25px;background:#0e0b18ed;border-top:1px solid #d8c9ee22;backdrop-filter:blur(15px)}.journey-label{font-size:9px;color:#a291b3;letter-spacing:.2em;border-right:1px solid var(--line);padding-right:20px}.chapter-rail a{font-size:11px;letter-spacing:.02em;text-transform:none;padding:4px 0 6px}.chapter-rail a.active{color:#fff}.rail-progress{margin-left:0}
.thread{position:relative;min-height:100svh;padding:120px 7% 100px;background:radial-gradient(ellipse at 70% 45%,#332243,#100d1b 70%);border-top:1px solid var(--line);overflow:hidden}.thread-header{display:flex;justify-content:space-between;gap:25px;align-items:center;margin-bottom:65px}.section-number{font-size:11px;color:#bfa7d0;letter-spacing:.05em}.thread-layout{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center}.thread-copy h2{font-size:clamp(42px,4.5vw,72px);line-height:1.06}.thread-copy p{max-width:480px;margin-top:28px;color:#d6c9df;font-size:16px}.thread-visuals{height:530px;position:relative}.thread-image{position:absolute;display:block;border:1px solid #efdbff40;background:#151020;box-shadow:0 20px 55px #0005;transition:transform .5s}.thread-image img{width:100%;height:100%;object-fit:cover;display:block}.thread-image span{position:absolute;bottom:0;left:0;width:100%;background:linear-gradient(transparent,#100b19e8);padding:25px 16px 12px;font-size:11px;color:#fff}.thread-image:hover{transform:translateY(-10px) rotate(0deg)}.thread-light{top:0;left:0;width:65%;height:235px;transform:rotate(-4deg);z-index:2}.thread-city{top:70px;right:-4%;width:49%;height:250px;transform:rotate(6deg);z-index:3}.thread-land{left:4%;bottom:0;width:58%;height:220px;transform:rotate(-3deg);z-index:4}.thread-air{bottom:70px;right:-6%;width:50%;height:175px;transform:rotate(5deg);z-index:1}.thread-bottom{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-top:65px;padding-top:25px;border-top:1px solid var(--line);font-size:13px;color:#bba7c9}
.project{min-height:900px;height:auto;position:relative;display:grid;grid-template-columns:1fr 1fr;gap:4%;align-items:center;padding:125px 7% 140px;overflow:hidden}.scene{position:absolute;inset:0;height:100%;min-height:0;z-index:0}.scene>img{transform:none!important;position:absolute;inset:0}.scene-shade{z-index:2;background:linear-gradient(90deg,#090513b0,#09051365 50%,#09051340),linear-gradient(0deg,#0e0b18ba,transparent 65%)!important}.scene-title{z-index:3;position:absolute;left:7%;top:20%;width:42%;opacity:1!important;transform:none!important}.scene-title h2{font-size:clamp(50px,5.7vw,92px);color:#fff2ff}.scene-title>.eyebrow{color:#dfc6f0}.scene-title>p:last-child{max-width:330px;color:#f2e8f5}.scene-credit{z-index:3;font-size:11px;bottom:95px;width:40%;color:#e6d6ef}.story-wrap{position:relative;z-index:3;grid-column:2;margin:0;padding:0;display:block;width:100%}.story-card{padding:32px 34px;max-width:610px;min-height:570px;background:#110c1ee8;backdrop-filter:blur(22px);box-shadow:0 20px 80px #0006;border:1px solid #dac2f744}.story-card>.eyebrow{color:#bea2d2;font-size:11px}.story-tabs{display:flex;gap:20px;border-bottom:1px solid var(--line);margin-top:22px}.story-tabs button{font-size:12px;white-space:nowrap;padding:0 0 13px;color:#b5a0c6;border-bottom:2px solid transparent;line-height:1.5}.story-tabs button[aria-selected=true]{color:#f1d9ff;border-color:#dfc4f4}.story-viewport{min-height:375px;padding-top:3px}.story-panel[hidden]{display:none}.story-panel{animation:panel-arrive .65s cubic-bezier(.2,.65,.2,1) both}.story-card h3{font-size:clamp(30px,3vw,43px);margin:28px 0 22px;line-height:1.08;color:#f2e5fc}.story-card p{font-size:15px;line-height:1.8}.facts{margin:20px 0}.facts div{padding:10px 0;grid-template-columns:100px 1fr}.facts dt{font-size:11px}.facts dd{font-size:13px;color:#ddd0e7}.story-playback{display:flex;align-items:center;gap:16px;border-top:1px solid var(--line);padding-top:17px;margin-top:25px;font-size:11px;color:#bda4ce}.story-playback button{font-size:12px;min-width:36px;padding:4px 0}.slide-progress{height:2px;background:#d8c9ee25;flex:1;overflow:hidden}.slide-progress i{display:block;height:2px;background:#d6b1ef;transform-origin:left;transform:scaleX(0);width:100%}.asset-preview{margin:22px 0}.asset-preview img{width:100%;height:150px;object-fit:cover;display:block}.asset-preview figcaption{font-size:10px;color:#a999b7;margin-top:7px}.story-actions{gap:20px;margin-top:20px}.story-actions .text-link{font-size:12px}details{margin-top:20px;padding-top:14px}summary{font-size:12px}.next-chapter{position:absolute;bottom:93px;right:7%;z-index:5;font-size:12px;display:flex;align-items:center;gap:20px;color:#ecd9fa}.next-chapter span{font-size:22px}.about-photo img{max-height:680px;object-position:center}.career small{font-size:12px;color:#82718c}.credits-dialog li{line-height:1.7}html{scroll-padding-top:80px}.photo-label{color:#786282}
.scene-layer{position:absolute;inset:0;z-index:1;opacity:0;transition:opacity 1.4s ease;pointer-events:none}.scene-layer img{width:100%;height:100%;object-fit:cover}.scene-layer.layer-active{opacity:.55}.scene-layer.facility{inset:15% 38% 16% 3%;border:1px solid #e9d7ff66;transform:rotate(-3deg);background:#111;box-shadow:0 20px 80px #0005}.scene-layer.facility.layer-active{opacity:.84}.layer-caption{position:absolute;left:0;bottom:0;background:#110c1dd4;color:#fff;width:100%;padding:15px 20px;font-size:11px}.layer-indicator{position:absolute;left:7%;bottom:140px;z-index:4;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#e9d7ff;border-top:1px solid #e9d7ff66;padding-top:12px;max-width:38%}
@keyframes panel-arrive{from{opacity:0;transform:translateX(35px)}to{opacity:1;transform:translateX(0)}}@keyframes slide-time{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes scroll-cue{0%{transform:translateY(0);opacity:0}35%{opacity:1}100%{transform:translateY(20px);opacity:0}}
@media(min-width:801px) and (max-height:850px){.hero-content{top:15%}.hero-credit{bottom:103px}.scroll-hint{bottom:90px;left:7%;right:auto}.thread{padding-top:110px}.thread-header{margin-bottom:45px}.thread-visuals{height:440px}.thread-light{height:190px}.thread-city{height:220px}.thread-land{height:190px}.thread-air{height:150px}.project{min-height:800px;padding-top:110px;padding-bottom:120px}.story-card{min-height:550px}.scene-title{top:23%}.scene-title h2{font-size:5.7vw}.scene-credit{bottom:80px}.next-chapter{bottom:80px}}
@media(max-width:1000px) and (min-width:801px){.story-card{padding:25px}.story-tabs{gap:12px}.story-tabs button{font-size:11px}.scene-title h2{font-size:5.3vw}.project{padding-left:5%;padding-right:5%;gap:3%}.chapter-rail{gap:18px}.journey-label{display:none}}
@media(max-width:800px){.masthead{padding:18px 6%;gap:15px}.masthead nav{gap:16px}.masthead nav a,.masthead nav button{font-size:12px}.nav-context{font-size:9px;max-width:90px}.hero-content{top:20%}.hero-credit{bottom:130px;max-width:180px}.scroll-hint{left:8%;bottom:98px;font-size:10px}.hero{min-height:790px}.chapter-rail{gap:20px;justify-content:flex-start;overflow-x:auto;scrollbar-width:none;padding:15px 6% 12px}.chapter-rail::-webkit-scrollbar{display:none}.chapter-rail a{font-size:11px;flex-shrink:0}.journey-label,.rail-progress{display:none}.thread{padding:100px 8% 95px}.thread-header{display:block;margin-bottom:35px}.section-number{display:block;margin-top:12px}.thread-layout{display:block}.thread-copy h2{font-size:43px}.thread-visuals{height:430px;margin-top:50px}.thread-light{height:185px;width:68%}.thread-city{height:200px}.thread-land{height:175px}.thread-air{height:125px;bottom:65px}.thread-bottom{display:block;margin-top:40px}.thread-bottom a{margin-top:18px}.project{display:block;padding:0 5% 125px;min-height:0;background:#0e0b18}.scene{position:relative;height:56svh;min-height:430px;max-height:600px;margin-left:-5.55%;width:111.1%}.scene-title{width:82%;left:8%;top:25%}.scene-title h2{font-size:clamp(44px,10vw,65px)}.scene-credit{left:8%;bottom:30px;width:85%;font-size:10px}.story-wrap{margin-top:-12px}.story-card{width:100%;max-width:none;min-height:570px;padding:28px 24px}.story-card h3{font-size:34px}.story-viewport{min-height:395px}.story-tabs{gap:17px}.story-tabs button{font-size:11px}.story-card p{font-size:15px}.next-chapter{bottom:83px;right:8%}.facts div{grid-template-columns:83px 1fr;gap:12px}.about{padding-bottom:95px}.about-photo img{max-height:520px}.contact{padding-bottom:115px}.nav-explore{min-width:50px}.scene-layer.facility{inset:20% 5% 10% 30%}.layer-indicator{bottom:70px;left:8%;max-width:82%;font-size:9px}}
@media(prefers-reduced-motion:reduce){#living-oasis{display:none}.story-panel{animation:none}.slide-progress i{animation:none!important}.scroll-track i{animation:none}.hero-image{animation:none}.scene-layer{transition:none}}

@media(min-width:801px) and (max-height:850px){.project{min-height:calc(100svh - 80px);padding:30px 7% 90px}.story-card{min-height:0;padding:24px 30px}.story-viewport{min-height:310px}.story-card h3{font-size:34px;margin:20px 0 16px}.story-card p{font-size:14px;line-height:1.7}.story-playback{margin-top:18px;padding-top:12px}.facts div{padding:7px 0}.scene-title{top:20%}.scene-credit,.next-chapter{bottom:80px}.layer-indicator{bottom:115px}.asset-preview img{height:130px}}
/* A quieter journey: one navigation, two story views, and whole photographs. */
.hero-credit{bottom:35px}.scroll-hint{bottom:35px;left:7%;margin:0}.hero-shade{background:linear-gradient(90deg,#080511d9,#09051250 48%,#0e0b1810),linear-gradient(0deg,#0e0b18aa,transparent 35%)}
.thread{background:radial-gradient(ellipse at 70% 45%,#241e30,#100d1b 70%);padding-bottom:100px}.thread-layout{grid-template-columns:1fr 1.05fr;gap:7%}.thread-visuals{height:auto;display:grid;grid-template-columns:1fr 1fr;gap:16px}.thread-image{position:relative;inset:auto;width:auto;height:235px;transform:none!important;box-shadow:none;border:1px solid #efdbff25;overflow:hidden}.thread-image img{filter:saturate(.65) contrast(.94);transition:filter .5s,transform .65s}.thread-image::after{content:'';position:absolute;inset:0;background:#2a183d;mix-blend-mode:color;opacity:.2;pointer-events:none}.thread-image span{z-index:1;font-size:12px;padding:40px 18px 15px}.thread-image:hover{transform:none}.thread-image:hover img{filter:saturate(.95);transform:scale(1.035)}.thread-bottom{margin-top:45px}
.project{padding-top:95px;padding-bottom:95px;min-height:100svh}.scene-photo{position:absolute;inset:0;z-index:1;opacity:0;transition:opacity .8s ease;pointer-events:none}.scene-photo img{width:100%;height:100%;object-fit:cover;display:block}.show-work .scene-photo{opacity:1}.scene-base{transition:opacity .8s ease}.scene-shade{background:linear-gradient(90deg,#08090ac4,#08090a55 45%,#08090a35),linear-gradient(0deg,#08090a70,transparent 45%)!important}.scene-title{top:22%}.scene-credit{bottom:28px;width:48%;font-size:10px;line-height:1.5;color:#f4edf2}.story-card{min-height:0;background:#110e19ed;border-color:#e7d7ef30;box-shadow:0 20px 80px #0004}.story-tabs{gap:28px}.story-tabs button{font-size:13px;transition:color .25s}.story-viewport{min-height:350px}.story-panel{animation:panel-arrive .35s ease both}.story-card p{color:#e0d9e4}.soundtrack-link{margin-top:22px;font-size:12px}.scene-title h2{color:#fff8ff}.project-oasis.show-work .scene-photo img{object-position:35% 50%}.career small{display:block;margin-top:6px;font-size:13px;line-height:1.7}.career>div{grid-template-columns:90px 1fr;padding:20px 0}.career p{font-size:16px}.contact{padding-bottom:75px}.about{padding-bottom:125px}
@media(min-width:801px) and (max-height:850px){.project{min-height:calc(100svh - 80px);padding:30px 7% 55px}.story-card{padding:24px 30px}.story-viewport{min-height:305px}.story-card h3{font-size:34px}.story-card p{font-size:14px;line-height:1.7}.scene-title{top:20%}.scene-credit{bottom:18px}.hero-credit,.scroll-hint{bottom:28px}.thread-image{height:195px}.thread-visuals{height:auto}.soundtrack-link{margin-top:16px}}
@media(max-width:1000px) and (min-width:801px){.thread-layout{gap:5%}.thread-image{height:180px}.thread-visuals{gap:12px}.thread-copy h2{font-size:45px}}
@media(max-width:800px){.hero{min-height:730px}.hero-credit{bottom:32px;right:8%;max-width:170px}.scroll-hint{left:8%;bottom:35px;font-size:10px}.thread-layout{display:block}.thread-visuals{height:auto;margin-top:40px;gap:12px}.thread-image{height:190px;inset:auto;width:auto}.thread-image span{padding:35px 12px 12px;font-size:11px}.thread-bottom{margin-top:30px}.thread{padding-bottom:75px}.project{padding:0 5% 65px;min-height:0}.scene{height:56svh;min-height:430px}.scene-title{top:22%}.scene-credit{left:8%;bottom:20px;width:83%;font-size:9px}.story-card{min-height:0;padding:28px 24px}.story-viewport{min-height:0;padding-bottom:8px}.story-panel{min-height:330px}.story-tabs button{font-size:12px}.about{padding-bottom:85px}.contact{padding-bottom:65px}.contact-mail{font-size:clamp(20px,5.5vw,26px)}}
@media(prefers-reduced-motion:reduce){.scene-photo,.scene-base,.thread-image img{transition:none}.story-panel{animation:none}}
/* Chapters hold their scene, then yield to the next place. */
html{scroll-padding-top:0}.project{display:block;min-height:145svh;padding:0;overflow:visible}.project .chapter-stage{position:sticky;top:0;height:100svh;min-height:650px;display:grid;grid-template-columns:1fr 1fr;gap:4%;align-items:center;padding:105px 7% 80px;isolation:isolate;overflow:hidden}.project .scene{inset:0;position:absolute;height:100%;width:100%;margin:0}.project .scene-title{top:25%}.project .scene-credit{bottom:28px;max-width:45%}.chapter-next{position:absolute;right:7%;bottom:24px;z-index:5;display:flex;align-items:center;gap:14px;font-size:13px;color:#f2e8f7;line-height:1.7}.chapter-next>span{color:#bfb0cb;font-size:10px;letter-spacing:.06em}.chapter-next i{font-style:normal;font-size:23px;transition:transform .25s}.chapter-next:hover i{transform:translateY(4px)}.thread{padding:0;min-height:145svh;overflow:visible}.thread .chapter-stage{position:sticky;top:0;min-height:100svh;padding:100px 7% 85px;background:radial-gradient(ellipse at 70% 45%,#241e30,#100d1b 70%)}.thread-header{margin-bottom:38px}.thread-image{height:205px}.thread-bottom{margin-top:35px}.about{padding-bottom:110px}.about-next{color:#35263d}.about-next>span{color:#796087}
@media(min-width:801px) and (max-height:850px){.project .chapter-stage{padding:100px 7% 65px;min-height:650px}.project .scene-title{top:26%}.story-viewport{min-height:280px}.thread .chapter-stage{padding:100px 7% 70px}.thread-copy h2{font-size:clamp(40px,4.2vw,64px)}.thread-copy p{font-size:14px;margin-top:22px}.thread-image{height:180px}.thread-header{margin-bottom:30px}.thread-bottom{margin-top:28px;padding-top:18px}.chapter-next{bottom:20px}}
@media(max-width:800px){.project,.thread{min-height:0}.project .chapter-stage{position:relative;top:auto;height:auto;min-height:0;display:block;padding:0 5% 80px;overflow:hidden}.project .scene{position:relative;height:56svh;min-height:430px;margin-left:-5.55%;width:111.1%;inset:auto}.project .scene-title{top:25%}.project .scene-credit{bottom:20px;max-width:83%}.thread .chapter-stage{position:relative;min-height:100svh;padding:100px 8% 90px}.thread-image{height:190px}.chapter-next{bottom:22px;right:8%;font-size:12px;gap:12px}.about{padding-bottom:100px}}
@media(min-width:801px) and (max-height:650px){.project .chapter-stage{position:relative;height:auto;min-height:650px}.project{min-height:0}.thread .chapter-stage{position:relative}.thread{min-height:0}}
.mobile-work-photo{display:none}
@media(max-width:800px){html{scroll-padding-top:75px}.story-tabs button{min-height:44px;padding-top:7px}.story-tabs{margin-top:15px}.mobile-work-photo{display:block;margin:20px 0 24px}.mobile-work-photo img{display:block;width:100%;height:180px;object-fit:cover}.mobile-work-photo figcaption{font-size:10px;line-height:1.5;color:#bdaeC5;margin-top:8px}.story-panel{animation:panel-arrive .25s ease both;min-height:0}.chapter-next{min-height:44px}.thread-image{min-height:160px}.project .scene-title h2{font-size:clamp(42px,10vw,62px)}.story-card h3{font-size:32px}.index-links a{min-height:70px}.masthead nav a,.masthead nav button{min-height:38px}.hero-credit{max-width:165px;font-size:9px}.scroll-hint{font-size:10px}.contact-mail{overflow-wrap:anywhere}}
@media(max-width:380px){.thread-image{height:165px}.thread-copy h2{font-size:38px}.masthead nav{gap:13px}.wordmark{font-size:11px}.hero-credit{max-width:145px}.story-card{padding:25px 20px}}
@media(max-width:800px){.project .scene-photo{display:none}.project .scene-base{opacity:1}}
/* Gunjit's own mark, with the telephone line omitted entirely. */
.wordmark{display:flex;align-items:center;gap:13px}.brand-monogram{display:block;width:42px;height:42px;object-fit:contain;filter:brightness(0) invert(1);flex-shrink:0}.wordmark>span{padding-bottom:4px;border-bottom:2px solid #a088bb80}.footer-signature{display:flex;align-items:center;gap:14px}.footer-signature img{width:40px;height:40px;object-fit:contain;filter:brightness(0) invert(1);opacity:.75}
/* The thread is a compact visual bridge, rather than an extended scroll hold. */
.thread{min-height:0}.thread .chapter-stage{position:relative;top:auto;min-height:0;padding:110px 7% 85px}.thread-layout{align-items:center}.thread-image{height:clamp(185px,16vw,265px)}.thread .reveal{opacity:1;transform:none}.thread-header{margin-bottom:35px}.thread-bottom{margin-top:35px}.thread .chapter-next{bottom:23px}
@media(max-width:800px){.brand-monogram{width:30px;height:30px}.wordmark{gap:8px}.wordmark>span{font-size:10px;letter-spacing:.13em}.masthead{padding-left:5%;padding-right:5%}.masthead nav{gap:13px}.thread .chapter-stage{padding:100px 8% 90px}.thread-image{height:185px}.footer-signature img{width:34px;height:34px}}
@media(max-width:380px){.brand-monogram{width:26px;height:26px}.wordmark{gap:6px}.wordmark>span{font-size:9px}.masthead nav{gap:11px}.thread-image{height:165px}}
/* Readable type and consistent controls throughout the journey. */
.eyebrow,.story-card>.eyebrow,.scene-title>.eyebrow{font-size:12px;letter-spacing:.14em}.masthead nav a,.masthead nav button{font-size:15px;min-height:42px}.nav-context{font-size:12px;color:#e2ccef}.story-tabs button{font-size:15px;padding:5px 0 13px;min-height:44px;color:#d5c8de}.story-tabs button[aria-selected=true]{color:#fff1ff}.story-card p{font-size:16px;line-height:1.7;color:#e4dce9}.story-card h3{font-size:36px}.facts dt{font-size:13px;color:#c8b9d3}.facts dd{font-size:15px;color:#eee4f3}.facts div{grid-template-columns:110px 1fr}.soundtrack-link,.text-link{font-size:15px;line-height:1.6}.thread-copy p{font-size:16px;line-height:1.7}.thread-image span{font-size:14px}.thread-bottom{font-size:15px;color:#d2c4dc}.section-number{font-size:13px}.chapter-next{font-size:15px;min-height:44px}.chapter-next>span{font-size:12px;color:#ddcfe7}.scene-credit,.hero-credit{font-size:12px;color:#e2d7e7}.scroll-hint{font-size:13px}.index-links small,.index-links span{font-size:14px;color:#cfc0dd}.credits-dialog li,.credits-dialog p{font-size:16px}.close{min-width:44px;min-height:44px}.mobile-work-photo figcaption{font-size:12px;color:#d7c8e2}footer,footer .text-link{font-size:14px}.wordmark>span{font-size:16px}.project-air .scene-photo img{object-position:35% center}.story-panel:focus-visible{outline:2px solid var(--accent);outline-offset:6px}
/* A compact introduction followed by a shared row of companies and projects. */
.about{display:block;padding:95px 7% 90px}.about-intro{display:grid;grid-template-columns:.72fr 1.35fr;gap:7%;align-items:center;max-width:1120px;margin:auto}.about-photo{position:relative;top:auto;max-width:340px;align-self:center}.about-photo img{height:310px;max-height:none;object-fit:cover;object-position:center 35%}.about-copy h2{font-size:clamp(38px,3.4vw,52px);margin:18px 0 23px}.about-copy>p{font-size:17px;line-height:1.7;margin-top:17px}.about-copy>.eyebrow{font-size:12px;margin:0}.practice{margin-top:35px;padding-top:24px;border-top:1px solid #bdb0c7}.practice>.eyebrow{color:#6e527f;margin-bottom:20px}.practice-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}.practice-grid article{padding-left:20px;border-left:1px solid #bfb1c9}.practice-grid article:first-child{padding-left:0;border:0}.practice-grid article>span{font-size:12px;color:#6d567a;display:block;line-height:1.5}.practice-grid h3{font-family:'DM Sans',Arial,sans-serif;letter-spacing:0;font-size:16px;font-weight:500;line-height:1.5;margin:9px 0 11px}.practice-grid p{font-size:15px;line-height:1.65;color:#574b60}.about-next>span{color:#70567e}
@media(min-width:801px) and (max-height:850px){.story-card h3{font-size:34px}.story-card p{font-size:16px}.story-viewport{min-height:260px}.project .chapter-stage{padding-top:95px;padding-bottom:65px}.story-card{padding:22px 28px}.thread-copy p{font-size:16px}.about{padding-top:90px;padding-bottom:80px}.about-photo img{height:280px}.about-copy h2{font-size:40px}.about-copy>p{font-size:16px}.practice{margin-top:28px;padding-top:20px}}
@media(max-width:1050px) and (min-width:801px){.practice-grid{gap:18px}.practice-grid article{padding-left:15px}.practice-grid p{font-size:15px}.facts div{grid-template-columns:92px 1fr;gap:12px}}
@media(max-width:800px){.wordmark>span{font-size:11px}.masthead nav a,.masthead nav button{font-size:14px}.nav-context{font-size:11px}.masthead nav{gap:14px}.story-card p,.facts dd{font-size:16px}.story-tabs button{font-size:15px}.facts dt{font-size:14px}.facts div{grid-template-columns:90px 1fr}.scene-credit{font-size:12px}.hero-credit{font-size:11px;max-width:180px}.scroll-hint{font-size:12px;bottom:62px}.thread-image span{font-size:13px}.thread-copy p{font-size:17px}.thread-copy h2{font-size:41px}.thread-bottom{font-size:15px}.chapter-next{font-size:15px}.chapter-next>span{font-size:12px}.about{padding:90px 8% 95px}.about-intro{display:block}.about-photo{max-width:310px;margin:0 auto 32px}.about-photo img{height:260px}.about-copy h2{font-size:38px}.about-copy>p{font-size:17px}.practice{margin-top:30px}.practice-grid{grid-template-columns:1fr;gap:0}.practice-grid article,.practice-grid article:first-child{border:0;border-top:1px solid #c2b4cb;padding:18px 0;display:grid;grid-template-columns:85px 1fr;gap:7px 15px}.practice-grid article>span{grid-row:1 / 3;font-size:13px}.practice-grid h3{margin:0;font-size:16px}.practice-grid p{font-size:16px;grid-column:2}.about-next{bottom:20px}.footer-signature{font-size:13px}.soundtrack-link{font-size:15px}.index-links strong{font-size:27px}}
@media(max-width:380px){.wordmark>span{font-size:10px}.masthead nav{gap:11px}.masthead nav a,.masthead nav button{font-size:13px}.thread-copy h2{font-size:37px}}
/* One screen-sized thread composition, followed by a short scroll hold. */
@media(min-width:801px) and (min-height:651px){
 .thread{min-height:130svh;padding:0;overflow:visible}
 .thread .chapter-stage{position:sticky;top:0;height:100svh;min-height:0;padding:105px 7% 80px;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:24px;overflow:hidden}
 .thread-header,.thread-bottom{margin:0}
 .thread-layout{grid-template-columns:.95fr 1.15fr;gap:5%;height:100%;min-height:0;align-items:center}
 .thread-copy h2{font-size:clamp(42px,4.4vw,74px);line-height:1.06}
 .thread-copy p{font-size:17px;line-height:1.7;margin-top:24px}
 .thread-visuals{height:100%;min-height:0;margin:0;grid-template-rows:repeat(2,minmax(0,1fr));gap:18px}
 .thread-image{height:100%;min-height:0;inset:auto;width:auto}
 .thread-image span{font-size:15px;padding:40px 18px 16px}
 .thread-bottom{padding-top:18px;font-size:15px}
 .thread .chapter-next{bottom:22px}
}
@media(min-width:801px) and (max-height:760px){.thread .chapter-stage{padding-top:100px;padding-bottom:72px;gap:20px}.thread-copy h2{font-size:clamp(40px,4.2vw,60px)}.thread-copy p{font-size:16px;line-height:1.6;margin-top:20px}.thread-visuals{gap:14px}}
@media(min-width:801px) and (max-height:650px){.thread{min-height:0}.thread .chapter-stage{position:relative;height:auto;display:block}.thread-header{margin-bottom:30px}.thread-bottom{margin-top:30px}}
/* Give each project identity a clear place beside its story heading. */
.scene-title>p:last-child{font-size:clamp(18px,1.6vw,24px);line-height:1.45;max-width:440px;color:#fff7ff;font-weight:500;letter-spacing:0;text-shadow:0 2px 15px #0009}
@media(min-width:801px) and (min-height:651px){.thread-copy h2{font-size:clamp(42px,3.6vw,68px)}}
@media(max-width:800px){.scene-title>p:last-child{font-size:18px;max-width:330px;line-height:1.5}}
@media(min-width:801px) and (min-height:651px) and (max-height:850px){.project .chapter-stage{padding-bottom:80px}}

/* Closing chapters share the full-screen rhythm of the project stories. */
.about,.contact{padding:0;position:relative;min-height:120svh;overflow:visible}
.about-stage,.contact-stage{position:sticky;top:0;min-height:100svh;height:100svh;padding:100px 7% 75px}
.about-stage{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:28px;background:#eae5ec}
.about-intro{width:100%;max-width:none;grid-template-columns:.85fr 1.25fr;gap:7%;min-height:0}
.about-photo{width:100%;max-width:410px;margin:0;overflow:hidden}
.about-photo img{height:clamp(280px,40svh,440px);max-height:none;object-position:center 32%}
.practice{margin:0;padding-top:22px}.practice>.eyebrow{margin-bottom:16px}
.contact{min-height:100svh}
.contact-stage{display:grid;grid-template-rows:1fr auto;background:radial-gradient(ellipse at 85% 40%,#352145,#0e0b18 70%);padding-bottom:35px}
.contact-layout{display:grid;grid-template-columns:1.3fr .7fr;gap:8%;align-items:center}
.contact-monogram{display:block;width:100%;max-width:330px;height:auto;filter:brightness(0) invert(1);opacity:.82;justify-self:center}
.contact h2{font-size:clamp(65px,7.5vw,112px);margin:25px 0 35px}
.contact footer{margin:35px 0 0;padding-top:20px}
@media(min-width:801px) and (prefers-reduced-motion:no-preference){.about-photo img{transform:scale(1.06) translateY(calc(var(--portrait-travel,0)*12px));will-change:transform}}
@media(min-width:801px) and (max-height:760px){.about-stage{padding-top:100px;padding-bottom:70px;gap:22px}.about-copy h2{font-size:40px;margin:14px 0 18px}.about-copy>p{font-size:16px;margin-top:14px}.practice-grid{gap:20px}.practice-grid p{line-height:1.55}.contact h2{font-size:80px}}
@media(max-width:800px){.about,.contact{min-height:0}.about-stage,.contact-stage{position:relative;height:auto;min-height:100svh;padding:100px 8% 75px}.about-stage{display:block}.about-photo{max-width:420px;margin:0 0 35px}.about-photo img{height:390px;object-position:center 32%}.about-copy h2{font-size:40px}.about-copy>p{font-size:17px}.practice{margin-top:40px}.contact-stage{display:flex;flex-direction:column;padding-bottom:30px}.contact-layout{display:flex;flex-direction:column;align-items:flex-start;gap:45px;flex:1}.contact h2{font-size:64px}.contact-monogram{width:170px;max-width:55%;align-self:flex-end;margin:0 0 20px}.contact footer{margin-top:35px;gap:20px}.contact-mail{font-size:24px}}
@media(min-width:801px) and (max-height:650px){.about{min-height:0}.about-stage,.contact-stage{position:relative;height:auto;min-height:100svh}.about-stage{grid-template-rows:auto auto}.about-photo img{height:320px}}
@media(min-width:801px) and (min-height:651px){.about{min-height:calc(max(100svh,900px) + 20svh)}.about-stage{height:max(100svh,900px);min-height:900px;top:min(0px,calc(100svh - 900px))}.about-photo img{height:420px}}
.masthead{background:rgba(14,11,24,.94)}
/* Keep the complete portrait and group the practice row with the introduction. */
.about-stage{grid-template-rows:auto auto;align-content:start;gap:24px}
.about-photo{max-width:360px;overflow:visible}
.about-photo img{width:100%;height:auto;max-height:none;object-fit:contain;object-position:center;transform:none;will-change:auto}
@media(min-width:801px) and (min-height:651px){.about-stage{height:auto;min-height:max(100svh,900px);top:0}.about-intro{align-items:center}}
@media(max-width:800px){.about-photo{max-width:420px}.about-photo img{height:auto}.practice{margin-top:30px}}

.contact-thought{font-size:17px;line-height:1.7;max-width:550px;color:#dfd4e6;margin:0 0 26px}.contact h2{margin-bottom:24px}
@media(min-width:801px) and (max-height:760px){.contact-thought{font-size:16px;line-height:1.6}.contact h2{font-size:74px;margin-top:20px}}

/* About uses its content height, without an oversized empty scroll tail. */
.about{min-height:100svh}
.about-stage{height:auto;min-height:100svh;top:0;grid-template-rows:auto auto;gap:24px;align-content:center}
.about-photo{max-width:336px}.about-photo img{height:auto;width:100%;transform:none;object-fit:contain}
@media(max-width:800px){.about-stage{align-content:start}.about-photo{max-width:420px}}
/* A single prominent entry to the stories, set into the open side of the photograph. */
.hero>.enter{position:absolute;z-index:3;right:7%;top:52%;margin:0;display:flex;align-items:center;gap:22px;font-size:clamp(24px,2.6vw,38px);line-height:1.2;font-family:Georgia,'Times New Roman',serif;color:#fff7ff;text-shadow:0 2px 18px #0008}
.hero>.enter .circle-mark{width:70px;height:70px;font:32px Arial,sans-serif;background:#180e2470;border-color:#efdefc99;backdrop-filter:blur(8px)}
.hero>.enter:hover .circle-mark{transform:translate(3px,-3px);background:#382342a0}
@media(max-width:1000px) and (min-width:801px){.hero>.enter{font-size:26px;right:5%;gap:16px}.hero>.enter .circle-mark{width:58px;height:58px}}
@media(max-width:800px){.hero>.enter{left:8%;right:auto;top:auto;bottom:165px;font-size:25px;gap:20px}.hero>.enter .circle-mark{width:54px;height:54px;font-size:27px}.hero .hero-credit{bottom:80px}.hero .scroll-hint{bottom:38px}}
.about{min-height:0}.about-stage{min-height:min(100svh,940px);align-content:start}.about-photo{max-width:clamp(336px,28vw,410px)}
@media(max-width:800px){.about-stage{min-height:0}.about-photo{max-width:420px}}
/* Balance the homepage as two intentional columns. */
@media(min-width:801px){.hero-content{top:50%;transform:translateY(-50%);width:54%}.hero>.enter{top:50%;transform:translateY(-50%);padding:17px 22px;border:1px solid #e8d9f580;border-radius:4px;background:#160e237a;backdrop-filter:blur(10px);font-family:'DM Sans',Arial,sans-serif;font-size:clamp(22px,2.1vw,30px);text-shadow:none}.hero>.enter:hover{background:#2d1c40ba;border-color:#f5eaff}.hero>.enter .circle-mark{background:transparent;backdrop-filter:none;width:52px;height:52px;font-size:30px}.hero>.enter:hover .circle-mark{transform:rotate(90deg)}}
@media(max-width:800px){.hero>.enter{padding:12px 15px;border:1px solid #e8d9f580;border-radius:4px;background:#160e23a0;backdrop-filter:blur(8px);font-family:'DM Sans',Arial,sans-serif;font-size:21px;bottom:155px;gap:16px}.hero>.enter .circle-mark{width:46px;height:46px;font-size:28px;background:transparent}.hero>.enter:hover .circle-mark{transform:rotate(90deg)}}
/* About is a complete chapter; keep its content together within the viewport. */
.about{min-height:100svh}.about-stage{min-height:100svh;height:auto;align-content:center;grid-template-rows:auto auto;gap:24px}
@media(min-width:801px){.about-intro{grid-template-columns:1fr 1.15fr;gap:7%}.about-photo{max-width:clamp(336px,calc((100svh - 430px)*.8),580px)}}
@media(max-width:800px){.about-stage{min-height:100svh;align-content:start}.about-photo{max-width:420px}}
/* Clearer chapter destinations, with the context label kept secondary. */
.chapter-next{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:2px 16px;align-items:center;font-size:20px;line-height:1.3;min-height:52px;padding:4px 0;text-align:left}
.chapter-next>span{grid-column:1;grid-row:1;font-size:13px;line-height:1.3;letter-spacing:.04em}
.chapter-next i{grid-column:2;grid-row:1 / span 2;font-size:24px;line-height:1}
@media(max-width:800px){.project .chapter-stage{padding-bottom:100px}}
/* Give the person behind the work the same clear heading hierarchy. */
.about-copy h2{font-size:clamp(48px,4.2vw,64px);line-height:1.06}
@media(max-width:800px){.about-copy h2{font-size:44px}}
/* Keep the closing compositions together on wider screens. */
@media(min-width:801px){.about-intro,.practice{max-width:1200px;width:100%;margin-left:auto;margin-right:auto}.about-photo{justify-self:center}.contact-layout{max-width:1120px;width:100%;margin-left:auto;margin-right:auto;grid-template-columns:1.35fr .65fr;gap:6%}}
/* Mobile navigation has one entry point and a close control that stays in reach. */
.mobile-menu{display:none}.dialog-header{position:absolute;top:18px;right:25px}.index-dialog .close{position:static;display:flex;align-items:center;gap:12px;min-height:48px;padding:8px 12px}.index-dialog .close span{font-size:26px;line-height:1}
@media(max-width:800px){
 .masthead{padding:12px 6%;padding-top:calc(12px + env(safe-area-inset-top));min-height:76px;gap:14px}.masthead nav{display:none}
 .mobile-menu{display:flex;align-items:center;gap:12px;min-width:82px;min-height:48px;padding:0;font-size:15px}
 .brand-monogram{width:36px;height:36px}.wordmark{gap:11px}.wordmark>span{font-size:15px;letter-spacing:.13em}
 .index-dialog{inset:0;margin:0;width:100%;max-width:none;height:100dvh;max-height:100dvh;padding:0;border:0;overscroll-behavior:contain}
 .dialog-header{position:sticky;top:0;right:auto;z-index:2;display:flex;justify-content:flex-end;padding:12px 6%;padding-top:calc(12px + env(safe-area-inset-top));background:#100d1b;border-bottom:1px solid #d8c9ee25}
 .dialog-content{padding:24px 8% 36px;padding-bottom:calc(36px + env(safe-area-inset-bottom))}
 .index-dialog h2{font-size:40px;margin:18px 0 28px}.index-links a{padding:16px 0;min-height:74px;gap:5px 14px}.index-links strong{font-size:26px}.index-links small{font-size:14px}
 .hero{height:auto;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:115px 8% 120px}
 .hero-content{position:relative;top:auto;left:auto;width:100%;transform:none}
 .hero>.enter{position:relative;top:auto;right:auto;bottom:auto;left:auto;margin:32px 0 0;width:fit-content;max-width:100%}
 .hero .hero-credit{bottom:24px;right:8%;font-size:10px;max-width:170px}.hero .scroll-hint{bottom:26px;left:8%;font-size:11px;max-width:110px}
}
@media(max-width:360px){.wordmark>span{font-size:14px}.brand-monogram{width:32px;height:32px}.wordmark{gap:9px}.mobile-menu{gap:9px;min-width:76px}.project .scene{min-height:480px}.index-dialog h2{font-size:36px}.hero>.enter{font-size:19px;gap:13px;padding:11px 12px}.hero .hero-credit{max-width:140px}.project .scene-title{top:22%}}
