:root {
  color-scheme: light;

  --fe-color-ink: #0f172a;
  --fe-color-ink-soft: #334155;
  --fe-color-muted: #64748b;
  --fe-color-muted-soft: #94a3b8;
  --fe-color-surface: #ffffff;
  --fe-color-surface-soft: #f8fafc;
  --fe-color-surface-warm: #fbf8f3;
  --fe-color-line: #e2e8f0;
  --fe-color-line-strong: #dbe3ee;
  --fe-color-accent: #2f6ae5;
  --fe-color-accent-strong: #2458c7;
  --fe-color-accent-deep: #21325f;
  --fe-color-accent-deeper: #162345;
  --fe-color-brand: #c68a53;
  --fe-color-brand-strong: #ba7346;
  --fe-color-brand-sand: #dec09b;
  --fe-color-brand-cream: #f4e6d2;
  --fe-color-brand-soft: #f5efe4;
  --fe-color-success: #25d366;
  --fe-color-success-strong: #1da851;
  --fe-color-warning: #b45309;
  --fe-color-danger: #b91c1c;
  --fe-color-danger-soft: #fee2e2;
  --fe-color-dark-panel: #0f1d46;
  --fe-color-dark-panel-mid: #16295a;
  --fe-color-dark-panel-end: #1f305f;
  --fe-color-contact-dark: #1e293b;
  --fe-color-info-soft: #eef4ff;
  --fe-color-info-surface: #eff6ff;
  --fe-color-info-ink: #1f4aa6;
  --fe-color-info-line: rgba(31, 74, 166, 0.18);
  --fe-color-info-line-strong: rgba(31, 74, 166, 0.42);
  --fe-color-info-text-muted: #5e6f84;
  --fe-color-warm-ink: #8e6a2f;
  --fe-color-warm-surface: #fff7dc;
  --fe-color-warm-surface-soft: #fff8e8;
  --fe-color-warm-line: #f1d68b;
  --fe-color-warm-line-strong: #ddb767;
  --fe-color-success-soft: #f0fdf4;
  --fe-color-success-surface: #e6f4ea;
  --fe-color-overlay: rgba(15, 23, 42, 0.18);
  --fe-color-overlay-strong: rgba(15, 23, 42, 0.28);

  --fe-font-sans: "Manrope", sans-serif;
  --fe-font-serif: "Cormorant Garamond", serif;
  --fe-font-accent: "Montserrat", sans-serif;

  --fe-text-kicker: 0.76rem;
  --fe-text-wordmark-sub: 0.72rem;
  --fe-text-xs: 0.74rem;
  --fe-text-sm: 0.88rem;
  --fe-text-md: 1rem;
  --fe-text-lg: 1.12rem;
  --fe-text-xl: 1.4rem;
  --fe-text-wordmark: 1.28rem;
  --fe-text-card-title: 1.52rem;
  --fe-text-h1: clamp(1.9rem, 3.5vw, 3rem);
  --fe-text-title: clamp(2.15rem, 3.2vw, 3.35rem);
  --fe-text-lead: clamp(1.05rem, 1.75vw, 1.65rem);
  --fe-text-hero: var(--fe-text-h1);

  --fe-space-2: 0.5rem;
  --fe-space-3: 0.75rem;
  --fe-space-4: 1rem;
  --fe-space-5: 1.25rem;
  --fe-space-6: 1.5rem;
  --fe-space-8: 2rem;
  --fe-space-10: 2.5rem;
  --fe-space-12: 3rem;
  --fe-space-shell: clamp(1.4rem, 2.2vw, 2.6rem);
  --fe-space-contact-side: clamp(1.8rem, 2.7vw, 3rem);
  --fe-space-hero-inset: clamp(10px, 1.1vw, 14px);

  --fe-radius-xs: 10px;
  --fe-radius-btn: 11px;
  --fe-radius-card: 13px;
  --fe-radius-sm: 12px;
  --fe-radius-md: 16px;
  --fe-radius-contact: 20px;
  --fe-radius-shell: 23px;
  --fe-radius-lg: 24px;
  --fe-radius-pill: 999px;
  --fe-radius-modal: 20px;

  --fe-shadow-card-soft: 0 3px 8px rgba(15, 23, 42, 0.05);
  --fe-shadow-cta: 0 10px 20px rgba(47, 106, 229, 0.28);
  --fe-shadow-shell: 0 16px 38px rgba(15, 23, 42, 0.09);
  --fe-shadow-contact: 0 18px 34px rgba(15, 23, 42, 0.09);
  --fe-shadow-floating: 0 14px 28px rgba(15, 23, 42, 0.2);
  --fe-shadow-floating-hover: 0 16px 30px rgba(15, 23, 42, 0.24);
  --fe-shadow-hero: 0 22px 48px rgba(15, 23, 42, 0.2);
  --fe-shadow-story: 0 2px 6px rgba(15, 23, 42, 0.24);
  --fe-shadow-calc: 0 16px 32px rgba(15, 23, 42, 0.22);
  --fe-shadow-social: 0 10px 18px rgba(15, 23, 42, 0.2);
  --fe-shadow-modal: 0 24px 52px rgba(2, 6, 23, 0.3);
  --fe-shadow-field-popover: 0 12px 24px rgba(15, 23, 42, 0.1);
  --fe-shadow-card-strong: 0 16px 34px rgba(15, 23, 42, 0.1);
  --fe-shadow-calc-question: 0 14px 28px rgba(36, 88, 199, 0.08);
  --fe-shadow-calc-option: 0 8px 18px rgba(15, 23, 42, 0.06);
  --fe-shadow-calc-selected: 0 10px 22px rgba(31, 74, 166, 0.12);
  --fe-shadow-calc-warm-selected: 0 9px 18px rgba(163, 122, 30, 0.18);
  --fe-shadow-calc-dock: 0 10px 28px rgba(15, 23, 42, 0.1), 0 2px 8px rgba(15, 23, 42, 0.04);
  --fe-shadow-sm: var(--fe-shadow-card-soft);
  --fe-shadow-md: var(--fe-shadow-shell);
  --fe-shadow-lg: 0 28px 70px rgba(15, 23, 42, 0.14);

  --fe-width-page: 1280px;
  --fe-width-content: 1220px;
  --fe-width-reading: 760px;
  --fe-width-story-card: 190px;
  --fe-height-story-card: 340px;
  --fe-width-partner-card: 214px;

  --fe-z-base: 1;
  --fe-z-sticky: 50;
  --fe-z-overlay: 700;
  --fe-z-modal: 740;

  --fe-border: 1px solid var(--fe-color-line);
  --fe-page-bg: linear-gradient(180deg, #fbf8f3 0%, #ffffff 40%, #f8fafc 100%);
  --fe-first-fold-bg: linear-gradient(180deg, #f8fafc 0%, #ffffff 70%);
  --fe-section-shell-bg: linear-gradient(180deg, rgba(251, 248, 243, 0.98), rgba(255, 255, 255, 0.98));
  --fe-contact-shell-bg: linear-gradient(180deg, #f8fafc 0%, #ffffff 90%);
  --fe-dark-shell-bg: linear-gradient(180deg, #0f1d46 0%, #16295a 52%, #1f305f 100%);
  --fe-contact-side-bg: linear-gradient(180deg, #0f172a 0%, #1e293b 100%);
  --fe-calc-card-bg: linear-gradient(180deg, #21325f 0%, #162345 100%);
  --fe-calc-shell-bg: linear-gradient(180deg, #f8fafc 0%, #ffffff 92%);
  --fe-calc-card-light-bg: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  --fe-calc-card-info-bg: linear-gradient(180deg, #f3f8ff 0%, #e6f0ff 100%);
  --fe-calc-question-bg: linear-gradient(180deg, rgba(248, 251, 255, 0.96) 0%, rgba(255, 255, 255, 0.98) 100%);
  --fe-calc-option-bg: linear-gradient(180deg, #ffffff 0%, #f9fbff 100%);
  --fe-calc-option-hover-bg: linear-gradient(180deg, rgba(240, 246, 255, 0.94) 0%, rgba(255, 255, 255, 1) 100%);
  --fe-calc-option-selected-bg: linear-gradient(180deg, rgba(237, 244, 255, 0.98) 0%, rgba(255, 255, 255, 1) 100%);
  --fe-calc-warm-option-bg: linear-gradient(180deg, rgba(251, 247, 239, 0.96) 0%, rgba(255, 252, 245, 0.98) 100%);
  --fe-calc-warm-selected-bg: linear-gradient(180deg, #fff8e8 0%, #ffefcc 100%);
  --fe-calc-whatsapp-bg: linear-gradient(180deg, #f1fff6 0%, #e4fff0 100%);
  --fe-calc-whatsapp-bg-hover: linear-gradient(180deg, #ecfff3 0%, #d7ffe8 100%);
  --fe-hero-overlay: linear-gradient(120deg, rgba(26, 47, 94, 0.75), rgba(79, 47, 34, 0.55));
  --fe-location-modal-bg: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(250, 251, 255, 0.98) 100%);
  --fe-location-block-bg: linear-gradient(180deg, rgba(248, 250, 252, 0.96) 0%, rgba(255, 255, 255, 0.98) 100%);
  --fe-location-alt-bg: linear-gradient(180deg, rgba(255, 251, 244, 0.96) 0%, rgba(255, 255, 255, 0.98) 100%);
  --fe-shell-bg: var(--fe-page-bg);

  --fe-bp-sm: 640px;
  --fe-bp-md: 768px;
  --fe-bp-lg: 1024px;
  --fe-bp-xl: 1280px;
}

* {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  font-family: var(--fe-font-sans);
  color: var(--fe-color-ink);
  background: var(--fe-shell-bg);
  line-height: 1.5;
}

img {
  max-width: 100%;
  display: block;
}

code,
pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
}
