/* ============================================================
   EJ ELECTRICAL MAIN SITE v2 — "Powerline"
   Light porcelain + electric cobalt (logo/van blue), ink navy.
   Type: Barlow Condensed (display, uppercase) + Barlow (body).
   Signature device: the POWER CORD — a rounded line ending in a
   plug-terminal dot. Section rules, list markers, underlines.
   ============================================================ */
:root{
  --paper:#F4F7FB;          /* cool porcelain */
  --card:#FFFFFF;
  --ink:#0E1B33;            /* deep ink navy */
  --ink-soft:#31415E;
  --cobalt:#0B5BD3;         /* electric cobalt, from the vans */
  --cobalt-deep:#0846A6;
  --sky:#E4EEFC;            /* pale wash for bands */
  --yellow:#FFD338;         /* logo yellow, tiny doses only */
  --line:#D8E1EE;
  --muted:#5D6C84;
  --good:#1B9E4B;
  --r:16px;
  --shadow:0 20px 44px -24px rgba(14,27,51,.35);
  --shadow-sm:0 8px 20px -12px rgba(14,27,51,.28);
  --wrap:1180px;
  --spring:cubic-bezier(.34,1.3,.5,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
/* Guard: several sections use rotated images and tabs that hang past their edge on
   purpose. On a narrow screen those bleed past the viewport, which widens the whole
   document and clips every section on the right. `clip` (not `hidden`) contains them
   without creating a scroll container, so the sticky header still works. */
html,body{overflow-x:clip}
body{margin:0;background:var(--paper);color:var(--ink-soft);font-family:'Barlow',system-ui,sans-serif;font-size:17.5px;line-height:1.62;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--cobalt);text-decoration:none}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
h1,h2,h3{font-family:'Barlow Condensed',sans-serif;color:var(--ink);line-height:1.02;margin:0;font-weight:700;text-transform:uppercase;letter-spacing:.01em}
h2{font-size:clamp(2.1rem,4.2vw,3.4rem)}
h3{font-size:1.35rem;letter-spacing:.02em}
p{margin:.8em 0}

/* ---- the cord device ---- */
.cord{display:inline-flex;align-items:center;gap:0;height:4px}
.cord::before{content:"";width:64px;height:4px;border-radius:4px;background:var(--cobalt)}
.cord::after{content:"";width:12px;height:12px;border-radius:50%;background:var(--cobalt);box-shadow:inset 0 0 0 3px var(--paper);margin-left:-2px}
.cord.on-dark::before{background:var(--yellow)}
.cord.on-dark::after{background:var(--yellow);box-shadow:inset 0 0 0 3px var(--cobalt-deep)}
.kicker{display:flex;align-items:center;gap:14px;font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:1.05rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cobalt)}

/* ---- buttons ---- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1.28rem;letter-spacing:.05em;text-transform:uppercase;
  padding:.85rem 1.9rem;border-radius:999px;border:0;cursor:pointer;
  background:var(--cobalt);color:#fff;box-shadow:var(--shadow-sm);
  transition:transform .22s var(--spring),box-shadow .22s,background .18s}
.btn:hover{transform:translateY(-2px) scale(1.015);box-shadow:var(--shadow);background:var(--cobalt-deep)}
.btn:active{transform:translateY(0) scale(.99)}
.btn--call{background:var(--good);font-size:1.4rem;padding:1rem 2.2rem}
.btn--call:hover{background:#15833D}
.btn--line{background:transparent;color:var(--ink);box-shadow:none;border:2px solid var(--ink)}
.btn--line:hover{background:var(--ink);color:#fff}
.btn--white{background:#fff;color:var(--cobalt-deep)}
.btn--white:hover{background:var(--sky)}
.btn svg{width:1.05em;height:1.05em;fill:currentColor}

/* underline draw for inline links */
.u{position:relative;color:var(--cobalt);font-weight:600}
.u::after{content:"";position:absolute;left:0;bottom:-2px;height:2px;width:100%;background:var(--cobalt);transform:scaleX(0);transform-origin:left;transition:transform .28s var(--spring)}
.u:hover::after{transform:scaleX(1)}

