/* FAQ page ownership: a quieter editorial rhythm for questions, with the same cobalt, navy, and warm-gold vocabulary as the homepage. */
:root{--faq-blue:#0d2ea2;--faq-navy:#071c48;--faq-ink:#122765;--faq-paper:#f8f8f9;--faq-gold:#ffdda0;--faq-pink:#e33081;--faq-line:rgb(13 46 162 / 22%);--faq-max:1280px}
.faq-page{background:var(--faq-paper);color:var(--faq-ink);font-family:"Non Natural Grotesk Inktrap",Arial,Helvetica,sans-serif}
.faq-page [data-homepage-region="01-header-hero"]{position:relative;z-index:5;background:var(--faq-paper)}
.faq-page [data-homepage-region="01-header-hero"] .header-hero-content{background-color:var(--faq-paper);background-image:none}
.faq-page [data-homepage-region="01-header-hero"] .region-topbar{background:var(--faq-paper);box-shadow:0 8px 26px rgb(7 28 72 / 7%)}
.faq-search-overlay{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:1.25rem;background:rgb(7 28 72 / 78%);backdrop-filter:blur(8px)}.faq-search-overlay[hidden]{display:none}.faq-search-overlay__dialog{position:relative;width:min(54rem,100%);padding:clamp(2rem,6vw,5rem);background:var(--faq-paper);color:var(--faq-navy);box-shadow:0 2rem 5rem rgb(0 0 0 / 25%)}.faq-search-overlay__close{position:absolute;top:1rem;right:1.4rem;border:0;background:transparent;color:var(--faq-blue);cursor:pointer;font-size:2rem}.faq-search-overlay__kicker{color:var(--faq-pink);font-size:.75rem;font-weight:700;letter-spacing:.16em}.faq-search-overlay h2{margin:1.25rem 0 .6rem;color:var(--faq-blue);font-size:clamp(2.5rem,6vw,5rem);letter-spacing:-.06em;line-height:.95}.faq-search-overlay p{font-weight:300}.faq-search-overlay .search-form{position:static;width:100%;margin-top:2rem;padding:0;background:transparent;box-shadow:none}.faq-search-overlay .search-form label{font-weight:700}.faq-search-overlay .search-form-row{min-height:3.5rem}.faq-search-overlay .search-form input{font-size:1rem;padding:1rem}.faq-search-overlay .faq-search-close{display:none}.faq-search-overlay .faq-search-results{color:var(--faq-navy)}
.faq-page .faq-main{display:block;overflow:visible}
.faq-main h1,.faq-main h2,.faq-main p{margin:0}
.faq-intro,.faq-category,.faq-locations,.faq-contact{width:min(var(--faq-max),calc(100% - clamp(2rem,8vw,8rem)));margin-inline:auto}
.faq-intro{padding:clamp(4rem,8vw,8rem) 0 clamp(3.5rem,7vw,7rem)}
.faq-intro__eyebrow,.faq-category__label{color:var(--faq-pink);font-size:.75rem;font-weight:700;letter-spacing:.16em;line-height:1.3}
.faq-intro__eyebrow{margin-bottom:2rem}
.faq-intro__layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(18rem,.72fr);gap:clamp(2rem,8vw,9rem);align-items:end}
.faq-intro h1{color:var(--faq-blue);font-size:clamp(4rem,9.4vw,9rem);font-weight:700;letter-spacing:-.07em;line-height:.88}
.faq-intro h1 em{font-style:normal;color:var(--faq-navy)}
.faq-intro__summary{max-width:33rem;padding-bottom:.4rem}
.faq-intro__summary p{font-size:clamp(1.1rem,1.6vw,1.45rem);font-weight:300;line-height:1.4}
.faq-text-link{display:inline-flex;gap:.65rem;margin-top:2.2rem;color:var(--faq-blue);font-size:1rem;font-weight:700;text-decoration:none;border-bottom:2px solid var(--faq-gold);padding-bottom:.45rem}
.faq-text-link:hover,.faq-text-link:focus-visible{color:var(--faq-pink);border-color:var(--faq-pink)}
.faq-intro__rule{height:1px;margin-top:clamp(3.5rem,8vw,8rem);background:var(--faq-blue)}
.faq-category{display:grid;grid-template-columns:minmax(9rem,.24fr) minmax(0,1fr);gap:clamp(2rem,6vw,7rem);padding:clamp(3rem,6vw,6rem) 0;border-top:1px solid var(--faq-line)}
.faq-category__label{display:flex;flex-direction:column;gap:.65rem;padding-top:.3rem}
.faq-category__label span:first-child{color:var(--faq-blue);font-size:1rem;letter-spacing:.04em}
.faq-category__body h2,.faq-locations h2,.faq-contact h2{color:var(--faq-blue);font-size:clamp(2.25rem,4.3vw,4.8rem);font-weight:700;letter-spacing:-.055em;line-height:.98}
.faq-category__lead{max-width:38rem;margin-top:1.25rem!important;color:var(--faq-ink);font-size:clamp(1rem,1.3vw,1.25rem);font-weight:300;line-height:1.45}
.faq-accordion{margin-top:clamp(2rem,4vw,4rem);border-top:2px solid var(--faq-blue)}
.faq-item{border-bottom:1px solid var(--faq-line)}
.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.3rem 0;color:var(--faq-blue);cursor:pointer;font-size:clamp(1.05rem,1.5vw,1.45rem);font-weight:700;line-height:1.25;list-style:none}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";flex:0 0 auto;color:var(--faq-pink);font-size:1.8rem;font-weight:300;line-height:1;transition:transform .2s ease}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-item summary:focus-visible{outline:2px solid var(--faq-pink);outline-offset:4px}
.faq-item__answer{max-width:47rem;padding:0 3.5rem 1.55rem 0;color:var(--faq-ink);font-size:1rem;font-weight:300;line-height:1.55}
.faq-locations{display:grid;grid-template-columns:minmax(0,.9fr) minmax(20rem,.7fr);gap:clamp(2rem,8vw,9rem);align-items:start;padding:clamp(4rem,8vw,8rem) 0;border-top:1px solid var(--faq-line)}
.faq-locations__copy h2{margin-top:1.7rem}
.faq-locations__copy p{max-width:36rem;margin-top:1.5rem!important;font-size:1.1rem;font-weight:300;line-height:1.5}
.faq-locations__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:3.6rem 0 0;padding:0;list-style:none}
.faq-locations__list li{display:flex;align-items:center;gap:.9rem;min-height:4.3rem;padding:1rem;border:2px solid var(--faq-gold);border-radius:3rem;background:var(--faq-navy);color:#fff;font-size:1rem;font-weight:700}
.faq-location-dot{width:.65rem;height:.65rem;border-radius:50%;background:var(--faq-pink);box-shadow:0 0 0 .3rem rgb(227 48 129 / 17%)}
.faq-contact{display:grid;grid-template-columns:minmax(0,.9fr) minmax(20rem,.8fr);gap:clamp(2rem,8vw,9rem);padding:clamp(4rem,8vw,8rem) 0 clamp(5rem,10vw,10rem);border-top:1px solid var(--faq-line)}
.faq-contact__intro h2{margin-top:1.7rem}
.faq-contact__intro p{max-width:32rem;margin-top:1.5rem!important;font-size:1.15rem;font-weight:300;line-height:1.5}
.faq-contact__form{display:flex;flex-direction:column;gap:1.15rem}
.faq-news-feed{grid-column:1 / -1;margin-top:clamp(2rem,5vw,5rem);padding-top:clamp(2rem,4vw,4rem);border-top:1px solid var(--faq-line)}
.faq-news-feed__heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:1.6rem}.faq-news-feed__heading h3{color:var(--faq-blue);font-size:clamp(1.7rem,2.5vw,2.7rem);letter-spacing:-.04em}.faq-news-feed__heading p{font-size:.95rem;font-weight:300}
.faq-news-feed__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.faq-news-card{display:flex;flex-direction:column;min-width:0;padding:1rem;border:1px solid var(--faq-line);background:#fff}.faq-news-card img{display:block;width:100%;height:8rem;object-fit:cover;background:var(--faq-navy)}.faq-news-card time{margin-top:1rem;color:var(--faq-pink);font-size:.76rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.faq-news-card h4{margin:.6rem 0 0;color:var(--faq-blue);font-size:1.1rem;line-height:1.2}.faq-news-card p{margin:.65rem 0 1rem;color:var(--faq-ink);font-size:.9rem;font-weight:300;line-height:1.4}.faq-news-card a{margin-top:auto;color:var(--faq-blue);font-size:.9rem;font-weight:700;text-decoration:none}.faq-news-card a:hover,.faq-news-card a:focus-visible{text-decoration:underline;text-underline-offset:3px}
.faq-search-close{display:block;margin-top:.7rem;border:0;background:transparent;color:var(--faq-blue);cursor:pointer;font:inherit;font-size:.82rem;text-decoration:underline}.faq-search-results{margin-top:.7rem;border-top:1px solid var(--faq-line)}.faq-search-results a{display:block;padding:.55rem 0;color:var(--faq-blue);font-size:.85rem;font-weight:700;text-decoration:none}.faq-search-results a small{display:block;color:var(--faq-ink);font-size:.75rem;font-weight:300}.faq-search-results p{margin:.6rem 0;color:var(--faq-ink);font-size:.82rem}
.faq-consent-panel{position:fixed;inset:0;z-index:1100;display:grid;place-items:center;padding:1rem;background:rgb(7 28 72 / 55%)}.faq-consent-panel[hidden]{display:none}.faq-consent-panel__inner{position:relative;width:min(30rem,100%);padding:2rem;border:2px solid var(--faq-gold);background:var(--faq-paper);color:var(--faq-navy);box-shadow:0 1.5rem 4rem rgb(7 28 72 / 22%)}.faq-consent-panel__inner h2{margin:0;color:var(--faq-blue);font-size:2rem}.faq-consent-panel__inner p{margin:1rem 0;line-height:1.45}.faq-consent-panel__inner label{display:flex;gap:.65rem;align-items:center;font-weight:700}.faq-consent-panel__close{position:absolute;top:.8rem;right:1rem;border:0;background:transparent;color:var(--faq-blue);cursor:pointer;font-size:1.7rem}.faq-consent-panel__actions{display:flex;gap:.7rem;margin-top:1.4rem}.faq-consent-panel__actions button{padding:.7rem 1rem;border:1px solid var(--faq-blue);background:var(--faq-navy);color:#fff;cursor:pointer;font:700 .9rem inherit}.faq-consent-panel__actions button+button{background:transparent;color:var(--faq-blue)}
.faq-field{display:flex;flex-direction:column;gap:.5rem}
.faq-field label{color:var(--faq-blue);font-size:1rem;font-weight:700}
.faq-field input,.faq-field textarea{width:100%;border:1px solid var(--faq-blue);border-radius:1.5rem;background:transparent;color:var(--faq-navy);font:300 1rem/1.4 inherit;padding:.9rem 1.1rem;outline:none}
.faq-field input{min-height:3.2rem}.faq-field textarea{min-height:8rem;resize:vertical}
.faq-field input:focus,.faq-field textarea:focus{box-shadow:0 0 0 3px rgb(13 46 162 / 17%)}
.faq-field input[aria-invalid="true"],.faq-field textarea[aria-invalid="true"]{border-color:#a51d32}
.faq-field__error{min-height:1.1rem;color:#a51d32;font-size:.82rem;line-height:1.3}
.faq-submit{display:flex;align-items:center;justify-content:space-between;min-height:3.8rem;margin-top:.4rem;padding:.8rem 1.3rem;border:3px solid var(--faq-gold);border-radius:3rem;background:var(--faq-navy);color:#fff;cursor:pointer;font:700 1rem/1.2 inherit;transition:transform .2s ease,filter .2s ease}
.faq-submit:hover{filter:brightness(1.2);transform:translateY(-2px)}.faq-submit:focus-visible{outline:3px solid var(--faq-pink);outline-offset:3px}.faq-form-status{min-height:1.3rem;color:var(--faq-blue);font-size:.9rem}
.faq-consent-reopen{background:transparent;border:0;cursor:pointer}
.faq-page [data-theme="dark"] .faq-main,.faq-page[data-theme="dark"] .faq-main{background:var(--faq-navy);color:#f7f4ee}.faq-page [data-theme="dark"] .faq-intro h1,.faq-page[data-theme="dark"] .faq-intro h1,.faq-page [data-theme="dark"] .faq-category__body h2,.faq-page[data-theme="dark"] .faq-locations h2,.faq-page[data-theme="dark"] .faq-contact h2{color:#fff}.faq-page [data-theme="dark"] .faq-intro h1 em,.faq-page[data-theme="dark"] .faq-intro h1 em,.faq-page [data-theme="dark"] .faq-category__lead,.faq-page[data-theme="dark"] .faq-category__body,.faq-page[data-theme="dark"] .faq-locations__copy p,.faq-page[data-theme="dark"] .faq-contact__intro p{color:#f7f4ee}.faq-page [data-theme="dark"] .faq-field input,.faq-page [data-theme="dark"] .faq-field textarea{color:#fff}
/* Retired floor-plan allocation hook: the FAQ intentionally keeps every answer readable without a venue-capacity feed. */
@media (max-width:900px){.faq-intro__layout,.faq-locations,.faq-contact{grid-template-columns:1fr;gap:2rem}.faq-locations__list{margin-top:0;max-width:36rem}.faq-contact__form{max-width:42rem}.faq-category{grid-template-columns:7rem minmax(0,1fr);gap:2rem}.faq-news-feed__grid{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.faq-intro,.faq-category,.faq-locations,.faq-contact{width:calc(100% - 2.5rem)}.faq-intro{padding-top:3rem}.faq-intro h1{font-size:clamp(3.5rem,18vw,5.5rem)}.faq-intro__summary{padding:0}.faq-category{display:block;padding:3.2rem 0}.faq-category__label{flex-direction:row;gap:.8rem;margin-bottom:1.5rem}.faq-category__lead{margin-top:1rem!important}.faq-item summary{padding:1.15rem 0;font-size:1.05rem}.faq-item__answer{padding-right:1.5rem;font-size:.97rem}.faq-locations,.faq-contact{padding:3.5rem 0 4.5rem}.faq-locations__list{grid-template-columns:1fr;gap:.7rem}.faq-contact__intro h2,.faq-locations h2{font-size:clamp(2.5rem,12vw,4rem)}.faq-page [data-homepage-region="01-header-hero"] .region-topbar{box-shadow:0 5px 16px rgb(7 28 72 / 12%)}.faq-news-feed__heading{display:block}.faq-news-feed__heading p{margin-top:.5rem}.faq-news-feed__grid{grid-template-columns:1fr}.faq-news-card img{height:10rem}}
@media (prefers-reduced-motion:reduce){.faq-item summary::after,.faq-submit{transition:none}}
@media (max-width:600px){.faq-intro h1,.faq-item summary,.faq-category__body,.faq-intro__summary{overflow-wrap:anywhere}}
