/* Editorial motion layer. The palette stays close to water and daylight;
   stronger brand blue is reserved for details and active states. */
:root{--ink:#172f50;--deep:#142e50;--paper:#f6f8fa;--accent:#3977ba;--accent-soft:#dceafa;--muted:#6b7d92;--line:#17345524}
::selection{background:#c4dbf5;color:#142e50}
.reading-progress{position:fixed;inset:0 0 auto;height:2px;z-index:100;pointer-events:none;background:transparent}
.reading-progress span{display:block;height:100%;background:#639bdb;transform:scaleX(var(--reading,0));transform-origin:left;will-change:transform}
.header{height:100px}.header.scrolled{background:#f6f8faf5}
.header .brand>svg{transition:color .3s}.header.scrolled .brand>svg{color:#3977ba}
.hero{background:#1d3859;isolation:isolate;min-height:740px}
.hero-media{background:#2b476b;transform:translate3d(0,var(--hero-drift,0px),0);will-change:transform}
.hero-media video{filter:grayscale(1) contrast(.88) brightness(1.05);opacity:.85;mix-blend-mode:luminosity;transform:scale(1.08)}
.hero-media:after{background:linear-gradient(115deg,#10284282,#6a8aaf19 70%,#587ea345);mix-blend-mode:normal}
.hero-shade{background:linear-gradient(90deg,#0b23445c,transparent 80%),linear-gradient(0deg,#0f2c51c7,transparent 48%,#112b4a12)}
.hero-copy{top:32%;transform:translate3d(0,var(--copy-drift,0px),0);opacity:var(--hero-opacity,1);will-change:transform,opacity}
.hero h1{font-size:clamp(112px,14.2vw,235px);margin:20px 0 25px;animation:none;line-height:1.17;overflow:hidden;letter-spacing:-.075em}
.hero h1 .title-word{display:inline-block;animation:word-arrive 1.4s var(--ease) both;transform-origin:bottom left}
.hero h1 em.title-word{animation-delay:.13s}
.hero-intro{gap:9vw}.hero .eyebrow{color:#d3e6fa}.hero-intro p{font-size:15px;color:#e0e9f5}
.pill.light{background:#e2edfa;color:#173858}.pill .circle{transition:background .35s,color .35s,transform .45s var(--ease)}
.pill:hover .circle{background:#214f83;color:white;transform:rotate(-40deg)}
.hero-coordinate{color:#d0e0f3a6;top:145px;font-size:10px}.hero-caption{color:#c1d4ed}
.hero-seal{position:absolute;width:150px;height:150px;right:var(--pad);top:49%;display:grid;place-items:center;border-radius:50%;color:#d4e5f9;transition:background .4s,transform .5s}
.hero-seal>svg{position:absolute;width:100%;height:100%;stroke:none;fill:currentColor;animation:spin 36s linear infinite}
.hero-seal text{font-family:Manrope,Arial,sans-serif;font-size:9px;letter-spacing:1.8px;font-weight:500}
.hero-seal>span{display:grid;place-items:center;width:65px;height:65px;border:1px solid #d2e5ff50;border-radius:50%;font-size:30px;font-weight:300;transition:background .4s,transform .4s}
.hero-seal:hover>span{background:#e0edfc;color:#23496f;transform:rotate(45deg)}
.hero-bottom{bottom:30px}.scroll-cue>span{position:relative;overflow:hidden}.scroll-cue>span:after{content:'';width:1px;height:8px;background:#fff;position:absolute;top:-10px;left:50%;animation:scroll-line 2.5s ease-in-out infinite}
.quickbar{background:#e9eff6}.quickbar>a,.quickbar>button{min-height:84px;transition:color .3s}.quickbar>a:hover,.quickbar>button:hover{color:#2872bd}
.intro{padding-top:100px;padding-bottom:150px;background:radial-gradient(ellipse at 85% 25%,#e7eef7,transparent 48%)}
.intro .section-label{margin-bottom:70px}.intro-grid{grid-template-columns:1.4fr 1fr;gap:9vw;align-items:center}
.intro-title{font-size:clamp(38px,4.1vw,69px)!important;line-height:1.14;letter-spacing:-.055em}
.inline-water{display:inline-block;width:1.65em;height:.73em;border-radius:100px;background:#4c86c3 url('/assets/water-poster.jpg') center/cover;background-blend-mode:luminosity;vertical-align:baseline;margin-right:.06em;position:relative;overflow:hidden}
.inline-water:after{content:'';position:absolute;inset:0;background:#397ac54d}
.intro-copy{padding-top:50px}.intro-copy p:first-child{font-size:17px}.intro-copy .text-link{margin-top:12px}
.manifesto{position:relative;padding:110px 0 95px;border-bottom:1px solid var(--line);margin-top:60px;overflow:hidden}
.manifesto-copy{font-size:clamp(32px,4.3vw,74px);font-weight:450;line-height:1.18;letter-spacing:-.055em;margin:0;max-width:1000px;color:#bac6d4}
.manifesto-copy>span,.manifesto-copy>em{background:linear-gradient(90deg,#173759 var(--word-fill,100%),#b4c2d2 var(--word-fill,100%));color:transparent;background-clip:text;-webkit-background-clip:text}
.manifesto-copy em{font-family:Georgia,serif;font-weight:400;white-space:nowrap}
.manifesto-index{position:absolute;right:0;bottom:35px;font-size:8px;letter-spacing:2px;color:#6c85a1}
.services{padding-top:45px;border-top:0;background:#f6f8fa}.services .section-label{margin-bottom:65px}
.service-layout{grid-template-columns:.9fr 1.2fr;gap:8vw}.service-heading h2{font-size:clamp(42px,4.8vw,80px)}
.service-list>button{padding-block:30px}.service-list>button:hover,.service-list>button:focus-visible{background:linear-gradient(90deg,#e6eef700, #e6eef7);padding-right:12px}
.service-list strong{font-size:clamp(17px,1.6vw,25px)}.service-number{color:#5682ae}.round-arrow{border-color:#17345535}.service-list>button:hover .round-arrow{background:#356eac}
.service-instrument{position:relative;width:340px;max-width:100%;margin-top:20px;height:270px;color:#497aab}
.service-instrument>svg{width:100%;height:100%;stroke-width:.8}.service-instrument svg text{font-size:10px;letter-spacing:1px;fill:#577ca2;stroke:none}
.dial-orbit{stroke-dasharray:2 6;transform-origin:150px 105px;animation:spin 90s linear infinite;opacity:.5}
.dial-scale{stroke-width:2!important;stroke-dasharray:1 7;stroke:#5b89bc}.dial-needle{transform-origin:150px 105px;transform:rotate(var(--dial-angle,0deg));transition:transform 1s var(--ease)}
.dial-needle path{stroke-width:1.4}.dial-needle circle{fill:#4675ad;stroke:none}.dial-wave{stroke:#6b9cce}.instrument-index{position:absolute;right:0;bottom:42px;font-size:12px;letter-spacing:2px}




.city-shade{position:absolute;inset:0;background:linear-gradient(180deg,#142b4d65,#10284d35 25%,#0e244ad9 100%)}

.city-heading .eyebrow{font-size:9px;letter-spacing:2.5px;color:#d6e6fa;margin-bottom:25px}.city-heading h2{font-size:clamp(50px,6.9vw,120px);letter-spacing:-.06em;text-shadow:0 1px 40px #0e2a4d40}
.city-bottom{position:absolute;bottom:10%;left:7%;right:7%;display:flex;justify-content:space-between;align-items:center;gap:35px;color:#e6effb}
.city-bottom p{font-size:13px;line-height:1.9;max-width:460px}.city-button{background:#e6effb;color:#1e436e;flex-shrink:0;font-size:11px}.city-button .circle{width:37px;height:37px}
.photo-credit{position:absolute;bottom:20px;right:7%;left:7%;font-size:8px;color:#c9d8ecb8;text-align:right;line-height:1.5}.photo-credit:hover{text-decoration:underline}
.water-story{padding-top:125px;padding-bottom:120px;background:radial-gradient(ellipse at 24% 45%,#2d4e762e,transparent 48%),#112945;gap:5vw;min-height:850px}
.water-content{align-self:center}.water-content>.eyebrow{color:#aec5df;font-size:9px;letter-spacing:2px}.water-content h2{font-size:clamp(45px,4.6vw,78px)}.water-content .serif{color:#b9d2f0}
.water-art{height:540px;min-height:0;align-self:center;isolation:isolate}.water-rings{inset:-20px -70px;opacity:.5}
.water-rings i{border-color:#96b7e02a}.water-rings i:nth-child(2){border-style:dashed;opacity:.7}.water-rings i:nth-child(4){border-color:#96b7e012}
#water-sculpture{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity 1s;z-index:1;pointer-events:none}
.sculpture-ready #water-sculpture{opacity:1}.sculpture-ready .water-drop{visibility:hidden}.water-drop{background:radial-gradient(ellipse at 30% 24%,#f1f6ffc9 0%,transparent 12%),radial-gradient(ellipse at 76% 78%,#8db9f1aa,transparent 45%),radial-gradient(ellipse at 45% 44%,#a1bfee25,#294c7c55 46%,#9cbfe985 77%,#e2eeff 96%);box-shadow:inset 3px 2px 5px #edf5ffb0,inset -8px -10px 15px #10284b,20px 45px 50px #031c3440}
.drop-tag{position:absolute;z-index:2;display:flex;align-items:center;gap:9px;font-size:7px;letter-spacing:1.4px;color:#aac6e9}.drop-tag i{width:5px;height:5px;background:#94bfee;border-radius:50%;box-shadow:0 0 0 5px #afcdf012}
.tag-source{top:15%;left:8%}.tag-source:after{content:'';width:50px;height:1px;background:#99b9df38}.tag-home{bottom:23%;right:0;flex-direction:row-reverse}.tag-home:after{content:'';width:45px;height:1px;background:#99b9df38}
.sculpture-caption{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:center;gap:35px;font-size:7px;letter-spacing:1.5px;color:#7797be}.water-formula{left:5px;bottom:60px;color:#799bc3}
.water-tabs{gap:25px;border-color:#8aaad033;margin-top:0}.water-tabs button{color:#96afcc;padding-block:18px}.water-tabs button[aria-selected=true]{color:#d9eaff;border-color:#9ec4f5}
.chapter-track{width:100%;height:1px;position:relative;background:#8aaad01f;margin-top:35px}.chapter-track span{position:absolute;inset:0;width:33.333%;background:#87b1e4;transform:translateX(var(--chapter-offset,0%));transition:transform .7s var(--ease)}
.water-step p{color:#b2c5dd}.water-step{min-height:142px}.water-content>.text-link{color:#d0e3fc}.story-bottom{color:#8facd0}
.news{padding-top:110px;padding-bottom:70px}.news .section-heading h2{font-size:clamp(45px,5.1vw,85px)}
.notice-strip{background:#edf2f8;border:0;border-radius:4px;padding:22px 25px}.notice-symbol{border-color:#7792b2;color:#4875a5}.notice-strip p>span{color:#627a97}
.article-art{height:clamp(340px,23vw,500px);background:#e8eef7;border-radius:4px}.article-art:before{display:none}.glass-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 55%;filter:saturate(.45);transition:transform 1.2s var(--ease)}
.article-card:hover .glass-photo{transform:scale(1.045)}.article-arrow{width:34px;height:34px;background:#f6f8faaa;border-radius:50%;padding:8px;backdrop-filter:blur(10px)}
.art-caption{color:#36516f;font-weight:600}.article-meta{color:#6b819b}.article-row{position:relative}.article-row:after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background:#4380bd;transition:width .8s var(--ease)}.article-row:hover:after{width:100%}
.water-moments{padding-top:65px;padding-bottom:90px;overflow:hidden;background:#f0f4f8}.water-moments .section-label{margin-bottom:45px}.water-moments .section-heading{margin-bottom:45px}
.gallery-controls{display:flex;align-items:center;gap:10px;margin-bottom:5px}.gallery-count{font-size:11px;letter-spacing:2px;color:#6c819b;margin-right:15px;font-variant-numeric:tabular-nums}.gallery-controls button{width:43px;height:43px;border:1px solid #1d426432;border-radius:50%;font-size:20px;transition:background .3s,color .3s}.gallery-controls button:disabled{opacity:.3;cursor:default}.gallery-controls button:hover:enabled{background:#2e5d91;color:white}
.moments-track{display:flex;gap:24px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;margin-right:calc(var(--pad)*-1);padding-right:var(--pad);touch-action:pan-x pan-y;cursor:grab;user-select:none}.moments-track::-webkit-scrollbar{display:none}.moments-track.is-dragging{cursor:grabbing;scroll-snap-type:none}.moment-card{flex:0 0 42%;min-width:0;padding:0;text-align:left;scroll-snap-align:start;cursor:inherit}.moment-card>span{display:block}.moment-image{height:360px;border-radius:5px;position:relative;overflow:hidden;background:#d3dfed}.moment-image img{width:100%;height:100%;object-fit:cover;pointer-events:none;transition:transform 1.2s var(--ease);filter:saturate(.55)}.moment-card:nth-child(1) img{object-position:50% 65%}.moment-card:nth-child(2) img{filter:grayscale(1);mix-blend-mode:luminosity}.moment-card:nth-child(2) .moment-image{background:#557da9}.moment-card:nth-child(3) img{object-position:80% 55%}.moment-card:hover img{transform:scale(1.05)}.moment-zoom{position:absolute;bottom:20px;right:20px;width:43px;height:43px;display:grid;place-items:center;background:#f5f8fce8;color:#1f4c7e;border-radius:50%;font-size:24px;transition:transform .4s}.moment-card:hover .moment-zoom{transform:rotate(45deg)}.moment-meta{font-size:8px;letter-spacing:1.5px;margin:22px 0 14px;color:#5f7a99}.moment-card strong{font-size:clamp(24px,2.65vw,42px);line-height:1.2;font-weight:450;letter-spacing:-.045em}.gallery-line{height:1px;background:#1b3a5b20;margin-top:40px}.gallery-line>span{display:block;width:33.333%;height:1px;background:#527ea9;transform:translateX(var(--gallery-offset,0%));transition:transform .4s}
.contact{background:#152f50;position:relative;overflow:hidden}.contact:before{content:'';position:absolute;width:900px;height:900px;border:1px solid #96b8e012;border-radius:50%;right:-400px;top:-340px;pointer-events:none;box-shadow:0 0 0 80px #ffffff02,0 0 0 160px #ffffff01}.contact>*{position:relative}.contact h2 .serif{color:#c1d8f1}.contact>.eyebrow{color:#a8c4e4}.contact-details small{color:#9ab5d4}.contact-details>a,.contact-details>div{border-color:#aec6e52b}.address-city{color:#b4c9e1}.contact-circle{border-color:#b5ceeb65}.contact-circle:hover{background:#dceafb}
footer{background:#102640;padding-top:35px;color:#d4e4f6;overflow:hidden}.footer-wordmark{font-size:clamp(100px,20.5vw,340px);font-weight:500;letter-spacing:-.075em;line-height:1.2;display:flex;align-items:center;justify-content:space-between;color:#aec9e52b;padding-bottom:35px;border-bottom:1px solid #b1c9e51a;margin-bottom:45px}.footer-wordmark>span{font-size:.6em;font-weight:200;color:#54779d;padding-right:15px}.footer-top{padding-bottom:30px}.footer-bottom{color:#9cb3cc}.footer-bottom a{color:#d5e5f8}.preview-note{color:#93abc7}.menu-dialog{background:radial-gradient(ellipse at 80% 70%,#d3e2f4,transparent 60%),#eef3f9}.menu-dialog nav>a{transition:padding .5s var(--ease),color .3s}.menu-dialog nav>a:hover{padding-left:20px;color:#3977ba}.menu-dialog nav small{color:#7590ae}.menu-dialog[open] nav>a{animation:word-arrive .7s var(--ease) both}.menu-dialog nav>a:nth-child(2){animation-delay:.05s}.menu-dialog nav>a:nth-child(3){animation-delay:.1s}.menu-dialog nav>a:nth-child(4){animation-delay:.15s}.panel-note{background:#e6eef8;border-color:#86a7d0;color:#536e91!important}.panel{background:#f6f8fa}.form-submit{background:#254e7d}.form-submit:hover{background:#326aa8}
.js-motion .reveal{transition:opacity 1s var(--ease),transform 1.1s var(--ease);transform:translateY(35px)}.js-motion .reveal.visible{transform:none}
@keyframes word-arrive{from{opacity:0;transform:translateY(110%) rotate(3deg)}to{opacity:1;transform:translateY(0) rotate(0)}}
@keyframes scroll-line{0%{top:-10px;opacity:0}25%{opacity:1}70%,100%{top:44px;opacity:0}}
@keyframes water-rock{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}
@media(min-width:1600px){.hero-copy{top:34%}.hero-intro p{font-size:17px}.hero-seal{width:175px;height:175px}.water-art{height:620px}.moment-image{height:460px}}
@media(max-width:1100px){.hero-seal{width:125px;height:125px;top:52%}.hero-seal>span{width:52px;height:52px}.hero-intro{gap:6vw}.hero-intro p{font-size:13px}.intro-title{font-size:4.8vw!important}.intro-grid{gap:7vw}.intro-copy p:first-child{font-size:15px}.manifesto{padding-top:80px;padding-bottom:85px}.service-layout{gap:5vw}.service-list strong{font-size:18px}.city-heading h2{font-size:7.5vw}.water-art{height:440px}.water-story{gap:4vw;padding-block:95px;min-height:770px}.drop-tag{font-size:6px}.tag-source{left:0}.tag-source:after,.tag-home:after{width:20px}.moment-image{height:310px}.footer-bottom{row-gap:25px}}
@media(max-width:800px){.hero-copy{top:33%}.hero h1{font-size:18vw}.hero-seal{top:auto;bottom:120px;width:115px;height:115px}.hero-intro{gap:25px}.hero-intro p{font-size:13px}.intro{padding-top:75px}.intro-grid{grid-template-columns:1.1fr 1fr;gap:6vw}.intro .section-label{margin-bottom:50px}.intro-title{font-size:5.5vw!important}.intro-copy{margin:0;padding:0}.intro-copy p:first-child{font-size:14px}.intro-copy p{font-size:12px}.manifesto{margin-top:40px;padding:75px 0 90px}.manifesto-copy{font-size:5.4vw}.service-layout{grid-template-columns:1fr}.service-instrument{position:absolute;width:200px;height:170px;right:0;top:0;margin:0}.service-heading h2{font-size:7vw}.service-heading p{max-width:70%}.instrument-index{right:0;bottom:10px}.city-heading h2{font-size:8.7vw}.city-bottom{bottom:11%;display:block}.city-bottom p{font-size:12px;margin-bottom:20px}.city-button{font-size:10px}.photo-credit{font-size:7px;text-align:left;bottom:18px}.water-story{padding-block:75px;grid-template-columns:.9fr 1.1fr}.water-content h2{font-size:5.6vw}.water-art{height:360px}.water-tabs{gap:15px}.tag-source{top:5%;font-size:6px}.tag-home{bottom:15%}.sculpture-caption{font-size:5px;gap:15px}.water-formula{bottom:32px}.water-step{min-height:172px}.water-content>.eyebrow{font-size:8px;letter-spacing:1.4px}.moment-card{flex-basis:58%}.moment-image{height:330px}.water-moments .section-heading h2{font-size:7vw}.moment-card strong{font-size:29px}.contact h2{font-size:7vw}.footer-wordmark{padding-bottom:25px;margin-bottom:35px}}
@media(max-width:520px){.header{height:82px}.hero{min-height:710px}.hero-copy{top:32%}.hero h1{font-size:20vw;margin:22px 0 30px}.hero-intro p{font-size:12px}.hero .eyebrow{font-size:8px}.hero-coordinate{top:115px;font-size:8px}.hero-seal{width:100px;height:100px;bottom:100px;right:6vw}.hero-seal>span{width:43px;height:43px;font-size:24px}.hero-seal text{font-size:9px}.quickbar>button{min-height:75px}.quickbar>a{min-height:65px}.intro{padding-top:60px}.intro-grid{display:block}.intro-title{font-size:9.6vw!important;line-height:1.1}.intro-copy{margin-left:12%;padding-top:30px;max-width:320px}.intro-copy p:first-child{font-size:15px}.intro-copy p{font-size:12px}.intro .section-label{margin-bottom:35px}.manifesto{margin-top:15px;padding:60px 0 75px}.manifesto-copy{font-size:7vw;line-height:1.24}.manifesto-index{font-size:6px;bottom:25px}.services .section-label{margin-bottom:45px}.service-heading h2{font-size:10vw}.service-instrument{width:125px;height:125px;top:5px;right:-10px}.service-instrument text,.instrument-index{display:none}.service-heading p{max-width:100%}.service-list strong{font-size:16px}.service-list>button{padding-block:24px}.city-heading h2{font-size:12vw}.city-heading .eyebrow{font-size:7px;letter-spacing:1.6px;margin-bottom:20px}.city-shade{background:linear-gradient(180deg,#112c4f35,#112c4f0a 25%,#10294fd6 65%,#10294ff0)}.city-bottom{bottom:12%;left:7%;right:7%}.city-bottom p{font-size:12px}.city-button{font-size:10px;padding-left:17px;gap:20px}.photo-credit{font-size:6px;bottom:20px}.water-story{display:flex;flex-direction:column-reverse;padding:65px var(--pad) 50px}.water-content h2{font-size:11.5vw}.water-tabs{gap:28px}.water-tabs button{font-size:9px}.water-tabs button span{font-size:11px}.water-step{min-height:143px}.water-art{height:370px;min-height:370px;width:100%;margin-top:25px}.drop-tag{font-size:6px}.tag-source{top:14%;left:3%}.tag-home{right:0;bottom:22%}.sculpture-caption{font-size:6px;gap:22px;bottom:5px}.water-formula{bottom:35px}.water-rings{inset:0 -15px}.news{padding-top:65px;padding-bottom:30px}.news .section-heading h2{font-size:10vw}.notice-strip{padding:18px 16px}.notice-strip p{flex-basis:75%}.notice-strip strong{font-size:11px}.article-art{height:300px}.water-moments{padding-top:55px;padding-bottom:60px}.water-moments .section-label{margin-bottom:30px}.water-moments .section-heading{display:flex;align-items:end;margin-bottom:30px;gap:10px}.water-moments .section-heading h2{font-size:10vw}.gallery-controls{gap:7px;flex-wrap:wrap;width:80px;justify-content:flex-end}.gallery-count{width:100%;margin:0 0 8px;text-align:center;font-size:9px}.gallery-controls button{width:34px;height:34px;font-size:18px}.moments-track{gap:16px}.moment-card{flex-basis:82%}.moment-image{height:340px}.moment-meta{font-size:7px;margin-top:20px}.moment-card strong{font-size:28px}.gallery-line{margin-top:30px}.contact h2{font-size:10vw}.footer-wordmark{font-size:20vw;padding-bottom:25px}.footer-bottom>div{flex-wrap:wrap;gap:16px}.footer-top>p{font-size:25px}.menu-dialog nav>a:hover{padding-left:8px}}
@media(prefers-reduced-motion:reduce){.hero-copy,.hero-media{transform:none!important;opacity:1!important}.manifesto-copy>span,.manifesto-copy>em{color:var(--ink);background:none}.reading-progress{display:none}.js-motion .reveal{opacity:1;transform:none}}
.motion-paused .hero-copy,.motion-paused .hero-media{transform:none!important;opacity:1!important}.motion-paused .manifesto-copy>span,.motion-paused .manifesto-copy>em{color:var(--ink);background:none}
html.motion-paused{scroll-behavior:auto}
.motion-paused *,.motion-paused *:before,.motion-paused *:after{animation:none!important;transition:none!important}
html[lang="sr-Cyrl"] .hero h1{font-size:clamp(100px,12.3vw,210px)}
@media(max-width:800px){html[lang="sr-Cyrl"] .hero h1{font-size:15.7vw}}

/* Readable supporting type, with sizes shared across the responsive layouts. */
.quickbar>a,.quickbar>button{font-size:16px;line-height:1.55}
.intro-copy{max-width:480px}
.intro-copy p{font-size:18px;line-height:1.8}
.intro-copy p:first-child{font-size:22px;line-height:1.6}
.text-link,.section-heading>.text-link,.water-content>.text-link{font-size:16px}
.service-heading p{font-size:18px;line-height:1.8}
.service-list small{font-size:15px;line-height:1.6}
.water-content>.eyebrow{font-size:12px}
.drop-tag{font-size:12px;letter-spacing:1px;color:#bed5f1}
.sculpture-caption{font-size:11px;letter-spacing:1.2px;color:#aec8e7;gap:28px}
.water-tabs{--tab-padding:clamp(32px,2.6vw,50px);gap:0;flex-wrap:wrap}
.water-tabs button{font-size:13px;gap:10px;min-height:52px;padding-left:5px;padding-right:var(--tab-padding)}
.water-tabs button span{font-size:17px}
.water-step{max-width:510px;min-height:180px;padding-top:24px}
.water-step h3{font-size:21px;line-height:1.4}
.water-step p{font-size:17px;line-height:1.8}
.story-bottom{font-size:11px;letter-spacing:1.5px}
.notice-strip strong{font-size:17px}
.notice-strip p>span{font-size:15px;line-height:1.65}
.article-card p{font-size:16px;line-height:1.75}
.article-meta{font-size:13px;line-height:1.6;letter-spacing:1px;color:#526c8b;gap:18px}
.article-meta>span{font-size:14px;font-variant-numeric:tabular-nums;flex-shrink:0}
.article-row .text-link{font-size:16px}
.contact-details small{font-size:12px;line-height:1.6;letter-spacing:1.3px}
.contact-details>a,.contact-details>div{font-size:clamp(18px,1.1vw,20px);overflow-wrap:anywhere}
.address-city{font-size:16px}
.footer-wordmark{color:#bec2c97a}
.footer-wordmark>span{color:#bec2c966}
.footer-bottom,.footer-bottom button{font-size:13px;line-height:20px}
.footer-bottom>div{gap:28px}
.footer-bottom a[translate="no"]{font-size:13px;letter-spacing:1px}
/* Keep the footer's breathing room after removing the development note. */
footer:after{content:'';display:block;height:34px}

/* Scroll zoom is bounded by the existing frame, with no pinned interval. */
.city-story{position:relative;background:var(--paper);padding:0 4.2vw 70px}
.city-frame{position:relative;height:clamp(620px,86svh,920px)}
.city-window{position:absolute;inset:0;overflow:hidden;border-radius:14px;background:#203858;transform:scale(clamp(.792,var(--city-scale,1),1));transform-origin:center;will-change:transform}
.city-window>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:50% 54%;filter:saturate(.6) contrast(1.04)}
.city-window .city-shade{background:linear-gradient(90deg,rgba(12,34,60,.58),rgba(12,34,60,.12) 70%),linear-gradient(0deg,rgba(12,34,60,.78),transparent 65%)}
.city-heading{position:absolute;top:15%;left:7%;right:7%;color:white}
.city-heading .eyebrow{font-size:12px}
.city-bottom p{font-size:17px;line-height:1.8;max-width:550px}
.city-button{font-size:15px}
.photo-credit{font-size:10px}

@media(max-width:1100px){
 .quickbar>a,.quickbar>button{font-size:15px}
 .water-tabs{--tab-padding:30px}
 .drop-tag{font-size:11px}
 .sculpture-caption{font-size:10px;gap:18px}
}
@media(max-width:800px){
 .intro-grid{grid-template-columns:1fr;gap:32px}
 .intro-copy{max-width:560px;margin-left:12%;padding:0}
 .intro-copy p:first-child{font-size:21px}
 .intro-copy p,.service-heading p{font-size:17px}
 .water-story{grid-template-columns:1fr;gap:45px}
 .water-content{max-width:580px;justify-self:center}
 .water-content h2{font-size:clamp(40px,7.8vw,64px)}
 .water-art{width:min(560px,100%);height:450px;justify-self:center}
 .water-step{min-height:165px}
 .city-frame{height:680px}
 .city-bottom{display:block;bottom:11%}
 .city-bottom p{font-size:16px}
}
@media(max-width:520px){
 .quickbar>a,.quickbar>button{font-size:14px}
 .quickbar>button{gap:8px}
 .quickbar strong{white-space:normal;gap:8px}
 .intro-copy{margin-left:5%;padding-top:30px;max-width:none}
 .intro-copy p:first-child{font-size:20px}
 .intro-copy p,.service-heading p{font-size:16px}
 .text-link,.section-heading>.text-link,.water-content>.text-link{font-size:15px}
 .service-list small{font-size:14px}
 .water-content h2{font-size:11.5vw}
 .water-content>.eyebrow{font-size:11px}
 .water-tabs{--tab-padding:22px}.water-tabs button:last-child{padding-right:0}
 .water-tabs button{font-size:11px;gap:6px}
 .water-tabs button span{font-size:15px}
 .water-step{min-height:185px}
 .water-step h3{font-size:20px}
 .water-step p{font-size:16px}
 .water-art{height:370px;min-height:370px;margin-top:25px}
 .drop-tag{font-size:10px;letter-spacing:.5px}
 .sculpture-caption{font-size:9px;letter-spacing:.7px;gap:18px}
 .story-bottom{font-size:10px;letter-spacing:1px}
 .notice-strip strong{font-size:16px}
 .notice-strip p>span{font-size:14px}
 .city-story{padding:0 4vw 40px}
 .city-frame{height:650px}
 .city-window>img{object-position:53% 50%}
 .city-heading{top:12%}
 .city-heading .eyebrow{font-size:10px;letter-spacing:1.4px}
 .city-bottom p{font-size:15px}
 .city-button{font-size:14px}
 .photo-credit{font-size:9px}
 .article-meta{font-size:12px;letter-spacing:.6px;gap:12px}
 .article-meta>span{font-size:12px}
 .article-row .text-link{font-size:15px}
 .contact-details small{font-size:11px}
 .contact-details>a,.contact-details>div{font-size:18px}
 .address-city{font-size:15px}
 .footer-bottom,.footer-bottom button{font-size:12px}
 .footer-bottom>div{gap:18px 22px}
 footer:after{height:34px}
}
@media(prefers-reduced-motion:reduce){.city-window{transform:none;will-change:auto}}
.motion-paused .city-window{transform:none;will-change:auto}

/* Shared section-caption size, including the water-story eyebrow. */
.section-label,.water-content>.eyebrow,.story-bottom{font-size:11px}
@media(max-width:520px){.section-label,.water-content>.eyebrow,.story-bottom{font-size:10px}}

/* Keep the page aligned when a modal hides the scrollbar. */
html{scrollbar-gutter:stable}
.menu-dialog{max-height:100dvh}
.menu-dialog[open]{display:flex;flex-direction:column}
.menu-dialog .menu-top{font-size:13px;flex-shrink:0}
.menu-dialog nav{width:min(640px,100%);max-width:none;flex-shrink:0;margin:clamp(36px,6vh,65px) 0 40px}
.menu-dialog nav>a{font-size:clamp(32px,3.2vw,54px);line-height:1.3;letter-spacing:-.045em;padding:24px 0;gap:18px}
.menu-dialog nav small{font-size:12px;width:26px;flex-shrink:0}
.menu-dialog .menu-foot{font-size:16px;line-height:1.6;margin-top:auto;padding-top:30px;gap:24px;flex-shrink:0}
@media(max-width:520px){.menu-dialog nav{margin:35px 0}.menu-dialog nav>a{font-size:30px;padding:23px 0;gap:12px}.menu-dialog nav small{font-size:11px;width:21px}.menu-dialog .menu-top{font-size:12px}.menu-dialog .menu-foot{font-size:14px;flex-wrap:wrap;gap:12px}}
/* Keep contact details copyable while preventing decorative text selection. */
body,button,button *{-webkit-user-select:none;user-select:none}
a[href^="tel:"],a[href^="mailto:"],[data-selectable],input,textarea,[contenteditable="true"]{-webkit-user-select:text;user-select:text}
a[href^="tel:"] small,a[href^="mailto:"] small,a[href^="tel:"] svg,a[href^="mailto:"] svg,.contact-details>a>span{-webkit-user-select:none;user-select:none}