:root{--green:#243f35;--ink:#1d3027;--cream:#f5f0e6;--gold:#b99758;--cranberry:#973f43;--sage:#667663}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',system-ui,-apple-system,sans-serif}a{color:inherit}.container{width:min(1160px,calc(100% - 44px));margin:auto}.site-header{background:#243f35;color:white;position:relative;z-index:2}.nav{height:76px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{text-decoration:none;display:flex;align-items:center;gap:11px;font-size:19px;letter-spacing:-.5px}.brand-symbol{display:grid;place-items:center;width:38px;height:38px;border:1px solid #d5b274;border-radius:50%;color:#f0cc8a;font-size:21px}.nav-cta{border:1px solid #d0b78e;text-decoration:none;border-radius:5px;padding:11px 20px;font-weight:800;font-size:14px}.nav-cta:hover{background:#fff;color:var(--green)}.hero{min-height:620px;position:relative;display:flex;align-items:center;background:#243f35 url('/static/occ-cabin.jpg') center 48%/cover no-repeat;color:#fff}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,30,25,.90) 0%,rgba(18,30,25,.79) 37%,rgba(18,30,25,.32) 73%,rgba(18,30,25,.08) 100%)}.hero-content{position:relative;padding:94px 0 95px}.place,.kicker{font-size:12px;letter-spacing:2.4px;font-weight:800;color:#d8aa64}.place{display:flex;align-items:center;gap:13px}.place-line{width:30px;height:1px;background:#dfad68}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Playfair Display',Georgia,serif}h1{font-size:clamp(43px,5.4vw,74px);line-height:1.13;letter-spacing:-1.6px;font-weight:600;max-width:830px;margin:30px 0 17px}h1 em{color:#e6c887;font-weight:500}.tagline{font-family:Georgia,serif;font-style:italic;font-size:23px;margin-bottom:23px}.hero-description{max-width:530px;font-size:17px;line-height:1.75;color:#fff; margin-bottom:29px}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;padding:17px 24px;border-radius:5px;text-decoration:none;font-size:15px;font-weight:800;min-height:54px;transition:transform .2s}.button:hover{transform:translateY(-2px)}.button-light{background:var(--cranberry);color:#fff;border:1px solid #e6c887}.button-light:hover{background:#7e3237}.button-dark{background:var(--cranberry);color:#fff}.button-dark:hover{background:#7e3237}.hero-note{font-size:12px;color:#f4eee5;margin-top:20px}.how{padding-top:78px;padding-bottom:80px}.section-top{text-align:center}.section-top h2{font-size:clamp(30px,3.3vw,43px);font-weight:600;margin:11px auto 45px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.step{background:white;border:1px solid #e2e0d8;border-radius:9px;padding:30px}.step-number{font-family:Georgia,serif;font-size:33px;color:#ad8653}.step h3{font-family:Georgia,serif;font-weight:600;font-size:25px;margin:17px 0 12px}.step p{line-height:1.65;font-size:15px;margin:0;color:#33433d}.location{background:#e8e9df}.location-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:65px;padding-top:72px;padding-bottom:72px}.location-image img{width:100%;height:350px;object-fit:cover;display:block;border-radius:7px}.location-copy h2{font-size:clamp(31px,3.3vw,45px);line-height:1.18;margin:15px 0 20px}.location-copy p{line-height:1.75;max-width:440px}.text-link{color:#173a2d;font-weight:800;text-underline-offset:5px}.closing{text-align:center;padding:85px 0 98px}.closing h2{font-size:clamp(31px,4vw,51px);margin:13px 0}.closing p{margin-bottom:25px}footer{background:#243f35;color:#fff}.footer-inner{display:flex;justify-content:space-between;gap:15px;align-items:center;min-height:88px;font-size:13px}footer .footer-inner>div{display:flex;gap:22px;flex-wrap:wrap}footer a{color:#fff}a:focus-visible{outline:3px solid #f4b75c;outline-offset:3px}@media(max-width:720px){.container{width:min(100% - 32px,1160px)}.nav{height:66px}.brand{font-size:16px}.nav-cta{padding:9px 13px}.hero{min-height:630px;background-position:55% center}.hero-shade{background:linear-gradient(90deg,rgba(9,22,20,.9),rgba(9,22,20,.56)),linear-gradient(0deg,rgba(9,22,20,.6),transparent)}.hero-content{padding:60px 0 67px}.hero-description{font-size:16px}.tagline{font-size:20px}.steps{grid-template-columns:1fr;gap:12px}.how{padding-top:55px;padding-bottom:55px}.step{padding:23px}.location-grid{grid-template-columns:1fr;gap:23px;padding-top:48px;padding-bottom:52px}.location-image img{height:270px}.closing{padding:65px 0 75px}.footer-inner{flex-direction:column;align-items:flex-start;padding:25px 0}.place{font-size:10px;letter-spacing:1.5px}}@media(prefers-reduced-motion:reduce){.button{transition:none}}

/* Keep historic Bancroft Park cabin visible behind the text. */
.hero{background-position:center 55%}

/* v11: warmer Christmas palette and a photographic Santa feature. */
.hero h1{max-width:740px}.step-number{color:var(--cranberry)}.santa-feature{background:#fffaf4}.santa-feature-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:65px;align-items:center;padding-top:75px;padding-bottom:75px}.santa-feature-copy h2{font-size:clamp(31px,3.4vw,47px);line-height:1.17;margin:16px 0 20px}.santa-feature-copy p{max-width:460px;line-height:1.8}.santa-feature-image img{display:block;width:100%;height:395px;object-fit:cover;border-radius:8px}.step{border-color:#ddd7c9}.closing{background:transparent}@media(max-width:720px){.santa-feature-grid{grid-template-columns:1fr;gap:23px;padding-top:52px;padding-bottom:52px}.santa-feature-image img{height:290px}.hero{background-position:49% center}}

/* Official North Pole Check-In identity. */
.brand-logo{display:block;width:clamp(175px,22vw,270px);height:auto;max-height:56px;object-fit:contain}.brand{min-width:0}.hero-logo{display:block;width:min(100%,540px);height:auto;margin-top:22px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.22))}.hero-logo+h1{margin-top:22px}@media(max-width:720px){.brand-logo{width:clamp(160px,53vw,230px)}.hero-logo{width:min(100%,430px);margin-top:18px}}

