/* Local review: the approved Areas of Practice visual language, shared by inner pages only. */
body.inner-system{--inner-ink:#252622;--inner-paper:#faf8f2;--inner-peach:#efb99b;--inner-muted:#62665d;--inner-rule:#d5d1c7;background:var(--inner-paper)!important;color:var(--inner-ink);font-family:'DM Sans',Arial,sans-serif!important}
body.inner-system #main{padding-top:24px!important}
body.inner-system #main :is(h1,h2,h3){font-family:'Lora',Georgia,serif!important;font-style:normal!important;font-weight:400!important;letter-spacing:-.035em!important}
body.inner-system #main :is(p,li){font-size:18px!important;line-height:1.75!important}
body.inner-system #main :is(p,li,a,h1,h2,h3){overflow-wrap:break-word}
body.inner-system #main :is(section,aside,h2,h3){scroll-margin-top:calc(var(--nav-offset,126px) + 32px)}
body.inner-system #main .inner-hero{margin:0 auto 48px;width:calc(100% - 64px);max-width:1440px;background:var(--inner-ink);color:var(--inner-paper);border-radius:18px;overflow:hidden;isolation:isolate}
.inner-hero-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,1fr);gap:56px;align-items:center;padding:64px 64px 52px;position:relative}
.inner-hero-copy{min-width:0;position:relative;z-index:1}
.inner-kicker{display:block;color:var(--inner-peach);font:500 18px/1.5 'DM Sans',Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;margin-bottom:26px}
body.inner-system #main .inner-hero h1{font-size:clamp(64px,7.7vw,108px)!important;line-height:1.04!important;color:var(--inner-paper)!important;max-width:850px;margin:0 0 30px!important}
body.inner-system #main .inner-hero p{font-size:20px!important;line-height:1.6!important;color:var(--inner-paper)!important;margin:0!important;max-width:690px}
.inner-hero-mark{position:relative;align-self:stretch;min-height:300px;min-width:0;display:grid;place-items:center}
.inner-hero-mark img{width:min(100%,380px);height:auto;aspect-ratio:1;object-fit:contain;opacity:.2;filter:grayscale(1) invert(1)}
.inner-directory{margin:0 64px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;padding:24px 0 28px;border-top:1px solid #65675d}
.inner-directory a{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;color:var(--inner-paper);min-height:56px;font-size:21px;line-height:1.4;padding:8px 0}
.inner-directory .inner-number{font-size:18px;letter-spacing:.08em;color:var(--inner-peach)}
.inner-directory svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.4;transition:transform .2s}
.inner-directory a:hover{color:var(--inner-peach)}.inner-directory a:hover svg{transform:translateX(4px)}
body.inner-system #main .inner-article-hero h1{font-size:clamp(42px,4.8vw,68px)!important;max-width:800px}
.inner-article-hero .inner-hero-grid{grid-template-columns:minmax(0,1.7fr) minmax(220px,.8fr)}
.inner-article-hero .ux-article-byline{margin-top:24px;color:#d0d0c7;font-size:18px;line-height:1.6}
body.inner-system #main :is(.layout-wrap,.rich-wrap,.collection-layout,.practice-shell){max-width:1184px}
body.inner-system #main :is(.layout-label,.eyebrow,.hm-eyebrow,.practice-kicker){color:#a75636;font-family:'DM Sans',Arial,sans-serif!important;font-size:18px!important;font-weight:500;letter-spacing:.08em;line-height:1.6}
body.inner-system #main :is(h2,.layout-title){font-size:clamp(32px,3.4vw,48px)!important;line-height:1.18!important}
body.inner-system #main h3{font-size:28px!important;line-height:1.25!important}
body.inner-system #main :is(.layout-button,.button,.practice-contact-button){background:transparent!important;color:var(--inner-ink)!important;border:1px solid #929589!important;border-radius:5px!important;font-family:'DM Sans',Arial,sans-serif!important;font-size:18px!important;font-weight:500!important;padding:12px 18px!important;line-height:1.4;min-height:48px;box-shadow:none!important}
body.inner-system #main :is(.layout-button,.button,.practice-contact-button):hover{background:#eee9df!important;border-color:#a75636!important}
body.inner-system #main :is(.layout-link,.text-link,.practice-text-link){font-family:'DM Sans',Arial,sans-serif!important;font-size:18px!important;line-height:1.5}
body.inner-system #main :is(.layout-link,.layout-button):after{color:#c65c32}
body.inner-system .profile-footer{margin-top:64px}
/* About: biography remains pictorial, with text and portrait in a calm editorial spread. */
body.inner-system #main .hm-profile{padding-top:0;overflow:visible}
.inner-profile{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,1fr);gap:72px;align-items:end;max-width:1184px;width:calc(100% - 112px);margin:64px auto 0;border-bottom:1px solid var(--inner-rule)}
.inner-profile-copy{padding:0 0 60px}.inner-profile-copy p+p{margin-top:20px!important}.inner-profile-copy .layout-link{margin-top:28px}
body.inner-system #main .inner-profile .about-intro-figure{position:relative;display:block;margin:0;height:590px;overflow:hidden;background:#eeeae0;border-radius:16px 16px 0 0}
body.inner-system #main .inner-profile .about-intro-portrait{position:absolute;bottom:0;top:auto;width:100%;height:96%;object-fit:contain;object-position:center bottom;filter:none;mask:none}
body.inner-system #main .inner-profile .about-intro-wheel{position:absolute;top:10%;left:0;width:100%;height:auto;opacity:.06}
body.inner-system #main .debrief-profile-section{padding:64px 0;gap:64px;border-bottom:1px solid var(--inner-rule)}
body.inner-system #main .debrief-profile-section:nth-of-type(even){background:transparent}
body.inner-system #main .debrief-profile-section p{color:#4c5148}
body.inner-system #main .hm-film{margin:64px auto;background:#eae6dc;border:0;border-radius:16px;padding:48px;max-width:1184px;width:calc(100% - 112px);gap:48px}
body.inner-system #main .hm-end{margin:64px auto;max-width:1184px;width:calc(100% - 112px);background:transparent;padding:0}
body.inner-system #main .hm-contact-line{padding:48px;background:#eae6dc;border-radius:16px;border:0}
/* Practice: preserve the approved reference hero and carry its rhythm below. */
body.inner-system #main .practice-hero{max-width:1440px;width:calc(100% - 64px);margin:0 auto 0}
body.inner-system #main .practice-hero .practice-kicker{color:var(--inner-peach)!important;font-size:18px!important}
body.inner-system #main .practice-hero h1{font-size:clamp(64px,7.8vw,112px)!important;line-height:1.01!important;color:var(--inner-paper)!important}
body.inner-system #main .practice-hero p{font-size:20px!important;color:var(--inner-paper)!important;max-width:620px}
body.inner-system #main .practice-service{padding-block:64px}
body.inner-system #main .practice-service-list li{font-size:18px!important;line-height:1.75!important;padding:26px 0}
body.inner-system #main .practice-contact .practice-kicker{font-size:18px!important}
/* Education: complementary paper cards with quiet numbered dividers. */
body.inner-system #main .composition-exam{background:transparent;border:0;padding:16px 0 64px}
body.inner-system #main .exam-programmes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin:0}
body.inner-system #main .exam-programme{padding:36px;border:1px solid var(--inner-rule);border-top:2px solid #b6795b;border-radius:12px;background:#eeeadf;gap:20px}
body.inner-system #main .exam-programme>span{font-size:18px;color:#a75636;line-height:1.6}
body.inner-system #main .exam-programme h2{font-size:36px!important;line-height:1.25!important;margin:0!important}
body.inner-system #main .exam-programme p{margin:0 0 12px!important}
body.inner-system #main .composition-lesson{background:#eeeae1;padding:64px 0}
body.inner-system #main .lesson-layout{gap:72px}
body.inner-system #main .lesson-step{border-top:1px solid #c9c5bb;padding:28px 0}
body.inner-system #main .lesson-step>span{font-size:18px;color:#a75636}
body.inner-system #main .editorial-lesson-photo{margin-top:32px;border-radius:12px;overflow:hidden}
/* Resource library: generous titles, restrained hover, aligned actions. */
body.inner-system #main .insights-collection{padding:8px 0 64px;background:transparent}
body.inner-system #main .insights-tools{padding:0 0 24px;gap:24px;align-items:center}
body.inner-system #main .filters{display:flex;gap:8px;flex-wrap:wrap}
body.inner-system #main .filter{border:1px solid #c9c5bb;border-radius:5px;padding:10px 14px;font-size:18px;background:transparent;color:#464b43;min-height:44px}
body.inner-system #main .filter[aria-pressed=true]{background:var(--inner-ink);color:var(--inner-paper);border-color:var(--inner-ink)}
body.inner-system #main .reading-entry{border:1px solid var(--inner-rule);border-radius:12px;background:#f5f2ea;overflow:hidden;transition:border-color .2s,box-shadow .2s}
body.inner-system #main .reading-entry:hover{border-color:#aa8069;box-shadow:0 8px 24px #2526220a;transform:none}
body.inner-system #main .reading-entry h2{font-size:29px!important;color:var(--inner-ink)!important;line-height:1.25!important}
body.inner-system #main .reading-entry p{font-size:18px!important;color:#62665d!important}
body.inner-system #main .insight-card-meta{color:#7b654f;font-size:18px}
body.inner-system #main .entry-action{color:var(--inner-ink);font-size:18px}
body.inner-system #main .entry-action:after{color:#a75636}
body.inner-system #main .reading-note{padding-top:28px;color:#62665d;font-size:18px!important}
body.inner-system #main .composition-contact{background:#eae6dc;padding:48px 0;border:0}
/* Articles: reference-style masthead, then a comfortable text column and contents rail. */
body.inner-system #main .ux-article{padding-top:0}
body.inner-system #main .ux-breadcrumb{font-size:18px;padding:0 0 24px;border-bottom:1px solid var(--inner-rule);margin-bottom:32px}
body.inner-system #main .insight-hero{height:360px;max-height:none;margin:0 0 56px;border-radius:14px;overflow:hidden}
body.inner-system #main .insight-hero img{width:100%;height:100%;object-fit:cover}
body.inner-system #main .ux-article-layout{grid-template-columns:minmax(0,760px) minmax(220px,1fr);gap:72px;align-items:start}
body.inner-system #main .ux-article-copy h2{font-size:34px!important;line-height:1.25!important;margin:48px 0 20px}
body.inner-system #main .ux-article-copy>h2:first-child{margin-top:0}
body.inner-system #main .ux-article-copy p{font-size:19px!important;line-height:1.85!important;color:#41463e}
body.inner-system #main .ux-article-copy p+p{margin-top:20px}
body.inner-system #main .ux-article-aside{position:sticky;top:calc(var(--nav-offset,126px) + 24px);padding:28px;background:#eae6dc;border-radius:12px;border:0}
body.inner-system #main .ux-article-aside h2{font-size:26px!important;margin-bottom:16px}
body.inner-system #main .ux-article-aside a{font-size:18px;line-height:1.6;padding:12px 0;border-bottom:1px solid #d1ccc0}
body.inner-system #main .ux-article-copy .article-next-step{background:#eae6dc;border:0;border-radius:12px;padding:32px;margin-top:40px}
body.inner-system #main .ux-related{border-top:1px solid var(--inner-rule);margin-top:64px;padding-top:40px}
body.inner-system #main .ux-related h2{margin-bottom:28px}
body.inner-system #main .insight-related-card{border:1px solid var(--inner-rule);border-radius:12px;overflow:hidden;background:#f5f2ea}
/* Contact: clear information and a single deliberate form panel. */
body.inner-system #main .contact-layout{padding:12px 0 64px;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:64px}
body.inner-system #main .contact-aside h2{font-size:32px!important;margin-bottom:20px}
body.inner-system #main .enquiry-route{border-top:1px solid var(--inner-rule);padding:24px 0;gap:18px}
body.inner-system #main .enquiry-route>span{color:#a75636;font-size:18px}
body.inner-system #main .enquiry-route strong{font-size:19px;font-weight:500}
body.inner-system #main .enquiry-route p{font-size:18px!important}
body.inner-system #main .enquiry-form{padding:36px;background:#eeeae1;border:1px solid var(--inner-rule);border-radius:14px}
body.inner-system #main .enquiry-form h2{font-size:32px!important}
body.inner-system #main .field label{font-size:18px;font-weight:500}
body.inner-system #main .field :is(input,select,textarea){background:var(--inner-paper);border:1px solid #b8b7ad;border-radius:5px;padding:13px 14px;font-size:18px;color:var(--inner-ink);max-width:100%}
body.inner-system #main .form-note{font-size:18px!important;line-height:1.65!important}
body.inner-system #main .preview-tag{font-size:18px;letter-spacing:.03em;background:transparent;border:1px solid #c9bcae;color:#746451;padding:5px 8px;border-radius:4px}
@media(max-width:1100px){
 .inner-hero-grid{padding:48px 40px;gap:32px;grid-template-columns:minmax(0,1.5fr) minmax(220px,1fr)}
 .inner-directory{margin-inline:40px;gap:24px}.inner-directory a{font-size:18px}
 body.inner-system #main .inner-hero h1{font-size:clamp(58px,7vw,90px)!important}
 body.inner-system #main .inner-article-hero h1{font-size:52px!important}
 .inner-profile{gap:40px}.inner-profile-copy{padding-bottom:36px}
 body.inner-system #main .inner-profile .about-intro-figure{height:520px}
 body.inner-system #main .ux-article-layout{gap:40px;grid-template-columns:minmax(0,1fr) 240px}
 body.inner-system #main .contact-layout{gap:36px}
}
@media(max-width:960px){
 body.inner-system #main .inner-hero{width:calc(100% - 40px)}
 .inner-hero-grid{grid-template-columns:minmax(0,1fr) 200px;padding:40px 32px;gap:24px}
 .inner-hero-mark{min-height:240px}.inner-directory{margin-inline:32px;gap:20px}.inner-directory a{font-size:18px;gap:10px}
 body.inner-system #main .inner-hero h1{font-size:64px!important}
 body.inner-system #main .inner-hero p{font-size:18px!important}
 body.inner-system #main .inner-article-hero h1{font-size:44px!important}
 body.inner-system #main .ux-article-layout{grid-template-columns:1fr;gap:32px}
 body.inner-system #main .ux-article-aside{position:static;grid-row:1;display:block}
 .inner-profile{width:calc(100% - 64px);grid-template-columns:minmax(0,1.4fr) minmax(180px,1fr);gap:32px}
 body.inner-system #main .inner-profile .about-intro-figure{height:450px}
 body.inner-system #main .hm-film,body.inner-system #main .hm-end{width:calc(100% - 64px)}
 body.inner-system #main .contact-layout{grid-template-columns:1fr;gap:40px}
 body.inner-system #main .exam-programme{padding:28px}
 body.inner-system #main .exam-programme h2{font-size:30px!important}
}
@media(max-width:680px){
 body.inner-system #main{padding-top:16px!important}
 body.inner-system #main .inner-hero{width:calc(100% - 28px);border-radius:14px;margin-bottom:32px}
 .inner-hero-grid{display:block;padding:34px 24px 28px}
 .inner-hero-mark{position:absolute;right:-70px;top:20px;width:250px;height:250px;min-height:0;z-index:0;opacity:.35}
 .inner-hero-copy{z-index:1}.inner-kicker{font-size:18px;margin-bottom:22px}
 body.inner-system #main .inner-hero h1{font-size:clamp(44px,11.5vw,66px)!important;line-height:1.08!important;margin-bottom:22px!important;max-width:100%}
 body.inner-system #main .inner-article-hero h1{font-size:clamp(34px,8.6vw,46px)!important}
 body.inner-system #main .inner-hero p{font-size:18px!important;line-height:1.65!important}
 .inner-directory{grid-template-columns:1fr;margin:0 24px;padding:12px 0 16px;gap:0}
 .inner-directory a{font-size:18px;min-height:50px;border-bottom:1px solid #ffffff14;gap:16px}.inner-directory a:last-child{border-bottom:0}
 body.inner-system #main :is(h2,.layout-title){font-size:32px!important}
 body.inner-system #main :is(p,li){font-size:18px!important}
 body.inner-system #main .review-keep{white-space:normal}
 .inner-profile{width:calc(100% - 40px);grid-template-columns:1fr;margin-top:32px;gap:0}.inner-profile-copy{padding-bottom:32px}
 body.inner-system #main .inner-profile .about-intro-figure{height:450px;max-width:400px;width:100%;justify-self:center}
 body.inner-system #main .debrief-profile-section{padding:36px 0;gap:24px;grid-template-columns:1fr}
 body.inner-system #main .hm-film,body.inner-system #main .hm-end{width:calc(100% - 40px);margin-block:36px}
 body.inner-system #main .hm-film,body.inner-system #main .hm-contact-line{padding:28px;gap:28px}
 body.inner-system #main .exam-programmes{grid-template-columns:1fr;gap:24px}
 body.inner-system #main .composition-exam{padding-bottom:36px}
 body.inner-system #main .composition-lesson{padding:36px 0}
 body.inner-system #main .lesson-layout{gap:32px}
 body.inner-system #main .insights-tools{align-items:stretch;gap:20px;flex-direction:column}
 body.inner-system #main .filter{font-size:18px;padding:9px 12px}
 body.inner-system #main .insight-hero{height:230px;margin-bottom:32px}
 body.inner-system #main .ux-article-copy h2{font-size:29px!important;margin-top:36px}
 body.inner-system #main .ux-article-copy p{font-size:18px!important;line-height:1.8!important}
 body.inner-system #main .ux-article-aside{padding:24px}
 body.inner-system #main .ux-article-copy .article-next-step{padding:24px}
 body.inner-system #main .enquiry-form{padding:24px}
 body.inner-system #main .contact-layout{padding-bottom:36px}
 body.inner-system #main .composition-contact{padding:36px 0}
 body.inner-system #main .practice-hero{width:calc(100% - 28px);border-radius:14px}
 body.inner-system #main .practice-hero h1{font-size:clamp(48px,13vw,76px)!important}
 body.inner-system #main .practice-service{padding-block:36px}
 body.inner-system #main .practice-service-list li{font-size:18px!important}
}
@media(prefers-reduced-motion:reduce){.inner-directory svg{transition:none}}
/* Longer page names keep the masthead in proportion to the reference. */
body.inner-system.page-legal-insights #main .inner-hero h1{font-size:clamp(58px,5.5vw,80px)!important}
body.inner-system.page-exam-preparation #main .inner-hero h1{font-size:clamp(58px,5.8vw,84px)!important}
body.inner-system #main .inner-hero .review-keep{white-space:normal}
@media(max-width:680px){
 body.inner-system.page-legal-insights #main .inner-hero h1,body.inner-system.page-exam-preparation #main .inner-hero h1{font-size:clamp(42px,10vw,60px)!important}
}
/* One shared outer rail: mastheads follow the approved practice panel and navigation. */
body.continuity.ux-site.inner-system #main :is(.inner-hero,.practice-hero){width:min(var(--site-frame),calc(100% - var(--site-gutter)*2))!important;max-width:var(--site-frame)!important;margin-inline:auto!important}
@media(min-width:1101px){
 body.inner-system.page-exam-preparation #main .inner-hero-grid{grid-template-columns:minmax(0,2fr) minmax(240px,1fr)}
 body.inner-system.page-exam-preparation #main .inner-hero h1{font-size:72px!important}
 body.inner-system.page-exam-preparation #main .inner-hero h1 .review-keep{white-space:nowrap}
}
/* Contrast remains explicit when a formerly dark contact panel uses warm paper. */
body.continuity.ux-site.inner-system #main .composition-contact :is(h2,p,.layout-title,.layout-label){color:var(--inner-ink)!important}
body.continuity.ux-site.inner-system #main .inner-profile .about-intro-portrait{bottom:-32px;height:calc(100% + 8px);object-position:center bottom}
body.continuity.ux-site.inner-system #main .reading-entry{background:#f5f2ea!important;border:1px solid var(--inner-rule)!important;border-radius:12px!important;padding-bottom:24px!important}
body.continuity.ux-site.inner-system #main .reading-entry :is(.insight-card-meta,.entry-text,p,.entry-action){margin-left:20px!important;margin-right:20px!important}
body.continuity.ux-site.inner-system #main .reading-entry:hover{border-color:#aa8069!important;box-shadow:0 8px 24px #2526220a!important;transform:none!important}
body.continuity.ux-site.inner-system #main .insight-related-card{display:flex!important;flex-direction:column;padding:0 0 24px!important;min-height:0!important}
body.continuity.ux-site.inner-system #main .insight-related-card>img{display:block;width:100%!important;height:auto!important;aspect-ratio:16/10!important;object-fit:cover;border-radius:0;margin:0 0 20px!important;max-height:260px}
body.continuity.ux-site.inner-system #main .insight-related-card>:not(img){margin-left:20px!important;margin-right:20px!important}
body.continuity.ux-site.inner-system #main .insight-related-card h3{font-size:25px!important;margin-top:12px!important;margin-bottom:24px!important}
/* Practice section names share one size; Wills and Estates fits its designated title rail. */
body.continuity.ux-site.inner-system.page-practice #main .practice-service h2{font-size:clamp(28px,2.3vw,32px)!important;line-height:1.2!important}

/* Readable card labels, with an 18px minimum on narrow screens. */
body.inner-system #main .exam-programme>span{font-size:20px!important;line-height:1.5!important}
@media(max-width:760px){body.inner-system #main .exam-programme>span{font-size:18px!important}}
