/* ===== HOME ===== */

/* hero — full-bleed */
.hero{position:relative;overflow:hidden;min-height:100svh;display:grid;align-items:end;isolation:isolate;color:var(--c-branco);padding-top:120px}
.hero .bg{position:absolute;inset:0;z-index:-2}
.hero .bg img{width:100%;height:100%;object-fit:cover;object-position:center 70%}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(31,33,26,.45) 0%,rgba(31,33,26,.55) 45%,rgba(31,33,26,.82) 100%)}
.hero .h-hero{font-size:clamp(2.25rem,4.6vw,4rem);line-height:1.06}
.hero .wrap{width:100%;padding-block:var(--s-8) var(--s-7);display:grid;gap:var(--s-8)}
.hero-copy{max-width:760px;display:grid;gap:var(--s-5);justify-items:start}
.hero-copy .lead{color:var(--c-linho-50);opacity:.92;margin-top:0;max-width:52ch}
.hero-tags{display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-4);font-size:var(--t-small);letter-spacing:.06em;color:var(--c-salvia-300)}
.hero-tags span+span::before{content:"•";margin-right:var(--s-4);opacity:.6}
@media(max-width:700px){.hero{min-height:auto;padding-top:100px}.hero .bg img{object-position:60% center}}

/* marquee */
.marquee{overflow:hidden;background:var(--c-oliva-900);color:var(--c-linho-50);padding-block:18px}
.marquee-track{display:flex;width:max-content;gap:0;animation:marquee 38s linear infinite;will-change:transform}
.marquee-track span{font-family:var(--f-display);font-weight:300;font-size:1.5rem;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;padding-inline:36px;display:inline-flex;align-items:center;gap:36px}
.marquee-track span::after{content:"";width:6px;height:6px;border-radius:50%;background:var(--c-ouro-500);flex:none}
.marquee-track span.ital{font-style:italic;text-transform:none;letter-spacing:.01em;color:var(--c-salvia-300)}
@keyframes marquee{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.marquee-track{animation-duration:120s}}

/* posicionamento */
.pos{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-8);align-items:start}
.pos .h-sec{font-size:clamp(1.75rem,3.2vw,2.75rem)}
.pos .lead{margin-top:0}
.pos-text{display:grid;gap:var(--s-4);padding-top:var(--s-5)}
.pos-text p:not(.lead){color:var(--c-carvao-600);max-width:58ch}
@media(max-width:900px){.pos{grid-template-columns:1fr}.pos-text{padding-top:0}}
.pos-photo{aspect-ratio:21/9;min-height:320px;overflow:hidden;margin-top:var(--s-8)}
.pos-photo img{width:100%;height:100%;object-fit:cover;object-position:center 60%}
.pos-sig{font-family:var(--f-display);font-style:italic;font-size:var(--t-h2);font-weight:300;color:var(--c-oliva-700);text-align:center;margin-top:var(--s-7)}

/* diferenciais — sangria lateral */
.bleed{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,96px);align-items:center}
.bleed .ph{align-self:stretch;height:auto;margin:0;min-height:480px;position:relative}
.bleed .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%}
#diferenciais.section{padding-block:64px}
.bleed.ph-left .ph{margin-inline-start:calc(50% - 50vw);border-radius:0 var(--r-md) var(--r-md) 0}
.bleed.ph-right .ph{margin-inline-end:calc(50% - 50vw);border-radius:var(--r-md) 0 0 var(--r-md);order:2}
@media(max-width:900px){.bleed{grid-template-columns:1fr}.bleed .ph,.bleed.ph-left .ph,.bleed.ph-right .ph{height:auto;min-height:0;aspect-ratio:4/5;position:relative;margin-inline:calc(-1*var(--gutter));border-radius:0!important;order:0!important}.bleed .ph img{object-position:center center}}
.features{display:grid;gap:0;margin-top:var(--s-6)}
.features li{padding-block:var(--s-5);border-top:var(--line);display:grid;gap:var(--s-2)}
.features li:last-child{border-bottom:var(--line)}
.features li p{color:var(--c-carvao-600);max-width:52ch}

