
.livebox{border-color:#2e7d32 !important;background:#f1f8f2 !important}
.dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#2e7d32;
  margin-right:.45rem;vertical-align:.05em;
  box-shadow:0 0 0 0 rgba(46,125,50,.55);animation:pulse 2.2s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 8px rgba(46,125,50,0)}100%{box-shadow:0 0 0 0 rgba(46,125,50,0)}}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .livebox{background:#16281a}}

.navsep{display:inline-block;width:1px;height:.95em;background:#4a4a4a;align-self:center}
@media (max-width:860px){.navsep{display:none}}
.doors{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:.8rem;
  margin:0 0 2rem}
a.door{display:block;text-decoration:none;background:var(--card);border:1px solid var(--line);
  border-top:3px solid var(--brass);border-radius:0 0 8px 8px;padding:.95rem 1rem 1.05rem;
  transition:border-color .15s, transform .15s}
a.door:hover{border-color:var(--pine);border-top-color:var(--pine);transform:translateY(-2px)}
a.door .dk{display:block;font-family:"Source Serif 4",Georgia,serif;font-weight:600;font-size:1.06rem;
  color:var(--pine);margin-bottom:.28rem}
a.door .dd{display:block;font-size:.9rem;color:var(--muted);line-height:1.45}
.nextstep{margin-top:2.4rem;padding-top:1rem;border-top:1px solid var(--line);font-size:.95rem}
.nextstep span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;
  font-weight:700;display:block;margin-bottom:.3rem}

nav.toc{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--brass);
  border-radius:0 8px 8px 0;padding:.9rem 1.1rem 1rem;margin:0 0 1.8rem}
nav.toc .toch{font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);
  margin:0 0 .5rem;font-weight:700}
nav.toc ol{margin:0;padding-left:1.2rem}
nav.toc ul{margin:.25rem 0 .5rem;padding-left:1rem;list-style:none}
nav.toc ul li:before{content:"— ";color:var(--brass)}
nav.toc li{margin:.18rem 0;font-size:.94rem}
nav.toc a{color:var(--ink);text-decoration:none;border-bottom:1px solid transparent}
nav.toc a:hover{color:var(--pine);border-bottom-color:var(--brass)}
ol.fears li{margin:.2rem 0}

.linkbtn{background:none;border:0;padding:0;font:inherit;font-size:.82rem;color:var(--muted);
  text-decoration:underline;cursor:pointer}
.linkbtn:hover{color:var(--pine)}
form.inline{display:inline}

p.note{background:var(--pine-soft);border-left:3px solid var(--brass);padding:.7rem .9rem;
  border-radius:0 6px 6px 0;font-size:.95rem;margin:.8rem 0}
a.stepjump{color:inherit;text-decoration:none;border-bottom:1px dotted var(--line)}
a.stepjump:hover{border-bottom-color:var(--brass);color:var(--pine)}
.filterbar{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:1rem 0 1.4rem}
.filterbar select,.filterbar input{padding:.45rem .6rem;border:1px solid var(--line);
  border-radius:6px;background:var(--card);color:var(--ink);font:inherit}
.filterbar .clear{font-size:.9rem}
.count{color:var(--muted);font-size:.9rem;margin:.2rem 0 1rem}
.report{font-size:.82rem;color:var(--muted);margin-top:.6rem}
.report a{color:var(--muted)}
.badge{display:inline-block;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;
  padding:.15rem .45rem;border-radius:4px;background:var(--pine-soft);color:var(--pine);
  border:1px solid var(--line);vertical-align:middle;margin-left:.4rem}

:root{
  --paper:#f5f4f2; --card:#ffffff; --ink:#2b2b2b; --muted:#5e5e5e;
  --pine:#6B4E9B; --bright:#6B4E9B; --pine-soft:#f5f0fb; --line:#ded4ec;
  --brass:#B8860B; --rule:#D9A521; --on-pine:#ffffff;
}
@media (prefers-color-scheme: dark){
  :root{
    --paper:#141216; --card:#1c1920; --ink:#ece8f2; --muted:#a9a2b5;
    --pine:#C0A5E6; --bright:#C0A5E6; --pine-soft:#241f2c; --line:#39323f;
    --brass:#E3B63C; --rule:#8a6a1f; --on-pine:#150f1c;
  }
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0; background:var(--paper); color:var(--ink);
  font:400 1.06rem/1.68 "Atkinson Hyperlegible", Verdana, sans-serif;
}
.skip{position:absolute; left:-9999px;}
.skip:focus{left:1rem; top:1rem; background:var(--pine); color:var(--on-pine); padding:.6rem 1rem; z-index:99; border-radius:4px;}
h1,h2,h3{font-family:"Source Serif 4", Georgia, serif; line-height:1.15; text-wrap:balance; margin:0;}
h1{font-size:clamp(2rem,5.5vw,2.9rem); font-weight:650; color:var(--bright);}
h2.first{border-top:none; padding-top:0; margin-top:.6rem;}
h2{font-size:clamp(1.4rem,3.5vw,1.85rem); font-weight:650; margin:2.8rem 0 .5rem; padding-top:1.3rem; border-top:2px solid var(--rule); color:var(--bright);}
.box{border-left:4px solid var(--rule);}
h3{font-size:1.14rem; font-weight:650; margin:1.7rem 0 .35rem;}
p{margin:.75rem 0;}
a{color:var(--pine);}
:focus-visible{outline:2px solid var(--pine); outline-offset:2px;}

