/* ═══════════════════════════════════════════════════════
   TheraPsych Institute — Shared Design System
   Colors, type, layout, nav, footer, components
═══════════════════════════════════════════════════════ */

:root {
  --ink:        #0E1117;
  --ink-soft:   #3D4150;
  --ink-muted:  #717585;
  --cream:      #FAF8F5;
  --cream-deep: #F3EFE8;
  --white:      #FFFFFF;
  --teal:       #0B6B53;
  --teal-mid:   #1A9B76;
  --teal-lt:    #E4F5EF;
  --gold:       #B07D35;
  --gold-lt:    #FBF5EA;
  --coral:      #C24A2A;
  --coral-lt:   #FAEAE5;
  --purple:     #4A3F9E;
  --purple-lt:  #EEEDFE;
  --border:     #E2DED8;
  --border-mid: #C8C3BB;
  --radius:     12px;
  --radius-lg:  20px;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'DM Sans',sans-serif;background:var(--cream);color:var(--ink);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
img{max-width:100%;display:block;}
a{color:inherit;}
h1,h2,h3,h4,h5{font-family:'Playfair Display',Georgia,serif;line-height:1.2;}

.eyebrow{font-family:'DM Sans',sans-serif;font-size:11px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--teal);margin-bottom:12px;display:block;}
.teal-rule{width:48px;height:3px;background:var(--teal);border-radius:2px;margin:16px 0 0;}

/* ── SITE NAV ── */
.site-nav{background:var(--white);border-bottom:1px solid var(--border);padding:0 24px;display:flex;align-items:center;justify-content:space-between;height:68px;position:sticky;top:0;z-index:100;}
.site-logo{font-family:'Playfair Display',serif;font-size:18px;font-weight:700;color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:10px;}
.site-logo svg{flex-shrink:0;}
.site-logo .tm{color:var(--teal);font-size:.7em;vertical-align:super;margin:0 1px;}
.site-logo-text{white-space:nowrap;}
.site-links{display:flex;gap:28px;align-items:center;}
.site-links > a, .site-links .dropdown > a{font-size:14px;font-weight:500;color:var(--ink-soft);text-decoration:none;transition:color .15s;cursor:pointer;display:inline-flex;align-items:center;gap:4px;}
.site-links > a:hover, .site-links .dropdown > a:hover, .site-links > a.active, .site-links .dropdown > a.active{color:var(--teal);}
.site-links .dropdown{position:relative;}
.site-links .dropdown-menu{position:absolute;top:calc(100% + 8px);left:-12px;background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:8px 0;min-width:240px;box-shadow:0 8px 24px rgba(0,0,0,.08);opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .15s,transform .15s,visibility .15s;z-index:200;}
.site-links .dropdown:hover .dropdown-menu, .site-links .dropdown:focus-within .dropdown-menu{opacity:1;visibility:visible;transform:translateY(0);}
.site-links .dropdown-menu::before{content:'';position:absolute;top:-8px;left:0;right:0;height:8px;}
.site-links .dropdown-menu a{display:block;padding:10px 18px;font-size:13px;color:var(--ink-soft);white-space:nowrap;text-decoration:none;transition:background .12s,color .12s;}
.site-links .dropdown-menu a:hover{background:var(--cream);color:var(--teal);}
.nav-cta{background:var(--teal);color:var(--white) !important;padding:10px 22px;border-radius:8px;font-size:14px;font-weight:600;text-decoration:none;transition:background .2s;white-space:nowrap;}
.nav-cta:hover{background:var(--teal-mid);color:var(--white) !important;}
.nav-hamburger{display:none;background:none;border:none;cursor:pointer;padding:8px;color:var(--ink);}
.nav-hamburger svg{display:block;}

