:root{
  --white:#fff; --glacier:#e3ecf1; --glacier-2:#eef3f6; --line:#d3dfe6;
  --ink:#1e2a33; --ink-2:#4a5a66; --cool:#5f7f94; --cool-t:#3d6378;
  --hot:#c8402a; --hot-d:#a8341f; --hot-l:#fbe7e1;
  --r:16px; --sh:0 1px 2px rgba(30,42,51,.06),0 14px 34px -18px rgba(30,42,51,.35);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--white);color:var(--ink);font:400 17px/1.65 "Rubik","Heebo",system-ui,sans-serif;padding-bottom:76px}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3{margin:0;line-height:1.2;font-weight:600}
p{margin:0}
ul{margin:0;padding:0;list-style:none}
figure{margin:0}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;inset-inline-start:12px;top:-60px;background:var(--ink);color:#fff;padding:10px 16px;border-radius:10px;z-index:50}
.skip:focus{top:12px}
:focus-visible{outline:3px solid var(--cool);outline-offset:3px;border-radius:8px}
bdi[dir=ltr]{unicode-bidi:isolate;direction:ltr}
.wrap{width:min(1140px,100% - 36px);margin-inline:auto}
.ico{width:20px;height:20px;flex:none}

.top{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.top-in{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.brand-mark{width:40px;height:40px;flex:none}
.brand-txt{display:flex;flex-direction:column;line-height:1.15}
.brand-name{font-weight:600;font-size:20px}
.brand-sub{font-size:13.5px;color:var(--ink-2)}
.top-call{display:none;align-items:center;gap:8px;text-decoration:none;font-weight:500;padding:9px 16px;border-radius:999px;background:var(--glacier)}
.top-call:hover{background:#d6e3ea}

.cta{display:flex;flex-wrap:wrap;gap:10px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:52px;padding:0 22px;border-radius:12px;font:500 17px/1 inherit;font-family:inherit;text-decoration:none;white-space:nowrap;transition:background-color .15s ease,transform .15s ease}
.btn:hover{transform:translateY(-1px)}
.btn-hot{background:var(--hot);color:#fff;box-shadow:0 10px 20px -12px rgba(200,64,42,.8)}
.btn-hot:hover{background:var(--hot-d)}
.btn-cool{background:var(--glacier);color:var(--ink);border:1px solid var(--line)}
.btn-cool:hover{background:#d6e3ea}

/* hero */
.hero{position:relative;background:var(--glacier-2)}
.hero-photo{position:relative}
.hero-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:50% 50%}
.hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(30,42,51,0) 60%,rgba(30,42,51,.22) 100%)}
.hero-in{position:relative;margin-top:-64px;padding-bottom:36px}
.hero-card{position:relative;z-index:2;background:#fff;border-radius:20px;padding:24px 20px 22px;box-shadow:var(--sh);border:1px solid var(--line)}
.eyebrow{display:flex;align-items:center;gap:8px;color:var(--cool-t);font-weight:500;font-size:15px}
h1{font-size:clamp(32px,8.6vw,50px);margin:8px 0 12px;letter-spacing:-.3px}
.lead{color:var(--ink-2);font-size:17.5px}
.rating{display:inline-flex;align-items:center;gap:10px;margin:18px 0 20px;padding:9px 16px;border-radius:999px;background:var(--glacier-2);border:1px solid var(--line);text-decoration:none}
.r-num{font-weight:600;font-size:22px;line-height:1}
.r-stars{display:flex;gap:2px;color:var(--hot)}
.r-stars svg{width:17px;height:17px}
.r-txt{font-size:15.5px;color:var(--ink-2)}
.hero .cta .btn{flex:1 1 auto;padding:0 16px}
.hero .cta .btn-cool{flex:0 1 auto}

/* sections */
.sec{padding:56px 0}
.sec-glacier{background:var(--glacier)}
.sec-head{margin-bottom:26px}
.kicker{color:var(--cool-t);font-weight:500;font-size:15px;margin-bottom:4px}
h2{font-size:clamp(26px,6.6vw,38px)}

.split{display:grid;gap:12px;align-items:stretch}
.side{display:flex;gap:18px;align-items:center;padding:24px 20px;border-radius:20px}
.side-hot{background:linear-gradient(135deg,#fff6f3,#fbe7e1)}
.side-cool{background:linear-gradient(135deg,#f3f7fa,#dde8ee)}
.side-art{width:84px;height:84px;flex:none}
.side h3{font-size:22px;margin:2px 0 6px}
.side p{color:var(--ink-2)}
.side-k{font-weight:600;font-size:14.5px;letter-spacing:.3px}
.side .hot-k{color:var(--hot-d)}
.side .cool-k{color:var(--cool-t)}
.split-arrow{display:grid;place-items:center;margin:-26px 0;position:relative;z-index:1}
.split-arrow svg{width:44px;height:44px;transform:rotate(-90deg)}

.svc{display:grid;gap:14px}
.svc li{background:#fff;border-radius:var(--r);padding:22px 20px;border:1px solid var(--line)}
.svc-ico{width:46px;height:46px;margin-bottom:12px}
.svc h3{font-size:20px;margin-bottom:6px}
.svc p{color:var(--ink-2)}

.gallery{display:grid;gap:16px}
.gallery figure{border-radius:var(--r);overflow:hidden;background:var(--glacier-2);border:1px solid var(--line)}
.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover}
.gallery figcaption{display:flex;align-items:center;gap:8px;padding:12px 16px;font-size:15.5px;color:var(--ink-2)}
.gallery figcaption .ico{color:var(--cool);width:18px;height:18px}

.contact{display:grid;gap:18px}
.c-card{background:#fff;border-radius:20px;padding:28px 22px;border:1px solid var(--line);box-shadow:var(--sh)}
.c-card h2{margin-bottom:8px}
.c-txt{color:var(--ink-2)}
.c-phone{display:inline-block;margin:16px 0;font-size:clamp(32px,9vw,44px);font-weight:600;text-decoration:none;color:var(--ink);line-height:1.15}
.c-phone:hover{color:var(--hot-d)}
.c-loc{display:flex;align-items:center;gap:8px;margin-top:18px;color:var(--ink-2);font-weight:500}
.c-loc .ico{color:var(--hot)}

.map{position:relative;border-radius:20px;overflow:hidden;border:1px solid var(--line);background:var(--glacier-2);min-height:340px}
.map-fallback{position:absolute;inset:0}
.map-fallback svg{width:100%;height:100%}
.map-label{position:absolute;inset-inline:14px;top:14px;background:#fff;border-radius:12px;padding:10px 14px;display:flex;flex-direction:column;font-size:15px;box-shadow:var(--sh)}
.map-label span{color:var(--ink-2)}
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.btn-map{position:absolute;inset-inline-start:14px;bottom:14px;min-height:46px;padding:0 16px;font-size:16px;background:#fff;color:var(--ink);border:1px solid var(--line);box-shadow:var(--sh)}
.btn-map .ico{color:var(--hot)}

.foot{padding:30px 0 24px;background:var(--ink);color:#d9e3ea}
.foot-in{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;font-size:15px}
.f-name{font-weight:500;color:#fff}
.foot a{text-decoration:none}
.f-demo{font-size:13.5px;margin-top:6px;color:#b9c7d1}

.mbar{position:fixed;inset-inline:0;bottom:0;z-index:30;display:grid;grid-template-columns:1.6fr 1fr;gap:10px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);border-top:1px solid var(--line);backdrop-filter:blur(8px)}
.mbar a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:52px;border-radius:12px;text-decoration:none;font-weight:500;font-size:16.5px;white-space:nowrap}
.mbar-call{background:var(--hot);color:#fff}
.mbar-wa{background:var(--glacier);color:var(--ink);border:1px solid var(--line)}

@media (min-width:640px){
  .svc{grid-template-columns:1fr 1fr}
  .gallery{grid-template-columns:repeat(3,1fr)}
}
@media (min-width:900px){
  body{padding-bottom:0}
  .mbar{display:none}
  .top-call{display:inline-flex}
  .hero{min-height:560px;display:flex;align-items:center}
  .hero-photo{position:absolute;top:0;bottom:0;right:0;left:max(428px,calc(50% - 160px))}
  .hero-photo picture{display:block;height:100%}
  .hero-photo img{height:100%;aspect-ratio:auto;object-position:0% 0%}
  .hero-photo::after{background:linear-gradient(90deg,var(--glacier-2) 0%,rgba(238,243,246,0) 14%)}
  .hero-in{margin-top:0;padding:56px 0}
  .hero .cta .btn{padding:0 22px}
  .hero-card{max-width:520px;margin-inline-start:auto;padding:36px 34px 32px;border:0}
  .sec{padding:84px 0}
  .split{grid-template-columns:1fr auto 1fr;gap:0}
  .side{flex-direction:column;align-items:flex-start;padding:36px 34px}
  .side-art{width:96px;height:96px}
  .split-arrow{margin:0 -24px}
  .split-arrow svg{transform:none}
  .svc{grid-template-columns:repeat(4,1fr)}
  .contact{grid-template-columns:.9fr 1.1fr}
  .c-card{padding:38px 34px}
  .map{min-height:420px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
@media (max-width:899px){.cta .btn,.hero .cta .btn,.hero .cta .btn-cool{flex:1 1 100%}}
@media (min-width:520px) and (max-width:899px){.cta .btn,.hero .cta .btn,.hero .cta .btn-cool{flex:1 1 40%}}
