/* Unboxed Practice — Main Stylesheet */
/* unboxedpractice.com */


*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  /* Neutral base — warm earth tones */
  --cream:#f6f2ea;        /* page background */
  --warm-white:#eae3d6;   /* card backgrounds */
  --tan:#e8dccb;          /* section fills */
  --mush:#bcaca8;         /* mushroom — secondary text, subtle mid-tones */
  --mush-l:#e8e2de;       /* light mushroom — very subtle fills */

  /* Primary brand — forest green */
  --forest:#5f6f5b;       /* the authority color: nav, primary CTAs, headings */
  --forest-d:#4a5447;     /* hover, dark text */
  --forest-l:#dde4db;     /* light green tint for badges, pills */

  /* Warm accent — clay, used sparingly */
  --clay:#7a5a54;         /* warm accent: italic em, founder notes, accents */
  --clay-l:#e4d6d3;       /* light clay tint */
  --clay-d:#5a3f3a;       /* dark clay */

  /* Dark ink */
  --brown:#50403b;        /* deep ink, dark headers */
  --ink:#2a1e1a;          /* body text */
  --stone:#8a7570;        /* secondary text */
  --sl:#d8cdc8;           /* subtle dividers */

  /* Keep backward-compat aliases so nothing breaks */
  --terra:var(--clay);
  --terra-d:var(--clay-d);
  --terra-l:var(--clay-l);
  --sage:var(--forest-l);
  --sage-d:var(--forest);
  --sage-l:var(--forest-l);
  --peach:var(--mush);
  --peach-l:var(--mush-l);
  --brown-m:var(--clay);
  --brown-l:var(--mush-l);
  --sand:var(--tan);

  --serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',system-ui,sans-serif;
  --r:4px;--rl:12px;
}
body{font-family:var(--sans);background:var(--cream);color:var(--ink);min-height:100vh;font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;text-size-adjust:100%}
button,input,textarea,select{font-family:var(--sans)}button{cursor:pointer}
a{color:inherit;text-decoration:none}
/* NAV */
nav{display:flex;align-items:center;justify-content:space-between;padding:16px 40px;border-bottom:1px solid var(--tan);background:var(--cream);position:sticky;top:0;z-index:100}
.logo{font-family:var(--serif);font-size:32px;font-weight:500;color:var(--brown);cursor:pointer;letter-spacing:-0.5px}.logo .logo-un{font-style:normal;font-weight:500;color:var(--brown-m)}.logo .logo-boxed{font-style:normal;font-weight:500;color:var(--brown-m)}.logo .logo-practice{color:var(--brown);font-style:normal;font-weight:500}
.nlinks{display:flex;gap:22px;align-items:center}
.nl{font-size:13px;color:var(--stone);cursor:pointer;transition:color .2s}.nl:hover,.nl.on{color:var(--ink)}
.ncta{background:var(--forest);color:var(--cream);border:none;padding:8px 18px;border-radius:100px;font-size:12px;font-weight:500;transition:background .2s}.ncta:hover{background:var(--forest-d)}
/* VIEWS */
.view{display:none}.view.on{display:block}
/* UTILS */
.ey{font-size:12px !important;letter-spacing:2px;text-transform:uppercase;color:var(--forest);margin-bottom:12px;font-weight:500}
.inner{max-width:1040px;margin:0 auto;padding:64px 40px}
.stitle{font-family:var(--serif);font-size:38px;font-weight:500;line-height:1.15;margin-bottom:36px}.stitle em{color:var(--clay);font-style:italic}
.pill{background:var(--tan);color:var(--brown-m);font-size:11px;padding:3px 10px;border-radius:100px;font-weight:500}
.pill-t{background:var(--mush-l);color:var(--brown)}.pill-sage{background:var(--sage-l);color:var(--sage-d)}.pill-br{background:var(--brown);color:var(--cream)}
.btn-p{background:var(--forest);color:white;border:none;padding:12px 28px;border-radius:100px;font-size:14px;font-weight:500;transition:background .2s}.btn-p:hover{background:var(--forest-d)}
.btn-g{background:transparent;color:var(--brown);border:1.5px solid var(--brown);padding:11px 24px;border-radius:100px;font-size:14px;transition:all .2s}.btn-g:hover{background:var(--brown);color:var(--cream)}
.btn-w{background:var(--tan);color:var(--brown);border:none;padding:11px 24px;border-radius:100px;font-size:14px;font-weight:500;transition:all .2s}.btn-w:hover{background:var(--forest-l)}
.pills-row{display:flex;flex-wrap:wrap;gap:5px}
.field{display:flex;flex-direction:column;gap:4px;margin-bottom:14px}
.field label{font-size:11px;font-weight:500;color:var(--brown);letter-spacing:.3px;text-transform:uppercase}
.field .hint{font-size:11px;color:var(--stone);line-height:1.5}
.field input,.field select,.field textarea{border:1px solid var(--sl);border-radius:var(--r);padding:9px 12px;font-size:13px;color:var(--ink);background:var(--cream);transition:border-color .2s;outline:none}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--forest)}
.field textarea{resize:vertical;line-height:1.7}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.radio-group{display:flex;flex-direction:column;gap:6px;margin-top:5px}
.radio-item{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:13px}
.radio-item input{width:14px;height:14px;accent-color:var(--brown);cursor:pointer;flex-shrink:0}
.check-group{display:flex;flex-direction:column;gap:6px;margin-top:5px}
.check-item{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:13px}
.check-item input{width:14px;height:14px;accent-color:var(--brown);cursor:pointer;flex-shrink:0}
.success-view{max-width:500px;margin:64px auto;text-align:center;padding:0 20px}
.sck{width:54px;height:54px;border-radius:50%;background:var(--sage-d);color:white;font-size:19px;display:flex;align-items:center;justify-content:center;margin:0 auto 18px}
.success-view h1{font-family:var(--serif);font-size:38px;font-weight:500;margin-bottom:11px}
.success-view p{font-size:14px;color:var(--stone);line-height:1.8;margin-bottom:22px}
.cc2{background:var(--tan);border-radius:var(--rl);padding:16px;text-align:left;margin-bottom:20px}
.cr{display:flex;justify-content:space-between;padding:5px 0;border-bottom:1px solid var(--sl);font-size:13px}.cr:last-child{border-bottom:none}
.cr span:first-child{color:var(--stone)}.cr span:last-child{font-weight:500}

