/* Shared navigation and form controls for the local multipage site. */
html { scroll-padding-top:100px; }
[hidden] { display:none !important; }
.connected-header .header-inner { min-height:82px; gap:32px; }
.connected-header .brand img { width:156px; }
.connected-header .site-nav { display:flex; align-items:center; margin-left:auto; gap:28px; }
.connected-header .site-nav a { position:relative; padding:12px 0; color:#5e5b5b; font-size:14px; font-weight:500; }
.connected-header .site-nav a::after { content:""; position:absolute; left:0; right:0; bottom:4px; height:2px; background:var(--red); transform:scaleX(0); transform-origin:left; transition:transform .2s; }
.connected-header .site-nav a:hover,.connected-header .site-nav a[aria-current="page"] { color:var(--wine); }
.connected-header .site-nav a[aria-current="page"] { font-weight:700; }
.connected-header .site-nav a:hover::after,.connected-header .site-nav a[aria-current="page"]::after { transform:scaleX(1); }
.connected-header .header-link { display:flex; flex-shrink:0; gap:14px; min-height:45px; padding:0 19px; border:1px solid #d8cbc9; border-radius:30px; font-size:14px; color:var(--wine); transition:background .2s,border-color .2s; }
.connected-header .header-link:hover { background:#f6eceb; border-color:var(--wine); }
.menu-toggle { display:none; background:transparent; border:1px solid #ded7d4; border-radius:50%; width:44px; height:44px; flex-shrink:0; padding:13px 11px; cursor:pointer; }
.menu-toggle span { display:block; height:1.5px; background:var(--ink); margin:4px 0; transition:transform .2s; }
.menu-toggle[aria-expanded="true"] span:first-child { transform:translateY(2.75px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] span:last-child { transform:translateY(-2.75px) rotate(-45deg); }
.skip-link { position:fixed; left:20px; top:-80px; z-index:99; background:white; color:var(--wine); padding:14px 20px; border:2px solid var(--wine); border-radius:10px; }
.skip-link:focus { top:12px; }
.interior-page { background:var(--paper); }
.interior-page main { font-size:16px; }
.interior-page h1,.interior-page h2,.interior-page h3 { text-wrap:balance; }
.interior-page .button { min-height:54px; font-size:15px; gap:20px; }
.interior-page .text-button { font-size:15px; }
.interior-page .breadcrumbs { display:flex; align-items:center; flex-wrap:wrap; gap:12px; font-size:13px; color:var(--muted); }
.interior-page .breadcrumbs a:hover { color:var(--wine); }
.interior-page .boundary { font-size:14px; line-height:1.7; }
.interior-page #report-title,.interior-page #faq-title { white-space:normal; }
.contact-form { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.contact-form label { display:flex; flex-direction:column; gap:9px; font-size:14px; font-weight:600; line-height:1.5; }
.contact-form input:not([type="checkbox"]):not([type="radio"]),.contact-form select,.contact-form textarea { width:100%; min-width:0; min-height:54px; border:1px solid #d9d0ca; border-radius:12px; background:white; color:var(--ink); padding:14px 16px; font:400 16px/1.5 Manrope,Arial,sans-serif; outline-offset:3px; box-shadow:none; }
.contact-form textarea { resize:vertical; min-height:118px; }
.contact-form input::placeholder,.contact-form textarea::placeholder { color:#8b817e; }
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus { outline:2px solid var(--wine); }
.contact-form .form-wide,.contact-form label:has(textarea),.contact-form .form-note,.contact-form .form-status,.contact-form .form-actions { grid-column:1/-1; }
.contact-form .form-note,.contact-form .form-status { margin:0; font-size:13px; line-height:1.6; color:var(--muted); }
.contact-form .button { justify-self:start; border:0; font-family:inherit; }
.contact-form .button:disabled { opacity:1; background:#e8e0dc; color:#766860; box-shadow:none; transform:none; cursor:not-allowed; }
.contact-form .button:disabled span { background:#f7f4f1; color:#766860; }
.contact-form .form-consent { display:grid; grid-column:1/-1; grid-template-columns:20px minmax(0,1fr); align-items:start; gap:10px; font-weight:400; }
.contact-form .form-consent input { width:18px; min-height:18px; margin:3px 0 0; accent-color:var(--wine); }
.contact-form .form-consent a { color:var(--wine); text-decoration:underline; text-underline-offset:3px; }
.contact-form .form-trap { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.contact-form .form-status[data-state="error"] { color:#8b1c35; }
.contact-form .form-status[data-state="success"] { color:#245e43; }
.contact-form .form-actions button[aria-busy="true"] { cursor:wait; }
.connected-footer { padding:68px 0 25px; background:#fff; border-top:1px solid var(--line); }
.connected-footer .footer-main { display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:64px; padding-bottom:50px; }
.connected-footer .footer-brand img { width:170px; }
.connected-footer .footer-brand p { max-width:290px; margin-top:22px; font-size:14px; line-height:1.7; color:var(--muted); }
.connected-footer .footer-links { display:flex; flex-direction:column; gap:12px; }
.connected-footer .footer-links h3 { margin:0 0 8px; font:600 14px/1.5 Manrope,Arial,sans-serif; }
.connected-footer .footer-links a { font-size:14px; line-height:1.6; color:#696365; }
.connected-footer .footer-links a:hover { color:var(--wine); }
.connected-footer .footer-bottom { display:flex; justify-content:space-between; gap:35px; padding-top:22px; border-top:1px solid var(--line); font-size:12px; color:var(--muted); line-height:1.7; }
.connected-footer .footer-bottom p { margin:0; max-width:650px; }
.connected-footer .footer-bottom a { flex-shrink:0; }
.interior-page :is(a,button,summary):focus-visible,.connected-header :is(a,button):focus-visible,.connected-footer a:focus-visible { outline:2px solid var(--wine); outline-offset:5px; }
@media(max-width:1050px) {
  .connected-header .header-inner { gap:20px; }
  .connected-header .site-nav { gap:18px; }
  .connected-header .site-nav a { font-size:13px; }
}
@media(max-width:900px) {
  .connected-header .header-inner { min-height:74px; gap:16px; }
  .connected-header .header-link { margin-left:auto; }
  .connected-header .menu-toggle { display:block; }
  .connected-header .site-nav { display:none; position:absolute; top:100%; left:0; right:0; margin:0; padding:16px 24px 24px; background:#fff; border-bottom:1px solid var(--line); box-shadow:0 18px 28px #29212410; }
  .connected-header .site-nav.is-open { display:grid; grid-template-columns:1fr 1fr; gap:5px 28px; }
  .connected-header .site-nav a { font-size:16px; padding:15px 0; }
  .connected-footer .footer-main { gap:35px; grid-template-columns:1.4fr 1fr 1fr; }
}
@media(max-width:600px) {
  .connected-header .header-inner { gap:9px; }
  .connected-header .brand img { width:120px; }
  .connected-header .header-link { min-height:43px; font-size:13px; padding:0 12px; gap:9px; }
  .connected-header .site-nav.is-open { grid-template-columns:1fr; }
  .contact-form { grid-template-columns:1fr; gap:18px; }
  .connected-footer { padding-top:44px; }
  .connected-footer .footer-main { grid-template-columns:1fr 1fr; gap:32px 20px; padding-bottom:32px; }
  .connected-footer .footer-brand { grid-column:1/-1; }
  .connected-footer .footer-brand p { max-width:320px; margin-top:17px; }
  .connected-footer .footer-bottom { flex-direction:column; gap:17px; }
}
@media(prefers-reduced-motion:reduce) {
  .connected-header *,
  .connected-header *::before,
  .connected-header *::after { transition:none !important; }
}
