@font-face{font-family:Lato;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/e77829e76dbc15a5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Lato;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/756f9c755543fe29-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Lato;font-style:italic;font-weight:700;font-display:swap;src:url(/_next/static/media/8ebe173d0f0ad7a9-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Lato;font-style:italic;font-weight:700;font-display:swap;src:url(/_next/static/media/25460892714ab800-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Lato;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/cce080f35d014443-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Lato;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/4de1fea1a954a5b6-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Lato;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/39969fcf98a3026e-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Lato;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/6d664cce900333ee-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Lato Fallback;src:local("Arial");ascent-override:101.03%;descent-override:21.80%;line-gap-override:0.00%;size-adjust:97.69%}.__className_49efec{font-family:Lato,Lato Fallback}.__variable_49efec{--font-lato:"Lato","Lato Fallback"}@font-face{font-family:Playfair Display;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/19150647d2c2f572-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Playfair Display;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/000030d1699f2fb3-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Playfair Display;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/1926da171a0ba1a5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Playfair Display;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/78d0dd042ac6d54d-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Playfair Display;font-style:italic;font-weight:500;font-display:swap;src:url(/_next/static/media/19150647d2c2f572-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Playfair Display;font-style:italic;font-weight:500;font-display:swap;src:url(/_next/static/media/000030d1699f2fb3-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Playfair Display;font-style:italic;font-weight:500;font-display:swap;src:url(/_next/static/media/1926da171a0ba1a5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Playfair Display;font-style:italic;font-weight:500;font-display:swap;src:url(/_next/static/media/78d0dd042ac6d54d-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/47f136985ef5b5cb-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/4ead58c4dcc3f285-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/28a2004cf8372660-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/eaead17c7dbfcd5d-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Playfair Display;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/47f136985ef5b5cb-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Playfair Display;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/4ead58c4dcc3f285-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Playfair Display;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/28a2004cf8372660-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Playfair Display;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/eaead17c7dbfcd5d-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Playfair Display Fallback;src:local("Times New Roman");ascent-override:97.25%;descent-override:22.56%;line-gap-override:0.00%;size-adjust:111.26%}.__className_88a848{font-family:Playfair Display,Playfair Display Fallback}.__variable_88a848{--font-playfair:"Playfair Display","Playfair Display Fallback"}:root{--hea-ivory:#f9f6ee;--hea-cream:#f2edda;--hea-charcoal:#424340;--hea-gold:#c8af65;--hea-gold-light:#d3bc78;--hea-sage:#cdd7cc;--hea-gray:#c3c6c7;--hea-white:#ffffff;--bg:var(--hea-ivory);--surface:var(--hea-white);--surface-2:#fbf9f3;--ink:var(--hea-charcoal);--ink-2:#5a5b57;--muted:#7d7e79;--line:#e2ddcf;--line-2:#ece8dc;--primary:var(--hea-charcoal);--primary-ink:var(--hea-white);--accent:var(--hea-gold);--accent-ink:#8a7538;--accent-soft:#f4eed9;--success:#6f8468;--success-soft:var(--hea-sage);--danger:#a35a4e;--danger-soft:#f6e8e5;--radius:8px;--radius-sm:6px;--shadow:0 1px 2px rgba(66,67,64,.04),0 4px 14px rgba(66,67,64,.04);--sans:var(--font-lato),"Lato","Helvetica Neue",Helvetica,Arial,sans-serif;--display:var(--font-playfair),"Playfair Display",Georgia,"Times New Roman",serif}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}body,h1,h2,h3,h4,html{color:var(--ink);font-family:var(--sans)}h1,h2,h3,h4{font-weight:700;letter-spacing:-.005em;margin:0 0 .35em;line-height:1.25}h1{font-size:2rem;letter-spacing:0}h1,h2{font-family:var(--display);font-weight:500}h2{font-size:1.4rem}h3{font-size:1rem}p{margin:0 0 .85em}a{color:var(--accent-ink)}button{font-family:inherit}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88em}.topbar{background:var(--bg);color:var(--ink);border-bottom:1px solid var(--line)}.topbar-inner{max-width:1080px;margin:0 auto;padding:12px 18px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.wordmark{display:flex;align-items:baseline;gap:10px;text-decoration:none;color:var(--ink);background:none;border:none;cursor:pointer;padding:0;font:inherit}.wordmark .name{font-family:var(--display);font-weight:500;font-size:1.1rem}.wordmark .tool{color:var(--muted);font-size:.86rem;letter-spacing:.04em}.chip,.wordmark .tool{text-transform:uppercase}.chip{display:inline-block;font-size:.66rem;font-weight:700;letter-spacing:.12em;padding:4px 9px;border-radius:999px;background:var(--hea-charcoal);color:var(--hea-gold-light)}.topbar .spacer{flex:1 1}.topbar .link{background:none;border:none;color:var(--ink-2);cursor:pointer;font-size:.9rem;padding:6px 8px;border-radius:6px;text-decoration:none;font-family:inherit}.topbar .link.on,.topbar .link:hover{color:var(--ink);background:var(--hea-cream)}.page{max-width:1080px;margin:0 auto;padding:28px 18px 60px}.page.narrow{max-width:680px}.two-col{display:grid;grid-template-columns:240px 1fr;grid-gap:22px;gap:22px;align-items:start}.two-col.wide{grid-template-columns:1.1fr .9fr}.two-col.sidebar{grid-template-columns:1fr 320px}@media (max-width:820px){.two-col,.two-col.sidebar,.two-col.wide{grid-template-columns:1fr}}.grid2{display:grid;grid-template-columns:1fr 1fr;grid-gap:0 14px;gap:0 14px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px}@media (max-width:640px){.grid2,.grid3{grid-template-columns:1fr}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow);margin-bottom:16px}.card.tight{padding:14px 16px}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.68rem;color:var(--accent-ink);font-weight:700;margin-bottom:8px}.muted{color:var(--muted)}.small{font-size:.88rem}.tiny{font-size:.78rem}.center{text-align:center}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.row.tight{gap:6px;flex-wrap:nowrap}.row.between{justify-content:space-between}.row.end{justify-content:flex-end}.stack{display:flex;flex-direction:column;gap:10px}.mt{margin-top:14px}.mb{margin-bottom:14px}.hr{border:0;border-top:1px solid var(--line-2);margin:18px 0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--primary);border-radius:var(--radius-sm);padding:10px 18px;font-size:.93rem;font-weight:700;letter-spacing:.02em;cursor:pointer;background:var(--primary);color:var(--primary-ink);text-decoration:none;transition:background .12s ease,transform .05s ease}.btn:hover{background:#2f302d;border-color:#2f302d}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:default}.btn.secondary{background:var(--surface);color:var(--ink);border-color:var(--ink)}.btn.secondary:hover{background:var(--hea-cream)}.btn.accent{background:var(--accent);border-color:var(--accent);color:var(--hea-charcoal)}.btn.accent:hover{background:#bda35a;border-color:#bda35a}.btn.ghost{background:transparent;border-color:transparent;color:var(--accent-ink);padding:6px 8px}.btn.ghost:hover{background:var(--accent-soft);border-color:transparent}.btn.sm{padding:7px 12px;font-size:.84rem}.btn.block{width:100%}.btn.danger{background:transparent;border-color:var(--danger);color:var(--danger)}.btn.danger:hover{background:var(--danger-soft)}label{display:block;font-weight:700;margin:14px 0 6px}label.inline{display:inline-flex;align-items:center;gap:8px;font-weight:400;margin:8px 16px 4px 0;cursor:pointer}label .opt{font-weight:400;color:var(--muted);font-size:.85rem}.helper{color:var(--muted);font-size:.88rem;margin:-2px 0 8px}input[type=color],input[type=date],input[type=datetime-local],input[type=email],input[type=number],input[type=text],input[type=url],select,textarea{width:100%;font:inherit;color:var(--ink);background:#fff;border:1px solid var(--hea-gray);border-radius:var(--radius-sm);padding:10px 12px;outline:none}input[type=color]{padding:4px;height:44px;width:64px}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}textarea{min-height:90px;resize:vertical;line-height:1.5}input[readonly],textarea[readonly]{background:var(--surface-2);color:var(--ink-2);font-size:.88rem}.code-input{font-size:1.5rem;letter-spacing:.35em;text-align:center}.error{background:var(--danger-soft);color:var(--danger);font-size:.92rem}.error,.notice{border-radius:var(--radius-sm);padding:10px 12px;margin:10px 0}.notice{background:var(--hea-cream);color:var(--ink-2)}.notice.gold{background:var(--accent-soft);border-left:3px solid var(--accent)}.notice.green{background:var(--success-soft)}.notice.small{font-size:.9rem}.chips{display:flex;flex-wrap:wrap;gap:8px}.chipbtn{border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 12px;font:inherit;font-size:.86rem;cursor:pointer;color:var(--ink-2)}.chipbtn.on{background:var(--hea-charcoal);color:#fff;border-color:var(--hea-charcoal)}.chipbtn:hover{border-color:var(--accent)}fieldset{border:1px solid var(--line);border-radius:var(--radius);padding:6px 18px 18px;margin:18px 0 0}legend{padding:0 6px}.tag,legend{font-weight:700}.tag{display:inline-block;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;padding:3px 8px;border-radius:999px;background:var(--line-2);color:var(--ink-2);margin-right:6px}.tag.gold{background:var(--accent-soft);color:var(--accent-ink)}.tag.green{background:var(--success-soft);color:#4f6349}.tag.red{background:var(--danger-soft);color:var(--danger)}.tag.grey{background:var(--line-2);color:var(--muted)}.proj{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line-2)}.proj:last-child{border-bottom:none}.proj .title{font-weight:700}.proj button.open{background:none;border:none;text-align:left;cursor:pointer;font:inherit;color:var(--ink);padding:0}.proj button.open:hover .title{color:var(--accent-ink);text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.proj .meta{color:var(--muted);font-size:.86rem}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:18px;flex-wrap:wrap}.tabs button{background:none;border:none;border-bottom:3px solid transparent;padding:10px 12px;font:inherit;font-weight:700;color:var(--muted);cursor:pointer;margin-bottom:-1px}.tabs button.on{color:var(--ink);border-bottom-color:var(--accent)}.copybox{margin:10px 0}.copybox .lbl{display:block;font-size:.78rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:4px}.copybox textarea{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem;min-height:0}.stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));grid-gap:10px;gap:10px;margin:8px 0 16px}.stat{border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px 14px;background:var(--surface-2)}.stat .n{font-family:var(--display);font-size:1.7rem;line-height:1.1}.stat .l{color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}table.list{width:100%;border-collapse:collapse;font-size:.92rem}table.list td,table.list th{text-align:left;padding:9px 8px;border-bottom:1px solid var(--line-2);vertical-align:top}table.list th{font-size:.74rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}table.list td.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.bar{height:8px;background:var(--line-2);border-radius:999px;overflow:hidden}.bar i{display:block;height:100%;background:var(--accent)}.empty{text-align:center;color:var(--muted);padding:36px 12px}.spinner{width:34px;height:34px;border:3px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin .9s linear infinite;margin:40px auto}@keyframes spin{to{transform:rotate(1turn)}}.atc{position:relative;display:inline-block}.page .atc{--accent-text:#2b2b28}.atc-btn{display:inline-flex;align-items:center;gap:10px;padding:14px 22px;border-radius:8px;border:1px solid var(--accent,var(--hea-charcoal));background:var(--accent,var(--hea-charcoal));color:var(--accent-text,#fff);font:inherit;font-weight:700;font-size:1.02rem;cursor:pointer;letter-spacing:.01em;box-shadow:0 2px 10px rgba(0,0,0,.08)}.atc-btn:hover{filter:brightness(.94)}.atc.sm .atc-btn{padding:8px 12px;font-size:.86rem;border-radius:6px}.atc-menu{position:absolute;z-index:20;top:calc(100% + 6px);left:0;min-width:260px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 28px rgba(66,67,64,.14);padding:6px}.atc-menu a{display:flex;flex-direction:column;padding:9px 12px;border-radius:6px;color:var(--hea-charcoal);text-decoration:none}.atc-menu a:hover{background:var(--hea-cream)}.atc-menu .n{font-weight:700;font-size:.95rem}.atc-menu .h{color:var(--muted);font-size:.78rem}.pub{--accent:#c8af65;--accent-text:#2b2b28;min-height:100vh;background:var(--hea-ivory);color:var(--hea-charcoal)}.pub.dark{background:#22221f;color:#f1eee6}.pub .cover{height:clamp(160px,32vw,340px);background-size:cover;background-position:50%}.pub-wrap{max-width:760px;margin:0 auto;padding:32px 16px 48px}.pub .cover+.pub-wrap{margin-top:-60px;position:relative}.pub-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:clamp(22px,4vw,40px);box-shadow:0 6px 30px rgba(66,67,64,.06)}.pub.dark .pub-card{background:#2c2c28;border-color:#3d3d38;color:#f1eee6}.pub.dark .pub-card h1,.pub.dark .pub-card h2{color:#fff}.pub-head{display:flex;gap:22px;align-items:flex-start}.pub-head.simple{display:block}.pub-head h1{font-size:clamp(1.7rem,4.5vw,2.5rem);margin-bottom:.3em}.pub .eyebrow{color:var(--accent)}.dateblock{flex:none;width:76px;border:1px solid var(--line);border-radius:10px;text-align:center;overflow:hidden;background:#fff;color:var(--hea-charcoal)}.dateblock .m{display:block;background:var(--accent);color:var(--accent-text);font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:4px 0}.dateblock .d{display:block;font-family:var(--display);font-size:2rem;line-height:1.1;padding-top:6px}.dateblock .w{display:block;font-size:.72rem;color:var(--muted);padding-bottom:6px;text-transform:uppercase;letter-spacing:.1em}.pub .when{font-weight:700;font-size:1.05rem;margin-bottom:4px}.pub .when .tz{color:var(--muted);font-weight:400;font-size:.9rem}.pub .local,.pub .repeat{color:var(--muted);font-size:.92rem;margin-bottom:4px}.pub .where{display:flex;align-items:center;gap:6px;color:var(--ink-2);margin:6px 0 0}.pub.dark .local,.pub.dark .muted,.pub.dark .repeat,.pub.dark .where{color:#bdb9ae}.pub .where a{color:inherit}.pub-banner{background:var(--hea-cream);color:var(--ink-2);padding:10px 14px;border-radius:8px;margin-bottom:18px;font-weight:700}.pub-banner.danger{background:var(--danger-soft);color:var(--danger)}.countdown{display:inline-flex;align-items:baseline;gap:10px;margin-top:18px;padding:10px 16px;border-radius:10px;background:var(--hea-cream);color:var(--hea-charcoal)}.pub.dark .countdown{background:#3a3a35;color:#fff}.countdown .lbl{font-size:.76rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.countdown .val{font-family:var(--display);font-size:1.4rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pub-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:24px 0 8px}.pub-link{color:var(--accent-ink);font-weight:700}.pub.dark .pub-link{color:var(--accent)}.pub-desc{margin-top:24px;font-size:1.02rem;line-height:1.7}.pub-desc.tight{margin-top:6px;color:var(--ink-2);font-size:.98rem}.pub-desc a{color:var(--accent-ink)}.pub.dark .pub-desc a{color:var(--accent)}.pub .feed{display:inline-block;background:var(--surface-2);padding:2px 6px;border-radius:4px;word-break:break-all}.pub-foot{margin-top:28px;padding-top:18px;border-top:1px solid var(--line-2);display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;align-items:center}.pub.dark .pub-foot{border-top-color:#3d3d38}.pub .org{margin:0;color:var(--ink-2);font-size:.92rem}.pub.dark .org{color:#bdb9ae}.share{display:flex;gap:4px;flex-wrap:wrap}.share a,.share button{font:inherit;font-size:.84rem;font-weight:700;color:var(--ink-2);background:none;border:1px solid var(--line);border-radius:999px;padding:5px 11px;text-decoration:none;cursor:pointer}.share a:hover,.share button:hover{border-color:var(--accent);color:var(--ink)}.pub.dark .share a,.pub.dark .share button{color:#ddd9ce;border-color:#4a4a44}.powered{text-align:center;font-size:.8rem;margin-top:18px}.powered,.powered a{color:var(--muted)}.rsvp{margin-top:28px;padding:22px;border-radius:12px;background:var(--hea-ivory);border:1px solid var(--line)}.pub.dark .rsvp{background:#33332f;border-color:#44443f}.rsvp-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}.rsvp h2{margin-bottom:8px}.rsvp .count{color:var(--muted);font-size:.9rem}.rsvp .choices{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 6px}.rsvp .choice{font:inherit;font-weight:700;font-size:.92rem;padding:10px 14px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--hea-charcoal);cursor:pointer}.rsvp .choice.on{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.rsvp label{font-size:.92rem}.rsvp input,.rsvp select,.rsvp textarea{background:#fff}.rsvp-btn{margin-top:16px;font:inherit;font-weight:700;padding:12px 22px;border-radius:8px;border:1px solid var(--hea-charcoal);background:var(--hea-charcoal);color:#fff;cursor:pointer}.rsvp-btn:disabled{opacity:.5}.rsvp.done h2{margin-bottom:6px}.rsvp .confirmation{margin:8px 0 12px}.pub .notice{background:var(--hea-cream);color:var(--ink-2)}.pub .error,.pub .notice{border-radius:8px;padding:10px 12px}.pub .error{background:var(--danger-soft);color:var(--danger);margin-top:10px}.upcoming{margin-top:28px}.upcoming ul{list-style:none;margin:0;padding:0}.upcoming li{border-top:1px solid var(--line-2)}.upcoming li a{display:flex;flex-direction:column;padding:12px 0;text-decoration:none;color:inherit}.upcoming li a:hover .t{color:var(--accent-ink)}.upcoming .t{font-weight:700}.upcoming .w{color:var(--muted);font-size:.9rem}.upcoming li.cancelled .t{text-decoration:line-through;color:var(--muted)}