:root{--mist:#edf1f3;--ink:#0e2236;--ocean:#1f4e79;--sky:#d5e3ec;--gold:#e3a72f;--text:#2a3a48;--muted:#5b6b78;--line:#c3d1da;--font:"Avenir Next","Segoe UI Variable Display","Segoe UI",Inter,system-ui,Roboto,Helvetica,Arial,sans-serif;--wrap:1320px}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{font:17px/1.7 var(--font);color:var(--text);background:var(--mist);-webkit-font-smoothing:antialiased}
svg{display:block;max-width:100%}a{color:inherit;text-decoration:none}ul,ol{list-style:none;padding:0}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.wrap{width:min(var(--wrap),100% - 3rem);margin-inline:auto}
h1,h2,h3,h4{color:var(--ink);line-height:1.1;letter-spacing:-.03em;font-weight:650}
h1{font-size:clamp(2.5rem,5.4vw,5rem)}h2{font-size:clamp(2rem,3.6vw,3.2rem)}h3{font-size:1.25rem;letter-spacing:-.015em}
.btn{display:inline-block;padding:1rem 1.7rem;background:var(--ink);color:#fff;font-weight:600;border:2px solid var(--ink);cursor:pointer;font:inherit;font-weight:600;transition:background .25s,color .25s,border-color .25s}
.btn:hover{background:var(--gold);border-color:var(--gold);color:var(--ink)}
.btn-line{background:transparent;color:var(--ink)}.btn-line:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.btn-sm{padding:.55rem 1.1rem}
.site-header{position:sticky;top:0;z-index:50;background:rgba(237,241,243,.97);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;justify-content:space-between;height:72px}
.logo{display:flex;align-items:center;gap:.7rem;font-weight:700;color:var(--ink);line-height:1.1}.logo small{display:block;font-weight:500;font-size:.72rem;color:var(--muted)}
.nav{display:flex;align-items:center;gap:2rem;font-weight:500}
.nav a:not(.btn){position:relative;padding:.3rem 0}.nav a:not(.btn)::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--gold);transition:width .25s}.nav a:not(.btn):hover::after{width:100%}
.nav .btn:hover{color:var(--ink)}
.burger{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer;position:relative}
.burger span{position:absolute;left:10px;right:10px;height:2px;background:var(--ink);transition:transform .25s}.burger span:first-child{top:17px}.burger span:last-child{top:25px}
.burger[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.burger[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}
.hero{padding:clamp(2.5rem,5vw,4.5rem) 0 clamp(3.5rem,7vw,6rem)}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,5vw,5rem);align-items:center}
.tag{display:inline-block;border-left:4px solid var(--gold);padding-left:.8rem;margin-bottom:1.5rem;font-weight:600;color:var(--ocean)}
.lead{font-size:1.2rem;max-width:40em;margin:1.6rem 0 2rem}
.actions{display:flex;flex-wrap:wrap;gap:1rem}
.marks{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:3rem;padding-top:1.8rem;border-top:1px solid var(--line)}
.marks li{font-size:.95rem;line-height:1.45;color:var(--muted)}.marks strong{display:block;color:var(--ink);font-size:1.05rem;margin-bottom:.25rem}
.hero-art{position:relative;animation:rise .9s ease both}.hero-art svg{width:100%;height:auto}
.float-card{position:absolute;left:-2.5rem;bottom:2.5rem;background:#fff;padding:1.3rem 1.6rem;border-left:5px solid var(--gold);box-shadow:0 18px 40px rgba(14,34,54,.18);line-height:1.5;font-size:.95rem}
.float-card span{display:block;color:var(--muted);font-size:.8rem}.float-card strong{display:block;color:var(--ink);font-size:1.1rem}.float-card a{color:var(--ocean);font-weight:600}
@keyframes rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.section{padding:clamp(4.5rem,9vw,8rem) 0}.section-tint{background:var(--sky)}
.about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,6vw,6rem)}
.about-side{position:sticky;top:110px;align-self:start}
.map-block{position:relative;margin-top:2.5rem;aspect-ratio:4/3;background:linear-gradient(var(--line) 1px,transparent 1px) 0 0/48px 48px,linear-gradient(90deg,var(--line) 1px,transparent 1px) 0 0/48px 48px,#fff;border:1px solid var(--line)}
.map-block i{position:absolute;left:55%;top:42%;width:22px;height:22px;background:var(--gold);border:5px solid var(--ink);border-radius:50% 50% 50% 0;transform:rotate(-45deg)}
.map-block span{position:absolute;left:calc(55% + 24px);top:calc(42% + 2px);font-weight:700;color:var(--ink)}
.about-text p{margin-bottom:1.3rem;max-width:44em}.about-text .big{font-size:1.4rem;line-height:1.5;color:var(--ink)}
.panels{display:grid;grid-template-columns:repeat(3,1fr);margin-top:2.5rem;border:1px solid var(--line);background:#fff}
.panels div{padding:1.5rem;border-right:1px solid var(--line)}.panels div:last-child{border:0}.panels h3{margin-bottom:.5rem}.panels p{font-size:.95rem;margin:0}
.steps-wrap{margin-top:clamp(3.5rem,6vw,6rem)}.steps-title{font-size:1.8rem;margin-bottom:1.8rem}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;counter-reset:s}
.steps li{padding-top:1.4rem;border-top:3px solid var(--ink);transition:border-color .25s}.steps li:hover{border-color:var(--gold)}
.steps b{display:inline-grid;place-items:center;width:34px;height:34px;background:var(--ink);color:#fff;margin-bottom:1rem}
.steps h4{font-size:1.2rem;margin-bottom:.4rem}.steps p{font-size:.97rem}
.head{display:flex;justify-content:space-between;align-items:end;gap:3rem;margin-bottom:3rem}.head p{max-width:30em;color:var(--muted)}
.tabs{display:grid;grid-template-columns:.8fr 1.2fr;background:#fff;box-shadow:0 20px 50px rgba(14,34,54,.1)}
.tablist{display:flex;flex-direction:column;background:var(--ink)}
.tablist button{text-align:left;padding:1.3rem 1.8rem;background:none;border:0;border-left:5px solid transparent;color:#b9cadb;font:inherit;font-size:1.1rem;font-weight:600;cursor:pointer;transition:background .2s,color .2s}
.tablist button:hover{background:#17324b;color:#fff}.tablist button[aria-selected=true]{background:#17324b;color:#fff;border-left-color:var(--gold)}
.tabpanels{padding:clamp(1.8rem,4vw,3.5rem)}.tabpanel h3{font-size:2rem;margin-bottom:1rem}.tabpanel>p{max-width:36em;margin-bottom:1.5rem}
.tabpanel li{padding:.8rem 0 .8rem 2rem;border-top:1px solid var(--line);position:relative}.tabpanel li::before{content:"";position:absolute;left:0;top:1.35rem;width:.9rem;height:.9rem;background:var(--gold)}
.js .tabpanel{display:none}.js .tabpanel.on{display:block;animation:rise .4s ease both}
.dark{background:var(--ink);color:#c5d3e0}.dark h2,.dark h3{color:#fff}
.why-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,6vw,6rem)}
.why-side{position:sticky;top:110px;align-self:start}.why-side>p{margin:1.4rem 0 2rem;max-width:28em}
.note{border-left:4px solid var(--gold);background:#17324b;padding:1.3rem 1.5rem;font-size:.97rem}
.benefits li{display:flex;gap:1.6rem;padding:1.9rem 0;border-top:1px solid #2c4d6e}.benefits li:last-child{border-bottom:1px solid #2c4d6e}
.benefits svg{flex:none;width:56px;height:56px;padding:13px;background:var(--gold);fill:none;stroke:var(--ink);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .3s}
.benefits li:hover svg{transform:rotate(-8deg) scale(1.06)}.benefits h3{margin-bottom:.4rem}
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,6vw,6rem);align-items:start}
.contact-info>p{margin:1.3rem 0 2.2rem;max-width:30em}
dl{border-top:1px solid var(--line)}dt{margin-top:1.3rem;font-size:.85rem;color:var(--muted)}dd{font-size:1.15rem;color:var(--ink);font-weight:600}dd a{color:var(--ocean);text-decoration:underline;text-underline-offset:3px}
.form{background:#fff;padding:clamp(1.6rem,4vw,3rem);border-top:6px solid var(--ink);box-shadow:0 20px 50px rgba(14,34,54,.1)}
.form label{display:block;margin-bottom:1.2rem;font-weight:600;color:var(--ink);font-size:.95rem}
.row{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.form input:not([type=checkbox]),.form select,.form textarea{display:block;width:100%;margin-top:.4rem;padding:.85rem 1rem;border:1px solid #9fb3c2;background:var(--mist);font:inherit;font-weight:400;color:var(--text);transition:border-color .2s,background .2s}
.form input:focus,.form select:focus,.form textarea:focus{outline:0;border-color:var(--ocean);background:#fff}
.form .invalid{border-color:#b3261e!important}.err{display:block;min-height:1.1rem;color:#b3261e;font-size:.85rem;font-weight:500;margin-top:.2rem}
.form .check{display:flex;gap:.8rem;align-items:flex-start;margin:0}.check input{margin-top:.35rem;width:18px;height:18px;accent-color:var(--ink)}.check em{font-style:normal;font-weight:400;font-size:.92rem}
.form .btn{margin-top:1rem}.status{margin-top:1rem;font-weight:600;color:var(--ocean)}
.footer{background:#091826;color:#a9bccd;padding-top:3.5rem;font-size:.97rem}
.foot{display:grid;grid-template-columns:1.3fr 1fr 1.3fr;gap:2rem;padding-bottom:2.5rem}.foot strong{color:#fff;font-size:1.15rem}.foot p{margin-top:.6rem}
.foot nav{display:grid;gap:.4rem;align-content:start}.foot a:hover{color:var(--gold)}
.copy{border-top:1px solid #1d3347;padding:1.4rem 0;font-size:.88rem}
.rv{opacity:1}.js .rv{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease}.js .rv.in{opacity:1;transform:none}
@media (max-width:960px){
.burger{display:block}
.nav{position:fixed;top:72px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--mist);padding:1rem 1.5rem 1.5rem;border-bottom:1px solid var(--line);transform:translateY(-120%);visibility:hidden;transition:transform .3s,visibility .3s}
.nav.open{transform:none;visibility:visible}.nav a{padding:.9rem 0!important}.nav .btn{text-align:center;margin-top:.6rem}
.hero-grid,.about-grid,.why-grid,.contact-grid,.tabs{grid-template-columns:1fr}
.about-side,.why-side{position:static}.float-card{left:1rem}.steps{grid-template-columns:1fr 1fr}.head{flex-direction:column;align-items:start;gap:1rem}
.tablist{flex-direction:row;overflow-x:auto}.tablist button{white-space:nowrap;border-left:0;border-bottom:4px solid transparent;padding:1rem 1.2rem}.tablist button[aria-selected=true]{border-bottom-color:var(--gold)}
.foot{grid-template-columns:1fr 1fr}}
@media (max-width:640px){
body{font-size:16px}.marks,.panels,.steps,.row,.foot{grid-template-columns:1fr}.panels div{border-right:0;border-bottom:1px solid var(--line)}
.benefits li{flex-direction:column;gap:1rem}.actions .btn{flex:1;text-align:center}.logo small{display:none}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}.js .rv{opacity:1;transform:none}}
