@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Plus+Jakarta+Sans:wght@600;700;800&display=swap');
:root{--silver:#D9DDE1;--aloe:#73F7A6;--amber:#FFB84D;--carbon:#182126;--muted:rgba(24,33,38,.68);--glass:rgba(255,255,255,.44);--line:rgba(24,33,38,.09);--shadow:0 22px 60px rgba(24,33,38,.11)}
body.sf-site-page{margin:0;color:var(--carbon);font-family:'DM Sans',system-ui,sans-serif;-webkit-font-smoothing:antialiased;background:var(--silver);background-image:radial-gradient(circle at 8% 5%,rgba(115,247,166,.32),transparent 24%),radial-gradient(circle at 92% 18%,rgba(255,184,77,.14),transparent 20%),radial-gradient(circle at 50% 72%,rgba(255,255,255,.72),transparent 38%);background-attachment:fixed}
body.sf-site-page *{box-sizing:border-box}body.sf-site-page a{color:inherit;text-decoration:none}body.sf-site-page img{display:block;max-width:100%}body.sf-site-page main{display:block}body.sf-site-page .sf-wrap{width:min(1180px,calc(100% - 34px));margin:0 auto}
body.sf-site-page .sf-visually-hidden,body.sf-site-page .sf-heading-punct,body.sf-site-page .sf-hide-index{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
body.sf-site-page h1,body.sf-site-page h2,body.sf-site-page h3,body.sf-site-page h4{font-family:'Plus Jakarta Sans',sans-serif;color:var(--carbon);margin:0;font-weight:800;text-transform:none;letter-spacing:-.04em}body.sf-site-page h1{font-size:clamp(50px,7vw,90px);line-height:.99;max-width:780px;letter-spacing:-.055em}body.sf-site-page h2{font-size:clamp(34px,4.3vw,54px);line-height:1.02;max-width:860px}body.sf-site-page h3{font-size:21px;line-height:1.08;letter-spacing:-.03em}body.sf-site-page p{margin:0;color:var(--muted);line-height:1.65}body.sf-site-page p.sf-add-period:after{content:'.'}
/* exact approved homepage chrome */
body.sf-site-page .sf-top{position:sticky;top:0;z-index:40;margin:14px auto 0;width:min(1210px,calc(100% - 24px));border-radius:24px;background:rgba(217,221,225,.68);backdrop-filter:blur(28px) saturate(135%);-webkit-backdrop-filter:blur(28px) saturate(135%);box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 14px 38px rgba(24,33,38,.09)}
body.sf-site-page .sf-nav{height:72px;display:flex;align-items:center;gap:24px;justify-content:space-between;padding:0 18px}body.sf-site-page .sf-brand{display:flex;align-items:center;gap:11px;font-family:'Plus Jakarta Sans',sans-serif;font-size:15px;font-weight:800;letter-spacing:-.035em}body.sf-site-page .sf-brand img{width:44px;height:44px;border-radius:16px;box-shadow:0 10px 26px rgba(24,33,38,.13)}body.sf-site-page .sf-links{display:flex;gap:24px;align-items:center;font-size:14px;font-weight:700;color:var(--muted)}body.sf-site-page .sf-links a{position:relative;transition:transform .2s ease,color .2s ease}body.sf-site-page .sf-links a:after{content:'';position:absolute;left:0;right:100%;bottom:-5px;height:2px;border-radius:99px;background:var(--aloe);transition:right .22s ease}body.sf-site-page .sf-links a:hover{color:var(--carbon);transform:translateY(-1px)}body.sf-site-page .sf-links a:hover:after,body.sf-site-page .sf-links a[aria-current=page]:after{right:0}body.sf-site-page .sf-call{padding:12px 18px;border-radius:16px;background:var(--carbon);color:#fff!important;font-weight:800;box-shadow:0 12px 30px rgba(24,33,38,.18);transition:transform .22s ease,box-shadow .22s ease}body.sf-site-page .sf-call:hover{transform:translateY(-3px);box-shadow:0 18px 38px rgba(24,33,38,.24)}
/* hero */
body.sf-site-page .sf-page-hero{padding:40px 0 50px;border:0;background:transparent;overflow:visible}body.sf-site-page .sf-page-hero-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:48px;align-items:center}body.sf-site-page .sf-page-hero-grid.sf-no-photo{grid-template-columns:1fr}body.sf-site-page .sf-page-hero-copy>p{font-size:20px;max-width:680px;margin-top:24px}body.sf-site-page .sf-page-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}body.sf-site-page .sf-page-actions>a{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 21px;border-radius:17px;background:rgba(255,255,255,.46);font-weight:800;font-size:14px;box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 13px 32px rgba(24,33,38,.08);transition:transform .22s ease,box-shadow .22s ease}body.sf-site-page .sf-page-actions>a:first-child{background:var(--aloe);box-shadow:0 16px 36px rgba(66,170,106,.22)}body.sf-site-page .sf-page-actions>a:hover{transform:translateY(-4px)}body.sf-site-page .sf-page-related{display:flex;flex-wrap:wrap;gap:8px 20px;list-style:none;padding:0;margin:24px 0 0;color:var(--muted);font-size:13px;font-weight:700}body.sf-site-page .sf-page-related a{border-bottom:1px solid rgba(24,33,38,.20);padding-bottom:2px}body.sf-site-page .sf-page-hero-photo{margin:0;padding:8px;border-radius:36px;background:rgba(255,255,255,.40);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),var(--shadow);overflow:hidden;transform:rotate(.55deg)}body.sf-site-page .sf-page-hero-photo img{width:100%;height:500px;object-fit:cover;border-radius:29px}body.sf-site-page .sf-page-hero-grid.sf-no-photo .sf-page-hero-copy{position:relative;padding:28px 0 20px}body.sf-site-page .sf-page-hero-grid.sf-no-photo .sf-page-hero-copy:after{content:'';position:absolute;width:180px;height:180px;border-radius:50%;right:5%;top:0;background:rgba(115,247,166,.34);filter:blur(1px);z-index:-1}body.sf-site-page .sf-page-hero-grid.sf-no-photo .sf-page-hero-copy:before{content:'';position:absolute;width:90px;height:90px;border-radius:26px;right:20%;bottom:0;background:rgba(255,184,77,.30);transform:rotate(16deg);z-index:-1}
/* sections */
body.sf-site-page .sf-page-section{padding:72px 0;border:0;background:transparent}body.sf-site-page .sf-page-section:nth-of-type(even){background:rgba(255,255,255,.10)}body.sf-site-page .sf-page-section .max-w-3xl,body.sf-site-page .sf-page-section .mx-auto{max-width:820px!important;margin-left:0!important;margin-right:0!important;text-align:left!important}body.sf-site-page .sf-page-section h2+p,body.sf-site-page .sf-page-section .sf-visually-hidden+h2+p{font-size:17px;margin-top:14px;max-width:760px}body.sf-site-page .sf-page-section [class*='mt-10'],body.sf-site-page .sf-page-section [class*='mt-8']{margin-top:30px!important}
body.sf-site-page .sf-card-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important}body.sf-site-page .sf-page-card{position:relative!important;overflow:hidden!important;padding:24px!important;border:0!important;border-radius:26px!important;background:rgba(255,255,255,.42)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.86),0 14px 38px rgba(24,33,38,.08)!important;transition:transform .22s ease,box-shadow .22s ease!important}body.sf-site-page .sf-page-card:after{content:'';position:absolute;width:96px;height:96px;right:-44px;top:-44px;border-radius:50%;background:rgba(115,247,166,.20)}body.sf-site-page .sf-page-card:nth-child(even):after{background:rgba(255,184,77,.18)}body.sf-site-page .sf-page-card:hover{transform:translateY(-5px)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.94),0 22px 50px rgba(24,33,38,.12)!important}body.sf-site-page .sf-page-card h3,body.sf-site-page .sf-page-card p{position:relative;z-index:1}body.sf-site-page .sf-page-card p{font-size:14px;margin-top:10px!important}body.sf-site-page .sf-page-card a{font-weight:800}
/* process is the only place numbers remain visible */
body.sf-site-page .sf-process-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px!important;list-style:none!important;padding:0!important;margin:30px 0 0!important}body.sf-site-page .sf-process-grid .sf-page-step{padding:25px!important;border:0!important;border-radius:26px!important;background:rgba(255,255,255,.42)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.86),0 14px 38px rgba(24,33,38,.08)!important}body.sf-site-page .sf-step-number{display:grid!important;width:56px!important;height:56px!important;place-items:center!important;border-radius:17px!important;background:rgba(115,247,166,.62)!important;color:var(--carbon)!important;opacity:1!important;font-family:'Plus Jakarta Sans',sans-serif!important;font-size:18px!important;font-weight:800!important;margin-bottom:22px!important}body.sf-site-page .sf-page-step:nth-child(even) .sf-step-number{background:rgba(255,184,77,.48)!important}body.sf-site-page .sf-page-step p{font-size:14px;margin-top:10px!important}
/* two column content and proof */
body.sf-site-page .sf-split-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:28px!important;align-items:start!important}body.sf-site-page .sf-split-grid>div:last-child{padding:26px!important;border-radius:28px!important;background:rgba(255,255,255,.42)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.86),0 16px 42px rgba(24,33,38,.08)!important}body.sf-site-page .sf-proof-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important}body.sf-site-page .sf-proof-grid article{padding:14px!important;border-radius:28px!important;background:rgba(255,255,255,.42)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.86),0 15px 42px rgba(24,33,38,.09)!important}body.sf-site-page .sf-proof-pair{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}body.sf-site-page .sf-proof-pair figure{position:relative!important;margin:0!important;overflow:hidden!important;border-radius:20px!important}body.sf-site-page .sf-proof-pair img{width:100%!important;height:360px!important;object-fit:cover!important}body.sf-site-page .sf-proof-pair span{position:absolute!important;left:10px!important;top:10px!important;z-index:2!important;padding:7px 10px!important;border-radius:11px!important;background:rgba(24,33,38,.88)!important;color:#fff!important;font-size:10px!important;font-weight:800!important}body.sf-site-page .sf-proof-pair figure:last-child span{background:var(--aloe)!important;color:var(--carbon)!important}
body.sf-site-page .sf-page-panel{padding:25px!important;border:0!important;border-radius:27px!important;background:rgba(255,255,255,.42)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.86),0 14px 38px rgba(24,33,38,.08)!important}body.sf-site-page .sf-inline-panel{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:20px!important;flex-wrap:wrap!important}body.sf-site-page .sf-inline-panel p{margin-top:7px!important}
/* FAQ, lists, form */
body.sf-site-page .sf-faq-grid{display:grid!important;gap:10px!important;margin-top:28px!important}body.sf-site-page .sf-faq-grid details{padding:19px 21px!important;border:0!important;border-radius:21px!important;background:rgba(255,255,255,.40)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.84),0 10px 28px rgba(24,33,38,.06)!important}body.sf-site-page .sf-faq-grid summary{cursor:pointer!important;list-style:none!important;font-family:'Plus Jakarta Sans',sans-serif!important;font-weight:800!important}body.sf-site-page .sf-faq-grid summary::-webkit-details-marker{display:none}body.sf-site-page .sf-faq-grid details p{font-size:14px;margin-top:11px!important}body.sf-site-page .sf-page-section ul:not(.sf-page-related){padding-left:18px;color:var(--muted)}body.sf-site-page .sf-page-section li{line-height:1.55}body.sf-site-page .sf-quote-form{margin-top:28px!important;padding:28px!important;border:0!important;border-radius:30px!important;background:rgba(255,255,255,.48)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 18px 48px rgba(24,33,38,.10)!important}body.sf-site-page .sf-quote-form input,body.sf-site-page .sf-quote-form textarea,body.sf-site-page .sf-quote-form select{background:rgba(255,255,255,.74)!important;color:var(--carbon)!important;border:1px solid rgba(24,33,38,.14)!important;border-radius:14px!important}body.sf-site-page .sf-quote-form button{background:var(--aloe)!important;color:var(--carbon)!important;border:0!important;border-radius:16px!important;font-family:'DM Sans',sans-serif!important;font-weight:800!important}
/* final CTA */
body.sf-site-page .sf-page-final-section{padding:58px 0 74px!important;background:transparent!important}body.sf-site-page .sf-final-card{position:relative!important;overflow:hidden!important;padding:42px!important;border:0!important;border-radius:34px!important;background:rgba(24,33,38,.95)!important;color:#fff!important;text-align:center!important;box-shadow:0 28px 70px rgba(24,33,38,.20)!important}body.sf-site-page .sf-final-card:before{content:'';position:absolute;width:240px;height:240px;border-radius:50%;right:-90px;top:-120px;background:rgba(115,247,166,.18)}body.sf-site-page .sf-final-card h2{color:#fff!important;margin-left:auto!important;margin-right:auto!important}body.sf-site-page .sf-final-card p{color:rgba(255,255,255,.72)!important;max-width:760px!important;margin:15px auto 0!important}body.sf-site-page .sf-final-card .sf-page-actions{justify-content:center!important}body.sf-site-page .sf-final-card .sf-page-actions>a:first-child{background:var(--aloe)!important;color:var(--carbon)!important}body.sf-site-page .sf-final-card .sf-page-actions>a{background:rgba(255,255,255,.12)!important;color:#fff!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.14)!important}
body.sf-site-page .sf-footer{padding:34px 0 50px;color:var(--muted);font-size:14px}body.sf-site-page .sf-footer-row{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
@media(max-width:980px){body.sf-site-page .sf-links{display:none}body.sf-site-page .sf-page-hero-grid{grid-template-columns:1fr}body.sf-site-page .sf-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}body.sf-site-page .sf-process-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}body.sf-site-page .sf-split-grid{grid-template-columns:1fr!important}body.sf-site-page .sf-page-hero-photo{width:min(760px,100%);transform:none}}
@media(max-width:620px){body.sf-site-page{background-attachment:scroll}body.sf-site-page .sf-wrap{width:min(100% - 22px,1180px)}body.sf-site-page .sf-top{margin-top:8px;width:calc(100% - 14px);border-radius:20px}body.sf-site-page .sf-nav{height:66px;padding:0 10px}body.sf-site-page .sf-brand span{font-size:14px}body.sf-site-page .sf-call{padding:10px 12px;font-size:12px}body.sf-site-page .sf-page-hero{padding:25px 0 38px}body.sf-site-page h1{font-size:clamp(46px,13vw,68px)}body.sf-site-page h2{font-size:clamp(31px,10vw,44px)}body.sf-site-page .sf-page-hero-copy>p{font-size:18px}body.sf-site-page .sf-page-actions{display:grid;grid-template-columns:1fr}body.sf-site-page .sf-page-actions>a{width:100%}body.sf-site-page .sf-page-hero-photo{padding:6px;border-radius:28px}body.sf-site-page .sf-page-hero-photo img{height:310px;border-radius:22px}body.sf-site-page .sf-page-section{padding:56px 0}body.sf-site-page .sf-card-grid,body.sf-site-page .sf-process-grid,body.sf-site-page .sf-proof-grid{grid-template-columns:1fr!important}body.sf-site-page .sf-proof-pair img{height:290px!important}body.sf-site-page .sf-final-card{padding:28px!important;border-radius:28px!important}}
@media(prefers-reduced-motion:reduce){body.sf-site-page *{scroll-behavior:auto!important;transition:none!important}}


