/* ───────── Design plan (tokens first) ─────────
   Arch & Light. The arch is the logo and the cabins; light moves 16:00 -> 07:30.
   Colour  : Xisto #24372c · Papel #f4f1e8 · Linho #ece3d0 · Noite #141f19 · Castanho #a8743a · Granito #8d9187
             Musgo #3f7a55 = Cabin Jungle · Ardósia #4a6578 = Cabin City · Brasa #f0a84a = the one lit-window accent
   Type    : Bricolage Grotesque (display; width + weight morph per cabin mood) / Instrument Sans (body + app UI)
   Layout  : left-aligned editorial; the photo is the page; booking is a page on top; two lanes = two cabins in every calendar
   Motion  : the day cycle (time-based, scrubbable) + one calm hero settle; the rest answers taps
*/
:root{
  --bg:#f4f1e8; --fg:#1c2b22; --fg-2:#566058; --surface:#ffffff; --line:#d5d8cd; --accent:#7a5f2e;
  --chrome:#f4f1e8; --chrome-fg:#1c2b22; --chrome-line:#cfd3c7; --stage:#e4e8df;
  --f-display:"Bricolage Grotesque","Arial Narrow","Helvetica Neue",Arial,sans-serif;
  --f-body:"Instrument Sans",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --ease-out:cubic-bezier(.16,1,.3,1); --ease-io:cubic-bezier(.65,0,.35,1);
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){ --bg:#0f1612; --fg:#e8e6dc; --fg-2:#a3ada5; --surface:#18221c; --line:#2d3a32; --accent:#d9bb83;
    --chrome:#18221c; --chrome-fg:#e8e6dc; --chrome-line:#33423a; --stage:#0b110e; color-scheme:dark; }
}
:root[data-theme="dark"]{ --bg:#0f1612; --fg:#e8e6dc; --fg-2:#a3ada5; --surface:#18221c; --line:#2d3a32; --accent:#d9bb83;
  --chrome:#18221c; --chrome-fg:#e8e6dc; --chrome-line:#33423a; --stage:#0b110e; color-scheme:dark; }

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--f-body);font-size:17px;line-height:1.55;
  font-optical-sizing:auto;-webkit-font-smoothing:antialiased;overflow-x:hidden}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
a{color:inherit}
img,svg{display:block;max-width:100%}
:focus-visible{outline:2px solid currentColor;outline-offset:3px}
a:not([class]):focus-visible{border-radius:6px}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{max-width:1360px;margin-inline:auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}

:root{--proto-h:0px;--vw:1vw}
[hidden]{display:none!important}
#toast{position:fixed;z-index:95;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translate(-50%,20px);opacity:0;
  background:#1f2a23;color:#f5f3ed;padding:11px 18px;border-radius:14px;font-size:14px;max-width:min(92vw,440px);text-align:center;
  pointer-events:none;transition:opacity .3s,transform .4s var(--ease-out);box-shadow:0 12px 30px -12px rgba(0,0,0,.5)}
#toast.on{opacity:1;transform:translate(-50%,0)}
/* ───────── Website · scope .s  (Cortes da Velha) ───────── */
.s{--ink:#24372c;--paper:#f4f1e8;--tan:#a8743a;--tan-t:#7f5424;--line:#d5d8cd;--muted:#556058;
  --ink-rgb:36,55,44;--paper-rgb:244,241,232;--night-rgb:20,31,25;--shade-rgb:18,30,23;--deep-rgb:14,24,18;--bar-rgb:22,35,28;--map:#e4eae3;
  --jungle:#3f7a55;--jungle-d:#2b5439;--jungle-l:#d3e3d8;--city:#4a6578;--city-d:#33465a;--city-l:#d9e2e9;--granito:#8d9187;
  --glow:#f0a84a;--night:#141f19;--dawn:#e4e9e6;--warm:#ece3d0;--head-h:64px;
  background:var(--paper);color:var(--ink);font-family:var(--f-body)}
.s h1,.s h2,.s h3{font-family:var(--f-display);font-weight:600;margin:0;text-wrap:balance}
.s p{margin:0}
.s-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:999px;padding:14px 24px;min-height:48px;
  background:var(--ink);color:var(--paper);font-weight:600;font-size:16px;font-stretch:92%;text-decoration:none;
  transition:transform .35s var(--ease-out),background .3s,opacity .3s}
.s-btn:hover{transform:translateY(-2px)}
.s-btn:active{transform:translateY(0) scale(.98)}
.s-btn[disabled]{opacity:.38;cursor:not-allowed;transform:none}
.s-btn--ghost{background:transparent;color:inherit;box-shadow:inset 0 0 0 1.5px currentColor}
.s-btn--light{background:var(--paper);color:var(--ink)}
.s-chip{display:inline-block;padding:3px 10px;border-radius:999px;font-size:13px;font-weight:600;background:rgba(0,0,0,.06)}
.s-tbc{display:inline-block;padding:1px 9px;border-radius:999px;border:1.5px dashed currentColor;font-size:13px;opacity:.78;font-style:normal}
.s-kick{font-size:15px;font-weight:600;color:var(--tan-t);margin:0 0 14px}
.s-link{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:inherit;text-decoration:none;border-bottom:1.5px solid currentColor;padding-bottom:2px;transition:gap .3s var(--ease-out)}
.s-link:hover{gap:14px}

/* header: clear over the photo, solid once you leave the top */
.s-head{position:fixed;z-index:60;top:calc(env(safe-area-inset-top,0px) + var(--proto-h));left:0;right:0;height:var(--head-h);
  background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid color-mix(in srgb,var(--ink) 12%,transparent);color:var(--ink);
  transition:background .4s,border-color .4s,color .4s,backdrop-filter .4s}
