/*
 * Design "Tidewater": an airy beach resort, light throughout.
 *
 * Sea-foam paper, white panels, deep-sea ink for text and ONE accent, lagoon teal,
 * which every hotel wears. Bricolage Grotesque for display, Figtree for text, sentence
 * case. Shape: pills for buttons, chips and labels; 22-32px corners on cards, photos
 * and panels; soft sea-tinted shadows. No dark bands anywhere.
 *
 * Its own layouts (not Classic's with new colours):
 *   header   a white rounded bar floating over the page, inset from the edges
 *            (computers and tablets); phones keep their full-width bar
 *   footer   light sea-foam with a curved shoreline along its top; the links in a
 *            white rounded card; the sister hotels as round photographs
 *   pages    every inner page hero is a rounded photo "window" with the title on a
 *            white card overlapping its foot
 *   home     GroupHome.astro / HotelHome.astro in this folder
 *   signature the curved shoreline under the full-bleed photo heroes
 *
 * Every rule is scoped to html[data-design="tidewater"]; layout changes sit inside
 * @media (min-width:721px) unless they bring their own phone version.
 *
 * Contrast (WCAG AA, checked): ink #0D3640 on #F4F9F8 12.9:1, on #E7F2F1 11.9:1;
 * body #335860 7.3:1; muted #4E6F76 5.2:1 (4.8:1 on #E7F2F1); lagoon #0F7676 on white
 * 5.4:1, on #F4F9F8 5.1:1, on #DDEFEE 4.6:1; white on lagoon 5.4:1.
 */

/* ---------- tokens ---------- */
html[data-design="tidewater"]{
  --tw-lagoon:#0F7676;
  --tw-lagoon-deep:#0B5E5E;
  --tw-sea:#0D3640;
  --tw-foam:#E7F2F1;

  --paper:#F4F9F8;
  --paper-2:var(--tw-foam);
  --white:#FFFFFF;
  --ink:var(--tw-sea);
  --ink-soft:#1F4A54;
  --text:#335860;
  --muted:#4E6F76;
  --line:#D3E3E1;
  --sand:var(--tw-lagoon);
  --sand-deep:var(--tw-lagoon-deep);
  --sand-text:var(--tw-lagoon);
  --sand-tint:#DDEFEE;

  --f-display:"Bricolage Grotesque", system-ui, sans-serif;
  --f-body:"Figtree", system-ui, -apple-system, "Segoe UI", sans-serif;

  --radius:22px;
  --radius-lg:22px;
  --radius-btn:999px;
  --shadow:0 26px 50px -30px rgba(13,54,64,.38);
  --shadow-soft:0 16px 36px -26px rgba(13,54,64,.30);
  --tw-inset:max(var(--gutter), calc((100vw - var(--maxw)) / 2 + var(--gutter)));
}
html[data-design="tidewater"] body,
html[data-design="tidewater"] body[class]{
  --accent:var(--tw-lagoon);
  --accent-strong:var(--tw-lagoon);
  --accent-text:var(--tw-lagoon);
  --on-accent:#FFFFFF;
  --accent-tint:rgba(15,118,118,.10);
  background:var(--paper);
  color:var(--text);
}

