/* ============================================================
   STORM GUARD ROOFING & BUILDING — shared site stylesheet
   Design system shared across every page (home + service + area).
   ============================================================ */
:root{
  --navy:#1E2B5C;
  --navy-deep:#131C3D;
  --navy-ink:#0E1530;
  --red:#CE2B2B;
  --red-dark:#A91F1F;
  --steel:#C7CDD6;
  --steel-light:#E8EBF0;
  --paper:#F4F6F9;
  --white:#FFFFFF;
  --text:#2A3142;
  --text-soft:#5A6275;
  --wa:#25D366;
  --radius:10px;
  --shadow:0 6px 24px rgba(14,21,48,.10);
  --shadow-lg:0 14px 40px rgba(14,21,48,.18);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Inter',system-ui,-apple-system,sans-serif;color:var(--text);background:var(--white);line-height:1.6;-webkit-font-smoothing:antialiased;}
img{max-width:100%;display:block;}
a{text-decoration:none;color:inherit;}
.container{width:min(1180px,92%);margin:0 auto;}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;}
h1,h2,h3,.disp{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.02em;line-height:1.05;color:var(--navy-deep);}
h2{font-size:clamp(2rem,4.6vw,3rem);font-weight:800;font-style:italic;}
.eyebrow{display:inline-flex;align-items:center;gap:.55rem;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-style:italic;text-transform:uppercase;letter-spacing:.14em;font-size:.95rem;color:var(--red);margin-bottom:.7rem;}
.eyebrow::before{content:"";width:26px;height:3px;background:var(--red);transform:skewX(-18deg);}
.section{padding:clamp(3.4rem,7vw,5.5rem) 0;}
.sec-head{max-width:640px;margin-bottom:2.4rem;}
.sec-head p{color:var(--text-soft);margin-top:.6rem;}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-style:italic;text-transform:uppercase;letter-spacing:.06em;font-size:1.1rem;padding:.85rem 1.7rem;border-radius:6px;border:none;cursor:pointer;transition:transform .15s ease, box-shadow .15s ease, background .15s ease;}
.btn:active{transform:translateY(1px);}
.btn-red{background:var(--red);color:#fff;box-shadow:0 4px 14px rgba(206,43,43,.35);}
.btn-red:hover{background:var(--red-dark);}
.btn-ghost{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.55);}
.btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.08);}
.btn-navy{background:var(--navy);color:#fff;}
.btn-navy:hover{background:var(--navy-deep);}
.btn-wa{background:var(--wa);color:#fff;}
.btn-wa:hover{background:#1eb957;}
svg.ic{width:1.15em;height:1.15em;flex:none;}

/* ===== NAVBAR ===== */
.nav{position:fixed;top:0;left:0;right:0;z-index:200;background:rgba(255,255,255,.97);backdrop-filter:blur(8px);box-shadow:0 1px 0 rgba(14,21,48,.08);transition:box-shadow .2s;}
.nav.scrolled{box-shadow:0 4px 18px rgba(14,21,48,.12);}
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;height:72px;}
.nav-logo img{height:46px;width:auto;mix-blend-mode:multiply;}
.nav-links{display:flex;gap:1.6rem;list-style:none;align-items:stretch;height:72px;}
.nav-links > li{position:relative;display:flex;align-items:center;}
.nav-links a{font-weight:600;font-size:.92rem;color:var(--navy-deep);position:relative;padding:.3rem 0;display:inline-flex;align-items:center;gap:.3rem;}
.nav-links > li > a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--red);transition:width .2s;}
.nav-links > li > a:hover::after{width:100%;}
.nav-links a[aria-current="page"]{color:var(--red);}
.nav-cta{caret-color:transparent;}
.dd-caret{width:.7em;height:.7em;transition:transform .2s;}
.has-dd:hover .dd-caret{transform:rotate(180deg);}
.nav-dd{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(10px);background:#fff;border-radius:10px;box-shadow:var(--shadow-lg);padding:.5rem;min-width:250px;opacity:0;visibility:hidden;transition:opacity .18s, transform .18s;display:grid;gap:.05rem;border:1px solid var(--steel-light);}
.has-dd:hover .nav-dd, .has-dd:focus-within .nav-dd{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}
.nav-dd a{padding:.55rem .8rem;border-radius:6px;font-size:.88rem;font-weight:600;white-space:nowrap;}
.nav-dd a::after{display:none;}
.nav-dd a:hover{background:var(--paper);color:var(--red);}
.nav-call{display:inline-flex;align-items:center;gap:.5rem;background:var(--navy);color:#fff;font-family:'Barlow Condensed',sans-serif;font-style:italic;font-weight:700;font-size:1.05rem;letter-spacing:.04em;padding:.6rem 1.1rem;border-radius:6px;white-space:nowrap;transition:background .15s;}
.nav-call:hover{background:var(--red);}
.burger{display:none;background:none;border:none;cursor:pointer;padding:.4rem;}
.burger span{display:block;width:24px;height:2.5px;background:var(--navy-deep);margin:5px 0;transition:.25s;}
.mobile-menu{display:none;background:#fff;border-top:1px solid var(--steel-light);max-height:80vh;overflow-y:auto;}
.mobile-menu.open{display:block;}
.mobile-menu a{display:block;padding:.95rem 5%;font-weight:600;color:var(--navy-deep);border-bottom:1px solid var(--steel-light);}
.mobile-menu .mm-head{font-family:'Barlow Condensed',sans-serif;font-style:italic;text-transform:uppercase;letter-spacing:.06em;color:var(--text-soft);font-size:.78rem;padding:.8rem 5% .2rem;}
.mobile-menu .mm-sub{padding-left:8%;font-size:.9rem;font-weight:500;}

/* ===== HERO (home) ===== */
.hero{position:relative;min-height:92vh;display:flex;align-items:center;overflow:hidden;background:var(--navy-deep);margin-top:72px;}
.hero-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.1s ease;transform:scale(1.04);}
.hero-slide.active{opacity:1;animation:heroZoom 7s ease forwards;}
@keyframes heroZoom{from{transform:scale(1.07);}to{transform:scale(1);}}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(14,21,48,.92) 0%,rgba(19,28,61,.78) 42%,rgba(19,28,61,.35) 100%);}
.hero-content{position:relative;z-index:2;color:#fff;max-width:680px;padding:5rem 0 6rem;}
.hero-kicker{display:inline-flex;align-items:center;gap:.6rem;background:rgba(206,43,43,.16);border:1px solid rgba(206,43,43,.5);color:#fff;font-family:'Barlow Condensed',sans-serif;font-style:italic;font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:.95rem;padding:.35rem .9rem;border-radius:4px;margin-bottom:1.2rem;}
.hero h1{color:#fff;font-size:clamp(2.6rem,6.5vw,4.4rem);font-weight:800;font-style:italic;margin-bottom:1rem;}
.hero h1 .red{color:#FF5A5A;}
.hero p{font-size:clamp(1rem,2vw,1.18rem);color:rgba(255,255,255,.85);max-width:540px;margin-bottom:1.8rem;}
.hero-btns{display:flex;gap:.9rem;flex-wrap:wrap;}
.hero-dots{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);z-index:3;display:flex;gap:.55rem;}
.hero-dots button{width:34px;height:4px;border:none;border-radius:2px;background:rgba(255,255,255,.35);cursor:pointer;transition:background .2s;}
.hero-dots button.active{background:var(--red);}

/* ===== PAGE HERO (inner pages) ===== */
.phero{position:relative;margin-top:72px;background:var(--navy-deep);color:#fff;overflow:hidden;}
.phero-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.30;}
.phero::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(14,21,48,.93) 0%,rgba(19,28,61,.72) 55%,rgba(19,28,61,.45) 100%);}
.phero .container{position:relative;z-index:2;padding:clamp(2.8rem,6vw,4.6rem) 0;}
.phero .eyebrow{color:#FF5A5A;}
.phero h1{color:#fff;font-size:clamp(2.1rem,5.2vw,3.6rem);font-weight:800;font-style:italic;max-width:900px;}
.phero h1 .red{color:#FF5A5A;}
.phero p{color:rgba(255,255,255,.85);max-width:640px;margin-top:.9rem;font-size:1.06rem;}
.phero .hero-btns{margin-top:1.6rem;}

/* ===== BREADCRUMBS ===== */
.crumbs{background:var(--paper);border-bottom:1px solid var(--steel-light);font-size:.82rem;}
.crumbs .container{padding:.75rem 0;}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;color:var(--text-soft);}
.crumbs li{display:flex;align-items:center;gap:.45rem;}
.crumbs li+li::before{content:"›";color:var(--steel);}
.crumbs a{color:var(--navy);font-weight:600;}
.crumbs a:hover{color:var(--red);}
.crumbs [aria-current]{color:var(--text-soft);}

/* ===== TRUST STRIP ===== */
.trust{background:var(--navy);color:#fff;padding:1.6rem 0;}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;align-items:center;}
.trust-item{display:flex;align-items:center;gap:.8rem;justify-content:center;}
.trust-item svg{width:34px;height:34px;flex:none;color:var(--steel);}
.trust-item b{font-family:'Barlow Condensed',sans-serif;font-style:italic;font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:1.05rem;display:block;line-height:1.15;}
.trust-item small{color:rgba(255,255,255,.65);font-size:.78rem;display:block;}

/* ===== SERVICES ===== */
.services{background:var(--paper);}
.svc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;}
.svc{background:#fff;border-radius:var(--radius);padding:1.5rem 1.25rem;box-shadow:var(--shadow);border-top:3px solid transparent;transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;display:block;color:inherit;}
.svc:hover{transform:translateY(-4px);border-top-color:var(--red);box-shadow:var(--shadow-lg);}
.svc-icon{width:46px;height:46px;border-radius:8px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;margin-bottom:.9rem;transform:skewX(-6deg);}
.svc-icon svg{width:24px;height:24px;transform:skewX(6deg);}
.svc h3{font-size:1.25rem;font-weight:700;font-style:italic;margin-bottom:.35rem;}
.svc p{font-size:.86rem;color:var(--text-soft);line-height:1.5;}
.svc .svc-more{display:inline-block;margin-top:.7rem;font-weight:700;font-size:.82rem;color:var(--red);font-style:italic;text-transform:uppercase;letter-spacing:.04em;font-family:'Barlow Condensed',sans-serif;}

/* ===== BEFORE & AFTER ===== */
.ba-video-wrap{max-width:900px;margin:0 auto;}
.ba-video{width:100%;height:auto;display:block;border-radius:var(--radius);box-shadow:var(--shadow-lg);background:var(--navy-deep);}
.ba-desc{background:var(--paper);border-left:4px solid var(--red);border-radius:0 var(--radius) var(--radius) 0;padding:1.2rem 1.4rem;margin-top:1rem;}
.ba-desc h3{font-size:1.3rem;font-style:italic;font-weight:700;margin-bottom:.35rem;}
.ba-desc p{font-size:.92rem;color:var(--text-soft);}
.ba-wrap{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;}
.ba-slider{position:relative;border-radius:var(--radius);overflow:hidden;aspect-ratio:4/3;box-shadow:var(--shadow-lg);user-select:none;touch-action:none;background:var(--navy-deep);}
.ba-img{position:absolute;inset:0;background-size:cover;background-position:center;}
.ba-after{clip-path:inset(0 0 0 50%);}
.ba-handle{position:absolute;top:0;bottom:0;left:50%;width:3px;background:#fff;cursor:ew-resize;z-index:3;}
.ba-handle::after{content:"⟷";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:44px;height:44px;background:var(--red);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.1rem;box-shadow:0 4px 12px rgba(0,0,0,.35);}
.ba-tag{position:absolute;top:.8rem;z-index:2;font-family:'Barlow Condensed',sans-serif;font-style:italic;font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.85rem;color:#fff;background:rgba(14,21,48,.75);padding:.25rem .7rem;border-radius:4px;}
.ba-tag.before{left:.8rem;}
.ba-tag.after{right:.8rem;background:var(--red);}
.ba-cap{margin-top:.7rem;font-weight:600;font-size:.92rem;color:var(--navy-deep);}

/* ===== PROJECT SHOWCASE (alternating media + text rows) ===== */
.showcase{display:grid;gap:clamp(2.2rem,5vw,4rem);}
.showcase-row{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:center;}
.showcase-media{position:relative;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-lg);background:var(--navy-deep);}
.showcase-media .ba-video{width:100%;height:auto;display:block;border-radius:0;box-shadow:none;}
.showcase-badge{position:absolute;top:1rem;left:1rem;z-index:2;display:inline-flex;align-items:center;gap:.4rem;background:var(--red);color:#fff;font-family:'Barlow Condensed',sans-serif;font-style:italic;font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:.82rem;padding:.4rem .9rem;border-radius:50px;box-shadow:0 4px 12px rgba(0,0,0,.28);}
.showcase-text h3{font-size:clamp(1.6rem,3.4vw,2.3rem);font-style:italic;font-weight:800;color:var(--navy-deep);margin:.2rem 0 .8rem;}
.showcase-text p{color:var(--text-soft);margin-bottom:1.2rem;}
.showcase-loc{display:inline-flex;align-items:center;gap:.45rem;color:var(--red);font-family:'Barlow Condensed',sans-serif;font-style:italic;font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:1.05rem;}
.showcase-loc svg{width:18px;height:18px;flex:none;}
.showcase-row:nth-child(even) .showcase-media{order:2;}

/* ===== GALLERY ===== */
.gal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;}
.gal-item{position:relative;border-radius:var(--radius);overflow:hidden;aspect-ratio:4/3;background:var(--steel-light);cursor:pointer;}
.gal-item .gal-bg{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .35s ease;}
.gal-item:hover .gal-bg{transform:scale(1.06);}
.gal-item span{position:absolute;left:.9rem;bottom:.75rem;z-index:2;color:#fff;font-family:'Barlow Condensed',sans-serif;font-style:italic;font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:1rem;text-shadow:0 2px 8px rgba(0,0,0,.6);}
.gal-item::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(14,21,48,.65),transparent 45%);}

/* ===== WHY US ===== */
.why{background:var(--navy-deep);color:#fff;position:relative;overflow:hidden;}
.why::before{content:"";position:absolute;top:-60px;right:-80px;width:420px;height:420px;background:var(--navy);transform:skewX(-14deg);opacity:.5;}
.why h2{color:#fff;}
.why .sec-head p{color:rgba(255,255,255,.7);}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;position:relative;z-index:1;}
.why-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius);padding:1.6rem 1.4rem;}
.why-card svg{width:30px;height:30px;color:var(--red);margin-bottom:.8rem;}
.why-card h3{color:#fff;font-size:1.3rem;font-style:italic;font-weight:700;margin-bottom:.45rem;}
.why-card p{font-size:.9rem;color:rgba(255,255,255,.72);}

/* ===== ABOUT ===== */
.about-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:3rem;align-items:center;}
.about-img{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-lg);aspect-ratio:4/4.6;background-size:cover;background-position:center;position:relative;}
.about-img::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(14,21,48,.35),transparent 50%);}
.about-body p{color:var(--text-soft);margin-bottom:1rem;}
.about-points{list-style:none;margin:1.2rem 0 1.6rem;}
.about-points li{display:flex;gap:.65rem;align-items:flex-start;margin-bottom:.6rem;font-weight:500;font-size:.95rem;}
.about-points svg{width:20px;height:20px;color:var(--red);flex:none;margin-top:2px;}

