/* AURELIA RESORT — static, self-contained luxury design. No motion or external assets. */
:root{--ivory:#f7f4ec;--paper:#fffdf7;--sand:#e8dfcf;--clay:#cab99c;--olive:#343c2d;--olive-light:#535e46;--ink:#292b25;--muted:#67695e;--gold:#997b46;--champagne:#d3bd8c;--line:#d7d0c0;--serif:'Palatino Linotype','Book Antiqua',Palatino,Georgia,serif;--sans:'Segoe UI','Helvetica Neue',Arial,sans-serif;--gutter:clamp(1.25rem,4.5vw,5rem)}
*{box-sizing:border-box}html{color-scheme:light;scroll-padding-top:2rem}body{margin:0;background:var(--ivory);color:var(--ink);font:1rem/1.8 var(--sans)}[hidden]{display:none!important}::selection{background:var(--sand);color:var(--olive)}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.12;text-wrap:balance}h1{font-size:clamp(3rem,6.6vw,6.75rem);letter-spacing:-.055em;margin:0 0 1.5rem}h2{font-size:clamp(2rem,3.4vw,3.7rem);letter-spacing:-.035em;margin:0 0 1.6rem}h3{font-size:clamp(1.6rem,2.2vw,2.4rem);letter-spacing:-.025em;margin:0 0 1rem}p{margin:0 0 1.35rem}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.35em}a:hover{color:var(--gold)}a:focus-visible,button:focus-visible,[tabindex]:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:5px}
button,input,select,textarea{font:inherit}button{min-height:46px;padding:.85rem 1.2rem;border:1px solid var(--olive);background:var(--olive);color:var(--ivory);cursor:pointer}button:hover:not(:disabled){background:var(--olive-light)}button:disabled{cursor:not-allowed;background:#e3dfd4;color:#64665c;border-color:#cac5b8}
section,article,nav,header,footer,form,fieldset,.carousel,.card-copy{min-width:0}section,article{scroll-margin-top:2rem}main p,main li,address,dd{overflow-wrap:anywhere}main p{max-width:70ch}main li{padding-left:.3rem;margin-bottom:.65rem}main ul{padding-left:1.1rem}main li::marker{color:var(--gold)}main a{font-size:.86rem;font-weight:500}main p>a{display:inline-block;margin:.3rem .25rem .3rem 0}.eyebrow{font-size:.65rem;font-weight:600;letter-spacing:.21em;line-height:1.8;text-transform:uppercase;color:var(--gold)}
.skip-link{position:absolute;top:.5rem;left:1rem;z-index:20;padding:.8rem 1rem;background:var(--paper);transform:translateY(-180%)}.skip-link:focus{transform:none}
/* Shared masthead; navigation is visible when JavaScript is unavailable. */
.site-header{max-width:1600px;margin:auto;padding:1.6rem var(--gutter);display:grid;grid-template-columns:245px minmax(0,1fr);gap:2rem;align-items:center;border-bottom:1px solid var(--line)}.brand-name{display:flex;align-items:center;gap:.9rem;text-decoration:none;font-family:var(--serif);font-size:1rem;letter-spacing:.13em;white-space:nowrap}.brand-mark{display:grid;place-items:center;flex:0 0 35px;width:35px;height:43px;border:1px solid var(--gold);border-radius:50% 50% 0 0;color:var(--gold);font-size:1.7rem;letter-spacing:0;line-height:1}.brand p{margin:.35rem 0 0 3.1rem;color:var(--muted);font-size:.58rem;letter-spacing:.12em;text-transform:uppercase}
.site-header nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.55rem 1.3rem;align-items:center;justify-content:flex-end}.site-header nav a{display:inline-block;padding:.5rem 0;font-size:.7rem;text-decoration:none}.site-header nav a[aria-current]{color:var(--olive);box-shadow:0 1px 0 var(--gold)}.menu-toggle{background:transparent;color:var(--olive);font-size:.75rem;padding:.5rem .8rem}.menu-toggle span{margin-left:.7rem}
main{width:100%;max-width:1500px;margin:0 auto;padding:0 var(--gutter) 6rem}main>section{margin:5.5rem 0}main>section:last-child{margin-bottom:0}.page-intro{position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);column-gap:6%;padding:4.5rem 0 3.5rem;margin-bottom:4rem;border-bottom:1px solid var(--line)}.page-intro .eyebrow{grid-column:1/-1;margin-bottom:2rem}.page-intro h1{grid-column:1;grid-row:2/span 3;align-self:start}.page-intro>p:not(.eyebrow){grid-column:2;position:relative;z-index:1}.page-intro>p[id]{font-size:.78rem;border-left:2px solid var(--gold);padding:.9rem 1.2rem;background:#eeeadf}
/* Geometric artwork evokes sun, stone, and vaulted architecture. */
.architectural-art{position:relative;overflow:hidden;isolation:isolate;min-height:460px;background:linear-gradient(125deg,#ddd0b7,#eee6d6 60%,#c4b291)}.architectural-art::before{content:'';position:absolute;inset:6% 12% -10%;border:1px solid #ac956f;border-radius:48% 48% 0 0}.architectural-art::after{content:'';position:absolute;width:60%;height:68%;bottom:-10%;right:-20%;background:#d9cbb2;border:1px solid #b7a17f;border-radius:50% 50% 0 0;transform:rotate(-22deg);z-index:-1}
/* Home: oversized typography, offset panels, and an architectural hero. */
.home-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);position:relative;gap:4%;margin:0;padding:3rem 0 5.5rem}.hero-copy{padding-top:1.25rem;position:relative;z-index:1}.hero-copy h1{font-size:clamp(4rem,7.9vw,8.5rem);letter-spacing:-.055em;max-width:9ch;line-height:.94;margin:2.2rem 0 1.6rem}.hero-copy h1+p{font:italic clamp(1.4rem,2.2vw,2.25rem)/1.4 var(--serif);max-width:24ch}.hero-copy>p:not(.eyebrow):not(h1+p){font-size:.88rem;max-width:53ch}.hero-copy .eyebrow span{margin-left:1rem}.hero-copy>p:has(a){margin-top:1.8rem}.hero-copy a:first-child{background:var(--olive);color:var(--ivory);text-decoration:none;padding:.85rem 1rem;margin-right:.6rem}.hero-footnote{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem;border-top:1px solid var(--line);margin-top:2.4rem;padding-top:1rem;max-width:460px;color:var(--muted);font-size:.57rem;letter-spacing:.13em;text-transform:uppercase}.art-hero{margin:1.5rem 0 2rem;min-height:620px;border-radius:48% 48% 0 0}.hero-index{position:absolute;right:0;bottom:3.5rem;color:var(--muted);font-size:.62rem;text-transform:uppercase;letter-spacing:.17em}
.editorial-stay{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem 8%;margin:-1.8rem 0 6rem 9%;padding:3.5rem;background:var(--sand);box-shadow:-1.5rem 1.5rem 0 #efeade}.editorial-stay .eyebrow{grid-column:1/-1}.editorial-stay h2{grid-row:span 2}.editorial-stay>p:not(.eyebrow){grid-column:2}.section-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 2rem;align-items:end}.section-heading .eyebrow{grid-column:1/-1}.section-heading h2{max-width:16ch}.section-heading>a{margin-bottom:1.8rem}.editorial-moments>:not(.editorial-emblem){grid-column:2}.home-experiences{background:var(--olive);color:var(--ivory);padding:3rem}.home-experiences .eyebrow{color:var(--champagne)}.home-experiences .scroll-hint{color:var(--sand)}.home-experiences .carousel-controls button{border-color:#aab09b;color:var(--ivory)}.home-experiences .carousel-controls button:disabled{color:#b1b5a7;border-color:#626b57}.hospitality-panel>p:not(.eyebrow){grid-column:2}
/* Sideways collections: scrolling works without scripts, with optional arrow controls. */
.carousel{width:100%}.carousel-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.8rem;margin:0 0 1.3rem}.scroll-hint{font-size:.62rem;letter-spacing:.1em;color:var(--muted);margin:0;text-transform:uppercase}.scroll-hint span{margin-left:1rem;font-size:1.25rem}.carousel-controls{display:flex;gap:.5rem;align-items:center}.carousel-count{min-width:4.5rem;font-size:.64rem;letter-spacing:.14em;font-variant-numeric:tabular-nums}.carousel-controls button{display:grid;place-items:center;width:46px;height:46px;padding:0;border:1px solid var(--line);background:transparent;color:var(--olive);border-radius:50%;font-size:1.2rem}.carousel-controls button:hover:not(:disabled){background:var(--sand);color:var(--olive)}.carousel-controls button:disabled{opacity:.6;background:transparent}
.carousel-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,39%);gap:1.5rem;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-padding-inline:1px;padding:4px 4px 1.5rem;scrollbar-color:var(--gold) transparent;scrollbar-width:thin}.carousel-track::-webkit-scrollbar{height:5px}.carousel-track::-webkit-scrollbar-thumb{background:var(--gold)}.carousel-track::-webkit-scrollbar-track{background:#d4cbb733}.carousel-track.is-dragging{cursor:grabbing;user-select:none;scroll-snap-type:none}.collection-card{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);color:var(--ink);scroll-snap-align:start}.card-illustration{height:220px;position:relative;overflow:hidden;background:#e4dac7;flex-shrink:0}.tone-1 .card-illustration{background:#c5c6b1}.tone-2 .card-illustration{background:#cbbba0}
.card-copy{padding:clamp(1.25rem,2.2vw,2.2rem);flex:1;display:flex;flex-direction:column}.card-copy h3{font-size:clamp(1.7rem,2.3vw,2.5rem)}.card-copy>p{font-size:.84rem}.card-copy>p:last-child:has(a){margin-top:auto;padding-top:1.2rem;margin-bottom:0}.card-copy dl{margin-bottom:1.5rem}dl{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);margin:1.4rem 0;font-size:.82rem}dt{color:var(--muted);padding:.7rem .6rem .7rem 0;border-bottom:1px solid var(--line)}dd{margin:0;padding:.7rem 0 .7rem .6rem;border-bottom:1px solid var(--line)}.main-suites>section[aria-labelledby='comforts']>:not(h2){grid-column:2}
/* Experience chapters: editorial sidebars and two-card rails. */
.main-experiences>section:not([aria-labelledby='arrangements']){display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1.6fr);gap:5%;padding-block:1rem 3rem;border-bottom:1px solid var(--line)}
/* Suite details alternate architecture and structured accommodation notes. */
.main-details>nav ul{display:flex;flex-wrap:wrap;gap:.75rem;list-style:none;padding:0}.suite-editorial-copy>p:not(.eyebrow){font-size:.9rem}.suite-editorial:nth-of-type(even) .architectural-art{order:2}
/* Disabled forms keep labels and future controls legible. */
fieldset{border:0;padding:0;margin:0 0 2rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}legend{width:100%;padding:0 0 1rem;margin-bottom:.8rem;border-bottom:1px solid var(--line);color:var(--muted);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase}fieldset p{margin:0}fieldset label{display:inline-block;font-size:.75rem;margin-bottom:.5rem}input:not([type='checkbox']),select,textarea{width:100%;min-width:0;min-height:49px;border:1px solid #c9c4b5;border-radius:0;background:#faf7ef;color:var(--ink);padding:.8rem;font-size:.85rem}input:disabled,select:disabled,textarea:disabled{opacity:1;color:#68695e;-webkit-text-fill-color:#68695e;cursor:not-allowed}textarea{resize:vertical}input[type='checkbox']{width:17px;height:17px;vertical-align:middle;accent-color:var(--olive);margin:0 .5rem 0 0}fieldset>button,fieldset>p:has(textarea),fieldset>p:has(input[type='checkbox']),fieldset>p:not(:has(label)){grid-column:1/-1}fieldset>button{width:100%;font-size:.75rem;letter-spacing:.02em}fieldset>p:not(:has(label)){font-size:.8rem}
.main-checkout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:2.5rem 5%;align-items:start}.main-checkout>.page-intro{grid-column:1/-1;margin-bottom:0}.main-checkout>section{margin:0}.main-checkout section[aria-labelledby='summary']{padding:2.2rem;background:var(--olive);color:var(--ivory)}.main-checkout section[aria-labelledby='summary'] h2{font-size:2.1rem}.main-checkout section[aria-labelledby='summary'] dt{color:#cbcfc1}.main-checkout section[aria-labelledby='summary'] :is(dt,dd){border-color:#626b57}.main-checkout section[aria-labelledby='summary'] dl>:nth-last-child(-n+2){color:var(--champagne)}.main-checkout section[aria-labelledby='guest']{background:var(--paper);border:1px solid var(--line);padding:2rem}.main-checkout>p{grid-column:2}.journey-steps{display:flex;flex-wrap:wrap;gap:.8rem 1.5rem;list-style:none;padding:0;margin:0 0 2rem;font-size:.6rem;color:var(--muted);border-bottom:1px solid var(--line)}.journey-steps li{padding:0 0 .8rem}.journey-steps [aria-current]{color:var(--olive);border-bottom:2px solid var(--gold)}table{border-collapse:collapse;width:100%;text-align:left;background:var(--paper);font-size:.78rem}caption{text-align:left;color:var(--muted);font-size:.68rem;padding-bottom:1rem}th,td{padding:1rem;border-bottom:1px solid var(--line);min-width:100px}thead{background:var(--sand)}thead th{font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em}tbody th{font-weight:500}
/* Shared colophon. */
.site-footer{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2.5rem 10%;background:var(--olive);color:var(--ivory);padding:4rem max(var(--gutter),calc((100vw - 1340px)/2))}.site-footer>p:first-child{font:clamp(1.7rem,3vw,2.8rem)/1.35 var(--serif);max-width:19ch;margin:0}.site-footer nav ul{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.9rem 1.5rem;list-style:none;padding:0;margin:0}.site-footer nav a{font-size:.78rem;text-decoration:none}.site-footer nav a:hover{color:var(--champagne)}.site-footer>p:nth-last-child(2){grid-column:1/-1;border-top:1px solid #69715e;padding-top:2rem;max-width:90ch;color:#ced1c3;font-size:.7rem;margin:0}.site-footer>p:last-child{grid-column:1/-1;margin:0;font-size:.7rem;color:#ced1c3}
/* Responsive layouts contain overflow within intentional scrolling regions. */
h1,h2,h3{overflow-wrap:anywhere}
@media(min-width:1600px){.site-header{border-inline:1px solid var(--line)}}
@media(max-width:1100px){
.site-header{grid-template-columns:220px minmax(0,1fr);gap:1rem}.site-header nav ul{column-gap:1rem}.site-header nav a{font-size:.66rem}.home-hero{gap:5%}.art-hero{min-height:540px}.editorial-stay{margin-left:3%;padding:2.5rem}.carousel-track{grid-auto-columns:minmax(0,47%)}.main-experiences>section:not([aria-labelledby='arrangements']){grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr)}
}
@media(max-width:800px){
.site-header{grid-template-columns:minmax(0,1fr) auto;padding-block:1.2rem}.site-header nav{grid-column:1/-1}.site-header nav a{font-size:.73rem;padding:.65rem 0}.menu-toggle{display:inline-flex;align-items:center}
.page-intro{padding-block:3rem 2.5rem;grid-template-columns:minmax(0,1fr);margin-bottom:2.5rem}.page-intro h1,.page-intro>p:not(.eyebrow){grid-column:1;grid-row:auto}.page-intro h1{max-width:13ch}.page-intro .eyebrow{margin-bottom:1.5rem}.page-intro>p{max-width:65ch}main>section{margin-block:3.5rem}
.home-hero{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:1.5rem;padding-top:1.5rem}.hero-copy h1{font-size:clamp(3rem,9vw,5rem)}.hero-copy h1+p{font-size:1.6rem}.art-hero{min-height:420px;align-self:center;margin-top:0}.hero-copy .eyebrow{font-size:.53rem;letter-spacing:.14em}.hero-copy .eyebrow span{margin-left:.4rem}.editorial-stay{margin-top:-1rem;gap:0 6%;padding:2rem}.home-experiences{padding:2rem 1.25rem}.section-heading{grid-template-columns:minmax(0,1fr)}.section-heading>a{justify-self:start;margin-bottom:1rem}
.main-experiences>section:not([aria-labelledby='arrangements']){grid-template-columns:minmax(0,1fr);gap:1rem}.main-checkout{grid-template-columns:minmax(0,1fr);gap:2rem}.main-checkout>*{grid-column:1!important;grid-row:auto!important}.main-contact section[aria-labelledby='relations']>:not(.architectural-art){grid-column:2}.main-checkout section[aria-labelledby='summary'] dl{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
}
@media(max-width:540px){
body{font-size:.92rem}main{padding-bottom:3.5rem}h1{font-size:clamp(2.7rem,12vw,4rem)}h2{font-size:2.2rem}.brand-name{font-size:.83rem;gap:.6rem;letter-spacing:.1em}.brand-mark{flex-basis:29px;width:29px;height:37px}.brand p{margin-left:2.4rem;font-size:.48rem}.menu-toggle{font-size:.65rem;padding-inline:.6rem}.menu-toggle span{margin-left:.4rem}.site-header nav ul{grid-template-columns:repeat(2,minmax(0,1fr))}.site-header nav a{padding-block:.7rem}.page-intro{padding-block:2.5rem 1.5rem}
.home-hero{grid-template-columns:minmax(0,1fr);gap:1.5rem;padding-top:.75rem;padding-bottom:3rem}.hero-copy h1{font-size:clamp(4rem,18vw,6rem);margin-top:1.5rem}.hero-copy h1+p{max-width:23ch;font-size:1.75rem}.hero-copy>p:not(.eyebrow):not(h1+p){font-size:.85rem}.hero-footnote{margin-top:1.5rem}.art-hero{min-height:350px;height:90vw;max-height:460px;margin:0 6% 1rem 14%;width:auto}.hero-index{bottom:1.5rem;font-size:.5rem}.editorial-stay{display:block;padding:1.7rem;margin:1rem 0 4rem;box-shadow:-.5rem .6rem 0 #efeade}.editorial-stay>p:last-child{margin-bottom:0}
.carousel-track{grid-auto-columns:minmax(0,88%);gap:1rem}.card-illustration{height:210px}.card-copy{padding:1.4rem}.card-copy h3{font-size:1.95rem}.carousel-bar{align-items:center}.scroll-hint{font-size:.51rem;letter-spacing:.07em}.scroll-hint span{display:none}.carousel-count{min-width:3.4rem;font-size:.58rem}.carousel-controls{gap:.35rem}.carousel-controls button{width:44px;height:44px;min-height:44px}.home-experiences{padding:1.5rem 1rem}.home-experiences .carousel-track{grid-auto-columns:minmax(0,94%)}.suite-editorial:nth-of-type(even) .architectural-art{order:0}
fieldset{grid-template-columns:minmax(0,1fr)}legend{font-size:.59rem}.main-checkout section[aria-labelledby='summary'],.main-checkout section[aria-labelledby='guest']{padding:1.4rem}
.site-footer{grid-template-columns:minmax(0,1fr);gap:2rem;padding-block:3rem}.site-footer>*{grid-column:1!important}.site-footer>p:first-child{max-width:22ch}
}
@media(forced-colors:active){.collection-card,.architectural-art{border:1px solid CanvasText}.site-header nav a[aria-current]{outline:1px solid LinkText}button:disabled{color:GrayText;border-color:GrayText}}
/* Finishing accents: readable small type and a floating editorial caption. */
:root{--gold:#846839}
.menu-toggle:hover:not(:disabled){background:var(--sand);color:var(--olive)}
.hero-index{right:-.75rem;bottom:6.5rem;padding:1.1rem 1.5rem;background:var(--paper);border:1px solid var(--line);box-shadow:-.5rem .5rem 0 #e8dfcf;max-width:80%;z-index:2}
@media(max-width:540px){.hero-index{right:0;bottom:2rem;padding:.9rem 1.1rem;max-width:90%}}
/* Segunda edição — composições editoriais em PT-BR.
   A grade organiza narrativas em paralelo, sem depender de fotografias. */
html { overflow-x: clip; }
body { overflow-x: clip; }
html[data-checkout-guard='true']:not([data-checkout-ready='true']) body { visibility: hidden; }
.site-header { grid-template-columns: 250px minmax(0, 1fr); }
.site-header nav ul { gap: .4rem 1.35rem; }
.site-header nav a { min-height: 44px; display: inline-flex; align-items: center; }
.page-intro { border-bottom: 0; }
.page-intro .eyebrow { border-top: 1px solid var(--line); padding-top: 1.2rem; }
.page-intro > p[id] { border-left: 0; border-top: 1px solid var(--gold); background: transparent; padding: 1rem 0 0; }
.text-cta { display: inline-flex; justify-content: space-between; gap: 1.4rem; width: 100%; border-top: 1px solid var(--gold); padding-top: .9rem; text-decoration: none; }
.suite-selection { margin-bottom: 0; }
.card-copy .suite-selection { margin-top: auto; padding-top: 1rem; }
/* Página inicial: capa, duas colunas de narrativa e coleções panorâmicas. */
.main-home { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 2%; }
.main-home > section { margin: 0; }
.main-home .home-hero { grid-column: 1 / -1; grid-row: 1; padding-bottom: 6rem; }
.home-hero { grid-template-columns: minmax(0, 1.06fr) minmax(0, 1fr); gap: 8%; }
.hero-copy { align-self: center; }
.hero-copy h1 { font-size: clamp(4rem, 8vw, 8.2rem); }
.hero-copy h1 + p { max-width: 18ch; font-size: clamp(1.65rem, 2.65vw, 2.65rem); }
.art-hero { min-height: 690px; border-radius: 48% 48% 2px 2px; margin-left: -2rem; }
.home-hero .hero-index { bottom: 7.5rem; right: -1rem; font-family: var(--serif); font-size: 1.1rem; text-transform: none; letter-spacing: .01em; }
.edition-index { display: flex; flex-wrap: wrap; gap: .45rem 1.3rem; margin-top: 2rem; padding-top: 1rem; border-top: 1px solid var(--line); }
.edition-index a { font-size: .62rem; letter-spacing: .04em; text-decoration: none; }
.hero-copy .edition-index a { background: none; color: var(--muted); padding: .4rem 0; margin: 0; }
.main-home .editorial-stay { grid-column: 1 / 8; grid-row: 2; display: block; margin: -3.25rem 0 0; padding: clamp(2rem, 4vw, 4rem); box-shadow: 1.2rem 1.2rem 0 #eee9dd; }
.editorial-stay h2 { font-size: clamp(2.6rem, 4.3vw, 4.5rem); max-width: 12ch; }
.editorial-stay > p { max-width: 48ch; font-size: .87rem; }
.main-home .home-collection { grid-column: 1 / -1; grid-row: 3; display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 2fr); gap: 5%; margin-top: 7rem; padding-block: 2rem 3rem; border-top: 1px solid var(--line); }
.home-collection .section-heading { display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; padding-top: 1rem; }
.home-collection .section-heading h2 { max-width: 11ch; font-size: clamp(2.7rem, 4vw, 4rem); }
.home-collection .section-heading > a { margin-top: auto; }
.home-collection .carousel-track { grid-auto-columns: minmax(0, 76%); }
.home-collection .card-illustration { height: 260px; }
.main-home .home-experiences { grid-column: 1 / -1; grid-row: 4; display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(0, .7fr); gap: 5%; margin: 3rem 0 5rem; padding: 3rem; }
.home-experiences .section-heading { grid-column: 2; grid-row: 1; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
.home-experiences .section-heading h2 { font-size: clamp(2.5rem, 3.6vw, 3.6rem); }
.home-experiences .carousel { grid-column: 1; grid-row: 1; }
.home-experiences .carousel-track { grid-auto-columns: minmax(0, 85%); }
.home-experiences .card-illustration { height: 180px; }
.main-suites .page-intro h1, .main-suites .page-intro > p:not(.eyebrow) { grid-column: 1; grid-row: auto; }
.experience-chapter:nth-child(2) { background: var(--olive); color: var(--ivory); }
.experience-chapter:nth-child(2) .eyebrow { color: var(--champagne); }
.experience-chapter:nth-child(3) { background: #ded8c8; }
/* Detalhes: folhas de uma revista, com texto sobreposto à arquitetura. */
.main-details > .page-intro { margin-bottom: 1rem; }
.suite-editorial:nth-of-type(even) .architectural-art { grid-column: 6 / -1; order: 0; border-radius: 0 40% 0 0; }
.suite-editorial:nth-of-type(even) .suite-editorial-copy { grid-column: 1 / 8; background: var(--sand); }
.suite-editorial:nth-of-type(3) .architectural-art { grid-column: 1 / 7; border-radius: 0; }
.suite-editorial:nth-of-type(3) .suite-editorial-copy { grid-column: 5 / -1; }
.main-reservations fieldset > button:not(:disabled) { background: var(--olive); color: var(--ivory); }
.form-message { padding: 1rem; margin-bottom: 1.5rem; border-left: 3px solid #8f4f37; background: #f0e3d9; color: #663b2c; font-size: .85rem; }
.capacity-note { grid-column: 1 / -1; font-size: .75rem; color: var(--muted); border-top: 1px solid var(--line); padding-top: 1rem; }
[aria-invalid='true'] { outline: 2px solid #8f4f37; outline-offset: 2px; }
/* Revisão: caderno de dados com recibo lateral, sem pagamento. */
.main-checkout { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 2rem 2%; }
.main-checkout > .page-intro { grid-column: 1 / -1; padding-bottom: 1rem; }
.main-checkout > section[aria-labelledby='summary'] { grid-column: 9 / -1; grid-row: 2; position: sticky; top: 2rem; padding: 2rem; border-top: 5px double var(--champagne); }
.main-checkout > section[aria-labelledby='guest'] { grid-column: 1 / 8; grid-row: 2; padding: 2.5rem; }
.main-checkout > p { grid-column: 1 / 8; grid-row: 3; }
.main-checkout #selected-stay { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); font-size: .77rem; }
.main-checkout .summary-footnote { font-size: .68rem; color: #dedfcf; line-height: 1.7; }
/* O deslocamento fica restrito às coleções e tabelas. Sem animação de rolagem. */
.carousel-track { scroll-snap-type: none; max-width: 100%; touch-action: pan-x pan-y; }
.carousel-track > * { min-width: 0; }
.carousel-controls button { min-width: 46px; }
.scroll-hint { font-size: .6rem; letter-spacing: .08em; }
@media (pointer: coarse) { .carousel-track { scroll-snap-type: x proximity; } }
@media (max-width: 1100px) {
  .site-header { grid-template-columns: 220px minmax(0, 1fr); }
  .site-header nav ul { gap: .35rem 1rem; }
  .main-home .home-collection { grid-template-columns: minmax(0, .7fr) minmax(0, 1.6fr); }
  .main-home .home-experiences { grid-template-columns: minmax(0, 1.4fr) minmax(0, .8fr); padding: 2rem; }
  .main-checkout > section[aria-labelledby='summary'] { grid-column: 8 / -1; padding: 1.5rem; }
  .main-checkout > section[aria-labelledby='guest'] { grid-column: 1 / 8; margin-right: 1.5rem; padding: 1.8rem; }
}
@media (max-width: 1000px) { .main-checkout{ display: block; } .main-checkout > section { margin: 2rem 0; }
  .main-checkout > section[aria-labelledby='summary'] { position: static; margin: 1.5rem 0 2rem; }
  .main-checkout > section[aria-labelledby='guest'] { margin-right: 0; }
  .main-checkout #selected-stay { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .main-home .editorial-stay { grid-column: 1 / 8; padding: 2rem; }
  .editorial-stay h2 { font-size: 3rem; }
  .art-hero { min-height: 580px; }
}
@media (max-width: 800px) {
  .site-header { grid-template-columns: minmax(0, 1fr) auto; }
  .main-home { display: block; }
  .main-home .home-hero { margin-bottom: 1rem; padding-bottom: 4rem; }
  .home-hero { gap: 4%; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); }
  .hero-copy h1 { font-size: clamp(3.7rem, 9vw, 5rem); }
  .hero-copy h1 + p { font-size: 1.8rem; }
  .art-hero { min-height: 470px; margin-left: 0; }
  .home-hero .hero-index { bottom: 4rem; right: -.4rem; font-size: .9rem; }
  .main-home .editorial-stay { margin: 0 12% 3rem 0; }
  .editorial-moments > :not(.editorial-emblem) { grid-column: 2; }
  .main-home .home-collection { display: block; margin-top: 4rem; }
  .home-collection .section-heading { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; }
  .home-collection .section-heading h2 { font-size: 3rem; }
  .home-collection .section-heading .eyebrow { grid-column: 1 / -1; }
  .home-collection .carousel-track { grid-auto-columns: minmax(0, 72%); }
  .main-home .home-experiences { display: block; margin-block: 2rem 3rem; }
  .home-experiences .section-heading { display: block; }
  .home-experiences .section-heading h2 { max-width: 17ch; }
  .home-experiences .carousel-track { grid-auto-columns: minmax(0, 74%); }
  .suite-editorial:nth-of-type(even) .architectural-art { grid-column: 5 / -1; }
  .suite-editorial:nth-of-type(even) .suite-editorial-copy { grid-column: 1 / 10; }
  .suite-editorial:nth-of-type(3) .suite-editorial-copy { grid-column: 4 / -1; }
}
@media (max-width: 540px) {
  .site-header nav ul { gap: .3rem 1rem; }
  .site-header nav a { font-size: .72rem; }
  .home-hero { grid-template-columns: minmax(0, 1fr); }
  .hero-copy h1 { font-size: clamp(4rem, 18vw, 6rem); }
  .hero-copy h1 + p { font-size: 2rem; max-width: 18ch; }
  .edition-index { gap: .4rem 1rem; }
  .edition-index a { font-size: .58rem; }
  .art-hero { min-height: 340px; height: 90vw; margin: .5rem 7% 0 12%; }
  .home-hero .hero-index { bottom: 3rem; right: 0; max-width: 85%; font-size: .85rem; }
  .main-home .editorial-stay { margin: 0 4% 2.5rem 0; padding: 1.6rem; }
  .editorial-stay h2 { font-size: 2.6rem; }
  .home-collection .section-heading { display: block; }
  .home-collection .section-heading h2 { font-size: 2.7rem; }
  .home-collection .carousel-track { grid-auto-columns: minmax(0, 89%); }
  .home-collection .card-illustration { height: 220px; }
  .main-home .home-experiences { padding: 1.5rem 1rem; }
  .home-experiences .carousel-track { grid-auto-columns: minmax(0, 94%); }
  .suite-editorial:nth-of-type(even) .architectural-art { align-self: flex-end; }
  .suite-editorial:nth-of-type(even) .suite-editorial-copy { margin-inline: 0 5%; }
  .main-checkout > section[aria-labelledby='guest'], .main-checkout > section[aria-labelledby='summary'] { padding: 1.4rem; }
}
/* Mantém os gestos nativos, incluindo o zoom de acessibilidade. */
.carousel-track { touch-action: auto; }


/* Ajustes compartilhados de leitura e alinhamento. Mantém a composição editorial. */
:root {
  --site-width: 1440px;
  --layout-gap: clamp(1.25rem, 2.5vw, 2.5rem);
  --panel-space: clamp(1.4rem, 2.5vw, 2.5rem);
  --section-space: clamp(3rem, 5vw, 5rem);
}
/* Cabeçalho e conteúdo usam a mesma largura e as mesmas margens externas. */
main, .site-header { max-width: var(--site-width); padding-inline: var(--gutter); }
.site-header {
  grid-template-columns: minmax(270px, 310px) minmax(0, 1fr);
  gap: 1.25rem var(--layout-gap);
  padding-block: 1.85rem;
  align-items: center;
}
.brand-name { gap: 1rem; font-size: 1.35rem; letter-spacing: .12em; line-height: 1.35; }
.brand-mark { width: 46px; height: 57px; flex-basis: 46px; font-size: 2.3rem; }
.brand p { margin: .45rem 0 0 3.9rem; font-size: .68rem; letter-spacing: .07em; line-height: 1.65; }
.site-header nav ul { gap: .55rem 1.4rem; align-items: center; }
.site-header nav a { font-size: .96rem; line-height: 1.5; min-height: 48px; padding-block: .6rem; }

.menu-toggle { min-height: 48px; font-size: .94rem; padding: .65rem 1rem; }
.site-footer { padding-inline: max(var(--gutter), calc((100% - 1440px) / 2 + var(--gutter))); }
.site-footer nav a { display: inline-block; min-height: 44px; padding-block: .45rem; font-size: .9rem; }
/* Ritmo tipográfico: margens previsíveis e leitura alinhada à esquerda. */
h1, h2, h3 { margin-top: 0; }
h2 { line-height: 1.18; }
h3 { line-height: 1.22; }
main p { line-height: 1.8; }
main :is(section, article, header) > p:last-child { margin-bottom: 0; }
.page-intro { column-gap: var(--layout-gap); padding-top: var(--section-space); }
.page-intro .eyebrow { padding-top: 1.25rem; margin-bottom: 1.5rem; }
.page-intro h1 { margin-bottom: 1.5rem; }
.page-intro > p:not(.eyebrow) { margin-bottom: 1.25rem; }
.page-intro > p[id] { padding-top: 1.25rem; }
.eyebrow { font-size: .72rem; letter-spacing: .16em; }
main > section{ scroll-margin-top: 2rem; }
.card-copy{ text-align: left; }
.card-copy { padding: var(--panel-space); }
.card-copy h3 { margin-bottom: 1rem; }
.card-copy > p { line-height: 1.8; }
.card-copy dl { margin-block: .5rem 1.5rem; }
.card-copy > p:last-child:has(a), .card-copy .suite-selection { padding-top: 1rem; }
.card-copy > p:has(a) { margin-bottom: 0; }
.card-copy a { line-height: 1.6; }
.collection-card { align-self: stretch; }
.carousel-bar { min-height: 48px; margin-bottom: 1.25rem; gap: 1rem; }
.carousel-track { gap: var(--layout-gap); align-items: stretch; }
.scroll-hint { font-size: .68rem; letter-spacing: .06em; }
.carousel-count { font-size: .73rem; min-width: 4.2rem; }
.carousel-controls button { width: 48px; height: 48px; min-height: 48px; }
.section-heading { column-gap: var(--layout-gap); }
.section-heading > a { line-height: 1.65; }
dl { line-height: 1.65; }
dt, dd { padding-block: .85rem; }
/* Colunas editoriais preservam suas diferenças de escala, com intervalos comuns. */
.main-home { column-gap: var(--layout-gap); }
.home-hero { column-gap: var(--layout-gap); }
.art-hero { margin-left: 0; }
.hero-copy > p:not(.eyebrow):not(h1 + p) { font-size: .95rem; }
.hero-copy > p:has(a) { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; }
.hero-copy > p:has(a) a { margin: 0; }
.hero-copy .edition-index a { font-size: .72rem; }
.main-home .home-collection, .main-home .home-experiences { gap: var(--layout-gap); align-items: start; }
.main-home .editorial-stay { padding: var(--panel-space); }
.editorial-stay > p{ font-size: .95rem; }
.home-collection .section-heading > a { margin-top: 1rem; }
.home-experiences .section-heading { align-self: center; }
.main-suites > section[aria-labelledby='comforts'] :is(p, li) { font-size: .9rem; } .main-checkout{ column-gap: var(--layout-gap); row-gap: 2rem; }
.main-checkout > section[aria-labelledby='guest'],
.main-checkout > section[aria-labelledby='summary'] { padding: var(--panel-space); margin-right: 0; }
.main-checkout #selected-stay { font-size: .86rem; }
.main-checkout .summary-footnote { font-size: .78rem; }
/* Formulários: rótulos, controles e mensagens seguem as mesmas linhas. */
form { width: 100%; }
fieldset { gap: 1.25rem; margin-bottom: 1.5rem; }
fieldset:last-child { margin-bottom: 0; }
fieldset > p { min-width: 0; max-width: none; }
fieldset label, .field-label { font-size: .88rem; line-height: 1.5; }
fieldset legend { padding-bottom: 1rem; margin-bottom: 1rem; font-size: .7rem; line-height: 1.6; }
input:not([type='checkbox']), select, textarea { min-height: 52px; font-size: .96rem; line-height: 1.5; }
fieldset > button { min-height: 52px; font-size: .9rem; line-height: 1.6; }
.capacity-note { margin: 0; font-size: .84rem; }
#reservation-form > .form-message { max-width: none; }
#reservation-form fieldset > p:has(#suite) { grid-column: 1 / -1; }
/* Datas independentes. Menus nativos oferecem listas roláveis e seleção por toque/teclado. */
.date-field { grid-column: 1 / -1; min-width: 0; }
.field-label { display: block; font-weight: 600; color: var(--olive); margin-bottom: .65rem; }
.date-parts { display: grid; grid-template-columns: minmax(0, .75fr) minmax(0, 1.5fr) minmax(0, 1fr); gap: .75rem; }
.date-parts > div { min-width: 0; }
.date-parts label { display: block; font-size: .72rem; color: var(--muted); margin-bottom: .4rem; }
.date-parts select { appearance: auto; padding: .75rem .6rem; background: var(--paper); color: var(--olive); border-color: #b8ad96; cursor: pointer; }
.date-parts select:hover:not(:disabled) { border-color: var(--gold); }
.date-parts select:focus-visible { outline-offset: 3px; }
.date-parts option { background: var(--paper); color: var(--ink); }
.date-parts option:disabled { color: var(--muted); }
.date-help { max-width: none; min-height: 1.5em; margin: .6rem 0 0; font-size: .76rem; line-height: 1.6; color: var(--muted); }
.has-date-error .date-help { color: #763c29; }
.has-date-error select { border-color: #8f4f37; }
@media (max-width: 1240px) and (min-width: 801px) {
  .site-header { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
  .site-header nav { width: 100%; border-top: 1px solid var(--line); padding-top: .75rem; }
  .site-header nav ul { justify-content: flex-start; column-gap: 1.65rem; }
  .brand-name { font-size: 1.45rem; }
}
@media (min-width: 1001px) {
  .main-checkout > section[aria-labelledby='summary'] { grid-column: 8 / -1; }
  .main-checkout > section[aria-labelledby='guest'] { grid-column: 1 / 8; }
}
@media (max-width: 1000px) { .main-checkout > section{ margin-block: 2rem; }
}
@media (max-width: 800px) {
  .site-header { grid-template-columns: minmax(0, 1fr) auto; gap: 1rem; padding-block: 1.4rem; }
  .brand-name { font-size: 1.2rem; }
  .brand p { font-size: .65rem; }
  .site-header nav { border-top: 1px solid var(--line); padding-top: 1rem; }
  .site-header nav ul { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem 1.25rem; }
  .site-header nav a { font-size: 1rem; width: 100%; min-height: 50px; }
  
  .page-intro { padding-top: 3rem; }
}
@media (max-width: 540px) {
  :root { --layout-gap: 1.25rem; --panel-space: 1.4rem; }
  .site-header { gap: 1rem .75rem; }
  .brand-name { font-size: 1rem; letter-spacing: .06em; gap: .65rem; white-space: normal; }
  .brand-mark { width: 34px; height: 44px; flex-basis: 34px; font-size: 1.9rem; }
  .brand p { margin-left: 2.8rem; font-size: .6rem; letter-spacing: .02em; }
  .menu-toggle { font-size: .85rem; padding: .6rem .75rem; }
  .menu-toggle span { margin-left: .35rem; }
  .site-header nav a { font-size: .94rem; }
  .site-header nav ul { gap: .4rem .85rem; }
  .page-intro { padding-top: 2.5rem; }
  .eyebrow { font-size: .66rem; }
  .hero-copy h1 { font-size: clamp(3.7rem, 17vw, 5.5rem); }
  .hero-copy > p:not(.eyebrow):not(h1 + p) { font-size: .94rem; }
  .hero-copy > p:has(a) { display: block; }
  .hero-copy > p:has(a) a { margin-block: .35rem; }
  .main-home .editorial-stay { margin-right: 0; }
  .main-home .home-experiences { padding: var(--panel-space); }
  .scroll-hint { font-size: .62rem; letter-spacing: .025em; }
  .carousel-count { min-width: 3.7rem; font-size: .68rem; }
  .carousel-bar { gap: .7rem; }
  .date-parts { grid-template-columns: minmax(0, .8fr) minmax(0, 1.35fr) minmax(0, 1fr); gap: .5rem; }
  .date-parts select { padding-inline: .35rem; font-size: .86rem; }
  .date-help { font-size: .76rem; }
  .site-footer nav ul { column-gap: 1rem; }
}
@media (forced-colors: active) {
  .has-date-error select { border-color: Mark; }
  .has-date-error .date-help { color: CanvasText; }
}

/* Recuo uniforme da seta, sem alterar bordas, dimensões ou alinhamento do texto. */
select, .date-parts select {
  appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%);
  background-position: right 19px center, right 14px center;
  background-size: 5px 5px;
  background-repeat: no-repeat;
  padding-right: 2.25rem;
}


/* Fotografia local, sem movimento, integrada às composições existentes. */
.resort-picture { display: block; width: 100%; overflow: hidden; background: var(--sand); }
.resort-picture img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.has-photograph { position: relative; background: var(--sand); }
.has-photograph::before, .has-photograph::after { display: none; }
.has-photograph > .resort-picture { position: absolute; inset: 0; height: 100%; }
.card-illustration.has-photograph { isolation: isolate; }
.card-illustration.has-photograph img { object-position: center 55%; }
/* Mesmo preenchimento para as três suítes em todos os seus contextos. */
.resort-picture img[src*="assets/images/ocean-suite-"],
.resort-picture img[src*="assets/images/pool-suite-"],
.resort-picture img[src*="assets/images/residence-"] {
 object-fit: cover;
 object-position: center;
}
.main-home .home-hero { position: relative; isolation: isolate; display: block; min-height: 820px; padding: clamp(2rem, 5vw, 5rem); margin-block: 2rem 5rem; background: var(--olive); color: var(--paper); }
.home-hero .art-hero.has-photograph { position: absolute; inset: 0; z-index: -2; min-height: 0; width: 100%; height: 100%; margin: 0; border-radius: 0; }
.home-hero::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(19,30,26,.88), rgba(19,30,26,.66) 46%, rgba(19,30,26,.08) 100%); }
.home-hero .hero-copy { max-width: 610px; width: 60%; padding: 0; }
.home-hero .eyebrow { color: #ecd8aa; }
.home-hero .hero-copy h1 { font-size: clamp(4rem, 7vw, 7rem); }
.home-hero .hero-copy h1 + p { max-width: 20ch; }
.home-hero .hero-footnote { color: var(--ivory); border-color: #ece3ce80; }
.home-hero .edition-index { border-color: #ece3ce80; }
.home-hero .hero-copy .edition-index a { color: var(--ivory); }
.home-hero .hero-copy a:first-child { background: var(--ivory); color: var(--olive); }
.home-hero .hero-copy .edition-index a:first-child { background: none; color: var(--ivory); }
.home-hero .hero-index { bottom: 2rem; right: 2rem; color: var(--olive); }
.summary-photo { height: 160px; margin-bottom: 1.5rem; }
@media(max-width:800px) {
 .main-home .home-hero { margin-block: 1.5rem 3rem; min-height: 780px; padding: 2rem; }
 .home-hero .hero-copy { width: 80%; }
 .home-hero::before { background: linear-gradient(90deg, #131e1ae6, #131e1a80); }
 .home-hero .hero-index { bottom: 1.25rem; right: 1.25rem; }
}
@media(max-width:540px) {
 .main-home .home-hero { min-height: 0; padding: 2rem 1.4rem 6rem; margin-bottom: 3rem; }
 .home-hero .hero-copy { width: 100%; }
 .home-hero .hero-copy h1 { font-size: clamp(3rem, 15vw, 4.5rem); }
 .home-hero::before { background: linear-gradient(180deg, #131e1ab8, #131e1ae8); }
 .home-hero .art-hero img { object-position: 65% center; }
 .home-hero .hero-index { font-size: .8rem; max-width: calc(100% - 2.8rem); right: 1.4rem; }
}


/* Navegação de conta compartilhada e acabamento dos controles. */
.site-header { position: relative; z-index: 20; grid-template-columns: minmax(260px,310px) minmax(0,1fr) auto; column-gap: clamp(1rem,2vw,2rem); }
.site-header > .brand { grid-column: 1; grid-row: 1; }
.site-header > #primary-navigation { grid-column: 2; grid-row: 1; }
/* Folga para rótulos longos, ícones e quebras em controles. */
button, .text-cta { max-width: 100%; white-space: normal; overflow-wrap: anywhere; line-height: 1.6; }
button:not(.menu-toggle):not(.carousel-controls button) { padding: .85rem 1.25rem; }
.text-cta { gap: 1rem; padding-inline: 1.2rem; }
.text-cta > span, .menu-toggle > span { flex-shrink: 0; }
.card-copy{ min-width: 0; }
.card-copy > p:has(a) { line-height: 1.8; }
.card-copy a{ overflow-wrap: anywhere; text-underline-offset: .25em; }
.card-copy .text-cta{ line-height: 1.65; padding: 1rem 1.2rem; }
fieldset label, .field-label { line-height: 1.6; }
fieldset legend { white-space: normal; overflow-wrap: anywhere; }
.carousel-controls { flex-wrap: nowrap; gap: .6rem; }
.carousel-controls button { flex: 0 0 48px; padding: 0; line-height: 1; }
.carousel-bar { row-gap: 1rem; }
@media (min-width:801px) and (max-width:1240px) {
 .site-header { grid-template-columns: minmax(0,1fr) auto; }
 .site-header > .brand { grid-column: 1; }

}
@media (max-width:800px) {
 .site-header { grid-template-columns: minmax(0,1fr) auto auto; column-gap: .75rem; }
 .site-header > .menu-toggle { grid-column: 2; grid-row: 1; }

}
@media (max-width:540px) {
 .site-header { column-gap: .5rem; }
 .site-header .brand-name { font-size: .95rem; gap: .5rem; }
 .site-header .brand p { margin-left: 0; }
 .site-header .menu-toggle { padding: .6rem .55rem; font-size: .8rem; }
 .site-header .menu-toggle span { margin-left: .25rem; }
 .carousel-controls { gap: .4rem; }
}


/* Seis experiências existentes, distribuídas por categoria em uma grade ampla. */

.experience-card { display: flex; flex-direction: column; min-width: 0; height: auto; margin: 0; border: 1px solid var(--line); background: var(--paper); color: var(--ink); }
.experience-card .experience-photo { position: relative; width: 100%; min-height: 0; height: auto; aspect-ratio: 16 / 9; overflow: hidden; flex-shrink: 0; }
.experience-card .experience-photo .resort-picture { position: absolute; inset: 0; width: 100%; height: 100%; }
.experience-card .experience-photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.experience-card .card-copy { display: block; min-width: 0; padding: clamp(1.4rem,2.6vw,2.25rem); }
.experience-card .card-copy h3 { margin: 0 0 1rem; font-size: clamp(1.8rem,2.3vw,2.5rem); line-height: 1.2; overflow-wrap: normal; }
.experience-card .card-copy p { max-width: 65ch; margin: 0; font-size: .97rem; line-height: 1.8; overflow-wrap: normal; }
@media(max-width:760px) {
 .experience-card .card-copy { padding: 1.5rem; }
 .experience-card .card-copy h3 { font-size: 1.95rem; }
 .experience-card .card-copy p { font-size: .94rem; }
}

/* Edição concisa: rodapé mínimo e composições próprias para cada contexto. */
.site-footer.footer-minimal {
 display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
 gap: .6rem 2rem; padding-block: 1.4rem; border-top: 1px solid #657059;
}
.footer-minimal .footer-brand { font: 1rem/1.5 var(--serif); letter-spacing: .13em; text-decoration: none; padding-block: .5rem; }
.footer-minimal nav ul { display: flex; flex-wrap: wrap; gap: .3rem 1.5rem; align-items: center; }
.footer-minimal nav a { font-size: .78rem; min-height: 40px; padding-block: .5rem; }
.footer-minimal .footer-copyright { color: #d3d5c9; font-size: .68rem; line-height: 1.6; }
main { padding-bottom: clamp(3rem,5vw,5rem); }
.page-intro > p { max-width: 56ch; }
.page-intro > p[id] { font-size: .82rem; line-height: 1.7; }
/* Início mantém a capa fotográfica e alterna as narrativas com mais concisão. */
.main-home .home-hero { min-height: 690px; }
.main-home .hero-copy > p:not(.eyebrow):not(h1 + p) { max-width: 43ch; }
.main-home .editorial-stay { align-self: start; }
.main-home .editorial-stay h2 { max-width: 14ch; }
.main-home .home-collection { margin-top: 5rem; }
.main-contact.contact-editorial > .page-intro > p:not(.eyebrow) { grid-column: 2; grid-row: 2; align-self: center; font: italic clamp(1.4rem,2.5vw,2rem)/1.5 var(--serif); }

.main-checkout > .page-intro { padding-bottom: 0; }
.main-checkout > section[aria-labelledby='summary'] { grid-column: 1 / 6; grid-row: 2; }
.main-checkout > section[aria-labelledby='guest'] { grid-column: 6 / -1; grid-row: 2; }
.main-checkout > p { grid-column: 6 / -1; }
.main-checkout .page-intro h1 { font-size: clamp(3rem,4.5vw,4.5rem); }

@media(prefers-reduced-motion:no-preference) {
 .site-header nav a, .footer-minimal nav a {
  text-decoration-color: transparent; text-decoration-line: underline;
  text-decoration-thickness: 1px; text-underline-offset: .45em;
  transition: color .2s ease, text-decoration-color .2s ease;
 }
 .site-header nav a:hover, .footer-minimal nav a:hover { text-decoration-color: currentColor; }
 button:not(:disabled), .text-cta { transition: box-shadow .2s ease; }
 button:not(:disabled):hover, .text-cta:hover { box-shadow: 0 3px 10px #292b2518; }
}
@media(prefers-reduced-motion:reduce) {
 html[data-motion-pending='true'] main { visibility: visible; }
 .carousel-track { scroll-behavior: auto !important; }
}
.suite-carousel :is(button, a, .text-cta) { transition: none; animation: none; }


/* Ajustes somente para tablet e celular. O desktop mantém as regras existentes. */
@media (max-width: 1024px) {
  main { min-width: 0; }
  main :is(header, section, article, form, fieldset), .card-copy,
  .credit-entry > div, .suite-panel-description { min-width: 0; }
  main :is(h1, h2, h3, p, li, dt, dd, address, a, legend) { overflow-wrap: anywhere; }
  main :is(input, select, textarea, button) { max-width: 100%; }
  .resort-picture, .experience-photo{ max-width: 100%; }
  .resort-picture img { max-width: 100%; }
  .site-header .brand { min-width: 0; }
  .site-header .brand-name > span:last-child { min-width: 0; }
  .carousel-bar { align-items: center; flex-wrap: wrap; }
  .carousel-controls { flex-shrink: 0; }
  .carousel-track { overscroll-behavior-x: contain; touch-action: pan-x pan-y pinch-zoom; }
  .main-home .home-collection .section-heading,
  .main-home .home-experiences .section-heading { min-width: 0; }
  .main-home .section-heading h2 { max-width: 100%; }
  .main-checkout > section[aria-labelledby='summary'] { position: static; }
  .credit-entry > div { overflow-wrap: anywhere; }
}
@media (max-width: 800px) {
  :root { --gutter: clamp(1rem, 4vw, 2rem); }
  .site-header { padding-block: 1.1rem; }
  .site-header .brand-name { white-space: normal; }


  .site-header #primary-navigation li { min-width: 0; }
  main :is(input:not([type='checkbox']), select, textarea),
  .date-parts select { font-size: 16px; }
  .main-home .home-hero .hero-copy { width: 100%; max-width: 540px; }
  .main-home .hero-copy h1 { font-size: clamp(3.1rem, 9vw, 5rem); max-width: 100%; }
  .main-home .home-hero { padding: 2rem 1.5rem 5.5rem; min-height: 0; }
  .main-home .home-hero .art-hero.has-photograph { max-height: none; height: 100%; }
  .main-home .home-hero .hero-index { bottom: 1.25rem; max-width: calc(100% - 3rem); }
  .main-home .editorial-stay { margin-right: 0; }
  .main-home .home-collection .section-heading { grid-template-columns: minmax(0, 1fr); }
  .main-home .home-collection .section-heading > a { margin-block: .5rem 1.5rem; }
  .main-checkout .journey-steps { column-gap: 1rem; }
  .footer-minimal nav a { min-height: 44px; }
}

@media (max-width: 600px) {
  .date-parts { grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); gap: .75rem; }
  .date-parts > div:last-child { grid-column: 1 / -1; }
  .date-parts select { padding-left: .6rem; padding-right: 2.25rem; }
  .main-checkout section[aria-labelledby='guest'] fieldset { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 400px) {
  .site-header { column-gap: .4rem; }
  .site-header .brand-name { font-size: .85rem; letter-spacing: .04em; gap: .4rem; }
  .site-header .brand-mark { width: 30px; flex-basis: 30px; height: 40px; }
  .site-header .brand p { font-size: .58rem; }
  .site-header .menu-toggle { padding-inline: .45rem; min-height: 44px; }
  .site-header .menu-toggle span { margin-left: .2rem; }


  .main-home .hero-copy h1 { font-size: 2.8rem; }
  .main-home .home-hero { padding-inline: 1.2rem; }
  .main-home .home-experiences { padding-inline: 1rem; }
  .main-home .home-experiences .carousel-track { grid-auto-columns: 100%; }
  .main-home .home-collection .carousel-track { grid-auto-columns: 100%; }
  .main-checkout .page-intro h1 { font-size: 2.6rem; }
  .main-checkout #selected-stay { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); }
}
/* Escala de desktop amplo. As regras de tablet e celular permanecem anteriores. */
@media (min-width: 1280px) {
  :root {
    --site-width: 1760px;
    font-size: clamp(16px, calc(12px + .3125vw), 18px);
  }

  .site-header {
    grid-template-columns: minmax(290px, 350px) minmax(0, 1fr) auto;
  }

  .site-footer {
    padding-inline: max(var(--gutter), calc((100% - var(--site-width)) / 2 + var(--gutter)));
  }
  .footer-minimal nav a { font-size: .88rem; }
  .footer-minimal .footer-copyright { font-size: .75rem; }

  .home-hero .hero-copy { max-width: 680px; }
  .main-home .home-hero { min-height: clamp(690px, 45vw, 810px); }
  .home-collection .card-illustration { height: clamp(260px, 18vw, 320px); }
  .home-experiences .card-illustration { height: clamp(180px, 13vw, 230px); }
  .card-copy > p { font-size: .94rem; }
  .hero-footnote { max-width: 520px; }
  .main-checkout #selected-stay { font-size: .94rem; }
  .credit-entry p { font-size: .92rem; }
  .credit-links a { font-size: .88rem; }
}
