/* Public site v2 — design tokens.
   Ported from docs/mockups/PublicDesignSystem/tokens/{colors,fonts,typography,spacing,links}.css.
   Allura/Inter/Mukta @font-face rules live in brand/brand-kit.css (Tier 0,
   S227-EXEC-1 Seq #18) — load that first. Playfair Display isn't part of
   brand-kit.css's universal 3-face set (it's a Public-Website-specific
   display face), so it stays here as this Tier-1 file's own addition. */

@font-face{font-family:'Playfair Display';src:url("../../brand/fonts/PlayfairDisplay-700-latin.9401d0214a93.woff2") format('woff2');font-weight:700;font-style:normal;font-display:swap}

:root{
--navy-900:oklch(21% 0.05 250);
--navy-700:oklch(32% 0.045 250);
--navy-500:oklch(45% 0.04 250);
--gold-600:oklch(60% 0.11 68);
--gold-500:oklch(68% 0.11 68);
--gold-400:oklch(76% 0.1 70);
--gold-100:oklch(94% 0.035 75);
--terracotta-600:oklch(48% 0.15 28);
--terracotta-500:oklch(54% 0.15 28);
--terracotta-400:oklch(63% 0.14 30);
--terracotta-100:oklch(93% 0.035 35);
--cream-100:oklch(96% 0.01 80);
--cream-50:oklch(98% 0.006 80);
--white:oklch(100% 0 0);
--sage-500:oklch(51% 0.07 145);
--sage-100:oklch(93% 0.025 145);
--red-500:oklch(53% 0.17 25);
--red-100:oklch(94% 0.035 25);
--gray-300:oklch(88% 0.006 250);
--gray-500:oklch(56% 0.006 250);
--whatsapp-green:oklch(50% 0.13 152);

--surface-page:var(--cream-100);
--surface-card:var(--white);
--surface-sunken:var(--cream-50);
--surface-navy:var(--navy-900);
--text-primary:var(--navy-900);
--text-secondary:var(--navy-700);
--text-muted:var(--gray-500);
--text-on-navy:var(--cream-50);
--text-on-gold:var(--navy-900);
--border-default:var(--gray-300);
--border-strong:var(--navy-500);
--action-primary:var(--gold-500);
--action-primary-hover:var(--gold-600);
--action-secondary:var(--terracotta-500);
--action-secondary-hover:var(--terracotta-600);
--focus-ring:var(--terracotta-500);
--status-success-bg:var(--sage-100);
--status-success-fg:var(--sage-500);
--status-error-bg:var(--red-100);
--status-error-fg:var(--red-500);
--status-highlight-bg:var(--gold-100);
--status-highlight-fg:var(--terracotta-600);
--action-whatsapp:var(--whatsapp-green);

--font-serif:'Playfair Display',Georgia,serif;
--font-sans:'Inter',-apple-system,sans-serif;
--font-script:'Allura',cursive;
--text-display:clamp(2.5rem,4vw,3.5rem);
--text-h1:2.25rem;
--text-h2:1.75rem;
--text-h3:1.375rem;
--text-h4:1.125rem;
--text-body-lg:1.0625rem;
--text-body:0.9375rem;
--text-body-sm:0.8125rem;
--text-caption:0.75rem;
--lh-tight:1.15;
--lh-heading:1.25;
--lh-body:1.55;
--lh-snug:1.2;
--lh-loose:1.6;
--lh-relaxed:1.8;
--ls-heading:-0.01em;
--ls-caption:0.02em;

--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;
--radius-sm:0.25rem;--radius-md:0.375rem;--radius-lg:0.5rem;--radius-xl:0.875rem;--radius-pill:62.4375rem;
--shadow-card:0 0.0625rem 0.125rem oklch(21% 0.05 250 / 0.06),0 0.375rem 1rem oklch(21% 0.05 250 / 0.10);
--shadow-elevated:0 0.25rem 0.5rem oklch(21% 0.05 250 / 0.08),0 1rem 2rem oklch(21% 0.05 250 / 0.14);
--shadow-focus:0 0 0 0.1875rem oklch(54% 0.15 28 / 0.28);
--aspect-square:1/1;
--aspect-video:16/9;
--aspect-portrait:3/4;
--aspect-wide:21/9;
--ease-standard:cubic-bezier(.4,0,.2,1);
--dur-fast:120ms;
--dur-base:200ms;
/* Sticky site header height (S231-EXEC-4) — one source for the header's min-height and every sticky element that must clear it (tabs bar, booking rail, sidebars). */
--header-height:3.5rem;
}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important;scroll-behavior:auto!important}
}

h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);color:var(--text-primary);font-weight:600;line-height:var(--lh-heading);letter-spacing:var(--ls-heading);margin:0}
h1{font-size:var(--text-h1)}
h2{font-size:var(--text-h2)}
h3{font-size:var(--text-h3)}
h4{font-size:var(--text-h4)}
h5{font-size:var(--text-body-lg);font-family:var(--font-sans);font-weight:700}
h6{font-size:var(--text-body);font-family:var(--font-sans);font-weight:700;text-transform:uppercase;letter-spacing:var(--ls-caption)}
p{font-family:var(--font-sans);font-size:var(--text-body);color:var(--text-secondary);line-height:var(--lh-body);margin:0}
html,body{line-height:var(--lh-body);margin:0}
body{background:var(--surface-page);overflow-x:hidden;font-family:var(--font-sans)}
button,input,select,textarea{font-family:var(--font-sans);line-height:var(--lh-body)}

a{color:var(--action-secondary);text-decoration:underline;text-decoration-color:color-mix(in oklch,var(--action-secondary) 40%,transparent);transition:color var(--dur-fast) var(--ease-standard)}
a:hover{color:var(--action-secondary-hover)}
