/* Collection-first presentation. Existing form and moderation contracts remain intact. */
:root { --paper:#f8f7f3; --paper-strong:#fffefa; --navy:#012952; --navy-deep:#011d39; --azure:#075b9c; --muted:#475b6c; --sky:#edf0ef; --radius:6px; --max:1160px; --pad:1.25rem; }
body { background:var(--paper); font-size:1rem; }
h1,h2,h3 { text-transform:none; letter-spacing:-.025em; line-height:1.08; font-family:var(--font); font-weight:400; font-stretch:normal; }
h1,.page-hero h1,.join-page .page-hero h1 { font-size:clamp(2.25rem,4.5vw,4.1rem); max-width:22ch; letter-spacing:-.04em; }
.section h2 { font-size:clamp(1.8rem,3.3vw,2.8rem); letter-spacing:-.035em; }
.eyebrow { margin-bottom:.8rem; }
.lede { margin-top:1rem; font-size:1.05rem; }
.beta-banner { font-family:var(--font); font-size:.65rem; font-stretch:normal; letter-spacing:.08em; padding:.5rem 1rem; }
.collection-nav { background:var(--paper); }
.collection-nav .nav-inner { display:grid; grid-template-columns:auto 1fr; gap:0 1rem; min-height:0; padding-top:.7rem; }
.collection-nav .brand img { width:94px; height:auto; }
.browse-nav { grid-row:2; grid-column:1/-1; display:flex; justify-content:space-between; gap:.5rem; border-top:1px solid var(--line); margin-top:.6rem; }
.browse-nav a,.account-nav a { color:var(--navy); font-size:.8rem; text-decoration:none; display:inline-flex; align-items:center; min-height:44px; }
.browse-nav a[aria-current] { box-shadow:inset 0 -2px var(--azure); color:var(--azure); }
.account-nav { justify-self:end; display:flex; align-items:center; gap:1rem; }
.account-nav .add-spot { border:1px solid var(--line); padding:0 .75rem; min-height:36px; }
.btn { border-radius:3px; font-size:.9rem; gap:1rem; }
.quiet-link { background:none; border:0; color:var(--navy); font:inherit; font-size:.9rem; padding:.65rem 0; display:inline-flex; align-items:center; min-height:44px; text-underline-offset:4px; cursor:pointer; }
.collection-hero { padding:1.4rem 0 2rem; }
.collection-intro { display:grid; gap:1rem; margin-bottom:1.35rem; }
.collection-intro .eyebrow { font-family:var(--font); font-style:normal; text-transform:uppercase; font-size:.6rem; letter-spacing:.11em; }
.collection-intro h1 { font-size:clamp(2rem,4.5vw,3.8rem); }
.collection-invitation { display:flex; flex-wrap:wrap; align-items:center; gap:.65rem 1.2rem; }
.collection-invitation p { display:none; color:var(--muted); }
.collection-invitation .btn { padding:.7rem 1rem; }
.cover-photo { margin:0; }
.cover-photo img { width:100%; height:auto; display:block; }
.cover-photo figcaption { display:flex; justify-content:space-between; gap:.5rem; flex-wrap:wrap; font-size:.75rem; padding:.8rem 0; border-bottom:1px solid var(--line); }
.cover-photo figcaption a { color:var(--navy); text-decoration:none; }
.cover-photo figcaption span { font-family:var(--accent); font-style:italic; }
.collection-footnote { display:flex; flex-wrap:wrap; gap:.75rem; justify-content:space-between; margin-top:.8rem; font-size:.75rem; color:var(--muted); }
.collection-footnote a { color:var(--navy); text-underline-offset:4px; }
.home-page .section { padding:2.4rem 0; }
.home-page .potw-section { border-top:1px solid var(--line); }
.contribute-note { border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.contribute-note p + p { margin-top:1rem; }
.card,.newsletter,.spot-form { border-radius:4px; box-shadow:none; }
.photo-card strong { font-family:var(--font); font-size:.9rem; font-stretch:normal; line-height:1.4; letter-spacing:0; text-transform:none; }
.photo-card .credit { font-size:.9rem; }
.photo-card figcaption,.photo-caption { padding-top:.7rem; gap:.2rem; }
.photo-grid .photo-card img { aspect-ratio:4/3; object-fit:contain; background:#e9e9e3; }
.featured-strip { gap:1.4rem; margin-top:1.5rem; }
.featured-strip .photo-card img { aspect-ratio:4/3; object-fit:contain; background:#e9e9e3; }
.gallery-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:.2rem 1.5rem; padding-top:.4rem; padding-bottom:.6rem; border-bottom:1px solid var(--line); margin-bottom:1.5rem; }
.gallery-toolbar a { font-size:.85rem; color:var(--navy); padding:.65rem 0; text-underline-offset:4px; }
.feed-status { font-size:.85rem; color:var(--muted); border-left:2px solid var(--azure); padding:.6rem .9rem; margin:0 0 1.5rem; }
.join-page .page-hero > .wrap { margin-top:0; margin-bottom:0; }
.join-page .page-hero { flex:initial; padding:2rem 0; }
.join-photo img { border-radius:0; object-fit:contain; height:auto; aspect-ratio:auto; }
.join-layout { align-items:start; }
.join-page .checks { font-size:.95rem; margin-top:1.5rem; }
.lightbox strong { font-family:var(--font); text-transform:none; letter-spacing:0; font-size:1rem; }
.lightbox a { color:#badef7; }
.lightbox-controls { display:flex; justify-content:space-between; gap:1rem; padding-top:.75rem; }
.lightbox-controls button { background:transparent; color:white; border:1px solid #91a5b8; border-radius:3px; min-height:44px; padding:.5rem 1rem; font:inherit; }
.lightbox-controls button:disabled { opacity:.45; }
.lightbox-close { min-height:44px; }
.top-row { border-top:1px solid var(--line); padding-top:1.2rem; }
.top-row .num { font-family:var(--accent); font-style:italic; font-size:2.4rem; color:var(--azure); }
.site-footer { margin-top:2rem; }
.footer-nav a { font-family:var(--font); font-stretch:normal; font-size:.8rem; letter-spacing:0; text-transform:none; min-height:44px; display:inline-flex; align-items:center; }
.brand-footer img { background:var(--paper); padding:.4rem; height:auto; width:110px; }
@media(min-width:800px) {
  .collection-nav .nav-inner { grid-template-columns:auto 1fr auto; padding:1rem 0; gap:2rem; }
  .collection-nav .brand img { width:120px; }
  .browse-nav { grid-row:1; grid-column:2; justify-content:center; border:0; margin:0; gap:1.6rem; }
  .collection-hero { padding-top:2.6rem; }
  .collection-intro { grid-template-columns:1.4fr 1fr; align-items:end; gap:3rem; margin-bottom:2rem; }
  .collection-invitation p { display:block; width:100%; max-width:34ch; font-size:1rem; margin-bottom:.5rem; }
  .collection-intro .eyebrow { font-size:.7rem; }
  .home-page .section { padding:3.3rem 0; }
  .top-row { grid-template-columns:70px minmax(0,1fr); }
  .top-list { max-width:900px; margin:auto; }
  .cover-photo figcaption { font-size:.85rem; }
  .car-tabs { top:100px; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; transition:none !important; } }

.welcome-guide { margin-top:1.5rem; max-width:65ch; }
.welcome-guide summary { cursor:pointer; padding:.75rem 0; text-underline-offset:4px; }
@media(max-width:799px) { .beta-page .join-photo { grid-row:1; } }

/* Model guides are visible destinations, including on narrow screens. */
.model-discovery { border-block:1px solid var(--line); }
.discovery-grid { display:grid; gap:1.5rem; }
.discovery-grid article { border-top:2px solid var(--azure); padding-top:1.25rem; }
.discovery-grid h3 { font-size:clamp(1.4rem,2.3vw,1.85rem); margin-bottom:.7rem; }
.discovery-grid p { color:var(--muted); }
.discovery-grid nav { display:flex; flex-wrap:wrap; gap:0 1.5rem; }
.discovery-grid a,.model-index-links a { color:var(--azure); min-height:44px; display:inline-flex; align-items:center; text-underline-offset:4px; }
.model-shortcuts { display:grid; gap:.75rem; margin-top:1.5rem; }
.model-shortcuts a { display:grid; gap:.4rem; padding:1rem; background:var(--sky); border-left:2px solid var(--azure); color:var(--navy); text-decoration:none; }
.model-shortcuts strong { font-weight:500; font-size:1.05rem; }
.model-shortcuts span { color:var(--muted); font-size:.85rem; }
.model-index-entry { min-width:0; }
.model-index-links { display:grid; padding:.5rem 0 1.25rem; }
.car-tabs { position:static; background:var(--navy); border:0; }
.car-tabs-inner { flex-wrap:wrap; overflow:visible; gap:.15rem 1rem; padding-block:.4rem; }
.car-tabs a { font-family:var(--font); font-size:.85rem; font-weight:400; font-stretch:normal; letter-spacing:0; text-transform:none; white-space:normal; min-height:44px; display:inline-flex; align-items:center; color:white; padding:.65rem 0; }
.car-tabs a.on { color:white; border-bottom-color:#a5d5f4; }
.car-tabs a:focus-visible { outline-color:white; }
@media(min-width:800px) { .discovery-grid { grid-template-columns:1fr 1fr; gap:3rem; } }

/* Dated meets share one reviewed calendar. Empty weekends take no space. */
[data-events][hidden] { display:none !important; }
.weekend-meets { background:#edf0ed; padding-block:2.5rem; }
.meet-grid { grid-template-columns:repeat(2,minmax(0,1fr)); margin-block:1.5rem; }
.meet-card { min-width:0; border:1px solid #d5dbd7; box-shadow:none; }
.meet-card h3 { font-size:1.25rem; line-height:1.3; }
.meet-time { font-weight:600; }
.meet-status { color:#754616; font-weight:600; }
.meet-card a { display:inline-block; padding-block:.5rem; }
@media(max-width:600px) { .meet-grid {grid-template-columns:1fr;} }
