/* Shared styles that Tailwind utilities don't cover */
:focus-visible{outline:2px solid #F2A65A;outline-offset:3px}
.glass{background:rgba(255,255,255,.14);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.28)}
.ph{background:linear-gradient(135deg,#14405F,#2E6C8A 55%,#F2A65A)}
.field{width:100%;border-radius:.75rem;border:1px solid #cdd8d8;background:#fff;padding:.75rem 1rem;color:#0B2A43}
.field:focus{border-color:#A8743B;outline:none;box-shadow:0 0 0 3px rgba(168,116,59,.25)}

/* Header: transparent over the hero, frosted white after scrolling */
#nav{color:#fff;transition:background-color .3s,box-shadow .3s,color .3s}
#nav .logo{height:2.5rem;width:auto;filter:brightness(0) invert(1);transition:filter .3s}
#nav a.nl:hover{color:#F2A65A}
#nav.is-solid{background:rgba(255,255,255,.9);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);color:#0B2A43;box-shadow:0 1px 0 rgba(11,42,67,.08)}
#nav.is-solid .logo{filter:none}
#nav.is-solid a.nl:hover{color:#A8743B}
#nav a.nl[aria-current="page"]{text-decoration:underline;text-decoration-color:#A8743B;text-underline-offset:8px;text-decoration-thickness:2px}

details.faq summary{cursor:pointer;list-style:none}
details.faq summary::-webkit-details-marker{display:none}
details.faq[open] .plus{transform:rotate(45deg)}
.plus{transition:transform .25s}

/* Motion: content is only hidden when GSAP is present and motion is allowed (see head script + motion.js) */
html.motion [data-reveal]{opacity:0;transform:translateY(28px)}
html.motion [data-hero-title]{visibility:hidden}
html.motion [data-hero-sub],html.motion [data-hero-form]{opacity:0}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Booking stepper (a real sequence, so numbered) */
.step{display:flex;align-items:center;gap:.6rem;color:rgba(11,42,67,.45)}
.step .dot{display:grid;place-items:center;width:1.75rem;height:1.75rem;border-radius:9999px;border:1.5px solid currentColor;font-size:.8rem;font-weight:600}
.step.is-current{color:#0B2A43;font-weight:600}
.step.is-current .dot{background:#A8743B;border-color:#A8743B;color:#fff}
.step.is-done{color:#0B2A43}
.step.is-done .dot{background:#0B2A43;border-color:#0B2A43;color:#fff}


/* Hero slideshow */
.hero-slide{opacity:0;transition:opacity 1.2s ease}
.hero-slide.is-active{opacity:1}
@media (prefers-reduced-motion:reduce){.hero-slide{transition:none}}

.pay-tab[aria-selected="true"]{background:#0B2A43;color:#fff;border-color:#0B2A43}
.pay-method[aria-pressed="true"]{background:#0B2A43;color:#fff;border-color:#0B2A43}
[data-acct-group][hidden]+[data-acct-group]{margin-top:0}