:root{--paper:#eeefed;--ink:#182528;--blue:#38767c;--yellow:#dce8cf}
.header{position:fixed;inset:0 0 auto;height:80px;background:transparent;border:0;color:white;transition:background .5s,color .5s;z-index:70}.header.scrolled{background:rgba(238,239,237,.94);color:var(--ink);backdrop-filter:blur(16px)}.header-contact{background:rgba(255,255,255,.13);border:1px solid #ffffff50;border-radius:40px;color:inherit}.header.scrolled .header-contact{background:var(--ink);color:white}.brand-symbol{font-size:43px}.desktop-nav a{font-size:10px;letter-spacing:1px}.reading-progress{background:#b9d4d0;height:2px}.water-journey{height:280svh;position:relative;background:#06171e}.photo-hero{position:sticky;top:0;height:100svh;min-height:650px;max-height:none;overflow:hidden;color:#fff;background:#06171e;padding:0}.photo-hero .hero-stage{inset:0;width:100%;height:100%;transform:none;opacity:1}.hero-photo{width:100%;height:100%;object-fit:cover;filter:none;transform:scale(1.08)}#water-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:1;opacity:0;transition:opacity 1.2s}.webgl-ready #water-canvas{opacity:1}.webgl-ready .hero-photo{opacity:0}.photo-hero .hero-shade{z-index:2;background:linear-gradient(180deg,#17120b33,transparent 40%,#17120b66)}.hero-meta{top:115px;left:5%;right:5%;font-size:9px;letter-spacing:2px;z-index:3}.photo-hero .hero-copy{position:absolute;left:8%;top:34%;width:80%;padding:0;z-index:4;transform:translateY(calc(var(--dive,0) * -160px));opacity:var(--copy-opacity,1);will-change:transform,opacity}.photo-hero h1{font-size:clamp(38px,5.7vw,88px);line-height:1.55;font-weight:500;letter-spacing:-.055em;filter:none}.photo-hero h1>span{display:block;white-space:normal}.photo-hero .shape-word:after{background:#c4ded4;height:2px;bottom:-3px}.hero-copy .eyebrow{font-size:9px;letter-spacing:3px;margin-bottom:28px}.photo-hero .hero-description{font-size:13px;line-height:2.4;margin-top:24px;opacity:.85}.hero-actions{margin-top:34px;gap:30px}.hero-primary{background:#e9f0e91c;border:1px solid #c8dfdf70;border-radius:40px;color:white;min-height:54px;padding:12px 28px;backdrop-filter:blur(8px)}.hero-secondary{font-size:11px;color:#edf3ef}.hero-corner{display:none}.water-caption{position:absolute;right:6%;bottom:17%;z-index:4;font:500 clamp(12px,1.4vw,22px)/1.7 var(--latin);letter-spacing:3px;opacity:var(--copy-opacity,1)}.hero-foot{position:absolute;inset:auto 5% 28px;z-index:4;opacity:var(--copy-opacity,1);border-color:#ffffff40;font-size:8px}.hero-foot>span{letter-spacing:1px}.motion-toggle i{border-color:white}.motion-toggle i:after{background:white}.dive-caption{position:fixed;top:44%;left:0;width:100%;text-align:center;color:#e7f3ee;z-index:5;pointer-events:none;opacity:var(--dive-opacity,0);transform:translateY(calc((1 - var(--dive-opacity,0)) * 24px));visibility:hidden}.diving .dive-caption{visibility:visible}.dive-caption p{font:10px var(--latin);letter-spacing:5px;margin-bottom:25px}.dive-caption h2{font-size:clamp(28px,4vw,60px);font-weight:500;letter-spacing:.06em}.dive-caption>span{display:block;margin-top:22px;font-size:12px;letter-spacing:2px}.dive-vignette{position:absolute;bottom:0;height:70svh;width:100%;background:linear-gradient(transparent,#06171e);pointer-events:none;z-index:3}
.works{position:relative;background:var(--paper);border-radius:44px 44px 0 0;margin-top:-44px;padding-top:100px;z-index:7}.works-heading{padding-bottom:40px}.display-title{font-weight:500;letter-spacing:-.05em}.works-heading .display-title{font-size:clamp(52px,7.5vw,118px);line-height:.98}.title-outline{-webkit-text-stroke:0!important;color:#8b9a98!important}.yellow-star{color:#698d85;font-size:.6em}.portfolio-film{border-radius:20px;background:#dce2de}.film-group>button{border-radius:9px;background:#eef0e8}.works-grid{gap:64px 28px}.work-card{grid-column:span 6!important}.work-card:nth-child(even){padding-top:90px}.work-image{height:540px!important;border-radius:14px;transition:transform .7s cubic-bezier(.2,.7,.2,1);transform:perspective(1200px) rotateX(var(--tilt,0deg));will-change:transform}.work-image:hover{transform:perspective(1200px) rotateX(0deg) scale(.985)}.work-caption{padding-top:20px}.work-caption h3{font-size:19px;font-weight:500}.work-caption>span{font-size:9px;letter-spacing:1px}.work-view{border-radius:40px}.image-wall{margin-top:70px}.wall-item{border-radius:9px;overflow:hidden}.visual-intro{background:#172e33;color:#e7f0ea;padding:140px 7%;margin:0}.visual-intro h2{font-weight:500;font-size:clamp(30px,4vw,60px)}.consult{padding-top:100px}.visual-services{background:#e5ebe4}.contact{background:#17393d;color:#eaf0e9}.contact-cta{background:#dbe8d5;color:#17393d}.contact-title{font-weight:500}.contact-spark{color:#99b6a7}.ticker-blue{background:#17393d}.big-statement{color:#45645f}.mobile-menu{z-index:65;background:var(--paper);color:var(--ink);padding-top:100px}
@media(max-width:760px){.header{height:70px;padding:0 5%}.brand-symbol{font-size:36px}.photo-hero{min-height:620px}.hero-meta{top:98px;font-size:7px;letter-spacing:1px}.photo-hero .hero-copy{top:31%;left:7%;width:86%}.photo-hero h1{font-size:clamp(26px,6.8vw,43px);line-height:1.8}.hero-copy .eyebrow{font-size:7px;letter-spacing:1.8px;margin-bottom:24px}.photo-hero .hero-description{font-size:11px;margin-top:25px}.hero-actions{display:flex;flex-direction:column;align-items:flex-start;gap:20px;margin-top:28px}.hero-primary{min-height:48px;font-size:11px}.water-caption{bottom:15%;right:7%;font-size:10px;letter-spacing:1px}.hero-foot{bottom:20px;left:7%;right:7%;font-size:7px}.hero-foot>span{display:none}.water-journey{height:250svh}.works{border-radius:26px 26px 0 0;padding-top:65px}.works-heading .display-title{font-size:44px}.works-grid{gap:35px}.work-card{grid-column:span 12!important}.work-card:nth-child(even){padding-top:0}.work-image{height:420px!important}.work-caption h3{font-size:16px}.visual-intro{padding:90px 7%}.header-contact{padding:9px 13px;font-size:9px}.menu-toggle span{background:currentColor}.dive-caption h2{font-size:27px}.dive-caption>span{font-size:10px}.dive-caption p{font-size:8px}}
@media(prefers-reduced-motion:reduce){.water-journey{height:100svh}.photo-hero{position:relative}.dive-caption,.dive-vignette{display:none}.work-image{transform:none!important}.hero-copy{transform:none!important;opacity:1!important}.water-caption,.hero-foot{opacity:1!important}}
/* Override the retained photographic hero's sizing and layout rules. */
body .water-journey .hero.photo-hero{position:sticky;top:0;height:100svh;min-height:0;max-height:none;padding:0;display:block}
body .photo-hero .hero-meta{position:absolute;top:115px;left:5%;right:5%;width:90%;display:flex;justify-content:space-between}
body .photo-hero .hero-primary{background:#e9f0e91c;border:1px solid #c8dfdf70;border-radius:40px;color:white;min-height:54px;padding:12px 28px;backdrop-filter:blur(8px)}
body .photo-hero .hero-copy{pointer-events:none}
body .photo-hero .hero-actions{pointer-events:auto}
body .photo-hero .hero-foot{height:auto;bottom:28px}
@media(max-width:760px){body .photo-hero .hero-meta{top:98px}body .photo-hero .hero-foot{bottom:20px}body .photo-hero .hero-foot>span{display:none}body .photo-hero .hero-copy{padding-top:0;width:86%}body .photo-hero .hero-copy>.eyebrow{margin-bottom:8px}body .photo-hero .hero-actions{gap:15px}body .photo-hero .hero-primary{min-height:48px}}
@media(prefers-reduced-motion:reduce){body .water-journey .hero.photo-hero{position:relative}}
.visible-work{animation:portfolioRise .9s both}
@keyframes portfolioRise{from{opacity:.25;translate:0 35px}to{opacity:1;translate:0 0}}
.motion-off .visible-work{animation:none}
@media(prefers-reduced-motion:reduce){.visible-work{animation:none}}
@media(min-width:761px){body .photo-hero .hero-copy{top:29%}body .photo-hero h1{font-size:clamp(38px,5.1vw,80px);margin:18px 0}body .photo-hero .hero-description{margin-top:20px}body .photo-hero .hero-actions{margin-top:24px}body .hero-copy .eyebrow{margin-bottom:20px}}
.works-grid{grid-template-columns:repeat(12,minmax(0,1fr))}.work-card{min-width:0}.work-image{width:100%}
.motion-off .hero-copy,.motion-off .hero-foot,.motion-off .water-caption{opacity:1!important;transform:none!important}
@media(max-width:760px){.works-grid{grid-template-columns:minmax(0,1fr);gap:35px 0}.work-card{grid-column:1/-1!important}}
