/* BRAND TOKENS — CLOCKWORK ACCOUNTING & FINANCIAL SERVICES — change colors/fonts here = whole site updates */
@import url('https://fonts.googleapis.com/css2?family=Arapey:ital@0;1&family=Jost:wght@300;400;500&display=swap');
:root{
  /* palette */
  --c-primary:#8A1712; --c-primary-dark:#6E0F0B; --c-accent:#A8834B;
  --c-ink:#14100C; --c-ink-2:#5A4E42; --c-paper:#F3EBDD; --c-tint:#EFE6D6;
  --c-paper-2:#F6EFE2; --c-ink-panel:#1D160F; --c-black:#0D0A07;
  --c-accent-lt:#E9CFA0;
  --c-cream-70:rgba(243,235,221,.70); --c-cream-80:rgba(243,235,221,.82);
  --c-line:rgba(20,16,12,.22); --c-line-gold:rgba(168,131,75,.4);
  /* fonts */
  --font-head:'Arapey', serif; --font-body:'Jost',system-ui,sans-serif;
  /* buttons */
  --btn-bg:var(--c-accent); --btn-text:var(--c-ink); --btn-bg-hover:var(--c-paper);
  /* spacing / shape */
  --space-section:60px; --gap:30px;
  --r-sm:0; --r-md:0; --r-pill:0;
  --shadow-1:0 2px 10px rgba(0,0,0,.06); --shadow-2:0 36px 64px -40px rgba(20,16,12,.5);
  /* type scale */
--fs-h1: clamp(46px, 4.5vw, 64px);
--fs-h2: clamp(46px, 3.5vw, 52px);
  --fs-h3:clamp(26px,2.8vw,40px); --fs-body:17px;
  --ease:cubic-bezier(.22,1,.36,1);
}
@media all and (max-width:640px){ :root{ --space-section:64px; --gap:18px; } }

.is-wrapper h1,.is-wrapper h2,.is-wrapper h3,.is-wrapper h4,.is-wrapper h5{
  font-family:var(--font-head); color:var(--c-ink); font-weight:400; text-wrap:balance; }
.is-wrapper p,.is-wrapper li{ font-family:var(--font-body); color:var(--c-ink-2); }

/* ================= CLOCKWORK — PAGE SCOPE ================= */
.is-wrapper{ background:var(--c-paper); color:var(--c-ink);}
.cwl-eyebrow{ font-family:var(--font-body); font-size:11px; letter-spacing:.3em; text-transform:uppercase; color:var(--c-primary); }
.cwl-eyebrow.is-gold{ color:var(--c-accent); }
.cwl-ital{ font-style:italic; color:var(--c-accent); }
.cwl-ital.is-red{ color:var(--c-primary); }
.cwl-ital.is-lt{ color:var(--c-accent-lt); }
.cwl-rule{ width:46px; height:1px; background:var(--c-accent); display:block; flex:none; }
.cwl-inner{ max-width:1400px; margin:0 auto; padding:var(--space-section) 0px; }

/* --- HERO / BANNER (live is-section-40 .bnl-0 pattern) --- */
.is-wrapper .bnl-0.main-banner-sec{ background:var(--c-ink); }
.bnl-0 .pos-rel-ban{ position:relative; }
.bnl-0 .pos-rel-ban img{ display:block; width:100%; height:auto; object-fit:cover; }
/* dark cinematic scrim over the photo (replaces theme .bn-overlay) */
.bnl-0 .bn-overlay{ position:absolute; inset:0; z-index:2; pointer-events:none;
  background:linear-gradient(90deg,rgba(20,16,12,.94) 0%,rgba(20,16,12,.92) 34%,rgba(20,16,12,.62) 66%,rgba(20,16,12,.14) 100%),
             linear-gradient(180deg,rgba(20,16,12,.5) 0%,transparent 24%,transparent 70%,rgba(20,16,12,.62) 100%); }
.bnl-0 .pos-ab-ban{ z-index:3; }
.bnl-0 .bn-content{ max-width:662px; text-align:left; margin-left:0; margin-right:auto; padding:0; background:transparent; color:var(--c-paper); }
.bnl-0 .cwl-hero-loc{ display:flex; align-items:flex-start; gap:18px; margin-bottom:40px; }
.bnl-0 .cwl-hero-loc .cwl-rule{ margin-top:13px; }
.cwl-hero-pills{ display:flex; flex-wrap:wrap; gap:9px; }
.cwl-hero-pill{ font-family:var(--font-body); font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--c-accent);
  border:1px solid rgba(168,131,75,.42); padding:7px 14px; line-height:1.4; white-space:pre-wrap;
  transition:background .3s ease, color .3s ease, border-color .3s ease; }
.cwl-hero-pill:hover{ background:var(--c-accent); color:var(--c-ink); border-color:var(--c-accent); }
.bnl-0 .bn-content h1,.bnl-0 .banner-main-heading{ font-family:var(--font-head); font-weight:400; color:var(--c-paper);
  font-size:var(--fs-h1); line-height:1.02; letter-spacing:0.02em; margin:0 0 20px; text-wrap:balance; }
.bnl-0 .bn-content p{ font-family:var(--font-body); font-size:18px; line-height:1.84; color:var(--c-cream-80); font-weight:300; margin:0 0 20px; max-width:620px; }
.bnl-0 .bn-content p:last-child{ margin-bottom:0; }
.bnl-0 .bn-content .button{ display:inline-flex; align-items:center; gap:18px; font-family:var(--font-body); font-size:13px; font-weight:500;
  letter-spacing:.16em; text-transform:uppercase; color:var(--btn-text); background:var(--btn-bg); padding:22px 36px; border-radius:0; text-decoration:none; text-shadow:none; box-shadow:none;
  transition:transform .32s var(--ease),background .32s ease,box-shadow .32s ease; }
.bnl-0 .bn-content .button:hover{ background:var(--btn-bg-hover); color:var(--c-ink); transform:translateY(-4px); box-shadow:0 24px 48px -18px rgba(0,0,0,.7); opacity:1; }
.bnl-0 .bn-content .button .cwl-arw{ font-family:var(--font-head); font-size:20px; }

/* --- BUTTON --- */
.cwl-cta{ display:inline-flex; align-items:center; gap:18px; font-family:var(--font-body); font-size:13px; font-weight:500;
  letter-spacing:.16em; text-transform:uppercase; color:var(--btn-text); background:var(--btn-bg); padding:22px 36px; text-decoration:none;
  transition:transform .32s var(--ease),background .32s ease,box-shadow .32s ease; }
.cwl-cta:hover{ background:var(--btn-bg-hover); transform:translateY(-4px); box-shadow:0 24px 48px -18px rgba(0,0,0,.7); color:var(--c-ink); }
.cwl-cta .cwl-arw{ font-family:var(--font-head); font-size:20px; }
.cwl-link{ display:inline-flex; align-items:center; gap:14px; align-self:flex-start; font-family:var(--font-body); font-size:12px; font-weight:500;
  letter-spacing:.16em; text-transform:uppercase; color:var(--c-paper); border-bottom:1px solid rgba(243,235,221,.6); padding-bottom:10px; text-decoration:none;
  transition:gap .32s var(--ease),color .24s ease; }
.cwl-link:hover{ gap:24px; color:var(--c-accent-lt); }
.cwl-link .cwl-arw{ font-family:var(--font-head); font-size:18px; }

/* --- 01 INSIGHT --- */
.is-wrapper .cwl-insight{ background:radial-gradient(120% 140% at 85% 0%,#A31E17 0%,var(--c-primary) 46%,var(--c-primary-dark) 100%); color:var(--c-paper); }
.cwl-insight-grid{ display:grid; grid-template-columns: repeat(2, 2fr); gap:88px; align-items:start; }
.cwl-insight-grid > div{ display:flex; flex-direction:column; gap:38px; }
.cwl-insight-grid .cwl-eyebrow{ color:var(--c-cream-70); }
.cwl-insight-h2{ font-family:var(--font-head); font-size:clamp(32px,4vw,58px); line-height:1.02; letter-spacing:-.02em; margin:0; color:var(--c-paper); }
.cwl-insight-body{ font-family:var(--font-body); font-size:17px; line-height:1.96; color:rgba(243,235,221,.76); font-weight:300; margin:0; }

/* --- 02 ENGAGEMENTS (ledger rows) --- */
.is-wrapper .cwl-services{ background:linear-gradient(180deg,var(--c-paper-2) 0%,var(--c-paper) 40%,var(--c-tint) 100%); }
.cwl-sec-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:40px; flex-wrap:wrap; }
.cwl-sec-head-l{ display:flex; flex-direction:column; gap:22px; }
.cwl-sec-h2{ font-family:var(--font-head); font-size:var(--fs-h2); line-height:.98; letter-spacing:-.025em; margin:0; color:var(--c-ink); }
.cwl-sec-note{ font-family:var(--font-body); font-size:11px; letter-spacing:.24em; text-transform:uppercase; color:rgba(20,16,12,.5); padding-bottom:10px; }
.cwl-ledger{ border-top:1px solid var(--c-line); margin-top:48px; }
.cwl-ledger-row{ position:relative; display:grid; grid-template-columns:68px 150px minmax(0,1.1fr) minmax(0,1fr) 48px; align-items:center; gap:36px;
  padding:30px 20px; border-bottom:1px solid var(--c-line); text-decoration:none; transition:background .4s ease,padding-left .4s var(--ease); }
.cwl-ledger-row:hover{ background:rgba(20,16,12,.03); padding-left:34px; }
.cwl-ledger-num{ font-family:var(--font-head); font-size:15px; letter-spacing:.16em; color:var(--c-accent); }
.cwl-ledger-media{ position:relative; aspect-ratio:3/2; overflow:hidden; background:var(--c-ink-panel); }
.cwl-ledger-media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease); }
.cwl-ledger-row:hover .cwl-ledger-media img{ transform:scale(1.05); }
.cwl-ledger-title{ font-family:var(--font-head); font-size:clamp(24px,2.6vw,38px); line-height:1.04; letter-spacing:-.015em; color:var(--c-ink); }
.cwl-ledger-desc{ font-family:var(--font-body); font-size:15px; line-height:1.66; font-weight:300; color:var(--c-ink-2); }
.cwl-ledger-arrow{ justify-self:end; font-family:var(--font-head); font-size:28px; line-height:1; color:var(--c-primary); transition:transform .4s var(--ease); }
.cwl-ledger-row:hover .cwl-ledger-arrow{ transform:translateX(8px); }

/* --- 03 METHOD (timeline) --- */
.is-wrapper .cwl-method{ background:linear-gradient(165deg,#E7DCC7 0%,#E1D4BC 55%,#DACBAF 100%); border-top:1px solid rgba(20,16,12,.12); }
.cwl-method-head{ display:flex; flex-direction:column; gap:22px; margin-bottom:56px; }
.cwl-method-head .cwl-eyebrow{ display:block; }
.cwl-step{ display:grid; grid-template-columns:160px minmax(0,1fr) minmax(300px,.9fr); gap:56px; align-items:start; padding:56px 0; border-top:1px solid rgba(20,16,12,.2); }
.cwl-step-num{ font-family:var(--font-head); font-size:clamp(56px, 4.5vw, 64px); line-height:.8; color:rgba(138,23,18,.9); font-style:italic; }
.cwl-step-body{ display:flex; flex-direction:column; gap:22px; }
.cwl-step-kicker{ font-family:var(--font-body); font-size:11px; letter-spacing:.26em; text-transform:uppercase; color:var(--c-primary); }
.cwl-step-title{ font-family:var(--font-head); font-size:var(--fs-h3); line-height:1.12; letter-spacing:-.015em; margin:0; color:var(--c-ink); }
.cwl-step-desc{ font-family:var(--font-body); font-size:17px; line-height:1.86; color:var(--c-ink-2); margin:0; font-weight:300; max-width:560px; }
.cwl-step-media{ position:relative; aspect-ratio:5/4; min-width:0; overflow:hidden; background:var(--c-ink-panel); box-shadow:var(--shadow-2); }
.cwl-step-media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }

/* --- 04 COUNSEL (quotes) --- */
.is-wrapper .cwl-voices{ position:relative; overflow:hidden; color:var(--c-paper);
  background:radial-gradient(120% 130% at 88% 4%,#241A11 0%,var(--c-ink) 52%,var(--c-black) 100%); }
.cwl-voices-mark{ position:absolute; top:-40px; right:48px; font-family:var(--font-head); font-size:clamp(240px,30vw,480px); line-height:.7; color:rgba(168,131,75,.06); pointer-events:none; user-select:none; }
.cwl-voices-head{ display:flex; align-items:center; gap:16px; margin-bottom:22px; }
.cwl-voices-h2{ margin:0 0 56px; }
.is-wrapper .cwl-voices .cwl-voices-h2{ color:var(--c-paper) !important; }
.is-wrapper .cwl-voices .cwl-voices-h2 .cwl-ital{ color:var(--c-accent) !important; }
.cwl-voices-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:28px; }
.cwl-voice{ margin:0; display:flex; flex-direction:column; padding:44px 20px 40px; border:1px solid rgba(168,131,75,.24); border-top:2px solid var(--c-accent);
  background:rgba(243,235,221,.02); transition:transform .52s var(--ease),background .46s ease,border-color .46s ease,box-shadow .52s ease; }
.cwl-voice:hover{ transform:translateY(-10px); background:rgba(243,235,221,.05); border-color:rgba(168,131,75,.6); box-shadow:0 38px 70px -38px rgba(0,0,0,.8); }
.cwl-voice-q{ font-family:var(--font-head); font-size:56px; line-height:1; color:rgba(168,131,75,.5); display:block; margin-bottom:22px; }
.is-wrapper .cwl-voices .cwl-voice blockquote{ margin:0 0 32px; flex:1; font-family:var(--font-body); font-size: clamp(14px, 1.55vw, 18px);
  line-height:1.62; font-style:italic; color:var(--c-paper); text-wrap:pretty; }
.cwl-voice figcaption{ display:flex; align-items:center; gap:14px; padding-top:26px; border-top:1px solid rgba(168,131,75,.24); }
.cwl-voice figcaption .cwl-rule{ width:30px; }
.cwl-voice-name{ font-family:var(--font-body); font-size:11px; letter-spacing:.24em; text-transform:uppercase; color:var(--c-accent); font-weight:500; }
/* --- 05 PRACTICE (team) --- */
.is-wrapper .cwl-team{ background:linear-gradient(200deg,var(--c-tint) 0%,#ECE2D0 55%,#E4D8C2 100%); }
.cwl-team-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:40px; flex-wrap:wrap; margin-bottom:62px; padding-bottom:28px; border-bottom:1px solid var(--c-line); }
.cwl-team-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:30px; }
.cwl-member{ display:flex; flex-direction:column; }
.cwl-member-media{ position:relative; aspect-ratio:3/4; overflow:hidden; background:var(--c-ink-panel); }
.cwl-member-media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease); }
.cwl-member:hover .cwl-member-media img{ transform:scale(1.05); }
.cwl-member-num{ position:absolute; top:18px; left:20px; z-index:2; font-family:var(--font-head); font-size:12px; letter-spacing:.2em; color:var(--c-paper); mix-blend-mode:difference; }
.cwl-member-body{ display:flex; flex-direction:column; gap:11px; padding-top:22px; }
.cwl-member-rule{ display:block; width:28px; height:2px; background:var(--c-primary); }
.cwl-member-name{ font-family:var(--font-head); font-size:24px; line-height:1.12; color:var(--c-ink); }
.cwl-member-role{ font-family:var(--font-body); font-size:11px; letter-spacing:.22em; text-transform:uppercase; font-weight:500; color:var(--c-primary); }

