/* Realtech visual system: refined typography, deliberate hierarchy and three palettes. */
:root{
  --atelier-radius:22px;
  --atelier-ink:#101c32;
  --atelier-muted:#56667d;
  --atelier-line:rgba(28,48,79,.12);
  --atelier-blue:#2448a8;
  --atelier-shadow:0 18px 55px rgba(24,44,75,.075);
}
html{scroll-padding-top:96px}
body{font-family:Manrope,system-ui,sans-serif;font-size:15px;letter-spacing:-.015em}
h1,h2,h3,.display,.logo-txt b,.guar-title,.map-card-title,form h3,
.step h3,.rev .ava,.trust-num,.calc-total,.calc-item .ci-price,.svc .price,
.why-num,.faq-item summary,.hero-work figcaption strong{
  font-family:Manrope,system-ui,sans-serif;
  letter-spacing:-.045em;
}
h1,h2,h3{text-wrap:balance}
p{text-wrap:pretty}
.wrap{max-width:1240px}
.topbar{font-size:12px;letter-spacing:0}
.topbar .wrap{min-height:40px;gap:14px}
.topbar .hours{opacity:.78}
header{box-shadow:none!important}
header .wrap{min-height:78px}
.logo{gap:12px}
.logo-mark{width:42px;height:42px;border-radius:12px;font-family:Manrope,sans-serif;font-size:21px;font-weight:850;box-shadow:0 7px 20px rgba(36,72,168,.15)}
.logo-txt b{font-size:18px;font-weight:850;letter-spacing:.08em}
.logo-txt span{font-size:11px;letter-spacing:0}
.desktop-links a{font-size:12.5px;font-weight:700;letter-spacing:-.01em}
.nav-cta,.theme-toggle{min-height:42px;border-radius:12px;font-size:12.5px}
.nav-cta{padding-inline:16px;box-shadow:none}
.hero{isolation:isolate;overflow:hidden;padding-block:88px 100px!important}
.hero::after{opacity:.15;background-size:64px 64px}
.hero-aurora{pointer-events:none}
.hero .wrap{grid-template-columns:minmax(0,1.04fr) minmax(380px,.96fr);gap:clamp(42px,5vw,86px);align-items:center}
.hero-copy{max-width:660px}
.hero .eyebrow{display:inline-flex;align-items:center;gap:11px;margin-bottom:24px;font:800 11px/1.35 Manrope,sans-serif;letter-spacing:.15em}
.hero .eyebrow::before{content:"";width:22px;height:1px;flex:0 0 22px}
.hero h1{max-width:16ch!important;margin-bottom:25px;font-size:clamp(44px,4.6vw,68px)!important;font-weight:850;line-height:1.075;letter-spacing:-.065em}
.hero h1 em{white-space:normal}
.hero p.lead{max-width:49ch;margin-bottom:30px;font-size:clamp(17px,1.65vw,20px);line-height:1.65;letter-spacing:-.025em}
.hero-cta{display:flex;flex-wrap:wrap;gap:11px;margin-bottom:14px!important}
.hero-cta .btn{width:auto;min-height:56px;display:inline-flex;justify-content:space-between;gap:22px;padding:15px 21px;border-radius:13px;font-size:14px;font-weight:800;letter-spacing:-.02em;box-shadow:none!important}
.hero-cta .btn span{font-size:18px;line-height:1;opacity:.8}
.hero-cta .btn-wa{background:#1baf63;color:#fff}
.hero-cta .btn-wa:hover{background:#148751;color:#fff}
.hero-cta .btn-calc{background:transparent;border:1px solid currentColor;color:inherit}
.hero-cta .btn-calc:hover{background:rgba(36,72,168,.07)}
.hero-response{max-width:54ch!important;margin:0 0 16px!important;font-size:12.5px;line-height:1.6}
.hero-response a{color:inherit;font-weight:800;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.hero-offer{display:inline-flex;align-items:center;gap:9px;margin:0 0 21px;padding:10px 13px;border:1px solid currentColor;border-radius:10px;font-size:12px;font-weight:800;line-height:1.4;text-decoration:none;transition:transform .2s ease,background .2s ease}
.hero-offer:hover{transform:translateY(-2px)}
.hero-rating-link{font-size:12px!important;letter-spacing:0;box-shadow:none}
.hero-trust{display:flex;gap:0!important;padding-top:20px!important;border-top:1px solid var(--atelier-line)}
.hero-trust .trust-item{flex:1;min-width:0!important;padding:0 14px;border-right:1px solid var(--atelier-line)}
.hero-trust .trust-item:first-child{padding-left:0}
.hero-trust .trust-item:last-child{border-right:0;padding-right:0}
.trust-num{font-size:21px!important;font-weight:850;letter-spacing:-.05em;white-space:normal}
.trust-lbl{font-size:11.5px;line-height:1.35}
.hero-work{aspect-ratio:4/4.35!important;margin-top:0!important;border-radius:24px!important;box-shadow:0 28px 70px rgba(9,25,54,.18)!important}
.hero-work img{filter:saturate(.72) contrast(1.08)!important;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.hero-work:hover img{transform:scale(1.035)}
.hero-work figcaption{left:30px;right:30px;bottom:30px}
.hero-work figcaption span{font-size:10px;letter-spacing:.18em}
.hero-work figcaption strong{font-size:clamp(22px,2.1vw,29px);font-weight:800;line-height:1.22;max-width:20ch}
.guarantees{margin-top:-40px!important;padding-bottom:36px!important}
.guar-grid{gap:12px}
.guar-card{padding:24px 22px!important;border-radius:18px!important;box-shadow:var(--atelier-shadow)!important}
.guar-ic,.svc-ic{width:42px;height:42px;font-size:20px;border-radius:12px}
.guar-title{font-size:16px;font-weight:800;letter-spacing:-.035em}
.guar-text{font-size:12.5px;line-height:1.6}
main>section:not(.hero,.guarantees){padding-block:clamp(68px,8vw,112px)}
.problem-shortcuts{padding-block:30px!important}
.problem-shortcuts-box{padding:28px 32px!important;border-radius:20px!important;box-shadow:none!important}
.problem-shortcuts h2{font-size:clamp(22px,2.2vw,30px);font-weight:850;letter-spacing:-.05em}
.problem-link{min-height:46px;border-radius:10px!important;font-size:12px}
.sec-head{margin-bottom:36px}
.sec-head h2{max-width:23ch!important;font-size:clamp(33px,3.8vw,50px)!important;font-weight:850;line-height:1.12;letter-spacing:-.065em;background:none!important;-webkit-text-fill-color:currentColor!important;color:var(--ink)}
.sec-head p{max-width:62ch;font-size:16px;line-height:1.7}
.eyebrow{font:800 11px/1.4 Manrope,sans-serif!important;letter-spacing:.16em!important}
.service-finder{border-radius:16px!important;box-shadow:none!important}
.service-finder input{min-height:52px;border-radius:10px!important}
.svc-grid{gap:16px!important}
.svc{position:relative;display:flex;flex-direction:column;min-height:275px;padding:25px!important;border-radius:18px!important;box-shadow:var(--atelier-shadow)!important;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.svc:hover{transform:translateY(-3px);box-shadow:0 24px 58px rgba(24,44,75,.13)!important}
.svc h3{margin:16px 0 10px;font-size:17px;line-height:1.35;font-weight:850;letter-spacing:-.04em}
.svc p{font-size:13px;line-height:1.65}
.svc .price{margin-top:auto;padding-top:15px;font-size:16px;line-height:1.4;font-weight:850}
.svc-action{font-size:12px;font-weight:850;text-underline-offset:4px}
.svc .svc-warranty{margin-top:14px;font-size:11px;line-height:1.5}
.services-more{border-radius:11px!important;box-shadow:none!important}
.all-services-grid{gap:12px!important}
.all-service-link{border-radius:15px!important;box-shadow:none!important;transition:transform .2s,box-shadow .2s}
.all-service-link:hover{box-shadow:var(--atelier-shadow)!important}
.all-service-link b{font-weight:850;letter-spacing:-.035em}
.why,.rev,.ba-card,.faq-item,.calc-summary,#bookingForm,.map-card{border-radius:18px!important;box-shadow:var(--atelier-shadow)!important}
.step{border-radius:18px!important}
.step h3{font-weight:800;letter-spacing:-.035em}
.faq-item summary{font-weight:800;letter-spacing:-.025em}
.cta-box{gap:clamp(28px,5vw,60px)}
footer .wrap{gap:26px}

/* Light palette is the first impression for new visitors. */
html.classic-theme:not(.warm-theme){--atelier-line:rgba(22,43,72,.12);--atelier-shadow:0 18px 55px rgba(24,44,75,.075)}
html.classic-theme:not(.warm-theme) body{background:#f7f8f6;color:#17243a}
html.classic-theme:not(.warm-theme) .topbar{background:#e9edf0;color:#4a5b70;border-color:#dce3e9}
html.classic-theme:not(.warm-theme) header{background:rgba(250,251,250,.93);border-color:#e5e9ed}
html.classic-theme:not(.warm-theme) .hero{color:#14233c;background:radial-gradient(circle at 82% 15%,rgba(130,162,205,.15),transparent 35%),linear-gradient(130deg,#f8f9f7 15%,#edf2f5 100%)}
html.classic-theme:not(.warm-theme) .hero::after{background-image:linear-gradient(rgba(19,43,73,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(19,43,73,.08) 1px,transparent 1px)}
html.classic-theme:not(.warm-theme) .hero .eyebrow{color:#315e84}
html.classic-theme:not(.warm-theme) .hero h1{color:#14233c}
html.classic-theme:not(.warm-theme) .hero h1 em{background:linear-gradient(100deg,#285ca8,#2583a2);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
html.classic-theme:not(.warm-theme) .hero p.lead{color:#52627a}
html.classic-theme:not(.warm-theme) .hero-response{color:#64748a}
html.classic-theme:not(.warm-theme) .hero-offer{color:#264d91;background:rgba(255,255,255,.65);border-color:#c7d7ed}
html.classic-theme:not(.warm-theme) .hero-offer:hover{background:#fff}
html.classic-theme:not(.warm-theme) .hero-cta .btn-calc{color:#173e79;border-color:#aebfd6}
html.classic-theme:not(.warm-theme) .hero-cta .btn-calc:hover{background:#e9f0f8}
html.classic-theme:not(.warm-theme) .hero-rating-link{background:#fff;color:#ad8127;border-color:#e0e5e8}
html.classic-theme:not(.warm-theme) .hero-rating-link strong{color:#14233c}
html.classic-theme:not(.warm-theme) .trust-num{background:none;-webkit-text-fill-color:#1b3454;color:#1b3454}
html.classic-theme:not(.warm-theme) .trust-lbl{color:#63738a}
html.classic-theme:not(.warm-theme) .services{background:#f7f8f6}
html.classic-theme:not(.warm-theme) .svc,
html.classic-theme:not(.warm-theme) .guar-card{background:#fff}
html.classic-theme:not(.warm-theme) .steps .sec-head h2,
html.classic-theme:not(.warm-theme) .ai-consult .sec-head h2{
  color:#14233c!important;
  -webkit-text-fill-color:#14233c!important;
}

/* Warm and dark palettes retain the same hierarchy and spacing. */
html.classic-theme.warm-theme{--atelier-line:rgba(79,59,33,.16);--atelier-shadow:0 18px 55px rgba(79,59,33,.08)}
html.classic-theme.warm-theme .hero-offer{color:#784d1e;background:rgba(255,252,245,.75);border-color:#d8c4a4}
html.classic-theme.warm-theme .hero-cta .btn-calc{color:#67451f;border-color:#ba9d74}
html.classic-theme.warm-theme .trust-num{background:none;-webkit-text-fill-color:#3f2f22;color:#3f2f22}
html.classic-theme.warm-theme .steps .sec-head h2,
html.classic-theme.warm-theme .ai-consult .sec-head h2{
  color:#342b22!important;
  -webkit-text-fill-color:#342b22!important;
}
html:not(.classic-theme){--atelier-line:rgba(198,213,235,.16);--atelier-shadow:0 18px 55px rgba(0,0,0,.15)}
html:not(.classic-theme) .hero-offer{color:#b8d9ff;background:rgba(70,116,174,.12);border-color:rgba(140,183,241,.32)}
html:not(.classic-theme) .hero-cta .btn-calc{color:#e9f0ff;border-color:rgba(196,218,251,.42)}
html:not(.classic-theme) .hero-cta .btn-calc:hover{background:rgba(255,255,255,.1)}
html:not(.classic-theme) .sec-head h2{color:#f1f5fb}
html:not(.classic-theme) .services{background:#111c2f}
html:not(.classic-theme) .svc{background:#15233a}
html:not(.classic-theme) .svc:hover{background:#1c2d48}

@media(max-width:1100px){
  .topbar .hours{display:none}
  .desktop-links{gap:12px}
  .desktop-links a{font-size:11.5px}
}
@media(max-width:980px){
  .hero{padding-block:62px 70px!important}
  .hero .wrap{grid-template-columns:1fr;gap:38px}
  .hero-copy{max-width:760px;margin-inline:auto;text-align:center}
  .hero .eyebrow{justify-content:center}
  .hero h1,.hero p.lead{margin-inline:auto}
  .hero-cta{justify-content:center}
  .hero-offer{margin-inline:auto}
  .hero-trust{justify-content:center}
  .hero-work{width:min(100%,720px);aspect-ratio:16/10!important;margin-inline:auto}
  .guarantees{margin-top:-20px!important}
}
@media(max-width:640px){
  header .wrap{min-height:66px}
  .logo-mark{width:38px;height:38px}
  .logo-txt b{font-size:16px}
  .hero{padding-block:48px 58px!important}
  .hero .wrap{gap:30px}
  .hero h1{font-size:clamp(35px,10vw,46px)!important;line-height:1.12}
  .hero p.lead{font-size:16px;line-height:1.65}
  .hero-cta{display:grid;grid-template-columns:1fr;gap:9px}
  .hero-cta .btn{width:100%;min-height:52px;justify-content:center;padding:13px 16px}
  .hero-response{font-size:12px}
  .hero-offer{font-size:11.5px;text-align:left}
  .hero-rating-link{justify-content:center;margin-bottom:16px!important}
  .hero-trust{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0!important;text-align:center}
  .hero-trust .trust-item{display:flex;flex-direction:column;gap:5px;min-width:0!important;padding:0 7px}
  .trust-num{font-size:17px!important}
  .trust-lbl{font-size:10px}
  .hero-work{aspect-ratio:4/3!important;border-radius:16px!important}
  .hero-work figcaption{left:19px;right:19px;bottom:18px}
  .hero-work figcaption strong{font-size:21px}
  .guar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .guar-card{padding:17px!important}
  .guar-title{font-size:14px}
  .guar-text{font-size:11.5px}
  .problem-shortcuts-box{padding:23px 18px!important}
  .sec-head h2{font-size:clamp(30px,8vw,39px)!important}
  .sec-head p{font-size:14px}
  .svc{min-height:0;padding:22px!important}
  .svc h3{font-size:17px}
  .svc p{font-size:13px!important}
  main>section:not(.hero,.guarantees){padding-block:64px}
}
@media(max-width:390px){
  .guar-grid{grid-template-columns:1fr}
  .hero-trust{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(prefers-reduced-motion:reduce){
  .hero-work img{transition:none}
  .hero-offer:hover,.svc:hover{transform:none}
}