/* Mobile drawer */
.mobile-drawer{position:fixed;top:0;right:0;bottom:0;width:min(340px,86vw);background:var(--white);box-shadow:-12px 0 40px rgba(0,0,0,.12);z-index:300;padding:24px;overflow-y:auto;transform:translateX(100%);transition:transform .25s ease;}
.mobile-drawer.open{transform:translateX(0);}
.mobile-drawer-overlay{position:fixed;inset:0;background:rgba(14,17,23,.4);z-index:299;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s;}
.mobile-drawer-overlay.open{opacity:1;visibility:visible;}
.mobile-close{background:none;border:none;cursor:pointer;padding:6px;color:var(--ink);margin-bottom:16px;}
.mobile-drawer .m-group{border-bottom:1px solid var(--border);padding:14px 0;}
.mobile-drawer .m-group > a, .mobile-drawer .m-group > .m-label{display:block;font-size:15px;font-weight:600;color:var(--ink);text-decoration:none;padding:6px 0;}
.mobile-drawer .m-label{color:var(--ink-muted);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;}
.mobile-drawer .m-sub{padding-left:0;display:flex;flex-direction:column;gap:4px;margin-top:4px;}
.mobile-drawer .m-sub a{font-size:14px;font-weight:400;color:var(--ink-soft);text-decoration:none;padding:6px 0;}
.mobile-drawer .m-sub a:hover{color:var(--teal);}
.mobile-drawer .mobile-cta{display:block;background:var(--teal);color:var(--white);text-align:center;padding:14px;border-radius:8px;font-weight:600;text-decoration:none;margin-top:20px;}

@media(max-width:980px){
  .site-links{display:none;}
  .nav-cta{display:none;}
  .nav-hamburger{display:block;}
}

/* ── BUTTONS ── */
.btn-primary{display:inline-block;background:var(--teal);color:var(--white);padding:16px 32px;border-radius:var(--radius);font-size:15px;font-weight:600;text-decoration:none;transition:background .2s,transform .15s;cursor:pointer;border:none;font-family:'DM Sans',sans-serif;}
.btn-primary:hover{background:var(--teal-mid);transform:translateY(-2px);}
.btn-outline{display:inline-block;background:transparent;color:var(--teal);padding:15px 28px;border-radius:var(--radius);border:1.5px solid var(--teal);font-size:15px;font-weight:600;text-decoration:none;transition:all .2s;cursor:pointer;font-family:'DM Sans',sans-serif;}
.btn-outline:hover{background:var(--teal);color:var(--white);}
.btn-ghost{display:inline-block;background:transparent;color:rgba(255,255,255,.75);padding:15px 28px;border-radius:var(--radius);border:1px solid rgba(255,255,255,.2);font-size:15px;font-weight:500;text-decoration:none;transition:all .2s;}
.btn-ghost:hover{background:rgba(255,255,255,.08);color:var(--white);}
.btn-white{display:inline-block;background:var(--white);color:var(--ink);padding:15px 28px;border-radius:var(--radius);font-size:15px;font-weight:600;text-decoration:none;transition:all .2s;}
.btn-white:hover{background:var(--cream);}

/* ── LAYOUT ── */
.section{padding:88px 24px;}
@media(max-width:760px){.section{padding:64px 20px;}}
.section-inner{max-width:1040px;margin:0 auto;}
.section-inner--wide{max-width:1200px;margin:0 auto;}
.section--white{background:var(--white);}
.section--cream{background:var(--cream);}
.section--cream-deep{background:var(--cream-deep);}
.section--ink{background:var(--ink);}
.section--teal{background:var(--teal);}
.section-header{margin-bottom:56px;}
.section-title{font-size:clamp(26px,4vw,40px);font-weight:700;color:var(--ink);}
.section-subtitle{font-size:17px;color:var(--ink-soft);margin-top:14px;max-width:620px;line-height:1.6;}

/* ── HERO PATTERNS ── */
.page-hero{padding:88px 24px 72px;background:var(--white);border-bottom:1px solid var(--border);position:relative;overflow:hidden;}
.page-hero-inner{max-width:1040px;margin:0 auto;position:relative;}
.page-hero h1{font-size:clamp(34px,5.5vw,58px);font-weight:700;color:var(--ink);margin-bottom:18px;line-height:1.08;}
.page-hero p{font-size:clamp(16px,2vw,19px);color:var(--ink-soft);max-width:720px;line-height:1.7;}
.page-hero-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:36px;}
.meta-pill{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:var(--cream);border:1px solid var(--border);border-radius:100px;font-size:12px;font-weight:500;color:var(--ink-soft);}

