/* ============================================================
   JAMIE LYNN DATTILO — Personal Landing Page
   Palette: Warm parchment, sage green, dusty rose accents
   Fonts: Zodiak (display) + Work Sans (body)
   ============================================================ */

/* ---- SELF-HOSTED FONTS ---- */
@font-face {
  font-family: 'Italiana';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('data:font/woff2;base64,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') format('woff2');
}

/* ---- DESIGN TOKENS ---- */
:root,
[data-theme='light'] {
  /* Surfaces — Pale Mist + White Peach inspired */
  --color-bg: #f7f0ea;           /* warm White Peach tint */
  --color-surface: #fdf9f6;
  --color-surface-2: #ffffff;
  --color-surface-offset: #ecdfd4;
  --color-border: #d9cec5;
  --color-divider: #dde9eb;      /* Pale Mist */

  /* Text — deep navy-derived */
  --color-text: #002030;
  --color-text-muted: #4a6470;
  --color-text-faint: #9ab0b8;

  /* Primary — Perga Blue */
  --color-primary: #003E51;
  --color-primary-hover: #002d3c;
  --color-primary-active: #001e28;
  --color-primary-highlight: #dde9eb;  /* Pale Mist */

  /* Secondary — Transformative Teal */
  --color-teal: #3E8B87;
  --color-teal-hover: #2f6e6b;
  --color-teal-highlight: #d0e8e7;

  /* Accent — White Peach */
  --color-rose: #c4927a;
  --color-rose-hover: #a07060;
  --color-rose-highlight: #f5e3d6;

  /* Shadows */
  --shadow-sm: 0 1px 3px rgba(42, 33, 24, 0.06);
  --shadow-md: 0 4px 16px rgba(42, 33, 24, 0.08);
  --shadow-lg: 0 12px 40px rgba(42, 33, 24, 0.12);

  /* Radii */
  --radius-sm: 0.375rem;
  --radius-md: 0.625rem;
  --radius-lg: 1rem;
  --radius-xl: 1.5rem;
  --radius-full: 9999px;

  /* Spacing */
  --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;
  --space-32: 8rem;

  /* Type */
  --text-xs: clamp(0.75rem, 0.7rem + 0.25vw, 0.875rem);
  --text-sm: clamp(0.875rem, 0.8rem + 0.35vw, 1rem);
  --text-base: clamp(1rem, 0.95rem + 0.25vw, 1.125rem);
  --text-lg: clamp(1.125rem, 1rem + 0.75vw, 1.5rem);
  --text-xl: clamp(1.5rem, 1.2rem + 1.25vw, 2.25rem);
  --text-2xl: clamp(2rem, 1.2rem + 2.5vw, 3.5rem);
  --text-hero: clamp(3rem, 1rem + 6vw, 7rem);

  /* Fonts */
  --font-display: 'Italiana', Georgia, serif;
  --font-body: 'Work Sans', 'Helvetica Neue', sans-serif;

  /* Transitions */
  --transition: 180ms cubic-bezier(0.16, 1, 0.3, 1);

  /* Layout */
  --content-narrow: 640px;
  --content-default: 960px;
  --content-wide: 1140px;
}

[data-theme='dark'] {
  --color-bg: #001520;
  --color-surface: #001c2a;
  --color-surface-2: #002233;
  --color-surface-offset: #00283c;
  --color-border: #0d3a4e;
  --color-divider: #0d3a4e;
  --color-text: #e8f0f3;
  --color-text-muted: #7aa4b0;
  --color-text-faint: #2f5060;
  --color-primary: #5ab8d4;
  --color-primary-hover: #7ec8e0;
  --color-primary-active: #3aa0bc;
  --color-primary-highlight: #002d3c;
  --color-teal: #5ab5b0;
  --color-teal-hover: #7accc8;
  --color-teal-highlight: #0d3540;
  --color-rose: #d4a088;
  --color-rose-hover: #e0b89e;
  --color-rose-highlight: #2a1a10;
  --shadow-sm: 0 1px 3px rgba(0,0,0,0.4);
  --shadow-md: 0 4px 16px rgba(0,0,0,0.5);
  --shadow-lg: 0 12px 40px rgba(0,0,0,0.6);
}

/* ---- BASE RESET ---- */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  scroll-behavior: smooth;
  scroll-padding-top: var(--space-16);
}

