@font-face{font-family:'Raleway';font-style:normal;font-weight:300;font-display:swap;src:url('fonts/raleway-300.woff2') format('woff2');}
@font-face{font-family:'Raleway';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/raleway-400.woff2') format('woff2');}
@font-face{font-family:'Raleway';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/raleway-500.woff2') format('woff2');}
@font-face{font-family:'Raleway';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/raleway-600.woff2') format('woff2');}
@font-face{font-family:'Raleway';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/raleway-700.woff2') format('woff2');}
@font-face{font-family:'Kaisei Decol';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/kaisei-400.woff2') format('woff2');}
@font-face{font-family:'Kaisei Decol';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/kaisei-500.woff2') format('woff2');}
@font-face{font-family:'Kaisei Decol';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/kaisei-700.woff2') format('woff2');}

:root{
  --purple:#330033; --purple-soft:#4a1f4a; --gold:#947D59; --gold-bright:#a98e66; --gold-ink:#6E5A37;
  --linen:#F7F3F1; --linen-2:#efe8e2; --ash:#16100C; --river:#5497A7; --lilac:#7E537A; --ink:#241a1f;
  --display:'Kaisei Decol', Georgia, serif; --body:'Raleway','Helvetica Neue',sans-serif;
  --t-body:1.0625rem; --t-sub:1.33rem; --t-head:1.85rem; --t-title:2.1rem;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;}}
body{font-family:var(--body);background:var(--linen);color:var(--ink);line-height:1.7;font-size:var(--t-body);-webkit-font-smoothing:antialiased;}
h1,h2,h3,h4{font-family:var(--display);font-weight:700;line-height:1.18;color:var(--purple);}
a{color:var(--purple);text-decoration:none;}
button{font-family:inherit;cursor:pointer;border:none;background:none;}
img{max-width:100%;display:block;}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px;}
.pp-logo{height:100%;width:auto;display:block;}
.wrap{max-width:1180px;margin:0 auto;padding:0 clamp(1.2rem,5vw,3rem);}
.eyebrow{font-family:var(--body);font-weight:700;font-size:.76rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-ink);}
.reveal{opacity:0;transform:translateY(20px);transition:opacity .8s ease,transform .8s ease;}
.reveal.in{opacity:1;transform:none;}

.btn{display:inline-block;font-family:var(--body);font-weight:700;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;padding:1.05rem 1.9rem;border-radius:2px;transition:transform .2s,background .2s,filter .2s,color .2s;cursor:pointer;}
.btn-gold{background:var(--gold);color:#fff;}
.btn-gold:hover{filter:brightness(1.07);transform:translateY(-2px);}
.btn-purple{background:var(--purple);color:var(--linen);}
.btn-purple:hover{background:var(--purple-soft);transform:translateY(-2px);}
.btn-ghost{background:transparent;color:var(--linen);border:1px solid rgba(247,243,241,.5);}
.btn-ghost:hover{border-color:var(--gold-ink);background:rgba(148,125,89,.16);}
.btn-ghost-dark{background:transparent;color:var(--purple);border:1px solid rgba(51,0,51,.3);}
.btn-ghost-dark:hover{border-color:var(--gold-ink);background:rgba(148,125,89,.1);}

/* NAV */
header.nav{position:sticky;top:0;z-index:50;background:rgba(247,243,241,.92);backdrop-filter:blur(8px);border-bottom:1px solid rgba(166,153,125,.28);}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:74px;}
.nav-logo{height:46px;}
.nav-links{display:flex;align-items:center;gap:1.7rem;}
.nav-links a{font-weight:600;font-size:.86rem;letter-spacing:.04em;color:var(--ink);transition:color .2s;padding:.6rem 0;display:inline-flex;align-items:center;}
.nav-links a:hover{color:var(--gold-ink);}
.nav-cta{font-size:.78rem!important;padding:.85rem 1.35rem!important;}
.nav-toggle{display:none;font-size:1.5rem;color:var(--purple);}
@media(max-width:900px){.nav-links{display:none;}.nav-toggle{display:block;}.nav-links.open{display:flex;flex-direction:column;position:absolute;top:74px;left:0;right:0;background:var(--linen);padding:1.2rem;gap:1rem;border-bottom:1px solid rgba(166,153,125,.3);}}

/* HERO (split) */
.hero{background:var(--purple);color:var(--linen);}
.hero-split{display:grid;grid-template-columns:1.02fr .98fr;min-height:clamp(520px,72vh,720px);}
.hero-panel{display:flex;align-items:center;padding:clamp(3rem,6vw,5rem) clamp(1.4rem,5vw,4rem);}
.hero-content{max-width:600px;}
.hero h1{color:var(--linen);font-size:clamp(2.2rem,4.4vw,3.5rem);margin:1.2rem 0 1.3rem;letter-spacing:-.01em;}
.hero h1 .accent{color:var(--gold-bright);}
.hero p.lead{font-size:clamp(1.04rem,1.45vw,1.2rem);font-weight:300;color:rgba(247,243,241,.9);margin-bottom:2.2rem;}
.hero-actions{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;}
.hero-verse{margin-top:2.6rem;font-family:var(--display);font-style:italic;font-size:1rem;color:var(--gold-bright);}
.hero-photo{position:relative;overflow:hidden;background:var(--ash);}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:55% 28%;}
/* softened, widened fade so the photo breathes */
.hero-photo::before{content:"";position:absolute;top:0;bottom:0;left:0;width:42%;z-index:1;background:linear-gradient(90deg,var(--purple) 0%,rgba(51,0,51,.82) 22%,rgba(51,0,51,.45) 52%,rgba(51,0,51,.12) 82%,rgba(51,0,51,0) 100%);}
@media(max-width:880px){.hero-split{grid-template-columns:1fr;}.hero-photo{min-height:340px;order:-1;}.hero-photo::before{top:auto;left:0;right:0;bottom:0;width:auto;height:140px;background:linear-gradient(0deg,var(--purple) 0%,rgba(51,0,51,.5) 45%,rgba(51,0,51,0) 100%);}}

section{padding:clamp(3.8rem,8vw,6.5rem) 0;}
.section-eyebrow{margin-bottom:1.1rem;display:block;}
.lede{max-width:720px;}
.lede h2{font-size:clamp(1.7rem,3.4vw,var(--t-title));margin-bottom:1.3rem;}
.lede p{font-size:1.08rem;color:#43363b;margin-bottom:1.1rem;}

.empathy{background:var(--linen);}
.empathy .pull{margin-top:2rem;border-left:3px solid var(--gold);padding:.5rem 0 .5rem 1.5rem;font-family:var(--display);font-style:italic;font-size:1.32rem;color:var(--purple);line-height:1.5;max-width:30ch;}

/* SERVICES */
.services{background:var(--linen);}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;}
.svc{background:var(--linen);border:1px solid rgba(166,153,125,.32);border-radius:4px;padding:1.7rem;transition:transform .25s,box-shadow .25s,border-color .25s;}
.svc:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(34,0,34,.1);border-color:var(--gold-ink);}
.svc h3{font-size:1.25rem;margin-bottom:.6rem;}
.svc p{font-size:.97rem;color:#43363b;}
.svc-accent{background:var(--purple);border-color:var(--purple);}
.svc-accent h3{color:var(--gold-bright);}
.svc-accent p{color:rgba(247,243,241,.85);}
@media(max-width:860px){.svc-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.svc-grid{grid-template-columns:1fr;}}

/* THE MARK — Ash Black background so the gold+purple mark pops */
.mark{background:var(--ash);color:var(--linen);position:relative;overflow:hidden;}
.mark .section-eyebrow{color:var(--gold-bright);}
.mark h2{color:var(--linen);font-size:clamp(1.7rem,3.4vw,var(--t-title));max-width:18ch;margin-bottom:.8rem;}
.mark .intro{color:rgba(247,243,241,.82);max-width:60ch;font-weight:300;margin-bottom:3rem;}
.mark-grid{display:grid;grid-template-columns:320px 1fr;gap:clamp(2.5rem,6vw,5rem);align-items:center;}
.mark-emblem{display:flex;align-items:center;justify-content:center;padding:1.5rem;}
.mark-emblem img{width:100%;max-width:260px;filter:drop-shadow(0 12px 34px rgba(0,0,0,.5));}
.mark-items{display:grid;gap:1.7rem;}
.mark-item{display:grid;grid-template-columns:auto 1fr;gap:1.1rem;align-items:start;}
.mark-item .dot{width:.62rem;height:.62rem;border-radius:50%;background:var(--gold);margin-top:.55rem;}
.mark-item h3{color:var(--gold-bright);font-size:1.18rem;margin-bottom:.3rem;}
.mark-item p{color:rgba(247,243,241,.85);font-weight:300;font-size:1.01rem;}
@media(max-width:760px){.mark-grid{grid-template-columns:1fr;}.mark-emblem img{max-width:200px;}}

/* FRAMEWORK with icons + learn-more */
.framework{background:var(--linen-2);}
.fw-head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:1.5rem;margin-bottom:3rem;}
.fw-head h2{font-size:clamp(1.7rem,3.4vw,var(--t-title));max-width:16ch;}
.fw-head p{max-width:34ch;color:#43363b;font-style:italic;font-family:var(--display);}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;counter-reset:step;}
.pillar{background:var(--linen);border:1px solid rgba(166,153,125,.32);border-top:3px solid var(--gold);border-radius:3px;padding:2rem 1.7rem;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s;}
.pillar:hover{transform:translateY(-4px);box-shadow:0 16px 38px rgba(34,0,34,.1);}
.pillar .p-icon{width:46px;height:46px;margin-bottom:1rem;color:var(--gold-ink);}
.pillar .p-icon svg{width:100%;height:100%;}
.pillar .step{counter-increment:step;font-family:var(--display);font-size:.9rem;color:var(--gold-ink);letter-spacing:.1em;}
.pillar .step::before{content:"0" counter(step);}
.pillar h3{font-size:1.4rem;margin:.25rem 0 .25rem;}
.pillar .p-sub{display:block;font-family:var(--display);font-style:italic;color:var(--gold-ink);font-size:.98rem;margin-bottom:.8rem;}
.pillar p{font-size:.99rem;color:#43363b;margin-bottom:1.2rem;flex-grow:1;}
.pillar .learn{align-self:flex-start;font-weight:700;font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;color:var(--purple);border-bottom:2px solid var(--gold);padding-bottom:2px;transition:color .2s,gap .2s;display:inline-flex;align-items:center;gap:.4rem;}
.pillar .learn:hover{color:var(--gold-ink);gap:.7rem;}
@media(max-width:760px){.pillars{grid-template-columns:1fr;}}

/* MODAL */
.modal-overlay{position:fixed;inset:0;z-index:200;background:rgba(22,16,12,.62);backdrop-filter:blur(3px);display:none;align-items:center;justify-content:center;padding:1.5rem;}
.modal-overlay.open{display:flex;animation:fade .25s ease;}
@keyframes fade{from{opacity:0}to{opacity:1}}
.modal{background:var(--linen);max-width:600px;width:100%;max-height:88vh;overflow-y:auto;border-radius:5px;border-top:5px solid var(--gold);padding:clamp(1.8rem,4vw,2.8rem);position:relative;animation:rise .3s ease;}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.modal .m-icon{width:48px;height:48px;color:var(--gold-ink);margin-bottom:1rem;}
.modal .m-step{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-ink);font-weight:700;}
.modal h3{font-size:1.8rem;margin:.2rem 0 .2rem;}
.modal .m-sub{font-family:var(--display);font-style:italic;color:var(--gold-ink);font-size:1.05rem;margin-bottom:1.2rem;}
.modal p{color:#43363b;margin-bottom:1.1rem;}
.modal h4{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--purple);margin:1.4rem 0 .8rem;}
.modal ul{list-style:none;}
.modal li{position:relative;padding-left:1.4rem;margin-bottom:.6rem;color:#43363b;font-size:.98rem;}
.modal li::before{content:"";position:absolute;left:0;top:.6em;width:.5rem;height:.5rem;background:var(--gold);border-radius:50%;}
.modal .m-close{position:absolute;top:1rem;right:1.1rem;width:2.2rem;height:2.2rem;border-radius:50%;background:rgba(51,0,51,.07);color:var(--purple);font-size:1.3rem;line-height:1;display:flex;align-items:center;justify-content:center;}
.modal .m-close:hover{background:var(--gold);color:#fff;}

/* PATH FINDER */
.finder{background:var(--linen);}
.finder-head{text-align:center;max-width:640px;margin:0 auto 2.6rem;}
.finder-head h2{font-size:clamp(1.7rem,3.4vw,var(--t-title));margin-bottom:1rem;}
.finder-head p{color:#43363b;}
.finder-box{max-width:760px;margin:0 auto;background:var(--purple);color:var(--linen);border-radius:5px;padding:clamp(1.8rem,4vw,3rem);box-shadow:0 22px 60px rgba(34,0,34,.22);}
.q-step{display:none;}.q-step.active{display:block;animation:rise .5s ease both;}
.q-prog{font-size:.7rem;letter-spacing:.25em;text-transform:uppercase;color:var(--gold-bright);margin-bottom:1rem;}
.q-step h3{color:var(--linen);font-size:clamp(1.3rem,2.6vw,1.7rem);margin-bottom:1.6rem;max-width:24ch;}
.choice{display:block;width:100%;text-align:left;background:transparent;border:1px solid rgba(247,243,241,.28);color:var(--linen);font-family:var(--display);font-size:1.08rem;font-style:italic;padding:1rem 1.3rem;margin-bottom:.8rem;border-radius:3px;transition:border-color .2s,background .2s,transform .2s;}
.choice small{display:block;font-family:var(--body);font-style:normal;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-bright);margin-top:.35rem;}
.choice:hover{border-color:var(--gold-ink);background:rgba(148,125,89,.14);transform:translateX(5px);}
.q-back{margin-top:.6rem;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(247,243,241,.6);text-decoration:underline;text-underline-offset:4px;}
.result{display:none;}.result.show{display:block;animation:rise .5s ease both;}
.result .r-kicker{font-size:.7rem;letter-spacing:.25em;text-transform:uppercase;color:var(--gold-bright);margin-bottom:.7rem;}
.result h3{color:var(--linen);font-size:clamp(1.4rem,2.8vw,1.9rem);margin-bottom:.5rem;}
.result .r-mirror{font-family:var(--display);font-style:italic;color:var(--gold-bright);margin-bottom:1.2rem;font-size:1rem;}
.result p.r-body{color:rgba(247,243,241,.88);font-weight:300;margin-bottom:1.3rem;}
.result ul{list-style:none;margin:0 0 1.6rem;}
.result li{padding-left:1.4rem;position:relative;margin-bottom:.55rem;color:rgba(247,243,241,.88);font-size:.99rem;}
.result li::before{content:"";position:absolute;left:0;top:.6em;width:.5rem;height:.5rem;background:var(--gold);border-radius:50%;}
.result .r-actions{display:flex;flex-wrap:wrap;gap:.9rem;align-items:center;}
.result .r-restart{font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(247,243,241,.6);text-decoration:underline;text-underline-offset:4px;}

/* PROOF */
.proof{background:var(--purple);color:var(--linen);}
.proof-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,5vw,4rem);align-items:center;}
.proof .section-eyebrow{color:var(--gold-bright);}
.quote{font-family:var(--display);font-size:clamp(1.4rem,2.7vw,1.95rem);line-height:1.42;color:var(--linen);margin-bottom:1.8rem;}
.quote-by{display:flex;align-items:center;gap:1rem;}
.quote-by img{width:62px;height:62px;border-radius:50%;object-fit:cover;border:2px solid var(--gold);}
.quote-by .n{font-weight:700;color:var(--linen);}
.quote-by .r{font-size:.86rem;color:var(--gold-bright);}
.proof-photo img{width:100%;border-radius:5px;box-shadow:0 18px 44px rgba(0,0,0,.4);}
.proof-photo figcaption{margin-top:.8rem;font-size:.82rem;color:var(--gold-bright);font-family:var(--display);font-style:italic;text-align:center;}
@media(max-width:820px){.proof-grid{grid-template-columns:1fr;}.proof-photo{order:-1;}}

/* MEET THE TEAM */
.team{background:var(--linen-2);}
.team-head{max-width:640px;margin-bottom:3rem;}
.team-head h2{font-size:clamp(1.7rem,3.4vw,var(--t-title));margin-bottom:1rem;}
.team-head p{color:#43363b;}
.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.6rem;}
.member{background:var(--linen);border:1px solid rgba(166,153,125,.32);border-radius:5px;overflow:hidden;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s;}
.member:hover{transform:translateY(-4px);box-shadow:0 16px 38px rgba(34,0,34,.1);}
.member .m-photo{aspect-ratio:4/3;overflow:hidden;}
.member .m-photo img{width:100%;height:100%;object-fit:cover;}
.member .m-body{padding:1.4rem 1.5rem;}
.member .m-name{font-family:var(--display);font-size:1.3rem;color:var(--purple);}
.member .m-role{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-ink);font-weight:700;margin:.2rem 0 .7rem;}
.member .m-note{font-size:.96rem;color:#43363b;}
.member.wide{grid-column:1 / -1;}
.member.wide{display:grid;grid-template-columns:1.1fr 1fr;}
.member.wide .m-photo{aspect-ratio:auto;height:100%;min-height:280px;}
@media(max-width:680px){.member.wide{grid-template-columns:1fr;}.member.wide .m-photo{min-height:240px;}}

/* WAYS */
.ways{background:var(--linen);}
.ways-head{max-width:640px;margin-bottom:3rem;}
.ways-head h2{font-size:clamp(1.7rem,3.4vw,var(--t-title));margin-bottom:1rem;}
.ways-head p{color:#43363b;}
.ways-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;}
.way{background:var(--linen);border:1px solid rgba(166,153,125,.32);border-radius:4px;padding:2rem;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s,border-color .25s;}
.way:hover{transform:translateY(-4px);box-shadow:0 16px 38px rgba(34,0,34,.1);border-color:var(--gold-ink);}
.way .w-tag{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-ink);font-weight:700;margin-bottom:.8rem;}
.way h3{font-size:1.45rem;margin-bottom:.7rem;}
.way p{color:#43363b;font-size:1rem;flex-grow:1;margin-bottom:1.3rem;}
.way .w-link{font-weight:700;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:var(--purple);display:inline-flex;align-items:center;gap:.4rem;transition:gap .2s,color .2s;}
.way:hover .w-link{gap:.75rem;color:var(--gold-ink);}
@media(max-width:760px){.ways-grid{grid-template-columns:1fr;}}

/* COURSE (unchanged content) */
.course{background:var(--linen-2);}
.course-head{max-width:680px;margin-bottom:3rem;}
.course-head h2{font-size:clamp(1.7rem,3.4vw,var(--t-title));margin-bottom:1rem;}
.course-head p{color:#43363b;}
.course-head em{font-style:italic;color:var(--purple);}
.course-seasons{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-bottom:2.6rem;}
.season{background:var(--linen);border:1px solid rgba(166,153,125,.32);border-top:3px solid var(--gold);border-radius:4px;padding:1.8rem;}
.season .s-head{margin-bottom:1.1rem;padding-bottom:1rem;border-bottom:1px solid rgba(166,153,125,.3);}
.season .s-num{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-ink);font-weight:700;}
.season h3{font-size:1.5rem;margin:.3rem 0 .15rem;}
.season .s-sub{font-family:var(--display);font-style:italic;color:var(--gold-ink);font-size:.92rem;}
.season .s-list{list-style:none;}
.course-seasons .season:nth-child(1) .s-list{counter-reset:mod 0;}
.course-seasons .season:nth-child(2) .s-list{counter-reset:mod 1;}
.course-seasons .season:nth-child(3) .s-list{counter-reset:mod 4;}
.course-seasons .season:nth-child(4) .s-list{counter-reset:mod 7;}
.season .s-list li{position:relative;padding-left:2rem;margin-bottom:.7rem;font-size:.95rem;color:#43363b;counter-increment:mod;}
.season .s-list li::before{content:counter(mod);position:absolute;left:0;top:0;width:1.3rem;height:1.3rem;background:var(--purple);color:var(--linen);border-radius:50%;font-size:.7rem;font-weight:700;display:flex;align-items:center;justify-content:center;font-family:var(--body);}
.course-cta{display:flex;flex-wrap:wrap;gap:1rem;}
@media(max-width:860px){.course-seasons{grid-template-columns:1fr;}}

/* RETREAT TEASER (home) */
.retreat-teaser{background:var(--ash);color:var(--linen);}
.rt-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(2rem,5vw,4rem);align-items:center;}
.retreat-teaser .section-eyebrow{color:var(--gold-bright);}
.retreat-teaser h2{color:var(--linen);font-size:clamp(1.8rem,3.6vw,2.4rem);margin-bottom:1rem;line-height:1.14;}
.retreat-teaser .verse{font-family:var(--display);font-style:italic;color:var(--gold-bright);font-size:1.05rem;margin-bottom:1.2rem;}
.retreat-teaser p{color:rgba(247,243,241,.84);font-weight:300;margin-bottom:1.8rem;}
.rt-meta{display:flex;flex-wrap:wrap;gap:1.2rem 2.2rem;margin-bottom:2rem;}
.rt-meta .k{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-bright);display:block;}
.rt-meta .v{font-family:var(--display);font-size:1.05rem;color:var(--linen);}
@media(max-width:820px){.rt-grid{grid-template-columns:1fr;}}

/* ABOUT */
.about{background:var(--linen);}
.about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,5vw,4rem);align-items:center;}
.about-photo img{width:100%;border-radius:5px;box-shadow:0 18px 44px rgba(34,0,34,.16);}
.about h2{font-size:clamp(1.7rem,3.4vw,var(--t-title));margin-bottom:1.3rem;}
.about p{color:#43363b;margin-bottom:1.1rem;font-size:1.06rem;}
.about .sig{font-family:var(--display);font-style:italic;color:var(--purple);font-size:1.15rem;margin-top:1.4rem;}
@media(max-width:820px){.about-grid{grid-template-columns:1fr;}.about-photo{max-width:340px;}}

/* FINAL CTA */
.final{background:var(--purple);color:var(--linen);text-align:center;}
.final h2{color:var(--linen);font-size:clamp(1.9rem,4vw,2.7rem);max-width:18ch;margin:0 auto 1.2rem;}
.final p{color:rgba(247,243,241,.82);max-width:48ch;margin:0 auto 2.2rem;font-weight:300;}
.final .fit{margin-top:1.4rem;font-family:var(--display);font-style:italic;color:var(--gold-bright);}

/* FOOTER */
footer.site{background:var(--ash);color:rgba(247,243,241,.7);padding:3rem 0 2.2rem;}
.foot-grid{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2rem;align-items:flex-start;}
.foot-logo{height:40px;margin-bottom:1rem;}
.foot-col{max-width:280px;}
.foot-col h5{color:var(--gold-bright);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;margin-bottom:.9rem;font-weight:700;}
.foot-col a,.foot-col p{color:rgba(247,243,241,.7);font-size:.92rem;display:block;margin-bottom:.5rem;}
.foot-col a:hover{color:var(--gold-bright);}
.foot-bottom{margin-top:2.4rem;padding-top:1.5rem;border-top:1px solid rgba(247,243,241,.12);display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;font-size:.82rem;}
.foot-verse{font-family:var(--display);font-style:italic;color:var(--gold-bright);}

/* PAGE HERO (interior pages) */
.page-hero{background:var(--purple);color:var(--linen);padding:clamp(3.5rem,8vw,6rem) 0 clamp(3rem,6vw,4.5rem);}
.page-hero .crumb{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-bright);margin-bottom:1rem;}
.page-hero .crumb a{color:var(--gold-bright);}
.page-hero h1{color:var(--linen);font-size:clamp(2.2rem,5vw,3.4rem);max-width:20ch;margin-bottom:1.1rem;}
.page-hero p{color:rgba(247,243,241,.86);font-weight:300;max-width:56ch;font-size:1.1rem;}

