:root{
  /* Brand: EHBA luxury palette */
  --ehba-primary:#DA1352;
  --ehba-primary-dark:#A90D3F;
  --ehba-primary-light:#F7D0DC;
  --ehba-dark:#171318;
  --ehba-ivory:#FFF9F7;
  --ehba-white:#FFFFFF;
  --ehba-soft-gray:#F4F2F3;
  --ehba-text:#5F5960;
  --ehba-border:#E8E1E4;
  --ehba-primary-rgb:218,19,82;
  --ehba-primary-dark-rgb:169,13,63;

  /* Legacy semantic aliases retained for existing theme components. */
  --ehba-burgundy:var(--ehba-primary);
  --ehba-deep-burgundy:var(--ehba-primary-dark);
  --ehba-rose-gold:#C79A6D;
  --ehba-blush:var(--ehba-primary-light);
  --ehba-cream:var(--ehba-ivory);
  --ehba-warm-ivory:var(--ehba-ivory);
  --ehba-soft-blush:var(--ehba-primary-light);
  --ehba-charcoal:var(--ehba-dark);
  --ehba-gray:var(--ehba-text);
  --ehba-text-muted:var(--ehba-text);
  --ehba-surface:rgba(255,255,255,.90);
  --ehba-surface-strong:#FFFFFF;
  --ehba-line:var(--ehba-border);

  /* Typography */
  --font-heading:"Playfair Display", Georgia, serif;
  --font-body:"Inter", "Plus Jakarta Sans", "Segoe UI", Arial, sans-serif;
  --font-size-body:1rem;
  --line-height-body:1.7;
  --line-height-heading:1.2;
  --letter-spacing-heading:0.01em;

  /* Layout */
  --container-width:1320px;
  --content-width:850px;
  --section-padding:100px;

  /* Radius */
  --radius-sm:8px;
  --radius-md:16px;
  --radius-lg:24px;
  --radius-pill:999px;

  /* Shadows */
  --shadow-soft:0 16px 36px rgba(var(--ehba-primary-dark-rgb),.08);
  --shadow-card:0 24px 60px rgba(0,0,0,.12);
  --glass-surface:rgba(255,255,255,.76);
  --glass-border:rgba(255,255,255,.82);
  --glass-shadow:0 28px 70px rgba(0,0,0,.10);

  /* Elevations */
  --elev-1:var(--shadow-soft);
  --elev-2:var(--shadow-card);
  --transition-base:180ms ease;
}

/* Global reset and base */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
html.reduced-motion{scroll-behavior:auto}

body{
  margin:0;
  font-family:var(--font-body);
  font-size:var(--font-size-body);
  line-height:var(--line-height-body);
  background:var(--ehba-warm-ivory);
  color:var(--ehba-charcoal);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font-family:inherit}
p{margin:0 0 1rem}

/* Accessibility */
:focus{outline:3px solid var(--ehba-rose-gold);outline-offset:3px}
.skip-link{position:absolute;left:-9999px;top:auto;z-index:9999}
.skip-link:focus{left:1rem;top:1rem;background:var(--ehba-deep-burgundy);color:var(--ehba-white);padding:0.75rem 1rem;border-radius:var(--radius-sm);text-decoration:none}
.screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* Reduced motion preference */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{transition:none !important;animation-duration:0.001ms !important;animation-iteration-count:1 !important}
}

/* Headings */
h1,h2,h3,h4,h5{font-family:var(--font-heading);color:var(--ehba-deep-burgundy);margin:0 0 1rem;line-height:var(--line-height-heading);letter-spacing:var(--letter-spacing-heading)}

/* Utility text */
.lead{color:var(--ehba-text-muted);font-size:1.0625rem;line-height:1.7}

/* Constrain media inside content blocks */
.entry-content img, .wp-block-image img{height:auto;max-width:100%}

/* Ensure buttons inherit font smoothing and weight */
button, .ehba-button{font-weight:600}
