/* Consultation notebook: purpose first, a quiet writing desk, visible recovery.
   Page-scoped extension of the frozen site tokens and components. */
body.consult-notebook { color:var(--ink); }
.consult-notebook [hidden] { display:none !important; }
.consult-notebook :is(button,a,input,textarea,summary):focus-visible {
  outline:2px solid var(--ink); outline-offset:4px;
}
.consult-notebook .cn-skip { position:absolute;inset-inline-start:var(--sp-6);inset-block-start:var(--sp-2);transform:translateY(-200%);z-index:100;background:var(--slip);padding:var(--sp-3); }
.consult-notebook .cn-skip:focus { transform:none; }
.consult-notebook #pl-hero { padding:var(--sp-10) 0 var(--sp-12); }
.consult-notebook #pl-hero>.wrap { display:block; }
.consult-notebook .pl-hero-say { margin:0 0 var(--sp-8); }
.consult-notebook #pl-hero .eyebrow { margin:0 0 var(--sp-3);font-size:var(--fs-meta);color:var(--ink-meta);line-height:var(--lh-body); }
.consult-notebook #pl-hero h1 { font:700 var(--fs-display)/var(--lh-heading) var(--font-display);max-width:var(--measure);margin:0 0 var(--sp-3); }
.consult-notebook #pl-hero .sub { font-size:var(--fs-body);line-height:var(--lh-body);max-width:var(--measure);color:var(--ink-soft);margin:0; }
.consult-notebook .pl-hero-decide { background:var(--slip);border:1px solid var(--line-gold);border-radius:var(--r-surface);padding:var(--sp-6);margin:0; }
.consult-notebook .fn-track { display:none; }
.cn-route fieldset, fieldset.cn-route { min-width:0;border:0;padding:0;margin:0; }
.cn-route legend { padding:0;margin:0 0 var(--sp-4);font-size:var(--fs-lead);font-weight:700;line-height:var(--lh-lead);color:var(--ink); }
.cn-route p { line-height:var(--lh-body); }
.cn-route .cn-option { display:flex;align-items:flex-start;gap:var(--sp-3);padding:var(--sp-4);margin:0 0 var(--sp-3);border:1px solid var(--line-gold);border-radius:var(--r-control);background:var(--paper);cursor:pointer;min-height:56px;text-align:start; }
.cn-route .cn-option:has(input:checked) { border-color:var(--ink);background:var(--slip); }
.cn-route .cn-option:has(input:focus-visible) { outline:2px solid var(--ink);outline-offset:3px; }
.cn-route input[type=radio] { accent-color:var(--ink);flex:0 0 auto;width:20px;height:20px;min-height:20px;padding:0;margin:var(--sp-1) 0 0; }
.cn-choice-body { display:block;min-width:0;font-size:var(--fs-body);font-weight:600;line-height:var(--lh-body); }
.cn-choice-body :is(small,span) { display:block;font-size:var(--fs-meta);font-weight:500;line-height:var(--lh-body);color:var(--ink-soft); }
.cn-subquestion { margin-block-start:var(--sp-6);padding-block-start:var(--sp-6);border-block-start:1px dashed var(--line-dash); }
.cn-recommendation { margin:var(--sp-5) 0;padding:var(--sp-4);border-inline-start:3px solid var(--ink);background:var(--paper);font-size:var(--fs-body);line-height:var(--lh-body); }
.cn-recommendation :is(h3,p) { margin:0 0 var(--sp-2); }
.cn-route-error:empty { display:none; }
.cn-route-error { color:var(--ink);font-size:var(--fs-body);line-height:var(--lh-body);margin:var(--sp-3) 0; }
.consult-notebook #pl-hero .pl-note { font-size:var(--fs-meta);line-height:var(--lh-body);color:var(--ink-soft);margin:var(--sp-3) 0 0; }
.consult-notebook .cn-account-expectation { margin:var(--sp-4) 0 0;padding-block-start:var(--sp-4);border-block-start:1px solid var(--line-gold);font-size:var(--fs-meta);color:var(--ink-soft);line-height:var(--lh-body); }
.consult-notebook #pl-start { margin-block-start:var(--sp-2); }
.consult-notebook .pl-hero-trust { display:flex;flex-wrap:wrap;gap:var(--sp-3) var(--sp-6);margin:var(--sp-5) 0 0;padding:0;border:0;color:var(--ink-soft);font-size:var(--fs-meta); }
.consult-notebook .pl-hero-audio { margin:var(--sp-3) 0 0;font-size:var(--fs-meta);line-height:var(--lh-body); }
.cn-how-head { display:flex;align-items:center;justify-content:space-between;gap:var(--sp-6);margin-block-end:var(--sp-6); }
.consult-notebook .cn-how-head .pl-hero-fig { width:200px;max-width:40%;margin:0;padding:var(--sp-3);flex-shrink:0; }
.consult-notebook .cn-how-head .pl-hero-fig figcaption { font-size:var(--fs-meta);line-height:var(--lh-body); }
.consult-notebook #pl-how { padding-block:var(--sp-12);border-block-start:1px solid var(--line-gold); }
.consult-notebook .cn-process { padding:0;margin:0;list-style:none; }
.cn-process li { display:grid;grid-template-columns:32px minmax(0,1fr);gap:var(--sp-4);padding:var(--sp-5) 0;border-block-start:1px solid var(--line-gold); }
.cn-process .cn-step-number { font-family:var(--font-display);font-size:var(--fs-h2);font-weight:700;color:var(--ink-meta); }
.cn-process h3 { margin:0 0 var(--sp-1);font-size:var(--fs-body);font-family:var(--font-fa);line-height:var(--lh-body); }
.cn-process p { margin:0;color:var(--ink-soft);font-size:var(--fs-body);line-height:var(--lh-body); }
.consult-notebook :is(.pl-msg,.fn-hint,.fn-back,.fn-w-saved) { color:var(--ink-soft); }
.consult-notebook #fn-steps { background:var(--slip);border-block-end:1px solid var(--line-gold); }
.consult-notebook .fn-steps-in { gap:var(--sp-6);padding-block:var(--sp-3); }
.consult-notebook .fn-steps-track { height:2px;background:var(--line-gold); }
.consult-notebook .fn-steps-track i { background:var(--ink); }
.consult-notebook #fn-writing>.wrap { padding-block-start:var(--sp-6);padding-block-end:var(--sp-8); }
.consult-notebook #fn-w-title { font:700 var(--fs-h1)/var(--lh-heading) var(--font-display);margin:var(--sp-4) 0 var(--sp-2); }
.consult-notebook #fn-w-lede { font-size:var(--fs-body);line-height:var(--lh-body);margin:0 0 var(--sp-5);color:var(--ink-soft); }
.consult-notebook .fn-prompt { background:var(--slip);border:1px solid var(--line-gold);border-inline-start:3px solid var(--ink);border-radius:var(--r-row);padding:var(--sp-5);margin-block-end:var(--sp-4); }
.consult-notebook .fn-prompt .task { color:var(--ink-meta);font-size:var(--fs-meta);margin:0 0 var(--sp-2); }
.consult-notebook .fn-prompt .text { font-size:var(--fs-lead);line-height:var(--lh-en);color:var(--ink);margin:0; }
.consult-notebook #fn-w-box { min-height:280px;background:var(--slip);border:1px solid var(--line-gold);border-radius:var(--r-control);font:500 var(--fs-body)/1.8 var(--font-en);padding:var(--sp-5);color:var(--ink);resize:vertical; }
.consult-notebook #fn-w-box:focus { border-color:var(--ink); }
.consult-notebook .fn-restore { border:1px solid var(--ink);border-radius:var(--r-row);background:var(--slip);padding:var(--sp-4);gap:var(--sp-3); }
.consult-notebook :is(.cn-writing-tools,.fn-draft-actions) { display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2) var(--sp-4); }
.cn-writing-tools button { min-height:44px;background:none;border:0;text-decoration:underline;text-underline-offset:4px;font:500 var(--fs-meta)/var(--lh-body) var(--font-fa);color:var(--ink-soft);cursor:pointer; }
.cn-draft-scope { font-size:var(--fs-meta);line-height:var(--lh-body);color:var(--ink-soft);margin:var(--sp-2) 0 var(--sp-4); }
.cn-auth-title { margin:0 0 var(--sp-2);font-size:var(--fs-lead);line-height:var(--lh-lead); }
.consult-notebook #fn-w-auth .pl-actions { margin-block-start:var(--sp-4); }
.consult-notebook #pl-result { direction:rtl;text-align:right; }
.consult-notebook #pl-result :is(#pl-why,.pl-sec,#pl-door,#pl-review,.b1-body,.pl-pace,.pl-sk-row,.pl-steps) { direction:rtl;text-align:right; }
.consult-notebook #pl-result :is(p,h2,h3,.raw,.pl-sk-ev,.pl-level i) { font-family:var(--font-fa);letter-spacing:0;font-style:normal; }
.consult-notebook #pl-result :is(.q,.pl-miss .ans) { direction:ltr;text-align:left;font-family:var(--font-en); }
.consult-notebook #pl-res-cefr { display:inline-block;direction:ltr; }
.consult-notebook #pl-res-hero { min-height:0;padding:var(--sp-8) 0 var(--sp-6); }
.consult-notebook #pl-res-hero .b1-body { min-height:0; }
.consult-notebook #pl-result #pl-res-cefr { font-size:48px;line-height:1.1; }
.consult-notebook #pl-res-hero .b1-body { transform:none; }
.consult-notebook .cn-route-summary .cn-recommendation { border:0;background:none;padding:0;margin:0; }
.consult-notebook #fn-route-summary-result { margin-block-start:var(--sp-5); }
.cn-route-summary { display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-4);align-items:center;border-block-end:1px dashed var(--line-dash);padding:var(--sp-3) 0;margin-block-end:var(--sp-4);font-size:var(--fs-meta);line-height:var(--lh-body);color:var(--ink-soft); }
.cn-route-summary button { background:none;border:0;min-height:44px;color:var(--ink);text-decoration:underline;text-underline-offset:4px;font:inherit;cursor:pointer; }
.consult-notebook :is(#fn-w-auth,.fn-auth,.cn-auth) { background:var(--slip);border:1px solid var(--ink);border-radius:var(--r-surface);padding:var(--sp-5);margin:var(--sp-5) 0; }
.consult-notebook :is(#fn-w-auth,.fn-auth,.cn-auth) label { display:block;line-height:var(--lh-body);margin-block:var(--sp-2); }
.consult-notebook :is(#fn-w-auth,.fn-auth,.cn-auth) input { width:100%;min-height:48px;padding:var(--sp-3);font-size:var(--fs-body);border:1px solid var(--line-gold);border-radius:var(--r-control);background:var(--paper);color:var(--ink); }
.consult-notebook :is(#fn-w-auth,.fn-auth,.cn-auth) button { min-height:44px;font-size:var(--fs-body); }
.consult-notebook #fn-booking .fn-day { min-height:64px;border-radius:var(--r-control); }
.consult-notebook #fn-booking .fn-slot { min-height:48px;border-radius:var(--r-control);font-size:var(--fs-body); }
.consult-notebook .cn-return-note { padding:var(--sp-4);margin-block:var(--sp-4);border-inline-start:3px solid var(--ink);background:var(--slip);font-size:var(--fs-body);line-height:var(--lh-body); }
@media (min-width:1024px) {
  .consult-notebook #pl-hero>.wrap { max-width:var(--measure-wide);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:var(--sp-12);align-items:start; }
  .consult-notebook .pl-hero-say { padding-block-start:var(--sp-6); }
  .consult-notebook #pl-hero h1 { font-size:clamp(40px,5vw,56px); }
  .consult-notebook #pl-hero .sub { font-size:var(--fs-lead); }
  .consult-notebook #fn-writing>.wrap { max-width:var(--measure); }
}
@media (max-width:767px) {
  .consult-notebook #pl-hero { padding-block:var(--sp-6) var(--sp-8); }
  .consult-notebook #pl-hero h1 { font-size:var(--fs-h1); }
  .consult-notebook .pl-hero-say { margin-block-end:var(--sp-5); }
  .consult-notebook .pl-hero-decide { padding:var(--sp-4); }
  .cn-route legend { font-size:var(--fs-body); }
  .cn-route .cn-option { padding:var(--sp-3); }
  .cn-how-head { align-items:flex-start; }
  .consult-notebook #fn-w-box { min-height:240px; }
  .consult-notebook .fn-w-saved { font-size:var(--fs-meta);line-height:var(--lh-body);white-space:normal; }
  .consult-notebook #fn-w-count { font-size:var(--fs-meta);line-height:var(--lh-body); }
  .consult-notebook .fn-bar { padding-bottom:calc(var(--sp-3) + env(safe-area-inset-bottom,0px)); }
  .consult-notebook .fn-w-bar { flex-wrap:wrap;gap:var(--sp-1) var(--sp-3); }
  .consult-notebook.fn-kbd .fn-bar { display:block; }
  .consult-notebook.fn-kbd .fn-bar #fn-w-send { width:100%;margin-block-start:var(--sp-2); }
}
@media (prefers-reduced-motion:reduce) {
  .consult-notebook *, .consult-notebook *::before, .consult-notebook *::after { animation-duration:0.01ms!important;transition-duration:0.01ms!important;scroll-behavior:auto!important; }
}