/* BOOKS */
.books{background:var(--linen);}
.book{display:grid;grid-template-columns:240px 1fr;gap:clamp(1.8rem,4vw,3rem);align-items:center;padding:clamp(2rem,4vw,3rem) 0;border-bottom:1px solid rgba(166,153,125,.3);}
.book:last-child{border-bottom:none;}
.book-cover{aspect-ratio:2/3;border-radius:4px;background:linear-gradient(160deg,var(--purple),var(--purple-soft));display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.6rem;text-align:center;box-shadow:0 18px 40px rgba(34,0,34,.22);}
.book-cover .bc-mark{width:46px;margin-bottom:1rem;opacity:.9;}
.book-cover .bc-title{font-family:var(--display);color:var(--linen);font-size:1.5rem;line-height:1.15;}
.book-cover .bc-sub{color:var(--gold-bright);font-size:.74rem;letter-spacing:.1em;margin-top:.6rem;font-style:italic;font-family:var(--display);}
.book-info .b-tag{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-ink);font-weight:700;margin-bottom:.6rem;}
.book-info h2{font-size:clamp(1.5rem,3vw,2rem);margin-bottom:.3rem;}
.book-info .b-sub{font-family:var(--display);font-style:italic;color:var(--gold-ink);margin-bottom:1rem;}
.book-info p{color:#43363b;margin-bottom:1rem;}
.book-info .b-actions{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center;margin-top:1.2rem;}
.book-status{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-ink);font-weight:700;}
@media(max-width:680px){.book{grid-template-columns:1fr;justify-items:center;text-align:center;}.book-cover{max-width:220px;}}

