/* The two approved painted scenes share one layout and one scroll clock. */
@font-face{font-family:'Playfair Display';src:url('/assets/playfair-display.ttf') format('truetype');font-weight:400 900;font-style:normal;font-display:swap}
@font-face{font-family:Onest;src:url('/assets/onest.ttf') format('truetype');font-weight:100 900;font-style:normal;font-display:swap}
:root{--serif:'Playfair Display',Georgia,serif;--sans:Onest,'Segoe UI',sans-serif}
:root{--river-bg:#081321;--river-bank:#0e2138;--river-water:#111b3a;--river-edge:#304b69;--river-gold:#cfad52;--river-rule:#adbac528}
.river-world,.river-camera{perspective:none;transform-style:flat}
.river-water{fill:url(#river-tone)}.river-tone-start{stop-color:var(--river-water)}.river-tone-end{stop-color:#1b3e6e}
.scene-far,.scene-middle,.scene-near{transform:none!important}
.night-scenery .scene-near{fill:var(--river-bg)}
.river-bank,.river-edge{display:none}.journey-hill{fill:#142a43}.journey-pine{fill:#0c1c30}.journey-stone{fill:#233c58}
.hero{height:100svh;min-height:720px;max-height:1080px}
.hero-content{top:44%;width:min(850px,calc(100% - 160px))}
.day-forest{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center bottom;opacity:0;pointer-events:none;z-index:0}
.studio-river{min-height:700px;padding:100px 0 135px}.studio-copy{background:none!important;margin-left:48%;width:50%}
.services-river{padding:110px 0 140px}.service-content{width:62%;max-width:750px}
.process-river{min-height:1250px;padding-top:100px;z-index:3!important;pointer-events:auto!important}
.process-river>.river-shell{height:1150px;width:min(1540px,calc(100% - 140px))}
.journey-step:nth-child(odd){right:65%}
.journey-step:nth-child(1){top:280px}.journey-step:nth-child(2){top:470px}.journey-step:nth-child(3){top:710px}.journey-step:nth-child(4){top:940px}
.work-river{padding-block:100px;background:transparent}
.work-showcase .project-visual{aspect-ratio:1.95;background:#080b0d}
.work-showcase .project-visual>img{object-position:left top;object-fit:cover;width:100%;height:100%;aspect-ratio:auto}
.work-caption{align-items:start;gap:50px;padding-top:26px}
.work-caption>p{max-width:570px}
/* A rigid vertical pan over a single painted dock, without stretching banks. */
.contact-river{display:grid;grid-template-columns:1fr;z-index:auto;height:calc(100svh + 620px);padding:0;background:transparent;min-height:0}
.harbor-view{grid-area:1/1;align-self:start;position:sticky;top:0;height:100svh;min-height:760px;overflow:visible;isolation:auto}
.harbor-view:after,.harbor-caption{display:none!important}
.dock-stage{position:absolute;inset:-160px 0 -220px;z-index:0;transform:translateY(var(--camera-pan));will-change:transform;mask-image:linear-gradient(transparent 40%,#000 61%,#000 calc(100% - 200px),transparent calc(100% - 40px))}
.dock-stage>img{position:absolute;inset:0;width:100%;height:100%;object-fit:fill}
.dock-night{opacity:1}.dock-day{opacity:0}
.contact-layout{grid-area:1/1;align-self:start;position:sticky;top:0;height:100svh;min-height:760px;align-content:start;display:grid;grid-template-columns:1.12fr 1fr;gap:8%;width:min(1320px,calc(100% - 144px));margin:0 auto;padding:150px 0 50px;opacity:var(--contact-presence);transform:translateY(var(--copy-pan,0px));z-index:8}
.contact-copy:before{display:none}
.contact-copy{text-align:left}.contact-copy .eyebrow{justify-content:start}.contact-copy h2{font-size:clamp(58px,5.7vw,90px);max-width:660px;letter-spacing:-2.8px;line-height:1.02}
.contact-copy .section-copy{max-width:570px;font-size:17px!important;line-height:1.65!important;margin:26px 0 0}
.contact-socials{display:flex;flex-direction:column;align-items:start;gap:4px;margin-top:20px}.contact-socials .river-link{font-size:15px;margin-top:3px;padding:5px 0}
.river-form.brief-form{align-self:start;margin:72px 0 0;gap:24px;max-width:none}.contact-river .form-pair{display:grid;grid-template-columns:1fr;gap:24px}
.contact-river .river-form.brief-form label>span{font:15px/1.4 var(--sans);color:var(--river-muted);letter-spacing:.2px}
.river-form.brief-form input,.river-form.brief-form textarea{height:auto;min-height:35px;padding:8px 0;border:0;border-bottom:1px solid #9eabb85c;border-radius:0;background:transparent;box-shadow:none;color:var(--river-ink)}
.river-form.brief-form textarea{height:104px;min-height:104px;max-height:104px;resize:none;overflow-y:auto}.river-form.brief-form input:focus,.river-form.brief-form textarea:focus{background:transparent;border-bottom-color:var(--river-gold);box-shadow:none}
.river-form .form-bottom{display:flex;flex-direction:column;gap:16px;align-items:start}.river-form .primary-button{background:var(--river-gold);color:#0b1d27;border-radius:6px;font-weight:500;font-size:15px;padding:18px 24px}
.form-note{font-size:12px!important;line-height:1.6!important;max-width:360px}
.site-footer{position:relative;z-index:6;background:transparent;border-top:0;margin-top:0}
.case-cover{padding:110px 22px 100px 0;background:transparent}
#project-dialog .case-cover img{object-fit:contain;mask-image:none;border:1px solid var(--case-rule);border-radius:12px;max-height:72dvh}
.case-booking-visual{flex:0 0 48%;height:72dvh;justify-content:center}
.case-booking-screen{width:auto;max-width:100%;height:100%;margin:0!important}
#project-dialog .case-booking-screen img{width:auto;height:calc(100% - 28px);max-width:100%;object-fit:contain;border-radius:14px;background:#f4f7fc}
.case-booking-screen figcaption{margin-top:12px;font:11px/1.5 var(--sans);color:var(--case-muted);text-align:center}
.calendar-view-switch{display:flex;gap:6px;margin-top:28px}.calendar-view-switch button{padding:10px 20px;border:1px solid var(--case-rule);border-radius:25px;background:none;color:var(--case-muted);transition:background .5s,color .5s}
.calendar-view-switch button[aria-pressed=true]{background:var(--case-gold);color:#081321;border-color:transparent}
.case-booking-visual.is-week{flex-basis:58%}.case-booking-visual.is-week .case-booking-screen{display:flex;flex-direction:column;justify-content:center;width:100%}
.case-booking-visual.is-week img{height:auto!important;width:100%!important}
/* Misty ivory and sage, with gold kept as the shared accent. */
html[data-theme=light]{--bg:#f4f5ef;--text:#182e2c;--muted:#667976;--accent:#bd9440;--river-bg:#f4f5ef;--river-ink:#182e2c;--river-muted:#637674;--river-gold:#ba9240;--river-rule:#243f3827;--river-water:#9dbbbc;--river-edge:#b6cecb;--river-bank:#dae3d7;--nav:#f4f5efdc}
html[data-theme=light] .hero{--scene-main:#f4f5ef;--scene-top:#f4f5ef;--scene-bottom:#96b9b9;--accent:#bd9440;background:#f4f5ef}
html[data-theme=light] .day-forest{opacity:1}html[data-theme=light] .river-tone-end{stop-color:#8caeb3}
html[data-theme=light] .hero .sky-wash,html[data-theme=light] .living-landscape{visibility:hidden}
html[data-theme=light] .hero h1,html[data-theme=light] .rotating-words{color:#182e2c}
html[data-theme=light] .rotating-words .phrase-bottom{color:#bd9440}
html[data-theme=light] .hero-eyebrow,html[data-theme=light] .vertical-label{color:#263e3a}
html[data-theme=light] .hero-scroll{color:#344f4b}
html[data-theme=light] .moon{--orb-base:#f3d78b;--orb-accent:#f3d78b;background:linear-gradient(130deg,#ffe5a4,#ecd18c);border-radius:50%;box-shadow:none}
html[data-theme=light] .moon .moon-shadow,html[data-theme=light] .moon .moon-disk,html[data-theme=light] .moon .moon-craters{opacity:0}.moon-clouds{opacity:.8}html[data-theme=light] .moon-clouds{fill:#fffdf6}
html[data-theme=light] .site-header,html[data-theme=light] .scene-controls{background:#f8f8f2c9;border-color:#243f3825;box-shadow:0 8px 25px #123d2a06;backdrop-filter:blur(16px);color:#182e2c}
html[data-theme=light] .wordmark,html[data-theme=light] .nav-contact,html[data-theme=light] .scene-controls button{color:#182e2c}
html[data-theme=light] .scene-controls button[aria-pressed=true]{background:#e7e6d8}
html[data-theme=light] .hero .music-player{background:linear-gradient(130deg,#fffef8,#f6f0dc);color:#182e2c;box-shadow:0 16px 45px #253d3320}
html[data-theme=light] .journey-pine{fill:#36594b}html[data-theme=light] .journey-hill{fill:#cad9ca}html[data-theme=light] .journey-stone{fill:#879f97}
html[data-theme=light] .journey-reflection{stroke:#f7f3da;opacity:.65}html[data-theme=light] .journey-glint{fill:#e9d59f;opacity:.7}
html[data-theme=light] .dock-night{opacity:0}html[data-theme=light] .dock-day{opacity:1}
html[data-theme=light] .harbor-view:before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(transparent 30%,#f4f5ef99 53%,transparent 75%)}
html[data-theme=light] .contact-socials .river-link{color:#294f41}
html[data-theme=light] .contact-copy .section-copy{color:#425b53}
html[data-theme=light] .river-form .primary-button{background:#cfaf58;color:#182e2c}
html[data-theme=light] .river-form.brief-form input,html[data-theme=light] .river-form.brief-form textarea{border-bottom-color:#63767466}
@media(min-width:761px) and (max-height:800px){.harbor-view,.contact-layout{min-height:660px}.contact-layout{padding-top:105px}.contact-copy h2{font-size:65px}.river-form.brief-form{margin-top:35px;gap:17px}.contact-river .form-pair{gap:17px}}
@media(max-width:1100px) and (min-width:761px){.hero-content{width:calc(100% - 130px)}.contact-layout{gap:6%;width:calc(100% - 90px)}.contact-copy h2{font-size:57px}.contact-copy .section-copy{font-size:14px!important}.contact-socials .river-link{font-size:12px}.river-form.brief-form{margin-top:40px}}
@media(max-width:760px){
 .hero{min-height:760px;height:100svh}.hero-content{width:calc(100% - 48px)}.day-forest{object-position:57% bottom}
 .river-shell{width:calc(100% - 64px);margin-left:24px}.studio-river{min-height:0;padding:85px 0 75px}.studio-copy{width:calc(100% - 50px);margin:0}
 .services-river{padding:70px 0 85px}.service-content{width:calc(100% - 50px)}.work-river{padding-block:75px}.work-showcase .project-visual{aspect-ratio:1.95}.work-showcase .project-visual>img{object-fit:cover;object-position:top}.work-caption{gap:20px}
 .process-river{min-height:0;padding:75px 0 100px}.process-river>.river-shell{height:auto;width:calc(100% - 64px)}.journey-step:nth-child(n){top:auto;position:relative;inset:auto;width:calc(100% - 60px);max-width:none;text-align:left}.journey-step:nth-child(n):before,.journey-step:nth-child(n):after{display:none}.journey-heading{position:relative;inset:auto;width:100%;margin-bottom:45px}.journey-steps{display:flex;flex-direction:column;gap:38px;height:auto}
 .contact-river{display:block;height:auto;min-height:1050px}.harbor-view{height:100%;min-height:0;padding:0;position:absolute;inset:0}
 .dock-stage{inset:auto -250px -20px -140px;height:450px;transform:none;mask-image:linear-gradient(transparent 40%,#000 61%)}
 .dock-stage>img{object-fit:fill}
 .contact-layout{position:relative;top:auto;height:auto;min-height:1050px;display:block;width:auto;margin:0 24px;padding:80px 0 320px;opacity:1;transform:none}.contact-copy h2{font-size:48px;letter-spacing:-1.8px}.contact-copy .section-copy{font-size:15px!important;margin-top:24px}.contact-socials .river-link{font-size:13px}
 .river-form.brief-form{margin:38px 0 0;gap:23px}.contact-river .form-pair{gap:23px}.case-booking-visual{height:auto;margin-bottom:35px}.case-booking-screen{width:100%}#project-dialog .case-booking-screen img{height:auto;width:100%}.case-cover{padding:0 24px 40px}.case-booking-visual.is-week{width:100%}
}
@media(prefers-reduced-motion:reduce){.contact-river{height:auto}.harbor-view{position:relative}.dock-stage,.contact-layout{transform:none}.contact-layout{opacity:1}}

.has-motion .work-showcase[data-reveal]{opacity:var(--work-enter-opacity,0);transform:translate3d(0,var(--work-enter-y,144px),0) scale(var(--work-enter-scale,.7));transform-origin:center top;will-change:transform,opacity;animation:none}
@media(prefers-reduced-motion:reduce){.has-motion .work-showcase[data-reveal]{opacity:1;transform:none;will-change:auto}}

/* Compact centered capsule, measured against the user's Rexten reference. */
.site-header,.site-header.is-compact{font-family:var(--sans);background:#101e3c8c;border:1px solid #f9f2e32e;box-shadow:inset 0 0 0 4px #c6daff07,0 10px 34px #00000057;backdrop-filter:blur(20px);border-radius:999px;top:12px;left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 48px);height:52px;padding:6px 8px 6px 6px;gap:8px;transition:background .5s,box-shadow .5s}
.site-header .wordmark{background:#f9f2e31a;border:0;border-radius:999px;padding:3px 15px;height:34px;justify-content:center;gap:1px}
.site-header .wordmark b{font-family:var(--serif);font-size:17px;line-height:1.15;font-weight:600;letter-spacing:1px}
.site-header .wordmark>span{font-size:5px;letter-spacing:3.8px;color:var(--river-muted)}
.desktop-nav{justify-content:center;gap:2px;flex:0 0 auto}.desktop-nav a{font-size:14px;font-weight:400;color:var(--river-ink);position:relative;padding:8px 14px;border-radius:999px;transition:background .25s,color .25s}
.desktop-nav a:after{content:'';position:absolute;left:14px;bottom:3px;width:calc(100% - 28px);height:1px;background:var(--river-gold);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}
.desktop-nav a:hover{background:#f9f2e30c}.desktop-nav a[aria-current=page]:after{transform:scaleX(1)}
.site-header .nav-contact{font-size:14px;color:var(--river-ink);background:#060a168c;border:1px solid #f9f2e32e;border-radius:999px;padding:9px 16px;gap:8px;height:38px;white-space:nowrap;transition:background .25s,border-color .25s}
.site-header .nav-contact:hover{background:#263954cc;border-color:#f9f2e35c;box-shadow:none;color:var(--river-ink)}
.site-header .nav-contact svg{display:block;width:16px;height:16px}
.site-header .nav-contact:after{content:none}
.site-header.is-compact{gap:8px}.site-header.is-compact .menu-toggle{border-radius:50%}
.site-header.is-compact{isolation:isolate}
.site-header.is-compact:before{display:none}
html[data-theme=light] .site-header,html[data-theme=light] .site-header.is-compact{background:#f8f8f2c9;border-color:#243f3829;box-shadow:inset 0 0 0 4px #fffdf140,0 8px 30px #243f380d}
html[data-theme=light] .site-header .wordmark{background:#243f380e;border:0}
html[data-theme=light] .site-header .nav-contact{background:#243f3812;border-color:#243f3829;color:#182e2c}
html[data-theme=light] .site-header .nav-contact:hover,html[data-theme=light] .desktop-nav a:hover{background:#243f3820}
.scene-controls{top:18px}
.hyperframes-motion.has-motion .hero-title-line{animation:none}
.hyperframes-motion .music-player{transition:box-shadow .3s}
.hyperframes-motion .music-player:hover{transform:none;box-shadow:inset 0 1px 5px #fff,0 18px 42px #0004}
@media(prefers-reduced-motion:reduce){.hyperframes-motion .hero-title-line,.hyperframes-motion .hero-eyebrow,.hyperframes-motion .music-player,.hyperframes-motion .phrase-top,.hyperframes-motion .phrase-bottom{opacity:1!important;transform:none!important}}
.hero h1,.rotating-words,.river-section h2,.journey-step h3,.work-caption h3{font-weight:600}
.journey-step{--stage-focus:0}.journey-step h3{color:var(--river-ink);opacity:calc(.72 + var(--stage-focus)*.28);transition:color .65s ease,opacity .4s ease,text-shadow .65s ease}
.journey-step.is-active h3{color:var(--river-gold);text-shadow:0 0 24px #cfad5225}
.journey-step .river-number{opacity:calc(.45 + var(--stage-focus)*.55);transition:opacity .4s}
.journey-step:before{opacity:calc(.15 + var(--stage-focus)*.65)}
.journey-step:after,.journey-step:nth-child(n):after{opacity:calc(.3 + var(--stage-focus)*.7);box-shadow:0 0 calc(var(--stage-focus)*24px) #cfad5260,0 0 0 calc(var(--stage-focus)*7px) #cfad5213}
@media(max-width:1250px) and (min-width:761px){.site-header,.site-header.is-compact{left:calc(50% - 90px)}.desktop-nav a{padding-inline:11px}.desktop-nav a:after{left:11px;width:calc(100% - 22px)}}
@media(max-width:1000px) and (min-width:761px){.site-header .desktop-nav{display:none}.site-header .menu-toggle{display:block}.site-header .nav-contact{margin-left:auto}}
@media(max-width:760px){.site-header,.site-header.is-compact{top:15px;left:16px;transform:none;width:calc(100% - 238px);min-width:110px;height:44px;gap:4px;padding:4px;border-radius:999px}.site-header .wordmark{display:flex;gap:1px;height:32px;padding:3px 8px;flex:1;min-width:0}.site-header .wordmark b{font-size:12px;letter-spacing:0}.site-header .wordmark>span{font-size:4px;letter-spacing:2.7px}.site-header .nav-contact{display:none}.site-header .menu-toggle{display:block;width:28px;flex-shrink:0;padding:5px}.site-header .menu-toggle i{width:16px}.scene-controls{top:17px}.journey-step h3{opacity:calc(.8 + var(--stage-focus)*.2)}}
/* Desktop: the approved fixed-world camera. The original dock remains on mobile. */
.dock-canvas{display:none;pointer-events:none}
.case-summary{display:none}
@media(min-width:761px){
 .case-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;padding:24px 0 4px;text-align:left}
 .case-summary span{font:10px/1.5 var(--sans);letter-spacing:1.5px;color:var(--river-gold)}
 .case-summary p{font:14px/1.6 var(--sans);color:var(--river-muted);margin:10px 0 0;max-width:300px}
 html.native-dock .contact-river{height:calc(100svh + 1200px)}
 html.native-dock .harbor-view{min-height:0;isolation:isolate;z-index:3}
 html.native-dock .dock-stage{display:none}
 html.native-dock .dock-canvas{display:block;position:absolute;inset:0;width:100%;height:100%;mask-image:linear-gradient(#000 calc(100% - 160px),transparent)}
 html.native-dock .river-tone-end{stop-color:#193c63}
 html.native-dock[data-theme=light] .river-tone-end{stop-color:#8caeb3}
 html.native-dock .journey-boat{z-index:5;transform-origin:55px 65px}
 .journey-boat:not(.boat-ready){visibility:hidden}
 html.native-dock .contact-layout{position:absolute;top:var(--dock-copy-offset,0px);left:0;right:0;min-height:0;pointer-events:auto;overflow-anchor:none}
 html.native-dock .contact-layout[inert]{pointer-events:none}
}
@media(min-width:761px){
 /* Upstream boat and river scroll together; pin the boat only inside the dock camera. */
 html.native-dock .journey-boat.is-docked{position:fixed}
 html.native-dock .harbor-view{position:fixed;top:0;left:0;width:100%;transform:translate3d(0,var(--dock-view-offset,100vh),0);will-change:transform;pointer-events:none}
 html.native-dock .contact-layout{position:fixed;top:0;align-self:start;pointer-events:none;transform:none;will-change:opacity}
 html.native-dock .contact-layout .contact-copy,html.native-dock .contact-layout .brief-form{pointer-events:auto}
 html.native-dock .contact-layout>[data-reveal],html.native-dock .contact-copy>.eyebrow,html.native-dock .contact-copy>h2,html.native-dock .contact-copy>.section-copy{opacity:1;transform:none;animation:none;transition:none}
}
@media(min-width:761px) and (prefers-reduced-motion:reduce){
 html.native-dock .contact-river{height:auto;min-height:100svh}
 html.native-dock .harbor-view{position:absolute;inset:0;height:100svh;transform:none;will-change:auto}
 html.native-dock .contact-layout{position:relative;height:auto;min-height:100svh}
}
/* Contact refinement: open editorial form over the same continuous world. */
.contact-desktop-copy{display:none}
@media(min-width:761px){
 .contact-desktop-copy{display:inline}
 .contact-mobile-copy{display:none}
 #project-dialog .case-showcase,#project-dialog [data-case-page="1"]{display:none}
 #project-dialog .case-cover{align-self:center;display:block;aspect-ratio:1440/760;height:auto;margin:0 22px 0 0;padding:0;overflow:hidden;border:1px solid var(--case-rule);border-radius:12px}
 #project-dialog .case-cover img{height:100%;width:100%;max-height:none;object-fit:cover;object-position:left top;mask-image:none;border:0;border-radius:0}
 html.native-dock .river-tone-end{stop-color:#14304e}
 html.native-dock[data-theme=light] .river-tone-end{stop-color:#8caeb3}
 html.native-dock .contact-layout{grid-template-columns:1.08fr 1fr;gap:8%;padding-top:clamp(120px,16svh,165px)}
 html.native-dock .contact-copy h2{font-size:clamp(60px,5.9vw,88px);letter-spacing:-2.7px;line-height:1.02}
 html.native-dock .contact-copy .section-copy{max-width:480px;font-size:16px!important;line-height:1.65!important;margin-top:26px;text-wrap:pretty}
 html.native-dock .contact-socials{margin-top:26px;gap:8px}
 html.native-dock .contact-socials .river-link{font-size:14px;padding-bottom:8px}
 html.native-dock .river-form.brief-form{margin-top:42px;gap:24px}
 html.native-dock .contact-river .form-pair{gap:24px}
 html.native-dock .river-form.brief-form label{gap:7px}
 html.native-dock .river-form.brief-form label>span{font:22px/1.25 var(--serif);color:var(--river-ink);letter-spacing:-.2px}
 html.native-dock .river-form.brief-form input{min-height:32px;padding:4px 0 9px}
 html.native-dock .river-form.brief-form textarea{height:82px;min-height:82px;max-height:82px;padding-top:8px}
 html.native-dock .river-form.brief-form input,html.native-dock .river-form.brief-form textarea{border-bottom-color:#c6d3dc48;transition:border-color .2s}
 html.native-dock .river-form.brief-form input:focus,html.native-dock .river-form.brief-form textarea:focus{border-bottom-color:var(--river-gold)}
 html.native-dock .river-form .primary-button{min-width:260px;min-height:56px;justify-content:space-between;gap:26px;padding:16px 22px;border:1px solid #e8cb7560;border-radius:10px;background:linear-gradient(120deg,#e1bd5b,#cda644);color:#10202d;box-shadow:0 5px 20px #020a111a;font:500 16px/1.4 var(--sans)}
 html.native-dock .river-form .primary-button:hover{background:linear-gradient(120deg,#e7ce80,#d5b75e)}
 html.native-dock .river-form .primary-button>span[aria-hidden]{font:22px/1 var(--sans)}
 html.native-dock .river-form .form-bottom{gap:18px}
 html.native-dock .form-note{margin:0;text-align:left;max-width:310px;font-size:12px!important;line-height:1.6!important;text-wrap:pretty;color:var(--river-muted)}
 html.native-dock[data-theme=light] .river-form.brief-form input,html.native-dock[data-theme=light] .river-form.brief-form textarea{border-bottom-color:#38564c55}
 html.native-dock[data-theme=light] .river-form.brief-form input:focus,html.native-dock[data-theme=light] .river-form.brief-form textarea:focus{border-bottom-color:var(--river-gold)}
 html.native-dock[data-theme=light] .river-form .primary-button{color:#18332b;box-shadow:0 5px 20px #253d3308}
 html.native-dock[data-theme=light] .harbor-view:before{display:none}
}
@media(min-width:761px) and (max-height:800px){
 html.native-dock .contact-layout{padding-top:100px}
 html.native-dock .contact-copy h2{font-size:58px;letter-spacing:-2px}
 html.native-dock .contact-copy .section-copy{font-size:14px!important;margin-top:18px;max-width:420px}
 html.native-dock .contact-socials{margin-top:18px;gap:4px}
 html.native-dock .contact-socials .river-link{font-size:12px;padding-bottom:5px}
 html.native-dock .river-form.brief-form{margin-top:32px;gap:16px}
 html.native-dock .contact-river .form-pair{gap:16px}
 html.native-dock .river-form.brief-form label{gap:4px}
 html.native-dock .river-form.brief-form label>span{font-size:20px}
 html.native-dock .river-form.brief-form input{min-height:26px;padding-bottom:5px}
 html.native-dock .river-form.brief-form textarea{height:48px;min-height:48px;max-height:48px}
 html.native-dock .river-form .primary-button{padding-block:14px}
 html.native-dock .river-form .form-bottom{gap:12px}
}
/* Quiet ivory hull; existing mobile boat colors remain in its SVG. */
@media(min-width:761px){
 html.native-dock .journey-boat .sailboat path:first-child{fill:#efe9da}
}
/* Reviewed cloud veils: dense after work, soft on the desktop dock descent. */
.work-open-label{display:none}
@media(min-width:761px){
 .work-showcase .project-visual{border-radius:14px;box-shadow:inset 0 0 0 1px #cfad5226}
 .work-showcase .work-open{display:flex;align-items:center;justify-content:center;gap:12px;width:auto;height:46px;right:20px;bottom:20px;padding:0 22px;border-radius:999px;font:14px var(--sans);background:#f8f3e6;color:#111b3a;box-shadow:0 4px 16px #0003;transition:background .25s,box-shadow .25s}
 .work-open-label{display:inline}
 .work-open-arrow{font-size:20px;line-height:1;transition:transform .35s}
 .work-showcase .work-open:hover,.work-showcase .project-open:focus-visible .work-open{background:#e9ce87;box-shadow:0 6px 22px #0004}
 .work-showcase .work-open:hover .work-open-arrow,.work-showcase .project-open:focus-visible .work-open-arrow{transform:translate(2px,-2px)}
 .work-showcase .project-open:is(:hover,:focus-visible) .project-visual>img{transform:scale(1.015)}
 .work-showcase .project-open:focus-visible{outline:2px solid var(--river-gold);outline-offset:8px;border-radius:14px}
 .journey-step>p{opacity:.78;transition:opacity .4s}
 .journey-step.is-active>p{opacity:1}
 .journey-step.is-active .river-number{color:var(--river-gold);text-shadow:0 0 18px #cfad5230}
 html .river-land .journey-hill{fill:url(#journey-hill-depth)}
 .journey-hill-far{stop-color:#1b344d}.journey-hill-near{stop-color:#11263c}
 .river-land .journey-pine[data-depth=far]{fill:#213e57;opacity:.72}
 html[data-theme=light] .journey-hill-far{stop-color:#d8e0d2}
 html[data-theme=light] .journey-hill-near{stop-color:#becfbf}
 html[data-theme=light] .river-land .journey-pine[data-depth=far]{fill:#5d7c67;opacity:.72}
}
@media(min-width:761px) and (prefers-reduced-motion:reduce){
 .work-showcase .project-open:is(:hover,:focus-visible) .project-visual>img,.work-showcase .project-open:is(:hover,:focus-visible) .work-open-arrow{transform:none}
}
.cloud-transition{display:none;pointer-events:none}
@media(min-width:761px) and (prefers-reduced-motion:no-preference){
 .cloud-transition{display:block;position:fixed;inset:0;z-index:32;overflow:hidden;pointer-events:none;contain:layout paint}
 .cloud-transition>.clouds{position:absolute;inset:-18% -9%;width:118%;height:136%;pointer-events:none}
 .cloud-transition[data-density=dense]>.clouds{inset:-28% -12%;width:124%;height:156%}
 .cloud-transition .cloud-bank{will-change:transform,opacity}
 .cloud-transition .cloud-left path{mask-image:linear-gradient(to right,#000 55%,transparent 100%)}
 .cloud-transition .cloud-right path{mask-image:linear-gradient(to right,transparent,#000 30%)}
 .cloud-transition .dense-only{display:none}
 .cloud-transition[data-density=dense] .dense-only{display:inline}
 .cloud-transition[data-density=dense] [data-cloud=near] stop:first-child{stop-opacity:.5}
 .cloud-transition[data-density=dense] [data-cloud=near] stop:nth-child(2){stop-opacity:1}
 .cloud-transition[data-density=dense] [data-cloud=near] stop:nth-child(3){stop-opacity:.96}
 .cloud-transition[data-density=dense] [data-cloud=dense] stop:nth-child(4){stop-opacity:.92}
 .cloud-transition[data-density=dense] [data-cloud=dense] stop:last-child{stop-opacity:.86}
 .cloud-transition[data-theme=light] [data-cloud=near] stop:first-child,.cloud-transition[data-theme=light] [data-cloud=dense] stop:first-child{stop-color:#f8f6ed}
 .cloud-transition[data-theme=light] [data-cloud=near] stop:nth-child(2),.cloud-transition[data-theme=light] [data-cloud=dense] stop:nth-child(2){stop-color:#e7ece3}
 .cloud-transition[data-theme=light] [data-cloud=near] stop:nth-child(3),.cloud-transition[data-theme=light] [data-cloud=dense] stop:nth-child(3){stop-color:#c4d1c8}
 .cloud-transition[data-theme=light] [data-cloud=near] stop:last-child,.cloud-transition[data-theme=light] [data-cloud=dense] stop:nth-child(4),.cloud-transition[data-theme=light] [data-cloud=dense] stop:last-child{stop-color:#afc4b9}
 .cloud-transition[data-theme=light] [data-cloud=far] stop:first-child{stop-color:#f6f4e9}
 .cloud-transition[data-theme=light] [data-cloud=far] stop:nth-child(2){stop-color:#d4ded1}
 .cloud-transition[data-theme=light] [data-cloud=far] stop:last-child{stop-color:#aec1b4}
}

/* Desktop clarity: existing mobile copy and first-screen composition retained. */
.studio-work-link,.service-desktop-copy,.service-scope,.case-navigation{display:none}
@media(min-width:761px){
 .studio-work-link{display:inline-flex;align-items:center;gap:24px;margin-top:26px;font-size:14px}
 .has-motion .studio-copy:not(.revealed) .studio-work-link{opacity:0;transform:translateY(9px)}
 .has-motion .studio-copy.revealed .studio-work-link{opacity:1;transform:none;transition:opacity 1.1s .2s,transform 1.1s .2s}
 .service-mobile-copy{display:none}.service-desktop-copy{display:inline}
 .service-row .service-scope{display:flex;flex-wrap:wrap;gap:8px 24px;list-style:none;padding:0;margin:18px 0 0;color:var(--river-ink);font-size:12px;line-height:1.6}
 .service-scope li{position:relative}.service-scope li+li:before{content:'·';position:absolute;left:-15px;color:var(--river-gold)}
 #project-dialog .case-pagination{display:none}
 .case-navigation{position:absolute;z-index:5;bottom:24px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:20px;padding:8px;border:1px solid var(--case-rule);border-radius:40px;background:var(--case-bg)}
 .case-navigation button{display:inline-flex;align-items:center;gap:13px;min-height:40px;padding:10px 17px;border-radius:30px;background:transparent;color:var(--case-ink);font:13px/1.4 var(--sans);white-space:nowrap}
 .case-navigation button:hover:not(:disabled){background:color-mix(in srgb,var(--case-gold) 12%,transparent)}
 .case-navigation button:disabled{opacity:.3;cursor:default}
 .case-navigation button:focus-visible{outline:1px solid var(--case-gold);outline-offset:2px}
 .case-count{min-width:66px;text-align:center;color:var(--case-muted);font:12px/1.4 var(--sans);font-variant-numeric:tabular-nums;letter-spacing:1px}
 #project-dialog .case-booking:has(.is-week){display:grid;grid-template-rows:minmax(0,1fr) auto;gap:22px;padding-block:90px 108px}
 #project-dialog .case-booking:has(.is-week) .case-booking-visual{width:100%;max-width:1100px;height:100%;min-height:0;justify-self:center}
 #project-dialog .is-week .case-booking-screen{height:100%;align-items:center}
 #project-dialog .is-week .case-booking-screen img{width:auto!important;height:auto!important;max-width:100%;max-height:calc(100% - 28px);object-fit:contain;background:transparent;border-radius:14px}
 #project-dialog .case-booking:has(.is-week) .case-feature-copy{display:grid;grid-template-columns:1fr 1fr;gap:0 5%;max-width:1100px;width:100%;justify-self:center}
 #project-dialog .case-booking:has(.is-week) .eyebrow{margin-bottom:10px}
 #project-dialog .case-booking:has(.is-week) h3{font-size:clamp(28px,3vw,40px);line-height:1.1;margin:0;grid-column:1;grid-row:2/span 2}
 #project-dialog .case-booking:has(.is-week) .case-feature-copy>p:not(.eyebrow){grid-column:2;grid-row:1/span 2;font-size:14px;margin:0;line-height:1.6}
 #project-dialog .case-booking:has(.is-week) .case-feature-copy>ul{display:none}
 #project-dialog .case-booking:has(.is-week) .calendar-view-switch{grid-column:2;grid-row:3;margin-top:12px}
}
@media(prefers-reduced-motion:reduce){.has-motion .studio-copy .studio-work-link{opacity:1!important;transform:none!important}}
@media(min-width:761px) and (max-height:800px){
 #project-dialog .case-booking:has(.is-week){padding-block:76px 98px;gap:14px}
 #project-dialog .case-booking:has(.is-week) .eyebrow{font-size:8px;margin-bottom:8px}
 #project-dialog .case-booking:has(.is-week) h3{font-size:28px}
 #project-dialog .case-booking:has(.is-week) .case-feature-copy>p:not(.eyebrow){font-size:12px}
 #project-dialog .case-booking:has(.is-week) .calendar-view-switch{margin-top:8px}
 #project-dialog .case-booking:has(.is-week) .calendar-view-switch button{padding:7px 16px;font-size:12px}
}

/* Authentic website imagery and the reviewed side-arrow / line navigation. */
.case-desktop-panel,.case-desktop-media{display:none}
@media(min-width:761px){
 .work-showcase .work-open{background:#cfad52;color:#10202d}
 .work-showcase .work-open:hover,.work-showcase .project-open:focus-visible .work-open{background:#e2c36e}
 #project-dialog .case-pagination{display:flex;bottom:22px;background:transparent;gap:8px}
 #project-dialog .case-pagination button[hidden]{display:none}
 .case-navigation{inset:50% 12px auto;transform:translateY(-50%);justify-content:space-between;gap:0;padding:0;border:0;border-radius:0;background:none;pointer-events:none}
 .case-navigation button{justify-content:center;pointer-events:auto;width:44px;height:44px;min-height:44px;padding:0;border:1px solid var(--case-rule);background:var(--case-bg);font-size:22px}
 .case-navigation button:disabled{visibility:hidden;pointer-events:none}
 #project-dialog .case-cover{width:calc(100% - var(--case-side-space));height:auto;aspect-ratio:4/3;margin:0 var(--case-side-space) 0 0;border-radius:12px}
 .case-cover picture{display:block;width:100%;height:100%}
 #project-dialog .case-cover img{object-fit:cover;object-position:60% center}
 #project-dialog .case-intro-copy{padding-left:7vw}
 #project-dialog .case-scroll-hint{display:none}
 #project-dialog .case-statement{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr) auto;gap:12px;padding:88px 7vw 65px;text-align:left}
 #project-dialog .case-statement>.eyebrow{margin:0}
 #project-dialog .case-statement h3{font-size:clamp(28px,3vw,40px);line-height:1.1;letter-spacing:-1px;margin:0}
 #project-dialog .case-statement h3 br{display:none}
 #project-dialog .case-statement h3 em:before{content:' '}
 #project-dialog .case-statement>p:not(.eyebrow){grid-row:4;margin:0;font-size:13px}
 #project-dialog .case-desktop-media{display:flex;align-items:center;justify-content:center;min-height:0;height:100%;width:100%}
 #project-dialog .case-desktop-media img{width:auto;height:auto;max-width:100%;max-height:100%;border-radius:10px;border:1px solid var(--case-rule)}
 #project-dialog .case-catalogue-screen{position:relative;width:min(100%,calc((100svh - 255px)*1270/965));height:auto;max-height:none;aspect-ratio:1270/965;align-self:center;justify-self:center;overflow:hidden;border:1px solid var(--case-rule);border-radius:10px}
 #project-dialog .case-catalogue-screen img{position:absolute;left:0;top:-421.55440%;width:100%;height:853.47150%;max-width:none;max-height:none;object-fit:fill;border:0;border-radius:0}
 #project-dialog .case-site-screen{display:flex;justify-content:center;padding:90px 7vw 65px}
 .case-site-screen>figure{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:20px}
 #project-dialog .case-site-screen img{width:auto;max-width:100%;max-height:calc(100% - 80px);object-fit:contain;border:1px solid var(--case-rule);border-radius:10px}
 .case-about-complete{height:min(100%,calc(100svh - 245px));max-width:100%;aspect-ratio:1270/1220;overflow:hidden;border:1px solid var(--case-rule);border-radius:10px;flex-shrink:0}
 #project-dialog .case-about-complete img{width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;object-position:center 9.778%;border:0;border-radius:0}
 .case-site-screen figcaption{align-self:flex-start}
 #project-dialog .case-site-screen figcaption .eyebrow{margin:0 0 6px}
 #project-dialog .case-site-screen figcaption p:last-child{font-size:14px;margin:0}
 #project-dialog .case-client-booking{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:5vw;padding:90px 7vw 65px}
 .case-client-booking>figure{height:100%;min-height:0;display:flex;align-items:center;justify-content:center}
 .case-client-booking-frame{position:relative;width:min(100%,calc((100svh - 155px)*646/1016));aspect-ratio:646/1016;overflow:hidden;border:1px solid var(--case-rule);border-radius:12px;background:#12110b}
 #project-dialog .case-client-booking img{position:absolute;left:-2.78638%;top:-1.18110%;width:105.26316%;height:102.36221%;max-height:none;max-width:none;object-fit:fill;border:0;border-radius:0}
 #project-dialog{--case-side-space:max(82px,7vw)}
 #project-dialog .case-panel:not(.case-intro){padding-left:var(--case-side-space);padding-right:var(--case-side-space)}
 #project-dialog .case-intro-copy{padding-left:var(--case-side-space)}
 .work-showcase .work-open{overflow:hidden;isolation:isolate;pointer-events:auto;border:1px solid #ebd88b66;transition:background .3s,transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}
 .work-showcase .work-open::before{content:'';position:absolute;inset:-60% -30%;background:linear-gradient(110deg,transparent 35%,#fff6 50%,transparent 65%);transform:translateX(-120%);transition:transform .65s cubic-bezier(.2,.7,.2,1);pointer-events:none}
 .work-showcase .work-open>span{position:relative;z-index:1}
 .work-showcase .work-open:hover,.work-showcase .project-open:focus-visible .work-open{transform:translateY(-4px) scale(1.06);box-shadow:0 9px 28px #cfad5250,0 6px 20px #0005}
 .work-showcase .work-open:hover::before,.work-showcase .project-open:focus-visible .work-open::before{transform:translateX(120%)}
 .work-showcase .work-open:hover .work-open-arrow,.work-showcase .project-open:focus-visible .work-open-arrow{transform:translate(4px,-4px)}
}
@media(min-width:761px) and (prefers-reduced-motion:reduce){
 .work-showcase .work-open,.work-showcase .work-open::before{transition:none}
 .work-showcase .work-open::before{display:none}
 .work-showcase .work-open:hover,.work-showcase .project-open:focus-visible .work-open,.work-showcase .work-open:hover .work-open-arrow,.work-showcase .project-open:focus-visible .work-open-arrow{transform:none}
}
/* The reviewed work-button motion continues through the desktop case. */
@media(min-width:761px){
 #project-dialog :is(.case-cta,.case-back,.case-navigation button,.calendar-view-switch button,.case-controls button){position:relative;overflow:hidden;isolation:isolate;transition:background .3s,transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}
 #project-dialog .case-back{inset:auto}
 #project-dialog :is(.case-cta,.case-back,.case-navigation button,.calendar-view-switch button,.case-controls button)::before{content:'';position:absolute;inset:-60% -30%;background:linear-gradient(110deg,transparent 35%,#fff6 50%,transparent 65%);transform:translateX(-120%);transition:transform .65s cubic-bezier(.2,.7,.2,1);pointer-events:none}
 #project-dialog :is(.case-cta,.case-back,.case-navigation button)>span{position:relative;z-index:1}
 #project-dialog :is(.case-cta,.case-back,.case-navigation button,.calendar-view-switch button,.case-controls button):is(:hover,:focus-visible):not(:disabled)::before{transform:translateX(120%)}
 #project-dialog .case-cta:is(:hover,:focus-visible){transform:translateY(-4px) scale(1.06);box-shadow:0 9px 28px #cfad5250,0 6px 20px #0005}
 #project-dialog .case-cta>span:last-child{transition:transform .35s}
 #project-dialog .case-cta:is(:hover,:focus-visible)>span:last-child{transform:translate(4px,-4px)}
 #project-dialog :is(.case-back,.case-navigation button,.calendar-view-switch button):is(:hover,:focus-visible):not(:disabled){transform:translateY(-2px) scale(1.06);box-shadow:0 6px 20px #cfad5230}
 #project-dialog .case-controls button:is(:hover,:focus-visible){transform:translateY(-1px) scale(1.06)}
 #project-dialog :is(.case-cta,.case-back,.case-navigation button,.calendar-view-switch button,.case-controls button):focus-visible{outline:2px solid var(--case-gold);outline-offset:4px}
}
@media(min-width:761px) and (prefers-reduced-motion:reduce){
 #project-dialog :is(.case-cta,.case-back,.case-navigation button,.calendar-view-switch button,.case-controls button),#project-dialog .case-cta>span:last-child{transition:none}
 #project-dialog :is(.case-cta,.case-back,.case-navigation button,.calendar-view-switch button,.case-controls button)::before{display:none}
 #project-dialog :is(.case-cta,.case-back,.case-navigation button,.calendar-view-switch button,.case-controls button):is(:hover,:focus-visible),#project-dialog .case-cta:is(:hover,:focus-visible)>span:last-child{transform:none}
}

/* Lower-page editorial refinement; desktop only. */
.process-desktop-copy,.step-outcome{display:none}
@media(min-width:761px){
 .studio-river{min-height:660px;padding-bottom:110px}
 .services-river{padding-top:90px;padding-bottom:105px}
 .work-river{padding-block:85px}
 .process-river{min-height:1230px;padding-top:90px}
 .process-river>.river-shell{height:1140px}
 .journey-step:nth-child(1){top:250px}.journey-step:nth-child(2){top:435px}.journey-step:nth-child(3){top:640px}.journey-step:nth-child(4){top:850px}
 .process-mobile-copy{display:none}.process-desktop-copy{display:inline}
 .journey-step>p{font-size:15px;line-height:1.65}
 .step-outcome{display:block;margin-top:16px;padding-top:12px;border-top:1px solid var(--river-rule)}
 .step-outcome>span{font:9px/1.5 var(--sans);letter-spacing:1.7px;color:var(--river-gold)}
 .journey-step .step-outcome p{font:13px/1.6 var(--sans);margin:5px 0 0;color:var(--river-ink);opacity:1}
}
@media(min-width:761px) and (max-width:1100px){
 .process-river{min-height:1320px}
 .process-river>.river-shell{height:1230px}
}
@media(min-width:761px) and (max-width:900px){
 .process-river{min-height:1380px}
 .process-river>.river-shell{height:1290px}
}

/* Prices share the existing service rows; no separate pricing section. */
/* Small case facts need enough weight and contrast to stay crisp on dark. */
@media(min-width:761px){
 #project-dialog{--case-muted:#b0b2aa}
 #project-dialog .case-facts dt{font-size:11px;line-height:1.4;font-weight:600;letter-spacing:1.1px;color:#b7b9b2;-webkit-font-smoothing:auto}
 #project-dialog .case-table-label,#project-dialog .case-section-number span{font-size:11px;line-height:1.5;font-weight:600;letter-spacing:1.1px;color:#b7b9b2;-webkit-font-smoothing:auto}
 #project-dialog .eyebrow,#project-dialog .case-booking:has(.is-week) .eyebrow{font-size:11px;font-weight:500;letter-spacing:1.4px}
 #project-dialog .case-booking-screen figcaption{font-size:12px;font-weight:500}
 .river-section .eyebrow,.case-summary span,.step-outcome>span{font-size:11px;font-weight:500;letter-spacing:1.5px;-webkit-font-smoothing:auto}
 .river-section .service-row p.service-price{font-size:13px;font-weight:500;color:var(--river-gold)}
}
.service-price,.service-cost-note{display:none}
@media(min-width:761px){
 .service-row .service-price{display:block;font:13px/1.65 var(--sans);color:var(--river-gold);margin:14px 0 0}
 .service-cost-note{display:block;font:13px/1.7 var(--sans);color:var(--river-muted);max-width:610px;margin:24px 0 18px}
}
/* Give the weekly interface the same visual priority as the reference case. */
@media(min-width:761px){
 #project-dialog .case-booking:has(.is-week){padding-block:74px 54px;gap:16px}
 #project-dialog .is-week .case-booking-screen{margin:0;justify-content:center}
 #project-dialog .is-week .case-booking-screen img{max-height:100%;border-radius:16px}
 #project-dialog .is-week .case-booking-screen figcaption{display:none}
 #project-dialog .case-booking:has(.is-week) .case-feature-copy{grid-template-columns:1fr 1.4fr auto;gap:0 28px;align-items:center}
 #project-dialog .case-booking:has(.is-week) .eyebrow{grid-column:1;grid-row:1;margin-bottom:6px}
 #project-dialog .case-booking:has(.is-week) h3{grid-column:1;grid-row:2;font-size:24px;line-height:1.15}
 #project-dialog .case-booking:has(.is-week) .case-feature-copy>p:not(.eyebrow){grid-column:2;grid-row:1/span 2;font-size:13px;line-height:1.6}
 #project-dialog .case-booking:has(.is-week) .calendar-view-switch{grid-column:3;grid-row:1/span 2;margin:0;white-space:nowrap}
}
/* Short copy and a feathered join into the dock landscape. */
@media(min-width:761px){
 .studio-signature,.service-row .service-scope,.case-summary,.step-outcome{display:none}
 #project-dialog .case-booking .case-feature-copy>ul{display:none}
 html.native-dock .dock-canvas{mask-image:linear-gradient(transparent,#000 var(--dock-entry-feather,160px),#000 calc(100% - 160px),transparent)}
}

/* Motion refines the current capsule without changing its resting design. */
.has-header-motion .desktop-nav{position:relative}
.has-header-motion .desktop-nav a{z-index:1;background:none!important}
.has-header-motion .desktop-nav a:after{display:none}
.nav-travel-marker{position:absolute;left:0;top:5px;height:32px;border-radius:999px;background:#f9f2e30c;border-bottom:1px solid var(--river-gold);pointer-events:none}
html[data-theme=light] .nav-travel-marker{background:#243f3812}
.has-header-motion .site-header .nav-contact{overflow:hidden}
.has-header-motion .site-header .nav-contact>span{display:block;line-height:20px;text-shadow:0 27px currentColor;transition:transform .46s cubic-bezier(.22,1,.36,1)}
.has-header-motion .site-header .nav-contact:hover>span,.has-header-motion .site-header .nav-contact:focus-visible>span{transform:translateY(-27px)}
.has-header-motion .site-header .nav-contact svg{transition:transform .46s cubic-bezier(.22,1,.36,1)}
.has-header-motion .site-header .nav-contact:hover svg,.has-header-motion .site-header .nav-contact:focus-visible svg{transform:translateX(2px) rotate(-8deg)}
.has-header-motion .site-header .wordmark b{transition:transform .4s cubic-bezier(.22,1,.36,1),color .3s}
.has-header-motion .site-header .wordmark:hover b{transform:translateY(-1px);color:var(--river-gold)}
.has-header-motion .site-header .menu-toggle i{transition:transform .42s cubic-bezier(.22,1,.36,1),opacity .2s}
.has-header-motion .site-header .menu-toggle:not([aria-expanded=true]):hover i:first-child{transform:translateX(3px)}
.has-header-motion .site-header .menu-toggle:not([aria-expanded=true]):hover i:nth-child(2){transform:translateX(-2px)}
.has-header-motion .site-header .menu-toggle:not([aria-expanded=true]):hover i:last-child{transform:translateX(2px)}
.has-header-motion .mobile-nav{overflow:hidden;transform-origin:50% 0}
.has-header-motion .mobile-nav a{transition:color .25s,background .25s,padding-left .35s}
.has-header-motion .mobile-nav a:hover,.has-header-motion .mobile-nav a:focus-visible{padding-left:24px;color:var(--river-gold)}
@media(min-width:1001px){
 .has-header-motion .site-header .desktop-nav{display:flex;overflow:hidden;max-width:var(--nav-open-width,420px);transition:max-width .6s cubic-bezier(.22,1,.36,1),margin-left .6s cubic-bezier(.22,1,.36,1),opacity .24s;opacity:1}
 .has-header-motion .site-header.is-compact .desktop-nav{max-width:0;margin-left:-8px;opacity:0;pointer-events:none}
 .has-header-motion .site-header .desktop-nav a{flex-shrink:0;transition:opacity .22s,transform .4s cubic-bezier(.22,1,.36,1),color .25s}
 .has-header-motion .site-header.is-compact .desktop-nav a{opacity:0;transform:translateY(-6px)}
 .has-header-motion .site-header:not(.is-compact) .desktop-nav a{opacity:1;transform:translateY(0);transition-delay:.08s}
 .has-header-motion .site-header:not(.is-compact) .desktop-nav a:nth-of-type(2){transition-delay:.12s}
 .has-header-motion .site-header:not(.is-compact) .desktop-nav a:nth-of-type(3){transition-delay:.16s}
 .has-header-motion .site-header:not(.is-compact) .desktop-nav a:nth-of-type(4){transition-delay:.2s}
 .has-header-motion .site-header .desktop-nav a:focus-visible{outline-offset:-3px}
 .has-header-motion .site-header .menu-toggle{display:block;width:0;padding-inline:0;margin-left:-8px;opacity:0;overflow:hidden;visibility:hidden;pointer-events:none;transition:width .6s cubic-bezier(.22,1,.36,1),padding .6s cubic-bezier(.22,1,.36,1),margin-left .6s cubic-bezier(.22,1,.36,1),opacity .2s,visibility 0s .6s}
 .has-header-motion .site-header.is-compact .menu-toggle{width:38px;padding-inline:10px;margin-left:0;opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s,0s,0s,.08s,0s}
}
@media(prefers-reduced-motion:reduce){
 .has-header-motion .site-header *,.has-header-motion .mobile-nav a{transition:none!important}
 .has-header-motion .site-header .nav-contact:hover>span,.has-header-motion .site-header .nav-contact:focus-visible>span,.has-header-motion .site-header .nav-contact:hover svg,.has-header-motion .site-header .nav-contact:focus-visible svg,.has-header-motion .site-header .wordmark:hover b{transform:none}
}

/* Compact editorial menu, aligned with the capsule above it. */
.has-header-motion .mobile-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 10px;left:var(--menu-left,16px);right:auto;top:var(--menu-top,76px);transform:none;width:min(360px,calc(100% - 32px));padding:14px;border-radius:24px;background:#101d30ed;border:1px solid #f9f2e326;backdrop-filter:blur(24px);box-shadow:inset 0 1px 0 #f9f2e30a,0 14px 38px #0004}
.has-header-motion .mobile-nav a{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:54px;padding:10px 12px;border:0;border-radius:10px;font:23px/28px var(--serif);color:var(--river-ink);transition:color .25s;overflow:hidden}
.has-header-motion .mobile-nav .menu-label{display:block;height:28px;overflow:hidden;white-space:nowrap}
.has-header-motion .mobile-nav .menu-label>span{display:block;line-height:28px;text-shadow:0 30px currentColor;transition:transform .45s cubic-bezier(.22,1,.36,1)}
.has-header-motion .mobile-nav a::before{content:'';position:absolute;left:12px;right:12px;bottom:3px;height:1px;background:var(--river-gold);opacity:.15;transform:scaleX(.18);transform-origin:left;transition:transform .45s cubic-bezier(.22,1,.36,1),opacity .3s}
.has-header-motion .mobile-nav a::after{content:'↗';flex-shrink:0;font:17px/1 var(--sans);color:var(--river-gold);opacity:.45;transform:translate(-3px,3px);transition:transform .4s cubic-bezier(.22,1,.36,1),opacity .3s}
.has-header-motion .mobile-nav a:hover,.has-header-motion .mobile-nav a:focus-visible{padding-left:12px;color:var(--river-gold)}
.has-header-motion .mobile-nav a:hover .menu-label>span,.has-header-motion .mobile-nav a:focus-visible .menu-label>span{transform:translateY(-30px)}
.has-header-motion .mobile-nav a:hover::before,.has-header-motion .mobile-nav a:focus-visible::before{opacity:.7;transform:scaleX(1)}
.has-header-motion .mobile-nav a:hover::after,.has-header-motion .mobile-nav a:focus-visible::after{opacity:1;transform:translate(0,0)}
.has-header-motion .mobile-nav a[aria-current=page]{color:var(--river-gold)}
.has-header-motion .mobile-nav a[aria-current=page]::before{opacity:1;transform:scaleX(.35)}
.has-header-motion .mobile-nav a[href="#process"]{grid-column:1/-1;min-height:48px}
.has-header-motion .mobile-nav a:last-child{grid-column:1/-1;min-height:52px;margin-top:8px;border-radius:999px;background:var(--river-gold);color:#101d30;font:14px/28px var(--sans);padding-inline:17px}
.has-header-motion .mobile-nav a:last-child::before{display:none}
.has-header-motion .mobile-nav a:last-child::after{color:inherit;opacity:1}
.has-header-motion .mobile-nav a:focus-visible{outline-offset:-3px}
html[data-theme=light].has-header-motion .mobile-nav{background:#f8f8f2f2;border-color:#243f3829;box-shadow:inset 0 1px 0 #fff,0 14px 38px #243f381a}
@media(max-width:400px){.has-header-motion .mobile-nav a{font-size:21px}}
@media(prefers-reduced-motion:reduce){
 .has-header-motion .mobile-nav .menu-label>span,.has-header-motion .mobile-nav a::before,.has-header-motion .mobile-nav a::after{transition:none}
 .has-header-motion .mobile-nav a:hover .menu-label>span,.has-header-motion .mobile-nav a:focus-visible .menu-label>span,.has-header-motion .mobile-nav a:hover::after,.has-header-motion .mobile-nav a:focus-visible::after{transform:none}
}

/* One surface grows from the existing capsule into its navigation. */
.has-unified-menu .site-header,.has-unified-menu .site-header.is-compact{isolation:isolate;background:transparent;border-color:transparent;box-shadow:none;backdrop-filter:none}
.header-menu-surface{position:absolute;z-index:-1;pointer-events:none;top:-1px;left:-1px;width:calc(100% + 2px);height:calc(100% + 2px);border:1px solid #f9f2e32e;border-radius:26px;background:#101e3cba;backdrop-filter:blur(24px);box-shadow:inset 0 0 0 4px #c6daff07,0 10px 34px #0005;transition:height .58s cubic-bezier(.22,1,.36,1),background .35s,box-shadow .35s}
.header-menu-open .header-menu-surface{height:var(--menu-surface-height,370px);background:#101d30f2;box-shadow:inset 0 1px 0 #f9f2e312,0 18px 42px #0005}
.has-unified-menu .mobile-nav{z-index:41;display:flex;flex-direction:column;gap:0;left:var(--menu-left,16px);top:var(--menu-top,76px);width:var(--menu-width,308px);padding:0 26px;background:transparent;border:0;border-radius:0;box-shadow:none;backdrop-filter:none}
.has-unified-menu .mobile-nav a,.has-unified-menu .mobile-nav a[href="#process"]{min-height:56px;padding:10px 17px;justify-content:flex-start;border-radius:0;font:27px/34px var(--serif);background:transparent;color:var(--river-ink)}
.has-unified-menu .mobile-nav .menu-label{height:34px}
.has-unified-menu .mobile-nav .menu-label>span{line-height:34px;text-shadow:0 38px currentColor}
.has-unified-menu .mobile-nav a:hover .menu-label>span,.has-unified-menu .mobile-nav a:focus-visible .menu-label>span{transform:translateY(-38px)}
.has-unified-menu .mobile-nav a::after{display:none}
.has-unified-menu .mobile-nav a::before{left:0;right:auto;top:calc(50% - 2px);bottom:auto;width:4px;height:4px;border-radius:50%;transform:none;opacity:0}
.has-unified-menu .mobile-nav a[aria-current=page]{color:var(--river-gold)}
.has-unified-menu .mobile-nav a[aria-current=page]::before{opacity:1;transform:none}
.has-unified-menu .mobile-nav a:hover,.has-unified-menu .mobile-nav a:focus-visible{padding-left:17px;color:var(--river-ink)}
.has-unified-menu .mobile-nav a[aria-current=page]:hover,.has-unified-menu .mobile-nav a[aria-current=page]:focus-visible{color:var(--river-gold)}
.has-unified-menu .mobile-nav a:not([aria-current=page]):hover::before,.has-unified-menu .mobile-nav a:not([aria-current=page]):focus-visible::before{opacity:0}
.has-unified-menu .mobile-nav a:last-child{display:none}
html[data-theme=light].has-unified-menu .site-header,html[data-theme=light].has-unified-menu .site-header.is-compact{background:transparent;border-color:transparent;box-shadow:none}
html[data-theme=light] .header-menu-surface{background:#f8f8f2dc;border-color:#243f3829;box-shadow:inset 0 0 0 4px #fffdf140,0 8px 30px #243f380d}
html[data-theme=light].header-menu-open .header-menu-surface{background:#f8f8f2f5}
html[data-theme=light].has-unified-menu .mobile-nav{background:transparent;border:0;box-shadow:none}
@media(max-width:760px){
 .has-unified-menu .site-header{transition:width .58s cubic-bezier(.22,1,.36,1)}
 .has-unified-menu.header-menu-open .site-header{width:calc(100% - 32px);max-width:none}
 .has-unified-menu.header-menu-open .site-header .wordmark{flex:0 0 94px}
 .has-unified-menu.header-menu-open .site-header .nav-contact{display:flex;height:32px;font-size:12px;padding:6px 10px;margin-left:auto}
 .has-unified-menu.header-menu-open .site-header .nav-contact svg{width:13px;height:13px}
 .has-unified-menu .scene-controls{transition:opacity .2s,visibility .2s}
 .has-unified-menu.header-menu-open .scene-controls{opacity:0;visibility:hidden;pointer-events:none}
 .has-unified-menu .header-menu-surface{border-radius:22px}
 .has-unified-menu .mobile-nav{padding-inline:24px}
}
@media(max-width:350px){.has-unified-menu.header-menu-open .site-header .wordmark{flex-basis:75px}.has-unified-menu.header-menu-open .site-header .nav-contact{font-size:11px;padding-inline:7px}}
@media(prefers-reduced-motion:reduce){
 .header-menu-surface,.has-unified-menu .site-header,.has-unified-menu .scene-controls{transition:none!important}
 .has-unified-menu .mobile-nav a:hover .menu-label>span,.has-unified-menu .mobile-nav a:focus-visible .menu-label>span{transform:none}
}

/* Navigation shares the sharp landscape; page content fades without reflow. */
.has-landscape-menu .site-header .menu-toggle{width:38px;padding-inline:10px;margin-left:0;opacity:1;visibility:visible;pointer-events:auto;transition:opacity .2s}
.has-landscape-menu.header-menu-open .site-header .desktop-nav{max-width:0;margin-left:-8px;opacity:0;pointer-events:none}
.has-landscape-menu .menu-page-content{transition:filter .4s cubic-bezier(.22,1,.36,1),visibility 0s}
.has-landscape-menu.header-menu-open .menu-page-content{filter:opacity(0);visibility:hidden;pointer-events:none;transition:filter .4s cubic-bezier(.22,1,.36,1),visibility 0s .4s}
.landscape-menu-veil{position:fixed;inset:0;z-index:35;pointer-events:none;opacity:0;background:linear-gradient(90deg,#08152355,#08152326 55%,transparent 90%);transition:opacity .5s cubic-bezier(.22,1,.36,1)}
.header-menu-open .landscape-menu-veil{opacity:1}
html[data-theme=light] .landscape-menu-veil{background:linear-gradient(90deg,#f2f4e955,#f2f4e926 55%,transparent 90%)}
.has-landscape-menu .mobile-nav{display:flex;flex-direction:column;gap:4px;left:var(--menu-left,16px);top:var(--menu-top,80px);width:var(--menu-width,350px);padding:8px 12px 12px;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;max-height:calc(100svh - var(--menu-top,80px) - 20px);overflow:auto;overscroll-behavior:contain}
.has-landscape-menu .mobile-nav::before{content:'';position:absolute;left:23px;top:8px;bottom:24px;width:1px;background:linear-gradient(transparent,#c9a84a26 12%,#c9a84a26 85%,transparent);pointer-events:none}
.has-landscape-menu .mobile-nav a,.has-landscape-menu .mobile-nav a[href="#process"]{flex-shrink:0;min-height:61px;padding:8px 18px 8px 40px;justify-content:flex-start;border-radius:0;font:38px/48px var(--serif);background:transparent;color:var(--river-ink)}
.has-landscape-menu .mobile-nav a::before,.has-landscape-menu .mobile-nav a::after{display:none}
.has-landscape-menu .mobile-nav a:hover,.has-landscape-menu .mobile-nav a:focus-visible{padding-left:40px;color:var(--river-gold)}
.has-landscape-menu .mobile-nav .menu-label{height:48px;line-height:48px}
.has-landscape-menu .mobile-nav .menu-label>span{line-height:48px;text-shadow:none}
.has-landscape-menu .mobile-nav a:hover .menu-label>span,.has-landscape-menu .mobile-nav a:focus-visible .menu-label>span{transform:translateX(5px)}
.has-landscape-menu .mobile-nav a[aria-current=page]{color:var(--river-gold)}
.has-landscape-menu .mobile-nav a:last-child{margin-top:11px;min-height:35px;font:14px/24px var(--sans);color:var(--river-muted);padding:8px 18px 8px 40px;background:transparent;border-radius:0}
.has-landscape-menu .mobile-nav a:last-child .menu-label,.has-landscape-menu .mobile-nav a:last-child .menu-label>span{height:24px;line-height:24px}
.landscape-menu-marker{position:absolute;left:14px;top:0;width:19px;height:1px;background:var(--river-gold);transform:translateY(var(--landscape-marker-y,37px));transition:transform .48s cubic-bezier(.22,1,.36,1),opacity .25s;pointer-events:none}
html[data-theme=light].has-landscape-menu .mobile-nav{background:transparent;border:0;box-shadow:none}
@media(max-width:760px){.has-landscape-menu .site-header .menu-toggle{width:28px;padding:5px}.has-landscape-menu .mobile-nav a,.has-landscape-menu .mobile-nav a[href="#process"]{min-height:55px;font-size:32px}.has-landscape-menu .mobile-nav .menu-label,.has-landscape-menu .mobile-nav .menu-label>span{height:41px;line-height:41px}.has-landscape-menu .mobile-nav a:last-child{font-size:14px}}
@media(prefers-reduced-motion:reduce){.has-landscape-menu .menu-page-content,.landscape-menu-veil,.landscape-menu-marker{transition:none!important}.has-landscape-menu .mobile-nav a:hover .menu-label>span,.has-landscape-menu .mobile-nav a:focus-visible .menu-label>span{transform:none}}

/* Keep the page in view and give moving labels room for their last letter. */
.has-landscape-menu.header-menu-open .menu-page-content{filter:opacity(.28);visibility:visible;transition:filter .4s cubic-bezier(.22,1,.36,1)}
.has-landscape-menu .mobile-nav .menu-label{padding-right:12px}
.has-landscape-menu :is(.hero h1,.hero .rotating-words){transition:filter .4s cubic-bezier(.22,1,.36,1)}
.has-landscape-menu.header-menu-open :is(.hero h1,.hero .rotating-words){filter:opacity(.2)}
/* The three menu lines settle into a quiet close stroke. */
.has-landscape-menu .site-header .menu-toggle[aria-expanded=true] i:first-child{transform:translateY(5px);background:var(--river-gold)}
.has-landscape-menu .site-header .menu-toggle[aria-expanded=true] i:nth-child(2){opacity:0;transform:none}
.has-landscape-menu .site-header .menu-toggle[aria-expanded=true] i:last-child{transform:translateY(-5px);background:var(--river-gold)}

/* The underline stays straight while the soft pill travels between links. */
.nav-travel-marker{border-bottom:0;top:1px;height:calc(100% - 2px)}
.nav-travel-marker::after{content:'';position:absolute;left:14px;right:14px;bottom:0;height:1px;background:var(--river-gold)}

/* Anchor stops account for the space inside each section, without moving the scene. */
#about,#services,#work,#process{scroll-margin-top:-48px}
#pricing{scroll-margin-top:-90px}
@media(max-width:760px){#about,#services,#work,#process{scroll-margin-top:-32px}#pricing{scroll-margin-top:-60px}}

/* Five direct links on wide screens; the menu takes over as the capsule contracts. */
@media(min-width:1001px){
 .has-landscape-menu .site-header .desktop-nav a:nth-of-type(5){transition-delay:.24s}
 .has-landscape-menu .site-header .menu-toggle{width:0;padding-inline:0;margin-left:-8px;opacity:0;overflow:hidden;visibility:hidden;pointer-events:none;transition:width .6s cubic-bezier(.22,1,.36,1),padding .6s cubic-bezier(.22,1,.36,1),margin-left .6s cubic-bezier(.22,1,.36,1),opacity .2s,visibility 0s .6s}
 .has-landscape-menu .site-header.is-compact .menu-toggle,.has-landscape-menu.header-menu-open .site-header .menu-toggle{width:38px;padding-inline:10px;margin-left:0;opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s,0s,0s,.08s,0s}
}
/* Continue a little farther into each section when following its link. */
#services,#work,#process{scroll-margin-top:-112px}
#pricing{scroll-margin-top:-160px}
@media(max-width:760px){#services,#work,#process{scroll-margin-top:-80px}#pricing{scroll-margin-top:-108px}}

/* Approved open player: the record and controls sit directly on the sky. */
.hero .music-player,.hero .music-player:hover{
 --player-ink:#f8f2df;--player-muted:#c0cada;--player-track:#c0cada66;
 width:340px;height:108px;max-width:100%;padding:0;gap:19px;
 background:transparent;border:0;border-radius:0;box-shadow:none;backdrop-filter:none;
 color:var(--player-ink);transform:none;
}
.hero .music-player .vinyl{width:79px;height:79px;border:2px solid #ece6d3;box-shadow:0 2px 7px #0005;background:repeating-radial-gradient(circle,#141a22 0 1px,#343942 1px 1.7px,#141a22 1.7px 3px)}
.hero .music-player .vinyl span{width:20px;height:20px;background:#cfad52;box-shadow:inset 0 1px 2px #fff7}
.hero .music-player .vinyl span:after{left:8px;top:8px;width:4px;height:4px}
.hero .music-player .player-top{margin-bottom:4px}
.hero .music-player .player-label{font-size:6.5px;letter-spacing:1.2px;color:var(--player-muted)}
.hero .music-player .player-label>i{width:4px;height:4px;background:#cfad52}
.hero .music-player .track-name{font-size:13px;line-height:20px;font-weight:500;white-space:nowrap}
.hero .music-player .player-progress{font-size:8px;line-height:14px;color:var(--player-muted);gap:7px;margin-top:3px}
.hero .music-player .player-seek{height:2px;background:linear-gradient(to right,#cfad52 var(--seek-progress,0%),var(--player-track) var(--seek-progress,0%))}
.hero .music-player .player-seek::-webkit-slider-thumb{width:7px;height:7px;background:#cfad52;border:1px solid #f8e2a4}
.hero .music-player .player-seek::-moz-range-thumb{width:7px;height:7px;background:#cfad52;border:1px solid #f8e2a4}
.hero .music-player .player-buttons{justify-content:flex-start;gap:16px;margin-top:5px}
.hero .music-player .player-buttons button{width:36px;height:36px;color:var(--player-ink);transition:color .2s,transform .25s}
.hero .music-player .player-buttons svg{width:15px;height:15px}
.hero .music-player .player-buttons button:hover{transform:translateY(-2px);color:#cfad52}
.hero .music-player .player-buttons .play-button{width:34px;height:34px;background:#cfad52;color:#11203b;border:1px solid #cfad52;border-radius:50%;box-shadow:none;font-size:12px}
.hero .music-player .player-buttons .play-button:is(:hover,:focus-visible){background:#e1c16d;color:#11203b}
.hero .music-player .play-icon{font-family:var(--sans);line-height:1}
html[data-theme=light] .hero .music-player,html[data-theme=light] .hero .music-player:hover{--player-ink:#182e2c;--player-muted:#536860;--player-track:#53686066;background:transparent;color:var(--player-ink);box-shadow:none}
@media(max-width:760px){
 .hero .music-player,.hero .music-player:hover{width:312px;height:104px;gap:16px}
 .hero .music-player .vinyl{width:72px;height:72px}
 .hero .music-player .track-name{font-size:12px}
 .hero .music-player .player-label{font-size:6px;letter-spacing:1px}
}
@media(prefers-reduced-motion:reduce){.hero .music-player .player-buttons button{transition:none}.hero .music-player .player-buttons button:hover{transform:none}}

/* Keep the approved serif composition; give the type a little more breathing room. */
.hero h1{letter-spacing:-.035em;line-height:1.05}
.hero .hero-row{align-items:center;margin-top:8px}
.hero h1>.phrase-top{display:inline-block;min-width:5.8em;white-space:nowrap;vertical-align:baseline}
.hero .rotating-words{letter-spacing:-.025em;line-height:1.08;height:1.08em;font-size:clamp(48px,3.8vw,60px)}
.hero-content.phrase-changing :is(.phrase-top,.phrase-bottom){opacity:0;transform:translateY(-6px)}
.hero-content :is(.phrase-top,.phrase-bottom){color:var(--accent);transition:opacity .18s,transform .3s}
@media(min-width:761px){.hyperframes-motion .hero-content :is(.phrase-top,.phrase-bottom){transition:none}}
.hero-content .word-group,.hero-content .hero-letter,.hero-content .hero-glyph{display:inline-block}
.hero-content .word-group{white-space:nowrap}
.has-motion .hero-content .hero-letter{animation:none}
.hero-content .hero-glyph{color:var(--letter-color,inherit);transform:translateY(var(--letter-lift,0px)) rotate(var(--letter-turn,0deg)) scale(var(--letter-scale,1));transform-origin:50% 75%;transition:color .28s,transform .48s cubic-bezier(.22,1.4,.36,1)}
@media(hover:hover) and (pointer:fine){
 .hero-content .hero-letter:hover>.hero-glyph{color:var(--letter-color,var(--accent));transform:translateY(var(--letter-lift,-3px)) rotate(var(--letter-turn,0deg)) scale(var(--letter-scale,1.12))}
 .hero-content :is(.phrase-top,.phrase-bottom) .hero-letter:hover>.hero-glyph{color:var(--letter-color,var(--text))}
}
@media(max-width:760px){
 .hero h1{letter-spacing:-.032em;line-height:1.07}
 .hero .hero-row{align-items:flex-start;margin-top:6px;gap:24px}
 .hero h1{white-space:normal}
 .hero h1>.phrase-top{min-width:0;white-space:normal}
 .hero .rotating-words{height:1.1em;min-height:0;line-height:1.1;font-size:clamp(34px,8.6vw,43px)}
}
@media(max-width:350px){.hero h1{font-size:34px}}
@media(prefers-reduced-motion:reduce){
 .hero-content .hero-glyph,.hero-content :is(.phrase-top,.phrase-bottom){transition:none}
 .hero-content .hero-glyph,.hero-content .hero-letter:hover>.hero-glyph{transform:none}
}

/* Optical spacing for the original desktop composition. */
@media(min-width:761px){
 .hero h1{line-height:1.02}
 .hero .hero-row{margin-top:16px}
 .hero .rotating-words{min-height:0;letter-spacing:-.035em}
}


/* Approved cove landscape, grounded forest and continuous water palette. */
.nature-landscape,.nature-sky{display:none}
.cove-landscape{display:none}
html[data-nature=bay] .cove-landscape,html[data-nature=bay] .nature-sky{display:block}
html[data-nature=bay] .night-scenery>.scene-far,
html[data-nature=bay] .night-scenery>.scene-middle,
html[data-nature=bay] .night-scenery>.lake-surface,
html[data-nature=bay] .night-scenery>.lake-reflections,
html[data-nature=bay] .night-scenery>.scene-near,
html[data-nature=bay] .night-scenery>.scene-fireflies{visibility:hidden}
html[data-nature=bay] .sky-wash{background:radial-gradient(ellipse at 88% 17%,#91a3b11a,transparent 35%),radial-gradient(ellipse at 30% 85%,#245b6225,transparent 65%),linear-gradient(0deg,#16364433,transparent 60%)}
html[data-nature=bay] .moon-position:before{inset:-110%;background:radial-gradient(circle,#dddbaf12,transparent 68%);animation:none}
.cove-tree,.cove-reed{transform-box:fill-box;transform-origin:50% 100%;animation:nature-tree-breath var(--tree-duration) ease-in-out infinite alternate;animation-delay:var(--tree-delay)}
.cove-glint{transform-box:fill-box;transform-origin:center;animation:nature-water-glint var(--ripple-duration) ease-in-out infinite alternate;animation-delay:var(--ripple-delay)}
html[data-nature=bay]:not([data-theme=light]){--river-water:#142d3e;--river-edge:#31545d}
html[data-nature=bay]:not([data-theme=light]) .river-tone-end{stop-color:#142d3e}
html[data-nature=bay]:not([data-theme=light]) .journey-hill{fill:url(#journey-hill-depth)}
html[data-nature=bay]:not([data-theme=light]) .journey-hill-far{stop-color:#1c3a47}
html[data-nature=bay]:not([data-theme=light]) .journey-hill-near{stop-color:#102535}
html[data-nature=bay]:not([data-theme=light]) .journey-pine{fill:#193846}
html[data-nature=bay]:not([data-theme=light]) .journey-pine[data-depth=far]{fill:#244452}
html[data-nature=bay]:not([data-theme=light]) .journey-stone{fill:#253d4b}
.nature-stone-facet{fill:none;stroke:#6c8991;stroke-width:.7;opacity:.4}
.nature-bank-reed{fill:none;stroke:#365259;stroke-width:1.1}
.nature-tree-contact{fill:#061b27;opacity:.5}
.cove-window{animation:cove-window-warmth 11s ease-in-out infinite alternate}
@keyframes cove-window-warmth{from{opacity:.86}to{opacity:1}}
.nature-sky{position:absolute;inset:0;z-index:1;width:100%;height:100%;pointer-events:none}
.nature-cloud{animation:nature-cloud-drift 42s ease-in-out infinite alternate;transform-origin:center}
.nature-cloud-front{animation-duration:57s;animation-delay:-28s}
.nature-tree{transform-box:fill-box;transform-origin:50% 100%;animation:nature-tree-breath var(--tree-duration) ease-in-out infinite alternate;animation-delay:var(--tree-delay)}
.nature-mist{animation:nature-mist-drift 38s ease-in-out infinite alternate}
.nature-glint{transform-box:fill-box;transform-origin:center;animation:nature-water-glint var(--ripple-duration) ease-in-out infinite alternate;animation-delay:var(--ripple-delay)}

html[data-theme=light] .nature-sky{display:none}
@keyframes nature-cloud-drift{from{transform:translateX(-15px)}to{transform:translateX(16px)}}
@keyframes nature-tree-breath{from{transform:skewX(-.35deg)}to{transform:skewX(.65deg)}}
@keyframes nature-mist-drift{from{transform:translateX(-7px);opacity:.6}to{transform:translateX(9px);opacity:1}}
@keyframes nature-water-glint{from{transform:translateX(-2px) scaleX(.87);opacity:.28}to{transform:translateX(3px) scaleX(1.13);opacity:.8}}

@media(prefers-reduced-motion:reduce){.nature-cloud,.cove-tree,.cove-reed,.cove-glint,.cove-window{animation:none!important}}

/* A single shoreline boundary; reflections do not repaint separate transforms. */
html[data-nature=bay] .living-landscape{bottom:0;isolation:isolate}
html[data-nature=bay] .cove-glint{animation:none}
.cove-shimmer-band{animation:cove-shimmer-breathe 12s ease-in-out infinite alternate;animation-delay:var(--band-phase,0s)}
@keyframes cove-shimmer-breathe{from{opacity:.56}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.cove-shimmer-band{animation:none}}

/* Preserve the pre-cove sailing paint load at the first river bend.
   Pausing retains each plant/cloud's phase; resuming never resets its position. */
.hero.cove-travelling :is(.cove-tree,.cove-reed,.cove-shimmer-band,.cove-window,.nature-cloud){animation-play-state:paused!important}

/* Continuous static water/ground; the animated artwork has a small surface. */
html[data-nature=bay] .hero{isolation:auto}
/* The hero shares the river's stack now; negative sky layers would fall
   behind its opaque background instead of staying above it. */
html[data-nature=bay] .hero .sky-wash{z-index:0}
html[data-nature=bay] .hero #sky,
html[data-nature=bay] .hero .moon-position{z-index:1}
html[data-nature=bay] .living-landscape{z-index:3}
.cove-water-plane{display:none}
.cove-world-shores{opacity:1;visibility:visible;transition:opacity 1.4s ease,visibility 0s}
html[data-theme=light] .cove-world-shores{opacity:0;visibility:hidden;transition:opacity 1.4s ease,visibility 0s 1.4s}
html[data-nature=bay]:not([data-theme=light]) .river-water{stroke:none}

/* The approved cove has one geometry in both themes. Daylight changes paint only. */
html[data-nature=bay][data-theme=light]{
 --bg:#ceddb8;--text:#21382b;--muted:#465e47;--accent:#70591e;
 --river-bg:#ceddb8;--river-ink:#21382b;--river-muted:#465e47;
 --river-gold:#70591e;--river-rule:#344b322e;--river-water:#88ad9a;
 --river-edge:#b6cbb0;--river-bank:#c3d3ad;--nav:#e8eedbcc;
}
html[data-nature=bay][data-theme=light] .hero{
 --scene-main:#e4ebd8;--scene-top:#e4ebd8;--scene-bottom:#bfd2b9;
 --accent:#70591e;background:#e4ebd8;
}
html[data-nature=bay][data-theme=light] .hero .sky-wash{
 visibility:visible;
 background:radial-gradient(ellipse at 88% 17%,#fae9b94d,transparent 42%),
 linear-gradient(0deg,#b9ceb8 0%,#d3dfc9 28%,#e4ebd8 64%);
}
html[data-nature=bay][data-theme=light] .sky-wash:before{background:none;animation:none}
html[data-nature=bay][data-theme=light] .hero #sky{opacity:0}
html[data-nature=bay][data-theme=light][data-scene=ready] .living-landscape{visibility:visible}
html[data-nature=bay][data-theme=light] .night-scenery{opacity:1;visibility:visible;transition:none}
html[data-nature=bay][data-theme=light] .cove-world-shores{opacity:1;visibility:visible;transition:none}
html[data-nature=bay][data-theme=light] .river-water{stroke:none}
html[data-nature=bay][data-theme=light] .river-cove-horizon{stop-color:#acc7b1}
html[data-nature=bay][data-theme=light] .river-cove-mid{stop-color:#92b5a0}
html[data-nature=bay][data-theme=light] .river-tone-end{stop-color:#88ad9a}
html[data-nature=bay][data-theme=light] .nature-sky{display:block}
html[data-nature=bay][data-theme=light] #nature-cloud stop{stop-color:#fff7dd}
html[data-nature=bay][data-theme=light] #nature-cloud stop:nth-child(2){stop-opacity:.5}
html[data-nature=bay][data-theme=light] .moon-position:before{background:radial-gradient(circle,#f5df9633,transparent 68%)}
html[data-nature=bay][data-theme=light] .moon{background:linear-gradient(130deg,#f8e3a0,#e7c970)}
html[data-nature=bay][data-theme=light] .moon-clouds{fill:#fff7dd}

/* Existing SVG paint swatches are shared by repeated trees, timber and reeds. */
html[data-nature=bay][data-theme=light] :is(.cove-near-left,.cove-near-right){fill:var(--river-bg)}
html[data-nature=bay][data-theme=light] .cove-landscape [fill="#1b3546"]{fill:#a4bc94}
html[data-nature=bay][data-theme=light] .cove-landscape [fill="#102938"]{fill:#7f9c70}
html[data-nature=bay][data-theme=light] .cove-far-shore{fill:#6e8b5c}
html[data-nature=bay][data-theme=light] .cove-landscape [fill="#214454"]{fill:#527b59}
html[data-nature=bay][data-theme=light] .cove-landscape [fill="#173747"]{fill:#3e684c}
html[data-nature=bay][data-theme=light] .cove-landscape [fill="#295061"]{fill:#668862}
html[data-nature=bay][data-theme=light] .cove-landscape [fill="#1b3d4b"]{fill:#4b7353}
html[data-nature=bay][data-theme=light] .cove-landscape [fill="#436573"]{fill:#b5c897;opacity:.38}
html[data-nature=bay][data-theme=light] .cove-landscape [stroke="#203945"]{stroke:#6c7853}
html[data-nature=bay][data-theme=light] .cove-landscape [fill="#152b3c"]{fill:#8fa27c}
html[data-nature=bay][data-theme=light] .cove-landscape [stroke="#405164"]{stroke:#c1ccb1}
html[data-nature=bay][data-theme=light] .cove-landscape [fill="#1a3942"]{fill:#547b4e}
html[data-nature=bay][data-theme=light] .cove-landscape [stroke="#22434a"]{stroke:#668553}
html[data-nature=bay][data-theme=light] .cove-landscape [stroke="#827d50"]{stroke:#8b814b}
html[data-nature=bay][data-theme=light] .cove-landscape [fill="#c4ad62"]{fill:#b69a48}
html[data-nature=bay][data-theme=light] .cove-landscape [stroke="#88b9be"]{stroke:#e4efdc}
html[data-nature=bay][data-theme=light] .cove-landscape :is([fill="#f0dfa3"],[fill="#b9ad72"]){fill:#edf1d6}
html[data-nature=bay][data-theme=light] .cove-landscape [fill="#dbbf70"]{fill:#b1c89b;opacity:.4}
html[data-nature=bay][data-theme=light] .cove-cottage [fill="url(#cove-lamp)"]{opacity:0}
html[data-nature=bay][data-theme=light] .cove-cottage [fill="#071a25"]{fill:#66815c}
html[data-nature=bay][data-theme=light] .cove-cottage [fill="#1b3540"]{fill:#b6a57a}
html[data-nature=bay][data-theme=light] .cove-cottage [fill="#102733"]{fill:#a39168}
html[data-nature=bay][data-theme=light] .cove-cottage [fill="#405862"]{fill:#79856c}
html[data-nature=bay][data-theme=light] .cove-cottage [fill="#203c4b"]{fill:#56694e}
html[data-nature=bay][data-theme=light] .cove-cottage [fill="#314b56"]{fill:#67775a}
html[data-nature=bay][data-theme=light] .cove-cottage [fill="#6b7b7d"]{fill:#a2ae87}
html[data-nature=bay][data-theme=light] .cove-cottage [fill="#917953"]{fill:#8d754b}
html[data-nature=bay][data-theme=light] .cove-window{fill:#bbd6c0;animation:none;opacity:1}
html[data-nature=bay][data-theme=light] .cove-cottage [fill="#091e28"]{fill:#665c43}
html[data-nature=bay][data-theme=light] .cove-cottage [fill="#0b2230"]{fill:#8f9c78}
html[data-nature=bay][data-theme=light] .cove-cottage [fill="#6c7162"]{fill:#a1ab85}

/* Continue the same forest palette along the river and into the dock. */
html[data-nature=bay][data-theme=light] .journey-hill-far{stop-color:#b0c495}
html[data-nature=bay][data-theme=light] .journey-hill-near{stop-color:#96b17f}
html[data-nature=bay][data-theme=light] .journey-pine{fill:#466d4c}
html[data-nature=bay][data-theme=light] .river-land .journey-pine[data-depth=far]{fill:#6a8860}
html[data-nature=bay][data-theme=light] .journey-stone{fill:#8a9d7b}
html[data-nature=bay][data-theme=light] .nature-stone-facet{stroke:#c2cdb2}
html[data-nature=bay][data-theme=light] .nature-bank-reed{stroke:#65824f}
html[data-nature=bay][data-theme=light] .nature-tree-contact{fill:#6f875b;opacity:.35}
html[data-nature=bay][data-theme=light] .journey-reflection{stroke:#deead1;opacity:.6}
html[data-nature=bay][data-theme=light] .journey-glint{fill:#d9e1b5;opacity:.6}
html[data-nature=bay][data-theme=light] .journey-ripples{stroke:#e6edcf;opacity:.55}
html[data-nature=bay][data-theme=light] .journey-boat .sailboat>path:first-child{stroke:#4f7059}

/* Accent text shares the warm gold of the sails and buttons. */
html[data-nature=bay][data-theme=light] :is(.hero h1,.rotating-words){color:var(--river-ink)}
html[data-nature=bay][data-theme=light] .rotating-words .phrase-bottom{color:var(--river-gold)}
html[data-nature=bay][data-theme=light] .hero .music-player{--player-ink:#21382b;--player-muted:#4f6651;--player-track:#4f665166}
html[data-nature=bay][data-theme=light] :is(.site-header,.scene-controls){background:#e8eedbce;border-color:#4254382b;color:#21382b}
html[data-nature=bay][data-theme=light] .scene-controls button[aria-pressed=true]{background:#cdd9b9}
html[data-nature=bay][data-theme=light] .pricing-cta{background:#c5a652;color:#21382b}
html[data-nature=bay][data-theme=light] .pricing-cta:hover{background:#d3b965}

/* Atmospheric depth is painted in the small hero SVG, never in the long river. */
/* Daylight additions must leave the approved night composition untouched. */
html:not([data-theme=light]) :is(.cove-horizon-far,.cove-horizon-mid,.cove-grove,.cove-low-mist,.cove-water-lustre,.cove-water-lines,.cove-meadow-floor,.cove-plant-breath,.cove-flower-clump,.cove-bird-flight){display:none}
.cove-horizon-far{fill:#2b4855;opacity:.58}
.cove-horizon-mid{fill:#21434c;opacity:.7}
.cove-grove-leaf{fill:#294b46}
.cove-grove-light{fill:#526751;opacity:.4}
.cove-grove-trunk{fill:none;stroke:#223b38;stroke-width:1.6;stroke-linecap:round}
.cove-grove-ground{fill:#0a2630;opacity:.3}
.cove-haze-tone{stop-color:#829f9c}
.cove-low-mist{animation:cove-mist-breathe 24s ease-in-out infinite alternate;opacity:.5}
.cove-water-light-tone{stop-color:#8cb0a4}
.cove-water-lustre{animation:cove-lustre-breathe 19s ease-in-out infinite alternate}
.cove-water-lines{stroke:#aac4be;stroke-width:.7;opacity:.13}
.cove-fern-stem{fill:none;stroke:#415c4c;stroke-width:1.1;stroke-linecap:round}
.cove-fern-leaf{fill:#2c514b}
.cove-meadow-floor{fill:#365849;opacity:.25}
.cove-flower-petals{fill:#c4c6a4;opacity:.55}
.cove-flower-center{fill:#b39c55}
.cove-plant-breath>g{transform-box:fill-box;transform-origin:50% 100%;animation:cove-fern-breathe 13s ease-in-out infinite alternate;animation-delay:var(--plant-phase,0s)}
.cove-bird-flight{display:none}
.cove-bird-wing{fill:#3c5941;transform-box:fill-box;transform-origin:center;animation:cove-bird-wing 1.8s ease-in-out infinite alternate}
html[data-nature=bay][data-theme=light] .cove-horizon-far{fill:#9db694;opacity:.58}
html[data-nature=bay][data-theme=light] .cove-horizon-mid{fill:#809e70;opacity:.64}
html[data-nature=bay][data-theme=light] .cove-grove-leaf{fill:#748b4f}
html[data-nature=bay][data-theme=light] .cove-grove-light{fill:#bac279;opacity:.46}
html[data-nature=bay][data-theme=light] .cove-grove-trunk{stroke:#637148}
html[data-nature=bay][data-theme=light] .cove-grove-ground{fill:#506d43;opacity:.23}
html[data-nature=bay][data-theme=light] .cove-haze-tone{stop-color:#edf1d9}
html[data-nature=bay][data-theme=light] .cove-water-light-tone{stop-color:#e8eed3}
html[data-nature=bay][data-theme=light] .cove-water-lines{stroke:#e7eed3;opacity:.26}
html[data-nature=bay][data-theme=light] .cove-fern-stem{stroke:#6c7a49}
html[data-nature=bay][data-theme=light] .cove-fern-leaf{fill:#5c7740}
html[data-nature=bay][data-theme=light] .cove-meadow-floor{fill:#8ca761;opacity:.3}
html[data-nature=bay][data-theme=light] .cove-flower-petals{fill:#f3eac5;opacity:1}
html[data-nature=bay][data-theme=light] .cove-flower-center{fill:#b89b3f}
html[data-nature=bay][data-theme=light] .cove-bird-flight{display:block;animation:cove-bird-pass 46s linear infinite;animation-delay:-3s}
@keyframes cove-mist-breathe{from{opacity:.36}to{opacity:.78}}
@keyframes cove-lustre-breathe{from{opacity:.45}to{opacity:.85}}
@keyframes cove-fern-breathe{from{transform:skewX(-1deg)}to{transform:skewX(1.6deg)}}
@keyframes cove-bird-wing{from{transform:scaleY(.7)}to{transform:scaleY(1.15)}}
@keyframes cove-bird-pass{0%{transform:translate(-35px,9px);opacity:0}3%{opacity:.6}24%{transform:translate(172px,-22px);opacity:.6}28%,100%{transform:translate(205px,-26px);opacity:0}}
/* Retain animation phases while travelling, then resume once the boat settles. */
.hero.cove-travelling :is(.cove-low-mist,.cove-water-lustre,.cove-plant-breath>g,.cove-bird-flight,.cove-bird-wing){animation-play-state:paused!important}
@media(max-width:760px){.cove-horizon-far{opacity:.42}.cove-water-lines{opacity:.1}}
@media(prefers-reduced-motion:reduce){
 .cove-low-mist,.cove-water-lustre,.cove-plant-breath>g,.cove-bird-flight,.cove-bird-wing{animation:none!important}
 html[data-nature=bay][data-theme=light] .cove-bird-flight{opacity:.45}
}

/* Daylight taiga palette from the user's sage, conifer and earth references. */
html[data-nature=bay][data-theme=light]{
 --day-sky:#bfc8bd;--day-horizon:#c1c7b8;--day-ground:#b7bdaf;
 --day-water:#657d6f;--day-forest:#3d584a;--day-forest-light:#657d6f;
 --day-hill:#889783;--day-hill-far:#9ca099;--day-mist:#ccd0c1;
 --day-stone:#746a5d;--day-wood:#755d51;--day-moss:#586e44;
 --day-gold:#9c782e;--day-gold-paint:#c4a565;
 --bg:var(--day-ground);--river-bg:var(--day-ground);--river-bank:var(--day-ground);
 --river-water:var(--day-water);--river-edge:#9ca099;
 --text:#263b31;--river-ink:#263b31;--muted:#3b4f43;--river-muted:#3b4f43;
 --accent:var(--day-gold);--river-gold:var(--day-gold);--river-rule:#344d402e;
 --nav:#c7ccbed9;
}
html[data-nature=bay][data-theme=light] .hero{
 --scene-main:var(--day-sky);--scene-top:var(--day-sky);--scene-bottom:var(--day-ground);
 --accent:var(--day-gold);background:var(--scene-main);
}
html[data-nature=bay][data-theme=light] .hero .sky-wash{
 background:radial-gradient(ellipse at 88% 17%,#cfb88218,transparent 43%),
 linear-gradient(0deg,var(--day-ground) 0%,var(--day-horizon) 29%,var(--day-sky) 86%);
}
html[data-nature=bay][data-theme=light] .hero .music-player{
 --player-ink:var(--river-ink);--player-muted:var(--river-muted);--player-track:#3b4f4366;
}
html[data-nature=bay][data-theme=light] .hero .music-player :is(.vinyl span,.player-label>i){background:var(--day-gold-paint)}
html[data-nature=bay][data-theme=light] .hero .music-player .player-seek{background:linear-gradient(to right,var(--day-gold-paint) var(--seek-progress,0%),var(--player-track) var(--seek-progress,0%))}
html[data-nature=bay][data-theme=light] .hero .music-player .player-seek::-webkit-slider-thumb{background:var(--day-gold-paint);border-color:#dbc18b}
html[data-nature=bay][data-theme=light] .hero .music-player .player-seek::-moz-range-thumb{background:var(--day-gold-paint);border-color:#dbc18b}
html[data-nature=bay][data-theme=light] .hero .music-player .player-buttons .play-button{background:var(--day-gold-paint);border-color:var(--day-gold-paint);color:var(--river-ink)}
html[data-nature=bay][data-theme=light] .hero .music-player .player-buttons .play-button:is(:hover,:focus-visible){background:#d0b77e;color:var(--river-ink)}
html[data-nature=bay][data-theme=light] :is(.site-header,.scene-controls){
 background:var(--nav);border-color:#344d402b;color:var(--river-ink);
}
html[data-nature=bay][data-theme=light] .header-menu-surface{
 background:#c7ccbedf;border-color:#344d4029;
 box-shadow:inset 0 0 0 4px #d9dccf40,0 8px 30px #263b310d;
}
html[data-nature=bay][data-theme=light].header-menu-open .header-menu-surface{background:#c7ccbef5}
html[data-nature=bay][data-theme=light] .scene-controls button{color:var(--river-muted)}
html[data-nature=bay][data-theme=light] .scene-controls button[aria-pressed=true]{background:#adb7a5;color:var(--river-ink)}
html[data-nature=bay][data-theme=light] .pricing-cta{background:var(--day-gold-paint);color:var(--river-ink)}
html[data-nature=bay][data-theme=light] .pricing-cta:hover{background:#d0b77e}
html.native-dock[data-nature=bay][data-theme=light] .river-form .primary-button{background:linear-gradient(120deg,#cdb47b,var(--day-gold-paint));color:var(--river-ink)}
html.native-dock[data-nature=bay][data-theme=light] .river-form .primary-button:hover{background:linear-gradient(120deg,#d9c48f,#cdb47b)}
html[data-nature=bay][data-theme=light] .moon{
 background:radial-gradient(circle at 32% 27%,#dbc18b 0%,#ccb177 45%,var(--day-gold-paint) 100%);
 filter:drop-shadow(0 0 24px #cfb88220);box-shadow:inset 0 0 16px #eee0b822;
}
html[data-nature=bay][data-theme=light] .moon-position:before{background:radial-gradient(circle,#cfb88218,transparent 68%)}
html[data-nature=bay][data-theme=light] #nature-cloud stop{stop-color:#d7d7c8}
html[data-nature=bay][data-theme=light] .moon-clouds{fill:#d7d7c8}
html[data-nature=bay][data-theme=light] .river-cove-horizon{stop-color:#99aa99}
html[data-nature=bay][data-theme=light] .river-cove-mid{stop-color:#7c9380}
html[data-nature=bay][data-theme=light] .river-tone-end{stop-color:var(--river-water)}
html[data-nature=bay][data-theme=light] .cove-horizon-far{fill:#9ca099;opacity:.5}
html[data-nature=bay][data-theme=light] .cove-horizon-mid{fill:#657d6f;opacity:.62}
html[data-nature=bay][data-theme=light] .cove-grove-leaf{fill:var(--day-forest)}
html[data-nature=bay][data-theme=light] .cove-grove-light{fill:#8aa079;opacity:.5}
html[data-nature=bay][data-theme=light] .cove-grove-trunk{stroke:#526550}
html[data-nature=bay][data-theme=light] .cove-landscape [fill="#1b3546"]{fill:var(--day-hill-far)}
html[data-nature=bay][data-theme=light] .cove-landscape [fill="#102938"]{fill:var(--day-hill)}
html[data-nature=bay][data-theme=light] .cove-landscape :is([fill="#214454"],[fill="#1b3d4b"]){fill:var(--day-forest)}
html[data-nature=bay][data-theme=light] .cove-landscape [fill="#173747"]{fill:#354f3f}
html[data-nature=bay][data-theme=light] .cove-landscape [fill="#295061"]{fill:var(--day-forest-light)}
html[data-nature=bay][data-theme=light] .cove-landscape [fill="#436573"]{fill:#9ca099}
html[data-nature=bay][data-theme=light] .cove-landscape [fill="#152b3c"]{fill:var(--day-stone)}
html[data-nature=bay][data-theme=light] .cove-landscape [fill="#1a3942"]{fill:var(--day-forest)}
html[data-nature=bay][data-theme=light] .cove-far-shore{fill:#78866b}
html[data-nature=bay][data-theme=light] .cove-cottage [fill="#1b3540"]{fill:#9d8871}
html[data-nature=bay][data-theme=light] .cove-cottage [fill="#102733"]{fill:#88735f}
html[data-nature=bay][data-theme=light] .cove-cottage [fill="#405862"]{fill:#8c8d79}
html[data-nature=bay][data-theme=light] .cove-cottage [fill="#203c4b"]{fill:var(--day-wood)}
html[data-nature=bay][data-theme=light] .cove-cottage [fill="#314b56"]{fill:var(--day-stone)}
html[data-nature=bay][data-theme=light] .cove-haze-tone{stop-color:var(--day-mist)}
html[data-nature=bay][data-theme=light] .cove-water-light-tone{stop-color:var(--day-mist)}
html[data-nature=bay][data-theme=light] .cove-fern-stem{stroke:var(--day-moss)}
html[data-nature=bay][data-theme=light] .cove-fern-leaf{fill:var(--day-moss)}
html[data-nature=bay][data-theme=light] .journey-pine{fill:var(--day-forest)}
html[data-nature=bay][data-theme=light] .river-land .journey-pine[data-depth=far]{fill:var(--day-forest-light)}
html[data-nature=bay][data-theme=light] .journey-hill-far{stop-color:#9ca099}
html[data-nature=bay][data-theme=light] .journey-hill-near{stop-color:var(--day-ground)}
html[data-nature=bay][data-theme=light] .journey-stone{fill:var(--day-stone)}
html[data-nature=bay][data-theme=light] .nature-stone-facet{stroke:#a9aa99}
html[data-nature=bay][data-theme=light] .nature-bank-reed{stroke:var(--day-moss)}
html[data-nature=bay][data-theme=light] .cove-meadow-floor{fill:var(--day-moss);opacity:.24}
html[data-nature=bay][data-theme=light] .cove-water-lines{stroke:var(--day-mist);opacity:.18}
html[data-nature=bay][data-theme=light] .journey-reflection{stroke:var(--day-mist)}
html[data-nature=bay][data-theme=light] .journey-ripples{stroke:var(--day-mist)}
html[data-nature=bay][data-theme=light] .journey-boat .sailboat>path[fill="#c9a84a"]{fill:var(--day-gold-paint)}
html[data-nature=bay][data-theme=light] .journey-boat .sailboat>path[fill="#e7d39b"]{fill:#dbc18b}
.day-bank-details{display:none}
html[data-nature=bay][data-theme=light] .day-bank-details{display:inline}
html[data-nature=bay][data-theme=light] .day-bank-moss{fill:var(--day-moss)}
html[data-nature=bay][data-theme=light] .day-bank-shrub{fill:var(--day-forest)}
html[data-nature=bay][data-theme=light] .day-bank-shrub-light{fill:var(--day-forest-light)}
html[data-nature=bay][data-theme=light] .day-bank-stem{stroke:var(--day-moss)}
html[data-nature=bay][data-theme=light] .day-bank-wood{stroke:var(--day-wood)}
html[data-nature=bay][data-theme=light] .day-bank-wood-light{stroke:#a4917d}
.day-bank-moss{fill:#839e73;opacity:.35}
.day-bank-shrub{fill:#648461}
.day-bank-shrub-light{fill:#8ea174;opacity:.65}
.day-bank-stem{fill:none;stroke:#617955;stroke-width:1;stroke-linecap:round}
.day-bank-wood{fill:none;stroke:#7c7759;stroke-width:3;stroke-linecap:round}
.day-bank-wood-light{fill:none;stroke:#c1be92;stroke-width:.7;stroke-linecap:round}
.day-bank-reed-head{fill:none;stroke:#8a8052;stroke-width:3;stroke-linecap:round}

/* Let the dock's continuous fade show through the inset footer shell. */
html[data-nature=bay][data-theme=light] .site-footer{background:transparent}

/* Quiet page scrollbar, with a transparent rail in both themes. */
html{background-color:var(--bg);--page-scroll-thumb:#cfad5299;--page-scroll-hover:#cfad52;--page-scroll-active:#e2c574}
html[data-theme=light]{--page-scroll-thumb:#b89a58b3;--page-scroll-hover:#c4a565;--page-scroll-active:#a98b46}
html::-webkit-scrollbar{width:10px;height:10px;background:transparent}
html::-webkit-scrollbar-track,html::-webkit-scrollbar-corner{background:transparent}
html::-webkit-scrollbar-thumb{background:var(--page-scroll-thumb);background-clip:padding-box;border:3px solid transparent;border-radius:999px;min-height:44px}
html::-webkit-scrollbar-thumb:hover{background-color:var(--page-scroll-hover);border-width:2px}
html::-webkit-scrollbar-thumb:active{background-color:var(--page-scroll-active)}
html::-webkit-scrollbar-button{display:none;width:0;height:0}
html.has-page-scrollbar{scrollbar-width:none}
html.has-page-scrollbar::-webkit-scrollbar{width:0;height:0}
.page-scrollbar{display:none;position:fixed;z-index:60;top:12px;right:0;bottom:12px;width:12px;background:transparent;touch-action:none;user-select:none}
.has-page-scrollbar .page-scrollbar{display:block}
.page-scrollbar-thumb{position:absolute;top:0;right:4px;width:4px;border-radius:999px;background:var(--page-scroll-thumb);cursor:grab;outline-offset:2px;transition:width .15s,background-color .15s}
.page-scrollbar:hover .page-scrollbar-thumb,.page-scrollbar-thumb:focus-visible{width:6px;background:var(--page-scroll-hover)}
.page-scrollbar-thumb:focus-visible{outline:1px solid var(--page-scroll-hover)}
html.page-scrollbar-dragging{scroll-behavior:auto}
.page-scrollbar-dragging .page-scrollbar-thumb{width:6px;background:var(--page-scroll-active);cursor:grabbing}
.dialog-open .page-scrollbar{visibility:hidden}
@media(prefers-reduced-motion:reduce){.page-scrollbar-thumb{transition:none}}
@supports not selector(::-webkit-scrollbar){html{scrollbar-width:thin;scrollbar-color:var(--page-scroll-thumb) transparent}}
@media(forced-colors:active){
 html{scrollbar-color:auto}
 html::-webkit-scrollbar-thumb{background:ButtonText;background-clip:padding-box}
}

/* Mobile only: one illustrated background behind a single reading column.
   Harbor camera, contact geometry and desktop remain in their original styles. */
@media(max-width:760px){
 .river-section:not(.contact-river)>.river-shell{width:auto;margin:0 24px}
 #pricing.pricing-river .pricing-shell{margin:0 24px;width:auto}
 .studio-copy,.service-content{width:100%;margin-left:0}
 .studio-copy,.service-row,.work-heading,.work-caption,.pricing-heading,.pricing-item,.pricing-footer,.journey-heading,.journey-step{isolation:isolate;position:relative}
 .studio-copy::before,.service-row::before,.work-heading::before,.work-caption::before,.pricing-heading::before,.pricing-item::before,.pricing-footer::before,.journey-heading::before,.journey-step::before{
  content:'';position:absolute;inset:-24px -22px;z-index:-1;pointer-events:none;width:auto;height:auto;
  background:linear-gradient(90deg,var(--river-bg),transparent);
  opacity:.24;border:0;box-shadow:none;
 }
 .service-list{margin-top:55px}
 .service-row{padding:24px 0;margin-bottom:24px}
 #pricing .pricing-list{display:block}
 #pricing.pricing-river .pricing-item{margin:0 0 36px;padding:24px 0;min-height:0}
 #pricing.pricing-river .pricing-item:last-child{margin-bottom:0}
 #pricing.pricing-river .pricing-footer{padding-top:28px}
 .process-river{padding:80px 0 70px;min-height:0}
 .process-river>.river-shell{height:auto}
 .journey-heading{position:relative;left:auto;top:auto;width:100%;margin:0 0 65px;text-align:left}
 .journey-heading h2{font-size:38px;letter-spacing:-1.3px;margin:20px 0 25px}
 .journey-steps{display:flex;flex-direction:column;height:auto;gap:64px}
 .journey-step,.journey-step:nth-child(n){position:relative;top:auto;left:auto;right:auto;width:100%;max-width:none;text-align:left;margin:0;padding:0 0 0 26px;min-height:0}
 .journey-step h3{font-size:28px}
 .journey-step .river-number{font-size:23px;margin-bottom:10px}
 .journey-step::before{top:-24px;left:-22px;right:-22px;bottom:-24px;opacity:.24;background:linear-gradient(90deg,var(--river-bg),transparent)}
 .journey-step::after,.journey-step:nth-child(n)::after{left:0;right:auto;top:8px}
 .river-land .journey-pine[data-depth=far]{opacity:.48}
 /* The camera has its own scroll span before the mobile contact form. */
 html.native-dock .contact-river{height:auto;min-height:0;padding:0;display:block}
 html.native-dock .contact-layout{position:relative;top:auto;height:auto;min-height:0;display:block;margin:0 24px;padding:calc(100svh + 1100px) 0 100px;opacity:1;transform:none;z-index:8}
 html.native-dock .harbor-view{position:fixed;top:0;left:0;width:100%;height:100svh;min-height:0;transform:translate3d(0,var(--dock-view-offset,100vh),0);isolation:isolate;z-index:3;pointer-events:none;will-change:transform}
 html.native-dock .harbor-view::before{display:none}
 html.native-dock .dock-stage{display:none}
 html.native-dock .dock-canvas{display:block;position:absolute;inset:0;width:100%;height:100%;mask-image:linear-gradient(#000 calc(100% - 120px),transparent)}
 html.native-dock .journey-boat{position:absolute;top:0;left:0;z-index:5;width:110px;height:82px;margin-left:-55px;margin-top:-65px;transform-origin:55px 65px;overflow-anchor:none}
 html.native-dock .journey-boat.is-docked{position:fixed;z-index:5}
 html.native-dock .journey-boat svg{width:100%;height:100%;position:static}
 html.native-dock .river-tone-end{stop-color:#14304e}
 html.native-dock[data-theme=light][data-day-palette=taiga] .river-tone-end{stop-color:var(--day-water)}
 @media(prefers-reduced-motion:reduce){
  html.native-dock .contact-layout{padding-top:calc(100svh + 80px)}
 }
}

/* Phone composition: quiet editorial type and a continuous illustrated backdrop. */
.mobile-headline{display:none}
.brief-form .inquiry-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}
.brief-form button:disabled{cursor:default;opacity:.72;transform:none}
.brief-form #inquiry-status[data-state=error]{color:#efb7a2}
.brief-form #inquiry-status[data-state=success]{color:var(--river-ink);font-weight:500}
.site-footer>span{margin-left:auto}
@media(max-width:760px){
 html{scroll-behavior:auto;scroll-padding-top:76px}
 html .has-landscape-menu .site-header,html.has-landscape-menu .site-header{left:16px;top:16px;width:44px;height:44px;min-width:0;max-width:44px;transform:none;padding:0;border-radius:50%;box-shadow:0 3px 14px #0002;backdrop-filter:none;transition:none}
 html.has-landscape-menu .site-header :is(.wordmark,.desktop-nav,.nav-contact){display:none}
 html.has-landscape-menu .site-header .menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:4px;opacity:1;visibility:visible;width:44px;height:44px;padding:13px;margin:0}
 html.has-landscape-menu .site-header .menu-toggle i{flex:none;width:18px;height:1px;margin:0}
 html .scene-controls{top:18px;right:16px;padding:3px;gap:0;backdrop-filter:none;box-shadow:none}
 html .scene-controls button{width:31px;height:31px;min-width:31px}
 html .scene-controls svg{width:17px;height:17px}
 html .scene-controls .control-divider{margin:0 3px}
 .hero{height:max(800px,100svh);min-height:800px}
 .hero .hero-content{position:relative;top:auto;left:auto;width:auto;max-width:none;margin:0 24px;padding-top:clamp(160px,21svh,210px);transform:none!important;opacity:1!important}
 .hero .vertical-label{display:none}
 .hero .hero-eyebrow{font-size:9px;line-height:1.6;letter-spacing:1.1px;margin-bottom:22px;max-width:280px}
 .hero h1{font-size:clamp(38px,13vw,52px);line-height:1.05;letter-spacing:-.04em;margin:0}
 .hero h1>:not(.mobile-headline){display:none}
 .hero h1>.mobile-headline{display:block}
 .mobile-headline em{font-style:normal;color:var(--river-gold,var(--accent))}
 .hero .hero-row{display:block;margin-top:30px}
 .hero .rotating-words{display:none}
 html[data-theme] .hero .music-player,html[data-theme] .hero .music-player:hover{display:flex;position:relative;align-items:center;gap:12px;width:100%;max-width:350px;height:90px;padding:14px;border:1px solid #eee7cf22;border-radius:46px;background:#152f32e6;--player-ink:#f2eedf;--player-muted:#bac7c1;--player-track:#bac7c144;box-shadow:0 8px 22px #09232122;backdrop-filter:none}
 .hero .music-player .vinyl{flex:none;width:60px;height:60px;border:1px solid #e8ddbb8c;box-shadow:none}
 .hero .music-player .player-body{flex:1;min-width:0;padding-right:42px}
 .hero .music-player .track-name{font-size:11px;line-height:1.4}
 .hero .music-player .player-label{font-size:6px;letter-spacing:1px}
 .hero .music-player .player-progress{margin-top:8px;font-size:7px;gap:4px}
 .hero .music-player .player-buttons{position:absolute;right:15px;top:25px;margin:0}
 .hero .music-player .player-buttons :is(.previous-track,.next-track){display:none}
 .hero .music-player .player-buttons .play-button{width:40px;height:40px}
 .hero .living-landscape{height:30%;min-height:220px}
 .hero .moon-position{top:95px;right:28px;width:65px;height:65px;opacity:.7}
 .hero :is(.cove-tree,.cove-reed,.cove-window,.cove-shimmer-band,.cove-low-mist,.cove-water-lustre,.cove-plant-breath>g){animation:none!important}
 .river-section:not(.contact-river){padding:88px 0;min-height:0;z-index:6!important}
 .river-section:not(.contact-river)>.river-shell{margin:0 24px;width:auto}
 .river-section h2{font-size:clamp(34px,9.5vw,42px);line-height:1.12;letter-spacing:-1.2px;margin:18px 0 26px}
 .river-section p:not(.eyebrow):not(.studio-signature){font-size:15px;line-height:1.65}
 .studio-copy::before,.service-row::before,.work-heading::before,.work-caption::before,.pricing-heading::before,.pricing-item::before,.pricing-footer::before,.journey-heading::before,.journey-step::before{display:none}
 .service-list{margin-top:32px}
 .service-row{margin:0;padding:28px 0;gap:10px;grid-template-columns:22px 1fr}
 .service-row h3{font-size:25px;margin:0 0 10px}
 .service-row p{margin:0}
 .service-row .service-number{font-size:10px}
 .work-showcase{margin-top:30px;transform:none!important;opacity:1!important}
 .work-showcase .project-visual{aspect-ratio:1.44;border-radius:14px}
 .work-showcase .project-visual>img{object-fit:cover;object-position:top;transform:none!important}
 .case-summary{display:block;margin-top:28px}
 .case-summary>div{padding:18px 0;border-top:1px solid var(--river-rule)}
 .work-caption h3{font-size:27px}
 #pricing.pricing-river{padding:88px 0}
 #pricing.pricing-river .pricing-item{margin:0;padding:30px 0;gap:8px 12px;grid-template-columns:18px 1fr;border-top:1px solid var(--river-rule)}
 #pricing.pricing-river .pricing-value:not(.pricing-custom){font-size:49px;margin:9px 0 0}
 #pricing.pricing-river .pricing-description p{font-size:14px}
 #pricing.pricing-river .pricing-current{display:none}
 #pricing.pricing-river .pricing-footer{padding-top:30px}
 #process .journey-heading{margin-bottom:40px}
 #process .journey-steps{gap:0}
 #process .journey-step{padding:26px 0 30px 32px;border-left:1px solid #ddb95c4d}
 #process .journey-step::after{left:-4px;top:34px;width:7px;height:7px}
 #process .journey-step h3{font-size:28px}
 #process .journey-step .river-number{font-size:17px}
 #process .journey-step p{font-size:15px!important}
 #services,#work,#pricing,#process{scroll-margin-top:76px}
 html.native-dock .contact-layout::before{content:'';position:absolute;z-index:-1;left:-24px;right:-24px;top:calc(100svh + 980px);bottom:-110px;background:linear-gradient(transparent,var(--river-bg) 150px);pointer-events:none}
 html.native-dock .contact-copy h2{font-size:40px;line-height:1.1;letter-spacing:-1.5px}
 html.native-dock .contact-copy .section-copy{font-size:15px;margin-bottom:28px}
 html.native-dock .brief-form{margin-top:42px;gap:24px}
 html.native-dock .river-form.brief-form label>span{font:11px/1.5 var(--sans);letter-spacing:.8px;text-transform:uppercase;color:var(--river-gold)}
 html.native-dock[data-theme] .river-form.brief-form :is(input,textarea){border:1px solid var(--river-rule);border-radius:10px;padding:15px 16px;margin-top:10px;background:#06162324;min-height:52px;font-size:16px}
 html.native-dock .river-form.brief-form textarea{height:125px;min-height:125px;max-height:180px}
 .river-form.brief-form .primary-button{width:100%;justify-content:space-between;padding:19px 20px;font-size:15px;border-radius:10px}
 .river-form .form-note{font-size:11px}
 .site-footer{position:relative;z-index:8;padding:28px 0 38px;background:var(--river-bg)}
 .site-footer>span{font-size:9px}
 @media(prefers-reduced-motion:reduce){html.native-dock .contact-layout::before{top:100svh}}
}

/* Inquiry receipt and clearly bounded contact fields. */
#inquiry-confirmation{width:min(480px,calc(100% - 32px));padding:44px 36px 32px;margin:auto;background:#f5f1e6;color:#243f35;border:1px solid #c7d3c2;border-radius:24px;box-shadow:0 24px 100px #071b2359;text-align:left}
#inquiry-confirmation::backdrop{background:#091b24a6;backdrop-filter:blur(5px)}
#inquiry-confirmation .dialog-close{color:#52675b}
#inquiry-confirmation .inquiry-check{display:flex;align-items:center;justify-content:center;width:52px;height:52px;background:#e3e9db;border-radius:50%;font-size:26px;color:#496343;margin-bottom:26px}
#inquiry-confirmation .eyebrow{color:#718265;font-size:10px;letter-spacing:2px;margin-bottom:12px}
#inquiry-confirmation h2{font-size:38px;color:#243f35;margin-bottom:16px}
#inquiry-confirmation p:not(.eyebrow){font-size:15px;line-height:1.7;color:#52675b}
#inquiry-confirmation .primary-button{margin-top:28px;width:100%;border-radius:12px;background:#ddbe6a;color:#243f35;padding:16px 22px}
html.native-dock .river-form.brief-form input:not([name=website]),html.native-dock .river-form.brief-form textarea{padding:11px 14px;border:1px solid #bfcfc94a;border-radius:10px;background:#243f3866;line-height:1.5;box-sizing:border-box}
html.native-dock .river-form.brief-form input:not([name=website]):focus,html.native-dock .river-form.brief-form textarea:focus{background:#243f3899;border-color:var(--river-gold)}
html.native-dock .river-form.brief-form input:-webkit-autofill,html.native-dock .river-form.brief-form input:-webkit-autofill:focus{-webkit-text-fill-color:var(--river-ink);-webkit-box-shadow:0 0 0 1000px #243f38 inset;caret-color:var(--river-ink)}
@media(max-width:760px){#inquiry-confirmation{padding:36px 24px 24px}#inquiry-confirmation h2{font-size:32px}}
/* Receipt follows the same forest/day and blue/night palettes as the site. */
:root{--receipt-bg:#102438;--receipt-ink:#f5efdf;--receipt-muted:#bfd0d7;--receipt-rule:#adc4cf40;--receipt-mark:#244356;--receipt-field:#10243899}
html[data-theme=light]{--receipt-bg:#29483c;--receipt-ink:#f5efdf;--receipt-muted:#d0d9c9;--receipt-rule:#c5d1be45;--receipt-mark:#3a5b4b;--receipt-field:#243f3866}
#inquiry-confirmation{background:var(--receipt-bg);color:var(--receipt-ink);border-color:var(--receipt-rule)}
#inquiry-confirmation h2{color:var(--receipt-ink)}#inquiry-confirmation .dialog-close,#inquiry-confirmation p:not(.eyebrow){color:var(--receipt-muted)}
#inquiry-confirmation .eyebrow{color:var(--river-gold)}#inquiry-confirmation .inquiry-check{background:var(--receipt-mark);color:var(--river-gold)}
#inquiry-confirmation .primary-button{background:var(--river-gold);color:#142b27}
html.native-dock .river-form.brief-form input:not([name=website]),html.native-dock .river-form.brief-form textarea{background:var(--receipt-field)}
html.native-dock .river-form.brief-form input:not([name=website]):focus,html.native-dock .river-form.brief-form textarea:focus{background:var(--receipt-bg)}
html.native-dock .river-form.brief-form input:-webkit-autofill,html.native-dock .river-form.brief-form input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px var(--receipt-bg) inset}

/* Avoid a subpixel hairline around the scaled project preview. */
html[data-theme] .work-showcase .project-visual{border:0;box-shadow:none;background:#080b0d}
.site-footer .footer-logo img{display:block;width:76px;height:auto;filter:brightness(0) invert(1)}
.service-detail-link{color:inherit;text-decoration:none}.service-detail-link:hover h3{color:var(--accent)}.service-detail-link:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.case-page-link{display:inline-flex;gap:12px;margin-top:24px}
/* Lighter WOFF2 fonts under their own names, so the TTF faces above are never used and never downloaded. */
@font-face{font-family:'Playfair WF';src:url('/assets/playfair-display.woff2') format('woff2'),url('/assets/playfair-display.ttf') format('truetype');font-weight:400 900;font-style:normal;font-display:swap}
@font-face{font-family:'Onest WF';src:url('/assets/onest.woff2') format('woff2'),url('/assets/onest.ttf') format('truetype');font-weight:100 900;font-style:normal;font-display:swap}
:root{--serif:'Playfair WF',Georgia,serif;--sans:'Onest WF','Segoe UI',sans-serif}
/* The inquiry confirmation is signed with the gold wordmark from the loading screen. */
#inquiry-confirmation .inquiry-logo{display:block;width:118px;height:auto;margin:2px 0 16px}
