/* HERMANNS GARDEN · L002 · handcrafted, self-contained static site */
:root {
  --cream: #f7f1e6;
  --paper: #f7f1e6;
  --ink: #172e43;
  --ink-muted: #65707a;
  --rule: rgba(23,46,67,.2);
  --coral: #d46f51;
  --accent: #c16f69;
  --surface: #ece6da;
  --night: #060920;
  --night-deep: #030619;
  --pink: #f18bad;
  --cyan: #91f3f1;
  --dark-blue: #122b3d;
  --body-font: "Montserrat", "Helvetica Neue", Arial, sans-serif;
  --display-font: Garamond, "EB Garamond", Georgia, serif;
  color-scheme: light;
}
html[data-theme="night"] {
  --paper: #090a21;
  --ink: #f5e9df;
  --ink-muted: #b7acc1;
  --rule: rgba(241,139,173,.25);
  --coral: #ed7f92;
  --accent: #e987ad;
  --surface: #13132e;
  color-scheme: dark;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:88px;overflow-x:clip}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body-font);-webkit-font-smoothing:antialiased;overflow-x:hidden;transition:background-color .6s,color .6s}
body.modal-open{overflow:hidden}
button,a{-webkit-tap-highlight-color:transparent}
button{font:inherit;cursor:pointer}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button:focus-visible,a:focus-visible{outline:3px solid #f18bad;outline-offset:5px}
::selection{background:#ed86a5;color:#081025}
.skip-link{position:fixed;top:-80px;left:15px;z-index:400;padding:14px;background:#fff;color:#000}
.skip-link:focus{top:15px}
.logo-night{display:none!important}
html[data-theme="night"] .logo-night{display:block!important}
html[data-theme="night"] .logo-day{display:none!important}
.top-stitch{height:5px;background:repeating-linear-gradient(90deg,#dd8b6d 0,#dd8b6d 26px,#f7f1e6 26px,#f7f1e6 44px,#2e95b6 44px,#2e95b6 67px,#f7f1e6 67px,#f7f1e6 82px);position:relative;z-index:101}
html[data-theme="night"] .top-stitch{background:repeating-linear-gradient(90deg,#dc577a 0,#dc577a 34px,#060920 34px,#060920 55px,#51b3c5 55px,#51b3c5 68px,#060920 68px,#060920 86px)}

/* Fixed masthead: both parts of the supplied logo retain native aspect ratios. */
.site-header{height:78px;position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:0 clamp(16px,4.5vw,66px);background:rgba(247,241,230,.96);border-bottom:1px solid var(--rule);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);transition:background .5s,border-color .5s}
html[data-theme="night"] .site-header{background:rgba(7,8,30,.96)}
.header-brand{display:flex;align-items:center;gap:7px;flex:0 0 auto;min-width:0}
.brand-mark{width:48px;flex:none;display:flex;align-items:center;justify-content:center}
.brand-mark img{width:100%;height:auto;object-fit:contain}
.brand-script{width:170px;display:block;transform:translateY(2px)}
.brand-script img{width:100%;height:auto;object-fit:contain}
.desktop-nav{display:flex;align-items:center;justify-content:center;flex:1;gap:clamp(12px,1.65vw,34px)}
.desktop-nav a{white-space:nowrap;font-size:10px;font-weight:800;letter-spacing:.13em;opacity:.85;transition:color .2s}
.desktop-nav a:hover{color:var(--coral)}
.header-actions{display:flex;align-items:center;gap:9px;flex:none}
.mode-toggle{height:40px;display:flex;align-items:center;gap:6px;border:1px solid var(--rule);background:transparent;color:var(--ink);border-radius:26px;padding:0 11px;min-width:97px;justify-content:center}
.mode-toggle .mode-icon{font-size:22px;line-height:1;font-family:Georgia,serif}
.mode-toggle .mode-label{font-size:10px;letter-spacing:.13em;font-weight:800}
.mode-knob{height:6px;width:6px;border-radius:50%;background:var(--coral)}
.mode-toggle:hover{background:var(--surface)}
.menu-toggle{display:none;width:42px;height:42px;align-items:center;justify-content:center;flex-direction:column;gap:7px;background:transparent;border:1px solid var(--rule);border-radius:50%;color:var(--ink);position:relative;z-index:103}
.menu-toggle span{width:17px;height:1.5px;background:currentColor;transition:transform .25s}
.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(4.25px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-4.25px) rotate(-45deg)}
.mobile-nav{display:none}

/* Rich opening spread. */
.hero{min-height:calc(100svh - 83px);display:grid;grid-template-columns:54% 46%;background:var(--paper)}
.hero-info{min-width:0;min-height:680px;padding:clamp(24px,3.4vw,58px) clamp(23px,5.5vw,96px) 24px;display:flex;flex-direction:column;justify-content:space-between;background:var(--paper);transition:background .6s}
.hero-eyebrow,.hero-bottom,.micro-text,.section-kicker,.eyebrow{font-size:10px;letter-spacing:.19em;font-weight:800;line-height:1.5}
.hero-eyebrow{display:flex;gap:15px;align-items:center;color:var(--ink-muted)}
.hero-eyebrow .tiny-diamond{font-size:14px;color:var(--coral)}
.hero-center{margin:20px 0 10px;max-width:600px}
.eyebrow{margin:0 0 22px}
.hero-center>.eyebrow{color:var(--coral);margin-bottom:0}
.hero-signature{max-width:530px;width:100%;height:285px;display:flex;align-items:center;justify-content:center;margin:4px auto -2px}
.hero-signature img{height:auto;max-height:100%;max-width:100%;width:100%;object-fit:contain}
.hero h1{font:normal 400 clamp(26px,3.0vw,49px)/1.05 var(--display-font);letter-spacing:-.04em;margin:0 0 18px}
.hero h1 em{color:var(--coral);font-weight:400}
.hero-paragraph{max-width:385px;font-size:13px;line-height:1.85;color:var(--ink-muted);margin:0 0 30px}
.capsule-button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:15px 18px 15px 25px;min-width:218px;border:1px solid var(--ink);border-radius:35px;color:var(--paper);background:var(--ink);font-size:10px;font-weight:800;letter-spacing:.13em;transition:background .25s,color .25s,transform .25s}
.capsule-button:hover{transform:translateY(-3px);background:var(--coral);border-color:var(--coral);color:#fff}
.capsule-button span{font-size:17px;line-height:.7}
.hero-bottom{border-top:1px solid var(--rule);padding-top:16px;color:var(--ink-muted);display:flex;justify-content:space-between;gap:15px;font-size:9px}
.hero-visual{min-width:0;min-height:680px;position:relative;overflow:hidden;background:#133a50;color:#fff}
.hero-day-image,.hero-night-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity 1.15s,transform 9s linear}
.hero-day-image{opacity:1;object-position:center center}
.hero-night-image{opacity:0;object-position:center 43%}
html[data-theme="night"] .hero-day-image{opacity:0}
html[data-theme="night"] .hero-night-image{opacity:1}
.hero-visual-wash{position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,10,25,.25),transparent 36%,transparent 55%,rgba(2,10,25,.68));pointer-events:none}
.hero-image-corners{position:absolute;left:24px;right:24px;top:27px;display:flex;justify-content:space-between;font-weight:800;font-size:10px;letter-spacing:.16em;text-shadow:0 1px 8px #0008}
.hero-visual-caption{position:absolute;bottom:36px;left:clamp(24px,4vw,64px);right:25px;display:flex;flex-direction:column;gap:10px}
.hero-visual-caption small{font-size:10px;letter-spacing:.22em;font-weight:800}
.hero-visual-caption strong{font:400 clamp(36px,4.4vw,75px)/.95 var(--display-font);letter-spacing:-.055em;text-shadow:0 2px 15px #0005}
.hero-visual-caption i{font-weight:400}
.hero-stamp{position:absolute;right:25px;top:110px;border:1px solid rgba(255,255,255,.88);width:88px;height:88px;border-radius:50%;display:grid;place-content:center;text-align:center;transform:rotate(11deg);font-size:10px;font-weight:800;letter-spacing:.11em;line-height:1.3}
.hero-stamp b{font-size:20px;font-weight:400}
html[data-theme="night"] .hero-stamp{border-color:#f18bad;color:#f18bad}

/* Running editorial ticker, independently controllable via Motion ON/OFF. */
.ticker{overflow:hidden;background:#dca184;color:#142939;border-block:1px solid #152a38;min-height:56px;display:flex;align-items:center}
html[data-theme="night"] .ticker{background:#d05d7b;color:#08091f;border-color:#ed8ca6}
.ticker-track{width:max-content;display:flex;align-items:center;gap:24px;white-space:nowrap;animation:tickerRoll 36s linear infinite}
.ticker-track span{font-size:13px;font-weight:900;letter-spacing:.21em}
.ticker-track b{font-weight:400;font-size:25px}
@keyframes tickerRoll{to{transform:translateX(-50%)}}

/* Section-wide editorial vocabulary. */
.section{padding:clamp(70px,9vw,130px) clamp(22px,5.8vw,90px)}
.section-kicker{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:17px;border-bottom:1px solid var(--rule);color:var(--ink-muted)}
.section-kicker.on-dark{color:#ddcbdc;border-color:rgba(255,255,255,.25)}
.serif-display{font:normal 400 clamp(58px,7.6vw,125px)/.95 var(--display-font);letter-spacing:-.068em;margin:0}
.serif-display em{color:var(--coral);font-weight:400}
.orange{color:var(--coral)}
.electric{color:var(--pink)}
.reveal{opacity:1;transform:none}
.js-reveal .reveal{opacity:0;transform:translateY(23px);transition:opacity .75s ease, transform .75s ease}
.js-reveal .reveal.in-view{opacity:1;transform:none}

.estate{background:var(--paper)}
.estate-layout{display:grid;grid-template-columns:1.13fr .87fr;gap:clamp(30px,7.5vw,130px);align-items:center;padding:clamp(52px,6.5vw,108px) 0 64px}
.estate-copy .eyebrow{margin-bottom:26px}
.estate-description{margin-top:50px;display:flex;align-items:flex-start;gap:17px;max-width:490px}
.estate-description .flower-icon{font-size:42px;color:var(--coral);line-height:.85}
.estate-description p{margin:0;font-size:14px;line-height:1.9;max-width:355px;color:var(--ink-muted)}
.estate-photos{position:relative;padding:30px 8% 15px 3%}
.estate-poster{margin:0;transform:rotate(2.5deg);box-shadow:14px 22px 0 rgba(171,139,113,.15)}
.estate-poster img{width:100%;height:auto;max-height:660px;object-fit:cover;object-position:center;filter:saturate(.83)}
.estate-poster figcaption{font-size:9px;letter-spacing:.15em;font-weight:800;color:var(--ink-muted);margin-top:14px;transform:rotate(-2.5deg)}
.estate-number{position:absolute;left:-5%;bottom:14%;background:var(--coral);color:#fff;font:italic 20px/1 var(--display-font);padding:22px 22px 17px;transform:rotate(-8deg);text-align:center}
.estate-number b{display:block;font:700 43px/1 var(--display-font)}
.estate-facts{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--rule);gap:20px;padding-top:26px;font-size:10px;letter-spacing:.12em;font-weight:800;color:var(--coral)}
.estate-facts b{display:block;color:var(--ink);font-weight:800;line-height:2;margin-top:4px}

/* Pool: always clickable and visible above photo, custom concentric animation. */
.pool-section{background:var(--night)}
.pool-panel{display:grid;grid-template-columns:51% 49%;min-height:780px}
.pool-photo{position:relative;overflow:hidden;min-height:780px;background:#097f9d;isolation:isolate}
.pool-day-image,.pool-night-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transition:opacity 1s}
.pool-day-image{opacity:1}
.pool-night-image{opacity:0}
html[data-theme="night"] .pool-day-image{opacity:0}
html[data-theme="night"] .pool-night-image{opacity:1}
.water-light{position:absolute;inset:0;background:linear-gradient(108deg,transparent 33%,rgba(219,255,255,.18) 44%,transparent 56%);background-size:220% 100%;animation:waterDrift 8s linear infinite;pointer-events:none;z-index:2;mix-blend-mode:screen}
@keyframes waterDrift{from{background-position:190% 0}to{background-position:-80% 0}}
.pool-touch{position:absolute;inset:0;z-index:5;border:0;color:white;background:transparent;cursor:crosshair;overflow:hidden;touch-action:manipulation}
.pool-touch:focus-visible{outline:4px solid #f18bad;outline-offset:-4px}
.water-callout{position:absolute;bottom:64px;left:32px;display:inline-flex;align-items:center;gap:15px;border:1px solid rgba(255,255,255,.85);border-radius:40px;padding:12px 16px;background:rgba(1,38,67,.6);backdrop-filter:blur(6px);font-size:10px;letter-spacing:.15em;font-weight:800;z-index:10}
.water-callout b{font-size:19px;font-weight:400;color:var(--cyan);animation:waterHint 2.2s ease-in-out infinite}
@keyframes waterHint{50%{transform:scale(1.22);opacity:.55}}
.pool-photo-bottom{position:absolute;bottom:25px;left:32px;right:27px;z-index:6;color:#fff;display:flex;justify-content:space-between;font-size:9px;font-weight:800;letter-spacing:.14em;text-shadow:0 2px 4px #0008;pointer-events:none}
/* Animate physical circle diameter rather than scaling border thickness: crisp 2px ripples. */
.water-ripple{--wave-size:clamp(260px,35vw,400px);position:absolute;z-index:7;pointer-events:none;left:0;top:0;width:24px;height:24px;transform:translate(-50%,-50%);border-radius:50%;border:2px solid rgba(228,255,255,.96);box-shadow:0 0 8px rgba(63,235,255,.75),inset 0 0 7px rgba(220,255,255,.35);animation:waterRipple 2s cubic-bezier(.18,.66,.15,1) forwards;opacity:0;mix-blend-mode:screen}
.water-ripple.second{animation-delay:.24s}
.water-ripple.third{animation-delay:.48s}
html[data-theme="night"] .water-ripple{border-color:#84f8ff;box-shadow:0 0 11px #04efffaa,inset 0 0 9px #04efff66}
@keyframes waterRipple{0%{opacity:.96;width:24px;height:24px}15%{opacity:.96}72%{opacity:.57}100%{opacity:0;width:var(--wave-size);height:var(--wave-size)}}
.pool-copy{padding:28px clamp(25px,5.1vw,80px) 38px;display:flex;flex-direction:column;background:var(--night);color:#f6e8e0}
.pool-copy-body{margin:auto 0;max-width:640px;padding:48px 0}
.pool-copy .serif-display{font-size:clamp(56px,6.7vw,112px)}
.pool-copy .serif-display em{color:var(--pink)}
.pool-copy-body>p:not(.eyebrow,.pool-aside){max-width:365px;font-size:14px;line-height:1.9;color:#c8c1d6;margin:28px 0}
.pool-stats{display:flex;gap:65px;border-top:1px solid #ffffff33;padding:28px 0;margin-top:38px;max-width:480px}
.pool-stats div{display:flex;flex-direction:column;gap:8px}
.pool-stats strong{font:normal 60px/1 var(--display-font);color:#9ce9ea}
.pool-stats small{font-size:9px;letter-spacing:.12em;font-weight:800}
.inline-link{display:inline-flex;gap:14px;align-items:center;font-size:10px;letter-spacing:.13em;font-weight:800;border-bottom:1px solid #e0b2c1;padding-bottom:8px}
.inline-link:hover{color:var(--pink)}
.pool-aside{font-style:italic!important;font-size:11px!important;color:#8f8ca6!important;margin-top:30px!important}

.rules-section{background:var(--surface)}
.rules-heading{text-align:center;padding:65px 0 55px}
.rules-heading .serif-display{font-size:clamp(62px,7.3vw,122px)}
.rules-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.rule-card{min-width:0;min-height:245px;padding:26px 22px 24px;border-right:1px solid var(--rule)}
.rule-card:first-child{border-left:1px solid var(--rule)}
.rule-card>span{color:var(--coral);font:italic 23px var(--display-font)}
.rule-card h3{font:normal clamp(25px,2.3vw,37px)/1.1 var(--display-font);letter-spacing:-.05em;margin:40px 0 14px}
.rule-card p{font-size:12px;line-height:1.6;color:var(--ink-muted);margin:0}
.rules-footnote{text-align:center;margin-top:27px;font-size:10px;letter-spacing:.18em;color:var(--ink-muted);font-weight:800}

.botanicals-section{background:var(--paper)}
.botanicals-intro,.archive-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;padding:70px 0 50px}
.botanicals-intro .serif-display,.archive-heading .serif-display{font-size:clamp(59px,7vw,116px)}
.botanicals-intro>p,.archive-heading>p{max-width:275px;line-height:1.85;font-size:14px;color:var(--ink-muted);margin:0 0 8px}
.botanical-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.botanical-card{position:relative;border:0;background:#10152e;color:#fff;overflow:hidden;aspect-ratio:.73;text-align:left;padding:0;isolation:isolate}
.botanical-card>img{height:100%;width:100%;object-fit:cover;transition:transform .9s}
.botanical-card:hover>img{transform:scale(1.045)}
.botanical-card-cover{position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,6,12,.55),transparent 22%,transparent 41%,rgba(0,5,15,.77))}
.botanical-count{position:absolute;top:25px;left:25px;font-size:10px;letter-spacing:.13em;font-weight:800}
.botanical-card-bottom{position:absolute;bottom:25px;left:25px;right:25px;display:flex;flex-direction:column;gap:20px}
.botanical-card-bottom strong{font:normal clamp(36px,4vw,63px)/.96 var(--display-font);letter-spacing:-.05em}
.botanical-card-bottom strong i{color:#f7b1bd}
.botanical-card-bottom small{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.12em;border-top:1px solid #ffffff77;padding-top:12px;font-weight:800}
.botanical-card-bottom small b{font-size:15px}
.botanicals-footnote{text-align:center;color:var(--ink-muted);font-size:10px;letter-spacing:.18em;margin-top:35px;font-weight:800}
html[data-theme="night"] .botanical-card{border:1px solid #d85f8b44}

/* User-supplied 3-scene nighttime illustration carousel. */
.after-dark-section{display:grid;grid-template-columns:47% 53%;background:#07091f;color:#f5e9e2;min-height:770px}
.night-slider{height:clamp(690px,65vw,870px);position:relative;overflow:hidden;background:#090a18;touch-action:pan-y;isolation:isolate}
.night-slide-track{position:absolute;inset:0}
.night-slide{position:absolute;inset:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity 1.5s ease,visibility 1.5s;transform:scale(1.018)}
.night-slide.is-active{opacity:1;visibility:visible;pointer-events:auto;transform:scale(1);transition:opacity 1.5s ease,visibility 1.5s,transform 8s ease-out}
.night-slide>img:first-child{width:100%;height:100%;object-fit:cover;object-position:center}
.night-slide-label{position:absolute;bottom:29px;left:26px;color:#ffb4c9;font-size:10px;letter-spacing:.2em;font-weight:800;text-shadow:0 1px 4px #000}
.night-slide .slide-hg-monogram{position:absolute;z-index:2;top:27.2%;left:50%;width:25%;height:auto;max-height:18%;object-fit:contain;transform:translateX(-50%);filter:drop-shadow(0 0 8px #db5b8170)}
.night-slider-controls{position:absolute;z-index:5;bottom:21px;left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:space-between;gap:15px;width:min(88%,440px);padding:7px 9px 7px 16px;background:rgba(1,2,16,.8);border:1px solid rgba(251,150,178,.26);border-radius:80px;backdrop-filter:blur(8px)}
.night-slider-dots{display:flex;align-items:center;gap:9px}
.night-dot{border:1px solid rgba(255,255,255,.6);border-radius:100px;height:8px;width:8px;background:transparent;padding:0;transition:background .2s,width .25s}
.night-dot.is-active{width:27px;background:#ff91b0;border-color:#ff91b0}
.night-slider-arrows{display:flex;gap:3px}
.night-slider-arrows button{border:0;background:transparent;color:#ffccda;font-size:19px;width:31px;height:31px;border-radius:50%;display:grid;place-content:center}
.night-slider-arrows button:hover{background:#ffffff1e}
.night-slider-arrows #night-pause{font-size:13px}
.after-dark-copy{padding:27px clamp(28px,6vw,95px) 26px;display:flex;flex-direction:column;min-width:0}
.after-dark-copy .section-kicker{flex:0 0 auto}
.after-dark-body{margin:auto 0;max-width:650px;padding:38px 0 60px}
.after-dark-body .serif-display{font-size:clamp(70px,8.1vw,136px)}
.after-dark-body .serif-display em{color:var(--pink)}
.after-dark-body>p:not(.eyebrow){max-width:425px;color:#bbb3cd;line-height:1.85;font-size:14px;margin:25px 0 37px}
.capsule-inverse{color:#08081f;background:#eeb1bc;border-color:#eeb1bc}
.capsule-inverse:hover{color:#08081f;background:#9cebed;border-color:#9cebed}
.night-citation{margin-top:45px;font-size:10px;letter-spacing:.17em;color:#9b8cad}
.after-dark-signoff{font-size:10px;font-weight:800;letter-spacing:.13em;color:#bca7bf}

.archive-section{background:var(--paper)}
.archive-tabs-wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:20px 0;margin-bottom:25px}
.archive-tabs{display:flex;flex-wrap:wrap;gap:8px}
.archive-tabs button{padding:12px 15px;border:1px solid var(--rule);border-radius:40px;background:transparent;color:var(--ink);font-weight:800;font-size:10px;letter-spacing:.1em}
.archive-tabs button.is-active,.archive-tabs button:hover{background:var(--ink);color:var(--paper)}
.archive-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:clamp(190px,23vw,350px);gap:13px}
.archive-card{position:relative;overflow:hidden;display:block;width:100%;padding:0;border:0;background:var(--surface);color:#fff}
.archive-card.tall{grid-row:span 2}
.archive-card.wide{grid-column:span 2}
.archive-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.archive-card:hover img{transform:scale(1.045)}
.archive-card:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#0008);pointer-events:none}
.archive-card span{position:absolute;bottom:15px;left:17px;right:17px;text-align:left;font-size:10px;font-weight:800;letter-spacing:.1em;z-index:2;text-shadow:0 1px 4px #0008}
.archive-empty{min-height:280px;grid-column:1/-1;background:var(--surface);border:1px dashed var(--rule);display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:32px;color:var(--ink-muted)}
.archive-empty b{font:normal italic clamp(30px,4.4vw,64px) var(--display-font);color:var(--ink)}
.archive-empty p{font-size:12px;line-height:1.7;max-width:350px}
.archive-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:28px;padding-top:17px;border-top:1px solid var(--rule);font-size:10px;letter-spacing:.12em;font-weight:800}
.archive-bottom a{color:var(--coral)}

.farewell{min-height:590px;position:relative;background:#091029;overflow:hidden;text-align:center;color:#f5e2df;display:flex;justify-content:center;align-items:center;padding:90px 20px}
.farewell:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 75%,#70243a70,transparent 58%)}
.farewell-inner{position:relative;z-index:2}
.farewell h2{font:normal 400 clamp(88px,13vw,188px)/.82 var(--display-font);letter-spacing:-.07em;margin:25px 0}
.farewell h2 em{color:#f29ab4}
.farewell-inner>p:not(.eyebrow){font-size:14px;color:#dfc6d4;line-height:1.8;margin:30px auto}
.farewell-star{position:absolute;right:-85px;bottom:-225px;font-size:490px;line-height:1;color:#8c2d52;opacity:.16;pointer-events:none}

.site-footer{padding:28px clamp(22px,5.8vw,90px) 22px;background:var(--paper)}
.footer-kicker{display:flex;justify-content:space-between;gap:12px;padding-bottom:21px;border-bottom:1px solid var(--rule);font-size:10px;letter-spacing:.18em;font-weight:800;color:var(--ink-muted)}
.footer-main{display:flex;align-items:center;flex-direction:column;justify-content:center;padding:60px 0 65px;text-align:center}
.footer-crest{width:95px;background:transparent;border:0;padding:0;margin:0 0 8px;transition:transform .2s}
.footer-crest:hover{transform:rotate(-9deg)}
.footer-crest img{width:100%;height:auto}
.footer-wordmark{width:min(510px,85vw)}
.footer-wordmark img{width:100%;height:auto}
.footer-main p{font-size:10px;font-weight:800;letter-spacing:.12em;margin:12px 0 30px}
.footer-main p em{color:var(--coral)}
.footer-main>a{font-size:12px;letter-spacing:.16em;font-weight:800;border-bottom:1px solid var(--ink);padding-bottom:8px}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid var(--rule);padding-top:22px;font-size:9px;letter-spacing:.12em;font-weight:800;color:var(--ink-muted)}
.footer-bottom button{color:var(--ink);border:1px solid var(--rule);background:none;font-size:9px;letter-spacing:.1em;padding:9px 12px;border-radius:20px;font-weight:800}

/* Radio and modals */
.radio-widget{position:fixed;bottom:clamp(18px,2vw,30px);left:clamp(14px,2.5vw,34px);z-index:99}
.radio-trigger{color:#fbefdf;background:#11132b;border:1px solid #ffffff4d;border-radius:40px;box-shadow:0 5px 18px #04061942;padding:11px 18px;font-size:10px;letter-spacing:.12em;font-weight:900;display:flex;gap:9px;align-items:center}
.radio-trigger span{color:#f495b5;font-size:20px}
.radio-panel{width:min(318px,calc(100vw - 30px));background:#0d0d27;border:1px solid #d8719866;color:#f8e7ec;padding:23px;box-shadow:0 15px 80px #000a;margin-bottom:10px}
.radio-panel[hidden]{display:none}
.radio-panel-header{display:flex;justify-content:space-between;align-items:center;font-size:9px;font-weight:800;letter-spacing:.16em}
.radio-panel-header button{border:0;background:transparent;color:#fff;font-size:28px}
.radio-sun{margin:16px auto 8px;color:#f28faf;font-size:52px;text-align:center}
.radio-panel h2{font:normal 48px/.95 var(--display-font);letter-spacing:-.055em;margin:0}
.radio-panel h2 em{color:#ee8cb1}
.radio-panel p{font-size:12px;line-height:1.8;color:#b5afcb}
.radio-play{background:#f19ab8;color:#080820;border:0;border-radius:30px;padding:13px;font-size:11px;font-weight:800;width:100%;margin:12px 0 18px}
.radio-panel>a{font-size:9px;letter-spacing:.14em;color:#ddc8d4;font-weight:800}
.ui-dialog{border:1px solid #d3a3a1;background:var(--paper);color:var(--ink);padding:0;max-width:min(830px,94vw);max-height:min(90svh,900px);box-shadow:0 30px 90px #0008;overflow:auto}
.ui-dialog::backdrop{background:#020416c9;backdrop-filter:blur(7px)}
.dialog-close{position:absolute;top:15px;right:17px;z-index:4;border:0;border-radius:50%;height:38px;width:38px;background:#101629;color:#fff;font-size:26px;line-height:1}
.plant-dialog{width:min(840px,92vw);display:none;grid-template-columns:43% 57%}
.plant-dialog[open]{display:grid}
.plant-dialog-photo img{width:100%;height:100%;max-height:85svh;object-fit:cover}
.plant-dialog-content{padding:clamp(35px,5vw,72px);display:flex;flex-direction:column;justify-content:center}
.plant-dialog-content h2,.notice-dialog h2,.secret-dialog h2{font:normal 400 clamp(50px,6vw,92px)/.9 var(--display-font);letter-spacing:-.06em;margin:10px 0 20px}
.plant-dialog-content>p:not(.eyebrow){color:var(--ink-muted);font-size:14px;line-height:1.85}
.plant-dialog-content .plant-latin{font:italic 23px var(--display-font)!important;color:var(--coral)!important}
.plant-dialog-content>span,.notice-dialog>span:last-child{font-size:9px;letter-spacing:.15em;margin-top:25px;font-weight:800;color:var(--ink-muted)}
.secret-dialog,.notice-dialog{width:min(610px,92vw);padding:clamp(40px,7vw,80px);text-align:center;position:relative}
.secret-dialog{background:#090a23;color:#ffe6ea;border-color:#d65c8b}
.secret-monogram{width:130px;height:auto;margin:0 auto 20px}
.secret-dialog h2{font-size:clamp(56px,7vw,98px)}
.secret-dialog h2 em{color:var(--pink)}
.secret-dialog>p:not(.eyebrow){line-height:1.8;font-size:14px;color:#cfc2cf}
.secret-code{margin-top:35px;border:1px solid #ffffff44;padding:25px 15px;display:flex;flex-direction:column;gap:10px}
.secret-code span{font-size:9px;letter-spacing:.16em}
.secret-code strong{font:italic 45px var(--display-font);color:#f3b4c6}
.notice-dialog h2 em{color:var(--coral)}
.notice-dialog>p:not(.eyebrow){font-size:14px;line-height:1.8;color:var(--ink-muted)}
.notice-mark{font-size:52px;color:var(--coral)}
.lightbox-dialog{max-width:min(96vw,1000px);width:fit-content;max-height:94svh;overflow:auto;background:#05061a;color:#fff;border-color:#f2b4c35c;text-align:center}
.lightbox-head{display:flex;justify-content:space-between;align-items:center;padding:13px 70px 13px 20px;font-size:10px;letter-spacing:.15em;font-weight:800}
.lightbox-head .dialog-close{top:3px;right:4px}
.lightbox-dialog img{max-height:78svh;max-width:94vw;width:auto;height:auto;object-fit:contain;margin:auto}
.lightbox-dialog p{margin:12px 15px 18px;font:italic 23px var(--display-font)}

/* Tablet + iPhone layouts */
@media(max-width:1200px){.desktop-nav{gap:13px}.desktop-nav a{font-size:9px;letter-spacing:.09em}.brand-script{width:145px}.brand-mark{width:40px}.site-header{padding:0 19px}.hero-info{padding-inline:40px}.serif-display{font-size:clamp(60px,8vw,100px)}}
@media(max-width:980px){
 .site-header{height:70px;padding:0 18px}.desktop-nav{display:none}.menu-toggle{display:flex}.mobile-nav{display:flex;position:fixed;z-index:98;inset:75px 0 auto;background:var(--paper);padding:26px 22px 28px;flex-direction:column;border-bottom:1px solid var(--rule);box-shadow:0 20px 30px #0003;visibility:hidden;opacity:0;transform:translateY(-15px);transition:visibility .3s,opacity .3s,transform .3s;max-height:calc(100svh - 75px);overflow-y:auto}.mobile-nav.is-open{visibility:visible;opacity:1;transform:translateY(0)}.mobile-nav .micro-text{color:var(--coral);margin-bottom:15px}.mobile-nav>a{border-top:1px solid var(--rule);font:normal 36px/1.1 var(--display-font);letter-spacing:-.04em;padding:16px 0;display:flex;gap:17px;align-items:baseline}.mobile-nav>a>span{font:800 10px var(--body-font);color:var(--coral);letter-spacing:.1em}.mobile-nav-bottom{font-size:9px;letter-spacing:.14em;color:var(--ink-muted);text-align:right;padding-top:22px}
 .hero{min-height:unset;grid-template-columns:50% 50%}.hero-info,.hero-visual{min-height:650px}.hero-info{padding:27px 28px 19px}.hero-signature{height:260px}.hero h1{font-size:clamp(25px,3.7vw,37px)}.hero-paragraph{font-size:12px}.hero-visual-caption strong{font-size:46px}.hero-stamp{width:75px;height:75px;font-size:8px}
 .estate-layout{gap:40px}.estate-facts{font-size:9px}.pool-panel{grid-template-columns:50% 50%;min-height:650px}.pool-photo{min-height:650px}.pool-copy{padding:22px 26px}.pool-copy .serif-display{font-size:clamp(51px,6vw,75px)}.pool-stats{gap:30px}.pool-stats strong{font-size:48px}
 .rule-card{padding:24px 15px}.rule-card h3{font-size:26px}
 .after-dark-section{grid-template-columns:46% 54%}.night-slider{height:730px}.after-dark-copy{padding:22px 35px}.after-dark-body .serif-display{font-size:clamp(58px,7.7vw,82px)}
}
@media(max-width:700px){
 html{scroll-padding-top:70px}.site-header{padding:0 12px 0 15px;height:67px}.brand-mark{width:39px}.brand-script{width:146px}.header-brand{gap:4px}.header-actions{gap:6px}.mode-toggle{min-width:79px;padding:0 9px;height:37px}.mode-toggle .mode-label{font-size:9px}.mode-toggle .mode-icon{font-size:18px}.mode-knob{height:5px;width:5px}.menu-toggle{width:38px;height:38px}.mobile-nav{top:72px;max-height:calc(100svh - 72px)}
 .hero{display:flex;flex-direction:column}.hero-info{min-height:585px;padding:27px 24px 23px}.hero-eyebrow{font-size:9px}.hero-center{margin:35px 0 45px}.hero-center>.eyebrow{font-size:9px}.hero-signature{width:min(460px,100%);height:240px;margin:0 auto -10px}.hero h1{font-size:clamp(30px,7.3vw,46px);margin-top:0}.hero-paragraph{max-width:310px;font-size:13px;line-height:1.7;margin-bottom:24px}.capsule-button{padding:14px 18px 14px 20px}.hero-bottom{font-size:8px;letter-spacing:.1em}.hero-visual{min-height:550px;max-height:680px;aspect-ratio:.73}.hero-visual-caption{bottom:36px;left:22px}.hero-visual-caption strong{font-size:clamp(47px,10vw,68px)}.hero-visual-caption small{font-size:9px}.hero-stamp{top:90px;right:20px}.hero-image-corners{top:22px;left:20px;right:20px;font-size:9px}
 .ticker{min-height:46px}.ticker-track span{font-size:11px}.ticker-track b{font-size:18px}
 .section{padding:70px 22px}.section-kicker{font-size:8px;letter-spacing:.11em;padding-bottom:13px}.serif-display{font-size:clamp(62px,12.9vw,94px)}
 .estate-layout{grid-template-columns:1fr;gap:36px;padding:51px 0 44px}.estate-description{margin-top:31px}.estate-description p{font-size:13px}.estate-photos{width:85%;margin:0 auto;padding:5px 14px 12px}.estate-poster img{max-height:none}.estate-number{left:-8%;bottom:10%}.estate-facts{grid-template-columns:1fr;gap:10px;font-size:9px}.estate-facts div{display:flex;justify-content:space-between;gap:20px;padding:8px 0;border-bottom:1px solid var(--rule)}.estate-facts b{margin:0;text-align:right}
 .pool-panel{grid-template-columns:1fr}.pool-photo{height:min(120vw,680px);min-height:480px}.pool-touch{cursor:pointer}.water-callout{left:19px;bottom:58px;font-size:9px}.pool-photo-bottom{left:19px;right:19px}.pool-copy{min-height:610px;padding:22px 24px 28px}.pool-copy-body{padding:50px 0}.pool-copy .serif-display{font-size:clamp(59px,12.1vw,86px)}.pool-copy-body>p:not(.eyebrow,.pool-aside){font-size:13px}.pool-stats strong{font-size:55px}.pool-aside{margin-top:20px!important}
 .rules-heading{padding:47px 0 40px}.rules-heading .serif-display{font-size:clamp(58px,11.2vw,82px)}.rules-grid{grid-template-columns:repeat(2,1fr)}.rule-card{border-bottom:1px solid var(--rule);min-height:205px}.rule-card:nth-child(2n+1){border-left:1px solid var(--rule)}.rule-card h3{font-size:clamp(23px,5vw,31px);margin:27px 0 12px}.rule-card p{font-size:11px}.rules-footnote{font-size:8px;line-height:1.8}
 .botanicals-intro,.archive-heading{display:block;padding:48px 0 32px}.botanicals-intro .serif-display,.archive-heading .serif-display{font-size:clamp(59px,11.4vw,92px)}.botanicals-intro>p,.archive-heading>p{margin-top:20px;max-width:400px;font-size:13px}.botanical-grid{grid-template-columns:1fr;gap:14px}.botanical-card{aspect-ratio:.95;max-height:570px}.botanical-card-bottom strong{font-size:56px}.botanicals-footnote{line-height:1.8;font-size:9px}
 .after-dark-section{grid-template-columns:1fr;display:flex;flex-direction:column}.night-slider{order:1;height:auto;aspect-ratio:830/1536;width:100%;max-height:none}.night-slide>img:first-child{object-fit:cover}.after-dark-copy{order:2;min-height:570px;padding:25px 23px 28px}.after-dark-body{padding:67px 0 57px}.after-dark-body .serif-display{font-size:clamp(70px,13.7vw,105px)}.after-dark-body>p:not(.eyebrow){font-size:13px}.night-citation{margin-top:34px}.after-dark-signoff{font-size:9px}.night-slider-controls{bottom:15px;width:85%;max-width:410px}.night-slide-label{left:24px;bottom:79px}
 .archive-tabs-wrap{align-items:flex-start;flex-direction:column;margin-bottom:17px}.archive-tabs{gap:7px}.archive-tabs button{font-size:9px;padding:11px 10px}.archive-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:clamp(195px,57vw,300px);gap:10px}.archive-card.tall{grid-row:span 2}.archive-card.wide{grid-column:span 2}.archive-bottom{align-items:flex-start;flex-direction:column;gap:14px;font-size:9px}.archive-empty{min-height:240px}
 .farewell{min-height:520px;padding:70px 20px}.farewell h2{font-size:clamp(75px,18vw,118px)}.farewell-inner>p:not(.eyebrow){font-size:13px}.farewell-star{right:-110px;bottom:-180px;font-size:380px}
 .site-footer{padding:22px}.footer-kicker{font-size:8px;letter-spacing:.1em}.footer-main{padding:45px 0 55px}.footer-crest{width:75px}.footer-main p{font-size:9px}.footer-main>a{font-size:10px}.footer-bottom{display:grid;grid-template-columns:1fr auto;row-gap:15px;font-size:8px}.footer-bottom>span:nth-child(2){grid-column:1/-1;grid-row:2}.footer-bottom button{grid-row:1;grid-column:2}
 .radio-widget{left:10px;bottom:14px}.radio-trigger{font-size:9px;padding:9px 14px}.radio-trigger span{font-size:17px}
 .plant-dialog[open]{display:flex;flex-direction:column;max-height:85svh;width:90vw}.plant-dialog-photo{max-height:40svh}.plant-dialog-photo img{max-height:40svh;height:40svh;object-fit:cover}.plant-dialog-content{padding:26px}.plant-dialog-content h2{font-size:55px}.secret-dialog,.notice-dialog{padding:60px 25px 35px}
}
@media(max-width:365px){.brand-mark{width:31px}.brand-script{width:124px}.mode-toggle{min-width:70px}.hero-signature{height:210px}.hero-info{min-height:555px}.hero-bottom{font-size:7px}.archive-tabs button{font-size:8px}.botanical-card-bottom strong{font-size:50px}}
/* Site-level motion switch intentionally takes precedence over iOS's default for this creative website;
   the visitor can stop all decorative animation explicitly at any time. */
html.motion-off *,html.motion-off *::before,html.motion-off *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}
html.motion-off.js-reveal .reveal{opacity:1!important;transform:none!important}
html.motion-off .water-ripple{opacity:.85!important;width:98px!important;height:98px!important;border-width:2px!important;animation:none!important}
html.motion-off .water-light{display:none}

/* Account for desktop object-fit:cover cropping: position the unwarped HG mark above the existing hand-lettering. */
@media(min-width:701px){.night-slide .slide-hg-monogram{top:17.2%;width:21.5%}}


/* L003: a genuine day-vs-night content split; only the top masthead, portal and guestbook are shared. */
.night-only{display:none!important}
html[data-theme="night"] .day-only{display:none!important}
html[data-theme="night"] .night-only{display:revert!important}
html[data-theme="night"] #estate,
html[data-theme="night"] #pool,
html[data-theme="night"] #house-rules,
html[data-theme="night"] #botanicals,
html[data-theme="night"] #archive{display:none!important}
html[data-theme="night"] .hero-info{background:#08091f}
html[data-theme="night"] .hero h1 em{color:#f68fad}
html[data-theme="night"] .hero-visual-caption small{color:#ffb4c8}
html[data-theme="night"] .hero-stamp{border-color:#fa95b7;color:#ffe6f0}
html[data-theme="night"] .ticker-track{color:#f4abc4}
html:not([data-theme="night"]) #night-pool{display:none!important}
html[data-theme="night"] #night-pool{display:block}
html:not([data-theme="night"]) .night-slider-controls{display:none}
html:not([data-theme="night"]) .night-slide:not(:first-child){display:none}
html:not([data-theme="night"]) .night-slide:first-child{opacity:1;visibility:visible;transform:none}
html:not([data-theme="night"]) .after-dark-body .serif-display{font-size:clamp(68px,7.3vw,120px)}
html[data-theme="night"] .after-dark-copy .night-citation-link{display:inline-flex!important}
.night-citation-link{color:#99ecef;text-decoration:underline;text-underline-offset:8px;font-weight:800;letter-spacing:.12em}

/* The night playground uses the user's original Live Photo footage and separately opt-in audio. */
.night-playground{position:relative;isolation:isolate;overflow:hidden;background:#07091a;color:#f5e9e6;padding:clamp(68px,8.1vw,135px) clamp(19px,5vw,78px) 68px}
.night-sky-glow{position:absolute;inset:-100px 0 0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 62% 38% at 15% 23%,rgba(128,20,61,.34),transparent 70%),radial-gradient(ellipse 55% 48% at 90% 67%,rgba(10,104,131,.19),transparent 75%)}
.night-playground-shell{max-width:1500px;margin:0 auto}
.night-playground-kicker{color:#e9a5bc;border-color:#ffffff35}
.night-intro-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:30px;align-items:end;padding:66px 0 60px}
.night-intro-grid .eyebrow{color:#e89aa9}
.night-intro-grid .serif-display{font-size:clamp(80px,10vw,160px);line-height:.84}
.night-intro-grid .serif-display em{color:#f78dac}
.night-intro-grid>p{color:#cec2d6;max-width:340px;font-size:14px;line-height:1.9;margin:0 0 9px}
.night-scenes{display:grid;grid-template-columns:1.18fr 1fr;gap:clamp(12px,2vw,30px);align-items:start}
.night-scene{border:1px solid rgba(255,152,187,.24);background:#0f0e2a;min-width:0;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.13)}
.night-scene-visual{position:relative;aspect-ratio: .87;overflow:hidden;background:#061128}
.night-scene-visual video{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 52%;filter:brightness(1.12) saturate(1.16) contrast(1.05)}
.night-scene-lanterns .night-scene-visual video{object-position:center 53%}
.night-scene-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(to bottom,rgba(6,6,31,.38),transparent 23%,transparent 68%,rgba(5,5,23,.67))}
.night-scene-corner{position:absolute;z-index:3;left:22px;top:20px;font-size:10px;font-weight:800;letter-spacing:.15em;color:#fff2f5;text-shadow:0 1px 10px #000}
.night-scene-corner b{font-weight:500;color:#f4b0c6;margin-left:11px}
.night-film-toggle{position:absolute;top:14px;right:17px;z-index:8;display:grid;place-content:center;width:42px;height:42px;background:#070b25b3;color:#d5f9fa;border:1px solid #fc9bbc55;border-radius:50%;font-size:16px;backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}
.night-film-toggle:hover{background:#2b1940}
.night-shimmer-touch,.night-lanterns-touch{position:absolute;z-index:4;inset:40% 0 9%;cursor:crosshair;display:block;border:0;padding:0;background:transparent;color:#dbffff;touch-action:manipulation}
.night-shimmer-touch>span,.night-lanterns-touch>span{position:absolute;left:19px;bottom:14px;display:inline-flex;gap:10px;align-items:center;font-size:10px;font-weight:800;letter-spacing:.13em;background:rgba(0,17,35,.76);border:1px solid rgba(135,245,252,.6);border-radius:40px;padding:12px 16px;color:#c5ffff;white-space:nowrap;box-shadow:0 0 24px rgba(38,204,226,.1)}
.night-lanterns-touch{inset:0 0 57%}
.night-lanterns-touch>span{left:19px;top:64px;bottom:auto;color:#ffd5e9;border-color:rgba(249,142,191,.63);background:#13091dbb}
.night-light-glow{position:absolute;z-index:3;pointer-events:none;inset:0;opacity:0;background:radial-gradient(ellipse 85% 30% at 52% 47%,rgba(250,157,106,.25),transparent 65%),radial-gradient(ellipse 85% 35% at 38% 82%,rgba(77,201,238,.22),transparent 75%);transition:opacity 1.15s}
.night-scene-lanterns.lights-awake .night-light-glow{opacity:1}
.night-scene-lanterns.lights-awake video{filter:brightness(1.26) saturate(1.25)}
.night-scene-foot{display:flex;align-items:end;justify-content:space-between;gap:20px;padding:clamp(19px,2.5vw,37px);background:#101029}
.night-scene-index{display:block;margin:0 0 13px;font-size:10px;font-weight:800;letter-spacing:.17em;color:#f0a2bd}
.night-scene-foot h3{font:400 clamp(48px,5.1vw,87px)/.85 var(--display-font);margin:0 0 16px;letter-spacing:-.04em;color:#f9e9ed}
.night-scene-foot h3 em{color:#fa94b7}
.night-scene-foot p{max-width:270px;margin:0;font-size:12px;line-height:1.8;color:#aca2bc}
.night-audio-button{flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-width:112px;min-height:90px;border:1px solid #fdacc160;background:transparent;color:#f3d9e2;border-radius:0;padding:12px 10px;transition:background .2s,border .2s}
.night-audio-button:hover,.night-audio-button[aria-pressed="true"]{background:#b4346a40;border-color:#ffb5d0;color:white}
.night-audio-button>span:first-child{font-size:25px;line-height:1}
.night-audio-button>span:last-child{font-size:9px;font-weight:800;letter-spacing:.1em;text-align:center;max-width:120px}
.night-ripple{position:absolute;z-index:3;border:2px solid #9ffeff;border-radius:50%;width:18px;height:18px;transform:translate(-50%,-50%) scale(.08);opacity:.95;pointer-events:none;box-shadow:0 0 10px #57dcee,0 0 22px #2bceee88,inset 0 0 5px #9ffeff;animation:nightWave 2.15s cubic-bezier(.13,.38,.35,1) forwards}
.night-ripple.r2{animation-delay:.19s}.night-ripple.r3{animation-delay:.4s}
@keyframes nightWave{0%{transform:translate(-50%,-50%) scale(.08);opacity:0}12%{opacity:1}75%{opacity:.7}100%{transform:translate(-50%,-50%) scale(12);opacity:0}}
.night-ripple-message{position:absolute;z-index:7;top:51%;left:50%;transform:translate(-50%,-50%);font:italic 28px var(--display-font);color:#b6fcff;letter-spacing:.03em;text-shadow:0 3px 19px #000;opacity:0;pointer-events:none;white-space:nowrap;transition:opacity .35s}
.night-ripple-message.is-visible{opacity:1}
.night-playground-foot{display:flex;justify-content:space-between;align-items:center;gap:15px;border-top:1px solid #ffffff2c;margin-top:33px;padding-top:20px;font-size:10px;font-weight:800;letter-spacing:.12em;color:#b8abc0}
.night-playground-foot button{border:0;background:none;color:#9deaf5;font-size:10px;font-weight:800;letter-spacing:.1em;padding:14px 0}
.night-playground-foot button:hover{text-decoration:underline;text-underline-offset:5px}
html.motion-off .night-ripple{animation:none!important;transform:translate(-50%,-50%) scale(4);opacity:.9}
html.motion-off .night-light-glow{transition:none}
@media(max-width:900px){
 .night-intro-grid{grid-template-columns:1fr;gap:22px}.night-intro-grid .serif-display{font-size:clamp(74px,12vw,125px)}.night-intro-grid>p{max-width:580px}.night-scenes{grid-template-columns:1fr 1fr}
 .night-scene-foot{display:block}.night-audio-button{margin-top:22px;width:100%;min-height:56px;flex-direction:row}
 .night-scene-foot h3{font-size:clamp(45px,6.4vw,68px)}
}
@media(max-width:700px){
 .night-playground{padding:75px 17px 51px}.night-intro-grid{padding:52px 0 40px}.night-intro-grid .serif-display{font-size:clamp(70px,15vw,100px)}.night-intro-grid>p{font-size:13px;line-height:1.8}
 .night-scenes{grid-template-columns:1fr;gap:23px}.night-scene-visual{aspect-ratio: .81}.night-scene-visual video{object-position:center 53%}.night-scene-foot{padding:25px 23px 29px}.night-scene-foot h3{font-size:clamp(64px,14vw,89px)}.night-audio-button{margin-top:26px;min-height:64px}
 .night-playground-foot{flex-direction:column;align-items:flex-start;gap:8px;font-size:8px}.night-scene-corner{font-size:9px;left:15px;top:15px}.night-film-toggle{right:15px;top:12px;width:40px;height:40px}
 .night-shimmer-touch>span,.night-lanterns-touch>span{font-size:9px;left:16px;padding:12px 13px}
 .night-ripple-message{font-size:24px}
}
/* Restore inline-flex semantics for the night-only call to action. */
html[data-theme="night"] a.capsule-button.night-only{display:inline-flex!important}


/* L005 · From L003. Night-only header and film; daylight composition remains L003. */
:root { --lamp-gold: #f3b874; --masthead-night: #070b22; --night-header-height: 78px; }
/* Garamond/EB Garamond for headlines, Montserrat for interface and body copy. */
h1,h2,h3,h4 { font-family:var(--display-font); }
html[data-theme="night"] .top-stitch { display:none; }
.top-anchor { position:absolute;top:0;height:0;width:0; }

html[data-theme="night"] .site-header {
  height:var(--night-header-height);
  padding-inline:clamp(16px,3vw,45px);
  gap:0;
  background:var(--masthead-night);
  border-bottom:1px solid rgba(243,184,116,.16);
  backdrop-filter:none;-webkit-backdrop-filter:none;
  box-shadow:none;
}
html[data-theme="night"] .header-brand { flex:0 0 auto;align-items:center;min-height:52px; }
html[data-theme="night"] .brand-mark { width:47px;flex:0 0 47px; }
html[data-theme="night"] .site-header .brand-mark img,
html[data-theme="night"] .site-header .brand-script img {
  width:100%;height:auto;object-fit:contain;
  filter:drop-shadow(0 0 5px rgba(247,176,93,.33));
}
html[data-theme="night"] .brand-script {
  position:absolute;
  top:50%;left:50%;
  width:clamp(182px,19vw,260px);
  margin:0;
  transform:translate(-50%,-50%);
  z-index:1;
}
/* The centre is geometrically centred in the bar, never offset by icon widths. */
html[data-theme="night"] .desktop-nav { display:none!important; }
html[data-theme="night"] .header-actions { gap:12px;margin-left:auto; }
html[data-theme="night"] .mode-toggle {
  display:flex!important;min-width:0;width:35px;height:39px;
  padding:0;margin:0;
  border:0;border-radius:0;
  background:transparent;color:var(--lamp-gold);
  box-shadow:none;
}
html[data-theme="night"] .mode-toggle:hover { background:transparent;color:#ffd1a0; }
html[data-theme="night"] .mode-toggle .mode-icon { font-family:Georgia,serif;font-size:27px;font-weight:400;line-height:1;transform:translateY(-1px); }
html[data-theme="night"] .mode-toggle .mode-label,
html[data-theme="night"] .mode-toggle .mode-knob { display:none!important; }
/* Exactly three unframed hamburger strokes on the right. */
.menu-toggle span:nth-child(2) { display:none; }
html[data-theme="night"] .menu-toggle {
  display:flex!important;
  width:37px;height:40px;
  padding:0;margin:0;
  border:0;border-radius:0;
  flex-direction:column;justify-content:center;align-items:center;
  gap:5px;
  background:transparent;color:var(--lamp-gold);
}
html[data-theme="night"] .menu-toggle span { display:block;width:21px;height:1.5px;background:currentColor;border-radius:0;transition:transform .25s ease,opacity .25s ease; }
html[data-theme="night"] .menu-toggle[aria-expanded="true"] span:first-child {transform:translateY(6.5px) rotate(45deg);}
html[data-theme="night"] .menu-toggle[aria-expanded="true"] span:nth-child(2) {opacity:0;}
html[data-theme="night"] .menu-toggle[aria-expanded="true"] span:last-child {transform:translateY(-6.5px) rotate(-45deg);}
html[data-theme="night"] .mobile-nav {
  display:flex;
  position:fixed;
  z-index:98;
  top:var(--night-header-height);
  right:0;left:auto;bottom:auto;
  width:min(100%,460px);
  max-height:calc(100svh - var(--night-header-height));
  overflow:auto;
  flex-direction:column;
  padding:28px clamp(24px,3vw,42px) 30px;
  color:#f4e6db;
  background:#090d28;
  border-left:1px solid rgba(243,184,116,.17);
  border-bottom:1px solid rgba(243,184,116,.17);
  box-shadow:0 22px 55px #01020da8;
  visibility:hidden;opacity:0;
  transform:translateY(-9px);
  transition:visibility .25s,opacity .25s,transform .25s;
}
html[data-theme="night"] .mobile-nav.is-open {visibility:visible;opacity:1;transform:translateY(0);}
html[data-theme="night"] .mobile-nav .micro-text {margin:0 0 20px;color:var(--lamp-gold);}
html[data-theme="night"] .mobile-nav>a {border-top:1px solid rgba(243,184,116,.17);padding:16px 0;display:flex;align-items:baseline;gap:20px;font:400 clamp(30px,3vw,42px)/1 var(--display-font);}
html[data-theme="night"] .mobile-nav>a>span {font:700 10px var(--body-font);color:var(--lamp-gold);letter-spacing:.1em;}
html[data-theme="night"] .mobile-nav-bottom {padding-top:25px;color:var(--lamp-gold);font-size:9px;letter-spacing:.12em;text-align:right;}

/* The supplied night video is the very first element below the masthead. */
.night-opening {display:none!important;}
html[data-theme="night"] .night-opening.night-only {
  display:flex!important;
  justify-content:center;
  align-items:flex-start;
  padding:0;margin:0;
  width:100%;
  background:var(--masthead-night);
}
.night-opening-frame {position:relative;margin:0;line-height:0;width:max-content;max-width:100%;}
.night-opening video {
  display:block;
  width:auto;
  height:min(86svh,850px);
  max-width:100%;
  object-fit:contain;
  margin:0 auto;
  background:var(--masthead-night);
}
.night-opening-pause {
  position:absolute;right:12px;bottom:15px;z-index:2;
  display:grid;place-items:center;
  height:32px;width:32px;padding:0;
  border:1px solid rgba(243,184,116,.46);
  border-radius:50%;background:rgba(7,11,34,.7);
  color:var(--lamp-gold);font-size:12px;line-height:1;
  backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);
}
.night-opening-pause:hover,.night-opening-pause:focus-visible {background:rgba(13,18,47,.96);}
html[data-theme="night"] .hero {display:none!important;}
@media(max-width:700px) {
  :root { --night-header-height:70px; }
  html[data-theme="night"] .site-header { padding:0 15px 0 18px; }
  html[data-theme="night"] .brand-mark {width:40px;flex-basis:40px;}
  html[data-theme="night"] .brand-script {width:clamp(122px,37vw,162px);}
  html[data-theme="night"] .header-actions {gap:7px;}
  html[data-theme="night"] .mode-toggle {width:31px;}
  html[data-theme="night"] .mode-toggle .mode-icon {font-size:25px;}
  html[data-theme="night"] .menu-toggle {width:34px;}
  html[data-theme="night"] .night-opening-frame {width:100%;}
  html[data-theme="night"] .night-opening video {width:100%;height:auto;max-height:none;object-fit:cover;}
  html[data-theme="night"] .night-opening-pause {bottom:12px;right:12px;}
  html[data-theme="night"] .mobile-nav {width:100%;}
}
@media(max-width:350px) {
  html[data-theme="night"] .site-header {padding-inline:12px;}
  html[data-theme="night"] .brand-mark {width:34px;flex-basis:34px;}
  html[data-theme="night"] .brand-script {width:120px;}
  html[data-theme="night"] .header-actions {gap:3px;}
}


/* L006 / still garden, moving water only; new atmosphere and aquatic icon color. */
:root { --night-ice: #8ad8f0; }
html[data-theme="night"] .site-header { border-bottom-color:rgba(138,216,240,.18); }
html[data-theme="night"] .site-header .brand-mark img {
  filter:drop-shadow(0 0 5px rgba(80,189,231,.27));
}
/* Handwritten centered name stays gold as in L005. These are the icons only. */
html[data-theme="night"] .mode-toggle,
html[data-theme="night"] .menu-toggle { color:var(--night-ice); }
html[data-theme="night"] .mode-toggle:hover,
html[data-theme="night"] .menu-toggle:hover,
html[data-theme="night"] .mode-toggle:focus-visible,
html[data-theme="night"] .menu-toggle:focus-visible { color:#b4efff; }
/* Three visible strokes in the night hamburger; middle disappears only on open. */
html[data-theme="night"] .menu-toggle span:nth-child(2) { display:block!important; }
html[data-theme="night"] .menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity:0; }

.night-opening-sound {
  position:absolute;left:12px;bottom:15px;z-index:3;
  min-height:36px;padding:0 13px;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  border:1px solid rgba(138,216,240,.58);border-radius:999px;
  background:rgba(7,11,34,.74);color:var(--night-ice);
  font:600 9px/1 var(--body-font);letter-spacing:.10em;
  cursor:pointer;line-height:1;
  backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);
  transition:border-color .2s,color .2s,background .2s;
}
.night-opening-sound:hover,.night-opening-sound:focus-visible,
.night-opening-sound[aria-pressed="true"] {border-color:#b4efff;color:#d1faff;background:rgba(6,23,42,.89);}
.night-opening-sound .sound-symbol{font:normal 18px/1 Georgia,serif;transform:translateY(-1px)}
.night-opening-pause { color:var(--night-ice);border-color:rgba(138,216,240,.50); }
.night-opening-pause:hover,.night-opening-pause:focus-visible {color:#d1faff;}
@media(max-width:700px) {
  html[data-theme="night"] .night-opening-sound{bottom:12px;left:12px;}
}

/* Keep a single sound interface in After Dark; legacy synthesized HG radio remains available in daylight. */
html[data-theme="night"] .radio-widget { display:none!important; }


/* L008 — Mistical Spring artwork from user-provided demo font: rendered as carefully cropped, high-resolution
   graphic headlines. No font files are included in the published site. */
.sr-only { position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important; }
html[data-theme="night"] .starlit-heading { font-size:0!important;line-height:0!important;letter-spacing:0!important;max-width:100%;overflow:visible; }
html[data-theme="night"] .starlit-art { display:block;max-width:100%;height:auto;object-fit:contain;filter:drop-shadow(0 0 4px rgba(95,226,245,.19)) drop-shadow(0 0 16px rgba(84,204,238,.10)); }
html[data-theme="night"] .starlit-visual { display:block!important;width:100%; }
html[data-theme="night"] .starlit-afterdark { width:min(100%,545px);margin:0; }
html[data-theme="night"] .starlit-secrets { width:min(100%,635px);margin:0; }
html[data-theme="night"] .starlit-scene-title { width:min(100%,440px);margin:0 0 17px; }
html[data-theme="night"] .starlit-farewell { width:min(100%,680px);margin:25px auto 20px; }
html[data-theme="night"] .starlit-modal { width:min(100%,520px);margin:16px auto 27px; }
html[data-theme="night"] .secret-dialog .starlit-modal { width:min(100%,460px); }
@media(max-width:980px) {
  html[data-theme="night"] .starlit-afterdark { width:min(100%,500px); }
}
@media(max-width:700px) {
  html[data-theme="night"] .starlit-afterdark { width:min(100%,465px); }
  html[data-theme="night"] .starlit-secrets { width:min(100%,550px); }
  html[data-theme="night"] .starlit-scene-title { width:min(100%,395px); }
  html[data-theme="night"] .starlit-farewell { width:min(100%,470px); }
  html[data-theme="night"] .starlit-modal { width:min(100%,410px); }
}

/* L008: crisp Mistical Spring display lettering. Day world remains Garamond. */
html[data-theme="night"] .starlit-art{image-rendering:auto;}
