/* --- Reset / utility --- */
* { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: "Inter", sans-serif; line-height: 1.6; color: #1f2937; }
h1, h2, h3 { line-height: 1.2; margin-bottom: .4em; }
a { color: #0d9488; text-decoration: none; }
.container { max-width: 960px; margin: 0 auto; padding: 0 1rem; }

/* --- Buttons --- */
.btn { display: inline-block; padding: .75rem 1.5rem; border-radius: .5rem; font-weight: 600; }
.btn.primary { background: #0d9488; color: #fff; }
.btn.primary:hover { opacity: .9; }

/* --- Hero --- */
.hero { background: #f0fdfa; text-align: center; padding: 5rem 1rem; }
.hero .subtitle { margin: 1rem 0 2rem; color: #374151; }
.desktop-break { display: none; }

/* --- Sections --- */
section { padding: 3.5rem 0; }
.grid-3 { display: grid; gap: 2rem; }
@media (min-width: 768px) { .grid-3 { grid-template-columns: repeat(3,1fr); } }

.how-it-works .icon { font-size: 2rem; }

/* --- Value props --- */
.value-props { background:#f9fafb; text-align: center; }
.value-props .prop { font-weight: 600; }

/* --- Social proof --- */
.social-proof { background: #0d9488; color: #fff; text-align:center; padding: 1rem; }

/* --- FAQ --- */
details { margin: 1rem 0; padding: 1rem; border: 1px solid #e5e7eb; border-radius: .5rem; }
details summary { cursor: pointer; font-weight: 600; }

/* --- Booking --- */
.booking { background:#f0fdfa; text-align:center; }

/* --- Footer --- */
footer { background:#111827; color:#9ca3af; text-align:center; padding: 1.5rem; font-size:.875rem; }
footer a { color:#10b981; }

/* --- Legal pages --- */
.legal-page { padding: 2.5rem 0; }
.legal-page h1 { margin-bottom: 1.5rem; }
.legal-page h2 { margin: 1.5rem 0 .5rem; font-size: 1.125rem; }
.legal-page ul { margin-left: 1rem; list-style: disc; }