/* tour */
.tour-head{display:grid;gap:var(--s-2);margin-bottom:var(--s-7)}
.tour-wrap{max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}

/* segmentos */
.segs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s-5);width:100%}
.segs>*{min-width:0}
@media(max-width:1000px){.segs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.segs{grid-template-columns:1fr}}

/* estrutura */
.struct{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-8);align-items:start}
@media(max-width:900px){.struct{grid-template-columns:1fr}}
.struct .sticky{position:sticky;top:120px}
@media(max-width:900px){.struct .sticky{position:static}.struct .sticky .ph{aspect-ratio:16/10}}
.struct .list .row{grid-template-columns:auto 1fr}

/* prova social — mosaico com parallax por coluna */
.mosaic{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-5);padding-inline:var(--gutter);margin-top:var(--s-8);overflow:hidden;padding-block:var(--s-6)}
.mosaic .col{display:grid;gap:var(--s-5);align-content:start;align-items:start;will-change:transform}
.mosaic .col:nth-child(2){margin-top:calc(-1*var(--s-8))}
.mosaic .ph{display:block;background:transparent;border-radius:var(--r-sm);overflow:hidden;cursor:zoom-in;clip-path:inset(0 round var(--r-sm));-webkit-clip-path:inset(0 round var(--r-sm))}
.mosaic .ph img{width:100%;height:auto;display:block;border-radius:var(--r-sm);object-fit:cover;transition:transform 700ms var(--ease-out)}
.mosaic .ph:hover img{transform:scale(1.03)}
@media(max-width:700px){.mosaic{grid-template-columns:1fr 1fr;gap:var(--s-3)}.mosaic .col{gap:var(--s-3)}.mosaic .col:nth-child(2){margin-top:0}.mosaic .col:nth-child(3){grid-column:1/-1;grid-template-columns:1fr 1fr}}

/* visita — tríptico com texto à esquerda + foto grudada à direita */
.visit{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center}
.visit .h-sec{font-size:clamp(1.75rem,3vw,2.5rem)}
.visit .text{padding:var(--s-9) var(--gutter);display:grid;align-content:center;gap:var(--s-5);max-width:calc(var(--container)/2);justify-self:end;width:100%}
.visit-photos{display:grid;grid-template-rows:1fr 1fr;gap:var(--s-3);align-self:stretch;min-height:0}
.visit-photos .ph{min-height:0}
.visit-photos .ph:first-child img{object-position:center 85%}
.visit .question{font-family:var(--f-display);font-style:italic;font-size:var(--t-h2);font-weight:300;color:var(--c-oliva-700);max-width:22ch}
@media(max-width:900px){.visit{grid-template-columns:1fr}.visit-photos{grid-template-rows:none;grid-template-columns:1fr;order:-1}.visit-photos .ph:first-child{display:none}.visit-photos .ph{aspect-ratio:16/10}.visit .text{max-width:none}}

/* faq */
.faq-head{margin-bottom:var(--s-7)}

/* cta final */
.cta-final{padding-block:var(--s-11)}
.cta-final .wrap{display:grid;gap:var(--s-5);justify-items:center;text-align:center;min-width:0}
.cta-final .wrap>*{max-width:100%}
.cta-final .h-sec{max-width:26ch;font-size:clamp(2rem,3.8vw,3.25rem)}
.cta-final .lead{margin-inline:auto;color:var(--c-linho-50);opacity:.95}
.cta-final .assin{margin-top:var(--s-7);display:grid;gap:var(--s-2);justify-items:center}
.cta-final .assin img{width:120px}
.cta-final .assin .sig{font-family:var(--f-display);font-style:italic;font-size:1.25rem;font-weight:300;color:var(--c-salvia-300)}
.cta-final .assin .loc{font-size:var(--t-small);letter-spacing:.1em;text-transform:uppercase;color:var(--c-salvia-300)}