/* ===== CONTACT ===== */
.contact{background:var(--paper);}
.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:3rem;align-items:start;}
.contact-info h2{margin-bottom:.8rem;}
.contact-info p{color:var(--text-soft);margin-bottom:1.6rem;}
.c-line{display:flex;align-items:center;gap:.9rem;background:#fff;border-radius:var(--radius);padding:1rem 1.2rem;box-shadow:var(--shadow);margin-bottom:.9rem;font-weight:600;color:var(--navy-deep);transition:transform .15s;}
.c-line:hover{transform:translateX(4px);}
.c-line svg{width:24px;height:24px;color:var(--red);flex:none;}
.c-line small{display:block;font-weight:400;color:var(--text-soft);font-size:.8rem;}
.form{background:#fff;border-radius:var(--radius);padding:2rem;box-shadow:var(--shadow-lg);border-top:4px solid var(--red);}
.form h3{font-size:1.5rem;font-style:italic;margin-bottom:.4rem;}
.form > p{font-size:.88rem;color:var(--text-soft);margin-bottom:1.3rem;}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;}
.form label{display:block;font-size:.8rem;font-weight:600;color:var(--navy-deep);margin:.9rem 0 .3rem;}
.form input,.form select,.form textarea{width:100%;padding:.75rem .9rem;border:1.5px solid var(--steel);border-radius:6px;font-family:inherit;font-size:.95rem;color:var(--text);background:#fff;transition:border-color .15s;}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--navy);}
.form textarea{resize:vertical;min-height:100px;}
.form .btn{width:100%;margin-top:1.3rem;font-size:1.2rem;padding:1rem;}
.wa-note{font-size:.78rem;color:var(--text-soft);text-align:center;margin-top:.7rem;}

/* ===== CONTENT / ARTICLE LAYOUT (service + area pages) ===== */
.layout{display:grid;grid-template-columns:1fr 350px;gap:3rem;align-items:start;}
.prose > *+*{margin-top:1.1rem;}
.prose h2{font-size:clamp(1.7rem,3.6vw,2.4rem);margin-top:.4rem;}
.prose h3{font-size:1.4rem;font-style:italic;font-weight:700;color:var(--navy-deep);margin-top:1.8rem;}
.prose p{color:var(--text-soft);}
.prose strong{color:var(--navy-deep);}
.prose a:not(.btn){color:var(--red);font-weight:600;text-decoration:underline;text-underline-offset:2px;}
.prose ul.ticks{list-style:none;display:grid;gap:.6rem;margin:.4rem 0;}
.prose ul.ticks li{display:flex;gap:.65rem;align-items:flex-start;color:var(--text);font-weight:500;}
.prose ul.ticks svg{width:20px;height:20px;color:var(--red);flex:none;margin-top:3px;}
.prose ul.disc{margin:.4rem 0 .4rem 1.2rem;color:var(--text-soft);}
.prose ul.disc li{margin-bottom:.4rem;}

/* sticky sidebar quote card */
.aside{position:sticky;top:92px;display:grid;gap:1rem;}
.quote-card{background:var(--navy-deep);color:#fff;border-radius:var(--radius);padding:1.6rem;box-shadow:var(--shadow-lg);border-top:4px solid var(--red);}
.quote-card h3{color:#fff;font-size:1.4rem;font-style:italic;margin-bottom:.3rem;}
.quote-card p{color:rgba(255,255,255,.75);font-size:.88rem;margin-bottom:1.1rem;}
.quote-card .btn{width:100%;margin-bottom:.6rem;}
.quote-card .qc-phone{display:flex;align-items:center;gap:.6rem;justify-content:center;font-family:'Barlow Condensed',sans-serif;font-style:italic;font-size:1.3rem;color:#fff;margin-top:.4rem;}
.aside-list{background:#fff;border:1px solid var(--steel-light);border-radius:var(--radius);padding:1.4rem;box-shadow:var(--shadow);}
.aside-list h4{font-family:'Barlow Condensed',sans-serif;font-style:italic;text-transform:uppercase;letter-spacing:.05em;font-size:1.1rem;color:var(--navy-deep);margin-bottom:.8rem;}
.aside-list ul{list-style:none;display:grid;gap:.15rem;}
.aside-list a{display:block;padding:.5rem .2rem;font-size:.9rem;font-weight:600;color:var(--navy);border-bottom:1px solid var(--steel-light);}
.aside-list li:last-child a{border-bottom:none;}
.aside-list a:hover{color:var(--red);}

/* feature / info cards grid */
.infogrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;}
.infocard{background:#fff;border:1px solid var(--steel-light);border-radius:var(--radius);padding:1.5rem 1.3rem;box-shadow:var(--shadow);}
.infocard svg{width:30px;height:30px;color:var(--red);margin-bottom:.7rem;}
.infocard h3{font-size:1.25rem;font-style:italic;font-weight:700;margin-bottom:.4rem;}
.infocard p{font-size:.9rem;color:var(--text-soft);}

/* numbered process steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;counter-reset:step;}
.step{position:relative;background:var(--paper);border-radius:var(--radius);padding:1.5rem 1.3rem 1.3rem;}
.step::before{counter-increment:step;content:counter(step);position:absolute;top:-16px;left:1.3rem;width:38px;height:38px;background:var(--red);color:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;font-family:'Barlow Condensed',sans-serif;font-style:italic;font-weight:800;font-size:1.3rem;transform:skewX(-8deg);}
.step h3{font-size:1.15rem;font-style:italic;font-weight:700;margin:.6rem 0 .35rem;}
.step p{font-size:.86rem;color:var(--text-soft);}

/* ===== FAQ (accordion via <details>) ===== */
.faq{display:grid;gap:.8rem;max-width:820px;}
.faq details{background:#fff;border:1px solid var(--steel-light);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;}
.faq summary{list-style:none;cursor:pointer;padding:1.1rem 1.3rem;font-weight:700;color:var(--navy-deep);display:flex;justify-content:space-between;align-items:center;gap:1rem;font-size:1.02rem;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+";font-family:'Barlow Condensed',sans-serif;font-size:1.6rem;color:var(--red);line-height:1;flex:none;transition:transform .2s;}
.faq details[open] summary::after{transform:rotate(45deg);}
.faq .faq-a{padding:0 1.3rem 1.2rem;color:var(--text-soft);font-size:.95rem;}
.faq .faq-a p+p{margin-top:.8rem;}

/* ===== AREA CHIPS ===== */
.chips{display:flex;flex-wrap:wrap;gap:.6rem;}
.chip{display:inline-flex;align-items:center;gap:.4rem;background:#fff;border:1px solid var(--steel-light);border-radius:50px;padding:.5rem 1rem;font-size:.88rem;font-weight:600;color:var(--navy);box-shadow:var(--shadow);transition:transform .15s, border-color .15s;}
.chip:hover{transform:translateY(-2px);border-color:var(--red);color:var(--red);}
.chip svg{width:15px;height:15px;color:var(--red);}

/* ===== LINK GRID (related services / areas) ===== */
.linkgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;}
.linkcard{background:#fff;border:1px solid var(--steel-light);border-radius:var(--radius);padding:1.2rem 1.3rem;box-shadow:var(--shadow);display:flex;align-items:center;justify-content:space-between;gap:1rem;transition:transform .15s, box-shadow .15s, border-color .15s;}
.linkcard:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--red);}
.linkcard b{font-family:'Barlow Condensed',sans-serif;font-style:italic;font-weight:700;text-transform:uppercase;letter-spacing:.03em;font-size:1.15rem;color:var(--navy-deep);}
.linkcard span{font-size:.82rem;color:var(--text-soft);display:block;font-family:'Inter',sans-serif;font-style:normal;font-weight:400;text-transform:none;letter-spacing:0;}
.linkcard .arr{color:var(--red);font-size:1.4rem;flex:none;}

/* generic two-col intro (image + text) */
.split{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;}
.split-img{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-lg);aspect-ratio:4/3;background-size:cover;background-position:center;}

/* ===== FINAL CTA ===== */
.final{position:relative;color:#fff;text-align:center;padding:clamp(4rem,9vw,6.5rem) 0;background-size:cover;background-position:center;}
.final::before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(19,28,61,.88),rgba(19,28,61,.88));}
.final .container{position:relative;z-index:1;}
.final .eyebrow{color:#FF5A5A;justify-content:center;display:inline-flex;}
.final h2{color:#fff;font-size:clamp(2.2rem,5vw,3.4rem);margin-bottom:.8rem;}
.final p{color:rgba(255,255,255,.8);max-width:520px;margin:0 auto 1.8rem;}
.final-btns{display:flex;gap:.9rem;justify-content:center;flex-wrap:wrap;}

/* ===== FOOTER ===== */
.footer{background:var(--navy-ink);color:rgba(255,255,255,.7);padding:3rem 0 1.5rem;font-size:.88rem;}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:2.2rem;margin-bottom:2rem;}
.foot-logo{background:#fff;border-radius:8px;padding:.6rem .9rem;display:inline-block;margin-bottom:1rem;}
.foot-logo img{height:40px;}
.footer h4{font-family:'Barlow Condensed',sans-serif;font-style:italic;text-transform:uppercase;color:#fff;font-size:1.1rem;letter-spacing:.06em;margin-bottom:.8rem;}
.footer ul{list-style:none;}
.footer li{margin-bottom:.45rem;}
.footer a:hover{color:#fff;}
.foot-badges{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1rem;}
.foot-badge{border:1px solid rgba(255,255,255,.25);border-radius:5px;padding:.35rem .7rem;font-family:'Barlow Condensed',sans-serif;font-style:italic;text-transform:uppercase;font-size:.82rem;letter-spacing:.05em;color:rgba(255,255,255,.85);}
.foot-contact{display:grid;gap:.5rem;}
.foot-contact a{display:flex;gap:.5rem;align-items:flex-start;}
.foot-contact svg{width:16px;height:16px;color:var(--red);flex:none;margin-top:3px;}
.foot-bottom{border-top:1px solid rgba(255,255,255,.12);padding-top:1.3rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.8rem;color:rgba(255,255,255,.45);}
.foot-bottom a{color:rgba(255,255,255,.6);}
.foot-bottom a:hover{color:#fff;}

/* ===== FLOATING WHATSAPP ===== */
.wa-float{position:fixed;bottom:1.4rem;right:1.4rem;z-index:150;width:58px;height:58px;border-radius:50%;background:var(--wa);display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px rgba(37,211,102,.45);transition:transform .15s;}
.wa-float:hover{transform:scale(1.08);}
.wa-float svg{width:32px;height:32px;fill:#fff;}

/* ===== RESPONSIVE ===== */
@media (max-width:980px){
  .svc-grid{grid-template-columns:repeat(2,1fr);}
  .why-grid{grid-template-columns:repeat(2,1fr);}
  .ba-wrap{grid-template-columns:1fr;}
  .about-grid,.contact-grid,.split{grid-template-columns:1fr;gap:2rem;}
  .gal-grid{grid-template-columns:repeat(2,1fr);}
  .foot-grid{grid-template-columns:1fr 1fr;}
  .trust-grid{grid-template-columns:repeat(2,1fr);gap:1rem 0.5rem;}
  .trust-item{justify-content:flex-start;}
  .layout{grid-template-columns:1fr;gap:2.4rem;}
  .aside{position:static;}
  .infogrid{grid-template-columns:repeat(2,1fr);}
  .steps{grid-template-columns:repeat(2,1fr);row-gap:2rem;}
  .linkgrid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:760px){
  .nav-links{display:none;}
  .burger{display:block;}
  .nav-call span.txt{display:none;}
  .nav-call{padding:.6rem .8rem;}
  .hero{min-height:80vh;}
  .why-grid{grid-template-columns:1fr;}
  .f-row{grid-template-columns:1fr;}
  .svc{padding:1.1rem .9rem;}
  .svc h3{font-size:1.1rem;}
  .svc p{font-size:.8rem;}
  .gal-grid{gap:.6rem;}
  .foot-grid{grid-template-columns:1fr;}
  .infogrid,.linkgrid{grid-template-columns:1fr;}
  .showcase-row{grid-template-columns:1fr;gap:1.2rem;}
  .showcase-row:nth-child(even) .showcase-media{order:0;}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;transition-duration:.01ms !important;}
  html{scroll-behavior:auto;}
}
