:root {
  --color-background: #f7eee6; --color-surface: #fffaf5; --color-surface-soft: #f0dfd8; --color-blush: #d9b4ae;
  --color-primary: #7b554f; --color-primary-hover: #67443f; --color-text: #2d211f; --color-text-muted: #6e5d59;
  --color-border: rgba(123, 85, 79, 0.2); --color-focus: #b96f62;
  --font-display: "Antic Didone", serif; --font-heading: "Abhaya Libre", serif; --font-body: "Trirong", serif; --font-accent: "Cormorant SC", serif; --font-functional: "Anek Latin", sans-serif;
  --font-size-xs: clamp(0.88rem, 0.86rem + 0.06vw, 0.93rem); --font-size-sm: clamp(0.9rem, 0.87rem + 0.1vw, 0.98rem);
  --font-size-body: clamp(1rem, 0.98rem + 0.12vw, 1.08rem);
  --font-size-nav: clamp(0.88rem, 0.86rem + 0.08vw, 0.96rem); --font-size-button: clamp(0.9rem, 0.88rem + 0.08vw, 0.98rem);
  --font-size-label: clamp(0.76rem, 0.73rem + 0.1vw, 0.84rem); --font-size-h6: clamp(1rem, 0.96rem + 0.18vw, 1.15rem);
  --font-size-h5: clamp(1.08rem, 1.02rem + 0.25vw, 1.28rem); --font-size-h4: clamp(1.2rem, 1.1rem + 0.35vw, 1.5rem);
  --font-size-h3: clamp(1.5rem, 1.38rem + 0.35vw, 1.85rem); --font-size-h2: clamp(2rem, 1.65rem + 1vw, 2.8rem);
  --font-size-h1: clamp(3rem, 2.55rem + 1.5vw, 4rem); --font-size-card-heading: clamp(1.55rem, 1.42rem + 0.35vw, 1.9rem);
  --line-height-heading: 1.08; --line-height-body: 1.65; --line-height-relaxed: 1.7;
  --letter-spacing-label: 0.14em; --letter-spacing-nav: 0.02em; --letter-spacing-heading: -0.01em;
  --space-2: 0.5rem; --space-3: 0.75rem; --space-4: 1rem; --space-5: 1.5rem; --space-6: 2rem;
  --space-7: 3rem; --space-9: 5rem;
  --flow-sm: 0.75rem; --flow-lg: 1.5rem; --flow-xl: 2rem; --flow-2xl: 3rem;
  --container-wide: 90rem; --container-standard: 77.5rem; --container-content: 60rem; --container: var(--container-standard);
  --measure-narrow: 42ch; --measure-reading: 62ch; --measure-wide: 74ch;
  --section-space-sm: clamp(2.75rem, 2.35rem + 1.5vw, 4rem); --section-space-md: clamp(3.5rem, 2.9rem + 2.2vw, 5rem);
  --radius-control: 0.75rem; --radius-card: 1.125rem; --radius-large: 1.5rem; --radius-pill: 999px;
  --shadow-soft: 0 1.25rem 3.5rem rgba(59, 41, 38, 0.08); --motion-fast: 220ms; --motion-standard: 380ms;
  --animation-startup-pause: 0s; --animation-support-duration: .5s; --animation-content-duration: .6s;
  --animation-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
}
*, *::before, *::after { box-sizing: border-box; }
html { color-scheme: light; scroll-behavior: smooth; text-rendering: optimizeLegibility; }
body { margin: 0; overflow-x: clip; color: var(--color-text); background: var(--color-background); font-family: var(--font-body); font-size: var(--font-size-body); line-height: var(--line-height-body); font-optical-sizing: auto; font-synthesis: none; }
img, picture { max-width: 100%; } img { display: block; } a { color: inherit; } button, input, textarea, select { font: inherit; } button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid var(--color-focus); outline-offset: 4px; }
h1 { margin-top: 0; font-family: var(--font-display); font-weight: 400; line-height: var(--line-height-heading); letter-spacing: var(--letter-spacing-heading); text-wrap: balance; hyphens: none; }
h2, h3, h4, h5, h6 { margin-top: 0; font-family: var(--font-heading); font-weight: 400; line-height: var(--line-height-heading); letter-spacing: var(--letter-spacing-heading); text-wrap: balance; hyphens: none; }
h1 { font-size: var(--font-size-h1); } h2 { font-size: var(--font-size-h2); } h3 { font-size: var(--font-size-h3); } h4 { font-size: var(--font-size-h4); } h5 { font-size: var(--font-size-h5); } h6 { font-size: var(--font-size-h6); } p { margin-top: 0; }
strong, b { font-weight: 400; }
.container { width: min(calc(100% - 2.5rem), var(--container)); margin-inline: auto; }
.editorial { max-width: var(--measure-reading); }
.section { padding-block: var(--section-space-md); }
.eyebrow { margin: 0 0 var(--flow-sm); color: var(--color-primary); font-family: var(--font-accent); font-size: var(--font-size-label); font-weight: 500; letter-spacing: var(--letter-spacing-label); text-transform: uppercase; }
[id] { scroll-margin-top: 7rem; }
@media (max-width:47.99rem) {
  :root { --mobile-header-height: calc(4rem + env(safe-area-inset-top)); --font-size-xs: clamp(.88rem,3.8vw,.93rem); --font-size-sm: clamp(.9rem,4vw,.95rem); --font-size-h1: clamp(2.15rem,8vw,2.75rem); --font-size-h2: clamp(1.65rem,6.5vw,2.15rem); --font-size-h3: clamp(1.4rem,5.5vw,1.7rem); --font-size-card-heading: clamp(1.4rem,5.5vw,1.7rem); --section-space-sm: clamp(2.25rem,8vw,3.25rem); --radius-card: 1rem; --radius-large: 1.15rem; }
  html { scroll-padding-top: calc(var(--mobile-header-height) + .5rem); }
  body { min-width: 0; font-size: 1rem; line-height: 1.6; }
  .container { width: min(calc(100% - 2rem),var(--container)); }
  .section { padding-block: var(--section-space-sm); }
  h1 { font-size: var(--font-size-h1); }
  h2 { font-size: var(--font-size-h2); }
  input, textarea, select { max-width: 100%; font-size: 1rem; }
  [id] { scroll-margin-top: calc(var(--mobile-header-height) + .75rem); }
}
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 100; top: var(--space-3); left: var(--space-3); padding: var(--space-3) var(--space-4); border-radius: var(--radius-control); color: var(--color-surface); background: var(--color-primary); transform: translateY(-150%); } .skip-link:focus { transform: none; }
.animation-enabled [data-animate-block] { opacity: 0; transform: translateY(.5rem); will-change: opacity, transform; }
.animation-enabled [data-animate-block].is-animated { opacity: 1; transform: none; transition-property: opacity, transform; transition-duration: var(--animation-content-duration); transition-delay: var(--animation-delay, 0s); transition-timing-function: var(--animation-ease); }
.animation-enabled [data-animate-block].is-initial-load.is-animated { transition-delay: calc(var(--animation-startup-pause) + var(--animation-delay, 0s)); }
.animation-enabled [data-animate-block="support"].is-animated { transition-duration: var(--animation-support-duration); }
.animation-enabled [data-animate-block].is-animation-skipped { opacity: 1; transform: none; transition: none; will-change: auto; }
@media (max-width:47.99rem) {
  .animation-enabled [data-animate-block].is-animated { transition-duration: .5s; transition-delay: min(var(--animation-delay,0s),.16s); }
}
@media (min-width: 48rem) { .container { width: min(calc(100% - clamp(5rem, 7vw, 9rem)), var(--container)); } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; } .animation-enabled [data-animate-block] { opacity: 1; transform: none; transition: none; } }
@media print { .site-header, .site-footer, .skip-link { display: none !important; } body { color: #000; background: #fff; } }