/* HOME */
.hero{max-width:1040px;margin:0 auto;padding:76px 40px 60px;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.h-title{font-family:var(--serif);font-size:38px;line-height:1.1;font-weight:500;margin-bottom:18px}.h-title em{color:var(--clay);font-style:italic}
.h-body{font-size:15px;color:var(--stone);line-height:1.85;margin-bottom:26px;max-width:410px}
.h-actions{display:flex;gap:10px;flex-wrap:wrap}
.excl-bar{background:var(--forest);padding:13px 40px;display:flex;align-items:center;justify-content:center;gap:24px;flex-wrap:wrap}
.es{text-align:center}.es-n{font-family:var(--serif);font-size:24px;font-weight:600;color:var(--cream)}.es-l{font-size:10px;color:rgba(246,242,234,.55);letter-spacing:.4px;margin-top:1px}
.ed{width:1px;height:28px;background:rgba(246,242,234,.2)}
.h-card{background:white;border-radius:var(--rl);padding:22px;border:1px solid var(--tan);position:relative}
.float-b{position:absolute;top:-13px;right:-13px;background:var(--mush-l);border-radius:var(--rl);padding:10px 13px;z-index:2}
.float-b strong{display:block;font-size:17px;font-family:var(--serif);font-weight:600;color:var(--brown)}.float-b span{color:var(--terra-d);font-size:10px}
.ch{display:flex;align-items:center;gap:9px;margin-bottom:10px}
.av-md{width:42px;height:42px;border-radius:50%;background:var(--mush-l);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:14px;font-weight:600;color:var(--brown);flex-shrink:0}
.ch strong{font-family:var(--serif);font-size:15px;font-weight:600;display:block}.ch-sub{font-size:11px;color:var(--stone)}
.c-quote{font-size:13px;color:var(--stone);line-height:1.65;font-family:var(--sans);margin-bottom:11px}
.how-sec{background:var(--tan)}
.how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.how-card{background:var(--cream);border-radius:var(--rl);padding:22px;border:1px solid var(--sl)}
.how-n{font-family:var(--serif);font-size:36px;font-weight:600;color:var(--mush);line-height:1;margin-bottom:9px}
.how-card h3{font-family:var(--serif);font-size:16px;font-weight:600;margin-bottom:6px;color:var(--brown)}.how-card p{font-size:13px;color:var(--stone);line-height:1.7}
.notice-band{background:var(--mush-l);border-bottom:1px solid var(--tan);padding:10px 40px;text-align:center}
.notice-band p{font-size:12px;color:var(--brown);line-height:1.6}

/* DISCOVER */
.disc-hero{max-width:1040px;margin:0 auto;padding:56px 40px 0}
.disc-hero h1{font-family:var(--serif);font-size:38px;font-weight:500;line-height:1.1;margin-bottom:12px}.disc-hero h1 em{color:var(--clay);font-style:italic}
.disc-hero p{font-size:15px;color:var(--stone);line-height:1.85;max-width:640px}
.disc-callout{max-width:1040px;width:calc(100% - 80px);margin:24px auto 0;background:var(--brown);border-radius:var(--rl);padding:22px 26px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.dc-item h4{font-family:var(--serif);font-size:18px;font-weight:600;color:var(--cream);margin-bottom:4px}
.dc-item p{font-size:12px;color:rgba(246,242,234,.65);line-height:1.65}
.disc-shop{max-width:1040px;width:calc(100% - 80px);margin:16px auto 0;background:var(--mush-l);border-radius:var(--rl);padding:16px 20px}
.disc-shop p{font-size:13px;color:var(--brown);line-height:1.75}
.disc-notice{max-width:1040px;width:calc(100% - 80px);margin:12px auto 0;background:var(--mush-l);border:1px solid var(--sl);border-radius:var(--rl);padding:11px 15px;font-size:12px;color:var(--brown);line-height:1.65}
.disc-notice strong{color:var(--brown);font-weight:500}
.fbar{display:flex;gap:5px;flex-wrap:wrap;align-items:center;max-width:1040px;margin:0 auto;padding:18px 40px 0}
.fl{font-size:11px;color:var(--stone);font-weight:500;margin-right:3px}
.fb{background:white;border:1px solid var(--sl);color:var(--brown-m);padding:5px 11px;border-radius:100px;font-size:11px;font-weight:500;transition:all .15s}.fb:hover,.fb.on{background:var(--brown);color:var(--cream);border-color:var(--brown)}
.cgw{background:var(--tan);margin-top:22px;padding:28px 40px}
.cg{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:1040px;margin:0 auto}
.cc{background:white;border-radius:var(--rl);overflow:hidden;border:1px solid var(--sl);cursor:pointer;transition:transform .2s,box-shadow .2s}
.cc:hover{transform:translateY(-3px);box-shadow:0 10px 28px rgba(80,64,59,.12)}
.cc-img{background:var(--tan);height:136px;display:flex;align-items:center;justify-content:center;position:relative}
.av-xl{width:60px;height:60px;border-radius:50%;background:var(--mush-l);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:20px;font-weight:600;color:var(--brown)}
.vbadge{position:absolute;bottom:8px;right:8px;background:rgba(42,30,26,.72);color:white;font-size:10px;padding:2px 7px;border-radius:100px;display:flex;align-items:center;gap:3px}
.pdot{width:0;height:0;border-style:solid;border-width:3px 0 3px 5px;border-color:transparent transparent transparent white}
.cc-body{padding:13px}
.cc-body h3{font-family:var(--serif);font-size:16px;font-weight:600;margin-bottom:1px;color:var(--brown)}
.cc-tag{font-size:11px;color:var(--stone);margin-bottom:7px;line-height:1.4}
.outside-b{font-size:10px;background:var(--forest-l);color:var(--forest);padding:2px 7px;border-radius:100px;font-weight:500;display:inline-block;margin-bottom:6px}
.cc-meta{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--tan);padding-top:7px;margin-top:6px}
.av-sm{font-size:10px;color:var(--sage-d);font-weight:500;display:flex;align-items:center;gap:3px}
.adot{width:6px;height:6px;background:#7AB648;border-radius:50%}
.cred-b{font-size:10px;background:var(--forest-l);color:var(--forest);padding:2px 7px;border-radius:100px;font-weight:500}

/* PROFILE */
.pb{max-width:1040px;margin:0 auto;padding:14px 40px 0;font-size:12px;color:var(--stone);cursor:pointer}.pb:hover{color:var(--terra)}
.ph{max-width:1040px;margin:0 auto;padding:28px 40px 0;display:grid;grid-template-columns:1fr 1.1fr;gap:48px;align-items:start}
.av-lg{width:70px;height:70px;border-radius:50%;background:var(--mush-l);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:24px;font-weight:600;color:var(--brown);margin-bottom:13px}
.pname{font-family:var(--serif);font-size:38px;font-weight:500;margin-bottom:5px;color:var(--brown)}
.ptag{font-size:14px;color:var(--stone);margin-bottom:14px;line-height:1.65}
.outside-notice{background:var(--forest-l);border:1px solid var(--forest);border-radius:var(--rl);padding:11px 14px;margin-bottom:12px;font-size:12px;color:var(--sage-d);line-height:1.6}
.outside-notice strong{font-weight:600;display:block;margin-bottom:1px;color:var(--forest-d)}
.founder-note{background:var(--mush-l);border-radius:var(--rl);padding:14px 16px;margin-bottom:12px;border-left:3px solid var(--clay)}
.fn-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.8px;color:var(--clay);margin-bottom:5px}
.founder-note p{font-size:13px;color:var(--clay-d);line-height:1.7;font-family:var(--sans)}
.fn-sig{font-size:11px;color:var(--clay);margin-top:6px;font-weight:500}
.vbadge2{display:flex;align-items:flex-start;gap:9px;background:var(--tan);border:1px solid var(--sl);border-radius:var(--rl);padding:10px 13px}
.bc{width:17px;height:17px;border-radius:50%;background:var(--sage-d);color:white;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;flex-shrink:0;margin-top:1px}
.vbadge2 strong{display:block;font-size:12px;color:var(--ink);margin-bottom:1px}.vbadge2 span{font-size:11px;color:var(--stone)}
.vc{background:var(--tan);border-radius:var(--rl);aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;border:1px solid var(--sl);cursor:pointer;position:relative}
.play-b{width:52px;height:52px;border-radius:50%;background:var(--forest);display:flex;align-items:center;justify-content:center;margin:0 auto 10px;transition:transform .2s,background .2s}.play-b:hover{background:var(--forest-d);transform:scale(1.05)}
.play-i{width:0;height:0;border-style:solid;border-width:7px 0 7px 12px;border-color:transparent transparent transparent white;margin-left:2px}
.vl{font-size:15px;font-weight:600;color:var(--brown);font-family:var(--sans);text-align:center}
.sc-badge{position:absolute;bottom:9px;right:9px;background:rgba(42,30,26,.75);color:white;font-size:10px;padding:2px 8px;border-radius:100px;font-weight:500}
.pbody{max-width:1040px;margin:0 auto;padding:28px 40px 60px;display:grid;grid-template-columns:1fr 290px;gap:44px}
.pa h2{font-family:var(--serif);font-size:21px;font-weight:600;margin-bottom:9px;color:var(--brown)}
.pa p{font-size:13px;color:var(--stone);line-height:1.85;margin-bottom:13px}
.pa h3{font-family:var(--serif);font-size:17px;font-weight:600;margin:19px 0 8px;color:var(--brown)}
.sc{background:var(--tan);border-radius:var(--rl);padding:11px 14px;margin-bottom:6px}
.sc strong{display:block;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--sage-d);margin-bottom:2px}
.sc span{font-size:13px;color:var(--stone)}
.mc-teaser{background:var(--brown);border-radius:var(--rl);padding:15px 17px;margin-top:18px}
.mc-teaser h4{font-family:var(--serif);font-size:16px;font-weight:600;color:var(--cream);margin-bottom:5px}
.mc-teaser p{font-size:12px;color:rgba(246,242,234,.65);line-height:1.6;margin-bottom:10px}
.mc-mini{background:rgba(246,242,234,.08);border-radius:var(--r);padding:9px 11px;display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;cursor:pointer}
.mc-mini:hover{background:rgba(246,242,234,.14)}
.mc-mini-t{font-size:12px;color:var(--cream);font-weight:500}.mc-mini-m{font-size:10px;color:rgba(246,242,234,.5)}.mc-mini-p{font-size:12px;color:var(--peach);font-weight:500}
.bp{background:white;border:1px solid var(--sl);border-radius:var(--rl);padding:20px;position:sticky;top:78px}
.fbadge{display:inline-block;background:var(--forest-l);color:var(--forest);font-size:10px;font-weight:600;padding:2px 8px;border-radius:100px;margin-bottom:6px;letter-spacing:.3px}
.bp h3{font-family:var(--serif);font-size:17px;font-weight:600;margin-bottom:3px;color:var(--brown)}.bp-sub{font-size:12px;color:var(--stone);margin-bottom:13px;line-height:1.55}
.slots{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-bottom:10px}
.slot{border:1px solid var(--sl);border-radius:var(--r);padding:6px;text-align:center;font-size:11px;cursor:pointer;transition:all .15s;color:var(--brown-m)}.slot:hover,.slot.sel{background:var(--brown);color:white;border-color:var(--brown)}.slot.tk{color:var(--sl);cursor:not-allowed;text-decoration:line-through}
.btn-bk{width:100%;background:var(--forest);color:white;border:none;padding:11px;border-radius:100px;font-size:13px;font-weight:500;transition:background .2s;margin-top:3px}.btn-bk:hover{background:var(--forest-d)}
.bn{font-size:11px;color:var(--stone);text-align:center;margin-top:6px;line-height:1.5}

