/* ============================================================
   WEALTH PATHWAY — design system
   Art direction: "Ledger Editorial" — grid panels, hairline
   borders, tabular figures, rule-and-number index markers.
   Class scheme: wp.<block>[.<subpart>][--modifier]
   ============================================================ */

:root{
  --site-bg:#E9DFCE;
  --site-surface:#FBF7EF;
  --site-text:#2B1C12;
  --site-muted:#7A6B58;
  --site-accent:#C1521C;
  --wp-accent2:#8C6A3F;
  --wp-line: rgba(43,28,18,.16);
  --wp-line-soft: rgba(43,28,18,.10);
  --wp-radius:12px;
  --wp-container:1200px;
  --wp-section-pad:76px;
  --wp-font-heading:'Fraunces', Georgia, serif;
  --wp-font-body:'Work Sans', Arial, sans-serif;
  --wp-shadow:none;
}

/* ---------- Reset ---------- */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
html,body{max-width:100%;overflow-x:hidden;}
body{
  margin:0;
  background:var(--site-bg);
  color:var(--site-text);
  font-family:var(--wp-font-body);
  font-size:16px;
  line-height:1.6;
  font-feature-settings:"tnum" 1, "lnum" 1;
}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;margin:0;padding:0;}
button{font:inherit;cursor:pointer;}
table{border-collapse:collapse;width:100%;}
h1,h2,h3,h4{
  font-family:var(--wp-font-heading);
  font-weight:600;
  line-height:1.15;
  margin:0 0 .5em;
  letter-spacing:-.01em;
}
p{margin:0 0 1em;color:var(--site-text);}
:focus-visible{outline:3px solid var(--site-accent);outline-offset:3px;}

/* ---------- Layout helpers ---------- */
.wp\.container{
  max-width:var(--wp-container);
  margin-inline:auto;
  padding-inline:clamp(20px,4vw,32px);
}
.wp\.grid--2{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:32px;}
.wp\.grid--3{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:28px;}
.wp\.grid--4{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;}
.wp\.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;}

/* ---------- Media wrapper ---------- */
.wp\.media{position:relative;overflow:hidden;border-radius:var(--wp-radius);border:1px solid var(--wp-line);background:var(--wp-accent2);}
.wp\.media img{width:100%;height:100%;object-fit:cover;display:block;}
.wp\.media--16x9{aspect-ratio:16/9;}
.wp\.media--21x9{aspect-ratio:21/9;}
.wp\.media--1x1{aspect-ratio:1/1;}
.wp\.media--4x5{aspect-ratio:4/5;}
.wp\.media--tall{aspect-ratio:3/4;}

