.faq-page{padding-top:var(--header);background:#f4fbff}
.faq-hero{position:relative;padding:32px 0 42px;background:linear-gradient(120deg,#e1f6ff,#f4fcff)}
.faq-hero:after{content:"";position:absolute;bottom:-1px;inset-inline:0;height:20px;background:url('../images/header-wave.svg') center/100% 100%}
.faq-hero .eyebrow{margin-bottom:8px;font-size:12px;letter-spacing:.13em;color:var(--blue)}
.faq-hero h1{font-family:var(--rounded);font-size:clamp(30px,3.5vw,42px)}
.faq-hero h1+p{margin-top:12px;font-size:15px}
.faq-content{max-width:1080px;padding-block:24px 64px}
.faq-jump{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.faq-jump a{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:56px;padding:12px 18px;border:1px solid #cce1ef;border-radius:12px;background:#fff;color:var(--navy);font-weight:700;font-size:15px}
.faq-count{flex:none;color:#526c83;font-size:12px;font-weight:400}
.faq-jump a:hover{background:#e4f5ff;border-color:#9dc7e4}
.faq-help{margin:18px 0 28px;color:#526c83;font-size:14px}
.faq-section{margin-bottom:40px;scroll-margin-top:calc(var(--header) + 24px)}
.faq-section h2{display:flex;align-items:center;gap:12px;margin-bottom:18px;font-family:var(--rounded);font-size:26px}
.faq-number{display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:50%;background:#dff3ff;font-family:var(--font);font-size:17px}
.faq-list{display:grid;gap:12px}
.faq-item{min-width:0;border:1px solid #cfe2ef;border-radius:14px;background:#fff}
.faq-item summary{display:grid;grid-template-columns:28px minmax(0,1fr) 24px;align-items:center;gap:12px;min-height:72px;padding:18px 24px;border-radius:14px;list-style:none;cursor:pointer;color:var(--navy);font-weight:700;font-size:17px;line-height:1.7;touch-action:manipulation}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:hover{background:#edf8ff}
.faq-item[open]{border-color:#9dc7e4}
.faq-item[open] summary{border-radius:14px 14px 0 0;background:#edf8ff}
.faq-q,.faq-a{font-family:var(--rounded);font-size:22px;font-weight:800;line-height:1.5}
.faq-q{color:#0879ba}.faq-a{color:#c64251}
.faq-toggle{position:relative;width:24px;height:24px;border-radius:50%;background:#e0f0fa;color:var(--navy)}
.faq-toggle:before,.faq-toggle:after{content:"";position:absolute;left:6px;top:11px;width:12px;height:2px;background:currentColor}
.faq-toggle:after{transform:rotate(90deg)}
.faq-item[open] .faq-toggle:after{display:none}
.faq-answer{display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;padding:20px 60px 24px 24px;border-top:1px solid #dceaf4;font-size:16px;line-height:1.9}
.faq-answer-link{display:inline-flex;align-items:center;gap:10px;min-height:44px;margin-top:12px;padding:8px 14px;border:1px solid #cce1ef;border-radius:9px;background:#f4fbff;color:var(--navy);font-size:14px;font-weight:700;text-decoration:underline;text-underline-offset:4px}
.faq-answer-link:hover{background:#e4f5ff}
.faq-related h2{margin-bottom:16px;font-family:var(--rounded);font-size:23px}
.faq-page+.site-footer{margin-top:0}
@media(max-width:600px){
 .faq-hero{padding:22px 0 32px}.faq-hero h1+p{font-size:14px}
 .faq-content{padding-block:18px 44px}.faq-jump{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .faq-jump a{align-items:flex-start;flex-direction:column;gap:2px;padding:10px 12px;font-size:14px}.faq-count{font-size:11px}
 .faq-help{margin:16px 0 24px;font-size:13px}.faq-section{margin-bottom:30px}
 .faq-section h2{font-size:23px;gap:10px}.faq-number{width:36px;height:36px;font-size:15px}
 .faq-item summary{grid-template-columns:23px minmax(0,1fr) 24px;gap:8px;padding:16px 14px;font-size:16px}
 .faq-q,.faq-a{font-size:20px}.faq-answer{grid-template-columns:23px minmax(0,1fr);gap:8px;padding:16px 14px 20px;font-size:15px}
 .faq-answer-link{padding:10px 12px;font-size:14px}.faq-related h2{font-size:21px}
}
@media(prefers-reduced-motion:reduce){html:has(.faq-page){scroll-behavior:auto}}

/* FAQ opt-in: compact native disclosure cards, no script dependency. */
.faq-page.subpage-design .subpage-title h1+p{max-width:none}
.faq-page.subpage-design .faq-section h2{font-size:clamp(24px,2.25vw,32px);line-height:1.55;letter-spacing:.015em;margin-bottom:22px}
.faq-page.subpage-design .faq-number{width:46px;height:46px;border-radius:14px;background:#e5f6f9;color:var(--navy);font-family:var(--subpage-rounded)}
.faq-page.subpage-design .faq-jump a{border-color:#bfdbe3;border-radius:16px}
.faq-page.subpage-design .faq-jump a:hover{background:#e9f8fb;border-color:#70b7cd}
.faq-page.subpage-design .faq-item{border-color:#dce9e9;border-radius:18px;box-shadow:0 3px 0 #124c7008}
.faq-page.subpage-design .faq-item summary{border-radius:18px}
.faq-page.subpage-design .faq-item summary:hover,.faq-page.subpage-design .faq-item[open] summary{background:#e9f8fb}
.faq-page.subpage-design .faq-item[open]{border-color:#84c6d5}
.faq-page.subpage-design .faq-item[open] summary{border-radius:18px 18px 0 0}
.faq-page.subpage-design .faq-toggle{background:#dff2f6}
.faq-page.subpage-design .faq-answer{border-top-color:#dce9e9}
.faq-page.subpage-design .faq-answer p+p{margin-top:12px}
.faq-page.subpage-design .faq-answer-link{background:#e9f8fb;border-color:#bfdbe3;border-radius:12px}
.faq-page.subpage-design .faq-answer-link:hover{background:#d8f1f6;border-color:#70b7cd}
.faq-page.subpage-design .faq-inline-link{display:inline-block;min-height:44px;padding-block:6px;color:var(--navy);font-weight:700;text-decoration:underline;text-underline-offset:4px}
.faq-page.subpage-design .faq-inline-link:hover{color:#006596}
.faq-page.subpage-design .faq-bbq-note{padding:12px 16px;border:1px solid #f0dfb8;border-radius:12px;background:var(--subpage-sand);color:var(--navy)}
.faq-page.subpage-design .faq-dog-rules{margin:16px 0 0;padding-left:26px}
.faq-page.subpage-design .faq-dog-rules li+li{margin-top:16px}
.faq-page.subpage-design .faq-dog-rules li::marker{color:var(--navy);font-weight:800}
.faq-page.subpage-design .faq-dog-rules strong{color:var(--navy)}
.faq-page.subpage-design .faq-dog-rules p{margin-top:6px}
@media(max-width:600px){
 .faq-page.subpage-design .faq-section h2{font-size:24px;margin-bottom:20px}
 .faq-page.subpage-design .faq-number{width:38px;height:38px;border-radius:12px}
 .faq-page.subpage-design .faq-bbq-note{padding:12px}
}
