:root{--navy: #0b2a6b;--navy-deep: #071c4a;--navy-soft: #e6ecf8;--accent: #ffc386;--accent-strong: #f0a04b;--blue: #0047b6;--ink: #16213a;--muted: #4e5a70;--line: #d6dce8;--bg: #ffffff;--bg-soft: #f3f5f9;--warn-bg: #fff4e1;--warn-ink: #7a4a00;--font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif;--maxw: 72rem;--radius: 6px;--shadow: 0 1px 2px rgba(11, 42, 107, .08), 0 10px 28px -14px rgba(11, 42, 107, .3)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{margin:0;font-family:var(--font);font-size:1.0625rem;line-height:1.55;color:var(--ink);background:var(--bg)}@media(min-width:40em){body{font-size:1.125rem}}[hidden]{display:none!important}img,svg{max-width:100%;height:auto}h1,h2,h3,h4{line-height:1.2;margin:0 0 .5em;color:var(--navy);font-weight:800;letter-spacing:-.01em;overflow-wrap:anywhere}h1{font-size:clamp(1.9rem,1.2rem + 3vw,2.9rem)}h2{font-size:clamp(1.4rem,1.1rem + 1.4vw,1.9rem);margin-top:1.6em}h3{font-size:1.2rem;margin-top:1.4em}p,ul,ol,dl{margin:0 0 1em}a{color:var(--blue);text-decoration:underline;text-underline-offset:.15em;text-decoration-thickness:from-font}a:hover{color:var(--navy)}:focus-visible{outline:3px solid var(--accent-strong);outline-offset:2px}.band-navy :focus-visible,.site-header :focus-visible,.site-footer :focus-visible{outline-color:var(--accent)}.container{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:1.25rem}.section{padding-block:2.5rem}@media(min-width:48em){.section{padding-block:3.5rem}}.section>h2:first-child,.section .container>h2:first-child{margin-top:0}.band-navy{background:var(--navy);color:#fff}.band-navy h1,.band-navy h2,.band-navy h3{color:#fff}.band-navy a{color:var(--accent)}.band-navy a:hover{color:#fff}.band-soft{background:var(--bg-soft)}.band-accent{background:var(--accent);color:var(--navy-deep)}.band-accent h2{color:var(--navy-deep)}.kicker{display:inline-block;font-size:.85rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:.75rem}.lead{font-size:1.15em;line-height:1.5;max-width:44rem}.band-navy .lead{color:#ffffffeb}.muted{color:var(--muted)}.small{font-size:.9rem}.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.skip-link{position:absolute;left:.5rem;top:-4rem;background:var(--accent);color:var(--navy-deep);padding:.6rem 1rem;border-radius:var(--radius);z-index:100;font-weight:700}.skip-link:focus{top:.5rem}.btn{display:inline-block;padding:.7rem 1.25rem;border-radius:var(--radius);font-weight:700;text-decoration:none;border:2px solid transparent;line-height:1.2;cursor:pointer;font-family:inherit;font-size:1rem}.btn-primary{background:var(--navy);color:#fff;border-color:var(--navy)}.btn-primary:hover{background:var(--navy-deep);color:#fff}.btn-accent{background:var(--accent);color:var(--navy-deep);border-color:var(--accent)}.btn-accent:hover{background:var(--accent-strong);border-color:var(--accent-strong);color:var(--navy-deep)}.btn-outline{background:transparent;color:var(--navy);border-color:var(--navy)}.btn-outline:hover{background:var(--navy-soft);color:var(--navy)}.band-navy .btn-outline,.hero .btn-outline{color:#fff;border-color:#fff}.band-navy .btn-outline:hover,.hero .btn-outline:hover{background:#ffffff1f;color:#fff}.btn[disabled],.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}.btn-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}.site-header{background:var(--navy);color:#fff;border-bottom:1px solid rgba(255,255,255,.12)}.site-header .container{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.5rem;padding-block:.9rem}.wordmark{display:inline-block;color:#fff;text-decoration:none;font-weight:900;font-size:1.05rem;line-height:.95;letter-spacing:.04em;text-transform:uppercase;margin-right:auto}.wordmark span{display:block}.wordmark:hover{color:var(--accent)}.header-tools{display:flex;align-items:center;gap:.75rem}.header-tools .btn{padding:.5rem .9rem;font-size:.95rem}.lang-switch{color:#fff;font-weight:600;font-size:.95rem;white-space:nowrap}.site-nav{flex-basis:100%}.site-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.15rem 1.4rem}.site-nav a{display:inline-block;color:#fff;text-decoration:none;font-weight:600;font-size:1rem;padding:.35rem 0;border-bottom:3px solid transparent}.site-nav a:hover{color:var(--accent)}.site-nav a[aria-current=page],.site-nav a[aria-current=true]{border-bottom-color:var(--accent)}@media(min-width:60em){.site-header .container{flex-wrap:nowrap;padding-block:1.1rem}.site-nav{flex-basis:auto;margin-left:auto}.wordmark{margin-right:0;font-size:1.15rem}}.hero{background:var(--navy);color:#fff;padding-block:2.5rem 3rem}.hero h1{color:#fff;margin-bottom:.6rem;max-width:24ch}.hero .lead{color:#ffffffeb;margin-bottom:0}.hero-home{display:grid;gap:2rem;align-items:end}.hero-mark{font-weight:900;font-size:clamp(2.6rem,1rem + 7vw,5.5rem);line-height:.92;letter-spacing:.02em;text-transform:uppercase;color:#fff}.hero-mark span{display:block}.hero-mark span:last-child{color:var(--accent)}@media(min-width:60em){.hero{padding-block:3.5rem 4rem}.hero-home{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:3rem}}.cards{display:grid;gap:1.25rem;list-style:none;padding:0;margin:0}@media(min-width:40em){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:64em){.cards-4{grid-template-columns:repeat(4,minmax(0,1fr))}.cards-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.card{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-top:4px solid var(--navy);border-radius:var(--radius);padding:1.25rem 1.25rem 1.1rem;box-shadow:var(--shadow)}.card h2,.card h3{margin-top:0;font-size:1.25rem}.card p{color:var(--muted);flex-grow:1}.card .card-link{font-weight:700;text-decoration:none}.card .card-link:after{content:" →"}.card .card-link:before{content:"";position:absolute;inset:0}.card:hover{border-color:var(--navy)}.card:focus-within{outline:3px solid var(--accent-strong);outline-offset:2px}.band-soft .card{box-shadow:none}.facts{display:grid;gap:1.25rem 2rem;list-style:none;margin:0;padding:0;grid-template-columns:repeat(2,minmax(0,1fr))}@media(min-width:48em){.facts{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:64em){.facts{grid-template-columns:repeat(6,minmax(0,1fr))}}.facts strong{display:block;font-size:1.6rem;font-weight:800;color:var(--navy);line-height:1.1;margin-bottom:.25rem}.facts span{font-size:.9rem;color:var(--muted)}.steps{list-style:none;padding:0;margin:0;display:grid;gap:1.5rem;counter-reset:step}@media(min-width:48em){.steps{grid-template-columns:repeat(3,minmax(0,1fr))}}.steps li{counter-increment:step;padding-left:3rem;position:relative}.steps li:before{content:counter(step);position:absolute;left:0;top:0;width:2.2rem;height:2.2rem;border-radius:50%;background:var(--accent);color:var(--navy-deep);font-weight:800;display:grid;place-items:center}.steps h3{margin-top:0;font-size:1.1rem}.steps p{color:var(--muted);margin:0}.badges{display:flex;flex-wrap:wrap;gap:.4rem;margin:.25rem 0 .75rem;padding:0;list-style:none}.badge{display:inline-block;font-size:.8rem;font-weight:700;padding:.15rem .55rem;border-radius:999px;background:var(--navy-soft);color:var(--navy);line-height:1.4}.badge-warn{background:var(--warn-bg);color:var(--warn-ink)}.badge-example{background:#fde2e2;color:#8a1c1c}.tags{display:flex;flex-wrap:wrap;gap:.35rem;list-style:none;margin:0 0 .75rem;padding:0}.tags li{font-size:.8rem;border:1px solid var(--line);border-radius:999px;padding:.1rem .55rem;color:var(--muted)}.directory-top{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;align-items:center;justify-content:space-between;margin-bottom:1rem}.filters{background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.25rem 1.25rem;margin-bottom:1.5rem}.filters-grid{display:grid;gap:.9rem 1.25rem}@media(min-width:40em){.filters-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:64em){.filters-grid{grid-template-columns:2fr 1.4fr 1fr 1fr 1fr}.filters-grid.filters-grid-nocat{grid-template-columns:2fr 1fr 1fr 1fr}}.filters label,.field label{display:block;font-weight:700;font-size:.9rem;margin-bottom:.3rem}.filters input,.filters select,.field input,.field select,.field textarea{width:100%;font:inherit;font-size:1rem;padding:.55rem .7rem;border:1px solid #8a94a8;border-radius:var(--radius);background:#fff;color:var(--ink)}.filters-actions{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;align-items:center;margin-top:1rem}.filters-actions .btn{padding:.45rem .9rem;font-size:.95rem}.results-count{font-weight:700;color:var(--navy)}.company-list{list-style:none;margin:0;padding:0;display:grid;gap:1rem}.company{background:#fff;border:1px solid var(--line);border-left:5px solid var(--navy);border-radius:var(--radius);padding:1.1rem 1.25rem 1rem}.company h3,.company h2{margin:0 0 .25rem;font-size:1.25rem}.company h3 a{color:var(--navy);text-decoration:none}.company h3 a:hover{text-decoration:underline}.company-desc{margin-bottom:.75rem}.company-capacity{display:flex;flex-wrap:wrap;gap:.5rem 1.75rem;margin:0 0 .75rem;padding:.6rem .9rem;background:var(--bg-soft);border-radius:var(--radius)}.company-capacity div{display:flex;flex-direction:column}.company-capacity dt{font-size:.8rem;color:var(--muted)}.company-capacity dd{margin:0;font-weight:800;color:var(--navy)}.company-contact{display:flex;flex-wrap:wrap;gap:.3rem 1.25rem;font-size:.95rem;margin-bottom:.75rem}.company-contact a{overflow-wrap:anywhere}.company-actions{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;align-items:center}.company-actions .btn{padding:.5rem 1rem;font-size:.95rem}.company-meta{margin:.75rem 0 0;font-size:.85rem;color:var(--muted)}.empty{padding:1.5rem;border:1px dashed var(--line);border-radius:var(--radius);text-align:center}.disclaimer{font-size:.9rem;color:var(--muted);border-top:1px solid var(--line);padding-top:1rem;margin-top:2rem}.chips{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin:0 0 1rem}.chips a{display:inline-block;padding:.4rem .85rem;border:1px solid var(--navy);border-radius:999px;color:var(--navy);text-decoration:none;font-weight:600;font-size:.95rem;background:#fff}.chips a:hover,.chips a[aria-current=page]{background:var(--navy);color:#fff}.chips .count{color:var(--muted);font-weight:400}.chips a:hover .count,.chips a[aria-current=page] .count{color:#fffc}.company-page dl.details{display:grid;gap:.75rem 1.5rem;grid-template-columns:max-content 1fr;margin:1.5rem 0}.company-page dl.details dt{font-weight:700;color:var(--muted)}.company-page dl.details dd{margin:0}.page-grid{display:grid;gap:2rem}@media(min-width:64em){.page-grid{grid-template-columns:minmax(0,1fr) 16rem;gap:3rem}.page-grid>aside{order:2}}.toc{position:sticky;top:1rem;border-left:3px solid var(--accent);padding-left:1rem;font-size:.95rem}.toc h2{font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;margin:0 0 .5rem;color:var(--muted)}.toc ul{list-style:none;margin:0;padding:0}.toc li{margin:.35rem 0}.toc a{text-decoration:none}.toc a:hover{text-decoration:underline}.prose{max-width:44rem}.prose h2{padding-top:.5rem;border-top:1px solid var(--line);margin-top:2.2rem}.prose h2:first-child{border-top:0;margin-top:0;padding-top:0}.prose ul,.prose ol{padding-left:1.4rem}.prose li{margin-bottom:.4rem}.prose blockquote{margin:1.25rem 0;padding:.9rem 1.1rem;border-left:4px solid var(--accent);background:var(--bg-soft);border-radius:0 var(--radius) var(--radius) 0}.prose blockquote p:last-child{margin-bottom:0}.prose table{border-collapse:collapse;width:100%;font-size:.95rem;margin:1rem 0 1.5rem}.prose th,.prose td{text-align:left;padding:.5rem .6rem;border-bottom:1px solid var(--line);vertical-align:top}.prose th{color:var(--navy)}.table-wrap{overflow-x:auto}.prose a[href^=http]:after{content:"↗";font-size:.75em;margin-left:.15em;text-decoration:none;display:inline-block}.prose hr{border:0;border-top:1px solid var(--line);margin:2rem 0}.help-block{margin-top:2.5rem;padding:1.25rem 1.5rem;background:var(--navy-soft);border-radius:var(--radius)}.help-block h2{margin-top:0;font-size:1.2rem}.help-block .chips{margin-bottom:0}.faq{margin-top:2.5rem}.faq h3{font-size:1.05rem;margin:1.25rem 0 .25rem}.faq p{margin-bottom:0}.notice{padding:.9rem 1.1rem;border-radius:var(--radius);background:var(--warn-bg);color:var(--warn-ink);border:1px solid #f2d39b;margin:1rem 0}.notice a{color:inherit}.notice-info{background:var(--navy-soft);color:var(--navy-deep);border-color:#c3cfe8}.form{margin-top:1.5rem;max-width:44rem}.form fieldset{border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.25rem 1.25rem;margin:0 0 1.5rem}.form legend{font-weight:800;color:var(--navy);padding:0 .4rem}.form-grid{display:grid;gap:1rem 1.25rem}@media(min-width:40em){.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid .span-2{grid-column:span 2}}.field{margin:0}.field .hint{font-size:.85rem;color:var(--muted);margin:.3rem 0 0}.field textarea{min-height:7rem;resize:vertical}.check{display:flex;gap:.6rem;align-items:flex-start;margin:.5rem 0}.check input{width:1.25rem;height:1.25rem;margin-top:.2rem;flex-shrink:0}.check label{font-weight:400;font-size:1rem}.check-row{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem}.check-row .check{margin:0}.honeypot{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.req{color:#a11b1b;font-weight:700}.site-footer{background:var(--navy-deep);color:#ffffffe6;padding-block:2.5rem 2rem;margin-top:3rem;font-size:.95rem}.site-footer a{color:var(--accent)}.site-footer a:hover{color:#fff}.footer-grid{display:grid;gap:1.5rem 3rem}@media(min-width:48em){.footer-grid{grid-template-columns:2fr 1fr 1fr}}.site-footer h2{color:#fff;font-size:1rem;margin:0 0 .5rem}.site-footer ul{list-style:none;padding:0;margin:0}.site-footer li{margin:.3rem 0}.footer-bottom{border-top:1px solid rgba(255,255,255,.15);margin-top:1.5rem;padding-top:1rem;display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;font-size:.85rem;color:#ffffffbf}.breadcrumb{font-size:.9rem;margin:0 0 1rem;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:.35rem}.breadcrumb li+li:before{content:"/";margin-right:.35rem;color:var(--muted)}.hero .breadcrumb a{color:#ffffffd9}.print-only{display:none}@media print{@page{margin:15mm}body{font-size:10.5pt;color:#000;background:#fff}.site-header,.site-footer,.filters,.filters-actions,.btn,.skip-link,.toc,.company-actions,.help-block,.band-accent,.hero .btn-row,.no-print{display:none!important}.print-only{display:block;font-size:9pt;color:#333;margin-bottom:1rem}.hero,.band-navy{background:none!important;color:#000!important;padding-block:0!important}.hero h1,.band-navy h1,.band-navy h2,h1,h2,h3,.hero .lead{color:#000!important}.company{break-inside:avoid;border:1px solid #999;border-left-width:4px;padding:.6rem .8rem}.company-list{gap:.5rem}a{color:#000;text-decoration:none}.company-contact a[href^=http]:after{content:" (" attr(href) ")";font-size:.85em}.prose a[href^=http]:after{content:" (" attr(href) ")";font-size:.85em}.badge,.tags li{border:1px solid #999;background:none;color:#000}}