/* --- 06 REACH (coverage + marquee) --- */
.is-wrapper .cwl-coverage{ position:relative; overflow:hidden; color:var(--c-paper);
  background:linear-gradient(165deg,#1A130D 0%,var(--c-ink) 46%,var(--c-black) 100%); }
/* full-bleed, subtle warm glow — on the section so it reaches the viewport edges */
.is-wrapper .cwl-coverage::before{ content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:radial-gradient(70% 120% at 88% 4%,rgba(138,23,18,.18),transparent 58%); }
.cwl-coverage-inner{ position:relative; z-index:1; margin:0 auto; padding:var(--space-section) 0px; }
.cwl-coverage-top{ display:flex; align-items:flex-start; justify-content:space-between; gap:48px; flex-wrap:wrap; margin-bottom:40px; }
.cwl-coverage-big{ display:flex; align-items:baseline; gap:16px; }
.cwl-coverage-big > span:first-child{ font-family:var(--font-head); font-size:clamp(56px,7vw,110px); line-height:.8; font-style:italic; color:var(--c-accent); }
.cwl-coverage-big > span:last-child{ font-family:var(--font-body); font-size:11px; letter-spacing:.3em; text-transform:uppercase; color:var(--c-cream-70); writing-mode:vertical-rl; transform:rotate(180deg); }
.is-wrapper .cwl-coverage .cwl-coverage-lede{ font-family:var(--font-body); font-weight:400; font-size: clamp(14px, 1.55vw, 18px); line-height:1.36; margin:0 0 64px; max-width:900px; color:var(--c-paper); text-wrap:pretty; }

/* --- Service-area location cards --- */
.cwl-areas{ position:relative; padding-top:44px; border-top:1px solid rgba(168,131,75,.24); }
.cwl-areas-label{ display:block; font-family:var(--font-body); font-size:11px; font-weight:500; letter-spacing:.26em; text-transform:uppercase; color:var(--c-accent); margin-bottom:30px; }
.cwl-areas-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:16px; }
.cwl-area{ display:flex; align-items:center; gap:14px; padding:22px 24px; background:rgba(243,235,221,.03);
  border:1px solid rgba(168,131,75,.22); transition:background .32s ease,border-color .32s ease,transform .32s var(--ease); }
.cwl-area:hover{ background:rgba(243,235,221,.06); border-color:rgba(168,131,75,.55); transform:translateY(-3px); }
.cwl-area-pin{ position:relative; flex:none; width:11px; height:11px; border-radius:50% 50% 50% 0; transform:rotate(-45deg);
  background:var(--c-accent); box-shadow:0 0 0 4px rgba(168,131,75,.12); }
.cwl-area-name{ font-family:var(--font-body); font-size:14px; letter-spacing:.1em; text-transform:uppercase; color:var(--c-paper); font-weight:400; }

/* --- 07 QUESTIONS (FAQ) --- */
.is-wrapper .cwl-faq{ background:linear-gradient(180deg,var(--c-paper) 0%,var(--c-paper-2) 100%); }
.cwl-faq-grid{ display:grid; grid-template-columns:minmax(300px,.5fr) minmax(0,1.5fr); gap:72px; align-items:start; }
.cwl-faq-head{ display:flex; flex-direction:column; gap:22px; position:sticky; top:56px; }
/* size + wrapping tuned so a long word ("Frequently") never breaks mid-word */
.is-wrapper .cwl-faq .cwl-faq-h2{ font-family:var(--font-head); font-weight:400; font-size:clamp(34px,3.4vw,48px);
  line-height:1.02; letter-spacing:-.02em; margin:0; color:var(--c-ink); text-wrap:balance; word-break:keep-all; overflow-wrap:normal; hyphens:none; }
.cwl-faq-list{ border-top:1px solid var(--c-line); }
.cwl-faq-item{ border-bottom:1px solid var(--c-line); }
/* force the theme's default button chrome off — no box/shadow/outline behind the question */
.is-wrapper .cwl-faq .cwl-faq-q{ width:100%; background:transparent !important; border:0 !important; box-shadow:none !important; outline:none !important;
  border-radius:0 !important; padding:36px 0; display:flex; align-items:flex-start; gap:30px; cursor:pointer; text-align:left;
  font-family:var(--font-body); transition:padding-left .32s var(--ease); }
.is-wrapper .cwl-faq .cwl-faq-q:hover,
.is-wrapper .cwl-faq .cwl-faq-q:focus,
.is-wrapper .cwl-faq .cwl-faq-q:active{ background:transparent !important; box-shadow:none !important; outline:none !important; }
.cwl-faq-q:hover{ padding-left:14px; }
.cwl-faq-num{ flex:none; font-family:var(--font-head); font-size:14px; letter-spacing:.16em; color:var(--c-accent); padding-top:8px; }
.cwl-faq-qt{ flex:1; font-family:var(--font-head); font-size:clamp(21px,2vw,27px); font-weight:400; line-height:1.28; color:var(--c-ink); }
.cwl-faq-sign{ position:relative; flex:none; width:22px; height:26px; }
.cwl-faq-sign::before{ content:"+"; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  font-family:var(--font-head); font-size:26px; line-height:1; color:var(--c-primary); transition:transform .32s var(--ease); }
.cwl-faq-item.is-open .cwl-faq-sign::before{ content:"\2212"; }  /* minus sign when open */

/* smooth height reveal: animate grid-rows 0fr -> 1fr (no JS height measuring).
   The clipped grid child (.cwl-faq-a) carries NO padding, so 0fr collapses to true zero;
   the visible padding lives on the inner .cwl-faq-a-inner. */
.cwl-faq-panel{ display:grid; grid-template-rows:0fr; opacity:0;
  transition:grid-template-rows .42s var(--ease), opacity .28s var(--ease); }
.cwl-faq-item.is-open .cwl-faq-panel{ grid-template-rows:1fr; opacity:1; }
.cwl-faq-a{ overflow:hidden; min-height:0; margin:0; padding:0; }
.cwl-faq-a-inner{ display:block; font-family:var(--font-body); font-size:17px; line-height:1.88; color:var(--c-ink-2); margin:0;
  padding:4px 80px 38px 46px; max-width:940px; font-weight:300; }

/* --- 08 CONTACT --- */
.is-wrapper .cwl-contact{ position:relative; overflow:hidden; color:var(--c-paper);
  background:linear-gradient(180deg,var(--c-black) 0%,var(--c-ink) 40%,#1C140D 100%); }
/* full-bleed red glow — scoped to the section so it spans edge to edge, not the padded cell */
.is-wrapper .cwl-contact::before{ content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:radial-gradient(80% 130% at 100% 0%,rgba(138,23,18,.32),transparent 60%); }
.cwl-contact-glow{ display:none; }
.cwl-contact-inner{ position:relative; z-index:1; padding:60px 0px;}
.is-wrapper .cwl-contact .cwl-contact-inner > .cwl-eyebrow{ position:relative; z-index:1; }
.cwl-contact-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:30px; align-items:flex-start; }
/* scope heading + lede under section so they beat the theme's .is-wrapper h2 / p color */
.is-wrapper .cwl-contact .cwl-contact-h2{ font-family:var(--font-head); font-weight:400; font-size:clamp(46px, 4.5vw, 64px);
  line-height:1.1; letter-spacing:-.03em; margin:0; color:var(--c-paper); }
.is-wrapper .cwl-contact .cwl-contact-h2 .cwl-ital{ color:var(--c-accent); font-style:italic; }
.cwl-contact-side{ display:flex; flex-direction:column; gap:34px; padding-bottom:10px; }
.is-wrapper .cwl-contact .cwl-contact-lede{ font-family:var(--font-body); font-size:17px; line-height:1.88; color:rgba(243,235,221,.82); margin:0; font-weight:300; }
.cwl-cta.is-wide{ justify-content:space-between; gap:20px; padding:22px 30px; }

/* ===== DARK-SECTION TEXT — force over live theme .is-wrapper h1..h5 / p color =====
   !important is deliberate: the live Webware theme sets dark heading/paragraph colors that
   otherwise win on these dark backgrounds and make the text unreadable. Scoped to dark sections only. */
.is-wrapper .bnl-0 .bn-content h1,
.is-wrapper .bnl-0 .banner-main-heading,
.is-wrapper .cwl-insight .cwl-insight-h2,
.is-wrapper .cwl-voices .cwl-voice blockquote,
.is-wrapper .cwl-coverage .cwl-coverage-lede,
.is-wrapper .cwl-contact .cwl-contact-h2{ color:var(--c-paper) !important; }
.is-wrapper .bnl-0 .bn-content p,
.is-wrapper .cwl-insight .cwl-insight-body,
.is-wrapper .cwl-coverage .cwl-coverage-side > span:first-child{ color:rgba(243,235,221,.82) !important; }
/* italic accent words keep their gold/light-gold on dark */
.is-wrapper .cwl-insight .cwl-insight-h2 .cwl-ital,
.is-wrapper .cwl-contact .cwl-contact-h2 .cwl-ital,
.is-wrapper .cwl-coverage .cwl-coverage-lede .cwl-ital{ color:var(--c-accent) !important; }
.is-wrapper .cwl-insight .cwl-insight-h2 .cwl-ital.is-lt{ color:var(--c-accent-lt) !important; }

/* ================= RESPONSIVE ================= */
@media all and (max-width:1023.5px){
  .cwl-insight-grid,.cwl-faq-grid,.cwl-contact-grid{ grid-template-columns:1fr; gap:48px; }
  .cwl-faq-head{ position:static; }
  .cwl-ledger-row{ grid-template-columns:52px 120px 1fr; grid-auto-rows:auto; row-gap:14px; }
  .cwl-ledger-desc{ grid-column:3; }
  .cwl-ledger-arrow{ display:none; }
  .cwl-step-num{ font-size:clamp(48px,12vw,80px); }
}
@media all and (max-width:640px){
  .cwl-ledger-row{ grid-template-columns:1fr; row-gap:16px; padding:26px 0; }
  .cwl-ledger-media{ max-width:220px; }
  .cwl-contact-inner{ padding-top:88px; }
  .cwl-faq-a-inner{ padding:4px 0 30px; }
}

/* Location card — gold glow */
.cwl-area{
  position:relative;
  display:flex; align-items:center; gap:14px;
  padding:22px 24px;
  background:rgba(243,235,221,.03);
  border:1px solid rgba(168,131,75,.22);
  box-shadow:0 0 0 rgba(168,131,75,0);
  transition:background .4s ease, border-color .4s ease,
             transform .4s cubic-bezier(.22,1,.36,1), box-shadow .4s ease;
}
.cwl-area:hover{
  background:rgba(243,235,221,.06);
  border-color:rgba(168,131,75,.65);
  transform:translateY(-4px);
  box-shadow:0 18px 40px -18px rgba(168,131,75,.45),  /* directional drop glow */
             0 0 22px rgba(168,131,75,.18);            /* ambient halo */
}

/* Map-pin marker — always-on glow, brighter on hover */
.cwl-area-pin{
  position:relative; flex:none;
  width:11px; height:11px;
  border-radius:50% 50% 50% 0; transform:rotate(-45deg);
  background:#A8834B;
  box-shadow:0 0 0 4px rgba(168,131,75,.12),          /* soft ring */
             0 0 10px 1px rgba(168,131,75,.55);        /* glow */
  transition:box-shadow .4s ease;
}
.cwl-area:hover .cwl-area-pin{
  box-shadow:0 0 0 4px rgba(168,131,75,.2),
             0 0 16px 3px rgba(168,131,75,.85);        /* intensified glow */
}

/* Section eyebrow — outlined pill with leading dot */
.cwl-eyebrow{
  display:inline-flex; align-items:center; gap:10px;
  width:-moz-fit-content; width:fit-content; align-self:flex-start;
  font-family:var(--font-body); font-size:11px; letter-spacing:.24em;
  text-transform:uppercase; color:var(--c-primary); line-height:1;
  padding:9px 16px 9px 14px;
  border:1px solid rgba(138,23,18,.32);
  border-radius:var(--r-pill);
  transition:background .35s ease, color .35s ease, border-color .35s ease;
}
.cwl-eyebrow::before{
  content:""; width:5px; height:5px; border-radius:50%;
  background:currentColor; flex:none;
}
.cwl-eyebrow.is-gold{ color:var(--c-accent); }

/* softer border that follows the text color (red / gold / cream per section) */
.cwl-eyebrow{ border-color:color-mix(in srgb, currentColor 42%, transparent); }

/* ===== ABOUT: Founder (elite editorial layout) ===== */
.cwl-founder{ display:grid; grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr); gap:80px; align-items:start; }
.cwl-founder-portrait{ position:relative; position:sticky; top:64px; }
.cwl-founder-photo{ position:relative; aspect-ratio:4/5; overflow:hidden; background:var(--c-ink-panel); box-shadow:var(--shadow-2); }
.cwl-founder-photo img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.cwl-founder-photo::after{ content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(180deg,transparent 55%,rgba(20,16,12,.5) 100%); }
/* name plate overlapping the lower edge of the photo */
.cwl-founder-plate{ position:absolute; left:-1px; bottom:28px; z-index:2; display:flex; flex-direction:column; gap:4px;
  background:var(--c-ink); padding:20px 30px; border-left:2px solid var(--c-accent); box-shadow:0 20px 40px -20px rgba(0,0,0,.6); }
.cwl-founder-plate-name{ font-family:var(--font-head); font-size:24px; line-height:1.05; color:var(--c-paper); }
.cwl-founder-plate-role{ font-family:var(--font-body); font-size:10px; letter-spacing:.26em; text-transform:uppercase; color:var(--c-accent); }
/* text column */
.cwl-founder-text{ display:flex; flex-direction:column; padding-top:6px; }
.is-wrapper .cwl-method .cwl-founder-quote{ font-family:var(--font-head); font-weight:400; font-size:clamp(24px,2.5vw,34px);
  line-height:1.4; color:var(--c-ink); margin:0 0 40px; text-wrap:pretty; position:relative; padding-left:30px; }
.is-wrapper .cwl-method .cwl-founder-quote::before{ content:"\201C"; position:absolute; left:-6px; top:-8px;
  font-family:var(--font-head); font-size:60px; line-height:1; color:var(--c-accent); }
.cwl-founder-cols{ columns:2; column-gap:44px; }
.is-wrapper .cwl-method .cwl-founder-cols p{ font-family:var(--font-body); font-size:15px; line-height:1.85; color:var(--c-ink-2); font-weight:300;
  margin:0 0 18px; break-inside:avoid; }
.is-wrapper .cwl-method .cwl-founder-cols p:last-child{ margin-bottom:0; }
.cwl-founder-signature{ margin-top:34px; padding-top:26px; border-top:1px solid var(--c-line);
  font-family:var(--font-head); font-size:30px; font-style:italic; color:var(--c-primary); align-self:flex-start; }

@media all and (max-width:1023.5px){
  .cwl-founder{ grid-template-columns:1fr; gap:44px; }
  .cwl-founder-portrait{ position:static; max-width:440px; }
  .cwl-founder-cols{ columns:1; }
}

/* ===== ABOUT: Get Started (elite paired panels) ===== */
.is-wrapper .cwl-team#get-started .cwl-inner{ padding-top:80px; padding-bottom:80px; }
.cwl-links{ display:grid; grid-template-columns:1fr 1fr; gap:0; border:1px solid var(--c-line);
  background:var(--c-paper); box-shadow:0 30px 60px -40px rgba(20,16,12,.4); }
.cwl-link-panel{ position:relative; display:flex; flex-direction:column; gap:22px; padding:56px 52px 52px;
  text-decoration:none; overflow:hidden; transition:background .45s var(--ease); }
.cwl-link-panel + .cwl-link-panel{ border-left:1px solid var(--c-line); }
/* gold sweep that rises on hover */
.cwl-link-panel::before{ content:""; position:absolute; left:0; right:0; bottom:0; height:0; z-index:0;
  background:linear-gradient(180deg,#A31E17 0%,var(--c-primary) 100%); transition:height .45s var(--ease); }
.cwl-link-panel:hover::before{ height:100%; }
.cwl-link-panel > *{ position:relative; z-index:1; transition:color .45s ease; }
.cwl-link-index{ font-family:var(--font-head); font-size:14px; letter-spacing:.16em; color:var(--c-accent); transition:color .45s ease; }
.cwl-link-content{ display:flex; flex-direction:column; gap:12px; flex:1; }
.is-wrapper .cwl-team .cwl-link-title{ font-family:var(--font-head); font-weight:400; font-size:clamp(28px,3vw,42px);
  line-height:1.04; letter-spacing:-.02em; margin:0; color:var(--c-ink); transition:color .45s ease; }
.is-wrapper .cwl-team .cwl-link-desc{ font-family:var(--font-body); font-size:16px; line-height:1.7; color:var(--c-ink-2);
  font-weight:300; margin:0; transition:color .45s ease; }
.cwl-link-action{ display:inline-flex; align-items:center; gap:14px; font-family:var(--font-body); font-size:12px; font-weight:500;
  letter-spacing:.18em; text-transform:uppercase; color:var(--c-primary); padding-top:20px; border-top:1px solid var(--c-line);
  transition:color .45s ease, gap .32s var(--ease), border-color .45s ease; }
.cwl-link-action .cwl-arw{ font-family:var(--font-head); font-size:18px; }
/* invert everything to cream when the panel fills red */
.cwl-link-panel:hover .cwl-link-index{ color:#E9CFA0; }
.is-wrapper .cwl-team .cwl-link-panel:hover .cwl-link-title,
.is-wrapper .cwl-team .cwl-link-panel:hover .cwl-link-desc{ color:var(--c-paper); }
.cwl-link-panel:hover .cwl-link-action{ color:var(--c-paper); gap:22px; border-top-color:rgba(243,235,221,.4); }

@media all and (max-width:768px){
  .cwl-links{ grid-template-columns:1fr; }
  .cwl-link-panel + .cwl-link-panel{ border-left:0; border-top:1px solid var(--c-line); }
  .cwl-link-panel{ padding:40px 32px; }
}

/* ===== ABOUT: Approach (editorial split) ===== */
.cwl-approach{ display:grid; grid-template-columns:minmax(220px,.42fr) minmax(0,1.58fr); gap:72px; align-items:start; }
.cwl-approach-aside{ display:flex; flex-direction:column; gap:20px; position:sticky; top:64px; }
.cwl-approach-index{ font-family:var(--font-head); font-size:clamp(72px,8vw,120px); line-height:.8; font-style:italic; color:rgba(138,23,18,.16); }
.cwl-approach-note{ font-family:var(--font-body); font-size:11px; letter-spacing:.24em; text-transform:uppercase; color:var(--c-ink-2); }
.cwl-approach-main{ display:flex; flex-direction:column; gap:30px; padding-top:6px; }
.is-wrapper .cwl-team .cwl-approach-h2{ margin:0; }
.is-wrapper .cwl-team .cwl-approach-lede{ font-family:var(--font-head); font-weight:400; font-size:clamp(22px,2.3vw,30px);
  line-height:1.42; color:var(--c-ink); margin:12px 0 0; text-wrap:pretty; }
.is-wrapper .cwl-team .cwl-approach-body{ font-family:var(--font-body); font-size:17px; line-height:1.9; color:var(--c-ink-2);
  font-weight:300; margin:0; max-width:640px; padding-top:14px; border-top:1px solid var(--c-line); }

@media all and (max-width:1023.5px){
  .cwl-approach{ grid-template-columns:1fr; gap:32px; }
  .cwl-approach-aside{ position:static; flex-direction:row; align-items:baseline; gap:24px; flex-wrap:wrap; }
  .cwl-approach-index{ font-size:64px; }
}

/* ===== Voices (elite quote cards) ===== */
.cwl-voices-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:24px; }
.cwl-voice{ position:relative; margin:0; display:flex; flex-direction:column; gap:26px; padding:48px 42px 40px;
  border:1px solid rgba(168,131,75,.24); background:rgba(243,235,221,.02); overflow:hidden;
  transition:transform .5s var(--ease), background .45s ease, border-color .45s ease, box-shadow .5s ease; }
/* gold index watermark, top-right */
.cwl-voice-num{ position:absolute; top:20px; right:26px; font-family:var(--font-head); font-size:56px; font-style:italic;
  line-height:1; color:rgba(168,131,75,.14); transition:color .45s ease; }
.cwl-voice::before{ content:"\201C"; font-family:var(--font-head); font-size:64px; line-height:.2; height:26px;
  color:rgba(168,131,75,.55); }
.cwl-voice:hover{ transform:translateY(-10px); background:rgba(243,235,221,.05); border-color:rgba(168,131,75,.6);
  box-shadow:0 40px 70px -38px rgba(0,0,0,.85); }
.cwl-voice:hover .cwl-voice-num{ color:rgba(168,131,75,.34); }
.is-wrapper .cwl-voices .cwl-voice blockquote{ margin:0; flex:1; font-family:var(--font-head); font-size: clamp(14px, 1.55vw, 18px);
  line-height:1.62; font-style:italic; color:var(--c-paper) !important; text-wrap:pretty; }
.cwl-voice figcaption{ display:flex; flex-direction:column; gap:5px; padding-top:26px; border-top:1px solid rgba(168,131,75,.24); }
.cwl-voice-name{ font-family:var(--font-body); font-size:12px; letter-spacing:.22em; text-transform:uppercase; color:var(--c-accent); font-weight:500; }
.cwl-voice-role{ font-family:var(--font-body); font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--c-cream-70); }
/* ===== ABOUT: Our Experience (member feature) ===== */
.is-wrapper .cwl-experience{ background:linear-gradient(180deg,#F1E8D8 0%,var(--c-paper) 55%,#EFE6D6 100%); border-top:1px solid rgba(20,16,12,.1); }
.cwl-exp-head{ display:flex; flex-direction:column; gap:22px; margin-bottom:64px; }
.cwl-member-detail{ display:grid; grid-template-columns:minmax(300px,.85fr) minmax(0,1.15fr); gap:80px; align-items:start;
  padding:64px 0; border-top:1px solid var(--c-line); }
.cwl-member-detail:first-of-type{ border-top:0; padding-top:0; }
/* left rail: photo, name plate, fun fact — sticky */
.cwl-member-detail-side{ display:flex; flex-direction:column; gap:0; position:sticky; top:64px; }
.cwl-member-detail-photo{ position:relative; aspect-ratio:4/5; overflow:hidden; background:var(--c-ink-panel); box-shadow:var(--shadow-2); }
.cwl-member-detail-photo img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.cwl-member-detail-id{ display:flex; flex-direction:column; gap:6px; padding:26px 0 0; }
.is-wrapper .cwl-experience .cwl-member-detail-name{ font-family:var(--font-head); font-weight:400; font-size:clamp(30px,3.4vw,46px);
  line-height:1; letter-spacing:-.02em; margin:0; color:var(--c-ink); }
.cwl-member-detail-role{ font-family:var(--font-body); font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--c-primary); font-weight:500; }
/* fun fact — dark callout */
.cwl-funfact{ margin-top:24px; padding:22px 26px; background:var(--c-ink); border-left:2px solid var(--c-accent); }
.cwl-funfact-label{ display:block; font-family:var(--font-body); font-size:10px; letter-spacing:.3em; text-transform:uppercase; color:var(--c-accent); margin-bottom:8px; }
.is-wrapper .cwl-experience .cwl-funfact-text{ font-family:var(--font-head); font-size:clamp(17px,1.7vw,20px); line-height:1.4;
  color:var(--c-paper) !important; margin:0; font-style:italic; }
/* right: bio with a large drop-style opening */
.cwl-member-detail-bio{ display:flex; flex-direction:column; gap:22px; padding-top:6px; }
.is-wrapper .cwl-experience .cwl-member-detail-bio p{ font-family:var(--font-body); font-size:17px; line-height:1.92; color:var(--c-ink-2); font-weight:300; margin:0; }


@media all and (max-width:1023.5px){
  .cwl-member-detail{ grid-template-columns:1fr; gap:44px; }
  .cwl-member-detail-side{ position:static; }
  .cwl-member-detail-photo{ max-width:420px; }
}

/* ===== ABOUT: Guide (feature band) ===== */
.cwl-guide{ max-width:1000px; }
.cwl-guide .cwl-eyebrow{ margin-bottom:34px; }
.is-wrapper .cwl-voices .cwl-guide-h2{ font-family:var(--font-head); font-weight:400; font-size:clamp(34px,4.4vw,64px);
  line-height:1.06; letter-spacing:-.02em; margin:0 0 48px; color:var(--c-paper) !important; text-wrap:balance; max-width:15ch; }
.is-wrapper .cwl-voices .cwl-guide-h2 .cwl-ital{ color:var(--c-accent) !important; }
.cwl-guide-foot{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:56px; align-items:end;
  padding-top:44px; border-top:1px solid rgba(168,131,75,.28); }
.is-wrapper .cwl-voices .cwl-guide-body{ font-family:var(--font-body); font-size:17px; line-height:1.9;
  color:rgba(243,235,221,.82) !important; font-weight:300; margin:0; max-width:560px; }
.cwl-guide-foot .cwl-cta{ white-space:nowrap; }

@media all and (max-width:768px){
  .cwl-guide-foot{ grid-template-columns:1fr; gap:32px; align-items:start; }
}

/* ===== ABOUT: Our Experience (member feature, alternating) ===== */
.is-wrapper .cwl-experience{ background:linear-gradient(180deg,#F1E8D8 0%,var(--c-paper) 55%,#EFE6D6 100%); border-top:1px solid rgba(20,16,12,.1); }
.cwl-exp-head{ display:flex; flex-direction:column; gap:22px; margin-bottom:64px; }
.cwl-member-detail{ display:grid; grid-template-columns:minmax(300px,.85fr) minmax(0,1.15fr); gap:80px; align-items:start;
  padding:64px 0; border-top:1px solid var(--c-line); }
.cwl-member-detail:first-of-type{ border-top:0; padding-top:0; }
/* alternating: every 2nd member flips portrait to the right */
.cwl-member-detail:nth-of-type(even) .cwl-member-detail-side{ order:2; }
.cwl-member-detail:nth-of-type(even) .cwl-member-detail-bio{ order:1; }
/* left rail: photo + name plate + fun fact, sticky */
.cwl-member-detail-side{ display:flex; flex-direction:column; position:sticky; top:64px; }
.cwl-member-detail-photo{ position:relative; aspect-ratio:4/5; overflow:hidden; background:var(--c-ink-panel); box-shadow:var(--shadow-2); }
.cwl-member-detail-photo img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.cwl-member-detail-id{ display:flex; flex-direction:column; gap:6px; padding:26px 0 0; }
.is-wrapper .cwl-experience .cwl-member-detail-name{ font-family:var(--font-head); font-weight:400; font-size:clamp(30px,3.4vw,46px);
  line-height:1; letter-spacing:-.02em; margin:0; color:var(--c-ink); }
.cwl-member-detail-role{ font-family:var(--font-body); font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--c-primary); font-weight:500; }
/* fun fact — dark callout */
.cwl-funfact{ margin-top:24px; padding:22px 26px; background:var(--c-ink); border-left:2px solid var(--c-accent); }
.cwl-funfact-label{ display:block; font-family:var(--font-body); font-size:10px; letter-spacing:.3em; text-transform:uppercase; color:var(--c-accent); margin-bottom:8px; }
.is-wrapper .cwl-experience .cwl-funfact-text{ font-family:var(--font-head); font-size:clamp(17px,1.7vw,20px); line-height:1.4;
  color:var(--c-paper) !important; margin:0; font-style:italic; }
/* right: bio, with larger serif lead paragraph */
.cwl-member-detail-bio{ display:flex; flex-direction:column; gap:22px; padding-top:6px; }
.is-wrapper .cwl-experience .cwl-member-detail-bio p{ font-family:var(--font-body); font-size:17px; line-height:1.92; color:var(--c-ink-2); font-weight:300; margin:0; }


@media all and (max-width:1023.5px){
  .cwl-member-detail{ grid-template-columns:1fr; gap:44px; }
  .cwl-member-detail:nth-of-type(even) .cwl-member-detail-side,
  .cwl-member-detail:nth-of-type(even) .cwl-member-detail-bio{ order:0; }
  .cwl-member-detail-side{ position:static; }
  .cwl-member-detail-photo{ max-width:420px; }
}

/* ===== SERVICES PAGE: service card grid ===== */
.cwl-svc-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:1px; margin-top:48px;gap:16px; }
.cwl-svc-card{ position:relative; display:flex; flex-direction:column; gap:16px; padding:0 24px 44px; background:var(--c-paper); overflow:hidden;
  transition:background .45s var(--ease); border:1px solid var(--c-line);}
/* service image — full-bleed to card edges, above the content */
.cwl-svc-media{ position:relative; margin:0 -44px 10px; aspect-ratio:16/10; overflow:hidden; background:var(--c-ink-panel); }
.cwl-svc-media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease); }
.cwl-svc-card:hover .cwl-svc-media img{ transform:scale(1.06); }
/* oxblood sweep rising on hover */
.cwl-svc-card::before{ content:""; position:absolute; left:0; right:0; bottom:0; height:0; z-index:0;
  background:radial-gradient(120% 140% at 85% 100%,#A31E17 0%,var(--c-primary) 55%,var(--c-primary-dark) 100%); transition:height .5s var(--ease); }
.cwl-svc-card:hover::before{ height:100%; }
.cwl-svc-card > *{ position:relative; z-index:1; transition:color .45s ease; }
.cwl-svc-num{ font-family:var(--font-head); font-size:14px; letter-spacing:.16em; color:var(--c-accent); margin-top:4px; transition:color .45s ease; }
.is-wrapper .cwl-services .cwl-svc-title{ font-family:var(--font-head); font-weight:400; font-size:clamp(24px,2.4vw,32px);
  line-height:1.08; letter-spacing:-.015em; margin:0; color:var(--c-ink); transition:color .45s ease; }
.is-wrapper .cwl-services .cwl-svc-desc{ font-family:var(--font-body); font-size:15px; line-height:1.7; color:var(--c-ink-2); font-weight:300; margin:0; flex:1; transition:color .45s ease; }
.cwl-svc-link{ display:inline-flex; align-items:center; gap:12px; margin-top:10px; padding-top:20px; border-top:1px solid var(--c-line);
  font-family:var(--font-body); font-size:11px; font-weight:500; letter-spacing:.18em; text-transform:uppercase; color:var(--c-primary); text-decoration:none;
  transition:color .45s ease, gap .32s var(--ease), border-color .45s ease; }
.cwl-svc-link .cwl-arw{ font-family:var(--font-head); font-size:17px; }
/* invert to cream when card fills */
.cwl-svc-card:hover .cwl-svc-num{ color:#E9CFA0; }
.is-wrapper .cwl-services .cwl-svc-card:hover .cwl-svc-title{ color:var(--c-paper); }
.is-wrapper .cwl-services .cwl-svc-card:hover .cwl-svc-desc{ color:rgba(243,235,221,.85); }
.cwl-svc-card:hover .cwl-svc-link{ color:var(--c-paper); gap:20px; border-top-color:rgba(243,235,221,.4); }

@media all and (max-width:640px){
  .cwl-svc-card{ padding:0 28px 32px; }
  .cwl-svc-media{ margin:0 -28px 24px; }
}

/* ===== SERVICE INNER: lede block + feature/checklist ===== */
.cwl-lede-block{ margin-top:48px; padding-top:44px; border-top:1px solid rgba(243,235,221,.2); max-width:1000px; }
.is-wrapper .cwl-insight .cwl-lede-block p{ font-family:var(--font-body); font-size:17px; line-height:1.96; color:rgba(243,235,221,.76) !important; font-weight:300; margin:0; }

/* feature: body text + checklist, two columns */
.cwl-feature{ display:grid; grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr); gap:72px; align-items:start; margin-top:52px; }
.cwl-feature.is-reverse .cwl-feature-body{ order:2; }
.cwl-feature.is-reverse .cwl-checklist{ order:1; }
.cwl-feature-body{ display:flex; flex-direction:column; gap:22px; }
.cwl-feature-body p{ font-family:var(--font-body); font-size:17px; line-height:1.9; color:var(--c-ink-2); font-weight:300; margin:0; }
/* checklist */
.cwl-checklist{ list-style:none; margin:0; padding:36px 34px; background:var(--c-tint); border-top:2px solid var(--c-accent); display:flex; flex-direction:column; gap:0; }
.cwl-checklist li{ position:relative; font-family:var(--font-body); font-size:15px; line-height:1.5; color:var(--c-ink); font-weight:400;
  padding:18px 0 18px 40px; border-bottom:1px solid var(--c-line); }
.cwl-checklist li:last-child{ border-bottom:0; }
.cwl-checklist li::before{ content:""; position:absolute; left:6px; top:22px; width:9px; height:9px; border-radius:50% 50% 50% 0;
  transform:rotate(-45deg); background:var(--c-primary); box-shadow:0 0 0 4px rgba(138,23,18,.1); }

/* ===== Service Benefits — elite editorial cards ===== */
.cwl-benefits-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:0; margin-top:52px;
  border-top:1px solid var(--c-line); border-left:1px solid var(--c-line); }
.cwl-benefit{ position:relative; display:flex; flex-direction:column; gap:18px; padding:52px 48px 48px; overflow:hidden;
  border-right:1px solid var(--c-line); border-bottom:1px solid var(--c-line); background:transparent;
  transition:color .5s ease; }
/* oxblood fill sweeps in from the corner on hover */
.cwl-benefit::before{ content:""; position:absolute; inset:0; z-index:0; opacity:0; transform:scale(1.04);
  background:radial-gradient(130% 140% at 100% 0%,#A31E17 0%,var(--c-primary) 52%,var(--c-primary-dark) 100%);
  transition:opacity .55s var(--ease), transform .55s var(--ease); }
.cwl-benefit:hover::before{ opacity:1; transform:scale(1); }
.cwl-benefit > *{ position:relative; z-index:1; }
/* oversized outlined numeral */
.cwl-benefit-num{ font-family:var(--font-head); font-style:italic; font-size:clamp(56px,6vw,86px); line-height:.78; letter-spacing:-.02em;
  color:transparent; -webkit-text-stroke:1px rgba(138,23,18,.34); transition:-webkit-text-stroke-color .5s ease, color .5s ease; }
.cwl-benefit:hover .cwl-benefit-num{ color:rgba(243,235,221,.16); -webkit-text-stroke-color:rgba(233,207,160,.6); }
/* gold tick above the title */
.cwl-benefit-title{ position:relative; padding-top:20px; }
.cwl-benefit-title::before{ content:""; position:absolute; top:0; left:0; width:34px; height:2px; background:var(--c-accent); transition:width .5s var(--ease); }
.cwl-benefit:hover .cwl-benefit-title::before{ width:60px; }
.is-wrapper .cwl-services .cwl-benefit-title{ font-family:var(--font-head); font-weight:400; font-size:clamp(24px,2.3vw,32px);
  line-height:1.1; letter-spacing:-.018em; margin:0; color:var(--c-ink); transition:color .5s ease; text-wrap:balance; }
.is-wrapper .cwl-services .cwl-benefit-desc{ font-family:var(--font-body); font-size:15px; line-height:1.75; color:var(--c-ink-2); font-weight:300; margin:0; transition:color .5s ease; }
/* invert text when filled */
.is-wrapper .cwl-services .cwl-benefit:hover .cwl-benefit-title{ color:var(--c-paper); }
.is-wrapper .cwl-services .cwl-benefit:hover .cwl-benefit-desc{ color:rgba(243,235,221,.86); }

@media all and (max-width:768px){
  .cwl-benefits-grid{ grid-template-columns:1fr; }
  .cwl-benefit{ padding:40px 32px; }
}
/* ===== 07 — FAQ ===== */
.is-wrapper .cwl-faq{ background:linear-gradient(180deg,var(--c-paper) 0%,var(--c-paper-2) 100%); }
.cwl-faq-grid{ display:grid; grid-template-columns:minmax(300px,.5fr) minmax(0,1.5fr); gap:72px; align-items:start; }
.cwl-faq-head{ display:flex; flex-direction:column; gap:22px; position:sticky; top:56px; }
.is-wrapper .cwl-faq .cwl-faq-h2{ font-family:var(--font-head); font-weight:400; font-size:clamp(34px,3.4vw,48px);
  line-height:1.02; letter-spacing:-.02em; margin:0; color:var(--c-ink); text-wrap:balance; word-break:keep-all; overflow-wrap:normal; hyphens:none; }
.cwl-faq-list{ border-top:1px solid var(--c-line); }
.cwl-faq-item{ border-bottom:1px solid var(--c-line); }

/* summary / question row — force off the theme's default button + native marker */
.is-wrapper .cwl-faq .cwl-faq-q{ width:100%; background:transparent !important; border:0 !important; box-shadow:none !important; outline:none !important;
  border-radius:0 !important; padding:36px 0; display:flex; align-items:flex-start; gap:30px; cursor:pointer; text-align:left;
  font-family:var(--font-body); transition:padding-left .32s var(--ease); }
.is-wrapper .cwl-faq .cwl-faq-q:hover,
.is-wrapper .cwl-faq .cwl-faq-q:focus,
.is-wrapper .cwl-faq .cwl-faq-q:active{ background:transparent !important; box-shadow:none !important; outline:none !important; }
.cwl-faq-q:hover{ padding-left:14px; }
.cwl-faq-num{ flex:none; font-family:var(--font-head); font-size:14px; letter-spacing:.16em; color:var(--c-accent); padding-top:8px; }
.cwl-faq-qt{ flex:1; font-family:var(--font-head); font-size:clamp(21px,2vw,27px); font-weight:400; line-height:1.28; color:var(--c-ink); }

/* +/- sign */
.cwl-faq-sign{ position:relative; flex:none; width:22px; height:26px; }
.cwl-faq-sign::before{ content:"+"; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  font-family:var(--font-head); font-size:26px; line-height:1; color:var(--c-primary); transition:transform .32s var(--ease); }

/* smooth height reveal — animate grid-rows 0fr -> 1fr */
.cwl-faq-panel{ display:grid; grid-template-rows:0fr; opacity:0;
  transition:grid-template-rows .42s var(--ease), opacity .28s var(--ease); }
.cwl-faq-a{ overflow:hidden; min-height:0; margin:0; padding:0; }
.cwl-faq-a-inner{ display:block; font-family:var(--font-body); font-size:17px; line-height:1.88; color:var(--c-ink-2); margin:0;
  padding:4px 80px 38px 46px; max-width:940px; font-weight:300; }

/* class-based open state (JS version, kept for backwards-compat) */
.cwl-faq-item.is-open .cwl-faq-sign::before{ content:"\2212"; }
.cwl-faq-item.is-open .cwl-faq-panel{ grid-template-rows:1fr; opacity:1; }

/* native <details> support (no-JS accordion) */
details.cwl-faq-item > summary.cwl-faq-q{ list-style:none; }
details.cwl-faq-item > summary.cwl-faq-q::-webkit-details-marker{ display:none; }
details.cwl-faq-item > summary.cwl-faq-q::marker{ content:""; }
details.cwl-faq-item[open] .cwl-faq-sign::before{ content:"\2212"; }
details.cwl-faq-item[open] .cwl-faq-panel{ grid-template-rows:1fr; opacity:1; }

@media all and (max-width:1023.5px){
  .cwl-faq-grid{ grid-template-columns:1fr; gap:48px; }
  .cwl-faq-head{ position:static; }
}
@media all and (max-width:640px){
  .cwl-faq-a-inner{ padding:4px 0 30px; }
}

@media all and (max-width:1023.5px){
  .cwl-feature{ grid-template-columns:1fr; gap:40px; }
  .cwl-feature.is-reverse .cwl-feature-body,
  .cwl-feature.is-reverse .cwl-checklist{ order:0; }
}

/* ===== SERVICE INNER: feature (body + dark checklist) + image layouts ===== */

/* base feature — body text + dark checklist panel, two columns */
.cwl-feature{ display:grid; grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr); gap:72px; align-items:stretch; margin-top:56px; }
.cwl-feature.is-reverse .cwl-feature-body{ order:2; }
.cwl-feature.is-reverse .cwl-checklist-wrap{ order:1; }
.cwl-feature-body{ display:flex; flex-direction:column; gap:22px; justify-content:center; }
.cwl-feature-body p{ font-family:var(--font-body); font-size:17px; line-height:1.92; color:var(--c-ink-2); font-weight:300; margin:0; }

/* checklist — dark panel with gold header glow + gold check-marks */
.cwl-checklist-wrap{ position:relative;overflow:hidden; display:flex; flex-direction:column; }
.cwl-checklist-wrap::before{ content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(80% 90% at 100% 0%,rgba(138,23,18,.28),transparent 60%); }
.cwl-checklist{ position:relative; z-index:1; list-style:none; margin:0; padding:20px 34px 30px; display:flex; flex-direction:column; gap:0; }
/* !important beats the live theme's .is-wrapper li dark colour on the dark panel */
.is-wrapper .cwl-checklist li{ position:relative; list-style:none !important; font-family:var(--font-body); font-size:15px; line-height:1.55;
   font-weight:300; margin:0; padding:16px 0 16px 42px; border-bottom:1px solid rgba(168,131,75,.2);
  transition:padding-left .35s var(--ease), color .3s ease; }
.is-wrapper .cwl-checklist li:last-child{ border-bottom:0; }
.is-wrapper .cwl-checklist li:hover{ padding-left:48px;  }
/* hide any theme list marker */
.cwl-checklist li::marker{ content:""; }
/* gold check-mark */
.is-wrapper .cwl-checklist li::before{ content:""; position:absolute; left:6px; top:19px; width:14px; height:8px;
  border:0; border-left:2px solid var(--c-accent); border-bottom:2px solid var(--c-accent); transform:rotate(-45deg); background:transparent; border-radius:0; box-shadow:none; }

/* feature image element */
.cwl-feature-media{ position:relative; overflow:hidden; background:var(--c-ink-panel); box-shadow:var(--shadow-2); }
.cwl-feature-media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .7s var(--ease); }
.cwl-feature-media:hover img{ transform:scale(1.05); }

/* ---- LAYOUT B: portrait image + text on top, checklist band below ---- */
.cwl-feature.is-layout-b{ display:block; width:100%; }
.cwl-feature.is-layout-b .cwl-feature-top{ display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:64px; align-items:center; margin-bottom:36px; width:100%; }
.cwl-feature.is-layout-b .cwl-feature-media{ width:100%; height:365px; }
.cwl-feature.is-layout-b .cwl-checklist-wrap{ width:100%; }
.cwl-feature.is-layout-b .cwl-checklist{ display:grid; grid-template-columns:1fr 1fr; column-gap:44px; }

/* ---- LAYOUT C: wide image band on top, then text + checklist ---- */
.cwl-feature.is-layout-c{ display:block; width:100%; }
.cwl-feature.is-layout-c .cwl-feature-media{ aspect-ratio:24/8; margin-bottom:48px; }
.cwl-feature.is-layout-c .cwl-feature-lower{ display:grid; grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr); gap:72px; align-items:stretch; }

