/* 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: "Helvetica Neue", "Arial", sans-serif;
  --display-font: "Bodoni MT", "Didot", "Times New Roman", 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%}}
