/* 1.22.0 — utility pages, in the approved warm/terracotta identity. */
.ga-utility-page { --ga-contact-ink:#57331b; --ga-contact-body:#514238; --ga-contact-muted:#756355; background:#f2ede4; color:var(--ga-contact-body); }
.ga-utility-page [hidden] { display:none !important; }
.ga-utility-page .ga-utility-hero { padding:66px 0 56px; background:linear-gradient(180deg,#e1d1b6 0%,#f2ede4 100%); border-bottom:1px solid rgba(113,59,45,.16); }
.ga-utility-page .ga-utility-hero h1 { max-width:1000px; margin:18px 0 22px; color:#57331b !important; -webkit-text-fill-color:#57331b !important; font:500 clamp(40px,5.2vw,72px)/1.05 Georgia,serif; letter-spacing:-.03em; }
.ga-utility-page .ga-utility-hero p { max-width:660px; margin:0; font-size:18px; line-height:1.65; color:#514238; }
.ga-utility-page .ga-utility-content { padding:64px 0 80px; }
.ga-utility-page .ga-contact-layout { display:grid; grid-template-columns:minmax(220px,.7fr) minmax(0,1.7fr); gap:56px; align-items:start; }
.ga-utility-page .ga-contact-aside { padding:20px 0; }
.ga-utility-page .ga-contact-aside h2 { font:500 clamp(30px,3.1vw,45px)/1.12 Georgia,serif; color:#713b2d; margin:18px 0 24px; }
.ga-utility-page .ga-contact-aside p { font-size:16px; line-height:1.75; color:#514238; }
.ga-utility-page .ga-contact-offices-link { display:inline-flex; gap:20px; margin-top:10px; color:#713b2d; font-weight:700; text-decoration:underline; text-underline-offset:5px; }
.ga-utility-page .ga-contact-aside-note { margin-top:40px; padding-top:28px; border-top:1px solid #c6b5a5; }
.ga-utility-page .ga-contact-aside-note strong { color:#57331b; font-size:17px; }
.ga-utility-page .ga-contact-aside-note p { margin:10px 0; }
.ga-utility-page .ga-utility-editor-content { min-width:0; color:#514238; }
.ga-utility-page .ga-utility-editor-content > :first-child { margin-top:0; }
.ga-utility-page .ga-contact-form-card { background:#fbf8f2; border:1px solid #d0bba7; border-radius:24px; padding:36px; box-shadow:0 16px 46px rgba(87,51,27,.045); scroll-margin-top:110px; }
.ga-utility-page .ga-contact-form-card h2 { color:#57331b !important; -webkit-text-fill-color:#57331b !important; font:500 clamp(28px,2.7vw,39px)/1.14 Georgia,serif; margin:12px 0 14px; }
.ga-utility-page .ga-contact-form-intro { font-size:15px; line-height:1.7; color:#645043; margin:0 0 26px; }
.ga-utility-page .ga-contact-form { color:#514238; }
.ga-utility-page .ga-contact-form fieldset { margin:0 0 22px; padding:0; border:0; min-width:0; }
.ga-utility-page .ga-contact-form legend { float:none; width:100%; padding:0; margin-bottom:12px; color:#57331b; font-size:15px; line-height:1.5; font-weight:700; }
.ga-utility-page .ga-contact-form .ga-contact-intent { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:28px; }
.ga-utility-page .ga-contact-intent label { flex:1; min-width:180px; display:block; position:relative; cursor:pointer; margin:0; }
.ga-utility-page .ga-contact-intent input { position:absolute; width:1px; height:1px; opacity:0; }
.ga-utility-page .ga-contact-intent span { display:flex; justify-content:center; align-items:center; min-height:49px; box-sizing:border-box; padding:12px 14px; border:1px solid #9c8070; border-radius:10px; color:#57331b; font-size:14px; font-weight:650; background:#fffdf9; }
.ga-utility-page .ga-contact-intent input:checked + span { color:#fff; background:#713b2d; border-color:#713b2d; }
.ga-utility-page .ga-contact-intent input:focus-visible + span { outline:3px solid #9c6a16; outline-offset:4px; }
.ga-utility-page .ga-contact-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 20px; }
.ga-utility-page .ga-contact-field { margin:0 0 21px; min-width:0; }
.ga-utility-page .ga-contact-field label { display:block; color:#57331b; font:650 14px/1.5 Inter,system-ui,sans-serif; margin:0 0 8px; }
.ga-utility-page .ga-contact-optional { color:#756355; font-size:12px; font-weight:400; margin-left:4px; }
.ga-utility-page .ga-contact-form input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
.ga-utility-page .ga-contact-form select,
.ga-utility-page .ga-contact-form textarea { width:100%; max-width:100%; box-sizing:border-box; min-height:49px; padding:12px 14px; border:1px solid #9c8070; border-radius:9px; background:#fffefb; color:#3c3028 !important; -webkit-text-fill-color:#3c3028; font:400 16px/1.5 Inter,system-ui,sans-serif; box-shadow:none; }
.ga-utility-page .ga-contact-form select { appearance:auto; padding-right:30px; }
.ga-utility-page .ga-contact-form textarea { resize:vertical; min-height:154px; }
.ga-utility-page .ga-contact-form :is(input,select,textarea):focus-visible { outline:3px solid #9c6a16; outline-offset:3px; }
.ga-utility-page .ga-contact-form [aria-invalid="true"] { border-color:#a12826 !important; outline-color:#a12826 !important; }
.ga-utility-page .ga-contact-form .ga-contact-details { padding:20px 20px 0; border:1px solid #d5c7b8; border-radius:14px; background:#f2ede4; }
.ga-utility-page .ga-contact-details legend { width:auto; padding:0 8px; margin-left:-8px; margin-bottom:0; }
.ga-utility-page .ga-contact-details > p { margin:0 0 20px; color:#645043; font-size:14px; }
.ga-utility-page .ga-contact-consent { margin-top:2px; }
.ga-utility-page .ga-contact-consent label { display:flex; align-items:flex-start; gap:12px; color:#514238; font-size:14px; line-height:1.65; cursor:pointer; }
.ga-utility-page .ga-contact-consent input { flex:none; appearance:auto; width:20px; height:20px; min-width:20px; margin:3px 0 0; accent-color:#713b2d; }
.ga-utility-page .ga-contact-privacy { font-size:12px; line-height:1.7; color:#756355; margin:12px 0 25px; }
.ga-utility-page .ga-contact-privacy a { color:#713b2d; text-decoration:underline; text-underline-offset:3px; }
.ga-utility-page .ga-contact-submit { display:flex; align-items:center; flex-wrap:wrap; gap:16px; }
.ga-utility-page .ga-contact-submit > span { flex:1; min-width:160px; color:#645043; font-size:12px; line-height:1.7; }
.ga-utility-page .ga-contact-submit button.ga-btn { min-height:52px; border:1px solid #fff; color:#57331b !important; background:#e09b34; -webkit-text-fill-color:#57331b; cursor:pointer; font:750 14px/1.4 Inter,system-ui,sans-serif; }
.ga-utility-page .ga-contact-submit button.ga-btn:disabled { opacity:.7; cursor:wait; }
.ga-utility-page .ga-contact-error { display:block; color:#982724; font-size:13px; line-height:1.6; margin-top:6px; }
.ga-utility-page .ga-contact-error:empty { display:none; }
.ga-utility-page .ga-contact-status,.ga-utility-page .ga-contact-admin-note,.ga-utility-page .ga-contact-success { border:1px solid #ac8070; padding:16px 18px; margin:0 0 24px; border-radius:12px; font-size:14px; line-height:1.7; background:#fff7eb; color:#57331b; }
.ga-utility-page .ga-contact-status.is-error { color:#752b27; background:#fff1ed; border-color:#b17167; }
.ga-utility-page .ga-contact-status.is-success,.ga-utility-page .ga-contact-success { color:#214c37; background:#edf7ef; border-color:#789e83; }
.ga-utility-page .ga-contact-honey { position:absolute !important; width:1px !important; height:1px !important; overflow:hidden !important; clip-path:inset(50%) !important; pointer-events:none; }
.ga-utility-page .ga-contact-direct-links { display:grid; gap:12px; margin-top:28px; }
.ga-utility-page .ga-contact-direct-links a { display:grid; grid-template-columns:1fr auto; gap:5px 15px; align-items:center; padding:16px 18px; border:1px solid #c7b19c; border-radius:12px; color:#57331b; text-decoration:none; overflow-wrap:anywhere; }
.ga-utility-page .ga-contact-direct-links a > span:first-child { font-size:13px; color:#756355; }
.ga-utility-page .ga-contact-direct-links a > strong { grid-column:1; font:650 15px/1.6 Inter,system-ui,sans-serif; }
.ga-utility-page .ga-contact-direct-links a > span:last-child { grid-column:2; grid-row:1 / 3; }
.ga-utility-page .ga-contact-direct-links a:hover { background:#f2ede4; border-color:#713b2d; }
.ga-utility-skip { position:fixed; top:8px; left:8px; padding:12px 18px; background:#fff; color:#57331b; z-index:99999; transform:translateY(-200%); }
.ga-utility-skip:focus { transform:none; }
.ga-refonte #founder-note { scroll-margin-top:110px; }
.ga-utility-page .ga-about-copy img,.ga-utility-page .ga-utility-editor-content img { max-width:100%; height:auto; }
@media(max-width:1000px) { .ga-utility-page .ga-contact-layout { grid-template-columns:1fr; gap:28px; } .ga-utility-page .ga-contact-aside { max-width:660px; padding:0; } .ga-utility-page .ga-contact-aside h2 br { display:none; } .ga-utility-page .ga-contact-aside-note { margin-top:20px; padding-top:20px; } }
@media(max-width:600px) { .ga-utility-page .ga-utility-hero { padding:42px 0; } .ga-utility-page .ga-utility-content { padding:34px 0 50px; } .ga-utility-page .ga-contact-form-card { padding:24px 19px; border-radius:18px; } .ga-utility-page .ga-contact-grid { grid-template-columns:1fr; gap:0; } .ga-utility-page .ga-contact-form .ga-contact-details { padding:18px 13px 0; } .ga-utility-page .ga-contact-submit { display:block; } .ga-utility-page .ga-contact-submit button { width:100%; justify-content:center; } .ga-utility-page .ga-contact-submit > span { display:block; margin-top:12px; } .ga-utility-page .ga-contact-form .ga-contact-intent { gap:8px; } .ga-utility-page .ga-contact-intent label { min-width:0; } .ga-utility-page .ga-contact-intent span { font-size:13px; padding:10px; } }

/* A light utility hero needs its own dark navigation, not the photo-hero white menu. */
.ga-refonte.ga-utility-page .ga-site-header { position:relative !important; background:#e1d1b6; color:#57331b !important; }
.ga-refonte.ga-utility-page .ga-site-header__inner { border-bottom:1px solid #c6b19b; }
.ga-refonte.ga-utility-page .ga-site-header .ga-menu-item > a,
.ga-refonte.ga-utility-page .ga-site-header .ga-menu-item > button,
.ga-refonte.ga-utility-page .ga-site-header .ga-menu-toggle { color:#57331b !important; -webkit-text-fill-color:#57331b !important; opacity:1; }
.ga-refonte.ga-utility-page .ga-site-header .ga-menu-item > a:hover,
.ga-refonte.ga-utility-page .ga-site-header .ga-menu-item > button:hover { color:#713b2d !important; -webkit-text-fill-color:#713b2d !important; }
.ga-refonte.ga-utility-page .ga-site-header .ga-menu-item--contact > a { border:1px solid #9c8070; padding:8px 13px; border-radius:999px; }
.ga-refonte.ga-utility-page .ga-site-header .ga-menu-toggle { border-color:#9c8070; background:#fbf8f2; }
@media(max-width:1180px) { .ga-refonte.ga-utility-page .ga-site-header .ga-menu-item--contact > a { border:0; padding:0; } }

@media(max-width:1000px) {
  .ga-utility-page .ga-contact-layout > .ga-utility-editor-content { order:0; }
  .ga-utility-page .ga-contact-layout > .ga-contact-aside { order:1; }
}
.ga-refonte.ga-utility-page .ga-contact-submit .ga-btn--primary:hover,
.ga-refonte.ga-utility-page .ga-contact-submit .ga-btn--primary:focus-visible { background:#f0b45d !important; color:#57331b !important; -webkit-text-fill-color:#57331b !important; }
.ga-refonte.ga-utility-page .ga-contact-submit .ga-btn--primary:focus-visible { outline:3px solid #713b2d; outline-offset:4px; }
