/* Keep selected and permanent heading markers on the same baseline. */
:root{--site-marker-top:59%;--site-marker-bottom:88%;}
:root{--ease:cubic-bezier(.22,1,.36,1)}
body{background:var(--neutral-50) url('brand/04-backgrounds/paper-dots-tile.svg') 0 0/19.2px 19.2px}
.site-header{border:0}.concept-controls{padding-block:18px 22px;border-block:1px solid var(--neutral-200);display:flex;gap:24px;align-items:center;justify-content:space-between}.eyebrow{font:10px/1.7 var(--font-mono);letter-spacing:.07em;color:var(--neutral-600)}
.concept-controls [role=tablist]{display:flex;gap:6px;flex-wrap:wrap}.concept-controls button{padding:10px 13px;background:transparent;border:1px solid transparent;border-radius:6px;font:11px/1.5 var(--font-body);color:var(--neutral-600)}.concept-controls button[aria-selected=true]{background:var(--neutral-950);color:var(--neutral-50)}
button:focus-visible,a:focus-visible{outline:2px solid var(--vermilion-700);outline-offset:4px}.consult-stage{padding-top:54px;--panel-gap:36px}.page-intro h1{font:700 clamp(36px,4vw,56px)/1.13 var(--font-head);letter-spacing:-.045em;margin:18px 0 23px}.page-intro em,.keep-in-touch em{font:inherit;font-style:normal;background:linear-gradient(transparent var(--site-marker-top),var(--vermilion-500) var(--site-marker-top) var(--site-marker-bottom),transparent var(--site-marker-bottom))}.intro-copy{max-width:510px;font:13px/1.9 var(--font-body);color:var(--neutral-600)}
.booking-panel{background:var(--neutral-0);border:1px solid var(--neutral-200);border-radius:12px;overflow:hidden;display:grid;grid-template-columns:230px minmax(0,1fr)}.host-panel{padding:30px;background:var(--neutral-50);border-inline-end:1px solid var(--neutral-200);display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:center;gap:20px}.host-portrait{width:72px;height:72px;flex:none;border-radius:50%;overflow:hidden;background:var(--neutral-200)}.host-portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 15%}.host-name strong{font:700 16px/1.5 var(--font-head)}.host-name p{font-size:9px;color:var(--neutral-600);line-height:1.8;margin-top:4px}.host-note{font:11px/1.8 var(--font-body);color:var(--neutral-600)}
.time-art{position:relative;width:160px;height:160px}.time-art svg{position:absolute;inset:0;width:100%;height:100%}.clock-track{stroke:var(--neutral-200)}.clock-arc{stroke:var(--vermilion-500);stroke-width:2;stroke-dasharray:1;stroke-dashoffset:.5;transform-origin:center;transform:rotate(0deg);transition:stroke-dashoffset .8s var(--ease)}[data-duration="60"] .clock-arc{stroke-dashoffset:0}.clock-hands{display:none}.time-numeral{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.duration-number{font:700 62px/1 var(--font-head);letter-spacing:-.07em;font-variant-numeric:tabular-nums}.time-numeral small{font:9px var(--font-mono);margin-top:8px;color:var(--neutral-600)}
.session-panel{padding:30px;min-width:0}.session-top{display:flex;gap:12px;justify-content:space-between;align-items:center;margin-bottom:26px}.closed-status{display:inline-flex;align-items:center;gap:7px;color:var(--neutral-600);font:10px/1.5 var(--font-body)}.closed-status>span:first-child{font:12px var(--font-mono)}.duration-picker{position:relative;isolation:isolate;display:grid;grid-template-columns:1fr 1fr;background:var(--neutral-50);border:1px solid var(--neutral-200);padding:4px;border-radius:8px;width:100%;max-width:360px}.duration-picker button{position:relative;border:0;border-radius:5px;background:transparent;padding:12px 10px;font:500 12px var(--font-body);color:var(--neutral-600)}.duration-picker button[aria-checked=true]{color:var(--neutral-950)}.picker-indicator{position:absolute;z-index:-1;inset-block:4px;inset-inline-start:4px;width:calc(50% - 4px);border-radius:5px;background:var(--neutral-0);border:1px solid var(--neutral-200);transition:inset-inline-start .45s var(--ease)}[data-duration="60"] .picker-indicator{inset-inline-start:50%}
.session-copy{margin-top:26px;min-height:113px}.session-copy h2{font:700 29px/1.2 var(--font-head);letter-spacing:-.035em;margin-bottom:12px}.session-copy p{font:12px/1.9 var(--font-body);color:var(--neutral-600);max-width:420px}.session-agenda{list-style:none;padding:0;margin:14px 0 26px;display:grid;gap:13px}.session-agenda li{display:flex;align-items:baseline;gap:14px;font:11px/1.7 var(--font-body)}.session-agenda li>span{font:9px var(--font-mono);color:var(--neutral-500)}.session-bottom{border-top:1px solid var(--neutral-200);padding-top:20px}.booking-disabled{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;background:var(--neutral-100);border:1px solid var(--neutral-200);border-radius:6px;padding:14px 8px;color:var(--neutral-600);font:11px/1.5 var(--font-body);cursor:not-allowed}.availability-note{font:10px/1.8 var(--font-body);color:var(--neutral-600);margin-top:10px}
.keep-in-touch{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:36px;padding-block:34px 44px;margin-top:40px;border-top:1px solid var(--neutral-200)}.keep-in-touch h2{font:700 28px/1.3 var(--font-head);letter-spacing:-.03em;margin-block:9px 12px}.touch-copy{font:12px/1.8 var(--font-body);color:var(--neutral-600)}.contact-options{min-width:325px}.contact-options .social-links{margin:0 0 18px;display:flex;gap:12px}.email-contact{display:inline-flex;align-items:center;gap:18px;padding:0 0 5px;border:0;border-bottom:1px solid var(--neutral-400);background:transparent;font:13px var(--font-body)}.email-contact:hover{color:var(--vermilion-700)}.email-placeholder{display:block;margin-top:8px;font:9px var(--font-mono);color:var(--neutral-600)}
.study-footer{display:flex;justify-content:space-between;gap:20px;padding-block:22px 30px;border-top:1px solid var(--neutral-200);font:10px/1.8 var(--font-body);color:var(--neutral-600)}.study-footer a{text-decoration:underline;text-underline-offset:4px}
/* 01: a compact personal desk, with the invitation outside its single panel. */
.desk{display:grid;grid-template-columns:.85fr 1.15fr;gap:0 60px;align-items:start}.desk .page-intro{padding-top:24px}.desk .booking-panel{grid-template-columns:1fr}.desk .host-panel{flex-direction:row;justify-content:flex-start;gap:14px;text-align:start;padding:22px 28px;border-inline-end:0;border-bottom:1px solid var(--neutral-200)}.desk .host-portrait{width:48px;height:48px}.desk .host-note,.desk .time-art{display:none}.desk .keep-in-touch{margin-top:46px}
/* 02: the whole session reads as one wide appointment card. */
.ticket .page-intro{text-align:center;max-width:780px;margin:0 auto 36px}.ticket .intro-copy{margin-inline:auto}.ticket .page-intro h1 br{display:none}.ticket .booking-panel{max-width:920px;margin:auto;grid-template-columns:310px minmax(0,1fr)}.ticket .host-panel{background:var(--neutral-950);border:0;color:var(--neutral-50);padding:36px}.ticket .host-name p,.ticket .host-note,.ticket .time-numeral small{color:var(--neutral-400)}.ticket .clock-track{stroke:var(--neutral-800)}.ticket .clock-arc{stroke:var(--vermilion-300)}.ticket .host-portrait{background:var(--neutral-700)}.ticket .session-panel{padding:34px 42px}.ticket .duration-picker{max-width:none}.ticket .keep-in-touch{max-width:920px;margin-inline:auto}
/* 03: an editorial appointment sheet with a prominent duration. */
.note .page-intro{max-width:740px;margin-bottom:34px}.note .page-intro h1 br{display:none}.note .booking-panel{grid-template-columns:300px minmax(0,1fr);border-top:3px solid var(--vermilion-500)}.note .host-panel{background:var(--neutral-0);padding:35px;justify-content:space-between;gap:14px}.note .host-portrait{display:none}.note .time-art{order:-1;width:200px;height:170px}.note .time-art svg{display:none}.note .duration-number{font-size:110px}.note .time-numeral small{font-size:11px}.note .host-name strong{font-size:15px}.note .host-note{display:none}.note .session-panel{display:grid;grid-template-columns:1fr 1fr;gap:0 28px;padding:30px 36px}.note .session-top,.note .session-bottom{grid-column:1/-1}.note .duration-picker{grid-column:1/-1;max-width:290px}.note .session-copy{min-height:150px}.note .session-agenda{margin-block:29px 20px;align-content:center}.note .session-bottom{display:flex;gap:20px;align-items:center}.note .booking-disabled{width:auto;min-width:240px}.note .availability-note{margin:0}.note .keep-in-touch{margin-top:32px}
.consult-stage.entering .booking-panel{animation:panel-in .6s var(--ease) both}.session-copy.changing,.session-agenda.changing{animation:copy-in .35s var(--ease) both}@keyframes panel-in{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}@keyframes copy-in{from{opacity:.3;translate:0 5px}to{opacity:1;translate:0 0}}
#contact-preview{max-width:450px;width:calc(100% - 40px);border:1px solid var(--neutral-200);border-radius:12px;padding:32px;background:var(--neutral-50);color:var(--neutral-950)}#contact-preview::backdrop{background:rgb(20 20 20 / .35)}#contact-preview h2{font:700 28px/1.4 var(--font-head);margin:10px 0 20px}#contact-preview p{font:13px/1.9 var(--font-body)}.close-dialog{float:inline-end;background:transparent;font-size:24px}
[dir=rtl] .page-intro h1,[dir=rtl] .session-copy h2,[dir=rtl] .keep-in-touch h2,[dir=rtl] .host-name strong{font-family:var(--font-body);letter-spacing:0;line-height:1.5}[dir=rtl] .eyebrow,[dir=rtl] .email-placeholder{font-family:var(--font-body);letter-spacing:0}[dir=rtl] .session-copy h2{font-size:26px}[dir=rtl] .page-intro h1{font-size:44px}[dir=rtl] .ticket .page-intro h1 br,[dir=rtl] .note .page-intro h1 br{display:block}
@media(max-width:1050px){.desk{gap:0 32px}.concept-controls{display:block}.concept-controls>p{margin-bottom:12px}.note .session-panel{display:block}.note .session-copy{min-height:0}.note .session-bottom{display:block}.note .booking-disabled{width:100%}.note .availability-note{margin-top:10px}.note .booking-panel{grid-template-columns:230px 1fr}}
@media(max-width:760px){.site-header{flex-wrap:wrap;gap:20px;padding-block:20px;height:auto}.site-header nav{order:3;width:100%;justify-content:center;gap:22px}.site-header .brand-name{font-size:18px}.concept-controls button{padding:8px;font-size:10px}.concept-controls [role=tablist]{gap:3px}.consult-stage{padding-top:32px}.desk{display:block}.desk .page-intro{padding:0;margin-bottom:28px}.page-intro h1{font-size:37px}[dir=rtl] .page-intro h1{font-size:33px}.ticket .booking-panel,.note .booking-panel{grid-template-columns:1fr}.ticket .host-panel{display:grid;grid-template-columns:54px 1fr 80px;text-align:start;gap:14px;padding:20px}.ticket .host-portrait{width:54px;height:54px}.ticket .time-art{width:80px;height:80px}.ticket .duration-number{font-size:32px}.ticket .time-numeral small{font-size:7px;margin-top:3px}.ticket .host-note{display:none}.ticket .host-name strong{font-size:14px}.session-panel,.ticket .session-panel,.note .session-panel{padding:24px}.session-copy h2{font-size:27px}.keep-in-touch{display:block;margin-top:30px}.contact-options{min-width:0;margin-top:24px}.keep-in-touch h2{font-size:26px}.contact-options .social-links{gap:12px}.note .host-panel{flex-direction:row;justify-content:start;text-align:start;padding:18px 24px;border:0;border-bottom:1px solid var(--neutral-200)}.note .time-art{width:85px;height:80px;flex:none}.note .duration-number{font-size:54px}.note .time-numeral small{font-size:8px}.study-footer{display:block}.study-footer a{display:inline-block;margin-top:12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
::selection{background:transparent;color:var(--vermilion-700)}

/* The original 920px session card, with the approved editorial portrait treatment. */
.refinement-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:14px;border-block:1px solid var(--neutral-200)}
.refinement-bar a{font:10px/1.7 var(--font-body);color:var(--neutral-600);text-decoration:underline;text-underline-offset:4px}
.refined-ticket{padding-top:42px}
.refined-ticket .page-intro{max-width:780px;margin:0 auto 36px;text-align:center}
.refined-ticket .booking-panel{max-width:920px;grid-template-columns:310px minmax(0,1fr);margin-inline:auto}
.refined-ticket .poster-host{position:relative;display:block;align-self:stretch;min-height:460px;padding:0;background:var(--neutral-950);overflow:hidden;isolation:isolate;text-align:start}
.poster-type{position:absolute;top:30px;inset-inline-start:20px;z-index:0;font:700 84px/.85 var(--font-head);letter-spacing:-.075em;color:var(--neutral-600);direction:ltr}
.poster-disc{position:absolute;width:275px;height:275px;top:96px;inset-inline-end:-28px;background:var(--vermilion-500);border-radius:50%;z-index:1}
.poster-photo{position:absolute;height:88%;width:auto;max-width:none;bottom:0;left:50%;transform:translateX(-50%);filter:grayscale(1);object-fit:contain;z-index:2}
.poster-caption{position:absolute;inset:auto 0 0;z-index:3;padding:65px 25px 28px;background:linear-gradient(transparent,var(--neutral-950) 65%)}
.poster-caption p{font:9px/1.8 var(--font-body);color:var(--neutral-400);margin-bottom:6px}
.poster-caption strong{display:block;font:700 22px/1.25 var(--font-head);letter-spacing:-.03em;color:var(--neutral-50)}
.refined-ticket .session-panel{padding:34px 42px}
.refined-ticket .session-copy{min-height:95px}
.refined-ticket .session-agenda{margin:10px 0 18px}
.refined-ticket .session-bottom{padding-top:16px;border:0;background:transparent;border-radius:0;margin-top:0}
.refined-ticket .session-bottom h3{font:500 13px/1.7 var(--font-body);margin:0;color:var(--neutral-950)}
.refined-ticket .availability-note{font:11px/1.9 var(--font-body);margin-top:7px;color:var(--neutral-600)}
.refined-ticket .keep-in-touch{max-width:920px;margin:32px auto 0;padding-block:28px 38px}
.refined-ticket .keep-in-touch h2{font-size:27px}
.refined-ticket .contact-options{min-width:325px}
.refined-ticket .email-contact{font-size:12px}
.refined-ticket .email-placeholder{font-size:9px}
[dir=rtl] .poster-caption strong{font-family:var(--font-body);font-size:21px;letter-spacing:0;line-height:1.5}
[dir=rtl] .poster-type{inset-inline-start:auto;left:20px}
[dir=rtl] .poster-disc{inset-inline-end:auto;right:-28px}
[dir=rtl] .refined-ticket .email-contact{direction:ltr}
@media(max-width:1050px) and (min-width:761px){.refined-ticket .booking-panel{grid-template-columns:285px minmax(0,1fr)}.refined-ticket .session-panel{padding:30px}.poster-caption{padding-inline:22px}.poster-caption strong{font-size:20px}}
@media(max-width:760px){
 .refinement-bar{align-items:start;gap:18px}.refinement-bar a{font-size:9px;max-width:135px;text-align:end}
 .refined-ticket{padding-top:30px}.refined-ticket .page-intro{margin-bottom:28px}.refined-ticket .page-intro h1{font-size:36px}
 .refined-ticket .booking-panel{grid-template-columns:1fr}
 .refined-ticket .poster-host{min-height:0;height:300px}
 .poster-type{font-size:83px;top:22px;inset-inline-start:21px}
 .poster-disc{width:220px;height:220px;top:35px;inset-inline-end:0}
 .poster-photo{height:98%;left:59%}
 .poster-caption{padding:65px 22px 21px}.poster-caption strong{font-size:21px}
 .refined-ticket .session-panel{padding:25px}.refined-ticket .session-copy{min-height:0;margin-bottom:14px}
 .refined-ticket .session-bottom{padding-top:9px}.refined-ticket .keep-in-touch{margin-top:28px}
 .refined-ticket .contact-options{min-width:0}
 [dir=rtl] .refined-ticket .page-intro h1{font-size:32px}[dir=rtl] .poster-disc{right:0}
}
.refined-ticket .page-intro h1 br{display:block}
/* Visible booking action; native disabled state while sessions are on hold. */
.refined-ticket .booking-action{width:100%;margin-bottom:17px;padding:13px 16px;background:var(--neutral-100);border:1px solid var(--neutral-200);border-radius:6px;color:var(--neutral-600);cursor:not-allowed;font:500 12px/1.5 var(--font-body)}
.refined-ticket .booking-action svg{width:18px;height:18px;flex:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}

/* Site integration: shared header behavior. */
html{scrollbar-color:var(--vermilion-500) var(--neutral-50);scrollbar-width:thin}
.consultations-live .site-header.wrap{position:sticky;top:0;z-index:30;width:100%;height:80px;padding-inline:max(52px,calc((100% - 1200px)/2));background:transparent;transition:background .28s ease;border-bottom:1px solid transparent}
.consultations-live.is-scrolled .site-header{background:var(--neutral-50);border-bottom-color:var(--neutral-200)}
.site-header nav [aria-current=page]{color:var(--neutral-950);text-decoration:underline;text-decoration-color:var(--vermilion-500);text-underline-offset:7px}
@media(max-width:1050px){.consultations-live .site-header.wrap{padding-inline:32px}}
@media(max-width:760px){.consultations-live .site-header.wrap{height:auto;min-height:90px;padding:12px 20px;gap:8px}.consultations-live .site-header nav{padding-top:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.consultations-live .site-header.wrap{transition:none}}

/* Display headings use the homepage selection marker; body copy keeps orange letters. */
.consultation-half-selection .page-intro h1::selection,
.consultation-half-selection .page-intro h1 *::selection,
.consultation-half-selection .session-copy h2::selection,
.consultation-half-selection .session-copy h2 *::selection,
.consultation-half-selection .keep-in-touch h2::selection,
.consultation-half-selection .keep-in-touch h2 *::selection{background:transparent;color:var(--neutral-950);text-shadow:none}
#consultation-selection-markers{position:fixed;inset:0;pointer-events:none;z-index:100;mix-blend-mode:darken;overflow:hidden}
#consultation-selection-markers i{position:absolute;background:var(--vermilion-500);pointer-events:none}

/* Keep the email reveal label at the same quiet scale as contact details. */
.consultations-live .email-reveal-trigger{font-size:12px;line-height:1.7}