/* =========================================================
   V1.1 targeted correction: card labels + contact + proof + pricing
   ========================================================= */

/* Remove redundant mini-labels above card titles sitewide.
   Process numbers and before/after badges are structurally separate and stay visible. */
body.sf-site-page .sf-page-card > span.font-display,
body.sf-site-page .sf-contact-card-link > span.font-display{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important
}
body.sf-site-page .sf-page-card > h3,
body.sf-site-page .sf-contact-card-link > h3{margin-top:0!important}

/* Contact service chooser now uses the same real card system instead of raw old links. */
body.sf-contact-v2 .sf-contact-card-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:16px!important;
  margin-top:30px!important
}
body.sf-contact-v2 .sf-contact-card-link{
  position:relative!important;
  display:block!important;
  min-height:172px!important;
  overflow:hidden!important;
  padding:24px!important;
  border:0!important;
  border-radius:26px!important;
  background:rgba(255,255,255,.44)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 14px 38px rgba(24,33,38,.08)!important;
  transition:transform .22s ease,box-shadow .22s ease,background .22s ease!important
}
body.sf-contact-v2 .sf-contact-card-link:after{
  content:'';position:absolute;width:100px;height:100px;right:-46px;top:-46px;
  border-radius:50%;background:rgba(115,247,166,.22)
}
body.sf-contact-v2 .sf-contact-card-link:nth-child(even):after{background:rgba(255,184,77,.20)}
body.sf-contact-v2 .sf-contact-card-link:hover{
  transform:translateY(-6px)!important;
  background:rgba(255,255,255,.58)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.96),0 24px 52px rgba(24,33,38,.12)!important
}
body.sf-contact-v2 .sf-contact-card-link h3,
body.sf-contact-v2 .sf-contact-card-link p{position:relative;z-index:1}
body.sf-contact-v2 .sf-contact-card-link p{font-size:14px;margin-top:10px!important}