/* ---------- type ---------- */
html[data-design="tidewater"] :is(h1,h2,h3){font-family:var(--f-display);font-weight:600;letter-spacing:-.02em;color:var(--ink)}
html[data-design="tidewater"] h1{line-height:1.02}
html[data-design="tidewater"] h2{line-height:1.08}
/* White only on the photograph itself. */
html[data-design="tidewater"] :is(.hero__inner,.p-hero__inner) :is(h1,h2,h3){color:#fff}
html[data-design="tidewater"] :is(.hero__inner,.p-hero__inner){text-shadow:0 1px 18px rgba(13,54,64,.45)}
html[data-design="tidewater"] .hero__card h3{color:var(--ink)}
html[data-design="tidewater"] :is(.p-mainmenu>li>a,.booking__label,.booking__title,.booking__card .eyebrow){text-transform:none;letter-spacing:.01em}
html[data-design="tidewater"] :is(.eyebrow,.hero__eyebrow,.p-hero__eyebrow){font-family:var(--f-body);text-transform:none;letter-spacing:.01em;font-size:.9rem;font-weight:600;color:var(--sand-text)}
html[data-design="tidewater"] .eyebrow::before{display:none}
html[data-design="tidewater"] :focus-visible{outline:2px solid var(--tw-lagoon);outline-offset:3px}
html[data-design="tidewater"] .tw-link{display:inline-flex;align-items:center;min-height:44px;font-weight:600;color:var(--sand-text);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.3em}
html[data-design="tidewater"] .tw-link:hover{color:var(--tw-lagoon-deep)}
html[data-design="tidewater"] .tw-more{margin-top:2rem;text-align:center}

/* ---------- shape ---------- */
html[data-design="tidewater"] body :is(.btn,.chip,.card__flag,.card__tag,.card__facts li,.offer__badge,.offer-badge,.rtile__tag,.dine__badge,.compare__badge,.rcard__tag,.faq-filter button,.dx-gal__count,.lang-menu__btn,.offer-cta){border-radius:999px}
html[data-design="tidewater"] body :is(.field select,.field input,.datefield,.guests-trigger,.cform input,.cform textarea,.cform select,.leadcap__form input){border-radius:14px}
html[data-design="tidewater"] body :is(.card,.rcard,.room,.offer,.facility,.dine,.booking__card,.router__card,.compare__card,.loc,.stat,.dx-facts,.dx-where,.ex-card,.mapcard,.hero__card,.dx-gal__main,.dx-gal__thumbs a,.rtile,.g-cta,.match__thumb,.p-fact,.facts,.faq details,.gallery a,.attr-thumb,.offer-media,.p-location__card,.aw-band,.mega,.find-resort__menu,.p-submenu){border-radius:22px}

/* ---------- buttons ---------- */
html[data-design="tidewater"] .btn{font-weight:600;letter-spacing:0;text-transform:none}
html[data-design="tidewater"] :is(.btn--primary,.btn--accent){background:var(--tw-lagoon);border-color:var(--tw-lagoon);color:#fff}
html[data-design="tidewater"] :is(.btn--primary,.btn--accent):hover{background:var(--tw-lagoon-deep);border-color:var(--tw-lagoon-deep);color:#fff;filter:none}
html[data-design="tidewater"] :is(.btn--outline,.btn--accent-outline,.btn--light){background:#fff;color:var(--ink);border-color:var(--line)}
html[data-design="tidewater"] :is(.btn--outline,.btn--accent-outline,.btn--light):hover{background:var(--sand-tint);border-color:var(--tw-lagoon)}
html[data-design="tidewater"] .btn--dark{background:var(--tw-lagoon);border-color:var(--tw-lagoon);color:#fff}
html[data-design="tidewater"] body :is(.card__tag,.offer__badge,.offer-badge,.rtile__tag,.dine__badge,.compare__badge,.chip[aria-pressed="true"],.faq-filter button[aria-pressed="true"],.cal__done,.offer-cta,.rc-badge){background:var(--tw-lagoon);border-color:var(--tw-lagoon);color:#fff}
html[data-design="tidewater"] body :is(.offer-row,.rcard){--rc:var(--tw-lagoon)!important}

/* ---------- light everywhere: what was dark in Classic ---------- */
html[data-design="tidewater"] :is(.section--ink,.cta,.footstrip,.p-topbar,.aw-band,.g-cta,.p-facts){background:var(--paper-2);color:var(--text)}
html[data-design="tidewater"] :is(.section--ink,.cta,.aw-band,.g-cta) :is(h1,h2,h3){color:var(--ink)}
html[data-design="tidewater"] :is(.section--ink,.cta,.aw-band,.g-cta) :is(p,li){color:var(--text)}
html[data-design="tidewater"] :is(.section--ink,.cta,.aw-band) .eyebrow{color:var(--sand-text)}
html[data-design="tidewater"] .section--tint{background:var(--paper-2)}
html[data-design="tidewater"] .hero__overlay{background:linear-gradient(180deg,rgba(13,54,64,.18) 0%,rgba(13,54,64,.12) 40%,rgba(13,54,64,.6) 100%)}

/* ---------- signature: the shoreline under every full-bleed photo hero ---------- */
html[data-design="tidewater"] :is(.hero,.p-hero){position:relative}
html[data-design="tidewater"] :is(.hero,.p-hero)::after{content:"";position:absolute;left:-2%;right:-2%;bottom:-1px;height:clamp(28px,5vw,72px);background:var(--paper);clip-path:ellipse(60% 100% at 50% 100%);z-index:1;pointer-events:none}

/* =====================================================================
   HEADER: a white rounded bar floating over the page, inset from the edges
   (from 721px). No backdrop filter: it would trap the fixed menu drawer.
   ===================================================================== */
@media (min-width:721px){
  html[data-design="tidewater"] body #siteHeader,
  html[data-design="tidewater"] body #siteHeader.is-transparent{position:fixed!important;top:14px;left:max(14px,calc((100vw - var(--maxw)) / 2 + 8px));right:max(14px,calc((100vw - var(--maxw)) / 2 + 8px));background:rgba(255,255,255,.97)!important;backdrop-filter:none!important;border:1px solid var(--line)!important;border-radius:28px;box-shadow:0 18px 40px -24px rgba(13,54,64,.35)}
  html[data-design="tidewater"] body #siteHeader::before{display:none!important}
  html[data-design="tidewater"] body #siteHeader :is(.p-mainnav,.p-topbar){background:transparent!important;backdrop-filter:none!important;border-radius:0}
  html[data-design="tidewater"] body #siteHeader .wrap{max-width:none;padding-inline:clamp(1rem,2vw,1.6rem)}
  html[data-design="tidewater"] body #siteHeader :is(.nav-links>li>a,.nav-links>li>button,.nav-toggle,.brand,.p-mainmenu>li>a,.p-burger,.p-mainnav__brand,.p-sub-toggle,.p-topbar a,.p-topbar button,.logo-text){color:var(--ink)!important;text-shadow:none}
  html[data-design="tidewater"] body #siteHeader .lang-menu__btn{background:var(--paper)!important;border-color:var(--line)!important;color:var(--ink)!important}
  html[data-design="tidewater"] body #siteHeader :is(.p-mainnav__logo,.brand__logo){filter:invert(1)!important}
  html[data-design="tidewater"] body #siteHeader .p-topbar{border-bottom:1px solid var(--line);border-radius:28px 28px 0 0}
  html[data-design="tidewater"] body #siteHeader .p-topbar__inner{min-height:34px}
  html[data-design="tidewater"] body #siteHeader .p-topbar :is(a,button){text-transform:none;letter-spacing:0;font-weight:600}
  html[data-design="tidewater"] body #siteHeader .p-mainnav__inner{height:62px}
  html[data-design="tidewater"] body #siteHeader .nav{height:66px}
  html[data-design="tidewater"] body #siteHeader :is(.p-mainmenu>li>a,.nav-links>li>a,.nav-links>li>button){font-weight:600;border-radius:999px}
  html[data-design="tidewater"] body #siteHeader :is(.p-mainmenu>li>a,.nav-links>li>a)::after{display:none}
  html[data-design="tidewater"] body #siteHeader :is(.p-mainmenu>li>a,.nav-links>li>a)[aria-current="page"]{background:var(--sand-tint);color:var(--tw-lagoon-deep)!important}
  html[data-design="tidewater"] body #siteHeader :is(.p-mainmenu>li>a,.nav-links>li>a,.nav-links>li>button):hover{background:var(--paper)}
  html[data-design="tidewater"] body.no-hero-header #main{padding-top:110px!important}
  html[data-design="tidewater"] body[data-resort].no-hero-header #main{padding-top:140px!important}
  /* The mega menu drops from the rounded bar as its own rounded panel. */
  html[data-design="tidewater"] body .mega{top:calc(100% + 10px);border:1px solid var(--line);box-shadow:var(--shadow)}
}
html[data-design="tidewater"] :is(.nav-drawer,.p-mainmenu[data-open]){background:#fff}

/* =====================================================================
   FOOTER: sea-foam with a curved shoreline at the top; links in a white
   rounded card; sister hotels as round photographs.
   ===================================================================== */
html[data-design="tidewater"] :is(.site-footer,.footstrip){overflow-x:clip}
html[data-design="tidewater"] .site-footer{position:relative;background:var(--paper-2);color:var(--text);padding-block:clamp(84px,10vw,140px) 1.6rem;border:0}
html[data-design="tidewater"] .site-footer::before{content:"";position:absolute;left:-2%;right:-2%;top:-1px;height:clamp(28px,5vw,64px);background:var(--paper);clip-path:ellipse(60% 100% at 50% 0%);pointer-events:none}
html[data-design="tidewater"] .footstrip + .site-footer{padding-top:clamp(28px,4vw,48px)}
html[data-design="tidewater"] .footstrip + .site-footer::before{display:none}
html[data-design="tidewater"] .site-footer a{color:var(--ink)}
html[data-design="tidewater"] .site-footer a:hover{color:var(--sand-text)}
html[data-design="tidewater"] .site-footer p{color:var(--text)}
html[data-design="tidewater"] .site-footer .footer__logo{filter:invert(1)}
html[data-design="tidewater"] body .site-footer .footer__h{font-family:var(--f-body);font-size:.9rem;font-weight:600;letter-spacing:.01em;text-transform:none;color:var(--sand-text)}
html[data-design="tidewater"] body .site-footer .footer__grid{background:#fff;border-radius:32px;padding:clamp(1.6rem,3.4vw,2.8rem);box-shadow:var(--shadow-soft)}
html[data-design="tidewater"] body .site-footer .footer__grid li a{display:inline-flex;align-items:center;min-height:36px}
html[data-design="tidewater"] body .site-footer .footer__logo-text{font-family:var(--f-display);font-weight:600;font-size:clamp(1.7rem,2.4vw,2.2rem);letter-spacing:-.02em;color:var(--ink)}
html[data-design="tidewater"] body .site-footer :is(.footer__legal-row,.footer__bottom){justify-content:center;text-align:center;flex-wrap:wrap;border-color:var(--line)}
html[data-design="tidewater"] body .site-footer .footer__legal a{display:inline-flex;align-items:center;min-height:44px;color:var(--text)}
html[data-design="tidewater"] body .site-footer .footer__bottom{color:var(--muted)}
html[data-design="tidewater"] body .site-footer .footer__bottom a{color:var(--muted)}
html[data-design="tidewater"] .site-footer :is(.footer__note,.footsib__desc){color:var(--muted)}
html[data-design="tidewater"] body .site-footer .footer__social{justify-content:center;margin-top:2rem}
html[data-design="tidewater"] body .site-footer .footer__note{text-align:center;margin-inline:auto}
/* Sister hotels: round photographs in a row, names beneath. */
html[data-design="tidewater"] body .site-footer .footsib{display:flex;flex-wrap:wrap;justify-content:center;gap:1.4rem clamp(1.4rem,4vw,3rem);border:0;margin-top:2.6rem;padding-top:0}
html[data-design="tidewater"] body .site-footer .footsib__lbl{flex:1 1 100%;text-align:center;font-size:.9rem;font-weight:600;letter-spacing:.01em;text-transform:none;color:var(--sand-text)}
html[data-design="tidewater"] body .site-footer .footsib__row{display:flex;flex-direction:column;align-items:center;gap:.5rem;width:clamp(120px,14vw,170px);padding:0;border:0;text-align:center;color:var(--ink)}
html[data-design="tidewater"] body .site-footer .footsib__thumb{width:clamp(88px,9vw,116px);height:auto;aspect-ratio:1;border-radius:50%;overflow:hidden;margin:0;box-shadow:0 0 0 4px #fff,var(--shadow-soft)}
html[data-design="tidewater"] body .site-footer .footsib__thumb img{width:100%;height:100%;object-fit:cover;border-radius:50%}
html[data-design="tidewater"] body .site-footer .footsib__name{font-family:var(--f-display);font-weight:600;font-size:1.05rem;color:var(--ink)}
html[data-design="tidewater"] body .site-footer .footsib__desc{margin:0;font-size:.82rem;line-height:1.35;text-align:center}
html[data-design="tidewater"] body .site-footer .footsib__arw{display:none}
html[data-design="tidewater"] body .site-footer .footsib__row:hover .footsib__thumb{box-shadow:0 0 0 4px var(--tw-lagoon)}
/* The hotels strip above the group footer: round photographs on sea-foam, with the shore. */
html[data-design="tidewater"] .footstrip{position:relative;display:flex;flex-wrap:wrap;justify-content:center;gap:1.4rem clamp(1.4rem,4vw,3rem);padding:clamp(84px,10vw,130px) var(--gutter) 0;background:var(--paper-2)}
html[data-design="tidewater"] .footstrip::before{content:"";position:absolute;left:-2%;right:-2%;top:-1px;height:clamp(28px,5vw,64px);background:var(--paper);clip-path:ellipse(60% 100% at 50% 0%);pointer-events:none}
html[data-design="tidewater"] .footstrip a{display:flex;flex-direction:column;align-items:center;gap:.6rem;aspect-ratio:auto;overflow:visible;width:clamp(110px,13vw,160px)}
html[data-design="tidewater"] .footstrip a::after{display:none}
html[data-design="tidewater"] .footstrip img{width:clamp(88px,9vw,116px);height:auto;aspect-ratio:1;border-radius:50%;box-shadow:0 0 0 4px #fff,var(--shadow-soft)}
html[data-design="tidewater"] .footstrip a:hover img{transform:none;box-shadow:0 0 0 4px var(--tw-lagoon)}
html[data-design="tidewater"] .footstrip span{position:static;color:var(--ink);text-shadow:none;font-family:var(--f-display);font-size:1rem;font-weight:600;letter-spacing:0;text-align:center}

/* =====================================================================
   INNER PAGE HERO: the photograph in a rounded window, the title on a white
   card overlapping its foot (Classic: full-bleed band with centred words).
   ===================================================================== */
html[data-design="tidewater"] body .p-pagehead{background:var(--paper);color:var(--text);overflow:visible}
html[data-design="tidewater"] body .p-pagehead__img{opacity:1}
html[data-design="tidewater"] body .p-pagehead__inner{position:relative;z-index:2;text-align:center;text-shadow:none;background:#fff;border-radius:28px;box-shadow:var(--shadow)}
html[data-design="tidewater"] body .p-pagehead h1{color:var(--ink);font-size:clamp(2.1rem,4.6vw,3.6rem);text-shadow:none}
html[data-design="tidewater"] body .p-pagehead .eyebrow{justify-content:center;color:var(--sand-text)}
html[data-design="tidewater"] body .p-pagehead__inner > p:not(.eyebrow){color:var(--text);margin-inline:auto;max-width:52ch}
@media (min-width:721px){
  html[data-design="tidewater"] body .p-pagehead{padding:116px var(--tw-inset) 0}
  html[data-design="tidewater"] body[data-resort] .p-pagehead{padding-top:144px}
  html[data-design="tidewater"] body .p-pagehead__img{position:relative;inset:auto;display:block;width:100%;height:clamp(300px,40vw,480px);border-radius:32px}
  html[data-design="tidewater"] body .p-pagehead__inner,
  html[data-design="tidewater"] body[data-resort] .p-pagehead__inner{width:min(760px,86%);margin:-110px auto 0;padding:2rem clamp(1.6rem,3vw,2.6rem) 2.2rem}
  html[data-design="tidewater"] body .p-pagehead:not(:has(.p-pagehead__img)) .p-pagehead__inner{margin-top:1rem}
}
@media (max-width:720px){
  html[data-design="tidewater"] body .p-pagehead{display:flex;flex-direction:column;padding-top:64px}
  html[data-design="tidewater"] body .p-pagehead__img{position:static;order:-1;height:230px;border-radius:0 0 28px 28px}
  html[data-design="tidewater"] body .p-pagehead__inner,
  html[data-design="tidewater"] body[data-resort] .p-pagehead__inner{width:calc(100% - 2 * var(--gutter));margin:-56px auto 0;padding:1.4rem 1.2rem 1.6rem}
  html[data-design="tidewater"] body .p-pagehead h1{font-size:clamp(1.9rem,8vw,2.4rem)}
}

/* =====================================================================
   SHARED SECTION PIECES
   ===================================================================== */
@media (min-width:721px){
  html[data-design="tidewater"] .section__head{margin-inline:auto;text-align:center}
  html[data-design="tidewater"] .section__head .eyebrow{justify-content:center}
  html[data-design="tidewater"] .section__head h2{font-size:clamp(2.1rem,3.8vw,3.2rem)}
  html[data-design="tidewater"] :is(.hero,.p-hero) h1{font-size:clamp(2.6rem,4.4vw,4.2rem);max-width:18ch}
  html[data-design="tidewater"] .section{padding-block:clamp(72px,9vw,130px)}
}
html[data-design="tidewater"] .p-crumbs{text-align:center}
html[data-design="tidewater"] .p-crumbs a{display:inline-flex;align-items:center;min-height:44px}

/* Key facts: white pills with a round icon. */
html[data-design="tidewater"] body .p-keyfacts{display:grid;gap:.6rem;background:none;border:0;padding:0}
html[data-design="tidewater"] body .p-keyfacts li{display:flex;align-items:center;gap:.8rem;background:#fff;border:1px solid var(--line);border-radius:999px;padding:.45rem 1rem .45rem .45rem;font-weight:500;color:var(--ink)}
html[data-design="tidewater"] body .p-keyfacts li:last-child{border-bottom:1px solid var(--line)}
html[data-design="tidewater"] body .p-keyfacts svg{flex:none;box-sizing:content-box;width:18px;height:18px;padding:9px;margin:0;border-radius:50%;background:var(--sand-tint);color:var(--tw-lagoon)}

/* Facilities: rows with round lagoon icons, inside white rounded panels. */
html[data-design="tidewater"] body .facilities{gap:1rem}
html[data-design="tidewater"] body .facility{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:1rem;align-items:start;background:#fff;border:1px solid var(--line);padding:1.2rem;box-shadow:none}
html[data-design="tidewater"] body .facility > :not(.facility__ic){grid-column:2}
html[data-design="tidewater"] body .facility__ic{grid-row:1 / span 4;width:52px;height:52px;margin:0;border:0;border-radius:50%;background:var(--sand-tint);color:var(--tw-lagoon)}
html[data-design="tidewater"] body .facility h3{font-family:var(--f-display);font-size:1.15rem;font-weight:600}
html[data-design="tidewater"] body .facility:hover{transform:none;box-shadow:var(--shadow-soft)}
@media (min-width:721px){
  html[data-design="tidewater"] body .facilities{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Offers: a ticket - white card, rounded photograph, a dashed tear line. */
html[data-design="tidewater"] body .offer-row{background:#fff;border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow-soft);overflow:hidden}
html[data-design="tidewater"] body .offer-media{border-right:0;border-radius:20px;margin:.8rem}
html[data-design="tidewater"] body .offer-body h3{font-family:var(--f-display);font-weight:600}
@media (min-width:721px){
  html[data-design="tidewater"] body .offer-row{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}
  html[data-design="tidewater"] body .offer-media{aspect-ratio:4/3}
  html[data-design="tidewater"] body .offer-body{border-left:2px dashed var(--line);margin:1.2rem 0;padding:.6rem 2rem}
  html[data-design="tidewater"] body .offer-body h3{font-size:clamp(1.8rem,2.8vw,2.4rem)}
}

/* "With every booking": round lagoon circles in a white rounded panel. */
html[data-design="tidewater"] body .perks-ribbon{background:#fff;border:1px solid var(--line);border-radius:32px;padding:clamp(1.6rem,3vw,2.4rem)}
html[data-design="tidewater"] body .perks-ribbon__head{font-size:.95rem;letter-spacing:.01em;text-transform:none;font-weight:600;color:var(--sand-text)}
html[data-design="tidewater"] body .perk__ic{width:72px;height:72px;border:0;background:var(--sand-tint);color:var(--tw-lagoon);margin:0 auto .8rem}
html[data-design="tidewater"] body .perk b{font-family:var(--f-display);font-size:1.1rem;font-weight:600;color:var(--ink)}

/* Room tiles: rounded white cards, the price as a pill on the photograph. */
@media (min-width:721px){
  html[data-design="tidewater"] body .roombento{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-auto-rows:auto;gap:1.4rem}
  html[data-design="tidewater"] body .rtile{grid-column:auto;grid-row:auto;display:flex;flex-direction:column;min-height:0;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-soft);color:var(--text);padding:.7rem}
  html[data-design="tidewater"] body .rtile img{position:relative;inset:auto;height:auto;aspect-ratio:4/3;border-radius:18px}
  html[data-design="tidewater"] body .rtile:hover img{transform:none}
  html[data-design="tidewater"] body .rtile:hover{box-shadow:var(--shadow)}
  html[data-design="tidewater"] body .rtile__scrim{display:none}
  html[data-design="tidewater"] body .rtile__body{position:static;padding:1rem .5rem .4rem}
  html[data-design="tidewater"] body .rtile h3{color:var(--ink);font-size:1.35rem;font-weight:600}
  html[data-design="tidewater"] body .rtile__tag{position:absolute;top:1.4rem;left:1.4rem;margin:0}
  html[data-design="tidewater"] body .rtile{position:relative}
  html[data-design="tidewater"] body .rtile__desc{max-height:none;opacity:1;margin:.4rem 0 0;color:var(--text)}
  html[data-design="tidewater"] body .rtile__link{color:var(--sand-text);text-transform:none;letter-spacing:0;min-height:44px}
  html[data-design="tidewater"] body .rtile--nomedia{background:#fff}
  html[data-design="tidewater"] body .rtile--nomedia .rtile__tag{position:static}
}

/* The booking panel (offer band): a lagoon-tinted rounded banner. */
html[data-design="tidewater"] body .section--ink{background:var(--paper)}
html[data-design="tidewater"] body .section--ink > .wrap{background:var(--sand-tint);border-radius:32px;padding:clamp(2.2rem,5vw,3.6rem) clamp(1.4rem,4vw,3rem)}
@media (min-width:721px){
  html[data-design="tidewater"] body .section--ink > .wrap{width:calc(100% - 2 * var(--gutter))}
}

/* Attractions: white rounded cards, the number in a lagoon circle, the distance a pill. */
html[data-design="tidewater"] body .attr-list{display:grid;gap:1rem}
html[data-design="tidewater"] body .attr-row{background:#fff;border:1px solid var(--line);border-radius:22px;padding:1rem;border-top:1px solid var(--line)}
html[data-design="tidewater"] body .attr-row:first-child{border-top:1px solid var(--line)}
html[data-design="tidewater"] body .attr-idx{display:grid;place-items:center;width:40px;height:40px;padding:0;border-radius:50%;background:var(--sand-tint);color:var(--tw-lagoon-deep);font-family:var(--f-display);font-weight:600;font-size:1rem}
html[data-design="tidewater"] body .attr-thumb{border-radius:14px}
html[data-design="tidewater"] body .attr-thumb:not(:has(img)){display:none}
html[data-design="tidewater"] body .attr-main h3{font-weight:600;font-size:1.2rem}
html[data-design="tidewater"] body .attr-dist{align-self:flex-start;background:var(--paper-2);color:var(--ink);border-radius:999px;padding:.35rem .8rem;font-weight:600}
@media (min-width:901px){
  html[data-design="tidewater"] body .attr-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Questions: white rounded cards. */
html[data-design="tidewater"] body :is(.faqx__item,.faq details){background:#fff;border:1px solid var(--line);border-radius:22px;margin-bottom:.7rem;box-shadow:none}
html[data-design="tidewater"] body :is(.faqx__item,.faq details) summary{padding:1.1rem 1.3rem;font-family:var(--f-display);font-weight:600;font-size:1.08rem;background:none}
html[data-design="tidewater"] body :is(.faqx__item,.faq details) > :not(summary){padding:0 1.3rem 1.2rem}
html[data-design="tidewater"] body .faq-band{background:var(--paper)}
html[data-design="tidewater"] body .faq-band > .wrap{background:var(--sand-tint);border-radius:32px;padding:clamp(2rem,4vw,3rem)}

/* Gallery: a soft masonry of rounded photographs. */
@media (min-width:721px){
  html[data-design="tidewater"] body .gallery{display:block;columns:3;column-gap:1rem}
  html[data-design="tidewater"] body .gallery a{display:block;margin:0 0 1rem;break-inside:avoid;box-shadow:none}
  html[data-design="tidewater"] body .gallery a:nth-child(3n+1) img{aspect-ratio:4/5}
  html[data-design="tidewater"] body .gallery a:nth-child(3n+2) img{aspect-ratio:1}
  html[data-design="tidewater"] body .gallery a:nth-child(3n) img{aspect-ratio:4/3}
  html[data-design="tidewater"] body .gallery img{height:auto}
}

/* Address panels, awards and facts: white rounded cards. */
html[data-design="tidewater"] body .p-location__card{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-soft)}
html[data-design="tidewater"] body .aw-band{min-height:0;background:var(--sand-tint)}
html[data-design="tidewater"] body .aw-band > img,
html[data-design="tidewater"] body .aw-band::after{display:none}
html[data-design="tidewater"] body .aw-band :is(h2,.aw-score span){color:var(--ink)}
html[data-design="tidewater"] body .aw-band .aw-ring{color:var(--ink);background:#fff;border-color:var(--tw-lagoon)}
html[data-design="tidewater"] body .aw-band__logo{filter:none}
html[data-design="tidewater"] body .aw-band__in > div > p{color:var(--text)}
html[data-design="tidewater"] body .dx-facts{background:#fff}
html[data-design="tidewater"] body .cta{background:var(--paper)}

/* =====================================================================
   HOMEPAGE (GroupHome.astro) AND HOTEL PAGE (HotelHome.astro)
   ===================================================================== */
/* Hero: the headline at the lower left; the label and links as pills. */
html[data-design="tidewater"] .tw-pill-label{display:inline-flex;align-self:flex-start;background:rgba(255,255,255,.92);color:var(--tw-lagoon-deep)!important;border-radius:999px;padding:.4rem .9rem;text-shadow:none;font-weight:600}
html[data-design="tidewater"] .tw-hero__links{display:none}
@media (max-width:720px){
  html[data-design="tidewater"] body .tw-hero .hero__overlay{background:linear-gradient(180deg,rgba(13,54,64,.5) 0%,rgba(13,54,64,.55) 45%,rgba(13,54,64,.62) 100%)}
}
@media (min-width:721px){
  html[data-design="tidewater"] .tw-hero{min-height:min(92vh,880px);display:flex}
  /* A soft pool of shade under the words at the lower left, for bright photographs. */
  html[data-design="tidewater"] .tw-hero .hero__overlay{background:radial-gradient(ellipse 60% 55% at 22% 68%,rgba(13,54,64,.55) 0%,rgba(13,54,64,.25) 60%,rgba(13,54,64,0) 100%),linear-gradient(180deg,rgba(13,54,64,.2) 0%,rgba(13,54,64,.1) 40%,rgba(13,54,64,.45) 100%)}
  html[data-design="tidewater"] body .tw-hero .hero__inner{width:100%;justify-content:flex-end;padding-bottom:clamp(150px,17vw,220px)}
  html[data-design="tidewater"] .tw-hero__links{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.4rem}
  html[data-design="tidewater"] .tw-hero__links a{display:inline-flex;align-items:center;min-height:44px;padding:0 1.1rem;border-radius:999px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.6);color:#fff;font-weight:600;text-shadow:none;backdrop-filter:blur(6px)}
  html[data-design="tidewater"] .tw-hero__links a:hover{background:#fff;color:var(--ink)}
}
/* FIRST SCREEN: the booking card always sits fully on the first screen. Computers: it
   overlaps the hero by 120px, card 204px + 16px -> hero = 100svh - 100px. Tablets: the
   base 58px overlap -> --fold-room (home.css). */
@media (min-width:1025px){
  html[data-design="tidewater"] body .tw-hero{min-height:min(880px,calc(100svh - 100px))}
  html[data-design="tidewater"] body .tw-hero .hero__inner{padding-bottom:150px;min-height:0}
}
@media (min-width:721px) and (max-width:1024px){
  html[data-design="tidewater"] body .tw-hero{min-height:calc(100svh - var(--fold-room))}
  html[data-design="tidewater"] body .tw-hero .hero__inner{padding-bottom:110px;min-height:0}
}
/* Booking: the white card riding over the shore. */
html[data-design="tidewater"] .tw-booking .booking__card{background:#fff;border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow)}
@media (min-width:1025px){
  html[data-design="tidewater"] body .tw-booking{position:relative;z-index:3;margin-top:-120px}
}

/* Welcome: one large centred sentence, the facts as pills. */
html[data-design="tidewater"] .tw-welcome{text-align:center}
html[data-design="tidewater"] .tw-welcome .eyebrow{justify-content:center}
html[data-design="tidewater"] .tw-welcome h2{font-size:clamp(2.2rem,4.6vw,3.8rem);max-width:20ch;margin:.4rem auto 1.2rem}
html[data-design="tidewater"] .tw-welcome__body{max-width:62ch;margin:0 auto}
html[data-design="tidewater"] .tw-welcome__body p{font-size:clamp(1.05rem,1.4vw,1.2rem);line-height:1.75;color:var(--text)}
html[data-design="tidewater"] .tw-pills{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem;margin:1.8rem 0 0;padding:0}
html[data-design="tidewater"] .tw-pills li{display:inline-flex;align-items:center;gap:.5rem;padding:.55rem 1.1rem;border-radius:999px;background:#fff;border:1px solid var(--line);font-weight:600;color:var(--ink)}
html[data-design="tidewater"] .tw-pills svg{color:var(--tw-lagoon)}
html[data-design="tidewater"] .tw-pills--sm{justify-content:flex-start;margin:.8rem 0}
html[data-design="tidewater"] .tw-pills--sm li{padding:.35rem .8rem;font-size:.88rem;font-weight:500;background:var(--paper)}

/* Shores: the hotels as a bento (phones: the swipe row of cards). */
html[data-design="tidewater"] .tw-shore{position:relative;background:#fff;border:1px solid var(--line);border-radius:28px;overflow:hidden;box-shadow:var(--shadow-soft);display:flex;flex-direction:column}
html[data-design="tidewater"] .tw-shore__media{display:block;aspect-ratio:4/3;overflow:hidden}
html[data-design="tidewater"] .tw-shore__media img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
html[data-design="tidewater"] .tw-shore:hover .tw-shore__media img{transform:scale(1.04)}
html[data-design="tidewater"] .tw-shore__body{padding:1.1rem 1.2rem 1.2rem;display:flex;flex-direction:column;flex:1}
html[data-design="tidewater"] .tw-shore__place{margin:0;font-weight:600;font-size:.9rem;color:var(--sand-text)}
html[data-design="tidewater"] .tw-shore h3{margin:.2rem 0 .4rem;font-size:1.4rem}
html[data-design="tidewater"] .tw-shore h3 a{color:var(--ink);text-decoration:none}
html[data-design="tidewater"] .tw-shore__desc{margin:0 0 .8rem;color:var(--text)}
html[data-design="tidewater"] .tw-shore__actions{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1.1rem;margin-top:auto}
@media (min-width:721px){
  html[data-design="tidewater"] .tw-bento{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;margin-top:2.4rem}
  /* The first hotel: a big tile, the words laid over its photograph. */
  html[data-design="tidewater"] .tw-bento > .tw-shore:first-child{grid-column:span 2;grid-row:span 2;border:0}
  html[data-design="tidewater"] .tw-bento > .tw-shore:first-child .tw-shore__media{position:absolute;inset:0;aspect-ratio:auto}
  html[data-design="tidewater"] .tw-bento > .tw-shore:first-child::after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(180deg,rgba(13,54,64,0),rgba(13,54,64,.82));pointer-events:none}
  html[data-design="tidewater"] .tw-bento > .tw-shore:first-child .tw-shore__body{position:relative;z-index:1;margin-top:auto;min-height:clamp(420px,42vw,560px);justify-content:flex-end;padding:1.8rem;background:none}
  html[data-design="tidewater"] .tw-bento > .tw-shore:first-child :is(h3 a,.tw-shore__desc){color:#fff}
  html[data-design="tidewater"] .tw-bento > .tw-shore:first-child h3{font-size:clamp(2rem,3vw,2.6rem)}
  html[data-design="tidewater"] .tw-bento > .tw-shore:first-child .tw-shore__place{display:inline-flex;align-self:flex-start;background:#fff;color:var(--tw-lagoon-deep);border-radius:999px;padding:.3rem .8rem}
  html[data-design="tidewater"] .tw-bento > .tw-shore:first-child .tw-link{color:#fff}
  html[data-design="tidewater"] .tw-bento > .tw-shore:first-child .tw-shore__actions{margin-top:.4rem}
  html[data-design="tidewater"] .tw-bento > .tw-shore:first-child .tw-shore__body{text-shadow:0 1px 14px rgba(13,54,64,.5)}
  html[data-design="tidewater"] .tw-bento > .tw-shore:first-child .tw-shore__place{text-shadow:none}
  html[data-design="tidewater"] .tw-bento > .tw-shore:not(:first-child) .tw-shore__desc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
}
@media (min-width:721px) and (max-width:1024px){
  html[data-design="tidewater"] .tw-bento{grid-template-columns:repeat(2,minmax(0,1fr))}
  html[data-design="tidewater"] .tw-bento > .tw-shore:first-child{grid-row:auto}
}

/* Finder: guest types as large pills, the match in a rounded card. */
html[data-design="tidewater"] .tw-finder{background:var(--paper-2)}
@media (min-width:721px){
  html[data-design="tidewater"] body .tw-bigpills{justify-content:center;gap:.7rem;margin:1.8rem 0 2rem}
  html[data-design="tidewater"] body .tw-bigpills .chip{min-height:52px;padding:0 1.5rem;font-size:1rem;font-weight:600;background:#fff;border:1px solid var(--line);color:var(--ink);transform:none}
  html[data-design="tidewater"] body .tw-bigpills .chip[aria-pressed="true"]{background:var(--tw-lagoon);border-color:var(--tw-lagoon);color:#fff}
  html[data-design="tidewater"] .tw-finder__answer .match.is-current{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:0 2.4rem;align-items:center;background:#fff;border-radius:32px;padding:1rem;box-shadow:var(--shadow-soft)}
  html[data-design="tidewater"] .tw-finder__answer .match__thumb{grid-row:1 / span 2;width:100%;height:auto;aspect-ratio:4/3;border-radius:24px}
  html[data-design="tidewater"] .tw-finder__answer .match__body h3{font-size:clamp(1.8rem,2.6vw,2.4rem)}
  html[data-design="tidewater"] .tw-finder__answer .match__cta{flex-direction:row;align-items:center;gap:1.2rem;margin-top:1rem}
}
html[data-design="tidewater"] .tw-finder .router__result{background:none;border:0}
/* Phones: the swipe row bleeds to the screen edge by this layout's own side margin. */
@media (max-width:720px){
  html[data-design="tidewater"] body #routerResult.tw-finder__answer{margin-inline:calc(-1 * var(--gutter));padding-inline:var(--gutter);scroll-padding-inline:var(--gutter)}
}

/* Tickets: a perforated edge, the discount in a round badge. */
html[data-design="tidewater"] .tw-ticket{position:relative;background:#fff;border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow-soft);display:flex;flex-direction:column;overflow:visible}
html[data-design="tidewater"] .tw-ticket__media{position:relative;margin:.7rem .7rem 0;aspect-ratio:16/10;min-height:0;border-radius:20px;overflow:visible}
html[data-design="tidewater"] body .tw-ticket__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:20px}
html[data-design="tidewater"] body .tw-ticket__where .beach{font-size:inherit;letter-spacing:0;text-transform:none;font-weight:500;color:var(--muted)}
html[data-design="tidewater"] body .tw-ticket__badge{position:absolute;right:.8rem;bottom:-1.6rem;left:auto;top:auto;display:grid;place-items:center;width:84px;height:84px;padding:.4rem;border-radius:50%!important;border:4px solid #fff;background:var(--tw-lagoon);color:#fff;font-family:var(--f-display);font-size:1rem!important;font-weight:700;line-height:1.05;text-align:center;letter-spacing:0;text-transform:none}
html[data-design="tidewater"] .tw-ticket__body{padding:1.2rem 1.2rem .8rem}
html[data-design="tidewater"] .tw-ticket__where{margin:0;font-weight:600;font-size:.88rem;color:var(--sand-text);padding-right:5.4rem}
html[data-design="tidewater"] .tw-ticket .offer__name{margin:.3rem 0 .6rem;font-family:var(--f-display);font-size:1.3rem;font-weight:600;color:var(--ink)}
html[data-design="tidewater"] .tw-ticket__stub{margin-top:auto;padding:1rem 1.2rem 1.2rem;border-top:2px dashed var(--line);position:relative}
html[data-design="tidewater"] .tw-ticket__stub::before,
html[data-design="tidewater"] .tw-ticket__stub::after{content:"";position:absolute;top:-12px;width:22px;height:22px;border-radius:50%;background:var(--paper);border:1px solid var(--line)}
html[data-design="tidewater"] .tw-ticket__stub::before{left:-12px;clip-path:inset(0 0 0 50%)}
html[data-design="tidewater"] .tw-ticket__stub::after{right:-12px;clip-path:inset(0 50% 0 0)}
@media (min-width:721px){
  html[data-design="tidewater"] .tw-tickets{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.4rem;margin-top:2.4rem}
}

/* Scores in rings. */
html[data-design="tidewater"] .tw-rings{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:1.4rem 2.2rem;margin:2rem 0 0;padding:0}
html[data-design="tidewater"] .tw-rings li{display:flex;flex-direction:column;align-items:center;text-align:center;width:150px}
html[data-design="tidewater"] .tw-rings b{display:grid;place-items:center;width:104px;height:104px;border-radius:50%;border:4px solid var(--tw-lagoon);background:#fff;font-family:var(--f-display);font-size:2rem;font-weight:700;color:var(--ink);margin-bottom:.7rem;box-shadow:var(--shadow-soft)}
html[data-design="tidewater"] .tw-rings span{font-weight:600;color:var(--ink)}
html[data-design="tidewater"] .tw-rings small{color:var(--muted)}
html[data-design="tidewater"] .tw-rings__award{margin-top:1.6rem;text-align:center;color:var(--text)}

/* Questions on the home pages: two columns of white cards. */
@media (min-width:901px){
  html[data-design="tidewater"] .tw-faq .faq__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1rem;max-width:none;align-items:start}
}

/* Close: a rounded photo banner with the words on a white card. */
html[data-design="tidewater"] body .tw-close{background:var(--paper);padding-block:clamp(56px,8vw,110px)}
html[data-design="tidewater"] .tw-close__card{position:relative;border-radius:36px;overflow:hidden;min-height:clamp(360px,40vw,520px);display:flex;align-items:center;justify-content:center;padding:1.4rem;background:var(--paper-2)}
html[data-design="tidewater"] .tw-close__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
html[data-design="tidewater"] .tw-close__text{position:relative;z-index:1;background:#fff;border-radius:28px;padding:clamp(1.6rem,3vw,2.6rem);max-width:560px;text-align:center;box-shadow:var(--shadow)}
html[data-design="tidewater"] .tw-close__text h2{font-size:clamp(1.8rem,3.4vw,2.8rem);margin:0 0 .6rem}
html[data-design="tidewater"] .tw-close__text p{margin:0 auto 1.2rem;color:var(--text)}
html[data-design="tidewater"] .tw-close__text .eyebrow{justify-content:center}
html[data-design="tidewater"] .tw-close__note{margin-top:.8rem;font-size:.88rem;color:var(--muted)}

/* Hotel page: facts as large pills in one row. */
html[data-design="tidewater"] .tw-factpills{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:.8rem;margin:clamp(2rem,4vw,3rem) 0 0;padding:0}
html[data-design="tidewater"] .tw-factpills li{display:flex;align-items:baseline;gap:.6rem;padding:.7rem 1.4rem;border-radius:999px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-soft)}
html[data-design="tidewater"] .tw-factpills b{font-family:var(--f-display);font-size:1.6rem;font-weight:700;color:var(--tw-lagoon)}
html[data-design="tidewater"] .tw-factpills span{font-weight:500;color:var(--ink)}

/* Hotel page: rounded cards for rooms and restaurants. */
html[data-design="tidewater"] .tw-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:28px;padding:.7rem;color:var(--text);text-decoration:none;box-shadow:var(--shadow-soft);transition:box-shadow .3s var(--ease),transform .3s var(--ease)}
html[data-design="tidewater"] a.tw-card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}
html[data-design="tidewater"] .tw-card__media{position:relative;display:block;aspect-ratio:4/3;border-radius:20px;overflow:hidden;background:var(--paper-2)}
html[data-design="tidewater"] .tw-card__media img{width:100%;height:100%;object-fit:cover}
html[data-design="tidewater"] .tw-card__pill{position:absolute;left:.8rem;top:.8rem;padding:.35rem .8rem;border-radius:999px;background:#fff;color:var(--tw-lagoon-deep);font-weight:700;font-size:.85rem}
html[data-design="tidewater"] .tw-card__body{display:flex;flex-direction:column;padding:1rem .6rem .4rem}
html[data-design="tidewater"] .tw-card h3{margin:0 0 .3rem;font-size:1.4rem}
html[data-design="tidewater"] .tw-card__desc{display:block;color:var(--text)}
html[data-design="tidewater"] .tw-card__hours{display:block;margin-bottom:.4rem;font-size:.9rem;color:var(--muted)}
html[data-design="tidewater"] .tw-card__note{display:block;margin-top:.4rem;font-size:.85rem;color:var(--muted)}
html[data-design="tidewater"] .tw-card.is-nomedia .tw-card__media{display:none}
@media (min-width:721px){
  html[data-design="tidewater"] .tw-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.4rem;margin-top:2.4rem}
  html[data-design="tidewater"] .tw-cards--two{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
}

/* Hotel page: facilities as rows with round icons, two columns. */
html[data-design="tidewater"] .tw-iconrows{list-style:none;margin:2rem 0 0;padding:0;display:grid;gap:.9rem}
html[data-design="tidewater"] .tw-iconrows li{display:flex;gap:1rem;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:22px;padding:1rem 1.2rem}
html[data-design="tidewater"] .tw-iconrows__ic{flex:none;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--sand-tint);color:var(--tw-lagoon)}
html[data-design="tidewater"] .tw-iconrows h3{margin:.2rem 0 .2rem;font-size:1.12rem}
html[data-design="tidewater"] .tw-iconrows p{margin:0;font-size:.95rem;color:var(--text)}
@media (min-width:721px){
  html[data-design="tidewater"] .tw-iconrows{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Hotel page: soft masonry. */
html[data-design="tidewater"] .tw-masonry a{display:block;overflow:hidden;border-radius:22px;background:var(--paper-2)}
html[data-design="tidewater"] .tw-masonry img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
html[data-design="tidewater"] .tw-masonry a:hover img{transform:scale(1.04)}
@media (max-width:720px){
  html[data-design="tidewater"] .tw-masonry > a{height:250px}
}
@media (min-width:721px){
  html[data-design="tidewater"] .tw-masonry{columns:3;column-gap:1rem;margin-top:2.4rem}
  html[data-design="tidewater"] .tw-masonry a{margin:0 0 1rem;break-inside:avoid}
  html[data-design="tidewater"] .tw-masonry a:nth-child(3n+1) img{aspect-ratio:4/5}
  html[data-design="tidewater"] .tw-masonry a:nth-child(3n+2) img{aspect-ratio:1}
  html[data-design="tidewater"] .tw-masonry a:nth-child(3n) img{aspect-ratio:4/3}
}

/* Hotel page: the map in a rounded frame, the address floating on it. */
html[data-design="tidewater"] .tw-where__frame{position:relative;margin-top:2.4rem}
html[data-design="tidewater"] .tw-where__map{position:relative;z-index:0;height:320px;border-radius:32px;overflow:hidden;border:1px solid var(--line)}
html[data-design="tidewater"] .tw-where__map #resort-map{width:100%;height:100%}
html[data-design="tidewater"] .tw-where__card{background:#fff;border:1px solid var(--line);border-radius:28px;padding:1.4rem;margin-top:1rem;box-shadow:var(--shadow)}
html[data-design="tidewater"] .tw-where__card h3{font-size:1.5rem;margin:0 0 .5rem}
html[data-design="tidewater"] .tw-where__card address{font-style:normal;color:var(--ink);line-height:1.6}
html[data-design="tidewater"] .tw-where__contact{list-style:none;margin:.8rem 0 0;padding:0}
html[data-design="tidewater"] .tw-where__contact a{display:inline-flex;align-items:center;gap:.6rem;min-height:44px;color:var(--ink)}
html[data-design="tidewater"] .tw-where__contact svg{color:var(--tw-lagoon)}
html[data-design="tidewater"] .tw-where__go{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}
@media (min-width:901px){
  html[data-design="tidewater"] .tw-where__map{height:clamp(460px,46vw,580px)}
  html[data-design="tidewater"] .tw-where__card{position:absolute;z-index:1;top:1.4rem;left:1.4rem;width:min(380px,40%);margin:0}
}

@media (prefers-reduced-motion:reduce){
  html[data-design="tidewater"] *{transition:none!important}
}
