/* Shared visual finish, 11 September 2026. Installed last by build-visual-polish.
   The existing palettes, content, navigation and print layout remain the owners. */
@media screen {
  :root { --polish-gap:clamp(28px,5vw,64px); }
  html { scrollbar-width:thin;scrollbar-color:#8B8884 transparent; }
  /* One quiet opening and one header geometry across every page family. */
  body header.top,body header.hero,body .home-nav { background:#111110;background-image:none; }
  body header.top::before,body header.top::after,body header.hero::before,body header.hero::after { content:none; }
  body header.top > canvas,body header.hero > canvas { display:none; }
  body .wrap:has(> .nav) { width:100%;max-width:1280px;margin:0 auto;padding:0 var(--gut,24px); }
  body.home-page .home-nav .nav,body .wrap > .nav { width:100%;max-width:none;margin:0;height:84px;border-bottom:1px solid #302C28; }
  body .masthead .mmeta { display:none; }
  body .masthead .stand { border-left:0;padding-left:0;color:#C5C1BC; }
  body .masthead .crumb { color:#C5C1BC;font-size:13px;line-height:1.6; }
  body .masthead .sub-nav { gap:10px 24px;margin-top:32px;padding-top:18px;border-top-color:#353331; }
  body .masthead .sub-nav a { min-height:36px;display:inline-flex;align-items:center;color:#C5C1BC; }
  body .masthead .sub-nav a[aria-current],body .masthead .sub-nav a:hover { color:#FFFFFF; }

  /* Clip the decorative full-bleed bands, not a reading or form container.
     100vw includes the scrollbar and used to add a horizontal page scrollbar. */
  body > main,.light,.sheet { overflow-x:clip; }
  .wrap { min-width:0; }
  .two { gap:var(--polish-gap); }
  .two > *,.cols > * { min-width:0; }
  .two > div > :last-child { margin-bottom:0; }
  /* Calculator and service wrappers sometimes repeat their first section's gap. */
  main[style*="padding-top:var("]:has(> section:first-child:not([style*="padding-top:0"])) { padding-top:0!important; }

  .masthead { padding-top:clamp(52px,6vw,80px);padding-bottom:clamp(40px,4vw,56px); }
  .masthead h1 { font-size:clamp(34px,4.5vw,56px);line-height:1.14;
    letter-spacing:-.025em;max-width:860px;margin-bottom:24px;text-wrap:balance; }
  .masthead .stand { font-family:var(--sans,"Inter",system-ui,sans-serif);font-size:clamp(16px,1.45vw,19px);
    font-weight:400;line-height:1.7;max-width:680px;padding-left:20px; }
  .masthead .label,.masthead .crumb { margin-bottom:22px; }
  .masthead .mmeta { position:static;float:right;margin:0;padding:0; }
  .masthead h1 { clear:both; }
  .masthead .sub-nav { margin-top:32px;padding-top:16px;gap:8px 24px; }
  .masthead .sub-nav a { font-size:13px;line-height:1.5; }
  .masthead .byline { max-width:860px;gap:8px 18px;font-size:12px;line-height:1.65; }
  h2.big { font-size:clamp(28px,3vw,40px);line-height:1.2;letter-spacing:-.02em; }
  body .label,body.home-page #about .label,body.home-page .knowledge .label { font-size:12px;font-weight:600;line-height:1.6;letter-spacing:.12em;opacity:1;-webkit-font-smoothing:auto; }

  /* Stable rows: hovering a link should never move its text out of register. */
  .art,.art:hover { position:relative;padding:24px 32px 24px 0;gap:20px;
    transition:background-color .2s ease; }
  .art:hover { background-image:none;background-color:rgba(26,26,26,.025); }
  .art::before { display:none; }
  .art::after { top:25px;right:0; }
  .art:not(a)::after { content:none; }
  .art:not(a) { padding-right:0; }
  a.art h2::after,a.art h3::after,a.art h4::after { content:none; }
  h2.h4:not(:has(a))::after { content:none; }
  .art h2.h4,.art h3.h4,.art h4,.art h3 { line-height:1.4;text-wrap:pretty; }
  .art > span:not(.no) { font-size:10px;line-height:1.6;letter-spacing:.1em;
    white-space:normal;max-width:22ch;text-align:right; }
  .art .d { margin-top:10px;line-height:1.7; }
  .arearow { grid-template-columns:36px minmax(0,1fr); }
  .art .areas { gap:8px;margin-top:16px; }
  .art .areas a { padding:7px 12px;line-height:1.5; }
  .reading,.writing { width:100%; }
  body .reading:has(> a.art:nth-of-type(2)):not(:has(> p,> section,> .article)) { max-width:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px; }
  body .reading:has(> a.art:nth-of-type(2)) > a.art { display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;min-width:0;padding:26px 26px 26px 0;gap:12px; }
  body .reading:has(> a.art:nth-of-type(2)) > a.art h2.h4,body .reading:has(> a.art:nth-of-type(2)) > a.art h3 { font-size:23px;line-height:1.35; }
  body .reading:has(> a.art:nth-of-type(2)) > a.art > span { order:-1;text-align:left;max-width:none;font-size:11px; }
  .knowledge .art { max-width:none; }
  .lead { gap:22px; }
  .lead img { border:1px solid var(--line,rgba(26,24,23,.14)); }
  .lead .role { margin-top:6px; }

  a.btn,button.btn { display:inline-flex;align-items:center;justify-content:center;
    gap:10px;min-height:52px;max-width:100%;padding:15px 24px;
    font-family:var(--sans,"Inter",system-ui,sans-serif);font-size:12px;font-weight:500;line-height:1.5;
    letter-spacing:.08em;text-align:center;background-image:none;
    box-shadow:none;vertical-align:middle; }
  a.btn:hover,button.btn:hover { transform:none;box-shadow:none; }
  .btn.line { padding:14px 23px; }

  /* Every full enquiry form shares one quiet, aligned surface. */
  form[action="/api/enquiry"] { margin-top:0;padding:clamp(22px,3vw,36px);
    border:1px solid #DEDEDE;border-radius:0;background:#fff;
    box-shadow:none; }
  form[action="/api/enquiry"] .row { gap:20px;align-items:start; }
  form[action="/api/enquiry"] .row > .field:only-child { grid-column:1/-1; }
  form[action="/api/enquiry"] .field { min-width:0;margin-bottom:22px; }
  form[action="/api/enquiry"] .field label { font-size:11.5px;line-height:1.55;
    letter-spacing:.075em;margin-bottom:9px; }
  form[action="/api/enquiry"] .field input,
  form[action="/api/enquiry"] .field select,
  form[action="/api/enquiry"] .field textarea { min-height:50px;line-height:1.5;
    font-size:16px;border-radius:0;background-color:#FFFFFF; }
  form[action="/api/enquiry"] .field textarea { min-height:128px; }
  form[action="/api/enquiry"] .help,
  form[action="/api/enquiry"] .legal { font-size:13px;line-height:1.65; }
  form[action="/api/enquiry"] .btn { width:100%; }
  form[action="/api/enquiry"] [role="status"]:empty { margin:0; }
  .two:has(form[action="/api/enquiry"]) h2.big { font-size:clamp(27px,2.8vw,36px); }
  body:has(form#form[action="/api/enquiry"]) #start { padding-top:0!important; }
  .sheet:has(form#form[action="/api/enquiry"]) { padding-top:32px; }

  .article { line-height:1.8; }
  .article h2 { line-height:1.3;margin-top:48px;margin-bottom:18px; }
  .article h3 { line-height:1.4; }
  body .article .midask { border-left-color:#99918A;background:transparent; }
  body .article .midask a,body .article .quick a { color:#333333; }
  body .quick .k,body .fact .k,body .areas > span { font-size:11.5px;line-height:1.6;letter-spacing:.1em; }
  .article .quick { margin-left:0;padding:20px 24px;background:#FFFFFF;
    border-left:2px solid #333333;margin-bottom:32px; }
  .aside { top:96px; }
  .aside a { line-height:1.6;padding-top:8px;padding-bottom:8px; }
  details summary { padding-top:22px;padding-bottom:22px;line-height:1.45; }
  details summary::after { top:23px; }
  .invite h2 { font-size:clamp(28px,3vw,40px);line-height:1.2;
    max-width:23ch;min-width:0;text-wrap:balance; }
  /* One restrained set of actions and contact bands across the firm site. */
  a.btn,button.btn,.navcta { border-radius:0; }
  .nav .navcta,.kpst .navcta,.drawer .drawer-cta { background:transparent;border:1px solid #9F7A62;color:#E6C6B0; }
  .nav .navcta:hover,.kpst .navcta:hover,.drawer .drawer-cta:hover { background:#30251E;border-color:#D4967D;color:#FFFFFF; }
  body .nav .mark,body .kpst .mark { margin-right:0; }
  body .nav ul a { display:inline-flex;align-items:center;min-height:44px;line-height:1.4;background-position:0 calc(100% - 8px); }
  body .nav ul a[aria-current="page"],body .kpst ul a[aria-current="page"] { color:#E6C6B0;text-decoration:none; }
  body .nav .burger { border-radius:0;border-color:#55514D; }
  @media(min-width:1024px) {
    body .nav .navcta { display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;font-size:11px;line-height:1.5;letter-spacing:.09em; }
    body .kpst .navcta { display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:10px 16px;margin-left:0;font-size:10.5px;line-height:1.4; }
    body .kpst .mark .nm { font-size:13px;letter-spacing:.08em; }
    body .kpst ul a { font-size:11px;letter-spacing:.07em; }
  }
  @media(min-width:1200px) {
    body .nav { display:grid;grid-template-columns:auto minmax(0,1fr) auto;column-gap:32px; }
    body .nav ul { justify-content:center;align-items:center;column-gap:20px; }
    body .nav .navcta { margin-left:0; }
    body .kpst .kpst-in { column-gap:20px; }
    body .kpst ul { column-gap:14px; }
  }
  @media(max-width:1199px) {
    body .kpst ul,body .kpst .navcta { display:none; }
    body .kpst .kpst-burger { display:flex; }
  }
  @media(max-width:480px) { body .kpst .kpst-in { column-gap:8px; } }
  @media(max-width:360px) { body .kpst .mark .nm { font-size:11.5px;letter-spacing:.08em; } }
  body .invite { background:#1A1817;background-image:none;color:#F2F3F4;border-top:0; }
  body .invite::before,body .invite::after { content:none; }
  body main .invite .wrap > section,body main .invite > section { background:transparent; }
  body .invite h2 { color:#F2F3F4; }
  .invite .btn { margin-top:8px; }
  .invite .two { align-items:start; }
  .fgrid { column-gap:32px;row-gap:36px; }
  footer a { text-underline-offset:4px; }
  body footer .fgrid { grid-template-columns:minmax(0,1.1fr) minmax(0,1.3fr) minmax(0,1fr);align-items:start;gap:48px;padding-bottom:32px; }
  body footer .fgrid > div:nth-child(2) ul { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px; }
  body footer .fgrid li { margin-bottom:4px; }
  body footer .fgrid li > a { display:inline-block;padding:6px 0;font-size:14px;line-height:1.6; }
  body footer .footer-contact ul a { overflow-wrap:anywhere; }
  body .footwrap,body.home-page .footwrap,body footer { background:#fff;color:#252525;border-top:0; }
  body footer .fgrid a,body footer .faddr,body footer .fhrs,body footer .note,body footer .fends .reg,body footer .fends a { color:#444;opacity:1; }
  body footer .footmark,body footer .footmark .fnm,body footer .footmark .llc,body footer .fgrid .h4,body footer .footer-legal summary { color:#242424; }
  body footer a.fmap { color:#744425; }
  body footer .fbar { border-color:#d9d9d9; }
  body footer .footer-legal summary::after { color:#744425; }
  body footer a:hover { color:#744425;text-decoration:underline; }
  body footer .footmark { display:flex;min-height:20px;align-items:center;margin:0 0 20px; }
  body footer .fgrid .h4 { min-height:20px;display:flex;align-items:center;margin:0 0 20px;line-height:1.5; }
  body footer .fdesc { line-height:1.8; }
  body footer .fbar { margin-top:28px; }
  body footer .note { max-width:90ch;margin:0 0 18px;font-size:12px;line-height:1.6; }
  body footer .fends { display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:start;gap:16px 28px; }
  body footer .fends .reg { margin:0;line-height:24px; }
  body footer .fends .flang { margin:0; }
  body footer .fends .flang a { display:inline-block;padding-top:0;min-height:24px; }
  @media(max-width:1080px) {
    body footer .fgrid { grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:28px 40px; }
    body footer .footer-contact { grid-column:1/-1; }
    body footer .fends { grid-template-columns:minmax(0,1fr) auto; }
    body footer .fends > .reg:first-child { grid-column:1/-1; }
  }
  @media(max-width:560px) {
    body footer .fgrid { grid-template-columns:1fr;gap:28px; }
    body footer .fends { grid-template-columns:minmax(0,1fr);gap:14px; }
    body footer .fgrid { row-gap:32px; }
  }
  /* A scrollable menu with non-shrinking rows and a complete action button. */
  body .drawer { height:100vh;height:100dvh;padding:72px var(--gut,24px) max(32px,env(safe-area-inset-bottom));overscroll-behavior:contain;justify-content:flex-start; }
  body .drawer > a { flex:0 0 auto;font-size:clamp(22px,6vw,28px);line-height:1.4;padding:12px 0;min-height:50px; }
  body .drawer > a:first-of-type { margin-top:0; }
  body .drawer .drawer-tel { font-family:var(--sans);line-height:1.6; }
  body .drawer a.btn.drawer-cta { display:flex;align-items:center;justify-content:center;width:100%;min-height:52px;flex:0 0 auto;padding:16px 20px;margin:24px 0 0!important;font-size:11.5px;line-height:1.5;background:#8C4F30;border:1px solid #8C4F30;color:#FFFFFF; }
  body .drawer a.btn.drawer-cta:hover { background:#7A4529;border-color:#7A4529;color:#FFFFFF; }
  body .drawer .close { top:14px;min-height:44px;padding:10px 0; }
  body .drawer .close::after { content:none; }
  /* Search, filters and article rows share one left edge. */
  body .sheet:has(#list > .year) .tools { padding:28px 0; }
  body .sheet:has(#list > .year) .tools > .row { grid-template-columns:minmax(0,1fr);gap:18px; }
  body .sheet:has(#list > .year) .tools > .row > :is(.search,.pills) { grid-column:1; }
  body .sheet:has(#list > .year) .tools .count { margin-left:0; }
  body .sheet:has(#list > .year) #langpills { padding-left:0!important;border-left:0!important; }
  body .sheet #list .year { grid-template-columns:minmax(0,1fr);gap:16px; }
  body .sheet #list .year > h2 { position:static; }
  body .sheet #list > .index-heading { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0; }

  /* Carry the approved white editorial surfaces through the internal pages. */
  body .sheet,body .light,body .tools { background:#FFFFFF; }
  body :is(.sheet,.light) :is(.quick,.send,.subcard,.contactbox):not(.dark *):not(.invite *) {
    background:#FFFFFF;border-color:#DEDEDE;border-radius:0;box-shadow:none; }
  body .article .quick,body .sheet .send { border-left-color:#333333; }
  body .sheet .quick .k,body .reading > .arearow h2.h4::after { color:#555555; }
  body :is(.sheet,.light) :is(.label,.sumlab,.send .h,.post .topic,.art .no,.art > span):not(.dark *):not(.invite *) { color:#555555; }
  body .sheet :is(.endlinks a,.areas a,.bio .contact a,.railcard a,.aside > a,.contactbox a):not(.btn):not(.invite *) { color:#333333;border-color:#D5D5D5; }
  body .sheet .post:hover h3 { color:#333333;text-decoration:underline;text-underline-offset:5px; }
  body .sheet .post { padding-top:26px;padding-bottom:26px; }
  body .sheet .post h3 { font-size:24px;line-height:1.4;max-width:32em; }
  body .sheet .post p { line-height:1.75; }
  body .tools .search input { background:#FFFFFF;border:1px solid #C8C8C8;border-radius:0;min-height:50px; }
  body .pills button,body .sheet .areas a { border-radius:0;min-height:40px;line-height:1.5; }
  body .pills button:hover,body .sheet .areas a:hover { border-color:#555555; }
  body .sheet .areas a { display:inline-flex;align-items:center; }
  body .sheet :is(.calc,.subcard) :is(input,select,textarea) { background:#FFFFFF;border-radius:0;border-color:#C8C8C8;font-size:16px;min-height:48px; }
  body .sheet :is(.calc,.subcard,.search) :is(input,select,textarea):focus { outline:2px solid #333333;outline-offset:2px;box-shadow:none; }
  body .sheet .subcard { padding:28px; }
  body .sheet .subcard button { border-radius:0;min-height:48px; }
  body .sheet .portrait,body .sheet .portrait img { border-radius:0;box-shadow:none; }
  body .sheet .portrait:hover img { transform:none; }
  body .sheet .bio h3 { font-size:34px;line-height:1.25; }
  body .sheet .bio .lead { font-size:19px;line-height:1.6; }
  body .sheet .bio .contact { border-top:1px solid #DEDEDE;padding-top:20px; }
  body .sheet .article h2 { font-size:30px;line-height:1.35;margin-top:44px; }
  body .sheet .article h3:not(.h4) { font-size:23px;line-height:1.4; }
  body .sheet .article :is(p,li) { line-height:1.85; }
  body .sheet .article .signoff { padding-top:24px;margin-top:36px;border-top:1px solid #DEDEDE; }
  body .sheet .railcard { padding-top:24px; }
  body .sheet .railcard p { line-height:1.75; }
  body:not(.home-page):not(.contact-page) .masthead { padding-top:56px;padding-bottom:48px; }
  body:not(.home-page):not(.contact-page) .masthead h1 { font-size:clamp(32px,3.6vw,48px);line-height:1.2;max-width:920px; }
  body:not(.home-page):not(.contact-page) .masthead .stand { font-size:17px;line-height:1.75;max-width:760px; }
  body:not(.home-page):not(.contact-page) h2.big { font-size:clamp(28px,3vw,36px);line-height:1.3; }
  body .reading:has(> .arearow) { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:56px;max-width:none; }
  body .reading > .arearow { width:100%;max-width:none;padding:28px 0;align-items:baseline; }
  body .reading > .arearow h2.h4 { font-size:24px;line-height:1.35; }
  body .reading > .arearow .d { font-size:15px;line-height:1.8; }
  @media(min-width:901px) {
    body .sheet .person { grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:64px; }
  }
  @media(max-width:900px) {
    body .reading:has(> a.art:nth-of-type(2)):not(:has(> p,> section,> .article)) { grid-template-columns:1fr; }
    body .reading:has(> .arearow) { grid-template-columns:1fr; }
    body .sheet .person { grid-template-columns:1fr;gap:28px; }
    body .sheet .person > :first-child { position:static; }
    body .sheet .portrait { max-width:280px; }
    body:not(.home-page):not(.contact-page) .masthead { padding-top:36px;padding-bottom:36px; }
    body:not(.home-page):not(.contact-page) .masthead .mmeta { display:none; }
  }
  @media(max-width:640px) {
    body footer .fgrid { grid-template-columns:1fr;gap:28px; }
    body:not(.home-page):not(.contact-page) .masthead h1 { font-size:32px; }
    body:not(.home-page):not(.contact-page) .masthead .stand { font-size:16px; }
    body .sheet .bio h3 { font-size:28px; }
    body .sheet .post h3,body .reading > .arearow h2.h4 { font-size:22px; }
    body .sheet .article h2 { font-size:27px; }
    body .sheet .article h3:not(.h4) { font-size:22px; }
    body .sheet .subcard { padding:22px 18px; }
    body .pills button,body .sheet .areas a { min-height:44px; }
  }

  @media (min-width:901px) {
    .two { grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); }
    .two > div:first-child { top:96px; }
    .heroBody { padding-top:48px;padding-bottom:32px; }
    .hero h1 { font-size:clamp(44px,4.2vw,56px);max-width:1000px;line-height:1.14; }
    .hero .heroserv { margin-bottom:22px; }
    .fig { padding-top:28px;padding-bottom:28px; }
    form[action="/api/enquiry"] .row .field label { min-height:3.1em; }
    form[action="/api/enquiry"] .row .field:only-child label { min-height:0; }
  }
  @media (max-width:900px) {
    .two { gap:28px; }
    .masthead { padding-top:48px;padding-bottom:40px; }
    .masthead h1 { max-width:100%; }
    .masthead .stand { padding-left:16px; }
    .art { grid-template-columns:1fr;gap:10px; }
    .art > span:not(.no) { max-width:none;justify-self:start;text-align:left; }
    .art.arearow { grid-template-columns:28px minmax(0,1fr);gap:14px; }
    .art.arearow .no { padding-top:3px; }
    .invite h2 { margin-bottom:0; }
    .masthead .byline { display:flex;flex-direction:row;flex-wrap:wrap;gap:8px 16px; }
  }
  @media (max-width:640px) {
    .hero h1 { font-size:34px;line-height:1.16;letter-spacing:-.02em; }
    .heroBody { padding-top:32px;padding-bottom:28px; }
    .heroact { grid-template-columns:minmax(0,1fr); }
    .heroact .btn { width:100%; }
    .heroact .direct > div { min-width:0; }
    .fig { gap:18px; }
    .fig b { min-width:72px; }
    form[action="/api/enquiry"] { padding:22px 18px; }
    .article .quick { padding:18px; }
    .masthead .byline > * + *::before { content:none; }
  }
  @media (prefers-reduced-motion:reduce) {
    .art,a.btn,button.btn { transition:none; }
  }
  /* Show both partners together; detailed experience remains available in place. */
  body .team-profiles { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:56px; }
  body .team-profiles > section:has(> .person) { padding:0!important;border-bottom:0; }
  body .team-profiles .person { display:block; }
  body .sheet .person > :first-child,body .sheet .person .portrait { position:static;top:auto; }
  body .team-profiles .portrait { width:240px;max-width:100%;margin-bottom:28px; }
  body .team-profiles .portrait img { aspect-ratio:4/5;object-fit:cover;object-position:center 20%;filter:grayscale(1); }
  body .team-profiles .bio h2 { margin:0 0 14px;font-family:"Literata",Georgia,serif;font-weight:400;font-size:30px;line-height:1.25; }
  body .team-profiles .bio h2 a { color:inherit;text-decoration:none; }
  body .team-profiles .bio .lead { display:block;font-family:var(--sans);font-style:normal;font-size:16px;line-height:1.7;min-height:5.1em;margin-bottom:24px; }
  body .team-profiles .bio .lead > span { display:block; }
  body .team-profiles .bio .contact { font-size:14px;overflow-wrap:anywhere; }
  body .team-profiles .bio .contact a { white-space:normal; }
  body .team-profiles details { border-top:1px solid #DEDEDE;margin-top:24px; }
  body .team-profiles details summary { font-size:15px;padding:18px 28px 18px 0; }
  body .team-profiles details summary::after { top:18px; }
  body .team-profiles details p { font-size:15px;line-height:1.8; }
  body .team-intro { padding:48px 0; }
  /* Clear hierarchy: content first, secondary resources on demand. */
  body .team-profiles { padding-bottom:64px; }
  body .team-profiles + section { border-top:1px solid #DEDEDE;padding:64px 0 72px!important; }
  body :is(.sheet,.light) main:not(.article) > section + section { padding-top:64px!important; }
  body .resource-group { border-top:1px solid #DADADA;border-bottom:0;margin:0; }
  body .resource-group:last-of-type { border-bottom:1px solid #DADADA; }
  body .resource-group > summary { display:flex;align-items:center;gap:24px;list-style:none;padding:24px 36px 24px 0;font-family:var(--serif,Georgia,serif);font-size:23px;line-height:1.4;font-weight:400; }
  body .resource-group > summary::-webkit-details-marker { display:none; }
  body .resource-group > summary h3 { display:flex;align-items:center;gap:24px;width:100%;font:inherit;letter-spacing:inherit;margin:0; }
  body .resource-group > summary::after { top:27px;color:#555555;font-size:18px; }
  body .resource-group .resource-count { margin-left:auto;font-family:var(--sans);font-size:12px;color:#666666;flex:none; }
  body .resource-group > .reading { border-top:1px solid #E7E7E7;padding-bottom:20px; }
  body .resource-group .art h4 { font-size:19px;line-height:1.5;margin:0; }
  body .resource-group .art .d { font-size:14px;line-height:1.75;color:#666666; }
  body .resource-group[open] > summary { color:#1A1817; }
  body .article .rel { margin-top:48px!important;padding-top:24px;border-top:1px solid #DEDEDE; }
  body .article .rel a { font-size:14px;line-height:1.7;padding:12px 0; }
  body .article .subcard { margin-top:48px;padding:28px 0;border:0;border-top:1px solid #DEDEDE;border-bottom:1px solid #DEDEDE; }
  body .article .subcard .sh { font-size:22px;line-height:1.4; }
  body .article .subcard > p:not(.sh) { font-size:14px;line-height:1.75; }
  body .aside .railcard { margin-top:28px;font-size:13px;border-top:1px solid #DEDEDE; }
  body .aside .railcard p { font-size:13px;line-height:1.75; }
  body .aside #toc a { font-size:13px;line-height:1.6; }
  body .aside .contents-menu { margin:0; }
  body .aside .contents-menu > .h5 { padding:16px 0;margin:0;font-family:var(--sans);font-size:14px;font-weight:500;line-height:1.5;letter-spacing:0; }
  body .aside .rail-action a { display:inline-flex;align-items:center;gap:14px;font-size:13px;line-height:1.7;color:#333333; }
  body .article .ctaline { border-left-color:#A4A4A4;font-size:14px;line-height:1.75;margin:28px 0; }
  body .article .ctaline a { color:#333333;text-underline-offset:3px; }
  body .leads .lead img { border:0;border-radius:0;box-shadow:none;filter:grayscale(1); }
  /* Action labels remain crisp at their actual rendered size. */
  body a.btn,body button.btn,body .nav .navcta,body .kpst .navcta { font-size:13px;font-weight:600;letter-spacing:.045em;line-height:1.5;text-shadow:none;filter:none;-webkit-font-smoothing:auto; }
  body .invite .label,body.home-page .invite .label { font-size:12px;font-weight:600;letter-spacing:.08em;color:#DFC4B0;opacity:1;text-shadow:none; }
  body .invite .two { grid-template-columns:repeat(2,minmax(0,1fr));gap:80px;align-items:center; }
  body .invite .two > div:last-child { grid-column:auto; }
  body .invite .wrap > section,body.home-page .invite .wrap > section { padding-top:88px;padding-bottom:88px; }
  body .invite .two > div > p:not(.label) { font-size:16px;line-height:1.75;max-width:36em; }
  body .invite .btn { margin-top:8px; }
  body footer,body .footwrap footer,body.home-page .footwrap footer { padding-top:72px;padding-bottom:48px; }
  body footer .fgrid { grid-template-columns:minmax(0,1fr) minmax(0,1.25fr) minmax(0,.95fr);gap:64px;padding-bottom:48px; }
  body footer .fgrid > div:nth-child(2) ul { grid-auto-flow:column;grid-template-rows:repeat(5,auto);grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px; }
  body footer .fgrid li { margin-bottom:4px; }
  body footer .fgrid li > a { font-size:14px;line-height:1.7;padding-top:8px;padding-bottom:8px; }
  body footer .faddr { font-size:14px;line-height:1.8;padding-top:8px; }
  body footer .fhrs { font-size:13px;line-height:1.7;margin-top:24px; }
  body footer .fgrid .h4,body footer .footmark { margin-bottom:24px; }
  body footer a.fmap { color:#744425!important; }
  body footer .fbar { margin-top:24px; }
  body footer .fends { align-items:baseline;gap:18px 32px; }
  body footer .footer-legal { border:0;margin:0; }
  body footer .footer-legal summary { display:inline-flex;position:relative;padding:0 24px 0 0;min-height:44px;align-items:center;cursor:pointer;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;font-family:var(--sans);font-size:13px;font-weight:500;line-height:24px;letter-spacing:0;list-style:none;color:#444; }
  body footer .footer-legal summary:hover { color:#744425; }
  body footer .footer-legal summary:focus-visible { outline:2px solid #DCC4B1;outline-offset:5px; }
  body footer .footer-legal summary::-webkit-details-marker { display:none; }
  body footer .footer-legal summary::after { content:'+';position:absolute;top:10px;right:0;font-size:16px;color:inherit; }
  body footer .footer-legal[open] summary::after { content:'\2212'; }
  body footer .footer-legal > div { padding-top:18px;max-width:48em; }
  body footer .footer-legal :is(.note,.reg) { font-size:12px;line-height:1.8;margin:0 0 12px; }
  @media(min-width:1000px) {
    body .reading:has(> a.art:nth-child(3):last-child) { grid-template-columns:repeat(3,minmax(0,1fr));gap:32px; }
    body .reading:has(> a.art:nth-child(3):last-child) > a.art :is(h2.h4,h3) { font-size:21px; }
  }
  @media(max-width:1000px) {
    body .aside { margin-bottom:28px;padding-bottom:12px; }
    body .aside .railcard,body .aside > p:has(#printBtn) { display:none; }
    body footer .fgrid { grid-template-columns:1fr 1fr;gap:36px; }
    body footer .footer-contact { grid-column:1/-1; }
    body .invite .two { gap:48px; }
  }
  @media(max-width:760px) {
    body .team-profiles { padding-bottom:44px;gap:52px; }
    body .team-profiles + section { padding:44px 0 52px!important; }
    body :is(.sheet,.light) main:not(.article) > section + section { padding-top:44px!important; }
    body .invite .two { grid-template-columns:1fr;gap:32px; }
    body .invite .two > div:last-child { grid-column:auto; }
    body .invite .wrap > section,body.home-page .invite .wrap > section { padding-top:56px;padding-bottom:56px; }
    body footer,body .footwrap footer,body.home-page .footwrap footer { padding-top:56px;padding-bottom:36px; }
    body .resource-group > summary { font-size:20px;padding-top:22px;padding-bottom:22px;gap:16px; }
    body .resource-group > .reading { grid-template-columns:1fr; }
  }
  @media(max-width:560px) {
    body footer .fgrid { grid-template-columns:1fr;gap:36px; }
    body footer .fgrid > div:nth-child(2) { grid-column:auto; }
    body footer .fends { grid-template-columns:1fr;gap:14px; }
    body footer .fgrid > div:nth-child(2) ul { column-gap:24px; }
    body .invite .btn { width:100%; }
  }
  @media(max-width:760px) {
    body .team-profiles { grid-template-columns:1fr;gap:36px; }
    body .team-profiles .portrait { width:220px; }
    body .team-profiles .bio h2 { font-size:28px; }
    body .team-profiles .bio .lead { min-height:0; }
    body .team-intro { padding:36px 0; }
  }
}

@media screen {
 body .invite .two a.btn { background:#8C4F30;color:#FFFFFF;border:1px solid #8C4F30;box-shadow:none; }
 body .invite .two a.btn:hover { background:#7A4529;color:#FFFFFF;border-color:#7A4529; }
}