/* BEFORE & AFTER: make this a proof page, not an old generic service page. */
body.sf-before-after-v2 .sf-ba-hero-grid{
  grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr)!important;
  gap:44px!important
}
body.sf-before-after-v2 .sf-ba-hero-visual{
  position:relative;
  min-height:510px;
  border-radius:38px;
  background:rgba(255,255,255,.38);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.92),0 24px 64px rgba(24,33,38,.13);
  overflow:hidden
}
body.sf-before-after-v2 .sf-ba-hero-visual figure{
  position:absolute;margin:0;overflow:hidden;border-radius:28px;
  box-shadow:0 18px 44px rgba(24,33,38,.16)
}
body.sf-before-after-v2 .sf-ba-hero-visual figure:first-child{
  left:22px;top:24px;width:57%;height:79%;transform:rotate(-2deg)
}
body.sf-before-after-v2 .sf-ba-hero-visual figure:last-child{
  right:22px;bottom:24px;width:57%;height:79%;transform:rotate(2deg)
}
body.sf-before-after-v2 .sf-ba-hero-visual img{width:100%;height:100%;object-fit:cover}
body.sf-before-after-v2 .sf-ba-hero-divider{
  position:absolute;left:50%;top:9%;bottom:9%;width:3px;transform:translateX(-50%);
  border-radius:99px;background:var(--aloe);box-shadow:0 0 0 7px rgba(115,247,166,.18),0 0 30px rgba(115,247,166,.5)
}
body.sf-before-after-v2 main>section:nth-of-type(2) .sf-card-grid{
  grid-template-columns:repeat(4,minmax(0,1fr))!important
}
body.sf-before-after-v2 main>section:nth-of-type(3){
  width:min(1210px,calc(100% - 24px))!important;
  margin:18px auto!important;
  padding:56px 44px!important;
  border-radius:40px!important;
  background:rgba(24,33,38,.96)!important;
  box-shadow:0 28px 72px rgba(24,33,38,.20)!important
}
body.sf-before-after-v2 main>section:nth-of-type(3) h2{color:#fff!important}
body.sf-before-after-v2 main>section:nth-of-type(3) p{color:rgba(255,255,255,.72)!important}
body.sf-before-after-v2 main>section:nth-of-type(3) .sf-wrap{
  width:100%!important;max-width:none!important
}
body.sf-before-after-v2 main>section:nth-of-type(3) .sf-proof-grid{
  gap:20px!important
}
body.sf-before-after-v2 main>section:nth-of-type(3) .sf-proof-grid article{
  background:rgba(255,255,255,.09)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 18px 46px rgba(0,0,0,.18)!important
}
body.sf-before-after-v2 main>section:nth-of-type(3) .sf-proof-pair img{height:470px!important}
body.sf-before-after-v2 main>section:nth-of-type(3) .sf-page-card>p{color:#fff!important}
body.sf-before-after-v2 main>section:nth-of-type(n+4):nth-of-type(-n+6) .sf-page-card{
  min-height:190px!important
}
body.sf-before-after-v2 .sf-page-final-section{
  border-radius:36px!important;
  background:rgba(255,255,255,.38)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 18px 48px rgba(24,33,38,.10)!important
}

/* PRICING: distinct volume ladder instead of generic old card soup. */
body.sf-pricing-v2 .sf-pricing-hero-grid{
  grid-template-columns:minmax(0,.92fr) minmax(360px,.78fr)!important;
  gap:52px!important
}
body.sf-pricing-v2 .sf-price-hero-visual{
  min-height:480px;
  padding:36px;
  display:flex;
  align-items:flex-end;
  gap:12px;
  border-radius:38px;
  background:rgba(24,33,38,.96);
  box-shadow:0 28px 70px rgba(24,33,38,.19);
  overflow:hidden
}
body.sf-pricing-v2 .sf-price-hero-visual i{
  display:block;flex:1;min-width:0;border-radius:18px 18px 8px 8px;
  background:linear-gradient(180deg,rgba(115,247,166,.98),rgba(115,247,166,.54));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 12px 30px rgba(0,0,0,.15)
}
body.sf-pricing-v2 .sf-price-hero-visual i:nth-child(1){height:14%}
body.sf-pricing-v2 .sf-price-hero-visual i:nth-child(2){height:24%}
body.sf-pricing-v2 .sf-price-hero-visual i:nth-child(3){height:38%}
body.sf-pricing-v2 .sf-price-hero-visual i:nth-child(4){height:54%}
body.sf-pricing-v2 .sf-price-hero-visual i:nth-child(5){height:70%}
body.sf-pricing-v2 .sf-price-hero-visual i:nth-child(6){height:86%;background:linear-gradient(180deg,rgba(255,184,77,.98),rgba(255,184,77,.54))}
body.sf-pricing-v2 .sf-price-hero-visual i:nth-child(7){height:100%;background:linear-gradient(180deg,#fff,rgba(255,255,255,.42))}
body.sf-pricing-v2 main>section:nth-of-type(2) .sf-card-grid{
  grid-template-columns:repeat(7,minmax(0,1fr))!important;
  align-items:end!important;
  gap:10px!important
}
body.sf-pricing-v2 main>section:nth-of-type(2) .sf-page-card{
  min-height:260px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-end!important;
  padding:20px!important
}
body.sf-pricing-v2 main>section:nth-of-type(2) .sf-page-card:before{
  content:'';
  position:absolute;left:18px;right:18px;bottom:18px;
  height:10px;border-radius:99px;background:rgba(115,247,166,.72);
  z-index:0
}
body.sf-pricing-v2 main>section:nth-of-type(2) .sf-page-card:nth-child(1):before{width:18%}
body.sf-pricing-v2 main>section:nth-of-type(2) .sf-page-card:nth-child(2):before{width:28%}
body.sf-pricing-v2 main>section:nth-of-type(2) .sf-page-card:nth-child(3):before{width:40%}
body.sf-pricing-v2 main>section:nth-of-type(2) .sf-page-card:nth-child(4):before{width:54%}
body.sf-pricing-v2 main>section:nth-of-type(2) .sf-page-card:nth-child(5):before{width:68%}
body.sf-pricing-v2 main>section:nth-of-type(2) .sf-page-card:nth-child(6):before{width:82%;background:var(--amber)}
body.sf-pricing-v2 main>section:nth-of-type(2) .sf-page-card:nth-child(7):before{width:calc(100% - 36px);background:var(--carbon)}
body.sf-pricing-v2 main>section:nth-of-type(2) .sf-page-card p{padding-bottom:20px!important}
body.sf-pricing-v2 main>section:nth-of-type(3){
  width:min(1210px,calc(100% - 24px))!important;
  margin:18px auto!important;
  padding:58px 44px!important;
  border-radius:40px!important;
  background:rgba(255,255,255,.32)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.86),0 22px 58px rgba(24,33,38,.10)!important
}
body.sf-pricing-v2 main>section:nth-of-type(4) .sf-card-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important
}
body.sf-pricing-v2 main>section:nth-of-type(4) .sf-page-card{
  min-height:210px!important
}
body.sf-pricing-v2 main>section:nth-of-type(5) .sf-card-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important
}
body.sf-pricing-v2 .sf-page-final-section{
  border-radius:36px!important;
  background:rgba(24,33,38,.96)!important;
  box-shadow:0 28px 70px rgba(24,33,38,.18)!important
}
body.sf-pricing-v2 .sf-page-final-section h2{color:#fff!important}
body.sf-pricing-v2 .sf-page-final-section p{color:rgba(255,255,255,.72)!important}

@media(max-width:1100px){
  body.sf-pricing-v2 main>section:nth-of-type(2) .sf-card-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}
@media(max-width:980px){
  body.sf-contact-v2 .sf-contact-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.sf-before-after-v2 .sf-ba-hero-grid,
  body.sf-pricing-v2 .sf-pricing-hero-grid{grid-template-columns:1fr!important}
  body.sf-before-after-v2 .sf-ba-hero-visual{min-height:440px}
  body.sf-before-after-v2 main>section:nth-of-type(2) .sf-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:700px){
  body.sf-contact-v2 .sf-contact-card-grid,
  body.sf-before-after-v2 main>section:nth-of-type(2) .sf-card-grid,
  body.sf-pricing-v2 main>section:nth-of-type(2) .sf-card-grid{grid-template-columns:1fr!important}
  body.sf-before-after-v2 .sf-ba-hero-visual{min-height:330px}
  body.sf-before-after-v2 main>section:nth-of-type(3),
  body.sf-pricing-v2 main>section:nth-of-type(3){width:calc(100% - 14px)!important;padding:38px 18px!important;border-radius:30px!important}
  body.sf-before-after-v2 main>section:nth-of-type(3) .sf-proof-pair img{height:310px!important}
  body.sf-pricing-v2 .sf-price-hero-visual{min-height:330px;padding:24px;gap:7px;border-radius:30px}
}

/* SF FULL NAV FOOTER V1.2 */
.sf-full-footer{
  margin-top:36px;
  padding:62px 0 34px;
  color:var(--carbon,#182126);
  background:rgba(255,255,255,.24);
  border-top:1px solid rgba(24,33,38,.08);
}
.sf-full-footer .sf-full-footer-grid{
  display:grid;
  grid-template-columns:1.25fr 1fr 1fr .9fr;
  gap:42px;
  align-items:start;
}
.sf-full-footer .sf-footer-brand-block{
  min-width:0;
}
.sf-full-footer .sf-footer-brand{
  display:inline-flex;
  align-items:center;
  gap:11px;
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:15px;
  font-weight:800;
  letter-spacing:-.035em;
  color:var(--carbon,#182126);
}
.sf-full-footer .sf-footer-brand img{
  width:44px;
  height:44px;
  border-radius:15px;
  box-shadow:0 10px 26px rgba(24,33,38,.12);
}
.sf-full-footer .sf-footer-brand-block>p{
  max-width:310px;
  margin:18px 0 0;
  font-size:14px;
  line-height:1.65;
  color:var(--muted,rgba(24,33,38,.68));
}
.sf-full-footer .sf-footer-contact{
  display:grid;
  gap:8px;
  margin-top:20px;
  font-size:14px;
  line-height:1.4;
  color:var(--muted,rgba(24,33,38,.68));
}
.sf-full-footer .sf-footer-contact a{
  width:max-content;
  max-width:100%;
  color:var(--carbon,#182126);
  font-weight:750;
  overflow-wrap:anywhere;
}
.sf-full-footer .sf-footer-nav-group h3{
  margin:0 0 16px;
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:15px;
  line-height:1.15;
  letter-spacing:-.025em;
  color:var(--carbon,#182126);
}
.sf-full-footer .sf-footer-nav-group ul{
  display:grid;
  gap:9px;
  margin:0;
  padding:0;
  list-style:none;
}
.sf-full-footer .sf-footer-nav-group li{
  margin:0;
  padding:0;
}
.sf-full-footer .sf-footer-nav-group a{
  display:inline-block;
  padding:1px 0;
  font-size:14px;
  line-height:1.35;
  color:var(--muted,rgba(24,33,38,.68));
  transition:color .18s ease,transform .18s ease;
}
.sf-full-footer .sf-footer-nav-group a:hover,
.sf-full-footer .sf-footer-nav-group a:focus-visible{
  color:var(--carbon,#182126);
  transform:translateX(3px);
}
.sf-full-footer .sf-full-footer-bottom{
  display:flex;
  justify-content:space-between;
  gap:20px;
  flex-wrap:wrap;
  margin-top:46px;
  padding-top:22px;
  border-top:1px solid rgba(24,33,38,.09);
  font-size:12px;
  line-height:1.45;
  color:var(--muted,rgba(24,33,38,.68));
}
@media(max-width:980px){
  .sf-full-footer .sf-full-footer-grid{
    grid-template-columns:1fr 1fr;
    gap:36px 28px;
  }
}
@media(max-width:620px){
  .sf-full-footer{
    margin-top:18px;
    padding:46px 0 28px;
  }
  .sf-full-footer .sf-full-footer-grid{
    grid-template-columns:1fr;
    gap:30px;
  }
  .sf-full-footer .sf-footer-brand-block>p{
    max-width:none;
  }
  .sf-full-footer .sf-full-footer-bottom{
    margin-top:34px;
    flex-direction:column;
    gap:7px;
  }
}
/* SF FOUR PAGE FINISH V1.3 */
body.sf-about-v3 .sf-page-hero-grid{grid-template-columns:.92fr 1.08fr;gap:50px}body.sf-about-v3 .sf-page-hero-photo{min-height:560px;border-radius:42px 42px 110px 42px;padding:8px;background:rgba(255,255,255,.42);box-shadow:0 30px 76px rgba(24,33,38,.14)}body.sf-about-v3 .sf-page-hero-photo img{height:544px!important;object-fit:cover;border-radius:34px 34px 102px 34px!important}body.sf-about-v3 main>section:nth-of-type(2){width:min(1180px,calc(100% - 34px))!important;margin:28px auto 0!important;padding:48px!important;display:grid!important;grid-template-columns:1.05fr .95fr!important;gap:28px 54px!important;border-radius:38px!important;background:rgba(24,33,38,.96)!important;box-shadow:0 28px 70px rgba(24,33,38,.18)!important}body.sf-about-v3 main>section:nth-of-type(2)>div{grid-row:1/span 2}body.sf-about-v3 main>section:nth-of-type(2) h2{color:#fff!important;font-size:clamp(38px,4.8vw,64px)!important}body.sf-about-v3 main>section:nth-of-type(2) p{color:rgba(255,255,255,.72)!important}body.sf-about-v3 main>section:nth-of-type(3) .sf-page-card{min-height:230px;padding:28px!important;border-radius:32px!important}body.sf-about-v3 main>section:nth-of-type(3) .sf-page-card:nth-child(odd){transform:translateY(12px)}body.sf-about-v3 main>section:nth-of-type(4){padding:54px!important;border-radius:38px!important;background:rgba(115,247,166,.40)!important}body.sf-about-v3 main>section:nth-of-type(4)>div:last-child{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:12px!important}body.sf-about-v3 main>section:nth-of-type(4) a{min-height:58px!important;justify-content:flex-start!important;border:0!important;border-radius:18px!important;background:rgba(255,255,255,.58)!important;color:var(--carbon)!important;text-transform:none!important;letter-spacing:0!important;font-size:14px!important}
body.sf-before-after-v3 .sf-ba-hero-grid{grid-template-columns:.82fr 1.18fr!important;gap:46px!important}body.sf-before-after-v3 .sf-ba-hero-visual{min-height:600px!important;border-radius:42px!important;background:rgba(24,33,38,.96)!important;padding:14px!important;box-shadow:0 30px 80px rgba(24,33,38,.20)!important}body.sf-before-after-v3 .sf-ba-hero-visual figure{border-radius:30px!important}body.sf-before-after-v3 .sf-ba-hero-divider{width:6px!important;background:var(--aloe)!important;box-shadow:0 0 0 7px rgba(115,247,166,.17)!important}body.sf-before-after-v3 .sf-page-related{display:flex!important;flex-wrap:wrap!important;gap:8px 18px!important;padding:0!important;list-style:none!important}body.sf-before-after-v3 .sf-page-related a{border:0!important;border-bottom:1px solid rgba(24,33,38,.22)!important;border-radius:0!important;background:transparent!important;padding:2px 0!important}body.sf-before-after-v3 main>section:nth-of-type(3){width:min(1210px,calc(100% - 24px))!important;margin:20px auto 0!important;padding:62px 0!important;border-radius:42px!important}body.sf-before-after-v3 main>section:nth-of-type(3) .sf-proof-pair img{height:560px!important}
body.sf-pricing-v3 .sf-pricing-hero-grid{grid-template-columns:.86fr 1.14fr!important;gap:48px!important}body.sf-pricing-v3 .sf-price-hero-visual{min-height:580px!important;padding:30px!important;border-radius:42px!important;background:radial-gradient(circle at 80% 12%,rgba(115,247,166,.22),transparent 30%),rgba(24,33,38,.97)!important;box-shadow:0 30px 80px rgba(24,33,38,.20)!important}body.sf-pricing-v3 main>section:nth-of-type(2){width:min(1210px,calc(100% - 24px))!important;margin:18px auto 0!important;padding:62px 0!important;border-radius:42px!important;background:rgba(24,33,38,.96)!important}body.sf-pricing-v3 main>section:nth-of-type(2)>div{width:min(1180px,calc(100% - 34px))!important;margin-left:auto!important;margin-right:auto!important}body.sf-pricing-v3 main>section:nth-of-type(2) h2{color:#fff!important}body.sf-pricing-v3 main>section:nth-of-type(2) .max-w-3xl p{color:rgba(255,255,255,.72)!important}body.sf-pricing-v3 main>section:nth-of-type(2) .sf-card-grid{grid-template-columns:repeat(7,1fr)!important;gap:10px!important;align-items:end!important}body.sf-pricing-v3 main>section:nth-of-type(2) .sf-page-card{min-height:250px!important;padding:22px 18px!important;background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.10)!important}body.sf-pricing-v3 main>section:nth-of-type(2) .sf-page-card h3{color:#fff!important;font-size:17px!important}body.sf-pricing-v3 main>section:nth-of-type(2) .sf-page-card p{color:rgba(255,255,255,.66)!important;font-size:13px!important}body.sf-pricing-v3 main>section:nth-of-type(3) .sf-card-grid{grid-template-columns:repeat(4,1fr)!important}
body.sf-pressure-v3 .sf-page-hero-grid.sf-no-photo{grid-template-columns:.9fr 1.1fr!important;gap:48px!important}body.sf-pressure-v3 .sf-wash-hero-visual{position:relative;min-height:560px;overflow:hidden;border-radius:44px;background:linear-gradient(145deg,rgba(255,255,255,.54),rgba(255,255,255,.20)),rgba(217,221,225,.86);box-shadow:0 30px 76px rgba(24,33,38,.13)}body.sf-pressure-v3 .sf-wash-hero-visual:before,body.sf-pressure-v3 .sf-wash-hero-visual:after{content:'';position:absolute;left:-10%;width:120%;height:42%;border-radius:50%;border:28px solid rgba(115,247,166,.55);transform:rotate(-10deg)}body.sf-pressure-v3 .sf-wash-hero-visual:before{top:11%}body.sf-pressure-v3 .sf-wash-hero-visual:after{top:40%;border-color:rgba(255,184,77,.38)}body.sf-pressure-v3 .sf-wash-surface{position:absolute;left:10%;right:10%;bottom:10%;height:38%;border-radius:28px;background:linear-gradient(90deg,rgba(24,33,38,.12) 1px,transparent 1px),linear-gradient(rgba(24,33,38,.12) 1px,transparent 1px),rgba(255,255,255,.48);background-size:34px 34px;transform:perspective(500px) rotateX(60deg);transform-origin:bottom}body.sf-pressure-v3 .sf-wash-nozzle{position:absolute;width:36%;height:18px;right:8%;top:25%;border-radius:99px;background:var(--carbon);transform:rotate(-28deg)}body.sf-pressure-v3 .sf-wash-nozzle:after{content:'';position:absolute;width:62%;height:190px;right:87%;top:-74px;clip-path:polygon(100% 43%,0 0,0 100%);background:linear-gradient(90deg,rgba(115,247,166,0),rgba(115,247,166,.62))}body.sf-pressure-v3 main>section:nth-of-type(2) .sf-page-card{min-height:230px!important;border-radius:32px!important;padding:28px!important}body.sf-pressure-v3 main>section:nth-of-type(3){width:min(1210px,calc(100% - 24px))!important;margin:24px auto 0!important;border-radius:42px!important;background:rgba(115,247,166,.28)!important}body.sf-pressure-v3 main>section:nth-of-type(4) .sf-split-grid{padding:48px!important;border-radius:38px!important;background:rgba(24,33,38,.96)!important}body.sf-pressure-v3 main>section:nth-of-type(4) h2{color:#fff!important}body.sf-pressure-v3 main>section:nth-of-type(4) p{color:rgba(255,255,255,.72)!important}
@media(max-width:1100px){body.sf-pricing-v3 main>section:nth-of-type(2) .sf-card-grid{grid-template-columns:repeat(4,1fr)!important}}@media(max-width:980px){body.sf-about-v3 main>section:nth-of-type(2),body.sf-about-v3 main>section:nth-of-type(4)>div:last-child,body.sf-before-after-v3 .sf-ba-hero-grid,body.sf-pricing-v3 .sf-pricing-hero-grid,body.sf-pressure-v3 .sf-page-hero-grid.sf-no-photo{grid-template-columns:1fr!important}body.sf-about-v3 main>section:nth-of-type(2)>div{grid-row:auto!important}body.sf-pricing-v3 main>section:nth-of-type(2) .sf-card-grid{grid-template-columns:repeat(2,1fr)!important}}@media(max-width:620px){body.sf-pricing-v3 main>section:nth-of-type(2) .sf-card-grid,body.sf-pricing-v3 main>section:nth-of-type(3) .sf-card-grid{grid-template-columns:1fr!important}body.sf-before-after-v3 .sf-ba-hero-visual,body.sf-pricing-v3 .sf-price-hero-visual,body.sf-pressure-v3 .sf-wash-hero-visual{min-height:360px!important}}

/* SF BEFORE AFTER DARK TILE PADDING V1.3.1 */

/* Give the dark proof showcase real interior breathing room. */
body.sf-before-after-v3 main > section:nth-of-type(3){
  box-sizing:border-box!important;
  padding:
    clamp(46px,5vw,68px)
    clamp(30px,4vw,58px)!important;
}

/* The old utility wrapper was consuming the panel edge.
   Make the inner content use the padded panel instead. */
body.sf-before-after-v3 main > section:nth-of-type(3) > .sf-shell.sf-wrap{
  width:min(1080px,100%)!important;
  max-width:1080px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding:0!important;
}

/* Keep the heading, description, and gallery aligned to one inset. */
body.sf-before-after-v3 main > section:nth-of-type(3) h2{
  max-width:780px!important;
  margin-left:0!important;
  margin-right:0!important;
}

body.sf-before-after-v3 main > section:nth-of-type(3) > .sf-shell > p{
  max-width:760px!important;
}

body.sf-before-after-v3 main > section:nth-of-type(3) .sf-proof-grid{
  margin-top:32px!important;
}

/* Keep the photos safely inside the dark card instead of riding its edge. */
body.sf-before-after-v3 main > section:nth-of-type(3) .sf-proof-pair{
  overflow:hidden!important;
  border-radius:26px!important;
}

@media(max-width:620px){
  body.sf-before-after-v3 main > section:nth-of-type(3){
    padding:34px 18px!important;
    border-radius:30px!important;
  }

  body.sf-before-after-v3 main > section:nth-of-type(3) .sf-proof-grid{
    margin-top:24px!important;
  }
}

/* SF ABOUT POLISH + UNIFIED HOVER V1.4 */

/* ================================================================
   ABOUT: replace the flat mint directory block with a real
   contrast section while keeping all existing links and copy.
   ================================================================ */
body.sf-about-v3 main > section:nth-of-type(4){
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  width:min(1180px,calc(100% - 34px))!important;
  margin:36px auto 0!important;
  padding:
    clamp(38px,4.5vw,58px)
    clamp(28px,4vw,54px)!important;
  border:1px solid rgba(255,255,255,.09)!important;
  border-radius:42px!important;
  background:
    radial-gradient(circle at 92% 8%,rgba(115,247,166,.18),transparent 28%),
    radial-gradient(circle at 8% 100%,rgba(255,184,77,.12),transparent 26%),
    rgba(24,33,38,.97)!important;
  box-shadow:0 30px 78px rgba(24,33,38,.18)!important;
}

body.sf-about-v3 main > section:nth-of-type(4):before{
  content:''!important;
  position:absolute!important;
  z-index:-1!important;
  width:240px!important;
  height:240px!important;
  right:-88px!important;
  top:-92px!important;
  border-radius:50%!important;
  border:34px solid rgba(115,247,166,.12)!important;
}

body.sf-about-v3 main > section:nth-of-type(4):after{
  content:''!important;
  position:absolute!important;
  z-index:-1!important;
  width:130px!important;
  height:130px!important;
  left:-48px!important;
  bottom:-54px!important;
  border-radius:40px!important;
  transform:rotate(24deg)!important;
  background:rgba(255,184,77,.10)!important;
}

body.sf-about-v3 main > section:nth-of-type(4) h2{
  max-width:760px!important;
  color:#fff!important;
}

body.sf-about-v3 main > section:nth-of-type(4) p{
  max-width:870px!important;
  color:rgba(255,255,255,.70)!important;
}

body.sf-about-v3 main > section:nth-of-type(4) .sf-page-actions,
body.sf-about-v3 main > section:nth-of-type(4) > div:last-child{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
  margin-top:28px!important;
}

body.sf-about-v3 main > section:nth-of-type(4) a{
  position:relative!important;
  min-height:76px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  padding:18px 20px!important;
  border:1px solid rgba(255,255,255,.10)!important;
  border-radius:20px!important;
  background:rgba(255,255,255,.075)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.11)!important;
  color:rgba(255,255,255,.90)!important;
  font-family:'DM Sans',system-ui,sans-serif!important;
  font-size:14px!important;
  font-weight:750!important;
  letter-spacing:0!important;
  text-transform:none!important;
}

body.sf-about-v3 main > section:nth-of-type(4) a:after{
  content:'â†—'!important;
  position:absolute!important;
  right:18px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  color:rgba(115,247,166,.80)!important;
  font-size:16px!important;
  opacity:.72!important;
}

body.sf-about-v3 main > section:nth-of-type(4) a:hover,
body.sf-about-v3 main > section:nth-of-type(4) a:focus-visible{
  border-color:rgba(115,247,166,.45)!important;
  background:rgba(115,247,166,.13)!important;
  color:#fff!important;
}

body.sf-about-v3 main > section:nth-of-type(4) a:hover:after,
body.sf-about-v3 main > section:nth-of-type(4) a:focus-visible:after{
  opacity:1!important;
}

/* ================================================================
   SITEWIDE INTERACTION LANGUAGE
   Same lift + scale + shadow response everywhere.
   The CSS translate/scale properties preserve existing transforms.
   ================================================================ */
.sf-btn,
.sf-page-card,
.sf-page-step,
.sf-contact-card,
.sf-photo-service,
.sf-secondary-services > a,
.sf-link-grid > a,
.sf-info-grid > a,
.sf-card,
.sf-process-card,
.sf-proof-card,
.sf-proof-pair,
.sf-price-panel,
.sf-simple-cta,
.sf-before-after figure,
.sf-full-footer .sf-footer-nav-group a{
  translate:0 0;
  scale:1;
  transition:
    translate .24s cubic-bezier(.2,.8,.2,1),
    scale .24s cubic-bezier(.2,.8,.2,1),
    box-shadow .24s ease,
    background-color .24s ease,
    border-color .24s ease,
    color .18s ease!important;
}

.sf-btn:hover,
.sf-btn:focus-visible{
  transform:none!important;
  translate:0 -4px;
  scale:1.012;
}

.sf-page-card:hover,
.sf-page-card:focus-within,
.sf-page-step:hover,
.sf-page-step:focus-within,
.sf-contact-card:hover,
.sf-contact-card:focus-within,
.sf-photo-service:hover,
.sf-photo-service:focus-visible,
.sf-secondary-services > a:hover,
.sf-secondary-services > a:focus-visible,
.sf-link-grid > a:hover,
.sf-link-grid > a:focus-visible,
.sf-info-grid > a:hover,
.sf-info-grid > a:focus-visible,
.sf-card:hover,
.sf-card:focus-within,
.sf-process-card:hover,
.sf-process-card:focus-within,
.sf-proof-card:hover,
.sf-proof-card:focus-within,
.sf-proof-pair:hover,
.sf-proof-pair:focus-within,
.sf-price-panel:hover,
.sf-price-panel:focus-within,
.sf-simple-cta:hover,
.sf-simple-cta:focus-within,
.sf-before-after figure:hover{
  transform:none!important;
  translate:0 -6px;
  scale:1.01;
  border-color:rgba(115,247,166,.34)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.88),
    0 24px 54px rgba(24,33,38,.13)!important;
}

.sf-page-card img,
.sf-contact-card img,
.sf-photo-service img,
.sf-proof-card img,
.sf-proof-pair img,
.sf-before-after figure img{
  transition:transform .45s cubic-bezier(.2,.8,.2,1)!important;
}

.sf-page-card:hover img,
.sf-page-card:focus-within img,
.sf-contact-card:hover img,
.sf-contact-card:focus-within img,
.sf-photo-service:hover img,
.sf-photo-service:focus-visible img,
.sf-proof-card:hover img,
.sf-proof-card:focus-within img,
.sf-proof-pair:hover img,
.sf-proof-pair:focus-within img,
.sf-before-after figure:hover img{
  transform:scale(1.025)!important;
}

/* Footer gets the same motion language, but stays subtle. */
.sf-full-footer .sf-footer-nav-group a:hover,
.sf-full-footer .sf-footer-nav-group a:focus-visible{
  transform:none!important;
  translate:3px 0;
  scale:1;
}

@media(max-width:980px){
  body.sf-about-v3 main > section:nth-of-type(4) .sf-page-actions,
  body.sf-about-v3 main > section:nth-of-type(4) > div:last-child{
    grid-template-columns:1fr 1fr!important;
  }
}

@media(max-width:620px){
  body.sf-about-v3 main > section:nth-of-type(4){
    width:calc(100% - 22px)!important;
    padding:30px 20px!important;
    border-radius:30px!important;
  }

  body.sf-about-v3 main > section:nth-of-type(4) .sf-page-actions,
  body.sf-about-v3 main > section:nth-of-type(4) > div:last-child{
    grid-template-columns:1fr!important;
  }

  body.sf-about-v3 main > section:nth-of-type(4) a{
    min-height:64px!important;
  }
}

@media(prefers-reduced-motion:reduce){
  .sf-btn,
  .sf-page-card,
  .sf-page-step,
  .sf-contact-card,
  .sf-photo-service,
  .sf-secondary-services > a,
  .sf-link-grid > a,
  .sf-info-grid > a,
  .sf-card,
  .sf-process-card,
  .sf-proof-card,
  .sf-proof-pair,
  .sf-price-panel,
  .sf-simple-cta,
  .sf-before-after figure,
  .sf-full-footer .sf-footer-nav-group a{
    translate:0 0!important;
    scale:1!important;
    transition:none!important;
  }
}

/* SF PRICING + BEFORE AFTER + ENCODING FIX V1.4.2 */

/* ================================================================
   1. ELIMINATE ENCODING-DEPENDENT ARROW GLYPHS
   The About tiles previously used a literal Unicode arrow.
   Build the arrow from CSS borders instead.
   ================================================================ */
body.sf-about-v3 main > section:nth-of-type(4) a:after{
  content:''!important;
  width:9px!important;
  height:9px!important;
  right:20px!important;
  top:50%!important;
  border-top:2px solid var(--aloe)!important;
  border-right:2px solid var(--aloe)!important;
  transform:translateY(-58%) rotate(45deg)!important;
  opacity:.78!important;
}

body.sf-about-v3 main > section:nth-of-type(4) a:hover:after,
body.sf-about-v3 main > section:nth-of-type(4) a:focus-visible:after{
  opacity:1!important;
  right:17px!important;
}

/* ================================================================
   2. PRICING DARK PANEL: REAL INSET + CLEAN TITLE HIERARCHY
   ================================================================ */
body.sf-pricing-v3 main > section:nth-of-type(2){
  box-sizing:border-box!important;
  padding:
    clamp(48px,5vw,68px)
    clamp(30px,4vw,58px)!important;
}

body.sf-pricing-v3 main > section:nth-of-type(2) > div:first-child{
  width:min(1080px,100%)!important;
  max-width:1080px!important;
  margin:0 auto!important;
  padding:0!important;
}

body.sf-pricing-v3 main > section:nth-of-type(2) .max-w-3xl{
  max-width:760px!important;
  margin:0 0 34px!important;
}

body.sf-pricing-v3 main > section:nth-of-type(2) h2{
  max-width:720px!important;
  margin:0!important;
  font-size:clamp(42px,4.8vw,64px)!important;
  line-height:.98!important;
  letter-spacing:-.052em!important;
  text-wrap:balance!important;
}

body.sf-pricing-v3 main > section:nth-of-type(2) .max-w-3xl p{
  max-width:720px!important;
  margin-top:16px!important;
  font-size:16px!important;
  line-height:1.62!important;
}

body.sf-pricing-v3 main > section:nth-of-type(2) .sf-card-grid{
  width:100%!important;
  max-width:1080px!important;
  margin:0 auto!important;
}

/* ================================================================
   3. BEFORE / AFTER HERO: ACTUAL SPLIT, NOT ONE IMAGE + A GREEN LINE
   ================================================================ */
body.sf-before-after-v3 .sf-ba-hero-visual{
  position:relative!important;
  display:block!important;
  min-height:600px!important;
  overflow:hidden!important;
  padding:12px!important;
  border-radius:42px!important;
  background:rgba(24,33,38,.97)!important;
}

body.sf-before-after-v3 .sf-ba-hero-visual figure{
  position:absolute!important;
  top:12px!important;
  bottom:12px!important;
  margin:0!important;
  overflow:hidden!important;
  border-radius:30px!important;
  transform:none!important;
  background:var(--carbon)!important;
}

body.sf-before-after-v3 .sf-ba-hero-visual figure:first-child{
  left:12px!important;
  right:50%!important;
  margin-right:3px!important;
}

body.sf-before-after-v3 .sf-ba-hero-visual figure:last-of-type{
  left:50%!important;
  right:12px!important;
  margin-left:3px!important;
}

body.sf-before-after-v3 .sf-ba-hero-visual figure img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  transform:none!important;
}

body.sf-before-after-v3 .sf-ba-hero-visual figure:first-child:after,
body.sf-before-after-v3 .sf-ba-hero-visual figure:last-of-type:after{
  position:absolute!important;
  top:16px!important;
  z-index:4!important;
  padding:8px 12px!important;
  border-radius:12px!important;
  font-family:'DM Sans',system-ui,sans-serif!important;
  font-size:12px!important;
  font-weight:800!important;
  line-height:1!important;
  letter-spacing:0!important;
}

body.sf-before-after-v3 .sf-ba-hero-visual figure:first-child:after{
  content:'Before'!important;
  left:16px!important;
  color:#fff!important;
  background:rgba(24,33,38,.88)!important;
}

body.sf-before-after-v3 .sf-ba-hero-visual figure:last-of-type:after{
  content:'After'!important;
  right:16px!important;
  color:var(--carbon)!important;
  background:var(--aloe)!important;
}

body.sf-before-after-v3 .sf-ba-hero-divider{
  position:absolute!important;
  z-index:5!important;
  left:50%!important;
  top:8%!important;
  bottom:8%!important;
  width:4px!important;
  height:auto!important;
  transform:translateX(-50%)!important;
  border-radius:99px!important;
  background:var(--aloe)!important;
  box-shadow:
    0 0 0 5px rgba(24,33,38,.68),
    0 0 26px rgba(115,247,166,.34)!important;
}

body.sf-before-after-v3 .sf-ba-hero-visual:hover figure img{
  transform:none!important;
}

@media(max-width:620px){
  body.sf-pricing-v3 main > section:nth-of-type(2){
    padding:34px 18px!important;
    border-radius:30px!important;
  }

  body.sf-pricing-v3 main > section:nth-of-type(2) h2{
    font-size:clamp(38px,11vw,52px)!important;
  }

  body.sf-before-after-v3 .sf-ba-hero-visual{
    min-height:390px!important;
    padding:8px!important;
    border-radius:30px!important;
  }

  body.sf-before-after-v3 .sf-ba-hero-visual figure{
    top:8px!important;
    bottom:8px!important;
    border-radius:22px!important;
  }

  body.sf-before-after-v3 .sf-ba-hero-visual figure:first-child{
    left:8px!important;
  }

  body.sf-before-after-v3 .sf-ba-hero-visual figure:last-of-type{
    right:8px!important;
  }
}

/* SF BA + PRICING DECK POLISH V1.4.3 */

/* ================================================================
   BEFORE / AFTER HERO
   Make the BEFORE side read immediately instead of looking timid.
   ================================================================ */
body.sf-before-after-v3 .sf-ba-hero-visual figure:first-child img{
  transform:scale(1.12)!important;
  transform-origin:48% 54%!important;
  object-position:46% 56%!important;
}

body.sf-before-after-v3 .sf-ba-hero-visual figure:last-of-type img{
  transform:scale(1.02)!important;
  transform-origin:center!important;
  object-position:center!important;
}

/* Preserve the stronger crop even with the global hover system. */
body.sf-before-after-v3 .sf-ba-hero-visual:hover figure:first-child img{
  transform:scale(1.12)!important;
}

body.sf-before-after-v3 .sf-ba-hero-visual:hover figure:last-of-type img{
  transform:scale(1.02)!important;
}

/* Make the split read as one comparison frame. */
body.sf-before-after-v3 .sf-ba-hero-visual figure:first-child{
  right:50.15%!important;
  margin-right:0!important;
  border-radius:30px 7px 7px 30px!important;
}

body.sf-before-after-v3 .sf-ba-hero-visual figure:last-of-type{
  left:50.15%!important;
  margin-left:0!important;
  border-radius:7px 30px 30px 7px!important;
}

body.sf-before-after-v3 .sf-ba-hero-divider{
  width:5px!important;
  left:50.15%!important;
  top:6%!important;
  bottom:6%!important;
  box-shadow:
    0 0 0 4px rgba(24,33,38,.72),
    0 0 24px rgba(115,247,166,.34)!important;
}

/* ================================================================
   PRICING DARK PANEL
   More breathing room + one coherent seven-card deck.
   ================================================================ */
body.sf-pricing-v3 main > section:nth-of-type(2){
  padding:
    clamp(54px,5.4vw,74px)
    clamp(42px,5vw,72px)
    clamp(56px,5.6vw,78px)!important;
}

body.sf-pricing-v3 main > section:nth-of-type(2) > div:first-child{
  width:min(1120px,100%)!important;
  max-width:1120px!important;
}

body.sf-pricing-v3 main > section:nth-of-type(2) .max-w-3xl{
  max-width:800px!important;
  margin-bottom:36px!important;
}

body.sf-pricing-v3 main > section:nth-of-type(2) .sf-card-grid{
  display:grid!important;
  grid-template-columns:repeat(7,minmax(0,1fr))!important;
  grid-auto-rows:1fr!important;
  gap:12px!important;
  width:100%!important;
  max-width:1120px!important;
  align-items:stretch!important;
}

/* One deck: identical silhouette and structure. */
body.sf-pricing-v3 main > section:nth-of-type(2) .sf-page-card{
  position:relative!important;
  min-height:252px!important;
  height:100%!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  padding:24px 16px 18px!important;
  border:1px solid rgba(255,255,255,.16)!important;
  border-radius:22px!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.105),rgba(255,255,255,.065))!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.13),
    0 12px 28px rgba(0,0,0,.08)!important;
  overflow:hidden!important;
}

/* Remove inherited per-card height ladder so the deck is unified. */
body.sf-pricing-v3 main > section:nth-of-type(2) .sf-page-card:nth-child(1),
body.sf-pricing-v3 main > section:nth-of-type(2) .sf-page-card:nth-child(2),
body.sf-pricing-v3 main > section:nth-of-type(2) .sf-page-card:nth-child(3),
body.sf-pricing-v3 main > section:nth-of-type(2) .sf-page-card:nth-child(4),
body.sf-pricing-v3 main > section:nth-of-type(2) .sf-page-card:nth-child(5),
body.sf-pricing-v3 main > section:nth-of-type(2) .sf-page-card:nth-child(6),
body.sf-pricing-v3 main > section:nth-of-type(2) .sf-page-card:nth-child(7){
  min-height:252px!important;
}

/* Same corner motif on every card. */
body.sf-pricing-v3 main > section:nth-of-type(2) .sf-page-card:before{
  content:''!important;
  position:absolute!important;
  width:74px!important;
  height:74px!important;
  right:-26px!important;
  top:-26px!important;
  border-radius:50%!important;
  background:rgba(115,247,166,.26)!important;
  pointer-events:none!important;
}

body.sf-pricing-v3 main > section:nth-of-type(2) .sf-page-card:nth-child(6):before{
  background:rgba(255,184,77,.30)!important;
}

/* Multiple Loads should still belong to the deck, not become a different card. */
body.sf-pricing-v3 main > section:nth-of-type(2) .sf-page-card:nth-child(7){
  background:
    linear-gradient(180deg,rgba(255,255,255,.105),rgba(255,255,255,.065))!important;
}

/* Align title blocks. */
body.sf-pricing-v3 main > section:nth-of-type(2) .sf-page-card h3{
  position:relative!important;
  z-index:1!important;
  min-height:42px!important;
  margin:0 0 10px!important;
  font-size:16px!important;
  line-height:1.03!important;
  letter-spacing:-.035em!important;
}

/* Align descriptions and keep the status bar on the bottom edge. */
body.sf-pricing-v3 main > section:nth-of-type(2) .sf-page-card p{
  position:relative!important;
  z-index:1!important;
  flex:1 1 auto!important;
  margin:0 0 18px!important;
  font-size:12.5px!important;
  line-height:1.55!important;
}

body.sf-pricing-v3 main > section:nth-of-type(2) .sf-page-card > :last-child{
  margin-top:auto!important;
}

/* Normalize every load bar. */
body.sf-pricing-v3 main > section:nth-of-type(2) .sf-page-card [class*="h-2"],
body.sf-pricing-v3 main > section:nth-of-type(2) .sf-page-card [class*="rounded-full"]{
  position:relative!important;
  z-index:1!important;
}

/* Keep Full Trailer as the single deliberate amber emphasis. */
body.sf-pricing-v3 main > section:nth-of-type(2) .sf-page-card:nth-child(6){
  border-color:rgba(255,184,77,.38)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.13),
    0 14px 30px rgba(255,184,77,.07)!important;
}

/* Unified deck hover. */
body.sf-pricing-v3 main > section:nth-of-type(2) .sf-page-card:hover,
body.sf-pricing-v3 main > section:nth-of-type(2) .sf-page-card:focus-within{
  translate:0 -6px!important;
  scale:1.012!important;
  border-color:rgba(115,247,166,.42)!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.135),rgba(255,255,255,.082))!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.16),
    0 24px 46px rgba(0,0,0,.14)!important;
}