/* ── HOME HERO ── */
.home-hero{background:var(--cream);border-bottom:1px solid var(--border);padding:100px 24px 88px;position:relative;overflow:hidden;}
.home-hero::before{content:'';position:absolute;top:-100px;right:-60px;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(11,107,83,.07) 0%,transparent 70%);pointer-events:none;}
.home-hero::after{content:'';position:absolute;bottom:-80px;left:-40px;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,rgba(176,125,53,.05) 0%,transparent 70%);pointer-events:none;}
.home-hero-inner{max-width:1040px;margin:0 auto;position:relative;}
.home-hero h1{font-size:clamp(38px,6vw,68px);font-weight:700;color:var(--ink);margin-bottom:12px;line-height:1.05;}
.home-hero h1 em{color:var(--teal);font-style:normal;}
.home-hero-sub{font-size:clamp(17px,2.2vw,22px);color:var(--ink-soft);font-weight:300;max-width:680px;margin-bottom:36px;line-height:1.55;}
.home-hero-intro{font-size:17px;color:var(--ink-soft);max-width:660px;margin-bottom:40px;line-height:1.75;}
.home-ctas{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:56px;}
.home-trust{display:flex;flex-wrap:wrap;gap:36px;padding-top:40px;border-top:1px solid var(--border);}
.trust-item{display:flex;align-items:center;gap:12px;}
.trust-item .num{font-family:'Playfair Display',serif;font-size:28px;font-weight:700;color:var(--ink);line-height:1;}
.trust-item .label{font-size:13px;color:var(--ink-muted);line-height:1.3;}

/* Product cards (home) */
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
@media(max-width:860px){.product-grid{grid-template-columns:1fr;}}
.product-card{border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border);background:var(--white);transition:border-color .2s,transform .2s;display:flex;flex-direction:column;}
.product-card:hover{border-color:var(--teal);transform:translateY(-4px);}
.product-card-top{padding:32px 28px 20px;}
.product-card-icon{width:52px;height:52px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:20px;}
.product-card h3{font-family:'Playfair Display',serif;font-size:22px;color:var(--ink);margin-bottom:8px;}
.product-card p{font-size:14px;color:var(--ink-muted);line-height:1.6;}
.product-card-list{list-style:none;padding:0 28px 20px;flex:1;}
.product-card-list li{font-size:13px;color:var(--ink-soft);padding:6px 0;border-bottom:1px solid var(--border);display:flex;gap:8px;align-items:flex-start;}
.product-card-list li:last-child{border-bottom:none;}
.product-card-list li::before{content:'→';color:var(--teal);font-weight:600;flex-shrink:0;}
.product-card-footer{padding:20px 28px 28px;}

/* Manifesto strip */
.manifesto{background:var(--ink);color:var(--white);padding:96px 24px;}
.manifesto-inner{max-width:900px;margin:0 auto;text-align:center;}
.manifesto h2{font-family:'Playfair Display',serif;font-size:clamp(28px,4.5vw,44px);color:var(--white);margin-bottom:32px;line-height:1.25;}
.manifesto h2 em{color:var(--teal-mid);font-style:italic;}
.manifesto p{font-size:18px;color:rgba(255,255,255,.7);line-height:1.75;max-width:720px;margin:0 auto 20px;}

/* Tracks (precepting) */
.tracks-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
@media(max-width:860px){.tracks-grid{grid-template-columns:1fr;}}
.track-card{border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border);background:var(--white);display:flex;flex-direction:column;}
.track-header{padding:28px 28px 22px;}
.track-tag{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px;}
.track-header h4{font-family:'Playfair Display',serif;font-size:22px;color:var(--ink);}
.track-body{padding:22px 28px 28px;flex:1;}
.track-body ul{list-style:none;}
.track-body ul li{font-size:14px;color:var(--ink-soft);padding:8px 0;border-bottom:1px solid var(--border);display:flex;gap:8px;align-items:flex-start;}
.track-body ul li:last-child{border-bottom:none;}
.track-body ul li::before{content:'✓';color:var(--teal);font-weight:700;flex-shrink:0;}
.track-footer{padding:0 28px 28px;}

