/* ============================================================
   /visit — the Visit hub (v13)
   ------------------------------------------------------------
   Brief:     docs/briefs/2026-08-30-visit-family-wp-port.md (AC 1)
   Prototype: prototypes/13/04-visit-page.html @ ce2bea7f
   Enqueued:  functions.php, gated to is_page('visit'), plus the
              rhinory-v4-visit-hub-editor handle for the Site Editor
              canvas.

   REGISTER. Dark chrome (nav / campaign bar / footer) around a mostly
   LIGHT paper body. Two deliberate dark breaks: the arrival band
   (#arrival) and the dual-path closer.

   SCOPE. Every rule below hangs off .rhinory-visit-hub (the block
   wrapper). That is not cosmetic: .dir-mode, .dir-grid, .map-card and
   .light-warm all already exist in the theme (visit.css / about.css),
   so an unscoped port would repaint the v6 surfaces that still use
   them. The prototype's own page-shell rules (.skip-link, #content,
   bare `a`, main.light-warm) are deliberately NOT ported — the theme
   shell owns those, and the register arrives through the token block
   below.

   TOKENS. The prototype resolves these from styles.css :root plus the
   .light-warm block in v13-shared.css. Only the subset this page
   actually reads is declared, same call club.css makes.
   ============================================================ */

/* Declared on BOTH the template <main> and the block wrapper: the front end
   gets the tokens from the page shell, and the Site Editor canvas — which
   renders the block on its own, with no <main> around it — gets the identical
   set from .rhinory-visit-hub. */
.rhinory-page--visit-hub,
.rhinory-visit-hub{
  /* dark register (styles.css :root) */
  --reserve:#211B18;
  --reserve-2:#2A221E;
  --ink:#1C1916;
  --ivory:#F3F2ED;
  --acacia:#B97727;
  --rhino:#A8A199;
  --rule:rgba(243,242,237,0.16);
  --gold-soft:#E2C58F;
  /* light / paper register (v13-shared.css .light-warm) */
  --paper:#FBF7EE;
  --card:#F4EEE0;
  --card-2:#EAE1CE;
  --ink-warm:#2D2926;
  --ink-warm-2:#3A352F;
  --rhino-warm:#717271;
  --rule-warm:rgba(45,41,38,0.10);
  --rule-warm-2:rgba(45,41,38,0.18);
  --burgundy:#520000;
  /* shared type scale (v13-shared.css :root) */
  --type-hero:clamp(46px,6vw,84px);
  --type-h2:clamp(40px,5.4vw,76px);
  --type-h3:clamp(26px,2.6vw,34px);
  --type-lede:18px;
  --type-body:16px;
  background:var(--paper);
  color:var(--ink-warm);
}

/* The prototype's base type is the browser default 16px/1.55; theme.json puts
   the site on 17px. Pinned so every inherited-size element measures the same
   as the design (same call club.css / login.css make for their v13 surfaces). */
.rhinory-visit-hub{
  font-family:"Lora",Georgia,serif;
  font-size:16px;
  line-height:1.55;
}
/* The prototype's `main.light-warm a:not(.va-btn):hover` rule, scoped. */
.rhinory-visit-hub a:not(.va-btn):hover{color:#520000}
/* styles.css base: images are blocks and links carry no underline. Site-wide in
   the prototype, scoped here so the rest of the theme is untouched. */
.rhinory-visit-hub img{max-width:100%;display:block}
.rhinory-visit-hub a{color:inherit;text-decoration:none}
/* The prototype's global button reset. Needed because the reserve CTAs ship as
   real <button>s here rather than the prototype's `href="#"` anchors — the
   drawer delegates on [data-rhinory-reserve] via closest(), so both work, and a
   control that opens a panel is a button, not a dead link. */
.rhinory-visit-hub button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}

/* theme.json's `elements.heading` sets letter-spacing:-0.01em and line-height:1
   site-wide; the prototype has no equivalent, so a heading there falls to the UA
   default and inherits the body's 1.55. Most ported heading rules state their
   own tracking and leading and so override theme.json anyway, but the two that
   do not measured off the design: .va-seat h3 inherited -0.27px tracking, and
   .dir-block h4 rendered at 11px leading instead of 17.05px. Both are
   neutralized to what the prototype's cascade actually produces, ABOVE the
   ported rules so every authored value below still wins on source order. */
.rhinory-visit-hub :is(h1,h2,h3,h4,h5,h6){letter-spacing:normal;line-height:inherit}

/* Two prototype inline styles, lifted into real rules: the "Drive times" label's
   top margin, and the burgundy cast on the afternoon section's quiet link. */