/* MASTERCLASSES */
.mc-hero{max-width:1040px;margin:0 auto;padding:60px 40px 44px;display:grid;grid-template-columns:1.15fr 1fr;gap:52px;align-items:center}
.mc-h1{font-family:var(--serif);font-size:38px;font-weight:500;line-height:1.1;margin-bottom:14px;color:var(--brown)}.mc-h1 em{color:var(--terra);font-style:italic}
.mc-body{font-size:14px;color:var(--stone);line-height:1.85;margin-bottom:20px}
.mc-stats{display:flex;gap:20px;margin-bottom:24px;flex-wrap:wrap}
.mc-stat-n{font-family:var(--serif);font-size:26px;font-weight:600;color:var(--forest)}.mc-stat-l{font-size:11px;color:var(--stone);margin-top:1px}
.mc-visual{background:var(--mush-l);border-radius:var(--rl);padding:18px}
.mc-upcoming-lbl{font-size:11px;font-weight:500;color:var(--stone);margin-bottom:11px;letter-spacing:.3px;text-transform:uppercase}
.mc-card-prev{background:white;border-radius:var(--rl);padding:14px;border:1px solid var(--sl);margin-bottom:9px;cursor:pointer;transition:transform .15s}.mc-card-prev:hover{transform:translateY(-2px)}
.mc-card-prev:last-child{margin-bottom:0}
.mc-date-badge{font-size:10px;background:var(--forest-l);color:var(--forest);padding:2px 8px;border-radius:100px;font-weight:500;display:inline-block;margin-bottom:7px}
.mc-card-prev h4{font-family:var(--serif);font-size:15px;font-weight:600;margin-bottom:3px;color:var(--brown)}
.mc-card-prev .mc-host{font-size:11px;color:var(--stone);margin-bottom:7px}
.mc-cf{display:flex;justify-content:space-between;align-items:center}
.mc-price{font-size:13px;font-weight:500;color:var(--forest)}.mc-spots{font-size:11px;color:var(--stone)}
.mc-filters{max-width:1040px;margin:0 auto;padding:0 40px 16px;display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.mc-grid{max-width:1040px;margin:24px auto 0;padding:0 40px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.mc-full-card{background:white;border:1px solid var(--sl);border-radius:var(--rl);overflow:hidden;cursor:pointer;transition:transform .2s,box-shadow .2s}
.mc-full-card:hover{transform:translateY(-3px);box-shadow:0 10px 28px rgba(80,64,59,.1)}
.mc-card-img{background:var(--tan);height:100px;display:flex;align-items:center;justify-content:center;position:relative}
.mc-card-type{position:absolute;top:7px;left:7px;font-size:10px;background:var(--forest-l);color:var(--forest);padding:2px 7px;border-radius:100px;font-weight:500}
.mc-card-body{padding:13px}
.mc-card-body h3{font-family:var(--serif);font-size:14px;font-weight:600;margin-bottom:3px;line-height:1.35;color:var(--brown)}
.mc-card-host{font-size:11px;color:var(--stone);margin-bottom:6px}
.mc-card-desc{font-size:12px;color:var(--stone);line-height:1.6;margin-bottom:9px}
.mc-card-foot{display:flex;justify-content:space-between;align-items:center;padding-top:9px;border-top:1px solid var(--tan)}
.mc-card-price{font-size:13px;font-weight:500;color:var(--ink)}.mc-card-dur{font-size:10px;color:var(--stone)}
.mc-btn{background:var(--forest);color:white;border:none;padding:6px 14px;border-radius:100px;font-size:11px;font-weight:500;transition:background .2s}.mc-btn:hover{background:var(--forest-d)}
.mc-btn-ghost{background:transparent;color:var(--brown-m);border:1px solid var(--sl);padding:6px 12px;border-radius:100px;font-size:11px;font-weight:500;transition:all .15s}.mc-btn-ghost:hover{border-color:var(--terra);color:var(--terra)}
.collective-only-notice{max-width:1040px;margin:0 auto;padding:16px 40px 0;display:flex;align-items:flex-start;gap:12px;background:transparent}
.con-inner{background:var(--brown);border-radius:var(--rl);padding:14px 18px;display:flex;align-items:center;gap:14px;flex:1}
.con-icon{width:20px;height:20px;border-radius:50%;background:var(--forest);color:white;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;flex-shrink:0}
.con-text{font-size:12px;color:rgba(246,242,234,.8);line-height:1.6}
.con-text strong{color:var(--cream)}
.past-sec{max-width:1040px;margin:0 auto;padding:44px 40px 60px}
.past-sec h2{font-family:var(--serif);font-size:24px;font-weight:600;margin-bottom:7px;color:var(--brown)}
.past-sec .past-sub{font-size:13px;color:var(--stone);margin-bottom:22px;line-height:1.65}
.past-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}
.past-card{background:var(--tan);border-radius:var(--rl);padding:15px;position:relative;overflow:hidden}
.past-overlay{position:absolute;inset:0;background:rgba(246,242,234,.72);border-radius:var(--rl);display:flex;align-items:center;justify-content:center}
.lock-btn{background:var(--forest);color:white;border:none;padding:8px 16px;border-radius:100px;font-size:12px;font-weight:500;cursor:pointer;transition:background .2s}.lock-btn:hover{background:var(--forest-d)}
.past-card h4{font-family:var(--serif);font-size:15px;font-weight:600;margin-bottom:3px;color:var(--brown)}
.past-host{font-size:11px;color:var(--stone);margin-bottom:5px}
.past-price{font-size:13px;font-weight:500;color:var(--terra-d)}

/* FOR CLIENTS */
/* FOR PRACTITIONERS */
/* PRICING */
/* INTAKE */
.intake-wrap{max-width:640px;margin:0 auto;padding:52px 40px 64px}
.prog-bar{height:3px;background:var(--sl);border-radius:100px;overflow:hidden;margin-bottom:7px}
.prog-fill{height:100%;background:var(--forest);border-radius:100px;transition:width .4s ease}
.prog-label{font-size:11px;color:var(--stone);margin-bottom:28px}.prog-label span{color:var(--forest);font-weight:500}
.intake-step{display:none}.intake-step.on{display:block}
.step-ey{font-size:12px !important;letter-spacing:2px;text-transform:uppercase;color:var(--terra);margin-bottom:7px;font-weight:500}
.step-title{font-family:var(--serif);font-size:38px;font-weight:500;line-height:1.15;margin-bottom:5px;color:var(--brown)}.step-title em{color:var(--terra);font-style:italic}
.step-sub{font-size:13px;color:var(--stone);line-height:1.75;margin-bottom:26px}
.q-block{margin-bottom:22px}
.q-label{font-size:13px;font-weight:500;color:var(--ink);margin-bottom:3px;line-height:1.5}
.q-hint{font-size:12px;color:var(--stone);margin-bottom:8px;line-height:1.5}
.opt-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.opt{border:1px solid var(--sl);border-radius:var(--rl);padding:10px 12px;cursor:pointer;transition:all .15s;font-size:12px;color:var(--ink);text-align:left;background:white;line-height:1.4}
.opt:hover{border-color:var(--forest);color:var(--forest-d)}.opt.sel{background:var(--forest-l);border-color:var(--forest);color:var(--forest-d);font-weight:500}.opt.sel-f{background:var(--brown);border-color:var(--brown);color:white;font-weight:500}
.opt-single{grid-column:1/-1}
.ita{width:100%;border:1px solid var(--sl);border-radius:var(--r);padding:9px 12px;font-size:13px;color:var(--ink);background:var(--cream);transition:border-color .2s;outline:none;resize:vertical;line-height:1.7}.ita:focus{border-color:var(--forest)}
.intake-nav{display:flex;justify-content:space-between;align-items:center;margin-top:28px;padding-top:18px;border-top:1px solid var(--sl)}
.btn-back{background:transparent;color:var(--stone);border:none;font-size:13px;padding:8px 0;transition:color .2s}.btn-back:hover{color:var(--ink)}
.btn-next{background:var(--forest);color:white;border:none;padding:10px 24px;border-radius:100px;font-size:13px;font-weight:500;transition:background .2s}.btn-next:hover{background:var(--forest-d)}

/* BOOK MATCHING */
.book-wrap{max-width:760px;margin:0 auto;padding:52px 40px 64px}
.book-wrap h1{font-family:var(--serif);font-size:38px;font-weight:500;margin-bottom:10px;color:var(--brown)}.book-wrap h1 em{color:var(--terra);font-style:italic}
.book-sub{font-size:14px;color:var(--stone);line-height:1.8;margin-bottom:28px;max-width:500px}
.book-layout{display:grid;grid-template-columns:1fr 270px;gap:24px;align-items:start}
.cal-card{background:white;border:1px solid var(--sl);border-radius:var(--rl);padding:18px}
.cal-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.cal-hdr h3{font-family:var(--serif);font-size:18px;font-weight:600;color:var(--brown)}
.cal-nav-b{background:var(--tan);border:1px solid var(--sl);border-radius:var(--r);padding:4px 9px;font-size:12px;transition:all .15s}.cal-nav-b:hover{background:var(--forest-l);border-color:var(--forest)}
.cal-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:5px}
.cal-dl{text-align:center;font-size:10px;color:var(--stone);font-weight:500;padding:3px 0}
.cal-dates{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.cal-d{text-align:center;padding:6px 2px;font-size:12px;border-radius:var(--r);cursor:pointer;transition:all .15s;color:var(--ink)}
.cal-d:hover:not(.past):not(.empty){background:var(--forest-l);color:var(--forest-d)}.cal-d.past{color:var(--sl);cursor:not-allowed}.cal-d.empty{cursor:default}.cal-d.sel{background:var(--terra);color:white}.cal-d.hs{font-weight:600}
.time-slots-w{margin-top:16px}.time-slots-w h4{font-size:12px;font-weight:500;margin-bottom:8px;color:var(--brown)}
.time-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px}
.time-slot{border:1px solid var(--sl);border-radius:var(--r);padding:7px;text-align:center;font-size:11px;cursor:pointer;transition:all .15s;color:var(--brown-m)}.time-slot:hover,.time-slot.sel{background:var(--brown);color:white;border-color:var(--brown)}
.book-panel{background:var(--tan);border-radius:var(--rl);padding:18px}
.book-panel h3{font-family:var(--serif);font-size:18px;font-weight:600;margin-bottom:11px;color:var(--brown)}
.bp-row2{display:flex;justify-content:space-between;padding:5px 0;border-bottom:1px solid var(--sl);font-size:12px}
.bp-row2:last-child{border-bottom:none}.bp-row2 span:first-child{color:var(--stone)}.bp-row2 span:last-child{font-weight:500;color:var(--ink)}
.price-lg{font-family:var(--serif);font-size:26px;font-weight:600;color:var(--brown)}
.btn-book-f{width:100%;background:var(--forest);color:white;border:none;padding:12px;border-radius:100px;font-size:13px;font-weight:500;transition:background .2s;margin-top:10px}.btn-book-f:hover{background:var(--forest-d)}.btn-book-f:disabled{opacity:.4;cursor:not-allowed}
.cal-note{font-size:11px;color:var(--stone);text-align:center;margin-top:8px;line-height:1.55}