body.sf-pricing-v3 main > section:nth-of-type(2) .sf-page-card:nth-child(6):hover,
body.sf-pricing-v3 main > section:nth-of-type(2) .sf-page-card:nth-child(6):focus-within{
  border-color:rgba(255,184,77,.56)!important;
}

/* Tablet: keep coherent deck proportions. */
@media(max-width:1100px){
  body.sf-pricing-v3 main > section:nth-of-type(2){
    padding-left:34px!important;
    padding-right:34px!important;
  }

  body.sf-pricing-v3 main > section:nth-of-type(2) .sf-card-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }

  body.sf-pricing-v3 main > section:nth-of-type(2) .sf-page-card,
  body.sf-pricing-v3 main > section:nth-of-type(2) .sf-page-card:nth-child(1),
  body.sf-pricing-v3 main > section:nth-of-type(2) .sf-page-card:nth-child(2),
  body.sf-pricing-v3 main > section:nth-of-type(2) .sf-page-card:nth-child(3),
  body.sf-pricing-v3 main > section:nth-of-type(2) .sf-page-card:nth-child(4),
  body.sf-pricing-v3 main > section:nth-of-type(2) .sf-page-card:nth-child(5),
  body.sf-pricing-v3 main > section:nth-of-type(2) .sf-page-card:nth-child(6),
  body.sf-pricing-v3 main > section:nth-of-type(2) .sf-page-card:nth-child(7){
    min-height:230px!important;
  }
}