/* ---- info strip + header ---- */
.strip{background:var(--ink);color:#CBD8EC;font-family:'Barlow Condensed',sans-serif;letter-spacing:.08em;text-transform:uppercase;font-size:.95rem}
.strip .wrap{display:flex;justify-content:center;gap:2.4rem;padding:.45rem 24px;flex-wrap:wrap}
.strip b{color:var(--yellow);font-weight:600}
.hdr{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line)}
.hdr .wrap{display:flex;align-items:center;gap:20px;padding:10px 24px}
.hdr img{height:56px;width:auto}
.hdr nav{display:flex;gap:4px;margin:0 auto;align-items:center}
.hdr nav a{font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:1.15rem;letter-spacing:.05em;text-transform:uppercase;color:var(--ink);padding:.5rem .9rem;border-radius:8px;position:relative}
.hdr nav a::after{content:"";position:absolute;left:.9rem;right:.9rem;bottom:.25rem;height:3px;border-radius:3px;background:var(--cobalt);transform:scaleX(0);transform-origin:left;transition:transform .24s var(--spring)}
.hdr nav a:hover::after{transform:scaleX(1)}
.hdr .phone{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1.5rem;color:var(--ink);white-space:nowrap}
.hdr .phone small{display:block;font-size:.72rem;letter-spacing:.14em;color:var(--muted);text-transform:uppercase;font-family:'Barlow',sans-serif;font-weight:600}
.menu-btn{display:none;background:none;border:0;cursor:pointer;padding:6px}
.menu-btn svg{width:30px;height:30px;stroke:var(--ink);fill:none;stroke-width:2.6;stroke-linecap:round}

