@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/archivo-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/archivo-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/archivo-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/archivo-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/archivo-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/archivo-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../fonts/archivo-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../fonts/archivo-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../fonts/archivo-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --color-bg: #ffffff;
  --color-surface: #f3efe3;
  --color-text: #16231a;
  --color-ink: #0a1c15;
  --color-divider: color-mix(in srgb, #16231a 22%, transparent);

  --color-neutral-100: #f6f5ef;
  --color-neutral-200: #ece8db;
  --color-neutral-300: #ddd6c1;
  --color-neutral-400: #c6bc9d;
  --color-neutral-500: #aa9d7a;
  --color-neutral-600: #8c8062;
  --color-neutral-700: #6f6549;
  --color-neutral-800: #4c4433;
  --color-neutral-900: #2c2820;

  --color-accent: #235642;
  --color-accent-100: #e8f3ec;
  --color-accent-200: #c7e0d0;
  --color-accent-300: #9dc7ab;
  --color-accent-400: #6ba883;
  --color-accent-500: #45875f;
  --color-accent-600: #2e6b4f;
  --color-accent-700: #235642;
  --color-accent-800: #1a4232;
  --color-accent-900: #0a1c15;

  --color-accent-2: #b08a45;
  --color-accent-2-100: #faf4e9;
  --color-accent-2-200: #f0e2c4;
  --color-accent-2-300: #e3c793;
  --color-accent-2-400: #d0a862;
  --color-accent-2-500: #b08a45;
  --color-accent-2-600: #8f6d34;
  --color-accent-2-700: #6e5327;
  --color-accent-2-800: #4c3a1b;

  --font-heading: "Archivo", system-ui, sans-serif;
  --font-heading-weight: 800;
  --font-body: "Archivo", system-ui, sans-serif;

  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;

  --radius-sm: 0px;
  --radius-md: 0px;
  --radius-lg: 0px;

  --edge: clamp(18px, 5vw, 64px);
  --container-max: 1280px;

  --shadow-sm: 0 1px 2px color-mix(in srgb, #2d2b2b 14%, transparent);
  --shadow-md: 0 3px 10px color-mix(in srgb, #2d2b2b 16%, transparent);
  --shadow-lg: 0 12px 32px color-mix(in srgb, #2d2b2b 22%, transparent);

  --ease-out: cubic-bezier(.2,.7,.3,1);
}

*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; overflow-x: hidden; }

body {
  margin: 0;
  background: var(--color-bg);
  color: var(--color-text);
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.55;
  font-weight: 400;
  text-wrap: pretty;
  overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-heading);
  font-weight: var(--font-heading-weight);
  line-height: 1.12;
  letter-spacing: -0.015em;
  margin: 0 0 var(--space-3);
}

h1 { font-size: clamp(32px, 4.2vw, 52px); letter-spacing: -0.028em; line-height: 1.06; }

h2 { font-size: clamp(24px, 3vw, 38px); letter-spacing: -0.025em; }

h3 { font-size: clamp(20px, 2.2vw, 26px); letter-spacing: -0.018em; }

h4 { font-size: 20px; }

h5 { font-size: 16px; }

h6 { font-size: 13px; letter-spacing: 0.08em; text-transform: uppercase; }

p { margin: 0 0 var(--space-3); }

a { color: var(--color-accent-700); text-underline-offset: 3px; }

a:hover { color: var(--color-accent); }

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

figure { margin: 0; }

ul, ol { margin: 0 0 var(--space-3); padding-left: 1.15em; }

li + li { margin-top: 4px; }

strong { font-weight: 600; }

:focus { outline: none; }

:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 2px; }

::selection { background: color-mix(in srgb, var(--color-accent) 30%, transparent); }

.visually-hidden {
  position: absolute !important; width: 1px; height: 1px; margin: -1px;
  padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

.hp-field { position: absolute !important; left: -9999px; top: -9999px; width: 1px; height: 1px; overflow: hidden; display: none; }

.skip-link {
  position: absolute; left: 12px; top: -60px; z-index: 200;
  background: var(--color-ink); color: var(--color-bg);
  padding: 10px 16px; font-family: var(--font-heading); font-weight: 700; font-size: 14px;
  transition: top .2s var(--ease-out);
}

.skip-link:focus { top: 12px; }

.container { max-width: var(--container-max); margin: 0 auto; padding: 0 var(--edge); }

.section { padding: clamp(30px, 4vw, 52px) 0; }

.section-lg { padding: clamp(40px, 6vw, 84px) 0; }

.section-tight { padding: clamp(20px, 3vw, 32px) 0; }

.section-border-t { border-top: 2px solid var(--color-divider); }

.section-dark { background: var(--color-ink); color: var(--color-bg); }

.section-dark a { color: var(--color-accent-300); }

.section-dark .text-muted { color: color-mix(in srgb, var(--color-bg) 74%, transparent); }

.grid-auto { display: grid; gap: 1px; padding: 1px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr)); }

.grid-auto-md { display: grid; gap: 1px; padding: 1px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); }

.grid-auto-lg { display: grid; gap: 1px; padding: 1px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); }

.grid-2 { display: grid; gap: clamp(24px, 4vw, 56px); grid-template-columns: minmax(0,1fr); align-items: start; }

@media (min-width: 860px) { .grid-2 { grid-template-columns: minmax(0,1fr) minmax(0,1fr); } }

.grid-2--wide-right { grid-template-columns: minmax(0,1fr); }

@media (min-width: 860px) { .grid-2--wide-right { grid-template-columns: minmax(0,0.85fr) minmax(0,1.15fr); } }

.grid-2--hero { grid-template-columns: minmax(0,1fr); }

@media (min-width: 860px) { .grid-2--hero { grid-template-columns: minmax(0,1fr) minmax(0,1.05fr); } }

.stack { display: flex; flex-direction: column; }

.cluster { display: flex; align-items: center; flex-wrap: wrap; }

.max-prose { max-width: 62ch; }

.max-lead { max-width: 46ch; }

.eyebrow {
  display: block; font-size: 12px; letter-spacing: 0.11em; text-transform: uppercase;
  color: var(--color-accent-700); margin: 0 0 14px; font-weight: 600;
}

.section-dark .eyebrow { color: var(--color-accent-300); }

.lead { font-size: clamp(16.5px, 1.4vw, 18px); line-height: 1.6; color: color-mix(in srgb, var(--color-text) 78%, transparent); }

.section-dark .lead { color: color-mix(in srgb, var(--color-bg) 84%, transparent); }

.text-muted { color: color-mix(in srgb, var(--color-text) 62%, transparent); }

.text-accent { color: var(--color-accent); }

.tnum { font-feature-settings: 'tnum' 1; }

.rule { height: 2px; background: var(--color-divider); border: 0; margin: var(--space-6) 0; }

.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  cursor: pointer; text-decoration: none; white-space: nowrap;
  font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 14.5px; line-height: 1.2; color: var(--color-text);
  background: transparent; border: 2px solid transparent;
  padding: 12px 22px; min-height: 46px; border-radius: 999px;
  transition: background .15s ease, color .15s ease, border-color .15s ease, transform .15s ease;
}

.btn svg { display: block; flex: none; width: 16px; height: 16px; }

.btn:active { transform: translateY(1px); }

.btn-primary,
.btn-primary:visited,
.section-dark .btn-primary {
  background: var(--color-accent); color: var(--color-bg) !important; border-color: var(--color-accent);
  border-radius: 999px; padding: 6px 6px 6px 24px; gap: 16px; overflow: hidden;
}

.btn-primary::after {
  content: ""; flex: none; width: 34px; height: 34px; border-radius: 50%;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") no-repeat center/16px 16px,
    var(--color-accent-900);
  transform: rotate(-45deg);
  transition: transform .25s ease;
}

.btn-primary:hover { background: var(--color-accent-800); border-color: var(--color-accent-800); color: var(--color-bg); }

.btn-primary:hover::after { transform: rotate(0deg); }

.btn-primary.btn-block::after { margin-inline-start: auto; }

.btn-primary-outline {
  display: inline-flex; align-items: center; justify-content: center; gap: 16px;
  cursor: pointer; text-decoration: none; white-space: nowrap;
  font-family: var(--font-heading); font-weight: var(--font-heading-weight); font-size: 14.5px;
  color: var(--color-text) !important; background: #ffffff;
  border: 1.5px solid var(--color-divider); border-radius: 999px;
  padding: 6px 6px 6px 24px; min-height: 46px; overflow: hidden;
  transition: background .15s ease, border-color .15s ease;
}

.btn-primary-outline::after {
  content: ""; flex: none; width: 34px; height: 34px; border-radius: 50%;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230a1c15' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") no-repeat center/16px 16px,
    var(--color-accent-100);
  transform: rotate(-45deg);
  transition: transform .25s ease;
}

.btn-primary-outline:hover { border-color: var(--color-accent); background: var(--color-accent-100); }

.btn-primary-outline:hover::after { transform: rotate(0deg); }

.btn-secondary { border-color: var(--color-divider); color: var(--color-text); }

.btn-secondary:hover { background: color-mix(in srgb, var(--color-text) 7%, transparent); }

.section-dark .btn-secondary { border-color: color-mix(in srgb, var(--color-bg) 35%, transparent); color: var(--color-bg); }

.section-dark .btn-secondary:hover { background: color-mix(in srgb, var(--color-bg) 12%, transparent); }

.btn-ghost { color: var(--color-accent-700); padding-inline: 4px; min-height: 44px; border: none; }

.btn-ghost:hover { color: var(--color-accent); background: color-mix(in srgb, var(--color-accent) 8%, transparent);     padding: 6px 6px 6px 16px;}

.btn-block { width: 100%; }

.btn:disabled { opacity: .45; cursor: not-allowed; }

.field { display: flex; flex-direction: column; gap: 6px;  }

.field label { font-size: 12.5px; font-weight: 600; letter-spacing: .02em; color: color-mix(in srgb, var(--color-text) 72%, transparent); }

.input, select.input, textarea.input {
  width: 100%; min-height: 46px; padding: 10px 14px; font: inherit; font-size: 15px;
  color: var(--color-text); caret-color: var(--color-accent);
  background: var(--color-surface); border: 1.5px solid var(--color-divider);
  border-radius: var(--radius-md); appearance: none;
}

textarea.input { min-height: 110px; resize: vertical; }

select.input {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%231e3a5f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
  background-repeat: no-repeat; background-position: right 14px center; padding-right: 38px;
}

.input:hover { border-color: color-mix(in srgb, var(--color-text) 45%, transparent); }

.input:focus-visible { border-color: var(--color-accent); outline-offset: 0; }

.form-row { display: flex; flex-wrap: wrap; gap: 14px; }

.form-note { font-size: 14px; line-height: 1.55; color: color-mix(in srgb, var(--color-text) 62%, transparent); margin: 14px 0 0; max-width: 52ch; }

.radiogroup { display: flex; flex-direction: column; gap: 10px; }

.radio-opt {
  display: flex; align-items: center; gap: 14px;
  min-height: 62px; cursor: pointer; text-align: left; width: 100%;
  font-family: var(--font-body); font-weight: 700; font-size: 15px;
  padding: 11px 16px; border: 1.5px solid var(--color-divider); border-radius: 14px;
  background: var(--color-bg); color: var(--color-text);
  transition: background .15s ease, color .15s ease, border-color .15s ease;
}

.radio-opt:hover, .radio-opt:focus-visible { border-color: var(--color-accent); background: var(--color-accent-100); }

.radio-opt.is-selected { border-color: var(--color-accent); background: var(--color-accent-100); }

.radio-dot {
  flex: none; width: 18px; height: 18px; border-radius: 50%;
  border: 1.5px solid color-mix(in srgb, var(--color-text) 40%, transparent);
}

.radio-opt:hover .radio-dot, .radio-opt:focus-visible .radio-dot { border-color: var(--color-accent); }

.radio-label { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }

.radio-label strong { font-size: 14.5px; font-weight: 700; }

.radio-label small { font-weight: 500; font-size: 12.5px; color: color-mix(in srgb, var(--color-text) 58%, transparent); }

.radio-chevron { flex: none; color: var(--color-accent); font-size: 18px; line-height: 1; }

.radio-emoji {
  flex: none; width: 10px; height: 10px; border-radius: 50%;
  margin: 0 2px;
}