/* ===== páginas internas ===== */
.hero-inner{min-height:min(88svh,820px)}
.hero-inner .hero-copy{padding-bottom:var(--s-4)}
.moments{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-3) var(--s-6);font-family:var(--f-display);font-size:var(--t-h3);font-weight:400;color:var(--c-oliva-700)}
.moments li{padding-left:18px;position:relative}
.moments li::before{content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;border-radius:50%;background:var(--c-ouro-500)}
@media(max-width:520px){.moments{grid-template-columns:1fr}}
.lines{display:grid}
.lines li{padding-block:var(--s-3);border-top:var(--line);font-family:var(--f-display);font-size:1.25rem;font-weight:400}
.lines li:last-child{border-bottom:var(--line)}
.lines.big li{font-size:var(--t-h3);padding-block:var(--s-4)}

/* 15 anos */
.styles{font-family:var(--f-display);font-style:italic;font-weight:300;font-size:var(--t-h2);color:var(--c-oliva-700);margin-top:var(--s-5)}
.styles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-4);margin-top:var(--s-8)}
.styles-grid .ph{aspect-ratio:3/4}
@media(max-width:700px){.styles-grid{grid-template-columns:1fr 1fr}.styles-grid .ph:last-child{grid-column:1/-1;aspect-ratio:16/10}}

/* corporativos */
.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-4)}
.stat-box{padding:var(--s-5);border:var(--line);border-radius:var(--r-sm);background:var(--c-branco)}
.stat-box .n{font-family:var(--f-display);font-weight:400;font-size:var(--t-stat);line-height:1;color:var(--c-oliva-700)}
.stat-box .l{font-size:var(--t-small);color:var(--c-carvao-600);margin-top:4px}
@media(max-width:600px){.stats-grid{gap:10px}.stat-box{padding:14px 16px}.stat-box .n{font-size:1.5rem;white-space:nowrap}.stat-box .l{font-size:.75rem;margin-top:2px}}
.moments.on-dark-list{color:var(--c-branco);max-width:560px;margin:var(--s-7) auto 0;text-align:left}
#atendimento .lead{margin-top:var(--s-7)}

/* a estância */
.amb-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-5) var(--s-4)}
@media(max-width:1000px){.amb-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.amb-grid{grid-template-columns:1fr}}
.amb{display:grid;gap:var(--s-2);align-content:start}
.amb .ph{aspect-ratio:4/3;border-radius:var(--r-sm);clip-path:inset(0 round var(--r-sm));-webkit-clip-path:inset(0 round var(--r-sm));margin-bottom:var(--s-2)}
.amb .ph img{transition:transform 600ms var(--ease-out)}
.amb:hover .ph img{transform:scale(1.03)}
.amb p{font-size:var(--t-small);color:var(--c-carvao-600)}
.excl{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--s-8);align-items:center}
@media(max-width:900px){.excl{grid-template-columns:1fr}}
.excl-box{padding:var(--s-6)}
.excl-box .h2{color:var(--c-branco)}

/* faq + contato */
.page-head{padding:calc(120px + var(--s-8)) 0 var(--s-8)}
.page-head .h-sec{font-size:clamp(2rem,3.8vw,3.25rem)}
.contact{padding:calc(120px + var(--s-6)) 0 var(--s-9)}
.contact-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(40px,7vw,120px);align-items:start}
.contact-text{display:grid;gap:var(--s-6);align-content:start;position:sticky;top:120px}
.contact-text .h-sec{font-size:clamp(2rem,3.2vw,2.75rem)}
.contact-text .lead{margin-top:0}
.contact-form{padding:var(--s-7);border:var(--line);border-radius:var(--r-md);background:var(--c-branco)}
@media(max-width:900px){.contact{padding-top:var(--s-9)}.contact-grid{grid-template-columns:1fr}.contact-text{position:static}.contact-form{padding:var(--s-5)}}
.form{display:grid;gap:var(--s-6)}
.form .pills{display:flex;flex-wrap:wrap;gap:var(--s-2)}
.form .pill{padding:10px 18px;border-radius:var(--r-pill);border:1px solid var(--c-areia-200);background:transparent;font:500 var(--t-small) var(--f-body);color:var(--c-carvao-900);cursor:pointer;transition:background var(--d-fast),border-color var(--d-fast),color var(--d-fast)}
.form .pill:hover{border-color:var(--c-salvia-300)}
.form .pill[aria-pressed="true"]{background:var(--c-oliva-700);border-color:var(--c-oliva-700);color:var(--c-branco)}
.field{display:grid;gap:6px}
.field label{font-size:var(--t-small);color:var(--c-carvao-600);letter-spacing:.02em}
.field input{border:0;border-bottom:1px solid var(--c-areia-200);background:transparent;padding:10px 0;font:400 1rem var(--f-body);color:var(--c-carvao-900);border-radius:0;outline:none;transition:border-color var(--d-fast);width:100%}
.field input:focus{border-bottom-color:var(--c-oliva-500)}
.field input::placeholder{color:var(--c-areia-200)}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-5)}
@media(max-width:600px){.f2{grid-template-columns:1fr}}
.form-ok{padding:var(--s-4) var(--s-5);border:1px solid var(--c-salvia-300);background:var(--c-salvia-100);border-radius:var(--r-sm);color:var(--c-oliva-900)}
.contact-direct{padding-top:var(--s-6);border-top:var(--line)}
.contact-list{display:grid;gap:6px;margin-top:var(--s-5);font-size:var(--t-small);color:var(--c-carvao-600)}
.contact-list a{color:inherit;text-decoration:none}