.s-head.is-top{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border-color:transparent;color:#fff}
.s-head.is-top .s-btn:not(.s-menu){background:var(--paper);color:var(--ink)}
.s-head .wrap{height:100%;display:flex;align-items:center;justify-content:space-between;gap:16px}
.s-logo{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--f-display);font-weight:640;font-size:21px;font-stretch:88%;letter-spacing:-.01em;white-space:nowrap}
.s-logo svg{width:28px;height:28px;flex:none}
.s-nav{display:flex;align-items:center;gap:26px;font-size:15px;font-weight:500}
.s-nav a{text-decoration:none;padding:6px 0}
.s-nav .s-btn{padding:9px 20px;font-size:15px;min-height:42px}
/* language switch: PT | EN (header on wide screens, mobile menu and footer everywhere) */
.s-lang{display:inline-flex;align-items:center;gap:2px;font-size:13px;font-weight:600;letter-spacing:.02em}
.s-lang a{display:grid;place-items:center;color:inherit;font:inherit;min-width:36px;min-height:36px;padding:0 8px;border-radius:999px;opacity:.62;text-decoration:none;transition:opacity .25s,background .25s}
.s-lang a:hover{opacity:1}
.s-lang a[aria-current="true"]{opacity:1;background:color-mix(in srgb,currentColor 15%,transparent)}
.s-lang a:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.s-lang--menu{padding:14px 0 10px;font-size:15px}.s-lang--menu a{min-height:44px;min-width:48px}
.s-lang--foot{margin:0 0 0 -8px;font-size:14px}
.s-nav a:not(.s-btn,[data-lang]){background:linear-gradient(currentColor,currentColor) left bottom/0 1.5px no-repeat;transition:background-size .4s var(--ease-out)}
.s-nav a:not(.s-btn,[data-lang]):hover,.s-nav a[aria-current="page"]{background-size:100% 1.5px}
html{--site-paper:#f4f1e8}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:61;background:var(--site-paper)}
html[data-view="app"] body::before{display:none}
.s-menu{display:none;width:44px;height:44px;border:0;background:none;padding:0;position:relative;margin-right:-8px;color:inherit}
.s-menu span{position:absolute;left:11px;right:11px;height:2px;border-radius:2px;background:currentColor;transition:transform .4s var(--ease-out),top .4s var(--ease-out)}
.s-menu span:nth-child(1){top:17px}.s-menu span:nth-child(2){top:25px}
.s-menu[aria-expanded="true"] span:nth-child(1){top:21px;transform:rotate(45deg)}
.s-menu[aria-expanded="true"] span:nth-child(2){top:21px;transform:rotate(-45deg)}
.s-menu__panel{position:absolute;left:0;right:0;top:100%;background:var(--paper);color:var(--ink);border-bottom:1px solid color-mix(in srgb,var(--ink) 14%,transparent);padding:6px max(16px,calc(5*var(--vw))) 14px;display:grid;box-shadow:0 24px 40px -28px rgba(var(--shade-rgb),.6)}
.s-menu__panel>a{font-family:var(--f-display);font-size:26px;font-weight:560;font-stretch:88%;letter-spacing:-.02em;text-decoration:none;padding:12px 0;border-top:1px solid color-mix(in srgb,var(--ink) 10%,transparent)}
.s-menu__panel>a:first-child{border-top:0}

/* hero: the photo is the page */
.s-hero{position:relative;height:calc(100svh - var(--proto-h) - var(--dock-b,0px));min-height:580px;color:#f7f2e6;isolation:isolate;overflow:hidden;background:#2b3a2f}
.s-hero__img{position:absolute;left:0;top:-10%;width:100%;height:120%;object-fit:cover;object-position:var(--fx,26%) var(--fy,50%);transform-origin:50% 60%}
.s-hero__shade{position:absolute;inset:0;background:
  linear-gradient(0deg,rgba(var(--deep-rgb),.78) 0%,rgba(var(--deep-rgb),.3) 36%,rgba(var(--deep-rgb),0) 62%),
  linear-gradient(90deg,rgba(var(--deep-rgb),.5) 0%,rgba(var(--deep-rgb),0) 58%),
  linear-gradient(180deg,rgba(var(--deep-rgb),.5) 0%,rgba(var(--deep-rgb),0) 22%)}
.s-hero__in{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;gap:clamp(18px,3.2svh,34px);padding:calc(var(--head-h) + 24px) max(16px,calc(5*var(--vw))) clamp(14px,3.6svh,36px)}
.s-title .h1{display:block;font-family:var(--f-display);font-weight:560;font-stretch:86%;line-height:.93;letter-spacing:-.032em;font-size:clamp(44px,min(calc(13.6*var(--vw)),10.6svh),150px);margin:0;font-optical-sizing:auto;text-shadow:0 2px 30px rgba(0,0,0,.25)}
.s-title .ln{display:block;white-space:nowrap;width:max-content}
.s-title p{margin-top:clamp(10px,2svh,22px);max-width:34ch;font-size:clamp(15.5px,calc(1.3*var(--vw)),19px);line-height:1.45;text-shadow:0 1px 16px rgba(0,0,0,.4)}
.s-title .ln{opacity:0;transform:translateY(16px)}
html.is-ready .s-title .ln{opacity:1;transform:none;transition:opacity .9s var(--ease-out),transform 1.1s var(--ease-out);transition-delay:calc(var(--i,0)*110ms + 80ms)}
html[data-motion="off"] .s-title .ln{opacity:1;transform:none;transition:none}
.s-title p{opacity:0;transition:opacity .9s .5s}
html.is-ready .s-title p,html[data-motion="off"] .s-title p{opacity:1}
@keyframes settle{from{transform:scale(1.07)}to{transform:scale(1)}}
html.is-ready:not([data-motion="off"]) .s-hero__img{animation:settle 2.6s var(--ease-out) both}
.s-concept{position:absolute;z-index:4;right:max(16px,calc(3*var(--vw)));top:calc(var(--head-h) + 16px);font-size:12.5px;padding:4px 11px;border-radius:999px;
  background:rgba(var(--bar-rgb),.62);color:#f5f3ed;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}

/* booking bar (starts the booking page): one strip across the hero */
.s-bar{position:relative;z-index:5;display:grid;width:100%;
  grid-template-columns:minmax(0,1.2fr) minmax(0,1.2fr) minmax(0,1fr) auto;align-items:stretch;background:var(--paper);color:var(--ink);border:1px solid color-mix(in srgb,var(--ink) 16%,transparent);
  border-radius:999px;padding:10px 10px 10px 12px;box-shadow:0 26px 60px -26px rgba(var(--shade-rgb),.75)}
.s-bar__f{position:relative;display:flex;flex-direction:column;justify-content:center;gap:2px;text-align:left;border:0;background:none;padding:12px clamp(22px,calc(2.6*var(--vw)),40px);min-height:72px;border-radius:999px;min-width:0;transition:background .25s}
.s-bar__f+.s-bar__f::before{content:"";position:absolute;left:0;top:24%;bottom:24%;width:1px;background:color-mix(in srgb,var(--ink) 16%,transparent)}
.s-bar__f:hover{background:color-mix(in srgb,var(--ink) 6%,transparent)}
.s-bar__f small{font-size:14px;color:var(--muted);font-weight:500}
.s-bar__f b{font-family:var(--f-display);font-weight:600;font-size:clamp(20px,calc(1.8*var(--vw)),27px);font-stretch:90%;letter-spacing:-.012em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:36px}
.s-bar__f b.is-empty{color:#667069;font-weight:500}
.s-stepper{display:flex;align-items:center;gap:12px}
.s-stepper button{width:32px;height:32px;border-radius:50%;border:1.5px solid var(--ink);background:none;font-size:18px;line-height:1;display:grid;place-items:center;padding:0;transition:background .2s,color .2s}
.s-stepper button:hover{background:var(--ink);color:var(--paper)}
.s-stepper button[disabled]{opacity:.3;pointer-events:none}
.s-stepper output{min-width:1.2ch;text-align:center;font-family:var(--f-display);font-weight:600;font-size:20px}
.s-bar .s-bar__f .s-stepper button{width:36px;height:36px;font-size:20px}
.s-bar .s-bar__f .s-stepper output{font-size:clamp(22px,calc(1.8*var(--vw)),27px)}
.s-bar .s-btn{align-self:center;padding:0 clamp(26px,calc(3*var(--vw)),48px);min-height:72px;font-size:clamp(16px,calc(1.3*var(--vw)),19px)}

/* quick date picker over the page */
.s-pop{position:fixed;z-index:80;left:50%;top:calc(50% + var(--proto-h)/2);transform:translate(-50%,-50%);background:var(--paper);color:var(--ink);border:1px solid color-mix(in srgb,var(--ink) 16%,transparent);
  border-radius:30px;padding:30px clamp(24px,calc(3*var(--vw)),44px) 24px;box-shadow:0 30px 70px -28px rgba(var(--shade-rgb),.7);width:min(980px,calc(100% - 48px));max-height:calc(100svh - var(--proto-h) - 24px);overflow:auto}
.s-pop{display:flex;flex-direction:column;overflow:hidden;padding-bottom:0}
.s-pop__head{padding-right:52px;margin-bottom:6px}
.s-pop__head h3{margin:0;font-family:var(--f-display);font-weight:600;font-stretch:90%;font-size:clamp(24px,2.4vw,32px);letter-spacing:-.02em;line-height:1.1}
.s-pop__head p{margin:6px 0 0;font-size:15px;color:var(--muted);min-height:1.4em}
.s-pop .cal{--ch:clamp(46px,6.6svh,60px);flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;padding-top:8px}
.s-pop__foot{flex:none;display:flex;align-items:center;justify-content:space-between;gap:14px 20px;flex-wrap:wrap;padding:14px 0 calc(22px + env(safe-area-inset-bottom,0px));border-top:1px solid color-mix(in srgb,var(--ink) 12%,transparent);background:var(--paper)}
.s-pop__foot .cal__key{margin:0}
.s-pop__foot .s-btn{min-height:50px;padding:12px 28px}
.s-pop__foot .s-btn:disabled{opacity:.45}
.s-pop__x{position:absolute;right:14px;top:14px;width:44px;height:44px;border-radius:50%;border:0;background:none;font-size:24px;color:inherit}
.s-pop__scrim{position:fixed;inset:0;background:rgba(var(--shade-rgb),.5);z-index:79}

@media (max-width:860px){
  .s{--head-h:56px}
  #proto button{padding:6px 12px;font-size:13.5px}
  .s-logo{font-size:19px}.s-logo svg{width:26px;height:26px}
  .s-nav{gap:10px}
  .s-nav a:not(.s-btn){display:none}
  .s-lang--nav{display:none}
  .s-menu{display:block}
  .s-nav .s-btn{padding:9px 16px;min-height:42px}
  .s-hero{min-height:560px}
  .s-hero__shade{background:linear-gradient(0deg,rgba(var(--deep-rgb),.82) 0%,rgba(var(--deep-rgb),.38) 44%,rgba(var(--deep-rgb),0) 70%),linear-gradient(180deg,rgba(var(--deep-rgb),.5) 0%,rgba(var(--deep-rgb),0) 22%)}
  .s-concept{top:calc(var(--head-h) + 10px);right:auto;left:max(16px,calc(5*var(--vw)))}
  .s-bar{grid-template-columns:1fr 1fr;border-radius:26px;padding:6px;gap:2px}
  .s-bar__f{padding:9px 14px;border-radius:20px;min-height:56px;gap:0}
  .s-bar__f small{font-size:13px}
  .s-bar__f b{font-size:18px}
  .s-bar__f:nth-child(2)::before{display:block}
  .s-bar__f:nth-child(3)::before{display:none}
  .s-stepper{gap:6px}
  .s-stepper button{width:40px;height:40px;font-size:20px}
  .s-bar .s-btn{padding:13px 8px;border-radius:20px;width:100%;min-height:56px;font-size:15px;white-space:nowrap}
  .s-pop{left:0;right:0;bottom:0;top:auto;transform:none;width:auto;border-radius:26px 26px 0 0;padding:20px 16px 0;height:auto;max-height:min(90svh,780px)}
  .s-pop__head{padding-right:48px}.s-pop__head h3{font-size:22px;text-wrap:balance}
  .s-pop__foot{flex-direction:column;align-items:stretch;gap:12px;padding-top:12px}
  .s-pop__foot .s-btn{width:100%}.s-pop__foot .cal__key{justify-content:center}
  .s-pop .cal__nav{right:0}.s-pop .cal__nav button{width:40px;height:40px}.s-pop .cal__m h4{font-size:clamp(20px,6vw,26px)}
  .s-pop__head h3{font-size:21px}
}
@media (max-width:860px) and (max-height:700px){
  .s-pop__foot .cal__key{display:none}.s-pop__head p{display:none}.s-pop{padding-top:16px}
  .s-pop .cal{--ch:48px}
  .s-bar .s-bar__f .s-stepper button{width:40px;height:40px}
  .s-bar .s-bar__f .s-stepper output{font-size:20px}
  .s-bar .s-btn{padding:13px 8px}
}
@media (max-width:860px) and (max-height:700px){
  .s-title p{display:none}
  .s-bar__f{min-height:50px;padding-block:6px}.s-bar .s-btn{min-height:50px}
}
.s-hero:has(.s-opening){height:auto;min-height:max(580px,calc(100svh - var(--proto-h) - var(--dock-b,0px)))}
.s-hero__in:has(.s-opening){position:relative;inset:auto;min-height:inherit}
.s-opening + .s-bar{display:none}

.s-opening{display:flex;align-items:center;justify-content:space-between;gap:16px 28px;
  padding:clamp(16px,2.2vw,28px);border-radius:26px;background:var(--paper);color:var(--ink);
  box-shadow:0 26px 60px -26px rgba(var(--shade-rgb),.75)}
.s-opening h2{font-size:clamp(22px,2.5vw,34px);line-height:1.1;letter-spacing:-.025em}
.s-opening p{margin-top:6px;color:var(--muted);line-height:1.45}
.s-opening__actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px 20px}
.s-opening__actions .s-btn,.s-opening__plan{white-space:nowrap}
.s-opening__plan{min-height:44px;display:inline-flex;align-items:center;padding:0 2px;border:0;background:none;
  color:inherit;font:inherit;font-weight:600;text-decoration:underline;text-underline-offset:4px}

.bk__cal .bk__opening{margin:4px 0 14px;padding:10px 14px;border-radius:12px;
  background:color-mix(in srgb,var(--ink) 7%,var(--paper));color:var(--ink);font-size:15px;line-height:1.45}

@media (max-width:860px){
  .s-hero:has(.s-opening){min-height:max(560px,calc(100svh - var(--proto-h) - var(--dock-b,0px)))}
  .s-opening{flex-direction:column;align-items:flex-start;border-radius:22px}
  .s-opening__actions .s-btn{padding:10px 16px}
}
.s-h2{font-size:clamp(38px,calc(5.6*var(--vw)),88px);font-weight:560;font-stretch:90%;letter-spacing:-.032em;line-height:.98}

/* ── cabins · two climates, big photo ── */
.s-cabins{position:relative;isolation:isolate;overflow:hidden;color:#f4f1e8;padding-block:clamp(56px,calc(8*var(--vw)),112px);
  --m-acc:#a8c98f;--cx:30%;--cy:30%}
.s-cabins[data-mood="city"]{--m-acc:#f1c27a}
.s-cabins__bg{position:absolute;inset:0;z-index:-1}
.s-cabins__bg--jungle{background:radial-gradient(120% 90% at 85% 0%,#31503d 0%,#24372c 55%,#1b2a21 100%)}
.s-cabins__bg--city{background:radial-gradient(120% 90% at 85% 0%,#5f7b90 0%,#4a6578 45%,#33465a 100%);
  clip-path:circle(0% at var(--cx) var(--cy));transition:clip-path 1.05s var(--ease-io)}
.s-cabins[data-mood="city"] .s-cabins__bg--city{clip-path:circle(150% at var(--cx) var(--cy))}
.s .s-cabins__hint{font-size:17px;max-width:42ch;opacity:.88;margin-bottom:clamp(20px,calc(2.8*var(--vw)),40px)}
.s-mood__tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(10px,calc(1.6*var(--vw)),20px);max-width:1040px}
.s-mood__tab{position:relative;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:2px;min-height:clamp(120px,calc(14*var(--vw)),190px);padding:clamp(14px,calc(1.8*var(--vw)),24px) clamp(18px,calc(2.4*var(--vw)),36px);
  border-radius:clamp(44px,calc(5.5*var(--vw)),80px) clamp(44px,calc(5.5*var(--vw)),80px) 24px 24px;border:1.5px solid rgba(244,241,232,.6);background:rgba(244,241,232,.07);color:#f4f1e8;text-align:left;
  font-family:var(--f-display);font-size:clamp(34px,calc(6*var(--vw)),92px);line-height:.98;letter-spacing:-.035em;
  box-shadow:0 14px 30px -22px rgba(0,0,0,.6);
  transition:background .35s var(--ease-out),color .35s,transform .35s var(--ease-out),border-color .3s,font-weight .5s,font-stretch .5s}
.s-mood__tab:hover:not([aria-selected="true"]){background:rgba(244,241,232,.16);transform:translateY(-3px);border-color:#f4f1e8}
.s-mood__tab:active{transform:scale(.985)}
.s-mood__tab .k{display:block;font:500 15px/1.2 var(--f-body);letter-spacing:0;opacity:.85}
.s-mood__tab .go{display:inline-flex;align-items:center;gap:6px;margin-top:8px;font:600 14px/1 var(--f-body);letter-spacing:0;padding:7px 12px;border-radius:999px;box-shadow:inset 0 0 0 1.5px currentColor}
.s-mood__tab:not([aria-selected="true"]) .go::before{content:"Ver esta cabana \2192"}
.s-mood__tab[aria-selected="true"] .go::before{content:"\2713  A mostrar"}
:lang(en) .s-mood__tab:not([aria-selected="true"]) .go::before{content:"View this cabin \2192"}
:lang(en) .s-mood__tab[aria-selected="true"] .go::before{content:"\2713  Showing"}
.s-mood__tab[data-mood="jungle"]{font-stretch:100%;font-weight:700}
.s-mood__tab[data-mood="city"]{font-stretch:75%;font-weight:340}
.s-mood__tab[aria-selected="true"]{background:#f4f1e8;color:#24372c;border-color:#f4f1e8;box-shadow:0 20px 40px -22px rgba(0,0,0,.7)}
.s-cabins[data-mood="city"] .s-mood__tab[aria-selected="true"]{color:#33465a}
.s-mood__tab[aria-selected="true"] .go{background:#24372c;color:#f4f1e8;box-shadow:none}
.s-cabins[data-mood="city"] .s-mood__tab[aria-selected="true"] .go{background:#33465a}
@media (max-width:860px){.s-mood__tab{min-height:142px;padding:14px 14px 14px 16px;font-size:clamp(34px,calc(11.5*var(--vw)),60px)}.s-mood__tab .k{font-size:14px}.s-mood__tab .go{font-size:13px;padding:7px 10px;max-width:100%;white-space:nowrap}}

.s-mood__body{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.9fr);gap:clamp(28px,calc(5*var(--vw)),80px);align-items:center;margin-top:clamp(28px,calc(4*var(--vw)),56px)}
.s-mood__imgs{display:grid;order:-1}
.s-pic{grid-area:1/1;position:relative;aspect-ratio:6/5;border-radius:28px;overflow:hidden;opacity:0;transform:scale(.97);
  transition:opacity .8s var(--ease-io),transform 1.1s var(--ease-out);background:#222;box-shadow:0 40px 80px -40px rgba(0,0,0,.7)}
.s-pic.is-on{opacity:1;transform:none}
.s-pic i{position:absolute;inset:0;background-image:url(retreat-1440.webp);background-repeat:no-repeat;transition:transform 1.8s var(--ease-out)}
.s-pic:not(.is-on) i{transform:scale(1.1)}
.s-pic[data-for="jungle"] i{background-size:200% auto;background-position:0% 50%;filter:saturate(1.08) contrast(1.02)}
.s-pic[data-for="city"] i{background-size:218% auto;background-position:100% 33%;filter:saturate(.78) hue-rotate(-10deg) brightness(1.03)}
.s-pic::after{content:"";position:absolute;inset:0;mix-blend-mode:multiply}
.s-pic[data-for="jungle"]::after{background:linear-gradient(0deg,rgba(24,60,38,.55),rgba(24,60,38,0) 58%),linear-gradient(90deg,rgba(40,90,50,.18),rgba(40,90,50,0))}
.s-pic[data-for="city"]::after{background:linear-gradient(0deg,rgba(40,62,84,.62),rgba(110,140,170,.22) 70%)}
.s-pic figcaption{position:absolute;z-index:2;left:18px;bottom:16px;right:18px;display:flex;justify-content:space-between;align-items:end;gap:10px;color:#f4f1e8}
.s-pic figcaption b{font-family:var(--f-display);font-size:clamp(26px,calc(3*var(--vw)),44px);font-weight:600;letter-spacing:-.03em;line-height:1}
.s-pic figcaption span{font-size:13px;padding:5px 12px;border-radius:999px;background:rgba(20,31,25,.66);white-space:nowrap}
.s-pic[data-for="jungle"] figcaption b{font-stretch:100%}.s-pic[data-for="city"] figcaption b{font-stretch:76%;font-weight:420}

.s-mood__panels{display:grid}
.s-mood__panel{grid-area:1/1;opacity:0;transform:translateY(14px);pointer-events:none;visibility:hidden;
  transition:opacity .45s,transform .7s var(--ease-out),visibility 0s .45s}
.s-mood__panel.is-on{opacity:1;transform:none;pointer-events:auto;visibility:visible;transition:opacity .6s .3s,transform .8s .3s var(--ease-out),visibility 0s}
.s-mood__panel h3{font-size:clamp(28px,calc(3.4*var(--vw)),50px);font-weight:520;letter-spacing:-.025em;line-height:1.02;max-width:16ch}
.s-mood__panel[data-for="jungle"] h3{font-stretch:100%}
.s-mood__panel[data-for="city"] h3{font-stretch:78%}
.s-mood__panel>p{margin-top:14px;max-width:44ch;font-size:18px;opacity:.94}
.s-meters{display:grid;gap:12px;margin-top:22px;max-width:440px}
.s-meter{display:grid;grid-template-columns:4.6em 1fr 3.2em;gap:12px;align-items:center;font-size:14px;opacity:.95}
.s-meter span:last-child{text-align:right}
.s-meter i{position:relative;display:block;height:2px;border-radius:2px;background:rgba(244,241,232,.38)}
.s-meter b{position:absolute;top:50%;left:50%;width:18px;height:22px;margin:-11px 0 0 -9px;border-radius:999px 999px 5px 5px;background:#f4f1e8;transition:left 1.1s var(--ease-out)}
.s-mood__panel.is-on .s-meter b{left:calc(var(--p)*100%)}
.s-facts{margin:20px 0 0;padding:0;display:grid;gap:0;max-width:520px}
.s-facts div{display:grid;grid-template-columns:7.5em 1fr;gap:12px;align-items:center;padding:11px 0;border-top:1px solid rgba(244,241,232,.22)}
.s-facts dt{font-size:15px;opacity:.82}
.s-facts dd{margin:0;font-size:16px}
.s-mood__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.s-cabins .s-btn{background:#f4f1e8;color:#24372c}
.s-cabins .s-btn--ghost{background:transparent;color:#f4f1e8}
.s-cabins .s-tbc{border-color:rgba(244,241,232,.6)}
@media (max-width:860px){.s-mood__body{grid-template-columns:1fr}.s-pic{aspect-ratio:4/3.4}.s-meter{grid-template-columns:4.2em 1fr 3em}}

/* ── day cycle · a pinned window onto the valley ──
   The section is a tall track with a sticky stage: scrolling through it moves the day from 16:00 to the next morning (both ways),
   and if you stop for a moment the day carries on by itself. Words and controls on the left, the landscape in an arch on the right;
   on a phone: head, arch, controls. The page colour follows the time of day. */
.s-day{--g-bg:var(--paper);--g-fg:var(--ink);--stick:calc(env(safe-area-inset-top,0px) + var(--proto-h) + var(--head-h));--stage:calc(100svh - var(--stick) - var(--dock-b,0px));--trk:180svh;
  background:var(--g-bg);color:var(--g-fg);height:calc(var(--stage) + var(--trk))}
.s-day__stick{position:sticky;top:var(--stick);height:var(--stage);overflow:hidden;display:flex;align-items:center}
.s-day__stick>.wrap{width:100%}
.s-day__grid{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;gap:clamp(10px,2svh,26px);height:100%;padding-block:clamp(14px,2.6svh,30px)}
.s-day__head{display:grid;gap:8px;align-content:start}
.s-day__head .s-kick{margin:0}
.s-day__lead{font-size:17px;max-width:46ch;opacity:.9}
.s-day .s-h2{font-size:clamp(30px,calc(8.2*var(--vw)),56px);line-height:1}
.s-day .s-h2 .sl{display:block;text-wrap:balance}
.s-day__scene{position:relative;width:min(100%,680px);aspect-ratio:20/19;max-height:100%;min-height:0;align-self:center;margin-inline:auto;border-radius:var(--ar,50%) var(--ar,50%) 26px 26px;overflow:hidden;isolation:isolate;background:#8fbad6;
  outline:1.5px solid color-mix(in srgb,var(--g-fg) 34%,transparent);outline-offset:7px;box-shadow:0 40px 70px -40px rgba(0,0,0,.55)}
.s-day__scene svg{position:absolute;inset:0;width:100%;height:100%;display:block;transform-origin:50% 100%}
html[data-motion="cinematic"] .s-day__scene svg{transform:scale(calc(1 + var(--cam,0)*.05))}
.s-day__scene::after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14),inset 0 -70px 90px -50px rgba(10,20,15,.28)}
.s-day__hint,.s-day__cta{position:absolute;left:50%;bottom:clamp(12px,3.4%,26px);transform:translateX(-50%);z-index:3}
.s-day__hint{display:inline-flex;align-items:center;gap:9px;padding:9px 16px 9px 15px;border-radius:999px;background:rgba(20,31,25,.66);color:#f4f1e8;font-size:14px;font-weight:600;white-space:nowrap;
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;pointer-events:none;transition:opacity .5s}
.s-day__hint i{width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translate(-2px,-2px);animation:nudge 1.7s ease-in-out infinite}
@keyframes nudge{50%{transform:rotate(45deg) translate(1px,1px)}}
html[data-motion="off"] .s-day__hint i{animation:none}
.s-day__scene[data-phase="hint"] .s-day__hint{opacity:1}
.s-day__cta{opacity:0;visibility:hidden;transition:opacity .5s,visibility 0s .5s}
.s-day__scene[data-phase="cta"] .s-day__cta{opacity:1;visibility:visible;transition:opacity .7s .1s,visibility 0s}
.s-day__cta .s-btn{white-space:nowrap;min-height:46px;padding:11px 20px;font-size:15px;box-shadow:0 14px 30px -14px rgba(0,0,0,.65)}
.s-day__ui{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px clamp(14px,calc(2.4*var(--vw)),30px);align-items:start}
.s-clock{font-family:var(--f-display);font-weight:520;font-stretch:80%;font-variant-numeric:tabular-nums;letter-spacing:-.04em;
  font-size:clamp(54px,calc(17*var(--vw)),92px);line-height:.86}
.s-beat{position:relative;display:grid;padding-top:.12em}
.s-beat>*{grid-area:1/1;min-width:0;align-self:start}
.s-beat__ghost{visibility:hidden;pointer-events:none}
.s-beat h3{font-size:clamp(23px,calc(3*var(--vw)),38px);font-weight:560;letter-spacing:-.02em;line-height:1.05}
.s-beat p{margin-top:6px;max-width:36ch;font-size:15.5px;line-height:1.4;opacity:.92}
.s-beat .sw{display:block;overflow:hidden;padding-bottom:.08em}
.s-beat .sw>span{display:block;transform:translateY(0);transition:transform .7s var(--ease-out),opacity .5s}
.s-beat.is-swap .s-beat__live .sw>span{transform:translateY(105%);opacity:0;transition:none}
.s-ctrl{grid-column:1/-1;display:grid;gap:8px}
.s-ctrl__row{display:flex;align-items:center;gap:12px}
.s-play{flex:none;display:inline-flex;align-items:center;gap:8px;border:1.5px solid currentColor;background:transparent;color:inherit;border-radius:999px;padding:8px 16px 8px 12px;min-height:44px;font-weight:600;font-size:15px;transition:background .25s,color .25s}
.s-play:hover{background:var(--g-fg);color:var(--g-bg)}
.s-play svg{width:16px;height:16px;fill:currentColor}
.s-scrub{flex:1;min-width:0;-webkit-appearance:none;appearance:none;height:44px;background:transparent;margin:0;cursor:pointer;touch-action:pan-y}
.s-scrub::-webkit-slider-runnable-track{height:8px;border-radius:8px;background:linear-gradient(90deg,#7fb2d6 0%,#f6d49a 22%,#e4965f 34%,#243a4a 55%,#0e1a25 70%,#b9cbd6 90%,#f3d9c2 100%)}
.s-scrub::-moz-range-track{height:8px;border-radius:8px;background:linear-gradient(90deg,#7fb2d6 0%,#f6d49a 22%,#e4965f 34%,#243a4a 55%,#0e1a25 70%,#b9cbd6 90%,#f3d9c2 100%)}
.s-scrub::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:34px;margin-top:-13px;border-radius:999px 999px 6px 6px;background:var(--g-fg);border:3px solid var(--g-bg);box-shadow:0 0 0 1.5px var(--g-fg),0 6px 14px rgba(0,0,0,.35)}
.s-scrub::-moz-range-thumb{width:20px;height:28px;border-radius:999px 999px 6px 6px;background:var(--g-fg);border:3px solid var(--g-bg);box-shadow:0 0 0 1.5px var(--g-fg)}
.s-moments{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.s-moments button{display:grid;gap:1px;text-align:left;padding:8px 9px;min-height:50px;border-radius:14px 14px 9px 9px;border:1.5px solid color-mix(in srgb,var(--g-fg) 34%,transparent);background:transparent;color:inherit;transition:background .3s,color .3s,border-color .3s}
.s-moments button b{font-size:13px;font-weight:650;line-height:1.15}
.s-moments button span{font-size:12px;opacity:.78;font-variant-numeric:tabular-nums}
.s-moments button:hover{border-color:var(--g-fg)}
.s-moments button[aria-current="true"]{background:var(--g-fg);color:var(--g-bg);border-color:var(--g-fg)}
.s-tag text{font:650 30px var(--f-body)}
@media (max-height:780px){.s-day__lead{display:none}}
@media (max-width:640px){.s-day__lead{display:none}}
@media (max-width:640px) and (max-height:780px){
  .s-day__head .s-kick{display:none}
  .s-beat p{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
}
@media (max-height:640px){.s-day .s-h2{font-size:clamp(26px,calc(7*var(--vw)),40px)}.s-beat p{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}
@media (min-width:981px),(min-width:560px) and (max-height:540px) and (orientation:landscape){
  /* text and controls sit together, centred beside a larger scene (the scene takes the full stage height) */
  .s-day__grid{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:minmax(0,1fr) auto auto minmax(0,1fr);column-gap:clamp(36px,calc(4.4*var(--vw)),84px);row-gap:clamp(18px,4svh,44px);padding-block:clamp(8px,1.6svh,18px)}
  .s-day__head{grid-area:2/1}
  .s-day__ui{grid-area:3/1;align-self:start}
  .s-day__scene{grid-area:1/2/5/3;width:min(calc((var(--stage) - 2*clamp(8px,1.6svh,18px))*20/19),calc(min(1360px,100vw - 80px)*.58));height:auto;max-height:none;margin-inline:0;outline-offset:12px;justify-self:end}
  /* type grows with the stage and with the text column, so a laptop never gets small text and empty bands, or text that overflows */
  .s-day{--cw:calc(min(1360px,100vw) - 32px);--gap:clamp(36px,calc(4.4*var(--vw)),84px);--scw:min(calc((var(--stage) - 2*clamp(8px,1.6svh,18px))*20/19),calc(var(--cw)*.55));--col:calc(var(--cw) - var(--scw) - var(--gap))}
  .s-day__grid{column-gap:var(--gap)}
  .s-day__scene{width:var(--scw)}
  .s-day .s-h2{font-size:clamp(34px,min(calc(var(--col)*.1),calc(var(--stage)*.098)),84px)}
  .s-day__lead{display:block;font-size:clamp(16px,calc(var(--stage)*.026),21px);max-width:44ch}
  .s-clock{font-size:clamp(64px,min(calc(var(--col)*.19),calc(var(--stage)*.175)),140px)}
  .s-beat h3{font-size:clamp(24px,min(calc(var(--col)*.058),calc(var(--stage)*.058)),46px)}
  .s-beat p{font-size:clamp(16px,calc(var(--stage)*.025),20px);max-width:32ch}
  .s-play{min-height:50px;font-size:16px;padding-inline:18px 20px}
  .s-moments{gap:8px}
  .s-moments button{padding:11px 10px 11px 13px;min-height:60px}
  .s-moments button b{font-size:clamp(14px,calc(var(--stage)*.021),17px);white-space:nowrap}
  .s-moments button span{font-size:clamp(13px,calc(var(--stage)*.019),15px)}
}
@media (min-width:1700px){.s-day__stick>.wrap{max-width:1640px}.s-day{--cw:calc(1640px - 32px)}}
@media (min-width:981px) and (max-height:600px){.s-day__lead{display:none}}
@media (min-width:981px) and (max-width:1200px){.s-moments button b{white-space:normal;font-size:13.5px}}
/* a phone held sideways: two columns like a desktop, only smaller */
@media (min-width:560px) and (max-height:540px) and (orientation:landscape){
  .s-day__grid{column-gap:clamp(20px,calc(4*var(--vw)),48px);padding-block:10px;grid-template-columns:minmax(0,1fr) auto}
  .s-day__scene{width:auto;height:100%;max-height:100%;aspect-ratio:20/19;justify-self:end}
  .s-day .s-h2{font-size:clamp(22px,calc(4.2*var(--vw)),30px)}
  .s-day__head .s-kick,.s-day__lead{display:none}
  .s-clock{font-size:clamp(40px,calc(8*var(--vw)),60px)}
  .s-beat h3{font-size:20px}
  .s-moments button{min-height:44px;padding:6px 8px}
  .s-moments button b{font-size:12.5px;white-space:normal}
  .s-moments button span{font-size:11.5px}
  .s-play{padding:6px 14px 6px 10px}
  .s-day__hint{font-size:12.5px;padding:7px 12px}
}
@media (max-width:360px){.s-moments button b{font-size:12px}}
html[data-motion="off"] .cl,html[data-motion="off"] .mist,html[data-motion="off"] .bd{animation:none}
html[data-motion="off"] .bd{opacity:0}
@keyframes cdrift{from{transform:translateX(calc(var(--dx,30px)*-1))}to{transform:translateX(var(--dx,30px))}}
@keyframes mdrift{from{transform:translateX(-46px)}to{transform:translateX(46px)}}
@keyframes bfly{from{transform:translate(-160px,0)}to{transform:translate(1160px,-40px)}}
.cl{animation:cdrift 80s ease-in-out infinite alternate}
.mist{animation:mdrift 36s ease-in-out infinite alternate}
.bd{animation:bfly 44s linear infinite;opacity:var(--bird-o,0)}
/* ── booking: a page that opens on top ──
   desktop: two panes (calendar on paper | stay, cabins and request on Xisto). phone: one scrolling sheet. */
html.bk-open body{overflow:hidden}
.bk{position:fixed;z-index:75;left:0;right:0;bottom:0;top:calc(env(safe-area-inset-top,0px) + var(--proto-h));display:grid;justify-items:center;align-items:start;
  padding:clamp(0px,2.2svh,22px) clamp(0px,2.6vw,48px) 0;visibility:hidden;pointer-events:none}
.bk.is-on{visibility:visible;pointer-events:auto}
.bk__scrim{position:absolute;inset:0;background:rgba(var(--night-rgb),.58);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);opacity:0;transition:opacity .45s}
.bk.is-on .bk__scrim{opacity:1}
.bk__panel{position:relative;width:min(1440px,100%);height:100%;overflow:auto;overscroll-behavior:contain;background:var(--paper);color:var(--ink);
  border-radius:30px 30px 0 0;box-shadow:0 -30px 90px -30px rgba(0,0,0,.6);transform:translateY(40px);opacity:0;
  transition:transform .65s var(--ease-out),opacity .4s}
.bk.is-on .bk__panel{transform:none;opacity:1}
.bk.bk--grow .bk__panel{transform:none;opacity:1}
.bk__top{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:start;gap:16px;padding:clamp(18px,2.4vw,30px) clamp(18px,3vw,44px) 14px;background:var(--paper);box-shadow:0 1px 0 color-mix(in srgb,var(--ink) 10%,transparent)}
.bk__top h2{font-size:clamp(32px,4.4vw,60px);font-weight:560;font-stretch:88%;letter-spacing:-.03em;line-height:1}
.bk__x{flex:none;width:48px;height:48px;border-radius:50%;border:1.5px solid color-mix(in srgb,var(--ink) 40%,transparent);background:var(--paper);font-size:26px;line-height:1;display:grid;place-items:center;padding:0;color:inherit;transition:background .2s,color .2s,transform .3s var(--ease-out)}
.bk__x:hover{background:var(--ink);color:var(--paper);transform:rotate(90deg)}
.bk__steps{list-style:none;display:flex;gap:8px;margin:12px 0 0;padding:0;flex-wrap:wrap}
.bk__steps li{display:inline-flex;align-items:center;gap:8px;padding:5px 14px 5px 6px;border-radius:999px;font-size:14px;font-weight:600;color:var(--muted);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--ink) 20%,transparent);transition:background .3s,color .3s,box-shadow .3s}
.bk__steps li i{font-style:normal;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:12px;background:color-mix(in srgb,var(--ink) 10%,transparent);transition:background .3s,color .3s}
.bk__panel[data-step="1"] .bk__steps li:nth-child(1),.bk__panel[data-step="2"] .bk__steps li:nth-child(2),.bk__panel[data-step="3"] .bk__steps li:nth-child(3),.bk__panel[data-step="4"] .bk__steps li:nth-child(3){background:var(--ink);color:var(--paper);box-shadow:none}
.bk__panel[data-step="1"] .bk__steps li:nth-child(1) i,.bk__panel[data-step="2"] .bk__steps li:nth-child(2) i,.bk__panel[data-step="3"] .bk__steps li:nth-child(3) i,.bk__panel[data-step="4"] .bk__steps li:nth-child(3) i{background:var(--paper);color:var(--ink)}
.bk__panel[data-step="2"] .bk__steps li:nth-child(1),.bk__panel[data-step="3"] .bk__steps li:nth-child(-n+2),.bk__panel[data-step="4"] .bk__steps li:nth-child(-n+2){color:var(--ink)}
.bk__panel[data-step="2"] .bk__steps li:nth-child(1) i,.bk__panel[data-step="3"] .bk__steps li:nth-child(-n+2) i,.bk__panel[data-step="4"] .bk__steps li:nth-child(-n+2) i{background:#cfe3d4;color:#1d4d2e}
.bk__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(20px,4vw,36px);align-items:start;padding:8px clamp(18px,3vw,44px) clamp(28px,4vw,48px)}
.bk__cal,.bk__side{min-width:0}
.bk__note{display:none}
.bk__guests,.sum,.bk__stay,.res{scroll-margin-top:120px}

/* the side pane: tokens, so the same markup reads on paper (phone) and on Xisto (desktop) */
.bk__side{--sf:var(--ink);--sm:var(--muted);--sb:color-mix(in srgb,var(--ink) 24%,transparent);--sc:#fff;--sh:#fff;--sl:var(--line);--sa:var(--ink);--sa-f:var(--paper)}
.bk__side-body{display:flex;flex-direction:column;gap:18px}
.bk__side-body>*{flex:none}
.bk__side-h{display:none}
.bk__stay{display:grid;grid-template-columns:1.2fr 1.2fr .8fr;gap:8px}
.bk__tile{padding:11px 14px 11px;border-radius:18px;border:1.5px solid var(--sb);display:grid;align-content:center;gap:1px;min-width:0;background:var(--sc);transition:background .3s,border-color .3s}
.bk__tile small{font-size:13px;color:var(--sm);font-weight:500}
.bk__tile b{font-family:var(--f-display);font-size:clamp(23px,2vw,29px);font-weight:600;font-stretch:90%;letter-spacing:-.018em;line-height:1.08;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bk__tile b.is-empty{color:var(--sm);font-weight:500}
.bk__tile em{font-style:normal;font-size:13.5px;color:var(--sm);min-height:1.35em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bk__tile.is-set{border-color:var(--sa)}
.bk__guests{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px 10px 18px;border-radius:20px;border:1.5px solid var(--sb);background:var(--sc)}
.bk__guests span{font-weight:600}
.bk__guests .s-stepper{gap:14px}
.bk__guests .s-stepper button{width:44px;height:44px;border-color:var(--sf);color:var(--sf)}
.bk__guests .s-stepper button:hover{background:var(--sf);color:var(--sa-f)}
.bk__guests .s-stepper output{font-size:22px;min-width:1.4ch}

@media (min-width:981px){
  .bk__panel{overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) clamp(410px,33vw,520px);grid-template-rows:auto minmax(0,1fr)}
  .bk__top{position:static;grid-area:1/1;display:block;padding:clamp(22px,4.2svh,48px) clamp(28px,3.6vw,64px) 4px;background:none;box-shadow:none}
  .bk__top h2{font-size:clamp(46px,5.2vw,84px);line-height:.96}
  .bk__steps{margin-top:clamp(14px,2.4svh,26px)}
  .bk__steps li{font-size:15px;padding:6px 16px 6px 7px}
  .bk__steps li i{width:24px;height:24px;font-size:13px}
  .bk__x{position:absolute;right:20px;top:20px;z-index:9;color:var(--paper);border-color:rgba(var(--paper-rgb),.42);background:transparent}
  .bk__x:hover{background:var(--paper);color:var(--ink)}
  .bk__grid{display:contents}
  .bk__cal{grid-area:2/1;overflow:auto;padding:clamp(4px,1.2svh,14px) clamp(28px,3.6vw,64px) clamp(22px,3.6svh,44px);display:flex;flex-direction:column;gap:0}
  .bk__note{display:flex;flex-wrap:wrap;gap:10px 30px;margin-top:auto;padding-top:clamp(18px,3svh,34px);font-size:15px;color:var(--muted)}
  .bk__note span{display:inline-flex;align-items:center;gap:9px}
  .bk__note svg{width:20px;height:20px;flex:none;color:var(--tan-t)}
  .bk__side{--sf:var(--paper);--sm:rgba(var(--paper-rgb),.68);--sb:rgba(var(--paper-rgb),.24);--sc:rgba(var(--paper-rgb),.06);--sh:rgba(var(--paper-rgb),.15);--sl:rgba(var(--paper-rgb),.2);--sa:var(--glow);--sa-f:var(--ink);
    --py:clamp(24px,3.8svh,48px);--px:clamp(24px,2.6vw,40px);
    grid-area:1/2/3/3;display:flex;flex-direction:column;overflow:hidden;background:var(--ink);color:var(--paper)}
  .bk__side-h{display:block;flex:none;padding:var(--py) calc(var(--px) + 56px) 6px var(--px);font:600 clamp(24px,2.2vw,32px)/1.05 var(--f-display);font-stretch:88%;letter-spacing:-.02em}
  .bk__side-body{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;gap:clamp(12px,1.8svh,18px);padding:16px var(--px) clamp(22px,3.4svh,40px);
    -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 16px);mask-image:linear-gradient(to bottom,transparent 0,#000 16px)}
}
@media (max-width:980px){.bk__side-body{padding:0 0 8px}}
@media (max-width:860px){.bk{padding:0}.bk__panel{border-radius:26px 26px 0 0}.bk__steps{gap:6px}.bk__steps li{font-size:13px;padding:4px 11px 4px 4px;gap:6px}.bk__steps li i{width:20px;height:20px}.bk__top h2{font-size:clamp(30px,9vw,44px)}}
@media (prefers-reduced-motion:reduce){.bk__panel,.bk__scrim{transition:none}}

/* calendar (inline + popover): sized by --ch (cell height) so it fills the room it is given */
.cal{--tj:#4f9a6a;--tc:#5b86a8;--ch:50px;user-select:none;position:relative}
.bk__cal .cal{--ch:50px}
.cal__nav{position:absolute;right:0;top:0;display:flex;gap:8px;z-index:2}
.s-pop .cal__nav{right:44px}
.cal[style*="--n:1"] .cal__m h4{padding-right:96px}
.cal__nav button{width:44px;height:44px;border-radius:50%;border:1.5px solid color-mix(in srgb,var(--ink) 35%,transparent);background:none;font-size:20px;display:grid;place-items:center;padding:0;transition:background .2s,color .2s}
.cal__nav button:hover:not([disabled]){background:var(--ink);color:var(--paper)}
.cal__nav button[disabled]{opacity:.25;cursor:default}
.cal__months{display:grid;grid-template-columns:repeat(var(--n,2),minmax(0,1fr));gap:clamp(24px,3.4vw,56px)}
.cal__m h4{margin:0 0 8px;min-height:44px;display:flex;align-items:center;font-family:var(--f-display);font-weight:600;font-size:clamp(22px,2vw,30px);font-stretch:90%;letter-spacing:-.015em;text-transform:capitalize}
.cal__w,.cal__g{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.cal__w span{text-align:center;font-size:14px;color:var(--muted);padding-bottom:8px}
.cal__d,.cal__e{height:var(--ch)}
.cal__d{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:0;background:none;padding:0;color:inherit;
  font-size:clamp(16px,1.3vw,19px);font-weight:500;font-variant-numeric:tabular-nums;transition:background .2s,color .2s}
.cal__d i{display:flex;flex-direction:column;gap:2px;width:50%}
.cal__d i b{display:block;height:3.5px;border-radius:2px;background:var(--tj)}
.cal__d i b+b{background:var(--tc)}
.cal__d i b.x{background:transparent;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ink) 30%,transparent);opacity:.7}
.cal__d:hover:not(.is-past):not(.is-full){box-shadow:inset 0 0 0 1.5px var(--ink);border-radius:14px}
.cal__d.is-past{opacity:.28;cursor:default}
.cal__d.is-full{cursor:not-allowed;color:#7b847c}
.cal__d.is-full .n{text-decoration:line-through}
.cal__d.is-today .n{box-shadow:0 2px 0 -0px var(--tan-t)}
.cal__d.is-range{background:color-mix(in srgb,var(--ink) 11%,transparent)}
.cal__d.is-range:nth-child(7n+1){border-radius:14px 0 0 14px}.cal__d.is-range:nth-child(7n){border-radius:0 14px 14px 0}
.cal__d.is-in,.cal__d.is-out{background:var(--ink);color:var(--paper);--tj:#9fd7b3;--tc:#a9c9e4}
.cal__d.is-in{border-radius:999px 0 0 999px}.cal__d.is-out{border-radius:0 999px 999px 0}
.cal__d.is-in.is-solo{border-radius:999px}
.cal__d.is-in.is-range:nth-child(7n){border-radius:999px 14px 14px 999px}
.cal__d.is-hover-end{background:color-mix(in srgb,var(--ink) 30%,transparent);border-radius:0 999px 999px 0}
.cal__key{display:flex;flex-wrap:wrap;gap:8px 26px;margin-top:20px;font-size:15px;color:var(--muted)}
.cal__key span{display:inline-flex;align-items:center;gap:9px}
.cal__key b{display:inline-block;width:22px;height:5px;border-radius:3px}
.cal__key .kx{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ink) 35%,transparent);background:transparent}
.cal__msg{margin-top:12px;font-size:16px;min-height:1.5em;color:var(--muted)}
.cal__msg.warn{color:#7a3f20}
@media (min-width:981px){
  .bk__cal .cal{--ch:clamp(50px,min(7.6svh,5.1vw),80px)}
  .bk__cal .cal__w span{font-size:15px}
  .bk__cal .cal__d{font-size:clamp(17px,1.35vw,20px)}
  .bk__cal .cal__d i b{height:4px}
}
@media (max-width:980px){.bk .cal{--ch:48px}}

/* cabins, summary, request */
.res{display:grid;gap:10px}
.res__opt{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;text-align:left;width:100%;padding:10px 16px 10px 10px;border-radius:22px;color:inherit;
  border:1.5px solid var(--sb);background:var(--sc);transition:border-color .25s,background .25s,transform .35s var(--ease-out)}
.res__opt:hover:not([disabled]){transform:translateY(-2px);border-color:var(--sf)}
.res__opt[aria-checked="true"]{border-color:var(--sa);background:var(--sh);box-shadow:0 0 0 1.5px var(--sa)}
.res__opt[disabled]{opacity:.5;cursor:not-allowed}
.res__ph{position:relative;width:88px;height:88px;border-radius:16px;overflow:hidden;flex:none;background:#2a3b30 url(retreat-768.webp) no-repeat}
.res__opt[data-cabin="jungle"] .res__ph{background-size:240% auto;background-position:2% 56%;filter:saturate(1.08)}
.res__opt[data-cabin="city"] .res__ph{background-size:262% auto;background-position:100% 34%;filter:saturate(.8) hue-rotate(-10deg) brightness(1.04)}
.res__ph::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}
.res__opt strong{display:block;font-family:var(--f-display);font-size:22px;font-weight:600;font-stretch:90%;letter-spacing:-.012em;line-height:1.1}
.res__opt .sub{display:block;font-size:14.5px;color:var(--sm);margin-top:2px}
.res__opt .pr{display:block;font-size:13.5px;color:var(--sm);margin-top:5px}
.res__st{font-size:14px;font-weight:650;white-space:nowrap;align-self:start;margin-top:6px}
.res__st.ok{color:#1d6a3c}.res__st.no{color:#8a4426}.res__st.wait{color:var(--sm);font-weight:500}
@media (min-width:981px){.res__st.ok{color:#a9e2b9}.res__st.no{color:#f0b497}}
.sum{padding:20px;border-radius:22px;background:var(--sc);border:1px solid var(--sl);display:grid;gap:12px}
.sum__row{display:flex;justify-content:space-between;gap:12px;align-items:baseline;font-size:16px}
.sum__row b{font-weight:600}
.sum__n{font-family:var(--f-display);font-size:44px;font-weight:560;line-height:1;font-stretch:84%;display:inline-block;overflow:hidden;height:1em;vertical-align:bottom}
.sum__n span{display:block;height:1em;transition:transform .6s var(--ease-out)}
.sum__total{padding-top:12px;border-top:1px solid var(--sl);font-size:18px}
.sum__total em{font-style:normal;font-size:14px;color:var(--sm);display:block;margin-top:2px}
.sum__promise{font-size:14px;color:var(--sm)}
.sum .s-btn{background:var(--sa);color:var(--sa-f);min-height:54px;font-size:17px}
.fld{display:grid;gap:6px}
.fld label{font-size:14px;font-weight:600}
.fld input,.fld textarea{width:100%;padding:13px 14px;border-radius:14px;border:1.5px solid var(--sb);background:var(--sc);color:inherit;font-size:16px}
.fld input:focus,.fld textarea:focus{outline:2px solid var(--sa);outline-offset:1px}
#req-form{display:grid;gap:12px}
#req-form .s-btn{background:var(--sa);color:var(--sa-f);min-height:54px;font-size:17px}
.rq{padding:20px;border-radius:22px;border:1.5px solid var(--ink);background:#fff;color:var(--ink);display:grid;gap:12px}
.rq__st{display:inline-flex;align-items:center;gap:8px;padding:5px 14px;border-radius:999px;font-weight:600;font-size:15px;width:max-content}
.rq__st::before{content:"";width:9px;height:9px;border-radius:50%;background:currentColor}
.rq__st.pending{background:#f6e7c4;color:#6b4d12}.rq__st.pending::before{animation:blink 1.6s infinite}
.rq__st.confirmed{background:#d6ecd9;color:#1d4d2e}
.rq__st.declined{background:#ecdcd5;color:#6b2f20}
@keyframes blink{50%{opacity:.25}}
.rq h3{font-size:26px;font-weight:560;letter-spacing:-.02em}
.rq p{font-size:15px;color:var(--muted)}
.rq .s-btn{background:var(--ink);color:var(--paper)}
.rq.is-new{animation:stamp .7s var(--ease-out)}
@keyframes stamp{0%{transform:scale(1.08) rotate(-1.2deg);opacity:0}100%{transform:none;opacity:1}}
.bk__panel[data-form="on"] #sum-go{display:none}
@media (min-width:981px){
  .res__ph{width:80px;height:80px}
  .res__opt{padding:8px 16px 8px 8px}
  .sum{padding:18px 20px;gap:10px}
  .sum .sum__meta{display:none}
  .sum .sum__total{border-top:0;padding-top:0}
  .sum .sum__line+.sum__total{border-top:1px solid var(--sl);padding-top:12px}
}
/* ── pages ── */
.pg[hidden]{display:none!important}
.pg--sub{padding-top:var(--head-h);min-height:calc(100svh - var(--proto-h))}
.s-sec{padding-block:clamp(56px,calc(8*var(--vw)),112px)}
.s-sec--warm{background:var(--warm)}
.s-sec--ink{background:var(--ink);color:var(--paper)}
.s-sec--night{background:var(--night);color:var(--paper)}
.s-sub{padding-block:clamp(40px,calc(7*var(--vw)),96px) clamp(36px,calc(5*var(--vw)),64px);background:var(--ink);color:var(--paper);position:relative;overflow:hidden}
.s-sub .s-h2{font-size:clamp(44px,calc(8*var(--vw)),132px);font-weight:540;font-stretch:84%;letter-spacing:-.04em;line-height:.92;max-width:14ch}
.s-sub .s-h2{padding-bottom:.08em}
.s-sub .s-sub__lead{margin-top:clamp(20px,calc(2.6*var(--vw)),36px);font-size:clamp(18px,calc(1.6*var(--vw)),22px);max-width:46ch;opacity:.92}
.s-sub>.wrap{position:relative;z-index:1}
.s-sub .s-kick{color:#e0b878;margin-bottom:clamp(18px,calc(2.2*var(--vw)),28px)}
.s-sub .s-chip{background:rgba(var(--paper-rgb),.14);color:var(--paper)}
.s-sub__arch{position:absolute;right:max(16px,calc(5*var(--vw)));bottom:0;width:clamp(120px,calc(22*var(--vw)),320px);aspect-ratio:1/1.15;border-radius:999px 999px 0 0;border:1.5px solid rgba(var(--paper-rgb),.3);border-bottom:0;pointer-events:none}
.s-sub__arch::after{content:"";position:absolute;inset:14% 18% 0;border-radius:999px 999px 0 0;border:1.5px solid rgba(var(--paper-rgb),.2);border-bottom:0}
.s-sub__arch i{position:absolute;left:50%;bottom:0;width:36%;height:44%;transform:translateX(-50%);border-radius:999px 999px 0 0;background:var(--glow);opacity:.9;animation:lit 6s ease-in-out infinite}
@keyframes lit{50%{opacity:.62}}
html[data-motion="off"] .s-sub__arch i{animation:none}
@media (max-width:860px){.s-sub__arch{opacity:.55;width:calc(34*var(--vw))}}
/* page not found: the page fills the screen; "4 ◠ 4" drawn in the same thin line as the arches, with the cabin window lit */
.s-sub--err{--err-pad:clamp(48px,calc(6*var(--vw)),88px);min-height:calc(100svh - var(--proto-h) - var(--head-h) - var(--dock-b,0px));display:flex;align-items:flex-start;padding-block:clamp(40px,calc(6.5*var(--vw)),104px) var(--err-pad)}
.s-sub--err>.wrap{width:100%}
.s-err__acts{margin-top:clamp(28px,calc(3*var(--vw)),44px);display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px}
.s-err__links{display:flex;flex-wrap:wrap;gap:4px 22px}
.s-err__links a{display:inline-block;padding:10px 0 6px;font-weight:600;text-decoration:none;color:var(--paper);background:linear-gradient(currentColor,currentColor) left bottom/100% 1.5px no-repeat;opacity:.86;transition:opacity .3s}
.s-err__links a:hover{opacity:1}
.s-err__num{position:absolute;right:max(16px,calc(5*var(--vw)));bottom:0;display:flex;align-items:flex-end;gap:clamp(8px,calc(1.2*var(--vw)),20px);height:clamp(130px,min(calc(18*var(--vw)),32svh),300px);color:rgba(var(--paper-rgb),.34);pointer-events:none}
.s-err__num svg{height:94%;width:auto;overflow:visible;flex:none}
.s-err__arch{position:relative;flex:none;height:100%;aspect-ratio:1/1.15;border-radius:999px 999px 0 0;border:1.5px solid currentColor;border-bottom:0}
.s-err__arch::after{content:"";position:absolute;inset:14% 18% 0;border-radius:999px 999px 0 0;border:1.5px solid currentColor;border-bottom:0;opacity:.66}
.s-err__arch i{position:absolute;left:50%;bottom:0;width:36%;height:44%;transform:translateX(-50%);border-radius:999px 999px 0 0;background:var(--glow);opacity:.9;animation:lit 6s ease-in-out infinite}
html[data-motion="off"] .s-err__arch i{animation:none}
@media (max-width:860px){
  .s-sub--err{flex-direction:column;align-items:stretch}
  .s-sub--err>.wrap{margin-bottom:clamp(36px,calc(9*var(--vw)),56px)}
  .s-err__num{position:relative;right:auto;margin:auto 0 calc(-1*var(--err-pad)) max(16px,env(safe-area-inset-left,0px));height:clamp(120px,calc(34*var(--vw)),190px)}
}
.s-back{display:inline-flex;align-items:center;gap:8px;margin-bottom:22px;font-weight:600;text-decoration:none;font-size:15px}
.s-back:hover{text-decoration:underline}

/* experience teaser */
.s-exp__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(28px,calc(6*var(--vw)),96px);align-items:start}
.s-exp__big{font-size:clamp(40px,calc(6.4*var(--vw)),104px);font-weight:540;font-stretch:84%;letter-spacing:-.04em;line-height:.94;margin:0}
.s-exp__big em{font-style:normal;color:var(--tan-t)}
.s-exp__lead{margin-top:clamp(26px,calc(3*var(--vw)),44px);font-size:19px;max-width:40ch;color:var(--muted)}
.s-exp__list{list-style:none;margin:0;padding:0;display:grid;gap:0}
.s-exp__list li{border-top:1.5px solid var(--ink);padding:22px 0 24px;display:grid;gap:10px;align-content:start}
.s-exp__list .s-chip{justify-self:start;background:color-mix(in srgb,var(--tan) 28%,transparent);color:var(--tan-t)}
.s-exp__list h3{font-size:clamp(24px,calc(2.4*var(--vw)),34px);font-weight:540;font-stretch:90%;letter-spacing:-.022em;line-height:1.06}
.s-exp__list p{font-size:17px;color:var(--muted);max-width:42ch}
.s-exp__cta{display:flex;flex-wrap:wrap;gap:14px 22px;align-items:center;margin-top:clamp(22px,calc(3*var(--vw)),36px)}
@media (max-width:860px){.s-exp__grid{grid-template-columns:1fr}}
.s-exp__grid .s-exp__lead{margin-top:clamp(22px,calc(2.6*var(--vw)),40px)}
@media (min-width:861px) and (min-height:620px){.s-exp__grid>div:first-child{position:sticky;top:calc(var(--proto-h,0px) + 96px)}}

/* location teaser + map */
.s-loc__grid{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(28px,calc(5*var(--vw)),80px);align-items:center}
.s-loc__text{display:grid;gap:18px;justify-items:start}
.s-loc__p{font-size:18px;max-width:42ch}
.mp-readwrap{display:grid;gap:10px;margin-top:6px}
.mp-readwrap .s-kick{margin:0}
.mp-read{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.mp-read a{display:inline-flex;align-items:center;gap:9px;padding:8px 15px 8px 10px;min-height:44px;border-radius:999px;border:1.5px solid color-mix(in srgb,var(--ink) 28%,transparent);text-decoration:none;font-weight:600;font-size:15px;line-height:1.15;transition:background .3s,color .3s,border-color .3s}
.mp-read a svg{width:24px;height:24px;flex:none;padding:3px;border-radius:50%;background:color-mix(in srgb,var(--tan) 24%,transparent);color:var(--ink);transition:background .3s,color .3s}
.mp-read a small{font-weight:500;font-size:13px;color:var(--muted);margin-left:2px;transition:color .3s}
.mp-read a:hover,.mp-read a:focus-visible{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.mp-read a:hover svg,.mp-read a:focus-visible svg{background:var(--glow);color:var(--ink)}
.mp-read a:hover small,.mp-read a:focus-visible small{color:inherit;opacity:.8}
.s-map{position:relative;width:100%;aspect-ratio:1.1/1;border-radius:28px;overflow:hidden;background:var(--map);border:1px solid color-mix(in srgb,var(--ink) 16%,transparent);isolation:isolate;--halo:rgba(var(--paper-rgb),.96)}
.s-map--page{aspect-ratio:16/9;min-height:460px;max-height:min(82svh,820px)}
.s-map__src{font-size:13px;color:var(--muted);margin-top:12px;max-width:70ch;line-height:1.45}
.mp-stage{position:absolute;inset:0;overflow:hidden}
.mp-svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.mp-svg path{vector-effect:non-scaling-stroke}
.mp-land{fill:#ddd5ba;fill-rule:evenodd}
.mp-cb{fill:none;stroke:#bdb292;stroke-width:.8px}
.mp-co{fill:none;stroke:#7d775f;stroke-width:1.3px;stroke-linejoin:round}
.mp-n path{fill-rule:evenodd}
.mp-mb{fill:none;stroke:var(--ink);stroke-opacity:.26;stroke-width:.8px;stroke-linejoin:round}
.mp-ob{fill:none;stroke:#7d775f;stroke-width:1.2px;stroke-linejoin:round}
.mp-p{fill:#cfe0d2;fill-rule:evenodd}
.mp-p.is-cod{fill:#f4cb88}
.mp-pb{fill:none;stroke:var(--paper);stroke-width:1.4px;stroke-linejoin:round}
.mp-hb{fill:none;stroke:#2b5439;stroke-width:2px;stroke-linejoin:round}
.mp-tam{fill:none;stroke:#5c88a6;stroke-width:3.2px;stroke-linecap:round;stroke-linejoin:round}
.mp-lbls{position:absolute;inset:0;pointer-events:none}
.mp-l{position:absolute;left:0;top:0;width:0;height:0;opacity:0;transition:opacity .55s;font-family:var(--f-body);color:var(--ink);line-height:1.15;text-shadow:0 0 3px var(--halo),0 0 3px var(--halo),0 0 7px var(--halo)}
.mp-l.on{opacity:1}
.mp-k>span,.mp-mun>span,.mp-cel>span,.mp-par>span,.mp-riv>span{position:absolute;left:0;top:0;transform:translate(-50%,-50%);white-space:nowrap;text-align:center}
.mp-k>span{font:600 15px var(--f-display);font-stretch:90%;letter-spacing:.34em;text-transform:uppercase;color:#6f6a55;margin-right:-.34em}
.mp-k--s>span{font-size:12px;letter-spacing:.22em;font-weight:500;color:#7c8a8f;white-space:normal}
.mp-dot{position:absolute;left:-4.5px;top:-4.5px;width:9px;height:9px;border-radius:50%;background:var(--ink);box-shadow:0 0 0 2px var(--halo)}
.mp-t{position:absolute;top:-10px;white-space:nowrap;font-size:13px;font-weight:600;line-height:1.1;display:flex;flex-direction:column}
.mp-t[data-s="r"]{left:11px}
.mp-t[data-s="l"]{right:11px;text-align:right;align-items:flex-end}
.mp-t small{font-size:11px;font-weight:500;color:#4d5b50;margin-top:1px}
.mp-mun>span{font-size:12px;font-weight:500;color:#46554a}
.mp-cel>span{font:620 clamp(18px,calc(1.9*var(--vw)),24px)/1 var(--f-display);font-stretch:86%;letter-spacing:-.02em;color:#1d4630}
.mp-par>span{font-size:11.5px;font-weight:550;line-height:1.18;color:#244033}
.mp-cel--s>span{transform:translate(0,-50%);text-align:left;font-size:15px;font-weight:650}
.mp-riv>span{transform:translate(-100%,-50%);font-size:12.5px;font-style:italic;font-weight:550;color:#3b6786}
.mp-pl{pointer-events:auto;text-decoration:none;color:var(--ink);text-shadow:none}
.mp-lead{display:none;position:absolute;left:0;top:-.75px;height:1.5px;transform-origin:0 50%;background:rgba(var(--ink-rgb),.55)}
.mp-pl::before{content:"";position:absolute;left:-22px;top:-22px;width:44px;height:44px;border-radius:50%}
.mp-pl .mp-dot{background:var(--tan);width:12px;height:12px;left:-6px;top:-6px;box-shadow:0 0 0 2px var(--paper),0 0 0 3.5px rgba(var(--ink-rgb),.55);transition:transform .4s var(--ease-out)}
.mp-pl .mp-t{background:var(--paper);padding:5px 11px 6px;border-radius:12px;top:-19px;border:1px solid rgba(var(--ink-rgb),.18);box-shadow:0 8px 18px -10px rgba(var(--shade-rgb),.6);transition:background .3s,color .3s,transform .45s var(--ease-out)}
.mp-pl .mp-t small{color:var(--muted)}
.mp-pl:hover .mp-t,.mp-pl:focus-visible .mp-t{background:var(--ink);color:var(--paper);transform:translateY(-2px)}
.mp-pl:hover .mp-t small,.mp-pl:focus-visible .mp-t small{color:inherit;opacity:.8}
.mp-pl:hover .mp-dot,.mp-pl:focus-visible .mp-dot{transform:scale(1.35)}
.s-map[data-hot="castelo"] .mp-pl[data-k="castelo"] .mp-t,.s-map[data-hot="romanico"] .mp-pl[data-k="veade"] .mp-t,.s-map[data-hot="romanico"] .mp-pl[data-k="fervenca"] .mp-t,.s-map[data-hot="moinhos"] .mp-pl[data-k="freixieiro"] .mp-t{background:var(--ink);color:var(--paper);transform:translateY(-2px)}
.s-map[data-hot="castelo"] .mp-pl[data-k="castelo"] .mp-t small,.s-map[data-hot="romanico"] .mp-pl .mp-t small,.s-map[data-hot="moinhos"] .mp-pl[data-k="freixieiro"] .mp-t small{color:inherit;opacity:.8}
.s-map[data-hot="castelo"] .mp-pl[data-k="castelo"] .mp-dot,.s-map[data-hot="romanico"] .mp-pl[data-k="veade"] .mp-dot,.s-map[data-hot="romanico"] .mp-pl[data-k="fervenca"] .mp-dot,.s-map[data-hot="moinhos"] .mp-pl[data-k="freixieiro"] .mp-dot{transform:scale(1.35)}
.mp-pinsvg{position:absolute;left:-17px;top:-45px;max-width:none;transform-origin:17px 45px;transform:scale(var(--ps,1));filter:drop-shadow(0 6px 6px rgba(var(--shade-rgb),.35))}
.mp-ping{position:absolute;left:-15px;top:-15px;width:30px;height:30px;border-radius:50%;border:2px solid #c07a2e;opacity:0;animation:ping 3.4s var(--ease-out) infinite}
.mp-pill{position:absolute;left:0;bottom:50px;transform:translateX(-50%);background:var(--paper);color:var(--ink);font:650 14px var(--f-body);padding:6px 14px;border-radius:999px;white-space:nowrap;border:1px solid rgba(var(--ink-rgb),.2);box-shadow:0 8px 18px -10px rgba(var(--shade-rgb),.6);text-shadow:none;transition:opacity .4s}
.mp-pin.pr .mp-pill{left:26px;bottom:16px;transform:none}
.mp-pin.no-pill .mp-pill{opacity:0}
@keyframes ping{0%{transform:scale(.3);opacity:.9}100%{transform:scale(2.6);opacity:0}}
.mp-cap{position:absolute;left:14px;top:14px;max-width:min(64%,320px);display:grid;gap:3px;padding:11px 15px 12px;border-radius:18px;background:rgba(var(--paper-rgb),.9);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 10px 24px -16px rgba(var(--shade-rgb),.55);pointer-events:none}
.mp-cap b{font:600 clamp(20px,calc(2*var(--vw)),27px)/1.04 var(--f-display);font-stretch:88%;letter-spacing:-.02em}
.mp-cap span{font-size:13.5px;color:var(--muted);line-height:1.3}
.mp-cap.swap{animation:capin .6s var(--ease-out)}
@keyframes capin{from{opacity:0;transform:translateY(6px)}}
.mp-chips{position:absolute;left:14px;bottom:14px;display:flex;flex-wrap:wrap;gap:6px;max-width:calc(100% - 120px)}
.mp-chips button{border:0;border-radius:999px;padding:8px 14px;min-height:40px;font-size:14px;font-weight:600;background:rgba(var(--paper-rgb),.94);color:var(--ink);box-shadow:0 6px 16px -10px rgba(var(--shade-rgb),.6);transition:background .25s,color .25s,transform .35s var(--ease-out)}
.mp-chips button:hover{background:#fff;transform:translateY(-1px)}
.mp-chips button[aria-pressed="true"]{background:var(--ink);color:var(--paper)}
.mp-north{position:absolute;right:14px;top:14px;display:grid;justify-items:center;gap:1px;font-size:11px;font-weight:700;color:var(--ink);padding:6px 8px 4px;border-radius:999px;background:rgba(var(--paper-rgb),.8)}
.mp-scale{position:absolute;right:14px;bottom:18px;display:grid;justify-items:end;gap:3px;font-size:12px;font-weight:600;color:var(--ink);text-shadow:0 0 3px var(--halo),0 0 3px var(--halo)}
.mp-scale i{display:block;height:7px;border:1.5px solid var(--ink);border-top:0;min-width:10px}
html[data-motion="off"] .mp-ping{animation:none;opacity:0}
html[data-motion="off"] .mp-l,html[data-motion="off"] .mp-cap.swap{transition:none;animation:none}
@media (max-width:860px){.s-loc__grid{grid-template-columns:1fr}.s-map{aspect-ratio:4/5}.s-map--page{aspect-ratio:4/5;min-height:0;max-height:none}}
/* small maps: parish names step aside, pills shrink to the name */
.s-map.is-compact .mp-pl .mp-t small{display:none}
.s-map.is-compact .mp-pl .mp-t{padding:4px 9px 5px;border-radius:10px;font-size:11.5px}
.s-map.is-compact:not(.is-near) .mp-riv{opacity:0!important}
@media (max-width:560px){.mp-scale{display:none}.mp-chips{max-width:calc(100% - 28px);gap:5px}.mp-chips button{padding:7px 11px;min-height:38px;font-size:13px}.mp-cap{padding:9px 12px 10px}.mp-par>span{font-size:10.5px}.mp-t{font-size:12px}.mp-cap span{font-size:12.5px}}

/* articles */
.s-arts__head{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;margin-bottom:clamp(24px,calc(3.6*var(--vw)),48px)}
.s-note{display:inline-flex;gap:8px;align-items:center;padding:7px 14px;border-radius:999px;font-size:14px;font-weight:600;background:color-mix(in srgb,var(--tan) 22%,transparent);color:var(--tan-t);margin-bottom:22px}


/* experience page pillars */
.s-pill{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,calc(5*var(--vw)),80px);align-items:center;padding-block:clamp(28px,calc(4*var(--vw)),56px);border-top:1.5px solid var(--ink)}
.s-pill:nth-child(even) .s-pill__vis{order:2}
.s-pill__vis{aspect-ratio:5/4;border-radius:28px;overflow:hidden;position:relative;display:grid;place-items:center}
.s-pill__vis svg{width:100%;height:100%;display:block}
.s-pill h3{font-size:clamp(30px,calc(4*var(--vw)),60px);font-weight:540;font-stretch:86%;letter-spacing:-.034em;line-height:.98;margin:12px 0 14px}
.s-pill p{font-size:18px;max-width:44ch;color:var(--muted)}
.s-pill .s-chip{background:color-mix(in srgb,var(--tan) 28%,transparent);color:var(--tan-t)}
@media (max-width:860px){.s-pill{grid-template-columns:1fr}.s-pill:nth-child(even) .s-pill__vis{order:0}}
.w1,.w2{animation:wave 7s ease-in-out infinite}.w2{animation-delay:-3s;animation-duration:9s}
@keyframes wave{50%{transform:translateX(-26px)}}
.stm{animation:steam 5s ease-in-out infinite;transform-box:fill-box;opacity:.6}.stm:nth-of-type(2){animation-delay:-1.7s}.stm:nth-of-type(3){animation-delay:-3.2s}
@keyframes steam{0%{transform:translateY(8px);opacity:0}40%{opacity:.7}100%{transform:translateY(-26px);opacity:0}}
html[data-motion="off"] .w1,html[data-motion="off"] .w2,html[data-motion="off"] .stm{animation:none}

/* lugar page */
.s-getting{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,calc(2.4*var(--vw)),32px);margin-top:28px}
.s-getting div{border-top:1.5px solid var(--ink);padding-top:16px;display:grid;gap:8px}
.s-getting h3{font-size:22px;font-weight:560;letter-spacing:-.015em}
.s-getting p{font-size:16px;color:var(--muted)}
@media (max-width:760px){.s-getting{grid-template-columns:1fr}}

/* reviews */
.s-rev{overflow:hidden}
.s-rev__head{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;margin-bottom:clamp(24px,calc(3.4*var(--vw)),44px)}
.s-rev__rows{display:grid;gap:16px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.s-rev__row{display:flex;width:max-content;gap:16px;animation:rev 64s linear infinite}
.s-rev__row:nth-child(2){animation-direction:reverse;animation-duration:78s}
.s-rev__rows:hover .s-rev__row{animation-play-state:paused}
@keyframes rev{to{transform:translateX(calc(-50% - 8px))}}
.s-rv{flex:none;width:clamp(260px,calc(26*var(--vw)),380px);padding:22px 24px;border-radius:26px 26px 26px 26px;background:#fff;border:1px solid var(--line);display:grid;gap:12px;align-content:start;white-space:normal}
.s-rv:nth-child(3n+1){border-radius:90px 90px 26px 26px;padding-top:34px}
.s-rv .st{letter-spacing:3px;color:var(--tan);font-size:17px}
.s-rv p{font-size:17px;line-height:1.45}
.s-rv footer{display:flex;justify-content:space-between;gap:10px;font-size:14px;color:var(--muted)}
.s-rv .s-chip{font-size:12px;padding:2px 9px}
html[data-motion="off"] .s-rev__rows{-webkit-mask-image:none;mask-image:none;overflow-x:auto}
html[data-motion="off"] .s-rev__row{animation:none}
html[data-motion="off"] .s-rev__row[aria-hidden="true"]{display:none}
.s-rev__form{margin-top:28px;max-width:560px;display:grid;gap:12px}
.s-stars{display:flex;gap:4px}
.s-stars button{width:44px;height:44px;border:0;background:none;font-size:28px;color:color-mix(in srgb,var(--ink) 30%,transparent);padding:0;transition:color .2s,transform .3s var(--ease-out)}
.s-stars button[aria-pressed="true"]{color:var(--tan)}
.s-stars button:hover{transform:scale(1.15)}

/* closing call to action */
.s-end{background:var(--ink);color:var(--paper);padding-block:clamp(64px,calc(10*var(--vw)),150px);position:relative;overflow:hidden;isolation:isolate}
.s-end__in{display:grid;gap:clamp(20px,calc(3*var(--vw)),36px);justify-items:start;position:relative;z-index:1}
.s-end h2{font-size:clamp(46px,calc(8.4*var(--vw)),136px);font-weight:540;font-stretch:84%;letter-spacing:-.042em;line-height:.92;max-width:9.6ch;padding-bottom:.06em}
.s-end p{font-size:clamp(18px,calc(1.6*var(--vw)),22px);max-width:40ch;opacity:.9}
.s-end .s-btn{background:var(--paper);color:var(--ink);padding:18px 34px;font-size:18px}

/* footer */
.s-foot{background:var(--night);color:var(--paper);padding-block:clamp(48px,calc(7*var(--vw)),96px) calc(60px + env(safe-area-inset-bottom,0px))}
.s-foot .wrap{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(28px,calc(5*var(--vw)),64px);align-items:end}
.s-foot .big{font-family:var(--f-display);font-size:clamp(46px,calc(8.4*var(--vw)),136px);font-weight:560;font-stretch:84%;letter-spacing:-.04em;line-height:.9}
.s-foot nav{display:flex;flex-wrap:wrap;gap:6px 22px;margin-bottom:22px}
.s-foot nav a{font-weight:600;text-decoration:none;padding:8px 0}
.s-foot nav a:hover{text-decoration:underline}
.s-foot small{display:block;font-size:14px;opacity:.78;line-height:1.5}
.s-foot__studio{display:inline-flex;align-items:center;min-height:28px;margin-top:14px;padding:3px 10px;border:1px solid color-mix(in srgb,currentColor 40%,transparent);border-radius:999px;color:color-mix(in srgb,var(--paper) 82%,var(--night));font-size:12px;line-height:1.2;text-decoration:none}
.s-foot__studio:hover,.s-foot__studio:focus-visible{color:var(--paper);border-color:currentColor}
@media (max-width:860px){.s-foot .wrap{grid-template-columns:1fr}}
/* ── map: a short look at a place before the full article ── */
@media (max-width:860px){#lugar-teaser .mp-readwrap{display:none}}
@media (max-width:640px){#pg-lugar .mp-readwrap{display:none}}
.pk{position:fixed;inset:0;z-index:66;pointer-events:none}
.pk__scrim{position:absolute;inset:0;background:rgba(var(--shade-rgb),.44);opacity:0;transition:opacity .35s;pointer-events:none}
.pk__card{position:absolute;left:0;right:0;bottom:0;max-height:min(86svh,720px);display:flex;flex-direction:column;overflow:auto;overscroll-behavior:contain;background:var(--paper);color:var(--ink);border-radius:24px 24px 0 0;
  box-shadow:0 -24px 60px -30px rgba(10,20,15,.7);transform:translateY(105%);transition:transform .55s var(--ease-out);pointer-events:auto}
.pk.is-on .pk__scrim{opacity:1;pointer-events:auto}
.pk.is-on .pk__card{transform:none}
/* the close cross lives in a zero-height sticky bar: it stays in view when the card scrolls */
.pk__bar{position:sticky;top:0;height:0;flex:none;z-index:3}
/* the picture gives way first when the window is short, so the text never needs a scroll if it can be avoided */
.pk__img{position:relative;flex:0 1 auto;aspect-ratio:16/8;min-height:92px;overflow:hidden;background:var(--warm);border-radius:24px 24px 0 0}
.pk__img svg,.pk__img img{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover}
.pk__x{position:absolute;right:12px;top:12px;width:44px;height:44px;border-radius:50%;border:0;background:rgba(var(--paper-rgb),.95);color:var(--ink);font-size:26px;line-height:1;display:grid;place-items:center;padding:0;box-shadow:0 6px 16px -8px rgba(0,0,0,.5)}
.pk__body{flex:none;display:grid;gap:10px;padding:18px 20px calc(22px + env(safe-area-inset-bottom,0px))}
.s .pk__kick{font-size:14px;font-weight:600;color:var(--tan-t)}
.s .pk h3{font-size:clamp(26px,calc(7*var(--vw)),32px);font-weight:560;font-stretch:90%;letter-spacing:-.02em;line-height:1.04}
.s .pk__txt{font-size:16.5px;line-height:1.5}
.pk__facts{margin:2px 0 0;display:grid;gap:0}
.pk__facts div{display:grid;grid-template-columns:7.4em minmax(0,1fr);gap:10px;padding:9px 0;border-top:1px solid color-mix(in srgb,var(--ink) 14%,transparent);font-size:15px}
.pk__facts dt{color:var(--muted)}
.pk__facts dd{margin:0;font-weight:550}
.pk__go{justify-self:stretch;margin-top:6px}
@media (min-width:861px){
  .pk__scrim{display:none}
  /* wide screens: a roomier card beside the pin; its height follows the window (set in placeCard) */
  .pk__card{left:0;right:auto;bottom:auto;top:0;width:clamp(400px,31vw,500px);border-radius:22px;max-height:calc(100svh - 120px);
    transform:translateY(10px) scale(.98);opacity:0;transition:transform .45s var(--ease-out),opacity .3s;
    box-shadow:0 30px 70px -28px rgba(10,20,15,.65),0 0 0 1px color-mix(in srgb,var(--ink) 14%,transparent)}
  .pk.is-on .pk__card{transform:none;opacity:1}
  .pk__img{border-radius:22px 22px 0 0;aspect-ratio:16/7;min-height:84px}
  .pk__body{padding:22px 26px 26px;gap:12px}
  .s .pk h3{font-size:clamp(30px,calc(2.4*var(--vw)),38px)}
  .s .pk__txt{font-size:17px}
  .pk__facts div{font-size:15.5px;padding:10px 0}
}
@media (min-width:861px) and (max-height:760px){
  .pk__body{padding:18px 24px 20px;gap:9px}
  .s .pk__txt{font-size:16px;line-height:1.45}
  .pk__facts div{padding:7px 0}
}
html[data-motion="off"] .pk__card,html[data-motion="off"] .pk__scrim{transition:none}
.mp-pl.is-open .mp-t{background:var(--ink);color:var(--paper)}
.mp-pl.is-open .mp-t small{color:inherit;opacity:.8}
.mp-pl.is-open .mp-dot{transform:scale(1.35)}
/* ───────── Artigos e FAQ, article pages, Lugar picture cards ───────── */

/* illustrations: every scene fills its frame; the chip says they stand in for photographs */
.s-art__img,.s-feat__img,.s-nc__img,.s-av__win{position:relative;overflow:hidden;background:var(--warm);isolation:isolate}
.s-art__img svg,.s-feat__img svg,.s-nc__img svg,.s-av__win svg{position:absolute;inset:0;width:100%;height:100%;display:block;transition:transform 1.3s var(--ease-out)}
.s-art__img::after,.s-feat__img::after,.s-nc__img::after,.s-av__win::after{content:"Foto por chegar";position:absolute;left:12px;bottom:11px;z-index:2;font-size:12.5px;font-weight:600;line-height:1.3;padding:3px 10px;border-radius:999px;background:rgba(var(--paper-rgb),.88);color:var(--ink)}
:lang(en) :is(.s-art__img,.s-feat__img,.s-nc__img,.s-av__win)::after{content:"Photo to come"}
a:hover>.s-art__img svg,a:hover>.s-feat__img svg,a:hover>.s-nc__img svg{transform:scale(1.045)}
html[data-motion="off"] .s-art__img svg,html[data-motion="off"] .s-feat__img svg,html[data-motion="off"] .s-nc__img svg{transition:none}
html[data-motion="off"] a:hover>.s-art__img svg,html[data-motion="off"] a:hover>.s-feat__img svg,html[data-motion="off"] a:hover>.s-nc__img svg{transform:none}

/* header of the Artigos e FAQ page */
.s-sub__jump{margin-top:clamp(22px,calc(2.6*var(--vw)),34px)}
.s-sub__jump a{display:inline-flex;align-items:center;min-height:46px;padding:0 22px;border-radius:999px;box-shadow:inset 0 0 0 1.5px rgba(var(--paper-rgb),.55);color:var(--paper);font-weight:600;text-decoration:none;transition:background .3s,color .3s}
.s-sub__jump a:hover{background:var(--paper);color:var(--ink)}

/* filter pills */
.s-chips{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:clamp(24px,calc(3.2*var(--vw)),40px)}
.s-chips[hidden]{display:none}
.s-chips button{min-height:44px;padding:0 20px;border-radius:999px;border:1.5px solid var(--ink);background:transparent;color:var(--ink);font:600 15.5px var(--f-body);cursor:pointer;transition:background .25s,color .25s}
.s-chips button:hover{background:color-mix(in srgb,var(--ink) 9%,transparent)}
.s-chips button[aria-pressed="true"]{background:var(--ink);color:var(--paper)}

/* list: featured article + grid of cards */
.s-feat{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(22px,calc(4*var(--vw)),64px);align-items:center;text-decoration:none;color:inherit;margin-bottom:clamp(30px,calc(4*var(--vw)),56px)}
.s-feat__img{aspect-ratio:16/10;border-radius:28px}
.s-feat__t{display:grid;gap:12px;align-content:center;justify-items:start}
.s-feat small,.s-art small{font-size:14px;font-weight:600;color:var(--tan-t)}
.s-feat h3{font-size:clamp(32px,calc(4*var(--vw)),60px);font-weight:540;font-stretch:86%;letter-spacing:-.034em;line-height:.98}
.s-feat p{font-size:clamp(17px,calc(1.4*var(--vw)),19.5px);line-height:1.55;color:var(--muted);max-width:44ch}
.s-feat .s-link{margin-top:6px}
.s-feat:hover .s-link{gap:14px}
@media (max-width:860px){.s-feat{grid-template-columns:1fr}.s-feat__img{aspect-ratio:16/10}}
.s-arts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(26px,calc(3*var(--vw)),44px) clamp(16px,calc(2.2*var(--vw)),32px)}
.s-art{display:grid;gap:16px;align-content:start;text-decoration:none;color:inherit;min-width:0}
.s-art__img{aspect-ratio:4/3;border-radius:22px;transition:transform .6s var(--ease-out)}
.s-art:hover .s-art__img{transform:translateY(-4px)}
html[data-motion="off"] .s-art:hover .s-art__img{transform:none}
.s-art__t{display:grid;gap:7px;align-content:start}
.s-art h3{font-size:clamp(22px,calc(2*var(--vw)),29px);font-weight:560;font-stretch:92%;letter-spacing:-.022em;line-height:1.08}
.s-art p{font-size:16px;line-height:1.5;color:var(--muted);max-width:42ch}
.s-art:focus-visible,.s-feat:focus-visible,.s-nc:focus-visible{outline:3px solid var(--tan);outline-offset:6px;border-radius:26px}
@media (max-width:980px){.s-arts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.s-arts{grid-template-columns:minmax(0,1fr)}.s-art__img{aspect-ratio:16/10}}
/* the list page never ends on a lone card: one left over spans the row, two left over share it */
@media (min-width:981px){
  .s-arts--page{grid-template-columns:repeat(6,minmax(0,1fr))}
  .s-arts--page>*{grid-column:span 2}
  .s-arts--page>:nth-last-child(2):nth-child(3n+1),.s-arts--page>:last-child:nth-child(3n+2){grid-column:span 3}
  .s-arts--page>:nth-last-child(2):nth-child(3n+1) .s-art__img,.s-arts--page>:last-child:nth-child(3n+2) .s-art__img{aspect-ratio:16/10}
  .s-arts--page>:last-child:nth-child(3n+1){grid-column:1/-1;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center;gap:clamp(20px,calc(3.4*var(--vw)),56px)}
  .s-arts--page>:last-child:nth-child(3n+1) .s-art__img{aspect-ratio:16/10}
  .s-arts--page>:last-child:nth-child(3n+1) .s-art__t{gap:12px}
  .s-arts--page>:last-child:nth-child(3n+1) h3{font-size:clamp(28px,calc(3.4*var(--vw)),48px);line-height:1}
  .s-arts--page>:last-child:nth-child(3n+1) p{font-size:18px;max-width:46ch}
}
@media (min-width:641px) and (max-width:980px){
  .s-arts--page>:last-child:nth-child(2n+1){grid-column:1/-1;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center;gap:clamp(20px,calc(3.4*var(--vw)),40px)}
  .s-arts--page>:last-child:nth-child(2n+1) .s-art__img{aspect-ratio:16/10}
  .s-arts--page>:last-child:nth-child(2n+1) h3{font-size:clamp(26px,calc(3.4*var(--vw)),36px);line-height:1.04}
}

/* FAQ, beside the articles */
.s-faqsec__grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.35fr);gap:clamp(28px,calc(6*var(--vw)),100px);align-items:start}
.s-faqsec__intro{position:sticky;top:calc(var(--proto-h) + var(--head-h) + 28px);display:grid;gap:18px;justify-items:start}
.s-faqsec__intro .s-kick{margin:0}
.s-faqsec__intro h2{font-size:clamp(34px,calc(4.4*var(--vw)),68px);font-weight:540;font-stretch:84%;letter-spacing:-.038em;line-height:.95}
.s-faqsec__intro p{font-size:18px;line-height:1.55;color:var(--muted);max-width:32ch}
.s-faqsec__intro .s-btn{margin-top:4px}
@media (max-width:900px){.s-faqsec__grid{grid-template-columns:minmax(0,1fr)}.s-faqsec__intro{position:static}}
.s-faq{display:grid;gap:0;min-width:0}
.s-faq__i{border-top:1.5px solid var(--ink)}
.s-faq__i:last-child{border-bottom:1.5px solid var(--ink)}
.s-faq__q{display:flex;justify-content:space-between;align-items:center;gap:16px;width:100%;padding:20px 0;border:0;background:none;color:inherit;text-align:left;cursor:pointer;font-family:var(--f-display);font-size:clamp(20px,calc(2*var(--vw)),27px);font-weight:560;font-stretch:92%;letter-spacing:-.02em;line-height:1.15;min-height:56px}
.s-faq__q i{flex:none;position:relative;width:30px;height:30px;border-radius:50%;box-shadow:inset 0 0 0 1.5px currentColor;transition:background .3s,color .3s}
.s-faq__q i::before,.s-faq__q i::after{content:"";position:absolute;left:8px;right:8px;top:14px;height:2px;background:currentColor;border-radius:2px;transition:transform .5s var(--ease-out)}
.s-faq__q i::after{transform:rotate(90deg)}
.s-faq__q[aria-expanded="true"] i{background:var(--ink);color:var(--paper)}
.s-faq__q[aria-expanded="true"] i::after{transform:rotate(0)}
.s-faq__a{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .55s var(--ease-out),visibility 0s .55s}
.s-faq__a>div{overflow:hidden;min-height:0}
.s-faq__a p{font-size:17.5px;line-height:1.55;color:var(--muted);max-width:58ch;padding:0 0 18px}
.s-faq__a .s-link{margin:0 0 24px;font-size:15.5px}
.s-faq__q[aria-expanded="true"]+.s-faq__a{grid-template-rows:1fr;visibility:visible;transition:grid-template-rows .55s var(--ease-out),visibility 0s}
html[data-motion="off"] .s-faq__a,html[data-motion="off"] .s-faq__q[aria-expanded="true"]+.s-faq__a,html[data-motion="off"] .s-faq__q i,html[data-motion="off"] .s-faq__q i::after{transition:none}

/* an article */
.s-av{display:block}
.s-av__hero{background:var(--ink);color:var(--paper);padding-top:clamp(26px,calc(4*var(--vw)),56px);overflow:hidden}
.s-av__hgrid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(28px,calc(5*var(--vw)),88px);align-items:end}
.s-av__title{padding-bottom:clamp(34px,calc(5*var(--vw)),72px);display:grid;justify-items:start;align-content:end}
.s-av__title .s-back{color:var(--paper);opacity:.9;margin-bottom:clamp(24px,calc(3.4*var(--vw)),48px)}
.s-av__title .s-kick{color:#e0b878;margin-bottom:clamp(14px,calc(1.8*var(--vw)),22px)}
.s-av__title h1{font-size:clamp(40px,calc(6.2*var(--vw)),98px);font-weight:540;font-stretch:84%;letter-spacing:-.04em;line-height:.94;padding-bottom:.06em}
.s-av__title .lead{margin-top:clamp(18px,calc(2*var(--vw)),28px);font-size:clamp(18px,calc(1.6*var(--vw)),22px);line-height:1.5;max-width:44ch;opacity:.92}
.s-av__title .s-note{margin:clamp(20px,calc(2.4*var(--vw)),30px) 0 0;background:rgba(240,168,74,.16);color:#f3cd90}
.s-av__fig{position:relative;padding:14px 14px 0;align-self:end;width:100%;max-width:640px;justify-self:end}
.s-av__fig::before{content:"";position:absolute;inset:0;border:1.5px solid rgba(var(--paper-rgb),.3);border-bottom:0;border-radius:999px 999px 0 0;pointer-events:none}
.s-av__win{aspect-ratio:1.3/1;border-radius:999px 999px 0 0;background:var(--night)}
.s-av__win::after{left:50%;transform:translateX(-50%);bottom:12px;white-space:nowrap}
@media (max-width:860px){
  .s-av__hgrid{grid-template-columns:minmax(0,1fr);gap:0}
  .s-av__title{padding-bottom:clamp(28px,calc(6*var(--vw)),44px)}
  .s-av__fig{justify-self:center;max-width:520px}
}
.s-av__cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,380px);gap:clamp(32px,calc(6*var(--vw)),104px);align-items:start;padding-block:clamp(40px,calc(6*var(--vw)),88px) clamp(48px,calc(7*var(--vw)),96px)}
.s-av__main{min-width:0;max-width:820px}
@media (max-width:960px){.s-av__cols{grid-template-columns:minmax(0,1fr)}.s-av__main{max-width:none}}
.s-av__sec{margin:0 0 clamp(34px,calc(4.4*var(--vw)),60px)}
.s-av__sec h2{font-size:clamp(28px,calc(3.1*var(--vw)),43px);font-weight:560;font-stretch:88%;letter-spacing:-.03em;line-height:1.02;margin:0 0 clamp(18px,calc(2*var(--vw)),26px);padding-bottom:14px;border-bottom:1.5px solid var(--ink)}
.s-av__sec p{font-size:clamp(17.5px,calc(1.35*var(--vw)),19.5px);line-height:1.68;margin:0 0 1.1em;max-width:64ch}
.s-av__sec p strong{font-weight:650}
.s-av__big{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(16px,calc(2.6*var(--vw)),36px);align-items:center;padding:clamp(20px,calc(2.6*var(--vw)),32px) clamp(22px,calc(3*var(--vw)),40px);margin:0 0 clamp(20px,calc(2.4*var(--vw)),30px);border-radius:26px;background:var(--ink);color:var(--paper)}
.s-av__big b{font-family:var(--f-display);font-size:clamp(46px,calc(6*var(--vw)),88px);font-weight:540;font-stretch:80%;letter-spacing:-.04em;line-height:.9;color:var(--glow);font-variant-numeric:tabular-nums;white-space:nowrap}
.s-av__big span{font-size:clamp(16px,calc(1.3*var(--vw)),18.5px);line-height:1.45;max-width:42ch}
@media (max-width:520px){.s-av__big{grid-template-columns:minmax(0,1fr);gap:10px}}
.s-av__steps{list-style:none;margin:0 0 clamp(20px,calc(2.4*var(--vw)),30px);padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:14px;counter-reset:st}
.s-av__steps li{counter-increment:st;padding:18px 18px 20px;border-radius:20px;background:var(--warm);font-size:16.5px;line-height:1.45}
.s-av__steps li::before{content:counter(st);display:grid;place-items:center;width:34px;height:34px;margin-bottom:12px;border-radius:50%;background:var(--ink);color:var(--paper);font:600 16px var(--f-display)}
/* more than four steps: one per row, number on the left, so the last one never sits alone */
.s-av__steps--rows{grid-template-columns:minmax(0,1fr);gap:10px}
.s-av__steps--rows li{display:grid;grid-template-columns:34px minmax(0,1fr);gap:4px 16px;align-items:center;padding:14px 20px 14px 16px;border-radius:18px;font-size:17px}
.s-av__steps--rows li::before{margin:0}
.s-av__tl{list-style:none;margin:0 0 clamp(20px,calc(2.4*var(--vw)),30px);padding:0;display:grid}
.s-av__tl li{display:grid;grid-template-columns:minmax(96px,150px) minmax(0,1fr);gap:20px;padding:16px 0;border-top:1px solid color-mix(in srgb,var(--ink) 22%,transparent)}
.s-av__tl li:last-child{border-bottom:1px solid color-mix(in srgb,var(--ink) 22%,transparent)}
.s-av__tl b{font-family:var(--f-display);font-size:clamp(19px,calc(1.8*var(--vw)),24px);font-weight:600;font-stretch:90%;letter-spacing:-.015em;line-height:1.15;color:var(--tan-t)}
.s-av__tl span{font-size:17.5px;line-height:1.55}
.s-av__tl li.is-here{padding:18px 20px;border-radius:18px;border-top-color:transparent;background:color-mix(in srgb,var(--glow) 20%,var(--warm));box-shadow:inset 4px 0 0 var(--glow)}
.s-av__tl li.is-here+li{border-top-color:transparent}
@media (max-width:520px){.s-av__tl li{grid-template-columns:minmax(0,1fr);gap:4px}}
.s-av__tbw{overflow-x:auto;margin:0 0 clamp(20px,calc(2.4*var(--vw)),30px);border-radius:18px;border:1px solid var(--line)}
.s-av__tb{width:100%;border-collapse:collapse;font-size:16px;line-height:1.45}
.s-av__tb th,.s-av__tb td{padding:14px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.s-av__tb thead th{background:var(--ink);color:var(--paper);font-size:14.5px;font-weight:600;border-bottom:0}
.s-av__tb tbody th{font-weight:650}
.s-av__tb tbody tr:nth-child(even){background:color-mix(in srgb,var(--warm) 55%,transparent)}
.s-av__tb tbody tr:last-child>*{border-bottom:0}
@media (max-width:700px){
  .s-av__tb thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .s-av__tb,.s-av__tb tbody,.s-av__tb tr,.s-av__tb th,.s-av__tb td{display:block}
  .s-av__tb tbody tr{padding:10px 0;border-bottom:1px solid var(--line)}
  .s-av__tb tbody tr:last-child{border-bottom:0}
  .s-av__tb tbody th{padding:6px 16px 4px;border:0;font-size:17px}
  .s-av__tb td{display:grid;grid-template-columns:minmax(84px,34%) minmax(0,1fr);gap:12px;padding:5px 16px;border:0}
  .s-av__tb td::before{content:attr(data-l);font-size:13.5px;font-weight:650;color:var(--tan-t)}
}
.s-av__cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 clamp(20px,calc(2.4*var(--vw)),30px)}
.s-av__card{padding:20px 20px 22px;border-radius:22px;background:var(--warm);display:grid;gap:8px;align-content:start}
.s-av__card small{font-size:13.5px;font-weight:650;color:var(--tan-t)}
.s-av__card h3{font-size:clamp(20px,calc(1.8*var(--vw)),24px);font-weight:580;font-stretch:92%;letter-spacing:-.02em;line-height:1.1}
.s-av__card p{font-size:16px;line-height:1.5;color:var(--muted);margin:0;max-width:none}
@media (max-width:760px){.s-av__cards{grid-template-columns:minmax(0,1fr)}}
.s-av__lists{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,calc(2.4*var(--vw)),32px);margin:0 0 clamp(20px,calc(2.4*var(--vw)),30px)}
.s-av__lists h3{font-size:19px;font-weight:600;padding-top:12px;margin-bottom:10px;border-top:1.5px solid var(--ink)}
.s-av__lists ul,.s-av__tips,.s-av__src ul,.s-av__dist{list-style:none;margin:0;padding:0}
.s-av__lists ul{display:grid;gap:8px}
.s-av__lists li,.s-av__tips li{position:relative;padding-left:19px;font-size:16.5px;line-height:1.45}
.s-av__lists li::before,.s-av__tips li::before{content:"";position:absolute;left:0;top:.55em;width:7px;height:7px;border-radius:50%;background:var(--tan)}
@media (max-width:760px){.s-av__lists{grid-template-columns:minmax(0,1fr)}}

/* the summary beside the text */
.s-av__aside{position:sticky;top:calc(var(--proto-h) + var(--head-h) + 20px);display:grid;gap:16px;align-content:start;min-width:0}
@media (max-width:960px){.s-av__aside{position:static;order:-1;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));align-items:start}}
.s-av__box{padding:18px 22px 20px;border-radius:24px;background:var(--warm);min-width:0}
.s-av__box h3{font-size:19px;font-weight:600;margin:0 0 12px}
.s-av__box>small{display:block;margin-top:14px;font-size:13.5px;line-height:1.4;color:var(--muted)}
.s-av__box dl{margin:0;display:grid}
.s-av__box dl>div{display:grid;grid-template-columns:minmax(84px,36%) minmax(0,1fr);gap:12px;padding:10px 0;border-top:1px solid color-mix(in srgb,var(--ink) 18%,transparent)}
.s-av__box dl>div:first-child{border-top:0;padding-top:0}
.s-av__box dt{font-size:14px;font-weight:650;color:var(--tan-t);line-height:1.35}
.s-av__box dd{margin:0;font-size:15.5px;line-height:1.4}
.s-av__dist{display:grid;gap:13px}
.s-av__dist li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 10px;align-items:baseline}
.s-av__dist span{font-size:15.5px;line-height:1.25}
.s-av__dist b{font-size:15px;font-weight:650;font-variant-numeric:tabular-nums;white-space:nowrap}
.s-av__dist i{grid-column:1/-1;position:relative;height:6px;border-radius:3px;background:color-mix(in srgb,var(--ink) 13%,transparent);overflow:hidden}
.s-av__dist i::after{content:"";position:absolute;inset:0 auto 0 0;width:var(--w);border-radius:3px;background:var(--tan)}
.s-av__tips{display:grid;gap:11px}
.s-av__tips li{font-size:15.5px;line-height:1.42;padding-left:20px}
.s-av__tips li::before{top:.5em;width:8px;height:8px}
.s-av__box--tips{margin:0 0 clamp(20px,calc(3*var(--vw)),40px);padding:clamp(22px,calc(2.6*var(--vw)),32px) clamp(22px,calc(3*var(--vw)),38px)}
.s-av__box--tips h2{font-size:clamp(24px,calc(2.4*var(--vw)),32px);font-weight:560;font-stretch:88%;letter-spacing:-.025em;line-height:1.05;margin:0 0 16px}
.s-av__box--tips .s-av__tips{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 36px}
.s-av__box--tips .s-av__tips li{font-size:16.5px;line-height:1.45}
@media (max-width:640px){.s-av__box--tips .s-av__tips{grid-template-columns:minmax(0,1fr)}}

/* sources and related reading */
.s-av__src{margin-top:clamp(30px,calc(4*var(--vw)),54px);padding-top:22px;border-top:1.5px solid var(--ink)}
.s-av__src h2{font-size:22px;font-weight:600;margin:0 0 14px}
.s-av__src ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:8px 32px;margin-bottom:16px}
.s-av__src a{font-size:15.5px;color:var(--ink);text-underline-offset:3px}
.s-av__src p{font-size:14.5px;line-height:1.5;color:var(--muted);max-width:60ch}
.s-av__more{background:var(--warm);padding-block:clamp(48px,calc(7*var(--vw)),96px)}

/* Lugar: places to slow down, each with its picture */
.s-near{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(26px,calc(3.2*var(--vw)),48px) clamp(16px,calc(2.2*var(--vw)),32px)}
.s-nc{display:grid;gap:10px;align-content:start;text-decoration:none;color:inherit;min-width:0}
.s-nc__img{aspect-ratio:4/3;border-radius:22px}
.s-nc__d{position:absolute;left:12px;top:12px;z-index:2;padding:5px 12px;border-radius:999px;background:var(--ink);color:var(--paper);font:600 13.5px/1.3 var(--f-body);font-variant-numeric:tabular-nums}
.s-nc h3{margin-top:6px;font-size:clamp(24px,calc(2.3*var(--vw)),32px);font-weight:560;font-stretch:90%;letter-spacing:-.025em;line-height:1.05}
.s-nc p{font-size:16px;line-height:1.5;color:var(--muted);max-width:38ch}
.s-nc .s-link{justify-self:start;margin-top:4px;font-size:15px}
#near-block[hidden]{display:none}
.s .s-h2--sec{font-size:clamp(34px,calc(4.6*var(--vw)),72px);margin-bottom:clamp(22px,calc(3*var(--vw)),40px)}
.s .s-h2--sub{font-size:clamp(30px,calc(4*var(--vw)),60px)}
.s .s-getting-h{margin-top:clamp(48px,calc(7*var(--vw)),96px)}
.s #near-block[hidden]+.s-getting-h{margin-top:0}
.s-nc:hover .s-link{gap:14px}
.s-muted{color:var(--muted)}
@media (max-width:980px){.s-near{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.s-near{grid-template-columns:minmax(0,1fr)}.s-nc__img{aspect-ratio:16/10}}

/* closing call to action: the arch holds a cabin at dusk */
.s-end__glow{position:absolute;right:max(16px,calc(6*var(--vw)));bottom:0;width:clamp(230px,calc(31*var(--vw)),450px);padding:14px 14px 0;z-index:0;pointer-events:none}
.s-end__glow::before{content:"";position:absolute;inset:0;border:1.5px solid rgba(var(--paper-rgb),.3);border-bottom:0;border-radius:999px 999px 0 0}
.s-end__win{position:relative;aspect-ratio:400/450;border-radius:999px 999px 0 0;overflow:hidden;background:#0e1b20}
.s-end__win svg{position:absolute;inset:0;width:100%;height:100%;display:block}
@keyframes ctatw{50%{opacity:.18}}
@keyframes ctagl{50%{opacity:.35}}
@keyframes ctaff{0%{transform:translate(0,0);opacity:0}18%{opacity:.95}55%{transform:translate(9px,-15px);opacity:.8}82%{opacity:.95}100%{transform:translate(-5px,-32px);opacity:0}}
.cta-st{animation:ctatw 4.6s ease-in-out infinite}
.cta-gl{animation:ctagl 8s ease-in-out infinite}
.cta-ff{transform-box:fill-box;animation:ctaff 7s ease-in-out infinite}
html[data-motion="off"] .s-end__win *{animation:none!important}
html[data-motion="off"] .cta-ff{opacity:.8}
@media (max-width:760px){
  .s-end{display:flex;flex-direction:column;padding-bottom:0}
  .s-end__in{width:100%}
  .s-end__glow{position:relative;right:auto;bottom:auto;order:2;align-self:center;width:min(calc(80*var(--vw)),340px);margin-top:clamp(28px,calc(8*var(--vw)),44px)}
}

/* the scenes move a little, and only in the article header */
@keyframes scdrift{from{transform:translateX(-18px)}to{transform:translateX(26px)}}
@keyframes scspin{to{transform:rotate(360deg)}}
@keyframes scwave{50%{transform:translateX(-14px)}}
@keyframes scflag{50%{transform:skewY(-7deg) scaleX(.9)}}
@keyframes scdrop{to{stroke-dashoffset:-16}}
@keyframes sctw{50%{opacity:.15}}
.sc.is-anim .sc-cl{animation:scdrift 24s ease-in-out infinite alternate}
.sc.is-anim .sc-cl:nth-of-type(2n){animation-duration:32s;animation-delay:-11s}
.sc.is-anim .sc-wheel{transform-origin:330px 330px;animation:scspin 16s linear infinite}
.sc.is-anim .sc-wv{animation:scwave 6s ease-in-out infinite}
.sc.is-anim .sc-wv.w2{animation-duration:8s;animation-delay:-3s}
.sc.is-anim .sc-flag{transform-box:fill-box;transform-origin:left center;animation:scflag 3.2s ease-in-out infinite}
.sc.is-anim .sc-drop{animation:scdrop .9s linear infinite}
.sc.is-anim .sc-drop.d2{animation-duration:1.2s;animation-delay:-.4s}
.sc.is-anim .sc-st{animation:sctw 4.2s ease-in-out infinite}
.sc.is-anim .sc-st:nth-child(3n){animation-duration:5.6s;animation-delay:-2s}
.sc.is-anim .sc-st:nth-child(3n+1){animation-delay:-1.1s}
html[data-motion="off"] .sc *{animation:none!important}
/* the owner's own photo instead of the concept drawing */
.s-art__img img.sc-photo,.s-feat__img img.sc-photo,.s-nc__img img.sc-photo,.s-av__win img.sc-photo,.pk__img img.sc-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.3s var(--ease-out)}
a:hover>.s-art__img img.sc-photo,a:hover>.s-feat__img img.sc-photo,a:hover>.s-nc__img img.sc-photo{transform:scale(1.045)}
html[data-motion="off"] .sc-photo{transition:none!important;transform:none!important}
.s-art__img.has-photo::after,.s-feat__img.has-photo::after,.s-nc__img.has-photo::after,.s-av__win.has-photo::after{display:none}
/* ───────── Themes ─────────
   The whole site can wear one of three looks, switched with html[data-skin]. (Not data-theme: the page host owns that one.)
   Floresta is the default and is defined on .s itself (02-site-hero). The other two only re-colour the page, through the same
   variables, so every button, band, card and overlay follows without being touched one by one.
   Fixed on purpose in every theme: the two cabin colours (--jungle, --city), the drawn map, the day scene and every photograph.
   The same palettes live in JS (SKINS in 10-js-core) for the day scene, the hero contrast check and the pickers. */
html[data-skin="city"]{--site-paper:#eef2f3}
html[data-skin="madeira"]{--site-paper:#f6f0e3}

/* Ardósia: slate and mist, like Cabin City */
html[data-skin="city"] .s{
  --ink:#22323f;--paper:#eef2f3;--line:#cdd7dc;--muted:#4f5f6b;--night:#101a22;--dawn:#e0e8ec;--warm:#e1e9ec;
  --ink-rgb:34,50,63;--paper-rgb:238,242,243;--night-rgb:16,26,34;--shade-rgb:14,24,33;--deep-rgb:10,18,26;--bar-rgb:18,30,40}

/* Madeira: walnut and oak, like the wood of the cabins */
html[data-skin="madeira"] .s{
  --ink:#3a2b20;--paper:#f6f0e3;--line:#dccfb8;--muted:#6a5848;--night:#1e150f;--dawn:#ede4d2;--warm:#eadcc3;--tan-t:#86581f;
  --ink-rgb:58,43,32;--paper-rgb:246,240,227;--night-rgb:30,21,15;--shade-rgb:34,24,17;--deep-rgb:26,18,12;--bar-rgb:34,25,18}

/* switching: the old look melts into the new one (only while a theme change is running) */
html.skin-vt::view-transition-group(root){animation-duration:.55s;animation-timing-function:cubic-bezier(.4,0,.2,1)}

.star{opacity:var(--star-o,0);animation:tw 3.4s ease-in-out infinite}
@keyframes tw{50%{opacity:calc(var(--star-o,0)*.4)}}
.lt{opacity:var(--glow-o,0)}
.ff{fill:#ffd98a;opacity:0;animation:ffly 7s ease-in-out infinite;transform-box:fill-box}
#flies{opacity:var(--glow-o,0)}
@keyframes ffly{0%,100%{opacity:.1;transform:translate(0,0)}30%{opacity:.95}50%{transform:translate(14px,-18px)}75%{opacity:.5;transform:translate(-10px,-8px)}}
html[data-motion="off"] .star{animation:none}html[data-motion="off"] .ff{animation:none;opacity:.6}