@media(max-width:620px){
  body.sf-before-after-v3 .sf-ba-hero-visual figure:first-child img{
    transform:scale(1.08)!important;
  }

  body.sf-before-after-v3 .sf-ba-hero-visual:hover figure:first-child img{
    transform:scale(1.08)!important;
  }

  body.sf-pricing-v3 main > section:nth-of-type(2){
    padding:34px 18px 38px!important;
  }

  body.sf-pricing-v3 main > section:nth-of-type(2) .sf-card-grid{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }

  body.sf-pricing-v3 main > section:nth-of-type(2) .sf-page-card,
  body.sf-pricing-v3 main > section:nth-of-type(2) .sf-page-card:nth-child(1),
  body.sf-pricing-v3 main > section:nth-of-type(2) .sf-page-card:nth-child(2),
  body.sf-pricing-v3 main > section:nth-of-type(2) .sf-page-card:nth-child(3),
  body.sf-pricing-v3 main > section:nth-of-type(2) .sf-page-card:nth-child(4),
  body.sf-pricing-v3 main > section:nth-of-type(2) .sf-page-card:nth-child(5),
  body.sf-pricing-v3 main > section:nth-of-type(2) .sf-page-card:nth-child(6),
  body.sf-pricing-v3 main > section:nth-of-type(2) .sf-page-card:nth-child(7){
    min-height:0!important;
  }

  body.sf-pricing-v3 main > section:nth-of-type(2) .sf-page-card h3{
    min-height:0!important;
  }
}

