/* Check-in Content — Sapia Sites */
@font-face{font-family:"Calder Dark";src:url(fonts/calder-dark.woff2) format("woff2");font-display:swap}
@font-face{font-family:"Calder LC";src:url(fonts/calder-lc.woff2) format("woff2");font-display:swap}
@font-face{font-family:"Calder Script";src:url(fonts/calder-script.woff2) format("woff2");font-display:swap}

:root{
  --cream:#F3ECDA; --cafe:#2C140A; --vinho:#6C0C0D; --azul:#CEE2ED; --manteiga:#FFF2C1;
  --ink:#2C140A; --paper:#F7F1E2;
  --f-head:"Calder Dark",ui-sans-serif,system-ui,sans-serif;
  --f-body:"Calder LC",ui-sans-serif,system-ui,sans-serif;
  --f-script:"Calder Script",cursive;
  --pad:clamp(20px,4vw,64px);
  --sec:clamp(80px,11vw,150px);
}
*{box-sizing:border-box;margin:0;padding:0}
[hidden]{display:none!important}
html{overflow-x:clip;-webkit-text-size-adjust:100%}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{background:var(--cream);color:var(--ink);font-family:var(--f-body);font-size:clamp(16px,1.12vw,18px);line-height:1.55;letter-spacing:.01em;-webkit-font-smoothing:antialiased}
img,video,svg{display:block;max-width:100%}
a{color:inherit}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
h1,h2,h3,h4{font-weight:400;text-wrap:balance}
p,li,blockquote{text-wrap:pretty}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ícones SVG tingíveis (máscara) */
.ico{display:inline-block;background:currentColor;-webkit-mask:var(--src) center/contain no-repeat;mask:var(--src) center/contain no-repeat}

/* tipografia de marca */
.kicker{font-family:var(--f-head);font-size:12px;letter-spacing:.22em;text-transform:uppercase;margin-bottom:14px;opacity:.85}
.h-big{font-family:var(--f-head);text-transform:uppercase;font-size:clamp(40px,6.2vw,96px);line-height:.98;letter-spacing:.02em}
.h-mid{font-family:var(--f-head);text-transform:uppercase;font-size:clamp(28px,3.4vw,52px);line-height:1;letter-spacing:.03em;margin-bottom:22px}
.lead{font-size:clamp(18px,1.5vw,23px);line-height:1.5;max-width:34em}
.note,.script{font-family:var(--f-script);font-size:clamp(22px,2vw,32px);line-height:1.2;color:var(--vinho)}
.small{font-size:13px;opacity:.72;line-height:1.5}
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--f-head);text-transform:uppercase;letter-spacing:.14em;font-size:13px;padding:17px 28px;border-radius:999px;background:var(--vinho);color:var(--cream);text-decoration:none;transition:background .3s,transform .3s}
.btn:hover{background:var(--cafe);transform:translateY(-2px)}
.btn-sm{padding:11px 18px;font-size:11px}
.link-u{font-family:var(--f-head);text-transform:uppercase;letter-spacing:.14em;font-size:12px;text-decoration:none;border-bottom:1.5px solid currentColor;padding-bottom:3px}
.ticks{list-style:none;display:grid;gap:10px;margin-top:26px}
.ticks li{position:relative;padding-left:30px}
.ticks li::before{content:"";position:absolute;left:0;top:.42em;width:16px;height:9px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);opacity:.8}

