/* Vacanzia · shared components
   Mark · header · footer · Season Field · room rects · Field Ledger · hold furrow
   · divider · Home (hero, booking panel, sections) · desk shell · pending pages.
   Class prefixes: .vmark .top .foot .season-field/.plot/.wk .rooms .field-ledger
   .furrows/.seg .hold .divider .desk/.rail .desk-head .pick (Home summary). */

/* ── Mark ─────────────────────────────────── */
.vmark{display:inline-flex;flex-direction:column;align-items:center;gap:5px;color:inherit;line-height:1}
.vmark svg{width:46px;height:20px}
.vmark .m-mid{stroke:var(--wheat)}
.mark-word{font-family:var(--display);font-weight:500;font-size:19px;letter-spacing:.14em;line-height:1;padding-left:.14em;font-variation-settings:'opsz' 24}
.vmark-sm svg{width:38px;height:17px}
.vmark-sm .mark-word{font-size:16px}
.vmark-lg{align-items:flex-start}
.vmark-lg svg{width:56px;height:24px}
.vmark-lg .mark-word{font-size:21px}
.vmark.tone-ink{color:var(--ink)}
.vmark.tone-light{color:#F6F1E2}
.vmark.tone-light .m-mid{stroke:#D3B460}
.vmark.is-glyph{color:var(--field)}
.vmark.is-glyph svg{width:16px;height:7px}
.vmark.is-glyph .m-mid{stroke:currentColor}
.mark-link{text-decoration:none;color:inherit;display:inline-flex;border-radius:6px}

/* ── Header ───────────────────────────────── */
.top{z-index:30}
.top .wrap{display:flex;align-items:center;gap:28px;height:84px}
.top.is-overlay{position:absolute;inset:0 0 auto 0;color:#F6F1E2}
.top.is-solid{position:sticky;top:0;background:color-mix(in srgb,var(--page) 94%,transparent);backdrop-filter:saturate(1.2) blur(6px);-webkit-backdrop-filter:saturate(1.2) blur(6px);border-bottom:1px solid var(--rule);color:var(--ink)}
.top.is-solid .wrap{height:var(--header-h)}
.nav{display:flex;gap:26px;margin-left:auto;font-size:15px}
.nav a{text-decoration:none;opacity:.9;padding:6px 0;background:linear-gradient(var(--wheat),var(--wheat)) left bottom/0 1.5px no-repeat;transition:background-size var(--t-furrow) var(--plough)}
.nav a:hover,.nav a[aria-current="page"]{opacity:1;background-size:100% 1.5px}
.nav-mini{display:none;text-decoration:none;font-size:14.5px;font-weight:500;padding:8px 2px;white-space:nowrap}
.nav-mini[aria-current="page"]{background:linear-gradient(var(--wheat),var(--wheat)) left calc(100% - 4px)/100% 1.5px no-repeat}
.phone{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-size:15px;font-weight:500;white-space:nowrap}
.phone .ico{width:17px;height:17px}
.theme-btn{width:36px;height:36px;border-radius:var(--r-inner);border:1px solid var(--rule-strong);background:transparent;display:grid;place-items:center;cursor:pointer;color:inherit;flex:none;transition:border-color 160ms,background-color 160ms}
.theme-btn:hover{border-color:var(--field)}
.theme-btn svg{width:18px;height:18px}
.theme-btn.tone-overlay{border-color:rgb(246 241 226 / .35);background:rgb(35 48 18 / .25)}
.theme-btn.tone-overlay:hover{border-color:rgb(246 241 226 / .7)}
.theme-btn.tone-band{border-color:var(--band-rule);color:var(--band-ink)}
.theme-btn.tone-band:hover{border-color:rgb(241 236 221 / .45)}
/* the guest footer's theme switch: a plain text link */
.theme-link{background:none;border:0;padding:0;font:inherit;color:rgb(241 236 221 / .78);cursor:pointer;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;text-decoration-color:rgb(241 236 221 / .35)}
.theme-link:hover{color:var(--band-ink);text-decoration-color:currentColor}

/* ── Hero (Home) ──────────────────────────── */
.hero{position:relative;height:max(640px,70vh);max-height:820px;background:#3b4422;color:#F6F1E2;overflow:hidden}
.hero img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 45%;filter:saturate(.8) sepia(.14) brightness(.96)}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]) .hero img,:root:not([data-theme="light"]) .band img{filter:saturate(.8) sepia(.14) brightness(.78)}
}
:root[data-theme="dark"] .hero img,:root[data-theme="dark"] .band img{filter:saturate(.8) sepia(.14) brightness(.78)}
.hero::after{content:'';position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(180deg, rgb(20 27 10 / .55) 0%, rgb(20 27 10 / 0) 22%),
    linear-gradient(95deg, rgb(24 32 12 / .74) 0%, rgb(24 32 12 / .48) 34%, rgb(24 32 12 / 0) 62%),
    linear-gradient(0deg, rgb(24 32 12 / .28) 0%, rgb(24 32 12 / 0) 35%)}
