.passport-progress{display:grid;gap:10px;margin:18px 0 4px}.passport-row{display:grid;grid-template-columns:92px 1fr 54px;gap:12px;align-items:center}.passport-row span{font-size:.76rem;color:var(--muted)}.passport-row strong{text-align:right;font-size:.8rem}.passport-track{height:12px;border-radius:999px;background:rgba(104,115,125,.16);overflow:hidden}.passport-fill{height:100%;border-radius:999px;background:var(--ink)}.stamp-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px}.passport-stamp{min-height:150px;display:flex;flex-direction:column;justify-content:space-between;padding:18px;border:1px dashed var(--line);border-radius:50% 46% 52% 48% / 48% 52% 46% 54%;background:rgba(255,255,255,.6);text-align:center;transform:rotate(-1.2deg)}.passport-stamp:nth-child(even){transform:rotate(1.3deg)}.passport-stamp small{font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.passport-stamp strong{font-size:1.1rem;line-height:1.05}.passport-stamp span{font-size:.72rem;color:var(--muted)}.editorial-feature{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);gap:26px;padding:28px;border:1px solid var(--line);border-radius:24px;background:var(--panel);margin:16px 0}.editorial-feature h3{margin:0;font-size:clamp(2rem,5vw,4.3rem);line-height:.95;letter-spacing:-.05em}.editorial-feature p{color:var(--muted);line-height:1.55}.editorial-kicker{font-size:.7rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase;color:var(--green)}.editorial-side{display:grid;align-content:start;gap:12px}.editorial-stat{padding:14px 0;border-top:1px solid var(--line)}.editorial-stat small{display:block;color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em}.editorial-stat strong{display:block;margin-top:4px;font-size:1.2rem}.chapter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.chapter-card{display:flex;flex-direction:column;min-height:280px;padding:24px;border:1px solid var(--line);border-radius:22px;background:var(--panel);text-decoration:none}.chapter-card h3{margin:4px 0 8px;font-size:1.7rem;letter-spacing:-.035em}.chapter-card p{color:var(--muted);line-height:1.5}.chapter-card .card-value{margin-top:auto}.chapter-number{font-size:.68rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase;color:var(--green)}.ski-trip-grid{display:grid;gap:14px}.ski-trip-card{border:1px solid var(--line);border-radius:20px;background:var(--panel);overflow:hidden}.ski-trip-card summary{list-style:none;cursor:pointer;padding:20px}.ski-trip-card summary::-webkit-details-marker{display:none}.ski-trip-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center}.ski-trip-summary h3{margin:3px 0 6px;font-size:1.4rem;letter-spacing:-.025em}.ski-trip-summary p{margin:0;color:var(--muted);font-size:.78rem}.ski-trip-total{text-align:right}.ski-trip-total strong{display:block;font-size:1.15rem}.ski-trip-total span{display:block;margin-top:4px;color:var(--muted);font-size:.72rem}.ski-day-list{border-top:1px solid var(--line);padding:0 20px 10px}.ski-day-row{display:grid;grid-template-columns:100px minmax(0,1fr) auto;gap:14px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.ski-day-row:last-child{border-bottom:0}.ski-day-date{font-size:.75rem;color:var(--muted)}.ski-day-resort strong{display:block}.ski-day-resort span{display:block;margin-top:2px;color:var(--muted);font-size:.72rem}.ski-day-metrics{text-align:right;white-space:nowrap}.ski-day-metrics strong{display:block;font-size:.82rem}.ski-day-metrics span{display:block;margin-top:2px;color:var(--muted);font-size:.7rem}
.stories-page{max-width:1180px}.stories-hero{padding-bottom:34px;border-bottom:1px solid var(--ink)}.stories-hero h1{max-width:820px}.stories-hero p:last-child{max-width:660px}.story-cover-section,.story-shelf-section,.story-archive-section{margin-top:58px}.story-section-title{align-items:end;margin-bottom:18px}.story-section-title h2{margin:2px 0 0}.story-section-kicker{margin:0;color:var(--green);font-size:.66rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.story-cover{display:grid;grid-template-columns:minmax(0,1fr) 190px;min-height:470px;border-top:7px solid var(--ink);border-bottom:1px solid var(--ink);background:linear-gradient(145deg,var(--panel),rgba(255,255,255,.38));text-decoration:none;overflow:hidden}.story-cover.has-media{grid-template-columns:minmax(0,1.05fr) minmax(300px,.8fr) 150px}.story-cover-copy{display:flex;flex-direction:column;padding:clamp(28px,5vw,58px)}.story-cover-kicker,.story-feature-kicker{margin:0 0 18px;color:var(--green);font-size:.67rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.story-cover h2{max-width:800px;margin:0;font-size:clamp(3rem,8vw,7.4rem);line-height:.84;letter-spacing:-.065em}.story-cover.has-media h2{font-size:clamp(2.8rem,6vw,5.7rem)}.story-cover-dek{max-width:720px;margin:28px 0 0;color:var(--muted);font-size:clamp(1rem,1.8vw,1.22rem);line-height:1.6}.story-cover-meta{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:26px;padding-top:18px;border-top:1px solid var(--line);color:var(--muted);font-size:.74rem}.story-read{margin-top:auto;padding-top:32px;font-weight:800}.story-cover-media{position:relative;margin:0;min-height:470px;background:#e6e3dc;overflow:hidden}.story-cover-media img{width:100%;height:100%;object-fit:cover;display:block}.story-cover-media figcaption{position:absolute;left:12px;right:12px;bottom:12px;padding:7px 9px;border-radius:8px;background:rgba(23,32,42,.72);color:#fff;font-size:.62rem;line-height:1.35}.story-cover-folio{display:flex;flex-direction:column;justify-content:space-between;padding:26px 22px;border-left:1px solid var(--ink);background:var(--ink);color:var(--bg)}.story-cover-folio small{font-size:.65rem;font-weight:850;letter-spacing:.15em;text-transform:uppercase}.story-cover-folio strong{font-size:6rem;line-height:.8;letter-spacing:-.08em}.story-cover.has-media .story-cover-folio strong{font-size:4.8rem}.story-cover-folio span{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em}.story-shelf{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px}.story-feature-card{display:flex;flex-direction:column;min-height:300px;padding:26px;border:1px solid var(--line);background:var(--panel);text-decoration:none;overflow:hidden}.story-feature-card.has-media{padding:0}.story-feature-copy{display:flex;flex:1;flex-direction:column}.story-feature-card:not(.has-media) .story-feature-copy{display:contents}.story-feature-card.has-media .story-feature-copy{padding:22px}.story-feature-media{margin:0;height:190px;background:#e6e3dc;overflow:hidden}.story-feature-media img{width:100%;height:100%;object-fit:cover;display:block}.story-feature-media figcaption{padding:6px 10px;color:var(--muted);font-size:.58rem}.story-feature-1{grid-column:span 7;min-height:390px}.story-feature-2{grid-column:span 5;min-height:390px}.story-feature-3{grid-column:span 12;min-height:250px}.story-feature-3.has-media{display:grid;grid-template-columns:minmax(280px,.65fr) minmax(0,1.35fr)}.story-feature-3.has-media .story-feature-media{height:100%;min-height:250px}.story-feature-card h3{max-width:700px;margin:0;font-size:clamp(1.8rem,4vw,3.8rem);line-height:.95;letter-spacing:-.045em}.story-feature-card p:not(.story-feature-kicker){max-width:680px;color:var(--muted);line-height:1.55}.story-feature-foot{display:flex;justify-content:space-between;gap:18px;margin-top:auto;padding-top:26px;border-top:1px solid var(--line);font-size:.75rem;color:var(--muted)}.story-feature-foot strong{color:var(--ink)}.story-filters{margin:4px 0 18px}.story-index{border-top:1px solid var(--ink)}.story-index-row{display:grid;grid-template-columns:52px minmax(0,1fr) auto 24px;gap:18px;align-items:center;padding:18px 4px;border-bottom:1px solid var(--line);text-decoration:none}.story-index-row:hover{background:rgba(255,255,255,.36)}.story-index-no{font-size:.7rem;color:var(--muted);font-variant-numeric:tabular-nums}.story-index-main{display:grid;gap:3px}.story-index-main small{color:var(--green);font-size:.62rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.story-index-main strong{font-size:1.15rem;letter-spacing:-.02em}.story-index-main span{color:var(--muted);font-size:.72rem}.story-index-value{font-size:.76rem;font-weight:750;white-space:nowrap}.story-index-arrow{font-size:1.1rem}
@media(max-width:850px){.stamp-grid{grid-template-columns:repeat(2,1fr)}.editorial-feature{grid-template-columns:1fr}.chapter-grid{grid-template-columns:1fr}.story-cover,.story-cover.has-media{grid-template-columns:1fr}.story-cover-media{min-height:320px;order:2}.story-cover-folio{min-height:110px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-left:0;border-top:1px solid var(--ink);order:3}.story-cover-folio strong,.story-cover.has-media .story-cover-folio strong{font-size:4rem}.story-cover-folio span{text-align:right}.story-feature-1,.story-feature-2,.story-feature-3{grid-column:span 12;min-height:260px}.story-feature-3.has-media{display:flex;grid-template-columns:none}.story-feature-3.has-media .story-feature-media{height:210px;min-height:0}}
@media(max-width:520px){.passport-row{grid-template-columns:76px 1fr 46px}.stamp-grid{grid-template-columns:1fr 1fr}.passport-stamp{min-height:130px;padding:14px}.editorial-feature{padding:20px}.ski-trip-summary{grid-template-columns:1fr}.ski-trip-total{text-align:left}.ski-day-row{grid-template-columns:72px 1fr}.ski-day-metrics{grid-column:2;text-align:left;display:flex;gap:8px;align-items:baseline}.ski-day-metrics strong,.ski-day-metrics span{display:inline;margin:0}.story-cover{min-height:0}.story-cover-copy{padding:26px 18px}.story-cover h2,.story-cover.has-media h2{font-size:clamp(2.7rem,16vw,4.8rem)}.story-cover-media{min-height:260px}.story-cover-folio{grid-template-columns:1fr auto;padding:18px}.story-cover-folio span{display:none}.story-feature-card{padding:20px;min-height:240px}.story-feature-card.has-media{padding:0}.story-feature-card.has-media .story-feature-copy{padding:20px}.story-feature-media,.story-feature-3.has-media .story-feature-media{height:180px}.story-index-row{grid-template-columns:34px minmax(0,1fr) 18px;gap:10px}.story-index-value{display:none}.story-section-title{display:block}.story-section-title>p{margin-top:6px}}
