/* Homepage composition. The two language editions share this screen layout. */
@media screen {
  .home-page { background:#FFFFFF; }
  .home-page .home-hero { background:#111110;color:#FFFFFF;min-height:0;display:block;overflow:hidden; }
  .home-page .home-hero::before,.home-page .home-hero::after { content:none; }
  .home-page .light > .wrap { padding-top:0; }
  .home-page .home-nav { background:#111110;max-width:none;width:100%;padding:0; }
  .home-page .home-nav .nav { max-width:1152px;width:calc(100% - 48px);margin:0 auto;border-bottom:1px solid #302C28; }
  .home-page .home-opening { display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:80px;align-items:center;padding-top:76px;padding-bottom:76px; }
  .home-page .home-message { min-width:0; }
  .home-page .home-eyebrow { color:#C79A7D;font-size:11px;letter-spacing:.18em;margin:0 0 26px;line-height:1.6; }
  .home-page .home-hero h1 { font-family:"Literata",Georgia,serif;color:#FFFFFF;font-size:clamp(42px,4.1vw,56px);line-height:1.16;letter-spacing:-.025em;font-weight:400;max-width:12em;margin:0 0 26px;text-wrap:balance; }
  .home-page .home-hero h1 span { color:#FFFFFF; }
  .home-page .home-phrase { white-space:nowrap; }
  .home-page .home-title-main { display:block; }
  .home-page .home-services { color:#E5E1DD;font-size:17px;line-height:1.6;margin:0 0 18px;max-width:32em; }
  .home-page .home-intro { color:#BEB9B3;font-size:16px;line-height:1.8;max-width:33em;margin:0 0 30px; }
  .home-page .home-actions { display:flex;align-items:center;gap:16px;flex-wrap:wrap; }
  .home-page .home-secondary { color:#E6C6B0;font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;justify-content:center;text-decoration:none;border:1px solid #9F7A62;padding:15px 22px;min-height:52px;line-height:1.5;display:inline-flex;gap:18px;align-items:center; }
  .home-page .home-secondary:hover { color:#FFFFFF;border-color:#C79A7D;background:#29221D; }
  .home-page .home-response { display:flex;align-items:center;gap:10px;color:#C8C5C1;font-size:14px;margin:22px 0 0;line-height:1.6; }
  .home-page .home-response svg { flex:none;color:#D6BDAA; }
  .home-page .home-response strong { color:#F1EFEC;font-weight:500; }
  .home-page .home-experience { grid-column:1/-1;position:relative;margin:8px 0 0;padding:20px 0 0;border-top:1px solid #393632;color:#C8C5C1;font-size:14px;line-height:1.75; }
  .home-page .home-experience br { display:none; }
  .home-page .home-experience strong { color:#F1EFEC;font-weight:500; }
  .home-page .home-experience::before { content:"";position:absolute;top:-1px;left:0;width:28px;height:1px;background:#C79A7D; }
  .home-page .home-people { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start; }
  .home-page .home-portrait { display:block;min-width:0;color:#FFFFFF;text-decoration:none; }
  .home-page .home-portrait:nth-child(2) { margin-top:0; }
  .home-page .home-portrait img { display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:cover;object-position:center 22%;filter:grayscale(1);border:0; }
  .home-page .home-portrait span { display:block;text-wrap:balance;font-family:"Literata",Georgia,serif;font-size:17px;line-height:1.4;margin-top:16px; }
  .home-page .home-portrait small { display:block;font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:#BEB9B3;margin-top:5px; }
  .home-page .home-portrait:hover span { text-decoration:underline;text-underline-offset:5px; }
  .home-page main#start { padding-top:0!important; }
  .home-page #practice,.home-page #about { padding-top:80px;padding-bottom:80px; }
  .home-page #practice { background:#FFFFFF; }
  .home-page #practice > .big { margin:0 0 32px;max-width:none;font-size:40px; }
  .home-page #practice > p a { color:#1A1817!important; }
  .home-page .home-practices { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:64px;row-gap:0;border-top:1px solid #E3DFDA;margin-top:32px; }
  .home-page .home-practice { position:relative;display:grid;grid-template-columns:28px minmax(0,1fr);column-gap:18px;align-content:start;align-items:baseline;min-width:0;padding:30px 26px 30px 0;border-bottom:1px solid #E3DFDA;text-decoration:none;color:#45413D; }
  .home-page .home-practice .no { color:#8C4F30;font-size:11px;line-height:1.5;margin:0;grid-column:1;grid-row:1; }
  .home-page .home-practice h3 { font-family:"Literata",Georgia,serif;font-weight:400;color:#1A1817;font-size:24px;line-height:1.35;margin:0 0 14px;min-height:0;text-wrap:pretty; }
  .home-page .home-practice h3 a { color:inherit!important;text-decoration:none; }
  .home-page .home-practice p { grid-column:2;color:#655F59;font-size:14px;line-height:1.8;margin:0;max-width:none; }
  .home-page .home-practice p a { color:#1A1817!important;text-underline-offset:3px; }
  .home-page .home-practice::after { content:'\2197';position:absolute;right:0;top:33px;color:#8C4F30;font-size:16px; }
  .home-page .home-practice h3::after { content:none; }
  .home-page .home-practice:focus-within,.home-page a.home-practice:hover { border-bottom-color:#8C4F30; }
  .home-page a.home-practice:hover h3,.home-page .home-practice h3 a:hover { color:#1A1817!important;text-decoration:underline;text-underline-offset:5px; }
  .home-page #about { border-top:1px solid #E3DFDA;padding-bottom:80px; }
  .home-page #about .two { grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:80px; }
  .home-page #about h2.big { max-width:12em;font-size:42px; }
  .home-page #about .two > div:first-child { position:static; }
  .home-page #about p { font-size:15px;line-height:1.85; }
  .home-page #about .label { font-size:11px; }
  .home-page #about .send { background:#FFFFFF;border:0;border-left:2px solid #333333;padding:22px 24px;margin-top:28px; }
  .home-page .knowledge { padding-top:72px;padding-bottom:72px; }
  .home-page #work h2.big,.home-page #writing h2.big { max-width:22em;font-size:36px; }
  .home-page #work .writing,.home-page #writing .writing { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;margin-top:36px; }
  .home-page #work .art,.home-page #writing .art { display:flex;flex-direction:column;align-items:start;padding:24px 0;gap:18px; }
  .home-page #work .art > span,.home-page #writing .art > span { order:-1;text-align:left;max-width:none;padding-right:24px; }
  .home-page #work .art h3,.home-page #writing .art h3 { font-size:23px;line-height:1.4; }
  .home-page #work .art p,.home-page #writing .art p { font-size:14px;line-height:1.8; }
  .home-page #work .art::after,.home-page #writing .art::after { top:20px; }
  .home-page #work .work-more { max-width:none;margin:24px 0 0; }
  .home-page #work .work-more a { display:inline-flex;align-items:center;gap:20px;min-height:44px;padding:8px 0;color:#E5E1DD!important;font-size:15px;font-weight:400;text-decoration:none;border-bottom:1px solid #79716B; }
  .home-page #work .work-more a:hover { color:#FFFFFF!important;border-bottom-color:#FFFFFF; }
  .home-page #work .art > span { color:#D8B39A;font-size:11px;line-height:1.6;letter-spacing:.1em;opacity:1; }
  .home-page .dark .label,.home-page .invite .label { color:#D8B39A;opacity:1; }
  .home-page #writing { background:#FFFFFF;border-top:1px solid #DEDEDE; }
  .home-page #writing h2,.home-page #writing h3 { color:#1A1817; }
  .home-page #writing .art { border-color:#DEDEDE;color:#333333; }
  .home-page #writing .art > span { color:#555555; }
  .home-page #writing .endlinks a { color:#1A1817; }
  .home-page #tools h2.big { max-width:23em;font-size:32px; }
  .home-page #tools .endlinks { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 32px;margin:26px 0 0;max-width:none;width:100%; }
  .home-page #tools .endlinks a { display:flex;justify-content:space-between;align-items:center;gap:20px;border:0;border-bottom:1px solid #DEDEDE;padding:20px 0;min-height:76px;font-family:var(--sans,Arial,sans-serif);font-size:16px;line-height:1.5;color:#1A1817; }
  .home-page #tools .endlinks a::after { font-family:var(--sans,Arial,sans-serif);font-size:14px;flex:none; }
  .home-page #tools .endlinks a:hover { border-bottom-color:#333333;background:transparent; }
  @media(max-width:900px) { .home-page #tools .endlinks { grid-template-columns:repeat(2,minmax(0,1fr)); } }
  @media(max-width:640px) { .home-page #tools h2.big { font-size:28px; } .home-page #tools .endlinks { grid-template-columns:1fr;gap:0;margin-top:20px; } .home-page #tools .endlinks a { min-height:64px;padding:18px 0;font-size:16px; } }
  .home-page #tools .endlinks a::before { content:none; }
  .home-page .home-faq { display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:64px;padding-top:72px!important;padding-bottom:72px; }
  .home-page .home-faq > .label { margin:0; }
  .home-page .home-faq summary { font-size:17px; }
  .home-page .home-faq .a { font-size:14px; }
  .home-page .reveal { opacity:1;transform:none; }
  /* A charcoal, white and restrained copper palette, scoped to the two homepages. */
  .home-page .light,.home-page main > section:not(.dark),.home-page main .wrap > section:not(.dark) { background:#FFFFFF;color:#45413D; }
  .home-page h2,.home-page h3,.home-page .home-faq summary { color:#1A1817; }
  .home-page .label,.home-page .send .h { color:#333333; }
  /* Light content stays white with neutral details, without beige or brown tints. */
  .home-page main section:not(.dark) .endlinks a { border-bottom-color:#C8C8C8; }
  .home-page main section:not(.dark) .endlinks a:hover { border-bottom-color:#333333; }
  .home-page main section:not(.dark) .art:hover { background-color:#F5F5F5; }
  .home-page main section:not(.dark) .art:hover h3,.home-page #faq-home details summary:hover { color:#333333; }
  .home-page .home-practice .no,.home-page .home-practice::after { color:#555555; }
  .home-page .home-practice:focus-within,.home-page a.home-practice:hover { border-bottom-color:#333333; }
  .home-page .endlinks a,.home-page .art::after,.home-page #faq-home details summary::after { color:#1A1817; }
  .home-page #about a:not(.btn),.home-page #team a:not(.btn) { color:#1A1817!important; }
  .home-page .btn { background:#8C4F30;border:1px solid #8C4F30;border-radius:0;color:#FFFFFF; }
  .home-page .btn:hover { background:#7A4529;border-color:#7A4529;color:#FFFFFF; }
  .home-page .navcta,.home-page .drawer .drawer-cta { background:transparent;border-color:#9F7A62;border-radius:0;color:#E6C6B0; }
  .home-page .navcta:hover,.home-page .drawer .drawer-cta:hover { background:#F1EBE6;border-color:#F1EBE6;color:#1A1817; }
  .home-page .kpst,.home-page .drawer,.home-page .actbar,.home-page .footwrap,.home-page .invite,.home-page main section.dark { background:#1A1817;background-image:none; }
  .home-page .invite::after { content:none; }
  .home-page .invite .wrap > section { padding-top:56px;padding-bottom:56px; }
  .home-page .footwrap footer { padding-top:48px; }
  .home-page main .invite .wrap > section,.home-page main .invite > section { background:transparent;color:#FFFFFF; }
  .home-page .dark p a { color:#C79A7D!important;border-color:#9F7A62; }
  .home-page .actbar,.home-page .invite { border-top-color:#3F3832; }
  .home-page .mark .lk::before { background:#C79A7D; }
  .home-page .nav ul a:hover,.home-page .kpst ul a:hover,.home-page .drawer a:hover { color:#FFFFFF; }
  .home-page .art:hover { background-color:rgba(151,105,75,.045); }
  .home-page .art:hover h3,.home-page #team .p-card h3 a:hover { color:#333333; }
  .home-page .dark h2,.home-page .dark h3,.home-page .invite h2 { color:#FFFFFF; }
  .home-page .dark .label,.home-page .dark .art > span,.home-page .dark .art::after,.home-page .dark .endlinks a,.home-page .invite .label,.home-page .direct a,.home-page .fmap,.home-page .fmark i { color:#C79A7D; }
  .home-page .dark .art:hover h3,.home-page .fgrid a:hover,.home-page .fends a:hover { color:#FFFFFF; }
  .home-page .invite a:not(.btn) { color:#E6C6B0!important;border-color:#9F7A62; }
  .home-page .invite .btn { background:#8C4F30;border-color:#8C4F30;color:#FFFFFF; }
  .home-page .invite .btn:hover { background:#7A4529;border-color:#7A4529; }
  .home-page .invite .btn.line { background:transparent;color:#FFFFFF;border-color:#9F7A62; }
  .home-page .invite .btn.line:hover { background:#8C4F30; }
  .home-page :where(a,button,summary):focus-visible { outline-color:#8C4F30; }
  .home-page :is(.home-nav,.kpst,.drawer,.dark,.invite,.footwrap,.actbar) :where(a,button,summary):focus-visible { outline-color:#C79A7D; }
  .home-page ::selection { background:#E6C6B0;color:#1A1817; }
  @media(max-width:1100px) {
    .home-page .home-opening { gap:32px; }
    .home-page .home-hero h1 { font-size:48px; }
    .home-page .home-actions { gap:18px; }
    .home-page #about .two { gap:40px; }
  }
  @media(max-width:800px) {
    .home-page .home-opening { grid-template-columns:1fr;padding-top:44px;padding-bottom:44px;gap:36px; }
    .home-page .home-hero h1 { font-size:clamp(36px,6.2vw,48px);max-width:13em; }
    .home-page .home-people { max-width:480px;gap:20px; }
    .home-page .home-portrait:nth-child(2) { margin-top:0; }
    .home-page .home-portrait img { aspect-ratio:4/5; }
    .home-page .home-portrait span { font-size:16px; }
    .home-page .home-practices { grid-template-columns:1fr;gap:0; }
    .home-page #about .two { grid-template-columns:1fr;gap:28px; }
    .home-page #work .writing,.home-page #writing .writing { grid-template-columns:1fr;gap:0; }
    .home-page .home-faq { grid-template-columns:1fr;gap:24px; }
  }
  @media(max-width:480px) {
    .home-page .home-experience { margin-top:4px;padding-top:18px; }
    .home-page .home-experience br { display:block; }
    .home-page .home-actions { display:grid;grid-template-columns:1fr;justify-items:stretch;gap:12px; }
    .home-page .home-actions .btn { width:100%; }
    .home-page .home-services { font-size:16px; }
    .home-page .home-people { gap:16px; }
    .home-page .home-portrait span { font-size:14px;min-height:2.8em;margin-top:12px; }
    .home-page #practice,.home-page #about,.home-page .knowledge,.home-page .home-faq { padding-top:52px!important;padding-bottom:52px; }
    .home-page #practice > .big,.home-page #about h2.big,.home-page #work h2.big,.home-page #writing h2.big { font-size:32px; }
    .home-page .home-practices { grid-template-columns:1fr; }
    .home-page .home-practice { grid-template-columns:22px minmax(0,1fr);column-gap:12px;padding:24px 20px 24px 0; }
    .home-page .home-practice h3 { font-size:22px; }
    .home-page .home-practice .no { margin-bottom:0; }
    .home-page .home-practice::after { top:28px; }
    .home-page #tools .endlinks { grid-template-columns:1fr; }
  }
}
/* Restored homepages: the established charcoal composition, with a
   shared grid, quieter supporting copy and deliberate section spacing. */
@media screen {
  body.home-restored .home-opening { grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:72px;padding-top:80px;padding-bottom:80px;align-items:center; }
  body.home-restored .home-hero h1 { font-size:clamp(40px,3.85vw,54px);line-height:1.18;max-width:13em;margin-bottom:24px; }
  body.home-restored .home-eyebrow { font-size:12px;letter-spacing:.12em;color:#D6BDAA;margin-bottom:24px; }
  body.home-restored .home-intro { font-size:16px;line-height:1.75;color:#C8C5C1;margin-bottom:28px; }
  body.home-restored .home-services { font-size:17px;line-height:1.6;margin-bottom:16px; }
  body.home-restored .home-actions { gap:20px; }
  body.home-restored .home-secondary { border:0;border-bottom:1px solid #8D8075;padding:10px 0;min-height:44px;font-size:13px;letter-spacing:0;text-transform:none;gap:14px; }
  body.home-restored .home-secondary:hover { background:transparent;border-color:#E6C6B0; }
  body.home-restored .home-response { font-size:13px;margin-top:22px; }
  body.home-restored .home-people { gap:22px; }
  body.home-restored .home-portrait img { aspect-ratio:2/3; }
  body.home-restored .home-portrait span { font-size:17px;margin-top:16px; }
  body.home-restored .home-portrait small { font-size:11px;letter-spacing:.08em;color:#C8C5C1; }
  body.home-restored .home-experience { font-size:13px;margin-top:2px;padding-top:18px; }
  body.home-restored #practice { padding:80px 0 56px; }
  body.home-restored .home-practices { column-gap:56px; }
  body.home-restored .home-practice { padding:28px 28px 28px 0; }
  body.home-restored .home-practice h3 { margin-bottom:12px;font-size:24px; }
  body.home-restored .home-practice p { font-size:15px;line-height:1.75;color:#58534F;max-width:48ch; }
  body.home-restored #about.home-assurance { display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;padding:40px 0 64px;border-top:1px solid #DAD7D3; }
  body.home-restored .home-assurance .label { font-size:12px;letter-spacing:.08em;margin:0 0 16px; }
  body.home-restored .home-assurance h2 { font-size:28px;line-height:1.3;font-weight:400;margin:0; }
  body.home-restored .home-assurance p { margin:0 0 12px;font-size:15px;line-height:1.75; }
  body.home-restored .home-text-link { display:inline-flex;gap:24px;align-items:center;min-height:44px;font-size:14px;text-decoration:none;border-bottom:1px solid #B6AEA8; }
  body.home-restored .home-text-link:hover { border-color:#1A1817; }
  body.home-restored .knowledge { padding-top:76px;padding-bottom:76px; }
  body.home-restored :is(#work,#writing) .writing { gap:36px;margin-top:32px; }
  body.home-restored :is(#work,#writing) .art { gap:18px;padding:26px 0; }
  body.home-restored :is(#work,#writing) .art h3 { font-size:23px;line-height:1.4;margin-bottom:14px; }
  body.home-restored :is(#work,#writing) .art p { font-size:15px;line-height:1.75; }
  body.home-restored :is(#work,#writing) .art > span { font-size:11px;font-weight:500;letter-spacing:.08em; }
  body.home-restored #work .art p { color:#CBC7C2; }
  body.home-restored #work .art:hover { background:transparent; }
  body.home-restored #work .art:hover h3 { text-decoration:underline;text-underline-offset:5px; }
  body.home-restored #work .work-more { margin-top:18px; }
  body.home-restored #tools { border-bottom:1px solid #DAD7D3; }
  body.home-restored #tools .endlinks { margin-top:28px;column-gap:40px; }
  body.home-restored #tools .endlinks a { min-height:68px;font-size:16px; }
  body.home-restored #writing { border-top:0; }
  body.home-restored #writing .endlinks { margin-top:24px; }
  body.home-restored .reading-faq { border-top:1px solid #DAD7D3;padding:56px 0 72px!important;gap:56px; }
  body.home-restored .reading-faq-heading h2.label { font-size:26px;line-height:1.4;text-transform:none;letter-spacing:0;font-weight:400;color:#1A1817; }
  body.home-restored .reading-faq-heading h2.label i { display:none; }
  body.home-restored .invite .wrap > section { padding:64px 0; }
  body.home-restored .invite .two { grid-template-columns:1fr 1fr;gap:56px;align-items:center; }
  body.home-restored .invite h2 { margin-bottom:0;font-size:38px; }
  body.home-restored .invite .label { font-size:12px;letter-spacing:.08em;color:#DFC5B2; }
  body.home-restored .invite .two > div:last-child > p { font-size:16px;line-height:1.75;margin:0 0 24px;max-width:42ch; }
  body.home-restored .footwrap footer { padding-top:56px; }
  body.home-restored .fgrid { gap:48px; }
  body.home-restored .label { font-size:12px;letter-spacing:.1em;font-weight:500; }
}
@media screen and (max-width:1100px) {
  body.home-restored .home-opening { gap:40px; }
  body.home-restored .home-actions { gap:12px; }
  body.home-restored .home-hero h1 { font-size:44px; }
  body.home-restored .home-portrait span { font-size:16px; }
}
@media screen and (max-width:800px) {
  body.home-restored .home-opening { grid-template-columns:1fr;padding:44px 0 48px;gap:36px; }
  body.home-restored .home-hero h1 { font-size:clamp(35px,6vw,46px);max-width:14em; }
  body.home-restored .home-people { max-width:520px;width:100%;gap:20px; }
  body.home-restored .home-portrait img { aspect-ratio:4/5; }
  body.home-restored #about.home-assurance { grid-template-columns:1fr;gap:24px;padding:36px 0 48px; }
  body.home-restored :is(#work,#writing) .writing { grid-template-columns:1fr;gap:0; }
  body.home-restored :is(#work,#writing) .art h3 { font-size:23px;max-width:30ch; }
  body.home-restored :is(#work,#writing) .art { padding:26px 0; }
  body.home-restored .knowledge,body.home-restored #practice { padding-top:52px;padding-bottom:48px; }
  body.home-restored .reading-faq { grid-template-columns:1fr;gap:24px;padding:40px 0 48px!important; }
  body.home-restored .invite .two { grid-template-columns:1fr;gap:24px; }
  body.home-restored .invite .wrap > section { padding:48px 0; }
  body.home-restored .invite h2 { font-size:34px; }
  body.home-restored .fgrid { gap:32px; }
}
@media screen and (max-width:480px) {
  body.home-restored .home-actions { display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px; }
  body.home-restored .home-actions .btn { width:auto;min-height:50px;padding:15px 20px; }
  body.home-restored .home-secondary { min-height:44px; }
  body.home-restored .home-people { gap:16px; }
  body.home-restored .home-portrait span { font-size:15px;min-height:2.8em; }
  body.home-restored .home-experience { padding-top:16px; }
  body.home-restored .home-experience br { display:none; }
  body.home-restored #practice > .big,body.home-restored #work h2.big,body.home-restored #writing h2.big { font-size:30px; }
  body.home-restored .home-practice { padding:24px 24px 24px 0;column-gap:12px; }
  body.home-restored .home-practice h3 { font-size:22px; }
  body.home-restored .home-practice p { font-size:14px; }
  body.home-restored #tools .endlinks { grid-template-columns:1fr; }
  body.home-restored .invite .btn { width:100%;text-align:center; }
}
@media screen {
  /* Full-width section backgrounds retain the same text edges as the header. */
  body.home-restored main .wrap > section,body.home-restored.home-page main > section {
    padding-left:max(var(--gut,clamp(24px,5vw,64px)),calc(50vw - var(--w,1280px)/2 + var(--gut,clamp(24px,5vw,64px))))!important;
    padding-right:max(var(--gut,clamp(24px,5vw,64px)),calc(50vw - var(--w,1280px)/2 + var(--gut,clamp(24px,5vw,64px))))!important;
  }
  body.home-restored .home-opening { padding-left:var(--gut,clamp(24px,5vw,64px));padding-right:var(--gut,clamp(24px,5vw,64px)); }
  body.home-restored .home-assurance h2 { font-family:"Literata",Georgia,serif; }
}