.hero-copy{position:relative;z-index:2;padding-top:clamp(112px,14.5vh,150px)}
.hero-kicker{font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;opacity:.86;display:flex;gap:10px;align-items:center}
.hero-kicker::before{content:'';width:28px;height:2px;border-radius:2px;background:#D3B460}
.hero h1{margin-top:18px;font-family:var(--display);font-weight:500;font-size:clamp(40px,4vw,58px);line-height:1.04;letter-spacing:-.015em;max-width:22ch;font-variation-settings:'opsz' 72;text-wrap:balance}
.hero .yi{margin-top:10px;font-size:26px;color:rgb(233 213 152 / .85);line-height:1.2;display:inline-block}
.hero-sub{margin-top:12px;max-width:64ch;font-size:17px;line-height:1.55;color:rgb(246 241 226 / .9)}

/* ── Booking panel (Home) ─────────────────── */
.book{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:32px;align-items:start;position:relative;z-index:3}
.panel{grid-column:1 / span 8;margin-top:-136px;background:var(--surface);border-radius:var(--r-panel);box-shadow:var(--raise);padding:30px 30px 18px;border:1px solid var(--rule);min-width:0}
.panel-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;padding-bottom:18px}
.panel h2{font-family:var(--display);font-weight:500;font-size:34px;line-height:1.1;letter-spacing:-.01em;margin-top:6px;font-variation-settings:'opsz' 48}
.panel-sub{color:var(--muted);margin-top:6px;font-size:15.5px}
.live{text-align:right;font-size:14px;color:var(--muted);line-height:1.45;flex:none}
.live strong{color:var(--ink);font-weight:600}
.live-note{display:block;color:var(--muted);font-size:13px}
.live-note:empty{display:none}

/* ── Season Field ─────────────────────────── */
.legend{display:flex;flex-wrap:wrap;gap:8px 22px;padding:12px 0 14px;border-top:1px solid var(--rule);font-size:13px;color:var(--muted)}
.legend span{display:inline-flex;align-items:center;gap:8px}
.legend i{display:inline-block;width:10px;height:12px;border-radius:1px;background:var(--open-fill);box-shadow:inset 0 0 0 1px var(--rule-strong)}
.legend .lg-planted{background:var(--field);box-shadow:none}
.legend .lg-held{background:var(--wheat);box-shadow:none}
.legend .lg-maint{background:var(--open-fill);box-shadow:inset 0 0 0 1.5px var(--clay)}
.legend .lg-closed{background:repeating-linear-gradient(135deg,var(--rule-strong) 0 2px,transparent 2px 5px);box-shadow:inset 0 0 0 1px var(--rule-strong)}

.field-cols,.wk{display:grid;grid-template-columns:96px minmax(0,1fr) minmax(0,1fr);column-gap:10px}
.field-cols{font-size:12.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:6px 0 6px}
.field-cols span:not(:first-child){padding-left:14px}
.wk{border-top:1px solid var(--rule);align-items:stretch;position:relative}
.wk-label{padding:13px 0 10px;display:flex;flex-direction:column;gap:2px}
.wk-date{font-family:var(--display);font-size:19px;font-weight:500;line-height:1.15;font-variation-settings:'opsz' 24}
.wk-mark{font-family:var(--display);font-style:italic;font-size:14px;color:var(--muted);line-height:1.2}
.wk.is-past .wk-label{opacity:.55;padding:8px 0 6px}
.wk.is-past .plot{padding-top:8px;padding-bottom:10px;margin:2px 0}
.today-line{grid-column:1 / -1;display:flex;align-items:center;gap:10px;font-size:12.5px;font-weight:600;color:var(--ink);letter-spacing:.02em;margin:-9px 0 0;height:18px;position:relative;z-index:1}
.today-line::before,.today-line::after{content:'';height:2px;background:var(--wheat);border-radius:2px}
.today-line::before{width:18px}
.today-line::after{flex:1}
.today-line span{background:var(--surface);padding:0 2px}

