/* Home page (Oct 2026 redesign). Loaded by index.html and our-story.html only, on top of style.css. */
.h2 .wrap{max-width:1180px}
.h2 h2{font-size:clamp(1.8rem,3.4vw,2.4rem);line-height:1.1;margin:6px 0 0}
.h2-k{display:block;font-weight:700;font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;color:var(--pine)}
.h2-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:22px}
.h2-more{font-weight:700;color:var(--forest);white-space:nowrap}
.h2-acts{display:flex;gap:10px;flex-wrap:wrap}.h2-acts .btn{margin:0}

/* 1 hero */
.h2-hero{position:relative;min-height:640px;display:flex;align-items:end;color:#fff;overflow:hidden}
.h2-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% 40%}
.h2-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,32,16,.86) 0%,rgba(20,32,16,.62) 42%,rgba(20,32,16,.12) 75%),linear-gradient(0deg,rgba(20,32,16,.75) 0%,rgba(20,32,16,0) 45%)}
.h2-hero-in{position:relative;padding-top:88px;padding-bottom:52px;max-width:1180px}
.h2-eyebrow{font-weight:700;font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;color:var(--sage)}
.h2-hero h1{color:#fff;font-size:clamp(2.6rem,5.6vw,4.4rem);line-height:1.02;margin:12px 0 18px;max-width:11em}
.h2-hero h1 em{color:var(--marigold);font-style:italic}
.h2-lede{font-size:1.12rem;max-width:34em;color:#E6EAD9;margin-bottom:28px}
.h2-status{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;background:rgba(245,244,236,.96);color:var(--forest);border-radius:18px;padding:16px 20px;max-width:760px;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.h2-status-main{display:flex;align-items:center;gap:14px}
.h2-status-main b{display:block;font-family:var(--display);font-weight:500;font-size:1.25rem;line-height:1.1}
.h2-status-main span{font-size:.9rem;color:#5b6650}
.h2-status-main strong{color:var(--marigold-ink)}
.h2-dot{width:14px;height:14px;border-radius:50%;background:#C9533A;box-shadow:0 0 0 4px rgba(201,83,58,.18);flex:0 0 auto}
.h2-status-acts{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.h2-status-acts .btn{margin:0;padding:12px 22px;font-size:.92rem}
.h2-link{font-weight:700;color:var(--forest);font-size:.92rem}

/* 2 find */
.h2-find{background:var(--forest);padding:26px 0 24px}
.h2-search{display:flex;align-items:center;gap:12px;background:#fff;border-radius:999px;padding:8px 8px 8px 20px;box-shadow:0 8px 24px rgba(0,0,0,.18)}
.h2-search svg{width:22px;height:22px;color:var(--forest);flex:0 0 auto}
.h2-search input{flex:1;border:0;outline:0;font:500 1.05rem var(--body);color:var(--soil);min-width:0;background:transparent}
.h2-search .btn{margin:0;padding:12px 24px}
.h2-chips{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:14px;font-size:.86rem;color:#D8E0C6}
.h2-chips a{color:#fff;border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:5px 12px;text-decoration:none;font-weight:700;font-size:.82rem}
.h2-chips a:hover{background:rgba(255,255,255,.12)}
.h2-chips .h2-pick{border:0;color:var(--marigold);margin-left:auto;padding:0}

/* 3 week */
.h2-week{padding:48px 0 20px}
.h2-week-g{display:grid;grid-template-columns:1fr 1.25fr;gap:22px;align-items:stretch}
.h2-next{position:relative;display:block;border-radius:22px;overflow:hidden;color:#fff;text-decoration:none;min-height:320px;background:var(--forest)}
.h2-next img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}
.h2-next>div{position:relative;padding:26px;display:grid;gap:6px;height:100%;align-content:end;background:linear-gradient(0deg,rgba(20,32,16,.9),rgba(20,32,16,0) 70%)}
.h2-next .h2-k{color:var(--marigold)}
.h2-next b{font-family:var(--display);font-weight:500;font-size:2.1rem;line-height:1.05}
.h2-next>div>span:last-child{font-size:.95rem;color:#E6EAD9;max-width:30em}
.h2-live{background:#fff;border-radius:22px;padding:22px 24px;box-shadow:0 2px 14px rgba(34,51,27,.08);border:1px solid var(--sage-soft)}
.h2-live-h{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}
.h2-live-h small{font-size:.76rem;color:#6B6455}
.h2-live ul{list-style:none;gap:0}
.h2-live li{display:grid;grid-template-columns:40px 1fr;gap:12px;align-items:start;padding:12px 0;border-top:1px solid #EEF1E4}
.h2-live li:first-child{border-top:0}
.h2-live i{font-style:normal;width:40px;height:40px;border-radius:12px;background:#EEF1E4;display:flex;align-items:center;justify-content:center;font-size:1.1rem}
.h2-live b{display:block;font-family:var(--display);font-weight:500;font-size:1.08rem;color:var(--forest);line-height:1.2}
.h2-live li span{font-size:.88rem;color:#5b6650}

/* 4 grow */
.h2-grow{padding:56px 0 24px}
.h2-grow-g{display:grid;grid-template-columns:repeat(5,1fr);grid-auto-rows:210px;gap:14px}
.h2-cat{position:relative;display:block;border-radius:18px;overflow:hidden;text-decoration:none;color:#fff;box-shadow:0 2px 12px rgba(34,51,27,.1)}
.h2-cat.big{grid-column:span 2;grid-row:span 2}
.h2-cat img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s}
.h2-cat:hover img{transform:scale(1.04)}
.h2-cat>span{position:absolute;left:0;right:0;bottom:0;padding:40px 16px 14px;background:linear-gradient(180deg,rgba(34,51,27,0),rgba(34,51,27,.85))}
.h2-cat b{display:block;font-family:var(--display);font-weight:500;font-size:1.25rem;line-height:1.1}
.h2-cat.big b{font-size:1.8rem}
.h2-cat small{font-size:.78rem;color:#D8E0C6}

/* 5 why */
.h2-why{padding:56px 0 48px}
.h2-why h2{max-width:18em}
.h2-why-g{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:8px}
.h2-why-c img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:16px;margin-bottom:14px}
.h2-why-c b{display:block;font-family:var(--display);font-weight:500;font-size:1.25rem;color:var(--forest);margin-bottom:6px}
.h2-why-c p{font-size:.95rem;color:#4b4434;line-height:1.55}
.h2-nums{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:40px;border-top:1px solid var(--sage-soft);padding-top:28px}
.h2-nums b{display:block;font-family:var(--display);font-weight:500;font-size:2.2rem;color:var(--forest);line-height:1}
.h2-nums span{font-size:.8rem;color:#6B6455;letter-spacing:.04em;text-transform:uppercase;font-weight:700}

/* 6 story */
.h2-story{background:var(--forest);color:var(--sage-soft);padding:64px 0}
.h2-story-g{display:grid;grid-template-columns:1.05fr 1fr;gap:44px;align-items:center}
.h2-story .h2-k{color:var(--sage)}
.h2-story h2{color:var(--glass);margin-bottom:14px}
.h2-story p{color:#D8E0C6;max-width:34em;margin-bottom:22px}
.h2-story .btn-outline{border-color:var(--sage);color:var(--glass)}
.h2-story-pics{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:12px;height:380px}
.h2-story-pics img{width:100%;height:100%;object-fit:cover;border-radius:16px}
.h2-story-pics img:first-of-type{grid-row:span 2}

/* 7 visit + month */
.h2-visit{padding:64px 0}
.h2-visit-g{display:grid;grid-template-columns:1.1fr 1fr;gap:22px;align-items:start}
.h2-visit-card{background:#fff;border-radius:22px;padding:28px 30px;box-shadow:0 2px 14px rgba(34,51,27,.08)}
.h2-visit-card h2{font-size:1.7rem;margin:6px 0 10px}
.h2-visit-card p{color:#4b4434;margin-bottom:16px}
.h2-visit-card dl{display:grid;grid-template-columns:110px 1fr;gap:8px 14px;margin-bottom:20px;font-size:.95rem}
.h2-visit-card dt{font-weight:700;color:var(--forest)}
.h2-visit-card dd small{display:block;color:#6B6455;font-size:.8rem}
.h2-month{background:#EEF1E4;border-radius:22px;padding:26px 28px;display:grid;gap:10px;align-content:start}
.h2-month h3{font-size:1.5rem;margin:4px 0 6px}
.h2-month a{background:#fff;border-radius:12px;padding:14px 16px;text-decoration:none;color:var(--forest);display:grid;gap:4px}
.h2-month a b{font-family:var(--display);font-weight:500;font-size:1.02rem;line-height:1.25}
.h2-month a span{font-size:.8rem;font-weight:700;color:var(--marigold-ink)}
.h2-month a.h2-more{background:none;padding:6px 0 0}

@media(max-width:900px){
  .h2-hero{min-height:0}
  .h2-hero-in{padding-top:56px;padding-bottom:28px}
  .h2-hero-img{object-position:78% 20%}
  .h2-hero-shade{background:linear-gradient(0deg,rgba(20,32,16,.94) 0%,rgba(20,32,16,.84) 55%,rgba(20,32,16,.35) 100%)}
  .h2-hero-in{padding-top:150px}
  .h2-status{padding:14px 16px}
  .h2-status-acts{width:100%}
  .h2-search{padding:6px 6px 6px 16px}.h2-search .btn{padding:10px 16px;font-size:.88rem}
  .h2-chips .h2-pick{margin-left:0}
  .h2-week-g,.h2-why-g,.h2-story-g,.h2-visit-g{grid-template-columns:1fr}
  .h2-next{min-height:260px}
  .h2-grow-g{grid-template-columns:1fr 1fr;grid-auto-rows:150px}
  .h2-cat.big{grid-column:span 2;grid-row:span 1}
  .h2-cat.big b{font-size:1.3rem}
  .h2-nums{grid-template-columns:repeat(3,1fr);gap:18px 8px}
  .h2-nums b{font-size:1.7rem}
  .h2-story-pics{height:260px}
  .h2-head{flex-direction:column;align-items:start;gap:6px}
  .h2-visit-card dl{grid-template-columns:1fr;gap:2px}.h2-visit-card dt{margin-top:8px}
}

/* ===== polish pass (take three) ===== */
.h2 h2{letter-spacing:-.01em}
.h2-k{display:flex;align-items:center;gap:8px}
.h2-k::before{content:"";width:18px;height:2px;background:var(--marigold);border-radius:2px}
.h2-hero .h2-eyebrow{display:flex;align-items:center;gap:8px}.h2-hero .h2-eyebrow::before{content:"";width:18px;height:2px;background:var(--marigold)}
.h2-leaf{color:var(--sage);width:34px;height:34px;margin:0 0 10px -2px}.h2-leaf svg{width:34px;height:34px}

/* hero: taller, softer, status card with a glass edge */
.h2-hero{min-height:700px}
.h2-hero-shade{background:linear-gradient(90deg,rgba(18,30,14,.9) 0%,rgba(18,30,14,.66) 40%,rgba(18,30,14,.08) 72%),linear-gradient(0deg,rgba(18,30,14,.85) 0%,rgba(18,30,14,0) 40%)}
.h2-hero-in{padding-bottom:84px}
.h2-hero h1{text-shadow:0 2px 24px rgba(0,0,0,.25)}
.h2-status{background:rgba(245,244,236,.97);border:1px solid rgba(255,255,255,.6);box-shadow:0 20px 50px rgba(0,0,0,.35),0 1px 0 rgba(255,255,255,.4) inset;padding:18px 22px;border-radius:20px}
.h2-dot{position:relative}.h2-dot::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid currentColor;opacity:.25;color:#C9533A}

/* floating search that straddles the hero edge */
.h2-find{padding:0 0 26px;background:var(--forest);position:relative}
.h2-find-in{position:relative;margin-top:-38px}
.h2-search{box-shadow:0 18px 40px rgba(0,0,0,.28);border:1px solid var(--sage-soft)}
.h2-chips{margin-top:16px}

/* this week panel */
.h2-week{padding:56px 0 24px}
.h2-next{box-shadow:0 10px 30px rgba(34,51,27,.18)}
.h2-live{box-shadow:0 10px 30px rgba(34,51,27,.1);border-color:#E4E7DA}
.h2-live i{background:#EEF1E4;color:var(--pine)}.h2-live i svg{width:20px;height:20px}
.h2-live li{padding:13px 0}
.h2-live-h small{display:inline-flex;align-items:center;gap:6px}.h2-live-h small::before{content:"";width:7px;height:7px;border-radius:50%;background:#3F8F3A;box-shadow:0 0 0 3px rgba(63,143,58,.18)}

/* grow tiles */
.h2-cat{border-radius:20px}
.h2-cat>span{padding:52px 18px 16px}
.h2-cat b{text-shadow:0 1px 10px rgba(0,0,0,.3)}

/* why + numbers band */
.h2-why{padding:64px 0 56px;background:linear-gradient(180deg,var(--glass),#EEF1E4)}
.h2-why-c{background:#fff;border-radius:20px;padding:12px 12px 20px;box-shadow:0 2px 14px rgba(34,51,27,.07)}
.h2-why-c img{border-radius:14px;margin-bottom:16px}
.h2-why-c b,.h2-why-c p{padding:0 8px}
.h2-nums-wrap{margin-top:36px;background:var(--forest);border-radius:22px;padding:30px 34px;box-shadow:0 14px 34px rgba(34,51,27,.2)}
.h2-nums{margin:0;border:0;padding:0;gap:12px}
.h2-nums b{color:var(--marigold)}.h2-nums span{color:#D8E0C6}
.h2-nums>div{border-left:1px solid rgba(255,255,255,.14);padding-left:18px}.h2-nums>div:first-child{border-left:0;padding-left:0}

/* story */
.h2-story-pics{position:relative}
.h2-year{position:absolute;left:-16px;top:-16px;z-index:2;width:96px;height:96px;border-radius:50%;background:var(--marigold);color:var(--forest);display:grid;place-content:center;text-align:center;font:700 .66rem/1 var(--body);letter-spacing:.12em;text-transform:uppercase;box-shadow:0 10px 26px rgba(0,0,0,.3);transform:rotate(-8deg)}
.h2-year b{display:block;font:500 1.9rem/1 var(--display);letter-spacing:0;margin-top:4px}
.h2-story-pics img{box-shadow:0 10px 24px rgba(0,0,0,.25)}

/* visit */
.h2-visit{background:#fff}
.h2-visit-card{background:var(--glass);box-shadow:none;border:1px solid var(--sage-soft)}
.h2-month{background:var(--forest);color:var(--sage-soft)}
.h2-month .h2-k{color:var(--sage)}.h2-month h3{color:var(--glass)}
.h2-month a{background:rgba(255,255,255,.07);color:#fff;border:1px solid rgba(255,255,255,.1)}
.h2-month a b{color:#fff}.h2-month a span{color:var(--marigold)}
.h2-month a.h2-more{background:none;border:0;color:var(--marigold)}

@media(max-width:900px){
  .h2-hero{min-height:0}
  .h2-find-in{margin-top:-28px}
  .h2-nums-wrap{padding:22px 20px}
  .h2-nums>div{border-left:0;padding-left:0}
  .h2-year{width:78px;height:78px;left:-6px;top:-10px}.h2-year b{font-size:1.5rem}
}

/* ===== take four: strategy additions ===== */
/* three doors */
.h2-doors{padding:52px 0 8px}
.h2-doors-g{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.h2-door{background:#fff;border:1px solid var(--sage-soft);border-radius:20px;padding:24px 24px 20px;box-shadow:0 2px 14px rgba(34,51,27,.06);display:grid;gap:8px;align-content:start}
.h2-door h3{font-size:1.3rem;line-height:1.2;margin:2px 0}
.h2-door p{font-size:.92rem;color:#5b6650;line-height:1.5;margin:0 0 6px}
.h2-door ul{list-style:none;display:grid;gap:6px;border-top:1px solid #EEF1E4;padding-top:12px}
.h2-door li a{font-weight:700;font-size:.9rem;color:var(--forest);text-decoration:none;display:flex;gap:8px;align-items:center}
.h2-door li a::before{content:"\2192";color:var(--marigold)}
.h2-door li a:hover{text-decoration:underline}
.h2-door-ws{background:var(--forest);border-color:var(--forest);color:var(--sage-soft)}
.h2-door-ws .h2-k{color:var(--sage)}.h2-door-ws h3{color:var(--glass)}.h2-door-ws p{color:#D8E0C6}
.h2-door-ws ul{border-top-color:rgba(255,255,255,.14)}.h2-door-ws li a{color:#fff}
/* welcome back row */
.h2-live li.h2-you{background:#FFF6DF;border-radius:12px;padding:12px;border-top:0;margin-top:6px}
.h2-live li.h2-you i{background:var(--marigold);color:var(--forest)}
/* tools */
.h2-tools{padding:60px 0 56px;background:#fff}
.h2-tools-g{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.h2-tools-g a{position:relative;background:var(--glass);border:1px solid var(--sage-soft);border-radius:18px;padding:20px 22px 18px;text-decoration:none;color:var(--forest);display:grid;gap:6px;align-content:start;transition:transform .2s,box-shadow .2s}
.h2-tools-g a:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(34,51,27,.12)}
.h2-tools-g b{font-family:var(--display);font-weight:500;font-size:1.18rem;line-height:1.2;padding-right:100px}
.h2-tools-g span{font-size:.88rem;color:#5b6650;line-height:1.5}
.h2-tools-g em{position:absolute;top:16px;right:16px;font-style:normal;font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:var(--sage-soft);color:var(--pine);border-radius:999px;padding:4px 9px}
.h2-tools-g a:first-child em{background:#DDF0D6;color:#2F6B2A}
/* faq compact */
.h2-faq{padding:60px 0}
.h2-faq .wrap{max-width:860px}
.h2-faq h2{margin:8px 0 24px}
@media(max-width:900px){
  .h2-doors-g,.h2-tools-g{grid-template-columns:1fr}
}

/* ===== live wiring (season.js tags <html> with gg-open / gg-closed) ===== */
.h2 [hidden],.st [hidden]{display:none !important}
.gg-open .h2-dot{background:#3F8F3A;box-shadow:0 0 0 4px rgba(63,143,58,.2)}
.gg-open .h2-dot::after{color:#3F8F3A}
.h2-hero-img{background:#22331B}
.h2-status-main>div>span{display:block}
.h2-next[hidden]{display:none}
.h2-next img{background:#33491F}
.h2-live ul{display:grid}
.h2-live li a{font-weight:700}
.h2-live-empty{font-size:.9rem;color:#5b6650;padding:8px 0}
.h2-grow-g .h2-cat:focus-visible,.h2-tools-g a:focus-visible,.h2-next:focus-visible{outline:3px solid var(--marigold);outline-offset:3px}
.h2-faq details{margin-bottom:10px}
.h2-month .month-card{background:rgba(255,255,255,.07);color:#fff;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:14px 16px;text-decoration:none;display:grid;gap:4px}
.h2-month .month-card-t{font-family:var(--display);font-weight:500;font-size:1.02rem;line-height:1.25;color:#fff}
.h2-month .month-card-go{font-size:.8rem;font-weight:700;color:var(--marigold)}
.h2-month .month-cards{display:grid;gap:10px}
.h2-month .month-note{font-size:.9rem;color:#D8E0C6;margin:0 0 4px}
.h2-reviews{font-size:.88rem;color:#5b6650;margin:-6px 0 16px}
.h2-reviews b{color:var(--forest)}
.h2-reviews .gg-stars{color:var(--marigold);letter-spacing:1px}
@media(max-width:900px){
  .h2-hero-in{padding-top:180px}
}
@media(max-width:520px){
  .h2-status-main b{font-size:1.12rem}
  .h2-status-acts .btn{width:100%;text-align:center}
  .h2-grow-g{grid-auto-rows:132px;gap:10px}
  .h2-cat b{font-size:1.08rem}
  .h2-chips a{padding:5px 10px}
}
/* Our Story page */
.st .wrap{max-width:1120px}
.st h2{font-size:clamp(1.8rem,3.4vw,2.4rem);line-height:1.1;margin:6px 0 0}
.st-head{margin-bottom:30px;max-width:44em}


.st-hero{position:relative;min-height:520px;display:flex;align-items:end;color:#fff;overflow:hidden}
.st-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 60%}
.st-hero-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(18,30,14,.9) 0%,rgba(18,30,14,.45) 55%,rgba(18,30,14,.15) 100%)}
.st-hero-in{position:relative;padding-top:120px;padding-bottom:56px}
.st-crumbs,.st-crumbs a{color:#D8E0C6}
.st-hero .h2-k{color:var(--sage)}
.st-hero h1{color:#fff;font-size:clamp(2.4rem,5vw,3.8rem);line-height:1.04;margin:10px 0 16px;max-width:15em}
.st-hero p{color:#E6EAD9;font-size:1.1rem;max-width:36em}

.st-intro{padding:64px 0}
.st-intro-g{display:grid;grid-template-columns:1.25fr 1fr;gap:48px;align-items:center}
.st-intro .st-big{font-family:var(--display);font-size:1.5rem;line-height:1.4;color:var(--forest);margin-bottom:18px}
.st-intro p{color:#4b4434;font-size:1.03rem}
.st-intro-pic img{width:100%;height:440px;object-fit:cover;object-position:50% 25%;border-radius:22px;box-shadow:0 18px 40px rgba(34,51,27,.2)}
.st-intro-pic figcaption{font-size:.82rem;color:#6B6455;margin-top:10px}

/* timeline */
.st-tl-sec{padding:64px 0;background:#EEF1E4}
.st-tl{list-style:none;position:relative;max-width:980px;margin:0 auto}
.st-tl::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:3px;background:var(--sage);transform:translateX(-50%);border-radius:3px}
.st-ev{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:64px;margin-bottom:28px}
.st-yr{position:absolute;left:50%;top:22px;transform:translateX(-50%);z-index:2;background:var(--forest);color:var(--marigold);font-family:var(--display);font-size:1.15rem;padding:8px 16px;border-radius:999px;box-shadow:0 0 0 6px #EEF1E4;white-space:nowrap}
.st-card{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 8px 24px rgba(34,51,27,.1);display:grid;grid-template-columns:150px 1fr;min-height:150px}
.st-ev:nth-child(odd) .st-card{grid-column:1}
.st-ev:nth-child(even) .st-card{grid-column:2}
.st-card img,.st-ph{width:150px;height:100%;min-height:150px;object-fit:cover}
.st-card>div:last-child{padding:18px 20px}
.st-card h3{margin:0;display:block;font-family:var(--display);font-weight:500;font-size:1.22rem;color:var(--forest);line-height:1.2;margin-bottom:6px}
.st-card p{font-size:.92rem;color:#4b4434;line-height:1.5;margin:0}
.st-todo .st-card{background:#FFFBF0;border:2px dashed var(--marigold);box-shadow:none}
.st-todo .st-yr{background:#fff;color:var(--marigold-ink);border:2px dashed var(--marigold)}
.st-todo .st-card h3::after{content:"to fill in";margin-left:8px;font:700 .64rem var(--body);letter-spacing:.1em;text-transform:uppercase;background:var(--marigold);color:var(--forest);border-radius:999px;padding:3px 7px;vertical-align:middle}
.st-ph{display:flex;align-items:center;justify-content:center;background:#F3EBD4;color:var(--marigold-ink);font:700 .78rem var(--body);letter-spacing:.1em;text-transform:uppercase}
.st-ph-next{background:var(--forest);color:var(--marigold)}.st-ph-next svg{width:52px;height:52px}
.st-now .st-yr{background:var(--marigold);color:var(--forest)}
.st-next .st-card{border:2px solid var(--forest)}

/* how */
.st-how{padding:64px 0}
.st-how-g{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.st-how-g>div{border-top:3px solid var(--forest);padding-top:18px}
.st-n{display:block;font-family:var(--display);font-size:2rem;color:var(--marigold);line-height:1;margin-bottom:10px}
.st-how-g h3{margin:0 0 8px;display:block;font-family:var(--display);font-weight:500;font-size:1.25rem;color:var(--forest);margin-bottom:8px}
.st-how-g p{font-size:.95rem;color:#4b4434;line-height:1.55}

/* family */
.st-fam{padding:64px 0;background:var(--forest);color:var(--sage-soft)}
.st-fam .h2-k{color:var(--sage)}.st-fam h2{color:var(--glass)}
.st-fam-pic img{width:100%;max-height:520px;object-fit:cover;object-position:50% 35%;border-radius:22px}
.st-fam-g{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:18px}
.st-fam-g div{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:16px 18px}
.st-fam-g h3{margin:0;display:block;font-family:var(--display);font-weight:500;font-size:1.15rem;color:#fff}
.st-fam-g span{font-size:.84rem;color:#D8E0C6}

/* gallery */
.st-gal{padding:64px 0}
.st-gal-g{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.st-gal-g img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:16px}

/* cta */
.st-cta{padding:52px 0;background:#EEF1E4}
.st-cta-g{display:grid;grid-template-columns:1.2fr 1fr;gap:28px;align-items:center}
.st-cta p{color:#4b4434;margin-top:8px}

@media(max-width:900px){
  .st-intro-g,.st-cta-g{grid-template-columns:1fr}
  .st-intro-pic img{height:320px}
  .st-tl::before{left:22px}
  .st-ev{grid-template-columns:1fr;gap:0;padding-left:52px;margin-bottom:22px}
  .st-ev:nth-child(odd) .st-card,.st-ev:nth-child(even) .st-card{grid-column:1}
  .st-yr{left:22px;top:-4px;transform:translateX(-50%);font-size:.95rem;padding:6px 10px}
  .st-ev{padding-top:30px}
  .st-card{grid-template-columns:1fr}.st-card img,.st-ph{width:100%;height:170px;min-height:0}
  .st-how-g,.st-fam-g{grid-template-columns:1fr}
  .st-gal-g{grid-template-columns:1fr 1fr}
}
.st .crumbs a{text-decoration:underline}
.st-hero .crumbs{margin-bottom:12px;font-size:.85rem}
.st-tl{padding:0}
.st-card img{display:block}
.st-more{max-width:44em;margin:26px auto 0;text-align:center;font-size:.95rem;color:#5b6650}
.h2 .h2-door h2.h2-door-h{font-size:1.3rem;line-height:1.2;margin:2px 0}
.h2 .h2-live-h h2.h2-k{font-size:.76rem;margin:0;line-height:1.3;letter-spacing:.14em}
.h2-door-ws h2.h2-door-h{color:var(--glass)}
.h2-why-c img,.st-gal-g img,.st-fam-pic img,.st-intro-pic img{height:auto}
.st-intro-pic img{height:440px}
@media(max-width:900px){.st-intro-pic img{height:320px}}
/* oct24s: room between the "this week" cards and the floating search bar (the bar rides up 38px into this section) */
.h2-week{padding-bottom:78px}
.h2-find{padding-top:1px}  /* stops the bar's negative margin collapsing, so it straddles the band edge as designed */
.h2-find .h2-chips{margin-top:18px}
@media(max-width:900px){.h2-week{padding-bottom:62px}}
.h2-link{display:inline-block;padding:8px 0}

/* Holiday gift card band (Oct 25, 2026): shown Nov 1 - Dec 24 by the inline script in index.html */
.h2-gift{background:var(--forest);color:var(--glass);padding:48px 0;position:relative;overflow:hidden}
.h2-gift[hidden]{display:none}
.h2-gift::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 30%,rgba(233,164,19,.18),transparent 55%),radial-gradient(circle at 10% 90%,rgba(173,194,140,.14),transparent 50%);pointer-events:none}
.h2-gift-in{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
.h2-gift .h2-k{color:var(--marigold)}
.h2-gift h2{font:500 clamp(2rem,3.4vw,2.8rem)/1.1 var(--display);color:#fff;margin:8px 0 12px}
.h2-gift p{color:#E4E8D8;font-size:1.05rem;line-height:1.6;margin:0 0 22px;max-width:34em}
.h2-gift-acts{display:flex;flex-wrap:wrap;gap:14px 22px;align-items:center}
.h2-gift-more{color:#fff;font-weight:700;font-size:.95rem}
.h2-gift-card{display:block;justify-self:center;width:min(440px,100%);transform:rotate(-3deg);border-radius:16px;overflow:hidden;box-shadow:0 22px 50px rgba(0,0,0,.35),0 0 0 6px rgba(255,255,255,.08);transition:transform .25s}
.h2-gift-card:hover{transform:rotate(-1deg) translateY(-3px)}
.h2-gift-card img{display:block;width:100%;height:auto}
@media(max-width:760px){
  .h2-gift{padding:36px 0 40px}
  .h2-gift-in{grid-template-columns:1fr;gap:26px}
  .h2-gift-card{width:min(340px,86vw);order:-1}
}

/* ===== Oct 26: hero words line up on the left, clear of Alan =====
   The text block used to shrink to its own width and sit centered on the
   photo, right across Alan and the begonia basket. Now it starts at the same
   left edge as the logo, the photo leans right, and the fade is darkest behind
   the words (stops are tied to the page center so it holds on wide screens). */
@media(min-width:901px){
  .h2-hero-in{width:100%}
  .h2-hero-img{object-position:40% 40%}
  .h2-hero-shade{background:
    linear-gradient(90deg,rgba(18,30,14,.92) 0%,rgba(18,30,14,.8) calc(50% - 100px),rgba(18,30,14,.48) calc(50% + 120px),rgba(18,30,14,.06) calc(50% + 330px)),
    linear-gradient(0deg,rgba(18,30,14,.8) 0%,rgba(18,30,14,0) 40%)}
  .h2-lede{text-shadow:0 1px 14px rgba(0,0,0,.45)}
  .h2-status{max-width:700px}
}

/* ===== Oct 29: phones see Alan, then the words =====
   On a phone the headline and intro sat right across Alan's face, because the
   photo filled the whole box behind the text. Now the photo sits on top, uncropped
   at its own shape, and the words follow underneath on the dark green -- same
   words, same order, nothing covering anyone. */
@media(max-width:700px){
  .h2-hero{display:block;min-height:0;background:#18261A}
  .h2-hero-img{position:relative;inset:auto;display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:72% 30%}
  .h2-hero-shade{inset:auto 0 auto 0;top:calc(75vw - 90px);height:92px;background:linear-gradient(0deg,#18261A 0%,rgba(24,38,26,0) 100%)}
  .h2-hero-in{padding-top:6px;padding-bottom:30px}
  .h2-hero h1{text-shadow:none;margin-top:10px}
  .h2-lede{text-shadow:none}
}

/* nov6b: narrow phones (320px). The email address set the width of the visit cards, and
   five stat columns squeezed into three left "17,000+" hanging off the green card. */
.h2-visit-g>*{min-width:0}
.h2-visit-card dd a{overflow-wrap:anywhere}
.h2-nums>div{min-width:0}
@media(max-width:420px){
  .h2-nums{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}
  .h2-nums>div:last-child{grid-column:1/-1}
}
@media(max-width:360px){
  .h2-visit-card,.h2-month{padding:22px 18px}
  .h2-visit-card dl{font-size:.9rem}
}
/* tool-card labels are 12px now; on phones they sit above the title instead of crowding it */
@media(max-width:520px){
  .h2-tools-g b{padding-right:0}
  .h2-tools-g em{position:static;justify-self:start;order:-1}
}
