:root{
  --paper:#faf8f4; --ink:#181715; --ink-2:#55524c; --ink-3:#8f8b83;
  --line:#e6e2da; --amber:#e8a317;
  --dark:#181715; --dark-ink:#f3f1ec; --dark-2:#a7a299; --dark-line:rgba(255,255,255,.12);
  --maxw:1080px;
  --font:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif;
}
*{box-sizing:border-box;}
html{overflow-x:clip;}
body{overflow-x:clip;}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;}
a{color:inherit;text-decoration:none;}
h1,h2,h3{margin:0;font-weight:650;line-height:1.12;letter-spacing:-.021em;}
p{margin:0;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 30px;}
.lnk{font-weight:600;border-bottom:1.5px solid var(--amber);padding-bottom:1px;}
.lnk:hover{color:var(--amber);}
.btn{display:inline-flex;align-items:center;gap:9px;padding:13px 22px;font-weight:600;font-size:.98rem;cursor:pointer;border:1.5px solid var(--ink);transition:.15s;border-radius:2px;}
.btn i{font-size:.9em;}
.btn-solid{background:var(--ink);color:var(--paper);}
.btn-solid:hover{background:#000;}
.btn-out{background:transparent;color:var(--ink);}
.btn-out:hover{background:var(--ink);color:var(--paper);}
.btn-amber{background:var(--amber);border-color:var(--amber);color:#1a1408;}
.btn-amber:hover{filter:brightness(1.06);}
header{position:sticky;top:0;z-index:40;background:rgba(250,248,244,.9);backdrop-filter:blur(8px);border-bottom:1px solid transparent;transition:border-color .2s ease;}
header.scrolled{border-bottom-color:var(--line);}
.nav{display:flex;align-items:center;height:78px;gap:38px;}
.brand{font-weight:700;font-size:1.16rem;letter-spacing:-.03em;display:inline-flex;align-items:center;}
.brand .d{color:var(--amber);}
.brand-logo{display:block;height:42px;width:auto;}
.nav nav{display:flex;gap:6px;margin-left:6px;align-items:center;}
.nav .r{margin-left:auto;display:flex;align-items:center;gap:24px;}
.nav .tel{font-weight:650;}
.nav .tel i{color:var(--amber);margin-right:7px;}
.hero{padding:104px 0 88px;position:relative;z-index:1;}
.hero .wrap{position:relative;}
.hero h1{font-size:clamp(2.4rem,5.4vw,4.4rem);font-weight:680;letter-spacing:-.035em;line-height:1.02;}
.hero h1 .am{color:var(--amber);}
.hero .sub{font-size:1.18rem;color:var(--ink-2);max-width:30em;margin-top:30px;line-height:1.5;font-weight:400;}
.hero .acts{display:flex;gap:16px;align-items:center;margin-top:42px;flex-wrap:wrap;}
.hero .note{color:var(--ink-3);font-size:.98rem;margin-top:22px;}
.hero .note b{color:var(--ink-2);font-weight:600;}
.hero-copy{position:relative;z-index:6;}
.hero-art{position:absolute;z-index:5;right:-220px;top:30px;width:min(42vw,560px);height:auto;
  pointer-events:none;filter:drop-shadow(0 30px 50px rgba(24,23,21,.22));}
@media(max-width:1280px){.hero-art{right:0;width:34vw;}}
@media(max-width:980px){.hero-art{width:34vw;right:-60px;opacity:.95;}}
@media(max-width:760px){
  .hero-art{position:static;display:block;width:min(72vw,360px);right:auto;top:auto;
    margin:34px auto 0;opacity:1;}
  .hero .wrap{display:flex;flex-direction:column;}
  .hero-copy{order:1;}
  .hero-art{order:2;}
}
.brands{padding:48px 0 92px;position:relative;z-index:10;}
.brands .eyebrow{font-size:1.08rem;color:var(--ink-2);max-width:58ch;line-height:1.7;}
.brands .eyebrow strong{color:var(--ink);font-weight:650;}
.reflist{margin-top:40px;display:grid;grid-template-columns:repeat(5,1fr);
  border-top:1px solid var(--line);border-left:1px solid var(--line);}
.ref{display:flex;align-items:center;justify-content:center;min-height:96px;padding:22px 26px;
  border-right:1px solid var(--line);border-bottom:1px solid var(--line);}
.ref img{max-height:38px;width:auto;max-width:100%;object-fit:contain;
  opacity:.62;transition:opacity .15s ease;}
.ref:hover img{opacity:1;}
.brands .more{margin-top:26px;}
.dark-sec{background:var(--dark);color:var(--dark-ink);position:relative;z-index:10;}
.services{padding:96px 0;}
.services h2{font-size:clamp(1.9rem,3.6vw,2.7rem);font-weight:650;max-width:16ch;}
.services .intro{color:var(--dark-2);font-size:1.18rem;margin-top:18px;max-width:46ch;}
.srows{margin-top:64px;border-top:1px solid var(--dark-line);}
.srow{display:grid;grid-template-columns:1fr 1.5fr auto;gap:40px;align-items:baseline;padding:30px 0;border-bottom:1px solid var(--dark-line);transition:.15s;}
.srow:hover{padding-left:10px;}
.srow h3{font-size:1.5rem;font-weight:600;display:flex;align-items:center;gap:14px;}
.srow h3 i{color:var(--amber);font-size:1rem;width:22px;}
.srow p{color:var(--dark-2);font-size:1.04rem;}
.srow .go{color:var(--dark-2);align-self:center;}
.srow:hover .go{color:var(--amber);}
.srow:hover h3{color:var(--amber);}
.why{padding:100px 0;}
.why .lead{font-size:clamp(1.9rem,3.8vw,2.7rem);font-weight:650;line-height:1.15;max-width:18ch;letter-spacing:-.03em;}
.why .sub{font-size:1.18rem;color:var(--ink-2);max-width:46ch;line-height:1.6;margin-top:20px;font-weight:400;}
.why .lead .am{color:var(--amber);}
.why .pts{display:grid;grid-template-columns:1fr 1fr;gap:48px 70px;margin-top:72px;}
.why .pt h3{font-size:1.22rem;font-weight:650;}
.why .pt p{color:var(--ink-2);margin-top:9px;font-size:1.03rem;max-width:38ch;}
.why .pt h3 i{color:var(--amber);margin-right:11px;font-size:.92em;}
.refs{padding:0 0 100px;}
.refs .h{font-size:1.15rem;color:var(--ink-2);max-width:54ch;line-height:1.7;}
.refs .names{margin-top:34px;font-size:clamp(1.3rem,2.6vw,1.9rem);font-weight:600;line-height:1.5;letter-spacing:-.02em;color:var(--ink);}
.refs .names span{color:var(--ink-3);}
.refs .more{margin-top:26px;}

/* coverage — optics/network + splicers two-card section */
.coverage{padding:96px 0;}
.coverage h2{font-size:clamp(1.9rem,3.8vw,2.7rem);font-weight:650;max-width:18ch;letter-spacing:-.03em;line-height:1.15;}
.coverage h2 .am{color:var(--amber);}
.coverage .intro{margin-top:18px;font-size:1.18rem;color:var(--ink-2);max-width:52ch;line-height:1.6;}
.coverage .cov-grid{margin-top:56px;display:grid;grid-template-columns:1fr 1fr;gap:28px;}
.coverage .cov{position:relative;display:block;border-radius:6px;overflow:hidden;background:#0e0d0c;aspect-ratio:4/3;box-shadow:0 14px 34px rgba(24,23,21,.16);transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s ease;}
.coverage .cov img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;}
/* blurred base layer fills the card; the sharp layer on top is masked so it's
   crisp in the centre and fades to transparent at the edges → the picture
   itself goes blurry toward its edges while the card edge stays hard. */
.coverage .cov .cov-blur{filter:blur(26px) saturate(1.08);transform:scale(1.14);}
.coverage .cov .cov-sharp{
  -webkit-mask-image:
    linear-gradient(to right, transparent 0, #000 16%, #000 84%, transparent 100%),
    linear-gradient(to bottom, transparent 0, #000 16%, #000 84%, transparent 100%);
  -webkit-mask-composite:source-in;
  mask-image:
    linear-gradient(to right, transparent 0, #000 16%, #000 84%, transparent 100%),
    linear-gradient(to bottom, transparent 0, #000 16%, #000 84%, transparent 100%);
  mask-composite:intersect;
}
.coverage .cov h3{font-size:1.32rem;font-weight:650;display:flex;align-items:center;gap:13px;}
.coverage .cov h3 i{color:var(--amber);font-size:1.05rem;width:24px;text-align:center;}
.coverage .cov>p{color:var(--ink-2);margin-top:13px;font-size:1.05rem;line-height:1.6;max-width:42ch;}
.coverage .cov-list{margin-top:20px;padding:0;list-style:none;display:flex;flex-direction:column;gap:11px;}
.coverage .cov-list li{position:relative;padding-left:26px;color:var(--ink);font-size:1.02rem;line-height:1.45;}
.coverage .cov-list li::before{content:"";position:absolute;left:4px;top:.62em;width:7px;height:7px;background:var(--amber);border-radius:50%;}


/* coverage ribbon — mirrors the hero .ribbon: full-bleed, overlaps section below */
.cov-ribbon{position:relative;z-index:10;overflow:visible;width:100%;margin-top:80px;margin-bottom:-200px;pointer-events:none;}
.cov-ribbon svg{display:block;width:100%;height:420px;filter:drop-shadow(0 10px 18px rgba(24,23,21,.22));}
.coverage{position:relative;z-index:12;}
.coverage .cov-grid{position:relative;margin-top:-140px;}
.cov-rib-fallback{display:none;}


/* card titles overlaid on the image; white, with a soft scrim for legibility */
.coverage .cov .cov-cap{position:absolute;z-index:2;max-width:66%;
  text-shadow:0 2px 10px rgba(0,0,0,.85),0 1px 3px rgba(0,0,0,.9),0 0 30px rgba(0,0,0,.5);}
.coverage .cov .cov-cap-br{right:26px;bottom:24px;text-align:right;display:flex;flex-direction:column;justify-content:flex-end;}
.coverage .cov .cov-cap-tl{left:26px;top:24px;text-align:left;display:flex;flex-direction:column;align-items:flex-start;}
.coverage .cov .cov-title{margin:0;color:#fff;font-size:1.32rem;font-weight:650;line-height:1.2;letter-spacing:-.01em;text-align:inherit;}
.coverage .cov .cov-sub{margin:6px 0 0;color:#fff;font-size:1rem;font-weight:500;line-height:1.35;text-align:inherit;}


/* per-card title-corner blur bias — stronger blur under each title */
.coverage .cov-grid > .cov:first-child .cov-sharp{
  -webkit-mask-image:
    linear-gradient(to right, transparent 0, #000 14%, #000 70%, transparent 100%),
    linear-gradient(to bottom, transparent 0, #000 14%, #000 66%, transparent 100%);
  -webkit-mask-composite:source-in;
  mask-image:
    linear-gradient(to right, transparent 0, #000 14%, #000 70%, transparent 100%),
    linear-gradient(to bottom, transparent 0, #000 14%, #000 66%, transparent 100%);
  mask-composite:intersect;
}
.coverage .cov-grid > .cov:last-child .cov-sharp{
  -webkit-mask-image:
    linear-gradient(to right, transparent 0, #000 30%, #000 86%, transparent 100%),
    linear-gradient(to bottom, transparent 0, #000 34%, #000 86%, transparent 100%);
  -webkit-mask-composite:source-in;
  mask-image:
    linear-gradient(to right, transparent 0, #000 30%, #000 86%, transparent 100%),
    linear-gradient(to bottom, transparent 0, #000 34%, #000 86%, transparent 100%);
  mask-composite:intersect;
}


/* card hover: gentle lift + image zoom */
.coverage .cov:hover{transform:translateY(-6px);box-shadow:0 22px 50px rgba(24,23,21,.26);}
.coverage .cov .cov-sharp,.coverage .cov .cov-blur{transition:transform .5s cubic-bezier(.2,.7,.2,1);}
.coverage .cov:hover .cov-sharp{transform:scale(1.05);}
.coverage .cov:hover .cov-blur{transform:scale(1.19);}
/* orange go-button: square (not rounded), arrow up-right, pops up on hover */
.coverage .cov .cov-go{position:absolute;z-index:3;width:48px;height:48px;
  display:flex;align-items:center;justify-content:center;
  background:var(--amber);color:#fff;font-size:1.05rem;
  opacity:0;transform:scale(.6) translateY(8px);transform-origin:center;
  transition:opacity .28s ease,transform .28s cubic-bezier(.2,.9,.3,1.3);
  box-shadow:0 6px 18px rgba(0,0,0,.35);pointer-events:none;}
.coverage .cov:hover .cov-go{opacity:1;transform:scale(1) translateY(0);}
.coverage .cov .cov-go-bl{left:18px;bottom:18px;}
.coverage .cov .cov-go-tr{right:18px;top:18px;}


/* dotted pulse ribbon — thin light-gray dots, power-flow wave, below the cards */
.dots-ribbon{width:100%;overflow:hidden;margin:24px 0 8px;pointer-events:none;}
.dots-ribbon svg{display:block;width:100%;height:96px;}
@media(max-width:760px){.dots-ribbon svg{height:72px;}.dots-ribbon{margin:44px 0 0;}}


/* brands CTA — "Pozovite za besplatan savet" + logo grid on white tiles */
.brands-cta{padding:96px 0;text-align:center;}
.brands-cta h2{font-size:clamp(1.8rem,3.6vw,2.6rem);font-weight:650;max-width:20ch;margin:0 auto;letter-spacing:-.03em;line-height:1.15;}
.brands-cta h2 .am{color:var(--amber);}
.brands-cta .sub{margin:18px auto 0;max-width:60ch;font-size:1.12rem;color:var(--ink-2);line-height:1.6;}
.brands-cta .bl-grid{margin-top:52px;display:grid;grid-template-columns:repeat(6,1fr);gap:18px;}
.brands-cta .bl{display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--line);border-radius:4px;padding:22px 20px;min-height:96px;}
.brands-cta .bl img{max-height:46px;max-width:100%;width:auto;object-fit:contain;}
@media(max-width:980px){.brands-cta .bl-grid{grid-template-columns:repeat(4,1fr);}}
@media(max-width:620px){.brands-cta .bl-grid{grid-template-columns:repeat(3,1fr);gap:12px;}.brands-cta .bl{min-height:78px;padding:16px 14px;}}

/* full services list */
.svc-list{padding:96px 0;border-top:1px solid var(--line);background:#f3efe8;}
.svc-list h2{font-size:clamp(1.8rem,3.6vw,2.6rem);font-weight:650;letter-spacing:-.03em;line-height:1.15;}
.svc-list h2 .am{color:var(--amber);}
.svc-list .sub{margin:16px 0 0;max-width:58ch;font-size:1.12rem;color:var(--ink-2);line-height:1.6;}
.svc-list .sl-grid{margin-top:52px;display:grid;grid-template-columns:repeat(3,1fr);gap:40px 56px;}
.svc-list .sl-col h3{font-size:1.18rem;font-weight:650;padding-bottom:12px;border-bottom:2px solid var(--amber);display:inline-block;}
.svc-list .sl-col ul{margin:18px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px;}
.svc-list .sl-col li{position:relative;padding-left:22px;color:var(--ink);font-size:1.02rem;line-height:1.4;}
.svc-list .sl-col li::before{content:"";position:absolute;left:2px;top:.55em;width:6px;height:6px;background:var(--amber);border-radius:50%;}
@media(max-width:860px){.svc-list .sl-grid{grid-template-columns:1fr;gap:34px;}}


/* === article pages (editorial inner-page template) === */
.art{padding:0 0 96px;}
.art .pagehead{padding:40px 0 0;}
.art .eyebrow{display:inline-block;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--amber);margin-bottom:18px;}

/* article breadcrumbs */
.art .crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:9px;font-size:.88rem;color:var(--ink-3);margin-bottom:24px;}
.art .crumbs a{color:var(--ink-3);border-bottom:0;}
.art .crumbs a:hover{color:var(--amber);}
.art .crumbs .sep{font-size:.72em;color:var(--ink-3);opacity:.6;}
.art .crumbs span[aria-current]{color:var(--ink-2);}

.art h1{font-size:clamp(2rem,4.4vw,3.1rem);font-weight:680;line-height:1.08;letter-spacing:-.03em;max-width:20ch;}
.art .lede{margin-top:22px;font-size:clamp(1.12rem,1.7vw,1.32rem);line-height:1.55;color:var(--ink-2);max-width:60ch;font-weight:400;}
.art .badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px;}
.art .badge{display:inline-flex;align-items:center;gap:8px;font-size:.9rem;font-weight:600;color:#1a1408;background:var(--amber);padding:7px 14px;border-radius:2px;}
.art .badge.is-soft{background:transparent;color:var(--ink);border:1.5px solid var(--line);}
.art .badge i{font-size:.92em;}
.art .body{margin-top:54px;display:grid;grid-template-columns:1fr;gap:0;max-width:760px;}
.art .body.has-aside{max-width:none;grid-template-columns:minmax(0,1fr) 312px;gap:64px;}
.art .body h2{font-size:clamp(1.5rem,2.6vw,2rem);font-weight:650;letter-spacing:-.02em;line-height:1.2;margin:48px 0 0;}
.art .body h2:first-child{margin-top:0;}
.art .body h3{font-size:1.24rem;font-weight:650;margin:34px 0 0;}
.art .body p{margin:16px 0 0;font-size:1.07rem;line-height:1.7;color:var(--ink-2);}
.art .body p strong,.art .body li strong{color:var(--ink);font-weight:650;}
.art .body a{font-weight:600;border-bottom:1.5px solid var(--amber);}
.art .body a:hover{color:var(--amber);}
.art .body ul{margin:18px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:11px;}
.art .body ul li{position:relative;padding-left:24px;font-size:1.05rem;line-height:1.5;color:var(--ink);}
.art .body ul li::before{content:"";position:absolute;left:3px;top:.62em;width:7px;height:7px;background:var(--amber);border-radius:50%;}
.art figure{margin:40px 0 0;}
.art figure img{display:block;width:100%;height:auto;border-radius:6px;background:#fff;}
.art figure figcaption{margin-top:10px;font-size:.92rem;color:var(--ink-3);}
.art .media-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:40px 0 0;}
.art .media-row figure{margin:0;}
/* price table */



/* article hero + gallery v2 */
.art figure.art-hero{margin:0 0 8px;}
.art figure.art-hero img{display:block;width:100%;height:auto;border-radius:8px;background:#fff;}
.art .art-gallery{margin:54px 0 0;}
.art .art-gallery .gal-h{font-size:1.05rem;font-weight:650;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-3);margin:0 0 20px;}
.art .gal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.art .gal-grid figure{margin:0;overflow:hidden;border-radius:6px;}
.art .gal-grid img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .35s ease;cursor:zoom-in;background:#fff;}
.art .gal-grid figure:hover img{transform:scale(1.05);}
@media(max-width:760px){.art .gal-grid{grid-template-columns:repeat(2,1fr);gap:10px;}.art figure.art-hero img{max-height:300px;}}

.art .pricing{margin:26px 0 0;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:#fffdf9;}
.art .pricing .row{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:15px 22px;border-bottom:1px solid var(--line);}
.art .pricing .row:last-child{border-bottom:0;}
.art .pricing .row .lbl{font-size:1.02rem;color:var(--ink);line-height:1.45;}
.art .pricing .row .amt{font-size:1.02rem;font-weight:650;color:var(--ink);white-space:nowrap;}
.art .pricing .row .amt.is-free{color:var(--amber);}
.art .pricing-note{margin-top:10px;font-size:.92rem;color:var(--ink-3);}
/* A price now carries "(cena bez PDV-a)", which is too wide to sit beside
   its label on a phone while .amt is nowrap. Stack the two instead. */
@media(max-width:640px){.art .pricing .row{flex-direction:column;align-items:flex-start;gap:4px;}.art .pricing .row .amt{white-space:normal;}}
/* reference chips */
.art .refs-block{margin:30px 0 0;}
.art .refs-block .refs-h{font-size:1.05rem;font-weight:650;color:var(--ink);}
.art .ref-list{margin-top:16px;display:flex;flex-wrap:wrap;gap:9px;list-style:none;padding:0;}
.art .ref-list li{padding:0;font-size:.96rem;color:var(--ink-2);border-radius:3px;padding:6px 12px;line-height:1.3;}
.art .ref-list li::before{display:none;}
/* aside (sticky CTA / facts) */
.art aside{align-self:start;position:sticky;top:96px;}
.art .aside-card{border:1px solid var(--line);border-radius:8px;padding:26px;background:#fffdf9;box-shadow:0 10px 30px rgba(24,23,21,.06);}
.art .aside-card h3{margin:0;font-size:1.15rem;font-weight:650;}
.art .aside-card p{margin:10px 0 0;font-size:.98rem;line-height:1.55;color:var(--ink-2);}
.art .aside-card .btn{margin-top:18px;width:100%;justify-content:center;}
.art .aside-card .ph{display:flex;align-items:center;gap:9px;margin-top:14px;font-weight:650;font-size:1.05rem;}
.art .aside-card .ph i{color:var(--amber);}
.art .aside-card .hrs{margin-top:8px;font-size:.9rem;color:var(--ink-3);}
/* inline CTA strip at bottom of body */
.art .cta-strip{margin-top:48px;border:1px solid var(--line);border-radius:8px;padding:30px 32px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px;}
.art .cta-strip .ct{font-size:1.15rem;font-weight:650;max-width:34ch;}
.art .cta-strip .row{display:flex;gap:14px;flex-wrap:wrap;}
@media(max-width:920px){
  .art .body.has-aside{grid-template-columns:1fr;gap:0;max-width:760px;}
  .art aside{position:static;margin-top:40px;}
  .art .media-row{grid-template-columns:1fr;}
}


/* === contact page === */

/* contact aside layout */
.lead-form .ff-row{display:grid;grid-template-columns:1fr 1fr;gap:0 16px;}
.lead-form{max-width:none;}

/* contact page wider aside */
.art .body.has-aside:has(.contact-aside){grid-template-columns:minmax(0,1fr) 312px;gap:64px;}
@media(max-width:560px){.lead-form .ff-row{grid-template-columns:1fr;}}

/* contact aside v2 */
.art .aside-card.contact-aside{padding:28px;}
.contact-aside h3{margin:0 0 20px;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-3);}
/* hero call action */
.contact-aside .ci-cta{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:0 14px;
  padding:16px 18px;border:1.5px solid var(--line);border-radius:8px;background:#fff;transition:border-color .15s,background .15s;}
.contact-aside .ci-cta:hover{border-color:var(--amber);}
.contact-aside .ci-cta i{grid-row:span 2;width:38px;height:38px;display:flex;align-items:center;justify-content:center;
  background:var(--amber);color:#1a1408;border-radius:50%;font-size:1rem;}
.contact-aside .ci-cta-num{font-size:1.3rem;font-weight:700;letter-spacing:-.01em;color:var(--ink);line-height:1.1;}
.contact-aside .ci-cta-sub{font-size:.86rem;color:var(--ink-3);font-weight:400;}
/* detail rows */
.art .body .contact-aside .ci-rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:18px;}
.contact-aside .ci-rows li::before{display:none;}
.art .body .contact-aside .ci-rows li{display:grid;grid-template-columns:22px 1fr;gap:0 13px;align-items:start;padding-left:0;}
.contact-aside .ci-rows li>i{color:var(--amber);font-size:.95rem;margin-top:3px;text-align:center;}
.contact-aside .ci-v{display:flex;flex-direction:column;gap:2px;min-width:0;}
.contact-aside .ci-k{font-size:.76rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);}
.contact-aside .ci-v>span,.contact-aside .ci-v>a{font-size:1.02rem;font-weight:400;color:var(--ink);line-height:1.4;overflow-wrap:anywhere;border-bottom:0;text-decoration:none;}

.contact-aside .ci-muted{color:var(--ink-3)!important;font-size:.92rem!important;}
.contact-aside .ci-sub{margin:24px 0 0;padding-top:20px;border-top:1px solid var(--line);font-size:.93rem;color:var(--ink-2);line-height:1.6;}
.contact-aside .contact-aside 
.contact-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:56px;align-items:start;}
.lead-form h2,.contact-info h2{margin:0 0 22px;font-size:1.5rem;font-weight:650;letter-spacing:-.02em;}
.lead-form .ff{display:flex;flex-direction:column;gap:7px;margin-bottom:16px;}
.lead-form label{font-size:.92rem;font-weight:600;color:var(--ink-2);}
.lead-form input,.lead-form select,.lead-form textarea{font:inherit;font-size:1rem;padding:12px 14px;border:1.5px solid var(--line);border-radius:4px;background:#fff;color:var(--ink);}
.lead-form input:focus,.lead-form select:focus,.lead-form textarea:focus{outline:none;border-color:var(--amber);}
.lead-form textarea{resize:vertical;}
.lead-form .cf-turnstile{margin:4px 0 16px;}
.lead-form .btn{width:100%;justify-content:center;}
.lead-form .cf-note{margin-top:12px;font-size:.9rem;color:var(--ink-3);}
.contact-info .ci-line{display:flex;align-items:center;gap:11px;margin:0 0 14px;font-size:1.06rem;font-weight:600;}
.contact-info .ci-line i{color:var(--amber);width:18px;text-align:center;}
.contact-info .ci-line span{font-weight:400;color:var(--ink-3);}
.contact-info .ci-sub{margin:18px 0 0;font-size:.95rem;color:var(--ink-2);line-height:1.6;}
.contact-info .contact-info @media(max-width:860px){.contact-grid{grid-template-columns:1fr;gap:40px;}}


/* lightbox */
.lightbox{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;
  background:rgba(16,15,12,.92);opacity:0;visibility:hidden;transition:opacity .22s ease,visibility .22s;padding:32px;}
.lightbox.is-open{opacity:1;visibility:visible;}
.lightbox img{max-width:min(1100px,94vw);max-height:90vh;width:auto;height:auto;border-radius:8px;box-shadow:0 24px 70px rgba(0,0,0,.5);}
.lightbox .lb-close{position:absolute;top:22px;right:26px;width:46px;height:46px;border:0;border-radius:50%;
  background:rgba(255,255,255,.1);color:#fff;font-size:1.3rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s;}
.lightbox .lb-close:hover{background:rgba(255,255,255,.22);}
.lightbox .lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:50px;height:50px;border:0;border-radius:50%;
  background:rgba(255,255,255,.1);color:#fff;font-size:1.4rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s;}
.lightbox .lb-nav:hover{background:rgba(255,255,255,.22);}
.lightbox .lb-prev{left:24px;}.lightbox .lb-next{right:24px;}
@media(max-width:620px){.lightbox .lb-nav{width:40px;height:40px;}.lightbox .lb-prev{left:8px;}.lightbox .lb-next{right:8px;}}

.contact{position:relative;padding:120px 0;background:#14130f;overflow:hidden;isolation:isolate;}
.contact .contact-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right center;z-index:-2;}
.contact .contact-bg-blur{filter:blur(22px) saturate(1.05);transform:scale(1.1);}
.contact .contact-bg-sharp{z-index:-2;
  -webkit-mask-image:
    linear-gradient(to right, transparent 0, #000 14%, #000 86%, transparent 100%),
    linear-gradient(to bottom, transparent 0, #000 14%, #000 86%, transparent 100%);
  -webkit-mask-composite:source-in;
  mask-image:
    linear-gradient(to right, transparent 0, #000 14%, #000 86%, transparent 100%),
    linear-gradient(to bottom, transparent 0, #000 14%, #000 86%, transparent 100%);
  mask-composite:intersect;}
/* left-dark scrim: image stays bright on the right (panel), fades to near-black
   on the left so the white CTA text is legible */
.contact::before{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(90deg, rgba(15,14,11,.92) 0%, rgba(15,14,11,.82) 34%, rgba(15,14,11,.35) 64%, rgba(15,14,11,.15) 100%);}
.contact .wrap{position:relative;}
.contact h2{font-size:clamp(2rem,4vw,3rem);font-weight:650;max-width:16ch;letter-spacing:-.03em;color:#fff;}
.contact h2 .am{color:var(--amber);}
.contact .row{display:flex;gap:18px;flex-wrap:wrap;margin-top:34px;align-items:center;}

/* contact buttons on dark image — high contrast over the photo */
.contact .row .btn{padding:15px 26px;font-size:1.02rem;border-radius:3px;}
.contact .row .btn-solid{background:var(--amber);border-color:var(--amber);color:#1a1408;box-shadow:0 6px 20px rgba(0,0,0,.35);}
.contact .row .btn-solid:hover{background:var(--amber);filter:brightness(1.08);}
.contact .row .btn-out{background:rgba(255,255,255,.06);border-color:#fff;color:#fff;backdrop-filter:blur(2px);}
.contact .row .btn-out:hover{background:#fff;color:#181715;}

.contact .hours{color:rgba(255,255,255,.78);margin-top:24px;font-size:1.02rem;}
.contact .hours i{color:var(--amber);margin-right:8px;}
footer{background:var(--dark);color:var(--dark-2);padding:104px 0 40px;position:relative;}
footer::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(232,163,23,.5),transparent);}
.fcols{display:grid;grid-template-columns:2.2fr 1fr 1fr 1.3fr;gap:64px;}
.fcols .brand{color:var(--dark-ink);display:inline-block;}
.fcols .brand-logo{height:50px;width:auto;}
.fcols .tag{margin-top:22px;max-width:34ch;line-height:1.75;color:var(--dark-2);font-size:.98rem;}
.fcols h4{color:var(--dark-ink);font-size:.78rem;font-weight:600;margin:0 0 22px;text-transform:uppercase;letter-spacing:.14em;opacity:.72;}
.fcols a,.fcols p{display:block;margin:13px 0;font-size:.98rem;line-height:1.4;color:var(--dark-2);transition:color .15s ease;}
.fcols a:hover{color:var(--dark-ink);}
.grp{margin-top:18px;display:block;}
.grp a{display:inline;margin:0;color:var(--amber);font-weight:600;}
.fcols .grp{margin-top:26px;font-size:.92rem;color:var(--dark-2);}
.fcols .grp a{display:inline;margin:0;color:var(--dark-ink);font-weight:500;border-bottom:1px solid rgba(232,163,23,.4);padding-bottom:1px;}
.fcols .grp a:hover{border-bottom-color:var(--amber);color:var(--amber);}
.fbot .madeby{display:inline-flex;align-items:center;gap:8px;}
.fbot .madeby img{height:15px;width:auto;display:block;position:relative;top:0;}
.fbot{margin-top:80px;padding-top:30px;border-top:1px solid var(--dark-line);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.86rem;letter-spacing:.01em;color:var(--dark-2);opacity:.62;}

/* === nav dropdowns === */
.navi{position:relative;}
.navi-top,.navi-link{display:inline-flex;align-items:center;gap:7px;font:inherit;font-size:1rem;color:var(--ink-2);background:none;border:0;cursor:pointer;padding:10px 12px;border-radius:4px;line-height:1;}
.navi-top i{font-size:.66em;transition:transform .2s ease;color:var(--ink-3);}
.navi-top:hover,.navi-link:hover,.navi:hover .navi-top{color:var(--ink);}
.navi:hover .navi-top i{transform:rotate(180deg);}
.dropdown{position:absolute;top:calc(100% + 6px);left:0;min-width:248px;background:#fff;border:1px solid var(--line);border-radius:8px;
  box-shadow:0 18px 44px rgba(24,23,21,.14);padding:8px;display:flex;flex-direction:column;gap:1px;
  opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .16s ease,transform .16s ease,visibility .16s;z-index:60;}
.navi:hover .dropdown,.navi:focus-within .dropdown{opacity:1;visibility:visible;transform:translateY(0);}
.dropdown::before{content:"";position:absolute;top:-6px;left:0;right:0;height:6px;}
.dropdown a{display:block;padding:10px 14px;font-size:.98rem;color:var(--ink-2);border-radius:5px;border-bottom:0;white-space:nowrap;}
.dropdown a:hover{color:var(--ink);}



/* === mega menu === */
.navi-mega{position:relative;}
.dropdown.mega{left:0;right:auto;min-width:560px;flex-direction:row;gap:8px;padding:20px;}
.mega-col{display:flex;flex-direction:column;gap:1px;min-width:230px;}
.mega-col-brands{padding-left:22px;border-left:1px solid var(--line);min-width:248px;}
.mega-h{font-size:.74rem;font-weight:600;text-transform:uppercase;letter-spacing:.13em;color:var(--ink-3);padding:4px 14px 10px;}
.mega-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px 4px;}
.mega .mega-grid a{padding:9px 14px;}

.navtog{display:none;background:none;border:0;color:var(--ink);font-size:1.5rem;line-height:1;cursor:pointer;padding:8px;margin-left:auto;}
.mbar{display:none;}
@media(max-width:860px){
  /* header: logo + hamburger only; call+contact move to bottom bar */
  .navtog{display:block;}
  .nav .r{display:none;}
  .nav{gap:16px;}
  .nav nav{position:fixed;top:0;right:0;bottom:0;width:min(340px,85vw);
    flex-direction:column;align-items:stretch;gap:0;z-index:100;
    background:var(--paper);box-shadow:-8px 0 32px rgba(24,23,21,.18);
    padding:0;overflow-y:auto;-webkit-overflow-scrolling:touch;
    transform:translateX(100%);transition:transform .28s ease;display:flex !important;}
  header.nav-open nav{transform:translateX(0);}
  
  .navi{position:static;border-bottom:1px solid var(--line);}
  .navi-top{width:100%;justify-content:space-between;padding:14px 24px;
    font-size:1rem;font-weight:600;color:var(--ink);}
  .navi-link{display:block;padding:14px 24px;font-size:1rem;font-weight:600;
    color:var(--ink);border-bottom:1px solid var(--line);}
  .dropdown{position:static;opacity:1;visibility:visible;transform:none;
    box-shadow:none;border:0;border-radius:0;padding:0 0 10px;
    min-width:0;display:none;background:rgba(24,23,21,.03);}
  .dropdown.mega{display:none;flex-direction:column;min-width:0;padding:0 0 10px;gap:0;}
  .navi.is-open .dropdown.mega,.navi.is-open .dropdown{display:flex;flex-direction:column;}
  .navi.is-open .navi-top i{transform:rotate(180deg);}
  .mega-col{min-width:0;}
  .mega-col-brands{padding-left:0;border-left:0;border-top:1px solid var(--line);margin-top:4px;padding-top:4px;}
  .mega-h{padding:10px 32px 6px;font-size:.7rem;letter-spacing:.14em;color:var(--ink-3);}
  .mega-grid{grid-template-columns:1fr 1fr;gap:0;}
  .mega .mega-grid a{padding:9px 32px;font-size:.94rem;}
  .dropdown a{padding:10px 32px;font-size:.96rem;}
  .why .pts{grid-template-columns:1fr;gap:36px;}
  .coverage .cov-grid{grid-template-columns:1fr;gap:18px;}
  .srow{grid-template-columns:1fr auto;gap:8px 20px;}
  .srow p{display:none;}
  .fcols{grid-template-columns:1fr 1fr;gap:32px;}
  /* bottom action bar — safe across phone heights/notches */
  body{padding-bottom:calc(56px + env(safe-area-inset-bottom));}
  .mbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--ink);
    padding-bottom:max(env(safe-area-inset-bottom),0px);}
  @supports(height:100dvh){
    /* anchor against the dynamic (small) viewport so the browser's bottom UI
       can't slice the buttons on mobile Safari/Chrome */
    .mbar{position:fixed;top:auto;bottom:0;}
  }
  .mbar a{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;
    min-height:56px;padding:0 12px;font-weight:650;font-size:.98rem;color:var(--paper);
    white-space:nowrap;}
  .mbar a i{font-size:.9em;}
  .mbar .q{background:var(--amber);color:#1a1408;}
  /* hide ribbon on mobile */
  .ribbon{display:none;}
}
@media(max-width:540px){
  .fcols{grid-template-columns:1fr;}
  .hero{padding:64px 0 56px;}
}

.ribbon{position:relative;z-index:10;overflow:hidden;width:100%;margin-top:-110px;}
.ribbon svg{display:block;width:100%;height:300px;filter:drop-shadow(0 10px 18px rgba(24,23,21,.22));}
.rib-text{fill:#efece6;font-family:var(--font);font-weight:560;font-size:15px;letter-spacing:.08em;text-transform:uppercase;}
@media(max-width:760px){/* ribbon-mobile */ .ribbon{margin-top:-90px;}}
.rib-text-mid{display:none;}
@media(max-width:1280px){.rib-text-wide{display:none;}.rib-text-mid{display:block;}}
@media(max-width:640px){.ribbon svg{height:160px;}}
@media(max-width:480px){.ribbon{margin-top:-64px;}.ribbon svg{height:130px;}}
@media(max-width:860px){
  .cov-ribbon{display:none;}
  .cov-rib-fallback{display:block;font-size:clamp(1.9rem,6vw,2.4rem);font-weight:650;max-width:18ch;letter-spacing:-.03em;line-height:1.15;margin-bottom:36px;}
  .coverage .cov-grid{margin-top:0;}
  .cov-rib-fallback .am{color:var(--amber);}
}

.coverage .cov .cov-cap-br .cov-title{justify-content:flex-end;}


.err-page { padding: 120px 0 80px; text-align: center; }
.err-page h1 { font-size: 2rem; margin-bottom: 12px; }
.err-page p { color: var(--ink-soft); margin-bottom: 32px; }
.err-links { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

.cf-ok,.cf-err { padding: 14px 18px; border-radius: 6px; font-size: 14px; line-height: 1.5; margin-bottom: 20px; }
.cf-ok { background: #eaf5e6; color: #2a5a1a; border: 1px solid #b8dba8; }
.cf-ok i { color: #3a8a2a; margin-right: 6px; }
.cf-err { background: #fdf0ee; color: #8a2a1a; border: 1px solid #e8b8a8; }
.cf-err i { color: #c0392b; margin-right: 6px; }

.art .body .lead-form h2 { margin: 0 0 22px; }

.ci-map { margin-top: 20px; border-radius: 10px; overflow: hidden; width: 100%; border: 1px solid rgba(24,23,21,.1); }
.ci-map iframe { display: block; width: 100%; height: 280px; border: 0; }

@media(max-width:860px){
  .art .body.has-aside:has(.contact-aside){grid-template-columns:1fr;gap:40px;}
  aside .contact-aside{position:static;}
  .ci-map{margin-top:24px;}
}
@media(max-width:480px){
  .lead-form .ff-row{grid-template-columns:1fr;gap:0;}
  .art .aside-card.contact-aside{padding:20px;}
  .contact-aside .ci-rows{gap:14px;}
}

.nav-side-head{display:none;}
.nav-side-cta{display:none;}
@media(max-width:860px){
  .nav-side-head{display:flex;justify-content:flex-end;padding:12px 16px;border-bottom:1px solid var(--line);}
  .nav-close{background:none;border:0;font-size:1.4rem;color:var(--ink);cursor:pointer;padding:8px;line-height:1;}
  .nav-side-cta{display:flex;flex-direction:column;gap:12px;padding:24px;margin-top:auto;border-top:1px solid var(--line);}
  .nav-side-cta .btn{width:100%;justify-content:center;}
  .nav-side-tel{display:flex;align-items:center;justify-content:center;gap:8px;font-weight:650;font-size:1rem;color:var(--ink);}
  .nav-side-tel i{color:var(--amber);}
}

.nav-overlay{display:none;position:fixed;inset:0;z-index:99;background:rgba(24,23,21,.45);backdrop-filter:blur(2px);}
header.nav-open .nav-overlay{display:block;}

header.nav-open{backdrop-filter:none;overflow:visible;}