/* ---- LAYOUT D: 3 columns image + text + checklist ---- */
.cwl-feature.is-layout-d{ display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1fr) minmax(260px,.85fr); gap:44px; align-items:stretch; }

.cwl-feature.is-layout-d .cwl-checklist li{ padding-right:6px; }

/* ---- responsive ---- */
@media all and (max-width:1023.5px){
  .cwl-feature{ grid-template-columns:1fr; gap:36px; align-items:start; }
  .cwl-feature.is-reverse .cwl-feature-body,
  .cwl-feature.is-reverse .cwl-checklist-wrap{ order:0; }
  .cwl-feature.is-layout-b .cwl-feature-top,
  .cwl-feature.is-layout-c .cwl-feature-lower,
  .cwl-feature.is-layout-d{ grid-template-columns:1fr; gap:32px; }
  .cwl-feature.is-layout-b .cwl-checklist{ grid-template-columns:1fr; }
  .cwl-feature.is-layout-b .cwl-feature-media,
  .cwl-feature.is-layout-d .cwl-feature-media{ max-width:440px; aspect-ratio:4/3; }
  .cwl-feature.is-layout-c .cwl-feature-media{ aspect-ratio:16/9; }
}

/* ================= WEBWARE CONTACT FORM (.contact-form) ================= */
.is-wrapper .contact-form{ background:linear-gradient(180deg,var(--c-paper) 0%,var(--c-paper-2) 100%); }
.is-wrapper .contact-form .ww-form-container{ max-width:820px; margin:0 auto; background:var(--c-paper);
  border:1px solid var(--c-line); border-top:3px solid var(--c-primary); box-shadow:var(--shadow-2); padding:clamp(30px,5vw,64px); }

