:root{--ink:#171c2c;--paper:#f7f6f2;--sea:#082834;--mint:#9de3d4;--violet:#887cc9;--muted:#69717b;--pad:clamp(24px,6.5vw,110px);font-family:'Segoe UI',Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{cursor:default;opacity:.35}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid #628eac;outline-offset:5px}::selection{background:#b6e2d7;color:#112e34}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.055em;line-height:1.06}h2{font-size:clamp(42px,5.6vw,84px)}h2 em{font-weight:400;color:#6b6f99}p{line-height:1.8}.eyebrow{font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;margin-bottom:24px}.pill{display:inline-flex;align-items:center;justify-content:center;gap:28px;padding:17px 25px;border:1px solid #9dabc855;border-radius:100px;font-size:14px;transition:background .25s,transform .25s}.pill:hover{transform:translateY(-3px);background:#aecfc522}.pill.primary{background:var(--ink);color:white;border-color:var(--ink)}.pill.primary:hover{background:#34445a}.pill.light{background:linear-gradient(115deg,#eee4ff,#c3ecdf);border:0;color:#182536}.skip{position:fixed;top:-80px;left:20px;z-index:100;background:white;padding:15px}.skip:focus{top:15px}.site-header{position:fixed;top:0;left:0;width:100%;z-index:40;padding:24px var(--pad);display:flex;align-items:center;justify-content:space-between;gap:20px;color:white;transition:background .4s,color .4s,padding .4s}.site-header.solid{background:#f7f6f2ed;color:var(--ink);backdrop-filter:blur(18px);padding-top:15px;padding-bottom:15px;border-bottom:1px solid #171c2c12}.brand{font-size:21px;font-weight:600;letter-spacing:.26em}.brand em{font-style:normal;color:#6cbaa9}.site-header nav{display:flex;gap:32px;align-items:center;font-size:14px}.site-header .pill{padding:11px 21px}.progress{position:fixed;top:0;left:0;height:2px;width:100%;transform-origin:left;transform:scaleX(0);background:var(--mint);z-index:50}.film-section{height:436svh;position:relative;background:radial-gradient(ellipse at 50% 38%,#dce9ec,#f7f6f2 66%)}.film-sticky{position:sticky;top:0;height:100svh;overflow:hidden;perspective:1400px}.monitor{position:absolute;inset:0;transform-origin:center;will-change:transform;width:100%;height:100%;border:0 solid #20252d;border-radius:0;background:#070d17;box-shadow:0 50px 100px #0b263522}.monitor video{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%;border-radius:inherit}.monitor:after{content:'';position:absolute;top:100%;left:0;width:100%;height:5.5%;background:linear-gradient(100deg,#757d87,#d5dae0 45%,#929aa6);border-radius:0 0 12px 12px;opacity:var(--computer,0)}.stand{position:absolute;top:105%;left:41%;width:18%;height:14%;background:linear-gradient(90deg,#7a838d,#d5dce2 48%,#858f99);clip-path:polygon(24% 0,76% 0,90% 88%,100% 94%,100% 100%,0 100%,0 94%,10% 88%);opacity:var(--computer,0)}.film-shade{position:absolute;inset:0;background:linear-gradient(#02091888,transparent 30%,transparent 55%,#040b17a8);pointer-events:none;opacity:var(--opening,1)}.film-title{position:absolute;left:var(--pad);right:var(--pad);bottom:12%;color:white;pointer-events:none;opacity:var(--opening,1);transform:translateY(calc((1 - var(--opening,1))*-35px))}.film-title h1{font-size:clamp(78px,16vw,260px);letter-spacing:-.07em;line-height:.85}.film-title .eyebrow{margin-bottom:28px;color:#c1e9df}.film-title p:last-child{margin-top:24px;font-size:clamp(16px,1.4vw,22px);max-width:480px}.film-instructions{position:absolute;left:var(--pad);right:var(--pad);bottom:28px;display:flex;justify-content:space-between;gap:20px;color:white;font-size:12px;letter-spacing:.12em;opacity:var(--opening,1)}.film-instructions span:last-child{animation:nudge 2s ease-in-out infinite}.reveal-caption{position:absolute;bottom:5%;left:var(--pad);right:var(--pad);text-align:center;opacity:var(--reveal,0);transform:translateY(calc((1 - var(--reveal,0))*30px))}.reveal-caption h2{font-size:clamp(32px,4.5vw,66px)}.reveal-caption .eyebrow{color:#657b80;margin-bottom:12px}.scene-controls{position:absolute;right:var(--pad);top:100px;z-index:5;display:flex;gap:10px}.scene-controls button,.scene-controls a{padding:9px 14px;background:#08162080;backdrop-filter:blur(12px);border:1px solid #ffffff44;border-radius:100px;color:white;font-size:12px}.film-state{position:absolute;top:150px;right:var(--pad);font-size:12px;color:white;background:#07121e88;padding:5px 10px;border-radius:10px}.film-state:empty{display:none}.intro{position:relative;padding:140px var(--pad) 170px;text-align:center;overflow:hidden;min-height:90svh;background:radial-gradient(ellipse at 50% 20%,#dce9e444,transparent 65%)}.intro-inner{position:relative;z-index:2;max-width:880px;margin:auto}.intro h2{font-size:clamp(42px,5.8vw,90px)}.intro p.copy{max-width:650px;margin:35px auto;color:#5b646d;font-size:18px}.intro .eyebrow{color:#627e79}.debris{position:absolute;width:clamp(70px,13vw,210px);aspect-ratio:.75;background-image:url('assets/debris-v5.png');background-size:400% 100%;pointer-events:none;will-change:transform}.debris.d1{left:-2%;top:7%;background-position:0% 0}.debris.d2{right:0%;top:19%;background-position:33.333% 0;width:12vw;filter:blur(.5px)}.debris.d3{left:10%;bottom:7%;background-position:66.667% 0;width:8vw}.debris.d4{right:12%;bottom:-3%;background-position:100% 0;width:8vw}.signature{margin-top:45px;font-size:12px;letter-spacing:.18em;color:#5c7576}.services{position:relative;background:#080f1d;color:#f2f1eb;padding:95px 0 60px;overflow:hidden;isolation:isolate}.services:before{content:'';position:absolute;inset:0;background:linear-gradient(#080f1d90,#080f1de0),url('assets/underwater-v3.png') center/cover;z-index:-2}.services:after{content:'';position:absolute;inset:0;background-image:radial-gradient(#b3dcdd55 .6px,transparent .8px);background-size:55px 55px;z-index:-1;pointer-events:none}.services-header{padding:0 var(--pad);display:flex;justify-content:space-between;gap:25px;align-items:end}.services .eyebrow{color:#acc9d1}.services h2{font-size:clamp(40px,4.8vw,72px)}.services h2 em{color:#aec9e0}.gallery-controls{display:flex;align-items:center;gap:10px}.gallery-controls button{width:48px;height:48px;border-radius:50%;border:1px solid #ccd8f13f;color:white;background:#ffffff0b;font-size:22px}.gallery-controls button:hover:not(:disabled){background:#ffffff20}.gallery-count{font-size:13px;font-variant-numeric:tabular-nums;letter-spacing:.15em;white-space:nowrap;margin-right:15px}.gallery-stage{position:relative;height:610px;perspective:1400px;touch-action:pan-y;outline-offset:-6px!important}.service-slide{position:absolute;left:50%;top:60px;width:min(600px,65vw);height:455px;overflow:hidden;border-radius:26px;border:1px solid #bec4da55;box-shadow:0 40px 80px #0006;background:#142633;transform:translateX(-50%);transition:transform .7s cubic-bezier(.2,.75,.2,1),opacity .6s,filter .6s;will-change:transform}.service-slide:before{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#030a15f5 2%,#030a1533 75%),var(--art) center/cover;z-index:-1}.service-slide{isolation:isolate}.service-slide:after{content:'';position:absolute;inset:0;background:linear-gradient(130deg,#6bd9cf18,transparent 50%,#877ee52a);pointer-events:none}.slide-meta{position:absolute;left:28px;top:26px;right:28px;display:flex;justify-content:space-between;gap:10px;font-size:12px;letter-spacing:.1em}.slide-meta span{padding:9px 12px;border:1px solid #ffffff30;border-radius:40px;background:#06152288;backdrop-filter:blur(10px)}.slide-content{position:absolute;bottom:30px;left:32px;right:32px}.slide-content h3{font-size:clamp(32px,3.1vw,46px);margin-bottom:15px}.slide-content p{color:#cbd5df;line-height:1.6;font-size:16px;max-width:440px}.slide-content a{display:inline-flex;align-items:center;gap:30px;margin-top:20px;font-size:14px;border-bottom:1px solid #adcecf66;padding-bottom:6px}.slide-symbol{position:absolute;top:90px;left:35px;font-family:Georgia,serif;color:#cef5ea88;font-size:80px;font-style:italic;text-shadow:0 0 35px #71d6c4;letter-spacing:-.08em}.gallery-bottom{padding:0 var(--pad);display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:12px;letter-spacing:.08em;color:#b9c4d3}.gallery-dots{display:flex;gap:10px}.gallery-dots button{border:0;width:8px;height:8px;padding:0;border-radius:20px;background:#b4d2d440;transition:.4s;position:relative}.gallery-dots button:before{content:'';position:absolute;inset:-10px}.gallery-dots button[aria-current]{width:30px;background:#a8e3d4;box-shadow:0 0 16px #8ceacf66}.offer{padding:130px var(--pad);background:radial-gradient(ellipse at 70% 50%,#e7e4f1aa,transparent 60%)}.section-center{text-align:center;max-width:900px;margin:0 auto 65px}.section-center .eyebrow{color:#718083}.section-center>p:last-child{max-width:600px;margin:24px auto 0;color:#68717b;font-size:18px}.offer-grid{max-width:1080px;margin:auto;display:grid;grid-template-columns:1fr 1.05fr;gap:55px;align-items:center}.offer-story h3{font-size:38px;margin-bottom:25px}.offer-story>p{font-size:17px;color:#636d78;max-width:410px}.steps{margin-top:36px}.step{display:flex;gap:18px;margin-top:22px}.step>span{font-size:12px;color:#758d91;padding-top:4px}.step b{display:block;font-weight:500;margin-bottom:6px}.step p{font-size:15px;color:#697681;line-height:1.65}.price-panel{position:relative;border:1px solid #b6b3d6;border-radius:26px;padding:45px;background:linear-gradient(145deg,#fff,#f8f6ff);box-shadow:0 25px 80px #45406a12}.price-panel .eyebrow{color:#666688}.price{display:flex;align-items:baseline;gap:10px;margin-top:10px}.price strong{font-family:Georgia,serif;font-size:105px;line-height:1.1;font-weight:400;letter-spacing:-.08em}.price strong small{font-size:50px;vertical-align:top;position:relative;top:14px;margin-left:5px}.price span{font-size:15px;color:#6c7185}.price-prefix,.price-note{font-size:14px;color:#717689}.price-note{margin:10px 0 25px}.included{list-style:none;padding:25px 0 0;margin:0 0 32px;border-top:1px solid #dddde9}.included li{display:flex;gap:13px;margin:17px 0;font-size:16px;color:#50586a}.included li:before{content:'✦';color:#819bba}.price-panel .pill{width:100%;background:linear-gradient(110deg,#253f4c,#5b5288);border:0;color:white}.offer-footnote{font-size:13px;color:#777d86;line-height:1.7;margin-top:18px}.projects{padding:30px var(--pad) 110px}.projects-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:30px}.projects h2{font-size:40px}.project-row{border-top:1px solid #19263922}.project-row:last-child{border-bottom:1px solid #19263922}.project-row summary{display:flex;align-items:center;gap:25px;padding:25px 0;cursor:pointer;list-style:none}.project-row summary::-webkit-details-marker{display:none}.project-row summary small{font-size:12px;letter-spacing:.13em;color:#747e8b}.project-row summary strong{font-family:Georgia,serif;font-weight:400;font-size:32px;letter-spacing:-.04em}.project-row summary span{margin-left:auto;font-size:24px;color:#6e8892}.project-row p{padding:0 0 25px;color:#606c76}.contact{padding:100px var(--pad) 125px;background:radial-gradient(ellipse at 30% 50%,#dfefecaa,transparent 60%),#f4f2f7}.contact .section-center{margin-bottom:50px}.contact h2 em{background:linear-gradient(100deg,#6c6198,#798db4,#398c8e);color:transparent;background-clip:text}.brief-form{max-width:1040px;margin:auto;background:#ffffffb8;border:1px solid white;box-shadow:0 25px 90px #2926490c;border-radius:28px;padding:44px}.brief-form label,.brief-form legend{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#6c6984}.brief-form textarea{width:100%;min-height:160px;border:0;resize:vertical;padding:20px 0;background:transparent;color:var(--ink);font-family:Georgia,serif;font-size:26px;line-height:1.5;outline-offset:2px}.brief-form textarea::placeholder{color:#9892ac}.brief-form fieldset{border:0;padding:0;margin:12px 0 30px}.brief-form legend{margin-bottom:16px}.service-choices{display:flex;flex-wrap:wrap;gap:9px}.choice{position:relative;cursor:pointer;letter-spacing:0!important;text-transform:none!important;font-size:14px!important}.choice input{position:absolute;opacity:0;width:1px;height:1px}.choice span{display:block;padding:9px 14px;border:1px solid #d9d5e5;border-radius:40px;background:white;transition:.2s}.choice input:checked+span{background:#253b48;color:white;border-color:#253b48}.choice input:focus-visible+span{outline:2px solid #667ca4;outline-offset:3px}.form-fields{display:grid;grid-template-columns:1fr 1fr 1fr;gap:22px;padding-top:26px;border-top:1px solid #dce1e6}.form-fields label{display:block}.form-fields input{display:block;width:100%;border:0;border-bottom:1px solid #cdd4de;background:transparent;padding:14px 0;font-size:16px;color:#1c3340;border-radius:0}.form-bottom{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:32px}.form-bottom>p{font-size:13px;color:#78808b;max-width:470px}.form-status{font-size:15px;margin-top:20px;color:#4c6671}.form-status:empty{display:none}.direct-contact{font-size:14px;margin-top:28px;text-align:center;color:#727e87}.direct-contact a{text-decoration:underline;text-underline-offset:4px}.footer{position:relative;background:#071421;color:white;padding:95px var(--pad) 28px;overflow:hidden;isolation:isolate}.footer:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#071421,#07142144),url('assets/abyss-v3.png') right center/cover;opacity:.42;z-index:-1}.footer-top{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:80px}.footer h2{font-size:clamp(38px,4.5vw,66px);max-width:650px}.footer h2 em{color:#a9d5d3}.footer-wordmark{font-family:Georgia,serif;font-size:clamp(90px,20.3vw,320px);line-height:.82;letter-spacing:-.07em;border-bottom:1px solid #c8dad72f;padding-bottom:30px;color:#d8e8e5}.footer-wordmark em{font-style:italic;color:#9ec4d0}.footer-bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:28px;font-size:12px;color:#a2b6be}.footer-bottom nav{display:flex;gap:22px}.reveal{opacity:1}.js .reveal{opacity:0;transform:translateY(35px);transition:opacity .9s,transform 1s cubic-bezier(.2,.8,.2,1)}.js .reveal.visible{opacity:1;transform:none}@keyframes nudge{50%{transform:translateY(5px)}}.reduced .film-section{height:100svh}.reduced .film-sticky{position:relative}.reduced .reveal-caption{display:none}.reduced .film-instructions span:last-child{animation:none}.reduced .reveal{opacity:1;transform:none}.reduced *, .reduced *:before,.reduced *:after{transition:none!important;animation:none!important}
@media(max-width:800px){.site-header nav>a:not(.pill){display:none}.site-header{padding-top:20px}.site-header .pill{padding:10px 15px;font-size:12px}.brand{font-size:18px}.film-section{height:calc(100svh + 3.36 * min(100svh,720px))}.film-title{bottom:17%}.film-title h1{font-size:19vw}.film-title p:last-child{max-width:270px}.film-title .eyebrow{font-size:10px;letter-spacing:.1em}.film-instructions{font-size:10px;bottom:28px}.film-instructions span:first-child{max-width:140px}.scene-controls{top:85px}.scene-controls a,.scene-controls button{font-size:11px;padding:8px 11px}.reveal-caption{bottom:15%;}.reveal-caption h2{font-size:35px}.intro{padding-top:95px;padding-bottom:110px;min-height:auto}.intro p.copy{font-size:17px}.debris.d1{width:85px;left:-35px;top:0}.debris.d2{width:75px;right:-30px;top:45%}.debris.d3,.debris.d4{width:50px}.services{padding-top:75px}.services-header{display:block}.gallery-controls{margin-top:30px;justify-content:end}.gallery-stage{height:540px}.service-slide{width:82vw;height:410px;top:35px;border-radius:20px}.slide-content{left:23px;right:23px;bottom:25px}.slide-content p{font-size:15px}.slide-content h3{font-size:34px}.slide-meta{left:20px;right:20px;top:20px;font-size:10px}.slide-symbol{font-size:60px;top:90px;left:25px}.gallery-bottom{justify-content:center}.gallery-bottom>span{display:none}.offer{padding-top:90px;padding-bottom:80px}.section-center>p:last-child{font-size:16px}.offer-grid{grid-template-columns:1fr;gap:40px}.offer-story>p{max-width:none}.price-panel{padding:32px 27px}.projects{padding-bottom:80px}.projects-heading{display:block}.project-row summary{gap:14px;flex-wrap:wrap}.project-row summary strong{font-size:27px}.project-row summary small{font-size:10px}.contact{padding-top:80px;padding-bottom:90px}.brief-form{padding:27px 22px;border-radius:22px}.brief-form textarea{font-size:23px}.form-fields{grid-template-columns:1fr;gap:23px}.form-bottom{flex-direction:column;align-items:stretch}.form-bottom .pill{width:100%}.footer{padding-top:70px}.footer-top{display:block;margin-bottom:65px}.footer-top .pill{margin-top:30px}.footer-bottom{font-size:12px}.footer-wordmark{font-size:19vw}.eyebrow{font-size:11px}.signature{font-size:10px;letter-spacing:.1em}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js .reveal{opacity:1;transform:none}}
/* Keep the whole ship visible on narrow screens; extend its atmosphere behind it. */
@media(max-width:800px){.monitor:before{content:'';position:absolute;inset:0;background:linear-gradient(#06101b88,#06101b66),url('assets/film-poster-v5.png') center/cover;filter:blur(15px);opacity:calc(1 - var(--computer,0))}.monitor video{position:relative;object-fit:contain}.monitor{overflow:visible}.film-title{bottom:17%}.scene-controls{flex-wrap:wrap;justify-content:end;left:var(--pad)}}
.whatsapp-retry{display:inline-block;margin-top:18px;font-size:14px;text-decoration:underline;text-underline-offset:4px}.whatsapp-retry[hidden]{display:none}
/* A single surface crossing, then a continuous underwater world. */
.film-section{background:radial-gradient(ellipse at 50% 35%,#254c59,#081e2c 75%);color:#edf6f3}.reveal-caption h2 em{color:#a9d9d3}.reveal-caption .eyebrow{color:#add0cf}
.intro{isolation:isolate;background:#082c38;color:#edf9f5;min-height:115svh;padding-top:190px;padding-bottom:170px}.intro:before{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,#12728244 0%,#073141b8 36%,#071b2bf0 100%),url('assets/underwater-v3.png') center 40%/cover;transform:scale(1.08) translateY(calc(var(--dive,0)*-35px));}.intro:after{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 50% 48%,#062431b8,transparent 72%);pointer-events:none}.intro h2{text-shadow:0 5px 30px #03162488}.intro h2 em{color:#aae8db}.intro p.copy{color:#d2e5e7}.intro .eyebrow,.signature{color:#9bd3ce}.intro .pill.primary{background:linear-gradient(115deg,#c4f0df,#c2d9eb);color:#102f3c;border-color:transparent;box-shadow:0 0 40px #8bdfd21c}
.waterline{position:absolute;top:-36px;left:-10%;width:120%;height:95px;border-radius:0 0 50% 48%;background:linear-gradient(#081e2c 35%,#185363 82%,#a8ece59c 94%,#3eb1ba44);box-shadow:0 10px 35px #65e2d52e;animation:surface-swell 7s ease-in-out infinite;z-index:3;pointer-events:none}.waterline:after{content:'';position:absolute;inset:68% 0 -9%;border-bottom:1px solid #b2fff1aa;border-radius:0 0 50% 50%;filter:blur(1px)}
.water-light{position:absolute;inset:-20% -20% 0;z-index:-1;background:repeating-conic-gradient(from 161deg at 50% 0%,transparent 0deg 7deg,#98f7e21c 8deg 11deg,transparent 13deg 23deg);filter:blur(10px);transform-origin:50% 0%;animation:water-rays 12s ease-in-out infinite alternate;pointer-events:none;mask-image:linear-gradient(#000,transparent 90%)}
.sea-life{position:absolute;inset:0;pointer-events:none;overflow:hidden}.sea-life i{position:absolute;left:calc(5% + var(--i)*6.7%);top:110%;width:calc(2px + var(--i)*.3px);aspect-ratio:1;border:1px solid #a0eadd70;border-radius:50%;box-shadow:0 0 12px #9cfada55;animation:bubble-rise calc(12s + var(--i)*.8s) linear infinite;animation-delay:calc(var(--i)*-2.1s)}
.depth{position:absolute;right:var(--pad);top:105px;display:flex;align-items:center;gap:18px;font-size:10px;letter-spacing:.22em;color:#9cc9cc}.depth span{border-top:1px solid #9cc9cc66;padding-top:8px;min-width:65px;font-variant-numeric:tabular-nums}.depth b{font-weight:400}
.intro .debris{z-index:1;filter:brightness(.78) saturate(.7) drop-shadow(0 15px 20px #00121d88);top:6%;bottom:auto}.intro .d1{left:-3%}.intro .d2{top:16%;right:-1%}.intro .d3{top:38%;left:5%;filter:brightness(.5) blur(1px)}.intro .d4{top:44%;right:7%;filter:brightness(.6) blur(.7px)}
.services:before{background:linear-gradient(#071b2bf2,#080f1dbb 40%,#080f1de0),url('assets/underwater-v3.png') center/cover}
@keyframes surface-swell{50%{transform:translateY(12px) rotate(-.65deg) scaleX(1.04)}}@keyframes water-rays{to{transform:rotate(7deg) scaleX(1.13);opacity:.55}}@keyframes bubble-rise{0%{transform:translate3d(0,0,0);opacity:0}12%{opacity:.8}85%{opacity:.5}100%{transform:translate3d(35px,-140svh,0);opacity:0}}
@media(max-width:800px){.intro{padding-top:150px;padding-bottom:120px;min-height:100svh}.depth{top:80px}.intro .d1{left:-45px}.intro .d2{right:-30px}.intro .d3{left:-12px}.intro .d4{right:-10px}.water-light{opacity:.6}.intro h2{font-size:clamp(40px,8vw,60px)}}
/* Chapter transitions and a scroll-led service sequence. */
.chapter-line{display:flex;align-items:center;gap:26px;color:#a3cbc9;font-size:12px;letter-spacing:.2em}.chapter-line:before,.chapter-line:after{content:'';height:1px;flex:1;background:linear-gradient(90deg,transparent,#86d1c8aa)}.chapter-line:after{transform:scaleX(-1)}.chapter-line span{white-space:nowrap}.services{padding:0;overflow:visible;height:590svh;isolation:auto}.services:before,.services:after{display:none}.services-sticky{position:sticky;top:0;height:100svh;min-height:620px;padding:85px 0 25px;overflow:hidden;background:linear-gradient(#071b2bf2,#080f1dbb 50%,#080f1de0),url('assets/underwater-v3.png') center/cover;display:flex;flex-direction:column}.services-sticky>.chapter-line{margin:0 var(--pad) 25px}.services-header{align-items:center}.services h2{font-size:clamp(38px,4.2vw,65px)}.services .eyebrow{margin-bottom:12px}.gallery-stage{height:auto;flex:1;min-height:330px}.service-slide{top:24px;height:calc(100% - 48px);max-height:455px}.gallery-bottom{position:relative;flex-wrap:wrap;min-height:45px}.gallery-bottom>span:first-child{display:none}.gallery-skip{font-size:12px;color:#d0e4e2;text-decoration:underline;text-underline-offset:5px}
/* A sculptural Kraken embraces the subscription card. */
.offer{overflow:hidden;background:radial-gradient(ellipse at 70% 55%,#bed6d466,transparent 55%),#f7f6f2}.offer-grid{gap:95px}.price-scene{position:relative;isolation:isolate;padding:44px 12px 65px;margin:5px -12px 0}.price-panel{border:1px solid #68a7a780;border-radius:22px;background:linear-gradient(145deg,#193c48,#0b2130 70%);color:#eef6f4;box-shadow:0 35px 75px #062b3c33;padding:43px 35px;z-index:1}.price-panel .eyebrow{color:#a0dacf}.price-panel .price-prefix,.price-panel .price span,.price-panel .price-note,.price-panel .offer-footnote{color:#b8cdd1}.price-panel .included{border-color:#a6dad433}.price-panel .included li{color:#dfedea}.price-panel .included li:before{color:#88d7c4}.price-panel .pill{background:linear-gradient(115deg,#c6edde,#bacddd);color:#173140}.price-kraken{position:absolute;z-index:2;width:145%;height:133%;max-width:none;left:-22.5%;top:-13%;object-fit:fill;pointer-events:none;filter:drop-shadow(0 16px 16px #071d2733);animation:kraken-breathe 8s ease-in-out infinite;transform-origin:50% 60%}.price-panel>*{position:relative;z-index:3}.price-scene .price-panel{z-index:auto}@keyframes kraken-breathe{50%{transform:translateY(-6px) rotate(.65deg)}}
/* Editorial project covers; these are typographic treatments, not site screenshots. */
.projects{padding:55px var(--pad) 0;background:#eeeef0}.projects .chapter-line{color:#536a78;margin-bottom:65px}.projects .chapter-line:before,.projects .chapter-line:after{background:linear-gradient(90deg,transparent,#6c929a99)}.projects-heading{margin-bottom:42px;align-items:end}.projects h2{font-size:clamp(42px,5.3vw,78px)}.projects h2 em{color:#657e8d}.projects-heading>p{color:#61717b;font-size:16px;max-width:320px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding-bottom:75px}.project-card{position:relative;min-height:460px;border-radius:10px;overflow:hidden;padding:30px;display:flex;flex-direction:column;transition:transform .5s,box-shadow .5s}.project-card:hover{transform:translateY(-8px);box-shadow:0 25px 50px #18313722}.geranium{background:#213f3e;color:#f3e9d5}.creatvar{background:#dbd5ec;color:#2c2844}.project-index{font-size:12px;letter-spacing:.18em}.project-identity{flex:1;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:20px}.project-identity>span{font:italic 145px/.9 Georgia,serif;letter-spacing:-.1em}.project-identity small{margin-top:22px;font-size:12px;letter-spacing:.42em}.geranium .project-identity{border:1px solid #c9d7ad44;border-radius:50%;width:70%;align-self:center;margin:28px 0}.creatvar .project-identity>span{font-family:'Segoe UI',sans-serif;font-style:normal;font-weight:300;transform:rotate(-8deg);letter-spacing:-.25em}.creatvar .project-identity>span>span{color:#73528c}.project-caption{border-top:1px solid #a1bcb54d;padding-top:20px;display:flex;justify-content:space-between;gap:15px;align-items:end}.project-caption h3{font-size:32px}.project-caption a{font-size:13px;max-width:130px;line-height:1.6;text-align:right}.project-caption a:hover{text-decoration:underline}.project-end{margin-bottom:0!important;padding-bottom:55px}
.reduced .services{height:auto}.reduced .services-sticky{position:relative;height:850px}.reduced .scroll-hint{display:none}
@media(max-width:800px){.chapter-line{font-size:10px;letter-spacing:.1em;gap:12px}.services-sticky{padding-top:85px}.services-sticky>.chapter-line{margin-bottom:20px}.services-header{display:flex;gap:12px}.services h2{font-size:34px}.services .eyebrow{font-size:9px;max-width:210px}.gallery-controls{margin-top:0;gap:6px;flex-wrap:wrap;justify-content:end;max-width:105px}.gallery-controls button{width:34px;height:34px;font-size:18px}.gallery-count{width:100%;text-align:right;margin:0;font-size:12px}.gallery-stage{min-height:340px}.service-slide{height:calc(100% - 40px);max-height:480px;top:20px}.gallery-bottom{gap:18px;justify-content:space-between}.gallery-bottom .scroll-hint{display:none}.gallery-skip{font-size:11px}.offer-grid{gap:65px}.price-scene{margin:0 8px;padding:20px 4px 40px}.price-panel{padding:34px 24px}.price-kraken{width:139%;left:-19.5%;height:128%;top:-11%}.project-grid{grid-template-columns:1fr;gap:24px}.projects-heading>p{margin-top:22px}.projects .chapter-line{margin-bottom:35px}.project-card{min-height:410px;padding:25px}.project-caption h3{font-size:29px}.project-caption a{font-size:12px}.projects{padding-top:45px}.project-end{padding-bottom:40px}}
@media(max-height:619px){.services{height:auto}.services-sticky{height:850px;position:relative}.scroll-hint{display:none}}
@media(prefers-reduced-motion:reduce){.services{height:auto}.services-sticky{height:850px;position:relative}}
.offer-grid{max-width:960px}.services .slide-symbol{font-size:55px;top:78px;opacity:.65}.services .slide-content h3{font-size:36px}.services .slide-content p{font-size:15px}.services .slide-content{bottom:24px}
@media(max-width:800px){.services .slide-symbol{font-size:50px;top:75px}.services .slide-content h3{font-size:32px}.price-panel{padding-left:27px;padding-right:27px}}
@media(max-width:800px){.offer-grid{gap:105px}}
/* Small friendly companion, leaving the subscription readable. */
.price-scene{padding:44px 12px 30px}.price-kraken{width:155px;height:155px;object-fit:contain;left:auto;right:-29px;top:-51px;filter:drop-shadow(0 9px 10px #071d2720);transform-origin:50% 80%;animation:mascot-bob 5s ease-in-out infinite}.offer-grid{gap:80px}.price-panel .eyebrow{padding-right:42px}.water-separator{position:absolute;top:-45px;left:0;width:100%;height:105px;overflow:hidden;z-index:4;pointer-events:none}.waterline-reverse{top:12px;transform:rotate(180deg);animation:surface-return 7s ease-in-out infinite}.services-sticky{padding-top:100px}
@keyframes mascot-bob{50%{transform:translateY(-5px) rotate(3deg)}}@keyframes surface-return{50%{transform:rotate(180deg) translateY(12px) rotate(-.65deg) scaleX(1.04)}}
@media(max-width:800px){.price-scene{margin:0;padding:30px 0 15px}.price-kraken{width:118px;height:118px;right:-10px;top:-43px}.price-panel .eyebrow{padding-right:48px;max-width:240px}.offer-grid{gap:65px}.services-sticky{padding-top:95px}}
/* A living pocket of water behind the offer, with calm, legible foreground copy. */
.price-panel{isolation:isolate;background:linear-gradient(155deg,#164956 0%,#15374e 42%,#102337 74%,#173f49 100%);border-color:#91d9d055}.price-panel>.price-water{position:absolute;inset:0;z-index:0;border-radius:inherit;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at 85% 100%,#35c3b339,transparent 58%),radial-gradient(ellipse at 10% 0%,#6579c52e,transparent 62%)}.price-water:before{content:'';position:absolute;inset:-30%;background:radial-gradient(ellipse at 65% 70%,#49d7c72b,transparent 50%);animation:offer-current 11s ease-in-out infinite alternate;animation-play-state:paused}.price-water i{position:absolute;bottom:-30px;left:calc(4% + var(--bubble)*8%);width:calc(5px + var(--bubble)*.7px);aspect-ratio:1;border:1px solid #b2f6e789;border-radius:50%;background:radial-gradient(circle at 30% 25%,#d5fff04d,transparent 60%);box-shadow:0 0 9px #94ead526;animation:offer-bubble calc(8s + var(--bubble)*.53s) linear infinite;animation-delay:calc(var(--bubble)*-1.9s);animation-play-state:paused}.price-scene.in-view .price-water i,.price-scene.in-view .price-water:before{animation-play-state:running}.price-scene .price-kraken{transition:filter .4s;animation:mascot-companion 6s ease-in-out infinite;animation-play-state:paused}.price-scene.in-view .price-kraken{animation-play-state:running}.price-scene:hover .price-kraken,.price-scene:focus-within .price-kraken{animation:mascot-greeting 1.6s ease-in-out infinite;filter:drop-shadow(0 5px 13px #3fbbaa55)}.price-scene:hover .price-water,.price-scene:focus-within .price-water{filter:brightness(1.13)}.price-panel>.price-water~*{position:relative;z-index:1}
@keyframes offer-bubble{0%{transform:translate3d(0,0,0) scale(.7);opacity:0}8%{opacity:.5}50%{transform:translate3d(12px,-360px,0) scale(1);opacity:.42}95%{opacity:.25}100%{transform:translate3d(-9px,-800px,0) scale(1.18);opacity:0}}@keyframes offer-current{to{transform:translate(-12%,-15%) rotate(15deg);opacity:.6}}@keyframes mascot-companion{0%,100%{transform:translateY(0) rotate(0)}35%{transform:translateY(-5px) rotate(-4deg)}65%{transform:translateY(-2px) rotate(3deg)}}@keyframes mascot-greeting{0%,100%{transform:translateY(-3px) rotate(-5deg)}50%{transform:translateY(-11px) rotate(7deg)}}
/* Three independent tactile steps, with shallow perspective and a soft highlight. */
.steps{perspective:900px}.step{position:relative;padding:17px 19px;margin-top:14px;border:1px solid #779b9b26;border-radius:15px;background:linear-gradient(120deg,#ffffffa8,#e9f1f04d);transform-style:preserve-3d;transition:transform .28s ease-out,box-shadow .28s,border-color .28s,background .28s;transform:perspective(850px) rotateX(0deg) rotateY(0deg)}.step>span{display:flex;align-items:center;justify-content:center;flex:0 0 32px;height:32px;border:1px solid #799d9b44;border-radius:10px;color:#356c74;background:#ecf7f3;padding:0;font-size:12px;transform:translateZ(18px)}.step>div{transform:translateZ(12px)}.step b{font-size:16px}.step p{font-size:14px;line-height:1.65}
@media(hover:hover) and (pointer:fine){html:not(.reduced) .step:hover{transform:perspective(850px) translateY(-4px) rotateX(var(--tilt-x,3deg)) rotateY(var(--tilt-y,-3deg));box-shadow:0 16px 26px #16394218;border-color:#81b9b380;background:radial-gradient(circle at var(--shine-x,50%) 0%,#224e68e8,#102b43ed 80%)}}
@media(prefers-reduced-motion:reduce){.step:hover{transform:none!important}}.reduced .step:hover{transform:none!important}.reduced .price-water i{display:none}
.price-water i{left:var(--bx);animation-delay:var(--bd)}
/* Four distinct, illustrated service families. */
.services{height:240svh}.service-slide{border-color:color-mix(in srgb,var(--accent) 50%,transparent)}.service-slide:before{background:linear-gradient(0deg,#040e1bf5 0%,#040e1bd9 24%,#040e1b70 46%,transparent 68%),var(--art) center/cover}.service-slide:after{background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 10%,transparent),transparent 50%)}.slide-meta span:first-child{border-color:color-mix(in srgb,var(--accent) 45%,transparent);color:var(--accent);background:#071521bb}.service-slide .slide-content a{color:var(--accent);border-color:var(--accent)}.services .slide-content h3{font-size:clamp(28px,2.8vw,38px)}.services .slide-content p{line-height:1.5;max-width:480px}.service-slide .slide-content{bottom:25px}.service-slide .slide-content h3{margin-bottom:12px}
@media(max-width:800px){.services .slide-content h3{font-size:28px}.services .slide-content p{font-size:14px}.slide-meta span{font-size:9px}.slide-meta{gap:5px}.slide-meta span:last-child{display:none}}
.reduced .services{height:auto}@media(prefers-reduced-motion:reduce),(max-height:619px){.services{height:auto}}
/* A playable final chapter. */
.game-heading{align-items:end;margin-bottom:34px}.game-heading>p{color:#b6ced3;font-size:16px;max-width:370px}.kraken-game{border:1px solid #88cfc643;border-radius:23px;overflow:hidden;background:#061b2b;box-shadow:0 28px 90px #0003}.game-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 25px;background:#0b2534;border-bottom:1px solid #83cbb328}.game-name{font-size:14px;letter-spacing:.18em;font-weight:600}.game-name em{display:block;font-size:10px;color:#8ccebf;font-style:normal;margin-top:5px}.game-scores{display:flex;gap:28px;font-size:12px;color:#a9c3cd}.game-scores b{display:block;color:#edfff7;font-size:22px;font-weight:500;font-variant-numeric:tabular-nums;margin-top:3px}.game-toolbar button{border:1px solid #94d7cf55;background:#ffffff08;color:#e4f3ef;border-radius:50px;padding:10px 18px;font-size:13px}.game-stage{position:relative;height:clamp(340px,39vw,480px);background:linear-gradient(#104b60,#071727);overflow:hidden}#kraken-canvas{width:100%;height:100%;display:block;touch-action:pan-y;outline-offset:-4px}#kraken-canvas.playing{touch-action:none}.game-overlay{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:25px;background:linear-gradient(90deg,#03131faa,#03131f55);backdrop-filter:blur(3px)}.game-overlay[hidden]{display:none}.game-overlay h3{font-size:clamp(35px,4vw,57px);color:#edfff9;margin-bottom:17px}.game-overlay p:not(.eyebrow){font-size:16px;color:#bcd8da;line-height:1.65}.game-overlay .eyebrow{color:#9ce6d1;margin-bottom:18px}.game-overlay .pill{margin-top:26px;font-size:15px;min-width:210px}.game-bottom{display:flex;justify-content:space-between;gap:20px;padding:17px 25px;color:#b0c6ce;font-size:12px}.game-bottom p{line-height:1.8}.game-bottom>span{font-size:11px;white-space:nowrap;align-self:center;color:#809ea9}kbd{font:inherit;border:1px solid #66899866;border-radius:4px;padding:2px 5px;background:#ffffff07}.game-outro{display:flex;align-items:center;justify-content:space-between;gap:25px;margin:38px 0 85px}.game-outro p{font:26px Georgia,serif;color:#c5dedc}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:800px){.game-heading>p{margin-top:24px}.game-toolbar{padding:15px;gap:10px}.game-name{font-size:11px;letter-spacing:.08em}.game-name em{font-size:9px}.game-scores{gap:14px;font-size:10px}.game-scores b{font-size:18px}.game-toolbar button{font-size:11px;padding:9px 12px}.game-stage{height:390px}.game-bottom{display:block;padding:15px;font-size:11px}.game-bottom>span{display:block;margin-top:8px}.game-overlay{padding:18px}.game-overlay p:not(.eyebrow){font-size:14px}.game-outro{display:block;margin-bottom:60px}.game-outro .pill{margin-top:20px}.game-outro p{font-size:23px}.kraken-game{border-radius:16px}}

/* Scoreboard and opt-in game audio */
.game-toolbar{flex-wrap:wrap;gap:12px}.game-scores{margin-left:auto}.game-toolbar button{min-height:40px}.game-overlay{overflow:auto;padding:22px}.game-overlay>div{max-width:650px;width:100%}.game-overlay h3{margin:8px 0}.game-overlay #game-results{margin-top:16px}.game-overlay:has(#game-results:not([hidden])) h3{font-size:clamp(27px,3vw,38px)}.game-overlay:has(#game-results:not([hidden])){align-items:flex-start}.score-entry{display:flex;gap:8px;margin:7px 0 12px}.score-entry input{min-width:0;flex:1;border:1px solid #9ae5d677;background:#071e31;color:#effffc;border-radius:12px;padding:10px;font:inherit}.score-entry .pill{padding:10px 16px}.score-entry label{font-size:13px}.share-actions{display:flex;gap:14px;justify-content:center;align-items:center;flex-wrap:wrap}.share-actions button,#refresh-scores{cursor:pointer}#game-copy,#refresh-scores{background:transparent;color:#b8ebdf;border:0;text-decoration:underline;text-underline-offset:5px;padding:10px}.share-notice,#score-status{font-size:12px!important;line-height:1.5!important;margin:10px 0!important}#score-status{color:#e5fff6}#share-fallback{width:100%;min-height:70px}.leaderboard{display:grid;grid-template-columns:1fr 1fr;gap:35px;padding:32px;border-top:1px solid #b8ebdf22;background:#071e2b}.leaderboard h3{font-size:32px;margin:10px 0}.leaderboard p{font-size:14px;line-height:1.6;color:#afd1d5}.leaderboard ol{list-style:none;padding:0;margin:0}.leaderboard li{display:flex;gap:15px;padding:11px 0;border-bottom:1px solid #ffffff12}.leaderboard li span{color:#b0d8d5}.leaderboard li b{margin-left:auto;color:#c5f4da}.game-results[hidden]{display:none}@media(max-width:600px){.leaderboard{grid-template-columns:1fr;padding:22px;gap:15px}.score-entry{flex-direction:column}.game-toolbar .game-name{width:100%}.game-scores{margin:0 auto 0 0}.game-overlay:has(#game-results:not([hidden])){padding:14px}.game-overlay #game-results{margin-top:8px}.game-overlay:has(#game-results:not([hidden])) #game-description{display:none}}

.game-stage{position:relative}.game-depth{position:absolute;top:12px;left:16px;right:16px;z-index:1;display:flex;justify-content:space-between;pointer-events:none;font-size:12px;letter-spacing:.08em;color:#dcfff1;text-shadow:0 2px 8px #001a32}.game-depth span{background:#061c3580;padding:6px 10px;border-radius:20px}#zone-toast{position:absolute;z-index:2;top:45px;left:50%;transform:translateX(-50%);font-size:13px;color:#fff;pointer-events:none;background:#182d45cf;border:1px solid #aeffd680;padding:10px 18px;border-radius:30px;opacity:0;white-space:nowrap}#zone-toast.show{animation:zoneMessage 3.5s both}@keyframes zoneMessage{0%,100%{opacity:0}15%,75%{opacity:1}}.game-overlay{z-index:3}.game-rank{color:#f3c898!important;font-size:14px!important;letter-spacing:.05em}.score-card-area{display:flex;justify-content:center;gap:18px;margin:18px auto;align-items:center}.score-card-area img{width:95px;height:auto;border-radius:10px;border:1px solid #bcefd773}.score-card-area>div{display:flex;flex-direction:column;gap:10px;max-width:280px}.score-card-area .pill{padding:10px 18px;font-size:13px}.score-card-area a{color:#b9efe3;border:1px solid #b9efe377}#card-status{font-size:12px!important;margin:0!important}#record-sparkles{position:absolute;inset:0;pointer-events:none;overflow:hidden;display:none}#record-sparkles.celebrate{display:block}#record-sparkles i{position:absolute;top:10%;left:10%;font-size:24px;color:#ffd7a4;animation:sparkleRecord 1.3s ease-out both}#record-sparkles i:nth-child(2){left:80%;color:#d3a9ff;animation-delay:.15s}#record-sparkles i:nth-child(3){left:25%;top:30%;color:#91efcd;animation-delay:.3s}#record-sparkles i:nth-child(4){left:70%;top:25%;animation-delay:.4s}@keyframes sparkleRecord{from{transform:scale(.1) rotate(0);opacity:0}25%{opacity:1}to{transform:scale(1.8) rotate(80deg) translateY(45px);opacity:0}}@media(prefers-reduced-motion:reduce){#record-sparkles{display:none!important}}@media(max-width:600px){.game-depth{font-size:10px;left:7px;right:7px}.score-card-area{gap:8px}.score-card-area img{width:70px}.score-card-area .pill{padding:10px;font-size:12px}#zone-toast{font-size:10px;max-width:95%;white-space:normal;text-align:center}}

#preview-card{border:0;background:transparent;padding:0;cursor:zoom-in}#card-dialog{background:#071e31;border:1px solid #98dfd5;border-radius:14px;padding:12px;color:white;max-width:90vw;max-height:94svh}#card-dialog::backdrop{background:#020d21cf}#card-dialog img{display:block;max-width:85vw;max-height:80svh;object-fit:contain}#close-card{display:block;margin:0 0 10px auto;background:transparent;color:white;border:1px solid #9abeba;border-radius:20px;padding:8px 16px;cursor:pointer}

/* Dive controls and three-stage depth navigator */
.game-toolbar .icon-button{width:44px;height:44px;min-width:44px;padding:0;display:grid;place-items:center;border-radius:50%}
.icon-button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.game-depth{align-items:flex-start}
.level-window{margin:0;padding:9px 12px;list-style:none;border-radius:14px;background:linear-gradient(120deg,#051c328f,#051c321a);min-width:210px;letter-spacing:.02em}
.level-window li{display:flex;gap:12px;justify-content:space-between;align-items:center;min-height:23px;line-height:1.25}
.level-window b{font-weight:500;font-size:12px}
.level-window small{font-size:10px;white-space:nowrap;font-variant-numeric:tabular-nums}
#level-previous{opacity:.3;mask-image:linear-gradient(transparent,#000 85%)}
#level-current{color:#e0fff2;text-shadow:0 0 14px #98f7d855}
#level-current b{font-weight:700}
#level-next{opacity:.58;mask-image:linear-gradient(#000 35%,transparent)}
@media(max-width:600px){.level-window{min-width:164px;padding:6px 8px}.level-window li{min-height:20px;gap:6px}.level-window b{font-size:10px}.level-window small{font-size:9px}}

.game-loot{display:grid;grid-template-columns:repeat(2,auto);gap:5px;align-content:start;text-align:center;font-size:11px}
.game-depth .game-loot span{padding:5px 8px;letter-spacing:0;background:#061c35bd}
.game-loot .pearl-count{color:#ffe4ba}.game-loot #game-shield{color:#adc6cf;font-size:10px}.game-loot #game-shield.armed{color:#a3ffed;box-shadow:inset 0 0 14px #67e3d329;border:1px solid #89fce966}
.bonus-summary{color:#efdaa9!important;font-size:13px!important;line-height:1.7!important}
@media(max-width:600px){.game-loot{grid-template-columns:1fr;font-size:9px;gap:3px}.game-depth .game-loot span{padding:3px 6px}.game-loot #game-shield{font-size:8px}}

#game-shield.armed{background:linear-gradient(90deg,#458b8766 var(--shield-left),#061c35bd var(--shield-left))}
#game-power{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);margin:0;padding:6px 13px;border-radius:20px;background:#061c35bf;color:#e6d3b9;font-size:11px;pointer-events:none;z-index:1;white-space:nowrap}
#game-power.active{color:#ffebba;border:1px solid #efc47888;background:#403046cc;box-shadow:0 0 22px #ffcc7f33}
@media(max-width:600px){#game-power{font-size:9px;padding:5px 8px}.game-loot{gap:2px}.game-depth .game-loot span{padding:2px 5px}}

/* Cinematic opening: the scene leads, the invitation sits beneath it. */
.film-title{left:var(--pad);right:var(--pad);bottom:9%;text-align:center;pointer-events:auto;visibility:visible}
.film-title .eyebrow{font-size:clamp(10px,1vw,13px);letter-spacing:.24em;margin:0 0 18px;color:#ddf3f2;line-height:1.6;text-shadow:0 2px 12px #00101d}
.film-title h1{font-family:'Segoe UI',Arial,sans-serif;font-size:clamp(38px,5.8vw,88px);font-weight:600;letter-spacing:-.045em;line-height:1.08;text-shadow:0 4px 25px #00101d80}
.film-title h1 span,.film-title h1 em{display:block}
.film-title h1 em{font-style:italic;font-weight:650;color:#b6f1e8;letter-spacing:-.05em}
.cinematic-cta{display:inline-flex;align-items:center;gap:20px;margin-top:25px;padding:14px 28px;border:1px solid #b4eaf3a0;border-radius:100px;background:linear-gradient(110deg,#06344855,#061a3055);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);box-shadow:inset 0 1px 8px #b6edff14,0 6px 24px #00152033;color:#f4ffff;font-size:16px;transition:transform .3s,background .3s,box-shadow .3s}
.cinematic-cta:hover{transform:translateY(-3px);background:#14526b66;box-shadow:0 0 22px #72e3ea33}
.film-shade{background:linear-gradient(#02091866,transparent 25%,transparent 47%,#03122099 78%,#03101bd9)}
@media(max-width:680px){.film-title{left:20px;right:20px;bottom:12%}.film-title h1{font-size:clamp(30px,7.8vw,48px);line-height:1.17}.film-title .eyebrow{font-size:9px;letter-spacing:.16em;margin-bottom:14px}.cinematic-cta{font-size:14px;padding:13px 22px;margin-top:22px}.film-instructions{bottom:22px;gap:16px}}
@media(max-height:620px) and (min-width:681px){.film-title{bottom:12%}.film-title h1{font-size:clamp(32px,7vh,58px)}.film-title .eyebrow{margin-bottom:10px}.cinematic-cta{margin-top:14px;padding:10px 22px}}
/* The game is a standalone chapter; the guardian closes the site. */
.game-chapter{position:relative;isolation:isolate;overflow:hidden;background:#071421;color:#edfaff;padding:95px var(--pad) 55px}
.game-chapter:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#071421,#07142166),url('assets/abyss-v3.png') right center/cover;opacity:.5}
.game-chapter h2{font-size:clamp(38px,4.5vw,66px);max-width:650px}
.game-chapter h2 em{color:#a9d5d3}
.game-chapter .game-outro{margin-bottom:0}
.footer.footer-guardian{padding:0;background:#030f1b;overflow:hidden;color:#e5f5f6}
.footer.footer-guardian:before{display:none}
.guardian-scene{position:relative;isolation:isolate;min-height:clamp(480px,47vw,720px);display:flex;align-items:flex-end;justify-content:center;padding:0 var(--pad) 60px;background:url('assets/footer-guardian-v40.png') center 38%/cover no-repeat}
.guardian-scene:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#04152300 45%,#03101b33 65%,#030f1b 100%)}
.guardian-scene:after{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,#89e0f1aa,transparent);box-shadow:0 0 25px 6px #71daf526;pointer-events:none}
.guardian-content{text-align:center;width:100%;position:relative}
.guardian-content .eyebrow{font-size:10px;letter-spacing:.22em;color:#b2dde6;margin-bottom:20px;text-shadow:0 2px 15px #001523}
.footer-guardian .footer-wordmark{font-size:clamp(78px,14.5vw,218px);font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:.025em;line-height:.95;color:#e6f7f9;padding:0;border:0;text-shadow:0 0 35px #8addf366,0 8px 30px #00121c;white-space:nowrap;margin-bottom:27px}
.guardian-contact{background:linear-gradient(135deg,#8ed8f529,#183e5477);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid #b4ebff99;color:#e9fbff;box-shadow:inset 0 1px 12px #b7edff26,0 0 22px #57c7f52b;transition:background .25s,box-shadow .25s,transform .25s}
.guardian-contact:hover{background:#a8e5f838;box-shadow:inset 0 1px 12px #b7edff33,0 0 32px #57c7f54a;transform:translateY(-3px)}
.footer-guardian .footer-bottom{position:relative;margin:0 var(--pad);padding:25px 0 28px;border-top:1px solid #b4e8f333;align-items:center;font-size:11px;color:#a9cbd5}
.footer-guardian .footer-bottom nav{gap:clamp(12px,1.7vw,26px);flex-wrap:wrap;justify-content:center}
.footer-guardian .footer-bottom a{transition:color .2s}.footer-guardian .footer-bottom a:hover{color:#f1ffff}
@media(max-width:700px){.game-chapter{padding:70px var(--pad) 45px}.guardian-scene{min-height:440px;background-position:center top;padding-bottom:40px}.guardian-content .eyebrow{font-size:8px;letter-spacing:.15em}.footer-guardian .footer-wordmark{font-size:17vw;letter-spacing:0;margin-bottom:24px}.footer-guardian .footer-bottom{flex-direction:column;gap:19px;text-align:center}.footer-guardian .footer-bottom nav{line-height:1.8}}
@media(prefers-reduced-motion:reduce){.guardian-contact{transition:none}.guardian-contact:hover{transform:none}}
/* Eye layer follows exactly the photograph's responsive cover crop. */
.guardian-gaze{position:absolute;pointer-events:none;z-index:0;overflow:hidden;opacity:0;transition:opacity .4s}
.guardian-scene.gaze-ready .guardian-gaze{opacity:.9}
.guardian-content{z-index:1}
@media(prefers-reduced-motion:reduce){.guardian-gaze{display:none}}
/* A glass buoy returns visitors to the surface. */
.footer-guardian .surface-button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 18px;border:1px solid #84d7ed88;border-radius:999px;background:linear-gradient(135deg,#78cced26,#123c5477);color:#def8ff;box-shadow:inset 0 1px 9px #b3eeff17,0 0 16px #4ecaf51a;overflow:hidden;transition:transform .25s,background .25s,box-shadow .25s;min-height:48px}
.surface-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;position:relative;z-index:1}
.surface-label{position:relative;z-index:1;letter-spacing:.04em}
.footer-guardian .surface-button:hover,.footer-guardian .surface-button:focus-visible{transform:translateY(-4px);background:#47b9d733;box-shadow:inset 0 1px 12px #b3eeff26,0 0 26px #4ecaf544}
.surface-button:hover svg,.surface-button:focus-visible svg{animation:surface-arrow 1.25s ease-in-out infinite}
.surface-bubbles{position:absolute;inset:0;pointer-events:none}
.surface-bubbles i{position:absolute;width:6px;height:6px;left:20%;bottom:-8px;border:1px solid #b7f3ff99;border-radius:50%;opacity:0}
.surface-bubbles i:nth-child(2){left:58%;width:4px;height:4px;animation-delay:.3s!important}.surface-bubbles i:nth-child(3){left:83%;width:8px;height:8px;animation-delay:.65s!important}
.surface-button:hover .surface-bubbles i,.surface-button:focus-visible .surface-bubbles i{animation:surface-bubble 1.6s ease-out infinite}
@keyframes surface-arrow{0%,100%{transform:translateY(2px)}50%{transform:translateY(-4px)}}
@keyframes surface-bubble{0%{transform:translate(0,0);opacity:0}20%{opacity:.7}100%{transform:translate(5px,-63px);opacity:0}}
.guardian-scene.gaze-ready .guardian-gaze{opacity:1}
@media(prefers-reduced-motion:reduce){.surface-button,.surface-button *{animation:none!important;transition:none!important}.footer-guardian .surface-button:hover{transform:none}}

/* Portrait phones crop the wide master around the centered ship. */
@media(max-width:800px){.monitor video{object-fit:cover;object-position:50% 50%}.monitor:before{display:none}}

/* Fade only the dark lower edge; preserve the upper illuminated wave. */
#expertises>.water-separator{mask-image:linear-gradient(180deg,#000 0%,#000 65%,transparent 100%);-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 65%,transparent 100%)}
/* A quiet game HUD: details appear only when needed. */
.kraken-game [hidden]{display:none!important}
.game-toolbar{position:relative}.game-rules{position:relative;z-index:5}.game-rules summary{list-style:none;cursor:pointer;border:1px solid #b8ebdf55;border-radius:50%;width:36px;height:36px;display:grid;place-items:center;font-weight:600}.game-rules summary::-webkit-details-marker{display:none}.game-rules>div{position:absolute;right:0;top:48px;width:min(310px,75vw);padding:20px;background:#071e2bf5;border:1px solid #b8ebdf55;border-radius:16px;box-shadow:0 18px 50px #0007;font-size:13px;line-height:1.7}.game-rules p{margin:10px 0;color:#c1dade}
.game-depth{flex-direction:column;align-items:center;gap:12px;left:12px;right:12px}
.level-window{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:12px;width:min(680px,100%);min-width:0;padding:10px 0;background:none;border-radius:0;text-align:center}
.level-window li{display:block;min-width:0;min-height:0;line-height:1.3;white-space:nowrap;overflow:hidden}.level-window small{display:none}.level-window b{font-size:12px;font-weight:400}.level-window #level-current{overflow:visible;padding:0 10px}.level-window #level-current b{font-weight:700}
#level-previous{opacity:.5;text-align:right;mask-image:linear-gradient(to right,transparent 15%,#000 85%)}#level-next{opacity:.55;text-align:left;mask-image:linear-gradient(to right,#000 5%,transparent 70%)}#level-current:before,#level-current:after{content:'–';color:#aac5ce88;position:relative}#level-current:before{margin-right:12px}#level-current:after{margin-left:12px}
.game-loot{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;font-size:12px}.game-depth .game-loot span{padding:5px 10px;background:#061c357a}.game-loot>span:has(#game-passed),.game-loot>span:has(#game-speed){display:none}.game-loot #game-shield{min-width:64px;font-size:14px;border:0;border-radius:12px}.game-stage:not(:has(canvas.playing)) .game-depth,.game-stage:not(:has(canvas.playing)) #game-power{visibility:hidden}#game-power:not(.active){display:none}#game-power.active{background:linear-gradient(90deg,#7c675eaa var(--giant-left),#061c35bd var(--giant-left));font-size:12px}#zone-toast{display:none}
.game-overlay #game-kicker:empty{display:none}.game-overlay h3{font-size:clamp(32px,5vw,60px)}.game-overlay:has(#game-results:not([hidden])) h3{font-size:clamp(40px,5vw,64px)}.game-overlay #game-description:empty{display:none}.game-overlay #game-description{font-size:14px;line-height:1.7}.game-overlay #game-start{margin:14px 0}.game-overlay #game-results{margin-top:4px}.game-stat-details,.game-sharing{margin:12px auto;color:#b8dcd8;font-size:13px}.game-stat-details summary,.game-sharing summary{cursor:pointer;padding:10px;list-style:none}.game-stat-details summary::-webkit-details-marker,.game-sharing summary::-webkit-details-marker{display:none}.game-sharing>summary{display:inline-block;border:1px solid #b8ebdf55;border-radius:24px;padding:10px 24px}.game-sharing[open]>summary{margin-bottom:15px}.game-rank{margin:4px 0!important}.score-entry{justify-content:center}.game-bottom{padding:12px 24px}.game-bottom p{margin:0;font-size:12px}.leaderboard{padding:24px 32px;gap:24px}.leaderboard h3{font-size:24px;margin:0}.leaderboard #refresh-scores{font-size:12px;padding-left:0}#score-list:not(.expanded)>li:nth-child(n+4){display:none}#toggle-scores{background:none;border:0;color:#b8ebdf;font:inherit;font-size:13px;cursor:pointer;padding:14px 0;text-decoration:underline;text-underline-offset:5px}
@media(max-width:600px){.game-toolbar .game-name{width:auto;margin-right:auto;font-size:12px}.game-scores{order:5;width:100%;justify-content:space-between;font-size:12px}.game-depth{gap:8px;top:8px}.level-window{gap:4px;padding:8px 0}.level-window b{font-size:10px}.level-window #level-current{padding:0 3px}#level-current:before{margin-right:5px}#level-current:after{margin-left:5px}.game-loot{font-size:11px}.game-depth .game-loot span{padding:4px 8px}.leaderboard{padding:20px;gap:8px}.game-bottom{padding:10px 16px}.game-rules>div{right:-80px}}

.level-window.at-first #level-current:before,.level-window.at-last #level-current:after{visibility:hidden}.game-stage:not(:has(canvas.playing)) .game-depth{display:none}
/* The depth ribbon begins at the left; both neighboring zones fade outward. */
.game-depth{align-items:flex-start;left:22px;right:22px;top:18px;gap:12px}
.level-window{grid-template-columns:110px max-content 150px;justify-content:start;gap:10px;width:auto;max-width:100%;padding:0;text-align:left}
.level-window b{font-size:15px}.level-window #level-current{padding:0}.level-window #level-current b{font-size:19px;font-weight:750;color:#f0fff9}.level-window #level-current:before,.level-window #level-current:after{font-size:14px}
#level-previous{opacity:.65;mask-image:linear-gradient(to right,transparent 0%,#000 85%)}#level-next{opacity:.65;mask-image:linear-gradient(to right,#000 0%,transparent 90%)}
.level-window.at-first{grid-template-columns:max-content 150px}.level-window.at-first #level-previous{display:none}.level-window.at-first #level-current:before{display:none}.level-window.at-last #level-next{display:none}
.game-loot{align-items:center;justify-content:flex-start;gap:20px}.game-depth .game-loot .pearl-count,.game-depth .game-loot .shell-meter{display:inline-flex;align-items:center;gap:5px;padding:0;background:none;border:0;border-radius:0;box-shadow:none}
.game-loot .pearl-count{font-size:17px;color:#ffeddb;font-variant-numeric:tabular-nums}.hud-pearl{width:27px;height:27px;filter:drop-shadow(0 0 5px #e1d6e34a)}.shell-meter svg{width:45px;height:40px;overflow:visible}.shell-piece{fill:#64869c35;stroke:#c4d4e38c;stroke-width:1;stroke-linejoin:round;transition:fill .25s,filter .25s}.shell-piece.filled{fill:url(#hud-shell-fill);stroke:#fff3d6c9}.shell-hinge{fill:#acc1d1;stroke:#e2e3f0;stroke-width:.7}.shell-meter.complete svg{filter:drop-shadow(0 0 7px #f3cfad88)}
@media(max-width:600px){.game-depth{left:12px;right:12px;top:14px;gap:10px}.level-window{grid-template-columns:48px max-content minmax(0,1fr);gap:4px;width:100%}.level-window.at-first{grid-template-columns:max-content minmax(0,1fr)}.level-window b{font-size:11px}.level-window #level-current b{font-size:15px}.level-window #level-current:before,.level-window #level-current:after{font-size:11px}.game-loot{gap:15px}.game-loot .pearl-count{font-size:15px}.hud-pearl{width:25px;height:25px}.shell-meter svg{width:40px;height:35px}}
@media(prefers-reduced-motion:reduce){.shell-piece{transition:none}}
/* Centered depth ribbon with equal typography and fading neighbors. */
.game-depth{align-items:center}.level-window,.level-window.at-first{display:grid;grid-template-columns:minmax(0,1fr) max-content minmax(0,1fr);width:min(680px,100%);gap:12px;text-align:center}
.level-window.at-first #level-previous,.level-window.at-last #level-next{display:block}
.level-window b,.level-window #level-current b{font-size:19px;font-weight:750;color:#f0fff9}
.level-window #level-previous{text-align:right}.level-window #level-next{text-align:left}
.level-window.at-first #level-current:before{display:inline;visibility:hidden}
.game-loot{justify-content:center}
@media(max-width:600px){.level-window,.level-window.at-first{width:100%;gap:4px}.level-window b,.level-window #level-current b{font-size:15px}}