/* BLOG */
.blog-list{background:var(--linen);}
.blog-filters{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:2.5rem;}
.blog-filters button{font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--purple);border:1px solid rgba(51,0,51,.2);border-radius:2rem;padding:.5rem 1.1rem;transition:all .2s;}
.blog-filters button:hover,.blog-filters button.active{background:var(--purple);color:var(--linen);border-color:var(--purple);}
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;}
.post-card{position:relative;background:var(--linen);border:1px solid rgba(166,153,125,.32);border-radius:5px;overflow:hidden;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s,border-color .25s;cursor:pointer;}
.post-card:hover{transform:translateY(-4px);box-shadow:0 16px 38px rgba(34,0,34,.1);border-color:var(--gold-ink);}
.post-card h3 a::after{content:"";position:absolute;inset:0;z-index:1;}
.post-card .pc-body{padding:1.6rem;display:flex;flex-direction:column;flex-grow:1;}
.post-card .pc-topic{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-ink);font-weight:700;margin-bottom:.7rem;}
.post-card h3{font-size:1.25rem;line-height:1.25;margin-bottom:.6rem;}
.post-card h3 a{color:var(--purple);}
.post-card h3 a:hover{color:var(--gold-ink);}
.post-card p{font-size:.94rem;color:#43363b;flex-grow:1;margin-bottom:1rem;}
.post-card .pc-meta{font-size:.78rem;color:var(--gold-ink);font-weight:600;}
@media(max-width:860px){.post-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.post-grid{grid-template-columns:1fr;}}

/* ARTICLE */
.article{background:var(--linen);}
.article-wrap{max-width:740px;margin:0 auto;}
.article .a-topic{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-ink);font-weight:700;}
.article .a-meta{font-size:.86rem;color:#7a6b70;margin:1.4rem 0 2.2rem;padding-bottom:1.6rem;border-bottom:1px solid rgba(166,153,125,.3);}
.article-body{font-size:1.12rem;line-height:1.8;color:#33272c;}
.article-body p{margin-bottom:1.3rem;}
.article-body h2{font-size:1.6rem;margin:2.4rem 0 1rem;}
.article-body h3{font-size:1.3rem;margin:2rem 0 .8rem;}
.article-body blockquote{border-left:3px solid var(--gold);padding:.4rem 0 .4rem 1.5rem;margin:1.8rem 0;font-family:var(--display);font-style:italic;font-size:1.3rem;color:var(--purple);line-height:1.5;}
.article-body ul,.article-body ol{margin:0 0 1.3rem 1.3rem;}
.article-body li{margin-bottom:.6rem;}
.article-body strong{color:var(--purple);}
.article-cta{margin-top:3rem;padding:2.2rem;background:var(--purple);color:var(--linen);border-radius:5px;text-align:center;}
.article-cta h3{color:var(--linen);font-size:1.5rem;margin-bottom:.8rem;}
.article-cta p{color:rgba(247,243,241,.84);margin-bottom:1.4rem;font-weight:300;}
.article-foot{max-width:740px;margin:2.5rem auto 0;display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;}
.article-foot a{font-weight:700;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;color:var(--purple);}
.article-foot a:hover{color:var(--gold-ink);}

/* ===== EMPATHY + photo (home) ===== */
.empathy-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,5vw,3.5rem);align-items:center;}
.empathy-photo img{width:100%;border-radius:5px;box-shadow:0 18px 44px rgba(34,0,34,.16);}
.empathy-photo figcaption{margin-top:.8rem;font-size:.86rem;color:var(--gold-ink);font-family:var(--display);font-style:italic;line-height:1.5;}
@media(max-width:820px){.empathy-grid{grid-template-columns:1fr;}.empathy-photo{max-width:520px;}}

