/* ============================================================
   American Impact & Energy — Premium Homepage (elevated)
   Editorial / luxury system. Navy + Crimson. 57 Clicks motif.
   ============================================================ */
:root{
  --navy:#1B2A5B; --navy-2:#16224a; --navy-3:#0e1733; --navy-4:#0a1228;
  --crimson:#B01C3E; --crimson-2:#971633; --rose:#B01C3E;
  --ink:#1d2336; --soft:#586079; --paper:#fff;
  --cream:#f7f6f3; --mist:#f4f6fa; --line:rgba(27,42,91,.12); --hair:rgba(27,42,91,.08);
  --gold:#c9a24b;
  --disp:'Oswald',sans-serif; --body:'Public Sans',system-ui,sans-serif;
  --ease:cubic-bezier(.22,.61,.36,1);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:var(--body);color:var(--ink);background:var(--paper);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
h1,h2,h3,h4,h5{font-family:var(--disp);margin:0;line-height:1.08;font-weight:600;letter-spacing:.005em;}
p{margin:0;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.wrap{max-width:1240px;margin:0 auto;padding:0 44px;}
.wrap-wide{max-width:1500px;margin:0 auto;padding:0 44px;}
.sec{padding:120px 0;}
.center{text-align:center;}

/* ---- buttons ---- */
.btn{font-family:var(--disp);font-weight:600;letter-spacing:.05em;border:0;cursor:pointer;display:inline-flex;align-items:center;gap:10px;border-radius:4px;font-size:15px;padding:16px 30px;transition:all .3s var(--ease);line-height:1;text-transform:uppercase;white-space:nowrap;}
.btn svg{transition:transform .3s var(--ease);}
.btn-crimson{background:var(--crimson);color:#fff;box-shadow:0 14px 30px -14px rgba(176,28,62,.7);}
.btn-crimson:hover{background:var(--crimson-2);transform:translateY(-2px);box-shadow:0 20px 38px -14px rgba(176,28,62,.85);}
.btn-crimson:hover svg{transform:translateX(4px);}
.btn-navy{background:var(--navy);color:#fff;}
.btn-navy:hover{background:var(--navy-2);transform:translateY(-2px);}
.btn-white{background:#fff;color:var(--navy);}
.btn-white:hover{background:#eef1f7;transform:translateY(-2px);}
.btn-ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.4);}
.btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.1);}
.btn-lg{font-size:16px;padding:19px 38px;}

/* ---- eyebrow w/ 57 Clicks motif ---- */
.eyebrow{font-family:var(--disp);text-transform:uppercase;letter-spacing:.28em;font-weight:600;font-size:12px;color:var(--crimson);display:inline-flex;align-items:center;gap:11px;}
.eyebrow::before{content:"◆";font-size:9px;color:var(--crimson);letter-spacing:0;}
.eyebrow .secno{color:var(--navy);opacity:.34;font-weight:700;letter-spacing:.1em;}
.eyebrow.on-dark{color:var(--rose);}
.eyebrow.on-dark .secno{color:#fff;opacity:.45;}

.lead{color:var(--soft);font-size:19px;line-height:1.62;}
.shead{max-width:680px;}
.shead.center{margin:0 auto;text-align:center;}
.shead h2{margin-top:18px;font-size:46px;color:var(--navy);text-transform:none;font-weight:600;line-height:1.1;letter-spacing:-.01em;}
.shead h2 em{font-style:normal;color:var(--crimson);}
.shead.on-dark h2{color:#fff;}
.shead p{margin-top:20px;}
h2.big{font-size:46px;color:var(--navy);text-transform:none;font-weight:600;line-height:1.1;letter-spacing:-.01em;}

/* fine divider */
.hr-fine{height:1px;background:var(--line);border:0;margin:0;}

/* ============================ HEADER ============================ */
header.site{position:sticky;top:0;z-index:200;}
.topbar{background:var(--navy-4);color:#fff;}
.topbar .tb{display:flex;align-items:center;justify-content:space-between;min-height:42px;gap:18px;}
.tb-l{font-family:var(--disp);text-transform:uppercase;letter-spacing:.18em;font-size:11px;color:rgba(255,255,255,.66);display:flex;align-items:center;gap:9px;}
.tb-l .dot{width:6px;height:6px;border-radius:50%;background:var(--rose);flex:none;}
.tb-r{display:flex;align-items:center;gap:18px;}
.tb-hours{font-size:12px;color:rgba(255,255,255,.55);letter-spacing:.02em;}
.tb-phone{font-family:var(--disp);font-weight:600;letter-spacing:.04em;color:#fff;font-size:14px;display:flex;align-items:center;gap:7px;}
.tb-sep{width:1px;height:15px;background:rgba(255,255,255,.2);}
.tb-l,.tb-l span,.tb-phone,.tb-hours{white-space:nowrap;}
.bar{display:flex;align-items:center;gap:30px;height:82px;background:rgba(255,255,255,.97);backdrop-filter:saturate(160%) blur(10px);border-bottom:1px solid var(--hair);transition:box-shadow .3s,height .3s;position:relative;}
header.site.scrolled .bar{box-shadow:0 14px 36px -26px rgba(14,23,51,.6);height:72px;}
.logo{display:flex;align-items:center;}
.logo img{height:46px;width:auto;transition:height .3s;}
header.site.scrolled .logo img{height:40px;}
nav.main{display:flex;gap:30px;position:absolute;left:50%;transform:translateX(-50%);}
nav.main a{font-family:var(--disp);text-transform:uppercase;font-weight:500;font-size:14px;letter-spacing:.07em;color:var(--ink);opacity:.74;position:relative;padding:6px 0;transition:opacity .2s;}
nav.main a:hover,nav.main a.active{opacity:1;color:var(--navy);}
nav.main a::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:2px;background:var(--crimson);transition:width .25s var(--ease);}
nav.main a:hover::after,nav.main a.active::after{width:100%;}
.bar .right{margin-left:auto;display:flex;align-items:center;gap:14px;}
.langtoggle{display:inline-flex;border:1px solid rgba(255,255,255,.28);border-radius:999px;overflow:hidden;font-family:var(--disp);font-weight:600;font-size:12px;}
.langtoggle button{background:transparent;color:rgba(255,255,255,.65);border:0;padding:5px 11px;cursor:pointer;letter-spacing:.06em;transition:.2s;}
.langtoggle button.on{background:#fff;color:var(--navy-4);}
.menubtn{display:none;background:transparent;border:0;color:var(--navy);cursor:pointer;}
.mobnav{display:none;flex-direction:column;background:#fff;border-bottom:1px solid var(--line);}
.mobnav.open{display:flex;}
.mobnav a{padding:14px 44px;font-family:var(--disp);text-transform:uppercase;letter-spacing:.05em;color:var(--navy);border-top:1px solid var(--hair);}

/* ============================ HERO ============================ */
.hero{position:relative;min-height:760px;display:flex;align-items:center;overflow:hidden;background:var(--navy-4);color:#fff;padding:90px 0 96px;}
.hero .media{position:absolute;inset:0;z-index:0;background-color:#0e1733;background-image:url('https://images.unsplash.com/photo-1568605114967-8130f3a36994?auto=format&fit=crop&w=1920&q=78');background-size:cover;background-position:center;}
.hero .media video,.hero .media .poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.hero .media .poster{background-size:cover;background-position:center;transform:scale(1.06);}
.hero .media::after{content:"";position:absolute;inset:0;background:
   linear-gradient(102deg,rgba(8,14,32,.95) 0%,rgba(8,14,32,.82) 38%,rgba(8,14,32,.45) 72%,rgba(8,14,32,.6) 100%),
   linear-gradient(0deg,rgba(8,14,32,.6),transparent 36%);}
.hero .vbadge{position:absolute;bottom:22px;right:26px;z-index:5;font-family:var(--body);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.55);border:1px dashed rgba(255,255,255,.3);padding:5px 13px;border-radius:999px;display:flex;align-items:center;gap:7px;}
.hero .vbadge .pulse{width:7px;height:7px;border-radius:50%;background:var(--rose);animation:pulse 2s infinite;}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}
.hero .inner{position:relative;z-index:3;display:grid;grid-template-columns:1.08fr .92fr;gap:60px;align-items:center;width:100%;}
.hero .eyebrow{color:var(--rose);}
.hero .eyebrow::before{color:var(--rose);}
.hero .eyebrow .secno{color:#fff;opacity:.5;}
.hero h1{font-size:56px;font-weight:600;text-transform:none;letter-spacing:-.015em;line-height:1.06;color:#fff;margin-top:22px;}
.hero h1 em{font-style:normal;color:var(--rose);}
.hero .sub{margin-top:24px;font-size:20px;color:rgba(255,255,255,.85);max-width:540px;line-height:1.58;}
.hero .finhook{display:inline-flex;align-items:center;gap:13px;margin-top:30px;padding:13px 20px 13px 15px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:10px;backdrop-filter:blur(8px);}
.hero .finhook .dot{width:40px;height:40px;border-radius:9px;background:var(--crimson);color:#fff;display:flex;align-items:center;justify-content:center;flex:none;}
.hero .finhook b{font-family:var(--disp);text-transform:uppercase;letter-spacing:.03em;color:#fff;font-size:15px;display:block;white-space:nowrap;}
.hero .finhook span{font-size:13px;color:rgba(255,255,255,.72);white-space:nowrap;}
.hero .actions{display:flex;align-items:center;gap:24px;margin-top:32px;flex-wrap:wrap;}
.hero .qualify{font-family:var(--disp);text-transform:uppercase;letter-spacing:.04em;font-weight:600;color:#fff;display:inline-flex;align-items:center;gap:8px;border-bottom:2px solid var(--rose);padding-bottom:3px;white-space:nowrap;transition:gap .25s;}
.hero .qualify:hover{gap:13px;}

/* glass quote form */
.qform{background:rgba(255,255,255,.98);border:1px solid rgba(255,255,255,.6);border-radius:16px;padding:26px;box-shadow:0 40px 80px -34px rgba(0,0,0,.6);}
.qform .qtit{font-family:var(--disp);text-transform:uppercase;letter-spacing:.04em;color:var(--navy);font-size:16px;margin-bottom:10px;display:flex;align-items:center;gap:9px;line-height:1.2;}
.qform .qsub{font-size:13px;color:var(--soft);margin-bottom:18px;}
.qform .qrow{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.fld{margin-bottom:0;}
.fld label{display:block;font-family:var(--body);font-weight:600;font-size:12px;color:var(--soft);margin-bottom:5px;}
.fld input,.fld select,.fld textarea{width:100%;font-family:var(--body);font-size:15.5px;padding:12px 13px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);transition:.18s;}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:0;border-color:var(--navy);box-shadow:0 0 0 3px rgba(27,42,91,.1);}
.fld.err input,.fld.err select{border-color:var(--crimson);box-shadow:0 0 0 3px rgba(176,28,62,.1);}
.fld .msg{display:none;color:var(--crimson);font-size:12px;margin-top:4px;font-weight:600;}
.fld.err .msg{display:block;}
.qform .qfull{margin-top:12px;}
.qform .btn{width:100%;justify-content:center;margin-top:16px;}
.qform .qnote{margin-top:12px;font-size:11.5px;color:var(--soft);text-align:center;display:flex;align-items:center;justify-content:center;gap:6px;}
.success{display:none;text-align:center;padding:20px 4px;}
.success.show{display:block;}
.success .ok{width:56px;height:56px;border-radius:50%;background:#0f8a4d;color:#fff;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;}
.success h3{font-size:24px;color:var(--navy);text-transform:none;}
.success p{margin-top:8px;color:var(--soft);}

/* ============================ MARQUEE ============================ */
.marquee{background:var(--crimson);color:#fff;overflow:hidden;border-top:1px solid rgba(255,255,255,.12);}
.marquee .track{display:flex;gap:0;white-space:nowrap;animation:marq 28s linear infinite;}
.marquee:hover .track{animation-play-state:paused;}
.marquee .it{font-family:var(--disp);text-transform:uppercase;letter-spacing:.14em;font-weight:600;font-size:15px;padding:16px 0;display:inline-flex;align-items:center;}
.marquee .it span{padding:0 26px;display:inline-flex;align-items:center;gap:0;}
.marquee .it .sym{padding:0 4px;opacity:.6;}
@keyframes marq{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* ============================ STATS / COUNTERS ============================ */
.stats{background:var(--cream);border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);}
.stats .wrap-wide{padding-top:72px;padding-bottom:72px;}
.stats .stats-head{text-align:center;margin-bottom:46px;}
.stats .stats-head .eyebrow{justify-content:center;}
.stats .stats-head h3{font-family:var(--disp);font-weight:600;text-transform:none;font-size:26px;color:var(--navy);margin-top:12px;letter-spacing:-.01em;}
.stats .row{display:grid;grid-template-columns:repeat(5,1fr);}
.stats .st{padding:4px 26px;text-align:center;position:relative;}
.stats .st+.st::before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:1px;background:linear-gradient(transparent,var(--line) 18%,var(--line) 82%,transparent);}
.stats .st-ic{width:48px;height:48px;border-radius:50%;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;margin:0 auto 20px;color:var(--crimson);background:#fff;transition:all .35s var(--ease);box-shadow:0 8px 20px -14px rgba(27,42,91,.5);}
.stats .st:hover .st-ic{background:var(--crimson);color:#fff;border-color:var(--crimson);transform:translateY(-4px);box-shadow:0 14px 26px -12px rgba(176,28,62,.6);}
.stats .st b{font-family:var(--disp);font-weight:600;font-size:48px;color:var(--navy);line-height:1;display:inline-flex;align-items:baseline;letter-spacing:-.015em;}
.stats .st b .star{color:var(--gold);font-size:30px;margin-left:3px;}
.stats .st .lbl{font-family:var(--disp);text-transform:uppercase;letter-spacing:.12em;font-size:11.5px;color:var(--soft);margin-top:14px;display:block;}

/* ============================ SERVICES (photo cards) ============================ */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:60px;}
.svc{position:relative;border-radius:16px;overflow:hidden;min-height:460px;display:flex;flex-direction:column;justify-content:flex-end;color:#fff;isolation:isolate;}
.svc .ph{position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center;transition:transform .7s var(--ease);}
.svc::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(8,14,32,.15) 0%,rgba(8,14,32,.5) 52%,rgba(8,14,32,.92) 100%);transition:background .4s;}
.svc:hover .ph{transform:scale(1.08);}
.svc:hover::after{background:linear-gradient(180deg,rgba(176,28,62,.22) 0%,rgba(8,14,32,.55) 52%,rgba(8,14,32,.94) 100%);}
.svc .body{padding:34px 30px 32px;position:relative;}
.svc .num{font-family:var(--disp);font-weight:600;font-size:12px;letter-spacing:.22em;color:var(--rose);display:flex;align-items:center;gap:9px;}
.svc h3{font-size:29px;text-transform:none;font-weight:600;margin-top:12px;}
.svc .desc{margin-top:12px;color:rgba(255,255,255,.82);font-size:15.5px;max-height:0;opacity:0;overflow:hidden;transition:max-height .45s var(--ease),opacity .35s,margin .35s;}
.svc:hover .desc{max-height:140px;opacity:1;}
.svc .go{margin-top:20px;font-family:var(--disp);text-transform:uppercase;font-weight:600;letter-spacing:.06em;font-size:13px;display:inline-flex;align-items:center;gap:8px;color:#fff;border-bottom:2px solid var(--rose);padding-bottom:4px;width:fit-content;transition:gap .25s;}
.svc:hover .go{gap:14px;}

/* ============================ WHY IT LASTS / PROCESS ============================ */
.process{background:#fff;}
.process .top{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
.process .vis{position:relative;border-radius:18px;overflow:hidden;height:520px;box-shadow:0 40px 80px -44px rgba(14,23,51,.55);}
.process .vis .ph{position:absolute;inset:0;background-size:cover;background-position:center;}
.process .vis .badge{position:absolute;left:24px;bottom:24px;background:rgba(255,255,255,.97);border-radius:12px;padding:18px 22px;display:flex;align-items:center;gap:14px;box-shadow:0 20px 44px -20px rgba(14,23,51,.55);}
.process .vis .badge .ic{width:46px;height:46px;border-radius:10px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;flex:none;}
.process .vis .badge b{font-family:var(--disp);font-size:17px;color:var(--navy);text-transform:uppercase;letter-spacing:.03em;display:block;line-height:1;}
.process .vis .badge span{font-size:12.5px;color:var(--soft);}
.process .steps{margin-top:18px;}
.process .step{display:flex;gap:20px;padding:22px 0;border-top:1px solid var(--hair);}
.process .step:last-child{border-bottom:1px solid var(--hair);}
.process .step .n{font-family:var(--disp);font-weight:700;font-size:22px;color:var(--crimson);min-width:46px;line-height:1;}
.process .step h4{font-family:var(--disp);text-transform:uppercase;letter-spacing:.03em;font-size:18px;color:var(--navy);}
.process .step p{margin-top:6px;color:var(--soft);font-size:15px;}

/* ============================ ABOUT (home) ============================ */
.about-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:64px;align-items:center;}
.about-vis{position:relative;border-radius:18px;overflow:hidden;height:500px;box-shadow:0 40px 80px -44px rgba(14,23,51,.55);}
.about-vis .ph{position:absolute;inset:0;background-size:cover;background-position:center;}
.about-vis .about-badge{position:absolute;left:24px;bottom:24px;background:rgba(255,255,255,.97);border-radius:12px;padding:16px 20px;display:flex;align-items:center;gap:13px;box-shadow:0 20px 44px -20px rgba(14,23,51,.55);}
.about-vis .about-badge .ic{width:44px;height:44px;border-radius:10px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;flex:none;}
.about-vis .about-badge b{font-family:var(--disp);font-size:16px;color:var(--navy);text-transform:uppercase;letter-spacing:.03em;display:block;line-height:1;}
.about-vis .about-badge span{font-size:12.5px;color:var(--soft);}
.about-pts{list-style:none;padding:0;margin:26px 0 30px;}
.about-pts li{display:flex;gap:13px;padding:13px 0;border-top:1px solid var(--hair);align-items:flex-start;}
.about-pts li:last-child{border-bottom:1px solid var(--hair);}
.about-pts li .ck{flex:none;width:24px;height:24px;border-radius:50%;background:var(--crimson);color:#fff;display:flex;align-items:center;justify-content:center;margin-top:1px;}
.about-pts li b{font-family:var(--disp);text-transform:uppercase;letter-spacing:.03em;font-size:14px;color:var(--navy);}
.about-pts li span{color:var(--soft);font-size:15px;}

/* ============================ FAQ (accordion) ============================ */
.faq .acc{max-width:860px;margin:52px auto 0;}
.faq .item{border-bottom:1px solid var(--line);}
.faq .item:first-child{border-top:1px solid var(--line);}
.faq .q{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 6px;cursor:pointer;font-family:var(--disp);font-weight:600;font-size:21px;color:var(--navy);text-transform:none;transition:color .2s;}
.faq .q:hover{color:var(--crimson);}
.faq .q .pm{flex:none;width:30px;height:30px;border-radius:50%;border:1.5px solid var(--line);display:flex;align-items:center;justify-content:center;transition:.25s var(--ease);color:var(--crimson);}
.faq .item.open .q .pm{transform:rotate(45deg);background:var(--crimson);color:#fff;border-color:var(--crimson);}
.faq .a{max-height:0;overflow:hidden;transition:max-height .35s var(--ease);}
.faq .a p{padding:0 6px 26px;font-size:16.5px;color:var(--soft);line-height:1.6;max-width:760px;}
.faq .more{text-align:center;margin-top:44px;}

/* ============================ FINANCING ============================ */
.fin{position:relative;background:var(--navy-3);color:#fff;overflow:hidden;}
.fin .bgph{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center;opacity:.16;}
.fin .bgph::after{content:"";position:absolute;inset:0;background:linear-gradient(var(--navy-3),rgba(14,23,51,.86));}
.fin .wrap{position:relative;z-index:2;}
.fin .timeline{display:grid;grid-template-columns:repeat(4,1fr);margin-top:56px;}
.fin .step{padding:0 22px;position:relative;}
.fin .knot{width:18px;height:18px;border-radius:50%;background:var(--navy-3);border:3px solid var(--crimson);position:relative;z-index:2;}
.fin .barline{position:absolute;top:8px;left:50%;right:-50%;height:2px;background:rgba(255,255,255,.18);z-index:1;}
.fin .step:last-child .barline{display:none;}
.fin .step .no{font-family:var(--disp);font-size:12px;letter-spacing:.2em;color:var(--rose);margin-top:24px;}
.fin .step h4{font-family:var(--disp);text-transform:uppercase;letter-spacing:.04em;color:#fff;font-size:18px;margin-top:8px;}
.fin .step p{color:rgba(255,255,255,.72);font-size:14.5px;margin-top:8px;}
.fin .panel{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;margin-top:72px;background:#fff;color:var(--ink);border-radius:18px;padding:46px;box-shadow:0 40px 90px -50px rgba(0,0,0,.6);}
.fin .panel .lead-num{font-family:var(--disp);font-weight:600;text-transform:none;font-size:26px;color:var(--navy);}
.fin .fpoints{margin-top:22px;}
.fin .fp{display:flex;gap:16px;padding:16px 0;border-bottom:1px solid var(--hair);}
.fin .fp:last-child{border-bottom:0;}
.fin .fp b{font-family:var(--disp);font-weight:700;font-size:28px;color:var(--navy);line-height:1;min-width:110px;}
.fin .fp span{color:var(--soft);font-size:14.5px;}
.fin .fp span em{font-style:normal;color:var(--ink);font-weight:600;display:block;font-family:var(--disp);text-transform:uppercase;letter-spacing:.04em;font-size:13.5px;margin-bottom:2px;}
.calc h3{color:var(--navy);text-transform:none;font-weight:600;font-size:23px;}
.calc .crow{display:flex;justify-content:space-between;align-items:baseline;margin:20px 0 8px;}
.calc .crow label{font-family:var(--disp);text-transform:uppercase;letter-spacing:.05em;font-size:12.5px;color:var(--soft);font-weight:600;}
.calc .crow .v{font-family:var(--disp);font-weight:700;font-size:21px;color:var(--navy);}
.calc input[type=range]{width:100%;accent-color:var(--crimson);height:5px;}
.calc .terms{display:flex;gap:8px;margin-top:8px;}
.calc .terms button{flex:1;font-family:var(--disp);font-weight:600;font-size:14px;padding:10px;border:1px solid var(--line);background:#fff;border-radius:7px;cursor:pointer;color:var(--navy);transition:.18s;}
.calc .terms button.on{background:var(--navy);color:#fff;border-color:var(--navy);}
.calc .out{margin-top:22px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px;background:var(--mist);border-radius:12px;}
.calc .out .est{font-family:var(--disp);font-weight:700;font-size:40px;color:var(--crimson);line-height:1;}
.calc .out .est small{font-size:16px;color:var(--soft);font-weight:500;}
.calc .out .lab{font-size:12px;color:var(--soft);max-width:160px;text-align:right;}

/* ============================ GALLERY ============================ */
.gal{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:200px;gap:14px;margin-top:56px;}
.gal a{position:relative;border-radius:12px;overflow:hidden;cursor:pointer;}
.gal a .ph{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .6s var(--ease);}
.gal a::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(8,14,32,.7));opacity:0;transition:opacity .35s;}
.gal a:hover .ph{transform:scale(1.09);}
.gal a:hover::after{opacity:1;}
.gal a .cap{position:absolute;left:16px;bottom:14px;z-index:2;color:#fff;font-family:var(--disp);text-transform:uppercase;letter-spacing:.06em;font-size:13px;opacity:0;transform:translateY(8px);transition:.35s;}
.gal a:hover .cap{opacity:1;transform:none;}
.gal a .zoom{position:absolute;top:14px;right:14px;z-index:2;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.9);color:var(--navy);display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.7);transition:.3s;}
.gal a:hover .zoom{opacity:1;transform:none;}
.gal .tall{grid-row:span 2;}
.gal .wide{grid-column:span 2;}

/* lightbox */
.lightbox{position:fixed;inset:0;z-index:500;background:rgba(8,12,26,.94);display:none;align-items:center;justify-content:center;}
.lightbox.show{display:flex;}
.lightbox img{max-width:88vw;max-height:84vh;border-radius:8px;box-shadow:0 40px 100px -30px rgba(0,0,0,.8);}
.lightbox .lb-close{position:absolute;top:24px;right:28px;color:#fff;background:transparent;border:1px solid rgba(255,255,255,.4);width:46px;height:46px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.lightbox .lb-nav{position:absolute;top:50%;transform:translateY(-50%);color:#fff;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.3);width:52px;height:52px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.lightbox .lb-prev{left:28px;}.lightbox .lb-next{right:28px;}
.lightbox .lb-cap{position:absolute;bottom:26px;left:0;right:0;text-align:center;color:rgba(255,255,255,.8);font-family:var(--disp);text-transform:uppercase;letter-spacing:.08em;font-size:13px;}

/* ============================ BEFORE / AFTER ============================ */
.ba-wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:56px;}
.ba{border-radius:14px;overflow:hidden;background:#fff;border:1px solid var(--line);box-shadow:0 24px 50px -38px rgba(14,23,51,.5);}
.ba .stage{position:relative;height:300px;overflow:hidden;cursor:ew-resize;user-select:none;}
.ba .after,.ba .before{position:absolute;inset:0;background-size:cover;background-position:center;}
.ba .before{filter:grayscale(.85) brightness(.62) contrast(1.05);}
.ba .before-clip{position:absolute;inset:0;width:50%;overflow:hidden;}
.ba .tag{position:absolute;top:12px;font-family:var(--disp);text-transform:uppercase;letter-spacing:.1em;font-size:10.5px;color:#fff;background:rgba(8,14,32,.62);padding:5px 11px;border-radius:999px;z-index:4;}
.ba .tag.b{left:12px;}.ba .tag.a{right:12px;background:rgba(176,28,62,.85);}
.ba .handle{position:absolute;top:0;bottom:0;width:3px;background:#fff;left:50%;z-index:5;box-shadow:0 0 0 1px rgba(0,0,0,.06);}
.ba .handle .grip{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:42px;height:42px;border-radius:50%;background:#fff;color:var(--navy);display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px -6px rgba(0,0,0,.5);}
.ba .meta{padding:20px 22px;}
.ba .meta .num{font-family:var(--disp);font-size:11px;letter-spacing:.18em;color:var(--crimson);}
.ba .meta h4{font-family:var(--disp);text-transform:none;font-weight:600;font-size:20px;color:var(--navy);margin-top:6px;}
.ba .meta p{color:var(--soft);font-size:14px;margin-top:6px;}

/* ============================ TESTIMONIALS ============================ */
.tst{background:var(--navy);color:#fff;position:relative;overflow:hidden;}
.tst .bgsym{position:absolute;top:-40px;right:40px;font-size:300px;font-family:var(--disp);color:rgba(255,255,255,.04);line-height:1;z-index:0;}
.tst .wrap-wide{position:relative;z-index:2;}
.tcard{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:34px;height:auto;}
.tcard .stars{color:var(--gold);letter-spacing:2px;font-size:16px;}
.tcard p{margin-top:16px;color:rgba(255,255,255,.9);font-size:16.5px;line-height:1.58;font-family:var(--disp);font-weight:300;text-transform:none;letter-spacing:0;}
.tcard .by{margin-top:24px;display:flex;align-items:center;gap:14px;}
.tcard .by .av{width:52px;height:52px;border-radius:50%;background-size:cover;background-position:center;flex:none;border:2px solid rgba(255,255,255,.2);}
.tcard .by b{font-family:var(--disp);text-transform:uppercase;letter-spacing:.04em;font-size:15px;}
.tcard .by span{display:block;color:rgba(255,255,255,.6);font-size:12.5px;}
.tst .swiper{padding-bottom:8px;}
.tst .t-nav{display:flex;gap:12px;margin-top:36px;align-items:center;}
.tst .t-nav button{width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:transparent;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.2s;}
.tst .t-nav button:hover{background:rgba(255,255,255,.1);}
.tst .glink{margin-left:auto;display:inline-flex;align-items:center;gap:10px;font-family:var(--disp);text-transform:uppercase;font-weight:600;letter-spacing:.04em;color:#fff;border:1px solid rgba(255,255,255,.35);padding:13px 22px;border-radius:8px;}
.tst .glink:hover{background:rgba(255,255,255,.08);}

/* ============================ LONG FORM ============================ */
.lform{background:var(--cream);}
.lform .panel{display:grid;grid-template-columns:.82fr 1.18fr;border:1px solid var(--line);border-radius:18px;overflow:hidden;margin-top:56px;box-shadow:0 40px 90px -54px rgba(27,42,91,.5);}
.lform .side{position:relative;color:#fff;padding:48px;overflow:hidden;isolation:isolate;}
.lform .side .ph{position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center;}
.lform .side::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(160deg,rgba(27,42,91,.92),rgba(14,23,51,.86));}
.lform .side h3{text-transform:none;font-weight:600;font-size:30px;}
.lform .side p{margin-top:16px;color:rgba(255,255,255,.84);font-size:16px;}
.lform .side ul{list-style:none;padding:0;margin:28px 0 0;}
.lform .side li{display:flex;gap:12px;padding:12px 0;border-top:1px solid rgba(255,255,255,.16);font-size:15px;align-items:center;}
.lform .side li svg{color:var(--rose);flex:none;}
.lform .body{padding:48px;background:#fff;}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px;}

/* ============================ CONTACT ============================ */
.contact .grid{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:stretch;}
.nap .row{display:flex;gap:16px;padding:22px 0;border-bottom:1px solid var(--hair);}
.nap .row:last-of-type{border-bottom:0;}
.nap .ic{width:46px;height:46px;flex:none;border-radius:10px;border:1px solid var(--line);color:var(--navy);display:flex;align-items:center;justify-content:center;}
.nap h4{font-size:15px;color:var(--navy);text-transform:uppercase;letter-spacing:.05em;font-family:var(--disp);font-weight:600;}
.nap p{color:var(--soft);font-size:16px;margin-top:4px;}
.map{position:relative;border-radius:16px;overflow:hidden;border:1px solid var(--line);min-height:440px;background:#eef2f8;}
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}

/* ============================ FINAL CTA ============================ */
.finalcta{position:relative;color:#fff;text-align:center;overflow:hidden;isolation:isolate;}
.finalcta .ph{position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center;}
.finalcta::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(160deg,rgba(176,28,62,.9),rgba(14,23,51,.92));}
.finalcta .tag{font-family:var(--disp);text-transform:uppercase;letter-spacing:.34em;font-size:13px;color:#f0d9a8;}
.finalcta h2{font-size:52px;text-transform:none;font-weight:600;margin-top:14px;}
.finalcta p{margin:18px auto 0;max-width:600px;font-size:19px;color:rgba(255,255,255,.88);}
.finalcta .ctarow{display:flex;gap:16px;justify-content:center;margin-top:36px;flex-wrap:wrap;}

/* ============================ FOOTER ============================ */
footer.site{background:#fff;color:var(--soft);padding:72px 0 32px;border-top:1px solid var(--hair);}
footer.site .cols{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:44px;}
footer.site .logo img{height:56px;}
footer.site .blurb{margin-top:20px;font-size:15px;line-height:1.65;max-width:300px;}
footer.site h5{font-family:var(--disp);text-transform:uppercase;letter-spacing:.06em;color:var(--navy);font-size:14px;margin-bottom:16px;}
footer.site a{display:block;padding:6px 0;color:var(--soft);font-size:15px;transition:color .2s;}
footer.site a:hover{color:var(--navy);}
footer.site .legal{margin-top:50px;padding-top:26px;border-top:1px solid var(--hair);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px;}

/* ============================ REVEAL ANIM ============================ */
.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s var(--ease),transform .8s var(--ease);}
.reveal.in{opacity:1;transform:none;}
.reveal.d1{transition-delay:.08s;}.reveal.d2{transition-delay:.16s;}.reveal.d3{transition-delay:.24s;}.reveal.d4{transition-delay:.32s;}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none;}.marquee .track{animation:none;}.hero .media .poster{transform:none;}}

/* ============================ SUBPAGE COMPONENTS ============================ */
/* page hero (photo) */
.phero{position:relative;background:var(--navy-4);color:#fff;overflow:hidden;}
.phero .vidbg{position:absolute;inset:0;z-index:0;background-color:#0e1733;background-size:cover;background-position:center;background-repeat:no-repeat;}
.phero .vidbg::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(8,14,32,.93),rgba(8,14,32,.66) 70%,rgba(8,14,32,.78));}
.phero .inner{position:relative;z-index:2;padding:96px 0 100px;max-width:820px;}
.phero .crumb{font-family:var(--disp);text-transform:uppercase;letter-spacing:.16em;font-size:12px;color:rgba(255,255,255,.6);margin-bottom:18px;display:flex;align-items:center;gap:8px;}
.phero .crumb::before{content:"◆";font-size:8px;color:var(--crimson);}
.phero .crumb a{color:#fff;opacity:.8;}
.phero .crumb a:hover{opacity:1;}
.phero h1{font-size:54px;font-weight:600;text-transform:none;line-height:1.06;letter-spacing:-.015em;}
.phero h1 em{font-style:normal;color:var(--crimson);}
.phero p{margin-top:20px;font-size:20px;color:rgba(255,255,255,.85);max-width:640px;line-height:1.58;}
.phero .pcta{display:flex;gap:14px;margin-top:32px;flex-wrap:wrap;}

/* trust strip */
.trust{border-bottom:1px solid var(--hair);background:#fff;}
.trust .row{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;}
.trust .it{display:flex;align-items:center;gap:11px;padding:26px 38px;color:var(--navy);position:relative;}
.trust .it+.it::before{content:"";position:absolute;left:0;top:22px;bottom:22px;width:1px;background:var(--hair);}
.trust .it b{font-family:var(--disp);text-transform:uppercase;letter-spacing:.05em;font-weight:600;font-size:15px;}
.trust .it .stars{color:var(--gold);letter-spacing:1px;}
.trust .it svg{color:var(--crimson);}

/* feature grid */
.fgrid{display:grid;gap:26px;margin-top:56px;}
.fgrid.c3{grid-template-columns:repeat(3,1fr);}
.fgrid.c4{grid-template-columns:repeat(4,1fr);}
.fcard{padding:30px 28px;border:1px solid var(--line);border-radius:14px;background:#fff;transition:transform .3s var(--ease),box-shadow .3s;}
.fcard:hover{transform:translateY(-5px);box-shadow:0 26px 50px -32px rgba(27,42,91,.5);}
.fcard .ic{width:52px;height:52px;border-radius:12px;border:1px solid var(--line);color:var(--crimson);display:flex;align-items:center;justify-content:center;margin-bottom:20px;transition:.3s;}
.fcard:hover .ic{background:var(--crimson);color:#fff;border-color:var(--crimson);}
.fcard h3,.fcard h4{font-size:20px;color:var(--navy);text-transform:none;font-weight:600;}
.fcard p{margin-top:10px;color:var(--soft);font-size:15.5px;}
.fcard .num{font-family:var(--disp);font-weight:600;font-size:12px;letter-spacing:.2em;color:var(--crimson);}

/* split rows */
.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
.split.r .txt{order:2;}
.split .vis{border-radius:16px;overflow:hidden;height:440px;box-shadow:0 34px 70px -44px rgba(14,23,51,.5);position:relative;}
.split .vis .imgph,.split .vis .ph{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .7s var(--ease);}
.split .vis:hover .imgph,.split .vis:hover .ph{transform:scale(1.06);}
.split h2{font-size:36px;color:var(--navy);text-transform:none;font-weight:600;line-height:1.14;}
.split>div>p,.split .txt p{margin-top:18px;color:var(--soft);}
.svc-bullets{list-style:none;padding:0;margin:24px 0 30px;}
.svc-bullets li{display:flex;gap:13px;padding:13px 0;border-top:1px solid var(--hair);align-items:flex-start;}
.svc-bullets li:last-child{border-bottom:1px solid var(--hair);}
.svc-bullets li svg{color:var(--crimson);flex:none;margin-top:3px;}
.svc-bullets li b{font-weight:600;color:var(--ink);}
.svc-bullets li span{color:var(--soft);}
.svctag{display:inline-flex;align-items:center;gap:8px;font-family:var(--disp);text-transform:uppercase;letter-spacing:.16em;font-size:12px;color:var(--crimson);}
.svctag::before{content:"▸";}

/* stat row */
.statrow{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.statrow .stat{padding:28px;border:1px solid var(--line);border-radius:14px;border-top:3px solid var(--crimson);background:#fff;}
.statrow .stat b{font-family:var(--disp);font-weight:700;font-size:38px;color:var(--navy);line-height:1;display:block;letter-spacing:-.01em;}
.statrow .stat span{font-family:var(--disp);text-transform:uppercase;letter-spacing:.05em;font-size:12.5px;color:var(--soft);margin-top:10px;display:block;}

/* area chips */
.area{display:flex;flex-wrap:wrap;gap:10px;margin-top:36px;}
.area span{font-family:var(--disp);text-transform:uppercase;letter-spacing:.05em;font-size:13px;color:var(--navy);border:1px solid var(--line);padding:10px 16px;border-radius:999px;background:var(--mist);transition:.25s;}
.area span:hover{background:var(--navy);color:#fff;border-color:var(--navy);}

/* generic accordion (faq/financing) */
.acc{max-width:860px;margin:52px auto 0;}
.acc .item{border-bottom:1px solid var(--line);}
.acc .item:first-child{border-top:1px solid var(--line);}
.acc .q{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 6px;cursor:pointer;font-family:var(--disp);font-weight:600;font-size:21px;color:var(--navy);text-transform:none;transition:color .2s;}
.acc .q:hover{color:var(--crimson);}
.acc .q .pm{flex:none;width:30px;height:30px;border-radius:50%;border:1.5px solid var(--line);display:flex;align-items:center;justify-content:center;transition:.25s var(--ease);color:var(--crimson);font-family:var(--body);}
.acc .item.open .q .pm{transform:rotate(45deg);background:var(--crimson);color:#fff;border-color:var(--crimson);}
.acc .a{max-height:0;overflow:hidden;transition:max-height .35s var(--ease);}
.acc .a p{padding:0 6px 26px;font-size:16.5px;color:var(--soft);line-height:1.6;}
.acc .a .pm-icn{display:none;}

/* blog */
.bgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:56px;}
.bcard{border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;background:#fff;transition:transform .3s var(--ease),box-shadow .3s;}
.bcard:hover{transform:translateY(-6px);box-shadow:0 30px 56px -32px rgba(27,42,91,.5);}
.bcard .top{height:200px;overflow:hidden;}
.bcard .top .ph,.bcard .top.imgph{height:100%;background-size:cover;background-position:center;transition:transform .6s var(--ease);}
.bcard:hover .top .ph{transform:scale(1.07);}
.bcard .bd{padding:24px;display:flex;flex-direction:column;flex:1;}
.bcard .cat{font-family:var(--disp);text-transform:uppercase;letter-spacing:.14em;font-size:11px;color:var(--crimson);}
.bcard h3{font-size:21px;color:var(--navy);text-transform:none;font-weight:600;margin-top:8px;line-height:1.25;}
.bcard p{margin-top:10px;color:var(--soft);font-size:15px;flex:1;}
.bcard .more{margin-top:16px;font-family:var(--disp);text-transform:uppercase;font-weight:600;letter-spacing:.05em;font-size:13px;color:var(--navy);}

/* review cards (about) */
.revcard{border:1px solid var(--line);border-radius:14px;padding:28px;background:#fff;}
.revcard .stars{color:var(--gold);letter-spacing:1px;font-size:16px;}
.revcard p{margin-top:14px;color:var(--ink);font-size:16px;line-height:1.55;}
.revcard .by{margin-top:18px;font-family:var(--disp);text-transform:uppercase;letter-spacing:.04em;font-size:14px;color:var(--navy);}
.revcard .by span{display:block;font-family:var(--body);text-transform:none;letter-spacing:0;font-weight:400;font-size:13px;color:var(--soft);margin-top:3px;}

/* cta band (navy) */
.ctaband{background:var(--navy);color:#fff;text-align:center;background-image:radial-gradient(circle at 50% 120%,rgba(176,28,62,.4),transparent 55%);}
.ctaband .tag{font-family:var(--disp);text-transform:uppercase;letter-spacing:.34em;font-size:13px;color:#f0d9a8;}
.ctaband h2{font-size:44px;text-transform:none;font-weight:600;margin-top:14px;}
.ctaband p{margin:18px auto 0;max-width:600px;font-size:19px;color:rgba(255,255,255,.84);}
.ctaband .row{display:flex;gap:16px;justify-content:center;margin-top:34px;flex-wrap:wrap;}

/* contact form card (contact page) */
.cgrid{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:start;}
.formcard{background:#fff;border:1px solid var(--line);border-radius:16px;padding:40px;box-shadow:0 30px 70px -46px rgba(27,42,91,.5);}
.formcard textarea{min-height:110px;resize:vertical;}

/* ============================ RESPONSIVE ============================ */
@media(max-width:1080px){
  nav.main{display:none;}
  .menubtn{display:block;}
  .hero h1{font-size:46px;}
  .hero .inner{grid-template-columns:1fr;gap:44px;}
  .stats .row{grid-template-columns:repeat(3,1fr);}
  .stats .st:nth-child(4)::before,.stats .st:nth-child(1)::before{display:none;}
}
@media(max-width:860px){
  .wrap,.wrap-wide{padding:0 22px;}
  .sec{padding:72px 0;}
  .hero{padding:56px 0 64px;min-height:0;}
  .hero h1{font-size:38px;}
  .shead h2,h2.big,.finalcta h2{font-size:32px;}
  .svc-grid,.process .top,.fin .timeline,.fin .panel,.lform .panel,.contact .grid,.grid2,.ba-wrap,.qform .qrow,.cgrid,.about-grid,.split,.fgrid.c3,.fgrid.c4,.statrow,.bgrid,.trust .row{grid-template-columns:1fr;}
  .split.r .txt{order:0;}
  .gal{grid-template-columns:repeat(2,1fr);}
  .gal .wide{grid-column:span 2;}
  .stats .row{grid-template-columns:repeat(2,1fr);}
  .stats .st::before{display:none!important;}
  .fin .barline{display:none;}
  .process .vis{height:340px;}
  .tst .bgsym{display:none;}
}

/* Hero eyebrow: subtle dark legibility shadow over video (no neon) */
.hero .eyebrow{text-shadow:0 1px 3px rgba(0,0,0,.5)}

/* ============================================================
   PREMIUM v1.2 — subpage elevation (financing · about · contact)
   navy/crimson/cream · trust-heavy · cinematic motion · no stock-person fakery
   ============================================================ */
/* — cinematic page hero — */
.phero .vidbg{animation:kenburns 28s ease-in-out infinite alternate;will-change:transform;}
@keyframes kenburns{from{transform:scale(1.05)}to{transform:scale(1.15)}}
.phero .vidbg::after{background:
   linear-gradient(100deg,rgba(8,14,32,.94) 0%,rgba(8,14,32,.8) 46%,rgba(8,14,32,.55) 78%,rgba(8,14,32,.7) 100%),
   linear-gradient(0deg,rgba(8,14,32,.7),transparent 34%);}
.phero .eyebrow{color:var(--rose);margin-bottom:20px;text-shadow:0 1px 3px rgba(0,0,0,.5);}
.phero .eyebrow::before{color:var(--rose);}
.phero .eyebrow .secno{color:#fff;opacity:.55;}
.phero .hchips{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px;}
.phero .hchips .chip{display:inline-flex;align-items:center;gap:9px;padding:11px 17px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);border-radius:10px;backdrop-filter:blur(8px);}
.phero .hchips .chip svg{color:var(--rose);flex:none;}
.phero .hchips .chip b{font-family:var(--disp);text-transform:uppercase;letter-spacing:.03em;font-size:13px;color:#fff;white-space:nowrap;font-weight:600;}
.phero .scrollcue{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);z-index:3;width:26px;height:42px;border:2px solid rgba(255,255,255,.38);border-radius:14px;display:flex;justify-content:center;padding-top:7px;}
.phero .scrollcue i{width:4px;height:8px;border-radius:2px;background:var(--rose);animation:scrolldot 1.8s var(--ease) infinite;}
@keyframes scrolldot{0%{opacity:0;transform:translateY(-4px)}40%{opacity:1}80%{opacity:0;transform:translateY(11px)}}

/* — KPI count-up band — */
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:8px;}
.kpis .k{text-align:center;padding:34px 18px;border:1px solid var(--line);border-radius:16px;background:#fff;border-top:3px solid var(--crimson);transition:transform .35s var(--ease),box-shadow .35s;}
.kpis .k:hover{transform:translateY(-6px);box-shadow:0 30px 56px -34px rgba(27,42,91,.55);}
.kpis .k b{font-family:var(--disp);font-weight:700;font-size:50px;color:var(--navy);line-height:1;display:inline-flex;align-items:baseline;letter-spacing:-.02em;}
.kpis .k .lbl{font-family:var(--disp);text-transform:uppercase;letter-spacing:.1em;font-size:12px;color:var(--soft);margin-top:14px;display:block;}

/* — scope / "what you can fund" cards — */
.fcard .rng{font-family:var(--disp);font-weight:600;color:var(--crimson);font-size:13.5px;letter-spacing:.02em;margin-top:16px;padding-top:15px;border-top:1px dashed var(--line);display:flex;align-items:center;gap:8px;text-transform:uppercase;}
.fcard .rng::before{content:"▸";color:var(--crimson);}

/* — leadership / license seal (about) — */
.owner{display:grid;grid-template-columns:.66fr 1.34fr;gap:48px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:18px;padding:46px;box-shadow:0 36px 84px -52px rgba(27,42,91,.5);margin-top:8px;}
.owner .seal{position:relative;border-radius:16px;background:linear-gradient(155deg,var(--navy),var(--navy-3));color:#fff;aspect-ratio:1/1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;overflow:hidden;padding:24px;}
.owner .seal::before{content:"";position:absolute;inset:14px;border:1px solid rgba(255,255,255,.16);border-radius:11px;}
.owner .seal svg{color:var(--rose);margin-bottom:14px;}
.owner .seal .num{font-family:var(--disp);font-weight:700;font-size:30px;letter-spacing:.02em;line-height:1;}
.owner .seal .cap{font-family:var(--disp);text-transform:uppercase;letter-spacing:.14em;font-size:11px;color:rgba(255,255,255,.72);margin-top:9px;}
.owner blockquote{margin:0;font-family:var(--disp);font-weight:300;font-size:25px;line-height:1.42;color:var(--navy);text-transform:none;}
.owner .sig{margin-top:24px;font-family:var(--disp);text-transform:uppercase;letter-spacing:.04em;font-size:15px;color:var(--navy);}
.owner .sig span{display:block;font-family:var(--body);text-transform:none;letter-spacing:0;color:var(--soft);font-size:13.5px;margin-top:3px;font-weight:400;}

/* — generic numbered steps ("what happens next") — */
.psteps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:54px;counter-reset:ps;}
.psteps .ps{position:relative;padding:38px 28px 30px;border:1px solid var(--line);border-radius:14px;background:#fff;transition:transform .35s var(--ease),box-shadow .35s;}
.psteps .ps:hover{transform:translateY(-6px);box-shadow:0 30px 56px -34px rgba(27,42,91,.55);}
.psteps .ps::before{counter-increment:ps;content:"0" counter(ps);position:absolute;top:-19px;left:26px;font-family:var(--disp);font-weight:700;font-size:36px;color:var(--crimson);background:#fff;padding:0 9px;line-height:1;}
.psteps .ps h4{font-family:var(--disp);font-size:19px;color:var(--navy);text-transform:none;font-weight:600;}
.psteps .ps p{margin-top:10px;color:var(--soft);font-size:15px;}

/* — premium NAP card + response badge (contact) — */
.napcard{background:#fff;border:1px solid var(--line);border-radius:16px;padding:8px 30px;box-shadow:0 30px 70px -50px rgba(27,42,91,.5);}
.napcard .row .ic{background:var(--mist);border-color:transparent;}
.resp{display:flex;align-items:center;gap:14px;margin-top:22px;padding:18px 22px;border-radius:13px;background:var(--navy);color:#fff;background-image:radial-gradient(circle at 100% 0%,rgba(176,28,62,.5),transparent 60%);}
.resp .ic{width:42px;height:42px;border-radius:10px;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;flex:none;color:var(--rose);}
.resp b{font-family:var(--disp);text-transform:uppercase;letter-spacing:.03em;font-size:14.5px;display:block;line-height:1.1;}
.resp span{font-size:13px;color:rgba(255,255,255,.72);}

/* — section intro centering helper for new sections — */
.shead.center .lead{margin-left:auto;margin-right:auto;}

@media(max-width:860px){
  .kpis,.psteps{grid-template-columns:1fr 1fr;}
  .owner{grid-template-columns:1fr;gap:28px;padding:28px;}
  .phero h1{font-size:38px;}
  .phero .hchips .chip b{font-size:12px;}
}
@media(prefers-reduced-motion:reduce){.phero .vidbg{animation:none;}.phero .scrollcue i{animation:none;}}
