/* Shared winter palette. The approved logo files and editable content stay intact. */
:root { --ink:#243338; --paper:#fafbf9; --gray:#56676b; --line:#dce4e2; --orange:#a34325; --brand-orange:#f45124; --snow-shadow:0 12px 32px #203d4610; }
body { background:#fafbf9; color:var(--ink); }
.eyebrow,.news-category { color:#96432b; }
.button { border-radius:8px; font-weight:650; transition:background .2s,box-shadow .2s,transform .2s; }
.button-dark,.opening-section .button-light,.hero--brand .button-light { color:#fff; background:#29464c; border-color:#29464c; box-shadow:0 5px 14px #243f4914; }
.button-dark:hover,.opening-section .button-light:hover,.hero--brand .button-light:hover { background:#1e353b; border-color:#1e353b; box-shadow:0 7px 20px #243f4925; }
.text-link { text-underline-offset:6px; }
.site-header { background:#fcfdfbf2; box-shadow:0 3px 20px #243f4909; border-bottom:1px solid #dce5e180; }
.site-header .wordmark:has(.brand-wordmark-image[src]:not([src=""])) { padding-left:0; }
.site-header #main-nav>a:not(.nav-cta),.connections-menu>summary { font-weight:550; }
.site-header #main-nav>a.nav-cta { color:#82351f; background:#ffede3; border-color:#e8b59f; }
.site-header #main-nav>a.nav-cta:hover { background:#ffe1d0; }
.site-header #main-nav>a:not(.nav-cta):hover,.connections-menu>summary:hover { color:#96432b; }
.connections-menu-links small { font-size:12px; }
.site-header #main-nav .connections-menu-links a { padding-block:16px; }
.section-heading h2,.about-content h2,.craft-copy h2,.home-visit-summary h2 { font-weight:700; letter-spacing:-.035em; line-height:1.35; color:#243338; }
.section-space { padding-block:clamp(40px,4.5vw,68px); }
.section-heading { align-items:end; }
.section-index { border-top:1px solid #cddbd6; padding-top:16px; }
.section-index .eyebrow { background:transparent; color:#96432b; padding:0; }
.section-number { color:#9baba8; font-size:20px; font-style:italic; }

/* Light snow, an orange route and two real rider portraits form the opening cover. */
.campaign-slide { background:#eaf1ef; }
.campaign-background { object-position:50% 55%; }
.campaign-slide:before { background:linear-gradient(105deg,#f9fcfaf5 0%,#f8fbf7e8 38%,#edf3ef9c 70%,#dce8e35c 100%); }
.campaign-layout { padding-block:36px 24px; gap:22px 42px; }
.campaign-copy>.eyebrow { font-size:12px; letter-spacing:.15em; }
.campaign-english { color:#243338; font-size:clamp(62px,5.6vw,84px); line-height:.95; margin-block:22px 20px; }
.campaign-copy h2 { color:#243338; font-size:clamp(24px,2.1vw,30px); }
.campaign-intro { color:#485d62; max-width:490px; }
.campaign-date { border-color:#b9cdc6; }
.campaign-date strong { letter-spacing:-.03em; font-size:26px; }
.campaign-date>span,.campaign-notice,.campaign-talks>p { color:#495e62; }
.opening-tag { background:#ffede0; color:#873b25; border-color:#e2b097; font-size:12px; letter-spacing:.07em; }
.campaign-actions .button-orange { color:#74311e; background:#ffe2cf; border-color:#dc9a77; box-shadow:0 5px 15px #a8432410; }
.campaign-actions .button-orange:hover { background:#ffd5b9; border-color:#cc865f; }
.campaign-actions .text-link { color:#304d52; }
.hero-riders { gap:14px; align-self:center; }
.hero-riders figure { background:#fffffff0; border:1px solid #d3dfdb; border-radius:12px; box-shadow:var(--snow-shadow); }
.hero-rider-photo { padding:12px 12px 0; background:transparent; }
.hero-rider-photo img { height:270px; object-fit:contain; border-radius:6px; background:#eaf0ee; }
.hero-riders figcaption { padding:14px 16px 17px; }
.hero-riders figcaption>strong { color:#243338; }
.hero-riders figcaption>span { color:#96432b; font-size:12px; }
.hero-riders figcaption>small { color:#52656b; font-size:12px; letter-spacing:.015em; }
.hero-riders figcaption>p { color:#52656b; line-height:1.65; }
.campaign-talks { border-color:#b9cdc6; padding-top:16px; }
.campaign-talks>span { color:#96432b; }
.alpine-image-note,.hero--brand .image-note { font-size:12px; color:#526268; background:#fcfdfade; }
.carousel-toolbar { background:#f4f7f3; border-top:1px solid #d4dfd8; padding-block:10px; }
.slide-pickers button,.slide-pickers button:hover { color:#40575a; }
.slide-pickers button[aria-disabled="true"] { color:#8b3b25; border-color:var(--brand-orange); }
.carousel-progress { height:2px; background:#d8e3dc; }
.carousel-progress-fill { background:var(--brand-orange); }
.home-shortcuts { background:linear-gradient(180deg,#f4f7f3,#fff); }
.core-shortcuts .connections-intro { padding-block:18px 12px; }
.core-shortcut-links { padding-bottom:18px; gap:10px; }
.core-shortcut-links a { border-radius:8px; background:#ffffffd9; border-color:#dce5df; }
.core-shortcut-links a:hover { background:#fff0e6; border-color:#dfb19a; }
.core-shortcut-links .site-icon { color:#a3482c; }
.core-shortcut-links a strong { color:#30474b; }
.core-shortcut-links a small { color:#54666a; }
.hero--brand { background:#eef4ef; min-height:620px; }
.hero--brand .hero-image { opacity:.75; }
.hero--brand .hero-shade { background:linear-gradient(95deg,#f6faf4f2 0%,#f5f9f0d9 40%,#e7ede33b 100%); }
.hero--brand .hero-inner { padding-block:48px 78px; }
.hero--brand .hero-english { color:#243338; }
.brand-poster { background:#f9fcf4e8; border-color:#c7d8ca; border-radius:12px; box-shadow:0 18px 50px #18392b16; padding:20px; }
.brand-poster figcaption { color:#526268; font-size:12px; }
.craft-slide { background:radial-gradient(ellipse at 80% 8%,#6f7770,transparent 65%),linear-gradient(120deg,#3b4a48,#616b62); }
.craft-feature figure { box-shadow:0 15px 40px #14282429; border-color:#b7c6bb60; padding:10px; }

/* White editorial cards alternate with soft green snow and warm event surfaces. */
.news-section { background:#fff; padding-block:46px 56px; }
.news-heading { border-color:#dbe4df; }
.news-heading>div { border-left:3px solid var(--brand-orange); }
.news-heading h2 { color:#243338; }
.news-grid { gap:22px; }
.news-feature { border-color:#d9e3dd; box-shadow:var(--snow-shadow); }
.news-feature figure { background:#edf3ee; padding:14px; }
/* CMS news photos arrive without intrinsic dimensions. Reserve the frame before
   decoding so history restoration is not shifted by late-loading images. */
.news-feature figure>a { display:block; flex:0 0 auto; width:100%; aspect-ratio:3 / 2; }
.news-feature figure>a>img { display:block; width:100%; height:100%; object-fit:contain; }
.news-feature-copy { background:#fff; padding:24px; }
.news-feature h3 { color:#243338; line-height:1.4; }
.news-program { background:linear-gradient(135deg,#f4f7f2,#edf3ec); border-color:#d3dfd3; border-top:3px solid #c2d2b9; padding:24px; }
.news-program h3 { color:#2e4548; }
.news-program li { border-color:#cddbd0; }
.news-program li>span { color:#96432b; }
.news-program li p,.news-date,.news-feature figcaption { color:#52656a; }
.about-section { background:linear-gradient(160deg,#f5f8f3,#edf3eb); }
.about-content { gap:24px 52px; grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr); }
.about-words h2 { font-size:clamp(30px,3vw,42px); }
.about-copy p { color:#4e6367; }
.about-image { padding:20px; max-width:300px; background:#fbfdf7; border-color:#cddcc9; box-shadow:var(--snow-shadow); }
.about-image img { max-height:420px; }
.about-image figcaption { font-size:12px; text-align:center; color:#52646b; }
.belief-line>span { color:#3f5658; background:#ffffffb8; border-left:2px solid #d99b76; padding:12px 16px; }
.brand-signatures { gap:16px; margin-top:32px; }
.brand-signatures figure,.brand-assets-gallery figure { background:linear-gradient(135deg,#465350,#667267); border-color:#a7b6aa80; padding:24px; box-shadow:0 8px 22px #1a332711; }
.brand-signatures figcaption,.brand-assets-gallery figcaption { color:#fff; font-size:12px; }
.explore-section { background:linear-gradient(180deg,#edf3eb,#f7f9f5); }
.explore-section .eyebrow { color:#96432b; }
.explore-section .section-aside { color:#52656a; }
.camp-link-grid { gap:14px; }
.camp-link-card { border:1px solid #d5e0d6; background:#fff; padding:16px; border-radius:12px; box-shadow:0 6px 18px #263d3010; transition:transform .25s,box-shadow .25s,border-color .25s; }
.camp-link-card:hover { background:#fff; border-color:#cd9b79; box-shadow:0 14px 30px #263d301b; transform:translateY(-4px); }
.camp-card-visual { background:#edf2eb; border-radius:7px; margin:0 0 18px; min-width:0; }
.camp-card-visual img { width:100%; height:125px; object-fit:contain; display:block; background:#edf2eb; border-radius:7px 7px 0 0; }
.camp-card-visual figcaption { font-size:12px; line-height:1.6; color:#52656a; padding:7px 9px 9px; }
.camp-card-riders { display:grid; grid-template-columns:1fr 1fr; gap:5px; }
.camp-card-riders img { border-radius:7px; }
.camp-card-riders figcaption { grid-column:1/-1; padding-top:2px; }
.camp-card-visual .local-lines { position:relative; display:block; height:125px; overflow:hidden; background:radial-gradient(circle at 75% 30%,#f0b789 0 13px,transparent 14px),linear-gradient(160deg,#e6efde,#f9fbf4); }
.local-lines:before,.local-lines:after { content:''; position:absolute; width:155%; height:110px; left:-28%; bottom:-90px; border:1px solid #8ca78b; border-radius:48%; transform:rotate(-22deg); box-shadow:0 -14px 0 -1px #ecf3e8,0 -15px 0 #a6bba0,0 -30px 0 -1px #edf4e9,0 -31px 0 #bdcdb2; }
.local-lines:after { left:10%; bottom:-65px; transform:rotate(24deg); border-color:#9caf93; box-shadow:0 -16px 0 -1px #eef5e9,0 -17px 0 #c5d5bb; }
.camp-link-card>.site-icon { display:none; }
.camp-link-card>span { font-size:14px; color:#495f63; letter-spacing:0; }
.camp-link-card>h3 { color:#263f43; font-size:27px; margin-top:9px; }
.camp-link-card>p { color:#52656a; font-size:15px; margin-block:12px 22px; }
.camp-link-card>small { color:#873c28; margin-top:auto; border-color:#dbe5de; padding-top:13px; }
.craft-section { background:#fdfefb; }
.craft-photo { padding:12px; background:#f2f5ef; border-color:#d1dfcf; box-shadow:var(--snow-shadow); }
.craft-photo figcaption,.brand-roles p { color:#52656a; font-size:12px; }
.brand-roles>div { background:#eff4ec; border-color:#c99c78; border-radius:5px; }
.brand-roles span { color:#344e50; }
.opening-section { background:linear-gradient(150deg,#f5f1e9,#f5f7ed); }
.opening-section .section-heading { border-top:1px solid #dcd9c9; padding-top:24px; }
.opening-section h2 { color:#243338; font-size:clamp(46px,5.4vw,76px); }
.opening-section h2>span { color:#8c502f; }
.opening-date strong { color:#30494c; }
.opening-date span,.event-copy>p,.event-photo figcaption,.lecture-heading>p:last-child { color:#526368; }
.event-photo { padding:12px; background:#fdfdf8; border-color:#d7dfcc; box-shadow:var(--snow-shadow); }
.event-copy h3 { color:#30474b; }
.home-opening-teasers a,.home-opening-teasers a:hover { border-color:#dce0cf; background:#fffffff2; box-shadow:0 5px 16px #3f492c09; }
.home-opening-teasers a:hover { background:#fff7ed; border-color:#d6ad88; }
.home-opening-teasers .eyebrow { color:#93482b; }
.home-opening-teasers small { color:#526368; }
.home-opening-teasers .site-icon { color:#a24a2c; }
.home-visit-summary { background:linear-gradient(180deg,#f5f7ed,#eaf1e7); }
.home-visit-summary p { color:#52656a; }

/* The same system carries into all nine detail pages. */
.detail-page { background:#f9fbf7; }
.detail-topbar { background:#f5f8f2ed; border-color:#d7e1d3; }
.detail-topbar>.wrap { padding-block:8px; }
.detail-topbar nav { color:#4b6265; }
.back-link { min-height:40px; padding:7px 17px; color:#345256; background:#fff; border-color:#cbdace; }
.detail-heading { position:relative; isolation:isolate; background:radial-gradient(ellipse at 96% 5%,#f4d6bd77,transparent 48%),linear-gradient(125deg,#f9fbf5,#eaf1e4); padding-block:42px 40px; border-bottom:1px solid #d8e3d1; }
.detail-heading:after { content:''; position:absolute; right:var(--gutter); bottom:0; width:75px; height:3px; background:var(--brand-orange); transform:skew(-30deg); }
.detail-heading h1 { font-size:clamp(30px,3.6vw,50px); letter-spacing:-.035em; color:#243b40; }
.detail-heading .eyebrow { color:#97472c; }
.detail-heading>p:last-child { color:#4c6368; max-width:750px; }
.detail-section { background:#fffffff0; border-color:#dfe7db; padding-block:42px; }
.detail-section-heading h2,.camp-detail-inner h2 { color:#2d474b; letter-spacing:-.025em; }
.detail-section>p,.camp-detail-list li { color:#4c6368; }
.camp-detail-list li { border-color:#d8e3d3; }
.camp-detail-list li:before { color:#a3492a; }
.detail-photo { background:#f1f5ec; border-color:#d2dfc9; padding:14px; box-shadow:var(--snow-shadow); }
.detail-photo figcaption { color:#52656a; font-size:12px; }
.detail-photo:has(img[src*="brand-20261014-v15-vertical"]) { max-width:340px; width:100%; justify-self:center; padding:20px; }
.detail-photo:has(img[src*="brand-20261014-v15-vertical"]) img { height:auto; max-height:520px; object-fit:contain; }
.detail-notice { background:#f7f0df; border-color:#d3ad70; border-radius:6px; color:#66523e!important; }
.related-directions { gap:14px; }
.related-directions a { color:#375459; background:#f5f8ef; border-color:#d3dfc9; padding:20px; }
.related-directions a:hover { background:#fff3e6; border-color:#d4ab86; }
.related-directions .site-icon { color:#a34c2c; }
.detail-riders article,.detail-day-grid article { background:#f4f8ef; border-color:#d3dfcb; box-shadow:0 6px 22px #34492808; }
.detail-riders h3,.detail-day-grid h3 { color:#2e494b; }
.detail-riders p,.detail-riders div>p:last-child,.detail-day-grid p { color:#52656a; }
.detail-riders img { background:#e9f0e4; border-radius:7px; }
.detail-day-grid span { color:#94452c; }
.lecture-grid article,.detail-page .lecture-grid article { background:#fffdf7; border-color:#dedfcf; border-top:3px solid #dbba94; }
.lecture-grid h4,.detail-page .opening-section .lecture-grid h4 { color:#2c464b; }
.lecture-grid .eyebrow,.lecture-speaker { color:#92452c; }
.lecture-grid article>p:last-child { color:#52656a; }
.visit-section { background:linear-gradient(135deg,#f8faf4,#edf4e7); }
.faq { background:#fffef9; border-color:#d5dfcc; border-radius:12px; }
.site-footer { background:linear-gradient(180deg,#eaf1e7,#e1eadd); border-top:1px solid #d2deca; }
.site-footer .footer-top { padding-block:30px; }
.site-footer .footer-top>p,.site-footer .footer-top>a:last-child,.site-footer .footer-bottom,.site-footer .footer-display,.site-footer .footer-display p { color:#4e6261; }
.site-footer .weather-toggle { color:#3d5556; background:#f4f8ef; border-color:#bdcdb7; font-size:12px; }
.site-footer .wordmark:has(.brand-wordmark-image[src]:not([src=""])) { padding-left:0; }
.snow-atmosphere>svg { stroke:#8da99c; opacity:.07; }

@media(min-width:1500px) { .campaign-layout { padding-block:42px 28px; } }
@media(max-width:1150px) { .camp-link-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } .hero-rider-photo img { height:245px; } .camp-card-visual img,.camp-card-visual .local-lines { height:150px; } }
@media(max-width:850px) { .campaign-layout { gap:22px; } .campaign-english { font-size:68px; } .hero-rider-photo img { height:230px; } .about-content { gap:24px; } .brand-poster { width:30%; padding:16px; } .site-header #main-nav { background:#fbfdf8fa; } .detail-heading { padding-block:32px; } }
@media(max-width:600px) {
  :root { --gutter:22px; }
  .section-space { padding-block:38px; }
  .site-header .brand-wordmark-image { width:165px; }
  .campaign-layout { padding-block:26px 18px; gap:20px; }
  .campaign-english { font-size:clamp(45px,12vw,66px); margin-block:18px 16px; }
  .campaign-copy h2 { font-size:23px; }
  .campaign-date strong { font-size:23px; }
  .hero-rider-photo { padding:8px 8px 0; }
  .hero-rider-photo img { height:180px; }
  .hero-riders figcaption { padding:12px; }
  .hero-riders figcaption>small,.hero-riders figcaption>span { font-size:12px; }
  .hero-riders figcaption>p { font-size:14px; }
  .campaign-talks { padding-top:14px; }
  .carousel-toolbar { padding-block:10px; }
  .core-shortcuts .connections-intro { align-items:start; gap:8px; }
  .core-shortcut-links { gap:7px; }
  .core-shortcut-links a { padding-inline:10px; }
  .hero--brand .hero-inner { padding:32px var(--gutter) 20px; }
  .hero--brand { min-height:0; }
  .hero--brand .hero-shade { background:linear-gradient(180deg,#f6faf4ed,#edf3e7c7); }
  .brand-poster { width:min(65%,215px); padding:16px; margin-bottom:22px; }
  .brand-poster img { height:180px; }
  .hero--brand .hero-bottom { padding-bottom:18px; font-size:12px; }
  .news-section { padding-block:34px 38px; }
  .news-feature-copy,.news-program { padding:22px; }
  .about-content { grid-template-columns:1fr; }
  .about-image { max-width:260px; padding:18px; }
  .about-image img { max-height:350px; }
  .brand-signatures { gap:8px; }
  .brand-signatures figure { padding:15px 8px; }
  .brand-signatures img { height:60px; }
  .brand-signatures figcaption { font-size:12px; }
  .camp-link-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .camp-link-card { padding:12px; }
  .camp-card-visual { margin-bottom:14px; }
  .camp-card-visual img,.camp-card-visual .local-lines { height:112px; }
  .camp-link-card>h3 { font-size:24px; }
  .camp-link-card>span { font-size:14px; line-height:1.65; }
  .camp-link-card>p { font-size:15px; margin-bottom:20px; }
  .camp-link-card:last-child { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; gap:0 18px; }
  .camp-link-card:last-child .camp-card-visual { grid-row:1/6; margin:0; align-self:center; }
  .camp-link-card:last-child .camp-card-visual img { height:170px; }
  .camp-link-card:last-child>.site-icon { display:none; }
  .camp-link-card:last-child>small { align-self:end; }
  .opening-section h2 { font-size:52px; }
  .detail-topbar { position:relative; top:auto; }
  html.detail-document { scroll-padding-top:calc(var(--header-height) + 18px); }
  .detail-topbar>.wrap { gap:12px; padding-block:10px; }
  .detail-topbar nav { font-size:12px; }
  .detail-heading { padding-block:28px; }
  .detail-section { padding-block:32px; }
  .related-directions a { padding:16px; }
}
@media(max-width:360px) { :root { --gutter:18px; } .site-header .brand-wordmark-image { width:150px; } .hero-rider-photo img { height:155px; } .hero-riders figcaption { padding:10px; } .hero-riders figcaption>strong { font-size:23px; } .camp-link-card { padding:11px; } .camp-link-card>h3 { font-size:21px; } .camp-card-visual img,.camp-card-visual .local-lines { height:95px; } .camp-card-visual figcaption { padding:6px; } .camp-link-card:last-child { gap:0 14px; } .core-shortcut-links a small { font-size:12px; } }
@media(prefers-reduced-motion:reduce) { .camp-link-card,.button { transition:none; } .camp-link-card:hover { transform:none; } }
@media print { .campaign-slide:before,.detail-heading:after { display:none; } .site-header,.site-footer,.opening-section,.detail-heading,.detail-section,.about-section { background:#fff; box-shadow:none; } .camp-link-card { box-shadow:none; transform:none; } .detail-topbar { position:static; } }

/* Snow camera entrance stays compact within latest news. */
.nav-snowcams { display:flex; align-items:center; }
.site-header #main-nav .nav-snowcams>a { color:#334b4b; font-weight:550; white-space:nowrap; }
.site-header #main-nav .nav-snowcams>a:hover { color:#96432b; }
.snowcams-home-entry { display:grid; grid-template-columns:64px 1fr auto; gap:24px; align-items:center; margin-top:24px; padding:25px 28px; border:1px solid #d4e1d9; border-radius:10px; background:linear-gradient(110deg,#edf4ef,#f9f8ee); scroll-margin-top:110px; }
.snowcams-entry-mark { width:64px; height:64px; display:grid; place-items:center; border:1px solid #c3d5c9; border-radius:50%; color:#60796b; }
.snowcams-entry-mark .site-icon { width:33px; height:33px; }
.snowcams-home-entry h3 { color:#29454a; font-size:24px; margin:7px 0; letter-spacing:-.025em; }
.snowcams-home-entry p:not(.eyebrow) { color:#52656a; font-size:14px; line-height:1.8; }
.snowcams-home-entry .button { white-space:nowrap; gap:12px; }
@media(max-width:1100px) and (min-width:851px) { .site-header nav { gap:14px; } .site-header .wordmark { max-width:245px; } }
@media(max-width:850px) { .nav-snowcams { display:block; } .nav-snowcams>a { display:block; } .snowcams-home-entry { grid-template-columns:1fr auto; gap:17px; padding:23px; } .snowcams-entry-mark { display:none; } }
@media(max-width:600px) { .snowcams-home-entry { grid-template-columns:1fr; padding:22px; } .snowcams-home-entry h3 { font-size:22px; } .snowcams-home-entry .button { justify-self:start; } }
