:root{
  /* Brand: Plum, Gold and Bone */
  --plum:#43084A; --plum-90:#5A2262; --plum-deep:#2E0534; --bone:#F6F1EA; --bone-2:#EDE6DA; --mist:#EFE8EE;
  --seam:#C99A3B; --bronze:#6F4E12; --clay:#9A4A2B; --ink:#2B2528; --muted:#5A5058; --line:#D9CFC6;
  --color-bg:var(--bone); --color-text:var(--ink); --color-focus:var(--plum);

  --font-display:'Zodiak','Georgia',serif;
  --font-body:'Satoshi','Inter','Helvetica Neue',sans-serif;

  --text-xs:clamp(.8125rem,.78rem + .15vw,.875rem);
  --text-sm:clamp(.9375rem,.9rem + .2vw,1rem);
  --text-base:clamp(1rem,.96rem + .2vw,1.125rem);
  --text-lg:clamp(1.125rem,1.02rem + .6vw,1.5rem);
  --text-xl:clamp(1.625rem,1.2rem + 1.8vw,2.625rem);
  --text-3xl:clamp(2.5rem,1.2rem + 4.6vw,4.75rem);

  --s1:.25rem;--s2:.5rem;--s3:.75rem;--s4:1rem;--s5:1.25rem;--s6:1.5rem;--s8:2rem;--s10:2.5rem;--s12:3rem;--s16:4rem;--s24:6rem;
  --r:6px; --wrap:1180px;
}
.wrap{width:min(100% - 2.5rem,var(--wrap));margin-inline:auto}
.skip{position:absolute;left:-999px;top:0;background:var(--plum);color:var(--bone);padding:.75rem 1rem;z-index:100}
.skip:focus{left:1rem;top:1rem}

/* header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(246,241,234,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.hdr{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);min-height:4.25rem}
.wordmark{font-family:var(--font-display);font-weight:400;font-size:1.3rem;letter-spacing:-.01em;color:var(--plum);text-decoration:none;display:flex;align-items:center;gap:.65rem;white-space:nowrap}
.wordmark i{display:none}
.wordmark .logo{width:52px;height:52px;flex:none}
.wordmark i.x{display:inline-block;width:.45rem;height:.45rem;border-radius:50%;background:var(--seam);transform:translateY(-.05rem)}
.nav{display:flex;gap:var(--s6);align-items:center}
.nav a{font-size:var(--text-sm);font-weight:500;text-decoration:none;color:var(--ink);padding:.25rem 0;border-bottom:1px solid transparent;transition:border-color .2s}
.nav a:hover{border-color:var(--seam)}
.hdr-right{display:flex;align-items:center;gap:var(--s3)}
.exit{background:var(--clay);color:#fff;font-weight:700;font-size:var(--text-sm);padding:.6rem 1rem;border-radius:var(--r);display:inline-flex;align-items:center;gap:.5rem;transition:background .2s;min-height:44px;white-space:nowrap}
.exit:hover{background:#7f3a20}
.exit:focus-visible{outline-color:var(--clay)}
.menu-btn{display:none;min-height:44px;padding:0 .9rem;border:1px solid var(--plum);border-radius:var(--r);font-weight:600;font-size:var(--text-sm);color:var(--plum)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;padding:.8rem 1.4rem;border-radius:var(--r);font-weight:700;font-size:var(--text-sm);text-decoration:none;border:1.5px solid var(--plum);transition:background .2s,color .2s}
.btn-primary{background:var(--plum);color:var(--bone)}
.btn-primary:hover{background:var(--plum-90)}
.btn-ghost{color:var(--plum);background:transparent}
.btn-ghost:hover{background:var(--plum);color:var(--bone)}
.btn-on-dark{background:var(--seam);border-color:var(--seam);color:#1B1405}
.btn-on-dark:hover{background:#dbb056}

/* hero */
.hero{display:grid;grid-template-columns:1.05fr 1fr;min-height:min(82vh,780px)}
.hero-img{position:relative;overflow:hidden;background:var(--bone-2)}
.hero-img img{width:100%;height:100%;object-fit:cover;object-position:28% 60%}
.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:var(--s16) clamp(1.25rem,5vw,5rem) var(--s24)}
.eyebrow{font-size:var(--text-xs);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--bronze);display:flex;align-items:center;gap:.7rem;margin-bottom:var(--s5)}
.eyebrow::before{content:"";width:1.75rem;height:2px;background:var(--seam)}
h1{font-family:var(--font-display);font-weight:400;font-size:var(--text-3xl);letter-spacing:-.02em;color:var(--plum);line-height:1.04}
h1 em{font-style:italic;font-weight:400}
.lede{font-size:var(--text-lg);line-height:1.5;color:var(--ink);margin-top:var(--s6);max-width:36ch}
.hero-note{font-size:var(--text-sm);color:var(--muted);margin-top:var(--s5);max-width:46ch}

