@font-face{
  font-family:"Manrope";src:url("../fonts/Manrope-latin.woff2") format("woff2");
  font-style:normal;font-weight:300 800;font-display:swap
}
@font-face{
  font-family:"Playfair Display";src:url("../fonts/PlayfairDisplay-latin.woff2") format("woff2");
  font-style:normal;font-weight:500 800;font-display:swap
}
@font-face{
  font-family:"Playfair Display";src:url("../fonts/PlayfairDisplay-italic-latin.woff2") format("woff2");
  font-style:italic;font-weight:500 800;font-display:swap
}

/* Ajustes de contenido y páginas interiores, conservando el sistema visual de la referencia. */
:root{scroll-padding-top:86px}
body.inner .top{background:rgba(13,36,31,.96);backdrop-filter:blur(10px);box-shadow:0 10px 30px -18px rgba(0,0,0,.6);padding:9px 0}
.brand{white-space:nowrap}
.brand b{line-height:1}
.brand small{line-height:1.5}
.brand .mark{width:38px;height:38px;flex:0 0 38px}
.top .nav a[aria-current="page"]{color:#fff}
.top .nav a[aria-current="page"]:after{right:0}
.drawer .brand{border:0;padding:0;font-size:inherit}
.drawer .brand b{font-size:21px}
.drawer .brand small{font-family:Manrope,sans-serif;font-size:9.5px}
.drawer .drawer-links{display:flex;flex-direction:column;margin-top:20px}
.drawer .drawer-links a{font-size:22px;font-family:"Playfair Display",Georgia,serif;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.drawer .drawer-links a.brand{font-family:Manrope,sans-serif}

.hero .crumb{display:flex;align-items:center;gap:9px;margin-bottom:24px;color:rgba(255,255,255,.72);font-size:12px;font-weight:700;letter-spacing:.04em}
.hero .crumb a{transition:color .2s}
.hero .crumb a:hover{color:var(--gold-2)}
.hero .crumb i{font-style:normal;color:var(--gold-2);opacity:.8}
.hero .facts{row-gap:12px}
.hero .facts span{white-space:nowrap}
.hero .facts .fact-dot{color:var(--gold-2);font-size:17px}
.hero .hero-rating{color:var(--gold-2);letter-spacing:.08em;font-weight:800}
.page-hero{min-height:49svh;align-items:flex-end}
.page-hero .wrap{padding-top:145px;padding-bottom:56px}
.page-hero h1{font-size:clamp(38px,5.6vw,66px);max-width:18ch}
.activity-hero{min-height:76svh}
.activity-hero .wrap{padding-top:142px;padding-bottom:58px}
.activity-hero h1{font-size:clamp(38px,5.8vw,72px);max-width:15ch}
.activity-hero .sub{max-width:58ch}
.hero .cta .btn svg,.btn svg{width:18px;height:18px;flex:0 0 18px}

.band .it .tiny{display:block;color:rgba(232,220,200,.7);font-size:12.5px;line-height:1.35}
.sec-head .head-action{flex:0 0 auto}
.sec-head .head-action .btn{font-size:14px;padding:12px 20px}
.sec-head .head-copy{max-width:710px}
.sec-head .head-copy .lead{max-width:650px}
.card .act .btn{min-width:120px}
.card .act .btn.btn-quiet{background:#f1f2ef;color:var(--forest);border:1px solid var(--line)}
.card .act .btn.btn-quiet:hover{background:#e8dcc8}
.chip{white-space:nowrap}
.tour .ph{display:block;color:#fff}
.tour .ph img{display:block}
.tour .title-link:hover{color:var(--lake)}
.tour .foot .pp small{display:block;font-size:10.5px;text-transform:none;letter-spacing:0;color:var(--muted)}
.filters .f{font-family:Manrope,sans-serif}
.tour.hide{display:none!important}

/* Galería de cada actividad: misma composición de mosaico y ampliación de la referencia. */
.gal a{background:#dfe6e2;min-height:0}
.gal a:focus-visible,.btn:focus-visible,.f:focus-visible,summary:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid var(--gold-2);outline-offset:3px}
.gal a img{display:block}
.gal-count{font-size:12px;color:var(--muted);font-weight:700;letter-spacing:.1em;text-transform:uppercase}

/* Ficha individual */
.activity-intro{display:grid;grid-template-columns:1.08fr .92fr;gap:44px;align-items:start}
.activity-intro .intro-copy{max-width:670px}
.activity-intro .intro-copy p{color:var(--muted);font-size:16px;margin:0 0 14px}
.activity-intro .intro-copy .lead{font-size:17px;color:var(--forest-2);margin:0 0 18px}
.activity-intro h2{margin-bottom:16px}
.price-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px;box-shadow:0 18px 50px -30px rgba(13,36,31,.34);position:sticky;top:102px}
.price-card .price-kicker{font-size:11px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.12em}
.price-card .price-big{font-family:"Playfair Display",Georgia,serif;font-size:36px;line-height:1.05;color:var(--forest);font-weight:700;margin:5px 0 4px}
.price-card .price-unit{font-size:13px;color:var(--muted);font-weight:700}
.price-card .price-note{font-size:13.5px;color:var(--muted);margin:16px 0 19px;padding-top:15px;border-top:1px dashed var(--line)}
.price-card .btn{width:100%;margin-bottom:10px}
.price-card .quiet-link{display:block;text-align:center;font-size:13px;color:var(--forest-2);font-weight:700;padding:7px}
.price-card .quiet-link:hover{color:var(--gold)}
.info-panels{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:32px}
.info-panel{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px 23px}
.info-panel h3{font-size:22px;margin:0 0 14px}
.check-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}
.check-list li{display:flex;gap:11px;align-items:flex-start;color:var(--forest-2);font-size:14.5px}
.check-list li:before{content:"✓";flex:0 0 20px;height:20px;display:grid;place-items:center;border-radius:50%;background:rgba(201,162,39,.15);color:#94720b;font-size:12px;font-weight:900;margin-top:1px}
.requirements{margin-top:18px;border-left:3px solid var(--gold);background:rgba(201,162,39,.08);padding:15px 17px;border-radius:0 12px 12px 0;color:var(--forest-2);font-size:14px}
.requirements b{display:block;margin-bottom:4px}

.detail-band .wrap{justify-content:flex-start;gap:18px 42px}
.detail-band .it{min-width:155px}
.activity-gallery .sec-head{margin-bottom:26px}
.activity-gallery .gal{grid-template-rows:repeat(2,minmax(125px,1fr))}
.activity-gallery .gal a:first-child{min-height:300px}
.activity-gallery .gal a:not(:first-child){min-height:138px}
.related-activities{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.activity-note{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:14px;padding:17px 18px;color:var(--muted);font-size:14px;margin-top:22px}
.activity-note strong{color:var(--forest)}
.activity-note .note-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:rgba(201,162,39,.14);color:#94720b;flex:0 0 34px;font-weight:900}

/* Tarjeta de ruta para la página /actividades/ */
.listing-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin:-3px 0 20px}
.listing-toolbar .count{font-size:13px;color:var(--muted);font-weight:700}
.listing-intro{max-width:720px}
.listing-intro .lead{max-width:690px}

/* Contacto y consistencia en pantallas pequeñas */
.mobile-bar .btn svg{width:18px;height:18px}
.mobile-bar .mobile-quick{font-size:11px;line-height:1.15;color:rgba(255,255,255,.68);font-weight:800;letter-spacing:.12em;text-transform:uppercase;text-align:center;min-width:74px}
.mobile-bar .mobile-quick span{display:block;color:#fff;font-size:13px;letter-spacing:0;margin-top:4px}
footer .footer-note{max-width:40ch}
footer a:focus-visible{color:var(--gold-2)}

@media (max-width:980px){
  .activity-intro{grid-template-columns:1fr;gap:26px}
  .price-card{position:static;max-width:580px}
  .activity-gallery .gal{grid-template-rows:unset}
}
@media (max-width:760px){
  .activity-hero{min-height:83svh}
  .activity-hero .wrap{padding-bottom:116px;padding-top:140px}
  .page-hero{min-height:55svh}
  .page-hero .wrap{padding-bottom:48px;padding-top:125px}
  .hero .crumb{margin-bottom:18px;font-size:11px}
  .hero .facts span{white-space:normal}
  .detail-band .wrap{gap:14px 20px}
  .detail-band .it{min-width:calc(50% - 12px);font-size:13px}
  .detail-band .it .ico{width:34px;height:34px;flex-basis:34px}
  .info-panels{grid-template-columns:1fr;gap:12px;margin-top:22px}
  .price-card{padding:22px}
  .price-card .price-big{font-size:32px}
  .activity-gallery .gal{grid-template-columns:1fr 1fr;gap:9px}
  .activity-gallery .gal a:first-child{grid-column:span 2;grid-row:auto;min-height:210px}
  .activity-gallery .gal a:not(:first-child){min-height:118px}
  .listing-toolbar{align-items:flex-start}
  .mobile-bar .mobile-quick{display:none}
  .activity-note{padding:14px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
.drawer .btn{font-size:14.5px!important;padding:15px 22px;border-bottom:0;margin-top:26px}
.drawer .drawer-foot{margin-top:auto;color:rgba(255,255,255,.52);font-size:12px;letter-spacing:.14em;text-transform:uppercase}
body.menu-open,body.lb-open{overflow:hidden}
.lb .lb-close{top:18px;right:18px;z-index:2}
.lb .lb-arrow{top:50%;right:auto;transform:translateY(-50%);z-index:2;width:48px;height:48px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);font-size:32px;line-height:1}
.lb .lb-prev{left:18px}
.lb .lb-next{right:18px}
.package-note{font-size:13px;color:var(--muted);margin:21px 0 0}
.review-score{display:flex;align-items:center;gap:13px;padding:13px 17px;border:1px solid var(--line);border-radius:14px;background:#fff}
.review-score strong{font-family:"Playfair Display",Georgia,serif;color:var(--forest);font-size:37px;line-height:1}
.review-score span{display:flex;flex-direction:column;line-height:1.35}
.review-score b{color:var(--gold);letter-spacing:2px;font-size:13px}
.review-score small{font-size:11px;color:var(--muted);font-weight:700}
@media(max-width:760px){
  .lb{padding:16px}
  .lb img{max-width:96vw;max-height:78vh}
  .lb .lb-prev{left:9px}
  .lb .lb-next{right:9px}
  .lb .lb-arrow{width:42px;height:42px;font-size:28px}
  .review-score{padding:9px 12px}
  .review-score strong{font-size:30px}
  .page-hero .cta .btn{padding:13px 18px}
}
@media (max-width:900px) and (min-width:761px){
  .top .wrap{gap:10px}
  .brand{gap:8px}
  .brand .mark{width:32px;height:32px;flex-basis:32px}
  .brand small{font-size:8px;letter-spacing:.08em}
  .nav{gap:10px}
  .nav a{font-size:12.8px}
  .top .btn{padding:10px 14px;font-size:13px}
}
