/* =========================================================
   KESTUL — CORE STYLESHEET
   Tokens: Primary #0057D9 | Navy #0D1B2A | White #FFFFFF
            Light BG #F5F8FC | Fabrication Gold #FFC107
   Type: Poppins (headings/buttons) + Inter (body)
   ========================================================= */

:root{
  --blue: #0057D9;
  --blue-light: #2B7FFF;
  --navy: #0D1B2A;
  --navy-soft: #142236;
  --white: #FFFFFF;
  --bg-light: #F5F8FC;
  --gold: #FFC107;
  --violet: #6C3CE9;
  --text-muted: #5B6B7F;
  --border-soft: rgba(13,27,42,0.08);
  --shadow-soft: 0 20px 50px rgba(13,27,42,0.08);
  --shadow-hover: 0 28px 60px rgba(0,87,217,0.18);
  --radius-lg: 22px;
  --radius-md: 14px;
  --ease: cubic-bezier(.16,.84,.44,1);
}

*{box-sizing:border-box;}

html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important;}
}

body{
  font-family:'Inter', sans-serif;
  color:var(--navy);
  background:var(--white);
  overflow-x:hidden;
  transition:background .4s var(--ease), color .4s var(--ease);
}

h1,h2,h3,h4,h5,h6{font-family:'Poppins', sans-serif; font-weight:800; margin:0;}
p{margin:0;}
a{text-decoration:none; color:inherit;}
ul{list-style:none; margin:0; padding:0;}
img{max-width:100%; display:block;}
button{font-family:inherit;}

:focus-visible{outline:3px solid var(--blue); outline-offset:3px; border-radius:4px;}

.container-xl{max-width:1280px; margin:0 auto; padding-left:24px; padding-right:24px;}

.section-eyebrow{
  display:inline-block; font-family:'Poppins',sans-serif; font-weight:600; font-size:.78rem;
  letter-spacing:.14em; text-transform:uppercase; color:var(--blue); margin-bottom:10px;
}
.section-title{font-size:clamp(1.8rem, 3vw, 2.6rem); line-height:1.2; margin-bottom:0;}
.section-head{max-width:640px; margin:0 auto 48px;}
.businesses-section .section-head, .why-section .section-head, .process-section .section-head, .compare-section .section-head, .contact-section .section-head{
  margin-left:auto; margin-right:auto;
}

section{padding:100px 0;}

