/*
Theme Name:   The Bays Firm (GeneratePress child)
Theme URI:    https://thebaysfirmpoc-14d27e6.ingress-bonde.ewp.live
Description:  Lightweight child theme for The Bays Firm proof-of-concept. Navy/gold palette, Libre Baskerville + Source Sans 3 (self-hosted, SIL OFL), WCAG 2.2 AA focused.
Author:       Curtis Franks (POC build)
Template:     generatepress
Version:      1.2.4
License:      GPL-2.0-or-later
Text Domain:  baysfirm-gp
*/

/* ---------- Fonts (self-hosted, SIL Open Font License; see fonts/OFL-*.txt) ---------- */
@font-face{font-family:"Libre Baskerville";font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/LibreBaskerville-var.woff2) format("woff2");}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;src:url(fonts/SourceSans3-var.woff2) format("woff2");}
@font-face{font-family:"Source Sans 3";font-style:italic;font-weight:200 900;font-display:swap;src:url(fonts/SourceSans3-italic-var.woff2) format("woff2");}

/* ---------- Tokens ---------- */
:root{
  --bf-navy:#1F2A44; --bf-navy-2:#2A3757; --bf-navy-3:#16203A;
  --bf-gold:#B08D57; --bf-gold-dark:#7E5F2C; --bf-gold-soft:#EFE6D6;
  --bf-cream:#FAF8F4; --bf-paper:#FFFFFF; --bf-sand:#F3EEE5;
  --bf-ink:#2B2B2B; --bf-ink-2:#4A4A4A; --bf-line:#E3DCCF;
  --bf-serif:"Libre Baskerville", Georgia, "Times New Roman", serif;
  --bf-sans:"Source Sans 3", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --bf-radius:6px; --bf-shadow:0 1px 2px rgba(31,42,68,.06), 0 8px 24px rgba(31,42,68,.08);
  --bf-wrap:1120px;
  /* GeneratePress global colour variables */
  --contrast:#2B2B2B; --contrast-2:#4A4A4A; --contrast-3:#6B6B6B;
  --base:#E3DCCF; --base-2:#FAF8F4; --base-3:#FFFFFF; --accent:#1F2A44;
}

/* ---------- Base ---------- */
html{scroll-padding-top:96px;}
html,body{overflow-x:clip;}
body{background:var(--bf-cream);color:var(--bf-ink);font-family:var(--bf-sans);font-size:18px;line-height:1.65;-webkit-font-smoothing:antialiased;}
h1,h2,h3,h4{font-family:var(--bf-serif);color:var(--bf-navy);font-weight:700;line-height:1.25;letter-spacing:-.005em;}
h1{font-size:clamp(2rem,1.4rem + 2.4vw,3.1rem);margin-bottom:.5em;}
h2{font-size:clamp(1.5rem,1.2rem + 1.2vw,2.1rem);margin:0 0 .6em;}
h3{font-size:clamp(1.15rem,1.05rem + .5vw,1.35rem);margin:0 0 .5em;}
p{margin:0 0 1.1em;}
a{color:var(--bf-navy);text-decoration:underline;text-decoration-color:var(--bf-gold);text-decoration-thickness:2px;text-underline-offset:3px;}
a:hover{color:var(--bf-gold-dark);}
strong{font-weight:700;}
.entry-content ul,.entry-content ol{margin:0 0 1.2em 1.2em;}
.entry-content li{margin-bottom:.35em;}
.entry-content ul li::marker{color:var(--bf-gold-dark);}

