:root{--navy:#0f2a4d;--navy2:#0a1d36;--blue:#1d4a85;--red:#c62828;--red2:#8e1b1b;--ink:#1b2733;--mut:#5a6978;--line:#dde3e9;--bg:#f4f6f9;--alt:#eaf0f8}
*{box-sizing:border-box}html,body{margin:0}html{scroll-padding-top:90px}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);line-height:1.65;-webkit-text-size-adjust:100%;background:#fff;padding-bottom:env(safe-area-inset-bottom,0)}
img{max-width:100%;height:auto}a{color:var(--red)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--navy);outline-offset:2px}
.wrap{max-width:1100px;margin:0 auto;padding:0 20px}.narrow{max-width:780px}.center{text-align:center}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:99}
/* header */
.hdr{background:#fff;border-bottom:4px solid var(--red);position:sticky;top:0;z-index:20;padding-top:env(safe-area-inset-top,0)}
.hdr-in{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:70px;position:relative}
.brand{flex:none;display:block}.brand img{display:block;width:180px;height:auto}
.hcall{margin-left:auto;display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:2px solid var(--navy);border-radius:999px;color:var(--navy);font-weight:700;font-size:.88rem;line-height:1;text-decoration:none;white-space:nowrap}
.hcall:hover{background:var(--navy);color:#fff}.hcall svg{width:15px;height:15px}
.menu{background:none;border:0;padding:10px;display:flex;flex-direction:column;gap:5px;cursor:pointer}.menu span{width:26px;height:3px;background:var(--navy);border-radius:2px}
.nav{display:none;position:absolute;left:-20px;right:-20px;top:100%;background:#fff;border-bottom:1px solid var(--line);padding:8px 20px 18px;flex-direction:column;max-height:calc(100vh - 80px);overflow:auto;box-shadow:0 12px 24px rgba(15,42,77,.12)}
.nav.open{display:flex}.nav a{padding:12px 0;color:var(--navy);text-decoration:none;font-weight:600;border-bottom:1px solid var(--line)}
.nav a[aria-current]{color:var(--red)}.nav .btn{margin-top:12px;text-align:center;border:0;color:#fff}
.dd{display:flex;flex-wrap:wrap;align-items:center;border-bottom:1px solid var(--line)}.nav .dd>a.ddlink{flex:1;border:0}
.ddbtn{background:none;border:0;padding:12px;cursor:pointer;color:var(--navy);display:flex}.ddbtn svg{width:16px;height:16px;transition:transform .15s}.dd.open .ddbtn svg{transform:rotate(180deg)}
.ddmenu{display:none;flex:0 0 100%;padding:0 0 8px 12px}.dd.open .ddmenu{display:block}.nav .ddmenu a{border:0;padding:8px 0;display:block}
.ddmenu ul{list-style:none;margin:0 0 6px;padding:0}.nav .ddmenu a.ddcat{color:var(--red);font-weight:700}
/* buttons */
.btn{display:inline-block;padding:13px 22px;border-radius:8px;font-weight:700;text-decoration:none;font-size:1rem;border:0;cursor:pointer;margin:4px 4px 4px 0;font-family:inherit;line-height:1.2}
.btn-red{background:var(--red);color:#fff}.btn-red:hover{background:var(--red2);color:#fff}.btn-light{background:#fff;color:var(--navy)}.btn-dark{background:var(--navy);color:#fff}.btn-outline{background:transparent;color:#fff;box-shadow:inset 0 0 0 2px rgba(255,255,255,.8)}.big{font-size:1.15rem;padding:16px 26px}
/* hero + page head */
.hero{background:linear-gradient(135deg,var(--navy2) 0%,var(--navy) 55%,var(--blue) 100%);color:#fff;padding:44px 0;border-bottom:6px solid var(--red);position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;right:-160px;top:-160px;width:560px;height:560px;border-radius:50%;border:2px solid rgba(255,255,255,.08);box-shadow:0 0 0 70px rgba(255,255,255,.03),0 0 0 140px rgba(255,255,255,.02)}
.herogrid{display:grid;gap:26px;align-items:center;position:relative;z-index:1}
.hero h1,.pagehead h1{margin:0 0 12px;font-size:clamp(1.9rem,6vw,3rem);line-height:1.15;color:#fff}
.seal{width:250px;max-width:72%;margin:0 auto;display:block;filter:drop-shadow(0 14px 26px rgba(0,0,0,.3))}
.eyebrow{margin:0 0 10px;text-transform:uppercase;letter-spacing:.08em;font-size:.82rem;color:rgba(255,255,255,.8);font-weight:700}
.lead{font-size:1.1rem;max-width:42rem;color:rgba(255,255,255,.92);margin:0 0 18px}
.ticks{list-style:none;padding:0;margin:14px 0 20px}.ticks li{padding:4px 0 4px 30px;position:relative}.ticks li::before{content:"";position:absolute;left:2px;top:.62em;width:15px;height:8px;border-left:3px solid #ff8a7a;border-bottom:3px solid #ff8a7a;transform:rotate(-45deg)}
.pagehead{background:linear-gradient(135deg,var(--navy2),var(--blue));color:#fff;padding:38px 0;border-bottom:6px solid var(--red)}
.crumbs{font-size:.86rem;margin:0 0 10px;color:rgba(255,255,255,.75)}.crumbs a{color:inherit}.crumbs span{margin:0 6px}
.cta{margin:14px 0 0}
/* sections */
.sec{padding:44px 0}.alt{background:var(--alt)}
h2{color:var(--navy);font-size:1.5rem;line-height:1.25;margin:30px 0 10px}h3{margin:0 0 6px;color:var(--navy);line-height:1.3}
.sec h2{border-left:5px solid var(--red);padding-left:12px}.sec h2:first-child{margin-top:0}
.band h2,.ftr h2,.card h2{border:0;padding:0}
.grid2,.grid3,.grid4{display:grid;gap:16px}
.card{background:#fff;border:1px solid var(--line);border-top:4px solid var(--red);border-radius:10px;padding:20px;box-shadow:0 2px 10px rgba(15,42,77,.07)}
.card p{margin:0;color:var(--mut)}.catlink{display:block;text-decoration:none;color:inherit;transition:transform .15s,box-shadow .15s}.catlink:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(15,42,77,.13)}
.more{display:inline-block;margin-top:10px;color:var(--red);font-weight:700}
.ico{width:48px;height:48px;border-radius:50%;background:var(--navy);display:flex;align-items:center;justify-content:center;margin-bottom:12px}.ico svg{width:26px;height:26px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.band{background:linear-gradient(135deg,var(--red2),var(--red));color:#fff;padding:44px 0}.band h2{color:#fff;margin-top:0}.band p{max-width:40rem;margin-left:auto;margin-right:auto}.band .btn-light{color:var(--red)}
.facts{display:grid;gap:10px;margin:16px 0;grid-template-columns:repeat(2,1fr)}.facts div{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 14px}
.facts b{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--mut);margin-bottom:2px}
.wider{background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:16px 18px;margin:18px 0}
.chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:10px 0}.chips a{display:inline-block;padding:7px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;text-decoration:none;color:var(--navy);font-weight:600;font-size:.92rem}.chips a:hover{border-color:var(--red);color:var(--red)}
.steps{counter-reset:s;list-style:none;padding:0;display:grid;gap:14px}.steps li{counter-increment:s;background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px 16px 16px 62px;position:relative}.steps li::before{content:counter(s);position:absolute;left:16px;top:14px;width:32px;height:32px;border-radius:50%;background:var(--red);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center}
.pricebox{display:flex;align-items:baseline;gap:12px;background:var(--navy);color:#fff;border-radius:12px;padding:18px 20px;margin:0 0 18px}.pricebox b{font-size:2.2rem;line-height:1}.pricebox span{opacity:.85}
/* article pages */
.layout{display:grid;gap:30px}.prose{min-width:0}.prose h2{margin-top:34px}.prose ul,.prose ol{padding-left:1.3em}.prose li{margin:4px 0}
.toc{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:14px 18px;margin:0 0 20px;font-size:.95rem}.toc b{color:var(--navy)}.toc ol{margin:6px 0 0;padding-left:1.2em}
.fact dl{margin:0;display:grid;gap:8px}.fact dl div{background:var(--bg);border-left:4px solid var(--red);border-radius:6px;padding:10px 14px}.fact dt{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--mut);font-weight:700}.fact dd{margin:0}
.aside{background:#fff4f2;border-left:5px solid var(--red);padding:14px 18px;border-radius:6px;margin:22px 0}
.faq details{border:1px solid var(--line);border-radius:10px;margin:0 0 10px;background:#fff}.faq summary{cursor:pointer;padding:14px 18px;font-weight:700;color:var(--navy);list-style:none;position:relative;padding-right:44px}.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:18px;top:10px;font-size:1.4rem;color:var(--red)}.faq details[open] summary::after{content:"\2212"}.faq details>div{padding:0 18px 6px}
.rel{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0}.rel a{display:inline-block;padding:7px 12px;border:1px solid var(--line);border-radius:999px;text-decoration:none;color:var(--navy);font-weight:600;font-size:.92rem}
.side .ticket{background:var(--navy);color:#fff;border-radius:12px;padding:20px;position:sticky;top:96px;border-top:5px solid var(--red)}.side .ticket h3{color:#fff}.side .ticket .btn{display:block;text-align:center;margin:8px 0 0}
.updated{font-size:.85rem;color:var(--mut);margin-top:2em}
table{border-collapse:collapse;width:100%;margin:12px 0}th,td{border:1px solid var(--line);padding:9px 12px;text-align:left;vertical-align:top}th{background:var(--bg);color:var(--navy)}
.tablewrap{overflow-x:auto}
/* map */
.amap{width:100%;max-width:560px;height:auto;display:block;margin:14px 0 4px;border-radius:12px}.mapnote{font-size:.85rem;color:var(--mut);margin:0 0 14px}
.amap-rtm{stroke-dasharray:1 1;stroke-dashoffset:0}.amap-ping{opacity:0;transform-box:fill-box;transform-origin:center}
.amap-js .amap-rtm{stroke-dashoffset:1}.amap-js .amap-mk,.amap-js .amap-nb{opacity:0}
.amap-js.go .amap-rtm{animation:amapDraw 1.3s cubic-bezier(.45,0,.35,1) .15s forwards}.amap-js.go .amap-nb{animation:amapFade .4s ease-out .2s forwards}
.amap-js.go .amap-mk{animation:amapDrop .55s cubic-bezier(.3,1.5,.55,1) 1.45s forwards}.amap-js.go .amap-ping{animation:amapPing 1.3s ease-out 1.9s 2}.amap-js.go .amap-ping2{animation-delay:2.2s}
@keyframes amapDraw{to{stroke-dashoffset:0}}@keyframes amapFade{to{opacity:1}}@keyframes amapDrop{0%{opacity:0;translate:0 -26px}100%{opacity:1;translate:0 0}}@keyframes amapPing{0%{opacity:.85;transform:scale(.4)}100%{opacity:0;transform:scale(2.4)}}
@media(prefers-reduced-motion:reduce){.amap-js .amap-rtm{stroke-dashoffset:0}.amap-js .amap-mk,.amap-js .amap-nb{opacity:1}.amap-js.go *{animation:none!important}}
/* forms */
.cform{display:grid;gap:14px}.f{display:grid;gap:6px}.f label{font-weight:600;color:var(--navy)}.two{display:grid;gap:14px}
input,select,textarea{font:inherit;font-size:16px;padding:12px;border:1px solid #b9c4cf;border-radius:8px;width:100%;background:#fff}
.hp{position:absolute;left:-9999px}.fmsg{margin:0;font-weight:600}.fmsg.ok{color:#1f6a2c}.fmsg.err{color:var(--red)}.small{font-size:.9rem;color:var(--mut)}
/* areas list */
.arealist{columns:2;gap:24px;list-style:none;padding:0;margin:8px 0 0}.arealist li{break-inside:avoid;padding:6px 0;border-bottom:1px solid var(--line)}.arealist a{font-weight:700;text-decoration:none;color:var(--navy)}.arealist span{color:var(--mut);font-size:.88rem;margin-left:6px}
.filter{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}.filter button{font:inherit;padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--navy);font-weight:600;cursor:pointer}.filter button[aria-pressed=true]{background:var(--navy);color:#fff;border-color:var(--navy)}
#psearch{max-width:420px;margin:0 0 14px}
/* footer */
.ftr{background:#0b1f38;color:#cdd6e0;padding:38px 0 20px;font-size:.95rem}.ftr h2{color:#fff;font-size:1.05rem;margin:0 0 8px}.ftr a{color:#fff}
.links a{display:block;text-decoration:none;padding:2px 0}.copy{text-align:center;margin:24px 20px 0;font-size:.85rem;color:#9fb0c2}
.powered{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px 18px;margin:28px auto 0;padding:18px 20px;background:#fff;border-radius:12px;max-width:640px;text-decoration:none}
.powered small{color:var(--mut);font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:.75rem}.powered img{width:240px;height:auto;display:block}
@media(min-width:620px){.two{grid-template-columns:1fr 1fr}.facts{grid-template-columns:repeat(4,1fr)}}
@media(min-width:900px){
.menu{display:none}.brand img{width:200px}.hcall{order:3;margin-left:14px}
.nav{display:flex!important;position:static;flex-direction:row;align-items:center;gap:16px;padding:0;border:0;box-shadow:none;max-height:none;overflow:visible;margin-left:auto}
.nav a{border:0;padding:6px 0;white-space:nowrap;font-size:.95rem}.nav .btn{margin:0 0 0 6px;padding:10px 16px}
.dd{border:0;flex-wrap:nowrap}.nav .dd>a.ddlink{flex:none}.ddbtn{padding:4px}
.ddmenu{position:absolute;left:0;right:0;top:100%;flex:none;padding:22px 24px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--red);box-shadow:0 12px 28px rgba(15,42,77,.15);grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;border-radius:0 0 10px 10px;z-index:30}
.ddmenu::before{content:"";position:absolute;left:0;right:0;top:-30px;height:30px}.dd:hover .ddmenu,.dd:focus-within .ddmenu,.dd.open .ddmenu{display:grid}
.nav .ddmenu a.ddcat{font-size:.95rem;padding:0 0 4px;border-bottom:2px solid var(--line);margin-bottom:4px}.nav .ddmenu li a{font-weight:500;font-size:.9rem;padding:3px 0;color:var(--ink)}.nav .ddmenu li a:hover{color:var(--red)}
.grid2{grid-template-columns:1fr 1fr}.grid3{grid-template-columns:repeat(3,1fr)}.grid4{grid-template-columns:repeat(4,1fr)}
.hero{padding:72px 0}.herogrid{grid-template-columns:1.5fr 1fr}.seal{width:100%;max-width:330px}
.layout{grid-template-columns:minmax(0,1fr) 300px}.arealist{columns:3}.formgrid{grid-template-columns:1.4fr 1fr}}
@media(min-width:900px){.hdr .wrap{max-width:1260px}}@media(min-width:900px) and (max-width:1319px){.hcall{display:none}}@media(min-width:900px) and (max-width:1100px){.brand img{width:160px}.nav{gap:10px}.nav a{font-size:.86rem}.nav .btn{padding:9px 12px}}
@media print{.hdr,.ftr,.band,.side{display:none}}
.gl dt{font-weight:700;color:var(--navy);margin-top:14px}.gl dd{margin:2px 0 0}
.feat{display:grid;gap:16px}.feat .card{border-top-color:var(--navy)}
.trust{display:flex;flex-wrap:wrap;gap:10px 22px;margin:18px 0 0;padding:0;list-style:none;font-weight:700;font-size:.95rem}.trust li{display:flex;align-items:center;gap:8px}.trust svg{width:20px;height:20px;fill:none;stroke:#ff8a7a;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.contactgrid{display:grid;gap:24px}.cinfo p{margin:0 0 12px}.cinfo a{font-weight:700}
@media(min-width:900px){.feat{grid-template-columns:repeat(3,1fr)}.contactgrid{grid-template-columns:1.3fr 1fr}}
@media(max-width:479px){.brand img{width:150px}.hcall span{display:none}.hcall{padding:9px}.hdr-in{gap:8px}}