/* form heading */
.is-wrapper .contact-form .section-main-heading{ font-family:var(--font-head); font-weight:400; font-size:clamp(28px,3.4vw,44px);
  line-height:1.05; letter-spacing:-.02em; color:var(--c-ink) !important; margin:0 0 40px; text-align:center; text-wrap:balance; }

/* fieldset / legend */
.is-wrapper .contact-form fieldset.fieldset{ border:0; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,2fr);}
.is-wrapper .contact-form legend{ font-family:var(--font-body); font-size:11px; letter-spacing:.24em; text-transform:uppercase;
  color:var(--c-primary); padding:0 0 8px; margin-bottom:26px; border-bottom:1px solid var(--c-line); width:100%; }

.is-wrapper .contact-form .iti {
    position: relative;
    display: inline-block;
    max-width: 100%;
    width: 100%;
}

/* labels */
.is-wrapper .contact-form label{ display:block; font-family:var(--font-body); font-size:13px; font-weight:500; letter-spacing:.02em;
  color:var(--c-ink) !important; margin:0 0 8px; line-height:1.5; }
.is-wrapper .contact-form .required{ color:var(--c-primary); margin-left:2px; }

/* field wrappers — space them out */
.is-wrapper .contact-form .first_name_wrap,
.is-wrapper .contact-form .last_name_wrap,
.is-wrapper .contact-form .email_wrap,
.is-wrapper .contact-form .phone_wrap,
.is-wrapper .contact-form [class*="_wrap"]{ margin-bottom:22px; }

