/*! tailwindcss v4.3.1 | MIT License | https://tailwindcss.com */
@layer properties;
@layer theme, base;
@layer theme {
  :root, :host {
    --font-sans: ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol',
    'Noto Color Emoji';
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New',
    monospace;
    --spacing: 0.25rem;
    --text-xs: 0.75rem;
    --text-xs--line-height: calc(1 / 0.75);
    --text-sm: 0.875rem;
    --text-sm--line-height: calc(1.25 / 0.875);
    --text-lg: 1.125rem;
    --text-lg--line-height: calc(1.75 / 1.125);
    --text-xl: 1.25rem;
    --text-xl--line-height: calc(1.75 / 1.25);
    --text-2xl: 1.5rem;
    --text-2xl--line-height: calc(2 / 1.5);
    --text-4xl: 2.25rem;
    --text-4xl--line-height: calc(2.5 / 2.25);
    --font-weight-semibold: 600;
    --leading-tight: 1.25;
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
  }
}
@layer base {
  *, ::after, ::before, ::backdrop, ::file-selector-button {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0 solid;
  }
  html, :host {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji');
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }
  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }
  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }
  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }
  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }
  b, strong {
    font-weight: bolder;
  }
  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }
  small {
    font-size: 80%;
  }
  sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  sub {
    bottom: -0.25em;
  }
  sup {
    top: -0.5em;
  }
  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }
  :-moz-focusring {
    outline: auto;
  }
  progress {
    vertical-align: baseline;
  }
  summary {
    display: list-item;
  }
  ol, ul, menu {
    list-style: none;
  }
  img, svg, video, canvas, audio, iframe, embed, object {
    display: block;
    vertical-align: middle;
  }
  img, video {
    max-width: 100%;
    height: auto;
  }
  button, input, select, optgroup, textarea, ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    border-radius: 0;
    background-color: transparent;
    opacity: 1;
  }
  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }
  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }
  ::file-selector-button {
    margin-inline-end: 4px;
  }
  ::placeholder {
    opacity: 1;
  }
  @supports (not (-webkit-appearance: -apple-pay-button))  or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentcolor;
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }
  textarea {
    resize: vertical;
  }
  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }
  ::-webkit-datetime-edit {
    display: inline-flex;
  }
  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }
  ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }
  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }
  :-moz-ui-invalid {
    box-shadow: none;
  }
  button, input:where([type='button'], [type='reset'], [type='submit']), ::file-selector-button {
    appearance: button;
  }
  ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
    height: auto;
  }
  [hidden]:where(:not([hidden='until-found'])) {
    display: none !important;
  }
}
.relative {
  position: relative;
}
.col-span-2 {
  grid-column: span 2 / span 2;
}
.mx-auto {
  margin-inline: auto;
}
.mt-2 {
  margin-top: calc(var(--spacing) * 2);
}
.mt-3 {
  margin-top: calc(var(--spacing) * 3);
}
.mt-4 {
  margin-top: calc(var(--spacing) * 4);
}
.mt-5 {
  margin-top: calc(var(--spacing) * 5);
}
.mt-10 {
  margin-top: calc(var(--spacing) * 10);
}
.mb-7 {
  margin-bottom: calc(var(--spacing) * 7);
}
.mb-8 {
  margin-bottom: calc(var(--spacing) * 8);
}
.flex {
  display: flex;
}
.grid {
  display: grid;
}
.inline-flex {
  display: inline-flex;
}
.h-\[170px\] {
  height: 170px;
}
.h-\[180px\] {
  height: 180px;
}
.h-\[190px\] {
  height: 190px;
}
.h-\[220px\] {
  height: 220px;
}
.h-\[320px\] {
  height: 320px;
}
.w-full {
  width: 100%;
}
.max-w-\[8ch\] {
  max-width: 8ch;
}
.max-w-\[11ch\] {
  max-width: 11ch;
}
.max-w-\[28rem\] {
  max-width: 28rem;
}
.max-w-\[34rem\] {
  max-width: 34rem;
}
.max-w-\[36rem\] {
  max-width: 36rem;
}
.max-w-\[40rem\] {
  max-width: 40rem;
}
.max-w-\[620px\] {
  max-width: 620px;
}
.max-w-\[1180px\] {
  max-width: 1180px;
}
.grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.flex-wrap {
  flex-wrap: wrap;
}
.items-center {
  align-items: center;
}
.items-end {
  align-items: flex-end;
}
.justify-between {
  justify-content: space-between;
}
.gap-1 {
  gap: var(--spacing);
}
.gap-2 {
  gap: calc(var(--spacing) * 2);
}
.gap-3 {
  gap: calc(var(--spacing) * 3);
}
.gap-4 {
  gap: calc(var(--spacing) * 4);
}
.gap-5 {
  gap: calc(var(--spacing) * 5);
}
.gap-6 {
  gap: calc(var(--spacing) * 6);
}
.gap-7 {
  gap: calc(var(--spacing) * 7);
}
.gap-10 {
  gap: calc(var(--spacing) * 10);
}
.overflow-hidden {
  overflow: hidden;
}
.rounded-\[6px\] {
  border-radius: 6px;
}
.rounded-\[10px\] {
  border-radius: 10px;
}
.border {
  border-style: var(--tw-border-style);
  border-width: 1px;
}
.border-t {
  border-top-style: var(--tw-border-style);
  border-top-width: 1px;
}
.border-t-2 {
  border-top-style: var(--tw-border-style);
  border-top-width: 2px;
}
.border-b {
  border-bottom-style: var(--tw-border-style);
  border-bottom-width: 1px;
}
.border-l {
  border-left-style: var(--tw-border-style);
  border-left-width: 1px;
}
.border-\[var\(--accent\)\] {
  border-color: var(--accent);
}
.border-\[var\(--border\)\] {
  border-color: var(--border);
}
.bg-\[var\(--surface\)\] {
  background-color: var(--surface);
}
.object-cover {
  object-fit: cover;
}
.p-5 {
  padding: calc(var(--spacing) * 5);
}
.p-6 {
  padding: calc(var(--spacing) * 6);
}
.px-4 {
  padding-inline: calc(var(--spacing) * 4);
}
.px-5 {
  padding-inline: calc(var(--spacing) * 5);
}
.py-2 {
  padding-block: calc(var(--spacing) * 2);
}
.py-10 {
  padding-block: calc(var(--spacing) * 10);
}
.py-14 {
  padding-block: calc(var(--spacing) * 14);
}
.py-16 {
  padding-block: calc(var(--spacing) * 16);
}
.pt-4 {
  padding-top: calc(var(--spacing) * 4);
}
.pt-8 {
  padding-top: calc(var(--spacing) * 8);
}
.pb-1 {
  padding-bottom: var(--spacing);
}
.pb-8 {
  padding-bottom: calc(var(--spacing) * 8);
}
.pl-6 {
  padding-left: calc(var(--spacing) * 6);
}
.text-2xl {
  font-size: var(--text-2xl);
  line-height: var(--tw-leading, var(--text-2xl--line-height));
}
.text-4xl {
  font-size: var(--text-4xl);
  line-height: var(--tw-leading, var(--text-4xl--line-height));
}
.text-lg {
  font-size: var(--text-lg);
  line-height: var(--tw-leading, var(--text-lg--line-height));
}
.text-sm {
  font-size: var(--text-sm);
  line-height: var(--tw-leading, var(--text-sm--line-height));
}
.text-xl {
  font-size: var(--text-xl);
  line-height: var(--tw-leading, var(--text-xl--line-height));
}
.text-xs {
  font-size: var(--text-xs);
  line-height: var(--tw-leading, var(--text-xs--line-height));
}
.text-\[clamp\(2\.35rem\,6vw\,4\.4rem\)\] {
  font-size: clamp(2.35rem, 6vw, 4.4rem);
}
.leading-6 {
  --tw-leading: calc(var(--spacing) * 6);
  line-height: calc(var(--spacing) * 6);
}
.leading-7 {
  --tw-leading: calc(var(--spacing) * 7);
  line-height: calc(var(--spacing) * 7);
}
.leading-8 {
  --tw-leading: calc(var(--spacing) * 8);
  line-height: calc(var(--spacing) * 8);
}
.leading-\[\.98\] {
  --tw-leading: .98;
  line-height: .98;
}
.leading-tight {
  --tw-leading: var(--leading-tight);
  line-height: var(--leading-tight);
}
.font-semibold {
  --tw-font-weight: var(--font-weight-semibold);
  font-weight: var(--font-weight-semibold);
}
.tracking-\[-\.03em\] {
  --tw-tracking: -.03em;
  letter-spacing: -.03em;
}
.tracking-\[-\.055em\] {
  --tw-tracking: -.055em;
  letter-spacing: -.055em;
}
.tracking-\[-0\.03em\] {
  --tw-tracking: -0.03em;
  letter-spacing: -0.03em;
}
.tracking-\[\.08em\] {
  --tw-tracking: .08em;
  letter-spacing: .08em;
}
.text-\[var\(--accent-text\)\] {
  color: var(--accent-text);
}
.text-\[var\(--muted\)\] {
  color: var(--muted);
}
.uppercase {
  text-transform: uppercase;
}
.before\:absolute {
  &::before {
    content: var(--tw-content);
    position: absolute;
  }
}
.before\:top-8 {
  &::before {
    content: var(--tw-content);
    top: calc(var(--spacing) * 8);
  }
}
.before\:-left-\[34px\] {
  &::before {
    content: var(--tw-content);
    left: calc(34px * -1);
  }
}
.before\:h-3 {
  &::before {
    content: var(--tw-content);
    height: calc(var(--spacing) * 3);
  }
}
.before\:w-3 {
  &::before {
    content: var(--tw-content);
    width: calc(var(--spacing) * 3);
  }
}
.before\:rounded-full {
  &::before {
    content: var(--tw-content);
    border-radius: calc(infinity * 1px);
  }
}
.before\:bg-\[var\(--accent\)\] {
  &::before {
    content: var(--tw-content);
    background-color: var(--accent);
  }
}
.md\:mt-8 {
  @media (width >= 48rem) {
    margin-top: calc(var(--spacing) * 8);
  }
}
.md\:mt-16 {
  @media (width >= 48rem) {
    margin-top: calc(var(--spacing) * 16);
  }
}
.md\:mt-\[76px\] {
  @media (width >= 48rem) {
    margin-top: 76px;
  }
}
.md\:h-\[240px\] {
  @media (width >= 48rem) {
    height: 240px;
  }
}
.md\:h-\[410px\] {
  @media (width >= 48rem) {
    height: 410px;
  }
}
.md\:h-fit {
  @media (width >= 48rem) {
    height: fit-content;
  }
}
.md\:grid-cols-3 {
  @media (width >= 48rem) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.md\:grid-cols-\[\.8fr_1\.2fr\] {
  @media (width >= 48rem) {
    grid-template-columns: .8fr 1.2fr;
  }
}
.md\:grid-cols-\[1\.25fr_\.75fr\] {
  @media (width >= 48rem) {
    grid-template-columns: 1.25fr .75fr;
  }
}
.md\:grid-cols-\[1fr_auto\] {
  @media (width >= 48rem) {
    grid-template-columns: 1fr auto;
  }
}
.md\:grid-cols-\[minmax\(0\,760px\)_minmax\(210px\,1fr\)\] {
  @media (width >= 48rem) {
    grid-template-columns: minmax(0,760px) minmax(210px,1fr);
  }
}
.md\:items-center {
  @media (width >= 48rem) {
    align-items: center;
  }
}
.md\:p-7 {
  @media (width >= 48rem) {
    padding: calc(var(--spacing) * 7);
  }
}
.md\:px-7 {
  @media (width >= 48rem) {
    padding-inline: calc(var(--spacing) * 7);
  }
}
.md\:py-16 {
  @media (width >= 48rem) {
    padding-block: calc(var(--spacing) * 16);
  }
}
.md\:py-24 {
  @media (width >= 48rem) {
    padding-block: calc(var(--spacing) * 24);
  }
}
.md\:pt-10 {
  @media (width >= 48rem) {
    padding-top: calc(var(--spacing) * 10);
  }
}
.md\:pb-10 {
  @media (width >= 48rem) {
    padding-bottom: calc(var(--spacing) * 10);
  }
}
.md\:pl-9 {
  @media (width >= 48rem) {
    padding-left: calc(var(--spacing) * 9);
  }
}
.md\:before\:-left-\[46px\] {
  @media (width >= 48rem) {
    &::before {
      content: var(--tw-content);
      left: calc(46px * -1);
    }
  }
}
@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-leading {
  syntax: "*";
  inherits: false;
}
@property --tw-font-weight {
  syntax: "*";
  inherits: false;
}
@property --tw-tracking {
  syntax: "*";
  inherits: false;
}
@property --tw-content {
  syntax: "*";
  initial-value: "";
  inherits: false;
}
@layer properties {
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
    *, ::before, ::after, ::backdrop {
      --tw-border-style: solid;
      --tw-leading: initial;
      --tw-font-weight: initial;
      --tw-tracking: initial;
      --tw-content: "";
    }
  }
}