body {
  min-height: 100dvh;
  line-height: 1.65;
  font-family: var(--font-body);
  font-size: var(--text-base);
  color: var(--color-text);
  background-color: var(--color-bg);
  transition: background-color 0.3s ease, color 0.3s ease;
}

img, picture, video, canvas, svg {
  display: block;
  max-width: 100%;
  height: auto;
}

ul[role='list'], ol[role='list'] {
  list-style: none;
}

input, button, textarea, select {
  font: inherit;
  color: inherit;
}

h1, h2, h3, h4, h5, h6 {
  text-wrap: balance;
  line-height: 1.15;
  font-family: var(--font-display);
}

p, li, figcaption {
  text-wrap: pretty;
  max-width: 68ch;
}

a {
  color: var(--color-primary);
  text-decoration-color: color-mix(in oklab, var(--color-primary) 40%, transparent);
  transition: color var(--transition), text-decoration-color var(--transition);
}

a:hover {
  color: var(--color-primary-hover);
  text-decoration-color: var(--color-primary-hover);
}

button {
  cursor: pointer;
  background: none;
  border: none;
}

::selection {
  background: color-mix(in oklab, var(--color-primary) 20%, transparent);
  color: var(--color-text);
}

:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 3px;
  border-radius: var(--radius-sm);
}

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

/* ---- LAYOUT HELPERS ---- */
.container {
  max-width: var(--content-wide);
  margin-inline: auto;
  padding-inline: clamp(var(--space-6), 5vw, var(--space-16));
}

.container-narrow {
  max-width: var(--content-narrow);
  margin-inline: auto;
  padding-inline: clamp(var(--space-6), 5vw, var(--space-16));
}

/* ---- HEADER ---- */
.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: color-mix(in oklab, var(--color-bg) 88%, transparent);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid transparent;
  transition: box-shadow var(--transition), border-color var(--transition), transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.header--scrolled {
  box-shadow: var(--shadow-sm);
  border-bottom-color: var(--color-border);
}

.header--hidden {
  transform: translateY(-100%);
}

.header-inner {
  max-width: var(--content-wide);
  margin-inline: auto;
  padding-inline: clamp(var(--space-6), 5vw, var(--space-16));
  padding-block: var(--space-4);
  display: flex;
  align-items: center;
  gap: var(--space-6);
}

.logo {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  text-decoration: none;
  color: var(--color-text);
  flex-shrink: 0;
}

.logo:hover {
  color: var(--color-primary);
  text-decoration: none;
}

.logo-text {
  font-family: var(--font-display);
  font-size: var(--text-sm);
  font-weight: 500;
  letter-spacing: 0.04em;
  color: var(--color-text);
}

.site-nav {
  display: flex;
  align-items: center;
  gap: var(--space-6);
  margin-left: auto;
}

.site-nav a {
  font-size: var(--text-sm);
  font-weight: 500;
  color: var(--color-text-muted);
  text-decoration: none;
  letter-spacing: 0.02em;
  transition: color var(--transition);
}

.site-nav a:hover {
  color: var(--color-text);
}

.theme-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: var(--radius-full);
  color: var(--color-text-muted);
  transition: color var(--transition), background var(--transition);
  flex-shrink: 0;
}

.theme-toggle:hover {
  color: var(--color-text);
  background: var(--color-surface-offset);
}

@media (max-width: 600px) {
  .site-nav {
    display: none;
  }
}

/* ---- HERO ---- */
.hero {
  position: relative;
  min-height: 85vh;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: clamp(var(--space-16), 10vw, var(--space-32)) clamp(var(--space-6), 5vw, var(--space-16));
  overflow: hidden;
  background: linear-gradient(160deg, #f5e3d6 0%, #f7f0ea 45%, #dde9eb 100%);
}

[data-theme='dark'] .hero {
  background: linear-gradient(160deg, #001520 0%, #001c2a 50%, #002a30 100%);
}

.hero-flourish {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  opacity: 0.6;
}

.hero-bg-svg {
  width: min(600px, 90vw);
  height: auto;
  color: var(--color-primary);
}

.hero-content {
  position: relative;
  z-index: 1;
  max-width: 720px;
}

.hero-eyebrow {
  font-size: var(--text-xs);
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--color-primary);
  margin-bottom: var(--space-4);
}

.hero-name {
  font-family: var(--font-display);
  font-size: var(--text-hero);
  font-weight: 400;
  line-height: 1.05;
  color: var(--color-text);
  margin-bottom: var(--space-6);
}

.hero-name em {
  font-style: italic;
  color: var(--color-teal);
}

.hero-tagline {
  font-size: var(--text-base);
  color: var(--color-text-muted);
  line-height: 1.7;
  margin-bottom: var(--space-10);
  max-width: 52ch;
  margin-inline: auto;
}

.hero-cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  justify-content: center;
}

