/* ═══════════════════════════════════════════════════════════
   Raízes do Sobreiro
   Paleta e tipografia tiradas do logótipo e das publicações
   do Instagram @raizesdosobreiro.
   ═══════════════════════════════════════════════════════════ */

:root{
  --oliva:      #575C4A;
  --oliva-esc:  #3B3F32;
  --oliva-fund: #262A20;
  --areia:      #D5CCBB;
  --areia-cl:   #E6DFD2;
  --creme:      #F1ECE3;
  --creme-cl:   #F8F5EF;
  --carvao:     #22231D;

  --brasa:      #C2571F;
  --brasa-esc:  #9D4416;
  --brasa-cl:   #E8843F;

  --linha:      rgba(87,92,74,.22);
  --linha-cl:   rgba(241,236,227,.20);

  --script: 'Allura', cursive;
  --disp:   'Jost', system-ui, sans-serif;
  --body:   'Inter', system-ui, -apple-system, sans-serif;

  --wrap: 1220px;
  --pad:  clamp(1.15rem, 4vw, 2.75rem);
  --gap:  clamp(2rem, 5vw, 4rem);
  --sect: clamp(3.5rem, 8vw, 6.5rem);
  --r:    16px;
  --r-lg: 26px;
  --sh:   0 18px 44px -22px rgba(38,42,32,.55);
}