/* SF PRICING CARD SPACING V1.4.4 */

/* One continuous accent cap BEHIND the title zone. */
body.sf-pricing-v3 main > section:nth-of-type(2) .sf-page-card:before{
  content:''!important;
  position:absolute!important;
  z-index:0!important;
  left:0!important;
  right:0!important;
  top:0!important;
  width:auto!important;
  height:68px!important;
  border-radius:21px 21px 14px 14px!important;
  background:
    linear-gradient(
      135deg,
      rgba(115,247,166,.34),
      rgba(115,247,166,.16)
    )!important;
  pointer-events:none!important;
}

/* Full Trailer remains the one intentional amber card. */
body.sf-pricing-v3 main > section:nth-of-type(2) .sf-page-card:nth-child(6):before{
  background:
    linear-gradient(
      135deg,
      rgba(255,184,77,.40),
      rgba(255,184,77,.18)
    )!important;
}

/* Lower the title so it sits comfortably inside the cap. */
body.sf-pricing-v3 main > section:nth-of-type(2) .sf-page-card{
  padding:
    34px
    16px
    20px!important;
}

body.sf-pricing-v3 main > section:nth-of-type(2) .sf-page-card h3{
  position:relative!important;
  z-index:2!important;
  min-height:50px!important;
  display:flex!important;
  align-items:flex-start!important;
  margin:0!important;
  padding:5px 0 0!important;
  color:#fff!important;
  font-size:16px!important;
  line-height:1.04!important;
  letter-spacing:-.035em!important;
}

