/* ════════════════════════════════════════════════════════════════
   /retreat-villas — "easy" layout (Evolve × Pitch), MLA colours.
   Full-bleed video hero, light canvas, rounded cards, one job per
   section, a quick-start card and CTAs that open the form as a
   window over a blurred page. Scoped under body.rt.
   Fonts: Figtree display / Instrument Sans body (the site fonts, 12 Oct).
   ════════════════════════════════════════════════════════════════ */
.rt{
  --ink:#161616; --ink-2:#1F1E1B; --ink-3:#2A2825;
  --white:#FFFFFF; --paper:#FAF9F6; --stone:#F0EEE8; --stone-2:#E4E0D7;
  --text:#202020; --muted:#6B6863; --faint:#8E8A84;
  --line:rgba(32,32,32,.1); --line-2:rgba(32,32,32,.2);
  --gold:#A9713F; --gold-2:#8F5E33; --gold-soft:#B79A63; --gold-dark:#D4A574; --gold-tint:rgba(169,113,63,.1);
  --on-dark:#F4F1EA; --on-dark-muted:rgba(244,241,234,.66); --on-dark-line:rgba(244,241,234,.14);
  --display:"Figtree","Instrument Sans",ui-sans-serif,system-ui,sans-serif;
  --sans:"Instrument Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --wrap:1200px; --gutter:clamp(20px,4vw,40px); --sec:clamp(80px,9vw,128px);
  --r-sm:12px; --r:18px; --r-lg:24px;
  --ease-out:cubic-bezier(.22,1,.36,1);
  --ease-pop:cubic-bezier(.34,1.56,.64,1);
  --ease-io:cubic-bezier(.77,0,.175,1);
  --shadow:0 24px 60px -28px rgba(22,22,22,.28);
  --hd-h:80px;
  margin:0; background:var(--white); color:var(--text);
  font-family:var(--sans); font-size:16px; line-height:1.6;
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; text-rendering:optimizeLegibility;
  overflow-x:clip;
}
.rt.is-modal{ overflow:hidden; }
.rt *,.rt *::before,.rt *::after{ box-sizing:border-box; }
.rt [hidden]{ display:none !important; }
html{ scroll-behavior:smooth; scroll-padding-top:92px; }
@media (prefers-reduced-motion:reduce){ html{ scroll-behavior:auto; } }
.rt img{ display:block; max-width:100%; }
.rt a{ color:inherit; text-decoration:none; }
.rt h1,.rt h2,.rt h3,.rt p,.rt figure,.rt blockquote,.rt ul,.rt ol,.rt fieldset{ margin:0; }
.rt ul,.rt ol{ padding:0; list-style:none; }
.rt fieldset{ padding:0; border:0; min-width:0; }
.rt button{ font:inherit; color:inherit; }
.rt svg{ flex:none; }
.rt table{ border-collapse:collapse; }
.rt .sprite{ position:absolute; width:0; height:0; overflow:hidden; }
.rt .vh{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.rt .skip{ position:absolute; left:16px; top:-60px; z-index:200; padding:10px 16px; background:var(--ink); color:#fff; border-radius:999px; font-size:14px; }
.rt .skip:focus{ top:12px; }
.rt :focus-visible{ outline:2px solid var(--gold); outline-offset:3px; border-radius:6px; }
.rt .prog{ position:fixed; left:0; top:0; z-index:90; height:2px; width:100%; background:var(--gold); transform:scaleX(0); transform-origin:left; pointer-events:none; }
.rt .wrap{ width:100%; max-width:calc(var(--wrap) + var(--gutter)*2); margin:0 auto; padding:0 var(--gutter); }
.rt .sec{ padding:var(--sec) 0; }
.rt .sec-paper{ background:var(--paper); }

/* ── type ─────────────────────────────────────────────── */
.rt .eyebrow{ display:flex; align-items:center; gap:10px; font-size:12px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); }
.rt .eyebrow .dot{ width:6px; height:6px; border-radius:50%; background:var(--gold); }
.rt .eyebrow-light{ color:rgba(244,241,234,.72); }
.rt .eyebrow-light .dot{ background:var(--gold-dark); }
.rt .h2{ font-family:var(--display); font-weight:800; font-size:clamp(32px,4.2vw,54px); line-height:1.06; letter-spacing:-.02em; color:var(--ink); margin-top:16px; text-wrap:balance; }
.rt .h2 em{ font-style:normal; color:var(--gold); }
.rt [data-theme="dark"] .h2{ color:var(--on-dark); }
.rt .lede{ margin-top:16px; font-size:clamp(16px,1.2vw,18px); line-height:1.6; color:var(--muted); max-width:52ch; }
.rt [data-theme="dark"] .lede{ color:var(--on-dark-muted); }
.rt .u{ text-decoration:underline; text-decoration-color:var(--gold-soft); text-underline-offset:3px; }
.rt .sec-head{ margin-bottom:clamp(32px,4vw,56px); }
.rt .sec-head-c{ text-align:center; max-width:760px; margin-left:auto; margin-right:auto; }
.rt .sec-head-c .eyebrow{ justify-content:center; }
.rt .sec-head-c .lede{ margin-left:auto; margin-right:auto; }
.rt .sec-head-row{ display:flex; align-items:flex-end; justify-content:space-between; gap:20px 48px; flex-wrap:wrap; }
.rt .sec-head-row .lede{ margin-top:0; max-width:40ch; }
.rt .rise{ opacity:0; transform:translateY(16px); animation:rtRise .9s var(--ease-out) var(--d,0s) forwards; }
@keyframes rtRise{ to{ opacity:1; transform:none; } }
@keyframes rtPop{ from{ opacity:0; transform:translateY(-8px) scale(.98); } }
@keyframes rtFade{ from{ opacity:0; } }

/* ── buttons ─────────────────────────────────────────── */
.rt .btn{ position:relative; display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:48px; padding:12px 22px; border-radius:999px; font-family:var(--sans); font-size:15px; font-weight:600; line-height:1.2; border:1px solid transparent; cursor:pointer; white-space:nowrap; transition:background-color .25s ease, border-color .25s ease, color .25s ease, transform .4s var(--ease-pop), box-shadow .3s ease; }
.rt .btn svg{ width:14px; height:14px; transition:transform .4s var(--ease-pop); }
.rt .btn:hover svg:last-child{ transform:translateX(4px); }
.rt .btn:hover{ transform:translateY(-2px); }
.rt .btn:active{ transform:translateY(0) scale(.98); }
.rt .btn-lg{ min-height:56px; padding:15px 28px; font-size:16px; }
.rt .btn-gold{ background:var(--gold); color:#fff; }
.rt .btn-gold:hover{ background:var(--gold-2); box-shadow:0 14px 30px -14px rgba(169,113,63,.7); }
.rt .btn-dark{ background:var(--ink); color:#fff; }
.rt .btn-dark:hover{ background:#2C2B28; box-shadow:0 14px 30px -14px rgba(0,0,0,.55); }
.rt .btn-ghost{ background:transparent; color:var(--ink); border-color:var(--line-2); }
.rt .btn-ghost:hover{ border-color:var(--ink); background:rgba(32,32,32,.03); }
.rt .btn-glass{ background:rgba(255,255,255,.1); color:#fff; border-color:rgba(255,255,255,.34); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); }
.rt .btn-glass:hover{ background:rgba(255,255,255,.18); border-color:rgba(255,255,255,.55); }
.rt .link{ display:inline-flex; align-items:center; gap:8px; font-size:15px; font-weight:600; color:var(--ink); padding:4px 0; border-bottom:1px solid var(--gold-soft); transition:color .2s ease, border-color .2s ease; }
.rt .link:hover{ color:var(--gold); border-color:var(--gold); }
.rt .ticks{ display:grid; gap:10px; }
.rt .ticks li{ display:flex; gap:10px; align-items:flex-start; font-size:15px; line-height:1.5; color:var(--text); }
.rt .ticks svg{ width:16px; height:16px; margin-top:4px; color:var(--gold); }
.rt .contact-row{ display:flex; flex-wrap:wrap; gap:10px 22px; }
.rt .contact-row a{ display:inline-flex; align-items:center; gap:8px; font-size:15px; font-weight:600; color:var(--ink); transition:color .2s ease; }
.rt .contact-row a:hover{ color:var(--gold); }
.rt .contact-row svg{ width:16px; height:16px; color:var(--gold); }

/* ════════ HEADER ════════ */
.rt .hd{ position:fixed; inset:0 0 auto 0; z-index:80; color:var(--ink); background:rgba(255,255,255,0); border-bottom:1px solid transparent; transition:background-color .35s ease, border-color .35s ease, color .3s ease; }
.rt .hd.is-solid{ background:rgba(255,255,255,.86); backdrop-filter:blur(18px) saturate(140%); -webkit-backdrop-filter:blur(18px) saturate(140%); border-bottom-color:rgba(32,32,32,.08); }
.rt .hd.on-dark{ color:#fff; }
.rt .hd.on-dark.is-solid{ background:rgba(18,18,17,.86); border-bottom-color:rgba(255,255,255,.08); }
.rt .hd-in{ height:var(--hd-h); max-width:calc(1320px + var(--gutter)*2); margin:0 auto; padding:0 var(--gutter); display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:24px; }
.rt .hd-logo img{ height:46px; width:auto; transition:filter .3s ease; }
.rt .hd.on-dark:not(.is-solid) .hd-logo img{ filter:drop-shadow(0 2px 10px rgba(0,0,0,.45)); }
.rt .hd-nav{ display:flex; justify-content:center; gap:clamp(16px,2.2vw,32px); }
.rt .hd-nav a{ position:relative; font-size:14.5px; font-weight:500; opacity:.82; padding:8px 0; transition:opacity .2s ease; }
.rt .hd-nav a::after{ content:""; position:absolute; left:0; right:0; bottom:2px; height:2px; border-radius:2px; background:var(--gold); transform:scaleX(0); transform-origin:left; transition:transform .45s var(--ease-out); }
.rt .hd-nav a:hover,.rt .hd-nav a.is-active{ opacity:1; }
.rt .hd-nav a:hover::after,.rt .hd-nav a.is-active::after{ transform:scaleX(1); }
.rt .hd-act{ display:flex; align-items:center; gap:10px; }
.rt .hd-phone,.rt .hd-burger{ display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:42px; border-radius:999px; font-size:13.5px; font-weight:500; background:rgba(32,32,32,.05); border:1px solid rgba(32,32,32,.14); cursor:pointer; transition:background-color .2s ease; }
.rt .hd-phone{ padding:0 15px; }
.rt .hd-phone svg{ color:var(--gold); }
.rt .hd-burger{ width:42px; }
.rt .hd-phone:hover,.rt .hd-burger:hover{ background:rgba(32,32,32,.09); }
.rt .hd.on-dark .hd-phone,.rt .hd.on-dark .hd-burger{ background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.2); }
.rt .hd.on-dark .hd-phone svg{ color:var(--gold-dark); }
.rt .btn-hd{ min-height:42px; padding:10px 18px; font-size:14px; }
.rt .menu{ position:absolute; top:calc(var(--hd-h) - 6px); right:var(--gutter); width:min(520px, calc(100vw - var(--gutter)*2)); display:grid; grid-template-columns:1fr 1fr; gap:6px 18px; padding:18px; background:#fff; color:var(--ink); border-radius:var(--r); box-shadow:0 30px 70px -24px rgba(0,0,0,.45); border:1px solid rgba(0,0,0,.06); animation:rtPop .45s var(--ease-pop); }
.rt .menu-col{ display:flex; flex-direction:column; }
.rt .menu-lbl{ font-size:11px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--faint); padding:6px 12px 8px; }
.rt .menu-col a{ padding:9px 12px; border-radius:10px; font-size:15px; }
.rt .menu-col a:hover{ background:var(--stone); }
.rt .menu-contact{ grid-column:1/-1; display:flex; flex-wrap:wrap; gap:8px 22px; margin-top:6px; padding:14px 12px 4px; border-top:1px solid var(--line); }
.rt .menu-contact a{ display:inline-flex; align-items:center; gap:8px; color:var(--gold); font-weight:600; font-size:14.5px; }

/* ════════ HERO — full-bleed video ════════ */
.rt .hero{ position:relative; isolation:isolate; overflow:hidden; min-height:max(680px,94svh); display:flex; align-items:center; color:#fff; background:#0E0E0D; padding:calc(var(--hd-h) + 48px) 0 72px; }
.rt .hero-media{ position:absolute; inset:0; z-index:-1; }
.rt .hero-media video,.rt .hero-poster img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 55%; }
.rt .hero-poster{ z-index:0; }
.rt .hero-poster img{ transform:scale(1.06); animation:rtKen 14s var(--ease-out) forwards; }
@keyframes rtKen{ to{ transform:scale(1); } }
.rt .hero-media video{ z-index:1; opacity:0; transition:opacity 1.4s ease; }
.rt .hero-media video.is-playing{ opacity:1; }
.rt .hero-scrim{ z-index:2; position:absolute; inset:0; background:linear-gradient(90deg, rgba(10,10,9,.8) 0%, rgba(10,10,9,.58) 38%, rgba(10,10,9,.18) 68%, rgba(10,10,9,.05) 100%), linear-gradient(180deg, rgba(10,10,9,.5) 0%, rgba(10,10,9,0) 28%, rgba(10,10,9,0) 68%, rgba(10,10,9,.55) 100%); }
.rt .hero-in{ position:relative; width:100%; display:grid; grid-template-columns:minmax(0,700px) 1fr; align-items:center; gap:40px; }
.rt .hero-h{ font-family:var(--display); font-weight:800; font-size:clamp(42px,5.4vw,74px); line-height:1; letter-spacing:-.02em; color:#fff; margin-top:18px; text-wrap:balance; }
.rt .hero-top{ display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; margin-top:20px; font-size:15px; color:rgba(255,255,255,.86); }
.rt .hero-top b{ font-weight:600; font-size:17px; color:#fff; }
.rt .hero-star{ width:18px; height:18px; color:var(--gold-dark); margin-right:-2px; }
.rt .hero-top a,.rt .hero-top > span:not(.hero-top-sep){ display:inline-flex; align-items:center; gap:6px; }
.rt .hero-top a:hover{ color:#fff; text-decoration:underline; text-underline-offset:3px; }
.rt .hero-top .ti{ width:15px; height:15px; color:var(--gold-dark); }
.rt .hero-top-sep{ width:1px; height:14px; background:rgba(255,255,255,.3); }
.rt .hero-sub{ margin-top:22px; max-width:52ch; font-size:clamp(16px,1.3vw,19px); line-height:1.55; color:rgba(255,255,255,.84); }
.rt .hero-sub b{ font-weight:600; color:#fff; }
.rt .hero-sub .own{ color:#fff; font-weight:500; text-decoration:underline; text-decoration-color:var(--gold-dark); text-decoration-thickness:2px; text-underline-offset:5px; }
.rt .hero-ctas{ display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.rt .hero-badges{ display:flex; flex-wrap:wrap; align-items:center; gap:14px 22px; width:fit-content; max-width:100%; margin-top:30px; padding:14px 20px; border-radius:16px; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.16); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); }
.rt .hb-lbl{ font-size:11.5px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.7); }
.rt .hero-badges ul{ display:flex; align-items:center; gap:26px; }
.rt .hero-badges img{ height:56px; width:auto; }
.rt .hero-chips{ position:relative; align-self:stretch; min-height:380px; }
.rt .hv-chip{ position:absolute; display:inline-flex; align-items:center; gap:9px; padding:11px 15px 11px 13px; border-radius:999px; background:rgba(255,255,255,.94); color:var(--ink); font-size:13.5px; font-weight:600; box-shadow:0 14px 36px -14px rgba(0,0,0,.55); white-space:nowrap; transition:transform .25s ease-out; will-change:transform; opacity:0; animation:rtChip .7s var(--ease-pop) forwards; }
.rt .hv-chip i{ width:8px; height:8px; border-radius:50%; background:var(--gold); }
.rt .hv-chip.c1{ right:14%; top:10%; animation-delay:.9s; }
.rt .hv-chip.c2{ right:0; top:36%; animation-delay:1.1s; }
.rt .hv-chip.c3{ right:18%; top:60%; animation-delay:1.3s; }
.rt .hv-chip.c4{ right:4%; top:84%; animation-delay:1.5s; }
@keyframes rtChip{ from{ opacity:0; transform:translateY(10px) scale(.9); } to{ opacity:1; transform:none; } }
.rt .hero-toggle{ position:absolute; z-index:3; right:var(--gutter); bottom:24px; width:40px; height:40px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.26); color:#fff; cursor:pointer; backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); }
.rt .hero-toggle .ico-play{ display:none; }
.rt .hero-toggle.is-paused .ico-play{ display:block; }
.rt .hero-toggle.is-paused .ico-pause{ display:none; }

/* ════════ STATS BAND ════════ */
.rt .band{ background:var(--ink); color:var(--on-dark); padding:clamp(40px,5vw,64px) 0; }
.rt .band-in{ display:flex; align-items:center; justify-content:space-between; gap:24px 48px; flex-wrap:wrap; }
.rt .band-h{ font-family:var(--display); font-weight:700; font-size:clamp(22px,2.4vw,32px); letter-spacing:-.02em; line-height:1.15; max-width:16ch; }
.rt .band-h em{ font-style:normal; color:var(--gold-dark); }
.rt .band-nums{ display:flex; gap:clamp(28px,4vw,56px); }
.rt .band-nums b{ display:block; font-family:var(--display); font-weight:800; font-size:clamp(30px,3.4vw,44px); letter-spacing:-.02em; line-height:1; font-variant-numeric:tabular-nums; color:#fff; }
.rt .band-nums span{ display:block; margin-top:6px; font-size:13px; color:var(--on-dark-muted); }

/* ════════ PICK CARDS (quick start + form) ════════ */
.rt .pick{ display:grid; gap:10px; }
.rt .pick-4{ grid-template-columns:repeat(4,1fr); }
.rt .pick-3{ grid-template-columns:repeat(3,1fr); }
.rt .pick-2{ grid-template-columns:1fr 1fr; }
.rt .pk{ position:relative; display:flex; }
.rt .pk input{ position:absolute; opacity:0; inset:0; margin:0; cursor:pointer; }
.rt .pk-in{ position:relative; flex:1; display:flex; flex-direction:column; border:1.5px solid var(--line-2); border-radius:var(--r); overflow:hidden; background:#fff; cursor:pointer; transition:border-color .2s ease, transform .4s var(--ease-pop), box-shadow .3s ease; }
.rt .pk-img{ position:relative; display:block; aspect-ratio:4/3; background:var(--stone-2); }
.rt .pk-img img{ width:100%; height:100%; object-fit:cover; }
.rt .pk-badge{ position:absolute; left:10px; right:10px; bottom:10px; font-style:normal; padding:8px 10px; border-radius:10px; background:rgba(14,14,13,.74); color:#fff; font-size:12px; line-height:1.3; backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); }
.rt .pk-badge b{ display:block; font-size:13.5px; font-weight:700; }
.rt .pk-t{ display:block; padding:12px 14px; font-size:14.5px; font-weight:600; color:var(--ink); line-height:1.3; }
.rt .pk:hover .pk-in{ border-color:var(--ink); transform:translateY(-2px); box-shadow:0 14px 30px -18px rgba(0,0,0,.35); }
.rt .pk input:checked + .pk-in{ border-color:var(--gold); box-shadow:0 0 0 3px var(--gold-tint); }
.rt .pk input:checked + .pk-in .pk-t{ color:var(--gold); }
.rt .pk input:checked + .pk-in::after{ content:""; position:absolute; top:10px; right:10px; width:26px; height:26px; border-radius:50%; background:var(--gold) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m3 8.4 3 3L13 4.6' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat; box-shadow:0 4px 12px -4px rgba(0,0,0,.4); }
.rt .pk input:focus-visible + .pk-in{ outline:2px solid var(--gold); outline-offset:2px; }
.rt .pk-text{ grid-column:1/-1; }
.rt .pk-text .pk-in{ flex-direction:row; align-items:center; min-height:52px; }
.rt .pk-text input:checked + .pk-in::after{ top:50%; transform:translateY(-50%); }
.rt .pick.acc .pk-img{ aspect-ratio:16/11; }
.rt .is-invalid .pk-in{ border-color:#B4432F; }

/* ════════ QUICK START ════════ */
.rt .qs-card{ max-width:860px; margin:0 auto; background:#fff; border:1px solid var(--stone-2); border-radius:var(--r-lg); padding:clamp(24px,3.5vw,40px); box-shadow:var(--shadow); }
.rt .qs-q{ font-family:var(--display); font-weight:700; font-size:20px; letter-spacing:-.015em; color:var(--ink); margin-bottom:16px; display:block; }
.rt .qs-more{ margin-top:24px; padding-top:24px; border-top:1px solid var(--line); animation:rtRise .6s var(--ease-out); }
.rt .qs-row{ display:grid; grid-template-columns:1fr auto; gap:12px; align-items:stretch; }
.rt .qs-row .btn{ min-height:58px; }

/* ════════ FEATURE CARDS ════════ */
.rt .feats{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(16px,2vw,24px); }
.rt .feat{ display:flex; flex-direction:column; background:#fff; border:1px solid var(--stone-2); border-radius:var(--r-lg); overflow:hidden; transition:transform .5s var(--ease-out), box-shadow .5s ease; }
.rt .feat:hover{ transform:translateY(-4px); box-shadow:var(--shadow); }
.rt .feat figure{ aspect-ratio:16/10; overflow:hidden; background:var(--stone-2); }
.rt .feat img{ width:100%; height:100%; object-fit:cover; transition:transform 1.4s var(--ease-out); }
.rt .feat:hover img{ transform:scale(1.04); }
.rt .feat-body{ padding:22px 24px 26px; display:flex; flex-direction:column; gap:10px; flex:1; }
.rt .feat-ico{ width:40px; height:40px; border-radius:12px; display:flex; align-items:center; justify-content:center; background:var(--gold-tint); color:var(--gold); margin-bottom:2px; }
.rt .feat-ico svg{ width:20px; height:20px; }
.rt .feat h3{ font-family:var(--display); font-weight:700; font-size:21px; letter-spacing:-.02em; color:var(--ink); }
.rt .feat p{ font-size:15px; line-height:1.55; color:var(--muted); }
.rt .feat small{ margin-top:auto; padding-top:12px; font-size:12.5px; color:var(--faint); }

/* ════════ VILLAS ════════ */
.rt .offers{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(16px,2vw,24px); }
.rt .offer{ position:relative; display:flex; flex-direction:column; border-radius:var(--r-lg); background:#fff; border:1px solid var(--stone-2); overflow:hidden; transition:transform .5s var(--ease-out), box-shadow .5s ease; }
.rt .offer:hover{ transform:translateY(-4px); box-shadow:var(--shadow); }
.rt .offer-hi{ background:var(--ink); color:var(--on-dark); border-color:var(--ink); }
.rt .offer-tag{ position:absolute; z-index:2; left:18px; top:18px; padding:7px 12px; border-radius:999px; background:var(--gold-dark); color:var(--ink); font-size:12px; font-weight:700; letter-spacing:.04em; }
.rt .offer-media{ aspect-ratio:16/9; overflow:hidden; background:var(--stone-2); }
.rt .offer-media img{ width:100%; height:100%; object-fit:cover; transition:transform 1.4s var(--ease-out); }
.rt .offer:hover .offer-media img{ transform:scale(1.04); }
.rt .offer-body{ padding:clamp(22px,2.6vw,32px); display:flex; flex-direction:column; flex:1; gap:16px; }
.rt .offer-k{ font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--gold); }
.rt .offer-hi .offer-k{ color:var(--gold-dark); }
.rt .offer h3{ font-family:var(--display); font-weight:800; font-size:clamp(26px,2.4vw,34px); letter-spacing:-.02em; line-height:1.05; margin-top:-6px; }
.rt .offer-hi .ticks li{ color:var(--on-dark-muted); }
.rt .offer-hi .ticks svg{ color:var(--gold-dark); }
.rt .offer .btn{ align-self:flex-start; margin-top:auto; }
.rt .offer-ctas{ display:flex; align-items:center; gap:22px; margin-top:auto; flex-wrap:wrap; }
.rt .offer-ctas .btn{ margin-top:0; }
.rt .offer-hi .link{ color:var(--on-dark); border-color:var(--gold-dark); }
.rt .homes{ margin-top:clamp(40px,5vw,64px); }
.rt .homes-h{ font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--faint); margin-bottom:16px; }
.rt .home-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.rt .homes-head{ display:flex; align-items:baseline; justify-content:space-between; gap:8px 24px; flex-wrap:wrap; margin-bottom:16px; }
.rt .homes-head .homes-h{ margin-bottom:0; }
.rt .homes-sub{ font-size:14px; color:var(--muted); }
.rt .home{ display:flex; flex-direction:column; padding:0; text-align:left; font:inherit; color:inherit; cursor:pointer; border-radius:var(--r); overflow:hidden; background:#fff; border:1px solid var(--stone-2); transition:transform .4s var(--ease-out), box-shadow .4s ease; }
.rt .home-media{ position:relative; display:block; }
.rt .home-tag{ position:absolute; left:10px; top:10px; max-width:calc(100% - 20px); padding:6px 11px; border-radius:999px; background:var(--gold-dark); color:var(--ink); font-size:11.5px; font-weight:700; letter-spacing:.02em; line-height:1.25; box-shadow:0 8px 20px -10px rgba(0,0,0,.5); }
.rt .home-hi{ border-color:var(--gold); box-shadow:0 0 0 3px var(--gold-tint), 0 18px 40px -24px rgba(169,113,63,.45); }
.rt .home-hi:hover{ box-shadow:0 0 0 3px var(--gold-tint), var(--shadow); }
.rt .home-hi .home-body b{ color:var(--gold-2); }
.rt .home-go{ display:inline-flex; align-items:center; gap:6px; margin-top:8px; font-style:normal; font-size:13px; font-weight:600; color:var(--gold); }
.rt .home-go svg{ transition:transform .4s var(--ease-pop); }
.rt .home:hover .home-go svg{ transform:translateX(4px); }
.rt .home:hover{ transform:translateY(-3px); box-shadow:var(--shadow); }
.rt .home img{ width:100%; aspect-ratio:4/3; object-fit:cover; }
.rt .home-body{ display:flex; flex-direction:column; gap:3px; padding:12px 14px 14px; }
.rt .home-body b{ font-family:var(--display); font-weight:700; font-size:16px; letter-spacing:-.01em; color:var(--ink); }
.rt .home-body span{ font-size:13px; color:var(--muted); }

/* ════════ EXPERIENCES ════════ */
.rt .filters{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:24px; }
.rt .filter{ min-height:40px; padding:8px 16px; border-radius:999px; border:1px solid var(--line-2); background:#fff; font-size:14px; font-weight:500; color:var(--text); cursor:pointer; transition:background-color .2s ease, border-color .2s ease, color .2s ease; }
.rt .filter:hover{ border-color:var(--ink); }
.rt .filter.is-on{ background:var(--ink); color:#fff; border-color:var(--ink); }
.rt .gal{ display:grid; grid-template-columns:repeat(3,1fr); grid-auto-rows:220px; grid-auto-flow:dense; gap:14px; }
.rt .g{ position:relative; border-radius:var(--r); overflow:hidden; background:var(--stone-2); animation:rtGal .6s var(--ease-out) both; }
.rt .g.tall{ grid-row:span 2; }
.rt .g img{ width:100%; height:100%; object-fit:cover; transition:transform 1.4s var(--ease-out); }
.rt .g:hover img{ transform:scale(1.05); }
.rt .g figcaption{ position:absolute; left:12px; bottom:12px; padding:7px 12px; border-radius:999px; background:rgba(255,255,255,.92); color:var(--ink); font-size:12.5px; font-weight:600; }
.rt .g.is-hidden{ display:none; }
@keyframes rtGal{ from{ opacity:0; transform:scale(.96); } }
.rt .exp-note{ margin-top:20px; font-size:13px; color:var(--faint); max-width:72ch; }
.rt .am-h{ font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--faint); margin:0 0 14px; }
.rt .am + .am-h{ margin-top:clamp(28px,3.5vw,44px); }
.rt .am{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.rt .am-t{ display:flex; flex-direction:column; border-radius:var(--r); overflow:hidden; background:#fff; border:1px solid var(--stone-2); transition:transform .4s var(--ease-out), box-shadow .4s ease; }
.rt .am-t:hover{ transform:translateY(-3px); box-shadow:var(--shadow); }
.rt .am-img{ display:block; aspect-ratio:4/3; overflow:hidden; background:var(--stone-2); }
.rt .am-img img{ width:100%; height:100%; object-fit:cover; transition:transform 1.4s var(--ease-out); }
.rt .am-t:hover .am-img img{ transform:scale(1.05); }
.rt .am-t figcaption{ display:flex; flex-direction:column; gap:3px; padding:12px 14px 14px; }
.rt .am-t b{ font-family:var(--display); font-weight:700; font-size:15.5px; letter-spacing:-.01em; color:var(--ink); line-height:1.25; }
.rt .am-t span{ font-size:13px; color:var(--muted); }

/* ════════ COMPARE ════════ */
.rt .cmp-wrap{ max-width:960px; margin:0 auto; background:#fff; border:1px solid var(--stone-2); border-radius:var(--r-lg); overflow:hidden; }
.rt .cmp-t{ width:100%; }
.rt .cmp-t th,.rt .cmp-t td{ padding:18px 20px; text-align:center; vertical-align:middle; border-top:1px solid var(--line); }
.rt .cmp-t thead th{ border-top:0; font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); padding-top:22px; padding-bottom:16px; }
.rt .cmp-t thead .cmp-us{ color:var(--ink); }
.rt .cmp-t thead .cmp-us img{ margin:0 auto 6px; height:34px; width:auto; }
.rt .cmp-t thead .cmp-us span{ display:block; }
.rt .cmp-t tbody th{ text-align:left; font-weight:600; font-size:15.5px; color:var(--ink); width:44%; }
.rt .cmp-t tbody th small{ display:block; margin-top:3px; font-size:13px; font-weight:400; color:var(--muted); }
.rt .cmp-t .cmp-us{ background:var(--paper); }
.rt .cmp-t i{ display:inline-flex; width:30px; height:30px; border-radius:50%; align-items:center; justify-content:center; }
.rt .cmp-t i svg{ width:15px; height:15px; }
.rt .cmp-t i.yes{ background:var(--ink); color:var(--gold-dark); }
.rt .cmp-t i.no{ background:var(--stone); color:var(--faint); }
.rt .cmp-t em{ font-style:normal; font-size:13.5px; color:var(--muted); }
.rt .cmp-t tbody tr:nth-child(even) th,.rt .cmp-t tbody tr:nth-child(even) td{ background:rgba(240,238,232,.35); }
.rt .cmp-t tbody tr:nth-child(even) td.cmp-us{ background:#F3EFE6; }
.rt .cmp-cta{ margin-top:28px; text-align:center; }
.rt .cmp-hint{ display:none; margin:0 0 10px; font-size:12.5px; color:var(--faint); }

/* ════════ ORGANIZERS ════════ */
.rt .org-in{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(32px,5vw,80px); align-items:center; }
.rt .org-side .btn{ margin-top:26px; }
.rt .org-cards{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.rt .org-cards li{ padding:22px; border-radius:var(--r); background:#fff; border:1px solid var(--stone-2); display:flex; flex-direction:column; gap:8px; }
.rt .org-cards b{ font-family:var(--display); font-weight:700; font-size:17px; letter-spacing:-.015em; color:var(--ink); line-height:1.25; }
.rt .org-cards span{ font-size:14px; line-height:1.5; color:var(--muted); }

/* ════════ REVIEWS ════════ */
.rt .revs .sec-head{ margin-bottom:28px; }
.rt .rev-rail{ overflow:hidden; mask-image:linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent); -webkit-mask-image:linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent); }
.rt .rev-track{ display:flex; gap:18px; width:max-content; padding:6px var(--gutter) 10px; animation:rtDrift 52s linear infinite; }
@keyframes rtDrift{ to{ transform:translateX(-50%); } }
.rt .rev-rail:hover .rev-track,.rt .rev-rail:focus-within .rev-track{ animation-play-state:paused; }
.rt .rev{ flex:0 0 380px; display:flex; flex-direction:column; padding:30px 28px 26px; border-radius:var(--r-lg); background:var(--paper); border:1px solid var(--stone-2); }
.rt .rev:nth-child(4n+2){ background:var(--ink); color:var(--on-dark); border-color:var(--ink); }
.rt .rev:nth-child(4n+3){ background:#F3E9DB; border-color:#EADBC6; }
.rt .rev-stars{ display:inline-flex; gap:3px; color:var(--gold); }
.rt .rev:nth-child(4n+2) .rev-stars{ color:var(--gold-dark); }
.rt .rev-stars svg{ width:15px; height:15px; }
.rt .rev blockquote{ margin-top:18px; font-family:var(--display); font-weight:600; font-size:17px; line-height:1.5; letter-spacing:-.01em; }
.rt .rev figcaption{ margin-top:auto; padding-top:22px; display:flex; flex-direction:column; gap:2px; font-size:13.5px; opacity:.75; }
.rt .rev figcaption b{ font-size:15px; font-weight:600; opacity:1; }

/* ════════ CLOSING BAND ════════ */
.rt .close{ background:var(--stone); padding:clamp(56px,7vw,88px) 0; }
.rt .close-in{ display:flex; align-items:center; justify-content:space-between; gap:28px 48px; flex-wrap:wrap; }
.rt .close .h2{ margin-top:0; max-width:18ch; }
.rt .close-ctas{ display:flex; flex-direction:column; align-items:flex-start; gap:16px; }

/* ════════ FAQ ════════ */
.rt .faq-in{ display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(40px,6vw,96px); align-items:start; }
.rt .faq-side{ position:sticky; top:calc(var(--hd-h) + 32px); }
.rt .faq-list{ border-top:1px solid var(--line-2); }
.rt .qa{ border-bottom:1px solid var(--line-2); }
.rt .qa summary{ display:flex; align-items:center; justify-content:space-between; gap:24px; padding:22px 0; cursor:pointer; list-style:none; }
.rt .qa summary::-webkit-details-marker{ display:none; }
.rt .qa h3{ font-family:var(--display); font-weight:600; font-size:clamp(17px,1.4vw,19px); line-height:1.35; letter-spacing:-.015em; color:var(--ink); }
.rt .qa-ico{ width:36px; height:36px; border-radius:50%; flex:none; display:flex; align-items:center; justify-content:center; border:1px solid var(--line-2); color:var(--ink); transition:transform .45s var(--ease-pop), background-color .2s ease, border-color .2s ease; }
.rt .qa-ico svg{ width:14px; height:14px; }
.rt .qa summary:hover .qa-ico{ border-color:var(--ink); }
.rt .qa[open] .qa-ico{ transform:rotate(45deg); background:var(--ink); color:#fff; border-color:var(--ink); }
.rt .qa-a{ display:grid; grid-template-rows:0fr; transition:grid-template-rows .5s var(--ease-out); }
.rt .qa.is-open .qa-a{ grid-template-rows:1fr; }
.rt .qa-a > div{ overflow:hidden; }
.rt .qa-a p{ padding:0 60px 24px 0; font-size:16px; line-height:1.65; color:var(--muted); }

/* ════════ PLAN — the form ════════ */
.rt .plan{ background:var(--ink); color:var(--on-dark); }
.rt .plan-in{ display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(40px,6vw,96px); align-items:start; }
.rt .plan-side{ position:sticky; top:calc(var(--hd-h) + 32px); }
.rt .recap{ margin-top:34px; padding:20px 22px; border-radius:var(--r); background:rgba(255,255,255,.06); border:1px solid var(--on-dark-line); }
.rt .recap-t{ font-size:11.5px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:rgba(244,241,234,.5); }
.rt .recap ul{ margin-top:10px; display:flex; flex-wrap:wrap; gap:8px; }
.rt .recap li{ padding:7px 12px; border-radius:999px; background:rgba(255,255,255,.1); font-size:13.5px; color:var(--on-dark); animation:rtPop .5s var(--ease-pop); }
.rt .recap-empty{ background:none !important; padding-left:0 !important; color:rgba(244,241,234,.5) !important; }
.rt .plan-alt{ margin-top:30px; padding-top:22px; border-top:1px solid var(--on-dark-line); display:flex; flex-wrap:wrap; align-items:center; gap:10px 22px; }
.rt .plan-alt p{ width:100%; font-size:13.5px; color:var(--on-dark-muted); }
.rt .plan-alt a{ display:inline-flex; align-items:center; gap:9px; font-size:15.5px; font-weight:600; color:var(--on-dark); }
.rt .plan-alt a:hover{ color:var(--gold-dark); }
.rt .plan-alt svg{ width:17px; height:17px; color:var(--gold-dark); }
.rt .wz{ background:#fff; color:var(--text); border-radius:var(--r-lg); padding:clamp(24px,3.2vw,40px); box-shadow:0 40px 90px -40px rgba(0,0,0,.7); }
.rt .wz-top{ display:grid; gap:12px; margin-bottom:28px; }
.rt .wz-flag{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 12px 10px 14px; border-radius:var(--r-sm); background:var(--gold-tint); border:1px solid rgba(169,113,63,.25); font-size:14px; color:var(--ink); }
.rt .wz-flag b{ font-weight:600; }
.rt .wz-flag button{ width:28px; height:28px; border-radius:50%; border:0; background:#fff; display:flex; align-items:center; justify-content:center; cursor:pointer; }
.rt .wz-prog{ height:4px; border-radius:4px; background:var(--stone-2); overflow:hidden; }
.rt .wz-prog i{ display:block; height:100%; width:20%; border-radius:4px; background:var(--gold); transition:width .6s var(--ease-out); }
.rt .wz-count{ font-size:13px; font-weight:600; color:var(--muted); }
.rt .wz-count #wzName{ color:var(--ink); }
.rt .wz-step{ display:none; }
.rt .wz-step.is-on{ display:grid; gap:22px; animation:rtStep .55s var(--ease-out); }
.rt .wz-step.is-back{ animation-name:rtStepBack; }
@keyframes rtStep{ from{ opacity:0; transform:translateX(28px); } }
@keyframes rtStepBack{ from{ opacity:0; transform:translateX(-28px); } }
.rt .wz-step h3{ font-family:var(--display); font-weight:700; font-size:clamp(24px,2.4vw,32px); letter-spacing:-.02em; line-height:1.1; color:var(--ink); }
.rt .fs{ display:grid; gap:10px; }
.rt .fs legend,.rt .fs-lbl{ padding:0; margin-bottom:2px; font-size:14px; font-weight:600; color:var(--ink); }
.rt .fs-lbl{ margin-bottom:10px; }
.rt .fs legend i,.rt .field label i,.rt .fs-lbl i{ font-style:normal; font-weight:400; color:var(--faint); font-size:12.5px; margin-left:6px; }
.rt .chips{ display:grid; gap:8px; }
.rt .chips-2{ grid-template-columns:1fr 1fr; }
.rt .chips-3{ grid-template-columns:repeat(3,1fr); }
.rt .chip{ position:relative; display:flex; }
.rt .chip input{ position:absolute; opacity:0; inset:0; margin:0; cursor:pointer; }
.rt .chip span{ flex:1; display:flex; align-items:center; min-height:50px; padding:12px 16px; border-radius:var(--r-sm); border:1px solid var(--line-2); background:#fff; font-size:15px; font-weight:500; line-height:1.3; color:var(--text); transition:border-color .2s ease, background-color .2s ease, color .2s ease; cursor:pointer; }
.rt .chip:hover span{ border-color:rgba(32,32,32,.45); }
.rt .chip input:checked + span{ border-color:var(--ink); background:var(--ink); color:#fff; }
.rt .chip input:focus-visible + span{ outline:2px solid var(--gold); outline-offset:2px; }
.rt .row{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.rt .field{ display:grid; gap:8px; align-content:start; min-width:0; }
.rt .field label{ font-size:14px; font-weight:600; color:var(--ink); }
.rt .mini-toggle{ border:0; background:none; padding:0; font-size:13.5px; font-weight:500; color:var(--gold); cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
.rt .field input,.rt .field textarea{ width:100%; min-height:52px; padding:13px 15px; border-radius:var(--r-sm); border:1px solid var(--line-2); background:#fff; color:var(--text); font:inherit; font-size:16px; transition:border-color .2s ease, box-shadow .2s ease; }
.rt .field textarea{ resize:vertical; min-height:96px; line-height:1.55; }
.rt .field input::placeholder,.rt .field textarea::placeholder{ color:#A5A19A; }
.rt .field input:hover,.rt .field textarea:hover{ border-color:rgba(32,32,32,.45); }
.rt .field input:focus,.rt .field textarea:focus{ outline:none; border-color:var(--ink); box-shadow:0 0 0 3px rgba(183,154,99,.28); }
.rt .num{ display:grid; grid-template-columns:52px 1fr 52px; border:1px solid var(--line-2); border-radius:var(--r-sm); overflow:hidden; background:#fff; }
.rt .num input{ border:0; border-radius:0; text-align:center; font-family:var(--display); font-weight:700; font-size:22px; min-height:56px; width:100%; color:var(--text); }
.rt .num input:focus{ outline:none; box-shadow:none; }
.rt .num-b{ border:0; background:var(--stone); font-size:22px; font-weight:500; color:var(--ink); cursor:pointer; transition:background-color .2s ease; }
.rt .num-b:hover{ background:var(--stone-2); }
.rt .num input::-webkit-outer-spin-button,.rt .num input::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
.rt .num input[type=number]{ -moz-appearance:textfield; }
.rt .is-invalid input,.rt .is-invalid .chip span,.rt .is-invalid .num,.rt .is-invalid .date-btn{ border-color:#B4432F; }
.rt .err{ font-size:13px; color:#A23B28; margin-top:8px; }
.rt .err:empty{ display:none; }
.rt .check{ display:flex; align-items:center; gap:10px; font-size:15px; color:var(--text); cursor:pointer; }
.rt .check input{ width:18px; height:18px; margin:0; accent-color:var(--ink); flex:none; }
.rt .hp{ position:absolute !important; left:-10000px; width:1px; height:1px; overflow:hidden; }
.rt .wz-privacy{ font-size:12.5px; color:var(--faint); }
.rt .wz-privacy a{ text-decoration:underline; text-underline-offset:2px; }
.rt .form-error{ margin-top:18px; padding:12px 14px; border-radius:var(--r-sm); background:#FBEDEA; color:#8E2F1F; font-size:14px; line-height:1.5; }
.rt .form-error a{ text-decoration:underline; }
.rt .wz-nav{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:28px; padding-top:22px; border-top:1px solid var(--line); }
.rt .wz-nav .btn-gold{ margin-left:auto; min-width:180px; }
.rt .wz .btn-ghost{ color:var(--ink); border-color:var(--line-2); }
.rt #wzNext[disabled]{ opacity:.7; cursor:progress; transform:none; }
.rt #wzNext.is-loading svg{ animation:rtSpin 1s linear infinite; }
@keyframes rtSpin{ to{ transform:rotate(360deg); } }
.rt .done{ padding:clamp(12px,3vw,32px) 0; outline:none; animation:rtPop .6s var(--ease-pop); }
.rt .done-ico{ width:56px; height:56px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:var(--ink); color:var(--gold-dark); }
.rt .done-ico svg{ width:26px; height:26px; stroke-dasharray:1; stroke-dashoffset:1; animation:rtDraw .8s var(--ease-out) .2s forwards; }
@keyframes rtDraw{ to{ stroke-dashoffset:0; } }
.rt .done h3{ margin-top:24px; font-family:var(--display); font-weight:700; font-size:clamp(30px,3vw,40px); letter-spacing:-.02em; color:var(--ink); }
.rt .done > p{ margin-top:12px; font-size:16.5px; line-height:1.6; color:var(--muted); max-width:44ch; }
.rt .done-alt{ margin-top:28px; display:flex; flex-wrap:wrap; gap:10px; }

/* ── dates: button + inline calendar + month mode ─────── */
.rt .dates{ position:relative; }
.rt .date-btn{ display:flex; align-items:center; gap:14px; width:100%; min-height:66px; padding:12px 16px; border:1px solid var(--line-2); border-radius:14px; background:#fff; text-align:left; cursor:pointer; transition:border-color .2s ease, box-shadow .2s ease; }
.rt .date-btn:hover{ border-color:rgba(32,32,32,.45); }
.rt .date-btn.is-open,.rt .date-btn:focus-visible{ border-color:var(--ink); box-shadow:0 0 0 3px rgba(183,154,99,.28); outline:none; }
.rt .date-ico{ width:22px; height:22px; color:var(--gold); }
.rt .date-chev{ width:16px; height:16px; margin-left:auto; color:var(--faint); transition:transform .3s var(--ease-out); }
.rt .date-btn.is-open .date-chev{ transform:rotate(90deg); }
.rt .dates.is-invalid .date-btn{ border-color:#B4432F; box-shadow:0 0 0 3px rgba(180,67,47,.15); }
.rt .date-txt{ min-width:0; }
.rt .date-txt b{ display:block; font-size:16px; font-weight:600; color:var(--ink); }
.rt .date-txt small{ display:block; font-size:13px; color:var(--muted); margin-top:2px; }
.rt .cal{ margin-top:10px; padding:16px; border:1px solid var(--stone-2); border-radius:18px; background:#fff; box-shadow:var(--shadow); animation:rtPop .45s var(--ease-pop); }
.rt .cal-head{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:8px; }
.rt .cal-nav{ width:34px; height:34px; border-radius:50%; border:1px solid var(--line-2); background:#fff; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:background-color .2s ease; }
.rt .cal-nav:hover{ background:var(--stone); }
.rt .cal-nav[disabled]{ opacity:.35; cursor:default; background:#fff; }
.rt .cal-nav svg{ width:14px; height:14px; }
.rt .cal-hint{ font-size:13px; color:var(--muted); }
.rt .cal-months{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.rt .cal-m b{ display:block; text-align:center; font-family:var(--display); font-weight:700; font-size:15px; margin-bottom:8px; color:var(--ink); }
.rt .cal-g{ display:grid; grid-template-columns:repeat(7,1fr); row-gap:2px; }
.rt .cal-g span{ font-size:11px; font-weight:600; letter-spacing:.04em; color:var(--faint); text-align:center; padding:4px 0 6px; }
.rt .cal-e{ display:block; }
.rt .cal-d{ aspect-ratio:1; border:0; background:none; border-radius:50%; font:inherit; font-size:14px; color:var(--text); cursor:pointer; transition:background-color .15s ease, color .15s ease; }
.rt .cal-d:hover{ background:var(--stone); }
.rt .cal-d[disabled]{ color:#C9C5BC; cursor:default; background:none; }
.rt .cal-d.is-today{ font-weight:700; }
.rt .cal-d.in-range{ background:var(--gold-tint); border-radius:0; }
.rt .cal-d.is-start,.rt .cal-d.is-end{ background:var(--ink); color:#fff; border-radius:50%; }
.rt .cal-d.is-start.has-range{ border-radius:50% 0 0 50%; }
.rt .cal-d.is-end.has-range{ border-radius:0 50% 50% 0; }
.rt .cal-foot{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:12px; padding-top:12px; border-top:1px solid var(--line); font-size:13.5px; color:var(--muted); }
.rt .cal-foot .btn{ min-height:40px; padding:8px 16px; font-size:14px; }
.rt .cal-clear{ border:0; background:none; font-size:13.5px; color:var(--gold); text-decoration:underline; text-underline-offset:3px; cursor:pointer; margin-right:12px; }
.rt .date-opts{ display:flex; flex-wrap:wrap; align-items:center; gap:12px 24px; }
.rt .month-panel{ display:grid; gap:16px; animation:rtRise .5s var(--ease-out); }
.rt .months{ display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
.rt .mo{ min-height:42px; border:1px solid var(--line-2); border-radius:10px; background:#fff; font-size:14px; font-weight:500; color:var(--text); cursor:pointer; transition:background-color .2s ease, border-color .2s ease, color .2s ease; }
.rt .mo:hover{ border-color:var(--ink); }
.rt .mo.is-on{ background:var(--ink); color:#fff; border-color:var(--ink); }

/* ── villa picker ─────────────────────────────────────── */
.rt .villa-pick{ animation:rtRise .5s var(--ease-out); }
.rt .vp{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.rt .vp-item{ position:relative; display:flex; }
.rt .vp-item input{ position:absolute; opacity:0; inset:0; margin:0; cursor:pointer; }
.rt .vp-item > span{ flex:1; display:flex; flex-direction:column; border:1.5px solid var(--line-2); border-radius:14px; overflow:hidden; background:#fff; cursor:pointer; transition:border-color .2s ease, box-shadow .2s ease; }
.rt .vp-item img{ width:100%; aspect-ratio:16/10; object-fit:cover; }
.rt .vp-item b{ display:block; padding:10px 12px 0; font-size:14px; font-weight:600; color:var(--ink); }
.rt .vp-item small{ display:block; padding:2px 12px 10px; font-size:12.5px; color:var(--muted); }
.rt .vp-any > span{ justify-content:center; padding:14px 12px; background:var(--paper); }
.rt .vp-any b,.rt .vp-any small{ padding:0; }
.rt .vp-any small{ padding-top:4px; }
.rt .vp-item:hover > span{ border-color:var(--ink); }
.rt .vp-item input:checked + span{ border-color:var(--gold); box-shadow:0 0 0 3px var(--gold-tint); }
.rt .vp-item input:checked + span b{ color:var(--gold); }
.rt .vp-item input:focus-visible + span{ outline:2px solid var(--gold); outline-offset:2px; }

/* ════════ MODAL — the form as a window ════════ */
.rt .modal{ position:fixed; inset:0; z-index:120; display:flex; align-items:center; justify-content:center; padding:24px; }
.rt .modal-bg{ position:absolute; inset:0; background:rgba(16,15,13,.5); backdrop-filter:blur(16px) saturate(120%); -webkit-backdrop-filter:blur(16px) saturate(120%); animation:rtFade .4s ease; }
.rt .modal-card{ position:relative; width:min(800px,100%); max-height:calc(100svh - 48px); overflow:auto; overscroll-behavior:contain; background:#fff; color:var(--text); border-radius:var(--r-lg); padding:0 clamp(20px,3vw,36px) clamp(24px,3vw,36px); box-shadow:0 50px 120px -40px rgba(0,0,0,.6); animation:rtModal .5s var(--ease-pop); }
@keyframes rtModal{ from{ opacity:0; transform:translateY(18px) scale(.97); } }
.rt .modal-head{ position:sticky; top:0; z-index:2; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:18px 0 14px; margin-bottom:20px; background:#fff; border-bottom:1px solid var(--line); }
.rt .modal-k{ display:flex; align-items:center; gap:10px; font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); }
.rt .modal-k .dot{ width:6px; height:6px; border-radius:50%; background:var(--gold); }
.rt .modal-x{ width:38px; height:38px; border-radius:50%; border:1px solid var(--line-2); background:#fff; display:flex; align-items:center; justify-content:center; cursor:pointer; color:var(--ink); transition:background-color .2s ease, transform .3s var(--ease-pop); }
.rt .modal-x:hover{ background:var(--stone); transform:rotate(90deg); }
.rt .modal .wz{ box-shadow:none; padding:0; border-radius:0; margin:0; }
/* villa window */
.rt .vm-card{ width:min(980px,100%); padding:0 0 28px; }
.rt .vmodal .modal-head{ padding:16px 24px 12px; margin-bottom:0; }
.rt .vm-gal{ display:flex; gap:10px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-padding-inline:24px; padding:14px 24px 4px; scrollbar-width:none; cursor:grab; }
.rt .vm-gal::-webkit-scrollbar{ display:none; }
.rt .vm-gal img{ flex:0 0 min(68%,520px); aspect-ratio:3/2; object-fit:cover; border-radius:14px; scroll-snap-align:start; background:var(--stone-2); }
.rt .vm-in{ display:grid; grid-template-columns:1.3fr .9fr; gap:28px; padding:20px 24px 0; align-items:start; }
.rt .vm-title{ font-family:var(--display); font-weight:800; font-size:clamp(26px,3vw,34px); letter-spacing:-.02em; line-height:1.05; color:var(--ink); }
.rt .vm-area{ margin-top:6px; font-size:14px; color:var(--muted); }
.rt .vm-stats{ display:flex; flex-wrap:wrap; gap:8px 18px; margin:14px 0 16px; padding:12px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); font-size:14px; color:var(--muted); }
.rt .vm-stats b{ font-family:var(--display); font-weight:700; font-size:17px; color:var(--ink); margin-right:4px; }
.rt .vm-pitch{ font-size:16px; line-height:1.6; color:var(--text); }
.rt .vm-hl{ display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.rt .vm-hl li{ padding:7px 12px; border-radius:999px; background:var(--stone); font-size:13px; font-weight:500; color:var(--ink); }
.rt .vm-nbh{ margin-top:14px; font-size:13.5px; line-height:1.55; color:var(--muted); }
.rt .vm-side{ position:sticky; top:72px; background:var(--paper); border:1px solid var(--stone-2); border-radius:18px; padding:20px; }
.rt .vm-side-k{ font-size:11.5px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--faint); }
.rt .vm-side-b{ margin:8px 0 16px; font-size:15px; color:var(--muted); }
.rt .vm-side-b b{ color:var(--ink); font-weight:700; }
.rt .vm-side .btn{ width:100%; }
.rt .vm-note{ margin-top:12px; font-size:13px; color:var(--muted); }
.rt .vm-call{ display:inline-flex; align-items:center; gap:8px; margin-top:12px; font-size:14.5px; font-weight:600; color:var(--ink); }
.rt .vm-call svg{ color:var(--gold); }

/* ════════ FOOTER ════════ */
.rt .ft{ background:var(--ink); color:var(--on-dark); padding-top:72px; border-top:1px solid var(--on-dark-line); }
.rt .ft-in{ display:grid; grid-template-columns:1fr 1.15fr; gap:64px; padding-bottom:48px; }
.rt .ft-brand p{ max-width:40ch; font-size:14.5px; line-height:1.7; color:var(--on-dark-muted); }
.rt .ft-links{ display:grid; grid-template-columns:repeat(4,1fr); gap:26px; }
.rt .ft-links > div{ display:flex; flex-direction:column; gap:10px; min-width:0; }
.rt .ft-links b{ font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:rgba(244,241,234,.5); margin-bottom:3px; }
.rt .ft-links a{ font-size:14.5px; color:var(--on-dark-muted); transition:color .2s ease; overflow-wrap:anywhere; }
.rt .ft-links a:hover{ color:var(--on-dark); }
.rt .ft-icons{ display:flex; flex-wrap:wrap; gap:8px; margin-top:6px; }
.rt .ft-icons a{ width:38px; height:38px; border-radius:50%; display:flex; align-items:center; justify-content:center; border:1px solid var(--on-dark-line); color:var(--on-dark-muted); }
.rt .ft-icons a:hover{ color:var(--on-dark); border-color:rgba(244,241,234,.4); }
.rt .ft-icons svg{ width:16px; height:16px; }
.rt .ft-base{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding-top:22px; padding-bottom:30px; border-top:1px solid var(--on-dark-line); font-size:12.5px; color:rgba(244,241,234,.5); }
.rt .ft-logo img{ height:40px; width:auto; }
.rt .ft-base a:hover{ color:var(--on-dark); }
.rt .dock{ display:none; }

/* ════════ reveal + reduced motion ════════ */
.rt.js .rv{ opacity:0; transform:translateY(22px); transition:opacity .8s var(--ease-out) var(--d,0s), transform .9s var(--ease-out) var(--d,0s); }
.rt.js .rv.in{ opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){
  .rt .rise,.rt .hv-chip,.rt .rev-track,.rt .wz-step.is-on,.rt .done,.rt .menu,.rt .g,.rt .qs-more,.rt .cal,.rt .month-panel,.rt .villa-pick,.rt .modal-card,.rt .modal-bg,.rt .hero-poster img{ animation:none; opacity:1; transform:none; }
  .rt.js .rv{ opacity:1; transform:none; transition:none; }
  .rt .rev-track{ width:auto; flex-wrap:wrap; }
  .rt .rev-rail{ mask-image:none; -webkit-mask-image:none; }
  .rt .hv-chip{ transition:none; }
  .rt .btn,.rt .btn svg{ transition:none; }
  .rt .btn:hover{ transform:none; }
}

/* ════════ responsive ════════ */
@media (max-width:1180px){ .rt .hd-phone{ display:none; } .rt .home-grid{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:1020px){ .rt .am{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:1020px){
  .rt{ --hd-h:72px; }
  .rt .hd-in{ grid-template-columns:auto 1fr; }
  .rt .hd-nav{ display:none; }
  .rt .hd-act{ justify-self:end; }
  .rt .hd-logo img{ height:42px; }
  .rt .hero-in{ grid-template-columns:1fr; }
  .rt .hero-chips{ display:none; }
  .rt .pick-4{ grid-template-columns:1fr 1fr; }
  .rt .feats{ grid-template-columns:1fr; max-width:640px; margin:0 auto; }
  .rt .feat figure{ aspect-ratio:16/8; }
  .rt .offers{ grid-template-columns:1fr; }
  .rt .org-in,.rt .faq-in,.rt .plan-in{ grid-template-columns:1fr; }
  .rt .faq-side,.rt .plan-side{ position:static; }
  .rt .org-cards{ grid-template-columns:1fr 1fr; }
  .rt .ft-in{ grid-template-columns:1fr; gap:36px; }
}
@media (max-width:900px){
  .rt .cmp-wrap{ overflow-x:auto; -webkit-overflow-scrolling:touch; }
  .rt .cmp-t{ min-width:640px; }
  .rt .cmp-hint{ display:block; }
}
@media (max-width:760px){
  .rt{ --hd-h:64px; --sec:clamp(64px,14vw,88px); }
  html{ scroll-padding-top:72px; }
  .rt .hd-logo img{ height:38px; }
  .rt .btn-hd{ min-height:38px; padding:8px 14px; font-size:13px; }
  .rt .hd-burger{ width:38px; min-height:38px; }
  .rt .menu{ left:12px; right:12px; width:auto; grid-template-columns:1fr; top:calc(var(--hd-h) - 2px); max-height:calc(100svh - var(--hd-h) - 20px); overflow:auto; }
  .rt .hero{ min-height:max(640px,100svh); padding:calc(var(--hd-h) + 28px) 0 40px; align-items:flex-end; }
  .rt .hero-media video,.rt .hero-poster img{ object-position:center 40%; }
  .rt .hero-scrim{ background:linear-gradient(180deg, rgba(10,10,9,.55) 0%, rgba(10,10,9,.1) 22%, rgba(10,10,9,.2) 40%, rgba(10,10,9,.78) 62%, rgba(10,10,9,.92) 100%); }
  .rt .hero-h{ font-size:clamp(36px,10vw,46px); margin-top:14px; }
  .rt .hero-top{ margin-top:14px; font-size:13.5px; gap:6px 10px; }
  .rt .hero-top b{ font-size:15px; }
  .rt .hero-top-sep{ display:none; }
  .rt .hero-sub{ margin-top:14px; font-size:15.5px; }
  .rt .hero-ctas{ margin-top:22px; flex-direction:column; align-items:stretch; }
  .rt .hero-ctas .btn{ width:100%; }
  .rt .hero-badges{ width:100%; margin-top:20px; padding:12px 16px; gap:10px 16px; justify-content:space-between; }
  .rt .hero-badges ul{ gap:18px; }
  .rt .hero-badges img{ height:44px; }
  .rt .hero-toggle{ bottom:14px; }
  .rt .band-in{ flex-direction:column; align-items:flex-start; }
  .rt .band-nums{ display:grid; grid-template-columns:1fr 1fr; gap:20px 28px; width:100%; }
  .rt .band-nums b{ font-size:30px; }
  .rt .h2{ font-size:clamp(28px,8vw,36px); }
  .rt .sec-head-c{ text-align:left; }
  .rt .sec-head-c .eyebrow{ justify-content:flex-start; }
  .rt .sec-head-c .lede{ margin-left:0; }
  .rt .qs-card{ padding:20px 16px; border-radius:var(--r); margin:0 calc(var(--gutter) * -1 + 8px); }
  .rt .pick-4,.rt .pick-2{ grid-template-columns:1fr 1fr; gap:8px; }
  .rt .pick-3{ grid-template-columns:1fr; }
  .rt .pick.acc .pk-img{ aspect-ratio:16/8; }
  .rt .pk-img{ aspect-ratio:16/10; }
  .rt .pk-t{ padding:10px 12px; font-size:13.5px; }
  .rt .qs-row{ grid-template-columns:1fr; }
  .rt .offer-body{ padding:20px; }
  .rt .home-grid{ grid-template-columns:1fr 1fr; gap:10px; }
  .rt .home-body{ padding:10px 12px 12px; }
  .rt .home-body b{ font-size:14.5px; }
  .rt .home-body span{ font-size:12px; }
  .rt .filters{ flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none; margin:0 calc(var(--gutter) * -1) 20px; padding:0 var(--gutter); }
  .rt .filters::-webkit-scrollbar{ display:none; }
  .rt .filter{ flex:none; }
  .rt .gal{ grid-template-columns:1fr 1fr; grid-auto-rows:150px; gap:8px; }
  .rt .am{ grid-template-columns:1fr 1fr; gap:10px; }
  .rt .am-t figcaption{ padding:10px 12px 12px; }
  .rt .am-t b{ font-size:14px; }
  .rt .am-t span{ font-size:12px; }
  .rt .g figcaption{ left:8px; bottom:8px; font-size:11.5px; padding:5px 9px; }
  .rt .org-cards{ grid-template-columns:1fr; }
  .rt .org-side .btn{ width:100%; }
  .rt .close-ctas{ width:100%; }
  .rt .close-ctas .btn{ width:100%; }
  .rt .cmp-cta .btn{ width:100%; }
  .rt .qa summary{ padding:20px 0; gap:16px; }
  .rt .qa-a p{ padding-right:0; font-size:15.5px; }
  .rt .wz{ padding:22px 18px; border-radius:var(--r); margin:0 calc(var(--gutter) * -1 + 8px); }
  .rt .wz-top{ margin-bottom:22px; }
  .rt .chips-3,.rt .chips-2{ grid-template-columns:1fr; }
  .rt .row{ grid-template-columns:1fr; gap:20px; }
  .rt .wz-nav .btn-gold{ flex:1; }
  .rt .cal{ padding:12px; }
  .rt .cal-months{ grid-template-columns:1fr; }
  .rt .cal-foot{ flex-wrap:wrap; }
  .rt .months{ grid-template-columns:repeat(3,1fr); }
  .rt .vp{ grid-template-columns:1fr 1fr; }
  .rt .home-tag{ font-size:10.5px; padding:5px 9px; }
  .rt .vm-card{ padding-bottom:20px; }
  .rt .vmodal .modal-head{ padding:14px 16px 10px; }
  .rt .vm-gal{ padding:12px 16px 4px; scroll-padding-inline:16px; }
  .rt .vm-gal img{ flex-basis:82vw; }
  .rt .vm-in{ grid-template-columns:1fr; gap:18px; padding:16px 16px 0; }
  .rt .vm-side{ position:static; }
  .rt .modal{ padding:0; align-items:flex-end; }
  .rt .modal-card{ width:100%; max-height:calc(100svh - 20px); border-radius:22px 22px 0 0; padding:0 16px 24px; }
  .rt .modal-head{ padding:14px 0 12px; margin-bottom:16px; }
  .rt .rev{ flex-basis:300px; padding:24px 22px 22px; }
  .rt .rev blockquote{ font-size:16px; }
  .rt .ft{ padding-top:48px; }
  .rt .ft-links{ grid-template-columns:1fr 1fr; gap:28px 18px; }
  .rt .ft-base{ flex-direction:column; align-items:flex-start; padding-bottom:calc(96px + env(safe-area-inset-bottom)); }
  .rt .dock{ display:flex; gap:10px; position:fixed; left:12px; right:12px; bottom:calc(12px + env(safe-area-inset-bottom)); z-index:70; padding:8px; border-radius:999px; background:rgba(255,255,255,.9); backdrop-filter:blur(14px) saturate(140%); -webkit-backdrop-filter:blur(14px) saturate(140%); box-shadow:0 16px 40px -14px rgba(0,0,0,.45); border:1px solid rgba(0,0,0,.06); transform:translateY(140%); transition:transform .5s var(--ease-out); }
  .rt .dock.is-on{ transform:none; }
  .rt .dock-cta{ flex:1; min-height:48px; }
  .rt .dock-call{ width:48px; height:48px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:#fff; border:1px solid var(--line-2); color:var(--ink); }
}
@media (max-width:380px){ .rt .hero-badges{ padding:12px 14px; } .rt .hero-badges ul{ flex-wrap:wrap; gap:10px 14px; } .rt .hero-badges img{ height:40px; } }
@media (max-width:350px){ .rt .btn-hd{ display:none; } }