/* =============== BUTTONS =============== */
.btn-primary-kestul{
  background:var(--blue); color:#fff; font-family:'Poppins',sans-serif; font-weight:500;
  padding:14px 30px; border-radius:100px; border:2px solid var(--blue); display:inline-flex; align-items:center; gap:10px;
  transition:all .35s var(--ease);
}
.btn-primary-kestul:hover{background:var(--navy); border-color:var(--navy); color:#fff; transform:translateY(-2px);}

.btn-outline-kestul{
  background:transparent; color:var(--navy); font-family:'Poppins',sans-serif; font-weight:500;
  padding:14px 30px; border-radius:100px; border:2px solid var(--border-soft); display:inline-flex; align-items:center; gap:10px;
  transition:all .35s var(--ease);
}
.btn-outline-kestul:hover{border-color:var(--blue); color:var(--blue); transform:translateY(-2px);}

.btn-light-kestul{
  background:#fff; color:var(--blue); font-family:'Poppins',sans-serif; font-weight:600;
  padding:14px 32px; border-radius:100px; display:inline-flex; align-items:center; gap:10px; border:2px solid #fff;
  transition:all .35s var(--ease);
}
.btn-light-kestul:hover{transform:translateY(-2px); box-shadow:0 15px 35px rgba(0,0,0,.2);}

.btn-outline-light-kestul{
  background:transparent; color:#fff; font-family:'Poppins',sans-serif; font-weight:500;
  padding:14px 30px; border-radius:100px; border:2px solid rgba(255,255,255,.5); display:inline-flex; align-items:center; gap:10px;
  transition:all .35s var(--ease);
}
.btn-outline-light-kestul:hover{border-color:#fff; background:rgba(255,255,255,.08); transform:translateY(-2px);}

/* =============== LOADING SCREEN =============== */
#loader{
  position:fixed; inset:0; z-index:9999; background:var(--navy);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:28px;
  transition:opacity .6s var(--ease), visibility .6s var(--ease);
}
#loader.hidden{opacity:0; visibility:hidden; pointer-events:none;}
.loader-logo{width:150px; opacity:0; animation:loaderFadeIn 1s var(--ease) .6s forwards;}
@keyframes loaderFadeIn{to{opacity:1;}}

.loader-pixels{position:relative; width:120px; height:60px;}
.loader-pixels span{
  position:absolute; width:9px; height:9px; background:var(--blue-light); border-radius:2px;
  animation:pixelConverge 1.4s var(--ease) infinite;
}
.loader-pixels span:nth-child(1){top:0; left:0; animation-delay:0s;}
.loader-pixels span:nth-child(2){top:5px; left:30px; animation-delay:.05s;}
.loader-pixels span:nth-child(3){top:0; left:60px; animation-delay:.1s;}
.loader-pixels span:nth-child(4){top:20px; left:90px; animation-delay:.15s;}
.loader-pixels span:nth-child(5){top:35px; left:15px; animation-delay:.2s;}
.loader-pixels span:nth-child(6){top:40px; left:45px; animation-delay:.25s;}
.loader-pixels span:nth-child(7){top:40px; left:75px; animation-delay:.3s;}
.loader-pixels span:nth-child(8){top:10px; left:105px; animation-delay:.35s;}
.loader-pixels span:nth-child(9){top:50px; left:105px; animation-delay:.4s;}
@keyframes pixelConverge{
  0%{transform:translate(0,0) scale(1); opacity:.4;}
  50%{transform:translate(calc(50% - 50px), 4px) scale(1.3); opacity:1;}
  100%{transform:translate(0,0) scale(1); opacity:.4;}
}
.loader-bar{width:180px; height:3px; background:rgba(255,255,255,.15); border-radius:10px; overflow:hidden;}
.loader-bar-fill{width:0%; height:100%; background:linear-gradient(90deg, var(--blue), var(--blue-light)); animation:loaderBarFill 1.8s var(--ease) forwards;}
@keyframes loaderBarFill{to{width:100%;}}

/* =============== SCROLL PROGRESS RING =============== */
#scroll-ring{
  position:fixed; bottom:24px; left:24px; z-index:1000; opacity:0; pointer-events:none;
  transition:opacity .3s var(--ease);
}
#scroll-ring.visible{opacity:1;}
.ring-track{fill:none; stroke:var(--border-soft); stroke-width:3;}
.ring-fill{
  fill:none; stroke:var(--blue); stroke-width:3; stroke-linecap:round;
  stroke-dasharray:138; stroke-dashoffset:138; transform:rotate(-90deg); transform-origin:center;
  transition:stroke-dashoffset .1s linear;
}

/* =============== TOP BAR =============== */
.top-bar{background:var(--navy); color:rgba(255,255,255,.85); font-size:.82rem; padding:9px 0;}
.top-bar-left a, .top-bar-left span{margin-right:22px; color:inherit; opacity:.9;}
.top-bar-left a:hover{color:var(--blue-light); opacity:1;}
.top-bar-left i{margin-right:6px; color:var(--blue-light);}
.top-bar-right a{
  display:inline-flex; align-items:center; justify-content:center; width:26px; height:26px;
  border-radius:50%; background:rgba(255,255,255,.08); margin-left:8px; font-size:.75rem;
  transition:all .3s var(--ease);
}
.top-bar-right a:hover{background:var(--blue); transform:translateY(-2px);}

/* =============== HEADER =============== */
.site-header{
  position:sticky; top:0; z-index:900; background:transparent; transition:all .4s var(--ease);
  padding:14px 0;
}
.site-header.scrolled{background:rgba(13,27,42,.92); backdrop-filter:blur(14px); box-shadow:0 8px 30px rgba(0,0,0,.15); padding:8px 0;}
.site-header .navbar{padding:0;}
#navLogo{height:44px; transition:height .3s var(--ease); filter:none;}
.site-header.scrolled #navLogo{height:36px;}

