.elementor-160 .elementor-element.elementor-element-ab_bc{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-160 .elementor-element.elementor-element-ab_bc:not(.elementor-motion-effects-element-type-background), .elementor-160 .elementor-element.elementor-element-ab_bc > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F3EEE5;}.elementor-160 .elementor-element.elementor-element-ab_hero{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-160 .elementor-element.elementor-element-ab_hero:not(.elementor-motion-effects-element-type-background), .elementor-160 .elementor-element.elementor-element-ab_hero > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F3EEE5;}.elementor-160 .elementor-element.elementor-element-ab_stats{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-160 .elementor-element.elementor-element-ab_stats:not(.elementor-motion-effects-element-type-background), .elementor-160 .elementor-element.elementor-element-ab_stats > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F3EEE5;}.elementor-160 .elementor-element.elementor-element-ab_mq{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-160 .elementor-element.elementor-element-ab_mq:not(.elementor-motion-effects-element-type-background), .elementor-160 .elementor-element.elementor-element-ab_mq > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#191512;}.elementor-160 .elementor-element.elementor-element-ab_why{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-160 .elementor-element.elementor-element-ab_why:not(.elementor-motion-effects-element-type-background), .elementor-160 .elementor-element.elementor-element-ab_why > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F3EEE5;}.elementor-160 .elementor-element.elementor-element-ab_story{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-160 .elementor-element.elementor-element-ab_story:not(.elementor-motion-effects-element-type-background), .elementor-160 .elementor-element.elementor-element-ab_story > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#EAE2D4;}.elementor-160 .elementor-element.elementor-element-ab_proc{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-160 .elementor-element.elementor-element-ab_proc:not(.elementor-motion-effects-element-type-background), .elementor-160 .elementor-element.elementor-element-ab_proc > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#191512;}.elementor-160 .elementor-element.elementor-element-ab_vals{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-160 .elementor-element.elementor-element-ab_vals:not(.elementor-motion-effects-element-type-background), .elementor-160 .elementor-element.elementor-element-ab_vals > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F3EEE5;}.elementor-160 .elementor-element.elementor-element-ab_team{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-160 .elementor-element.elementor-element-ab_team:not(.elementor-motion-effects-element-type-background), .elementor-160 .elementor-element.elementor-element-ab_team > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F3EEE5;}.elementor-160 .elementor-element.elementor-element-ab_svcs{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-160 .elementor-element.elementor-element-ab_svcs:not(.elementor-motion-effects-element-type-background), .elementor-160 .elementor-element.elementor-element-ab_svcs > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#EAE2D4;}.elementor-160 .elementor-element.elementor-element-ab_area{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-160 .elementor-element.elementor-element-ab_area:not(.elementor-motion-effects-element-type-background), .elementor-160 .elementor-element.elementor-element-ab_area > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F3EEE5;}.elementor-160 .elementor-element.elementor-element-ab_rate{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-160 .elementor-element.elementor-element-ab_rate:not(.elementor-motion-effects-element-type-background), .elementor-160 .elementor-element.elementor-element-ab_rate > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#EAE2D4;}.elementor-160 .elementor-element.elementor-element-ab_faq{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-160 .elementor-element.elementor-element-ab_faq:not(.elementor-motion-effects-element-type-background), .elementor-160 .elementor-element.elementor-element-ab_faq > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#191512;}.elementor-widget-accordion .elementor-accordion-icon, .elementor-widget-accordion .elementor-accordion-title{color:var( --e-global-color-primary );}.elementor-widget-accordion .elementor-accordion-icon svg{fill:var( --e-global-color-primary );}.elementor-widget-accordion .elementor-active .elementor-accordion-icon, .elementor-widget-accordion .elementor-active .elementor-accordion-title{color:var( --e-global-color-accent );}.elementor-widget-accordion .elementor-active .elementor-accordion-icon svg{fill:var( --e-global-color-accent );}.elementor-widget-accordion .elementor-accordion-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}.elementor-widget-accordion .elementor-tab-content{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-160 .elementor-element.elementor-element-ab_cta{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-160 .elementor-element.elementor-element-ab_cta:not(.elementor-motion-effects-element-type-background), .elementor-160 .elementor-element.elementor-element-ab_cta > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#DB3336;}@media(max-width:1024px){.elementor-widget-accordion .elementor-accordion-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}.elementor-widget-accordion .elementor-tab-content{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}}@media(max-width:767px){.elementor-widget-accordion .elementor-accordion-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}.elementor-widget-accordion .elementor-tab-content{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}}/* Start custom CSS */.elementor-160 [class*='abdiffnum'],.elementor-160 [class*='abprocnum'],.elementor-160 [class*='abtlyear'],.elementor-160 [class*='abavinit'],.elementor-160 [class*='abfaqnum'],.elementor-160 [class*='abscore'],.elementor-160 [class*='abareah4'],.elementor-160 [class*='abtname'],.elementor-160 [class*='abtlh'],.elementor-160 [class*='absvcname']{font-family:Fraunces,serif !important}.elementor-160 .abtcardf{grid-column:span 2}.elementor-160 #ab-team{scroll-margin-top:90px}.elementor-160 .elementor-accordion .elementor-accordion-title{font-family:Fraunces,serif;color:#191512}.elementor-160 .elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-title{color:#DB3336}.elementor-160 .elementor-accordion .elementor-tab-title{border:none;border-bottom:1px solid #d8cdba}.elementor-160 .elementor-accordion .elementor-tab-content{border:none}@media(max-width:767px){.elementor-160 .abtcardf{grid-column:span 1}}

/* ============================================================
   ABOUT (post 160) — HOVER LAYER + TYPOGRAPHY FINISH
   Appended to existing custom_css. Reproduces redesign/about.html
   transitions + the typography carve-outs the rebuild missed.
   Token shorthand: vermilion #DB3336 / deep #B5282B / ink #191512
   / paper #F3EEE5 / line #d8cdba / clay #C2603E / muted #7d756a
   ease = cubic-bezier(.19,1,.22,1)
   ============================================================ */

/* ---- TYPOGRAPHY FINISH (carve-outs the native rebuild left at wt300) ---- */
.elementor-160 [class*='abdiffh']:not([class*='abdiffh2']),
.elementor-160 [class*='abvalh'],
.elementor-160 [class*='abtlh'],
.elementor-160 [class*='abtname'],
.elementor-160 [class*='abnamef'],
.elementor-160 [class*='absvcname'],
.elementor-160 [class*='abproch']:not([class*='abproch2']),
.elementor-160 [class*='abareah']{font-weight:400}
/* opsz carve-out: match Home's optical size on the big section H2s */
.elementor-160 .abstoryh2,.elementor-160 .abproch2,.elementor-160 .abvalsh2,
.elementor-160 .abwhyh2,.elementor-160 .abteamh2,.elementor-160 .absvcsh2,
.elementor-160 .abareah2,.elementor-160 .abctah2,.elementor-160 .abfaqh2,
.elementor-160 .abrateh2{font-variation-settings:'opsz' 60}

/* ===========================================================
   BUTTONS
   =========================================================== */
.elementor-160 .abherob1,.elementor-160 .abctabtn{transition:.4s cubic-bezier(.19,1,.22,1)}
.elementor-160 .abherob1:hover{background:#B5282B;transform:translateY(-2px)}
.elementor-160 .abherob2{transition:.4s cubic-bezier(.19,1,.22,1)}
.elementor-160 .abherob2:hover{background:#191512;color:#F3EEE5;border-color:#191512}
.elementor-160 .abctabtn:hover{transform:translateY(-2px);box-shadow:0 12px 32px rgba(0,0,0,.18)}

/* ===========================================================
   "WHAT SETS US APART" CARDS — bottom underline reveal
   .abdiffcard / .abdiffcard2 / .abdiffcard3 ; num = .abdiffnum
   =========================================================== */
.elementor-160 [class*='abdiffcard']{overflow:hidden}
.elementor-160 [class*='abdiffcard']::after{content:'';position:absolute;left:0;bottom:0;height:3px;width:0;background:#DB3336;transition:width .5s ease;z-index:2}
.elementor-160 [class*='abdiffcard']:hover::after{width:100%}
.elementor-160 [class*='abdiffnum']{transition:color .4s cubic-bezier(.19,1,.22,1)}
.elementor-160 [class*='abdiffcard']:hover [class*='abdiffnum']{color:rgba(219,51,54,.2)}

/* ===========================================================
   PROCESS STEPS (dark) — top bar scaleX + bg tint
   .abprocstep1..4
   =========================================================== */
.elementor-160 [class*='abprocstep']{overflow:hidden}
.elementor-160 [class*='abprocstep']::after{content:'';position:absolute;left:0;top:0;width:100%;height:2px;background:#DB3336;transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.19,1,.22,1);z-index:2}
.elementor-160 [class*='abprocstep']:hover::after{transform:scaleX(1)}
.elementor-160 [class*='abprocstep']:hover{background:rgba(219,51,54,.06)}

/* ===========================================================
   VALUES CARDS — subtle tint, no lift
   .abval1..3
   =========================================================== */
.elementor-160 [class*='abval'][class*='e-flexbox']:hover,
.elementor-160 .abval1:hover,.elementor-160 .abval2:hover,.elementor-160 .abval3:hover{background:rgba(219,51,54,.04)}

/* ===========================================================
   TEAM CARDS — INK-FILL SWEEP (translateY 101% -> 0)
   founder .abtcardf + .abtcard1..6 ; inner children must sit above
   =========================================================== */
.elementor-160 [class*='abtcard']{overflow:hidden}
.elementor-160 [class*='abtcard']::after{content:'';position:absolute;inset:0;background:#191512;transform:translateY(101%);transition:transform .55s ease;z-index:0;pointer-events:none}
.elementor-160 [class*='abtcard']:hover::after{transform:translateY(0)}
/* lift inner content above the sweep */
.elementor-160 [class*='abtcard']>*{position:relative;z-index:1}
.elementor-160 .abtcashc{position:relative;z-index:1}
/* text/avatar inverts on hover */
.elementor-160 [class*='abtcard']:hover [class*='abtname'],
.elementor-160 [class*='abtcard']:hover [class*='abnamef'],
.elementor-160 [class*='abtcard']:hover [class*='abtrole'],
.elementor-160 [class*='abtcard']:hover [class*='abrolef']{color:#F3EEE5}
.elementor-160 [class*='abtcard']:hover [class*='abtline'],
.elementor-160 [class*='abtcard']:hover .abfbio{color:rgba(243,238,229,.7)}
.elementor-160 [class*='abtcard'] [class*='abav']{transition:background .4s cubic-bezier(.19,1,.22,1),border-color .4s cubic-bezier(.19,1,.22,1)}
.elementor-160 [class*='abtcard'] [class*='abavinit']{transition:color .4s cubic-bezier(.19,1,.22,1)}
.elementor-160 [class*='abtcard']:hover [class*='abav']{background:rgba(219,51,54,.2);border-color:rgba(255,255,255,.15)}
.elementor-160 [class*='abtcard']:hover [class*='abavinit']{color:#DB3336}

/* ===========================================================
   SERVICES CARDS — INK-FILL SWEEP (::before)
   .absvccard1..8 ; inner: icon/name/desc/arrow
   =========================================================== */
.elementor-160 [class*='absvccard']{overflow:hidden}
.elementor-160 [class*='absvccard']::before{content:'';position:absolute;inset:0;background:#191512;transform:translateY(101%);transition:transform .5s cubic-bezier(.19,1,.22,1);z-index:0;pointer-events:none}
.elementor-160 [class*='absvccard']:hover::before{transform:translateY(0)}
.elementor-160 [class*='absvccard']>*{position:relative;z-index:1}
.elementor-160 [class*='absvcname'],
.elementor-160 [class*='absvcdesc'],
.elementor-160 [class*='absvcarr']{transition:color .4s cubic-bezier(.19,1,.22,1)}
.elementor-160 [class*='absvccard']:hover [class*='absvcname']{color:#F3EEE5}
.elementor-160 [class*='absvccard']:hover [class*='absvcdesc']{color:rgba(207,198,182,.7)}
.elementor-160 [class*='absvccard']:hover [class*='absvcarr']{color:#DB3336}
/* icon: chip + svg stroke swap */
.elementor-160 [class*='absvcicon']{transition:background .4s cubic-bezier(.19,1,.22,1),border-color .4s cubic-bezier(.19,1,.22,1)}
.elementor-160 [class*='absvccard']:hover [class*='absvcicon']{border-color:rgba(255,255,255,.15);background:rgba(219,51,54,.15)}
.elementor-160 [class*='absvcsvg'] svg{transition:stroke .4s cubic-bezier(.19,1,.22,1)}
.elementor-160 [class*='absvccard']:hover [class*='absvcsvg'] svg{stroke:#DB3336}

/* ===========================================================
   PILLS / AREA TAGS
   .ab-area-tag
   =========================================================== */
.elementor-160 .ab-area-tag{transition:border-color .3s cubic-bezier(.19,1,.22,1),color .3s cubic-bezier(.19,1,.22,1)}
.elementor-160 .ab-area-tag:hover{border-color:#DB3336;color:#DB3336}

/* ===========================================================
   BREADCRUMB LINKS
   .abbc a
   =========================================================== */
.elementor-160 .abbc a{transition:color .3s}
.elementor-160 .abbc a:hover{color:#DB3336}

/* ===========================================================
   STORY inline links + areas list links (vermilion underline)
   =========================================================== */
.elementor-160 [class*='abstorylhs'] a,.elementor-160 .abstoryp a{transition:border-color .3s,color .3s}

/* ===========================================================
   FAQ accordion (legacy v3) — ensure open title vermilion + Fraunces
   (base set in existing custom_css; reinforce !important vs body Inter)
   =========================================================== */
.elementor-160 .elementor-accordion .elementor-accordion-title{font-family:Fraunces,serif !important;transition:color .3s}
.elementor-160 .elementor-accordion .elementor-tab-title:hover .elementor-accordion-title{color:#DB3336}
.elementor-160 .elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-title{color:#DB3336 !important}

/* ---- WEIGHT CORRECTION: beat site-wide .page-id-160 h1..h4{font-weight:300!important} ---- */
.elementor-160 h3[class*='abdiffh']:not([class*='abdiffh2']),
.elementor-160 h3[class*='abvalh'],
.elementor-160 h4[class*='abtlh'],
.elementor-160 h3[class*='abproch']:not([class*='abproch2']){font-weight:400 !important}


/* =========================================================
   ABOUT (post 160) — CRAFTSMAN FIX PASS (fidelity to about.html)
   Appended after the prior typography+hover layer.
   Fixes: H1 size, H2 reduce, FAQ dark+single-col+collapsed,
   hero illustration size, marquee Fraunces, hero lead, process
   H2 wrap, ratings bg. Tokens: paper #F3EEE5 / paper-2 #EAE2D4
   / ink #191512 / ink-soft #3a342d / muted #7d756a / line #d8cdba
   / vermilion #DB3336 / clay #C2603E.
   ============================================================ */

/* ---- FIX 1: HERO H1 — beat .elementor .abheroh1{font-size:2.8rem} ---- */
.elementor-160 h1.abheroh1{
  font-family:'Fraunces',serif !important;
  font-size:clamp(2.8rem,5.8vw,5rem) !important;
  font-weight:300 !important;
  line-height:1.04 !important;
  letter-spacing:-.04em !important;
  color:#191512 !important;
  font-variation-settings:'opsz' 144 !important;
}
.elementor-160 h1.abheroh1 em,
.elementor-160 h1.abheroh1 i{font-style:italic !important;color:#DB3336 !important;font-weight:300 !important}

/* ---- FIX 2: SECTION H2 — reduce 54px -> reference clamps, drop opsz ---- */
/* standard section H2 = clamp(1.8rem,3.4vw,2.9rem) ~46px */
.elementor-160 h2.abwhyh2,
.elementor-160 h2.abstoryh2,
.elementor-160 h2.abproch2,
.elementor-160 h2.abvalsh2,
.elementor-160 h2.abteamh2,
.elementor-160 h2.absvcsh2,
.elementor-160 h2.abfaqh2{
  font-size:clamp(1.8rem,3.4vw,2.9rem) !important;
  line-height:1.05 !important;
  letter-spacing:-.03em !important;
  font-weight:300 !important;
  font-variation-settings:normal !important;
}
/* Service-Areas H2 + Ratings H2 = clamp(1.6rem,3vw,2.4rem) ~38px */
.elementor-160 h2.abareah2,
.elementor-160 h2.abrateh2{
  font-size:clamp(1.6rem,3vw,2.4rem) !important;
  line-height:1.1 !important;
  letter-spacing:-.03em !important;
  font-weight:300 !important;
  font-variation-settings:normal !important;
}
/* CTA H2 ("Ready to grow...") = clamp(2rem,4.6vw,3.6rem) ~57px, white */
.elementor-160 h2.abctah2{
  font-size:clamp(2rem,4.6vw,3.6rem) !important;
  line-height:1.05 !important;
  letter-spacing:-.03em !important;
  font-weight:300 !important;
  font-variation-settings:normal !important;
}

/* ---- FIX 9: PROCESS H2 wrap to 2 lines ---- */
.elementor-160 h2.abproch2{max-width:26ch}

/* ---- FIX 8: HERO LEAD — 17.6px ink-soft, lh 1.65, max 48ch ---- */
.elementor-160 .abherosub{
  font-size:1.1rem !important;       /* 17.6px */
  color:#3a342d !important;
  line-height:1.65 !important;
  max-width:48ch !important;
}

/* ---- FIX 5: HERO ILLUSTRATION — enlarge canvas to ~576px ---- */
.elementor-160 .aborbwrap{
  flex-basis:600px !important;
  flex-grow:1 !important;
  max-width:600px;
  width:100%;
  aspect-ratio:1 / .72;
  min-height:415px;            /* guard: aspect-ratio collapses in column flex */
}
.elementor-160 .aborbwrap > .elementor-widget-html,
.elementor-160 .aborbwrap .elementor-widget-container{width:100%;height:100%}
.elementor-160 #ab-orb{width:100% !important;height:100% !important;min-height:415px}

/* ---- FIX 7: MARQUEE — Fraunces italic, not Inter ---- */
/* Beat the blanket .page-id-160 span{font-family:Inter}. */
.elementor-160 .ab-mq-track span,
.page-id-160 .ab-mq-track span{
  font-family:'Fraunces',serif !important;
  font-style:italic !important;
}
/* keep the ✶ separators vermilion if present as pseudo/inline */
.elementor-160 .ab-mq-track .ab-mq-star,
.elementor-160 .ab-mq-track span::after{color:#DB3336 !important}

/* ---- FIX 12: RATINGS — plain paper bg (#F3EEE5), not paper-2 ---- */
.elementor-160 .ab_rate,
.elementor-160 [class*="ab_rate"]{background-color:#F3EEE5 !important}

/* ============================================================
   FIX 3 + 4: FAQ — dark, single-column, collapsed, icon right
   Outer section .ab_faq -> #191512. Inner grid .abfaqinner ->
   single column. Hide invented intro (.abfaqsub) + CTA (.abfaqcta).
   Accordion: paper questions, white-alpha dividers, 32px bordered
   circle +/x on the RIGHT.
   ============================================================ */
/* dark background on the FAQ section */
.elementor-160 .ab_faq,
.elementor-160 [class*="ab_faq"]{background-color:#191512 !important}

/* single full-width column: collapse the 2-col grid */
.elementor-160 .abfaqinner{
  display:block !important;
  grid-template-columns:1fr !important;
  max-width:860px;
  margin:0 auto;
}
.elementor-160 .abfaqlhs,
.elementor-160 .abfaqrhs{width:100% !important;max-width:100% !important}

/* remove the invented intro paragraph + CTA button */
.elementor-160 .abfaqsub,
.elementor-160 .abfaqcta{display:none !important}

/* eyebrow + H2 colours on dark */
.elementor-160 .abfaqeye{color:#C2603E !important}
.elementor-160 h2.abfaqh2{color:#F3EEE5 !important}

/* ACCORDION — dark restyle */
.elementor-160 .elementor-widget-accordion .elementor-accordion{background:transparent}
.elementor-160 .elementor-widget-accordion .elementor-accordion-item{
  border:none !important;
  border-top:1.5px solid rgba(255,255,255,.1) !important;
  background:transparent !important;
}
.elementor-160 .elementor-widget-accordion .elementor-accordion-item:last-child{
  border-bottom:1.5px solid rgba(255,255,255,.1) !important;
}
.elementor-160 .elementor-widget-accordion .elementor-tab-title{
  border:none !important;
  background:transparent !important;
  padding:26px 0 !important;
  position:relative;
  display:block;
}
/* question text -> paper Fraunces */
.elementor-160 .elementor-widget-accordion .elementor-accordion-title{
  font-family:'Fraunces',serif !important;
  font-weight:400 !important;
  font-size:1.18rem !important;
  letter-spacing:-.02em !important;
  color:#F3EEE5 !important;
  transition:color .3s;
  /* leave room for the right-hand circle icon */
  display:block;padding-right:52px;
}
.elementor-160 .elementor-widget-accordion .elementor-tab-title:hover .elementor-accordion-title{color:#DB3336 !important}
.elementor-160 .elementor-widget-accordion .elementor-tab-title.elementor-active .elementor-accordion-title{color:#DB3336 !important}

/* ICON -> bordered circle on the RIGHT */
.elementor-160 .elementor-widget-accordion .elementor-accordion-icon{
  position:absolute;right:0;top:50%;transform:translateY(-50%);
  float:none !important;margin:0 !important;padding:0 !important;
  width:32px;height:32px;border-radius:50%;
  border:1.5px solid rgba(255,255,255,.2);
  display:grid;place-items:center;
  transition:.4s cubic-bezier(.19,1,.22,1);
}
.elementor-160 .elementor-widget-accordion .elementor-accordion-icon.elementor-accordion-icon-left,
.elementor-160 .elementor-widget-accordion .elementor-accordion-icon.elementor-accordion-icon-right{
  margin:0 !important;
}
.elementor-160 .elementor-widget-accordion .elementor-accordion-icon svg,
.elementor-160 .elementor-widget-accordion .elementor-accordion-icon i{
  width:14px;height:14px;font-size:14px;line-height:1;
  color:rgba(255,255,255,.6);fill:rgba(255,255,255,.6);
  transition:.4s cubic-bezier(.19,1,.22,1);
}
/* open state: fill red, white glyph */
.elementor-160 .elementor-widget-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon{
  background:#DB3336;border-color:#DB3336;
}
.elementor-160 .elementor-widget-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon svg,
.elementor-160 .elementor-widget-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon i{
  color:#fff;fill:#fff;
}

/* answer body -> washed paper, dark surround, no border */
.elementor-160 .elementor-widget-accordion .elementor-tab-content{
  border:none !important;
  background:transparent !important;
  padding:0 0 28px !important;
  color:rgba(207,198,182,.78) !important;
  font-family:'Inter',sans-serif !important;
  font-size:.95rem !important;
  line-height:1.75 !important;
  max-width:72ch;
}
.elementor-160 .elementor-widget-accordion .elementor-tab-content p{color:rgba(207,198,182,.78) !important}

/* FAQ-STICKY-FIX */
.elementor-160 .abfaqlhs{position:static !important;top:auto !important;display:block !important;margin-bottom:54px}
.elementor-160 .abfaqrhs{position:static !important;display:block !important}
.elementor-160 h2.abfaqh2{margin-bottom:0}
 /* gap-fix-20260611 */ .elementor-160 .elementor-element.elementor-element-3668e5b{padding-top:34px!important} @media(max-width:767px){.elementor-160 .elementor-element.elementor-element-3668e5b{padding-top:24px!important}} .elementor-160 .elementor-element-ab_schema{display:none!important} /* abbc-tighten */ .elementor-160 .abbc{padding-top:4px!important;padding-bottom:0!important} /* crumb-hide */ .elementor-160 [data-id="ab_bc"]{display:none!important}

/* =========================================================
   ABOUT (post 160) — CRAFTSMAN FIX PASS 2 (5 fidelity fixes)
   Appended LAST so it wins on source order. Reproduces
   redesign/about.html (items 1-4) + live homepage FAQ (item 5).
   Tokens: paper #F3EEE5 / paper-2 #EAE2D4 / ink #191512
   / ink-soft #3a342d / muted #7d756a / line #d8cdba
   / vermilion #DB3336 / clay #C2603E.
   ============================================================ */

/* ---- ITEM 1: "WHAT SETS US APART" grid = ONE ruled box, no padding frame.
   Reference .diff-grid: border 1.5px ink, gap 2px, padding 0. The 10px
   grid padding made the cards float inside the border; zero it so cards
   sit flush and the card border-rights read as hairline ink dividers.
   (Hover underline + num tint already correct — verified live.) ---- */
.elementor-160 .abdiffgrid{padding:0 !important;background:transparent !important}

/* ---- ITEM 2: "OUR VALUES" grid = ruled box (line border), no padding frame.
   Reference .vals-grid: border 1.5px line, gap 2px, padding 0.
   (Hover tint rgba(219,51,54,.04) already correct — verified live.) ---- */
.elementor-160 .abvalsgrid{padding:0 !important;background:transparent !important}

/* ---- ITEM 3: "OUR SERVICES" grid = ONE ruled box, no padding frame.
   Reference .svc-grid: border 1.5px ink, gap 2px, padding 0; cards flush
   with hairline ink dividers (card border-right + border-bottom).
   (Ink-fill hover preserved from prior layer.) ---- */
.elementor-160 .absvcgrid{padding:0 !important;background:transparent !important}

/* ---- ITEM 4a: SERVICE AREAS lists — tighten row spacing.
   Reference .area-list: gap 10px, NO per-item padding; rows align-center.
   Live rows (.abolrow* office, .abvlrow* verticals) carry padding:10px,
   inflating row-to-row to ~53px. Remove it -> ~33px like the reference. ---- */
.elementor-160 [class*='abolrow'],
.elementor-160 [class*='abvlrow']{padding:0 !important}

/* ---- ITEM 4b: SERVICE AREAS — make the right panel read.
   Reference: section .areas = paper-2 (#EAE2D4); panel .areas-map = paper
   (#F3EEE5) + 1.5px line border + 16px radius. Live section was paper,
   same as the panel, so the panel disappeared. Set the section to paper-2
   so the paper card sits on a distinct panel background (panel border/
   radius/bg already present on .abareasmap). ---- */
.elementor-160.elementor-page .elementor-element.elementor-element-ab_area,
.elementor-160 .elementor-element-ab_area{background-color:#EAE2D4 !important}

/* ============================================================
   ITEM 5: FAQ -> match the HOMEPAGE light FAQ (overrides the
   prior dark/single-column FAQ block above).
   Homepage spec (live #homeFaq): section bg paper-2 #EAE2D4;
   2-col flex (left rail ~324px sticky + accordion right, gap 56px);
   left rail = clay eyebrow + Fraunces ink H2 (wt300) + muted intro
   + clay button. Accordion items: 1.5px #d8cdba hairline top+bottom;
   question Fraunces 1.2rem wt400 ink #191512; icon = 28px circle,
   1.5px #d8cdba border, ink glyph, on the RIGHT; answer muted
   #7d756a lh1.7; open state stays ink (NOT red), icon flips +/-.
   ============================================================ */

/* section -> light paper-2 (was ink) */
.elementor-160 .ab_faq,
.elementor-160 [class*="ab_faq"]{background-color:#EAE2D4 !important}

/* restore the 2-column layout (prior CSS forced single column) */
.elementor-160 .abfaqinner{
  display:flex !important;
  flex-direction:row !important;
  align-items:flex-start !important;
  gap:56px !important;
  grid-template-columns:none !important;
  max-width:none !important;
  margin:0 !important;
}
.elementor-160 .abfaqlhs{
  flex:0 0 324px !important;
  width:324px !important;
  max-width:324px !important;
  position:sticky !important;
  top:110px !important;
  margin-bottom:0 !important;
  display:flex !important;
  flex-direction:column !important;
}
.elementor-160 .abfaqrhs{
  flex:1 1 auto !important;
  width:auto !important;
  max-width:none !important;
  position:static !important;
}

/* left rail: un-hide intro + CTA (prior CSS hid them) */
.elementor-160 .abfaqsub{display:block !important;color:#3a342d !important;font-family:'Inter',sans-serif !important;font-size:1rem !important;line-height:1.65 !important;margin-top:16px !important;max-width:34ch}
.elementor-160 .abfaqcta{display:inline-flex !important;align-items:center;gap:8px;margin-top:24px !important;background:#C2603E !important;color:#fff !important;padding:13px 26px !important;border-radius:100px !important;font-weight:600 !important;font-size:.95rem !important;width:max-content}

/* eyebrow clay, H2 Fraunces ink wt300 (homepage uses ink, not red) */
.elementor-160 .abfaqeye{color:#C2603E !important}
.elementor-160 h2.abfaqh2{color:#191512 !important;font-family:'Fraunces',serif !important;font-weight:300 !important;margin-bottom:0 !important}
.elementor-160 h2.abfaqh2 em,
.elementor-160 h2.abfaqh2 i{font-style:italic !important;color:#191512 !important}

/* ---- ACCORDION -> light homepage styling (override prior dark rules) ---- */
.elementor-160 .elementor-widget-accordion .elementor-accordion{background:transparent !important}
.elementor-160 .elementor-widget-accordion .elementor-accordion-item{
  border:none !important;
  border-top:1.5px solid #d8cdba !important;
  background:transparent !important;
}
.elementor-160 .elementor-widget-accordion .elementor-accordion-item:last-child{
  border-bottom:1.5px solid #d8cdba !important;
}
.elementor-160 .elementor-widget-accordion .elementor-tab-title{
  border:none !important;
  background:transparent !important;
  padding:24px 0 !important;
  position:relative !important;
  display:block !important;
}
/* question text -> Fraunces ink */
.elementor-160 .elementor-widget-accordion .elementor-accordion-title{
  font-family:'Fraunces',serif !important;
  font-weight:400 !important;
  font-size:1.2rem !important;
  letter-spacing:-.02em !important;
  color:#191512 !important;
  display:block !important;
  padding-right:48px !important;
  transition:color .3s;
}
.elementor-160 .elementor-widget-accordion .elementor-tab-title:hover .elementor-accordion-title{color:#DB3336 !important}
/* open state: question stays ink (homepage does NOT turn it red) */
.elementor-160 .elementor-widget-accordion .elementor-tab-title.elementor-active .elementor-accordion-title{color:#191512 !important}

/* ICON -> 28px light circle, ink glyph, on the RIGHT (override dark/red) */
.elementor-160 .elementor-widget-accordion .elementor-accordion-icon{
  position:absolute !important;right:0 !important;top:50% !important;transform:translateY(-50%) !important;
  float:none !important;margin:0 !important;padding:0 !important;
  width:28px !important;height:28px !important;border-radius:50% !important;
  border:1.5px solid #d8cdba !important;
  background:transparent !important;
  display:grid !important;place-items:center !important;
  transition:.3s !important;
}
.elementor-160 .elementor-widget-accordion .elementor-accordion-icon.elementor-accordion-icon-left,
.elementor-160 .elementor-widget-accordion .elementor-accordion-icon.elementor-accordion-icon-right{margin:0 !important}
.elementor-160 .elementor-widget-accordion .elementor-accordion-icon svg,
.elementor-160 .elementor-widget-accordion .elementor-accordion-icon i{
  width:13px !important;height:13px !important;font-size:13px !important;line-height:1 !important;
  color:#191512 !important;fill:#191512 !important;
  transition:.3s !important;
}
/* open state icon: keep light circle + ink glyph (homepage flips + -> -, no fill) */
.elementor-160 .elementor-widget-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon{
  background:transparent !important;border-color:#d8cdba !important;
}
.elementor-160 .elementor-widget-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon svg,
.elementor-160 .elementor-widget-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon i{
  color:#191512 !important;fill:#191512 !important;
}

/* answer body -> muted on light */
.elementor-160 .elementor-widget-accordion .elementor-tab-content{
  border:none !important;
  background:transparent !important;
  padding:0 0 24px !important;
  color:#7d756a !important;
  font-family:'Inter',sans-serif !important;
  font-size:1rem !important;
  line-height:1.7 !important;
  max-width:74ch;
}
.elementor-160 .elementor-widget-accordion .elementor-tab-content p{color:#7d756a !important}

/* mobile: stack the FAQ rail above the accordion */
@media(max-width:1024px){
  .elementor-160 .abfaqinner{flex-direction:column !important;gap:32px !important}
  .elementor-160 .abfaqlhs{flex:1 1 auto !important;width:100% !important;max-width:100% !important;position:static !important;top:auto !important}
  .elementor-160 .abfaqrhs{width:100% !important}
}

/* ITEM 5 follow-up: FAQ H2 fully ink like homepage (beat inline em red) */
.elementor-160 .abfaqh2 em,.elementor-160 .abfaqh2 i,.elementor-160 .abfaqh2 .elementor-heading-title em{color:#191512 !important;font-style:italic !important}/* End custom CSS */