/* ============================================================
   LID FORM OVERLAY — Sherpa expression
   Palette + type inherited from "Deck build for review".
   Deck uses Georgia / Arial / Courier as fallbacks; the web
   build uses the real specified faces.
   ============================================================ */

:root{
  /* grounds */
  --cream:#FAF7F2;
  --paper:#FFFEFB;
  --sand:#F2EEE4;
  --parchment:#F5ECD8;
  /* borders */
  --line:#E6DFD2;
  --line-2:#D8D1C4;
  /* ink */
  --ink:#201C15;
  --ink-2:#4A453B;
  --ink-3:#6B655A;
  --ink-4:#A39C8D;
  /* green */
  --green:#2B5D4F;
  --green-deep:#1C3B33;
  --sage:#9DB8AC;
  --sage-2:#B9CCC1;
  /* gold */
  --gold:#C9A24B;
  --gold-pale:#D9C489;
  --gold-ink:#7A5E1C;

  --serif:"Newsreader",Georgia,"Times New Roman",serif;
  --sans:"Public Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  --mono:"IBM Plex Mono","Courier New",monospace;

  --radius:4px;
  --maxw:1180px;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--cream);color:var(--ink);
  font-family:var(--sans);font-size:16px;line-height:1.6;
  -webkit-font-smoothing:antialiased;
}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px}
@media(max-width:640px){.wrap{padding:0 20px}}

/* ---------- kicker: small-caps, tracked, · separated ---------- */
.kicker{
  font-family:var(--mono);font-size:10.5px;font-weight:500;
  letter-spacing:.19em;text-transform:uppercase;color:var(--green);
  display:flex;align-items:center;gap:9px;flex-wrap:wrap;
}
.kicker .dot{color:var(--gold);font-weight:700}
.kicker.muted{color:var(--ink-4)}

/* ---------- header ---------- */
header{border-bottom:1px solid var(--line);background:var(--paper)}
.head-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0}
.brand{text-decoration:none;color:var(--ink);display:block}
.brand .mark{
  font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--gold-ink);background:var(--parchment);border:1px dashed var(--gold);
  padding:3px 8px;border-radius:3px;display:inline-block;margin-bottom:7px;
}
.brand b{display:block;font-family:var(--serif);font-size:20px;font-weight:500;letter-spacing:-.01em;line-height:1}
.brand span{
  display:block;font-family:var(--mono);font-size:9px;letter-spacing:.42em;
  text-transform:uppercase;color:var(--ink-4);margin-top:5px;
}
.head-note{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-4);text-align:right}

/* ---------- hero ---------- */
.hero{padding:60px 0 40px;max-width:800px}
.hero .kicker{margin-bottom:20px}
h1{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(34px,5.4vw,56px);line-height:1.1;letter-spacing:-.02em;
  margin:0 0 22px;color:var(--ink);
}
h1 em{font-style:italic;color:var(--green)}
.sub{margin:0;font-size:18px;line-height:1.65;color:var(--ink-2);max-width:62ch}
.sub strong{color:var(--ink);font-weight:600}
.rule{height:1px;background:var(--line-2);margin:0;border:0}
.rule-gold{width:52px;height:2px;background:var(--gold);border:0;margin:26px 0 0}

/* ---------- layout ---------- */
.grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:28px;padding:38px 0 68px;align-items:start}
@media(max-width:960px){.grid{grid-template-columns:1fr;gap:22px;padding-top:28px}}

/* ---------- form panel ---------- */
.panel{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);
  overflow:hidden;min-height:660px;position:relative;
  box-shadow:0 1px 2px rgba(32,28,21,.04),0 12px 34px rgba(32,28,21,.055);
}
.panel-head{padding:20px 26px;border-bottom:1px solid var(--line);background:var(--paper)}
.panel iframe{display:block;width:100%;height:1520px;border:0;background:var(--paper)}
.loading{position:absolute;inset:0;display:grid;place-items:center;background:var(--paper);z-index:2}
.loading.gone{display:none}
.loading p{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-4);margin:14px 0 0}
.spinner{width:24px;height:24px;border:2px solid var(--line-2);border-top-color:var(--gold);border-radius:50%;animation:spin .9s linear infinite;margin:0 auto}
@keyframes spin{to{transform:rotate(360deg)}}
.nojs{padding:56px 32px;text-align:center;color:var(--ink-2)}
.nojs a{color:var(--green);font-weight:600}