/* v13: Let the Bancroft Park cabin lead; keep one logo in navigation. */
@media (min-width: 721px) {
  .hero-content { display:flex; flex-direction:column; align-items:flex-start; width:min(1160px,calc(100% - 44px)); padding-left:min(49%,570px); }
  .hero-shade { background:linear-gradient(90deg, rgba(18,30,25,.06) 0%, rgba(18,30,25,.18) 36%, rgba(18,30,25,.78) 61%, rgba(18,30,25,.93) 100%); }
  .hero { background-position:center 55%; }
  .hero h1 { font-size:clamp(43px,4.4vw,70px); margin-top:26px; }
  .hero-description { max-width:510px; }
}
@media (max-width:720px) {
  .hero-shade { background:linear-gradient(0deg, rgba(9,22,20,.94) 0%, rgba(9,22,20,.78) 55%, rgba(9,22,20,.28) 100%); }
  .hero { background-position:45% center; align-items:flex-end; }
  .hero-content { padding-top:170px; }
}

/* v14: local Old Colorado City partner identity in the hero. */
.occ-partner{display:inline-flex;align-items:center;gap:12px;background:#f5f0e6;color:#243f35;border:1px solid rgba(185,151,88,.65);border-radius:8px;padding:7px 12px 7px 14px;box-shadow:0 3px 14px rgba(0,0,0,.15)}
.occ-partner-label{font-weight:750;font-size:11px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.occ-partner img{display:block;width:92px;height:63px;object-fit:contain}
.hero .place{margin-top:18px}
@media(max-width:720px){.occ-partner img{width:78px;height:52px}.occ-partner{padding:5px 10px;gap:8px}.occ-partner-label{font-size:10px}}

/* v16: Gold wordmark prominence and quieter partner placement. */
@media (min-width: 721px) {
  .brand-logo { width:clamp(315px,29vw,375px); max-height:64px; }
  .hero-content { transform:translateX(clamp(0px,calc((100vw - 1050px) * .10),70px)); }
}
.hero .occ-partner { margin-top:17px; }
.hero .place { margin-top:0; }
.occ-partner { padding:5px 12px; gap:10px; }
.occ-partner img { width:78px; height:54px; }
.occ-partner-label { font-size:10px; }
@media(max-width:720px) {
  .hero .occ-partner { margin-top:12px; }
  .occ-partner img { width:70px; height:48px; }
}
