/* Per-page colors keep the chosen logos intact. */
body.page-home{--bg:#211e1b;--ink:#fcf7ec;--muted:#c7bfb3;--copper:#d99a64;--panel:#302821;--line:#fcf7ec30;--nav:#211e1bf5;--law-bg:#29251d;--law-ink:#fcf7ec;--law-muted:#c8bca4}
[data-theme="light"] body.page-home{--bg:#fbf4e8;--ink:#2e261f;--muted:#665b50;--copper:#8d552c;--panel:#eee0cd;--line:#2e261f30;--nav:#fbf4e8f5}
body.page-practice{--bg:#111e2a;--ink:#f5f2ea;--muted:#b8c6d0;--copper:#dfa878;--panel:#1b2d3b;--line:#f5f2ea30;--nav:#111e2af5}
[data-theme="light"] body.page-practice{--bg:#edf3f7;--ink:#152b3a;--muted:#485f70;--copper:#945b2c;--panel:#dce7ef;--line:#152b3a30;--nav:#edf3f7f5}
body.page-academy{--bg:#15241e;--ink:#f1f3e9;--muted:#becbbd;--copper:#c5c693;--panel:#24372b;--line:#f1f3e930;--nav:#15241ef5}
[data-theme="light"] body.page-academy{--bg:#edf2e8;--ink:#203b2e;--muted:#4c6553;--copper:#586535;--panel:#dfe8d7;--line:#203b2e30;--nav:#edf2e8f5}
body.page-personal{--bg:#27231a;--ink:#f6edcd;--muted:#d0c6a8;--copper:#ddc778;--panel:#393225;--line:#f6edcd30;--nav:#27231af5;--law-bg:#27231a;--law-ink:#f6edcd;--law-muted:#d0c6a8}
[data-theme="light"] body.page-personal{--bg:#eee5b8;--ink:#2c291c;--muted:#635c3e;--copper:#74652a;--panel:#e4d99f;--line:#2c291c30;--nav:#f8f3def5;--law-bg:#eee5b8;--law-ink:#2c291c;--law-muted:#635c3e}
body nav{background:var(--nav)}body .eyebrow{color:var(--copper)}body .contact{background:var(--panel)}body .contact .button{background:var(--ink);color:var(--bg)}
.client-intro h1 em{font-family:Georgia,serif;font-weight:400;color:var(--copper)}.hero-actions{display:flex;gap:25px;align-items:center;flex-wrap:wrap;margin:30px 0 20px}.hero-actions .primary{padding:18px 25px;font-size:15px}.text-link,.service-action{border-bottom:1px solid var(--copper);padding-bottom:6px;font-size:14px}.contact-hint{max-width:600px;font-size:13px;line-height:1.7;color:var(--muted)}.practice-assurance{display:flex;flex-wrap:wrap;gap:20px;margin-top:35px;padding-top:25px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.service-action{display:inline-block;margin-top:12px}.story-viewport,.story-track{display:contents}
@media(max-width:650px){
.page-practice .client-intro{padding-bottom:45px}.client-intro h1{font-size:clamp(36px,9.5vw,45px)}.hero-actions{gap:20px}.hero-actions .primary{width:100%;padding:17px 14px;font-size:14px}.practice-assurance{display:grid;gap:12px}
/* One sticky canvas; narrative cannot pass under the graphic. */
.page-practice .scroll-story{display:block;height:300svh;padding:0 7%;position:relative}
.story-viewport{display:grid;position:sticky;top:var(--nav-height);height:calc(100svh - var(--nav-height));grid-template-rows:min(31svh,215px) minmax(0,1fr);overflow:hidden;padding:0}
.page-practice .visual-stage{grid-row:1;grid-column:1;position:relative;top:auto;width:100%;height:100%;margin:0;border:0;background:var(--bg);order:unset;overflow:hidden;z-index:1;display:grid;place-items:center}
.page-practice .scene{width:min(54vw,205px);max-width:205px;height:auto}.page-practice .method-label{font-size:7px}.page-practice .scene-caption{font-size:8px;bottom:1%}
.page-practice .story-narrative{grid-row:2;grid-column:1;display:block;min-height:0;overflow:hidden;z-index:1;border-top:1px solid var(--line);padding:0}
.story-track{display:block;will-change:transform}
.page-practice .story-row,.page-practice .page-intro+.scroll-story .hero-row{display:flex;align-items:flex-start;min-height:0;padding:24px 0 60px;order:unset}
.page-practice .story-row:last-child{min-height:calc(69svh - var(--nav-height))}
.page-practice .practice-title,.page-practice .process-copy h2{font-size:clamp(28px,7.5vw,36px);line-height:1.12;letter-spacing:-1px;margin:14px 0 18px}
.page-practice .stagecopy p,.page-practice .process-copy p{font-size:14px;line-height:1.65;margin:15px 0}.page-practice .personal-credit{margin-top:16px}.page-practice .story-row .eyebrow{font-size:9px;letter-spacing:1.4px}
}
@media(prefers-reduced-motion:reduce){.page-practice .scroll-story{height:auto}.story-viewport{position:static;display:flex;flex-direction:column;height:auto;overflow:visible}.page-practice .visual-stage{height:215px}.page-practice .story-narrative{overflow:visible}.story-track{transform:none!important}.page-practice .story-row{min-height:0;padding:30px 0}.story-track{will-change:auto}}
