/* ==========================================================================
   Text pages (template: doc, src/components/doc/DocPage.astro): policies,
   editorial standards, contact. Loaded with site.css only.
   ========================================================================== */
*,*::before,*::after{box-sizing:border-box}
body.ui-page{margin:0;background:var(--ui-air);color:var(--ui-ink);font:400 18px/1.7 var(--ui-sans);-webkit-font-smoothing:antialiased}
:where(.doc) img{display:block;max-width:100%;height:auto}
:where(.doc) a{color:var(--ui-teal);text-decoration-thickness:1px;text-underline-offset:3px}
:where(.doc) a:hover{color:var(--ui-tide)}
:focus-visible{outline:3px solid var(--ui-teal);outline-offset:3px;border-radius:6px}

/* ---------- layout ---------- */
.doc{display:grid;grid-template-columns:minmax(0,760px);justify-content:center;gap:64px;max-width:1144px;margin:0 auto;padding:64px 28px 112px}
.doc.has-toc{grid-template-columns:220px minmax(0,760px)}
.doc-toc{position:sticky;top:112px;align-self:start;padding-top:8px;font-size:15px;line-height:1.4}
.doc-toc h2{font:600 13px/1 var(--ui-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ui-muted);margin:0 0 14px}
.doc-toc ol{list-style:none;margin:0;padding:0;border-left:1px solid var(--ui-line)}
.doc-toc a{display:block;padding:7px 0 7px 16px;margin-left:-1px;border-left:2px solid transparent;color:var(--ui-muted);text-decoration:none}
.doc-toc a:hover{color:var(--ui-ink)}
.doc-toc a[aria-current]{color:var(--ui-tide);font-weight:600;border-left-color:var(--ui-teal)}

/* ---------- header ---------- */
.doc-head{margin-bottom:40px;padding-bottom:28px;border-bottom:1px solid var(--ui-line)}
.doc-head .kicker{font-size:14px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ui-teal);margin:0 0 14px}
.doc-head h1{font:500 clamp(36px,5vw,56px)/1.06 var(--ui-sans);letter-spacing:-.035em;margin:0 0 16px;color:var(--ui-ink)}
.doc-head .dek{font-size:20px;line-height:1.55;color:var(--ui-muted);margin:0 0 16px;max-width:34em}
.doc-head .updated{font-size:14.5px;color:var(--ui-muted);margin:0}

/* ---------- body ---------- */
.doc-body>*:first-child{margin-top:0}
.doc-body p{margin:0 0 20px}
.doc-body .lead{font-size:20px;line-height:1.65}
.doc-body h2{font:500 clamp(25px,2.6vw,30px)/1.2 var(--ui-sans);letter-spacing:-.02em;margin:56px 0 14px;color:var(--ui-ink);scroll-margin-top:110px}
.doc-body h3{font:600 19px/1.35 var(--ui-sans);margin:28px 0 8px;color:var(--ui-ink)}
.doc-body ul,.doc-body ol{margin:0 0 22px;padding:0;list-style:none;display:grid;gap:9px}
.doc-body li{position:relative;padding-left:22px}
.doc-body ul>li::before{content:"";position:absolute;left:2px;top:.62em;width:7px;height:7px;border-radius:50%;background:var(--ui-leaf)}
.doc-body ol{counter-reset:n}
.doc-body ol>li{counter-increment:n;padding-left:30px}
.doc-body ol>li::before{content:counter(n);position:absolute;left:0;top:.1em;width:22px;height:22px;border-radius:50%;background:var(--ui-mint);color:var(--ui-tide);font-size:13px;font-weight:600;line-height:22px;text-align:center}
.doc-body strong{font-weight:600}