/* ---------- cards ---------- */
.rail{display:flex;flex-direction:column;gap:20px;position:sticky;top:26px}
@media(max-width:960px){.rail{position:static}}

.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:28px 26px}
.card.sand{background:var(--sand);border-color:var(--line-2)}
.card .kicker{margin-bottom:14px}
.card h2{
  font-family:var(--serif);font-weight:400;font-size:23px;line-height:1.25;
  letter-spacing:-.01em;margin:0 0 20px;color:var(--ink);
}
.card h2 em{font-style:italic;color:var(--green)}

/* ---------- timeline ---------- */
ol.timeline{list-style:none;margin:0;padding:0}
ol.timeline li{display:grid;grid-template-columns:38px 1fr;gap:16px;padding-bottom:22px;position:relative}
ol.timeline li:last-child{padding-bottom:0}
ol.timeline li::after{
  content:"";position:absolute;left:11px;top:30px;bottom:4px;width:1px;background:var(--line-2);
}
ol.timeline li:last-child::after{display:none}
.tl-num{
  font-family:var(--serif);font-size:26px;font-weight:400;color:var(--gold);
  line-height:1;text-align:center;position:relative;z-index:1;
  background:var(--paper);padding-bottom:5px;
}
.card.sand .tl-num{background:var(--sand)}
.tl-day{
  font-family:var(--mono);font-size:9.5px;letter-spacing:.17em;text-transform:uppercase;
  color:var(--green);display:block;margin-bottom:5px;
}
.tl-text{font-size:14.5px;line-height:1.6;color:var(--ink-3);margin:0}
.tl-text strong{color:var(--ink);font-weight:600}
.tl-text em{font-style:italic;color:var(--ink-2)}

/* verdict band — the exit */
.verdict{
  margin-top:22px;background:rgba(157,184,172,.17);border-left:3px solid var(--green);
  padding:15px 18px;font-size:14.5px;line-height:1.6;color:var(--ink-2);
}
.verdict strong{color:var(--green-deep);font-weight:700}

/* ---------- em-dash list, from the deck ---------- */
ul.dash{list-style:none;margin:0;padding:0}
ul.dash li{
  display:grid;grid-template-columns:20px 1fr;gap:12px;
  padding:13px 0;border-top:1px solid var(--line);font-size:14.5px;color:var(--ink-3);line-height:1.55;
}
ul.dash li:first-child{border-top:0;padding-top:0}
ul.dash li:last-child{padding-bottom:0}
ul.dash .em{color:var(--gold);font-weight:400;line-height:1.5}
ul.dash strong{color:var(--ink);font-weight:600}

/* ---------- stat ---------- */
.stat{text-align:left}
.stat .big{
  font-family:var(--serif);font-size:46px;font-weight:400;line-height:1;
  color:var(--green);letter-spacing:-.02em;display:block;
}
.stat .cap{
  font-family:var(--mono);font-size:9.5px;letter-spacing:.17em;text-transform:uppercase;
  color:var(--ink-4);margin-top:9px;display:block;
}
.stat p{font-size:14.5px;color:var(--ink-3);margin:16px 0 0;line-height:1.6}
.src{font-family:var(--mono);font-size:9.5px;letter-spacing:.09em;color:var(--ink-4);margin:14px 0 0}

/* ---------- attribution ---------- */
.attrib{
  display:none;align-items:center;gap:10px;margin-top:26px;
  background:var(--parchment);border:1px solid var(--gold-pale);
  padding:9px 15px;border-radius:3px;width:fit-content;
  font-family:var(--mono);font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--gold-ink);
}
.attrib.on{display:inline-flex}
.attrib b{font-weight:700;letter-spacing:.1em}

/* ---------- placeholder chip ---------- */
.chip{
  display:block;background:var(--parchment);color:var(--gold-ink);
  border:1px dashed var(--gold);border-radius:3px;padding:12px 14px;
  font-family:var(--mono);font-size:11.5px;line-height:1.6;letter-spacing:.02em;margin:0;
}
.chip + .chip{margin-top:10px}

