:root{--color-bg:#ecefe3;--color-surface:#ffffff;--color-surface-alt:#e7ebda;--color-ink:#232a1c;--color-ink-soft:#5c6450;--color-line:#dde0cf;--color-clay:#4c6033;--color-clay-deep:#3a4a27;--color-sage:#7c8a5b;--color-sage-deep:#5d6a40;--color-night:#2c3420;--color-lilac:#aeb98c;--color-mint:#cdd7b3;--color-blue:#9aa977;--color-plum:#38472a;--font-display:"Outfit","Work Sans",-apple-system,BlinkMacSystemFont,sans-serif;--font-body:"Work Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--fs-hero:clamp(2.6rem,6vw,4.7rem);--fs-h1:clamp(2.1rem,4.5vw,3.4rem);--fs-h2:clamp(1.6rem,3vw,2.3rem);--fs-h3:clamp(1.25rem,2vw,1.55rem);--fs-lead:clamp(1.1rem,1.6vw,1.3rem);--fs-body:1.02rem;--fs-small:0.86rem;--space-1:0.5rem;--space-2:1rem;--space-3:1.5rem;--space-4:2.5rem;--space-5:4rem;--space-6:6rem;--space-7:9rem;--radius-sm:10px;--radius-md:18px;--radius-lg:28px;--radius-pill:999px;--shadow-soft:0 14px 40px -18px rgba(58,51,71,0.30);--shadow-card:0 8px 30px -16px rgba(58,51,71,0.22);--maxw:1200px;--maxw-narrow:760px;}
/* base typography applied via body wrapper */
.mh *,.mh *::before,.mh *::after{box-sizing:border-box;}
.mh{font-family:var(--font-body);font-size:var(--fs-body);line-height:1.65;color:var(--color-ink);}
.mh img{max-width:100%;display:block;}
.mh h1,.mh h2,.mh h3,.mh h4{font-family:var(--font-display);font-weight:600;line-height:1.08;letter-spacing:-0.02em;color:var(--color-ink);}
.mh a{color:inherit;text-decoration:none;}
.mh p{text-wrap:pretty;}
.mh ul{list-style:none;padding:0;margin:0;}
.eyebrow{font-family:var(--font-body);font-size:var(--fs-small);font-weight:600;letter-spacing:0.18em;text-transform:uppercase;color:var(--color-clay);display:inline-flex;align-items:center;gap:0.6rem;}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--color-clay);display:inline-block;}
.lead{font-size:var(--fs-lead);color:var(--color-ink-soft);line-height:1.6;}
.btn{display:inline-flex;align-items:center;gap:0.55rem;font-family:var(--font-body);font-weight:600;font-size:0.98rem;padding:0.85rem 1.5rem;border-radius:var(--radius-pill);border:1.5px solid transparent;cursor:pointer;white-space:nowrap;transition:transform .15s ease,background .2s ease,color .2s ease,border-color .2s ease;}
.btn:hover{transform:translateY(-2px);}
.btn--primary{background:var(--color-clay);color:#fff;}
.btn--primary:hover{background:var(--color-clay-deep);color:#fff;}
.btn--ghost{background:transparent;color:var(--color-clay-deep);border-color:var(--color-clay);}
.btn--ghost:hover{background:var(--color-clay);color:#fff;border-color:var(--color-clay);}
.btn--light{background:var(--color-surface);color:var(--color-ink);border-color:var(--color-line);}
.btn--light:hover{background:var(--color-clay);color:#fff;border-color:var(--color-clay);}
.btn svg{width:18px;height:18px;}
.arch{border-radius:999px 999px 22px 22px;overflow:hidden;}
.arch--soft{border-radius:clamp(120px,20vw,220px) clamp(120px,20vw,220px) 26px 26px;overflow:hidden;}
.head-block{max-width:60ch;}
.head-block h2{font-size:var(--fs-h2);margin-top:var(--space-2);text-wrap:balance;}
.head-block .lead{margin-top:var(--space-2);}
.head-block--center{margin-inline:auto;text-align:center;}
.head-block--center .eyebrow{justify-content:center;}
/* HERO */
.hero2{padding-block:clamp(2rem,5vw,var(--space-5)) var(--space-5);}
.hero2-grid{display:grid;grid-template-columns:1fr;gap:var(--space-4);align-items:center;}
@media(min-width:980px){.hero2-grid{grid-template-columns:1fr 0.9fr 0.58fr;gap:clamp(1.25rem,2.5vw,2.5rem);align-items:center;}.hero2-stats{align-content:center;}}
.hero2-copy .eyebrow{margin-bottom:var(--space-2);}
.hero2-title{font-family:var(--font-display);font-size:clamp(2.6rem,5.6vw,4.6rem);font-weight:600;line-height:1.02;letter-spacing:-0.03em;}
.hero2-title em{font-style:normal;color:var(--color-clay);}
.hero2-rule{width:64px;height:2px;background:var(--color-line);margin:var(--space-3) 0;}
.hero2-copy .lead{max-width:42ch;}
.hero2-actions{margin-top:var(--space-4);display:grid;grid-template-columns:1fr;gap:0.7rem;max-width:460px;}
@media(min-width:460px){.hero2-actions{grid-template-columns:1fr 1fr;}}
.hero2-actions .btn{width:100%;justify-content:center;}
.carousel{position:relative;aspect-ratio:0.85/1;box-shadow:var(--shadow-soft);background:var(--color-surface-alt);}
.carousel .slide{position:absolute;inset:0;opacity:0;transition:opacity 1.1s ease;}
.carousel .slide img{width:100%;height:100%;object-fit:cover;}
.carousel .slide.is-active{opacity:1;}
.carousel-dots{position:absolute;left:50%;bottom:1.1rem;transform:translateX(-50%);display:flex;gap:0.5rem;z-index:3;}
.carousel-dots button{width:9px;height:9px;padding:0;border-radius:50%;border:0;background:rgba(255,255,255,0.55);cursor:pointer;transition:width .3s ease,background .3s ease;}
.carousel-dots button[aria-current="true"]{width:26px;border-radius:999px;background:#fff;}
.hero2-stats{display:grid;gap:var(--space-2);align-content:center;}
.hstat{border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:1.1rem 1.3rem;text-align:center;background:color-mix(in srgb,var(--color-surface) 55%,transparent);}
.hstat .n{font-family:var(--font-display);font-size:clamp(1.9rem,3.2vw,2.5rem);font-weight:600;color:var(--color-ink);line-height:1;}
.hstat .n em{font-style:normal;color:var(--color-clay);}
.hstat .l{font-size:0.7rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--color-ink-soft);margin-top:0.5rem;}
@media(min-width:980px){.hero2-stats{gap:var(--space-3);}}
.accred{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--color-line);display:flex;gap:0.6rem;align-items:flex-start;max-width:46ch;font-size:0.84rem;line-height:1.5;color:var(--color-ink-soft);}
.accred svg{width:22px;height:22px;flex:none;color:var(--color-clay);margin-top:1px;}
.accred strong{color:var(--color-ink);font-weight:600;}
/* PARTNERS */
.partners{background:var(--color-surface);border-block:1px solid var(--color-line);padding-block:var(--space-3);}
.partners-label{display:block;text-align:center;white-space:normal;font-size:var(--fs-small);letter-spacing:0.16em;text-transform:uppercase;color:var(--color-ink-soft);font-weight:600;margin-bottom:var(--space-2);}
.plogo{display:inline-flex;align-items:center;gap:0.5rem;font-family:var(--font-display);font-weight:600;font-size:1.18rem;color:var(--color-ink);opacity:0.62;transition:opacity .2s;white-space:nowrap;}
.plogo:hover{opacity:1;}
.plogo svg{width:22px;height:22px;color:var(--color-clay);}
.marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);}
.marquee-track{display:flex;align-items:center;gap:2.6rem;width:max-content;animation:marquee 30s linear infinite;}
.marquee:hover .marquee-track{animation-play-state:paused;}
@keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}
/* ABOUT */
.about2{display:grid;gap:var(--space-4);align-items:center;}
@media(min-width:920px){.about2{grid-template-columns:1fr 1.02fr;gap:clamp(2rem,5vw,var(--space-6));}}
.about2-body h2{font-size:var(--fs-h2);margin-top:var(--space-2);max-width:none;}
.about2-body .lead{margin-top:var(--space-3);}
.about2-arches{display:grid;grid-template-columns:repeat(3,1fr);gap:0.8rem;align-items:center;}
.about2-arches .a-img{aspect-ratio:0.5/1;overflow:hidden;box-shadow:var(--shadow-card);}
.about2-arches .a-img img{width:100%;height:100%;object-fit:cover;}
.about2-arches .a-img:nth-child(2){transform:translateY(-1.4rem);}
.about2-arches .a-img:nth-child(3){transform:translateY(0.9rem);}
/* SERVICES BAND */
.services-band{position:relative;background:linear-gradient(180deg,rgba(38,46,30,0.93),rgba(38,46,30,0.97)),var(--svc-bg,var(--color-night));background-size:cover;background-position:center;color:var(--color-bg);padding-block:var(--space-6);}
.services-band .head-block--center h2{color:#fff;font-size:var(--fs-h2);}
.services-band .head-block--center .lead{color:#cdd5bb;margin-top:var(--space-2);}
.services-band .head-block--center .eyebrow{color:var(--color-mint);justify-content:center;}
.services-band .head-block--center .eyebrow::before{background:var(--color-mint);}
.svc-cards{display:grid;gap:var(--space-3);grid-template-columns:1fr;margin-top:var(--space-4);}
@media(min-width:620px){.svc-cards{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1040px){.svc-cards{grid-template-columns:repeat(4,1fr);}}
.svc-card{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-3) var(--space-3);text-align:center;display:flex;flex-direction:column;align-items:center;gap:0.7rem;box-shadow:0 30px 60px -40px rgba(0,0,0,0.5);transition:transform .25s ease;}
.svc-card:hover{transform:translateY(-6px);}
.svc-ic{width:76px;height:76px;border-radius:50%;background:var(--color-clay);color:#fff;display:grid;place-items:center;margin-bottom:0.4rem;box-shadow:0 0 0 8px color-mix(in srgb,var(--color-clay) 14%,white);}
.svc-ic svg{width:34px;height:34px;}
.svc-card h3{font-size:1.28rem;}
.svc-card p{color:var(--color-ink-soft);font-size:0.93rem;}
.svc-card .btn{margin-top:auto;}
/* WHY */
.why{display:grid;gap:var(--space-4);align-items:center;}
@media(min-width:920px){.why{grid-template-columns:0.92fr 1.08fr;gap:clamp(2rem,5vw,var(--space-6));}}
.why-media{position:relative;aspect-ratio:0.82/1;overflow:hidden;box-shadow:var(--shadow-soft);}
.why-media img{width:100%;height:100%;object-fit:cover;}
.why-badge{position:absolute;left:1rem;bottom:1rem;display:inline-flex;align-items:center;gap:0.5rem;background:color-mix(in srgb,var(--color-night) 88%,transparent);color:#fff;font-size:0.8rem;font-weight:600;padding:0.55rem 0.9rem;border-radius:var(--radius-pill);backdrop-filter:blur(4px);}
.why-badge svg{width:17px;height:17px;color:var(--color-mint);flex:none;}
.why-body h2{font-size:var(--fs-h2);margin-top:var(--space-2);max-width:none;}
.why-body .lead{margin-top:var(--space-3);max-width:46ch;}
.why-list{margin-top:var(--space-4);display:grid;gap:0;}
.why-item{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:1.1rem;padding:1.15rem 0;border-top:1px solid var(--color-line);}
.why-item:last-child{border-bottom:1px solid var(--color-line);}
.why-item .wt{font-family:var(--font-display);font-size:1.16rem;font-weight:600;color:var(--color-ink);}
.why-item .wd{font-size:0.93rem;color:var(--color-ink-soft);margin-top:0.2rem;}
.why-item .wic{width:52px;height:52px;flex:none;border-radius:50%;background:color-mix(in srgb,var(--color-clay) 14%,white);color:var(--color-clay-deep);display:grid;place-items:center;}
.why-item .wic svg{width:24px;height:24px;}
/* TIMELINE */
.timeline{display:grid;gap:var(--space-3);position:relative;}
.tl-step{display:grid;grid-template-columns:auto 1fr;gap:var(--space-3);align-items:start;}
.tl-num{width:56px;height:56px;border-radius:50%;background:var(--color-night);color:var(--color-bg);font-family:var(--font-display);font-size:1.3rem;display:grid;place-items:center;flex:none;position:relative;}
.tl-step:not(:last-child) .tl-num::after{content:"";position:absolute;top:64px;left:50%;transform:translateX(-50%);width:2px;height:calc(100% + var(--space-3) - 8px);background:var(--color-line);}
.tl-body{padding-bottom:var(--space-2);}
.tl-body h3{font-size:var(--fs-h3);}
.tl-body p{color:var(--color-ink-soft);margin-top:0.3rem;}
/* QUOTES */
.quotes{display:grid;gap:var(--space-3);grid-template-columns:1fr;}
@media(min-width:760px){.quotes{grid-template-columns:repeat(3,1fr);}}
.quote{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);}
.quote--wide{grid-column:1/-1;}
@media(min-width:760px){.quote--wide{grid-column:span 2;background:var(--color-surface-alt);}}
.quote .stars{color:var(--color-clay);display:flex;gap:2px;}
.quote .stars svg{width:18px;height:18px;}
.quote blockquote{font-family:var(--font-display);font-size:1.22rem;line-height:1.45;font-style:italic;}
.quote--wide blockquote{font-size:1.5rem;}
.quote cite{font-style:normal;font-size:var(--fs-small);color:var(--color-ink-soft);margin-top:auto;}
.quote cite strong{display:block;color:var(--color-ink);font-size:0.98rem;}
/* CTA BAND */
.cta-band{background:var(--color-clay);color:#fff;border-radius:var(--radius-lg);padding:var(--space-5);text-align:center;display:grid;gap:var(--space-3);justify-items:center;}
.cta-band h2{color:#fff;font-size:var(--fs-h1);max-width:18ch;}
.cta-band p{max-width:50ch;color:#efeaf6;}
.cta-band .btn--light{border-color:transparent;}
.cta-band .btn--light:hover{background:var(--color-night);color:#fff;border-color:var(--color-night);}
.cta-band .actions{display:flex;flex-wrap:wrap;gap:0.8rem;justify-content:center;}
.cta-band .btn--ghost{color:#fff;border-color:rgba(255,255,255,0.6);}
.cta-band .btn--ghost:hover{background:#fff;color:var(--color-clay);}
.section{padding-block:var(--space-6);}
.section--tight{padding-block:var(--space-5);}
.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:1.4rem;}
.wrap--narrow{max-width:var(--maxw-narrow);}
.mt-2{margin-top:var(--space-2);}.mt-3{margin-top:var(--space-3);}.mt-4{margin-top:var(--space-4);}.center{text-align:center;}

/* HEADER / NAV (global, used by XPRO header template) */
.site-header{position:sticky;top:0;z-index:100;background:color-mix(in srgb,var(--color-bg) 86%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--color-line);}
.site-header .nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:74px;}
.brand{display:inline-flex;align-items:center;gap:0.65rem;font-family:var(--font-display);font-size:1.32rem;font-weight:600;letter-spacing:-0.01em;color:var(--color-ink);}
.brand .mark{width:34px;height:34px;border-radius:50%;background:radial-gradient(circle at 32% 30%,var(--color-clay),var(--color-clay-deep));display:grid;place-items:center;flex:none;}
.brand .mark span{width:13px;height:13px;border-radius:50%;border:2.5px solid var(--color-bg);display:block;}
.nav-links{display:flex;align-items:center;gap:0.4rem;list-style:none;margin:0;padding:0;}
.nav-links a{font-size:0.96rem;font-weight:500;padding:0.5rem 0.85rem;border-radius:var(--radius-pill);color:var(--color-ink-soft);transition:color .2s,background .2s;}
.nav-links a:hover{color:var(--color-clay-deep);}
.nav-links a[aria-current="page"],.nav-links li.current-menu-item>a{color:var(--color-clay-deep);background:color-mix(in srgb,var(--color-clay) 16%,white);}
.nav-cta{margin-left:0.4rem;}
/* PAGE HEAD (interior hero) */
.page-head{padding-block:var(--space-5) var(--space-4);background:var(--color-surface-alt);border-bottom:1px solid var(--color-line);}
.page-head .lead{margin-top:var(--space-2);max-width:56ch;}
.page-head h1{font-size:var(--fs-h1);margin-top:var(--space-2);}
.breadcrumb{font-size:var(--fs-small);color:var(--color-ink-soft);}
.breadcrumb a:hover{color:var(--color-clay);}
/* CARD GRIDS */
.grid{display:grid;gap:var(--space-3);}
.grid-2{grid-template-columns:1fr;}.grid-3{grid-template-columns:1fr;}
@media(min-width:680px){.grid-2{grid-template-columns:1fr 1fr;}.grid-3{grid-template-columns:1fr 1fr;}}
@media(min-width:960px){.grid-3{grid-template-columns:repeat(3,1fr);}}
.card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:var(--space-2);transition:transform .2s ease,box-shadow .2s ease;}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-soft);}
.card h3{font-size:var(--fs-h3);}
.card .icon{width:52px;height:52px;border-radius:var(--radius-md);background:var(--color-surface-alt);display:grid;place-items:center;color:var(--color-clay);}
.card .icon svg{width:26px;height:26px;}
.card-meta{font-size:var(--fs-small);color:var(--color-ink-soft);margin-top:auto;}
.card .link{font-weight:600;color:var(--color-clay);display:inline-flex;align-items:center;gap:0.4rem;}
.card .link svg{width:16px;height:16px;}
/* FEATURE ROWS */
.feature{display:grid;grid-template-columns:1fr;gap:var(--space-4);align-items:center;padding-block:var(--space-4);border-bottom:1px solid var(--color-line);}
.feature:last-child{border-bottom:0;}
.feature-media{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-card);aspect-ratio:5/4;}
.feature-media img{width:100%;height:100%;object-fit:cover;}
.feature h3{font-size:var(--fs-h2);}
.feature ul.ticks{margin-top:var(--space-2);display:grid;gap:0.55rem;list-style:none;padding:0;}
.feature ul.ticks li{display:flex;gap:0.6rem;align-items:flex-start;}
.feature ul.ticks svg{width:20px;height:20px;flex:none;color:var(--color-sage);margin-top:3px;}
@media(min-width:880px){.feature{grid-template-columns:1fr 1fr;gap:var(--space-5);}.feature--flip .feature-media{order:2;}}
/* STATS */
.stats{background:var(--color-night);color:var(--color-bg);border-radius:var(--radius-lg);padding:var(--space-5);}
.stats .head-block h2,.stats .eyebrow{color:var(--color-bg);}
.stats .eyebrow{color:var(--color-mint);}.stats .eyebrow::before{background:var(--color-mint);}
.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4) var(--space-3);margin-top:var(--space-4);}
@media(min-width:760px){.stats-grid{grid-template-columns:repeat(4,1fr);}}
.stat{display:flex;flex-direction:column;border-top:2px solid rgba(255,255,255,0.16);padding-top:var(--space-2);}
.stat .num{font-family:var(--font-display);font-size:clamp(2.4rem,5vw,3.4rem);font-weight:500;color:#fff;line-height:1;}
.stat .num em{font-style:normal;color:var(--color-mint);}
.stat .lbl{font-size:var(--fs-small);color:#c5bdd2;margin-top:0.5rem;}
/* COMPARE TABLE */
.compare{width:100%;border-collapse:separate;border-spacing:0;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);overflow:hidden;}
.compare th,.compare td{text-align:left;padding:1rem 1.1rem;border-bottom:1px solid var(--color-line);font-size:0.96rem;vertical-align:middle;}
.compare thead th{background:var(--color-surface-alt);font-family:var(--font-display);font-weight:600;font-size:1rem;}
.compare tbody th{font-weight:600;color:var(--color-ink);}
.compare .yes{color:var(--color-clay-deep);}.compare .no{color:#b9b1c6;}
.compare-scroll{overflow-x:auto;}
/* TIERS */
.tiers{display:grid;gap:var(--space-3);grid-template-columns:1fr;}
@media(min-width:820px){.tiers{grid-template-columns:repeat(3,1fr);}}
.tier{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;}
.tier:hover{transform:translateY(-6px);box-shadow:var(--shadow-soft);border-color:var(--color-clay);}
.tier--featured{background:var(--color-plum);color:#fff;border-color:var(--color-plum);box-shadow:var(--shadow-soft);}
.tier--featured:hover{border-color:var(--color-night);}
.tier--featured h3,.tier--featured .price{color:#fff;}
.tier--featured .tier-sub,.tier--featured li{color:#e3f1ea;}
.tier-flag{align-self:flex-start;font-size:0.72rem;letter-spacing:0.14em;text-transform:uppercase;font-weight:700;color:var(--color-night);background:var(--color-mint);padding:0.3rem 0.7rem;border-radius:var(--radius-pill);}
.tier h3{font-size:var(--fs-h3);}
.tier .price{font-family:var(--font-display);font-size:2rem;font-weight:600;}
.tier .price small{font-size:0.9rem;font-weight:400;color:inherit;opacity:0.7;}
.tier-sub{font-size:var(--fs-small);color:var(--color-ink-soft);}
.tier ul{display:grid;gap:0.55rem;margin-block:var(--space-2);list-style:none;padding:0;}
.tier li{display:flex;gap:0.55rem;align-items:flex-start;font-size:0.94rem;}
.tier li svg{width:18px;height:18px;flex:none;margin-top:3px;color:var(--color-sage);}
.tier--featured li svg{color:var(--color-mint);}
.tier .btn{margin-top:auto;justify-content:center;}
/* FAQ */
.faq{display:grid;gap:0.8rem;}
.faq details{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);padding:0.3rem 1.3rem;transition:border-color .2s;}
.faq details[open]{border-color:var(--color-clay);}
.faq summary{cursor:pointer;list-style:none;padding:1rem 0;font-family:var(--font-display);font-size:1.1rem;font-weight:600;display:flex;align-items:center;justify-content:space-between;gap:1rem;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary .chev{width:22px;height:22px;flex:none;transition:transform .25s ease;color:var(--color-clay);}
.faq details[open] summary .chev{transform:rotate(45deg);}
.faq details p{padding-bottom:1.1rem;color:var(--color-ink-soft);}
/* PORTFOLIO/WORK */
.work-grid{display:grid;gap:var(--space-3);grid-template-columns:1fr;}
@media(min-width:680px){.work-grid{grid-template-columns:1fr 1fr;}}
.work{position:relative;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-card);background:var(--color-surface);border:1px solid var(--color-line);display:flex;flex-direction:column;}
.work-img{aspect-ratio:16/11;overflow:hidden;}
.work-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;}
.work:hover .work-img img{transform:scale(1.05);}
.work-body{padding:var(--space-3) var(--space-4) var(--space-4);display:flex;flex-direction:column;gap:0.6rem;}
.work .tag{align-self:flex-start;font-size:0.74rem;letter-spacing:0.12em;text-transform:uppercase;font-weight:700;color:var(--color-sage-deep);background:color-mix(in srgb,var(--color-sage) 18%,white);padding:0.3rem 0.7rem;border-radius:var(--radius-pill);}
.work h3{font-size:var(--fs-h3);}
.work p{color:var(--color-ink-soft);font-size:0.95rem;}
.work-body .btn{margin-top:auto;align-self:flex-start;}
.work--feature{grid-column:1/-1;}
@media(min-width:680px){.work--feature{display:grid;grid-template-columns:1.1fr 0.9fr;}.work--feature .work-img{aspect-ratio:auto;height:100%;}}
/* BLOG */
.posts{display:grid;gap:var(--space-3);grid-template-columns:1fr;}
@media(min-width:760px){.posts{grid-template-columns:repeat(3,1fr);}}
.post{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease;}
.post:hover{transform:translateY(-4px);box-shadow:var(--shadow-soft);}
.post-img{aspect-ratio:16/10;overflow:hidden;}
.post-img img{width:100%;height:100%;object-fit:cover;}
.post-body{padding:var(--space-3) var(--space-4) var(--space-4);display:flex;flex-direction:column;gap:0.7rem;flex:1;}
.post .cat{font-size:var(--fs-small);color:var(--color-clay);font-weight:600;letter-spacing:0.04em;}
.post h3{font-size:1.3rem;}
.post p{color:var(--color-ink-soft);font-size:0.95rem;}
.post .post-meta{margin-top:auto;font-size:var(--fs-small);color:var(--color-ink-soft);display:flex;gap:0.5rem;align-items:center;flex-wrap:wrap;}
.post .post-meta .dot{width:4px;height:4px;border-radius:50%;background:var(--color-line);}
.post--feature{grid-column:1/-1;}
@media(min-width:760px){.post--feature{grid-template-columns:1.1fr 0.9fr;display:grid;}.post--feature .post-img{aspect-ratio:auto;height:100%;min-height:320px;}.post--feature h3{font-size:var(--fs-h2);}}
/* ARTICLE */
.article-hero{padding-block:var(--space-5) var(--space-2);}
.article-hero .cat{color:var(--color-clay-deep);font-weight:600;letter-spacing:0.04em;font-size:var(--fs-small);}
.article-hero h1{font-size:var(--fs-h1);margin-top:var(--space-2);max-width:22ch;}
.article-byline{display:flex;flex-wrap:wrap;gap:0.5rem 0.9rem;align-items:center;margin-top:var(--space-3);font-size:var(--fs-small);color:var(--color-ink-soft);}
.article-cover{border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:16/8;margin-top:var(--space-4);box-shadow:var(--shadow-card);}
.article-cover img{width:100%;height:100%;object-fit:cover;}
.prose{max-width:68ch;margin-inline:auto;}
.prose>p{margin-top:var(--space-2);font-size:1.08rem;line-height:1.78;}
.prose>p.lead{font-size:var(--fs-lead);color:var(--color-ink-soft);}
.prose h2{font-size:var(--fs-h3);margin-top:var(--space-4);}
.prose blockquote.pull{border-left:3px solid var(--color-clay);padding-left:var(--space-3);margin:var(--space-4) 0;font-family:var(--font-display);font-style:italic;font-size:1.45rem;line-height:1.4;}
/* CONTACT */
.contact-grid{display:grid;gap:var(--space-4);grid-template-columns:1fr;}
@media(min-width:920px){.contact-grid{grid-template-columns:1fr 1fr;align-items:start;}}
.form{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:var(--space-4);display:grid;gap:var(--space-3);box-shadow:var(--shadow-card);}
.contact-aside{display:grid;gap:var(--space-3);align-content:start;}
.contact-card{background:var(--color-surface-alt);border-radius:var(--radius-lg);padding:var(--space-4);display:grid;gap:var(--space-2);}
.contact-item{display:flex;gap:0.9rem;align-items:flex-start;}
.contact-item .ci{width:44px;height:44px;flex:none;border-radius:var(--radius-md);background:var(--color-surface);display:grid;place-items:center;color:var(--color-clay);}
.contact-item .ci svg{width:22px;height:22px;}
.contact-item h3{font-size:1.05rem;font-family:var(--font-body);}
.contact-item a,.contact-item p{color:var(--color-ink-soft);font-size:0.95rem;}
.map-frame{border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:16/9;border:1px solid var(--color-line);}
.map-frame iframe,.map-frame img{width:100%;height:100%;object-fit:cover;border:0;}
/* FOOTER (global, XPRO footer template) */
.site-footer{background:var(--color-night);color:#cbc4d6;padding-block:var(--space-5) var(--space-3);}
.footer-top{display:grid;gap:var(--space-4);grid-template-columns:1fr;padding-bottom:var(--space-4);border-bottom:1px solid rgba(255,255,255,0.1);}
@media(min-width:760px){.footer-top{grid-template-columns:1.6fr 1fr 1fr;}}
.footer-brand .brand{color:#fff;}
.footer-brand p{margin-top:var(--space-2);max-width:38ch;font-size:0.95rem;}
.footer-creds{margin-top:var(--space-2);padding:0.7rem 0.95rem;border:1px solid rgba(255,255,255,0.16);border-radius:var(--radius-md);font-size:0.82rem;line-height:1.45;color:var(--color-mint);max-width:38ch;}
.footer-col h4{font-family:var(--font-body);font-size:0.8rem;letter-spacing:0.14em;text-transform:uppercase;color:#fff;margin-bottom:var(--space-2);}
.footer-col ul{display:grid;gap:0.55rem;list-style:none;padding:0;margin:0;}
.footer-col a{font-size:0.95rem;color:#cbc4d6;}
.footer-col a:hover{color:#fff;}
.social{display:flex;gap:0.6rem;margin-top:var(--space-2);}
.social a{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,0.18);display:grid;place-items:center;color:#cbc4d6;transition:background .2s,color .2s,border-color .2s;}
.social a:hover{background:var(--color-clay);color:#fff;border-color:var(--color-clay);}
.social svg{width:18px;height:18px;}
.footer-bottom{display:flex;flex-wrap:wrap;gap:0.6rem 1.5rem;justify-content:space-between;align-items:center;padding-top:var(--space-3);font-size:var(--fs-small);}
/* MEGA MENU */
.mh-mega{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:var(--space-3);padding:var(--space-3);min-width:680px;}
.mh-mega .blurb{display:flex;flex-direction:column;gap:0.4rem;padding:0.9rem;border-radius:var(--radius-md);transition:background .2s;}
.mh-mega .blurb:hover{background:var(--color-surface-alt);}
.mh-mega .blurb .bi{width:42px;height:42px;border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-clay) 14%,white);color:var(--color-clay-deep);display:grid;place-items:center;}
.mh-mega .blurb strong{font-family:var(--font-display);font-size:1.02rem;color:var(--color-ink);}
.mh-mega .blurb span{font-size:0.86rem;color:var(--color-ink-soft);}
/* XPRO wrappers */
.xpro-theme-builder-header{position:sticky;top:0;z-index:200;}
.mh-headbar{background:color-mix(in srgb,var(--color-bg) 90%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--color-line);width:100%;}
#xpro-theme-builder-footer .site-footer{margin-top:0;}
/* nav items + mega menu */
.nav-links{position:relative;}
.mh-nav-item{position:relative;display:flex;align-items:center;}
.mh-nav-item>.elementor-widget-heading .elementor-heading-title>a,.mh-nav-item .mh-link a{font-size:0.96rem;font-weight:500;padding:0.5rem 0.85rem;border-radius:var(--radius-pill);color:var(--color-ink-soft);transition:color .2s,background .2s;display:inline-block;}
.mh-nav-item:hover>.elementor-widget-heading .elementor-heading-title>a,.mh-nav-item:hover .mh-link a{color:var(--color-clay-deep);background:color-mix(in srgb,var(--color-clay) 12%,white);}
.mh-mega-wrap{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(10px);opacity:0;visibility:hidden;transition:opacity .22s ease,transform .22s ease,visibility .22s;z-index:300;padding-top:10px;}
.mh-nav-item:hover .mh-mega-wrap{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}
.mh-mega{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);}
.mh-mega .mega-video{border-radius:var(--radius-md);overflow:hidden;align-self:stretch;min-height:160px;}
.mh-mega .mega-video .elementor-widget-video,.mh-mega .mega-video .e-con-inner{height:100%;}
@media(max-width:980px){.mh-mega{min-width:0!important;grid-template-columns:1fr!important;}.mh-mega-wrap{position:static;transform:none;opacity:1;visibility:visible;padding-top:0;}}
.mega-head{font-family:var(--font-body);font-size:0.72rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--color-ink-soft);font-weight:700;margin-bottom:0.3rem;}
/* Elementor button -> design .btn mapping */
.mhbtn .elementor-button{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--font-body);font-weight:600;font-size:.98rem;padding:.85rem 1.5rem;border-radius:var(--radius-pill);border:1.5px solid transparent;transition:transform .15s ease,background .2s ease,color .2s ease,border-color .2s ease;line-height:1.2;}
.mhbtn .elementor-button:hover{transform:translateY(-2px);}
.mhbtn--primary .elementor-button{background:var(--color-clay);color:#fff;}
.mhbtn--primary .elementor-button:hover{background:var(--color-clay-deep);color:#fff;}
.mhbtn--ghost .elementor-button{background:transparent;color:var(--color-clay-deep);border-color:var(--color-clay);}
.mhbtn--ghost .elementor-button:hover{background:var(--color-clay);color:#fff;}
.mhbtn--light .elementor-button{background:var(--color-surface);color:var(--color-ink);border-color:var(--color-line);}
.mhbtn--light .elementor-button:hover{background:var(--color-clay);color:#fff;border-color:var(--color-clay);}
.mhbtn--block .elementor-button{width:100%;justify-content:center;}
.mh-mega .blurb strong,.mh-mega .blurb span{display:block;}
.mh-mega .blurb strong{font-family:var(--font-display);font-size:1.02rem;color:var(--color-ink);}
.mh-mega .blurb span{font-size:0.86rem;color:var(--color-ink-soft);}
.brand .mark .mh-dot{width:13px;height:13px;border-radius:50%;border:2.5px solid var(--color-bg);}
.brand .elementor-heading-title{font-family:var(--font-display);font-size:1.32rem;font-weight:600;letter-spacing:-0.01em;color:var(--color-ink);}
.form .wpforms-field-label{font-weight:600;font-size:0.92rem;color:var(--color-ink);}
.form .wpforms-form input[type=text],.form .wpforms-form input[type=email],.form .wpforms-form input[type=tel],.form .wpforms-form select,.form .wpforms-form textarea{font-family:inherit;font-size:1rem;width:100%;padding:0.8rem 0.95rem;border:1.5px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-ink);}
.form .wpforms-form input:focus,.form .wpforms-form select:focus,.form .wpforms-form textarea:focus{outline:none;border-color:var(--color-clay);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-clay) 22%,transparent);}
.form .wpforms-form textarea{min-height:130px;resize:vertical;}
.form .wpforms-field{padding:0 0 14px 0;}
.form div.wpforms-container .wpforms-submit{background:var(--color-clay);color:#fff;border:0;border-radius:var(--radius-pill);padding:0.85rem 1.6rem;font-weight:600;font-family:var(--font-body);font-size:0.98rem;cursor:pointer;transition:background .2s;}
.form div.wpforms-container .wpforms-submit:hover{background:var(--color-clay-deep);}
.form h2{font-size:var(--fs-h3);}
.form .wpforms-container{margin:0;}
.back-link{display:inline-flex;align-items:center;gap:0.4rem;font-weight:600;color:var(--color-clay-deep);font-size:var(--fs-small);}
.back-link:hover{color:var(--color-clay);}
.back-link svg{width:18px;height:18px;}
.article-foot{max-width:68ch;margin:var(--space-4) auto 0;padding-top:var(--space-3);border-top:1px solid var(--color-line);}
.prose ul.bullets{margin-top:var(--space-2);display:grid;gap:0.55rem;list-style:none;padding:0;}
.prose ul.bullets li{position:relative;padding-left:1.5rem;color:var(--color-ink-soft);}
.prose ul.bullets li::before{content:"";position:absolute;left:0;top:0.62em;width:8px;height:8px;border-radius:50%;background:var(--color-clay);}
.article-byline .dot{width:4px;height:4px;border-radius:50%;background:var(--color-line);display:inline-block;}
/* Force horizontal rows (Elementor containers default to column) */
.nav{flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:nowrap;}
.nav-links{flex-direction:row;align-items:center;flex-wrap:wrap;}
.brand{flex-direction:row;align-items:center;}
.mh-nav-item{flex-direction:row;align-items:center;}
.social{flex-direction:row;}
.footer-bottom{flex-direction:row;}
.cta-band .actions,.actions{flex-direction:row;}
.contact-item{flex-direction:row;}
.marquee-track{flex-direction:row;}
.accred{flex-direction:row;}
.quote .stars{flex-direction:row;}
.mh-headbar>.wrap,.mh-headbar .wrap{max-width:var(--maxw);}
/* ===== Responsive header + mobile menu ===== */
.mh-hamburger{display:none;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid var(--color-line);border-radius:12px;background:transparent;color:var(--color-ink);cursor:pointer;}
.mh-hamburger svg{width:24px;height:24px;}
html,body{overflow-x:hidden;}
@media(max-width:980px){
 .nav{flex-wrap:wrap;}
 .brand{margin-right:auto;}
 .mh-hamburger{display:inline-flex;order:2;}
 .nav-cta{order:3;}
 .nav-links{order:4;flex-basis:100%;width:100%;display:none;flex-direction:column;align-items:flex-start;gap:0.1rem;padding:0.6rem 0 0.4rem;}
 .nav.mh-open .nav-links{display:flex;}
 .nav-links a{width:100%;display:block;}
 .mh-mega-wrap{display:none!important;}
}
@media(min-width:981px){.mh-hamburger{display:none!important;}}
.svc-home{--svc-bg:linear-gradient(180deg,rgba(38,46,30,0.86),rgba(38,46,30,0.92)),url('https://mindhealer.co.ke/wp-content/uploads/2025/02/How-to-heal-trauma-without-revisiting-traumatic-events-960x540-1.webp');background-size:cover;background-position:center;}

/* ===== Mobile/tablet spacing + header tidy (v2) ===== */
.xpro-theme-builder-header{padding:0;}
.mh-headbar>.wrap{padding-block:0;}
.nav{min-height:64px;}
@media(max-width:980px){
 .nav{min-height:60px;padding-block:0.35rem;}
 .brand{margin-right:auto;}
 .nav-cta{order:3;margin-left:0.5rem;}
 .mh-hamburger{order:2;}
 .page-head{padding-block:var(--space-3) var(--space-3);}
 .hero2{padding-block:var(--space-3) var(--space-4);}
 .article-hero{padding-block:var(--space-3) var(--space-2);}
 .section{padding-block:var(--space-4);}
 .section--tight{padding-block:var(--space-3);}
 .page-head h1{font-size:clamp(1.8rem,7vw,2.4rem);}
 .hero2-title{font-size:clamp(2.1rem,9vw,3rem);}
 .wrap{padding-inline:1.1rem;}
}
@media(max-width:600px){
 .nav-cta{display:none;}
 .cta-band{padding:var(--space-4) var(--space-3);}
 .stats{padding:var(--space-4) var(--space-3);}
}
.brand .mh-logo{margin:0;}
.brand .mh-logo img{height:44px;width:auto;max-width:160px;display:block;}
.brand .mh-logo a{display:inline-flex;}
@media(max-width:980px){.brand .mh-logo img{height:38px;}}
@media(max-width:480px){.brand .mh-logo img{height:34px;}}