/* ---------- Buttons ---------- */
.wp\.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  padding:14px 28px;min-height:48px;
  border-radius:8px;border:1px solid transparent;
  font-weight:600;font-size:.95rem;letter-spacing:.01em;
  transition:transform .18s ease, background .18s ease, border-color .18s ease, color .18s ease;
}
.wp\.btn--primary{background:var(--site-accent);color:#FBF7EF;border-color:var(--site-accent);}
.wp\.btn--primary:hover{transform:translateY(-2px);background:#a8480f;}
.wp\.btn--ghost{background:transparent;color:var(--site-text);border-color:var(--wp-line);}
.wp\.btn--ghost:hover{border-color:var(--site-accent);color:var(--site-accent);transform:translateY(-2px);}

/* ---------- Section / Ledger index marker (signature element) ---------- */
.wp\.section{padding-block:var(--wp-section-pad);border-top:1px solid var(--wp-line-soft);}
.wp\.section:first-of-type{border-top:none;}
.wp\.section--tinted{background:var(--site-surface);}
.wp\.section\.head{max-width:760px;margin-bottom:44px;}
.wp\.section\.index{display:flex;align-items:center;gap:16px;margin-bottom:18px;}
.wp\.section\.index-num{
  font-family:var(--wp-font-heading);font-weight:600;color:var(--site-accent);
  font-size:1.1rem;font-feature-settings:"tnum" 1;letter-spacing:.04em;
}
.wp\.section\.index-rule{flex:1;height:1px;background:var(--wp-line);}
.wp\.section\.title{font-size:clamp(1.7rem,3vw,2.4rem);}
.wp\.section\.subcopy{color:var(--site-muted);font-size:1.05rem;max-width:640px;}

/* ============================================================
   HEADER — thin top utility bar + large nav below, left logo
   ============================================================ */
.wp\.header{position:relative;z-index:60;background:var(--site-bg);}
.wp\.header\.bar{background:var(--site-text);color:var(--site-bg);}
.wp\.header\.bar-inner{display:flex;align-items:center;justify-content:space-between;padding-block:9px;gap:16px;flex-wrap:wrap;}
.wp\.header\.bar-list{display:flex;gap:24px;align-items:center;font-size:.82rem;letter-spacing:.02em;flex-wrap:wrap;}
.wp\.header\.bar-list li{display:flex;align-items:center;gap:8px;opacity:.9;}
.wp\.header\.bar-list a:hover{color:var(--site-accent);}
.wp\.header\.bar-vat{font-feature-settings:"tnum" 1;color:#cbb99b;}

.wp\.header\.nav{border-bottom:1px solid var(--wp-line);background:var(--site-bg);transition:box-shadow .2s ease,padding .2s ease;}
#masthead-19d.is-scrolled .wp\.header\.nav{box-shadow:0 1px 0 var(--wp-line);}
.wp\.header\.nav-inner{display:flex;align-items:center;justify-content:space-between;padding-block:20px;gap:24px;}

.wp\.logo{display:inline-flex;align-items:center;gap:12px;}
.wp\.logo\.icon{width:38px;height:38px;flex:none;}
.wp\.logo\.word{
  font-family:var(--wp-font-heading);font-weight:600;font-size:1.4rem;
  letter-spacing:-.01em;color:var(--site-text);line-height:1;
}

.wp\.nav\.list{display:flex;align-items:center;gap:34px;}
.wp\.nav-item{
  font-size:.98rem;font-weight:500;color:var(--site-text);
  padding:6px 0;border-bottom:2px solid transparent;transition:border-color .18s ease,color .18s ease;
}
.wp\.nav-item:hover,.wp\.nav-item.is-active{border-color:var(--site-accent);color:var(--site-accent);}
.wp\.nav\.list .wp\.btn{margin-left:6px;}

.wp\.burger{
  display:none;flex-direction:column;justify-content:center;gap:5px;
  width:44px;height:44px;background:transparent;border:1px solid var(--wp-line);border-radius:8px;
}
.wp\.burger span{display:block;width:20px;height:2px;background:var(--site-text);margin-inline:auto;transition:transform .2s ease,opacity .2s ease;}
.wp\.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.wp\.burger[aria-expanded="true"] span:nth-child(2){opacity:0;}
.wp\.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

.wp\.veil{position:fixed;inset:0;background:rgba(43,28,18,.45);opacity:0;visibility:hidden;transition:opacity .25s ease;z-index:70;}
.wp\.veil.is-open{opacity:1;visibility:visible;}

.wp\.drawer{
  position:fixed;top:0;right:0;bottom:0;width:min(340px,86vw);
  background:var(--site-surface);border-left:1px solid var(--wp-line);
  transform:translateX(100%);transition:transform .28s ease;z-index:80;
  padding:24px 24px 40px;overflow-y:auto;
}
.wp\.drawer.is-open{transform:translateX(0);}
.wp\.drawer\.head{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--wp-line);}
.wp\.drawer\.close{width:38px;height:38px;border-radius:8px;border:1px solid var(--wp-line);background:transparent;}
.wp\.drawer\.list{display:flex;flex-direction:column;gap:4px;}
.wp\.drawer\.list a{display:block;padding:12px 6px;font-size:1.05rem;border-bottom:1px solid var(--wp-line-soft);}

@media (max-width:900px){
  .wp\.nav{display:none;}
  .wp\.burger{display:flex;}
  .wp\.header\.bar-list{font-size:.75rem;gap:16px;}
}

/* ============================================================
   HERO — index page: centred, eyebrow + headline + subcopy + 2 CTAs
   over a tinted surface
   ============================================================ */
.wp\.hero-panel{
  background:linear-gradient(180deg,var(--site-surface),var(--site-bg) 92%);
  border-bottom:1px solid var(--wp-line);
  padding-block:calc(var(--wp-section-pad) + 18px) var(--wp-section-pad);
  text-align:center;
}
.wp\.hero-panel .wp\.container{max-width:760px;}
.wp\.hero-panel\.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-size:.82rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--site-accent);margin-bottom:20px;
}
.wp\.hero-panel\.eyebrow::before,.wp\.hero-panel\.eyebrow::after{content:"";width:22px;height:1px;background:var(--site-accent);}
.wp\.hero-panel\.headline{font-size:clamp(2.2rem,5vw,3.7rem);}
.wp\.hero-panel\.subcopy{font-size:1.1rem;color:var(--site-muted);max-width:560px;margin-inline:auto 28px;}
.wp\.hero-panel\.actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-top:8px;}

/* ============================================================
   STATS — row of 3-4 big numbers (index) / bordered boxes (risk)
   ============================================================ */
.wp\.stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:0;border:1px solid var(--wp-line);border-radius:var(--wp-radius);overflow:hidden;background:var(--site-surface);}
.wp\.stat{padding:38px 24px;text-align:center;border-left:1px solid var(--wp-line);}
.wp\.stat:first-child{border-left:none;}
.wp\.stat\.value{font-family:var(--wp-font-heading);font-size:clamp(2.1rem,4vw,3rem);color:var(--site-accent);font-feature-settings:"tnum" 1;}
.wp\.stat\.label{color:var(--site-muted);font-size:.92rem;margin-top:6px;}

