/* ============================================================
   Tanglewood Greens — Homepage mockup (Bear North Digital)
   Brand: tanglewoodgreens.com Elementor kit
   greens #003B28 / #005B3B / #42705F / sage #8FB3A6
   cream #EFEEE1 / taupe #A1A087
   Display: Noah Head (self-hosted). Body: freight-sans-pro
   (Adobe, domain-locked) with Source Sans 3 as the portable match.
   Pattern: newworks destination hero + burkhardt facet quick-nav.
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Source+Sans+3:ital,wght@0,400;0,500;0,600;0,700;1,400&display=swap');

@font-face{
  font-family:'Noah Head';
  src:url('fonts/noahhead-medium-webfont.woff2') format('woff2');
  font-weight:500;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Noah Head';
  src:url('fonts/noahhead-bold-webfont.woff2') format('woff2');
  font-weight:700;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Noah Head';
  src:url('fonts/noahhead-extrabold-webfont.woff2') format('woff2');
  font-weight:800;font-style:normal;font-display:swap;
}

:root{
  --green-dark:#003B28; --green:#005B3B; --green-mid:#42705F; --sage:#8FB3A6;
  --cream:#EFEEE1; --paper:#F9F9F7; --taupe:#A1A087; --white:#fff;
  --ink:#26291f; --muted:#6f7361;
  --head:'Noah Head','Helvetica Neue',Arial,sans-serif;
  --body:'freight-sans-pro','Source Sans 3','Helvetica Neue',Arial,sans-serif;
  --ui:'sweet-gothic','Source Sans 3','Helvetica Neue',Arial,sans-serif;
  --wrap:1180px;
  --gutter:24px;
  --shadow-card:0 18px 48px rgba(0,40,28,.07);
  --shadow-btn:0 12px 30px rgba(0,25,17,.22);
  --hairline:1px solid rgba(0,59,40,.10);
}

*{box-sizing:border-box;margin:0;padding:0}
html{overflow-x:clip;scroll-behavior:smooth;scroll-padding-top:100px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{font-family:var(--body);color:var(--ink);background:var(--paper);line-height:1.6;font-size:18px;-webkit-font-smoothing:antialiased}
body.nav-open{overflow:hidden}
.container{max-width:var(--wrap);margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter);width:100%}
h1,h2,h3,h4,.display{font-family:var(--head);font-weight:800;line-height:1.06;color:var(--green-dark);letter-spacing:.2px}
a{color:var(--green);text-decoration:none}
img{max-width:100%;display:block}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--ui);font-weight:600;font-size:14px;
  letter-spacing:2.2px;text-transform:uppercase;padding:18px 36px;border-radius:2px;border:2px solid transparent;cursor:pointer;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease;white-space:nowrap;line-height:1}
.btn:hover{transform:translateY(-2px)}
.btn-book{background:var(--cream);color:var(--green-dark);box-shadow:var(--shadow-btn)}
.btn-book:hover{background:#fff;box-shadow:0 14px 30px rgba(0,25,17,.36)}
.btn-green{background:var(--green-dark);color:var(--cream);box-shadow:0 10px 24px rgba(0,40,28,.22)}
.btn-green:hover{background:var(--green);color:#fff}
.btn-white{background:#fff;color:var(--green-dark);box-shadow:0 8px 20px rgba(0,25,17,.18)}
.btn-white:hover{background:var(--cream)}
.btn-sm{padding:13px 22px;font-size:13px;letter-spacing:1.4px}

/* ---------- utility bar ---------- */
.utility{background:var(--green-dark);color:var(--cream);font-family:var(--ui);font-size:13.5px;letter-spacing:.6px}
.utility .container{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:42px;padding-top:6px;padding-bottom:6px}
.utility a{color:var(--cream)}
.utility a:hover{color:var(--sage)}
.utility__promo{display:flex;align-items:center;gap:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.utility__promo .flag{display:inline-block;background:var(--sage);color:var(--green-dark);font-weight:700;font-size:11px;
  letter-spacing:1.4px;text-transform:uppercase;border-radius:2px;padding:3px 8px;flex:none}
.utility__promo u{text-underline-offset:3px}
.utility__right{display:flex;align-items:center;gap:20px;white-space:nowrap}
.utility__right .divider{opacity:.35}
.utility .deal-short{display:none}

/* ---------- header (transparent over the hero, solid on scroll, like the live site) ---------- */
.header{position:fixed;top:42px;left:0;right:0;z-index:80;
  background:linear-gradient(180deg,rgba(2,26,18,.55) 0%,rgba(2,26,18,.18) 72%,rgba(2,26,18,0) 100%);
  transition:top .25s ease,background .25s ease,box-shadow .25s ease}
.header .container{display:flex;align-items:center;gap:28px;height:86px;position:relative}
.header .container::after{content:'';position:absolute;left:var(--gutter);right:var(--gutter);bottom:0;height:1px;background:rgba(255,255,255,.22);transition:opacity .25s}
.header.scrolled{top:0;background:var(--green);box-shadow:0 2px 18px rgba(0,20,13,.28)}
.header.scrolled .container::after{opacity:0}
.brand{display:flex;align-items:center;flex:none}
.brand img{height:46px;width:auto}
.nav{display:flex;align-items:center;gap:4px;margin-left:auto}
.nav__item{position:relative}
.nav__link{display:flex;align-items:center;gap:7px;color:#fff;font-family:var(--ui);font-weight:600;font-size:13.5px;
  letter-spacing:1.5px;text-transform:uppercase;padding:12px 13px;border-radius:3px;white-space:nowrap}
.nav__link:hover{color:var(--sage)}
.nav__link .caret{width:9px;height:9px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;
  transform:rotate(45deg) translateY(-2px);transition:transform .15s}
.nav__item:hover .nav__link .caret{transform:rotate(225deg) translateY(-1px)}
.nav__menu{position:absolute;top:calc(100% + 10px);left:0;min-width:236px;background:#fff;border-radius:6px;
  box-shadow:0 22px 50px rgba(0,25,17,.24);padding:10px;opacity:0;visibility:hidden;transform:translateY(8px);
  transition:opacity .16s ease,transform .16s ease,visibility .16s}
.nav__item:hover .nav__menu,.nav__item:focus-within .nav__menu{opacity:1;visibility:visible;transform:translateY(0)}
.nav__menu::before{content:'';position:absolute;top:-10px;left:0;right:0;height:10px}
.nav__menu a{display:block;padding:11px 14px;border-radius:4px;color:var(--green-dark);font-family:var(--ui);
  font-weight:600;font-size:13.5px;letter-spacing:.8px}
.nav__menu a:hover{background:var(--cream)}
.nav__menu a span{display:block;font-family:var(--body);font-weight:400;font-size:13px;letter-spacing:0;color:var(--muted);text-transform:none;margin-top:1px}
.header__cta{display:flex;align-items:center;gap:14px;flex:none}
.header__phone{color:#fff;font-family:var(--ui);font-weight:700;font-size:15px;letter-spacing:.8px;white-space:nowrap}
.header__phone:hover{color:var(--sage)}
.menu-toggle{display:none;background:none;border:0;cursor:pointer;padding:10px;margin-right:-10px}
.menu-toggle .bars{display:block;width:26px;height:2px;background:#fff;position:relative;transition:background .15s}
.menu-toggle .bars::before,.menu-toggle .bars::after{content:'';position:absolute;left:0;width:26px;height:2px;background:#fff;transition:transform .2s,top .2s}
.menu-toggle .bars::before{top:-8px}
.menu-toggle .bars::after{top:8px}
body.nav-open .menu-toggle .bars{background:transparent}
body.nav-open .menu-toggle .bars::before{top:0;transform:rotate(45deg)}
body.nav-open .menu-toggle .bars::after{top:0;transform:rotate(-45deg)}

/* ---------- mobile drawer ---------- */
.drawer{position:fixed;inset:0 0 0 auto;width:min(420px,92vw);z-index:90;background:var(--green-dark);color:#fff;
  transform:translateX(103%);visibility:hidden;transition:transform .32s cubic-bezier(.2,.7,.2,1),visibility 0s linear .32s;
  display:flex;flex-direction:column;overflow-y:auto}
body.nav-open .drawer{transform:translateX(0);visibility:visible;transition:transform .32s cubic-bezier(.2,.7,.2,1)}
.drawer__head{display:flex;align-items:center;justify-content:space-between;padding:20px 22px;border-bottom:1px solid rgba(255,255,255,.14)}
.drawer__head img{height:38px}
.drawer__close{background:none;border:0;color:#fff;font-size:30px;line-height:1;cursor:pointer;padding:4px 8px}
.drawer__nav{padding:10px 8px;flex:1}
.drawer__group{border-bottom:1px solid rgba(255,255,255,.10)}
.drawer__group>button,.drawer__group>a{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:0;
  color:#fff;font-family:var(--ui);font-weight:600;font-size:15px;letter-spacing:1.6px;text-transform:uppercase;
  padding:17px 16px;cursor:pointer;text-align:left}
.drawer__group>button .caret{width:10px;height:10px;border-right:2px solid var(--sage);border-bottom:2px solid var(--sage);
  transform:rotate(45deg);transition:transform .2s;flex:none}
.drawer__group.open>button .caret{transform:rotate(225deg)}
.drawer__sub{max-height:0;overflow:hidden;transition:max-height .28s ease}
.drawer__group.open .drawer__sub{max-height:320px}
.drawer__sub a{display:block;color:var(--cream);opacity:.92;font-size:16px;padding:11px 16px 11px 28px}
.drawer__sub a:hover{color:var(--sage)}
.drawer__foot{padding:20px 22px 26px;border-top:1px solid rgba(255,255,255,.14);display:grid;gap:12px}
.drawer__foot .btn{width:100%}
.drawer__call{display:block;text-align:center;color:#fff;font-family:var(--head);font-weight:700;font-size:26px}
.drawer__hours{text-align:center;color:var(--sage);font-size:14.5px;line-height:1.5}
.drawer__social{display:flex;justify-content:center;gap:18px}
.drawer__social a{color:var(--cream);opacity:.85}
.drawer__social a:hover{opacity:1;color:var(--sage)}
.drawer__social svg{width:22px;height:22px;fill:currentColor}
.nav-overlay{position:fixed;inset:0;background:rgba(2,20,14,.55);z-index:85;opacity:0;visibility:hidden;transition:opacity .28s,visibility .28s}
body.nav-open .nav-overlay{opacity:1;visibility:visible}

/* ---------- hero ---------- */
.hero{position:relative;min-height:min(100vh,940px);display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;isolation:isolate}
.hero__media{position:absolute;inset:0;z-index:-2;overflow:hidden}
.hero__media img{width:100%;height:100%;object-fit:cover;object-position:center 38%;animation:heroZoom 14s ease-out forwards}
@keyframes heroZoom{from{transform:scale(1.07)}to{transform:scale(1)}}
/* staggered entrance */
.hero__eyebrow,.hero h1,.hero__headline,.hero__sub,.hero__actions,.hero__trust{opacity:0;transform:translateY(22px);
  animation:heroUp .9s cubic-bezier(.2,.7,.2,1) forwards}
.hero h1{animation-delay:.12s}
.hero__headline{animation-delay:.22s}
.hero__sub{animation-delay:.38s}
.hero__actions{animation-delay:.52s}
.hero__trust{animation-delay:.66s}
@keyframes heroUp{to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){
  .hero__media img{animation:none}
  .hero__eyebrow,.hero h1,.hero__headline,.hero__sub,.hero__actions,.hero__trust{animation:none;opacity:1;transform:none}
}
.hero__scrim{position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(2,26,18,.58) 0%,rgba(2,26,18,.22) 30%,rgba(2,26,18,.28) 62%,rgba(2,26,18,.74) 100%)}
.hero .container{padding-top:150px;padding-bottom:150px}
.hero__inner{max-width:880px;margin:0 auto}
.hero__eyebrow{display:inline-flex;align-items:center;gap:12px;font-family:var(--ui);font-weight:600;letter-spacing:3px;
  text-transform:uppercase;font-size:13.5px;color:var(--cream);margin-bottom:26px;white-space:nowrap}
.hero__eyebrow::before,.hero__eyebrow::after{content:'';width:34px;height:1px;background:var(--sage);opacity:.85}
.hero h1{font-size:14.5px;font-family:var(--ui);font-weight:700;letter-spacing:2.4px;text-transform:uppercase;color:rgba(239,238,225,.92);line-height:1.45;margin-bottom:14px;text-shadow:0 1px 14px rgba(0,0,0,.55)}
.hero__headline{font-family:var(--head);font-weight:800;color:#fff;font-size:clamp(42px,6.4vw,84px);line-height:1.0;
  letter-spacing:.4px;text-shadow:0 2px 30px rgba(0,0,0,.35);text-wrap:balance}
.hero__sub{font-size:clamp(18px,2.1vw,22px);margin:26px auto 0;max-width:620px;color:rgba(255,255,255,.94);line-height:1.55}
.hero__actions{display:flex;justify-content:center;gap:16px;margin-top:38px;flex-wrap:wrap}
.hero__trust{display:inline-flex;align-items:center;gap:10px;margin-top:30px;font-size:16px;color:rgba(255,255,255,.95)}
.hero__trust .stars{color:#F5C452;letter-spacing:2px;font-size:17px}
.hero__trust a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.hero__trust a:hover{color:var(--sage)}

/* ---------- facet quick-nav ---------- */
.facets{position:relative;z-index:5;margin-top:-84px;padding-bottom:10px}
.facets__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.facet{position:relative;display:block;border-radius:8px;overflow:hidden;min-height:230px;box-shadow:0 18px 42px rgba(0,25,17,.22);
  transition:transform .22s ease,box-shadow .22s ease;isolation:isolate}
.facet:hover{transform:translateY(-5px);box-shadow:0 26px 54px rgba(0,25,17,.30)}
.facet img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .4s ease}
.facet:hover img{transform:scale(1.05)}
.facet::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(2,26,18,.06) 30%,rgba(2,26,18,.82) 100%)}
.facet__body{position:absolute;left:0;right:0;bottom:0;padding:20px 22px;color:#fff}
.facet__body h3{color:#fff;font-size:23px;font-weight:800;letter-spacing:.4px}
.facet__body p{font-size:14.5px;color:rgba(255,255,255,.88);margin-top:4px;line-height:1.4}
.facet__body .go{display:inline-flex;align-items:center;gap:8px;margin-top:10px;font-family:var(--ui);font-weight:700;
  font-size:12px;letter-spacing:1.8px;text-transform:uppercase;color:var(--sage)}
.facet__body .go::after{content:'\2192'}

/* ---------- watermark device (echoes the live site's oversized logomark) ---------- */
.wm{position:relative;overflow:hidden}
.wm>.container{position:relative;z-index:2}
.wm::before{content:'';position:absolute;z-index:1;width:640px;height:640px;pointer-events:none;
  background:url('img/logomark-white.png') no-repeat center/contain;opacity:.055}
.wm--right::before{right:-150px;top:50%;transform:translateY(-50%) rotate(-6deg)}
.wm--left::before{left:-170px;bottom:-140px;transform:rotate(5deg)}
.wm--light::before{background-image:url('img/logomark-green.png');opacity:.05}

/* ---------- sections ---------- */
.section{padding:108px 0}
.section--cream{background:var(--cream)}
.section--white{background:#fff}
.section--green{background:var(--green-dark);color:#fff}
.section--green h2,.section--green h3{color:#fff}
.kicker{display:inline-flex;align-items:center;gap:14px;font-family:var(--ui);font-weight:600;letter-spacing:3.2px;text-transform:uppercase;font-size:12.5px;color:var(--green-mid);margin-bottom:18px}
.kicker::before{content:'';width:34px;height:1px;background:var(--sage)}
.section__head--center .kicker::after{content:'';width:34px;height:1px;background:var(--sage)}
.section--green .kicker{color:var(--sage)}
.title{font-size:clamp(32px,4.2vw,50px);margin-bottom:22px;text-wrap:balance;font-weight:700}
.lede{font-size:20px;max-width:62ch;color:var(--muted);line-height:1.65}
.section--green .lede{color:rgba(255,255,255,.88)}
.section__head{max-width:760px;margin-bottom:52px}
.section__head--center{margin-left:auto;margin-right:auto;text-align:center}
.section__head--center .lede{margin-left:auto;margin-right:auto}

/* split */
.split{display:grid;grid-template-columns:1.05fr 1fr;gap:76px;align-items:center}
.split.rev>.split__media{order:2}
.split__media{position:relative}
.split__media img{border-radius:12px;box-shadow:0 26px 56px rgba(0,40,28,.16);width:100%;aspect-ratio:4/3;object-fit:cover}
.split__media .badge-photo{position:absolute;right:-18px;bottom:-26px;width:44%;border-radius:12px;
  box-shadow:0 18px 40px rgba(0,40,28,.26);border:6px solid #fff;aspect-ratio:1/1;object-fit:cover}
.split__txt h2{margin-bottom:18px}
.wv-logo{height:58px;width:auto;margin:2px 0 16px}
.split__txt p{color:var(--muted);line-height:1.7}
.split__txt p+p{margin-top:16px}
.section--green .split__txt p{color:rgba(255,255,255,.86)}
.split__actions{display:flex;gap:14px;margin-top:30px;flex-wrap:wrap}

/* checline list */
.checks{list-style:none;display:grid;gap:13px;margin-top:22px}
.checks li{position:relative;padding-left:34px;font-size:17px}
.checks li::before{content:'';position:absolute;left:0;top:2px;width:21px;height:21px;border-radius:50%;background:var(--sage);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23003B28' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
  background-size:13px;background-repeat:no-repeat;background-position:center}

/* rate cards */
.rates{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:36px}
.rate{background:#fff;border:var(--hairline);border-radius:10px;padding:30px 26px;text-align:center;transition:box-shadow .25s ease,transform .25s ease}
.rate:hover{box-shadow:var(--shadow-card);transform:translateY(-3px)}
.section--cream .rate{background:var(--paper)}
.rate .label{font-family:var(--ui);font-weight:600;font-size:12px;letter-spacing:2.6px;text-transform:uppercase;color:var(--green-mid)}
.rate .price{font-family:var(--head);font-weight:700;font-size:52px;color:var(--green-dark);line-height:1.05;margin:12px 0 2px}
.rate .per{font-size:14.5px;color:var(--muted)}
.rate .note{font-size:14.5px;color:var(--muted);margin-top:12px;line-height:1.5}
.rate--flag{position:relative;border:2px solid var(--green);overflow:hidden}
.rate--flag .flag{position:absolute;top:14px;right:-42px;transform:rotate(38deg);background:var(--green);color:var(--cream);
  font-family:var(--ui);font-weight:700;font-size:10.5px;letter-spacing:1.6px;text-transform:uppercase;padding:5px 44px}

/* stat band */
.stats{display:grid;grid-template-columns:repeat(4,1fr);text-align:center}
.stat{padding:6px 18px;border-left:1px solid rgba(239,238,225,.16)}
.stat:first-child{border-left:0}
.stat .n{font-family:var(--head);font-weight:700;font-size:clamp(36px,4.4vw,56px);color:var(--cream);line-height:1}
.stat .l{font-family:var(--ui);font-weight:600;font-size:12px;letter-spacing:2.4px;text-transform:uppercase;color:var(--sage);margin-top:12px}

/* promo band */
.promo{background:linear-gradient(120deg,var(--green) 0%,var(--green-dark) 78%);color:#fff;position:relative;overflow:hidden}
.promo::after{content:'';position:absolute;right:-130px;top:50%;transform:translateY(-50%) rotate(-8deg);width:480px;height:480px;pointer-events:none;
  background:url('img/logomark-white.png') no-repeat center/contain;opacity:.07}
.promo .container{display:flex;align-items:center;justify-content:space-between;gap:34px;padding-top:54px;padding-bottom:54px;position:relative;z-index:2}
.promo__txt .flag{display:inline-block;background:var(--sage);color:var(--green-dark);font-family:var(--ui);font-weight:700;
  font-size:12px;letter-spacing:2px;text-transform:uppercase;border-radius:2px;padding:5px 12px;margin-bottom:14px}
.promo__txt h2{color:#fff;font-size:clamp(28px,3.6vw,42px)}
.promo__txt p{color:rgba(255,255,255,.88);margin-top:10px;max-width:56ch}
.promo__txt p small{display:block;margin-top:6px;font-size:13.5px;color:rgba(255,255,255,.62)}
.promo .btn{flex:none}

/* testimonials */
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.quote{position:relative;background:#fff;border:var(--hairline);border-radius:10px;padding:34px 30px 28px;display:flex;flex-direction:column;gap:16px;transition:box-shadow .25s ease,transform .25s ease}
.quote:hover{box-shadow:var(--shadow-card);transform:translateY(-3px)}
.quote::before{content:'\201C';position:absolute;top:6px;right:22px;font-family:var(--head);font-weight:800;font-size:84px;line-height:1;color:var(--cream);pointer-events:none}
.quote .stars{color:#F5C452;font-size:15px;letter-spacing:3px}
.quote p{font-size:16.5px;line-height:1.65;color:var(--ink);flex:1}
.quote footer{display:flex;align-items:center;gap:12px}
.quote .avatar{width:42px;height:42px;border-radius:50%;background:var(--green-dark);color:var(--cream);display:flex;
  align-items:center;justify-content:center;font-family:var(--head);font-weight:700;font-size:16px;flex:none}
.quote .who b{display:block;font-family:var(--ui);font-weight:700;font-size:14.5px;letter-spacing:.4px;color:var(--green-dark)}
.quote .who span{font-size:13px;color:var(--muted)}
.quotes__foot{text-align:center;margin-top:34px}
.quotes__foot a{font-family:var(--ui);font-weight:700;letter-spacing:1.4px;text-transform:uppercase;font-size:13.5px;
  color:var(--green);text-decoration:underline;text-underline-offset:4px}

/* drive time */
.drive{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:40px}
.drive__card{background:#fff;border:var(--hairline);border-top:3px solid var(--sage);border-radius:10px;padding:26px 24px;text-align:center;transition:box-shadow .25s ease,transform .25s ease}
.drive__card:hover{box-shadow:var(--shadow-card);transform:translateY(-3px)}
.drive__card .city{font-family:var(--head);font-weight:700;font-size:21px;color:var(--green-dark)}
.drive__card .time{font-family:var(--head);font-weight:800;font-size:34px;color:var(--green);margin-top:6px;line-height:1}
.drive__card .via{font-size:13.5px;color:var(--muted);margin-top:8px}

/* faq */
.faq{max-width:820px;margin:0 auto}
.faq details{background:#fff;border:var(--hairline);border-radius:10px;margin-bottom:12px;overflow:hidden;transition:box-shadow .25s ease}
.faq details[open]{box-shadow:var(--shadow-card)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;
  padding:22px 26px;font-family:var(--head);font-weight:700;font-size:19px;color:var(--green-dark)}
.faq summary::-webkit-details-marker{display:none}
.faq summary .ind{flex:none;width:26px;height:26px;border-radius:50%;background:var(--cream);position:relative}
.faq summary .ind::before,.faq summary .ind::after{content:'';position:absolute;top:50%;left:50%;width:12px;height:2px;
  background:var(--green-dark);transform:translate(-50%,-50%)}
.faq summary .ind::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .2s}
.faq details[open] summary .ind::after{transform:translate(-50%,-50%) rotate(0)}
.faq details>div{padding:0 26px 24px;color:var(--muted);line-height:1.7}

/* final cta */
.final{position:relative;color:#fff;text-align:center;isolation:isolate;padding:130px 0}
.final__mark{display:block;width:min(340px,64vw);margin:0 auto 26px;opacity:.95}
.final__media{position:absolute;inset:0;z-index:-2}
.final__media img{width:100%;height:100%;object-fit:cover}
.final::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(2,26,18,.72),rgba(2,26,18,.78))}
.final h2{color:#fff;font-size:clamp(34px,4.6vw,56px);text-wrap:balance}
.final p{color:rgba(255,255,255,.9);max-width:56ch;margin:18px auto 0;font-size:19px}
.final .hero__actions{margin-top:34px}

/* ---------- footer ---------- */
.footer{position:relative;overflow:hidden;background:#04231A;color:rgba(255,255,255,.82)}
.footer::before{content:'';position:absolute;right:-190px;top:-60px;width:760px;height:760px;pointer-events:none;
  background:url('img/logomark-white.png') no-repeat center/contain;opacity:.04}
.footer>*{position:relative;z-index:2}
.footer a{color:rgba(255,255,255,.82)}
.footer a:hover{color:var(--sage)}
.footer__trust{border-bottom:1px solid rgba(255,255,255,.10)}
.footer__trust .container{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:26px;padding-bottom:26px;flex-wrap:wrap}
.footer__trust .item{display:flex;align-items:center;gap:11px;font-family:var(--ui);font-weight:600;font-size:13.5px;
  letter-spacing:1.4px;text-transform:uppercase;color:var(--cream);white-space:nowrap}
.footer__trust .item svg{width:22px;height:22px;fill:none;stroke:var(--sage);stroke-width:1.8;flex:none}
.footer__grid{display:grid;grid-template-columns:1.35fr 1fr 1fr 1.2fr;gap:44px;padding:64px 0 50px}
.footer__brand img{height:52px;margin-bottom:18px}
.footer__brand p{font-size:15.5px;line-height:1.7;max-width:34ch}
.footer__brand .social{display:flex;gap:16px;margin-top:20px}
.footer__brand .social svg{width:21px;height:21px;fill:currentColor}
.footer h4{color:#fff;font-family:var(--ui);font-weight:700;font-size:13.5px;letter-spacing:2px;text-transform:uppercase;margin-bottom:18px}
.footer ul{list-style:none;display:grid;gap:11px;font-size:15.5px}
.footer__visit p{font-size:15.5px;line-height:1.75}
.footer__visit p+p{margin-top:14px}
.footer__visit .tel{font-family:var(--head);font-weight:700;font-size:23px;color:#fff;display:inline-block;margin-top:2px}
.footer__area{border-top:1px solid rgba(255,255,255,.10)}
.footer__area .container{padding-top:22px;padding-bottom:22px;font-size:14px;line-height:1.8;color:rgba(255,255,255,.55)}
.footer__area b{color:rgba(255,255,255,.78);font-weight:600}
.footer__bottom{border-top:1px solid rgba(255,255,255,.10)}
.footer__bottom .container{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:20px;padding-bottom:20px;
  font-size:13.5px;color:rgba(255,255,255,.5);flex-wrap:wrap}
.footer__bottom .top{display:inline-flex;align-items:center;gap:8px;font-family:var(--ui);font-weight:600;font-size:12.5px;
  letter-spacing:1.6px;text-transform:uppercase;color:var(--cream);cursor:pointer;background:none;border:0}
.footer__bottom .top:hover{color:var(--sage)}
.footer__bottom .top .up{width:10px;height:10px;border-left:2px solid currentColor;border-top:2px solid currentColor;transform:rotate(45deg) translate(2px,2px)}

/* ---------- sticky mobile bar ---------- */
.mobile-bar{position:fixed;left:0;right:0;bottom:0;z-index:70;display:none;grid-template-columns:1.4fr 1fr 1fr;
  box-shadow:0 -6px 24px rgba(0,20,13,.28)}
.mobile-bar a{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px 6px;font-family:var(--ui);
  font-weight:700;font-size:12.5px;letter-spacing:1.2px;text-transform:uppercase;white-space:nowrap}
.mobile-bar .book{background:var(--cream);color:var(--green-dark)}
.mobile-bar .call{background:var(--green);color:#fff}
.mobile-bar .dir{background:var(--green-dark);color:#fff}
.mobile-bar svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;flex:none}

/* ---------- reveal (staggered within grids) ---------- */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .65s ease,transform .65s ease}
.reveal.in{opacity:1;transform:none}
.facet:nth-child(2),.rate:nth-child(2),.quote:nth-child(2),.drive__card:nth-child(2),.stat:nth-child(2){transition-delay:.1s}
.facet:nth-child(3),.rate:nth-child(3),.quote:nth-child(3),.drive__card:nth-child(3),.stat:nth-child(3){transition-delay:.2s}
.facet:nth-child(4),.drive__card:nth-child(4),.stat:nth-child(4){transition-delay:.3s}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* ============================================================
   Responsive
   ============================================================ */
@media (max-width:1080px){
  .nav{display:none}
  .header__phone{display:none}
  /* .nav carries the margin-left:auto that right-aligns this row, but it is
     display:none below 1080px, so the CTA group has to take over the push.
     Without this the hamburger sits glued to the wordmark with up to 722px
     of dead space beside it. Inherited from v1. */
  .header__cta{margin-left:auto}
  .menu-toggle{display:block}
  .header__cta .btn{display:none}
  .header .container{height:74px}
  .brand img{height:40px}
  .facets__grid{grid-template-columns:repeat(2,1fr)}
  .facets{margin-top:-56px}
  .split{grid-template-columns:1fr;gap:40px}
  .split.rev>.split__media{order:0}
  .footer__grid{grid-template-columns:1fr 1fr;gap:36px}
}
@media (max-width:720px){
  :root{--gutter:20px}
  body{font-size:17px}
  .utility .container{justify-content:center}
  .utility__right{display:none}
  .utility .deal-long{display:none}
  .utility .deal-short{display:inline;white-space:nowrap}
  .section{padding:64px 0}
  .section__head{margin-bottom:36px}
  .hero{min-height:88vh}
  .hero .container{padding-top:84px;padding-bottom:118px}
  .hero__eyebrow{font-size:11.5px;letter-spacing:2.2px}
  .hero__eyebrow::before,.hero__eyebrow::after{width:22px}
  .hero h1{font-size:12.5px;letter-spacing:1.8px}
  .hero__actions .btn{width:100%;max-width:360px}
  .facets__grid{grid-template-columns:1fr;gap:14px}
  .facet{min-height:170px}
  .facets{margin-top:-48px}
  .rates{grid-template-columns:1fr;gap:14px}
  .stats{grid-template-columns:repeat(2,1fr);gap:26px 12px}
  .promo .container{flex-direction:column;align-items:flex-start;padding-top:44px;padding-bottom:44px}
  .quotes{grid-template-columns:1fr;gap:14px}
  .drive{grid-template-columns:repeat(2,1fr);gap:12px}
  .wm::before{width:380px;height:380px}
  .wm--right::before{right:-140px}
  .stats{gap:0}
  .stat{padding:14px 10px}
  .stat:nth-child(odd){border-left:0}
  .stat:nth-child(-n+2){border-bottom:1px solid rgba(239,238,225,.16);padding-bottom:22px}
  .stat:nth-child(n+3){padding-top:22px}
  .drive__card .time{font-size:28px}
  .split__media .badge-photo{right:6px;bottom:-20px;border-width:4px}
  .footer__grid{grid-template-columns:1fr;gap:34px;padding:48px 0 40px}
  .footer__trust .container{justify-content:flex-start;gap:14px 22px}
  .mobile-bar{display:grid}
  body{padding-bottom:52px}
  .final{padding:84px 0}
}

/* ============================================================
   v2 additions — Bear North Digital
   Booking bar, course map panel, weekly rhythm, I-94 corridor.
   Extends the v1 token system above; no tokens redefined.
   ============================================================ */

/* hero: no in-hero button now (the booking bar owns the action) */
.hero__media img{object-position:center 46%}
.hero .container{padding-bottom:190px}

/* unify a mixed-source photo library with one gentle grade */
.split__media img,.facet img,.coursemap__figure img{filter:saturate(1.05) contrast(1.03)}

/* ---------- booking bar ---------- */
.bookbar-wrap{position:relative;z-index:6;margin-top:-96px}
.bookbar{background:#fff;border-radius:12px;box-shadow:0 28px 64px rgba(0,30,20,.24);padding:24px 28px 20px;
  border-top:4px solid var(--green)}
.bookbar__title{font-family:var(--head);font-weight:800;font-size:24px;color:var(--green-dark);line-height:1}
.facets{margin-top:46px}

/* ---------- course map panel ---------- */
.coursemap__panel{display:grid;grid-template-columns:1.25fr .85fr;grid-template-areas:'fig facts' 'fig notes' 'fig act';
  gap:22px 44px;align-items:start;background:#fff;border:var(--hairline);border-radius:14px;padding:34px;
  box-shadow:var(--shadow-card)}
.coursemap__figure{grid-area:fig;margin:0}
.coursemap__figure img{border-radius:10px;width:100%;background:var(--cream)}
.coursemap__facts{grid-area:facts;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.cfact{text-align:center;background:var(--cream);border-radius:8px;padding:16px 6px}
.cfact__n{display:block;font-family:var(--head);font-weight:800;font-size:26px;color:var(--green-dark);line-height:1}
.cfact__l{display:block;font-family:var(--ui);font-weight:600;font-size:10.5px;letter-spacing:1.8px;text-transform:uppercase;
  color:var(--green-mid);margin-top:7px}
.coursemap__notes{grid-area:notes;list-style:none;display:grid;gap:14px}
.coursemap__notes li{position:relative;padding-left:26px;font-size:16.5px;color:var(--muted);line-height:1.6}
.coursemap__notes li::before{content:'';position:absolute;left:0;top:9px;width:9px;height:9px;border-radius:50%;background:var(--sage)}
.coursemap__notes b{color:var(--green-dark);font-weight:700}
.coursemap__actions{grid-area:act;display:flex;gap:12px;flex-wrap:wrap}

/* ---------- weekly rhythm ---------- */
.week__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.wcard{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.14);border-radius:10px;padding:26px 24px;
  display:flex;flex-direction:column;gap:9px;transition:background .22s ease,transform .22s ease,border-color .22s ease}
.wcard:hover{background:rgba(255,255,255,.10);border-color:rgba(143,179,166,.5);transform:translateY(-4px)}
.wcard__day{font-family:var(--ui);font-weight:700;font-size:11px;letter-spacing:2.2px;text-transform:uppercase;color:var(--sage)}
.wcard h3{color:#fff;font-size:24px;font-weight:800}
.wcard p{color:rgba(255,255,255,.82);font-size:16px;line-height:1.6;flex:1}
.wcard a{font-family:var(--ui);font-weight:700;font-size:12.5px;letter-spacing:1.4px;text-transform:uppercase;color:var(--sage);margin-top:4px}
.wcard a:hover{color:#fff}
.week__foot{text-align:center;margin-top:34px}
.week__foot a{font-family:var(--ui);font-weight:700;font-size:13.5px;letter-spacing:1.4px;text-transform:uppercase;
  color:var(--cream);text-decoration:underline;text-underline-offset:4px}
.week__foot a:hover{color:var(--sage)}

/* ---------- I-94 corridor ---------- */
.corridor{position:relative;margin:60px 0 44px;padding:0 90px}
.corridor__line{position:relative;height:6px;border-radius:100px;
  background:linear-gradient(90deg,var(--sage) 0%,var(--green) 62%,var(--green-dark) 100%)}
.corridor__stops{position:relative;height:132px}
.stop{position:absolute;left:var(--at);top:0;transform:translateX(-50%);width:180px;text-align:center}
.stop__dot{position:absolute;top:-27px;left:50%;transform:translateX(-50%);width:16px;height:16px;border-radius:50%;
  background:#fff;border:3px solid var(--green);box-shadow:0 3px 10px rgba(0,40,28,.22)}
.stop--home .stop__dot{width:26px;height:26px;top:-32px;border-width:4px;border-color:var(--green-dark);background:var(--cream)}
.stop__city{display:block;font-family:var(--head);font-weight:700;font-size:19px;color:var(--green-dark);margin-top:14px}
.stop__mi{display:block;font-family:var(--head);font-weight:800;font-size:30px;color:var(--green);line-height:1.1;margin-top:2px}
.stop--home .stop__mi{color:var(--green-dark)}
.stop__via{display:block;font-size:13.5px;color:var(--muted);margin-top:7px;line-height:1.45}
.corridor__road{position:absolute;left:50%;top:-34px;transform:translateX(-50%);background:var(--green-dark);color:var(--cream);
  font-family:var(--ui);font-weight:700;font-size:11px;letter-spacing:2.2px;text-transform:uppercase;padding:5px 14px;border-radius:3px}
.drive__foot{text-align:center;margin-top:10px}

/* ---------- v2 responsive ---------- */
@media (max-width:1080px){
  .coursemap__panel{grid-template-columns:1fr;grid-template-areas:'fig' 'facts' 'notes' 'act';gap:24px;padding:26px}
  .week__grid{grid-template-columns:repeat(2,1fr)}
  .corridor{padding:0 70px}
  .stop{width:140px}
  .stop__mi{font-size:26px}
}
@media (max-width:720px){
  .hero .container{padding-bottom:120px}
  .bookbar-wrap{margin-top:-70px}
  .bookbar{padding:20px 18px 16px}
  .bookbar__title{font-size:21px}
  .facets{margin-top:34px}
  .coursemap__facts{grid-template-columns:repeat(2,1fr)}
  .week__grid{grid-template-columns:1fr;gap:14px}
  /* corridor becomes a vertical timeline on small screens */
  .corridor{padding:0 0 0 34px;margin:34px 0 30px}
  .corridor__line{position:absolute;left:7px;top:6px;bottom:6px;width:6px;height:auto;
    background:linear-gradient(180deg,var(--sage) 0%,var(--green) 62%,var(--green-dark) 100%)}
  .corridor__stops{height:auto;display:grid;gap:26px}
  .stop{position:static;transform:none;width:auto;text-align:left;padding-left:6px}
  .stop__dot{position:absolute;left:0;top:auto;transform:none;margin-top:6px}
  .stop--home .stop__dot{left:-5px}
  .stop__city{margin-top:0;font-size:18px}
  .stop__mi{font-size:24px;display:inline-block;margin-left:0}
  .corridor__road{position:static;transform:none;display:inline-block;margin-bottom:22px}
}

/* ---------- v2 QA fixes (from the first capture pass) ---------- */

/* the narrow right-hand column of the course panel overflowed with
   two side-by-side buttons; stack them full width instead */
.coursemap__actions{display:grid;grid-template-columns:1fr;gap:11px}
.coursemap__actions .btn{width:100%}

/* facet cards 3 and 4 sit over bright sky; deepen the scrim so the
   white label copy holds its contrast */
.facet::after{background:linear-gradient(180deg,rgba(2,26,18,.10) 18%,rgba(2,26,18,.55) 62%,rgba(2,26,18,.90) 100%)}

/* the golf split now carries an inset photo, so give the media column
   the same breathing room the other splits have */
#golf .split__media{align-self:center}

/* ---------- v2 tap targets (measured, not eyeballed) ----------
   Every interactive control gets a >=44px touch box on mobile.
   Visual size is unchanged; only the hit area grows. */
@media (max-width:720px){
  .menu-toggle{padding:21px 9px;margin-right:-9px}
  .brand{padding:4px 0}
  .utility .deal-short{display:inline-block;padding:11px 0}
  .hero__trust a{display:inline-block;padding:9px 0}


  .wcard a{display:inline-block;padding:12px 0;min-height:44px}
  .week__foot a{display:inline-block;padding:13px 0;min-height:44px}
  .quotes__foot a{display:inline-block;padding:13px 0;min-height:44px}

  .footer ul{gap:0}
  .footer ul li a{display:inline-block;padding:11px 0;min-height:44px}
  .footer__brand .social a{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin-left:-11px}
  .drawer__social a{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px}
  .footer__bottom .top{padding:13px 0;min-height:44px}
  .footer__visit .tel{padding:6px 0}
}

/* ---------- v2 fix: mobile corridor geometry ----------
   The stops were position:static, so their absolutely-positioned dots
   anchored to .corridor instead of the stop and stacked on top of the
   Eau Claire label. Give each stop its own positioning context and sit
   the dots on the vertical line (line centre is 10px from the corridor
   edge; stops start at the 34px padding edge). */
@media (max-width:720px){
  .corridor{display:flex;flex-direction:column}
  .corridor__road{order:-1;align-self:flex-start}
  .corridor__stops{order:1}
  /* left:auto is load-bearing: .stop carries left:var(--at) for the
     desktop scale, and position:relative would otherwise offset each
     stop by that percentage and walk them off the line. */
  .stop{position:relative;left:auto}
  .stop__dot{left:-32px;top:4px;margin-top:0}
  .stop--home .stop__dot{left:-37px;top:0}
}

/* ---------- v2 revision: booking band without fake inputs ----------
   Tee Snap cannot be deep-linked (in-memory SPA state) or embedded
   (x-frame-options:SAMEORIGIN), so the band carries the real booking
   rules and two honest CTAs instead of a form that drops its values. */
.bookbar__top{display:flex;align-items:center;justify-content:space-between;gap:34px;flex-wrap:wrap}
.bookbar__main{min-width:0;flex:1 1 380px}
.bookbar__rule{color:var(--muted);font-size:16.5px;line-height:1.55;margin-top:7px;max-width:52ch}
.bookbar__rule b{color:var(--green-dark);font-weight:700}
.bookbar__actions{display:flex;gap:12px;flex-wrap:wrap;flex:none}
.bookbar__rates{display:flex;align-items:center;gap:11px;flex-wrap:wrap;margin-top:18px;padding-top:16px;
  border-top:1px solid rgba(0,59,40,.09)}
.rchip{display:inline-flex;align-items:baseline;gap:7px;background:var(--cream);border:1px solid rgba(0,59,40,.10);
  border-radius:100px;padding:8px 16px;font-size:14.5px;color:var(--muted);white-space:nowrap}
.rchip b{font-family:var(--head);font-weight:800;font-size:19px;color:var(--green-dark);line-height:1}
.rchip--deal{background:var(--green-dark);border-color:var(--green-dark);color:rgba(255,255,255,.82)}
.rchip--deal b{color:#fff}
.bookbar__deal{font-family:var(--ui);font-weight:700;font-size:12.5px;letter-spacing:1.2px;text-transform:uppercase;
  margin-left:auto;padding:7px 0}

@media (max-width:1080px){
  .bookbar__actions{width:100%}
  .bookbar__actions .btn{flex:1 1 auto}
}
@media (max-width:720px){
  .bookbar__top{gap:18px}
  .bookbar__actions{display:grid;grid-template-columns:1fr;gap:10px;width:100%}
  .bookbar__deal{margin-left:0;width:100%;min-height:44px;display:inline-block}
  .rchip{font-size:13.5px;padding:7px 13px}
}

/* ============================================================
   Inner pages — page hero, breadcrumbs, tiles, rules band,
   inquiry band, schedule rows. Reuses the v1/v2 token system.
   ============================================================ */

/* active nav state */
.nav__link.is-active{color:var(--sage)}
.nav__link.is-active::after{content:'';position:absolute;left:13px;right:13px;bottom:4px;height:2px;background:var(--sage);border-radius:2px}
.nav__item{position:relative}

/* ---------- page hero ---------- */
.phero{position:relative;display:flex;align-items:flex-end;color:#fff;isolation:isolate;min-height:min(74vh,620px)}
.phero__media{position:absolute;inset:0;z-index:-2;overflow:hidden}
.phero__media img{width:100%;height:100%;object-fit:cover;object-position:center 46%}
.phero__scrim{position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(2,26,18,.66) 0%,rgba(2,26,18,.30) 42%,rgba(2,26,18,.80) 100%)}
.phero .container{padding-top:170px;padding-bottom:62px}
.phero__eyebrow{display:inline-flex;align-items:center;gap:12px;font-family:var(--ui);font-weight:600;letter-spacing:3px;
  text-transform:uppercase;font-size:13px;color:var(--sage);margin-bottom:18px}
.phero__eyebrow::before{content:'';width:34px;height:1px;background:var(--sage);opacity:.85}
.phero h1{font-family:var(--head);font-weight:800;color:#fff;font-size:clamp(38px,5.6vw,68px);line-height:1.02;
  letter-spacing:.3px;text-shadow:0 2px 30px rgba(0,0,0,.35);text-wrap:balance}
.phero__sub{font-size:clamp(17px,1.9vw,20px);margin-top:20px;max-width:60ch;color:rgba(255,255,255,.93);line-height:1.55}
.phero__actions{display:flex;gap:14px;margin-top:32px;flex-wrap:wrap}

/* ---------- breadcrumbs ---------- */
.crumbs{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:22px;
  font-family:var(--ui);font-size:12px;letter-spacing:1.6px;text-transform:uppercase}
.crumbs a{color:rgba(255,255,255,.72)}
.crumbs a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
.crumbs span{color:rgba(255,255,255,.38)}
.crumbs b{color:var(--sage);font-weight:700}

/* ---------- tiles (light-background card grid) ---------- */
.tiles{display:grid;gap:18px}
.tiles--3{grid-template-columns:repeat(3,1fr)}
.tiles--4{grid-template-columns:repeat(4,1fr)}
.tile{display:flex;flex-direction:column;gap:9px;background:#fff;border:var(--hairline);border-top:3px solid var(--sage);
  border-radius:10px;padding:28px 26px;transition:box-shadow .24s ease,transform .24s ease,border-color .24s ease}
.section--cream .tile{background:var(--paper)}
.tile:hover{box-shadow:var(--shadow-card);transform:translateY(-4px);border-top-color:var(--green)}
.tile__eyebrow{font-family:var(--ui);font-weight:700;font-size:10.5px;letter-spacing:2.2px;text-transform:uppercase;color:var(--green-mid)}
.tile h3{font-size:23px;font-weight:800;color:var(--green-dark)}
.tile p{color:var(--muted);font-size:16px;line-height:1.6;flex:1}
.tile__go{display:inline-flex;align-items:center;gap:8px;font-family:var(--ui);font-weight:700;font-size:12px;
  letter-spacing:1.6px;text-transform:uppercase;color:var(--green);margin-top:2px}
.tile__go::after{content:'\2192'}

/* ---------- booking rules band ---------- */
.rules{display:flex;align-items:center;justify-content:space-between;gap:34px;flex-wrap:wrap;margin-top:36px;
  background:var(--cream);border-radius:12px;padding:28px 32px;border-left:4px solid var(--green)}
.section--cream .rules{background:#fff}
.rules__main{flex:1 1 380px;min-width:0}
.rules__main h3{font-size:22px;color:var(--green-dark);margin-bottom:6px}
.rules__main p{color:var(--muted);font-size:16.5px;line-height:1.55;max-width:56ch}
.rules__main b{color:var(--green-dark);font-weight:700}
.rules__actions{display:flex;gap:12px;flex-wrap:wrap;flex:none}

/* ---------- inquiry band ---------- */
.ask{display:flex;align-items:center;justify-content:space-between;gap:38px;flex-wrap:wrap;
  background:var(--green-dark);color:#fff;border-radius:14px;padding:44px 46px;position:relative;overflow:hidden}
.ask::after{content:'';position:absolute;right:-120px;top:50%;transform:translateY(-50%) rotate(-8deg);
  width:420px;height:420px;pointer-events:none;background:url('img/logomark-white.png') no-repeat center/contain;opacity:.07}
.ask__txt{flex:1 1 420px;min-width:0;position:relative;z-index:2}
.ask__txt h3{color:#fff;font-size:clamp(24px,3vw,32px);margin-bottom:10px}
.ask__txt p{color:rgba(255,255,255,.86);font-size:17px;line-height:1.6;max-width:60ch}
.ask__note{margin-top:12px;font-size:15px;color:rgba(255,255,255,.62)}
.ask__note a{color:var(--sage);text-decoration:underline;text-underline-offset:3px}
.ask__actions{display:flex;gap:12px;flex-wrap:wrap;flex:none;position:relative;z-index:2}
.ask .btn-green{background:var(--cream);color:var(--green-dark)}
.ask .btn-green:hover{background:#fff}

/* ---------- schedule rows ---------- */
.sched{display:grid;gap:12px}
.srow{display:grid;grid-template-columns:190px 1fr 190px;gap:26px;align-items:center;background:#fff;
  border:var(--hairline);border-radius:10px;padding:24px 28px;transition:box-shadow .24s ease,transform .24s ease}
.section--cream .srow{background:var(--paper)}
.srow:hover{box-shadow:var(--shadow-card);transform:translateY(-2px)}
.srow__when{font-family:var(--ui);font-weight:700;font-size:11.5px;letter-spacing:2px;text-transform:uppercase;color:var(--green-mid)}
.srow__what h3{font-size:22px;font-weight:800;color:var(--green-dark)}
.srow__what p{color:var(--muted);font-size:16px;line-height:1.55;margin-top:3px}
.srow__where{font-size:14px;color:var(--muted);text-align:right}
.sched__note{text-align:center;margin-top:26px;color:var(--muted);font-size:16px}
.sched__note a{text-decoration:underline;text-underline-offset:3px}

/* ---------- inner-page responsive ---------- */
@media (max-width:1080px){
  .tiles--3,.tiles--4{grid-template-columns:repeat(2,1fr)}
  .rules__actions,.ask__actions{width:100%}
  .rules__actions .btn,.ask__actions .btn{flex:1 1 auto}
  .srow{grid-template-columns:150px 1fr;gap:18px}
  .srow__where{grid-column:2;text-align:left}
}
@media (max-width:720px){
  .phero{min-height:auto}
  .phero .container{padding-top:120px;padding-bottom:44px}
  .phero__actions{display:grid;grid-template-columns:1fr;gap:10px}
  .phero__actions .btn{width:100%}
  .crumbs{font-size:11px;gap:7px;margin-bottom:16px}
  .tiles--3,.tiles--4{grid-template-columns:1fr;gap:14px}
  .rules{padding:22px 20px;gap:18px}
  .rules__actions{display:grid;grid-template-columns:1fr;gap:10px}
  .ask{padding:30px 22px;gap:22px}
  .ask__actions{display:grid;grid-template-columns:1fr;gap:10px}
  .srow{grid-template-columns:1fr;gap:8px;padding:20px}
  .srow__where{grid-column:1}
}

/* Breadcrumb links were 18px tall on mobile. Inline links inside a
   sentence (.ask__note a, .sched__note a) are deliberately left alone:
   WCAG 2.5.8 exempts targets inline in a block of text, and padding
   them would break the line box. */
@media (max-width:720px){
  .crumbs{margin-bottom:8px;margin-left:-8px}
  /* 13px vertical clears 44px; 8px horizontal clears the short crumb
     words ("Golf", "Home") which are narrower than 44px on their own */
  .crumbs a,.crumbs b{display:inline-block;padding:13px 8px}
  /* footer nav words like "Events" measure 42.6px wide; pad right only
     so the column stays left-aligned */
  .footer ul li a{padding:11px 10px 11px 0}
}

/* ---------- SEO hero variant: small keyword H1 + large persuasive H2 ---------- */
.phero--seo .phero__kw{font-family:var(--ui);font-weight:700;font-size:14px;letter-spacing:2.4px;text-transform:uppercase;
  color:rgba(239,238,225,.92);line-height:1.45;margin-bottom:14px;text-shadow:0 1px 14px rgba(0,0,0,.55)}
.phero--seo .phero__headline{font-family:var(--head);font-weight:800;color:#fff;font-size:clamp(38px,5.4vw,66px);
  line-height:1.02;letter-spacing:.3px;text-shadow:0 2px 30px rgba(0,0,0,.35);text-wrap:balance}

/* ---------- Eau Claire drive stats ---------- */
.ecdrive{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:8px}
.ecstat{text-align:center;background:var(--cream);border-radius:10px;padding:30px 18px;border-top:3px solid var(--sage)}
.section--cream .ecstat{background:var(--paper)}
.ecstat__n{display:block;font-family:var(--head);font-weight:800;font-size:clamp(30px,3.6vw,44px);color:var(--green-dark);line-height:1}
.ecstat__l{display:block;font-family:var(--ui);font-weight:600;font-size:11px;letter-spacing:1.8px;text-transform:uppercase;
  color:var(--green-mid);margin-top:12px;line-height:1.4}
@media (max-width:1080px){.ecdrive{grid-template-columns:repeat(2,1fr)}}
@media (max-width:720px){.ecdrive{grid-template-columns:repeat(2,1fr);gap:12px}.ecstat{padding:22px 12px}}

/* ============================================================
   Ad landing pages — conversion chrome. No primary nav, no
   drawer: paid traffic gets one path (book) and one fallback (call).
   ============================================================ */
.lp-head{position:absolute;top:0;left:0;right:0;z-index:60;
  background:linear-gradient(180deg,rgba(2,26,18,.55) 0%,rgba(2,26,18,0) 100%)}
.lp-head .container{display:flex;align-items:center;justify-content:space-between;gap:20px;height:88px}
.lp-head .brand img{height:46px;width:auto}
.lp-head__cta{display:flex;align-items:center;gap:14px}
.lp-head__phone{color:#fff;font-family:var(--ui);font-weight:700;font-size:15px;letter-spacing:.8px;white-space:nowrap}
.lp-head__phone:hover{color:var(--sage)}

.lp-hero .container{padding-top:150px;padding-bottom:64px}
.lp-hero .hero__trust{margin-top:26px}
.lp-chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}
.lp-chip{font-family:var(--ui);font-weight:700;font-size:11px;letter-spacing:1.8px;text-transform:uppercase;
  color:var(--cream);background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.26);
  border-radius:100px;padding:8px 16px;backdrop-filter:blur(3px)}

.final__note{font-size:14.5px !important;color:rgba(255,255,255,.62) !important;margin-top:22px !important}

.lp-foot{background:#04231A;color:rgba(255,255,255,.72);text-align:center;padding:52px 0 60px}
.lp-foot img{height:48px;width:auto;margin:0 auto 18px}
.lp-foot p{font-size:15.5px;line-height:1.7}
.lp-foot a{color:#fff;font-family:var(--head);font-weight:700;font-size:19px}
.lp-foot a:hover{color:var(--sage)}
.lp-foot__fine{font-size:13px !important;color:rgba(255,255,255,.42);margin-top:16px}

@media (max-width:720px){
  .lp-head .container{height:70px;gap:12px}
  .lp-head .brand img{height:36px}
  .lp-head__phone{display:none}
  /* the wordmark plus a full-size button overran 375px by ~1px once the
     phone link is hidden; shrink the button rather than clip the brand */
  .lp-head__cta{min-width:0}
  .lp-head__cta .btn{padding:12px 15px;font-size:11.5px;letter-spacing:1px;min-height:44px}
  .lp-hero .container{padding-top:110px;padding-bottom:46px}
  .lp-chip{font-size:10px;padding:7px 12px}
}
