:root{--ink:#17201f;--forest:#162b2b;--ocean:#27645f;--terracotta:#c85736;--sand:#d8bd8c;--paper:#f4f0e7;--white:#fffdf8;--muted:#65706d;--line:rgba(23,32,31,.14);--serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;--sans:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--max:1200px;--shadow:0 24px 60px rgba(10,25,24,.16)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 var(--sans);-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select{font:inherit}img{display:block;max-width:100%}.container{width:min(var(--max),calc(100% - 48px));margin-inline:auto}.visually-hidden,.skip-link:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:1000;top:8px;left:8px;background:var(--white);padding:10px 16px}.eyebrow{margin:0 0 18px;color:var(--terracotta);font-size:.76rem;font-weight:750;letter-spacing:.18em;text-transform:uppercase}.eyebrow.light{color:var(--sand)}h1,h2,h3,blockquote{font-family:var(--serif);font-weight:500;letter-spacing:-.035em}h2{margin:0;font-size:clamp(2.3rem,4.5vw,4.5rem);line-height:1.04}h2 em,h1 em{color:var(--terracotta);font-weight:400}p{margin-top:0}.section-pad{padding:120px 0}.section-heading{display:grid;grid-template-columns:1.3fr .7fr;align-items:end;gap:64px;margin-bottom:52px}.section-heading>p{margin:0;color:var(--muted);max-width:48ch}.light-heading{color:var(--white)}.light-heading>p{color:rgba(255,253,248,.7)}
.site-header{position:fixed;z-index:100;inset:0 0 auto;background:rgba(244,240,231,.92);border-bottom:1px solid transparent;backdrop-filter:blur(14px);transition:box-shadow .2s,border-color .2s}.site-header.scrolled{border-color:var(--line);box-shadow:0 6px 24px rgba(10,25,24,.06)}.nav-shell{height:80px;width:min(1320px,calc(100% - 48px));margin:auto;display:flex;align-items:center;justify-content:space-between}.brand{display:inline-flex;align-items:center;gap:12px;font-family:var(--serif);font-size:1.15rem;line-height:1}.brand em{display:block;color:var(--terracotta);font-size:.85rem;letter-spacing:.05em}.brand-mark{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--ink);border-radius:50%;font:700 .7rem var(--sans);letter-spacing:.12em}.main-nav{display:flex;gap:30px;align-items:center}.main-nav a{position:relative;color:#34403e;font-size:.88rem;font-weight:600}.main-nav a:not(.nav-mobile-cta)::after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:1px;background:var(--terracotta);transition:right .2s}.main-nav a:hover::after,.main-nav a.active::after{right:0}.nav-cta{padding:11px 18px;background:var(--forest);color:var(--white);font-size:.86rem;font-weight:700}.nav-mobile-cta,.menu-toggle{display:none}.menu-toggle{border:0;background:none;padding:10px}.menu-toggle span{display:block;width:24px;height:2px;margin:6px 0;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}
.hero{position:relative;min-height:100svh;padding-top:80px;display:flex;align-items:center;color:var(--white);background:url("images/hero-rapa-nui.jpg") center/cover no-repeat}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,18,18,.82) 0%,rgba(7,18,18,.52) 44%,rgba(7,18,18,.12) 76%),linear-gradient(0deg,rgba(7,18,18,.45),transparent 45%)}.hero-content{position:relative;z-index:1;padding:92px 0 160px}.hero h1{margin:0;max-width:9ch;font-size:clamp(4rem,8.2vw,8.2rem);line-height:.88}.hero h1 em{display:block}.hero-copy{max-width:49ch;margin:30px 0 0;color:rgba(255,253,248,.82);font-size:1.05rem}.hero-actions{display:flex;gap:14px;margin-top:38px;flex-wrap:wrap}.button{min-height:52px;padding:13px 22px;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;cursor:pointer;font-size:.9rem;font-weight:750;transition:transform .18s,background .18s,color .18s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--terracotta);color:var(--white)}.button-primary:hover{background:#ae452a}.button-quiet{border-color:rgba(255,255,255,.42);color:var(--white)}.button-quiet:hover{background:rgba(255,255,255,.1)}.hero-facts{position:absolute;z-index:2;right:0;bottom:0;display:grid;grid-template-columns:repeat(3,1fr);width:min(720px,62vw);background:var(--paper);color:var(--ink)}.hero-facts div{min-height:112px;padding:24px;border-right:1px solid var(--line);display:grid;grid-template-columns:auto 1fr;gap:0 14px;align-content:center}.hero-facts span{grid-row:span 2;color:var(--terracotta);font:500 1rem var(--serif)}.hero-facts strong,.hero-facts small{display:block}.hero-facts small{color:var(--muted)}
.intro-grid{display:grid;grid-template-columns:.45fr 1.2fr .7fr;gap:64px;align-items:start}.intro h2{font-size:clamp(2.8rem,5vw,5rem)}.intro h2+ p{max-width:62ch;margin:30px 0 0;color:var(--muted);font-size:1.05rem}.quote-card{padding:32px 0 0;border-top:1px solid var(--ink)}.quote-mark{font:4rem/1 var(--serif);color:var(--terracotta)}blockquote{margin:4px 0 24px;font-size:1.42rem;line-height:1.35}.quote-card p{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.12em}
.stays{background:var(--white)}.stay-grid{display:grid;grid-template-columns:1.15fr .925fr .925fr;gap:20px}.stay-card{background:var(--paper);border:1px solid var(--line);overflow:hidden;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s}.stay-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.stay-image{height:260px;position:relative;margin:0;overflow:hidden;background:var(--forest)}.stay-card-featured .stay-image{height:350px}.stay-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.stay-card:hover .stay-image img{transform:scale(1.025)}.stay-image::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,25,24,.62),transparent 55%)}.stay-image figcaption{position:absolute;z-index:1;left:22px;bottom:18px;color:var(--white);font-size:.73rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.stay-content{padding:28px;display:flex;flex-direction:column;flex:1}.card-number{color:var(--terracotta);font-size:.72rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.stay-content h3{margin:0 0 10px;font-size:1.85rem}.stay-content>p:not(.card-number){color:var(--muted)}.stay-content ul{list-style:none;padding:16px 0;margin:4px 0 18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:8px 18px;color:var(--muted);font-size:.82rem}.stay-content li::before{content:"·";color:var(--terracotta);margin-right:6px}.stay-content a{margin-top:auto;padding-top:12px;display:flex;justify-content:space-between;border-top:1px solid var(--line);font-size:.84rem;font-weight:750}
.experiences{background:var(--forest)}.experience-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-template-rows:270px 270px;gap:18px}.experience-card{position:relative;overflow:hidden;background-color:var(--ocean);color:var(--white);display:flex;align-items:flex-end;padding:30px;background-size:cover;background-position:center;isolation:isolate}.experience-card::before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(0deg,rgba(7,18,18,.9) 0%,rgba(7,18,18,.38) 42%,rgba(7,18,18,.04) 78%);transition:background .25s}.experience-card::after{content:"";position:absolute;z-index:-2;inset:0;background:inherit;background-size:cover;background-position:inherit;transition:transform .45s}.experience-card:hover::before{background:linear-gradient(0deg,rgba(7,18,18,.94) 0%,rgba(7,18,18,.42) 48%,rgba(7,18,18,.08) 82%)}.experience-card:hover::after{transform:scale(1.035)}.experience-large{grid-row:span 2}.exp-landscape{background-image:url("images/experencia4.jpg");background-position:center}.exp-guided{grid-column:span 2;background-image:url("images/experencia2.jpg");background-position:center 47%}.exp-pools{background-image:url("images/experencia1.jpg");background-position:center}.exp-sunset{background-image:url("images/experencia3.jpg");background-position:center}.experience-card span{font-size:.68rem;font-weight:750;letter-spacing:.15em;text-transform:uppercase;color:var(--sand)}.experience-card h3{margin:6px 0 0;font-size:1.75rem}.experience-large h3{font-size:2.8rem}.experience-card p{margin:9px 0 0;color:rgba(255,253,248,.8);max-width:38ch;font-size:.88rem;line-height:1.45}
.culture-grid{display:grid;grid-template-columns:1fr 1fr;gap:92px;align-items:center}.culture-photo{min-height:680px;position:relative;background:url("images/cultura-moai.jpg") center/cover no-repeat;box-shadow:28px 28px 0 var(--sand)}.culture-photo span{position:absolute;left:-28px;top:34px;padding:12px 18px;background:var(--terracotta);color:var(--white);font-size:.7rem;font-weight:750;letter-spacing:.12em;text-transform:uppercase}.culture-copy>p:not(.eyebrow){margin:28px 0 38px;color:var(--muted);max-width:55ch}.culture-list{list-style:none;padding:0;margin:0}.culture-list li{display:grid;grid-template-columns:48px 1fr;gap:12px;padding:22px 0;border-top:1px solid var(--line)}.culture-list li:last-child{border-bottom:1px solid var(--line)}.culture-list li>span{font:500 1rem var(--serif);color:var(--terracotta)}.culture-list h3{margin:0 0 4px;font-size:1.32rem}.culture-list p{margin:0;color:var(--muted);font-size:.9rem}
.booking{background:linear-gradient(145deg,#173b3a 0%,var(--ocean) 62%,#34756e 100%);color:var(--white)}.booking-shell{position:relative}.booking-intro{max-width:760px;margin-bottom:38px}.booking-intro h2{max-width:13ch}.booking-intro>p:not(.eyebrow){max-width:62ch;margin:24px 0 0;color:rgba(255,253,248,.76)}.booking-search{position:relative;z-index:3;display:grid;grid-template-columns:1.25fr .78fr .78fr 1.35fr auto;gap:4px;padding:5px;background:var(--sand);box-shadow:0 18px 45px rgba(7,24,23,.24)}.booking-field{position:relative;display:grid;gap:2px;min-width:0;padding:10px 14px;background:var(--white);color:var(--ink)}.booking-field>span{font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.booking-field input,.occupancy-toggle{width:100%;min-width:0;border:0;background:transparent;padding:2px 0;color:var(--ink);font-size:.9rem;font-weight:700;outline:0}.booking-field:focus-within{box-shadow:inset 0 0 0 2px var(--terracotta)}.occupancy-toggle{display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;cursor:pointer}.occupancy-toggle>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.booking-submit{min-width:116px;border:0;background:var(--terracotta);color:var(--white);padding:0 25px;font-weight:800;cursor:pointer;transition:background .18s}.booking-submit:hover{background:#ae452a}.occupancy-panel{position:absolute;z-index:10;top:calc(100% + 10px);right:0;width:min(350px,90vw);padding:20px;background:var(--white);box-shadow:var(--shadow);border:1px solid var(--line)}.occupancy-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid var(--line)}.occupancy-row>span{display:grid;text-transform:none;letter-spacing:0;color:var(--ink);font-size:.9rem}.occupancy-row small{color:var(--muted);font-size:.72rem;font-weight:500}.counter{display:flex;align-items:center;border:1px solid var(--line)}.counter button{width:38px;height:36px;border:0;background:transparent;color:var(--terracotta);font-size:1.2rem;cursor:pointer}.counter output{min-width:34px;text-align:center;font-weight:750}.occupancy-done{width:100%;margin-top:16px;padding:10px;border:0;background:var(--forest);color:var(--white);font-weight:750;cursor:pointer}.booking-hint{margin:12px 0 0;color:rgba(255,253,248,.66);font-size:.78rem}.booking-result{margin:24px 0 0;padding:16px 18px;background:rgba(255,253,248,.12);border-left:3px solid var(--sand);color:var(--white)}.booking-result strong{display:block;color:var(--sand)}.booking-preview{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:44px}.booking-card{display:grid;grid-template-columns:190px 1fr;min-width:0;background:var(--white);color:var(--ink);box-shadow:0 16px 36px rgba(7,24,23,.18)}.booking-card-image{min-height:220px;background:url("images/alojamiento-oceano.jpg") center/cover no-repeat}.booking-image-garden{background-position:78% center;filter:saturate(.82)}.booking-card>div:last-child{display:flex;flex-direction:column;align-items:flex-start;padding:24px}.booking-card-type{color:var(--terracotta);font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.booking-card h3{margin:7px 0;font-size:1.55rem}.booking-card p{margin:0 0 16px;color:var(--muted);font-size:.84rem}.booking-card strong{margin-top:auto;font-size:.86rem}.booking-card button{margin-top:14px;border:0;background:var(--forest);color:var(--white);padding:10px 14px;font-weight:750;cursor:pointer}.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{list-style:none;padding:24px 0;cursor:pointer;display:flex;justify-content:space-between;gap:20px;font-weight:700}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{color:var(--terracotta);font-size:1.4rem;transition:transform .2s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{max-width:65ch;margin:-8px 0 26px;color:var(--muted)}
.contact{background:var(--terracotta);color:var(--white)}.contact-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:80px;align-items:start}.contact-intro h2{font-size:clamp(2.7rem,4.4vw,4.5rem)}.contact-intro>p:not(.eyebrow){max-width:48ch;margin:26px 0 38px;color:rgba(255,253,248,.78)}.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding-top:24px;border-top:1px solid rgba(255,255,255,.3)}.contact-details span,.contact-details strong{display:block}.contact-details span{font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,253,248,.62)}.contact-details strong{margin-top:5px;font:500 1.05rem var(--serif)}.contact-form{padding:36px;background:var(--white);color:var(--ink);box-shadow:var(--shadow)}.contact-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact-form label{display:grid;gap:8px;margin-bottom:20px;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid var(--line);border-radius:0;background:var(--white);padding:13px 14px;color:var(--ink);font-size:.92rem;letter-spacing:0;text-transform:none;outline:0}.contact-form textarea{resize:vertical;min-height:130px}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--terracotta);box-shadow:0 0 0 2px rgba(200,87,54,.14)}.contact-submit{width:100%;min-height:52px;display:flex;align-items:center;justify-content:space-between;border:0;background:var(--forest);color:var(--white);padding:13px 18px;font-weight:800;cursor:pointer}.contact-submit:hover{background:#244543}.contact-note,.contact-status{margin:12px 0 0;color:var(--muted);font-size:.78rem}.contact-status{color:var(--forest);font-weight:700}
footer{padding:70px 0 28px;background:var(--paper)}.footer-grid{display:grid;grid-template-columns:1.4fr .7fr .7fr 1fr;gap:55px}.footer-brand p{max-width:34ch;margin-top:20px;color:var(--muted)}footer h2{margin:0 0 16px;font:750 .72rem var(--sans);letter-spacing:.13em;text-transform:uppercase;color:var(--terracotta)}footer>div a:not(.brand){display:block;padding:4px 0;font-size:.9rem}.footer-note{display:flex;flex-direction:column;justify-content:space-between;border-left:1px solid var(--line);padding-left:30px}.footer-note p{font:500 1.45rem/1.3 var(--serif)}.footer-note span{color:var(--muted);font-size:.8rem}.footer-bottom{display:flex;justify-content:space-between;margin-top:60px;padding-top:24px;border-top:1px solid var(--line);color:var(--muted);font-size:.76rem}
:focus-visible{outline:3px solid var(--terracotta);outline-offset:4px}@media (max-width:980px){.main-nav{gap:18px}.intro-grid{grid-template-columns:.35fr 1.3fr}.quote-card{grid-column:2}.stay-grid{grid-template-columns:1fr 1fr}.stay-card-featured{grid-column:span 2}.experience-grid{grid-template-columns:1fr 1fr}.experience-large{grid-row:span 2}.exp-trek{grid-column:auto}.culture-grid,.planner-grid{gap:55px}.footer-grid{grid-template-columns:1.2fr 1fr 1fr}.footer-note{grid-column:1/-1;border:0;border-top:1px solid var(--line);padding:24px 0 0;display:block}.footer-note span{display:block;margin-top:14px}}
@media (max-width:760px){.container,.nav-shell{width:min(100% - 32px,var(--max))}.section-pad{padding:80px 0}.nav-shell{height:70px}.site-header{background:var(--paper)}.main-nav{position:fixed;inset:70px 0 auto;background:var(--paper);padding:22px 24px 34px;display:flex;flex-direction:column;align-items:stretch;gap:0;transform:translateY(-120%);visibility:hidden;transition:transform .25s,visibility .25s;border-bottom:1px solid var(--line)}.main-nav.open{transform:translateY(0);visibility:visible}.main-nav a{padding:15px 0;border-bottom:1px solid var(--line);font-size:1rem}.nav-mobile-cta{display:block!important;margin-top:18px;padding:14px 18px!important;background:var(--terracotta);color:var(--white);text-align:center;border:0!important}.nav-cta{display:none}.menu-toggle{display:block}.hero{padding-top:70px;background-position:58% center}.hero-shade{background:linear-gradient(90deg,rgba(7,18,18,.81),rgba(7,18,18,.18)),linear-gradient(0deg,rgba(7,18,18,.7),transparent 58%)}.hero-content{padding:80px 0 190px}.hero h1{font-size:clamp(3.8rem,17vw,6.2rem)}.hero-facts{left:16px;right:16px;width:auto}.hero-facts div{min-height:100px;padding:16px 12px;display:block}.hero-facts span{display:block;margin-bottom:4px}.hero-facts strong{font-size:.82rem}.hero-facts small{font-size:.67rem}.intro-grid,.section-heading,.culture-grid,.planner-grid,.faq-grid,.newsletter-inner{grid-template-columns:1fr;gap:35px}.intro-grid{gap:25px}.intro-grid>.eyebrow{margin:0}.quote-card{grid-column:auto}.section-heading{margin-bottom:38px}.stay-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:18px}.stay-card,.stay-card-featured{flex:0 0 86%;grid-column:auto;scroll-snap-align:start}.stay-card-featured .stay-image,.stay-image{height:250px}.experience-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.experience-card,.experience-large{flex:0 0 86%;min-height:420px;scroll-snap-align:start}.experience-large h3{font-size:2.1rem}.culture-photo{min-height:480px;box-shadow:14px 14px 0 var(--sand)}.culture-photo span{left:-8px}.planner-form{padding:26px 20px}.field-row{grid-template-columns:1fr}.newsletter-inner{gap:28px}.newsletter-status{grid-column:auto;margin:0!important}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer-note{grid-column:1/-1}.footer-bottom{align-items:flex-start;flex-direction:column;gap:8px}}
@media (max-width:420px){.footer-grid{grid-template-columns:1fr}.stay-card,.experience-card,.experience-large{flex-basis:92%}.hero-actions .button{width:100%}.hero-copy{font-size:.96rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
@media (max-width:1050px){.booking-search{grid-template-columns:1.2fr 1fr 1fr}.occupancy-field{grid-column:1/3}.booking-submit{grid-column:3}.booking-card{grid-template-columns:150px 1fr}}
@media (max-width:760px){.booking-intro{margin-bottom:28px}.booking-search{grid-template-columns:1fr 1fr}.booking-destination,.occupancy-field{grid-column:1/-1}.booking-submit{grid-column:1/-1;min-height:52px}.booking-preview{grid-template-columns:1fr;margin-top:32px}.booking-card{grid-template-columns:130px 1fr}.booking-card>div:last-child{padding:19px}.booking-card-image{min-height:210px}.booking-card h3{font-size:1.35rem}.occupancy-panel{position:fixed;left:16px;right:16px;top:auto;bottom:16px;width:auto}}
@media (max-width:480px){.booking-search{grid-template-columns:1fr}.booking-field,.booking-destination,.occupancy-field,.booking-submit{grid-column:1}.booking-card{grid-template-columns:1fr}.booking-card-image{min-height:190px}}
.booking-image-couple{background-image:url("images/cabaña1.jpg");background-position:center}.booking-image-kitchen{background-image:url("images/cabaña2.jpg");background-position:center}
@media (max-width:980px){.exp-guided{grid-column:auto}}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr;gap:42px}.contact-intro{max-width:720px}}
@media (max-width:600px){.contact-form{padding:26px 20px}.contact-row,.contact-details{grid-template-columns:1fr}.contact-details{gap:16px}.contact-details div+div{padding-top:16px;border-top:1px solid rgba(255,255,255,.18)}}
.contact-form label{font-size:.875rem}.contact-details span{font-size:.75rem}
