
:root{color-scheme:light;--accent:#315a8a;--wash:#edf3fa;--ink:#192b40;--muted:#526477;--line:#dbe3e9;--paper:#fff;--font-body:Arial,sans-serif;--font-display:Georgia,serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--wash);color:var(--ink);font:16px/1.7 var(--font-body)}
a{color:var(--accent);text-underline-offset:3px}
a:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.topline{height:4px;background:var(--accent)}
.wrap{width:min(100% - 36px,1080px);margin-inline:auto}
.site-header{background:var(--paper);border-bottom:1px solid var(--line)}
.head{min-height:76px;padding:16px 0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px 28px}
.brand{color:var(--ink);font:700 1.2rem/1.25 var(--font-display);letter-spacing:-.025em;text-decoration:none;overflow-wrap:anywhere}
.nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px}
.nav a{padding:8px 11px;border-radius:8px;color:var(--ink);font-size:.9rem;font-weight:650;text-decoration:none}
.nav a:hover,.nav a[aria-current=page]{background:var(--wash);color:var(--accent)}
main{padding:46px 0 68px}
.eyebrow,.kicker{margin:0;color:var(--accent);font-size:.76rem;font-weight:750;letter-spacing:.13em;text-transform:uppercase}
.hero{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(220px,.65fr);align-items:center;gap:28px;padding:clamp(26px,5vw,58px);border:1px solid var(--line);border-radius:18px;background:var(--paper)}
.hero:after{position:absolute;z-index:-1;right:-95px;top:-135px;width:340px;height:340px;border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);border-radius:50%;box-shadow:0 0 0 34px color-mix(in srgb,var(--accent) 4%,transparent),0 0 0 72px color-mix(in srgb,var(--accent) 3%,transparent);content:""}
h1,h2,h3{font-family:var(--font-display)}
.hero h1,.page-title{max-width:19ch;margin:12px 0;font-size:clamp(2.3rem,6vw,4.8rem);letter-spacing:-.055em;line-height:1.05;overflow-wrap:anywhere}
.lead{max-width:58ch;margin:16px 0 0;color:var(--muted);font-size:1.1rem}
.hero-aside{position:relative;padding:20px;border-left:2px solid var(--accent);color:var(--muted)}
.hero-aside strong{display:block;margin:6px 0;color:var(--ink);font:700 1.18rem/1.35 var(--font-display);overflow-wrap:anywhere}
.actions{display:flex;flex-wrap:wrap;gap:11px;margin-top:24px}
.button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;padding:9px 18px;border:1px solid var(--accent);border-radius:8px;background:var(--accent);color:#fff;font-weight:700;text-decoration:none}
.button.secondary{background:transparent;color:var(--accent)}
.section-intro{max-width:680px;margin:46px 0 17px}
.section-intro h2{margin:5px 0;font-size:clamp(1.45rem,3vw,2rem);letter-spacing:-.025em;line-height:1.25}
.section-intro p:last-child{margin:0;color:var(--muted)}
.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px}
.panel{grid-column:span var(--span,6);min-width:0;padding:clamp(20px,3vw,29px);border:1px solid var(--line);border-radius:14px;background:var(--paper)}
.panel h2{margin:6px 0 10px;font-size:clamp(1.25rem,2.5vw,1.65rem);line-height:1.25}
.panel p{color:var(--muted)}
.panel.wide{grid-column:1/-1}
.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;margin:0}
.facts div{padding:13px 0;border-top:1px solid var(--line);overflow-wrap:anywhere}
.facts dt{color:var(--muted);font-size:.82rem;font-weight:650}
.facts dd{margin:3px 0 0;font-weight:700;overflow-wrap:anywhere}
.small{color:var(--muted);font-size:.88rem}
.page{max-width:840px;margin-inline:auto}
.page-title{font-size:clamp(2.2rem,5vw,3.6rem)}
.page>p{color:var(--muted)}
.page h2{margin:30px 0 7px;font-size:1.3rem}
.page .panel{margin-top:20px}
.contact-box{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:15px;margin:22px 0;padding:22px;border:1px solid var(--line);border-radius:14px;background:var(--paper)}
.contact-box a{font-size:clamp(1rem,2.5vw,1.3rem);font-weight:750;overflow-wrap:anywhere}
.site-footer{padding:27px 0;border-top:1px solid var(--line);background:var(--paper)}
.foot{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}
.foot p{margin:0;color:var(--muted);font-size:.9rem}
.foot nav{display:flex;flex-wrap:wrap;gap:9px 17px}
.foot a{font-size:.88rem}
.layout-editorial .head{grid-template-columns:1fr}
.layout-editorial .nav{justify-content:flex-start}
.layout-editorial .hero{grid-template-columns:1fr;max-width:900px;margin-inline:auto;border:0;border-top:4px solid var(--accent);border-radius:2px;box-shadow:none}
.layout-frame .hero{min-height:350px;border:0;border-radius:4px;background:var(--ink);color:#fff}
.layout-frame .hero h1,.layout-frame .hero-aside strong{color:#fff}
.layout-frame .lead,.layout-frame .hero-aside{color:#e0e6ec}
.layout-frame .hero-aside{border-color:#fff}
.layout-frame .hero .eyebrow{color:#fff}
.layout-frame .button{border-color:#fff;background:#fff;color:var(--ink)}
.layout-frame .button.secondary{background:transparent;color:#fff}
.layout-minimal{background:var(--paper)}
.layout-minimal main{padding-top:32px}
.layout-minimal .hero{padding-inline:0;border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none}
.layout-mosaic .hero{border-radius:4px 58px 4px 4px}
.layout-mosaic .hero-aside{border:0;border-radius:14px;background:var(--wash)}
.layout-offset .hero{grid-template-columns:minmax(0,1fr) minmax(200px,.48fr);box-shadow:9px 9px 0 color-mix(in srgb,var(--accent) 16%,transparent)}
.layout-offset .hero-aside{transform:translateY(12px)}
.variant-line .hero{border-left:5px solid var(--accent)}
.variant-arch .hero{border-radius:44px 10px 44px 10px}
.variant-soft .hero{background:var(--wash);border-color:transparent}
.variant-editorial .hero{border-top:5px solid var(--accent);border-radius:4px}
.variant-shadow .hero{box-shadow:10px 10px 0 color-mix(in srgb,var(--accent) 16%,transparent)}
.variant-plain .hero{border-radius:2px}
.cards-rounded .panel{border-radius:20px 5px}
.cards-square .panel{border-radius:3px}
.cards-striped .panel{border-top:3px solid var(--accent);border-radius:2px}
.cards-offset .panel{border-radius:4px 22px}
.cards-bordered .panel{border-color:color-mix(in srgb,var(--accent) 25%,var(--line));border-radius:12px}
.cards-soft .panel{background:var(--wash);border-color:transparent;border-radius:14px}
@media(max-width:760px){.head{grid-template-columns:1fr;gap:11px}.nav{justify-content:flex-start}.hero,.layout-offset .hero{grid-template-columns:1fr}.layout-offset .hero-aside{transform:none}.panel{grid-column:span 6}.foot{flex-direction:column}}
@media(max-width:540px){.wrap{width:min(100% - 28px,1080px)}main{padding:28px 0 45px}.hero{padding:24px 20px}.hero h1{font-size:clamp(2.1rem,11vw,3.4rem)}.panel{grid-column:1/-1!important;padding:20px}.facts{grid-template-columns:1fr}.nav a{padding:7px 9px;font-size:.84rem}.actions .button{width:100%}.contact-box{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