/* ---- HERO: full-bleed photo, centered question ---- */
.hero{position:relative;height:clamp(600px,82vh,860px);display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden}
.hero .bg{position:absolute;inset:0}
.hero .bg img{width:100%;height:100%;object-fit:cover}
.hero .bg::after{content:"";position:absolute;inset:0;background:rgba(8,34,80,.78);mix-blend-mode:multiply}
.hero .inner{position:relative;z-index:2;padding:90px 24px 130px;max-width:920px}
.hero h1{color:#fff;font-size:clamp(3rem,7.2vw,5.6rem);font-weight:700}
.hero h1 em{font-style:normal;color:var(--yellow)}
.hero .sub{color:#D9E6FA;font-size:1.15rem;max-width:56ch;margin:1.1rem auto 1.8rem}
.hero .ctas{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.hero .rate{display:inline-flex;align-items:center;gap:.6rem;margin-top:1.6rem;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:.4rem 1.1rem;color:#fff;font-size:.95rem}
.hero .rate .stars{color:var(--yellow);letter-spacing:2px}

/* ---- COUPON TICKETS (overlapping the hero) ---- */
.tickets{position:relative;z-index:5;margin-top:-86px}
.tickets .row{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.ticket{position:relative;background:var(--card);border-radius:14px;box-shadow:var(--shadow);padding:1.5rem 1.6rem 1.4rem;border-top:6px solid var(--cobalt);transition:transform .24s var(--spring),box-shadow .24s}
.ticket:hover{transform:translateY(-4px) rotate(-.3deg);box-shadow:0 26px 50px -24px rgba(14,27,51,.45)}
.ticket::before,.ticket::after{content:"";position:absolute;top:58%;width:22px;height:22px;border-radius:50%;background:var(--paper)}
.ticket::before{left:-11px}
.ticket::after{right:-11px}
.ticket .tag{font-family:'Barlow Condensed',sans-serif;font-weight:600;letter-spacing:.14em;font-size:.9rem;text-transform:uppercase;color:var(--cobalt)}
.ticket .amount{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:2.7rem;line-height:1;color:var(--ink);margin:.25rem 0 .1rem;text-transform:uppercase}
.ticket .amount small{font-size:1.1rem;vertical-align:super}
.ticket p{margin:.35rem 0 0;font-size:.94rem;color:var(--muted);border-top:2px dashed var(--line);padding-top:.7rem}
.ticket.gold{border-top-color:var(--yellow)}
.tickets .ends{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:1.2rem;font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:1rem}
.tickets .ends b{background:var(--ink);color:#fff;border-radius:8px;padding:.3rem .6rem;font-size:1.15rem;min-width:2.4em;text-align:center}

/* ---- REQUEST A CALL band ---- */
.callback{padding:96px 0 84px}
.callback .grid{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center}
.callback h2 em{font-style:normal;color:var(--cobalt)}
.promise{display:flex;flex-direction:column;gap:1.1rem;margin-top:1.6rem}
.promise li{display:flex;gap:14px;align-items:flex-start;list-style:none}
.promise .dot{flex:none;margin-top:.45rem;width:14px;height:14px;border-radius:50%;background:var(--cobalt);box-shadow:inset 0 0 0 3.5px #fff,0 0 0 2px var(--cobalt)}
.promise b{color:var(--ink);font-size:1.02rem}
.promise span{display:block;color:var(--muted);font-size:.95rem}
.formcard{background:var(--card);border-radius:var(--r);box-shadow:var(--shadow);padding:2rem;border-top:8px solid var(--cobalt)}
.formcard h3{font-size:1.7rem;margin-bottom:.3rem}
.formcard .sub{color:var(--muted);font-size:.95rem;margin:0 0 1.1rem}
.lead-form .row{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.lead-form .field{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.9rem}
.lead-form label{font-weight:600;font-size:.88rem;color:var(--ink)}
.lead-form label .req{color:#C0392B}
.lead-form input,.lead-form textarea{font:inherit;padding:.75rem .85rem;border:1.5px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);width:100%}
.lead-form input:focus,.lead-form textarea:focus{outline:none;border-color:var(--cobalt);background:#fff;box-shadow:0 0 0 3px rgba(11,91,211,.14)}
.lead-form textarea{min-height:96px;resize:vertical}
.lead-form .recaptcha-slot{margin:.3rem 0 .9rem}
/* Honeypot: off-screen rather than display:none, because some bots skip hidden fields.
   Kept out of the tab order and hidden from screen readers. */
.lead-form .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.lead-form button[type="submit"]{width:100%}
.lead-form .fine{font-size:.8rem;color:var(--muted);text-align:center;margin:.7rem 0 0}
.lead-success{padding:2rem 1.6rem;background:#EAF8EF;border:1px solid var(--good);border-radius:var(--r);text-align:center;color:#136A35}
.lead-success .t{font-family:'Barlow Condensed',sans-serif;font-size:1.5rem;font-weight:700;text-transform:uppercase;margin-bottom:.4rem}
.lead-success a{color:#136A35;font-weight:700}

/* ---- WELCOME / EJ bio ---- */
.meet{background:var(--card);border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:visible}
.meet .grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:center;padding:88px 0}
.meet .photo{position:relative}
.meet .photo img{border-radius:var(--r);box-shadow:var(--shadow);transform:rotate(-1.2deg)}
.meet .photo .note{position:absolute;right:-14px;bottom:-18px;background:var(--yellow);color:var(--ink);font-family:'Caveat',cursive;font-size:1.35rem;line-height:1.15;padding:.6rem .9rem;border-radius:10px;transform:rotate(2deg);box-shadow:var(--shadow-sm)}
.meet .since{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:5.2rem;line-height:.9;color:var(--cobalt);letter-spacing:0}
.meet .since small{display:block;font-size:1.05rem;letter-spacing:.16em;color:var(--muted);font-weight:600;text-transform:uppercase}
.meet .hand{position:relative;display:inline-block}
.meet .hand svg{position:absolute;left:0;bottom:-10px;width:100%;height:14px}

/* ---- SERVICES board ---- */
.board{padding:96px 0}
.board .panel{background:var(--ink);border-radius:22px;padding:56px;color:#C9D7ED;position:relative;overflow:hidden}
.board .panel h2{color:#fff}
.board .panel h2 em{font-style:normal;color:var(--yellow)}
.board .cols{columns:3;gap:2.4rem;margin-top:2rem}
.board .cols a{break-inside:avoid;display:flex;gap:12px;align-items:baseline;padding:.44rem 0;color:#DCE7F8;font-size:1.05rem;transition:color .15s,transform .2s var(--spring)}
.board .cols a::before{content:"";flex:none;width:11px;height:11px;border-radius:50%;background:var(--yellow);box-shadow:inset 0 0 0 3px var(--ink);transform:translateY(1px)}
.board .cols a:hover{color:#fff;transform:translateX(4px)}
.board .more{margin-top:2rem;display:flex;gap:14px;flex-wrap:wrap}

/* ---- PROJECTS strip ---- */
.projects{padding:0 0 96px}
.projects .lede{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:1.8rem}
.projstrip{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.proj{position:relative;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow-sm);aspect-ratio:4/4.6;transition:transform .26s var(--spring),box-shadow .26s}
.proj:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.proj img{width:100%;height:100%;object-fit:cover}
.proj figcaption{position:absolute;left:0;right:0;bottom:0;padding:2.4rem 1.1rem .95rem;background:linear-gradient(to top,rgba(14,27,51,.92),rgba(14,27,51,0));color:#fff;font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:1.2rem;letter-spacing:.04em;text-transform:uppercase}
.proj figcaption small{display:block;font-family:'Barlow',sans-serif;font-weight:400;font-size:.82rem;letter-spacing:0;text-transform:none;color:#B9C9E2}

/* ---- WARRANTY band ---- */
.count{background:var(--cobalt);color:#DCE9FF;padding:72px 0}
.count .grid{display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:center}
.count h2{color:#fff}
.count h2 em{font-style:normal;color:var(--yellow)}
.count p{color:#CDE0FE}
.count .sig{margin-top:1rem;font-family:'Caveat',cursive;font-size:2rem;color:#fff}
.count ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:1rem}
.count li{display:flex;gap:14px;align-items:flex-start;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.16);border-radius:12px;padding:.95rem 1.1rem}
.count li .dot{flex:none;margin-top:.4rem;width:13px;height:13px;border-radius:50%;background:var(--yellow);box-shadow:inset 0 0 0 3px var(--cobalt)}
.count b{color:#fff}
.count span{display:block;font-size:.92rem}

/* ---- TESTIMONIALS editorial ---- */
.quotes{padding:96px 0}
.quotes .big{max-width:880px;margin:0 auto;text-align:center}
.quotes .big blockquote{font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.18;color:var(--ink);margin:0;text-transform:none}
.quotes .big blockquote::before{content:"\201C";color:var(--cobalt);font-size:1.4em;vertical-align:-.12em;margin-right:.08em}
.quotes .who{margin-top:1.1rem;color:var(--muted)}
.quotes .who b{color:var(--ink)}
.quotes .pair{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:2.6rem}
.quotes .qcard{background:var(--card);border:1px solid var(--line);border-left:6px solid var(--cobalt);border-radius:12px;padding:1.4rem 1.5rem;box-shadow:var(--shadow-sm)}
.quotes .qcard .stars{color:#E8A400;letter-spacing:2px}
.quotes .qcard p{color:var(--ink-soft);font-size:.98rem}
.quotes .qcard b{color:var(--ink)}
.quotes .gchip{display:flex;justify-content:center;margin-top:2.2rem}
.gchip span{display:inline-flex;align-items:center;gap:.7rem;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:.55rem 1.3rem;box-shadow:var(--shadow-sm);color:var(--ink);font-weight:600}
.gchip .stars{color:#E8A400;letter-spacing:2px}

/* ---- FINAL CALL band ---- */
.final{background:var(--card);border-top:1px solid var(--line);padding:88px 0}
.final .grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.final .bignum{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:clamp(2.6rem,5vw,4.2rem);color:var(--ink);line-height:1}
.final .bignum a{color:inherit}
.final .bignum small{display:block;font-size:1.05rem;color:var(--muted);letter-spacing:.14em;font-weight:600}

/* ---- footer ---- */
footer{background:var(--ink);color:#AFC0DC;padding:64px 0 28px;font-size:.95rem}
footer .grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.2fr;gap:40px}
footer h4{font-family:'Barlow Condensed',sans-serif;color:#fff;font-size:1.2rem;letter-spacing:.08em;text-transform:uppercase;margin:0 0 .8rem}
footer a{color:#AFC0DC}
footer a:hover{color:#fff}
footer img{height:52px;width:auto;margin-bottom:1rem}
footer .lic{border-top:1px solid rgba(255,255,255,.12);margin-top:2.6rem;padding-top:1.2rem;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.85rem;color:#7E92B4}
.fphone{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1.9rem;color:#fff}

/* ---- sticky mobile call bar ---- */
.callbar{position:fixed;left:0;right:0;bottom:0;z-index:70;display:none;grid-template-columns:1fr 1fr;box-shadow:0 -8px 24px rgba(14,27,51,.2)}
.callbar a{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.95rem;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1.25rem;letter-spacing:.05em;text-transform:uppercase}
.callbar .c{background:var(--good);color:#fff}
.callbar .e{background:var(--yellow);color:var(--ink)}
.callbar svg{width:1.1em;height:1.1em;fill:currentColor}

/* ---- responsive ---- */
@media(max-width:1020px){
  .hdr nav{display:none}
  .menu-btn{display:block;margin-left:0;flex:0 0 auto}
  /* The logo is a flex item: without this it gets squeezed horizontally while its
     height stays fixed, which is what was distorting it on phones. */
  .hdr .wrap{gap:12px}
  .hdr .wrap > a[aria-label]{flex:0 0 auto}
  .hdr img{height:46px;flex:0 0 auto}
  .hdr .phone{margin-left:auto;font-size:1.3rem}
  /* The sticky bottom bar already carries Call Now + Get a Quote on mobile,
     so this third button only served to push the row past the screen edge. */
  .hdr .btn{display:none}
  .hdr.open nav{display:flex;position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;padding:12px 24px 20px;border-bottom:1px solid var(--line);box-shadow:var(--shadow)}
  .tickets .row{grid-template-columns:1fr}
  .callback .grid,.meet .grid,.count .grid,.final .grid{grid-template-columns:1fr;gap:36px}
  .board .panel{padding:34px 26px}
  .board .cols{columns:2}
  .projstrip{grid-template-columns:repeat(2,1fr)}
  .quotes .pair{grid-template-columns:1fr}
  footer .grid{grid-template-columns:1fr 1fr}
  .callbar{display:grid}
  body{padding-bottom:58px}
}
@media(max-width:560px){
  .board .cols{columns:1}
  .projstrip{grid-template-columns:1fr}
  .lead-form .row{grid-template-columns:1fr}
  footer .grid{grid-template-columns:1fr}
  .hero .inner{padding:64px 20px 120px}
  /* Pull the decorative overhangs back inside the screen on phones. */
  .meet .photo .note{right:0;bottom:-10px;font-size:1.15rem}
  .meet .photo img{transform:none}
  .hdr .wrap{padding:8px 16px;gap:10px}
  .hdr img{height:40px}
  .hdr .phone{font-size:1.15rem;line-height:1.1}
  .hdr .phone small{font-size:.62rem;letter-spacing:.08em}
}
@media(max-width:380px){
  .hdr .phone small{display:none}
  .hdr img{height:36px}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ============ Inner pages (v2 rollout) ============ */
.bcrumb{background:var(--card);border-bottom:1px solid var(--line);font-size:.88rem;color:var(--muted)}
.bcrumb .wrap{padding:.55rem 24px}
.bcrumb a{color:var(--muted)}
.bcrumb a:hover{color:var(--cobalt)}
.bcrumb .sep{margin:0 .5rem;color:var(--line)}
.phero{background:var(--ink);color:#C9D7ED;padding:72px 0}
.phero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center}
.phero h1{color:#fff;font-size:clamp(2.5rem,5vw,4rem)}
.phero h1 em{font-style:normal;color:var(--yellow)}
.phero .sub{color:#B9C9E2;font-size:1.1rem;max-width:56ch;margin:.9rem 0 1.5rem}
.phero .shot{border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);transform:rotate(1deg)}
.phero .shot img{width:100%;height:340px;object-fit:cover}
.phero .ctas{display:flex;gap:14px;flex-wrap:wrap}
.split{padding:88px 0}
.split .grid{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:start}
.split h2 em{font-style:normal;color:var(--cobalt)}
.formband{padding:0 0 88px}
.formband .formcard{max-width:760px;margin:0 auto}
.formband .head{text-align:center;max-width:640px;margin:0 auto 1.8rem}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:1.6rem}
.chips a{font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:1.08rem;letter-spacing:.04em;text-transform:uppercase;color:var(--ink);background:var(--card);border:1.5px solid var(--line);border-radius:999px;padding:.5rem 1.1rem;transition:all .2s var(--spring)}
.chips a:hover{border-color:var(--cobalt);color:var(--cobalt);transform:translateY(-2px)}
.chipband{padding:0 0 96px}
.faqacc{max-width:820px;margin:2rem auto 0}
.faqacc details{background:var(--card);border:1px solid var(--line);border-radius:12px;margin-bottom:12px;box-shadow:var(--shadow-sm);overflow:hidden}
.faqacc summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:1.05rem 1.3rem;font-weight:600;color:var(--ink);font-size:1.02rem}
.faqacc summary::-webkit-details-marker{display:none}
.faqacc summary .pm{flex:none;width:26px;height:26px;border-radius:50%;background:var(--sky);display:grid;place-items:center;color:var(--cobalt);font-weight:700;transition:transform .24s var(--spring)}
.faqacc details[open] summary .pm{transform:rotate(45deg)}
.faqacc .body{padding:0 1.3rem 1.15rem;color:var(--ink-soft);font-size:.98rem}
.svcgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:2.2rem}
.svccard{background:var(--card);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .24s var(--spring),box-shadow .24s;display:flex;flex-direction:column}
.svccard:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.svccard img{width:100%;height:180px;object-fit:cover}
.svccard .body{padding:1.2rem 1.3rem 1.4rem}
.svccard h3{margin-bottom:.4rem}
.svccard p{margin:0;font-size:.94rem;color:var(--muted)}
.svccard .go{display:inline-block;margin-top:.7rem;font-family:'Barlow Condensed',sans-serif;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--cobalt)}
.galgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-top:2rem}
.galgrid .shot{border-radius:12px;overflow:hidden;box-shadow:var(--shadow-sm)}
.galgrid img{width:100%;height:250px;object-fit:cover;transition:transform .35s var(--spring)}
.galgrid .shot:hover img{transform:scale(1.04)}
.pagehead{padding:72px 0 8px;text-align:center}
.pagehead h1{font-size:clamp(2.4rem,4.6vw,3.6rem)}
.pagehead p{color:var(--muted);max-width:60ch;margin:.8rem auto 0}
@media(max-width:1020px){
  .phero .wrap,.split .grid{grid-template-columns:1fr;gap:32px}
  .svcgrid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){.svcgrid{grid-template-columns:1fr}.phero .shot img{height:240px}}

/* ============ Header dropdowns ============ */
.hdr nav .has-sub{position:relative;display:flex;align-items:center}
.hdr nav .has-sub > a{display:inline-flex;align-items:center}
.hdr nav .has-sub > a .car{display:inline-block;width:9px;height:9px;margin-left:.4rem;margin-top:-4px;border-right:2.5px solid currentColor;border-bottom:2.5px solid currentColor;transform:rotate(45deg);transition:transform .2s var(--spring)}
.hdr nav .has-sub:hover > a .car,.hdr nav .has-sub:focus-within > a .car{transform:rotate(225deg);margin-top:2px}
.hdr nav .submenu{position:absolute;top:100%;left:0;min-width:300px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:.6rem;margin:0;list-style:none;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s,transform .22s var(--spring),visibility 0s .2s;z-index:80;max-height:70vh;overflow:auto}
.hdr nav .has-sub:hover .submenu,.hdr nav .has-sub:focus-within .submenu{opacity:1;visibility:visible;transform:translateY(2px);transition:opacity .2s,transform .22s var(--spring)}
.hdr nav .submenu a{display:flex;align-items:center;gap:10px;padding:.5rem .8rem;border-radius:9px;font-size:1.05rem;text-transform:none;letter-spacing:.02em;font-family:'Barlow',sans-serif;font-weight:600;color:var(--ink)}
.hdr nav .submenu a::after{display:none}
.hdr nav .submenu a::before{content:"";flex:none;width:9px;height:9px;border-radius:50%;background:var(--cobalt);box-shadow:inset 0 0 0 2.5px #fff}
.hdr nav .submenu a:hover{background:var(--sky);color:var(--cobalt-deep)}
.hdr nav .submenu .subhead{font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:.85rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding:.5rem .8rem .2rem}
@media(max-width:1020px){
  .hdr nav .submenu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;border-left:3px solid var(--sky);border-radius:0;margin:0 0 6px 12px;padding:0;min-width:0;max-height:none}
  .hdr nav .has-sub > a .car{display:none}
}