/* ---- BUTTONS ---- */
.btn {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-3) var(--space-6);
  border-radius: var(--radius-full);
  font-size: var(--text-sm);
  font-weight: 500;
  font-family: var(--font-body);
  text-decoration: none;
  letter-spacing: 0.02em;
  transition: background var(--transition), color var(--transition), box-shadow var(--transition), transform 0.15s ease;
  cursor: pointer;
}

.btn:hover {
  transform: translateY(-1px);
  text-decoration: none;
}

.btn-primary {
  background: var(--color-primary);
  color: #fff;
  box-shadow: var(--shadow-sm);
}

.btn-primary:hover {
  background: var(--color-teal);
  color: #fff;
  box-shadow: var(--shadow-md);
}

.btn-ghost {
  background: transparent;
  color: var(--color-text-muted);
  border: 1px solid var(--color-border);
}

.btn-ghost:hover {
  background: var(--color-surface-offset);
  color: var(--color-text);
  border-color: var(--color-text-faint);
}

/* ---- SECTION SHELL ---- */
.section {
  padding-block: clamp(var(--space-16), 8vw, var(--space-32));
}

.section-label {
  display: inline-block;
  font-size: var(--text-xs);
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--color-primary);
  margin-bottom: var(--space-4);
}

.section-title {
  font-family: var(--font-display);
  font-size: var(--text-2xl);
  font-weight: 400;
  line-height: 1.15;
  color: var(--color-text);
  margin-bottom: var(--space-6);
}

/* ---- SECTION DIVIDER ---- */
.section-divider {
  padding-inline: clamp(var(--space-6), 5vw, var(--space-16));
  color: var(--color-primary);
}

.section-divider svg {
  width: 100%;
  height: 30px;
}

/* ---- ABOUT ---- */
.about-section {
  background: color-mix(in oklab, #f5e3d6 10%, #ffffff);
}

[data-theme='dark'] .about-section {
  background: var(--color-surface);
}

.about-body {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  margin-bottom: var(--space-10);
}

.about-body p {
  font-size: var(--text-base);
  color: var(--color-text-muted);
  line-height: 1.75;
}

.about-body strong {
  color: var(--color-text);
  font-weight: 600;
}

.about-body a {
  font-weight: 500;
}

.tag-row {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin-top: var(--space-2);
}

.tag {
  display: inline-block;
  padding: var(--space-1) var(--space-4);
  background: var(--color-rose-highlight);
  color: var(--color-primary);
  border-radius: var(--radius-full);
  font-size: var(--text-xs);
  font-weight: 500;
  letter-spacing: 0.03em;
  border: 1px solid color-mix(in oklab, var(--color-rose) 25%, transparent);
}

[data-theme='dark'] .tag {
  background: var(--color-primary-highlight);
  color: var(--color-primary);
  border-color: color-mix(in oklab, var(--color-primary) 30%, transparent);
}

/* ---- TWO-COL ---- */
.two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(var(--space-12), 6vw, var(--space-24));
  align-items: center;
}

.two-col-reverse {
  direction: rtl;
}

.two-col-reverse > * {
  direction: ltr;
}

@media (max-width: 768px) {
  .two-col {
    grid-template-columns: 1fr;
  }
  .two-col-reverse {
    direction: ltr;
  }
}

.two-col-text {
  display: flex;
  flex-direction: column;
}

.two-col-text p {
  font-size: var(--text-base);
  color: var(--color-text-muted);
  line-height: 1.75;
  margin-bottom: var(--space-4);
}

.two-col-text p:last-of-type {
  margin-bottom: var(--space-8);
}

.two-col-text strong {
  color: var(--color-text);
  font-weight: 600;
}