/* Platform-owned font declarations. No remote fetch is performed by the builder. */

:root { --bg:#f7f3ee; --surface:#fff; --text:#17233b; --muted:#666f81; --accent:#e56b5d; --on-accent:#292929; --accent-text:#b54d44; --border:#ded9d2; }
[data-theme="dark"] { --bg:#111827; --surface:#1b263b; --text:#f6f1ea; --muted:#aab3c2; --accent:#e9786a; --on-accent:#151b2b; --accent-text:#ff9d91; --border:#334155; }
body { font-family:Inter,sans-serif; background:var(--bg); color:var(--text); } h1,h2,h3 { font-family:"Playfair Display",serif; }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; } a { color:inherit; }
/* Header behaviour and component styling. */
.site-header{position:sticky;top:0;z-index:20;background:var(--surface)}.header-inner{max-width:1180px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1rem 1.5rem;background:var(--surface);border-bottom:1px solid var(--border)}.brand{text-decoration:none;color:var(--text);font-family:Inter,sans-serif;font-weight:700;letter-spacing:-.04em;white-space:nowrap}.nav{display:flex;align-items:center;gap:2rem}.nav-links{gap:1.5rem}.nav-link{color:var(--text);text-decoration:none}.nav-link:hover{color:var(--accent-text)}.nav-controls{align-items:center;gap:1rem}.theme-toggle{color:var(--text);border:1px solid var(--border);background:var(--surface);border-radius:6px;min-height:40px;min-width:40px}.theme-toggle:hover{border-color:var(--accent)}.lang-switch{display:flex;gap:.7rem}.lang-switch a{color:var(--text);text-decoration:none}.lang-switch a:hover{color:var(--accent-text)}.mobile-menu{padding:1rem 1.25rem;background:var(--surface);border-top:1px solid var(--border)}.mobile-menu a{color:var(--text);text-decoration:none;padding:.65rem 0}.mobile-menu .nav-controls{padding-top:.75rem;border-top:1px solid var(--border)}
@media (min-width:769px){.nav-links{display:flex}.nav>.nav-controls{display:flex}.mobile-menu,.mobile-menu-btn{display:none}}
@media (max-width:768px){.nav-links{display:none}.nav>.nav-controls{display:none}.mobile-menu-btn{display:inline-flex}.header-inner{padding:.75rem 1.25rem}.brand{font-size:1.25rem}.nav{margin-left:auto;gap:.75rem}.mobile-menu .nav-controls{display:flex}}

footer.site-footer{--footer-ink:var(--text);--footer-soft:var(--muted);--footer-accent:var(--accent);--footer-line:var(--border);background:var(--bg);color:var(--footer-ink);padding:0 28px 28px}footer.site-footer .footer-inner{max-width:1180px;margin:0 auto;padding:64px 0 52px;display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(220px,1fr) minmax(120px,.55fr);gap:56px;align-items:start}footer.site-footer .footer-intro{display:grid;justify-items:start;gap:12px}footer.site-footer .footer-kicker{color:var(--footer-accent);font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}footer.site-footer .footer-intro .brand{font-size:1.25rem}footer.site-footer .footer-intro p{max-width:25rem;margin:4px 0 0;color:var(--footer-soft);font-size:.9rem;line-height:1.7}footer.site-footer .footer-navigation{min-width:0}footer.site-footer .footer-groups{display:flex;gap:44px;min-width:0}footer.site-footer .footer-groups section{min-width:0}footer.site-footer .footer-groups section h3{margin:0 0 16px;color:var(--footer-ink);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase}footer.site-footer .footer-links{display:grid;gap:11px}footer.site-footer .footer-links a{color:var(--footer-soft);font-size:.9rem;line-height:1.4;text-decoration:none;overflow-wrap:anywhere}footer.site-footer .footer-links a:hover{color:var(--footer-accent)}footer.site-footer .footer-links a:focus-visible{outline:2px solid var(--footer-accent);outline-offset:4px;border-radius:2px}footer.site-footer .footer-social{justify-self:end;min-width:0;color:var(--footer-soft)}footer.site-footer .social-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px}footer.site-footer .social-links a{color:var(--footer-soft)}footer.site-footer .social-links a:focus-visible{outline:2px solid var(--footer-accent);outline-offset:4px;border-radius:2px}footer.site-footer .footer-baseline{max-width:1180px;margin:0 auto;height:3px;background:var(--footer-line);overflow:hidden}footer.site-footer .footer-baseline span{display:block;width:22%;height:100%;background:var(--footer-accent)}@media (max-width:768px){footer.site-footer{padding:0 20px 20px}footer.site-footer .footer-inner{grid-template-columns:1fr;gap:34px;padding:46px 0 38px}footer.site-footer .footer-groups{flex-wrap:wrap;gap:28px}footer.site-footer .footer-social{justify-self:start}footer.site-footer .social-links{justify-content:flex-start}footer.site-footer .footer-baseline span{width:38%}}@media (prefers-reduced-motion:reduce){footer.site-footer .footer-links a{transition:none}}
/* Styled with utilities in the TSX. */