/* Practice-page editorial layout; typography follows the existing site. */
.home-page #main #teaching-title{font-size:clamp(32px,3.7vw,52px)!important;line-height:1.14!important}
.home-page #main #teaching-title>span{display:block;white-space:nowrap}
.page-practice{--practice-ink:#252622;--practice-paper:#faf8f2;--practice-muted:#60655c;--practice-line:#d7d3c8;--practice-orange:#e65b31}
.page-practice #main{padding-top:24px}
.practice-shell{width:calc(100% - 96px);max-width:1184px;margin-inline:auto;box-sizing:border-box}
.practice-hero{background:var(--practice-ink);color:var(--practice-paper);margin:0 32px;border-radius:18px;overflow:hidden}
.practice-hero .practice-shell{width:calc(100% - 112px)}
.practice-hero-grid{display:grid;grid-template-columns:1.25fr 1fr;align-items:center;gap:40px;padding-block:68px 58px;position:relative}
.practice-kicker{display:block;font-size:18px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;line-height:1.7}
.practice-hero .practice-kicker{color:#e9ac8f;margin-bottom:28px}
.page-practice #main .practice-hero h1{font-size:clamp(62px,7.8vw,112px)!important;line-height:1.01!important;letter-spacing:-.035em!important;font-weight:400;margin:0 0 28px;color:#faf8f2!important}
.practice-period{color:#e9ac8f}
.practice-hero p{color:#deddd4;font-size:19px;line-height:1.65;margin:0;max-width:460px}
.practice-hero-mark{position:relative;display:grid;place-items:center;min-width:0;align-self:stretch;min-height:300px}
.practice-hero-mark img{position:absolute;width:110%;height:110%;max-width:none;object-fit:contain;opacity:.16;filter:grayscale(1) invert(1)}
.practice-hero-mark>span{font-size:18px;letter-spacing:.1em;line-height:1.8;text-transform:uppercase;max-width:230px;text-align:center;color:#e6d9c9;border-top:1px solid #66685d;border-bottom:1px solid #66685d;padding:20px 8px;z-index:1}
.practice-directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #65675d;padding-block:24px 28px;gap:28px;position:relative}
.practice-directory a{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;text-decoration:none;color:#faf8f2;padding:12px 0;font-size:18px;line-height:1.4}
.practice-directory .practice-number{font-size:18px;letter-spacing:.08em;color:#e9ac8f;align-self:start;padding-top:5px}
.practice-directory svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.4;transition:transform .2s ease}
.practice-directory a:hover svg{transform:translateX(4px)}
.practice-directory a:hover{color:#e9ac8f}
.practice-services{padding-top:32px}
.practice-service{display:grid;grid-template-columns:280px minmax(0,1fr);column-gap:64px;padding-block:72px;border-bottom:1px solid var(--practice-line);scroll-margin-top:160px;position:relative}
.practice-section-number{display:block;font:400 72px/1 Georgia,serif;color:#b7b6a8;letter-spacing:-.04em;margin-bottom:22px}
.page-practice #main .practice-service h2{font-size:clamp(32px,3.1vw,44px);line-height:1.13;letter-spacing:-.025em;margin:0 0 28px;font-weight:400;color:var(--practice-ink)}
.practice-text-link{font-size:18px;color:var(--practice-ink);text-decoration:none;border-bottom:1px solid #a7aa9b;padding-bottom:7px;display:inline-flex;gap:22px;align-items:center}
.practice-text-link:hover{border-color:var(--practice-orange)}
.practice-service-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:36px;counter-reset:service;align-items:start}
.practice-service-list li{position:relative;font-size:18px;line-height:1.75;color:#454b42;margin:0!important;padding:26px 0 28px;border-top:1px solid var(--practice-line);counter-increment:service}
.practice-service-list li::before{content:counter(service,decimal-leading-zero);display:block;font-size:18px;line-height:1.4;letter-spacing:.1em;color:#a04d30;margin-bottom:12px}
.practice-back-top{grid-column:2;justify-self:end;text-decoration:none;color:var(--practice-muted);font-size:18px;margin-top:12px;padding:8px 0}
.practice-back-top span{margin-left:18px}
.practice-contact{display:flex;justify-content:space-between;align-items:center;gap:40px;margin-block:64px 72px;padding:48px 52px;background:#e9e5d9;border-radius:14px;position:relative}
.practice-contact:before{content:'';position:absolute;left:0;top:48px;width:3px;height:54px;background:var(--practice-orange)}
.practice-contact .practice-kicker{font-size:18px;color:#60655c;margin-bottom:16px}
.page-practice #main .practice-contact h2{font-size:clamp(36px,4.1vw,56px);font-weight:400;line-height:1.12;letter-spacing:-.03em;margin:0;color:var(--practice-ink)}
.practice-contact-button{padding:17px 23px;border:1px solid #6a6d60;border-radius:5px;color:var(--practice-ink);text-decoration:none;white-space:nowrap;font-size:18px;display:inline-flex;gap:30px;align-items:center}
.practice-contact-button span{color:var(--practice-orange);font-size:22px;line-height:1}
.practice-contact-button:hover{background:#252622;color:#faf8f2}
.page-practice a:focus-visible{outline:2px solid #e65b31;outline-offset:6px}
@media(max-width:1100px){.practice-service{grid-template-columns:230px minmax(0,1fr);column-gap:40px}.practice-hero .practice-shell{width:calc(100% - 80px)}.practice-service-list{column-gap:26px}}
@media(max-width:960px){.practice-shell{width:calc(100% - 64px)}.practice-hero{margin-inline:24px}.practice-hero-grid{grid-template-columns:1.4fr 1fr;gap:12px;padding-block:48px}.practice-service{grid-template-columns:210px minmax(0,1fr);column-gap:40px;padding-block:52px}.practice-service-list{grid-template-columns:1fr}.practice-directory{gap:20px}.practice-directory a{font-size:18px;gap:10px}.practice-hero-mark>span{font-size:18px;max-width:170px}.practice-contact{padding:38px 32px}}
@media(max-width:600px){.page-practice #main{padding-top:20px}.practice-shell{width:calc(100% - 40px)}.practice-hero{margin-inline:16px;border-radius:14px}.practice-hero .practice-shell{width:calc(100% - 40px)}.practice-hero-grid{grid-template-columns:1fr;padding-block:38px 34px;gap:0}.page-practice #main .practice-hero h1{font-size:clamp(52px,14.7vw,80px)!important;margin-bottom:24px}.practice-hero .practice-kicker{font-size:18px;margin-bottom:24px}.practice-hero p{font-size:18px;line-height:1.65}.practice-hero-mark{position:absolute;right:-85px;top:30px;width:240px;height:240px;min-height:0;opacity:.22;pointer-events:none}.practice-hero-mark>span{display:none}.practice-hero-grid>div:first-child{position:relative;z-index:1}.practice-directory{grid-template-columns:1fr;padding-block:12px 18px;gap:0}.practice-directory a{font-size:18px;gap:16px;padding-block:17px}.practice-directory a+a{border-top:1px solid #53574d}.practice-directory .practice-number{padding-top:3px}.practice-services{padding-top:12px}.practice-service{grid-template-columns:1fr;row-gap:30px;padding-block:38px;scroll-margin-top:128px}.practice-service-heading{display:grid;grid-template-columns:42px 1fr;column-gap:18px;align-items:start}.practice-section-number{font-size:34px;margin:3px 0 0}.page-practice #main .practice-service h2{font-size:32px;line-height:1.15;margin:0 0 20px}.practice-text-link{grid-column:2;justify-self:start;font-size:18px}.practice-service-list{grid-template-columns:1fr}.practice-service-list li{font-size:18px;padding-block:22px}.practice-service-list li::before{margin-bottom:8px}.practice-back-top{grid-column:1;margin-top:0}.practice-contact{display:block;margin-block:36px 44px;padding:32px 24px}.practice-contact:before{top:34px;height:42px}.practice-contact .practice-kicker{max-width:210px;font-size:18px;line-height:1.9}.page-practice #main .practice-contact h2{font-size:38px}.practice-contact-button{margin-top:28px;padding:15px 20px}.practice-desktop-break{display:none}}
@media(prefers-reduced-motion:reduce){.practice-directory svg{transition:none}}
