
:root{--primary:#0d6efd;--primary-600:#0b5ed7;--accent:#f59e0b;--accent-600:#d97706;--bg:#f9fafb;--surface:#ffffff;--muted:#6b7280;--text:#111827;--radius:16px;--shadow:0 6px 20px rgba(0,0,0,.1),0 2px 4px rgba(0,0,0,.06);--line:#e5e7eb;--brand:#16a34a;--cta:#0ea5e9;--ok:#16a34a;--chipCity:#e6f6ff;--chipType:#eaf8ef;--chipCityText:#0369a1;--chipTypeText:#065f46;--shadow-card:0 8px 22px rgba(2,6,23,.07);--shadow-package:6px 6px 12px #d1d5db,-6px -6px 12px #fff}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Helvetica,Arial,sans-serif;color:var(--text);background:var(--bg);scroll-behavior:smooth}
a{color:inherit;text-decoration:none}
a:not(.btn){color:#0A66C2}
a:not(.btn):hover{opacity:.9}
.btn{display:inline-flex;align-items:center;gap:.5rem;background:var(--primary);color:#fff;padding:.9rem 1.2rem;border-radius:999px;font-weight:700;box-shadow:var(--shadow);border:0;cursor:pointer;transition:.3s}
.btn:hover{background:var(--primary-600);transform:translateY(-2px)}
.btn-outline{background:#fff;color:var(--primary);border:2px solid var(--primary)}
.btn-outline:hover{background:var(--primary);color:#fff}
.btn-accent{background:var(--accent);color:#fff}
.btn-accent:hover{background:var(--accent-600)}
.tag{display:inline-flex;align-items:center;gap:.35rem;background:#e0f2fe;color:#0369a1;border:1px solid #bae6fd;padding:.35rem .6rem;border-radius:999px;font-size:.8rem}
header{position:sticky;top:0;z-index:50;background:#ffffffee;backdrop-filter:saturate(160%) blur(8px);border-bottom:1px solid #e5e7eb}
.nav{display:flex;align-items:center;justify-content:space-between;padding:.8rem 0}
.logo{display:flex;align-items:center;gap:.6rem;font-weight:800;font-size:1.2rem;color:var(--primary)}
.logo .pin{width:26px;height:26px;border-radius:6px;background:linear-gradient(135deg,var(--primary),#3b82f6);display:grid;place-items:center;color:#fff;font-weight:900}
.menu{display:none}
.menu a{color:#374151;font-weight:600;transition:.2s}
.menu a:hover{color:var(--primary)}
.cta-wrap{display:flex;align-items:center;gap:.6rem}
.wapp{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem .9rem;border-radius:999px;background:#25D366;color:#fff;font-weight:700;box-shadow:var(--shadow)}
.hamb{display:none}
.hero{position:relative;isolation:isolate;text-align:center}
.hero::before{content:"";position:absolute;inset:0;background:url('/img/portada-machupicchu.jpg') center/cover no-repeat;z-index:-2}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.1),rgba(0,0,0,.1) 50%,rgba(0,0,0,0.1) 100%);z-index:-1}
.hero .wrap{padding:8rem 0 5rem;color:#fff;max-width:780px;margin-inline:auto}
.headline{font-size:clamp(2.3rem,5vw,3.5rem);line-height:1.15;margin:0;font-weight:900}
.subhero{margin:auto}
.hero .actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.8rem;margin-top:1.5rem}
.benefits{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-top:-3rem;z-index:10;position:relative}
.benefit{background:#fff;border:1px solid #e5e7eb;border-radius:var(--radius);box-shadow:var(--shadow);text-align:center;transition:.3s}
.benefit:hover{transform:translateY(-3px)}
.benefit .title{font-weight:800;color:var(--primary)}.benefit .muted{color:var(--muted);font-size:.95rem}
section{padding:.5rem 0}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1.2rem;flex-wrap:wrap}
.section-head h2{margin:0;font-size:clamp(1.8rem,3vw,2.2rem);color:var(--primary)}
.grida{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.2rem}
.card{background:#fff;border:1px solid #e5e7eb;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);display:grid;transition:.3s}
.card:hover{transform:translateY(-4px)}
.card .thumb{aspect-ratio:16/10;overflow:hidden}
.card .body{padding:1rem;display:grid;gap:.7rem}
.chips{display:flex;flex-wrap:wrap;gap:.4rem}
.price{font-size:1.3rem;font-weight:900;color:var(--accent)}
.meta{display:flex;gap:.8rem;color:var(--muted);font-size:.9rem}
.card .actions{display:flex;gap:.5rem;flex-wrap:wrap}
.cta{background:linear-gradient(135deg,var(--accent),#fbbf24);color:#fff;border-radius:var(--radius);padding:2.2rem;text-align:center;display:grid;gap:1rem;box-shadow:var(--shadow)}
.cta h2{margin:0;font-size:2rem}
footer{background:#1f2937;color:#d1d5db;padding:2.2rem 0;margin-top:1rem}
.foot{display:grid;grid-template-columns:2fr 1fr 1fr;gap:1.2rem;align-items:start}
.foot h3,.foot h4{margin:0 0 .6rem;color:#fff;line-height:1.2}
.foot p{margin:.4rem 0;color:#d1d5db}
.foot a{color:#9ca3af;text-decoration:none;transition:color .2s}
.foot a:hover{color:#fff}
.foot a:focus-visible{outline:2px solid #0EA5E9;outline-offset:2px;border-radius:6px}
.copy{border-top:1px solid #374151;margin-top:1.2rem;padding-top:1rem;color:#9ca3af;font-size:.9rem}
.foot a[href^="tel:"],.foot a[href^="mailto:"]{word-break:break-word}
.float-wapp{position:fixed;right:18px;bottom:18px;z-index:60}
.float-wapp a{display:inline-grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#25D366;color:#fff;font-weight:900;box-shadow:0 6px 20px rgba(0,0,0,.1),0 2px 4px rgba(0,0,0,.06);transition:transform .2s}
.float-wapp a:hover{transform:translateY(-3px)}
.tour{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card);overflow:hidden;margin-bottom:clamp(12px,2vw,20px);transition:transform .25s ease,box-shadow .25s ease}
.tour:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(2,6,23,.15)}
.tour>summary{list-style:none;cursor:pointer}
.tour>summary::-webkit-details-marker{display:none}
.head{display:grid;grid-template-columns:auto 1fr auto;gap:clamp(10px,1.6vw,16px);align-items:center;padding:clamp(12px,2vw,16px)}
.tour .avatar{width:clamp(44px,6vw,56px);height:clamp(44px,6vw,56px);border-radius:12px;object-fit:cover}
.review-card .avatar{width:40px;height:40px;border-radius:50%;object-fit:cover}
.title{font-weight:500;font-size:clamp(16px,2.3vw,19px);overflow:hidden;text-overflow:ellipsis}
.sub{color:var(--muted);font-size:clamp(12px,1.8vw,13px);margin-top:2px;overflow:hidden;text-overflow:ellipsis}
.chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;font-size:clamp(11px,1.7vw,12px);border:1px solid}
.chip.city{background:var(--chipCity);border-color:#b2e0ff;color:var(--chipCityText)}
.chip.type{background:var(--chipType);border-color:#bfe5c8;color:var(--chipTypeText)}
.chip.trekking{background:#e6fffa;border-color:#99f6e4;color:#0f766e}
.chip.adventure{background:#fff4e5;border-color:#ffd9a8;color:#b45309}
.rating{color:#f59e0b;font-size:clamp(12px,1.8vw,13px)}
.priceBox{min-width:140px;text-align:right}
.from{font-size:clamp(12px,1.8vw,13px);color:var(--muted)}
.price{font-size:clamp(20px,3.5vw,32px);font-weight:900;color:var(--brand);margin-top:2px}
.mini{display:flex;gap:6px;justify-content:flex-end;margin-top:6px;flex-wrap:wrap}
.pill{background:#f1f5f9;border:1px solid var(--line);border-radius:999px;padding:4px 8px;font-size:11px;color:#475569}
.body{padding:clamp(14px,2.2vw,18px);border-top:1px solid var(--line)}
.grida{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(12px,2vw,18px)}
.h{font-size:clamp(16px,2.3vw,18px);margin:0 0 6px}
.p{color:var(--muted);margin:0 0 10px}
.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(8px,1.6vw,12px)}
.card{border:1px solid var(--line);border-radius:14px;padding:clamp(10px,1.6vw,12px)}
.card b{color:#111827}
.side{border-left:1px solid var(--line);padding-left:clamp(12px,2vw,16px)}
.btns{display:grid;gap:clamp(8px,1.6vw,10px)}
.btn{display:flex;align-items:center;justify-content:center;gap:10px;padding:clamp(10px,1.6vw,12px) 14px;border-radius:12px;font-weight:500;border:1px solid var(--line)}
.wpp{background:var(--brand);color:#fff;border-color:transparent}
.info{background:var(--cta);color:#fff;border-color:transparent}
.pay{background:#93c5fd;color:#0b1220;border-color:transparent}
.trust{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}
.tick{font-size:clamp(11px,1.7vw,12px);color:var(--muted);display:flex;gap:6px;align-items:center}
.dot{width:8px;height:8px;border-radius:999px;background:var(--ok)}
.faqbox{border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-top:12px}
.faqbox>details{border-top:1px solid var(--line)}
.faqbox>details:first-child{border-top:none}
.faqbox summary{padding:12px 14px;list-style:none;cursor:pointer;background:#f9fafb;font-size:clamp(13px,1.9vw,14px)}
.faqbox summary::-webkit-details-marker{display:none}
.faq{padding:12px 14px;color:var(--muted);font-size:clamp(13px,1.9vw,14px);background:#fff}
.reviews{max-width:1100px;margin:auto;padding:40px 20px;text-align:center}
.reviews h2{font-size:22px;font-weight:800;color:#111827;margin-bottom:20px}
.reviews-grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.review-card{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 4px 12px rgba(0,0,0,.05);padding:16px;text-align:left;transition:transform .2s ease}
.review-card:hover{transform:translateY(-3px)}
.review-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.review-header h3{margin:0;font-size:14px;font-weight:700;color:#111827}
.origin{margin:0;font-size:12px;color:#64748b}
.logotestimonio{height:18px;margin-left:auto}
.stars{color:#f59e0b;font-size:14px;margin-bottom:8px}
.comment{font-size:13px;color:#374151;line-height:1.4}
.paquetes-grid{display:grid;gap:16px;grid-template-columns:repeat(4,1fr);max-width:1200px;margin:auto;padding:15px}
.paquete-card{position:relative;background:#f3f4f6;border-radius:18px;box-shadow:var(--shadow-package);overflow:hidden;transition:transform .25s ease,box-shadow .25s ease}
.paquete-card:hover{transform:translateY(-4px);box-shadow:6px 6px 12px #b0b0b0,-6px -6px 12px #fff}
.img-box{position:relative}
.pkg-img{width:100%;height:100px;object-fit:cover}
.rating-bar{position:absolute;bottom:0;left:0;width:100%;background:rgba(0,0,0,.55);color:#fff;font-size:12px;text-align:center;padding:2px 0}
.dias-tag,.cities-tag{position:absolute;top:10px;z-index:2;font-size:11px;font-weight:500;padding:4px 10px;border-radius:999px;color:#fff}
.dias-tag{left:10px;background:#16a34a}
.cities-tag{right:10px;background:#0ea5e9}
.caption{padding:12px}
.caption h3{font-size:15px;font-weight:600;color:#111827;margin:0 0 6px}
.price-line{display:flex;gap:6px;align-items:baseline;margin-bottom:8px}
.from{font-size:11px;color:#64748b}
.price{font-size:16px;font-weight:500;color:#16a34a}
.h4{font-size:13px;margin:4px 0;color:#111827}
.itinerary-ticks{display:grid;gap:4px;margin-bottom:8px}
.tick{display:flex;align-items:center;gap:6px;font-size:12px;color:#374151}
.dot{width:7px;height:7px;border-radius:50%;background:#16a34a}
.pills{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.pill{background:#f1f5f9;border:1px solid #e5e7eb;border-radius:999px;padding:4px 8px;font-size:11px;color:#475569}
.actions{display:flex;gap:8px;margin-top:8px}
.btn{flex:1;text-align:center;padding:8px 10px;border-radius:12px;font-weight:500;font-size:13px;border:1px solid #e5e7eb}
.btn.info{background:#0ea5e9;color:#fff;border-color:transparent}
.btn.wapp{background:#16a34a;color:#fff;border-color:transparent}
@media(min-width:961px){.menu{display:flex;align-items:center;gap:1.2rem}.hamb{display:none}}
@media(max-width:960px){.menu{display:none;position:absolute;inset:60px 0 auto 0;background:#fff;border-bottom:1px solid #e5e7eb;padding:1rem;flex-direction:column}.hamb{display:inline-flex;align-items:center;gap:.4rem;border:1px solid #e5e7eb;padding:.4rem .7rem;border-radius:10px;background:#fff}}
@media(max-width:1200px){.paquetes-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:992px){.paquetes-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:768px){.paquetes-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.head{grid-template-columns:1fr;align-items:flex-start}.priceBox{text-align:center}.mini{justify-content:flex-start}.grida{grid-template-columns:1fr}.side{border-left:none;border-top:1px solid var(--line);padding-left:0;padding-top:12px}.tour .head{position:relative}.tour .priceBox{display:flex;flex-direction:column;align-items:flex-end}.tour .priceBox .from,.tour .priceBox .price{position:absolute;top:8px;right:12px;text-align:right}.tour .priceBox .from{font-size:11px;color:#64748b}.tour .priceBox .price{font-size:15px;font-weight:800;color:#16a34a;margin-top:14px}}
@media(max-width:640px){.hero .wrap{padding:6rem 1rem 3rem}.wapp{display:none}}
@media(max-width:520px){.paquetes-grid{grid-template-columns:1fr}}
  