/* Yes / no lists: <ul class="yes"> and <ul class="no"> */
.doc-body ul.yes>li,.doc-body ul.no>li{padding-left:32px}
.doc-body ul.yes>li::before,.doc-body ul.no>li::before{left:0;top:.2em;width:21px;height:21px;background-position:center;background-size:100%;background-repeat:no-repeat}
.doc-body ul.yes>li::before{background-color:var(--ui-mint);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m7.5 12.5 3 3 6-6.5' fill='none' stroke='%232B7174' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.doc-body ul.no>li::before{background-color:#F4E6E1;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m8.5 8.5 7 7m0-7-7 7' fill='none' stroke='%23944A36' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E")}

/* Boxes */
.doc-body .callout{background:var(--ui-white);border:1px solid var(--ui-line);border-left:4px solid var(--ui-teal);border-radius:16px;padding:20px 24px;margin:0 0 22px}
.doc-body .callout>*:last-child{margin-bottom:0}
.doc-body .summary{background:var(--ui-white);border:1px solid var(--ui-line);border-radius:var(--ui-r-md);padding:26px 28px 24px;margin:0 0 8px}
.doc-body .summary h2{font-size:21px;margin:0 0 14px}
.doc-body .summary ul{margin:0}
.doc-body .cta{display:flex;align-items:center;justify-content:space-between;gap:16px 28px;flex-wrap:wrap;background:var(--ui-mint);border-radius:var(--ui-r-md);padding:22px 26px;margin:6px 0 24px}
.doc-body .cta p{margin:0;flex:1 1 280px}
.doc-body .btn,.doc-body a.btn{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 22px;border-radius:999px;background:var(--ui-tide);color:#fff;font:600 16px/1 var(--ui-sans);text-decoration:none;white-space:nowrap}
.doc-body a.btn:hover{background:var(--ui-teal);color:#fff}
.doc-body a.btn.ghost{background:var(--ui-white);color:var(--ui-tide);border:1px solid var(--ui-field)}
.doc-body a.btn.ghost:hover{background:var(--ui-mint)}
.doc-body .links{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0 0}
.doc-body .signoff{margin-top:36px;padding-top:24px;border-top:1px solid var(--ui-line);color:var(--ui-muted)}

/* Contact cards: <div class="cards"><section class="card">…</section></div> */
.doc-body .cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0 0 20px}
.doc-body .card{display:flex;flex-direction:column;background:var(--ui-white);border:1px solid var(--ui-line);border-radius:var(--ui-r-md);padding:26px 26px 24px}
.doc-body .card h2{font-size:21px;margin:0 0 8px}
.doc-body .card p{font-size:16.5px;line-height:1.6;color:var(--ui-muted);margin:0 0 18px}
.doc-body .card .btn{margin-top:auto;align-self:flex-start}
.doc-body .card .note{font-size:14.5px;margin:14px 0 0}
.doc-body .card.wide{grid-column:1/-1}
.doc-body .pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0 0 20px}
.doc-body .pair>section{background:var(--ui-white);border:1px solid var(--ui-line);border-radius:var(--ui-r-md);padding:24px 26px}
.doc-body .pair h2{font-size:21px;margin:0 0 10px}
.doc-body .pair p,.doc-body .pair li{font-size:16.5px;line-height:1.6}
.doc-body .pair>section>*:last-child{margin-bottom:0}
.doc-body .reslist{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.doc-body .reslist>li{padding:0}
.doc-body .reslist>li::before{display:none}
.doc-body .reslist a{display:block;height:100%;background:var(--ui-white);border:1px solid var(--ui-line);border-radius:var(--ui-r-sm);padding:14px 18px;text-decoration:none;color:var(--ui-ink);font-size:16px;line-height:1.5}
.doc-body .reslist a:hover{border-color:var(--ui-leaf)}
.doc-body .reslist b{display:block;font-weight:600;color:var(--ui-tide)}
.doc-body .reslist span{color:var(--ui-muted);font-size:15px}

/* Tables (migrated as <figure class="wp-block-table">) */
.doc-body figure{margin:0 0 24px}
.doc-body .wp-block-table{overflow-x:auto;background:var(--ui-white);border:1px solid var(--ui-line);border-radius:16px}
.doc-body table{width:100%;border-collapse:collapse;font-size:15.5px;line-height:1.5}
.doc-body th,.doc-body td{text-align:left;vertical-align:top;padding:13px 16px;border-bottom:1px solid var(--ui-line)}
.doc-body th{background:var(--ui-air);font-weight:600;color:var(--ui-ink);white-space:nowrap}
.doc-body tr:last-child td{border-bottom:0}
.doc-body code{font:500 .88em/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;background:var(--ui-air);border-radius:6px;padding:2px 6px;word-break:break-word}

/* Crisis note (SupportNote) */
.support{display:flex;gap:16px;background:#fff;border:1px solid var(--ui-line);border-left:4px solid var(--ui-teal);border-radius:16px;padding:20px 22px;margin:8px 0 28px;font-size:17px;line-height:1.6}
.support svg{flex:none;width:24px;height:24px;color:var(--ui-teal);margin-top:2px}
.support b{display:block;color:var(--ui-tide)}
.support p{margin:0}

/* FAQ (PostFaq markup) */
.faq-block h2{font:500 clamp(25px,2.6vw,30px)/1.2 var(--ui-sans);letter-spacing:-.02em;margin:56px 0 16px;scroll-margin-top:110px}
.faq-block details{background:#fff;border:1px solid var(--ui-line);border-radius:18px;padding:0 24px;margin-bottom:10px}
.faq-block summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:19px 0;font-weight:500;font-size:18px}
.faq-block summary::-webkit-details-marker{display:none}
.faq-block summary::after{content:"";flex:none;width:28px;height:28px;border-radius:50%;background:var(--ui-air) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'%3E%3Cpath d='M14 9v10M9 14h10' stroke='%232B7174' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") center/100% no-repeat;transition:transform .3s}
.faq-block details[open] summary::after{transform:rotate(45deg)}
.faq-block details p{margin:0 0 20px;color:var(--ui-muted);font-size:17px;line-height:1.65}

@media (max-width:1100px){
  .doc.has-toc{grid-template-columns:minmax(0,760px)}
  .doc-toc{display:none}
}
@media (max-width:640px){
  .doc{padding:40px 18px 80px}
  .doc-head{margin-bottom:28px}
  .doc-head .dek{font-size:18px}
  .doc-body{font-size:17px}
  .doc-body .lead{font-size:18.5px}
  .doc-body h2{margin-top:44px}
  .doc-body .cards,.doc-body .pair,.doc-body .reslist{grid-template-columns:minmax(0,1fr)}
  .doc-body .card,.doc-body .pair>section,.doc-body .summary{padding:22px}
  .doc-body .cta{padding:20px}
  .faq-block details{padding:0 18px}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important}}
