/* Purpose-built closing sections; keep the existing brand palette and font. */
#home_faq,#home_contact { --closing-ink:#0b2438; --closing-copy:#45596a; --closing-line:#dce1e5; --closing-orange:#ff6900; scroll-margin-top:96px; color:var(--closing-ink); }
#home_faq { padding:88px 0 104px; background:#fff; }
#home_contact { padding:88px 0; background:#fff8f0!important; border-top:1px solid #f2dfcd; }
#home_faq .wifi-closing-heading h2 { font-size:36px!important; line-height:1.55!important; }
#home_contact .wifi-closing-heading h2 { font-size:32px!important; line-height:1.55!important; }
.wifi-closing-inner { width:min(1120px,calc(100% - 64px)); margin-inline:auto; }
.wifi-faq-grid { display:grid; grid-template-columns:260px minmax(0,1fr); gap:64px; align-items:start; }
.wifi-closing-heading .wifi-closing-eyebrow { margin:0 0 20px; font-size:14px; line-height:1.5; font-weight:700; letter-spacing:.12em; color:#b64b00; }
.wifi-closing-heading .wifi-closing-eyebrow::after { content:""; display:block; width:40px; height:2px; background:var(--closing-orange); margin-top:16px; }
.wifi-closing-heading h2 { font-size:36px; line-height:1.55; font-weight:700; margin:0; color:var(--closing-ink); letter-spacing:0; }
.wifi-closing-heading .wifi-faq-intro { margin:24px 0 0; font-size:16px; line-height:1.9; color:var(--closing-copy); }
.wifi-faq-accordion { border-top:1px solid var(--closing-line); }
.wifi-faq-row { margin:0; padding:0; border-bottom:1px solid var(--closing-line); }
.wifi-faq-row summary { display:grid; grid-template-columns:24px minmax(0,1fr) 28px; align-items:start; gap:16px; padding:24px 0; list-style:none; cursor:pointer; font-size:18px; font-weight:700; line-height:1.7; color:var(--closing-ink); }
.wifi-faq-row summary::-webkit-details-marker { display:none; }
.wifi-faq-row summary::marker { content:""; }
.wifi-faq-q { color:#b64b00; font-family:Arial,sans-serif; font-size:22px; line-height:1.4; }
.wifi-faq-toggle { position:relative; display:block; width:28px; height:28px; }
.wifi-faq-toggle::before,.wifi-faq-toggle::after { content:""; position:absolute; top:13px; left:7px; width:14px; height:2px; background:var(--closing-orange); }
.wifi-faq-toggle::after { transform:rotate(90deg); }
.wifi-faq-row[open] .wifi-faq-toggle::after { transform:none; }
.wifi-faq-response { display:grid; grid-template-columns:24px minmax(0,1fr); gap:16px; padding:0 44px 28px 0; }
.wifi-faq-response > span { font-family:Arial,sans-serif; font-size:20px; line-height:1.6; font-weight:700; color:var(--closing-copy); }
.wifi-faq-response p { margin:0; font-size:16px; line-height:1.9; color:var(--closing-copy); }
.wifi-faq-row summary:hover { color:#a84300; }
.wifi-contact-grid { display:grid; grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr); gap:64px; align-items:start; }
.wifi-contact-copy h2 { font-size:32px; }
.wifi-contact-copy h2 span { display:block; }
.wifi-contact-lead,.wifi-contact-sublead { font-size:16px; line-height:1.9; color:var(--closing-copy); }
.wifi-contact-lead { margin:28px 0 0; }
.wifi-contact-sublead { margin:12px 0 0; }
.wifi-contact-channels { margin-top:32px; border-top:1px solid #e6d8ca; }
.wifi-contact-channels > div { padding:20px 0; border-bottom:1px solid #e6d8ca; }
.wifi-contact-channels p { margin:0 0 4px; font-size:14px; line-height:1.7; color:var(--closing-copy); }
.wifi-contact-channels a { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:44px; font-weight:700; color:var(--closing-ink); text-decoration:none; }
.wifi-contact-channels a:hover { text-decoration:underline; text-underline-offset:6px; }
.wifi-contact-channels a span { color:#b64b00; font-size:22px; }
.wifi-contact-phone { font-size:30px; line-height:1.5; white-space:nowrap; }
.wifi-contact-email { font-size:20px; line-height:1.7; }
.wifi-contact-preparation { margin-top:32px; padding-left:20px; border-left:3px solid var(--closing-orange); }
.wifi-contact-preparation h3 { margin:0 0 12px; font-size:16px; line-height:1.7; font-weight:700; }
.wifi-contact-preparation ul { list-style:none; margin:0; padding:0; }
.wifi-contact-preparation li { position:relative; margin:4px 0; padding-left:16px; font-size:15px; line-height:1.8; color:var(--closing-copy); }
.wifi-contact-preparation li::before { content:""; position:absolute; left:0; top:11px; width:4px; height:4px; border-radius:50%; background:var(--closing-orange); }
.wifi-contact-preparation p { margin:16px 0 0; font-size:14px; line-height:1.9; color:var(--closing-copy); }
.wifi-contact-preparation strong { font-weight:500; }
.wifi-consultation-form { margin:0; padding:36px; border:1px solid #e4e1dc; border-radius:8px; background:#fff; min-width:0; }
.wifi-form-heading { margin-bottom:28px; padding-bottom:24px; border-bottom:1px solid var(--closing-line); }
.wifi-form-heading h3 { margin:0 0 8px; font-size:24px; line-height:1.6; font-weight:700; }
.wifi-form-heading p { margin:0; font-size:14px; line-height:1.8; color:var(--closing-copy); }
.wifi-form-field { display:flex; flex-direction:column; gap:10px; margin:0 0 24px; }
.wifi-form-label { display:flex; align-items:center; gap:12px; font-size:16px; line-height:1.6; font-weight:700; }
.wifi-form-required { font-size:11px; line-height:1.6; padding:1px 6px; border:1px solid #dfb18f; border-radius:3px; color:#a84300; font-weight:500; }
#home_contact .wifi-form-field input,#home_contact .wifi-form-field textarea { box-sizing:border-box; width:100%; min-width:0; margin:0; padding:12px 14px; background:#fff; border:1px solid #aebac4; border-radius:4px; font-family:inherit; font-size:16px; line-height:1.6; color:var(--closing-ink); box-shadow:none; }
#home_contact .wifi-form-field input { min-height:52px; }
#home_contact .wifi-form-field textarea { min-height:160px; resize:vertical; }
#home_contact .wifi-form-field ::placeholder { color:#697580; opacity:1; }
.wifi-form-privacy { display:flex; gap:12px; align-items:flex-start; min-height:44px; margin:4px 0 20px; font-size:14px; line-height:1.9; cursor:pointer; }
#home_contact .wifi-form-privacy input { flex:0 0 20px; width:20px; height:20px; margin:3px 0 0; accent-color:var(--closing-ink); }
.wifi-form-privacy a { color:var(--closing-ink); text-decoration:underline; text-underline-offset:3px; }
#home_contact .wifi-form-button { display:flex; align-items:center; justify-content:center; gap:24px; width:100%; min-height:60px; padding:16px; border:0; border-radius:4px; background:var(--closing-ink); color:#fff; font-family:inherit; font-size:17px; font-weight:700; line-height:1.6; cursor:pointer; }
#home_contact .wifi-form-button:hover { background:#183e58; }
#home_contact .wifi-form-button > span { color:#ff9347; }
#home_contact .form-hint { margin:14px 0 0; color:#59636d; font-size:12px; line-height:1.8; text-align:left; }
#home_contact .preview-status:not([hidden]) { display:block; margin:16px 0 0; padding:16px; background:#fff8f0; color:var(--closing-ink); font-size:14px; line-height:1.8; border-left:3px solid var(--closing-orange); }
#home_faq summary:focus-visible,#home_contact a:focus-visible,#home_contact input:focus-visible,#home_contact textarea:focus-visible,#home_contact button:focus-visible { outline:3px solid #0b2438; outline-offset:4px; }
@media(max-width:1100px) {
 #home_contact .wifi-closing-heading h2 { font-size:28px!important; }
 .wifi-faq-grid { grid-template-columns:220px minmax(0,1fr); gap:40px; }
 .wifi-contact-grid { gap:32px; }
 .wifi-contact-copy h2 { font-size:28px; }
 .wifi-consultation-form { padding:28px; }
}
@media(max-width:900px) {
 #home_faq,#home_contact { padding:64px 0; }
 .wifi-faq-grid,.wifi-contact-grid { grid-template-columns:1fr; gap:36px; }
 .wifi-closing-heading .wifi-faq-intro { margin-top:16px; }
 .wifi-faq-intro br { display:none; }
 .wifi-contact-copy { max-width:600px; }
 .wifi-contact-channels { max-width:480px; }
}
@media(max-width:600px) {
 #home_faq .wifi-closing-heading h2 { font-size:28px!important; }
 #home_contact .wifi-closing-heading h2 { font-size:26px!important; }
 #home_faq,#home_contact { padding:56px 0; scroll-margin-top:80px; }
 .wifi-closing-inner { width:calc(100% - 40px); }
 .wifi-closing-heading h2 { font-size:28px; }
 .wifi-contact-copy h2 { font-size:26px; }
 .wifi-closing-heading .wifi-closing-eyebrow { margin-bottom:16px; }
 .wifi-faq-row summary { grid-template-columns:20px minmax(0,1fr) 24px; gap:12px; padding:20px 0; font-size:16px; }
 .wifi-faq-q { font-size:20px; }
 .wifi-faq-response { grid-template-columns:20px minmax(0,1fr); gap:12px; padding:0 0 24px; }
 .wifi-faq-toggle { width:24px; }
 .wifi-contact-phone { font-size:27px; }
 .wifi-contact-email { font-size:18px; }
 .wifi-consultation-form { padding:24px 20px; }
 .wifi-form-heading h3 { font-size:22px; }
 .wifi-form-button { gap:12px; }
}
@media(prefers-reduced-motion:reduce) { #home_faq *,#home_contact * { scroll-behavior:auto; transition:none; animation:none; } }