/* histórias */
.filter{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-bottom:var(--s-8)}
.filter .pill{padding:10px 18px;border-radius:var(--r-pill);border:1px solid var(--c-areia-200);background:transparent;font:500 var(--t-small) var(--f-body);color:var(--c-carvao-900);cursor:pointer;transition:background var(--d-fast),border-color var(--d-fast),color var(--d-fast)}
.filter .pill:hover{border-color:var(--c-salvia-300)}
.filter .pill[aria-pressed="true"]{background:var(--c-oliva-700);border-color:var(--c-oliva-700);color:var(--c-branco)}
.stories{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-6) var(--s-5)}
@media(max-width:900px){.stories{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.stories{grid-template-columns:1fr}}
.story{display:grid;gap:var(--s-2);text-decoration:none;color:inherit;align-content:start}
.story[hidden]{display:none}
.story .ph{aspect-ratio:3/4;border-radius:var(--r-sm);clip-path:inset(0 round var(--r-sm));-webkit-clip-path:inset(0 round var(--r-sm));margin-bottom:var(--s-2)}
.story .ph img{transition:transform 600ms var(--ease-out)}
.story:hover .ph img{transform:scale(1.03)}
.story .h2{transition:color var(--d-fast)}
.story:hover .h2{color:var(--c-oliva-700)}
.story p{font-size:var(--t-small);color:var(--c-carvao-600)}
.story .link{margin-top:var(--s-2);justify-self:start}
.story-gallery{columns:3;column-gap:var(--s-4);padding-inline:var(--gutter);margin-top:var(--s-5)}
@media(max-width:800px){.story-gallery{columns:2}}
.story-gallery .ph{display:block;break-inside:avoid;margin-bottom:var(--s-4);border-radius:var(--r-sm);clip-path:inset(0 round var(--r-sm));-webkit-clip-path:inset(0 round var(--r-sm));background:transparent;cursor:zoom-in}
.story-gallery .ph img{width:100%;height:auto;object-fit:cover;transition:transform 700ms var(--ease-out)}
.story-gallery .ph:hover img{transform:scale(1.03)}

/* obrigado */
.thanks{padding:calc(120px + var(--s-9)) 0 var(--s-11);min-height:80svh;display:grid;align-items:center}
.thanks .h-sec{margin-inline:auto;max-width:18ch}
.form-err{color:#9a4b2f}
.field-rel{position:relative}
.field-note{position:absolute;left:0;right:0;top:calc(100% + 10px);z-index:5;margin:0;padding:12px 14px;border:1px solid var(--c-salvia-300);border-left:2px solid var(--c-ouro-500);background:var(--c-linho-50);color:var(--c-oliva-900);border-radius:var(--r-sm);box-shadow:var(--shadow-card);opacity:0;transform:translateY(-6px);pointer-events:none;transition:opacity 300ms var(--ease-out),transform 300ms var(--ease-out)}
.field-note.is-visible{opacity:1;transform:none;pointer-events:auto}
.field-note a{color:var(--c-oliva-700);font-weight:500}
