/* Real-site pieces on top of v5.css: consultation booking and request form, client portal, rate estimate, confirm page. */
[hidden]{display:none!important}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}

/* consultation */
.cs-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:clamp(28px,4vw,60px);align-items:start}
.cs-main{display:grid;gap:22px}
.cs-card{background:#fff;border:1px solid var(--line);border-radius:26px;padding:clamp(24px,3.4vw,44px)}
.cs-card h2{font-size:clamp(34px,3.2vw,48px);line-height:1.02}
.cs-lead{margin:14px 0 22px;color:var(--ink-2)}
.cs-fine{margin:18px 0 0;font-size:13.5px;color:var(--ink-3)}
.cs-side{position:sticky;top:calc(var(--bar-h) + 96px);display:grid;gap:16px}
.cs-next{background:var(--plum);color:var(--ivory);border-radius:24px;padding:28px}
.cs-next h3{font-size:30px;margin-bottom:14px}
.cs-next ol{margin:0;padding:0;list-style:none;counter-reset:n;display:grid;gap:14px}
.cs-next li{counter-increment:n;position:relative;padding-left:40px;font-size:14.5px;line-height:1.55;color:rgba(247,241,232,.82)}
.cs-next li::before{content:counter(n);position:absolute;left:0;top:0;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:rgba(220,196,156,.18);color:var(--champ);font:600 12.5px/1 var(--sans)}
.cs-next li b{color:var(--ivory)}
.cs-who{display:flex;gap:14px;align-items:center;margin-top:22px;padding-top:20px;border-top:1px solid var(--line-l)}
.cs-who img{width:56px;height:56px;border-radius:50%;object-fit:cover;object-position:50% 12%;background:radial-gradient(closest-side,#cf9ca0,#3a2231)}
.cs-who b{display:block;font-size:14px}
.cs-who a{display:block;font-size:13px;color:var(--champ-2);text-decoration:none}
.cs-crisis{margin:0;padding:16px 18px;border-radius:16px;border:1px solid var(--line);background:var(--ivory-2);font-size:13.5px;color:var(--ink-2)}
.cs-form{display:grid;gap:22px}
.cs-form fieldset{border:0;margin:0;padding:0;display:grid;gap:10px}
.cs-form legend{font-weight:700;font-size:15px;margin-bottom:10px;padding:0}
.cs-form legend small,.fld label small{display:block;font-weight:400;color:var(--ink-3);font-size:13px;margin-top:2px}
.opts{display:flex;flex-wrap:wrap;gap:8px}
.opt{position:relative;cursor:pointer}
.opt input{position:absolute;opacity:0;inset:0;cursor:pointer}
.opt span{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border-radius:999px;border:1px solid rgba(29,21,25,.2);background:var(--ivory);font-size:14.5px;transition:background .25s,border-color .25s,color .25s}
.opt input:checked+span{background:var(--plum);border-color:var(--plum);color:var(--ivory)}
.opt input:focus-visible+span{outline:2px solid var(--rose-deep);outline-offset:3px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.fld{display:grid;gap:6px}
.fld label{font-weight:600;font-size:14.5px}
.fld input,.fld select,.booking input,.booking select{width:100%;min-height:48px;padding:10px 14px;border:1px solid rgba(29,21,25,.22);border-radius:12px;background:#fff;font:inherit;color:var(--ink)}
.fld input:focus,.fld select:focus,.booking input:focus,.booking select:focus{outline:2px solid var(--rose-deep);outline-offset:1px;border-color:transparent}
.check{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;line-height:1.5;color:var(--ink-2);cursor:pointer}
.check input{width:20px;height:20px;margin-top:2px;flex:none;accent-color:var(--plum)}
.cs-privacy{margin:0;padding:16px 18px;border-radius:16px;background:var(--ivory-2);font-size:14px;line-height:1.55;color:var(--ink-2)}
.form-err{margin:0;padding:12px 16px;border-radius:12px;background:#f8e3df;color:#7d2a1e;font-size:14.5px}
.cs-done{padding:26px;border-radius:20px;background:#eef3ea;color:#24402a}
.cs-done h3{font-size:30px;margin-bottom:8px}
.booking{--brand:var(--plum);--brand-ink:var(--ivory)}
.booking .bk{font-size:15px;color:var(--ink-2)}
.booking .bk-types,.booking .bk-times{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.booking .bk-day{margin:16px 0 4px;font-weight:700;color:var(--ink)}
.booking button{font:inherit;font-size:14.5px;cursor:pointer;border:1px solid rgba(42,24,35,.3);background:#fff;color:var(--plum);border-radius:999px;padding:10px 16px;min-height:44px;transition:background .25s,color .25s}
.booking button:hover{border-color:var(--plum)}
.booking button[aria-pressed=true],.booking button.btn{background:var(--plum);color:var(--ivory);border-color:var(--plum)}
.booking form{display:grid;gap:12px;max-width:560px;margin-top:10px}
.booking label{display:grid;gap:6px;font-weight:600;font-size:14.5px}
.booking .bk-check{display:flex;gap:10px;align-items:flex-start;font-weight:400}
.booking .bk-check input{width:20px;height:20px;min-height:0;margin-top:2px;accent-color:var(--plum)}
.booking .bk-fine{font-size:13px;color:var(--ink-3);margin:0}
.booking .sent{background:#eef3ea;color:#24402a;padding:14px 16px;border-radius:14px}
@media (max-width:980px){.cs-grid{grid-template-columns:1fr}.cs-side{position:static}}
@media (max-width:640px){.row2{grid-template-columns:1fr}}

/* client portal */
.pt-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.pt-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:18px}
.pt-card{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:30px;border-radius:24px;background:#fff;border:1px solid var(--line)}
.pt-card h2{font-size:clamp(28px,2.4vw,36px);line-height:1.05}
.pt-card p{margin:0;color:var(--ink-2);font-size:15.5px}
.pt-card .btn{margin-top:auto}
.pt-k{font:600 12px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--rose-deep)}
.pt-ehr{background:var(--plum);border-color:var(--plum);color:var(--ivory)}
.pt-ehr p{color:rgba(247,241,232,.8)}.pt-ehr .pt-k{color:var(--champ)}.pt-ehr .btn.plum{background:var(--champ);color:var(--plum-900)}
.pt-wait{margin-top:auto!important;padding:12px 14px;border-radius:12px;background:rgba(138,74,86,.07);font-size:14px!important}
.pt-ehr .pt-wait{background:rgba(247,241,232,.08)}
.pt-soft{background:var(--ivory-2)}
.pt-safety{background:#fbf3ee}
.pt-pay{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,4vw,60px);align-items:center;margin-top:18px;padding:clamp(26px,3.4vw,44px);border-radius:26px;background:linear-gradient(180deg,#f3e7e0,#efe1da)}
.pt-pay h2{font-size:clamp(34px,3.2vw,50px)}
.pt-pay p{color:var(--ink-2)}
.pt-pay-list{display:grid;gap:10px}
.pt-svc{display:grid;grid-template-columns:1fr auto auto;gap:16px;align-items:center;padding:16px 18px;border-radius:16px;background:#fff}
.pt-svc b{display:block;font:400 24px/1.1 var(--serif)}
.pt-svc small{color:var(--ink-3)}
.pt-svc span{font:300 30px/1 var(--serif);color:var(--plum)}
.pt-alt{margin:6px 0 0;font-size:14px;color:var(--ink-2)}
@media (max-width:980px){.pt-grid{grid-template-columns:1fr}.pt-grid-2{grid-template-columns:1fr}.pt-pay{grid-template-columns:1fr}}

/* sliding scale estimate */
.screener{margin-top:30px;padding:24px;border-radius:20px;background:#fff;border:1px solid var(--line)}
.screener h3{font-size:30px;margin-bottom:6px}
.screener>p{margin:0 0 16px;font-size:14px;color:var(--ink-3)}
.scr-row{display:grid;grid-template-columns:1fr 1.2fr;gap:14px}
.scr-money{position:relative}
.scr-money span{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--ink-3)}
.scr-money input{padding-left:28px}
.scr-out{margin:16px 0 0;padding:14px 16px;border-radius:14px;background:var(--ivory-2);font-size:15px;color:var(--ink-2)}
.scr-out a{color:var(--rose-deep)}
@media (max-width:560px){.scr-row{grid-template-columns:1fr}}

/* appointment confirm page */
.cf-card{max-width:640px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:26px;padding:clamp(26px,4vw,44px);text-align:center}
.cf-card h2{font-size:clamp(32px,3vw,44px);margin-bottom:14px}
.cf-card h3{font-size:24px;margin:26px 0 6px}
.cf-when{display:grid;gap:4px;margin:18px auto;padding:18px;border-radius:18px;background:var(--ivory-2);max-width:420px}
.cf-when b{font:400 26px/1.15 var(--serif)}
.cf-ok{width:56px;height:56px;margin:0 auto 12px;border-radius:50%;display:grid;place-items:center;background:#e3efe0;color:#2f5a33;font-size:26px}
.cf-soft{color:var(--ink-3)}
.cf-reach{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:10px}
.cf-card .btn.accent{background:var(--plum);color:var(--ivory)}
.cf-card .btn.ghost{border:1px solid rgba(29,21,25,.28);color:var(--ink)}

/* privacy */
.priv h3{font-size:clamp(26px,2.2vw,32px);margin:34px 0 10px}
.priv h3:first-child{margin-top:0}

/* footer links */
.site-foot .bot a{color:inherit;text-decoration:underline;text-underline-offset:3px}

/* live site: no preview bar above the header, so the header sits at the very top */
:root{--bar-h:0px}
@media (max-width:760px){:root{--bar-h:0px}}

/* her portrait on phones: larger and centered */
@media (max-width:800px){
  .sig{align-items:center;text-align:center;width:100%;margin-inline:auto}
  .sig-ring{width:min(320px,78vw)}
  .sig figcaption{margin-top:12px}
  .sig figcaption b{font-size:26px}
}

/* her logo: the DF seal beside her name in the header, the full wordmark in the footer */
.wm.has-seal{flex-direction:row;align-items:center;gap:12px}
.wm.has-seal>span{display:flex;flex-direction:column}
.wm-seal{width:48px;height:48px;flex:none;border-radius:50%;background:#1e1118;box-shadow:0 0 0 1px rgba(220,196,156,.35)}
@media (max-width:560px){.wm-seal{width:40px;height:40px}.wm.has-seal{gap:10px}}
.wm-logo{display:inline-block;line-height:0}
.wm-logo img{width:clamp(220px,22vw,280px);height:auto}

/* As featured in: room for a fifth name */
.trust .grp.feat{grid-template-columns:150px repeat(5,minmax(0,1fr))}
.trust .tw-name{justify-self:start;font:700 25px/1 var(--sans);letter-spacing:.02em;color:#000;opacity:.5;transition:opacity .3s}
.trust .tw-name:hover{opacity:1}
.trust-more{display:block;margin-top:8px;font:500 12.5px/1.3 var(--sans);letter-spacing:0;text-transform:none;color:var(--rose-deep);text-decoration:none}
.trust-more:hover{text-decoration:underline}
@media (max-width:900px){.trust .grp.feat{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* fees: the two practice locations */
.loc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:30px}
.loc{background:#fff;border:1px solid var(--line);border-radius:24px;padding:clamp(24px,3vw,36px)}
.loc small{font:600 12px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--rose-deep)}
.loc h3{font-size:clamp(28px,2.6vw,38px);line-height:1.05;margin:12px 0 18px}
.loc dl{margin:0;display:grid;gap:14px}
.loc dt{font:700 11px/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.loc dd{margin:4px 0 0;font-size:16px;color:var(--ink)}
.loc-note{margin:18px 0 0;font-size:15px;color:var(--ink-2)}
@media (max-width:760px){.loc-grid{grid-template-columns:1fr}}

/* podcasts and articles page */
.md-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:30px}
.md-card{display:flex;flex-direction:column;gap:8px;padding:clamp(24px,3vw,34px);border-radius:24px;background:#fff;border:1px solid var(--line);color:var(--ink);text-decoration:none;transition:border-color .3s,transform .3s}
a.md-card:hover{border-color:var(--rose-deep);transform:translateY(-2px)}
.md-type{font:600 12px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--rose-deep)}
.md-card h3{font-size:clamp(26px,2.4vw,34px);line-height:1.08;margin:4px 0 0}
.md-meta{margin:0;font-size:14px;color:var(--ink-3)}
.md-blurb{margin:4px 0 0;font-size:15.5px;color:var(--ink-2)}
.md-go{margin-top:auto;padding-top:10px;font-weight:600;font-size:14.5px;color:var(--plum)}
.md-empty{grid-column:1/-1;margin:0;padding:26px;border-radius:20px;background:var(--ivory-2);color:var(--ink-2)}
@media (max-width:760px){.md-list{grid-template-columns:1fr}}

/* About: credentials list */
.creds{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(28px,4vw,64px);margin:0;border-top:1px solid rgba(247,241,232,.16)}
.creds>div{display:grid;grid-template-columns:170px minmax(0,1fr);gap:18px;padding:18px 0;border-bottom:1px solid rgba(247,241,232,.16)}
.creds dt{font:600 11.5px/1.5 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--champ)}
.creds dd{margin:0;font-size:15.5px;line-height:1.6;color:rgba(247,241,232,.86)}
.sec:not(.dark) .creds>div{border-color:var(--line)}
.sec:not(.dark) .creds dt{color:var(--rose-deep)}
.sec:not(.dark) .creds dd{color:var(--ink-2)}
@media (max-width:980px){.creds{grid-template-columns:1fr}}
@media (max-width:560px){.creds>div{grid-template-columns:1fr;gap:4px}}
/* keep menu labels on one line now that the seal sits beside her name */
.nav>a,.nav .dd>button{white-space:nowrap}
@media (max-width:1320px) and (min-width:1081px){.nav{gap:18px}.head-r .tel{display:none}}
.sec.statement{overflow-x:clip}

/* editable website details */
.tw-names{display:contents}
.trust a.tw-name{text-decoration:none}
.trust .grp.feat{grid-template-columns:150px repeat(auto-fill,minmax(120px,1fr))}
@media (max-width:900px){.trust .grp.feat{grid-template-columns:repeat(3,minmax(0,1fr))}}
.pt-badge:empty{display:none}
.pt-badge{margin-top:28px}
.pt-link{display:inline-flex;align-items:center;gap:14px;padding:14px 20px 14px 14px;border-radius:999px;border:1px solid rgba(220,196,156,.4);color:var(--ivory);text-decoration:none;transition:background .3s}
.pt-link:hover{background:rgba(247,241,232,.06)}
.pt-check{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--champ);color:var(--plum-900);font-size:16px;font-weight:700}
.pt-link b{display:block;font-size:14.5px}
.pt-link small{display:block;font-size:12.5px;color:rgba(247,241,232,.7)}
/* press logos link to their articles */
.trust a.press{display:block;justify-self:start;line-height:0}
.trust a.press img{display:block}
.trust a.press:hover img,.trust a.press:focus-visible img{opacity:1}

/* footer with a Resources column */
.site-foot .top{grid-template-columns:1.4fr 1fr 1fr 1fr 1fr;gap:36px}
@media (max-width:1100px){.site-foot .top{grid-template-columns:1fr 1fr 1fr}.site-foot .top>div:first-child{grid-column:1/-1}}
@media (max-width:640px){.site-foot .top{grid-template-columns:1fr 1fr}}
.dd-panel{max-height:calc(100vh - 120px);overflow:auto}

/* ================= Oct 2026 upgrades ================= */
/* page transitions: a soft fade between pages, like turning a page */
@view-transition{navigation:auto}
::view-transition-old(root){animation:vtOut .35s ease both}
::view-transition-new(root){animation:vtIn .5s ease both}
@keyframes vtOut{to{opacity:0;transform:translateY(-6px)}}
@keyframes vtIn{from{opacity:0;transform:translateY(8px)}}
@media (prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none}}

/* home: Miami at golden hour behind the welcome */
.hero.has-miami{background:var(--plum-900)}
.hero-miami{position:absolute;inset:0;z-index:-2;overflow:hidden;transform-origin:50% 40%;will-change:opacity,transform}
.hero-miami img{width:100%;height:100%;object-fit:cover;object-position:50% 52%;display:block;animation:miamiIn 2.4s ease both}
.hero-miami::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(22,12,18,.86) 0%,rgba(30,17,24,.62) 38%,rgba(42,24,35,.22) 72%,rgba(42,24,35,.12) 100%),linear-gradient(180deg,rgba(30,17,24,.35) 0%,transparent 30%,transparent 62%,rgba(30,17,24,.9) 100%)}
@keyframes miamiIn{from{opacity:0;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}
@media (max-width:760px){.hero-miami::after{background:linear-gradient(180deg,rgba(22,12,18,.55) 0%,rgba(30,17,24,.72) 45%,rgba(30,17,24,.94) 100%)}}
@media (prefers-reduced-motion:reduce){.hero-miami img{animation:none}}

/* new-client status */
.status-pill{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px 10px;margin:18px 0 0;padding:9px 16px 9px 12px;border-radius:999px;font:600 13px/1.3 var(--sans);letter-spacing:.02em;background:rgba(247,241,232,.08);border:1px solid rgba(247,241,232,.2);color:var(--ivory);text-decoration:none;width:max-content;max-width:100%}
.status-pill i{width:8px;height:8px;border-radius:50%;background:#8fd19e;box-shadow:0 0 0 4px rgba(143,209,158,.18)}
.status-pill.st-limited i{background:var(--champ);box-shadow:0 0 0 4px rgba(220,196,156,.2)}
.status-pill.st-waitlist i{background:var(--rose);box-shadow:0 0 0 4px rgba(207,156,160,.22)}
.status-pill span{font-weight:400;opacity:.8}
.hero .ctas+.status-pill,.p-hero .ctas+.status-pill{display:flex}

/* home: the golden thread, the two lights and the drifting feather */
#main{position:relative}
.gold-thread{position:absolute;left:0;top:0;width:100%;z-index:3;pointer-events:none;overflow:visible;opacity:.75}
.gold-thread circle{filter:drop-shadow(0 0 6px rgba(241,223,184,.95))}
.sb-light{position:absolute;left:0;top:0;width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:50%;z-index:2;pointer-events:none;opacity:0;background:radial-gradient(circle,#fff6e3 0%,#ecd6a8 35%,rgba(220,196,156,0) 72%);box-shadow:0 0 22px 8px rgba(236,214,168,.45);transition:opacity .4s}
.sig-ring{transition:filter 1.2s ease}
.sig-ring.sb-met{filter:drop-shadow(0 0 26px rgba(236,214,168,.55))}
.drift-feather{position:fixed;left:0;top:0;width:34px;height:85px;z-index:60;pointer-events:none;opacity:.78;transition:opacity .8s ease;filter:drop-shadow(0 6px 10px rgba(42,24,35,.25))}
.drift-feather svg{width:100%;height:100%;display:block}
@media (max-width:700px){.drift-feather{width:22px;height:56px;opacity:.6}}

/* take a breath */
.br-sec{overflow:hidden}
.breathe{max-width:640px;margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center}
.breathe .kicker{justify-content:center}
.breathe h2{font-size:clamp(38px,4.6vw,64px)!important}
.br-sub{margin:14px 0 0;color:var(--ink-2)}
.br-stage{position:relative;width:min(300px,72vw);aspect-ratio:1;margin:34px 0 26px;display:grid;place-items:center}
.br-ring{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle,rgba(207,156,160,.38) 0%,rgba(220,196,156,.22) 45%,rgba(220,196,156,0) 70%);transform:scale(.55);transition:transform 4s cubic-bezier(.45,.05,.35,1)}
.br-ring::before{content:"";position:absolute;inset:14%;border-radius:50%;border:1px solid rgba(138,74,86,.35)}
.br-dot{position:absolute;inset:34%;border-radius:50%;background:radial-gradient(circle at 40% 35%,#f6e9cf,#dcc49c 60%,#b98e6a);box-shadow:0 18px 40px -16px rgba(42,24,35,.45)}
.breathe.is-in .br-ring{transform:scale(1);transition-duration:4s}
.breathe.is-out .br-ring{transform:scale(.55);transition-duration:6s}
.breathe:not(.is-on) .br-ring{animation:brIdle 6s ease-in-out infinite}
@keyframes brIdle{50%{transform:scale(.62)}}
.br-ring.br-still{animation:none!important}
.br-word{position:relative;margin:0;font:400 clamp(24px,2.4vw,32px)/1.2 var(--serif);color:var(--plum)}
@media (prefers-reduced-motion:reduce){.br-ring{transition-duration:0s!important}}

/* journal */
.j-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.j-card{display:flex;flex-direction:column;border-radius:24px;overflow:hidden;background:#fff;border:1px solid var(--line);color:var(--ink);text-decoration:none;transition:transform .4s var(--ease),box-shadow .4s}
.j-card:hover{transform:translateY(-4px);box-shadow:0 30px 60px -36px rgba(42,24,35,.5)}
.j-img{aspect-ratio:16/10;overflow:hidden;background:var(--plum-700)}
.j-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.j-card:hover .j-img img{transform:scale(1.04)}
.j-txt{padding:22px 24px 26px;display:flex;flex-direction:column;gap:8px;flex:1}
.j-topic{font:600 11.5px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--rose-deep)}
.j-txt h2,.j-txt h3{font:400 clamp(25px,2.2vw,32px)/1.08 var(--serif);margin:2px 0 0}
.j-txt p{margin:0;color:var(--ink-2);font-size:15.5px}
.j-meta{margin-top:auto;padding-top:10px;font-size:13px;color:var(--ink-3)}
.j-grid .j-lead{grid-column:span 2;flex-direction:row}
.j-grid .j-lead .j-img{aspect-ratio:auto;flex:1.2;min-height:340px}
.j-grid .j-lead .j-txt{flex:1;justify-content:center;padding:34px}
.j-grid .j-lead h2{font-size:clamp(32px,3vw,46px)}
.j-topics{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 26px}
.j-topics button{font:500 14px/1 var(--sans);padding:11px 18px;border-radius:999px;border:1px solid rgba(29,21,25,.2);background:transparent;color:var(--ink);cursor:pointer}
.j-topics button[aria-pressed=true]{background:var(--plum);border-color:var(--plum);color:var(--ivory)}
.j-empty{max-width:620px;margin:0 auto;text-align:center;padding:30px 0}
.j-empty .kicker{justify-content:center}
.j-empty h2{font-size:clamp(40px,5vw,72px)!important;margin-bottom:16px}
.j-empty p{color:var(--ink-2);margin:0 0 26px}
.j-home-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:34px}
.j-home h2{font-size:clamp(40px,5vw,76px)!important}
.j-post{max-width:820px;margin:0 auto}
.j-hero{margin:0 0 30px;border-radius:26px;overflow:hidden;aspect-ratio:16/9;box-shadow:0 40px 80px -50px rgba(42,24,35,.6)}
.j-hero img{width:100%;height:100%;object-fit:cover}
.j-byline{display:flex;align-items:center;gap:14px;margin:0 0 34px;font-size:14px;color:var(--ink-3);line-height:1.45}
.j-byline img{width:52px;height:52px;border-radius:50%;object-fit:cover;object-position:50% 14%;background:radial-gradient(closest-side,#cf9ca0,#3a2231)}
.j-byline b{color:var(--ink)}
.j-body{font-size:18.5px}
.j-body p,.j-body li{color:var(--ink-2);font-size:18.5px;line-height:1.75}
.j-body h2{font-size:clamp(32px,3vw,44px)!important;margin:46px 0 14px}
.j-body h3{font-size:clamp(26px,2.4vw,34px);margin:36px 0 10px}
.j-body blockquote{margin:34px 0;padding:6px 0 6px 26px;border-left:2px solid var(--champ);font:300 clamp(24px,2.3vw,32px)/1.35 var(--serif);color:var(--plum)}
.j-body a{color:var(--rose-deep)}
.j-note{margin:44px 0 0;padding:18px 20px;border-radius:16px;background:var(--ivory-2);font-size:14px;color:var(--ink-2)}
.j-share{display:flex;flex-wrap:wrap;gap:12px;margin:30px 0 0}
.j-more{margin-top:80px;padding-top:50px;border-top:1px solid var(--line)}
.j-more .j-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.j-more .j-lead{grid-column:auto;flex-direction:column}
.j-more .j-lead .j-img{min-height:0;aspect-ratio:16/10}
body[data-page="journal"] .p-hero h1 .ln:nth-child(2) span:empty{display:none}
@media (max-width:980px){.j-grid{grid-template-columns:1fr 1fr}.j-grid .j-lead{grid-column:1/-1}}
@media (max-width:640px){.j-grid,.j-more .j-grid{grid-template-columns:1fr}.j-grid .j-lead{flex-direction:column}.j-grid .j-lead .j-img{min-height:0;aspect-ratio:16/10}.j-grid .j-lead .j-txt{padding:22px 24px 26px}.j-home-head{flex-direction:column;align-items:flex-start}}

/* workshops */
.ev-list{display:grid;gap:16px;margin-top:34px}
.ev-card{display:grid;grid-template-columns:110px minmax(0,1fr) 200px;gap:28px;align-items:center;padding:26px 28px;border-radius:26px;background:#fff;border:1px solid var(--line);box-shadow:0 30px 60px -48px rgba(42,24,35,.5)}
.ev-date{aspect-ratio:1;border-radius:20px;display:grid;place-items:center;align-content:center;background:linear-gradient(160deg,var(--plum-700),var(--plum-900));color:var(--ivory)}
.ev-date b{font:300 46px/1 var(--serif);color:var(--champ)}
.ev-date span{font:600 12px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;margin-top:6px}
.ev-kind{margin:0;font:600 11.5px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--rose-deep)}
.ev-main h3{font:400 clamp(28px,2.6vw,38px)/1.05 var(--serif);margin:8px 0}
.ev-when{margin:0;color:var(--ink-2);font-size:15px}
.ev-blurb{margin:12px 0 0;color:var(--ink-2);font-size:15.5px}
.ev-side{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.ev-price{font:300 36px/1 var(--serif);color:var(--plum)}
.ev-left{font-size:13.5px;color:var(--ink-3)}
.ev-empty{padding:clamp(30px,5vw,56px);border-radius:26px;text-align:center;background:radial-gradient(80% 120% at 50% 0%,rgba(207,156,160,.22),transparent 70%),linear-gradient(180deg,#fff,var(--ivory-2));border:1px solid var(--line)}
.ev-empty .kicker{justify-content:center}
.ev-empty h3{font:400 clamp(30px,3vw,44px)/1.08 var(--serif);margin:0 0 10px}
.ev-empty p{margin:0 auto;max-width:48ch;color:var(--ink-2)}
.ev-fine{margin:22px 0 0;font-size:13.5px;color:var(--ink-3)}
.ev-dlg{width:min(520px,calc(100vw - 32px));border:0;border-radius:26px;padding:30px;background:var(--ivory);color:var(--ink);box-shadow:0 40px 100px -30px rgba(22,12,18,.6)}
.ev-dlg::backdrop{background:rgba(22,12,18,.55);backdrop-filter:blur(3px)}
.ev-dlg h3{font:400 clamp(30px,3vw,40px)/1.05 var(--serif);margin:0 0 8px}
.ev-dlg form:not(.ev-x-f){display:grid;gap:14px;margin-top:18px}
.ev-x-f{position:absolute;right:16px;top:16px;margin:0}
.ev-x{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:#fff;font-size:22px;cursor:pointer;color:var(--ink)}
.ev-ok h3{margin-top:14px}
@media (max-width:820px){.ev-card{grid-template-columns:76px minmax(0,1fr);gap:18px;padding:20px}.ev-date b{font-size:32px}.ev-side{grid-column:1/-1;flex-direction:row;align-items:center;flex-wrap:wrap;gap:10px 16px}.ev-side .btn{margin-left:auto}}

/* newsletter and booking forms */
.nl-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,5vw,80px);align-items:start}
.nl-form{display:grid;gap:16px;padding:clamp(24px,3vw,36px);border-radius:26px;background:#fff;border:1px solid var(--line);box-shadow:0 30px 70px -50px rgba(42,24,35,.5)}
.nl-form textarea{width:100%;padding:12px 14px;border:1px solid rgba(29,21,25,.22);border-radius:12px;font:inherit;background:#fff;color:var(--ink);resize:vertical}
.nl-done{margin:0;padding:14px 16px;border-radius:14px;background:#eef3ea;color:#24402a}
@media (max-width:900px){.nl-grid{grid-template-columns:1fr}}

/* free guides */
.gd-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:34px}
.gd-card{display:flex;flex-direction:column;border-radius:24px;overflow:hidden;background:#fff;border:1px solid var(--line)}
.gd-cover{position:relative;aspect-ratio:4/3;display:grid;place-items:center;color:var(--champ);overflow:hidden}
.gd-c0{background:radial-gradient(70% 80% at 70% 20%,rgba(207,156,160,.35),transparent 70%),linear-gradient(160deg,var(--plum-700),var(--plum-950))}
.gd-c1{background:radial-gradient(70% 80% at 30% 20%,rgba(220,196,156,.3),transparent 70%),linear-gradient(160deg,#4d2e41,#1e1118)}
.gd-c2{background:radial-gradient(70% 80% at 60% 80%,rgba(207,156,160,.35),transparent 70%),linear-gradient(160deg,#3a2231,#2a1823)}
.gd-cover svg{height:62%;width:auto;transform:rotate(18deg);filter:drop-shadow(0 10px 20px rgba(0,0,0,.35))}
.gd-cover span{position:absolute;left:18px;top:16px;font:600 11px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:rgba(247,241,232,.75)}
.gd-txt{padding:22px 24px 26px;display:flex;flex-direction:column;gap:8px;flex:1;align-items:flex-start}
.gd-txt h3{font:400 clamp(26px,2.3vw,32px)/1.08 var(--serif);margin:0}
.gd-txt p{margin:0;color:var(--ink-2);font-size:15.5px}
.gd-txt small{color:var(--ink-3);font-size:13px}
.gd-txt .btn{margin-top:auto}
@media (max-width:980px){.gd-list{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.gd-list{grid-template-columns:1fr}}

/* speaking & media kit */
.bio-copy .facts-list{list-style:none;margin:26px 0 0;padding:0;display:grid;gap:10px;border-top:1px solid var(--line);padding-top:22px}
.bio-copy .facts-list li{font-size:15.5px;color:var(--ink-2)}
.bio-copy .facts-list b{display:inline-block;min-width:120px;color:var(--ink);font-weight:600}
.talks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:34px}
.talk{position:relative;padding:30px 30px 30px 96px;border-radius:24px;background:#fff;border:1px solid var(--line);overflow:hidden}
.talk::after{content:"";position:absolute;right:-60px;top:-60px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(220,196,156,.28),transparent 70%)}
.talk-n{position:absolute;left:30px;top:28px;font:300 44px/1 var(--serif);color:var(--rose-deep)}
.talk h3{font:400 clamp(26px,2.3vw,34px)/1.08 var(--serif);margin:0 0 8px}
.talk p{margin:0;color:var(--ink-2);font-size:15.5px}
.hs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:34px}
.hs{margin:0}
.hs-img{aspect-ratio:4/5;border-radius:22px;overflow:hidden;background:#3a2231}
.hs-img.cut{background:radial-gradient(70% 70% at 50% 40%,#cf9ca0,#3a2231)}
.hs-img img{width:100%;height:100%;object-fit:cover;object-position:50% 18%}
.hs-img.cut img{object-fit:contain;object-position:50% 100%}
.hs figcaption{display:flex;justify-content:space-between;align-items:center;margin-top:12px;font-size:14.5px}
.hs figcaption a{color:var(--rose-deep);text-decoration:none;font-weight:600}
@media (max-width:900px){.talks{grid-template-columns:1fr}.hs-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.hs-grid{grid-template-columns:1fr}.talk{padding:26px 24px 26px 76px}.talk-n{left:22px;font-size:36px}}

/* find your fit */
.fit{max-width:860px;margin:0 auto;padding:clamp(28px,4vw,54px);border-radius:30px;background:radial-gradient(70% 90% at 90% 0%,rgba(207,156,160,.2),transparent 65%),#fff;border:1px solid var(--line);box-shadow:0 40px 90px -60px rgba(42,24,35,.55);min-height:320px}
.fit-n{margin:0 0 10px;font:600 11.5px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--rose-deep)}
.fit h2{font-size:clamp(34px,4vw,58px)!important;margin:0 0 26px}
.fit-opts{gap:10px}
.fit-opts button{font:500 15.5px/1.3 var(--sans);padding:15px 22px;border-radius:999px;border:1px solid rgba(29,21,25,.2);background:var(--ivory);color:var(--ink);cursor:pointer;transition:background .25s,color .25s,border-color .25s;text-align:left}
.fit-opts button:hover,.fit-opts button:focus-visible{background:var(--plum);color:var(--ivory);border-color:var(--plum)}
.fit-why{color:var(--ink-2);font-size:17.5px;max-width:60ch;margin:-8px 0 26px}
.fit-acts{display:flex;flex-wrap:wrap;gap:12px}
.fit-again{margin-top:22px;background:none;border:0;padding:0;font:600 14px/1 var(--sans);color:var(--rose-deep);text-decoration:underline;cursor:pointer}
.fit-step:not([hidden]),.fit-result:not([hidden]){animation:fitIn .5s ease both}
@keyframes fitIn{from{opacity:0;transform:translateY(10px)}}
@media (prefers-reduced-motion:reduce){.fit-step,.fit-result{animation:none!important}}
.fit-sec+.ev-fine{text-align:center}

/* support resources */
.rs-now{margin:0 0 48px;padding:20px 24px;border-radius:20px;background:linear-gradient(135deg,var(--plum-700),var(--plum-900));color:var(--ivory);font-size:17px;line-height:1.6}
.rs-now a{color:var(--champ);font-weight:700}
.rs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-top:26px}
.rs-card{padding:24px 24px 22px;border-radius:22px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--champ)}
.rs-card b{display:block;font:400 26px/1.1 var(--serif);margin-bottom:10px}
.rs-how{margin:0 0 8px;font-weight:600;font-size:15.5px;color:var(--ink)}
.rs-how a{color:var(--rose-deep)}
.rs-card p{margin:0;font-size:14.5px;color:var(--ink-2)}
.rs-card p+p{margin-top:6px}
.rs-sec h2{font-size:clamp(40px,5vw,72px)!important}

/* location pages */
.lc-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:34px}
.lc-card{display:flex;flex-direction:column;border-radius:24px;overflow:hidden;background:#fff;border:1px solid var(--line)}
.lc-card img{width:100%;aspect-ratio:16/10;object-fit:cover}
.lc-card>div{padding:22px 24px 26px;display:flex;flex-direction:column;gap:8px;flex:1}
.lc-card h3{font:400 clamp(26px,2.3vw,32px)/1.08 var(--serif);margin:0}
.lc-card p{margin:0;color:var(--ink-2);font-size:15.5px}
.lc-card .tlink{margin-top:auto;padding-top:6px}
.lc-how-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,5vw,80px);align-items:center}
.lc-photo{margin:0;border-radius:28px;overflow:hidden;aspect-ratio:4/5;box-shadow:0 40px 90px -50px rgba(42,24,35,.6)}
.lc-photo img{width:100%;height:100%;object-fit:cover}
.lc-steps{list-style:none;margin:26px 0;padding:0;display:grid;gap:18px;counter-reset:s}
.lc-steps li{counter-increment:s;position:relative;padding-left:56px}
.lc-steps li::before{content:counter(s);position:absolute;left:0;top:0;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--plum);color:var(--champ);font:400 20px/1 var(--serif)}
.lc-steps b{display:block;font:400 25px/1.15 var(--serif)}
.lc-steps span{color:var(--ink-2);font-size:15.5px}
@media (max-width:900px){.lc-cards{grid-template-columns:1fr}.lc-how-grid{grid-template-columns:1fr}.lc-photo{aspect-ratio:16/10}}
/* breathing circle, refined: bigger, layered rings, the word sits in the middle */
.br-stage{width:min(400px,78vw);margin:30px 0 22px}
.br-ring{background:radial-gradient(circle,rgba(246,233,207,.95) 0%,rgba(236,214,168,.55) 30%,rgba(207,156,160,.28) 55%,rgba(207,156,160,0) 71%);transform:scale(.62)}
.br-ring::before{inset:12%;border:1px solid rgba(138,74,86,.28)}
.br-ring::after{content:"";position:absolute;inset:2%;border-radius:50%;border:1px dashed rgba(185,142,106,.35)}
.br-dot{display:none}
.breathe.is-out .br-ring{transform:scale(.62)}
@keyframes brIdle{50%{transform:scale(.7)}}
.br-word{font-size:clamp(22px,2.2vw,30px);text-shadow:0 1px 12px rgba(247,241,232,.9)}
/* the home Journal strip: one or two posts get the big layout instead of a lonely small card */
.j-home .j-grid>.j-card:first-child:nth-last-child(1){grid-column:1/-1;flex-direction:row}
.j-home .j-grid>.j-card:first-child:nth-last-child(2){grid-column:span 2;flex-direction:row}
.j-home .j-grid>.j-card:first-child:nth-last-child(-n+2) .j-img{aspect-ratio:auto;flex:1.2;min-height:320px}
.j-home .j-grid>.j-card:first-child:nth-last-child(-n+2) .j-txt{flex:1;justify-content:center;padding:34px}
.j-home .j-grid>.j-card:first-child:nth-last-child(-n+2) h3{font-size:clamp(32px,3vw,46px)}
@media (max-width:640px){.j-home .j-grid>.j-card:first-child{flex-direction:column!important}.j-home .j-grid>.j-card:first-child .j-img{min-height:0!important;aspect-ratio:16/10!important}.j-home .j-grid>.j-card:first-child .j-txt{padding:22px 24px 26px!important}}
.j-grid>.j-lead:only-child{grid-column:1/-1}
.rs-card .rs-how b{display:inline;font:700 15.5px/1.4 var(--sans);margin:0;letter-spacing:.03em}
.rs-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
body[data-page="support"] .mcta{display:none!important}
/* workshops in the works */
.ideas-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(20px,4vw,70px);align-items:end;margin-bottom:40px}
.ideas-head .body-l{margin:0;color:var(--ink-2)}
.ideas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.idea{display:flex;flex-direction:column;border-radius:26px;overflow:hidden;background:#fff;border:1px solid var(--line);box-shadow:0 30px 70px -56px rgba(42,24,35,.55)}
.idea-img{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--plum-700)}
.idea-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.idea:hover .idea-img img{transform:scale(1.04)}
.idea-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(30,17,24,0) 55%,rgba(30,17,24,.45))}
.idea-img span{position:absolute;left:18px;top:18px;z-index:1;padding:8px 14px;border-radius:999px;background:rgba(247,241,232,.92);color:var(--plum);font:600 11px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase}
.idea-txt{padding:26px 28px 30px;display:flex;flex-direction:column;gap:10px;flex:1;align-items:flex-start}
.idea-txt h3{font:400 clamp(28px,2.5vw,36px)/1.08 var(--serif);margin:0}
.idea-txt p{margin:0;color:var(--ink-2);font-size:16px}
.idea-txt .tlink{margin-top:auto;padding-top:8px}
@media (max-width:860px){.ideas-head{grid-template-columns:1fr}.ideas{grid-template-columns:1fr}}
.ideas-sec:has(.ideas:empty){display:none}
/* guide cards with the real cover */
.gd-list{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.gd-cover.has-book{aspect-ratio:5/4}
.gd-book{height:80%;width:auto;border-radius:4px;transform:rotate(-4deg);box-shadow:0 24px 40px -14px rgba(0,0,0,.6),0 0 0 1px rgba(220,196,156,.25);transition:transform .8s var(--ease)}
.gd-card:hover .gd-book{transform:rotate(-2deg) translateY(-4px)}
.gd-list:has(.gd-card:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:700px){.gd-list:has(.gd-card:nth-child(2):last-child){grid-template-columns:1fr}}
/* Journal post titles: long titles stay graceful */
body[data-page="journal-post"] .p-hero h1{font-size:clamp(40px,4.6vw,72px)!important;line-height:1.04;max-width:20ch}
body[data-page="journal-post"] .p-hero h1 .ln:nth-child(2){font-size:.62em;margin-top:.25em}
body[data-page="journal-post"] .p-hero h1 .ln:nth-child(2) em{line-height:1.15}
/* guide covers */
.gd-cover.has-book .gd-book{height:auto;width:44%;max-height:86%;object-fit:contain}
