@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/fonts/manrope-latin-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Newsreader';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/newsreader-latin-italic.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/newsreader-latin-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Public identity: ink, warm paper, and copper. Font licenses: /fonts/*-OFL.txt. */
:root {
  --public-ink: #243746;
  --public-muted: #62666a;
  --public-paper: #f8f5ef;
  --public-surface: #fffdfa;
  --public-line: #ddd8cf;
  --public-accent: #9b5039;
  --public-soft: #eee7dd;
  --public-control-line: #b8b8b1;
  --public-sans: 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --public-serif: 'Newsreader', Georgia, 'Times New Roman', serif;
}
.public-site, .policy-dialog, .cookie-notice, .auth-modal {
  --client-primary: var(--public-ink);
  --lawyer-primary: var(--public-ink);
  --client-primary-hover: #142b3c;
  --lawyer-primary-hover: #142b3c;
  --surface-raised: var(--public-surface);
  --foreground: var(--public-ink);
  font-family: var(--public-sans);
  color: var(--public-ink);
  -webkit-font-smoothing: antialiased;
}
.public-site { background: var(--public-paper); min-height: 100svh; display: flex; flex-direction: column; line-height: 1.6; }
.public-site * { box-sizing: border-box; }
.public-site a { color: inherit; }
.public-site ::selection, .policy-dialog ::selection { background: #edd9cc; color: var(--public-ink); }
:where(.public-site,.policy-dialog,.cookie-notice,.auth-modal) :focus-visible { outline: 2px solid var(--public-accent); outline-offset: 4px; }
.public-header { width: min(1240px,100%); margin: 0 auto; padding: 25px 40px; min-height: 86px; display: flex; align-items: center; justify-content: space-between; gap: 24px; border-bottom: 1px solid var(--public-line); }
.public-brand { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; font-size: 22px; font-weight: 700; letter-spacing: -1.1px; line-height: 1.3; }
.public-brand > svg { color: var(--public-accent); }
.brand-light { font-weight: 400; }
.public-header nav { display: flex; align-items: center; gap: 30px; font-size: 12px; font-weight: 600; }
.public-header nav a { text-decoration: none; text-underline-offset: 5px; }
.public-header nav a:hover { text-decoration: underline; color: var(--public-accent); }
.public-main { width: min(1240px,100%); margin: 0 auto; flex: 1; display: grid; grid-template-columns: minmax(0,1fr) minmax(340px,420px); align-items: start; gap: 60px 90px; padding: 60px 40px 56px; }
.public-intro { padding-top: 12px; }
.public-eyebrow { font: 600 10px/1.7 var(--public-sans); letter-spacing: .14em; color: var(--public-muted); margin: 0 0 18px; }
.public-intro h1 { font: 400 clamp(40px,4.1vw,57px)/1.1 var(--public-serif); letter-spacing: -.035em; margin: 24px 0; }
.public-intro h1 em { color: var(--public-accent); font-weight: 400; font-style: italic; }
.public-lede { color: var(--public-muted); font-size: 15px; line-height: 1.9; max-width: 470px; margin: 0; }
.audience-switch { display: inline-flex; width: fit-content; padding: 4px; gap: 4px; margin-bottom: 26px; background: var(--public-soft); border: 1px solid var(--public-line); border-radius: 6px; }
.audience-switch button { font: 600 12px/1.5 var(--public-sans); min-height: 36px; padding: 8px 18px; border: 0; border-radius: 3px; background: transparent; color: var(--public-muted); cursor: pointer; }
.audience-switch button[aria-pressed=true] { background: var(--public-surface); color: var(--public-ink); box-shadow: 0 1px 3px #24374615; }
.audience-switch button:hover { color: var(--public-ink); }
.practice-topics { display: flex; flex-wrap: wrap; gap: 8px; margin: 26px 0; }
.practice-topics span { border: 1px solid var(--public-line); border-radius: 3px; padding: 6px 9px; font-size: 10px; color: var(--public-muted); }
.public-principle { border-left: 2px solid var(--public-accent); padding-left: 18px; max-width: 420px; margin-top: 32px; }
.public-principle > span { font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.public-principle p { font-size: 12px; line-height: 1.8; color: var(--public-muted); margin: 10px 0 0; }
.public-disclaimer { max-width: 400px; font-size: 10px; line-height: 1.8; color: var(--public-muted); margin: 26px 0 0; }
.public-mobile-cta { display: none; }
.public-account { min-width: 0; scroll-margin-top: 24px; }
.public-account > div { width: 100%; max-width: none; }
.public-account > div > div.auth-panel { padding: 30px; background: var(--public-surface); border: 1px solid var(--public-line); border-top: 2px solid var(--public-accent); border-radius: 8px; box-shadow: 0 10px 32px #24374606; }
.public-account .auth-heading { gap: 16px; align-items: center; margin-bottom: 12px; }
.public-account h2 { font-family: var(--public-sans); font-size: 23px; line-height: 1.35; font-weight: 700; letter-spacing: -.8px; }
.public-account .auth-introduction { color: var(--public-muted); font-size: 12px; line-height: 1.8; margin-bottom: 26px; }
.public-account form { display: flex; flex-direction: column; gap: 18px; }
.public-account form > * { margin: 0 !important; }
.public-account form label { font-size: 12px; font-weight: 600; line-height: 1.6; color: var(--public-ink); margin-bottom: 6px; }
.public-account input:not([type=checkbox]), .public-account select.ui-select, .auth-modal input { background-color: var(--public-surface); color: var(--public-ink); border-color: var(--public-control-line); border-radius: 5px; }
.public-account input:not([type=checkbox]) { height: 46px; font-size: 14px; padding: 10px 12px; }
.public-account input::placeholder { color: #727575; opacity: 1; }
.public-account input[aria-invalid=true], .auth-modal input[aria-invalid=true] { border-color: #b53e36; background: #fff6f3; }
.public-account input[type=checkbox] { accent-color: var(--public-ink); width: 18px; height: 18px; flex-shrink: 0; }
.public-account button[type=submit] { font-size: 13px; min-height: 46px; font-weight: 600; letter-spacing: .01em; }
.public-account select.ui-select { font-size: 12px; min-height: 40px; max-width: 145px; }
.public-account .text-sm { font-size: 12px; }
.public-account .mt-6 { margin-top: 20px; }
.public-account .password-guidance { color: var(--public-muted); font-size: 11px; line-height: 1.7; }
.public-account .password-control input { padding-right: 48px; }
.public-account .password-control > button { color: var(--public-muted); }
.public-account .password-control > button:hover { background: var(--public-soft); }
.public-account :is(.text-gray-600,.text-gray-700) { color: var(--public-muted); }
.public-account form label.text-gray-700 { color: var(--public-ink); }
.public-account button[aria-pressed=false] { background: transparent; border-color: var(--public-control-line); color: var(--public-muted); }
.auth-modal > div { background: var(--public-surface); }
.auth-modal :is(h2,h3) { color: var(--public-ink); }
.public-journey { grid-column: 1/-1; border-top: 1px solid var(--public-line); padding-top: 36px; }
.public-journey-heading { display: flex; justify-content: space-between; align-items: baseline; gap: 20px; margin-bottom: 28px; }
.public-journey-heading h2 { font: 400 29px/1.25 var(--public-serif); letter-spacing: -.02em; margin: 0; }
.public-journey ol { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 40px; }
.public-journey li > div { display: flex; align-items: center; justify-content: space-between; color: var(--public-accent); margin-bottom: 18px; }
.public-journey li > div span { font: italic 20px/1 var(--public-serif); }
.public-journey h3 { font-size: 13px; line-height: 1.6; font-weight: 700; margin: 0 0 8px; }
.public-journey p { color: var(--public-muted); font-size: 12px; line-height: 1.85; margin: 0; }
.public-footer { width: min(1240px,100%); margin: 0 auto; padding: 28px 40px; display: grid; grid-template-columns: 220px 1fr; gap: 12px 30px; border-top: 1px solid var(--public-line); color: var(--public-muted); font-size: 12px; line-height: 1.6; font-family: inherit; }
.footer-brand { font-weight: 700; text-decoration: none; color: var(--public-ink); }
.public-footer p { margin: 4px 0; font-size: 11px; }
.public-footer nav { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 8px 18px; }
.public-footer nav a,.public-footer button { font: inherit; color: inherit; background: none; border: 0; padding: 0; text-decoration: none; cursor: pointer; text-underline-offset: 4px; }
.public-footer nav a:hover,.public-footer button:hover { text-decoration: underline; }
.public-footer small { grid-column: 1/-1; font-size: 10px; }
.public-skip { position: absolute; left: 16px; top: -80px; z-index: 100; background: var(--public-ink); color: white !important; padding: 12px; }
.public-skip:focus { top: 8px; }
.cookie-notice { position: fixed; z-index: 45; bottom: 16px; left: 50%; transform: translateX(-50%); width: min(760px,calc(100% - 24px)); border: 1px solid var(--public-line); border-left: 3px solid var(--public-accent); box-shadow: 0 8px 32px #2437461a; background: var(--public-surface); border-radius: 7px; padding: 16px 20px; display: flex; gap: 22px; align-items: center; font-size: 12px; line-height: 1.7; }
.cookie-notice strong { font-size: 13px; font-weight: 700; }
.cookie-notice p { margin: 4px 0 0; color: var(--public-muted); }
.cookie-notice a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.cookie-notice button { flex-shrink: 0; border: 0; border-radius: 5px; min-height: 44px; padding: 10px 20px; background: var(--public-ink); color: white; font: inherit; font-weight: 600; cursor: pointer; }
.policy-dialog { padding: 0; border: 1px solid var(--public-line); border-radius: 8px; background: var(--public-surface); width: min(760px,calc(100vw - 24px)); max-height: 85svh; margin: auto; font-size: 14px; line-height: 1.85; }
.policy-dialog::backdrop { background: #172937a6; }
.policy-dialog-header { position: sticky; top: 0; background: var(--public-surface); padding: 22px 26px; border-bottom: 1px solid var(--public-line); display: flex; justify-content: space-between; gap: 20px; }
.policy-dialog-header h2 { font: 400 32px/1.2 var(--public-serif); margin: 0; }
.policy-dialog-header .public-eyebrow { margin-bottom: 8px; }
.policy-dialog-header button { align-self: start; font-size: 26px; line-height: 1; width: 40px; height: 40px; background: var(--public-soft); color: var(--public-ink); border: 0; border-radius: 4px; cursor: pointer; }
.policy-body { padding: 10px 26px 26px; }
.policy-body section { margin: 25px 0; }
.policy-body h3 { font-size: 15px; font-weight: 700; margin: 0 0 8px; }
.policy-body p { margin: 0; color: var(--public-muted); }
.policy-date { font-size: 12px; margin-top: 12px !important; }
.policy-date a { color: inherit; text-decoration: underline; }
.legal-main { width: min(1240px,100%); padding: 40px 40px 64px; margin: 0 auto; flex: 1; }
.breadcrumbs { font-size: 12px; color: var(--public-muted); margin-bottom: 28px; }
.breadcrumbs a { color: inherit; }
.legal-heading { border-bottom: 1px solid var(--public-line); padding-bottom: 28px; }
.legal-heading h1 { font: 400 clamp(38px,4vw,50px)/1.15 var(--public-serif); letter-spacing: -.025em; margin: 12px 0; }
.legal-heading > p { color: var(--public-muted); font-size: 14px; line-height: 1.8; max-width: 720px; }
.legal-heading > .public-eyebrow { color: var(--public-accent); font-size: 10px; }
.legal-heading > p:last-child { font-size: 11px; margin-top: 16px; }
.legal-grid { display: grid; grid-template-columns: 220px minmax(0,760px); gap: 70px; margin-top: 40px; }
.legal-toc { align-self: start; position: sticky; top: 24px; display: grid; gap: 14px; font-size: 12px; line-height: 1.65; border-left: 1px solid var(--public-line); padding-left: 16px; }
.legal-toc a { color: var(--public-muted); text-decoration: none; }
.legal-toc a:hover { color: var(--public-accent); text-decoration: underline; text-underline-offset: 4px; }
.legal-article section { margin: 0 0 34px; scroll-margin-top: 24px; }
.legal-article h2 { font: 400 27px/1.25 var(--public-serif); letter-spacing: -.015em; margin: 0 0 12px; }
.legal-article p { color: var(--public-muted); font-size: 14px; line-height: 1.95; margin: 0; }
.legal-article a { color: var(--public-accent); text-underline-offset: 3px; }
.support-form { display: grid; gap: 10px; background: var(--public-surface); border: 1px solid var(--public-line); border-top: 2px solid var(--public-accent); border-radius: 8px; padding: 26px; margin-top: 28px; }
.support-form label { font-size: 12px; font-weight: 600; margin-top: 8px; }
.support-form input:not([type=checkbox]), .support-form textarea { width: 100%; box-sizing: border-box; font: inherit; font-size: 14px; padding: 12px; border: 1px solid var(--public-control-line); border-radius: 5px; background: var(--public-surface); color: var(--public-ink); }
.support-form input[type=checkbox] { accent-color: var(--public-ink); width: 16px; height: 16px; }
.support-form .support-consent { font-size: 12px; font-weight: 400; line-height: 1.8; }
.support-form button { justify-self: start; padding: 12px 18px; margin-top: 10px; min-height: 44px; background: var(--public-ink); color: white; border: 0; border-radius: 5px; font: 600 13px/1.5 var(--public-sans); cursor: pointer; }
.support-form button:hover,.cookie-notice button:hover { background: #142b3c; }
.confirmation-dialog { padding: 0; border: 0; border-radius: 8px; background: transparent; width: min(448px,calc(100vw - 32px)); max-height: 85vh; overflow: auto; margin: auto; }
.confirmation-dialog::backdrop { background: rgb(0 0 0 / .5); }
@media (max-width:1050px) {
  .public-main { gap: 44px; grid-template-columns: minmax(0,1fr) minmax(320px,390px); padding: 40px 28px; }
  .public-header,.public-footer { padding-left: 28px; padding-right: 28px; }
  .public-intro h1 { font-size: 44px; }
  .legal-grid { gap: 36px; grid-template-columns: 180px minmax(0,1fr); }
}
@media (max-width:760px) {
  .public-header { padding: 18px 20px; min-height: 76px; gap: 12px; }
  .public-header nav { gap: 14px; font-size: 11px; }
  .public-header nav > a:first-child { display: none; }
  .public-header nav a { display: inline-flex; align-items: center; min-height: 44px; }
  .public-brand { font-size: 20px; gap: 10px; }
  .public-main { display: flex; flex-direction: column; align-items: stretch; padding: 28px 20px; gap: 32px; }
  .public-intro { padding-top: 0; }
  .public-intro h1 { font-size: 41px; letter-spacing: -.035em; margin: 20px 0; }
  .public-eyebrow { font-size: 9px; }
  .public-lede { font-size: 14px; line-height: 1.8; }
  .public-principle,.public-disclaimer { display: none; }
  .practice-topics { margin: 18px 0; gap: 6px; }
  .practice-topics span { font-size: 10px; padding: 5px 7px; }
  .public-mobile-cta { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-size: 13px; font-weight: 700; }
  .public-account > div > div.auth-panel { padding: 24px; }
  .public-account select.ui-select { font-size: 16px; max-width: 145px; }
  .public-account input:not([type=checkbox]) { font-size: 16px; }
  .public-journey { padding-top: 28px; }
  .public-journey-heading { display: block; }
  .public-journey-heading h2 { font-size: 29px; }
  .public-journey ol { grid-template-columns: 1fr; gap: 24px; }
  .public-journey li { border-top: 1px solid var(--public-line); padding-top: 22px; }
  .public-journey li > div { margin-bottom: 12px; }
  .public-journey p { max-width: 420px; }
  .public-footer { grid-template-columns: 1fr; padding: 24px 20px; gap: 14px; }
  .public-footer nav { justify-content: flex-start; gap: 11px 17px; }
  .cookie-notice { align-items: flex-start; padding: 14px; gap: 12px; bottom: 10px; font-size: 11px; }
  .cookie-notice button { padding: 10px 13px; }
  .legal-main { padding: 26px 20px 40px; }
  .legal-grid { display: block; margin-top: 28px; }
  .legal-toc { position: static; display: flex; flex-wrap: wrap; gap: 10px 18px; margin-bottom: 32px; }
  .legal-heading h1 { font-size: 38px; }
  .policy-body { padding: 10px 20px 20px; }
  .support-form { padding: 20px; }
  .support-form input:not([type=checkbox]),.support-form textarea { font-size: 16px; }
}
@media (max-width:360px) {
  .public-account .auth-heading { align-items: flex-start; flex-direction: column; }
  .public-account > div > div.auth-panel { padding: 20px; }
  .public-header nav { font-size: 10px; gap: 9px; }
  .public-brand { font-size: 18px; }
  .public-intro h1 { font-size: 36px; }
}
@media (prefers-reduced-motion:reduce) { .public-site *, .policy-dialog *, .cookie-notice * { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }

/* Existing workspace/profile layouts, shared by the application. */
.workspace main{display:flex;flex-direction:column;min-height:calc(100vh - 72px)}
.workspace main>.max-w-7xl{width:100%;padding-top:24px;padding-bottom:24px;flex:1}
.workspace .public-footer{padding:20px 24px;background:#f4f5ef;font-size:12px;gap:20px}
.workspace .public-footer nav{gap:10px 16px}
.workspace-lawyer .public-footer{background:#eff3f7}
.workspace.dark .public-footer{background:#18242b;color:#d2dcd5;border-color:#34464f}
.workspace.dark .public-footer a,.workspace.dark .public-footer button{color:#d2dcd5}
.workspace :focus-visible,.support-form :focus-visible{outline:3px solid #b7752b;outline-offset:3px}
.workspace main h1{font-size:clamp(24px,2.2vw,30px);line-height:1.2;letter-spacing:-.5px}
@media(max-width:680px){.audience-switch{margin-bottom:15px}.workspace main>.max-w-7xl{padding:18px 16px}.workspace .public-footer{padding:20px 16px}.support-form input,.support-form textarea{font-size:16px}}
@media(prefers-reduced-motion:reduce){.workspace *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.profile-workspace{--profile-accent:var(--client-primary,#254d3b);color:#24382e;min-width:0}
.workspace-lawyer .profile-workspace{--profile-accent:var(--lawyer-primary,#244b6a)}
.profile-sections{display:flex;flex-wrap:wrap;gap:6px;padding:6px;background:#f1f4f3;border:1px solid #d7dfdb;border-radius:9px}
.profile-sections button{flex:1 1 120px;text-align:left;padding:11px 14px;border-radius:5px;background:transparent;border:1px solid transparent;color:#53615a;cursor:pointer;min-width:0}
.profile-sections button span{font-weight:600;font-size:14px;display:block}
.profile-sections button small{display:block;font-size:11px;line-height:1.5;margin-top:3px}
.profile-sections button[aria-current=page]{background:#fff;color:var(--profile-accent);border-color:#c5d2cb;box-shadow:0 1px 2px #172a2110}
.profile-workspace [hidden]{display:none!important}
.profile-section-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}
.profile-section-heading h2,.profile-settings-card h2{font-size:18px;font-weight:600;margin:0 0 6px}
.profile-section-heading p,.profile-settings-card>p{font-size:14px;line-height:1.6;color:#617068;margin:0}
.profile-settings-card{padding:24px;background:#fff;border:1px solid #dce2de;border-radius:8px}
.profile-setting-toggle{display:flex;align-items:start;gap:12px;margin:22px 0;font-size:14px;cursor:pointer}
.profile-setting-toggle input{margin-top:4px;width:16px;height:16px;accent-color:var(--profile-accent)}
.profile-setting-toggle small{display:block;max-width:640px;font-size:12px;line-height:1.6;margin-top:6px;color:#617068}
.profile-inline-actions,.profile-edit-actions{display:flex;justify-content:space-between;align-items:center;gap:16px}
.profile-inline-actions p,.profile-edit-actions p{font-size:13px;margin:0}
.profile-primary-button{background:var(--profile-accent)!important;color:#fff!important;border:1px solid var(--profile-accent)!important}
.profile-primary-button,.profile-edit-actions button{border-radius:6px;padding:10px 16px;font-size:13px;cursor:pointer}
.profile-edit-actions{position:sticky;bottom:12px;z-index:20;background:#fff;border:1px solid #cbd5ce;box-shadow:0 3px 16px #162d2012;padding:14px 18px;border-radius:8px}
.profile-edit-actions>div{display:flex;gap:10px;flex-shrink:0}
.profile-edit-actions button:not(.profile-primary-button){border:1px solid #cbd5ce;background:transparent;color:inherit}
.profile-workspace button:disabled{cursor:not-allowed;opacity:.55}
.dark .profile-workspace{color:#e2e9e5}.dark .profile-sections{background:#17242d;border-color:#35434d}.dark .profile-sections button{color:#c5d0d7}.dark .profile-sections button[aria-current=page]{background:#293b48;color:#fff;border-color:#677d8c}
.dark .profile-settings-card,.dark .profile-edit-actions{background:#1f2937;border-color:#475569}.dark .profile-section-heading p,.dark .profile-settings-card>p,.dark .profile-setting-toggle small{color:#b8c4ce}
@media(max-width:680px){.profile-sections button{flex-basis:calc(50% - 6px);padding:10px}.profile-sections button small{font-size:11px}.profile-settings-card{padding:18px}.profile-edit-actions,.profile-section-heading,.profile-inline-actions{align-items:stretch;flex-direction:column;gap:12px}.profile-edit-actions{bottom:8px;padding:12px}.profile-edit-actions>div button{flex:1}.profile-workspace input,.profile-workspace textarea,.profile-workspace select{font-size:16px}}

/* Landing: editorial paper, deep teal ink, and an architectural open door. */
.public-site { --public-accent: #24685f; }
.public-main { grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); gap: 76px 64px; padding-top: 54px; }
.public-intro h1 { font-size: clamp(46px,5.1vw,70px); line-height: 1.04; max-width: 650px; margin: 18px 0 24px; }
.public-lede { font-size: 16px; line-height: 1.8; }
.public-intro .audience-switch { margin-bottom: 22px; }
.public-intro .public-principle { margin-top: 28px; }
.public-intro .public-disclaimer { font-size: 11px; }
.public-header nav { gap: 22px; }
.public-header .landing-support-link { display: none; }
.landing-primary, .landing-nav-cta { border: 0; border-radius: 4px; background: #174f49; color: #fffdfa; font: 600 14px/1.5 var(--public-sans); cursor: pointer; display: inline-flex; align-items: center; justify-content: center; gap: 28px; min-height: 50px; padding: 14px 22px; }
.landing-primary { margin-top: 26px; }
.landing-nav-cta { min-height: 42px; padding: 10px 16px; font-size: 12px; }
.landing-primary:hover, .landing-nav-cta:hover { background: #103d38; }
.landing-cta-note { font-size: 11px; margin: 10px 0 0; color: var(--public-muted); }
.landing-categories { grid-column: 1/-1; border-top: 1px solid var(--public-line); padding-top: 36px; }
.landing-categories h2 { font: 400 clamp(32px,3vw,42px)/1.15 var(--public-serif); letter-spacing: -.025em; margin: 0 0 16px; }
.landing-categories p:not(.public-eyebrow) { font-size: 13px; color: var(--public-muted); max-width: 460px; }
.landing-categories ul { list-style: none; display: grid; grid-template-columns: repeat(5,1fr); padding: 0; margin: 28px 0 0; border-block: 1px solid var(--public-line); }
.landing-categories li { display: flex; flex-direction: column; gap: 24px; padding: 24px 18px; border-right: 1px solid var(--public-line); font-size: 13px; }
.landing-categories li:first-child { padding-left: 0; }
.landing-categories li:last-child { border-right: 0; }
.landing-categories svg { color: var(--public-accent); }
.public-journey { grid-column: 1/-1; }
.public-account { scroll-margin-top: 24px; }
@media (max-width: 900px) {
 .public-main { gap: 44px 30px; padding: 36px 24px; }
 .public-header { padding: 20px 24px; }
 .public-header nav { gap: 16px; }
 .public-header nav > a[href='/about/'] { display: none; }
 .public-intro h1 { font-size: 50px; }
 .landing-categories ul { grid-template-columns: repeat(3,1fr); }
 .landing-categories li { border: 0; padding: 20px 12px; }
}
@media (max-width: 640px) {
 .public-header { padding: 16px 20px; gap: 10px; }
 .public-brand { font-size: 19px; gap: 7px; }
 .public-header nav > a { display: none; }
 .public-header nav { display: flex; }
 .landing-nav-cta { font-size: 11px; padding: 10px; }
 .public-main { display: flex; gap: 40px; padding: 32px 20px 44px; }
 .public-intro h1 { font-size: clamp(42px,10.5vw,60px); }
 .public-lede { font-size: 15px; }
 .landing-categories ul { grid-template-columns: repeat(2,1fr); }
 .landing-categories li { gap: 14px; padding: 20px 10px; border-bottom: 1px solid var(--public-line); }
 .landing-categories li:first-child { padding-left: 10px; }
 .landing-primary { width: 100%; justify-content: space-between; }
}

/* Keep the existing account form alongside the introduction. */
.public-main { grid-template-columns: minmax(0,1fr) minmax(340px,420px); }
.public-account { grid-column: 2; grid-row: 1; }
@media (max-width: 900px) and (min-width: 761px) { .public-main { grid-template-columns: minmax(0,1fr) minmax(320px,390px); } .public-intro h1 { font-size: 44px; } }
@media (max-width: 760px) { .public-main { display: flex; flex-direction: column; } .public-account { order: 0; } .public-intro h1 { font-size: 44px; } }
@media (max-width: 640px) {
 .public-header nav > a[href='#account'] { display: inline-flex; }
 .public-header nav { font-size: 12px; }
}
