@font-face{font-family:CSBold;src:url('assets/century-gothic-bold.ttf')} :root{--green:#65ad3c;--gold:#f9bd25;--ink:#211e1f;--cream:#f4f2ee}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:"Century Gothic",Arial,sans-serif;font-size:17px;line-height:1.55}img{display:block;max-width:100%}a{color:inherit}h1,h2,h3,.eyebrow,.button,strong{font-family:CSBold,"Century Gothic",Arial,sans-serif}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(3.6rem,6.2vw,7.2rem);line-height:.88;letter-spacing:-.06em}h2{font-size:clamp(2.7rem,4.6vw,5.4rem);line-height:.95;letter-spacing:-.05em}h3{font-size:1.55rem;line-height:1.12}.eyebrow{margin-bottom:16px;color:var(--green);font-size:.9rem;letter-spacing:.16em;text-transform:uppercase}.section{padding:110px max(7vw,32px)}
.hike-site-header{display:flex;min-height:104px;align-items:center;justify-content:space-between;padding:18px max(4vw,32px);border-bottom:1px solid #ddd;background:#fff}.hike-site-header img{width:215px}.hike-main-site{color:#667078;font-family:CSBold;text-decoration:none;text-transform:uppercase;font-size:.75rem;letter-spacing:.05em}
.hero{display:grid;grid-template-columns:52% 48%;min-height:calc(100vh - 104px);background:linear-gradient(125deg,#fff,#edf4f8)}.hero-image{min-height:650px}.hero-image img{width:100%;height:100%;object-fit:cover}.hero-copy{align-self:center;padding:68px 6vw}.hike-logo{width:min(420px,80%);margin-bottom:32px}.hero h1 span{display:block;color:var(--green)}.lead{max-width:720px;color:#555e63;font-size:1.15rem}
.button-row{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.button{display:inline-flex;min-height:54px;align-items:center;justify-content:center;padding:0 27px;border:0;border-radius:2px;text-decoration:none;text-transform:uppercase;letter-spacing:.04em}.button-primary{color:#fff;background:var(--green)}.button-gold{color:var(--ink);background:var(--gold)}.button-outline{color:#fff;border:2px solid #fff}.text-link{font-family:CSBold;text-underline-offset:5px}
.action-bar{display:grid;grid-template-columns:repeat(3,1fr);position:sticky;z-index:20;top:0;box-shadow:0 3px 18px #0004}.action-bar a{display:flex;min-height:78px;align-items:center;justify-content:center;gap:15px;color:#fff;background:var(--green);text-decoration:none;text-transform:uppercase;letter-spacing:.08em}.action-bar a:nth-child(2){background:var(--ink)}.action-bar a:nth-child(3){color:var(--ink);background:var(--gold)}.action-bar span{opacity:.65;font-size:.75rem}
.intro{display:grid;grid-template-columns:1fr .8fr;gap:10vw}.intro p{font-size:1.1rem;color:#555}.benefits{background:var(--cream)}.benefits>h2{max-width:900px}.benefit-grid,.registration-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:50px}.benefit-grid article,.registration-grid article{padding:42px;background:#fff;border-top:7px solid var(--green)}.benefit-grid article:nth-child(2),.registration-grid article:nth-child(2){border-color:var(--ink)}.benefit-grid article:nth-child(3),.registration-grid article:nth-child(3){border-color:var(--gold)}.benefit-grid span{color:#999;font-size:.8rem;letter-spacing:.12em}.benefit-grid h3{margin-top:48px}.benefit-grid p,.registration-grid p{color:#596064}
.every-mile{display:grid;grid-template-columns:.76fr 1.24fr;min-height:670px;color:#fff;background:var(--ink)}.every-mile>div{display:flex;flex-direction:column;justify-content:center;padding:80px 6vw}.every-mile h2{color:var(--gold);font-size:clamp(4rem,7vw,8rem);text-transform:uppercase}.every-mile p:not(.eyebrow){color:#dedad8}.every-mile .button{align-self:flex-start;margin-top:15px}.every-mile img{width:100%;height:100%;object-fit:cover}
.section-heading{display:grid;grid-template-columns:1fr .65fr;gap:8vw;align-items:end;margin-bottom:52px}.section-heading>p{font-size:1.15rem;color:#596064}.registration-grid article{background:var(--cream)}.people-icon{display:block;min-height:50px;color:var(--green);font-size:1.6rem;letter-spacing:.2em}.registration-grid article:nth-child(2) .people-icon{color:var(--ink)}.registration-grid article:nth-child(3) .people-icon{color:var(--gold)}.registration-grid a{font-family:CSBold}
.research{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;align-items:center;max-width:1500px;margin:0 auto}.research-photo{position:relative;min-height:520px;margin:0;overflow:hidden;background:var(--cream)}.research-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.research-photo figcaption{position:absolute;right:0;bottom:0;left:0;padding:18px 22px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.82));font-size:.76rem}.research-copy{max-width:730px}.research-copy>p:not(.eyebrow){margin:18px 0 26px;color:#555c5d;font-size:1.08rem}.dark{color:var(--ink)}
.email-signup{display:grid;grid-template-columns:.9fr 1.1fr;gap:6vw;align-items:center;padding:55px max(7vw,32px);background:var(--gold)}.email-signup h2{font-size:clamp(2rem,3.2vw,3.8rem)}.email-signup form{display:grid;grid-template-columns:repeat(3,1fr) auto;gap:12px;align-items:end}.email-signup label{display:grid;gap:7px;font-family:CSBold;font-size:.75rem;text-transform:uppercase}.email-signup input{height:54px;padding:0 14px;border:2px solid transparent}.email-signup button{color:#fff;background:var(--ink);cursor:pointer}.email-signup small{grid-column:1/-1}.honeypot{position:absolute;left:-9999px}
.gallery{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover}.faq{display:grid;grid-template-columns:.75fr 1.25fr;gap:9vw;background:var(--cream)}details{border-top:1px solid #c8c5c0}summary{display:flex;justify-content:space-between;padding:25px 0;cursor:pointer;list-style:none;font-family:CSBold}details p{max-width:800px;color:#596064}
.final-cta{padding:120px max(7vw,32px);color:#fff;background:linear-gradient(90deg,rgba(0,0,0,.84) 0%,rgba(0,0,0,.68) 48%,rgba(0,0,0,.28) 100%),url('assets/california-redwoods-final-cta.png') center/cover}.final-cta h2{font-size:clamp(4rem,8vw,9rem);text-transform:uppercase}.final-cta h2 span{color:var(--gold)}.final-cta>p:not(.eyebrow){max-width:650px;color:#ddd}
footer{display:grid;grid-template-columns:auto 1fr auto;gap:40px;align-items:center;padding:52px max(7vw,32px);color:#fff;background:var(--ink)}footer img{width:260px}footer p{margin:0}footer p strong,footer p span{display:block}footer p strong{font-size:2.2rem}footer em{color:var(--green);font-style:normal}footer>div{display:flex;gap:20px;flex-wrap:wrap}footer small{grid-column:1/-1;padding-top:22px;border-top:1px solid #ffffff40;text-align:right}.button:hover,.action-bar a:hover{filter:brightness(.92)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
@media(max-width:900px){.hero,.intro,.every-mile,.research,.email-signup,.gallery,.faq{grid-template-columns:1fr}.hero{min-height:auto}.hero-image{min-height:68vh}.hero-copy{padding:55px 7vw}.action-bar a{font-size:.75rem}.benefit-grid,.registration-grid{grid-template-columns:1fr}.section-heading{grid-template-columns:1fr}.every-mile img{grid-row:1}.research-photo{min-height:460px}.email-signup form{grid-template-columns:1fr 1fr}.email-signup button{grid-column:1/-1}.gallery{gap:35px}footer{grid-template-columns:1fr}footer small{text-align:left}}
@media(max-width:600px){body{font-size:16px}.hike-site-header{min-height:130px;flex-wrap:wrap}.hike-site-header img{width:190px}.hike-main-site{width:100%;padding:12px;text-align:center;border:1px solid #ddd}.hero-image{min-height:58vh}.hike-logo{width:95%}.hero h1{font-size:3.8rem}.section{padding:78px 26px}.action-bar a{min-height:62px;gap:6px}.action-bar span{display:none}.email-signup{padding:48px 26px}.email-signup form{grid-template-columns:1fr}.email-signup button{grid-column:auto}.final-cta{padding:85px 26px}.final-cta h2{font-size:3.6rem}footer{padding:45px 26px}}

/* Review refinements: consistent content rhythm and height-aware hero */
@media(min-width:901px){
  .hero{height:calc(100svh - 104px);min-height:610px;max-height:900px;overflow:hidden}
  .hero-image{min-height:0}
  .hero-copy{padding-top:28px;padding-bottom:28px}
  .hike-logo{width:min(350px,68%);margin-bottom:20px}
  .hero-copy .eyebrow{margin-bottom:9px}
  .hero-copy h1{margin-bottom:16px}
  .hero-copy .lead{margin:15px 0 22px}
}
@media(min-width:901px) and (max-height:780px){
  .hike-site-header{min-height:84px;padding-top:12px;padding-bottom:12px}
  .hike-site-header img{width:190px}
  .hero{height:calc(100svh - 84px);min-height:540px}
  .hero-copy{padding-top:20px;padding-bottom:20px}
  .hike-logo{width:min(290px,58%);margin-bottom:14px}
  .hero-copy .eyebrow{font-size:.72rem;margin-bottom:7px}
  .hero-copy h1{font-size:clamp(3.15rem,5.3vw,5.8rem);margin-bottom:10px}
  .hero-copy .lead{font-size:.96rem;line-height:1.42;margin:10px 0 16px}
  .hero-copy .button{min-height:46px}
}
.people-icon{display:block;width:88px;height:64px;min-height:0;margin-bottom:14px;color:var(--green);font-size:initial;letter-spacing:0}
.person-svg{width:100%;height:100%;overflow:visible;fill:none;stroke:currentColor;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round}
.person-svg circle{fill:currentColor;stroke:none}
.person-svg .accent{stroke:var(--gold);stroke-width:4}
.registration-grid article:nth-child(2) .people-icon{color:var(--ink)}
.registration-grid article:nth-child(3) .people-icon{color:var(--gold)}
.registration-grid article:nth-child(3) .person-svg .accent{stroke:var(--ink)}
.research h2,.gallery h2,.email-signup h2,.final-cta h2{margin-bottom:0}
.gallery div>p:not(.eyebrow){margin:18px 0 30px}
.final-cta>p:not(.eyebrow){margin:22px 0 32px}
.email-signup{color:#fff;background:var(--green)}
.email-signup .eyebrow{color:#fff}
.email-signup>div>p:last-child{margin:15px 0 0}
.email-signup label{color:#fff}
.email-signup input{width:100%;height:54px;padding:0 14px;color:var(--ink);background:#fff;border:2px solid #fff;border-radius:2px;font:inherit}
.email-signup input:focus{border-color:var(--gold);outline:0}
.intro p+p{margin-top:20px}
.registration-grid article>p{margin-bottom:20px}
.registration-grid article>a{display:inline-block}
.person-svg circle{fill:currentColor;stroke:none}
.person-svg .hiker path,.person-svg .small-group path{stroke:currentColor}
.person-svg .pack{fill:currentColor;stroke:currentColor}
.person-svg .accent{fill:none;stroke:var(--gold);stroke-width:4}
.registration-grid article:nth-child(3) .person-svg .accent{stroke:var(--ink)}
@media(min-width:901px){
  .email-signup form{grid-template-columns:repeat(2,minmax(0,1fr)) auto}
  .email-signup form label:nth-of-type(1){grid-column:1}
  .email-signup form label:nth-of-type(2){grid-column:2}
  .email-signup form label:nth-of-type(3){grid-column:1/3;grid-row:2}
  .email-signup form button{grid-column:3;grid-row:2}
  .email-signup form small{grid-column:1/3;grid-row:3}
}
.hike-icon-crop{position:relative;display:block;width:132px;height:92px;overflow:hidden}
.hike-icon-crop img{position:absolute;top:-27px;width:350px;max-width:none;height:auto}
.hike-icon-crop.single img{left:-3px}
.hike-icon-crop.join img{left:-112px}
.hike-icon-crop.create img{left:-224px}
.email-signup label>span{display:inline;line-height:1.2}
.email-signup label b{display:inline;color:var(--gold)}
.people-icon{width:auto;height:94px;overflow:hidden}
.hike-icon{width:auto;height:92px;max-width:150px;object-fit:contain;object-position:left center}
.hike-icon.create{max-width:165px}

/* WordPress theme isolation: keep Astra and page-builder rules out of this campaign. */
@font-face{font-family:"Hike Century Gothic";src:url("../fonts/century_gothic-webfont.woff2") format("woff2"),url("../fonts/century_gothic-webfont.woff") format("woff");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Hike Century Gothic";src:url("../fonts/century_gothic_bold-webfont.woff2") format("woff2"),url("../fonts/century_gothic_bold-webfont.woff") format("woff");font-style:normal;font-weight:700;font-display:swap}
body.ultimate-hike-california-redwoods-2027-page{margin:0;padding:0;background:#fff}
body.ultimate-hike-california-redwoods-2027-page #page,body.ultimate-hike-california-redwoods-2027-page .site-content{max-width:none;margin:0;padding:0}
body.ultimate-hike-california-redwoods-2027-page .hike-page{width:100%;max-width:none;margin:0;overflow:clip;color:var(--ink);font-family:"Hike Century Gothic",Arial,sans-serif;font-size:17px;font-weight:400;line-height:1.55}
body.ultimate-hike-california-redwoods-2027-page .hike-page *,body.ultimate-hike-california-redwoods-2027-page .hike-page *::before,body.ultimate-hike-california-redwoods-2027-page .hike-page *::after{box-sizing:border-box}
body.ultimate-hike-california-redwoods-2027-page .hike-page :is(h1,h2,h3,.eyebrow,.button,strong,.text-link,.hike-main-site,.action-bar a,.registration-grid a){font-family:"Hike Century Gothic",Arial,sans-serif;font-weight:700}
body.ultimate-hike-california-redwoods-2027-page .hike-page :is(h1,h2,h3){color:var(--ink)}
body.ultimate-hike-california-redwoods-2027-page .hike-page :is(.every-mile,.final-cta) h2{color:#fff}
body.ultimate-hike-california-redwoods-2027-page .hike-page .every-mile h2,body.ultimate-hike-california-redwoods-2027-page .hike-page .final-cta h2 span{color:var(--gold)}
body.ultimate-hike-california-redwoods-2027-page .hike-page a{color:inherit}
body.ultimate-hike-california-redwoods-2027-page .hike-page .button-primary{color:#fff}
body.ultimate-hike-california-redwoods-2027-page .hike-page .button-gold{color:var(--ink)}
body.ultimate-hike-california-redwoods-2027-page .hike-page .button-outline{color:#fff}
body.ultimate-hike-california-redwoods-2027-page .hike-page .email-signup{color:#fff}
body.ultimate-hike-california-redwoods-2027-page .hike-page .email-signup :is(h2,label,small){color:#fff}
body.ultimate-hike-california-redwoods-2027-page .hike-page .email-signup input{color:var(--ink);background:#fff}
body.ultimate-hike-california-redwoods-2027-page .hike-page footer a{color:#fff}
body.ultimate-hike-california-redwoods-2027-page .hike-page .action-bar a:nth-child(1),body.ultimate-hike-california-redwoods-2027-page .hike-page .action-bar a:nth-child(2){color:#fff!important}
body.ultimate-hike-california-redwoods-2027-page .hike-page .action-bar a:nth-child(3){color:var(--ink)!important}

/* Astra adds clearfix pseudo-elements to its generic header class. Keep this
   standalone campaign header edge-to-edge and independent of theme layout. */
body.ultimate-hike-california-redwoods-2027-page .hike-page .hike-site-header{display:flex!important;width:100%!important;max-width:none!important;margin:0!important;align-items:center!important;justify-content:space-between!important}
body.ultimate-hike-california-redwoods-2027-page .hike-page .hike-site-header::before,body.ultimate-hike-california-redwoods-2027-page .hike-page .hike-site-header::after{display:none!important;content:none!important}
body.ultimate-hike-california-redwoods-2027-page .hike-page .hike-site-header>a:first-child{flex:0 0 auto!important;margin:0!important}
body.ultimate-hike-california-redwoods-2027-page .hike-page .hike-main-site{flex:0 0 auto!important;margin:0 0 0 auto!important}

/* wp_body_open can add a theme skip link before this standalone page. */
body.ultimate-hike-california-redwoods-2027-page .skip-link{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}

/* Compact, collision-free mobile header and hero. */
@media(max-width:900px){
  body.ultimate-hike-california-redwoods-2027-page .hike-page .hero-image{height:clamp(280px,50svh,420px);min-height:0}
  body.ultimate-hike-california-redwoods-2027-page .hike-page .hero-copy{padding:42px 7vw 48px}
  body.ultimate-hike-california-redwoods-2027-page .hike-page .hero-copy h1{font-size:clamp(3rem,11vw,5.2rem);line-height:.92;letter-spacing:-.045em;margin-bottom:18px}
  body.ultimate-hike-california-redwoods-2027-page .hike-page .hero-copy .lead{margin:16px 0 24px}
}
@media(max-width:600px){
  body.ultimate-hike-california-redwoods-2027-page .hike-page .hike-site-header{min-height:0!important;flex-direction:column!important;flex-wrap:nowrap!important;justify-content:center!important;gap:18px;padding:24px 22px!important}
  body.ultimate-hike-california-redwoods-2027-page .hike-page .hike-site-header>a:first-child{display:flex!important;width:100%!important;justify-content:center!important;margin:0!important}
  body.ultimate-hike-california-redwoods-2027-page .hike-page .hike-site-header img{width:190px}
  body.ultimate-hike-california-redwoods-2027-page .hike-page .hike-main-site{width:100%!important;margin:0!important}
  body.ultimate-hike-california-redwoods-2027-page .hike-page .hero-image{height:clamp(270px,44svh,360px)}
  body.ultimate-hike-california-redwoods-2027-page .hike-page .hero-copy{padding:34px 26px 42px}
  body.ultimate-hike-california-redwoods-2027-page .hike-page .hike-logo{width:min(310px,88%);margin-bottom:20px}
  body.ultimate-hike-california-redwoods-2027-page .hike-page .hero-copy h1{font-size:clamp(2.75rem,12vw,3.65rem);line-height:.94;letter-spacing:-.04em;margin-bottom:16px}
}

/* California Coastal Redwoods location assets. */
.california-hero .hero-image img{object-position:center center}
.california-mile img{object-position:center center}
.california-gallery img{object-fit:contain;background:#e6ecdf}
.california-final{background:linear-gradient(90deg,rgba(0,0,0,.86) 0%,rgba(0,0,0,.72) 52%,rgba(0,0,0,.32) 100%),url('assets/california-redwoods-final-cta.png') center/cover}

/* ---- Header Donate Today button (added Aug 31 2026) ---- */
.hike-header-actions{display:flex;align-items:center;gap:22px}
.hike-donate{display:inline-flex;min-height:46px;align-items:center;justify-content:center;padding:0 24px;color:var(--ink);background:var(--gold);border-radius:2px;font-family:CSBold,"Century Gothic",Arial,sans-serif;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;white-space:nowrap}
.hike-donate:hover{filter:brightness(.92)}
@media(max-width:600px){
  .hike-site-header{min-height:0;padding:14px 20px}
  .hike-header-actions{width:100%;gap:10px}
  .hike-donate{flex:1;min-height:44px;padding:0 12px;font-size:.72rem}
  .hike-main-site{flex:1;width:auto;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 12px;margin:0;text-align:center;border:1px solid #ddd;border-radius:2px}
}

/* ---- Action bar reduced to two buttons: Register (green) + Donate (gold) ---- */
.action-bar{grid-template-columns:repeat(2,1fr)}
.action-bar a:nth-child(2){color:var(--ink);background:var(--gold)}

/* ---- Hero: team text link under the Register button (added Aug 31 2026) ---- */
.hero-team-link{margin:20px 0 0}
.hero-team-link a{color:#3f7a22;font-family:CSBold,"Century Gothic",Arial,sans-serif;font-size:1rem;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
.hero-team-link a:hover,.hero-team-link a:focus-visible{color:var(--ink);text-decoration-color:var(--gold)}
@media(min-width:901px) and (max-height:780px){.hero-team-link{margin-top:14px}.hero-team-link a{font-size:.92rem}}

/* ---- Benefit cards: numbers removed, so close the gap they left ---- */
.benefit-grid h3{margin-top:0}
.benefit-grid article{padding-top:36px}

/* ---- Tighten the space below the registration cards ---- */
.registration{padding-bottom:50px}
@media(max-width:600px){.registration{padding-bottom:40px}}

/* ---- FAQ closing line: outside the accordion, a step larger ---- */
.faq-footnote{margin:0;padding:28px 0 0;border-top:1px solid #c8c5c0;color:var(--ink);font-size:1.22rem;line-height:1.45}
.faq details p a,.faq-footnote a{color:#3f7a22;font-family:CSBold,"Century Gothic",Arial,sans-serif;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px;overflow-wrap:anywhere}
.faq details p a:hover,.faq details p a:focus-visible,.faq-footnote a:hover,.faq-footnote a:focus-visible{color:var(--ink);text-decoration-color:var(--gold)}
@media(max-width:600px){.faq-footnote{padding-top:24px;font-size:1.08rem}}

/* ---- Hero: Learn More secondary button + pulsing signup CTA (added Aug 31 2026) ---- */
.button-ink{color:#fff;background:var(--ink)}
#stay-connected{scroll-margin-top:20px}
.email-signup .button{animation:cs-signup-pulse 2.6s ease-out infinite}
.email-signup .button:hover,.email-signup .button:focus-visible{animation-play-state:paused}
@keyframes cs-signup-pulse{
  0%{transform:scale(1);box-shadow:0 0 0 0 rgba(249,189,37,.65)}
  55%{transform:scale(1.045);box-shadow:0 0 0 15px rgba(249,189,37,0)}
  100%{transform:scale(1);box-shadow:0 0 0 0 rgba(249,189,37,0)}
}
@media(prefers-reduced-motion:reduce){.email-signup .button{animation:none}}

/* ---- Link colours that must beat the page's own `.hike-page a{color:inherit}` rule ----
   That rule is specificity (0,2,2) and outranks a bare single-class colour, which is why
   the Learn More button rendered black-on-black. Same reason the existing action-bar rules
   above use !important. Scoped to .hike-page so nothing outside these pages is affected. */
.hike-page a.button.button-ink{color:#fff!important;background:var(--ink)}
.hike-page .hero-team-link a{color:#3f7a22!important}
.hike-page .faq-footnote a,.hike-page .faq details p a{color:#3f7a22!important}
.hike-page .hero-team-link a:hover,.hike-page .hero-team-link a:focus-visible,
.hike-page .faq-footnote a:hover,.hike-page .faq-footnote a:focus-visible,
.hike-page .faq details p a:hover,.hike-page .faq details p a:focus-visible{color:var(--ink)!important;text-decoration-color:var(--gold)}
/* Astra paints its own green behind any .button we do not give a background to. */
.hike-page .final-cta a.button.button-outline{color:#fff!important;background:transparent!important;border:2px solid #fff}
.hike-page a.button.button-primary{color:#fff!important}
.hike-page a.button.button-gold,.hike-page a.hike-donate{color:var(--ink)!important}


/* ---- 2026-09-02: California hero — headline scale and bottom clearance ----
   The approved headline is seven words, not two, so the base h1 scale
   (clamp(3.6rem,6.2vw,7.2rem)) ran to three oversized lines and pushed the
   team link hard against the green Stay Connected band below.
   Two fixes, both scoped to .california-hero so the Texas page is untouched:
   1. a smaller type scale for this hero only;
   2. the hero sizes from min-height instead of a fixed height, so tall copy
      grows the section instead of being clipped at the bottom edge. */
@media(min-width:901px){
  .hike-page .california-hero{height:auto;min-height:calc(100svh - 104px);max-height:none;overflow:visible}
  .hike-page .california-hero .hero-copy{padding-top:52px;padding-bottom:56px}
  .hike-page .california-hero .hero-copy h1{font-size:clamp(2.5rem,3.05vw,3.55rem);line-height:.98;letter-spacing:-.04em;margin-bottom:18px}
  .hike-page .california-hero .hero-copy .lead{max-width:34em;font-size:1.06rem}
  .hike-page .california-hero .hero-team-link{margin-top:22px}
  /* The new hero photo is nearly square (1200x1291). With an indefinite grid row
     its `height:100%` fell back to intrinsic height, so at wide viewports the
     PHOTO — not the copy — was setting the hero's height and pushing the whole
     hero past the fold. Taking the image out of the flow lets the copy and the
     min-height decide, and the photo simply covers whatever box results. */
  .hike-page .california-hero .hero-image{position:relative;overflow:hidden}
  .hike-page .california-hero .hero-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
}
/* Favour the group and treeline over the foreground pavement. */
.hike-page .california-hero .hero-image img{object-position:center 34%}
@media(min-width:901px) and (max-height:780px){
  .hike-page .california-hero{min-height:calc(100svh - 84px)}
  .hike-page .california-hero .hero-copy{padding-top:40px;padding-bottom:44px}
  .hike-page .california-hero .hero-copy h1{font-size:clamp(2.3rem,3.3vw,3.7rem);margin-bottom:14px}
}
@media(max-width:900px){
  body.ultimate-hike-california-redwoods-2027-page .hike-page .california-hero .hero-copy h1{font-size:clamp(2.4rem,8vw,3.7rem);line-height:.98;letter-spacing:-.04em}
  body.ultimate-hike-california-redwoods-2027-page .hike-page .california-hero .hero-copy{padding-bottom:52px}
}

/* ---- 2026-09-02b: California hero — the narrow-desktop squeeze ----
   Between 901px and ~1320px the 52/48 split leaves the copy column only ~360px
   of usable text width. The headline wrapped to four lines, the 350px logo ate
   another ~110px, and the whole column grew taller than the window, so the fold
   landed inside the hero and pushed the team link and the green band out of view.
   Give the copy column more of the row, shrink the logo, and let the headline
   scale down properly instead of bottoming out at its clamp minimum. */
@media(min-width:901px) and (max-width:1320px){
  .hike-page .california-hero{grid-template-columns:44% 56%}
  .hike-page .california-hero .hero-copy{padding:40px 4vw}
  .hike-page .california-hero .hike-logo{width:min(240px,60%);margin-bottom:14px}
  .hike-page .california-hero .hero-copy .eyebrow{font-size:.72rem;margin-bottom:8px}
  .hike-page .california-hero .hero-copy h1{font-size:clamp(1.95rem,2.85vw,2.85rem);line-height:1;margin-bottom:14px}
  .hike-page .california-hero .hero-copy .lead{font-size:.98rem;line-height:1.45;margin:12px 0 20px;max-width:42em}
  .hike-page .california-hero .hero-team-link{margin-top:16px}
  .hike-page .california-hero .hero-team-link a{font-size:.92rem}
}
/* Short windows at any desktop width: trim the fixed-height furniture first. */
@media(min-width:901px) and (max-height:820px){
  .hike-page .california-hero .hike-logo{width:min(230px,55%);margin-bottom:12px}
  .hike-page .california-hero .hero-copy{padding-top:30px;padding-bottom:34px}
  .hike-page .california-hero .hero-copy .lead{margin:10px 0 18px}
  .hike-page .california-hero .hero-copy .button{min-height:46px}
}

/* ---- 2026-09-03: training cities line + What to Expect block ----
   Both ported from the Texas page so the two hikes stay visually identical.
   California's training cities are its own (Los Angeles, Bay Area, Virtual). */
.benefit-grid .training-cities{margin:18px 0 0;padding-top:15px;border-top:1px solid #e4e7e2;font-size:.95rem;line-height:1.45;color:#555e63}
.benefit-grid .training-cities b{display:block;margin-bottom:5px;color:var(--ink);font-family:CSBold,"Century Gothic",Arial,sans-serif;font-size:.76rem;letter-spacing:.13em;text-transform:uppercase}
.gallery .expect{grid-column:1/-1;margin-top:20px;padding-top:48px;border-top:4px solid var(--gold)}
.gallery .expect h3{margin-bottom:14px;font-size:clamp(1.9rem,2.6vw,2.4rem)}
.expect-lead{max-width:840px;margin-bottom:36px;color:#555e63;font-size:1.08rem}
.expect-list{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 36px;margin:0;padding:0;list-style:none}
.expect-list li{position:relative;padding-left:24px;color:#596064}
.expect-list li::before{content:"";position:absolute;top:.52em;left:0;width:10px;height:10px;border-radius:50%;background:var(--green)}
.expect-list li:nth-child(3n+2)::before{background:var(--ink)}
.expect-list li:nth-child(3n)::before{background:var(--gold)}
.expect-list strong{display:block;margin-bottom:6px;color:var(--ink)}
@media(max-width:900px){.expect-list{grid-template-columns:1fr 1fr;gap:24px 28px}.gallery .expect{margin-top:0;padding-top:40px}}
@media(max-width:600px){.expect-list{grid-template-columns:1fr;gap:20px}.gallery .expect{padding-top:32px}.expect-lead{margin-bottom:28px}}

/* ---- 2026-09-03b: gold rule across the top of the Stay Connected band ----
   Texas has had this since launch via .email-signup::before; California never
   got it, so the two pages did not match. Texas pairs it with a scaleX reveal
   driven by its JS file plus overflow:hidden to clip the animation. California
   is CSS-only, so the bar here is static and overflow is left alone — adding
   overflow:hidden would clip the Sign Me Up button's pulse box-shadow. */
.email-signup{position:relative;isolation:isolate}
.email-signup::before{position:absolute;z-index:2;top:0;right:0;left:0;height:8px;content:"";background:var(--gold)}

/* ---- 2026-09-17: signup band now says what the first email actually contains ----
   Client note: people were reading this as "join a marketing list". It now names
   the sender and lists what arrives immediately. The heading steps down a little
   because the block carries far more copy than the single line it replaced. */
.email-signup h2#hike-email-signup-title{font-size:clamp(1.85rem,2.5vw,2.9rem)}
.email-signup .signup-lead{margin:16px 0 20px;font-size:1.05rem;line-height:1.5}
.email-signup .signup-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.email-signup .signup-list li{position:relative;padding-left:26px;font-size:1rem;line-height:1.45}
.email-signup .signup-list li::before{content:"";position:absolute;top:.52em;left:0;width:9px;height:9px;border-radius:50%;background:var(--gold)}
.email-signup>div>p.signup-note{margin:20px 0 0;font-size:.88rem;line-height:1.5;opacity:.88}
@media(max-width:600px){
  .email-signup .signup-lead{font-size:1rem;margin-bottom:16px}
  .email-signup .signup-list li{font-size:.95rem;padding-left:23px}
  .email-signup>div>p.signup-note{margin-top:16px;font-size:.84rem}
}