/* text inputs, email, tel, select, textarea */
.is-wrapper .contact-form input.input,
.is-wrapper .contact-form input[type="text"],
.is-wrapper .contact-form input[type="email"],
.is-wrapper .contact-form input[type="tel"],
.is-wrapper .contact-form select,
.is-wrapper .contact-form textarea{ width:100%; font-family:var(--font-body); font-size:15px; color:var(--c-ink);
  background:var(--c-paper-2); border:1px solid var(--c-line); border-radius:var(--r-sm); padding:9px 16px; line-height:1.4;
  transition:border-color .3s ease, box-shadow .3s ease, background .3s ease; }
.is-wrapper .contact-form input.input::placeholder,
.is-wrapper .contact-form textarea::placeholder{ color:rgba(90,78,66,.55); }
.is-wrapper .contact-form input.input:focus,
.is-wrapper .contact-form select:focus,
.is-wrapper .contact-form textarea:focus{ outline:none; border-color:var(--c-accent); background:var(--c-paper);
  box-shadow:0 0 0 3px rgba(168,131,75,.14); }
.is-wrapper .contact-form textarea{ min-height:120px; resize:vertical; }

input#mob_phone_phone_number_tel::placeholder {
    padding-left: 28px;
}

/* intl-tel-input phone widget */
.is-wrapper .contact-form .intl-tel-input{ width:100%; display:block; }
.is-wrapper .contact-form .intl-tel-input .phone_number{ padding-left:52px; }
.is-wrapper .contact-form .intl-tel-input .flag-container{ z-index:3; }

/* radio + checkbox groups */
.is-wrapper .contact-form .radio_wrap,
.is-wrapper .contact-form .checkbox_wrap{ margin-bottom:26px; padding:22px 24px; background:var(--c-paper-2);
  border:1px solid var(--c-line); border-radius:var(--r-sm); }
.is-wrapper .contact-form .radio_wrap > p,
.is-wrapper .contact-form .checkbox_wrap > p{ font-family:var(--font-body); font-size:13px; font-weight:500; color:var(--c-ink) !important;
  margin:0 0 14px; line-height:1.55; }
.is-wrapper .contact-form .radio_wrap label,
.is-wrapper .contact-form .checkbox_wrap label{ display:flex; align-items:flex-start; gap:10px; font-size:14px; font-weight:400;
  color:var(--c-ink-2) !important; margin:0 0 10px; cursor:pointer; }
.is-wrapper .contact-form .radio_wrap label:last-child,
.is-wrapper .contact-form .checkbox_wrap label:last-child{ margin-bottom:0; }
.is-wrapper .contact-form input[type="radio"],
.is-wrapper .contact-form input[type="checkbox"]{ flex:none; width:17px; height:17px; margin-top:1px; accent-color:var(--c-primary); cursor:pointer; }

/* error text */
.is-wrapper .contact-form .error{ display:block; font-family:var(--font-body); font-size:12px; color:var(--c-primary); margin-top:5px; }

/* consent + submit */
.is-wrapper .contact-form .captcha_wrap{ margin:22px 0; }
.is-wrapper .contact-form .submit_wrap{ text-align:center; margin-top:50px; }
.is-wrapper .contact-form input.button,
.is-wrapper .contact-form input[type="submit"]{ display:inline-flex; align-items:center; justify-content:center;
  font-family:var(--font-body); font-size:13px; font-weight:500; letter-spacing:.16em; text-transform:uppercase;
  color:var(--btn-text) !important; background:var(--btn-bg); border:0; border-radius:var(--r-sm); padding:18px 48px; cursor:pointer;
  transition:transform .3s var(--ease), background .3s ease, box-shadow .3s ease; -webkit-appearance:none; appearance:none; }
.is-wrapper .contact-form input.button:hover,
.is-wrapper .contact-form input[type="submit"]:hover{ background:var(--btn-bg-hover); color:var(--c-ink) !important;
  transform:translateY(-3px); box-shadow:0 20px 40px -18px rgba(0,0,0,.4); }

.is-wrapper .contact-form div.form-container {
    margin: 0 auto;
    max-width: 100%;
    width: 100%;
}

/* responsive */
@media all and (max-width:640px){
  .is-wrapper .contact-form .ww-form-container{ padding:28px 22px; }
  .is-wrapper .contact-form .radio_wrap,
  .is-wrapper .contact-form .checkbox_wrap{ padding:18px 18px; }
}


/*Sticky Header*/
@keyframes slideDown {
    from {
        transform: translateY(-100%);
    }

    to {
        transform: translateY(0);
    }
}

.main-navigation.sticky {
    animation: slideDown 0.3s ease-in-out;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 99;
    width: 100%;
    background-color: #FCF9FA;
    margin-top: 0;
    justify-content: center;
    max-width: 100% !important;
    box-shadow: 0px 0px 29px 0px rgba(0, 0, 0, 0.07);
}

.main-navigation.sticky #mainNav {
    justify-content: center !important;
    padding: 1rem 0;
}
/*Sticky Header*/

.dropdown.menu.align-right .is-dropdown-submenu.first-sub {
    top: 100%;
    right: auto;
    left: 10px;
    z-index: 999999;
}

/* ================= WEBWARE HEADER (.new-header-2) — Clockwork skin, light #FCF9FA ================= */
#header.new-header-2{ top:0; left:0; right:0; z-index:100; width:100%; background:#FCF9FA;
  transition:background .45s ease, box-shadow .45s ease; }

/* --- TOP BAR (social + phone/email/book) --- */
#header .header-top-bg{ background:#F3ECEE; border-bottom:1px solid var(--c-line); transition:max-height .45s var(--ease), opacity .4s ease, padding .45s ease; }
#header .header-top{ padding-top:9px !important; padding-bottom:9px !important; }
#header .header-top-social-media ul{ display:flex; align-items:center; gap:8px; margin:0; }
#header .header-top-social-media li{ margin:0; }
#header .social-icon{ width:25px; height:25px; fill:var(--c-ink-2); transition:fill .3s ease, transform .3s var(--ease); vertical-align:middle; }
#header .header-top-social-media a{ display:grid; place-items:center; width:30px; height:30px; transition:transform .3s var(--ease); }
#header .header-top-social-media a:hover .social-icon{ fill:var(--c-accent); }
#header .header-top-social-media a:hover{ transform:translateY(-2px); }
#header .header-top-contact-links ul{ display:flex; align-items:center; gap:26px; margin:0; }
#header .header-top-contact-links li{ margin:0; }
#header .header-top-contact-links a{ font-family:var(--font-body); font-size:14px; letter-spacing:.04em; color:var(--c-ink-2);
  text-decoration:none; display:inline-flex; align-items:center; gap:8px; transition:color .3s ease; }
#header .header-top-contact-links a i{ color:var(--c-accent); font-size:14px; }
#header .header-top-contact-links a:hover{ color:var(--c-primary); }

/* scrolled: keep light, add shadow + collapse top bar */
#header.new-header-2.is-scrolled{ background:#FCF9FA; box-shadow:0 10px 34px -22px rgba(20,16,12,.28); }
#header.new-header-2.is-scrolled .header-top-bg{ max-height:0; opacity:0; padding-top:0 !important; padding-bottom:0 !important; overflow:hidden; border-bottom-color:transparent; }

/* --- MAIN ROW --- */
#header > div > div > .grid-x.custom-grid-container{ padding-top:16px !important; padding-bottom:16px !important; transition:padding .45s ease; }
#header.is-scrolled .grid-x.custom-grid-container:not(.header-top){ padding-top:10px !important; padding-bottom:10px !important; }
#header .logo-container a{ display:inline-flex; align-items:center; }
#header .logo-container img{ max-height:80px; width:auto; transition:max-height .45s ease; }
#header.is-scrolled .logo-container img{ max-height:44px; }

/* main nav */
#header #mainNav.dropdown.menu{ display:flex; align-items:center; justify-content:flex-end; gap:4px; margin:0; }
#header #mainNav > li{ margin:0; position:relative; }
#header #mainNav > li > a{ font-family:var(--font-body); font-size:12.5px; font-weight:500; letter-spacing:.09em; text-transform:uppercase;
  color:var(--c-ink); padding:10px 14px; position:relative; background:transparent; transition:color .3s ease; display:inline-block; }
#header #mainNav > li > a > span{ position:relative; }
#header #mainNav > li > a::before{ content:""; position:absolute; left:14px; right:14px; bottom:4px; height:1px; background:var(--c-accent);
  transform:scaleX(0); transform-origin:right; transition:transform .34s var(--ease); }
