/* ─────────────────────────────────────────
   BRIGHTHAUS THEME — MAIN STYLESHEET
───────────────────────────────────────── */

/* ── RESET ── */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;-webkit-font-smoothing:antialiased;}
html{font-size:16px;scroll-behavior:smooth;}
body{font-family:'Manrope',sans-serif;background:#fff;color:#1d1d1f;overflow-x:hidden;}
img{display:block;max-width:100%;height:auto;}
a{text-decoration:none;cursor:pointer;}
button{cursor:pointer;font-family:inherit;border:none;outline:none;}

/* ── TOUCH & ACCESSIBILITY ── */
/* Minimum 44×44px tap targets on touch devices */
@media(hover:none),(pointer:coarse){
  .g-cta,
  .btn-fill,
  .btn-outline-w,
  .btn-wh,
  .htile,
  .g-links a,
  .mob-bar a,
  .p-btn,
  .sub-form-btn,
  .wpforms-submit,
  .sp-link,
  .footer-col a {
    min-height:90px;
    display:inline-flex;
    align-items:center;
  }
  .g-ham{ min-width:44px; min-height:90px; justify-content:center; }
  /* Remove hover effects on touch — they "stick" on mobile */
  .proc-step:hover,
  .test-card:hover,
  .feat-card:hover,
  .price-card:hover,
  .htile:hover{ transform:none; box-shadow:none; }
}
/* Fast tap response — no 300ms delay */
a,button,.htile,.p-btn,.sub-form-btn{ touch-action:manipulation; }

/* ── TOKENS ── */
:root{
  --navy:#1d3461;--navy2:#0f1e3a;
  --sky:#2979d4;--sky-l:#5ba8f5;
  --white:#fff;--off:#f5f5f7;--off2:#fafafa;
  --dark:#1d1d1f;--mid:#6e6e73;--lt:#aeaeb2;--border:#e0e0e5;
  --ease:cubic-bezier(.4,0,.2,1);
}

/* ── NAV ── */
.g-nav{position:fixed;inset-block-start:0;inset-inline:0;z-index:900;height:90px;background:rgba(255,255,255,.82);backdrop-filter:saturate(180%) blur(24px);-webkit-backdrop-filter:saturate(180%) blur(24px);border-bottom:1px solid rgba(0,0,0,.07);display:flex;align-items:center;justify-content:space-between;padding:0 28px;transition:background .4s;}
.g-nav.dark-nav{background:rgba(15,20,35,.82);border-color:rgba(255,255,255,.08);}
.g-logo{display:flex;align-items:center;gap:10px;}
.g-logo img{width:85px !important;height:85px !important;max-width:85px !important;border-radius:50%;object-fit:contain;flex-shrink:0;filter:brightness(1.2) contrast(1.1);display:block;}
.g-logo-text{font-size:1.05rem;font-weight:700;color:var(--navy);}
.dark-nav .g-logo-text{color:#fff;}
.g-links{display:flex;list-style:none;gap:0;}
.g-links a{font-size:.75rem;font-weight:500;color:var(--mid);padding:6px 11px;border-radius:6px;transition:color .15s,background .15s;}
.g-links a:hover{color:var(--dark);background:rgba(0,0,0,.05);}
.g-links a.act{color:var(--navy);}
.dark-nav .g-links a{color:rgba(255,255,255,.6);}
.dark-nav .g-links a:hover{color:#fff;background:rgba(255,255,255,.1);}
.dark-nav .g-links a.act{color:var(--sky-l);}
.g-cta{background:var(--navy);color:#fff;padding:6px 15px;border-radius:980px;font-size:.74rem;font-weight:600;transition:background .2s;white-space:nowrap;display:inline-block;}
.g-cta:hover{background:var(--navy2);}
.g-ham{display:none;flex-direction:column;gap:4.5px;background:none;border:none;cursor:pointer;padding:4px;}
.g-ham span{display:block;width:19px;height:1.5px;border-radius:2px;transition:all .28s var(--ease);}
.g-nav .g-ham span{background:var(--dark);}
.dark-nav .g-ham span{background:#fff;}
.g-ham.open span:nth-child(1){transform:translateY(6px) rotate(45deg);}
.g-ham.open span:nth-child(2){opacity:0;}
.g-ham.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}
.mob-nav{display:none;position:fixed;inset:90px 0 0;z-index:899;background:rgba(255,255,255,.96);backdrop-filter:blur(20px);padding:1.2rem 22px 2rem;overflow-y:auto;}
.mob-nav.open{display:block;}
.mob-nav a{display:block;font-size:1.05rem;font-weight:500;color:var(--dark);padding:14px 0;border-bottom:1px solid var(--border);}
.mob-nav a:last-of-type{border:none;}
.mob-act-row{display:flex;gap:.5rem;padding-top:14px;}
.mob-bar{display:none;position:fixed;bottom:0;inset-inline:0;z-index:899;background:rgba(255,255,255,.93);backdrop-filter:blur(16px);border-top:1px solid var(--border);padding:10px 18px;gap:.6rem;}
.mob-bar a{flex:1;display:flex;align-items:center;justify-content:center;padding:11px;border-radius:12px;font-weight:700;font-size:.82rem;}
.mb1{background:var(--navy);color:#fff;}
.mb2{background:var(--off);color:var(--navy);border:1.5px solid var(--border);}

/* ── BUTTONS ── */
.btn-fill{background:var(--sky);color:#fff;padding:13px 28px;border-radius:980px;font-size:.88rem;font-weight:600;transition:background .2s,transform .15s;display:inline-flex;align-items:center;gap:5px;}
.btn-fill:hover{background:#1d5fa8;transform:scale(1.02);}
.btn-outline-w{background:rgba(255,255,255,.1);color:rgba(255,255,255,.82);padding:13px 26px;border-radius:980px;font-size:.88rem;font-weight:500;border:1px solid rgba(255,255,255,.18);transition:background .2s;display:inline-block;}
.btn-outline-w:hover{background:rgba(255,255,255,.18);}
.btn-wh{background:#fff;color:var(--navy);padding:13px 26px;border-radius:980px;font-size:.88rem;font-weight:700;transition:background .2s;display:inline-block;}
.btn-wh:hover{background:var(--off);}

/* ── HOME HERO ── */
.hero{min-height:100svh;padding-top:90px;background:#000;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative;overflow:hidden;}
.hero-img{position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,#070f20 0%,#0d1b3a 60%,#162652 100%);}
.hero-img::after{content:'';position:absolute;top:20%;left:50%;transform:translateX(-50%);width:900px;height:600px;border-radius:50%;background:radial-gradient(ellipse,rgba(41,121,212,.22) 0%,transparent 65%);}
.hero-body{position:relative;z-index:2;padding:48px 24px 60px;max-width:860px;margin:0 auto;width:100%;}
.hero-eyebrow{display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:980px;padding:5px 16px;font-size:.68rem;font-weight:600;color:rgba(255,255,255,.65);letter-spacing:.6px;text-transform:uppercase;margin-bottom:2rem;}
.hero-pulse{width:6px;height:6px;border-radius:50%;background:#34c759;animation:hpulse 2.2s infinite;flex-shrink:0;}
@keyframes hpulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.35;transform:scale(1.6);}}
.hero h1{font-family:'Playfair Display',serif;font-size:clamp(3.4rem,9vw,7.5rem);font-weight:700;color:#fff;line-height:1.0;letter-spacing:-.03em;margin-bottom:.65rem;}
.hero h1 em{font-style:italic;color:var(--sky-l);}
.hero-sub{font-size:clamp(1rem,2.2vw,1.28rem);color:rgba(255,255,255,.5);line-height:1.7;font-weight:300;max-width:600px;margin:0 auto 2.8rem;}
.hero-btns{display:flex;gap:.7rem;justify-content:center;flex-wrap:wrap;margin-bottom:4rem;}
.hero-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:.85rem;width:100%;max-width:900px;margin:0 auto;}
.htile{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:20px 16px 18px;text-align:left;cursor:pointer;transition:background .22s,border-color .22s,transform .22s;display:flex;flex-direction:column;}
.htile:hover{background:rgba(255,255,255,.11);border-color:rgba(255,255,255,.22);transform:translateY(-3px);}
.htile-ico{font-size:1.5rem;display:block;margin-bottom:10px;}
.htile-name{font-size:.8rem;font-weight:700;color:rgba(255,255,255,.82);display:block;margin-bottom:3px;}
.htile-desc{font-size:.68rem;color:rgba(255,255,255,.38);line-height:1.4;}
.htile-arr{display:block;font-size:.72rem;color:var(--sky-l);margin-top:8px;font-weight:600;}
.scroll-cue{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:5px;opacity:.35;pointer-events:none;animation:scBob 2.6s ease-in-out infinite;}
@keyframes scBob{0%,100%{transform:translateX(-50%) translateY(0);}50%{transform:translateX(-50%) translateY(7px);}}
.scroll-cue-bar{width:1px;height:26px;background:linear-gradient(#fff,transparent);}
.scroll-cue-lbl{font-size:.58rem;color:#fff;letter-spacing:2px;text-transform:uppercase;}

/* ── TRUST STRIP ── */
.trust-strip{background:var(--navy2);display:flex;justify-content:space-around;flex-wrap:wrap;gap:.5rem;padding:13px 5%;}
.ts-item{font-size:.72rem;font-weight:500;color:rgba(255,255,255,.68);display:flex;align-items:center;gap:.38rem;}
.ts-item::before{content:'✓';color:#34c759;font-weight:800;font-size:.78rem;}

/* ── SERVICE PANELS ── */
.svc-panel{min-height:100svh;display:grid;align-items:center;position:relative;overflow:hidden;}
.sp-dark{background:var(--dark);}
.sp-navy{background:var(--navy2);}
.sp-white{background:var(--white);}
.sp-off{background:var(--off);}
.sp-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;padding:100px 7%;max-width:1400px;margin:0 auto;width:100%;}
.sp-grid-rev{direction:rtl;}.sp-grid-rev>*{direction:ltr;}
.sp-eyebrow{font-size:.62rem;font-weight:700;letter-spacing:2.8px;text-transform:uppercase;margin-bottom:1.1rem;display:block;}
.sp-dark .sp-eyebrow,.sp-navy .sp-eyebrow{color:var(--sky-l);}
.sp-white .sp-eyebrow,.sp-off .sp-eyebrow{color:var(--sky);}
.sp-h{font-family:'Playfair Display',serif;font-size:clamp(2.6rem,5vw,5rem);font-weight:700;line-height:1.05;letter-spacing:-.025em;margin-bottom:.9rem;}
.sp-dark .sp-h,.sp-navy .sp-h{color:#fff;}
.sp-white .sp-h,.sp-off .sp-h{color:var(--dark);}
.sp-h em{font-style:italic;}
.sp-dark .sp-h em,.sp-navy .sp-h em{color:var(--sky-l);}
.sp-white .sp-h em,.sp-off .sp-h em{color:var(--sky);}
.sp-body-txt{font-size:clamp(.9rem,1.4vw,1.08rem);line-height:1.78;font-weight:300;max-width:480px;margin-bottom:2rem;}
.sp-dark .sp-body-txt,.sp-navy .sp-body-txt{color:rgba(255,255,255,.52);}
.sp-white .sp-body-txt,.sp-off .sp-body-txt{color:var(--mid);}
.sp-tags{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:1.8rem;}
.sp-tag{font-size:.68rem;font-weight:600;padding:4px 11px;border-radius:980px;border:1px solid;}
.sp-dark .sp-tag,.sp-navy .sp-tag{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12);color:rgba(255,255,255,.62);}
.sp-white .sp-tag,.sp-off .sp-tag{background:rgba(29,52,97,.05);border-color:rgba(29,52,97,.12);color:var(--navy);}
.sp-link{display:inline-flex;align-items:center;gap:3px;font-size:.9rem;font-weight:600;transition:gap .2s;}
.sp-dark .sp-link,.sp-navy .sp-link{color:var(--sky-l);}
.sp-white .sp-link,.sp-off .sp-link{color:var(--sky);}
.sp-link:hover{gap:8px;}
.sp-img-wrap{position:relative;}
.sp-img{border-radius:24px;overflow:hidden;box-shadow:0 48px 96px rgba(0,0,0,.28);}
.sp-img img{width:100%;height:100%;object-fit:cover;display:block;}
.sp-img-tall{aspect-ratio:3/4;}
.sp-img-wide{aspect-ratio:16/10;}
.sp-img-sq{aspect-ratio:1/1;}
.sp-img-placeholder{display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.06);min-height:300px;}
.sp-img-placeholder span{font-size:.75rem;color:rgba(255,255,255,.3);text-align:center;padding:1rem;}
.sp-badge{position:absolute;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-radius:14px;padding:13px 18px;border:1px solid rgba(255,255,255,.5);box-shadow:0 16px 48px rgba(0,0,0,.14);white-space:nowrap;}
.sp-badge-n{font-family:'Playfair Display',serif;font-size:1.7rem;font-weight:700;color:var(--navy);line-height:1;}
.sp-badge-l{font-size:.68rem;color:var(--mid);font-weight:500;margin-top:3px;}
.sp-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.85rem;margin-top:2.2rem;}
.sp-stat{padding:1.1rem;border-radius:14px;text-align:center;}
.sp-dark .sp-stat,.sp-navy .sp-stat{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.07);}
.sp-white .sp-stat,.sp-off .sp-stat{background:var(--off);border:1px solid var(--border);}
.sp-stat-n{font-family:'Playfair Display',serif;font-size:1.85rem;font-weight:700;line-height:1;}
.sp-dark .sp-stat-n,.sp-navy .sp-stat-n{color:var(--sky-l);}
.sp-white .sp-stat-n,.sp-off .sp-stat-n{color:var(--navy);}
.sp-stat-l{font-size:.68rem;font-weight:500;margin-top:.3rem;}
.sp-dark .sp-stat-l,.sp-navy .sp-stat-l{color:rgba(255,255,255,.38);}
.sp-white .sp-stat-l,.sp-off .sp-stat-l{color:var(--mid);}

/* ── PROCESS ── */
.proc-sec{background:var(--off);padding:90px 7%;}
.proc-hd{text-align:center;margin-bottom:3rem;}
.proc-hd h2{font-family:'Playfair Display',serif;font-size:clamp(2rem,4vw,3.2rem);color:var(--dark);letter-spacing:-.02em;margin-bottom:.5rem;}
.proc-hd h2 em,.proc-hd h2 em{color:var(--sky);font-style:italic;}
.proc-hd p{font-size:.95rem;color:var(--mid);max-width:480px;margin:0 auto;font-weight:300;}
.proc-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:.9rem;max-width:1200px;margin:0 auto;}
.proc-step{background:#fff;border-radius:18px;padding:1.6rem 1.1rem;border:1px solid var(--border);text-align:center;transition:transform .25s,box-shadow .25s,border-color .25s;}
.proc-step:hover{transform:translateY(-5px);box-shadow:0 16px 40px rgba(0,0,0,.07);border-color:var(--sky);}
.proc-num{width:44px;height:64px;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-size:1rem;font-weight:700;margin:0 auto 1rem;}
.proc-step h4{font-size:.83rem;font-weight:700;color:var(--dark);margin-bottom:.3rem;}
.proc-step p{font-size:.72rem;color:var(--mid);line-height:1.5;}

/* ── TESTIMONIALS ── */
.test-sec{background:#fff;padding:90px 7%;}
.test-hd{text-align:center;margin-bottom:3rem;}
.test-hd h2{font-family:'Playfair Display',serif;font-size:clamp(2rem,4vw,3.2rem);color:var(--dark);}
.test-hd h2 em{color:var(--sky);font-style:italic;}
.test-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;max-width:1200px;margin:0 auto;}
.test-card{background:var(--off2);border:1px solid var(--border);border-radius:20px;padding:2rem;transition:transform .25s,box-shadow .25s;}
.test-card:hover{transform:translateY(-4px);box-shadow:0 14px 40px rgba(0,0,0,.06);}
.test-stars{display:flex;gap:2px;margin-bottom:.85rem;}
.test-stars span{color:#f5c430;font-size:.88rem;}
.test-q{font-size:.88rem;color:var(--mid);line-height:1.8;font-style:italic;margin-bottom:1.2rem;}
.test-rev{display:flex;align-items:center;gap:.65rem;}
.test-av{width:38px;height:38px;border-radius:50%;background:var(--navy);display:flex;align-items:center;justify-content:center;font-size:.68rem;font-weight:700;color:#fff;flex-shrink:0;}
.test-name{font-size:.82rem;font-weight:700;color:var(--dark);}
.test-loc{font-size:.68rem;color:var(--lt);}

/* ── CTA BAND ── */
.cta-band{background:var(--navy2);padding:110px 7%;text-align:center;position:relative;overflow:hidden;}
.cta-glow{position:absolute;top:-40%;left:50%;transform:translateX(-50%);width:700px;height:500px;background:radial-gradient(ellipse,rgba(41,121,212,.18) 0%,transparent 65%);pointer-events:none;}
.cta-band h2{font-family:'Playfair Display',serif;font-size:clamp(2.6rem,6vw,5rem);color:#fff;letter-spacing:-.03em;line-height:1.05;margin-bottom:1rem;position:relative;z-index:1;}
.cta-band h2 em{font-style:italic;color:var(--sky-l);}
.cta-band p{color:rgba(255,255,255,.45);font-size:1rem;font-weight:300;margin-bottom:2.6rem;position:relative;z-index:1;}
.cta-btns{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap;position:relative;z-index:1;}

/* ── FOOTER ── */
.g-footer{background:#111;padding:58px 7% 26px;}
.footer-top{display:grid;grid-template-columns:2.2fr 1fr 1fr 1fr;gap:3rem;margin-bottom:2.8rem;}
.footer-brand-col{}
.footer-brand-row{display:flex;align-items:center;gap:12px;margin-bottom:.8rem;}
.footer-brand-row img{width:120px;height:90px;border-radius:50%;object-fit:contain;filter:brightness(1.2) contrast(1.1);}
.footer-brand-name{font-family:'Playfair Display',serif;font-size:1.3rem;color:#fff;}
.footer-desc{font-size:.78rem;color:rgba(255,255,255,.35);line-height:1.75;}
.footer-lic{display:inline-block;background:rgba(41,121,212,.15);color:var(--sky-l);padding:2px 9px;border-radius:4px;font-size:.64rem;font-weight:700;margin-top:.7rem;border:1px solid rgba(41,121,212,.28);}
.footer-col h5{font-size:.63rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:.85rem;}
.footer-col ul{list-style:none;}
.footer-col ul li{margin-bottom:.45rem;}
.footer-col ul li a{font-size:.78rem;color:rgba(255,255,255,.3);cursor:pointer;transition:color .18s;}
.footer-col ul li a:hover{color:var(--sky-l);}
.footer-bot{border-top:1px solid rgba(255,255,255,.06);padding-top:1.1rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem;}
.footer-bot p{font-size:.7rem;color:rgba(255,255,255,.22);}

/* ── SERVICE SUBPAGES ── */
.sub-hero{min-height:92svh;padding-top:90px;position:relative;overflow:hidden;display:flex;align-items:flex-end;}
.sub-hero-img{position:absolute;inset:0;z-index:0;}
.sub-hero-img img{width:100%;height:100%;object-fit:cover;}
.sub-hero-img-fallback{position:absolute;inset:0;background:linear-gradient(135deg,#070f20,#0d1b3a);}
.sub-hero-overlay{position:absolute;inset:0;z-index:1;}
.sub-hero-body-wrap{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:flex-end;padding:64px 7%;max-width:1400px;margin:0 auto;width:100%;}
.sub-hero-inner{max-width:100%;}
.sub-chip{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:980px;padding:5px 15px;font-size:.68rem;font-weight:600;color:rgba(255,255,255,.75);letter-spacing:.5px;text-transform:uppercase;margin-bottom:1.3rem;}
.sub-hero h1{font-family:'Playfair Display',serif;font-size:clamp(3rem,7vw,5.8rem);color:#fff;font-weight:700;line-height:1.02;letter-spacing:-.03em;margin-bottom:1rem;}
.sub-hero h1 em{font-style:italic;color:var(--sky-l);}
.sub-hero-p{font-size:clamp(.95rem,1.5vw,1.1rem);color:rgba(255,255,255,.62);line-height:1.72;font-weight:300;max-width:540px;margin-bottom:1.8rem;}
.sub-checks{display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;margin-bottom:2rem;}
.sub-check{font-size:.76rem;color:rgba(255,255,255,.5);display:flex;align-items:center;gap:.32rem;}
.sub-check-ico{color:#34c759;font-weight:800;}
.sub-hero-btns{display:flex;gap:.65rem;flex-wrap:wrap;}
.sub-form{background:rgba(255,255,255,.96);backdrop-filter:blur(20px);border-radius:20px;padding:1.75rem;border:1px solid rgba(255,255,255,.6);box-shadow:0 28px 70px rgba(0,0,0,.22);}
.sub-form h3{font-size:.92rem;font-weight:700;color:var(--dark);margin-bottom:1.15rem;}
.ff{margin-bottom:.5rem;}
.ff input,.ff select{width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:#fff;color:var(--dark);font-size:.82rem;font-family:inherit;outline:none;transition:border-color .18s;}
.ff input:focus,.ff select:focus{border-color:var(--sky);}
.ff input::placeholder{color:var(--lt);}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;}
.sub-form-btn{width:100%;padding:11px;border:none;border-radius:10px;font-weight:700;font-size:.86rem;cursor:pointer;font-family:inherit;background:var(--navy);color:#fff;transition:background .18s;margin-top:.1rem;}
.sub-form-btn:hover{background:var(--navy2);}
.form-msg{padding:.65rem 1rem;border-radius:8px;font-size:.8rem;font-weight:600;margin-top:.5rem;}
.form-msg.success{background:rgba(52,199,89,.1);color:#1a7a35;border:1px solid rgba(52,199,89,.25);}
.form-msg.error{background:rgba(255,59,48,.07);color:#c0392b;border:1px solid rgba(255,59,48,.2);}
.sub-intro{padding:88px 7%;text-align:center;background:linear-gradient(180deg,var(--off) 0%,#fff 100%);}
.sub-intro h2{font-family:'Playfair Display',serif;font-size:clamp(2rem,4vw,3.4rem);color:var(--dark);letter-spacing:-.02em;margin-bottom:.7rem;}
.sub-intro h2 em{color:var(--sky);font-style:italic;}
.sub-intro p{font-size:1rem;color:var(--mid);max-width:580px;margin:0 auto;line-height:1.78;font-weight:300;}
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.15rem;padding:0 7% 80px;max-width:1300px;margin:0 auto;}
.feat-card{background:var(--off);border-radius:18px;padding:1.75rem;transition:transform .24s,box-shadow .24s;}
.feat-card:hover{transform:translateY(-4px);box-shadow:0 14px 38px rgba(0,0,0,.06);}
.feat-ico{font-size:1.55rem;margin-bottom:.85rem;}
.feat-card h4{font-size:.92rem;font-weight:700;color:var(--dark);margin-bottom:.38rem;}
.feat-card p{font-size:.8rem;color:var(--mid);line-height:1.65;}
.content-split{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;padding:80px 7%;max-width:1300px;margin:0 auto;}
.cs-img{border-radius:22px;overflow:hidden;box-shadow:0 28px 64px rgba(0,0,0,.1);}
.cs-img img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;}
.cs-img-placeholder{aspect-ratio:4/3;background:var(--off);border-radius:22px;display:flex;align-items:center;justify-content:center;}
.cs-img-placeholder span{font-size:.75rem;color:var(--lt);text-align:center;padding:1rem;}
.cs-text h3{font-family:'Playfair Display',serif;font-size:clamp(1.8rem,3vw,2.6rem);color:var(--dark);letter-spacing:-.02em;margin-bottom:.7rem;}
.cs-text h3 em{color:var(--sky);font-style:italic;}
.cs-text p{font-size:.93rem;color:var(--mid);line-height:1.78;font-weight:300;margin-bottom:1.3rem;}
.cs-feats{display:flex;flex-direction:column;gap:.82rem;}
.cs-feat{display:flex;gap:.75rem;align-items:flex-start;}
.cs-ico{width:30px;height:30px;border-radius:8px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:.8rem;background:rgba(41,121,212,.07);border:1px solid rgba(41,121,212,.1);}
.cs-feat h5{font-size:.86rem;font-weight:700;color:var(--dark);margin-bottom:.12rem;}
.cs-feat p{font-size:.78rem;color:var(--mid);line-height:1.6;}

/* ── PRICING ── */
.pricing-sec{background:var(--navy2);padding:90px 7%;}
.pricing-hd{text-align:center;margin-bottom:2.8rem;}
.pricing-hd h2{font-family:'Playfair Display',serif;font-size:clamp(2rem,3.5vw,3rem);color:#fff;margin-bottom:.4rem;}
.pricing-hd h2 em{color:var(--sky-l);font-style:italic;}
.pricing-hd p{font-size:.9rem;color:rgba(255,255,255,.38);font-weight:300;}
.price-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1.15rem;max-width:1100px;margin:0 auto;}
.price-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:1.9rem;color:#fff;transition:transform .24s;}
.price-card:hover{transform:translateY(-4px);}
.price-card.hot{background:rgba(41,121,212,.18);border-color:rgba(41,121,212,.38);}
.price-badge{display:inline-block;background:var(--sky);color:#fff;padding:3px 10px;border-radius:980px;font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.85rem;}
.price-card h3{font-family:'Playfair Display',serif;font-size:1.15rem;margin-bottom:.55rem;}
.price-num{font-family:'Playfair Display',serif;font-size:2.8rem;font-weight:700;color:var(--sky-l);line-height:1;}
.price-unit{font-size:.88rem;color:rgba(255,255,255,.28);}
.price-note{font-size:.65rem;color:rgba(255,255,255,.24);margin:.18rem 0 1.2rem;}
.price-card ul{list-style:none;margin-bottom:1.4rem;}
.price-card ul li{font-size:.78rem;color:rgba(255,255,255,.58);padding:.32rem 0;border-bottom:1px solid rgba(255,255,255,.05);display:flex;align-items:center;gap:.4rem;}
.price-card ul li::before{content:'';width:3.5px;height:3.5px;border-radius:50%;background:var(--sky-l);flex-shrink:0;}
.p-btn{display:block;width:100%;padding:10px;border-radius:10px;text-align:center;font-weight:700;font-size:.8rem;cursor:pointer;font-family:inherit;transition:all .18s;border:none;}
.p-btn-o{border:1.5px solid rgba(41,121,212,.32) !important;color:var(--sky-l);background:transparent;}
.p-btn-f{background:var(--sky);color:#fff;}
.js-lead-scroll{cursor:pointer;}

/* ── SCROLL ANIMATIONS ── */
/* Reveal animations disabled — content always visible.
   Scroll animations can be re-enabled once JS caching is configured. */
.reveal, .reveal.vis{opacity:1 !important;transform:none !important;}
.reveal-d1,.reveal-d2,.reveal-d3{transition-delay:0s;}

/* ── RESPONSIVE ── */
/* ══════════════════════════════════════════
   RESPONSIVE — TABLET  (≤960px)
══════════════════════════════════════════ */
@media(max-width:960px){

  /* Service panels: stack text above image */
  .sp-grid{
    grid-template-columns:1fr;
    gap:2.5rem;
    padding:70px 5%;
  }
  .sp-grid-rev{ direction:ltr; }
  .sp-grid-rev > *{ direction:ltr; }
  .svc-panel{ min-height:auto; padding:0; }
  .sp-img-tall{ aspect-ratio:16/9; } /* landscape on tablet — less tall */
  .sp-badge{ display:none; }         /* hide floating badges — overlap risk */

  /* Grids: 2 columns on tablet */
  .hero-tiles{ grid-template-columns:repeat(2,1fr); gap:.65rem; }
  .proc-steps{ grid-template-columns:repeat(2,1fr); }
  .test-grid{ grid-template-columns:repeat(2,1fr); }
  .feat-grid{ grid-template-columns:repeat(2,1fr); }
  .price-row{ grid-template-columns:repeat(2,1fr); }
  .sp-stats{ grid-template-columns:repeat(3,1fr); } /* keep 3-col stats */

  /* Footer: 2 columns */
  .footer-top{ grid-template-columns:1fr 1fr; gap:2rem; }

  /* Sub-hero: stack form below headline */
  .sub-hero{ min-height:auto; }
  .sub-hero-body-wrap{
    grid-template-columns:1fr;
    padding:80px 5% 3rem;
    gap:2rem;
  }
  .sub-form{
    border-radius:16px;
    box-shadow:0 12px 40px rgba(0,0,0,.12);
  }

  /* Content split: stack */
  .content-split{
    grid-template-columns:1fr;
    gap:2.5rem;
    padding:60px 5%;
  }
  .content-split.rev{ direction:ltr; }
  .content-split.rev > *{ direction:ltr; }

  /* Sections: reduce padding */
  .proc-sec{ padding:70px 5%; }
  .test-sec{ padding:70px 5%; }
  .cta-band{ padding:80px 5%; }
  .pricing-sec{ padding:70px 5%; }
  .sub-intro{ padding:60px 5%; }
  .feat-grid{ padding:0 5% 60px; }
}

/* ══════════════════════════════════════════
   RESPONSIVE — MOBILE  (≤600px)
══════════════════════════════════════════ */
@media(max-width:600px){

  /* ── Nav: hide links, show hamburger ── */
  .g-links{ display:none !important; }
  .g-cta{ display:none !important; }
  .g-ham{ display:flex !important; }

  /* ── Bottom call bar: always visible ── */
  .mob-bar{ display:flex !important; }

  /* ── Body padding for bottom bar ── */
  body{ padding-bottom:68px; }

  /* ── Hero section ── */
  .hero{ min-height:100svh; padding-top:90px; }
  .hero-body{ padding:40px 18px 50px; }
  .hero h1{ font-size:clamp(2.6rem,11vw,4rem); margin-bottom:.5rem; }
  .hero-sub{ font-size:.95rem; margin-bottom:2rem; }
  .hero-btns{ flex-direction:column; align-items:center; gap:.5rem; margin-bottom:2.5rem; }
  .hero-btns .btn-fill,
  .hero-btns .btn-outline-w{ width:100%; justify-content:center; text-align:center; }
  .hero-tiles{ grid-template-columns:1fr 1fr; gap:.5rem; }
  .htile{ padding:14px 12px; }
  .htile-ico{ font-size:1.2rem; margin-bottom:6px; }
  .htile-name{ font-size:.72rem; }
  .htile-desc{ font-size:.62rem; }

  /* ── Trust strip: wrap nicely ── */
  .trust-strip{ gap:.4rem; padding:10px 4%; }
  .ts-item{ font-size:.68rem; }

  /* ── Service panels ── */
  .svc-panel{ min-height:auto; }
  .sp-grid{ padding:52px 5%; gap:2rem; }
  .sp-h{ font-size:clamp(2rem,9vw,3.2rem); }
  .sp-body-txt{ font-size:.9rem; }
  .sp-img-tall,
  .sp-img-wide,
  .sp-img-sq{ aspect-ratio:16/9; } /* all images landscape on mobile */
  .sp-stats{ grid-template-columns:repeat(3,1fr); gap:.5rem; margin-top:1.5rem; }
  .sp-stat{ padding:.75rem .4rem; }
  .sp-stat-n{ font-size:1.4rem; }
  .sp-stat-l{ font-size:.6rem; }
  .sp-tags{ gap:.3rem; margin-bottom:1.2rem; }
  .sp-tag{ font-size:.62rem; padding:3px 9px; }

  /* ── Process ── */
  .proc-sec{ padding:52px 5%; }
  .proc-steps{ grid-template-columns:1fr; gap:.65rem; }
  .proc-step{ padding:1.2rem 1rem; }

  /* ── Testimonials ── */
  .test-sec{ padding:52px 5%; }
  .test-grid{ grid-template-columns:1fr; gap:.85rem; }
  .test-card{ padding:1.4rem; }

  /* ── CTA band ── */
  .cta-band{ padding:60px 5%; }
  .cta-band h2{ font-size:clamp(2.2rem,9vw,3.5rem); }
  .cta-btns{ flex-direction:column; align-items:center; gap:.5rem; }
  .cta-btns .btn-fill,
  .cta-btns .btn-wh{ width:100%; text-align:center; justify-content:center; }

  /* ── Footer ── */
  .footer-top{ grid-template-columns:1fr; gap:1.8rem; }
  .g-footer{ padding:44px 5% 22px; }
  .footer-bot{ flex-direction:column; gap:.25rem; }

  /* ── Sub-hero (service pages) ── */
  .sub-hero-body-wrap{ padding:60px 5% 2rem; gap:1.5rem; }
  .sub-hero h1{ font-size:clamp(2.4rem,10vw,3.6rem); }
  .sub-hero-p{ font-size:.9rem; }
  .sub-hero-btns{ flex-direction:column; gap:.5rem; }
  .sub-hero-btns .btn-fill,
  .sub-hero-btns .btn-outline-w{ width:100%; justify-content:center; text-align:center; }
  .sub-checks{ gap:.4rem 1rem; }
  .sub-check{ font-size:.72rem; }

  /* ── WPForms form on mobile ── */
  .sub-form{ padding:1.4rem; border-radius:14px; }
  .sub-form h3{ font-size:.86rem; }
  .f2{ grid-template-columns:1fr; gap:.45rem; }

  /* ── Feature grid ── */
  .feat-grid{ grid-template-columns:1fr; padding:0 5% 50px; gap:.75rem; }
  .feat-card{ padding:1.4rem; }
  .sub-intro{ padding:50px 5%; }

  /* ── Content split ── */
  .content-split{ padding:48px 5%; gap:2rem; }

  /* ── Pricing ── */
  .pricing-sec{ padding:52px 5%; }
  .price-row{ grid-template-columns:1fr; gap:.75rem; }
  .price-card{ padding:1.5rem; }
  .price-num{ font-size:2.2rem; }

  /* ── Headings across the board ── */
  .proc-hd h2,
  .test-hd h2,
  .pricing-hd h2,
  .sub-intro h2{ font-size:clamp(1.8rem,7vw,2.6rem); }
}

/* ══════════════════════════════════════════
   WPFORMS — BRIGHTHAUS STYLE OVERRIDES
   Makes WPForms fields match the theme design
   exactly inside .bh-wpf-wrap
══════════════════════════════════════════ */

/* Container */
.bh-wpf-wrap .wpforms-container { margin:0; }
.bh-wpf-wrap .wpforms-form      { margin:0; }

/* ── Field rows ── */
.bh-wpf-wrap .wpforms-field-container { margin:0; }
.bh-wpf-wrap .wpforms-field           { margin-bottom:.5rem !important; padding:0 !important; }

/* ── Two-column layout for name + phone ── */
.bh-wpf-wrap .wpforms-field-name,
.bh-wpf-wrap .wpforms-field-phone {
  width:calc(50% - .25rem) !important;
  display:inline-block !important;
  vertical-align:top;
}
.bh-wpf-wrap .wpforms-field-name  { margin-right:.5rem !important; }

/* ── Labels — hide them (placeholders used instead) ── */
.bh-wpf-wrap .wpforms-field-label          { display:none !important; }
.bh-wpf-wrap .wpforms-field-sublabel       { display:none !important; }
.bh-wpf-wrap .wpforms-field-label-hide     { display:none !important; }

/* ── All inputs, selects, textareas ── */
.bh-wpf-wrap input[type="text"],
.bh-wpf-wrap input[type="email"],
.bh-wpf-wrap input[type="tel"],
.bh-wpf-wrap input[type="number"],
.bh-wpf-wrap input[type="url"],
.bh-wpf-wrap select,
.bh-wpf-wrap textarea {
  width:100% !important;
  padding:10px 12px !important;
  border-radius:10px !important;
  border:1px solid var(--border) !important;
  background:#fff !important;
  color:var(--dark) !important;
  font-size:.82rem !important;
  font-family:'Manrope',sans-serif !important;
  outline:none !important;
  box-shadow:none !important;
  transition:border-color .18s !important;
  -webkit-appearance:none;
  appearance:none;
  line-height:1.4 !important;
}
.bh-wpf-wrap input::placeholder,
.bh-wpf-wrap textarea::placeholder { color:var(--lt) !important; }
.bh-wpf-wrap input:focus,
.bh-wpf-wrap select:focus,
.bh-wpf-wrap textarea:focus {
  border-color:var(--sky) !important;
  box-shadow:0 0 0 3px rgba(41,121,212,.08) !important;
}

/* ── Select arrow ── */
.bh-wpf-wrap .wpforms-field-select { position:relative; }
.bh-wpf-wrap select {
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23aeaeb2' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  background-repeat:no-repeat !important;
  background-position:right 12px center !important;
  padding-right:32px !important;
}

/* ── Submit button ── */
.bh-wpf-wrap .wpforms-submit-container { margin:0 !important; padding:0 !important; }
.bh-wpf-wrap .wpforms-submit,
.bh-wpf-wrap button[type="submit"] {
  width:100% !important;
  padding:11px !important;
  border:none !important;
  border-radius:10px !important;
  font-weight:700 !important;
  font-size:.86rem !important;
  cursor:pointer !important;
  font-family:'Manrope',sans-serif !important;
  background:var(--navy) !important;
  color:#fff !important;
  transition:background .18s !important;
  box-shadow:none !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  margin-top:.25rem !important;
}
.bh-wpf-wrap .wpforms-submit:hover,
.bh-wpf-wrap button[type="submit"]:hover {
  background:var(--navy2) !important;
}

/* ── Confirmation / success message ── */
.bh-wpf-wrap .wpforms-confirmation-container,
.bh-wpf-wrap .wpforms-confirmation-container-full {
  background:rgba(52,199,89,.08) !important;
  border:1px solid rgba(52,199,89,.22) !important;
  border-radius:10px !important;
  padding:1rem 1.2rem !important;
  color:#1a7a35 !important;
  font-size:.84rem !important;
  font-weight:600 !important;
  margin:0 !important;
}

/* ── Error messages ── */
.bh-wpf-wrap .wpforms-error-container,
.bh-wpf-wrap label.wpforms-error {
  color:#c0392b !important;
  font-size:.75rem !important;
  font-weight:600 !important;
  margin-top:.2rem !important;
  background:none !important;
  border:none !important;
  padding:0 !important;
}
.bh-wpf-wrap input.wpforms-error,
.bh-wpf-wrap select.wpforms-error,
.bh-wpf-wrap textarea.wpforms-error {
  border-color:#c0392b !important;
}

/* ── Loading spinner ── */
.bh-wpf-wrap .wpforms-submit-spinner { filter:brightness(0) invert(1); }

/* ── Page breaks / multi-step (if used) ── */
.bh-wpf-wrap .wpforms-page-indicator { display:none !important; }
.bh-wpf-wrap .wpforms-page-button {
  background:var(--sky) !important;
  border-radius:10px !important;
  font-family:'Manrope',sans-serif !important;
  font-weight:700 !important;
  border:none !important;
}

/* ── Placeholder card shown before WPForms is connected ── */
.bh-form-placeholder {
  text-align:center;
  padding:1.5rem 1rem;
  background:rgba(29,52,97,.04);
  border:1.5px dashed rgba(29,52,97,.15);
  border-radius:12px;
}
.bh-form-placeholder-icon { font-size:2rem; margin-bottom:.6rem; }
.bh-form-placeholder p    { font-size:.78rem; color:var(--mid); line-height:1.8; margin-bottom:.4rem; }
.bh-form-placeholder strong { color:var(--dark); }
.bh-form-placeholder-btn {
  display:inline-block;
  margin-top:.8rem;
  padding:7px 16px;
  background:var(--navy);
  color:#fff;
  border-radius:8px;
  font-size:.76rem;
  font-weight:700;
}

/* ── Responsive: stack two-col fields on mobile ── */
@media(max-width:600px){
  .bh-wpf-wrap .wpforms-field-name,
  .bh-wpf-wrap .wpforms-field-phone {
    width:100% !important;
    display:block !important;
    margin-right:0 !important;
  }
}

/* ══════════════════════════════════════════
   ABOUT US PAGE
══════════════════════════════════════════ */

/* ── Hero ── */
.about-hero{position:relative;min-height:70vh;display:flex;align-items:flex-end;padding-bottom:0;overflow:hidden;padding-top:90px;}
.about-hero-bg{position:absolute;inset:0;background:linear-gradient(135deg,#070f20 0%,#0d1b3a 50%,#1d3461 100%);}
.about-hero-bg::after{content:'';position:absolute;top:10%;right:10%;width:600px;height:600px;border-radius:50%;background:radial-gradient(ellipse,rgba(41,121,212,.18) 0%,transparent 65%);}
.about-hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(7,15,32,.6) 0%,transparent 50%);}
.about-hero-body{position:relative;z-index:2;width:100%;max-width:1100px;margin:0 auto;padding:80px 5% 4rem;}
.about-hero-body h1{font-family:'Playfair Display',serif;font-size:clamp(3rem,6vw,5.5rem);color:#fff;line-height:1.1;margin:1rem 0 1.5rem;}
.about-hero-body h1 em{font-style:italic;color:var(--sky-l);}
.about-hero-body p{color:rgba(255,255,255,.72);font-size:1.05rem;max-width:580px;line-height:1.7;margin-bottom:3rem;}
.about-hero-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.1);border-radius:16px;overflow:hidden;max-width:700px;}
.ahs-item{background:rgba(255,255,255,.06);backdrop-filter:blur(10px);padding:1.2rem 1.4rem;text-align:center;}
.ahs-n{font-size:1.8rem;font-weight:800;color:#fff;font-family:'Playfair Display',serif;}
.ahs-l{font-size:.65rem;color:rgba(255,255,255,.5);font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-top:3px;}

/* ── Mission ── */
.about-mission{padding:90px 5%;background:#fff;}
.about-mission-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;}
.about-mission-text .sp-eyebrow{color:var(--sky);}
.about-mission-text h2{font-family:'Playfair Display',serif;font-size:clamp(2rem,3.5vw,3rem);color:var(--dark);line-height:1.2;margin:1rem 0 1.5rem;}
.about-mission-text p{color:var(--mid);line-height:1.8;margin-bottom:1rem;font-size:.95rem;}
.about-mission-img{border-radius:20px;overflow:hidden;aspect-ratio:4/3;}
.about-mission-img img{width:100%;height:100%;object-fit:cover;}

/* ── Values ── */
.about-values{padding:90px 5%;background:var(--off);}
.about-values-hd{max-width:1100px;margin:0 auto 3rem;text-align:center;}
.about-values-hd h2{font-family:'Playfair Display',serif;font-size:clamp(2rem,3.5vw,3rem);margin-top:.75rem;}
.about-values-hd h2 em{font-style:italic;color:var(--sky);}
.about-values-grid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;}
.av-card{background:#fff;border-radius:18px;padding:2rem;border:1px solid var(--border);transition:transform .2s,box-shadow .2s;}
.av-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,0,0,.08);}
.av-ico{font-size:1.8rem;margin-bottom:1rem;}
.av-card h4{font-size:.95rem;font-weight:700;color:var(--dark);margin-bottom:.5rem;}
.av-card p{font-size:.82rem;color:var(--mid);line-height:1.7;}

/* ── Team ── */
.about-team{padding:90px 5%;background:#fff;}
.about-team-hd{max-width:1100px;margin:0 auto 3rem;text-align:center;}
.about-team-hd h2{font-family:'Playfair Display',serif;font-size:clamp(2rem,3.5vw,3rem);margin:.75rem 0 .75rem;}
.about-team-hd h2 em{font-style:italic;color:var(--sky);}
.about-team-hd p{color:var(--mid);font-size:.9rem;max-width:520px;margin:0 auto;}
.about-team-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;}
.atm-card{background:var(--off);border-radius:18px;overflow:hidden;border:1px solid var(--border);}
.atm-photo{aspect-ratio:1;overflow:hidden;background:var(--navy);display:flex;align-items:center;justify-content:center;}
.atm-photo img{width:100%;height:100%;object-fit:cover;}
.atm-initials{font-size:2.5rem;font-weight:800;color:rgba(255,255,255,.7);font-family:'Playfair Display',serif;}
.atm-info{padding:1.2rem;}
.atm-info h4{font-size:.9rem;font-weight:700;color:var(--dark);margin-bottom:.2rem;}
.atm-role{font-size:.72rem;color:var(--sky);font-weight:600;text-transform:uppercase;letter-spacing:.4px;display:block;margin-bottom:.6rem;}
.atm-info p{font-size:.76rem;color:var(--mid);line-height:1.6;}

/* ── Licenses ── */
.about-licenses{padding:90px 5%;background:var(--navy2);}
.about-licenses-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1.4fr;gap:5rem;align-items:start;}
.al-text .sp-eyebrow{color:rgba(255,255,255,.5);}
.al-text h2{font-family:'Playfair Display',serif;font-size:clamp(2rem,3.5vw,3rem);color:#fff;line-height:1.2;margin:1rem 0 1rem;}
.al-text h2 em{font-style:italic;color:var(--sky-l);}
.al-text p{color:rgba(255,255,255,.6);font-size:.9rem;line-height:1.7;}
.al-grid{display:grid;gap:.75rem;}
.al-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:1.2rem 1.4rem;display:flex;align-items:center;gap:1.2rem;}
.al-code{font-size:1.1rem;font-weight:800;color:var(--sky-l);font-family:'Playfair Display',serif;min-width:52px;background:rgba(41,121,212,.15);border-radius:8px;padding:.4rem .7rem;text-align:center;}
.al-info h5{font-size:.85rem;font-weight:700;color:#fff;margin-bottom:.2rem;}
.al-info p{font-size:.75rem;color:rgba(255,255,255,.5);line-height:1.5;}
.al-cslb{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:.9rem 1.2rem;font-size:.75rem;color:rgba(255,255,255,.45);text-align:center;font-weight:600;}

/* ══════════════════════════════════════════
   PROJECTS PAGE
══════════════════════════════════════════ */

/* ── Hero ── */
.proj-hero{position:relative;min-height:55vh;display:flex;align-items:center;overflow:hidden;padding-top:90px;}
.proj-hero-bg{position:absolute;inset:0;background:linear-gradient(135deg,#070f20 0%,#0f1e3a 60%,#1d3461 100%);}
.proj-hero-bg::after{content:'';position:absolute;bottom:0;left:0;right:0;height:200px;background:linear-gradient(to top,#fff,transparent);}
.proj-hero-body{position:relative;z-index:2;max-width:1100px;margin:0 auto;padding:100px 5% 80px;width:100%;}
.proj-hero-body h1{font-family:'Playfair Display',serif;font-size:clamp(3rem,6vw,5.5rem);color:#fff;line-height:1.1;margin:1rem 0 1rem;}
.proj-hero-body h1 em{font-style:italic;color:var(--sky-l);}
.proj-hero-body p{color:rgba(255,255,255,.65);font-size:1rem;max-width:500px;line-height:1.7;}

/* ── Filter bar ── */
.proj-filter-wrap{background:#fff;border-bottom:1px solid var(--border);position:sticky;top:90px;z-index:100;padding:0 5%;}
.proj-filters{max-width:1100px;margin:0 auto;display:flex;gap:.4rem;padding:.75rem 0;overflow-x:auto;scrollbar-width:none;}
.proj-filters::-webkit-scrollbar{display:none;}
.pf-btn{background:var(--off);color:var(--mid);border:1.5px solid var(--border);border-radius:980px;padding:6px 18px;font-size:.74rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .18s;font-family:'Manrope',sans-serif;}
.pf-btn:hover{border-color:var(--navy);color:var(--navy);}
.pf-btn.active{background:var(--navy);color:#fff;border-color:var(--navy);}

/* ── Project grid ── */
.proj-sec{padding:3rem 5% 5rem;background:#fff;}
.proj-grid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}

/* Featured card spans 2 columns */
.proj-card-featured{grid-column:span 2;}
.proj-card-featured .proj-card-img{aspect-ratio:16/7;}

.proj-card{background:#fff;border-radius:18px;overflow:hidden;border:1px solid var(--border);transition:transform .22s,box-shadow .22s;}
.proj-card:hover{transform:translateY(-5px);box-shadow:0 16px 40px rgba(0,0,0,.1);}
.proj-card-img{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--off);}
.proj-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s;}
.proj-card:hover .proj-card-img img{transform:scale(1.04);}
.proj-card-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:3rem;background:linear-gradient(135deg,var(--off) 0%,#e8edf5 100%);}
.proj-card-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(10,20,50,.7) 0%,transparent 50%);opacity:0;transition:opacity .25s;display:flex;align-items:flex-end;padding:1.2rem;}
.proj-card:hover .proj-card-overlay{opacity:1;}
.proj-view-btn{background:#fff;color:var(--navy);padding:8px 18px;border-radius:980px;font-size:.74rem;font-weight:700;transition:background .15s;}
.proj-view-btn:hover{background:var(--sky);color:#fff;}
.proj-cat-badge{position:absolute;top:.75rem;left:.75rem;background:rgba(10,20,50,.75);backdrop-filter:blur(8px);color:#fff;font-size:.62rem;font-weight:700;padding:4px 10px;border-radius:980px;text-transform:uppercase;letter-spacing:.4px;}
.proj-feat-badge{position:absolute;top:.75rem;right:.75rem;background:var(--sky);color:#fff;font-size:.6rem;font-weight:700;padding:3px 9px;border-radius:980px;text-transform:uppercase;letter-spacing:.4px;}
.proj-card-body{padding:1.2rem;}
.proj-card-body h3{font-size:.9rem;font-weight:700;color:var(--dark);margin-bottom:.3rem;line-height:1.3;}
.proj-card-body h3 a{color:inherit;}
.proj-card-body h3 a:hover{color:var(--sky);}
.proj-location{font-size:.72rem;color:var(--mid);display:block;margin-bottom:.5rem;}
.proj-excerpt{font-size:.78rem;color:var(--mid);line-height:1.6;margin-bottom:.6rem;}
.proj-meta{display:flex;gap:.6rem;flex-wrap:wrap;}
.pm-item{font-size:.68rem;color:var(--mid);background:var(--off);padding:3px 9px;border-radius:6px;}
.pm-item strong{color:var(--dark);}

/* ── Empty / placeholder state ── */
.proj-empty{padding:2rem 5% 5rem;}
.proj-empty-inner{max-width:1100px;margin:0 auto;}
.proj-empty-icon{font-size:3rem;margin-bottom:1rem;}
.proj-empty h3{font-size:1.4rem;font-weight:700;margin-bottom:.5rem;}
.proj-empty p{color:var(--mid);margin-bottom:2rem;}
.proj-placeholder-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;opacity:.5;pointer-events:none;}

/* ── Bottom CTA strip ── */
.proj-cta-strip{background:var(--off);border-top:1px solid var(--border);padding:3rem 5%;}
.proj-cta-inner{max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:2rem;}
.proj-cta-inner h3{font-size:1.3rem;font-weight:700;color:var(--dark);margin-bottom:.3rem;}
.proj-cta-inner p{font-size:.85rem;color:var(--mid);}
.proj-cta-btns{display:flex;gap:.75rem;flex-shrink:0;}
.btn-outline-d{background:transparent;color:var(--navy);padding:13px 26px;border-radius:980px;font-size:.88rem;font-weight:600;border:2px solid var(--navy);transition:all .2s;display:inline-block;}
.btn-outline-d:hover{background:var(--navy);color:#fff;}

/* ── Single project ── */
.proj-single-hero{position:relative;height:60vh;overflow:hidden;padding-top:90px;display:flex;align-items:flex-end;}
.psh-img{position:absolute;inset:0;}
.psh-img img{width:100%;height:100%;object-fit:cover;}
.psh-img-fallback{background:linear-gradient(135deg,#070f20,#1d3461);}
.psh-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(5,10,30,.85) 0%,rgba(5,10,30,.3) 60%,transparent 100%);}
.psh-body{position:relative;z-index:2;max-width:1100px;margin:0 auto;padding:0 5% 3rem;width:100%;}
.psh-back{display:inline-block;font-size:.75rem;color:rgba(255,255,255,.6);font-weight:600;margin-bottom:1rem;transition:color .15s;}
.psh-back:hover{color:#fff;}
.psh-body h1{font-family:'Playfair Display',serif;font-size:clamp(2.2rem,4vw,3.8rem);color:#fff;line-height:1.1;margin:.5rem 0 .5rem;}
.psh-loc{color:rgba(255,255,255,.6);font-size:.85rem;}
.proj-single-body{padding:0 5% 5rem;background:#fff;}
.psb-inner{max-width:1100px;margin:0 auto;}
.psb-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border);border-radius:16px;overflow:hidden;margin:2.5rem 0;}
.psb-stat{background:#fff;padding:1.2rem;text-align:center;}
.psb-stat-n{font-size:1.4rem;font-weight:800;color:var(--navy);font-family:'Playfair Display',serif;}
.psb-stat-l{font-size:.65rem;color:var(--mid);text-transform:uppercase;letter-spacing:.4px;font-weight:600;}
.psb-cols{display:grid;grid-template-columns:1fr 320px;gap:3rem;align-items:start;}
.psb-content h2{font-family:'Playfair Display',serif;font-size:1.6rem;color:var(--dark);margin-bottom:1.2rem;}
.psb-content h3{font-family:'Playfair Display',serif;font-size:1.2rem;color:var(--dark);}
.psb-content p{color:var(--mid);line-height:1.8;font-size:.92rem;margin-bottom:1rem;}
.psb-sidebar-card{background:var(--off);border:1px solid var(--border);border-radius:18px;padding:1.5rem;position:sticky;top:60px;}
.psb-sidebar-card h4{font-size:.9rem;font-weight:700;color:var(--dark);margin-bottom:1rem;}
.psb-detail-list{list-style:none;}
.psb-detail-list li{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid var(--border);font-size:.78rem;}
.psb-detail-list li:last-child{border:none;}
.psb-detail-list span{color:var(--mid);}
.psb-detail-list strong{color:var(--dark);}
.psb-gallery{padding:3rem 0 0;}
.psb-gallery h2{font-family:'Playfair Display',serif;font-size:1.5rem;color:var(--dark);margin-bottom:1.2rem;}
.psb-gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;}
.psb-gallery-item{border-radius:12px;overflow:hidden;aspect-ratio:4/3;}
.psb-gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .3s;}
.psb-gallery-item:hover img{transform:scale(1.04);}
.btn-outline-nav{display:inline-block;padding:11px 26px;border-radius:980px;border:2px solid var(--border);color:var(--mid);font-size:.84rem;font-weight:600;transition:all .2s;}
.btn-outline-nav:hover{border-color:var(--navy);color:var(--navy);}

/* ══════════════════════════════════════════
   ABOUT + PROJECTS RESPONSIVE
══════════════════════════════════════════ */
@media(max-width:960px){
  .about-hero-stats{grid-template-columns:repeat(2,1fr);}
  .about-mission-inner{grid-template-columns:1fr;gap:2.5rem;}
  .about-values-grid{grid-template-columns:repeat(2,1fr);}
  .about-team-grid{grid-template-columns:repeat(2,1fr);}
  .about-licenses-inner{grid-template-columns:1fr;gap:2.5rem;}
  .proj-grid{grid-template-columns:repeat(2,1fr);}
  .proj-card-featured{grid-column:span 2;}
  .psb-cols{grid-template-columns:1fr;}
  .psb-stats{grid-template-columns:repeat(2,1fr);}
  .psb-gallery-grid{grid-template-columns:repeat(2,1fr);}
  .proj-cta-inner{flex-direction:column;text-align:center;}
}
@media(max-width:600px){
  .about-hero-stats{grid-template-columns:repeat(2,1fr);}
  .about-mission-inner,.about-licenses-inner{grid-template-columns:1fr;}
  .about-values-grid,.about-team-grid{grid-template-columns:1fr;}
  .proj-grid,.proj-placeholder-grid{grid-template-columns:1fr;}
  .proj-card-featured{grid-column:span 1;}
  .proj-card-featured .proj-card-img{aspect-ratio:4/3;}
  .psb-stats{grid-template-columns:repeat(2,1fr);}
  .psb-cols{grid-template-columns:1fr;}
  .psb-gallery-grid{grid-template-columns:1fr 1fr;}
  .proj-cta-btns{flex-direction:column;width:100%;}
  .proj-cta-btns a{width:100%;text-align:center;justify-content:center;}
  .about-hero-body,.proj-hero-body{padding:60px 5% 50px;}
}

/* ─── AI Quote Button ─────────────────────────────────────────────────────── */
.btn-ai-quote {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 16px;
  padding: 11px 20px;
  background: rgba(255,255,255,0.12);
  color: #fff;
  border: 1.5px solid rgba(255,255,255,0.35);
  border-radius: 8px;
  font-size: .875rem;
  font-weight: 500;
  text-decoration: none;
  letter-spacing: .01em;
  transition: background .2s, border-color .2s;
  backdrop-filter: blur(4px);
}
.btn-ai-quote:hover {
  background: rgba(255,255,255,0.22);
  border-color: rgba(255,255,255,0.6);
  text-decoration: none;
}

/* On light backgrounds (e.g. inside white service cards) */
.sp-body .btn-ai-quote,
.light .btn-ai-quote {
  background: #E6F1FB;
  color: #0C447C;
  border-color: #185FA5;
}
.sp-body .btn-ai-quote:hover,
.light .btn-ai-quote:hover {
  background: #185FA5;
  color: #fff;
}

/* ═══════════════════════════════════════════════════════════════════
   FINANCING — HOMEPAGE SECTION
═══════════════════════════════════════════════════════════════════ */

.fin-sec{background:var(--off);padding:90px 7%;}
.fin-sec-inner{max-width:1200px;margin:0 auto;width:100%;}

.fin-sec-hd{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:2.5rem;flex-wrap:wrap;gap:1rem;}
.fin-eyebrow{font-size:.62rem;font-weight:700;letter-spacing:2.8px;text-transform:uppercase;color:var(--sky);display:block;margin-bottom:.7rem;}
.fin-h{font-family:'Playfair Display',serif;font-size:clamp(2rem,4vw,3rem);font-weight:700;color:var(--dark);letter-spacing:-.025em;line-height:1.1;margin-bottom:.6rem;}
.fin-h em{font-style:italic;color:var(--sky);}
.fin-h-sub{font-size:.92rem;color:var(--mid);line-height:1.7;font-weight:300;max-width:520px;}
.fin-see-all{font-size:.8rem;font-weight:600;color:var(--sky);border:1px solid rgba(41,121,212,.3);padding:9px 20px;border-radius:980px;white-space:nowrap;transition:background .2s,border-color .2s;flex-shrink:0;}
.fin-see-all:hover{background:rgba(41,121,212,.06);border-color:var(--sky);}

/* Cards */
.fin-cards{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.25rem;margin-bottom:1.5rem;}
.fin-card{background:#fff;border-radius:20px;border:1px solid var(--border);overflow:hidden;transition:transform .25s,box-shadow .25s;min-width:0;}
.fin-card:hover{transform:translateY(-4px);box-shadow:0 20px 50px rgba(0,0,0,.07);}
.fin-card-featured{border:2px solid var(--sky);}
.fin-card-head{padding:26px 26px 20px;border-bottom:1px solid var(--border);}
.fin-card-logo-row{display:flex;align-items:center;gap:10px;margin-bottom:14px;}
.fin-logo-pill{font-size:.7rem;font-weight:700;letter-spacing:.02em;padding:5px 13px;border-radius:980px;}
.fin-logo-acorn{background:#eaf3de;color:#27500a;}
.fin-logo-wisetack{background:#e6f1fb;color:#0c447c;}
.fin-badge-free{font-size:.63rem;font-weight:700;background:#eaf3de;color:#27500a;padding:3px 10px;border-radius:980px;border:1px solid rgba(59,109,17,.2);}
.fin-badge-zero{font-size:.63rem;font-weight:700;background:#e6f1fb;color:#0c447c;padding:3px 10px;border-radius:980px;border:1px solid rgba(24,95,165,.2);}
.fin-card-title{font-size:1rem;font-weight:700;color:var(--dark);margin-bottom:6px;}
.fin-card-desc{font-size:.8rem;color:var(--mid);line-height:1.6;}
.fin-card-body{padding:20px 26px;}
.fin-stats-row{display:flex;gap:20px;margin-bottom:16px;}
.fin-stat{flex:1;}
.fin-stat-n{font-family:'Playfair Display',serif;font-size:1.4rem;font-weight:700;color:var(--navy);line-height:1;}
.fin-stat-l{font-size:.65rem;color:var(--mid);margin-top:3px;}
.fin-bullets{list-style:none;margin-bottom:18px;}
.fin-bullets li{font-size:.79rem;color:var(--mid);padding:5px 0;display:flex;align-items:flex-start;gap:8px;line-height:1.4;}
.fin-bullets li::before{content:'';display:inline-block;width:5px;height:5px;border-radius:50%;flex-shrink:0;margin-top:5px;}
.fin-bullet-acorn::before{background:#3b6d11;}
.fin-bullet-wisetack::before{background:var(--sky);}
.fin-btn-acorn,.fin-btn-wisetack{display:block;text-align:center;padding:12px 20px;border-radius:980px;font-size:.82rem;font-weight:600;transition:filter .2s,transform .15s;}
.fin-btn-acorn{background:#3b6d11;color:#fff;}
.fin-btn-wisetack{background:var(--navy);color:#fff;}
.fin-btn-acorn:hover,.fin-btn-wisetack:hover{filter:brightness(1.1);transform:scale(1.01);}

/* Payment bar */
.fin-pay-bar{background:var(--navy2);border-radius:16px;padding:22px 28px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;}
.fin-pay-bar-left{display:flex;align-items:center;gap:14px;}
.fin-pay-icon{font-size:1.3rem;flex-shrink:0;}
.fin-pay-title{font-size:.9rem;font-weight:600;color:#fff;}
.fin-pay-sub{font-size:.7rem;color:rgba(255,255,255,.42);margin-top:3px;}
.fin-pay-examples{display:flex;gap:20px;flex-wrap:wrap;}
.fin-pay-ex{text-align:center;}
.fin-pay-ex-n{font-family:'Playfair Display',serif;font-size:1.1rem;font-weight:700;color:var(--sky-l);}
.fin-pay-ex-n span{font-size:.72rem;font-weight:500;}
.fin-pay-ex-l{font-size:.62rem;color:rgba(255,255,255,.38);margin-top:2px;}
.fin-pay-ex-zero .fin-pay-ex-n{color:#34c759;}
.fin-calc-btn{background:#fff;color:var(--navy);padding:10px 22px;border-radius:980px;font-size:.8rem;font-weight:700;white-space:nowrap;transition:background .2s;flex-shrink:0;}
.fin-calc-btn:hover{background:var(--off);}

/* ═══════════════════════════════════════════════════════════════════
   FINANCING PAGE (/financing/)
═══════════════════════════════════════════════════════════════════ */

/* Hero */
.fin-hero{background:var(--navy2);padding:140px 7% 80px;text-align:center;position:relative;overflow:hidden;}
.fin-hero::before{content:'';position:absolute;top:-30%;left:50%;transform:translateX(-50%);width:900px;height:600px;border-radius:50%;background:radial-gradient(ellipse,rgba(41,121,212,.2) 0%,transparent 65%);pointer-events:none;}
.fin-hero-body{position:relative;z-index:1;max-width:680px;margin:0 auto;}
.fin-hero-eyebrow{font-size:.62rem;font-weight:700;letter-spacing:2.8px;text-transform:uppercase;color:var(--sky-l);display:inline-block;margin-bottom:1.1rem;}
.fin-hero-h{font-family:'Playfair Display',serif;font-size:clamp(2.8rem,6vw,5rem);font-weight:700;color:#fff;line-height:1.05;letter-spacing:-.03em;margin-bottom:.8rem;}
.fin-hero-h em{font-style:italic;color:var(--sky-l);}
.fin-hero-p{font-size:clamp(.9rem,1.5vw,1.08rem);color:rgba(255,255,255,.52);line-height:1.72;font-weight:300;max-width:560px;margin:0 auto 1.8rem;}
.fin-hero-badges{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap;}
.fin-hbadge{font-size:.68rem;font-weight:600;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.13);color:rgba(255,255,255,.65);padding:5px 14px;border-radius:980px;letter-spacing:.02em;}

/* Page sections */
.finp-sec{padding:90px 7%;}
.finp-white{background:#fff;}
.finp-off{background:var(--off);}
.finp-inner{max-width:1200px;margin:0 auto;width:100%;}
.finp-inner-narrow{max-width:760px;}
.finp-hd{text-align:center;margin-bottom:3rem;}
.finp-eyebrow{font-size:.62rem;font-weight:700;letter-spacing:2.8px;text-transform:uppercase;color:var(--sky);display:inline-block;margin-bottom:.7rem;}
.finp-h{font-family:'Playfair Display',serif;font-size:clamp(2rem,4vw,3.2rem);font-weight:700;color:var(--dark);letter-spacing:-.025em;line-height:1.1;margin-bottom:.6rem;}
.finp-h em{font-style:italic;color:var(--sky);}
.finp-h-sub{font-size:.95rem;color:var(--mid);line-height:1.72;font-weight:300;max-width:520px;margin:0 auto;}

/* Compare cards */
.finp-compare{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.5rem;}
.finp-card{border-radius:20px;border:1px solid var(--border);overflow:hidden;background:#fff;min-width:0;}
.finp-card-featured{border:2px solid var(--sky);}
.finp-card-banner{padding:7px 20px;font-size:.65rem;font-weight:700;text-align:center;letter-spacing:.04em;text-transform:uppercase;}
.finp-banner-acorn{background:#eaf3de;color:#27500a;}
.finp-banner-wisetack{background:#e6f1fb;color:#0c447c;}
.finp-card-inner{padding:30px;}
.finp-card-logo{margin-bottom:16px;}.finp-card-logo img{max-width:100%;height:auto;}
.finp-card-title{font-size:1.1rem;font-weight:700;color:var(--dark);margin-bottom:8px;}
.finp-card-desc{font-size:.84rem;color:var(--mid);line-height:1.7;margin-bottom:22px;}
.finp-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:22px;}
.finp-stat{background:var(--off);border-radius:12px;padding:14px 10px;text-align:center;}
.finp-stat-n{font-family:'Playfair Display',serif;font-size:1.15rem;font-weight:700;color:var(--navy);}
.finp-stat-l{font-size:.63rem;color:var(--mid);margin-top:3px;}
.finp-divider{height:1px;background:var(--border);margin:0 0 20px;}
.finp-features{list-style:none;margin-bottom:24px;}
.finp-features li{font-size:.82rem;color:var(--mid);padding:8px 0;border-bottom:1px solid rgba(0,0,0,.04);display:flex;align-items:flex-start;gap:10px;line-height:1.4;min-width:0;}
.finp-features li:last-child{border-bottom:none;}
.finp-check{width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.6rem;font-weight:700;}
.finp-check-green{background:#eaf3de;color:#27500a;}
.finp-check-blue{background:#e6f1fb;color:#0c447c;}
.finp-btn{display:block;text-align:center;padding:13px 20px;border-radius:980px;font-size:.86rem;font-weight:600;transition:filter .2s,transform .15s;}
.finp-btn-acorn{background:#3b6d11;color:#fff;}
.finp-btn-wisetack{background:var(--navy);color:#fff;}
.finp-btn:hover{filter:brightness(1.1);transform:scale(1.01);}
.finp-legal{font-size:.65rem;color:var(--lt);text-align:center;margin-top:10px;line-height:1.5;}

/* Calculator */
.finp-calc{background:#fff;border:1px solid var(--border);border-radius:20px;padding:2.2rem;}
.finp-calc-controls{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem;margin-bottom:1.8rem;}
.finp-calc-field{}
.finp-calc-label{font-size:.72rem;font-weight:600;color:var(--mid);display:block;margin-bottom:6px;}
.finp-calc-input-wrap{position:relative;}
.finp-calc-prefix{position:absolute;left:12px;top:50%;transform:translateY(-50%);font-size:.9rem;color:var(--mid);}
.finp-calc-input{width:100%;padding:11px 12px 11px 26px;border:1px solid var(--border);border-radius:10px;font-size:.9rem;font-family:inherit;color:var(--dark);background:#fff;outline:none;transition:border-color .18s;}
.finp-calc-input:focus{border-color:var(--sky);}
.finp-calc-select{width:100%;padding:11px 12px;border:1px solid var(--border);border-radius:10px;font-size:.85rem;font-family:inherit;color:var(--dark);background:#fff;outline:none;transition:border-color .18s;}
.finp-calc-select:focus{border-color:var(--sky);}
.finp-calc-results{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem;margin-bottom:1rem;}
.finp-calc-result{background:var(--off);border-radius:14px;padding:1.4rem;text-align:center;border:1px solid var(--border);}
.finp-calc-result-n{font-family:'Playfair Display',serif;font-size:1.6rem;font-weight:700;color:var(--navy);}
.finp-calc-result-l{font-size:.68rem;color:var(--mid);margin-top:4px;}
.finp-calc-disclaimer{font-size:.68rem;color:var(--lt);line-height:1.6;text-align:center;}

/* How it works steps */
.finp-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;}
.finp-step{background:#fff;border-radius:18px;padding:1.8rem 1.3rem;border:1px solid var(--border);text-align:center;transition:transform .25s,box-shadow .25s,border-color .25s;}
.finp-step:hover{transform:translateY(-5px);box-shadow:0 18px 42px rgba(0,0,0,.07);border-color:var(--sky);}
.finp-step-n{width:46px;height:46px;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-size:1.05rem;font-weight:700;margin:0 auto 1rem;}
.finp-step-title{font-size:.86rem;font-weight:700;color:var(--dark);margin-bottom:.4rem;}
.finp-step-desc{font-size:.75rem;color:var(--mid);line-height:1.6;}

/* FAQ accordion */
.finp-faq{border:1px solid var(--border);border-radius:16px;overflow:hidden;background:#fff;}
.finp-faq-item{border-bottom:1px solid var(--border);}
.finp-faq-item:last-child{border-bottom:none;}
.finp-faq-q{width:100%;background:none;border:none;padding:1.1rem 1.4rem;text-align:left;font-size:.9rem;font-weight:600;color:var(--dark);cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-family:inherit;transition:background .18s;}
.finp-faq-q:hover{background:var(--off);}
.finp-faq-q::after{content:'+';font-size:1.1rem;color:var(--sky);flex-shrink:0;transition:transform .22s;}
.finp-faq-q[aria-expanded="true"]::after{transform:rotate(45deg);}
.finp-faq-a{padding:0 1.4rem 1.1rem;font-size:.84rem;color:var(--mid);line-height:1.75;}

/* Final CTA band */
.finp-cta-band{background:var(--navy2);padding:100px 7%;text-align:center;position:relative;overflow:hidden;}
.finp-cta-band::before{content:'';position:absolute;top:-30%;left:50%;transform:translateX(-50%);width:800px;height:500px;border-radius:50%;background:radial-gradient(ellipse,rgba(41,121,212,.18) 0%,transparent 65%);pointer-events:none;}
.finp-cta-inner{position:relative;z-index:1;max-width:700px;margin:0 auto;}
.finp-cta-h{font-family:'Playfair Display',serif;font-size:clamp(2.4rem,5vw,4.2rem);color:#fff;letter-spacing:-.03em;line-height:1.05;margin-bottom:.85rem;}
.finp-cta-h em{font-style:italic;color:var(--sky-l);}
.finp-cta-p{color:rgba(255,255,255,.45);font-size:.97rem;font-weight:300;line-height:1.7;margin-bottom:2.2rem;}
.finp-cta-btns{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap;}
.finp-cta-btn-acorn,.finp-cta-btn-wisetack{padding:13px 28px;border-radius:980px;font-size:.9rem;font-weight:600;transition:filter .2s,transform .15s;}
.finp-cta-btn-acorn{background:#3b6d11;color:#fff;}
.finp-cta-btn-wisetack{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.2);}
.finp-cta-btn-acorn:hover,.finp-cta-btn-wisetack:hover{filter:brightness(1.12);transform:scale(1.01);}

/* Footer financing badge */
.footer-fin-badge{display:inline-block;background:rgba(41,121,212,.12);color:var(--sky-l);padding:2px 9px;border-radius:4px;font-size:.62rem;font-weight:700;margin-top:.4rem;margin-left:.5rem;border:1px solid rgba(41,121,212,.22);}

/* ── Responsive — financing ──────────────────────────────────────────────── */
@media(max-width:960px){
  /* Homepage financing section */
  .fin-cards{grid-template-columns:1fr;}
  .fin-sec-hd{flex-direction:column;align-items:flex-start;}
  .fin-pay-bar{flex-direction:column;align-items:flex-start;gap:14px;}
  .fin-pay-examples{gap:14px;}
  /* Financing page */
  .finp-compare{grid-template-columns:1fr;}
  .finp-calc-controls{grid-template-columns:1fr;}
  .finp-calc-results{grid-template-columns:1fr 1fr 1fr;}
  .finp-steps{grid-template-columns:1fr 1fr;}
  .finp-stats{grid-template-columns:repeat(3,1fr);}
  .finp-sec{padding:70px 5%;}
  .fin-hero{padding:120px 5% 60px;}
}
@media(max-width:600px){
  /* Homepage financing section */
  .fin-sec{padding:60px 5%;}
  .fin-pay-bar{border-radius:12px;}
  /* Financing page hero — needs padding-top for fixed nav */
  .fin-hero{padding:130px 5% 56px;}
  .fin-hero-h{font-size:clamp(2.2rem,9vw,3rem);}
  .fin-hero-badges{justify-content:flex-start;}
  /* Sections */
  .finp-sec{padding:56px 5%;}
  .finp-inner{padding:0;}
  .finp-hd{text-align:left;margin-bottom:2rem;}
  .finp-h-sub{margin:0;}
  /* Compare cards */
  .finp-compare{grid-template-columns:1fr;}
  .finp-card-inner{padding:16px;}
  .finp-card-title{font-size:.95rem;}
  .finp-card-desc{font-size:.8rem;margin-bottom:16px;}
  .finp-stats{grid-template-columns:1fr 1fr;gap:8px;}
  .finp-stat{padding:10px 6px;}
  .finp-stat-n{font-size:.9rem;}
  /* Homepage fin-cards */
  .fin-card-head{padding:18px 18px 14px;}
  .fin-card-body{padding:16px 18px;}
  .fin-card-title{font-size:.9rem;}
  .fin-card-desc{font-size:.78rem;}
  .fin-stats-row{gap:12px;}
  .fin-stat-n{font-size:1.1rem;}
  /* Inner containers — add side padding */
  .finp-inner{padding-left:0;padding-right:0;}
  .fin-sec-inner{padding:0;}
  /* Calculator */
  .finp-calc{padding:1.4rem;}
  .finp-calc-controls{grid-template-columns:1fr;}
  .finp-calc-results{grid-template-columns:1fr;}
  .finp-calc-result{padding:1rem;}
  /* Steps */
  .finp-steps{grid-template-columns:1fr;}
  .finp-step{padding:1.3rem 1rem;}
  /* CTA band */
  .finp-cta-band{padding:60px 5%;}
  .finp-cta-btns{flex-direction:column;align-items:stretch;}
  .finp-cta-btn-acorn,.finp-cta-btn-wisetack{text-align:center;}
  /* FAQ */
  .finp-faq-q{font-size:.84rem;padding:.9rem 1.1rem;}
  .finp-faq-a{padding:0 1.1rem .9rem;}
}

/* ── Financing — Coming Soon button state ───────────────────────────────────── */
.fin-btn-coming-soon,
.finp-btn-coming-soon {
  cursor: default;
  opacity: .72;
  display: block;
  text-align: center;
  pointer-events: none;
  letter-spacing: .04em;
  font-style: italic;
}
/* keep the same shape/color as the real buttons, just muted */
.fin-btn-acorn.fin-btn-coming-soon,
.finp-btn-acorn.finp-btn-coming-soon,
.finp-cta-btn-acorn.finp-btn-coming-soon {
  background: #3b6d11;
  color: #fff;
  padding: 12px 20px;
  border-radius: 980px;
  font-size: .83rem;
  font-weight: 600;
}
.fin-btn-wisetack.fin-btn-coming-soon,
.finp-btn-wisetack.finp-btn-coming-soon,
.finp-cta-btn-wisetack.finp-btn-coming-soon {
  background: var(--navy);
  color: #fff;
  padding: 12px 20px;
  border-radius: 980px;
  font-size: .83rem;
  font-weight: 600;
}

/* ── Financing — Coming Soon button state ─────────────────────────────────── */
.fin-btn-coming-soon {
  cursor:not-allowed;
  opacity:.6;
  display:block;
  text-align:center;
  padding:12px 20px;
  border-radius:980px;
  font-size:.82rem;
  font-weight:600;
  letter-spacing:.01em;
}
.finp-btn.fin-btn-coming-soon,.finp-cta-btn-acorn.fin-btn-coming-soon,
.finp-cta-btn-wisetack.fin-btn-coming-soon{
  cursor:not-allowed;
  opacity:.55;
  pointer-events:none;
}

/* ═══════════════════════════════════════════════════════════════════════════
   FLOATING FINANCING TAB
   Fixed to right edge · slides open a panel · hides on /financing/ page
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Container ── */
.fin-float {
  position: fixed;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 999;
  display: flex;
  align-items: flex-end;
  pointer-events: none; /* children re-enable */
  transition: opacity .3s, transform .3s;
}

/* Hidden state — financing page or before scroll threshold */
.fin-float--hidden { display: none; }
.fin-float--below  { opacity: 0; pointer-events: none; }

/* ── Tab trigger ── */
.fin-float__tab {
  pointer-events: all;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  background: var(--navy, #1d3461);
  color: #fff;
  border: none;
  cursor: pointer;
  padding: 32px 26px;
  border-radius: 18px 0 0 18px;
  box-shadow: -4px 2px 20px rgba(0,0,0,.28);
  transition: background .2s, box-shadow .2s, transform .2s;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  position: relative;
  min-height: 200px;
}
.fin-float__tab:hover {
  background: #162848;
  box-shadow: -4px 3px 22px rgba(0,0,0,.30);
  transform: translateX(-3px);
}
.fin-float__tab-icon { font-size: 1.5rem; writing-mode: horizontal-tb; line-height: 1; }
.fin-float__tab-label {
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  line-height: 1.5;
  white-space: nowrap;
  /* rotate text so it reads bottom-to-top */
  transform: rotate(180deg);
}

/* ── Panel ── */
.fin-float__panel {
  pointer-events: all;
  position: fixed;
  top: 0;
  right: 0;
  width: 340px;
  height: 100vh;
  background: #fff;
  box-shadow: -6px 0 32px rgba(0,0,0,.14);
  transform: translateX(100%);
  transition: transform .32s cubic-bezier(.4,0,.2,1);
  overflow-y: auto;
  z-index: 998;
}
.fin-float__panel:not([hidden]) {
  transform: translateX(0);
}
/* Override hidden so transition works — we use transform not display */
.fin-float__panel[hidden] {
  display: block !important;
  transform: translateX(100%);
  pointer-events: none;
}

.fin-float__panel-inner {
  padding: 28px 24px 32px;
  display: flex;
  flex-direction: column;
  gap: 0;
  min-height: 100%;
}

/* ── Panel header ── */
.fin-float__hd {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 6px;
}
.fin-float__eyebrow {
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--sky, #4a9fd8);
  margin-bottom: 4px;
}
.fin-float__title {
  font-size: 1.2rem;
  font-weight: 800;
  color: var(--dark, #0a0f1e);
  line-height: 1.2;
  margin: 0;
}
.fin-float__close {
  background: none;
  border: none;
  cursor: pointer;
  font-size: 1.1rem;
  color: var(--mid, #6b7280);
  padding: 4px 6px;
  border-radius: 6px;
  line-height: 1;
  flex-shrink: 0;
  transition: background .15s, color .15s;
}
.fin-float__close:hover { background: #f3f4f6; color: var(--dark, #0a0f1e); }

.fin-float__sub {
  font-size: .75rem;
  color: var(--mid, #6b7280);
  margin: 0 0 20px;
  line-height: 1.5;
}

/* ── Partners ── */
.fin-float__partners {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-bottom: 20px;
}
.fin-float__partner {
  background: var(--off, #f8f8f6);
  border: 1px solid var(--border, #e5e7eb);
  border-radius: 14px;
  padding: 16px;
}
.fin-float__partner-hd {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
  flex-wrap: wrap;
}
.fin-float__partner-tag {
  font-size: .65rem;
  font-weight: 700;
  color: var(--mid, #6b7280);
  letter-spacing: .03em;
  text-transform: uppercase;
}
.fin-float__partner-desc {
  font-size: .75rem;
  color: var(--mid, #6b7280);
  line-height: 1.5;
  margin: 0 0 12px;
}
.fin-float__btn {
  display: block;
  text-align: center;
  padding: 10px 16px;
  border-radius: 980px;
  font-size: .78rem;
  font-weight: 700;
  transition: filter .2s, transform .15s;
  text-decoration: none;
}
.fin-float__btn--acorn    { background: #3b6d11; color: #fff; }
.fin-float__btn--wisetack { background: var(--navy, #1d3461); color: #fff; }
.fin-float__btn--acorn:hover,
.fin-float__btn--wisetack:hover { filter: brightness(1.1); transform: scale(1.01); }
.fin-float__btn--soon {
  opacity: .5;
  cursor: not-allowed;
  pointer-events: none;
}

/* ── More link ── */
.fin-float__more {
  display: block;
  text-align: center;
  font-size: .75rem;
  color: var(--sky, #4a9fd8);
  text-decoration: none;
  margin-top: auto;
  padding-top: 12px;
  font-weight: 600;
  transition: color .15s;
}
.fin-float__more:hover { color: var(--navy, #1d3461); }

/* ── Overlay (behind panel, click to close) ── */
.fin-float__overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.25);
  z-index: 997;
}
.fin-float__overlay--show { display: block; }

/* ── Mobile ── */
@media (max-width: 768px) {
  /* On mobile: small bottom-right pill instead of side tab */
  .fin-float {
    top: auto;
    bottom: 80px; /* above mobile nav bar */
    right: 14px;
    transform: none;
  }
  .fin-float__tab {
    writing-mode: horizontal-tb;
    text-orientation: mixed;
    flex-direction: row;
    border-radius: 980px;
    padding: 10px 16px;
    gap: 6px;
    box-shadow: 0 4px 18px rgba(0,0,0,.25);
  }
  .fin-float__tab-label {
    transform: none;
    font-size: .7rem;
    white-space: nowrap;
  }
  .fin-float__panel {
    width: 100%;
    max-width: 100vw;
    height: 85vh;
    top: auto;
    bottom: 0;
    right: 0;
    border-radius: 20px 20px 0 0;
    transform: translateY(100%);
  }
  .fin-float__panel:not([hidden]) {
    transform: translateY(0);
  }
  .fin-float__panel[hidden] {
    transform: translateY(100%);
  }
}

/* ── Pricing card — finance badge ─────────────────────────────────────────── */
.price-fin-badge {
  display: flex;
  align-items: center;
  gap: 7px;
  background: #eaf3de;
  border: 1px solid #c0dd97;
  border-radius: 10px;
  padding: 8px 12px;
  margin: 10px 0 12px;
  flex-wrap: wrap;
}
.price-fin-icon { font-size: 14px; line-height: 1; flex-shrink: 0; }
.price-fin-text {
  font-size: .72rem;
  font-weight: 600;
  color: #27500a;
  flex: 1;
  min-width: 120px;
}
.price-fin-btn {
  background: #3b6d11;
  color: #fff;
  border: none;
  border-radius: 980px;
  padding: 4px 11px;
  font-size: .68rem;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
  transition: filter .2s;
  flex-shrink: 0;
}
.price-fin-btn:hover { filter: brightness(1.15); }

/* Hot card version — white on navy background */
.price-card.hot .price-fin-badge {
  background: rgba(255,255,255,.12);
  border-color: rgba(255,255,255,.2);
}
.price-card.hot .price-fin-text { color: rgba(255,255,255,.9); }
.price-card.hot .price-fin-btn  { background: #fff; color: #1d3461; }
.price-card.hot .price-fin-icon svg { stroke: rgba(255,255,255,.85); }
.price-card.hot .price-fin-icon svg circle,
.price-card.hot .price-fin-icon svg line { stroke: rgba(255,255,255,.85); }
.price-card.hot .price-fin-icon svg circle[fill="#27500a"] { fill: rgba(255,255,255,.85); stroke: none; }