/* Gains (4-up icon list) */
.gain-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;}
@media(max-width:760px){.gain-grid{grid-template-columns:1fr;}}
.gain-item{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:start;padding:24px;background:var(--white);border-radius:var(--radius);border:1px solid var(--border);}
.gain-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0;}
.gain-item h4{font-family:'Playfair Display',serif;font-size:18px;color:var(--ink);margin-bottom:8px;}
.gain-item p{font-size:14px;color:var(--ink-soft);line-height:1.65;}

/* Steps */
.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
@media(max-width:860px){.steps-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.steps-grid{grid-template-columns:1fr;}}
.step-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:24px;}
.step-num{font-family:'Playfair Display',serif;font-size:32px;font-weight:700;color:var(--teal);margin-bottom:12px;line-height:1;}
.step-card h4{font-family:'Playfair Display',serif;font-size:17px;color:var(--ink);margin-bottom:10px;}
.step-card p{font-size:13px;color:var(--ink-soft);line-height:1.65;}

/* Preceptor card */
.preceptor-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:40px;display:grid;grid-template-columns:auto 1fr;gap:36px;align-items:start;}
@media(max-width:640px){.preceptor-card{grid-template-columns:1fr;text-align:center;}}
.preceptor-avatar{width:140px;height:140px;border-radius:50%;background:var(--teal-lt);color:var(--teal);font-family:'Playfair Display',serif;font-size:46px;font-weight:700;display:flex;align-items:center;justify-content:center;border:3px solid var(--teal);}
.preceptor-name{font-family:'Playfair Display',serif;font-size:24px;color:var(--ink);margin-bottom:4px;}
.preceptor-creds{font-size:13px;color:var(--teal);font-weight:600;margin-bottom:18px;}
.preceptor-bio{font-size:15px;color:var(--ink-soft);line-height:1.75;}
.cred-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;}
@media(max-width:640px){.cred-pills{justify-content:center;}}
.cred-pill{font-size:11px;font-weight:600;letter-spacing:.05em;background:var(--teal-lt);color:var(--teal);padding:5px 12px;border-radius:100px;}

/* Inquiry CTA block (dark) */
.inquiry-cta{background:var(--ink);border-radius:var(--radius-lg);padding:64px 56px;text-align:center;}
@media(max-width:640px){.inquiry-cta{padding:48px 28px;}}
.inquiry-cta h3{font-family:'Playfair Display',serif;font-size:clamp(24px,4vw,34px);color:var(--white);margin:14px 0 16px;line-height:1.25;}
.inquiry-cta p{font-size:16px;color:rgba(255,255,255,.65);max-width:560px;margin:0 auto 28px;line-height:1.7;}
.inquiry-cta-btns{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;}

/* Consulting hero card */
.consulting-hero-card{background:var(--ink);border-radius:var(--radius-lg);padding:48px;display:grid;grid-template-columns:1fr auto;gap:36px;align-items:center;color:var(--white);}
@media(max-width:760px){.consulting-hero-card{grid-template-columns:1fr;padding:36px;}}
.consulting-hero-card h2{font-family:'Playfair Display',serif;font-size:clamp(22px,3.2vw,30px);color:var(--white);line-height:1.3;}
.consulting-hero-card p{font-size:15px;color:rgba(255,255,255,.7);line-height:1.7;}

/* Focus cards (consulting) */
.focus-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
@media(max-width:760px){.focus-grid{grid-template-columns:1fr;}}
.focus-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:32px;position:relative;overflow:hidden;}
.focus-accent{position:absolute;top:0;left:0;width:4px;height:100%;}
.focus-card h4{font-family:'Playfair Display',serif;font-size:22px;color:var(--ink);margin-bottom:12px;padding-left:8px;}
.focus-card > p{font-size:14px;color:var(--ink-soft);line-height:1.65;margin-bottom:18px;padding-left:8px;}
.focus-card ul{list-style:none;padding-left:8px;}
.focus-card ul li{font-size:13px;color:var(--ink-soft);padding:7px 0;border-bottom:1px solid var(--border);display:flex;gap:8px;align-items:flex-start;}
.focus-card ul li:last-child{border-bottom:none;}
.focus-card ul li::before{content:'·';color:var(--teal);font-weight:700;flex-shrink:0;}