.radio-emoji.emoji-0 { background: #b45309; }

.radio-emoji.emoji-1 { background: #d97706; }

.radio-emoji.emoji-2 { background: #9ca3af; }

.radio-emoji.emoji-3 { background: #4b9d7f; }

.radio-emoji.emoji-4 { background: #10b981; }

.radio-circle {
  flex: none; width: 18px; height: 18px; border-radius: 50%;
  border: 1.5px solid color-mix(in srgb, var(--color-text) 35%, transparent);
}

.radio-opt.is-selected .radio-circle { border-color: var(--color-accent); background: var(--color-accent); box-shadow: inset 0 0 0 3px #ffffff; }

.radiogroup.is-locked .radio-opt:not(.is-selected) { opacity: .45; }

.radiogroup.is-locked .radio-opt { pointer-events: none; }

.radio-opt.is-selected { transform: scale(.99); }

.card {
  outline: 1px solid var(--color-divider); background: var(--color-bg);
  padding: clamp(22px, 3vw, 28px) clamp(20px, 2.6vw, 24px);
  display: flex; flex-direction: column; gap: 14px; min-height: 100%;
  transition: transform .28s var(--ease-out), box-shadow .28s ease;
}

[data-lift]:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); position: relative; z-index: 1; }

.pillar-card .pillar-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }

.pillar-card .pillar-num { font-family: var(--font-heading); font-weight: 800; font-size: 13px; color: color-mix(in srgb, var(--color-text) 45%, transparent); }

.pillar-card .pillar-icon { color: var(--color-accent); width: 24px; height: 24px; }

.pillar-card .pillar-name { font-family: var(--font-heading); font-weight: 800; font-size: 17.5px; line-height: 1.3; letter-spacing: -0.012em; margin: 0; }

.pillar-card .pillar-desc { font-size: 14.5px; line-height: 1.55; color: color-mix(in srgb, var(--color-text) 72%, transparent); margin: 0; }

.step-card .step-num {
  font-family: var(--font-heading); font-weight: 800; font-size: clamp(30px, 3vw, 40px);
  line-height: 1; letter-spacing: -0.03em; color: var(--color-accent); margin: 0 0 6px;
}

.step-card .step-name { font-family: var(--font-heading); font-weight: 800; font-size: 20px; margin: 0; }

.step-card .step-copy { font-size: 15.5px; line-height: 1.55; color: color-mix(in srgb, var(--color-text) 76%, transparent); margin: 0; }

.tier-card .tier-name { font-family: var(--font-heading); font-weight: 800; font-size: clamp(20px, 2.2vw, 24px); margin: 0 0 6px; }

.tier-card .tier-length { font-family: var(--font-heading); font-weight: 800; font-size: 16.5px; color: var(--color-accent); margin: 0 0 16px; }

.tier-card .tier-label { font-size: 11.5px; letter-spacing: 0.08em; text-transform: uppercase; color: color-mix(in srgb, var(--color-text) 55%, transparent); margin: 0 0 4px; }

.tier-card .tier-price { font-size: 16px; margin: 0; }

.tier-card.is-free .tier-length { color: var(--color-accent-2-600); }

.tag {
  display: inline-flex; align-items: center; font-size: 11px; letter-spacing: .04em;
  padding: 4px 11px; border: 1px solid currentColor;
}

.tag-accent { color: var(--color-accent-700); background: var(--color-accent-100); border-color: transparent; }

.tag-outline { color: var(--color-accent); border-color: var(--color-accent); }

.site-header {
  position: static; z-index: 100; background: var(--color-bg); border-bottom: 1px solid #e5e9e6;
  box-shadow: 0 2px 12px rgba(0,0,0,0.04);
  transition: box-shadow .35s var(--ease-out);
}

.site-header.is-scrolled { box-shadow: 0 4px 16px rgba(0,0,0,0.06); }

.nav {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: 0 clamp(24px, 5vw, 64px); min-height: 76px;
  max-width: var(--container-max); margin: 0 auto;
}

.nav-brand { display: flex; align-items: center; gap: 12px; text-decoration: none; flex: none; min-width: 0; }

.nav-brand img { height: 34px; width: auto; display: block; }

.nav-brand .ar { font-family: var(--font-heading); font-weight: 800; font-size: 17px; color: var(--color-accent); }

.nav-brand-divider { width: 1.5px; height: 24px; background: var(--color-divider); flex: none; }

.nav-brand-ar { display: none; height: 34px; width: auto; }

@media (min-width: 900px) {
  .nav-brand-ar { display: block; }
}

.nav-links { display: none; align-items: center; gap: clamp(24px, 2.6vw, 32px); }

.nav-links a {
  color: #223b32; text-decoration: none; font-size: 14.5px; font-weight: 500; padding: 8px 0; position: relative;
  letter-spacing: -0.005em;
}

.nav-links a:hover { color: var(--color-accent); }

.nav-links a[aria-current='page'] { color: var(--color-accent); font-weight: 600; }

.nav-links a[aria-current='page']::after {
  content: ''; position: absolute; left: 0; right: 0; bottom: -4px; height: 2px; background: var(--color-accent); border-radius: 2px;
}

.nav-dropdown { position: relative; }

.nav-dropdown-trigger,
.nav-dropdown-trigger:hover,
.nav-dropdown-trigger:focus {
  text-decoration: none !important;
}

.nav-dropdown-trigger {
  display: inline-flex; align-items: center; gap: 6px;
  background: none; border: none; cursor: pointer; font-family: inherit;
  color: #223b32; font-size: 14.5px; font-weight: 500; padding: 8px 0; position: relative;
  letter-spacing: -0.005em;
}

.nav-dropdown-trigger:hover { color: var(--color-accent); }

.nav-dropdown.is-active .nav-dropdown-trigger { color: var(--color-accent); font-weight: 600; }

.nav-dropdown.is-active .nav-dropdown-trigger::after {
  content: ''; position: absolute; left: 0; right: 0; bottom: -4px; height: 2px; background: var(--color-accent); border-radius: 2px;
}

.nav-dropdown-caret { width: 13px; height: 13px; flex: none; transition: transform .2s ease; }

.nav-dropdown.is-open .nav-dropdown-caret { transform: rotate(180deg); }

.nav-dropdown-menu {
  position: absolute; top: 100%; left: 50%; padding-top: 14px;
  transform: translateX(-50%);
  min-width: 200px;
  opacity: 0; visibility: hidden; pointer-events: none;
  transition: opacity .18s ease, visibility .18s;
  z-index: 30;
}

.nav-dropdown-menu::before {
  content: '';
  display: block;
  background: var(--color-bg); border: 1px solid var(--color-divider);
  border-radius: 10px; box-shadow: 0 12px 32px rgba(0,0,0,.1);
  padding: 8px;
  position: absolute; top: 14px; left: 0; right: 0; bottom: 0;
  z-index: -1;
}

.nav-dropdown-menu a,
.nav-dropdown-menu a:hover,
.nav-dropdown-menu a:focus,
.nav-dropdown-menu a[aria-current='page'] {
  text-decoration: none !important;
}

.nav-dropdown-menu a {
  position: relative;
  display: block;
  padding: 9px 12px; margin: 0 8px; border-radius: 7px; font-size: 14px; font-weight: 500;
  color: #223b32 !important;
}

.nav-dropdown-menu a:first-child { margin-top: 8px; }
.nav-dropdown-menu a:last-child { margin-bottom: 8px; }

.nav-dropdown-menu a:hover { background: var(--color-neutral-100); color: var(--color-accent) !important; }

.nav-dropdown-menu a[aria-current='page'] { background: var(--color-neutral-100); color: var(--color-accent) !important; font-weight: 600; }

.nav-dropdown-menu a[aria-current='page']::after { content: none; }

.nav-dropdown:hover .nav-dropdown-menu,
.nav-dropdown:focus-within .nav-dropdown-menu,
.nav-dropdown.is-open .nav-dropdown-menu {
  opacity: 1; visibility: visible; pointer-events: auto;
}

.nav-right { display: flex; align-items: center; gap: clamp(14px, 1.8vw, 22px); }

.nav-login { display: none; font-size: 14.5px; font-weight: 600; color: var(--color-text); text-decoration: none; }

.nav-login:hover { color: var(--color-accent); }

.nav-cta { display: none; padding: 5px 5px 5px 22px; min-height: 48px; border-radius: 999px; font-size: 14px; font-weight: 600; }

.nav-toggle {
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; background: transparent; border: 1.5px solid var(--color-divider);
  cursor: pointer; color: var(--color-text); flex: none;
}

.nav-toggle svg { width: 20px; height: 20px; }

.nav-toggle .icon-close { display: none; }

body.nav-open .nav-toggle .icon-menu { display: none; }

body.nav-open .nav-toggle .icon-close { display: block; }

.mobile-nav {
  display: none; flex-direction: column; background: var(--color-bg);
  border-top: 2px solid var(--color-divider);
}

body.nav-open .mobile-nav { display: flex; }

.mobile-nav a {
  padding: 15px var(--edge); font-size: 16px; font-weight: 600; color: var(--color-text);
  text-decoration: none; border-bottom: 1px solid var(--color-divider); min-height: 44px; display: flex; align-items: center;
}

.mobile-nav a[aria-current='page'] { color: var(--color-accent); }

.mobile-nav-group-trigger {
  width: 100%;
  padding: 15px var(--edge); font-size: 16px; font-weight: 600; color: var(--color-text);
  background: none; border: none; border-bottom: 1px solid var(--color-divider); min-height: 44px;
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
  font-family: inherit; text-align: left; cursor: pointer;
}

.mobile-nav-group.is-open .mobile-nav-group-trigger,
.mobile-nav-group.is-active .mobile-nav-group-trigger {
  color: var(--color-accent);
}

.mobile-nav-group-caret { width: 18px; height: 18px; flex: none; transition: transform .2s ease; }

.mobile-nav-group.is-open .mobile-nav-group-caret { transform: rotate(180deg); }

.mobile-nav-group-panel {
  display: none;
  flex-direction: column;
  background: var(--color-neutral-100);
}

.mobile-nav-group.is-open .mobile-nav-group-panel { display: flex; }

.mobile-nav-group-panel a.mobile-nav-sublink {
  padding: 13px var(--edge) 13px calc(var(--edge) + 18px); font-size: 15px; font-weight: 500;
}

.mobile-nav .mobile-nav-cta { padding: 16px var(--edge) 20px; }

@media (min-width: 900px) {
  .nav-links { display: flex; }
  .nav-login { display: inline-flex; align-items: center; min-height: 44px; }
  .nav-cta { display: inline-flex; }
  .nav-toggle { display: none; }
  .mobile-nav { display: none !important; }
}

.breadcrumb { background: var(--color-neutral-100); border-bottom: 1px solid var(--color-divider); }

.breadcrumb .container { padding-top: 10px; padding-bottom: 10px; }

.breadcrumb ol {
  list-style: none; margin: 0; padding: 0; display: flex; align-items: center;
  flex-wrap: wrap; gap: 6px; font-size: 13px;
}

.breadcrumb li { display: flex; align-items: center; gap: 6px; color: color-mix(in srgb, var(--color-text) 60%, transparent); }

.breadcrumb li:not(:last-child)::after { content: '/'; color: var(--color-neutral-500); }

.breadcrumb a { color: color-mix(in srgb, var(--color-text) 70%, transparent); text-decoration: none; }

.breadcrumb a:hover { color: var(--color-accent); }

.breadcrumb li[aria-current='page'] { color: var(--color-text); font-weight: 600; }

.site-footer {
  position: relative;
  background: var(--color-ink, #0a1120);
  color: #ffffff;
  font-family: inherit;
  overflow: hidden;
}

.footer-top-border {
  height: 2px;
  width: 100%;
  background: linear-gradient(
    90deg, 
    transparent 0%, 
    var(--color-accent-300, #38bdf8) 50%, 
    transparent 100%
  );
  opacity: 0.6;
}

.footer-content {
  padding: clamp(40px, 6vw, 72px) 20px clamp(32px, 4vw, 48px);
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(36px, 5vw, 64px);
}

@media (min-width: 900px) {
  .footer-content {
    grid-template-columns: 1.2fr 2fr;
    align-items: start;
  }
}

.footer-brand-col {
  display: flex;
  flex-direction: column;
}

.footer-brand {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
  flex-wrap: wrap;
}

.footer-brand img {
  height: 30px;
  width: auto;
  object-fit: contain;
  transition: opacity 0.2s ease;
}

.footer-brand img:hover {
  opacity: 0.85;
}

.footer-brand-divider {
  width: 1px;
  height: 22px;
  background: rgba(255, 255, 255, 0.2);
  flex-shrink: 0;
}

.footer-tagline {
  font-size: 0.95rem;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.65);
  max-width: 32ch;
  margin: 0 0 24px;
}

.footer-social {
  display: flex;
  gap: 10px;
}

.social-btn {
  width: 42px;
  height: 42px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: rgba(255, 255, 255, 0.85);
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  text-decoration: none;
}

.social-btn:hover {
  background: rgba(56, 189, 248, 0.15);
  border-color: var(--color-accent-300, #38bdf8);
  color: var(--color-accent-300, #38bdf8);
  transform: translateY(-3px);
  box-shadow: 0 8px 16px -4px rgba(56, 189, 248, 0.25);
}

.social-btn svg {
  width: 18px;
  height: 18px;
}

button.social-btn {
  padding: 0;
  font: inherit;
  position: relative;
}

.social-btn--soon {
  cursor: not-allowed;
  opacity: .55;
}

.social-btn--soon:hover {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.85);
  transform: none;
  box-shadow: none;
}

.social-btn-tip {
  position: absolute;
  bottom: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%) translateY(4px);
  white-space: nowrap;
  background: #0a1c15;
  color: #ffffff;
  font-size: 11px;
  font-weight: 600;
  padding: 5px 10px;
  border-radius: 6px;
  opacity: 0;
  pointer-events: none;
  transition: opacity .18s ease, transform .18s ease;
}

.social-btn-tip::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 5px solid transparent;
  border-top-color: #0a1c15;
}

.social-btn--soon:hover .social-btn-tip,
.social-btn--soon:focus-visible .social-btn-tip {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

.footer-nav-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 32px 24px;
}

.footer-heading {
  margin: 0 0 16px;
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--color-accent-300, #38bdf8);
}

.footer-links {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-links li {
  margin-bottom: 10px;
}

.footer-links a {
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  font-size: 0.925rem;
  transition: all 0.2s ease;
  display: inline-block;
}

.footer-links a:hover {
  color: #ffffff;
  transform: translateX(4px);
}

.footer-email-box {
  margin-top: 16px;
  padding-top: 12px;
  border-top: 1px dashed rgba(255, 255, 255, 0.12);
}

.footer-email-label {
  display: block;
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.45);
  text-transform: uppercase;
  margin-bottom: 4px;
}

.footer-email-link {
  display: block;
  font-size: 0.85rem;
  color: rgba(255, 255, 255, 0.75);
  text-decoration: none;
  word-break: break-word;
  transition: color 0.2s ease;
}

.footer-email-link:hover {
  color: var(--color-accent-300, #38bdf8);
}

.footer-bottom-wrapper {
  background: rgba(0, 0, 0, 0.25);
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.footer-bottom {
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: center;
  text-align: center;
  font-size: 0.85rem;
  color: rgba(255, 255, 255, 0.5);
}

@media (min-width: 640px) {
  .footer-bottom {
    flex-direction: row;
    justify-content: space-between;
    text-align: left;
  }
}

.footer-copyright {
  margin: 0;
}

.footer-legal-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

@media (min-width: 640px) {
  .footer-legal-wrap {
    flex-direction: row;
    align-items: center;
    gap: 20px;
  }
}

.footer-legal {
  display: flex;
  gap: 20px;
}

.footer-legal a {
  color: rgba(255, 255, 255, 0.5);
  text-decoration: none;
  transition: color 0.2s ease;
}

.footer-legal a:hover {
  color: var(--color-accent-300, #38bdf8);
}

.footer-dev-credit {
  color: rgba(255, 255, 255, 0.5);
}

.quote-band { padding: clamp(40px, 6vw, 72px) 0; }

.quote-band blockquote {
  margin: 0; font-family: var(--font-heading); font-weight: 800;
  font-size: clamp(21px, 2.6vw, 32px); line-height: 1.35; letter-spacing: -0.015em; max-width: 40ch;
}

.quote-band cite { display: block; margin-top: 16px; font-size: 13px; font-style: normal; letter-spacing: .06em; text-transform: uppercase; color: color-mix(in srgb, var(--color-bg) 66%, transparent); }

.note-box { border: 2px solid var(--color-divider); padding: 16px 20px; font-size: 14.5px; line-height: 1.6; color: color-mix(in srgb, var(--color-text) 82%, transparent); }

.note-box strong { color: var(--color-text); }

.disclaimer { font-size: 13px; line-height: 1.6; padding: 12px 16px; background: var(--color-neutral-100); border-left: 3px solid var(--color-accent); color: color-mix(in srgb, var(--color-text) 78%, transparent); }

.section-dark .disclaimer { background: color-mix(in srgb, var(--color-bg) 10%, transparent); color: color-mix(in srgb, var(--color-bg) 84%, transparent); border-left-color: var(--color-accent-400); }

.testimonial-slot { border: 2px dashed var(--color-accent); background: var(--color-accent-100); padding: clamp(22px, 3vw, 30px); max-width: 64ch; height: 100%; }

.testimonial-slot .slot-label { font-size: 11.5px; letter-spacing: .09em; text-transform: uppercase; color: var(--color-accent-700); margin: 0 0 12px; }

.testimonial-slot .slot-quote { font-family: var(--font-heading); font-weight: 800; font-size: clamp(18px, 2vw, 22px); line-height: 1.4; letter-spacing: -0.012em; margin: 0 0 12px; }

.testimonial-slot p:last-child { font-size: 15px; line-height: 1.6; color: color-mix(in srgb, var(--color-text) 70%, transparent); margin: 0; }

.assessment {
  position: relative;
  border: 1px solid var(--color-divider); border-radius: 22px; overflow: hidden;
  background: var(--color-bg); color: var(--color-text); min-width: 0;
  box-shadow: 0 20px 60px -12px rgba(10,46,34,.25), var(--shadow-lg);
  animation: afCardIn .6s var(--ease-out) both;
}

@keyframes afCardIn {
  from { opacity: 0; transform: translateY(18px) scale(.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

.assessment-track { flex: 1; height: 6px; border-radius: 999px; background: var(--color-neutral-200); overflow: hidden; }

.assessment-track-fill { height: 100%; width: 0%; background: var(--color-accent); border-radius: 999px; transition: width .4s var(--ease-out); }

.assessment-body { padding: clamp(20px, 3vw, 32px); }

.assessment-meta { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; margin-bottom: 14px; }

.assessment-meta .q-of { font-size: 12.5px; color: color-mix(in srgb, var(--color-text) 60%, transparent); margin: 0; }

.assessment-meta .q-of strong { color: var(--color-text); font-weight: 800; }

.q-area-wrap { display: flex; align-items: center; gap: 8px; }

.assessment-meta .q-area {
  font-size: 11px; letter-spacing: .06em; text-transform: uppercase; font-weight: 700;
  color: color-mix(in srgb, var(--color-text) 55%, transparent); margin: 0; text-align: right;
}

.q-area-icon {
  flex: none; width: 26px; height: 26px; border-radius: 50%;
  border: 1px solid var(--color-accent-200); color: var(--color-accent);
  display: flex; align-items: center; justify-content: center;
}

.q-area-icon-svg { width: 13px; height: 13px; }

.assessment-progress { display: flex; align-items: center; gap: 10px; margin-bottom: 22px; }

.assessment-progress-pct {
  flex: none; font-family: var(--font-heading); font-weight: 800; font-size: 11px;
  color: #ffffff; background: var(--color-accent); border-radius: 999px; padding: 3px 9px;
}

.q-of { font-size: 13px; font-weight: 700; color: var(--color-text); margin: 0 0 10px; }

.q-of strong { font-weight: 800; }

.assessment-track.segmented { display: flex; gap: 6px; height: auto; background: none; margin-bottom: 22px; }

.assessment-seg { flex: 1; height: 6px; border-radius: 999px; background: var(--color-neutral-200); }

.assessment-seg.is-filled { background: var(--color-accent); }

.q-icon-circle {
  display: flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; border-radius: 50%; margin-bottom: 14px;
  background: var(--color-accent-100); color: var(--color-accent);
}

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

.assessment-question {
  font-family: var(--font-heading); font-weight: 800; font-size: clamp(19px, 2.2vw, 24px);
  line-height: 1.3; letter-spacing: -0.015em; margin: 0 0 8px;
  animation: afSlideIn .32s var(--ease-out) both;
}

.assessment-subtext {
  font-size: 13.5px; color: color-mix(in srgb, var(--color-text) 60%, transparent); margin: 0 0 20px;
}

.btn-assessment-continue {
  display: flex; align-items: center; justify-content: center; gap: 10px;
  width: 100%; min-height: 56px; margin-top: 18px;
  background: var(--color-accent-900, #0a2e22); color: #ffffff;
  border: none; border-radius: 999px; cursor: pointer;
  font-family: var(--font-heading); font-weight: 700; font-size: 15.5px;
  transition: opacity .15s ease, transform .15s ease;
}

.btn-assessment-continue:hover:not(:disabled) { opacity: .92; }

.btn-assessment-continue:disabled { opacity: .45; cursor: not-allowed; }

.btn-assessment-arrow { font-size: 18px; line-height: 1; }

.assessment-time-note {
  display: block; text-align: center; margin-top: 14px;
  color: color-mix(in srgb, var(--color-text) 55%, transparent);
  font-size: 12.5px; font-weight: 500;
}

.assessment-time-icon { flex: none; width: 16px; height: 16px; color: var(--color-accent); }

.assessment-back { margin-top: 16px; }

.assessment-standalone { max-width: 640px; margin: 0 auto; }

.result { animation: afRise .5s var(--ease-out) both; }

.result-head { padding: clamp(20px, 3vw, 32px); border-bottom: 2px solid var(--color-divider); }

.result-head .r-label { font-size: 11.5px; letter-spacing: .09em; text-transform: uppercase; color: var(--color-accent-700); margin: 0 0 12px; }

.result-score {
  font-family: var(--font-heading); font-weight: 800; font-size: clamp(52px, 7vw, 86px);
  line-height: 1; letter-spacing: -0.035em; color: var(--color-accent); margin: 0;
}

.result-score .of100 { font-size: 0.34em; color: var(--color-text); }

.result-band { font-family: var(--font-heading); font-weight: 800; font-size: clamp(20px, 2.2vw, 26px); line-height: 1.25; letter-spacing: -0.018em; margin: 14px 0 8px; }

.result-band-line { font-size: 16.5px; line-height: 1.6; margin: 0; max-width: 46ch; color: color-mix(in srgb, var(--color-text) 84%, transparent); }

.result-bars { padding: clamp(18px, 2.5vw, 26px) clamp(20px, 3vw, 32px); }

.result-bars .rb-label { font-size: 11.5px; letter-spacing: .09em; text-transform: uppercase; color: color-mix(in srgb, var(--color-text) 55%, transparent); margin: 0 0 14px; }

.bar-row { display: grid; grid-template-columns: minmax(0,1fr) 84px; gap: 12px; align-items: center; padding: 8px 0; border-top: 1px solid var(--color-divider); }

.bar-row .bar-name { font-size: 15px; line-height: 1.35; margin: 0; min-width: 0; }

.bar-track { height: 9px; background: var(--color-neutral-200); }
.bar-fill { height: 100%; width: 0%; background: var(--color-ink); transition: width .7s var(--ease-out); }
.bar-fill.is-weak { background: var(--color-accent); }

.result-weak { padding: clamp(18px, 2.5vw, 26px) clamp(20px, 3vw, 32px); border-top: 2px solid var(--color-divider); background: var(--color-neutral-100); }

.result-weak .rw-label { font-size: 11.5px; letter-spacing: .09em; text-transform: uppercase; color: var(--color-accent-700); margin: 0 0 10px; }

.result-weak .rw-name { font-family: var(--font-heading); font-weight: 800; font-size: clamp(19px, 2vw, 23px); line-height: 1.3; letter-spacing: -0.012em; margin: 0 0 10px; }

.result-weak .rw-line { font-size: 16.5px; line-height: 1.6; margin: 0; max-width: 46ch; color: color-mix(in srgb, var(--color-text) 84%, transparent); }

.result-lead { padding: clamp(20px, 3vw, 32px); border-top: 2px solid var(--color-divider); }

.result-lead h4 { font-size: 19px; margin: 0 0 8px; }

.result-lead .rl-copy { font-size: 15.5px; line-height: 1.55; color: color-mix(in srgb, var(--color-text) 70%, transparent); margin: 0 0 18px; max-width: 44ch; }

.result-thanks h4 { font-size: 19px; margin: 0 0 10px; }

.result-thanks p { font-size: 16px; line-height: 1.6; margin: 0 0 18px; max-width: 48ch; color: color-mix(in srgb, var(--color-text) 82%, transparent); }

.scorecard { border: 2px solid var(--color-text); background: var(--color-ink); color: var(--color-bg); }

.scorecard-stats { display: flex; flex-wrap: wrap; gap: 1px; background: color-mix(in srgb, var(--color-bg) 24%, transparent); }

.scorecard-stat { flex: 1 1 150px; background: var(--color-ink); padding: 18px 20px; }

.scorecard-stat .st-label { font-size: 10.5px; letter-spacing: .08em; text-transform: uppercase; color: color-mix(in srgb, var(--color-bg) 58%, transparent); margin: 0 0 6px; }

.scorecard-stat .st-value { font-family: var(--font-heading); font-weight: 800; font-size: clamp(32px, 3.6vw, 44px); line-height: 1; letter-spacing: -0.03em; color: var(--color-accent-400); margin: 0; }

.scorecard-stat .st-value .unit { font-size: .4em; color: var(--color-bg); }

.scorecard-rows { padding: 8px clamp(18px, 2.5vw, 24px) 18px; border-top: 1px solid color-mix(in srgb, var(--color-bg) 24%, transparent); }

.scorecard-row {
  display: grid; grid-template-columns: 26px minmax(0,1fr) 56px 30px; gap: 8px 14px; align-items: center;
  padding: 9px 0; border-top: 1px solid color-mix(in srgb, var(--color-bg) 15%, transparent);
}

@media (min-width: 640px) { .scorecard-row { grid-template-columns: 26px minmax(0,17rem) minmax(0,1fr) 36px; } }

.scorecard-row .sr-num { font-family: var(--font-heading); font-weight: 800; font-size: 12.5px; color: var(--color-accent-400); margin: 0; }

.scorecard-row .sr-name { font-size: 15px; line-height: 1.35; margin: 0; min-width: 0; }

.scorecard-row .sr-track { height: 8px; background: color-mix(in srgb, var(--color-bg) 20%, transparent); min-width: 0; }

.scorecard-row .sr-fill { height: 100%; width: 0%; background: var(--color-accent-400); transition: width .75s var(--ease-out); }

.scorecard-row .sr-fill.is-low { background: var(--color-accent); }

.scorecard-row .sr-pct { font-size: 14px; text-align: right; margin: 0; }

.scorecard-segment { display: flex; align-items: center; gap: 10px; padding: 14px clamp(18px, 2.5vw, 24px); border-top: 1px solid color-mix(in srgb, var(--color-bg) 24%, transparent); flex-wrap: wrap; }

.scorecard-segment .sg-label { font-size: 10.5px; letter-spacing: .08em; text-transform: uppercase; color: color-mix(in srgb, var(--color-bg) 58%, transparent); margin: 0; }

.scorecard-segment .sg-value { font-size: 15px; margin: 0; }

.scorecard-foot { font-size: 13px; line-height: 1.55; margin: 0; padding: 12px clamp(18px, 2.5vw, 24px); background: color-mix(in srgb, var(--color-bg) 13%, transparent); color: color-mix(in srgb, var(--color-bg) 88%, transparent); }

.founder-avatar {
  width: clamp(120px, 16vw, 168px); aspect-ratio: 1; border-radius: 50%;
  background: linear-gradient(155deg, var(--color-accent-700), var(--color-ink));
  color: var(--color-bg); display: flex; align-items: center; justify-content: center;
  font-family: var(--font-heading); font-weight: 800; font-size: clamp(34px, 5vw, 48px);
  letter-spacing: 0.02em; flex: none;
}

.credential-list { display: flex; flex-direction: column; gap: 1px; background: var(--color-divider); border: 2px solid var(--color-divider); }

.credential-item { background: var(--color-bg); padding: 15px 18px; }

.credential-item .ci-title { font-family: var(--font-heading); font-weight: 800; font-size: 16.5px; line-height: 1.35; margin: 0 0 4px; }

.credential-item .ci-sub { font-size: 15px; margin: 0; color: color-mix(in srgb, var(--color-text) 68%, transparent); }

.photo { overflow: hidden; background: var(--color-neutral-200); }

.photo img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.08); }

.photo-frame { border: 2px solid var(--color-divider); }

.photo--color img { filter: none; }

.table-wrap { overflow-x: auto; }

.table { width: 100%; border-collapse: collapse; font-size: 15px; min-width: 480px; }

.table caption { text-align: left; margin-bottom: 8px; font-size: 13px; color: var(--color-text-muted); }

.table th {
  text-align: left; font-size: 11px; letter-spacing: .08em; text-transform: uppercase;
  color: color-mix(in srgb, var(--color-text) 60%, transparent);
  padding: 10px 14px; border-bottom: 2px solid var(--color-divider);
}

.table td { padding: 12px 14px; border-bottom: 1px solid var(--color-divider); vertical-align: top; }

.table tbody tr:hover { background: color-mix(in srgb, var(--color-text) 4%, transparent); }

.legal h2 { margin-top: var(--space-10); font-size: 22px; }

.legal h2:first-of-type { margin-top: 0; }

.legal p, .legal li { font-size: 15.5px; line-height: 1.7; color: color-mix(in srgb, var(--color-text) 88%, transparent); }

.legal .bracket { background: var(--color-accent-100); color: var(--color-accent-800); padding: 1px 5px; }

.legal-notice { border: 2px solid var(--color-accent); background: var(--color-accent-100); color: var(--color-accent-800); padding: 16px 20px; font-size: 14.5px; line-height: 1.6; margin-bottom: var(--space-10); }

.error-page { min-height: 60vh; display: flex; align-items: center; }

.error-code { font-family: var(--font-heading); font-weight: 800; font-size: clamp(72px, 14vw, 160px); line-height: 1; letter-spacing: -0.03em; color: var(--color-accent); margin: 0; }

.portal-icon { width: 56px; height: 56px; color: var(--color-accent); }

.icon-sm { width: 20px; height: 20px; flex: none; }

.icon-md { width: 24px; height: 24px; flex: none; color: var(--color-accent); }

.hero-mock { position: relative; overflow: hidden; max-width: 100%; background: linear-gradient(180deg, var(--color-accent-100) 0%, var(--color-bg) 100%); }

.hero-mock .container { position: relative; z-index: 2; }

.hero-blob {
  position: absolute; border-radius: 50%; background: var(--color-accent-200);
  filter: blur(60px); opacity: .55; z-index: 0; pointer-events: none;
}

.hero-blob--a { width: 360px; height: 360px; top: -140px; right: -80px; }

.hero-blob--b { width: 300px; height: 300px; bottom: -120px; left: -60px; background: var(--color-accent-300); opacity: .4; }

.hero-wave { position: absolute; left: 0; right: 0; bottom: -2px; z-index: 1; line-height: 0; pointer-events: none; }

.hero-wave svg { display: block; width: 100%; height: auto; }

.hero-badge {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 7px 16px; margin-bottom: 18px;
  border: 1px solid rgba(16,185,129,.35); border-radius: 999px;
  background: rgba(16,185,129,.08); color: #0a6b4a;
  font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
  animation: afBadgeIn .5s var(--ease-out) both;
}

.hero-badge svg { width: 15px; height: 15px; flex: none; }

@keyframes afBadgeIn {
  from { opacity: 0; transform: translateY(-6px); }
  to { opacity: 1; transform: translateY(0); }
}

.hero-headline {
  color: #0a1c15; max-width: 19ch;
  font-size: clamp(2.4rem, 4vw, 4.4rem);
  line-height: .95;
  letter-spacing: -.03em;
  font-weight: 700;
}

.hero-headline-accent { color: #10b981; display: block; margin-top: 2px; }

.hero-headline-divider {
  display: block; width: 56px; height: 3px; margin: 18px 0 0;
  background: var(--color-accent); border-radius: 2px;
}

@media (max-width: 1000px) {
  .hero-headline { font-size: clamp(2.2rem, 4.5vw, 3.4rem); }
}

@media (max-width: 700px) {
  .hero-headline { font-size: clamp(2rem, 7vw, 2.8rem); line-height: 1; }
}

@media (max-width: 480px) {
  .hero-headline { font-size: 1.9rem; }
}

.hero-stats-row {
  display: flex; gap: clamp(20px, 3vw, 34px); flex-wrap: wrap;
  margin-top: 34px;
}

.hero-stat-chip { display: flex; align-items: center; gap: 10px; transition: transform .2s var(--ease-out); }

.hero-stat-chip:hover { transform: translateY(-3px); }

.hero-stat-chip:hover .hero-stat-icon { border-color: var(--color-accent); background: var(--color-accent-100); }

.hero-stat-num {
  flex: none; width: 40px; height: 40px; border-radius: 50%;
  background: #ffffff; border: 1px solid rgba(10,28,21,.12);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-heading); font-weight: 800; font-size: 16px; color: #0a1c15;
}

.hero-stat-icon {
  flex: none; width: 38px; height: 38px; padding: 9px; box-sizing: border-box;
  border-radius: 50%; background: #ffffff; border: 1.5px solid rgba(16,185,129,.35); color: #10b981;
  transition: border-color .2s ease, background .2s ease;
}

.hero-stat-label { font-size: 13px; font-weight: 700; color: #0a1c15; line-height: 1.35; }

.hero-stat-label small { font-weight: 500; color: color-mix(in srgb, #0a1c15 60%, transparent); font-size: 12px; }

.hero-trust-line {
  display: flex; align-items: center; gap: 12px; margin-top: 26px;
  font-size: 13.5px; color: color-mix(in srgb, #0a1c15 72%, transparent); max-width: 40ch;
}

@media (max-width: 420px) {
  .hero-trust-line { flex-direction: column; align-items: flex-start; gap: 10px; }
}

.hero-avatar-group { display: flex; flex: none; }

.hero-avatar {
  width: 32px; height: 32px; border-radius: 50%; flex: none;
  background: #cfe9de; color: #0a6b4a; border: 2px solid #ffffff;
  display: flex; align-items: center; justify-content: center;
  margin-left: -10px;
}

.hero-avatar:first-child { margin-left: 0; }

.hero-avatar svg { width: 16px; height: 16px; }

@media (max-width: 640px) {
  .hero-stats-row { gap: 16px 22px; }
}

.stats-bar { border-top: 1px solid var(--color-divider); border-bottom: 1px solid var(--color-divider); }

.stats-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 20px; padding: clamp(24px, 3vw, 34px) 0; }

.stat-item { display: flex; align-items: center; gap: 16px; }

.icon-circle {
  width: 54px; height: 54px; border-radius: 50%; flex: none;
  background: var(--color-accent-100); color: var(--color-accent);
  display: flex; align-items: center; justify-content: center;
}

.icon-circle svg { width: 24px; height: 24px; }

.stat-value { font-family: var(--font-heading); font-weight: 800; font-size: clamp(22px, 2.4vw, 28px); margin: 0; line-height: 1.1; letter-spacing: -0.02em; }

.stat-label { font-size: 13.5px; color: color-mix(in srgb, var(--color-text) 62%, transparent); margin: 3px 0 0; }

.pillar-row { display: flex; flex-wrap: wrap; justify-content: center; gap: 30px 22px; }

.pillar-row-item { display: flex; flex-direction: column; align-items: center; text-align: center; width: 132px; gap: 12px; }

.pillar-row-item .icon-circle { width: 64px; height: 64px; }

.pillar-row-item .icon-circle svg { width: 26px; height: 26px; }

.pillar-row-item p { font-size: 13.5px; font-weight: 600; line-height: 1.3; margin: 0; }

.steps-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(135px, 1fr)); gap: 20px; position: relative; }

@media (min-width: 720px) {
  .steps-row::before { content: ''; position: absolute; top: 25px; left: 8%; right: 8%; border-top: 2px dashed var(--color-accent-300); z-index: 0; }
}

.step-circle {
  width: 50px; height: 50px; border-radius: 50%; background: var(--color-accent); color: var(--color-bg);
  display: flex; align-items: center; justify-content: center; font-family: var(--font-heading); font-weight: 800;
  font-size: 17px; margin-bottom: 16px; position: relative; z-index: 1;
}

.check-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 13px; }

.check-list li { display: flex; gap: 11px; align-items: flex-start; font-size: 15.5px; }

.check-list .ic-check {
  width: 22px; height: 22px; border-radius: 50%; background: var(--color-accent); color: var(--color-bg);
  flex: none; display: flex; align-items: center; justify-content: center; margin-top: 1px;
}

.check-list .ic-check svg { width: 13px; height: 13px; }

@media (max-width: 600px) {
  .apart-row {
    grid-template-columns: 30px minmax(0, 1fr) !important;
    gap: 12px !important;
  }
  .apart-num {
    font-size: 20px !important;
  }
}

@keyframes afRise { from { opacity: 0; transform: translate3d(0, 16px, 0); } to { opacity: 1; transform: none; } }

@keyframes afSlideIn { from { opacity: 0; transform: translate3d(24px, 0, 0); } to { opacity: 1; transform: none; } }

@keyframes afScaleIn { from { opacity: 0; transform: scale(.96); } to { opacity: 1; transform: none; } }

[data-reveal] { opacity: 0; }

[data-reveal].is-visible { animation: afRise .65s var(--ease-out) both; opacity: 1; }

[data-stagger] > * { opacity: 0; }

[data-stagger].is-visible > * { opacity: 1; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  [data-reveal], [data-stagger] > * { opacity: 1 !important; }
}

.mt-0 { margin-top: 0; }

.mb-0 { margin-bottom: 0; }

.hide { display: none !important; }

@media (max-width: 640px) {
  .hide-mobile { display: none !important; }
}

.hero-mock::before {
    content: "";
    position: absolute;
    inset: 0;
    
    background: url("../homebanner.png") center / cover no-repeat;
    
    transform: scaleX(-1);
    z-index: 0;
}

.hero-mock::after {
    content: "";
    position: absolute;
    inset: 0;

    background: linear-gradient(
        90deg,
        rgba(255,255,255,0.92) 0%,
        rgba(255,255,255,0.65) 45%,
        rgba(255,255,255,0.15) 100%
    );

    z-index: 1;
}

.results-wrapper{
        max-width:1400px;
        margin:auto;
        display:grid;
        grid-template-columns:minmax(0,350px) minmax(0,1fr);
        gap:50px;
        align-items:start;
    }

.small-title{
        font-size:14px;
        letter-spacing:3px;
        color:var(--color-accent);
        margin-bottom:20px;
    }

.left-content h2{
        margin-bottom:25px;
    }

.divider{

        width:70px;
        height:3px;
        background:var(--color-accent-2);
        margin-bottom:30px;

    }

.left-content p{

        line-height:1.7;
        color:var(--color-text);
        margin-bottom:40px;

    }

.summary-card{

        background:#fff;
        border:1px solid var(--color-divider);
        border-radius:var(--radius-md);
        padding:25px;
        margin-bottom:18px;
    }

.summary-label{

        font-size:12px;
        color:#777;
        letter-spacing:1px;

    }

.summary-value{

        font-size:36px;
        font-weight:700;
        margin-top:8px;

    }

.summary-text{

        color:#777;
        font-size:14px;
        margin-top:8px;

    }

.button{

        display:inline-block;
        background:var(--color-accent);
        color:white;
        padding:16px 30px;
        border-radius:var(--radius-md);
        margin-top:20px;
        text-decoration:none;
        font-weight:600;

    }

.note{

        margin-top:30px;
        font-size:13px;
        color:#777;

    }

.dashboard{

        background:#fff;
        border:1px solid var(--color-divider);
        border-radius:var(--radius-md);
        overflow:hidden;
        max-width:100%;

    }

.overview{

        padding:clamp(18px,4vw,35px);
        display:grid;
        grid-template-columns:minmax(0,260px) minmax(0,1fr) minmax(0,220px);
        gap:30px;
        align-items:center;

    }

.chart-title{

        font-size:14px;
        font-weight:700;
        margin-bottom:20px;

    }

.donut{

        width:210px;
        height:210px;
        max-width:100%;
        aspect-ratio:1/1;
        border-radius:50%;
        background:
        conic-gradient(
        var(--color-accent) 0 25%,
        #779c8b 25% 40%,
        #4f8f78 40% 58%,
        var(--color-accent-2) 58% 70%,
        #98704a 70% 82%,
        #9aaa9d 82% 92%,
        #d8d7ca 92%
        );

        display:flex;
        align-items:center;
        justify-content:center;
        margin:0 auto;

    }

.donut:after{

        content:"";
        width:130px;
        height:130px;
        background:white;
        border-radius:50%;
        position:absolute;

    }

.chart-center{

        position:relative;
        z-index:2;
        text-align:center;

    }

.chart-center strong{

        font-size:55px;
        display:block;

    }

.legend div{

        margin:15px 0;
        font-size:15px;

    }

.dot{

        width:10px;
        height:10px;
        display:inline-block;
        border-radius:50%;
        margin-right:12px;
        flex-shrink:0;

    }

.insight{

        border-left:1px solid var(--color-divider);
        padding-left:25px;

    }

.insight h3{

        margin-bottom:20px;

    }

.insight p{

        color:var(--color-text);
        line-height:1.6;

    }

.pillars{

        border-top:1px solid var(--color-divider);
        padding:clamp(18px,4vw,35px);

    }

.pillar{

        display:grid;
        grid-template-columns:minmax(0,300px) minmax(0,1fr) 40px;
        align-items:center;
        gap:20px;
        padding:15px 0;
        border-bottom:1px solid var(--color-divider);

    }

.bar{

        height:8px;
        background:var(--color-accent-100);
        border-radius:var(--radius-md);

    }

.fill{

        height:100%;
        border-radius:var(--radius-md);
        background:var(--color-accent);

    }

.segment{

        padding:20px clamp(16px,4vw,35px);
        border-top:1px solid var(--color-divider);
        color:#777;
        font-size:14px;

    }

@media(max-width:1000px){

    .results-wrapper{

    grid-template-columns:1fr;

    }

    .overview{

    grid-template-columns:1fr;

    }

    .pillar{

    grid-template-columns:1fr;

    }

    }

@media(max-width:480px){

    .chart-center strong{
    font-size:42px;
    }

    .donut{
    width:170px;
    height:170px;
    }

    }

.stats-section { width: 100%; padding: 40px 50px; background: #ffffff; }

.stats-container { max-width: 1250px; margin: 0 auto; display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }

.stat-card {
    min-height: 165px; padding: 28px 24px; border: 1px solid var(--color-divider); border-radius: 10px;
    background: #ffffff; display: flex; align-items: flex-start; gap: 16px;
    box-shadow: 0 4px 14px rgba(10, 28, 21, 0.06);
  }

.icon-wrap {
    width: 46px; height: 46px; min-width: 46px; border-radius: 50%; background: var(--color-accent-100);
    display: flex; align-items: center; justify-content: center;
  }

.icon-wrap svg { width: 22px; height: 22px; fill: var(--color-accent); }

.stat-content { padding-top: 1px; }

.stat-value { font-size: 30px; line-height: 1; font-weight: 700; color: var(--color-accent-900); margin-bottom: 10px; }

.stat-value span { font-size: 15px; font-weight: 600; margin-left: 2px; }

.stat-value.text-value { font-size: 25px; }

.stat-content h4 { margin: 0 0 8px; font-size: 15px; line-height: 1.4; font-weight: 700; color: var(--color-accent-800); }

.stat-content p { margin: 0; font-size: 13px; line-height: 1.5; color: var(--color-neutral-600); }

@media (max-width: 900px) { .stats-container { grid-template-columns: repeat(2, 1fr); } }

@media (max-width: 520px) {
    .stats-section { padding: 25px 16px; }
    .stats-container { grid-template-columns: 1fr; }
    .stat-card { min-height: 150px; }
  }

.marquee-section{

    width:100%;
    background:#ffffff;
    padding:60px 0;
    overflow:hidden;

}

.marquee-stripe{

    width:100%;
    overflow:hidden;

    background:#0a1c15;

    padding:25px 0;

}

.marquee-row{

    display:flex;
    width:max-content;

    white-space:nowrap;

}

.marquee-text{

    font-family:"Archivo",sans-serif;

    font-size:90px;

    font-weight:400;

    letter-spacing:-3px;

    color:#ffffff;

    padding-right:60px;

}

.marquee-text span{

    color:#d2ad73;

}

.marquee-left{

    animation:scrollLeft 45s linear infinite;

}

.marquee-right{

    animation:scrollRight 50s linear infinite;

}

@keyframes scrollLeft{

    from{
        transform:translateX(0);
    }

    to{
        transform:translateX(-50%);
    }

}

@keyframes scrollRight{

    from{
        transform:translateX(-50%);
    }

    to{
        transform:translateX(0);
    }

}

@media(max-width:768px){

.marquee-section{

    padding:35px 0;

}

.marquee-stripe{

    padding:18px 0;

}

.marquee-text{

    font-size:42px;

    letter-spacing:-1px;

    padding-right:35px;

}

}

.video-overlay{

    position:absolute;

    inset:0;

    display:flex;

    justify-content:center;

    align-items:center;

    z-index:2;

}

.video-play{

    width:100px;

    height:100px;

    border-radius:50%;

    background:#ffffff;

    display:flex;

    align-items:center;

    justify-content:center;

    position:relative;

    cursor:pointer;

}

.video-play::before{

    content:"";

    width:0;

    height:0;

    border-top:16px solid transparent;

    border-bottom:16px solid transparent;

    border-left:25px solid #0a1c15;

    margin-left:8px;

}

.video-play::after{

    content:"";

    position:absolute;

    inset:-12px;

    border-radius:50%;

    border:1px solid rgba(255,255,255,.5);

    animation:pulse 2s infinite;

}

@keyframes pulse{

    0%{

        transform:scale(1);

        opacity:1;

    }

    100%{

        transform:scale(1.4);

        opacity:0;

    }

}

@media(max-width:600px){

.video-card{

    height:460px;

    border-radius:20px;

}

.video-overlay{

    align-items:flex-start;

    padding-top:34%;

}

.video-caption{

    left:16px;

    right:16px;

    bottom:16px;

    padding:16px;

    max-width:none;

}

.video-caption h3{

    font-size:18px;

    margin-bottom:8px;

}

.video-caption p{

    font-size:13px;

    line-height:1.5;

    display:-webkit-box;

    -webkit-line-clamp:2;

    line-clamp:2;

    -webkit-box-orient:vertical;

    overflow:hidden;

}

.video-play{

    width:64px;

    height:64px;

}

.video-play::before{

    border-top:12px solid transparent;

    border-bottom:12px solid transparent;

    border-left:18px solid #0a1c15;

    margin-left:6px;

}

.video-tag{

    top:16px;

    left:16px;

    padding:8px 14px;

    font-size:10px;

}

}

.pillars-grid{

        display:grid;
        grid-template-columns:repeat(4,1fr);
        gap:28px;

    }

@media (min-width: 1101px) {

  .pillars-grid.pillars-grid--balanced {
    grid-template-columns: repeat(8, 1fr);
  }

  .pillars-grid--balanced .pillar-item {
    grid-column: span 2;
  }

  .pillars-grid--balanced .pillar-item:nth-child(5) { grid-column-start: 2; }
  .pillars-grid--balanced .pillar-item:nth-child(6) { grid-column-start: 4; }
  .pillars-grid--balanced .pillar-item:nth-child(7) { grid-column-start: 6; }

}

.pillar-item{

        position:relative;

        background:#f6f6f2;

        padding:35px 28px;

        min-height:290px;

        border-radius:18px;

        overflow:hidden;

        transition:.35s ease;

    }

.pillar-item:hover{

        transform:translateY(-8px);

        box-shadow:0 20px 45px rgba(10,28,21,.12);

    }

.pillar-number{

        position:absolute;

        top:10px;

        right:18px;

        font-size:55px;

        line-height:1;

        font-weight:600;

        color:rgba(10,28,21,.12);

        letter-spacing:-3px;

    }

.pillar-icon{

        width:58px;

        height:58px;

        border-radius:50%;

        display:flex;

        align-items:center;

        justify-content:center;

        color:#ffffff;

        font-size:24px;

        margin-bottom:35px;

        box-shadow:0 10px 25px rgba(10,28,21,.15);

    }

.pillar-item:nth-child(1) .pillar-icon{
        background:#235642;
    }

.pillar-item:nth-child(2) .pillar-icon{
        background:#235642;
    }

.pillar-item:nth-child(3) .pillar-icon{
        background:#235642;
    }

.pillar-item:nth-child(4) .pillar-icon{
        background:#235642;
    }

.pillar-item:nth-child(5) .pillar-icon{
        background:#235642;
    }

.pillar-item:nth-child(6) .pillar-icon{
        background:#235642;
    }

.pillar-item:nth-child(7) .pillar-icon{
        background:#235642;
    }

.pillar-name{

        font-family:"Archivo",sans-serif;

        font-size:20px;

        line-height:1.35;

        color:#0a1c15;

        font-weight:600;

        margin-bottom:15px;

    }

.pillar-desc{

        font-size:14px;

        line-height:1.7;

        color:#68726d;

        margin-bottom:25px;

    }

.read-more{

        display:inline-block;

        font-size:11px;

        letter-spacing:2px;

        font-weight:600;

        color:#0a1c15;

        border-bottom:1px solid #0a1c15;

            padding-bottom:6px;

        }

@media(max-width:1100px){

        .pillars-grid{

            grid-template-columns:repeat(2,1fr);

        }

    }

@media(max-width:600px){

        .pillars-grid{

            grid-template-columns:1fr;

        }

    }

.step{

    text-align:center;

    position:relative;

    z-index:1;

}

.step-title{

    margin-top:12px;

    font-family:"Archivo",sans-serif;

    font-size:18px;

    font-weight:600;

    color:#0a1c15;

}

.step-desc{

    margin-top:8px;

    font-family:"Archivo",sans-serif;

    font-size:14px;

    color:#68726d;

    line-height:1.6;

}

@media(max-width:768px){

.how-section{

    padding:50px 20px;

}

.steps-wrapper{

    grid-template-columns:1fr;

    gap:45px;

}

.steps-wrapper::before{

    top:0;

    bottom:0;

    left:50%;

    right:auto;

    width:1px;

    height:auto;

}

.step{

    background:#f7f3eb;

}

.step-number{

    width:65px;

    height:65px;

}

}

.founder-section { width: 100%; padding: 45px 20px; background: #ffffff; }

.founder-card {
     margin: 0 auto; padding: 35px 40px; border: 1px solid var(--color-divider); border-radius: 10px;
    background: #ffffff; display: flex; align-items: center; gap: 30px; box-shadow: 0 4px 14px rgba(10, 28, 21, 0.06);
  }

.founder-card .founder-avatar {
    width: 125px; height: 125px; min-width: 125px; border-radius: 12px; background: var(--color-accent-100); color: var(--color-accent-800);
    display: flex; align-items: center; justify-content: center; font-family: "Archivo", system-ui, sans-serif;
    font-size: 34px; font-weight: 700; letter-spacing: 1px;
  }

.founder-content { flex: 1; }

.founder-label { margin: 0 0 5px; font-size: 14px; color: var(--color-neutral-600); font-weight: 600; }

.founder-title { margin: 0 0 8px; color: #022b1f; font-size: 43px; line-height: 1.05; font-weight: 700; letter-spacing: -1.8px; }

.founder-name { margin: 0 0 12px; font-size: 17px; font-weight: 700; color: var(--color-accent-900); }

.founder-text { margin: 0; font-size: 14px; line-height: 1.7; color: var(--color-neutral-600); }

.founder-link { display: inline-block; margin-top: 14px; font-size: 14px; font-weight: 700; color: var(--color-accent); text-decoration: none; }

.founder-link:hover { text-decoration: underline; }

@media (max-width: 700px) {
    .founder-section { padding: 30px 15px; }
    .founder-card { padding: 28px 20px; flex-direction: column; text-align: center; gap: 20px; }
    .founder-card .founder-avatar { width: 110px; height: 110px; min-width: 110px; font-size: 30px; }
    .founder-text { font-size: 13px; }
  }

.Afia-testimonials {
    width: 100%;
    padding: 100px 40px 80px;
    background: #f7f3eb;
    overflow: hidden;
}

.Afia-testimonials * {
    box-sizing: border-box;
}

.Afia-testimonials-container {
    max-width: 1250px;
    margin: 0 auto;
}

.Afia-testimonial-top {
    display: grid;
    grid-template-columns: minmax(0, 0.72fr) minmax(0, 1fr);
    gap: 70px;
    align-items: start;
    padding-bottom: 70px;
    border-bottom: 1px solid rgba(10, 28, 21, 0.16);
}

.Afia-testimonial-label {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: 6px 14px;
    border: 1px solid #d2a85e;
    border-radius: 4px;
    background: rgba(210, 168, 94, 0.08);
    color: #022b1f;
    font-family: "Archivo", sans-serif;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: 0.4px;
    text-transform: uppercase;
    margin-bottom: 18px;
}

.Afia-testimonial-heading {
    margin: 0;
    max-width: 480px;
    color: #022b1f;
    font-size: 43px;
    line-height: 1.05;
    font-weight: 700;
    letter-spacing: -1.8px;
}

.Afia-testimonial-heading span {
    color: #b08a55;
}

.Afia-slider {
    position: relative;
    overflow: hidden;
    width: 100%;
}

.Afia-slider-track {
    display: flex;
    width: 100%;
    transition: transform 0.65s cubic-bezier(0.65, 0, 0.35, 1);
}

.Afia-slide {
    flex: 0 0 100%;
    width: 100%;
    background: #ffffff;
    border: 1px solid rgba(10, 28, 21, 0.08);
    border-radius: 20px;
    padding: clamp(28px, 4vw, 44px);
    box-shadow: 0 16px 40px rgba(10, 28, 21, 0.07);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.Afia-quote {
    margin: 0 0 30px;
    font-family: "Archivo", sans-serif;
    font-size: 24px;
    line-height: 1.65;
    font-weight: 400;
    color: #35443d;
}

.Afia-quote-mark {
    display: block;
    font-family: Georgia, serif;
    font-size: 72px;
    line-height: 0.6;
    color: #d2ad73;
    margin-bottom: 20px;
}

.Afia-person-area {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding-top: 25px;
    border-top: 1px solid rgba(10, 28, 21, 0.15);
}

.Afia-person {
    display: flex;
    align-items: center;
    gap: 15px;
}

.Afia-person-image {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: #d2ad73;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #0a1c15;
    font-family: "Archivo", sans-serif;
    font-size: 18px;
    font-weight: 700;
}

.Afia-person-info strong {
    display: block;
    font-family: "Archivo", sans-serif;
    font-size: 16px;
    color: #0a1c15;
    margin-bottom: 4px;
}

.Afia-person-info span {
    font-family: "Archivo", sans-serif;
    font-size: 13px;
    color: #718078;
}

.Afia-controls {
    display: flex;
    gap: 10px;
}

.Afia-arrow {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    border: 1px solid rgba(10, 28, 21, 0.25);
    background: transparent;
    color: #0a1c15;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 20px;
    transition: 0.25s ease;
}

.Afia-arrow:hover {
    background: #0a1c15;
    color: #d2ad73;
    border-color: #0a1c15;
}

.Afia-dots {
    display: flex;
    gap: 7px;
    margin-top: 24px;
}

.Afia-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    border: 0;
    padding: 0;
    background: #c8c2b6;
    cursor: pointer;
    transition: 0.3s ease;
}

.Afia-dot.active {
    width: 25px;
    border-radius: 10px;
    background: #0a1c15;
}

.Afia-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    padding-top: 55px;
}

@media (max-width: 900px) {

    .Afia-testimonials {
        padding: 70px 25px;
    }

    .Afia-testimonial-top {
        grid-template-columns: 1fr;
        gap: 45px;
    }

    .Afia-quote {
        font-size: 21px;
    }

}

@media (max-width: 600px) {

    .Afia-testimonials {
        padding: 60px 18px;
    }

    .Afia-testimonial-top {
        gap: 35px;
        padding-bottom: 50px;
    }

    .Afia-quote {
        font-size: 18px;
        line-height: 1.65;
    }

    .Afia-quote-mark {
        font-size: 58px;
    }

    .Afia-person-area {
        align-items: flex-end;
    }

    .Afia-controls {
        gap: 7px;
    }

    .Afia-arrow {
        width: 40px;
        height: 40px;
        font-size: 17px;
    }

    .Afia-stats {
        grid-template-columns: repeat(2, 1fr);
        row-gap: 35px;
        padding-top: 45px;
    }

    .Afia-stat {
        padding: 0 12px;
    }

    .Afia-stat:nth-child(2) {
        border-right: 0;
    }

    .Afia-stat-number {
        font-size: 34px;
    }

    .Afia-stat-label {
        font-size: 12px;
    }

}

@media (max-width: 380px) {

    .Afia-quote {
        font-size: 17px;
    }

    .Afia-person-info strong {
        font-size: 14px;
    }

    .Afia-person-info span {
        font-size: 11px;
    }

}

.testimonialCard.is-next, .testimonialCard.is-prev { z-index: 2; opacity: 0; pointer-events: none; }

.testimonialCard.is-next { transform: translate3d(18px, 12px, 0) rotate(2deg) scale(.975); }

.testimonialCard.is-prev { transform: translate3d(-18px, 12px, 0) rotate(-2deg) scale(.975); }

.paginationBar.active { background: #00594f; }

.testimonialStat { display: grid; grid-template-columns: 70px 1fr; gap: 18px; align-items: center; min-height: 100px; padding: 0 38px; }

.testimonialStat:first-child { padding-left: 20px; }

.testimonialStat + .testimonialStat { border-left: 1px solid #d9e0dd; }

.statText { color: #4c6170; font-size: 15px; line-height: 1.4; }

.testimonialSection .testi-readmore { display: inline; padding: 0; border: 0; background: none; color: #00594f; font: inherit; font-weight: 700; text-decoration: underline; cursor: pointer; }

@media (max-width: 1100px) {
  .testimonialTop { grid-template-columns: .85fr 1.15fr; gap: 50px; }
  .testimonialCard { padding: 35px 35px 30px; }
  .testimonialText { font-size: 17px; }
  .testimonialStat { padding: 0 22px; }
}

@media (max-width: 850px) {
  .testimonialSection { padding: 55px 20px; }
  .testimonialTop { grid-template-columns: 1fr; gap: 55px; }
  .testimonialContent { max-width: 100%; }
  .testimonialSliderArea { padding: 20px 8px 45px; }
  .testimonialStats { grid-template-columns: repeat(2, 1fr); row-gap: 30px; }
  .testimonialStat:nth-child(3) { border-left: 0; }
}

@media (max-width: 560px) {
  .testimonialSection { padding: 45px 15px; }
  .testimonialBadge { margin-bottom: 32px; }
  .testimonialStack { min-height: 560px; }
  .testimonialCard { min-height: 540px; padding: 28px 22px; }
  .cardTop { margin-bottom: 20px; }
  .quoteIcon { font-size: 64px; }
  .cardTag { max-width: 150px; font-size: 8px; letter-spacing: 1.5px; }
  .testimonialText { font-size: 16px; }
  .cardFooter { align-items: flex-end; }
  .personAvatar { width: 54px; height: 54px; font-size: 16px; }
  .personRole { font-size: 12px; }
  .testimonialPrev, .testimonialNext { width: 43px; height: 43px; font-size: 20px; }
  .testimonialStats { grid-template-columns: 1fr; }
  .testimonialStat { padding: 20px 0; border-bottom: 1px solid #d9e0dd; }
  .testimonialStat + .testimonialStat { border-left: 0; }
  .testimonialStat:first-child { padding-left: 0; }
  .testimonialStat:last-child { border-bottom: 0; }
}

.hero-premium {
  --hero-green: #022b1f;
  --hero-light-green: #61d6ae;

  position: relative;
  width: 100%;
  min-height: min(760px, 88vh);

  overflow: hidden;

  background: var(--hero-green);
  color: #fff;
}

.hero-premium-inner {
  position: relative;
  z-index: 2;

  width: 100%;
  min-height: min(760px, 88vh);

  display: grid;
  grid-template-columns: 52.5% 47.5%;

  margin: 0;
  padding: 0;
}

.hero-premium-content {
  position: relative;
  z-index: 3;

  min-height: min(760px, 88vh);

  display: flex;
  flex-direction: column;
  justify-content: center;

  padding:
    clamp(70px, 8vw, 125px)
    clamp(28px, 5vw, 85px)
    clamp(65px, 7vw, 100px);

  overflow: hidden;

  background-color: var(--hero-green);
}

.hero-premium-content::before {
  content: "";

  position: absolute;
  inset: 0;

  background-image:
    linear-gradient(
      rgba(255,255,255,.055) 1px,
      transparent 1px
    ),
    linear-gradient(
      90deg,
      rgba(255,255,255,.055) 1px,
      transparent 1px
    );

  background-size: 25px 25px;

  opacity: .55;

  pointer-events: none;
}

.hero-premium-content::after {
  content: "";

  position: absolute;
  inset: 0;

  background:
    radial-gradient(
      circle at 20% 50%,
      rgba(97,214,174,.08),
      transparent 48%
    );

  pointer-events: none;
}

.hero-premium-kicker,
.hero-premium-title,
.hero-premium-description,
.hero-premium-actions {
  position: relative;
  z-index: 3;
}

.hero-premium-kicker {
  display: block;

  margin: 0 0 25px;

  color: #ffffff;

  font-size: 12px;
  line-height: 1;

  font-weight: 600;

  letter-spacing: .04em;

  text-transform: uppercase;
}

.hero-testi-banner::before,
.hero-contact-banner::before,
.meth-hero::before,
.hero-report::before,
.hero-self-check::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px);
  background-size: 25px 25px;
  opacity: .55;
  pointer-events: none;
  z-index: 1;
}

.hero-eyebrow-text {
  font-size: 12px !important;
  line-height: 1 !important;
  font-weight: 600 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  color: #ffffff !important;
}

.hero-eyebrow-line { display: none !important; }

.hero-eyebrow-wrapper { margin-bottom: 25px !important; }

.hero-contact-title,
.hero-testi-title,
.hero-self-title,
.meth-hero-title,
.hero-report-title {
  font-family: var(--font-heading) !important;
  color: #ffffff !important;
  max-width: 720px !important;
  margin: 0 !important;
  font-size: clamp(3.5rem, 6.1vw, 6.8rem) !important;
  line-height: .88 !important;
  font-weight: 700 !important;
  letter-spacing: -.065em !important;
}

.hero-contact-subtitle,
.hero-testi-subtitle,
.hero-self-subtitle,
.meth-hero-lead,
.hero-report-desc {
  max-width: 610px !important;
  margin: 31px 0 0 !important;
  color: rgba(255, 255, 255, .74) !important;
  font-size: clamp(.95rem, 1.1vw, 1.08rem) !important;
  line-height: 1.65 !important;
  font-weight: 400 !important;
}

@media (max-width: 700px) {
  .hero-contact-title,
  .hero-testi-title,
  .hero-self-title,
  .meth-hero-title,
  .hero-report-title {
    max-width: 600px !important;
    font-size: clamp(3.3rem, 13vw, 5rem) !important;
    line-height: .9 !important;
  }

  .hero-contact-subtitle,
  .hero-testi-subtitle,
  .hero-self-subtitle,
  .meth-hero-lead,
  .hero-report-desc {
    max-width: 550px !important;
    margin-top: 27px !important;
    font-size: 14px !important;
    line-height: 1.65 !important;
  }
}

@media (max-width: 480px) {
  .hero-contact-title,
  .hero-testi-title,
  .hero-self-title,
  .meth-hero-title,
  .hero-report-title {
    font-size: 3.35rem !important;
  }

  .hero-contact-subtitle,
  .hero-testi-subtitle,
  .hero-self-subtitle,
  .meth-hero-lead,
  .hero-report-desc {
    margin-top: 24px !important;
    font-size: 13.5px !important;
  }
}

.hero-premium-title {
  max-width: 720px;

  margin: 0;

  color: #ffffff;

  font-size: clamp(
    3.5rem,
    6.1vw,
    6.8rem
  );

  line-height: .88;

  font-weight: 700;

  letter-spacing: -.065em;
}

.hero-premium-title span {
  color: #ffffff;
}

.hero-premium-description {
  max-width: 610px;

  margin: 31px 0 0;

  color: rgba(255,255,255,.74);

  font-size: clamp(
    .95rem,
    1.1vw,
    1.08rem
  );

  line-height: 1.65;
}

.hero-premium-actions {
  display: flex;
  align-items: center;

  gap: 24px;

  margin-top: 34px;
}

.hero-premium-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-height: 48px;

  padding: 0 24px;

  border-radius: 8px;

  background: #61d6ae;
  color: #073b2d !important;

  border: 1px solid #61d6ae;

  text-decoration: none;

  font-size: 13px;
  font-weight: 700;

  transition:
    background .25s ease,
    color .25s ease,
    transform .25s ease;
}

.hero-premium-primary:hover {
  background: #fff;
  border-color: #fff;

  color: #073b2d !important;

  transform: translateY(-2px);
}

.hero-premium-secondary {
  display: inline-flex;
  align-items: center;

  gap: 10px;

  color: #fff !important;

  text-decoration: none;

  font-size: 13px;
  font-weight: 600;

  opacity: .85;

  transition:
    opacity .25s ease,
    gap .25s ease;
}

.hero-premium-secondary:hover {
  gap: 14px;
  opacity: 1;
}

.hero-premium-secondary span {
  display: flex;
  align-items: center;
  justify-content: center;

  width: 28px;
  height: 28px;

  border: 1px solid rgba(255,255,255,.35);

  border-radius: 50%;

  font-size: 13px;

  transition:
    background .25s ease,
    color .25s ease;
}

.hero-premium-secondary:hover span {
  background: #fff;
  color: #073b2d;
}

.hero-premium-visual {
  position: relative;

  min-width: 0;
  min-height: min(760px, 88vh);

  overflow: hidden;

  background: #dfe9e5;
}

.hero-premium-image {
  position: absolute;
  inset: 0;

  width: 100%;
  height: 100%;

  overflow: hidden;
}

.hero-premium-image img {
  display: block;

  width: 100%;
  height: 100%;

  object-fit: cover;
  object-position: center;

  transform:
    scale(var(--hero-image-scale, 1));

  transform-origin: center center;

  will-change: transform;

  transition:
    transform .12s linear;

  filter: none;
}

.hero-premium-image::after {
  content: "";

  position: absolute;
  inset: 0;

  background:
    linear-gradient(
      90deg,
      rgba(7,59,45,.05),
      transparent 30%
    );

  pointer-events: none;
}

.hero-premium-stat,
.hero-premium-label {
  display: none;
}

@media (min-width: 1200px) {

  .hero-premium-inner,
  .hero-premium-content,
  .hero-premium-visual {
    min-height: 760px;
  }

  .hero-premium-title {
    font-size: clamp(
      4.4rem,
      6.3vw,
      6.7rem
    );
  }
}

@media (max-width: 1000px) {

  .hero-premium-inner {
    grid-template-columns: 53% 47%;
  }

  .hero-premium-content {
    padding-left: 38px;
    padding-right: 35px;
  }

  .hero-premium-title {
    font-size: clamp(
      3.2rem,
      6.5vw,
      4.8rem
    );
  }

  .hero-premium-description {
    font-size: 14px;
  }
}

@media (max-width: 700px) {

  .hero-premium {
    min-height: auto;
  }

  .hero-premium-inner {
    display: grid;

    grid-template-columns: 1fr;

    min-height: auto;
  }

  .hero-premium-content {
    min-height: auto;

    padding:
      70px
      25px
      65px;
  }

  .hero-premium-title {
    max-width: 600px;

    font-size:
      clamp(3.3rem, 13vw, 5rem);

    line-height: .9;
  }

  .hero-premium-description {
    max-width: 550px;

    margin-top: 27px;

    font-size: 14px;
    line-height: 1.65;
  }

  .hero-premium-actions {
    margin-top: 30px;
  }

  .hero-premium-visual {
    min-height: 500px;

    height: 500px;
  }

  .hero-premium-image img {
    object-position: center center;
  }
}

@media (max-width: 480px) {

  .hero-premium-content {
    padding:
      55px
      20px
      55px;
  }

  .hero-premium-kicker {
    margin-bottom: 22px;

    font-size: 10px;
  }

  .hero-premium-title {
    font-size: 3.35rem;

    letter-spacing: -.065em;
  }

  .hero-premium-description {
    margin-top: 24px;

    font-size: 13.5px;
  }

  .hero-premium-actions {
    flex-direction: column;
    align-items: stretch;

    gap: 16px;

    margin-top: 28px;
  }

  .hero-premium-primary {
    width: 100%;
  }

  .hero-premium-secondary {
    justify-content: center;
  }

  .hero-premium-visual {
    height: 430px;
    min-height: 430px;
  }
}

@media (prefers-reduced-motion: reduce) {

  .hero-premium-image img {
    transform: none !important;
    transition: none !important;
  }
}

.testi-readmore {
  display: inline; margin-left: 4px; padding: 0; border: none; background: none; cursor: pointer;
  font: inherit; font-weight: 700; color: #022b1f; text-decoration: underline;
}

.testi-readmore:hover { color: #b08a55; }

.testi-avatar {
      width: 60px;
    height: 60px;
 border-radius: 0;
    padding: 10px;
    background: #d6d6d6; color: #fff; flex: none;
  display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 15px;
}

.testi-modal-overlay {
  position: fixed; inset: 0; z-index: 500; background: rgba(10, 28, 21, 0.55);
  display: flex; align-items: center; justify-content: center; padding: 24px;
}

.testi-modal-overlay[hidden] { display: none; }

.testi-modal-box {
  width: 100%; max-width: 560px; max-height: 85vh; overflow-y: auto;
  background: #ffffff; border-radius: 16px; padding: clamp(24px, 4vw, 40px);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
}

.testi-modal-close {
  float: right; border: none; background: none; font-size: 26px; line-height: 1; cursor: pointer;
  color: #718078; padding: 0; margin-left: 12px;
}

.testi-modal-close:hover { color: #022b1f; }

.testi-modal-stars { color: #d2a85e; font-size: 16px; letter-spacing: 3px; margin-bottom: 16px; }

.testi-modal-message { font-size: 16.5px; line-height: 1.75; color: #35443d; margin: 0 0 26px; white-space: pre-wrap; }

.testi-modal-person { display: flex; align-items: center; gap: 14px; padding-top: 20px; border-top: 1px solid #eee; }

.testi-modal-person strong { display: block; font-size: 14.5px; color: #022b1f; }

.testi-modal-person span { display: block; font-size: 12.5px; color: #718078; }

@media (max-width: 480px) {
  .testi-modal-overlay { padding: 12px; }
  .testi-modal-box { max-height: 90vh; border-radius: 12px; }
}

.video-modal-overlay {
  position: fixed; inset: 0; z-index: 600; background: rgba(0, 0, 0, 0.82);
  display: flex; align-items: center; justify-content: center; padding: 24px;
}

.video-modal-overlay[hidden] { display: none; }

.video-modal-box {
  position: relative; width: min(92vw, 1100px); max-height: 88vh;
  aspect-ratio: 16 / 9; background: #000; border-radius: 12px; overflow: hidden;
}

.video-modal-box video,
.video-modal-box iframe {
  position: absolute; inset: 0; width: 100%; height: 100%; border: 0; display: block;
}

.video-modal-close {
  position: fixed; top: 20px; right: 20px; z-index: 601;
  width: 42px; height: 42px; border-radius: 50%; border: none;
  background: rgba(255, 255, 255, 0.12); color: #fff; font-size: 24px; line-height: 1;
  cursor: pointer; display: flex; align-items: center; justify-content: center;
  transition: background 0.2s ease;
}

.video-modal-close:hover { background: rgba(255, 255, 255, 0.24); }

@media (max-width: 640px) {
  .video-modal-overlay { padding: 0; }
  .video-modal-box { width: 100%; max-height: none; border-radius: 0; aspect-ratio: 16 / 9; }
  .video-modal-close { top: 12px; right: 12px; }
}

.hero-testi-banner {
    background-color: #022b1f;
    padding: clamp(64px, 8vw, 112px) 0;
    color: #ffffff;
    position: relative;
    overflow: hidden;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  }

.hero-testi-banner .container { position: relative; z-index: 2; }

.hero-testi-container { max-width: 760px; }

.hero-testi-title {
    font-size: clamp(2.5rem, 4.5vw, 3.75rem);
    font-weight: 800;
    line-height: 1.1;
    color: #ffffff;
    letter-spacing: -0.03em;
    margin: 0 0 20px 0;
  }

.hero-testi-subtitle {
    font-size: clamp(1.05rem, 1.25vw, 1.2rem);
    line-height: 1.65;
    color: #d1d5db;
    margin: 0;
    font-weight: 400;
    max-width: 640px;
  }

.testi-label {
    width: fit-content; margin: 0 auto 18px; padding: 6px 14px;
    border: 1px solid #d2a85e; border-radius: 4px;
    color: #022b1f; background: rgba(210, 168, 94, 0.08);
    font-size: 12px; font-weight: 600; line-height: 1.1; letter-spacing: 0.4px; text-transform: uppercase;
  }

.testi-heading {
    margin: 0 auto; max-width: 600px; color: #022b1f; text-align: center;
    font-size: 43px; line-height: 1.05; font-weight: 700; letter-spacing: -1.8px;
  }

.testi-intro {
    max-width: 680px; margin: 18px auto 55px; color: #4a4a4a; text-align: center;
    font-size: 17px; line-height: 1.7; font-weight: 400;
  }

.testi-showcase { width: 100%; padding: 90px 40px; background: #ffffff; }

.testi-showcase .container { max-width: 1250px; margin: 0 auto; text-align: center; }

.testi-grid {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 24px;
    text-align: left; justify-content: center;
  }

.testi-card {
    background: #ffffff; border: 1px solid #e5e7eb; border-radius: 16px; padding: 32px;
    display: flex; flex-direction: column; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
  }

.testi-quote-mark { display: block; font-family: Georgia, serif; font-size: 48px; line-height: .6; color: #d2ad73; margin-bottom: 14px; }

.testi-stars { color: #d2a85e; font-size: 14px; letter-spacing: 3px; margin-bottom: 12px; }

.testi-quote { font-size: 15.5px; line-height: 1.7; color: #35443d; margin: 0 0 24px; flex: 1; overflow-wrap: break-word; }

.testi-person { display: flex; align-items: center; gap: 14px; padding-top: 20px; border-top: 1px solid #eee; }

.testi-person strong { display: block; font-size: 14.5px; color: #022b1f; }

.testi-person span { font-size: 12.5px; color: #718078; }

.testi-empty {
    max-width: 480px; margin: 0 auto; padding: 40px 20px; text-align: center;
    color: #718078; font-size: 15px; line-height: 1.7;
  }

.testi-form-section {
    width: 100%;
    padding: 45px 30px 50px;
    background: #f7f3eb;
}

.testi-form-section .container { max-width: 720px; margin: 0 auto; }

.testi-form-card {
    background: #ffffff; border: 1px solid #e5e7eb; border-radius: 20px;
    padding: clamp(28px, 4vw, 40px); box-shadow: 0 4px 24px rgba(0, 0, 0, 0.03);
  }

.testi-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }

.testi-field-full { grid-column: span 2; }

.testi-field-group { display: flex; flex-direction: column; gap: 6px; margin-bottom: 20px; }

.testi-field-group label { font-size: 0.875rem; font-weight: 600; color: #374151; }

.testi-input {
    width: 100%; padding: 12px 16px; font-size: 0.95rem; border: 1px solid #d1d5db; border-radius: 8px;
    background-color: #ffffff; color: #111827; transition: all 0.2s ease; outline: none; box-sizing: border-box; font-family: inherit;
  }

.testi-input:focus { border-color: #10b981; box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.15); }

textarea.testi-input { resize: vertical; min-height: 110px; }

.testi-btn-submit {
    width: 100%; background-color: #022b1f; color: #ffffff; font-weight: 700; padding: 14px 28px;
    border-radius: 999px; border: none; font-size: 1rem; cursor: pointer; transition: background-color 0.2s ease; margin-top: 8px;
  }

.testi-btn-submit:hover { background-color: #063c2d; }

.testi-form-disclaimer { font-size: 0.8rem; color: #9ca3af; margin-top: 14px; text-align: center; }

.testi-done-card { background-color: #f0fdf4; border: 1px solid #bbf7d0; border-radius: 16px; padding: clamp(24px, 4vw, 36px); text-align: center; }

.testi-done-card h3 { font-size: 1.35rem; font-weight: 800; color: #065f46; margin: 0 0 10px 0; }

.testi-done-card p { font-size: 0.95rem; line-height: 1.6; color: #047857; margin: 0 0 20px 0; }

.testi-btn-again {
    background: #ffffff; border: 1px solid #a7f3d0; color: #065f46; font-weight: 600; padding: 10px 20px;
    border-radius: 999px; cursor: pointer; transition: background-color 0.2s ease;
  }

.testi-btn-again:hover { background: color-mix(in srgb, #065f46 7%, transparent); }

@media (max-width: 640px) {
    .testi-form-grid { grid-template-columns: 1fr; }
    .testi-field-full { grid-column: span 1; }
  }

.hero-contact-banner {
    background-color: #022b1f;
    padding: clamp(64px, 8vw, 112px) 0;
    color: #ffffff;
    position: relative;
    overflow: hidden;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  }

.hero-contact-banner .container { position: relative; z-index: 2; }

.hero-contact-container {
    max-width: 800px;
  }

.hero-eyebrow-wrapper {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 24px;
  }

.hero-eyebrow-line {
    width: 24px;
    height: 2px;
    background-color: #10b981;
  }

.hero-eyebrow-text {
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: #10b981;
  }

.hero-contact-title {
    font-size: clamp(2.5rem, 4.5vw, 3.75rem);
    font-weight: 800;
    line-height: 1.1;
    color: #ffffff;
    letter-spacing: -0.03em;
    margin: 0 0 20px 0;
  }

.hero-contact-subtitle {
    font-size: clamp(1.05rem, 1.25vw, 1.2rem);
    line-height: 1.65;
    color: #d1d5db;
    margin: 0;
    font-weight: 400;
    max-width: 640px;
  }

.contact-enterprise-section {
    padding: clamp(60px, 8vw, 100px) 0;
    background-color: #ffffff;
    border-top: 1px solid #e5e7eb;
  }

.contact-grid {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap: clamp(40px, 6vw, 72px);
    align-items: start;
  }

.contact-info-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 32px;
  }

.contact-info-card {
    background-color: #f9fafb;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 20px;
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 16px;
    align-items: center;
    transition: all 0.2s ease;
  }

.contact-info-card:hover {
    border-color: #cbd5e1;
    background-color: #ffffff;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04);
  }

.contact-icon-box {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    background-color: #eef6f3;
    color: #1b4d3e;
    display: flex;
    align-items: center;
    justify-content: center;
  }

.contact-info-title {
    font-size: 1rem;
    font-weight: 700;
    color: #111827;
    margin: 0 0 2px 0;
    overflow-wrap: break-word;
  }

.contact-info-title a {
    color: inherit;
    text-decoration: none;
  }

.contact-info-title a:hover {
    color: #1b4d3e;
    text-decoration: underline;
  }

.contact-info-desc {
    font-size: 0.875rem;
    color: #6b7280;
    margin: 0;
  }

.contact-image-frame {
    border-radius: 16px;
    overflow: hidden;
    position: relative;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    border: 1px solid #e5e7eb;
  }

.contact-image-frame img {
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    display: block;
  }

.contact-form-card {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 20px;
    padding: clamp(28px, 4vw, 40px);
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.03);
  }

.contact-form-header {
    margin-bottom: 28px;
  }

.contact-form-header h2 {
    font-size: clamp(1.5rem, 2vw, 1.85rem);
    font-weight: 800;
    color: #111827;
    margin: 0 0 6px 0;
    letter-spacing: -0.02em;
  }

.contact-form-header p {
    font-size: 0.95rem;
    color: #6b7280;
    margin: 0;
  }

.form-grid-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
  }

.field-full {
    grid-column: span 2;
  }

.field-group {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 20px;
  }

.field-group label {
    font-size: 0.875rem;
    font-weight: 600;
    color: #374151;
  }

.input-styled {
    width: 100%;
    padding: 12px 16px;
    font-size: 0.95rem;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    background-color: #ffffff;
    color: #111827;
    transition: all 0.2s ease;
    outline: none;
    box-sizing: border-box;
  }

.input-styled:focus {
    border-color: #10b981;
    box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.15);
  }

textarea.input-styled {
    resize: vertical;
    min-height: 120px;
  }

.btn-submit {
    width: 100%;
    background-color: #022b1f;
    color: #ffffff;
    font-weight: 700;
    padding: 14px 28px;
    border-radius: 999px;
    border: none;
    font-size: 1rem;
    cursor: pointer;
    transition: all 0.2s ease;
    margin-top: 8px;
  }

.btn-submit:hover {
    background-color: #063c2d;
  }

.form-disclaimer {
    font-size: 0.8rem;
    color: #9ca3af;
    margin-top: 14px;
    text-align: center;
  }

.contact-done-card {
    background-color: #f0fdf4;
    border: 1px solid #bbf7d0;
    border-radius: 16px;
    padding: clamp(24px, 4vw, 36px);
  }

.contact-done-card h3 {
    font-size: 1.35rem;
    font-weight: 800;
    color: #065f46;
    margin: 0 0 10px 0;
  }

.contact-done-card p {
    font-size: 0.95rem;
    line-height: 1.6;
    color: #047857;
    margin: 0 0 20px 0;
  }

.btn-write-another {
    background: #ffffff;
    border: 1px solid #a7f3d0;
    color: #065f46;
    font-weight: 600;
    padding: 10px 20px;
    border-radius: 999px;
    cursor: pointer;
    transition: all 0.2s ease;
  }

.btn-write-another:hover {
    background: color-mix(in srgb, #065f46 7%, transparent);
  }

@media (max-width: 991px) {
    .contact-grid {
      grid-template-columns: 1fr;
      gap: 48px;
    }
  }

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

    .field-full {
      grid-column: span 1;
    }
  }

.meth-page {
    --meth-brand-dark: #022b1f;
    --meth-brand-accent: #10b981;
    --meth-brand-bg-alt: #f8fafc;
    --meth-border-color: #e2e8f0;
    --meth-text-heading: #0f172a;
    --meth-text-body: #334155;
    --meth-text-muted: #64748b;
  }

.meth-page {
    background-color: #ffffff;
    color: var(--meth-text-body);
    width: 100%;
    overflow-x: hidden;
  }

.meth-container {
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 20px;
  }

.meth-hero {
    background-color: var(--meth-brand-dark);
    color: #ffffff;
    padding: clamp(60px, 6vw, 80px) 0;
    position: relative;
    overflow: hidden;
  }

.meth-hero .meth-container { position: relative; z-index: 2; }

.meth-badge {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--meth-brand-accent);
    background: rgba(16, 185, 129, 0.15);
    padding: 6px 14px;
    border-radius: 999px;
    margin-bottom: 16px;
  }

.meth-hero-title {
    font-size: clamp(2rem, 3.5vw, 3rem);
    font-weight: 800;
    line-height: 1.2;
    color: #ffffff;
    margin: 0 0 16px 0;
  }

.meth-hero-lead {
    font-size: 1.05rem;
    line-height: 1.6;
    color: #cbd5e1;
    max-width: 720px;
    margin: 0;
  }

.meth-sec {
    padding: 64px 0;
    border-bottom: 1px solid var(--meth-border-color);
  }

.meth-sec-alt {
    padding: 64px 0;
    background-color: var(--meth-brand-bg-alt);
    border-bottom: 1px solid var(--meth-border-color);
  }

.sec-header {
    margin-bottom: 32px;
  }

.sec-header-center {
    text-align: center;
    max-width: 680px;
    margin: 0 auto 40px auto;
  }

.meth-h2 {
    font-size: 43px;
    font-weight: 700;
    color: #022b1f;
    letter-spacing: -1.8px;
    line-height: 1.05;
    margin: 0 auto 10px;
    max-width: 600px;
  }

.meth-subtext {
    font-size: 17px;
    color: #4a4a4a;
    max-width: 680px;
    margin: 18px auto 0;
    line-height: 1.7;
  }

.scoring-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }

@media (max-width: 768px) {
    .scoring-grid {
      grid-template-columns: 1fr;
    }
  }

.step-card {
    background: #ffffff;
    border: 1px solid var(--meth-border-color);
    border-radius: 12px;
    padding: 24px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.02);
    display: flex;
    flex-direction: column;
  }

.step-head {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
  }

.step-badge {
    font-size: 0.75rem;
    font-weight: 800;
    color: var(--meth-brand-accent);
    background: rgba(16, 185, 129, 0.12);
    padding: 3px 8px;
    border-radius: 6px;
  }

.step-title {
    font-size: 1rem;
    font-weight: 800;
    color: var(--meth-text-heading);
    margin: 0;
  }

.step-desc {
    font-size: 0.9rem;
    color: var(--meth-text-body);
    line-height: 1.6;
    margin: 0;
  }

.code-inline {
    background: #f1f5f9;
    color: var(--meth-text-heading);
    padding: 2px 6px;
    border-radius: 4px;
    font-family: monospace;
    font-size: 0.85rem;
  }

.band-table-wrap {
    margin-top: 12px;
    border: 1px solid var(--meth-border-color);
    border-radius: 8px;
    overflow: hidden;
  }

.band-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.85rem;
  }

.band-table th {
    background: #f8fafc;
    color: var(--meth-text-heading);
    padding: 8px 12px;
    font-weight: 700;
    border-bottom: 1px solid var(--meth-border-color);
    text-align: left;
  }

.band-table td {
    padding: 8px 12px;
    border-bottom: 1px solid #f1f5f9;
  }

.band-table tr:last-child td {
    border-bottom: none;
  }

.callout-box {
    background: #ffffff;
    border: 1px solid var(--meth-border-color);
    border-left: 4px solid var(--meth-brand-accent);
    border-radius: 10px;
    padding: 24px 28px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.03);
  }

.callout-box strong {
    color: var(--meth-brand-dark);
    font-size: 1.05rem;
    display: block;
    margin-bottom: 6px;
  }

.callout-box p {
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.65;
    color: var(--meth-text-body);
  }

.rules-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }

@media (max-width: 768px) {
    .rules-grid {
      grid-template-columns: 1fr;
    }
  }

.rule-card {
    background: #ffffff;
    border: 1px solid var(--meth-border-color);
    border-radius: 10px;
    padding: 16px 20px;
    display: flex;
    align-items: center;
    gap: 12px;
  }

.rule-icon {
    color: var(--meth-brand-accent);
    flex-shrink: 0;
  }

.rule-card p {
    margin: 0;
    font-size: 0.925rem;
    font-weight: 600;
    color: var(--meth-text-heading);
  }

.claims-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }

@media (max-width: 768px) {
    .claims-grid {
      grid-template-columns: 1fr;
    }
  }

.claim-card {
    background: #ffffff;
    border: 1px solid var(--meth-border-color);
    border-radius: 10px;
    padding: 18px 20px;
    display: flex;
    gap: 12px;
    align-items: flex-start;
  }

.claim-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: var(--meth-brand-accent);
    margin-top: 6px;
    flex-shrink: 0;
  }

.claim-card p {
    margin: 0;
    font-size: 0.925rem;
    color: var(--meth-text-body);
    line-height: 1.55;
  }

.legal-bar {
    margin-top: 32px;
    display: flex;
    justify-content: center;
    gap: 20px;
    font-size: 0.9rem;
  }

.legal-bar a {
    color: var(--meth-brand-dark);
    font-weight: 700;
    text-decoration: none;
  }

.legal-bar a:hover {
    color: var(--meth-brand-accent);
  }

@media (max-width: 600px) {
    .legal-bar {
      flex-direction: column;
      align-items: center;
      gap: 10px;
    }

    .legal-bar > span {
      display: none;
    }
  }

.hero-eyebrow-wrapper {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 24px;
  }

.hero-eyebrow-line {
    width: 24px;
    height: 2px;
    background-color: #10b981;
  }

.hero-eyebrow-text {
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: #10b981;
  }

.report-page-wrapper {
    --report-brand-dark: #072218;
    --report-brand-emerald: #10b981;
    --report-brand-light-bg: #f8fafc;
    --report-border-color: #e2e8f0;
    --report-text-primary: #0f172a;
    --report-text-muted: #64748b;
  }

.report-page-wrapper {
    background-color: #ffffff;
    color: var(--report-text-primary);
    font-family: inherit;
  }

.hero-report {
    background-color: var(--report-brand-dark);
    color: #ffffff;
    padding: 80px 0 70px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    position: relative;
    overflow: hidden;
  }

.hero-report .container { position: relative; z-index: 2; }

.hero-report-inner {
    max-width: 720px;
    margin: 0;
  }

.eyebrow-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--report-brand-emerald);
    background: rgba(16, 185, 129, 0.1);
    padding: 6px 14px;
    border-radius: 999px;
    margin-bottom: 20px;
  }

.hero-report-title {
    font-size: clamp(2.2rem, 3.8vw, 3.2rem);
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -0.025em;
    color: #ffffff;
    margin: 0 0 16px 0;
  }

.hero-report-desc {
    font-size: 1.05rem;
    line-height: 1.65;
    color: #cbd5e1;
    margin: 0 0 24px 0;
  }

.hero-notice {
    font-size: 0.825rem;
    color: #94a3b8;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.08);
    padding: 10px 16px;
    border-radius: 8px;
    display: inline-block;
  }

.report-sec {
    padding: 72px 0;
    border-bottom: 1px solid var(--report-border-color);
  }

.report-sec-alt {
    padding: 72px 0;
    background-color: var(--report-brand-light-bg);
    border-bottom: 1px solid var(--report-border-color);
  }

.sec-tag {
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    line-height: 1.1;
    color: #022b1f;
    background: rgba(210, 168, 94, 0.08);
    border: 1px solid #d2a85e;
    padding: 6px 14px;
    border-radius: 4px;
    display: inline-block;
    margin-bottom: 14px;
  }

.sec-title {
    font-size: 43px;
    font-weight: 700;
    color: #022b1f;
    letter-spacing: -1.8px;
    line-height: 1.05;
    margin: 0 0 16px 0;
  }

.cover-card {
    background: var(--report-brand-dark);
    border-radius: 16px;
    padding: 36px;
    color: #ffffff;
    box-shadow: 0 10px 30px rgba(7, 34, 24, 0.12);
  }

.cover-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 20px;
    margin-bottom: 24px;
  }

.cover-box {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    padding: 20px;
  }

.cover-lbl {
    font-size: 0.775rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #94a3b8;
    margin: 0 0 8px 0;
  }

.cover-val {
    font-size: 1.2rem;
    font-weight: 700;
    color: #ffffff;
    margin: 0;
  }

.cover-num {
    font-size: 2.2rem;
    font-weight: 800;
    color: var(--report-brand-emerald);
    line-height: 1;
    margin: 0;
  }

.cover-num span {
    font-size: 0.95rem;
    color: #a7f3d0;
  }

.cover-foot {
    font-size: 0.8rem;
    color: #94a3b8;
    margin: 0;
    padding-top: 16px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
  }

.pillar-stack {
    display: flex;
    flex-direction: column;
    gap: 14px;
    max-width: 820px;
    margin-top: 24px;
  }

.report-pillar-row {
    background: #ffffff;
    border: 1px solid var(--report-border-color);
    border-radius: 10px;
    padding: 16px 20px;
    display: grid;
    grid-template-columns: 36px 1fr 180px 48px;
    align-items: center;
    gap: 16px;
  }

.pillar-num {
    font-weight: 700;
    font-size: 0.85rem;
    color: var(--report-text-muted);
  }

.report-pillar-name {
    font-weight: 700;
    font-size: 0.95rem;
    color: var(--report-text-primary);
    margin: 0;
  }

.report-pillar-track {
    height: 8px;
    background-color: #f1f5f9;
    border-radius: 999px;
    overflow: hidden;
  }

.pillar-fill {
    height: 100%;
    background-color: var(--report-brand-dark);
    border-radius: 999px;
  }

.pillar-fill.is-low {
    background-color: #f43f5e;
  }

.report-pillar-score {
    font-weight: 800;
    font-size: 1rem;
    color: var(--report-text-primary);
    text-align: right;
    margin: 0;
  }

.worst-stack {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-top: 24px;
  }

.worst-card {
    background: #ffffff;
    border: 1px solid var(--report-border-color);
    border-left: 4px solid #f43f5e;
    border-radius: 10px;
    padding: 20px 24px;
    display: grid;
    grid-template-columns: 60px 1fr;
    gap: 16px;
    align-items: center;
  }

.worst-num {
    font-size: 1.8rem;
    font-weight: 800;
    color: #f43f5e;
    line-height: 1;
  }

.worst-title {
    font-size: 1rem;
    font-weight: 700;
    color: var(--report-text-primary);
    margin: 0 0 4px 0;
  }

.worst-text {
    font-size: 0.875rem;
    color: var(--report-text-muted);
    margin: 0;
    line-height: 1.5;
  }

.table-box {
    background: #ffffff;
    border: 1px solid var(--report-border-color);
    border-radius: 12px;
    overflow: hidden;
  }

.report-table {
    width: 100%;
    border-collapse: collapse;
    text-align: left;
    font-size: 0.9rem;
  }

.report-table th {
    background-color: #f8fafc;
    color: var(--report-text-primary);
    font-weight: 700;
    padding: 14px 18px;
    border-bottom: 1px solid var(--report-border-color);
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
  }

.report-table td {
    padding: 14px 18px;
    border-bottom: 1px solid #f1f5f9;
    color: #334155;
  }

.report-table tr:last-child td {
    border-bottom: none;
  }

.card-grid-3 {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 18px;
    margin-top: 24px;
  }

.quote-box {
    background: #ffffff;
    border: 1px solid var(--report-border-color);
    border-radius: 12px;
    padding: 24px;
  }

.quote-pill {
    font-size: 0.725rem;
    font-weight: 700;
    color: var(--report-text-muted);
    background: #f1f5f9;
    padding: 3px 10px;
    border-radius: 4px;
    display: inline-block;
    margin-bottom: 12px;
  }

.step-box {
    background: #ffffff;
    border: 1px solid var(--report-border-color);
    border-radius: 12px;
    padding: 24px;
    transition: border-color 0.2s ease;
  }

.step-box:hover {
    border-color: var(--report-brand-emerald);
  }

.report-step-badge {
    font-size: 1.5rem;
    font-weight: 800;
    color: var(--report-brand-emerald);
    margin: 0 0 6px 0;
  }

.limit-list {
    margin: 20px 0 24px;
    padding-left: 20px;
    color: #334155;
    line-height: 1.75;
    font-size: 0.95rem;
  }

.limit-list li {
    margin-bottom: 8px;
  }

.btn-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-weight: 700;
    font-size: 0.95rem;
    color: var(--report-brand-dark);
    text-decoration: none;
  }

.btn-link:hover {
    color: var(--report-brand-emerald);
  }

@media (max-width: 768px) {
    .report-pillar-row {
      grid-template-columns: 24px 1fr auto;
      grid-template-areas:
        "num name score"
        "track track track";
      row-gap: 10px;
    }
    .pillar-num { grid-area: num; }
    .report-pillar-name { grid-area: name; }
    .report-pillar-score { grid-area: score; text-align: right; }
    .report-pillar-track {
      grid-area: track;
    }
    .worst-card {
      grid-template-columns: 1fr;
    }
  }

.hero-eyebrow-wrapper {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 24px;
  }

.hero-eyebrow-line {
    width: 24px;
    height: 2px;
    background-color: #10b981;
  }

.hero-eyebrow-text {
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: #10b981;
  }

.hero-self-check {
    background-color: #022b1f;
    padding: clamp(64px, 8vw, 112px) 0;
    color: #ffffff;
    position: relative;
    overflow: hidden;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  }

.hero-self-check .container { position: relative; z-index: 2; }

.hero-self-check-container {
    max-width: 720px;
    margin: 0;
    text-align: left;
  }

.hero-eyebrow-wrapper {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 24px;
  }

.hero-eyebrow-line {
    width: 24px;
    height: 2px;
    background-color: #10b981;
  }

.hero-eyebrow-text {
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: #10b981;
  }

.hero-self-title {
    font-size: clamp(2.4rem, 4.2vw, 3.6rem);
    font-weight: 800;
    line-height: 1.15;
    color: #ffffff;
    letter-spacing: -0.025em;
    margin: 0 0 20px 0;
  }

.hero-self-subtitle {
    font-size: clamp(1.05rem, 1.25vw, 1.2rem);
    line-height: 1.65;
    color: #d1d5db;
    margin: 0;
    font-weight: 400;
  }

.assessment-section-wrapper {
    padding: clamp(48px, 6vw, 80px) 0;
    background-color: #f9fafb;
    border-bottom: 1px solid #e5e7eb;
  }

.privacy-info-section {
    padding: clamp(64px, 8vw, 104px) 0;
    background-color: #ffffff;
  }

.privacy-grid {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap: clamp(40px, 6vw, 72px);
    align-items: start;
  }

.privacy-header h2 {
    font-size: clamp(1.75rem, 2.5vw, 2.25rem);
    font-weight: 800;
    color: #111827;
    margin: 0 0 16px 0;
    letter-spacing: -0.02em;
  }

.privacy-header p {
    font-size: 1rem;
    line-height: 1.7;
    color: #4b5563;
    margin: 0 0 24px 0;
  }

.privacy-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.95rem;
    font-weight: 700;
    color: #1b4d3e;
    text-decoration: none;
    transition: color 0.2s ease;
  }

.privacy-link:hover {
    color: #10b981;
  }

.privacy-cards-stack {
    display: flex;
    flex-direction: column;
    gap: 16px;
  }

.privacy-card {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 20px 24px;
    transition: all 0.2s ease;
  }

.privacy-card:hover {
    border-color: #cbd5e1;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04);
    transform: translateY(-2px);
  }

.privacy-card-title {
    font-size: 0.975rem;
    font-weight: 700;
    color: #111827;
    margin: 0 0 6px 0;
  }

.privacy-card-desc {
    font-size: 0.875rem;
    line-height: 1.6;
    color: #6b7280;
    margin: 0;
  }

@media (max-width: 991px) {
    .privacy-grid {
      grid-template-columns: 1fr;
      gap: 40px;
    }
  }

.hero-premium {
  --hero-green: #022b1f;
  --hero-light-green: #61d6ae;

  position: relative;
  width: 100%;
  min-height: min(760px, 88vh);

  overflow: hidden;

  background: var(--hero-green);
  color: #fff;
}

.hero-premium-inner {
  position: relative;
  z-index: 2;

  width: 100%;
  min-height: min(760px, 88vh);

  display: grid;
  grid-template-columns: 52.5% 47.5%;

  margin: 0;
  padding: 0;
}

.hero-premium-content {
  position: relative;
  z-index: 3;

  min-height: min(760px, 88vh);

  display: flex;
  flex-direction: column;
  justify-content: center;

  padding:
    clamp(70px, 8vw, 125px)
    clamp(28px, 5vw, 85px)
    clamp(65px, 7vw, 100px);

  overflow: hidden;

  background-color: var(--hero-green);
}

.hero-premium-content::before {
  content: "";

  position: absolute;
  inset: 0;

  background-image:
    linear-gradient(
      rgba(255,255,255,.055) 1px,
      transparent 1px
    ),
    linear-gradient(
      90deg,
      rgba(255,255,255,.055) 1px,
      transparent 1px
    );

  background-size: 25px 25px;

  opacity: .55;

  pointer-events: none;
}

.hero-premium-content::after {
  content: "";

  position: absolute;
  inset: 0;

  background:
    radial-gradient(
      circle at 20% 50%,
      rgba(97,214,174,.08),
      transparent 48%
    );

  pointer-events: none;
}

.hero-premium-kicker,
.hero-premium-title,
.hero-premium-description,
.hero-premium-actions {
  position: relative;
  z-index: 3;
}

.hero-premium-kicker {
  display: block;

  margin: 0 0 25px;

  color: #ffffff;

  font-size: 12px;
  line-height: 1;

  font-weight: 600;

  letter-spacing: .04em;

  text-transform: uppercase;
}

.hero-premium-title {
  max-width: 720px;

  margin: 0;

  color: #ffffff;

  font-size: clamp(
    3.5rem,
    6.1vw,
    6.8rem
  );

  line-height: .88;

  font-weight: 700;

  letter-spacing: -.065em;
}

.hero-premium-title span {
  color: #ffffff;
}

.hero-premium-description {
  max-width: 610px;

  margin: 31px 0 0;

  color: rgba(255,255,255,.74);

  font-size: clamp(
    .95rem,
    1.1vw,
    1.08rem
  );

  line-height: 1.65;
}

.hero-premium-actions {
  display: flex;
  align-items: center;

  gap: 24px;

  margin-top: 34px;
}

.hero-premium-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-height: 48px;

  padding: 0 24px;

  border-radius: 999px;

  background: #61d6ae;
  color: #073b2d !important;

  border: 1px solid #61d6ae;

  text-decoration: none;

  font-size: 13px;
  font-weight: 700;

  transition:
    background .25s ease,
    color .25s ease,
    transform .25s ease;
}

.hero-premium-primary:hover {
  background: #fff;
  border-color: #fff;

  color: #073b2d !important;

  transform: translateY(-2px);
}

.hero-premium-secondary {
  display: inline-flex;
  align-items: center;

  gap: 10px;

  color: #fff !important;

  text-decoration: none;

  font-size: 13px;
  font-weight: 600;

  opacity: .85;

  transition:
    opacity .25s ease,
    gap .25s ease;
}

.hero-premium-secondary:hover {
  gap: 14px;
  opacity: 1;
}

.hero-premium-secondary span {
  display: flex;
  align-items: center;
  justify-content: center;

  width: 28px;
  height: 28px;

  border: 1px solid rgba(255,255,255,.35);

  border-radius: 50%;

  font-size: 13px;

  transition:
    background .25s ease,
    color .25s ease;
}

.hero-premium-secondary:hover span {
  background: #fff;
  color: #073b2d;
}

.hero-premium-visual {
  position: relative;

  min-width: 0;
  min-height: min(760px, 88vh);

  overflow: hidden;

  background: #dfe9e5;
}

.hero-premium-image {
  position: absolute;
  inset: 0;

  width: 100%;
  height: 100%;

  overflow: hidden;
}

.hero-premium-image img {
  display: block;

  width: 100%;
  height: 100%;

  object-fit: cover;
  object-position: center;

  transform:
    scale(var(--hero-image-scale, 1));

  transform-origin: center center;

  will-change: transform;

  transition:
    transform .12s linear;

  filter: none;
}

.hero-premium-image::after {
  content: "";

  position: absolute;
  inset: 0;

  background:
    linear-gradient(
      90deg,
      rgba(7,59,45,.05),
      transparent 30%
    );

  pointer-events: none;
}

.hero-premium-stat,
.hero-premium-label {
  display: none;
}

@media (min-width: 1200px) {

  .hero-premium-inner,
  .hero-premium-content,
  .hero-premium-visual {
    min-height: 760px;
  }

  .hero-premium-title {
    font-size: clamp(
      4.4rem,
      6.3vw,
      6.7rem
    );
  }
}

@media (max-width: 1000px) {

  .hero-premium-inner {
    grid-template-columns: 53% 47%;
  }

  .hero-premium-content {
    padding-left: 38px;
    padding-right: 35px;
  }

  .hero-premium-title {
    font-size: clamp(
      3.2rem,
      6.5vw,
      4.8rem
    );
  }

  .hero-premium-description {
    font-size: 14px;
  }
}

@media (max-width: 700px) {

  .hero-premium {
    min-height: auto;
  }

  .hero-premium-inner {
    display: grid;

    grid-template-columns: 1fr;

    min-height: auto;
  }

  .hero-premium-content {
    min-height: auto;

    padding:
      70px
      25px
      65px;
  }

  .hero-premium-title {
    max-width: 600px;

    font-size:
      clamp(3.3rem, 13vw, 5rem);

    line-height: .9;
  }

  .hero-premium-description {
    max-width: 550px;

    margin-top: 27px;

    font-size: 14px;
    line-height: 1.65;
  }

  .hero-premium-actions {
    margin-top: 30px;
  }

  .hero-premium-visual {
    min-height: 500px;

    height: 500px;
  }

  .hero-premium-image img {
    object-position: center center;
  }
}

@media (max-width: 480px) {

  .hero-premium-content {
    padding:
      55px
      20px
      55px;
  }

  .hero-premium-kicker {
    margin-bottom: 22px;

    font-size: 10px;
  }

  .hero-premium-title {
    font-size: 3.35rem;

    letter-spacing: -.065em;
  }

  .hero-premium-description {
    margin-top: 24px;

    font-size: 13.5px;
  }

  .hero-premium-actions {
    flex-direction: column;
    align-items: stretch;

    gap: 16px;

    margin-top: 28px;
  }

  .hero-premium-primary {
    width: 100%;
  }

  .hero-premium-secondary {
    justify-content: center;
  }

  .hero-premium-visual {
    height: 430px;
    min-height: 430px;
  }
}

@media (prefers-reduced-motion: reduce) {

  .hero-premium-image img {
    transform: none !important;
    transition: none !important;
  }
}

.founder-enterprise-section {
    padding: clamp(60px, 8vw, 100px) 0;
    background-color: #ffffff;
    border-top: 1px solid #e5e7eb;
  }

.founder-enterprise-section .founder-section-label {
    width: fit-content;
    margin: 0 0 24px;
    padding: 6px 14px;
    border: 1px solid #d2a85e;
    border-radius: 4px;
    color: #022b1f;
    background: rgba(210, 168, 94, 0.08);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: 0.4px;
    text-transform: uppercase;
  }

.founder-grid-layout {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: clamp(40px, 6vw, 72px);
    align-items: start;
  }

.founder-main-card {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 20px;
    padding: clamp(28px, 4vw, 40px);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03);
  }

.founder-profile-header {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 24px;
    padding-bottom: 24px;
    border-bottom: 1px solid #f3f4f6;
  }

.founder-avatar-circle {
    width: 76px;
    height: 76px;
    min-width: 76px;
    border-radius: 50%;
    background-color: #022b1f;
    color: #ffffff;
    font-size: 1.65rem;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    letter-spacing: -0.02em;
    box-shadow: 0 8px 16px rgba(2, 43, 31, 0.2);
  }

.founder-name-title h2 {
    font-size: clamp(1.6rem, 2.3vw, 2.1rem);
    font-weight: 800;
    color: #111827;
    margin: 0 0 4px 0;
    letter-spacing: -0.02em;
  }

.founder-role-text {
    font-size: 0.95rem;
    font-weight: 700;
    color: #1b4d3e;
    margin: 0;
  }

.founder-bio-paragraph {
    font-size: clamp(0.95rem, 1.1vw, 1.05rem);
    line-height: 1.7;
    color: #4b5563;
    margin: 0;
  }

.qualification-accent-box {
    background-color: #f9fafb;
    border: 1px solid #e5e7eb;
    border-left: 4px solid #022B1F;
    border-radius: 12px;
    padding: 24px;
    margin-bottom: 32px;
  }

.qualification-title {
    font-size: 0.975rem;
    font-weight: 700;
    color: #111827;
    margin-bottom: 8px;
    line-height: 1.4;
  }

.qualification-desc {
    font-size: 0.875rem;
    line-height: 1.6;
    color: #6b7280;
    margin: 0;
  }

.education-header-label {
    font-size: 0.775rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #6b7280;
    margin-bottom: 16px;
  }

.education-cards-wrapper {
    display: flex;
    flex-direction: column;
    gap: 12px;
  }

.education-card {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 16px 20px;
    transition: all 0.2s ease;
  }

.education-card:hover {
    border-color: #0A1C15;
    transform: translateX(4px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);
  }

.education-course-name {
    font-size: 0.95rem;
    font-weight: 700;
    color: #111827;
    margin: 0 0 4px 0;
  }

.education-institution {
    font-size: 0.85rem;
    color: #6b7280;
    margin: 0;
    font-weight: 500;
  }

@media (max-width: 991px) {
    .founder-grid-layout {
      grid-template-columns: 1fr;
      gap: 36px;
    }
  }

@media (max-width: 480px) {
    .founder-profile-header {
      flex-direction: column;
      align-items: flex-start;
      gap: 16px;
    }

    .education-card:hover {
      transform: translateY(-2px);
    }
  }

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

.pillar-row {
    display: grid;
    grid-template-columns: 210px 1fr 35px;
    gap: 16px;
    align-items: center;
    margin-bottom: 12px;
  }

@media (max-width: 600px) {
    .pillar-row {
      grid-template-columns: 1fr;
      gap: 6px;
    }
  }

.pillar-name {
    font-size: 0.85rem;
    font-weight: 600;
    color: #0f172a;
  }

.pillar-score {
    font-size: 0.875rem;
    font-weight: 800;
    color: #022b1f;
    text-align: right;
  }

@keyframes brandFlowForward {

    from {
      transform: translate3d(0, 0, 0);
    }

    to {
      transform: translate3d(-50%, 0, 0);
    }

  }

@keyframes brandFlowReverse {

    from {
      transform: translate3d(-50%, 0, 0);
    }

    to {
      transform: translate3d(0, 0, 0);
    }

  }

.quote-band {
    position: relative;
    width: 100%;
    margin: 0 auto;
    padding: 100px 40px;
    overflow: hidden;

    background: var(--color-surface);
    border-top: 1px solid rgba(23, 79, 67, 0.08);
    border-bottom: 1px solid rgba(23, 79, 67, 0.08);
  }

.quote-band::before {
    content: "";
    position: absolute;
    top: -5px;
    left: -5px;

    width: 320px;
    height: 320px;

    background-image: url("../assets/shapes/pattern-2.svg");
    background-repeat: no-repeat;
    background-position: top left;
    background-size: contain;
    opacity: 1;
    pointer-events: none;
    filter: brightness(0.5);
  }

.quote-band::after {
    content: "";
    position: absolute;
    right: -5px;
    bottom: -5px;

    width: 360px;
    height: 360px;

    background-image: url("../assets/shapes/pattern-3.svg");
    background-repeat: no-repeat;
    background-position: bottom right;
       background-size: contain;
    opacity: 1;
    pointer-events: none;
    filter: brightness(0.5);
  }

.quote-band .container {
    position: relative;
    z-index: 2;

    width: 100%;
    max-width: 1000px;
    margin: 0 auto;

    text-align: center;
  }

.quote-band blockquote {
    max-width: 900px !important;
    margin: 0 auto !important;

    color: #174f43;

    font-size: clamp(28px, 3.2vw, 48px);
    line-height: 1.18;
    font-weight: 600;
    letter-spacing: -1.5px;

    text-align: center;
  }

.quote-band cite {
    display: block;

    margin-top: 28px;

    color: #000;

    font-size: 14px;
    line-height: 1.4;
    font-style: normal;
    font-weight: 500;

    text-align: center !important;
  }

@media (max-width: 900px) {

    .quote-band {
      padding: 80px 30px;
    }

    .quote-band::before {
      width: 240px;
      height: 240px;
    }

    .quote-band::after {
      width: 280px;
      height: 280px;
    }

    .quote-band blockquote {
      font-size: 34px;
    }
  }

@media (max-width: 600px) {

    .quote-band {
      padding: 65px 22px;
      border-radius: 14px;
    }

    .quote-band::before {
      width: 170px;
      height: 170px;
      opacity: 0.25;
    }

    .quote-band::after {
      width: 200px;
      height: 200px;
      opacity: 0.25;
    }

    .quote-band blockquote {
      font-size: 28px;
      line-height: 1.2;
      letter-spacing: -0.8px;
    }

    .quote-band cite {
      margin-top: 22px;
      font-size: 13px;
    }
  }

.quote-band .grid-2 {
    text-align: left;
  }

.quote-band .grid-2 blockquote {
    max-width: none !important;
    margin: 0 !important;
    text-align: left !important;

    font-family: var(--font-heading);
    font-size: clamp(20px, 2.2vw, 28px);
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.35;
  }

.quote-band .grid-2 cite {
    text-align: left !important;
    color: inherit;
  }

@media (max-width: 400px) {

    .quote-band {
      padding: 55px 18px;
    }

    .quote-band blockquote {
      font-size: 25px;
    }

    .quote-band::before {
      width: 130px;
      height: 130px;
    }

    .quote-band::after {
      width: 160px;
      height: 160px;
    }
  }

.measures-section {
    padding: clamp(40px, 5vw, 64px) 0;
    background-color: #ffffff;
  }

.section-border-t {
    border-top: 1px solid #e5e7eb;
  }

.measures-label {
    width: fit-content;
    margin: 0 auto 18px;
    padding: 6px 14px;
    border: 1px solid #d2a85e;
    border-radius: 4px;
    color: #022b1f;
    background: rgba(210, 168, 94, 0.08);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: 0.4px;
    text-transform: uppercase;
  }

.measures-title {
    margin: 0 auto clamp(24px, 3vw, 40px);
    max-width: 600px;
    font-size: 43px;
    font-weight: 700;
    color: #022b1f;
    letter-spacing: -1.8px;
    line-height: 1.05;
    text-align: center;
  }

.measures-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
  }

.measure-card {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    padding: 32px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
    transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
  }

.measure-card:hover {
    border-color: #cbd5e1;
    transform: translateY(-3px);
    box-shadow: 0 12px 20px -4px rgba(0, 0, 0, 0.06);
  }

.measure-icon-box {
    width: 48px;
    height: 48px;
    background-color: #f3f4f6;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;    flex-shrink: 0;
  }

.measure-icon-box svg,
  .measure-icon-box .pillar-icon {
    width: 24px !important;
    height: 24px !important;
    display: block;
    color: #111827 !important;
    margin: auto;
  }

.measure-card-title {
    font-size: 1.25rem;
    font-weight: 700;
    color: #111827;
    margin: 0 0 10px 0;
    line-height: 1.3;
  }

.measure-card-desc {
    font-size: 0.975rem;
    line-height: 1.6;
    color: #4b5563;
    margin: 0;
  }

@media (max-width: 768px) {
    .measures-grid {
      grid-template-columns: 1fr;
    }
    .measure-card {
      padding: 24px;
    }
  }

.digital-solutions {
    width: 100%;
    padding: 10px 30px;
    background: #fff;
    font-family: Arial, Helvetica, sans-serif;
    color: #151b2b;
  }

.digital-solutions *,
  .digital-solutions *::before,
  .digital-solutions *::after {
    box-sizing: border-box;
  }

.digital-solutions__container {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
  }

.digital-solutions__label {
  width: fit-content;
  margin: 0 auto 18px;
  padding: 6px 14px;

  border: 1px solid #d2a85e;
  border-radius: 4px;

  color: #022b1f;
  background: rgba(210, 168, 94, 0.08);

  font-size: 12px;
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: 0.4px;
  text-transform: uppercase;
}

.digital-solutions__heading {
  margin: 0 auto;
  max-width: 600px;

  color: #022b1f;
  text-align: center;

  font-size: 43px;
  line-height: 1.05;
  font-weight: 700;
  letter-spacing: -1.8px;
}

.digital-solutions__intro {
  max-width: 680px;
  margin: 18px auto 55px;

  color: #4a4a4a;
  text-align: center;

  font-size: 17px;
  line-height: 1.7;
  font-weight: 400;
}

.digital-solutions__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 56px;

    margin-top: 60px;
  }

.digital-solutions__card {
    min-width: 0;
    text-align: center;
  }

.digital-solutions__number {
    width: 52px;
    height: 52px;
    margin: 0 auto 13px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;
    background: #235642;

    color: #fff;
    font-size: 22px;
    font-weight: 500;
    line-height: 1;
  }

.digital-solutions__title {
    margin: 0 0 8px;

    color: #151b2b;
    font-size: 23px;
    line-height: 1.2;
    font-weight: 600;
    letter-spacing: -0.5px;
  }

.digital-solutions__description {
    max-width: 285px;
    min-height: 55px;
    margin: 0 auto 20px;

    color: #555a61;
    font-size: 12px;
    line-height: 1.55;
    font-weight: 400;
  }

.digital-solutions__image {
    display: block;
    width: 100%;
    height: 220px;

    object-fit: cover;
    object-position: center;

    border-radius: 14px;
  }

@media (max-width: 900px) {

    .digital-solutions {
      padding-left: 24px;
      padding-right: 24px;
    }

    .digital-solutions__grid {
      gap: 28px;
    }

    .digital-solutions__heading {
      font-size: 38px;
    }

    .digital-solutions__title {
      font-size: 21px;
    }

    .digital-solutions__image {
      height: 200px;
    }
  }

@media (max-width: 700px) {

    .digital-solutions {
      padding: 15px 20px 40px;
    }

    .digital-solutions__label {
      margin-bottom: 16px;
    }

    .digital-solutions__heading {
      max-width: 340px;
      font-size: 34px;
      letter-spacing: -1.3px;
    }

    .digital-solutions__grid {
      grid-template-columns: 1fr;
      gap: 42px;
      margin-top: 45px;
    }

    .digital-solutions__card {
      width: 100%;
      max-width: 420px;
      margin: 0 auto;
    }

    .digital-solutions__number {
      width: 50px;
      height: 50px;
      font-size: 21px;
    }

    .digital-solutions__title {
      font-size: 22px;
    }

    .digital-solutions__description {
      max-width: 330px;
      min-height: auto;
      margin-bottom: 18px;
    }

    .digital-solutions__image {
      height: 240px;
      border-radius: 14px;
    }
  }

@media (max-width: 400px) {

    .digital-solutions__heading {
      font-size: 31px;
    }

    .digital-solutions__grid {
      margin-top: 38px;
    }

    .digital-solutions__image {
      height: 215px;
    }
  }

.digital-solutions {
  width: 100%;
  min-height: 760px;
  padding: 55px 35px 70px;
  overflow: hidden;
}

.digital-solutions__container {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
}

.digital-solutions__label {
  margin-bottom: 18px;
  padding: 6px 14px;
  font-size: 12px;
}

.digital-solutions__heading {
  max-width: 600px;
  font-size: 43px;
  line-height: 1.05;
  letter-spacing: -1.8px;
}

.digital-solutions__grid {
  width: 100%;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 72px;
  margin-top: 75px;
}

.digital-solutions__number {
  width: 70px;
  height: 70px;
  margin-bottom: 18px;
  font-size: 27px;
}

.digital-solutions__title {
  margin-bottom: 12px;
  font-size: 29px;
  line-height: 1.2;
}

.digital-solutions__description {
  max-width: 330px;
  min-height: 62px;
  margin-bottom: 28px;

  font-size: 15px;
  line-height: 1.65;
}

.digital-solutions__image {
  width: 100%;
  height: 290px;
  border-radius: 16px;
}

@media (min-width: 1200px) {

  .digital-solutions {
    min-height: 820px;
    padding-top: 65px;
    padding-bottom: 85px;
  }

  .digital-solutions__container {
    max-width: 1080px;
  }

  .digital-solutions__heading {
    font-size: 56px;
  }

  .digital-solutions__grid {
    gap: 75px;
    margin-top: 80px;
  }

  .digital-solutions__number {
    width: 72px;
    height: 72px;
    font-size: 28px;
  }

  .digital-solutions__title {
    font-size: 30px;
  }

  .digital-solutions__description {
    max-width: 350px;
    font-size: 15px;
  }

  .digital-solutions__image {
    height: 310px;
  }
}

@media (max-width: 900px) {

  .digital-solutions {
    min-height: 0;
    padding: 50px 25px 65px;
  }

  .digital-solutions__heading {
    font-size: 44px;
  }

  .digital-solutions__grid {
    gap: 35px;
    margin-top: 65px;
  }

  .digital-solutions__number {
    width: 62px;
    height: 62px;
    font-size: 24px;
  }

  .digital-solutions__title {
    font-size: 25px;
  }

  .digital-solutions__description {
    font-size: 13px;
  }

  .digital-solutions__image {
    height: 250px;
  }
}

@media (max-width: 700px) {

  .digital-solutions {
    min-height: 0;
    padding: 45px 20px 65px;
  }

  .digital-solutions__heading {
    max-width: 380px;
    font-size: 40px;
  }

  .digital-solutions__grid {
    grid-template-columns: 1fr;
    gap: 65px;
    margin-top: 55px;
  }

  .digital-solutions__card {
    max-width: 500px;
  }

  .digital-solutions__number {
    width: 62px;
    height: 62px;
    font-size: 24px;
  }

  .digital-solutions__title {
    font-size: 27px;
  }

  .digital-solutions__description {
    max-width: 390px;
    min-height: auto;
    font-size: 14px;
    line-height: 1.6;
    margin-bottom: 24px;
  }

  .digital-solutions__image {
    height: 280px;
    border-radius: 16px;
  }
}

@media (max-width: 400px) {

  .digital-solutions {
    padding: 40px 16px 60px;
  }

  .digital-solutions__heading {
    font-size: 35px;
  }

  .digital-solutions__grid {
    gap: 55px;
    margin-top: 50px;
  }

  .digital-solutions__image {
    height: 245px;
  }
}

.engage-section {
    padding: clamp(48px, 6vw, 80px) 0;
    background-color: #ffffff;
  }

.section-border-t {
    border-top: 1px solid #e5e7eb;
  }

.engage-label {
    width: fit-content;
    margin: 0 auto 18px;
    padding: 6px 14px;
    border: 1px solid #d2a85e;
    border-radius: 4px;
    color: #022b1f;
    background: rgba(210, 168, 94, 0.08);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: 0.4px;
    text-transform: uppercase;
  }

.engage-title {
    margin: 0 auto;
    max-width: 600px;
    font-size: 43px;
    font-weight: 700;
    color: #022b1f;
    letter-spacing: -1.8px;
    line-height: 1.05;
    text-align: center;
  }

.engage-subtext {
    font-size: 17px;
    line-height: 1.7;
    color: #4a4a4a;
    max-width: 680px;
    margin: 18px auto 55px;
    text-align: center;
    font-weight: 400;
  }

.tiers-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(20px, 3vw, 32px);
    margin-bottom: clamp(48px, 6vw, 64px);
  }

.tier-card {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    padding: clamp(28px, 3.5vw, 36px);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
  }

.tier-card:hover {
    border-color: #cbd5e1;
    transform: translateY(-4px);
    box-shadow: 0 12px 24px -6px rgba(0, 0, 0, 0.06);
  }

.tier-name {
    font-size: clamp(1.2rem, 1.5vw, 1.35rem);
    font-weight: 800;
    color: #111827;
    margin: 0 0 16px 0;
    letter-spacing: -0.01em;
  }

.tier-length-badge {
    display: inline-block;
    font-size: 0.875rem;
    font-weight: 700;
    color: #1b4d3e;
    background-color: #eef6f3;
    padding: 6px 14px;
    border-radius: 50px;
    margin-bottom: 20px;
  }

.tier-desc {
    font-size: 0.95rem;
    line-height: 1.6;
    color: #4b5563;
    margin: 0;
  }

.table-section-title {
    font-size: clamp(1.5rem, 2.5vw, 1.85rem);
    font-weight: 800;
    color: #111827;
    letter-spacing: -0.02em;
    margin-bottom: 24px;
  }

.table-wrap {
    width: 100%;
    overflow-x: auto;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
  }

.custom-table {
    width: 100%;
    border-collapse: collapse;
    text-align: left;
    min-width: 650px;  }

.custom-table th {
    background-color: #f9fafb;
    color: #111827;
    font-weight: 700;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 16px 24px;
    border-bottom: 1px solid #e5e7eb;
  }

.custom-table td {
    padding: 18px 24px;
    border-bottom: 1px solid #f3f4f6;
    font-size: 0.95rem;
    line-height: 1.5;
    color: #374151;
  }

.custom-table tr:last-child td {
    border-bottom: none;
  }

.custom-table td:first-child {
    font-weight: 700;
    color: #111827;
    white-space: nowrap;
  }

@media (max-width: 991px) {
    .tiers-grid {
      grid-template-columns: 1fr;
      gap: 20px;
    }
  }

.who-runs-section {
    padding: clamp(48px, 6vw, 80px) 0;
    background-color: #ffffff;
  }

.section-border-t {
    border-top: 1px solid #e5e7eb;
  }

.who-runs-grid {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: clamp(32px, 5vw, 64px);
    align-items: center;
  }

.who-runs-label {
    width: fit-content;
    margin: 0 0 18px;
    padding: 6px 14px;
    border: 1px solid #d2a85e;
    border-radius: 4px;
    color: #022b1f;
    background: rgba(210, 168, 94, 0.08);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: 0.4px;
    text-transform: uppercase;
  }

.who-runs-title {
    font-size: 43px;
    font-weight: 700;
    color: #022b1f;
    letter-spacing: -1.8px;
    line-height: 1.05;
    margin: 0 0 20px 0;
  }

.person-name {
    font-family: var(--font-heading, inherit);
    font-weight: 800;
    font-size: clamp(1.15rem, 1.5vw, 1.3rem);
    color: #111827;
    margin: 0 0 8px 0;
    letter-spacing: -0.01em;
  }

.person-bio {
    font-size: clamp(0.95rem, 1.1vw, 1.025rem);
    line-height: 1.6;
    color: #4b5563;
    margin: 0 0 20px 0;
    max-width: 520px;
  }

.profile-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.95rem;
    font-weight: 700;
    color: #1b4d3e;
    text-decoration: none;
    transition: color 0.2s ease, transform 0.2s ease;
  }

.profile-link:hover {
    color: #143a2e;
    transform: translateX(4px);
  }

.who-runs-section .note-box {
    background-color: #f9fafb;
    border: 1px solid #e5e7eb;
    border-left: 4px solid #1b4d3e;
    border-radius: 12px;
    padding: clamp(24px, 3vw, 32px);
    font-size: 0.95rem;
    line-height: 1.65;
    color: #4b5563;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
  }

.who-runs-section .note-box strong {
    color: #111827;
    font-weight: 700;
  }

@media (max-width: 868px) {
    .who-runs-grid {
      grid-template-columns: 1fr;
      gap: 32px;
    }

    .person-bio {
      max-width: 100%;
    }
  }

.afia-faq {
  width: 100%;
  padding: 80px 30px;
  background: #f4f8f7;
  font-family: Arial, Helvetica, sans-serif;
  color: #184f43;
}

.afia-faq *,
.afia-faq *::before,
.afia-faq *::after {
  box-sizing: border-box;
}

.afia-faq__container {
  width: 100%;
  max-width: 1320px;
  margin: 0 auto;

  display: grid;
  grid-template-columns: 460px minmax(0, 1fr);
  gap: 90px;
  align-items: start;
}

.afia-faq__left {
  position: sticky;
  top: 30px;
}

.afia-faq__label {
  width: fit-content;
  margin: 0 0 18px;
  padding: 6px 14px;
  border: 1px solid #d2a85e;
  border-radius: 4px;
  color: #022b1f;
  background: rgba(210, 168, 94, 0.08);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: 0.4px;
  text-transform: uppercase;
}

.afia-faq__heading {
  margin: 0 0 42px;

  color: #022b1f;
  font-size: 43px;
  line-height: 1.05;
  font-weight: 700;
  letter-spacing: -1.8px;
}

.afia-faq__contact {
  position: relative;
  min-height: 260px;
  padding: 30px;

  overflow: hidden;

  border-radius: 16px;
  background: #195748;
  color: #fff;
}

.afia-faq__contact::after {
  content: "";
  position: absolute;

  width: 220px;
  height: 220px;

  top: -55px;
  right: -55px;

  border-radius: 50%;

  background:
    repeating-conic-gradient(
      from 225deg,
      rgba(255,255,255,0.10) 0deg 1deg,
      transparent 1deg 8deg
    );

  opacity: 0.55;
  pointer-events: none;
}

.afia-faq__contact-content {
  position: relative;
  z-index: 2;
}

.afia-faq__contact-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;

  margin-bottom: 20px;

  color: #fff;
  font-size: 14px;
  line-height: 1.45;
}

.afia-faq__contact-icon {
  flex: 0 0 20px;

  width: 20px;
  height: 20px;

  display: flex;
  align-items: center;
  justify-content: center;

  color: #fff;
  font-size: 18px;
}

.afia-faq__contact-text {
  max-width: 300px;
}

.afia-faq__contact-button {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;

  margin-top: 15px;

  height: 40px;

  overflow: hidden;
  border-radius: 999px;

  background: #fff;
  color: #174f43;

  text-decoration: none;
  font-size: 12px;
  font-weight: 600;
  transition: background 0.2s ease;
}

.afia-faq__contact-button:hover {
  background: color-mix(in srgb, var(--color-text) 7%, transparent);
}

.afia-faq__contact-button-text {
  padding: 0 20px;
}

.afia-faq__contact-button-arrow {
  width: 42px;
  height: 40px;

  display: flex;
  align-items: center;
  justify-content: center;

  border-left: 1px solid #dce7e4;

  font-size: 16px;
}

.afia-faq__list {
  width: 100%;
}

.afia-faq__item {
  border-top: 1px solid #d8e1df;
}

.afia-faq__item:last-child {
  border-bottom: 1px solid #d8e1df;
}

.afia-faq__question {
  width: 100%;
  min-height: 88px;
  padding: 22px 0;

  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) 40px;
  gap: 0;

  align-items: center;

  border: 0;
  background: transparent;

  color: #174f43;
  text-align: left;

  cursor: pointer;
  font-family: inherit;
}

.afia-faq__number {
  align-self: start;
  padding-top: 5px;

  color: #174f43;
  font-size: 11px;
  line-height: 1;
  font-weight: 500;
  letter-spacing: 0.3px;
}

.afia-faq__question-text {
  padding-right: 20px;

  font-size: 24px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: -0.8px;
}

.afia-faq__icon {
  width: 30px;
  height: 30px;

  justify-self: end;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 50%;
  background: #174f43;

  color: #fff;

  font-size: 23px;
  font-weight: 300;
  line-height: 1;

  transition:
    transform 0.3s ease,
    background 0.3s ease;
}

.afia-faq__icon::before {
  content: "+";
  transform: translateY(-1px);
}

.afia-faq__item.is-open .afia-faq__icon::before {
  content: "−";
  transform: translateY(-1px);
}

.afia-faq__answer {
  display: grid;
  grid-template-rows: 0fr;

  transition: grid-template-rows 0.45s cubic-bezier(.4, 0, .2, 1);
}

.afia-faq__answer-inner {
  overflow: hidden;
}

.afia-faq__answer-content {
  padding: 0 70px 0 38px;

  color: #48635d;
  font-size: 14px;
  line-height: 1.65;

  opacity: 0;

  transform: translateY(-8px);

  transition:
    opacity 0.3s ease,
    transform 0.4s ease,
    padding 0.4s ease;
}

.afia-faq__item.is-open .afia-faq__answer {
  grid-template-rows: 1fr;
}

.afia-faq__item.is-open .afia-faq__answer-content {
  padding-bottom: 25px;

  opacity: 1;
  transform: translateY(0);
}

.afia-faq__question:hover .afia-faq__question-text {
  color: #0d7565;
}

.afia-faq__question:hover .afia-faq__icon {
  background: #0d7565;
}

@media (max-width: 1000px) {

  .afia-faq {
    padding: 65px 25px;
  }

  .afia-faq__container {
    grid-template-columns: 330px minmax(0, 1fr);
    gap: 50px;
  }

  .afia-faq__heading {
    font-size: 42px;
  }

  .afia-faq__question-text {
    font-size: 21px;
  }

  .afia-faq__contact {
    padding: 25px;
  }
}

@media (max-width: 760px) {

  .afia-faq {
    padding: 55px 20px 65px;
  }

  .afia-faq__container {
    display: block;
  }

  .afia-faq__left {
    position: static;
  }

  .afia-faq__heading {
    max-width: 400px;
    margin-bottom: 32px;

    font-size: 40px;
    line-height: 1;
  }

  .afia-faq__contact {
    min-height: auto;
    margin-bottom: 50px;
    padding: 26px;
  }

  .afia-faq__question {
    min-height: 76px;

    grid-template-columns: 35px minmax(0, 1fr) 36px;
  }

  .afia-faq__question-text {
    padding-right: 12px;
    font-size: 20px;
  }

  .afia-faq__answer-content {
    padding-left: 35px;
    padding-right: 40px;
    font-size: 13px;
  }
}

@media (max-width: 430px) {

  .afia-faq {
    padding: 45px 16px 55px;
  }

  .afia-faq__heading {
    font-size: 36px;
  }

  .afia-faq__contact {
    padding: 23px;
    border-radius: 14px;
  }

  .afia-faq__question {
    grid-template-columns: 32px minmax(0, 1fr) 34px;
  }

  .afia-faq__question-text {
    font-size: 18px;
    letter-spacing: -0.4px;
  }

  .afia-faq__icon {
    width: 28px;
    height: 28px;
    font-size: 21px;
  }

  .afia-faq__answer-content {
    padding-left: 32px;
    padding-right: 25px;
  }
}

.floating-actions {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 400;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
}

.floating-btn {
  position: relative;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  cursor: pointer;
  overflow: hidden;
  text-decoration: none;
  box-shadow: 0 8px 24px rgba(2, 43, 31, 0.28);
  transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.25s ease, visibility 0.25s ease;
}

.floating-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 28px rgba(2, 43, 31, 0.34);
}

.floating-btn svg {
  position: relative;
  z-index: 1;
  width: 26px;
  height: 26px;
}

.floating-btn::before {
  content: "";
  position: absolute;
  top: 0;
  left: -150%;
  width: 55%;
  height: 100%;
  background: linear-gradient(120deg, transparent, rgba(255, 255, 255, 0.75), transparent);
  transform: skewX(-20deg);
  animation: floatingShine 3.4s ease-in-out infinite;
}

@keyframes floatingShine {
  0% { left: -150%; }
  22% { left: 150%; }
  100% { left: 150%; }
}

.whatsapp-btn {
  background: #25d366;
  color: #ffffff;
}

.scrolltop-btn {
  background: #022b1f;
  color: #ffffff;
  opacity: 0;
  visibility: hidden;
  transform: translateY(12px) scale(0.85);
}

.scrolltop-btn.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0) scale(1);
}

@media (max-width: 640px) {
  .floating-actions { right: 16px; bottom: 16px; gap: 10px; }
  .floating-btn { width: 48px; height: 48px; }
  .floating-btn svg { width: 22px; height: 22px; }
}

@media (prefers-reduced-motion: reduce) {
  .floating-btn::before { animation: none; }
}

* {
  font-family: 'Archivo', sans-serif !important;
}

.fa,
.fas,
.far,
.fal,
.fad,
.fab,
.fa-solid,
.fa-regular,
.fa-light,
.fa-thin,
.fa-duotone,
.fa-brands {
  font-family: "Font Awesome 6 Free" !important;
}

@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@400;500;600;700;800&display=swap');


.af-hero2{

  font-family:"Archivo",sans-serif;

  position:relative;

  padding:90px 0;

  color:white;

  overflow:hidden;

}

.af-hero2__list{

  list-style:none;

  padding:0;

  margin:30px 0;

}

.af-hero2__list li{

  display:flex;

  gap:12px;

  margin-bottom:14px;

  color:white;

}

.af-hero2__list i{

  color:#73d4b0;

}

@media(max-width:600px){


.af-hero2{

  padding:45px 0;

}



.af-hero2__container{

  padding:0 20px;

  gap:40px;

}



.af-hero2__badge{

  font-size:12px;

}



.af-hero2 h1{

  font-size:30px;

  line-height:1.18;

  letter-spacing:-1px;

}



.af-hero2__content p{

  font-size:16px;

}



.af-hero2__list li{

  font-size:14px;

}



.af-hero2__buttons{

  flex-direction:column;

  gap:12px;

}



.af-btn2{

  width:100%;

  text-align:center;

}







.af-hero2__contact{

  flex-direction:column;

  align-items:stretch;

  gap:10px;

}



.af-hero2__contact a{

  background:rgba(255,255,255,.12);

  padding:12px 15px;

  border-radius:30px;

  width:100%;

  justify-content:center;

}



.af-hero2__contact span{

  display:none;

}




.af-hero2__card{

  padding:20px;

  border-radius:24px;

}



.af-hero2__card h3{

  font-size:20px;

}



.af-option{

  padding:14px;

  gap:12px;

}



.af-option strong{

  font-size:13px;

}



.af-option small{

  font-size:12px;

}



}

@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@400;500;600;700;800&display=swap');


.af-hero2{

  font-family:"Archivo",sans-serif;

  position:relative;

  padding:90px 0;

  color:white;

  overflow:hidden;

}

.af-hero2__list{

  list-style:none;

  padding:0;

  margin:30px 0;

}

.af-hero2__list li{

  display:flex;

  gap:12px;

  margin-bottom:14px;

  color:white;

}

.af-hero2__list i{

  color:#73d4b0;

}

@media(max-width:600px){


.af-hero2{

  padding:45px 0;

}



.af-hero2__container{

  padding:0 20px;

  gap:40px;

}



.af-hero2__badge{

  font-size:12px;

}



.af-hero2 h1{

  font-size:30px;

  line-height:1.18;

  letter-spacing:-1px;

}



.af-hero2__content p{

  font-size:16px;

}



.af-hero2__list li{

  font-size:14px;

}



.af-hero2__buttons{

  flex-direction:column;

  gap:12px;

}



.af-btn2{

  width:100%;

  text-align:center;

}







.af-hero2__contact{

  flex-direction:column;

  align-items:stretch;

  gap:10px;

}



.af-hero2__contact a{

  background:rgba(255,255,255,.12);

  padding:12px 15px;

  border-radius:30px;

  width:100%;

  justify-content:center;

}



.af-hero2__contact span{

  display:none;

}




.af-hero2__card{

  padding:20px;

  border-radius:24px;

}



.af-hero2__card h3{

  font-size:20px;

}



.af-option{

  padding:14px;

  gap:12px;

}



.af-option strong{

  font-size:13px;

}



.af-option small{

  font-size:12px;

}



}

.btn-ghost {
    padding-inline: 4px;
    background-color: transparent;
    
    transition:
        padding 0.4s cubic-bezier(0.22, 1, 0.36, 1),
        background-color 0.4s cubic-bezier(0.22, 1, 0.36, 1),
        color 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

.btn-ghost:hover {
    padding-inline: 14px;
    background-color: var(--color-neutral-200);
    color: var(--color-text);
}

.af-topbar{

  width:100%;
  background:#083526;
  color:#fff;
  font-family:"Archivo",sans-serif;

}

.af-topbar__container{

  max-width:1400px;
  margin:auto;

  height:48px;
  padding:0 40px;

  display:flex;
  align-items:center;
  justify-content:space-between;

}

.af-topbar__message,
.af-topbar__phone{

  display:flex;
  align-items:center;
  gap:22px;

}

.af-message-scroll{

  overflow:hidden;

}

.af-topbar p{

  margin:0;

  font-size:14px;

  font-weight:600;

  white-space:nowrap;

}

.af-topbar__phone{

  text-decoration:none;

  color:white;

  font-size:14px;

  font-weight:600;

  flex-shrink:0;

}

.af-topbar__phone i{

  display:none;

}

.af-topbar__divider{

  width:1px;

  height:20px;

  background:rgba(255,255,255,.35);

  flex-shrink:0;

}

@media(max-width:768px){


.af-topbar__container{

  height:44px;

  padding:0 15px;

  gap:12px;

}



.af-topbar__message{

  flex:1;

  min-width:0;

  overflow:hidden;

}



.af-topbar__message .af-topbar__divider{

  margin-right:12px;

}



.af-message-scroll{

  overflow:hidden;

  white-space:nowrap;

}



.af-message-scroll p{

  font-size:11px;

  animation:af-scroll-text 12s linear infinite;

  display:inline-block;

  padding-left:100%;

}





.af-topbar__phone{

  gap:8px;

}



.af-topbar__phone .af-topbar__divider{

  display:none;

}



.af-topbar__phone i{

  display:flex;

  width:30px;

  height:30px;

  border-radius:50%;

  background:#145640;

  align-items:center;

  justify-content:center;

  font-size:12px;

}



.af-phone-text{

  font-size:11px;

  white-space:nowrap;

}



}

.af-phone-text:hover{
  color:#10b981;
}

@keyframes af-scroll-text{


0%{

 transform:translateX(0);

}


100%{

 transform:translateX(-100%);

}


}

@media(max-width:400px){


.af-phone-text{

 display:none;

}


.af-topbar__phone i{

 width:32px;

 height:32px;

}


}

[data-reveal-el]{
  opacity:0;
  transform:translateY(28px);
  clip-path:inset(0 0 100% 0);
}

@keyframes af-hero-reveal{
  0%{
    opacity:0;
    transform:translateY(28px);
    clip-path:inset(0 0 100% 0);
  }
  60%{
    opacity:1;
    clip-path:inset(0 0 0% 0);
  }
  100%{
    opacity:1;
    transform:translateY(0);
    clip-path:inset(0 0 0% 0);
  }
}

.af-hero2__container.is-dragging{
  cursor:grabbing;
}

:root {
      --forest: #163f2d;
      --forest-dark: #0f3022;
      --forest-soft: #2f6b50;
      --sage: #dfe9e1;
      --sage-light: #edf3ee;
      --page: #f7f8f5;
      --white: #ffffff;
      --ink: #142018;
      --muted: #667168;
      --line: rgba(22, 63, 45, 0.12);
    }

.wellness {
      background: var(--page);
      padding: 72px 24px;
      overflow: hidden;
    }

.wellness__eyebrow {
      color: var(--forest-soft);
      font-size: 13px;
      font-weight: 700;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      margin-bottom: 14px;
    }

@keyframes introIn {
      to {
        opacity: 1;
        transform: translateY(0);
      }
    }

@keyframes cardIn {
      to {
        opacity: 1;
        transform: translateY(0) scale(1);
      }
    }

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

@media (max-width: 640px) {
      .wellness {
        padding: 52px 16px;
      }

      .wellness__inner {
        grid-template-columns: 1fr;
        gap: 16px;
      }

      .wellness__intro {
        grid-column: auto;
        margin-bottom: 8px;
      }

      .wellness__card {
        min-height: 205px;
      }
    }

.founderContent {
    max-width: 700px;
}

.founderVisual {
    position: relative;
    min-height: 620px;
}

@import url('https://fonts.googleapis.com/css2?family=Allura&display=swap');
.signatureName {
font-family: "Allura", cursive!important;
  font-size: 45px;
  font-weight: 400;
    color: #173d39;
    line-height: 1;
}

@media (max-width: 1100px) {

    .founderContainer {
        gap: 50px;
    }

    .founderVisual {
        min-height: 560px;
    }

    .founderImageCard img {
        height: 500px;
    }

    .quoteCard {
        width: 310px;
        bottom: 105px;
    }

}

@media (max-width: 850px) {

    .founderSection {
        padding: 55px 20px;
    }

    .founderContainer {
        grid-template-columns: 1fr;
        gap: 55px;
    }

    .founderContent {
        max-width: 100%;
    }

    .founderIntro {
        max-width: 100%;
    }

    .founderText {
        max-width: 100%;
    }

    .founderVisual {
        min-height: auto;
    }

    .visualBlob {
        width: 480px;
        height: 480px;
        left: 50%;
        transform: translateX(-50%);
        top: -30px;
    }

    .founderImageCard {
        width: 90%;
        margin: 0 auto;
    }

    .founderImageCard img {
        height: 520px;
    }

    .quoteCard {
        right: 3%;
        bottom: 85px;
    }

    .founderSignature {
        width: 90%;
        margin: 0 auto;
    }

}

.insight-section{


    width:100%;

    padding:100px 0;

}

.insight-wrapper{

    max-width:1500px;

    margin:auto;

    display:grid;

    grid-template-columns:50% 50%;

    align-items:stretch;

}

.insight-image{

    width:100%;

    height:560px;

}

.insight-image img{

    width:100%;

    height:100%;

    object-fit:cover;

    display:block;

}

.insight-content{

    padding:40px 80px;

    display:flex;

    flex-direction:column;

    justify-content:center;

}

.eyebrow{

    font-size:12px;

    letter-spacing:2px;

    font-weight:600;

    color:#55736d;

    margin-bottom:25px;

}

.insight-content h2{

    margin:0 0 25px;

    font-size:58px;

    line-height:1.02;

    letter-spacing:-2.5px;

    font-weight:800;

    color:#10332d;

}

.insight-content p{

    margin:0 0 45px;

    max-width:560px;

    font-size:18px;

    line-height:1.55;

    color:#405752;

}

.features{

    border-top:1px solid #d9dfdc;

    padding-top:30px;

    display:flex;

    justify-content:space-between;

    gap:30px;

}

.feature{

    display:flex;

    align-items:center;

    gap:14px;

    color:#123c35;

    font-size:15px;

    font-weight:500;

}

.feature i{

    font-size:27px;

    color:#073b32;

}

@media(max-width:1200px){


.insight-content{

    padding:40px 50px;

}


.insight-content h2{

    font-size:45px;

}


.insight-content p{

    font-size:16px;

}


.features{

    gap:20px;

}


.feature{

    font-size:13px;

}


}

@media(max-width:900px){


.insight-section{

    padding:80px 0;

}



.insight-wrapper{

    grid-template-columns:1fr;

}



.insight-image{

    height:450px;

}



.insight-content{

    padding:60px 40px;

}



.insight-content h2{

    font-size:42px;

}



.features{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:25px;

}



}

@media(max-width:600px){


.insight-section{

    padding:50px 0;

}



.insight-image{

    height:300px;

}



.insight-content{

    padding:40px 22px;

}



.eyebrow{

    font-size:10px;

    letter-spacing:1.5px;

}



.insight-content h2{

    font-size:34px;

    line-height:1.08;

    letter-spacing:-1px;

}



.insight-content p{

    font-size:16px;

    line-height:1.6;

    margin-bottom:35px;

}



.features{

    display:flex;

    flex-direction:column;

    gap:22px;

}



.feature{

    font-size:15px;

}



.feature i{

    font-size:24px;

}


}

.wellbeing-section {
  --wb-green: #0c4538;
  --wb-dark: #12352f;
  --wb-muted: #5d706b;
  --wb-light: #f4f7f4;
  --wb-border: #d3ddd8;
  --wb-white: #ffffff;

  position: relative;
  padding: 110px 40px;
  background: var(--wb-light);
  color: var(--wb-dark);
  overflow: hidden;
}

.wellbeing-section *,
.wellbeing-section *::before,
.wellbeing-section *::after {
  box-sizing: border-box;
}

/* .wellbeing-section::before {
  content: "";
  position: absolute;

  width: 420px;
  height: 420px;

  top: -220px;
  left: -180px;

  border-radius: 50%;

  background: rgba(112, 150, 137, 0.08);

  animation: wbSoftFloat 9s ease-in-out infinite;
  pointer-events: none;
}

.wellbeing-section::after {
  content: "";

  position: absolute;

  width: 300px;
  height: 300px;

  right: -160px;
  bottom: -170px;

  border-radius: 50%;

  background: rgba(112, 150, 137, 0.06);

  animation: wbSoftFloatReverse 11s ease-in-out infinite;
  pointer-events: none;
} */

.wellbeing-section .wellbeing-container {
  position: relative;
  z-index: 2;

  width: 100%;
  max-width: 1380px;
  margin: 0 auto;

  display: grid;
  grid-template-columns:
    minmax(0, 1.25fr)
    minmax(260px, 0.8fr)
    minmax(260px, 0.7fr);

  gap: 70px;
  align-items: center;
}

.wellbeing-section .left-content,
.wellbeing-section .list-box,
.wellbeing-section .image-box {
  opacity: 0;
  transform: translateY(25px);

  animation: wbReveal 0.8s cubic-bezier(.22, .61, .36, 1) forwards;
}

.wellbeing-section .left-content {
  animation-delay: 0.05s;
}

.wellbeing-section .list-box {
  animation-delay: 0.18s;
}

.wellbeing-section .image-box {
  animation-delay: 0.3s;
}

.wellbeing-section .left-content {
  max-width: 620px;
}

.wellbeing-section .small-label {
  display: inline-flex;
  align-items: center;
  gap: 10px;

  margin: 0 0 22px;

  font-size: 11px;
  line-height: 1;
  letter-spacing: 2.4px;
  text-transform: uppercase;
  font-weight: 700;

  color: #58746c;
}

.wellbeing-section .small-label::before {
  content: "";

  width: 28px;
  height: 1px;

  background: #78948d;

  transform-origin: left;
  animation: wbLineGrow 0.8s ease forwards;
}

.wellbeing-section .small-label::after {
  content: "";

  width: 5px;
  height: 5px;

  margin-left: -4px;

  border-radius: 50%;

  background: #78948d;

  animation: wbPulse 2.8s ease-in-out infinite;
}

.wellbeing-section .left-content h1 {
  margin: 0 0 26px;

  max-width: 650px;

  font-size: clamp(38px, 4vw, 58px);
  line-height: 1.04;
  letter-spacing: -2.2px;
  font-weight: 700;

  color: var(--wb-dark);
}

.wellbeing-section .left-content h1::selection,
.wellbeing-section .left-content p::selection {
  background: #c9d9d3;
}

.wellbeing-section .left-content p {
  max-width: 540px;

  margin: 0 0 36px;

  font-size: 16px;
  line-height: 1.7;

  color: #50635e;
}

.wellbeing-section .buttons {
  display: flex;
  align-items: center;
  gap: 14px;
}

.wellbeing-section .btn-primaryy {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 18px;

  min-height: 52px;

  padding: 15px 24px 15px 26px;

  border: 1px solid var(--wb-green);
  border-radius: 999px;

  background: var(--wb-green);

  color: #ffffff !important;

  font-size: 13px;
  line-height: 1;
  font-weight: 700;

  text-decoration: none !important;

  transition:
    background 0.25s ease,
    border-color 0.25s ease,
    transform 0.25s ease,
    box-shadow 0.25s ease;
}

.wellbeing-section .btn-primaryy i {
  font-size: 12px;
  color: #ffffff !important;

  transition: transform 0.3s ease;
}

.wellbeing-section .btn-primaryy:hover,
.wellbeing-section .btn-primaryy:focus,
.wellbeing-section .btn-primaryy:active {
  background: #08392f !important;
  border-color: #08392f !important;

  color: #ffffff !important;

  transform: translateY(-2px);

  box-shadow:
    0 12px 28px rgba(12, 69, 56, 0.17);
}

.wellbeing-section .btn-primaryy:hover i {
  color: #ffffff !important;
  transform: translateX(5px);
}

.wellbeing-section .list-box {
  position: relative;

  padding-left: 42px;

  border-left: 1px solid var(--wb-border);
}

.wellbeing-section .list-title {
  margin: 0 0 28px;

  font-size: 10px;
  line-height: 1.4;

  letter-spacing: 1.8px;
  text-transform: uppercase;
  font-weight: 700;

  color: #637973;
}

.wellbeing-section .item {
  display: flex;
  align-items: center;

  gap: 15px;

  margin: 0 0 19px;

  font-size: 13px;
  line-height: 1.4;
  font-weight: 500;

  color: #193d36;

  transition:
    transform 0.25s ease,
    color 0.25s ease;
}

.wellbeing-section .item:last-child {
  margin-bottom: 0;
}

.wellbeing-section .item:hover {
  transform: translateX(5px);
  color: #0c4538;
}

.wellbeing-section .item i {
  display: flex;
  align-items: center;
  justify-content: center;

  flex: 0 0 30px;

  width: 30px;
  height: 30px;

  border: 1px solid #d3dfda;
  border-radius: 50%;

  font-size: 12px;

  color: #315b51;

  background: rgba(255, 255, 255, 0.55);

  transition:
    background 0.25s ease,
    border-color 0.25s ease,
    transform 0.25s ease;
}

.wellbeing-section .item:hover i {
  background: #ffffff;
  border-color: #a9beb7;

  transform: scale(1.08);
}

.wellbeing-section .image-box {
  position: relative;

  height: 450px;

  overflow: hidden;

  background: #dbe4df;

  box-shadow:
    0 18px 45px rgba(20, 57, 49, 0.08);
}

.wellbeing-section .image-box::before {
  content: "";

  position: absolute;
  z-index: 3;

  top: 18px;
  left: 18px;

  width: 34px;
  height: 34px;

  border-top: 1px solid rgba(255,255,255,0.7);
  border-left: 1px solid rgba(255,255,255,0.7);

  pointer-events: none;

  opacity: 0.7;
}

.wellbeing-section .image-box::after {
  content: "";

  position: absolute;
  z-index: 1;

  inset: 0;

  background:
    linear-gradient(
      180deg,
      rgba(10, 50, 42, 0.03) 0%,
      rgba(10, 50, 42, 0.40) 100%
    );

  pointer-events: none;
}

.wellbeing-section .image-box img {
  display: block;

  width: 100%;
  height: 100%;

  object-fit: cover;
  object-position: center;

  transition:
    transform 1.2s cubic-bezier(.2,.6,.3,1);
}

.wellbeing-section .image-box:hover img {
  transform: scale(1.035);
}

.wellbeing-section .image-text {
  position: absolute;
  z-index: 4;

  top: 50%;
  left: 50%;

  width: 100%;

  transform: translate(-50%, -50%);

  color: #ffffff;

  font-size: 12px;
  line-height: 2.15;

  letter-spacing: 4px;
  text-align: center;

  text-transform: uppercase;
  font-weight: 600;

  text-shadow:
    0 2px 15px rgba(0,0,0,0.18);

  animation: wbTextFloat 4s ease-in-out infinite;
}

@keyframes wbReveal {
  from {
    opacity: 0;
    transform: translateY(25px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes wbLineGrow {
  from {
    transform: scaleX(0);
  }

  to {
    transform: scaleX(1);
  }
}

@keyframes wbPulse {
  0%,
  100% {
    opacity: 0.35;
    transform: scale(0.8);
  }

  50% {
    opacity: 1;
    transform: scale(1.2);
  }
}

@keyframes wbTextFloat {
  0%,
  100% {
    transform: translate(-50%, -50%);
  }

  50% {
    transform: translate(-50%, calc(-50% - 4px));
  }
}

@keyframes wbSoftFloat {
  0%,
  100% {
    transform: translate(0, 0);
  }

  50% {
    transform: translate(25px, 20px);
  }
}

@keyframes wbSoftFloatReverse {
  0%,
  100% {
    transform: translate(0, 0);
  }

  50% {
    transform: translate(-20px, -15px);
  }
}

@media (max-width: 1100px) {

  .wellbeing-section {
    padding: 90px 30px;
  }

  .wellbeing-section .wellbeing-container {
    grid-template-columns: 1fr 1fr;
    gap: 55px;
  }

  .wellbeing-section .left-content {
    max-width: 100%;
  }

  .wellbeing-section .left-content h1 {
    font-size: clamp(38px, 5vw, 52px);
  }

  .wellbeing-section .image-box {
    grid-column: 1 / -1;
    height: 420px;
  }

}

@media (max-width: 700px) {

  .wellbeing-section {
    padding: 70px 20px;
  }

  .wellbeing-section .wellbeing-container {
    grid-template-columns: 1fr;
    gap: 45px;
  }

  .wellbeing-section .small-label {
    margin-bottom: 18px;

    font-size: 10px;
    letter-spacing: 1.8px;
  }

  .wellbeing-section .left-content h1 {
    margin-bottom: 20px;

    font-size: 36px;
    line-height: 1.08;
    letter-spacing: -1.4px;
  }

  .wellbeing-section .left-content h1 br {
    display: none;
  }

  .wellbeing-section .left-content p {
    margin-bottom: 28px;

    font-size: 15px;
    line-height: 1.65;
  }

  .wellbeing-section .buttons {
    width: 100%;
  }

  .wellbeing-section .btn-primaryy {
    width: 100%;
    min-height: 54px;
  }

  .wellbeing-section .list-box {
    padding: 32px 0 0;

    border-top: 1px solid var(--wb-border);
    border-left: 0;
  }

  .wellbeing-section .list-title {
    margin-bottom: 22px;
  }

  .wellbeing-section .item {
    margin-bottom: 15px;
  }

  .wellbeing-section .image-box {
    grid-column: auto;
    height: 360px;
  }

}

@media (prefers-reduced-motion: reduce) {

  .wellbeing-section *,
  .wellbeing-section *::before,
  .wellbeing-section *::after {
    animation: none !important;
    transition: none !important;
  }

}

.af-trust{
  position:relative;
  overflow:hidden;
  background:#f2f3ee;
  padding:72px 0;
  font-family:"Archivo",sans-serif;
}

.af-trust__container{
  max-width:1350px;
  margin:0 auto;
  padding:0 60px;
  display:grid;
  grid-template-columns:43% 57%;
  align-items:center;
  gap:55px;
}

.af-trust__content{
  max-width:550px;
}

.af-trust__eyebrow{
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:7px 13px;
  border:1px solid rgba(8,53,38,.25);
  border-radius:50px;
  background:rgba(210,168,94,.10);
  color:#083526;
  font-size:10px;
  font-weight:700;
  letter-spacing:1.15px;
  text-transform:uppercase;
  margin-bottom:22px;
}

.af-trust__eyebrow-dot{
  width:6px;
  height:6px;
  border-radius:50%;
  background:#d2a85e;
  box-shadow:0 0 0 4px rgba(210,168,94,.15);
}

.af-trust__content h2{
  margin:0 0 20px;
  max-width:540px;
  color:#083526;
  font-size:40px;
  line-height:1.13;
  letter-spacing:-1.4px;
  font-weight:800;
}

.af-trust__content p{
  margin:0;
  max-width:510px;
  color:#53635d;
  font-size:15px;
  line-height:1.7;
}

.af-trust__right{
  min-width:0;
}

.af-trust__carousel{
  width:100%;
  padding:26px 28px;
  border:1px solid rgba(8,53,38,.10);
  border-radius:16px;
  background:#ffffff;
}

.af-trust__carousel-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding-bottom:18px;
  margin-bottom:18px;
  border-bottom:1px solid rgba(8,53,38,.10);
}

.af-trust__carousel-head > span{
  color:rgba(8,53,38,.45);
  font-size:10px;
  font-weight:700;
  letter-spacing:1.5px;
}

.af-trust__carousel-controls{
  display:flex;
  gap:7px;
}

.af-trust__arrow{
  width:31px;
  height:31px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
  border:1px solid rgba(8,53,38,.15);
  border-radius:50%;
  background:rgba(8,53,38,.03);
  color:rgba(8,53,38,.70);
  font-size:14px;
  cursor:pointer;
  transition:all .25s ease;
}

.af-trust__arrow:hover{
  background:#d2a85e;
  border-color:#d2a85e;
  color:#193c34;
}

.af-trust__viewport{
  width:100%;
  overflow:hidden;
}

.af-trust__track{
  display:flex;
  align-items:center;
  gap:18px;
  transition:transform .55s cubic-bezier(.4,0,.2,1);
}

.af-trust__logo{
  flex:0 0 160px;
  height:88px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:14px 22px;
  border-radius:9px;
  background:#f8f8f4;
  border:1px solid rgba(8,53,38,.08);
  box-sizing:border-box;
}

.af-trust__logo img{
  display:block;
  max-width:100%;
  width:auto;
  height:100%;
  max-height:56px;
  object-fit:contain;
  opacity:1;
  transition:transform .3s ease;
}

.af-trust__logo:hover{
  box-shadow:0 4px 14px rgba(8,53,38,.10);
}

.af-trust__logo:hover img{
  transform:scale(1.04);
}

.af-trust__bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-top:18px;
}

.af-trust__bottom p{
  margin:0;
  max-width:430px;
  color:#71817b;
  font-size:12px;
  line-height:1.55;
}

.af-trust__dots{
  display:flex;
  align-items:center;
  gap:6px;
  flex-shrink:0;
}

.af-trust__dot{
  width:5px;
  height:5px;
  border-radius:50%;
  background:rgba(8,53,38,.18);
  transition:width .25s ease, background .25s ease;
}

.af-trust__dot.active{
  width:18px;
  border-radius:10px;
  background:#d2a85e;
}

@media(max-width:1100px){

  .af-trust{
    padding:65px 0;
  }

  .af-trust__container{
    grid-template-columns:1fr;
    gap:40px;
  }

  .af-trust__content{
    max-width:700px;
  }

  .af-trust__content h2{
    max-width:650px;
  }

  .af-trust__content p{
    max-width:650px;
  }

}

@media(max-width:700px){

  .af-trust{
    padding:55px 0;
  }

  .af-trust__container{
    padding:0 20px;
    gap:32px;
  }

  .af-trust__eyebrow{
    font-size:9px;
    padding:7px 11px;
  }

  .af-trust__content h2{
    font-size:30px;
    line-height:1.18;
    letter-spacing:-1px;
    margin-bottom:17px;
  }

  .af-trust__content p{
    font-size:14px;
    line-height:1.65;
  }

  .af-trust__carousel{
    padding:20px;
    border-radius:14px;
  }

  .af-trust__carousel-head{
    margin-bottom:15px;
    padding-bottom:15px;
  }

  .af-trust__logo{
    flex:0 0 135px;
    height:74px;
    padding:10px 16px;
  }

  .af-trust__logo img{
    max-height:46px;
  }

  .af-trust__track{
    gap:12px;
  }

  .af-trust__bottom{
    align-items:flex-end;
  }

  .af-trust__bottom p{
    font-size:11px;
  }

}

@media(max-width:380px){

  .af-trust__carousel{
    padding:17px;
  }

  .af-trust__logo{
    flex-basis:120px;
    height:66px;
  }

  .af-trust__logo img{
    max-height:40px;
  }

}

.beliefSection {
  --deepGreen: #073b34;
  --green: #255c52;
  --softGreen: #78988f;
  --paleGreen: #edf3ef;
  --text: #344b59;
  --line: #d9dfdc;
  --white: #ffffff;

  width: 100%;
  position: relative;
  overflow: hidden;
  background: #ffffff;
  font-family: "Archivo", sans-serif;
  padding: 70px 24px;
}

.beliefSection *,
.beliefSection *::before,
.beliefSection *::after {
  box-sizing: border-box;
}

.beliefContainer {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  position: relative;
}

.beliefGrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
}

.beliefContent {
  position: relative;
  z-index: 4;
  max-width: 690px;
}

.beliefEyebrow {
  display: flex;
  align-items: center;
  gap: 24px;
  margin-bottom: 30px;
  color: var(--softGreen);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 4px;
  text-transform: uppercase;
}

.beliefEyebrowLine {
  width: 52px;
  height: 2px;
  background: var(--green);
}

.beliefQuoteWrap {
  position: relative;
  padding-left: 55px;
}

.beliefQuoteMark {
  position: absolute;
  left: 0;
  top: 2px;
  font-family: Georgia, serif;
  font-size: 46px;
  line-height: 1;
  font-weight: 700;
  color: var(--softGreen);
}

.beliefTitle {
  margin: 0;
  color: var(--deepGreen);
  font-size: clamp(26px, 2.4vw, 40px);
  line-height: 1.25;
  font-weight: 700;
  letter-spacing: -1.2px;
}

.beliefDescription {
  margin: 22px 0 0 55px;
  max-width: 650px;
  color: var(--text);
  font-size: 16px;
  line-height: 1.6;
}

.beliefButton {
  margin: 28px 0 0 55px;
  min-width: 215px;
  height: 59px;
  padding: 0 30px;
  border-radius: 100px;
  background: var(--deepGreen);
  color: #ffffff;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  font-size: 16px;
  font-weight: 500;
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease,
    background 0.3s ease;
}

.beliefButton i {
  font-size: 15px;
  transition: transform 0.3s ease;
}

.beliefButton:hover {
  transform: translateY(-3px);
  background: #052e29;
  box-shadow: 0 14px 30px rgba(7, 59, 52, 0.17);
}

.beliefButton:hover i {
  transform: translateX(5px);
}

.beliefProgress {
  margin: 39px 0 0 55px;
  display: flex;
  align-items: center;
  gap: 9px;
}

.beliefProgress span {
  display: block;
  width: 54px;
  height: 4px;
  border-radius: 20px;
  background: #dbe0df;
}

.beliefProgress span:first-child {
  background: var(--deepGreen);
}

.beliefVisual {
  min-width: 0;
  position: relative;
  padding: 20px 24px 40px 0;
}

.beliefImageWrap {
  width: 100%;
  aspect-ratio: 4 / 3.4;
  height: auto;
  position: relative;
  z-index: 3;
  overflow: hidden;
  border-radius: 12px;
  background: #e8eeeb;
}

.beliefImageWrap img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 1.2s cubic-bezier(.16,1,.3,1);
}

.beliefImageWrap:hover img {
  transform: scale(1.025);
}

.beliefTopShape {
  position: absolute;
  z-index: 1;
  width: 45%;
  max-width: 260px;
  height: 100px;
  right: 15%;
  top: -45px;
  background: #71877e;
}

.beliefBackShape {
  position: absolute;
  z-index: 1;
  right: -12px;
  bottom: -20px;
  width: 55%;
  max-width: 230px;
  height: 70%;
  border-radius: 12px;
  background: #f1f5f2;
}

.beliefDots {
  position: absolute;
  z-index: 2;
  right: 3px;
  top: -40px;
  width: 150px;
  height: 100px;
  opacity: 0.75;
  background-image: radial-gradient(circle, #4d786d 1.4px, transparent 1.6px);
  background-size: 22px 22px;
}

.insightCard {
  position: absolute;
  z-index: 5;
  right: 0;
  bottom: 0;
  width: min(340px, 78%);
  min-height: 235px;
  padding: 30px 32px 26px;
  border-radius: 18px;
  color: #ffffff;
  background:
    radial-gradient(
      circle at 80% 100%,
      rgba(60, 121, 105, 0.26),
      transparent 220px
    ),
    linear-gradient(
      135deg,
      #063b34,
      #0d4b42
    );
  box-shadow: 0 20px 50px rgba(5, 49, 43, 0.17);
}

.insightTop {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.insightLabel {
  display: flex;
  align-items: center;
  gap: 18px;
  color: #b6c8c2;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 3px;
  text-transform: uppercase;
}

.insightLabel::after {
  content: "";
  width: 54px;
  height: 1px;
  background: #d0ded9;
}

.insightNumber {
  font-size: 48px;
  line-height: 1;
  font-weight: 300;
  color: rgba(206, 224, 217, 0.54);
}

.insightText {
  max-width: 290px;
  margin-top: 26px;
  color: #ffffff;
  font-size: 23px;
  line-height: 1.38;
  font-weight: 400;
}

.insightBottom {
  margin-top: 26px;
  display: flex;
  align-items: center;
  gap: 20px;
}

.insightArrow {
  width: 55px;
  height: 55px;
  flex: 0 0 55px;
  border-radius: 50%;
  background: #e9f0ec;
  color: var(--deepGreen);
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  transition:
    transform 0.3s ease,
    background 0.3s ease;
}

.insightArrow i {
  font-size: 17px;
}

.insightArrow:hover {
  transform: translateX(4px);
  background: #ffffff;
}

.insightAction {
  color: #bdcec8;
  font-size: 10px;
  line-height: 1.55;
  font-weight: 500;
  letter-spacing: 2.5px;
  text-transform: uppercase;
}

@media (max-width: 1250px) {

  .beliefSection {
    padding-left: 30px;
    padding-right: 30px;
  }

  .beliefGrid {
    gap: 45px;
  }

  .beliefTitle {
    font-size: 34px;
  }

  .insightCard {
    width: min(320px, 78%);
  }

}

@media (max-width: 950px) {

  .beliefSection {
    padding: 65px 25px;
  }

  .beliefGrid {
    grid-template-columns: 1fr;
    gap: 60px;
  }

  .beliefContent {
    max-width: 760px;
  }

  .beliefTitle {
    font-size: clamp(28px, 5vw, 38px);
  }

  .beliefVisual {
    padding: 25px 30px 70px 0;
  }

  .beliefImageWrap {
    aspect-ratio: 16 / 9;
  }

  .beliefTopShape {
    right: 90px;
  }

  .beliefDots {
    right: 0;
  }

  .insightCard {
    right: 0;
    bottom: 0;
    width: min(360px, 80%);
  }

}

@media (max-width: 650px) {

  .beliefSection {
    padding: 48px 16px;
  }

  .beliefEyebrow {
    gap: 14px;
    margin-bottom: 22px;
    font-size: 11px;
    letter-spacing: 2.6px;
  }

  .beliefEyebrowLine {
    width: 38px;
  }

  .beliefQuoteWrap {
    padding-left: 35px;
  }

  .beliefQuoteMark {
    font-size: 34px;
  }

  .beliefTitle {
    font-size: 26px;
    line-height: 1.25;
    letter-spacing: -0.8px;
  }

  .beliefDescription {
    margin-left: 35px;
    font-size: 14.5px;
  }

  .beliefButton {
    margin-left: 35px;
    height: 54px;
    min-width: 195px;
  }

  .beliefProgress {
    margin-left: 35px;
    margin-top: 30px;
  }

  .beliefProgress span {
    width: 43px;
  }

  .beliefVisual {
    padding: 20px 0 0;
  }

  .beliefImageWrap {
    height: 440px;
    border-radius: 10px;
  }

  .beliefImageWrap img {
    object-position: center;
  }

  .beliefTopShape {
    width: 190px;
    height: 85px;
    right: 30px;
    top: -30px;
  }

  .beliefDots {
    width: 135px;
    height: 100px;
    right: 0;
    top: -30px;
    background-size: 20px 20px;
  }

  .beliefBackShape {
    display: none;
  }

  .insightCard {
    position: relative;
    right: auto;
    bottom: auto;
    width: calc(100% - 28px);
    margin: -80px auto 0;
    min-height: auto;
    padding: 28px 25px;
  }

  .insightText {
    font-size: 20px;
  }

  .insightNumber {
    font-size: 38px;
  }

}

@media (max-width: 390px) {

  .beliefTitle {
    font-size: 23px;
  }

  .beliefQuoteWrap {
    padding-left: 28px;
  }

  .beliefDescription,
  .beliefButton,
  .beliefProgress {
    margin-left: 28px;
  }

  .beliefImageWrap {
    height: 390px;
  }

}

.aboutFounderSection {
  --darkGreen: #0c3c35;
  --deepGreen: #0a2f2a;
  --softGreen: #7d9f91;
  --paleGreen: #edf3ef;
  --cream: #f8f7f2;
  --text: #4f625f;
  --border: #e5e9e6;
  --gold: #c8a34b;

  max-width: 1440px;
  margin: 0 auto;
  overflow: hidden;
  background: #ffffff;
}

.aboutFounderSection * {
  box-sizing: border-box;
}

.founderTop {
  display: grid;
  grid-template-columns: 0.95fr 1.15fr;
  gap: 70px;
  padding: 70px 70px 55px;
  align-items: center;
}

.founderVisual {
  position: relative;
}

.founderImageFrame {
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  background: #e9efec;
}

.founderImageFrame img {
  width: 100%;
  height: 500px;
  object-fit: cover;
  display: block;
  transform: scale(1.04);
  transition: transform 0.7s ease;
}

.founderImageFrame:hover img {
  transform: scale(1);
}

.quoteOverlay {
  position: absolute;
  left: 24px;
  bottom: 22px;
  width: 200px;
  background: rgba(8, 53, 46, 0.95);
  color: #ffffff;
  padding: 20px;
  border-radius: 12px;
  backdrop-filter: blur(12px);
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.18);
}

.quoteOverlay i {
  font-size: 20px;
  margin-bottom: 13px;
  color: #b9d4c8;
}

.quoteOverlay p {
  font-size: 13px;
  line-height: 1.65;
  margin: 0;
}

.founderContent {
  position: relative;
}

.eyebrow {
  display: flex;
  align-items: center;
  gap: 15px;
  color: #83958f;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-size: 11px;
  font-weight: 600;
  margin-bottom: 16px;
}

.eyebrow::after {
  content: "";
  width: 70px;
  height: 1px;
  background: #9fb3ac;
}

.founderName {
  font-size: clamp(34px, 4vw, 52px);
  color: var(--deepGreen);
  line-height: 1.05;
  font-weight: 700;
  margin-bottom: 6px;
  letter-spacing: -1.5px;
}

.founderRole {
  font-size: 14px;
  font-weight: 600;
  color: var(--softGreen);
  margin-bottom: 22px;
}

.founderBio {
  color: var(--text);
  font-size: 15px;
  line-height: 1.8;
  max-width: 650px;
  margin-bottom: 28px;
}

.credentialsGrid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  padding-top: 25px;
  border-top: 1px solid var(--border);
}

.credentialItem {
  min-width: 0;
}

.credentialIcon {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: var(--paleGreen);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--darkGreen);
  font-size: 16px;
  margin-bottom: 12px;
}

.credentialTitle {
  font-size: 12px;
  font-weight: 700;
  color: var(--deepGreen);
  line-height: 1.4;
  margin-bottom: 5px;
}

.credentialText {
  font-size: 10px;
  line-height: 1.5;
  color: #70817c;
}

.valuesSection {
  background: #fbfbf9;
  border-top: 1px solid #f0f1ee;
  border-bottom: 1px solid #f0f1ee;
  padding: 45px 70px;
}

.valuesGrid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}

.valueCard {
  padding: 10px 34px 8px;
  position: relative;
}

.valueCard:first-child {
  padding-left: 0;
}

.valueCard:last-child {
  padding-right: 0;
}

.valueCard + .valueCard {
  border-left: 1px solid #dfe4e0;
}

.valueIcon {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: #edf2ef;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #597a70;
  margin-bottom: 18px;
  font-size: 15px;
}

.valueTitle {
  color: var(--deepGreen);
  font-size: 17px;
  font-weight: 700;
  margin-bottom: 11px;
}

.valueText {
  color: #6b7b77;
  font-size: 13px;
  line-height: 1.75;
}

.journeySection {
  padding: 45px 70px 55px;
  position: relative;
}

.journeyEyebrow {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #83958f;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-size: 10px;
  font-weight: 600;
  margin-bottom: 25px;
}

.journeyEyebrow::after {
  content: "";
  width: 55px;
  height: 1px;
  background: #c9a652;
}

.timelineWrap {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, 1fr) 0.8fr;
  gap: 35px;
  align-items: start;
}

.timelineLine {
  position: absolute;
  top: 10px;
  left: 7px;
  right: 24%;
  height: 1px;
  background: #dde3df;
  transform-origin: left center;
}

.timelineItem {
  position: relative;
  padding-top: 28px;
}

.timelineDot {
  position: absolute;
  top: 3px;
  left: 0;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--darkGreen);
  border: 4px solid #ffffff;
  box-shadow: 0 0 0 1px #b8c8c2;
  z-index: 2;
}

.timelineItem.current .timelineDot {
  background: #c7a14a;
  box-shadow: 0 0 0 1px #c7a14a;
}

.timelineYear {
  font-size: 13px;
  font-weight: 700;
  color: var(--deepGreen);
  margin-bottom: 6px;
}

.timelineTitle {
  font-size: 12px;
  font-weight: 700;
  color: var(--softGreen);
  margin-bottom: 6px;
}

.timelineText {
  font-size: 11px;
  line-height: 1.65;
  color: #788783;
  max-width: 220px;
}

.signatureBlock {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 120px;
  padding-top: 12px;
}

.signatureText {
  width: 100%;
  max-width: 230px;
  height: auto;
  display: block;
  transform: rotate(-5deg);
}

.ctaSection {
  padding: 0 70px 55px;
}

.ctaBox {
  border-radius: 16px;
  padding: 34px 38px;
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  align-items: center;
  gap: 40px;
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 90% 50%, rgba(191, 209, 201, 0.55), transparent 260px),
    #f7f5ed;
}

.ctaBox::after {
  content: "";
  position: absolute;
  width: 190px;
  height: 190px;
  right: 50px;
  bottom: -110px;
  border-radius: 50%;
  border: 1px solid rgba(79, 113, 102, 0.16);
}

.ctaLabel {
  text-transform: uppercase;
  letter-spacing: 2px;
  font-size: 10px;
  color: #83928d;
  margin-bottom: 8px;
}

.ctaTitle {
  font-size: clamp(27px, 3vw, 41px);
  line-height: 1.05;
  color: var(--darkGreen);
  font-weight: 700;
  letter-spacing: -1px;
}

.ctaTitle span {
  display: block;
  color: #6f9588;
}

.ctaRight {
  position: relative;
  z-index: 2;
}

.ctaText {
  font-size: 13px;
  color: #667873;
  line-height: 1.7;
  margin-bottom: 18px;
  max-width: 440px;
}

.ctaButton {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  background: var(--darkGreen);
  color: #ffffff;
  text-decoration: none;
  padding: 13px 24px;
  border-radius: 100px;
  font-size: 12px;
  font-weight: 600;
  transition: transform 0.3s ease, background 0.3s ease, box-shadow 0.3s ease;
}

.ctaButton:hover {
  background: #082b26;
  transform: translateY(-3px);
  box-shadow: 0 10px 22px rgba(12, 60, 53, 0.2);
}

.revealItem {
  opacity: 0;
  transform: translateY(50px) scale(0.96) rotateX(7deg);
  filter: blur(8px);
  transition:
    opacity 0.75s cubic-bezier(.2,.75,.25,1),
    transform 0.85s cubic-bezier(.16,1,.3,1),
    filter 0.75s ease;
  transition-delay: var(--delay, 0s);
  transform-origin: center bottom;
}

.revealItem.isVisible {
  opacity: 1;
  transform: translateY(0) scale(1) rotateX(0);
  filter: blur(0);
}

.revealImage {
  clip-path: inset(0 100% 0 0 round 18px);
  transform: scale(1.08);
  transition:
    clip-path 1.1s cubic-bezier(.16,1,.3,1),
    transform 1.1s cubic-bezier(.16,1,.3,1);
}

.revealImage.isVisible {
  clip-path: inset(0 0 0 0 round 18px);
  transform: scale(1);
}

.timelineLine {
  transform: scaleX(0);
  transition: transform 1.3s cubic-bezier(.16,1,.3,1);
}

.timelineLine.isVisible {
  transform: scaleX(1);
}

.credentialItem,
.valueCard,
.timelineItem {
  transition-delay: var(--delay, 0s);
}

@media (max-width: 1100px) {

  .founderTop {
    gap: 45px;
    padding: 55px 40px 45px;
  }

  .credentialsGrid {
    grid-template-columns: repeat(2, 1fr);
  }

  .valuesSection,
  .journeySection {
    padding-left: 40px;
    padding-right: 40px;
  }

  .ctaSection {
    padding-left: 40px;
    padding-right: 40px;
  }

}

@media (max-width: 850px) {

  .founderTop {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .founderImageFrame img {
    height: 520px;
  }

  .valuesGrid {
    grid-template-columns: 1fr;
  }

  .valueCard,
  .valueCard:first-child,
  .valueCard:last-child {
    padding: 24px 0;
  }

  .valueCard + .valueCard {
    border-left: none;
    border-top: 1px solid #dfe4e0;
  }

  .timelineWrap {
    grid-template-columns: 1fr 1fr;
    gap: 35px 25px;
  }

  .timelineLine {
    display: none;
  }

  .signatureBlock {
    justify-content: flex-start;
  }

  .ctaBox {
    grid-template-columns: 1fr;
    gap: 22px;
  }

}

@media (max-width: 560px) {

  .founderTop {
    padding: 35px 18px;
  }

  .founderImageFrame img {
    height: 390px;
  }

  .quoteOverlay {
    width: 180px;
    padding: 16px;
    left: 14px;
    bottom: 14px;
  }

  .quoteOverlay p {
    font-size: 11px;
  }

  .founderName {
    font-size: 35px;
  }

  .founderBio {
    font-size: 14px;
  }

  .credentialsGrid {
    grid-template-columns: 1fr 1fr;
    gap: 22px 15px;
  }

  .valuesSection {
    padding: 30px 18px;
  }

  .journeySection {
    padding: 35px 18px 45px;
  }

  .timelineWrap {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .timelineItem {
    border-left: 1px solid #dfe5e1;
    padding-left: 25px;
    padding-top: 0;
    padding-bottom: 28px;
  }

  .timelineItem:last-of-type {
    border-left-color: transparent;
    padding-bottom: 0;
  }

  .timelineDot {
    left: -7px;
    top: 4px;
  }

  .timelineYear {
    font-size: 15px;
  }

  .timelineTitle {
    font-size: 13px;
  }

  .timelineText {
    font-size: 13px;
    max-width: none;
  }

  .signatureBlock {
    min-height: auto;
    justify-content: center;
    padding: 30px 0 0;
    margin-left: 25px;
  }

  .signatureText {
    max-width: 190px;
    transform: none;
  }

  .ctaSection {
    padding: 0 18px 35px;
  }

  .ctaBox {
    padding: 26px 22px;
  }

  .ctaTitle {
    font-size: 29px;
  }

}
