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