/* Outer dialog contours only; retain visible keyboard focus on their controls. */
html:root dialog{border:0!important;outline:none!important}
html:root dialog::before,html:root dialog::after{border:0!important}
/* Matching frames, with online UI shown in full and a centered live-photo crop. */
html:root #meeting-format .runtime-meeting-photo{width:100%;aspect-ratio:3/2;overflow:hidden;border:0;border-radius:11px;background:var(--ui-panel);padding:0;min-width:0}
html:root #meeting-format .runtime-meeting-photo[hidden]{display:none}
html:root #meeting-format .runtime-meeting-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
html:root #meeting-format .runtime-meeting-photo [data-screen-theme=light]{display:none}
html:root[data-site-theme=light-warm] #meeting-format .runtime-meeting-photo [data-screen-theme=dark]{display:none}
html:root[data-site-theme=light-warm] #meeting-format .runtime-meeting-photo [data-screen-theme=light]{display:block}
html:root[data-orator-page=basic] #about .about-layout{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:40px;align-items:center}
html:root[data-orator-page=basic] #about .about-film{width:100%;max-width:460px;justify-self:start}
html:root[data-orator-page=basic] #about .about-film>img{aspect-ratio:16/9;object-fit:cover}
html:root #about .runtime-read-more{margin-top:20px;font-family:inherit;font-size:13px;line-height:1.5;font-weight:600;padding:5px 0;color:var(--ui-accent-ink);display:inline-flex;align-items:center;gap:15px;background:none;border:0;cursor:pointer}
html:root .runtime-read-more svg,html:root .runtime-program-link svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.5;fill:none;flex:none}
html:root #hero .runtime-program-link{color:var(--ui-text);white-space:nowrap}
html:root #about-dialog{width:min(720px,calc(100vw - 32px));max-height:calc(100dvh - 40px);padding:40px;overflow:auto}
html:root #about-dialog h2{padding-right:34px}
/* Common footer projection. Its existing owner-bound nodes keep their content. */
html:root footer.runtime-footer{padding:58px 0 24px;background:var(--ui-panel);color:var(--ui-text);border-top:1px solid var(--ui-line);font-family:inherit}
html:root .runtime-footer-wrap{width:min(1180px,calc(100% - 80px));margin:0 auto}
html:root .runtime-footer-top{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr) minmax(0,1fr);gap:clamp(30px,5vw,70px);align-items:start}
html:root .runtime-footer-column{min-width:0}
html:root .runtime-footer-brand{display:inline-flex;align-items:center;gap:12px;color:var(--ui-text);text-decoration:none;margin-bottom:16px}
html:root .runtime-footer-brand strong{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:30px;font-weight:700;line-height:1.1}
html:root .runtime-footer-brand svg{width:25px;height:30px;fill:none;color:var(--ui-accent-ink);stroke:currentColor;stroke-width:1.55}
html:root .runtime-footer-description{max-width:33ch;font-size:13px;line-height:1.65;margin:0 0 18px;color:var(--ui-muted)}
html:root .runtime-footer-description small{font-size:inherit;line-height:inherit}
html:root .runtime-footer-label{font-size:11px;letter-spacing:.06em;line-height:1.5;margin:0 0 15px;color:var(--ui-muted)}
html:root .runtime-footer-brand-column .runtime-footer-label{margin-bottom:5px}
html:root .runtime-footer-address{display:flex;gap:8px;font-size:13px;line-height:1.65;margin:0;color:var(--ui-text)}
html:root .runtime-footer-address svg{width:17px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.4;margin-top:2px}
html:root .runtime-footer-brand-column>.ov-footer-address{display:block}
html:root .runtime-footer-ai{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;max-width:300px;box-sizing:border-box;padding:14px 16px;margin-top:24px;background:var(--r6-card,var(--ui-panel));border:1px solid var(--ui-line);border-radius:10px;color:var(--ui-text);text-decoration:none;line-height:1.5;transition:border-color .22s}
html:root .runtime-footer-ai>span{display:flex;flex-direction:column;gap:5px}
html:root .runtime-footer-ai strong{font-size:14px;font-weight:600}
html:root .runtime-footer-ai small{display:block;font-size:11px;color:var(--ui-muted)}
html:root .runtime-footer-ai svg{flex-shrink:0;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.4;color:var(--ui-accent-ink);transition:transform .22s}
html:root .runtime-footer-ai:hover{border-color:var(--ui-accent-ink)}
html:root .runtime-footer-ai:hover>svg{transform:translate(3px,-3px)}
html:root[data-orator-page=individual] #services .r5-direct[hidden]{display:none!important}
html:root .runtime-footer-programs{display:flex;flex-direction:column;align-items:start;gap:12px}
html:root .runtime-footer-programs a{display:inline;font-size:14px;line-height:1.5;text-decoration:none;color:var(--ui-text)}
html:root .runtime-footer-programs a span+span:before{content:' '}
html:root .runtime-footer-programs a[aria-current=page]{color:var(--ui-accent-ink)}
html:root .runtime-footer-phone{display:inline-block;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:26px;line-height:1.3;text-decoration:none;color:var(--ui-text);margin:0 0 20px;white-space:nowrap}
html:root .runtime-footer-socials{display:flex;gap:10px 18px;flex-wrap:wrap}
html:root .runtime-footer-socials a{font-size:12px;line-height:1.5;text-decoration:none;color:var(--ui-text)}
html:root .runtime-footer-bottom{display:flex;align-items:start;justify-content:space-between;gap:24px;margin-top:40px;padding-top:22px;border-top:1px solid var(--ui-line)}
html:root .runtime-footer-copyright{font-size:11px;line-height:1.6;color:var(--ui-muted);margin:0}
html:root .runtime-footer-legal{display:flex;gap:9px 18px;flex-wrap:wrap;max-width:65%;justify-content:flex-end}
html:root .runtime-footer-legal a{font-size:10px;line-height:1.6;text-decoration:none;color:var(--ui-muted)}
html:root .runtime-footer a:hover{color:var(--ui-accent-ink)}
html:root .r3-direction:is(:hover,:focus-visible) .r4-topic-name,
html:root .r4-skill-open:is(:hover,:focus-visible) .r4-skill-heading>span,
html:root .faq-item>summary:is(:hover,:focus-visible) .faq-question{color:var(--ui-accent-ink)}
html:root #results.runtime-individual-directions{width:min(1180px,calc(100% - 80px));margin:0 auto;padding:40px 0 70px}
html:root .runtime-individual-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:start;margin-bottom:36px}
html:root .runtime-individual-intro .ov-kicker{margin-bottom:17px}
html:root .runtime-individual-intro h2{font-size:clamp(34px,4.2vw,56px);line-height:1.12;letter-spacing:-.035em;font-weight:600;margin:0}
html:root .runtime-individual-title-accent{color:var(--ui-accent-ink)}
html:root .runtime-individual-explanation{padding-top:28px}
html:root .runtime-individual-explanation>.ov-lead{max-width:none;font-size:16px;line-height:1.7;color:var(--ui-muted);margin:0 0 15px}
html:root #results.runtime-individual-directions>h3{font-size:19px;font-weight:500;margin-bottom:8px}
html:root #results.runtime-individual-directions>p{font-size:13px;margin-bottom:23px}
@media(max-width:850px){html:root #results.runtime-individual-directions{width:calc(100% - 40px);padding:35px 0 55px}html:root .runtime-individual-intro{grid-template-columns:1fr;gap:23px}html:root .runtime-individual-intro h2{font-size:38px}html:root .runtime-individual-explanation{padding-top:0}}
html:root #meeting-format .runtime-meeting-photo{position:relative}
/* Source screen 1548×1016, cropped centrally into the existing 3:2 frame.
   Cover only the bottom participant tile, leaving trainer and room UI intact. */
html:root #meeting-format .runtime-online-tile-scrim{position:absolute;left:15.4%;top:51%;width:48.2%;height:40.5%;background:rgba(0,0,0,.44);border-radius:3% / 5%;pointer-events:none}
html:root[data-site-theme=light-warm] #meeting-format .runtime-online-tile-scrim{display:none}
@media(max-width:850px){html:root .runtime-footer-wrap{width:calc(100% - 40px)}html:root .runtime-footer-top{gap:28px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}html:root .runtime-footer-brand-column{grid-column:1/-1}html:root .runtime-individual-intro{grid-template-columns:1fr;gap:25px}html:root .runtime-footer-bottom{display:block}html:root .runtime-footer-legal{justify-content:flex-start;max-width:none;margin-top:15px}}
@media(max-width:520px){html:root footer.runtime-footer{padding-top:38px}html:root .runtime-footer-top{grid-template-columns:1fr;gap:30px}html:root .runtime-footer-brand-column{grid-column:auto}html:root .runtime-footer-phone{font-size:25px}html:root .runtime-footer-bottom{margin-top:30px}}
@media(max-width:850px){html:root[data-orator-page=basic] #about .about-layout{gap:25px;grid-template-columns:1fr}}
@media(max-width:650px){html:root[data-orator-page=basic] #about .about-film{max-width:310px;align-self:center}html:root #about-dialog{padding:30px 22px}html:root #about-dialog .prose{font-size:14px}}
/* Release the quote's right-hand space before the scene becomes cramped.
   The existing mobile crop stays above the copy; tablets keep a slimmer statue
   beside it. The native window clips only the right edge and updates its glow mask. */
@media(max-width:1439px){
 html:root:is([data-orator-page=basic],[data-orator-page=club]) #audience[data-cicero-version=C] .r9-wall-quote{display:none}
}
@media(min-width:651px) and (max-width:1439px){
 html:root:is([data-orator-page=basic],[data-orator-page=club]) #audience[data-cicero-version=C]{--cicero-width:min(600px,50vw)}
 html:root:is([data-orator-page=basic],[data-orator-page=club]) #audience[data-cicero-version=C] .r2-ciceron{right:clamp(-60px,calc((100vw - 1200px) * .12),0px)}
}
