/* ==========================================================================
   Jaguar Comforts — Malnad coffee-country theme
   forest green · brass · cream
   ========================================================================== */

:root{
  --night:#000000;
  --forest:#111010;
  --forest-2:#1c1917;
  --moss:#3a3330;
  --moss-lt:#6d635c;
  --cream:#0b0b0b;
  --sand:#141312;
  --sand-2:#26221f;
  --ink:#f3ede7;
  --muted:#9a918a;
  --brass:#ff7a18;
  --brass-lt:#ffa74f;
  --brass-glow:rgba(255,122,24,.45);
  --line:rgba(255,255,255,.10);
  --line-lt:rgba(255,255,255,.14);

  --grad-brass:linear-gradient(103deg,#d95c07 0%,#ff7a18 26%,#ffb45f 47%,#ff8c2e 66%,#d95c07 100%);
  --grad-forest:linear-gradient(160deg,#1a1613 0%,#000000 100%);

  --ff-d:"Fraunces",Georgia,"Times New Roman",serif;
  --ff-b:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;

  --pad:clamp(18px,5vw,72px);
  --r:16px;
  --r-lg:26px;
  --hdr-h:96px;
  --ease:cubic-bezier(.22,1,.36,1);
  --shadow:0 24px 60px -30px rgba(0,0,0,.85);
  --shadow-lg:0 40px 90px -40px rgba(0,0,0,.95);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;background:var(--cream);color:var(--ink);
  font-family:var(--ff-b);font-size:16.5px;line-height:1.68;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
body.is-locked{overflow:hidden}
img,svg,video,iframe{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
ul{margin:0;padding:0;list-style:none}
h1,h2,h3,h4{margin:0;font-family:var(--ff-d);font-weight:400;line-height:1.08;letter-spacing:-.015em}
p{margin:0 0 1em}
:focus-visible{outline:2px solid var(--brass);outline-offset:3px;border-radius:6px}
::selection{background:var(--brass);color:#140c04}

.skip{position:absolute;left:-9999px;top:0;z-index:200;background:var(--forest);color:#fff;padding:.9rem 1.4rem;border-radius:0 0 12px 0}
.skip:focus{left:0}

/* ---------------------------------------------------------------- layout */
.wrap{width:min(1220px,100% - var(--pad)*2);margin-inline:auto}
.section{position:relative;padding:clamp(60px,8.5vw,124px) 0}
.section--tight{padding:clamp(40px,5vw,72px) 0}
.section--sand{background:var(--sand)}
.section--dark{background:var(--grad-forest);color:#ece7e2}
.section--dark .lead,.section--dark .muted{color:#a79e96}
.center{text-align:center}

/* ------------------------------------------------------------ typography */
.h1{font-size:clamp(2.5rem,6vw,4.6rem);letter-spacing:-.03em}
.h2{font-size:clamp(1.95rem,3.9vw,3.15rem);letter-spacing:-.025em}
.h3{font-size:clamp(1.35rem,2.1vw,1.85rem)}
.eyebrow{
  display:inline-flex;align-items:center;gap:.7rem;margin:0 0 1.1rem;
  font-family:var(--ff-b);font-size:.76rem;font-weight:500;letter-spacing:.22em;
  text-transform:uppercase;color:var(--brass);
}
.eyebrow::before{content:"";width:30px;height:1px;background:var(--grad-brass)}
.eyebrow--c::after{content:"";width:30px;height:1px;background:var(--grad-brass)}
.eyebrow--light{color:var(--brass-lt)}
.lead{font-size:clamp(1rem,1.15vw,1.1rem);color:var(--muted);max-width:60ch;margin:0}
.muted{color:var(--muted)}
.prose p{max-width:62ch}
.prose--lg p{font-size:1.08rem}
.shead{max-width:64ch;margin-bottom:clamp(28px,4vw,52px)}
.shead--c{margin-inline:auto;text-align:center}
.shead--c .lead{margin-inline:auto}
.shead--light .h2{color:#f8f4f0}
.shead .lead{margin-top:1.1rem}

.ico{width:1.25em;height:1.25em;flex:none}

/* --------------------------------------------------------------- buttons */
.btn{
  position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  padding:1rem 1.9rem;border-radius:999px;overflow:hidden;isolation:isolate;
  font-size:.93rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;
  color:#1a0f04;background:var(--grad-brass);background-size:200% 100%;
  box-shadow:0 14px 34px -16px var(--brass-glow);white-space:nowrap;
  transition:transform .4s var(--ease),box-shadow .4s var(--ease),background-position .6s var(--ease);
}
.btn:hover{transform:translateY(-2px);background-position:100% 0;box-shadow:0 20px 44px -18px var(--brass-glow)}
.btn:active{transform:translateY(0)}
.btn--ghost{background:transparent;color:inherit;border:1px solid var(--line);box-shadow:none}
.section--dark .btn--ghost,.hero .btn--ghost{color:#f3efeb;border-color:var(--line-lt)}
.btn--ghost:hover{background:rgba(255,122,24,.12);border-color:var(--brass)}
.btn--sm{padding:.72rem 1.35rem;font-size:.82rem}
.btn--block{display:flex;width:100%}
.link-arrow{
  display:inline-flex;align-items:center;gap:.45rem;font-weight:500;font-size:.94rem;
  color:var(--brass);border-bottom:1px solid transparent;transition:.3s var(--ease);
}
.link-arrow:hover{border-color:currentColor;gap:.75rem}

/* ---------------------------------------------------------------- header */
.hdr{
  position:sticky;top:0;z-index:90;height:var(--hdr-h);
  background:rgba(9,9,9,.88);backdrop-filter:saturate(160%) blur(14px);
  border-bottom:1px solid transparent;transition:.4s var(--ease);
}
.hdr.is-stuck{border-bottom-color:var(--line);box-shadow:0 10px 30px -24px rgba(13,21,18,.6)}
/* The header runs edge to edge (not the page column) so the logo sits in the
   top-left corner. */
.hdr__in{display:flex;align-items:center;gap:1.2rem;height:100%;width:auto;margin:0;padding-inline:clamp(12px,1.6vw,28px)}
.brand{display:flex;flex-direction:column;align-items:center;margin-right:auto;line-height:1;text-align:center}
/* The logo is artwork on black; "lighten" drops the black so it sits on the
   translucent header and the footer without a visible box. */
.brand__logo{display:block;height:calc(var(--hdr-h) - 36px);width:auto;mix-blend-mode:lighten}
/* Two centred lines under the logo; the separators are middle dots. */
.brand__tag,.brand__town{display:block;white-space:nowrap;text-transform:uppercase;font-weight:500}
.brand__tag{margin-top:3px;font-size:.56rem;letter-spacing:.14em;color:#e9dfd5}
.brand__tag i{font-style:normal;color:var(--brass-lt);margin:0 .45em}
.brand__town{margin-top:3px;font-size:.5rem;letter-spacing:.3em;color:var(--brass-lt)}
/* Phones: stacked under the logo, everything was too small to read, so the
   logo gets the full header height and the two lines sit beside it. */
@media (max-width:720px){
  .hdr .brand{display:grid;grid-template-columns:auto auto;column-gap:10px;align-items:center;text-align:left}
  .hdr .brand__logo{grid-row:1/3;height:calc(var(--hdr-h) - 14px)}
  .hdr .brand__tag{align-self:end;margin:0 0 3px;font-size:.6rem;letter-spacing:.1em}
  .hdr .brand__tag i{margin:0 .3em}
  .hdr .brand__town{align-self:start;margin:3px 0 0;font-size:.58rem;letter-spacing:.26em}
}
@media (max-width:380px){
  .hdr .brand{column-gap:7px}
  .hdr .brand__logo{height:calc(var(--hdr-h) - 22px)}
  .hdr .brand__tag{font-size:.5rem;letter-spacing:.06em}
  .hdr .brand__town{font-size:.5rem;letter-spacing:.2em}
}

.nav{display:flex;gap:.35rem}
.nav a{
  position:relative;padding:.5rem .72rem;border-radius:999px;font-size:.93rem;white-space:nowrap;
  color:var(--ink);opacity:.82;transition:.3s var(--ease);
}
.nav a::after{
  content:"";position:absolute;left:50%;bottom:.24rem;width:0;height:2px;border-radius:2px;
  background:var(--grad-brass);transform:translateX(-50%);transition:width .35s var(--ease);
}
.nav a:hover{opacity:1}
.nav a:hover::after,.nav a[aria-current]::after{width:18px}
.nav a[aria-current]{opacity:1;color:var(--brass)}

.hdr__cta{display:flex;align-items:center;gap:.85rem}
.hdr__tel{display:inline-flex;align-items:center;gap:.4rem;font-size:.9rem;font-weight:500}
.hdr__tel .ico{color:var(--brass)}
.burger{display:none;width:42px;height:42px;border-radius:12px;border:1px solid var(--line);flex-direction:column;justify-content:center;align-items:center;gap:5px}
.burger span{display:block;width:17px;height:1.6px;background:var(--ink);border-radius:2px;transition:.35s var(--ease)}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(6.6px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6.6px) rotate(-45deg)}

/* ---------------------------------------------------------------- drawer */
.drawer{
  position:fixed;inset:var(--hdr-h) 0 0;z-index:88;overflow-y:auto;
  background:var(--grad-forest);color:#f3efeb;padding:1.4rem var(--pad) 3rem;
  opacity:0;transform:translateY(-8px);transition:opacity .35s var(--ease),transform .35s var(--ease);
}
.drawer[hidden]{display:none}
.drawer.is-open{opacity:1;transform:none}
.drawer nav{display:flex;flex-direction:column}
.drawer nav a{
  display:flex;align-items:center;justify-content:space-between;
  padding:1.05rem .2rem;border-bottom:1px solid var(--line-lt);
  font-family:var(--ff-d);font-size:1.45rem;
}
.drawer nav a .ico{color:var(--brass-lt);opacity:.5}
.drawer nav a[aria-current]{color:var(--brass-lt)}
.drawer__foot{margin-top:1.8rem;display:grid;gap:.7rem}
.drawer__foot p{margin:.6rem 0 0;font-size:.9rem;color:#a79e96}

/* ------------------------------------------------------------------ hero */
.hero{
  position:relative;min-height:min(94svh,880px);display:flex;align-items:flex-end;
  padding:clamp(90px,14vw,150px) 0 clamp(74px,9vw,110px);
  color:#f4f8f5;overflow:hidden;isolation:isolate;
}
.hero__art{position:absolute;inset:0;z-index:-2}
.hero__art>*{position:absolute;inset:0;display:block}
.hero__sky{background:linear-gradient(178deg,#000000 0%,#0b0908 28%,#231409 52%,#6b3410 74%,#c25c14 89%,#ff9a3c 100%)}
.hero__sun{
  background:radial-gradient(38% 28% at 72% 88%,rgba(255,170,80,.95) 0%,rgba(255,120,30,.42) 38%,transparent 72%);
  mix-blend-mode:screen;
}
.hero__ridge{top:auto;bottom:0;height:62%}
.hero__ridge--3{
  height:56%;opacity:.55;
  background:
    radial-gradient(64% 88% at 12% 100%,#453d37 49.7%,transparent 50%),
    radial-gradient(52% 74% at 38% 100%,#453d37 49.7%,transparent 50%),
    radial-gradient(70% 96% at 70% 100%,#453d37 49.7%,transparent 50%),
    radial-gradient(50% 70% at 96% 100%,#453d37 49.7%,transparent 50%);
}
.hero__ridge--2{
  height:44%;opacity:.85;
  background:
    radial-gradient(58% 92% at 22% 100%,#282320 49.7%,transparent 50%),
    radial-gradient(74% 104% at 55% 100%,#282320 49.7%,transparent 50%),
    radial-gradient(56% 84% at 88% 100%,#282320 49.7%,transparent 50%);
}
.hero__ridge--1{
  height:30%;
  background:
    radial-gradient(70% 108% at 8% 100%,#0e0d0c 49.7%,transparent 50%),
    radial-gradient(66% 96% at 45% 100%,#0e0d0c 49.7%,transparent 50%),
    radial-gradient(78% 112% at 84% 100%,#0e0d0c 49.7%,transparent 50%),
    linear-gradient(#0e0d0c,#0e0d0c) bottom/100% 22% no-repeat;
}
.hero__mist{
  background:
    radial-gradient(46% 16% at 30% 62%,rgba(255,186,130,.22),transparent 70%),
    radial-gradient(40% 12% at 72% 70%,rgba(255,255,255,.12),transparent 72%);
  animation:drift 22s ease-in-out infinite alternate;
}
@keyframes drift{from{transform:translate3d(-2.5%,0,0)}to{transform:translate3d(3.5%,-1.6%,0)}}
.hero__photo{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}
/* With a real photograph behind it, the painted sky and ridges step aside —
   but the drifting mist and the warm glow stay, animating over the photo. */
/* The photograph replaces the painted sky, but the hills stay: the three
   ridge layers sit along the bottom edge, so the building rises out of them.
   They drift against each other, slower than the mist, for a little parallax. */
.hero--photo .hero__sky{display:none}
.hero--photo .hero__ridge{left:-4%;right:-4%}
.hero--photo .hero__ridge--3{height:24%;opacity:.55;animation:ridgeDrift 30s ease-in-out infinite alternate}
.hero--photo .hero__ridge--2{height:17%;opacity:.85;animation:ridgeDrift 44s ease-in-out infinite alternate-reverse}
.hero--photo .hero__ridge--1{height:10%}
@keyframes ridgeDrift{from{transform:translate3d(-1.4%,0,0)}to{transform:translate3d(1.4%,0,0)}}
.hero--photo .hero__art{z-index:0;pointer-events:none}
.hero--photo .hero__sun{opacity:.4}
.hero--photo .hero__mist{opacity:.5}
/* The facade's busy signboard runs up the left of the photo, so the words sit
   in a column on the right, the photo crops from its right edge (pushing the
   signboard out of frame on narrower screens), and the shade
   deepens toward the right edge behind the copy. The copy is also lifted to
   the top and kept compact so it ends above the long lower signboard. The
   rating card swaps to the left so it doesn't land under the buttons. */
.hero--photo{align-items:flex-start;padding-top:clamp(28px,3.4vw,52px)}
.hero--photo .hero__in{display:grid;grid-template-columns:minmax(0,40rem);justify-content:end}
.hero--photo .hero__sub{max-width:36rem}
/* On short screens the badges would reach the signboard; the stats strip
   right below says the same things. */
@media (min-width:721px) and (max-height:780px){.hero--photo .hero__badges{display:none}}
.hero--photo .hero__title{max-width:15ch;font-size:clamp(2.3rem,3.9vw,3.6rem);margin-bottom:1rem}
.hero--photo .hero__sub{margin-bottom:1.4rem}
.hero--photo .hero__actions{margin-bottom:1.3rem}
.hero--photo .hero__photo{object-position:100% 50%}
.hero--photo .ratecard{right:auto;left:var(--pad)}
.hero.hero--photo::after{
  background:
    linear-gradient(265deg,rgba(0,0,0,.94) 0%,rgba(0,0,0,.84) 30%,rgba(0,0,0,.5) 52%,rgba(0,0,0,.14) 72%,rgba(0,0,0,.05) 100%),
    linear-gradient(180deg,rgba(0,0,0,.6) 0%,rgba(0,0,0,.1) 30%,rgba(0,0,0,.35) 72%,rgba(0,0,0,.85) 100%);
}
.hero::after{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,.66) 0%,rgba(0,0,0,.22) 34%,rgba(0,0,0,.55) 76%,rgba(0,0,0,.9) 100%);
}
.hero__in{position:relative}
.hero__title{
  font-weight:300;color:#fff;text-shadow:0 2px 30px rgba(0,0,0,.34);
  margin-bottom:1.3rem;max-width:20ch;
}
.hero__sub{max-width:44rem;font-size:clamp(1rem,1.35vw,1.16rem);color:#e7ded6;margin-bottom:2rem}
.hero__actions{display:flex;flex-wrap:wrap;gap:.85rem;margin-bottom:2.2rem}
.hero__badges{display:flex;flex-wrap:wrap;gap:.5rem .55rem}
.hero__badges li{
  display:inline-flex;align-items:center;gap:.45rem;padding:.5rem .95rem;border-radius:999px;
  background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.18);
  backdrop-filter:blur(8px);font-size:.83rem;letter-spacing:.02em;
}
.hero__badges .ico{width:1em;height:1em;color:var(--brass-lt)}
.hero__scroll{
  position:absolute;left:50%;bottom:1.5rem;transform:translateX(-50%);
  width:26px;height:42px;border:1px solid rgba(255,255,255,.4);border-radius:999px;
}
.hero__scroll i{
  position:absolute;left:50%;top:9px;width:3px;height:7px;border-radius:2px;
  background:var(--brass-lt);transform:translateX(-50%);animation:scrolldot 1.9s var(--ease) infinite;
}
@keyframes scrolldot{0%{opacity:0;transform:translate(-50%,-4px)}35%{opacity:1}100%{opacity:0;transform:translate(-50%,15px)}}

.ratecard{
  position:absolute;right:var(--pad);bottom:clamp(74px,9vw,110px);z-index:3;
  display:flex;align-items:center;gap:.9rem;padding:1rem 1.3rem;border-radius:18px;
  background:rgba(23,22,20,.95);color:var(--ink);box-shadow:var(--shadow);
  backdrop-filter:blur(10px);
}
.ratecard__score{display:flex;align-items:baseline;gap:.12rem;font-family:var(--ff-d)}
.ratecard__score b{font-size:2.5rem;font-weight:500;line-height:1}
.ratecard__score span{font-size:.9rem;color:var(--muted)}
.ratecard p{margin:.15rem 0 0;font-size:.78rem;color:var(--muted)}

.stars{display:inline-flex;gap:2px}
.stars i{color:#3a342f}
.stars i.is-on{color:var(--brass)}
.stars .ico{width:15px;height:15px;fill:currentColor;stroke-width:1.2}

/* ----------------------------------------------------------------- stats */
.stats-wrap{background:var(--cream)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
.stat{background:var(--cream);padding:clamp(20px,3vw,34px) 1.2rem;text-align:center}
.stat b{display:block;font-family:var(--ff-d);font-size:clamp(1.9rem,3.4vw,2.9rem);font-weight:400;color:var(--brass-lt);line-height:1}
.stat span{display:block;margin-top:.45rem;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}

/* ----------------------------------------------- painted scene / picture */
.scene{
  position:relative;overflow:hidden;border-radius:var(--r-lg);
  aspect-ratio:4/3;background:linear-gradient(178deg,#1d1a17,#0c0b0a);
}
.scene--tall{aspect-ratio:4/3.4}
.scene__art{position:absolute;inset:0}
.scene__art i,.scene__art b{position:absolute;left:0;right:0;bottom:0;display:block}
.scene__art b{
  top:0;bottom:auto;height:100%;
  background:radial-gradient(30% 26% at 74% 26%,rgba(255,150,60,.75),transparent 70%);
}
.scene__art i:nth-child(1){
  height:58%;opacity:.5;
  background:
    radial-gradient(60% 88% at 16% 100%,#6b615a 49.7%,transparent 50%),
    radial-gradient(66% 94% at 62% 100%,#6b615a 49.7%,transparent 50%),
    radial-gradient(48% 70% at 94% 100%,#6b615a 49.7%,transparent 50%);
}
.scene__art i:nth-child(2){
  height:42%;opacity:.85;
  background:
    radial-gradient(64% 96% at 28% 100%,#3a332e 49.7%,transparent 50%),
    radial-gradient(70% 100% at 74% 100%,#3a332e 49.7%,transparent 50%);
}
.scene__art i:nth-child(3){
  height:26%;
  background:
    radial-gradient(72% 110% at 12% 100%,#181514 49.7%,transparent 50%),
    radial-gradient(70% 104% at 58% 100%,#181514 49.7%,transparent 50%),
    radial-gradient(64% 96% at 96% 100%,#181514 49.7%,transparent 50%),
    linear-gradient(#181514,#181514) bottom/100% 24% no-repeat;
}
.scene--dawn{background:linear-gradient(178deg,#141110,#c9631a)}
.scene--estate{background:linear-gradient(178deg,#221e1b,#4a423b)}
.scene--room{background:linear-gradient(178deg,#241d17,#6d4a2c)}
.scene--room .scene__art i:nth-child(1){background:radial-gradient(58% 84% at 26% 100%,#b4835a 49.7%,transparent 50%),radial-gradient(62% 90% at 72% 100%,#b4835a 49.7%,transparent 50%)}
.scene--room .scene__art i:nth-child(2){background:radial-gradient(66% 92% at 40% 100%,#8a7051 49.7%,transparent 50%)}
.scene--room .scene__art i:nth-child(3){background:linear-gradient(#4a3320,#4a3320) bottom/100% 100% no-repeat}
.scene__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* ----------------------------------------------------------- split block */
.split__in{display:grid;grid-template-columns:1fr 1.06fr;gap:clamp(28px,5vw,72px);align-items:center}
.split__in--rev .split__media{order:2}
.split__media{position:relative}
.split__media .scene{box-shadow:var(--shadow-lg)}
.split__media::after{
  content:"";position:absolute;inset:auto -14px -14px auto;width:48%;height:52%;
  border:1px solid var(--brass);border-radius:var(--r-lg);z-index:-1;
}
.split__stamp{
  position:absolute;left:-14px;bottom:26px;display:grid;place-items:center;
  width:104px;height:104px;border-radius:50%;background:var(--grad-forest);color:var(--brass-lt);
  box-shadow:var(--shadow);text-align:center;line-height:1.1;
}
.split__stamp b{font-family:var(--ff-d);font-size:1.9rem;font-weight:400}
.split__stamp span{font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;opacity:.8}
.split__body .shead{margin-bottom:1.4rem}

.ticks{display:grid;gap:.7rem;margin:1.6rem 0 2rem}
.ticks li{display:flex;gap:.7rem;align-items:flex-start;font-size:.98rem}
.ticks .ico{color:var(--brass);margin-top:.28em;width:1.05em;height:1.05em}
.ticks--cols{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:.7rem 2rem}

/* ----------------------------------------------------------- room cards */
.rgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(290px,100%),1fr));gap:clamp(18px,2.4vw,30px)}
.rgrid--wide{grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr))}
.rcard{
  display:flex;flex-direction:column;overflow:hidden;border-radius:var(--r-lg);
  background:var(--cream);border:1px solid var(--line);color:var(--ink);
  transition:transform .5s var(--ease),box-shadow .5s var(--ease);
}
.section--dark .rcard{background:rgba(255,255,255,.04);border-color:var(--line-lt);color:#ece7e2}
.rcard:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.rcard__media{position:relative;display:block}
.rcard__media .scene{border-radius:0;aspect-ratio:16/11}
.rcard__media .scene__img{transition:transform .8s var(--ease)}
.rcard:hover .scene__img{transform:scale(1.05)}
.rcard__tag{
  position:absolute;left:14px;top:14px;padding:.36rem .85rem;border-radius:999px;
  background:rgba(0,0,0,.7);color:var(--brass-lt);backdrop-filter:blur(6px);
  font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;
}
.rcard__body{display:flex;flex-direction:column;flex:1;padding:clamp(20px,2.4vw,28px)}
.rcard__body .h3{margin-bottom:.25rem}
.rcard__tag-line{margin:0 0 .9rem;font-size:.86rem;letter-spacing:.02em;color:var(--brass)}
.rcard__meta{display:flex;flex-wrap:wrap;gap:.4rem .9rem;margin-bottom:.9rem}
.rcard__meta li{display:inline-flex;align-items:center;gap:.35rem;font-size:.82rem;color:var(--muted)}
.section--dark .rcard__meta li{color:#a79e96}
.rcard__meta .ico{width:1em;height:1em;color:var(--brass)}
.rcard__desc{font-size:.95rem;color:var(--muted);margin-bottom:1.3rem}
.section--dark .rcard__desc{color:#bcb3ab}
.rcard__foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:auto;padding-top:1rem;border-top:1px solid var(--line)}
.section--dark .rcard__foot{border-top-color:var(--line-lt)}
.price{display:flex;flex-direction:column;line-height:1.25}
.price b{font-family:var(--ff-d);font-size:1.3rem;font-weight:500}
.price i{font-style:normal;font-size:.78rem;color:var(--muted)}
.section--dark .price i{color:#a79e96}
.price--lg b{font-size:2rem}

/* ------------------------------------------------------- amenity / cards */
.agrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));gap:clamp(14px,1.8vw,22px)}
.agrid--4{grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr))}
.acard{
  padding:clamp(20px,2.4vw,28px);border-radius:var(--r);background:var(--cream);
  border:1px solid var(--line);transition:.45s var(--ease);
}
.section--sand .acard{background:#171614}
.acard:hover{transform:translateY(-4px);border-color:rgba(255,122,24,.45);box-shadow:var(--shadow)}
.acard__ico{
  display:grid;place-items:center;width:50px;height:50px;margin-bottom:1rem;border-radius:14px;
  background:rgba(255,122,24,.12);color:var(--brass);
}
.acard__ico .ico{width:24px;height:24px}
.acard h3{font-size:1.1rem;margin-bottom:.4rem}
.acard p{margin:0;font-size:.9rem;color:var(--muted)}

.hgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:clamp(16px,2vw,26px)}
.hcard{padding:clamp(24px,2.6vw,32px);border-radius:var(--r-lg);background:rgba(255,255,255,.05);border:1px solid var(--line-lt)}
.hcard__ico{display:grid;place-items:center;width:52px;height:52px;margin-bottom:1.1rem;border-radius:50%;background:rgba(255,167,79,.16);color:var(--brass-lt)}
.hcard h3{font-size:1.2rem;margin-bottom:.5rem;color:#f8f4f0}
.hcard p{margin:0;font-size:.93rem;color:#a79e96}

/* --------------------------------------------------------- testimonials */
.tgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:clamp(16px,2vw,24px)}
.tcard{position:relative;padding:clamp(24px,2.6vw,32px);border-radius:var(--r-lg);background:#171614;border:1px solid var(--line)}
.tcard__q{position:absolute;right:20px;top:18px;color:rgba(255,122,24,.22)}
.tcard__q .ico{width:38px;height:38px}
.tcard .stars{margin-bottom:.9rem}
.tcard__text{font-family:var(--ff-d);font-size:1.08rem;line-height:1.5;color:#f0e9e2}
.tcard__who{display:flex;flex-direction:column;margin:0}
.tcard__who b{font-weight:500}
.tcard__who i{font-style:normal;font-size:.82rem;color:var(--muted)}

/* ------------------------------------------------------------------ FAQ */
.faq-wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(28px,4vw,64px);align-items:start}
.faq-wrap--solo{display:block}
.faq-wrap--solo .faq{max-width:52rem;margin-inline:auto}
.faq-wrap__card{margin-top:1.6rem;padding:1.4rem 1.5rem;border-radius:var(--r);background:var(--sand);border:1px solid var(--line)}
.faq-wrap__card p{display:flex;align-items:center;gap:.6rem;margin:0 0 .7rem;font-size:.92rem}
.faq-wrap__card .ico{color:var(--brass)}
.faq-wrap__card .btn{margin-top:.9rem}
.faq{border-top:1px solid var(--line)}
.faq__item{border-bottom:1px solid var(--line)}
.faq__item summary{
  display:flex;align-items:center;justify-content:space-between;gap:1.5rem;
  padding:1.15rem 0;cursor:pointer;list-style:none;
  font-family:var(--ff-d);font-size:1.12rem;
}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary i{position:relative;width:20px;height:20px;flex:none}
.faq__item summary i::before,.faq__item summary i::after{
  content:"";position:absolute;left:50%;top:50%;background:var(--brass);border-radius:2px;
  transform:translate(-50%,-50%);transition:.35s var(--ease);
}
.faq__item summary i::before{width:14px;height:1.6px}
.faq__item summary i::after{width:1.6px;height:14px}
.faq__item[open] summary i::after{transform:translate(-50%,-50%) rotate(90deg);opacity:0}
.faq__a{padding-bottom:1.2rem;color:var(--muted);max-width:60ch}
.faq__a p:last-child{margin-bottom:0}

/* ------------------------------------------------------------- CTA band */
.band{position:relative;padding:clamp(48px,6vw,84px) 0;background:var(--grad-forest);color:#f3efeb;overflow:hidden}
.band__art{
  position:absolute;inset:0;opacity:.5;
  background:
    radial-gradient(46% 70% at 12% 120%,rgba(255,122,24,.34),transparent 60%),
    radial-gradient(40% 60% at 88% -10%,rgba(184,134,47,.28),transparent 62%);
}
.band__in{position:relative;display:grid;grid-template-columns:1.25fr .95fr;gap:clamp(24px,4vw,56px);align-items:center}
.band__in .h2{color:#f6f9f7;margin-bottom:.7rem}
.band__in .lead{color:#bcb3ab}
.band__actions{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center}
.band__wa{display:inline-flex;align-items:center;gap:.45rem;width:100%;font-size:.88rem;color:#a79e96}
.band__wa:hover{color:var(--brass-lt)}
.band__wa .ico{color:#57b56b}

/* ------------------------------------------------------- page hero (sub) */
.phero{position:relative;padding:clamp(96px,12vw,150px) 0 clamp(44px,6vw,70px);background:var(--grad-forest);color:#f3efeb;overflow:hidden}
.phero__art{position:absolute;inset:0;opacity:.6}
.phero__art span{position:absolute;left:0;right:0;bottom:0;display:block}
.phero__art span:nth-child(1){height:70%;background:radial-gradient(52% 80% at 18% 100%,rgba(255,122,24,.26) 49.7%,transparent 50%),radial-gradient(60% 88% at 74% 100%,rgba(255,122,24,.26) 49.7%,transparent 50%)}
.phero__art span:nth-child(2){height:44%;background:radial-gradient(64% 96% at 44% 100%,rgba(24,52,41,.9) 49.7%,transparent 50%)}
.phero__art span:nth-child(3){height:100%;top:0;background:radial-gradient(34% 44% at 84% 8%,rgba(184,134,47,.24),transparent 68%)}
.phero__in{position:relative}
.phero .h1{font-weight:300;color:#fff;max-width:20ch}
.phero__lead{max-width:56ch;margin:1.1rem 0 0;color:#bcb3ab}
.crumbs{display:flex;align-items:center;gap:.5rem;margin-bottom:1.2rem;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:#a79e96}
.crumbs .ico{width:.9em;height:.9em;opacity:.6}
.crumbs a:hover{color:var(--brass-lt)}

/* ----------------------------------------------------------- room detail */
.rdet{padding:clamp(96px,12vw,140px) 0 clamp(48px,6vw,90px);background:var(--grad-forest);color:#ece7e2}
.rdet__top{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(28px,4vw,60px);align-items:start}
.rdet__media .scene{box-shadow:var(--shadow-lg)}
.rdet__side .h1{color:#fff;font-weight:300;margin-bottom:1.1rem}
.rdet__side .prose{color:#bcb3ab}
.rdet__meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr));gap:1rem;margin:1.8rem 0;padding:1.4rem 0;border-block:1px solid var(--line-lt)}
.rdet__meta li{display:flex;gap:.7rem;align-items:center}
.rdet__meta .ico{color:var(--brass-lt);width:1.4em;height:1.4em}
.rdet__meta i{display:block;font-style:normal;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:#8d847d}
.rdet__meta b{font-weight:500;font-size:.95rem}
.rdet__buy{display:grid;gap:1rem}
.rdet__buy .price b{color:#fff}
.rdet__buy .price i{color:#a79e96}
.rdet__actions{display:flex;flex-wrap:wrap;gap:.7rem}
.rdet__gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(160px,100%),1fr));gap:12px;margin-top:clamp(24px,3vw,40px)}
.rdet__thumb{overflow:hidden;border-radius:var(--r)}
.rdet__thumb img{aspect-ratio:4/3;object-fit:cover;width:100%;transition:transform .7s var(--ease)}
.rdet__thumb:hover img{transform:scale(1.06)}
.rdet__features{margin-top:clamp(32px,4vw,56px);padding-top:clamp(24px,3vw,36px);border-top:1px solid var(--line-lt)}
.rdet__features .h3{color:#fff;margin-bottom:1.2rem}
.rdet__features .ticks li{color:#cfdcd6}

/* --------------------------------------------------------------- gallery */
/* Masonry columns: every photograph keeps its own shape, so landscape and
   portrait shots sit together without either being cropped. */
.ggrid{column-count:3;column-gap:14px}
.gitem{position:relative;display:block;overflow:hidden;border-radius:var(--r);background:var(--sand);
  margin:0 0 14px;break-inside:avoid;-webkit-column-break-inside:avoid}
.gitem img{width:100%;aspect-ratio:var(--ar,4/3);object-fit:cover;transition:transform .8s var(--ease)}
.gitem:hover img{transform:scale(1.05)}
.gitem__cap{
  position:absolute;left:0;right:0;bottom:0;padding:2.2rem 1rem .9rem;font-size:.86rem;color:#fff;
  background:linear-gradient(transparent,rgba(0,0,0,.85));
}
.gstrip{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr));gap:12px}
.gstrip__item .scene{aspect-ratio:1;border-radius:var(--r)}
.empty{max-width:44rem;margin-inline:auto;text-align:center;padding:clamp(36px,5vw,64px);border:1px dashed var(--line);border-radius:var(--r-lg);background:#171614}
.empty .ico{width:44px;height:44px;margin:0 auto 1rem;color:var(--brass);opacity:.7}
.empty h3{font-size:1.5rem;margin-bottom:.6rem}
.empty p{color:var(--muted);margin-bottom:1.4rem}

/* -------------------------------------------------------------- location */
.loc{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(26px,4vw,56px);align-items:start}
.mapbox{position:relative;overflow:hidden;border-radius:var(--r-lg);box-shadow:var(--shadow);aspect-ratio:4/3.1;background:var(--sand)}
.mapbox iframe{width:100%;height:100%;border:0}
.mapbox--link{display:grid;place-items:center;text-align:center}
.mapbox__art{
  position:absolute;inset:0;
  background:linear-gradient(135deg,#1c1917,#0c0b0a);
}
.mapbox__art::after{
  content:"";position:absolute;inset:0;
  background:
    repeating-linear-gradient(58deg,transparent 0 46px,rgba(255,122,24,.22) 46px 49px),
    repeating-linear-gradient(-32deg,transparent 0 70px,rgba(255,255,255,.06) 70px 73px);
}
.mapbox__pin{position:relative;display:grid;place-items:center;width:66px;height:66px;border-radius:50%;background:var(--grad-forest);color:var(--brass-lt);box-shadow:var(--shadow)}
.mapbox__pin .ico{width:30px;height:30px}
.mapbox__pin::after{content:"";position:absolute;inset:-10px;border-radius:50%;border:1px solid var(--brass);opacity:.5;animation:ping 2.6s var(--ease) infinite}
@keyframes ping{0%{transform:scale(.85);opacity:.6}100%{transform:scale(1.5);opacity:0}}
.mapbox__cta{position:relative;display:inline-flex;align-items:center;gap:.4rem;margin-top:1rem;font-size:.9rem;font-weight:500;color:var(--brass-lt)}
.loc__addr{display:flex;gap:.7rem;align-items:flex-start;font-size:1rem;margin-bottom:1.2rem}
.loc__addr .ico{color:var(--brass);margin-top:.2em}
.loc__info .h3{margin-bottom:1rem}
.loc__actions{display:flex;flex-wrap:wrap;gap:.7rem}
.ngrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(270px,100%),1fr));gap:clamp(16px,2vw,26px)}
.ncard{overflow:hidden;border-radius:var(--r-lg);background:#171614;border:1px solid var(--line);transition:.45s var(--ease)}
.ncard:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.ncard__media{position:relative}
.ncard__media .scene{border-radius:0;aspect-ratio:16/10}
.ncard__dist{
  position:absolute;right:12px;top:12px;padding:.32rem .8rem;border-radius:999px;
  background:rgba(18,17,16,.92);font-size:.76rem;font-weight:500;letter-spacing:.04em;
}
.ncard__body{padding:1.3rem 1.4rem 1.5rem}
.ncard__body h3{font-size:1.2rem;margin-bottom:.4rem}
.ncard__body p{margin:0;font-size:.9rem;color:var(--muted)}

/* --------------------------------------------------------------- contact */
.contact{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(26px,4vw,52px);align-items:start}
.contact__form{padding:clamp(24px,3vw,40px);border-radius:var(--r-lg);background:#171614;border:1px solid var(--line);box-shadow:var(--shadow)}
.contact__form .h3{margin-bottom:.4rem}
.contact__form .muted{font-size:.88rem;margin-bottom:1.6rem}
.form{display:grid;gap:1rem}
.form__row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.field{display:flex;flex-direction:column;gap:.4rem}
.field>span{font-size:.8rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.field>span i{color:var(--brass);font-style:normal}
.field input,.field select,.field textarea{
  width:100%;padding:.85rem 1rem;border:1px solid var(--line);border-radius:12px;
  background:var(--cream);font:inherit;font-size:.95rem;color:var(--ink);
  transition:.3s var(--ease);
}
.field textarea{resize:vertical;min-height:110px}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:none;border-color:var(--brass);box-shadow:0 0 0 3px rgba(255,122,24,.2);background:#1b1917;
}
.field--sm{max-width:130px}
.form__set{display:grid;gap:1rem;border:0;margin:0;padding:0;min-width:0}
.form__set[hidden]{display:none}
/* Enquiry type: three pill buttons over hidden radios. */
.seg{display:flex;flex-wrap:wrap;gap:.5rem;border:0;margin:0;padding:0;min-width:0}
.seg legend{width:100%;padding:0;margin-bottom:.4rem;font-size:.8rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.seg__opt{position:relative;cursor:pointer}
.seg__opt input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.seg__opt span{
  display:inline-block;padding:.65rem 1.15rem;border:1px solid var(--line);border-radius:999px;
  background:var(--cream);font-size:.92rem;color:var(--ink);transition:.25s var(--ease);
}
.seg__opt:hover span{border-color:var(--brass)}
.seg__opt input:checked+span{background:var(--brass);border-color:var(--brass);color:#1a0f04;font-weight:500}
.seg__opt input:focus-visible+span{box-shadow:0 0 0 3px rgba(255,122,24,.35)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.notice{display:flex;gap:.8rem;padding:1rem 1.2rem;border-radius:14px;margin-bottom:1.4rem;font-size:.92rem}
.notice b{display:block;margin-bottom:.15rem}
.notice span{color:var(--muted);font-size:.88rem}
.notice .ico{flex:none;margin-top:.2em}
.notice--ok{background:rgba(74,168,110,.12);border:1px solid rgba(74,168,110,.38);color:#7fd3a1}
.notice--bad{background:rgba(214,74,45,.12);border:1px solid rgba(214,74,45,.4);color:#ff9377}
.contact__side{display:grid;gap:1rem}
.ccard{padding:clamp(20px,2.4vw,28px);border-radius:var(--r-lg);background:var(--grad-forest);color:#ece7e2}
.ccard h3{color:#fff;font-size:1.25rem;margin-bottom:.3rem}
.ccard .muted{color:#a79e96;font-size:.86rem;margin-bottom:1.2rem}
.ccard__row{display:flex;align-items:center;gap:.85rem;padding:.8rem 0;border-top:1px solid var(--line-lt)}
.ccard__row .ico{color:var(--brass-lt);width:1.35em;height:1.35em}
.ccard__row i{display:block;font-style:normal;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:#8d847d}
.ccard__row b{font-weight:500;font-size:.95rem}
.ccard__row:hover b{color:var(--brass-lt)}
.ccard--times{background:var(--sand);color:var(--ink)}
.ccard--times h3{color:var(--ink);margin-bottom:1rem}
.ccard--times p{display:flex;align-items:center;gap:.6rem;margin:0 0 .7rem;font-size:.92rem}
.ccard--times .ico{color:var(--brass)}

.e404{padding-top:clamp(120px,16vw,190px)}
.e404__actions{display:flex;gap:.8rem;justify-content:center;margin-top:2rem}

/* ---------------------------------------------------------------- footer */
.ftr{background:var(--night);color:#c9c1b9;padding:clamp(48px,6vw,84px) 0 0}
.ftr__in{display:grid;grid-template-columns:1.5fr .8fr .8fr 1.2fr;gap:clamp(24px,3vw,48px);padding-bottom:clamp(32px,4vw,56px)}
.ftr__col h4{font-family:var(--ff-b);font-size:.78rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--brass-lt);margin-bottom:1.1rem}
.ftr__col p{font-size:.9rem;color:#8d847d}
.ftr__col ul{display:grid;gap:.55rem}
.ftr__col a:hover{color:var(--brass-lt)}
.brand--ftr{margin-bottom:1.1rem}
.brand--ftr{display:inline-flex}
.brand--ftr .brand__logo{height:150px}
.brand--ftr .brand__tag{margin-top:6px;font-size:.72rem}
.brand--ftr .brand__town{margin-top:6px;font-size:.66rem}
.ftr__social{display:flex;gap:1rem;font-size:.86rem}
.ftr__social a{border-bottom:1px solid rgba(255,167,79,.32);padding-bottom:2px}
.ftr__col--contact p{display:flex;gap:.6rem;align-items:flex-start;margin-bottom:.7rem}
.ftr__col--contact a{display:flex;gap:.6rem;align-items:center}
.ftr__col--contact .ico{color:var(--brass);flex:none;margin-top:.1em}
.ftr__times{color:#8d847d}
.ftr__base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.6rem;padding:1.3rem 0;border-top:1px solid rgba(255,255,255,.08)}
.ftr__base p{margin:0;font-size:.8rem;color:#6f857b}

/* ---------------------------------------------------- mobile call bar */
.callbar{
  position:fixed;left:0;right:0;bottom:0;z-index:80;display:none;
  background:rgba(8,8,8,.97);backdrop-filter:blur(10px);border-top:1px solid var(--line-lt);
}
.callbar a{
  flex:1;display:flex;align-items:center;justify-content:center;gap:.4rem;
  padding:.95rem .4rem;font-size:.84rem;font-weight:500;color:#e7ded6;
}
.callbar a.is-primary{background:var(--grad-brass);color:#1a0f04}
.callbar .ico{width:1.05em;height:1.05em}

/* -------------------------------------------------------------- lightbox */
.lbox{
  position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:4vmin;
  background:rgba(0,0,0,.95);opacity:0;transition:opacity .3s var(--ease);
}
.lbox[hidden]{display:none}
.lbox.is-open{opacity:1}
.lbox img{max-width:100%;max-height:82vh;border-radius:var(--r);box-shadow:var(--shadow-lg)}
.lbox__cap{margin-top:1rem;color:#c9c1b9;font-size:.9rem;text-align:center}
.lbox__close{position:absolute;right:3vmin;top:3vmin;width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:1.4rem;line-height:1}
.lbox__nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:1.6rem;display:grid;place-items:center}
.lbox__nav--prev{left:2vmin}
.lbox__nav--next{right:2vmin}
.lbox__nav:hover,.lbox__close:hover{background:var(--brass);color:#1a0f04}

/* ---------------------------------------------------- reveal on scroll */
[data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease);transition-delay:calc(var(--i,0)*70ms)}
[data-reveal].is-in{opacity:1;transform:none}

/* The header puts the brand, seven links, the phone number and the button on
   one row. Below ~1360px that no longer fits, so the phone drops first and
   the whole nav folds into the drawer earlier than the layout breakpoints. */
@media (max-width:1180px){
  .nav{display:none}
  .burger{display:flex}
}
@media (min-width:1181px) and (max-width:1360px){
  .hdr__tel{display:none}
}

/* ---------------------------------------------------------- breakpoints */
@media (max-width:1080px){
  .ggrid{column-count:2}
  .nav{display:none}
  .burger{display:flex}
  .faq-wrap,.contact,.loc,.split__in,.rdet__top,.band__in{grid-template-columns:1fr}
  .split__in--rev .split__media{order:0}
  .stats{grid-template-columns:repeat(2,1fr)}
  .ftr__in{grid-template-columns:1fr 1fr}
  .hero{flex-direction:column;justify-content:flex-end;align-items:flex-start}
  .hero--photo{justify-content:flex-start}
  .ratecard{position:static;margin:2rem var(--pad) 0;display:inline-flex}
}
@media (max-width:720px){
  body{font-size:16px;padding-bottom:58px}
  .hdr__tel,.hdr__cta .btn{display:none}
  .callbar{display:flex}
  .hero{min-height:auto;padding-top:clamp(60px,18vw,90px)}
  .hero__scroll{display:none}
  .hero--photo .hero__in{display:block}
  .hero--photo .hero__title,.hero--photo .hero__sub{max-width:none}
  .hero--photo .hero__ridge--3{height:16%}
  .hero--photo .hero__ridge--2{height:11%}
  .hero--photo .hero__ridge--1{height:7%}
  .hero--photo .hero__photo{object-position:82% 50%}
  .hero.hero--photo::after{
    background:linear-gradient(180deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.5) 32%,rgba(0,0,0,.66) 68%,rgba(0,0,0,.93) 100%);
  }
  .ggrid{column-count:1}
  .form__row{grid-template-columns:1fr}
  .field--sm{max-width:none}
  .ftr__in{grid-template-columns:1fr}
  .split__stamp{width:84px;height:84px;left:8px}
  .e404__actions{flex-direction:column}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  html{scroll-behavior:auto}
  [data-reveal]{opacity:1;transform:none}
}

@media print{
  .hdr,.drawer,.callbar,.hero__scroll,.band,.lbox{display:none!important}
  body{background:#fff;color:#000}
  .section--dark,.band,.phero,.rdet,.ftr,.ccard{background:#fff!important;color:#000!important}
  .h1,.h2,.h3,.hero__title,.phero .h1{color:#000!important}
}

/* ---------------------------------------------------------- dark chrome */
html{color-scheme:dark}
::-webkit-scrollbar{width:10px}
::-webkit-scrollbar-track{background:#0b0b0b}
::-webkit-scrollbar-thumb{background:linear-gradient(#d95c07,#ff7a18);border-radius:20px}

/* ------------------------------------------------------------ video tour */
.tour{position:relative;max-width:900px;margin-inline:auto;border-radius:var(--r-lg);overflow:hidden;
  background:#000;border:1px solid var(--line);box-shadow:var(--shadow-lg)}
.tour__vid{display:block;width:100%;height:auto;aspect-ratio:16/9;background:#000;object-fit:cover}
