/* LeaveCalc organisation pages: /for-organizations/, /for-government/, /security/, /dpa/, /accessibility/, /buying/.
   Loaded after /for-employers/employers.css and /assets/feature.css (tokens and the shared look), before /assets/ui.css.
   No green. Orange text only through var(--accent-dark) or var(--accent-deep). */

/* ---------- skip link and focus ---------- */
.skip{position:absolute;left:12px;top:12px;z-index:100;padding:10px 16px;border-radius:8px;background:var(--ink);color:#fff;
  font-size:14px;font-weight:650;text-decoration:none;transform:translateY(-200%);transition:transform .15s ease-out}
.skip:focus,.skip:focus-visible{transform:none;outline:2px solid var(--accent-dark);outline-offset:2px}
main:focus{outline:none}
.q:focus-visible{outline:2px solid var(--accent-dark);outline-offset:2px;border-radius:8px}
.toc a:focus-visible,.doc-body a:focus-visible,.org-prose a:focus-visible,.ft-card a:focus-visible,.feat a:focus-visible,
.org-more a:focus-visible,.org-links a:focus-visible{outline:2px solid var(--accent-dark);outline-offset:2px;border-radius:4px}

/* ---------- contrast on the shared chrome (small text must reach 4.5:1) ---------- */
.side-word span,.flogo span{color:var(--accent-dark)}
.foot .byline{color:var(--muted)}

/* ---------- marketing pages ---------- */
.org-hero{display:block;padding:34px 0 8px;max-width:820px}
.org-hero .hl{max-width:20ch}
.org-hero .lede{max-width:62ch}
.sec.org-facts{padding-top:44px}
.ft-fact b{color:var(--ink)}
.org-who,.org-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.ft-card a,.feat a,.org-prose a{color:var(--accent-dark);font-weight:600;text-underline-offset:3px}
.org-prose{max-width:720px;margin:0 0 22px}
.org-prose p{font-size:16px;color:var(--ink-soft);margin:0 0 14px}
.org-dots{list-style:none;margin:0;padding:0}
.org-dots li{position:relative;padding:5px 0 5px 20px;font-size:15px;color:var(--ink-soft);line-height:1.55}
.org-dots li::before{content:"";position:absolute;left:3px;top:14px;width:6px;height:6px;border-radius:50%;background:var(--accent)}
.org-prose .org-dots{margin:0 0 14px}
.org-plans{list-style:none;margin:0;padding:0;display:grid;gap:10px;max-width:760px}
.org-plans li{display:grid;grid-template-columns:120px minmax(0,1fr);gap:4px 18px;align-items:baseline;background:var(--surface);
  border:1px solid var(--line);border-radius:var(--r-lg);padding:14px 18px;box-shadow:var(--shadow)}
.org-plans b{font-size:16px;color:var(--ink)}
.org-plans span{font-size:15px;color:var(--ink-soft)}
.org-note{font-size:14.5px;color:var(--ink-soft);margin:16px 0 0;max-width:760px}
.org-more{margin:18px 0 0}
.org-more a,.org-links a{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:15px;color:var(--accent-dark);text-decoration:none}
.org-more a:hover,.org-links a:hover{color:var(--accent-deep);text-decoration:underline;text-underline-offset:3px}
.org-links{display:flex;flex-wrap:wrap;gap:10px 24px;margin:18px 0 0}
.org-band .ctas .btn-s{background:var(--surface);color:var(--ink)}
.org-band .ctas{position:relative;z-index:1}

/* ---------- document pages ---------- */
.doc{max-width:760px}
.doc-head{padding:34px 0 0}
.doc-head .hl{max-width:none;font-size:clamp(32px,4.4vw,46px);line-height:1.08;margin:0 0 12px}
.doc-upd{font-size:14px;color:var(--muted);margin:0 0 20px}
.doc-intro p{font-size:17px;color:var(--ink-soft);margin:0 0 14px}
.doc-intro a,.doc-body a{color:var(--accent-dark);font-weight:600;text-underline-offset:3px;overflow-wrap:anywhere}
.toc{margin:24px 0 8px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px 22px;box-shadow:var(--shadow)}
.toc-h{font-size:12px;font-weight:750;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 8px}
.toc ol{margin:0;padding:0;list-style:none;columns:2;column-gap:28px}
.toc li{break-inside:avoid;padding:3px 0}
.toc a{color:var(--accent-dark);font-size:14.5px;font-weight:600;text-decoration:none}
.toc a:hover{color:var(--accent-deep);text-decoration:underline;text-underline-offset:3px}
.doc-body h2{font-size:clamp(22px,2.6vw,27px);line-height:1.2;letter-spacing:-.02em;margin:44px 0 12px;scroll-margin-top:20px}
.doc-body p,.doc-body li{font-size:16px;color:var(--ink-soft);line-height:1.65}
.doc-body p{margin:0 0 14px}
.doc-body ul{margin:0 0 16px;padding-left:22px}
.doc-body li{margin:0 0 6px}
.doc-body .org-dots{padding-left:0;margin:0 0 16px}
.doc-body .org-dots li{font-size:16px;margin:0}
.doc-body strong,.doc-body b{color:var(--ink)}
.doc-src li{overflow-wrap:anywhere}
.doc-table{width:100%;border-collapse:separate;border-spacing:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);
  margin:6px 0 18px;font-size:14.5px;line-height:1.5;box-shadow:var(--shadow);overflow:hidden}
.doc-table caption{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.doc-table th,.doc-table td{text-align:left;vertical-align:top;padding:12px 14px;border-bottom:1px solid var(--line);overflow-wrap:break-word;hyphens:manual}
.doc-table tr:last-child td{border-bottom:0}
.doc-table th{font-size:12px;font-weight:750;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);background:#F8FAFC}
.doc-table td{color:var(--ink-soft)}
.doc-table td b{color:var(--ink)}
.doc-close{margin:56px 0 0;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:28px 30px;
  display:flex;align-items:center;justify-content:space-between;gap:18px 28px;flex-wrap:wrap;box-shadow:var(--shadow)}
.doc-close h2{font-size:22px;letter-spacing:-.02em;line-height:1.2;margin:0 0 6px}
.doc-close p{margin:0;font-size:15px;color:var(--ink-soft);max-width:52ch}

/* ---------- small screens ---------- */
@media(max-width:760px){
  .org-who,.org-two{grid-template-columns:minmax(0,1fr)}
  .toc ol{columns:1}
  .org-plans li{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:600px){
  /* the table becomes one card per row: a name is never broken across lines */
  .doc-table,.doc-table tbody,.doc-table tr,.doc-table td{display:block;width:100%}
  .doc-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .doc-table tr{padding:6px 0;border-bottom:1px solid var(--line)}
  .doc-table tr:last-child{border-bottom:0}
  .doc-table td{border-bottom:0;padding:6px 16px}
  .doc-table td::before{content:attr(data-label);display:block;font-size:12px;font-weight:750;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 2px}
  .doc-table td:first-child{font-size:16px}
  .org-hero{padding-top:18px}
  .doc-head{padding-top:18px}
  .doc-close{padding:22px 20px}
  .doc-close .btn{width:100%;white-space:normal}
  .org-band .ctas .btn{width:100%}
}
@media(prefers-reduced-motion:reduce){.skip{transition:none}}
