/* Internal pages share the approved Areia shell and typography. */
.editorial-intro,.room-intro,.article-heading,.packages-intro{padding-top:44px}
.editorial-intro .inner-breadcrumb,.room-intro .inner-breadcrumb,.article-heading .inner-breadcrumb,.packages-intro .inner-breadcrumb{margin-bottom:48px;flex-wrap:wrap}
.editorial-intro-heading{display:grid;grid-template-columns:1.1fr 1fr;gap:96px;align-items:end;margin-bottom:48px}
.editorial-intro h1,.room-intro h1,.packages-intro h1,.article-heading h1{font-size:clamp(48px,5.6vw,80px);line-height:1.04;letter-spacing:-.04em;font-weight:450}
.editorial-intro-aside>p{font-size:17px;line-height:1.85;max-width:46ch;color:var(--muted)}
.editorial-intro-aside>.text-link,.editorial-intro-aside>.button{margin-top:24px}
.editorial-cover{width:100%;height:510px;object-fit:cover;object-position:center 62%;border-radius:24px}
.editorial-intro-compact{padding-bottom:12px}
.editorial-copy-grid{display:grid;grid-template-columns:1fr 1fr;gap:88px}
.reading-copy>p:not(.eyebrow){font-size:17px;line-height:1.9;color:var(--muted)}
.reading-copy h2+p,.reading-copy h1+p{margin-top:26px}
.reading-copy>.text-link,.reading-copy>.button{margin-top:28px}
.reading-copy h3{margin-top:40px;font-size:32px}
.hotel-seaside{background:var(--mist)}
.hotel-seaside .editorial-split>img{width:100%;height:560px;object-fit:cover;border-radius:24px;object-position:center 65%}
.editorial-list{padding:0;list-style:none;margin:28px 0 0}
.editorial-list li{padding:13px 0;border-bottom:1px solid var(--border);font-size:15px}
.internal-booking{background:var(--deep);color:var(--sand)}
.internal-booking .eyebrow{color:var(--luminous)}
.internal-booking-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:72px;align-items:center}
.internal-booking-layout>div>p:not(.eyebrow){max-width:49ch;font-size:16px;line-height:1.9;margin-top:24px;opacity:.88}
.internal-booking-actions{display:flex;align-items:flex-start;flex-direction:column;gap:20px}
.internal-booking-actions>.text-link{border-color:var(--luminous)}
.accommodation-list{padding-bottom:32px;scroll-margin-top:128px}
.accommodation-row{display:grid;grid-template-columns:1.15fr 1fr;gap:72px;align-items:center;padding:52px 0 64px;border-bottom:1px solid var(--border)}
.accommodation-row:nth-child(even) .accommodation-row-photo{order:2}
.accommodation-row:nth-child(even){grid-template-columns:1fr 1.15fr}
.accommodation-row-photo img{width:100%;aspect-ratio:1.2;object-fit:cover;border-radius:24px}
.accommodation-row h2{font-size:clamp(36px,3.6vw,52px)}
.accommodation-description{margin-top:22px;font-size:16px;color:var(--muted);line-height:1.9}
.room-feature-tags{list-style:none;display:flex;flex-wrap:wrap;gap:8px 18px;padding:22px 0 26px;margin:0;font-size:12px;color:var(--action)}
.room-feature-tags li{border-bottom:1px solid var(--border);padding-bottom:5px}
.room-intro-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:48px;margin-bottom:44px}
.room-intro-heading h1{max-width:17ch;font-size:clamp(46px,5.2vw,72px)}
.room-intro-heading>.button{flex-shrink:0}
.room-cover{width:100%;height:auto;max-height:660px;aspect-ratio:1.85;object-fit:cover;border-radius:24px;object-position:50% 55%}
.room-description-layout{display:grid;grid-template-columns:1.25fr 1fr;gap:100px;align-items:start}
.room-description-layout .reading-copy h2{font-size:52px}
.room-features{list-style:none;padding:0;margin:24px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:16px 24px}
.room-features li{display:flex;align-items:center;gap:12px;font-size:14px;border-top:1px solid var(--border);padding-top:16px}
.room-features .icon{width:18px;color:var(--action)}
.room-reservation{padding:32px;background:var(--mist);border-radius:24px;scroll-margin-top:128px}
.room-reservation h3{font-size:34px}
.room-reservation>p:not(.eyebrow){font-size:14px;color:var(--muted);line-height:1.8;margin-top:20px}
.room-reservation>.button{width:100%;margin-top:26px}
.room-reservation>.text-link{margin-top:14px;font-size:12px}
.room-reservation dl{margin:26px 0 20px;font-size:12px}
.room-reservation dl>div{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-top:1px solid var(--border)}
.room-reservation dd{margin:0;text-align:right;font-weight:650}
.small-link{text-decoration:underline;text-underline-offset:5px;font-size:12px}
.related-rooms{background:var(--mist)}
.related-room-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.related-room img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:24px;margin-bottom:24px}
.related-room .eyebrow{font-size:9px;margin-bottom:14px}
.related-room h3{font-size:30px}
.faq-layout{display:grid;grid-template-columns:1fr 1.4fr;gap:80px}
.faq-list details{border-top:1px solid var(--border)}
.faq-list details:last-child{border-bottom:1px solid var(--border)}
.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:24px;list-style:none;cursor:pointer;font-size:15px;font-weight:600;line-height:1.6;padding:24px 0}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary span{font-size:25px;font-weight:400;transition:transform .2s}
.faq-list details[open] summary span{transform:rotate(45deg)}
.faq-list details>p{font-size:14px;line-height:1.9;color:var(--muted);padding:0 34px 24px 0}
.dining-story{display:grid;grid-template-columns:1fr 1fr;gap:88px;align-items:center}
.dining-story>img{width:100%;height:570px;object-fit:cover;border-radius:24px}
.editorial-actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-top:32px}
.dining-beach-note{display:flex;gap:24px;align-items:flex-start;padding-block:28px 72px;border-top:1px solid var(--border)}
.dining-beach-note>.icon{width:32px;height:32px;color:var(--action)}
.dining-beach-note>p{max-width:78ch;font-size:15px;color:var(--muted)}
.dining-beach-note a{text-decoration:underline;text-underline-offset:4px}
.packages-intro .editorial-split{padding-bottom:80px}
.packages-intro .editorial-split>img{height:540px;width:100%;object-fit:cover;border-radius:24px}
.availability-section{background:var(--mist)}
.availability-section .booking-wrap{position:static;transform:none;width:100%;scroll-margin-top:150px}
.availability-section .booking-form{box-shadow:none;border:1px solid var(--border)}
.availability-section .booking-error{position:static;margin-top:12px}
.planning-steps{list-style:none;padding:0;margin:0;counter-reset:plan}
.planning-steps li{counter-increment:plan;position:relative;padding:0 0 32px 48px;margin-bottom:28px;border-bottom:1px solid var(--border)}
.planning-steps li::before{content:'0' counter(plan);position:absolute;left:0;top:3px;font-size:12px;color:var(--action)}
.planning-steps h3{font-size:30px}
.planning-steps p{font-size:15px;color:var(--muted);line-height:1.85;margin-top:14px}
.package-assistance{display:flex;align-items:center;justify-content:space-between;gap:32px;margin-top:40px;padding-top:32px;border-top:1px solid var(--border);font-size:20px}
.guide-index{padding-bottom:96px}
.guide-lead{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:72px;padding-bottom:72px;margin-bottom:64px;border-bottom:1px solid var(--border)}
.guide-lead>img{width:100%;height:480px;object-fit:cover;object-position:center 62%;border-radius:24px}
.guide-lead h2{font-size:clamp(38px,3.8vw,55px)}
.guide-lead>div>p:not(.eyebrow){font-size:16px;line-height:1.9;margin-top:24px;color:var(--muted)}
.guide-lead .text-link{margin-top:24px}
.article-related-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.guide-description{font-size:15px;line-height:1.85;color:var(--muted);margin-top:16px}
.article-sagui-de-tufo-branco .article-cover,.article-sagui-de-tufo-branco>img{object-position:center 25%}
.article-heading h1{max-width:19ch;font-size:clamp(46px,5.2vw,74px)}
.article-deck{font-size:19px;line-height:1.75;color:var(--muted);max-width:58ch;margin-top:24px}
.article-byline{font-size:12px;color:var(--action);margin-top:22px}
.article-cover{width:100%;height:520px;object-fit:cover;border-radius:24px;margin-top:40px;object-position:center 58%}
.article-layout,.legal-layout{display:grid;grid-template-columns:280px minmax(0,700px);gap:100px;padding-block:72px 96px;align-items:start}
.article-contents{position:sticky;top:128px;display:flex;flex-direction:column;align-items:flex-start;gap:16px;font-size:13px;line-height:1.7}
.article-contents .eyebrow{margin-bottom:4px}
.article-contents>a{padding:5px 0;border-bottom:1px solid var(--border)}
.article-contents>a[aria-current=page]{font-weight:700;border-color:var(--action)}
.article-contents>.text-link{margin-top:16px}
.article-body>section{margin-bottom:40px;scroll-margin-top:136px}
.article-body h2{font-size:34px;letter-spacing:-.02em;line-height:1.18;margin-bottom:20px}
.article-body p{font-size:17px;line-height:1.95;color:var(--muted)}
.article-tips{background:var(--mist);padding:32px;border-radius:24px;margin-top:48px}
.article-tips h2{font-size:30px}
.article-tips ul{padding-left:20px;margin:0;display:grid;gap:12px;font-size:15px;line-height:1.85;color:var(--muted)}
.article-sources{border-top:1px solid var(--border);margin-top:32px;padding-top:24px;display:grid;gap:12px}
.article-sources>p{font-size:12px;font-weight:650;color:var(--action)}
.article-sources>a{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:13px;text-decoration:underline;text-underline-offset:4px}
.related-articles{background:var(--mist)}
.contact-channels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;padding:12px 0 48px}
.contact-channels>a{padding-top:28px;border-top:1px solid var(--border)}
.contact-channels>a>.icon{width:32px;height:32px;margin-bottom:26px;color:var(--action)}
.contact-channels h2{font-size:30px;line-height:1.2;letter-spacing:-.02em}
.contact-channels p{font-size:14px;color:var(--muted);margin-top:18px;max-width:34ch}
.contact-channels .text-link{margin-top:20px}
.location-editorial{display:grid;grid-template-columns:1fr 1.1fr;gap:88px;align-items:center}
.location-editorial>img{width:100%;height:590px;object-fit:cover;border-radius:24px}
.location-editorial address{font-size:17px;font-style:normal;line-height:1.9;color:var(--muted);margin-top:28px;max-width:43ch}
.location-editorial .button{margin-block:24px 28px;gap:16px}
.arrival-times{display:flex;gap:64px;border-block:1px solid var(--border);padding:22px 0;margin:28px 0 0}
.arrival-times dt{font-size:11px;color:var(--action)}
.arrival-times dd{margin:6px 0 0;font-size:15px}
.legal-directory{display:grid;grid-template-columns:1fr 1fr;gap:64px;padding-block:24px 104px}
.legal-directory>a{border-top:1px solid var(--border);padding-top:32px}
.legal-directory .eyebrow{display:block}
.legal-directory h2{font-size:40px}
.legal-directory p{font-size:16px;line-height:1.85;margin-top:22px;max-width:42ch;color:var(--muted)}
.legal-directory .text-link{margin-top:26px}
.legal-layout{padding-top:16px}
.legal-source{border-top:1px solid var(--border);padding-top:24px;margin-bottom:24px;font-size:13px!important}
.legal-source a{text-decoration:underline}
@media(max-width:1100px){
 .editorial-intro-heading,.editorial-copy-grid,.room-description-layout,.dining-story,.guide-lead,.location-editorial{gap:44px}
 .accommodation-row,.accommodation-row:nth-child(even){gap:40px;grid-template-columns:1fr 1fr}
 .article-layout,.legal-layout{grid-template-columns:220px minmax(0,1fr);gap:48px}
 .internal-booking-layout,.faq-layout{gap:40px}.contact-channels{gap:24px}.contact-channels h2{font-size:26px}
 .room-reservation{padding:24px}.room-feature-tags{gap:8px 12px}.editorial-cover{height:440px}
}
@media(max-width:760px){
 .editorial-intro,.room-intro,.article-heading,.packages-intro{padding-top:30px}
 .editorial-intro .inner-breadcrumb,.room-intro .inner-breadcrumb,.article-heading .inner-breadcrumb,.packages-intro .inner-breadcrumb{margin-bottom:32px;font-size:11px;gap:8px}
 .editorial-intro-heading{grid-template-columns:1fr;gap:26px;margin-bottom:32px}
 .editorial-intro h1,.packages-intro h1,.article-heading h1{font-size:clamp(42px,11.5vw,58px)}
 .editorial-intro-aside>p,.reading-copy>p:not(.eyebrow){font-size:16px;line-height:1.85}
 .editorial-cover{height:360px;object-position:center 60%}
 .editorial-copy-grid,.internal-booking-layout,.room-description-layout,.faq-layout,.dining-story,.guide-lead,.location-editorial{grid-template-columns:1fr;gap:36px}
 .hotel-seaside .editorial-split>img{height:400px}.internal-booking-layout>div>p:not(.eyebrow){font-size:15px}
 .internal-booking-actions{gap:14px}.internal-booking-actions>.button{width:100%}
 .accommodation-row,.accommodation-row:nth-child(even){grid-template-columns:1fr;gap:28px;padding:28px 0 44px;margin-bottom:20px}
 .accommodation-row:nth-child(even) .accommodation-row-photo{order:0}
 .accommodation-row-photo img{aspect-ratio:1.25}.accommodation-row h2{font-size:38px}.accommodation-description{font-size:15px;margin-top:18px}
 .room-intro-heading{display:block;margin-bottom:28px}.room-intro-heading h1{font-size:44px}.room-intro-heading>.button{margin-top:26px}
 .room-cover{aspect-ratio:1.2;max-height:none}.room-description-layout .reading-copy h2{font-size:42px}
 .room-reservation{padding:26px 22px;scroll-margin-top:104px}.room-features{gap:16px;font-size:13px}
 .related-room-grid{grid-template-columns:1fr;gap:40px}.related-room img{aspect-ratio:1.35}.related-room h3{font-size:32px}
 .faq-list summary{font-size:14px;padding-block:20px}.faq-list details>p{font-size:14px}
 .dining-story>img{height:400px}.editorial-actions{gap:20px}.dining-beach-note{padding-bottom:56px;gap:18px}.dining-beach-note>p{font-size:14px}
 .packages-intro .editorial-split{padding-bottom:56px}.packages-intro .editorial-split>img{height:390px}
 .availability-section .booking-wrap{scroll-margin-top:120px}.availability-section .booking-caption>span:last-child{margin-left:0}
 .planning-steps li{padding-left:36px}.planning-steps h3{font-size:28px}.planning-steps p{font-size:14px}
 .package-assistance{align-items:flex-start;flex-direction:column;gap:12px;font-size:18px;margin-top:20px}
 .guide-index{padding-bottom:64px}.guide-lead{padding-bottom:40px;margin-bottom:40px;gap:28px}.guide-lead>img{height:350px}.guide-lead h2{font-size:38px}
 .article-related-grid{grid-template-columns:1fr;gap:40px}.guide-description{font-size:14px}
 .article-deck{font-size:17px;margin-top:20px}.article-byline{font-size:11px}
 .article-cover{height:320px;margin-top:28px}
 .article-layout,.legal-layout{grid-template-columns:1fr;gap:40px;padding-block:40px 64px}
 .article-contents{position:static;gap:10px;padding-bottom:24px;border-bottom:1px solid var(--border)}
 .article-contents>a{border:0}.article-contents>.text-link{margin-top:8px}
 .article-body h2{font-size:30px}.article-body p{font-size:16px;line-height:1.9}.article-body>section{scroll-margin-top:108px}
 .article-tips{padding:24px}.article-tips ul{font-size:14px}
 .contact-channels{grid-template-columns:1fr;gap:32px;padding-bottom:0}.contact-channels h2{font-size:32px}
 .contact-channels>a>.icon{margin-bottom:18px}.contact-channels p{max-width:none;font-size:15px}.contact-channels .text-link{margin-top:14px}
 .location-editorial>img{height:390px}.location-editorial address{font-size:16px}.location-editorial .button{font-size:10px;padding-inline:18px}
 .arrival-times{gap:36px}.legal-directory{grid-template-columns:1fr;gap:40px;padding-bottom:64px}.legal-directory h2{font-size:35px}.legal-directory p{font-size:15px}
}
@media(prefers-reduced-motion:reduce){.faq-list summary span{transition:none}}