/* Engagement options */
.engagement-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
@media(max-width:760px){.engagement-grid{grid-template-columns:1fr;}}
.engagement-card{border-radius:var(--radius);border:1px solid var(--border);background:var(--white);display:flex;flex-direction:column;position:relative;}
.engagement-card .eng-head{border-top-left-radius:var(--radius);border-top-right-radius:var(--radius);}
.engagement-card.featured{border:2px solid var(--teal);}
.eng-head{padding:24px 24px 16px;border-bottom:1px solid var(--border);}
.eng-badge{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;background:var(--teal);color:var(--white);padding:3px 10px;border-radius:100px;margin-bottom:10px;}
.eng-head h4{font-family:'Playfair Display',serif;font-size:20px;color:var(--ink);margin-bottom:4px;}
.eng-head p{font-size:13px;color:var(--ink-muted);}
.eng-body{padding:20px 24px 24px;flex:1;display:flex;flex-direction:column;}
.eng-body ul{list-style:none;margin-bottom:20px;flex:1;}
.eng-body ul li{font-size:13px;color:var(--ink-soft);padding:7px 0;border-bottom:1px solid var(--border);display:flex;gap:8px;align-items:flex-start;}
.eng-body ul li:last-child{border-bottom:none;}
.eng-body ul li::before{content:'✓';color:var(--teal);font-weight:700;flex-shrink:0;}

/* Who split */
.who-split{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
@media(max-width:640px){.who-split{grid-template-columns:1fr;}}
.who-card{border-radius:var(--radius);border:1px solid var(--border);padding:28px;background:var(--white);}
.who-tag{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:4px 12px;border-radius:100px;display:inline-block;margin-bottom:14px;}
.who-card h4{font-family:'Playfair Display',serif;font-size:20px;color:var(--ink);margin-bottom:12px;}
.who-card ul{list-style:none;}
.who-card ul li{font-size:14px;color:var(--ink-soft);padding:6px 0;border-bottom:1px solid var(--border);display:flex;gap:8px;align-items:flex-start;}
.who-card ul li:last-child{border-bottom:none;}
.who-card ul li::before{content:'→';color:var(--teal);font-weight:600;flex-shrink:0;}

/* Process */
.process-list{display:flex;flex-direction:column;gap:0;}
.process-item{display:grid;grid-template-columns:auto 1fr;gap:28px;padding:32px 0;border-bottom:1px solid var(--border);align-items:start;}
.process-item:last-child{border-bottom:none;}
.process-num{width:48px;height:48px;border-radius:12px;background:var(--teal-lt);color:var(--teal);font-family:'Playfair Display',serif;font-size:22px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.process-item h4{font-family:'Playfair Display',serif;font-size:19px;color:var(--ink);margin-bottom:8px;}
.process-item p{font-size:15px;color:var(--ink-soft);line-height:1.65;}

/* About hero (shay) */
.about-hero{padding:88px 24px;background:var(--cream);border-bottom:1px solid var(--border);}
.about-hero-inner{max-width:1040px;margin:0 auto;display:grid;grid-template-columns:1fr auto;gap:72px;align-items:center;}
@media(max-width:760px){.about-hero-inner{grid-template-columns:1fr;gap:40px;}}
.about-avatar-wrap{display:flex;flex-direction:column;align-items:center;gap:16px;flex-shrink:0;}
.about-avatar{width:180px;height:180px;border-radius:50%;background:var(--teal-lt);border:4px solid var(--teal);display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-size:60px;font-weight:700;color:var(--teal);}
.about-tagline-badge{background:var(--ink);color:var(--white);border-radius:12px;padding:12px 16px;text-align:center;font-style:italic;font-size:13px;line-height:1.5;max-width:200px;}
.about-hero h1{font-size:clamp(30px,5vw,52px);font-weight:700;color:var(--ink);margin-bottom:6px;}
.about-hero-creds{font-size:14px;color:var(--teal);font-weight:600;margin-bottom:24px;}
.about-hero p{font-size:16px;color:var(--ink-soft);line-height:1.8;margin-bottom:14px;}

/* Credentials grid */
.credentials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
@media(max-width:760px){.credentials-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:480px){.credentials-grid{grid-template-columns:1fr;}}
.cred-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:24px;}
.cred-abbr{font-family:'Playfair Display',serif;font-size:22px;font-weight:700;color:var(--teal);margin-bottom:6px;}
.cred-full{font-size:13px;font-weight:600;color:var(--ink);margin-bottom:4px;}
.cred-desc{font-size:12px;color:var(--ink-muted);line-height:1.5;}

/* Story */
.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;}
@media(max-width:700px){.story-grid{grid-template-columns:1fr;gap:32px;}}
.story-pull{font-family:'Playfair Display',serif;font-size:clamp(20px,3vw,28px);color:var(--teal);line-height:1.35;font-style:italic;padding:28px;background:var(--teal-lt);border-radius:var(--radius);border-left:4px solid var(--teal);}
.story-body p{font-size:16px;color:var(--ink-soft);line-height:1.8;margin-bottom:16px;}
.story-body p:last-child{margin-bottom:0;}