/* ===== SERVICES TEASER (home) ===== */
.svc-teaser-grid{display:flex;flex-wrap:wrap;gap:1rem;}
.svc-chip{display:flex;align-items:center;gap:.7rem;background:var(--linen);border:1px solid rgba(166,153,125,.4);border-radius:2.5rem;padding:.7rem 1.3rem .7rem .9rem;transition:transform .2s,border-color .2s,box-shadow .2s;}
.svc-chip:hover{transform:translateY(-3px);border-color:var(--gold-ink);box-shadow:0 10px 24px rgba(34,0,34,.08);}
.svc-chip .chip-icon{width:30px;height:30px;color:var(--gold-ink);flex-shrink:0;}
.svc-chip span:last-child{font-weight:700;font-size:.92rem;color:var(--purple);letter-spacing:.01em;}

/* ===== WHAT TO EXPECT (steps timeline) ===== */
.expect{background:var(--linen-2);}
.steps{max-width:680px;margin:0 auto;position:relative;}
.steps::before{content:"";position:absolute;left:19px;top:10px;bottom:10px;width:2px;background:rgba(148,125,89,.35);}
.step{position:relative;display:grid;grid-template-columns:auto 1fr;gap:1.3rem;padding-bottom:2rem;}
.step:last-child{padding-bottom:0;}
.step-n{width:40px;height:40px;border-radius:50%;background:var(--purple);color:var(--linen);font-family:var(--display);font-size:1.1rem;display:flex;align-items:center;justify-content:center;position:relative;z-index:1;box-shadow:0 0 0 6px var(--linen-2);}
.step h3{font-size:1.2rem;margin-bottom:.3rem;}
.step p{color:#43363b;font-size:.99rem;}
.expect-cta{text-align:center;margin-top:2.6rem;}
.expect-head{text-align:center;max-width:620px;margin:0 auto 3rem;}
.expect-head h2{font-size:clamp(1.7rem,3.4vw,var(--t-title));margin-bottom:1rem;}
.expect-head p{color:#43363b;}

/* ===== SERVICES PAGE accordion ===== */
.svc-accordion{max-width:820px;margin:0 auto;}
.acc-item{border:1px solid rgba(166,153,125,.4);border-radius:5px;margin-bottom:1rem;overflow:hidden;background:var(--linen);transition:border-color .2s,box-shadow .2s;}
.acc-item.open{border-color:var(--gold-ink);box-shadow:0 14px 34px rgba(34,0,34,.08);}
.acc-head{width:100%;display:grid;grid-template-columns:auto 1fr auto;gap:1.2rem;align-items:center;padding:1.5rem 1.7rem;text-align:left;}
.acc-icon{width:42px;height:42px;min-width:42px;color:var(--gold-ink);grid-row:span 2;display:flex;align-items:center;justify-content:center;}
.acc-title{font-family:var(--display);font-size:1.35rem;color:var(--purple);font-weight:700;align-self:end;}
.acc-summary{grid-column:2;font-size:.95rem;color:#5a4a51;align-self:start;}
.acc-chev{font-size:1.8rem;color:var(--gold-ink);font-weight:300;line-height:1;transition:transform .3s;grid-row:span 2;}
.acc-item.open .acc-chev{transform:rotate(45deg);}
.acc-panel{max-height:0;overflow:hidden;transition:max-height .35s ease;}
.acc-panel-inner{padding:0 1.7rem 1.8rem 4.9rem;}
.acc-panel p{color:#43363b;margin-bottom:1rem;}
.acc-panel h4{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--purple);margin:1.2rem 0 .7rem;}
.acc-panel ul{list-style:none;margin-bottom:1.4rem;}
.acc-panel li{position:relative;padding-left:1.4rem;margin-bottom:.5rem;color:#43363b;font-size:.97rem;}
.acc-panel li::before{content:"";position:absolute;left:0;top:.55em;width:.5rem;height:.5rem;background:var(--gold);border-radius:50%;}
@media(max-width:560px){.acc-head{grid-template-columns:auto 1fr;}.acc-chev{grid-row:1;}.acc-summary{grid-column:1 / -1;}.acc-panel-inner{padding-left:1.7rem;}}

/* ===== COURSE vertical (services page) ===== */
.course-vertical{max-width:620px;}
.cv-part{margin-top:1.8rem;padding-bottom:.5rem;border-bottom:1px solid rgba(148,125,89,.4);}
.cv-part:first-child{margin-top:0;}
.cv-part .cv-plabel{font-family:var(--display);font-size:1.25rem;color:var(--purple);}
.cv-part .cv-psub{font-style:italic;color:var(--gold-ink);font-size:.92rem;margin-left:.6rem;}
.cv-ch{display:flex;align-items:center;gap:1rem;padding:.7rem 0;border-bottom:1px solid rgba(166,153,125,.2);}
.cv-ch:last-child{border-bottom:none;}
.cv-n{width:1.7rem;height:1.7rem;flex-shrink:0;border-radius:50%;background:var(--purple);color:var(--linen);font-size:.78rem;font-weight:700;display:flex;align-items:center;justify-content:center;}
.cv-ch span:last-child{color:#33272c;font-size:1rem;}

/* ===== CLIENTS / LOGO WALL ===== */
.clients{background:var(--linen-2);}
.clients-head{text-align:center;max-width:680px;margin:0 auto 1rem;}
.clients-head h2{font-size:clamp(1.7rem,3.4vw,var(--t-title));margin-bottom:1rem;}
.clients-head p{color:#43363b;}
.client-group{margin-top:2.6rem;}
.cg-label{text-align:center;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-ink);font-weight:700;margin-bottom:1.4rem;}
.logo-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;}
.logo-cell{width:188px;height:104px;background:#fff;border:1px solid rgba(166,153,125,.3);border-radius:6px;display:flex;align-items:center;justify-content:center;padding:1.1rem;transition:transform .2s,box-shadow .2s;}
.logo-cell:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(34,0,34,.08);}
.logo-cell img{max-height:60px;max-width:150px;width:auto;object-fit:contain;}
@media(max-width:600px){.logo-cell{width:46%;height:88px;padding:.8rem;}.logo-cell img{max-height:48px;max-width:90%;}}

/* ensure all inline SVG icons fill their sized containers */
.acc-icon svg,.svc-chip .chip-icon svg,.modal .m-icon svg,.p-icon svg{width:100%;height:100%;display:block;}

/* ===== SKIP LINK (accessibility) ===== */
.skip-link{position:absolute;left:-9999px;top:0;z-index:300;background:var(--gold);color:#fff;padding:.8rem 1.3rem;font-weight:700;border-radius:0 0 4px 0;}
.skip-link:focus{left:0;}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}

/* ===== LEAD CAPTURE FORM (on purple section) ===== */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:start;text-align:left;}
.contact-intro h2{color:var(--linen);font-size:clamp(1.8rem,3.6vw,2.4rem);margin-bottom:1rem;}
.contact-intro p{color:rgba(247,243,241,.85);font-weight:300;margin-bottom:1.4rem;}
.contact-intro .fit{font-family:var(--display);font-style:italic;color:var(--gold-bright);}
.contact-intro .alt{margin-top:1.6rem;font-size:.95rem;}
.contact-intro .alt a{color:var(--linen);text-decoration:underline;text-underline-offset:3px;}
.lead-form{background:var(--linen);border-radius:6px;padding:clamp(1.5rem,3vw,2.2rem);box-shadow:0 18px 50px rgba(0,0,0,.28);}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.field{margin-bottom:1.1rem;display:flex;flex-direction:column;}
.field label{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--purple);margin-bottom:.45rem;}
.field label .req{color:var(--gold-ink);}
.field input,.field textarea{font-family:var(--body);font-size:1rem;color:var(--ink);background:#fff;border:1px solid rgba(51,0,51,.25);border-radius:4px;padding:.8rem .9rem;min-height:48px;width:100%;}
.field textarea{min-height:120px;resize:vertical;}
.field input:focus,.field textarea:focus{outline:3px solid var(--gold);outline-offset:1px;border-color:var(--gold);}
.consent{display:flex;gap:.7rem;align-items:flex-start;margin-bottom:1.3rem;}
.consent input{width:22px;height:22px;min-width:22px;margin-top:.15rem;accent-color:var(--purple);}
.consent label{font-size:.9rem;color:#43363b;line-height:1.5;}
.lead-form .btn{width:100%;text-align:center;border:none;cursor:pointer;}
.form-note{font-size:.8rem;color:#6a5b60;margin-top:1rem;text-align:center;}
.form-note a{color:var(--purple);text-decoration:underline;}
@media(max-width:820px){.contact-grid{grid-template-columns:1fr;}.contact-intro{text-align:center;}}
@media(max-width:520px){.form-row{grid-template-columns:1fr;}}

/* ===== LEGAL PAGES ===== */
.legal{background:var(--linen);}
.legal-wrap{max-width:760px;margin:0 auto;}
.legal-wrap h2{font-size:1.5rem;margin:2.2rem 0 .8rem;color:var(--purple);}
.legal-wrap h2:first-child{margin-top:0;}
.legal-wrap p,.legal-wrap li{color:#33272c;margin-bottom:1rem;line-height:1.75;}
.legal-wrap ul{margin:0 0 1.2rem 1.3rem;}
.legal-wrap li{margin-bottom:.5rem;}
.legal-wrap a{color:var(--purple);text-decoration:underline;text-underline-offset:2px;}
.legal-updated{font-size:.85rem;color:#6a5b60;font-style:italic;margin-bottom:2rem;}
.legal-note{background:var(--linen-2);border-left:3px solid var(--gold);padding:1rem 1.3rem;font-size:.92rem;color:#43363b;border-radius:0 4px 4px 0;margin:1.5rem 0;}

/* ===== FOOTER legal row ===== */
.foot-legal{display:flex;flex-wrap:wrap;gap:1.2rem;margin-top:.4rem;}
.foot-legal a{font-size:.82rem;color:rgba(247,243,241,.6);}
.foot-legal a:hover{color:var(--gold-bright);}
