/* Public shell only: functional dashboard and assessment styles are untouched. */
body.public-site { --oh-bg:#fff;--oh-ink:#111;--oh-accent:#001556;--oh-muted:#616a72;--oh-line:#dde2e5; margin:0;padding:0;background:var(--oh-bg);color:var(--oh-ink);font:16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; }
.public-site *, .public-site *::before, .public-site *::after { box-sizing:border-box; }
.public-site a { color:inherit;text-underline-offset:5px; }
.public-site a:focus-visible { outline:2px solid var(--oh-accent);outline-offset:5px;border-radius:2px; }
.oh-skip-link { position:absolute;top:8px;left:24px;padding:12px;background:white;transform:translateY(-160%);z-index:2; }
.oh-skip-link:focus { transform:none; }
.oh-header { display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:1120px;margin:0 auto;padding:32px 40px; }
.oh-brand { display:flex;flex-shrink:0; }
.oh-nav { display:flex;flex-wrap:wrap;align-items:center;gap:8px 24px; }
.oh-nav a,.oh-section-nav a { display:inline-flex;align-items:center;min-height:44px;text-decoration:none;color:var(--oh-muted); }
.oh-nav a:hover,.oh-section-nav a:hover,.public-site a[aria-current="page"] { color:var(--oh-accent); }
.oh-section-nav { display:flex;flex-wrap:wrap;gap:0 24px;max-width:1040px;margin:0 auto;padding:0 0 20px;border-bottom:1px solid var(--oh-line); }
.oh-section-nav a[aria-current="page"] { text-decoration:underline;text-decoration-thickness:1px; }
.oh-main { max-width:1040px;margin:0 auto;padding:64px 0 32px; }
.public-site h1 { font-size:clamp(2rem,4vw,2.75rem);font-weight:400;letter-spacing:-.025em;line-height:1.15;margin:14px 0 24px;overflow-wrap:anywhere; }
.public-site h2 { font-size:24px;font-weight:400;letter-spacing:-.015em;line-height:1.35;margin:12px 0 16px; }
.public-site p { margin:0 0 20px; }
.oh-eyebrow { font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--oh-muted); }
.oh-intro { font-size:clamp(1.15rem,2vw,1.5rem);line-height:1.5;max-width:620px; }
.oh-support { max-width:600px;color:var(--oh-muted); }
.oh-hero { display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:64px;align-items:center;min-height:260px;margin-bottom:48px; }
.oh-art { display:block;max-width:100%;height:auto;max-height:260px;object-fit:contain;opacity:.75; }
.oh-section-list { margin:40px 0 32px;border-top:1px solid var(--oh-line); }
.oh-section-item { display:flex;align-items:center;gap:28px;padding:25px 0;border-bottom:1px solid var(--oh-line);text-decoration:none; }
.oh-section-item>span:nth-last-child(2) { flex:1;min-width:0; }
.oh-section-item strong { display:block;font-size:23px;line-height:1.4;font-weight:400; }
.oh-section-item .oh-eyebrow { display:block;margin-bottom:6px; }
.oh-description { display:block;color:var(--oh-muted);font-size:15px;margin-top:3px; }
.oh-number { color:var(--oh-muted);font-size:12px;min-width:24px; }
.oh-arrow { color:var(--oh-accent);font-size:24px; }
.oh-section-item:hover strong { color:var(--oh-accent);text-decoration:underline;text-decoration-thickness:1px; }
.oh-note { color:var(--oh-muted);font-size:14px;max-width:650px; }
.oh-empty,.oh-card { margin:40px 0;padding:32px;border:1px solid var(--oh-line);max-width:720px; }
.oh-empty { background:#fafbfc; }
.oh-empty p,.oh-card p { max-width:580px; }
.oh-actions { display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;margin:28px 0; }
.oh-button { display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:11px 24px;background:var(--oh-accent);color:white!important;border:1px solid var(--oh-accent);text-decoration:none;border-radius:3px; }
.oh-button:hover { background:#0b2852; }
.oh-button-outline { background:white;color:var(--oh-accent)!important; }
.oh-button-outline:hover { background:#f0f3f8; }
.oh-text-link { display:inline-flex;align-items:center;min-height:44px; }
.oh-copy { max-width:680px;margin:40px 0; }
.oh-copy h2 { margin-top:40px; }
.oh-footer { max-width:1040px;margin:64px auto 0;padding:28px 0 40px;border-top:1px solid var(--oh-line);font-size:13px; }
.oh-footer p { color:var(--oh-accent); }
.oh-footer p span { margin-left:12px;color:var(--oh-muted); }
.oh-footer nav { display:flex;flex-wrap:wrap;gap:0 24px; }
.oh-footer a { display:inline-flex;align-items:center;min-height:44px;color:var(--oh-muted);text-decoration:none; }
.oh-footer a:hover { text-decoration:underline; }
.oh-legacy .oh-main { max-width:680px; }
.oh-legacy .oh-main p { overflow-wrap:anywhere; }
.oh-legacy .oh-main .section-label a { color:var(--oh-muted)!important; }
.oh-legacy .oh-main .cta-buttons { flex-wrap:wrap; }
.oh-legacy .oh-main .btn { min-height:44px; }
@media(max-width:1120px) { .oh-main,.oh-section-nav,.oh-footer { margin-left:40px;margin-right:40px; } }
@media(max-width:600px) {
 .oh-header { padding:20px;gap:16px;align-items:flex-start; }
 .oh-nav { gap:0 14px;justify-content:flex-end;font-size:14px; }
 .oh-main,.oh-section-nav,.oh-footer { margin-left:20px;margin-right:20px; }
 .oh-main { padding-top:40px; }
 .oh-section-nav { gap:0 18px;font-size:14px; }
 .oh-hero { display:block;min-height:0;margin-bottom:32px; }
 .oh-art { width:110px;max-height:130px;margin:28px 0 0 auto; }
 .oh-section-item { gap:16px;padding:24px 0; }
 .oh-section-item strong { font-size:20px; }
 .oh-empty,.oh-card { padding:24px; }
 .oh-footer { margin-top:40px; }
}
@media(prefers-reduced-motion:reduce) { .public-site * { scroll-behavior:auto!important;transition:none!important; } }

/* Minimal editorial direction. Colour belongs to the work; the shell stays quiet. */
body.public-site { --oh-bg:#faf9f6;--oh-ink:#202420;--oh-accent:#18262f;--oh-muted:#646960;--oh-line:#e6e6df;background:var(--oh-bg);font-size:16px; }
.oh-header { max-width:1120px;padding-top:28px;padding-bottom:28px; }
.oh-brand img { width:36px;height:36px;mix-blend-mode:multiply; }
.oh-nav { font-size:14px;gap:24px; }
.oh-section-nav { border:0;padding-bottom:0;gap:0 28px;font-size:14px; }
.oh-main { max-width:900px;padding-top:72px; }
.public-site h1 { font-size:32px;letter-spacing:-.025em;margin-top:0; }
.oh-intro { font-size:18px;max-width:590px; }
.oh-eyebrow { text-transform:none;letter-spacing:0;font-size:13px; }
.oh-section-list { border:0;margin-top:40px;max-width:680px; }
.oh-section-item { gap:0;padding:20px 0; }
.oh-section-item strong { font-size:19px; }
.oh-description { margin-top:6px;font-size:14px; }
.oh-section-item>span { flex:1; }
.oh-section-item>span:last-child:not(:first-child) { flex:0; }
.oh-card,.oh-empty { border:0;border-top:1px solid var(--oh-line);padding:28px 0;background:transparent;margin:40px 0; }
.public-site h2 { font-size:21px; }
.oh-button { background:transparent!important;color:var(--oh-accent)!important;border:0;border-bottom:1px solid currentColor;border-radius:0;padding:8px 0;min-height:44px; }
.oh-button:hover { opacity:.7; }
.oh-copy { margin-top:32px; }
.oh-footer { max-width:1040px;border:0;display:flex;justify-content:space-between;gap:24px;margin-top:80px;padding-top:24px; }
.oh-footer nav { gap:24px; }
.oh-skip-link { background:var(--oh-bg); }
.oh-home { min-height:100svh;display:flex;flex-direction:column; }
.oh-home .oh-header { width:100%; }
.oh-home .oh-main { flex:1;width:100%;text-align:center;max-width:700px;padding:30px 24px 72px;margin:0 auto; }
.oh-living-mark { width:240px;height:240px;margin:0 auto 8px;position:relative; }
.oh-living-mark img,.oh-living-mark canvas { display:block;width:100%;height:100%; }
.oh-living-mark canvas[hidden] { display:none; }
.oh-living-mark.is-animated img { display:none; }
.oh-home h1 { font-size:30px;line-height:1.2;margin:0 0 14px; }
.oh-home .oh-intro { max-width:390px;margin:0 auto 32px;font-size:16px;color:var(--oh-muted); }
.oh-home-links { display:flex;flex-wrap:wrap;justify-content:center;gap:0 26px; }
.oh-home-links a { display:inline-flex;align-items:center;min-height:44px;font-size:15px;text-decoration:none; }
.oh-home-links a:hover { text-decoration:underline; }
.oh-home .oh-footer { width:calc(100% - 80px);margin:0 auto; }
@media(max-width:1120px) { .oh-main { margin-left:auto;margin-right:auto;padding-left:40px;padding-right:40px; } }
@media(max-width:600px) {
 .oh-header { padding:20px; }
 .oh-main { padding:40px 20px 24px; }
 .oh-section-nav { margin-left:20px;margin-right:20px;gap:0 20px; }
 .oh-home .oh-main { padding:20px 20px 52px; }
 .oh-living-mark { width:210px;height:210px; }
 .oh-home-links { max-width:290px;margin:auto;gap:0 22px; }
 .oh-home .oh-footer { width:calc(100% - 40px); }
 .oh-footer { margin-top:48px; }
}

.oh-living-mark { cursor:grab; -webkit-tap-highlight-color:transparent; }
.oh-living-mark:active { cursor:grabbing; }
@media(prefers-reduced-motion:reduce) { .oh-living-mark { cursor:default; } }

.oh-video-mark { height:auto;aspect-ratio:4/3;cursor:default;mix-blend-mode:multiply; }
.oh-video-mark img,.oh-video-mark video { display:block;width:100%;height:auto; }
.oh-video-mark video[hidden],.oh-video-mark.is-playing img { display:none; }
