:root{--navy:#0d1f3c;--navy2:#16305a;--orange:#C9A24A;--bg:#f5f7fb;--ink:#13213a;--mute:#55617a;--line:#dde3ee}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'Space Grotesk',system-ui,sans-serif;background:var(--bg);color:var(--ink);line-height:1.55}
img{max-width:100%;display:block}a{color:var(--navy2)}
.demo-bar{background:var(--orange);color:#fff;text-align:center;font-size:13px;padding:4px}
.site-header{position:sticky;top:0;z-index:50;background:var(--navy);color:#fff;box-shadow:0 2px 10px #0003}
.site-header .in{max-width:1180px;margin:0 auto;display:flex;align-items:center;gap:12px;padding:8px 14px}
.site-header .brand img{height:44px;width:auto;background:#fff;border-radius:8px;padding:3px}
.site-header nav{display:flex;gap:4px;margin-left:auto;align-items:center;overflow-x:auto}
.site-header nav a{color:#fff;text-decoration:none;font-weight:600;padding:8px 10px;border-radius:8px;white-space:nowrap;font-size:15px}
.site-header nav a:hover,.site-header nav a[aria-current]{background:#ffffff1a}
.site-header nav a.cta{background:var(--orange)}
@media(max-width:760px){.site-header .in{flex-wrap:wrap;padding:6px 10px}.site-header .brand img{height:36px}.site-header nav{order:3;width:100%;margin:0;justify-content:space-between;gap:0}.site-header nav a{font-size:14px;padding:7px 7px}.hdr-call{margin-left:auto}}
.hdr-call{color:#fff;font-weight:700;text-decoration:none;font-size:15px}
.wrap{max-width:1100px;margin:0 auto;padding:0 18px}
.hero2{background:linear-gradient(160deg,var(--navy),var(--navy2));color:#fff;padding:44px 0 50px}
.hero2 h1{font-size:clamp(28px,5vw,46px);line-height:1.1;margin:0 0 14px}.hero2 p{font-size:18px;opacity:.92;max-width:680px}
.hero2.img{background-size:cover;background-position:center}
.stars{color:#ffd08a;font-weight:700}
.btn2{display:inline-block;background:var(--orange);color:#fff;border-radius:14px;padding:15px 24px;font-weight:700;font-size:17px;text-decoration:none;border:0;cursor:pointer;font-family:inherit}
.btn2.out{background:transparent;border:2px solid #fff}.btn2.navy{background:var(--navy)}
.split{display:grid;gap:16px;grid-template-columns:1fr 1fr;margin:26px 0 8px}
@media(max-width:640px){.split{grid-template-columns:1fr}}
.big{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:220px;border-radius:20px;overflow:hidden;color:#fff;text-decoration:none;padding:22px;background:var(--navy2) center/cover}
.big:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0d1f3c20,#0d1f3cdd)}
.big>*{position:relative}.big b{font-size:28px}.big span{opacity:.9}.big i{font-style:normal;margin-top:10px;display:inline-block;background:var(--orange);padding:8px 14px;border-radius:10px;font-weight:700;width:max-content}
section.s{padding:34px 0}section.s h2{font-size:28px;margin:0 0 12px}
.grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.card2{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px}.card2 h3{margin:0 0 6px;font-size:19px}.card2 p{margin:0;color:#334}
details.acc{background:#fff;border:1px solid var(--line);border-radius:14px;margin:10px 0;overflow:hidden}
details.acc>summary{list-style:none;cursor:pointer;padding:18px 20px;font-weight:700;font-size:19px;display:flex;justify-content:space-between;gap:10px;min-height:60px;align-items:center}
details.acc>summary::-webkit-details-marker{display:none}details.acc>summary:after{content:"+";font-size:26px;color:var(--orange)}details.acc[open]>summary:after{content:"–"}
details.acc>.body{padding:0 20px 18px}details.acc h3{margin:16px 0 4px;font-size:17px}
.gal{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.gal img{aspect-ratio:4/3;object-fit:cover;border-radius:12px;width:100%}
.ph{aspect-ratio:4/3;border:2px dashed #b9c3d6;border-radius:12px;display:grid;place-items:center;color:var(--mute);background:#eef1f6;font-weight:600;text-align:center;padding:10px}
.quote-cta{background:var(--navy);color:#fff;border-radius:20px;padding:26px;margin:26px 0;text-align:center}.quote-cta h2{margin-top:0}
.review2{background:#fff;border-left:5px solid var(--orange);border-radius:14px;padding:18px;font-style:italic;margin:12px 0}.review2 b{display:block;font-style:normal;margin-top:6px}
.logos{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.logo-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px;text-align:center;font-size:14px;font-weight:600}
.logo-card img{height:80px;width:100%;object-fit:contain;margin-bottom:8px}
.pcard{display:grid;grid-template-columns:110px 1fr;gap:14px;align-items:start}.pcard img{height:80px;width:110px;object-fit:contain}
.team{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.team img{aspect-ratio:1;object-fit:cover;border-radius:14px;width:100%}
form.f label{display:block;font-weight:600;margin:12px 0 5px}form.f input,form.f textarea{width:100%;padding:13px;border:2px solid var(--line);border-radius:12px;font:16px 'Space Grotesk',sans-serif}
.hp{position:absolute;left:-9999px}.msg{font-weight:700;margin-top:10px}
.site-footer{background:var(--navy);color:#cfd7e6;padding:30px 0;margin-top:30px;font-size:15px}.site-footer a{color:#fff}.site-footer .cols{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.crumb{font-size:14px;opacity:.85}.crumb a{color:#fff}
ul.tick{padding-left:20px}ul.tick li{margin:4px 0}
.note{font-size:14px;color:var(--mute)}
/* quote page: let funnel styles work under the site header */
.quote-page .site-header img{height:44px;background:#fff;padding:3px}
/* homepage mega hero + tiles */
.mega{min-height:calc(100svh - 70px);background:var(--navy) center/cover no-repeat;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;padding:40px 18px}
.mega-in{max-width:1000px}.mega-logo{margin:0 auto 18px;width:130px;height:auto;background:#fff;border-radius:14px;padding:6px;box-shadow:0 6px 24px #0006}
.mega-h1{font-weight:700;font-size:clamp(52px,13vw,150px);line-height:.9;letter-spacing:-.045em;margin:0;text-shadow:0 4px 30px #0008}
.mega-tag{color:#C9A24A;font-style:italic;font-weight:600;font-size:clamp(19px,2.6vw,28px);margin:18px 0 12px}
.mega-sub{opacity:.92;max-width:620px;margin:0 auto 22px;font-size:16px}
.mega-btn{padding:12px 22px;font-size:16px}
.tiles{display:grid;grid-template-columns:1fr 1fr}
@media(max-width:640px){.tiles{grid-template-columns:1fr}}
.tile{position:relative;display:flex;align-items:center;justify-content:center;min-height:clamp(240px,42vw,460px);overflow:hidden;text-decoration:none;color:#fff;background:var(--navy)}
.tile-bg{position:absolute;inset:0;background:center/cover;transition:transform .6s ease}
.tile:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0d1f3c99,#0d1f3cd9);transition:background .4s}
.tile:hover .tile-bg,.tile:focus-visible .tile-bg{transform:scale(1.07)}.tile:hover:after{background:linear-gradient(180deg,#0d1f3c80,#0d1f3cc0)}
.tile-txt{position:relative;z-index:1;text-align:center}.tile-txt b{display:block;font-size:clamp(44px,7vw,84px);letter-spacing:-.04em;line-height:1}
.tile-txt em{color:#C9A24A;font-size:clamp(18px,2.2vw,26px);font-weight:600}
main:has(>.tiles:last-child)+.site-footer{margin-top:0}
/* landing (homepage only) */
.site-header.slim .in{padding:6px 14px;flex-wrap:nowrap}.site-header.slim .brand img{height:34px}
.slim-contact{margin-left:auto;display:flex;gap:16px;flex-wrap:wrap;justify-content:flex-end}.slim-contact a{color:#fff;text-decoration:none;font-weight:600;font-size:14px}.slim-contact a:hover{color:#C9A24A}
.thin-footer{background:var(--navy);color:#fff;font-size:12px;padding:7px 12px;text-align:center;line-height:1.7}.thin-footer a{color:#fff;text-decoration:none}.thin-footer i{color:#C9A24A;font-style:normal;margin:0 7px}
.landing .demo-bar{color:var(--navy)}
.landing .mega{min-height:clamp(320px,56vh,620px)}
.landing .tile{min-height:clamp(220px,32vh,400px);cursor:pointer;outline:2px solid #C9A24A;outline-offset:-10px;border-radius:0;transition:transform .3s,box-shadow .3s,filter .3s}
.landing .tile:hover{filter:brightness(1.12);box-shadow:inset 0 0 0 3px #C9A24A;z-index:2}.landing .tile:hover .tile-txt{transform:translateY(-4px)}
.landing .tile:focus-visible{outline:4px solid #fff;outline-offset:-8px;box-shadow:inset 0 0 0 8px #C9A24A}
.tile-txt{transition:transform .3s}
.pill{display:inline-block;margin-top:14px;border:2px solid #C9A24A;color:#fff;background:#0d1f3c99;border-radius:999px;padding:9px 20px;font-weight:700;font-size:16px;letter-spacing:0;transition:background .25s,color .25s}
.tile:hover .pill,.tile:focus-visible .pill{background:#C9A24A;color:var(--navy)}
@media(min-width:900px){.landing .mega{min-height:calc(100svh - 34px - 46px - 33px - min(32vh,400px))}}
.landing .tile{outline:none}.landing .tile:before{content:"";position:absolute;inset:10px;border:2px solid #C9A24A;border-radius:14px;z-index:1;pointer-events:none;transition:inset .3s,border-width .3s}
.landing .tile:hover:before{inset:6px;border-width:3px}.landing .tile:focus-visible{outline:4px solid #fff;outline-offset:-4px}
.landing .mega{background:var(--navy);min-height:0;padding:clamp(36px,7vh,80px) 18px}
.landing .slim-contact{margin:0 auto}
@media(min-width:900px){.landing .mega{min-height:0}}
body.landing{display:flex;flex-direction:column;min-height:100svh}body.landing main{flex:1;display:flex;flex-direction:column}body.landing .tiles{flex:1}
/* ===== inner pages: navy / white / gold ===== */
:root{--gold:#C9A24A}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.site-header:not(.slim){border-bottom:2px solid var(--gold)}
.site-header nav a[aria-current]{background:none;color:var(--gold);box-shadow:inset 0 -2px 0 var(--gold);border-radius:0}
.site-header nav a:hover{background:none;color:var(--gold)}
.hdr-contact{display:flex;gap:14px;margin-left:14px;padding-left:14px;border-left:1px solid #ffffff33}
.hdr-contact a{color:#fff;text-decoration:none;font-weight:600;font-size:14px;white-space:nowrap}.hdr-contact a:hover{color:var(--gold)}
@media(max-width:760px){.site-header:not(.slim) .in{justify-content:space-between}.hdr-contact{order:2;margin:0;padding:0;border:0;gap:10px}.hdr-contact a{font-size:13px}.site-header nav{justify-content:space-around}}
.band{background:var(--navy);color:#fff;text-align:center;padding:clamp(40px,8vh,84px) 0 clamp(36px,7vh,70px)}
.band h1{font-size:clamp(52px,11vw,124px);font-weight:700;letter-spacing:-.045em;line-height:.92;margin:0}
.band-tag{color:var(--gold);font-style:italic;font-weight:600;font-size:clamp(17px,2.2vw,23px);max-width:720px;margin:16px auto 0}
.band+.wrap section.s>h2{font-size:15px;text-transform:uppercase;letter-spacing:.14em;color:var(--gold);margin:6px 0 14px}
details.acc{border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:12px;box-shadow:0 1px 2px #0d1f3c0d;transition:box-shadow .2s}
details.acc:hover{box-shadow:0 6px 20px #0d1f3c14}details.acc[open]{box-shadow:0 8px 26px #0d1f3c1a}
details.acc>summary{color:var(--navy)}details.acc>summary:after{color:var(--gold);font-weight:400}
details.acc[open]>summary{border-bottom:1px solid var(--line);margin-bottom:6px}
details.acc h3{color:var(--navy);padding-left:10px;border-left:2px solid var(--gold)}details.acc p{color:#2a3650}
details.acc a{color:var(--navy);text-decoration-color:var(--gold)}
.xlink{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;background:var(--gold);color:var(--navy);text-decoration:none;border-radius:16px;padding:20px 24px;margin:10px 0 26px;font-weight:700;font-size:18px;transition:transform .2s,box-shadow .2s}
.xlink b{background:var(--navy);color:#fff;border-radius:999px;padding:10px 18px;font-size:15px;white-space:nowrap}
.xlink:hover,.xlink:focus-visible{transform:translateY(-2px);box-shadow:0 10px 24px #0d1f3c33}.xlink:focus-visible{outline:3px solid var(--navy);outline-offset:3px}
.review2{border-left-color:var(--gold);box-shadow:0 1px 2px #0d1f3c0d}
.quote-cta{border-top:3px solid var(--gold)}.quote-cta .btn2{background:var(--gold);color:var(--navy)}.quote-cta .btn2.out{background:transparent;color:#fff;border-color:var(--gold)}
.btn2{color:var(--navy)}.btn2.out{color:#fff}.btn2.navy{color:#fff}
.site-footer{border-top:2px solid var(--gold)}.site-footer b{color:var(--gold)}
.stars{color:var(--gold)}
/* side headers (solar / electrical sections) */
.site-header.side .in{flex-wrap:wrap;row-gap:4px}
.site-header.side .grp{color:var(--gold);text-decoration:none;font-size:13px;font-weight:600;white-space:nowrap}
.site-header.side nav{margin-left:auto}
.site-header.side nav a.cta{background:var(--gold);color:var(--navy);border-radius:999px;padding:7px 14px;margin-left:6px}
.site-header.side nav a.cta:hover{background:#fff;color:var(--navy)}
@media(max-width:980px){.site-header.side nav{order:3;width:100%;margin:0;overflow-x:auto;justify-content:flex-start;-webkit-overflow-scrolling:touch;scrollbar-width:none}.site-header.side .hdr-contact{margin-left:auto;border:0;padding:0}}
@media(max-width:760px){.site-header.side nav a{font-size:13.5px;padding:7px 9px}}
body.side{display:flex;flex-direction:column;min-height:100svh}body.side main{flex:1}
details.acc,[id]{scroll-margin-top:120px}
@media(max-width:980px){.site-header.side nav{flex-wrap:wrap;overflow:visible;justify-content:center;gap:2px}}
/* ===== solar mock-ups ===== */
.mk-huge{font-size:clamp(72px,17vw,200px);font-weight:700;letter-spacing:-.055em;line-height:.85;margin:0;color:#fff}
.mk-tag{color:var(--gold);font-style:italic;font-weight:600;font-size:clamp(18px,2.3vw,26px);max-width:640px;margin:18px 0 26px;line-height:1.35}
.mk-btn{display:inline-block;background:var(--gold);color:var(--navy);font-weight:700;font-size:17px;padding:15px 28px;border-radius:999px;text-decoration:none;transition:transform .2s,box-shadow .2s;border:2px solid var(--gold)}
.mk-btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px #0005}.mk-btn.ghost{background:transparent;color:#fff}
.mk-btn:focus-visible,.mk-link:focus-visible,.mkA-tile:focus-visible{outline:3px solid #fff;outline-offset:3px}
.mk-small{color:#fff;opacity:.85;font-size:14px;margin-top:18px}
.mk-eyebrow{color:var(--gold);text-transform:uppercase;letter-spacing:.16em;font-weight:700;font-size:13px;margin:0 0 6px}
.mk-h2{font-size:clamp(30px,4.5vw,48px);letter-spacing:-.03em;line-height:1;margin:0 0 22px;color:var(--navy)}
.mk-sec{padding:clamp(48px,8vw,90px) 0;background:#fff}
.mk-link{color:var(--navy);font-weight:700;text-decoration:none;border-bottom:2px solid var(--gold);padding-bottom:2px}
.mk-more{margin-top:22px}
.mk-gal{display:grid;gap:10px;grid-template-columns:repeat(3,1fr)}.mk-gal img{width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px}.mk-gal img.wide{grid-column:span 2;grid-row:span 2}
@media(max-width:640px){.mk-gal{grid-template-columns:1fr 1fr}}
.mk-trust{background:var(--navy);color:#fff;padding:44px 0;text-align:center;border-top:2px solid var(--gold)}
.mk-stars{color:var(--gold);font-size:22px;margin:0}.mk-stars b{color:#fff}
.mk-rev{font-style:italic;max-width:700px;margin:10px auto 26px;opacity:.92}.mk-rev span{color:var(--gold);font-style:normal}
.mk-logos{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.mk-logos span{background:#fff;border-radius:10px;padding:8px 12px;display:grid;place-items:center;width:120px;height:66px}.mk-logos img{max-height:48px;width:auto;object-fit:contain}
.mk-qband{background:linear-gradient(135deg,var(--navy),#16305a);color:#fff;text-align:center;padding:clamp(50px,8vw,90px) 0;border-top:1px solid #ffffff1a}
.mk-qband h2{font-size:clamp(32px,5vw,54px);letter-spacing:-.03em;margin:0 0 10px}.mk-qband p{opacity:.9;margin:0 0 24px}
/* A */
.mkA-hero{min-height:calc(100svh - 110px);background:var(--navy) center/cover;display:flex;align-items:flex-end;padding:0 0 clamp(40px,9vh,90px)}
.mkA-tiles{display:grid;gap:16px;grid-template-columns:repeat(3,1fr)}@media(max-width:820px){.mkA-tiles{grid-template-columns:1fr}}
.mkA-tile{position:relative;min-height:420px;border-radius:18px;overflow:hidden;display:flex;align-items:flex-end;color:#fff;text-decoration:none;box-shadow:0 10px 30px #0d1f3c26}
@media(max-width:820px){.mkA-tile{min-height:300px}}
.mkA-tile .bg{position:absolute;inset:0;background:center/cover;transition:transform .6s}.mkA-tile:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0d1f3c10 30%,#0d1f3cf2)}
.mkA-tile:hover .bg{transform:scale(1.06)}.mkA-tile .tx{position:relative;z-index:1;padding:24px}.mkA-tile b{display:block;font-size:30px;letter-spacing:-.02em}.mkA-tile small{display:block;opacity:.9;font-size:15px;margin:6px 0 12px}.mkA-tile i{color:var(--gold);font-style:normal;font-weight:700}
/* B */
.mkB-hero{display:grid;grid-template-columns:1.1fr 1fr;min-height:calc(100svh - 110px)}
.mkB-hero .mkph,.mkB-row .mkph{background:center/cover;min-height:320px}
.mkB-hero .panel{background:var(--navy);display:flex;flex-direction:column;justify-content:center;padding:clamp(30px,6vw,80px);border-left:4px solid var(--gold)}
.mkB-hero .mk-huge{font-size:clamp(72px,11vw,170px)}
.mkB-row{display:grid;grid-template-columns:1fr 1fr;background:#fff}.mkB-row.rev .mkph{order:2}
.mkB-row .mkph{min-height:440px}.mkB-row .tx{padding:clamp(30px,6vw,80px);display:flex;flex-direction:column;justify-content:center}.mkB-row .tx p{font-size:18px;color:#2a3650;max-width:460px;margin:0 0 20px}
.mkB-row:nth-of-type(even) .tx{background:#f5f7fb}
@media(max-width:760px){.mkB-hero,.mkB-row{grid-template-columns:1fr}.mkB-hero .mkph{min-height:42vh;order:-1}.mkB-hero .panel{border-left:0;border-top:4px solid var(--gold)}.mkB-row.rev .mkph{order:0}.mkB-row .mkph{min-height:260px}}
/* C */
.mkC-intro{background:var(--navy);min-height:calc(100svh - 110px);display:flex;align-items:center;padding:40px 0}
.mkC-band{min-height:78vh;display:flex;align-items:center;padding:60px 0;color:#fff;background:center/cover}
.mkC-band.navy{background:var(--navy);text-align:center;border-top:1px solid #ffffff14}.mkC-band.navy .wrap{max-width:820px}
.mkC-band h2{font-size:clamp(38px,7vw,84px);letter-spacing:-.04em;line-height:.95;margin:0 0 16px;max-width:860px}
.mkC-band p{font-size:clamp(17px,2vw,22px);color:var(--gold);font-style:italic;max-width:620px;margin:0}.mkC-band.navy p{margin:0 auto}
.mkC-band .num{display:block;color:var(--gold);font-weight:700;letter-spacing:.2em;margin-bottom:14px}
.fade{opacity:0;transform:translateY(28px);transition:opacity .9s ease,transform .9s ease}.fade.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.fade{opacity:1;transform:none;transition:none}}
.mk-huge{letter-spacing:-.035em}
.mkB-hero>*{min-width:0}.mkB-hero .mk-huge{font-size:clamp(64px,8.6vw,150px)}
@media(max-width:760px){.mkB-hero .mk-huge{font-size:clamp(64px,22vw,110px)}}
.mkB-hero .panel{align-items:flex-start}
.mkA-tiles{grid-template-columns:repeat(3,1fr)}@media(max-width:820px){.mkA-tiles{grid-template-columns:1fr}}
.mkA-tile.noimg{background:linear-gradient(135deg,#16305a,#0d1f3c);border:2px dashed #C9A24A66}
.mk-ph-tag{position:absolute;top:18px;left:18px;z-index:1;color:var(--gold);border:1px dashed var(--gold);border-radius:999px;padding:4px 12px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.mk-ph{aspect-ratio:4/3;border-radius:10px;background:#eef1f6;border:2px dashed #b9c3d6;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--mute);font-weight:700;text-align:center}.mk-ph small{font-weight:400}
.mk-huge.long{font-size:clamp(50px,13.5vw,190px)}
.site-header.side .in{max-width:1400px}
@media(min-width:1100px){.site-header.side .in{flex-wrap:nowrap}.site-header.side nav a{padding:8px 9px}}
.mkA-tile:after{background:linear-gradient(180deg,#0d1f3c40 0%,#0d1f3cb3 45%,#0d1f3cf7 80%)}
.mk-note{font-size:.85rem;opacity:.7;margin:.75rem 0 0}
/* 17 Oct: readable hero tagline + white text on gold buttons */
.mkA-hero .mk-tag{display:block;width:fit-content;color:var(--gold);font-weight:600;font-size:clamp(1.3rem,1.1rem + 1vw,1.75rem);line-height:1.35;max-width:680px;margin:18px 0 26px;padding:12px 18px;background:#0d1f3cd9;border-left:3px solid var(--gold);border-radius:10px;text-shadow:0 2px 6px #000c,0 0 2px #000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
.mkA-hero .mk-huge{text-shadow:0 4px 24px #0d1f3c99}
.btn,.mk-btn:not(.ghost),.site-header nav a.cta,.site-header.side nav a.cta,.btn2:not(.out),.quote-cta .btn2:not(.out),.xlink,.big i,.tile:hover .pill,.tile:focus-visible .pill{background:var(--gold);color:var(--navy);font-weight:700;letter-spacing:.02em;text-shadow:none;border:1px solid #A8853A;transition:background .2s,transform .2s,box-shadow .2s}
.btn:not(:disabled):hover,.btn:not(:disabled):focus-visible,.mk-btn:not(.ghost):hover,.mk-btn:not(.ghost):focus-visible,.site-header nav a.cta:hover,.site-header.side nav a.cta:hover,.site-header nav a.cta:focus-visible,.btn2:not(.out):hover,.btn2:not(.out):focus-visible,.xlink:hover,.xlink:focus-visible{background:#D9B865;color:var(--navy);text-shadow:none;transform:translateY(-2px);box-shadow:0 6px 16px #0d1f3c40}
/* 17 Oct: service pages */
.mk-huge.xlong{font-size:clamp(40px,10.5vw,150px);line-height:.92}
.sv-crumb{margin:0 0 14px;font-size:14px;font-weight:600;color:#ffffffcc;letter-spacing:.02em}.sv-crumb a{color:var(--gold);text-decoration:none}
.sv-sec.alt{background:var(--bg)}.sv-sec.navy{background:var(--navy);color:#fff}.sv-sec.navy .mk-h2{color:#fff}
.sv-intro{display:grid;grid-template-columns:1.3fr 1fr;gap:28px;align-items:start}
.sv-what p{font-size:18px;line-height:1.6;color:#2a3650;margin:0 0 14px}
.sv-intro h3,.sv-consider h3{margin:0 0 12px;font-size:15px;text-transform:uppercase;letter-spacing:.12em;color:var(--gold)}
.sv-who{background:var(--navy);color:#fff;border-radius:16px;padding:24px;border-top:4px solid var(--gold)}
.sv-ticks{list-style:none;margin:0;padding:0}.sv-ticks li{padding:8px 0 8px 30px;position:relative;border-bottom:1px solid #ffffff1a;font-weight:600}.sv-ticks li:last-child{border:0}
.sv-ticks li:before{content:"✓";position:absolute;left:0;top:7px;width:22px;height:22px;border-radius:50%;background:var(--gold);color:var(--navy);font-size:13px;display:grid;place-items:center;font-weight:700}
.sv-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.sv-card{background:#fff;border-radius:16px;padding:22px;box-shadow:0 1px 3px #0d1f3c14;border-bottom:3px solid var(--gold)}
.sv-card h3{margin:12px 0 6px;color:var(--navy);font-size:19px}.sv-card p{margin:0;color:#3a4660;line-height:1.5}
.sv-ic{width:40px;height:40px;border-radius:12px;background:var(--navy);color:var(--gold);display:grid;place-items:center;font-weight:700;font-size:18px}
.sv-consider{margin-top:22px;background:#fff;border-radius:16px;padding:20px 24px;border-left:4px solid var(--navy)}.sv-consider ul{margin:0;padding-left:20px;color:#3a4660;line-height:1.6}
.sv-jobs{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.sv-job{border:1px solid var(--line);border-radius:16px;padding:22px;border-top:4px solid var(--gold);background:#fff;scroll-margin-top:120px}
.sv-job h3{margin:0 0 8px;color:var(--navy);font-size:19px}.sv-job p{margin:0 0 12px;color:#3a4660;line-height:1.5}
.sv-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;counter-reset:s}
.sv-steps li{position:relative;background:#ffffff0d;border:1px solid #ffffff1f;border-radius:16px;padding:22px}
.sv-steps .n{width:42px;height:42px;border-radius:50%;background:var(--gold);color:var(--navy);display:grid;place-items:center;font-weight:700;font-size:19px}
.sv-steps h3{margin:12px 0 6px;color:var(--gold);font-size:19px}.sv-steps p{margin:0;opacity:.9;line-height:1.5}
.sv-note{color:var(--mute);margin:-8px 0 18px;font-style:italic}
.sv-regs{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.sv-reg{background:#fff;border-radius:16px;padding:22px;border-left:4px solid var(--gold);box-shadow:0 1px 3px #0d1f3c14}.sv-reg h3{margin:0 0 8px;color:var(--navy);font-size:18px}.sv-reg p{margin:0;color:#3a4660;line-height:1.55}
.sv-faqs{max-width:860px}.sv-faqs details.acc{background:#fff;margin:0 0 10px}.sv-faqs summary{padding:16px 18px;font-weight:700;cursor:pointer}.sv-faqs .body{padding:0 18px 14px}.sv-faqs .body p{margin:0;line-height:1.6}
.sv-gal{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,32%);gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}
.sv-gal img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px;scroll-snap-align:start}
.sv-related{background:var(--bg);padding:36px 0;border-top:1px solid var(--line)}.sv-related h2{font-size:15px;text-transform:uppercase;letter-spacing:.12em;color:var(--gold);margin:0 0 14px}
.sv-rel{display:flex;flex-wrap:wrap;gap:10px}.sv-rel a{color:var(--navy);font-weight:700;text-decoration:none;border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 16px}.sv-rel a:hover{border-color:var(--gold)}
@media(max-width:900px){.sv-intro{grid-template-columns:1fr}.sv-cards,.sv-steps{grid-template-columns:1fr 1fr}.sv-jobs{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.sv-cards,.sv-steps,.sv-jobs,.sv-regs{grid-template-columns:1fr}.sv-gal{grid-auto-columns:80%}.sv-what p{font-size:17px}}
/* side header: section home, dropdown, hamburger */
.site-header.side .sidehome{color:#fff;font-weight:700;text-decoration:none;text-transform:uppercase;letter-spacing:.08em;font-size:14px;padding-left:10px;border-left:1px solid #ffffff33}
.site-header.side .sidehome[aria-current]{color:var(--gold)}
.site-header.side nav{overflow:visible}
.site-header.side .dd{position:relative}.site-header.side .dd>a{display:inline-flex;align-items:center;gap:4px}.site-header.side .car{font-size:11px;opacity:.8}
.site-header.side .dd.on>a{color:var(--gold)}
.site-header.side .dd .sub{display:none;position:absolute;top:100%;left:0;min-width:180px;background:var(--navy);border:1px solid #ffffff22;border-top:2px solid var(--gold);border-radius:0 0 12px 12px;padding:6px;box-shadow:0 10px 24px #0006;z-index:60}
.site-header.side .dd:hover .sub,.site-header.side .dd:focus-within .sub{display:block}
.site-header.side .dd .sub a{display:block;padding:9px 12px}
.site-header.side .burger,.site-header.side .mob-only{display:none}
@media(max-width:1099px){
 .site-header.side .in{flex-wrap:nowrap;gap:10px}
 .site-header.side .burger{display:inline-flex;flex-direction:column;justify-content:center;gap:4px;width:44px;height:44px;border:1px solid #ffffff33;border-radius:10px;background:transparent;cursor:pointer;order:4;flex:none;padding:0 11px}
 .site-header.side .burger span{display:block;height:2px;background:#fff;border-radius:2px;transition:transform .2s,opacity .2s}
 .site-header.side.open .burger span:nth-child(1){transform:translateY(6px) rotate(45deg)}.site-header.side.open .burger span:nth-child(2){opacity:0}.site-header.side.open .burger span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
 .site-header.side .hdr-contact{order:3;margin-left:auto;border:0;padding:0}.site-header.side .desk-only{display:none}
 .site-header.side nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--navy);border-bottom:2px solid var(--gold);padding:8px 14px 16px;max-height:calc(100vh - 90px);overflow-y:auto;box-shadow:0 14px 30px #0007;width:auto;margin:0;order:5}
 .site-header.side.open nav{display:flex}
 .site-header.side nav a{font-size:17px;padding:13px 6px;border-bottom:1px solid #ffffff14;white-space:normal}
 .site-header.side nav a[aria-current]{box-shadow:inset 3px 0 0 var(--gold);padding-left:12px}
 .site-header.side .mob-only{display:block}
 .site-header.side .dd .sub{display:block;position:static;border:0;box-shadow:none;background:transparent;padding:0 0 0 14px;min-width:0}
 .site-header.side .dd .sub a{font-size:15.5px;padding:11px 6px;opacity:.92}
 .site-header.side .car{display:none}
 .site-header.side nav a.cta{margin:14px 0 0;text-align:center;border-radius:999px;padding:13px}
 .site-header.side{position:sticky}
}
@media(max-width:420px){.site-header.side .grp{font-size:12px}.site-header.side .sidehome{font-size:13px;padding-left:8px}.site-header.side .hdr-contact a{font-size:13px}}
@media(max-width:600px){.sv-card,.sv-steps li{display:grid;grid-template-columns:42px 1fr;column-gap:14px;padding:18px}.sv-card h3,.sv-steps h3{margin:0 0 4px;align-self:center}.sv-card p,.sv-steps p{grid-column:2}.sv-sec{padding:44px 0}}
/* 17 Oct: projects pages */
.pj-h1{font-size:clamp(46px,12vw,170px);line-height:.88}
.pj-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px}
.pj-f{font:inherit;font-weight:700;font-size:15px;padding:10px 16px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--navy);cursor:pointer;display:inline-flex;gap:8px;align-items:center;letter-spacing:.02em}
.pj-f:hover{border-color:var(--gold)}.pj-f[aria-pressed="true"]{background:var(--navy);color:#fff;border-color:var(--navy)}
.pj-n{font-size:12px;min-width:22px;height:22px;border-radius:999px;display:inline-grid;place-items:center;background:#0d1f3c12;padding:0 6px}.pj-f[aria-pressed="true"] .pj-n{background:var(--gold);color:var(--navy)}
.pj-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.pj-card{font:inherit;text-align:left;padding:0;border:0;background:#fff;border-radius:16px;overflow:hidden;cursor:pointer;box-shadow:0 1px 3px #0d1f3c1f,0 8px 24px #0d1f3c0f;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s;color:inherit}
.pj-card:hover,.pj-card:focus-visible{transform:translateY(-3px);box-shadow:0 14px 30px #0d1f3c2e}.pj-card:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.pj-card[hidden]{display:none}
.pj-img{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:var(--navy)}.pj-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.pj-card:hover .pj-img img{transform:scale(1.05)}
.pj-count{position:absolute;right:10px;bottom:10px;background:#0d1f3cd9;color:#fff;font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px}
.pj-body{display:flex;flex-direction:column;gap:6px;padding:16px 18px 18px;border-top:3px solid var(--gold);flex:1}
.pj-type{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--gold);font-weight:700}
.pj-title{font-size:20px;font-weight:700;color:var(--navy);line-height:1.2}
.pj-loc{font-size:14px;color:var(--mute)}.pj-loc em,.pj-lb .pj-loc em{font-style:normal;color:#9a7a2e;border-bottom:1px dashed #C9A24A}
.pj-stats{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.pj-stat{font-size:13px;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:5px 9px;color:var(--navy)}.pj-stat b{font-weight:700;margin-right:2px}.pj-stat b:after{content:":"}
.pj-stat.tbc{background:#fffaf0;border:1px dashed #C9A24A;color:#8a6d27}
.pj-empty{background:var(--bg);border-radius:14px;padding:22px;text-align:center;font-weight:600;color:var(--navy)}.pj-empty a{color:var(--navy)}
.pj-totals{background:var(--navy);color:#fff;padding:48px 0;border-top:2px solid var(--gold);text-align:center}
.pj-tot{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:10px 0 8px}.pj-tot b{display:block;font-size:clamp(30px,4.5vw,52px);color:var(--gold);letter-spacing:-.02em;line-height:1}.pj-tot span{display:block;margin-top:8px;opacity:.9;font-weight:600}
.pj-tnote{opacity:.7;font-size:13px;margin:12px 0 0}
.pj-lb{border:0;padding:0;border-radius:18px;max-width:min(1000px,94vw);width:100%;max-height:92vh;overflow:auto;background:#fff;box-shadow:0 30px 80px #0009}
.pj-lb::backdrop{background:#0d1f3cd9}
.pj-lb-in{position:relative;display:grid;grid-template-columns:1.5fr 1fr}
.pj-lb-ph{position:relative;background:#081426;min-height:300px;display:grid;place-items:center}.pj-lb-ph img{width:100%;height:100%;max-height:80vh;object-fit:contain}
.pj-prev,.pj-next{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:0;background:#fffe;color:var(--navy);font-size:26px;cursor:pointer;line-height:1}.pj-prev{left:10px}.pj-next{right:10px}.pj-prev[hidden],.pj-next[hidden]{display:none}
.pj-pc{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);color:#fff;font-size:13px;font-weight:700;text-shadow:0 1px 3px #000}
.pj-lb-tx{padding:28px 26px;display:flex;flex-direction:column;gap:8px;align-items:flex-start}.pj-lb-tx h2{margin:0;color:var(--navy);font-size:28px;line-height:1.1}.pj-lb-tx p{margin:0;color:#3a4660;line-height:1.55}.pj-lb-tx .mk-btn{margin-top:12px}
.pj-x{position:absolute;top:10px;right:10px;z-index:2;width:42px;height:42px;border-radius:50%;border:0;background:var(--navy);color:#fff;font-size:26px;cursor:pointer;line-height:1}
@media(max-width:900px){.pj-grid{grid-template-columns:1fr 1fr}.pj-tot{grid-template-columns:1fr 1fr;row-gap:26px}}
@media(max-width:600px){.pj-grid{grid-template-columns:1fr}.pj-lb-in{grid-template-columns:1fr}.pj-lb-ph{min-height:220px}.pj-lb-tx{padding:20px}.pj-filters{flex-wrap:nowrap;overflow-x:auto;margin:0 -18px 18px;padding:0 18px 4px;scrollbar-width:none}.pj-f{flex:none}}
/* landing: logo mark, script tagline, reviews band */
@font-face{font-family:"Kaushan Script";src:url(/fonts/kaushan-script-latin.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
.landing .mega-mark{display:block;margin:0 auto 14px;height:clamp(140px,22vh,220px);width:auto}
@media(max-width:640px){.landing .mega-mark{height:140px}}
.landing .mega-tag{font-family:"Kaushan Script","Brush Script MT",cursive;font-style:normal;font-weight:400;font-synthesis:none;color:#C9A24A;font-size:2rem;line-height:1.2;margin:16px 0 4px;letter-spacing:.005em;text-shadow:0 2px 14px #0007}
@media(min-width:900px){.landing .mega-tag{font-size:2.6rem}}
main:has(>.rv:last-child)+.site-footer{margin-top:0}
.rv{background:var(--navy);color:#fff;border-top:2px solid #C9A24A;padding:12px 0 14px;overflow:hidden}
.rv-head{text-align:center;font-size:13px;letter-spacing:.02em;opacity:.95;margin-bottom:8px}.rv-head b{color:#C9A24A}
.rv-stars,.rv-st{color:#C9A24A;letter-spacing:2px}
.rv-row{display:flex;align-items:center;gap:8px;padding:0 10px}
.rv-view{flex:1;overflow:hidden;outline:none;-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.rv-view:focus-visible{box-shadow:0 0 0 2px #C9A24A;border-radius:8px}
.rv-track{display:flex;width:max-content;will-change:transform}
.rv-item{margin:0;padding:0 28px;width:min(78vw,460px);box-sizing:border-box;border-right:1px solid #C9A24A44;display:flex;flex-direction:column;gap:4px}
.rv-st{font-size:13px}
.rv-item blockquote{margin:0;font-size:14px;line-height:1.45;font-style:italic;color:#fff}
.rv-item figcaption{font-size:12.5px;font-weight:700;color:#C9A24A}
.rv-arrow{flex:none;width:36px;height:36px;border-radius:50%;border:1px solid #a8862f;background:#C9A24A;color:#0B1F3A;font-size:24px;font-weight:700;line-height:1;cursor:pointer;display:grid;place-items:center;padding:0 0 3px;transition:background .2s,transform .2s}
.rv-arrow:hover{background:#d8b764;transform:translateY(-1px)}.rv-arrow:focus-visible{outline:2px solid #fff;outline-offset:2px}
@media(max-width:640px){.rv-item{width:80vw;padding:0 16px}.rv-arrow{width:32px;height:32px;font-size:21px}}
@media(min-width:900px){.rv-item{width:600px}.rv-item blockquote{font-size:13.5px;line-height:1.4}.rv{padding:10px 0 12px}.rv-head{margin-bottom:6px}}
@media(max-width:640px){.rv-item blockquote{font-size:13px;line-height:1.4}}
.mk-rot{display:grid;max-width:700px;margin:10px auto 26px}.mk-rot .mk-rev{grid-area:1/1;margin:0;opacity:0;transition:opacity .8s;align-self:center}.mk-rot .mk-rev.on{opacity:.92}
.rv-list{display:grid;gap:14px}@media(min-width:900px){.rv-list{grid-template-columns:1fr 1fr}}
.rv-list .review2{margin:0}.rv-list blockquote{margin:6px 0 0}.rv-list .rv-st{font-style:normal}
/* 17 Oct (eve): one hero heading style everywhere = SWAYE GROUP on the holding page */
.mega-h1,.mk-huge,.mk-huge.long,.mk-huge.xlong,.pj-h1,.mkB-hero .mk-huge,.band h1,.hero2 h1{font-family:'Space Grotesk',system-ui,sans-serif;font-weight:700;font-size:clamp(52px,13vw,150px);line-height:.9;letter-spacing:-.045em;text-align:center;margin:0 auto;max-width:100%;overflow-wrap:break-word;text-wrap:balance;color:#fff}
.hero2 h1{text-transform:uppercase;margin-bottom:14px}
.mkA-hero .wrap,.hero2 .wrap,.band .wrap{width:100%;text-align:center}
.mkA-hero .mk-tag{margin:18px auto 26px;border-left:0;border-top:3px solid var(--gold);text-align:center}
.mkA-hero .sv-crumb,.hero2 .crumb{text-align:center}
.hero2 p{margin-left:auto;margin-right:auto}
.mkA-tiles.four{grid-template-columns:repeat(4,1fr)}.mkA-tiles.second{margin-top:16px}
@media(max-width:1100px){.mkA-tiles.four{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.mkA-tiles.four{grid-template-columns:1fr}}
/* holding page: thin gold line between the reviews band and the footer */
.landing .thin-footer{border-top:3px solid #C9A24A}
/* 17 Oct (v4): every hero heading at the same y on every page.
   --hh = header height (incl. 2px gold border), --top = heading-stack start, --hb = hero bottom (both measured from the top of the header). */
body:not(.landing){--hh:62px;--top:202px;--hb:742px}
@media(max-width:760px){body:not(.landing){--hh:63px;--top:153px;--hb:663px}body:not(.landing):not(.side){--hh:103px}}
@media(min-width:761px) and (max-width:1099px){body.side{--hh:auto}}
.site-header:not(.slim){height:var(--hh);box-sizing:border-box}
.site-header:not(.slim):not(.side) .in{height:100%;padding-top:0;padding-bottom:0;align-content:center}
@media(min-width:1100px),(max-width:760px){.site-header.side .in{height:100%;padding-top:0;padding-bottom:0;align-content:center}}
.mkA-hero,.band,.hero2{display:block;box-sizing:border-box;padding:calc(var(--top) - var(--hh)) 0 24px;min-height:calc(var(--hb) - var(--hh))}
@media(min-width:761px) and (max-width:1099px){body.side .mkA-hero,body.side .band{padding-top:140px;min-height:680px}}
.mkA-hero .wrap,.band .wrap,.hero2 .wrap{max-width:1400px}
/* breadcrumb slot is always the same height; pages without a breadcrumb get the same space above the heading */
.mkA-hero .sv-crumb,.hero2 .crumb{display:block;height:22px;line-height:22px;margin:0 0 14px;padding:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mkA-hero .wrap>h1:first-child,.band .wrap>h1:first-child,.hero2 .wrap>h1:first-child{margin-top:36px}
@media(min-width:761px){.mk-huge.nowrap{white-space:nowrap}}
@media(max-width:480px){.hero2 h1:has(.fitw){font-size:11.4vw}}
/* footer: three fixed lines (address+name / town+email / phones) */
.thin-footer .tf-row{display:block;white-space:nowrap}
@media(max-width:420px){.thin-footer .tf-row{white-space:normal}}
/* 17 Oct: tighter heroes - less empty image above and below the text */
body:not(.landing){--top:calc(var(--hh) + 64px);--hb:calc(var(--hh) + 520px)}
@media(max-width:760px){body:not(.landing){--top:calc(var(--hh) + 34px);--hb:calc(var(--hh) + 380px)}}
.mkA-hero,.band,.hero2{padding-bottom:44px}
@media(max-width:760px){.mkA-hero,.band,.hero2{padding-bottom:34px}}
@media(min-width:761px) and (max-width:1099px){body.side .mkA-hero,body.side .band{padding-top:64px;min-height:520px}}
.rv-view{cursor:pointer;-webkit-tap-highlight-color:transparent}
.rv-arrow{touch-action:manipulation;-webkit-tap-highlight-color:transparent;position:relative;z-index:2}
/* 18 Oct: The Swaye Way pages */
.sw-lead{font-size:18px;max-width:760px;color:#2a3650;margin:0 0 22px}.sv-sec.navy .sw-lead{color:#fff}
.sw-van{margin-top:16px;color:var(--navy);font-weight:600;font-style:italic}
.sw-ways{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.sw-ways .sv-ic{font-weight:700}
.sw-band{display:grid;grid-template-columns:repeat(3,1fr);gap:0;background:var(--navy)}.sw-band img{width:100%;height:clamp(200px,28vw,380px);object-fit:cover;display:block}
@media(max-width:700px){.sw-band{grid-template-columns:1fr 1fr}.sw-band img:first-child{grid-column:1/-1}}
.sw-acc{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.sw-acc-card{background:#fff;border:1px solid #e3e7ef;border-top:3px solid var(--gold);border-radius:14px;padding:18px}.sw-acc-card h3{margin:12px 0 6px;font-size:17px;color:var(--navy)}.sw-acc-card p{margin:0;font-size:15px;color:#3a4660}
.sw-logo{display:grid;place-items:center;height:64px}.sw-logo img{max-height:60px;max-width:150px;object-fit:contain}.sw-logo-tx{border:2px solid var(--navy);border-radius:10px;font-weight:700;color:var(--navy);font-size:14px;padding:0 10px;text-align:center}
.sw-clients{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.sw-clients span{background:#fff;border-radius:12px;height:84px;display:grid;place-items:center;padding:10px;box-shadow:0 2px 10px #0d1f3c14}.sw-clients img{max-width:100%;max-height:62px;object-fit:contain}
.sw-team{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.sw-member{background:#fff;border:1px solid #e3e7ef;border-radius:16px;padding:16px;text-align:center}.sw-member img,.sw-mono{width:120px;height:120px;border-radius:50%;object-fit:cover;display:block;margin:0 auto 10px;border:3px solid var(--gold)}
.sw-mono{display:grid;place-items:center;background:var(--navy);color:var(--gold);font-weight:700;font-size:34px;box-sizing:border-box}
.sw-member h3{margin:0;color:var(--navy)}.sw-member b{display:block;color:var(--gold);font-size:14px;margin:2px 0 8px}.sw-member p{margin:0;font-size:14.5px;color:#3a4660}
.sw-revs{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 14px;scrollbar-color:var(--gold) transparent}
.sw-rev{flex:0 0 min(84%,380px);scroll-snap-align:start;margin:0;background:#16305a;border:1px solid #C9A24A55;border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:8px}
.sw-rev blockquote{margin:0;font-style:italic;line-height:1.5;color:#fff}.sw-rev figcaption{color:var(--gold);font-weight:700;font-size:14px;margin-top:auto}
.sv-sec.navy .mk-more a{color:var(--gold)}
/* side menu now includes 'The Swaye Way': keep the header on one row between 1100 and 1439px */
@media(min-width:1100px) and (max-width:1439px){.site-header.side .hdr-contact .desk-only{display:none}.site-header.side nav a{padding:8px 7px;font-size:14px}.site-header.side .in{gap:8px}}
@media(min-width:1100px) and (max-width:1199px){.site-header.side .grp{font-size:12px}.site-header.side nav a{padding:8px 5px;font-size:13.5px}}
.sw-groups{display:grid;gap:12px 24px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin:22px 0 0}.sw-groups dt{font-weight:700;color:var(--navy)}.sw-groups dd{margin:2px 0 0;color:#3a4660;font-size:15px}
/* 18 Oct: mobile side header = [← Swaye / Group | SECTION]  [burger centred]  [phone / email] at a fixed 63px (--hh unchanged) */
@media(max-width:760px){
 .site-header.side .in{position:relative;flex-wrap:nowrap;gap:0;padding-left:10px;padding-right:10px}
 .site-header.side .grp{display:flex;flex-direction:column;line-height:1.15;font-size:11.5px;flex:none}
 .site-header.side .grp .g1,.site-header.side .grp .g2{display:block}
 .site-header.side .sidehome{font-size:12px;letter-spacing:.05em;padding-left:8px;margin-left:8px;flex:none;line-height:28px}
 .site-header.side .burger{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);order:0;width:42px;height:42px;padding:0 10px;border-color:#C9A24A99}
 .site-header.side .hdr-contact{order:0;margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:1px;text-align:right;line-height:1.2}
 .site-header.side .hdr-contact a{font-size:13px}
 .site-header.side .hdr-contact .desk-only{display:block;font-size:11px;font-weight:500;opacity:.92}
 .site-header.side nav{order:0}
}
@media(max-width:374px){.site-header.side .grp{font-size:11px}.site-header.side .sidehome{font-size:11px;letter-spacing:.03em;padding-left:6px;margin-left:6px}.site-header.side .hdr-contact a{font-size:12.5px}.site-header.side .hdr-contact .desk-only{font-size:10.5px}}
/* 18 Oct: mobile heading top fixed in absolute terms (side header 63px + 34px) so the taller 103px main header doesn't push headings 40px lower */
@media(max-width:760px){
 body:not(.landing){--top:97px;--hb:443px}
 .mkA-hero,.band,.hero2{padding-top:max(0px,calc(var(--top) - var(--hh)))}
 body:not(.landing):not(.side) :is(.mkA-hero,.band,.hero2)>.wrap{margin-top:min(0px,calc(var(--top) - var(--hh)))}
}
/* 18 Oct: Our team pages */
.tm-grid{display:grid;gap:22px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));margin-top:28px}
.tm-card{background:#fff;border:1px solid #e3e7ef;border-top:3px solid var(--gold);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 4px 18px #0d1f3c12}
.tm-card img,.tm-mono{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 25%;display:block;background:var(--navy)}
.tm-mono{display:grid;place-items:center;color:var(--gold);font-weight:700;font-size:56px}
.tm-tx{padding:16px 18px 20px}.tm-tx h3{margin:0;color:var(--navy);font-size:20px}.tm-tx b{display:block;color:var(--gold);font-size:14px;letter-spacing:.06em;text-transform:uppercase;margin:3px 0 10px}.tm-tx p{margin:0;color:#3a4660;font-size:15px;line-height:1.55}
.sv-sec.navy .sw-stars,.sw-stars{color:var(--gold)}.sv-sec.navy .sw-stars b{color:#fff}
@media(max-width:600px){.tm-grid{grid-template-columns:1fr 1fr;gap:12px}.tm-tx{padding:12px}.tm-tx h3{font-size:16px}.tm-tx b{font-size:12px}.tm-tx p{font-size:13.5px}}
/* 18 Oct: 'Our team' added to the side nav; tighten desktop spacing so it all still fits on one line */
@media(min-width:1440px){.site-header.side nav a{padding:8px 6px;font-size:14.5px}.site-header.side .in{gap:12px}.site-header.side .hdr-contact{gap:12px}}
@media(min-width:1100px) and (max-width:1439px){.site-header.side nav a{padding:8px 5px;font-size:13.5px}.site-header.side .in{gap:6px}}
@media(min-width:1100px) and (max-width:1199px){.site-header.side nav a{padding:8px 3.5px;font-size:12.8px}.site-header.side .in{gap:5px}.site-header.side .sidehome{padding-left:7px}}
/* back link: arrow sits outside so "Swaye" and "Group" centre on each other */
.site-header.side .grp .ga{margin-right:5px}
@media(max-width:760px){.site-header.side .grp{position:relative;align-items:center;text-align:center;padding-left:13px}.site-header.side .grp .ga{position:absolute;left:0;top:50%;transform:translateY(-50%);margin:0}}

/* review fixes 18 Oct: quote pages load style.css whose bare header{} rule broke the side header */
.quote-page .site-header{display:block;padding:0;justify-content:normal}
.quote-page .site-header.side .in{width:100%}
.privacy-note{font-size:13px;color:#4a5875;margin:14px 0 6px}.privacy-note a{color:var(--navy);font-weight:600}
.tf-row a.tf-priv{opacity:.9}
.legal h2{margin-top:28px}.legal ul{padding-left:20px}.legal p,.legal li{line-height:1.6}

/* migrated blog posts */
.post{max-width:780px}.post h2{margin-top:30px}.post h3{margin-top:24px}.post p,.post li{line-height:1.65}.post ul,.post ol{padding-left:22px}
.post .post-img{margin:22px 0}.post .post-img img{width:auto;max-width:100%;height:auto;border-radius:10px}.post a{color:#16305a;text-decoration:underline}.post-back{margin-top:30px}
/* 18 Oct new pages: longer burger menus must scroll in one column, never wrap into a second column */
@media(max-width:1099px){.site-header.side nav{flex-wrap:nowrap}.site-header.side nav>*{flex:none}.site-header.side .dd>a{display:flex}}

/* 18 Oct: solar menu has 12 top-level items (longer labels after the Solar PV rename), so the solar side uses the burger up to 1799px (was 1599px before the Design & project management item), and drops the header email (phone stays) until 2200px */
@media(min-width:1100px) and (max-width:1799px){
 body.side-solar .site-header.side .in{flex-wrap:nowrap;gap:10px}
 body.side-solar .site-header.side .burger{display:inline-flex;flex-direction:column;justify-content:center;gap:4px;width:44px;height:44px;border:1px solid #ffffff33;border-radius:10px;background:transparent;cursor:pointer;order:4;flex:none;padding:0 11px}
 body.side-solar .site-header.side .burger span{display:block;height:2px;background:#fff;border-radius:2px;transition:transform .2s,opacity .2s}
 body.side-solar .site-header.side.open .burger span:nth-child(1){transform:translateY(6px) rotate(45deg)}body.side-solar .site-header.side.open .burger span:nth-child(2){opacity:0}body.side-solar .site-header.side.open .burger span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
 body.side-solar .site-header.side .hdr-contact{order:3;margin-left:auto;border:0;padding:0}body.side-solar .site-header.side .desk-only{display:none}
 body.side-solar .site-header.side nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--navy);border-bottom:2px solid var(--gold);padding:8px 14px 16px;max-height:calc(100vh - 90px);overflow-y:auto;box-shadow:0 14px 30px #0007;width:auto;margin:0;order:5}
 body.side-solar .site-header.side.open nav{display:flex}
 body.side-solar .site-header.side nav a{font-size:17px;padding:13px 6px;border-bottom:1px solid #ffffff14;white-space:normal}
 body.side-solar .site-header.side nav a[aria-current]{box-shadow:inset 3px 0 0 var(--gold);padding-left:12px}
 body.side-solar .site-header.side .mob-only{display:block}
 body.side-solar .site-header.side .dd .sub{display:block;position:static;border:0;box-shadow:none;background:transparent;padding:0 0 0 14px;min-width:0}
 body.side-solar .site-header.side .dd .sub a{font-size:15.5px;padding:11px 6px;opacity:.92}
 body.side-solar .site-header.side .car{display:none}
 body.side-solar .site-header.side nav a.cta{margin:14px 0 0;text-align:center;border-radius:999px;padding:13px}
 body.side-solar .site-header.side{position:sticky}
 body.side-solar .site-header.side .sidehome{margin-right:auto}
 body.side-solar .site-header.side .burger{order:4;margin-left:14px}
 body.side-solar .site-header.side .hdr-contact .desk-only{display:block;font-size:14px}
}
@media(min-width:1800px){body.side-solar .site-header.side .in{max-width:1720px;gap:8px}body.side-solar .site-header.side nav a{padding:8px 5px;font-size:14px}body.side-solar .site-header.side .hdr-contact{gap:10px;margin-left:8px;padding-left:10px}}
@media(min-width:1800px) and (max-width:2199px){body.side-solar .site-header.side .hdr-contact .desk-only{display:none}}
/* 18 Oct pricing: + 'Design & project management' item, so the solar burger now runs to 1799px and the email is hidden until 2200px */
/* 18 Oct: one gold line under every header, identical to the footer's gold top line (.landing .thin-footer: 3px solid #C9A24A).
   Non-landing headers have a fixed border-box height (--hh), so the line never moves the hero. The landing header draws it as an overlay so the page doesn't shift. */
.site-header:not(.slim){border-bottom:3px solid #C9A24A}
.site-header.slim::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:3px;background:#C9A24A;pointer-events:none}
.thin-footer,.site-footer{border-top:3px solid #C9A24A}
@media(min-width:761px) and (max-width:1099px){.site-header.side .in{padding-bottom:7px}}
/* electrical desktop nav fits at 1440+ after the reorder (Our projects label) */
@media(min-width:1440px){body.side-electrical .site-header.side .in{max-width:1720px;gap:8px}body.side-electrical .site-header.side nav a{padding:8px 5px;font-size:14px}}
/* collapsible groups in the burger (class set by JS only while the burger is showing) */
body .site-header.side.burger-mode .dd .sub{display:none}
body .site-header.side.burger-mode .dd.open .sub{display:block}
body .site-header.side.burger-mode .dd>a{display:flex;justify-content:space-between;align-items:center}
body .site-header.side.burger-mode .car{display:inline-block;font-size:14px;opacity:.9;transition:transform .2s;color:#C9A24A}
body .site-header.side.burger-mode .dd.open .car{transform:rotate(180deg)}

/* mktfix 18 Oct: hero secondary link, section CTAs, 5-card benefits */
.sv-hero .sv-hero-sub{margin:10px 0 0;font-size:15px;line-height:1.3}
.sv-hero .sv-hero-sub a{color:#fff;text-decoration:underline;text-decoration-color:#C9A24A;text-underline-offset:3px;font-weight:600}
.sv-hero .sv-hero-sub a:hover{color:#C9A24A}
.sv-cta{margin:18px 0 0}
@media(min-width:901px){.sv-cards.n5{grid-template-columns:repeat(6,1fr)}.sv-cards.n5>*{grid-column:span 2}.sv-cards.n5>:nth-child(n+4){grid-column:span 3}}
@media(min-width:601px) and (max-width:900px){.sv-cards.n5>:last-child{grid-column:span 2}}

/* burger list: start at the top, so an open group never pushes The Swaye Way above the scrollable area */
.site-header.side.burger-mode nav{justify-content:flex-start}

/* payback 18 Oct: highlighted line in savings sections, why-list */
.sv-highlight{border-left:4px solid #C9A24A;background:#fff;color:var(--navy);font-weight:600;padding:14px 18px;border-radius:0 10px 10px 0;margin:14px 0 18px;max-width:760px;box-shadow:0 2px 10px #0d1f3c14}
.sv-why-h{margin:18px 0 6px;font-size:19px;color:var(--navy)}
.sv-ticks-wide{max-width:760px;margin:10px 0 18px}

/* Typical prices (18 Oct 2026): mobile-first */
.pr-table{border:1px solid #dde3ee;border-radius:14px;overflow:hidden;background:#fff;margin:18px 0 6px;max-width:820px}
.pr-row{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:13px 16px;border-top:1px solid #edf0f6}
.pr-row:first-child{border-top:0}
.pr-row:nth-child(even){background:#f7f9fc}
.pr-l{flex:1 1 auto;font-weight:600;color:#0d1f3c;line-height:1.35}
.pr-l small{display:block;font-weight:400;color:#55617a;font-size:13.5px;margin-top:3px;line-height:1.4}
.pr-v{flex:0 0 auto;max-width:48%;text-align:right;font-weight:800;color:#0d1f3c;white-space:normal;line-height:1.35}
.pr-note{max-width:820px;color:#334;font-size:15px;line-height:1.5;margin:10px 0 0}
.pr-small{max-width:820px;font-size:13.5px;line-height:1.5;color:#55617a;margin:14px 0 0}
.pr-free{max-width:820px;font-size:15px;line-height:1.5;margin:10px 0 0;padding:10px 14px;border-left:3px solid #C9A24A;background:#fbf7ec;border-radius:0 10px 10px 0}
.pr-sec .sv-cta{margin-top:18px;display:flex;flex-wrap:wrap;gap:10px}
.mk-btn.ghost-dk{background:transparent;color:#0d1f3c;border:2px solid #0d1f3c}
@media(min-width:700px){.pr-v{max-width:40%}.pr-row{padding:14px 20px}}

/* ===== 19 Oct 2026: side header v2 (.hx), the same component on Solar and Electrical =====
   Desktop (>=1100px): a few top-level items with grouped dropdowns. Below 1100px: burger on the LEFT, next to the side label. */
body.side{--hh:68px}
@media(max-width:760px){body.side{--hh:60px}}
@media(min-width:761px) and (max-width:1099px){body.side{--hh:64px}}
header.site-header.hx{position:sticky;top:0;z-index:100;height:var(--hh);box-sizing:border-box;background:var(--navy);border-bottom:3px solid var(--gold);box-shadow:0 6px 20px #0d1f3c40;padding:0;display:block}
header.site-header.hx .in{max-width:1440px;height:100%;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:flex-start;gap:18px;flex-wrap:nowrap}
.hx .hx-l{display:flex;align-items:center;gap:12px;flex:none}
.hx .grp{color:var(--gold);text-decoration:none;font-size:13px;font-weight:600;white-space:nowrap;line-height:1.15}
.hx .grp:hover{color:#fff}
.hx .sidehome{color:#fff;font-weight:700;text-decoration:none;text-transform:uppercase;letter-spacing:.09em;font-size:15px;padding-left:12px;border-left:1px solid #ffffff33;line-height:28px;white-space:nowrap}
.hx .sidehome[aria-current],.hx .sidehome:hover{color:var(--gold)}
.hx .burger{display:none;flex-direction:column;justify-content:center;gap:4px;width:42px;height:42px;flex:none;padding:0 10px;border:1px solid #ffffff40;border-radius:10px;background:transparent;cursor:pointer}
.hx .burger span{display:block;height:2px;background:#fff;border-radius:2px;transition:transform .2s,opacity .2s}
.hx .burger:hover,.hx .burger:focus-visible{border-color:var(--gold)}
.hx.open .burger span:nth-child(1){transform:translateY(6px) rotate(45deg)}.hx.open .burger span:nth-child(2){opacity:0}.hx.open .burger span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
header.site-header.hx nav{display:flex;align-items:center;gap:2px;margin:0 0 0 8px;overflow:visible;width:auto;justify-content:flex-start;flex-wrap:nowrap}
.hx nav .top{display:inline-flex;align-items:center;gap:7px;color:#fff;background:none;border:0;border-radius:0;font:600 15px/1.2 'Space Grotesk',system-ui,sans-serif;padding:10px 12px;cursor:pointer;text-decoration:none;white-space:nowrap;box-shadow:none}
.hx nav .top:hover,.hx .dd.open>.top{color:var(--gold);background:none}
.hx nav a.top[aria-current],.hx .dd.on>.top{color:var(--gold);box-shadow:inset 0 -2px 0 var(--gold)}
.hx .car{width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .2s;display:inline-block;flex:none}
.hx .dd.open .car{transform:translateY(1px) rotate(-135deg)}
.hx .dd{position:relative}
.hx .sub{position:absolute;top:calc(100% + 14px);left:-6px;min-width:250px;background:var(--navy);border:1px solid #ffffff1f;border-top:3px solid var(--gold);border-radius:0 0 14px 14px;padding:8px;box-shadow:0 18px 40px #0d1f3c80;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .18s,transform .18s,visibility 0s .18s;z-index:110}
.hx .sub::before{content:"";position:absolute;left:0;right:0;top:-18px;height:18px}
.hx .dd.open .sub{opacity:1;visibility:visible;transform:none;transition:opacity .18s,transform .18s}
.hx nav .sub a{display:block;color:#fff;text-decoration:none;font-size:15px;font-weight:600;padding:11px 14px;border-radius:9px;white-space:nowrap;background:none;box-shadow:none}
.hx nav .sub a:hover,.hx nav .sub a:focus-visible{background:#ffffff12;color:var(--gold)}
.hx nav .sub a[aria-current]{color:var(--gold);box-shadow:inset 3px 0 0 var(--gold);border-radius:0 9px 9px 0}
.hx .mob{display:none}
.hx .hx-r{margin-left:auto;display:flex;align-items:center;gap:16px;flex:none}
.hx .hx-r .hx-ph{color:#fff;font-weight:700;font-size:16px;text-decoration:none;white-space:nowrap}
.hx .hx-r .hx-ph:hover{color:var(--gold)}
.hx .hx-r .em{display:none;color:#ffffffcc;font-size:14px;text-decoration:none}
.hx .hx-r .em:hover{color:var(--gold)}
.hx .hx-r .cta{background:var(--gold);color:var(--navy);font-weight:700;text-decoration:none;padding:11px 20px;border-radius:999px;white-space:nowrap;font-size:15px;transition:background .2s,transform .2s}
.hx .hx-r .cta:hover,.hx .hx-r .cta:focus-visible{background:#d9b665;transform:translateY(-1px)}
.hx :focus-visible{outline:2px solid var(--gold);outline-offset:2px}
@media(min-width:1600px){.hx .hx-r .em{display:inline}}
/* burger mode */
@media(max-width:1099px){
 header.site-header.hx .in{padding:0 16px;gap:10px}
 .hx .burger{display:inline-flex;margin-left:4px}
 header.site-header.hx nav{display:none;position:absolute;top:100%;left:0;right:0;margin:0;flex-direction:column;align-items:stretch;gap:0;background:var(--navy);border-bottom:3px solid var(--gold);padding:6px 18px 18px;max-height:calc(100vh - var(--hh));max-height:calc(100dvh - var(--hh));overflow-y:auto;box-shadow:0 18px 30px #0d1f3c80}
 header.site-header.hx.open nav{display:flex}
 .hx nav .top{display:flex;width:100%;justify-content:space-between;font-size:17px;padding:15px 4px;border-bottom:1px solid #ffffff14;text-align:left}
 .hx nav a.top[aria-current],.hx .dd.on>.top{box-shadow:none}
 .hx .sub{position:static;opacity:1;visibility:visible;transform:none;display:none;min-width:0;border:0;border-radius:0;box-shadow:none;background:transparent;padding:4px 0 8px 12px;transition:none}
 .hx .sub::before{display:none}
 .hx .dd.open .sub{display:block}
 .hx nav .sub a{font-size:16px;padding:12px 10px;white-space:normal;border-bottom:1px solid #ffffff0d;border-radius:0}
 .hx .mob{display:block}
 .hx nav a.cta.mob{font-size:16px;margin:16px 0 0;text-align:center;background:var(--gold);color:var(--navy);font-weight:700;border-radius:999px;padding:14px;text-decoration:none}
 .hx nav a.hx-ph.mob{text-align:center;color:#fff;padding:14px 0 0;text-decoration:none;font-weight:600}
}
@media(max-width:600px){.hx .hx-r .cta{display:none}}
@media(max-width:480px){
 header.site-header.hx .in{padding:0 12px;gap:8px}
 .hx .hx-l{gap:9px}
 .hx .grp{display:flex;flex-direction:column;font-size:11.5px}
 .hx .sidehome{font-size:13px;letter-spacing:.06em;padding-left:9px}
 .hx .burger{width:40px;height:40px;margin-left:0}
 .hx .hx-r .hx-ph{font-size:15px}
}
@media(max-width:359px){.hx .hx-r .hx-ph{font-size:13.5px}.hx .sidehome{font-size:12px;letter-spacing:.04em}}

/* ===== 19 Oct 2026: "liven it up" (navy, white and gold only; CSS + public/fx.js) ===== */
/* scroll reveal (fx.js only adds .rv to elements below the fold, so nothing above the fold ever hides) */
html.fx .fx-rv{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.2,.7,.2,1) var(--fx-d,0ms),transform .7s cubic-bezier(.2,.7,.2,1) var(--fx-d,0ms)}
html.fx .fx-rv.fx-in{opacity:1;transform:none}
/* heroes: photo on its own layer with a slow Ken Burns zoom, softer navy gradient, gold rule under the heading */
.kbh{position:relative;overflow:hidden;isolation:isolate;background:var(--navy)}
.kbh>.kb{position:absolute;inset:0;z-index:-1;background-size:cover;background-repeat:no-repeat;background-position:center;transform-origin:60% 40%;animation:fx-kb 24s ease-out both;will-change:transform}
@keyframes fx-kb{from{transform:scale(1.001)}to{transform:scale(1.09)}}
.kbh::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(120% 80% at 50% 110%,#0d1f3ccc 0%,#0d1f3c00 60%),radial-gradient(60% 50% at 85% 0%,#c9a24a1f 0%,#c9a24a00 70%)}
.kbh>.wrap{position:relative}
.mkA-hero .mk-huge::after{content:"";display:block;width:clamp(70px,9vw,120px);height:5px;margin:clamp(10px,1.4vw,18px) auto 0;border-radius:3px;background:linear-gradient(90deg,#a8853a,#e2c27a,#c9a24a);transform-origin:center;animation:fx-rule .9s .25s cubic-bezier(.2,.7,.2,1) both}
@keyframes fx-rule{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.mkA-hero .mk-tag{backdrop-filter:blur(2px)}
/* buttons: gold primary with a hover shine */
.mk-btn:not(.ghost):not(.ghost-dk),.btn,.hx .hx-r .cta,.qbar .qb-q{position:relative;overflow:hidden;isolation:isolate}
.mk-btn:not(.ghost):not(.ghost-dk)::after,.btn::after,.hx .hx-r .cta::after,.qbar .qb-q::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:45%;z-index:-1;background:linear-gradient(100deg,#fff0 0%,#ffffff8c 50%,#fff0 100%);transform:skewX(-20deg);transition:left .6s ease;pointer-events:none}
.mk-btn:not(.ghost):not(.ghost-dk):hover::after,.btn:hover::after,.hx .hx-r .cta:hover::after,.mk-btn:not(.ghost):not(.ghost-dk):focus-visible::after{left:120%}
.mk-btn{box-shadow:0 6px 18px #0d1f3c26}
.mk-btn.ghost:hover,.mk-btn.ghost-dk:hover{border-color:var(--gold);color:var(--gold)}
/* cards: hover lift, gold border, icon accents */
.sv-card,.sv-job,.review2{transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s,border-color .3s}
.sv-card{border:1px solid #e6eaf2;border-bottom:3px solid var(--gold)}
.sv-card:hover,.sv-job:hover,.review2:hover{transform:translateY(-5px);box-shadow:0 18px 36px #0d1f3c1f;border-color:var(--gold)}
.sv-ic{background:linear-gradient(135deg,#e2c27a,#c9a24a 60%,#a8853a);color:var(--navy);box-shadow:0 4px 12px #c9a24a55}
.mkA-tile{transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}
.mkA-tile::before{content:"";position:absolute;inset:0;z-index:2;border:2px solid #c9a24a00;border-radius:inherit;transition:border-color .3s;pointer-events:none}
.mkA-tile:hover{transform:translateY(-6px);box-shadow:0 22px 44px #0d1f3c40}
.mkA-tile:hover::before{border-color:var(--gold)}
.mkA-tile i{transition:letter-spacing .3s}.mkA-tile:hover i{letter-spacing:.03em}
.sv-steps .n{box-shadow:0 0 0 6px #c9a24a26}
.sv-rel a{transition:border-color .2s,transform .2s,box-shadow .2s}.sv-rel a:hover{transform:translateY(-2px);box-shadow:0 8px 18px #0d1f3c1a}
/* rhythm: gold dividers on eyebrows; light-navy tint on alt sections; richer navy bands */
.mk-eyebrow{display:flex;align-items:center;gap:10px}
.mk-eyebrow::before{content:"";width:28px;height:2px;background:var(--gold);flex:none}
.mkA-hero .mk-eyebrow::before,.mk-qband .mk-eyebrow::before{display:none}
.sv-sec.alt,.mk-sec.alt{background:linear-gradient(180deg,#f2f5fa,#eaeff7)}
.sv-sec.navy{background:radial-gradient(90% 120% at 100% 0%,#1b3766 0%,#0d1f3c 55%)}
.mk-trust{background:radial-gradient(80% 140% at 0% 0%,#1b3766 0%,#0d1f3c 60%)}
.mk-qband{background:radial-gradient(70% 120% at 50% 0%,#1d3b6e 0%,#0d1f3c 70%);position:relative}
.mk-qband::before{content:"";position:absolute;left:50%;top:0;width:min(420px,60%);height:3px;transform:translateX(-50%);background:linear-gradient(90deg,#c9a24a00,#c9a24a,#c9a24a00)}
.cu{font-variant-numeric:tabular-nums;display:inline-block;min-width:3ch;text-align:right}
.fx-stat .cu{min-width:0;text-align:center}
/* hub stats strip (approved figures only) */
.fx-stats{background:var(--navy);color:#fff;border-bottom:1px solid #ffffff14}
.fx-stats .wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.fx-stat{padding:26px 16px;text-align:center;border-left:1px solid #ffffff14}
.fx-stat:first-child{border-left:0}
.fx-stat b{display:block;font-size:clamp(34px,4.6vw,56px);line-height:1;color:var(--gold);letter-spacing:-.03em;font-weight:700}
.fx-stat span:not(.cu){display:block;margin-top:8px;font-size:15px;opacity:.88;line-height:1.35}
@media(max-width:640px){.fx-stats .wrap{grid-template-columns:1fr}.fx-stat{border-left:0;border-top:1px solid #ffffff14;padding:18px 12px;display:flex;align-items:center;gap:14px;text-align:left}.fx-stat:first-child{border-top:0}.fx-stat b{min-width:96px;text-align:center;font-size:38px}.fx-stat span:not(.cu){margin:0}}
/* home: livelier landing */
.landing .mega{background:radial-gradient(70% 90% at 50% 0%,#1b3766 0%,#0d1f3c 65%)}
.landing .mega-tag{position:relative;display:inline-block}
.landing .mega-tag::after{content:"";display:block;height:3px;width:60%;margin:10px auto 0;background:linear-gradient(90deg,#c9a24a00,#c9a24a,#c9a24a00);animation:fx-rule 1s .3s both}
.landing .tile-bg{animation:fx-kb 26s ease-out both}
.landing .tile:hover .tile-bg{transform:scale(1.07)}
.rv-head{letter-spacing:.02em}
/* mobile quote bar */
.qbar{display:none}
@media(max-width:760px){
 body.side:not(.quote-page){padding-bottom:0}
 .qbar{display:flex;gap:10px;position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:90;padding:8px;background:#0d1f3cf2;border:1px solid #c9a24a66;border-radius:999px;box-shadow:0 12px 30px #0d1f3c66;transform:translateY(140%);transition:transform .35s cubic-bezier(.2,.7,.2,1);backdrop-filter:blur(6px)}
 .qbar.on{transform:none}
 .qbar a{flex:1;text-align:center;text-decoration:none;font-weight:700;border-radius:999px;padding:12px 10px;font-size:16px}
 .qbar .qb-q{background:var(--gold);color:var(--navy);flex:1.6}
 .qbar .qb-c{color:#fff;border:1px solid #ffffff40}
}
@media(prefers-reduced-motion:reduce){.kbh>.kb,.landing .tile-bg,.mkA-hero .mk-huge::after,.landing .mega-tag::after{animation:none}.qbar{transition:none}.sv-card:hover,.sv-job:hover,.mkA-tile:hover,.review2:hover,.sv-rel a:hover{transform:none}.mk-btn::after,.btn::after{display:none}}
.hx .dd.on:not(.open) .sub{transition:none} /* no fade-out flash when the burger/desktop mode switches */
