/* 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; }
  }
}
