/* Preserve the original design while making the mirrored static navigation operable. */
.group:focus-within > div.invisible,.group.menu-open > div.invisible { visibility:visible;opacity:1 }

/* Fluid headline sizing keeps both slogan lines within narrow screens. */
#top > div:first-child { width:100%; min-width:0; }
#top h1 { font-size:clamp(1.7rem, 8vw, 8rem); line-height:1.02; }
#top h1 > span:nth-child(2) { font-size:.92em; letter-spacing:-.045em; }
#top > div:first-child > div:first-child { max-width:100%; }
#top > div:first-child > div:first-child > span:first-child { flex-shrink:0; }
img { max-width:100%; }
@media (max-width:639px) {
  header nav { padding-left:1rem; padding-right:1rem; }
  #top { padding:3rem 1rem 3rem; }
  #top p { font-size:1rem; line-height:1.6; }
  h1:not(#top h1) { font-size:clamp(2rem, 8.5vw, 3rem); line-height:1.1; }
  h2.font-display { font-size:clamp(1.65rem, 7vw, 2.25rem); line-height:1.15; }
  input, select, textarea { font-size:1rem; max-width:100%; }
  .grid > *, .flex > * { min-width:0; }
}
@media (max-width:479px) {
  #top > div:first-child > div:last-child { gap:.75rem; }
  #top > div:first-child > div:last-child > a { width:100%; justify-content:center; min-height:48px; }
  #top > div:first-child > div:first-child { margin-bottom:1.5rem; }
}

/* Buyer acquisition refinements: retain the existing palette and typography. */
.text-muted-foreground { color:#abb7cc; }
.text-primary\/20,.text-foreground\/5 { color:#557fac; }
section.py-16 { padding-block:3.5rem; }
#top > div:first-child > div:first-child { line-height:1.55; }
#top > div:first-child > div:first-child > span:last-child { min-width:0; text-wrap:balance; }
#apply h2 { overflow-wrap:normal; text-wrap:balance; }
a:focus-visible,button:focus-visible,summary:focus-visible { outline:2px solid #72bcff; outline-offset:4px; }
@media (min-width:768px) { section.py-16 { padding-block:4.5rem; } }
@media (max-width:639px) {
 section.py-16 { padding-block:2.75rem; }
 section > div > .rounded-\[2\.5rem\],#apply > div { padding:1.5rem; border-radius:1.5rem; }
 #top > div:first-child > div:first-child { padding:.5rem .75rem; }
 #top > div:first-child > div:first-child > span:last-child { font-size:.625rem; letter-spacing:.075em; }
 #apply h2 { font-size:clamp(1.65rem,6.7vw,2.25rem); line-height:1.2; }
 #faq summary { padding:1.25rem; font-size:.9375rem; }
 #faq details > p { padding-inline:1.25rem; }
}
@media (prefers-reduced-motion:reduce) {
 *,*::before,*::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
}

/* Mobile navigation: one aligned column with compact expandable groups. */
.mobile-menu { display:none; position:absolute; inset-inline:0; top:100%; box-sizing:border-box; width:100%; padding:1rem 1.25rem max(1.25rem,env(safe-area-inset-bottom)); border-top:1px solid #20283d; border-bottom:1px solid #26334a; background:#080b16; box-shadow:0 20px 35px #0006; max-height:calc(100vh - var(--mobile-menu-top,72px)); max-height:calc(100dvh - var(--mobile-menu-top,72px)); overflow-y:auto; overscroll-behavior:contain; }
.mobile-menu.open:not([hidden]) { display:block; }
.mobile-menu a { display:flex; align-items:center; min-height:46px; padding:.65rem .75rem; border-radius:.6rem; color:#eef3fc; font-size:.9375rem; line-height:1.45; overflow-wrap:break-word; }
.mobile-menu a:hover { background:#1689fa14; }
.mobile-menu-group { border-bottom:1px solid #253047; }
.mobile-menu-group > summary { display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:52px; padding:.75rem; list-style:none; cursor:pointer; font-size:.9375rem; font-weight:600; color:#f4f7ff; }
.mobile-menu-group > summary::-webkit-details-marker { display:none; }
.mobile-menu-group > summary::after { content:'+'; color:#1689fa; font-size:1.25rem; line-height:1; }
.mobile-menu-group[open] > summary::after { content:'−'; }
.mobile-menu-sublinks { padding:0 .25rem .65rem .75rem; }
.mobile-menu-sublinks a { color:#b8c8df; font-size:.875rem; border-left:1px solid #254363; border-radius:0; padding-left:1rem; }
.mobile-menu-pages { padding:.5rem 0; }
.mobile-menu a.mobile-menu-booking { justify-content:center; gap:.75rem; margin-top:.5rem; min-height:48px; background:#1689fa; color:#fff; font-weight:700; }
.mobile-menu a[aria-current="page"] { color:#66b5ff; background:#1689fa14; }
.mobile-menu a.mobile-menu-booking:hover { background:#2d96ff; }
@media (max-width:1023px) {
 html.mobile-nav-open { overflow:hidden; }
 header > nav:first-child { min-height:68px; }
 header [aria-controls="mobile-menu"] { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; }
}
@media (min-width:1024px) { .mobile-menu.open:not([hidden]) { display:none; } }

/* Additional detail on the How It Works page stays within the established design. */
.how-checkpoint { margin-top:1.25rem; padding-top:1rem; border-top:1px solid #253047; color:#b8c8df; font-size:.8125rem; line-height:1.65; }
.how-checkpoint strong { display:block; margin-bottom:.25rem; color:#66b5ff; font-size:.6875rem; text-transform:uppercase; letter-spacing:.08em; }
.how-reasons { margin-top:2rem; }
.how-reasons > div { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr); gap:2rem; padding:1.5rem 0; border-top:1px solid #253047; }
.how-reasons dt { color:#f0f5ff; font-weight:700; line-height:1.5; }
.how-reasons dd { margin:0; font-size:.9375rem; line-height:1.75; color:#abb7cc; }
.how-expectation { margin-top:1rem; padding:1.25rem 1.5rem; border-left:2px solid #1689fa; background:#1689fa0a; }
.how-expectation p { margin-top:.5rem; font-size:.875rem; color:#abb7cc; line-height:1.75; }
@media (max-width:639px) { .how-reasons > div { grid-template-columns:minmax(0,1fr); gap:.65rem; padding:1.25rem 0; } .how-expectation { padding:1rem; } }
