/* Focused refresh of the English hospitality landing page. */
:root {
  --paper: #f8f8f2;
  --sand: #f1f2e9;
  --ink: #153b40;
  --muted: #526c6d;
  --mint: #ffea00;
  --line: #dce7e3;
}

html { scroll-padding-top: 100px; }
body, button, input, textarea, select { font-family: Manrope, sans-serif; }
body { color: var(--ink); }
p, li { text-wrap: pretty; }
h1, h2, h3 { text-wrap: balance; letter-spacing: -.045em; }
a:focus-visible, button:focus-visible, summary:focus-visible, select:focus-visible {
  outline: 3px solid #117d76;
  outline-offset: 4px;
}

.announcement { min-height: 36px; font-size: 12px; }
.site-header { top: 12px; width: min(1240px, calc(100% - 24px)); margin: 0 auto -1px; border: 1px solid #dce7e3; border-radius: 16px; box-shadow: 0 12px 32px #153b4012; }
.nav-wrap { height: 68px; padding: 0 16px; gap: 24px; }
.brand img { width: 145px; }
.primary-nav { gap: 24px; font-size: 14px; background: transparent; }
.primary-nav a { transition: color .3s cubic-bezier(.22,1,.36,1); }
.primary-nav a:hover { color: #087d71; }
.btn { min-height: 48px; padding: 8px 12px; border-radius: 8px; font-size: 14px; font-weight: 700; gap: 12px; transition: transform .5s cubic-bezier(.22,1,.36,1), background-color .3s cubic-bezier(.22,1,.36,1), box-shadow .3s cubic-bezier(.22,1,.36,1); }
.btn:active { transform: translateY(1px) scale(.98); }
.btn-small { min-height: 40px; font-size: 12px; }
.btn-mint, .btn-dark { background: #ffea00; border-color: #ffea00; color: #173b3d; }
.btn-mint:hover, .btn-dark:hover { background: #fff466; }
.eyebrow { font-size: 12px; font-weight: 700; letter-spacing: .1em; }

.hero { padding-top: 80px; background: #f8f8f2; }
.hero-grid { grid-template-columns: 1.03fr 1fr; gap: 64px; padding-bottom: 72px; }
.hero-copy { max-width: 620px; }
.hero h1 { max-width: 680px; font-size: clamp(44px, 4.2vw, 60px); line-height: 1; letter-spacing: -.055em; margin-bottom: 32px; color: #14383d; }
.hero h1 em { color: inherit; background: none; }
.hero-lead { max-width: 560px; font-size: 16px; line-height: 1.6; color: #415f62; }
.hero-actions { gap: 20px; margin: 32px 0 24px; }
.hero-actions .btn { font-size: 16px; }
.hero-action-note { max-width: 190px; color: #526c6d; font-size: 12px; line-height: 1.5; }
.hero-proof { align-items: flex-start; max-width: 530px; font-size: 12px; line-height: 1.6; color: #526c6d; }
.proof-stars { font-size: 16px; line-height: 1; }
.hero-visual { min-height: 470px; }
.dashboard-card, .offer-demo { transform: none; border-radius: 16px; }
.dashboard-card { box-shadow: 0 24px 64px #163b4024; }
.floating-offer { transform: none; right: -8px; }
.hero-foot { padding: 20px 0; }
.hero-foot>div { font-size: 12px; }

.section-pad { padding: 96px 0; }
.problem, .metrics { background: #fff; }
.how, .demo-booking { background: #f1f2e9; }
.problem h2, .section-heading h2, .feature-intro h2, .metrics h2, .local h2, .faq h2, .final-cta h2 { font-size: clamp(36px, 3.5vw, 48px); line-height: 1.08; }
.problem-right p, .section-heading p:last-child, .feature-intro>p:not(.eyebrow), .offer-copy>p:not(.eyebrow), .demo-booking-copy>p:not(.eyebrow) { font-size: 16px; line-height: 1.6; }
.problem-cards article, .steps article, .metrics-tiles>div { border-radius: 12px; box-shadow: none; }
.problem-cards { grid-template-columns: 1.15fr .85fr; }
.problem-cards article:nth-child(3) { grid-column: 1 / -1; display: grid; grid-template-columns: 48px minmax(0, 240px) 1fr; align-items: center; gap: 24px; min-height: 0; }
.problem-cards article:nth-child(3) .simple-icon, .problem-cards article:nth-child(3) h3 { margin: 0; }
.problem-cards h3, .feature-list h3 { font-size: 18px; }
.problem-cards p, .steps p, .feature-list p, .local-points p, .faq-list details p { font-size: 14px; line-height: 1.6; }
.steps h3 { font-size: 20px; }
.tagline-reveal { padding: 96px 0; background: #153b40; color: #fff; }
.tagline-reveal p { max-width: 900px; margin: 0; font-size: clamp(36px, 4vw, 60px); line-height: 1.08; font-weight: 600; letter-spacing: -.045em; text-wrap: balance; }
.tagline-reveal.is-ready .tagline-word { opacity: .3; transition: opacity .5s cubic-bezier(.22,1,.36,1); }
.tagline-reveal.is-ready .tagline-word.is-visible { opacity: 1; }
.feature-list article { gap: 24px; padding: 32px 0; }
.feature-symbol { border-radius: 8px; }
.offers { background: #e9eee8; color: #153b40; }
.offer-copy>p:not(.eyebrow), .check-list li { color: #415f62; }
.check-list li { font-size: 14px; }
.offer-demo { box-shadow: 0 20px 48px #153b401a; }
.offer-demo-main>p, .bundle-row, .bundle-total, .offer-insight p, .offer-demo-foot { font-size: 12px; }
.demo-booking-copy { max-width: 520px; }
.demo-form { border-color: #dce7e3; border-radius: 16px; box-shadow: 0 16px 40px #153b4010; }
.demo-form label { font-size: 12px; }
.demo-form input:not([type=checkbox]), .demo-form textarea { font-family: Manrope, sans-serif; font-size: 14px; }
.contact-form .contact-honeypot { left: 0; right: auto; top: 0; bottom: auto; clip-path: inset(50%); opacity: 0; pointer-events: none; }
.final-cta { background: #ffea00; }
.final-cta .btn-mint { background: #143e44; color: white; border-color: #143e44; }

html[dir="rtl"] body, html[dir="rtl"] button, html[dir="rtl"] input, html[dir="rtl"] textarea, html[dir="rtl"] select { font-family: Cairo, sans-serif; }
html[dir="rtl"] h1, html[dir="rtl"] h2, html[dir="rtl"] h3, html[dir="rtl"] .eyebrow, html[dir="rtl"] .btn { font-family: Cairo, sans-serif; letter-spacing: 0; }
html[dir="rtl"] .hero h1 { line-height: 1.25; }
html[dir="rtl"] .hero-lead { line-height: 1.85; }
html[dir="rtl"] .dashboard-card, html[dir="rtl"] .floating-offer { transform: none; }
html[dir="rtl"] .floating-offer { right: auto; left: -8px; }
html[dir="rtl"] .tagline-reveal p { line-height: 1.35; letter-spacing: 0; }
html[dir="rtl"] .demo-form input:not([type=checkbox]), html[dir="rtl"] .demo-form textarea { font-family: Cairo, sans-serif; }

@media (max-width: 1050px) {
  .primary-nav { gap: 12px; font-size: 12px; }
  .hero-grid { gap: 28px; }
}
@media (max-width: 830px) {
  .site-header { top: 8px; }
  .nav-wrap { height: 64px; }
  .primary-nav { top: 72px; left: 0; right: 0; height: calc(100dvh - 80px); overflow: auto; padding: 24px; background: #f8f8f2f5; backdrop-filter: blur(18px); border-radius: 0 0 16px 16px; }
  .primary-nav a { font-size: 18px; padding: 16px 8px; }
  .menu-toggle { cursor: pointer; }
  .menu-toggle span { transition: transform .5s cubic-bezier(.22,1,.36,1), opacity .3s cubic-bezier(.22,1,.36,1); }
  .menu-toggle[aria-expanded=true] span:first-child { transform: translateY(6px) rotate(45deg); }
  .menu-toggle[aria-expanded=true] span:nth-child(2) { opacity: 0; }
  .menu-toggle[aria-expanded=true] span:last-child { transform: translateY(-6px) rotate(-45deg); }
  .hero-grid { grid-template-columns: 1fr; gap: 48px; }
  .hero-visual { max-width: 620px; }
  .section-pad { padding: 80px 0; }
}
@media (max-width: 650px) {
  .announcement { font-size: 10px; }
  .hero { padding-top: 56px; }
  .hero h1 { font-size: clamp(36px, 10vw, 48px); line-height: 1.05; }
  .hero-lead { font-size: 16px; }
  .hero-actions { align-items: flex-start; flex-direction: column; }
  .hero-action-note { max-width: none; }
  .hero-grid { padding-bottom: 56px; }
  .hero-visual { min-height: 390px; }
  .floating-offer { right: 0; }
  .section-pad { padding: 64px 0; }
  .demo-form { padding: 20px; }
  .tagline-reveal { padding: 64px 0; }
  .tagline-reveal p { font-size: 36px; }
  .problem-cards { grid-template-columns: 1fr; }
  .problem-cards article:nth-child(3) { grid-column: auto; display: block; }
  .problem-cards article:nth-child(3) .simple-icon { margin-bottom: 24px; }
  .problem-cards article:nth-child(3) h3 { margin-bottom: 12px; }
  html[dir="rtl"] .floating-offer { left: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .btn, .menu-toggle span { transition: none; }
  .tagline-reveal.is-ready .tagline-word { opacity: 1; transition: none; }
}