/* APPLICATION */
.app-hero{max-width:640px;margin:0 auto;padding:52px 40px 28px;text-align:center}
.app-hero h1{font-family:var(--serif);font-size:38px;font-weight:500;line-height:1.1;margin-bottom:11px;color:var(--brown)}.app-hero h1 em{color:var(--terra);font-style:italic}
.app-hero p{font-size:14px;color:var(--stone);line-height:1.8}
.screen-notice{max-width:640px;margin:0 auto 18px;padding:0 40px}
.sn-inner{background:var(--brown);border-radius:var(--rl);padding:15px 19px;display:flex;gap:11px;align-items:flex-start}
.sn-icon{width:19px;height:19px;border-radius:50%;background:var(--forest);color:white;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;flex-shrink:0;margin-top:1px}
.sn-text strong{display:block;font-size:13px;color:var(--cream);margin-bottom:2px}
.sn-text span{font-size:12px;color:rgba(246,242,234,.7);line-height:1.6}
.app-form{max-width:640px;margin:0 auto;padding:0 40px 60px}
.fs-title{font-family:var(--serif);font-size:18px;font-weight:600;margin-bottom:13px;padding-bottom:8px;border-bottom:1px solid var(--sl);margin-top:32px;color:var(--brown)}.app-form>.fs-title:first-child{margin-top:0}
.mod-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-top:5px}
.mod-btn{background:var(--tan);border:1px solid var(--sl);color:var(--brown-m);padding:5px 10px;border-radius:100px;font-size:11px;transition:all .15s;text-align:left}.mod-btn:hover{border-color:var(--terra);color:var(--terra-d)}.mod-btn.on{background:var(--forest);border-color:var(--forest);color:var(--cream)}
.add-mods{margin-top:7px}
.add-mods label{font-size:11px;color:var(--stone);display:block;margin-bottom:3px}
.add-mods input{width:100%;border:1px solid var(--sl);border-radius:var(--r);padding:7px 11px;font-size:12px;color:var(--ink);background:var(--cream);outline:none;transition:border-color .2s}.add-mods input:focus{border-color:var(--terra)}
.toggle-row{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--tan);border-radius:var(--r);margin-bottom:8px;cursor:pointer}
.toggle-sw{width:32px;height:18px;border-radius:100px;background:var(--sl);position:relative;transition:background .2s;flex-shrink:0}
.toggle-sw.on{background:var(--forest)}
.toggle-kn{width:12px;height:12px;border-radius:50%;background:white;position:absolute;top:3px;left:3px;transition:left .2s}
.toggle-sw.on .toggle-kn{left:17px}
.toggle-lbl{font-size:13px;color:var(--ink)}
.ip-fields{display:none;margin-top:4px}.ip-fields.show{display:block}
.submit-row{display:flex;flex-direction:column;align-items:center;gap:9px;margin-top:8px}
.submit-note{font-size:11px;color:var(--stone);text-align:center;line-height:1.65}

/* PRICING sections */
.pricing-wrap{max-width:1040px;margin:0 auto;padding:60px 40px}
.price-card{background:white;border:1px solid var(--sl);border-radius:var(--rl);padding:24px}
.price-card.featured{border:2px solid var(--forest);position:relative}
.price-badge{position:absolute;top:-10px;left:50%;transform:translateX(-50%);background:var(--forest);color:white;font-size:10px;font-weight:600;padding:2px 11px;border-radius:100px;white-space:nowrap;letter-spacing:.4px}
.price-tier{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--forest);font-weight:600;margin-bottom:7px}
.price-amount{font-family:var(--serif);font-size:42px;font-weight:600;color:var(--ink);line-height:1;margin-bottom:3px}
.price-amount span{font-size:14px;font-weight:400;color:var(--stone)}
.price-sub{font-size:12px;color:var(--stone);margin-bottom:15px}
.pf{display:flex;gap:7px;font-size:12px;margin-bottom:8px}
.pf-c{color:var(--forest);font-weight:600;flex-shrink:0}.pf-x{color:var(--sl);flex-shrink:0}
.collective-section{background:var(--forest);border-radius:var(--rl);padding:28px;margin-top:28px}
.pricing-banner{background-image:url('../pricing-bg.jpg');background-size:cover;background-position:center;border-radius:var(--rl);margin-top:28px;position:relative;overflow:hidden}
.pricing-banner::before{content:'';position:absolute;inset:0;background:rgba(30,24,20,.62)}
.pricing-banner-inner{position:relative;z-index:1;padding:60px 48px;text-align:center;max-width:720px;margin:0 auto}
.pricing-banner-h{font-family:var(--serif);font-size:38px;font-weight:500;color:var(--cream);line-height:1.2;margin-bottom:20px}
.pricing-banner-p{font-family:var(--sans);font-size:15px;color:rgba(246,242,234,.82);line-height:1.85;margin-bottom:30px}
.pricing-banner-btn{background:transparent;border:1.5px solid var(--cream);color:var(--cream);padding:12px 36px;border-radius:100px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;font-family:var(--sans)}
.pricing-banner-btn:hover{background:var(--cream);color:var(--brown)}
.collective-section h3{font-family:var(--serif);font-size:24px;font-weight:500;color:var(--cream);margin-bottom:8px}
.collective-section p{font-size:13px;color:rgba(246,242,234,.7);line-height:1.75;margin-bottom:18px}
.cr-feats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:18px}
.cr-feat-item{background:rgba(246,242,234,.07);border-radius:var(--r);padding:12px 14px}
.cr-feat-item h4{font-family:var(--serif);font-size:14px;font-weight:600;color:var(--cream);margin-bottom:3px}
.cr-feat-item p{font-size:11px;color:rgba(246,242,234,.6);line-height:1.6}