/* Mission card */
.mission-card{background:var(--ink);border-radius:var(--radius-lg);padding:52px;text-align:center;}
@media(max-width:640px){.mission-card{padding:36px 24px;}}
.mission-card h3{font-family:'Playfair Display',serif;font-size:clamp(24px,4vw,36px);color:var(--white);margin-bottom:20px;line-height:1.3;}
.mission-card p{font-size:17px;color:rgba(255,255,255,.65);max-width:640px;margin:0 auto 28px;line-height:1.75;}
.mission-tagline{font-family:'Playfair Display',serif;font-size:20px;color:var(--teal-mid);font-style:italic;}

/* Work-with */
.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
@media(max-width:760px){.work-grid{grid-template-columns:1fr;}}
.work-card{border-radius:var(--radius);border:1px solid var(--border);padding:28px;background:var(--white);transition:border-color .2s,transform .2s;}
.work-card:hover{border-color:var(--teal);transform:translateY(-3px);}
.work-card-icon{font-size:28px;margin-bottom:14px;display:block;}
.work-card h4{font-family:'Playfair Display',serif;font-size:18px;color:var(--ink);margin-bottom:8px;}
.work-card p{font-size:13px;color:var(--ink-muted);line-height:1.6;margin-bottom:16px;}
.work-card a{font-size:13px;font-weight:600;color:var(--teal);text-decoration:none;}
.work-card a:hover{text-decoration:underline;}

/* Pricing card (training detail pages) */
.price-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:40px;text-align:center;}
.price-badge{display:inline-block;background:var(--gold-lt);color:var(--gold);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:5px 14px;border-radius:100px;margin-bottom:18px;}
.price-amount{font-family:'Playfair Display',serif;font-size:54px;color:var(--ink);font-weight:700;line-height:1;}
.price-amount .strike{font-size:24px;color:var(--ink-muted);text-decoration:line-through;font-weight:400;margin-left:10px;vertical-align:middle;}
.price-period{font-size:13px;color:var(--ink-muted);margin:8px 0 24px;}
.price-code{display:inline-block;font-family:'DM Sans',monospace;font-size:13px;font-weight:600;background:var(--teal-lt);color:var(--teal);padding:8px 14px;border-radius:6px;margin-bottom:24px;letter-spacing:.05em;}

/* Module list (training) */
.module-list{display:flex;flex-direction:column;gap:14px;}
.module-row{display:grid;grid-template-columns:60px 1fr auto;gap:20px;align-items:center;background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:20px 24px;}
@media(max-width:640px){.module-row{grid-template-columns:1fr;gap:8px;}}
.module-num{font-family:'Playfair Display',serif;font-size:28px;font-weight:700;color:var(--teal);}
.module-row h4{font-family:'Playfair Display',serif;font-size:17px;color:var(--ink);margin-bottom:4px;}
.module-row p{font-size:13px;color:var(--ink-muted);margin:0;}
.module-meta{font-size:12px;color:var(--ink-muted);font-weight:500;white-space:nowrap;}