/* audience doors */
.doors{margin-top:calc(-1 * var(--s12));position:relative;z-index:5}
.doors-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s5)}
.door{display:flex;flex-direction:column;gap:var(--s3);padding:var(--s8);background:#fff;border:1px solid var(--line);border-top:4px solid var(--seam);border-radius:var(--r);text-decoration:none;box-shadow:0 12px 30px -18px rgba(27,58,56,.35);transition:transform .2s,box-shadow .2s}
.door:hover{transform:translateY(-3px);box-shadow:0 18px 36px -18px rgba(67,8,74,.4)}
.door .tag{font-size:var(--text-xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--bronze)}
.door h2{font-family:var(--font-display);font-weight:400;font-size:var(--text-lg);color:var(--plum)}
.door p{font-size:var(--text-sm);color:var(--muted);max-width:44ch}
.door .go{margin-top:auto;font-weight:700;font-size:var(--text-sm);color:var(--plum);display:inline-flex;gap:.5rem;align-items:center;padding-top:var(--s2)}

/* safety strip */
.safety{margin-top:var(--s12);border-block:1px solid var(--line);background:var(--bone-2)}
.safety-in{display:flex;flex-wrap:wrap;gap:var(--s3) var(--s8);align-items:center;padding-block:var(--s5)}
.safety strong{font-family:var(--font-display);font-weight:400;color:var(--plum);font-size:var(--text-base)}
.safety span{font-size:var(--text-sm);color:var(--ink)}
.safety a{font-weight:700}

/* sections */
section.block{padding-block:clamp(4rem,9vw,7.5rem)}
.section-head{max-width:46rem;margin-bottom:var(--s12)}
h2.title{font-family:var(--font-display);font-weight:400;font-size:var(--text-xl);color:var(--plum);letter-spacing:-.015em}
.section-head p{margin-top:var(--s4);color:var(--muted);max-width:60ch}
h3{font-family:var(--font-display);font-weight:400;font-size:var(--text-lg);color:var(--plum);letter-spacing:-.005em}
.two{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:start}
.checks{list-style:none;display:grid;gap:var(--s3);margin-top:var(--s4)}
.checks li{position:relative;padding-left:1.75rem;font-size:var(--text-base)}
.checks li::before{content:"";position:absolute;left:.375rem;top:.6em;width:.5rem;height:.5rem;border-radius:50%;background:var(--seam)}
.card-list{display:grid;gap:var(--s4)}
.method{padding:var(--s5) 0;border-top:1px solid var(--line);display:grid;grid-template-columns:2.25rem 1fr;gap:var(--s4)}
.method .n{font-family:var(--font-display);color:var(--bronze);font-size:var(--text-lg)}
.method h3{font-family:var(--font-body);font-weight:700;font-size:var(--text-base)}
.method p{font-size:var(--text-sm);color:var(--muted);margin-top:.15rem}
.fine{font-size:var(--text-sm);color:var(--muted);border-left:3px solid var(--seam);padding-left:var(--s4);margin-top:var(--s8);max-width:60ch}

/* approach band */
.band{background:var(--plum);color:var(--bone)}
.band .eyebrow{color:#E3C27A}
.band h2.title{color:var(--bone)}
.band .section-head p{color:#CFDAD6}
.threats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s4);margin-top:var(--s8)}
.threats div{border-top:1px solid rgba(246,241,234,.28);padding-top:var(--s4);font-size:var(--text-sm);color:#E9EFEC}
.threats b{display:block;font-family:var(--font-display);font-weight:400;font-size:var(--text-base);color:#fff;margin-bottom:.2rem}
.strengths{margin-top:var(--s12);display:flex;flex-wrap:wrap;gap:var(--s3)}
.strengths span{border:1px solid #E3C27A;color:#F3DFAE;border-radius:999px;padding:.4rem 1rem;font-size:var(--text-sm);font-weight:400}
.strengths-label{margin-top:var(--s12);font-size:var(--text-sm);color:#CFDAD6}

/* practitioners */
.pro{background:var(--mist)}
.roles{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s5);margin-bottom:var(--s12)}
.role{background:var(--bone);border:1px solid var(--line);border-radius:var(--r);padding:var(--s6)}
.role h3{font-size:var(--text-base);font-family:var(--font-body);font-weight:700}
.role p{font-size:var(--text-sm);color:var(--muted);margin-top:var(--s2)}
.offers{display:grid;gap:0;border-top:2px solid var(--plum)}
.offer{display:grid;grid-template-columns:5rem 1.1fr 1.4fr;gap:var(--s6);padding:var(--s8) 0;border-bottom:1px solid var(--line)}
.offer .num{font-family:var(--font-display);font-size:var(--text-xl);color:var(--bronze);line-height:1}
.offer p{font-size:var(--text-sm);color:var(--ink);margin-top:var(--s2)}
.offer ul{list-style:none;display:grid;gap:.5rem}
.offer li{font-size:var(--text-sm);display:grid;grid-template-columns:1rem 1fr;gap:.5rem}
.offer li::before{content:"";width:.35rem;height:.35rem;margin-top:.55rem;background:var(--seam);border-radius:50%}
.pro-photo{margin-top:var(--s12);display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.pro-photo img{border-radius:var(--r);width:100%;aspect-ratio:3/2;object-fit:cover}
.langs{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:var(--s4)}
.langs span{font-size:var(--text-xs);font-weight:600;padding:.3rem .75rem;border-radius:999px;border:1px solid var(--plum);color:var(--plum)}
.langs span.soon{border-style:dashed;border-color:var(--muted);color:var(--muted);font-weight:400}

/* lead + ethics */
.lead-inst{display:grid;grid-template-columns:1fr 1.4fr;gap:clamp(2rem,5vw,5rem)}
.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s4) var(--s8);margin-top:var(--s6)}
.principles div{font-size:var(--text-sm);color:var(--muted);border-top:1px solid var(--line);padding-top:var(--s3)}
.principles b{display:block;color:var(--plum);font-size:var(--text-sm);margin-bottom:.15rem}

/* contact */
.contact{background:var(--bone-2)}
.tabs{display:inline-flex;border:1.5px solid var(--plum);border-radius:var(--r);overflow:hidden;margin-bottom:var(--s8)}
.tabs button{padding:.75rem 1.25rem;font-weight:700;font-size:var(--text-sm);color:var(--plum);min-height:48px}
.tabs button[aria-selected=true]{background:var(--plum);color:var(--bone)}
form{display:grid;gap:var(--s5);max-width:38rem}
label{font-weight:700;font-size:var(--text-sm);display:grid;gap:.4rem}
label small{font-weight:400;color:var(--muted);font-size:var(--text-xs)}
input,select,textarea{background:#fff;border:1.5px solid #B9B09F;border-radius:var(--r);padding:.8rem .9rem;min-height:48px;width:100%}
textarea{min-height:7rem;resize:vertical}
input:focus,select:focus,textarea:focus{outline:2px solid var(--plum);outline-offset:1px;border-color:var(--plum)}
.form-ok{display:none;padding:var(--s4);border-left:3px solid var(--seam);background:#fff;font-size:var(--text-sm);max-width:38rem}
.form-ok.on{display:block}
.privacy{font-size:var(--text-xs);color:var(--muted);max-width:50ch}

.ps{background:var(--mist)}
.ps-grid{align-items:stretch}
.ps-card{background:#fff;border:1px solid var(--line);border-top:4px solid var(--seam);border-radius:var(--r);padding:var(--s8)}
.ps-card h3{margin-bottom:var(--s2)}
.ps-note{margin-top:var(--s8);max-width:70ch;font-size:var(--text-sm);color:var(--muted)}
footer{background:var(--plum-deep);color:#E6DDE8;padding-block:var(--s12)}
.foot{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:var(--s8);font-size:var(--text-sm)}
footer .wordmark{color:var(--bone)}
footer a{color:#E3C27A}
footer p{max-width:42ch;margin-top:var(--s3)}
footer h4{font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:#C2B2C7;margin-bottom:var(--s3)}
footer ul{list-style:none;display:grid;gap:.4rem}
.legal{border-top:1px solid #5a3a62;margin-top:var(--s8);padding-top:var(--s5);font-size:var(--text-xs);color:#C2B2C7}

/* responsive */
@media (max-width:960px){
  .hero{grid-template-columns:1fr;min-height:0}
  .hero-img{aspect-ratio:4/3}
  .hero-copy{padding:var(--s10) 1.25rem var(--s16)}
  .two,.lead-inst,.pro-photo{grid-template-columns:1fr}
  .roles,.threats,.principles{grid-template-columns:1fr}
  .offer{grid-template-columns:3rem 1fr}
  .offer ul{grid-column:1 / -1}
  .foot{grid-template-columns:1fr}
  .menu-btn{display:inline-flex;align-items:center}
  .nav{position:absolute;left:0;right:0;top:100%;background:var(--bone);border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:0;padding:.5rem 1.25rem;display:none}
  .nav.open{display:flex}
  .nav a{padding:.9rem 0;width:100%;border-bottom:1px solid var(--line);font-size:var(--text-base)}
}
@media (max-width:640px){
  .doors-grid{grid-template-columns:1fr}
  .doors{margin-top:calc(-1 * var(--s8))}
  .wordmark{font-size:1rem;gap:.5rem}
  .wordmark .logo{width:36px;height:36px}
  .menu-btn{padding-left:.7rem;padding-right:.7rem}
  .exit{padding:.5rem .7rem;gap:.35rem;font-size:.8125rem}
  .hdr{gap:.5rem}
  .hdr-right{gap:.4rem}
}

/* utilities (no inline styles, for strict CSP) */
.sans-b{font-family:var(--font-body);font-weight:700}
.mt2{margin-top:var(--s2)}.mt3{margin-top:var(--s3)}.mt4{margin-top:var(--s4)}.mt8{margin-top:var(--s8)}.mt16{margin-top:var(--s16)}
.small-muted{font-size:var(--text-sm);color:var(--muted)}

/* inner pages */
.narrow{width:min(100% - 2.5rem,46rem);margin-inline:auto}
.page-head{background:var(--mist);padding-block:clamp(3rem,8vw,6rem) clamp(2rem,5vw,3.5rem);border-bottom:1px solid var(--line)}
.page-h1{font-family:var(--font-display);font-weight:400;font-size:var(--text-2xl,clamp(2rem,1.2rem + 3.2vw,3.5rem));letter-spacing:-.02em;line-height:1.1;color:var(--plum)}
.page-head .lede{max-width:52ch}
.badge{display:inline-block;margin-bottom:var(--s4);padding:.3rem .85rem;border-radius:999px;background:var(--plum);color:var(--bone);font-size:var(--text-xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.draft{margin-top:var(--s5);padding:var(--s3) var(--s4);border-left:4px solid var(--seam);background:#fff;font-size:var(--text-sm);max-width:52ch}
.prose-block{padding-block:clamp(2.5rem,6vw,4.5rem)}
.prose h2{font-family:var(--font-display);font-weight:400;font-size:var(--text-lg);color:var(--plum);margin-top:var(--s10);margin-bottom:var(--s3)}
.prose h2:first-child,.prose .summary h2{margin-top:0}
.prose h3{font-family:var(--font-body);font-weight:700;font-size:var(--text-base);color:var(--plum);margin-top:var(--s5);margin-bottom:var(--s2)}
.prose p{margin-top:var(--s3);max-width:68ch}
.prose .checks{margin-top:var(--s3)}
.prose a{color:var(--plum);text-decoration:underline;text-underline-offset:3px}
.prose .btn{text-decoration:none}
.prose .btn-primary{color:var(--bone)}
.summary{background:#fff;border:1px solid var(--line);border-top:4px solid var(--seam);border-radius:var(--r);padding:var(--s6) var(--s8)}
.btn-row{display:flex;flex-wrap:wrap;gap:var(--s3)}
.legal-links{margin-top:var(--s2);font-size:var(--text-xs);color:#C2B2C7}
.legal-links a{color:#E3C27A}
.legal-links span{margin-inline:.4rem}
html{scroll-behavior:smooth}
.ps-note a{color:var(--plum);text-decoration:underline;text-underline-offset:3px}
@media (max-width:480px){
  .site-header .wordmark{white-space:normal;line-height:1.05;font-size:.98rem;gap:.45rem}
  .site-header .wordmark span{max-width:5.2rem}
  .site-header .wordmark .logo{width:40px;height:40px}
}

.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-err{padding:var(--s4);border-left:3px solid var(--clay,#9A4A2B);background:#fff;font-size:var(--text-sm);max-width:38rem;color:var(--ink)}
.form-err[hidden]{display:none}
button[disabled]{opacity:.6;cursor:progress}

.ig-card{margin-top:var(--s8);padding-top:var(--s6);border-top:1px solid #D9D0C0;max-width:38rem}
.ig-card h3{font-family:var(--font-display);font-weight:400;margin-bottom:var(--s3)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ig-card .privacy{margin-top:var(--s4)}