/* ═══════════════════════════════════════════════════════════
   MOBILE RESPONSIVE — full coverage for all pages
   Breakpoints: 768px (tablet) and 480px (phone)
   ═══════════════════════════════════════════════════════════ */

/* ── HAMBURGER MENU (hidden on desktop) ─────────────────── */
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px;background:none;border:none}
.hamburger span{display:block;width:22px;height:2px;background:var(--brown);border-radius:2px;transition:all .3s}
.mobile-menu{display:none;position:fixed;inset:0;background:var(--cream);z-index:200;flex-direction:column;align-items:center;justify-content:center;gap:28px}
.mobile-menu.open{display:flex}
.mobile-menu .nl{font-size:20px;font-family:var(--serif);color:var(--brown)}
.mobile-menu .ncta{font-size:16px;padding:12px 32px}
.mobile-close{position:absolute;top:20px;right:20px;font-size:24px;background:none;border:none;color:var(--brown);cursor:pointer}

@media(max-width:768px){
  /* NAV */
  nav{padding:14px 20px}
  .nlinks{display:none}
  .hamburger{display:flex}
  .logo{font-size:26px}

  /* INNER WRAPPER */
  .inner{padding:48px 20px}

  /* HOME HERO */
  .hero{grid-template-columns:1fr !important;gap:32px !important;padding:48px 20px 40px !important}
  .h-title{font-size:30px !important}
  .h-body{font-size:14px !important;max-width:100% !important}
  .h-actions{flex-direction:column !important;align-items:stretch !important}
  .h-actions button{text-align:center !important}
  .float-b{display:none}
  .h-card{display:none}

  /* EXCLUSIVITY BAR */
  .excl-bar{padding:12px 20px !important;gap:14px !important;justify-content:center}
  .es-n{font-size:18px !important}
  .es-l{font-size:9px !important}
  .ed{height:20px !important}

  /* HOW IT WORKS */
  .how-grid{grid-template-columns:1fr !important;gap:12px !important}
  .stitle{font-size:28px !important;margin-bottom:28px !important}

  /* FOUNDER SECTION */
  .hero + div > div[style*="grid-template-columns:1fr 1fr"]{grid-template-columns:1fr !important;gap:32px !important;padding:48px 20px !important}

  /* DISCOVER */
  .disc-hero{padding:40px 20px 0 !important}
  .disc-hero h1{font-size:30px !important;line-height:1.2 !important}
  .disc-callout{width:calc(100% - 40px) !important;margin:20px auto 0 !important;grid-template-columns:1fr !important;gap:14px !important}
  .disc-shop{width:calc(100% - 40px) !important;margin:14px auto 0 !important}
  .disc-notice{width:calc(100% - 40px) !important;margin:12px auto 0 !important}
  .fbar{padding:16px 20px 0 !important;gap:5px !important}
  .cgw{padding:20px 20px !important}
  .cg{grid-template-columns:1fr !important;gap:12px !important}

  /* COACH PROFILE */
  .pb{padding:12px 20px 0 !important}
  .ph{grid-template-columns:1fr !important;gap:24px !important;padding:24px 20px 0 !important}
  .pname{font-size:28px !important}
  .pbody{grid-template-columns:1fr !important;gap:28px !important;padding:24px 20px 48px !important}
  .bp{position:static !important}

  /* MASTERCLASSES */
  .mc-hero{grid-template-columns:1fr !important;gap:28px !important;padding:48px 20px 36px !important}
  .mc-h1{font-size:30px !important}
  .mc-visual{display:none}
  .mc-filters{padding:0 0 14px !important}
  .mc-grid{grid-template-columns:1fr !important;gap:12px !important;padding:0 20px !important}
  .past-sec{padding:36px 20px 48px !important}
  .past-grid{grid-template-columns:1fr !important;gap:12px !important}
  .collective-only-notice{padding:14px 20px 0 !important}

  /* FOR CLIENTS */
  #v-clients .inner{padding:48px 20px !important}
  #v-clients .inner > div[style*="grid-template-columns:repeat(3"]{grid-template-columns:1fr !important;gap:12px !important}

  /* FOR PRACTITIONERS */
  #v-coaches > div[style*="grid-template-columns:1fr 1fr"]{grid-template-columns:1fr !important;gap:28px !important;padding:48px 20px 0 !important}
  #v-coaches > div[style*="grid-template-columns:1fr 1fr"] + div{padding:0 20px !important}
  .diff-grid-mobile{grid-template-columns:1fr !important}

  /* PSYCHOLOGY TODAY TABLE — extra top spacing from collective room box */
  #v-coaches > div[style*="max-width:1040px;margin:0 auto;padding:64px 40px 0"]{padding:52px 20px 0 !important;margin-top:16px !important}
  #v-coaches div[style*="display:grid;grid-template-columns:1fr 1fr;gap:28px"]{grid-template-columns:1fr !important;gap:20px !important}

  /* COLLECTIVE + PRICING LINKS */
  #v-coaches div[style*="display:grid;grid-template-columns:1fr 1fr;gap:16px"]{grid-template-columns:1fr !important;gap:12px !important;padding:24px 20px 0 !important}

  /* READY TO PRACTICE UNBOXED — fix case mismatch (#7a5a54 lowercase in HTML) */
  #v-coaches div[style*="background:#7a5a54"]{padding:48px 24px !important;margin-top:32px !important}
  #v-coaches div[style*="background:#7a5a54"] h2{font-size:26px !important}

  /* BURNOUT SECTION — cap h2 inside clay box */
  .burnout-wrap h2{font-size:26px !important}
  .burnout-wrap h3{font-size:16px !important}

  /* PRICING — price amount too large inside cards */
  .price-amount{font-size:30px !important}

  /* FOR-CLIENTS STEP BOXES — large serif step numbers (01, 02, 03) */
  div[style*="font-size:36px"]{font-size:24px !important}
  div[style*="font-size:32px"]{font-size:22px !important}

  /* BOX HEADINGS — headings inside any card/box capped smaller than page headings */
  .price-card h2,.price-card h3,
  .grp-card h3,
  .how-card h3,
  .cr-feat-item h4,
  .blog-card h3,
  div[style*="border-radius:var(--rl)"] h2,
  div[style*="border-radius:var(--rl)"] h3{font-size:18px !important}

  /* WHY CREATED — home section bottom grid stacks on mobile */
  .why-created-bottom{grid-template-columns:1fr !important;gap:24px !important}
  .why-created-wrap{padding:48px 20px 40px !important}

  /* BOOK MATCHING — stat boxes stack to single col on small screens */
  #v-book-matching div[style*="grid-template-columns:repeat(3,1fr)"]{grid-template-columns:1fr !important;gap:10px !important}

  /* PRICING */
  .pricing-wrap{padding:48px 20px !important}
  .pricing-wrap > div[style*="grid-template-columns:repeat(3"]{grid-template-columns:1fr !important;gap:14px !important}
  .cr-feats{grid-template-columns:1fr !important;gap:8px !important}

  /* INTAKE */
  .intake-wrap{padding:40px 20px 56px !important}
  .opt-grid{grid-template-columns:1fr !important;gap:6px !important}

  /* BOOK MATCHING */
  .book-wrap{padding:40px 20px 56px !important}
  .book-wrap h1{font-size:30px !important}
  .book-layout{grid-template-columns:1fr !important;gap:18px !important}
  .book-panel{position:static !important}

  /* FOUNDER ABOUT SECTION */
  #v-book-matching div[style*="grid-template-columns:200px 1fr"]{grid-template-columns:1fr !important}
  #v-book-matching div[style*="background:var(--brown);padding:28px 24px"]{padding:22px !important;flex-direction:row !important;gap:16px !important}

  /* APPLICATION */
  .app-hero{padding:40px 20px 24px !important}
  .app-hero h1{font-size:30px !important}
  .screen-notice{padding:0 20px !important}
  .app-form{padding:0 20px 52px !important}
  .form-grid{grid-template-columns:1fr !important;gap:0 !important}
  .mod-grid{grid-template-columns:1fr !important;gap:4px !important}
  .fs-title{font-size:16px !important}

  /* SUCCESS VIEWS */
  .success-view{padding:0 20px !important;margin:48px auto !important}
  .stitle{font-size:30px !important}
  .step-title{font-size:30px !important}
  .success-view h1{font-size:30px !important}
  .pricing-banner-h{font-size:30px}
  .cc2{padding:14px !important}

  /* INLINE-STYLED SERIF HEADINGS — override font-size set directly on h1/h2/h3 elements */
  h1[style*="font-size"],h2[style*="font-size"],h3[style*="font-size"]{font-size:30px !important}

  /* EYEBROW LABELS — lock all uppercase labels to same size */
  .ey,.step-ey,div[style*="text-transform:uppercase"],span[style*="text-transform:uppercase"]{font-size:12px !important}

  /* GENERAL */
  .btn-p,.btn-g,.btn-w{padding:12px 22px !important;font-size:13px !important}
}