/* ---------- hub tiles ---------- */
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px;padding:12px 0 72px}
a.tile{
  display:block;text-decoration:none;color:inherit;background:var(--paper);
  border:1px solid var(--line);border-radius:var(--radius);padding:34px 30px;
  transition:border-color .2s,box-shadow .2s,transform .2s;
}
a.tile:hover{border-color:var(--gold-pale);box-shadow:0 10px 30px rgba(32,28,21,.07);transform:translateY(-2px)}
a.tile .kicker{margin-bottom:16px}
a.tile h3{font-family:var(--serif);font-weight:400;font-size:28px;line-height:1.2;margin:0 0 12px;letter-spacing:-.01em}
a.tile h3 em{font-style:italic;color:var(--green)}
a.tile p{margin:0 0 22px;font-size:15px;color:var(--ink-3);line-height:1.6}
a.tile .go{font-family:var(--mono);font-size:10px;letter-spacing:.17em;text-transform:uppercase;color:var(--green);font-weight:500}
a.tile:hover .go{color:var(--gold-ink)}

/* ---------- internal ---------- */
.internal-flag{
  display:inline-flex;align-items:center;gap:9px;background:var(--green);color:var(--paper);
  font-family:var(--mono);font-size:10px;letter-spacing:.17em;text-transform:uppercase;
  padding:7px 14px;border-radius:3px;margin-bottom:22px;
}
body.staff{background:var(--sand)}
body.staff header{background:var(--sand)}

/* ---------- footer ---------- */
footer{border-top:1px solid var(--line-2);background:var(--sand);margin-top:20px}
.foot-in{padding:34px 0 44px}
.foot-row{display:flex;flex-wrap:wrap;gap:18px;justify-content:space-between;align-items:baseline}
.foot-org{font-family:var(--serif);font-size:16px;color:var(--ink-2)}
.foot-links{display:flex;gap:24px;flex-wrap:wrap}
.foot-links a{
  font-family:var(--mono);font-size:10px;letter-spacing:.15em;text-transform:uppercase;
  color:var(--ink-3);text-decoration:none;
}
.foot-links a:hover{color:var(--green)}
.disclaimer{margin:24px 0 0;font-size:11.5px;line-height:1.75;color:var(--ink-4);max-width:92ch}

@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ============================================================
   QUICK CAPTURE — "just a name and email"
   ============================================================ */
.quick{position:relative}
.quick .kicker{margin-bottom:14px}
.quick h2{margin-bottom:8px}
.quick .why{font-size:14.5px;color:var(--ink-3);margin:0 0 22px;line-height:1.6}
.quick .why strong{color:var(--ink);font-weight:600}

