/* ══════════════════════════════════════════════════════════════
   SKIN 2 — SANDSTONE
   Loaded after site.css on every page except the ad landers (Head.astro).
   Same pages, same components; our own finish.
   The building's palette: warm sandstone and limestone grounds,
   slate (the roofs and window frames) instead of black, brass
   hairlines. Colour and transform transitions only.
   ══════════════════════════════════════════════════════════════ */
:root{
  --lime:#F7F2E9;        /* page: limestone */
  --stone-l:#EFE6D6;     /* hero + wall: dressed stone */
  --sand:#EADFCB;        /* light bands: sandstone */
  --slate:#26323A;       /* dark bands */
  --slate-deep:#1C252B;  /* footer, offer bar, dock */
  --slate-2:#313E47;     /* raised surfaces on slate */
  --brass-s:#A88452;     /* hairlines, icons */
  --brass-s2:#CBAE7C;    /* text and rules on slate */
  --brass-t:#6E5129;     /* brass as text on light grounds (AA) */
  --brass-line:rgba(168,132,82,.36);
  --card:#FCF9F3;
  --ink:#1F2A30;--bone:var(--lime);--blush:var(--sand);--paper:#FFFFFF;--stone:#E2D7C4;
  --sage:var(--sand);--sage-line:var(--brass-line);
  --accent-light:#9BD8C3;
  --t1:var(--ink);--t2:rgba(31,42,48,.78);--t3:rgba(31,42,48,.68);--t-body:rgba(31,42,48,.85);
  --line:rgba(110,81,41,.2);--line-strong:rgba(110,81,41,.36);
  --on-ink:#F4EEE3;--on-ink-2:rgba(244,238,227,.82);--on-ink-3:rgba(244,238,227,.68);--on-ink-line:rgba(203,174,124,.3);
  --r:6px;--r-card:10px;--r-img:8px;
  --frame:inset 0 0 0 5px var(--card),inset 0 0 0 6px rgba(168,132,82,.2);
  --lift:0 18px 40px -26px rgba(38,50,58,.45);
}
body{background:var(--lime);color:var(--ink)}
::selection{background:var(--slate);color:#fff}

/* ── chrome ─────────────────────────────────────────── */
.announce{background:var(--slate-deep);color:var(--on-ink)}
.announce__dot{background:var(--brass-s2)}
.announce__hours a{background:var(--brass-s2);color:var(--slate-deep)}
.announce__hours a:hover{background:#fff}
.header{background:var(--lime);backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom:1px solid var(--brass-line)}
.header.is-stuck{border-bottom-color:var(--brass-s)}
.btn:is(.btn--ink,.btn--accent,.btn--alert,.btn--blue,.btn--brass):is(:hover,:focus-visible),
.btn.btn--ink.header__book:is(:hover,:focus-visible){background:var(--slate);border-color:var(--slate);color:#fff}
.btn.btn--ghost{border-color:var(--brass-s);border-width:1.5px;color:var(--ink);background:rgba(255,255,255,.35)}
.btn.btn--ghost:is(:hover,:focus-visible){background:var(--slate);border-color:var(--slate);color:#fff}
@media(min-width:1140px){
  .nav__link:hover,.nav__item.is-active>.nav__link{background:var(--sand);color:var(--ink)}
  .nav__item--accent>.nav__link::before{background:#C2412B}
  .mega{background:var(--lime);border-color:var(--brass-line);box-shadow:var(--lift)}
  .mega__feature{background:var(--slate)}
}
.mega__col a:hover{color:var(--accent)}
.drawer{background:var(--lime)}

/* ── eyebrow labels: sentence case, brass, a hairline ──── */
.label{text-transform:none;letter-spacing:.01em;font-size:14px;font-weight:600;color:var(--brass-t);gap:14px}
.label::before,.label::after{background:var(--brass-s)}
.head .label::after{max-width:44px}
.band--ink .label,.label--ink,.foot .label,.foot__col .label{color:var(--brass-s2)}
.band--ink .label::before,.band--ink .label::after{background:var(--brass-s2)}
.prose p.label{font-size:14px;letter-spacing:.01em;color:var(--brass-t)}
.mark{color:var(--brass-s)}
.band--ink .mark{color:var(--brass-s2)}

/* ── type: headings regular, gentle tracking ─────────── */
.display{font-weight:400;letter-spacing:-.03em;line-height:1;color:var(--ink)}
.display em,.em{font-weight:600;letter-spacing:-.035em;color:var(--accent)}
.h2,.head__h{letter-spacing:-.022em}

/* ── hero: dressed stone, framed cards ───────────────── */
.hhero{background:var(--stone-l)}
.hhero__pre{text-transform:none;letter-spacing:.01em;font-size:14px;font-weight:600;color:var(--brass-t);border-color:var(--brass-s);background:var(--card)}
.hhero__pre::before{background:var(--brass-s);border-radius:0;transform:rotate(45deg);width:6px;height:6px}
.chip{background:var(--card);border-color:var(--brass-line);color:var(--t2)}
.chip b{color:var(--accent)}
.hcards{gap:12px}
.hcard{background:var(--card);border:1px solid var(--brass-line);box-shadow:var(--frame),var(--lift);
  transition:background-color .25s var(--ease),border-color .25s var(--ease),transform .35s var(--ease-out),box-shadow .35s var(--ease-out)}
.hcard__dot{border-radius:0;transform:rotate(45deg);width:8px;height:8px}
.hcard--all .hcard__dot{background:var(--brass-s)}
.hcard__t,.hcard__s,.hcard__m,.hcard__m svg{transition:color .25s var(--ease)}
.hcard:hover,.hcard:focus-visible{background:var(--slate);border-color:var(--slate);transform:translateY(-3px);
  box-shadow:inset 0 0 0 5px var(--slate),inset 0 0 0 6px rgba(203,174,124,.45),0 24px 44px -22px rgba(28,37,43,.6)}
.hcard:hover .hcard__t,.hcard:focus-visible .hcard__t{color:#fff}
.hcard:hover .hcard__s,.hcard:focus-visible .hcard__s{color:var(--on-ink-2)}
.hcard:hover .hcard__m,.hcard:hover .hcard__m svg,.hcard:focus-visible .hcard__m,.hcard:focus-visible .hcard__m svg{color:var(--brass-s2)}

.hcard__dot{transition:background-color .25s var(--ease)}
.hcard:not(.hcard--alert):is(:hover,:focus-visible) .hcard__dot{background:var(--brass-s2)}
.hcard--alert:is(:hover,:focus-visible) .hcard__dot{background:#E8735C}

/* ── photo wall: stone ground, brass rules above and below ── */
.wall{background:var(--stone-l);padding-top:clamp(26px,3vw,40px);border-bottom:1px solid var(--brass-line)}
.wall__i{border-radius:var(--r-img);background:var(--stone)}

/* ── dark bands: slate ──────────────────────────────── */
.band--ink{background:var(--slate);color:var(--on-ink)}
.band--ink .lede{color:var(--on-ink-2)}
.yt{border-radius:var(--r-img);background:var(--slate-deep)}
/* the player fills the film frame once it starts (it had no size, so it played at 300x150) */
.yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.yt__play{background:linear-gradient(180deg,rgba(28,37,43,0) 46%,rgba(28,37,43,.72))}
.yt__play span{background:var(--brass-s2);color:var(--slate-deep);transition:transform .22s var(--ease),background-color .22s var(--ease)}
.yt__play:hover span,.yt__play:focus-visible span{background:#fff}
.film__cap blockquote{font-weight:400;letter-spacing:-.018em;color:var(--on-ink)}

/* rings retire */
.band::before,.band::after{display:none}

/* ── reviews ─────────────────────────────────────────── */
.band--bone2{background:var(--lime)}
.rev{background:var(--card);border-radius:var(--r-card);border-color:var(--brass-line);box-shadow:var(--frame)}
.stars{color:var(--brass-s)}
.rev__f{border-top-color:var(--brass-line)}

/* ── prices: sandstone ───────────────────────────────── */
.is-home #prices.band--blush{background:var(--sand)}
.price__n{font-weight:300;color:var(--slate);letter-spacing:-.05em}
.price__n sup{color:var(--brass-t);font-weight:400}
.is-home #prices .tiers,.is-home #prices .price__grid{border-top:1px solid var(--brass-s)}
.is-home #prices .tier,.is-home #prices .price__c{border-color:var(--brass-line)}
.tier{transition:background-color .25s var(--ease)}
.tier__t{transition:color .25s var(--ease)}
a.tier:is(:hover,:focus-visible){background:rgba(252,249,243,.75)}
a.tier:is(:hover,:focus-visible) .tier__t{color:var(--accent)}
.tier__w{text-transform:none;letter-spacing:.01em;font-size:14px;color:var(--brass-t);font-weight:600}
.tier__p{font-weight:400;color:var(--slate);letter-spacing:-.03em}
.price__ct{font-weight:600}

.is-home #prices .label::before,.is-home #prices .label::after{background:var(--brass-s)}

/* ── before / after ──────────────────────────────────── */
.ba{border-radius:var(--r-img)}
.ba__tag,.ba-card .ba__tag{text-transform:none;letter-spacing:.02em;font-size:13px;background:rgba(28,37,43,.86)}
.ba__tag--after,.ba-card .ba__tag--after{background:var(--accent)}

/* ── honest bit / pillars ────────────────────────────── */
.cut::after{background:var(--brass-s);max-width:64px}
.pillar{border-top:1px solid var(--brass-s)}
.pillar+.pillar{border-left-color:var(--brass-line)}
.pillar__k{text-transform:none;letter-spacing:.01em;font-size:14px;color:var(--brass-t)}

/* ── team: arched like the windows, a brass reveal ───── */
.doc__f{background:var(--sand);outline:1px solid var(--brass-line);outline-offset:4px;transition:outline-color .25s var(--ease)}
.doc:hover .doc__f{outline-color:var(--brass-s)}
.doc__n{transition:color .25s var(--ease)}
.doc:is(:hover,:focus-within) .doc__n{color:var(--accent)}
.team{row-gap:22px}

/* ── FAQ ─────────────────────────────────────────────── */
.faqs{border-top:1px solid var(--brass-s)}
.faq{border-bottom-color:var(--brass-line)}
.faq__i{width:28px;height:28px;border:1px solid var(--brass-s);border-radius:50%;transition:background-color .25s var(--ease),border-color .25s var(--ease)}
.faq__i::before{top:13px;left:8px;width:11px}
.faq__i::after{left:13px;top:8px;height:11px}
.faq[open] .faq__i,.faq__q:hover .faq__i{background:var(--slate);border-color:var(--slate);color:#fff}

/* ── enquiry ─────────────────────────────────────────── */
.checks__n{color:var(--brass-s2);letter-spacing:.12em}
.band--ink .checks li{border-color:rgba(203,174,124,.24)}
.form{border-radius:var(--r-card);background:var(--card)}
.band--ink .form{box-shadow:inset 0 0 0 6px var(--card),inset 0 0 0 7px rgba(168,132,82,.3),0 30px 60px -30px rgba(0,0,0,.5)}
.form__t{font-weight:400;letter-spacing:-.02em}
.field>span{text-transform:none;letter-spacing:.01em;font-size:13px;color:var(--t2)}

/* ── map card ────────────────────────────────────────── */
.mapcard__list svg{color:var(--brass-s)}
.dirs li{background:var(--card);border-radius:var(--r-card);border-color:var(--brass-line);box-shadow:var(--frame)}
.dirs span{font-weight:400;color:var(--slate)}
.mapcard__map{border-radius:var(--r-img);background:var(--sand)}

/* ── prose band ──────────────────────────────────────── */
.band--blush{background:var(--sand)}

/* ── footer: deep forest, the brand row on top, links full width below ── */
.foot{background:#0F2A23;color:#F1EBDF;border-top:3px solid var(--brass-s);font-size:14.5px}
.foot .logo,.foot .logo--bone{color:#F7F2E9}
.foot .label,.foot__col .label{color:var(--brass-s2)}
.foot__top{grid-template-columns:1fr;gap:34px;border-bottom:1px solid rgba(203,174,124,.24)}
@media(min-width:1000px){.foot__top{grid-template-columns:1fr}}
.foot__brand{display:grid;grid-template-columns:1fr;gap:16px;padding-bottom:30px;border-bottom:1px solid rgba(203,174,124,.24)}
@media(min-width:900px){.foot__brand{grid-template-columns:auto 1fr;column-gap:56px;align-items:center}}
.foot__tag{margin:0;max-width:34em;color:rgba(241,235,223,.78)}
.foot__contact{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;gap:10px;margin-top:6px}
.foot__contact :is(a,span){padding:9px 15px;border:1px solid rgba(203,174,124,.32);border-radius:10px;background:rgba(255,255,255,.04);color:#F1EBDF;
  transition:background-color .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease)}
.foot__contact a:hover{background:var(--brass-s2);border-color:var(--brass-s2);color:#0F2A23}
.foot__contact svg{color:var(--brass-s2)}
.foot__contact a:hover svg{color:#0F2A23}
.foot__col a{color:rgba(241,235,223,.8);transition:color .2s var(--ease)}
.foot__col a:hover,.foot__legal a:hover,.foot__social a:hover{color:var(--brass-s2)}
.foot__legal{color:rgba(241,235,223,.62)}
.foot__legal a,.foot__social a{color:#F1EBDF}
.foot :focus-visible{outline-color:var(--brass-s2)}

/* ── dock: three separate buttons, no capsule, no pulse ── */
.dock{background:transparent;border:0;box-shadow:none;padding:0;gap:10px;backdrop-filter:none;-webkit-backdrop-filter:none}
.dock__pulse{display:none}
.dock :is(a,button){border-radius:12px;box-shadow:0 12px 26px -14px rgba(28,37,43,.55)}
.dock__book{background:var(--accent);color:#fff}
.dock__book:hover{background:var(--slate);color:#fff}
.dock :is(.dock__wa,.dock__call){background:var(--card);color:var(--ink);border:1px solid rgba(110,81,41,.32)}
.dock :is(.dock__wa,.dock__call) svg{color:var(--accent)}
.dock :is(.dock__wa,.dock__call):hover{background:#fff}
.dock__enq{background:var(--slate);color:#fff}
.dock__enq:hover{background:var(--slate-deep);color:#fff}
.dock :focus-visible{outline-color:var(--accent)}
@media(max-width:720px){
  .dock{padding:6px;border-radius:14px;background:var(--lime);border:1px solid rgba(110,81,41,.3);box-shadow:0 -10px 30px -18px rgba(28,37,43,.5)}
  .dock :is(a,button){box-shadow:none}
}
.totop{background:var(--slate);backdrop-filter:none;-webkit-backdrop-filter:none}

/* ── cookie notice: a light card, one row on wide screens ── */
.consent{background:var(--card);color:var(--t2);border:1px solid rgba(110,81,41,.3);border-left:4px solid var(--accent);border-radius:10px;
  box-shadow:0 22px 50px -24px rgba(28,37,43,.5);font-size:13.5px}
.consent a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.consent .btn--bone{background:var(--accent);border-color:var(--accent);color:#fff}
.consent .btn--bone:hover{background:var(--slate);border-color:var(--slate);color:#fff}
.consent .btn--ghost-ink{background:transparent;border:1px solid rgba(31,42,48,.35);color:var(--ink)}
.consent .btn--ghost-ink:hover{background:var(--slate);border-color:var(--slate);color:#fff}
.consent .btn{border-radius:8px}
.consent__reject{color:var(--t3)}
.consent__reject:hover{color:var(--ink)}
@media(min-width:900px){
  .consent{display:flex;align-items:center;gap:22px;max-width:820px;padding:16px 18px 16px 22px}
  .consent>p{flex:1;margin:0}
  .consent__btns{margin-top:0;flex-wrap:nowrap}
}

/* ── focus ───────────────────────────────────────────── */
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.band--ink :focus-visible{outline-color:var(--brass-s2)}

/* ── inner pages: the same finish on every template ─── */
:root{--ink-2:var(--slate-deep);--graphite:var(--slate-deep);--alert:var(--slate-deep);--blue:var(--slate-deep)}
.hero--bone{background:var(--stone-l)}
.hero--ink{background:var(--slate)}
.hero--ink .display,.band--ink .display,.panel .display,.tfigs .display{color:inherit}
.hero.hero .hero__grid::before,.hero.hero .hero__grid::after{display:none}