/* Store grid */
.store-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
@media(max-width:860px){.store-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.store-grid{grid-template-columns:1fr;}}
.store-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:transform .2s,border-color .2s;display:flex;flex-direction:column;}
.store-card:hover{transform:translateY(-4px);border-color:var(--teal);}
.store-cover{aspect-ratio:4/3;background:linear-gradient(135deg,var(--teal-lt) 0%,var(--cream) 100%);display:flex;align-items:center;justify-content:center;font-size:48px;}
.store-cover.gold{background:linear-gradient(135deg,var(--gold-lt) 0%,var(--cream) 100%);}
.store-cover.purple{background:linear-gradient(135deg,var(--purple-lt) 0%,var(--cream) 100%);}
.store-cover.coral{background:linear-gradient(135deg,var(--coral-lt) 0%,var(--cream) 100%);}
.store-body{padding:24px;flex:1;display:flex;flex-direction:column;}
.store-tag{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--teal);margin-bottom:10px;}
.store-body h4{font-family:'Playfair Display',serif;font-size:18px;color:var(--ink);margin-bottom:8px;line-height:1.3;}
.store-body p{font-size:13px;color:var(--ink-muted);line-height:1.6;margin-bottom:18px;flex:1;}
.store-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;}
.store-price{font-family:'Playfair Display',serif;font-size:22px;font-weight:700;color:var(--ink);}
.store-cta{font-size:13px;font-weight:600;color:var(--teal);text-decoration:none;}
.store-cta:hover{text-decoration:underline;}

/* Contact form */
.contact-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:64px;align-items:start;}
@media(max-width:860px){.contact-layout{grid-template-columns:1fr;gap:40px;}}
.contact-info h3{font-family:'Playfair Display',serif;font-size:22px;color:var(--ink);margin-bottom:18px;}
.contact-info-row{display:flex;align-items:start;gap:14px;padding:18px 0;border-bottom:1px solid var(--border);}
.contact-info-row:last-child{border-bottom:none;}
.contact-info-icon{width:40px;height:40px;background:var(--teal-lt);color:var(--teal);border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.contact-info-row .label{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:4px;}
.contact-info-row .value{font-size:15px;color:var(--ink);font-weight:500;}
.contact-info-row .value a{color:var(--ink);text-decoration:none;}
.contact-info-row .value a:hover{color:var(--teal);}

.contact-form{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:36px;}
.field{margin-bottom:18px;}
.field label{display:block;font-size:13px;font-weight:600;color:var(--ink);margin-bottom:6px;}
.field input, .field select, .field textarea{width:100%;padding:13px 14px;border:1px solid var(--border);border-radius:8px;font-family:'DM Sans',sans-serif;font-size:15px;color:var(--ink);background:var(--cream);transition:border-color .15s,background .15s;}
.field input:focus, .field select:focus, .field textarea:focus{outline:none;border-color:var(--teal);background:var(--white);}
.field textarea{min-height:140px;resize:vertical;}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
@media(max-width:560px){.field-row{grid-template-columns:1fr;}}

/* Retreats */
.retreat-feature{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center;padding:48px;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);}
@media(max-width:860px){.retreat-feature{grid-template-columns:1fr;padding:32px;}}
.retreat-feature.flip{grid-template-columns:1fr 1.1fr;}
.retreat-feature.flip .retreat-visual{order:-1;}
@media(max-width:860px){.retreat-feature.flip{grid-template-columns:1fr;}.retreat-feature.flip .retreat-visual{order:0;}}
.retreat-visual{aspect-ratio:4/3;border-radius:var(--radius);background:linear-gradient(135deg,var(--teal-lt) 0%,var(--gold-lt) 100%);display:flex;align-items:center;justify-content:center;font-size:64px;}
.retreat-visual.costa{background:linear-gradient(135deg,var(--gold-lt) 0%,var(--coral-lt) 100%);}
.retreat-feature h3{font-family:'Playfair Display',serif;font-size:clamp(24px,3.5vw,32px);color:var(--ink);margin-bottom:6px;}
.retreat-feature .retreat-loc{font-size:13px;color:var(--teal);font-weight:600;letter-spacing:.05em;margin-bottom:18px;}
.retreat-feature p{font-size:15px;color:var(--ink-soft);line-height:1.75;margin-bottom:18px;}
.retreat-feature ul{list-style:none;margin-bottom:24px;}
.retreat-feature ul li{font-size:14px;color:var(--ink-soft);padding:6px 0;display:flex;gap:8px;align-items:flex-start;}
.retreat-feature ul li::before{content:'✦';color:var(--gold);font-weight:700;flex-shrink:0;}