/* Give every description real upper/lower breathing room. */
body.sf-pricing-v3 main > section:nth-of-type(2) .sf-page-card p{
  position:relative!important;
  z-index:2!important;
  flex:1 1 auto!important;
  margin:0!important;
  padding:
    18px
    0
    20px!important;
  color:rgba(255,255,255,.70)!important;
  font-size:12.5px!important;
  line-height:1.58!important;
}

/* Keep the load indicator visually separated at the bottom. */
body.sf-pricing-v3 main > section:nth-of-type(2) .sf-page-card > :last-child{
  position:relative!important;
  z-index:2!important;
  margin-top:auto!important;
}

/* Slightly taller cards so the added spacing does not re-compress copy. */
body.sf-pricing-v3 main > section:nth-of-type(2) .sf-page-card,
body.sf-pricing-v3 main > section:nth-of-type(2) .sf-page-card:nth-child(1),
body.sf-pricing-v3 main > section:nth-of-type(2) .sf-page-card:nth-child(2),
body.sf-pricing-v3 main > section:nth-of-type(2) .sf-page-card:nth-child(3),
body.sf-pricing-v3 main > section:nth-of-type(2) .sf-page-card:nth-child(4),
body.sf-pricing-v3 main > section:nth-of-type(2) .sf-page-card:nth-child(5),
body.sf-pricing-v3 main > section:nth-of-type(2) .sf-page-card:nth-child(6),
body.sf-pricing-v3 main > section:nth-of-type(2) .sf-page-card:nth-child(7){
  min-height:284px!important;
}