@media(max-width:480px){
  .logo{font-size:22px}
  .h-title{font-size:26px !important}
  .stitle{font-size:26px !important}
  .step-title{font-size:26px !important}
  .mc-h1{font-size:26px !important}
  .disc-hero h1{font-size:26px !important}
  .app-hero h1{font-size:26px !important}
  .book-wrap h1{font-size:26px !important}
  .success-view h1{font-size:26px !important}
  .pricing-banner-h{font-size:26px !important}
  /* INLINE-STYLED SERIF HEADINGS — catch all h1/h2/h3 with inline font-size */
  h1[style*="font-size"],h2[style*="font-size"],h3[style*="font-size"]{font-size:24px !important}

  /* BOX + CARD HEADINGS — keep tighter inside containers */
  .burnout-wrap h2{font-size:22px !important}
  .burnout-wrap h3{font-size:15px !important}
  .price-amount{font-size:26px !important}
  div[style*="font-size:36px"]{font-size:20px !important}
  div[style*="font-size:32px"]{font-size:18px !important}
  div[style*="border-radius:var(--rl)"] h2,
  div[style*="border-radius:var(--rl)"] h3{font-size:16px !important}

  /* EYEBROW LABELS — lock all uppercase labels to same size */
  .ey,.step-ey,div[style*="text-transform:uppercase"],span[style*="text-transform:uppercase"]{font-size:11px !important}

  nav{padding:12px 16px}
  .inner{padding:40px 16px}
  .disc-hero{padding:32px 16px 0 !important}
  .app-form{padding:0 16px 48px !important}
  .intake-wrap{padding:32px 16px 48px !important}
  .book-wrap{padding:32px 16px 48px !important}
  .mc-grid{padding:0 16px !important}
  .mc-filters{padding:0 0 12px !important}
  .past-sec{padding:28px 16px 40px !important}
  .cgw{padding:16px 16px !important}
  .fbar{padding:12px 16px 0 !important}
  .pricing-wrap{padding:40px 16px !important}
  .pricing-banner-inner{padding:40px 24px}
  .pricing-banner-h{font-size:26px}
  .pricing-banner-p{font-size:14px}
}


/* ── STRIPE PAYMENT MODALS ─────────────────────────────────── */
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(42,30,26,.55);z-index:300;align-items:center;justify-content:center;padding:20px}
.modal-overlay.open{display:flex}
.modal{background:var(--cream);border-radius:var(--rl);padding:36px;max-width:480px;width:100%;position:relative;max-height:90vh;overflow-y:auto}
.modal h2{font-family:var(--serif);font-size:28px;font-weight:500;color:var(--brown);margin-bottom:8px}
.modal .modal-sub{font-size:13px;color:var(--stone);line-height:1.65;margin-bottom:24px}
.modal-close{position:absolute;top:16px;right:18px;background:none;border:none;font-size:20px;color:var(--stone);cursor:pointer;line-height:1}
.modal-close:hover{color:var(--ink)}
.modal-price{font-family:var(--serif);font-size:40px;font-weight:600;color:var(--brown);margin-bottom:4px}
.modal-price span{font-size:16px;font-weight:400;color:var(--stone)}
.modal-divider{height:1px;background:var(--sl);margin:20px 0}
.modal .field{margin-bottom:14px}
.modal .field label{font-size:11px;font-weight:500;color:var(--forest);letter-spacing:.3px;text-transform:uppercase;display:block;margin-bottom:4px}
.modal .field input{width:100%;border:1px solid var(--sl);border-radius:var(--r);padding:10px 13px;font-size:14px;color:var(--ink);background:white;outline:none;transition:border-color .2s}
.modal .field input:focus{border-color:var(--forest)}
.modal .field textarea{width:100%;border:1px solid var(--sl);border-radius:var(--r);padding:10px 13px;font-size:14px;color:var(--ink);background:white;outline:none;transition:border-color .2s;resize:vertical;font-family:var(--sans);line-height:1.6;min-height:80px}
.modal .field textarea:focus{border-color:var(--forest)}
.stripe-badge{display:flex;align-items:center;justify-content:center;gap:6px;font-size:11px;color:var(--stone);margin-top:12px}
.stripe-lock{font-size:12px}
.intake-session-card{background:var(--tan);border-radius:var(--rl);padding:20px;margin-bottom:20px;border-left:3px solid var(--forest)}
.intake-session-card h4{font-family:var(--serif);font-size:18px;font-weight:600;color:var(--brown);margin-bottom:6px}
.intake-session-card p{font-size:13px;color:var(--stone);line-height:1.65}
.intake-session-card ul{margin-top:8px;padding-left:18px}
.intake-session-card ul li{font-size:13px;color:var(--stone);line-height:1.7}

/* ── EMAIL STRIP ───────────────────────────────────────────── */
.email-strip{position:relative;padding:56px 40px;background:url('../emailfooter-bg.jpg') center/cover no-repeat}
.email-strip::before{content:'';position:absolute;inset:0;background:rgba(80,64,59,.38);pointer-events:none}
.email-strip-inner{position:relative;z-index:1;max-width:680px;margin:0 auto;text-align:center}
.email-strip-eyebrow{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--forest-l);font-weight:600;margin-bottom:16px}
.email-strip-tagline{font-family:var(--serif);font-size:clamp(20px,3vw,26px);font-weight:600;color:var(--cream);line-height:1.35;margin-bottom:8px}
.email-strip-sub{font-size:13px;color:rgba(246,242,234,.55);margin-bottom:28px}
.email-strip-form{display:flex;gap:8px;max-width:420px;margin:0 auto 10px}
.email-strip-input{flex:1;padding:11px 16px;border-radius:var(--r);border:1px solid rgba(246,242,234,.2);background:rgba(246,242,234,.08);color:var(--cream);font-size:14px;outline:none;transition:border .2s}
.email-strip-input::placeholder{color:rgba(246,242,234,.35)}
.email-strip-input:focus{border-color:var(--forest-l)}
.email-strip-success{font-size:14px;color:var(--cream);margin-top:12px;display:none}
.email-strip .btn-p{background:#7a5a54}.email-strip .btn-p:hover{background:#50403b}

/* ── EMAIL SLIDE-IN ─────────────────────────────────────────── */
.email-slide{position:fixed;bottom:28px;right:28px;width:300px;background:var(--cream);border-radius:var(--rl);box-shadow:0 8px 40px rgba(50,40,35,.18);padding:28px 24px 22px;z-index:900;transform:translateY(20px);opacity:0;transition:transform .4s cubic-bezier(.34,1.56,.64,1),opacity .3s ease;pointer-events:none}
.email-slide.visible{transform:translateY(0);opacity:1;pointer-events:auto}
.email-slide-close{position:absolute;top:12px;right:14px;background:none;border:none;font-size:16px;color:var(--stone);cursor:pointer;padding:2px 6px;line-height:1;opacity:.6;transition:opacity .2s}
.email-slide-close:hover{opacity:1}
.email-slide-icon{font-size:20px;color:var(--forest);margin-bottom:10px}
.email-slide-tagline{font-family:var(--serif);font-size:16px;font-weight:600;color:var(--brown);line-height:1.4;margin-bottom:14px}
.email-slide-input{width:100%;padding:10px 14px;border-radius:var(--r);border:1px solid var(--sl);background:white;font-size:13px;color:var(--ink);outline:none;transition:border .2s;box-sizing:border-box;margin-bottom:8px}
.email-slide-input:focus{border-color:var(--forest)}
.email-slide-sub{font-size:11px;color:var(--stone);margin-top:10px;line-height:1.6;opacity:.7}
.email-slide-success{font-size:13px;color:var(--forest);font-weight:500;margin-top:10px;display:none}

@media(max-width:480px){
  .email-slide{width:calc(100vw - 32px);right:16px;bottom:16px}
  .email-strip-form{flex-direction:column}
  .email-strip-input{text-align:center}
}

/* ── FOOTER ────────────────────────────────────────────────── */
footer{background:var(--brown);padding:56px 40px 32px;margin-top:0}
.footer-inner{max-width:1040px;margin:0 auto}
.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:48px;margin-bottom:48px}
.footer-brand .footer-logo{font-family:var(--serif);font-size:22px;font-weight:600;color:var(--cream);margin-bottom:10px;cursor:pointer}
.footer-brand .footer-logo span{color:var(--forest-l)}
.footer-brand p{font-size:13px;color:rgba(246,242,234,.55);line-height:1.75;max-width:260px;margin-bottom:18px}
.footer-social{display:flex;gap:10px}
.social-link{width:34px;height:34px;border-radius:50%;background:rgba(246,242,234,.1);display:flex;align-items:center;justify-content:center;font-size:14px;cursor:pointer;transition:background .2s;text-decoration:none;color:var(--cream)}
.social-link:hover{background:var(--forest)}
.footer-col h4{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--forest-l);font-weight:600;margin-bottom:14px}
.footer-col a,.footer-col span{display:block;font-size:13px;color:rgba(246,242,234,.55);margin-bottom:8px;cursor:pointer;transition:color .2s;text-decoration:none}
.footer-col a:hover,.footer-col span:hover{color:var(--cream)}
.footer-bottom{border-top:1px solid rgba(246,242,234,.1);padding-top:24px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}
.footer-bottom p{font-size:12px;color:rgba(246,242,234,.35)}
.footer-legal{display:flex;gap:20px}
.footer-legal a{font-size:12px;color:rgba(246,242,234,.35);cursor:pointer;text-decoration:none;transition:color .2s}
.footer-legal a:hover{color:rgba(246,242,234,.7)}

