:root{--ink:#172326;--charcoal:#202e30;--marine:#20383c;--slate:#405657;--steel:#5d6f6d;--metal:#96a5a0;--mist:#d8e2de;--fog:#e8eeeb;--salt:#f4f7f4;--paper:#fcfdfc;--teal:#087f7b;--mint:#4da88f;--amber:#996b14;--green:#397b55;--red:#9f4039;--line:#b9c9c3;--radius:18px;--shadow:0 14px 34px rgba(23,35,38,.14)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--salt);color:var(--ink);font:16px/1.65 Arial,sans-serif}
a{color:var(--teal);font-weight:700;text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--marine)}
:focus-visible{outline:3px solid var(--amber);outline-offset:3px}
h1,h2,h3{line-height:1.12;margin:0 0 16px;overflow-wrap:anywhere}
h1{font-size:clamp(2.5rem,6vw,5.5rem);letter-spacing:-.055em}
h2{font-size:clamp(1.8rem,3vw,3rem);letter-spacing:-.035em}
h3{font-size:1.35rem}
p{margin:0 0 16px}
.shell{width:min(1180px,calc(100% - 48px));margin-inline:auto}
.site-header{position:relative;min-height:64px;padding:8px max(24px,calc((100% - 1180px)/2));display:flex;align-items:center;gap:24px;background:var(--paper);border-bottom:1px solid var(--line)}
.brand,.footer-brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font-weight:800;overflow-wrap:anywhere}
.brand{flex:0 0 auto}
.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:8px;background:var(--marine);color:var(--mist);font-size:25px}
.site-nav{margin-left:auto;display:flex;align-items:center;justify-content:flex-end;gap:clamp(14px,1.8vw,28px);white-space:nowrap}
.site-nav a{display:block;padding:10px 0;color:var(--ink);font-size:clamp(.78rem,.9vw,.92rem);line-height:1.2;white-space:nowrap}
.menu-toggle{display:none;background:var(--marine);color:var(--paper);border:0;border-radius:8px;padding:10px 14px;font-weight:700}
.hero{display:grid;grid-template-columns:1fr 1fr;gap:32px;padding-top:80px}
.hero-copy{padding:30px 0}
.eyebrow{color:var(--teal);font-size:.75rem;letter-spacing:.14em;font-weight:800}
.lead{font-size:1.2rem;max-width:680px;color:var(--slate)}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.button{display:inline-block;border:1px solid transparent;border-radius:8px;padding:11px 16px;font:inherit;font-weight:800;text-decoration:none;cursor:pointer}
.button-primary{background:var(--marine);color:var(--paper)}
.button-primary:hover{background:var(--teal);color:var(--paper)}
.button-secondary{background:var(--mist);color:var(--ink);border-color:var(--steel)}
.button-quiet{background:transparent;color:var(--ink);border-color:var(--line)}
.hero-visual{background:var(--marine);border-radius:var(--radius);padding:20px;align-self:start}
.hero-visual svg{display:block;width:100%;height:auto}
.section{padding-top:96px}
.section-heading{max-width:720px;margin-bottom:32px}
.card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}
.service-card{min-width:0;transition:transform .2s,box-shadow .2s}
.service-card:hover{transform:translateY(-4px)}
.service-card img,.topic-hero img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:var(--radius)}
.card-panel{margin:32px 16px 0;padding:28px;background:rgba(232,238,235,.9);border:1px solid rgba(150,165,160,.9);border-radius:var(--radius);box-shadow:var(--shadow)}
.meta{color:var(--slate);font-size:.86rem;border-top:1px solid var(--line);padding-top:12px}
.text-link{display:inline-block;margin-top:8px}
.sequence-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.sequence-grid>div{padding:24px 16px;background:var(--fog);border-top:4px solid var(--mint)}
.sequence-grid b{color:var(--amber)}
.cta-band{margin-top:96px;margin-bottom:96px;padding:40px;background:var(--marine);color:var(--paper);border-radius:var(--radius)}
.cta-band p{color:var(--mist)}
.topic-hero{padding-top:64px;display:grid;gap:32px}
.topic-hero>div{padding:24px 0}
.article-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:64px;padding-top:64px;padding-bottom:96px}
.article h2{margin-top:40px}
.article h2:first-child{margin-top:0}
.article li{margin:8px 0}
.checklist{padding-left:22px}
.know{margin-top:32px;padding:24px;background:var(--mist);border-left:5px solid var(--teal)}
.know h2{font-size:1.5rem}
.side-panel{align-self:start;margin-top:24px;padding:28px;background:rgba(232,238,235,.9);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.side-panel .button{margin-top:16px}
.legal{max-width:850px;padding-top:72px;padding-bottom:96px}
.legal h2{font-size:1.6rem;margin-top:36px}
.contact-hero{padding-top:64px}
.contact-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr);gap:64px;padding-top:40px;padding-bottom:96px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 16px}
label{display:grid;gap:6px;font-weight:700}
label span{color:var(--red)}
label.full{grid-column:1/-1}
input,select,textarea{width:100%;padding:12px;border:1px solid var(--steel);border-radius:7px;background:var(--paper);color:var(--ink);font:inherit}
input:focus,select:focus,textarea:focus{border-color:var(--teal)}
.is-invalid{border-color:var(--red)!important;background:#fff4f1}
.error-message{display:none;color:var(--red);font-size:.85rem}
.is-invalid+.error-message{display:block}
.form-status{margin-top:16px;font-weight:700}
.location-block{display:grid;gap:12px;margin-top:28px;padding:18px;background:var(--marine);color:var(--mist);font-size:.78rem;letter-spacing:.08em}
.site-footer{padding:48px max(24px,calc((100% - 1180px)/2));background:var(--ink);color:var(--mist)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr;gap:40px}
.site-footer h2{font-size:1rem;color:var(--mist);letter-spacing:.08em;text-transform:uppercase}
.site-footer a{display:block;margin:5px 0;color:var(--mist)}
.footer-brand{color:var(--paper)!important;font-size:1.1rem}
.copyright{margin-top:40px;padding-top:16px;border-top:1px solid var(--slate);font-size:.82rem}

/* High-contrast cookie consent controls */
.cookie-banner{position:fixed;z-index:10;bottom:16px;left:16px;right:16px;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:18px 20px;background:#071a1d;color:#ffffff;border:2px solid #c7fff0;border-radius:12px;box-shadow:0 14px 34px rgba(0,0,0,.42)}
.cookie-banner p{margin:0;font-size:.9rem;color:#ffffff}
.cookie-banner a{color:#ffffff;text-decoration:underline}
.cookie-banner>div{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.cookie-banner .button{min-height:46px;border-width:2px;line-height:1.25}
.cookie-banner .button-primary{background:#ffffff;color:#071a1d;border-color:#ffffff}
.cookie-banner .button-primary:hover,.cookie-banner .button-primary:focus-visible{background:#c7fff0;color:#071a1d;border-color:#c7fff0}
.cookie-banner .button-secondary{background:#ffd166;color:#071a1d;border-color:#ffd166}
.cookie-banner .button-secondary:hover,.cookie-banner .button-secondary:focus-visible{background:#ffe29a;color:#071a1d;border-color:#ffe29a}
.cookie-banner .button-quiet{background:#071a1d;color:#ffffff;border-color:#ffffff}
.cookie-banner .button-quiet:hover,.cookie-banner .button-quiet:focus-visible{background:#ffffff;color:#071a1d;border-color:#ffffff}
.cookie-preferences{position:fixed;z-index:20;inset:0;display:grid;place-items:center;padding:20px;background:rgba(7,26,29,.86)}
.cookie-preferences[hidden],.cookie-banner[hidden]{display:none}
.cookie-preferences-panel{position:relative;width:min(100%,520px);max-height:calc(100vh - 40px);overflow:auto;padding:32px;background:#ffffff;color:#071a1d;border:3px solid #087f7b;border-radius:var(--radius);box-shadow:0 20px 60px rgba(0,0,0,.5)}
.cookie-preferences-panel h2{font-size:2rem;color:#071a1d}
.cookie-preferences-panel p{color:#172326}
.cookie-preferences-close{position:absolute;top:12px;right:16px;border:2px solid #071a1d;border-radius:6px;background:#ffffff;color:#071a1d;font-size:2rem;line-height:1;cursor:pointer}
.cookie-preferences-close:hover,.cookie-preferences-close:focus-visible{background:#071a1d;color:#ffffff}
.cookie-option{display:flex;grid-template-columns:auto 1fr;align-items:flex-start;gap:12px;margin:18px 0;padding:16px;background:#e8eeeb;color:#071a1d;border:2px solid #405657;border-radius:10px}
.cookie-option input{width:20px;height:20px;margin-top:2px;accent-color:#087f7b}
.cookie-option span{display:grid;gap:4px}
.cookie-option small{font-weight:400;color:#172326}
.cookie-preferences-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.cookie-preferences-actions .button-primary{background:#071a1d;color:#ffffff;border-color:#071a1d}
.cookie-preferences-actions .button-primary:hover,.cookie-preferences-actions .button-primary:focus-visible{background:#087f7b;color:#ffffff;border-color:#087f7b}
.cookie-preferences-actions .button-quiet{background:#ffffff;color:#071a1d;border:2px solid #405657}
.cookie-preferences-actions .button-quiet:hover,.cookie-preferences-actions .button-quiet:focus-visible{background:#e8eeeb;color:#071a1d;border-color:#071a1d}
table{width:100%;border-collapse:collapse;margin:24px 0}
th,td{text-align:left;padding:12px;border:1px solid var(--line);vertical-align:top}
th{background:var(--mist)}

@media(max-width:1050px){
  .site-header{position:relative}
  .menu-toggle{display:block;margin-left:auto}
  .site-nav{display:none;position:absolute;z-index:8;top:64px;left:16px;right:16px;padding:16px;background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);align-items:stretch;flex-direction:column;gap:8px}
  .site-nav.is-visible{display:flex}
  .site-nav a{font-size:.95rem;padding:9px 10px}
}

@media(max-width:767px){
.shell{width:min(100% - 32px,1180px)}
.site-header{padding:8px 16px}
.site-nav{gap:8px}
.service-menu{position:static;width:auto;min-width:0;box-shadow:none;margin-top:8px;padding:8px}
.service-menu a{padding:9px 10px}
.hero,.article-layout,.contact-grid{grid-template-columns:1fr}
.hero{padding-top:40px}
.section{padding-top:64px}
.card-grid{grid-template-columns:1fr;gap:48px}
.sequence-grid{grid-template-columns:1fr 1fr}
.topic-hero{padding-top:40px}
.article-layout{padding-top:24px}
.footer-grid{grid-template-columns:1fr;gap:24px}
.cookie-banner{display:block;padding:16px}
.cookie-banner>div{display:grid;grid-template-columns:1fr;gap:9px;justify-content:stretch;margin-top:14px}
.cookie-banner .button{width:100%;text-align:center}
.form-grid{grid-template-columns:1fr}
label.full{grid-column:auto}
.legal{padding-top:48px}
h1{font-size:clamp(2.4rem,12vw,4rem)}
.cookie-preferences-panel{padding:28px 20px}
}

@media(max-width:400px){
.shell{width:calc(100% - 24px)}
.sequence-grid{grid-template-columns:1fr}
.actions .button{width:100%;text-align:center}
.card-panel{margin-inline:0;padding:20px}
.cookie-banner{left:8px;right:8px;bottom:8px;padding:14px}
.cookie-banner .button{width:100%}
.cookie-preferences{padding:8px}
.cookie-preferences-panel{max-height:calc(100vh - 16px);padding:24px 16px}
.cookie-preferences-actions .button{width:100%}
}

@media(prefers-reduced-motion:reduce){
html{scroll-behavior:auto}
.service-card{transition:none}
}