:root{--bwd-ink:#17222a;--bwd-muted:#51616c;--bwd-navy:#103b4a;--bwd-blue:#176b87;--bwd-line:#d5e0e4;--bwd-pale:#eef7f8;--bwd-warn:#a45c00;--bwd-danger:#9b1c1c}
*,*::before,*::after{box-sizing:border-box}
html{overflow-x:hidden;scroll-behavior:smooth}
body{margin:0;overflow-wrap:break-word}
img,video,svg{max-width:100%;height:auto}
a{text-underline-offset:.18em;text-decoration-thickness:.08em}
a:hover{color:#00394d}
:where(a,button,input,textarea,select,[tabindex]):focus-visible{outline:3px solid #d18500;outline-offset:3px}
.bwd-skip{position:absolute;left:-10000px;top:auto;z-index:9999;background:#fff;color:var(--bwd-navy);padding:.75rem 1rem}
.bwd-skip:focus{left:1rem;top:1rem}
.bwd-site-header{border-bottom:1px solid var(--bwd-line);background:#fff}
.bwd-header-inner{padding-block:1rem}
.bwd-header-row{gap:1rem 2rem}
.bwd-brand,.bwd-brand a{font-size:1.12rem;font-weight:800;color:var(--bwd-navy);text-decoration:none}
.bwd-header-row .wp-block-navigation{font-size:.9rem;font-weight:600}
.bwd-header-row .wp-block-navigation-item__content{padding:.3rem .1rem}
.bwd-main{padding-block:2.4rem 4rem;min-height:45vh}
.bwd-main.bwd-front{padding-top:0}
.bwd-article>h1,.bwd-main>.wp-block-post-title,.bwd-main>.wp-block-query-title,.bwd-fallback-title{font-size:clamp(2rem,4.5vw,3.25rem);line-height:1.12;letter-spacing:-.035em;margin:0 0 1.35rem;max-width:800px}
.bwd-article>.wp-block-post-content{margin-block-start:0}
.article-header{max-width:800px;padding-block:1rem}
.dek{font-size:1.17rem;color:var(--bwd-muted);max-width:760px}
.breadcrumbs{font-size:.88rem;color:var(--bwd-muted)}
.bwd-article h2{font-size:clamp(1.45rem,2.8vw,1.8rem);margin-block-start:2.5rem}
.bwd-article h3{font-size:clamp(1.15rem,2vw,1.4rem);margin-block-start:1.8rem}
.bwd-main :where(p,li){line-height:1.68}
.bwd-main ul,.bwd-main ol{padding-left:1.5rem}
.bwd-main li{padding-block:.18rem}
.bwd-main .wp-block-post-content :where(p,li) a{color:#075c79;text-decoration:underline}
.bwd-main .wp-block-post-content :where(p,li) a:hover{color:#00394d}
.bwd-site-footer{background:#102a34;color:#e7f2f4;margin-top:2rem}
.bwd-footer-inner{padding-block:2.25rem}
.bwd-site-footer a,.bwd-site-footer .wp-block-site-title a{color:#fff}
.bwd-footer-brand,.bwd-footer-brand a{font-size:1.15rem;font-weight:750;text-decoration:none}
.bwd-site-footer p{margin:.55rem 0 1.2rem}
.bwd-footer-nav{font-size:.93rem;gap:.5rem 1.2rem}
.bwd-copyright{font-size:.85rem;color:#c8d8dd;margin-top:2rem!important}
.bwd-result{padding:1rem 0;border-bottom:1px solid var(--bwd-line)}
.bwd-result h2{margin:.25rem 0}
.bwd-result h2 a{text-decoration:underline}
.bwd-result .wp-block-post-excerpt{margin:.5rem 0}
/* Legacy Home and Gutenberg replacements share the same restrained card language. */
.hero{padding:clamp(2.25rem,5vw,4rem) 0 2.5rem;max-width:850px}
.hero h1{font-size:clamp(2rem,5vw,3.65rem);line-height:1.08;letter-spacing:-.035em;margin:.25rem 0 1rem}
.hero p{font-size:1.12rem}
.eyebrow{color:var(--bwd-blue);font-size:.78rem!important;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.hero-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.5rem}
.button,.wp-block-button__link{display:inline-block;background:var(--bwd-navy);color:#fff!important;border:2px solid var(--bwd-navy);border-radius:4px;text-decoration:none!important;font-weight:700;padding:.65rem 1rem;line-height:1.35}
.button.secondary,.wp-block-button.is-style-outline .wp-block-button__link{background:#fff;color:var(--bwd-navy)!important;border-color:var(--bwd-navy)}
.button:hover,.wp-block-button__link:hover{background:#075c79;border-color:#075c79;color:#fff!important}
.button.secondary:hover,.wp-block-button.is-style-outline .wp-block-button__link:hover{background:var(--bwd-pale);color:var(--bwd-navy)!important}
.route-grid,.cards,.principles,.meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.route-card,.card,.wp-block-column.card{min-width:0;border:1px solid var(--bwd-line);border-radius:6px;padding:1.25rem;background:#fff}
.route-card.urgent{border-left:4px solid var(--bwd-warn)}
.route-card h3,.card h3{margin:.2rem 0 .5rem}
.route-card p:last-child,.card p:last-child{margin-bottom:0}
.link-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,225px),1fr));gap:.75rem}
.link-grid>a{border:1px solid var(--bwd-line);border-radius:6px;padding:1rem;display:grid;gap:.25rem}
.link-grid span{font-size:.9rem;color:var(--bwd-muted)}
/* Native Gutenberg Home cards: keep CSS-grid children full-width and preserve the legacy compact link-card rhythm. */
.route-grid>.route-card,.link-grid>.link-card{width:100%;max-width:none!important;margin:0!important;justify-self:stretch}
.link-card{display:grid;gap:.25rem}
.link-card p{margin:0}
.link-card p:last-child{font-size:.9rem;color:var(--bwd-muted)}
/* Gutenberg constrained Groups center direct children with auto margins.
   Principles is itself a grid, so its cards must stretch to fill each grid track. */
.principles>p{background:var(--bwd-pale);width:100%;max-width:none!important;margin:0!important;padding:1rem;justify-self:stretch}
.method{margin-block:2.5rem}
.answer,.bwd-quick-answer{background:var(--bwd-pale);border-left:5px solid var(--bwd-blue);padding:.8rem 1.1rem;font-size:1.13rem;margin-block:1.5rem}
.answer p:last-child,.bwd-quick-answer p:last-child{margin-bottom:0}
.updated,.fine,.source-note{font-size:.875rem;color:var(--bwd-muted)}
.alert{border-left:5px solid;padding:1rem 1.15rem;margin-block:1.5rem}
.alert.info{border-color:#176b87;background:#eef7f8}
.alert.warning{border-color:#a45c00;background:#fff7e8}
.alert.danger{border-color:#9b1c1c;background:#fff1f1}
.alert strong{font-size:1.06rem}
.alert p:last-child{margin-bottom:0}
.related,.sources{border-top:1px solid var(--bwd-line);margin-top:2.5rem;padding-top:1rem}
.sources{font-size:.93rem;color:var(--bwd-muted)}
.related h2,.sources h2{margin-top:.25rem}
.checklist{list-style-type:'✓  ';padding-left:1.6rem}
.steps{padding-left:2rem}
.steps li{padding:.35rem 0 .55rem .3rem}
.code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.print-note{display:none}
/* Keep scroll on the table's container, never shrink columns to illegibility. */
.table-wrap,.wp-block-table{display:block;max-width:100%;overflow-x:auto;overflow-y:hidden;border:1px solid var(--bwd-line);border-radius:5px;margin-block:1.25rem;-webkit-overflow-scrolling:touch}
.table-wrap:focus-visible,.wp-block-table:focus-visible{outline:3px solid #d18500;outline-offset:2px}
.table-wrap table,.wp-block-table table{width:100%;min-width:680px;border:0;border-collapse:collapse;font-size:.94rem;line-height:1.45;margin:0}
.table-wrap th,.table-wrap td,.wp-block-table th,.wp-block-table td{padding:.75rem .85rem;text-align:left;vertical-align:top;border:0;border-bottom:1px solid var(--bwd-line);overflow-wrap:normal}
.table-wrap th,.wp-block-table th{background:#e7f2f4;color:var(--bwd-navy);font-weight:700}
.table-wrap tr:last-child td,.wp-block-table tr:last-child td{border-bottom:0}
.wp-block-table figcaption{font-size:.85rem;color:var(--bwd-muted);padding:.5rem .75rem;text-align:left}
.wp-block-table.is-style-stripes tbody tr:nth-child(odd){background:#f5f7f7}
figure,.wp-block-image,.bwd-figure{margin-block:1.5rem}
.bwd-figure,.wp-block-image{max-width:min(100%,800px)}
.bwd-figure img,.wp-block-image img{display:block;max-width:100%;height:auto;object-fit:contain}
figcaption,.wp-element-caption,.wp-block-image figcaption{color:var(--bwd-muted);font-size:.86rem;line-height:1.45;text-align:left;margin-top:.55rem}
.wp-block-gallery{gap:1rem}
.wp-block-quote{border-left:4px solid var(--bwd-blue);padding-left:1.25rem}
.wp-block-separator{border-color:var(--bwd-line)}
.wp-block-search__button{background:var(--bwd-navy);color:#fff;border:0;border-radius:4px;padding:.55rem .9rem}
@media(max-width:780px){.route-grid,.cards,.principles,.meta-grid{grid-template-columns:1fr}.bwd-header-row{align-items:flex-start}.bwd-main{padding-block:1.75rem 3rem}.hero{padding-top:2rem}.table-wrap,.wp-block-table{margin-inline:0}}
@media(max-width:600px){.bwd-header-row{gap:.6rem}.bwd-header-row .wp-block-navigation{font-size:.88rem}.bwd-main{min-width:0}.bwd-main :where(.wp-block-post-content,.wp-block-group){min-width:0}.bwd-footer-nav{display:flex;flex-wrap:wrap}.hero-actions .button,.hero-actions .wp-block-button__link{max-width:100%}}
@media(prefers-reduced-motion:no-preference){.route-card,.card,.link-grid>a{transition:border-color .15s ease}.route-card:hover,.card:hover,.link-grid>a:hover{border-color:var(--bwd-blue)}}

/* v1.0.6 — Long-page navigation and defensive singular-title UX. */
.bwd-main :where(h2[id],h3[id],h4[id]){scroll-margin-top:2rem}
.bwd-back-to-top{position:fixed;right:max(1rem,env(safe-area-inset-right));bottom:max(5rem,calc(1rem + env(safe-area-inset-bottom)));z-index:40;width:44px;height:44px;border:1px solid var(--bwd-line);border-radius:999px;background:#fff;color:var(--bwd-navy);font-size:1.35rem;font-weight:800;line-height:1;display:grid;place-items:center;box-shadow:0 3px 14px rgba(16,59,74,.14);cursor:pointer;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(6px)}
.bwd-back-to-top.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:none}
.bwd-back-to-top:hover{background:var(--bwd-pale);color:var(--bwd-navy);border-color:var(--bwd-blue)}
@media(max-width:600px){.bwd-back-to-top{right:max(.75rem,env(safe-area-inset-right));bottom:max(4.75rem,calc(.75rem + env(safe-area-inset-bottom)))}}
@media(prefers-reduced-motion:no-preference){.bwd-back-to-top{transition:opacity .15s ease,transform .15s ease,background-color .15s ease,border-color .15s ease}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{.bwd-site-header,.bwd-site-footer,.hero-actions,.related,.bwd-back-to-top{display:none}.bwd-main{min-height:0;padding:0}.table-wrap,.wp-block-table{overflow:visible}.table-wrap table,.wp-block-table table{min-width:0;font-size:9pt}a{color:inherit;text-decoration:underline}.print-note{display:block}}

/* v1.0.4 — Gutenberg Home layout normalization.
   A constrained Group used as a CSS grid can give direct children auto inline
   margins from WordPress global styles. In grid layout those auto margins stop
   the items stretching, which made short link-card lines appear inconsistently
   centered. Keep card children full-width and left-aligned. */
.link-card > *{
  width:100%;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  text-align:left;
}

/* The front-page post-content is intentionally wide (1120px) for routing grids.
   Editorial callouts at the end of the Home should still use the normal 800px
   reading measure, including their visible background/border. */
.bwd-front .wp-block-post-content > :where(.alert,.sources,.related){
  width:100%;
  max-width:800px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
