:root{
  --ink:#06163A;
  --text:#2C2C2C;
  --accent:#3764EB;
  --accent-dark:#2A52C9;
  --logo:#70A3D7;
  --deep:#0D3885;
  --slate:#314450;
  --pale:#ECF4FE;
  --mist:#CCDEEC;
  --white:#fff;
  --on-dark:#C9D8EE;
  --on-dark-accent:#9DC0EA;
  --max:1240px;
  --gutter:clamp(20px,5vw,56px);
  --rail-x:18px;
  --rail-w:8px;
  --railpad:76px;
  --dot:30px;
  --branch:44px;
  --ease:cubic-bezier(.16,1,.3,1);
  --sans:"Montserrat",system-ui,-apple-system,"Segoe UI",sans-serif;
  --serif:"Rufina",Georgia,serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px;-webkit-text-size-adjust:100%;scrollbar-color:var(--logo) var(--pale)}
body{margin:0;font-family:var(--sans);font-size:17px;line-height:1.65;color:var(--text);background:var(--white);-webkit-font-smoothing:antialiased;font-variant-numeric:lining-nums}
img,svg{display:block;max-width:100%}
h1,h2,h3,p,ul,ol,dl,dd,figure,blockquote{margin:0}
ul,ol{padding:0;list-style:none}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
::selection{background:var(--accent);color:var(--white)}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:absolute;left:16px;top:-60px;z-index:100;background:var(--ink);color:var(--white);padding:12px 18px;font-weight:700}
.skip:focus{top:12px}
h1,h2,h3{color:var(--ink);text-wrap:balance}
h2{font-size:clamp(28px,2.6vw + 10px,42px);line-height:1.12;font-weight:800;letter-spacing:-.015em}
h3{font-size:19px;line-height:1.3;font-weight:700}
p{text-wrap:pretty}
.num{font-family:var(--sans);font-weight:700;letter-spacing:-.02em;font-variant-numeric:lining-nums}
.wrap{width:min(100% - 2 * var(--gutter),var(--max));margin-inline:auto}
.site-header{position:sticky;top:0;z-index:50;background:var(--white);border-bottom:1px solid var(--mist)}
.header-in{display:flex;align-items:center;justify-content:space-between;gap:24px;height:80px}
.logo img{width:auto;height:42px}
.site-nav{display:flex;align-items:center;gap:28px}
.nav-list{display:flex;align-items:center;gap:26px;font-size:15px;font-weight:600;color:var(--ink)}
.nav-list a,.sub-toggle{display:inline-flex;align-items:center;gap:6px;padding:8px 0;transition:color .2s}
.nav-list a:hover,.sub-toggle:hover{color:var(--accent)}
.sub-toggle{background:none;border:0;cursor:pointer;font-weight:600}
.sub-toggle svg{width:16px;height:16px;transition:transform .3s var(--ease)}
.has-sub{position:relative}
.sub{position:absolute;left:-20px;top:100%;min-width:290px;background:var(--white);border-top:4px solid var(--accent);box-shadow:0 18px 40px -12px rgb(6 22 58 / .28);padding:10px 0;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .2s,transform .3s var(--ease),visibility 0s .18s}
.sub a{display:block;padding:10px 20px}
.sub a:hover{background:var(--pale);color:var(--ink)}
.has-sub:hover .sub,.has-sub:focus-within .sub,.has-sub.is-open .sub{opacity:1;visibility:visible;transform:none;transition-delay:s}
.has-sub:hover .sub-toggle svg,.has-sub.is-open .sub-toggle svg{transform:rotate(180deg)}
.nav-list,.site-nav .btn{white-space:nowrap}
.nav-tel{display:inline-flex;align-items:center;gap:10px;font-weight:700;color:var(--ink);font-size:16px;white-space:nowrap;transition:color .2s}
.nav-tel svg{width:18px;height:18px;color:var(--accent)}
.nav-tel:hover{color:var(--accent)}
.nav-toggle{display:none;background:none;border:0;padding:8px;cursor:pointer;color:var(--ink)}
.nav-toggle svg{width:28px;height:28px}
.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:var(--white);font-weight:700;padding:14px 22px;transition:background-color .2s}
.btn:hover{background:var(--accent-dark)}
.btn-sm{padding:12px 18px;font-size:15px}
.sign{display:inline-flex;align-items:stretch;min-height:64px;background:var(--white);color:var(--ink);font-weight:800;font-size:18px;border:0;cursor:pointer;padding:0;box-shadow:0 10px 24px -10px rgb(0 0 0 / .45);transition:box-shadow .3s var(--ease),transform .3s var(--ease)}
.sign span{display:flex;align-items:center;padding:0 26px;white-space:nowrap}
.sign b{display:grid;place-items:center;width:64px;background:var(--accent);color:var(--white);transition:background-color .2s}
.sign b svg{width:26px;height:26px;transition:transform .21s var(--ease)}
.sign:hover{transform:translateY(-2px);box-shadow:0 16px 30px -12px rgb(0 0 0 / .5)}
.sign:hover b{background:var(--accent-dark)}
.sign:hover b svg{transform:translateX(4px)}
.more{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--ink);font-size:16px;transition:gap .3s var(--ease),color .2s}
.more svg{width:18px;height:18px;color:var(--accent)}
.more:hover{gap:13px;color:var(--deep)}
.hero-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,440px);gap:clamp(32px,5vw,72px);align-items:center}
.h1-sub{display:block;margin-top:.22em;font-size:.6em;font-weight:700;letter-spacing:-.01em;color:var(--on-dark-accent)}
.lead{margin-top:26px;max-width:36ch;font-size:clamp(18px,.6vw + 14px,21px);line-height:1.6;font-weight:500;color:var(--on-dark)}
.g{width:18px;height:18px;flex:none}
.property{padding:clamp(64px,8vw,112px) 0}
.express{margin-top:40px;padding:30px 30px 32px;background:var(--deep);color:var(--on-dark)}
.express{position:relative}
.express h3{color:var(--white);font-size:24px;padding-right:84px}
.express h3+p{padding-right:84px}
.express p{margin-top:6px;font-weight:500}
.express .sign{margin-top:26px}
.process{padding:clamp(64px,8vw,112px) 0}
.emma{padding:clamp(64px,8vw,112px) 0}
.why{margin-top:44px;padding-top:32px;border-top:2px solid var(--ink)}
.why h3{font-size:24px}
.why-lead{margin-top:10px;max-width:60ch}
.why-lead strong{display:block;color:var(--ink)}
.ticks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px;margin-top:20px}
.ticks li{display:flex;align-items:center;gap:14px;padding:13px 0;border-bottom:1px solid var(--mist);font-weight:700;color:var(--ink)}
.ticks svg{width:26px;height:26px;padding:4px;flex:none;background:var(--pale);color:var(--accent)}
.reviews{padding:clamp(64px,8vw,112px) 0}
.rating{display:flex;align-items:center;gap:10px;padding:12px 18px;background:var(--white);color:var(--ink);font-size:14px;font-weight:600}
.rating .g{width:22px;height:22px}
.rating .num{font-size:28px;line-height:1}
.stars{display:flex;gap:2px;color:#F5B301}
.stars svg{width:16px;height:16px}
.carousel{margin-top:40px}
.car-view{overflow:hidden;transition:height .27s var(--ease)}
.car-track{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}
.carousel.is-live .car-track{display:flex;align-items:flex-start;gap:24px;transition:transform .36s var(--ease);touch-action:pan-y}
.carousel.is-live .review{flex:0 0 calc((100% - 48px) / 3)}
.review{display:flex;flex-direction:column;background:rgb(255 255 255 / .06);border-top:4px solid var(--logo);padding:26px 26px 22px}
.review blockquote p{color:var(--white);font-size:16px;line-height:1.65}
.who{margin-top:20px;font-weight:800;color:var(--white)}
.who span{display:block;font-size:13px;font-weight:600;color:var(--on-dark-accent)}
.car-controls{display:flex;align-items:center;gap:20px;margin-top:28px}
.car-controls[hidden]{display:none}
.car-btn{display:grid;place-items:center;width:52px;height:52px;background:var(--white);color:var(--ink);border:0;cursor:pointer;transition:background-color .2s,opacity .2s}
.car-btn svg{width:22px;height:22px}
.car-btn:hover:not(:disabled){background:var(--pale)}
.car-btn:disabled{opacity:.35;cursor:default}
.car-progress{flex:1;height:6px;background:rgb(157 192 234 / .25);position:relative;overflow:hidden}
.car-progress span{position:absolute;top:0;bottom:0;left:0;background:var(--logo);transition:transform .36s var(--ease)}
.estates{position:relative;padding:clamp(64px,8vw,112px) 0}
.estates .wrap{padding-left:calc(var(--railpad) + var(--branch))}
.estates h2{font-size:clamp(26px,1.6vw + 14px,34px);font-weight:600;letter-spacing:-.01em}
.dep-go{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--ink);white-space:nowrap}
.dep-go svg{width:18px;height:18px;color:var(--accent);transition:transform .3s var(--ease)}
.quote{scroll-margin-top:80px}
.contact{margin-top:32px;display:grid;gap:14px}
.contact a{display:inline-flex;align-items:center;gap:14px;font-weight:700;font-size:18px;color:var(--white);transition:color .2s;word-break:break-word}
.contact svg{width:44px;height:44px;padding:11px;flex:none;background:rgb(255 255 255 / .1);color:var(--on-dark-accent)}
.contact a:hover{color:var(--on-dark-accent)}
.form{background:var(--white);color:var(--text);padding:clamp(24px,3vw,40px);box-shadow:0 30px 60px -30px rgb(0 0 0 / .55)}
.f-row{display:grid;gap:6px;margin-bottom:18px}
.f-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}
.form label{font-size:14px;font-weight:700;color:var(--ink)}
.form input:not([type=checkbox]),.form select,.form textarea{width:100%;min-height:52px;padding:12px 14px;border:2px solid var(--mist);background:var(--white);font-size:16px;border-radius:0;transition:border-color .2s;appearance:none}
.form select{background:var(--white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%2306163A' stroke-width='2.2' d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center/18px;padding-right:44px}
.form textarea{resize:vertical;min-height:120px}
.form input:hover,.form select:hover,.form textarea:hover{border-color:var(--logo)}
.form input:focus-visible,.form select:focus-visible,.form textarea:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgb(55 100 235 / .25)}
.form [aria-invalid=true]{border-color:#B3261E!important}
.f-express{margin:4px 0 24px;padding:16px 18px;background:var(--pale);font-size:15px}
.f-express strong{color:var(--ink)}
.check{display:flex!important;align-items:center;gap:12px;margin-top:12px;cursor:pointer;font-size:15px!important}
.check input{position:absolute;opacity:0;width:24px;height:24px}
.check .box{display:grid;place-items:center;width:24px;height:24px;flex:none;border:2px solid var(--ink);background:var(--white)}
.check .box svg{width:16px;height:16px;color:var(--white);opacity:0}
.check input:checked+.box{background:var(--accent);border-color:var(--accent)}
.check input:checked+.box svg{opacity:1}
.check input:focus-visible+.box{outline:3px solid var(--accent);outline-offset:3px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.sign-btn{box-shadow:none;background:var(--ink);color:var(--white)}
.sign-btn:hover{box-shadow:0 12px 24px -12px rgb(6 22 58 / .6)}
.sign-btn[disabled]{opacity:.6;cursor:progress;transform:none}
.f-status{margin-top:16px;font-size:15px;font-weight:600}
.f-status:empty{display:none}
.f-status.is-error{color:#B3261E}
.f-status a{text-decoration:underline;text-underline-offset:3px}
.site-footer{background:var(--white);border-top:1px solid var(--mist);padding:clamp(56px,6vw,80px) 0 24px;font-size:15px}
.footer-in{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,72px)}
.f-brand img{width:auto;height:44px}
.f-brand>p{margin-top:20px;max-width:46ch}
.contact-dark{margin-top:24px;gap:8px}
.contact-dark a{color:var(--ink);font-size:16px}
.contact-dark svg{width:36px;height:36px;padding:9px;background:var(--pale);color:var(--accent)}
.contact-dark a:hover{color:var(--accent)}
.f-col h2{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--slate);font-weight:700}
.f-col ul{margin-top:14px;display:grid;gap:10px}
.f-col a{display:inline-block;padding:3px 0;font-weight:600;color:var(--ink);transition:color .2s}
.f-col a:hover{color:var(--accent)}
.f-posts li{display:grid;gap:2px}
.f-posts time{font-size:13px;color:var(--slate)}
.footer-base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;margin-top:clamp(40px,5vw,64px);padding-top:20px;border-top:1px solid var(--mist);font-size:13px;color:var(--slate)}
.footer-base a:hover{color:var(--accent)}
.callbar{display:none}
@media (max-width:1100px){
  .carousel.is-live .review{flex-basis:calc((100% - 24px) / 2)}
}
@media (max-width:1180px){
  .nav-toggle{display:block}
  .site-nav{position:absolute;top:100%;left:0;right:0;display:none;flex-direction:column;align-items:stretch;gap:0;background:var(--white);border-bottom:4px solid var(--accent);box-shadow:0 20px 40px -20px rgb(6 22 58 / .35);padding:8px var(--gutter) 24px;max-height:calc(100vh - 80px);overflow:auto}
  .site-nav.is-open{display:flex}
  .nav-list{flex-direction:column;align-items:stretch;gap:0;font-size:17px}
  .nav-list>li{border-bottom:1px solid var(--mist)}
  .nav-list a,.sub-toggle{width:100%;padding:14px 0;justify-content:space-between}
  .sub{position:static;min-width:0;box-shadow:none;border:0;padding:0 0 8px 16px;opacity:1;visibility:visible;transform:none;display:none}
  .has-sub:hover .sub{display:none}
  .has-sub.is-open .sub{display:block}
  .sub a{padding:10px 0}
  .nav-tel{padding:18px 0}
  .site-nav .btn{width:100%}
}
@media (max-width:1000px){
  .hero-in{grid-template-columns:minmax(0,1fr)}
  .footer-in{grid-template-columns:1fr 1fr}
  .f-brand{grid-column:1/-1}
}
@media (max-width:767px){
  :root{--rail-x:2px;--rail-w:4px;--railpad:34px;--dot:22px;--branch:22px}
  body{font-size:16px;padding-bottom:64px}
  .header-in{height:68px}
  .logo img{height:32px}
  .sign{min-height:58px;font-size:17px}
  .sign b{width:58px}
  .express{padding:24px 20px}
  .express .sign{display:flex}
  .express .sign span{flex:1}
  .ticks{grid-template-columns:1fr}
  .express .sign span{padding:0 18px}
  .carousel.is-live .review{flex-basis:100%}
  .car-controls{gap:12px}
  .f-pair{grid-template-columns:1fr}
  .footer-in{grid-template-columns:1fr}
  .callbar{position:fixed;z-index:60;left:0;right:0;bottom:0;display:grid;grid-template-columns:1fr 1fr;padding-bottom:env(safe-area-inset-bottom);background:var(--white);box-shadow:0 -8px 24px -12px rgb(6 22 58 / .4)}
  .callbar a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:60px;font-weight:800;font-size:15px}
  .callbar svg{width:18px;height:18px;color:var(--accent)}
  .callbar-tel{color:var(--ink)}
  .callbar-quote{background:var(--accent);color:var(--white)}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}
[hidden]{display:none!important}