/* Section spacing fix for stacked CTA on dark */
section + section{}

/* ── FOOTER ── */
.site-footer{background:var(--ink);padding:56px 24px 32px;}
.footer-inner{max-width:1040px;margin:0 auto;}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;margin-bottom:48px;}
@media(max-width:760px){.footer-grid{grid-template-columns:1fr 1fr;gap:32px;}}
@media(max-width:480px){.footer-grid{grid-template-columns:1fr;}}
.footer-logo{font-family:'Playfair Display',serif;font-size:20px;font-weight:700;color:var(--white);margin-bottom:10px;display:flex;align-items:center;gap:10px;}
.footer-logo .tm{color:var(--teal-mid);font-size:.7em;vertical-align:super;margin:0 1px;}
.footer-logo-text{white-space:nowrap;}
.footer-tagline{font-size:13px;color:rgba(255,255,255,.4);font-style:italic;line-height:1.5;margin-bottom:16px;}
.footer-contact a{display:block;font-size:13px;color:rgba(255,255,255,.5);text-decoration:none;margin-bottom:4px;}
.footer-contact a:hover{color:var(--teal-mid);}
.footer-col h5{font-family:'DM Sans',sans-serif;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.35);margin-bottom:14px;}
.footer-col a{display:block;font-size:13px;color:rgba(255,255,255,.5);text-decoration:none;margin-bottom:8px;transition:color .15s;}
.footer-col a:hover{color:var(--white);}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding-top:24px;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:center;}
.footer-bottom p{font-size:12px;color:rgba(255,255,255,.25);}
.footer-bottom a{font-size:12px;color:rgba(255,255,255,.3);text-decoration:none;}
.footer-bottom a:hover{color:rgba(255,255,255,.6);}

/* Utility */
.text-center{text-align:center;}
.mt-32{margin-top:32px;}
.mt-48{margin-top:48px;}

/* Featured workshop (homepage PMHNP Foundations callout) */
.featured-workshop{display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:start;border:1px solid var(--border);border-radius:var(--radius);padding:48px;background:linear-gradient(180deg,var(--cream) 0%,var(--white) 100%);}
@media(max-width:880px){.featured-workshop{grid-template-columns:1fr;padding:32px 24px;gap:32px;}}
.featured-workshop-text{min-width:0;}
.featured-workshop-meta{display:flex;flex-wrap:wrap;gap:28px;padding-top:20px;border-top:1px solid var(--border);}
.featured-workshop-meta>div{display:flex;flex-direction:column;gap:2px;}
.fw-num{font-family:'Playfair Display',serif;font-size:28px;font-weight:600;color:var(--teal);line-height:1;}
.fw-label{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted);font-weight:600;margin-top:6px;}
.featured-workshop-card{background:var(--white);border:1px solid var(--border);border-left:3px solid var(--gold);border-radius:10px;padding:24px;}
.fw-audience{list-style:none;padding:0;margin:14px 0 0;}
.fw-audience li{font-size:14.5px;line-height:1.55;color:var(--ink-soft);padding:9px 0;border-bottom:1px solid var(--border);}
.fw-audience li:last-child{border-bottom:none;}
.fw-audience li strong{color:var(--ink);font-weight:600;}
.fw-feat-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;}
@media(max-width:640px){.fw-feat-grid{grid-template-columns:1fr;}}
