/* Requested navigation, movement CTA and login form changes only. */
header.ohd a.ohd-brand:hover,header.ohd a.ohd-brand:focus-visible{color:rgb(var(--pc5))}
header.ohd a.ohd-brand .ohd-t{color:rgb(var(--pc5))}
header.ohd a.ohd-brand .ohd-t>span{color:rgb(var(--pc1))}
.lg .lg-brand,.lg .lg-brand:hover,.lg .lg-brand:focus-visible{color:var(--wf-text)}
.lg .lg-brand i{color:var(--wf-green-text)}
#movement-bank .gp-controls{flex-wrap:wrap;gap:10px}
#movement-bank #gp-link{order:-1;flex:1 0 100%;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;padding:14px 18px;min-height:50px;border:1px solid transparent;border-radius:12px;background:var(--green,#54aced);color:var(--bg,#081723);font-size:14px;font-weight:700;text-decoration:none;transition:box-shadow .2s,transform .2s}
#movement-bank #gp-link svg{width:18px;height:18px;flex:none}
#movement-bank #gp-link:hover{box-shadow:0 6px 22px #54aced24;transform:translateY(-2px)}
#movement-bank #gp-next,#movement-bank #gp-play{flex:0 1 auto;background:transparent;color:var(--muted);border:1px solid var(--line);min-height:40px;font-size:11px}
#movement-bank #gp-link:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.lg .lg-main{position:relative;isolation:isolate;overflow:hidden;border:1px solid var(--wf-border);border-radius:28px;padding:clamp(28px,4vw,52px) 24px;background:radial-gradient(ellipse at 90% 0%,color-mix(in srgb,var(--wf-green-fill) 9%,transparent),transparent 56%),var(--wf-canvas)}
.lg .lg-main::before{content:"";position:absolute;top:0;right:32px;left:32px;height:2px;background:linear-gradient(90deg,transparent,var(--wf-green-fill),transparent);opacity:.65}
.lg .lg-card{max-width:390px;position:relative;padding:12px 0}
.lg .lg-brand{margin-bottom:34px;gap:12px}
.lg .lg-brand img{width:42px;height:42px}
.lg .lg-brand b{font-size:16px}
.lg .lg-eyebrow{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:11px;letter-spacing:0;color:var(--wf-green-text)}
.lg .lg-eyebrow::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 0 4px color-mix(in srgb,var(--wf-green-fill) 10%,transparent)}
.lg .lg-title{font-size:clamp(30px,3vw,40px);font-weight:800;line-height:1.5;margin-bottom:8px}
.lg .lg-sub{font-size:13px;max-width:28em;line-height:1.9;margin-bottom:28px}
.lg .lg-box{height:56px;border-radius:12px;background:var(--wf-card)}
.lg .lg-box input{font-variant-numeric:tabular-nums;letter-spacing:.04em}
.lg .lg-btn{height:54px;border-radius:12px;margin-top:4px;font-size:14px;padding-right:18px}
.lg .lg-btn-ic{border-radius:9px;width:38px;height:38px}
.lg .lg-note{font-size:11px;text-align:right;padding-right:2px}
.lg .lg-switch{margin-top:26px;padding-top:20px;text-align:right;font-size:12px}
.lg .lg-help{text-align:right;font-size:11px;margin-top:18px;line-height:1.9}
@media(max-width:860px){.lg .lg-main{padding:28px 22px;border-radius:22px}.lg .lg-card{padding:0}.lg .lg-title{font-size:30px}.lg .lg-brand{display:inline-flex;margin-bottom:28px}.lg .lg-brand img{width:36px;height:36px}.lg .lg-brand b{font-size:14px}}
@media(prefers-reduced-motion:reduce){#movement-bank #gp-link{transition:none}#movement-bank #gp-link:hover{transform:none}}

/* Softer shared surfaces and text, keeping the site's green identity. */
html:root[data-page][data-theme='dark'] {
 --c0:14,17,20;--c1:113,164,201;--c2:158,195,220;--c3:22,27,31;--c5:224,230,234;--c6:156,165,172;--c7:49,59,65;--c9:26,33,37;
 --pc0:14,17,20;--pc1:113,164,201;--pc3:26,33,37;--pc4:53,64,72;--pc5:224,230,234;--pc6:156,165,172;--pc7:49,59,65;--pc9:26,33,37;
 --bg:#0e1114;--card:#171d21;--soft:#1c2429;--line:#343f47;--ink:#dfe5e9;--head:#e2e7eb;--muted:#9ca5ac;--green:#71a4c9;
 --wf-canvas:#0e1114;--wf-card:#171d21;--wf-text:#dfe5e9;--wf-muted:#9ca5ac;--wf-border:#343f47;--wf-green-text:#71a4c9;--wf-green-fill:#71a4c9;
}
html:root[data-page][data-theme='light'] {
 --c0:249,250,249;--c3:255,255,255;--c5:16,28,37;--c6:76,91,102;--c7:218,224,228;--c9:244,248,245;
 --pc0:249,250,249;--pc3:255,255,255;--pc4:218,224,228;--pc5:16,28,37;--pc6:76,91,102;--pc7:218,224,228;--pc9:244,248,245;
 --bg:#eff3f5;--card:#fff;--soft:#dae6ed;--line:#10263520;--ink:#101c25;--head:#101c25;--muted:#4c5b66;--green:#124975;
 --wf-canvas:#f8faf5;--wf-card:#fff;--wf-text:#161c20;--wf-muted:#44565d;--wf-border:#d3dbdf;--wf-green-text:#161c20;--wf-green-fill:#77a5c6;
 color-scheme:light;
}
.mobile-nav-top,.mobile-nav-label,.mobile-nav-backdrop { display:none; }
.appointments-head { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:14px; flex-wrap:wrap; }
.appointments-head h2 { margin:0; }
.appointment-list { display:grid; gap:10px; }
.appointment { border:1px solid rgb(var(--c7)); border-radius:16px; background:rgb(var(--c3)); overflow:hidden; }
.appointment summary { list-style:none; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; column-gap:12px; row-gap:6px; padding:14px 16px; cursor:pointer; }
.appointment summary::-webkit-details-marker { display:none; }
.appointment summary:focus-visible { outline:2px solid rgb(var(--c1)); outline-offset:-3px; border-radius:14px; }
.appointment-main { display:grid; gap:4px; min-width:0; }
.appointment-main strong { font-size:14px; line-height:1.8; color:rgb(var(--c5)); }
.appointment-main>span { font-size:12.5px; color:rgb(var(--c6)); }
.appointment-status { padding:5px 10px; border:1px solid currentColor; border-radius:999px; font-size:12px; font-weight:800; white-space:nowrap; }
.appointment-status--scheduled,.appointment-status--completed { color:rgb(var(--c1)); background:rgba(var(--c1),.1); }
.appointment-status--cancelled,.appointment-status--no_show { color:#bd4850; background:#bd485012; }
html[data-theme='dark'] .appointment-status--cancelled,html[data-theme='dark'] .appointment-status--no_show { color:#f29c9f; background:#f29c9f12; }
.appointment-expand { grid-column:1/-1; display:flex; align-items:center; justify-content:space-between; color:rgb(var(--c6)); font-size:12px; }
.appointment-expand b { font-size:18px; font-weight:400; }
.appointment[open] .appointment-expand b { transform:rotate(180deg); }
.appointment-details { padding:0 16px 16px; border-top:1px solid rgb(var(--c7)); }
.appointment-details dl { margin:0; }
.appointment-details dl>div { display:grid; grid-template-columns:minmax(100px,.7fr) minmax(0,1fr); gap:12px; padding:10px 0; border-bottom:1px solid rgba(var(--c13),.06); font-size:13px; line-height:1.8; }
.appointment-details dt { color:rgb(var(--c6)); }
.appointment-details dd { margin:0; overflow-wrap:anywhere; color:rgb(var(--c5)); }
@media(max-width:1100px) {
 .mobile-nav-backdrop:not([hidden]) { display:block; position:fixed; inset:0; z-index:99; background:#0008; }
 header.ohd nav.open { position:fixed; inset:76px 12px auto; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-content:start; align-items:stretch; gap:9px; max-height:calc(100dvh - 160px); overflow-y:auto; overscroll-behavior:contain; padding:16px; border:1px solid rgb(var(--pc7)); border-radius:24px; background:rgb(var(--pc0)); color:rgb(var(--pc5)); box-shadow:0 18px 60px #0003; animation:nav-sheet-in .2s ease-out; }
 header.ohd nav.open .mobile-nav-top { display:flex; align-items:center; justify-content:space-between; gap:12px; grid-column:1/-1; margin-bottom:8px; padding-bottom:14px; border-bottom:1px solid rgb(var(--pc7)); }
 .mobile-nav-top>div { display:grid; gap:4px; }
 .mobile-nav-top strong { font-size:17px; font-weight:800; }
 .mobile-nav-top span { font-size:11.5px; color:rgb(var(--pc6)); }
 header.ohd nav.open [data-nav-close] { min-height:40px; padding:6px 10px; border:1px solid rgb(var(--pc7)); border-radius:12px; color:inherit; background:rgb(var(--pc3)); font:inherit; font-size:12px; cursor:pointer; }
 header.ohd nav.open a.ohd-link { display:flex; flex-direction:column; justify-content:center; align-items:stretch; text-align:right; gap:6px; min-width:0; min-height:80px; margin:0; padding:12px; border:1px solid rgb(var(--pc7)); border-radius:15px; background:rgb(var(--pc3)); color:rgb(var(--pc5)); font-size:14px; font-weight:750; }
 header.ohd nav.open .ohd-link::after { content:attr(data-menu-caption); color:rgb(var(--pc6)); font-size:10.5px; line-height:1.7; font-weight:400; }
 header.ohd nav.open a.ohd-link:hover { border-color:rgb(var(--pc1)); }
 header.ohd nav.open .ohd-bar,header.ohd nav.open .ohd-sep { display:none; }
 header.ohd nav.open .mobile-nav-label { display:block; grid-column:1/-1; margin:10px 0 3px; font-size:12px; color:rgb(var(--pc6)); }
 header.ohd nav.open .ohd-quick { display:flex; align-items:center; justify-content:space-between; min-width:0; min-height:48px; padding:10px; border:1px solid rgb(var(--pc7)); border-radius:12px; background:transparent; color:rgb(var(--pc1)); font-size:12px; font-weight:650; }
 header.ohd nav.open .ohd-quick::after { content:'↗'; font-size:16px; }
 header.ohd nav.open :is(a,button):focus-visible { outline:2px solid rgb(var(--pc1)); outline-offset:2px; }
 @keyframes nav-sheet-in { from { opacity:0; transform:translateY(-10px); } to { opacity:1; transform:none; } }
}
@media(max-width:860px) {
 header.ohd #theme { display:grid!important; place-items:center; width:40px; height:40px; min-width:40px; padding:0; border-radius:50%; background:rgb(var(--pc3)); border:1px solid rgb(var(--pc4)); color:rgb(var(--pc5)); }
 header.ohd .header-actions { gap:6px; flex:none; }
 header.ohd .ohd-in { gap:8px; }
 header.ohd .ohd-brand { gap:7px; }
 .appointments-head>button { min-height:40px; font-size:12px; }
 .appointment summary { padding:12px; column-gap:8px; }
 .appointment-status { font-size:11px; padding:4px 8px; }
 .appointment-main strong { font-size:13px; }
}
@media(max-width:380px) { header.ohd .ohd-t { font-size:14px; } header.ohd .ohd-s { font-size:9px; } .mobile-nav-top strong { font-size:15px; } header.ohd nav.open { padding:12px; } }
@media(prefers-reduced-motion:reduce) { header.ohd nav.open { animation:none; } }
html[data-theme='light'] .button.primary,html[data-theme='light'] .opl-dialog-continue { background:#003e6f; border-color:#003e6f; color:#f3f5f0; }
html[data-theme='dark'] .button.primary { background:#71a4c9; border-color:#71a4c9; color:#0e1114; }

/* Typography stays neutral; green is reserved for surfaces and graphic accents. */
html:root[data-page][data-theme='dark'] {--wf-green-text:#e2e7eb;}
html:root[data-page][data-theme='light'] {--wf-green-text:#22282d;}
header.ohd .ohd-t>span,header.ohd nav a.ohd-quick {color:rgb(var(--pc5))!important;}
main :is(h1,h2,h3,h4) :is(span,em,b,strong),.hero-copy :is(.eyebrow,.hero-kicker),.section-head :is(.eyebrow,.kicker) {color:inherit!important;}
header.ohd :is(a,button) {-webkit-tap-highlight-color:transparent;}
header.ohd :is(.ohd-brand,.ohd-link):focus:not(:focus-visible) {outline:none!important;box-shadow:none!important;}
@media(min-width:1101px) {
 header.ohd :is(a.ohd-link,a.ohd-brand):is(:hover,:active,:focus) {background:transparent!important;box-shadow:none!important;}
 header.ohd :is(a.ohd-link,a.ohd-brand):focus-visible {outline:none!important;text-decoration:underline;text-underline-offset:6px;}
}

header.ohd .ohd-rin>span+span {color:rgb(var(--pc5))!important;}
main :is(.gp-meta,.otm-kick,.otm-role,.opl-kick,.ocp-kick,.ogd-kick,.ocp-level) {color:var(--ink)!important;}
main :is(.otm-ghost,.otm-line,.gp-btn,.ocp-btn):hover {color:var(--ink);}

/* Every plan remains a light surface when light mode is selected. */
html[data-theme='light'] .opl-in,html[data-theme='light'] .opl-card.is-hot .opl-in {background:var(--card);color:var(--ink);}
html[data-theme='light'] .opl-card.is-hot .opl-tag,html[data-theme='light'] .opl-card.is-hot .opl-price small {color:var(--muted);}
html[data-theme='light'] .opl-card.is-hot .opl-price {border-color:var(--line);}
