/* Ravanjoor — owner-selected plum, violet and magical light. */
:root{color-scheme:dark;--paper:#130d22;--white:#241832;--ink:#f6efff;--navy:#f4eaff;--navy-hover:#382044;--accent:#f38bd2;--accent-light:#3b2148;--muted:#cbbbd9;--line:#ffffff21;--line-strong:#947ba5;--surface:#30203f;--focus:#ffb0e3;--error:#ffabb5;--violet:#cea4ff;--violet-ink:#e4caff;--violet-light:#302040;--violet-line:#77548f;--radius:24px;--shadow:0 24px 70px #07030f55;--sage:#bfa1e0;--sage-deep:#f0d9ff;--sage-light:#352345;--plum:#e9c8ff;--plum-light:#30203f;--tan:#30203f;--amber:#ffdaa3;--amber-light:#423122}
body{background:radial-gradient(ellipse at 8% 8%,#58215865,transparent 46%),radial-gradient(ellipse at 94% 42%,#42277c70,transparent 48%),#130d22;min-height:100vh}
body::before,body::after{content:'';position:fixed;pointer-events:none;z-index:-1;border-radius:50%;filter:blur(65px);width:40vw;height:40vw;max-width:540px;max-height:540px;opacity:.28}
body::before{background:#b22e87;inset:10% auto auto -15%}body::after{background:#7052d5;inset:48% -15% auto auto}
.app-shell{isolation:isolate;position:relative}
/* Static vector ribbons add light over the original purple background. */
@media screen and (forced-colors:none){
 .app-shell::before{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;background:url('/artwork/enchanted-waves.svg') center center/cover no-repeat;opacity:.75}
}
.site-header{background:#160e25c9;color:#f8eeff;border-bottom:1px solid var(--line);backdrop-filter:blur(20px);min-height:88px}
.brand-mark{color:#fce7ff;filter:drop-shadow(0 0 12px #ed72cc66)}
.brand-name{font-size:27px}.site-header .btn.ghost{color:#f5e8ff}.site-header :focus-visible{outline-color:var(--focus)}
.demo-ribbon{background:transparent;border:0;color:#bdabc9;padding-block:12px}
.welcome{margin:30px auto 28px}.welcome-main{position:relative;isolation:isolate;padding:48px;border-radius:32px;background:linear-gradient(140deg,#492650bb,#291b42e8 60%,#22203dec);border-color:#f3beff30;box-shadow:var(--shadow),inset 0 1px #ffffff16;overflow:hidden}
.welcome-main::before{content:'';position:absolute;z-index:-1;width:310px;height:310px;left:-85px;top:-120px;border:1px solid #f5baff40;border-radius:50%;box-shadow:0 0 70px #da7dea19,inset 0 0 60px #cba8ff18}
.welcome-main::after{content:'✦';position:absolute;left:68px;top:54px;color:#ffd3ef;font-size:44px;text-shadow:0 0 26px #f48adb;pointer-events:none;transform:rotate(12deg)}
.welcome-intro{max-width:620px;margin-bottom:36px;padding-inline-end:45px}.welcome h1{font-size:clamp(32px,4.5vw,48px);line-height:1.6;letter-spacing:-1px}.welcome-intro>p:last-child{line-height:2.1;margin-top:18px;font-size:15px}
.eyebrow{color:#f5b5df;letter-spacing:.02em}.eyebrow::before{height:6px;width:6px;box-shadow:0 0 12px #f38bd2;border-radius:50%}
.welcome-paths{gap:20px}.welcome-path{padding:26px;border-radius:24px;background:linear-gradient(135deg,#ffffff0b,#ffffff03);border-color:#d5b6e83d;box-shadow:inset 0 1px #ffffff0b;transition:transform .22s,border-color .22s,background .22s,box-shadow .22s}
.welcome-path-guided{background:linear-gradient(135deg,#79407880,#55316e80);border-color:#e8a8e98a}.welcome-path:hover,.welcome-path-guided:hover{background:#69427666;border-color:#efb3e9;transform:translateY(-4px);box-shadow:0 12px 32px #0e061e55}
.welcome-path::before{content:'✧';display:grid;place-items:center;width:46px;height:46px;margin-bottom:18px;border:1px solid #d4b3f448;border-radius:15px;color:#dfbbff;font-size:28px;background:#caa5ff0c}
.welcome-path-guided::before{content:'✦';color:#ffd2eb;background:#f499d415}.welcome-path-title{font-size:18px}.welcome-path-copy{color:#ddcde7}.welcome-path-cta{color:#f9c3e7}
.welcome .welcome-path::before{display:none}.welcome .welcome-path{padding:22px}.welcome .welcome-path-cta{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.welcome-path-guided .welcome-path-cta,.btn.primary{color:#210d2c;background:linear-gradient(115deg,#f7a0d7,#c7a4ff);border-color:#f9bce8;border-radius:14px;box-shadow:0 5px 22px #eb70cb20;font-weight:700}
.btn.primary:hover:not(:disabled){background:linear-gradient(115deg,#ffc2e6,#dec8ff);border-color:#ffd6f0;color:#210d2c;box-shadow:0 6px 28px #eb70cb38}
.time-presets .btn[aria-pressed=true]{background:linear-gradient(110deg,#7a3e6b55,#6c438655);color:var(--ink);border-color:#f3a6dc;box-shadow:inset 0 0 0 1px #f3a6dc44}
.btn,.chip,.input,.select,.textarea,.money-control{border-radius:13px}.btn{transition:background .2s,box-shadow .2s,transform .2s}.btn:active:not(:disabled){transform:translateY(1px)}
.privacy-intro,.welcome-guide,.page-help{background:#241930b8;border-radius:22px;backdrop-filter:blur(16px);border-color:#d7b7ef26}.welcome-bottom{gap:20px;margin-top:22px}.welcome-guide{background:linear-gradient(150deg,#3e2546c9,#251b37d9)}
.flow-layout{max-width:720px;margin:30px auto 40px}.flow-layout>.form-panel{border-radius:28px;padding:34px;background:linear-gradient(145deg,#38233eea,#22192fec);border-color:#dcb9ed3d;box-shadow:0 20px 70px #08041155,0 0 0 7px #b48ade06,inset 0 1px #ffffff12}
.flow-progress{color:#dcc7e8;margin-bottom:16px}.progress-track{height:6px;border-radius:20px;background:#ffffff0c;margin-bottom:30px}.progress-track>span{border-radius:20px;background:linear-gradient(90deg,#a58af5,#f497d2);box-shadow:0 0 14px #f38bd255;transition:width .3s ease}
.panel-title{font-size:clamp(23px,3vw,29px)}.options{gap:12px}.option{padding:16px;border-radius:16px;background:#ffffff04;border-color:#e8ceff26;transition:background .2s,border-color .2s,box-shadow .2s}.option:hover{background:#ffffff09;border-color:#c59cdb}.option.selected,.option:has(input:checked){background:linear-gradient(110deg,#7a3e6b55,#6c438655);border-color:#f3a6dc;box-shadow:inset 0 0 0 1px #f3a6dc44,0 0 20px #e982c511}
input[type=radio],input[type=checkbox]{accent-color:#f3a6dc}.input,.select,.textarea,.money-control,.other-topic-field textarea{background:#1e142b;border-color:#7b638e}.input::placeholder,.textarea::placeholder{color:#b8a3c7}.select option{background:#241832;color:#f6efff}
.therapist-card,.profile-panel,.directory-tools{border-radius:22px;background:linear-gradient(145deg,#34213fe8,#23192fe8);box-shadow:0 14px 40px #07030e30}.therapist-card{padding:25px}.avatar.portrait{box-shadow:0 0 0 4px #dfb4f019}.topic-group{background:transparent}.topic-group>summary{border-radius:12px}.pill.sage{color:#25122e}.active .step-dot{color:#23132d}.footer{color:#bcaccb;border-color:var(--line)}
#main{view-transition-name:journey}
::view-transition-old(root),::view-transition-new(root){animation:none}
::view-transition-old(journey){animation:journey-out .16s ease-in both}
::view-transition-new(journey){animation:journey-in .3s .10s ease-out both}
@keyframes journey-out{to{opacity:0;transform:translateY(-10px)}}
@keyframes journey-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:640px){.container{width:calc(100% - 28px)}.welcome{margin-top:14px}.welcome-main{padding:26px 20px;border-radius:25px}.welcome-intro{padding-inline-end:18px}.welcome-main::after{left:24px;top:30px;font-size:25px}.welcome-paths,.welcome-bottom{grid-template-columns:1fr}.welcome-path{padding:22px}.welcome-paths{gap:14px}.flow-layout>.form-panel{padding:25px 19px;border-radius:23px}.flow-layout{margin-top:18px}.options.cols2{grid-template-columns:1fr}.site-header{min-height:76px;padding-inline:20px}.privacy-intro,.welcome-guide{padding:20px}.welcome h1{letter-spacing:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.welcome-path:hover{transform:none}::view-transition-old(journey),::view-transition-new(journey){animation:none}}
@media print{:root{color-scheme:light;--ink:#21152d;--navy:#21152d;--muted:#51415c;--white:#fff;--surface:#f5f0fa;--line:#ddd}body{background:#fff;color:#21152d}body::before,body::after,.welcome-main::before,.welcome-main::after{display:none}.welcome-main,.welcome-path,.form-panel,.flow-layout>.form-panel,.therapist-card,.profile-panel,.page-help{background:white;color:#21152d;box-shadow:none}}
/* Intake preferences: optional, accessible controls within the plum theme. */
.top-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-block:20px}
.area-preferences,.session-preferences,.budget-range,.inline-contact-summary{padding:20px;margin-top:24px;border:1px solid var(--line);border-radius:20px;background:#ffffff04}
.area-preferences h2,.session-preferences h2,.budget-range h2,.inline-contact-summary h2{font-size:17px;line-height:1.9}
.area-preferences h2{color:#a9e4d6}.optional-label{font-size:12px;font-weight:400;color:var(--muted)}
.day-picks{display:flex;gap:8px;flex-wrap:wrap}.day-picks .option{padding:10px 12px;align-items:center;min-height:48px}.day-picks .option input{margin:0}.day-picks .option-body strong{font-size:13px}
.range-presets{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}.range-presets .chip{font-size:12px;min-height:44px;text-align:start}.range-presets .chip[aria-pressed=true]{border-color:var(--accent);color:var(--ink);background:#71436755}
.budget-range-label{display:block;text-align:center;font-size:18px;font-weight:700;color:#f8c8e9;margin-top:22px;font-variant-numeric:tabular-nums}
.exact-range summary{min-height:44px;color:var(--muted);padding-block:8px;font-size:13px}.session-time-range input{min-width:0}.inline-contact-summary .btn{margin-top:12px}.inline-contact-summary .reception-call{background:#1b302d66;border-color:#91d6c343}
@media(max-width:640px){.area-preferences,.session-preferences,.budget-range,.inline-contact-summary{padding:15px}.day-picks .option{flex:1 1 28%;justify-content:center}.session-time-range{grid-template-columns:1fr 1fr}.range-presets .chip{flex:1 1 45%}.budget-range-label{font-size:16px}}

.start-preferences{margin-block:24px}.start-preferences .field-label{font-size:17px}.travel-preferences{margin-top:24px}
.urgent-quote{margin-block:24px;padding:22px;border:1px solid #d3a6ee65;border-radius:20px;background:linear-gradient(140deg,#66416d40,#2a204650);box-shadow:inset 0 1px #ffffff0c}
.urgent-quote h2{font-size:18px;line-height:1.9}.urgent-quote .tariff-list li{gap:14px;flex-wrap:wrap}.urgent-quote .tariff-list strong{color:#f9c8e7;white-space:nowrap}.urgent-quote .checkline{padding-top:16px;border-top:1px solid var(--line)}
@media(max-width:640px){.urgent-quote{padding:16px}.urgent-quote .tariff-list li{align-items:flex-start;flex-direction:column;gap:4px}}
/* Keep coordination screens and overlays consistent with the shared theme. */
.container>.form-panel{background:linear-gradient(145deg,#38233eea,#22192fec);border-color:#dcb9ed3d;box-shadow:var(--shadow),inset 0 1px #ffffff12;border-radius:26px}
.profile-booking,.schedule-panel,.contact-method,.coordination-preferences,.concern-share,.concern-preview,.reception-call{border-radius:18px}
.profile-booking{background:linear-gradient(125deg,#50305288,#2b203c);border-color:#bf8bd650;border-inline-start-color:#ce9de8}
.contact-method.active,.contact-method[aria-pressed=true]{border-color:#eab1df;box-shadow:inset 0 0 0 1px #eab1df44;background:#74426d32}
.topic-group-body .option.selected,.topic-group-body .option:has(input:checked){background:linear-gradient(110deg,#7a3e6b55,#6c438655);border-color:#f3a6dc;color:var(--ink);box-shadow:inset 0 0 0 1px #f3a6dc44}
.topic-selection-count{background:#e4b9ed;color:#291534;border-radius:7px}
.portrait-viewer::backdrop{background:#130a21e8}.portrait-viewer-fallback{background:#130a21ed}.portrait-viewer-panel{border-radius:22px;background:linear-gradient(140deg,#35213e,#22182f);border-color:#dcb9ed3d}
.session-guide-link a{display:inline-flex;align-items:center;min-height:44px;color:#edb9e3}
@media print{.container>.form-panel,.profile-booking,.portrait-viewer-panel{background:white;color:#21152d;box-shadow:none}}
/* Matching results explain checked conditions separately from appointment coordination. */
.result-preferences{margin-block:18px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(120deg,#3b294855,#241b3455);overflow:hidden}
.result-review>summary{padding:16px 20px;min-height:48px;font-size:14px;font-weight:500;cursor:pointer}.result-review[open]>summary{border-bottom:1px solid var(--line)}.result-review .summary-list{padding:8px 20px 16px}
.result-timing{padding:16px 20px;border-top:1px solid var(--line)}.result-timing>p{font-size:14px;line-height:1.9;overflow-wrap:anywhere}.result-timing .field-hint{font-size:12px}.result-timing .section-kicker{color:#b5e3d9}
.match-details{margin-top:14px;border:1px solid #d1b4e12c;border-radius:14px;background:#180e262c;overflow:hidden}.match-details>summary{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;min-height:52px;padding:12px 14px;cursor:pointer;font-size:13px;font-weight:500;list-style:none}.match-details>summary::-webkit-details-marker{display:none}.match-details>summary::before{content:'+';font-size:19px;line-height:1;color:#e4c4f4}.match-details[open]>summary::before{content:'−'}.match-details[open]>summary{border-bottom:1px solid var(--line)}
.match-status{display:inline-block;font-size:11px;font-weight:400;padding:2px 8px;border-radius:12px;line-height:1.9}.match-status.checked{color:#b9e8dc;background:#31534855}.match-status.pending{color:#efc9ef;background:#65416c55}
.match-details-body{padding:14px}.match-details-body section+section{margin-top:16px}.match-details-body h3{font-size:13px;margin-bottom:7px;color:#f4d7f2}.match-checks,.match-pending{padding-inline-start:18px;font-size:12px;line-height:1.95;overflow-wrap:anywhere}.match-checks li+li,.match-pending li+li{margin-top:7px}.match-checks li::marker{color:#a9e4d6}.match-pending{color:var(--muted)}
.online-alternative{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-block:20px;padding:22px;border:1px solid #acdbc14a;border-radius:20px;background:linear-gradient(115deg,#24413955,#3c264050)}.online-alternative h2{font-size:18px;line-height:1.8;margin-bottom:7px}.online-alternative p{font-size:13px;line-height:1.95;max-width:650px}.online-alternative .section-kicker{color:#b5e3d9}.online-alternative>.btn{flex-shrink:0}
.result-review>summary:focus-visible,.match-details>summary:focus-visible{outline:2px solid var(--focus);outline-offset:-4px;border-radius:12px}
@media(max-width:640px){.online-alternative{align-items:stretch;flex-direction:column;padding:18px;gap:12px}.result-review>summary,.result-timing{padding:14px 16px}.result-review .summary-list{padding-inline:16px}.match-details>summary{gap:6px 8px}.match-status{margin-inline-start:18px}}
@media print{.result-preferences,.match-details,.online-alternative{background:white;color:#21152d;box-shadow:none}.match-status.checked,.match-status.pending,.match-details-body h3,.match-details>summary::before,.result-timing .section-kicker,.online-alternative .section-kicker{color:#21152d}.result-timing>.text-link,.online-alternative>.btn{display:none}}

/* Shared reading and form rhythm: one type scale, framed groups, wrapping choices. */
:root{--mint:#a9e4d6;--mint-line:#8bcfbd50;--mint-wash:#25443b38;--text-body:15px;--text-note:14px;--text-label:15px;--text-section:18px;--text-title:28px}
body{font-size:var(--text-body);line-height:1.95}
.welcome h1,.panel-title{font-size:clamp(24px,3.4vw,var(--text-title));line-height:1.75;letter-spacing:0}
.welcome-intro{padding-inline-end:16px;margin-bottom:24px}.welcome-intro>p:last-child{font-size:var(--text-body);line-height:1.95;margin-top:12px}
.welcome-path-title{font-size:var(--text-section)}.welcome-path-copy,.welcome-path-cta{font-size:var(--text-body)}
.panel-title{margin-bottom:22px}.panel-desc{font-size:var(--text-body);line-height:1.95}
.field,.option,.option-body,.form-row>*{min-width:0;max-width:100%}
.field{margin-top:24px}.field-label,.start-preferences .field-label{font-size:var(--text-label);font-weight:500;line-height:1.9;margin-bottom:12px}
.field-hint,.option-body small,.money-words,.instruction-list,.optional-label,.plain-note,.answer-points,.result-timing .field-hint{font-size:var(--text-note);line-height:1.95}
.optional-label{display:inline-block;font-weight:400;margin-inline-start:6px}
.field-hint{margin-block:8px 12px}.options{gap:10px}.choice-field>.field-hint{margin-top:0}
.option{min-height:56px;padding:14px 16px;gap:12px;align-items:flex-start}
.option-body strong,.topic-group-body .option-body strong{font-size:var(--text-label);font-weight:500;line-height:1.9;white-space:normal;overflow-wrap:anywhere}
.option-body small{margin-top:6px}.option input{flex:0 0 20px;width:20px;height:20px;margin-top:4px}
.input,.select,.textarea,.other-topic-field textarea{width:100%;min-width:0;max-width:100%;min-height:52px;font-size:16px;line-height:1.8;padding:12px 14px}
.select{padding-inline-end:38px}.checkline{padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:#ffffff04;font-size:var(--text-label);line-height:1.95;gap:12px}
.checkline input{width:20px;height:20px;margin-top:4px}.checkline small{font-size:var(--text-note)}
.form-row{gap:16px}.form-row>.field{margin-top:0}
.area-preferences,.session-preferences,.start-preferences,.budget-range,.context-panel,.inline-contact-summary,.location-fields,.callback-fields{margin-block:24px 0;padding:22px;border:1px solid var(--line);border-radius:18px;background:#ffffff03}
.area-preferences>h2,.session-preferences>h2,.budget-range>h2,.context-panel>h2,.inline-contact-summary>h2{font-size:var(--text-section);color:var(--mint);line-height:1.85;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--mint-line)}
.start-preferences>.field:first-child,.location-fields>.field:first-child{margin-top:0}
.start-preferences .field-label{color:var(--mint)}
.city-fields,.travel-preferences,.timing-details{margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}
.city-fields>.field:first-child,.travel-preferences>.field:first-child,.timing-details>.field:first-child{margin-top:0}
.area-preferences{background:var(--mint-wash);border-color:var(--mint-line)}
.location-fields .area-preferences .form-row{grid-template-columns:1fr}
.selection-note,.time-zone-note{padding:12px 16px;border:1px solid var(--mint-line);border-radius:12px;background:var(--mint-wash);color:var(--mint);font-size:var(--text-note)}
.day-picks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.day-picks .option{padding:12px 8px;min-height:52px;justify-content:center;align-items:center;gap:8px}
.day-picks .option input{margin:0;flex-basis:18px;width:18px;height:18px}.day-picks .option-body strong{font-size:14px;overflow-wrap:normal}
.session-time-range{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.session-time-range .field{margin-top:0}
.session-time-range .input{width:100%;min-inline-size:0;padding-inline:10px;font-variant-numeric:tabular-nums}
.session-time-range input::-webkit-date-and-time-value{text-align:center;min-width:0}.session-time-range input::-webkit-datetime-edit{min-width:0;padding:0}
.session-time-preview{margin-top:16px;line-height:1.9}
.session-time-preview strong{display:block;font-size:var(--text-label);font-variant-numeric:tabular-nums}
.session-time-preview span{display:block;margin-top:6px}
.budget-range{border-color:#d7abe374;background:linear-gradient(140deg,#49304e55,#22182f88)}
.range-presets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:0}
.range-presets .chip{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:100%;padding:12px 8px;min-height:76px;text-align:center;font-size:14px;line-height:1.9;white-space:normal;overflow-wrap:anywhere}
.preset-unit{font-size:13px;color:var(--muted)}
.budget-range-label{padding:16px 12px;margin-block:20px;border:1px solid var(--mint-line);border-radius:14px;background:var(--mint-wash);color:var(--mint);font-size:16px;line-height:2;overflow-wrap:anywhere}
.exact-range{padding:18px;border:1px solid #c7abdc61;border-radius:16px;background:#1b122d66}
.exact-range>h3{font-size:var(--text-section);line-height:1.85}.exact-range>.field-hint{margin-block:8px 16px}
.budget-bound+.budget-bound{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.budget-bound>.field{margin-top:0}
.range-control>label{display:block;font-size:var(--text-note);color:var(--muted);margin-top:12px}
.range-control input{display:block;width:100%;min-width:0;min-height:44px;margin:4px 0 0;accent-color:var(--accent);cursor:ew-resize}
.money-control{min-width:0}.money-control .money-input{min-width:0;width:100%;font-size:18px;padding:12px 14px;min-height:56px}
.money-control .money-unit{flex-shrink:0;font-size:14px;padding-inline:12px}.money-words{margin-block:8px 0}
.budget-cap{margin-top:20px;background:#b891de0c;border-color:#caa6e84d}
.topic-groups{gap:10px}.topic-group,.topic-group[open]{margin-block:0;border:1px solid var(--line);border-radius:14px;background:#ffffff03;overflow:hidden}
.topic-group>summary{padding:16px}.topic-group-title{font-size:var(--text-label)}.topic-group-hint{font-size:var(--text-note)}
/* One session editor, with only the sections the visitor chooses expanded. */
.session-details-body>.compact-details{margin:0;padding:0;border:0;border-top:1px solid var(--line);border-radius:0;background:none}
.session-details-body>.compact-details>summary{padding-block:16px}
.session-details-body>.compact-details[open]{padding-bottom:18px}
.session-details-body .location-fields{padding:0;border:0;background:none}
.session-details-body>.compact-details>.field{margin-top:16px}
.other-topic-choice{padding:16px;border:1px solid var(--mint-line);border-radius:16px;background:var(--mint-wash)}
.other-topic-choice .option{border-color:var(--mint-line)}.other-topic-choice .option-body strong{color:var(--mint)}
.other-topic-choice .option:has(input:checked){border-color:var(--mint);background:#3c776044}.other-topic-choice input{accent-color:var(--mint)}
.topic-summary{margin-top:22px;padding:18px;border:1px solid var(--line);border-inline-start:3px solid var(--violet);border-radius:16px}.topic-summary h2{font-size:var(--text-section)}
.text-link{min-height:44px;display:inline-flex;align-items:center;padding:8px 12px;font-size:var(--text-label);line-height:1.9;border-radius:10px}
.summary-row .text-link{border:1px solid var(--line);text-decoration:none;justify-content:center}
.form-footer{margin-top:28px;padding-top:22px;border-top:1px solid var(--line);gap:12px}.form-footer .btn{min-height:48px}
.welcome-bottom{display:flex;flex-direction:column;gap:16px}
.welcome-guide{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:20px;padding:24px;border-color:var(--mint-line);background:linear-gradient(120deg,#29463e50,#31213d88)}
.welcome-guide h2{font-size:var(--text-section);color:var(--mint)}.welcome-guide p{font-size:var(--text-body);color:var(--muted);margin-top:8px;line-height:1.95}
.welcome-guide>a{margin:0;flex-shrink:0;font-size:var(--text-label);padding:12px 18px;text-decoration:none}
.privacy-intro{padding:0}.privacy-intro>summary{padding:18px 22px;font-size:var(--text-label);font-weight:500;line-height:1.9;cursor:pointer}
.privacy-intro[open]>summary{border-bottom:1px solid var(--line)}.privacy-intro .instruction-list{margin:0;padding:18px 40px 20px 22px;font-size:var(--text-note)}
.session-guide-link{margin-block:22px}.session-guide-link a{display:flex;width:100%;justify-content:space-between;gap:12px;padding:16px 20px;min-height:56px;border:1px solid var(--mint-line);border-radius:14px;background:var(--mint-wash);color:var(--mint);font-size:var(--text-label);text-decoration:none}
.session-guide-link a::after{content:'←';font-size:20px;flex-shrink:0}
.visit-fee{border-radius:14px;padding:16px;gap:14px;background:#1d142d44}.visit-heading h3{font-size:var(--text-label)}.visit-heading span{font-size:var(--text-note);line-height:1.95}
.visit-fee>strong{font-size:18px}.visit-timing{font-size:var(--text-note);line-height:1.95;padding:14px;border-radius:12px;background:var(--mint-wash);color:var(--muted)}
.regional-fee{margin-top:20px;padding:16px;border:1px solid var(--line);border-radius:16px}.tariff-scope{font-size:var(--text-label);font-weight:500;color:var(--mint);margin-bottom:12px}
.tariff-preview>h2,.urgent-quote>h2,.schedule-panel>h2,.profile-section>h2,.page-help>h2{font-size:var(--text-section);line-height:1.85;padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid var(--line)}
.tariff-list li{padding:14px 0;border-bottom:1px solid var(--line);font-size:var(--text-body)}.tariff-list li:last-child{border-bottom:0}.tariff-duration{display:block;font-size:var(--text-note);color:var(--mint);margin-top:4px}
.page-help{padding:24px}.page-help .session-question>summary{font-size:var(--text-label);padding-block:16px;line-height:1.95}.session-question>p,.session-question .answer-points{font-size:var(--text-note);line-height:1.95}
.page-help>h2{color:var(--mint)}.btn{white-space:normal;font-size:var(--text-label);line-height:1.85}.btn.ghost{border-color:var(--line)}
@media(max-width:640px){
 .area-preferences,.session-preferences,.start-preferences,.budget-range,.context-panel,.inline-contact-summary,.location-fields,.callback-fields{padding:16px}
 .welcome-guide{flex-direction:column;align-items:stretch;padding:20px}.welcome-guide>a{justify-content:space-between}
 .day-picks{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.day-picks .option{justify-content:flex-start;padding:12px;flex:none}
 .day-picks .option-body strong{font-size:var(--text-label)}
 .session-time-range{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .exact-range{padding:14px}.range-presets .chip{font-size:13px}.page-help{padding:20px 16px}
 .location-fields .area-preferences,.location-fields .local-clock{padding:14px}
}
@media(max-width:480px){.session-time-range{grid-template-columns:1fr}}
@media(max-width:380px){.day-picks .option{gap:6px;padding:10px 8px}.day-picks .option-body strong{font-size:14px}.range-presets{grid-template-columns:1fr}}
@media print{.area-preferences,.session-preferences,.start-preferences,.budget-range,.context-panel,.location-fields,.callback-fields,.exact-range,.other-topic-choice,.welcome-guide{background:white;color:#21152d;box-shadow:none}.budget-range-label,.tariff-duration,.session-guide-link a,.welcome-guide h2{color:#21152d}}

/* The final coordination step uses the same framed hierarchy as the guide. */
.coordination-review{margin-block:24px;padding:22px;border:1px solid var(--mint-line);border-radius:18px;background:linear-gradient(135deg,#28423938,#30203f55)}
.coordination-review>h2{font-size:var(--text-section);color:var(--mint);line-height:1.85;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--mint-line)}
.coordination-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0}
.coordination-review-grid>div{min-width:0;padding:14px 16px;border:1px solid var(--line);border-radius:13px;background:#20162e55}
.coordination-review-grid dt{font-size:var(--text-note);color:var(--muted);line-height:1.9}
.coordination-review-grid dd{margin:7px 0 0;font-size:var(--text-label);font-weight:500;line-height:1.95;overflow-wrap:anywhere}
.coordination-review>.field-hint{margin-block:18px 14px}
.inline-contact-summary>.field-label{margin-top:20px}
.inline-contact-summary .coordination-draft{font-size:var(--text-body);line-height:2;min-height:280px}
@media(max-width:640px){.coordination-review{padding:16px}.coordination-review-grid{grid-template-columns:1fr;gap:10px}.coordination-review-grid>div{padding:12px 14px}.coordination-review>.btn{width:100%}}
@media print{.coordination-review,.coordination-review-grid>div{background:white;color:#21152d;border-color:#ddd}.coordination-review>h2{color:#21152d}.coordination-review>.btn{display:none}}

/* Directory, matching and full profiles share the same readable section rhythm. */
.plain-note{font-size:var(--text-note)!important}
.therapist-card>.card-top,.profile-header>.card-top{align-items:flex-start;gap:16px}
.card-top>div{min-width:0}.therapist-card .card-name{font-size:var(--text-section);line-height:1.85;overflow-wrap:anywhere}
.therapist-card .card-sub,.profile-header>.card-top .muted,.profile-license{font-size:var(--text-note);line-height:1.95;overflow-wrap:anywhere}
.card-section{margin-top:14px;padding:16px;border:1px solid var(--line);border-radius:16px;background:#1d142b36;min-width:0}
.card-section-title{font-size:var(--text-label);font-weight:500;line-height:1.9;color:var(--mint);padding-bottom:10px;margin-bottom:12px;border-bottom:1px solid var(--mint-line)}
.card-mode{font-size:var(--text-body);line-height:1.95;overflow-wrap:anywhere}
.card-section .card-specialties,.card-section .card-notes,.card-section .match-note{margin:0;font-size:var(--text-note);line-height:2}
.card-section .tariff-scope{margin-top:14px;font-size:var(--text-note)}
.card-section .regional-fee{margin-top:12px;padding:14px}.card-section .regional-fee .tariff-scope{margin-top:0}
.card-section .simple-facts{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;padding-block:12px 0;margin-block:8px 0;font-size:var(--text-note)}
.card-section .simple-facts>strong{font-size:var(--text-section);line-height:1.9;overflow-wrap:anywhere}
.card-section .visit-fee{padding:12px;min-width:0}.card-section .visit-fee>strong{font-size:var(--text-section);overflow-wrap:anywhere}
.card-section .pill{margin-top:12px;font-size:var(--text-note)}
.therapist-card .card-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-top:20px}
.therapist-card .card-actions>.btn:only-child{grid-column:1/-1}
.therapist-card .card-actions>.btn,.profile-booking .card-actions>.btn,.result-tools>.btn{font-size:var(--text-label);min-height:48px;min-width:0;line-height:1.9;white-space:normal;overflow-wrap:anywhere}
.match-details>summary,.result-review>summary{font-size:var(--text-label);line-height:1.9}
.match-status{font-size:var(--text-note);line-height:1.9;max-width:100%;white-space:normal}
.match-details-body h3,.match-checks,.match-pending,.result-timing>p{font-size:var(--text-note);line-height:1.95}
.match-details-body h3{color:var(--mint)}.match-details-body section+section{padding-top:16px;border-top:1px solid var(--line)}
.profile-header{padding-bottom:22px}.profile-header .panel-title{margin-bottom:8px}
.profile-section,.profile-panel>.schedule-panel{margin-top:20px;padding:22px;border:1px solid var(--line);border-radius:18px;background:#ffffff03}
.profile-section>h2,.profile-panel>.schedule-panel>h2,.profile-booking h2{font-size:var(--text-section);color:var(--mint);line-height:1.85}
.profile-section .provider-services,.service-item .provider-services,.service-item p,.schedule-panel .schedule-pending,.schedule-panel .schedule-list,.schedule-panel .schedule-list strong,.schedule-panel .schedule-list span{font-size:var(--text-note);line-height:1.95}
.service-item{border-radius:18px;padding:22px;background:#1d142b36;min-width:0}
.service-item>.card-top{justify-content:space-between;flex-wrap:wrap;padding-bottom:14px;border-bottom:1px solid var(--line)}
.service-item>.card-top>h2{font-size:var(--text-section);line-height:1.85}.service-item h3{font-size:var(--text-label);line-height:1.9}
.session-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.session-detail-grid>section{min-width:0;padding:16px;border:1px solid var(--line);border-radius:14px;background:#ffffff03}
.profile-fees{padding:18px;border:1px solid var(--mint-line);border-radius:16px;background:var(--mint-wash)}
.profile-fees>h3{padding-bottom:12px;margin-bottom:16px;border-bottom:1px solid var(--mint-line);color:var(--mint)}
.profile-fees .simple-facts{font-size:var(--text-note);line-height:1.95;gap:8px 16px}.profile-fees .simple-facts>strong{font-size:var(--text-section);overflow-wrap:anywhere}
.service-item .visit-timing{font-size:var(--text-note);margin-top:14px}
.profile-return{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.profile-return>.btn{min-height:48px}
@media(max-width:640px){
 .therapist-card .card-actions{grid-template-columns:1fr}.card-section{padding:14px}
 .profile-section,.profile-panel>.schedule-panel,.service-item{padding:16px}
 .session-detail-grid{grid-template-columns:1fr}.session-detail-grid>section,.profile-fees{padding:14px}
 .profile-return>.btn{width:100%}.therapist-card>.card-top,.profile-header>.card-top{gap:12px}
}
@media print{.card-section,.profile-section,.profile-panel>.schedule-panel,.service-item,.session-detail-grid>section,.profile-fees{background:white;color:#21152d;border-color:#ddd}.card-section-title,.profile-section>h2,.profile-panel>.schedule-panel>h2,.profile-booking h2,.profile-fees>h3{color:#21152d}.profile-return{display:none}}

/* Answer review keeps related values together, with one clear edit action. */
.summary-list{display:grid;gap:16px;margin-top:24px;padding:0;border:0}
.summary-group{min-width:0;border:1px solid var(--line);border-radius:18px;background:#ffffff03}
.summary-group-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid var(--mint-line)}
.summary-group-header h2{font-size:var(--text-section);line-height:1.85;color:var(--mint);min-width:0}
.summary-group-header .btn{min-height:44px;flex-shrink:0;font-size:var(--text-note);padding:9px 14px}
.summary-group dl{margin:0;padding:4px 18px}
.summary-group .summary-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);align-items:start;gap:16px;padding:16px 0;font-size:var(--text-label);line-height:1.95}
.summary-group .summary-row dt,.summary-group .summary-row dd{min-width:0;margin:0;text-align:start;overflow-wrap:anywhere}
.summary-group .summary-row dt{color:var(--muted);font-weight:400}.summary-group .summary-row dd{color:var(--ink);font-weight:500;white-space:pre-line}
.result-review .summary-list{padding:20px;margin:0}
.field-error{font-size:var(--text-note);font-weight:500;line-height:1.95;padding:10px 12px;margin-top:10px;border-inline-start:3px solid var(--error);border-radius:8px;background:#e458700d;overflow-wrap:anywhere}
.input[aria-invalid="true"],.select[aria-invalid="true"],textarea[aria-invalid="true"],.option:has(input[aria-invalid="true"]),.checkline:has(input[aria-invalid="true"]){border-color:var(--error)}
@media(max-width:640px){
 .summary-list{gap:14px}.result-review .summary-list{padding:16px}
 .summary-group-header{padding:14px;gap:12px}.summary-group dl{padding-inline:14px}
 .summary-group .summary-row{grid-template-columns:minmax(0,1fr);gap:6px;padding-block:14px}
}
@media(max-width:480px){.summary-group-header{flex-direction:column;align-items:stretch}.summary-group-header .btn{width:100%}}
@media print{.summary-group{background:white;border-color:#ddd}.summary-group-header h2,.summary-group .summary-row dt,.summary-group .summary-row dd{color:#21152d}.summary-group-header .btn{display:none}}

/* Contact, copy and callback receipts use the same framed, readable sections. */
fieldset.contact-methods{padding:20px;border:1px solid var(--mint-line);border-radius:18px;background:var(--mint-wash)}
.contact-methods>legend{padding-inline:8px;color:var(--mint)}
.callback-fields>h2,.contact-summary>h2,.callback-receipt>h2,.reception-call>h2,.concern-share>h2{font-size:var(--text-section);line-height:1.85;color:var(--mint);padding-bottom:14px;margin-bottom:16px;border-bottom:1px solid var(--mint-line)}
.callback-fields>.field:first-of-type{margin-top:0}.callback-fields>.checkline{margin-top:24px}
.contact-summary,.callback-receipt,.callback-feedback{margin-top:24px;padding:22px;border:1px solid var(--line);border-radius:18px;background:#ffffff03;min-width:0}
.inline-contact-summary{display:grid;gap:20px;padding:0;border:0;background:none}
.inline-contact-summary>.reception-call,.inline-contact-summary>.contact-summary{margin:0}
.reception-call{padding:22px;margin-block:24px;border-color:var(--mint-line);background:var(--mint-wash);align-items:stretch;text-align:start}
.reception-call .field-hint{font-size:var(--text-note);line-height:1.95;max-width:none;text-align:start;margin-top:14px}
.reception-call .reception-contact{align-self:stretch;min-height:56px;font-size:var(--text-label)}
.reception-contact bdi{font-size:20px;letter-spacing:.3px}
.contact-summary .coordination-draft{font-size:var(--text-body);line-height:2.1;min-height:300px;margin-top:14px;max-width:100%}
.contact-summary>.btn{margin-top:16px;min-height:48px}.contact-summary>.selection-note{margin-top:18px}
.copy-feedback:empty{display:none}.copy-feedback{padding:12px 14px;margin-top:14px;border:1px solid var(--mint-line);border-radius:12px;background:var(--mint-wash);color:var(--mint);font-size:var(--text-note);line-height:1.95}
.coordination-privacy{margin-top:20px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#ffffff03}.coordination-privacy .instruction-list{margin:0;font-size:var(--text-note);line-height:1.95}
.callback-receipt>.field-hint{margin-top:16px}.callback-receipt bdi{font-size:var(--text-label);font-variant-numeric:tabular-nums}
.callback-feedback{border-color:var(--error);background:#e458700d}.callback-feedback h2{color:var(--error);font-size:var(--text-section);line-height:1.85;margin-bottom:12px}
.callback-feedback p{font-size:var(--text-body);line-height:1.95}.callback-feedback>.btn{margin-top:16px;min-height:48px}
.callback-status{font-size:var(--text-note);margin-top:20px}
@media(max-width:640px){
 fieldset.contact-methods,.contact-summary,.callback-receipt,.callback-feedback,.reception-call{padding:16px}
 .contact-methods>.options{grid-template-columns:1fr}.callback-receipt .coordination-review-grid{grid-template-columns:1fr}
 .contact-summary>.btn,.callback-feedback>.btn,.coordination-panel .form-footer>.btn{width:100%}
 .coordination-panel .form-footer{flex-direction:column;align-items:stretch}
}
@media print{.callback-receipt,.contact-summary,.reception-call,.coordination-privacy{background:white;border-color:#ddd;color:#21152d}.callback-receipt>h2,.contact-summary>h2,.reception-call>h2{color:#21152d}.contact-summary>.btn,.copy-feedback{display:none}}

/* Search, applied choices and results are separate, readable groups. */
.directory-tools{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;padding:24px}
.directory-tools>h2,.listing-summary h2,.result-timing>h2,.empty-state>h2{font-size:var(--text-section);line-height:1.85;color:var(--mint);margin:0}
.directory-tools>h2{color:var(--ink);padding-bottom:14px;border-bottom:1px solid var(--mint-line)}
.directory-search{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:14px;min-width:0}
.directory-tools .field{min-width:0;margin:0}.directory-search>.btn{min-height:52px;align-self:start;margin-top:36px}
.directory-tools>.choice-field{padding:18px;border:1px solid var(--line);border-radius:16px;background:#1d142b36}
.directory-tools>.choice-field>legend{padding-inline:8px}.directory-tools .options{grid-template-columns:repeat(4,minmax(0,1fr))}
.directory-tools .option{min-width:0;align-items:center;padding:14px 12px}.directory-tools .option input{flex-shrink:0;margin-block:0}
.directory-tools .option-body{min-width:0}.directory-tools .option-body strong{font-size:var(--text-label);line-height:1.85;overflow-wrap:anywhere}
.listing-summary{margin-top:24px;padding:22px;border:1px solid var(--mint-line);border-radius:18px;background:linear-gradient(125deg,#28423938,#30203f55);min-width:0}
.listing-summary-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-bottom:14px;border-bottom:1px solid var(--mint-line)}
.listing-summary-heading>h2{min-width:0}.listing-count{margin:0;padding:7px 12px;border:1px solid var(--mint-line);border-radius:12px;background:var(--mint-wash);color:var(--mint);font-size:var(--text-label);line-height:1.9;flex-shrink:0}
.listing-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));gap:12px;margin:16px 0 0}
.listing-filters>div{min-width:0;padding:14px;border:1px solid var(--line);border-radius:12px;background:#20162e55}
.listing-filters dt{font-size:var(--text-note);color:var(--muted);line-height:1.9}.listing-filters dd{margin:6px 0 0;font-size:var(--text-label);line-height:1.95;overflow-wrap:anywhere;unicode-bidi:plaintext}
.listing-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}.listing-actions>.btn{min-height:48px}
.listing-summary>.field-hint{margin:16px 0 0}.result-timing{padding:20px}.result-timing>h2{padding-bottom:12px;margin-bottom:14px;border-bottom:1px solid var(--mint-line)}
.result-timing>.btn{margin-top:16px;min-height:48px}.result-timing>p{font-size:var(--text-body);margin-top:10px}
.online-alternative h2{font-size:var(--text-section);color:var(--mint)}.online-alternative p{font-size:var(--text-note);line-height:1.95}
.empty-state{margin:24px 0;padding:24px;border:1px solid var(--line);border-radius:18px;background:#241930b8;max-width:none;text-align:start}
.empty-state>h2{padding-bottom:14px;border-bottom:1px solid var(--mint-line)}.empty-state>p{font-size:var(--text-body);margin:16px 0 0;max-width:none;overflow-wrap:anywhere}
.empty-state .hero-actions{justify-content:flex-start;gap:12px;margin-top:20px}.empty-state .btn{min-height:48px;min-width:0}
@media(max-width:640px){
 .directory-tools,.listing-summary,.empty-state{padding:16px}.directory-search{grid-template-columns:1fr;gap:14px}.directory-search>.btn{margin-top:0;width:100%}
 .directory-tools>.choice-field{padding:14px}.directory-tools .options{grid-template-columns:repeat(2,minmax(0,1fr))}
 .listing-summary-heading{flex-wrap:wrap;gap:12px}.listing-filters{grid-template-columns:1fr}.listing-actions{display:grid;grid-template-columns:1fr}
 .empty-state .hero-actions{display:grid;grid-template-columns:1fr}.result-timing{padding:16px}.result-timing>.btn{width:100%}
 .results-header>.btn,.result-tools,.result-tools>.btn{width:100%}
}
@media(max-width:380px){.directory-tools .options{grid-template-columns:1fr}}
@media print{.listing-summary,.listing-filters>div,.listing-count,.empty-state{background:white;color:#21152d;border-color:#ddd}.listing-summary h2,.result-timing>h2,.empty-state>h2,.listing-filters dt{color:#21152d}.directory-tools,.listing-actions,.empty-state .hero-actions,.result-timing>.btn{display:none}}

/* Plum and violet remain the main palette; small blue details complement the emerald guide tab. */
:root{--ice:#acd5ec}
.site-header{flex-wrap:wrap}
.site-header .nav-actions .home-link{border:1px solid #bda0d566;border-radius:12px;padding-inline:14px;background:#bda0d510}
.site-header .nav-actions .home-link:hover{background:#bda0d525;color:var(--ink)}
.welcome-main{padding:32px;box-shadow:0 14px 36px #08041126}
.welcome-main::before,.welcome-main::after,.help-page .service-orbit{display:none}
.welcome-intro{padding-inline-end:0;margin-bottom:20px}
.welcome .welcome-intro h1{font-size:24px;line-height:1.7;margin:0}
.welcome .welcome-path{box-shadow:none}
.welcome .welcome-path-title{font-size:18px;line-height:1.8;font-weight:500}
.welcome .welcome-path-copy{font-size:15px;line-height:1.9;margin-top:10px}
.welcome .welcome-path:hover{transform:none;box-shadow:none}
.welcome .welcome-path-cta{align-self:stretch;min-height:52px;margin-top:20px;padding:12px 16px;border:1px solid #bda0d580;border-radius:14px;color:#ead9ff;background:#ffffff08;font-size:15px;line-height:1.8;font-weight:500}
.welcome .welcome-path-guided .welcome-path-cta{color:#210d2c;background:linear-gradient(115deg,#f7a0d7,#c7a4ff);border-color:#f9bce8}
.help-page,.service-content.help-page{width:min(760px,100%);margin:24px auto 48px}
.help-back{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 12px;border:1px solid #bda0d566;border-radius:12px;color:var(--ink);background:#ffffff05;font-size:14px;line-height:1.8;text-decoration:none;white-space:nowrap}
.help-back:hover{background:#ffffff0c;color:var(--ink);text-decoration:none}.help-back>span{font-size:20px}
.help-heading{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:16px;padding-bottom:18px;margin-bottom:20px;border-bottom:1px solid var(--line)}
.help-heading .help-back{order:-1}
.help-heading h1{font-size:24px;line-height:1.7;margin:0;color:var(--ink)}
.help-page .profile-panel,.help-page .service-hero,.help-page .service-section{padding:28px;border:1px solid #dcb9ed3d;border-radius:22px;background:linear-gradient(145deg,#34213fe8,#23192fe8);box-shadow:none}
.help-page .panel-title{font-size:24px;line-height:1.7;padding:0;margin:0 0 18px}
.help-page .service-section{margin-top:18px}
.help-page .profile-section{padding:20px 0 0;margin-top:20px;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent;box-shadow:none}
.help-page .profile-section>h2{color:var(--ink);font-size:18px}
.help-reading>section:first-child,.help-steps>li:first-child{padding-top:0}
.help-reading>section:last-child,.help-steps>li:last-child{padding-bottom:0}
.help-steps{margin-block:0}.help-steps>li::marker{color:var(--ice)}
.coordination-panel>.panel-desc{margin-bottom:24px}
.help-page .help-actions{display:grid;width:100%;max-width:652px;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:12px;padding:0;margin-top:20px}
.help-page .help-actions>.btn{width:100%;min-width:0;min-height:56px;margin:0;padding:12px 16px;border-radius:14px;font-size:15px;line-height:1.85;font-weight:500;overflow-wrap:anywhere;box-shadow:none}
.help-page .help-actions>.secondary,.help-page .help-actions>.ghost{background:#ffffff08;color:#ead9ff;border-color:#bda0d580}
.help-page .help-actions>.secondary:hover,.help-page .help-actions>.ghost:hover{background:#71518b44;border-color:#d5b8f0}
.help-page .help-bottom-actions{padding-top:20px;border-top:1px solid var(--line);margin-top:28px}
.help-hub>.help-context{margin-bottom:20px}
.help-hub .help-context .help-actions{margin:16px 0 20px}
.help-hub .help-context .help-actions>.btn:only-child{grid-column:1/-1}
.help-page .service-provider .help-actions{grid-template-columns:1fr;max-width:320px}
@media(max-width:600px){
 .welcome-main{padding:22px 18px}.welcome .welcome-path{padding:20px 16px}.welcome .welcome-intro h1{font-size:22px}
 .help-page,.service-content.help-page{margin:14px auto 32px}
 .help-heading{gap:12px;padding-bottom:16px;margin-bottom:16px}.help-heading h1{font-size:22px}
 .help-back{padding:8px 10px}
 .site-header .nav-actions .btn{font-size:13px}.site-header .brand-name{font-size:24px}
 .help-page .profile-panel,.help-page .service-hero,.help-page .service-section{padding:20px 18px;border-radius:18px}
 .help-page .help-actions,.help-page .service-provider .help-actions{grid-template-columns:1fr;max-width:none;gap:10px}
}
@media print{.help-back,.help-page .help-actions{display:none}.help-page .profile-panel,.help-page .service-hero,.help-page .service-section{background:white;color:#21152d;box-shadow:none}.help-heading h1{color:#21152d}}

/* Keep choices and editing controls readable without changing the brand palette. */
.session-zone-label,.session-mode-label{color:var(--ink);font-size:15px;line-height:1.9;margin-block:16px}
.abroad-budget-ranges{border-top:1px solid var(--line);padding-top:18px;margin-top:20px}
.abroad-budget-ranges>.field+.field{border-top:1px solid var(--line);padding-top:18px}
.selection-summary{min-width:0;border:1px solid var(--line);border-radius:18px;padding:20px;margin-block:20px}
.selection-summary>h2{font-size:18px;color:var(--ink);line-height:1.9;margin:0 0 14px}
.selection-summary-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0}
.selection-summary-facts>div{min-width:0}.selection-summary-facts dt{color:var(--muted);font-size:13px;margin-bottom:4px}
.selection-summary-facts dd{color:var(--ink);font-size:14px;line-height:1.9;margin:0;overflow-wrap:anywhere}
.selection-summary>.compact-details{margin-bottom:12px}.selection-summary .summary-group-header h2{color:var(--ink)}
.selection-summary .result-review-action{margin:0}.selection-summary .review-answers{margin:0}
.form-footer.edit-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:12px}
.form-footer.edit-actions>.btn{width:100%;min-width:0;min-height:56px;margin:0;padding:12px 10px;font-size:15px;line-height:1.8;white-space:normal}
@media(max-width:600px){.selection-summary{padding:16px}.selection-summary-facts{grid-template-columns:1fr;gap:12px}.selection-summary-facts>div+div{border-top:1px solid var(--line);padding-top:12px}}
@media(max-width:340px){.form-footer.edit-actions{grid-template-columns:1fr}}

/* Main form text stays white; emerald belongs to the help area. */
@media screen and (forced-colors:none){
 .flow-layout,.help-page{
  --guide-emerald:#8bd8c0;
  --guide-frame:linear-gradient(120deg,#4da98f80,#8bd8c0a6 26%,#cea4ffb3 70%,#9a7ac370);
 }
 #guide-form :is(.panel-title,.field-label),
 #guide-form :is(.area-preferences,.session-preferences,.budget-range,.context-panel)>h2{color:var(--ink)}
 .help-page :is(.help-heading h1,.help-menu-copy strong,.help-reading h2,.help-steps h2,.help-context>h2,.profile-section>h2,.session-question>summary){color:var(--guide-emerald)}
 .flow-layout>.form-panel,
 #guide-form :is(.option,.start-preferences,.location-fields,.area-preferences,.session-preferences,.budget-range,.context-panel,.other-topic-field,.compact-details,.topic-group,.urgent-quote),
 .help-page :is(.help-menu-link,.profile-panel,.service-hero,.service-section){position:relative}
 .flow-layout>.form-panel::before,
 #guide-form :is(.option,.start-preferences,.location-fields,.area-preferences,.session-preferences,.budget-range,.context-panel,.other-topic-field,.compact-details,.topic-group,.urgent-quote)::before,
 .help-page :is(.help-menu-link,.profile-panel,.service-hero,.service-section)::before{
  content:'';
  position:absolute;
  inset:0;
  padding:1px;
  border-radius:inherit;
  background:var(--guide-frame);
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;
  mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  mask-composite:exclude;
  pointer-events:none;
 }
 #guide-form .option::before{opacity:.55}
 #guide-form .option:has(input:checked)::before{opacity:.85}
 #guide-form .option:has(input[aria-invalid=true])::before{display:none}
 .flow-layout>.form-panel{
  box-shadow:0 20px 70px #08041155,0 0 0 7px #b48ade06,inset 0 1px #ffffff12,-5px 0 22px #2c806b14,5px 0 22px #cea4ff18;
 }
 .help-page :is(.help-menu-link,.profile-panel,.service-hero,.service-section){
  box-shadow:-4px 0 16px #2c806b12,4px 0 16px #cea4ff14;
 }
}
/* Service landing pages reuse the existing palette and responsive cards. */
.service-breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-block:24px 16px;font-size:13px;color:var(--muted)}
.service-breadcrumbs a{color:var(--ink);min-height:44px;display:inline-flex;align-items:center}
.service-heading,.service-reading,.service-questions,.service-next{margin-block:24px}
.service-heading .panel-desc{max-width:75ch}.service-heading .card-actions{margin-top:22px}
.service-explore{margin-block:28px;padding:24px;border:1px solid var(--line);border-radius:22px;background:var(--surface)}
.service-explore h2,.service-providers>h2,.service-reading h2,.service-questions>h2,.service-next>h2{font-size:var(--text-section);line-height:1.9;margin-bottom:16px;color:var(--ink)}
.service-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.service-links a{display:flex;align-items:center;min-height:52px;padding:14px 18px;border:1px solid var(--line);border-radius:14px;text-decoration:none;color:var(--ink);line-height:1.9;overflow-wrap:anywhere}
.service-links a:hover,.service-links a:focus-visible{border-color:var(--accent);outline-offset:3px}
.service-explore-compact .service-links{display:flex;flex-wrap:wrap;gap:8px}.service-explore-compact .service-links a{padding:8px 14px;min-height:44px;font-size:13px}
.service-providers{scroll-margin-top:24px;margin-block:28px}.service-providers .card-specialties{color:var(--muted);font-size:14px;line-height:1.9}
.service-card-fees{margin-top:18px}.service-card-fees h4{font-size:14px;line-height:1.9;margin-bottom:10px}
.service-card-fees .simple-facts{flex-wrap:wrap;gap:6px 14px}.service-providers .card-actions .btn{white-space:normal;text-align:center;overflow-wrap:anywhere}
.service-reading>section+section{margin-top:24px;padding-top:24px;border-top:1px solid var(--line)}.service-reading p,.service-next p{max-width:75ch;line-height:2}
.service-next .card-actions{margin-top:18px}.service-questions>h2{margin-bottom:8px}
@media(max-width:640px){.service-links{grid-template-columns:1fr}.service-explore{padding:18px}.service-heading,.service-reading,.service-questions,.service-next{padding:20px 18px}.service-providers .therapist-card{min-width:0}.service-heading .card-actions>.btn,.service-next .card-actions>.btn{flex:1 1 100%}.service-breadcrumbs{font-size:12px;gap:4px 8px}}
@media print{.service-explore,.service-heading,.service-reading,.service-questions,.service-next{background:white;color:#21152d;box-shadow:none}.service-breadcrumbs{display:none}}

/* Distinct paid placement; the ordinary directory order remains unchanged. */
.promotion-slot{margin-block:24px;padding:22px;border:1px solid var(--violet-line);border-radius:22px;background:var(--violet-light)}.promotion-slot[hidden]{display:none}.promotion-slot>h2{margin:0 0 6px;font-size:22px}.promotion-slot .therapist-card{margin:0}.promotion-slot .pill{margin-bottom:12px}

.profile-introduction p{white-space:pre-line;overflow-wrap:anywhere;line-height:2}

/* Therapist overview: existing plum/violet palette, scoped to the directory. */
.results-grid.directory-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch;margin-top:22px}
.therapist-card.directory-card{padding:0;overflow:hidden;border-color:#d5b6e83d;transition:border-color .18s,box-shadow .18s}
.directory-card:hover{border-color:#cea4ff99;box-shadow:0 18px 42px #07030e55}
.directory-card-media{position:relative;display:grid;place-items:center;min-height:208px;padding:28px 20px 22px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,#79407830,#55316e25)}
.directory-card .directory-card-media .avatar{width:148px;height:148px;border-radius:50%;font-size:38px;background:var(--surface);box-shadow:0 0 0 6px #dfb4f019,0 12px 26px #07030e40}
.directory-card .directory-card-media .avatar.portrait{width:148px;height:148px}
.directory-card-body{display:flex;flex:1;flex-direction:column;padding:21px;gap:10px;min-width:0}
.directory-card .card-name{font-size:17px;margin:0;line-height:1.8}
.directory-card .card-sub{font-size:12px;min-height:24px;margin:0;line-height:1.9}
.directory-card-topics{display:flex;flex-wrap:wrap;gap:7px;margin:5px 0;padding:0;list-style:none}
.directory-card-topics li{font-size:11px;line-height:1.9;padding:4px 9px;border:1px solid #cea4ff29;background:#cea4ff0c;border-radius:9px;color:#e4caff}
.directory-card-intro{font-size:12px;line-height:2;color:var(--muted);margin:0}
.directory-card-summary{font-size:12px;line-height:1.95;color:var(--muted)}
.directory-card-summary .card-mode{font-size:12px;color:#b5e3d9}
.directory-card-summary .plain-note{margin-top:5px}
.directory-card .card-actions{padding-top:14px;margin-top:auto}
.directory-card .card-actions .btn{min-height:44px;flex:1}
.favorite-button{display:inline-flex;align-items:center;justify-content:center;width:44px;min-width:44px;height:44px;padding:10px;flex-shrink:0;border:1px solid #d5b6e860;border-radius:50%;background:#241832;color:#e4caff;cursor:pointer;transition:border-color .18s,background .18s}
.favorite-button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8}
.favorite-button[aria-pressed=true]{background:#3b2148;color:#ffb0e3;border-color:#f38bd2}
.favorite-button[aria-pressed=true] svg{fill:currentColor}
.favorite-button:hover{border-color:var(--focus);background:#382044}
.favorite-button:focus-visible,.favorites-tabs .btn:focus-visible{outline:3px solid var(--focus);outline-offset:4px}
.directory-card-media>.favorite-button{position:absolute;inset-block-start:14px;inset-inline-end:14px}
.favorites-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-block:22px 8px}
.favorites-tabs{display:flex;flex-wrap:wrap;gap:8px}
.favorites-tabs .btn{min-height:44px;font-size:12px}
.favorites-note,.favorites-status{font-size:12px;line-height:1.9;color:var(--muted)}
.favorites-status{min-height:1.9em}
@media(min-width:641px) and (max-width:1000px){.results-grid.directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.results-grid.directory-grid{grid-template-columns:1fr;gap:18px}.directory-card-media{min-height:190px;padding-block:22px}.directory-card-body{padding:20px}.directory-card .card-name{font-size:19px}.directory-card .card-sub{min-height:0}.favorites-toolbar{align-items:stretch}.favorites-tabs{width:100%}.favorites-tabs .btn{flex:1}.directory-card .card-actions .btn{font-size:14px}}
@media(prefers-reduced-motion:reduce){.directory-card,.favorite-button{transition:none}}
@media print{.favorite-button,.favorites-toolbar,.favorites-status{display:none}.directory-card-media{background:none}.directory-card-topics li{color:inherit}.results-grid.directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.directory-card-fees{border-top:1px solid var(--line);margin-top:8px}
.directory-card-fees>summary{display:flex;align-items:center;justify-content:space-between;min-height:44px;cursor:pointer;list-style:none;color:var(--ink);font-size:12px;padding-block:8px}
.directory-card-fees>summary::-webkit-details-marker{display:none}
.directory-card-fees>summary::after{content:'+';font-size:20px;color:var(--violet)}
.directory-card-fees[open]>summary::after{content:'−'}
.directory-card-fees>summary:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:6px}

/* Keep discovery controls compact so the people are visible before long guides. */
.directory-tools{padding:18px;gap:14px;margin-top:16px}
.directory-tools>h2{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.directory-search{gap:10px;align-items:end}
.directory-search>.btn{margin-top:0;align-self:end;min-height:46px}
.directory-tools .field-label{font-size:12px;margin-bottom:6px}
.directory-tools input[type=search]{min-height:46px;padding-block:10px}
.directory-tools>.choice-field{padding:0;border:0;background:transparent}
.directory-tools>.choice-field>legend{font-size:12px;padding:0;margin-bottom:8px}
.directory-tools .options{gap:8px}
.directory-tools .option{padding:8px 12px;min-height:44px;border-radius:12px}
.directory-tools .option-body strong{font-size:12px}
.favorites-toolbar{margin-block:16px 4px;gap:8px}
.favorites-status:empty{display:none}
.listing-summary.listing-summary-compact{padding:0;margin-top:12px;border:0;background:none}
.listing-summary-compact .listing-summary-heading{padding:0;border:0}
.listing-summary-compact .listing-summary-heading>h2{font-size:14px;margin:0}
.listing-summary-compact .listing-count{padding:3px 10px;font-size:12px}
.therapist-card:not(.directory-card)>.favorite-button{align-self:flex-end;margin-bottom:8px}
.profile-header>.favorite-button{margin-inline-start:auto}
.directory-card-fees>summary::after{min-width:0;padding:0;border:0;background:transparent}
@media(max-width:640px){.directory-tools{padding:14px;gap:12px}.directory-search{grid-template-columns:minmax(0,1fr) auto;gap:8px}.directory-search>.btn{width:auto;min-width:70px;padding-inline:10px}.directory-tools>.choice-field{padding:0}.directory-tools .options{grid-template-columns:repeat(2,minmax(0,1fr))}.directory-tools .option{padding:8px}.favorites-toolbar{margin-top:14px}.favorites-note{margin:0}.listing-summary-compact .listing-summary-heading{flex-wrap:nowrap}.directory-card-media{min-height:184px}}
