/* Site render styles — shared by the live preview (mirrors the deployed template).
   Images are injected inline by render.js, so no image URLs live here. */
:root { --ink:#0B0E14; --ink-2:#161a22; --accent:#F5A623; --accent-700:#d9890f; --call:#16A34A; --call-700:#128a40;
  --text:#11161f; --muted:#5b6473; --line:#E8EBEF; --bg:#fff; --bg-soft:#F6F7F9;
  --radius:16px; --radius-lg:22px; --shadow:0 18px 50px rgba(11,14,20,.10); --shadow-sm:0 6px 20px rgba(11,14,20,.07); --maxw:1180px;
  --font-head:"Plus Jakarta Sans",system-ui,sans-serif; --font-body:"Inter",system-ui,sans-serif; }
* { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body { font-family:var(--font-body); color:var(--text); background:var(--bg); line-height:1.6; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
h1,h2,h3,h4 { font-family:var(--font-head); line-height:1.1; color:var(--ink); font-weight:800; letter-spacing:-.02em; }
.wrap { width:100%; max-width:var(--maxw); margin:0 auto; padding:0 22px; }
.ic { width:1.15em; height:1.15em; fill:currentColor; display:inline-block; vertical-align:-.15em; }

.btn { display:inline-flex; align-items:center; gap:9px; justify-content:center; font-family:var(--font-head); font-weight:700; font-size:15px; line-height:1; padding:14px 22px; border-radius:999px; border:2px solid transparent; cursor:pointer; transition:transform .15s,background .15s; white-space:nowrap; }
.btn:hover { transform:translateY(-2px); }
.btn--primary { background:var(--ink); color:#fff; } .btn--primary:hover { background:var(--ink-2); }
.btn--call { background:var(--call); color:#fff; box-shadow:0 8px 22px rgba(22,163,74,.32); } .btn--call:hover { background:var(--call-700); }
.btn--light { background:#fff; color:var(--ink); } .btn--light:hover { background:#f1f2f4; }
.btn--sm { padding:10px 18px; font-size:14px; } .btn--lg { padding:15px 26px; font-size:16px; } .btn--xl { padding:17px 30px; font-size:17px; } .btn--block { width:100%; }
.eyebrow { display:inline-block; font-family:var(--font-head); font-weight:700; font-size:12.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--accent-700); margin-bottom:14px; }

.topbar { background:var(--ink); color:#cdd3dd; font-size:13px; }
.topbar__inner { display:flex; align-items:center; justify-content:space-between; height:40px; gap:16px; }
.topbar__msg { opacity:.85; } .topbar__call { color:#fff; font-weight:700; display:inline-flex; align-items:center; gap:7px; } .topbar__call .ic { color:var(--accent); }

.header { position:sticky; top:0; z-index:50; background:rgba(255,255,255,.92); backdrop-filter:blur(10px); border-bottom:1px solid var(--line); }
.header__inner { display:flex; align-items:center; gap:22px; height:72px; }
.brand { display:flex; align-items:center; gap:11px; } .brand__name { font-family:var(--font-head); font-weight:800; font-size:20px; color:var(--ink); }
.nav { display:flex; align-items:center; gap:24px; margin-left:auto; }
.nav a { font-weight:600; font-size:15px; color:var(--text); } .nav a:hover { color:var(--accent-700); }
.nav__phone { color:var(--ink)!important; font-weight:800!important; } .nav a.btn--primary, .nav a.btn--primary:hover { color:#fff; }
.nav__toggle { display:none; flex-direction:column; gap:5px; background:none; border:0; cursor:pointer; padding:6px; margin-left:auto; }
.nav__toggle span { width:26px; height:3px; background:var(--ink); border-radius:2px; }

.hero { position:relative; color:#fff; overflow:hidden; min-height:560px; display:flex; align-items:center; }
.hero__media { position:absolute; inset:0; background-size:cover; background-position:center; transform:scale(1.03); }
.hero__scrim { position:absolute; inset:0; background:linear-gradient(100deg,rgba(7,10,16,.93) 0%,rgba(8,11,18,.8) 40%,rgba(8,11,18,.42) 75%,rgba(8,11,18,.25) 100%); }
.hero__inner { position:relative; padding:70px 22px 76px; }
.hero__eyebrow { display:inline-block; font-family:var(--font-head); font-weight:700; font-size:13px; letter-spacing:.14em; text-transform:uppercase; color:var(--accent); margin-bottom:18px; }
.hero__title { font-size:clamp(36px,5.6vw,62px); color:#fff; max-width:16ch; } .hero__hl { color:var(--accent); }
.hero__sub { font-size:clamp(16px,2vw,20px); color:#d9dee7; margin-top:20px; max-width:50ch; }
.hero__cta { display:flex; flex-wrap:wrap; gap:14px; margin-top:32px; }
.hero__meta { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:30px; font-size:14.5px; color:#e6ebf2; } .hero__meta strong { color:var(--accent); } .hero__meta .dot { opacity:.4; }

.stats { background:var(--ink); } .stats__inner { display:grid; grid-template-columns:repeat(4,1fr); }
.stat { text-align:center; padding:26px 14px; color:#aeb6c4; border-left:1px solid rgba(255,255,255,.07); } .stat:first-child { border-left:0; }
.stat__num { display:block; font-family:var(--font-head); font-weight:800; font-size:26px; color:#fff; } .stat__label { font-size:13.5px; }

.section { padding:84px 0; } .section--soft { background:var(--bg-soft); }
.head { max-width:720px; margin:0 auto 48px; text-align:center; } .head__title { font-size:clamp(28px,4vw,44px); } .head__sub { color:var(--muted); font-size:17px; margin-top:14px; }

.services { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.svc { background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:30px 26px; box-shadow:var(--shadow-sm); transition:transform .18s,box-shadow .18s; }
.svc:hover { transform:translateY(-5px); box-shadow:var(--shadow); }
.svc__ic { display:inline-flex; align-items:center; justify-content:center; width:54px; height:54px; border-radius:14px; background:color-mix(in srgb, var(--accent) 14%, #fff); color:var(--accent-700); margin-bottom:18px; }
.svc__ic svg { width:28px; height:28px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.svc h3 { font-size:19px; margin-bottom:7px; } .svc p { color:var(--muted); font-size:14.5px; }
.svc--accent { background:var(--ink); border-color:var(--ink); } .svc--accent h3 { color:#fff; } .svc--accent p { color:#b9c1cf; }
.svc--accent .svc__ic { background:color-mix(in srgb, var(--accent) 20%, transparent); color:var(--accent); }

.steps { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.stepc { background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:32px 28px; text-align:center; box-shadow:var(--shadow-sm); }
.stepc__n { display:inline-flex; align-items:center; justify-content:center; width:52px; height:52px; border-radius:50%; background:var(--ink); color:#fff; font-family:var(--font-head); font-weight:800; font-size:22px; margin-bottom:16px; }
.stepc h3 { font-size:19px; margin-bottom:8px; } .stepc p { color:var(--muted); font-size:15px; }

.ba { position:relative; max-width:960px; margin:0 auto; aspect-ratio:16/9; border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow); user-select:none; }
.ba__img { position:absolute; inset:0; background-size:cover; background-position:center; } .ba__before { border-right:3px solid #fff; }
.ba__handle { position:absolute; top:0; bottom:0; left:50%; width:44px; transform:translateX(-50%); display:flex; align-items:center; justify-content:center; pointer-events:none; }
.ba__handle span { width:44px; height:44px; border-radius:50%; background:#fff; box-shadow:0 4px 14px rgba(0,0,0,.3); position:relative; }
.ba__handle span::before,.ba__handle span::after { content:""; position:absolute; top:50%; width:0; height:0; border:6px solid transparent; }
.ba__handle span::before { left:9px; border-right-color:var(--ink); transform:translateY(-50%); } .ba__handle span::after { right:9px; border-left-color:var(--ink); transform:translateY(-50%); }
.ba__tag { position:absolute; top:14px; font-family:var(--font-head); font-weight:700; font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:#fff; background:rgba(11,14,20,.72); padding:5px 12px; border-radius:999px; }
.ba__tag--before { left:14px; } .ba__tag--after { right:14px; }
.ba__range { position:absolute; inset:0; width:100%; height:100%; margin:0; opacity:0; cursor:ew-resize; }
.gallery { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:22px; }
.gallery__item { aspect-ratio:4/3; border-radius:var(--radius); background-size:cover; background-position:center; box-shadow:var(--shadow-sm); }

.reviews { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.rev { background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:26px 24px; box-shadow:var(--shadow-sm); }
.rev__top { display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; } .rev__stars { color:#f5a623; font-size:16px; letter-spacing:1px; } .rev__g { font-size:12.5px; color:var(--muted); font-weight:600; }
.rev blockquote { font-size:15.5px; color:var(--text); }
.rev figcaption { display:flex; align-items:center; gap:12px; margin-top:18px; } .rev__av { width:40px; height:40px; border-radius:50%; background:var(--ink); color:#fff; display:inline-flex; align-items:center; justify-content:center; font-family:var(--font-head); font-weight:700; font-size:14px; }
.rev figcaption strong { display:block; font-family:var(--font-head); color:var(--ink); font-size:14.5px; } .rev figcaption small { color:var(--muted); font-size:13px; }

.about { display:grid; grid-template-columns:1.05fr 1fr; gap:52px; align-items:center; }
.about__media { border-radius:var(--radius-lg); min-height:420px; box-shadow:var(--shadow); background-size:cover; background-position:center; }
.about__body p { color:var(--muted); margin-top:6px; font-size:16px; }
.ticks { list-style:none; margin:22px 0 28px; display:grid; gap:13px; } .ticks li { position:relative; padding-left:30px; color:var(--muted); }
.ticks li::before { content:""; position:absolute; left:0; top:6px; width:18px; height:18px; border-radius:50%; background:var(--call); } .ticks li::after { content:"✓"; position:absolute; left:4px; top:3px; color:#fff; font-size:12px; font-weight:800; }

.areas { list-style:none; display:flex; flex-wrap:wrap; gap:12px; justify-content:center; max-width:780px; margin:0 auto; }
.areas li { background:#fff; border:1px solid var(--line); border-radius:999px; padding:10px 20px; font-weight:600; font-size:14.5px; color:var(--ink); }

.cta { background:var(--ink); color:#fff; padding:78px 0; } .cta__inner { display:grid; grid-template-columns:1fr 1fr; gap:52px; align-items:center; }
.cta__title { color:#fff; font-size:clamp(28px,4vw,44px); } .cta__sub { color:#c4cbd6; margin-top:16px; font-size:17px; max-width:44ch; margin-bottom:28px; }
.quote { background:#fff; border-radius:var(--radius-lg); padding:32px 30px; box-shadow:var(--shadow); color:var(--text); } .quote__title { font-size:22px; margin-bottom:18px; }
.quote label { display:block; font-weight:600; font-size:13.5px; color:var(--ink); margin-bottom:14px; } .quote__row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.quote input, .quote select { width:100%; margin-top:6px; padding:12px 13px; border:1.5px solid var(--line); border-radius:11px; font-family:var(--font-body); font-size:15px; background:#fff; color:var(--text); }
.quote input:focus, .quote select:focus { outline:none; border-color:var(--accent); }
.quote input[type=file] { padding:9px 12px; font-size:13.5px; }
.upload__hint { font-weight:400; color:var(--muted); font-size:12.5px; }
.hp { position:absolute; left:-9999px; width:1px; height:1px; opacity:0; }
.quote__note { font-size:12.5px; color:var(--muted); text-align:center; margin-top:12px; }
.quote__success { color:var(--call); font-weight:700; text-align:center; margin-top:12px; }
.quote__error { color:#c0392b; font-weight:700; text-align:center; margin-top:12px; }

.footer { background:#0a0d13; color:#97a0b0; } .footer__bar-inner { display:flex; justify-content:space-between; gap:14px; padding:22px; font-size:12.5px; flex-wrap:wrap; }
.callfab { display:none; position:fixed; left:14px; right:14px; bottom:14px; z-index:60; background:var(--call); color:#fff; align-items:center; justify-content:center; gap:9px; padding:16px; border-radius:999px; font-family:var(--font-head); font-weight:800; font-size:16.5px; box-shadow:0 10px 26px rgba(0,0,0,.32); } .callfab .ic { color:#fff; }

@media (max-width:960px){ .services,.reviews{grid-template-columns:repeat(2,1fr);} .about{grid-template-columns:1fr;gap:30px;} .about__media{min-height:280px;order:-1;} .cta__inner{grid-template-columns:1fr;} }
@media (max-width:720px){ .nav{position:fixed;inset:112px 0 auto 0;flex-direction:column;align-items:stretch;gap:0;background:#fff;border-bottom:1px solid var(--line);padding:8px 0 16px;box-shadow:var(--shadow);transform:translateY(-150%);transition:transform .28s;margin-left:0;} .nav.is-open{transform:none;} .nav a{padding:13px 22px;border-bottom:1px solid var(--line);} .nav .btn{margin:12px 22px 0;} .nav__toggle{display:flex;} .topbar__msg{display:none;} .topbar__inner{justify-content:center;} .stats__inner{grid-template-columns:1fr 1fr;} .stat:nth-child(3){border-left:0;} .steps,.reviews,.gallery{grid-template-columns:1fr;} .callfab{display:flex;} body{padding-bottom:80px;} }
