
/* ===================================================================
     MASONRY MAGAZINE — Editorial Redesign (prototype v3)
     Brand: blue #3e60ab · navy #192644 · body #eeeeee · Lato + Bebas · no red.
     Sections map to the FindReplace engine (prominence / category / data-tag /
     companies-freshness / cornerstone tier 606).
     =================================================================== */
  /* Cascade hardening: the magazine's base CSS loads AFTER ours, so re-assert
     our resets scoped to #main-content (id specificity wins regardless of order). */
  #main-content a{ text-decoration:none !important; }
  #main-content img{ max-width:100%; height:auto; }
  /* ...but our object-fit:cover images must fill their fixed-ratio boxes. The blanket
     rule above is id-specificity, so re-assert height:100% at id-specificity too. */
  #main-content .mm-hero-media img, #main-content .mm-card-img img,
  #main-content .feat-lead-img img, #main-content .feat-sec .th img,
  #main-content .assoc-lead img, #main-content .hill-thumb img,
  #main-content .pc-front .pc-photo img, #main-content .treasure-card img,
  #main-content .colmn .av img, #main-content .mm-video img,
  #main-content .ig-tile img{ height:100%; }
  /* AOS safety net: content must NEVER depend on JS to be visible. aos.css sets
     [data-aos]{opacity:0} and relies on aos.js adding .aos-animate to reveal — if
     that JS races/fails (it does on this page), whole sections blank out. Force all
     animated elements visible; this loads last (CSS-in-body) so it wins over aos.css. */
  #main-content [data-aos]{ opacity:1 !important; transform:none !important; visibility:visible !important; }
  /* Card-as-link without nesting <a> inside <a>: card is a <div>, an empty .stretched-link
     overlays it for the whole-card click. Self-defined so it doesn't depend on Bootstrap's
     version. Author links ({pageContributors}) sit above the overlay so they stay clickable. */
  .stretched-link::after{ content:""; position:absolute; inset:0; z-index:1; }
  #main-content .feat-lead .byl, #main-content .colmn .au, #main-content .assoc-lead-body{ position:relative; z-index:2; }
  /* The lead card's gradient and text panel sit above the whole-card link; let clicks through to it. */
  #main-content .assoc-lead::after, #main-content .assoc-lead-body{ pointer-events:none; }
  #main-content .assoc-lead-body a{ pointer-events:auto; }
  :root{
    --mm-blue:#3e60ab; --mm-blue-link:#3e77ab; --mm-blue-dark:#355291; --mm-blue-bright:#5680d6;
    --mm-navy:#192644; --mm-accent:#3e60ab; --mm-ink:#192644;
    --mm-font-display:"Bebas Neue", sans-serif; --mm-font-body:"Lato", sans-serif;
    --mm-font-ui:system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
    --mm-bg:#eeeeee; --mm-bg-alt:#ffffff; --mm-surface:#ffffff; --mm-border:#dcdfe6;
    --mm-text:#192644; --mm-text-soft:#5b616b; --mm-text-faint:#626c7b;
  }
  [data-bs-theme="dark"]{
    --mm-blue:#7e9be0; --mm-accent:#7e9be0; --mm-bg:#101010; --mm-bg-alt:#171a21; --mm-surface:#191c23;
    --mm-border:#3d4350; --mm-ink:#0c0e13; --mm-text:#f0f3f8; --mm-text-soft:#c1c8d4; --mm-text-faint:#a5afbe;
  }
  body{ font-family:var(--mm-font-body); color:var(--mm-text); background:var(--mm-bg); -webkit-font-smoothing:antialiased; }
  a{ text-decoration:none; }
  img{ max-width:100%; }

  /* ---- reusable section header ---- */
  .mm-section{ padding:clamp(2.5rem,4.5vw,4.5rem) 0; }
  .mm-section-head{ margin-bottom:clamp(1.4rem,3vw,2.3rem); }
  .mm-eyebrow{ display:inline-flex; align-items:center; gap:.55rem; font-family:var(--mm-font-ui); font-size:.74rem; font-weight:800; letter-spacing:.18em; text-transform:uppercase; color:var(--mm-accent); }
  .mm-eyebrow::before{ content:""; width:28px; height:2px; background:var(--mm-accent); display:inline-block; }
  .mm-title{ font-family:var(--mm-font-display); font-weight:400; font-size:clamp(2.1rem,4.2vw,3.3rem); line-height:1; letter-spacing:.012em; color:var(--mm-text); margin:.4rem 0 0; }
  .mm-sub{ color:var(--mm-text-soft); max-width:620px; margin:.55rem 0 0; font-size:1.04rem; line-height:1.6; }
  .mm-head-row{ display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; flex-wrap:wrap; }
  .mm-seeall{ font-family:var(--mm-font-ui); font-size:.78rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:var(--mm-text); border-bottom:2px solid var(--mm-accent); padding-bottom:2px; white-space:nowrap; }
  .mm-seeall:hover{ color:var(--mm-accent); }
  /* Case Studies horizontal scroller — controls top-right by "All case studies" */
  .cs-head-right{ display:flex; align-items:center; gap:.9rem; }
  .cs-nav{ display:flex; gap:.4rem; }
  .cs-prev, .cs-next{ width:34px; height:34px; border-radius:50%; border:1.5px solid var(--mm-border); background:var(--mm-surface); color:var(--mm-text); cursor:pointer; display:inline-flex; align-items:center; justify-content:center; transition:border-color .2s, color .2s, opacity .2s; }
  .cs-prev:hover, .cs-next:hover{ border-color:var(--mm-accent); color:var(--mm-accent); }
  .cs-prev:disabled, .cs-next:disabled{ opacity:.35; cursor:default; }
  .cs-viewport{ overflow-x:auto; scroll-snap-type:x proximity; scrollbar-width:none; -ms-overflow-style:none; }
  .cs-viewport::-webkit-scrollbar{ display:none; }
  .cs-track{ display:flex; gap:clamp(1rem,2vw,1.5rem); align-items:stretch; }
  .cs-card{ flex:0 0 clamp(250px,26vw,300px); scroll-snap-align:start; }
  .mm-kicker{ font-family:var(--mm-font-ui); font-size:.68rem; font-weight:800; letter-spacing:.15em; text-transform:uppercase; color:var(--mm-blue); }

  /* ====================== HERO — brand-blue split + 3-story carousel ====================== */
  .mm-hero{ position:relative; overflow:hidden; color:#fff; border-bottom:4px solid var(--mm-accent);
    background:radial-gradient(125% 120% at 16% 10%, #4a6cbb 0%, var(--mm-blue) 46%, var(--mm-blue-dark) 100%); }
  .mm-hero::before{ content:""; position:absolute; inset:0; pointer-events:none; opacity:.5;
    background-image:repeating-linear-gradient(0deg, rgba(255,255,255,.05) 0 1px, transparent 1px 48px), repeating-linear-gradient(90deg, rgba(255,255,255,.04) 0 1px, transparent 1px 96px); }
  .mm-hero::after{ content:"MASONRY"; position:absolute; right:-2%; bottom:-7%; font-family:var(--mm-font-display); font-weight:400; font-size:26vw; line-height:.8; color:rgba(255,255,255,.05); pointer-events:none; letter-spacing:.02em; }
  /* stacked slides (FindReplace outputs 3 .mm-hero-slide; all share one grid cell) */
  .mm-hero-stage{ position:relative; z-index:2; display:grid; }
  .mm-hero-slide{ grid-area:1/1; opacity:0; visibility:hidden; transition:opacity .55s ease; }
  .mm-hero-slide.active{ opacity:1; visibility:visible; }
  .mm-hero-grid{ display:grid; grid-template-columns:1fr 1.04fr; gap:clamp(1.5rem,4vw,3.5rem); align-items:center; min-height:clamp(400px,58vh,560px); padding:clamp(1rem,2vw,1.6rem) 0 clamp(.5rem,1.2vw,.9rem); }
  .mm-hero-kicker:empty, .mm-kicker:empty, .fl-kick:empty, .mm-hero-byline:empty, .au:empty, .byl:empty{ display:none; }
  .mm-hero-dek{ display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
  .mm-hero-kicker{ display:inline-block; font-family:var(--mm-font-ui); font-size:.74rem; font-weight:800; letter-spacing:.18em; text-transform:uppercase; color:var(--mm-blue-dark); background:#fff; padding:.36rem .8rem; border-radius:3px; }
  .mm-hero-headline{ display:flex; gap:clamp(.9rem,1.4vw,1.4rem); margin:1rem 0 .8rem; }
  .mm-hero-bar{ flex:0 0 auto; width:6px; border-radius:3px; background:linear-gradient(#fff,rgba(255,255,255,.4)); align-self:stretch; }
  .mm-hero-title{ margin:0; font-family:var(--mm-font-display); font-weight:400; color:#fff; line-height:.92; letter-spacing:.012em; font-size:clamp(2rem,4vw,3.7rem); }
  .mm-hero-dek{ max-width:54ch; color:rgba(255,255,255,.85); font-size:clamp(1rem,1.3vw,1.18rem); line-height:1.55; margin:.2rem 0 1.5rem; }
  .mm-hero-foot{ display:flex; align-items:center; gap:1.3rem; flex-wrap:wrap; }
  .mm-hero-cta{ display:inline-flex; align-items:center; gap:.55rem; font-family:var(--mm-font-ui); font-weight:800; letter-spacing:.07em; text-transform:uppercase; font-size:.8rem; color:var(--mm-blue-dark); background:#fff; padding:.8rem 1.6rem; border-radius:5px; transition:transform .15s, box-shadow .2s; }
  .mm-hero-cta:hover{ transform:translateY(-2px); box-shadow:0 10px 26px rgba(0,0,0,.22); color:var(--mm-blue-dark); }
  .mm-hero-cta i{ transition:transform .2s; } .mm-hero-cta:hover i{ transform:translateX(4px); }
  .mm-hero-byline{ font-family:var(--mm-font-ui); font-size:.74rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.72); }
  .mm-hero-media{ position:relative; border-radius:16px; overflow:hidden; aspect-ratio:3/2; border:1px solid rgba(255,255,255,.22); box-shadow:0 30px 70px rgba(13,21,46,.45); background:var(--mm-blue-dark); }
  .mm-hero-media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:opacity .5s ease; }
  .mm-hero-media.is-fading img{ opacity:0; }
  .mm-hero-media .tag{ position:absolute; left:1rem; top:1rem; z-index:2; font-family:var(--mm-font-ui); font-size:.66rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; color:#fff; background:rgba(25,38,68,.7); padding:.32rem .7rem; border-radius:3px; }
  .mm-hero-picks{ position:relative; z-index:2; display:grid; grid-template-columns:repeat(3,1fr); gap:.7rem; padding-bottom:clamp(1rem,2vw,1.4rem); }
  .mm-pick{ position:relative; text-align:left; cursor:pointer; color:#fff; overflow:hidden; font:inherit; background:rgba(255,255,255,.09); border:1px solid rgba(255,255,255,.16); border-radius:9px; padding:.75rem .9rem .85rem; transition:background .2s, border-color .2s; }
  .mm-pick:hover{ background:rgba(255,255,255,.16); } .mm-pick.is-active{ background:rgba(255,255,255,.18); border-color:rgba(255,255,255,.45); }
  .mm-pick .num{ font-family:var(--mm-font-display); font-size:1.3rem; line-height:1; color:rgba(255,255,255,.65); } .mm-pick.is-active .num{ color:#fff; }
  .mm-pick .ct{ display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; overflow:hidden; margin-top:.15rem; font-size:.84rem; font-weight:700; }
  .mm-pick .prog{ position:absolute; left:0; bottom:0; height:2px; width:0; background:#fff; opacity:.85; }

  /* ---- buttons / generic cards ---- */
  .btn-mm{ display:inline-flex; align-items:center; gap:.5rem; background:var(--mm-accent); color:#fff; border:0; font-family:var(--mm-font-ui); font-weight:800; letter-spacing:.07em; text-transform:uppercase; font-size:.76rem; padding:.62rem 1.3rem; border-radius:5px; transition:transform .15s, background .2s; }
  .btn-mm:hover{ background:var(--mm-blue-dark); color:#fff; transform:translateY(-2px); }
  .btn-mm-outline{ display:inline-flex; align-items:center; gap:.5rem; background:transparent; color:var(--mm-text); border:1.5px solid var(--mm-border); font-family:var(--mm-font-ui); font-weight:800; letter-spacing:.07em; text-transform:uppercase; font-size:.76rem; padding:.58rem 1.3rem; border-radius:5px; transition:border-color .2s, color .2s, background .2s; }
  .btn-mm-outline:hover{ border-color:var(--mm-accent); color:var(--mm-accent); }
  .mm-card{ background:var(--mm-surface); border-radius:14px; overflow:hidden; height:100%; display:flex; flex-direction:column; box-shadow:0 2px 4px rgba(25,38,68,.06); transition:box-shadow .22s, transform .22s; }
  .mm-card:hover{ box-shadow:0 16px 40px rgba(25,38,68,.16); transform:translateY(-4px); }
  .mm-card-img{ position:relative; aspect-ratio:16/10; overflow:hidden; background:var(--mm-bg); }
  .mm-card-img img{ width:100%; height:100%; object-fit:cover; transition:transform .5s; } .mm-card:hover .mm-card-img img{ transform:scale(1.05); }
  .mm-card-body{ padding:1rem 1.1rem 1.25rem; display:flex; flex-direction:column; gap:.4rem; flex:1; }
  .mm-card-body h3{ font-family:var(--mm-font-body); font-weight:700; line-height:1.2; font-size:1.14rem; margin:0; color:var(--mm-text); }
  .mm-card:hover .mm-card-body h3{ color:var(--mm-accent); }
  .mm-card-body p{ color:var(--mm-text-soft); font-size:.93rem; line-height:1.5; margin:0; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }

  /* ====================== FEATURES (refreshed live block — Featured 1090) ====================== */
  .feat-lead{ position:relative; display:block; background:var(--mm-surface); border-radius:16px; overflow:hidden; box-shadow:0 2px 4px rgba(25,38,68,.06); transition:box-shadow .22s, transform .22s; height:100%; }
  .feat-lead:hover{ box-shadow:0 18px 44px rgba(25,38,68,.16); transform:translateY(-4px); }
  .feat-lead-img{ position:relative; aspect-ratio:21/9; overflow:hidden; background:var(--mm-bg); }
  .feat-lead-img img{ width:100%; height:100%; object-fit:cover; transition:transform .5s; } .feat-lead:hover .feat-lead-img img{ transform:scale(1.04); }
  .feat-lead-img .fl-kick{ position:absolute; left:1rem; top:1rem; z-index:2; font-family:var(--mm-font-ui); font-size:.66rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; color:#fff; background:var(--mm-accent); padding:.32rem .7rem; border-radius:3px; }
  .feat-lead-body{ padding:1.1rem 1.3rem 1.35rem; }
  .feat-lead-body h3{ font-family:var(--mm-font-display); font-weight:400; font-size:clamp(1.35rem,1.8vw,1.75rem); line-height:1.02; letter-spacing:.01em; margin:0 0 .45rem; color:var(--mm-text); }
  .feat-lead:hover .feat-lead-body h3{ color:var(--mm-accent); }
  .feat-lead-body p{ color:var(--mm-text-soft); font-size:.95rem; line-height:1.5; margin:0 0 .7rem; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
  .feat-lead-body .byl{ font-family:var(--mm-font-ui); font-size:.7rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:var(--mm-text-faint); }
  .feat-sec{ display:grid; grid-template-columns:112px 1fr; gap:.9rem; align-items:center; background:var(--mm-surface); border:1px solid var(--mm-border); border-radius:12px; overflow:hidden; padding-right:.9rem; transition:box-shadow .2s, transform .2s; }
  .feat-sec:hover{ box-shadow:0 12px 28px rgba(25,38,68,.12); transform:translateY(-2px); }
  .feat-sec .th{ width:112px; height:90px; overflow:hidden; background:var(--mm-bg); }
  .feat-sec .th img{ width:100%; height:100%; object-fit:cover; }
  .feat-sec h4{ font-family:var(--mm-font-body); font-weight:700; font-size:1rem; line-height:1.2; margin:.15rem 0 0; color:var(--mm-text); }
  .feat-sec:hover h4{ color:var(--mm-accent); }
  .feat-list{ border-top:1px solid var(--mm-border); margin-top:.25rem; }
  .feat-list a{ display:block; padding:.7rem 0; border-bottom:1px solid var(--mm-border); }
  .feat-list h4{ font-family:var(--mm-font-body); font-weight:700; font-size:.98rem; line-height:1.25; margin:.1rem 0 0; color:var(--mm-text); }
  .feat-list a:hover h4{ color:var(--mm-accent); }

  /* ====================== THIS MONTH'S ISSUE — cover rail inside Feature Stories ====================== */
  .issue-rail{ display:flex; flex-direction:column; }
  /* overflow visible so the ribbon can straddle the edge; corners rounded on the img instead */
  .issue-cover{ position:relative; border-radius:6px; box-shadow:0 16px 38px rgba(25,38,68,.28); border:1px solid var(--mm-border); }
  #main-content .issue-cover img{ display:block; width:100%; height:auto; border-radius:6px; }
  /* "Current Issue" ribbon straddling the LEFT edge near the bottom, hanging out with a folded tail */
  .issue-badge{ position:absolute; bottom:1.4rem; left:-.5rem; z-index:2; background:var(--mm-accent); color:#fff; font-family:var(--mm-font-ui); font-size:.58rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; padding:.36rem .72rem .36rem .8rem; box-shadow:0 7px 16px rgba(25,38,68,.38); }
  .issue-badge::before{ content:""; position:absolute; left:0; top:100%; border-width:0 .5rem .42rem 0; border-style:solid; border-color:transparent var(--mm-blue-dark) transparent transparent; }
  .issue-actions{ display:flex; flex-direction:column; gap:.5rem; margin-top:.9rem; }
  .issue-btn{ display:inline-flex; align-items:center; justify-content:center; gap:.45rem; font-family:var(--mm-font-ui); font-weight:800; font-size:.74rem; letter-spacing:.05em; text-transform:uppercase; padding:.7rem 1rem; border-radius:2rem; transition:background .2s, border-color .2s, color .2s, transform .15s; }
  .issue-btn--primary{ background:var(--mm-accent); color:#fff; }
  .issue-btn--primary:hover{ background:var(--mm-blue-dark); color:#fff; transform:translateY(-2px); }
  .issue-btn--ghost{ border:1.5px solid var(--mm-border); color:var(--mm-text); }
  .issue-btn--ghost:hover{ border-color:var(--mm-accent); color:var(--mm-accent); }

  /* ====================== NEWS COLUMNS — Industry News / Safety / Daily Digest ====================== */
  .newscol{ height:100%; }
  .newscol-head{ display:flex; align-items:center; justify-content:space-between; gap:.6rem; padding-bottom:.7rem; margin-bottom:.4rem; border-bottom:2px solid var(--mm-accent); }
  .newscol-head .mm-eyebrow{ margin:0; }
  .newscol-more{ font-family:var(--mm-font-ui); font-size:.66rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:var(--mm-text-faint); display:inline-flex; gap:.35rem; align-items:center; white-space:nowrap; }
  .newscol-more:hover{ color:var(--mm-accent); }
  .newscol-more i{ font-size:.85em; }
  .newscol-list{ display:flex; flex-direction:column; }
  .news-item{ display:flex; gap:.85rem; align-items:flex-start; padding:.85rem 0; border-top:1px solid var(--mm-border); }
  .news-item:first-child{ border-top:0; }
  .news-thumb{ flex:0 0 92px; width:92px; height:66px; border-radius:8px; overflow:hidden; background:var(--mm-bg); }
  #main-content .news-thumb img{ width:100%; height:100%; object-fit:cover; }
  .news-body{ min-width:0; }
  .news-item h4{ font-family:var(--mm-font-body); font-weight:700; font-size:.95rem; line-height:1.28; color:var(--mm-text); margin:0; }
  .news-item:hover h4{ color:var(--mm-accent); }
  .news-meta{ display:block; font-family:var(--mm-font-ui); font-size:.64rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--mm-text-faint); margin-top:.32rem; }
  /* Daily Digest = compact "wire feed": no thumbs, denser, date leads */
  .news-item--wire{ flex-direction:column; gap:.18rem; padding:.62rem 0; }
  .news-item--wire .news-meta{ order:-1; margin-top:0; color:var(--mm-accent); }
  .news-item--wire h4{ font-size:.92rem; }

  /* ====================== THE ASSOCIATION (Chairman + Gov't + New Members) ====================== */
  .assoc-lead{ position:relative; isolation:isolate; border-radius:14px; overflow:hidden; height:480px; display:flex; align-items:flex-end; box-shadow:0 12px 34px rgba(25,38,68,.14); }
  .assoc-lead img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:top center; z-index:0; transition:transform .5s; }
  .assoc-lead:hover img{ transform:scale(1.04); }
  .assoc-lead::after{ content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg, rgba(12,16,26,0) 30%, rgba(12,16,26,.9) 100%); }
  .assoc-lead-body{ position:relative; z-index:2; width:100%; padding:3.5rem 1.5rem 1.4rem; color:#fff; background:linear-gradient(180deg, transparent, rgba(10,14,24,.55) 45%, rgba(8,11,20,.95)); text-shadow:0 1px 8px rgba(0,0,0,.45); }
  .assoc-lead-body .mm-kicker{ color:#cdd8f5; }
  .assoc-lead-body h3{ font-family:var(--mm-font-display); font-weight:400; font-size:clamp(1.7rem,2.6vw,2.4rem); line-height:1; margin:.35rem 0 .2rem; color:#fff; }
  .assoc-lead-body .byline{ font-family:var(--mm-font-ui); font-size:.72rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.72); }
  /* MCAA chairman card: keep the pyramid badge, but a DARK overlay (not red), starting lower so the headshot reads clearly */
  .assoc-lead--mcaa::after{ background:linear-gradient(180deg, rgba(12,16,26,0) 55%, rgba(12,16,26,.92) 100%); }
  .assoc-lead--mcaa .assoc-lead-body{ padding-top:2rem; background:linear-gradient(180deg, transparent, rgba(10,14,24,.5) 55%, rgba(8,11,20,.96)); }
  .assoc-badge{ position:absolute; top:14px; right:14px; z-index:3; width:56px; height:56px; border-radius:50%; background:#fff; display:grid; place-items:center; box-shadow:0 6px 18px rgba(0,0,0,.35); }
  .assoc-badge-ic{ width:60%; height:auto; display:block; }
  .hill-item{ display:flex; gap:.9rem; align-items:center; padding:.7rem 0; border-top:1px solid var(--mm-border); }
  .hill-item:first-child{ border-top:0; }
  .hill-thumb{ flex:0 0 84px; width:84px; height:60px; border-radius:8px; overflow:hidden; background:var(--mm-bg); }
  .hill-thumb img{ width:100%; height:100%; object-fit:cover; }
  .hill-item h4{ font-family:var(--mm-font-body); font-weight:700; font-size:.98rem; line-height:1.22; margin:.15rem 0 0; color:var(--mm-text); }
  .hill-item:hover h4{ color:var(--mm-accent); }
  /* Member Updates — editorial feed above On the Hill; text-forward, MCAA-red accented.
     Driven by the additive "Member Updates" TARGET tag (typeID 1166) via data-target — a story keeps
     its category and is simply tagged. Renders empty until stories carry that tag in the CMS. */
  .upd-list{ display:flex; flex-direction:column; margin-top:.2rem; }
  .upd-item{ position:relative; display:block; padding:.75rem 0 .8rem 1rem; border-top:1px solid var(--mm-border); }
  .upd-item:first-child{ border-top:0; }
  .upd-item::before{ content:""; position:absolute; left:0; top:.95rem; bottom:.95rem; width:3px; border-radius:2px; background:#e91d2d; }
  .upd-title{ display:block; font-family:var(--mm-font-body); font-weight:700; font-size:1rem; line-height:1.24; color:var(--mm-text); }
  .upd-item:hover .upd-title{ color:#e91d2d; }
  .upd-excerpt{ display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; margin-top:.22rem; color:var(--mm-text-soft); font-size:.86rem; line-height:1.45; }
  .upd-sep{ border:0; border-top:1px solid var(--mm-border); margin:1.5rem 0 1.25rem; }

  .members{ background:var(--mm-navy); border-radius:14px; overflow:hidden; color:#fff; height:100%; display:flex; flex-direction:column; }
  .members-head{ padding:1.2rem 1.3rem 1rem; border-bottom:1px solid rgba(255,255,255,.12); }
  .members-head .mm-kicker{ color:#9db4e0; }
  .members-head h3{ font-family:var(--mm-font-display); font-weight:400; font-size:1.9rem; line-height:1; margin:.25rem 0 0; color:#fff; }
  .members-head .mm-month{ color:var(--mm-blue-bright); }
  /* cap at ~7 rows then scroll — heavy-intake months (15+ new members) would otherwise balloon the card */
  .members-list{ padding:.4rem 1.3rem 1rem; flex:1; max-height:30rem; overflow-y:auto; scrollbar-width:thin; scrollbar-color:rgba(255,255,255,.3) transparent; }
  .members-list::-webkit-scrollbar{ width:6px; }
  .members-list::-webkit-scrollbar-thumb{ background:rgba(255,255,255,.25); border-radius:3px; }
  .members-list::-webkit-scrollbar-thumb:hover{ background:rgba(255,255,255,.4); }
  .member-row{ display:flex; justify-content:space-between; gap:.75rem; align-items:flex-start; padding:.7rem 0; border-top:1px solid rgba(255,255,255,.1); }
  .member-row:first-child{ border-top:0; }
  .member-row .nm{ font-weight:700; font-size:.96rem; line-height:1.2; }
  .member-row .lo{ font-size:.8rem; color:rgba(255,255,255,.6); margin-top:.1rem; }
  .member-row .bdg{ flex:0 0 auto; font-family:var(--mm-font-ui); font-size:.6rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:#cdd8f5; background:rgba(255,255,255,.1); padding:.25rem .5rem; border-radius:20px; height:fit-content; }
  .members-foot{ padding:1rem 1.3rem; border-top:1px solid rgba(255,255,255,.12); }
  /* === MCAA red/white/black theme for the Leadership & Members section === */
  .mm-assoc .mm-section-head .mm-title{ color:#16181d; }
  [data-bs-theme="dark"] .mm-assoc .mm-section-head .mm-title{ color:#f3f4f7; }   /* readable on the dark page bg */
  .mm-assoc .mm-section-head .mm-eyebrow{ color:#e91d2d; }
  .mm-assoc .mm-section-head .mm-eyebrow::before{ background:#e91d2d; }
  .mm-assoc .mm-kicker{ color:#e91d2d; }
  .mm-assoc .assoc-lead-body .mm-kicker{ color:#ff5d68; }
  .mm-assoc .hill-item:hover h4{ color:#e91d2d; }
  .mm-assoc .mm-seeall{ border-bottom-color:#e91d2d; color:var(--mm-text); }
  .mm-assoc .mm-seeall:hover{ color:#e91d2d; }
  /* New Members: deep MCAA red card (reads in both modes; not obnoxious) */
  .mm-assoc .members{ background:linear-gradient(165deg,#7a1822 0%,#56101a 100%); }
  .mm-assoc .members-head .mm-kicker{ color:#ff9aa2; }
  .mm-assoc .members-head .mm-month{ color:#ffb3b9; }
  .mm-assoc .member-row .bdg{ color:#fff; background:rgba(255,255,255,.16); }
  .mm-assoc .members-foot .btn-mm-outline{ background:#e91d2d; border-color:#e91d2d !important; color:#fff !important; }
  .mm-assoc .members-foot .btn-mm-outline:hover{ background:#c4121f; border-color:#c4121f !important; }

  /* ====================== MARVELOUS MASONRY — travel postcards ====================== */
  .marvelous{ position:relative; overflow:hidden; background:linear-gradient(160deg, #1d2c4d 0%, var(--mm-navy) 55%, #10182c 100%); }
  /* faint dotted "world route" texture */
  .marvelous::before{ content:""; position:absolute; inset:0; pointer-events:none; opacity:.5;
    background-image:radial-gradient(rgba(255,255,255,.10) 1.2px, transparent 1.3px); background-size:26px 26px; }
  .marvelous .mm-title, .marvelous .mm-sub{ color:#fff; } .marvelous .mm-sub{ color:rgba(255,255,255,.66); }
  .marvelous .mm-eyebrow{ color:#9db4e0; } .marvelous .mm-eyebrow::before{ background:#9db4e0; }
  /* airmail ENVELOPE masthead — airmail stripe along the BOTTOM only (left-aligned) */
  .mv-head{ display:flex; justify-content:flex-start; }
  .mv-envelope{ position:relative; display:inline-block; background:#fbf8f0; padding:.6rem 1.8rem 1.05rem;
    box-shadow:0 12px 34px rgba(0,0,0,.4); cursor:pointer; overflow:hidden; }
  .mv-envelope::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:8px;
    background:repeating-linear-gradient(45deg, #d8232a 0 14px, #fbf8f0 14px 21px, #15418f 21px 35px, #fbf8f0 35px 42px); }
  .marvelous .mv-envelope .mm-title{ color:var(--mm-navy); margin:0; }
  /* The paper folds into the existing plane at the same center before takeoff. */
  .mv-head{ position:relative; perspective:900px; }
  .marvelous.is-launching{ overflow:visible; }
  .marvelous.is-launching .container{ overflow:visible; }
  html.mv-launching{ overflow-x:hidden; }
  .mv-envelope{ backface-visibility:hidden; transform-origin:50% 50%; }
  .mv-envelope::before{ content:""; position:absolute; inset:0; z-index:2; pointer-events:none; opacity:0;
    background:linear-gradient(155deg,transparent 46%,rgba(20,16,8,.22) 49%,rgba(255,255,255,.72) 50%,transparent 53%); }
  .mv-paper-fold{position:absolute;inset:0;z-index:3;pointer-events:none;opacity:0;backface-visibility:visible;background:#ece4d3;transform-origin:50% 50%}
  .mv-paper-fold--upper{clip-path:polygon(0 0,100% 0,100% 50%,0 85%);background:linear-gradient(170deg,#fbf8f0 40%,#d8cdb8)}
  .mv-paper-fold--lower{clip-path:polygon(0 100%,100% 50%,100% 100%);background:linear-gradient(12deg,#d2c6ae,#f6f1e6 80%)}
  .mv-envelope.folding{ animation:mvFold 1s cubic-bezier(.4,0,.25,1) forwards; pointer-events:none; }
  .mv-envelope.folding::before{ animation:mvCrease 1s linear forwards; }
  .mv-envelope.folding .mm-title,.mv-envelope.folding::after{animation:mvInk 1s linear forwards}
  .mv-envelope.folding .mv-paper-fold--upper{animation:mvPaperUpper 1s cubic-bezier(.35,0,.25,1) both}
  .mv-envelope.folding .mv-paper-fold--lower{animation:mvPaperLower 1s cubic-bezier(.35,0,.25,1) both}
  @keyframes mvFold{
    0%,18%{transform:rotate(0) scale(1);opacity:1}
    54%{transform:rotate(-3deg) scale(.86,.76);opacity:1}
    78%{transform:rotate(-6deg) scale(.54,.48);opacity:1}
    100%{transform:rotate(-6deg) scale(var(--mv-fold-x,.34),.25);opacity:0}
  }
  @keyframes mvInk{0%,18%{opacity:1}54%,100%{opacity:0}}
  @keyframes mvCrease{0%,16%{opacity:0}40%,74%{opacity:1}100%{opacity:0}}
  @keyframes mvPaperUpper{0%,16%{opacity:0;transform:rotateX(-155deg)}24%{opacity:1}64%,100%{opacity:1;transform:rotateX(0deg)}}
  @keyframes mvPaperLower{0%,35%{opacity:0;transform:rotateX(155deg)}43%{opacity:1}82%,100%{opacity:1;transform:rotateX(0deg)}}
  .mv-envelope.returning{ animation:mvReturn .36s cubic-bezier(.16,1,.3,1) both; }
  @keyframes mvReturn{from{transform:translateY(6px) scale(.97);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}
  /* the paper plane — used AS-AUTHORED (no flip): its sharp nose already points RIGHT = direction of travel */
  .mv-plane{ position:absolute; left:var(--mv-origin-x,80px); top:var(--mv-origin-y,50%); width:144px; height:auto; margin-left:-72px; margin-top:-24px;
    z-index:60; opacity:0; pointer-events:none; transform-origin:50% 50%;
    filter:drop-shadow(0 12px 16px rgba(0,0,0,.4)); }
  .mv-plane .pl-body{ fill:#f6f1e6; }   /* light paper — matches the masthead sheet */
  .mv-plane .pl-under{ fill:#cbc1ab; }  /* folded underside wing — darker, gives the 3D crease */
  .mv-plane-wing{transform-box:fill-box;transform-origin:75% 45%}
  .mv-plane.launched{ animation:mvSoar 3.6s linear forwards; }
  .mv-plane.launched .mv-plane-wing--upper{animation:mvWingUpper 1s cubic-bezier(.25,.8,.3,1) both}
  .mv-plane.launched .mv-plane-wing--lower{animation:mvWingLower 1s cubic-bezier(.25,.8,.3,1) both}
  @keyframes mvWingUpper{0%,50%{transform:rotate(-18deg) scaleY(.25)}100%{transform:rotate(0) scaleY(1)}}
  @keyframes mvWingLower{0%,56%{transform:rotate(24deg) scaleY(.15)}100%{transform:rotate(0) scaleY(1)}}
  /* Steady samples along one accelerating arc avoid restarting an ease at every bend. */
  @keyframes mvSoar{
    0%,18%{transform:translate3d(0,0,0) rotate(-6deg) scale(.78);opacity:0}
    23%{transform:translate3d(0,0,0) rotate(-6deg) scale(.9);opacity:.65}
    28%{transform:translate3d(0,0,0) rotate(-6deg) scale(1);opacity:1}
    36%{transform:translate3d(calc(var(--mv-travel,80vw)*.064),calc(var(--mv-drop,100px)*.012 - var(--mv-lift,45px)*.342),0) rotate(-7deg) scale(.98);opacity:1}
    44%{transform:translate3d(calc(var(--mv-travel,80vw)*.152),calc(var(--mv-drop,100px)*.049 - var(--mv-lift,45px)*.643),0) rotate(-4deg) scale(.95);opacity:1}
    52%{transform:translate3d(calc(var(--mv-travel,80vw)*.253),calc(var(--mv-drop,100px)*.111 - var(--mv-lift,45px)*.866),0) rotate(0deg) scale(.91);opacity:1}
    60%{transform:translate3d(calc(var(--mv-travel,80vw)*.363),calc(var(--mv-drop,100px)*.197 - var(--mv-lift,45px)*.985),0) rotate(3deg) scale(.86);opacity:1}
    68%{transform:translate3d(calc(var(--mv-travel,80vw)*.48),calc(var(--mv-drop,100px)*.309 - var(--mv-lift,45px)*.985),0) rotate(7deg) scale(.8);opacity:1}
    76%{transform:translate3d(calc(var(--mv-travel,80vw)*.602),calc(var(--mv-drop,100px)*.444 - var(--mv-lift,45px)*.866),0) rotate(11deg) scale(.74);opacity:1}
    84%{transform:translate3d(calc(var(--mv-travel,80vw)*.728),calc(var(--mv-drop,100px)*.604 - var(--mv-lift,45px)*.643),0) rotate(15deg) scale(.68);opacity:.9}
    92%{transform:translate3d(calc(var(--mv-travel,80vw)*.862),calc(var(--mv-drop,100px)*.789 - var(--mv-lift,45px)*.342),0) rotate(18deg) scale(.62);opacity:.65}
    100%{transform:translate3d(var(--mv-travel,80vw),var(--mv-drop,100px),0) rotate(20deg) scale(.56);opacity:0}
  }
  @media (prefers-reduced-motion:reduce){.mv-plane,.mv-paper-fold{display:none}.mv-envelope{cursor:default}.mv-plane.launched,.mv-plane.launched .mv-plane-wing,.mv-envelope.folding,.mv-envelope.returning,.mv-envelope.folding::before,.mv-envelope.folding::after,.mv-envelope.folding .mm-title,.mv-envelope.folding .mv-paper-fold{animation:none}.mv-envelope.folding{opacity:1;transform:none}}
  /* layout: ONE feature (latest) LEFT spanning two rows; TWO mini-postcards (newest first) stacked RIGHT */
  .pc-grid{ display:grid; grid-template-columns:1.24fr .76fr; grid-auto-rows:1fr; gap:clamp(1.3rem,2.6vw,2.2rem) clamp(2.4rem,5vw,4.5rem); align-items:stretch; }
  .pc{ perspective:1400px; }
  .pc-inner{ position:relative; height:100%; transform-style:preserve-3d; transition:transform .9s ease-in-out, box-shadow .4s ease;
    box-shadow:0 14px 30px rgba(0,0,0,.4); border-radius:7px; }
  /* require an intentional hover (delay) before flipping, and flip gently */
  .pc:hover .pc-inner{ transform:rotateY(180deg); box-shadow:0 26px 56px rgba(0,0,0,.5); transition-delay:.35s, 0s; }
  /* FEATURED — TWO postcards on a "desk" (no flip): photo side + written side, click to bring forward. Spans the two right rows so the cards overlap like the midyear hero */
  .pc:first-child{ grid-column:1; grid-row:1 / span 2; perspective:none; min-width:0; }
  .pc:first-child .pc-inner{ position:relative; height:100%; transform:none; box-shadow:none; border-radius:0; overflow:visible; }
  .pc:first-child:hover .pc-inner{ transform:none; box-shadow:none; }
  .pc:first-child .pc-face{ position:absolute; inset:auto; width:84%; height:auto; aspect-ratio:1.5/1;
    backface-visibility:visible; -webkit-backface-visibility:visible;
    box-shadow:0 22px 44px -12px rgba(0,0,0,.5); cursor:pointer;
    transition:transform .45s cubic-bezier(.175,.885,.32,1.275), box-shadow .4s; }
  .pc:first-child .pc-front{ top:0; right:0; transform:rotate(5deg); z-index:2; }      /* photo side on top */
  .pc:first-child .pc-back{ left:0; bottom:0; transform:rotate(-6deg); z-index:1; }     /* written side peeking behind */
  .pc:first-child .pc-face:hover{ transform:rotate(0deg) scale(1.03); z-index:5; }
  .pc:first-child .pc-face.is-front{ transform:rotate(0deg) scale(1.04); z-index:10; box-shadow:0 32px 64px -16px rgba(0,0,0,.55); }
  .pc:first-child .pc-flip-hint{ display:none; }
  /* bigger feature titles, front + back */
  .pc:first-child .pc-cap{ padding:1.1rem 1.35rem 1.35rem; }
  .pc:first-child .pc-cap .place{ font-size:clamp(2rem,3.4vw,3rem); }
  .pc:first-child .pc-cap .greet{ font-size:.72rem; }
  .pc:first-child .pc-back .bk-place{ font-size:clamp(1.55rem,2.3vw,2.15rem); }
  /* feature written side: keep the two-column layout + middle vertical rule + field lines; push credit to bottom-right */
  .pc:first-child .pc-back .bk-addr{ justify-content:flex-end; }
  /* RIGHT — two mini-postcards stacked */
  .pc:nth-child(2){ grid-column:2; grid-row:1; }
  .pc:nth-child(3){ grid-column:2; grid-row:2; }
  .pc:nth-child(n+2) .pc-inner{ aspect-ratio:16/9; height:auto; }
  .pc:nth-child(n+2) .pc-cap{ padding:.7rem .9rem .85rem; }
  .pc:nth-child(n+2) .pc-cap .place{ font-size:1.35rem; line-height:.95; }
  .pc:nth-child(n+2) .pc-cap .greet{ font-size:.56rem; }
  .pc:nth-child(n+2) .pc-stamp{ width:46px; height:32px; top:.45rem; right:.45rem; }
  .pc:nth-child(n+2) .pc-back{ padding:.75rem .85rem; }
  .pc:nth-child(n+2) .pc-back .bk-place{ font-size:1.4rem; margin-bottom:.4rem; }
  .pc:nth-child(n+2) .pc-back .bk-msg{ font-size:.7rem; -webkit-line-clamp:2; }
  .pc:nth-child(n+2) .pc-back .bk-cols{ padding-top:.5rem; gap:.6rem; }
  /* thick off-white postcard border (front + back) */
  .pc-face{ position:absolute; inset:0; backface-visibility:hidden; -webkit-backface-visibility:hidden; border-radius:7px; overflow:hidden; background:#f6f1e4; border:9px solid #f6f1e4; box-sizing:border-box; }
  .pc:nth-child(n+2) .pc-face{ border-width:6px; }
  /* publisher credit = matching postcard "address-field" lines, identical to the author byline (small uppercase, each underlined) */
  .pc-back .bk-pub, .pc-back .bk-mag{ display:block; margin-top:.55rem; font-family:var(--mm-font-ui); font-size:.58rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:rgba(25,38,68,.55); border-bottom:1px solid rgba(25,38,68,.3); padding-bottom:3px; }
  .pc:nth-child(n+2) .pc-back .bk-pub, .pc:nth-child(n+2) .pc-back .bk-mag{ font-size:.5rem; margin-top:.35rem; }
  /* "view all" airmail button — sits ABOVE the right-column postcards */
  .mv-more{ display:flex; justify-content:flex-end; margin:0 0 clamp(.6rem,1.2vw,1rem); }
  .mv-more-btn{ display:inline-flex; align-items:center; gap:.55rem; font-family:var(--mm-font-ui); font-weight:800; font-size:.74rem; letter-spacing:.12em; text-transform:uppercase; color:#fff; background:rgba(255,255,255,.06); border:1.5px solid rgba(255,255,255,.35); border-radius:2rem; padding:.7rem 1.5rem; transition:background .2s, border-color .2s, transform .15s; }
  .mv-more-btn:hover{ color:#fff; background:rgba(255,255,255,.14); border-color:#fff; transform:translateY(-2px); }
  /* "More marvels" strip — image-less stamp cards (name + country stamp), native horizontal scroll (offset 3) */
  .mv-strip{ margin-top:clamp(1.6rem,3vw,2.6rem); }
  .mv-strip-head{ display:flex; justify-content:space-between; align-items:center; margin-bottom:.7rem; }
  .mv-strip-label{ font-family:var(--mm-font-ui); font-weight:800; font-size:.66rem; letter-spacing:.18em; text-transform:uppercase; color:rgba(255,255,255,.65); }
  .mv-strip-nav{ display:flex; gap:.4rem; }
  .mv-strip-prev, .mv-strip-next{ width:34px; height:34px; border-radius:50%; border:1.5px solid rgba(255,255,255,.3); background:rgba(255,255,255,.06); color:#fff; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; transition:background .2s, border-color .2s, opacity .2s; }
  .mv-strip-prev:hover, .mv-strip-next:hover{ background:rgba(255,255,255,.16); border-color:#fff; }
  .mv-strip-prev:disabled, .mv-strip-next:disabled{ opacity:.3; cursor:default; }
  /* overflow-x:auto forces overflow-y to auto too, which clips the hover-lift; padding-top gives it headroom */
  .mv-strip-viewport{ overflow-x:auto; scroll-snap-type:x proximity; scrollbar-width:none; -ms-overflow-style:none; padding-top:.6rem; padding-bottom:.25rem; }
  .mv-strip-viewport::-webkit-scrollbar{ display:none; }
  .mv-strip-track{ display:flex; gap:.85rem; }
  .mv-stamp-card{ position:relative; overflow:hidden; flex:0 0 auto; width:clamp(165px,20vw,205px); min-height:150px; display:flex; flex-direction:column; justify-content:flex-end; padding:.9rem .95rem .55rem; background:#f6f1e4; border:7px solid #f6f1e4; border-radius:6px; box-shadow:0 8px 20px rgba(0,0,0,.3); text-decoration:none; scroll-snap-align:start; transition:transform .2s ease, box-shadow .2s ease; }
  .mv-stamp-card:hover{ transform:translateY(-4px); box-shadow:0 14px 30px rgba(0,0,0,.45); }
  #main-content .mv-stamp-card .mv-stamp-photo{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; }
  .mv-stamp-card::after{ content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg, rgba(246,241,228,0) 8%, rgba(246,241,228,.22) 36%, rgba(246,241,228,.5) 54%, rgba(246,241,228,.82) 72%, rgba(246,241,228,.97) 88%, #f6f1e4 100%); }
  .mv-stamp-card > *{ position:relative; z-index:2; }
  .mv-stamp-card .pc-stamp{ position:absolute; top:.6rem; right:.6rem; width:44px; height:30px; z-index:3; }
  .mv-stamp-eyebrow{ font-family:var(--mm-font-ui); font-size:.5rem; font-weight:800; letter-spacing:.18em; text-transform:uppercase; color:rgba(25,38,68,.6); }
  .mv-stamp-name{ font-family:var(--mm-font-display); font-weight:400; font-size:1.15rem; line-height:.98; color:var(--mm-navy); margin-top:.15rem; }
  .mv-more-btn i{ font-size:.85em; }
  /* FRONT */
  .pc-front .pc-photo{ position:absolute; inset:0; }
  .pc-front .pc-photo img{ width:100%; height:100%; object-fit:cover; }
  .pc-front::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(10,14,24,0) 45%, rgba(10,14,24,.85) 100%); }
  /* horizontal postage stamp: scalloped EDGES only (4-edge mask, composited intersect), framing a cover-filled flag */
  .pc-stamp{ --r:3px; --g:8px; position:absolute; top:.7rem; right:.7rem; z-index:3; width:66px; height:46px; background:#fff; padding:4px; box-sizing:border-box;
    filter:drop-shadow(0 1px 3px rgba(0,0,0,.4)); display:grid; place-items:center;
    -webkit-mask:
      radial-gradient(var(--r) at 50% 0,#0000 98%,#000) 0 0/var(--g) 100%,
      radial-gradient(var(--r) at 50% 100%,#0000 98%,#000) 0 0/var(--g) 100%,
      radial-gradient(var(--r) at 0 50%,#0000 98%,#000) 0 0/100% var(--g),
      radial-gradient(var(--r) at 100% 50%,#0000 98%,#000) 0 0/100% var(--g);
    -webkit-mask-composite:source-in,source-in,source-in;
    mask:
      radial-gradient(var(--r) at 50% 0,#0000 98%,#000) 0 0/var(--g) 100%,
      radial-gradient(var(--r) at 50% 100%,#0000 98%,#000) 0 0/var(--g) 100%,
      radial-gradient(var(--r) at 0 50%,#0000 98%,#000) 0 0/100% var(--g),
      radial-gradient(var(--r) at 100% 50%,#0000 98%,#000) 0 0/100% var(--g);
    mask-composite:intersect; }
  .pc-stamp .pc-stamp-frame{ display:none; width:100%; height:100%; border:1px solid #b4b4b4; background:#fff; padding:2px; box-sizing:border-box; }
  .pc-stamp.has-flag .pc-stamp-frame{ display:block; }
  #main-content .pc-stamp .pc-flag{ width:100%; height:100%; object-fit:contain; display:block; }
  .pc-stamp .pc-stamp-mm{ font-family:var(--mm-font-display); font-size:1.1rem; color:var(--mm-navy); line-height:1; }
  .pc-stamp.has-flag .pc-stamp-mm{ display:none; }
  .pc-cap{ position:absolute; left:0; right:0; bottom:0; z-index:3; padding:1rem 1.1rem 1.2rem; color:#fff; }
  .pc-cap .greet{ font-family:var(--mm-font-ui); font-size:.6rem; font-weight:800; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.75); }
  .pc-cap .place{ font-family:var(--mm-font-display); font-weight:400; font-size:1.7rem; line-height:.92; margin-top:.15rem; }
  .pc-flip-hint{ position:absolute; right:.8rem; bottom:.9rem; z-index:3; font-size:.7rem; color:rgba(255,255,255,.7); }
  /* BACK — classic postcard: title, horizontal rule, then a vertical rule splitting message (left) / address (right) */
  .pc-back{ transform:rotateY(180deg); background:#f5f1e6; color:#2a2f3a; padding:1.2rem 1.25rem 1.05rem; display:flex; flex-direction:column; }
  .pc-back .bk-loc{ font-family:var(--mm-font-ui); font-size:.62rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--mm-blue); margin-bottom:.32rem; }
  .pc-back .bk-place{ font-family:var(--mm-font-display); font-size:1.5rem; line-height:.95; color:var(--mm-navy); margin-bottom:.7rem; }
  .pc-back .bk-rule-h{ display:block; height:1px; background:rgba(25,38,68,.28); }
  .pc-back .bk-cols{ display:grid; grid-template-columns:1fr 1px .8fr; gap:.85rem; flex:1; min-height:0; padding-top:.8rem; }
  .pc-back .bk-vrule{ background:rgba(25,38,68,.28); }
  .pc-back .bk-left{ display:flex; flex-direction:column; min-height:0; }
  .pc-back .bk-msg{ font-size:.8rem; line-height:1.42; color:#41434a; flex:1; display:-webkit-box; -webkit-line-clamp:5; -webkit-box-orient:vertical; overflow:hidden; }
  .pc-back .bk-read{ margin-top:.5rem; font-family:var(--mm-font-ui); font-size:.66rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--mm-blue); }
  .pc-back .bk-addr{ display:flex; flex-direction:column; }
  .pc-back .bk-by{ display:block; }
  .pc-back .bk-by > span{ display:block; font-family:var(--mm-font-ui); font-size:.58rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:rgba(25,38,68,.55); border-bottom:1px solid rgba(25,38,68,.3); padding-bottom:3px; }
  .pc-back .bk-by > span i{ display:none; }
  .pc-back .bk-by > a{ display:block; margin-top:.6rem; font-family:var(--mm-font-body); font-weight:700; font-size:.82rem; line-height:1.2; color:var(--mm-navy); text-transform:none; letter-spacing:0; border-bottom:1px solid rgba(25,38,68,.3); padding-bottom:3px; }

  /* ====================== EVENTS — compact ticker (under the Chairman's Message; black + MCAA red) ====================== */
  /* a small auto-rotating widget (à la homepage 35990's announcement rail); each .evt-slide is one event.
     Midyear's slide pulls live dates from item 933; the track translates vertically between slides. */
  .evt-ticker{ position:relative; margin-top:1.1rem; background:linear-gradient(160deg,#1c1e23 0%,#121215 100%); border:1px solid #2c2e35; border-radius:14px; padding:.95rem 1.2rem 1.05rem 1.4rem; color:#fff; overflow:hidden; }
  .evt-ticker::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:4px; background:#e91d2d; }   /* MCAA red spine */
  .evt-ticker-head{ display:flex; align-items:center; justify-content:space-between; gap:.5rem; margin-bottom:.45rem; }
  .evt-ticker-head .mm-kicker{ color:#ff5d68; display:inline-flex; align-items:center; gap:.4rem; }
  .evt-ticker-ctrl{ display:flex; align-items:center; gap:.7rem; }
  .evt-dots{ display:flex; gap:.32rem; }
  .evt-dot{ width:5px; height:5px; border-radius:50%; background:rgba(255,255,255,.28); transition:background .2s; }
  .evt-dot.is-active{ background:#e91d2d; }
  .evt-ticker-nav{ display:flex; gap:.3rem; }
  .evt-nav{ width:26px; height:26px; border-radius:50%; border:1.5px solid rgba(233,29,45,.55); background:rgba(233,29,45,.12); color:#fff; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; font-size:.58rem; transition:background .2s, border-color .2s; }
  .evt-nav:hover{ background:#e91d2d; border-color:#e91d2d; }
  .evt-viewport{ --evt-h:5rem; height:var(--evt-h); overflow:hidden; }
  .evt-track{ transition:transform .55s cubic-bezier(.4,0,.2,1); }
  .evt-slide{ height:var(--evt-h); }
  .evt-card{ height:100%; display:flex; flex-direction:row; align-items:center; justify-content:space-between; gap:1.2rem; text-decoration:none; }
  .evt-card-main{ min-width:0; display:flex; flex-direction:column; }
  .evt-kicker{ font-family:var(--mm-font-ui); font-size:.58rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; color:#ff5d68; }
  .evt-title{ font-family:var(--mm-font-display); font-weight:400; font-size:1.75rem; line-height:1; color:#fff; margin:.16rem 0 .32rem; }
  .evt-date{ font-family:var(--mm-font-ui); font-size:.8rem; font-weight:600; color:rgba(255,255,255,.78); display:flex; align-items:center; gap:.45rem; }
  .evt-date i{ color:#ff5d68; font-size:.85em; }
  .evt-cta{ flex:0 0 auto; font-family:var(--mm-font-ui); font-size:.68rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:#fff; background:#e91d2d; padding:.62rem 1.15rem; border-radius:2rem; display:inline-flex; align-items:center; gap:.45rem; transition:background .2s, transform .15s; }
  .evt-card:hover .evt-cta{ background:#c4121f; transform:translateY(-1px); }
  @media (max-width:420px){ .evt-card{ flex-direction:column; align-items:flex-start; gap:.5rem; } .evt-viewport{ --evt-h:7rem; } }

  /* ====================== AMERICAN TREASURE — stamps row ====================== */
  .treasure-card{ position:relative; border-radius:10px; overflow:hidden; aspect-ratio:5/6; display:flex; align-items:flex-end; box-shadow:0 8px 22px rgba(25,38,68,.14); border:5px solid #fff; outline:1px solid var(--mm-border); transition:transform .25s, box-shadow .25s; }
  .treasure-card img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; transition:transform .5s; }
  .treasure-card:hover{ transform:translateY(-5px) rotate(-1deg); box-shadow:0 18px 40px rgba(25,38,68,.22); }
  .treasure-card:hover img{ transform:scale(1.06); }
  .treasure-card::after{ content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg, rgba(12,16,26,0) 40%, rgba(12,16,26,.9) 100%); }
  .treasure-body{ position:relative; z-index:2; padding:.9rem 1rem 1.05rem; color:#fff; }
  .treasure-body .loc{ font-family:var(--mm-font-ui); font-size:.58rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; color:rgba(255,255,255,.75); }
  .treasure-body .nm{ font-family:var(--mm-font-display); font-weight:400; font-size:1.3rem; line-height:.95; margin-top:.15rem; }

  /* ====================== COLUMNISTS + author chat ====================== */
  .colmn{ position:relative; display:flex; gap:.9rem; align-items:center; background:var(--mm-surface); border:1px solid var(--mm-border); border-radius:12px; padding:.85rem; transition:box-shadow .2s, transform .2s; height:100%; }
  .colmn:hover{ box-shadow:0 12px 30px rgba(25,38,68,.12); transform:translateY(-3px); }
  .colmn .av{ flex:0 0 64px; width:64px; height:64px; border-radius:50%; overflow:hidden; background:var(--mm-bg); border:2px solid var(--mm-border); }
  .colmn .av img{ width:100%; height:100%; object-fit:cover; }
  .colmn .col{ font-family:var(--mm-font-ui); font-size:.64rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; color:var(--mm-blue); }
  .colmn .ti{ font-family:var(--mm-font-body); font-weight:700; font-size:1rem; line-height:1.2; color:var(--mm-text); margin:.12rem 0 0; }
  .colmn:hover .ti{ color:var(--mm-accent); }
  .colmn .au{ font-size:.78rem; color:var(--mm-text-faint); margin-top:.12rem; }
  /* Outreach Outlook — full-width MCAA red/black feature card (last columnist slot) */
  /* Outreach Outlook — distinct treatment: text left (big type), rectangular image filling the right */
  .colmn--outreach{ background:#e91d2d; border:0; gap:0; padding:0; overflow:hidden; align-items:stretch; box-shadow:0 6px 20px rgba(0,0,0,.15); }
  .colmn--outreach .oo-body{ flex:1; min-width:0; padding:1.5rem 1.8rem; display:flex; flex-direction:column; justify-content:center; }
  .colmn--outreach .col{ color:rgba(255,255,255,.9); font-size:.7rem; }
  .colmn--outreach .ti{ color:#fff; font-family:var(--mm-font-display); font-weight:400; font-size:clamp(1.55rem,2.6vw,2.25rem); line-height:1.02; letter-spacing:.012em; margin:.35rem 0 .45rem; }
  .colmn--outreach:hover .ti{ color:#fff; }
  .colmn--outreach .au, .colmn--outreach .au a{ color:rgba(255,255,255,.85); }
  .colmn--outreach .oo-img{ flex:0 0 36%; max-width:36%; overflow:hidden; }
  #main-content .colmn--outreach .oo-img img{ width:100%; height:100%; object-fit:cover; display:block; }
  /* MCAA logo opposite the Leadership & Members title (full on large, icon on small) */
  .assoc-mcaa-logo{ display:flex; align-items:center; flex:0 0 auto; }
  .assoc-logo-full{ display:none; }
  #main-content .assoc-logo-icon{ height:46px; width:auto; display:block; }
  @media (min-width:992px){
    #main-content .assoc-logo-icon{ display:none; }
    #main-content .assoc-logo-full{ display:block; height:54px; width:auto; }
  }
  /* author chat — 35990 structure, GEORGE black/yellow/white skin */
  .chatbox{ background:#141414; border-radius:14px; overflow:hidden; color:#fff; display:flex; flex-direction:column; border:1px solid rgba(255,255,255,.12); }
  .ac-head{ display:flex; align-items:center; justify-content:center; gap:.5rem; padding:.8rem .9rem; border-bottom:1px solid rgba(255,255,255,.14); background:#1e1e1e; }
  .ac-head-ic{ display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; width:1.65rem; height:1.65rem; border-radius:7px; background:#FFF700; color:#141414; font-size:.85rem; }
  .ac-head h3{ font-family:var(--mm-font-ui); font-weight:800; font-size:1.1rem; letter-spacing:.01em; line-height:1.2; margin:0; color:#fff; }
  .ac-ai-label{flex:none;padding:.15rem .3rem;border:1px solid #fff70070;border-radius:4px;color:#fff700;font:700 .75rem/1.2 system-ui,sans-serif}
  .ac-list{ display:flex; flex-direction:column; gap:.15rem; padding:.4rem; }
  .ac-card{ display:flex; align-items:center; gap:.65rem; min-width:0; min-height:44px; padding:.5rem; border-radius:9px; color:#fff; text-decoration:none; transition:background-color .15s; }
  .ac-card:hover{ background:rgba(255,255,255,.09); color:#fff; }
  .ac-card:focus-visible{outline:2px solid #fff700;outline-offset:-2px;background:#ffffff17}
  .ac-avatar{ position:relative; display:block; flex:0 0 40px; width:40px; height:40px; }
  #main-content .ac-avatar img{ width:40px; height:40px; border-radius:50%; object-fit:cover; object-position:center top; border:2px solid rgba(255,255,255,.18); transition:border-color .2s; }
  .ac-card:hover .ac-avatar img{ border-color:#FFF700; }
  .ac-initials{display:grid;place-items:center;width:40px;height:40px;border:2px solid #ffffff30;border-radius:50%;background:#303030;color:#fff;font:600 .875rem/1 system-ui,sans-serif}
  .ac-avatar .ac-initials{position:absolute;inset:0}
  .ac-avatar .ac-initials + img{position:relative;opacity:0}
  .ac-avatar.has-photo .ac-initials + img{opacity:1}
  .ac-avatar.has-photo .ac-initials{visibility:hidden}
  .ac-info{ display:flex; flex-direction:column; min-width:0; flex:1; }
  .ac-name{ font-family:var(--mm-font-body); font-weight:700; font-size:.95rem; color:#fff; line-height:1.25; overflow-wrap:anywhere; }
  .ac-role{ font:400 .8125rem/1.35 system-ui,sans-serif; color:#c9cbd1; overflow-wrap:anywhere; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
  .ac-topic{ display:inline-block; align-self:flex-start; font:600 .75rem/1.35 system-ui,sans-serif; color:#FFF700; background:rgba(255,247,0,.13); padding:.12rem .45rem; border-radius:1rem; margin-top:.2rem; overflow-wrap:anywhere; transition:background-color .15s,color .15s; }
  .ac-card:hover .ac-topic{ background:#FFF700; color:#141414; }
  .ac-arrow{ margin-left:auto; flex-shrink:0; width:24px; height:24px; display:flex; align-items:center; justify-content:center; border-radius:50%; background:rgba(255,255,255,.08); color:#c9cbd1; font-size:.75rem; transition:background-color .2s, color .2s, transform .2s; }
  .ac-card:hover .ac-arrow{ background:#FFF700; color:#141414; transform:translateX(2px); }
  .ac-powered{ display:flex; align-items:center; justify-content:center; gap:.45rem; padding:.75rem; background:#FFF700; }
  .ac-powered > span{ font:700 .75rem/1.2 system-ui,sans-serif; letter-spacing:.04em; text-transform:uppercase; color:#141414; }
  .ac-george-chip{ background:transparent; padding:0; display:flex; align-items:center; }
  #main-content .ac-george-chip img{ height:12px; width:auto; display:block; }
  .ac-status{margin:.25rem .9rem .5rem;color:#dedfe3;font:400 .8125rem/1.4 system-ui,sans-serif}
  .ac-status[hidden]{display:none}

  /* ====================== PARTNER CORNER (black theme) ====================== */
  .mm-mapcorner{ background:linear-gradient(165deg,#050506 0%,#161618 52%,#0a0a0c 100%); position:relative; overflow:hidden; }
  .mm-mapcorner .mm-title{ color:#fff; } .mm-mapcorner .mm-eyebrow{ color:#b9bcc4; } .mm-mapcorner .mm-eyebrow::before{ background:#e91d2d; }
  .partner-strip{ background:#fff; border-radius:12px; padding:1rem; display:flex; flex-wrap:wrap; gap:1rem 1.6rem; align-items:center; justify-content:center; }
  .partner-strip a{ flex:0 0 auto; opacity:.85; transition:opacity .2s, transform .2s; } .partner-strip a:hover{ opacity:1; transform:translateY(-2px); }
  .partner-strip img{ height:36px; width:auto; object-fit:contain; }
  .partner-tier{ text-align:center; font-family:var(--mm-font-ui); font-size:.7rem; font-weight:800; letter-spacing:.2em; text-transform:uppercase; color:#e91d2d; margin-bottom:.7rem; }
  /* infinite partner-story carousel */
  .pc-carousel{ position:relative; }
  .pc-viewport{ overflow:hidden; }
  .pc-track{ display:flex; gap:1rem; will-change:transform; align-items:stretch; }
  .pc-track .mc-card{ flex:0 0 clamp(240px,30%,300px); }
  .pc-controls{ display:flex; gap:.5rem; align-self:flex-end; }
  .pc-nav{ width:40px; height:40px; border-radius:50%; border:0; background:#e91d2d; color:#fff; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:background .2s, transform .15s; }
  .pc-nav:hover{ background:#c4121f; transform:translateY(-2px); }
  @media (max-width:575px){ .pc-track .mc-card{ flex:0 0 82%; } }
  .mc-card{ background:rgba(255,255,255,.045); border:1px solid rgba(255,255,255,.09); border-radius:12px; overflow:hidden; height:100%; display:flex; flex-direction:column; transition:transform .22s, background .22s; }
  .mc-card:hover{ transform:translateY(-4px); background:rgba(255,255,255,.08); }
  .mc-card .mm-card-img{ aspect-ratio:16/10; background:#0c0d10; }
  .mc-card .bd{ padding:.85rem 1rem 1.05rem; }
  .mc-card .col{ font-family:var(--mm-font-ui); font-size:.62rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; color:#ff5560; }
  .mc-card h3{ font-family:var(--mm-font-body); font-weight:700; font-size:1.02rem; line-height:1.2; color:#fff; margin:.2rem 0 0; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
  .mc-card:hover h3{ color:#ff9aa1; }

  /* ====================== VIDEOS ====================== */
  .mm-video{ position:relative; border-radius:12px; overflow:hidden; aspect-ratio:16/9; display:block; box-shadow:0 8px 24px rgba(25,38,68,.16); }
  .mm-video img{ width:100%; height:100%; object-fit:cover; transition:transform .5s; } .mm-video:hover img{ transform:scale(1.06); }
  .mm-video::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(0,0,0,.4)); }
  .mm-video .pl{ position:absolute; inset:0; z-index:2; display:flex; align-items:center; justify-content:center; }
  .mm-video .pl i{ width:58px; height:58px; border-radius:50%; background:rgba(62,96,171,.94); color:#fff; display:flex; align-items:center; justify-content:center; font-size:1.25rem; transition:transform .2s; box-shadow:0 6px 20px rgba(62,96,171,.5); }
  .mm-video:hover .pl i{ transform:scale(1.12); }

  /* ====================== INSTAGRAM (dependency-free draft) ====================== */
  .ig-tile{ position:relative; display:block; aspect-ratio:1; border-radius:10px; overflow:hidden; }
  .ig-tile img{ width:100%; height:100%; object-fit:cover; transition:transform .4s; }
  .ig-tile:hover img{ transform:scale(1.07); }
  .ig-tile::after{ content:"\f16d"; font-family:"Font Awesome 6 Brands"; position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:#fff; font-size:1.5rem; background:rgba(25,38,68,.45); opacity:0; transition:opacity .25s; }
  .ig-tile:hover::after{ opacity:1; }

  /* ---- ad slots ---- */
  .mm-ad{ background:repeating-linear-gradient(45deg,var(--mm-bg-alt),var(--mm-bg-alt) 10px,rgba(0,0,0,.025) 10px,rgba(0,0,0,.025) 20px); border:1px dashed var(--mm-border); border-radius:8px; display:flex; align-items:center; justify-content:center; color:var(--mm-text-faint); font-family:var(--mm-font-ui); font-size:.7rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
  .mm-ad-leaderboard{ height:90px; } .mm-ad-box{ height:250px; }
  /* Reserve real creative widths; a rendered ad that no longer fits waits for normal refresh. */
  .mm-video-row{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:center}
  .mm-video-player{min-width:0}
  .mm-video-row > [data-magazine-ad]{justify-self:center;max-width:300px}
  .mm-video-row:has(> [data-mm-ad-fit="hidden"]){grid-template-columns:minmax(0,1fr)}
  [data-mm-ad-fit="hidden"]{display:none !important}
  @media(max-width:991px){.mm-video-row{grid-template-columns:minmax(0,1fr)}}
/* MCAA homepage Stay Connected, scoped to Magazine. Decorative cards are static. */
#main-content .mm-socials{background:var(--mm-bg-alt)}
#main-content .mm-socials .container.container-wide{max-width:1120px;margin:0 auto;padding-inline:clamp(1rem,4vw,3rem)}
#main-content .mm-socials .row{--bs-gutter-x:clamp(2rem,4vw,4rem);--bs-gutter-y:2rem}
#main-content .mm-socials .socials-intro{text-align:left;margin-bottom:1.5rem;max-width:30rem}
#main-content .mm-socials .socials-intro h2{font-size:clamp(1.8rem,3vw,2.4rem);font-weight:400;line-height:1.15;color:var(--mm-text);margin:0 0 .5rem}
#main-content .mm-socials .socials-intro p{color:var(--mm-text-soft);font-size:.9375rem;line-height:1.6;margin:0}
#main-content .mm-socials .social-cards-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
#main-content .mm-socials .social-card{display:flex;flex-direction:column;align-items:center;gap:.5rem;min-width:0;min-height:44px;padding:1.5rem 1rem;border:1px solid var(--mm-border);border-radius:1rem;background:var(--mm-surface);color:var(--mm-text);text-align:center;text-decoration:none;transition:transform .2s,box-shadow .2s,border-color .2s}
#main-content .mm-socials .social-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #0000001a;border-color:var(--mm-accent);color:var(--mm-text)}
#main-content .mm-socials .social-card:focus-visible{outline:3px solid var(--mm-accent);outline-offset:3px;box-shadow:0 0 0 3px var(--mm-bg-alt)}
#main-content .mm-socials .social-card-icon{display:flex;align-items:center;justify-content:center;flex:none;width:52px;height:52px;border-radius:.85rem;font-size:1.4rem;color:#fff;margin-bottom:.35rem;transition:transform .2s}
#main-content .mm-socials .social-card:hover .social-card-icon{transform:scale(1.08)}
#main-content .mm-socials :is(.social-card-icon,.social-ambient-icon).facebook{background:#1877f2}
#main-content .mm-socials :is(.social-card-icon,.social-ambient-icon).instagram{background:linear-gradient(135deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888)}
#main-content .mm-socials :is(.social-card-icon,.social-ambient-icon).linkedin{background:#0a66c2}
#main-content .mm-socials :is(.social-card-icon,.social-ambient-icon).youtube{background:#f00}
#main-content .mm-socials .social-card-name{font-size:.9375rem;font-weight:700;line-height:1.3;color:var(--mm-text)}
#main-content .mm-socials .social-card-handle{font-size:.8125rem;line-height:1.4;color:var(--mm-text-soft);overflow-wrap:anywhere}
#main-content .mm-socials .social-card-follow{display:inline-block;margin-top:.25rem;font-size:.75rem;font-weight:700;line-height:1.4;letter-spacing:.06em;text-transform:uppercase;color:var(--mm-accent)}
#main-content .mm-socials .social-ambient-shell{position:relative;display:grid;min-height:30rem;padding:1rem 1rem 1.15rem;border:1px solid var(--mm-border);border-radius:1.75rem;background:radial-gradient(circle at top,#3e60ab1f,transparent 38%),linear-gradient(180deg,var(--mm-surface),var(--mm-bg));overflow:hidden;pointer-events:none}
#main-content .mm-socials .social-ambient-shell::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#ffffff0d,transparent 45%,#1118270a);pointer-events:none}
#main-content .mm-socials .social-ambient-viewport{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;min-width:0;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 9%,#000 91%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 9%,#000 91%,transparent)}
#main-content .mm-socials .social-ambient-lane{display:flex;flex-direction:column;justify-content:center;gap:.9rem;min-width:0}
#main-content .mm-socials .social-ambient-lane:nth-child(2){padding-top:1.25rem}
#main-content .mm-socials .social-ambient-card{padding:1rem .95rem;border:1px solid var(--mm-border);border-radius:1.15rem;background:var(--mm-surface);box-shadow:0 12px 30px #0f172a0d;overflow-wrap:anywhere}
#main-content .mm-socials .social-ambient-card-head{display:flex;align-items:center;gap:.75rem;margin-bottom:.8rem}
#main-content .mm-socials .social-ambient-card-head > div:last-child{min-width:0}
#main-content .mm-socials .social-ambient-icon{display:flex;align-items:center;justify-content:center;flex:0 0 42px;width:42px;height:42px;border-radius:.95rem;font-size:1rem;color:#fff;box-shadow:inset 0 -10px 18px #0000001f}
#main-content .mm-socials .social-ambient-platform{display:block;font-size:.8125rem;font-weight:700;line-height:1.3;color:var(--mm-text)}
#main-content .mm-socials .social-ambient-handle{display:block;margin-top:.1rem;font-size:.75rem;line-height:1.4;color:var(--mm-text-soft)}
#main-content .mm-socials .social-ambient-card p{margin:0;font-size:.8125rem;line-height:1.55;color:var(--mm-text-soft)}
@media(max-width:991px){
  #main-content .mm-socials .row > .col-lg-7{display:none}
  #main-content .mm-socials .social-cards-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:575.98px){
  #main-content .mm-socials .social-cards-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
  #main-content .mm-socials .social-card{padding:1rem .5rem}
  #main-content .mm-socials .social-card-icon{width:44px;height:44px;font-size:1.2rem}
  #main-content .mm-socials .social-ambient-shell{min-height:0}
  #main-content .mm-socials .social-ambient-viewport{grid-template-columns:minmax(0,1fr)}
  #main-content .mm-socials .social-ambient-lane:nth-child(2){display:none}
}
@media(prefers-reduced-motion:reduce){
  #main-content .mm-socials :is(.social-card,.social-card-icon){transition:none}
  #main-content .mm-socials .social-card:hover,#main-content .mm-socials .social-card:hover .social-card-icon{transform:none}
}


  /* ====================== GET PUBLISHED ====================== */
  .mm-cta{ position:relative; overflow:hidden; min-height:400px; display:flex; align-items:center; background:url("https://www.masonrymagazine.com/microsite/masonrymagazine/assets/img/library.jpg") center/cover no-repeat; }
  .mm-cta::after{ content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(12,16,26,.9) 0%,rgba(12,16,26,.6) 50%,rgba(12,16,26,.2) 100%); }
  .mm-cta-body{ position:relative; z-index:2; color:#fff; max-width:560px; padding:clamp(2rem,5vw,4rem); }
  .mm-cta-body .mm-eyebrow{ color:#9db4e0; } .mm-cta-body .mm-eyebrow::before{ background:#9db4e0; }
  .mm-cta-body h2{ font-family:var(--mm-font-display); font-weight:400; font-size:clamp(2.4rem,5vw,4rem); line-height:.95; margin:.3rem 0 .5rem; }
  .mm-cta-body p{ color:rgba(255,255,255,.84); font-size:1.08rem; }
  .mm-cta-contacts a{ width:46px; height:46px; border-radius:50%; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.3); display:inline-flex; align-items:center; justify-content:center; color:#fff; font-size:1.05rem; margin-right:.6rem; transition:background .2s, border-color .2s, transform .2s; }
  .mm-cta-contacts a:hover{ background:var(--mm-accent); border-color:var(--mm-accent); transform:translateY(-3px); }

  /* ---- chrome (context only) ---- */
  .ctx-note{ font-family:var(--mm-font-ui); font-size:.66rem; letter-spacing:.14em; text-transform:uppercase; color:var(--mm-text-faint); text-align:center; padding:.4rem; background:var(--mm-bg-alt); border-bottom:1px solid var(--mm-border); }
  .ctx-nav{ background:var(--mm-bg-alt); border-bottom:1px solid var(--mm-border); position:sticky; top:0; z-index:1030; }
  .ctx-nav .nav-link{ font-family:var(--mm-font-ui); font-weight:700; font-size:.92rem; color:var(--mm-text); } .ctx-nav .nav-link:hover{ color:var(--mm-accent); }
  .ctx-footer{ background:var(--mm-navy); color:rgba(255,255,255,.7); }

  /* ---- responsive ---- */
  @media (max-width:991.98px){
    .mm-hero-grid{ grid-template-columns:1fr; min-height:0; } .mm-hero-media{ order:-1; }
    .pc-grid{ grid-template-columns:1fr; grid-auto-rows:auto; }
    .pc:first-child, .pc:nth-child(2), .pc:nth-child(3){ grid-column:1; grid-row:auto; }
    .pc:first-child{ aspect-ratio:3/2; }   /* single column: width is constrained, so aspect-ratio is safe here */
    .mv-more{ justify-content:center; }
  }
  @media (max-width:575.98px){
    .mm-hero-picks{ grid-template-columns:1fr; } .pc:first-child{ aspect-ratio:4/3; } .partner-strip img{ height:28px; }
  }
  /* reduced motion: no flip / no autoplay / no transforms */
  /* The authored footer's 300px logo also has 24px of inline margins. */
  body:has(#main-content.mm-spacey) footer img[src$="/masonry-logo.svg"]{max-width:calc(100% - 24px);height:auto}
  @media (prefers-reduced-motion:reduce){
    .mm-hero-copy,.mm-hero-media img,.pc-inner,.mm-card,.treasure-card,.colmn{ transition:none !important; }
    .mm-pick .prog{ display:none; }
    .pc:hover .pc-inner{ transform:none; rotate:0deg; }      /* no flip — show front */
    .pc-flip-hint{ display:none; }
    .pc:nth-child(n) .pc-inner{ rotate:0deg; }
  }

  /* ===================================================================
     "SPACEY" LAYOUT  —  #main-content.mm-spacey  (the LOCKED-IN default: the
     class is hardcoded on <main> in content.html, so this is always on; the
     compact base + toggle were retired 2026-07-01). An OVERRIDE LAYER, not a
     fork: only the spacing/rhythm knobs change here, so the base rules above
     stay the single source of layout truth. id+class specificity wins.
     =================================================================== */
  /* 1. Section vertical rhythm — the biggest "breathing room" lever */
  #main-content.mm-spacey .mm-section{ padding:clamp(4rem,7vw,7.5rem) 0; }
  #main-content.mm-spacey .mm-section-head{ margin-bottom:clamp(2.2rem,4vw,3.6rem); }
  /* 2. Pull the content column in a touch (more side air) + open every Bootstrap
        row's column + row gutters so neighboring blocks don't crowd each other */
  #main-content.mm-spacey .container{ max-width:1180px; }
  #main-content.mm-spacey .row{ --bs-gutter-x:clamp(1.75rem,3.4vw,3rem); --bs-gutter-y:clamp(1.75rem,3.4vw,3rem); }
  /* 3. Cards breathe internally */
  #main-content.mm-spacey .mm-card-body{ padding:1.35rem 1.5rem 1.6rem; gap:.55rem; }
  #main-content.mm-spacey .feat-lead-body{ padding:1.5rem 1.8rem 1.8rem; }
  #main-content.mm-spacey .feat-sec{ gap:1.15rem; padding-right:1.15rem; }
  #main-content.mm-spacey .newscol-head{ padding-bottom:1rem; margin-bottom:.7rem; }
  #main-content.mm-spacey .members-list{ padding:.6rem 1.5rem 1.2rem; }
  /* 4. Looser grid gaps in the hand-rolled grids */
  #main-content.mm-spacey .pc-grid{ gap:clamp(1.8rem,3.4vw,3rem) clamp(3rem,6vw,5.5rem); }
  #main-content.mm-spacey .cs-track{ gap:clamp(1.5rem,2.8vw,2.4rem); }
  #main-content.mm-spacey .mm-hero-picks{ gap:1rem; }
  /* 5. Slightly taller hero + a hair more line-height so type feels less packed */
  #main-content.mm-spacey .mm-hero-grid{ min-height:clamp(460px,64vh,620px); padding:clamp(1.6rem,3vw,2.6rem) 0 clamp(1rem,2vw,1.6rem); }
  #main-content.mm-spacey .mm-card-body p,
  #main-content.mm-spacey .feat-lead-body p,
  #main-content.mm-spacey .mm-sub{ line-height:1.65; }

  /* Responsive finish: preserve the editorial layout without overflowing gutters,
     oversized logo assets, tiny controls, or reliance on hover to find a link. */
  #splash-screen[hidden]{ display:none !important; }
  /* Brief branded introduction; no scroll/focus lock and no dependency on image loading. */
  .mm-loading-screen{position:fixed;inset:0;z-index:99990;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;background:#192644;color:#fff;pointer-events:none;opacity:1;transition:opacity .16s ease-out;animation:mmLoadRelease 2.6s step-end forwards}
  .mm-loading-screen.is-leaving{opacity:0}
  .mm-load-brand{position:relative;display:grid;place-items:center;width:clamp(176px,34vw,280px);min-height:60px}
  .mm-load-brand > span{font:700 clamp(1.75rem,5vw,2.75rem)/1 Georgia,serif;letter-spacing:.015em}
  .mm-load-brand > img{position:absolute;inset:0;margin:auto;width:100%;height:auto;max-height:100%;opacity:0}
  .mm-load-brand.has-logo > img{opacity:1}
  .mm-load-brand.has-logo > span{visibility:hidden}
  .mm-load-line{display:block;width:6rem;height:2px;border-radius:2px;background:#ffffff30;overflow:hidden}
  .mm-load-line::after{content:"";display:block;width:40%;height:100%;background:#fff;transform:translateX(-100%);animation:mmLoadSweep 1.75s ease-out forwards}
  .mm-load-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
  @keyframes mmLoadSweep{to{transform:translateX(250%)}}
  @keyframes mmLoadRelease{to{visibility:hidden}}
  @media(prefers-reduced-motion:reduce){.mm-loading-screen{display:none}.mm-load-line::after{animation:none}}
  .mm-skip-link{
    position:fixed; left:12px; top:12px; z-index:100000; transform:translateY(-160%);
    display:inline-flex; align-items:center; min-height:44px; padding:.65rem 1rem;
    background:#fff; color:#192644; border:2px solid #1268d4; border-radius:6px;
    font:700 1rem var(--mm-font-ui); text-decoration:underline;
  }
  .mm-skip-link:focus{ transform:none; outline:3px solid #1268d4; outline-offset:3px; }
  #main-content{ --mm-button-bg:#3e60ab; --mm-focus:#1268d4; }
  #main-content [hidden]{ display:none !important; }
  #main-content :is(.mm-hero-media,.mm-card-img,.feat-lead-img,.th,.assoc-lead,.treasure-card,.pc-photo,.news-thumb,.hill-thumb,.av).is-image-missing{
    background:#35445c;
  }
  #main-content :is(a,button,[tabindex]):focus-visible{
    outline:3px solid var(--mm-focus); outline-offset:3px;
    box-shadow:0 0 0 3px #fff;
  }
  #main-content .stretched-link:focus-visible{ outline:0; box-shadow:none; }
  #main-content .stretched-link:focus-visible::after{
    outline:3px solid var(--mm-focus); outline-offset:-5px;
    box-shadow:inset 0 0 0 2px #fff; border-radius:inherit;
  }
  #main-content :is(.mm-card,.feat-lead,.feat-sec,.colmn,.treasure-card,.news-item,.hill-item):focus-within{
    box-shadow:0 0 0 3px var(--mm-focus);
  }
  #main-content :is(a,button){ touch-action:manipulation; }
  #main-content :is(.mm-seeall,.newscol-more,.btn-mm,.btn-mm-outline,.issue-btn,.mm-hero-cta,.mv-more-btn,.bk-read){
    min-height:44px; display:inline-flex; align-items:center; gap:.5rem;
  }
  #main-content :is(.cs-prev,.cs-next,.mv-strip-prev,.mv-strip-next,.evt-nav,.pc-nav){
    width:44px; height:44px; flex:0 0 44px;
  }
  #main-content :is(.cs-nav,.mv-strip-nav,.evt-ticker-nav,.pc-controls){ gap:8px; }
  #main-content :is(.cs-head-right,.newscol-head,.evt-ticker-head,.mv-strip-head){ flex-wrap:wrap; }
  #main-content :is(.mm-head-row,.cs-head-right,.newscol-head,.evt-ticker-head) > *{ min-width:0; }
  #main-content :is(.mm-seeall,.mm-eyebrow,.mv-more-btn){ white-space:normal; }
  #main-content :is(.mm-title,.mm-hero-title,.mm-card-body h3,.feat-lead-body h3,.feat-sec h4,
    .news-item h4,.hill-item h4,.colmn .ti,.member-row .nm,.upd-title,.mc-card h3,.pc-cap .place,.bk-place,.treasure-body .nm){
    overflow-wrap:anywhere;
  }
  #main-content :is(.mm-title,.mm-hero-title){ text-wrap:balance; }
  #main-content :is(.mm-hero-copy,.mm-hero-media,.mm-hero-slide,.feat-sec > div,.hill-item > div,
    .member-row > div,.colmn > div,.mm-card-body,.pc,.pc-face,.bk-left,.bk-addr){ min-width:0; }
  #main-content .mm-hero-grid{ grid-template-columns:minmax(0,1fr) minmax(0,1.04fr); }
  #main-content .mm-hero-picks{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  #main-content .mm-hero-picks:empty{ display:none; }
  #main-content .feat-sec{ grid-template-columns:112px minmax(0,1fr); }
  #main-content .pc-grid{ grid-template-columns:minmax(0,1.24fr) minmax(0,.76fr); }
  #main-content .pc-back .bk-cols{ grid-template-columns:minmax(0,1fr) 1px minmax(0,.8fr); }
  #main-content .mm-hero{
    background:radial-gradient(125% 120% at 16% 10%,#4262aa 0%,#355797 46%,#2d477e 100%);
  }
  #main-content :is(.btn-mm,.issue-btn--primary,.issue-badge,.feat-lead-img .fl-kick){ background:var(--mm-button-bg); color:#fff; }
  #main-content :is(.btn-mm,.issue-btn--primary):hover{ background:#2f4b87; }
  #main-content .mm-hero-byline{ color:rgba(255,255,255,.9); }
  #main-content .mm-pick .num{ color:rgba(255,255,255,.85); }
  #main-content .members-head .mm-month{ color:#c4d5fc; }
  #main-content .ac-role{ color:rgba(255,255,255,.78); }
  #main-content .pc-back :is(.bk-loc,.bk-read,a){ color:#355291; }
  #main-content .mm-cta-contacts a:hover{ background:var(--mm-button-bg); border-color:var(--mm-button-bg); }
  #main-content .pc-back :is(.bk-pub,.bk-mag){ color:#566075; }
  #main-content .mm-carousel-toggle{
    position:relative; z-index:2; display:inline-flex; align-items:center; justify-content:center;
    gap:.5rem; min-height:44px; min-width:44px; margin:0 0 1rem; padding:.5rem .9rem;
    border:1px solid rgba(255,255,255,.6); border-radius:6px; background:#263f72; color:#fff;
    font:700 .85rem var(--mm-font-ui); cursor:pointer;
  }
  #main-content .mm-carousel-toggle:hover{ background:#1d315a; }
  #main-content .evt-viewport{ height:auto; overflow:visible; }
  #main-content .evt-track{ transform:none; transition:none; }
  #main-content .evt-slide{ height:auto; }
  #main-content .evt-card{ height:auto; min-height:100px; padding-block:.35rem; }
  #main-content .evt-title{ overflow-wrap:anywhere; }
  #main-content .evt-cta{ min-height:44px; }
  #main-content .mm-video-feed{ display:block; width:100%; max-width:100%; border:0; border-radius:12px; }
  #main-content .chatbox > .mm-seeall{display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:44px;padding:.5rem 1rem;color:#fff}
  #main-content .chatbox > .mm-seeall:is(:hover,:focus-visible){text-decoration:underline;text-underline-offset:4px;background:rgba(255,255,255,.08)}
  #main-content .mm-video-feed{ height:auto; aspect-ratio:16/9; background:#141414; }

  /* Partner Corner stays dark in either site mode. Managed artwork follows
     that local background, including each company's saved white backing. */
  #main-content .partner-tier{ font-size:.9rem; letter-spacing:.12em; }
  #main-content .partner-strip-heading{display:flex;align-items:center;justify-content:space-between;gap:.5rem 1rem;flex-wrap:wrap;margin-bottom:.5rem;min-height:44px}
  #main-content .partner-strip-heading .partner-tier{margin:0;text-align:left}
  #main-content .partner-logo-controls{display:flex;gap:4px;flex-shrink:0}
  #main-content .partner-logo-controls[hidden]{display:none}
  #main-content .partner-logo-controls button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid #ffffff40;border-radius:6px;background:transparent;color:#fff;cursor:pointer}
  #main-content .partner-logo-controls button:hover:not(:disabled){background:#ffffff18;border-color:#ffffff80}
  #main-content .partner-logo-controls button:disabled{opacity:.35;cursor:default}
  #main-content .partner-logo-controls button:focus-visible{outline:2px solid #fff;outline-offset:2px}
  #main-content .partner-strip{
    width:100%; max-width:100%; box-sizing:border-box; flex-wrap:nowrap;
    justify-content:flex-start; gap:.75rem; padding:.5rem .75rem; margin-bottom:1.5rem;
    overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x proximity;
    scroll-padding-inline:.75rem; scrollbar-width:thin; color:#16222e;
    border:1px solid #d9e0e8; border-radius:8px;
  }
  #main-content .partner-strip a{
    display:flex; align-items:center; justify-content:center; flex:0 0 104px;
    box-sizing:border-box; width:104px; min-width:0; max-width:100%; min-height:44px;
    padding:6px; opacity:1; color:inherit; scroll-snap-align:start;
  }
  #main-content .partner-strip a:hover{ transform:none; background:#f2f5f8; border-radius:4px; }
  #main-content .partner-strip:focus-visible,#main-content .partner-strip a:focus-visible{ outline:3px solid #0b66d0; outline-offset:-3px; }
  #main-content .partner-strip img{
    display:block; flex:0 1 auto; width:92px; height:28px; min-width:0;
    max-height:28px; max-width:100%; object-fit:contain; object-position:center;
  }
  #main-content .partner-strip.mm-partner-managed{display:block;padding:0;border:0;background:transparent;color:#fff;color-scheme:dark;overflow:visible}
  .mm-partner-managed .mcap-surface{max-width:100%;min-width:0}
  .mm-partner-managed .mcaapl-row{display:flex;align-items:center;padding:8px}
  .mm-partner-managed .mcaapl-item{background:transparent!important;box-shadow:none}
  .mm-partner-managed .mcaapl-item img{width:auto!important;height:auto!important;max-height:36px!important;object-fit:contain}
  @media(max-width:575px){.mm-partner-managed .mcaapl-item img{max-height:30px!important}}
  #main-content .mm-partner-managed .mcap-surface{margin:0}
  #main-content .mm-partner-managed .mcaapl-row{flex-wrap:nowrap;justify-content:flex-start;gap:clamp(8px,1vw,12px);overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scroll-snap-type:x proximity;scroll-padding-inline:8px;max-width:100%}
  #main-content .mm-partner-managed .mcaapl-item{flex:1 0 84px;width:auto;min-width:84px;max-width:112px}
  #main-content .mm-partner-managed .mcaapl-item img{max-width:100%!important}
  [data-bs-theme="dark"] #main-content .mm-partner-managed a:hover{background:#ffffff12}
  #main-content .partner-name{
    font-size:.8rem; line-height:1.25; text-align:center; overflow-wrap:anywhere;
    display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden;
  }
  #main-content :is(.cs-viewport,.pc-viewport,.mv-strip-viewport){
    overflow-x:auto; scroll-snap-type:x proximity; scroll-padding-inline:4px;
    scrollbar-width:thin; padding-top:6px; padding-bottom:12px; overscroll-behavior-x:contain;
  }
  #main-content :is(.cs-viewport,.pc-viewport,.mv-strip-viewport)::-webkit-scrollbar{ display:block; height:6px; }
  #main-content :is(.cs-viewport,.pc-viewport,.mv-strip-viewport)::-webkit-scrollbar-thumb{
    background:#7b869b; border-radius:8px;
  }
  #main-content .pc-track{ transform:none; transition:none; }
  #main-content .pc-track .mc-card{ scroll-snap-align:start; }
  #main-content :is(.cs-card,.pc-track .mc-card){ max-width:calc(100% - 8px); }
  #main-content .mm-card:focus-visible{ outline-offset:-4px; }

  /* Match container padding to row gutters; wider row margins must not escape. */
  #main-content.mm-spacey{ --mm-page-gutter:clamp(1.5rem,4vw,3rem); }
  #main-content.mm-spacey .container{ padding-inline:calc(var(--mm-page-gutter)/2); }
  #main-content.mm-spacey .row{ --bs-gutter-x:var(--mm-page-gutter); }
  #main-content .row:has(> [hidden]) > [class*="col-"]:not([hidden]){ flex:1 1 18rem; width:auto; max-width:100%; }
  #main-content .pc-grid:not(:has(> .pc:nth-child(2))){ grid-template-columns:minmax(0,1fr); }
  #main-content .pc-grid > .pc:only-child{ grid-row:auto; min-height:clamp(320px,48vw,560px); }

  /* Every postcard link works on the first activation. Secondary stories expose
     both faces; the featured desk arrangement remains decorative on desktop. */
  #main-content .pc:nth-child(n+2) .pc-inner{ display:grid; height:auto; aspect-ratio:auto; transform:none; rotate:0deg; }
  #main-content .pc:nth-child(n+2) .pc-face{ position:relative; inset:auto; backface-visibility:visible; }
  #main-content .pc:nth-child(n+2) .pc-front{ aspect-ratio:16/9; border-bottom-left-radius:0; border-bottom-right-radius:0; }
  #main-content .pc:nth-child(n+2) .pc-back{ transform:none; border-top:0; border-top-left-radius:0; border-top-right-radius:0; padding:1rem; }
  #main-content .pc:nth-child(n+2) .pc-back .bk-msg{ font-size:.85rem; -webkit-line-clamp:3; }
  #main-content .pc:nth-child(n+2) .pc-back .bk-cols{ grid-template-columns:minmax(0,1fr); gap:.75rem; }
  #main-content .pc:nth-child(n+2) .bk-vrule{ display:none; }
  #main-content .pc:nth-child(n+2) .bk-addr{ display:flex; flex-wrap:wrap; gap:.35rem .75rem; }
  #main-content .pc:nth-child(n+2) .pc-back :is(.bk-pub,.bk-mag){ margin:0; font-size:.58rem; }
  #main-content .pc-flip-hint{ display:none; }
  #main-content .pc-cap .place{ display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
  #main-content .pc:first-child .pc-face:focus-within{ transform:rotate(0deg); z-index:6; }

  @media (min-width:992px) and (hover:hover) and (pointer:fine){
    #main-content .pc:first-child{ height:clamp(400px,43vw,540px); align-self:start; margin-top:1rem; }
  }
  @media (max-width:575.98px),(hover:none),(pointer:coarse){
    #main-content .pc-grid{ grid-template-columns:minmax(0,1fr); }
    #main-content .pc-grid > .pc{ grid-column:auto; grid-row:auto; aspect-ratio:auto; min-height:0; height:auto; }
    #main-content .pc-grid .pc-inner{ display:grid; height:auto; aspect-ratio:auto; transform:none; rotate:0deg; }
    #main-content .pc-grid .pc-face{
      position:relative; inset:auto; width:100%; height:auto; aspect-ratio:auto;
      transform:none; backface-visibility:visible; box-shadow:none; transition:none;
    }
    #main-content .pc-grid .pc-front{ aspect-ratio:3/2; border-bottom-left-radius:0; border-bottom-right-radius:0; }
    #main-content .pc-grid .pc-back{ padding:1rem; border-top:0; border-top-left-radius:0; border-top-right-radius:0; }
    #main-content .pc-grid .pc-back .bk-cols{ grid-template-columns:minmax(0,1fr); gap:.75rem; }
    #main-content .pc-grid .pc-back .bk-msg{ font-size:.9rem; -webkit-line-clamp:4; }
    #main-content .pc-grid .bk-vrule{ display:none; }
    #main-content .pc-grid .bk-addr{ display:flex; flex-wrap:wrap; gap:.35rem .75rem; }
    #main-content .pc-grid .pc-back :is(.bk-pub,.bk-mag){ margin:0; font-size:.62rem; }
    #main-content .pc-grid .pc-cap .place{ font-size:clamp(1.5rem,7vw,2.4rem); line-height:1.05; }
  }

  @media (max-width:991.98px){
    #main-content .mm-hero-grid,#main-content .pc-grid{ grid-template-columns:minmax(0,1fr); }
    #main-content.mm-spacey .mm-hero-grid{ min-height:0; gap:1.5rem; }
    #main-content .mm-hero-title{ font-size:clamp(2.1rem,6.5vw,3.6rem); line-height:1.03; }
    #main-content .mm-hero-media{ width:100%; max-height:420px; }
    #main-content .issue-rail{ display:grid; grid-template-columns:minmax(100px,180px) minmax(0,1fr); align-items:center; gap:1.5rem; }
    #main-content .issue-actions{ margin-top:0; }
  }
  @media (max-width:575.98px){
    #main-content.mm-spacey .mm-section{ padding-block:3rem; }
    #main-content.mm-spacey .mm-section-head{ margin-bottom:1.75rem; }
    #main-content .mm-hero-picks{ grid-template-columns:minmax(0,1fr); }
    #main-content.mm-spacey .mm-hero-picks{ gap:.5rem; }
    #main-content .mm-pick{ display:flex; align-items:center; gap:.75rem; min-height:48px; padding:.6rem .8rem; }
    #main-content .mm-pick .ct{ margin:0; -webkit-line-clamp:2; }
    #main-content .mm-hero-foot{ gap:.85rem; }
    #main-content .mm-hero-byline{ line-height:1.6; }
    #main-content .mm-hero-media{ border-radius:10px; }
    #main-content.mm-spacey :is(.mm-card-body,.feat-lead-body){ padding:1.1rem; }
    #main-content.mm-spacey .feat-sec{ grid-template-columns:88px minmax(0,1fr); gap:.85rem; padding-right:.8rem; }
    #main-content .feat-sec .th{ width:88px; min-height:96px; height:100%; }
    #main-content .issue-rail{ grid-template-columns:minmax(100px,135px) minmax(0,1fr); gap:1rem; }
    #main-content .issue-btn{ padding:.65rem .75rem; text-align:center; }
    #main-content .news-thumb{ flex-basis:80px; width:80px; }
    #main-content .assoc-lead{ height:clamp(320px,105vw,440px); }
    #main-content .colmn{ padding:1rem; gap:.75rem; }
    #main-content .colmn--outreach{ padding:0; }
    #main-content .colmn--outreach .oo-body{ padding:1.1rem; }
    #main-content .colmn .av{ width:52px; height:52px; flex-basis:52px; }
    #main-content .treasure-body{ padding:.8rem; }
    #main-content .partner-strip{ gap:.5rem; padding:.5rem; margin-bottom:1.25rem; }
    #main-content .partner-strip a{ flex-basis:96px; width:96px; }
    #main-content .partner-strip img{ width:84px; }
    #main-content .mm-cta{ min-height:340px; }
    #main-content .mm-cta-body{ padding:1.5rem; }
    #main-content .row:has(> [hidden]) > [class*="col-"]:not([hidden]){ flex-basis:100%; }
  }
  @media (prefers-reduced-motion:reduce){
    #main-content *,#main-content *::before,#main-content *::after{
      scroll-behavior:auto !important; animation-duration:.01ms !important;
      animation-iteration-count:1 !important; transition-duration:.01ms !important; transition-delay:0s !important;
    }
    #main-content :is(.mm-card,.feat-lead,.feat-sec,.treasure-card,.colmn,.mc-card,.mv-stamp-card):hover,
    #main-content :is(.mm-card,.feat-lead,.assoc-lead,.mm-video,.ig-tile):hover img{ transform:none; }
  }