/* Visible focus for every interactive element (WCAG 2.4.7 / 2.4.13) */
:focus-visible{outline:3px solid var(--bf-gold-dark)!important;outline-offset:3px!important;border-radius:2px;}
.bf-hero :focus-visible,.bf-section--navy :focus-visible,.site-footer :focus-visible,.bf-footer :focus-visible,.bf-cta :focus-visible{outline-color:#F2D9A6!important;}
.skip-link.screen-reader-text:focus{background:var(--bf-navy)!important;color:#fff!important;font-size:1rem;padding:12px 18px;z-index:100001;outline:3px solid var(--bf-gold)!important;}

/* ---------- Preview banner ---------- */
.bf-preview-banner{background:var(--bf-gold-soft);color:#4A3A1C;font-size:.85rem;text-align:center;padding:6px 16px;border-bottom:1px solid var(--bf-line);}

/* ---------- Header ---------- */
.site-header{background:var(--bf-paper);border-bottom:1px solid var(--bf-line);position:sticky;top:0;z-index:200;}
.admin-bar .site-header{top:32px;}
@media (max-width:782px){.admin-bar .site-header{top:46px;}}
.inside-header{padding:14px 24px;max-width:1200px;}
.main-title{font-family:var(--bf-serif);font-size:1.45rem;font-weight:700;letter-spacing:.01em;line-height:1.1;}
.main-title a,.main-title a:hover{color:var(--bf-navy);text-decoration:none;}
.main-title a::before{content:"";display:inline-block;width:10px;height:28px;background:var(--bf-gold);margin-right:12px;vertical-align:-5px;border-radius:1px;}
.site-description{font-family:var(--bf-sans);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--bf-ink-2);margin:4px 0 0 22px;}
.main-navigation,.main-navigation ul ul{background:var(--bf-paper);}
.main-navigation .main-nav ul li a{font-family:var(--bf-sans);font-size:1rem;font-weight:600;color:var(--bf-navy);padding-left:16px;padding-right:16px;line-height:56px;text-decoration:none;}
.main-navigation .main-nav ul li:not([class*="current-menu-"]):hover > a,.main-navigation .main-nav ul li:not([class*="current-menu-"]):focus-within > a{color:var(--bf-gold-dark);}
.main-navigation .main-nav ul li[class*="current-menu-"] > a{color:var(--bf-navy);box-shadow:inset 0 -3px 0 var(--bf-gold);}
.main-navigation ul ul{box-shadow:var(--bf-shadow);border:1px solid var(--bf-line);border-radius:0 0 var(--bf-radius) var(--bf-radius);width:300px;}
.main-navigation .main-nav ul ul li a{line-height:1.35;padding:11px 18px;font-weight:500;font-size:.98rem;box-shadow:none!important;}
.main-navigation .main-nav ul ul li[class*="current-menu-"] > a{background:var(--bf-sand);}
.menu-toggle,.menu-toggle:hover,.menu-toggle:focus{color:var(--bf-navy);background:transparent;font-weight:600;}
.main-navigation .menu-bar-items{align-items:center;}
.bf-call a{display:inline-flex;align-items:center;gap:8px;background:var(--bf-navy);color:#fff!important;font-weight:700;font-size:1rem;padding:10px 16px!important;border-radius:999px;line-height:1.2!important;text-decoration:none;margin-left:8px;white-space:nowrap;}
.bf-call a:hover{background:var(--bf-navy-3);color:#fff!important;}
.bf-call__short{display:none;}
@media (max-width:768px){
  .inside-header{padding:10px 16px;}
  .main-title{font-size:1.2rem;}
  .main-title a::before{width:8px;height:22px;margin-right:9px;vertical-align:-4px;}
  .site-description{display:none;}
  .bf-call a{padding:9px 14px!important;}
  .main-navigation .main-nav ul li a{line-height:1.4;padding:13px 20px;}
  .main-navigation.toggled .main-nav > ul{border-top:1px solid var(--bf-line);}
}
@media (max-width:420px){.bf-call__num{display:none;}.bf-call__short{display:inline;}}

/* ---------- Layout helpers ---------- */
/* Classic themes get an extra .wp-block-group__inner-container wrapper inside every Group block.
   Make it layout-transparent inside our own bf-* groups so grids/flex/columns work as designed. */
.wp-block-group[class*="bf-"] > .wp-block-group__inner-container{display:contents;}
.bf-grid > *{margin:0!important;}
.one-container .site-content{padding:0;}
.one-container .container,.separate-containers .inside-article{background:transparent;}
.site-content .content-area{width:100%;}
.entry-content > *:first-child{margin-top:0;}
.inside-article{padding:0!important;}
.entry-content > .alignfull{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);}
.entry-content{margin-top:0!important;}
.site-main{margin:0!important;}
.bf-wrap{max-width:var(--bf-wrap);margin-left:auto;margin-right:auto;padding-left:24px;padding-right:24px;}
.bf-narrow{max-width:780px;}
.bf-section{padding:72px 0;}
.bf-section--tight{padding:48px 0;}
.bf-section--sand{background:var(--bf-sand);}
.bf-section--paper{background:var(--bf-paper);}
.bf-section--navy{background:var(--bf-navy);color:#E9ECF3;}
.bf-section--navy h2,.bf-section--navy h3{color:#fff;}
.bf-section--navy a{color:#fff;text-decoration-color:var(--bf-gold);}
.bf-eyebrow{font-family:var(--bf-sans);font-size:.82rem!important;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--bf-gold-dark);margin-bottom:.6em!important;}
.bf-section--navy .bf-eyebrow,.bf-hero .bf-eyebrow,.bf-page-hero .bf-eyebrow{color:#E4C893;}
.bf-lead{font-size:1.18rem;color:var(--bf-ink-2);max-width:62ch;}
.bf-rule{width:56px;height:3px;background:var(--bf-gold);border:0;margin:0 0 24px;}

/* ---------- Home hero ---------- */
/* Plain navy hero (courthouse photo removed 2026-10-02, Laura L2). Gold rule matches the interior page hero. */
.bf-hero{position:relative;isolation:isolate;color:#fff;min-height:440px;display:flex;align-items:center;overflow:hidden;background:var(--bf-navy);}
.bf-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;z-index:-1;background:linear-gradient(90deg,var(--bf-gold),rgba(176,141,87,.25));}
.bf-hero__content{position:relative;width:100%;max-width:var(--bf-wrap);margin:0 auto;padding:96px 24px;}
.bf-hero h1{color:#fff;font-size:clamp(2.4rem,1.6rem + 3.4vw,4rem);margin:0 0 .3em;}
.bf-hero .bf-hero__sub{font-size:1.25rem;color:#E9ECF3;max-width:40ch;margin-bottom:1.6em;}
.bf-hero .bf-hero__meta{font-size:1rem;color:#D5DAE5;margin:1.6em 0 0;}
.bf-hero .bf-hero__meta a{color:#fff;}
@media (max-width:768px){.bf-hero{min-height:0;}.bf-hero__content{padding:64px 20px;}}

/* ---------- Interior page hero ---------- */
.bf-page-hero{background:var(--bf-navy);color:#E9ECF3;padding:64px 0 56px;position:relative;}
.bf-page-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:linear-gradient(90deg,var(--bf-gold),rgba(176,141,87,.25));}
.bf-page-hero h1{color:#fff;margin:0 0 .35em;}
.bf-page-hero p{color:#DCE1EB;font-size:1.15rem;max-width:62ch;margin:0;}
.bf-page-hero a{color:#fff;}
.bf-breadcrumb{font-size:.9rem!important;margin-bottom:14px!important;color:#C9D0DE!important;}
.bf-breadcrumb a{color:#fff;}

/* ---------- Buttons ---------- */
/* Selectors out-rank GeneratePress's a.wp-block-button__link:not(.has-background) defaults. */
.wp-block-buttons{gap:12px;}
.wp-block-button a.wp-block-button__link:not(.has-background){font-family:var(--bf-sans);font-weight:700;font-size:1.05rem;border-radius:999px;padding:14px 26px;background:var(--bf-gold);color:var(--bf-navy-3);text-decoration:none;border:2px solid var(--bf-gold);transition:background .15s,color .15s;}
.wp-block-button a.wp-block-button__link:not(.has-background):hover,.wp-block-button a.wp-block-button__link:not(.has-background):focus{background:#C6A673;border-color:#C6A673;color:var(--bf-navy-3);}
.wp-block-button.is-style-outline a.wp-block-button__link:not(.has-background){background:transparent;color:#fff;border-color:rgba(255,255,255,.8);}
.wp-block-button.is-style-outline a.wp-block-button__link:not(.has-background):hover,.wp-block-button.is-style-outline a.wp-block-button__link:not(.has-background):focus{background:#fff;color:var(--bf-navy);border-color:#fff;}
.bf-section--paper .wp-block-button.is-style-outline a.wp-block-button__link:not(.has-background),.bf-section--sand .wp-block-button.is-style-outline a.wp-block-button__link:not(.has-background),.bf-plain .wp-block-button.is-style-outline a.wp-block-button__link:not(.has-background),.bf-facts .wp-block-button.is-style-outline a.wp-block-button__link:not(.has-background){color:var(--bf-navy);border-color:var(--bf-navy);}
.bf-section--paper .wp-block-button.is-style-outline a.wp-block-button__link:not(.has-background):hover,.bf-section--sand .wp-block-button.is-style-outline a.wp-block-button__link:not(.has-background):hover{background:var(--bf-navy);color:#fff;}
.bf-facts .wp-block-buttons{margin-top:16px;}

/* ---------- Cards & grids ---------- */
.bf-grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));margin:28px 0 0;}
.bf-grid--2{grid-template-columns:repeat(2,minmax(0,1fr));}
@media (max-width:760px){.bf-grid--2{grid-template-columns:1fr;}}
.bf-card{background:var(--bf-paper);border:1px solid var(--bf-line);border-radius:var(--bf-radius);padding:26px 24px;box-shadow:var(--bf-shadow);position:relative;}
.bf-card > *:last-child,.bf-card > .wp-block-group__inner-container > *:last-child{margin-bottom:0;}
@media (max-width:600px){.bf-card{padding:18px 18px;}.bf-grid{gap:14px;}.bf-card--area .bf-num{display:none;}.bf-card--area h3{margin-bottom:.25em;}}
.bf-card h3{font-size:1.15rem;margin-bottom:.45em;}
.bf-card p{font-size:1rem;color:var(--bf-ink-2);}
.bf-card--area{border-top:3px solid var(--bf-gold);transition:transform .15s,box-shadow .15s;}
.bf-card--area:hover{transform:translateY(-2px);box-shadow:0 2px 4px rgba(31,42,68,.08),0 14px 30px rgba(31,42,68,.12);}
.bf-card--area h3 a{text-decoration:none;color:var(--bf-navy);}
.bf-card--area h3 a::after{content:"";position:absolute;inset:0;}
.bf-card--area h3 a:hover{color:var(--bf-gold-dark);}
.bf-card__more{font-weight:700;font-size:.95rem!important;color:var(--bf-gold-dark)!important;}
.bf-num{font-family:var(--bf-serif);color:var(--bf-gold-dark);font-size:.95rem!important;margin-bottom:.3em!important;}

/* Attorney / team cards */
.bf-person{display:flex;gap:20px;align-items:flex-start;}
.bf-person .bf-person__body{flex:1;min-width:0;}
.bf-person h3{margin-bottom:.15em;}
.bf-person h3 a{text-decoration:none;}
.bf-person h3 a::after{content:"";position:absolute;inset:0;}
.bf-role{font-size:.95rem!important;font-weight:600;color:var(--bf-gold-dark)!important;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.7em!important;}
.bf-meta{font-size:.98rem!important;color:var(--bf-ink-2)!important;margin-bottom:.35em!important;}
.bf-monogram{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:6px;margin:0;}
.bf-monogram__disc{width:96px;height:96px;border-radius:50%;background:radial-gradient(circle at 30% 25%,var(--bf-navy-2),var(--bf-navy) 70%);color:#E4C893;display:flex;align-items:center;justify-content:center;font-family:var(--bf-serif);font-size:1.9rem;letter-spacing:.04em;box-shadow:inset 0 0 0 3px var(--bf-navy),inset 0 0 0 5px var(--bf-gold);}
.bf-monogram.bf-monogram--lg .bf-monogram__disc{width:168px;height:168px;font-size:2.8rem;}
.bf-monogram__disc{font-size:clamp(1.4rem,1.2rem + .4vw,1.7rem);}
.bf-monogram figcaption{font-size:.78rem;color:var(--bf-ink-2);letter-spacing:.04em;margin:0;}
@media (max-width:520px){.bf-person{flex-direction:column;}}

/* Home: simple attorney directory (7.05(i) facts only) */
.bf-dir{background:var(--bf-paper);border:1px solid var(--bf-line);border-radius:var(--bf-radius);padding:24px;border-left:4px solid var(--bf-gold);}
.bf-dir h3{margin-bottom:.2em;}

/* Facts list on bio pages */
.bf-facts{background:var(--bf-paper);border:1px solid var(--bf-line);border-radius:var(--bf-radius);padding:22px 24px;box-shadow:var(--bf-shadow);}
.bf-facts h2{font-size:1.15rem;margin-bottom:.8em;}
.bf-facts ul{list-style:none;margin:0!important;padding:0;}
.bf-facts li{padding:10px 0;border-top:1px solid var(--bf-line);margin:0!important;font-size:1rem;}
.bf-facts li:first-child{border-top:0;padding-top:0;}
.bf-facts li strong{display:block;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--bf-gold-dark);}

/* Plain (unlocked) top-level blocks on interior pages read as one comfortable column */
.entry-content > :not(.alignfull):not(.alignwide){max-width:min(760px, calc(100% - 48px));margin-left:auto;margin-right:auto;}
.entry-content > .bf-wide{max-width:min(1072px, calc(100% - 48px))!important;}
.entry-content > .alignfull + :not(.alignfull){margin-top:56px;}
.entry-content > :not(.alignfull):last-child{margin-bottom:80px;}
.entry-content > h2.wp-block-heading{margin-top:1.4em;}
.entry-content > .alignfull + h2.wp-block-heading,.entry-content > .bf-draft-notice + h2.wp-block-heading{margin-top:.6em;}
.entry-content > .bf-grid{margin-bottom:40px;}

/* Team member cards (identical, duplicable) */
.bf-member{display:grid;grid-template-columns:112px minmax(0,1fr);column-gap:22px;align-content:start;}
.bf-member > .wp-block-group__inner-container > *,.bf-member > *{grid-column:2;}
.bf-member figure.bf-headshot{grid-column:1;grid-row:1 / span 8;margin:0;}
.bf-headshot img{border-radius:50%;width:112px;height:112px;object-fit:cover;object-position:50% 0;box-shadow:0 0 0 3px #fff,0 0 0 4px var(--bf-line);}
.bf-member h3{margin:.1em 0 .15em;}
.bf-member h3 a{text-decoration:none;}
@media (max-width:520px){.bf-member{grid-template-columns:1fr;}.bf-member > .wp-block-group__inner-container > *,.bf-member > *{grid-column:1;}.bf-member figure.bf-headshot{grid-row:auto;margin-bottom:12px;}}
/* Bio page photo */
figure.bf-headshot--float{float:right;width:220px;margin:0 0 20px 28px!important;}
figure.bf-headshot--float img{width:220px;height:220px;}
@media (max-width:600px){figure.bf-headshot--float{float:none;margin:0 auto 20px!important;}}
.bf-glance{list-style:none;margin-left:0!important;padding:0;}
.bf-glance li{padding:8px 0;border-bottom:1px solid var(--bf-line);margin:0!important;}
.entry-content > .bf-cta{clear:both;margin-top:48px;}

/* Two-column layouts */
.bf-cols{display:grid;gap:48px;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start;}
.bf-cols--even{grid-template-columns:1fr 1fr;}
@media (max-width:900px){.bf-cols,.bf-cols--even{grid-template-columns:1fr;gap:32px;}}
.bf-aside{position:sticky;top:110px;}
@media (max-width:900px){.bf-aside{position:static;}}

/* Draft / review notices */
.bf-draft-notice{display:flex;gap:10px;align-items:flex-start;font-size:.95rem!important;color:#4A3A1C!important;background:var(--bf-gold-soft);border:1px solid #E2D2B4;border-left:4px solid var(--bf-gold);border-radius:var(--bf-radius);padding:12px 16px;margin-bottom:28px!important;}
.bf-draft-notice::before{content:"\270E";font-size:1rem;line-height:1.5;}
mark.bf-confirm,.bf-confirm{text-transform:none;letter-spacing:0;background:#FFF1C9;color:#5A4100;padding:0 .3em;border-radius:3px;font-size:.85em;font-weight:600;white-space:nowrap;border:1px dashed #C9A23A;}
.bf-section--navy mark.bf-confirm,.bf-hero mark.bf-confirm,.bf-page-hero mark.bf-confirm,.bf-footer mark.bf-confirm{background:#3A4766;color:#FFE7A8;border-color:#8B7445;}
.bf-small{font-size:.92rem!important;color:var(--bf-ink-2)!important;}
.bf-section--navy .bf-small{color:#C9D0DE!important;}

/* Info list (hours/address) */
.bf-info{list-style:none;margin:0!important;padding:0;}
.bf-info li{display:grid;grid-template-columns:120px minmax(0,1fr);gap:12px;padding:12px 0;border-top:1px solid rgba(255,255,255,.14);margin:0!important;}
.bf-info li:first-child{border-top:0;}
.bf-info li > span{min-width:0;overflow-wrap:anywhere;}
.bf-info a[href^="mailto:"]{overflow-wrap:anywhere;}
.bf-info li strong{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:#E4C893;padding-top:3px;}
@media (max-width:400px){.bf-info li{grid-template-columns:90px minmax(0,1fr);gap:10px;}}
.bf-section--paper .bf-info li,.bf-plain .bf-info li{border-top-color:var(--bf-line);}
.bf-section--paper .bf-info li strong,.bf-plain .bf-info li strong{color:var(--bf-gold-dark);}

/* CTA band */
.bf-cta{background:var(--bf-navy);color:#E9ECF3;border-radius:var(--bf-radius);padding:36px;margin-top:40px;display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between;}
.bf-cta h2{color:#fff;font-size:1.45rem;margin:0 0 .2em;}
.bf-cta p{margin:0;color:#DCE1EB;}
.bf-cta a:not(.wp-block-button__link){color:#fff;}

/* Related links */
.bf-related h2{font-size:1.15rem;margin-bottom:.8em;}
.bf-aside .bf-related{margin-top:28px;padding-top:24px;}
.bf-related{border-top:1px solid var(--bf-line);margin-top:40px;padding-top:28px;}
.bf-related ul{columns:2;column-gap:32px;list-style:none;margin:0!important;padding:0;}
.bf-related li{break-inside:avoid;}
@media (max-width:600px){.bf-related ul{columns:1;}}

/* Map */
.bf-map{position:relative;border-radius:var(--bf-radius);overflow:hidden;border:1px solid var(--bf-line);box-shadow:var(--bf-shadow);aspect-ratio:4/3;background:var(--bf-sand);}
.bf-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}

/* ---------- Fluent Forms ---------- */
.bf-form-card{background:var(--bf-paper);border:1px solid var(--bf-line);border-radius:var(--bf-radius);padding:32px;box-shadow:var(--bf-shadow);}
.fluentform .ff-el-group{margin-bottom:20px;}
.fluentform .ff-el-input--label label{font-weight:700;color:var(--bf-navy);font-size:1rem;}
.fluentform .ff-el-input--label.ff-el-is-required.asterisk-right label::after{color:#A1281F;}
.fluentform .ff-el-form-control{border:1.5px solid #8C8577;border-radius:4px;padding:11px 13px;font-size:1rem;color:var(--bf-ink);background:#fff;}
.fluentform .ff-el-form-control:focus{border-color:var(--bf-navy);box-shadow:0 0 0 3px rgba(176,141,87,.35);outline:2px solid var(--bf-navy);}
.fluentform .ff-el-form-check label,.fluentform .ff-el-tc label{font-size:1rem;color:var(--bf-ink);}
.fluentform .ff_tc_checkbox,.fluentform .ff-el-form-check-input{accent-color:var(--bf-navy);width:18px;height:18px;}
.fluentform .ff-el-help-message{color:var(--bf-ink-2);font-size:.92rem;}
.fluentform .ff-el-is-error .text-danger,.fluentform .error{color:#A1281F!important;font-weight:600;}
.fluentform .ff-btn-submit,.fluentform .ff-btn-submit:hover{background:var(--bf-navy)!important;color:#fff!important;border-radius:999px!important;padding:14px 30px!important;font-weight:700!important;font-size:1.05rem!important;border:0!important;}
.fluentform .ff-btn-submit:hover{background:var(--bf-navy-3)!important;}
.bf-form-notice{background:var(--bf-sand);border-left:4px solid var(--bf-navy);padding:14px 16px;border-radius:4px;font-size:.98rem!important;}

/* ---------- Footer ---------- */
.site-footer{background:var(--bf-navy-3);color:#C9D0DE;}
.bf-footer{background:var(--bf-navy);color:#DCE1EB;border-top:4px solid var(--bf-gold);}
.bf-footer__inner{max-width:var(--bf-wrap);margin:0 auto;padding:56px 24px 40px;}
.bf-footer h2{font-family:var(--bf-serif);color:#fff;font-size:1.3rem;margin:0 0 .6em;}
.bf-footer h3{font-family:var(--bf-sans);font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;color:#E4C893;margin:0 0 .9em;}
.bf-footer p,.bf-footer li{font-size:1rem;color:#DCE1EB;}
.bf-footer a{color:#fff;text-decoration-color:rgba(176,141,87,.8);}
.bf-footer a:hover{color:#F2D9A6;}
.bf-footer ul{list-style:none;margin:0;padding:0;}
.bf-footer li{margin-bottom:.45em;}
.bf-footer .wp-block-columns{gap:40px;margin-bottom:0;}
.bf-footer__legal{border-top:1px solid rgba(255,255,255,.14);margin-top:32px;padding-top:22px;font-size:.92rem!important;color:#C9D0DE!important;}
.bf-footer__legal p{font-size:.92rem;color:#C9D0DE;}
.site-info{background:var(--bf-navy-3);color:#C9D0DE;font-size:.88rem;}
.site-info a{color:#fff;}
.inside-site-info{padding:16px 24px;}

/* ---------- Motion & print ---------- */
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important;}}
@media print{.site-header,.bf-preview-banner,.bf-map,.bf-footer{display:none;}}