.rhinory-visit-hub .dir-block h4.dir-drive-head{margin-top:40px}
.rhinory-visit-hub .va-quiet--burgundy{color:#520000;border-bottom-color:rgba(82,0,0,0.28)}
.rhinory-visit-hub .va-quiet--burgundy:hover{border-bottom-color:#520000}

/* ============ ported prototype rules (scoped, otherwise verbatim) ============ */

/* v13 vocabulary only. Accents locked: acacia #B97727 (dark) · burgundy #520000 (light).
   Cormorant 500 light / 600 dark. Registers: paper body, ink band for the arrival. */
.rhinory-visit-hub .va-wrap{max-width:1360px;margin:0 auto;padding:0 40px}

/* ---- HERO · light + cinematic. One line, then the property revealed. ---- */
.rhinory-visit-hub .va-hero{background:var(--paper);color:var(--ink-warm)}
.rhinory-visit-hub .va-hero-type{max-width:1360px;margin:0 auto;padding:clamp(52px,8vh,92px) 40px clamp(40px,6vh,64px);text-align:center}
.rhinory-visit-hub .va-hero h1{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;font-size:var(--type-hero);line-height:1.0;letter-spacing:-0.012em;color:var(--ink-warm);margin:0 auto;max-width:17ch;text-wrap:balance}
.rhinory-visit-hub .va-hero h1 em{font-style:italic;font-weight:500;color:#520000}
.rhinory-visit-hub .va-hero-film{position:relative;width:100%;height:clamp(420px,74svh,760px);overflow:hidden;background:var(--card-2)}
.rhinory-visit-hub .va-hero-film .rh-clip{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.94) contrast(1.04)}
.rhinory-visit-hub .va-cap{position:absolute;left:0;bottom:0;z-index:2;display:flex;align-items:center;gap:10px;background:rgba(251,247,238,0.82);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);padding:12px 20px 11px;font-family:"Josefin Sans",sans-serif;font-size:10px;font-weight:600;letter-spacing:0.22em;text-transform:uppercase;color:#520000}
.rhinory-visit-hub .va-cap::before{content:"";width:22px;height:1px;background:#520000}
.rhinory-visit-hub .va-cap small{font-size:10px;letter-spacing:0.22em;color:var(--rhino-warm)}
.rhinory-visit-hub .va-rv{opacity:0;transform:translateY(20px);transition:opacity 1s cubic-bezier(.2,.7,.2,1),transform 1s cubic-bezier(.2,.7,.2,1)}
.rhinory-visit-hub.is-ready .va-rv{opacity:1;transform:translateY(0)}
.rhinory-visit-hub.is-ready .va-rv.d1{transition-delay:.1s}
.rhinory-visit-hub.is-ready .va-rv.d2{transition-delay:.2s}

/* ---- THE FORK · two doors, two registers. Rhino leads, dark. ---- */
.rhinory-visit-hub .va-fork{background:var(--card);color:var(--ink-warm);padding:clamp(72px,9vh,120px) 0;border-top:1px solid var(--rule-warm-2);border-bottom:1px solid var(--rule-warm-2)}
.rhinory-visit-hub .va-fork-head{max-width:1360px;margin:0 auto 52px;padding:0 40px}
.rhinory-visit-hub .va-fork-head h2{font-family:"Cormorant Garamond",serif;font-weight:500;font-size:var(--type-h2);line-height:1.02;letter-spacing:-0.008em;color:var(--ink-warm);margin:0 0 16px;max-width:24ch}
.rhinory-visit-hub .va-fork-head h2 em{font-style:italic;font-weight:500;color:#520000}
.rhinory-visit-hub .va-fork-head p{font-family:"Lora",Georgia,serif;font-size:var(--type-lede);line-height:1.66;color:var(--ink-warm-2);margin:0;max-width:54ch}
.rhinory-visit-hub .va-doors{display:grid;grid-template-columns:1fr 1fr;gap:32px;max-width:1360px;margin:0 auto;padding:0 40px;align-items:stretch}
.rhinory-visit-hub .va-door{display:flex;flex-direction:column;transition:transform .25s ease,border-color .25s ease}
.rhinory-visit-hub .va-door:hover{transform:translateY(-4px)}
.rhinory-visit-hub .va-door-media{position:relative;overflow:hidden;aspect-ratio:16/10}
.rhinory-visit-hub .va-door-media img, .rhinory-visit-hub .va-door-media .rh-clip{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.95) contrast(1.04)}
.rhinory-visit-hub .va-door-body{display:flex;flex-direction:column;flex:1;padding:34px 36px 36px}
.rhinory-visit-hub .va-door h3{font-family:"Cormorant Garamond",serif;font-size:var(--type-h3);line-height:1.06;margin:0 0 14px;letter-spacing:-0.005em}
.rhinory-visit-hub .va-door h3 a{text-decoration:none}
.rhinory-visit-hub .va-door p{font-family:"Lora",Georgia,serif;font-size:var(--type-body);line-height:1.66;margin:0 0 22px;max-width:46ch}
.rhinory-visit-hub .va-meta{display:flex;flex-wrap:wrap;align-items:center;font-family:"Josefin Sans",sans-serif;font-size:10px;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;line-height:1.2;padding:16px 0 0;margin:0 0 26px}
.rhinory-visit-hub .va-meta span{padding:2px 14px}
.rhinory-visit-hub .va-meta span:first-child{padding-left:0;border-left:0!important}
.rhinory-visit-hub .va-door-cta{margin-top:auto;display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px}
.rhinory-visit-hub .va-btn{display:inline-flex;align-items:center;gap:12px;min-height:44px;padding:15px 28px;font-family:"Josefin Sans",sans-serif;font-size:11.5px;font-weight:600;letter-spacing:0.2em;text-transform:uppercase;text-decoration:none;transition:background .2s,color .2s,transform .2s;cursor:pointer}
.rhinory-visit-hub .va-btn:hover{transform:translateY(-1px)}
.rhinory-visit-hub .va-btn .arrow{width:16px;height:1px;background:currentColor;position:relative;transition:width .2s}
.rhinory-visit-hub .va-btn .arrow::after{content:"";position:absolute;right:0;top:-3px;width:7px;height:7px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:rotate(45deg)}
.rhinory-visit-hub .va-btn:hover .arrow{width:22px}
.rhinory-visit-hub .va-btn--burgundy{background:#520000;color:var(--paper);border:1px solid #520000;box-shadow:0 12px 34px -14px rgba(82,0,0,.55)}
.rhinory-visit-hub .va-btn--burgundy:hover{background:#3D0000}
.rhinory-visit-hub .va-btn--gold{background:var(--acacia);color:#1C1916;border:1px solid var(--acacia);box-shadow:0 12px 34px -14px rgba(185,119,39,.55)}
.rhinory-visit-hub .va-btn--gold:hover{background:var(--ivory);border-color:var(--ivory)}
.rhinory-visit-hub .va-btn--ghost{background:transparent;color:var(--ivory);border:1px solid rgba(243,242,237,0.32);box-shadow:none}
.rhinory-visit-hub .va-btn--ghost:hover{border-color:var(--acacia);color:var(--acacia)}
.rhinory-visit-hub .va-quiet{display:inline-flex;align-items:center;gap:10px;font-family:"Josefin Sans",sans-serif;font-size:11px;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid;padding-bottom:3px}
.rhinory-visit-hub .va-quiet .ar{transition:transform .25s ease}
.rhinory-visit-hub .va-quiet:hover .ar{transform:translateX(5px)}
/* rhino door · dark register */
.rhinory-visit-hub .va-door--dark{background:var(--reserve);color:var(--ivory);border:1px solid rgba(243,242,237,0.16)}
.rhinory-visit-hub .va-door--dark:hover{border-color:var(--acacia)}
.rhinory-visit-hub .va-door--dark h3{font-weight:600;color:var(--ivory)}
.rhinory-visit-hub .va-door--dark h3 em{font-style:italic;font-weight:600;color:var(--acacia)}
.rhinory-visit-hub .va-door--dark h3 a:hover{color:var(--acacia)}
.rhinory-visit-hub .va-door--dark p{color:var(--ivory);opacity:.86}
.rhinory-visit-hub .va-door--dark .va-meta{color:rgba(243,242,237,0.6);border-top:1px solid rgba(243,242,237,0.16)}
.rhinory-visit-hub .va-door--dark .va-meta span{border-left:1px solid rgba(243,242,237,0.16)}
.rhinory-visit-hub .va-door--dark .va-quiet{color:var(--acacia);border-bottom-color:rgba(185,119,39,0.35)}
.rhinory-visit-hub .va-door--dark .va-quiet:hover{border-bottom-color:var(--acacia)}
/* wine door · paper */
.rhinory-visit-hub .va-door--paper{background:var(--paper);color:var(--ink-warm);border:1px solid var(--rule-warm-2)}
.rhinory-visit-hub .va-door--paper:hover{border-color:#520000}
.rhinory-visit-hub .va-door--paper h3{font-weight:500;color:var(--ink-warm)}
.rhinory-visit-hub .va-door--paper h3 em{font-style:italic;font-weight:500;color:#520000}
.rhinory-visit-hub .va-door--paper h3 a:hover{color:#520000}
.rhinory-visit-hub .va-door--paper p{color:var(--ink-warm-2)}
.rhinory-visit-hub .va-door--paper .va-meta{color:var(--rhino-warm);border-top:1px solid var(--rule-warm)}
.rhinory-visit-hub .va-door--paper .va-meta span{border-left:1px solid var(--rule-warm-2)}
.rhinory-visit-hub .va-door--paper .va-quiet{color:#520000;border-bottom-color:rgba(82,0,0,0.28)}
.rhinory-visit-hub .va-door--paper .va-quiet:hover{border-bottom-color:#520000}

/* ---- THE ARRIVAL · the centerpiece. Dark immersive band. ---- */
.rhinory-visit-hub .va-arrive{background:var(--ink);color:var(--ivory);padding:clamp(84px,10vh,128px) 0 clamp(72px,9vh,110px)}
.rhinory-visit-hub .va-arr-head{max-width:1360px;margin:0 auto 56px;padding:0 40px;display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,72px);align-items:end}
.rhinory-visit-hub .va-arr-head h2{font-family:"Cormorant Garamond",serif;font-weight:600;font-size:clamp(38px,4.2vw,64px);line-height:1.02;letter-spacing:-0.014em;color:var(--ivory);margin:0}
.rhinory-visit-hub .va-arr-head h2 em{font-style:italic;font-weight:600;color:var(--acacia)}
.rhinory-visit-hub .va-arr-head p{font-family:"Lora",Georgia,serif;font-size:var(--type-lede);line-height:1.62;color:var(--ivory);opacity:.88;margin:0;max-width:52ch}
.rhinory-visit-hub .va-step{font-family:"Josefin Sans",sans-serif;font-size:10px;font-weight:600;letter-spacing:0.3em;text-transform:uppercase;color:var(--acacia);display:flex;align-items:center;gap:12px;max-width:1360px;margin:0 auto 22px;padding:0 40px}
.rhinory-visit-hub .va-step::before{content:"";width:24px;height:1px;background:var(--acacia)}
.rhinory-visit-hub .va-step small{color:rgba(243,242,237,0.55);letter-spacing:0.2em;font-size:10px}
/* full-bleed arrival clip (homepage scroll-autoplay primitive) */
.rhinory-visit-hub .rh-clipband{position:relative;width:100%;height:clamp(340px,58vh,620px);overflow:hidden;background:var(--reserve-2);margin-bottom:clamp(56px,8vh,96px)}
.rhinory-visit-hub .rh-clipband .rh-clip{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.94) contrast(1.05)}
.rhinory-visit-hub .rh-clipband::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,rgba(10,8,7,0.62) 0%,rgba(10,8,7,0) 34%),linear-gradient(90deg,rgba(10,8,7,0.45) 0%,rgba(10,8,7,0) 44%)}
.rhinory-visit-hub .rh-clipband-hud{position:absolute;left:0;right:0;bottom:0;z-index:3;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:0 clamp(20px,5vw,56px) clamp(20px,4vh,34px)}
.rhinory-visit-hub .rh-clipband-cap{font-family:"Cormorant Garamond",serif;font-weight:600;font-size:clamp(24px,3.2vw,42px);line-height:1.05;color:var(--ivory);max-width:min(640px,72%);text-wrap:balance;margin:0}
.rhinory-visit-hub .rh-clipband-cap em{font-style:italic;font-weight:600;color:var(--acacia)}
.rhinory-visit-hub .rh-clipband-tag{font-family:"Josefin Sans",sans-serif;font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--ivory);opacity:.82;display:inline-flex;align-items:center;gap:10px;white-space:nowrap;padding-bottom:6px}
.rhinory-visit-hub .rh-clipband-tag .pip{width:7px;height:7px;border-radius:50%;background:var(--acacia);box-shadow:0 0 0 4px rgba(185,119,39,0.18)}
/* drive times + address */
.rhinory-visit-hub .dir-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:60px;max-width:1360px;margin:0 auto;padding:0 40px}
.rhinory-visit-hub .dir-block h4{font-family:"Josefin Sans",sans-serif;font-size:11px;font-weight:600;letter-spacing:0.22em;text-transform:uppercase;color:var(--acacia);margin:0 0 14px}
.rhinory-visit-hub .dir-block .dir-line{font-family:"Cormorant Garamond",serif;font-weight:500;font-size:24px;line-height:1.2;margin:0 0 6px}
.rhinory-visit-hub .dir-block p{font-family:"Lora",Georgia,serif;font-size:14px;line-height:1.62;color:var(--ivory);opacity:.78;margin:0 0 16px}
.rhinory-visit-hub .dir-cta{display:flex;gap:10px;margin-top:24px;align-items:stretch;flex-wrap:wrap}
.rhinory-visit-hub .dir-cta .va-btn{flex:1 1 0;min-width:0;justify-content:center;text-align:center;white-space:nowrap;padding:12px 14px;font-size:11px;letter-spacing:0.1em}
.rhinory-visit-hub .dir-modes{display:flex;flex-direction:column;border-top:1px solid var(--rule);margin-top:22px}
.rhinory-visit-hub .dir-mode{display:grid;grid-template-columns:64px 1fr auto;gap:18px;align-items:center;padding:16px 0;border-bottom:1px solid var(--rule)}
.rhinory-visit-hub .dir-mode .dm-time{font-family:"Cormorant Garamond",serif;font-weight:500;font-size:24px;color:var(--acacia);line-height:1}
.rhinory-visit-hub .dir-mode .dm-time small{display:block;font-family:"Josefin Sans",sans-serif;font-size:9px;font-weight:600;color:var(--rhino);letter-spacing:0.14em;text-transform:uppercase;margin-top:4px}
.rhinory-visit-hub .dir-mode .dm-name{font-family:"Lora",Georgia,serif;font-size:14px}
.rhinory-visit-hub .dir-mode .dm-name small{display:block;font-size:11px;color:var(--rhino);margin-top:2px}
.rhinory-visit-hub .dm-dist{font-family:"Josefin Sans",sans-serif;font-size:11px;font-weight:600;letter-spacing:0.12em;color:var(--rhino);text-transform:uppercase;text-align:right;white-space:nowrap}
/* real OSM maps · brand-tinted tiles, JS-projected markers (non-interactive) */
.rhinory-visit-hub .map-stack{display:flex;flex-direction:column;gap:14px}
.rhinory-visit-hub .map-card{background:var(--reserve-2);border:1px solid var(--rule);position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(0,0,0,0.35)}
.rhinory-visit-hub .map-detail, .rhinory-visit-hub .map-region{aspect-ratio:16/10}
.rhinory-visit-hub .osm-layer-slot{position:absolute;inset:0}
.rhinory-visit-hub .osm-layer{position:absolute;inset:0;filter:invert(1) hue-rotate(180deg) brightness(.92) contrast(.9) sepia(.42) saturate(.78)}
.rhinory-visit-hub .osm-layer img{position:absolute;width:256px;height:256px;display:block;border:0;max-width:none}
.rhinory-visit-hub .osm-overlay{position:absolute;inset:0;pointer-events:none;background:radial-gradient(125% 95% at 50% 48%, rgba(15,26,20,0) 46%, rgba(15,26,20,0.52) 100%),linear-gradient(180deg, rgba(15,26,20,0.26) 0%, rgba(15,26,20,0) 30%, rgba(15,26,20,0.42) 100%)}
.rhinory-visit-hub .osm-connect, .rhinory-visit-hub .osm-drive{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.rhinory-visit-hub .osm-marker{position:absolute;width:0;height:0;pointer-events:none}
.rhinory-visit-hub .osm-pin .dot{position:absolute;left:-7px;top:-7px;width:14px;height:14px;border-radius:50%;background:var(--acacia);box-shadow:0 0 0 6px rgba(185,119,39,0.22),0 0 0 13px rgba(185,119,39,0.10)}
.rhinory-visit-hub .osm-pin .lbl{position:absolute;left:18px;top:-8px;white-space:nowrap;font-family:"Josefin Sans",sans-serif;font-size:11px;font-weight:600;letter-spacing:0.18em;color:var(--acacia);text-transform:uppercase;text-shadow:0 1px 8px rgba(10,8,7,0.9)}
.rhinory-visit-hub .osm-pin.lbl-left .lbl{left:auto;right:18px;text-align:right}
.rhinory-visit-hub .osm-pin.lbl-al .lbl{left:50%;right:auto;top:auto;bottom:27px;transform:translateX(calc(-50% + 10px));text-align:center;background:rgba(10,8,7,0.62);padding:4px 9px;border-radius:3px;backdrop-filter:blur(2px)}
.rhinory-visit-hub .osm-pin .lbl small{display:block;font-size:8px;letter-spacing:0.14em;color:var(--ivory);opacity:.74;margin-top:3px}
.rhinory-visit-hub .osm-inset{position:absolute;right:10px;bottom:10px;width:clamp(175px,40%,248px);margin:0;z-index:3;overflow:hidden;border:1px solid rgba(185,119,39,0.55);background:var(--ink);box-shadow:0 10px 28px -10px rgba(0,0,0,0.75)}
.rhinory-visit-hub .osm-inset img{display:block;width:100%;aspect-ratio:1317/400;height:auto;object-fit:cover;filter:saturate(.98) contrast(1.04)}
.rhinory-visit-hub .osm-inset figcaption{font-family:"Josefin Sans",sans-serif;font-size:8px;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;color:var(--ivory);background:rgba(10,8,7,0.85);padding:4px 7px}
.rhinory-visit-hub .osm-tag{position:absolute;transform:translate(-50%,-50%);font-family:"Josefin Sans",sans-serif;font-size:9px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:var(--acacia);background:rgba(10,8,7,0.78);border:1px solid rgba(185,119,39,0.5);padding:3px 8px;border-radius:2px;white-space:nowrap;pointer-events:none}
.rhinory-visit-hub .osm-city{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;gap:6px;font-family:"Josefin Sans",sans-serif;font-size:9px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--acacia);background:rgba(10,8,7,0.72);border:1px solid rgba(185,119,39,0.42);padding:4px 8px;border-radius:2px;white-space:nowrap;pointer-events:none}
.rhinory-visit-hub .osm-city b{color:var(--ivory);font-weight:400}
.rhinory-visit-hub .osm-city .ar{display:inline-block;font-size:13px;line-height:1;color:var(--acacia)}
.rhinory-visit-hub .osm-zoom{position:absolute;left:8px;top:8px;font-family:"Josefin Sans",sans-serif;font-size:8px;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;color:rgba(241,232,214,0.7);background:rgba(10,8,7,0.62);padding:3px 7px;border-radius:2px;pointer-events:none;z-index:2}
.rhinory-visit-hub .osm-attr{position:absolute;right:8px;bottom:6px;font-family:"Josefin Sans",sans-serif;font-size:8px;letter-spacing:0.08em;color:rgba(241,232,214,0.55);text-transform:uppercase;pointer-events:none;z-index:2}
.rhinory-visit-hub .map-detail .osm-attr{top:8px;bottom:auto}
.rhinory-visit-hub .osm-callout{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;z-index:2}
.rhinory-visit-hub .osm-callout .cone{fill:rgba(185,119,39,0.06)}
.rhinory-visit-hub .osm-callout .leader{stroke:rgba(185,119,39,0.6);stroke-width:1;stroke-dasharray:3 4;animation:calloutFlow 2.6s linear infinite}
.rhinory-visit-hub .osm-callout .src{fill:none;stroke:rgba(185,119,39,0.85);stroke-width:1.2}
@keyframes calloutFlow{to{stroke-dashoffset:-14}}

/* ---- A · YOUR AFTERNOON HERE (card ground, light-warm) ---- */
.rhinory-visit-hub .va-aft{background:var(--card);color:var(--ink-warm);padding:clamp(72px,9vh,116px) 0;border-top:1px solid var(--rule-warm-2)}
.rhinory-visit-hub .va-sec-head{max-width:1360px;margin:0 auto 48px;padding:0 40px}
.rhinory-visit-hub .va-sec-head h2{font-family:"Cormorant Garamond",serif;font-weight:500;font-size:clamp(34px,3.6vw,52px);line-height:1.04;letter-spacing:-0.008em;color:var(--ink-warm);margin:0 0 16px;max-width:26ch}
.rhinory-visit-hub .va-sec-head h2 em{font-style:italic;font-weight:500;color:#520000}
.rhinory-visit-hub #afternoon .va-sec-head h2{max-width:44ch;text-wrap:balance}
.rhinory-visit-hub .va-sec-head p{font-family:"Lora",Georgia,serif;font-size:var(--type-lede);line-height:1.68;color:var(--ink-warm-2);margin:0;max-width:58ch}
.rhinory-visit-hub .va-seats{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;max-width:1360px;margin:0 auto;padding:0 40px}
.rhinory-visit-hub .va-seat{background:var(--paper);border:1px solid var(--rule-warm-2);display:flex;flex-direction:column;transition:transform .25s ease,border-color .25s ease}
.rhinory-visit-hub .va-seat:hover{transform:translateY(-4px);border-color:#520000}
.rhinory-visit-hub .va-seat-media{position:relative;aspect-ratio:4/3;overflow:hidden}
.rhinory-visit-hub .va-seat-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.96) contrast(1.03)}
.rhinory-visit-hub .va-seat-body{padding:26px 28px 30px}
.rhinory-visit-hub .va-seat .k{display:flex;align-items:center;gap:10px;font-family:"Josefin Sans",sans-serif;font-size:10px;font-weight:600;letter-spacing:0.22em;text-transform:uppercase;color:#520000;margin-bottom:12px}
.rhinory-visit-hub .va-seat .k::before{content:"";width:20px;height:1px;background:#520000}
.rhinory-visit-hub .va-seat h3{font-family:"Cormorant Garamond",serif;font-weight:500;font-size:27px;line-height:1.1;margin:0 0 10px;color:var(--ink-warm)}
.rhinory-visit-hub .va-seat p{font-family:"Lora",Georgia,serif;font-size:14.5px;line-height:1.62;color:var(--ink-warm-2);margin:0}
.rhinory-visit-hub .va-aft-notes{display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(32px,4vw,56px);max-width:1360px;margin:clamp(40px,5vh,60px) auto 0;padding:0 40px}
.rhinory-visit-hub .va-note{padding:26px 0;border-top:1px solid var(--rule-warm-2)}
.rhinory-visit-hub .va-note .k{display:block;font-family:"Josefin Sans",sans-serif;font-size:10px;font-weight:600;letter-spacing:0.22em;text-transform:uppercase;color:#520000;margin-bottom:10px}
.rhinory-visit-hub .va-note p{font-family:"Lora",Georgia,serif;font-size:15px;line-height:1.66;color:var(--ink-warm-2);margin:0}
.rhinory-visit-hub .va-note strong{font-weight:600}
.rhinory-visit-hub .va-note a{color:var(--ink-warm);text-decoration:none;border-bottom:1px solid rgba(45,41,38,0.3)}
.rhinory-visit-hub .va-note a:hover{color:#520000;border-bottom-color:#520000}
.rhinory-visit-hub .va-aft-cta{display:flex;flex-wrap:wrap;gap:14px 28px;align-items:center;max-width:1360px;margin:clamp(34px,4vh,44px) auto 0;padding:0 40px}

/* ---- TESTIMONIALS · thin carousel (card ground, ~20% thinner than the old band) ---- */
.rhinory-visit-hub .va-press{background:var(--card);color:var(--ink-warm);padding:clamp(50px,6vh,76px) 0;border-top:1px solid var(--rule-warm-2);border-bottom:1px solid var(--rule-warm-2)}
.rhinory-visit-hub .va-press-head{max-width:1360px;margin:0 auto 24px;padding:0 40px;display:flex;align-items:baseline;justify-content:space-between;gap:24px;flex-wrap:wrap}
.rhinory-visit-hub .va-press-head .stars{font-family:"Josefin Sans",sans-serif;font-size:11px;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;color:var(--rhino-warm)}
.rhinory-visit-hub .vp-car{max-width:1360px;margin:0 auto;padding:0 40px;display:grid;grid-template-columns:1fr auto;gap:18px clamp(28px,4vw,56px);align-items:center}
.rhinory-visit-hub .vp-stage{display:grid}
.rhinory-visit-hub .vp-slide{grid-area:1/1;margin:0;opacity:0;transform:translateY(10px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.rhinory-visit-hub .vp-slide[data-live="true"]{opacity:1;transform:none}
.rhinory-visit-hub .vp-slide blockquote{font-family:"Cormorant Garamond",serif;font-weight:500;font-style:italic;font-size:clamp(21px,2.2vw,29px);line-height:1.2;color:#520000;margin:0 0 12px;max-width:48ch;text-wrap:pretty}
.rhinory-visit-hub .vp-slide figcaption{font-family:"Josefin Sans",sans-serif;font-size:10px;font-weight:600;letter-spacing:0.2em;text-transform:uppercase;color:var(--ink-warm);display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}
.rhinory-visit-hub .vp-slide figcaption small{color:var(--rhino-warm);letter-spacing:0.16em}
.rhinory-visit-hub .vp-dots{display:flex;gap:9px}
.rhinory-visit-hub .vp-dot{appearance:none;-webkit-appearance:none;width:9px;height:9px;padding:0;border-radius:50%;border:1px solid rgba(82,0,0,0.4);background:transparent;cursor:pointer;transition:background .2s,border-color .2s,transform .2s}
.rhinory-visit-hub .vp-dot:hover{border-color:#520000;transform:scale(1.18)}
.rhinory-visit-hub .vp-dot[aria-selected="true"]{background:#520000;border-color:#520000}
.rhinory-visit-hub .vp-dot:focus-visible{outline:2px solid #520000;outline-offset:3px}

/* ---- FAQ · ONE two-column set, intro above (was: "when you land" + "worth knowing") ---- */
.rhinory-visit-hub .va-faq{background:var(--paper);color:var(--ink-warm);padding:clamp(72px,9vh,116px) 0}
.rhinory-visit-hub .vf-head{max-width:1360px;margin:0 auto clamp(38px,5vh,54px);padding:0 40px}
.rhinory-visit-hub .vf-head h2{font-family:"Cormorant Garamond",serif;font-weight:500;font-size:clamp(34px,3.6vw,52px);line-height:1.04;letter-spacing:-0.008em;color:var(--ink-warm);margin:0 0 16px;max-width:26ch}
.rhinory-visit-hub .vf-head h2 em{font-style:italic;font-weight:500;color:#520000}
.rhinory-visit-hub .vf-head p{font-family:"Lora",Georgia,serif;font-size:var(--type-lede);line-height:1.68;color:var(--ink-warm-2);margin:0;max-width:60ch}
.rhinory-visit-hub .vf-cols{display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(36px,5vw,72px);max-width:1360px;margin:0 auto;padding:0 40px;align-items:start}
.rhinory-visit-hub .vf-colhead{display:flex;align-items:center;gap:10px;font-family:"Josefin Sans",sans-serif;font-size:10px;font-weight:600;letter-spacing:0.22em;text-transform:uppercase;color:var(--rhino-warm);margin:0 0 14px}
.rhinory-visit-hub .vf-colhead::before{content:"";width:20px;height:1px;background:currentColor}
.rhinory-visit-hub .vf-list{border-top:1px solid var(--rule-warm-2)}
.rhinory-visit-hub .va-q{border-bottom:1px solid var(--rule-warm-2)}
.rhinory-visit-hub .va-q summary{list-style:none;cursor:pointer;display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:21px 0;font-family:"Cormorant Garamond",serif;font-weight:500;font-size:22px;line-height:1.22;color:var(--ink-warm);transition:color .2s}
.rhinory-visit-hub .va-q summary::-webkit-details-marker{display:none}
.rhinory-visit-hub .va-q summary:hover{color:#520000}
.rhinory-visit-hub .va-q summary:focus-visible{outline:2px solid #520000;outline-offset:3px}
.rhinory-visit-hub .va-q .sign{flex:0 0 auto;position:relative;width:16px;height:16px;margin-top:7px}
.rhinory-visit-hub .va-q .sign::before, .rhinory-visit-hub .va-q .sign::after{content:"";position:absolute;background:#520000;transition:transform .22s ease,opacity .22s ease}
.rhinory-visit-hub .va-q .sign::before{left:0;top:7.5px;width:16px;height:1px}
.rhinory-visit-hub .va-q .sign::after{left:7.5px;top:0;width:1px;height:16px}
.rhinory-visit-hub .va-q[open] .sign::after{transform:rotate(90deg);opacity:0}
.rhinory-visit-hub .va-q .a a{color:var(--ink-warm);text-decoration:none;border-bottom:1px solid rgba(45,41,38,0.3)}
.rhinory-visit-hub .va-q .a a:hover{color:#520000;border-bottom-color:#520000}
.rhinory-visit-hub .va-q .a{font-family:"Lora",Georgia,serif;font-size:15px;line-height:1.72;color:var(--ink-warm-2);margin:0 0 24px;padding-right:32px;max-width:64ch}
.rhinory-visit-hub .vf-foot{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px;max-width:1360px;margin:clamp(34px,4vh,48px) auto 0;padding:0 40px}
.rhinory-visit-hub .vf-foot p{font-family:"Lora",Georgia,serif;font-size:15.5px;line-height:1.64;color:var(--ink-warm-2);margin:0;max-width:44ch}

/* ---- DUAL-PATH CLOSER · two equal doors on brown. Gold = rhino, burgundy = wine.
       Client pass 2026-09-11: same column width, title size, button fill and padding on both, as on 04a. ---- */
.rhinory-visit-hub .va-dual{background:var(--ink);color:var(--ivory);border-top:1px solid rgba(243,242,237,0.16)}
.rhinory-visit-hub .vd-grid{display:grid;grid-template-columns:1fr 1fr;max-width:1360px;margin:0 auto}
.rhinory-visit-hub .vd{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;text-align:center;min-height:clamp(300px,40vh,404px);padding:clamp(54px,7vh,86px) clamp(26px,4vw,56px);text-decoration:none;color:inherit;transition:background .28s ease}
.rhinory-visit-hub .vd:focus-visible{outline:2px solid var(--acacia);outline-offset:-8px}
.rhinory-visit-hub .vd-title{font-family:"Cormorant Garamond",serif;font-weight:600;font-size:clamp(34px,4.2vw,60px);line-height:1.02;letter-spacing:-0.014em;color:var(--ivory);max-width:22ch;text-wrap:balance}
.rhinory-visit-hub .vd-link{display:inline-flex;align-items:center;gap:12px;min-height:44px;padding:15px 30px;font-family:"Josefin Sans",sans-serif;font-size:11.5px;font-weight:600;letter-spacing:0.2em;text-transform:uppercase;transition:background .2s,color .2s,border-color .2s,transform .2s}
.rhinory-visit-hub .vd-link .arrow{width:16px;height:1px;background:currentColor;position:relative;transition:width .2s}
.rhinory-visit-hub .vd-link .arrow::after{content:"";position:absolute;right:0;top:-3px;width:7px;height:7px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:rotate(45deg)}
.rhinory-visit-hub .vd:hover .vd-link{transform:translateY(-1px)}
.rhinory-visit-hub .vd:hover .vd-link .arrow{width:22px}
.rhinory-visit-hub .vd--rhino{background:var(--ink)}
.rhinory-visit-hub .vd--rhino .vd-link{background:var(--acacia);color:#1C1916;border:1px solid var(--acacia);box-shadow:0 14px 38px -16px rgba(185,119,39,.6)}
.rhinory-visit-hub .vd--rhino:hover .vd-link{background:var(--ivory);border-color:var(--ivory)}
.rhinory-visit-hub .vd--wine{background:#520000;box-shadow:0 0 60px -20px rgba(82,0,0,.9)}
.rhinory-visit-hub .vd--wine .vd-link{background:var(--ivory);color:#520000;border:1px solid var(--ivory);box-shadow:0 14px 38px -16px rgba(10,8,7,.6)}
.rhinory-visit-hub .vd--wine:hover{background:#3D0000}
.rhinory-visit-hub .vd--wine:hover .vd-link{background:var(--gold-soft);border-color:var(--gold-soft)}
.rhinory-visit-hub .vd--wine:focus-visible{outline-color:var(--ivory)}

/* ---- reveal ---- */
.rhinory-visit-hub .va-reveal>*{opacity:0;transform:translateY(20px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
.rhinory-visit-hub .va-reveal.is-in>*{opacity:1;transform:translateY(0)}
.rhinory-visit-hub .va-reveal.is-in>*:nth-child(2){transition-delay:.1s}
.rhinory-visit-hub .va-reveal.is-in>*:nth-child(3){transition-delay:.2s}
@media (max-width:1024px){
  .rhinory-visit-hub .va-doors{grid-template-columns:1fr}
  .rhinory-visit-hub .va-seats{grid-template-columns:1fr;gap:22px}
  .rhinory-visit-hub .vp-car{grid-template-columns:1fr;gap:18px}
  .rhinory-visit-hub .vf-cols{grid-template-columns:1fr}
  .rhinory-visit-hub .vf-col+.vf-col{margin-top:36px}
  .rhinory-visit-hub .va-arr-head{grid-template-columns:1fr;gap:22px;align-items:start}
  .rhinory-visit-hub .dir-grid{grid-template-columns:1fr;gap:44px}
}
@media (max-width:720px){
  .rhinory-visit-hub .va-hero-type{padding-left:22px;padding-right:22px}
  .rhinory-visit-hub .va-hero-film{height:clamp(300px,52svh,460px)}
  .rhinory-visit-hub .va-wrap, .rhinory-visit-hub .va-fork-head, .rhinory-visit-hub .va-doors, .rhinory-visit-hub .va-arr-head, .rhinory-visit-hub .va-step, .rhinory-visit-hub .dir-grid, .rhinory-visit-hub .va-press-head, .rhinory-visit-hub .vp-car, .rhinory-visit-hub .vf-head, .rhinory-visit-hub .vf-cols, .rhinory-visit-hub .vf-foot{padding-left:22px;padding-right:22px}
  .rhinory-visit-hub .va-door-body{padding:28px 24px 30px}
  .rhinory-visit-hub .dir-cta .va-btn{flex:1 1 100%}
  .rhinory-visit-hub .osm-inset{width:clamp(140px,44%,200px)}
  .rhinory-visit-hub .va-aft-notes{grid-template-columns:1fr}
  .rhinory-visit-hub .va-q summary{font-size:20px}
  .rhinory-visit-hub .va-q .a{padding-right:0}
  .rhinory-visit-hub .vd-grid{grid-template-columns:1fr}
  .rhinory-visit-hub .vd{min-height:clamp(230px,32vh,300px);gap:20px}
}
@media (prefers-reduced-motion:reduce){
  .rhinory-visit-hub .va-rv, .rhinory-visit-hub .va-reveal>*{opacity:1;transform:none;transition:none}
  .rhinory-visit-hub .va-door:hover, .rhinory-visit-hub .va-btn:hover, .rhinory-visit-hub .va-seat:hover, .rhinory-visit-hub .vd:hover .vd-link{transform:none}
  .rhinory-visit-hub .vp-slide{transition:none}
  .rhinory-visit-hub .osm-callout .leader{animation:none}
}