.field{margin-bottom:14px}
.field label{
  display:block;font-family:var(--mono);font-size:9.5px;letter-spacing:.17em;
  text-transform:uppercase;color:var(--ink-3);margin-bottom:7px;
}
.field input{
  width:100%;font-family:var(--sans);font-size:16px;color:var(--ink);
  background:var(--paper);border:1px solid var(--line-2);border-radius:3px;
  padding:12px 14px;transition:border-color .15s,box-shadow .15s;
}
.card.sand .field input{background:var(--paper)}
.field input::placeholder{color:var(--ink-4)}
.field input:focus{
  outline:none;border-color:var(--green);
  box-shadow:0 0 0 3px rgba(43,93,79,.11);
}
.field input:invalid:not(:placeholder-shown){border-color:#B4553F}

.btn{
  width:100%;display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font-family:var(--mono);font-size:11px;letter-spacing:.17em;text-transform:uppercase;font-weight:500;
  background:var(--green);color:var(--paper);border:1px solid var(--green);
  border-radius:3px;padding:15px 20px;cursor:pointer;
  transition:background .15s,transform .1s;
}
.btn:hover{background:var(--green-deep)}
.btn:active{transform:translateY(1px)}
.btn[disabled]{opacity:.55;cursor:default}
.btn.ghost{background:transparent;color:var(--green);border-color:var(--line-2)}
.btn.ghost:hover{background:rgba(157,184,172,.16);border-color:var(--green)}

.microcopy{
  font-family:var(--mono);font-size:9.5px;letter-spacing:.11em;line-height:1.7;
  color:var(--ink-4);margin:13px 0 0;text-align:center;
}

/* honeypot */
.hp{position:absolute;left:-9999px;opacity:0;height:0;width:0;overflow:hidden}

/* success state */
.done{display:none;text-align:left;padding:6px 0 0}
.done.on{display:block}
.quick.sent .quick-body{display:none}
.done .tick{
  width:34px;height:34px;border-radius:50%;background:rgba(157,184,172,.3);
  display:grid;place-items:center;margin-bottom:16px;
}
.done h3{font-family:var(--serif);font-weight:400;font-size:24px;line-height:1.25;margin:0 0 12px;letter-spacing:-.01em}
.done h3 em{font-style:italic;color:var(--green)}
.done p{font-size:14.5px;color:var(--ink-3);margin:0 0 16px;line-height:1.6}
.done p strong{color:var(--ink);font-weight:600}
.err{
  display:none;background:#FBEEE9;border:1px solid #E4C4B7;color:#8C4732;
  border-radius:3px;padding:11px 14px;font-size:13.5px;line-height:1.55;margin-bottom:14px;
}
.err.on{display:block}
.err a{color:#8C4732;font-weight:600}

/* escape hatch under the long form */
.hatch{
  margin-top:20px;background:var(--sand);border:1px solid var(--line-2);
  border-radius:var(--radius);padding:26px;
}

/* ============================================================
   NATIVE FORMS (net-form) — consent + success toggle
   ============================================================ */
.formwrap{position:relative}
.formwrap.sent > :not(.done){display:none}
.formwrap .done{padding-top:0}

/* TCPA / consent checkbox */
.consent{
  display:grid;grid-template-columns:20px 1fr;gap:12px;align-items:start;
  margin:6px 0 20px;padding:15px 16px;
  background:var(--sand);border:1px solid var(--line-2);border-radius:3px;
  cursor:pointer;
}
.consent input[type=checkbox]{
  width:18px;height:18px;margin:1px 0 0;flex-shrink:0;
  accent-color:var(--green);cursor:pointer;
}
.consent span{
  font-size:12px;line-height:1.6;color:var(--ink-3);
}
.consent span strong{color:var(--ink-2);font-weight:600}
.consent:hover{border-color:var(--line)}
.consent:focus-within{border-color:var(--green);box-shadow:0 0 0 3px rgba(43,93,79,.11)}

/* "I don't have their phone yet" opt-out */
.optout{
  display:grid;grid-template-columns:20px 1fr;gap:12px;align-items:start;
  margin:-4px 0 16px;padding:12px 14px;
  border:1px dashed var(--line-2);border-radius:3px;cursor:pointer;
}
.optout input[type=checkbox]{
  width:18px;height:18px;margin:1px 0 0;flex-shrink:0;accent-color:var(--green);cursor:pointer;
}
.optout span{font-size:12.5px;line-height:1.55;color:var(--ink-3)}
.optout span strong{color:var(--ink-2);font-weight:600}
.field.is-optional{opacity:.5;transition:opacity .15s}

/* ============================================================
   SOP — spoken script lines + email template
   ============================================================ */
.script{
  border-left:3px solid var(--gold);background:var(--sand);
  padding:11px 16px;margin:10px 0;border-radius:0 3px 3px 0;
  font-family:var(--serif);font-size:15.5px;font-style:italic;
  color:var(--ink-2);line-height:1.55;
}
.emailbox{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);
  padding:22px 24px;
}
.emailbox p{margin:0 0 14px;font-size:14.5px;line-height:1.65;color:var(--ink-2)}
.emailbox p:last-child{margin-bottom:0}
.emailbox ul{margin:0 0 14px;padding-left:20px}
.emailbox li{font-size:14.5px;line-height:1.6;color:var(--ink-2);margin:4px 0}

/* SOP inlined below a form (e.g. the Staff Invite page) */
.sop-inline{border-top:1px solid var(--line-2);margin-top:20px}
.sop-inline .sop-head{max-width:800px;padding:34px 0 4px}
.sop-inline .sop-title{
  font-family:var(--serif);font-weight:400;line-height:1.15;letter-spacing:-.02em;
  font-size:clamp(26px,3.6vw,38px);margin:14px 0 14px;color:var(--ink);
}
.sop-inline .sop-title em{font-style:italic;color:var(--green)}

/* Insureio critical-note block — monospace, copy-pasteable */
.notebox{
  white-space:pre-line;font-family:var(--mono);font-size:13.5px;line-height:1.7;
  color:var(--ink);background:var(--parchment);border:1px dashed var(--gold);
  border-radius:3px;padding:14px 16px;margin:6px 0 0;
}

/* Progressive disclosure — "expand to the full SOP-10" */
details.sop-more{
  border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);
  margin:12px 0 0;overflow:hidden;
}
details.sop-more + details.sop-more{margin-top:10px}
details.sop-more > summary{
  cursor:pointer;list-style:none;padding:15px 18px;
  font-family:var(--mono);font-size:11px;letter-spacing:.13em;text-transform:uppercase;
  color:var(--green);font-weight:500;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
}
details.sop-more > summary::-webkit-details-marker{display:none}
details.sop-more > summary::after{content:"+";font-size:17px;line-height:1;color:var(--gold-ink)}
details.sop-more[open] > summary::after{content:"\2013"}
details.sop-more > summary:hover{background:var(--sand)}
details.sop-more[open] > summary{border-bottom:1px solid var(--line)}
details.sop-more .more-body{padding:16px 18px 20px}
details.sop-more .more-body > :first-child{margin-top:0}
details.sop-more .emailbox{background:var(--sand)}