/* ── base ─────────────────────────────────────────────── */
*,*::before,*::after{ box-sizing:border-box }
[hidden]{ display:none !important }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; scroll-padding-top:78px }
body{
  margin:0; background:var(--creme); color:var(--carvao);
  font-family:var(--body); font-size:clamp(1rem,.96rem + .2vw,1.06rem);
  line-height:1.62; -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
img,svg,iframe{ max-width:100%; display:block }
a{ color:inherit }
button,input,select,textarea{ font:inherit; color:inherit }
:focus-visible{ outline:2.5px solid var(--brasa); outline-offset:3px; border-radius:4px }

.skip{
  position:absolute; left:1rem; top:-4rem; z-index:300;
  background:var(--oliva); color:var(--creme-cl);
  padding:.7rem 1.1rem; border-radius:10px; text-decoration:none; transition:top .18s;
}
.skip:focus{ top:1rem }
.wrap{ width:100%; max-width:var(--wrap); margin-inline:auto; padding-inline:var(--pad) }

/* ── tipografia ───────────────────────────────────────── */
.script{ font-family:var(--script); font-weight:400; line-height:.8; font-style:normal }

.eyebrow{
  font-family:var(--disp); font-weight:500; font-size:.7rem;
  letter-spacing:.2em; text-transform:uppercase;
  color:var(--brasa); margin:0 0 .7rem;
  display:flex; align-items:center; gap:.6rem;
}
.eyebrow::before{ content:""; width:22px; height:2px; background:currentColor; flex:none; border-radius:2px }
.eyebrow--light{ color:var(--brasa-cl) }

.h2{
  font-family:var(--disp); font-weight:500;
  font-size:clamp(1.85rem,1.3rem + 2.2vw,3rem);
  line-height:1.05; letter-spacing:-.02em;
  margin:0 0 1.1rem; color:var(--oliva-esc); text-wrap:balance;
}
.h2--light{ color:var(--creme-cl) }

.prose p{ margin:0 0 1rem; max-width:54ch; color:rgba(34,35,29,.82) }
.prose p:last-child{ margin-bottom:0 }

.lnk{
  font-family:var(--disp); font-weight:500; font-size:.86rem; letter-spacing:.04em;
  color:var(--brasa); text-decoration:none; white-space:nowrap;
  border-bottom:1.5px solid transparent; padding-bottom:2px; transition:border-color .16s;
}
.lnk:hover{ border-bottom-color:var(--brasa) }

/* ── botões ───────────────────────────────────────────── */
.btn{
  --bg:var(--oliva); --fg:var(--creme-cl); --bd:var(--oliva);
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  font-family:var(--disp); font-weight:500; font-size:.86rem;
  letter-spacing:.08em; text-transform:uppercase; text-decoration:none;
  padding:.76rem 1.4rem; border-radius:999px; cursor:pointer;
  background:var(--bg); color:var(--fg); border:1.5px solid var(--bd);
  transition:transform .18s ease, background-color .18s, color .18s, border-color .18s, box-shadow .18s;
}
.btn:hover{ transform:translateY(-2px); box-shadow:0 10px 22px -12px rgba(38,42,32,.7) }
.btn--sm{ padding:.5rem 1.05rem; font-size:.76rem }
.btn--lg{ padding:.92rem 1.75rem }
.btn--full{ width:100% }
.btn--ember{ --bg:var(--brasa); --fg:#FFF6EF; --bd:var(--brasa) }
.btn--ember:hover{ --bg:var(--brasa-esc); --bd:var(--brasa-esc) }
.btn--glass{
  --bg:rgba(255,255,255,.10); --fg:#fff; --bd:rgba(255,255,255,.5);
  backdrop-filter:blur(8px);
}
.btn--glass:hover{ --bg:rgba(255,255,255,.94); --fg:var(--oliva-fund); --bd:#fff }

/* ── etiquetas ────────────────────────────────────────── */
.tag{
  display:inline-block; font-family:var(--disp); font-weight:500; font-size:.66rem;
  letter-spacing:.14em; text-transform:uppercase;
  background:var(--areia); color:var(--oliva-esc);
  padding:.3rem .75rem; border-radius:999px;
}
.tag--ember{ background:var(--brasa); color:#FFF6EF }

.live{
  display:inline-flex; align-items:center; gap:.55rem; margin:0 0 1.4rem;
  font-family:var(--disp); font-weight:500; font-size:.74rem; letter-spacing:.14em;
  text-transform:uppercase; color:#fff;
  border:1px solid rgba(255,255,255,.4); border-radius:999px; padding:.42rem 1rem;
  background:rgba(0,0,0,.32); backdrop-filter:blur(8px);
}
.live__led{ width:8px; height:8px; border-radius:50%; background:var(--brasa-cl); flex:none }
.live.is-open .live__led{ background:#7DBB5E; box-shadow:0 0 0 4px rgba(125,187,94,.25) }

/* ── nav ──────────────────────────────────────────────── */
.nav{
  position:fixed; top:0; left:0; right:0; z-index:100;
  transition:background-color .3s, box-shadow .3s;
}
.nav__in{
  max-width:var(--wrap); margin-inline:auto; padding:.7rem var(--pad);
  display:flex; align-items:center; gap:1.4rem;
}
.nav.is-stuck{ background:rgba(241,236,227,.95); backdrop-filter:blur(14px); box-shadow:0 1px 0 var(--linha) }

.mark{ display:flex; align-items:center; gap:.6rem; text-decoration:none; flex:none }
.mark__badge{
  width:42px; height:42px; border-radius:50%;
  background:var(--oliva); color:var(--areia-cl);
  display:grid; place-items:center; flex:none;
  box-shadow:0 2px 10px rgba(0,0,0,.2);
}
.mark__badge svg{ width:100%; height:100% }
.mark__word{ display:flex; flex-direction:column; line-height:1 }
.mark__word .script{ font-size:1.8rem; color:#fff; margin-bottom:-.1em; transition:color .3s }
.mark__sub{
  font-family:var(--disp); font-weight:400; font-size:.58rem;
  letter-spacing:.32em; text-transform:uppercase;
  color:rgba(255,255,255,.8); padding-left:.15em; transition:color .3s;
}
.nav.is-stuck .mark__word .script{ color:var(--oliva-esc) }
.nav.is-stuck .mark__sub{ color:var(--oliva) }

.nav__links{ display:flex; gap:1.45rem; margin-left:auto }
.nav__links a{
  font-family:var(--disp); font-weight:400; font-size:.86rem; letter-spacing:.03em;
  text-decoration:none; color:#fff; padding:.3rem 0;
  border-bottom:2px solid transparent; transition:border-color .16s, color .3s;
  text-shadow:0 1px 8px rgba(0,0,0,.4);
}
.nav__links a:hover{ border-bottom-color:var(--brasa) }
.nav.is-stuck .nav__links a{ color:var(--oliva-esc); text-shadow:none }

.nav__end{ display:flex; align-items:center; gap:.9rem; flex:none }
.lang{ display:flex; align-items:center; gap:.4rem }
.lang__b{
  background:none; border:0; cursor:pointer; padding:.2rem .1rem;
  font-family:var(--disp); font-weight:500; font-size:.74rem; letter-spacing:.12em;
  color:#fff; opacity:.6; transition:opacity .16s, color .3s;
}
.lang__b.is-on{ opacity:1; text-decoration:underline; text-underline-offset:4px }
.lang__sep{ width:1px; height:11px; background:currentColor; opacity:.4; color:#fff }
.nav.is-stuck .lang__b{ color:var(--oliva) }
.nav.is-stuck .lang__sep{ color:var(--oliva) }

.burger{ display:none; background:none; border:0; cursor:pointer; padding:.6rem; margin-left:.2rem }
.burger span{ display:block; width:22px; height:2px; background:#fff; border-radius:2px; transition:transform .22s, background-color .3s }
.burger span+span{ margin-top:6px }
.nav.is-stuck .burger span{ background:var(--oliva-esc) }

/* ── hero ─────────────────────────────────────────────── */
.hero{
  position:relative; min-height:min(94svh,860px);
  display:grid; align-items:end;
  padding:8rem var(--pad) clamp(3rem,7vw,5rem);
  overflow:hidden; isolation:isolate;
}
.hero__img{
  position:absolute; inset:0; z-index:-2;
  width:100%; height:100%; object-fit:cover; object-position:50% 42%;
}
.hero__veil{
  position:absolute; inset:0; z-index:-1;
  background:
    linear-gradient(180deg, rgba(20,22,16,.62) 0%, rgba(20,22,16,.18) 32%, rgba(20,22,16,.55) 68%, rgba(20,22,16,.9) 100%),
    linear-gradient(90deg, rgba(38,42,32,.6) 0%, transparent 62%);
}
.hero__in{ position:relative; max-width:var(--wrap); width:100%; margin-inline:auto; color:#fff }
.hero__name{ margin:0 0 1rem }
.hero__script{
  display:block; color:#fff;
  font-size:clamp(3.6rem,12vw,8.5rem); padding-bottom:.05em;
  text-shadow:0 6px 40px rgba(0,0,0,.5);
}
.hero__sub{
  display:block; font-family:var(--disp); font-weight:300;
  font-size:clamp(.85rem,.45rem + 1.3vw,1.35rem);
  letter-spacing:.46em; text-transform:lowercase;
  color:rgba(255,255,255,.9); padding-left:.5em; margin-top:-.3em;
}
.hero__lede{
  font-family:var(--disp); font-weight:400;
  font-size:clamp(1.1rem,.9rem + .8vw,1.55rem);
  line-height:1.35; color:#fff; max-width:24ch; margin:0 0 1.9rem;
  text-shadow:0 2px 16px rgba(0,0,0,.5);
}
.hero__cta{ display:flex; gap:.7rem; flex-wrap:wrap; margin-bottom:1.6rem }
.hero__meta{
  margin:0; font-size:.85rem; color:rgba(255,255,255,.75);
  display:flex; flex-wrap:wrap; gap:.45rem;
}
.hero__meta .sep{ opacity:.5 }

/* ── tira corrida ─────────────────────────────────────── */
.tira{
  background:var(--brasa); color:#FFF3EA; overflow:hidden;
  padding:.72rem 0; border-block:1px solid rgba(0,0,0,.08);
}
.tira__run{
  display:flex; width:max-content; gap:0;
  animation:corre 42s linear infinite;
  font-family:var(--disp); font-weight:500; font-size:.78rem;
  letter-spacing:.2em; text-transform:uppercase; white-space:nowrap;
}
.tira__run span{ padding:0 1.6rem; position:relative }
.tira__run span::after{
  content:"◆"; position:absolute; right:-.42em; top:50%; transform:translateY(-50%);
  font-size:.5em; opacity:.55; letter-spacing:0;
}
@keyframes corre{ to{ transform:translateX(-50%) } }
.tira:hover .tira__run{ animation-play-state:paused }

/* ── secções ──────────────────────────────────────────── */
.section{ padding-block:var(--sect) }
.section--tight{ padding-block:clamp(2.75rem,5vw,4.25rem) }
.section--pale{ background:var(--areia-cl) }
.section--dark{ background:var(--oliva-fund); color:var(--creme) }

.shead{ max-width:640px; margin-bottom:clamp(1.9rem,4vw,3rem) }
.shead--row{ max-width:none; display:flex; align-items:flex-end; justify-content:space-between; gap:1.5rem; flex-wrap:wrap }
.shead--row > div{ max-width:640px }
.shead .h2{ margin-bottom:.6rem }
.shead__note{ margin:0; color:rgba(241,236,227,.62); max-width:50ch; font-size:.96rem }

.grid-2{ display:grid; gap:var(--gap); grid-template-columns:1fr; align-items:start }
@media (min-width:920px){
  .grid-2{ grid-template-columns:1.02fr .98fr }
  .grid-2--tight{ grid-template-columns:.9fr 1.1fr; align-items:center }
  .grid-2--map{ grid-template-columns:.85fr 1.15fr; align-items:center }
}

/* ── destaques ────────────────────────────────────────── */
.destaques{ display:grid; gap:1.35rem; grid-template-columns:1fr }
@media (min-width:720px){ .destaques{ grid-template-columns:repeat(3,1fr) } }

.dcard{
  position:relative; background:var(--creme-cl); border-radius:var(--r-lg);
  overflow:hidden; box-shadow:var(--sh); border:1px solid var(--linha);
  transition:transform .3s cubic-bezier(.2,.7,.3,1), box-shadow .3s;
}
.dcard:hover{ transform:translateY(-6px); box-shadow:0 26px 52px -24px rgba(38,42,32,.6) }
.dcard__img{ aspect-ratio:5/4; overflow:hidden }
.dcard__img img{ width:100%; height:100%; object-fit:cover; transition:transform .6s cubic-bezier(.2,.7,.3,1) }
.dcard:hover .dcard__img img{ transform:scale(1.06) }
.dcard .tag{ position:absolute; top:.9rem; left:.9rem; z-index:2; box-shadow:0 3px 12px rgba(0,0,0,.25) }
.dcard__body{ padding:1.15rem 1.25rem 1.35rem }
.dcard__body h3{
  margin:0 0 .4rem; font-family:var(--disp); font-weight:500; font-size:1.14rem;
  letter-spacing:-.01em; color:var(--oliva-esc);
}
.dcard__body p{ margin:0; font-size:.92rem; line-height:1.5; color:rgba(34,35,29,.66) }
.dcard__p{
  margin-top:.85rem !important; font-family:var(--disp); font-weight:600;
  font-size:1.22rem; color:var(--brasa) !important;
}
.dcard__p i{ font-style:normal; font-size:.68em; font-weight:400; opacity:.75 }

/* ── factos ───────────────────────────────────────────── */
.facts{ list-style:none; margin:1.9rem 0 0; padding:0; border-top:1px solid var(--linha) }
.facts li{ display:grid; gap:.1rem; padding:.8rem 0; border-bottom:1px solid var(--linha) }
.facts strong{
  font-family:var(--disp); font-weight:500; font-size:.72rem;
  letter-spacing:.18em; text-transform:uppercase; color:var(--brasa);
}
.facts span{ font-size:.95rem; color:rgba(34,35,29,.78) }
@media (min-width:520px){ .facts li{ grid-template-columns:150px 1fr; gap:1rem; align-items:baseline } }

/* ── colagem ──────────────────────────────────────────── */
.colagem{ position:relative; padding-bottom:2.5rem }
.colagem figure{ margin:0; border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--sh) }
.colagem img{ width:100%; height:100%; object-fit:cover }
.colagem__a{ aspect-ratio:4/5 }
.colagem__b{
  position:absolute; right:-.5rem; bottom:0; width:48%; aspect-ratio:1/1;
  border:6px solid var(--creme) !important;
}
.selo{
  position:absolute; left:-.75rem; bottom:3.5rem; z-index:3;
  width:92px; height:92px; border-radius:50%;
  background:var(--brasa); color:#FFF3EA;
  display:grid; place-content:center; text-align:center; gap:.1rem;
  box-shadow:0 10px 26px -10px rgba(0,0,0,.6);
  transform:rotate(-7deg);
}
.selo__n{ font-family:var(--disp); font-weight:300; font-size:2.5rem; line-height:1 }
.selo__t{ font-family:var(--disp); font-size:.52rem; letter-spacing:.14em; text-transform:uppercase; opacity:.9 }

/* ── carta ────────────────────────────────────────────── */
.tabs{
  display:flex; gap:.45rem; flex-wrap:wrap;
  padding-bottom:1.4rem; margin-bottom:2rem; border-bottom:1px solid var(--linha-cl);
}
.tab{
  background:rgba(255,255,255,.06); border:1px solid transparent; cursor:pointer;
  font-family:var(--disp); font-weight:500; font-size:.8rem; letter-spacing:.1em; text-transform:uppercase;
  color:rgba(241,236,227,.68); padding:.48rem 1.05rem; border-radius:999px;
  transition:color .16s, background-color .16s;
}
.tab:hover{ color:#fff; background:rgba(255,255,255,.13) }
.tab.is-on{ color:#FFF6EF; background:var(--brasa) }

.panel{ display:grid; gap:var(--gap); grid-template-columns:1fr; align-items:start }
@media (min-width:900px){ .panel{ grid-template-columns:.72fr 1.28fr } }

.pfoto{ margin:0; border-radius:var(--r-lg); overflow:hidden; position:relative; box-shadow:var(--sh) }
.pfoto img{ width:100%; aspect-ratio:4/5; object-fit:cover }
@media (max-width:899px){ .pfoto img{ aspect-ratio:16/9 } }
.pfoto figcaption{
  position:absolute; left:0; right:0; bottom:0; padding:2.5rem .95rem .85rem;
  font-family:var(--disp); font-size:.78rem; letter-spacing:.1em; text-transform:uppercase; color:#fff;
  background:linear-gradient(transparent, rgba(20,22,16,.82));
}

.carta{ list-style:none; margin:0; padding:0 }
.carta li{
  display:grid; grid-template-columns:auto 1fr auto;
  align-items:baseline; column-gap:.7rem; row-gap:.25rem;
  padding:.95rem 0; border-bottom:1px solid var(--linha-cl);
}
.carta li:first-child{ border-top:1px solid var(--linha-cl) }
.carta h3{
  grid-column:1; margin:0; font-family:var(--disp); font-weight:400; font-size:1.05rem;
  color:var(--creme-cl); display:flex; align-items:baseline; gap:.5rem; flex-wrap:wrap;
}
.veg{
  font-family:var(--disp); font-style:normal; font-size:.6rem; font-weight:500;
  letter-spacing:.12em; text-transform:uppercase;
  color:#A9CB8C; border:1px solid rgba(169,203,140,.45); border-radius:999px; padding:.1rem .45rem;
}
.dots{
  grid-column:2; height:1px; align-self:end; margin-bottom:.35em;
  background-image:radial-gradient(circle, rgba(241,236,227,.4) 1px, transparent 1.2px);
  background-size:6px 1px; background-repeat:repeat-x;
}
.carta b{
  grid-column:3; font-family:var(--disp); font-weight:500; font-size:1.02rem;
  color:var(--brasa-cl); white-space:nowrap;
}
.carta b i{ font-style:normal; opacity:.62; font-size:.84em; font-weight:400 }
.carta b.b--var{ font-size:.76rem; letter-spacing:.08em; text-transform:uppercase; opacity:.8 }
.carta p{
  grid-column:1 / -1; margin:0; font-size:.9rem; line-height:1.5;
  color:rgba(241,236,227,.55); max-width:58ch;
}
.alerg{ margin:2rem 0 0; font-size:.8rem; color:rgba(241,236,227,.45); max-width:70ch }

/* ── galeria ──────────────────────────────────────────── */
.galeria{ display:grid; gap:.9rem; grid-template-columns:repeat(2,1fr) }
@media (min-width:820px){
  .galeria{ grid-template-columns:repeat(4,1fr); grid-auto-rows:200px; grid-auto-flow:row dense }
  .slot--tall{ grid-row:span 2 }
  .slot--wide{ grid-column:span 2 }
}
.slot{
  position:relative; margin:0; overflow:hidden; border-radius:var(--r);
  min-height:180px; cursor:zoom-in; background:var(--areia);
  box-shadow:0 10px 26px -18px rgba(38,42,32,.7);
}
.slot img{ width:100%; height:100%; object-fit:cover; transition:transform .6s cubic-bezier(.2,.7,.3,1) }
.slot:hover img{ transform:scale(1.07) }
.slot figcaption{
  position:absolute; left:0; right:0; bottom:0; padding:2.2rem .9rem .8rem;
  font-family:var(--disp); font-size:.78rem; letter-spacing:.08em; color:#fff;
  background:linear-gradient(transparent, rgba(20,22,16,.8));
}

/* lightbox */
.lb{
  position:fixed; inset:0; z-index:400; display:grid; place-items:center;
  background:rgba(18,20,15,.93); padding:clamp(1rem,4vw,3rem); cursor:zoom-out;
}
.lb__fig{ margin:0; max-width:1100px; text-align:center }
.lb__fig img{ max-height:80svh; width:auto; margin-inline:auto; border-radius:var(--r) }
.lb__fig figcaption{
  margin-top:.9rem; font-family:var(--disp); font-size:.82rem;
  letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.72);
}
.lb__x{
  position:absolute; top:1rem; right:1.2rem; z-index:2;
  background:none; border:0; color:#fff; font-size:2.6rem; line-height:1;
  cursor:pointer; opacity:.75; padding:.2rem .6rem;
}
.lb__x:hover{ opacity:1 }

/* ── reservar ─────────────────────────────────────────── */
.reservar{ position:relative; padding-block:var(--sect); overflow:hidden; isolation:isolate }
.reservar__bg{
  position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover;
}
.reservar::before{
  content:""; position:absolute; inset:0; z-index:-1;
  background:linear-gradient(180deg, rgba(26,29,21,.9) 0%, rgba(26,29,21,.66) 45%, rgba(26,29,21,.9) 100%);
}
.alcova{
  background:rgba(58,63,50,.72); backdrop-filter:blur(14px);
  border:1px solid rgba(241,236,227,.14);
  color:var(--creme-cl); border-radius:var(--r-lg);
  padding:clamp(1.6rem,4vw,3.2rem);
  box-shadow:0 30px 70px -30px rgba(0,0,0,.8);
}
.alcova__head{ max-width:620px; margin-bottom:2rem }
.alcova__note{ margin:0; color:rgba(241,236,227,.72); max-width:52ch; font-size:.94rem }

.form{ display:grid; gap:1.05rem 1rem; grid-template-columns:1fr }
@media (min-width:720px){
  .form{ grid-template-columns:repeat(6,1fr) }
  .f{ grid-column:span 6 }
  .f--half{ grid-column:span 3 }
  .f--third{ grid-column:span 2 }
}
.f{ display:grid; gap:.35rem; align-content:start; min-width:0; border:0; padding:0; margin:0 }
.f label,.f legend{
  font-family:var(--disp); font-weight:500; font-size:.72rem; letter-spacing:.14em;
  text-transform:uppercase; color:rgba(241,236,227,.72); padding:0;
}
.f input,.f select,.f textarea{
  width:100%; background:rgba(0,0,0,.22); color:var(--creme-cl);
  border:1px solid rgba(241,236,227,.24); border-radius:12px;
  padding:.76rem .9rem; font-size:1rem; font-family:var(--body);
  transition:border-color .16s, background-color .16s;
}
.f textarea{ resize:vertical; min-height:84px }
.f input::placeholder,.f textarea::placeholder{ color:rgba(241,236,227,.36) }
.f input:hover,.f select:hover,.f textarea:hover{ border-color:rgba(241,236,227,.45) }
.f input:focus,.f select:focus,.f textarea:focus{
  outline:none; border-color:var(--brasa-cl); background:rgba(0,0,0,.34);
}
.f input:focus-visible,.f select:focus-visible,.f textarea:focus-visible{ outline:2px solid var(--brasa-cl); outline-offset:2px }
.f select{
  appearance:none; cursor:pointer; padding-right:2.2rem;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%23E6DFD2' stroke-width='1.6'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right .9rem center;
}
.f select option,.f select optgroup{ background:var(--oliva-esc); color:var(--creme-cl) }
.f input[type="date"]::-webkit-calendar-picker-indicator{ filter:invert(1) opacity(.6); cursor:pointer }
.f.is-bad input,.f.is-bad select{ border-color:var(--brasa-cl) }
.err{ margin:0; font-size:.79rem; color:var(--brasa-cl) }
.err:empty{ display:none }

.chips{ display:flex; flex-wrap:wrap; gap:.45rem; margin-top:.1rem }
.chips .chip{ position:relative; cursor:pointer; display:block }
.chips .chip input{ position:absolute; opacity:0; width:0; height:0 }
.chips .chip span{
  display:block; padding:.48rem .95rem; border-radius:999px;
  border:1px solid rgba(241,236,227,.26); font-size:.87rem;
  color:rgba(241,236,227,.8); transition:all .16s;
}
.chips .chip:hover span{ border-color:rgba(241,236,227,.55) }
.chips .chip input:checked + span{ background:var(--brasa); color:#FFF6EF; border-color:var(--brasa) }
.chips .chip input:focus-visible + span{ outline:2px solid var(--brasa-cl); outline-offset:2px }

.f--send{ margin-top:.3rem }
.fineprint{
  margin:.8rem 0 0; font-size:.79rem; color:rgba(241,236,227,.5);
  display:flex; flex-wrap:wrap; gap:.2rem .8rem; justify-content:space-between;
}
.fineprint a{ color:rgba(241,236,227,.75); text-underline-offset:3px }

.done{ text-align:center; padding:.5rem 0; max-width:520px; margin-inline:auto }
.done__seal{ width:58px; height:58px; margin:0 auto 1rem; color:var(--brasa-cl) }
.done__t{ font-family:var(--disp); font-weight:500; font-size:clamp(1.6rem,1.2rem + 1.4vw,2.2rem); margin:0 0 .5rem; color:var(--creme-cl) }
.done__s{ margin:0 0 1.6rem; color:rgba(241,236,227,.74); font-size:.96rem }
.done__list{
  margin:0 0 1.3rem; padding:1.1rem 1.2rem; text-align:left;
  border:1px solid rgba(241,236,227,.2); border-radius:14px;
  display:grid; grid-template-columns:auto 1fr; gap:.5rem 1.1rem;
}
.done__list dt{ font-family:var(--disp); font-size:.7rem; letter-spacing:.13em; text-transform:uppercase; color:rgba(241,236,227,.55) }
.done__list dd{ margin:0; font-size:.96rem; color:var(--creme-cl) }
.done__ref{ margin:0 0 1.4rem; font-family:var(--disp); font-size:.76rem; letter-spacing:.18em; text-transform:uppercase; color:var(--brasa-cl) }

/* ── levar ────────────────────────────────────────────── */
.foto-solta{ margin:0; position:relative; border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--sh) }
.foto-solta img{ width:100%; aspect-ratio:4/3; object-fit:cover }
.tag--float{ position:absolute; top:1rem; left:1rem; box-shadow:0 4px 14px rgba(0,0,0,.3) }

#levar .btn{ margin-bottom:1.6rem }
.apps__list{ list-style:none; margin:0 0 1rem; padding:0; display:flex; flex-wrap:wrap; gap:.5rem }
.apps__list li{
  display:flex; align-items:center; gap:.6rem;
  border:1px solid var(--linha); border-radius:999px; padding:.42rem .5rem .42rem 1rem;
  background:var(--creme-cl);
}
.apps__n{ font-family:var(--disp); font-weight:500; font-size:.92rem; color:var(--oliva-esc) }
.apps__s{
  font-family:var(--disp); font-size:.62rem; letter-spacing:.12em; text-transform:uppercase;
  color:var(--oliva); background:var(--areia); padding:.2rem .6rem; border-radius:999px;
}
.apps__note{ margin:0; font-size:.85rem; color:rgba(34,35,29,.6); max-width:50ch }

/* ── chegar cá ────────────────────────────────────────── */
.info{ margin:0 }
.info dt{
  font-family:var(--disp); font-weight:500; font-size:.7rem; letter-spacing:.18em;
  text-transform:uppercase; color:var(--brasa); margin-top:1.35rem;
}
.info dt:first-of-type{ margin-top:0 }
.info dd{ margin:.3rem 0 0; color:rgba(34,35,29,.86) }
.info dd a{ color:var(--oliva-esc); text-underline-offset:3px }
.info .row{ display:flex; flex-wrap:wrap; gap:.1rem .9rem; align-items:baseline }
.info .row em{ font-style:normal; color:rgba(34,35,29,.6); min-width:9.5rem }
.info .row b{ font-weight:500 }

.mapa{ position:relative; border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--sh) }
.mapa iframe{ width:100%; height:clamp(280px,40vw,430px); border:0; filter:saturate(.75) contrast(.97) }
.mapa__link{
  position:absolute; left:.85rem; top:.85rem;
  background:var(--brasa); color:#FFF6EF; text-decoration:none;
  font-family:var(--disp); font-weight:500; font-size:.72rem; letter-spacing:.1em; text-transform:uppercase;
  padding:.5rem 1rem; border-radius:999px; box-shadow:0 3px 14px rgba(0,0,0,.3);
}

/* ── rodapé ───────────────────────────────────────────── */
.footer{ background:var(--oliva-fund); color:var(--creme); padding-block:clamp(2.75rem,6vw,4rem) }
.footer__in{ display:grid; gap:1.8rem }
@media (min-width:760px){
  .footer__in{ grid-template-columns:1fr auto; align-items:end }
  .footer__demo{ grid-column:1 / -1 }
}
.footer__script{ display:block; font-size:3.2rem; color:var(--areia-cl); margin-bottom:-.14em }
.footer__sub{
  display:block; font-family:var(--disp); font-size:.62rem;
  letter-spacing:.34em; text-transform:uppercase; color:rgba(241,236,227,.6); padding-left:.3em;
}
.footer__tag{ margin:.8rem 0 0; font-size:.88rem; color:rgba(241,236,227,.55) }
.footer__nav{ display:flex; flex-wrap:wrap; gap:1.2rem }
.footer__nav a{
  font-family:var(--disp); font-size:.84rem; color:rgba(241,236,227,.8);
  text-decoration:none; padding-bottom:.2rem; border-bottom:2px solid transparent;
  transition:border-color .16s, color .16s;
}
.footer__nav a:hover{ color:#fff; border-bottom-color:var(--brasa) }
.footer__demo{
  margin:1.4rem 0 0; padding-top:1.2rem; border-top:1px solid rgba(241,236,227,.14);
  font-size:.76rem; color:rgba(241,236,227,.4);
}

/* ── revelação ────────────────────────────────────────── */
.reveal{ opacity:0; transform:translateY(20px); transition:opacity .7s ease, transform .7s cubic-bezier(.2,.7,.3,1) }
.reveal.is-in{ opacity:1; transform:none }

/* ── responsivo ───────────────────────────────────────── */
@media (max-width:1040px){
  .nav__links{
    position:fixed; inset:62px 0 auto; flex-direction:column; gap:0;
    background:var(--creme-cl); border-bottom:1px solid var(--linha);
    padding:.4rem var(--pad) 1.1rem; margin:0;
    transform:translateY(-130%); transition:transform .3s cubic-bezier(.2,.7,.3,1);
  }
  .nav__links a{ color:var(--oliva-esc) !important; text-shadow:none; padding:.8rem 0; border-bottom:1px solid var(--linha) }
  .nav.is-open .nav__links{ transform:none }
  .nav__end{ margin-left:auto }
  .burger{ display:block }
  .nav.is-open .burger span:first-child{ transform:translateY(4px) rotate(45deg) }
  .nav.is-open .burger span:last-child{ transform:translateY(-4px) rotate(-45deg) }
}
@media (max-width:600px){
  .nav__end .btn{ display:none }
  .mark__word .script{ font-size:1.55rem }
  .hero{ min-height:88svh; padding-top:6.5rem }
  .hero__cta .btn--tel{ display:none }
  .carta li{ grid-template-columns:1fr auto }
  .dots{ display:none }
  .carta h3{ grid-column:1 }
  .carta b{ grid-column:2 }
  .galeria{ grid-template-columns:1fr }
  .colagem__b{ width:52%; right:0 }
  .selo{ width:76px; height:76px; left:-.4rem }
  .selo__n{ font-size:2rem }
  .fineprint{ justify-content:flex-start }
}

@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto }
  *,*::before,*::after{ animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important }
  .reveal{ opacity:1; transform:none }
  .tira__run{ animation:none }
}

@media print{
  .nav,.hero__cta,.reservar,.mapa,.burger,.tira,.lb{ display:none }
  body{ background:#fff; color:#000 }
  .section--dark{ background:#fff; color:#000 }
  .carta h3,.carta b,.h2--light{ color:#000 }
}
