:root{--ink:#1e241b;--green:#191e17;--cream:#f5f1e8;--lime:#d9f355;--muted:#555b50;--line:#d9d7cb}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.6 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}a:focus-visible,summary:focus-visible{outline:3px solid #73900e;outline-offset:5px}.skip{position:absolute;z-index:5;top:0;left:12px;transform:translateY(-110%);background:var(--lime);color:var(--ink);padding:.6rem}.skip:focus{transform:translateY(0)}.wrap{width:min(1170px,calc(100% - 80px));margin-inline:auto}.top,footer{background:var(--green);color:var(--cream)}.nav,.foot{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{font-size:22px;letter-spacing:-.06em;font-weight:900;white-space:nowrap}.brand span:first-child{color:var(--lime);margin-right:5px}.trail{color:var(--lime)}nav{display:flex;gap:34px;font-size:14px;font-weight:700}nav a:hover,footer a:hover{text-decoration:underline}.pill{background:var(--lime);color:#1a210c;padding:13px 19px;display:inline-flex;align-items:center;justify-content:center;gap:17px;font-weight:800;border-radius:5px}.pill:hover{background:#e9ff87}.pill.small{padding:8px 13px;font-size:13px}.hero{min-height:clamp(530px,73vh,820px);display:flex;flex-direction:column;justify-content:space-between;background:#30382b;color:white;position:relative;isolation:isolate}.hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(17,22,14,.86) 0%,rgba(17,22,14,.62) 35%,rgba(17,22,14,.12) 82%),linear-gradient(0deg,rgba(17,22,14,.55),transparent 27%),url(./trail-bajada-pinar-2024.webp) left 57%/auto max(100%,72vw) no-repeat}.hero-inner{padding-block:clamp(70px,12vh,145px) 44px}.eyebrow,.tag,.hero-foot{font-size:12px;letter-spacing:.16em;font-weight:800}.hero .eyebrow{color:var(--lime)}i{display:inline-block;width:8px;height:8px;border-radius:100%;background:var(--lime);margin-right:8px}h1,h2,h3,p{margin:0}h1,h2{font-weight:900;letter-spacing:-.075em;line-height:.98}h1{font-size:clamp(56px,8.5vw,124px);margin:.16em 0 .22em}h1 span{color:var(--lime)}.hero p{font-size:clamp(16px,2vw,21px);max-width:500px;margin-bottom:25px;color:#f4f1e8}.hero-foot{padding-block:16px;display:flex;justify-content:space-between;gap:10px;border-top:1px solid #ffffff50;color:#e6e5d8}.specs{background:var(--lime)}.spec-grid{display:grid;grid-template-columns:repeat(3,1fr);padding-block:22px}.spec-grid div{display:grid;padding:0 22px;border-right:1px solid #9aae3e}.spec-grid div:first-child{padding-left:0}.spec-grid div:last-child{border:0}.spec-grid strong{font-size:clamp(27px,4vw,47px);letter-spacing:-.06em;line-height:1}.spec-grid span{font-size:13px;margin-top:6px}.section{padding-block:clamp(56px,9vw,112px);scroll-margin-top:20px}.split{display:grid;grid-template-columns:1fr 1.1fr;gap:45px;align-items:start}h2{font-size:clamp(43px,6.2vw,84px);margin:12px 0 18px}.intro{padding-top:23px}.intro p,.split>div>p{max-width:47ch;color:var(--muted);font-size:18px}.checks{list-style:none;margin:21px 0 0;padding:0}.checks li{border-top:1px solid var(--line);padding:10px 0}.checks li:before{content:"✓";font-weight:900;margin-right:12px;color:#52631c}.motos{background:#252c22;color:#f5f1e8}.motos .eyebrow,.tag{color:var(--lime)}.agenda>div{border-top:1px solid var(--line);padding:14px 0;display:flex;align-items:center;justify-content:space-between;gap:10px}.agenda small{display:block;color:var(--muted)}.badge{border-radius:20px;background:#e7e5db;padding:3px 9px;font-size:12px;white-space:nowrap}.badge.active{background:var(--lime)}.availability{font-size:14px!important;margin-top:10px}.faq{background:#eae8dd}details{border-top:1px solid #c9c9b9;padding:15px 0}details:last-child{border-bottom:1px solid #c9c9b9}summary{cursor:pointer;font-weight:800}details p{margin-top:8px;color:var(--muted)}.foot{padding-block:18px}.foot p,.foot>a:last-child{color:#dbdfd4;font-size:13px}@media(max-width:700px){.wrap{width:calc(100% - 36px)}nav{display:none}.hero{min-height:560px}.hero:before{background-position:62% center;background-size:cover}.hero-foot{font-size:9px}.split{grid-template-columns:1fr;gap:16px}.intro{padding-top:0}.spec-grid div{padding-inline:10px}.spec-grid span{font-size:11px}.foot{flex-wrap:wrap}.foot p{flex-basis:100%;order:3}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

html { scroll-padding-top: 72px; }
.top { position: sticky; top: 0; z-index: 4; }
@supports (backdrop-filter: blur(12px)) or (-webkit-backdrop-filter: blur(12px)) {
    .top {
        background-color: rgb(25 30 23 / 76%);
        -webkit-backdrop-filter: blur(12px) saturate(1.2);
        backdrop-filter: blur(12px) saturate(1.2);
        box-shadow: 0 1px 0 rgb(255 255 255 / 14%);
    }
}

.rates{margin:18px 0 0}.rates>div{display:flex;align-items:baseline;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding:10px 0}.rates dt{font-weight:700}.rates dd{margin:0;font-size:1.18rem;font-weight:900;white-space:nowrap}.rates small{font-size:.75rem;font-weight:400;color:var(--muted)}

.rental{background:#e0e8cd}
.media-intro { padding-block: clamp(40px, 6vw, 82px) clamp(24px, 4vw, 48px); }
.media-intro h2 { font-size: clamp(42px, 6vw, 76px); }
.media-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-areas: "photo copy";
    margin: 0;
}
.media-row-reverse {
    grid-template-areas: "copy photo";
}
.media-photo {
    grid-area: photo;
    display: block;
    width: 100%;
    height: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}
.media-copy {
    grid-area: copy;
    align-self: center;
    padding: clamp(26px, 5vw, 92px);
}
.media-copy h3 {
    font-size: clamp(34px, 4.2vw, 68px);
    line-height: 1.02;
    letter-spacing: -.055em;
    margin: 8px 0 14px;
    text-wrap: balance;
}
.media-copy p {
    max-width: 38ch;
    font-size: clamp(16px, 1.4vw, 20px);
}
.motos .media-row { background: #30392c; }
.motos .media-row-reverse { background: #252c22; }
.motos .media-copy p { color: #deded3; }
.bike-specs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 18px; margin: 16px 0; }
.bike-specs > div { border-top: 1px solid #ffffff42; padding-top: 7px; }
.bike-specs dt { color: #deded3; font-size: 13px; }
.bike-specs dd { margin: 0; font-weight: 700; }
.bike-specs + .wa-link { color: var(--lime); }

.archive { background: #e8e7db; }
.archive-intro { max-width: 52ch; color: var(--muted); }
.archive .media-row-reverse { background: var(--cream); }
.archive .media-copy .tag { color: #52631c; }
.archive .media-copy p { color: var(--muted); }
.archive video {
    display: block;
    width: 100%;
    height: auto;
    max-height: 85svh;
    background: var(--green);
    object-fit: contain;
}
@media (max-width: 700px) {
    .media-row, .media-row-reverse {
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas: "photo" "copy";
    }
    .media-photo { height: auto; }
    .media-copy { padding: 24px 18px 34px; }
}

.booking{background:#e0e8cd}.booking-links{display:flex;flex-wrap:wrap;gap:13px;align-items:center;margin-top:15px}.wa-link{font-size:14px;text-decoration:underline;text-underline-offset:3px;font-weight:700}.booking-form{position:relative;border:1px solid #c3cbb1;background:var(--cream);padding:clamp(18px,3vw,34px)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid label{display:grid;gap:4px;font-size:13px;font-weight:800}.form-grid [hidden]{display:none}.form-grid input,.form-grid select{box-sizing:border-box;min-width:0;width:100%;background:#fffdf8;color:var(--ink);border:1px solid #aeb49e;border-radius:4px;padding:9px;font:inherit;font-weight:400;min-height:43px}.booking-form button{border:0;cursor:pointer;font:inherit;font-weight:800}.booking-form button:disabled{opacity:.55;cursor:wait}.booking-note,.form-result{font-size:14px;color:var(--muted);margin:14px 0}.form-result:empty{display:none}.form-result{font-weight:700}.calendar{margin-top:18px;border-top:1px solid #a9b298;padding-top:11px;font-size:15px}.trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}@media(max-width:440px){.form-grid{grid-template-columns:1fr}}



.month-control{display:flex;align-items:center;gap:10px;margin-top:18px;font-weight:700}.month-control[hidden]{display:none}.month-control select{font:inherit;border:1px solid #a9b298;background:#fffdf8;color:var(--ink);border-radius:4px;padding:6px 10px}

.model-picker{grid-column:1/-1;min-inline-size:0;margin:0;padding:10px 12px 12px;border:1px solid #b9c3a6;border-radius:4px}
.model-picker legend{padding:0 5px;font-size:14px;font-weight:800}
.model-stock{color:var(--muted);font-size:13px;margin-bottom:10px}
.booking-form .equipment {
    margin-top: 14px;
    padding: 10px 12px;
    border: 1px solid #b9c3a6;
    border-radius: 4px;
}
.equipment p { font-size: 14px; }
.equipment-rider { min-inline-size: 0; margin: 12px 0 0; padding: 0; border: 0; }
.equipment-rider legend { margin-bottom: 6px; padding: 0; font-size: 14px; font-weight: 800; }
.wait-switch{background:none;color:var(--ink);padding:0;margin-top:9px;text-align:left}
.booking .split > *{min-width:0}
.month-grid{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:3px;text-align:center;font-variant-numeric:tabular-nums}
.month-grid th{padding-bottom:3px;font-size:12px;color:#444b3b}
.month-grid td{height:65px;padding:0;vertical-align:middle}
.calendar-closed{color:#545a50;background:#e7e9df;border-radius:4px;font-size:13px}
.month-grid button{width:100%;height:65px;padding:3px 0;border:1px solid #60915a;border-radius:4px;background:#d6edcd;color:#224725;font:inherit;line-height:1.22;cursor:pointer}
.month-grid button:hover{border-color:#3f7540;background:#c8e7bf}
.month-grid button:focus-visible{outline:2px solid #506319;outline-offset:1px}

.month-grid button[aria-pressed=true]{background:#b2dda8;border-color:#3f7540;box-shadow:inset 0 0 0 1px #3f7540}
.month-grid button.is-full{background:#f9d9d6;color:#731e24;border-color:#bc5359;border-style:dashed}
.month-grid button.is-full:hover,.month-grid button.is-full[aria-pressed=true]{background:#f3b9b5;border-color:#923039}
.month-grid button.is-full[aria-pressed=true]{box-shadow:inset 0 0 0 1px #923039}
.calendar-day,.calendar-stock{display:block}
.calendar-day{font-weight:800}
.calendar-stock{font-size:clamp(9px,1.6vw,11px);color:inherit;white-space:nowrap}
.calendar-legend{padding-top:6px;color:var(--muted);font-size:13px}
.price-summary{margin:16px 0 12px;padding:12px 14px;background:#e0e8cd;border:1px solid #b9c3a6;border-radius:4px}
.price-line{display:flex;align-items:center;justify-content:space-between;gap:10px;font-weight:800}
.price-line strong{font-size:clamp(24px,4vw,34px);line-height:1.15;white-space:nowrap}
.price-summary p{margin-top:3px;color:var(--muted);font-size:13px}

.brand { display: inline-flex; align-items: center; }
.brand img { flex: none; margin-right: 8px; }
.brand-name { line-height: 1; }
.brand-name span:first-child { margin-right: 0; }
.brand-name small { display: block; margin-top: 3px; font-size: 9px; letter-spacing: .17em; }
.site-header nav a[aria-current="page"] {
    color: var(--lime);
    text-decoration: underline;
    text-underline-offset: 5px;
}
.page-heading {
    font-size: clamp(46px, 7.5vw, 100px);
    margin: 10px 0 20px;
}
.compact-heading {
    font-size: clamp(26px, 3vw, 38px);
    line-height: 1.08;
    letter-spacing: -.04em;
    margin: 0 0 10px;
}
.home-services .service {
    display: grid;
    grid-template-columns: minmax(0, 58fr) minmax(0, 42fr);
    min-height: clamp(320px, 36vw, 535px);
    background: var(--cream);
    border-top: 1px solid var(--line);
}
.home-services .service:nth-child(even) {
    grid-template-columns: minmax(0, 42fr) minmax(0, 58fr);
    background: #e2e7d5;
}
.service > img { display: block; width: 100%; height: 100%; object-fit: cover; }
.service:nth-child(even) > img { grid-area: 1 / 2; }
.service-caption { align-self: center; padding: clamp(28px, 5vw, 72px); }
.service:nth-child(even) .service-caption { grid-area: 1 / 1; }
.service-copy { max-width: 40ch; }
.service h2 { font-size: clamp(37px, 4.7vw, 70px); margin: 0 0 15px; }
.service p { color: var(--muted); }
.service a {
    display: inline-block;
    margin-top: 12px;
    color: var(--ink);
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 4px;
}
.draft-rates {
    margin-top: 18px;
    padding: 12px 14px;
    border: 1px solid #b9c3a6;
    background: var(--cream);
}
.rental .draft-rates > p { font-size: 14px; }
.draft-rates .rates { margin-top: 5px; }
.draft-rates dt small { display: block; }
.draft-rates .rates > div:last-child { border-bottom: 0; }
.course-photo { display: block; width: 100%; height: auto; max-height: 65svh; object-fit: cover; }
.instructor-photo { display: block; width: 100%; height: auto; margin-top: 24px; }
.honours li { display: grid; grid-template-columns: 2rem minmax(0, 1fr); gap: 10px; align-items: start; }
.honours li::before { content: none; }
.honour-icon { font-size: 1.3rem; line-height: 1.25; text-align: center; }
.month-grid button.calendar-rental { background: #f6f7ec; border-color: #a2ad92; color: var(--ink); }
.month-grid button.calendar-rental:hover { background: #e5edd9; }
.month-grid button.calendar-rental[aria-pressed=true] { background: #d6edcd; border-color: #60915a; }
.rental-blackout { background: #f9d9d6; color: #731e24; }
.rental-blackout abbr { text-decoration: line-through; }

@media (max-width: 700px) {
    html { scroll-padding-top: 112px; }
    .site-header .nav {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 4px 10px;
        padding-block: 8px;
    }
    .site-header .brand { font-size: clamp(17px, 5.5vw, 24px); }
    .site-header .brand img { width: 30px; height: 30px; }
    .site-header .pill { grid-row: 1; grid-column: 2; padding-inline: 9px; font-size: 12px; }
    .site-header nav {
        display: flex;
        grid-column: 1 / -1;
        justify-content: space-between;
        gap: 10px;
        padding: 3px 0 0;
    }
    .site-header nav a { display: inline-flex; align-items: center; min-height: 36px; }
    .home-services .service { display: block; }
    .service > img { height: auto; aspect-ratio: 16 / 9; }
    .service-caption { padding: 25px 18px 33px; }
}
@media (max-width: 389px) {
    .site-header .pill { max-width: 132px; line-height: 1.2; text-align: center; }
}

.trail-intro {
    --trail-tint: #d3dec2;
    position: relative;
    isolation: isolate;
    background:
        radial-gradient(ellipse at 10% 100%, var(--trail-tint), transparent 68%),
        linear-gradient(118deg, #f8f5eb, #eeeee2);
    border-bottom: 1px solid #a6b19445;
}

.trail-intro.rental { --trail-tint: #cbdab1; }

.trail-intro::before {
    content: "";
    position: absolute;
    inset-block: 0;
    inset-inline-start: max(18px, calc((100% - 1190px) / 2));
    width: min(49%, 600px);
    z-index: -1;
    pointer-events: none;
    background: #3e5236;
    opacity: .13;
    mask: url(./moto-campo-silueta.webp) center bottom 68px / min(100%, 440px) auto no-repeat;
}

.trail-intro > .section { padding-block: clamp(48px, 6.5vw, 92px); }
.trail-intro .split > * { min-inline-size: 0; }
.trail-intro .eyebrow { display: flex; align-items: center; gap: 10px; color: #3d5131; }
.trail-intro .eyebrow::before { content: ""; width: 22px; height: 2px; background: #71864b; }

.trail-intro :is(.intro, .agenda), .booking-form {
    padding: clamp(20px, 3vw, 34px);
    border: 1px solid #b6bea58c;
    border-radius: 12px;
    background: linear-gradient(140deg, #fffdf6, #f5f4e9);
    box-shadow: 0 22px 46px -29px #30452e69, 0 3px 10px #30452e0e;
}

.trail-intro .agenda > div:first-child { border-top: 0; }
.trail-intro .draft-rates { border-radius: 6px; background: #e8eddb; }
.rental:not(.trail-intro), .booking { background: linear-gradient(115deg, #edf0e1, #d9e3c7); }
.faq, .archive { background-image: radial-gradient(ellipse at 0% 100%, #dbe0cd, transparent 70%); }
.home-services .service { background: linear-gradient(135deg, #faf7ee, #ebe9dc); }
.home-services .service:nth-child(even) { background: linear-gradient(135deg, #eef1e2, #dbe5cb); }
.site-header { box-shadow: 0 4px 15px #10180d26, 0 1px 0 #ffffff20; }
main .pill { box-shadow: 0 5px 12px #34401622, inset 0 1px 0 #ffffff63; }

@media (max-width: 700px) {
    .trail-intro > .section { padding-block: 37px 42px; gap: 12px; }
    .trail-intro::before {
        inset: 12px 0 auto auto;
        width: min(69vw, 285px);
        height: 235px;
        opacity: .11;
        mask-position: right 8px bottom;
        mask-size: calc(100% - 8px) auto;
    }
    .trail-intro :is(.intro, .agenda) { padding: 17px; }
}

@media (min-width: 701px) {
    #fechas .page-heading { font-size: clamp(40px, 5.8vw, 88px); }
}

@media (max-width: 389px) {
    .trail-intro .page-heading { font-size: clamp(39px, 11.9vw, 46px); }
}