/* ============================================================
   BRAND LOCKUP + RIDGE
   ============================================================ */
.brand{display:flex;align-items:center;gap:13px;text-decoration:none;color:var(--ink)}
.brand .mark{display:none}              /* retire the raw [LID MARK — TBD] text */
.lid-mark{width:38px;height:38px;flex-shrink:0;display:block}
.lid-logo{height:38px;width:auto;display:block}
.lid-word{display:block;line-height:1}
.lid-word b{
  display:block;font-family:var(--serif);font-size:19px;font-weight:500;
  letter-spacing:-.012em;line-height:1.05;color:var(--ink);
}
.lid-word span{
  display:block;font-family:var(--mono);font-size:8.5px;letter-spacing:.4em;
  text-transform:uppercase;color:var(--ink-4);margin-top:5px;
}
.brand:hover .lid-word b{color:var(--green)}
@media(max-width:520px){
  .lid-mark,.lid-logo{width:32px;height:32px}
  .lid-word b{font-size:16px}
  .lid-word span{font-size:7.5px;letter-spacing:.32em}
}

/* ridge contour under the hero — from slide 1 */
.hero{position:relative;padding-bottom:64px}
.ridge{
  position:absolute;left:0;right:0;bottom:0;width:100%;height:70px;
  pointer-events:none;overflow:visible;
}
.hero .rule-gold{position:relative;z-index:1}
@media(max-width:640px){.ridge{height:52px;opacity:.75}}

/* header polish */
header{position:relative}
header::after{
  content:"";position:absolute;left:0;bottom:-1px;width:104px;height:2px;background:var(--gold);
}
.head-note{line-height:1.7}

/* ============================================================
   LINK BUILDER (staff)
   ============================================================ */
.codebar{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end;margin-bottom:6px}
@media(max-width:560px){.codebar{grid-template-columns:1fr}}
.codebar .field{margin:0}
.codebar .btn{width:auto;padding:14px 26px;white-space:nowrap}
.hint{font-size:13.5px;color:var(--ink-3);margin:12px 0 0;line-height:1.6}
.hint code{font-family:var(--mono);font-size:12.5px;background:var(--parchment);color:var(--gold-ink);padding:2px 6px;border-radius:3px}

.links{display:grid;gap:16px;margin-top:8px}
.linkrow{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);
  padding:22px;display:grid;grid-template-columns:1fr 116px;gap:22px;align-items:center;
}
@media(max-width:640px){.linkrow{grid-template-columns:1fr;gap:16px}}
.linkrow .meta .kicker{margin-bottom:9px}
.linkrow h4{font-family:var(--serif);font-weight:400;font-size:20px;margin:0 0 4px;letter-spacing:-.01em}
.linkrow h4 em{font-style:italic;color:var(--green)}
.linkrow .desc{font-size:13.5px;color:var(--ink-3);margin:0 0 14px;line-height:1.55}
.urlbox{
  display:flex;gap:8px;align-items:stretch;
}
.urlbox input{
  flex:1;min-width:0;font-family:var(--mono);font-size:12.5px;color:var(--ink-2);
  background:var(--sand);border:1px solid var(--line-2);border-radius:3px;padding:11px 12px;
}
.urlbox input:focus{outline:none;border-color:var(--green)}
.copy{
  font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;
  background:transparent;color:var(--green);border:1px solid var(--line-2);
  border-radius:3px;padding:0 15px;cursor:pointer;white-space:nowrap;transition:all .15s;
}
.copy:hover{background:var(--green);color:var(--paper);border-color:var(--green)}
.copy.done{background:var(--green);color:var(--paper);border-color:var(--green)}

