
@import url('https://fonts.googleapis.com/css2?family=Geist:wght@300;400;500;600;700;800;900&family=Lexend:wght@300;400;500;600&display=swap');
:root{--red:#E51E23;--gold:#F9BB25;--dark-red:#AD302F;--ease:cubic-bezier(0.22,1,0.36,1);--bg:#1e1f24;--bg2:#252629;--surface:#2c2d33;--surface2:#33343a;--border:rgba(255,255,255,.09);--text:#ede9e3;--text2:rgba(237,233,227,.62);--text3:rgba(237,233,227,.32);--hbg:rgba(28,29,34,.94)}
[data-theme=light]{--bg:#f4f1ec;--bg2:#ebe8e2;--surface:#fff;--surface2:#f0ede7;--border:rgba(0,0,0,.08);--text:#181818;--text2:rgba(24,24,24,.58);--text3:rgba(24,24,24,.28);--hbg:rgba(244,241,236,.94)}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Geist',system-ui,sans-serif;font-size:18px;line-height:1.65;background:var(--bg);color:var(--text);overflow-x:hidden;transition:background .35s var(--ease),color .35s var(--ease)}
@media(hover:hover){body{cursor:none}button{cursor:none}}
body.dyslexia{font-family:'Lexend',sans-serif!important}
a{color:var(--gold);text-decoration:none;transition:color .2s}a:hover{color:var(--red)}
img{max-width:100%;height:auto;display:block}
button{font-family:inherit;border:none;background:none}
input,select,textarea{font-family:inherit}
::-webkit-scrollbar{width:3px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--gold);border-radius:2px}
@keyframes kenBurns{0%{transform:scale(1)}100%{transform:scale(1.1) translate(-1%,-.5%)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(32px)}to{opacity:1;transform:translateY(0)}}
@keyframes grainShift{0%,100%{transform:translate(0,0)}20%{transform:translate(-2%,3%)}40%{transform:translate(3%,-2%)}60%{transform:translate(-1%,2%)}80%{transform:translate(2%,-1%)}}
@keyframes loaderSpin{to{transform:rotate(360deg)}}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.5}}
@keyframes emergPulse{0%,100%{box-shadow:0 0 0 0 rgba(229,30,35,.4)}70%{box-shadow:0 0 0 12px rgba(229,30,35,0)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .75s var(--ease),transform .75s var(--ease)}.reveal.vis{opacity:1;transform:none}
.row{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}.row.center{align-items:center}
@media(max-width:768px){.row{grid-template-columns:1fr;gap:40px}}
.row.flip>*:first-child{order:2}.row.flip>*:last-child{order:1}
@media(max-width:768px){.row.flip>*{order:unset!important}}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
@media(max-width:900px){.g3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.g3{grid-template-columns:1fr}}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}
@media(max-width:700px){.stats-grid{grid-template-columns:repeat(2,1fr)}}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px}
@media(max-width:900px){.footer-grid{grid-template-columns:1fr 1fr;gap:32px}}
@media(max-width:480px){.footer-grid{grid-template-columns:1fr;gap:24px}}
.site-header{position:fixed;top:0;left:0;right:0;z-index:9000;height:72px;display:flex;align-items:center;padding:0 32px;background:var(--hbg);backdrop-filter:blur(24px) saturate(1.4);-webkit-backdrop-filter:blur(24px) saturate(1.4);border-bottom:1px solid var(--border);gap:24px}
.site-header::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--gold) 30%,var(--gold) 70%,transparent);opacity:.35}
.h-logo{display:flex;align-items:center;flex-shrink:0}.h-logo img{height:50px;width:auto;filter:drop-shadow(0 2px 8px rgba(229,30,35,.3))}
.h-nav{display:flex;align-items:center;gap:24px;flex:1}
.nav-lk{font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text2);text-decoration:none;position:relative;padding-bottom:2px;transition:color .2s;white-space:nowrap}
.nav-lk::after{content:'';position:absolute;bottom:0;left:0;width:100%;height:1.5px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.nav-lk:hover,.nav-lk.on{color:var(--gold)}.nav-lk:hover::after,.nav-lk.on::after{transform:scaleX(1)}
.h-utils{display:flex;align-items:center;gap:6px;flex-shrink:0}
.u-btn{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:6px;color:var(--text2);transition:color .2s,background .2s;border:none;background:transparent}
.u-btn:hover{color:var(--gold);background:rgba(249,187,37,.08)}
.phone-wrap{position:relative}
.phone-pill{display:flex;align-items:center;gap:7px;background:rgba(229,30,35,.1);border:1px solid rgba(229,30,35,.22);border-radius:20px;padding:6px 14px 6px 10px;color:var(--red);font-weight:700;font-size:13px;transition:background .2s,border-color .2s,transform .2s;text-decoration:none;white-space:nowrap}
.phone-pill:hover{background:rgba(229,30,35,.18);border-color:var(--red);transform:translateY(-1px)}
.contact-drop{position:absolute;top:calc(100% + 8px);right:0;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 40px rgba(0,0,0,.4);min-width:210px;overflow:hidden;opacity:0;transform:translateY(-6px);pointer-events:none;transition:opacity .2s var(--ease),transform .2s var(--ease);z-index:100}
.contact-drop.open{opacity:1;transform:none;pointer-events:all}
.contact-drop a{display:flex;align-items:center;gap:12px;padding:13px 16px;color:var(--text);font-size:14px;font-weight:500;transition:background .15s,color .15s;border-bottom:1px solid var(--border)}
.contact-drop a:last-child{border:none}.contact-drop a:hover{background:var(--surface2);color:var(--gold)}
.h-cta{display:inline-flex;align-items:center;gap:6px;background:var(--red);color:#fff!important;font-weight:700;font-size:12px;letter-spacing:.07em;text-transform:uppercase;padding:10px 18px;border-radius:4px;transition:background .2s,transform .2s,box-shadow .2s;white-space:nowrap;text-decoration:none}
.h-cta:hover{background:var(--dark-red);transform:translateY(-1px);box-shadow:0 4px 20px rgba(229,30,35,.4);color:#fff!important}
.search-panel{position:fixed;top:0;left:0;right:0;background:var(--bg2);z-index:8999;padding:88px 32px 24px;border-bottom:1px solid var(--border);transform:translateY(-100%);transition:transform .35s var(--ease);box-shadow:0 8px 40px rgba(0,0,0,.4)}
.search-panel.open{transform:translateY(0)}
.search-inp{width:100%;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:14px 20px;font-size:18px;color:var(--text);outline:none;transition:border-color .2s}
.search-inp:focus{border-color:var(--gold)}
.settings-panel{position:fixed;top:0;right:0;bottom:0;width:min(340px,100vw);background:var(--surface);z-index:8999;padding:88px 28px 40px;border-left:1px solid var(--border);transform:translateX(100%);transition:transform .4s var(--ease);overflow-y:auto;box-shadow:-8px 0 40px rgba(0,0,0,.3)}
.settings-panel.open{transform:translateX(0)}
.s-row{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--border)}
.toggle-btn{width:46px;height:26px;border-radius:13px;background:var(--surface2);border:1px solid var(--border);position:relative;transition:background .2s;flex-shrink:0}
.toggle-btn.on{background:var(--gold)}.toggle-btn::after{content:'';position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .2s var(--ease);box-shadow:0 1px 4px rgba(0,0,0,.3)}
.toggle-btn.on::after{transform:translateX(20px)}
.mobile-menu{position:fixed;inset:0;background:var(--bg);z-index:8998;display:flex;flex-direction:column;padding:90px 32px 40px;transform:translateX(100%);transition:transform .4s var(--ease);overflow-y:auto}
.mobile-menu.open{transform:translateX(0)}
.mm-link{display:block;font-size:26px;font-weight:700;color:var(--text);text-decoration:none;padding:14px 0;border-bottom:1px solid var(--border);transition:color .2s}
.mm-link:hover,.mm-link.on{color:var(--gold)}
.hero{position:relative;overflow:hidden;min-height:100vh;display:flex;align-items:center;padding-bottom:200px}
.hero.short{min-height:68vh}
.hero-bg{position:absolute;inset:0;z-index:0}
.kb-img{width:100%;height:100%;object-fit:cover;animation:kenBurns 20s ease-in-out infinite alternate;will-change:transform}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.38) 60%,transparent 100%);z-index:1}
.hero-bleed{position:absolute;bottom:0;left:0;right:0;height:260px;background:linear-gradient(to bottom,transparent,var(--bg));z-index:2}
.hero-content{position:relative;z-index:3;max-width:1200px;margin:0 auto;padding:140px 48px 60px;width:100%}
@media(max-width:600px){.hero-content{padding:110px 24px 50px}}
.h1{font-size:clamp(36px,6vw,76px);font-weight:900;line-height:1.06;letter-spacing:-.02em;margin-bottom:20px}
.h1 span{background:linear-gradient(110deg,#F9BB25 0%,#f0870a 60%,#E51E23 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 2px 12px rgba(249,187,37,.35))}
.hero-sub{font-size:clamp(16px,2vw,20px);color:var(--text2);max-width:560px;margin-bottom:36px;line-height:1.65}
.hrow{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.btn-r{display:inline-flex;align-items:center;gap:8px;background:var(--red);color:#fff;font-weight:700;font-size:15px;letter-spacing:.03em;padding:15px 30px;border-radius:4px;transition:background .2s,transform .2s,box-shadow .2s;border:none;text-decoration:none}
.btn-r:hover{background:var(--dark-red);transform:translateY(-2px);box-shadow:0 8px 28px rgba(229,30,35,.38);color:#fff}
.btn-o{display:inline-flex;align-items:center;gap:8px;background:transparent;color:var(--gold);font-weight:600;font-size:15px;padding:14px 28px;border:1.5px solid var(--gold);border-radius:4px;transition:background .2s,color .2s,transform .2s;text-decoration:none}
.btn-o:hover{background:var(--gold);color:#000;transform:translateY(-2px)}
.btn-w{display:inline-flex;align-items:center;gap:8px;background:#fff;color:var(--red);font-weight:700;font-size:15px;padding:15px 30px;border-radius:4px;transition:background .2s,transform .2s,box-shadow .2s;text-decoration:none}
.btn-w:hover{background:#f0e8e8;transform:translateY(-2px);color:var(--red)}
.section{max-width:1200px;margin:0 auto;padding:80px 48px}
@media(max-width:600px){.section{padding:52px 20px}}
.sec-tag{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:12px}
.sec-h2{font-size:clamp(28px,4vw,50px);font-weight:800;line-height:1.1;letter-spacing:-.02em;margin-bottom:16px}
.sec-lead{font-size:18px;color:var(--text2);max-width:600px;line-height:1.7;margin-bottom:48px}
.card{background:var(--surface);border:1px solid var(--border);border-radius:8px;overflow:hidden;transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s var(--ease);box-shadow:0 2px 16px rgba(0,0,0,.18)}
.card:hover{transform:translateY(-6px);box-shadow:0 20px 60px rgba(0,0,0,.38);border-color:var(--dark-red)}
.card:hover .ci{transform:scale(1.06)}.card:hover .ca{transform:translateX(4px)}
.ci{width:100%;height:220px;object-fit:cover;transition:transform .7s var(--ease);display:block}.ci-wrap{overflow:hidden}
.ca{display:inline-block;transition:transform .3s var(--ease)}.cp{padding:22px}
.stat-num{font-size:clamp(44px,7vw,80px);font-weight:900;line-height:1;color:var(--gold);font-variant-numeric:tabular-nums}
.stat-label{font-size:13px;color:var(--text3);letter-spacing:.08em;text-transform:uppercase;margin-top:6px}
.tslider{overflow:hidden}.ttrack{display:flex;transition:transform .6s var(--ease)}.tcard{flex:0 0 100%}
.tinner{background:var(--surface2);border:1px solid var(--border);border-radius:12px;padding:36px 40px}
@media(max-width:500px){.tinner{padding:22px 18px}}
.tstar{color:var(--gold);font-size:18px;letter-spacing:2px;margin-bottom:12px}
.tdot{width:8px;height:8px;border-radius:50%;background:var(--border);transition:background .3s,transform .3s;border:none}
.tdot.on{background:var(--gold);transform:scale(1.35)}
.step-num{width:48px;height:48px;border-radius:50%;background:rgba(229,30,35,.12);border:1.5px solid rgba(229,30,35,.3);display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:800;color:var(--red);flex-shrink:0}
.faq-item{border-bottom:1px solid var(--border);padding:20px 0}.faq-q{font-size:17px;font-weight:600;display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer}
.faq-a{font-size:16px;color:var(--text2);line-height:1.75;margin-top:12px;display:none}
.faq-item.open .faq-a{display:block}.faq-item.open .faq-chevron{transform:rotate(180deg)}
.faq-chevron{transition:transform .3s var(--ease);flex-shrink:0;color:var(--text3)}
.trust-chip{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:14px 18px;font-size:13px;font-weight:500}
.trust-chip svg{color:var(--gold);flex-shrink:0}
.area-chip{display:inline-block;background:var(--surface2);border:1px solid var(--border);border-radius:20px;padding:6px 16px;font-size:13px;color:var(--text2);margin:4px}
.social-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:6px;border:1px solid var(--border);color:var(--text2);transition:color .2s,background .2s,border-color .2s,box-shadow .2s;text-decoration:none}
.social-icon:hover{color:var(--gold);background:rgba(249,187,37,.1);border-color:rgba(249,187,37,.3);box-shadow:0 0 14px rgba(249,187,37,.15)}
.form-label{font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--text3);display:block;margin-bottom:6px}
.form-inp{width:100%;background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:14px 18px;font-size:16px;color:var(--text);outline:none;transition:border-color .2s,box-shadow .2s;resize:none}
.form-inp:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(249,187,37,.12)}
.map-embed{width:100%;height:340px;border:1px solid var(--border);border-radius:8px}
.emerg-dot{width:10px;height:10px;border-radius:50%;background:var(--red);animation:emergPulse 1.8s infinite}
.site-footer{background:#060606;border-top:1px solid var(--border);padding:64px 48px 32px}
@media(max-width:600px){.site-footer{padding:40px 20px 100px}}
.f-lk{color:var(--text2);font-size:14px;text-decoration:none;display:inline-block;position:relative;padding-bottom:1px;transition:color .2s}
.f-lk::after{content:'';position:absolute;bottom:0;left:0;width:100%;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.f-lk:hover{color:var(--gold)}.f-lk:hover::after{transform:scaleX(1)}
@media(max-width:900px){.h-nav{display:none}}
@media(min-width:901px){.mob-only{display:none!important}}
.desk-cursor{display:none}
@media(hover:hover){.desk-cursor{display:block}}
.mob-cta-bar{display:none}
@media(max-width:900px){
  .mob-cta-bar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:8990;background:var(--hbg);backdrop-filter:blur(20px);border-top:1px solid var(--border);padding:12px 16px;gap:10px}
  .mob-cta-bar a{flex:1;justify-content:center;font-size:14px;padding:13px 12px;text-align:center;display:inline-flex;align-items:center}
  body{padding-bottom:72px}
}
@media(max-width:600px){
  .h1{font-size:clamp(30px,9vw,48px)}
  .hero-sub{font-size:16px}
  .hero{padding-bottom:120px}
  .hero.short{min-height:55vh}
  .site-header{padding:0 14px;height:64px}
  .h-logo img{height:42px}
  .sec-h2{margin-bottom:12px}
  .g3{gap:16px}
}
.carousel-wrap{position:relative;border-radius:8px;overflow:hidden;border:1px solid var(--border)}
.carousel-track{display:flex;transition:transform .5s var(--ease)}
.carousel-track img{width:100%;flex-shrink:0;object-fit:cover;aspect-ratio:4/3}
.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:50%;background:rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.15);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s;z-index:2}
.carousel-btn.prev{left:10px}.carousel-btn.next{right:10px}
.carousel-dots{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);display:flex;gap:6px}
.carousel-dot{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.35);transition:background .3s;border:none;cursor:pointer}
.carousel-dot.on{background:var(--gold)}
