@font-face{font-family:Cormorant;src:url(media/cormorant.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:Cormorant;src:url(media/cormorant-italic.woff2) format("woff2");font-weight:500;font-style:italic;font-display:swap}
@font-face{font-family:DM;src:url(media/dm-sans.woff2) format("woff2");font-weight:100 1000;font-display:swap}
:root{--forest:#192b25;--forest-deep:#14231e;--moss:#52634e;--cream:#f6f2e9;--sage:#e4e8dc;--gold:#e8c795;--ink:#23352c;--line:#d6d7c8;--display:Cormorant,Georgia,serif;--gutter:clamp(22px,5.5vw,92px)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--cream);color:var(--ink);font:400 16px/1.6 DM,sans-serif}
img{display:block;max-width:100%}
figure,p,h1,h2,h3,dl,dd{margin:0}
a{color:inherit;text-decoration:none}
button{color:inherit;font:inherit;cursor:pointer}
:focus-visible{outline:2px solid #b56737;outline-offset:5px}
.hero :focus-visible,.header :focus-visible,.contact :focus-visible,.scene-panel :focus-visible{outline-color:var(--gold)}
.wrap{width:min(100% - var(--gutter)*2,1330px);margin-inline:auto}
.skip{position:fixed;z-index:8;top:6px;left:12px;transform:translateY(-160%);padding:10px 14px;background:var(--cream)}
.skip:focus{transform:none}
.header{position:sticky;top:0;z-index:5;background:var(--forest);color:var(--cream);border-bottom:1px solid #ffffff26}
.header-inner{height:72px;display:flex;justify-content:space-between;align-items:center;gap:20px}
.brand{display:inline-flex;align-items:center;gap:10px;line-height:.8;font-size:28px;letter-spacing:-.065em}
.brand small{display:block;margin-top:6px;font-size:8px;letter-spacing:.29em}
.brand sup{font-size:.57em;color:var(--gold);padding-left:2px}
.header nav{display:flex;gap:clamp(16px,3vw,48px);color:#ece8dd;font-size:14px}
.header nav a{padding:10px 0}
.header nav a:hover,.header nav a[aria-current="location"]{color:var(--gold)}
.header-cta{font-size:13px;font-weight:600;border:1px solid #e8c79575;padding:9px 15px;color:var(--gold);display:flex;gap:14px;align-items:center}
.header-cta:hover{background:var(--gold);color:var(--forest)}
.progress{position:absolute;inset:auto 0 -1px;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;pointer-events:none}
.hero{background:var(--forest);color:var(--cream);padding:clamp(25px,4vw,60px) 0 0;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);align-items:center;gap:24px}
.hero-copy{position:relative;z-index:1;padding:22px 0 40px}
.eyebrow{font-size:.71rem;font-weight:700;letter-spacing:.17em;line-height:1.45}
.hero .eyebrow,.contact .eyebrow{color:var(--gold)}
.dot{display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:currentColor;vertical-align:1px}
h1,h2,h3{font:500 clamp(44px,5.5vw,87px)/.92 var(--display);letter-spacing:-.048em;text-wrap:balance}
h1{font-size:clamp(57px,7.15vw,111px);margin:22px 0 20px;text-wrap:initial}
em{font-weight:500;color:var(--moss)}
.hero em,.contact em{color:var(--gold)}
.hero-copy>p:not(.eyebrow){max-width:33ch;color:#e4e0d3;margin-bottom:26px}
.btn{min-height:52px;padding:0 18px;display:inline-flex;align-items:center;justify-content:space-between;gap:25px;font-size:.87rem;font-weight:700}
.gold{background:var(--gold);color:var(--forest-deep);transition:background .2s ease}
.gold:hover{background:#f4d7ab}
.btn span,.under span{transition:transform .2s ease}
.btn:hover span,.under:hover span{transform:translate(2px,2px)}
.hero-visual{position:relative;overflow:hidden;aspect-ratio:1.37;background:#30463a;isolation:isolate}
.hero-visual::after{content:"";position:absolute;inset:65% 0 0;z-index:-1;background:linear-gradient(transparent,#101a15bb)}
.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:center 59%;position:relative;z-index:-2}
.hero-visual figcaption{position:absolute;left:16px;right:16px;bottom:13px;display:flex;justify-content:space-between;gap:10px;color:#fff8e9;font-size:.59rem;letter-spacing:.14em;font-weight:700}
.facts{display:grid;grid-template-columns:1fr 1fr 1fr;border-top:1px solid #ffffff35;margin-top:clamp(24px,4vw,52px);padding:22px 0 26px}
.facts div+div{border-left:1px solid #ffffff35;padding-left:clamp(12px,3vw,46px)}
.facts dt{color:#ded8c6;font-size:.76rem}
.facts dd{font:500 clamp(23px,2.5vw,40px)/1 var(--display);margin-top:5px}
.section{padding-block:clamp(60px,8.5vw,125px)}
.section-head{display:grid;grid-template-columns:1.4fr 1fr;gap:24px;align-items:end;margin-bottom:30px}
.section-head>p,.plan-intro>p:not(.eyebrow),.location>div>p:not(.eyebrow){max-width:36ch;color:#4f5e50}
.chapter{color:var(--moss);margin-bottom:14px}
.chapter span{display:inline-block;min-width:2em}
.tour{display:grid;grid-template-columns:minmax(0,2.35fr) minmax(0,1fr);background:var(--forest);color:var(--cream)}
.scene-stage{position:relative;min-width:0;aspect-ratio:1.87;touch-action:pan-y}
.scene-photo{height:100%;overflow:hidden;background:#546b5c}
.scene-photo img{width:100%;height:100%;object-fit:cover}
.scene-panel{display:flex;flex-direction:column;justify-content:space-between;gap:16px;padding:clamp(18px,3.2vw,48px)}
.scene-panel .eyebrow{color:var(--gold);margin-bottom:12px}
.scene-panel h3{font-size:clamp(37px,4.3vw,64px);margin-bottom:12px;text-wrap:initial}
.scene-panel p:not(.eyebrow){font-size:.92rem;color:#e6dfd0}
.scene-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.75rem;letter-spacing:.15em;color:var(--gold)}
.arrows{display:flex;gap:8px}
.icon-btn{display:inline-grid;place-items:center;border-radius:50%;border:1px solid #e8c7958f;background:transparent;color:var(--gold);width:44px;height:44px;padding:0;font-size:20px;line-height:1}
.icon-btn:hover{background:var(--gold);color:var(--forest-deep)}
.expand{position:absolute;top:12px;right:12px;background:var(--forest-deep)}
.scene-tabs{position:relative;display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}
.scene-tabs button{border:1px solid var(--line);background:transparent;padding:8px 13px;min-height:42px;font-size:.8rem;font-weight:650}
.scene-tabs button:hover,.scene-tabs [aria-pressed="true"]{background:var(--forest);border-color:var(--forest);color:var(--cream)}
.note{color:#566353;font-size:.75rem;margin-top:12px}
.plans{background:var(--sage)}
.plan-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:center;gap:clamp(24px,5.5vw,94px)}
.plan-intro>p:not(.eyebrow),.location>div>p:not(.eyebrow){margin:20px 0 24px}
.plan-options{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:18px;max-width:420px}
.plan-options button{display:grid;gap:3px;text-align:left;padding:12px 14px;background:transparent;border:1px solid #939d88}
.plan-options button span{font-size:.82rem}
.plan-options strong{font:500 clamp(25px,3vw,37px)/1 var(--display)}
.plan-options [aria-pressed="true"],.plan-options button:hover{background:var(--forest);border-color:var(--forest);color:var(--cream)}
.under{font-weight:700;font-size:.86rem;display:inline-flex;align-items:center;gap:10px;min-height:44px;text-decoration:underline;text-underline-offset:5px}
.plan-image-wrap{background:#d8dfcf;padding:clamp(14px,3.1vw,50px);position:relative;display:grid;place-items:center;aspect-ratio:1.36}
.plan-canvas{position:relative;width:100%}
.plan-canvas[data-current="ponta"]{width:74%}
.plan-canvas img{width:100%;height:auto}
.plan-canvas img{clip-path:polygon(1.17% 1.65%,4.43% 1.65%,6.95% 3.71%,44.15% 3.71%,44.15% 1.65%,52.92% 1.65%,52.92% 3.14%,64.88% 3.14%,64.88% 1.65%,73.32% 1.65%,73.32% 43.21%,99.09% 43.21%,99.09% 98.21%,20.50% 98.21%,20.50% 96.15%,23.89% 90.52%,16.45% 90.52%,12.00% 98.21%,1.17% 98.21%)}
.plan-canvas[data-current="ponta"] img{clip-path:polygon(1.76% 1.61%,40.46% 1.61%,40.96% 4.14%,90.61% 4.14%,93.08% 1.61%,97.69% 1.61%,97.69% 86.19%,86.49% 86.19%,80.64% 80.76%,73.81% 80.76%,73.81% 83.28%,75.04% 84.93%,75.04% 86.29%,71.42% 86.29%,71.42% 98.70%,1.76% 98.70%,1.76% 84.05%,3.41% 82.31%,3.41% 68.15%,1.76% 68.15%,1.76% 35.66%,3.66% 35.66%,3.66% 18.49%,1.76% 17.13%)}
.pin{position:absolute;transform:translate(-50%,-50%);display:grid;place-items:center;width:34px;height:34px;border:1px solid #fbf5e6;border-radius:50%;background:var(--forest-deep);color:#fff6e3;font-size:.75rem;font-weight:800;box-shadow:0 0 0 4px #18282045}
.pin:hover,.pin[aria-pressed="true"]{background:var(--gold);color:var(--forest-deep);border-color:var(--forest-deep)}
.plan-legend{display:grid;grid-template-columns:minmax(120px,.65fr) 1fr;align-items:start;gap:10px;padding:15px 0;border-bottom:1px solid #b9c0af;font-size:.88rem}
.location{display:grid;grid-template-columns:1fr .85fr;align-items:center;gap:clamp(24px,7vw,112px)}
.location address{font-style:normal;font-weight:600;margin-bottom:10px}
.nearby{border-top:1px solid var(--line)}
.nearby>.eyebrow{padding:15px 0;color:var(--moss)}
.nearby>div{display:flex;gap:20px;align-items:center;border-bottom:1px solid var(--line);padding:16px 0}
.nearby>div>span{color:var(--moss);font-size:.77rem}
.nearby>div p{font:500 clamp(24px,3vw,42px)/.95 var(--display)}
.nearby small{display:block;font:700 .65rem/1 DM,sans-serif;letter-spacing:.15em;color:var(--moss);margin-bottom:6px}
.contact{background:var(--forest);color:var(--cream);padding-block:clamp(54px,8vw,104px)}
.contact-grid{display:grid;grid-template-columns:1.4fr 1fr;align-items:end;gap:30px}
.contact h2{margin:15px 0}
.contact h2+p{max-width:45ch;color:#e8e0d1}
.contact-action{border-top:1px solid #e8c79565;padding-top:16px;justify-self:end;width:min(100%,380px)}
#contact-plan{font:500 34px/1.15 var(--display);margin:9px 0 16px}
.contact-action .btn{width:100%}
.creci{color:#e4dece;font-size:.78rem;margin-top:12px}
footer{background:var(--forest-deep);color:#e4dece;font-size:.76rem}
.footer-inner{padding-block:20px;display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap}
footer a:hover{color:var(--gold)}
.campaign-footer{padding-bottom:calc(78px + env(safe-area-inset-bottom))}
.campaign-footer .footer-inner{align-items:center;column-gap:30px}
.campaign-footer strong{font-size:.92rem;color:var(--cream)}
.campaign-footer nav{display:flex;flex-wrap:wrap;gap:8px 22px}
.campaign-footer nav a{display:inline-flex;align-items:center;gap:4px;min-height:44px;text-decoration:underline;text-underline-offset:4px}
.footer-details{padding-top:15px;border-top:1px solid #ffffff30;max-width:75ch}
.floating-whatsapp{position:fixed;z-index:4;right:max(18px,env(safe-area-inset-right));bottom:calc(18px + env(safe-area-inset-bottom));display:inline-flex;align-items:center;justify-content:center;gap:9px;min-width:54px;min-height:54px;padding:0 17px;border-radius:100px;background:#176346;color:#fff;font-size:.85rem;font-weight:700;border:1px solid #ffffff80;box-shadow:0 4px 18px #14231e45;transition:background .2s ease}
.floating-whatsapp:hover{background:#104a35}
.floating-whatsapp:focus-visible{outline-color:#fff;box-shadow:0 0 0 7px var(--forest-deep)}
.privacy{width:min(100% - var(--gutter)*2,730px)}
.privacy h1{font-size:clamp(48px,7vw,82px)}
.privacy h2{font-size:clamp(30px,4vw,44px);line-height:1;margin:26px 0 9px;text-wrap:initial}
.privacy p+p{margin-top:10px}
.privacy a:not(.under){text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
dialog{color:var(--cream);background:var(--forest-deep);border:1px solid #e8c79580;padding:12px;max-width:min(94vw,1320px);max-height:92vh}
dialog::backdrop{background:#101611da}
.lightbox-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:0 0 8px}
#lightbox-image{object-fit:contain;max-height:calc(92vh - 80px);margin:auto}
body:has(dialog[open]){overflow:hidden}
@keyframes arrive{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes photograph{from{opacity:.65;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}
@media(prefers-reduced-motion:no-preference){
  .hero-copy>*{animation:arrive .66s ease both}
  .hero-copy h1{animation-delay:75ms}
  .hero-copy h1+p{animation-delay:150ms}
  .hero-copy .btn{animation-delay:225ms}
  .hero-visual img,.photo-change{animation:photograph .55s ease-out both}
  .scene-content.photo-change{animation:arrive .35s ease both}
}
@media(max-width:1000px){.hero-grid{gap:18px}.hero-visual{aspect-ratio:1.15}.tour{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr)}}
@media(max-width:700px){
  .floating-whatsapp{padding:0 13px}
  .floating-whatsapp span{display:none}
  .campaign-footer nav{gap:0 16px}
  html{scroll-padding-top:64px}
  .header-inner{height:60px}
  .header nav{display:none}
  .header-cta{font-size:.76rem;padding:7px 10px}
  .hero-grid,.section-head,.plan-grid,.location,.contact-grid{grid-template-columns:1fr}
  .hero-grid{gap:2px}
  .hero-copy{padding:12px 0 24px}
  h1{font-size:clamp(55px,13.2vw,83px);margin:13px 0 12px}
  .hero-copy>p:not(.eyebrow){margin-bottom:17px;font-size:.95rem}
  .hero-visual{aspect-ratio:1.43}
  .hero-visual figcaption{font-size:.51rem;left:8px;right:8px;bottom:8px}
  .facts{gap:8px;padding:14px 0 18px}
  .facts dt{font-size:.62rem}
  .facts dd{font-size:clamp(19px,5vw,27px)}
  .facts div+div{padding-left:8px}
  .section-head{gap:12px;margin-bottom:20px}
  .tour{grid-template-columns:1fr}
  .scene-stage{aspect-ratio:1.5}
  .scene-panel{padding:17px;gap:12px}
  .scene-panel h3{font-size:41px}
  .scene-content{min-height:143px}
  .scene-tabs{flex-wrap:nowrap;overflow-x:auto;padding:4px 4px 9px;scrollbar-width:thin}
  .scene-tabs button{flex:none}
  .plan-image-wrap{aspect-ratio:1.23}
  .plan-legend{grid-template-columns:1fr;gap:2px}
  .contact-action{justify-self:start}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
