/* Personal site adaptations. The two approved CROSSFIELD stylesheets load first. */
html { scroll-padding-top:120px; }
section, .service-section { scroll-margin-top:0; }
body { overflow-wrap:break-word; }
button, input, textarea { font:inherit; }
button { cursor:pointer; }
button:focus-visible, input:focus-visible, textarea:focus-visible { outline:3px solid #9a6b16; outline-offset:5px; }
.fb-header .brand { flex:0 0 280px; line-height:1.25; text-decoration:none; padding:18px 0; color:var(--navy); }
.fb-brand-name { display:block; font:400 27px/1.2 Georgia,'Times New Roman',serif; letter-spacing:1px; white-space:nowrap; }
.fb-brand-descriptor { display:block; margin-top:8px; font:11px/1.5 Arial,Helvetica,sans-serif; letter-spacing:.35px; color:var(--muted); max-width:280px; }
.fb-header .primary-nav { gap:19px; }
.fb-header .cf-header-inner { gap:26px; }
.menu-copyright { display:none; margin-top:16px; padding-top:16px; border-top:1px solid var(--line); font-size:12px; color:var(--muted); }
.source-block { min-width:0; }
.source-block + .source-block { margin-top:22px; }
.source-block > :first-child { margin-top:0; }
.source-block > :last-child { margin-bottom:0; }
.source-block h1, .source-block h2, .source-block h3, .source-block h4, .source-block h5, .source-block h6 { font-family:Georgia,'Times New Roman',serif; font-weight:400; }
.source-block h1 strong, .source-block h2 strong, .source-block h3 strong, .source-block h4 strong, .source-block h5 strong, .source-block h6 strong { font-weight:inherit; }
.source-block h2, .source-block h3 { margin-bottom:23px; }
.source-block h4, .source-block h5, .source-block h6 { font-size:27px; line-height:1.3; letter-spacing:-.45px; margin:0 0 20px; }
.source-block p + p, .source-block div + p { margin-top:20px; }
.source-block ul, .source-block ol { padding-left:24px; margin:22px 0; }
.source-block li { padding-left:5px; margin:9px 0; }
.source-block li::marker { color:var(--ochre); }
.source-block a:not(.button):not(.media-link) { text-underline-offset:4px; text-decoration-color:var(--gold); }
.source-block img { display:block; max-width:100%; height:auto; }
.source-block figure { margin:0; }
.source-block figcaption { font-size:14px; color:var(--muted); margin-top:12px; }
.source-eyebrow, .source-eyebrow h2, .source-eyebrow h3, .source-eyebrow h4, .source-eyebrow h5, .source-eyebrow h6, .source-block .eyebrow { font:700 12px/1.55 Arial,Helvetica,sans-serif; letter-spacing:1.7px; color:var(--ochre); text-transform:uppercase; margin-bottom:17px; }
.source-eyebrow + .source-block { margin-top:0; }
[data-source-block="7906-c49"], [data-source-block="251-c7"], [data-source-block="258-c6"],
[data-source-block="7906-c49"] .eyebrow, [data-source-block="251-c7"] .eyebrow, [data-source-block="258-c6"] .eyebrow { text-transform:none; }
.source-lead { font-size:18px; line-height:1.8; color:var(--muted); }
.source-block .paragraph-heading { font:inherit; letter-spacing:normal; }
.source-block .paragraph-heading strong { font-weight:700; }
.source-block .button::after { content:none; }
.fb-home-hero .hero-grid { grid-template-columns:1.22fr .85fr; align-items:center; }
.fb-home-hero h1 { max-width:620px; }
.fb-home-hero .hero-copy .source-block + .source-block { margin-top:27px; }
.fb-home-hero .hero-copy .source-block h1 { margin:0; }
.fb-home-hero .hero-copy .source-block p { font:18px/1.65 Arial,Helvetica,sans-serif; color:#dce5e8; }
.fb-home-hero .decision-card { padding:32px; }
.fb-home-hero .decision-card .source-block + .source-block { margin-top:19px; }
.fb-home-hero .decision-card .source-eyebrow { color:var(--gold-light); margin-bottom:15px; }
.fb-home-hero .decision-card .source-eyebrow * { color:inherit; }
.fb-home-hero .decision-card h2 { font-size:32px; line-height:1.2; margin:0; }
.fb-home-hero .decision-card .source-question { font:italic 20px/1.5 Georgia,serif; color:var(--gold-light); padding-top:18px; border-top:1px solid var(--light-line); }
.fb-home-hero .decision-card .source-prose { font-size:16px; line-height:1.75; color:#d2dfe5; }
.fb-home-hero .decision-card .source-prose strong { font-weight:700; }
.fb-home-hero .decision-card .source-block :is(h1,h2,h3,h4,h5,h6) strong { font-weight:400; }
.fb-hero { position:relative; }
.shared-context { background:var(--navy); color:#d8e3e8; border-bottom:1px solid var(--light-line); padding:26px 0; }
.shared-context-grid { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:45px; align-items:center; }
.shared-context .shared-title { color:var(--gold-light); font:22px/1.3 Georgia,serif; }
.shared-context .shared-description { max-width:820px; font-size:14px; line-height:1.6; margin-top:10px; }
.shared-context .shared-link { font-size:14px; color:var(--gold-light); }
.shared-context a:focus-visible { outline-color:var(--gold-light); }
.hero-button .button { margin-top:6px; }
.source-button .button { margin-top:6px; color:white; background:var(--navy); }
.source-button .button:hover { background:var(--navy-2); }
.hero .source-button .button, .page-hero .source-button .button, .dark .source-button .button { color:var(--navy); background:var(--gold-light); }
.hero .source-button .button:hover, .page-hero .source-button .button:hover, .dark .source-button .button:hover { background:#eed3a0; }
.social-link { display:inline-flex; border:1px solid var(--line); padding:12px; width:48px; height:48px; align-items:center; justify-content:center; color:var(--navy); }
.social-link svg { display:block; width:22px; height:22px; fill:currentColor; }
.source-index a { display:block; border-top:1px solid var(--line); padding:15px 0; font-size:13px; line-height:1.6; text-decoration:none !important; font-weight:700; letter-spacing:.2px; }
.source-index a:last-child { border-bottom:1px solid var(--line); }
.source-index a:hover { color:var(--ochre); }
.service-image { max-width:550px; margin-bottom:28px; }
.service-image img { max-height:300px; width:100%; object-fit:contain; background:var(--paper); }
.legacy-form fieldset { border:0; padding:0; margin:0; min-width:0; display:grid; gap:21px; }
.legacy-form fieldset:disabled { opacity:.6; }
.clipboard-buffer { position:fixed; left:-10000px; top:0; }
.source-anchor { display:block; height:0; scroll-margin-top:0; }
.fb-hero .wrap { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:55px; align-items:end; }
.fb-hero .hero-main { max-width:980px; }
.fb-hero .source-block h1 { margin:0; }
.fb-hero .source-block + .source-block { margin-top:22px; }
.fb-hero .source-eyebrow, .fb-hero .source-eyebrow * { color:var(--gold-light); }
.fb-hero .source-lead { color:#d8e3e8; max-width:825px; }
.fb-hero .hero-word { display:block; height:62px; width:3px; background:var(--gold); margin-bottom:7px; }
.fb-section { padding:76px 0; }
.home .fb-section { padding:88px 0; }
.fb-section.white { background:white; border-block:1px solid var(--line); }
.fb-section.dark { background:var(--navy); color:white; }
.dark .source-lead, .dark .source-prose, .page-hero .source-lead { color:#d2dfe5; }
.dark .source-eyebrow, .dark .source-eyebrow *, .dark .source-block .eyebrow { color:var(--gold-light); }
.dark .cf-label { color:var(--gold-light); }
.dark .source-block li::marker { color:var(--gold-light); }
.dark .source-block a:focus-visible { outline-color:var(--gold-light); }
.fb-intro { max-width:825px; margin-bottom:40px; }
.fb-intro .source-lead { margin-top:23px; }
.fb-editorial { display:grid; grid-template-columns:.85fr 1.15fr; gap:75px; align-items:start; }
.fb-editorial .source-media { margin-top:0; }
.fb-editorial .source-media img { max-height:600px; width:100%; object-fit:contain; }
.fb-reading { max-width:825px; }
.fb-reading.centered { margin-inline:auto; }
.fb-reading .source-block + .source-block { margin-top:27px; }
.fb-columns { display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start; }
.fb-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:23px; }
.fb-cards.two { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
.fb-card { padding:30px 27px; border:1px solid var(--line); background:white; min-width:0; }
.fb-card .source-block { font-size:17px; line-height:1.8; }
.fb-card .source-block h3 { font-size:28px; line-height:1.25; margin-bottom:0; }
.fb-card .source-block + .source-block { margin-top:21px; }
.fb-card .card-rule { display:block; width:34px; height:2px; background:var(--gold); margin-bottom:25px; }
.fb-card .source-media { margin:-30px -27px 25px; }
.fb-card .source-media img { width:100%; max-height:320px; object-fit:contain; background:var(--paper); }
.fb-card .source-prose { color:var(--muted); }
.fb-services .service-section h2 { font-size:34px; }
.fb-services .service-section .source-block + .source-block { margin-top:23px; }
.fb-services .deliverable-label { border-top:1px solid var(--line); padding-top:23px; font-weight:700; font-size:14px; letter-spacing:.4px; }
.fb-services .deliverable-label + .source-block { margin-top:10px; }
.fb-services .service-note { border-left:2px solid var(--gold); padding-left:18px; color:var(--muted); font-size:15px; }
.section-index .cf-label { font-size:12px; }
.fb-client-item { padding:0 0 50px; border-bottom:1px solid var(--line); margin-bottom:50px; }
.fb-client-item:last-child { margin-bottom:0; padding-bottom:0; border:0; }
.fb-client-item .source-block h2 { font-size:33px; }
.fb-client-item .source-media { max-width:410px; margin-bottom:25px; }
.fb-client-item .source-media img { width:100%; max-height:350px; object-fit:contain; background:var(--paper); }
.fb-publication-images { display:grid; grid-template-columns:1fr 1fr; gap:30px; align-items:start; margin-top:45px; }
.fb-publication-images .source-block { margin:0; }
.fb-publication-images img { width:100%; max-height:440px; object-fit:contain; background:white; padding:15px; border:1px solid var(--line); }
.bibliography { font-size:17px; line-height:1.8; }
.bibliography .chapter-title { display:block; margin-top:45px; padding-top:30px; border-top:1px solid var(--gold); font:400 29px/1.3 Georgia,serif; color:var(--ink); letter-spacing:-.5px; }
.bibliography .chapter-title:first-child { margin-top:0; }
.bibliography .chapter-subtitle { display:block; font:italic 20px/1.5 Georgia,serif; color:var(--muted); margin:10px 0 24px; }
.bibliography .biblio-lang { display:block; margin-top:20px; font:700 12px/1.6 Arial,sans-serif; color:var(--ochre); letter-spacing:1px; }
.bibliography ul { padding-left:0; list-style:none; }
.bibliography li { border-bottom:1px solid var(--line); padding:19px 0; margin:0; }
.bibliography li:last-child { border-bottom:0; }
.bibliography .chapter-title em { font-style:normal; }
.fb-quote { border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:32px 0; margin-top:36px; }
.fb-quote .source-block { font:italic 25px/1.55 Georgia,serif; color:var(--ochre); }
.fb-quote .source-eyebrow { font:700 12px/1.55 Arial,sans-serif; margin:20px 0; }
.df-reading .source-block { padding-bottom:36px; margin-bottom:38px; border-bottom:1px solid var(--line); }
.df-reading .source-block:last-child { border:0; padding-bottom:0; margin-bottom:0; }
.df-reading .source-block h2 { font-size:33px; }
.df-reading .source-block p + h2 { margin-top:32px; }
.fb-footer { background:white; padding:0 0 30px; border-top:1px solid var(--line); }
.fb-footer .footer-nav { padding:30px 0; }
.fb-footer-grid { display:grid; grid-template-columns:minmax(0,1fr) 245px; gap:64px; align-items:start; padding-top:5px; }
.fb-footer-copy { font-size:14px; line-height:1.8; overflow-wrap:anywhere; }
.fb-footer-copy h2, .fb-footer-copy h3, .fb-footer-copy h4, .fb-footer-copy h5, .fb-footer-copy h6 { font:inherit; letter-spacing:0; margin:0 0 12px; }
.fb-footer-copy .source-block { font:inherit; }
.fb-footer-copy .source-block strong { font-weight:600; }
.fb-footer-copy .source-block br + br { display:none; }
.crossfield-connection { padding-top:6px; border-top:2px solid var(--gold); }
.crossfield-connection a { display:block; text-decoration:none; }
.crossfield-connection img { display:block; width:100%; height:auto; aspect-ratio:2048/522; object-fit:cover; margin:14px 0 16px; }
.crossfield-connection .cf-label { font-size:11px; letter-spacing:1.1px; margin:0; }
.crossfield-connection .connection-link { margin-top:12px; font-size:14px; text-decoration:underline; text-underline-offset:5px; text-decoration-color:var(--gold); }
.fb-footer .copyright { padding-top:26px; margin-top:26px; border-top:1px solid var(--line); font-size:12px; color:var(--muted); }
.contact-direct { border:1px solid #627064; border-top:3px solid var(--gold); background:var(--navy-2); padding:32px; min-width:0; }
.contact-direct h2 { font-size:32px; margin-bottom:24px; }
.contact-direct .contact-label { color:var(--gold-light); font-size:12px; letter-spacing:1.4px; font-weight:700; text-transform:uppercase; margin-bottom:7px; }
.contact-direct .email-address { display:block; font-size:17px; line-height:1.65; overflow-wrap:anywhere; text-decoration-color:var(--gold-light); text-underline-offset:5px; }
.contact-direct .copy-email { background:transparent; color:var(--gold-light); border:1px solid var(--light-line); padding:10px 14px; min-height:44px; font-size:14px; margin-top:17px; }
.contact-direct .copy-email:hover { border-color:var(--gold-light); }
.copy-status { min-height:1.6em; font-size:13px; color:#d8e3e8; margin-top:8px; }
.contact-direct .pec-block { border-top:1px solid var(--light-line); margin-top:24px; padding-top:22px; }
.fb-contact-grid { display:grid; grid-template-columns:1.12fr .88fr; gap:78px; align-items:start; }
.fb-contact-grid h1 { margin-bottom:25px; }
.fb-contact-grid .page-intro { margin-top:0; }
.fb-contact-grid .button { margin-top:29px; }
.fb-contact-grid .mail-note { color:#bfd0d8; font-size:14px; line-height:1.6; max-width:480px; margin-top:15px; }
.contact-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:33px; margin-top:38px; }
.contact-step { border-top:1px solid var(--line); padding-top:25px; }
.contact-step .step-number { font:22px Georgia,serif; color:var(--ochre); display:block; margin-bottom:20px; }
.contact-step h3 { font-size:27px; margin-bottom:17px; }
.contact-step p { color:var(--muted); font-size:17px; line-height:1.8; }
.contact-note { border-left:3px solid var(--gold); padding:22px 26px; margin-top:35px; background:var(--paper); font-size:16px; }
.legacy-form { margin-top:30px; display:grid; gap:21px; }
.legacy-form label { display:block; font-size:15px; font-weight:700; margin-bottom:7px; }
.legacy-form input, .legacy-form textarea { display:block; width:100%; border:1px solid #889b9f; border-radius:0; color:var(--ink); background:white; padding:12px 14px; font-size:17px; }
.legacy-form textarea { min-height:150px; resize:vertical; }
.legacy-form .button { justify-self:start; }
.legacy-note { font-size:15px; color:var(--muted); margin:20px 0; }
.legacy-status { font-size:15px; color:var(--ink); }
.fb-error { min-height:60vh; display:flex; align-items:center; }
.fb-error .button { margin-top:30px; }
.media-link { display:block; }
.media-link:focus-visible { outline-offset:6px; }
.media-hint { font-size:13px; color:var(--muted); margin-top:10px; }
.attachment-layout { max-width:960px; margin-inline:auto; }
.attachment-layout img, .attachment-layout video { display:block; width:auto; height:auto; max-width:100%; max-height:80vh; margin-inline:auto; }
.attachment-layout .attachment-copy { margin-top:32px; }
.attachment-layout .button { margin-top:25px; }
.attachment-layout h2 { overflow-wrap:anywhere; }
.attachment-metadata { display:flex; flex-wrap:wrap; gap:8px 24px; color:var(--muted); font-size:14px; }
.attachment-taxonomy { display:flex; flex-wrap:wrap; gap:20px 36px; padding-top:26px; margin-top:36px; border-top:1px solid var(--line); color:var(--muted); font-size:14px; }
.attachment-taxonomy p { display:inline; margin-right:7px; }
.attachment-previous { margin-top:30px; padding-top:25px; border-top:1px solid var(--line); font-size:14px; }
.attachment-previous h3 { font-size:22px; }
.attachment-hero { max-width:980px; }
.attachment-hero > p:first-child { color:var(--gold-light); font:700 12px/1.6 Arial,sans-serif; letter-spacing:1.5px; }
.attachment-hero > p:first-child em { font-style:normal; }
.attachment-hero > p { color:#d8e3e8; font-size:18px; max-width:825px; }
.attachment-hero a { color:var(--gold-light); font-size:14px; }
.fb-dialog { border:1px solid var(--gold); background:var(--navy); color:white; max-width:min(96vw,1400px); max-height:94vh; padding:20px; }
.fb-dialog::backdrop { background:rgba(7,31,43,.92); }
.fb-dialog img { display:block; width:auto; height:auto; max-width:calc(94vw - 40px); max-height:calc(88vh - 100px); margin:0 auto; }
.fb-dialog .dialog-bar { display:flex; flex-wrap:wrap; justify-content:space-between; gap:16px; align-items:center; margin-bottom:18px; }
.fb-dialog button, .fb-dialog a { color:var(--gold-light); background:transparent; border:1px solid var(--light-line); padding:10px 16px; min-height:44px; font-size:14px; }
.fb-dialog button:focus-visible, .fb-dialog a:focus-visible { outline-color:var(--gold-light); }
.fb-dialog figcaption { font-size:14px; margin-top:16px; color:#d8e3e8; max-width:1000px; }
@media (max-width:1200px) {
  .fb-header .brand { flex-basis:245px; }
  .fb-brand-name { font-size:24px; }
  .fb-brand-descriptor { font-size:10px; }
  .fb-header .primary-nav { gap:15px; }
  .fb-header .cf-header-inner { gap:20px; }
}
@media (max-width:1050px) {
  .fb-header .brand { grid-column:1; grid-row:1; }
  .fb-header .menu-toggle { grid-column:2; grid-row:1; justify-self:end; }
  .fb-header .primary-nav { grid-column:1 / -1; }
  .fb-header .primary-nav:not([hidden]) { display:flex; flex-wrap:wrap; padding-bottom:22px; gap:8px 24px; }
  .fb-header .primary-nav .nav-contact { margin-left:0; }
  .fb-header .menu-copyright { display:block; flex:1 0 100%; }
  .fb-header .fb-brand-descriptor { font-size:11px; }
  .fb-contact-grid { gap:40px; }
  .fb-home-hero .hero-grid { gap:42px; }
  .fb-home-hero .decision-card { padding:26px; }
  .fb-editorial { gap:44px; }
  .fb-cards { gap:20px; }
}
@media (max-width:800px) {
  html { scroll-padding-top:130px; }
  .fb-home-hero .hero-grid, .fb-editorial, .fb-columns, .fb-contact-grid { grid-template-columns:1fr; gap:36px; }
  .fb-home-hero .hero-grid { padding:60px 0; gap:42px; }
  .fb-home-hero .decision-card { margin-right:16px; padding:29px; }
  .fb-hero .wrap { display:block; }
  .fb-hero .hero-word { display:none; }
  .shared-context-grid { grid-template-columns:1fr; gap:18px; }
  .fb-section { padding:55px 0; }
  .home .fb-section { padding:60px 0; }
  .fb-cards { grid-template-columns:1fr; }
  .fb-cards.two { gap:23px; }
  .fb-footer-grid { grid-template-columns:1fr; gap:35px; }
  .crossfield-connection { max-width:260px; }
  .contact-steps { grid-template-columns:1fr; gap:28px; }
  .fb-contact-grid { gap:40px; }
  .fb-contact-grid .button { width:auto; }
  .fb-quote .source-block { font-size:24px; }
}
@media (max-width:540px) {
  .fb-brand-name { font-size:22px; letter-spacing:.6px; }
  .fb-header .brand { max-width:245px; padding:16px 0; }
  .fb-brand-descriptor { font-size:10px !important; max-width:240px; }
  .fb-header .primary-nav:not([hidden]) { display:grid; grid-template-columns:1fr; gap:0; align-items:stretch; max-height:calc(100dvh - 110px); overflow-y:auto; }
  .fb-header .primary-nav a { width:100%; padding:12px 3px; min-height:44px; }
  .fb-header .primary-nav .nav-contact { margin-top:12px; padding:13px 17px; }
  .fb-header .menu-copyright { margin-top:15px; }
  .fb-section { padding:47px 0; }
  .fb-cards.two, .fb-publication-images { grid-template-columns:1fr; }
  .fb-publication-images { gap:27px; }
  .fb-home-hero .hero-grid { padding:48px 0 54px; }
  .fb-home-hero .decision-card { padding:25px; }
  .fb-home-hero .decision-card h2 { font-size:29px; }
  .fb-card { padding:28px 24px; }
  .fb-card .source-media { margin:-28px -24px 25px; }
  .fb-contact-grid .button { width:100%; }
  .contact-direct { padding:27px 24px; }
  .contact-direct h2 { font-size:30px; }
  .fb-services .service-section h2, .fb-client-item .source-block h2, .df-reading .source-block h2 { font-size:30px; }
  .bibliography .chapter-title { font-size:26px; }
}
@media (max-width:365px) {
  .fb-brand-name { font-size:20px; }
  .fb-header .brand { max-width:230px; }
  .fb-home-hero .decision-card { padding:23px; }
  .fb-home-hero .decision-card h2 { font-size:27px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { transition:none !important; animation:none !important; }
}
@media print {
  .header { position:static; }
  .primary-nav, .menu-toggle, .copy-email, .fb-dialog, .section-index, .footer-nav { display:none !important; }
  .wrap { width:100%; }
  .hero, .page-hero, .dark, .decision-card, .contact-direct { color:var(--ink) !important; background:white !important; }
  .hero *, .page-hero *, .dark *, .decision-card * { color:inherit !important; }
  .hero-grid, .fb-editorial, .fb-columns, .fb-contact-grid, .reading-layout { display:block !important; }
  .source-block, .fb-card, li { break-inside:avoid; }
}

/* October 2026 refinement: a continuous brand, clearer contact paths and
   image frames designed for each role. Base CROSSFIELD files stay unchanged. */
html { scroll-padding-top:128px; }
.fb-header .cf-header-inner {
  width:min(1320px,calc(100% - 56px));
  display:grid; grid-template-columns:280px minmax(0,1fr) 116px;
  grid-template-areas:"brand nav locale"; gap:20px; min-height:104px;
}
.fb-header .brand { grid-area:brand; min-width:0; max-width:none; padding:20px 0; }
.fb-header .fb-brand-name { font-size:25px; letter-spacing:.6px; }
.fb-header .fb-brand-descriptor { font-size:12px; line-height:1.45; letter-spacing:0; max-width:290px; margin-top:7px; }
.fb-header .primary-nav { grid-area:nav; gap:16px; margin:0; justify-content:flex-end; font-size:14px; }
.fb-header .primary-nav a { min-height:44px; display:inline-flex; align-items:center; }
.fb-header .primary-nav .nav-contact { padding:12px 15px; }
.language-preview { grid-area:locale; display:flex; align-items:center; gap:9px; padding-left:14px; border-left:1px solid var(--line); color:var(--muted); font-size:12px; line-height:1.4; }
.language-preview img { display:block; width:30px; height:auto; aspect-ratio:247/130; border:1px solid #bcc4c6; flex:none; object-fit:contain; }
.language-preview span[lang] { display:block; font-size:13px; color:var(--ink); font-weight:700; }
.language-preview small { display:block; font:inherit; font-size:12px; margin-top:2px; }
.fb-header .menu-toggle { grid-area:toggle; min-width:64px; min-height:44px; font-size:14px; padding:10px 13px; border:1px solid var(--line); background:white; color:var(--navy); justify-content:center; align-items:center; }
.hero-contact-link { display:inline-flex; min-height:44px; align-items:center; color:var(--gold-light); margin-top:16px; font-size:15px; text-underline-offset:5px; text-decoration-thickness:1px; }
.hero-contact-link:hover { color:white; }
.source-block :is(h2,h3) { text-wrap:pretty; }
.source-block .eyebrow, .source-eyebrow { font-size:13px; }
.fb-cards { align-items:start; }
.fb-card { border-top:2px solid var(--gold); }
.fb-card .card-rule { display:none; }
.source-index a { font-size:14px; }
.section-index { top:128px; }
.fb-editorial { align-items:center; }
.source-block .editorial-visual { width:100%; height:100%; max-height:none; display:block; object-fit:cover; object-position:center; }
.fb-editorial .source-media { width:100%; overflow:hidden; }
.fb-editorial .source-media .editorial-visual { aspect-ratio:4/3; height:auto; max-height:none; object-fit:cover; }
.fb-editorial .source-media:has(.editorial-visual) { border-bottom:3px solid var(--gold); }
.service-image { max-width:none; width:100%; overflow:hidden; border-bottom:3px solid var(--gold); margin-bottom:32px; }
.service-image .editorial-visual { height:auto; max-height:none; aspect-ratio:16/9; object-fit:cover; }
.fb-card .source-media { overflow:hidden; }
.fb-card .source-media .editorial-visual { width:100%; height:auto; max-height:none; aspect-ratio:16/9; object-fit:cover; }
.fb-card .source-media [data-focal="bank"] { object-position:center 29%; }
.fb-card .source-media [data-focal="law"] { object-position:center 74%; }
.fb-publication-images { grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr); align-items:center; gap:38px; }
.fb-publication-images .source-media { min-width:0; }
.fb-publication-images .book-cover { display:block; height:auto; width:100%; max-height:none; padding:0; border:1px solid var(--line); object-fit:contain; aspect-ratio:484/704; }
.fb-publication-images .editorial-visual { display:block; height:auto; width:100%; max-height:none; aspect-ratio:4/5; padding:0; border:0; object-fit:cover; }
.crossfield-connection img { aspect-ratio:2171/724; object-fit:contain; width:100%; height:auto; margin:15px 0 12px; }
.crossfield-connection .connection-link { margin-top:0; }
.crossfield-connection .connection-external { display:inline-block; margin-top:16px; font-size:13px; color:var(--muted); text-decoration:underline; text-underline-offset:4px; }
.fb-footer-grid { grid-template-columns:minmax(0,1fr) 290px; }
.archive-contact-actions { display:flex; align-items:center; flex-wrap:wrap; gap:22px; margin-top:32px; }
.archive-email-link { display:inline-flex; align-items:center; min-height:44px; text-underline-offset:5px; }
.contact-direct [data-contact-reference="pec"] { display:block; overflow-wrap:anywhere; }
.contact-direct .copy-email:focus-visible { outline-color:var(--gold-light); }
.attachment-layout .attachment-copy { padding:22px; border:1px solid var(--line); background:var(--paper); }
.attachment-layout [data-image-role="archive-original"] { display:block; object-fit:contain; width:auto; height:auto; max-width:100%; max-height:80vh; }
.attachment-layout .media-link { width:fit-content; margin-inline:auto; max-width:100%; }
.attachment-layout .attachment-copy p { overflow-wrap:anywhere; }

/* CROSSFIELD: a compact, fully operational collaboration presented in the
   same typographic vocabulary as the two professional websites. */
.cf-intro { padding:68px 0 70px; }
.cf-intro-grid { display:grid; grid-template-columns:1.3fr .85fr; gap:70px; align-items:center; }
.cf-intro h1 { font-size:clamp(48px,5.4vw,76px); max-width:none; }
.cf-intro .cf-subtitle { font:400 clamp(23px,2.15vw,29px)/1.4 Georgia,serif; color:var(--gold-light); margin-top:20px; }
.cf-intro-description { color:#d8e3e8; line-height:1.85; font-size:17px; margin-top:28px; }
.cf-mark { width:100%; margin:0; background:white; padding:20px; border-top:3px solid var(--gold); }
.cf-mark img { display:block; width:100%; height:auto; aspect-ratio:2171/724; object-fit:contain; }
.cf-story-grid, .cf-outcomes-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:78px; align-items:start; }
.cf-story h2, .cf-outcomes h2 { max-width:490px; font-size:clamp(31px,3vw,42px); }
.cf-story .prose, .cf-outcomes .prose { color:var(--muted); }
.cf-people-grid { display:grid; grid-template-columns:1fr 1fr; gap:60px; margin-top:40px; }
.cf-person { border-top:2px solid var(--gold); padding-top:26px; }
.cf-person h3 { font-size:31px; margin-bottom:19px; }
.cf-person p { color:var(--muted); font-size:17px; line-height:1.8; }
.cf-people-synthesis { max-width:880px; margin-top:34px; }
.cf-actions-grid { display:grid; grid-template-columns:1fr 1fr; gap:65px; align-items:center; }
.cf-actions h2 { max-width:530px; }
.cf-actions-links { display:flex; flex-direction:column; align-items:flex-start; gap:24px; }
.cf-external-link { display:inline-flex; align-items:center; min-height:44px; color:var(--gold-light); text-underline-offset:6px; font-size:16px; }
.cf-mail-note { color:#d2dfe5; font-size:14px; line-height:1.75; margin-top:24px; overflow-wrap:anywhere; }
.cf-mail-note a { text-underline-offset:4px; }
.cf-home-bridge { background:#ebece7; border-block:1px solid var(--line); }
.cf-home-grid { display:grid; grid-template-columns:1.12fr .88fr; gap:78px; align-items:center; }
.cf-home-copy h2 { font-size:44px; margin-bottom:22px; }
.cf-home-copy .prose { color:var(--muted); }
.cf-home-copy .button { margin-top:28px; }
.cf-home-mark { padding:24px; }
.cf-actions a:focus-visible { outline-color:var(--gold-light); }

@media (max-width:1360px) {
  .fb-header .cf-header-inner { width:min(1180px,calc(100% - 48px)); grid-template-columns:minmax(0,1fr) auto auto; grid-template-areas:"brand locale toggle" "nav nav nav"; gap:0 26px; min-height:100px; }
  .fb-header .brand { grid-column:auto; grid-row:auto; max-width:340px; padding:18px 0; }
  .fb-header .menu-toggle { grid-column:auto; grid-row:auto; display:inline-flex; justify-self:end; }
  .fb-header .primary-nav { grid-column:auto; }
  .fb-header .primary-nav:not([hidden]) { display:flex; justify-content:flex-start; flex-wrap:wrap; gap:7px 24px; padding:6px 0 22px; white-space:normal; }
  .fb-header .primary-nav .nav-contact { margin-left:0; }
  .fb-header .menu-copyright { display:block; flex-basis:100%; margin-top:8px; }
}
@media (max-width:800px) {
  html { scroll-padding-top:132px; }
  .cf-intro-grid, .cf-story-grid, .cf-outcomes-grid, .cf-actions-grid, .cf-home-grid { grid-template-columns:1fr; gap:36px; }
  .cf-intro { padding:48px 0 52px; }
  .cf-intro-description { max-width:680px; }
  .cf-intro .cf-mark { max-width:540px; }
  .cf-mark { padding:16px; }
  .cf-people-grid { gap:30px; }
  .cf-home-mark { max-width:500px; }
  .fb-footer-grid { grid-template-columns:1fr; }
  .crossfield-connection { max-width:330px; }
  .fb-editorial .source-media .editorial-visual { aspect-ratio:3/2; }
  .section-index { position:static; }
}
@media (max-width:640px) {
  html { scroll-padding-top:168px; }
  .fb-header .cf-header-inner { grid-template-columns:minmax(0,1fr) 64px; grid-template-areas:"brand toggle" "locale locale" "nav nav"; column-gap:14px; }
  .fb-header .brand { padding:15px 0 10px; }
  .fb-header .fb-brand-name { font-size:clamp(20px,4.95vw,25px); letter-spacing:.35px; }
  .fb-header .fb-brand-descriptor { font-size:12px !important; max-width:310px; margin-top:5px; }
  .language-preview { padding:0 0 11px; border:0; gap:8px; }
  .language-preview img { width:25px; height:auto; aspect-ratio:247/130; }
  .language-preview > span { display:flex; align-items:baseline; gap:8px; }
  .language-preview small { margin:0; }
  .language-preview small::before { content:'· '; }
  .fb-header .menu-toggle { align-self:start; margin-top:18px; }
  .fb-header .primary-nav:not([hidden]) { display:grid; grid-template-columns:1fr; padding:5px 0 20px; gap:0; max-height:calc(100dvh - 165px); overflow-y:auto; }
  .fb-header .primary-nav a { padding:12px 3px; width:100%; min-height:46px; }
  .fb-header .primary-nav .nav-contact { margin-top:12px; padding:13px 17px; }
  .fb-publication-images { grid-template-columns:1fr; gap:30px; }
  .fb-publication-images .source-media:has(.book-cover) { max-width:330px; margin-inline:auto; }
  .fb-publication-images .editorial-visual { aspect-ratio:3/2; }
  .cf-people-grid { grid-template-columns:1fr; gap:30px; }
  .cf-home-copy h2 { font-size:39px; }
  .cf-actions .button { width:100%; }
  .cf-actions-links { align-items:stretch; }
  .attachment-layout .attachment-copy { padding:12px; }
}
@media print {
  .language-preview, .hero-contact-link { display:none !important; }
  .cf-intro-grid,.cf-story-grid,.cf-outcomes-grid,.cf-actions-grid,.cf-home-grid,.cf-people-grid { display:block; }
  .cf-intro-description,.cf-intro .cf-subtitle { color:var(--ink); }
}

/* Revision 2: seven distinct page heroes and the requested text corrections.
   Images never sit behind reading text and retain a reserved responsive box. */
.hero-art { min-width:0; margin:0; overflow:hidden; border-top:2px solid var(--gold); border-bottom:2px solid var(--gold); background:#e8e5dc; }
.hero-art .hero-visual { display:block; width:100%; height:auto; max-height:none; aspect-ratio:4/3; object-fit:cover; object-position:center; }
.fb-hero.hero-illustrated .wrap { grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:56px; align-items:center; }
.fb-hero.hero-illustrated h1 { font-size:clamp(38px,3.65vw,53px); }
.fb-home-hero.hero-illustrated .hero-grid { grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr); gap:62px; padding-bottom:44px; }
.fb-home-hero .home-decision-summary { display:grid; grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr); gap:16px 58px; margin:0 0 64px; padding:30px 34px; }
.fb-home-hero .home-decision-summary::before { display:none; }
.fb-home-hero .home-decision-summary > .source-block { margin:0; }
.fb-home-hero .home-decision-summary > :nth-child(1) { grid-column:1; grid-row:1; margin:0; }
.fb-home-hero .home-decision-summary > :nth-child(2) { grid-column:1; grid-row:2; }
.fb-home-hero .home-decision-summary > :nth-child(3) { grid-column:2; grid-row:1; border:0; padding:0; }
.fb-home-hero .home-decision-summary > :nth-child(4) { grid-column:2; grid-row:2; }
.contact-hero-side { min-width:0; }
.contact-hero-side .hero-art { border-bottom:0; }
.contact-hero-side .hero-visual { aspect-ratio:16/9; }
.contact-hero-side .contact-direct { padding:26px 28px; border-top:0; }
.contact-hero-side .contact-direct h2 { margin-bottom:20px; }
.cf-email-contact { margin-top:26px; }
.cf-email-contact .cf-mail-note { margin-top:0; }
.cf-email-address { display:block; width:fit-content; max-width:100%; min-height:44px; padding-block:9px; color:var(--gold-light); text-decoration:underline; text-underline-offset:5px; overflow-wrap:anywhere; }
.cf-email-contact .copy-email { display:inline-flex; align-items:center; min-height:44px; color:var(--gold-light); background:transparent; border:1px solid var(--light-line); padding:10px 14px; margin-top:6px; font-size:14px; }
.cf-email-contact .copy-email:hover { border-color:var(--gold-light); }
.cf-email-contact .copy-email:focus-visible { outline-color:var(--gold-light); }
.cf-email-contact .copy-email[hidden] { display:none; }
.fb-quote > .source-eyebrow { margin:0 0 18px; }
.fb-quote .thread-copy { font:italic 25px/1.6 Georgia,'Times New Roman',serif; color:var(--ochre); margin:0; }
.fb-quote .thread-copy .source-block { display:inline; margin:0; padding:0; font:inherit; color:inherit; }
@media (max-width:1100px) {
  .fb-hero.hero-illustrated .wrap, .fb-home-hero.hero-illustrated .hero-grid { gap:36px; }
}
@media (max-width:900px) {
  .fb-hero.hero-illustrated .wrap { display:grid; grid-template-columns:minmax(0,1fr); gap:32px; }
  .fb-home-hero.hero-illustrated .hero-grid { grid-template-columns:minmax(0,1fr); gap:32px; padding-bottom:34px; }
  .hero-art .hero-visual { aspect-ratio:16/9; }
  .fb-hero.hero-illustrated h1 { font-size:42px; }
  .fb-home-hero .home-decision-summary { grid-template-columns:minmax(0,1fr); gap:20px; margin:0 0 48px; padding:28px; }
  .fb-home-hero .home-decision-summary > .source-block { grid-column:1; grid-row:auto; }
  .fb-home-hero .home-decision-summary > :nth-child(3) { border-top:1px solid var(--light-line); padding-top:18px; }
  .hero-illustrated .fb-contact-grid { grid-template-columns:minmax(0,1fr); gap:32px; }
}
@media (max-width:540px) {
  .fb-hero.hero-illustrated h1 { font-size:37px; }
  .fb-home-hero .home-decision-summary { padding:23px; }
  .hero-art .hero-visual { aspect-ratio:3/2; }
  .contact-hero-side .contact-direct { padding:25px 23px; }
  .fb-quote .thread-copy { font-size:23px; }
}
@media (max-width:360px) {
  .fb-hero.hero-illustrated h1 { font-size:34px; }
}
@media print {
  .hero-art { max-width:95mm; margin:6mm 0; break-inside:avoid; }
  .fb-hero.hero-illustrated .wrap, .fb-home-hero .home-decision-summary { display:block; }
  .cf-email-contact .copy-email { display:none; }
}