#header #mainNav > li > a:hover{ color:var(--c-primary); }
#header #mainNav > li > a:hover::before{ transform:scaleX(1); transform-origin:left; }
#header #mainNav > li.active > a{ color:var(--c-primary); }
#header #mainNav > li.active > a::before{ transform:scaleX(1); }

/* dropdown submenus (Foundation) — animated dark pop-overs */
#header #mainNav .is-dropdown-submenu{ background:var(--c-ink); border:1px solid rgba(168,131,75,.22); border-top:2px solid var(--c-accent);
  box-shadow:var(--shadow-2); min-width:250px; padding:10px 0; margin-top:8px;
  opacity:0; transform:translateY(10px); transition:opacity .3s ease, transform .3s var(--ease); }
#header #mainNav .is-dropdown-submenu.js-dropdown-active,
#header #mainNav li:hover > .is-dropdown-submenu{ opacity:1; transform:translateY(0); }
#header #mainNav .is-dropdown-submenu li{ margin:0; }
#header #mainNav .is-dropdown-submenu a{ font-family:var(--font-body); font-size:13px; font-weight:400; letter-spacing:.02em; text-transform:none;
  color:var(--c-cream-80); padding:10px 24px; display:block; transition:background .25s ease, color .25s ease, padding-left .3s var(--ease); }
#header #mainNav .is-dropdown-submenu a::after{ display:none; }
#header #mainNav .is-dropdown-submenu a:hover, #header #mainNav .is-dropdown-submenu .active a{ background:rgba(168,131,75,.1); color:var(--c-accent); padding-left:30px; }
#header #mainNav .is-dropdown-submenu .is-dropdown-submenu{ margin-top:0; }
#header #mainNav > li.is-dropdown-submenu-parent > a{ padding-right:26px; }
#header #mainNav > li.is-dropdown-submenu-parent > a > span::after{ content:"\203A"; position:absolute; right:-16px; top:50%; transform:translateY(-50%) rotate(90deg);
  font-size:14px; color:var(--c-primary); transition:transform .3s ease; }
#header #mainNav > li.is-dropdown-submenu-parent:hover > a > span::after{ transform:translateY(-50%) rotate(-90deg); }

/* Book Appointment button */
#header .button{ display:inline-flex; align-items:center; justify-content:center; font-family:var(--font-body); font-size:12px; font-weight:500;
  letter-spacing:.14em; text-transform:uppercase; color:var(--c-ink) !important; background:var(--c-accent); border:0; border-radius:0; padding:14px 26px; margin:0;
  transition:transform .3s var(--ease), background .3s ease, box-shadow .3s ease; white-space:nowrap; text-decoration:none; }
#header .button:hover{ background:var(--c-primary); color:var(--c-paper) !important; transform:translateY(-2px); box-shadow:0 16px 30px -16px rgba(0,0,0,.35); }

/* mobile hamburger */
#header .openMenu{ background:none; border:0; color:var(--c-ink); cursor:pointer; padding:6px; }
#header .openMenu .icon, #header .openMenu i{ color:var(--c-ink); }
#header .mobile-contact-buttom-section{ padding:12px 24px; }



/* Service Areas dropdown — scrollable (many cities) with themed scrollbar */
#header li.handle-service-areas.is-dropdown-submenu-parent > ul.is-dropdown-submenu{ max-height:400px; overflow-y:auto; overscroll-behavior:contain; }
#header li.handle-service-areas > ul.is-dropdown-submenu{ scrollbar-width:thin; scrollbar-color:var(--c-accent) rgba(168,131,75,.12); }
#header li.handle-service-areas > ul.is-dropdown-submenu::-webkit-scrollbar{ width:6px; }
#header li.handle-service-areas > ul.is-dropdown-submenu::-webkit-scrollbar-track{ background:rgba(168,131,75,.1); }
#header li.handle-service-areas > ul.is-dropdown-submenu::-webkit-scrollbar-thumb{ background:rgba(168,131,75,.5); border-radius:3px; }
#header li.handle-service-areas > ul.is-dropdown-submenu::-webkit-scrollbar-thumb:hover{ background:var(--c-accent); }



/* ================= WEBWARE FOOTER (#footer.new-footer) — Clockwork skin ================= */
 #footer.new-footer{ position:relative; overflow:hidden; background:#141422 !important; color:var(--c-paper); }
#footer.new-footer::before{ content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:radial-gradient(60% 120% at 88% 0%,rgba(138,23,18,.18),transparent 60%); }
#footer .footer-top-section,
#footer .footer-bottom-section,
#footer .copyright-section{ position:relative; z-index:1; }

#footer .footer-top-section{ padding:80px 0 44px; }

/* footer logo + about */
#footer .footer-logo img{ max-height:52px; width:auto; margin-bottom:22px; }
#footer .footer-about,#footer .footer-description,#footer .footer-text p{ font-family:var(--font-body); font-size:15px; line-height:1.75;
  color:var(--c-cream-70) !important; font-weight:300; }

/* column headings */
#footer .footer-navigation-menu > .title,
#footer .footer-list-menu .title,
#footer .footer-widget-title,
#footer h3,#footer h4,#footer .footer-col-title{ font-family:var(--font-body) !important; font-size:11px !important; font-weight:500 !important;
  letter-spacing:.24em !important; text-transform:uppercase; color:var(--c-accent) !important; margin:0 0 20px !important; }

/* footer nav links */
#footer .footer-navigation-menu ul,#footer .footer-list-menu ul,#footer ul.menu{ list-style:none; margin:0; padding:0; }
#footer .footer-navigation-menu li,#footer .footer-list-menu li{ margin:0 0 12px; }
 #footer .footer-navigation-menu a,
 #footer .footer-list-menu a,
 #footer ul.menu a{ font-family:var(--font-body); font-size:14px; line-height:1.4; color:var(--c-cream-80) !important; text-decoration:none;
  display:inline-block; transition:color .28s ease, padding-left .3s var(--ease); }
 #footer .footer-navigation-menu a:hover,
 #footer .footer-list-menu a:hover,
 #footer ul.menu a:hover{ color:var(--c-accent) !important; padding-left:6px; }

/* contact info blocks */
#footer .info,#footer .footer-contact li,#footer .contact-info li{ display:flex; align-items:flex-start; gap:12px; margin-bottom:16px; }
#footer .info i,#footer .info .fa,#footer .footer-contact i,#footer .contact-info i{ color:var(--c-accent); font-size:15px; margin-top:3px; flex:none; }
 #footer .info a,.is-wrapper #footer .info span,
 #footer .footer-contact a,.is-wrapper #footer .contact-info a{ font-family:var(--font-body); font-size:14px; line-height:1.55;
  color:var(--c-cream-80) !important; text-decoration:none; transition:color .28s ease; }
 #footer .info a:hover, #footer .footer-contact a:hover, #footer .contact-info a:hover{ color:var(--c-accent) !important; }

/* social media */
#footer .footer-social-media ul,#footer .social-media ul{ display:flex; align-items:center; gap:10px; margin:0; list-style:none; padding:0; }
#footer .footer-social-media a,#footer .social-media a{ display:grid; place-items:center; width:40px; height:40px; border:1px solid rgba(168,131,75,.3);
  transition:background .3s ease, border-color .3s ease, transform .3s var(--ease); }
#footer .footer-social-media a:hover,#footer .social-media a:hover{ background:var(--c-accent); border-color:var(--c-accent); transform:translateY(-3px); }
#footer .footer-social-media .social-icon,#footer .social-media .social-icon,
#footer .footer-social-media svg,#footer .social-media svg{ width:16px; height:16px; fill:var(--c-cream-80); transition:fill .3s ease; }
#footer .footer-social-media a:hover .social-icon,#footer .social-media a:hover .social-icon,
#footer .footer-social-media a:hover svg,#footer .social-media a:hover svg{ fill:var(--c-ink); }
#footer .footer-social-media a:hover i,#footer .social-media a:hover i{ color:var(--c-ink); }
#footer .footer-social-media i,#footer .social-media i{ color:var(--c-cream-80); font-size:15px; transition:color .3s ease; }

/* newsletter / subscribe */
#footer .footer-newsletter input[type="text"],
#footer .footer-newsletter input[type="email"],
#footer .newsletter input[type="email"],
#footer .subscribe input{ width:100%; font-family:var(--font-body); font-size:14px; color:var(--c-paper); background:rgba(243,235,221,.05);
  border:1px solid rgba(168,131,75,.3); border-radius:0; padding:13px 15px; transition:border-color .3s ease, background .3s ease; }
#footer .footer-newsletter input::placeholder,#footer .newsletter input::placeholder{ color:var(--c-cream-70); }
#footer .footer-newsletter input:focus,#footer .newsletter input:focus,#footer .subscribe input:focus{ outline:none; border-color:var(--c-accent);
  background:rgba(243,235,221,.08); }
#footer .footer-newsletter .button,#footer .newsletter .button,#footer .subscribe .button,
#footer .footer-newsletter input[type="submit"]{ font-family:var(--font-body); font-size:12px; font-weight:500; letter-spacing:.14em; text-transform:uppercase;
  color:var(--c-ink) !important; background:var(--c-accent); border:0; border-radius:0; padding:14px 26px; cursor:pointer;
  transition:transform .3s var(--ease), background .3s ease; }
#footer .footer-newsletter .button:hover,#footer .newsletter .button:hover,#footer .subscribe .button:hover,
#footer .footer-newsletter input[type="submit"]:hover{ background:var(--c-paper); color:var(--c-ink) !important; transform:translateY(-2px); }

/* divider + copyright bar */
#footer .footer-bottom-section,#footer .copyright-section{ border-top:1px solid rgba(168,131,75,.18); padding:26px 0; }
#footer .copyright-section .copyright,#footer .copyright-text,#footer .copyright-section p{ font-family:var(--font-body); font-size:12px;
  letter-spacing:.03em; color:var(--c-cream-70) !important; margin:0; }
 #footer .terms-condition a,
 #footer .copyright-section a,
 #footer .footer-bottom-menu a{ font-family:var(--font-body); font-size:12px; letter-spacing:.03em; color:var(--c-cream-70) !important;
  text-decoration:none; transition:color .28s ease; }
 #footer .terms-condition a:hover,
 #footer .copyright-section a:hover,
 #footer .footer-bottom-menu a:hover{ color:var(--c-accent) !important; }
#footer .terms-condition{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; }

#footer .footer-about,#footer .footer-description,#footer .footer-text p,#footer p{
  font-family:var(--font-body); font-size:15px; line-height:1.75;
  color:rgba(252,249,250,0.5) !important; font-weight:500; }

#footer .copyright-section .copyright,#footer .copyright-text,#footer .copyright-section p, #footer .copyright a{
  font-family:var(--font-body); font-size:16px; letter-spacing:.03em;
  color:rgba(252,249,250,0.5) !important; margin:0; font-weight:500;}
  
  /* ================= WEBWARE FOOTER (#footer) — Clockwork elite skin ================= */
 #footer{ position:relative; overflow:hidden; background:#141422 !important; color:var(--c-paper);
  border-top:1px solid rgba(168,131,75,.28); }
#footer::before{ content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:radial-gradient(60% 120% at 88% 0%,rgba(138,23,18,.16),transparent 60%); }
#footer > .grid-x{ position:relative; z-index:1; }

/* scroll-reveal (staggered) + spacing */
#footer .footer2.custom-grid-container:first-of-type,
#footer .grid-x.footer2:not(:last-of-type){ padding-top:78px !important; padding-bottom:20px !important; }
#footer .links-section,#footer .media-section,#footer .newsletter-section,#footer .contact-section{
  opacity:0; transform:translateY(24px); transition:opacity .8s var(--ease), transform .8s var(--ease); }
#footer.cwl-in .links-section{ transition-delay:0s; }
#footer.cwl-in .media-section{ transition-delay:.08s; }
#footer.cwl-in .newsletter-section{ transition-delay:.16s; }
#footer.cwl-in .contact-section{ transition-delay:.24s; }
#footer.cwl-in .links-section,#footer.cwl-in .media-section,
#footer.cwl-in .newsletter-section,#footer.cwl-in .contact-section{ opacity:1; transform:none; }
#footer .border-bottom-small{ border-bottom:0 !important; }
#footer .column-container{ padding:0; }

/* --- LINKS SECTION (logo + about) --- */
#footer .links-section .text-logo{ font-family:var(--font-head); font-size:28px; color:var(--c-paper); }
#footer .links-section img{ max-height:60px; width:auto; margin-bottom:20px; }
 #footer .links-section p{ font-family:var(--font-body); font-size:15px; line-height:1.75;
  color:rgba(252,249,250,0.5) !important; font-weight:300; margin:0 auto; max-width:360px; }

/* --- COLUMN HEADINGS (h4) --- */
 #footer h4{ font-family:var(--font-body) !important; font-size:11px !important; font-weight:500 !important;
  letter-spacing:.24em !important; text-transform:uppercase; color:var(--c-accent) !important; margin:0 0 22px !important;
  position:relative; padding-bottom:14px; }
#footer h4::after{ content:""; position:absolute; left:0; bottom:0; width:26px; height:1px; background:var(--c-accent); }
@media all and (max-width:1023.5px){ #footer h4::after{ left:50%; transform:translateX(-50%); } }

/* --- QUICK LINKS (media-section > ul) — arrow-slide hover --- */
#footer .media-section ul.no-bullet{ list-style:none; margin:0; padding:0; }
#footer .media-section li{ margin:0 0 13px; }
 #footer .media-section a{ position:relative; font-family:var(--font-body); font-size:14px; line-height:1.4;
  color:var(--c-cream-80) !important; text-decoration:none; display:inline-block; padding-left:0;
  transition:color .28s ease, padding-left .32s var(--ease); }
 #footer .media-section a::before{ content:"\2192"; position:absolute; left:-2px; top:0; opacity:0; color:var(--c-accent);
  transform:translateX(-6px); transition:opacity .3s ease, transform .3s var(--ease); }
 #footer .media-section a:hover{ color:var(--c-accent) !important; padding-left:24px; }
 #footer .media-section a:hover::before{ opacity:1; transform:translateX(0); }