.qrbox{text-align:center}
.qrwrap{
  width:110px;height:110px;background:var(--paper);border:1px solid var(--line-2);
  border-radius:3px;display:grid;place-items:center;padding:7px;margin:0 auto 8px;
}
.qrwrap canvas,.qrwrap img{width:96px!important;height:96px!important;display:block}
.qrwrap .pending{font-family:var(--mono);font-size:9px;letter-spacing:.1em;color:var(--ink-4);text-align:center;line-height:1.5}
.qrdl{
  font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink-3);text-decoration:none;border-bottom:1px solid var(--line-2);
}
.qrdl:hover{color:var(--green);border-color:var(--green)}

/* ---------- staff directory ---------- */
table.roster{width:100%;border-collapse:collapse;font-size:14px}
table.roster th{
  font-family:var(--mono);font-size:9.5px;letter-spacing:.15em;text-transform:uppercase;
  color:var(--ink-4);text-align:left;padding:0 12px 11px 0;border-bottom:1px solid var(--line-2);font-weight:500;
}
table.roster td{padding:13px 12px 13px 0;border-bottom:1px solid var(--line);vertical-align:middle}
table.roster tr:last-child td{border-bottom:0}
table.roster b{font-weight:600;color:var(--ink)}
table.roster .dim{color:var(--ink-3);font-size:13px}
table.roster code{
  font-family:var(--mono);font-size:12px;background:var(--parchment);color:var(--gold-ink);
  padding:3px 8px;border-radius:3px;white-space:nowrap;
}
table.roster tr.prov code{background:#F7E4DC;color:#8C4732}
.flag{
  display:inline-block;font-family:var(--mono);font-size:8.5px;letter-spacing:.11em;
  text-transform:uppercase;color:#8C4732;background:#F7E4DC;padding:2px 6px;border-radius:3px;margin-left:8px;
}
.copy.sm{padding:6px 11px;font-size:9px;margin-right:6px}
.tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
@media(max-width:760px){table.roster{min-width:640px}}
.toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:18px}
.toolbar .field{margin:0;flex:1;min-width:200px}

.org{
  display:inline-block;font-family:var(--mono);font-size:8.5px;letter-spacing:.13em;
  text-transform:uppercase;padding:3px 8px;border-radius:3px;white-space:nowrap;
}
.org-lid{background:rgba(43,93,79,.12);color:var(--green-deep)}
.org-pinney{background:rgba(201,162,75,.16);color:var(--gold-ink)}
.org-insureio{background:rgba(107,101,90,.13);color:var(--ink-2)}
/* Outside partners. Outlined rather than filled, so a non-internal row is
   obvious at a glance in a directory that is otherwise all internal.
   Inset shadow, not a border — a border would shift the badge's size out
   of line with the three filled ones beside it. */
.org-external{background:transparent;color:var(--ink-3);box-shadow:inset 0 0 0 1px var(--line-2)}

/* ---- Optional attribution group (invite form) ---------------
   Visually separates the "if you know it" fields from the
   required consumer fields, so a client filling this out
   doesn't stall on questions they can't answer.              */
.field-group{
  margin:22px 0 20px;
  padding:16px 16px 14px;
  border:1px dashed var(--line-2);
  border-radius:6px;
  background:rgba(0,0,0,.015);
}
.field-group .group-label{
  margin:0 0 14px;
  font-family:var(--mono);
  font-size:11px;
  letter-spacing:.10em;
  text-transform:uppercase;
  color:var(--ink-3);
}
.field-group .group-label span{
  text-transform:none;
  letter-spacing:0;
  font-family:var(--sans);
  color:var(--ink-4);
}

/* ---- Internal page gate — REMOVED 2026-08-26 -----------------
   The client-side gate is gone; access control moved to
   netlify/edge-functions/gate.js, which challenges the request
   before any HTML is sent. The old .gate-locked rules hid the body
   with CSS *after* the full document had already been delivered,
   which is why curl returned everything (finding #1).
   Nothing adds .gate-locked any more — these rules are deliberately
   not left behind, so a stray class cannot blank a page. */