header.site{background:var(--card); border-bottom:1px solid var(--line);}
header.site .bar{max-width:56rem; margin:0 auto; padding:.85rem 1.15rem; display:flex; flex-wrap:wrap; gap:.55rem 1.2rem; align-items:baseline;}
.brand{display:inline-flex; align-items:center; margin-right:auto; text-decoration:none;}
.brand img{height:46px; width:auto; display:block;}
header.site{background:#000;}
header.site nav a{color:#b9b2c4;}
header.site nav a:hover, header.site nav a.on{color:#E3B63C;}
header.site nav{display:flex; flex-wrap:wrap; align-items:baseline; gap:.45rem .95rem; font-size:.88rem;}
header.site nav a{color:var(--muted); text-decoration:none; font-weight:700;}
header.site nav a:hover, header.site nav a.on{color:var(--pine); text-decoration:underline;}

main{max-width:46rem; margin:0 auto; padding:2.4rem 1.15rem 4rem;}
.eyebrow{font-size:.74rem; letter-spacing:.15em; text-transform:uppercase; color:var(--muted); font-weight:700; margin:0 0 .5rem;}
.lede{font-size:1.2rem; color:var(--muted); margin:.5rem 0 1.4rem;}

.box{background:var(--pine-soft); border:1px solid var(--line); border-radius:7px; padding:1.1rem 1.3rem; margin:1.4rem 0;}
.box p:first-child{margin-top:0;} .box p:last-child{margin-bottom:0;}
.script{background:var(--card); border-left:4px solid var(--pine); border-radius:0 7px 7px 0; padding:1.1rem 1.3rem; margin:1.2rem 0;}
.script p{margin:.6rem 0;}
.stage{color:var(--muted); font-style:italic;}
.vow{font-family:"Source Serif 4",Georgia,serif; font-size:1.2rem; line-height:1.55; font-weight:500;}

.cta{display:inline-block; background:var(--pine); color:var(--on-pine) !important; text-decoration:none;
     font-weight:700; padding:.8rem 1.4rem; border-radius:6px; margin:.35rem .5rem .35rem 0;}
.cta:hover{filter:brightness(1.12);}
.cta.ghost{background:transparent; color:var(--pine) !important; border:2px solid var(--pine);}

ol.steps{padding-left:1.35rem;} ol.steps>li{margin:.85rem 0; padding-left:.25rem;}
ul{padding-left:1.25rem;} ul li{margin:.4rem 0;}
.cards{display:grid; gap:1rem; grid-template-columns:repeat(auto-fit,minmax(15rem,1fr)); margin:1.5rem 0;}
.card{background:var(--card); border:1px solid var(--line); border-radius:7px; padding:1.05rem 1.2rem;}
.card h3{margin-top:0;}
.card p:last-child{margin-bottom:0;}
.tablewrap{overflow-x:auto; margin:1.4rem 0;}
table caption{font-weight:700; text-align:left; padding:0 0 .4rem; font-family:"Source Serif 4",Georgia,serif; font-size:1.02rem;}
table{border-collapse:collapse; width:100%; font-size:.93rem;}
th{background:var(--pine-soft); text-align:left;}
th,td{border:1px solid var(--line); padding:.6rem .7rem; vertical-align:top; min-width:9rem;}

footer.site{border-top:2px solid var(--rule); background:var(--card);}
footer.site p{max-width:46rem; margin:.4rem auto; padding:0 1.15rem; color:var(--muted); font-size:.94rem; text-align:center;}
footer.site{padding:1.8rem 0 2.4rem;}
footer.site .sep{margin-top:1rem;}
@media print{ header.site nav, .cta{display:none;} body{background:#fff;} }

/* ---- heading for screen readers only (the logo in the black bar is the visible title) ---- */
.sr-only{position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden;
         clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; border:0;}

/* ---- forms & meeting cards ---- */
.eggform{max-width:34rem;}
.eggform label{display:block; margin:1rem 0 .2rem; font-weight:700;}
.eggform label.radio{font-weight:400; margin:.35rem 0;}
.eggform .opt{font-weight:400; color:var(--muted);}
.eggform input[type=text], .eggform input[type=email], .eggform input[type=password],
.eggform select, .eggform textarea{
  width:100%; margin-top:.3rem; padding:.6rem .7rem; font:inherit; font-weight:400;
  color:var(--ink); background:var(--card);
  border:1px solid var(--line); border-radius:5px;
}
.eggform textarea{resize:vertical;}
.eggform fieldset{border:1px solid var(--line); border-radius:6px; padding:.7rem 1rem; margin:1.2rem 0;}
.eggform legend{font-weight:700; padding:0 .4rem;}
.eggform .row{display:grid; gap:0 1rem; grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));}
.hint{color:var(--muted); font-size:.92rem;}
.hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden;}
form.inline{display:flex; flex-wrap:wrap; gap:.5rem; margin-top:.8rem;}
form.inline .cta{margin:0;}
.card.meeting h3{font-size:1.05rem;}
.card .tz{font-family:"Atkinson Hyperlegible",Verdana,sans-serif; font-size:.85rem; font-weight:400; color:var(--muted);}
.card .place{font-weight:700; margin:.2rem 0;}
.card .notes{color:var(--muted);}
.card .host{font-size:.9rem; color:var(--muted); margin-bottom:0;}