/* --- SUBSCRIBE (newsletter-section .button) — shimmer sweep --- */
#footer .newsletter-section .button{ position:relative; overflow:hidden; display:inline-flex; align-items:center; justify-content:center;
  font-family:var(--font-body); font-size:12px; font-weight:500; letter-spacing:.14em; text-transform:uppercase; color:var(--c-ink) !important;
  background:var(--c-accent); border:0; border-radius:0; padding:16px 30px; text-decoration:none;
  transition:transform .3s var(--ease), background .3s ease, box-shadow .3s ease; }
#footer .newsletter-section .button:hover{ background:var(--c-paper); color:var(--c-ink) !important; transform:translateY(-2px);
  box-shadow:0 18px 34px -18px rgba(0,0,0,.5); }
#footer .newsletter-section .button::after{ content:""; position:absolute; top:0; left:-120%; width:60%; height:100%; z-index:1; pointer-events:none;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.5),transparent); transform:skewX(-18deg); transition:left .6s var(--ease); }
#footer .newsletter-section .button:hover::after{ left:130%; }

/* --- CONTACT (address, phone, email, social) --- */
 #footer .contact-section p,
 #footer .actual-address{ font-family:var(--font-body); font-size:14px; line-height:1.7; color:rgba(252,249,250,0.5) !important; font-weight:300; margin:0 0 12px; }
#footer .contact-number,#footer .contact-email{ margin-bottom:12px; }
 #footer .footer-phone,
 #footer .footer-email{ font-family:var(--font-body); font-size:15px; line-height:1.5; color:var(--c-cream-80) !important;
  text-decoration:none; display:inline-block; transition:color .28s ease, transform .28s var(--ease); }
 #footer .footer-phone:hover,
 #footer .footer-email:hover{ color:var(--c-accent) !important; }

/* social icons — square, gold fill sweep + lift */
#footer .social-media-icons{ display:flex; align-items:center; gap:10px; margin:18px 0 0; padding:0; list-style:none; }
#footer .social-media-icons li{ margin:0; }
#footer .social-media-icons a{ position:relative; overflow:hidden; display:grid; place-items:center; transition:border-color .3s ease, transform .3s var(--ease); }
#footer .social-media-icons a::before{ content:""; position:absolute; inset:0; z-index:0;
  transform:translateY(100%); transition:transform .38s var(--ease); }
#footer .social-media-icons a:hover{ border-color:var(--c-accent); transform:translateY(-3px); }
#footer .social-media-icons a:hover::before{ transform:translateY(0); }
#footer .social-media-icons a i,#footer .social-media-icons a svg,#footer .social-media-icons a img{ position:relative; z-index:1; }
#footer .social-media-icons a i{ color:var(--c-cream-80); font-size:16px; transition:color .3s ease; }
#footer .social-media-icons a svg{ width:25px; height:25px; fill:var(--c-cream-80); transition:fill .3s ease; }
#footer .social-media-icons a:hover i{ color:var(--c-ink); }
#footer .social-media-icons a:hover svg{ fill:#A8834B; }

/* --- DIVIDER + COPYRIGHT --- */
#footer hr{ border:0; border-top:1px solid rgba(168,131,75,.18); opacity:1; }
#footer .spacer.height-20{ height:20px; }
 #footer .copyright{ font-family:var(--font-body); font-size:16px; line-height:1.7; letter-spacing:.03em;
  color:rgba(252,249,250,0.5) !important;}
 #footer .copyright a{ color:rgba(252,249,250,0.7) !important; text-decoration:none; transition:color .28s ease; }
 #footer .copyright a:hover{ color:var(--c-accent) !important; }

/* ================= BLOG BANNER (hero-style, no .is-wrapper) ================= */
.main-blog-banner.new-blog-template{ position:relative; overflow:hidden; background:var(--c-ink); }
.main-blog-banner.new-blog-template figure{ margin:0; }
.main-blog-banner.new-blog-template picture,
.main-blog-banner.new-blog-template img{ display:block; width:100%; height:100%; object-fit:cover; }
.main-blog-banner.new-blog-template figure img{ min-height:340px; max-height:520px; }
/* dark cinematic scrim */
.main-blog-banner.new-blog-template figure::after{ content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(90deg,rgba(20,16,12,.9) 0%,rgba(20,16,12,.72) 38%,rgba(20,16,12,.4) 70%,rgba(20,16,12,.18) 100%),
             linear-gradient(180deg,rgba(20,16,12,.45) 0%,transparent 30%,transparent 62%,rgba(20,16,12,.6) 100%); }

/* overlay content */
.main-blog-banner.new-blog-template .inner-banner.blog-banner{ position:absolute; inset:0; z-index:2; display:flex; align-items:center; }
.main-blog-banner.new-blog-template .clear{ width:100%; }
.main-blog-banner.new-blog-template .in-banner-desc{ width:100%; }
.main-blog-banner.new-blog-template .in-banner-desc .grid-container{ max-width:1400px; margin:0 auto; padding:0 64px; width:100%; }

/* heading — typography restated from tokens (blog pages lack .is-wrapper) */
.main-blog-banner.new-blog-template .banner-main-heading{ font-family:var(--font-head); font-weight:400; color:var(--c-paper);
  font-size:clamp(40px,6vw,78px); line-height:1; letter-spacing:-.03em; margin:0; text-wrap:balance;
  position:relative; padding-left:26px; }
.main-blog-banner.new-blog-template .banner-main-heading::before{ content:""; position:absolute; left:0; top:14%; bottom:14%; width:3px; background:var(--c-accent); }
/* rise-in animation */
.main-blog-banner.new-blog-template .banner-main-heading{ opacity:0; transform:translateY(20px); animation:cwBannerRise .9s var(--ease) .1s forwards; }
@keyframes cwBannerRise{ to{ opacity:1; transform:none; } }
@media (prefers-reduced-motion:reduce){
  .main-blog-banner.new-blog-template .banner-main-heading{ opacity:1; transform:none; animation:none; }
}

@media all and (max-width:1023.5px){
.main-blog-banner.new-blog-template .inner-banner.blog-banner {
    position: relative;
    inset: 0;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 60px 20px;
}
}

@media all and (max-width:640px){
  .main-blog-banner.new-blog-template figure img{ min-height:240px; }
  .main-blog-banner.new-blog-template .in-banner-desc .grid-container{ padding:0 24px; }
  .main-blog-banner.new-blog-template .banner-main-heading{ padding-left:18px; }
}

/* ================= BLOG LISTING (.new-blog-page-type — no .is-wrapper) ================= */
.new-blog-page-type{ background:var(--c-paper); color:var(--c-ink); padding-top:64px; }
/* restate base typography (blog pages lack .is-wrapper) */
.new-blog-page-type h1,.new-blog-page-type h2,.new-blog-page-type h3,.new-blog-page-type h4,.new-blog-page-type h5{ font-family:var(--font-head); color:var(--c-ink); font-weight:400; }
.new-blog-page-type p,.new-blog-page-type li,.new-blog-page-type a{ font-family:var(--font-body); color:var(--c-ink-2); }

/* --- search bar --- */
.new-blog-page-type .blog-search-container{ margin-bottom:44px; }
.new-blog-page-type .blog-search-container .position-relative{position:relative;/* max-width:520px; */}
.new-blog-page-type .search-input-blog{ width:100%; font-family:var(--font-body); font-size:15px; color:var(--c-ink);
  background:var(--c-paper-2); border:1px solid var(--c-line); border-radius:0; padding:15px 50px 15px 18px;
  transition:border-color .3s ease, box-shadow .3s ease, background .3s ease; }
.new-blog-page-type .search-input-blog::placeholder{ color:rgba(90,78,66,.55); }
.new-blog-page-type .search-input-blog:focus{ outline:none; border-color:var(--c-accent); background:var(--c-paper); box-shadow:0 0 0 3px rgba(168,131,75,.14); }
.new-blog-page-type .blog-search-button{ position:absolute; right:0; top:0; height:100%; width:50px; display:grid; place-items:center;
  background:none; border:0; cursor:pointer; }
.new-blog-page-type .blog-search-button svg path{ fill:var(--c-primary); transition:fill .3s ease; }
.new-blog-page-type .blog-search-button:hover svg path{ fill:var(--c-accent); }

/* --- categories (filter + sidebar) --- */
.new-blog-page-type .articles-filter-container{ margin-bottom:32px; }
.new-blog-page-type .filter-h2,
.new-blog-page-type .section-main-heading.filter-h2{ font-family:var(--font-body) !important; font-size:11px !important; font-weight:500 !important;
  letter-spacing:.24em !important; text-transform:uppercase; color:var(--c-primary) !important; margin:0 0 22px !important; position:relative; padding-bottom:14px; }
.new-blog-page-type .filter-h2::after{ content:""; position:absolute; left:0; bottom:0; width:26px; height:1px; background:var(--c-accent); }
.new-blog-page-type .ps-blog-category{ list-style:none; margin:0; padding:0; }
.new-blog-page-type .ps-blog-category li{ margin:0 0 4px; }
.new-blog-page-type .ps-blog-category li a{
  display:block;
  font-family:var(--font-body);
  font-size:14px;
  letter-spacing:.02em;
  color:var(--c-ink-2);
  text-decoration:none;
  padding:11px 16px;
  /* border-left:2px solid transparent; */
  transition:color .28s ease, background .28s ease, border-color .28s ease, padding-left .3s var(--ease);
  }
.new-blog-page-type .ps-blog-category li a:hover{ color:var(--c-primary); background:var(--c-paper-2); border-left-color:var(--c-accent); padding-left:22px; }
.new-blog-page-type .ps-blog-category li.active > a{ color:var(--c-primary); border-left-color:var(--c-primary); }
/* "All" button */
.new-blog-page-type .ps-blog-category li .all-blogs.button{ display:inline-flex; align-items:center; font-family:var(--font-body); font-size:11px;
  font-weight:500; letter-spacing:.16em; text-transform:uppercase; color:var(--c-ink) !important; background:var(--c-accent); border:0; border-radius:0;
  padding:11px 26px; margin:0 0 10px; border-left:0; transition:background .3s ease, transform .3s var(--ease); }
.new-blog-page-type .ps-blog-category li .all-blogs.button:hover{ background:var(--c-primary); color:var(--c-paper) !important; transform:translateY(-2px); padding-left:26px; }

/* --- layout: articles + sidebar spacing --- */
.new-blog-page-type .blog-articles{ padding-right:20px; }
@media all and (max-width:1023.5px){ .new-blog-page-type .blog-articles{ padding-right:0; } }

/* --- article cards --- */
.new-blog-page-type .blog-ul{ list-style:none; margin:0; padding:0; }
.new-blog-page-type .blog-li{ margin:0 0 40px; }
.new-blog-page-type .blog-li .blog-article{ background:var(--c-paper); border:1px solid var(--c-line); border-top:2px solid var(--c-line);
  padding:0 0 36px; overflow:hidden; transition:transform .45s var(--ease), box-shadow .45s ease, border-top-color .45s ease; }
.new-blog-page-type .blog-li .blog-article:hover{ transform:translateY(-5px); box-shadow:0 34px 60px -40px rgba(20,16,12,.4); border-top-color:var(--c-accent); }
.new-blog-page-type .ps-article-img{ overflow:hidden; margin-bottom:26px; aspect-ratio:16/9; background:var(--c-ink-panel); }
.new-blog-page-type .ps-article-img img{ width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease); }
.new-blog-page-type .blog-li .blog-article:hover .ps-article-img img{ transform:scale(1.05); }
/* card inner padding */
.new-blog-page-type .article-category,
.new-blog-page-type .article-title,
.new-blog-page-type .article-body,
.new-blog-page-type .blog-li .blog-article > p{ padding-left:32px; padding-right:32px; }
/* category line */
.new-blog-page-type .article-category{ font-family:var(--font-body); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--c-ink-2); margin:0 0 14px; }
.new-blog-page-type .article-category .categories_text{ color:var(--c-accent); }
.new-blog-page-type .article-category a{ color:var(--c-primary); text-decoration:none; transition:color .25s ease; }
.new-blog-page-type .article-category a:hover{ color:var(--c-accent); }
/* title */
.new-blog-page-type .article-title{ margin:0 0 16px; }
.new-blog-page-type .article-title a{ font-family:var(--font-body); font-size: clamp(24px,2.6vw,28px); line-height:1.14; letter-spacing:-.015em;
  color:var(--c-ink); text-decoration:none; transition:color .3s ease; }
.new-blog-page-type .article-title a:hover{ color:var(--c-primary); }
/* excerpt */
.new-blog-page-type .article-body{ margin:0 0 20px; }
.new-blog-page-type .article-body p{ font-family:var(--font-body); font-size:16px; line-height:1.75; color:var(--c-ink-2); font-weight:300; margin:0; }
/* read more */
.new-blog-page-type .blog-read-more{ display:inline-flex; align-items:center; gap:12px; font-family:var(--font-body); font-size:12px; font-weight:500;
  letter-spacing:.16em; text-transform:uppercase; color:var(--c-primary); text-decoration:none; padding-bottom:6px; border-bottom:1px solid var(--c-line);
  transition:gap .3s var(--ease), color .28s ease, border-color .28s ease; }
.new-blog-page-type .blog-read-more::after{ content:"\2192"; font-family:var(--font-head); font-size:16px; }
.new-blog-page-type .blog-read-more:hover{ gap:20px; color:var(--c-accent); border-color:var(--c-accent); }

/* --- pagination --- */
.new-blog-page-type .ps-pagination-bar{ margin-top:20px; }
.new-blog-page-type .ps-pagination-bar a{ display:inline-grid; place-items:center; min-width:40px; height:40px; padding:0 12px; margin:0 4px;
  font-family:var(--font-body); font-size:14px; color:var(--c-ink-2); border:1px solid var(--c-line); text-decoration:none;
  transition:background .28s ease, color .28s ease, border-color .28s ease; }
.new-blog-page-type .ps-pagination-bar a:hover,
.new-blog-page-type .ps-pagination-bar a.active{ background:var(--c-primary); color:var(--c-paper); border-color:var(--c-primary); }

/* --- sidebar --- */
.new-blog-page-type .blog-sidebar{ padding-left:20px; }
.new-blog-page-type .blog-sidebar .articles-filter-container{ position:sticky; top:120px; padding:34px 30px; background:var(--c-paper-2); border:1px solid var(--c-line); border-top:2px solid var(--c-accent); }
@media all and (max-width:1023.5px){ .new-blog-page-type .blog-sidebar{ padding-left:0; } }

