/* FIELD_GUIDE_V1 · Michigan First Snow Adventures Flagship Composition (.wf--first-snow.fsa) */
.fsa{--wf-accent:#2a5d4e;--wf-paper:#f4f5ef;--wf-surface:#fffefa;--wf-ink:#192d29;--wf-muted:#4a605a;--wf-line:#d8ded7}
.fsa .wf-hero{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:28px;align-items:center;padding-top:26px;padding-bottom:22px}
.fsa .wf-hero h1{font-size:clamp(2.55rem,4.4vw,4.35rem);max-width:620px;letter-spacing:-.04em}
.fsa .wf-lede strong{color:#1f4c3f}
.fsa-hero-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:18px}
.fsa-hero-actions .wf-primary{margin-top:0}
.fsa-quiet-link{font-size:.82rem;font-weight:700;color:#7c4d29;text-decoration:underline;text-underline-offset:3px}
.fsa-hero-montage{display:grid;grid-template-columns:1.32fr .88fr;grid-template-rows:1fr 1fr;gap:8px;height:310px;min-width:0}
.fsa-hero-montage>.wf-photo{height:100%;min-height:0;border-radius:6px}
.fsa-hero-montage>.wf-photo:first-child{grid-row:1/3}
.fsa-hero-montage .wf-photo figcaption{font-size:.54rem;padding:20px 8px 6px}

/* 3-item first-snow signpost bar */
.fsa-signpost{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:13px 0 18px;border-top:1px solid var(--wf-line)}
.fsa-signpost>div{display:flex;flex-direction:column;gap:2px;padding:0 11px;border-left:2px solid #b8c7be}
.fsa-signpost strong{font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:#7c4d29}
.fsa-signpost span{font-size:.78rem;color:var(--wf-muted)}

/* The 4 Visual First-Snow Experience Doors */
.fsa-doors{padding:26px 0 28px;border-top:1px solid var(--wf-line)}
.fsa-doors-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:18px}
.fsa-doors-head>p{max-width:480px;font-size:.81rem;color:var(--wf-muted)}
.fsa-doors-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.fsa-door-card{position:relative;display:flex;flex-direction:column;background:var(--wf-surface);border:2px solid var(--wf-line);border-radius:8px;overflow:hidden;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.fsa-door-card:hover{border-color:#447b6a;transform:translateY(-2px);box-shadow:0 10px 24px #192d2914}
.fsa-door-card[data-active="true"]{border-color:var(--wf-accent);box-shadow:0 0 0 2px #2a5d4e29,0 10px 24px #192d2918;background:#f8fbf8}
.fsa-door-photo{position:relative;height:188px;min-height:188px;overflow:hidden;background:#dae3df}
.fsa-door-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.fsa-door-card:hover .fsa-door-photo img{transform:scale(1.03)}
.fsa-door-badge{position:absolute;top:10px;left:10px;z-index:2;background:#162925d9;color:#fff;font-size:.6rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;padding:4px 9px;border-radius:99px;backdrop-filter:blur(4px)}
.fsa-door-card[data-active="true"] .fsa-door-badge{background:#7c4d29}
.fsa-door-photo figcaption{position:absolute;bottom:0;left:0;right:0;z-index:2;padding:18px 9px 6px;background:linear-gradient(transparent,#12221fd9);color:#f3f6f4;font-size:.53rem;line-height:1.35}
.fsa-door-photo figcaption a{color:#fff}
.fsa-door-body{padding:14px 14px 13px;display:flex;flex-direction:column;gap:7px;flex:1}
.fsa-door-sub{font-size:.64rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:#7c4d29;margin:0}
.fsa-door-body h3{font-size:1.28rem;line-height:1.16;color:var(--wf-ink);margin:0}
.fsa-door-copy{font-size:.77rem;line-height:1.5;color:var(--wf-muted);margin:0}
.fsa-door-trigger{margin-top:4px;width:100%;padding:8px 11px;border-radius:5px;border:1px solid #c2cbc4;background:#f4f7f3;color:var(--wf-ink);font-size:.73rem;font-weight:700;text-align:left;display:flex;justify-content:space-between;align-items:center}
.fsa-door-card[data-active="true"] .fsa-door-trigger{background:var(--wf-accent);border-color:var(--wf-accent);color:#fff}
.fsa-door-tools{margin-top:auto;padding-top:9px;border-top:1px solid #e4e9e4;display:flex;flex-wrap:wrap;gap:5px 10px}
.fsa-door-tools a{font-size:.68rem;font-weight:700;color:#215748;text-decoration:underline;text-underline-offset:2px}
.fsa-doors-note{font-size:.72rem;color:var(--wf-muted);margin-top:11px!important}

/* Interactive First-Snow Meteorology & Trail Physics Blueprint */
.fsa-blueprint{padding:24px 0 26px;border-top:1px solid var(--wf-line)}
.fsa-blueprint-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:16px}
.fsa-blueprint-head>p{max-width:470px;font-size:.8rem;color:var(--wf-muted)}
.fsa-blueprint-layout{display:grid;grid-template-columns:minmax(250px,.88fr) minmax(0,1.12fr);gap:16px;align-items:stretch}
.fsa-blueprint-selector{display:flex;flex-direction:column;gap:8px}
.fsa-blueprint-selector button{display:grid;grid-template-columns:30px 1fr;gap:4px 10px;text-align:left;padding:11px 13px;background:var(--wf-surface);border:1px solid var(--wf-line);border-radius:6px;color:var(--wf-ink)}
.fsa-blueprint-selector button span{grid-row:1/3;font:700 .72rem/1 var(--wf-body);color:#7c4d29;padding-top:3px}
.fsa-blueprint-selector button strong{font:600 .92rem/1.25 var(--wf-display);color:var(--wf-ink)}
.fsa-blueprint-selector button small{font-size:.72rem;color:var(--wf-muted);line-height:1.35}
.fsa-blueprint-selector button[aria-pressed="true"]{background:#1e3a33;border-color:#1e3a33;color:#fff}
.fsa-blueprint-selector button[aria-pressed="true"] span{color:#eab68b}
.fsa-blueprint-selector button[aria-pressed="true"] strong{color:#fff}
.fsa-blueprint-selector button[aria-pressed="true"] small{color:#d2e2dc}
.fsa-blueprint-stage{background:var(--wf-surface);border:1px solid var(--wf-line);border-radius:7px;padding:20px 22px;display:flex;flex-direction:column;justify-content:space-between;gap:10px}
.fsa-stage-kicker{font-size:.64rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#7c4d29}
.fsa-blueprint-stage h3{font-size:clamp(1.35rem,2vw,1.72rem);color:var(--wf-ink)}
.fsa-blueprint-stage p{font-size:.84rem;line-height:1.6;color:var(--wf-muted)}
.fsa-stage-rule{padding:10px 12px;background:#edf4f0;border-left:3px solid #2a5d4e;font-size:.76rem!important;color:#1f463b!important;font-weight:500}
.fsa-stage-links{display:flex;flex-wrap:wrap;gap:8px 14px;padding-top:6px;border-top:1px solid #e4e9e4}
.fsa-stage-links a{font-size:.74rem;font-weight:700;color:#215748}

/* Story cards with structured First-Snow Plan + Bare-Ground/Thaw Backup */
.fsa .wf-story{min-height:310px}
.fsa .wf-story>.wf-photo{min-height:310px}
.fsa-meta-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.fsa-belt-pill{display:inline-flex;align-items:center;padding:2px 8px;border-radius:99px;background:#efe9dc;color:#6e4324;font-size:.64rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.fsa-window-pill{display:inline-flex;align-items:center;padding:2px 8px;border-radius:99px;background:#e5efe9;color:#215243;font-size:.64rem;font-weight:700}
.fsa-itinerary-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:4px 0}
.fsa-snow-box,.fsa-backup-box{padding:9px 11px;border-radius:5px;font-size:.75rem;line-height:1.48}
.fsa-snow-box{background:#eff5f1;border-left:3px solid #2a5d4e;color:#1f3832}
.fsa-backup-box{background:#f9f3eb;border-left:3px solid #965b33;color:#3d2f24}
.fsa-snow-box strong,.fsa-backup-box strong{display:block;font-size:.61rem;letter-spacing:.09em;text-transform:uppercase;margin-bottom:3px}
.fsa-snow-box strong{color:#1f5546}
.fsa-backup-box strong{color:#864b25}
.fsa-map-caution{padding:11px 12px;margin-top:10px;background:#ebf3ee;border-left:3px solid #457765;font-size:.73rem;color:#28483d;line-height:1.55}
.fsa-map-caution strong{display:block;font-size:.76rem;margin-bottom:2px}

/* Connected First-Snow Decision Tool Ledger */
.fsa-ledger{padding:34px 0 10px;border-top:1px solid var(--wf-line)}
.fsa-ledger-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:18px}
.fsa-ledger-head>p{max-width:470px;font-size:.8rem;color:var(--wf-muted)}
.fsa-ledger-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.fsa-ledger-card{background:var(--wf-surface);border:1px solid var(--wf-line);border-radius:6px;padding:15px;display:flex;flex-direction:column;gap:6px}
.fsa-ledger-meta{font-size:.61rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:#7c4d29}
.fsa-ledger-card h3{font-size:1.12rem;color:var(--wf-ink)}
.fsa-ledger-card p{font-size:.75rem;color:var(--wf-muted);line-height:1.5}
.fsa-ledger-card a{margin-top:auto;padding-top:6px;font-size:.73rem;font-weight:700;color:#215748}

/* Multi-pin & honest photo fallback */
.fsa .wf-pin-multi{width:24px;height:24px;background:#2a5d4e;color:#fff;border:2px solid #fff;display:flex;align-items:center;justify-content:center;border-radius:50%;font:800 11px/1 sans-serif;box-shadow:0 1px 7px #192d2966}
.fsa .wf-map-popup ul{list-style:none;margin:8px 0 0;padding:0}
.fsa .wf-map-popup li+li{border-top:1px solid #e2e8e4;padding-top:5px;margin-top:5px}
.fsa .wf-map-popup a{font-size:13px;font-weight:700;line-height:1.45;display:block}
.fsa .wf-photo img[hidden]{display:none!important}
.fsa .wf-photo[data-media-status="fallback"]{background:#dbe5df;isolation:isolate}
.fsa .wf-photo-unavailable{display:flex;flex-direction:column;justify-content:center;gap:8px;width:100%;height:100%;min-height:175px;padding:20px 16px 50px;color:#23473e;background:linear-gradient(150deg,#d8e5dd,#ecefe6)}
.fsa .wf-photo-unavailable[hidden]{display:none}
.fsa .wf-photo-unavailable-kicker{font:800 .62rem/1.3 var(--wf-body);letter-spacing:.13em;color:#7c4d29}
.fsa .wf-photo-unavailable strong{font:500 clamp(1.25rem,1.9vw,1.7rem)/1.2 var(--wf-display)}
.fsa .wf-photo-unavailable>span:last-child{font:.75rem/1.48 var(--wf-body)}

@media(max-width:1040px){
  .fsa-doors-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fsa-ledger-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:860px){
  .fsa .wf-hero{grid-template-columns:1fr;gap:18px}
  .fsa-hero-montage{height:240px}
  .fsa-blueprint-layout{grid-template-columns:1fr}
  .fsa-itinerary-grid{grid-template-columns:1fr}
  .fsa .wf-stories{display:flex;flex-direction:column}
  .fsa .wf-story,.fsa .wf-story:nth-child(2n){grid-template-columns:38% 62%}
}
@media(max-width:610px){
  .fsa-hero-montage{height:165px;grid-template-columns:1.25fr .85fr}
  .fsa-hero-montage .wf-scene{display:none}
  .fsa-signpost{grid-template-columns:1fr;gap:6px}
  .fsa-signpost>div{flex-direction:row;gap:9px;align-items:baseline;padding:2px 9px}
  .fsa-signpost strong{flex:0 0 108px;white-space:nowrap;font-size:.61rem}
  .fsa-doors-head,.fsa-blueprint-head,.fsa-ledger-head{display:block}
  .fsa-doors-head>p,.fsa-blueprint-head>p,.fsa-ledger-head>p{margin-top:8px!important}
  .fsa-doors-grid{grid-template-columns:1fr;gap:12px}
  .fsa-door-photo{height:168px;min-height:168px}
  .fsa .wf-controls{display:grid;grid-template-columns:1fr 1fr}
  .fsa .wf-controls label{min-width:0}
  .fsa .wf-controls button{grid-column:1/-1}
  .fsa .wf-story,.fsa .wf-story:nth-child(2n){grid-template-columns:1fr}
  .fsa .wf-story>.wf-photo{height:205px!important;min-height:205px!important}
  .fsa-ledger-grid{grid-template-columns:1fr}
}
@media(max-width:380px){
  .fsa .wf-controls{grid-template-columns:1fr}
  .fsa-signpost>div{flex-direction:column;gap:1px}
  .fsa-signpost strong{flex:none}
}