.wp\.stats-row--boxed{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px;border:none;background:none;}
.wp\.stats-row--boxed .wp\.stat{border:1px solid var(--wp-line);border-left:1px solid var(--wp-line);border-radius:var(--wp-radius);background:var(--site-surface);}

@media (max-width:640px){
  .wp\.stats-row{grid-template-columns:1fr 1fr;}
  .wp\.stat{border-left:1px solid var(--wp-line);border-top:1px solid var(--wp-line);}
  .wp\.stat:nth-child(-n+2){border-top:none;}
  .wp\.stat:nth-child(odd){border-left:none;}
}

/* ============================================================
   METHODOLOGY — numbered phases down the page, rule between them
   ============================================================ */
.wp\.methodology{max-width:880px;margin-inline:auto;}
.wp\.methodology\.phase{display:grid;grid-template-columns:88px 1fr;gap:28px;padding-block:32px;border-top:1px solid var(--wp-line);}
.wp\.methodology\.phase:first-child{border-top:none;padding-top:0;}
.wp\.methodology\.phase-num{font-family:var(--wp-font-heading);font-size:2.1rem;color:var(--site-accent);font-feature-settings:"tnum" 1;}
.wp\.methodology\.phase-title{font-size:1.25rem;margin-bottom:8px;}
.wp\.methodology\.phase-body{color:var(--site-muted);}
@media (max-width:600px){.wp\.methodology\.phase{grid-template-columns:1fr;gap:8px;}}

/* ============================================================
   SECTORS — list rows: sector + what changes
   ============================================================ */
.wp\.sectors\.row{
  display:grid;grid-template-columns:260px 1fr;gap:32px;align-items:baseline;
  padding-block:22px;border-top:1px solid var(--wp-line);
}
.wp\.sectors\.row:first-child{border-top:none;}
.wp\.sectors\.name{font-family:var(--wp-font-heading);font-size:1.15rem;font-weight:600;}
.wp\.sectors\.change{color:var(--site-muted);}
@media (max-width:640px){.wp\.sectors\.row{grid-template-columns:1fr;gap:6px;}}

/* ============================================================
   METRICS PANEL — scoring table with weightings (real <table>)
   ============================================================ */
.wp\.metrics-panel{border:1px solid var(--wp-line);border-radius:var(--wp-radius);overflow:hidden;background:var(--site-surface);}
.wp\.metrics-panel\.table{width:100%;}
.wp\.metrics-panel\.table th,.wp\.metrics-panel\.table td{
  padding:16px 20px;text-align:left;border-bottom:1px solid var(--wp-line);font-size:.95rem;
}
.wp\.metrics-panel\.table th{
  font-family:var(--wp-font-heading);font-weight:600;background:var(--site-bg);
  text-transform:uppercase;letter-spacing:.05em;font-size:.76rem;color:var(--site-muted);
}
.wp\.metrics-panel\.table td{font-feature-settings:"tnum" 1;color:var(--site-text);}
.wp\.metrics-panel\.table tr:last-child td{border-bottom:none;}
.wp\.metrics-panel\.table td.wp\.weight{color:var(--site-accent);font-weight:600;}

/* ============================================================
   COMPARISON — three-column feature table
   ============================================================ */
