/* Small production integration/accessibility changes; reference layout remains authoritative. */
:root{--sans:'Montserrat',Arial,sans-serif;--ink:#071f19;--paper:#f6f6ee;--spring:#2ed66f}
body{font-family:'Montserrat',Arial,sans-serif}button,a,input,select,textarea{touch-action:manipulation}
[hidden]{display:none!important}.app-sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.full-page-link{margin:0 0 20px!important;padding:14px 18px;border:1px solid #2ed66f70;border-radius:10px;background:#2ed66f10}.full-page-link a{font-weight:700;text-decoration:underline;text-underline-offset:3px}
.full-route-link{font-size:11px!important;max-width:130px;line-height:1.4!important}
.local-search-open{overflow:hidden}.smart-search-modal{max-height:100dvh;overflow:auto}.smart-search-container{max-height:calc(100dvh - 120px);overflow:auto}.local-search-result{display:flex;flex-direction:column;gap:8px;padding:16px;border-bottom:1px solid #f6f6ee25;min-height:64px}.local-search-result:hover{background:#2ed66f14}.local-search-result span{font-size:12px;color:#2ed66f}.local-search-result strong{font-size:14px;line-height:1.5}.smart-search-input{min-width:0}.smart-search-close,.smart-search-submit,.smart-search-clear,.action-item{min-height:44px;min-width:44px}.smart-search-title{margin:0;padding:16px 18px!important}
.das-support-log{display:block}.das-support-body{display:flex}.das-support-close{min-width:44px;min-height:44px}.das-support-launcher{z-index:50}.das-support-dialog .das-support-header{position:static}.das-support-message-text{color:inherit}.das-support-header h2{color:var(--support-paper)}
.app-bottom-nav a,.app-bottom-nav button{min-height:48px}.app-bottom-nav .app-ai-button{color:#2ed66f}.app-bottom-nav .app-ai-button svg{width:25px;height:25px}.app-more-dialog{color:#f6f6ee;background:#071f19}.app-more-dialog a{min-height:52px}.app-more-dialog .app-close{min-width:44px;min-height:44px}.app-more-dialog h2{line-height:1.25}
@media(max-width:767px){body{padding-bottom:calc(100px + env(safe-area-inset-bottom,0px))}.das-support-launcher{display:none!important}.app-bottom-nav{bottom:max(10px,env(safe-area-inset-bottom));padding-bottom:8px}.smart-search-modal{padding:12px}.smart-search-container{max-height:calc(100dvh - 24px)}.smart-search-input-wrap{flex-wrap:wrap}.smart-search-input{flex-basis:calc(100% - 100px)}.smart-search-submit{margin-left:auto}.app-dialog-header{padding:18px}.app-dialog-header h2{font-size:20px}.app-more-dialog{max-height:calc(100dvh - 32px);overflow:auto}.app-more-links{padding:16px}.das-modal__header-actions{flex-wrap:wrap}.das-modal__select{max-width:100%}.das-modal__close{min-height:44px}.distance-chip{min-height:44px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}
body:has(dialog[open]){overflow:hidden}.smart-search-submit{border:1px solid #2ed66f;background:#2ed66f;color:#071f19;border-radius:8px;font:700 12px 'Montserrat',Arial,sans-serif;padding:10px 12px}.smart-search-clear{display:inline-flex!important;align-items:center;justify-content:center}.smart-search-close{font:600 12px 'Montserrat',Arial,sans-serif}
.das-contour-field{left:0;right:0}.full-route-links{display:flex;gap:16px;justify-content:center}.full-route-links a{min-height:44px;display:inline-flex;align-items:center;text-align:center;color:#f6f6ee}.full-route-links a:hover{color:#2ed66f}
@media(min-width:768px){.header-navigation{display:flex!important;flex-direction:column;justify-content:center;gap:0;min-width:0}.site-nav{gap:12px}.site-nav .nav-link{font-size:11px}.header-inner{gap:16px}.site-nav .nav-link__num{font-size:9px}.full-route-link{max-width:none}.header-actions{flex-shrink:0}}
@media(min-width:768px) and (max-width:1180px){.site-nav{display:none}.action-mobile-menu{display:inline-flex}}
@media(max-width:767px){.header-navigation{display:none!important}}
.das-support-body>aside{font-size:12px;line-height:1.5;padding:8px 10px;background:#ffbb3812;border-left:2px solid #ffbb38;flex:none}.das-support-body>aside p{margin:0}
@media(min-width:768px) and (max-width:1280px){.site-nav{display:none!important}.action-mobile-menu{display:inline-flex}}
@media(min-width:1281px){.site-nav{flex-wrap:wrap;justify-content:center}.header-navigation{flex:1}}
@media(min-width:768px){.das-support-launcher{border-radius:999px;padding:12px 18px;background:#071f19;color:#f6f6ee;border:1px solid #2ed66f;box-shadow:0 6px 22px #0004}}
@media(min-width:768px){.das-support .das-support-launcher{border-radius:999px}}
#total{font-size:clamp(28px,3vw,40px)!important;white-space:nowrap}
@media(max-width:1480px){.das-journey-rail{display:none!important}}
@media(max-width:767px){#total{font-size:clamp(28px,8vw,40px)!important}}

/* V25: decorative fact numbers need a real box, never the source's 7px dot. */
.herofacts__item{min-width:0}
.herofacts__marker{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;flex:0 0 auto;min-width:32px;height:24px;padding:0 8px;margin-bottom:6px;border:1px solid #2ed66f70;border-radius:999px;background:#2ed66f12;color:#2ed66f;font-size:11px;font-weight:700;line-height:1;letter-spacing:.08em;font-variant-numeric:tabular-nums;white-space:nowrap}
.herofacts__num{display:block;max-width:100%;word-break:normal;overflow-wrap:normal}
@media(max-width:767px){html body .herofacts__num{font-size:clamp(22px,7vw,28px)!important;white-space:nowrap}}

@media(max-width:767px){html body .herofacts__num--passport{white-space:normal}.herofacts__passport-name{display:inline-block;white-space:nowrap}}

/* Decorative organic mountain silhouette; no measured course profile. */
.das-hero-elevation__svg{height:clamp(104px,12vw,180px)}

/* Original brand vectors assemble only inside the identity teaser. */
.brand-assembly-svg{display:block;flex:none;overflow:visible}
.brand-assembly-pieces{visibility:hidden}
.brand-assembly-piece{transform-box:fill-box;transform-origin:center}
.brand-assembly--playing .brand-assembly-static{visibility:hidden}
.brand-assembly--playing .brand-assembly-pieces{visibility:visible}
@media(prefers-reduced-motion:reduce){.brand-assembly--playing .brand-assembly-static{visibility:visible}.brand-assembly--playing .brand-assembly-pieces{visibility:hidden}}

#brand-teaser{border:2px solid transparent;background:linear-gradient(color-mix(in srgb,var(--hrv-wild-bg-color,#f6f6ee) 65%,#ffffff),color-mix(in srgb,var(--hrv-wild-bg-color,#f6f6ee) 65%,#ffffff)) padding-box,conic-gradient(from -90deg,#2ed66f 0deg 60deg,#ffbb38 60deg 120deg,#12b9f1 120deg 180deg,#6756f5 180deg 240deg,#ff7838 240deg 300deg,#ff3757 300deg 360deg) border-box}

/* Owner-supplied hero copy and reference treatment; lime sampled from that reference. */
.hero__headline--adventure .hero-line{font-family:'Montserrat',Arial,sans-serif;font-weight:900;font-style:normal;font-size:clamp(44px,4.65vw,70px);line-height:1.08;letter-spacing:-.035em;color:#f6f6ee;margin:0}
.hero__headline--adventure .hero-word-accent{color:#d8ee74}
.hero-intro-line{display:block}
@media(max-width:767px){.hero__headline--adventure .hero-line{font-size:clamp(32px,8.5vw,52px)}}

.statement--outside{align-items:start;row-gap:24px}
.statement--outside .statement__header .eyebrow{margin:0;color:#071f19}
.statement--outside .statement__title{font-family:'Montserrat',Arial,sans-serif;font-size:clamp(36px,4.4vw,60px);font-weight:400;line-height:1.12;text-transform:none}
.statement--outside .statement__title strong{font-weight:900}
.statement__first-line{display:block}
.statement--outside .statement__desc{font-size:16px;font-weight:400;color:#2c443c}
.statement--outside .statement__desc:last-child{margin-bottom:0}
@media(max-width:767px){.statement--outside .statement__title{font-size:clamp(32px,8vw,44px)}}

#chapters>.chapters__head{grid-template-columns:minmax(0,1fr)}

/* Spring-only focal crop: keep the real runner's whole face central and clear of overlays. */
[data-pinned-frame="01"]>.chapters-sticky-frame__img{object-position:50% 10%}
#chapter-spring .chapter-story__photo{object-position:50% 4%;transform:none}
#chapter-spring .chapter-story__logo-overlay{width:40%;max-width:180px}
#chapter-spring .chapter-story__logo-overlay .chapter-logo{width:100%;max-width:100%}

/* Align the three hero facts; the full product name remains in the Passport section. */
@media(min-width:768px){.herofacts{container-type:inline-size;align-items:start}.herofacts .herofacts__num{font-size:clamp(18px,1.8vw,24px)!important;font-size:clamp(18px,3.35cqw,28px)!important;font-weight:800;line-height:1.1;white-space:nowrap}}

/* Registration milestones: aligned reading rows, unclipped indices and concise copy. */
#registration-timeline .timeline__head{grid-template-columns:minmax(0,1fr)}
#registration-timeline .timeline-node__marker{padding:4px;min-height:26px;overflow:visible}
#registration-timeline .timeline-node__index{display:inline-block;min-width:24px;white-space:nowrap;line-height:1.2}
#registration-timeline .timeline-node__desc>span{display:block}
@media(min-width:1025px){
 #registration-timeline .timeline-node__card{padding:20px 16px}
 #registration-timeline .timeline-node__phase{line-height:1.4;min-height:2.8em}
 #registration-timeline .timeline-node__date{font-size:clamp(18px,1.65vw,26px)!important;line-height:1.2;white-space:nowrap}
 #registration-timeline .timeline-node__title{font-size:clamp(16px,1.4vw,20px)!important;line-height:1.35;min-height:2.7em}
 #registration-timeline .timeline-node__desc{font-size:13px!important;line-height:1.65}
 #registration-timeline .timeline-node__desc>span:first-child{min-height:1.65em}
 #registration-timeline .timeline-node__desc>span:nth-child(2){min-height:3.3em}
}

/* Text blocks must not inherit the photo reveal mask: preserve complete edge glyphs. */
.template-index :is(p,h1,h2,h3,.sectionhead,.plan-compare__head-main,.passport-heading,.details-grid__intro,.faq-grid__intro,.timeline-node)[data-reveal],.hero .herofacts[data-reveal],.statement--outside :is(.statement__header,.statement__main,.statement__aside)[data-reveal]{clip-path:none}

.statement--outside .statement__desc{text-align:justify;text-align-last:left;word-spacing:normal}

#moments .hrv-cf-wild_moment_1_title{font-style:italic}

#moments .moments__mood-pill>span{font-weight:700}

#moments .hrv-cf-wild_moment_2_tag{font-style:italic!important}

/* First two offers use four aligned rows; long chapter names may wrap naturally. */
#registration-timeline .timeline-node:nth-child(-n+2) .timeline-node__desc>span:nth-child(2){min-height:0}
@media(min-width:1025px){#registration-timeline .timeline-node:nth-child(-n+2) .timeline-node__desc>span:nth-child(3){min-height:3.3em}}

/* Owner-supplied Season Pass gift, contained inside its existing comparison column. */
.compare-table{table-layout:fixed;min-width:720px}
.compare-table thead th:first-child{width:20%}
.compare-table .compare-gift img{display:block;width:min(220px,100%);height:auto;object-fit:contain;margin-top:12px;border-radius:8px}

/* Visible registration label requested by owner; native disabled guard remains intact. */
.passlayout .summary .button:disabled{background:#2ed66f;color:#071f19;border:2px solid #2ed66f;opacity:1;font-size:16px;font-weight:900;letter-spacing:.08em;min-height:54px;box-shadow:0 4px 16px #2ed66f26;cursor:not-allowed}

/* Contrast mat only; the original Passport artwork remains unmodified and uncropped. */
#passport .passport-feature__canvas{padding:clamp(14px,2vw,24px);background:#f6f6ee;border:1px solid #fffdf5;border-radius:24px;box-shadow:0 18px 40px #0004}
#passport .passport-zoom-trigger{background:transparent;border:0;border-radius:0;overflow:visible}
#passport .passport-artwork{display:block;width:100%;height:auto;object-fit:contain;border-radius:6px;box-shadow:0 8px 20px #071f1933}
#passport .passport-zoom-badge{position:static;display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin-top:14px;padding:10px 18px;font-size:14px;font-weight:800}
#passport .das-passport-seal{position:static;flex-direction:row;justify-content:flex-end;gap:8px;margin-bottom:12px;color:#715100}
#passport .das-passport-seal__svg{width:32px;height:32px}
#passport .das-passport-seal__label{margin-top:0}
