
:root{--blue:#1B2BFF;--navy:#0A1450;--lime:#D6F23F;--bg:#fff;--tx:#0A1450;--line:#0A1450;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media (prefers-color-scheme:dark){:root{--bg:#0A1450;--tx:#fff;--line:#fff}}
html{scroll-padding-top:env(safe-area-inset-top,0px)}*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--tx);font:500 18px/1.6 Archivo,system-ui,sans-serif}
a{color:inherit}a:focus-visible,summary:focus-visible{outline:4px solid var(--lime);outline-offset:3px}
h1,h2,h3{margin:0;font-weight:900;font-stretch:125%;line-height:1;letter-spacing:-.02em}
.pad{padding-left:clamp(18px,4vw,56px);padding-right:clamp(18px,4vw,56px)}
.hero{position:relative;background:var(--blue);color:#fff;overflow:hidden;display:flex;flex-direction:column}
.hero.home{min-height:100svh}.hero:not(.home){padding-bottom:48px}
.bar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:18px;padding-bottom:18px;position:relative;z-index:3}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:900;font-stretch:125%;line-height:1}
.logo small{display:block;font-weight:500;font-stretch:100%;font-size:.75rem;opacity:.8;margin-top:3px}
.call{background:var(--lime);color:var(--navy);padding:12px 20px;font-weight:800;text-decoration:none;white-space:nowrap}
.hb{flex:1;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:36px;position:relative;z-index:2}
.hero h1{font-size:clamp(2.2rem,8vw,6.5rem);color:var(--lime);max-width:14ch}
.hero.home h1{font-size:clamp(2.4rem,9.4vw,8.5rem);max-width:12ch}
.hero p{max-width:46ch;margin:18px 0 0;font-size:1.1rem}
.crumbs{font-size:.85rem;opacity:.85;margin-bottom:14px}.crumbs a{color:#fff}
.door{position:absolute;inset:0;z-index:4;background:repeating-linear-gradient(#cfd3e6 0 118px,#8f95b5 118px 124px);animation:lift 1.8s cubic-bezier(.7,0,.2,1) .3s forwards;pointer-events:none}
@keyframes lift{to{transform:translateY(-100%)}}
@media (prefers-reduced-motion:reduce){.door{display:none}}
section{padding-top:64px;padding-bottom:64px}
h2{font-size:clamp(1.8rem,5vw,3.6rem);margin-bottom:28px;max-width:18ch}
.txt{max-width:68ch}.txt p{margin:0 0 1em}
.row{display:grid;grid-template-columns:1fr 1fr;gap:10px 40px;padding:20px 0;border-top:3px solid var(--line);align-items:baseline;text-decoration:none}
.row:last-child{border-bottom:3px solid var(--line)}
.row h3{font-size:clamp(1.3rem,3vw,2.2rem)}.row p{margin:0}.row:hover h3{color:var(--blue)}
@media (prefers-color-scheme:dark){.row:hover h3{color:var(--lime)}}
ul.l{padding-left:1.2em;max-width:60ch}ul.l li{margin:.4em 0}
.chips{display:flex;flex-wrap:wrap;gap:10px;padding:0;list-style:none;margin:0}
.chips a{display:block;border:3px solid var(--line);padding:8px 16px;font-weight:800;text-decoration:none}
.chips a:hover{background:var(--lime);color:var(--navy);border-color:var(--lime)}
details{border-top:3px solid var(--line);padding:16px 0;max-width:70ch}details:last-of-type{border-bottom:3px solid var(--line)}
summary{font-weight:800;cursor:pointer}details p{margin:10px 0 0}
.contact{background:var(--lime);color:var(--navy)}
.contact h2{max-width:none}
.num{display:block;font-weight:900;font-stretch:125%;font-size:clamp(2.2rem,11vw,8rem);line-height:.95;text-decoration:none;letter-spacing:-.03em;overflow-wrap:anywhere}
.contact address{font-style:normal;margin-top:20px;font-weight:700}
footer{background:var(--navy);color:#b6bde6;font-size:.9rem;padding-top:36px;padding-bottom:28px}
footer .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;margin-bottom:24px}
footer h3{font-size:1rem;color:var(--lime);margin-bottom:8px}footer a{display:block;text-decoration:none;padding:3px 0}
@media(max-width:760px){.row{grid-template-columns:1fr}}
