:root{
  /* Cambia --brand por el azul exacto del logo de ProBuild */
  --brand:#173F78;
  --brand-dk:#0F2C57;
  --brand-lt:#6FA8F0;
  --gold:#F0B323;
  --ink:#121A26;
  --deep:#0A1628;
  --deep2:#10203A;
  --grey:#66707C;
  --line:#D6DCE4;
  --paper:#EEF1F5;
  --white:#fff;
  --wrap:1200px;
  --pad:clamp(20px,5vw,40px);
  --disp:"Montserrat",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --body:"Montserrat",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --script:"Great Vibes","Brush Script MT",cursive;
  --black:#0B0B0E;
  --graphite:#18181C;
  --badge:#26262C;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--ink);font-family:var(--body);font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block;font-size:0;color:transparent}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--disp);font-weight:800;line-height:1.1;margin:0}
h1{font-size:clamp(2.4rem,5.2vw,4.1rem);letter-spacing:-.01em}
h2{font-size:clamp(1.8rem,3.4vw,2.6rem);font-weight:800}
h3{font-size:1.15rem;line-height:1.3;font-weight:700}
p{margin:0 0 1em;max-width:66ch}
.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:var(--pad)}
.sec{padding-block:clamp(64px,9vw,120px);position:relative}
.sec--paper{background:var(--paper)}
.sec--deep{background:var(--deep);color:#D7DEE8}
.sec--deep>.wrap{position:relative;z-index:1}
.slant-t{clip-path:polygon(0 0,100% 64px,100% 100%,0 100%);padding-top:clamp(100px,12vw,160px)}
.slant-b{clip-path:polygon(0 0,100% 0,100% 100%,0 calc(100% - 64px));padding-bottom:clamp(100px,12vw,160px)}
.slant-tb{clip-path:polygon(0 0,100% 64px,100% 100%,0 calc(100% - 64px));padding-block:clamp(100px,12vw,160px)}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
.sec--deep h2,.sec--deep h3{color:#fff}
.lead{font-size:1.15rem;color:var(--grey);max-width:58ch}
.sec--deep .lead{color:#A9B4C4}
.kicker{font-family:var(--disp);color:var(--brand);}
.sec--deep .kicker,.hero .kicker{color:var(--brand-lt);}
.kicker{font-size:1.05rem;font-weight:500;display:inline-block;margin-bottom:.8rem;letter-spacing:.02em}
.center{text-align:center}
.center .lead,.center p{margin-inline:auto}
:focus-visible{outline:3px solid var(--brand);outline-offset:3px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--disp);font-weight:500;font-size:1.08rem;letter-spacing:.02em;padding:.9em 1.7em;border:2px solid transparent;border-radius:3px;text-decoration:none;cursor:pointer;transition:transform .15s,background .15s,color .15s,border-color .15s,box-shadow .15s}
.btn:hover{transform:translateY(-2px)}
.btn--brand{background:var(--brand);color:#fff;border-color:var(--brand);box-shadow:0 8px 24px rgba(26,86,166,.35)}
.btn--brand:hover{background:var(--brand-dk);border-color:var(--brand-dk);color:#fff}
.btn--ghost{border-color:currentColor;background:transparent}
.btn--ghost:hover{background:#fff;color:var(--ink);border-color:#fff}
.sec:not(.sec--deep) .btn--ghost:hover,.trust .btn--ghost:hover{background:var(--brand);color:#fff;border-color:var(--brand)}
.btn--dark{background:var(--ink);color:#fff;border-color:var(--ink)}
.btn--dark:hover{background:#000}
.btns{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:2rem}

/* reveal */
html.js .rv{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
html.js .rv.in{opacity:1;transform:none}
.rv.d1{transition-delay:.1s}.rv.d2{transition-delay:.2s}.rv.d3{transition-delay:.3s}.rv.d4{transition-delay:.4s}

/* partner strip */
.partners{padding-block:2.6rem 0}
.partners .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1.2rem 3.2rem;color:var(--grey);font-size:.92rem}
.partners img{height:42px;width:auto;opacity:.8;filter:grayscale(1);transition:filter .2s,opacity .2s}
.partners img:hover{filter:none;opacity:1}
.partners .pill{border:1px solid var(--line);padding:.45rem .9rem;border-radius:99px;font-weight:500;color:var(--brand);background:#F3F7FC}

/* ---------- services (photo tiles) ---------- */
.tiles{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:270px;gap:1.1rem}
.tile{position:relative;overflow:hidden;border-radius:8px;text-decoration:none;color:#fff;background:#B9C2CE;display:block}
.tile img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.tile:hover img{transform:scale(1.07)}
.tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 35%,rgba(7,15,30,.92) 100%)}
.tile-tx{position:absolute;left:0;right:0;bottom:0;padding:1.3rem 1.4rem;z-index:1}
.tile h3{font-size:1.55rem;color:#fff;margin-bottom:.35rem}
.tile p{color:#C9CEC9;font-size:.93rem;margin:0;max-height:0;opacity:0;overflow:hidden;transition:max-height .4s ease,opacity .4s ease}
.tile:hover p,.tile:focus p{max-height:6em;opacity:1}
.tile .go{position:absolute;right:1.2rem;top:1.2rem;z-index:1;background:var(--brand);color:#fff;font-family:var(--disp);font-size:.85rem;padding:.3rem .65rem;border-radius:2px;opacity:0;transition:opacity .3s}
.tile:hover .go{opacity:1}
.tile--wide{grid-column:span 2;grid-row:span 2}
.tile--wide h3{font-size:2.1rem}
.tiles-more{margin-top:2rem;text-align:center}

/* ---------- 3D design ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.2rem,6vw,5rem);align-items:center}
.stack{position:relative;aspect-ratio:5/4}
.stack img{position:absolute;width:78%;aspect-ratio:4/3;object-fit:cover;border-radius:6px;box-shadow:0 24px 50px rgba(18,26,38,.22);background:#DCE1E8}
.stack .s1{left:0;top:0;z-index:2}
.stack .s2{right:0;bottom:0;z-index:1}
.stack .tag{position:absolute;z-index:3;left:6%;bottom:8%;background:var(--brand);color:#fff;font-family:var(--disp);padding:.55rem .9rem;border-radius:3px;font-size:1rem;box-shadow:0 10px 24px rgba(0,0,0,.35)}
.checks{list-style:none;padding:0;margin:1.5rem 0 0;display:grid;gap:.7rem}
.checks li{padding-left:2rem;position:relative}
.checks li::before{content:"";position:absolute;left:0;top:.35rem;width:18px;height:18px;border-radius:50%;background:var(--brand)}
.checks li::after{content:"";position:absolute;left:6px;top:.62rem;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}

/* ---------- why + counters ---------- */
.why{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem}
.wcard{background:#fff;border:1px solid var(--line);border-radius:10px;padding:1.8rem 1.5rem;box-shadow:0 10px 30px rgba(18,26,38,.06)}
.wcard svg{background:#EAF1FA;border-radius:50%;padding:9px;box-sizing:content-box}
.wcard svg{width:40px;height:40px;color:var(--brand);margin-bottom:1rem}
.wcard h3{margin-bottom:.5rem}
.wcard p{font-size:.95rem;color:var(--grey);margin:0}
.counters{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:3.6rem;padding-top:3rem;border-top:1px solid var(--line)}
.counter{text-align:center}
.counter b{display:block;font-family:var(--disp);font-size:clamp(2.6rem,5vw,3.8rem);line-height:1;color:var(--ink)}
.counter span{font-size:.92rem;color:var(--grey)}

/* ---------- before / after ---------- */
.ba{position:relative;aspect-ratio:16/9;max-height:620px;overflow:hidden;border-radius:6px;background:#DCE1E8;user-select:none;cursor:ew-resize;box-shadow:0 30px 60px rgba(0,0,0,.35)}
.ba img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ba .after{clip-path:inset(0 0 0 50%)}
.ba .bar{position:absolute;top:0;bottom:0;left:50%;width:3px;background:#fff;transform:translateX(-50%);pointer-events:none}
.ba .knob{position:absolute;top:50%;left:50%;width:52px;height:52px;border-radius:50%;background:var(--brand);transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;font-family:var(--disp);color:#fff;box-shadow:0 8px 20px rgba(0,0,0,.4);pointer-events:none}
.ba .lbl{position:absolute;top:1rem;font-family:var(--disp);background:rgba(7,15,30,.75);color:#fff;padding:.35rem .7rem;border-radius:2px;font-size:.95rem;pointer-events:none}
.ba .lbl.l{left:1rem}.ba .lbl.r{right:1rem}
.ba input{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:ew-resize}

/* ---------- owner ---------- */
.owner{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2.4rem,6vw,5rem);align-items:center}
.oframe{position:relative;padding:0 1.4rem 1.4rem 0}
.oframe::before{content:"";position:absolute;right:0;bottom:0;width:82%;height:82%;background:var(--brand);border-radius:999px 999px 6px 6px;z-index:0}
.oframe .otag{position:absolute;z-index:2;left:-14px;bottom:14%;background:#fff;border-radius:10px;padding:.8rem 1rem;box-shadow:0 20px 44px rgba(0,0,0,.2);display:flex;align-items:center;gap:.7rem;animation:floaty 7s ease-in-out infinite}
.oframe .otag b{font-family:var(--disp);font-size:1.15rem;display:block;line-height:1.1}
.oframe .otag small{color:var(--grey);font-size:.8rem}
.oframe .otag .ico{width:38px;height:38px;border-radius:50%;background:var(--brand);color:#fff;display:flex;align-items:center;justify-content:center;flex:none}
.oframe .otag svg{width:20px;height:20px}
.oframe img{position:relative;z-index:1;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:999px 999px 6px 6px;background:#DCE1E8}
.oquote{font-family:var(--disp);font-size:clamp(1.5rem,2.6vw,2rem);line-height:1.25;font-weight:400;color:var(--ink);margin-bottom:1.4rem}
.osig{font-family:var(--disp);font-size:1.35rem;margin-top:1.4rem}
.osig span{display:block;font-family:var(--body);font-size:.92rem;color:var(--grey)}

/* ---------- process ---------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1.6rem;counter-reset:s;position:relative}
.steps::before{content:"";position:absolute;left:0;right:0;top:34px;height:2px;background:linear-gradient(90deg,var(--brand),rgba(26,86,166,.1))}
.step{position:relative;padding-top:5.2rem}
.step::before{counter-increment:s;content:counter(s);position:absolute;left:0;top:0;width:68px;height:68px;border-radius:50%;background:var(--brand);color:#fff;font-family:var(--disp);font-size:1.9rem;font-weight:600;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 8px #fff,0 12px 24px rgba(26,86,166,.25)}
.step h3{margin-bottom:.45rem}
.step p{font-size:.95rem;color:var(--grey);margin:0}

/* ---------- gallery ---------- */
.gal{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;gap:.8rem}
.gal figure{margin:0;position:relative;overflow:hidden;border-radius:8px;background:#DCE1E8}
.gal figure:nth-child(1){grid-column:span 2;grid-row:span 2}
.gal figure:nth-child(4){grid-row:span 2}
.gal figure:nth-child(6){grid-column:span 2}
.gal img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.gal figure:hover img{transform:scale(1.06)}
.gal figcaption{position:absolute;left:0;right:0;bottom:0;padding:.8rem .9rem;background:linear-gradient(transparent,rgba(7,15,30,.88));color:#fff;font-size:.86rem}

/* ---------- reviews carousel ---------- */
.gbadge{display:inline-flex;align-items:center;gap:.8rem;background:#fff;border:1px solid var(--line);border-radius:99px;padding:.55rem 1.1rem .55rem .8rem;margin-bottom:1.6rem;box-shadow:0 8px 24px rgba(0,0,0,.06)}
.gbadge .g{font-family:var(--disp);font-size:1.3rem;font-weight:600}
.gbadge .gstars{font-size:1.1rem}
.gbadge small{color:var(--grey);font-size:.85rem}
.car{position:relative;overflow:hidden}
.track{display:flex;gap:1.3rem;transition:transform .6s ease}
.rev{flex:0 0 calc((100% - 2.6rem)/3);background:#fff;border:1px solid var(--line);border-radius:10px;padding:1.8rem;position:relative;box-shadow:0 10px 30px rgba(18,26,38,.05)}
.rev::before{content:"“";position:absolute;right:1.2rem;top:.4rem;font-family:var(--disp);font-size:5rem;line-height:1;color:var(--brand);opacity:.35}
.rev h4{font-family:var(--disp);font-size:1.2rem;margin:.5rem 0 .3rem;color:var(--brand)}
.rev blockquote{margin:0 0 1.4rem;font-size:1rem}
.rev .loc{display:inline-flex;align-items:center;gap:.3rem;color:var(--grey);font-size:.82rem}
.rev .loc svg{width:14px;height:14px}
.rev .who{display:flex;align-items:center;gap:.8rem}
.rev .av{width:44px;height:44px;border-radius:50%;background:var(--brand);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--disp);font-size:1.1rem;flex:none}
.rev cite{font-style:normal;font-family:var(--disp);font-size:1.05rem}
.rev small{display:block;color:var(--grey);font-size:.84rem;font-family:var(--body)}
.car-nav{display:flex;gap:.6rem;justify-content:center;margin-top:1.6rem}
.car-nav button{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:#fff;cursor:pointer;font-size:1.2rem;transition:background .15s}
.car-nav button:hover{background:var(--brand);color:#fff;border-color:var(--brand)}

/* ---------- video ---------- */
.video{position:relative;aspect-ratio:16/9;max-width:960px;margin:2.4rem auto 0;border-radius:8px;overflow:hidden;background:#DCE1E8;box-shadow:0 24px 60px rgba(18,26,38,.22)}
.video img{width:100%;height:100%;object-fit:cover;opacity:.9}
.video .play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:92px;height:92px;border-radius:50%;background:var(--brand);display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 14px rgba(26,86,166,.25);text-decoration:none}
.video .play::after{content:"";border-left:26px solid #fff;border-top:16px solid transparent;border-bottom:16px solid transparent;margin-left:6px}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* ---------- financing band ---------- */
.band{position:relative;color:#fff;overflow:hidden;background:var(--deep)}
.band>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.band::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(18,64,127,.96) 0%,rgba(26,86,166,.86) 55%,rgba(7,15,30,.55) 100%)}
.band .wrap{position:relative;z-index:1;text-align:center;padding-block:clamp(80px,11vw,140px)}
.band h2{color:#fff;font-size:clamp(2.2rem,5vw,4rem);max-width:18ch;margin-inline:auto}
.band p{color:#D8E6F8;font-size:1.15rem;margin:1rem auto 0}
.band .btns{justify-content:center}
.band .btn--white{background:#fff;color:var(--brand);border-color:#fff}
.band .btn--white:hover{background:var(--deep);color:#fff;border-color:var(--deep)}
.band .btn--ghost{color:#fff}

/* ---------- faq ---------- */
.faq{max-width:860px;margin-inline:auto}
.faq details{background:#fff;border:1px solid var(--line);border-radius:8px;margin-bottom:.7rem;overflow:hidden}
.faq summary{cursor:pointer;list-style:none;padding:1.15rem 3rem 1.15rem 1.4rem;position:relative;font-family:var(--disp);font-size:1.15rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:1.2rem;top:50%;transform:translateY(-50%);width:30px;height:30px;border-radius:50%;background:var(--brand);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.3rem;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq details p{padding:0 1.4rem 1.3rem;color:var(--grey);margin:0}

/* ---------- quote ---------- */
.quote{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2.2rem,6vw,5rem);align-items:start}
.qside img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:6px;margin-top:1.8rem;background:#DCE1E8}
.form{display:grid;grid-template-columns:1fr 1fr;gap:1rem;background:#fff;border:1px solid var(--line);border-top:4px solid var(--brand);padding:1.8rem;border-radius:6px;box-shadow:0 20px 50px rgba(18,26,38,.08)}
.form label{display:flex;flex-direction:column;gap:.4rem;font-size:.88rem;color:var(--grey)}
.form .full{grid-column:1/-1}
.form input,.form select,.form textarea{font:inherit;font-size:1rem;padding:.78rem .85rem;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:3px}
.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--brand);outline:0;box-shadow:0 0 0 3px rgba(26,86,166,.15)}
.form textarea{min-height:110px;resize:vertical}
.hp{position:absolute;left:-9999px}
.form .btn{width:100%}
.form small{color:var(--grey);font-size:.82rem}

/* ---------- areas ---------- */
.areas{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.counties{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:1.6rem}
.county{background:#fff;border:1px solid var(--line);border-radius:10px;padding:1.1rem 1.2rem}
.county h3{font-size:1.05rem;color:var(--brand);display:flex;align-items:center;gap:.4rem;margin-bottom:.6rem}
.county h3 svg{width:16px;height:16px}
.county .cities{margin-top:0;gap:.35rem}
.county .cities a{padding:.3rem .7rem;font-size:.88rem}
.cities{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.3rem}
.cities a{text-decoration:none;border:1px solid var(--line);padding:.45rem .9rem;font-size:.93rem;background:#fff;border-radius:99px;transition:background .15s,color .15s}
.cities a:hover{background:var(--brand);color:#fff;border-color:var(--brand)}
.cities--sub a{background:transparent;color:var(--grey)}
.map{width:100%;height:auto;border-radius:12px;display:block}

/* ---------- footer ---------- */
.ftr{background:var(--deep);color:#9AA6B8;padding-top:clamp(56px,7vw,84px);font-size:.95rem}
.ftr a{text-decoration:none}
.ftr a:hover{color:#fff}
.ftr-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:2.6rem}
.ftr h4{color:#fff;font-size:1.05rem;margin-bottom:1rem}
.ftr-col a{display:block;padding:.24rem 0}
.ftr .plate{display:inline-block;background:#fff;padding:.55rem .8rem;border-radius:4px;margin-bottom:1.1rem}
.ftr .logo{height:44px;width:auto}
.ftr-phone{font-family:var(--disp);font-size:1.7rem;color:#fff;display:inline-block;margin-top:.5rem}
.ftr .soc{display:flex;gap:1.2rem;margin-top:1rem}
.ftr-form{display:flex;gap:.5rem;margin-top:.9rem}
.ftr-form input{flex:1;min-width:0;font:inherit;padding:.7rem .8rem;border:1px solid #34507A;background:#0A1628;color:#fff;border-radius:3px}
.ftr-form .btn{padding:.7em 1.1em;font-size:.95rem}
.ftr .soc a{color:#fff;font-weight:500}
.ftr-bottom{margin-top:3rem;border-top:1px solid #23395C;padding-block:1.3rem 1.6rem;display:flex;flex-wrap:wrap;gap:.6rem 1.5rem;justify-content:space-between;font-size:.86rem}

/* ---------- mobile bar ---------- */
.mbar{position:fixed;left:0;right:0;bottom:0;z-index:70;display:none;grid-template-columns:1fr 1fr;box-shadow:0 -6px 20px rgba(0,0,0,.2)}
.mbar a{text-decoration:none;text-align:center;padding:1rem;font-family:var(--disp);font-size:1.05rem}
.mbar .call{background:var(--ink);color:#fff}
.mbar .q{background:var(--brand);color:#fff}

/* ---------- responsive ---------- */
@media (max-width:1020px){
  .tiles,.gal,.why,.counters,.steps,.trust-grid{grid-template-columns:repeat(2,1fr)}
  .tiles{grid-auto-rows:230px}
  .tile--wide{grid-column:span 2;grid-row:span 1}
  .gal{grid-auto-rows:200px}
  .gal figure:nth-child(1){grid-column:span 2;grid-row:span 1}
  .gal figure:nth-child(4){grid-row:span 1}
  .gal figure:nth-child(6){grid-column:span 1}
  .steps::before{display:none}
  .split,.owner,.quote,.areas,.band .wrap{grid-template-columns:1fr}
  .rev{flex-basis:calc((100% - 1.3rem)/2)}
  .ftr-grid{grid-template-columns:1fr 1fr}
  .nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;color:var(--ink);flex-direction:column;align-items:stretch;gap:0;border-bottom:1px solid var(--line);padding:.5rem 0;box-shadow:0 20px 40px rgba(0,0,0,.15)}
  .nav.open{display:flex}
  .nav>*{padding:.75rem var(--pad)}
  .sub{position:static;display:flex;border:0;box-shadow:none;padding:.3rem 0 0 .8rem}
  .burger{display:block}
  .hdr-cta .btn{display:none}
  .hero{min-height:auto}
  .brand img{height:40px}
  .util .util-l a:not(:first-child),.util .util-l span,.util .soc{display:none}
  .util .wrap{justify-content:center;gap:.3rem 1rem}
  .dots{display:none}
  .hero-badges{position:static;transform:none;width:auto;height:auto;display:flex;flex-wrap:wrap;gap:.7rem;padding:0 var(--pad) 2.2rem}
  .fb{position:static;animation:none;padding:.7rem .9rem}
  .fb b{font-size:1.3rem}
  .slant-t,.slant-b,.slant-tb{clip-path:none;padding-block:clamp(56px,9vw,90px)}
  .oframe .otag{left:0}
  .mbar{display:grid}
  body{padding-bottom:58px}
}
@media (max-width:600px){
  .tiles,.gal,.why,.counters,.trust-grid,.ftr-grid{grid-template-columns:1fr}
  .tile--wide{grid-column:span 1}
  .tiles{grid-auto-rows:210px}
  .steps{grid-template-columns:1fr}
  .form{grid-template-columns:1fr;padding:1.3rem}
  .rev{flex-basis:100%}
  .trust{margin-top:-40px}
  .counties{grid-template-columns:1fr}
  .hero-in{padding-bottom:90px}
}
@media (prefers-reduced-motion:reduce){
  *{transition:none!important;animation:none!important;scroll-behavior:auto!important}
  .rv{opacity:1;transform:none}
  .slide img{transform:none}
}

/* ================= AZ-TOP STYLE HEADER + HERO ================= */
.util{background:var(--graphite);color:#B4BECC;font-size:.84rem;position:relative;z-index:61}
.util .wrap{display:flex;flex-wrap:wrap;gap:.35rem 1.6rem;align-items:center;justify-content:space-between;padding-block:.5rem}
.util a{text-decoration:none}
.util a:hover{color:#fff}
.util-l,.util-r{display:flex;flex-wrap:wrap;gap:.35rem 1.4rem;align-items:center}
.util b{color:var(--brand-lt);font-weight:600}
.util .soc a{margin-left:.9rem;color:#fff;font-weight:500}

.hdr{position:sticky;top:0;z-index:60;background:var(--black);color:#fff;border-bottom:0;transition:box-shadow .3s}
.hdr.solid{box-shadow:0 8px 30px rgba(0,0,0,.45)}
.hdr .wrap{display:flex;align-items:center;gap:1.4rem;padding-block:.9rem}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;background:#fff;border-radius:10px;padding:.4rem .8rem;box-shadow:0 6px 18px rgba(0,0,0,.35)}
.brand img{height:44px;width:auto}
.brand .word{font-family:var(--disp);font-size:1.3rem;font-weight:800;display:none;color:var(--brand-lt)}
.brand img[data-broken]~.word{display:block}
.nav{margin:0 auto;display:flex;align-items:center;gap:1.7rem}
.nav a{text-decoration:none;font-weight:500;font-size:.98rem;white-space:nowrap;color:#fff}
.nav>a:hover,.has-sub>a:hover{color:var(--brand-lt)}
.has-sub{position:relative}
.sub{position:absolute;top:calc(100% + .9rem);left:-.8rem;min-width:240px;background:#fff;color:var(--ink);border:1px solid var(--line);box-shadow:0 20px 44px rgba(0,0,0,.25);padding:.5rem;display:none;flex-direction:column;border-radius:10px}
.has-sub:hover .sub,.has-sub:focus-within .sub{display:flex}
.sub a{padding:.5rem .75rem;font-size:.94rem;border-radius:6px;color:var(--ink)}
.sub a:hover{background:var(--paper);color:var(--brand)}
.hdr-cta{display:flex;align-items:center;gap:1rem}
.hdr .btn{padding:.8em 1.6em;font-size:.98rem}
.burger{display:none;margin-left:auto;background:none;color:#fff;border:1px solid rgba(255,255,255,.35);padding:.5rem .8rem;border-radius:999px;font-size:.95rem;cursor:pointer;font-family:var(--disp);font-weight:600}

/* buttons → pills */
.btn{border-radius:999px;font-family:var(--disp);font-weight:600;font-size:1rem;letter-spacing:0;padding:.95em 1.8em}
.btn--glow{box-shadow:0 0 0 1px rgba(111,168,240,.35),0 12px 30px rgba(26,86,166,.55)}
.btn--white{background:#fff;color:var(--ink);border-color:#fff;gap:.7rem}
.btn--white:hover{background:var(--paper);border-color:var(--paper);color:var(--ink)}
.btn--white .ico{width:34px;height:34px;border-radius:50%;background:var(--ink);color:#fff;display:inline-flex;align-items:center;justify-content:center;margin-left:-.7em}
.btn--white .ico svg{width:17px;height:17px}
.btn--ghost:hover{background:var(--brand);color:#fff;border-color:var(--brand)}
.mbar a{font-family:var(--disp);font-weight:700}

/* kicker with short line, like the reference */
.kicker{display:inline-flex;align-items:center;gap:.7rem;font-family:var(--disp);font-weight:600;font-size:.98rem;letter-spacing:0}
.kicker::before{content:"";width:38px;height:3px;border-radius:2px;background:currentColor}

/* hero */
.hero{position:relative;background:var(--black);color:#fff;overflow:hidden;min-height:min(80vh,700px);display:flex;align-items:center}
.hero::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,rgba(255,255,255,.028) 0 2px,transparent 2px 9px);pointer-events:none}
.hero-bar{position:absolute;height:9px;z-index:3;pointer-events:none}
.hero-bar.t{left:0;top:0;width:62%;background:linear-gradient(90deg,var(--brand-dk),var(--brand) 55%,var(--brand-lt));clip-path:polygon(0 0,100% 0,97.5% 100%,0 100%)}
.hero-bar.b{right:0;bottom:0;width:72%;background:linear-gradient(90deg,var(--brand-lt),var(--brand) 45%,var(--brand-dk));clip-path:polygon(2.5% 0,100% 0,100% 100%,0 100%)}
.hero-photo{position:absolute;top:0;right:0;bottom:0;width:50%;z-index:1}
.hero-glow{position:absolute;inset:-12px -12px -12px -14px;background:linear-gradient(165deg,#9CCBFF 0%,var(--brand) 40%,#0B0B0E 100%);clip-path:polygon(22.5% 0,100% 0,100% 100%,4.5% 100%);filter:blur(9px);opacity:.95}
.hero-photo img:not(.sig-photo){position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;object-position:50% 22%;clip-path:polygon(24% 0,100% 0,100% 100%,6% 100%);background:#22262C}
.hero-photo::after{content:"";position:absolute;inset:0;clip-path:polygon(24% 0,100% 0,100% 100%,6% 100%);background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.72));pointer-events:none}
.hero-edge{position:absolute;inset:0;z-index:1;clip-path:polygon(23.3% 0,24.8% 0,6.8% 100%,5.3% 100%);background:linear-gradient(180deg,#C8E2FF 0%,var(--brand) 55%,var(--brand-dk) 100%);pointer-events:none}
.sig{position:absolute;right:5%;bottom:8%;z-index:2;display:flex;align-items:center;gap:.9rem}
.sig-photo{width:64px;height:64px;border-radius:50%;object-fit:cover;border:3px solid #fff;box-shadow:0 8px 24px rgba(0,0,0,.5);background:#22262C}
.sig-name{display:block;font-family:var(--script);font-size:2.4rem;line-height:1;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.6)}
.sig-role{display:block;font-size:.85rem;color:#E6EEF8;margin-top:.15rem}
.hero-in{position:relative;z-index:2;padding-block:clamp(56px,8vw,96px);width:100%}
.hero-copy{max-width:62%}
.hero .kicker{color:var(--brand-lt);margin-bottom:1.2rem}
.hero h1{color:#fff;font-size:clamp(2.1rem,3.9vw,3rem);line-height:1.12}
.hero h1 .grad{background:linear-gradient(90deg,#8FC1FF,var(--brand) 70%);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero .lead{color:#D8DEE8;font-size:1.02rem;max-width:46ch;margin-top:1.2rem}
.hero .btns{margin-top:1.8rem}
.badges{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:1.6rem}
.rb{display:flex;align-items:center;gap:.7rem;background:var(--badge);border:1px solid #35353D;border-radius:10px;padding:.6rem 1rem .6rem .7rem;min-width:220px}
.rb-ico{width:38px;height:38px;border-radius:50%;background:#fff;color:var(--brand);display:flex;align-items:center;justify-content:center;flex:none}
.rb-ico svg{width:20px;height:20px}
.rb b{display:block;font-family:var(--disp);font-size:1rem;font-weight:700;line-height:1.2}
.rb .gstars{font-size:.85rem;letter-spacing:1px;vertical-align:1px}
.rb small{display:block;color:#AEB6C2;font-size:.78rem}

.partners{padding-block:2.4rem 0}

@media (max-width:1020px){
  .nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--black);flex-direction:column;align-items:stretch;gap:0;padding:.5rem 0 1rem;box-shadow:0 20px 40px rgba(0,0,0,.4)}
  .nav.open{display:flex}
  .nav>*{padding:.75rem var(--pad)}
  .sub{position:static;display:flex;border:0;box-shadow:none;padding:.3rem 0 0 .8rem;background:transparent}
  .sub a{color:#C9D2DE}
  .burger{display:block}
  .hdr-cta .btn{display:none}
  .brand img{height:34px}
  .brand{padding:.3rem .6rem}
  .util .util-l a:not(:first-child),.util .util-l span,.util .soc{display:none}
  .util .wrap{justify-content:center;gap:.3rem 1rem}
  .hero{min-height:auto;display:flex;flex-direction:column}
  .hero-copy{max-width:100%}
  .hero-photo{position:relative;width:100%;height:360px;order:2}
  .hero-in{padding-bottom:1.5rem}
  .hero-glow{clip-path:polygon(0 12%,100% 0,100% 100%,0 100%);inset:-12px 0 0 0}
  .hero-photo img:not(.sig-photo),.hero-photo::after{clip-path:polygon(0 14%,100% 0,100% 100%,0 100%)}
  .hero-bar{display:none}
  .hero-edge{clip-path:polygon(0 12%,100% 0,100% 2.2%,0 14.2%)}
}
@media (max-width:600px){
  .hero-photo{height:300px}
  .sig-name{font-size:1.9rem}
  .badges{flex-direction:column}
  .rb{min-width:0}
}

/* ================= AZ-TOP STYLE: DARK SECTIONS, LOGO BAND, TESTIMONIALS ================= */
.sec--black{background:var(--black);color:#fff;position:relative}
.sec--black::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,rgba(255,255,255,.028) 0 2px,transparent 2px 9px);pointer-events:none}
.sec--black>.wrap{position:relative;z-index:1}
.sec--black h2,.sec--black h3{color:#fff}
.sec--black .lead{color:#E3E8EF}
.sec--black .kicker{color:var(--brand-lt)}
.kicker--lines{gap:.8rem}
.kicker--lines::after{content:"";width:38px;height:3px;border-radius:2px;background:currentColor}
.center .kicker{margin-bottom:1rem;gap:.8rem}
.center .kicker::after{content:"";width:38px;height:3px;border-radius:2px;background:currentColor}

.pband{position:relative;background:radial-gradient(120% 140% at 50% 0%,#1B4A8C 0%,#11336A 45%,#0A1E3F 100%);padding:1.4rem 0;border-top:1px solid rgba(255,255,255,.08)}
.pband::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,rgba(255,255,255,.04) 0 2px,transparent 2px 9px);pointer-events:none}
.pband .wrap{position:relative;display:flex;flex-wrap:wrap;justify-content:center;gap:1rem}
.pbox{background:#131317;border:1px solid #2C2C32;border-radius:12px;padding:.9rem 1.6rem;min-width:200px;display:flex;align-items:center;justify-content:center;gap:.6rem;color:#fff;box-shadow:0 14px 30px rgba(0,0,0,.35)}
.pbox img{height:28px;width:auto;filter:brightness(0) invert(1);opacity:.92}
.pbox .gstars{color:var(--gold);font-size:1rem;letter-spacing:1px}
.pbox-t{font-family:var(--disp);font-weight:600;font-size:.9rem;letter-spacing:.02em;color:#E9EEF5}

.sec--black .rev{flex:0 0 calc((100% - 2.6rem)/3);background:#141417;border:1px solid #2C2C32;border-radius:16px;padding:1.6rem;box-shadow:0 24px 50px rgba(0,0,0,.45);position:relative}
.sec--black .rev::before{display:none}
.rev-top{display:flex;align-items:center;gap:1rem}
.sec--black .rev .av{width:64px;height:64px;font-size:1.4rem;background:var(--brand);border:2px solid #2C2C32}
.rev-who b{display:block;color:#fff;font-weight:700;font-size:1.02rem}
.rev-rate{font-size:.82rem;color:#fff}
.rev-rate .gstars{color:var(--gold);font-size:.8rem;letter-spacing:1px;margin-left:.2rem}
.gmark{margin-left:auto;width:42px;height:42px;border-radius:50%;background:#fff;color:var(--brand);font-family:var(--disp);font-weight:800;font-size:1.45rem;display:flex;align-items:center;justify-content:center;flex:none}
.rev-txt{margin-top:1.2rem;max-height:118px;overflow-y:auto;padding-right:1rem;color:#F1F3F6;line-height:1.6;font-size:.98rem;scrollbar-width:thin;scrollbar-color:var(--brand) #2C2C32}
.rev-txt::-webkit-scrollbar{width:4px}
.rev-txt::-webkit-scrollbar-track{background:#2C2C32;border-radius:2px}
.rev-txt::-webkit-scrollbar-thumb{background:var(--brand);border-radius:2px}
.sec--black .car-nav{display:flex;align-items:center;justify-content:center;gap:1.4rem;margin-top:2.2rem}
.sec--black .car-nav button{width:50px;height:50px;border-radius:50%;background:#1C1C21;border:1px solid #33333A;color:#fff;font-size:1.2rem;cursor:pointer;transition:background .15s}
.sec--black .car-nav button:hover{background:var(--brand);border-color:var(--brand)}
.car-dots{display:flex;gap:.6rem}
.car-dots i{display:block;width:44px;height:3px;background:#33333A;border-radius:2px;cursor:pointer}
.car-dots i.on{background:var(--brand)}
@media (max-width:1020px){ .sec--black .rev{flex-basis:calc((100% - 1.3rem)/2)} .pbox{min-width:0;flex:1 1 40%} }
@media (max-width:600px){ .sec--black .rev{flex-basis:100%} .car-dots i{width:26px} }

/* ================= AZ-TOP STYLE: BENEFITS / VIDEO SECTION ================= */
.sec--blue{background:radial-gradient(130% 120% at 50% 0%,#1B4A8C 0%,#0F2E5E 45%,#071A36 100%);color:#fff;position:relative;overflow:hidden}
.sec--blue::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,rgba(255,255,255,.03) 0 2px,transparent 2px 9px);pointer-events:none}
.sec--blue .wm{position:absolute;right:-6%;bottom:-3%;width:78%;height:auto;fill:#7FB4F5;opacity:.09;pointer-events:none}
.sec--blue h2,.sec--blue h3{color:#fff}
.sec--blue .kicker{color:var(--brand-lt);margin-bottom:1rem}
.sec--blue p{color:#E6EDF7;max-width:62ch;font-size:1rem}
.sec--blue p b{color:#fff;font-weight:700}
.benefit{position:relative;z-index:1;display:grid;grid-template-columns:330px 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.vframe{aspect-ratio:9/16;border-radius:16px;overflow:hidden;border:3px solid rgba(255,255,255,.8);box-shadow:0 30px 60px rgba(0,0,0,.5);background:#0B0B0E}
.vframe video{width:100%;height:100%;object-fit:cover;display:block;background:#0B0B0E}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);margin:2rem 0 2.2rem}
.pillars>div{padding:.2rem 1.4rem}
.pillars>div:first-child{padding-left:0}
.pillars>div+div{border-left:1px solid rgba(255,255,255,.28)}
.pillars svg{width:44px;height:44px;color:var(--brand-lt);margin-bottom:.8rem;display:block}
.pillars h3{font-size:1.12rem;font-weight:700;line-height:1.3}
@media (max-width:1020px){
  .benefit{grid-template-columns:1fr}
  .vframe{max-width:300px;margin-inline:auto}
  .pillars{grid-template-columns:1fr;gap:1rem}
  .pillars>div{padding:1rem 0 0}
  .pillars>div+div{border-left:0;border-top:1px solid rgba(255,255,255,.28)}
  .sec--blue .wm{width:120%;right:-20%}
}

/* ================= AZ-TOP STYLE: SERVICES CARDS ================= */
.sgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;margin-top:2.6rem}
.scard{display:flex;flex-direction:column;background:#131317;border:1px solid #2E2E34;border-radius:14px;overflow:hidden;text-decoration:none;color:#fff;transition:transform .2s,border-color .2s,box-shadow .2s}
.scard:hover{transform:translateY(-4px);border-color:var(--brand);box-shadow:0 20px 40px rgba(0,0,0,.45)}
.scard-top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.5rem 1.4rem 0}
.scard h3{font-size:1.45rem;font-weight:700;color:#fff;line-height:1.2;padding-top:.2rem}
.sico{width:56px;height:56px;color:#8A8F98;flex:none;transition:color .2s}
.scard:hover .sico{color:var(--brand-lt)}
.scard p{padding:1rem 1.4rem 1.5rem;color:#E3E8EF;font-size:.97rem;line-height:1.55;margin:0;flex:1}
.scard-foot{background:#1F1F26;padding:.95rem 1.4rem;font-family:var(--disp);font-weight:500;color:#A9AFB8;clip-path:polygon(0 0,80% 0,100% 58%,100% 100%,0 100%);transition:background .2s,color .2s}
.scard-foot i{font-style:normal;margin-left:.35rem;transition:transform .2s;display:inline-block}
.scard:hover .scard-foot{background:var(--brand);color:#fff}
.scard:hover .scard-foot i{transform:translateX(4px)}
@media (max-width:1020px){ .sgrid{grid-template-columns:repeat(2,1fr)} }
@media (max-width:600px){ .sgrid{grid-template-columns:1fr} }

/* ================= AZ-TOP STYLE: WHY CHOOSE US + DARK VARIANTS ================= */
.why2{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:start}
.why2 h2{font-size:clamp(2rem,3.6vw,2.9rem);max-width:15ch;margin-top:1rem}
.why-photo{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 20%;border-radius:14px;margin-top:2.2rem;background:#DCE1E8;box-shadow:0 30px 60px rgba(0,0,0,.4)}
.why-cards{display:grid;gap:1rem}
.wc{background:rgba(5,16,36,.78);border:1px solid rgba(255,255,255,.09);border-radius:14px;padding:1.5rem 1.6rem}
.wc svg{width:40px;height:40px;color:var(--brand-lt);margin-bottom:.8rem;display:block}
.wc h3{font-size:1.35rem;font-weight:700;color:#fff;margin-bottom:.45rem}
.wc p{color:#E6EDF7;margin:0;font-size:.97rem;line-height:1.55}

.sec--blue .lead{color:#E6EDF7}
.sec--blue .wrap{position:relative;z-index:1}
.sec--black p{color:#E3E8EF}
.sec--black .kicker,.sec--blue .kicker{color:var(--brand-lt)}
.sec--black .btn--ghost,.sec--blue .btn--ghost{color:#fff}
.sec--black .btn--ghost:hover,.sec--blue .btn--ghost:hover{background:#fff;color:var(--ink);border-color:#fff}

/* 3D */
.sec--blue .checks li::before{background:var(--brand-lt)}
.sec--blue .checks li::after{border-color:var(--deep)}
/* before/after */
.sec--black .ba{border:1px solid #2E2E34}
/* owner */
.sec--blue .oquote{color:#fff}
.sec--blue .osig{color:#fff}
.sec--blue .osig span{color:#C9D8EE}
.sec--blue .oframe::before{background:var(--brand-lt)}
/* process */
.sec--black .step::before{box-shadow:0 0 0 8px var(--black),0 12px 24px rgba(26,86,166,.35)}
.sec--black .step p{color:#C9CED6}
.sec--black .steps::before{background:linear-gradient(90deg,var(--brand-lt),rgba(111,168,240,.12))}
/* gallery */
.sec--blue .gal figure{border:1px solid rgba(255,255,255,.1)}
/* faq */
.sec--black .faq details{background:#131317;border-color:#2E2E34}
.sec--black .faq summary{color:#fff}
.sec--black .faq details p{color:#C9CED6}
/* quote */
.sec--blue .form{background:rgba(5,16,36,.85);border-color:rgba(255,255,255,.12);border-top-color:var(--brand-lt);box-shadow:0 30px 60px rgba(0,0,0,.4)}
.sec--blue .form label{color:#C9D8EE}
.sec--blue .form input,.sec--blue .form select,.sec--blue .form textarea{background:#071427;border-color:#24406B;color:#fff}
.sec--blue .form input:focus,.sec--blue .form select:focus,.sec--blue .form textarea:focus{border-color:var(--brand-lt);box-shadow:0 0 0 3px rgba(111,168,240,.2)}
.sec--blue .form small{color:#A9BAD3}
.sec--blue .qside a[href^="tel"]{color:#fff!important}
/* areas */
.sec--black .county{background:#131317;border-color:#2E2E34}
.sec--black .county h3{color:var(--brand-lt)}
.sec--black .cities a{background:#1F1F26;border-color:#33333A;color:#E3E8EF}
.sec--black .cities a:hover{background:var(--brand);border-color:var(--brand);color:#fff}
.sec--black .map{background:#131317;border:1px solid #2E2E34}
@media (max-width:1020px){ .why2{grid-template-columns:1fr} .why2 h2{max-width:none} }

body{background:var(--black)}
.sec--blue .oquote{font-size:clamp(1.35rem,2.3vw,1.85rem);font-weight:600;line-height:1.3}
.oframe .otag{color:var(--ink)}
.sec--black .map{background:transparent;border:0;padding:0}

/* ================= AZ-TOP STYLE: PROCESS ================= */
.pgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;margin-top:2.6rem}
.pc{background:#141417;border:1px solid #232328;border-radius:16px;padding:1.6rem 1.4rem 1.9rem;text-align:center;display:flex;flex-direction:column;align-items:center;overflow:hidden}
.pc-step{color:#9096A0;font-family:var(--disp);font-weight:500;font-size:1rem}
.pc-ico{width:82px;height:82px;border-radius:50%;background:#26262C;display:flex;align-items:center;justify-content:center;margin:1rem 0 .4rem;color:var(--brand-lt)}
.pc-ico svg{width:40px;height:40px}
.pc-bump{width:calc(100% + 2.8rem);height:40px;margin:0 -1.4rem 1rem;display:block;flex:none}
.pc-bump path{fill:none;stroke:#5C5C64;stroke-width:7;stroke-linejoin:round}
.pc h3{font-size:1.5rem;font-weight:700;color:#fff;margin-bottom:.5rem}
.pc p{color:#E3E8EF;font-size:.95rem;margin:0;line-height:1.55;max-width:28ch}
@media (max-width:1020px){ .pgrid{grid-template-columns:repeat(2,1fr)} }
@media (max-width:600px){ .pgrid{grid-template-columns:1fr} }

/* ================= AZ-TOP STYLE: CTA + FAQ ================= */
.cta{padding-block:clamp(60px,7vw,96px)}
.cta h2{font-size:clamp(1.7rem,3vw,2.5rem);max-width:none}
.cta .lead{margin:1.2rem auto 0;max-width:62ch}
.cta .btns{justify-content:center;margin-top:1.8rem}

.sec--black .faq details{background:#141417;border:0;border-radius:16px;position:relative;margin-bottom:1.1rem;overflow:visible}
.sec--black .faq details::before{content:"";position:absolute;top:0;left:0;width:330px;height:46px;background:var(--black);clip-path:polygon(0 0,100% 0,84% 100%,34% 100%);border-top-left-radius:16px}
.sec--black .faq summary{padding:3.3rem 5.2rem 1.5rem 1.7rem;font-size:1.12rem;font-weight:700;color:#fff;position:relative}
.qtab{position:absolute;top:.6rem;left:0;width:330px;text-align:center;padding-left:1.2rem;color:var(--brand-lt);font-family:var(--disp);font-weight:500;font-size:.98rem;pointer-events:none}
.sec--black .faq summary::after{content:"";position:absolute;right:1.6rem;bottom:1rem;top:auto;transform:none;width:46px;height:46px;border:2px solid var(--brand-lt);border-radius:50%;background:transparent;color:transparent;display:block}
.sec--black .faq summary::before{content:"";position:absolute;right:calc(1.6rem + 17px);bottom:calc(1rem + 18px);width:11px;height:11px;border:solid var(--brand-lt);border-width:0 2px 2px 0;transform:rotate(45deg);transition:transform .2s,bottom .2s}
.sec--black .faq details[open] summary::before{transform:rotate(-135deg);bottom:calc(1rem + 13px)}
.sec--black .faq details[open] summary::after{content:""}
.sec--black .faq details p{padding:0 5.2rem 1.6rem 1.7rem;color:#C9CED6}
@media (max-width:600px){
  .sec--black .faq details::before,.qtab{width:220px}
  .sec--black .faq summary{padding:3rem 4.4rem 1.3rem 1.2rem;font-size:1rem}
  .sec--black .faq details p{padding:0 1.2rem 1.4rem}
}

/* ================= AZ-TOP STYLE: FOOTER ================= */
.ftr{background:var(--black);color:#C9CED6;position:relative;padding-top:clamp(56px,7vw,84px);font-size:.98rem}
.ftr::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,rgba(255,255,255,.028) 0 2px,transparent 2px 9px);pointer-events:none}
.ftr .wrap{position:relative;z-index:1}
.ftr-top{display:grid;grid-template-columns:1.35fr 1fr 1fr 1fr;gap:2.4rem}
.ftr .logo{height:60px;width:auto;margin-bottom:1.1rem}
.ftr p{color:#D8DEE8;max-width:44ch;line-height:1.6}
.ftr-badge{display:flex;align-items:center;gap:.9rem;margin-top:1.3rem;color:#fff;font-weight:700}
.ftr-badge .ico{width:48px;height:48px;border-radius:50%;background:#1F1F26;display:flex;align-items:center;justify-content:center;color:#fff;flex:none}
.ftr-badge .ico svg{width:22px;height:22px}
.ftr-badge small{display:block;font-weight:500;color:#AEB6C2;font-size:.85rem}
.ftr .soc{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.3rem}
.ftr .soc a{color:var(--brand-lt);font-weight:600;text-decoration:none;border:1px solid #2E2E34;border-radius:999px;padding:.35rem .85rem;font-size:.88rem}
.ftr .soc a:hover{background:var(--brand);color:#fff;border-color:var(--brand)}
.ftr h4{color:var(--brand-lt);font-size:1.05rem;font-weight:700;margin:0 0 .8rem}
.ftr-col a{display:block;padding:.3rem 0;color:#E3E8EF;text-decoration:none}
.ftr-col a:hover{color:var(--brand-lt)}
.ftr-mark{margin:3.2rem 0 2.8rem;text-align:center;position:relative;padding:1.6rem 0;overflow:hidden}
.ftr-mark::before,.ftr-mark::after{content:"";position:absolute;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,#33333B 25%,#6E6E78 50%,#33333B 75%,transparent)}
.ftr-mark::before{top:0}
.ftr-mark::after{bottom:0}
.ftr-mark span{font-family:var(--disp);font-weight:800;font-size:clamp(1.5rem,5vw,3.9rem);letter-spacing:.06em;color:#18181C;text-shadow:0 1px 0 rgba(255,255,255,.08),0 -1px 1px rgba(0,0,0,.9);white-space:nowrap}
.ftr-bot{display:grid;grid-template-columns:1fr 1fr;gap:2.4rem;align-items:center}
.ftr-contact a{display:flex;align-items:center;gap:1rem;text-decoration:none;color:#9AA3B0;font-size:1.3rem;margin-bottom:1.2rem;word-break:break-all}
.ftr-contact a:hover{color:#fff}
.ftr-contact .ico{width:56px;height:56px;border-radius:50%;background:#1F1F26;color:var(--brand-lt);display:flex;align-items:center;justify-content:center;flex:none}
.ftr-contact .ico svg{width:24px;height:24px}
.ftr-form{display:grid;gap:.9rem;margin:0}
.ftr-form input{font:inherit;font-size:1rem;padding:1.05rem 1.4rem;border:1px solid #3A3A42;background:#111114;color:#fff;border-radius:999px;min-width:0}
.ftr-form input:focus{border-color:var(--brand-lt);outline:0}
.ftr-form .btn{width:100%}
.ftr-copy{margin-top:3rem;border-top:1px solid #222227;padding:1.3rem 0 1.6rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.86rem;color:#8A909A}
.ftr-copy a{color:#8A909A;text-decoration:none}
.ftr-copy a:hover{color:#fff}
@media (max-width:1020px){ .ftr-top{grid-template-columns:1fr 1fr} .ftr-bot{grid-template-columns:1fr} }
@media (max-width:600px){ .ftr-top{grid-template-columns:1fr} .ftr-col--cont h4{display:none} .ftr-contact a{font-size:1.05rem} }

/* ================= PÁGINAS INTERNAS ================= */
.nav a.on{color:var(--brand-lt)}
.hero--inner{min-height:min(70vh,620px)}
.hero--inner h1{font-size:clamp(2.2rem,4.4vw,3.6rem)}
.sig--tag{background:rgba(11,11,14,.72);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:.55rem 1.1rem}
.sig--tag .sig-role{margin:0;font-weight:600;color:#fff;font-size:.9rem}
.intro{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,5vw,4.5rem);align-items:start}
.intro h2{font-size:clamp(1.8rem,3.2vw,2.5rem);margin:.6rem 0 1rem}
.intro p{color:#E3E8EF;max-width:60ch}
.intro-img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:14px;background:#DCE1E8;box-shadow:0 30px 60px rgba(0,0,0,.45)}
.icounters{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin-top:1rem}
.icounters div{background:#141417;border:1px solid #2E2E34;border-radius:12px;padding:1rem .8rem;text-align:center}
.icounters b{display:block;font-family:var(--disp);font-size:1.9rem;font-weight:800;color:#fff;line-height:1.1}
.icounters span{font-size:.8rem;color:#AEB6C2}
.h2ish{font-size:clamp(1.6rem,2.8vw,2.2rem);font-weight:800;margin-bottom:.6rem;color:#fff}
.bgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:2rem}
.bgrid--2{grid-template-columns:repeat(2,1fr);gap:.8rem}
.bcard{background:rgba(5,16,36,.78);border:1px solid rgba(255,255,255,.09);border-radius:14px;padding:1.4rem 1.3rem}
.sec--black .bcard{background:#141417;border-color:#2E2E34}
.bico{display:inline-flex;width:44px;height:44px;border-radius:50%;background:#26262C;color:var(--brand-lt);align-items:center;justify-content:center;margin-bottom:.8rem}
.bico svg{width:24px;height:24px}
.bcard h4{font-size:1.1rem;font-weight:700;color:#fff;margin:0 0 .4rem}
.bcard p{color:#E6EDF7;font-size:.93rem;margin:0;line-height:1.5}
.chk{margin-top:2rem;background:rgba(5,16,36,.55);border:1px solid rgba(255,255,255,.09);border-radius:14px;padding:1.4rem 1.6rem}
.chk h4{color:#fff;font-size:1.1rem;font-weight:700;margin:0 0 .8rem}
.checks--grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.55rem 2rem;margin:0}
.checks--grid li{color:#E6EDF7;font-size:.95rem}
.dd{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.dd h2{font-size:clamp(1.8rem,3.2vw,2.5rem);margin-bottom:1.2rem}
.dd-item{margin-bottom:1.2rem}
.dd-item h3{font-size:1.25rem;font-weight:700;color:var(--brand-lt);margin-bottom:.35rem}
.dd-item p{color:#E3E8EF;max-width:60ch}
.dd-img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:14px;background:#DCE1E8;box-shadow:0 30px 60px rgba(0,0,0,.45)}
.mv{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:2.2rem 0 3rem}
.mv .wc h3{font-size:1.4rem}
.contact{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,5vw,4.5rem);align-items:start}
.cinfo{display:grid;gap:1rem;margin-top:1.6rem}
.cinfo>div{background:#141417;border:1px solid #2E2E34;border-radius:12px;padding:.9rem 1.1rem}
.cinfo small{display:block;color:#AEB6C2;font-size:.8rem;margin-bottom:.2rem}
.cinfo a,.cinfo span{color:#fff;font-weight:600;text-decoration:none;font-size:1.05rem;word-break:break-word}
.cinfo a:hover{color:var(--brand-lt)}
.sec--black .form{background:#141417;border-color:#2E2E34;border-top-color:var(--brand-lt);box-shadow:0 30px 60px rgba(0,0,0,.45)}
.sec--black .form label{color:#C9CED6}
.sec--black .form input,.sec--black .form select,.sec--black .form textarea{background:#0B0B0E;border-color:#33333A;color:#fff}
.sec--black .form input:focus,.sec--black .form select:focus,.sec--black .form textarea:focus{border-color:var(--brand-lt);box-shadow:0 0 0 3px rgba(111,168,240,.2)}
.sec--black .form small{color:#AEB6C2}
.ggrid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:240px;grid-auto-flow:dense;gap:.8rem;margin-top:2.4rem}
.ggrid figure{margin:0;position:relative;overflow:hidden;border-radius:10px;background:#DCE1E8;border:1px solid #2E2E34}
.ggrid figure:nth-child(10n+1),.ggrid figure:nth-child(10n+6){grid-column:span 2;grid-row:span 2}
.ggrid img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.ggrid figure:hover img{transform:scale(1.06)}
.ggrid figcaption{position:absolute;left:0;right:0;bottom:0;padding:.7rem .9rem;background:linear-gradient(transparent,rgba(7,15,30,.88));color:#fff;font-size:.85rem}
.counties--wide{grid-template-columns:repeat(3,1fr);margin-top:2.4rem}
.rgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem;margin-top:2.4rem}
.rgrid .rev{flex:none;background:#141417;border:1px solid #2C2C32;border-radius:16px;padding:1.6rem;position:relative}
.rgrid .rev::before{display:none}
.rgrid .rev .av{width:64px;height:64px;font-size:1.4rem;background:var(--brand);border:2px solid #2C2C32}
.rev-txt--full{max-height:none;overflow:visible;padding-right:0}
.prose-dark p{color:#E3E8EF}
.prose-dark h3{color:#fff;margin:1.6rem 0 .5rem}
.prose-dark a{color:var(--brand-lt)}
.center .btns{justify-content:center}
@media (max-width:1020px){
  .intro,.dd,.contact,.mv{grid-template-columns:1fr}
  .bgrid,.rgrid{grid-template-columns:repeat(2,1fr)}
  .ggrid{grid-template-columns:repeat(2,1fr);grid-auto-rows:200px}
  .ggrid figure:nth-child(10n+1),.ggrid figure:nth-child(10n+6){grid-column:span 2;grid-row:span 1}
  .counties--wide{grid-template-columns:repeat(2,1fr)}
  .dd-img{aspect-ratio:4/3}
}
@media (max-width:600px){
  .bgrid,.rgrid,.ggrid,.counties--wide,.checks--grid{grid-template-columns:1fr}
  .icounters{grid-template-columns:repeat(3,1fr);gap:.4rem}
  .icounters b{font-size:1.4rem}
  .ggrid{grid-auto-rows:220px}
}