/* Preserve identical deck silhouette on hover. */
body.sf-pricing-v3 main > section:nth-of-type(2) .sf-page-card:hover:before,
body.sf-pricing-v3 main > section:nth-of-type(2) .sf-page-card:focus-within:before{
  filter:brightness(1.08)!important;
}

@media(max-width:1100px){
  body.sf-pricing-v3 main > section:nth-of-type(2) .sf-page-card,
  body.sf-pricing-v3 main > section:nth-of-type(2) .sf-page-card:nth-child(1),
  body.sf-pricing-v3 main > section:nth-of-type(2) .sf-page-card:nth-child(2),
  body.sf-pricing-v3 main > section:nth-of-type(2) .sf-page-card:nth-child(3),
  body.sf-pricing-v3 main > section:nth-of-type(2) .sf-page-card:nth-child(4),
  body.sf-pricing-v3 main > section:nth-of-type(2) .sf-page-card:nth-child(5),
  body.sf-pricing-v3 main > section:nth-of-type(2) .sf-page-card:nth-child(6),
  body.sf-pricing-v3 main > section:nth-of-type(2) .sf-page-card:nth-child(7){
    min-height:258px!important;
  }
}

@media(max-width:620px){
  body.sf-pricing-v3 main > section:nth-of-type(2) .sf-page-card{
    padding:30px 18px 20px!important;
  }

  body.sf-pricing-v3 main > section:nth-of-type(2) .sf-page-card:before{
    height:64px!important;
  }

  body.sf-pricing-v3 main > section:nth-of-type(2) .sf-page-card h3{
    min-height:42px!important;
  }

  body.sf-pricing-v3 main > section:nth-of-type(2) .sf-page-card p{
    padding:16px 0 18px!important;
  }

  body.sf-pricing-v3 main > section:nth-of-type(2) .sf-page-card,
  body.sf-pricing-v3 main > section:nth-of-type(2) .sf-page-card:nth-child(1),
  body.sf-pricing-v3 main > section:nth-of-type(2) .sf-page-card:nth-child(2),
  body.sf-pricing-v3 main > section:nth-of-type(2) .sf-page-card:nth-child(3),
  body.sf-pricing-v3 main > section:nth-of-type(2) .sf-page-card:nth-child(4),
  body.sf-pricing-v3 main > section:nth-of-type(2) .sf-page-card:nth-child(5),
  body.sf-pricing-v3 main > section:nth-of-type(2) .sf-page-card:nth-child(6),
  body.sf-pricing-v3 main > section:nth-of-type(2) .sf-page-card:nth-child(7){
    min-height:0!important;
  }
}

/* SF PRICING INTRO SPACING V1.4.5 */

/* Use one intro rhythm for both pricing blocks on the same page. */
body.sf-pricing-v3 main > section:nth-of-type(2) .max-w-3xl,
body.sf-pricing-v3 main > section:nth-of-type(3) .max-w-3xl{
  margin:0!important;
  padding:0 0 34px!important;
}

body.sf-pricing-v3 main > section:nth-of-type(2) .max-w-3xl p,
body.sf-pricing-v3 main > section:nth-of-type(3) .max-w-3xl p{
  margin:16px 0 0!important;
  padding:0!important;
  max-width:760px!important;
  font-size:16px!important;
  line-height:1.62!important;
}

/* Let the shared intro block own the gap before the card deck. */
body.sf-pricing-v3 main > section:nth-of-type(2) .sf-card-grid,
body.sf-pricing-v3 main > section:nth-of-type(3) .sf-card-grid{
  margin-top:0!important;
}

@media(max-width:620px){
  body.sf-pricing-v3 main > section:nth-of-type(2) .max-w-3xl,
  body.sf-pricing-v3 main > section:nth-of-type(3) .max-w-3xl{
    padding-bottom:28px!important;
  }
}