:root { --forest-dark:#0c1b14; --forest:#14271e; --cream:#f2eee4; --cream-dark:#e8e1d3; --rust:#d76536; --text-dark:#17221c; --text-muted:#657268; --text-light:#f7f4ec; --sage:#a9b8a8; }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; color:var(--text-dark); background:var(--cream); font:16px/1.55 Arial, sans-serif; } body, h1, h2, h3, p { overflow-wrap:break-word; } a { color:inherit; } a:focus-visible { outline:3px solid var(--rust); outline-offset:4px; } .container { width:min(1180px, calc(100% - 48px)); margin:auto; } .skip-link { position:absolute; left:12px; top:-100px; z-index:2000; padding:10px 14px; color:var(--text-light); background:var(--forest-dark); } .skip-link:focus { top:12px; }
.hero { position:relative; display:grid; min-height:100svh; color:var(--text-light); overflow:hidden; } .hero__image, .hero__shade { position:absolute; inset:0; width:100%; height:100%; } .hero__image { object-fit:cover; object-position:center; } .hero__shade { background:linear-gradient(90deg,rgba(7,20,14,.86) 0%,rgba(7,20,14,.56) 42%,rgba(7,20,14,.16) 100%); } .site-nav, .hero__content, .hero__stats { position:relative; z-index:1; } .site-nav { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-top:26px; } .brand { display:flex; align-items:center; gap:12px; text-decoration:none; font-size:.8rem; font-weight:700; letter-spacing:.12em; white-space:nowrap; } .brand__mark { display:grid; width:31px; height:31px; place-items:center; border:1px solid currentColor; transform:rotate(45deg); font-family:Georgia,serif; font-size:1.1rem; } .brand__mark::first-letter { transform:rotate(-45deg); } .site-nav__links { display:flex; gap:28px; font-size:.9rem; } .site-nav__links a, .site-nav__phone { text-decoration:none; } .site-nav__links a:hover { color:var(--cream-dark); } .site-nav__phone { padding:9px 0; font-weight:700; white-space:nowrap; }
.hero__content { align-self:center; padding:110px 0 48px; } .eyebrow { margin:0 0 20px; color:var(--rust); font-size:.72rem; font-weight:700; letter-spacing:.14em; } .eyebrow--light { color:var(--cream-dark); } h1, h2 { margin:0; font:clamp(2.6rem,6vw,5.7rem)/.99 Georgia,serif; letter-spacing:-.045em; } h1 em, h2 em { color:var(--cream-dark); font-weight:400; } .hero__lead { max-width:650px; margin:28px 0; color:#e7ece6; font-size:1.1rem; } .hero__actions { display:flex; flex-wrap:wrap; align-items:center; gap:26px; } .button { display:inline-flex; min-height:52px; align-items:center; justify-content:center; gap:9px; padding:14px 20px; text-decoration:none; font-size:.76rem; font-weight:700; letter-spacing:.075em; transition:background .2s ease, transform .2s ease; } .button--rust { color:#fff; background:var(--rust); } .button--rust:hover { background:#b94f27; transform:translateY(-2px); } .text-link { min-height:48px; display:inline-flex; align-items:center; font-weight:700; text-underline-offset:5px; } .hero__price { margin:22px 0 7px; font-weight:700; } .hero__price small { display:block; color:var(--cream-dark); font-weight:400; } .hero__languages, .hiking__phones { color:var(--cream-dark); font-size:.75rem; font-weight:700; letter-spacing:.07em; line-height:1.9; } .hero__languages a, .hiking__phones a { color:#fff; text-decoration-thickness:1px; } .hero__note { color:var(--sage); font-size:.87rem; } .hero__stats { align-self:end; display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); padding-bottom:34px; } .hero__stats div { border-left:1px solid rgba(255,255,255,.34); padding:0 22px; } .hero__stats div:first-child { padding-left:0; border:0; } .hero__stats dt { font:2rem/1 Georgia,serif; } .hero__stats dd { margin:5px 0 0; color:var(--cream-dark); font-size:.78rem; }
.hero__languages .whatsapp-link, .hiking__phones .whatsapp-link, [data-booking-lines] .whatsapp-link { display:inline-flex; min-height:34px; align-items:center; margin-left:8px; padding:3px 10px; color:#fff; background:#167c4a; border:1px solid rgba(255,255,255,.35); border-radius:3px; text-decoration:none; letter-spacing:.06em; }
.whatsapp-link:hover { background:#11633b; }
.section { padding:clamp(72px,10vw,140px) 0; } section { scroll-margin-top:25px; } .section-intro { display:grid; grid-template-columns:1.1fr .8fr; gap:10%; margin-bottom:56px; } .section h2 { font-size:clamp(2.3rem,4.6vw,4.5rem); } .section-intro p { margin:8px 0 0; } .accent { margin-top:30px !important; color:var(--rust); font-size:.75rem; font-weight:700; letter-spacing:.13em; } .experience-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; } .experience-card { overflow:hidden; background:#fff; border:1px solid #d9ddd5; } .experience-card__image-button { display:block; width:100%; padding:0; border:0; background:var(--forest); cursor:zoom-in; } .experience-card img { display:block; width:100%; height:clamp(180px,21vw,280px); object-fit:contain; object-position:center; background:var(--forest); transition:transform .25s ease; } .experience-card__image-button:hover img { transform:scale(1.025); } .experience-card__shade { display:none; } .experience-card__content { padding:23px 25px 27px; } .experience-card__content span { color:var(--rust); font-size:.75rem; font-weight:700; letter-spacing:.13em; } h3 { margin:8px 0 5px; font:1.7rem/1.1 Georgia,serif; } .experience-card p { margin:0; color:var(--text-muted); font-size:.9rem; }
.routes { color:var(--text-light); background:var(--forest-dark); } .routes--light { background:var(--forest); } .routes__lead { max-width:780px; margin:25px 0 56px; color:var(--sage); } .route-list { border-top:1px solid rgba(242,238,228,.28); } .route { border-bottom:1px solid rgba(242,238,228,.28); } .route summary, .route--custom { display:grid; grid-template-columns:70px 1fr auto; gap:20px; align-items:center; padding:30px 0; cursor:pointer; list-style:none; } .route summary::-webkit-details-marker { display:none; } .route__number, .route__kicker, .route__end strong { color:var(--cream-dark); font-size:.74rem; font-weight:700; letter-spacing:.1em; } .route h3 { margin:5px 0; font-size:1.75rem; } .route p { margin:0; color:var(--sage); } .route__end { display:flex; align-items:center; gap:28px; } .route__end a { display:grid; width:48px; height:48px; place-items:center; border:1px solid rgba(242,238,228,.5); text-decoration:none; font-size:1.45rem; transition:background .2s ease; } .route__end a:hover { background:var(--rust); border-color:var(--rust); } .route__details { max-width:820px; padding:0 0 35px 90px; } .route__details p { margin:0 0 18px; } .route__details strong { color:var(--cream-dark); } .route__details .button { margin-top:8px; }
.safety { background:#f8f5ee; } .safety__grid { display:grid; grid-template-columns:minmax(280px,.88fr) 1fr; gap:clamp(40px,9vw,120px); align-items:center; } .media-placeholder { display:grid; place-items:center; overflow:hidden; color:var(--cream-dark); background:linear-gradient(140deg,rgba(12,27,20,.9),rgba(20,39,30,.76)), repeating-linear-gradient(135deg,transparent 0 22px,rgba(242,238,228,.06) 22px 23px); } .media-placeholder span { padding:12px 16px; border:1px solid rgba(242,238,228,.4); font-size:.73rem; letter-spacing:.1em; text-transform:uppercase; } .media-placeholder--portrait { min-height:620px; } .safety__content > p:not(.eyebrow) { max-width:560px; margin:29px 0 36px; color:var(--text-muted); } .benefit-list { margin:0; } .benefit-list div { padding:17px 0; border-top:1px solid #cbd0c8; } .benefit-list dt { font-weight:700; } .benefit-list dd { margin:3px 0 0; color:var(--text-muted); }
.testimonial { padding:clamp(70px,9vw,120px) 0; background:var(--cream-dark); } .testimonial__inner { max-width:820px; text-align:center; } .testimonial h2 { font-size:clamp(2.5rem,5vw,4.5rem); } .hiking__copy { margin:27px auto; max-width:650px; } .hiking__price { color:var(--rust); font-size:.85rem; font-weight:700; letter-spacing:.1em; } .hiking__price strong { font-size:1.3rem; } blockquote { margin:0; font:clamp(1.8rem,3.2vw,3.2rem)/1.18 Georgia,serif; }
.final-cta { position:relative; display:grid; min-height:610px; color:var(--text-light); overflow:hidden; } .final-cta .media-placeholder, .final-cta__shade { position:absolute; inset:0; } .final-cta__shade { background:rgba(7,23,15,.72); } .final-cta__content { position:relative; z-index:1; align-self:center; text-align:center; } .final-cta h2 { font-size:clamp(2.6rem,5vw,4.8rem); } .final-cta .button { margin-top:31px; } .final-cta__content > p:last-child { color:var(--cream-dark); font-size:.88rem; } .site-footer { padding:35px 0 calc(35px + env(safe-area-inset-bottom)); color:var(--cream-dark); background:var(--forest-dark); } .site-footer .container { display:flex; flex-wrap:wrap; gap:12px 34px; justify-content:space-between; font-size:.84rem; } .site-footer strong { letter-spacing:.1em; } .mobile-call { display:none; } .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; } .image-dialog { width:min(1100px, calc(100vw - 32px)); max-width:none; max-height:calc(100dvh - 32px); padding:0; color:var(--cream-dark); background:var(--forest-dark); border:1px solid rgba(242,238,228,.35); } .image-dialog::backdrop { background:rgba(4,12,8,.85); } .image-dialog__inner { position:relative; padding:44px 18px 16px; } .image-dialog img { display:block; width:100%; max-height:calc(100dvh - 130px); object-fit:contain; } .image-dialog p { margin:12px 0 0; text-align:center; } .image-dialog__close { position:absolute; top:10px; right:12px; display:grid; width:36px; height:36px; place-items:center; padding:0; color:var(--cream-dark); background:transparent; border:1px solid rgba(242,238,228,.55); cursor:pointer; font-size:1.65rem; line-height:1; }
@media (min-width:761px) { .hero__image { object-fit:contain; background:var(--forest-dark); } }
@media (max-width:760px) { body { padding-bottom:84px; } .container { width:min(100% - 32px, 1180px); } .site-nav { padding-top:18px; } .site-nav__links, .site-nav__phone { display:none; } .hero { min-height:920px; } .hero__shade { background:linear-gradient(90deg,rgba(7,20,14,.85),rgba(7,20,14,.34)); } .hero__content { padding:100px 0 32px; } .hero__lead { font-size:1rem; } .hero__stats { padding-bottom:26px; } .hero__stats div { padding:0 10px; } .hero__stats dt { font-size:1.45rem; } .hero__stats dd { font-size:.68rem; } .section-intro, .safety__grid { grid-template-columns:1fr; gap:28px; } .experience-grid { grid-template-columns:1fr; } .experience-card img { height:260px; } .route summary, .route--custom { grid-template-columns:38px 1fr; } .route__end { grid-column:2; justify-content:space-between; } .route__details { padding-left:0; } .media-placeholder--portrait { min-height:450px; } .site-footer .container { flex-direction:column; gap:6px; } .mobile-call { position:fixed; right:12px; bottom:calc(10px + env(safe-area-inset-bottom)); left:12px; z-index:1000; display:flex; min-height:56px; align-items:center; justify-content:center; gap:10px; color:#fff; background:var(--rust); box-shadow:0 8px 30px rgba(0,0,0,.28); text-decoration:none; font-size:.8rem; font-weight:700; letter-spacing:.09em; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *, *::before, *::after { transition-duration:.01ms !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; } }

.experience-after { max-width:680px; margin:42px auto 0; padding:26px 0 0; border-top:1px solid #cbd0c8; }
.experience-after p { color:var(--text-muted); }
.route-image-button, .section-image-button { display:block; width:100%; padding:0; border:0; background:transparent; cursor:zoom-in; }
.route-image { display:block; width:100%; max-height:460px; margin:27px 0 0; object-fit:contain; background:var(--forest); border:1px solid rgba(242,238,228,.22); transition:transform .25s ease; }
.route-image-button:hover .route-image, .section-image-button:hover .section-image { transform:scale(1.01); }
.section-image { display:block; width:100%; object-fit:contain; background:var(--forest); }
.section-image--portrait { min-height:450px; max-height:620px; }
.final-cta__image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.language-switcher { position:relative; z-index:1; display:flex; justify-content:flex-end; gap:7px; padding-top:8px; }
.language-switcher a { display:grid; width:32px; height:32px; place-items:center; padding:0; color:inherit; background:rgba(12,27,20,.38); border:1px solid rgba(242,238,228,.38); border-radius:50%; cursor:pointer; font-size:1rem; text-decoration:none; transition:background .2s ease,transform .2s ease; }
.language-switcher a:hover,.language-switcher a[aria-current="page"] { background:var(--rust); border-color:var(--rust); }
.language-switcher a:hover { transform:translateY(-1px); }
@media (max-width:760px) { .language-switcher { justify-content:flex-start; padding-top:14px; } }
.site-footer__legal { margin-top:18px !important; justify-content:flex-start !important; }
.site-footer__legal a, .site-footer__legal button { color:inherit; background:transparent; border:0; padding:0; font:inherit; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.consent-banner[hidden] { display:none; }
.consent-banner { position:fixed; right:16px; bottom:16px; left:16px; z-index:2000; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:24px; align-items:end; width:min(960px,calc(100% - 32px)); margin:auto; padding:22px; color:var(--text-light); background:var(--forest-dark); border:2px solid var(--cream-dark); box-shadow:0 12px 42px rgba(0,0,0,.38); }
.consent-banner h2 { margin:0 0 8px; font:1.45rem/1.15 Georgia,serif; letter-spacing:0; }
.consent-banner p { max-width:680px; margin:0 0 8px; color:var(--cream-dark); font-size:.9rem; }
.consent-banner a { color:var(--text-light); font-size:.85rem; text-underline-offset:3px; }
.consent-banner__actions { display:flex; gap:10px; }
.consent-banner__actions button { min-height:48px; padding:10px 16px; color:#fff; background:var(--rust); border:2px solid var(--rust); cursor:pointer; font-weight:700; }
.consent-banner__actions button:hover { background:#b94f27; border-color:#b94f27; }
.consent-banner__actions button:focus-visible { outline:3px solid #fff; outline-offset:3px; }
@media (max-width:760px) { .consent-banner { bottom:84px; grid-template-columns:1fr; gap:16px; } .consent-banner__actions { display:grid; grid-template-columns:1fr 1fr; } .consent-banner__actions button { padding-inline:8px; } }
.policy-page { max-width:850px; padding-top:64px; padding-bottom:90px; }
.policy-page > a { display:inline-block; margin-bottom:40px; color:var(--rust); font-weight:700; }
.policy-page h1 { margin-bottom:36px; font-size:clamp(2.5rem,6vw,5rem); }
.policy-page h2 { margin:36px 0 12px; font:2rem/1.15 Georgia,serif; }
.policy-page p { max-width:760px; color:var(--text-muted); }