/* ============ CABEÇALHO ============ */
.top{position:fixed;inset:0 0 auto 0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px var(--pad);color:var(--ink);transition:transform .5s cubic-bezier(.2,.7,.2,1),background .4s,color .4s;transform:translateY(-110%)}
.top.on{transform:none}
.top.solid{background:rgba(243,236,218,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.top.dark{color:var(--cream)}
.top.dark.solid{background:rgba(44,20,10,.9)}
.top-logo .ico{width:170px;aspect-ratio:1015/177;display:block}
.top-nav{display:flex;gap:30px}
.top-nav a{font-family:var(--f-head);font-size:12px;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;position:relative}
.top-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:1.5px;background:currentColor;transition:right .35s}
.top-nav a:hover::after{right:0}
.top-right{display:flex;align-items:center;gap:16px}
.top.dark .btn{background:var(--cream);color:var(--cafe)}
.lang{display:flex;align-items:center;gap:8px;font-family:var(--f-head);font-size:11px;letter-spacing:.16em;padding:6px 4px}
.flag{width:24px;height:16px;border-radius:3px;box-shadow:0 0 0 1px rgba(0,0,0,.12);overflow:hidden;display:block}
.flag-pt{background:linear-gradient(90deg,#046A38 0 40%,#DA291C 40%);position:relative}
.flag-pt::after{content:"";position:absolute;left:40%;top:50%;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:#FFE900;box-shadow:inset 0 0 0 1.5px #FFE900,inset 0 0 0 3px #DA291C}
.flag-en{background:
  linear-gradient(90deg,transparent 42%,#C8102E 42% 58%,transparent 58%),
  linear-gradient(transparent 38%,#C8102E 38% 62%,transparent 62%),
  linear-gradient(90deg,transparent 36%,#fff 36% 64%,transparent 64%),
  linear-gradient(transparent 30%,#fff 30% 70%,transparent 70%),
  linear-gradient(33.7deg,transparent 46%,#fff 46% 54%,transparent 54%),
  linear-gradient(-33.7deg,transparent 46%,#fff 46% 54%,transparent 54%),#012169}
html[lang=en] .flag-en,html[lang=pt-PT] .flag-pt{display:none}

/* trilho de rolagem */
.rail{position:fixed;right:22px;top:50%;transform:translateY(-50%);height:46vh;width:30px;z-index:40;opacity:0;transition:opacity .5s;pointer-events:none}
.rail.on{opacity:1}
.rail-line{position:absolute;left:50%;top:0;bottom:0;width:1px;background:rgba(44,20,10,.18)}
.rail-fill{position:absolute;inset:0;background:var(--vinho);transform-origin:top;transform:scaleY(0)}
.rail-key{position:absolute;left:50%;top:0;width:34px;margin-left:-17px;transform:translateY(-50%) rotate(90deg);color:var(--vinho)}
.rail-key .ico{width:34px;aspect-ratio:744/289;display:block}
.rail-floors{list-style:none;position:absolute;inset:0}
.rail-floors li{position:absolute;left:50%;width:7px;height:7px;margin:-3.5px 0 0 -3.5px;border-radius:50%;background:var(--cream);box-shadow:0 0 0 1px rgba(44,20,10,.4);pointer-events:auto;cursor:pointer}
.rail-floors li span{position:absolute;right:16px;top:50%;transform:translateY(-50%);font-family:var(--f-head);font-size:10px;letter-spacing:.18em;text-transform:uppercase;white-space:nowrap;opacity:0;transition:opacity .3s}
.rail.moving .rail-floors li span,.rail-floors li:hover span{opacity:.75}
.rail.dark .rail-line{background:rgba(243,236,218,.25)}
.rail.dark .rail-key{color:var(--manteiga)}
.rail.dark .rail-floors li span{color:var(--cream)}

/* ============ ABERTURA ============ */
.intro{height:330vh;position:relative}
.intro-stage{position:sticky;top:0;height:100vh;height:100lvh;overflow:hidden;background:var(--cream)}
.paper{position:absolute;inset:0;opacity:.5;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .17 0 0 0 0 .08 0 0 0 0 .04 0 0 0 .09 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.desk{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:90px 20px 40px;gap:min(2.4vh,22px)}
.desk-kicker{font-family:var(--f-head);font-size:12px;letter-spacing:.26em;text-transform:uppercase;animation:up 1s .2s backwards}
.desk-logo .ico{width:min(52vw,560px,62vh);aspect-ratio:684/297;display:block;animation:up 1.2s .35s backwards}
.desk-by{font-family:var(--f-head);font-size:13px;letter-spacing:.22em;text-transform:uppercase;animation:up 1s .55s backwards}
.bell{margin-top:min(3vh,26px);display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--vinho);animation:up 1s .75s backwards}
.bell svg{width:92px;transform-origin:50% 90%;transition:transform .3s}
.bell:hover svg{animation:wob .6s}
.bell.ding svg{animation:ding .5s}
.bell-label{font-family:var(--f-script);font-size:26px}
.desk-hint{font-family:var(--f-head);font-size:11px;letter-spacing:.22em;text-transform:uppercase;opacity:.6;animation:up 1s 1s backwards}
.hint-arrow{display:inline-block;font-style:normal;animation:bob 1.6s infinite}
@keyframes up{from{opacity:0;transform:translateY(18px)}}
@keyframes bob{50%{transform:translateY(4px)}}
@keyframes wob{25%{transform:rotate(-6deg)}75%{transform:rotate(6deg)}}
@keyframes ding{20%{transform:scale(1.08,.9)}50%{transform:scale(.97,1.04)}}

.lock{position:absolute;left:50%;top:50%;width:0;height:0;pointer-events:none}
.lock-plate{position:absolute;left:-56px;top:-92px;width:112px;height:184px;border-radius:56px;border:2.5px solid var(--cafe);background:var(--manteiga);display:grid;place-items:center;opacity:0;box-shadow:0 1px 0 rgba(255,255,255,.5) inset}
.lock-plate::before,.lock-plate::after{content:"";position:absolute;left:50%;width:9px;height:9px;margin-left:-4.5px;border-radius:50%;border:2px solid var(--cafe)}
.lock-plate::before{top:14px}.lock-plate::after{bottom:14px}
.keyhole{width:38px;fill:var(--cafe)}
.key-slot{position:absolute;left:0;top:-60px;width:60vw;height:120px;overflow:hidden}
.key-move{position:absolute;left:0;top:0;height:120px;width:330px;transform:translateX(70vw);perspective:600px}
.key-ico{position:absolute;left:0;top:14px;width:330px;aspect-ratio:744/289;color:var(--cafe);transform-origin:50% 50%}
.got-key{position:absolute;left:64px;top:-128px;white-space:nowrap;font-family:var(--f-script);font-size:40px;color:var(--vinho);opacity:0}
.through{position:absolute;inset:0;background:var(--cafe);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 100'%3E%3Cpath d='M30 4a20 20 0 0 1 11 36.6L48 96H12l7-55.4A20 20 0 0 1 30 4z'/%3E%3C/svg%3E") center 50%/var(--kh,0px) no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 100'%3E%3Cpath d='M30 4a20 20 0 0 1 11 36.6L48 96H12l7-55.4A20 20 0 0 1 30 4z'/%3E%3C/svg%3E") center 50%/var(--kh,0px) no-repeat;
  visibility:hidden}
.through.full{-webkit-mask:none;mask:none}
.through .lobby-phones{opacity:.9}

/* ============ LOBBY ============ */
.lobby{position:relative;min-height:100vh;background:var(--cafe);color:var(--cream);display:grid;place-items:center;overflow:hidden;padding:120px var(--pad) 90px;margin-top:-100vh;margin-top:-100lvh}
.lobby-phones{position:absolute;inset:0;pointer-events:none}
.lobby-phones .phone{position:absolute;width:clamp(130px,12vw,210px);pointer-events:auto;cursor:pointer;transition:filter .4s}
.lobby-copy{position:relative;z-index:2;text-align:center;max-width:min(760px,54vw);display:flex;flex-direction:column;align-items:center}
.lobby-copy .kicker{color:var(--azul)}
.lobby-title{font-family:var(--f-head);text-transform:uppercase;font-size:clamp(36px,5vw,78px);line-height:1;letter-spacing:.02em;text-shadow:0 2px 30px rgba(44,20,10,.6)}
.lobby .note{color:var(--manteiga);position:absolute;white-space:nowrap}
.note-a{left:0;top:-18%;transform:rotate(-7deg)}
.note-b{right:2%;bottom:-24%;transform:rotate(-4deg)}
.lobby-cta{display:flex;align-items:center;gap:26px;margin-top:38px}
.lobby .btn{background:var(--manteiga);color:var(--cafe)}
.lobby .btn:hover{background:var(--cream)}

.lobby.in-stage{position:absolute;inset:0;margin:0;min-height:0;z-index:1}
.top:not(.show-logo) .top-logo{opacity:0;pointer-events:none}
.top-logo{transition:opacity .5s}
.cover .desk,.cover .lock{will-change:transform,opacity}

/* iPhones */
.phone{position:relative;aspect-ratio:9/19.2;border-radius:15%/7.2%;background:#14100d;padding:3.2%;box-shadow:0 0 0 1.5px #6b5b4c,0 30px 60px -20px rgba(0,0,0,.55),inset 0 0 0 1px rgba(255,255,255,.07)}
.phone::before{content:"";position:absolute;left:50%;top:3.6%;width:28%;height:3.3%;margin-left:-14%;background:#000;border-radius:99px;z-index:3}
.phone-screen{position:relative;width:100%;height:100%;border-radius:12%/5.6%;overflow:hidden;background:#2a1f18}
.phone-screen video,.phone-screen img{width:100%;height:100%;object-fit:cover}
.phone .pl-btn{position:absolute;left:50%;top:50%;width:46px;height:46px;margin:-23px;border-radius:50%;background:rgba(243,236,218,.88);display:grid;place-items:center;opacity:0;transition:opacity .3s,transform .3s;z-index:4;transform:scale(.8)}
.phone .pl-btn::after{content:"";border-left:13px solid var(--cafe);border-top:8px solid transparent;border-bottom:8px solid transparent;margin-left:4px}
.phone:hover .pl-btn{opacity:1;transform:none}
.phone-tag{position:absolute;left:8%;right:8%;bottom:6%;z-index:4;color:#fff;font-size:11px;line-height:1.25;text-shadow:0 1px 8px rgba(0,0,0,.6)}
.phone-tag b{display:block;font-family:var(--f-head);font-weight:400;letter-spacing:.12em;text-transform:uppercase;font-size:10px}

/* ============ QUADRO DE PARTIDAS ============ */
.board-sec{background:var(--cafe);color:var(--cream);padding:30px var(--pad) var(--sec);display:flex;flex-direction:column;align-items:center}
.board{width:min(1100px,100%);background:#1a0c06;border-radius:14px;padding:24px 26px 18px;box-shadow:inset 0 0 0 1px rgba(243,236,218,.08),0 40px 80px -40px #000}
.board-head{display:grid;grid-template-columns:1.55fr 1fr .75fr;gap:18px;font-family:var(--f-head);font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--azul);padding:0 4px 14px;border-bottom:1px solid rgba(243,236,218,.12)}
.board-row{display:grid;grid-template-columns:1.55fr 1fr .75fr;gap:18px;padding:12px 4px;border-bottom:1px dashed rgba(243,236,218,.09);cursor:default}
.flaps{display:flex;gap:3px;flex-wrap:nowrap;overflow:hidden}
.flap{position:relative;width:clamp(15px,1.45vw,22px);height:clamp(24px,2.2vw,34px);background:#2e1a10;border-radius:3px;color:var(--manteiga);font-family:var(--f-head);font-size:clamp(14px,1.35vw,20px);display:grid;place-items:center;flex:none;overflow:hidden;box-shadow:inset 0 -1px 0 rgba(0,0,0,.4)}
.flap::after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:rgba(0,0,0,.55)}
.st-ok .flap{color:#9fd59a}
.board-note{margin-top:34px;color:var(--manteiga);text-align:center}

/* ============ QUADRO DE CHAVES ============ */
.rack-sec{background:var(--cream);padding:var(--sec) var(--pad);display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(30px,6vw,100px);align-items:center}
.rack-copy .lead{margin-top:22px}
.rack-copy .note{margin-top:22px}
.rack{position:relative;background:#7a4a2c;background:linear-gradient(180deg,#86563a,#6a3f26);border-radius:10px;padding:18px;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;box-shadow:0 40px 70px -40px rgba(44,20,10,.7),inset 0 2px 0 rgba(255,255,255,.12)}
.cub{position:relative;aspect-ratio:1/1.5;background:#3a2014;border-radius:4px;box-shadow:inset 0 10px 18px rgba(0,0,0,.55),inset 0 -1px 0 rgba(255,255,255,.08);overflow:visible}
.cub-no{position:absolute;left:50%;top:8px;white-space:nowrap;transform:translateX(-50%);z-index:3;background:linear-gradient(#e9cf8c,#b8923f);color:#3a2014;font-family:var(--f-head);font-size:10px;letter-spacing:.1em;padding:2px 7px;border-radius:2px;box-shadow:0 1px 2px rgba(0,0,0,.4)}
.cub-hook{position:absolute;left:50%;top:21%;width:8px;height:8px;margin-left:-4px;border-radius:50%;background:#c9a24c;box-shadow:0 1px 2px #000}
.cub-mail{position:absolute;left:14%;right:14%;bottom:16%;height:30%;background:var(--paper);border-radius:2px;transform:rotate(-4deg);box-shadow:0 2px 6px rgba(0,0,0,.4)}
.cub-mail::after{content:"";position:absolute;inset:0;background:linear-gradient(155deg,transparent 49%,rgba(44,20,10,.25) 50%,transparent 51%),linear-gradient(25deg,transparent 49%,rgba(44,20,10,.25) 50%,transparent 51%)}
.tag{position:absolute;left:50%;top:19%;width:84%;margin-left:-42%;transform-origin:62% 5%;cursor:grab;z-index:5;touch-action:none;filter:drop-shadow(0 8px 8px rgba(0,0,0,.35))}
.tag:active{cursor:grabbing}
.tag-body{position:relative;display:block;width:100%;aspect-ratio:533/848}
.tag-body .ico{position:absolute;inset:0;color:var(--cream)}
.tag-fill{position:absolute;inset:0;background:var(--vinho);clip-path:polygon(61% 10%,99% 54%,68% 99%,29% 50%)}
.tag-label{position:absolute;left:28%;right:4%;top:45%;text-align:center;color:var(--cream);font-family:var(--f-head);font-size:clamp(9px,.8vw,12px);letter-spacing:.12em;text-transform:uppercase;line-height:1.3;pointer-events:none}
.tag-label b{display:block;font-weight:400;font-size:1.6em;letter-spacing:.04em}
.tag-label i{display:block;font-style:normal;font-family:var(--f-script);text-transform:none;letter-spacing:0;font-size:1.5em;color:var(--manteiga)}
.tag.t2 .tag-fill{background:var(--cafe)} .tag.t3 .tag-fill{background:#244a5c}

/* ============ QUARTOS ============ */
.room{padding:var(--sec) var(--pad);position:relative}
.room-w{background:var(--azul)}
.room-b{background:var(--vinho);color:var(--cream)}
.room-e{background:var(--cafe);color:var(--cream)}
.room-door{text-align:center;margin:0 auto clamp(60px,8vw,110px);display:flex;flex-direction:column;align-items:center}
.room-no{font-family:var(--f-head);font-size:12px;letter-spacing:.3em;text-transform:uppercase;border:1.5px solid currentColor;border-radius:999px;padding:7px 16px;margin-bottom:24px}
.room-title{font-family:var(--f-head);text-transform:uppercase;font-size:clamp(64px,13vw,210px);line-height:.85;letter-spacing:.02em}
.room-title .ch{display:inline-block}
.room-sub{font-family:var(--f-head);text-transform:uppercase;letter-spacing:.24em;font-size:13px;margin-top:20px}
.room-note{margin-top:20px;max-width:24em}
.room-b .note,.room-e .note{color:var(--manteiga)}

.w-intro{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(30px,6vw,100px);align-items:center;max-width:1180px;margin:0 auto}
.w-reel .phone{width:min(330px,100%);margin:0 auto;transform:rotate(-3deg)}
.w-text .lead{margin-bottom:16px}

.itin{max-width:1180px;margin:var(--sec) auto 0}
.itin-list{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;counter-reset:s}
.itin-list li{background:var(--paper);border-radius:6px;padding:26px 22px 28px;position:relative;box-shadow:0 18px 30px -24px rgba(44,20,10,.5)}
.itin-list li::after{content:"";position:absolute;right:-14px;top:42px;width:10px;height:10px;border-top:2px solid var(--vinho);border-right:2px solid var(--vinho);transform:rotate(45deg);z-index:2}
.itin-list li:last-child::after{display:none}
.itin-n{font-family:var(--f-script);font-size:40px;color:var(--vinho);line-height:1}
.itin-list h4{font-family:var(--f-head);text-transform:uppercase;letter-spacing:.08em;font-size:20px;margin:10px 0 8px}
.itin-list p{font-size:15px}

.coll{max-width:1180px;margin:var(--sec) auto 0;text-align:center}
.coll-hint{margin:-10px 0 30px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;perspective:1400px}
.kc{display:block;width:100%;aspect-ratio:1.586/1;text-align:left}
.kc-in{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .8s cubic-bezier(.3,1.3,.5,1)}
.kc.flipped .kc-in{transform:rotateY(180deg)}
.kc:not(.flipped):hover .kc-in{transform:rotateY(-8deg) rotateX(4deg) translateY(-4px)}
.kc-f,.kc-b{position:absolute;inset:0;border-radius:16px;backface-visibility:hidden;-webkit-backface-visibility:hidden;padding:22px 24px;overflow:hidden;box-shadow:0 26px 40px -24px rgba(44,20,10,.6)}
.kc-f{background:var(--cafe);color:var(--cream);display:flex;flex-direction:column}
.kc[data-c="2"] .kc-f{background:var(--vinho)}
.kc[data-c="3"] .kc-f{background:#1c3442}
.kc-f::before{content:"";position:absolute;right:-40px;top:-60px;width:220px;height:220px;border-radius:50%;border:1px solid rgba(243,236,218,.14);box-shadow:0 0 0 22px rgba(243,236,218,.04),0 0 0 44px rgba(243,236,218,.03)}
.kc-room{font-family:var(--f-head);font-size:11px;letter-spacing:.26em;text-transform:uppercase;opacity:.75}
.kc-name{font-family:var(--f-head);text-transform:uppercase;font-size:clamp(26px,2.5vw,38px);letter-spacing:.04em;margin-top:auto;line-height:1}
.kc-hours{font-family:var(--f-script);font-size:24px;color:var(--manteiga)}
.kc-chip{position:absolute;right:24px;top:22px;width:40px;height:30px;border-radius:6px;background:linear-gradient(135deg,#e7cd8a,#b48b3c);box-shadow:inset 0 0 0 1px rgba(0,0,0,.2)}
.kc-chip::after{content:"";position:absolute;inset:8px 6px;border:1px solid rgba(60,40,10,.45);border-radius:2px}
.kc-brand{position:absolute;right:24px;bottom:24px;width:110px;aspect-ratio:1015/177;opacity:.5}
.kc-b{background:var(--paper);transform:rotateY(180deg);color:var(--ink)}
.kc-b .kc-name{font-size:22px;color:var(--vinho);margin:0 0 10px}
.kc-b ul{list-style:none;font-size:14px;display:grid;gap:5px}
.kc-b li::before{content:"✶ ";color:var(--vinho)}
.extras{margin:46px auto 0;max-width:820px;border:1.5px dashed rgba(44,20,10,.35);border-radius:14px;padding:26px 30px}
.extras-t{font-family:var(--f-head);letter-spacing:.2em;text-transform:uppercase;font-size:12px;margin-bottom:14px}
.extras ul{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 12px;margin-bottom:14px}
.extras li{background:var(--paper);border-radius:999px;padding:8px 16px;font-size:15px}

/* álbum de selos */
.album{max-width:1280px;margin:var(--sec) auto 0;display:grid;grid-template-columns:minmax(0,.55fr) minmax(0,1.45fr);gap:30px;align-items:center}
.album-board{position:relative;height:min(78vh,720px);min-height:520px}
.stamp{position:absolute;top:0;left:0;width:clamp(150px,15vw,230px);cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;}
.stamp-in{display:block;padding:11px;background:var(--paper);-webkit-mask:radial-gradient(circle 5px at 50% 0,#0000 97%,#000) 0 0/14px 100% repeat-x,radial-gradient(circle 5px at 50% 100%,#0000 97%,#000) 0 0/14px 100% repeat-x,radial-gradient(circle 5px at 0 50%,#0000 97%,#000) 0 0/100% 14px repeat-y,radial-gradient(circle 5px at 100% 50%,#0000 97%,#000) 0 0/100% 14px repeat-y;-webkit-mask-composite:source-in;mask:radial-gradient(circle 5px at 50% 0,#0000 97%,#000) 0 0/14px 100% repeat-x,radial-gradient(circle 5px at 50% 100%,#0000 97%,#000) 0 0/14px 100% repeat-x,radial-gradient(circle 5px at 0 50%,#0000 97%,#000) 0 0/100% 14px repeat-y,radial-gradient(circle 5px at 100% 50%,#0000 97%,#000) 0 0/100% 14px repeat-y;mask-composite:intersect}
.stamp{filter:drop-shadow(0 12px 14px rgba(44,20,10,.28))}
.stamp:active{cursor:grabbing}
.stamp img{width:100%;aspect-ratio:3/4;object-fit:cover;pointer-events:none}
.stamp i{position:absolute;right:14px;bottom:12px;font-family:var(--f-head);font-style:normal;font-size:11px;color:#fff;letter-spacing:.1em;text-shadow:0 1px 6px rgba(0,0,0,.6)}

/* reels */
.reels-sec{margin:var(--sec) auto 0;max-width:1320px}
.reels-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:24px}
.reels{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(12px,1.6vw,24px)}
.reels .phone{cursor:pointer;transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.reels .phone:hover{transform:translateY(-8px) rotate(-1.2deg)}

/* FAQ */
.faq{max-width:900px;margin:var(--sec) auto 0}
.faq-list details{border-top:1.5px solid rgba(44,20,10,.25);padding:20px 4px}
.faq-list details:last-child{border-bottom:1.5px solid rgba(44,20,10,.25)}
.faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;font-size:clamp(18px,1.5vw,21px)}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"+";font-family:var(--f-head);font-size:24px;line-height:1;transition:transform .3s;color:var(--vinho)}
.faq-list details[open] summary::after{transform:rotate(45deg)}
.faq-list details p{padding-top:12px;max-width:44em;opacity:.85}

/* BRANDS */
.b-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(30px,6vw,100px);align-items:start}
.ticks-2{margin-top:0}
.trip{margin:var(--sec) calc(var(--pad)*-1) 0;overflow:hidden;height:100vh;height:100lvh;display:flex;align-items:center}
.trip-track{display:flex;gap:clamp(40px,5vw,90px);padding:0 var(--pad) 0 max(var(--pad),8vw);align-items:center;will-change:transform}
.trip-item{position:relative;flex:none;width:clamp(210px,18vw,290px)}
.trip-item:nth-child(even){margin-top:12vh}
.trip-item:nth-child(3n){margin-top:-8vh}
.pass{position:absolute;z-index:5;width:clamp(110px,9vw,150px);aspect-ratio:1;border-radius:50%;border:2.5px solid var(--manteiga);color:var(--manteiga);display:grid;place-items:center;text-align:center;font-family:var(--f-head);text-transform:uppercase;font-size:10px;letter-spacing:.16em;line-height:1.35;transform:rotate(-14deg) scale(1.6);opacity:0;mix-blend-mode:screen;padding:14px}
.pass b{display:block;font-weight:400;font-size:17px;letter-spacing:.06em}
.pass::before{content:"";position:absolute;inset:5px;border-radius:50%;border:1px solid currentColor;opacity:.6}
.pass.r{border-radius:10px;aspect-ratio:1.4}
.pass.r::before{border-radius:6px}
.trip-item .pass{right:-34%;top:6%}
.trip-item:nth-child(even) .pass{left:-36%;right:auto;top:auto;bottom:12%}
.pass.in{animation:stampin .45s cubic-bezier(.3,1.6,.5,1) forwards}
@keyframes stampin{to{opacity:.95;transform:rotate(var(--r,-14deg)) scale(1)}}
.trip-intro{flex:none;width:clamp(260px,24vw,380px)}
.trip-intro .h-mid{color:var(--cream)}
.trip-intro .note{color:var(--manteiga)}
.trip-end{flex:none;width:clamp(240px,22vw,340px)}

.stay{background:var(--manteiga);color:var(--ink);margin:var(--sec) calc(var(--pad)*-1) calc(var(--sec)*-1);padding:var(--sec) var(--pad)}
.stay-head{text-align:center;margin-bottom:46px}
.postcards{display:flex;justify-content:center;gap:clamp(18px,2.4vw,40px);flex-wrap:wrap;perspective:1600px;max-width:1300px;margin:0 auto}
.pc{width:clamp(200px,15.5vw,270px);aspect-ratio:9/14;cursor:pointer;position:relative}
.pc:nth-child(odd){transform:rotate(-2.5deg)} .pc:nth-child(even){transform:rotate(2deg) translateY(30px)}
.pc-in{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .9s cubic-bezier(.3,1.25,.5,1)}
.pc.flipped .pc-in{transform:rotateY(180deg)}
.pc-f,.pc-b{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:4px;overflow:hidden;background:var(--paper);padding:10px;box-shadow:0 26px 40px -24px rgba(44,20,10,.55)}
.pc-f video{width:100%;height:100%;object-fit:cover;border-radius:2px}
.pc-f .pc-cap{position:absolute;left:22px;bottom:20px;color:#fff;font-family:var(--f-script);font-size:26px;text-shadow:0 1px 10px rgba(0,0,0,.55)}
.pc-b{transform:rotateY(180deg);display:grid;grid-template-columns:1fr 1px 1fr;gap:14px;padding:20px 18px}
.pc-b::before{content:"";grid-column:2;background:rgba(44,20,10,.25)}
.pc-msg{grid-column:1;grid-row:1;font-family:var(--f-script);font-size:21px;line-height:1.25;color:var(--vinho);align-self:center}
.pc-addr{grid-column:3;grid-row:1;display:flex;flex-direction:column;justify-content:flex-end;gap:16px;font-size:12px}
.pc-addr span{border-bottom:1px solid rgba(44,20,10,.3);padding-bottom:3px}
.pc-st{width:64px;aspect-ratio:3/4;background:var(--azul);align-self:flex-end;position:relative;margin-bottom:auto;-webkit-mask:radial-gradient(circle 3px at 50% 0,#0000 97%,#000) 0 0/8px 100% repeat-x,radial-gradient(circle 3px at 50% 100%,#0000 97%,#000) 0 0/8px 100% repeat-x,radial-gradient(circle 3px at 0 50%,#0000 97%,#000) 0 0/100% 8px repeat-y,radial-gradient(circle 3px at 100% 50%,#0000 97%,#000) 0 0/100% 8px repeat-y;-webkit-mask-composite:source-in;mask:radial-gradient(circle 3px at 50% 0,#0000 97%,#000) 0 0/8px 100% repeat-x,radial-gradient(circle 3px at 50% 100%,#0000 97%,#000) 0 0/8px 100% repeat-x,radial-gradient(circle 3px at 0 50%,#0000 97%,#000) 0 0/100% 8px repeat-y,radial-gradient(circle 3px at 100% 50%,#0000 97%,#000) 0 0/100% 8px repeat-y;mask-composite:intersect}
.pc-st::after{content:"";position:absolute;inset:6px;background:var(--vinho) url("img/chave.svg");opacity:.0}
.pc-pm{position:absolute;right:46px;top:34px;width:84px;aspect-ratio:1;border:1.5px solid var(--cafe);border-radius:50%;opacity:.55;display:grid;place-items:center;font-family:var(--f-head);font-size:8px;letter-spacing:.14em;text-align:center;text-transform:uppercase;transform:rotate(-12deg)}

/* EVENTS */
.live{height:185vh;position:relative}
.live-stage{position:sticky;top:0;height:100vh;height:100lvh;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,.8fr);gap:clamp(30px,5vw,80px);align-items:center;max-width:1280px;margin:0 auto}
.live-left .lead{margin-bottom:20px}
.clock{display:flex;align-items:center;gap:20px;margin:6px 0 4px}
.clock-face{position:relative;width:74px;height:74px;border-radius:50%;border:2px solid var(--manteiga)}
.clock-face i{position:absolute;left:50%;bottom:50%;width:2px;margin-left:-1px;background:var(--manteiga);transform-origin:50% 100%;border-radius:2px}
.clock-face .h{height:20px}.clock-face .m{height:29px;width:1.5px;opacity:.85}
.clock-face b{position:absolute;left:50%;top:50%;width:6px;height:6px;margin:-3px;border-radius:50%;background:var(--manteiga)}
.clock-time{font-family:var(--f-head);font-size:clamp(34px,3.4vw,54px);letter-spacing:.06em;color:var(--manteiga)}
.live-phone{text-align:center}
.phone-live{width:clamp(220px,21vw,320px)}
.live-cap{margin-top:16px;font-family:var(--f-head);font-size:11px;letter-spacing:.2em;opacity:.7}
.story-bars{position:absolute;left:6%;right:6%;top:7.5%;display:flex;gap:4px;z-index:4}
.story-bars i{flex:1;height:2.5px;border-radius:2px;background:rgba(255,255,255,.35);overflow:hidden;position:relative}
.story-bars i b{position:absolute;inset:0;background:#fff;transform-origin:left;transform:scaleX(0)}
.live-badge{position:absolute;left:7%;top:11%;z-index:4;background:#e0245e;color:#fff;font-family:var(--f-head);font-size:10px;letter-spacing:.14em;padding:4px 8px 3px;border-radius:4px;display:flex;align-items:center;gap:6px}
.live-badge i{width:6px;height:6px;border-radius:50%;background:#fff;animation:blink 1s infinite}
@keyframes blink{50%{opacity:.2}}
.live-posted{position:absolute;right:7%;top:11.2%;z-index:4;color:#fff;font-size:11px;text-shadow:0 1px 6px rgba(0,0,0,.6)}
.live-feed{list-style:none;display:flex;flex-direction:column;gap:12px}
.live-feed li{display:flex;align-items:center;gap:14px;background:rgba(243,236,218,.07);border:1px solid rgba(243,236,218,.12);border-radius:12px;padding:10px 14px 10px 10px;opacity:.25;transform:translateX(20px);transition:opacity .5s,transform .5s,background .5s}
.live-feed li.on{opacity:1;transform:none}
.live-feed li.now{background:rgba(255,242,193,.14);border-color:rgba(255,242,193,.4)}
.live-feed img{width:44px;height:58px;border-radius:6px;object-fit:cover;flex:none}
.live-feed b{display:block;font-family:var(--f-head);font-weight:400;letter-spacing:.1em;font-size:15px;color:var(--manteiga)}
.live-feed span{font-size:14px;opacity:.85}

/* CLARA */
.clara{background:var(--cream);padding:var(--sec) var(--pad);display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(40px,6vw,100px);max-width:1340px;margin:0 auto;align-items:start}
.clara-photo{position:sticky;top:110px;filter:drop-shadow(0 20px 26px rgba(44,20,10,.25))}
.stamp-frame{background:var(--paper);padding:16px;-webkit-mask:radial-gradient(circle 7px at 50% 0,#0000 97%,#000) 0 0/18px 100% repeat-x,radial-gradient(circle 7px at 50% 100%,#0000 97%,#000) 0 0/18px 100% repeat-x,radial-gradient(circle 7px at 0 50%,#0000 97%,#000) 0 0/100% 18px repeat-y,radial-gradient(circle 7px at 100% 50%,#0000 97%,#000) 0 0/100% 18px repeat-y;-webkit-mask-composite:source-in;mask:radial-gradient(circle 7px at 50% 0,#0000 97%,#000) 0 0/18px 100% repeat-x,radial-gradient(circle 7px at 50% 100%,#0000 97%,#000) 0 0/18px 100% repeat-x,radial-gradient(circle 7px at 0 50%,#0000 97%,#000) 0 0/100% 18px repeat-y,radial-gradient(circle 7px at 100% 50%,#0000 97%,#000) 0 0/100% 18px repeat-y;mask-composite:intersect}
.clara-photo>.stamp-frame{transform:rotate(-2deg)}
.stamp-frame img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 30%}
.ask-blob{position:absolute;right:-8%;top:-8%;width:44%;aspect-ratio:1;background:var(--azul);border-radius:58% 42% 50% 50%/48% 56% 44% 52%;display:grid;place-items:center;transform:rotate(-8deg);animation:blob 9s ease-in-out infinite}
.ask-blob .ico{width:70%;aspect-ratio:490/247;color:var(--cafe)}
@keyframes blob{50%{border-radius:44% 56% 42% 58%/56% 44% 56% 44%}}
.letter{perspective:1800px;max-width:640px}
.letter-fold{transform-origin:top center;transform-style:preserve-3d}
.letter-face{background:#f6e7a9;background:linear-gradient(180deg,#fbf0c2,#f3e3a2);padding:clamp(26px,3vw,44px) clamp(26px,3.4vw,52px);color:var(--vinho);font-size:clamp(16px,1.2vw,18.5px);line-height:1.65;box-shadow:inset 0 1px 0 rgba(255,255,255,.5)}
.letter-face p+p{margin-top:16px}
.f1 .letter-face{border-radius:3px 3px 0 0}
.f3 .letter-face{border-radius:0 0 3px 3px;box-shadow:0 30px 40px -30px rgba(44,20,10,.5)}
.f2 .letter-face{background:linear-gradient(180deg,#efdc96,#f6e7ad 12%,#f6e7ad)}
.f3 .letter-face{background:linear-gradient(180deg,#f2e09c,#fbf0c2 14%)}
.letter-sign{display:flex;align-items:flex-end;justify-content:space-between;margin-top:24px}
.letter-sign .script{font-size:36px}
.letter-sign .ico{width:120px;aspect-ratio:684/297;color:var(--vinho)}
.quotes{grid-column:2;max-width:640px;margin-top:30px}
.quotes blockquote{font-family:var(--f-script);font-size:clamp(24px,2.1vw,34px);line-height:1.25;color:var(--cafe);padding:18px 0;border-bottom:1px solid rgba(44,20,10,.15)}

/* FEATURED */
.feat{background:var(--cream);padding:0 var(--pad) var(--sec);text-align:center}
.postmarks{display:flex;justify-content:center;gap:clamp(20px,5vw,80px);flex-wrap:wrap;margin-top:24px}
.pm{position:relative;width:clamp(150px,15vw,200px);aspect-ratio:1;color:var(--vinho);text-decoration:none;display:grid;place-items:center}
.pm svg{position:absolute;inset:0;fill:none;stroke:currentColor;stroke-width:2.5}
.pm svg circle:nth-child(3){stroke-width:1.2;stroke-dasharray:3 4}
.pm text{fill:currentColor;stroke:none;font-family:var(--f-head);font-size:13.5px;letter-spacing:3.6px}
.pm span{font-family:var(--f-head);text-transform:uppercase;letter-spacing:.08em;font-size:16px;line-height:1.1;position:relative}
.pm small{font-family:var(--f-script);text-transform:none;font-size:20px;letter-spacing:0}
.pm{opacity:0;transform:scale(1.5) rotate(-20deg)}
.pm.in{animation:pmin .5s cubic-bezier(.3,1.5,.5,1) forwards}
.pm:nth-child(2).in{animation-delay:.15s}.pm:nth-child(3).in{animation-delay:.3s}
@keyframes pmin{to{opacity:.92;transform:rotate(var(--r,-8deg))}}
.pm:hover svg{animation:spin 12s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* CHECK-IN */
.checkin{overflow:clip;background:var(--vinho);color:var(--cream);padding:var(--sec) var(--pad);display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(40px,6vw,100px);align-items:center}
.checkin .note{color:var(--manteiga);margin-top:18px}
.checkin .lead{margin-top:22px}
.ci-contacts{list-style:none;margin:30px 0 20px;display:grid;gap:10px}
.ci-contacts li{display:flex;gap:16px;align-items:baseline;border-bottom:1px solid rgba(243,236,218,.2);padding-bottom:10px}
.ci-contacts span{font-family:var(--f-head);font-size:11px;letter-spacing:.2em;text-transform:uppercase;width:96px;opacity:.75;flex:none}
.ci-contacts a{text-decoration:none;overflow-wrap:anywhere}
.card{position:relative;background:var(--paper);color:var(--ink);border-radius:6px;padding:30px clamp(22px,3vw,40px) 34px;display:grid;grid-template-columns:1fr 1fr;gap:18px 24px;box-shadow:0 40px 70px -30px rgba(0,0,0,.6);transform:rotate(1.2deg);
  background-image:repeating-linear-gradient(0deg,transparent 0 31px,rgba(44,20,10,.05) 31px 32px)}
.card-head{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:2px solid var(--cafe);padding-bottom:14px;margin-bottom:4px}
.card-logo{width:150px;aspect-ratio:1015/177;color:var(--vinho)}
.card-head b{display:block;font-family:var(--f-head);font-weight:400;letter-spacing:.18em;text-transform:uppercase;font-size:11px;text-align:right}
.card-no{display:block;font-family:var(--f-script);font-size:20px;color:var(--vinho);text-align:right}
.card-no i{font-style:normal}
.f{display:flex;flex-direction:column;gap:4px;min-width:0}
.f-full{grid-column:1/-1}
.f>span,.rooms legend{font-family:var(--f-head);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;opacity:.7}
.f input,.f textarea,.f select{font:inherit;font-size:16px;color:var(--ink);background:transparent;border:0;border-bottom:1.5px solid rgba(44,20,10,.4);padding:6px 0;border-radius:0;outline:none;width:100%;transition:border-color .3s}
.f textarea{resize:vertical;font-family:var(--f-script);font-size:22px;line-height:1.4}
.f input:focus,.f textarea:focus,.f select:focus{border-color:var(--vinho)}
.f input[name=name]{font-family:var(--f-script);font-size:26px}
.rooms{border:0;display:flex;flex-direction:row;flex-wrap:wrap;gap:10px}
.rooms legend{width:100%}
.rooms legend{margin-bottom:8px}
.rooms label{cursor:pointer}
.rooms input{position:absolute;opacity:0}
.rooms label span{display:block;border:1.5px solid rgba(44,20,10,.4);border-radius:999px;padding:8px 16px;font-size:14px;transition:all .25s}
.rooms b{font-weight:400}
.rooms input:checked+span{background:var(--cafe);color:var(--cream);border-color:var(--cafe)}
.rooms input:focus-visible+span{outline:2px solid var(--vinho);outline-offset:2px}
.card:not(.is-wed) .f-wed{opacity:.35;pointer-events:none}
.card-foot{grid-column:1/-1;display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:8px}
.card-foot .link-u{color:var(--vinho)}
.card-stamp{position:absolute;right:8%;bottom:22%;border:4px double var(--vinho);color:var(--vinho);border-radius:10px;padding:10px 20px 8px;text-align:center;font-family:var(--f-head);text-transform:uppercase;letter-spacing:.14em;font-size:28px;line-height:1;transform:rotate(-12deg) scale(2.2);opacity:0;pointer-events:none;mix-blend-mode:multiply}
.card-stamp small{display:block;font-size:11px;letter-spacing:.2em;margin-top:6px}
.card.stamped .card-stamp{animation:cstamp .42s cubic-bezier(.4,1.8,.5,1) forwards}
@keyframes cstamp{to{opacity:.85;transform:rotate(-12deg) scale(1)}}
.card-ok{grid-column:1/-1;font-family:var(--f-script);font-size:22px;color:var(--vinho);min-height:1px}
.card.err input:invalid{border-color:#c0392b}

/* RODAPÉ */
.foot{background:var(--cafe);color:var(--cream);text-align:center;padding:90px var(--pad) 40px;display:flex;flex-direction:column;align-items:center;gap:16px}
.foot-logo{width:min(320px,70vw);aspect-ratio:684/297}
.foot-tag .script{color:var(--manteiga);font-size:32px}
.foot-links{list-style:none;display:flex;gap:10px 30px;flex-wrap:wrap;justify-content:center;margin:10px 0}
.foot-links a{text-decoration:none;border-bottom:1px solid rgba(243,236,218,.3)}
.sapia{font-size:12px;opacity:.55;margin-top:20px}
.sapia a{text-decoration:none}

/* PLAYER */
.player{position:fixed;inset:0;z-index:90;background:rgba(26,12,6,.94);display:flex;align-items:center;justify-content:center;gap:40px;padding:30px}
.phone-pl{height:min(86vh,820px);width:auto}
.phone-pl video{object-fit:contain;background:#000}
.pl-info{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);color:var(--cream);text-align:center;font-size:13px}
.pl-info b{font-family:var(--f-head);font-weight:400;letter-spacing:.14em;text-transform:uppercase;margin-right:10px}
.pl-x{position:absolute;right:24px;top:18px;font-size:44px;line-height:1;color:var(--cream)}
.pl-nav{width:54px;height:54px;border-radius:50%;border:1.5px solid rgba(243,236,218,.4);color:var(--cream);font-size:30px;line-height:1;display:grid;place-items:center;transition:background .3s}
.pl-nav:hover{background:rgba(243,236,218,.12)}

.wa-float{position:fixed;right:20px;bottom:20px;z-index:45;width:54px;height:54px;border-radius:50%;background:#25D366;color:#fff;display:grid;place-items:center;box-shadow:0 10px 24px -8px rgba(0,0,0,.45);transform:scale(0);transition:transform .4s cubic-bezier(.3,1.5,.5,1)}
.wa-float.on{transform:none}
.wa-float svg{width:30px}

/* revelações */
.rv{opacity:0;transform:translateY(30px)}

@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

.cub-no.cub-no-key{font-size:9px;padding:3px 8px;letter-spacing:.14em}
.tag-body .ico{color:var(--manteiga)}

/* ajustes de quebra de linha */
.rack-sec .h-big{font-size:clamp(36px,4.6vw,72px)}
.checkin .h-big{font-size:clamp(36px,4vw,62px)}
.album{grid-template-columns:minmax(0,.75fr) minmax(0,1.45fr)}
.album .h-mid{font-size:clamp(24px,2.35vw,34px)}
.trip-intro{width:clamp(320px,34vw,500px)}
.trip-end{width:clamp(300px,28vw,420px)}
.trip-intro .h-mid,.trip-end .h-mid{font-size:clamp(28px,2.9vw,44px)}
.pc-b{grid-template-columns:1fr;grid-template-rows:auto 1fr;gap:12px;padding:22px 20px}
.pc-b::before{display:none}
.pc-msg{grid-column:1;grid-row:1;align-self:start;font-size:22px}
.pc-addr{grid-column:1;grid-row:2}
/* verso do postal: selo + carimbo em cima, mensagem, endereço */
.pc-b{padding-top:96px}
.pc-addr .pc-st{position:absolute;right:16px;top:16px;width:52px;margin:0}
.pc-pm{right:34px;top:30px;width:72px;font-size:7px;z-index:2}

/* ===== camada básica de celular/tablet (a passada dedicada vem depois da aprovação do desktop) ===== */
@media (max-width:900px){
  .top{padding:12px 16px}
  .top-nav,.rail{display:none}
  .top-logo .ico{width:130px}
  .top-right .btn{display:none}
  .rack-sec,.w-intro,.b-grid,.checkin,.clara,.album{grid-template-columns:1fr}
  .itin-list{grid-template-columns:1fr 1fr}
  .itin-list li::after{display:none}
  .cards{grid-template-columns:1fr;max-width:380px;margin:0 auto}
  .reels{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;padding-bottom:10px;margin:0 calc(var(--pad)*-1);padding-inline:var(--pad)}
  .reels .phone{flex:0 0 46vw;scroll-snap-align:center}
  .lobby-phones .phone{width:26vw}
  .lobby-copy{max-width:100%}
  .lobby .note{display:none}
  .album-board{min-height:560px}
  .stamp{width:120px}
  .clara-photo{position:relative;top:0;max-width:420px}
  .quotes{grid-column:1}
  .live{height:auto}
  .live-stage{position:relative;height:auto;grid-template-columns:1fr;padding:20px 0}
  .live-feed{display:none}
  .pc{width:42vw}
  .card{grid-template-columns:1fr;transform:none}
  .trip-item{width:52vw}
  .pass{width:96px}
  .desk-logo .ico{width:80vw}
  .key-move,.key-ico{width:240px}
}
@media (max-width:560px){
  .itin-list{grid-template-columns:1fr}
  .lobby-phones .phone{width:30vw}
}
.trip-end{width:clamp(340px,36vw,540px);margin-right:4vw}
.trip-end .h-mid{font-size:clamp(26px,2.6vw,40px)}