.plot{position:relative;display:flex;flex-direction:column;gap:7px;padding:12px 14px 15px;margin:4px 0;border-radius:var(--r-inner);text-align:left;background:transparent;border:1px solid transparent;cursor:pointer;min-width:0;transition:background-color 200ms;color:inherit;font:inherit}
.plot:hover{background:var(--tint)}
.plot.is-selected{background:var(--sel);border-color:color-mix(in srgb,var(--wheat) 55%,transparent)}
.plot::after{content:'';position:absolute;left:14px;right:14px;bottom:5px;height:2px;border-radius:2px;background:var(--wheat);transform:scaleX(0);transform-origin:left;transition:transform var(--t-furrow) var(--plough)}
.plot.is-selected::after{transform:scaleX(1)}
.plot[aria-disabled="true"]{cursor:not-allowed}
.plot[aria-disabled="true"]:hover{background:transparent}
.plot.is-past{opacity:.5}
.plot.is-dim{opacity:.62}
.plot.is-empty{cursor:default}
.plot.is-empty:hover{background:transparent}
.plot-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px;min-width:0}
.plot-dates{font-weight:600;font-size:15px;white-space:nowrap}
.plot-count{font-size:14px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.plot.is-few .plot-count{color:var(--clay);font-weight:600}
.plot.is-full .plot-count,.plot.is-closed .plot-count{color:var(--ink)}
.plot-note{line-height:1.3;color:var(--muted);font-family:var(--display);font-style:italic;font-size:14px}
.plot.is-few .plot-note{color:var(--clay);font-style:normal;font-family:var(--ui);font-size:13px;font-weight:500}
.plot-held{font-size:13px;font-weight:600;color:var(--ink);display:flex;gap:6px;align-items:center}
.plot-held::before{content:'';width:8px;height:11px;border-radius:1px;background:var(--wheat)}
.season-field.is-compact .wk-label{padding:9px 0 6px}
.season-field.is-compact .plot{padding:8px 12px 11px;gap:5px;margin:2px 0}
.season-field.is-compact .wk-date{font-size:17px}

.strip{position:relative;display:block;height:12px;border-radius:2px;background:var(--furrow);overflow:hidden}
.strip-fill{position:absolute;inset:0;transform-origin:left center;background:var(--field);transform:scaleX(var(--share,1));animation:plough var(--t-plough) var(--plough) backwards}
.strip.is-fallow{background:repeating-linear-gradient(135deg,var(--rule-strong) 0 2px,transparent 2px 6px);box-shadow:inset 0 0 0 1px var(--rule-strong)}

.season-field:not(.show-past) .wk.is-past{display:none}
/* past weeks fold into one 44px row: "4 past sessions · Show" */
.past-row{display:flex;align-items:center;gap:8px;width:100%;height:44px;padding:0;border:0;border-top:1px solid var(--rule);background:none;font:inherit;font-size:14px;color:var(--muted);cursor:pointer;text-align:left}
.past-link{color:var(--ink);font-weight:600;padding-bottom:2px;background:linear-gradient(var(--wheat),var(--wheat)) left bottom/100% 1.5px no-repeat;transition:background-size var(--t-furrow) var(--plough)}
.past-row:hover .past-link{background-image:linear-gradient(var(--field),var(--field))}
.past-row{margin-bottom:8px}
.season-field.is-staff .past-row{padding-left:2px}
.field-msg{min-height:22px;margin-top:10px;font-size:14.5px;color:var(--ink);display:flex;gap:8px;align-items:flex-start}
.field-msg:not(:empty)::before{content:'';flex:none;width:14px;height:6px;margin-top:8px;border-radius:1px;background:repeating-linear-gradient(90deg,var(--muted) 0 2px,transparent 2px 4px)}

/* ── Room rects (40 per session) ──────────── */
.rooms{display:block;width:100%;height:12px;overflow:visible}
.rooms rect{transform-box:fill-box;transform-origin:left center;animation:plough 380ms var(--plough) backwards;animation-delay:calc(var(--c, 0) * 40ms + var(--r, 0) * 6ms);transition:fill var(--t-furrow) ease,stroke var(--t-furrow) ease}
.rooms.no-anim rect{animation:none}
/* Plough once: the field ploughs in on the first page of a browser session and
   is simply there afterwards (index.html sets .is-ploughed from sessionStorage).
   A family's own rooms on the confirmation still plant in: that is the success gesture. */
:root.is-ploughed .rooms rect,:root.is-ploughed .strip-fill,:root.is-ploughed .day-bar i,:root.is-ploughed .dk-tonight-row i{animation:none}
:root.is-ploughed .planted .rooms .r-taken{animation:plough 380ms var(--plough) backwards;animation-delay:calc(400ms + var(--r, 0) * 6ms)}
.rooms .r-taken{fill:var(--field);stroke:none}
.wk.is-alt .rooms .r-taken{fill:var(--field-alt)}
.rooms .r-open{fill:var(--open-fill);stroke:var(--rule-strong);stroke-width:1}
.rooms .r-held{fill:var(--wheat);stroke:none}
.rooms .r-blocked{fill:url(#vz-hatch);stroke:var(--rule-strong);stroke-width:1}
.rooms .r-maintenance{fill:var(--open-fill);stroke:var(--clay);stroke-width:1.5}
.hatch-line{fill:var(--rule-strong)}

/* ── Field Ledger ─────────────────────────── */
.field-ledger{display:flex;flex-direction:column}
.furrows{display:flex;gap:4px;padding:2px 0 10px 30px}
.seg-wrap{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.seg{min-width:0;height:14px;border-radius:1px;box-shadow:inset 0 0 0 1px var(--rule-strong);display:flex;align-items:center;gap:2px;padding:0 4px;transform-origin:left center;transition:background-color var(--t-furrow)}
.seg.is-planted{background:var(--field);box-shadow:none;animation:plough var(--t-plough) var(--plough)}
.seg.is-out{box-shadow:none;background:repeating-linear-gradient(90deg,var(--rule-strong) 0 1px,transparent 1px 4px);opacity:.7}
.seg-label{font-size:11.5px;font-weight:600;color:var(--muted);letter-spacing:.02em}
.tick{width:3px;height:8px;border-radius:1px;background:var(--on-field);flex:none}
.tick.is-third{background:var(--wheat)}
.tick.is-matt{width:2px;margin-left:1px;background:repeating-linear-gradient(180deg,var(--on-field) 0 1.5px,transparent 1.5px 3px)}
.field-ledger > .furrows{padding-left:0}

.capacity{display:flex;gap:8px;align-items:flex-start;font-size:14px;padding:9px 0 10px;border-top:1px solid var(--rule);color:var(--muted)}
.capacity.is-over{color:var(--clay);font-weight:500}
.capacity .ico{width:18px;height:18px;margin-top:1px}

.pkg{display:flex;justify-content:space-between;align-items:baseline;gap:12px;border-top:1px solid var(--rule);padding-top:14px}
.pkg-name{font-family:var(--display);font-size:19px;font-weight:500;font-variation-settings:'opsz' 24}
.lines{margin-top:8px}
.line{display:flex;align-items:baseline;gap:0;font-size:14.5px;padding:4px 0}
.line-label{white-space:nowrap}
.line-label small{color:var(--muted);font-size:13px;margin-left:6px}
.leader{flex:1;min-width:16px;margin:0 8px;border-bottom:1.5px dotted var(--rule-strong);transform:translateY(-4px)}
.line-amt{font-weight:500}
.plough-enter-active{transition:clip-path var(--t-plough) var(--plough),opacity 300ms}
.plough-leave-active{transition:clip-path var(--t-furrow) var(--plough),opacity 240ms}
.plough-enter-from,.plough-leave-to{clip-path:inset(0 100% 0 0);opacity:0}
.plough-enter-to,.plough-leave-from{clip-path:inset(0 0 0 0)}
.total{display:flex;justify-content:space-between;align-items:baseline;margin-top:10px;padding-top:12px;border-top:1.5px solid var(--ink)}
.total-label{font-weight:600}
.total-amt{font-size:30px;font-weight:600;letter-spacing:-.01em}
.field-ledger.is-compact .total-amt{font-size:22px}
.due{display:flex;justify-content:space-between;gap:12px;font-size:14.5px;margin-top:4px}
.due strong{font-weight:600}
.due-note{font-size:13px;color:var(--muted);margin-top:3px;line-height:1.45}

/* ── Hold furrow ──────────────────────────── */
.hold{display:flex;flex-direction:column}
.hold-furrow{position:relative;display:block;height:11px;margin:12px 0 4px}
.hold-furrow::before{content:'';position:absolute;left:0;right:0;top:4px;height:3px;background:var(--furrow)}
.hold-furrow i{position:absolute;left:0;right:0;top:4px;height:3px;background:var(--wheat);transform-origin:left center;transition:transform 260ms linear}
.hold-furrow svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.hold-furrow line{stroke:var(--muted);stroke-width:1}
.hold-furrow line.is-late{stroke:var(--clay)}
.hold.is-late .hold-furrow i{background:var(--clay)}
.hold-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.hold-time{display:flex;align-items:baseline;gap:6px;min-width:0}
.hold-clock{font-size:28px;font-weight:600;letter-spacing:.01em;font-variant-numeric:tabular-nums lining-nums}
.hold-label{font-size:13.5px;font-weight:500;color:var(--muted)}
.hold.is-late .hold-clock{color:var(--clay)}
.hold.is-bare .hold-furrow{margin:0}

/* ── Divider (Q-arc family) ───────────────── */
.divider{display:block;width:100%;height:48px;color:var(--rule-strong);margin-bottom:56px}
.divider .mid{stroke:var(--wheat)}
.divider.is-tight{margin-bottom:24px}
.divider.is-flat{height:40px}

/* ── Home: the summary beside the field ───── */
.pick{grid-column:9 / span 4;position:sticky;top:var(--pick-top,20px);align-self:start;margin-top:30px;min-width:0}
.pick-body{border-top:1.5px solid var(--ink);padding-top:16px}
.ledger-dates{font-family:var(--display);font-weight:500;font-size:27px;line-height:1.12;letter-spacing:-.005em;margin-top:4px;font-variation-settings:'opsz' 36;text-wrap:balance}
.ledger-times{color:var(--muted);font-size:14.5px;margin-top:6px}
.ledger-note{margin-top:10px;font-size:14px;padding:8px 12px;border-radius:var(--r-inner);background:var(--tint);border-left:2px solid var(--wheat)}
.pick-field{margin-top:16px;padding:14px 0 12px;border-top:1px solid var(--rule)}
.pick-field .rooms{height:18px}
.pick-count{font-size:14px;color:var(--muted);margin-top:10px}
.pick-count strong{color:var(--ink);font-weight:600}
.by-phone{margin-left:10px;font-size:12.5px;font-weight:500;color:var(--muted);white-space:nowrap}
.pick-menu{display:flex;gap:10px;align-items:center;font-size:14.5px;padding:10px 0;border-top:1px solid var(--rule)}
.pick-menu .ico{color:var(--field)}
.pick-lines{margin-top:0;padding-top:6px;border-top:1px solid var(--rule)}
.pick-fallow{margin:16px 0 18px}
.pick-pkg{display:block;padding-top:14px;border-top:1px solid var(--rule);margin-bottom:4px}
.pick-pkg + .pick-lines{border-top:0;padding-top:0}
.pick .due-note{margin-top:8px}
.pick .cta{margin-top:18px}
.promise{font-size:13.5px;color:var(--muted);margin-top:10px;line-height:1.45}
.pick-hold{margin-top:4px}
.held-title{font-weight:600;font-size:15px;margin-top:8px}
.held-sub{font-size:13.5px;color:var(--muted);margin-top:2px}
.pick-bar{display:none}

/* ── Sections (Home) ──────────────────────── */
.section{padding:120px 0 0}
.sec-head{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:32px;align-items:end}
.sec-head h2{grid-column:1 / span 6;font-family:var(--display);font-weight:500;font-size:clamp(34px,3.6vw,48px);line-height:1.05;letter-spacing:-.012em;font-variation-settings:'opsz' 60}
.sec-head p{grid-column:8 / span 5;color:var(--muted);font-size:16.5px}
.dayline{margin-top:52px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:24px;position:relative}
/* the stay as three 6px segments, one per day: in at 3 PM, out by 11 AM */
.day-bar{display:flex;align-items:center;gap:10px;height:18px;margin-bottom:16px}
.day-bar i{display:block;flex:1;height:6px;border-radius:1px;background:var(--field);transform-origin:left center;animation:plough var(--t-plough) var(--plough) backwards}
.day-bar.is-start{justify-content:flex-end}
.day-bar.is-start i,.day-bar.is-end i{flex:0 0 55%}
.day:nth-child(2) .day-bar i{animation-delay:120ms}
.day:nth-child(3) .day-bar i{animation-delay:240ms}
.day-bar b{font-size:12.5px;font-weight:600;color:var(--muted);white-space:nowrap}
.day-name{font-family:var(--display);font-size:24px;font-weight:500;font-variation-settings:'opsz' 30}
.day-when{font-size:13.5px;color:var(--muted);margin-top:2px}
.day ul{margin-top:16px;display:grid;gap:10px}
.day li{display:flex;gap:12px;align-items:flex-start;font-size:15.5px;padding-bottom:10px;border-bottom:1px solid var(--rule)}
.day li .ico{color:var(--field);margin-top:2px}
.day li span small{display:block;font-size:13px;color:var(--muted)}
.day .yi{font-size:18px}
.facts{margin-top:80px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:32px;row-gap:36px}
.facts h3{font-size:12.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding-bottom:12px;border-bottom:1.5px solid var(--ink)}
.facts li{font-size:15px;padding:11px 0;border-bottom:1px solid var(--rule);line-height:1.45}
.facts li b{font-weight:600}
.qa{margin-top:48px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:64px}
.qa div{padding:22px 0;border-top:1px solid var(--rule)}
.qa dt{font-family:var(--display);font-size:21px;font-weight:500;line-height:1.25;font-variation-settings:'opsz' 24}
.qa dd{margin-top:8px;color:var(--muted);font-size:15.5px;max-width:52ch}
.qa dd a{color:var(--ink);text-underline-offset:3px}

/* ── Image band (Home): lane level, one line, no button ─ */
.band{position:relative;height:420px;margin-top:120px;background:#5A6236;overflow:hidden;color:#F6F1E2}
:root[data-theme="dark"] .band{background:#2E3720}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .band{background:#2E3720} }
.band img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 62%;filter:saturate(.8) sepia(.14) brightness(.96)}
.band::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg, rgb(24 32 12 / .62) 0%, rgb(24 32 12 / .28) 38%, rgb(24 32 12 / 0) 60%),linear-gradient(0deg, rgb(24 32 12 / .5) 0%, rgb(24 32 12 / 0) 45%)}
.band-copy{position:relative;z-index:2;height:100%;display:flex;align-items:flex-end;padding-bottom:44px}
.band-line{font-family:var(--display);font-weight:400;font-size:28px;line-height:1.2;letter-spacing:-.005em;color:#FBF8EF;max-width:none;font-variation-settings:'opsz' 36;text-wrap:balance;text-shadow:0 1px 18px rgb(18 23 13 / .35)}
.band + .section{padding-top:96px}

/* ── Footer ───────────────────────────────── */
.foot{margin-top:120px;background:var(--band);color:var(--band-ink);padding:64px 0 48px}
.foot-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:32px;row-gap:32px}
.foot-mark{grid-column:1 / span 3;align-self:start}
.foot address{grid-column:4 / span 4;font-style:normal;font-size:15px;line-height:1.7;color:rgb(241 236 221 / .82)}
.foot address a{text-decoration:none}
.foot address a:hover{text-decoration:underline}
.foot-yi{grid-column:8 / span 5;text-align:right}
.foot-yi .yi{font-size:30px;color:#E9D598;line-height:1.2}
.foot-yi p:last-child{font-size:13.5px;color:rgb(241 236 221 / .65);margin-top:4px}
.foot-base{margin-top:48px;padding-top:18px;border-top:1px solid var(--band-rule);font-size:13px;color:rgb(241 236 221 / .6);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.foot-base-r{display:flex;gap:20px;flex-wrap:wrap}
.foot-desk{color:rgb(241 236 221 / .78);text-decoration:none;display:inline-flex;align-items:center;gap:6px}
.foot-desk::before{content:'';width:8px;height:10px;border-radius:1px;box-shadow:inset 0 0 0 1px rgb(241 236 221 / .5)}
.foot-desk:hover{color:var(--band-ink);text-decoration:underline;text-underline-offset:3px}

/* ── Pending pages (a heading, a fallow strip, one sentence) ─ */
.pending .fallow{max-width:320px;margin:22px 0 18px}
.pending .h1{margin-top:8px}
.pending-lead{font-size:17px;color:var(--muted);max-width:64ch;text-wrap:pretty}
.pending-actions{margin-top:28px}
main:not(.has-hero) > .page.pending{min-height:52vh}

/* ── Desk shell ───────────────────────────── */
.desk{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100vh}
.rail{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;background:var(--band);color:var(--band-ink);padding:26px 18px 22px;overflow-y:auto;border-right:1px solid var(--band-rule)}
.rail-top{display:grid;grid-template-columns:1fr auto;align-items:start;row-gap:6px;padding:0 6px}
.rail-mark{text-decoration:none;color:inherit;border-radius:6px;justify-self:start;grid-column:1}
.rail-mark .vmark{align-items:flex-start}
.rail-theme{grid-column:2;grid-row:1}
.rail-title{grid-column:1 / -1;margin-top:18px;font-size:12.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--band-muted)}
.rail-clock{grid-column:1 / -1;font-size:14px;font-weight:500;color:var(--band-ink);display:flex;align-items:center;gap:8px}
.rail-clock::before{content:'';width:8px;height:10px;border-radius:1px;background:#D3B460;flex:none}
.rail-nav{display:flex;flex-direction:column;gap:2px;margin-top:26px;padding-top:14px;border-top:1px solid var(--band-rule)}
.rail-link{display:flex;align-items:center;gap:12px;min-height:44px;padding:0 12px;border-radius:var(--r-inner);text-decoration:none;font-size:15px;font-weight:500;color:rgb(241 236 221 / .78);position:relative;transition:background-color 160ms,color 160ms}
.rail-link .ico{color:rgb(241 236 221 / .6)}
.rail-link:hover{background:rgb(241 236 221 / .06);color:var(--band-ink)}
.rail-link[aria-current="page"]{background:rgb(241 236 221 / .09);color:var(--band-ink)}
.rail-link[aria-current="page"] .ico{color:#E2C878}
.rail-link[aria-current="page"]::after{content:'';position:absolute;left:12px;right:12px;bottom:6px;height:2px;border-radius:2px;background:#D3B460;transform-origin:left;animation:plough var(--t-furrow) var(--plough)}
.rail-foot{margin-top:auto;padding:16px 6px 0;border-top:1px solid var(--band-rule);display:flex;flex-direction:column;gap:10px}
.rail-place{font-size:13px;line-height:1.5;color:var(--band-muted)}
.rail-site{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:var(--band-ink);text-decoration:none;min-height:36px}
.rail-site .ico{width:16px;height:16px}
.rail-site:hover{text-decoration:underline;text-underline-offset:3px}
.desk-main{min-width:0;outline:none}
.desk-page{padding:40px 44px 72px;max-width:1240px}
.desk-head{display:flex;flex-direction:column;gap:6px;padding-bottom:22px;border-bottom:1.5px solid var(--ink);margin-bottom:28px}
.desk-head-row{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.desk-h1{font-family:var(--display);font-weight:500;font-size:clamp(30px,3vw,40px);line-height:1.06;letter-spacing:-.01em;font-variation-settings:'opsz' 48}
.desk-sub{color:var(--muted);font-size:15.5px;max-width:64ch}
.desk-page.pending .fallow{margin:4px 0 16px}
.desk-page.pending .desk-head{margin-bottom:24px}

/* ── Tablet & phone ───────────────────────── */
@media (max-width: 1080px){
  .nav{gap:18px}
  .panel{padding:26px 22px 16px}
}
@media (max-width: 959px){
  .nav{display:none}
  .nav-mini{display:inline-flex;margin-left:auto}
  .top .wrap{gap:14px}
  .panel{grid-column:1 / -1;margin-top:-96px}
  .pick{display:none}
  .pick-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:50;align-items:center;gap:12px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--rule-strong);box-shadow:0 -18px 40px -28px rgb(35 48 18 / .45);border-radius:14px 14px 0 0;animation:bar-up 360ms var(--plough)}
  .pick-bar:has(.bar-furrow){padding-top:22px}
  .bar-furrow{position:absolute;left:16px;right:16px;top:8px}
  .bar-furrow .hold-furrow{height:7px}
  .bar-furrow .hold-furrow::before,.bar-furrow .hold-furrow i{top:2px}
  .bar-sum{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.25}
  .bar-dates{font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .bar-count{font-size:13.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .bar-btn{min-height:46px;padding:0 18px;flex:none;font-size:15px}
  body.has-pick-bar{padding-bottom:78px}
  .section{padding-top:88px}
  .sec-head h2,.sec-head p{grid-column:1 / -1}
  .sec-head p{margin-top:12px}
  .facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .band{margin-top:88px}
  .foot-mark{grid-column:1 / -1}
  .foot address{grid-column:1 / span 6}
  .foot-yi{grid-column:7 / span 6}
  .desk{grid-template-columns:minmax(0,1fr);min-height:0}
  .rail{position:sticky;top:0;z-index:40;height:auto;padding:12px 16px 0;overflow:visible;border-bottom:1px solid var(--band-rule)}
  .rail-top{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:16px;row-gap:2px;padding:0}
  .rail-mark{grid-column:1;grid-row:1 / span 2}
  .rail-title{grid-column:2;grid-row:1;margin:0;font-size:11.5px;align-self:end}
  .rail-clock{grid-column:2;grid-row:2;font-size:13px;align-self:start;white-space:nowrap;overflow:hidden}
  .rail-clock::before{width:6px;height:8px}
  .rail-theme{grid-column:3;grid-row:1 / span 2}
  .rail-nav{flex-direction:row;gap:4px;margin:10px -16px 0;padding:0 12px;border-top:1px solid var(--band-rule);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;max-width:100vw}
  .rail-nav::-webkit-scrollbar{display:none}
  .rail-link{flex:none;min-height:46px;padding:0 12px;gap:8px;font-size:14.5px;border-radius:0;background:transparent!important}
  .rail-link .ico{width:18px;height:18px}
  .rail-link[aria-current="page"]::after{bottom:0;left:8px;right:8px}
  .rail-foot{display:none}
  .desk-page{padding:28px 24px 64px}
}
@keyframes bar-up{from{transform:translateY(100%)}}
@media (max-width: 640px){
  .book,.sec-head,.foot-grid{column-gap:16px}
  .top .wrap{height:68px;gap:12px}
  .top.is-solid .wrap{height:60px}
  .vmark-md .mark-word{font-size:16px}
  .vmark-md svg{width:38px;height:17px}
  .rooms{height:10px}
  .phone span{display:none}
  .phone{width:36px;height:36px;border-radius:var(--r-inner);border:1px solid var(--rule-strong);justify-content:center;flex:none}
  .top.is-overlay .phone{border-color:rgb(246 241 226 / .35);background:rgb(35 48 18 / .25)}
  .nav-mini{font-size:14px}
  .hero{height:max(560px,72vh)}
  .hero::after{background:linear-gradient(180deg, rgb(20 27 10 / .7) 0%, rgb(20 27 10 / .5) 55%, rgb(20 27 10 / .2) 100%)}
  .hero img{object-position:58% 50%}
  .hero-copy{padding-top:100px}
  .hero h1{font-size:38px}
  .br-d{display:none}
  .hero-sub{font-size:15.5px}
  .panel{margin-top:-48px;padding:22px 14px 12px;border-radius:var(--r-panel)}
  .panel-head{flex-direction:column;align-items:flex-start;gap:12px;padding:0 4px 14px}
  .panel h2{font-size:28px}
  .live{text-align:left}
  .legend{padding:12px 4px;gap:8px 16px}
  .field-cols{display:none}
  .wk{grid-template-columns:1fr;padding-bottom:6px}
  .wk-label{flex-direction:row;align-items:baseline;gap:10px;padding:14px 4px 2px}
  .wk-date::before{content:'Week of '}
  .plot{margin:2px 0}
  .plot.is-empty{display:none}
  .past-row{padding:0 4px}
  .today-line{margin-top:-9px}
  .field-msg{padding:0 4px}
  .section{padding-top:72px}
  .divider{margin-bottom:36px}
  .dayline{grid-template-columns:1fr;row-gap:36px;margin-top:36px}
  .day-bar{margin-bottom:12px}
  .band{height:240px;margin-top:72px}
  .band img{object-position:30% 60%}
  .band::after{background:linear-gradient(0deg, rgb(24 32 12 / .66) 0%, rgb(24 32 12 / .2) 60%, rgb(24 32 12 / 0) 100%)}
  .band-copy{padding-bottom:24px}
  .band-line{font-size:24px}
  .band + .section{padding-top:64px}
  .facts{grid-template-columns:1fr;margin-top:56px}
  .qa{grid-template-columns:1fr}
  .foot address,.foot-yi{grid-column:1 / -1}
  .foot-yi{text-align:right}
  .bar-btn{padding:0 14px}
  .desk-page{padding:22px 16px 56px}
}
@media (max-width: 380px){
  .nav-mini{display:none}
}

@media (prefers-reduced-motion: reduce){
  .strip-fill,.rooms rect,.seg.is-planted,.day-bar i{animation:fadein 400ms both!important;animation-delay:0ms!important}
  :root.is-ploughed .rooms rect,:root.is-ploughed .strip-fill,:root.is-ploughed .day-bar i{animation:none!important}
  .rail-link[aria-current="page"]::after{animation:none}
  .pick-bar{animation:fadein 300ms}
}