.wp\.comparison{border:1px solid var(--wp-line);border-radius:var(--wp-radius);overflow:hidden;background:var(--site-surface);}
.wp\.comparison\.row{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;border-top:1px solid var(--wp-line);}
.wp\.comparison\.row:first-child{border-top:none;background:var(--site-bg);font-weight:600;font-family:var(--wp-font-heading);}
.wp\.comparison\.cell{padding:16px 20px;border-left:1px solid var(--wp-line);font-size:.92rem;}
.wp\.comparison\.cell:first-child{border-left:none;text-align:left;color:var(--site-text);}
.wp\.comparison\.row:not(:first-child) .wp\.comparison\.cell:not(:first-child){text-align:center;color:var(--site-muted);}
.wp\.comparison\.col--featured{background:#f3e6d3;}
@media (max-width:760px){
  .wp\.comparison\.row{grid-template-columns:1.2fr repeat(3,1fr);font-size:.8rem;}
  .wp\.comparison\.cell{padding:12px 10px;}
}

/* ============================================================
   CREDENTIALS — cards pairing credential with its guarantee
   ============================================================ */
.wp\.credentials{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px;}
.wp\.card--credential{
  border:1px solid var(--wp-line);border-radius:var(--wp-radius);padding:32px 26px;
  background:var(--site-surface);transition:border-color .2s ease,transform .2s ease;
}
.wp\.card--credential:hover{border-color:var(--site-accent);transform:translateY(-4px);}
.wp\.card--credential i{font-size:1.5rem;color:var(--site-accent);margin-bottom:16px;}
.wp\.card--credential h3{font-size:1.15rem;margin-bottom:10px;}
.wp\.card--credential p{color:var(--site-muted);font-size:.94rem;margin:0;}

/* ============================================================
   PROCESS — 4 numbered steps in a row
   ============================================================ */
.wp\.process{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:28px;}
.wp\.process::before{
  content:"";position:absolute;top:24px;left:6%;right:6%;height:1px;background:var(--wp-line);
  z-index:0;
}
.wp\.process\.step{position:relative;z-index:1;}
.wp\.process\.step-num{
  width:48px;height:48px;border-radius:50%;background:var(--site-surface);border:1px solid var(--site-accent);
  display:flex;align-items:center;justify-content:center;font-family:var(--wp-font-heading);color:var(--site-accent);
  font-weight:600;margin-bottom:18px;font-feature-settings:"tnum" 1;
}
.wp\.process\.step-title{font-size:1.05rem;margin-bottom:8px;}
.wp\.process\.step p{color:var(--site-muted);font-size:.92rem;margin:0;}
@media (max-width:760px){
  .wp\.process{grid-template-columns:1fr 1fr;}
  .wp\.process::before{display:none;}
}
@media (max-width:420px){.wp\.process{grid-template-columns:1fr;}}

/* ============================================================
   FAQ — accordion (single + grouped by topic)
   ============================================================ */
.wp\.faq{max-width:840px;margin-inline:auto;}
.wp\.faq\.group{margin-bottom:36px;}
.wp\.faq\.group-title{
  font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:var(--site-accent);
  margin-bottom:14px;font-weight:600;
}
.wp\.accordion\.item{border-top:1px solid var(--wp-line);}
.wp\.accordion\.item:last-child{border-bottom:1px solid var(--wp-line);}
.wp\.accordion\.trigger{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;
  background:none;border:none;text-align:left;padding:20px 4px;
  font-family:var(--wp-font-heading);font-size:1.05rem;color:var(--site-text);
}
.wp\.accordion\.trigger i{transition:transform .25s ease;color:var(--site-accent);flex:none;}
.wp\.accordion\.item.is-open .wp\.accordion\.trigger i{transform:rotate(45deg);}
.wp\.accordion\.body{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.wp\.accordion\.item.is-open .wp\.accordion\.body{max-height:600px;}
.wp\.accordion\.body-inner{padding:0 4px 22px;color:var(--site-muted);}

/* ============================================================
   CTA STRIP — full-width band / split / card / choice variants
   ============================================================ */
.wp\.cta-strip{
  background:var(--site-text);color:var(--site-bg);text-align:center;
  padding-block:var(--wp-section-pad);
}
.wp\.cta-strip h2{color:#FBF7EF;}
.wp\.cta-strip p{color:#d8c7ac;max-width:560px;margin-inline:auto 24px;}
.wp\.cta-strip .wp\.btn--ghost{color:#FBF7EF;border-color:rgba(251,247,239,.4);}
.wp\.cta-strip .wp\.btn--ghost:hover{border-color:var(--site-accent);color:var(--site-accent);}

.wp\.cta-strip--split{
  background:var(--site-surface);color:var(--site-text);text-align:left;
  border:1px solid var(--wp-line);border-radius:var(--wp-radius);
  display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;
  padding:48px;margin-inline:auto;max-width:var(--wp-container);
}
.wp\.cta-strip--split h2{color:var(--site-text);}
.wp\.cta-strip--split p{color:var(--site-muted);margin-inline:0 0;}
.wp\.cta-strip--split form{display:flex;gap:12px;flex-wrap:wrap;}
.wp\.cta-strip--split input{flex:1;min-width:180px;}
@media (max-width:760px){.wp\.cta-strip--split{grid-template-columns:1fr;padding:32px 24px;}}

.wp\.cta-strip--card{
  background:none;color:var(--site-text);padding-block:var(--wp-section-pad);
}
.wp\.cta-strip--card .wp\.cta-strip\.inner{
  max-width:640px;margin-inline:auto;background:var(--site-surface);border:1px solid var(--wp-line);
  border-radius:var(--wp-radius);padding:52px 40px;text-align:center;
}
.wp\.cta-strip--card h2{color:var(--site-text);}
.wp\.cta-strip--card p{color:var(--site-muted);}

.wp\.cta-strip--choice{background:none;color:var(--site-text);padding-block:var(--wp-section-pad);}
.wp\.cta-strip--choice .wp\.cta-strip\.inner{
  max-width:900px;margin-inline:auto;display:grid;grid-template-columns:1fr 1fr;
  border:1px solid var(--wp-line);border-radius:var(--wp-radius);overflow:hidden;background:var(--site-surface);
}
.wp\.cta-strip--choice .wp\.cta-strip\.option{padding:44px 32px;text-align:center;border-left:1px solid var(--wp-line);}
.wp\.cta-strip--choice .wp\.cta-strip\.option:first-child{border-left:none;}
.wp\.cta-strip--choice h3{color:var(--site-text);}
.wp\.cta-strip--choice p{color:var(--site-muted);}
@media (max-width:640px){.wp\.cta-strip--choice .wp\.cta-strip\.inner{grid-template-columns:1fr;}
  .wp\.cta-strip--choice .wp\.cta-strip\.option{border-left:none;border-top:1px solid var(--wp-line);}
  .wp\.cta-strip--choice .wp\.cta-strip\.option:first-child{border-top:none;}}

/* ============================================================
   PAGE HERO variants — side image / type-only / compact
   ============================================================ */
.wp\.page-hero{padding-block:var(--wp-section-pad);border-bottom:1px solid var(--wp-line);}
.wp\.page-hero\.eyebrow{
  display:inline-block;font-size:.82rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  color:var(--site-accent);margin-bottom:16px;
}
.wp\.page-hero\.title{font-size:clamp(2rem,4.4vw,3.2rem);}
.wp\.page-hero\.intro{color:var(--site-muted);font-size:1.08rem;max-width:640px;}

.wp\.page-hero--side .wp\.container{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;}
.wp\.page-hero--side .wp\.page-hero\.media{aspect-ratio:4/5;}
@media (max-width:820px){.wp\.page-hero--side .wp\.container{grid-template-columns:1fr;}
  .wp\.page-hero--side .wp\.page-hero\.media{aspect-ratio:16/9;order:-1;}}

.wp\.page-hero--type{background:var(--site-surface);text-align:left;}
.wp\.page-hero--type .wp\.container{max-width:820px;}

.wp\.page-hero--compact{text-align:center;padding-block:calc(var(--wp-section-pad) - 12px);}
.wp\.page-hero--compact .wp\.container{max-width:640px;}
.wp\.page-hero--compact .wp\.page-hero\.intro{margin-inline:auto;}

/* ============================================================
   SPLIT FEATURE — alternating rows, image left/right
   ============================================================ */
.wp\.split-feature\.row{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;padding-block:48px;}
.wp\.split-feature\.row:not(:last-child){border-bottom:1px solid var(--wp-line);}
.wp\.split-feature\.row--reverse .wp\.split-feature\.media{order:2;}
.wp\.split-feature\.media{aspect-ratio:4/3;}
.wp\.split-feature\.body h3{font-size:1.5rem;margin-bottom:14px;}
.wp\.split-feature\.body p{color:var(--site-muted);}
@media (max-width:820px){
  .wp\.split-feature\.row,.wp\.split-feature\.row--reverse{grid-template-columns:1fr;gap:24px;}
  .wp\.split-feature\.row--reverse .wp\.split-feature\.media{order:0;}
}

/* ============================================================
   CHECKLIST — two-column checklist
   ============================================================ */
.wp\.checklist{display:grid;grid-template-columns:1fr 1fr;gap:0 48px;}
.wp\.checklist\.item{display:flex;gap:14px;padding-block:16px;border-top:1px solid var(--wp-line-soft);}
.wp\.checklist\.item:nth-child(1),.wp\.checklist\.item:nth-child(2){border-top:none;}
.wp\.checklist\.item i{color:var(--site-accent);margin-top:3px;flex:none;}
@media (max-width:680px){.wp\.checklist{grid-template-columns:1fr;}
  .wp\.checklist\.item:nth-child(2){border-top:1px solid var(--wp-line-soft);}}

/* ============================================================
   TESTIMONIALS — 3-up quote cards / swiper
   ============================================================ */
.wp\.testimonial-card{
  border:1px solid var(--wp-line);border-radius:var(--wp-radius);padding:32px 28px;
  background:var(--site-surface);height:100%;
}
.wp\.testimonial-card p{font-style:italic;color:var(--site-text);font-size:1.02rem;}
.wp\.testimonial-card\.person{display:flex;align-items:center;gap:12px;margin-top:18px;}
.wp\.testimonial-card\.avatar{width:44px;height:44px;border-radius:50%;overflow:hidden;flex:none;}
.wp\.testimonial-card\.name{font-weight:600;}
.wp\.testimonial-card\.role{color:var(--site-muted);font-size:.85rem;}

/* ============================================================
   BEFORE / AFTER — table of changed metrics
   ============================================================ */
.wp\.before-after{border:1px solid var(--wp-line);border-radius:var(--wp-radius);overflow:hidden;background:var(--site-surface);}
.wp\.before-after th,.wp\.before-after td{padding:16px 20px;border-bottom:1px solid var(--wp-line);text-align:left;font-size:.94rem;}
.wp\.before-after th{background:var(--site-bg);font-family:var(--wp-font-heading);text-transform:uppercase;font-size:.75rem;letter-spacing:.05em;color:var(--site-muted);}
.wp\.before-after td{font-feature-settings:"tnum" 1;}
.wp\.before-after tr:last-child td{border-bottom:none;}
.wp\.before-after td.wp\.up{color:#4c7a4a;font-weight:600;}
.wp\.before-after td.wp\.down{color:var(--site-accent);font-weight:600;}

/* ============================================================
   TIMELINE — vertical
   ============================================================ */
.wp\.timeline{position:relative;max-width:760px;margin-inline:auto;padding-left:36px;}
.wp\.timeline::before{content:"";position:absolute;left:6px;top:6px;bottom:6px;width:1px;background:var(--wp-line);}
.wp\.timeline\.item{position:relative;padding-bottom:40px;}
.wp\.timeline\.item::before{
  content:"";position:absolute;left:-36px;top:4px;width:13px;height:13px;border-radius:50%;
  background:var(--site-surface);border:2px solid var(--site-accent);
}
.wp\.timeline\.year{font-family:var(--wp-font-heading);color:var(--site-accent);font-weight:600;font-feature-settings:"tnum" 1;}
.wp\.timeline\.body h3{margin:6px 0 8px;font-size:1.1rem;}
.wp\.timeline\.body p{color:var(--site-muted);margin:0;}

/* ============================================================
   TEAM — 3-4 person cards with photos
   ============================================================ */
.wp\.team{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:28px;}
.wp\.card--team{border:1px solid var(--wp-line);border-radius:var(--wp-radius);overflow:hidden;background:var(--site-surface);}
.wp\.card--team .wp\.media{border:none;border-radius:0;aspect-ratio:4/5;}
.wp\.card--team\.body{padding:20px 22px 26px;}
.wp\.card--team\.name{font-family:var(--wp-font-heading);font-size:1.1rem;margin-bottom:2px;}
.wp\.card--team\.role{color:var(--site-accent);font-size:.85rem;font-weight:600;margin-bottom:10px;}
.wp\.card--team\.bio{color:var(--site-muted);font-size:.9rem;margin:0;}

/* ============================================================
   QUOTE FEATURE — heading-font quote + attribution rule
   ============================================================ */
.wp\.quote-feature{max-width:780px;margin-inline:auto;text-align:center;}
.wp\.quote-feature\.text{
  font-family:var(--wp-font-heading);font-weight:500;font-style:italic;
  font-size:clamp(1.5rem,3vw,2.1rem);line-height:1.4;color:var(--site-text);
}
.wp\.quote-feature\.attribution{
  display:inline-flex;align-items:center;gap:14px;margin-top:26px;color:var(--site-muted);font-size:.92rem;
}
.wp\.quote-feature\.attribution::before{content:"";width:36px;height:1px;background:var(--site-accent);}

/* ============================================================
   CONTACT SPLIT — reassurance left, form right
   ============================================================ */
.wp\.contact-split{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:start;}
.wp\.contact-split\.aside h2{font-size:1.7rem;}
.wp\.contact-split\.aside p{color:var(--site-muted);}
.wp\.contact-split\.aside ul{margin-top:24px;display:flex;flex-direction:column;gap:14px;}
.wp\.contact-split\.aside li{display:flex;gap:12px;align-items:flex-start;color:var(--site-text);}
.wp\.contact-split\.aside li i{color:var(--site-accent);margin-top:4px;}
.wp\.contact-split\.form{
  border:1px solid var(--wp-line);border-radius:var(--wp-radius);background:var(--site-surface);padding:36px;
}
@media (max-width:820px){.wp\.contact-split{grid-template-columns:1fr;}}

/* ---------- Forms ---------- */
.wp\.form-field{margin-bottom:20px;}
.wp\.form-field-label{display:block;font-size:.86rem;font-weight:600;margin-bottom:8px;color:var(--site-text);}
.wp\.form-field-input,.wp\.form-field-textarea{
  width:100%;padding:13px 16px;border:1px solid var(--wp-line);border-radius:8px;
  background:var(--site-bg);color:var(--site-text);font-family:var(--wp-font-body);font-size:.98rem;
  transition:border-color .18s ease, background .18s ease;
}
.wp\.form-field-input:focus,.wp\.form-field-textarea:focus{border-color:var(--site-accent);background:var(--site-surface);outline:none;}
.wp\.form-field-textarea{min-height:140px;resize:vertical;}
.wp\.form-note{font-size:.82rem;color:var(--site-muted);margin-top:6px;}

/* ============================================================
   FOOTER — big multi-column, legal entity block, tabular strip
   ============================================================ */
.wp\.footer{background:var(--site-text);color:#e8dcc7;padding-top:72px;}
.wp\.footer\.top{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.2fr;gap:40px;padding-bottom:48px;border-bottom:1px solid rgba(232,220,199,.16);}
.wp\.footer\.col--brand .wp\.logo\.word{color:#FBF7EF;}
.wp\.footer\.col--brand .wp\.logo\.icon{filter:invert(1) brightness(1.6);}
.wp\.footer\.blurb{color:#cbb99b;margin-top:14px;max-width:280px;font-size:.94rem;}
.wp\.footer\.social{display:flex;gap:12px;margin-top:18px;}
.wp\.footer\.social a{width:38px;height:38px;border:1px solid rgba(232,220,199,.25);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:border-color .2s ease,color .2s ease;}
.wp\.footer\.social a:hover{border-color:var(--site-accent);color:var(--site-accent);}
.wp\.footer\.heading{font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;color:#cbb99b;margin-bottom:18px;font-family:var(--wp-font-body);font-weight:600;}
.wp\.footer\.list{display:flex;flex-direction:column;gap:11px;}
.wp\.footer\.list a{color:#e8dcc7;font-size:.94rem;opacity:.9;}
.wp\.footer\.list a:hover{color:var(--site-accent);opacity:1;}
.wp\.footer\.address{font-style:normal;color:#e8dcc7;font-size:.94rem;line-height:1.7;margin-bottom:12px;}
.wp\.footer\.col--legal p{margin:0 0 8px;}
.wp\.footer\.col--legal a{color:#e8dcc7;font-size:.94rem;}
.wp\.footer\.col--legal a:hover{color:var(--site-accent);}

.wp\.footer\.legal-strip{margin-block:36px;font-size:.86rem;}
.wp\.footer\.legal-strip th,.wp\.footer\.legal-strip td{
  padding:14px 18px;border:1px solid rgba(232,220,199,.16);text-align:left;font-feature-settings:"tnum" 1;
}
.wp\.footer\.legal-strip th{color:#cbb99b;font-weight:600;background:rgba(232,220,199,.05);white-space:nowrap;}
.wp\.footer\.legal-strip td{color:#e8dcc7;}

.wp\.footer\.bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding-block:26px;border-top:1px solid rgba(232,220,199,.16);}
.wp\.footer\.copy{color:#a9987c;font-size:.85rem;margin:0;}
.wp\.footer\.legal-links{display:flex;gap:20px;flex-wrap:wrap;}
.wp\.footer\.legal-links a{color:#a9987c;font-size:.85rem;}
.wp\.footer\.legal-links a:hover{color:var(--site-accent);}

@media (max-width:900px){.wp\.footer\.top{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.wp\.footer\.top{grid-template-columns:1fr;}
  .wp\.footer\.legal-strip{display:block;}
  .wp\.footer\.legal-strip,.wp\.footer\.legal-strip tbody,.wp\.footer\.legal-strip tr{display:block;}
  .wp\.footer\.legal-strip th,.wp\.footer\.legal-strip td{display:block;border:none;border-bottom:1px solid rgba(232,220,199,.16);padding:10px 4px;}
}

/* ---------- Floating quick actions (scroll-top only) ---------- */
.wp\.dock{position:fixed;right:20px;bottom:20px;z-index:90;}
.wp\.dock\.btn{
  width:50px;height:50px;border-radius:50%;background:var(--site-accent);color:#FBF7EF;border:none;
  display:flex;align-items:center;justify-content:center;font-size:1.05rem;
  opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .2s ease,transform .2s ease,visibility .2s ease;
}
.wp\.dock\.btn.is-visible{opacity:1;visibility:visible;transform:translateY(0);}
.wp\.dock\.btn:hover{background:#a8480f;}

/* ============================================================
   Swiper (testimonials slider "glider-7kh")
   ============================================================ */
.glider-7kh{padding-bottom:52px;}
.glider-7kh .swiper-slide{height:auto;}
.glider-7kh .swiper-pagination-bullet{background:var(--wp-accent2);opacity:.4;width:8px;height:8px;}
.glider-7kh .swiper-pagination-bullet-active{opacity:1;background:var(--site-accent);}
.glider-7kh .swiper-button-prev,.glider-7kh .swiper-button-next{
  color:var(--site-text);width:42px;height:42px;background:var(--site-surface);
  border:1px solid var(--wp-line);border-radius:50%;
}
.glider-7kh .swiper-button-prev:after,.glider-7kh .swiper-button-next:after{font-size:16px;}

/* ============================================================
   Modal — .site-modal fixed overlay, scroll-safe
   ============================================================ */
.site-modal{
  position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;
  padding:24px;background:rgba(43,28,18,.55);
  opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease;
}
.site-modal.is-open{opacity:1;visibility:visible;}
.site-modal .wp\.modal\.dialog{
  position:relative;width:100%;max-width:520px;background:var(--site-surface);
  border:1px solid var(--wp-line);border-radius:var(--wp-radius);padding:40px;
  transform:translateY(14px);transition:transform .25s ease;
}
.site-modal.is-open .wp\.modal\.dialog{transform:translateY(0);}
.site-modal [data-close-dialog]{
  position:absolute;top:16px;right:16px;width:36px;height:36px;border-radius:50%;
  border:1px solid var(--wp-line);background:transparent;display:flex;align-items:center;justify-content:center;
}

/* ---------- Legal / prose pages ---------- */
.wp\.prose{max-width:780px;margin-inline:auto;}
.wp\.prose h2{margin-top:2em;font-size:1.4rem;}
.wp\.prose p,.wp\.prose li{color:var(--site-muted);}
.wp\.prose a{color:var(--site-accent);text-decoration:underline;}

/* ---------- AOS stagger helper ---------- */
[data-aos]{transition-timing-function:ease-out;}


/* --- cookie consent (per-site) --- */
.consent-6zm-overlay{position:fixed;inset:0;opacity:0;visibility:hidden;transition:.25s;z-index:9998;}
.consent-6zm-overlay.is-open{opacity:1;visibility:visible;}
.consent-6zm-panel{position:fixed;background:var(--site-surface,#fff);color:var(--site-text,#1a1a1a);
  box-shadow:0 20px 60px rgba(0,0,0,.28);padding:24px;opacity:0;visibility:hidden;transition:.25s;z-index:9999;}
.consent-6zm-panel.is-open{opacity:1;visibility:visible;}
.consent-6zm-panel h3{margin:0 0 8px;font-size:1.2rem;}
.consent-6zm-panel>p{margin:0 0 16px;color:var(--site-muted,#666);font-size:.95rem;}
.consent-6zm-cat{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid rgba(128,128,128,.2);}
.consent-6zm-cat h4{margin:0 0 2px;font-size:.98rem;}
.consent-6zm-cat p{margin:0;color:var(--site-muted,#777);font-size:.85rem;}
.consent-6zm-switch{position:relative;flex:0 0 auto;width:44px;height:24px;}
.consent-6zm-switch input{opacity:0;width:0;height:0;position:absolute;}
.consent-6zm-switch span{position:absolute;inset:0;background:#c9c9c9;border-radius:999px;transition:.2s;cursor:pointer;}
.consent-6zm-switch span::before{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s;}
.consent-6zm-switch input:checked+span{background:var(--site-accent,#2b7);}
.consent-6zm-switch input:checked+span::before{transform:translateX(20px);}
.consent-6zm-switch input:disabled+span{opacity:.6;cursor:not-allowed;}
.consent-6zm-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;}
.consent-6zm-actions button{flex:1;min-width:140px;padding:11px 16px;border:none;border-radius:10px;font:inherit;font-weight:600;cursor:pointer;}
.consent-6zm-actions #consent-6zm-all{background:var(--site-accent,#2b7);color:#fff;}
.consent-6zm-actions #consent-6zm-save{background:transparent;color:var(--site-text,#222);border:1px solid rgba(128,128,128,.4);}
.consent-6zm-links{display:flex;gap:16px;margin-top:14px;font-size:.85rem;}
.consent-6zm-links a{color:var(--site-accent,#2b7);text-decoration:underline;}
.consent-6zm-trigger{position:fixed;left:18px;bottom:18px;width:44px;height:44px;border-radius:50%;border:none;cursor:pointer;
  background:var(--site-surface,#fff);color:var(--site-accent,#2b7);box-shadow:0 6px 18px rgba(0,0,0,.2);z-index:9997;font-size:1.1rem;}

.consent-6zm-overlay{background:transparent;pointer-events:none;}
.consent-6zm-panel{left:24px;bottom:24px;width:min(380px,calc(100% - 32px));border-radius:16px;transform:translateY(24px);}
.consent-6zm-panel.is-open{transform:translateY(0);}
@media(max-width:520px){.consent-6zm-panel{left:16px;right:16px;width:auto;}}
@media(max-width:520px){.consent-6zm-actions button{min-width:100%;}}
#side-dock-k9n{left:auto !important;right:18px !important;}
@media(max-width:520px){#side-dock-k9n{right:12px !important;}}


/* --- safety net (deterministic) --- */
*,*::before,*::after{box-sizing:border-box;}
html,body{overflow-x:hidden;overflow-x:clip;max-width:100%;}
img,svg,video,iframe,canvas{max-width:100%;}
table{max-width:100%;}
/* simpleParallax оборачивает <img> в свой .simpleParallax — заставляем обёртку
   тянуться на всю высоту родителя, а фото внутри — cover. Проценты безопасны:
   при родителе без заданной высоты height:100% откатывается к auto (без коллапса). */
.simpleParallax{display:block;width:100%;height:100%;}
.simpleParallax img{width:100%;height:100%;object-fit:cover;}
/* Браузерный дефолт для <blockquote> и <figure> — margin: 1em 40px. Модель берёт
   эти семантические теги для отзывов и карточек с подписью, но сбросить поля
   забывает: внутри карточки в 267px текст сжимался до 131px (по 40px с каждой
   стороны) и переносился по одному слову, а между карточками зияли пустоты.
   Сбрасываем только горизонтальные поля — вертикальные обычно задуманы. */
blockquote, figure { margin-left: 0; margin-right: 0; }
/* Вложенные фигуры внутри сеток тоже не должны добавлять отступ сбоку. */
figure > blockquote, figure > figcaption { margin-left: 0; margin-right: 0; }
/* Если AOS не поднялся (CDN недоступен, блокировщик) — main.js вешает .no-aos.
   Без этого элементы с data-aos остались бы с opacity:0 из aos.css, то есть
   половина страницы была бы невидимой. */
html.no-aos [data-aos]{opacity:1 !important;transform:none !important;}
/* Пользователи с prefers-reduced-motion получают контент сразу, без анимаций. */
@media(prefers-reduced-motion:reduce){
  [data-aos]{opacity:1 !important;transform:none !important;transition:none !important;}
}
