
:root{
 --primary:#102633;--primary-2:#173b4d;--secondary:#f1f5f2;--accent:#49a978;--accent-dark:#2f8159;
 --bg:#ffffff;--surface:#f7f9f7;--text:#142027;--muted:#65727a;--border:#dce4df;--warm:#eee8df;
 --shadow:0 18px 50px rgba(13,36,48,.10);--shadow-sm:0 8px 24px rgba(13,36,48,.08);
 --radius:22px;--radius-sm:14px;--container:1180px;--header:82px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--bg);line-height:1.65;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3{font-family:ui-serif,Georgia,Cambria,"Times New Roman",serif;line-height:1.08;margin:0 0 .7em;letter-spacing:-.025em}h1{font-size:clamp(2.8rem,6vw,5.8rem)}h2{font-size:clamp(2.15rem,4.2vw,4rem)}h3{font-size:1.45rem}p{margin:0 0 1.25rem;color:var(--muted)}.container{width:min(calc(100% - 40px),var(--container));margin-inline:auto}.skip-link{position:absolute;left:-999px;top:0;background:#fff;padding:10px;z-index:9999}.skip-link:focus{left:10px;top:10px}.utility-bar{background:#0a1b24;color:#dbe8e2;font-size:.79rem;letter-spacing:.02em}.utility-inner{height:34px;display:flex;align-items:center;justify-content:space-between}.utility-inner a{font-weight:700}.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid rgba(220,228,223,.8);transition:.2s}.site-header.scrolled{box-shadow:0 8px 30px rgba(13,36,48,.08)}.nav-wrap{height:82px;display:flex;align-items:center;justify-content:space-between;gap:26px}.brand{display:flex;gap:12px;align-items:center;min-width:260px}.brand-mark{width:46px;height:46px;border-radius:13px;background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;display:grid;place-items:center;font-weight:900;letter-spacing:-.05em}.brand strong{display:block;font-size:.98rem;line-height:1.15}.brand small{display:block;color:var(--muted);font-size:.69rem;margin-top:3px}.primary-nav{display:flex;align-items:center;gap:26px;font-size:.94rem;font-weight:700}.primary-nav>a:not(.btn),.nav-dropdown>button{padding:28px 0 25px;border:0;background:transparent;position:relative;color:#26363f}.primary-nav>a:not(.btn)::after,.nav-dropdown>button::after{content:"";position:absolute;left:0;right:0;bottom:18px;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left center;transition:transform .22s ease}.primary-nav>a.active:not(.btn)::after,.primary-nav>a:not(.btn):hover::after,.primary-nav>a:not(.btn):focus-visible::after,.nav-dropdown>button:hover::after,.nav-dropdown>button:focus-visible::after,.nav-dropdown:hover>button::after,.nav-dropdown:focus-within>button::after{transform:scaleX(1)}.nav-dropdown{position:relative}.nav-dropdown>button{font-weight:700}.primary-nav>a:not(.btn),.nav-dropdown>button{transition:color .18s ease}.primary-nav>a:not(.btn):hover,.primary-nav>a:not(.btn):focus-visible,.nav-dropdown>button:hover,.nav-dropdown>button:focus-visible,.nav-dropdown:hover>button{color:var(--accent-dark)}.mega-menu{position:absolute;top:70px;right:-240px;width:670px;background:white;border:1px solid var(--border);box-shadow:var(--shadow);padding:28px;border-radius:18px;display:grid;grid-template-columns:1fr .8fr 1.15fr;gap:28px;opacity:0;visibility:hidden;transform:translateY(8px);transition:.18s}.nav-dropdown:hover .mega-menu,.nav-dropdown:focus-within .mega-menu,.nav-dropdown.open .mega-menu{opacity:1;visibility:visible;transform:translateY(0)}.mega-menu span{display:block;text-transform:uppercase;letter-spacing:.12em;color:var(--accent-dark);font-size:.69rem;margin-bottom:10px}.mega-menu a{display:block;padding:6px 0;color:#31434d}.mega-menu a:hover{color:var(--accent-dark)}.nav-toggle{display:none;border:0;background:none;padding:8px}.nav-toggle span{display:block;width:25px;height:2px;background:var(--primary);margin:5px 0}.btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;border-radius:999px;padding:14px 22px;font-weight:800;line-height:1.1;border:1px solid transparent;transition:.18s}.btn:hover{transform:translateY(-1px)}.btn-sm{padding:12px 17px;font-size:.86rem}.btn-primary{background:var(--accent);color:#092118;box-shadow:0 9px 20px rgba(73,169,120,.20)}.btn-primary:hover{background:#5bbb8a}.btn-secondary{background:#fff;border-color:var(--border);color:var(--primary)}.btn-light{background:#fff;color:var(--primary)}.btn-block{width:100%}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.eyebrow{display:inline-block;font-size:.74rem;line-height:1;text-transform:uppercase;letter-spacing:.18em;font-weight:900;color:var(--accent-dark);margin-bottom:18px}.home-hero{padding:64px 0 70px;background:linear-gradient(180deg,#f7faf8 0%,#fff 100%);overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:64px;align-items:center}.hero-copy h2 em{font-style:normal;color:var(--accent-dark)}.hero-copy>p,.page-hero p{font-size:1.14rem;max-width:700px}.hero-mini{display:flex;gap:24px;flex-wrap:wrap;margin-top:34px;color:#50616b;font-size:.82rem;font-weight:800}.hero-mini span:before{content:"✓";color:var(--accent-dark);margin-right:7px}.hero-visual{margin:0;position:relative}.hero-visual img,.image-card img{aspect-ratio:1.46/1;object-fit:cover;border-radius:30px;box-shadow:var(--shadow)}.hero-visual:before{content:"";position:absolute;width:210px;height:210px;border:34px solid rgba(73,169,120,.13);border-radius:50%;right:-75px;top:-60px;z-index:-1}.hero-visual figcaption{position:absolute;left:24px;right:24px;bottom:24px;background:rgba(9,28,37,.88);backdrop-filter:blur(10px);color:#fff;border-radius:16px;padding:18px 20px;display:flex;justify-content:space-between;gap:20px}.hero-visual figcaption strong{font-size:.95rem}.hero-visual figcaption span{color:#cddbd5;font-size:.82rem}.trust-strip{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:#fff}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}.trust-grid>div{padding:24px 22px;border-right:1px solid var(--border);display:flex;align-items:baseline;gap:8px;justify-content:center}.trust-grid>div:first-child{border-left:1px solid var(--border)}.trust-grid strong{font-size:1.03rem;color:var(--primary)}.trust-grid span{font-size:.84rem;color:var(--muted)}.section{padding:100px 0}.section.soft{background:var(--surface)}.section.dark{background:var(--primary);color:#fff}.section-head{max-width:760px;margin-bottom:44px}.section-head.narrow{text-align:center;margin-inline:auto}.section-head.with-action{max-width:none;display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.section-head p{font-size:1.06rem}.section-head.light p{color:#c5d3d7}.section-head.light .eyebrow{color:#80d2a6}.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.service-card{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:#fff;box-shadow:0 4px 18px rgba(13,36,48,.03);transition:.2s}.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-sm)}.service-image{display:block;overflow:hidden}.service-image img{width:100%;aspect-ratio:1.45/1;object-fit:cover;transition:.35s}.service-card:hover .service-image img{transform:scale(1.035)}.service-card-body{padding:22px;position:relative}.service-card-body small{display:block;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:800;margin:0 0 6px 44px}.service-icon{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#e9f5ee;color:var(--accent-dark);font-weight:900;float:left;margin-right:10px}.service-card h3{font-size:1.34rem;margin-bottom:8px;clear:both;padding-top:10px}.service-card p{font-size:.9rem;line-height:1.55}.text-link{font-weight:900;color:var(--accent-dark);font-size:.9rem}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.split.compact{grid-template-columns:1fr auto}.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 22px;margin:24px 0;color:#31434d;font-weight:700}.check-grid span::first-letter{color:var(--accent-dark)}.feature-rows{display:grid;gap:34px}.feature-row{display:grid;grid-template-columns:1.08fr .92fr;align-items:center;border:1px solid var(--border);border-radius:26px;overflow:hidden}.feature-row.reverse{grid-template-columns:.92fr 1.08fr}.feature-row.reverse img{order:2}.feature-row img{width:100%;height:100%;min-height:330px;object-fit:cover}.feature-row div{padding:46px}.feature-row h3{font-size:2.5rem}.tag{display:inline-block;color:var(--accent-dark);background:#e9f5ee;border-radius:999px;padding:6px 10px;text-transform:uppercase;font-size:.64rem;letter-spacing:.11em;font-weight:900;margin-bottom:12px}.three-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.photo-tile{position:relative;border-radius:var(--radius);overflow:hidden;min-height:420px}.photo-tile img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.photo-tile:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(5,22,30,.85))}.photo-tile span{position:absolute;z-index:2;left:24px;right:24px;bottom:22px;color:#fff;font-size:1.35rem;font-family:Georgia,serif;font-weight:700;display:flex;justify-content:space-between}.benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.benefit-grid article,.cards article{border:1px solid var(--border);padding:28px;border-radius:var(--radius);background:#fff}.benefit-grid b{color:#9cacb2;font-size:.75rem;letter-spacing:.12em}.benefit-grid h3{margin-top:20px}.process-section{background:linear-gradient(120deg,#f4f7f5,#fff)}.steps{padding:0;margin:0;list-style:none;display:grid;gap:16px}.steps li{display:flex;gap:18px;padding:20px;border:1px solid var(--border);border-radius:18px;background:#fff}.steps li>span{flex:0 0 42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--primary);color:#fff;font-weight:900}.steps h3{font-size:1.15rem;margin:0 0 6px}.steps p{margin:0;font-size:.9rem}.project-preview{display:grid;grid-template-columns:1.25fr .8fr .8fr;gap:18px}.project-preview img{width:100%;height:360px;object-fit:cover;border-radius:18px}.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.testimonial-grid blockquote{margin:0;border:1px solid var(--border);border-radius:var(--radius);padding:30px;background:#fff}.testimonial-grid blockquote p{font-family:Georgia,serif;font-size:1.28rem;color:var(--text)}.testimonial-grid footer{font-size:.8rem;color:var(--muted)}.finance-band{background:var(--accent-dark);color:#fff}.finance-band p{color:#d9eee2}.finance-band .eyebrow{color:#d7f2e3}.faq-wrap{max-width:850px}.faq-wrap.wide{max-width:980px}.faq-list{display:grid;gap:12px}.faq-item{border:1px solid var(--border);border-radius:16px;background:#fff;overflow:hidden}.faq-item button{width:100%;padding:20px 22px;display:flex;align-items:center;justify-content:space-between;gap:16px;border:0;background:#fff;text-align:left;font-weight:800;color:var(--text)}.faq-item button small{display:block;color:var(--accent-dark);font-size:.64rem;text-transform:uppercase;letter-spacing:.12em;margin-bottom:4px}.faq-item button b,.faq-item button>span:last-child{font-size:1.4rem;color:var(--accent-dark)}.faq-answer{display:grid;grid-template-rows:0fr;transition:.2s}.faq-answer>p{overflow:hidden;margin:0;padding:0 22px;color:var(--muted)}.faq-item.open .faq-answer{grid-template-rows:1fr}.faq-item.open .faq-answer>p{padding:0 22px 20px}.center{text-align:center;margin-top:26px}.final-cta{padding:72px 0;background:#0d222d;color:#fff}.final-cta .container{display:flex;justify-content:space-between;gap:40px;align-items:center}.final-cta h2{font-size:clamp(2rem,4vw,3.4rem);margin-bottom:10px}.final-cta p{color:#c6d5da;margin:0;max-width:650px}.final-cta .eyebrow{color:#7bd0a3}.final-cta .btn-secondary{background:transparent;border-color:#47616d;color:#fff}.page-hero{padding:72px 0;background:linear-gradient(180deg,#f5f8f6,#fff)}.page-hero h1{font-size:clamp(2.7rem,5vw,5rem)}.image-card{margin:0}.feature-list{padding:0;margin:22px 0;list-style:none;display:grid;gap:10px}.feature-list li{position:relative;padding-left:28px;color:#3f5059}.feature-list li:before{content:"✓";position:absolute;left:0;color:var(--accent-dark);font-weight:900}.estimate-card,.aside-card{padding:32px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm)}.estimate-card .phone-link{display:block;text-align:center;margin-top:14px;color:var(--muted);font-weight:700}.cards .service-icon{float:none;margin-bottom:16px}.stat-panel{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.stat-panel div{padding:25px;border-bottom:1px solid var(--border);border-right:1px solid var(--border)}.stat-panel strong{display:block;font-size:1.08rem;color:var(--primary)}.stat-panel span{color:var(--muted);font-size:.9rem}.compact-steps li{padding:16px}.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.category-card{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:#fff}.category-card img{width:100%;aspect-ratio:1.55/1;object-fit:cover}.category-card div{padding:26px}.category-card h3{font-size:1.65rem}.filter-bar{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:30px}.filter-btn{border:1px solid var(--border);background:#fff;border-radius:999px;padding:9px 14px;font-weight:800;font-size:.82rem;color:#43545e}.filter-btn.active,.filter-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.gallery-item{margin:0;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);background:#fff}.gallery-item.hidden{display:none}.gallery-item img{width:100%;aspect-ratio:1.35/1;object-fit:cover}.gallery-item figcaption{padding:18px 20px}.gallery-item strong,.gallery-item span{display:block}.gallery-item span{color:var(--muted);font-size:.82rem;margin-top:5px}.placeholder-note{margin-top:26px;padding:16px 18px;border-left:3px solid var(--accent);background:var(--surface);font-size:.9rem}.form-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:start}.lead-form{padding:38px;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);background:#fff}.form-head h2{font-size:2.4rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:26px 0}.form-grid label{font-size:.8rem;font-weight:800;color:#354750}.form-grid .full{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea{width:100%;margin-top:6px;padding:13px 14px;border:1px solid #cfd9d4;border-radius:11px;background:#fff;color:var(--text);outline:none}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--accent-dark);box-shadow:0 0 0 3px rgba(73,169,120,.14)}.consent-placeholder{font-size:.71rem;line-height:1.45;margin:13px 0 0;color:#7c878d}.honeypot{position:absolute!important;left:-9999px!important}.form-layout aside{display:grid;gap:20px}.aside-card ol{list-style:none;padding:0;margin:20px 0 0;display:grid;gap:14px}.aside-card li{display:flex;gap:12px;align-items:center}.aside-card li b{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:var(--primary);color:#fff;font-size:.8rem}.big-phone{font-size:1.55rem;font-weight:900;color:var(--accent-dark)}.map-placeholder{min-height:300px;border-radius:var(--radius);background:repeating-linear-gradient(45deg,#eef3f0,#eef3f0 18px,#e7eeea 18px,#e7eeea 36px);display:grid;place-items:center;align-content:center;text-align:center;color:#5f716b}.map-placeholder span{font-weight:900;letter-spacing:.14em}.map-placeholder small{max-width:260px;margin-top:8px}.legal-hero{padding:72px 0;background:var(--surface)}.legal-hero h1{font-size:4rem}.legal-copy{max-width:850px}.legal-copy h2{font-size:1.75rem;margin-top:2.2rem}.legal-notice{padding:20px;border:1px solid #dacfb8;background:#fffaf0;border-radius:12px;color:#594d35}.success-page{padding:110px 0;background:var(--surface);min-height:65vh}.success-card{max-width:680px;margin:auto;text-align:center;background:#fff;border:1px solid var(--border);border-radius:28px;padding:56px;box-shadow:var(--shadow)}.success-icon{display:grid;place-items:center;width:62px;height:62px;border-radius:50%;background:#e5f5eb;color:var(--accent-dark);font-size:1.7rem;font-weight:900;margin:0 auto 24px}.success-card .actions{justify-content:center}.site-footer{padding:72px 0 26px;background:#081a23;color:#eaf1ee}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr .8fr 1.1fr;gap:50px}.footer-brand{min-width:0}.footer-brand small{color:#aabbb5}.site-footer p{color:#9fb0aa;max-width:320px;font-size:.9rem}.site-footer h3{font-family:inherit;font-size:.85rem;text-transform:uppercase;letter-spacing:.12em;color:#7fcda2}.site-footer a,.site-footer span{display:block;color:#c9d4d0;font-size:.86rem;margin:8px 0}.socials{display:flex;gap:8px}.socials a{width:34px;height:34px;border:1px solid #2e4751;border-radius:50%;display:grid;place-items:center}.footer-bottom{border-top:1px solid #213842;margin-top:46px;padding-top:22px;display:flex;justify-content:space-between;gap:20px}.footer-bottom span,.footer-bottom a{display:inline;margin:0;color:#849a93;font-size:.76rem}.mobile-call,.mobile-estimate{display:none}.compact p{margin-bottom:0}
@media(max-width:1040px){.primary-nav{gap:17px}.desktop-cta{display:none}.services-grid{grid-template-columns:repeat(2,1fr)}.gallery-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1.4fr 1fr 1fr}.footer-grid>div:last-child{grid-column:2/4}.brand{min-width:210px}.brand small{display:none}}
@media(max-width:820px){body{padding-bottom:62px}.utility-bar{display:none}.nav-wrap{height:70px}.brand{min-width:0}.nav-toggle{display:block}.primary-nav{position:fixed;top:70px;left:0;right:0;bottom:0;background:#fff;display:none;align-items:stretch;overflow:auto;padding:18px 24px 90px;gap:0}.primary-nav.open{display:block}.primary-nav>a:not(.btn),.nav-dropdown>button{display:block;width:100%;text-align:left;padding:14px 0;border-bottom:1px solid var(--border)}.primary-nav>a:not(.btn)::after,.nav-dropdown>button::after{display:none}.mega-menu{position:static;width:auto;box-shadow:none;border:0;border-radius:0;padding:8px 0 14px 16px;display:none;grid-template-columns:1fr;gap:12px;opacity:1;visibility:visible;transform:none}.nav-dropdown.open .mega-menu{display:grid}.mega-menu span{margin-top:8px}.hero-grid,.split,.form-layout{grid-template-columns:1fr;gap:38px}.home-hero,.page-hero{padding:44px 0 54px}.home-hero h2{font-size:clamp(2.7rem,12vw,4.5rem)}.hero-visual figcaption{position:static;margin-top:-18px;margin-inline:15px;position:relative;display:block}.hero-visual figcaption span{display:block;margin-top:4px}.trust-grid{grid-template-columns:1fr 1fr}.trust-grid>div{border-bottom:1px solid var(--border)}.section{padding:72px 0}.feature-row,.feature-row.reverse{grid-template-columns:1fr}.feature-row.reverse img{order:0}.feature-row img{min-height:240px}.three-grid,.benefit-grid,.testimonial-grid{grid-template-columns:1fr}.project-preview{grid-template-columns:1fr 1fr}.project-preview img:first-child{grid-column:1/-1}.final-cta .container{display:block}.final-cta .actions{margin-top:26px}.category-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:last-child{grid-column:auto}.footer-bottom{display:block}.mobile-call,.mobile-estimate{display:flex;position:fixed;bottom:0;height:56px;z-index:110;align-items:center;justify-content:center;font-weight:900}.mobile-call{left:0;width:38%;background:#fff;border-top:1px solid var(--border);color:var(--primary)}.mobile-estimate{right:0;width:62%;background:var(--accent);color:#082018}.section-head.with-action{display:block}.section-head.with-action .btn{margin-top:15px}}
@media(max-width:560px){.container{width:min(calc(100% - 28px),var(--container))}.brand strong{font-size:.9rem}.brand-mark{width:40px;height:40px}.actions .btn{width:100%}.hero-mini{display:grid;gap:8px}.trust-grid{grid-template-columns:1fr 1fr}.trust-grid>div{display:block;text-align:center;padding:16px 8px}.trust-grid strong,.trust-grid span{display:block}.services-grid,.category-grid,.gallery-grid{grid-template-columns:1fr}.section{padding:60px 0}.split{gap:30px}.check-grid{grid-template-columns:1fr}.feature-row div{padding:28px}.feature-row h3{font-size:2rem}.project-preview{grid-template-columns:1fr}.project-preview img,.project-preview img:first-child{grid-column:auto;height:250px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.lead-form{padding:24px}.form-head h2{font-size:2rem}.legal-hero h1{font-size:3rem}.success-card{padding:34px 22px}.footer-grid{grid-template-columns:1fr;gap:30px}.footer-grid>div:last-child{grid-column:auto}.final-cta{padding:58px 0}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Shared PHP navigation: Services remains underlined on service pages. */
.nav-dropdown.active>button::after{transform:scaleX(1)}
.nav-dropdown.active>button{color:var(--accent-dark)}

/* =========================================================
   FOOTER BRAND BADGE — exact centering
   Dedicated inner element avoids generic .site-footer span rules.
   ========================================================= */
.site-footer .footer-brand{
  display:flex;
  align-items:center;
  gap:12px;
}
.site-footer .footer-brand .brand-mark{
  width:46px !important;
  height:46px !important;
  min-width:46px !important;
  flex:0 0 46px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
  margin:0 !important;
  line-height:1 !important;
  text-align:center !important;
  overflow:hidden;
}
.site-footer .footer-brand .brand-mark-text{
  display:block !important;
  width:auto !important;
  height:auto !important;
  padding:0 !important;
  margin:0 !important;
  color:#fff !important;
  font-size:.82rem !important;
  font-weight:900 !important;
  line-height:1 !important;
  letter-spacing:-.04em !important;
  text-align:center !important;
}
.site-footer .footer-brand>span:last-child{
  display:block;
  margin:0;
}
.site-footer .footer-brand strong{display:block;margin:0}
.site-footer .footer-brand small{display:block;margin-top:3px}
.site-footer .footer-grid>div:last-child b{font-weight:700;color:#eaf1ee}

/* =========================================================
   TESTIMONIAL CARDS
   Natural sample copy with a polished finished-card treatment.
   Replace sample text with verified customer reviews before launch.
   ========================================================= */
.testimonials-section{background:#fff}
.testimonial-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}
.testimonial-card{
  position:relative;
  margin:0;
  padding:34px 30px 30px;
  border:1px solid var(--border);
  border-radius:22px;
  background:#fff;
  box-shadow:0 10px 30px rgba(13,36,48,.06);
  overflow:hidden;
}
.testimonial-card::after{
  content:"";
  position:absolute;
  inset:auto -45px -60px auto;
  width:130px;
  height:130px;
  border-radius:50%;
  background:rgba(73,169,120,.07);
  pointer-events:none;
}
.testimonial-quote{
  display:block;
  margin:0 0 8px !important;
  color:var(--accent) !important;
  font-family:Georgia,"Times New Roman",serif;
  font-size:3.6rem !important;
  font-weight:700;
  line-height:.75 !important;
}
.testimonial-card>p{
  position:relative;
  z-index:1;
  margin:0 0 26px;
  color:#34464f;
  font-size:1rem;
  line-height:1.75;
}
.testimonial-card footer{
  position:relative;
  z-index:1;
  padding-top:18px;
  border-top:1px solid var(--border);
}
.testimonial-card footer strong{
  display:block;
  color:var(--primary);
  font-size:.9rem;
  line-height:1.35;
}
.testimonial-card footer span{
  display:block;
  margin:4px 0 0;
  color:var(--muted);
  font-size:.76rem;
  line-height:1.4;
}

/* =========================================================
   HERO TEXT CLARITY
   ========================================================= */
.home-hero{position:relative;isolation:isolate}
.home-hero .hero-grid{position:relative;z-index:2}
.home-hero .hero-copy{
  position:relative;
  z-index:3;
  opacity:1 !important;
  filter:none !important;
  -webkit-filter:none !important;
  mix-blend-mode:normal !important;
  color:var(--text) !important;
}
.home-hero .hero-copy h2{
  color:#142027 !important;
  opacity:1 !important;
  filter:none !important;
  -webkit-filter:none !important;
  text-shadow:none !important;
}
.home-hero .hero-copy h2 em{
  color:#2f8159 !important;
  opacity:1 !important;
  text-shadow:none !important;
}
.home-hero .hero-copy>p{color:#5d6c74 !important;opacity:1 !important;filter:none !important;text-shadow:none !important}
.home-hero .hero-copy .eyebrow{color:#2f8159 !important;opacity:1 !important;filter:none !important}
.home-hero .hero-mini{color:#50616b !important;opacity:1 !important;filter:none !important}
.home-hero .hero-mini span{opacity:1 !important}
.home-hero .hero-visual{position:relative;z-index:2}

@media(max-width:820px){
  .testimonial-grid{grid-template-columns:1fr}
}


/* =========================================================
   TESTIMONIALS — stars + homeowner photo treatment
   ========================================================= */
.testimonial-card{
  display:flex;
  flex-direction:column;
  min-height:100%;
  padding:30px;
}
.testimonial-rating{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:20px;
}
.testimonial-rating span{
  display:block;
  margin:0 !important;
  color:#f2b01e !important;
  font-size:1.05rem !important;
  line-height:1 !important;
  letter-spacing:.12em;
}
.testimonial-rating b{
  color:var(--primary);
  font-size:.78rem;
  line-height:1;
}
.testimonial-card .testimonial-quote{
  position:absolute;
  top:72px;
  right:26px;
  margin:0 !important;
  color:rgba(73,169,120,.16) !important;
  font-size:5.6rem !important;
  line-height:1 !important;
  pointer-events:none;
}
.testimonial-card>p{
  flex:1;
  margin-bottom:28px;
}
.testimonial-card .testimonial-author{
  display:flex;
  align-items:center;
  gap:14px;
  padding-top:20px;
  border-top:1px solid var(--border);
}
.testimonial-author img{
  width:58px;
  height:58px;
  min-width:58px;
  border-radius:50%;
  object-fit:cover;
  border:3px solid #fff;
  box-shadow:0 0 0 1px var(--border),0 7px 18px rgba(13,36,48,.12);
}
.testimonial-author>div{
  min-width:0;
}
.testimonial-card .testimonial-author strong{
  display:block;
  margin:0;
  color:var(--primary);
  font-size:.95rem;
  line-height:1.3;
}
.testimonial-card .testimonial-author span{
  display:block;
  margin:3px 0 0;
  color:#52636c;
  font-size:.76rem;
  line-height:1.35;
}
.testimonial-card .testimonial-author small{
  display:block;
  margin-top:5px;
  color:#8a969c;
  font-size:.66rem;
  line-height:1.3;
}
@media(max-width:560px){
  .testimonial-card{padding:26px 22px}
  .testimonial-card .testimonial-quote{right:20px;top:70px;font-size:4.8rem !important}
}


/* =========================================================
   PRODUCTION HOMEOWNER EXPERIENCE CARDS
   ========================================================= */
.experience-grid{align-items:stretch}
.experience-card{
  position:relative;
  text-align:center;
  align-items:center;
  overflow:visible;
  padding:34px 30px 30px;
}
.testimonial-card .testimonial-photo{
  display:block;
  width:88px !important;
  height:88px !important;
  min-width:88px;
  aspect-ratio:1/1;
  margin:0 auto 18px !important;
  border-radius:50% !important;
  object-fit:cover !important;
  object-position:center;
  border:4px solid #fff;
  box-shadow:0 0 0 1px var(--border),0 10px 24px rgba(13,36,48,.14);
}
.experience-icon{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:50%;
  margin:-32px auto 16px;
  position:relative;
  z-index:2;
  background:var(--accent);
  color:#082018;
  border:3px solid #fff;
  font-size:.9rem;
  font-weight:900;
}
.experience-card h3{font-size:1.35rem;margin-bottom:12px}
.experience-card>p{margin:0 auto 20px;max-width:31ch;color:var(--muted)}
.experience-label{
  display:inline-block !important;
  margin:auto 0 0 !important;
  padding-top:18px;
  border-top:1px solid var(--border);
  width:100%;
  color:var(--accent-dark) !important;
  font-size:.76rem !important;
  font-weight:800;
  letter-spacing:.01em;
}


/* =========================================================
   CONTACT PAGE — production contact details + map
   ========================================================= */
.contact-overview-section{padding-bottom:48px}
.contact-info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.contact-info-card{min-height:185px;padding:26px;border:1px solid var(--border);border-radius:18px;background:#fff;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;align-items:flex-start;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.contact-info-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#b8d7c7}
.contact-info-label{font-size:.74rem;font-weight:900;text-transform:uppercase;letter-spacing:.13em;color:var(--accent-dark);margin-bottom:16px}
.contact-info-card strong{display:block;font-size:1.12rem;line-height:1.35;color:var(--primary);overflow-wrap:anywhere}
.contact-info-card small{display:block;margin-top:auto;padding-top:14px;color:var(--muted);font-size:.82rem;line-height:1.5}
.contact-info-card.accent-card{background:linear-gradient(135deg,#143341,#205e4b);border-color:transparent}
.contact-info-card.accent-card .contact-info-label{color:#8ee1b1}
.contact-info-card.accent-card strong{color:#fff}
.contact-info-card.accent-card small{color:#cfe2d9}
.contact-map-layout{display:grid;grid-template-columns:1.35fr .65fr;gap:28px;align-items:stretch}
.contact-map-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm)}
.contact-map-card iframe{display:block;width:100%;height:390px;border:0;background:#e9efec}
.contact-map-footer{padding:24px 26px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.contact-map-footer .eyebrow{margin-bottom:7px}
.contact-map-footer h3{font-family:inherit;font-size:1.05rem;margin:0 0 3px;letter-spacing:0}
.contact-map-footer p{margin:0;font-size:.9rem}
.contact-prep-card{padding:34px;border-radius:var(--radius);background:#0d222d;color:#fff;box-shadow:var(--shadow-sm)}
.contact-prep-card h2{font-size:clamp(2rem,3vw,2.8rem);margin-bottom:14px}
.contact-prep-card>p{color:#bfd0d5}
.contact-prep-card .eyebrow{color:#7bd0a3}
.contact-prep-card .feature-list li{color:#e4eeea}
.contact-prep-card .feature-list li:before{color:#7bd0a3}
.contact-note{margin-top:24px!important;padding-top:18px;border-top:1px solid #29434d;font-size:.82rem!important;line-height:1.55}
.footer-address{line-height:1.55;max-width:240px}

@media(max-width:1040px){
  .contact-info-grid{grid-template-columns:repeat(2,1fr)}
  .contact-map-layout{grid-template-columns:1fr}
}
@media(max-width:640px){
  .contact-info-grid{grid-template-columns:1fr}
  .contact-info-card{min-height:0}
  .contact-info-card small{margin-top:8px;padding-top:0}
  .contact-map-card iframe{height:300px}
  .contact-map-footer{display:block}
  .contact-map-footer .btn{margin-top:18px;width:100%}
  .contact-prep-card{padding:26px}
}

/* =========================================================
   ARCANE SECURE — PRODUCTION BACKGROUND ENHANCEMENT
   Background-only visual improvement. No layout/content changes.
   Subtle home-improvement / blueprint-inspired texture and ambient
   energy-green/navy glows reduce large flat-white areas.
   ========================================================= */

/* Overall page canvas: softer than pure white */
body{
  background-color:#f8fbf9;
  background-image:
    radial-gradient(circle at 8% 12%,rgba(73,169,120,.045),transparent 24%),
    radial-gradient(circle at 92% 34%,rgba(16,38,51,.03),transparent 25%);
  background-attachment:fixed;
}

/* Homepage hero: subtle ambient depth behind existing content */
.home-hero{
  background-color:#f7faf8;
  background-image:
    radial-gradient(circle at 12% 18%,rgba(73,169,120,.11),transparent 27%),
    radial-gradient(circle at 88% 74%,rgba(16,38,51,.07),transparent 31%),
    linear-gradient(180deg,#f7faf8 0%,#fbfdfc 52%,#f4f8f6 100%);
}

/* Trust strip: very light glass-like transition instead of flat white */
.trust-strip{
  background-color:#f9fcfa;
  background-image:linear-gradient(90deg,rgba(73,169,120,.045),rgba(255,255,255,.82) 35%,rgba(16,38,51,.035));
}

/* Standard light sections: subtle blueprint/grid texture */
main > .section:not(.soft):not(.dark):not(.process-section):not(.testimonials-section){
  background-color:#fbfdfc;
  background-image:
    radial-gradient(circle at 10% 16%,rgba(73,169,120,.055),transparent 25%),
    radial-gradient(circle at 88% 82%,rgba(16,38,51,.035),transparent 27%),
    linear-gradient(rgba(16,38,51,.013) 1px,transparent 1px),
    linear-gradient(90deg,rgba(16,38,51,.013) 1px,transparent 1px);
  background-size:auto,auto,64px 64px,64px 64px;
}

/* Alternate default sections slightly so the page does not feel repetitive */
main > .section:not(.soft):not(.dark):not(.process-section):not(.testimonials-section):nth-of-type(even){
  background-color:#f8fbfa;
  background-image:
    radial-gradient(circle at 82% 14%,rgba(73,169,120,.065),transparent 26%),
    radial-gradient(circle at 15% 86%,rgba(16,38,51,.035),transparent 25%),
    linear-gradient(rgba(73,169,120,.012) 1px,transparent 1px),
    linear-gradient(90deg,rgba(73,169,120,.012) 1px,transparent 1px);
  background-size:auto,auto,72px 72px,72px 72px;
}

/* Existing soft sections: richer warm/green neutral background */
.section.soft{
  background-color:#f2f7f4;
  background-image:
    radial-gradient(circle at 14% 20%,rgba(73,169,120,.08),transparent 28%),
    radial-gradient(circle at 92% 76%,rgba(16,38,51,.04),transparent 30%),
    linear-gradient(135deg,rgba(255,255,255,.48),rgba(242,247,244,.75));
}

/* How-it-works: subtle technical / planning feel */
.process-section{
  background-color:#f5f9f7;
  background-image:
    radial-gradient(circle at 85% 18%,rgba(73,169,120,.08),transparent 28%),
    linear-gradient(rgba(16,38,51,.016) 1px,transparent 1px),
    linear-gradient(90deg,rgba(16,38,51,.016) 1px,transparent 1px),
    linear-gradient(120deg,#f4f8f6,#fbfdfc);
  background-size:auto,56px 56px,56px 56px,auto;
}

/* Homeowner-experience / testimonial section */
.testimonials-section{
  background-color:#f8fbf9;
  background-image:
    radial-gradient(circle at 18% 22%,rgba(73,169,120,.075),transparent 25%),
    radial-gradient(circle at 82% 78%,rgba(16,38,51,.04),transparent 26%),
    linear-gradient(180deg,#fbfdfc,#f5f9f7);
}

/* Inner informational pages */
.page-hero,
.legal-hero,
.success-page{
  background-color:#f5f9f7;
  background-image:
    radial-gradient(circle at 12% 28%,rgba(73,169,120,.08),transparent 27%),
    radial-gradient(circle at 90% 68%,rgba(16,38,51,.045),transparent 29%),
    linear-gradient(180deg,#f8fbf9,#f2f7f4);
}

/* Contact page surroundings: keep cards intact, enrich only canvas */
.contact-page,
.contact-section{
  background-color:#f8fbf9;
  background-image:
    radial-gradient(circle at 8% 18%,rgba(73,169,120,.07),transparent 26%),
    radial-gradient(circle at 92% 82%,rgba(16,38,51,.04),transparent 26%);
}

/* Ensure intentionally dark production sections remain exactly dark */
.section.dark,
.final-cta,
.site-footer{
  background-image:none;
}

/* On small screens, keep textures especially subtle */
@media(max-width:820px){
  body{background-attachment:scroll}
  main > .section:not(.soft):not(.dark):not(.process-section):not(.testimonials-section){
    background-size:auto,auto,80px 80px,80px 80px;
  }
}


/* =========================================================
   ARCANE SECURE LOGO + IMAGE LIGHTBOX
   ========================================================= */
.brand-logo-link{min-width:220px;display:flex;align-items:center}
.brand-logo{display:block;width:205px;max-height:60px;object-fit:contain;object-position:left center}
.footer-logo-link{min-width:0;display:inline-flex;align-items:center;margin-bottom:14px;padding:9px 12px;background:rgba(255,255,255,.96);border-radius:14px}
.footer-logo{display:block;width:250px;max-width:100%;height:auto;object-fit:contain;object-position:left center}

/* Images that can be enlarged */
.hero-visual img,.image-card img,.service-image img,.feature-row img,.photo-tile img,.project-preview img,.category-card img,.gallery-item img{cursor:zoom-in}

.image-lightbox{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:32px;background:rgba(4,17,24,.92);backdrop-filter:blur(10px);opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease}
.image-lightbox.open{opacity:1;visibility:visible}
.image-lightbox-dialog{position:relative;width:min(1180px,94vw);max-height:90vh;display:flex;flex-direction:column;align-items:center}
.image-lightbox-image{display:block;max-width:100%;max-height:82vh;width:auto;height:auto;object-fit:contain;border-radius:18px;box-shadow:0 30px 90px rgba(0,0,0,.42);background:#fff}
.image-lightbox-caption{margin-top:12px;color:#d9e6e0;text-align:center;font-size:.9rem;max-width:820px}
.image-lightbox-close{position:absolute;right:-8px;top:-52px;width:42px;height:42px;border:1px solid rgba(255,255,255,.32);border-radius:50%;background:rgba(9,28,37,.75);color:#fff;font-size:1.8rem;line-height:1;display:grid;place-items:center;transition:.18s}
.image-lightbox-close:hover,.image-lightbox-close:focus-visible{background:var(--accent);color:#082018;border-color:var(--accent)}
body.lightbox-open{overflow:hidden}

@media(max-width:820px){
  .brand-logo-link{min-width:0}
  .brand-logo{width:155px;max-height:48px}
  .footer-logo{width:220px}
  .image-lightbox{padding:18px}
  .image-lightbox-image{max-height:76vh;border-radius:12px}
  .image-lightbox-close{right:0;top:-48px}
}


/* =========================================================
   ARCANE SECURE — HEADER / FOOTER LOGO SIZE FIX
   Keeps the full production logo compact inside navigation.
   ========================================================= */
.site-header .nav-wrap{
  min-height:82px;
}

.site-header .brand-logo-link{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  flex:0 0 260px !important;
  width:260px !important;
  min-width:260px !important;
  max-width:260px !important;
  height:72px !important;
  overflow:hidden !important;
}

.site-header .brand-logo{
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  object-position:left center !important;
  margin:0 !important;
  padding:0 !important;
}

.site-footer .footer-logo-link{
  width:220px !important;
  max-width:100% !important;
  height:74px !important;
  padding:6px 9px !important;
  overflow:hidden !important;
}

.site-footer .footer-logo{
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  object-position:left center !important;
  margin:0 !important;
}

@media (max-width:1040px){
  .site-header .brand-logo-link{
    flex-basis:215px !important;
    width:215px !important;
    min-width:215px !important;
    max-width:215px !important;
    height:62px !important;
  }
}

@media (max-width:820px){
  .site-header .brand-logo-link{
    flex-basis:190px !important;
    width:190px !important;
    min-width:190px !important;
    max-width:190px !important;
    height:56px !important;
  }
}

@media (max-width:420px){
  .site-header .brand-logo-link{
    flex-basis:165px !important;
    width:165px !important;
    min-width:165px !important;
    max-width:165px !important;
    height:50px !important;
  }
}


/* ===== PAGE HERO HEADING SIZE UPDATE =====
   About / Services / Projects / Contact hero titles now use H2.
   Keeps the same layout while reducing oversized hero typography. */
.page-hero h2 {
  font-size: clamp(2.15rem, 4vw, 3.65rem);
  line-height: 1.08;
  margin: 0 0 .7em;
}

@media (max-width: 820px) {
  .page-hero h2 {
    font-size: clamp(2rem, 9vw, 3.15rem);
  }
}


/* ===== SERVICE DETAIL HERO TYPOGRAPHY =====
   Individual service pages use a slightly smaller hero title than
   general page heroes so longer service headlines stay balanced. */
.service-detail-hero h2 {
  font-size: clamp(2rem, 3.35vw, 3.2rem);
  line-height: 1.08;
  max-width: 760px;
  margin: 0 0 .65em;
  text-wrap: balance;
}

@media (max-width: 820px) {
  .service-detail-hero h2 {
    font-size: clamp(1.9rem, 7.8vw, 2.7rem);
    line-height: 1.1;
  }
}

@media (max-width: 480px) {
  .service-detail-hero h2 {
    font-size: clamp(1.8rem, 8.2vw, 2.35rem);
  }
}

/* Contact database capture + addition CAPTCHA */
.captcha-row {
  display: grid;
  gap: .55rem;
  padding: 1rem 1.1rem;
  border: 1px solid rgba(16, 38, 51, .14);
  border-radius: 14px;
  background: rgba(247, 251, 249, .9);
}
.captcha-row label { font-weight: 700; color: var(--primary, #102633); }
.captcha-question {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 92px;
  margin-left: .45rem;
  padding: .36rem .65rem;
  border-radius: 999px;
  background: rgba(64, 173, 116, .12);
  color: var(--accent-dark, #217a50);
  letter-spacing: .03em;
}
.captcha-row input {
  width: min(180px, 100%);
  font-weight: 700;
  font-size: 1.05rem;
}
.captcha-row small { color: var(--muted, #63727a); }
.form-save-status {
  min-height: 1.45rem;
  margin-top: .75rem;
  font-size: .9rem;
  line-height: 1.45;
  color: var(--muted, #63727a);
}
.form-save-status.is-saving { color: #52636b; }
.form-save-status.is-saved { color: #287a53; }
.form-save-status.is-success { color: #17663f; font-weight: 700; }
.form-save-status.is-warning { color: #8a6413; }
.form-save-status.is-error { color: #a52828; font-weight: 600; }
.lead-form button[aria-busy="true"] { opacity: .72; cursor: wait; }

/* ===== CONTACT FIELD-LEVEL VALIDATION ===== */
.lead-form .field-error {
  display: block;
  min-height: 0;
  margin-top: .38rem;
  color: #b42318 !important;
  font-size: .82rem;
  font-weight: 650;
  line-height: 1.35;
}
.lead-form .field-error:empty { display: none; }
.lead-form input[aria-invalid="true"],
.lead-form select[aria-invalid="true"],
.lead-form textarea[aria-invalid="true"] {
  border-color: #d92d20 !important;
  box-shadow: 0 0 0 3px rgba(217,45,32,.10) !important;
  background-color: #fffafa;
}
.lead-form input[aria-invalid="true"]:focus,
.lead-form select[aria-invalid="true"]:focus,
.lead-form textarea[aria-invalid="true"]:focus {
  outline: none;
  border-color: #b42318 !important;
  box-shadow: 0 0 0 4px rgba(217,45,32,.12) !important;
}
.lead-form label.has-field-error,
.lead-form .captcha-row.has-field-error > label {
  color: #7a271a;
}
/* The status area is reserved only for final success or non-field server errors. */
.lead-form [data-form-status]:empty { display: none; }

/* =========================================================
   Lead submission success popup
   ========================================================= */
body.lead-success-open { overflow: hidden; }
.lead-success-popup {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
}
.lead-success-popup.is-open { display: flex; }
.lead-success-popup__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(6, 25, 34, .72);
  backdrop-filter: blur(5px);
}
.lead-success-popup__dialog {
  position: relative;
  z-index: 1;
  width: min(100%, 520px);
  padding: 42px 38px 36px;
  border-radius: 24px;
  background: #fff;
  border: 1px solid rgba(16, 38, 51, .12);
  box-shadow: 0 28px 80px rgba(6, 25, 34, .28);
  text-align: center;
  animation: arcaneLeadPopupIn .2s ease-out;
}
.lead-success-popup__icon {
  width: 68px;
  height: 68px;
  margin: 0 auto 20px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #e6f6ed;
  color: #1d8a55;
  font-size: 2rem;
  font-weight: 900;
}
.lead-success-popup__dialog h2 {
  margin: 0 0 12px;
  font-size: clamp(2rem, 5vw, 2.8rem);
  color: #102633;
}
.lead-success-popup__dialog p {
  margin: 0 auto 26px;
  max-width: 410px;
  color: #5d6c73;
  font-size: 1rem;
  line-height: 1.65;
}
.lead-success-popup__close {
  position: absolute;
  top: 14px;
  right: 16px;
  width: 38px;
  height: 38px;
  border: 0;
  border-radius: 50%;
  background: #f0f4f2;
  color: #102633;
  font-size: 1.6rem;
  line-height: 1;
}
.lead-success-popup__close:hover { background: #e4ece8; }
@keyframes arcaneLeadPopupIn {
  from { opacity: 0; transform: translateY(10px) scale(.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
@media (max-width: 560px) {
  .lead-success-popup { padding: 16px; }
  .lead-success-popup__dialog { padding: 36px 22px 28px; border-radius: 20px; }
}

/* Native lead success dialog safety */
.lead-success-dialog[open] { display: block; }
