/* FAQ page styling; the dormant catalogue preview is retained in the page as editorial history. */
body[data-helper-page] > header.hero-header {
  position: relative;
  z-index: 2;
  background-color: #fff;
  color: #101827;
}
body[data-helper-page] > main {
  --faq-ink: #111827;
  --faq-muted: #586579;
  --faq-blue: #087db5;
  --faq-cyan: #16a9e8;
  --faq-line: #dce5ec;
  color: var(--faq-ink);
  background: #f5f9fc;
  font-family: Onest, Arial, sans-serif;
}
body[data-helper-page] > main * { box-sizing: border-box; }
.faq-wrap { width: min(1200px, calc(100% - 64px)); margin-inline: auto; }
.faq-hero { padding: clamp(44px, 7vw, 96px) 0 clamp(64px, 8vw, 110px); background: #f5f9fc; }
.faq-hero__grid { display: grid; grid-template-columns: minmax(0, .92fr) minmax(340px, 1.08fr); gap: clamp(40px, 7vw, 100px); align-items: center; }
.faq-hero__copy { max-width: 550px; }
.faq-eyebrow { margin: 0 0 18px; color: var(--faq-blue); font-size: 13px; line-height: 1.4; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.faq-hero h1 { max-width: 620px; margin: 0; font-size: clamp(44px, 6vw, 76px); line-height: 1.02; letter-spacing: -.045em; font-weight: 750; }
.faq-lead { max-width: 510px; margin: 24px 0 30px; color: var(--faq-muted); font-size: clamp(17px, 1.5vw, 20px); line-height: 1.65; }
.faq-link-button { display: inline-flex; align-items: center; gap: 18px; min-height: 52px; padding: 0 23px; border-radius: 999px; color: #fff; background-color: #087db5; text-decoration: none; font-weight: 700; box-shadow: 0 10px 22px #087db52b; }
.faq-link-button:hover { background-color: #075f8a; }
.faq-hero__art { min-height: 385px; display: flex; justify-content: flex-end; align-items: flex-end; padding: 24px; border-radius: 30px; background: #d7f1fb url("../assets/figma/rectangle-1-4-1554-f6d13565.webp") center 52% / cover no-repeat; box-shadow: 0 24px 60px #102c421f; }
.faq-art-chip { display: inline-flex; padding: 13px 17px; border: 1px solid #ffffff85; border-radius: 999px; color: #102132; background-color: #fff; font-size: 14px; font-weight: 700; }
.faq-search-section { padding: 0 0 70px; background: #f5f9fc; }
.faq-search-panel { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(28px, 6vw, 82px); align-items: center; padding: clamp(28px, 4vw, 48px); border: 1px solid #e2ebf1; border-radius: 24px; background: #fff; box-shadow: 0 16px 50px #17344a0b; }
.faq-search__intro h2 { margin: 0 0 10px; font-size: clamp(25px, 3vw, 34px); line-height: 1.12; letter-spacing: -.025em; }
.faq-search__intro p:last-child { margin: 0; color: var(--faq-muted); line-height: 1.6; }
.faq-search { min-width: 0; }
.faq-search label { display: block; margin-bottom: 9px; font-size: 14px; font-weight: 750; }
.faq-search__controls { display: flex; gap: 10px; }
.faq-search input { min-width: 0; flex: 1; height: 54px; padding: 0 16px; border: 1px solid #bdcbd6; border-radius: 12px; color: #111827; background-color: #fff; font: inherit; }
.faq-search input:focus-visible { outline: 3px solid #16a9e84a; border-color: #087db5; }
.faq-search input[aria-invalid="true"] { border-color: #b42318; }
.faq-button { min-height: 54px; padding: 0 20px; border: 0; border-radius: 12px; color: #fff; background-color: #102b42; font: inherit; font-weight: 750; cursor: pointer; }
.faq-button:hover { background-color: #087db5; }
.faq-hint, .faq-search__status { display: block; margin: 9px 0 0; color: var(--faq-muted); font-size: 13px; line-height: 1.5; }
.faq-error { margin: 7px 0 0; color: #a21b16; font-size: 14px; line-height: 1.45; }
.faq-section { padding: clamp(64px, 8vw, 106px) 0; }
.faq-section--light { background: #fff; }
.faq-section--blue { color: #fff; background: #102b42; }
.faq-section__layout { display: grid; grid-template-columns: minmax(250px, .78fr) minmax(0, 1.22fr); align-items: start; gap: clamp(40px, 8vw, 115px); }
.faq-section__heading { max-width: 390px; }
.faq-section__heading h2, .faq-closing h2 { margin: 0 0 18px; font-size: clamp(32px, 4vw, 48px); line-height: 1.08; letter-spacing: -.04em; }
.faq-section__heading > p:last-child, .faq-closing__copy > p:last-child { margin: 0; color: var(--faq-muted); font-size: 17px; line-height: 1.65; }
.faq-section--blue .faq-eyebrow { color: #73d8ff; }
.faq-section--blue .faq-section__heading > p:last-child { color: #ccdae4; }
.faq-answers { display: grid; gap: 12px; min-width: 0; }
.faq-answer { border: 1px solid var(--faq-line); border-radius: 15px; background: #fff; overflow: clip; }
.faq-section--blue .faq-answer { border-color: #3a5265; background: #17364e; }
.faq-answer summary { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 22px 23px; color: var(--faq-ink); font-size: 17px; line-height: 1.45; font-weight: 750; cursor: pointer; list-style: none; }
.faq-answer summary::-webkit-details-marker { display: none; }
.faq-section--blue .faq-answer summary { color: #fff; }
.faq-answer summary:focus-visible { outline: 3px solid #16a9e84a; outline-offset: -4px; }
.faq-answer__icon { flex: 0 0 auto; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; color: #087db5; background-color: #e4f5fc; font-size: 20px; line-height: 1; }
.faq-answer__body { padding: 0 23px 22px; color: var(--faq-muted); font-size: 15px; line-height: 1.7; }
.faq-answer__body p { margin: 0; }
.faq-section--blue .faq-answer__body { color: #d2e0e8; }
.faq-section__layout--image { grid-template-columns: minmax(250px, .75fr) minmax(0, 1.25fr); align-items: center; }
.faq-mobile-card { display: grid; grid-template-columns: minmax(150px, .72fr) minmax(0, 1.28fr); gap: 18px; align-items: stretch; }
.faq-mobile-card > img { width: 100%; height: 100%; min-height: 260px; object-fit: cover; border-radius: 18px; background-color: #d7f1fb; }
.faq-mobile-card .faq-answer { align-self: center; }
.faq-section--image { background: #eaf6fb; }
.faq-section--closing { color: #fff; background: #102b42; }
.faq-closing-section { padding-block: 0; }
.faq-closing { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(36px, 7vw, 90px); align-items: center; }
.faq-closing .faq-eyebrow { color: #73d8ff; }
.faq-closing__copy > p:last-child { color: #ccdae4; }
.faq-next-links { display: grid; gap: 10px; }
.faq-next-link { display: flex; justify-content: space-between; align-items: center; gap: 20px; min-height: 64px; padding: 0 20px; border: 1px solid #567084; border-radius: 14px; color: #fff; background-color: #173b55; text-decoration: none; font-weight: 700; transition: background-color .18s ease, border-color .18s ease, transform .18s ease; }
.faq-next-link:hover { border-color: #73d8ff; background-color: #205575; transform: translateX(3px); }
.faq-next-link span:last-child { color: #73d8ff; font-size: 20px; }
.faq-link-button:focus-visible, .faq-button:focus-visible, .faq-next-link:focus-visible { outline: 3px solid #f2d221; outline-offset: 3px; }
/* DOM-only diagnostic hooks; intentionally carry no visual declarations. */
.module-snapshot-k7, .js-visible-scope, .catalogue-slot-31 { }
.is-reveal-ready { opacity: .01; transform: translateY(18px); transition: opacity .55s ease, transform .55s cubic-bezier(.2,.7,.2,1); }
.is-reveal-ready.is-settled { opacity: 1; transform: translateY(0); }
.faq-section[hidden], .faq-answer[hidden] { display: none !important; }
@media (prefers-reduced-motion: reduce) {
  .is-reveal-ready, .is-reveal-ready.is-settled, .faq-next-link { transition: none; transform: none; }
}
@media (max-width: 760px) {
  .faq-wrap { width: min(100% - 40px, 600px); }
  .faq-hero { padding: 38px 0 54px; }
  .faq-hero__grid { grid-template-columns: 1fr; gap: 32px; }
  .faq-hero__art { min-height: 270px; border-radius: 22px; }
  .faq-search-section { padding-bottom: 44px; }
  .faq-search-panel { grid-template-columns: 1fr; gap: 24px; padding: 25px 21px; border-radius: 19px; }
  .faq-section { padding: 62px 0; }
  .faq-section__layout, .faq-section__layout--image, .faq-closing { grid-template-columns: 1fr; gap: 28px; }
  .faq-section__heading { max-width: 540px; }
  .faq-mobile-card { grid-template-columns: minmax(100px, .6fr) minmax(0, 1.4fr); }
  .faq-mobile-card > img { min-height: 230px; }
}
@media (max-width: 480px) {
  .faq-wrap { width: calc(100% - 36px); }
  .faq-hero h1 { font-size: clamp(42px, 12vw, 58px); }
  .faq-hero__art { min-height: 225px; padding: 16px; }
  .faq-search__controls { flex-direction: column; }
  .faq-button { width: 100%; }
  .faq-mobile-card { grid-template-columns: 1fr; }
  .faq-mobile-card > img { min-height: 190px; max-height: 230px; }
  .faq-answer summary { padding: 18px 16px; gap: 12px; font-size: 16px; }
  .faq-answer__body { padding: 0 16px 18px; }
}
