:root{
  --cream:#f2ede4;
  --cream-2:#e9dfd0;
  --paper:#f8f4ed;
  --brown:#74472f;
  --brown-2:#8c6348;
  --dark:#382419;
  --gold:#a88d61;
  --white:#fffaf4;
  --ink:#3f2a20;
  --line:rgba(116,71,47,.22);
  --shadow:0 18px 50px rgba(56,36,25,.14);
  --radius:26px;
  --header-h:76px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
[id]{scroll-margin-top:82px}
body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased}
body.nav-open{overflow:hidden}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit}
a{color:inherit}

.skip-link{position:fixed;z-index:9999;left:12px;top:-100px;background:#fff;color:#000;padding:10px 14px;border-radius:8px;text-decoration:none}
.skip-link:focus{top:12px}

.content-shell{width:min(1200px,calc(100% - 48px));margin-inline:auto}
.section{position:relative;padding:110px 0}
.section-kicker,.eyebrow{margin:0 0 14px;text-transform:uppercase;letter-spacing:.34em;font-size:.72rem;font-weight:700}
.section-kicker{color:var(--gold)}
.section-heading{text-align:center;max-width:760px;margin:0 auto 54px}
.section-heading h2,.about-copy h2,.contact-title h2,.booking-intro h2,.feature-heading h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.02;color:var(--brown);margin:0;font-size:clamp(2.8rem,5vw,5rem);letter-spacing:-.03em}
.section-heading p:last-child{margin:16px auto 0;max-width:620px;color:#6e5a4f}

/* Header */
.site-header{position:fixed;z-index:1000;inset:0 0 auto 0;height:var(--header-h);transition:background .35s ease,box-shadow .35s ease,backdrop-filter .35s ease;color:#fff}
.site-header.scrolled{background:rgba(57,35,25,.94);box-shadow:0 10px 30px rgba(0,0,0,.12);backdrop-filter:blur(12px)}
.header-inner{height:100%;width:min(1240px,calc(100% - 42px));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{text-decoration:none;display:flex;align-items:baseline;gap:9px;font-family:Georgia,'Times New Roman',serif;white-space:nowrap}
.brand-mark{font-size:1.45rem;font-style:italic}.brand-sub{font-size:.96rem;letter-spacing:.08em}
.site-nav{display:flex;align-items:center;gap:24px}
.site-nav a{text-decoration:none;font-size:.84rem;font-weight:600;position:relative;white-space:nowrap}
.site-nav a:not(.nav-cta)::after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:1px;background:#fff;transition:right .25s ease}
.site-nav a:hover::after{right:0}
.nav-cta{border:1px solid rgba(255,255,255,.75);border-radius:999px;padding:10px 18px;transition:.25s ease}
.nav-cta:hover{background:#fff;color:var(--dark)}
.nav-toggle{display:none;background:transparent;border:0;width:44px;height:44px;padding:10px;cursor:pointer}
.nav-toggle span{display:block;height:2px;background:#fff;margin:6px 0;transition:.25s ease}

/* Hero */
.hero{height:100svh;min-height:650px;position:relative;overflow:hidden;display:grid;place-items:center;background:#1a2225}
.hero-media{position:absolute;inset:-3%;background-image:url('../img/img-000.webp');background-position:center 58%;background-size:cover;transform:scale(1.05);animation:heroBreath 18s ease-in-out infinite alternate}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,18,20,.45),rgba(14,18,20,.18) 45%,rgba(13,20,19,.48) 100%)}
.cloud-layer{position:absolute;left:-25vw;width:150vw;height:38vh;top:-8vh;opacity:.28;filter:blur(28px);pointer-events:none;background:
  radial-gradient(ellipse at 18% 58%,rgba(255,255,255,.55) 0 7%,transparent 8%),
  radial-gradient(ellipse at 28% 45%,rgba(255,255,255,.42) 0 9%,transparent 10%),
  radial-gradient(ellipse at 45% 56%,rgba(255,255,255,.46) 0 7%,transparent 8%),
  radial-gradient(ellipse at 63% 46%,rgba(255,255,255,.42) 0 8%,transparent 9%),
  radial-gradient(ellipse at 82% 58%,rgba(255,255,255,.48) 0 7%,transparent 8%)}
.cloud-layer-a{animation:cloudDrift 46s linear infinite}
.cloud-layer-b{top:5vh;opacity:.16;transform:scale(.8);animation:cloudDriftReverse 64s linear infinite}
.hero-content{position:relative;z-index:3;text-align:center;color:#fff;padding:30px;filter:drop-shadow(0 5px 18px rgba(0,0,0,.35))}
.hero-content .eyebrow{font-size:.68rem;color:#fff;margin-bottom:18px}
.hero-content h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(3.8rem,9vw,8.2rem);line-height:.88;margin:0;font-weight:400;letter-spacing:-.045em}
.hero-subtitle{font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.25rem,2.3vw,2rem);margin:16px 0 0}
.scroll-cue{position:absolute;left:50%;transform:translateX(-50%);top:calc(100% + 80px);text-decoration:none;font-size:.68rem;letter-spacing:.26em;text-transform:uppercase;color:#fff;display:flex;flex-direction:column;align-items:center;gap:6px;opacity:.88}
.scroll-arrow{font-size:1.25rem;animation:bob 1.7s ease-in-out infinite}

/* About */
.section-about{background:var(--paper);overflow:hidden;padding-top:94px}
.pattern-strip{height:42px;opacity:.22;background:url('../img/img-015.webp') repeat-x center/310px 43px;filter:sepia(1) saturate(.6) hue-rotate(340deg)}
.pattern-strip.bottom{margin-top:74px}
.about-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(330px,.8fr);gap:80px;align-items:center;padding-top:70px}
.about-copy{max-width:690px}
.about-copy h2{margin-bottom:30px}
.about-copy p{margin:0 0 18px;color:#5c463a}
.about-copy .statement{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-size:1.15rem;color:var(--brown);margin-top:25px}
.about-copy .closing{font-family:Georgia,'Times New Roman',serif;color:var(--brown);font-size:1.2rem;margin-top:26px}
.team-collage{height:510px;position:relative}
.team-collage::before{content:"";position:absolute;inset:25px 0 0 55px;border:1px solid rgba(116,71,47,.14);border-radius:52% 48% 46% 54%/50% 40% 60% 50%;transform:rotate(-9deg)}
.team-collage::after{content:"";position:absolute;width:320px;height:320px;border:1px solid rgba(116,71,47,.12);border-radius:50%;right:-80px;bottom:10px}
.portrait{position:absolute;margin:0;width:158px;height:158px;border-radius:50%;overflow:hidden;border:8px solid var(--paper);box-shadow:var(--shadow);z-index:2}
.portrait img{width:100%;height:100%;object-fit:cover}
.portrait-one{left:30px;top:22px}.portrait-two{right:10px;top:166px}.portrait-three{left:70px;bottom:14px}
.then-now{display:grid;grid-template-columns:1fr 80px 1fr;gap:24px;align-items:center;margin-top:82px}
.history-card{position:relative;height:440px;overflow:hidden;background:#ddd;box-shadow:var(--shadow)}
.history-card img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.history-card:hover img{transform:scale(1.035)}
.history-old{clip-path:polygon(0 0,93% 0,84% 18%,91% 37%,84% 56%,92% 76%,82% 100%,0 100%)}
.history-now{clip-path:polygon(18% 0,100% 0,100% 100%,8% 100%,16% 78%,8% 57%,16% 37%,9% 18%)}
.history-label{position:absolute;z-index:3;top:18px;font-family:Georgia,'Times New Roman',serif;font-size:1.45rem;color:#fff;text-shadow:0 3px 12px rgba(0,0,0,.5)}
.history-old .history-label{left:22px}.history-now .history-label{right:22px}
.history-divider{text-align:center;font-family:Georgia,'Times New Roman',serif;font-size:2.2rem;color:var(--gold)}

/* Routes */
.section-routes{background:var(--cream)}
.route-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:stretch}
.route-card{background:rgba(255,250,244,.65);border:1px solid var(--line);border-radius:22px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 8px 24px rgba(64,39,26,.05);transition:transform .35s ease,box-shadow .35s ease}
.route-card:hover{transform:translateY(-7px);box-shadow:var(--shadow)}
.route-image{height:250px;overflow:hidden}.route-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}.route-card:hover .route-image img{transform:scale(1.04)}
.route-body{padding:27px;display:flex;flex:1;flex-direction:column}
.route-topline{display:flex;justify-content:flex-end;margin-bottom:8px}.route-topline span{text-transform:uppercase;font-size:.68rem;letter-spacing:.18em;color:var(--gold);font-weight:700}
.route-body h3,.promo-body h3{font-family:Georgia,'Times New Roman',serif;color:var(--brown);font-weight:400;font-size:2rem;margin:0 0 4px}
.route-type{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#836d60;margin:0 0 22px}
.route-body ul,.promo-body ul{padding-left:19px;margin:0 0 24px}.route-body li,.promo-body li{margin:7px 0;color:#58483f}
.price-box{border-top:1px solid var(--line);padding-top:18px;margin-top:auto;margin-bottom:20px;display:grid;gap:3px;color:var(--brown)}
.price-box small{font-size:.72rem;color:#7b6d64}

.btn{appearance:none;border:0;text-decoration:none;display:inline-flex;justify-content:center;align-items:center;gap:10px;min-height:48px;border-radius:999px;padding:12px 22px;font-weight:700;font-size:.82rem;cursor:pointer;transition:transform .22s ease,box-shadow .22s ease,background .22s ease,color .22s ease;border:1px solid transparent}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--brown);color:#fff;box-shadow:0 10px 24px rgba(116,71,47,.16)}
.btn-primary:hover{background:var(--dark)}
.btn-outline{background:transparent;border-color:rgba(116,71,47,.45);color:var(--brown)}
.btn-outline:hover{background:var(--brown);color:#fff}
.btn-cream{background:rgba(255,250,244,.94);color:var(--brown);box-shadow:0 10px 30px rgba(0,0,0,.14)}

/* Caves */
.section-caves{background:var(--paper);padding-top:90px}
.heading-left{text-align:left;margin-left:0;max-width:none}
.cave-composition{display:grid;grid-template-columns:1fr .52fr 1fr;align-items:center;gap:26px;margin-top:38px}
.organic-photo{margin:0;height:430px;overflow:hidden;box-shadow:var(--shadow)}
.organic-photo img{width:100%;height:100%;object-fit:cover}
.cave-left{clip-path:polygon(0 5%,90% 0,83% 23%,92% 46%,84% 68%,90% 96%,0 100%)}
.cave-right{clip-path:polygon(10% 0,100% 4%,100% 100%,8% 96%,16% 72%,8% 48%,16% 23%)}
.cave-names{text-align:center;display:flex;flex-direction:column;align-items:center;gap:20px;color:var(--brown)}
.cave-names>span:not(.cave-rule){font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.2rem,4vw,4.2rem);line-height:.95}
.cave-rule{width:1px;height:54px;background:var(--gold)}

/* Features */
.feature-block{padding:92px 0 105px;background:var(--paper);overflow:hidden}
.feature-heading{text-align:center;margin-bottom:30px;position:relative}.feature-heading h2{font-size:clamp(3.2rem,6vw,6.8rem)}
.sun-icon{display:block;width:110px;height:54px;margin:0 auto -5px;position:relative;border-top:1px solid var(--gold);border-radius:50% 50% 0 0}
.sun-icon::before{content:"";position:absolute;left:50%;bottom:-3px;width:8px;height:8px;border-radius:50%;background:var(--gold);transform:translateX(-50%);box-shadow:-44px -12px 0 -3px var(--gold),44px -12px 0 -3px var(--gold),-32px -28px 0 -3px var(--gold),32px -28px 0 -3px var(--gold),-15px -40px 0 -3px var(--gold),15px -40px 0 -3px var(--gold)}
.feature-photo{width:min(1260px,calc(100% - 36px));height:560px;margin:auto;overflow:hidden;clip-path:polygon(1% 7%,8% 4%,14% 7%,21% 4%,28% 7%,36% 4%,43% 6%,50% 4%,58% 6%,66% 3%,73% 6%,81% 3%,89% 5%,99% 3%,98% 93%,91% 96%,84% 94%,76% 97%,68% 94%,60% 97%,52% 95%,44% 98%,35% 95%,26% 97%,18% 94%,10% 96%,1% 93%)}
.feature-photo img{width:100%;height:115%;object-fit:cover;transform:translateY(-7%)}
.feature-action{text-align:center;margin-top:28px}
.feature-hike{background:var(--paper);padding-top:25px}
.hiker{width:34px;height:34px;color:var(--gold);display:inline-grid;place-items:center;margin-right:4px}.hiker svg{width:100%;height:100%}.feature-hike .feature-heading{display:flex;align-items:center;justify-content:center;gap:10px}
.hike-photo{height:480px;clip-path:polygon(3% 5%,12% 2%,21% 5%,31% 2%,42% 5%,53% 2%,63% 5%,73% 2%,85% 5%,97% 2%,96% 95%,85% 92%,75% 95%,64% 92%,53% 95%,42% 92%,31% 95%,20% 92%,8% 95%,2% 92%)}

/* Promos */
.section-promos{background:var(--cream-2)}
.promo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.promo-card{background:var(--paper);border-radius:18px;overflow:hidden;border:1px solid rgba(116,71,47,.14);display:flex;flex-direction:column;transition:.3s ease}
.promo-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.promo-card>img{height:230px;width:100%;object-fit:cover}
.promo-body{padding:24px;display:flex;flex-direction:column;flex:1}
.promo-body ul{flex:1}
.consult-value{display:inline-flex;align-self:flex-start;background:var(--gold);color:white;border-radius:999px;padding:8px 13px;font-size:.75rem;font-weight:700;margin:0 0 18px}

/* Experiences */
.section-experiences{background:linear-gradient(180deg,#856b43,#6d462d 58%,#5e3825);padding-bottom:120px}
.section-heading-light h2,.section-heading-light .section-kicker{color:#fff}.section-heading-light{color:#fff}
.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.testimonial{position:relative;min-height:570px;overflow:hidden;border-radius:18px;background:#453125;box-shadow:0 18px 46px rgba(0,0,0,.16)}
.testimonial>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.testimonial-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(45,30,20,.05),rgba(61,39,25,.5) 32%,rgba(55,32,20,.95) 78%,rgba(55,32,20,.98))}
.testimonial-content{position:absolute;inset:auto 0 0;padding:30px;color:#fff}
.stars{color:#f2dfb2;letter-spacing:.12em;margin-bottom:15px}
.testimonial blockquote{margin:0;font-family:Georgia,'Times New Roman',serif;font-size:1rem;line-height:1.55}
.testimonial cite{display:block;margin-top:22px;font-style:normal;font-weight:700;font-size:.86rem}.testimonial cite span{display:block;font-weight:400;opacity:.78;margin-top:2px}

/* Booking */
.section-booking{background:var(--paper)}
.booking-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center}
.booking-intro h2{margin-bottom:25px}.booking-intro>p{color:#69564b;max-width:520px}
.booking-note{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);margin-top:30px;padding-top:22px;color:var(--brown);font-size:.9rem}.booking-note-icon{width:26px;height:26px;border-radius:50%;background:var(--brown);color:#fff;display:grid;place-items:center;font-size:.76rem}
.booking-form{background:#fffaf4;border:1px solid var(--line);border-radius:24px;padding:32px;box-shadow:var(--shadow)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field-group{display:grid;gap:7px;margin-bottom:18px}.field-group label{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:#795f50;font-weight:700}
.field-group input,.field-group select,.field-group textarea{width:100%;border:1px solid rgba(116,71,47,.24);border-radius:12px;background:#fff;padding:13px 14px;color:var(--ink);outline:none;transition:border-color .2s ease,box-shadow .2s ease}
.field-group input:focus,.field-group select:focus,.field-group textarea:focus{border-color:var(--brown);box-shadow:0 0 0 3px rgba(116,71,47,.09)}
.field-group textarea{resize:vertical}
.btn-whatsapp{background:#25D366;color:#fff}.btn-whatsapp:hover{background:#1fb958}.btn-whatsapp svg{width:22px;height:22px;fill:#fff}.btn-large{width:100%;min-height:56px;font-size:.9rem}

/* Contact */
.contact{background:var(--brown);color:#fff;padding-top:90px}
.contact-title h2,.contact-title .section-kicker{color:#fff}.contact-title{margin-bottom:35px}
.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding-bottom:70px}
.contact-card{border:1px solid rgba(255,255,255,.36);padding:28px;min-height:180px}
.contact-card h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:1.35rem;margin:0 0 18px}.contact-card a{display:block;color:#fff;text-decoration:none;margin:8px 0}.contact-card p{margin:10px 0;color:rgba(255,255,255,.82)}
.socials{display:flex;gap:12px;margin:8px 0 14px}.socials span{width:32px;height:32px;border:1px solid rgba(255,255,255,.55);border-radius:50%;display:grid;place-items:center;font-weight:700}
.footer{border-top:1px solid rgba(255,255,255,.18);background:rgba(43,26,18,.24)}.footer-inner{min-height:74px;display:flex;align-items:center;justify-content:space-between;font-size:.78rem;color:rgba(255,255,255,.76)}

/* WhatsApp float */
.whatsapp-float{position:fixed;z-index:1200;right:25px;bottom:25px;width:66px;height:66px;border-radius:50%;display:grid;place-items:center;background:#25D366;box-shadow:0 12px 30px rgba(0,0,0,.23);transition:transform .25s ease,box-shadow .25s ease;text-decoration:none;animation:floatIn .7s ease .4s both}
.whatsapp-float:hover{transform:translateY(-4px) scale(1.03);box-shadow:0 16px 36px rgba(0,0,0,.28)}
.whatsapp-float svg{width:36px;height:36px;fill:#fff}
.whatsapp-tooltip{position:absolute;right:78px;background:#fff;color:var(--dark);padding:8px 12px;border-radius:999px;font-size:.75rem;font-weight:700;white-space:nowrap;opacity:0;transform:translateX(8px);pointer-events:none;transition:.2s ease;box-shadow:0 8px 18px rgba(0,0,0,.12)}
.whatsapp-float:hover .whatsapp-tooltip{opacity:1;transform:translateX(0)}

/* Reveal */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .75s ease,transform .75s ease}.reveal.is-visible{opacity:1;transform:none}

@keyframes cloudDrift{from{transform:translateX(-4vw)}to{transform:translateX(18vw)}}
@keyframes cloudDriftReverse{from{transform:scale(.85) translateX(10vw)}to{transform:scale(.85) translateX(-12vw)}}
@keyframes heroBreath{from{transform:scale(1.045)}to{transform:scale(1.085)}}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}
@keyframes floatIn{from{opacity:0;transform:scale(.7) translateY(12px)}to{opacity:1;transform:none}}

@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

@media (max-width:1050px){
  .site-nav{gap:15px}.site-nav a{font-size:.78rem}
  .about-grid{grid-template-columns:1fr 360px;gap:40px}
  .route-grid,.promo-grid,.testimonial-grid{grid-template-columns:repeat(2,1fr)}
  .route-card:last-child,.promo-card:last-child,.testimonial:last-child{grid-column:1/-1;max-width:580px;width:100%;justify-self:center}
  .cave-composition{grid-template-columns:1fr .45fr 1fr}.organic-photo{height:360px}
}

@media (max-width:820px){
  :root{--header-h:68px}
  .content-shell{width:min(100% - 30px,700px)}
  .section{padding:80px 0}
  .nav-toggle{display:block;z-index:1002}.site-nav{position:fixed;inset:0;background:rgba(56,36,25,.98);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:24px;transform:translateX(100%);transition:transform .32s ease}.site-nav.open{transform:translateX(0)}.site-nav a{font-size:1.05rem}.nav-cta{padding:11px 24px}
  .nav-toggle.active span:nth-child(1){transform:translateY(8px) rotate(45deg)}.nav-toggle.active span:nth-child(2){opacity:0}.nav-toggle.active span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
  .hero{min-height:610px}.hero-media{background-position:center center}.hero-content h1{font-size:clamp(3.7rem,17vw,6rem)}.scroll-cue{top:calc(100% + 60px)}
  .about-grid{grid-template-columns:1fr;gap:28px;padding-top:48px}.team-collage{height:430px;max-width:430px;width:100%;margin:auto}.portrait{width:140px;height:140px}.portrait-one{left:10px}.portrait-two{right:10px}.portrait-three{left:55px}
  .then-now{grid-template-columns:1fr;gap:20px;margin-top:58px}.history-divider{display:none}.history-card{height:360px}.history-old,.history-now{clip-path:polygon(0 4%,8% 1%,17% 4%,27% 1%,38% 4%,48% 1%,58% 4%,68% 1%,78% 4%,89% 1%,100% 4%,100% 96%,90% 99%,79% 96%,68% 99%,57% 96%,46% 99%,35% 96%,24% 99%,13% 96%,0 99%)}
  .route-grid,.promo-grid,.testimonial-grid{grid-template-columns:1fr}.route-card:last-child,.promo-card:last-child,.testimonial:last-child{grid-column:auto;max-width:none}.route-image{height:235px}
  .cave-composition{grid-template-columns:1fr}.organic-photo{height:340px}.cave-left,.cave-right{clip-path:polygon(0 5%,12% 2%,24% 5%,36% 2%,48% 5%,60% 2%,72% 5%,84% 2%,100% 5%,100% 95%,87% 98%,74% 95%,61% 98%,48% 95%,35% 98%,22% 95%,10% 98%,0 95%)}.cave-names{order:-1;margin-bottom:6px}.cave-rule{height:35px}
  .feature-photo,.hike-photo{height:390px;width:calc(100% - 24px)}
  .booking-grid{grid-template-columns:1fr;gap:40px}.form-row{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr}.footer-inner{flex-direction:column;justify-content:center;gap:3px;text-align:center}
}

@media (max-width:520px){
  .header-inner{width:calc(100% - 26px)}.brand-mark{font-size:1.22rem}.brand-sub{font-size:.8rem}
  .hero-content h1{font-size:3.55rem}.hero-subtitle{font-size:1.25rem}.hero{min-height:580px}
  .section-heading h2,.about-copy h2,.contact-title h2,.booking-intro h2,.feature-heading h2{font-size:2.75rem}
  .team-collage{height:380px}.portrait{width:125px;height:125px;border-width:6px}.portrait-two{top:135px}.portrait-three{bottom:8px}
  .history-card{height:300px}.route-body{padding:22px}.route-image{height:205px}
  .feature-photo,.hike-photo{height:305px}.feature-heading h2{font-size:3rem}
  .testimonial{min-height:590px}.testimonial-content{padding:24px}.testimonial blockquote{font-size:.96rem}
  .booking-form{padding:22px;border-radius:18px}.whatsapp-float{width:58px;height:58px;right:18px;bottom:18px}.whatsapp-float svg{width:31px;height:31px}.whatsapp-tooltip{display:none}
}


/* ===== Ajustes Nexora 2026-09-28: portada escritorio + rendimiento ===== */
/* Las secciones fuera de la portada se renderizan al acercarse al viewport.
   Esto reduce trabajo inicial sin cambiar el diseño. */
@supports (content-visibility:auto){
  main > section:not(.hero){
    content-visibility:auto;
    contain-intrinsic-size:auto 900px;
  }
}

/* En escritorio la fotografía base queda fija y sólo se anima la zona de cielo
   usando una segunda capa de la MISMA imagen. Así los moai no se desplazan. */
@media (min-width:821px){
  .hero-media{
    animation:none;
    transform:scale(1.05);
    overflow:hidden;
  }
  .hero-media::after{
    content:"";
    position:absolute;
    inset:0;
    background-image:url('../img/img-000.webp');
    background-size:cover;
    background-position:49.2% 58%;
    pointer-events:none;
    -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 46%,rgba(0,0,0,.96) 53%,rgba(0,0,0,.55) 59%,transparent 67%);
    mask-image:linear-gradient(to bottom,#000 0%,#000 46%,rgba(0,0,0,.96) 53%,rgba(0,0,0,.55) 59%,transparent 67%);
    animation:tehiaCloudImageDrift 24s ease-in-out infinite alternate;
    will-change:background-position;
  }
  /* Se eliminan sólo en escritorio las nubes artificiales anteriores:
     el movimiento ahora proviene de las nubes reales de la foto. */
  .cloud-layer{display:none}

  /* “BIENVENIDOS” un poco más protagonista, sin tocar Tehia Rapa Nui / Turismo. */
  .hero-content .eyebrow{
    font-size:1.02rem;
    letter-spacing:.34em;
    margin-bottom:21px;
  }
}

/* Menú y marca ligeramente mayores sólo en pantallas de escritorio amplias. */
@media (min-width:1100px){
  .header-inner{width:min(1280px,calc(100% - 54px));gap:24px}
  .brand{gap:10px}
  .brand-mark{font-size:1.72rem}
  .brand-sub{font-size:1.06rem;letter-spacing:.085em}
  .site-nav{gap:20px}
  .site-nav a{font-size:.94rem}
  .nav-cta{padding:11px 20px}
}

@keyframes tehiaCloudImageDrift{
  0%{background-position:49.2% 58%}
  45%{background-position:50.2% 58%}
  100%{background-position:51.3% 58%}
}


/* ===== Corrección 2026-09-28: portada animada REAL =====
   Escritorio usa un MP4 muy liviano creado desde la misma foto: los moai
   permanecen fijos y sólo el cielo/nubes se desplaza. Móvil conserva la foto. */
.hero-cloud-video{display:none}
@media (min-width:821px){
  .hero-media{display:none}
  .hero-cloud-video{
    display:block;
    position:absolute;
    inset:-3%;
    width:106%;
    height:106%;
    object-fit:cover;
    object-position:center 58%;
    pointer-events:none;
    z-index:0;
  }
  .hero-overlay{z-index:1}
  .hero-content{z-index:3}
  .cloud-layer{display:none!important}
}
@media (max-width:820px){
  .hero-cloud-video{display:none!important}
  .hero-media{display:block}
}


/* ===== Correcciones finales 2026-09-28 ===== */
/* Reencuadre individual para que los rostros queden visibles dentro de los círculos. */
.portrait-one img{object-position:50% 18%}
.portrait-two img{object-position:50% 20%}
.portrait-three img{object-position:50% 16%}

/* ===== Noticias y eventos ===== */
.section-news{
  background:var(--paper);
  border-top:1px solid rgba(116,71,47,.08);
  border-bottom:1px solid rgba(116,71,47,.08);
}
.news-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
.news-card{
  background:#fffaf4;
  border:1px solid var(--line);
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 10px 28px rgba(64,39,26,.07);
  transition:transform .3s ease,box-shadow .3s ease;
}
.news-card:hover{
  transform:translateY(-6px);
  box-shadow:var(--shadow);
}
.news-image{
  position:relative;
  height:235px;
  overflow:hidden;
  background:#ddd;
}
.news-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .7s ease;
}
.news-card:hover .news-image img{transform:scale(1.04)}
.news-tag{
  position:absolute;
  left:18px;
  bottom:16px;
  background:rgba(56,36,25,.9);
  color:#fff;
  padding:7px 12px;
  border-radius:999px;
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  backdrop-filter:blur(8px);
}
.news-body{padding:26px 26px 30px}
.news-body h3{
  margin:0 0 12px;
  font-family:Georgia,'Times New Roman',serif;
  font-size:1.75rem;
  line-height:1.08;
  font-weight:400;
  color:var(--brown);
}
.news-body p{margin:0;color:#665247}
.news-update-note{
  margin:34px auto 0;
  width:max-content;
  max-width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  color:var(--brown);
  text-align:center;
  font-family:Georgia,'Times New Roman',serif;
  font-style:italic;
}
.news-update-note p{margin:0}
.news-update-note span{color:var(--gold)}

@media (max-width:1050px){
  .news-grid{grid-template-columns:repeat(2,1fr)}
  .news-card:last-child{grid-column:1/-1;max-width:580px;width:100%;justify-self:center}
}
@media (max-width:820px){
  .news-grid{grid-template-columns:1fr}
  .news-card:last-child{grid-column:auto;max-width:none}
  .news-image{height:230px}
}
@media (max-width:520px){
  .news-image{height:205px}
  .news-body{padding:22px}
  .news-body h3{font-size:1.55rem}
}