.navbar-nav{gap:6px;}
.nav-link{
  font-family:'Poppins',sans-serif; font-weight:500; font-size:.95rem; color:var(--navy) !important;
  padding:10px 18px !important; border-radius:100px; transition:all .3s var(--ease);
}
.site-header.scrolled .nav-link{color:rgba(255,255,255,.85) !important;}
.nav-link:hover, .nav-link.active{background:rgba(0,87,217,.08); color:var(--blue) !important;}
.site-header.scrolled .nav-link:hover, .site-header.scrolled .nav-link.active{background:rgba(255,255,255,.1); color:#fff !important;}
.dropdown-menu{border:none; box-shadow:var(--shadow-soft); border-radius:14px; padding:10px;}
.dropdown-item{border-radius:8px; padding:10px 14px; font-family:'Poppins',sans-serif; font-size:.9rem;}
.dropdown-item:hover{background:var(--bg-light); color:var(--blue);}

.navbar-toggler{border:none; padding:6px; display:flex; flex-direction:column; gap:5px; background:transparent;}
.navbar-toggler:focus{box-shadow:none;}
.toggler-line{width:24px; height:2px; background:var(--navy); transition:all .3s var(--ease);}
.site-header.scrolled .toggler-line{background:#fff;}

/* =============== HERO =============== */
.hero{
  position:relative; min-height:92vh; display:flex; align-items:center;
  background:linear-gradient(180deg, var(--bg-light) 0%, #fff 100%);
  padding-top:60px; overflow:hidden;
}
.hero-orbit{position:absolute; top:50%; right:-10%; transform:translateY(-50%); width:800px; height:800px; opacity:.5; pointer-events:none;}
.orbit-svg{width:100%; height:100%; animation:orbitSpin 40s linear infinite;}
@keyframes orbitSpin{to{transform:rotate(360deg);}}
.orbit-path{fill:none; stroke:url(#orbitGradientFallback); stroke:var(--blue-light); stroke-width:1.5; opacity:.35;}

.hero-dots{
  position:absolute; inset:0; pointer-events:none;
  background-image:radial-gradient(var(--blue) 1px, transparent 1px);
  background-size:34px 34px; opacity:.06;
}

.hero-inner{position:relative; z-index:2;}
.eyebrow{font-family:'Poppins',sans-serif; font-weight:600; letter-spacing:.22em; font-size:.85rem; color:var(--blue);}
.hero-title{
  font-size:clamp(3rem, 7vw, 5.2rem); line-height:1; margin:8px 0 14px;
  background:linear-gradient(100deg, var(--navy) 30%, var(--blue) 100%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.hero-tagline{font-family:'Poppins',sans-serif; font-weight:600; font-size:clamp(1.2rem,2vw,1.6rem); color:var(--navy); margin-bottom:18px;}
.hero-tagline span{color:var(--blue);}
.hero-desc{font-size:1.05rem; color:var(--text-muted); max-width:480px; margin-bottom:30px; line-height:1.7;}
.hero-btns{display:flex; gap:16px; flex-wrap:wrap;}

.hero-visual{position:relative; height:460px; display:flex; align-items:center; justify-content:center;}
.hero-graphic{
  width:280px; height:280px; border-radius:50%;
  background:radial-gradient(circle at 35% 30%, rgba(0,87,217,.12), rgba(13,27,42,.02));
  display:flex; align-items:center; justify-content:center;
  animation:floatSlow 6s ease-in-out infinite;
}
.hero-logo-mark{width:150px;}
@keyframes floatSlow{0%,100%{transform:translateY(0);} 50%{transform:translateY(-16px);}}

.hero-card{
  position:absolute; background:#fff; border-radius:16px; box-shadow:var(--shadow-soft);
  padding:16px 20px; display:flex; align-items:center; gap:12px; font-family:'Poppins',sans-serif; font-weight:600; font-size:.9rem;
  animation:floatSlow 5s ease-in-out infinite;
}
.hero-card i{width:38px; height:38px; border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:1rem;}
.hero-card-tech{top:6%; left:0; animation-delay:.3s;}
.hero-card-tech i{background:rgba(0,87,217,.12); color:var(--blue);}
.hero-card-print{top:44%; right:-4%; animation-delay:.55s;}
.hero-card-print i{background:rgba(108,60,233,.12); color:var(--violet);}
.hero-card-fab{bottom:8%; right:0; animation-delay:.8s;}
.hero-card-fab i{background:rgba(255,193,7,.18); color:#B8860B;}

.scroll-cue{
  position:absolute; bottom:28px; left:50%; transform:translateX(-50%);
  width:26px; height:42px; border:2px solid var(--border-soft); border-radius:20px; z-index:2;
}
.scroll-cue span{
  position:absolute; top:8px; left:50%; transform:translateX(-50%); width:4px; height:8px; border-radius:4px;
  background:var(--blue); animation:scrollCue 1.6s ease-in-out infinite;
}
@keyframes scrollCue{0%{opacity:1; top:8px;} 100%{opacity:0; top:22px;}}

/* =============== ABOUT =============== */
.about-section{background:#fff;}
.about-lead{font-size:1.15rem; line-height:1.75; margin-bottom:18px;}
.about-body{color:var(--text-muted); line-height:1.8; margin-bottom:26px;}
.about-badges{display:flex; flex-wrap:wrap; gap:12px;}
.about-badge{
  display:flex; align-items:center; gap:10px; padding:10px 18px; border-radius:100px;
  background:var(--bg-light); font-family:'Poppins',sans-serif; font-weight:500; font-size:.86rem;
}
.about-badge i{color:var(--blue);}

/* =============== ABOUT: EXPERTISE / MISSION-VISION / VALUES =============== */
.expertise-row{margin-top:56px;}
.expertise-card{
  display:flex; align-items:center; gap:20px; background:var(--bg-light); border-radius:var(--radius-md);
  padding:26px 28px; height:100%; border-left:4px solid var(--blue); transition:transform .35s var(--ease), box-shadow .35s var(--ease);
}
.expertise-card:hover{transform:translateY(-4px); box-shadow:var(--shadow-soft);}
.expertise-fab{border-left-color:var(--gold);}
.expertise-print{border-left-color:var(--violet);}
.expertise-card i{font-size:1.8rem; color:var(--blue); flex-shrink:0;}
.expertise-fab i{color:#B8860B;}
.expertise-print i{color:var(--violet);}
.expertise-card h5{font-size:1.05rem; margin-bottom:4px;}
.expertise-card p{color:var(--text-muted); font-size:.9rem;}
.expertise-card p strong{color:var(--navy); font-family:'Poppins',sans-serif; font-size:1.05rem;}

.mv-row{margin-top:56px; margin-bottom:64px;}
.mv-card{
  background:var(--navy); color:#fff; border-radius:var(--radius-lg); padding:36px 34px; height:100%;
  transition:transform .35s var(--ease);
}
.mv-card:hover{transform:translateY(-4px);}
.mv-card i{font-size:1.7rem; color:var(--blue-light); margin-bottom:16px;}
.mv-card h4{font-size:1.2rem; margin-bottom:12px; color:#fff;}
.mv-card p{color:rgba(255,255,255,.72); line-height:1.7; font-size:.95rem;}

.value-card{
  text-align:center; background:var(--bg-light); border-radius:var(--radius-md); padding:26px 18px; height:100%;
  transition:all .35s var(--ease);
}
.value-card:hover{background:#fff; box-shadow:var(--shadow-soft); transform:translateY(-6px);}
.value-card i{font-size:1.4rem; color:var(--blue); margin-bottom:12px;}
.value-card h6{font-family:'Poppins',sans-serif; font-weight:600; font-size:.92rem; margin-bottom:6px;}
.value-card p{color:var(--text-muted); font-size:.8rem; line-height:1.5;}

body.dark-mode .expertise-card{background:#1a2b40;}
body.dark-mode .expertise-card p{color:rgba(255,255,255,.6);}
body.dark-mode .value-card{background:#1a2b40;}
body.dark-mode .value-card p{color:rgba(255,255,255,.55);}

/* =============== BUSINESSES =============== */
.businesses-section{background:var(--bg-light);}
.business-card{
  position:relative; background:#fff; border-radius:var(--radius-lg); padding:44px 40px;
  box-shadow:var(--shadow-soft); height:100%; overflow:hidden; transition:transform .4s var(--ease), box-shadow .4s var(--ease);
  border-top:4px solid var(--blue);
}
.fab-card{border-top-color:var(--gold);}
.print-card{border-top-color:var(--violet);}
.business-card:hover{transform:translateY(-8px); box-shadow:var(--shadow-hover);}
.business-card-icon{
  width:64px; height:64px; border-radius:16px; display:flex; align-items:center; justify-content:center;
  background:rgba(0,87,217,.1); color:var(--blue); font-size:1.6rem; margin-bottom:22px;
}
.fab-card .business-card-icon{background:rgba(255,193,7,.16); color:#B8860B;}
.print-card .business-card-icon{background:rgba(108,60,233,.12); color:var(--violet);}
.business-card h3{font-size:1.5rem; margin-bottom:6px;}
.business-tagline{font-family:'Poppins',sans-serif; color:var(--blue); font-weight:600; margin-bottom:24px;}
.fab-card .business-tagline{color:#B8860B;}
.print-card .business-tagline{color:var(--violet);}
.business-list{display:grid; grid-template-columns:1fr 1fr; gap:12px 18px; margin-bottom:30px;}
.business-list li{display:flex; align-items:center; gap:10px; font-size:.92rem; color:var(--text-muted);}
.business-list i{color:var(--blue); font-size:.78rem;}
.fab-card .business-list i{color:#B8860B;}
.print-card .business-list i{color:var(--violet);}
.btn-card-tech, .btn-card-fab, .btn-card-print{
  display:inline-flex; align-items:center; gap:10px; font-family:'Poppins',sans-serif; font-weight:500; font-size:.92rem;
  padding:13px 26px; border-radius:100px; transition:all .35s var(--ease);
}
.btn-card-tech{background:var(--blue); color:#fff;}
.btn-card-tech:hover{background:var(--navy); transform:translateX(4px);}
.btn-card-fab{background:var(--gold); color:var(--navy);}
.btn-card-fab:hover{background:#e0a800; transform:translateX(4px);}
.btn-card-print{background:var(--violet); color:#fff;}
.btn-card-print:hover{background:#5429c4; transform:translateX(4px);}

/* =============== WHY KESTUL =============== */
.why-section{background:#fff;}
.why-card{
  background:var(--bg-light); border-radius:var(--radius-md); padding:34px 28px; height:100%;
  transition:all .35s var(--ease);
}
.why-card:hover{background:#fff; box-shadow:var(--shadow-soft); transform:translateY(-6px);}
.why-card i{font-size:1.7rem; color:var(--blue); margin-bottom:16px;}
.why-card h4{font-size:1.1rem; margin-bottom:8px;}
.why-card p{color:var(--text-muted); font-size:.92rem; line-height:1.6;}

/* =============== PROCESS ================ */
.process-section{background:var(--navy); color:#fff;}
.process-section .section-eyebrow{color:var(--blue-light);}
.process-section .section-title{color:#fff;}
.process-track{
  display:flex; justify-content:space-between; position:relative; padding-top:20px; gap:10px; flex-wrap:wrap;
}
.process-line{
  position:absolute; top:44px; left:5%; right:5%; height:2px;
  background:repeating-linear-gradient(90deg, rgba(255,255,255,.25) 0 8px, transparent 8px 16px);
}
.process-step{flex:1; min-width:120px; text-align:center; position:relative;}
.process-dot{
  width:72px; height:72px; border-radius:50%; background:var(--navy-soft); border:2px solid var(--blue);
  display:flex; align-items:center; justify-content:center; margin:0 auto 16px; font-size:1.3rem; color:var(--blue-light);
  position:relative; z-index:2; transition:all .35s var(--ease);
}
.process-step:hover .process-dot{background:var(--blue); color:#fff; transform:scale(1.08);}
.process-step h5{font-family:'Poppins',sans-serif; font-weight:600; font-size:.92rem; color:#fff;}

/* =============== STRENGTH / COUNTERS =============== */
.strength-section{background:linear-gradient(120deg, var(--blue) 0%, #0043ad 100%); color:#fff;}
.counter{font-family:'Poppins',sans-serif; font-weight:800; font-size:clamp(2.2rem,4vw,3.2rem); display:inline-block;}
.counter-plus{font-family:'Poppins',sans-serif; font-weight:800; font-size:clamp(2.2rem,4vw,3.2rem);}
.counter-static{font-family:'Poppins',sans-serif; font-weight:800; font-size:clamp(2.2rem,4vw,3.2rem);}
.strength-section p{font-size:.95rem; opacity:.9; margin-top:6px;}

/* =============== COMPARE =============== */
.compare-section{background:var(--bg-light);}
.compare-card{border-radius:var(--radius-lg); padding:38px; height:100%;}
.compare-other{background:#fff; border:2px dashed var(--border-soft);}
.compare-other h4{color:var(--text-muted); margin-bottom:20px;}
.compare-other li{display:flex; align-items:center; gap:12px; padding:10px 0; color:var(--text-muted); border-bottom:1px solid var(--border-soft);}
.compare-other i{color:#d64545;}
.compare-kestul{background:var(--navy); color:#fff; box-shadow:var(--shadow-hover); transform:scale(1.02);}
.compare-kestul h4{margin-bottom:20px; color:var(--blue-light);}
.compare-kestul li{display:flex; align-items:center; gap:12px; padding:10px 0; border-bottom:1px solid rgba(255,255,255,.1);}
.compare-kestul i{color:#38d996;}

/* =============== CTA =============== */
.cta-section{
  position:relative; background:linear-gradient(120deg, var(--navy), #06121f); color:#fff; text-align:center; overflow:hidden;
}
.cta-section h2{font-size:clamp(1.8rem,3.2vw,2.6rem); margin-bottom:16px;}
.cta-section p{max-width:600px; margin:0 auto 34px; opacity:.85; line-height:1.7;}
.cta-btns{display:flex; gap:16px; justify-content:center; flex-wrap:wrap;}

/* =============== CONTACT =============== */
.contact-section{background:#fff;}
.contact-info-card{background:var(--bg-light); border-radius:var(--radius-lg); padding:32px; margin-bottom:24px;}
.contact-info-item{display:flex; align-items:center; gap:16px; padding:14px 0; border-bottom:1px solid var(--border-soft);}
.contact-info-item:last-child{border-bottom:none;}
.contact-info-item i{width:46px; height:46px; border-radius:12px; background:rgba(0,87,217,.1); color:var(--blue); display:flex; align-items:center; justify-content:center;}
.contact-info-item div{display:flex; flex-direction:column;}
.contact-info-item span{font-size:.78rem; text-transform:uppercase; letter-spacing:.06em; color:var(--text-muted);}
.contact-info-item a{font-family:'Poppins',sans-serif; font-weight:600;}
.contact-map{border-radius:var(--radius-lg); overflow:hidden; height:260px; box-shadow:var(--shadow-soft);}
.contact-map iframe{width:100%; height:100%; border:0; filter:grayscale(15%);}

.contact-form{background:var(--bg-light); border-radius:var(--radius-lg); padding:36px;}
.contact-form label{display:block; font-family:'Poppins',sans-serif; font-size:.82rem; font-weight:600; margin-bottom:8px; color:var(--navy);}
.contact-form input, .contact-form select, .contact-form textarea{
  width:100%; border:1px solid var(--border-soft); border-radius:10px; padding:13px 16px; background:#fff;
  font-family:'Inter',sans-serif; font-size:.94rem; transition:border-color .3s var(--ease);
}
.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus{border-color:var(--blue); outline:none;}
.form-note{margin-top:14px; font-size:.85rem; color:var(--blue); text-align:center;}

/* =============== FOOTER =============== */
.site-footer{background:var(--navy); color:rgba(255,255,255,.75); padding-top:80px;}
.footer-logo{width:150px; margin-bottom:18px;}
.site-footer p{line-height:1.7; font-size:.92rem;}
.site-footer h6{font-family:'Poppins',sans-serif; color:#fff; font-weight:600; margin-bottom:20px; font-size:.95rem; text-transform:uppercase; letter-spacing:.05em;}
.site-footer ul li{margin-bottom:12px;}
.site-footer ul li a{font-size:.9rem; transition:color .3s var(--ease);}
.site-footer ul li a:hover{color:var(--blue-light);}
.footer-contact li{display:flex; align-items:center; gap:10px; font-size:.88rem;}
.footer-contact i{color:var(--blue-light);}
.footer-social{display:flex; gap:10px; margin-top:20px;}
.footer-social a{width:36px; height:36px; border-radius:50%; background:rgba(255,255,255,.06); display:flex; align-items:center; justify-content:center; transition:all .3s var(--ease);}
.footer-social a:hover{background:var(--blue); transform:translateY(-3px);}
.footer-qr{display:flex; align-items:center; gap:12px; margin-top:22px;}
.qr-box{
  width:64px; height:64px; border-radius:8px; background:#fff;
  background-image:
    linear-gradient(90deg, #0D1B2A 20%, transparent 20%, transparent 40%, #0D1B2A 40%, #0D1B2A 60%, transparent 60%, transparent 80%, #0D1B2A 80%),
    linear-gradient(#0D1B2A 20%, transparent 20%, transparent 40%, #0D1B2A 40%, #0D1B2A 60%, transparent 60%, transparent 80%, #0D1B2A 80%);
  background-size:8px 8px;
}
.footer-qr span{font-size:.78rem; opacity:.7;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08); margin-top:56px; padding:22px 0; text-align:center; font-size:.82rem;}

/* =============== FLOATING BUTTONS =============== */
.float-btn{
  position:fixed; width:52px; height:52px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-size:1.2rem; z-index:800; box-shadow:0 12px 30px rgba(0,0,0,.2); transition:all .35s var(--ease); border:none; cursor:pointer;
}
.float-whatsapp{bottom:24px; right:24px; background:#25D366; color:#fff;}
.float-call{bottom:88px; right:24px; background:var(--blue); color:#fff;}
.float-top{bottom:152px; right:24px; background:var(--navy); color:#fff; opacity:0; pointer-events:none; transform:translateY(10px);}
.float-top.visible{opacity:1; pointer-events:auto; transform:translateY(0);}
.float-theme{bottom:216px; right:24px; background:#fff; color:var(--navy); border:2px solid var(--border-soft);}
.float-btn:hover{transform:translateY(-4px) scale(1.05);}
.float-whatsapp{animation:pulseWA 2.4s ease-in-out infinite;}
@keyframes pulseWA{0%,100%{box-shadow:0 12px 30px rgba(37,211,102,.25);} 50%{box-shadow:0 12px 30px rgba(37,211,102,.55);}}

/* =============== DARK MODE =============== */
body.dark-mode{background:var(--navy); color:rgba(255,255,255,.88);}
body.dark-mode .about-section,
body.dark-mode .why-section,
body.dark-mode .compare-section,
body.dark-mode .businesses-section,
body.dark-mode .contact-section{background:var(--navy-soft);}
body.dark-mode .business-card,
body.dark-mode .why-card,
body.dark-mode .contact-info-card,
body.dark-mode .contact-form,
body.dark-mode .compare-other{background:#1a2b40; color:rgba(255,255,255,.85);}
body.dark-mode .compare-other{border-color:rgba(255,255,255,.12);}
body.dark-mode .section-title{color:#fff;}
body.dark-mode .about-body, body.dark-mode .business-list li, body.dark-mode .why-card p{color:rgba(255,255,255,.6);}
body.dark-mode .about-badge{background:#1a2b40;}
body.dark-mode .contact-form input, body.dark-mode .contact-form select, body.dark-mode .contact-form textarea{
  background:#1a2b40; border-color:rgba(255,255,255,.12); color:#fff;
}
body.dark-mode .site-header:not(.scrolled) .nav-link{color:rgba(255,255,255,.85) !important;}
body.dark-mode .site-header:not(.scrolled) .toggler-line{background:#fff;}
body.dark-mode .hero{background:linear-gradient(180deg, var(--navy-soft) 0%, var(--navy) 100%);}
body.dark-mode .hero-title{background:linear-gradient(100deg,#fff 30%, var(--blue-light) 100%); -webkit-background-clip:text; background-clip:text;}
body.dark-mode .hero-tagline{color:#fff;}
body.dark-mode .hero-card{background:#1a2b40; color:#fff;}
