:root { color-scheme: light; --ink:#13233a; --blue:#075dc7; --muted:#64748b; --line:#dce4ef; --surface:#f6f9fd; font-family:Inter,ui-sans-serif,system-ui,sans-serif; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:white; }
header,footer { padding:1rem max(1rem,calc((100% - 70rem)/2)); border-bottom:1px solid var(--line); }
header { display:flex; justify-content:space-between; align-items:center; gap:1rem; }
nav { display:flex; flex-wrap:wrap; align-items:center; gap:1rem; }
a { color:var(--blue); }
.brand { font-weight:800; font-size:1.25rem; text-decoration:none; }
.nav-menu { position:relative; }
.nav-menu summary { color:var(--blue); cursor:pointer; list-style:none; }
.nav-menu summary::-webkit-details-marker { display:none; }
.nav-menu summary::after { content:" ▾"; font-size:.8em; }
.nav-menu-panel { position:absolute; z-index:10; top:calc(100% + .65rem); left:0; width:min(28rem,calc(100vw - 2rem)); display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.25rem; padding:.75rem; border:1px solid var(--line); border-radius:.75rem; background:white; box-shadow:0 1rem 2rem rgb(15 39 72 / 15%); }
.nav-menu-panel a { padding:.55rem; border-radius:.4rem; text-decoration:none; }
.nav-menu-panel a:hover,.nav-menu-panel a:focus-visible { background:var(--surface); text-decoration:underline; }
main { max-width:70rem; margin:auto; padding:clamp(2rem,6vw,5rem) 1rem; min-height:70vh; }
.hero { background:linear-gradient(135deg,#0f2748,#173d6b); color:white; padding:clamp(2rem,8vw,6rem); border-radius:1.25rem; }
.hero p { max-width:48rem; font-size:1.15rem; line-height:1.65; }
.badge { display:inline-block; background:#e8f2ff; color:#075dc7; padding:.3rem .65rem; border-radius:999px; font-weight:700; }
.panel { max-width:42rem; margin-top:2rem; padding:1.25rem; border:1px solid var(--line); border-radius:1rem; background:var(--surface); }
.invoice-form { display:grid; grid-template-columns:repeat(auto-fit,minmax(18rem,1fr)); gap:1rem; align-items:start; }
.invoice-form .panel { margin-top:0; max-width:none; }
.invoice-line { display:grid; grid-template-columns:minmax(0,2fr) minmax(4.75rem,.75fr) minmax(5.75rem,1fr); gap:.75rem; padding:1rem 0; border-bottom:1px solid var(--line); }
.invoice-line > label { min-width:0; }
.invoice-line input { min-width:0; }
.invoice-line .secondary { align-self:end; }
.content-sections { display:grid; gap:1rem; margin-top:2rem; }
.content-sections section { padding:1.25rem; border:1px solid var(--line); border-radius:1rem; }
.content-sections h2 { margin-top:0; }
.content-sections p { line-height:1.65; }
.directory { margin-top:3rem; }
.tool-grid,.guide-grid,.related-tool-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(15rem,1fr)); gap:1rem; }
.directory-card { display:flex; flex-direction:column; gap:.5rem; min-height:9rem; padding:1.25rem; border:1px solid var(--line); border-radius:1rem; background:white; text-decoration:none; box-shadow:0 .25rem 1rem rgb(15 39 72 / 5%); }
.directory-card:hover,.directory-card:focus-visible { border-color:var(--blue); transform:translateY(-2px); }
.directory-card strong { font-size:1.05rem; }
.directory-card span { color:var(--muted); line-height:1.5; }
.lede { max-width:52rem; font-size:1.15rem; line-height:1.65; }
.breadcrumb { display:flex; gap:.5rem; color:var(--muted); margin-bottom:1.5rem; }
label { display:block; margin:.8rem 0 .25rem; font-weight:700; }
input,button,select,textarea { font:inherit; padding:.75rem; border-radius:.5rem; border:1px solid #a8b5c7; max-width:100%; }
input,select { width:100%; }
textarea { width:100%; min-height:7rem; }
button { margin-top:1rem; background:var(--blue); color:white; border:0; font-weight:700; cursor:pointer; }
button.secondary { background:white; color:var(--blue); border:1px solid var(--blue); margin-left:.5rem; }
button:disabled { opacity:.5; cursor:not-allowed; }
output { display:block; margin-top:1rem; font-weight:800; white-space:pre-wrap; }
output[data-status="error"] { color:#b42318; }
footer { display:flex; flex-wrap:wrap; gap:1rem; border-top:1px solid var(--line); border-bottom:0; color:var(--muted); }
footer .legal-disclosure { flex-basis:100%; line-height:1.5; }
@media(max-width:700px){header{align-items:flex-start;flex-direction:column}header nav{width:100%}.nav-menu{position:static;width:100%}.nav-menu-panel{position:static;width:100%;grid-template-columns:1fr;margin-top:.5rem;box-shadow:none}.invoice-line{grid-template-columns:1fr}.invoice-line .secondary{margin-left:0}.directory-card{min-height:0}}
@media print { header,footer,.badge,.breadcrumb,.invoice-form .panel:not(:last-of-type),.invoice-form button { display:none!important; } main { padding:0; } .invoice-form { display:block; } .invoice-form .panel:last-of-type { border:0; background:white; } output { font-weight:400; } }
.pp-consent{position:fixed;z-index:1000;left:1rem;right:1rem;bottom:1rem;max-width:44rem;margin:auto;padding:1rem;border:1px solid #9fb4d4;border-radius:.75rem;background:#fff;color:#10213b;box-shadow:0 .5rem 2rem #10213b33}.pp-consent p{margin:.5rem 0}.pp-consent div{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.pp-consent button,.pp-privacy-choices{padding:.6rem .85rem;border:1px solid #146ef5;border-radius:.5rem;background:#fff;color:#064db8;font:inherit;cursor:pointer}.pp-consent [data-accept]{background:#146ef5;color:#fff}.pp-privacy-choices{position:fixed;z-index:999;right:.75rem;bottom:.75rem;font-size:.8rem;background:#fff}

