:root{--ease:cubic-bezier(0.22,1,0.36,1);--bg:#ffffff;--bg2:oklch(97% 0.012 250);--bg3:oklch(93% 0.018 250);--fg:#01153a;--fg-dim:oklch(38% 0.045 250);--accent:#038dea;--accent-dim:oklch(55% 0.12 235);}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;background:var(--bg);color:var(--fg);scroll-behavior:smooth;}
body{font-family:'Geist',-apple-system,BlinkMacSystemFont,'Helvetica Neue',Arial,sans-serif;font-size:18px;line-height:1.6;overflow-x:hidden;position:relative;min-height:100vh;}
body.dyslexia-font{font-family:'Lexend',sans-serif;}
::selection{background:var(--accent);color:#ffffff;}
a{color:var(--accent);}
a:hover{color:var(--accent-dim);}
img{max-width:100%;}
input,textarea,select,button{font-family:inherit;}
input::placeholder,textarea::placeholder{color:oklch(55% 0.02 250);}

@keyframes kenburns{0%{transform:scale(1) translate(0,0);}100%{transform:scale(1.12) translate(-1%,-1%);}}
@keyframes grainShift{0%,100%{transform:translate(0,0);}50%{transform:translate(-1%,1%);}}
@keyframes plWipe{0%{width:0%;}45%{width:100%;}55%{width:100%;}100%{width:0%;}}
@keyframes plNozzle{0%{left:0%;}45%{left:calc(100% - 16px);}55%{left:calc(100% - 16px);}100%{left:0%;}}
@keyframes plDrop{0%,100%{transform:translateY(0);opacity:0.3;}50%{transform:translateY(6px);opacity:0.9;}}

#page-loader{position:fixed;inset:0;z-index:99999;background:#ffffff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;transition:opacity .4s ease;}
#page-loader.done{opacity:0;pointer-events:none;}
#pl-clean{position:absolute;inset:0;width:0%;background:linear-gradient(90deg,var(--accent),oklch(88% 0.04 235));animation:plWipe 2.2s ease-in-out infinite;}
#pl-nozzle{position:absolute;top:-7px;left:0;width:16px;height:16px;border-radius:50%;background:#ffffff;border:2px solid var(--accent);box-shadow:0 0 10px rgba(3,141,234,0.5);animation:plNozzle 2.2s ease-in-out infinite;}
.pl-drop{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:plDrop 1s ease-in-out infinite;}
@media (prefers-reduced-motion:reduce){ #pl-clean,#pl-nozzle,.pl-drop{animation:none !important;} #pl-clean{width:100% !important;} }

#wm-grain{position:fixed;inset:0;z-index:2;pointer-events:none;opacity:0.04;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:120px 120px;animation:grainShift 8s steps(8) infinite;}
#wm-cursor{position:fixed;top:0;left:0;width:20px;height:20px;border-radius:50%;background:radial-gradient(circle at 35% 30%,oklch(85% 0.05 235),var(--accent) 70%);border:2px solid #ffffff;z-index:9999;pointer-events:none;transform:translate(-50%,-50%);box-shadow:0 0 14px rgba(3,141,234,0.5);opacity:0;transition:opacity .2s;}
#wm-trail-a{position:fixed;top:0;left:0;width:6px;height:6px;border-radius:50%;background:rgba(3,141,234,0.4);z-index:9998;pointer-events:none;transform:translate(-50%,-50%);opacity:0;}
#wm-trail-b{position:fixed;top:0;left:0;width:4px;height:4px;border-radius:50%;background:rgba(3,141,234,0.25);z-index:9998;pointer-events:none;transform:translate(-50%,-50%);opacity:0;}
#wm-touch-layer{position:fixed;inset:0;z-index:9997;pointer-events:none;}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){ body{cursor:none;} }
@media (hover:none),(pointer:coarse){ #wm-cursor,#wm-trail-a,#wm-trail-b{display:none !important;} }
@media (prefers-reduced-motion:reduce){ #wm-grain{animation:none !important;} #wm-cursor,#wm-trail-a,#wm-trail-b{display:none !important;} .hero-img{animation:none !important;} [data-reveal]{opacity:1 !important;transform:none !important;} }

header{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px clamp(16px,4vw,48px);background:#ffffff;border-bottom:1px solid oklch(88% 0.02 250);}
.logo-link{flex:none;line-height:0;}
.logo-link img{height:56px;width:auto;}
nav.main-nav{display:flex;align-items:center;gap:28px;flex:1;justify-content:flex-end;}
.nav-links{display:flex;gap:28px;align-items:center;font-size:16px;}
@media (max-width:768px){ .nav-links{display:none !important;} .mobile-toggle{display:flex !important;} }
@media (min-width:769px){ .mobile-toggle{display:none !important;} .mobile-drawer{display:none !important;} }
.nav-link{color:var(--fg-dim);text-decoration:none;position:relative;padding:6px 0;cursor:pointer;}
.nav-link:hover{color:var(--accent);}
.nav-link.active{color:var(--fg);}
.nav-underline{position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--accent);transition:width .3s var(--ease);}
.nav-link.active .nav-underline{width:100%;}
.nav-actions{display:flex;align-items:center;gap:6px;}
.phone-wrap{position:relative;}
.phone-pill{display:flex;align-items:center;gap:8px;background:oklch(93% 0.02 250);border-radius:999px;padding:8px 14px;text-decoration:none;color:var(--fg);font-size:14px;font-weight:600;}
.phone-pill:hover{background:oklch(88% 0.025 250);}
.phone-dropdown{position:absolute;right:0;top:calc(100% + 10px);background:var(--bg3);border:1px solid oklch(85% 0.02 250);border-radius:12px;padding:8px;min-width:200px;box-shadow:0 20px 40px rgba(1,21,58,0.18);display:none;flex-direction:column;gap:2px;}
.phone-wrap:hover .phone-dropdown,.phone-wrap.open .phone-dropdown{display:flex;}
.phone-dropdown a{display:flex;gap:10px;align-items:center;padding:10px 12px;border-radius:8px;color:var(--fg);text-decoration:none;font-size:14px;}
.phone-dropdown a:hover{background:oklch(89% 0.02 250);}
.icon-btn{background:transparent;border:none;color:var(--fg);width:38px;height:38px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;}
.icon-btn:hover{background:oklch(90% 0.03 145);}
.mobile-toggle{display:none;background:transparent;border:none;color:var(--fg);width:38px;height:38px;align-items:center;justify-content:center;cursor:pointer;}

.btn-cta{background:linear-gradient(120deg,var(--accent) 0%,var(--accent) 45%,oklch(78% 0.1 235) 50%,var(--accent) 55%,var(--accent) 100%);background-size:250% 100%;background-position:0% 0%;color:#fff;border:none;padding:16px 34px;border-radius:999px;font-weight:700;font-size:17px;cursor:pointer;transition:transform .3s var(--ease),background-position .6s var(--ease);text-decoration:none;display:inline-block;}
.btn-cta:hover{background-position:100% 0%;transform:translateY(-3px) scale(1.03);color:#fff;}
.btn-cta-header{padding:10px 20px;font-size:14px;white-space:nowrap;}
.btn-cta-header:hover{transform:translateY(-2px);}
.btn-cta-sm{padding:14px 26px;font-size:15px;}
.btn-cta-form{padding:15px 28px;font-size:16px;width:100%;text-align:center;border:none;}

.mobile-drawer{display:none;position:fixed;inset:0;z-index:99;background:oklch(12% 0.03 250 / 0.98);flex-direction:column;align-items:center;padding:100px 24px 40px;}
.mobile-drawer.open{display:flex;}
.mobile-drawer-close{position:absolute;top:20px;right:20px;background:transparent;border:none;color:#fff;font-size:28px;cursor:pointer;}
.mobile-links{width:100%;max-width:440px;margin:0 auto;display:flex;flex-direction:column;gap:8px;align-items:center;}
.mobile-link{color:#fff;font-size:22px;font-weight:600;text-decoration:none;padding:14px 0;width:100%;text-align:center;border-bottom:1px solid oklch(35% 0.05 250 / 0.6);cursor:pointer;}

.search-overlay{display:none;position:fixed;inset:0;z-index:110;background:rgba(255,255,255,0.98);flex-direction:column;align-items:center;padding:80px 20px;}
.search-overlay.open{display:flex;}
.search-box{width:100%;max-width:640px;}
.search-row{display:flex;align-items:center;gap:12px;border-bottom:2px solid var(--accent);padding-bottom:12px;}
.search-row input{flex:1;background:transparent;border:none;outline:none;color:var(--fg);font-size:22px;}
.mic-btn{background:oklch(70% 0.02 250);border:none;color:#fff;width:40px;height:40px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.mic-btn.listening{background:var(--accent);}
.search-close{background:transparent;border:none;color:var(--fg);font-size:26px;cursor:pointer;}
.search-results{margin-top:24px;display:flex;flex-direction:column;gap:4px;}
.search-results a{padding:14px 12px;border-radius:10px;color:var(--fg);text-decoration:none;font-size:17px;cursor:pointer;}
.search-results a:hover{background:oklch(93% 0.02 250);}

.settings-backdrop{display:none;position:fixed;inset:0;z-index:120;background:rgba(1,21,58,0.35);}
.settings-backdrop.open{display:block;}
.settings-panel{position:fixed;top:0;right:0;height:100%;width:min(380px,92vw);z-index:121;background:var(--bg2);border-left:1px solid oklch(85% 0.02 250);padding:28px 24px;transform:translateX(100%);transition:transform .4s var(--ease);overflow-y:auto;color:var(--fg);}
.settings-panel.open{transform:translateX(0);}
.settings-row{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid oklch(88% 0.02 250);}
.settings-block{padding:14px 0;border-bottom:1px solid oklch(88% 0.02 250);}
.switch{width:44px;height:24px;border-radius:999px;border:none;background:oklch(85% 0.02 250);position:relative;cursor:pointer;}
.switch.on{background:var(--accent);}
.switch-knob{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;transition:left .25s var(--ease);}
.switch.on .switch-knob{left:22px;}
.range-row{margin-top:14px;display:flex;flex-direction:column;gap:10px;}
.range-row label{font-size:13px;color:var(--fg-dim);}
.range-row input{width:100%;accent-color:var(--accent);}
.lang-select{width:100%;background:var(--bg3);color:var(--fg);border:1px solid oklch(85% 0.02 250);border-radius:8px;padding:10px;font-size:15px;}

.hero-section{position:relative;}
.hero-img{position:absolute;top:0;left:0;width:100%;height:calc(100% + 220px);object-fit:cover;animation:kenburns 22s var(--ease) infinite alternate;}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(1,10,30,0.55) 0%,rgba(1,10,30,0.85) 100%);}
.hero-content{position:relative;z-index:2;max-width:1200px;margin:0 auto;padding:130px clamp(20px,5vw,48px) 240px;}

[data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform .8s var(--ease);}
[data-reveal].is-visible{opacity:1;transform:none;}

.service-card{background:var(--bg3);border-radius:18px;overflow:hidden;border:1px solid transparent;cursor:pointer;transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s var(--ease);text-decoration:none;display:block;color:inherit;}
.service-card:hover{transform:translateY(-6px);box-shadow:0 24px 48px rgba(1,21,58,0.18);border-color:var(--accent-dim);}
.service-card-img-wrap{overflow:hidden;height:200px;}
.service-card-img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease);display:block;}
.service-card:hover .service-card-img{transform:scale(1.06);}
.service-card-body{padding:24px;}
.service-learn-more{color:var(--accent);font-weight:600;font-size:14px;display:inline-flex;align-items:center;gap:6px;}

.testimonial-card{background:var(--bg2);border-radius:18px;padding:32px;display:flex;flex-direction:column;transition:transform .35s var(--ease),box-shadow .35s var(--ease);}
.testimonial-card:hover{transform:translateY(-6px);box-shadow:0 20px 40px rgba(1,21,58,0.12);}

.info-card{background:var(--bg);border-radius:16px;padding:26px;display:flex;align-items:center;gap:16px;box-shadow:0 10px 30px rgba(1,21,58,0.06);transition:transform .3s var(--ease),box-shadow .3s var(--ease);}
.info-card:hover{transform:translateY(-5px);box-shadow:0 18px 36px rgba(1,21,58,0.12);}
.info-icon{width:48px;height:48px;border-radius:50%;background:oklch(93% 0.02 250);color:var(--accent);display:flex;align-items:center;justify-content:center;flex:none;}

.form-input{background:var(--bg3);border:1px solid oklch(85% 0.02 250);border-radius:10px;padding:14px 16px;color:var(--fg);font-size:16px;transition:border-color .25s var(--ease);width:100%;}
.form-input:hover,.form-input:focus{border-color:var(--accent-dim);outline:none;}
textarea.form-input{resize:vertical;}
.trust-badge{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,0.14);border:1px solid rgba(255,255,255,0.35);color:#fff;font-size:13px;font-weight:600;padding:6px 14px;border-radius:999px;}
.policy-card{background:var(--bg);border-radius:16px;padding:24px;box-shadow:0 10px 30px rgba(1,21,58,0.06);transition:transform .3s var(--ease),box-shadow .3s var(--ease);}
.policy-card:hover{transform:translateY(-5px);box-shadow:0 18px 36px rgba(1,21,58,0.12);}
.form-check{display:flex;align-items:flex-start;gap:10px;font-size:14px;color:var(--fg-dim);}
.form-check input{margin-top:3px;flex:none;width:16px;height:16px;accent-color:var(--accent);}

footer{background:var(--bg);border-top:1px solid oklch(88% 0.02 250);padding:64px clamp(20px,5vw,48px) 32px;}
.footer-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:48px;}
.footer-links{display:flex;flex-direction:column;gap:10px;}
.footer-link{color:var(--fg-dim);text-decoration:none;font-size:15px;cursor:pointer;position:relative;width:fit-content;}
.footer-link:hover{color:var(--accent);}
.footer-contact{display:flex;flex-direction:column;gap:10px;font-size:15px;color:var(--fg-dim);}
.footer-contact a{color:var(--fg-dim);text-decoration:none;}
.footer-contact a:hover{color:var(--accent);}
.footer-bottom{max-width:1200px;margin:40px auto 0;border-top:1px solid oklch(88% 0.02 250);padding-top:20px;color:var(--fg-dim);font-size:13px;}

.cta-strip-wrap{max-width:1200px;margin:0 auto;padding:0 clamp(20px,5vw,48px) 70px;}
.cta-strip{position:relative;overflow:hidden;border-radius:28px;padding:64px clamp(24px,5vw,64px);text-align:center;background:linear-gradient(120deg,rgba(1,10,30,0.65),rgba(1,10,30,0.75)),url('assets/cta-bg.jpg');background-size:cover;background-position:center;color:#ffffff;}
.cta-strip h2{font-size:clamp(26px,3.2vw,38px);margin:0 0 14px;color:#ffffff;}
.cta-strip p{color:rgba(255,255,255,0.82);font-size:17px;margin:0 0 28px;}

@media (max-width:900px){
  .grid-2{grid-template-columns:1fr !important;}
  .service-detail{grid-template-columns:1fr !important;}
  .service-detail > div{order:initial !important;}
  .contact-grid{grid-template-columns:1fr !important;}
  .footer-inner{grid-template-columns:1fr !important;}
  .policy-grid{grid-template-columns:1fr !important;}
}