@media(max-width:768px){
  footer{padding:40px 20px 24px}
  .footer-top{grid-template-columns:1fr 1fr;gap:28px}
  .footer-brand{grid-column:1/-1}
  .footer-bottom{flex-direction:column;text-align:center}
}
@media(max-width:480px){
  .footer-top{grid-template-columns:1fr}
}



/* ─── SAVE PRACTITIONERS FEATURE ────────────────────────────── */

/* Heart/save button on each practitioner card */
.save-btn{position:absolute;top:8px;right:8px;background:rgba(246,242,234,.92);border:none;border-radius:100px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;z-index:5;transition:all .2s;line-height:1;color:var(--stone)}
.save-btn:hover{background:white;transform:scale(1.12)}
.save-btn.saved{background:var(--clay);color:white}

/* Floating "My List" button */
.my-list-fab{position:fixed;bottom:28px;right:28px;background:var(--brown);color:var(--cream);border:none;border-radius:100px;padding:10px 18px;font-size:13px;font-weight:500;font-family:var(--sans);display:flex;align-items:center;gap:8px;cursor:pointer;z-index:200;box-shadow:0 4px 20px rgba(80,64,59,.28);transition:all .25s;opacity:0;pointer-events:none;transform:translateY(8px)}
.my-list-fab.visible{opacity:1;pointer-events:all;transform:translateY(0)}
.my-list-fab:hover{background:var(--clay)}
.my-list-count{background:var(--clay);color:white;border-radius:100px;min-width:20px;height:20px;padding:0 5px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600}

/* Dim overlay */
.list-overlay{position:fixed;inset:0;background:rgba(42,30,26,.35);z-index:290;opacity:0;pointer-events:none;transition:opacity .3s}
.list-overlay.open{opacity:1;pointer-events:all}

/* Slide-in panel */
.list-panel{position:fixed;right:0;top:0;height:100%;width:380px;max-width:100vw;background:var(--cream);box-shadow:-4px 0 32px rgba(42,30,26,.14);z-index:300;transform:translateX(100%);transition:transform .3s ease;overflow-y:auto;display:flex;flex-direction:column}
.list-panel.open{transform:translateX(0)}
.list-panel-head{padding:20px 22px;border-bottom:1px solid var(--sl);display:flex;align-items:flex-start;justify-content:space-between;flex-shrink:0}
.lp-title{font-family:var(--serif);font-size:18px;font-weight:500;color:var(--brown);margin-bottom:2px}
.lp-sub{font-size:11px;color:var(--stone)}
.list-panel-close{background:none;border:none;font-size:18px;color:var(--stone);cursor:pointer;padding:2px;line-height:1;transition:color .2s}
.list-panel-close:hover{color:var(--ink)}
.list-panel-body{padding:18px 22px;flex:1}

/* Saved practitioner cards inside panel */
.saved-prac-item{border:1px solid var(--sl);border-radius:var(--rl);padding:13px;margin-bottom:9px;background:white}
.saved-prac-name{font-family:var(--serif);font-size:15px;font-weight:600;color:var(--brown);margin-bottom:3px}
.saved-prac-tag{font-size:11px;color:var(--stone);line-height:1.5;margin-bottom:9px}
.saved-prac-row{display:flex;align-items:center;justify-content:space-between}
.saved-prac-remove{background:none;border:none;font-size:11px;color:var(--stone);cursor:pointer;text-decoration:underline;font-family:var(--sans);padding:0}
.saved-prac-remove:hover{color:var(--clay)}
.lp-empty{text-align:center;padding:40px 16px;color:var(--stone)}
.lp-empty-icon{font-size:28px;margin-bottom:12px}
.lp-empty p{font-size:13px;line-height:1.6}

/* Share options at bottom of panel */
.share-section{border-top:1px solid var(--sl);margin-top:6px;padding-top:16px}
.share-label{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--forest);font-weight:500;margin-bottom:12px}
.share-btn{width:100%;background:var(--tan);border:1px solid var(--sl);border-radius:var(--r);padding:10px 14px;font-size:13px;color:var(--brown);cursor:pointer;text-align:left;margin-bottom:8px;display:flex;align-items:center;gap:10px;transition:all .2s;font-family:var(--sans)}
.share-btn:hover{background:var(--forest-l);border-color:var(--forest)}
.share-btn-icon{font-size:15px;width:20px;text-align:center;flex-shrink:0}

/* ─── TESTIMONIALS ───────────────────────────────────────────── */
.tcard{background:var(--warm-white);border-radius:var(--rl);padding:16px 18px;margin-bottom:10px;position:relative}
.tcard-quote{font-size:13px;color:var(--ink);line-height:1.75;font-style:italic;margin-bottom:10px}
.tcard-quote::before{content:'\201C';font-family:var(--serif);font-size:22px;color:var(--clay);line-height:0;vertical-align:-6px;margin-right:2px}
.tcard-quote::after{content:'\201D';font-family:var(--serif);font-size:22px;color:var(--clay);line-height:0;vertical-align:-6px;margin-left:2px}
.tcard-name{font-size:11px;color:var(--stone);font-weight:500;letter-spacing:.3px}


/* ─── ANIMATIONS ─────────────────────────────────────────────── */

/* Keyframes */
@keyframes fadeUp {
  from { opacity:0; transform:translateY(26px); }
  to   { opacity:1; transform:translateY(0); }
}
@keyframes fadeIn {
  from { opacity:0; }
  to   { opacity:1; }
}
@keyframes floatCard {
  0%,100% { transform:translateY(0px); }
  50%     { transform:translateY(-11px); }
}

/* A — Hero entrance: staggered fade-up on page load */
#v-home.on .hero > div:first-child > .ey        { animation:fadeUp .65s ease both .08s; }
#v-home.on .hero > div:first-child > .h-title   { animation:fadeUp .65s ease both .22s; }
#v-home.on .hero > div:first-child > .h-body    { animation:fadeUp .65s ease both .38s; }
#v-home.on .hero > div:first-child > .h-actions { animation:fadeUp .65s ease both .52s; }
#v-home.on .hero > div:last-child               { animation:fadeIn .85s ease both .62s; }

/* B — Scroll reveal */
.reveal       { opacity:0; transform:translateY(28px);   transition:opacity .75s ease, transform .75s ease; }
.reveal.visible { opacity:1; transform:translateY(0); }

.reveal-left  { opacity:0; transform:translateX(-28px);  transition:opacity .75s ease, transform .75s ease; }
.reveal-left.visible  { opacity:1; transform:translateX(0); }

.reveal-right { opacity:0; transform:translateX(28px);   transition:opacity .75s ease, transform .75s ease; }
.reveal-right.visible { opacity:1; transform:translateX(0); }

.reveal-scale { opacity:0; transform:scale(.96);         transition:opacity .7s ease, transform .7s ease; }
.reveal-scale.visible { opacity:1; transform:scale(1); }

.reveal-d1 { transition-delay:.10s; }
.reveal-d2 { transition-delay:.22s; }
.reveal-d3 { transition-delay:.34s; }
.reveal-d4 { transition-delay:.46s; }

/* D — Floating hero card */
.h-card { animation:floatCard 5.5s ease-in-out infinite; }

/* E — Practitioner card stagger entrance */
.cc-enter { animation:fadeUp .52s ease both; }