@media all and (max-width:640px){
  .new-blog-page-type .main-blog-widget > .grid-container{ padding:0 22px; }
  .new-blog-page-type .article-category,.new-blog-page-type .article-title,
  .new-blog-page-type .article-body,.new-blog-page-type .blog-li .blog-article > p{ padding-left:22px; padding-right:22px; }
}

/* BOX 1 — header (title + image + author) */
.new-blog-page-type .blog-article-content{ padding:40px; border:1px solid var(--c-line); border-top:2px solid var(--c-accent);
  background:var(--c-paper); box-shadow:var(--shadow-1); margin-top:80px; }

/* title (inside box 1) */
.new-blog-page-type .blog-article-content > .article-title,
.new-blog-page-type h1.article-title.banner-main-heading{
  font-family:var(--font-head);
  font-weight:400;
  font-size:clamp(34px,4.6vw,60px);
  line-height:1.04;
  letter-spacing:-.028em;
  color:var(--c-ink);
  margin:0 0 32px;
  text-wrap:balance;
  padding-left: 0;
  }

/* BOX 2 — article body (sits below the header, breaks out of box 1's padding) */
.new-blog-page-type .article-body.rte{ max-width:100%; padding:20px 0px; border-top:1px solid var(--c-line); background:var(--c-paper); padding-left: 32px;
    padding-right: 32px;}
/* center the reading measure inside the body box */
.new-blog-page-type .article-body.rte > *{ max-width:100%; margin-left:auto; margin-right:auto; }
/* pull-quote + inline images stay within the measure now */
.new-blog-page-type .article-body.rte blockquote{ max-width:720px; margin:44px auto; padding:30px 40px; background:var(--c-tint); border-left:3px solid var(--c-accent);
  font-family:var(--font-head); font-size:clamp(22px,2.4vw,30px); line-height:1.45; font-style:italic; color:var(--c-ink); }
.new-blog-page-type .article-body.rte img{ max-width:100%; margin:32px auto; width:100%; height:auto; box-shadow:var(--shadow-1); }

/* BOX 3 — recent posts sidebar */
.new-blog-page-type .blog-sidebar-widget{ padding:48px 40px; border:1px solid var(--c-line); border-top:2px solid var(--c-accent);
  background:var(--c-paper); box-shadow:var(--shadow-1); }

.item-body.rte {
    padding-left: 32px;
    padding-right: 32px;
}


@media screen and (max-width:1023.5px){
  #header .grid-x.custom-grid-container:not(.header-top){ padding:14px 20px !important; }
  .bnl-0 .bn-overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    background: none;
}

.inner-content-div.bn-content {
    max-width: 100%;
    padding: 80px 20px;
}

    .cwl-step {
        grid-template-columns: 1fr;
        gap: 24px;
    }
    
    .user-logged-out .pos-ab-ban {
    position: relative;
    }
    .cwl-founder-plate {
    position: relative;
    }
    
        .is-content-1200 {
        max-width: 650px !important;
    }
    
        .new-header-2 .mobile-contact-buttom-section {
        border-top: 1px solid #D2D2D2;
        text-align: center;
    }
        .new-header .logo-container {
        -webkit-box-flex: 1;
        -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
        flex: 1 1 0px;
        width: auto;
        padding-left: 40px;
    }
    
    #footer .social-media-icons {
    justify-content: center;
}

    footer .links-section, footer .newsletter-section {
        padding-bottom: 2rem;
        margin-bottom: 2rem;
    }
    
    .is-wrapper .contact-form fieldset.fieldset
 {
    border: 0;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(1, 1fr);
}

}

.cwl-faq-panel {
    display: grid;
    grid-template-rows: 0fr;
    opacity: 0;
    transition:
        grid-template-rows 0.6s cubic-bezier(0.22, 1, 0.36, 1),
        opacity 0.4s ease;
}

span.cwl-areas-label.text-transform-none {
    text-transform: none;
    font-size: 16px;
    line-height: normal;
    letter-spacing: normal;
}

h2.article-title.widget-title a {
    font-family: var(--font-head) !important;
    color: var(--c-ink) ;
    font-weight: 500 !important;
    text-wrap: balance;
    font-size: 42px;
    line-height: .98;
    letter-spacing: -.025em;
    margin: 0;
}

.new-blog-page-type.article-page-type .article-body {
    margin-top: 23px !important;
}

div#lead-magnet-form {
    background: linear-gradient(180deg, var(--c-paper-2) 0%, var(--c-paper) 40%, var(--c-tint) 100%);
    max-width: 100%;
}


div#lead-magnet-form h2, .new-website-login-form h4 {
    font-family: var(--font-head);
    font-size: var(--fs-h2);
    line-height: .98;
    letter-spacing: -.025em;
    margin: 0;
    color: var(--c-ink);
    font-weight: 500;
    margin-bottom: 10px;
}

div#lead-magnet-form .ww-form-container .button
 {
    display: inline-flex;
    align-items: center;
    gap: 18px;
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 500;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--btn-text);
    background: var(--btn-bg);
    padding: 22px 36px;
    text-decoration: none;
    transition: transform .32s var(--ease), background .32s ease, box-shadow .32s ease;
}

.new-website-login-form form.settings .button, .new-website-login-form .signup-container .button
 {
    display: inline-flex;
    align-items: center;
    gap: 18px;
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 500;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--btn-text);
    background: var(--btn-bg);
    text-decoration: none;
    transition: transform .32s var(--ease), background .32s ease, box-shadow .32s ease;
    border-radius:0px !important;
}

#lead-magnet-form .ww-form-container input[type="text"], #lead-magnet-form .ww-form-container input[type="password"], #lead-magnet-form .ww-form-container input[type="tel"], #lead-magnet-form .ww-form-container input[type="email"], #lead-magnet-form .ww-form-container select, #lead-magnet-form .ww-form-container textarea, .new-website-login-form form.settings input[type="text"], .new-website-login-form form.settings input[type="email"], .new-website-login-form form.settings input[type="password"] {
    font-family: var(--font-body);
    font-size: 15px;
    color: var(--c-ink);
    background: var(--c-paper-2);
    border: 1px solid var(--c-line);
    border-radius: var(--r-sm);
    padding: 9px 16px;
    line-height: 1.4;
    transition: border-color .3s ease, box-shadow .3s ease, background .3s ease;
}

.ps-login-page.padding-top-3.padding-bottom-3 {
    background: linear-gradient(180deg, var(--c-paper) 0%, var(--c-paper-2) 100%);
}

a.cta-link.font-bold {
    font-weight: 500;
}

.form-container .checkbox_wrap {
    display: flex;
}

.accounting-info {
    color: #fff;
}

.info-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.info-item {
    min-height: 54px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 6px 12px;
    box-sizing: border-box;

    
    font-size: 15.5px;
    line-height: 1.25;
}

a.cwl-cta.is-wide.add-fr-else {
    gap: 10px;
}


/* Icons */
.info-item img {
    width: 20px  !important;
    height: 20px !important;
    min-width: 20px  !important;
    object-fit: contain;
    display: block;
}

/* Mobile */
@media (max-width: 1023.5px) {
    .info-grid {
        grid-template-columns: 1fr;
    }

    .info-item {
        border-right: 0 !important;
    }

    .info-item:last-child {
        border-bottom: 0;
    }
}


@media screen and (min-width:1024px) and (max-width:1200px){
    #footer .newsletter-section .button{
            padding: 16px 26px;
        }
        #header #mainNav > li > a{
            padding:10px;
            }   
    }
    
.if-white-add{
    color:#FFF !important;
    }
    
    .acc-cards {
    background: #DED0B5;
    border: 1px solid #A8834B;
    height: 100%;
    padding: 2rem;
}

h3.cwl-step-title.new-heading-s {
    font-style: normal;
    font-weight: 400;
    font-size: 24px;
    line-height: 29px;
    letter-spacing: 0.01em;
    color: #14100C;
}


ul.cwl-checklist.cwl-reveal.is-in.add-next-list {
    border: 0px;
    padding: 0;
    background: transparent;
}
.is-wrapper ul.cwl-checklist.cwl-reveal.is-in.add-next-list li::before{
        border-left: 2px solid #74110C;
    border-bottom: 2px solid #74110C;
}

ul.cwl-checklist.cwl-reveal.is-in.add-next-list li{
    border: 0px;
    padding-bottom:0px;
        padding-left: 36px;
        font-style: normal;
font-weight: 400;
font-size: 17px;
line-height: 26px;
letter-spacing: 0.01em;
color: #5A4E42;
}

a.cta-list {
    color: #74110C;
    font-weight: 500;
    text-decoration:underline;
}

a.cta-list:hover {
    color: #74110C;
    font-weight: 500;
    text-decoration:none;
}

span.cwl-ital.new-cl {
    color: #DED0B5;
}

.remove-hov .cwl-svc-card {
    background: transparent;
    border-width: 0px 1px 1px 1px;
border-style: solid;
border-color: rgba(255, 255, 255, 0.4);
    margin: 1rem;
}

.remove-hov .cwl-svc-card:hover, .remove-hov .cwl-svc-card::before {
    background: transparent;
}

.remove-hov .cwl-svc-card *{
    color:#FFF !important;
    }
    
    
.home-demo-slide .slick-dots li {
    border: 1px solid #F5EEE1;
    background: #F5EEE1;
    opacity:0.6;
}

.home-demo-slide .slick-dots li.slick-active, .home-demo-slide .slick-dots li:hover {
    background: #F5EEE1;
     opacity:1;
}

.home-demo-slide .slick-dots{
    bottom:-37px;
    }
    
    .section-number {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 20px 28px;
    width: fit-content;
  }

  .section-number span {
    font-size: 17px;
    font-weight: 600;
    color: #A8834B;
  }

  .section-number .line {
    width: 195px;
    height: 1px;
    background: #A8834B;
  }
  
  .add-rid {
    display: grid;
    grid-template-columns: repeat(2, 2fr);
}

.cwl-team.light-common {
    background: #F5EEE1 !important;
}
span.cwl-itlaic.new-cl {
    font-style: italic;
    color: #DED0B5;
}

.consult-form {
    background: #DED0B5;
    border-radius: 10px;
}

.consult-form legend{
    display:none;
}

.consult-form fieldset.fieldset{
       border: 0;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(2, 2fr);
    gap:10px;
}

.is-wrapper .consult-form input.input, .is-wrapper .consult-form input[type="text"], .is-wrapper .consult-form input[type="email"], .is-wrapper .consult-form input[type="tel"], .is-wrapper .consult-form select, .is-wrapper .consult-form textarea
 {
    width: 100%;
    font-family: var(--font-body);
    font-size: 15px;
    color: var(--c-ink);
    background: var(--c-paper-2);
    border: 1px solid var(--c-line);
    border-radius: var(--r-sm);
    padding: 9px 16px;
    line-height: 1.4;
    transition: border-color .3s ease, box-shadow .3s ease, background .3s ease;
     border-radius:9px;
     background:#FFFFFF;
}

.consult-form .ww-form-container form fieldset>div {
    width: 250px;
    margin: 0 auto;
    padding: .1em 0;
    position: relative;
    
}

.is-wrapper .consult-form div.form-container {
    margin: 0 auto;
    max-width: 100%;
    width: 100%;
        padding-top: 24px;
}
    
    .is-wrapper .consult-form .checkbox_wrap label {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 14px;
    font-weight: 400;
    color: var(--c-ink-2) !important;
    margin: 0 0 10px;
    cursor: pointer;
}

.is-wrapper .consult-form input[type="checkbox"] {
    flex: none;
    width: 17px;
    height: 17px;
    margin-top: 1px;
    accent-color: var(--c-primary);
    cursor: pointer;
}
.consult-form label{
    font-style: normal;
font-weight: 400;
font-size: 17px;
line-height: 26px;
letter-spacing: 0.01em;
color: #5A4E42;
    }
    
    input#Submit {
    background: #A8834B;
}

.field_34265_wrap {
    grid-column: 1 / -1;
    width: 100% !important;
    max-width: 100%;
}


.consult-form .iti.iti--allow-dropdown {
    width: 100%;
}

.consult-form #mob_phone_phone_number_tel {
    margin-top: 0px !important;
    margin-bottom: 0px !important;
    border: 1px solid #BDC3C7;
    border-radius: 0;
    height: 38px;
    font-size: 14px;
    width: 100%;
    font-family: var(--font-body);
    font-size: 15px;
    color: var(--c-ink);
    background: var(--c-paper-2);
    border: 1px solid var(--c-line);
    border-radius: var(--r-sm);
    padding: 9px 16px;
    line-height: 1.4;
    transition: border-color .3s ease, box-shadow .3s ease, background .3s ease;
    border-radius: 9px;
    background: #FFFFFF;
    width: 100% !important;
    max-width: 100%;
    padding-left: 47px;
}

.consult-form .iti.iti--allow-dropdown {
    width: 100%;
}

@media screen and (min-width:1024px) and (max-width:1200px){
.consult-form .ww-form-container form fieldset>div {
    width: 200px;
    }
    
    .consult-form .spacer.height-40{
        height:10px;
        }
        
       .consult-form .submit_wrap.padding-top-1{
           padding-top:0px !important;
            }
    }
    
   @media screen and (max-width:550px){
       .consult-form fieldset.fieldset {
    border: 0;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 10px;
}
       
       .field_34265_wrap {
    grid-column: 1;
    width: 250px !important;
    max-width: 100%;
}

.consult-form h3.form-heading {
    text-align: center;
    font-size: 2rem;
}
.add-padding {
    padding: 50px 10px;
}

       } 
       
       .ps-policies a {
    color: #000;
}

.ps-policies h1 {
    font-family: var(--font-head);
    font-size: var(--fs-h2);
    line-height: .98;
    letter-spacing: -.025em;
    margin: 0;
    color: var(--c-ink);
    margin-bottom: 10px;
}

.new-letter-spacing {
    line-height: 1.2;
}

html {
    scroll-behavior:smooth;
}

h3.form-heading {
    font-size: 28px;
}
    