/* Scoped to only the selected About section. Existing website CSS is unchanged. */
.abv3-section{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(circle at 68% 3%,#263644 0%,transparent 46%),linear-gradient(130deg,#0c1925 0%,#0d1c2a 48%,#0d1c29 100%);color:#fafbfb;padding:52px 20px 62px;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.abv3-section,.abv3-section *,.abv3-section *:before,.abv3-section *:after{box-sizing:border-box}
.abv3-section *{min-width:0}
.abv3-container{width:100%;max-width:1570px;margin:0 auto}
.abv3-main-grid{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,1.03fr) minmax(0,.92fr);align-items:stretch;gap:20px}
.abv3-intro{position:relative;min-height:570px;overflow:hidden;border-radius:22px;padding:10px 12px 10px 11px;background:radial-gradient(circle at 95% 52%,rgba(30,61,90,.21),transparent 52%)}
.abv3-eyebrow{display:flex;align-items:center;gap:9px;color:#4383c0;font-weight:750;letter-spacing:.025em;font-size:13px;margin:8px 0 15px;line-height:1.5}
.abv3-square{flex:none;width:9px;height:9px;background:linear-gradient(135deg,#4f8cc4,#29537a);box-shadow:0 0 8px #2e5d89}
.abv3-intro h2{font-size:clamp(30px,2.6vw,46px);line-height:1.12;letter-spacing:-.044em;color:#fff;font-weight:820;margin:0 0 16px;position:relative;z-index:2;max-width:470px}
.abv3-intro h2 span{display:block;color:#f9fafb}
.abv3-lead{font-size:13.5px;color:#ebeef1;line-height:1.65;max-width:425px;position:relative;z-index:2;margin:0 0 18px}
.abv3-checklist{display:grid;gap:9px;margin:20px 0 18px;position:relative;z-index:2;max-width:345px}
.abv3-checklist span{display:flex;align-items:center;gap:10px;color:#f6f7f8;font-size:13.5px;font-weight:650;line-height:1.35;text-shadow:0 1px 3px #102233}
.abv3-checklist svg{flex:none;color:#0e1d2b;background:linear-gradient(145deg,#548fc6,#326595);padding:3px;border-radius:50%;width:22px;height:22px}
.abv3-intro-actions{display:flex;position:relative;z-index:2;gap:11px;flex-wrap:wrap;max-width:430px;margin-top:26px}
.abv3-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 19px;min-height:47px;border-radius:12px;font-size:14px;font-weight:780;white-space:nowrap;border:1px solid transparent;text-decoration:none!important;box-shadow:0 4px 11px rgba(0,0,0,.18);transition:transform .2s,box-shadow .2s}
.abv3-btn:hover{transform:translateY(-2px);box-shadow:0 7px 13px rgba(0,0,0,.23)}
.abv3-btn-primary{background:linear-gradient(180deg,#4b89c3,#2c5a84);color:#0c1b28!important;border-color:#4887c2}
.abv3-btn-light{background:linear-gradient(180deg,#fff,#d1d6da);color:#0f2132!important;border-color:#fcfcfc}
.abv3-intro-photo{position:absolute;right:-5px;bottom:0;width:61%;height:60%;z-index:1;overflow:hidden;border-radius:18px 0 14px 0;opacity:.95;pointer-events:none;clip-path:polygon(25% 0,100% 0,100% 100%,0 100%)}
.abv3-intro-photo:before{position:absolute;content:"";inset:0;z-index:1;background:linear-gradient(90deg,#0d1c29 0%,rgba(13,28,42,.58) 22%,transparent 66%),linear-gradient(0deg,#0d1c29,transparent 26%)}
.abv3-intro-photo img{width:100%;height:100%;object-fit:cover;object-position:61% center;display:block}
.abv3-process{overflow:hidden;padding:0 0 0 0;background:linear-gradient(153deg,#e2e6ea,#c4cbd1 45%,#eef0f2);border:1px solid rgba(243,245,247,.9);border-radius:20px;box-shadow:0 15px 35px rgba(0,0,0,.23)}
.abv3-process-heading{display:flex;align-items:flex-start;gap:15px;padding:18px 17px 13px;color:#0d1c29;background:linear-gradient(140deg,#f7f8f9,#ccd3d9 88%);border-bottom:1px solid #5a7ea0}
.abv3-heading-icon{display:grid;place-items:center;flex:none;width:49px;height:49px;border-radius:13px;background:linear-gradient(145deg,#d5dbe1,#316494);color:#17324b;box-shadow:0 3px 10px rgba(29,59,87,.19)}
.abv3-process-heading h2{font-size:clamp(18px,1.35vw,24px);line-height:1.18;color:#0e1c2a;font-weight:820;letter-spacing:-.035em;margin:0 0 5px}
.abv3-process-heading p{font-size:12.2px;line-height:1.48;color:#273746;margin:0}
.abv3-steps{display:grid;gap:9px;padding:11px 12px 14px}
.abv3-step{display:grid;grid-template-columns:135px 1fr;gap:13px;align-items:center;min-height:100px;padding:9px;background:linear-gradient(145deg,#f3f5f7,#d9dee2 76%,#cdd3d8);border:1px solid rgba(255,255,255,.97);border-radius:13px;box-shadow:0 3px 5px rgba(32,56,78,.16)}
.abv3-step-visual{width:100%;height:83px;overflow:hidden;border-radius:10px;background:#587c9d}
.abv3-step-visual img{width:100%;height:100%;object-fit:cover;display:block}
.abv3-step-text h3{color:#0e1e2e;font-size:15.3px;font-weight:830;margin:0 0 4px;line-height:1.25;letter-spacing:-.025em}
.abv3-step-text p{color:#273745;font-size:11.5px;line-height:1.47;font-weight:460;margin:0}
.abv3-faq-col{padding:14px 12px 15px;background:linear-gradient(156deg,#273848,#0f1f2e 53%,#0d1b28);border:1px solid #3e566d;border-radius:23px;box-shadow:0 15px 30px rgba(0,0,0,.24),inset 0 1px 1px rgba(255,255,255,.1)}
.abv3-faq-title{display:flex;align-items:center;gap:12px;margin:3px 5px 17px;color:#fff}
.abv3-faq-title-icon{width:45px;height:45px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(140deg,#4887c2,#285076);color:#152c43;flex:none}
.abv3-faq-title h2{color:#fafbfc;font-size:clamp(19px,1.55vw,24px);font-weight:800;letter-spacing:-.035em;line-height:1.2;margin:0}
.abv3-faq-list{display:grid;gap:9px}
.abv3-faq{border:1px solid #2f4254;border-radius:12px;background:linear-gradient(180deg,#263543,#1a2c3d);overflow:hidden;box-shadow:0 2px 5px rgba(0,0,0,.16)}
.abv3-faq[open]{background:linear-gradient(180deg,#1e3a54,#203548)}
.abv3-faq summary{list-style:none;cursor:pointer;display:flex;gap:12px;align-items:center;justify-content:space-between;padding:13px 12px;color:#f4f6f7;font-weight:700;font-size:12.4px;line-height:1.4;min-height:51px}
.abv3-faq summary::-webkit-details-marker{display:none}
.abv3-faq summary:focus-visible{outline:2px solid #5791c7;outline-offset:-3px}
.abv3-faq[open] summary{background:linear-gradient(90deg,#224667,#213d56);color:#fff}
.abv3-faq-toggle{flex:none;position:relative;width:16px;height:16px}
.abv3-faq-toggle:before,.abv3-faq-toggle:after{content:"";position:absolute;background:#f3f5f6;top:7px;left:2px;width:12px;height:2px;border-radius:2px}
.abv3-faq-toggle:after{transform:rotate(90deg)}
.abv3-faq[open] .abv3-faq-toggle:after{transform:none}
.abv3-faq-answer{padding:10px 13px 13px;border-top:1px solid #3b5369}
.abv3-faq-answer p{font-size:12px;line-height:1.58;color:#e4e8ec;margin:0}
.abv3-reasons{display:grid;grid-template-columns:1.1fr 1.55fr repeat(4,.75fr);gap:0;overflow:hidden;margin-top:22px;border-radius:20px;border:1px solid #496681;background:linear-gradient(130deg,#253544,#142534 76%,#263543);min-height:154px;box-shadow:0 10px 25px rgba(0,0,0,.18)}
.abv3-reasons-photo{width:100%;height:100%;min-height:154px;object-fit:cover;filter:saturate(.78)}
.abv3-reasons-copy{display:flex;flex-direction:column;justify-content:center;padding:20px 22px}
.abv3-reasons-copy h2{color:#fff;font-size:clamp(17px,1.4vw,23px);margin:0 0 8px;font-weight:800;line-height:1.22}
.abv3-reasons-copy p{color:#dce0e4;font-size:12px;line-height:1.55;margin:0}
.abv3-reason{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:14px 14px;position:relative;text-align:center;color:#fafbfb}
.abv3-reason:before{content:"";position:absolute;left:0;top:22%;height:56%;width:1px;background:#3d566d}
.abv3-reason svg{color:#3e7eba;margin-bottom:8px}
.abv3-reason strong{color:#fff;font-size:14px;line-height:1.3;font-weight:780;margin-bottom:5px}
.abv3-reason span{color:#dbdfe3;font-size:11.2px;line-height:1.45}
.abv3-cta{display:grid;grid-template-columns:1.2fr 1fr auto;align-items:center;gap:24px;margin-top:18px;min-height:93px;border-radius:18px;border:1px solid #e0e5e9;background:linear-gradient(112deg,#6e8ead 0%,#f3f5f6 28%,#d5dadf 75%,#688cad 100%);padding:17px 20px;color:#142637;box-shadow:0 9px 21px rgba(0,0,0,.23),inset 0 1px 2px white}
.abv3-cta-title{display:flex;align-items:center;gap:14px}
.abv3-drop{font-size:32px;color:#29547b;font-weight:850;line-height:1}
.abv3-cta-title h2{color:#102233;font-size:clamp(18px,1.5vw,25px);letter-spacing:-.04em;font-weight:820;line-height:1.15;margin:0}
.abv3-cta>p{font-size:12.5px;line-height:1.5;color:#263849;margin:0;padding-left:18px;border-left:1px solid #527799}
.abv3-cta-buttons{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}
.abv3-cta-buttons a{display:inline-flex;align-items:center;gap:8px;justify-content:center;text-decoration:none!important;border:1px solid transparent;border-radius:12px;padding:12px 14px;min-height:49px;white-space:nowrap;font-size:13px;font-weight:780;transition:transform .2s}
.abv3-cta-buttons a:hover{transform:translateY(-2px)}
.abv3-cta-phone{background:linear-gradient(180deg,#4f8bc4,#2c5a85);border-color:#4f8cc4!important;color:#0f2131!important;box-shadow:0 3px 8px rgba(33,68,100,.2)}
.abv3-cta-wa{background:#1d8a5a;border-color:#148251!important;color:white!important}
@media(max-width:1399px){.abv3-main-grid{grid-template-columns:1fr 1.02fr .96fr;gap:13px}.abv3-container{max-width:1380px}.abv3-intro h2{font-size:36px}.abv3-lead{font-size:12.5px}.abv3-step{grid-template-columns:103px 1fr;gap:8px}.abv3-step-text h3{font-size:13.5px}.abv3-step-text p{font-size:10.5px}.abv3-faq summary{font-size:11.5px}.abv3-reasons{grid-template-columns:.9fr 1.4fr repeat(4,.75fr)}.abv3-cta{grid-template-columns:1fr .85fr auto;gap:14px}}
@media(max-width:1120px){.abv3-main-grid{grid-template-columns:1fr 1.05fr}.abv3-faq-col{grid-column:1/-1;min-height:0}.abv3-faq-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.abv3-faq-title{margin-bottom:12px}.abv3-intro{min-height:560px}.abv3-step{grid-template-columns:128px 1fr}.abv3-reasons{grid-template-columns:1fr 1.5fr repeat(2,1fr)}.abv3-reasons .abv3-reason:nth-of-type(4),.abv3-reasons .abv3-reason:nth-of-type(5){display:none}.abv3-cta{grid-template-columns:1fr auto}.abv3-cta>p{grid-row:2;grid-column:1/-1;padding:0;border:0}.abv3-cta-buttons{grid-row:1;grid-column:2}}
@media(max-width:720px){.abv3-section{padding:32px 13px 43px}.abv3-main-grid{grid-template-columns:1fr;gap:16px}.abv3-intro{min-height:620px;padding:5px 6px}.abv3-intro h2{font-size:clamp(30px,7.2vw,40px)}.abv3-intro-photo{height:49%;width:77%}.abv3-faq-col{grid-column:auto}.abv3-faq-list{grid-template-columns:1fr}.abv3-step{grid-template-columns:121px 1fr}.abv3-reasons{grid-template-columns:repeat(2,minmax(0,1fr))}.abv3-reasons-photo{display:none}.abv3-reasons-copy{grid-column:1/-1;text-align:center;padding:18px;border-bottom:1px solid #33475a}.abv3-reasons .abv3-reason:nth-of-type(4),.abv3-reasons .abv3-reason:nth-of-type(5){display:flex}.abv3-reason{min-height:115px}.abv3-reason:nth-child(2n+1):before{display:none}.abv3-cta{grid-template-columns:1fr;padding:17px 16px;gap:12px}.abv3-cta-buttons{grid-column:1;grid-row:auto;justify-content:stretch}.abv3-cta-buttons a{flex:1}.abv3-cta>p{grid-column:1;grid-row:auto;text-align:left}}
@media(max-width:410px){.abv3-intro{min-height:645px}.abv3-intro-photo{height:45%;width:84%}.abv3-lead{font-size:12.2px}.abv3-process-heading{padding:15px 11px 11px;gap:10px}.abv3-heading-icon{width:39px;height:39px}.abv3-process-heading h2{font-size:19px}.abv3-process-heading p{font-size:11px}.abv3-steps{padding:9px 8px 12px;gap:8px}.abv3-step{grid-template-columns:105px 1fr;padding:7px;gap:8px}.abv3-step-visual{height:88px}.abv3-step-text h3{font-size:12px}.abv3-step-text p{font-size:10.2px;line-height:1.43}.abv3-reasons-copy{padding:17px 13px}.abv3-reason{padding:12px 7px}.abv3-reason strong{font-size:12px}.abv3-reason span{font-size:10px}.abv3-cta-buttons a{font-size:11.5px;padding:12px 8px}.abv3-cta-phone svg{display:none}}
@media(prefers-reduced-motion:reduce){.abv3-section *, .abv3-section *:before,.abv3-section *:after{transition:none!important}}

/* Final responsive refinements from rendered 320–430 px checks. */
.abv3-step-visual img{object-fit:contain;background:linear-gradient(145deg,#dee3e7,#6b8cac)}
@media(max-width:720px){
 .abv3-intro{min-height:0;display:flex;flex-direction:column;align-items:stretch}
 .abv3-intro-photo{position:relative;right:auto;bottom:auto;width:100%;height:clamp(195px,61vw,310px);margin-top:20px;clip-path:none;border-radius:15px;flex:none}
 .abv3-intro-photo:before{background:linear-gradient(0deg,rgba(13,28,41,.4),transparent 25%)}
 .abv3-intro-photo img{object-position:center 50%}
 .abv3-intro-actions{margin-top:14px}
}
@media(max-width:480px){
 .abv3-cta-buttons{flex-direction:column;align-items:stretch}
 .abv3-cta-buttons a{width:100%;white-space:normal;text-align:center;font-size:12.5px;padding:12px 9px}
 .abv3-cta-phone svg{display:block}
}


/* Typography consistency patch (Inter / WordPress–WooCommerce look).
   Scoped exclusively to the approved About/Services section.
   The base Bootstrap template sets all h1–h6 headings to Teko,
   so a parent font-family alone cannot correct the heading font. */
.abv3-section,
.abv3-section :is(h1,h2,h3,h4,h5,h6,p,span,strong,a,button,summary,small,label,b,em) {
    font-family: Inter, Arial, Helvetica, sans-serif !important;
    font-stretch: normal;
    font-kerning: normal;
}
.abv3-section {text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}

/* Same heading hierarchy and proportions as the existing hero. */
.abv3-section .abv3-intro h2 {
    font-family:Inter,Arial,sans-serif!important;
    font-size:clamp(30px,2.66vw,46px)!important;
    font-weight:800!important;
    line-height:1.22!important;
    letter-spacing:-.035em!important;
    word-spacing:normal;
}
.abv3-section .abv3-intro h2 span {
    font:inherit!important;
    display:block;
    color:inherit;
    letter-spacing:inherit!important;
}
.abv3-section .abv3-eyebrow {font-weight:800;letter-spacing:.012em;line-height:1.4}
.abv3-section .abv3-lead {font-size:14px;font-weight:500;line-height:1.7;letter-spacing:0}
.abv3-section .abv3-checklist span {font-size:13.5px;font-weight:650;line-height:1.5;letter-spacing:0}
.abv3-section .abv3-btn {font-weight:800;font-size:14px;line-height:1.25;letter-spacing:0}

/* Process cards: normal Inter instead of the template's condensed headline. */
.abv3-section .abv3-process-heading h2 {font-size:clamp(19px,1.5vw,23px);font-weight:800;line-height:1.25;letter-spacing:-.026em}
.abv3-section .abv3-process-heading p {font-size:12.5px;font-weight:500;line-height:1.55}
.abv3-section .abv3-step-text h3 {font-size:14.5px;font-weight:750;line-height:1.34;letter-spacing:-.016em}
.abv3-section .abv3-step-text p {font-size:12px;font-weight:450;line-height:1.53;letter-spacing:0}

/* FAQ, benefit strip and lower CTA share the same natural spacing. */
.abv3-section .abv3-faq-title h2 {font-size:clamp(19px,1.5vw,23px);font-weight:800;line-height:1.25;letter-spacing:-.027em}
.abv3-section .abv3-faq summary {font-size:12.5px;font-weight:700;line-height:1.48;letter-spacing:0}
.abv3-section .abv3-faq-answer p {font-size:12.5px;font-weight:450;line-height:1.64;letter-spacing:0}
.abv3-section .abv3-reasons-copy h2 {font-size:clamp(19px,1.4vw,23px);font-weight:800;line-height:1.28;letter-spacing:-.028em}
.abv3-section .abv3-reasons-copy p {font-size:12.5px;font-weight:450;line-height:1.63;letter-spacing:0}
.abv3-section .abv3-reason strong {font-size:13.5px;font-weight:750;line-height:1.35;letter-spacing:-.012em}
.abv3-section .abv3-reason span {font-size:11.5px;font-weight:450;line-height:1.55;letter-spacing:0}
.abv3-section .abv3-cta-title h2 {font-size:clamp(19px,1.5vw,25px);font-weight:800;line-height:1.25;letter-spacing:-.028em}
.abv3-section .abv3-cta > p {font-size:12.5px;font-weight:500;line-height:1.6;letter-spacing:0}
.abv3-section .abv3-cta-buttons a {font-size:13px;font-weight:750;line-height:1.4;letter-spacing:0}

@media(max-width:1399px){
  .abv3-section .abv3-intro h2{font-size:clamp(30px,2.7vw,38px)!important}
  .abv3-section .abv3-step-text h3{font-size:13.5px}
  .abv3-section .abv3-step-text p{font-size:11.4px}
  .abv3-section .abv3-faq summary{font-size:12px}
}
@media(max-width:720px){
  .abv3-section .abv3-intro h2{font-size:clamp(29px,7.2vw,39px)!important;line-height:1.21!important}
  .abv3-section .abv3-lead{font-size:13.5px}
  .abv3-section .abv3-step-text h3{font-size:13.5px}
  .abv3-section .abv3-step-text p{font-size:11.8px}
}
@media(max-width:410px){
  .abv3-section .abv3-intro h2{font-size:clamp(29px,7.8vw,32px)!important}
  .abv3-section .abv3-step-text h3{font-size:12.7px}
  .abv3-section .abv3-step-text p{font-size:11.3px;line-height:1.47}
  .abv3-section .abv3-cta-buttons a{font-size:12.5px}
}


/* Compact, balanced two-line headline: same Inter family and brand styling.
   Overrides only this title; all other site sections remain untouched. */
.abv3-section .abv3-intro #abv3-main-title {
  max-width:100% !important;
  font-size:clamp(27px,1.9vw,35px) !important;
  line-height:1.17 !important;
  letter-spacing:-.045em !important;
  font-weight:800 !important;
  overflow-wrap:normal;
}
.abv3-section .abv3-intro #abv3-main-title span {
  display:block !important;
  font:inherit !important;
  color:inherit !important;
  letter-spacing:inherit !important;
}
@media (min-width:1121px) and (max-width:1399px) {
  .abv3-section .abv3-intro #abv3-main-title {
    font-size:clamp(24px,1.8vw,29px) !important;
  }
}
@media (min-width:721px) and (max-width:900px) {
  .abv3-section .abv3-intro #abv3-main-title {
    font-size:clamp(22px,2.9vw,26px) !important;
  }
}
@media (max-width:720px) {
  .abv3-section .abv3-intro #abv3-main-title {
    font-size:clamp(22px,5.9vw,28px) !important;
    line-height:1.17 !important;
  }
}
