:root{--navy:#061e31;--ink:#0b2b43;--blue:#079ce8;--sky:#48bfff;--paper:#f7f9fa;--line:#dce4e9;--gutter:clamp(24px,5vw,88px);--header:98px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--header)}body{margin:0;color:var(--ink);background:var(--paper);font-family:'Avenir Next','Segoe UI',Arial,sans-serif;font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid var(--blue);outline-offset:6px}button{border:0}button:disabled{cursor:default}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400;line-height:1.07;letter-spacing:-.045em}h2{font-size:clamp(40px,4.6vw,74px)}h2 span{color:#7794a6}h3{font-size:30px}p{line-height:1.65}img{max-width:100%;display:block}em{font-style:normal}::selection{background:#8cdbff;color:#061e31}[hidden]{display:none!important}.skip-link{position:fixed;top:-90px;left:20px;background:white;padding:12px;z-index:100}.skip-link:focus{top:10px}.header{height:var(--header);position:fixed;inset:0 0 auto;display:flex;align-items:center;padding:12px var(--gutter);gap:42px;z-index:30;background:rgba(255,255,255,.97);border-bottom:1px solid rgba(6,30,49,.08)}.brand{width:258px;flex-shrink:0}.brand img{width:100%;height:auto}.desktop-nav{margin-left:auto;display:flex;gap:28px;font-size:14px;white-space:nowrap}.desktop-nav a{position:relative;padding:10px 0}.desktop-nav a:after{content:'';position:absolute;bottom:3px;left:0;width:0;height:1px;background:var(--blue);transition:width .3s}.desktop-nav a:hover:after{width:100%}.header-cta{font-size:14px;padding:11px 18px;border:1px solid var(--line);border-radius:50px;white-space:nowrap;display:flex;gap:22px;align-items:center}.header-cta:hover{background:var(--navy);color:white}.menu-button{display:none}.hero{height:max(770px,100svh);position:relative;background:var(--navy);color:white;overflow:hidden;padding-top:var(--header)}.hero-video{position:absolute;inset:var(--header) 0 0;width:100%;height:calc(100% - var(--header));object-fit:cover;object-position:center 38%}.hero-shade{position:absolute;inset:var(--header) 0 0;background:linear-gradient(180deg,rgba(4,24,39,.04) 5%,rgba(4,24,39,.1) 30%,rgba(4,24,39,.87) 100%)}.hero-content{position:absolute;left:var(--gutter);right:var(--gutter);bottom:100px;z-index:2}.eyebrow{font-size:12px;font-weight:500;letter-spacing:.19em;margin-bottom:28px;display:flex;align-items:center;gap:12px}.eyebrow.dark{color:#517083}.signal{width:6px;height:6px;background:var(--sky);border-radius:50%;box-shadow:0 0 18px #3fbaff}.hero h1{font-size:clamp(72px,7.5vw,128px);font-weight:400;line-height:.99;letter-spacing:-.064em}.hero h1 em{color:#80d0f6}.hero-bottom{display:flex;align-items:end;justify-content:space-between;margin-top:30px}.hero-bottom p{font-size:18px;line-height:1.55;color:#dae8f1}.round-link{display:flex;align-items:center;gap:25px;font-size:14px}.round-link b{width:54px;height:54px;border:1px solid #7791a2;border-radius:50%;display:grid;place-items:center;font-weight:400;font-size:22px;transition:background .3s}.round-link:hover b{background:var(--blue)}.hero-controls{position:absolute;bottom:25px;right:var(--gutter);z-index:4;display:flex;gap:24px}.hero-controls button{background:transparent;font-size:12px;color:#d4e5ef;padding:8px 0;display:flex;gap:12px;align-items:center}.hero-index{position:absolute;left:var(--gutter);bottom:36px;letter-spacing:.12em;font-size:10px;color:#96b1c2}.water-intro{position:absolute;inset:var(--header) 0 0;z-index:3;pointer-events:none;background:#061e31;overflow:hidden;opacity:0;visibility:hidden}.water-intro.running{animation:introFade 4.6s both;visibility:visible}.water-surface{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 68%,#14445b 0%,#092b40 30%,#061e31 65%)}.water-intro>span{position:absolute;top:76%;width:100%;text-align:center;font-size:14px;letter-spacing:.18em;color:#9ac4d9}.falling-drop{position:absolute;left:50%;top:12%;width:76px;height:100px;transform:translate(-50%,-100px);opacity:0;background-image:var(--drop-image);background-repeat:no-repeat}.running .falling-drop{animation:dropFall 1.7s .15s cubic-bezier(.44,.03,.75,.43) both}.impact{position:absolute;top:65%;left:50%;width:0;height:0}.impact i{display:block;position:absolute;left:0;top:0;width:200px;height:200px;border:1px solid #79cfff;border-radius:50%;opacity:0;box-shadow:0 0 12px #88d5ff20,inset 0 0 10px #88d5ff20}.running .impact i{animation:ripple 2.8s 1.65s ease-out both}.running .impact i:nth-child(2){animation-delay:1.95s}.running .impact i:nth-child(3){animation-delay:2.25s}@keyframes dropFall{0%{transform:translate(-50%,-160px) scale(.8);opacity:0}15%{opacity:1}85%{opacity:1}100%{transform:translate(-50%,280px) scale(.8,.3);opacity:0}}@keyframes ripple{0%{transform:translate(-50%,-50%) scale(.07,.015);opacity:.8}100%{transform:translate(-50%,-50%) scale(7,1.6);opacity:0}}@keyframes introFade{0%,73%{opacity:1}100%{opacity:0;visibility:hidden}}.section-pad{padding:115px var(--gutter)}.intro{background:#fff}.intro-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:100px;align-items:end}.intro-copy{max-width:450px;justify-self:end}.intro-copy p:first-child{font-size:23px;line-height:1.5;letter-spacing:-.025em;margin-bottom:22px}.intro-copy p+p{font-size:16px;color:#587080}.text-link{display:inline-flex;gap:34px;align-items:center;border-bottom:1px solid #a9bfc9;padding-bottom:10px;margin-top:30px;font-size:14px}.text-link span{font-size:22px}.text-link:hover{color:var(--blue)}.experience{height:440vh;background:var(--navy);position:relative;color:white}.experience-sticky{position:sticky;top:var(--header);height:calc(100svh - var(--header));min-height:590px;overflow:hidden}.scroll-video{position:absolute;width:100%;height:100%;object-fit:cover;object-position:48% center}.experience-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,22,35,.42),transparent 45%,rgba(4,22,35,.48)),linear-gradient(90deg,transparent 38%,rgba(4,22,35,.13) 85%)}.experience-heading{position:absolute;top:48px;left:var(--gutter)}.experience-heading .eyebrow{margin-bottom:15px}.experience-heading h2{font-size:clamp(36px,4vw,62px);text-shadow:0 2px 30px #03182b44}.story-cards{position:absolute;top:50%;right:var(--gutter);width:360px;transform:translateY(-38%);min-height:340px}.story-card{position:absolute;inset:0;background:rgba(5,29,48,.91);backdrop-filter:blur(18px);padding:30px;border:1px solid #91b0c23b;border-radius:3px;opacity:0;visibility:hidden;transform:translateY(24px);transition:opacity .45s,transform .55s,visibility .45s}.story-card.active{opacity:1;visibility:visible;transform:translateY(0)}.card-top{font-size:10px;letter-spacing:.15em;display:flex;justify-content:space-between;align-items:center;color:#9dc1d7;margin-bottom:26px}.card-dot{width:6px;height:6px;background:var(--sky);border-radius:50%}.story-card h3{font-size:32px;line-height:1.15;margin-bottom:20px;letter-spacing:-.035em}.story-card p{font-size:15px;color:#c4d7e3;line-height:1.7}.card-foot{display:block;color:#85bcdb;font-size:11px;margin-top:25px}.story-card .text-link{margin-top:15px;font-size:12px}.experience-bottom{position:absolute;bottom:28px;left:var(--gutter);right:var(--gutter);display:flex;align-items:center;gap:25px;font-size:11px;letter-spacing:.025em}.video-progress{height:2px;flex:1;background:#ffffff45;max-width:220px}.video-progress>span{display:block;height:100%;background:#69caff;width:0}.plain-button{background:transparent;color:white;font-size:12px;display:flex;gap:12px;margin-left:auto;padding:10px 0}.experience.linear-mode{height:auto;min-height:800px}.linear-mode .experience-sticky{position:relative;top:0;min-height:800px}.services{background:#f6f9fa}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:80px;margin-bottom:65px}.section-heading>p{max-width:365px;font-size:16px;color:#587080}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.service-card{background:white}.service-image{position:relative;aspect-ratio:1.6;overflow:hidden}.service-image img{width:100%;height:100%;object-fit:cover;transition:transform .8s}.service-card:hover .service-image img{transform:scale(1.035)}.service-image:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#041b2d80)}.image-label{position:absolute;bottom:22px;left:28px;z-index:1;color:white;font-size:11px;letter-spacing:.12em}.service-body{padding:32px}.service-body h3{font-size:32px;margin-bottom:20px}.service-body p{font-size:16px;color:#587080;max-width:470px}.service-detail{background:transparent;padding:0 0 10px;border-bottom:1px solid #a8bdc9;display:flex;justify-content:space-between;width:100%;margin-top:35px;font-size:13px}.service-detail span{font-size:22px}.service-detail:hover{color:var(--blue)}.service-lines{margin-top:45px}.service-line{display:flex;align-items:center;width:100%;text-align:left;gap:40px;padding:32px 0;border-top:1px solid var(--line);background:transparent}.service-line:last-child{border-bottom:1px solid var(--line)}.line-index{font-size:14px;color:#6d8594}.service-line h3{font-size:28px}.service-line p{font-size:14px;color:#587080;margin-top:10px}.line-arrow{font-size:28px;margin-left:auto;padding:15px;border-radius:50%;transition:background .3s}.service-line:hover .line-arrow{background:#e1edf4}.difference{background:var(--navy);color:white}.difference .eyebrow{color:#86b8d3}.difference-top{display:flex;justify-content:space-between;align-items:end;gap:50px}.difference-top h2 span{color:#68bde9}.difference-top>p{color:#b1c9d8;font-size:16px}.difference-grid{display:grid;grid-template-columns:1fr 1fr;margin-top:90px;gap:12%}.metric-label{font-size:11px;letter-spacing:.13em;color:#95b8cc}.metric{font-size:clamp(110px,12.5vw,190px);line-height:1.2;letter-spacing:-.08em;display:flex;align-items:baseline;margin-top:20px;color:#60c5ff}.up-to{font-size:16px;letter-spacing:0;margin-right:12px;align-self:center}.percent{font-size:.48em}.metric sup{font-size:25px;align-self:flex-start;margin-top:32px;letter-spacing:0}.saving h3{font-size:32px;margin-bottom:25px}.saving p{font-size:16px;max-width:410px;color:#b0c8d8}.safety{border-left:1px solid #355066;padding-left:65px}.safety h3{font-size:clamp(32px,3.5vw,54px);line-height:1.12;margin:45px 0 30px}.safety h3 em{color:#75bedf}.safety p{color:#b0c8d8;font-size:16px;max-width:400px}.safety-note{display:block;font-size:12px;color:#8aa9be;margin-top:25px}.metric-note{margin-top:60px;border-top:1px solid #2a465a;padding-top:25px;font-size:11px;color:#89a7bb;max-width:960px}.method{background:white}.method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}.method-grid article{border-top:1px solid var(--line);padding-top:22px}.method-grid article>span{font-size:13px;color:var(--blue)}.method-grid h3{font-size:28px;margin:35px 0 20px}.method-grid p{font-size:15px;color:#587080;max-width:330px}.heritage-note{display:flex;gap:25px;align-items:center;border-top:1px solid var(--line);margin-top:60px;padding-top:25px;font-size:14px;color:#587080}.heritage-note>span{font-size:28px;color:var(--blue)}.closing{position:relative;min-height:590px;overflow:hidden;background:var(--navy);color:white;display:flex;align-items:center;padding:90px var(--gutter)}.closing>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%}.closing-shade{position:absolute;inset:0;background:linear-gradient(90deg,#041c2dd9,#041c2d45)}.closing>div:last-child{position:relative}.closing h2{font-size:clamp(52px,6vw,92px)}.closing h2 em{color:#9ed8f2}.pill-link{border:1px solid #82a1b5;border-radius:40px;display:inline-flex;gap:40px;align-items:center;margin-top:40px;padding:16px 24px;font-size:14px;transition:background .3s}.pill-link:hover{background:var(--navy)}footer{padding:55px var(--gutter) 25px;display:flex;align-items:center;gap:60px;flex-wrap:wrap;background:white}.footer-brand{width:290px}footer>p{font-size:13px;color:#617b8d}footer>.text-link{margin-left:auto;margin-top:0}.footer-bottom{border-top:1px solid var(--line);padding-top:25px;margin-top:20px;display:flex;justify-content:space-between;gap:20px;width:100%;font-size:11px;color:#78909f}dialog{padding:55px;border:0;border-radius:4px;width:min(640px,calc(100% - 32px));max-height:85svh;color:var(--ink);background:#fff;box-shadow:0 30px 90px #0005}dialog::backdrop{background:#041c2dbe;backdrop-filter:blur(8px)}dialog h2{font-size:43px;margin-bottom:30px;max-width:470px}dialog>p{color:#567285;font-size:16px}.dialog-close{position:absolute;right:20px;top:12px;background:transparent;font-size:32px;line-height:1.5}.dialog-note{border-top:1px solid var(--line);margin-top:30px;padding-top:25px}.dialog-note h3{font-size:20px;margin-bottom:12px}.dialog-note p{font-size:14px;color:#567285}.dialog-back{background:transparent;padding:0 0 8px;border-bottom:1px solid #a8bdc9;font-size:13px;margin-top:30px;display:flex;justify-content:space-between;width:100%}
@media(min-width:1700px){.hero-content{bottom:12vh}.hero h1{font-size:138px}.story-cards{width:420px;min-height:370px}.story-card h3{font-size:38px}.story-card p{font-size:17px}}
@media(max-width:1150px){:root{--header:88px}.header{gap:25px}.brand{width:220px}.desktop-nav{gap:20px;font-size:13px}.header-cta{display:none}.intro-grid{gap:55px}.intro h2{font-size:48px}.story-cards{width:320px;right:30px;min-height:340px}.story-card{padding:25px}.story-card h3{font-size:29px}.difference-grid{gap:7%}.safety{padding-left:40px}.section-heading{gap:50px}}
@media(max-width:760px){:root{--header:78px;--gutter:24px}body{font-size:16px}.header{padding:10px 22px;justify-content:space-between}.brand{width:205px}.desktop-nav{display:none}.menu-button{display:flex;flex-direction:column;justify-content:center;gap:7px;width:44px;height:44px;background:transparent;padding:10px}.menu-button span{height:1px;width:24px;background:var(--ink);transition:transform .2s}.menu-button[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-button[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.mobile-nav{position:absolute;top:var(--header);left:0;right:0;padding:20px 24px 32px;background:white;box-shadow:0 15px 20px #02182915}.mobile-nav a{display:flex;justify-content:space-between;padding:18px 0;font-size:24px;border-bottom:1px solid var(--line);letter-spacing:-.03em}.mobile-nav span{font-size:12px;color:#6a8495}.hero{height:100svh;min-height:690px}.hero-video{object-position:35% center}.hero-shade{background:linear-gradient(180deg,#061e3105 5%,#061e3133 35%,#061e31e8 100%)}.hero-content{bottom:105px}.hero .eyebrow{font-size:9px;letter-spacing:.13em;margin-bottom:22px;gap:8px}.hero h1{font-size:clamp(52px,15.5vw,90px)}.hero-bottom{margin-top:25px;align-items:center;gap:12px}.hero-bottom p{font-size:14px}.round-link{gap:0}.round-link>span{display:none}.round-link b{width:46px;height:46px}.hero-controls{bottom:25px;right:24px;gap:20px}.hero-controls button{font-size:10px}.hero-index{display:none}.water-intro>span{font-size:11px;letter-spacing:.1em;top:77%}.section-pad{padding:75px 24px}.eyebrow{font-size:10px;margin-bottom:23px}.intro-grid{grid-template-columns:1fr;gap:30px}.intro h2,h2{font-size:42px}.intro-copy{justify-self:start;max-width:none}.intro-copy p:first-child{font-size:20px}.intro-copy p+p{font-size:15px}.experience{height:380vh}.experience-sticky{height:calc(100svh - var(--header));min-height:620px}.scroll-video{object-fit:contain;object-position:center 18%;background:#061e31}.experience-shade{background:linear-gradient(180deg,#061e31cc,transparent 23%,transparent 40%,#061e31 61%)}.experience-heading{top:24px;left:24px}.experience-heading .eyebrow{font-size:9px;margin-bottom:8px}.experience-heading h2{font-size:32px;line-height:1.05}.story-cards{top:auto;bottom:86px;left:24px;right:24px;width:auto;transform:none;min-height:240px}.story-card{padding:22px;min-height:240px;background:#0d2a40;border-color:#36586d}.card-top{margin-bottom:16px;font-size:9px}.story-card h3{font-size:27px;margin-bottom:14px}.story-card h3 br{display:none}.story-card p{font-size:14px;line-height:1.55}.card-foot{font-size:10px;margin-top:18px}.story-card .text-link{margin-top:12px}.experience-bottom{bottom:20px;left:24px;right:24px;gap:12px;flex-wrap:wrap;font-size:9px}.experience-bottom>span:first-child{width:100%}.video-progress{max-width:none;flex:1}.plain-button{font-size:10px;margin-left:6px}.linear-mode .experience-sticky{min-height:720px}.linear-mode .scroll-video{object-position:center 25%}.section-heading{display:block;margin-bottom:35px}.section-heading>p{margin-top:30px;max-width:100%;font-size:15px}.service-grid{grid-template-columns:1fr;gap:28px}.service-image{aspect-ratio:1.6}.service-body{padding:25px}.service-body h3{font-size:29px}.service-body p{font-size:15px}.service-detail{margin-top:25px}.service-lines{margin-top:35px}.service-line{gap:18px;padding:25px 0;align-items:flex-start}.line-index{font-size:11px;margin-top:5px}.service-line h3{font-size:24px;line-height:1.2}.service-line p{font-size:13px}.line-arrow{font-size:24px;padding:0 0 0 8px}.difference-top{display:block}.difference-top>p{margin-top:30px;font-size:15px}.difference-grid{grid-template-columns:1fr;margin-top:55px;gap:45px}.metric{font-size:142px;margin-top:0}.saving h3{font-size:30px;margin-bottom:20px}.saving p,.safety p{font-size:15px}.safety{border-left:0;border-top:1px solid #355066;padding:35px 0 0}.safety h3{font-size:42px;margin-top:25px}.metric-note{font-size:10px;margin-top:40px}.method-grid{grid-template-columns:1fr;gap:30px}.method-grid h3{margin:20px 0 15px;font-size:28px}.method-grid p{max-width:none}.heritage-note{margin-top:40px;font-size:13px;align-items:start}.closing{min-height:540px;padding:60px 24px}.closing h2{font-size:50px}.closing>img{object-position:62% center}.closing-shade{background:linear-gradient(90deg,#041c2ddd,#041c2d75)}.pill-link{font-size:13px;padding:14px 20px;gap:25px}footer{padding:45px 24px 25px;gap:30px}.footer-brand{width:250px}footer>p{width:100%}footer>.text-link{margin-left:0}.footer-bottom{flex-direction:column;gap:10px;font-size:10px;margin-top:0}dialog{padding:45px 25px 30px}dialog h2{font-size:34px}.dialog-close{right:15px}.water-intro.running{animation-duration:4s}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.water-intro{display:none}.service-card:hover .service-image img{transform:none}.experience{height:auto}.experience-sticky{position:relative;top:0;height:auto;min-height:0;display:flex;flex-direction:column;padding-bottom:90px}.scroll-video{position:relative;aspect-ratio:16/9;object-fit:contain;height:auto}.experience-heading{position:relative;top:auto;left:auto;padding:30px var(--gutter);order:-1}.experience-shade{display:none}.story-cards{position:relative;inset:auto;width:auto;transform:none;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:30px var(--gutter)}.story-card{position:relative;opacity:1;visibility:visible;transform:none}.experience-bottom{bottom:25px}.video-progress,#video-counter{display:none}.plain-button{margin-left:auto}}@media(max-width:760px) and (prefers-reduced-motion:reduce){.story-cards{grid-template-columns:1fr}}
/* The generated water image supplies the actual water and droplet; transforms provide motion. */
.water-surface:after{content:'';position:absolute;inset:10% 0 -10%;background:url('assets/water-intro.webp') center center/cover no-repeat;mask-image:linear-gradient(transparent 45%,#000 54%);opacity:0;transform-origin:50% 65%}.running .water-surface:after{animation:waterBloom 2.8s 1.7s both}.falling-drop{top:calc(65% - 80px);width:76px;height:80px;background-image:url('assets/water-intro.webp');background-size:1600px 900px;background-position:-757px -361px;mask-image:radial-gradient(ellipse 48% 48% at 50% 50%,#000 67%,transparent 100%);filter:brightness(1.35)}@keyframes dropFall{0%{transform:translate(-50%,-360px) scale(.8,1.2);opacity:0}18%{opacity:1}92%{opacity:1}100%{transform:translate(-50%,65px) scale(.85,.12);opacity:0}}@keyframes waterBloom{0%{transform:scale(.25,.55);opacity:0}30%{opacity:.85}100%{transform:scale(1.35,1.08);opacity:.55}}
.hero-shade,.experience-shade{pointer-events:none}.linear-mode .experience-bottom{bottom:58px}.linear-mode .scroll-video{object-fit:contain;background:#061e31}.linear-mode .story-cards{pointer-events:none}.linear-mode .story-card a{pointer-events:auto}@media(prefers-reduced-motion:reduce){.experience-bottom{position:relative;inset:auto;margin:0 var(--gutter)}.experience-sticky{padding-bottom:30px}}
@media(min-width:761px){.experience-heading{top:auto;bottom:108px}.experience-heading h2{font-size:clamp(36px,4vw,60px)}}
@media(max-width:760px){.experience-sticky{min-height:760px}.scroll-video{top:122px;height:auto;aspect-ratio:16/9;object-fit:contain}.experience-heading h2{font-size:30px}.experience-shade{background:linear-gradient(180deg,#061e31 118px,transparent 123px,transparent 360px,#061e31 440px)}.story-cards{min-height:300px;bottom:95px}.story-card{min-height:300px;padding:22px}.story-card h3{font-size:26px}.experience-bottom{bottom:24px}.card-foot{margin-top:18px}.linear-mode .scroll-video{top:122px}.linear-mode .experience-sticky{min-height:850px}.linear-mode .story-cards{bottom:130px}.linear-mode .experience-bottom{bottom:65px}.linear-mode .scroll-video{pointer-events:auto}.linear-mode .story-cards{pointer-events:none}}
@media(max-width:360px){.story-cards,.story-card{min-height:330px}.experience-sticky{min-height:800px}}
@media(prefers-reduced-motion:reduce){.scroll-video{top:auto}.experience-heading{top:auto;bottom:auto}.experience-sticky{min-height:0}.story-cards,.story-card{min-height:0}}
/* Integrated, continuous experience: floating navigation and all service cards on film. */
:root{--header:112px}.header{inset:18px 24px auto;height:82px;padding:8px 30px;border-radius:999px;background:rgba(255,255,255,.83);border:1px solid rgba(255,255,255,.5);backdrop-filter:blur(24px);box-shadow:0 8px 35px #041a2c12;gap:30px}.brand{width:230px}.header-cta{border-color:#a3b9c866}.hero{min-height:760px;height:100svh;padding-top:0}.hero-video{inset:0;height:100%;object-position:center 40%}.hero-shade{inset:0}.hero-content{bottom:100px}.water-intro{inset:0;background:#041827}.water-intro.waiting{opacity:1;visibility:visible;pointer-events:none}.water-intro.waiting .falling-drop{animation:dropFall 2s 1.5s cubic-bezier(.44,.03,.75,.43) infinite;animation-duration:6s}.water-intro.waiting .water-surface:after{animation:waterBloom 6s 1.5s infinite}.water-intro.waiting .impact i{animation:ripple 6s 3s infinite}.water-intro.waiting .impact i:nth-child(2){animation-delay:3.25s}.water-intro.waiting .impact i:nth-child(3){animation-delay:3.5s}.water-surface{background:radial-gradient(ellipse at 50% 66%,#113c51 0%,#062439 35%,#041827 75%)}.water-surface:after{inset:10% 0 -10%;background-size:cover;mask-image:linear-gradient(transparent 45%,#000 54%)}.intro-welcome{position:absolute;z-index:5;inset:150px var(--gutter) auto;color:white;pointer-events:none;transition:opacity .6s;display:flex;flex-direction:column;align-items:flex-start}.intro-welcome .eyebrow{font-size:11px;color:#90b7cb;margin-bottom:18px}.intro-welcome h2{font-size:clamp(46px,5vw,76px);line-height:1.05;letter-spacing:-.04em}.intro-welcome h2 em{color:#79d0fa}.intro-welcome button{pointer-events:auto;background:transparent;color:#d4e6f0;border-bottom:1px solid #7facc5;padding:0 0 10px;margin-top:24px;display:flex;gap:48px;font-size:13px;align-items:center}.intro-welcome button span{font-size:22px}.intro-welcome.dismissed{opacity:0;pointer-events:none}.intro-welcome.dismissed button{pointer-events:none}.water-intro.leaving{animation:introFade 2.2s both}.hero.has-intro .hero-content{opacity:0}.hero.has-intro .hero-index{opacity:0}.hero-content{transition:opacity .9s}.hero-controls{z-index:6}.experience{height:600vh}.experience-sticky{top:0;height:100svh;min-height:650px}.experience-heading{bottom:160px}.story-cards{right:var(--gutter);width:380px;min-height:380px;top:47%;transform:translateY(-35%)}.story-card{padding:32px}.story-card .service-detail{color:#a8dfff;font-size:12px;margin-top:25px;border-color:#4d758d;background:transparent}.story-card h3{font-size:32px;line-height:1.12}.story-navigation{position:absolute;bottom:88px;left:var(--gutter);right:var(--gutter);display:flex;gap:10px;justify-content:space-between;border-top:1px solid #ffffff45}.story-navigation button{background:transparent;color:#c0d6e3;border-top:2px solid transparent;margin-top:-1px;padding:15px 0 0;display:flex;gap:14px;align-items:center;font-size:11px;flex:1;transition:color .3s,border-color .3s}.story-navigation button span{font-size:12px}.story-navigation button.active{border-color:#70d0ff;color:white}.experience-bottom{bottom:26px}.section-anchor{position:absolute;top:0}.method-anchor{position:absolute;top:calc(85% - 85vh)}.difference{padding-top:100px}.difference .metric-note{font-size:12px}.linear-mode .experience-sticky{min-height:900px}.linear-mode .story-navigation{bottom:120px}.linear-mode .experience-bottom{bottom:70px}.safety-note{font-size:13px}footer{background:#051a2b;color:white}.footer-brand{background:rgba(255,255,255,.95);padding:10px 16px;border-radius:3px}footer>p{color:#9cb9cc}.footer-bottom{border-color:#2a4355;color:#819eaf}
@media(max-width:1150px){.header{padding:8px 24px;gap:20px}.brand{width:210px}.story-cards{width:335px}.story-card{padding:27px}.story-card h3{font-size:29px}.story-navigation button{gap:10px}.desktop-nav{font-size:12px;gap:20px}}
@media(max-width:760px){:root{--header:100px}.header{inset:14px 14px auto;height:72px;padding:7px 16px}.brand{width:190px}.mobile-nav{top:80px;left:0;right:0;border-radius:20px;padding:15px 22px 24px}.hero{min-height:700px}.hero-video{object-position:35% center}.hero-content{bottom:100px}.intro-welcome{top:128px;left:24px;right:24px}.intro-welcome h2{font-size:46px}.intro-welcome .eyebrow{font-size:10px}.intro-welcome button{font-size:12px;gap:28px;margin-top:18px}.water-surface:after{background-size:auto 100%;inset:14% -40% -14%;mask-image:linear-gradient(transparent 43%,#000 53%)}.impact{top:67%}.falling-drop{top:calc(67% - 80px)}.hero-controls{gap:16px}.experience{height:580vh}.experience-sticky{height:100svh;min-height:850px}.experience-heading{top:114px;bottom:auto;left:24px}.experience-heading h2{font-size:27px}.experience-heading .eyebrow{font-size:9px}.scroll-video{top:208px;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;object-position:center}.experience-shade{background:linear-gradient(180deg,#061e31 205px,transparent 209px,transparent 420px,#061e31 485px)}.story-cards{top:auto;left:24px;right:24px;width:auto;bottom:143px;transform:none;min-height:280px}.story-card{min-height:280px;padding:23px}.story-card h3{font-size:26px}.story-card p{font-size:14px}.story-card .service-detail{margin-top:19px}.story-card .card-foot{margin-top:18px}.story-navigation{bottom:82px;gap:8px;left:24px;right:24px}.story-navigation button{justify-content:center;padding-top:12px;font-size:12px}.story-navigation button span{display:none}.experience-bottom{bottom:22px;font-size:9px;gap:10px}.experience-bottom>span:first-child{width:auto;flex:1}.video-progress{width:100%;order:-1;flex-basis:100%;height:2px;margin-bottom:6px}#video-counter{display:none}.plain-button{padding:4px 0;font-size:10px}.linear-mode .experience-sticky{min-height:920px}.linear-mode .scroll-video{top:208px}.linear-mode .story-cards{bottom:178px}.linear-mode .story-navigation{bottom:120px}.linear-mode .experience-bottom{bottom:45px}.difference{padding-top:75px}.difference .metric-note{font-size:11px}footer .footer-brand{width:255px}}
@media(max-width:360px){.brand{width:175px}.story-card h3{font-size:24px}.story-cards,.story-card{min-height:305px}.experience-sticky{min-height:880px}.intro-welcome h2{font-size:40px}}
@media(prefers-reduced-motion:reduce){.intro-welcome{display:none}.hero.has-intro .hero-content,.hero.has-intro .hero-index{opacity:1}.experience{height:auto}.experience-sticky{height:auto;min-height:0;position:relative;padding-top:110px}.experience-heading{position:relative;inset:auto;padding:25px var(--gutter)}.scroll-video{top:auto;position:relative;aspect-ratio:16/9;width:100%;height:auto}.story-cards{position:relative;inset:auto;transform:none;width:auto;min-height:0;grid-template-columns:repeat(2,1fr)}.story-card{min-height:0}.story-navigation{display:none}.experience-bottom{position:relative;inset:auto;margin:0 var(--gutter);padding:25px 0}.section-anchor,.method-anchor{top:0}}@media(max-width:760px) and (prefers-reduced-motion:reduce){.story-cards{grid-template-columns:1fr}}
.water-intro.waiting .falling-drop{animation:dropLoop 7s .6s infinite}.water-intro.waiting .impact i{animation:rippleLoop 7s 2.7s infinite}.water-intro.waiting .impact i:nth-child(2){animation-delay:2.95s}.water-intro.waiting .impact i:nth-child(3){animation-delay:3.2s}.water-intro.waiting .water-surface:after{animation:waterLoop 7s 2.7s infinite}@keyframes dropLoop{0%{transform:translate(-50%,-300px) scale(.8,1.1);opacity:0}5%{opacity:1}27%{opacity:1;transform:translate(-50%,0) scale(.85,1)}30%{transform:translate(-50%,65px) scale(.9,.12);opacity:0}100%{transform:translate(-50%,65px);opacity:0}}@keyframes rippleLoop{0%{transform:translate(-50%,-50%) scale(.07,.015);opacity:.8}55%,100%{transform:translate(-50%,-50%) scale(7,1.6);opacity:0}}@keyframes waterLoop{0%{transform:scale(.25,.55);opacity:0}12%{opacity:.9}55%{transform:scale(1.4,1.1);opacity:0}100%{opacity:0}}.water-intro.leaving{animation:gentleReveal 2.2s both}@keyframes gentleReveal{0%{opacity:1;visibility:visible}100%{opacity:0;visibility:hidden}}
@media(max-width:760px){.experience-sticky{height:100svh;min-height:700px}.experience-heading{top:108px}.experience-heading h2{font-size:25px}.experience-heading .eyebrow{margin-bottom:8px}.scroll-video{top:186px}.experience-shade{background:linear-gradient(180deg,#061e31 182px,transparent 187px,transparent 410px,#061e31 470px)}.story-cards{bottom:118px;min-height:270px}.story-card{min-height:270px;padding:20px}.story-card h3{font-size:24px;margin-bottom:14px}.story-card p{font-size:13px;line-height:1.55}.story-card .service-detail{margin-top:16px;font-size:11px}.card-top{font-size:9px;margin-bottom:16px}.story-navigation{bottom:67px}.experience-bottom{bottom:16px}.experience-bottom>span:first-child{font-size:8px}.video-progress{margin-bottom:3px}.linear-mode .scroll-video{top:186px}.linear-mode .experience-sticky{min-height:800px}.linear-mode .story-cards{bottom:150px}.linear-mode .story-navigation{bottom:99px}.linear-mode .experience-bottom{bottom:40px}}
@media(max-width:360px){.story-cards{left:18px;right:18px;min-height:284px}.story-card{min-height:284px}.story-card h3{font-size:23px}.experience-sticky{min-height:740px}}
@media(max-width:760px) and (prefers-reduced-motion:reduce){.experience-sticky{height:auto;min-height:0}.experience-heading{top:auto}.scroll-video{top:auto}.story-cards{inset:auto;min-height:0}.story-card{min-height:0}.experience-bottom{inset:auto}}
.intro-hint{font-size:13px;color:#87adc3;letter-spacing:.04em;margin-top:22px}.water-intro.automatic{visibility:visible;animation:automaticIntro 6.5s both}.automatic .falling-drop{animation:dropFall 2.2s .6s cubic-bezier(.44,.03,.75,.43) both}.automatic .impact i{animation:ripple 3.3s 2.65s ease-out both}.automatic .impact i:nth-child(2){animation-delay:2.95s}.automatic .impact i:nth-child(3){animation-delay:3.25s}.automatic .water-surface:after{animation:waterBloom 3.7s 2.7s both}@keyframes automaticIntro{0%,75%{opacity:1;visibility:visible}100%{opacity:0;visibility:hidden}}.hero.has-intro .hero-controls{opacity:0;pointer-events:none}.hero-controls{transition:opacity .5s}
/* One continuous blue atmosphere; water and footage stay behind the content. */
:root{--paper:#061e31;--ink:#edf7fc;--line:#93c0d52e}html{scroll-padding-top:0}body{background:#061e31;color:#edf7fc}body:before{content:'';position:fixed;inset:0;z-index:-1;background:linear-gradient(#061e31aa,#061e3133),url('assets/water-intro.webp') center 62%/cover no-repeat;opacity:.5;pointer-events:none}.header{background:rgba(171,207,228,.73);border-color:#d9efff38;box-shadow:none;color:#082c44;backdrop-filter:blur(18px)}.header-cta{border-color:#31566c40}.hero,.experience,.difference,.closing{background:transparent}.hero-video{filter:saturate(.65);opacity:.82;mask-image:linear-gradient(#000 85%,transparent 100%)}.hero-shade{background:linear-gradient(180deg,#052f4940 5%,#06365030 35%,#061e31c9 88%,#061e31 100%)}.hero-content{z-index:2}.intro{background:transparent;color:#edf7fc;position:relative}.intro:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 75% 50%,#12749b16,transparent 65%);pointer-events:none}.eyebrow.dark{color:#81b1cb}h2 span{color:#7eb9d6}.intro-copy p+p,.section-heading>p{color:#b3ccdc}.text-link{border-color:#7cb4ce7a}.experience-shade{background:linear-gradient(180deg,#061e3180,rgba(4,41,65,.34) 24%,rgba(5,38,60,.28) 65%,#061e31d9 100%);pointer-events:none}.scroll-video{filter:saturate(.6);opacity:.82;mask-image:linear-gradient(transparent 0%,#000 8%,#000 90%,transparent 100%)}.story-card{background:rgba(4,29,48,.43);border:1px solid #b3dbef45;backdrop-filter:blur(5px);border-radius:12px;box-shadow:0 12px 45px #01172b14}.story-card h3{color:#fff}.story-card p{color:#e2eff7}.card-top{color:#b4d9ec}.card-foot{color:#b3d9ec}.story-card .service-detail{border-color:#badced60;color:#c9ecff}.story-navigation{border-color:#b1d9ed5c}.experience-heading h2{text-shadow:none}.difference{color:#edf7fc;position:relative}.difference:before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 20% 40%,#1378a326,transparent 65%)}.difference-top>p,.saving p,.safety p{color:#b9d1df}.safety{border-color:#82b2cd4f}.metric-note{border-color:#93b5cb40;color:#9dbbd0}.closing>img{filter:saturate(.55);opacity:.55;mask-image:linear-gradient(transparent,#000 18%,#000 80%,transparent)}.closing-shade{background:linear-gradient(90deg,#061e31bd,#073b5655)}footer{background:transparent}.footer-brand{background:rgba(171,207,228,.78);border-radius:999px;padding:9px 20px}.footer-bottom{border-color:#94bbd240}dialog{background:#082b43;color:#f1f9ff;border:1px solid #abd8f24d}dialog>p,.dialog-note p{color:#b8d2e2}.dialog-note{border-color:#9bc8df3b}.dialog-back{border-color:#9bc8df70}.dialog-close{color:#e4f4fc}.difference,#servicios{scroll-margin-top:110px}
@media(max-width:760px){.mobile-nav{background:rgba(16,49,71,.97);color:#eaf7ff;border:1px solid #b4d6e32e;backdrop-filter:blur(20px)}.mobile-nav a{border-color:#b5d5e32e}.mobile-nav span{color:#9cc6dc}.menu-button span{background:#0a3047}.scroll-video{mask-image:linear-gradient(transparent,#000 10%,#000 90%,transparent);opacity:.86}.experience-shade{background:linear-gradient(180deg,#061e31 182px,#082b4355 235px,#08324b3d 340px,#061e31d9 470px)}.story-card{background:rgba(12,55,82,.42);backdrop-filter:blur(5px)}.experience-sticky{background:transparent}.intro{padding-top:90px;padding-bottom:90px}}
@media(prefers-reduced-motion:reduce){.experience-shade{display:none}.scroll-video{mask-image:none}.intro-welcome{display:none}}
@media(max-width:760px){.water-intro .impact{top:78%}.water-intro .falling-drop{top:calc(78% - 80px)}.automatic .falling-drop{animation-name:dropFallMobile}.water-surface:after{inset:22% -40% -22%}.intro-hint{max-width:240px;font-size:12px}.intro-welcome h2{max-width:330px}}@keyframes dropFallMobile{0%{transform:translate(-50%,-120px) scale(.8,1.1);opacity:0}18%{opacity:1}92%{opacity:1}100%{transform:translate(-50%,65px) scale(.85,.12);opacity:0}}
/* Preserve the full frame and the white spray in the church sequence. */
.scroll-video{object-fit:contain;object-position:center;opacity:1;filter:saturate(.82);background:transparent;mask-image:linear-gradient(transparent 0%,#000 3%,#000 97%,transparent 100%)}.experience-shade{background:linear-gradient(180deg,#061e3175,rgba(6,39,59,.08) 26%,rgba(6,39,59,.04) 62%,#061e31b3 100%)}.story-card{background:rgba(4,29,48,.46)}@media(max-width:760px){.scroll-video{object-fit:contain;opacity:1}.experience-shade{background:linear-gradient(180deg,#061e31 182px,#07304b0a 210px,#07304b0a 390px,#061e31c7 465px)}}@media(prefers-reduced-motion:reduce){.experience-shade{display:none}}
@media(min-width:761px){.experience-sticky.wide-shot .story-cards{left:var(--gutter);right:auto}.experience-heading{transition:opacity .6s}.experience-sticky.wide-shot .experience-heading{opacity:0}}
/* Open header: original logo geometry, no container, one hamburger on every screen. */
.header{inset:0 0 auto;height:128px;padding:24px var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:30px;border:0;border-radius:0;background:transparent;color:#e5f3fa;backdrop-filter:none;box-shadow:none;isolation:isolate}.header:before{content:'';position:absolute;inset:0 0 -30px;z-index:-1;pointer-events:none;background:linear-gradient(180deg,#051c2d8f,transparent)}.brand{width:220px;display:block;position:relative;z-index:2}.brand img,.site-footer .footer-brand img{filter:none;mix-blend-mode:normal}.menu-button{display:flex;position:relative;z-index:4;flex-direction:row;align-items:center;justify-content:center;gap:18px;width:auto;height:48px;background:transparent;padding:0;color:#e9f6fe;border:0;letter-spacing:.16em}.menu-button .menu-label{display:block;height:auto;width:auto;background:transparent;transform:none!important;font-size:11px}.menu-button .menu-bars{display:flex;flex-direction:column;justify-content:center;gap:6px;width:30px;height:30px;background:transparent;transform:none!important}.menu-bars i{display:block;width:30px;height:1px;background:#ecf8ff;transition:transform .25s,opacity .2s}.menu-button[aria-expanded=true] .menu-bars i:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-button[aria-expanded=true] .menu-bars i:nth-child(2){opacity:0}.menu-button[aria-expanded=true] .menu-bars i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.menu-backdrop{position:fixed;inset:0;background:#00152152;z-index:1;backdrop-filter:blur(3px)}.site-menu{position:fixed;right:0;top:0;bottom:0;width:min(560px,100%);padding:134px 58px 35px;background:rgba(4,27,45,.96);backdrop-filter:blur(22px);border-left:1px solid #96bfd52b;z-index:3;overflow-y:auto;overscroll-behavior:contain}.menu-eyebrow{font-size:10px;letter-spacing:.16em;color:#82b0c9;margin:0 0 22px}.site-menu>a{display:flex;align-items:center;justify-content:space-between;padding:19px 0;font-size:clamp(24px,2.5vw,34px);line-height:1.2;letter-spacing:-.03em;font-weight:400;border-bottom:1px solid #aac9d92b;color:#edf8ff}.site-menu>a:hover{color:#79d0fa}.site-menu>a>span{font-size:11px;letter-spacing:0;color:#87aec5}.menu-signature{font-size:14px;margin-top:38px;color:#a2c3d7}.menu-signature span{font-size:12px;color:#7698b0}.menu-open{overflow:hidden}.menu-open .header:before{opacity:0}.menu-open .brand{z-index:2}
/* Footer follows the reference hierarchy: brand, services, company, contact, legal. */
.site-footer{display:block;padding:90px var(--gutter) 26px;background:transparent;color:#dcecf7;border-top:1px solid #88b6d124}.footer-grid{display:grid;grid-template-columns:2.05fr 1.12fr 1fr 1.25fr .7fr;column-gap:36px;align-items:start}.site-footer .footer-brand{display:block;width:min(100%,310px);padding:0;margin:0 0 27px;border:0;border-radius:0;box-shadow:none;background:transparent}.site-footer .footer-brand img{width:100%;height:auto;object-fit:contain}.footer-identity>p{font-size:14px;line-height:1.75;max-width:285px;color:#9ebace}.footer-signature{display:block;font-size:13px;letter-spacing:.015em;margin-top:21px;color:#6db8df}.footer-column{padding-top:12px}.footer-column h2{font-size:14px;line-height:1.4;letter-spacing:.015em;font-weight:500;color:#e4f3fc;margin-bottom:25px}.footer-column ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:13px}.footer-column li,.footer-column p{font-size:13px;line-height:1.65;color:#96b4c9}.footer-column a,.footer-column button{font-size:13px;font-weight:400;line-height:1.5;color:#a4c1d4;background:transparent;border:0;padding:0;cursor:pointer;text-align:left}.footer-column a:hover,.footer-column button:hover{color:#75cefb}.footer-pending{display:block;margin-top:18px;font-size:11px;color:#7699b0}.site-footer .footer-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px;padding-top:25px;margin-top:55px;border-top:1px solid #93bdd333;color:#85a7bd;font-size:11px}.footer-bottom a{display:grid;place-items:center;width:36px;height:36px;font-size:22px;color:#b5d8ec}.site-footer .footer-bottom>span:nth-child(2){margin-left:auto;margin-right:30px}.footer-column button:focus-visible{outline-offset:5px}#pie{scroll-margin-top:100px}
@media(max-width:1150px){.header{height:112px;padding-top:20px;padding-bottom:20px}.brand{width:200px}.footer-grid{grid-template-columns:1.7fr 1fr 1fr;gap:40px}.footer-identity{grid-row:span 2}.footer-column{padding-top:8px}.footer-contact{grid-column:2}.site-footer{padding-top:70px}}
@media(max-width:760px){.header{inset:0 0 auto;height:98px;padding:16px 24px;border-radius:0;background:transparent;border:0;backdrop-filter:none}.brand{width:150px;max-width:calc(100vw - 112px)}.menu-button{height:44px;width:38px;padding:4px;gap:0;background:transparent}.menu-button .menu-label{display:none}.menu-button .menu-bars{width:28px}.menu-bars i{width:28px}.site-menu{width:100%;padding:114px 28px 35px}.site-menu>a{font-size:28px;padding:19px 0}.menu-signature{margin-top:30px}.menu-open .brand{visibility:hidden}.footer-grid{grid-template-columns:1fr 1fr;gap:35px 24px}.footer-identity{grid-column:1/-1;grid-row:auto}.site-footer{padding:55px 24px 20px}.site-footer .footer-brand{width:280px;margin-bottom:20px}.footer-identity>p{max-width:370px;font-size:14px}.footer-signature{margin-top:15px}.footer-column{padding-top:0}.footer-contact{grid-column:auto}.footer-column h2{font-size:14px;margin-bottom:18px}.footer-column ul{gap:12px}.footer-column a,.footer-column button,.footer-column p{font-size:13px}.site-footer .footer-bottom{margin-top:40px;gap:12px;flex-direction:row;align-items:center}.site-footer .footer-bottom>span:first-child{flex:1;font-size:10px}.site-footer .footer-bottom>span:nth-child(2){order:3;flex-basis:100%;margin:0;font-size:10px}.footer-bottom a{width:28px}.footer-pending{font-size:11px}.header:before{inset:0 0 -18px}}
@media(max-width:360px){.header{padding:14px 18px}.brand{width:140px}.site-menu{padding-left:24px;padding-right:24px}.site-menu>a{font-size:25px}.footer-grid{gap:30px 20px}.footer-column button,.footer-column p{font-size:12px}}
@media(max-width:760px){.hero-video{inset:0;width:100%;height:72%;aspect-ratio:auto;object-fit:cover;object-position:40% center;mask-image:linear-gradient(#000 72%,transparent 100%)}.hero-shade{background:linear-gradient(180deg,#061e3133,transparent 28%,#061e3133 46%,#061e31d6 76%,#061e31 100%)}.scroll-video{aspect-ratio:15/7}}

/* Metrópolis: preserve the full frame and the central cleaning action. */
.experience.metropolis .scroll-video {
  inset: 0;
  width: 100%;
  height: 100%;
  aspect-ratio: 16 / 9;
  object-fit: contain;
  object-position: center;
  filter: saturate(.9);
  opacity: 1;
}
.experience.metropolis .experience-heading {
  max-width: 35%;
  opacity: 1;
}
.experience.metropolis .experience-heading h2 {
  font-size: clamp(30px, 3vw, 52px);
}
.experience.metropolis .story-cards {
  display: grid;
  top: 50%;
  bottom: auto;
  left: auto;
  right: clamp(24px, 2.5vw, 56px);
  width: min(26vw, 370px);
  min-height: 0;
  transform: translateY(-50%);
  z-index: 2;
}
.experience.metropolis .story-card {
  position: relative;
  inset: auto;
  grid-area: 1 / 1;
  min-height: 380px;
  padding: clamp(22px, 1.8vw, 30px);
}
.experience.metropolis .story-card h3 {
  font-size: clamp(24px, 2.15vw, 34px);
  line-height: 1.13;
  margin-bottom: 18px;
}
.experience.metropolis .story-card p {
  font-size: 16px;
  line-height: 1.5;
}
.experience.metropolis .card-top {
  font-size: 12px;
  margin-bottom: 20px;
}
.experience.metropolis .story-card .service-detail {
  font-size: 14px;
  margin-top: 22px;
}
.experience.metropolis .story-card .text-link,
.experience.metropolis .story-card .card-foot {
  font-size: 14px;
}

/* Mobile keeps the footage behind the cards, with room for the drone above them. */
@media (max-width: 1023px) {
  .experience.metropolis .experience-sticky {
    height: 100svh;
    min-height: 0;
  }
  .experience.metropolis .experience-heading {
    top: 96px;
    bottom: auto;
    left: 22px;
    right: 22px;
    max-width: none;
    z-index: 2;
  }
  .experience.metropolis .experience-heading .eyebrow {
    font-size: 10px;
    margin-bottom: 8px;
  }
  .experience.metropolis .experience-heading h2 { font-size: 25px; }
  .experience.metropolis .experience-heading h2 br { display: none; }
  .experience.metropolis .scroll-video {
    inset: 0;
    height: 100%;
    width: 100%;
    aspect-ratio: auto;
    object-fit: cover;
    object-position: var(--mobile-frame-x, 51.2%) 50%;
    mask-image: none;
  }
  .experience.metropolis .story-cards {
    top: auto;
    bottom: 116px;
    left: 22px;
    right: 22px;
    width: auto;
    max-width: 560px;
    margin: 0 auto;
    transform: none;
  }
  .experience.metropolis .story-card {
    min-height: 0;
    padding: 20px;
    background: rgba(4,29,48,.28);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    border-color: #d7ecf552;
    box-shadow: 0 12px 40px #00142218;
  }
  .experience.metropolis .story-card h3 { font-size: 25px; margin-bottom: 12px; }
  .experience.metropolis .story-card p { font-size: 14px; line-height: 1.5; }
  .experience.metropolis .card-top { margin-bottom: 15px; font-size: 10px; }
  .experience.metropolis .story-card .service-detail { margin-top: 15px; font-size: 12px; }
  .experience.metropolis .story-card .text-link,
  .experience.metropolis .story-card .card-foot { font-size: 12px; }
  .experience.metropolis .story-navigation { bottom: 67px; left: 22px; right: 22px; gap: 8px; }
  .experience.metropolis .story-navigation button { justify-content: center; padding-top: 12px; font-size: 12px; }
  .experience.metropolis .story-navigation button span { display: none; }
  .experience.metropolis .experience-bottom { bottom: 16px; left: 22px; right: 22px; }
  .experience.metropolis.linear-mode .experience-sticky { min-height: 0; }
  .experience.metropolis.linear-mode .story-cards { bottom: 146px; }
  .experience.metropolis.linear-mode .story-navigation { bottom: 97px; }
  .experience.metropolis.linear-mode .experience-bottom { bottom: 46px; }
}

@media (max-width: 360px) {
  .experience.metropolis .story-cards {
    left: 18px;
    right: 18px;
  }
  .experience.metropolis .story-card {
    padding: 18px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .experience.metropolis {
    height: auto;
  }
  .experience.metropolis .experience-sticky,
  .experience.metropolis.linear-mode .experience-sticky {
    position: relative;
    top: 0;
    height: auto;
    min-height: 0;
  }
  .experience.metropolis .experience-heading {
    position: relative;
    inset: auto;
    max-width: none;
  }
  .experience.metropolis .scroll-video {
    position: relative;
    inset: auto;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    mask-image: none;
  }
  .experience.metropolis .story-cards {
    position: relative;
    inset: auto;
    width: auto;
    max-width: none;
    margin: 0;
    transform: none;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .experience.metropolis .story-card {
    grid-area: auto;
    min-height: 0;
  }
  .experience.metropolis .experience-bottom,
  .experience.metropolis.linear-mode .experience-bottom {
    position: relative;
    inset: auto;
  }
}
@media (max-width: 760px) and (prefers-reduced-motion: reduce) {
  .experience.metropolis .story-cards {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) and (max-height: 680px) and (prefers-reduced-motion: no-preference) {
  .experience.metropolis .experience-heading { top: 80px; }
  .experience.metropolis .experience-heading .eyebrow { font-size: 9px; margin-bottom: 5px; }
  .experience.metropolis .experience-heading h2 { font-size: 22px; }
  .experience.metropolis .story-cards { bottom: 106px; }
  .experience.metropolis .story-card { padding: 14px 16px; }
  .experience.metropolis .story-card h3 { font-size: 22px; margin-bottom: 10px; }
  .experience.metropolis .story-card p { font-size: 13px; line-height: 1.45; }
  .experience.metropolis .card-top { margin-bottom: 10px; font-size: 9px; }
  .experience.metropolis .story-card .service-detail { margin-top: 10px; }
  .experience.metropolis .story-card .card-foot { margin-top: 12px; }
}

/* Shared blue treatment connects the footage, photography and water backdrop. */
:root {
  --media-filter: saturate(.65);
  --media-opacity: .82;
  --media-shade: linear-gradient(180deg, #052f4959 0%, #06365045 28%, #07354e38 60%, #061e31d9 90%, #061e31 100%);
}
.hero-video,
.experience.metropolis .scroll-video,
.closing > img {
  filter: var(--media-filter);
  opacity: var(--media-opacity);
}
.hero-shade,
.experience.metropolis .experience-shade,
.closing-shade {
  background: var(--media-shade);
  pointer-events: none;
}
.closing-shade {
  background: linear-gradient(90deg, #061e3173, transparent 75%), var(--media-shade);
}

@media (max-width: 1023px) and (prefers-reduced-motion: no-preference) {
  .experience.metropolis .experience-shade {
    background: linear-gradient(180deg, #031c3280 0%, #07354e20 22%, #07354e15 44%, #061e3166 70%, #061e31db 100%);
  }
}

/* Persistent menu, quiet header once the visitor begins to scroll. */
.header .brand{transition:opacity .28s ease,transform .28s ease,visibility .28s;}
.header.logo-hidden .brand{opacity:0;visibility:hidden;transform:translateY(-10px);pointer-events:none;}
.site-menu>a[aria-current]{color:#78d0fc;}
.site-menu>a[aria-current]>span{color:#78d0fc;}

/* Dedicated pages share the blue atmosphere, with distinct content structures. */
.inner-page main{overflow:clip;}
.inner-page h1{font-size:clamp(58px,6.5vw,108px);line-height:1.04;letter-spacing:-.055em;}
.inner-page h1 em,.inner-page h2 em,.method-aside em{color:#85c9ed;}
.page-hero{padding:190px var(--gutter) 88px;position:relative;}
.page-hero .eyebrow{color:#8bbbd7;margin-bottom:30px;}
.page-lead{max-width:660px;color:#b9d3e3;font-size:clamp(18px,1.5vw,22px);line-height:1.65;margin-top:35px;}
.split-opening{display:grid;grid-template-columns:1.2fr .8fr;gap:6%;align-items:center;}
.split-opening h1{font-size:clamp(55px,5.2vw,90px);}
.page-photo{margin:0;position:relative;overflow:hidden;border-radius:3px;background:#061e31;}
.page-photo:after{content:'';position:absolute;inset:0;pointer-events:none;background:var(--media-shade);}
.page-photo img{width:100%;height:100%;object-fit:cover;filter:var(--media-filter);opacity:var(--media-opacity);}
.split-opening .page-photo{height:460px;}
.split-opening .page-photo img{object-position:58% center;}
.page-next{padding:85px var(--gutter) 105px;display:flex;align-items:flex-end;justify-content:space-between;gap:45px;border-top:1px solid #acd9f028;}
.page-next h2{font-size:clamp(36px,4vw,62px);}
.page-next .text-link{flex-shrink:0;color:#bde6fb;margin-bottom:5px;}
.film-section{padding:0 var(--gutter) 70px;}
.film-frame{position:relative;border:1px solid #abd6ed3d;border-radius:4px;overflow:hidden;background:#061e31;}
.film-video{display:block;width:100%;aspect-ratio:1916/1080;object-fit:contain;filter:var(--media-filter);opacity:var(--media-opacity);}
.film-shade{position:absolute;inset:0 0 55px;background:linear-gradient(180deg,#052f4930,#06365024);pointer-events:none;}
.film-caption{display:flex;justify-content:space-between;align-items:start;gap:35px;padding-top:22px;color:#8eb6d0;}
.film-caption>span{font-size:11px;letter-spacing:.14em;white-space:nowrap;}
.film-caption p{font-size:12px;line-height:1.6;max-width:470px;}
.three-notes{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;padding:30px var(--gutter) 105px;}
.three-notes article{padding-top:28px;border-top:1px solid #9cc7e04d;}
.three-notes article>span{color:#8acaf0;font-size:11px;letter-spacing:.1em;}
.three-notes h2{font-size:clamp(32px,3vw,46px);margin:28px 0 22px;}
.three-notes p{color:#bad0df;font-size:16px;}
.service-editorial{padding:20px var(--gutter) 70px;}
.editorial-row{display:grid;grid-template-columns:.2fr 1fr 1fr;gap:42px;padding:62px 0;border-top:1px solid #a4cde237;scroll-margin-top:85px;}
.editorial-number{font-size:clamp(38px,4vw,62px);letter-spacing:-.04em;line-height:1;color:#75bbdf;}
.editorial-row .eyebrow{color:#8eb5cf;font-size:11px;margin-bottom:25px;}
.editorial-row h2{font-size:clamp(33px,3.4vw,54px);line-height:1.1;}
.editorial-copy p{font-size:17px;color:#c4dce9;}
.editorial-copy .detail-note,.detail-note{font-size:14px;line-height:1.65;color:#8eb4cc;margin-top:25px;}
.editorial-copy .text-link{font-size:13px;}
.value-layout{display:grid;grid-template-columns:1fr 1fr;gap:9%;padding:25px var(--gutter) 100px;}
.value-layout .eyebrow{font-size:11px;color:#96bfd6;}
.large-value{display:flex;flex-direction:column;color:#77caff;}
.large-value>span{font-size:16px;}
.large-value strong{font-size:clamp(140px,16vw,250px);line-height:1.05;font-weight:400;letter-spacing:-.08em;}
.large-value small{font-size:.52em;}
.value-layout h2{font-size:clamp(34px,3.3vw,54px);margin:24px 0;}
.value-layout p{color:#bed7e6;font-size:17px;}
.value-layout .value-disclaimer{font-size:12px;line-height:1.65;color:#9cbcd0;border-top:1px solid #a6cbe12e;padding-top:25px;margin-top:30px;}
.value-safety{border-left:1px solid #a4cbe139;padding-left:15%;}
.orbit-mark{display:block;width:130px;height:130px;border:1px solid #76c4ef70;border-radius:50%;margin-bottom:42px;position:relative;box-shadow:inset 0 0 55px #0c70a02b;}
.orbit-mark:before,.orbit-mark:after{content:'';position:absolute;border:1px solid #76c4ef55;border-radius:50%;inset:17px;}
.orbit-mark:after{inset:37px;}
.orbit-mark i{position:absolute;width:8px;height:8px;background:#7bd5ff;border-radius:50%;right:10px;top:24px;box-shadow:0 0 20px #4cbcff;}
.method-journey{padding:20px var(--gutter) 100px;display:grid;grid-template-columns:.85fr 1.15fr;gap:10%;align-items:start;}
.method-aside{position:sticky;top:70px;}
.method-aside .page-photo{height:460px;}
.method-aside .page-photo img{object-position:42% center;}
.method-aside>p{font-size:clamp(28px,3vw,42px);line-height:1.2;letter-spacing:-.03em;margin-top:25px;}
.method-timeline{list-style:none;margin:0;padding:0 0 0 65px;border-left:1px solid #74bedb55;}
.method-timeline li{position:relative;padding:0 0 65px;}
.method-timeline li:last-child{padding-bottom:0;}
.step-number{position:absolute;left:-91px;top:-4px;width:50px;height:50px;display:grid;place-items:center;background:#082b43;border:1px solid #79c9ed70;border-radius:50%;font-size:15px;color:#9cddff;}
.method-timeline .eyebrow{color:#87bbd7;font-size:11px;margin-bottom:25px;padding-top:8px;}
.method-timeline h2{font-size:clamp(34px,3vw,48px);margin-bottom:22px;}
.method-timeline p:last-child{color:#bad2e2;font-size:17px;}
.contact-layout{padding:5px var(--gutter) 95px;display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start;}
.contact-panel{border:1px solid #a1cfe84d;background:#0a345150;backdrop-filter:blur(5px);border-radius:12px;padding:clamp(28px,4vw,65px);position:relative;}
.contact-panel>.signal{position:absolute;right:36px;top:38px;}
.contact-panel .eyebrow{font-size:11px;color:#9bc5df;}
.contact-panel h2{font-size:clamp(38px,3.8vw,58px);margin-bottom:30px;}
.contact-panel>p:last-child{font-size:16px;color:#c0d7e6;}
.contact-preparation h2{font-size:clamp(32px,3.2vw,48px);margin-bottom:35px;}
.contact-preparation dl{margin:0;}
.contact-preparation dl>div{border-top:1px solid #a4cbe133;padding:20px 0;}
.contact-preparation dt{font-size:18px;color:#e9f7ff;}
.contact-preparation dt>span{font-size:11px;color:#6ebce6;margin-right:18px;}
.contact-preparation dd{margin:8px 0 0 37px;font-size:15px;color:#a5c4d8;}
.contact-links{padding:55px var(--gutter) 95px;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:40px;align-items:center;border-top:1px solid #97c4dd33;}
.contact-links>p{font-size:27px;line-height:1.3;letter-spacing:-.03em;}
.contact-links>a{font-size:18px;border-bottom:1px solid #9ccdeb70;display:flex;justify-content:space-between;padding:22px 0;color:#bde5fb;}
.inner-page .site-footer .footer-bottom>a{min-width:36px;}
@media(max-width:1023px){
  .page-hero{padding-top:160px;padding-bottom:65px;}
  .split-opening{grid-template-columns:1fr;gap:40px;}
  .split-opening .page-photo{height:320px;max-width:100%;}
  .split-opening h1{font-size:clamp(55px,7.5vw,86px);}
  .editorial-row{grid-template-columns:50px 1fr;gap:25px;}
  .editorial-copy{grid-column:2;max-width:640px;}
  .method-journey{gap:8%;grid-template-columns:.8fr 1.2fr;}
  .method-aside .page-photo{height:340px;}
  .method-timeline{padding-left:40px;}
  .step-number{left:-66px;}
  .value-layout{gap:6%;}
  .value-safety{padding-left:10%;}
  .page-next{align-items:start;flex-direction:column;gap:12px;}
  .film-caption{flex-direction:column;gap:10px;}
}
@media(max-width:760px){
  .inner-page h1,.split-opening h1{font-size:clamp(48px,12vw,72px);}
  .page-hero{padding:145px 24px 52px;}
  .page-hero .eyebrow{font-size:10px;margin-bottom:23px;}
  .page-lead{font-size:17px;margin-top:27px;}
  .split-opening .page-photo{height:235px;}
  .page-next{padding:55px 24px 70px;}
  .page-next h2{font-size:37px;}
  .page-next .text-link{white-space:normal;gap:20px;font-size:13px;}
  .film-section{padding:0 0 48px;}
  .film-frame{border-left:0;border-right:0;border-radius:0;}
  .film-caption{padding:20px 24px 0;}
  .film-caption>span{font-size:9px;letter-spacing:.09em;white-space:normal;}
  .three-notes{grid-template-columns:1fr;gap:30px;padding:0 24px 65px;}
  .three-notes h2{font-size:35px;margin:20px 0 16px;}
  .three-notes p{font-size:15px;}
  .service-editorial{padding:0 24px 45px;}
  .editorial-row{grid-template-columns:35px 1fr;gap:20px;padding:38px 0;}
  .editorial-number{font-size:30px;}
  .editorial-row h2{font-size:31px;}
  .editorial-row .eyebrow{font-size:9px;line-height:1.5;margin-bottom:20px;}
  .editorial-copy p{font-size:15px;}
  .editorial-copy .detail-note{font-size:13px;margin-top:18px;}
  .value-layout{grid-template-columns:1fr;gap:48px;padding:5px 24px 70px;}
  .value-layout h2{font-size:38px;}
  .value-layout p{font-size:16px;}
  .value-safety{padding:40px 0 0;border-left:0;border-top:1px solid #a4cbe139;}
  .orbit-mark{width:95px;height:95px;margin-bottom:28px;}
  .orbit-mark:after{inset:30px;}
  .method-journey{grid-template-columns:1fr;gap:55px;padding:0 24px 70px;}
  .method-aside{position:relative;top:auto;}
  .method-aside .page-photo{height:240px;}
  .method-aside>p{font-size:29px;}
  .method-timeline{margin-left:21px;padding-left:39px;}
  .step-number{left:-61px;width:43px;height:43px;font-size:13px;}
  .method-timeline li{padding-bottom:46px;}
  .method-timeline h2{font-size:32px;}
  .method-timeline p:last-child{font-size:15px;}
  .contact-layout{grid-template-columns:1fr;gap:50px;padding:0 24px 65px;}
  .contact-panel{padding:30px 26px;}
  .contact-panel h2{font-size:38px;}
  .contact-preparation h2{font-size:35px;}
  .contact-links{grid-template-columns:1fr;gap:12px;padding:38px 24px 65px;}
  .contact-links>p{font-size:25px;margin-bottom:15px;}
  .contact-links>a{font-size:17px;}
}

/* Interactive edition: water reveals the story; the building remains the focus. */
.cleaning-layer{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;}
.experience.metropolis .experience-shade{z-index:1;}
.experience.metropolis .story-card{min-height:0;overflow:hidden;transition:opacity .35s ease,transform .5s ease;}
.experience.metropolis .story-card.active{animation:water-card-reveal .8s cubic-bezier(.22,.7,.25,1) both;}
.experience.metropolis .story-card.active:before{content:'';position:absolute;left:0;right:0;top:-35%;height:35%;background:linear-gradient(transparent,#ccefff23,transparent);pointer-events:none;animation:water-card-sheen .85s ease-out both;}
.experience.metropolis .story-card.active h3{animation:water-copy-in .6s .08s both;}
.experience.metropolis .story-card.active>p{animation:water-copy-in .6s .16s both;}
.experience.metropolis .story-card.active .service-detail,.experience.metropolis .story-card.active .text-link{animation:water-copy-in .6s .24s both;}
@keyframes water-card-reveal{from{clip-path:inset(0 0 100% 0 round 12px);opacity:.2;transform:translateY(12px)}to{clip-path:inset(0 round 12px);opacity:1;transform:translateY(0)}}
@keyframes water-card-sheen{to{top:100%;opacity:0}}
@keyframes water-copy-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
.hands-on{display:grid;grid-template-columns:.65fr 1.35fr;gap:4%;align-items:center;padding-top:100px;padding-right:2%;padding-bottom:110px;color:#e9f6fd;background:linear-gradient(180deg,#061e31e6,#061e3199,#061e31e6);}
.hands-copy .eyebrow{color:#9ed8f5;font-size:12px;}
.hands-copy h2{font-size:clamp(40px,4.5vw,68px);line-height:1.08;}
.hands-copy h2 em{color:#80d0f6;}
.hands-copy>p:not(.eyebrow){margin-top:28px;color:#bdd5e4;font-size:17px;}
.hands-copy>.demo-note{max-width:340px;font-size:12px!important;line-height:1.6;color:#90b0c5!important;margin-top:40px!important;}
.hands-demo{min-width:0;width:100%;max-width:none;justify-self:stretch;}
.scratch-surface{position:relative;width:100%;aspect-ratio:1.2;overflow:hidden;isolation:isolate;}
.scratch-visual{position:absolute;inset:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent),linear-gradient(180deg,transparent,#000 12%,#000 85%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent),linear-gradient(180deg,transparent,#000 12%,#000 85%,transparent);-webkit-mask-composite:source-in;mask-composite:intersect;}
.scratch-image,.scratch-cover{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.scratch-image{filter:saturate(.7) brightness(1.10);}
/* The opaque dirt layer sits above the light: only washed stone is illuminated. */
.scratch-light{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 17% 20% at var(--light-x,50%) var(--light-y,58%),#eaf7ff47 0%,#bce9ff16 42%,transparent 76%);opacity:0;transition:opacity .65s ease;}
.scratch-surface.is-active.is-brushing .scratch-light{opacity:1;transition-duration:.15s;}
.scratch-cover{transition:opacity .65s;}
.scratch-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#07354e22,transparent 65%,#061e3155);pointer-events:none;}
.scratch-surface.is-active{touch-action:none;}
.scratch-surface.is-active{cursor:none;}
.scratch-start{position:absolute;z-index:2;inset:auto 50% 28px auto;transform:translateX(50%);white-space:nowrap;padding:14px 19px;border:1px solid #c2e6f580;background:#06273de0;color:#f1faff;backdrop-filter:blur(12px);font-size:14px;display:flex;gap:28px;align-items:center;}
.scratch-surface.is-active .scratch-start,.scratch-surface.has-marks .scratch-start{display:none;}
/* The nozzle sits at 90.5% of the sprite height; the stream ends at the pointer. */
.scratch-pointer{--drone-width:104px;--nozzle:calc(var(--drone-width) * .6033);--jet-length:34px;--wash-size:48px;position:absolute;left:50%;top:58%;z-index:3;pointer-events:none;width:var(--drone-width);height:calc(var(--nozzle) + var(--jet-length));transform:translate(-50%,-100%);opacity:0;transition:opacity .15s;}
.scratch-surface.is-active.is-guiding .scratch-pointer{opacity:1;}
.scratch-drone{position:absolute;inset:0 auto auto 0;width:100%;height:auto;filter:drop-shadow(0 3px 3px #04172488);}
.scratch-jet{position:absolute;left:50%;top:var(--nozzle);width:var(--wash-size);height:var(--jet-length);transform:translateX(-50%);clip-path:polygon(48% 0,52% 0,100% 100%,0 100%);background:linear-gradient(90deg,transparent 45%,#f3fbffb3 49%,#f3fbffcc 51%,transparent 55%),linear-gradient(180deg,#f5fcff80,#d5f3ff33 50%,transparent);opacity:0;transition:opacity .15s;}
.scratch-impact{position:absolute;left:50%;bottom:0;width:var(--wash-size);height:calc(var(--wash-size) * .55);transform:translate(-50%,50%);background:radial-gradient(ellipse,#effcff66, #d5f3ff1f 55%,transparent 72%);opacity:0;}
.scratch-surface.is-active.is-guiding.has-marks .scratch-jet,.scratch-surface.is-active.is-guiding.has-marks .scratch-impact{opacity:1;}
.photo-credit{margin-top:18px;font-size:12px;line-height:1.6;color:#91afc3;}
.photo-credit a{text-decoration:underline;text-underline-offset:3px;}
@media(max-width:760px){.scratch-pointer{--drone-width:84px;--jet-length:27px;--wash-size:34px;}}
.scratch-finish{position:absolute;left:22px;bottom:22px;z-index:2;font-size:20px;letter-spacing:-.025em;color:white;opacity:0;transform:translateY(8px);transition:.6s;pointer-events:none;text-shadow:0 2px 12px #062338;}
.scratch-surface.is-complete .scratch-cover{opacity:0;}
.scratch-surface.is-complete .scratch-finish{opacity:1;transform:none;}
.scratch-caption{display:flex;justify-content:space-between;gap:16px;align-items:start;margin-top:16px;}
.scratch-caption p{font-size:14px;color:#c3dce9;line-height:1.5;}
.scratch-status{font-size:12px;color:#8bccef;white-space:nowrap;padding-top:2px;}
.scratch-controls{display:flex;gap:22px;flex-wrap:wrap;align-items:center;margin-top:14px;}
.scratch-controls button{background:none;border-bottom:1px solid #8abbcf60;padding:8px 0;color:#b8d6e7;font-size:12px;min-height:40px;}
.scratch-controls button:hover,.scratch-controls button:focus-visible{color:white;border-color:#7fd6ff;}
.scratch-controls .scratch-reset{margin-left:auto;}
.building-picker{position:relative;min-height:780px;height:100svh;max-height:1000px;background:#061e31;color:#e9f6fd;isolation:isolate;}
.building-heading{position:absolute;z-index:2;left:var(--gutter);top:70px;pointer-events:none;}
.building-heading .eyebrow{font-size:12px;margin-bottom:22px;color:#a6d6ed;}
.building-heading h2{font-size:clamp(42px,5vw,72px);}
.building-tabs{position:absolute;left:var(--gutter);right:var(--gutter);top:240px;z-index:3;display:flex;gap:36px;}
.building-options{display:contents}
.building-tabs button,.building-tabs .building-all{background:none;color:#b0c9d9;font-size:15px;padding:12px 0;min-height:48px;border-bottom:1px solid #b7d8e545;transition:color .3s,border-color .3s;white-space:nowrap;display:inline-flex;align-items:center;line-height:1.5;}
.building-tabs button[aria-selected=true]{color:white;border-color:#72d4ff;}
.building-tabs button:hover,.building-tabs .building-all:hover{color:white;border-color:#72d4ff;}
.building-panels,.building-panel{position:absolute;inset:0;}
.building-panel{opacity:0;visibility:hidden;transition:opacity .7s ease,visibility .7s;pointer-events:none;overflow:hidden;}
.building-panel.active{opacity:1;visibility:visible;pointer-events:auto;}
.building-panel>img{width:100%;height:100%;object-fit:cover;object-position:center;filter:var(--media-filter);opacity:.75;transform:scale(1.025);transition:transform 1.2s ease;}
.building-panel.active>img{transform:scale(1);}
.building-panel:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#041d30d9, #06263d77 44%,#07354e22 85%),linear-gradient(180deg,#061e31 0%,#061e3160 23%,#061e3122 60%,#061e31 100%);pointer-events:none;}
.building-content{position:absolute;z-index:1;left:var(--gutter);bottom:80px;width:min(460px,43%);}
.building-number{font-size:12px;letter-spacing:.15em;color:#8ecfe9;}
.building-content h3{font-size:clamp(34px,3.5vw,50px);margin:22px 0;line-height:1.08;}
.building-content>p{font-size:16px;color:#c8dce8;max-width:410px;}
.building-content .text-link{font-size:14px;color:#b5e7ff;margin-top:24px;}
.building-note{display:block;font-size:12px;color:#8aacbf;margin-top:28px;}
@media(max-width:1023px){
 .hands-on{gap:4%;grid-template-columns:.8fr 1.2fr;padding-top:85px;padding-bottom:90px;}
 .hands-copy h2{font-size:44px;}
 .scratch-controls{gap:14px;}
 .building-picker{height:850px;min-height:0;}
 .building-content{width:55%;}
}
@media(max-width:760px){
 .hands-on{grid-template-columns:1fr;padding:75px 24px 70px;gap:32px;}
 .hands-copy h2{font-size:44px;}
 .hands-copy>p:not(.eyebrow){font-size:16px;margin-top:20px;}
 .hands-copy>.demo-note{max-width:100%;margin-top:18px!important;}
 .scratch-surface{aspect-ratio:1.05;}
 .hands-demo{width:auto;margin-inline:-24px;}
 .scratch-caption,.scratch-controls,.photo-credit{margin-left:24px;margin-right:24px;}
 .scratch-caption{gap:12px;}
 .scratch-caption p{font-size:13px;}
 .scratch-status{font-size:12px;}
 .scratch-controls{gap:10px 18px;}
 .scratch-controls button{font-size:12px;}
 .scratch-controls .scratch-reset{margin-left:0;}
 .building-picker{height:800px;max-height:none;}
 .building-heading{top:48px;left:24px;right:24px;}
 .building-heading .eyebrow{font-size:11px;margin-bottom:18px;}
 .building-heading h2{font-size:42px;}
 .building-tabs{top:175px;left:24px;right:24px;display:grid;grid-template-columns:1fr 1fr;gap:0 26px;}
 .building-tabs button,.building-tabs .building-all{text-align:left;font-size:14px;}
 .building-panel>img{object-position:65% center;}
 .building-panel:after{background:linear-gradient(180deg,#061e31 0%,#061e3199 26%,#061e3122 43%,#061e31a6 62%,#061e31 100%);}
 .building-content{left:24px;right:24px;bottom:48px;width:auto;}
 .building-content h3{font-size:36px;margin:16px 0;}
 .building-content>p{font-size:16px;line-height:1.6;}
 .building-content .text-link{margin-top:18px;font-size:14px;}
 .building-note{margin-top:18px;}
}
@media(prefers-reduced-motion:reduce){
 .cleaning-layer{display:none;}
 .experience.metropolis .story-card.active,.experience.metropolis .story-card.active:before,.experience.metropolis .story-card.active h3,.experience.metropolis .story-card.active>p,.experience.metropolis .story-card.active .service-detail,.experience.metropolis .story-card.active .text-link{animation:none;clip-path:none;}
 .building-panel,.building-panel>img,.scratch-cover,.scratch-finish{transition:none;}
}

.experience.metropolis .story-navigation,.experience.metropolis .experience-bottom{z-index:2;}

/* Cross-document motion keeps ordinary links, browser history and anchor targets. */
@media(prefers-reduced-motion:no-preference){
 @view-transition{navigation:auto;}
 ::view-transition-group(root){animation-duration:380ms;}
 ::view-transition-old(root){animation:page-water-out 260ms ease-in both;mix-blend-mode:normal;}
 ::view-transition-new(root){animation:page-water-in 380ms cubic-bezier(.22,.61,.36,1) both;mix-blend-mode:normal;}
 html:not(.native-page-transitions) main{animation:page-soft-enter 320ms ease-out both;}
}
@keyframes page-water-out{to{opacity:0;transform:translateY(-8px);}}
@keyframes page-water-in{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:none;}}
@keyframes page-soft-enter{from{opacity:.72;}to{opacity:1;}}
@media(prefers-reduced-motion:reduce){
 @view-transition{navigation:none;}
 .scratch-light{display:none;}
 ::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important;}
}

/* Editorial detail pages: open space, fine rules and optional depth. */
.back-link{display:inline-block;margin-bottom:32px;color:#9ac3da;font-size:14px;}
.back-link:hover{color:#e1f5ff;}
.service-opening .eyebrow{font-size:12px;}
.service-opening h1{font-size:clamp(50px,5.2vw,86px);}
.service-opening .service-photo{height:530px;border:0;border-radius:0;background:transparent;overflow:visible;}
.service-photo img{display:block;height:100%;mask-image:linear-gradient(transparent,#000 9%,#000 87%,transparent);}
.service-photo:after{bottom:0;mask-image:linear-gradient(transparent,#000 9%,#000 87%,transparent);}
.service-photo figcaption{position:relative;z-index:1;margin-top:10px;color:#91afc3;font-size:12px;line-height:1.5;}
.service-photo figcaption a{text-decoration:underline;text-underline-offset:3px;}
.quiet-details{display:grid;grid-template-columns:.8fr 1.2fr;gap:10%;padding-top:15px;padding-bottom:100px;}
.quiet-heading .eyebrow{font-size:12px;color:#8ebbd5;}
.quiet-heading h2{font-size:clamp(36px,3.5vw,54px);line-height:1.12;}
.quiet-heading h2 em{color:#85c9ed;}
.detail-list details{border-top:1px solid #a0cde13a;}
.detail-list details:last-child{border-bottom:1px solid #a0cde13a;}
.detail-list summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:84px;padding:22px 0;cursor:pointer;font-size:20px;font-weight:400;color:#e4f1f9;line-height:1.35;}
.detail-list summary::-webkit-details-marker{display:none;}
.detail-list summary>span{font-size:24px;color:#8ad7fb;transition:transform .2s;}
.detail-list details[open] summary>span{transform:rotate(45deg);}
.detail-list .detail-answer{padding:0 30px 26px 0;}
.detail-answer p{font-size:16px;line-height:1.7;color:#b5cedf;max-width:650px;}
.dialog-service-link{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:26px;padding:14px 0;border-bottom:1px solid #164c6f55;color:#12547b;font-size:16px;}
.intro-copy .intro-care{font-size:15px;color:#8fcbe8;letter-spacing:.015em;line-height:1.8;}
.team-opening{max-width:1200px;}
.team-section{padding-top:10px;padding-bottom:100px;}
.team-section-heading{display:flex;justify-content:space-between;align-items:start;gap:45px;margin-bottom:54px;}
.team-section-heading .eyebrow{color:#8dc5e4;font-size:12px;}
.team-section-heading h2{font-size:clamp(34px,3.5vw,52px);line-height:1.12;min-width:52%;}
.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;}
.team-portrait{aspect-ratio:4/5;display:grid;place-items:center;position:relative;overflow:hidden;background:linear-gradient(145deg,#123d55aa,#0a263c88);border-top:1px solid #91c0d544;}
.team-portrait>span{font-size:clamp(58px,6.5vw,102px);font-weight:300;letter-spacing:-.055em;color:#a2d9f177;}
.team-portrait img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.75);}
.team-person h3{font-size:clamp(25px,2.5vw,36px);line-height:1.2;margin:25px 0 11px;font-weight:400;letter-spacing:-.035em;}
.team-role{color:#86cce9;font-size:16px;line-height:1.5;max-width:290px;}
.team-bio{font-size:15px;color:#aecadb;line-height:1.6;max-width:320px;margin-top:18px;}
.company-history{padding-top:90px;padding-bottom:115px;border-top:1px solid #a4cde233;}
.history-heading .eyebrow{font-size:12px;color:#8cc4e5;}
.history-heading h2{font-size:clamp(40px,4.6vw,70px);line-height:1.1;}
.history-pending{display:flex;gap:30px;align-items:center;max-width:740px;margin-top:55px;}
.history-pending p{color:#abc7d9;font-size:17px;line-height:1.7;max-width:510px;}
.history-line{display:block;width:100px;height:1px;flex:0 0 100px;background:#88cce990;position:relative;}
.history-line:after{content:'';position:absolute;width:7px;height:7px;right:0;top:-3px;background:#8dd8f3;border-radius:50%;}
@media(min-width:761px) and (max-width:1023px){
 .service-opening .service-photo{height:400px;margin-bottom:30px;}
 .quiet-details{gap:6%;grid-template-columns:1fr 1.2fr;}
 .team-grid{gap:24px;}
 .team-person h3{font-size:28px;}
}
@media(max-width:760px){
 .service-opening h1{font-size:clamp(46px,11.5vw,66px);}
 .back-link{margin-bottom:25px;}
 .service-opening .service-photo{height:300px;margin:0 0 30px;}
 .quiet-details{grid-template-columns:1fr;gap:30px;padding:10px 24px 65px;}
 .quiet-heading h2{font-size:38px;}
 .detail-list summary{font-size:18px;min-height:78px;}
 .detail-list .detail-answer{padding-right:0;}
 .team-section{padding:5px 24px 70px;}
 .team-section-heading{display:block;margin-bottom:35px;}
 .team-section-heading h2{font-size:36px;}
 .team-grid{grid-template-columns:1fr;gap:48px;}
 .team-portrait{aspect-ratio:5/4;}
 .team-portrait>span{font-size:86px;}
 .team-person h3{font-size:31px;margin-top:20px;}
 .team-role,.team-bio{max-width:none;}
 .company-history{padding:65px 24px 75px;}
 .history-heading h2{font-size:42px;}
 .history-pending{margin-top:32px;gap:20px;}
 .history-pending p{font-size:16px;}
 .history-line{width:38px;flex-basis:38px;}
}

.team-name-card{min-height:230px;display:flex;align-items:flex-end;padding:35px 0 30px;border-top:1px solid #91c0d555;}
.team-name-card h3{font-size:clamp(36px,3.4vw,55px);line-height:1.08;margin:0;font-weight:400;color:#e2f4ff;letter-spacing:-.035em;}
.team-name-card+.team-role{margin-top:20px;}
@media(max-width:760px){.team-name-card{min-height:170px;padding:25px 0 20px;}.team-name-card h3{font-size:44px;}}
.complementary-means{padding-top:10px;padding-bottom:65px;}
.complementary-means>.eyebrow{color:#8bc7e6;font-size:12px;}
.complementary-means>div{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center;}
.complementary-means h2{font-size:clamp(36px,3.8vw,58px);line-height:1.1;}
.complementary-means p:not(.eyebrow){font-size:17px;color:#b6d0e2;line-height:1.7;}
@media(max-width:760px){.complementary-means{padding:10px 24px 45px;}.complementary-means>div{grid-template-columns:1fr;gap:25px;}.complementary-means h2{font-size:38px;}.complementary-means p:not(.eyebrow){font-size:16px;}}
.complementary-means .means-layout{grid-template-columns:.85fr 1.15fr;gap:5%;}
.means-copy>p{max-width:480px;margin-top:26px;}
.means-figure{margin:0;min-width:0;}
.means-figure img{display:block;width:100%;height:auto;filter:grayscale(1) brightness(1.55) contrast(1.2);mix-blend-mode:screen;opacity:.86;transition:transform .6s ease;}
.means-figure figcaption{font-size:12px;color:#8eadc4;text-align:right;padding:16px 0;}
.pole-reach{border-top:1px solid #abd2e236;margin-top:32px;padding-top:25px;}
.pole-reach>span{font-size:22px;color:#d7edf8;display:flex;gap:10px;align-items:baseline;}
.pole-reach strong{font-size:74px;font-weight:300;letter-spacing:-.06em;line-height:1;}
.complementary-means .pole-reach p{font-size:14px;color:#92bdd5;margin-top:12px;}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.means-figure:hover img{transform:translateY(-5px) rotate(-1deg);}}
@media(max-width:760px){
 .complementary-means .means-layout{grid-template-columns:1fr;gap:20px;}
 .pole-reach{margin-top:25px;padding-top:20px;}
 .pole-reach strong{font-size:62px;}
 .means-figure{margin:15px -8px 0;}
 .means-figure figcaption{text-align:center;}
}

/* Company history: one continuous horizontal chronology on every screen. */
.company-history{background:radial-gradient(ellipse at 50% 60%,#137a9420,transparent 75%);}
.history-heading{text-align:center;}
.history-heading .eyebrow{justify-content:center;}
.timeline-window{--milestone-width:clamp(320px,44vw,680px);margin-top:65px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#77abc45c transparent;cursor:grab;touch-action:pan-x pan-y pinch-zoom;}
.timeline-window:focus-visible{outline:1px solid #88cee7;outline-offset:8px;}
.timeline-window.is-dragging{cursor:grabbing;scroll-snap-type:none;user-select:none;}
.company-timeline{display:grid;grid-template-columns:repeat(3,var(--milestone-width));grid-template-rows:minmax(190px,auto) 80px 36px 80px minmax(190px,auto);list-style:none;width:max-content;padding:12px 0 24px;margin:0;position:relative;}
.company-timeline:before{content:'';grid-column:1/-1;grid-row:3;align-self:center;height:11px;background:linear-gradient(#9dc7d56b,#9dc7d56b) center/100% 1px no-repeat,repeating-linear-gradient(90deg,transparent 0 27px,#9dc7d54d 27px 28px);pointer-events:none;}
.company-timeline li{grid-row:1/-1;display:grid;grid-template-rows:subgrid;position:relative;scroll-snap-align:start;}
.company-timeline li:nth-child(1){grid-column:1;}
.company-timeline li:nth-child(2){grid-column:2;}
.company-timeline li:nth-child(3){grid-column:3;}
.milestone-copy{grid-row:1;align-self:end;justify-self:center;width:calc(100% - 72px);max-width:330px;padding-bottom:22px;}
.company-timeline li:nth-child(even) .milestone-copy{grid-row:5;align-self:start;padding:22px 0 0;}
.company-timeline time{display:block;font-size:clamp(48px,4.5vw,66px);font-weight:300;letter-spacing:-.05em;line-height:1.1;color:#8db5c9;margin-bottom:16px;}
.company-timeline h3{font-size:22px;line-height:1.3;letter-spacing:-.025em;color:#d6eaf3;margin-bottom:10px;}
.company-timeline p{font-size:16px;line-height:1.65;color:#b5ccde;}
.timeline-stem{grid-row:2;width:1px;height:100%;justify-self:center;background:#99c4d65e;}
.company-timeline li:nth-child(even) .timeline-stem{grid-row:4;}
.timeline-node{grid-row:3;align-self:center;justify-self:center;width:36px;height:36px;border:1px solid #9bc7d6a6;border-radius:50%;background:#092b41;display:grid;place-items:center;z-index:1;}
.timeline-node:after{content:'';width:5px;height:5px;border-radius:50%;background:#d1e6ef;}
.company-timeline .is-planned .timeline-stem{background:repeating-linear-gradient(to bottom,#99c4d66e 0 5px,transparent 5px 10px);}
.company-timeline .is-planned .timeline-node{border-style:dashed;}
.milestone-status{display:block;color:#8ccde8;font-size:12px;letter-spacing:.1em;line-height:1.4;margin:0 0 12px;}
.timeline-controls{display:flex;justify-content:center;align-items:center;gap:22px;margin-top:24px;}
.timeline-controls p{font-size:13px;letter-spacing:.12em;text-transform:uppercase;text-align:center;color:#9ac3d7;}
.timeline-arrow{display:grid;place-items:center;background:transparent;border:1px solid #8bbcd54d;border-radius:50%;width:46px;height:46px;flex:0 0 46px;font-size:23px;color:#c7e5f3;transition:background .2s,border-color .2s,opacity .2s;}
.timeline-arrow:hover:not(:disabled){background:#78c7e612;border-color:#b5e5f0;}
.timeline-arrow:disabled{opacity:.25;}
@media(max-width:760px){
 .timeline-window{--milestone-width:clamp(270px,80vw,440px);margin:40px -24px 0;padding:0 24px;scroll-padding-inline:24px;}
 .company-timeline{grid-template-rows:minmax(185px,auto) 52px 32px 52px minmax(185px,auto);padding-bottom:18px;}
 .milestone-copy{width:calc(100% - 38px);padding-bottom:20px;}
 .company-timeline li:nth-child(even) .milestone-copy{padding-top:20px;}
 .company-timeline time{font-size:48px;}
 .company-timeline h3{font-size:20px;}
 .timeline-node{width:32px;height:32px;}
 .timeline-controls{gap:12px;margin-top:20px;}
 .timeline-controls p{font-size:12px;letter-spacing:.07em;max-width:220px;}
}
@media(prefers-reduced-motion:reduce){.timeline-arrow{transition:none;}}

/* Team cards and individual profiles. Real portraits are used when available. */
.team-grid{gap:28px;align-items:stretch;}
.team-member-card{min-width:0;}
.team-card{height:100%;display:flex;flex-direction:column;border:1px solid #93c6df33;border-radius:16px;overflow:hidden;background:#092b4099;transition:transform .3s,border-color .3s,background .3s;}
.team-card:hover{transform:translateY(-5px);border-color:#91d3f18c;background:#0b344bcc;}
.team-card-image{aspect-ratio:1/1.08;overflow:hidden;}
.team-card-image img{width:100%;height:100%;object-fit:cover;object-position:center 20%;transition:transform .7s;}
.team-card:hover .team-card-image img{transform:scale(1.025);}
.team-card-body{padding:28px;display:flex;flex-direction:column;flex:1;}
.team-card-body h3{font-size:30px;line-height:1.12;letter-spacing:-.035em;margin:0 0 18px;}
.team-card .team-role{font-size:14px;line-height:1.55;letter-spacing:.07em;text-transform:uppercase;max-width:none;margin:0 0 24px;color:#8ad0ee;}
.team-card-copy{font-size:16px;line-height:1.65;color:#b8d0df;margin-bottom:34px;}
.team-profile-link{border-top:1px solid #a3cce431;padding-top:22px;margin-top:auto;font-size:14px;color:#c1dfed;display:flex;align-items:center;justify-content:space-between;gap:15px;}
.team-profile-link>span{font-size:23px;}
.team-card--text{background:linear-gradient(145deg,#15465b70,#08293dbb);}
.team-card--text .team-card-body{padding-top:clamp(80px,14vw,220px);}
.team-card--text h3{font-size:clamp(36px,4.2vw,62px);margin-bottom:32px;}
.profile-hero{padding-top:180px;padding-bottom:55px;display:grid;grid-template-columns:1.2fr .8fr;gap:9%;align-items:center;min-height:650px;}
.profile-introduction{min-width:0;}
.profile-introduction .back-link{display:inline-flex;align-items:center;gap:14px;margin-bottom:38px;font-size:14px;color:#a7cada;}
.profile-introduction .eyebrow{font-size:12px;color:#8fc5df;margin-bottom:20px;}
.profile-hero h1{font-size:clamp(62px,7.5vw,116px);line-height:.98;font-weight:300;letter-spacing:-.055em;}
.profile-role{font-size:17px;color:#83cfee;line-height:1.55;margin-top:28px;letter-spacing:.03em;}
.profile-lead{font-size:19px;color:#c1d8e4;margin-top:25px;max-width:500px;}
.profile-areas{list-style:none;padding:25px 0 0;margin:28px 0 0;border-top:1px solid #94c1d737;display:flex;flex-wrap:wrap;gap:12px 25px;color:#9bbaca;font-size:14px;}
.profile-portrait{margin:0;align-self:end;max-width:450px;justify-self:end;width:100%;}
.profile-portrait img{display:block;width:100%;height:auto;-webkit-mask-image:linear-gradient(#000 80%,transparent 100%);mask-image:linear-gradient(#000 80%,transparent 100%);}
.profile-hero--text{grid-template-columns:1fr;}
.profile-hero--text .profile-introduction{max-width:850px;}
.profile-hero--text h1{font-size:clamp(64px,8.5vw,130px);}
.profile-information{display:grid;grid-template-columns:1fr 1fr;gap:9%;padding-top:70px;padding-bottom:70px;border-top:1px solid #95bfd12b;}
.profile-information h2{font-size:clamp(32px,3.2vw,48px);padding-bottom:28px;border-bottom:1px solid #9fc4d333;margin-bottom:32px;}
.profile-presentation>p{font-size:17px;line-height:1.85;color:#b9d1df;max-width:570px;}
.profile-career summary{list-style:none;display:flex;gap:24px;align-items:center;justify-content:space-between;padding:22px 0;font-size:16px;border-bottom:1px solid #97c6dd55;cursor:pointer;}
.profile-career summary::-webkit-details-marker{display:none;}
.profile-career summary>span{font-size:26px;color:#8cd0ee;font-weight:300;transition:transform .25s;}
.profile-career details[open] summary>span{transform:rotate(45deg);}
.profile-career summary:focus-visible{outline:2px solid #88cee7;outline-offset:5px;}
.profile-milestones{list-style:none;padding:0;margin:0;}
.profile-milestones li{padding:25px 0;border-bottom:1px solid #87bdd32b;}
.profile-milestones h3{font-size:19px;line-height:1.4;letter-spacing:-.02em;margin-bottom:8px;color:#d8edf7;}
.profile-milestones p{font-size:16px;line-height:1.7;color:#b5ccdb;}
.profile-navigation{display:flex;justify-content:space-between;align-items:center;gap:35px;padding-top:20px;padding-bottom:80px;}
@media(max-width:1000px) and (min-width:761px){.team-grid{gap:18px;}.team-card-body{padding:22px;}.team-card--text h3{font-size:40px;}.profile-hero{gap:6%;}}
@media(max-width:760px){
 .team-grid{gap:28px;}
 .team-card-body{padding:28px;}
 .team-card-image{aspect-ratio:1/1.08;}
 .team-card--text .team-card-body{padding-top:60px;}
 .team-card--text h3{font-size:48px;}
 .profile-hero,.profile-hero--text{grid-template-columns:1fr;padding:125px 24px 40px;gap:35px;min-height:0;}
 .profile-hero h1,.profile-hero--text h1{font-size:clamp(58px,16vw,90px);}
 .profile-introduction .back-link{margin-bottom:28px;}
 .profile-role{font-size:16px;margin-top:24px;}
 .profile-lead{font-size:18px;}
 .profile-portrait{max-width:380px;justify-self:center;}
 .profile-information{grid-template-columns:1fr;padding:45px 24px;gap:50px;}
 .profile-information h2{font-size:34px;margin-bottom:25px;padding-bottom:23px;}
 .profile-navigation{padding:0 24px 65px;gap:25px;align-items:flex-start;}
 .profile-navigation .text-link{font-size:13px;gap:12px;}
}
@media(prefers-reduced-motion:reduce){.team-card,.team-card-image img,.profile-career summary>span{transition:none;}.team-card:hover,.team-card:hover .team-card-image img{transform:none;}}

.intro-copy .intro-poles{margin-top:16px;}

/* Compact sky-blue signature. The first drone and glass geometry are preserved. */
.header .brand{width:180px;max-width:calc(100vw - 126px)}
.site-footer .footer-brand{width:220px}
@media(max-width:760px){.header .brand{width:142px}.site-footer .footer-brand{width:200px}}

/* Real portraits retain their original faces, clothing and colour. */
.team-card-image{position:relative;background:#fff;aspect-ratio:1/1.12}
.team-card-image img{object-position:center 21%}
.team-card-image:after{content:"";position:absolute;inset:72% 0 0;background:linear-gradient(transparent,#092b40);pointer-events:none}
.team-card{border-radius:3px;background:#092b40}
.team-card:hover{background:#092b40}
.profile-portrait--original{max-width:390px;overflow:hidden}
.profile-portrait--original img{mask-image:linear-gradient(#000 84%,transparent);-webkit-mask-image:linear-gradient(#000 84%,transparent)}
@media(max-width:760px){.profile-portrait--original{max-width:340px}.team-card-image{aspect-ratio:1/1.15}}

/* A smaller symbol gives the wordmark and descriptor their own space. */
.header .brand{width:218px}.site-footer .footer-brand{width:245px}
.team-card-image{background:transparent;aspect-ratio:1/1.18}
.team-card-image img{object-fit:contain;object-position:center bottom;mask-image:linear-gradient(#000 83%,transparent 100%);-webkit-mask-image:linear-gradient(#000 83%,transparent 100%)}
.team-card-image:after{display:none}
.team-card{background:transparent;border:0;border-bottom:1px solid #93c6df33;border-radius:0}
.team-card:hover{background:transparent;transform:none}
.team-card-body{padding:22px 12px 28px}
.profile-portrait--cutout{max-width:420px}
@media(max-width:760px){.header .brand{width:180px}.site-footer .footer-brand{width:225px}.profile-portrait--cutout{max-width:340px}.team-card-image{aspect-ratio:1/1.3}}

/* Match face scale and eyelines, rather than the different source-photo crops. */
.team-card-image{aspect-ratio:1/.96;overflow:hidden;position:relative;mask-image:linear-gradient(#000 77%,transparent 100%);-webkit-mask-image:linear-gradient(#000 77%,transparent 100%)}
.team-card-image img{position:absolute;height:auto;max-width:none;object-fit:initial;mask-image:none;-webkit-mask-image:none;left:50%;transform:translateX(-50%)}
.portrait-marco img{width:115%;top:-11%}
.portrait-jose img{width:106%;top:2%}
.portrait-pablo img{width:57%;top:11%}
.team-card:hover .team-card-image img{transform:translateX(-50%)}
@media(max-width:760px){.team-card-image{aspect-ratio:1/.96;max-width:440px;width:100%;margin-inline:auto}.team-card-body{padding:20px 12px 32px}}
.portrait-pablo img{width:74%;top:10%}
.team-card-body h3{min-height:2.24em}.team-card .team-role{min-height:3.1em}

/* Compact horizontal lockup: the glass and drone no longer dominate the name. */
.header .brand{width:190px}.site-footer .footer-brand{width:225px}
@media(max-width:760px){.header .brand{width:172px}.site-footer .footer-brand{width:210px}}

/* Separate descriptions keep each access method and its reach unambiguous. */
.detail-answer p+p{margin-top:18px}
