
:root{--bg:#f1f3fc;--ink:#0b1030;--mut:#4b5273;--card:#fff;--line:#d5d9ec;--blue:#0000ff;--acc:#0000ff;--red:#c8323c;--hy:#f2c230;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:not([data-theme="light"]){--bg:#090b1f;--ink:#e9ecfa;--mut:#a3abd0;--card:#12163a;--line:#252a5a;--acc:#8c96ff;--red:#ef6b73}}
:root[data-theme="dark"]{--bg:#090b1f;--ink:#e9ecfa;--mut:#a3abd0;--card:#12163a;--line:#252a5a;--acc:#8c96ff;--red:#ef6b73}
*,*::before,*::after{box-sizing:inherit}
html{scroll-padding-top:env(safe-area-inset-top,0px);height:100%}
body{margin:0;min-height:100%;background:var(--bg);color:var(--ink);font:17px/1.6 Karla,system-ui,sans-serif}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);background:var(--bg);z-index:30}
a{color:inherit}
:focus-visible{outline:3px solid var(--hy);outline-offset:2px}
h1,h2,h3{font-family:"Barlow Condensed","Arial Narrow",sans-serif;line-height:1.05;margin:0 0 .5em;font-weight:700;letter-spacing:.01em}
h1{font-size:clamp(2.6rem,9vw,5.6rem)}h2{font-size:clamp(1.8rem,4vw,2.6rem)}h3{font-size:1.5rem}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;background:var(--bg);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;justify-content:space-between;min-height:68px;gap:12px}
.brand{font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:1.5rem;text-decoration:none;display:flex;align-items:center;gap:12px;line-height:1}
.brand img{display:block;height:46px;width:auto}
@media(prefers-color-scheme:dark){.brand img{filter:drop-shadow(0 0 1px #fff)}}
.brand small{display:block;font-size:.8rem;font-weight:600;color:var(--mut);margin-top:3px}
#burger{display:none;background:none;border:2px solid var(--ink);border-radius:8px;padding:8px 12px;font:inherit;color:inherit;cursor:pointer}
nav ul{list-style:none;margin:0;padding:0}
nav>ul{display:flex;gap:4px}
nav li{position:relative}
nav a,nav .t{display:block;padding:10px 14px;border-radius:8px;text-decoration:none;font-weight:600;cursor:default}
nav a{cursor:pointer}
nav a:hover,nav li:hover>.t,nav a[aria-current]{background:var(--blue);color:#fff}
nav li ul{display:none;position:absolute;left:0;top:100%;min-width:230px;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:6px;box-shadow:0 12px 30px rgba(0,0,40,.22)}
nav li:hover>ul,nav li:focus-within>ul{display:block}
nav .g{padding:8px 14px 2px;color:var(--mut);font-size:.85rem}
.hero{background:#0000ff center/cover no-repeat;color:#fff;position:relative;overflow:hidden}
.hero svg{position:absolute;right:-8%;top:50%;transform:translateY(-50%);width:min(70vw,620px);opacity:.3}
.hero .wrap{position:relative;padding-top:clamp(56px,11vw,120px);padding-bottom:clamp(56px,11vw,120px)}
.hero h1{font-size:clamp(2.3rem,7vw,4.6rem);max-width:16ch}
.hero p{max-width:34ch;font-size:1.25rem;margin:0}
.fig{margin:0 0 28px;max-width:560px}.fig img{display:block;width:100%;height:auto;border-radius:16px}.fig figcaption{margin-top:8px;font-size:.85rem;color:var(--mut)}
.pic{display:block;width:100%;max-height:420px;object-fit:cover;border-radius:16px;margin:0 0 28px}
.btn{display:inline-block;background:#fff;color:#0000ff;text-decoration:none;font-weight:700;padding:13px 22px;border-radius:999px;cursor:pointer}
main{padding:48px 0 72px}
.lead{font-size:1.2rem;color:var(--mut);max-width:60ch}
.crumb{color:var(--mut);margin-bottom:10px;font-size:.95rem}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin:8px 0 48px}
.tile{display:block;background:var(--card);border:1px solid var(--line);border-left:8px solid var(--c,var(--acc));border-radius:6px 16px 16px 6px;padding:20px 22px;text-decoration:none;transition:transform .15s}
.tile:hover{transform:translateX(4px)}
.tile h3{margin-bottom:.2em}.tile p{margin:0;color:var(--mut)}
.list{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin:0 0 36px;padding:0;list-style:none}
.list a{display:block;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:14px 16px;text-decoration:none;font-weight:600}
.list a:hover{border-color:var(--acc)}
dl{display:grid;grid-template-columns:max-content 1fr;border:1px solid var(--line);border-radius:12px;background:var(--card);overflow:hidden;margin:0 0 32px}
dt,dd{margin:0;padding:13px 18px;border-bottom:1px solid var(--line)}
dt{font-weight:600;border-right:1px solid var(--line)}
dl>:nth-last-child(-n+2){border-bottom:0}
dd a,.box a,.lead a{color:var(--acc);font-weight:600}
a[href^="tel:"],a[href^="mailto:"]{color:#000!important;text-decoration:none}
.ph{background:color-mix(in srgb,var(--hy) 35%,transparent);border-radius:4px;padding:0 5px;font-style:italic}
.box{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:22px 24px;margin:0 0 24px;max-width:70ch}
.box p{margin:0 0 .8em}.box p:last-child{margin:0}
.box.h{border-left:8px solid var(--red)}
.q{max-width:70ch;margin:0 0 28px}.q h3{margin-bottom:.15em}.q p{margin:0}
.leg h3{margin-top:1.4em}.leg h3:first-child{margin-top:0}.leg h4{font:700 1.05rem Karla,system-ui,sans-serif;margin:1.2em 0 .3em}.leg ul{margin:0 0 .8em;padding-left:1.2em}.leg li{margin-bottom:.4em}
ul.doc{list-style:none;padding:0;margin:0 0 32px;max-width:640px}
ul.doc li{display:flex;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}
footer{background:#0000ff;color:#fff;padding:36px 0 44px;font-size:.95rem}
footer .wrap{display:flex;flex-wrap:wrap;gap:16px 40px;justify-content:space-between}
@media(max-width:860px){
#burger{display:block}
nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--bg);border-bottom:1px solid var(--line);padding:8px 20px 16px;max-height:calc(100vh - 80px);overflow:auto}
nav.open{display:block}
nav>ul{flex-direction:column}
nav li ul{display:block;position:static;box-shadow:none;border:0;background:none;padding:0 0 6px 14px}
.hero svg{opacity:.18}
dl{grid-template-columns:1fr}dt{border-right:0;border-bottom:0;padding-bottom:0}
}

main h1{font-size:clamp(2rem,5vw,3.2rem)}