/* ─── FAQ ACCORDION ──────────────────────────────────────────── */
.faq-wrap{max-width:680px;margin:0 auto;padding:48px 40px 64px}
.faq-list{border-top:1px solid var(--sl)}
.faq-item{border-bottom:1px solid var(--sl)}
.faq-q{width:100%;display:flex;justify-content:space-between;align-items:center;padding:18px 0;cursor:pointer;font-size:14px;font-weight:500;color:var(--brown);background:none;border:none;text-align:left;gap:16px;font-family:var(--sans);line-height:1.4;transition:color .2s}
.faq-q:hover{color:var(--clay)}
.faq-icon{font-size:20px;color:var(--clay);flex-shrink:0;line-height:1;transition:transform .25s ease;font-weight:300}
.faq-item.open .faq-icon{transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .38s ease}
.faq-item.open .faq-a{max-height:600px}
.faq-a-inner{padding-bottom:20px;font-size:13px;color:var(--stone);line-height:1.8}
.faq-a-inner ul{margin-top:8px;padding-left:18px}
.faq-a-inner li{margin-bottom:6px}
.faq-a-inner strong{color:var(--brown)}
@media(max-width:480px){.faq-wrap{padding:32px 16px 48px}.faq-q{font-size:13px}}
@media(max-width:768px){.faq-bg{margin-top:36px!important}}
@media(max-width:768px){br.desk-br{display:none}}
@media(max-width:768px){#mc-upcoming{padding:0 20px !important}}
@media(max-width:480px){#mc-upcoming{padding:0 16px !important}}
@media(max-width:768px){.faq-bg .stitle{font-size:22px!important}}
@media(max-width:480px){.faq-bg .stitle{font-size:20px!important}}

/* ─── GROUP CONTAINERS ───────────────────────────────────────── */
.grp-section{background:var(--cream);padding:64px 0 80px;border-top:2px solid var(--sl);margin-top:24px}
.grp-inner{max-width:1040px;margin:0 auto;padding:0 40px}
.grp-header{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:20px;margin-bottom:36px}
.grp-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.grp-card{background:white;border:1px solid var(--sl);border-radius:var(--rl);padding:28px;display:flex;flex-direction:column;gap:14px;transition:box-shadow .2s}
.grp-card:hover{box-shadow:0 6px 24px rgba(80,64,59,.08)}
.grp-badge{display:inline-block;font-size:10px;letter-spacing:1.3px;text-transform:uppercase;font-weight:600;padding:3px 12px;border-radius:100px;background:var(--tan);color:var(--terra);width:fit-content}
.grp-badge--enrolling{background:var(--forest);color:white}
.grp-badge--full{background:var(--stone);color:white}
.grp-hosts{display:flex;align-items:center;gap:0}
.grp-av{width:34px;height:34px;border-radius:50%;background:var(--terra-l);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:var(--brown);border:2px solid white;flex-shrink:0;margin-right:-8px}
.grp-av:last-of-type{margin-right:0}
.grp-host-info{margin-left:16px}
.grp-host-names{display:block;font-size:13px;font-weight:500;color:var(--brown);line-height:1.4}
.grp-host-mod{display:block;font-size:11px;color:var(--stone);margin-top:1px}
.grp-title{font-family:var(--serif);font-size:20px;font-weight:600;color:var(--brown);line-height:1.25}
.grp-desc{font-size:13px;color:var(--stone);line-height:1.8;flex:1}
.grp-details{display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--sl);padding-top:14px}
.grp-detail-item{font-size:12px;color:var(--stone);padding-left:12px;position:relative}
.grp-detail-item::before{content:'—';position:absolute;left:0;color:var(--terra-l)}
.grp-footer{display:flex;align-items:center;justify-content:space-between;margin-top:4px}
.grp-price{font-family:var(--serif);font-size:22px;font-weight:600;color:var(--brown);line-height:1}
.grp-price span{font-size:12px;font-weight:400;color:var(--stone);font-family:var(--sans);display:block;margin-top:2px}
@media(max-width:768px){.grp-grid{grid-template-columns:1fr}.grp-inner{padding:0 20px}.grp-section{padding:48px 0 60px}.grp-header{flex-direction:column;align-items:flex-start}}

/* ─── COLLABORATIVE CARE TEASER ──────────────────────────────── */
.collab-teaser{margin:44px 40px 0;border-radius:var(--rl);background:linear-gradient(135deg,var(--brown) 0%,#332620 100%);padding:48px 52px;position:relative;overflow:hidden}
.collab-teaser::before{content:'';position:absolute;top:-60px;right:-60px;width:240px;height:240px;border-radius:50%;background:rgba(246,242,234,.04);pointer-events:none}
.collab-teaser::after{content:'';position:absolute;bottom:-40px;left:40%;width:160px;height:160px;border-radius:50%;background:rgba(157,96,74,.12);pointer-events:none}
.collab-badge{display:inline-flex;align-items:center;gap:6px;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;font-weight:600;color:var(--forest-l);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);padding:4px 14px;border-radius:100px;margin-bottom:18px}
.collab-title{font-family:var(--serif);font-size:30px;font-weight:500;color:var(--cream);line-height:1.2;margin-bottom:14px}
.collab-desc{font-size:13px;color:rgba(246,242,234,.65);line-height:1.85;max-width:580px;margin-bottom:28px}
.collab-pills{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.collab-pill{font-size:11px;color:rgba(246,242,234,.5);border:1px solid rgba(246,242,234,.15);padding:4px 12px;border-radius:100px}
.collab-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.collab-notify{font-size:12px;color:rgba(246,242,234,.45);margin-top:10px}
@media(max-width:768px){.collab-teaser{margin:32px 20px 0;padding:32px 28px}.collab-title{font-size:22px}}

/* ─── BLOG / RESOURCES ───────────────────────────────────────── */
.blog-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:36px}
.blog-card{background:white;border:1px solid var(--sl);border-radius:var(--rl);padding:28px;cursor:pointer;transition:box-shadow .2s,transform .2s;display:flex;flex-direction:column}
.blog-card:hover{box-shadow:0 6px 24px rgba(80,64,59,.09);transform:translateY(-2px)}
.blog-cat{font-size:10px;letter-spacing:1.4px;text-transform:uppercase;color:var(--terra);font-weight:600;margin-bottom:10px}
.blog-card-title{font-family:var(--serif);font-size:19px;font-weight:600;color:var(--brown);line-height:1.3;margin-bottom:10px}
.blog-card-excerpt{font-size:13px;color:var(--stone);line-height:1.8;flex:1;margin-bottom:18px}
.blog-card-meta{font-size:11px;color:rgba(80,64,59,.38);display:flex;gap:8px}
.blog-read-more{font-size:12px;color:var(--terra);font-weight:500;margin-top:12px;display:inline-block}

/* Article view */
.article-wrap{max-width:680px;margin:0 auto;padding:48px 40px 80px}
.article-back{background:none;border:none;font-size:13px;color:var(--terra);cursor:pointer;padding:0 0 0 2px;margin-bottom:36px;font-family:var(--sans);font-weight:500;display:flex;align-items:center;gap:4px}
.article-back:hover{color:var(--brown)}
.article-hcat{font-size:10px;letter-spacing:1.4px;text-transform:uppercase;color:var(--terra);font-weight:600;margin-bottom:12px}
.article-h1{font-family:var(--serif);font-size:30px;font-weight:600;color:var(--brown);line-height:1.2;margin-bottom:12px}
.article-hmeta{font-size:12px;color:rgba(80,64,59,.38);padding-bottom:28px;border-bottom:1px solid var(--sl);margin-bottom:36px}
.article-body{font-size:14px;color:var(--stone);line-height:1.9}
.article-body h2{font-family:var(--serif);font-size:20px;font-weight:600;color:var(--brown);margin:34px 0 12px;line-height:1.25}
.article-body p{margin-bottom:18px}
.article-body ul,.article-body ol{padding-left:20px;margin-bottom:18px}
.article-body li{margin-bottom:7px}
.article-body strong{color:var(--brown)}
.article-body em{color:var(--clay);font-style:italic}
.article-body table{width:100%;border-collapse:collapse;margin-bottom:24px;font-size:13px}
.article-body th{text-align:left;padding:10px 12px;background:var(--tan);color:var(--brown);font-weight:600;border:1px solid var(--sl)}
.article-body td{padding:10px 12px;border:1px solid var(--sl);color:var(--stone)}
.article-cta{margin-top:52px;background:var(--tan);border-radius:var(--rl);padding:32px;text-align:center}
.article-cta h3{font-family:var(--serif);font-size:19px;font-weight:600;color:var(--brown);margin-bottom:8px}
.article-cta p{font-size:13px;color:var(--stone);line-height:1.7;margin-bottom:18px}
@media(max-width:768px){.blog-grid{grid-template-columns:1fr}}
@media(max-width:480px){.article-wrap{padding:28px 20px 60px}.article-h1{font-size:22px}.article-body{font-size:13px}}
@media(max-width:768px){.burnout-wrap{padding:60px 24px!important}}
@media(max-width:768px){.burnout-spacer{padding:40px 20px 0!important}}
@media(max-width:768px){.matching-grid{grid-template-columns:1fr!important;gap:36px!important}}