/* ---- VISUAL CARD ---- */
.visual-card {
  border-radius: var(--radius-xl);
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  padding: var(--space-8);
  box-shadow: var(--shadow-md);
  aspect-ratio: 5 / 6;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.art-svg {
  width: 100%;
  height: 100%;
  color: var(--color-primary);
}

/* ---- TATTOO SECTION ---- */
.tattoo-section {
  background: #f7f0ea;  /* White Peach tint */
}

[data-theme='dark'] .tattoo-section {
  background: var(--color-bg);
}

/* ---- WELLNESS SECTION ---- */
.wellness-section {
  background: color-mix(in oklab, #dde9eb 35%, #ffffff);  /* Pale Mist tint */
}

[data-theme='dark'] .wellness-section {
  background: var(--color-surface);
}

/* ---- LINK CARDS ---- */
.link-card-row {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.link-card {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  padding: var(--space-4) var(--space-5);
  background: var(--color-surface-2);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  text-decoration: none;
  color: var(--color-text);
  transition: background var(--transition), border-color var(--transition), box-shadow var(--transition), transform 0.15s ease;
  box-shadow: var(--shadow-sm);
}

.link-card:hover {
  background: var(--color-surface-offset);
  border-color: var(--color-teal);
  box-shadow: var(--shadow-md);
  transform: translateY(-1px);
  color: var(--color-text);
  text-decoration: none;
}

.link-card-accent {
  border-color: color-mix(in oklab, var(--color-teal) 30%, transparent);
  background: color-mix(in oklab, var(--color-teal-highlight) 45%, var(--color-surface-2));
}

.link-icon {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
  color: var(--color-primary);
}

.link-card-title {
  display: block;
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--color-text);
  line-height: 1.3;
}

.link-card-handle {
  display: block;
  font-size: var(--text-xs);
  color: var(--color-text-muted);
  margin-top: 2px;
}

/* ---- CONNECT SECTION ---- */
.connect-section {
  background: color-mix(in oklab, #f5e3d6 35%, var(--color-bg));
}

[data-theme='dark'] .connect-section {
  background: color-mix(in oklab, var(--color-teal-highlight) 30%, var(--color-bg));
}


.connect-inner {
  text-align: center;
}

.connect-sub {
  font-size: var(--text-base);
  color: var(--color-text-muted);
  max-width: 48ch;
  margin-inline: auto;
  margin-bottom: var(--space-10);
  line-height: 1.7;
}

.connect-grid {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  text-align: left;
}

.connect-card {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  padding: var(--space-5) var(--space-6);
  background: var(--color-surface-2);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  text-decoration: none;
  color: var(--color-text);
  transition: background var(--transition), border-color var(--transition), box-shadow var(--transition), transform 0.15s ease;
  box-shadow: var(--shadow-sm);
}

.connect-card:hover {
  background: var(--color-surface-offset);
  border-color: var(--color-teal);
  box-shadow: var(--shadow-md);
  transform: translateY(-2px);
  color: var(--color-text);
  text-decoration: none;
}

.connect-icon {
  width: 44px;
  height: 44px;
  border-radius: var(--radius-md);
  background: var(--color-teal-highlight);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--color-teal);
}

[data-theme='dark'] .connect-icon {
  background: var(--color-teal-highlight);
  color: var(--color-teal);
}

.connect-icon svg {
  width: 20px;
  height: 20px;
}

.connect-card-text {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.connect-card-text strong {
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--color-text);
}

.connect-card-text span {
  font-size: var(--text-xs);
  color: var(--color-text-muted);
}

.connect-arrow {
  color: var(--color-text-faint);
  flex-shrink: 0;
  transition: color var(--transition), transform 0.15s ease;
}

.connect-card:hover .connect-arrow {
  color: var(--color-teal);
  transform: translate(2px, -2px);
}

/* ---- FOOTER ---- */
.site-footer {
  background: var(--color-surface);
  border-top: 1px solid var(--color-border);
  padding-block: var(--space-12);
}

.footer-inner {
  max-width: var(--content-wide);
  margin-inline: auto;
  padding-inline: clamp(var(--space-6), 5vw, var(--space-16));
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-2);
}

.footer-name {
  font-family: var(--font-display);
  font-size: var(--text-lg);
  font-weight: 400;
  color: var(--color-text);
}

.footer-sub {
  font-size: var(--text-xs);
  color: var(--color-text-faint);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.footer-links {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  margin-top: var(--space-2);
}

.footer-links a {
  font-size: var(--text-xs);
  color: var(--color-text-muted);
  text-decoration: none;
  transition: color var(--transition);
}

.footer-links a:hover {
  color: var(--color-primary);
}

.footer-links span {
  color: var(--color-text-faint);
}

/* ---- HERO PILLS ---- */
.hero-pill-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: var(--space-3);
  margin-bottom: var(--space-8);
}

.hero-pill {
  display: inline-block;
  padding: var(--space-2) var(--space-5);
  border-radius: var(--radius-full);
  font-size: var(--text-xs);
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.hero-pill-outside {
  background: color-mix(in oklab, #3E8B87 14%, transparent);
  color: #2a6b68;
  border: 1px solid color-mix(in oklab, #3E8B87 25%, transparent);
}

[data-theme='dark'] .hero-pill-outside {
  background: color-mix(in oklab, #3E8B87 20%, transparent);
  color: #7accc8;
}

.hero-pill-inside {
  background: color-mix(in oklab, #f5e3d6 70%, transparent);
  color: #003E51;
  border: 1px solid color-mix(in oklab, #c4927a 30%, transparent);
}

[data-theme='dark'] .hero-pill-inside {
  background: color-mix(in oklab, #5ab8d4 15%, transparent);
  color: #7ec8e0;
  border-color: color-mix(in oklab, #5ab8d4 25%, transparent);
}

.hero-pill-divider {
  color: var(--color-text-faint);
  font-size: var(--text-sm);
  font-weight: 300;
}

/* ---- SECONDARY BUTTON ---- */
.btn-secondary {
  background: color-mix(in oklab, #3E8B87 15%, transparent);
  color: #2a6b68;
  border: 1px solid color-mix(in oklab, #3E8B87 30%, transparent);
}

.btn-secondary:hover {
  background: color-mix(in oklab, #3E8B87 25%, transparent);
  color: #1e4f4d;
  text-decoration: none;
}

[data-theme='dark'] .btn-secondary {
  background: color-mix(in oklab, #5ab5b0 15%, transparent);
  color: #7accc8;
  border-color: color-mix(in oklab, #5ab5b0 25%, transparent);
}

[data-theme='dark'] .btn-secondary:hover {
  background: color-mix(in oklab, #5ab5b0 25%, transparent);
  color: #a0ddd8;
}

/* ---- VISION SECTION ---- */
.vision-section {
  background: color-mix(in oklab, #f5e3d6 12%, #ffffff);
  text-align: center;
}

[data-theme='dark'] .vision-section {
  background: var(--color-surface);
}

.vision-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.vision-lead {
  font-size: var(--text-lg);
  line-height: 1.7;
  color: var(--color-text);
  font-family: var(--font-display);
  font-weight: 400;
  margin-bottom: var(--space-5);
  max-width: 58ch;
}

.vision-body {
  font-size: var(--text-base);
  color: var(--color-text-muted);
  line-height: 1.75;
  margin-bottom: var(--space-12);
  max-width: 58ch;
}

.vision-pillars {
  display: flex;
  align-items: stretch;
  gap: var(--space-6);
  margin-bottom: var(--space-12);
  width: 100%;
  max-width: 580px;
}

.vision-pillar {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: var(--space-8) var(--space-6);
  border-radius: var(--radius-lg);
  gap: var(--space-3);
}

.pillar-outside {
  background: color-mix(in oklab, #3E8B87 8%, #ffffff);
  border: 1px solid color-mix(in oklab, #3E8B87 20%, transparent);
}

[data-theme='dark'] .pillar-outside {
  background: color-mix(in oklab, #3E8B87 12%, var(--color-bg));
  border-color: color-mix(in oklab, #3E8B87 25%, transparent);
}

.pillar-inside {
  background: color-mix(in oklab, #f5e3d6 30%, #ffffff);
  border: 1px solid color-mix(in oklab, #c4927a 22%, transparent);
}

[data-theme='dark'] .pillar-inside {
  background: color-mix(in oklab, #003E51 20%, var(--color-bg));
  border-color: color-mix(in oklab, #5ab8d4 20%, transparent);
}

.pillar-icon {
  width: 56px;
  height: 56px;
  border-radius: var(--radius-full);
  display: flex;
  align-items: center;
  justify-content: center;
}

.pillar-outside .pillar-icon {
  background: color-mix(in oklab, #3E8B87 15%, transparent);
  color: #3E8B87;
}

.pillar-inside .pillar-icon {
  background: color-mix(in oklab, #f5e3d6 55%, transparent);
  color: #003E51;
}

[data-theme='dark'] .pillar-outside .pillar-icon { color: #5ab5b0; }
[data-theme='dark'] .pillar-inside .pillar-icon  { color: #5ab8d4; }

.vision-pillar h3 {
  font-family: var(--font-display);
  font-size: var(--text-lg);
  font-weight: 500;
  color: var(--color-text);
}

.vision-pillar p {
  font-size: var(--text-sm);
  color: var(--color-text-muted);
  line-height: 1.65;
}

.pillar-bridge {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--color-text-faint);
}

@media (max-width: 500px) {
  .vision-pillars { flex-direction: column; }
  .pillar-bridge { transform: rotate(90deg); }
}

/* ---- SECTION LABEL VARIANTS ---- */
.section-label-outside {
  color: #3E8B87;
}

.section-label-inside {
  color: #003E51;
}

[data-theme='dark'] .section-label-inside {
  color: #5ab8d4;
}

/* ---- OUTSIDE SECTION ---- */
.outside-section {
  background: color-mix(in oklab, #f5e3d6 40%, #ffffff);
}

[data-theme='dark'] .outside-section {
  background: var(--color-bg);
}

.outside-bridge-note {
  font-style: italic;
  color: var(--color-text-muted) !important;
  border-left: 2px solid #3E8B87;
  padding-left: var(--space-4);
  margin-top: var(--space-2);
  margin-bottom: var(--space-6) !important;
}

/* ---- BRIDGE QUOTE ---- */
.bridge-quote {
  background: #003E51;
  padding: clamp(var(--space-10), 5vw, var(--space-16)) clamp(var(--space-6), 5vw, var(--space-16));
  text-align: center;
}

.bridge-quote blockquote {
  font-family: var(--font-display);
  font-size: clamp(1.2rem, 1rem + 1.5vw, 2rem);
  font-weight: 400;
  font-style: italic;
  color: #ffffff;
  max-width: 52ch;
  margin-inline: auto;
  line-height: 1.5;
  opacity: 0.92;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.bridge-quote cite {
  font-style: normal;
  font-family: var(--font-body);
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.55);
}

/* ---- INSIDE SECTION ---- */
.inside-section {
  background: color-mix(in oklab, #f5e3d6 28%, #ffffff);
}

[data-theme='dark'] .inside-section {
  background: var(--color-surface);
}

.inside-features {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  margin-bottom: var(--space-2);
}

.inside-feature {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  font-size: var(--text-sm);
  color: var(--color-text-muted);
}

.feature-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}

.feature-dot-blue  { background: #003E51; }
.feature-dot-teal  { background: #3E8B87; }
.feature-dot-peach { background: #c4927a; }

[data-theme='dark'] .feature-dot-blue  { background: #5ab8d4; }
[data-theme='dark'] .feature-dot-teal  { background: #5ab5b0; }
[data-theme='dark'] .feature-dot-peach { background: #d4a088; }

/* ---- CONNECT ICON VARIANTS ---- */
.connect-icon-outside {
  background: color-mix(in oklab, #3E8B87 14%, transparent);
  color: #3E8B87;
}

.connect-icon-inside {
  background: color-mix(in oklab, #003E51 12%, transparent);
  color: #003E51;
}

[data-theme='dark'] .connect-icon-inside { color: #5ab8d4; }

.connect-icon-neutral {
  background: color-mix(in oklab, #c4927a 14%, transparent);
  color: #c4927a;
}

[data-theme='dark'] .connect-icon-neutral { color: #d4a088; }

/* ---- FOOTER TAGLINE ---- */
.footer-tagline {
  font-family: var(--font-display);
  font-size: var(--text-sm);
  font-style: italic;
  color: var(--color-teal);
  margin-bottom: var(--space-1);
}

[data-theme='dark'] .footer-tagline { color: var(--color-teal); }

/* ---- VISUAL CARD VARIANTS ---- */
.visual-card-outside {
  background: color-mix(in oklab, #3E8B87 6%, var(--color-surface));
  border-color: color-mix(in oklab, #3E8B87 18%, transparent);
}

.visual-card-inside {
  background: color-mix(in oklab, #f5e3d6 18%, var(--color-surface));
  border-color: color-mix(in oklab, #c4927a 20%, transparent);
}


/* ---- MITO VISUAL (Inside section) ---- */
.mito-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: none;
  box-shadow: none;
  padding: 0;
  aspect-ratio: 4 / 5;
  position: relative;
}

.mito-large-svg {
  width: 100%;
  max-width: 340px;
  height: auto;
  filter: drop-shadow(0 0 32px rgba(245, 227, 214, 0.22));
}

.perga-symbol-img {
  width: 100%;
  max-width: 420px;
  height: auto;
  border-radius: 0;
  box-shadow: none;
  display: block;
}

/* ---- RED LIGHT THERAPY SECTION ---- */
.rlt-section {
  background: linear-gradient(160deg, #1a0a0a 0%, #2d0f0f 40%, #1a1a2e 100%);
  color: #f0e8e0;
  position: relative;
  overflow: hidden;
}

.rlt-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 60% 40%, rgba(180, 40, 20, 0.18) 0%, transparent 65%),
              radial-gradient(ellipse at 20% 80%, rgba(200, 60, 20, 0.1) 0%, transparent 50%);
  pointer-events: none;
}

.rlt-inner {
  position: relative;
  z-index: 1;
}

.rlt-label {
  color: #e07050 !important;
}

.rlt-section .section-title {
  color: #f5e8e0;
}

.rlt-lead {
  font-size: var(--text-lg);
  color: rgba(240, 220, 200, 0.8);
  line-height: 1.7;
  max-width: 62ch;
  margin-bottom: var(--space-12);
}

.rlt-header {
  margin-bottom: var(--space-12);
}

/* Benefits grid */
.rlt-benefits-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: var(--space-6);
  margin-bottom: var(--space-12);
}

.rlt-benefit {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(220, 100, 60, 0.2);
  border-radius: var(--radius-lg);
  padding: var(--space-6);
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  transition: background var(--transition), border-color var(--transition);
}

.rlt-benefit:hover {
  background: rgba(220, 80, 40, 0.08);
  border-color: rgba(220, 100, 60, 0.4);
}

.rlt-benefit-icon {
  width: 48px;
  height: 48px;
  border-radius: var(--radius-md);
  background: rgba(200, 60, 30, 0.15);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #e07050;
  flex-shrink: 0;
}

.rlt-benefit h4 {
  font-family: var(--font-display);
  font-size: var(--text-lg);
  font-weight: 400;
  color: #f0e0d0;
}

.rlt-benefit p {
  font-size: var(--text-sm);
  color: rgba(230, 210, 195, 0.75);
  line-height: 1.65;
  max-width: none;
}

/* Detail cards */
.rlt-details {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-6);
  margin-bottom: var(--space-10);
}

@media (max-width: 640px) {
  .rlt-details { grid-template-columns: 1fr; }
}

.rlt-detail-card {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: var(--radius-lg);
  padding: var(--space-6);
}

.rlt-detail-card h4 {
  font-family: var(--font-display);
  font-size: var(--text-lg);
  font-weight: 400;
  color: #e07050;
  margin-bottom: var(--space-3);
}

.rlt-detail-card p {
  font-size: var(--text-sm);
  color: rgba(230, 210, 195, 0.75);
  line-height: 1.7;
  max-width: none;
}

.rlt-detail-card strong {
  color: #f0e0d0;
}

/* CTA row */
.rlt-cta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
}

.rlt-section .btn-primary {
  background: #c03820;
  color: #fff;
}

.rlt-section .btn-primary:hover {
  background: #a02c18;
}

.rlt-section .btn-ghost {
  border-color: rgba(255, 255, 255, 0.2);
  color: rgba(240, 220, 200, 0.7);
}

.rlt-section .btn-ghost:hover {
  background: rgba(255, 255, 255, 0.06);
  color: #f0e0d0;
  border-color: rgba(255, 255, 255, 0.35);
}
