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

:root {
  --green: #16a34a;
  --green-dark: #14532d;
  --green-light: #f0fdf4;
  --green-mid: #dcfce7;
  --blue: #2563eb;
  --blue-light: #eff6ff;
  --gray-50: #f9fafb;
  --gray-100: #f3f4f6;
  --gray-200: #e5e7eb;
  --gray-400: #9ca3af;
  --gray-600: #4b5563;
  --gray-700: #374151;
  --gray-900: #111827;
  --shadow-sm: 0 1px 3px rgba(0,0,0,.08);
  --shadow: 0 4px 16px rgba(0,0,0,.1);
  --shadow-lg: 0 8px 32px rgba(0,0,0,.12);
  --radius: 14px;
}

html { scroll-behavior: smooth; }

body {
  font-family: 'Tajawal', 'Inter', sans-serif;
  background: #fff;
  color: var(--gray-900);
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  line-height: 1.6;
}

/* ── Navbar ── */
.navbar {
  background: rgba(255,255,255,.95);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--gray-200);
  position: sticky;
  top: 0;
  z-index: 200;
}
.nav-inner {
  max-width: 1140px;
  margin: 0 auto;
  padding: .9rem 1.5rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
}
.logo {
  font-size: 1.22rem;
  font-weight: 800;
  color: var(--green);
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: .65rem;
  flex: 0 0 auto;
}
.logo-mark { width:38px; height:38px; display:grid; place-items:center; color:#fff; background:linear-gradient(145deg,#176b45,#0f5135); border-radius:12px 12px 12px 5px; box-shadow:0 7px 18px rgba(20,83,45,.2); transform:rotate(-2deg); transition:transform .2s ease,box-shadow .2s ease; }
.logo-mark svg { width:30px; height:30px; fill:currentColor; overflow:visible; }
.logo-mark .logo-tail { fill:#d8f3df; }
.logo-word { color:var(--gray-900); line-height:1; letter-spacing:-.025em; white-space:nowrap; }
.logo:hover .logo-mark { transform:rotate(0) translateY(-1px); box-shadow:0 9px 22px rgba(20,83,45,.25); }
.logo--footer .logo-word { color:#fff; }
.nav-links {
  display: flex;
  gap: .25rem;
  align-items: center;
  flex-wrap: wrap;
}
.nav-links a {
  color: var(--gray-600);
  text-decoration: none;
  font-size: .88rem;
  font-weight: 500;
  padding: .4rem .75rem;
  border-radius: 8px;
  transition: all .15s;
}
.nav-links a:hover { background: var(--gray-100); color: var(--green); }
.lang-btn {
  background: var(--green-light) !important;
  color: var(--green) !important;
  border: 1.5px solid #bbf7d0;
  font-weight: 700 !important;
  margin-inline-start: .25rem;
}

/* ── Hero ── */
.hero {
  background: linear-gradient(160deg, #f0fdf4 0%, #dcfce7 40%, #bbf7d0 100%);
  padding: 6rem 1.5rem 5rem;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.hero::before {
  content: '';
  position: absolute;
  top: -80px; right: -80px;
  width: 300px; height: 300px;
  background: radial-gradient(circle, rgba(22,163,74,.12), transparent 70%);
  border-radius: 50%;
}
.hero::after {
  content: '';
  position: absolute;
  bottom: -60px; left: -60px;
  width: 250px; height: 250px;
  background: radial-gradient(circle, rgba(37,99,235,.08), transparent 70%);
  border-radius: 50%;
}
.hero-inner { max-width: 750px; margin: 0 auto; position: relative; z-index: 1; }
.hero-badge {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  background: #fff;
  border: 1.5px solid #bbf7d0;
  color: var(--green);
  padding: .4rem 1rem;
  border-radius: 30px;
  font-size: .85rem;
  font-weight: 700;
  margin-bottom: 1.5rem;
  box-shadow: var(--shadow-sm);
}
.hero-title {
  font-size: clamp(1.6rem, 4vw, 2.6rem);
  font-weight: 800;
  color: var(--green-dark);
  line-height: 1.35;
  margin-bottom: 1rem;
}
.hero-sub {
  font-size: 1.1rem;
  color: #166534;
  margin-bottom: .75rem;
  opacity: .85;
}
.hero-quote {
  font-size: .9rem;
  color: var(--gray-600);
  font-style: italic;
  margin-bottom: 2.5rem;
  padding: .75rem 1.25rem;
  background: rgba(255,255,255,.7);
  border-radius: 10px;
  border-inline-start: 3px solid var(--green);
  display: inline-block;
}
.hero-btns {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 3rem;
}
.hero-stats {
  display: flex;
  justify-content: center;
  gap: 2.5rem;
  flex-wrap: wrap;
}
.stat { text-align: center; }
.stat-num { font-size: 1.6rem; font-weight: 800; color: var(--green-dark); }
.stat-label { font-size: .78rem; color: var(--gray-600); margin-top: .15rem; }

/* ── Buttons ── */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .4rem;
  padding: .8rem 2rem;
  border-radius: 12px;
  font-size: 1rem;
  font-weight: 700;
  font-family: inherit;
  cursor: pointer;
  text-decoration: none;
  border: none;
  transition: all .18s;
  line-height: 1;
}
.btn-positive { background: var(--green); color: #fff; }
.btn-positive:hover { background: #15803d; transform: translateY(-2px); box-shadow: 0 6px 20px rgba(22,163,74,.35); }
.btn-negative { background: var(--blue); color: #fff; }
.btn-negative:hover { background: #1d4ed8; transform: translateY(-2px); box-shadow: 0 6px 20px rgba(37,99,235,.3); }
.btn-outline { background: #fff; color: var(--green); border: 2px solid var(--green); }
.btn-outline:hover { background: var(--green-light); }
.btn-sm { padding: .55rem 1.25rem; font-size: .88rem; border-radius: 9px; }
.btn-full { width: 100%; margin-top: .75rem; }

/* ── Section layout ── */
.section { padding: 5rem 1.5rem; }
.section-alt { background: var(--gray-50); }
.container { max-width: 1140px; margin: 0 auto; }
.section-tag {
  display: inline-block;
  background: var(--green-light);
  color: var(--green);
  font-size: .75rem;
  font-weight: 700;
  padding: .3rem .8rem;
  border-radius: 20px;
  text-transform: uppercase;
  letter-spacing: .06em;
  margin-bottom: .75rem;
}
.section-title {
  font-size: clamp(1.4rem, 3vw, 2rem);
  font-weight: 800;
  color: var(--green-dark);
  margin-bottom: .6rem;
}
.section-sub {
  font-size: 1rem;
  color: var(--gray-600);
  margin-bottom: 2.5rem;
  max-width: 550px;
}
.center { text-align: center; }
.center .section-sub { margin-inline: auto; }
.policy-content { max-width: 820px; }
.policy-content p, .policy-content li { color: var(--gray-700); line-height: 2; margin-bottom: 1rem; }
.policy-content h2 { color: var(--green-dark); margin: 2rem 0 .75rem; }
.policy-content h3 { color: var(--gray-900); margin-top: 1.25rem; }
.policy-content ul, .policy-content ol { padding-inline-start: 1.5rem; margin-bottom: 1.5rem; }
.policy-content a { color: var(--green); }
.lesson-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; margin-top: 1.5rem; }
.lesson-card { overflow: hidden; background: #fff; border: 1px solid var(--gray-200); border-radius: var(--radius); box-shadow: var(--shadow-sm); }
.lesson-card h3 { padding: .85rem 1rem; font-size: .95rem; color: var(--gray-900); }
.video-frame { position: relative; aspect-ratio: 16 / 9; background: #111; }
.video-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
@media (max-width: 720px) { .lesson-grid { grid-template-columns: 1fr; } }

/* ── Cards ── */
.cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 1.5rem;
}
.card {
  background: #fff;
  border-radius: var(--radius);
  padding: 2rem 1.75rem;
  box-shadow: var(--shadow);
  display: flex;
  flex-direction: column;
  gap: .75rem;
  transition: transform .2s, box-shadow .2s;
  border: 1px solid var(--gray-200);
}
.card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); }
.card-icon { font-size: 2.8rem; }
.card h3 { font-size: 1.2rem; font-weight: 800; color: var(--gray-900); }
.card p { color: var(--gray-600); line-height: 1.75; font-size: .95rem; flex: 1; }
.card-green { border-top: 4px solid var(--green); }
.card-blue  { border-top: 4px solid var(--blue); }

.mini-courses { padding: 1.25rem 1.5rem; background: var(--gray-50); }
.mini-course-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem; }
.mini-course-card { display: flex; align-items: center; gap: .8rem; padding: .9rem 1rem; background: #fff; border: 1px solid var(--gray-200); border-radius: 12px; box-shadow: var(--shadow-sm); }
.mini-course-icon { font-size: 1.7rem; }
.mini-course-copy { flex: 1; min-width: 0; }
.mini-course-copy h3 { font-size: .95rem; color: var(--gray-900); line-height: 1.35; }
.mini-course-copy p { font-size: .76rem; color: var(--gray-400); margin-top: .1rem; }
.mini-course-card .btn { padding: .5rem .8rem; }
@media (max-width: 720px) { .mini-course-grid { grid-template-columns: 1fr; } }
.course-note { padding: 1rem 1.5rem; border-block: 1px solid var(--gray-200); background: #fff; }
.course-note-inner { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: .55rem; color: var(--gray-400); font-size: .88rem; }
.course-note a { color: var(--gray-600); text-decoration: none; font-weight: 600; }
.course-note a:hover { color: var(--green); }
.course-note-dot { color: var(--gray-200); }
/* Academy courses */
.courses-section { padding: 5rem 1.5rem; background: var(--gray-50); }
.course-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
.course-card { overflow: hidden; background: #fff; border: 1px solid var(--gray-200); border-radius: var(--radius); box-shadow: var(--shadow); transition: transform .2s, box-shadow .2s; }
.course-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); }
.course-visual { min-height: 150px; display: grid; place-items: center; font-size: 4.5rem; }
.course-card-character .course-visual { background: linear-gradient(135deg, #fef3c7, #fce7f3 55%, #dbeafe); }
.course-card-business .course-visual { background: linear-gradient(135deg, #dcfce7, #dbeafe); }
.course-content { padding: 1.6rem; }
.course-meta { display: flex; flex-wrap: wrap; gap: .6rem; margin-bottom: .8rem; }
.course-meta span { background: var(--gray-100); color: var(--gray-600); border-radius: 20px; padding: .25rem .65rem; font-size: .78rem; font-weight: 700; }
.course-content h3 { color: var(--green-dark); font-size: 1.25rem; margin-bottom: .55rem; }
.course-content > p { color: var(--gray-600); min-height: 4.8rem; }
.course-footer { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-top: 1.25rem; padding-top: 1rem; border-top: 1px solid var(--gray-200); }
.course-footer strong { color: var(--gray-900); font-size: 1.05rem; }
.course-footer .free-price { color: var(--green); }
@media (max-width: 720px) { .course-grid { grid-template-columns: 1fr; } .course-content > p { min-height: auto; } }

/* ── Steps ── */
.steps {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 0;
  flex-wrap: wrap;
  position: relative;
}
.step {
  background: #fff;
  border-radius: var(--radius);
  padding: 2rem 1.5rem;
  text-align: center;
  flex: 1;
  min-width: 180px;
  max-width: 240px;
  border: 1px solid var(--gray-200);
  position: relative;
  z-index: 1;
}
.step-num {
  width: 52px; height: 52px;
  background: linear-gradient(135deg, var(--green), #22c55e);
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.3rem;
  font-weight: 800;
  margin: 0 auto 1rem;
  box-shadow: 0 4px 12px rgba(22,163,74,.3);
}
.step h4 { font-size: 1rem; font-weight: 700; color: var(--gray-900); margin-bottom: .4rem; }
.step p  { font-size: .85rem; color: var(--gray-600); line-height: 1.6; }
.step-connector {
  width: 60px;
  height: 2px;
  background: linear-gradient(90deg, var(--green), #22c55e);
  align-self: center;
  margin-bottom: 1rem;
  flex-shrink: 0;
}
[dir="rtl"] .step-connector { transform: scaleX(-1); }

/* ── Odor types ── */
.types-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 1rem;
}
.type-card {
  background: #fff;
  border: 2px solid var(--gray-200);
  border-radius: var(--radius);
  padding: 1.5rem 1rem;
  text-align: center;
  font-size: .95rem;
  font-weight: 700;
  color: var(--gray-700);
  cursor: pointer;
  transition: all .15s;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .5rem;
}
.type-card .type-icon { font-size: 2rem; }
.type-card:hover { border-color: var(--blue); background: var(--blue-light); color: var(--blue); transform: translateY(-2px); }

/* ── Trust section ── */
.trust-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1.25rem;
}
.trust-item {
  background: #fff;
  border-radius: var(--radius);
  padding: 1.75rem 1.5rem;
  border: 1px solid var(--gray-200);
  display: flex;
  flex-direction: column;
  gap: .6rem;
}
.trust-icon { font-size: 2rem; }
.trust-item h4 { font-weight: 700; color: var(--gray-900); font-size: .95rem; }
.trust-item p  { font-size: .83rem; color: var(--gray-600); line-height: 1.65; }

/* ── Templates ── */
.templates-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1.25rem;
}
.template-card {
  background: #fff;
  border: 1.5px solid var(--gray-200);
  border-radius: var(--radius);
  padding: 1.5rem;
  cursor: pointer;
  transition: all .15s;
  position: relative;
  overflow: hidden;
}
.template-card::before {
  content: '';
  position: absolute;
  top: 0; inset-inline-start: 0;
  width: 4px; height: 100%;
  background: var(--green);
  opacity: 0;
  transition: opacity .15s;
}
.template-card:hover { border-color: var(--green); background: var(--green-light); }
.template-card:hover::before { opacity: 1; }
.template-tag { font-size: .72rem; font-weight: 700; color: var(--green); text-transform: uppercase; letter-spacing: .05em; margin-bottom: .4rem; }
.template-text { font-size: .88rem; color: var(--gray-700); line-height: 1.65; }

/* ── FAQ ── */
.faq-list { display: flex; flex-direction: column; gap: .75rem; max-width: 780px; margin: 0 auto; }
.faq-item {
  background: #fff;
  border: 1px solid var(--gray-200);
  border-radius: var(--radius);
  overflow: hidden;
}
.faq-q {
  padding: 1.1rem 1.5rem;
  font-weight: 700;
  font-size: .95rem;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: var(--gray-900);
  user-select: none;
}
.faq-q:hover { background: var(--gray-50); }
.faq-arrow { transition: transform .2s; font-size: .8rem; color: var(--gray-400); }
.faq-item.open .faq-arrow { transform: rotate(180deg); }
.faq-a {
  padding: 0 1.5rem;
  max-height: 0;
  overflow: hidden;
  transition: max-height .25s ease, padding .25s;
  font-size: .9rem;
  color: var(--gray-600);
  line-height: 1.75;
}
.faq-item.open .faq-a { max-height: 200px; padding: 0 1.5rem 1.25rem; }

/* ── Articles ── */
.articles-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1.5rem;
}
.article-card {
  background: #fff;
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--shadow);
  border: 1px solid var(--gray-200);
  transition: transform .2s, box-shadow .2s;
}
.article-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-lg); }
.article-header {
  background: linear-gradient(135deg, var(--green-light), var(--green-mid));
  padding: 2rem;
  font-size: 2.5rem;
  text-align: center;
}
.article-body { padding: 1.5rem; }
.article-body h4 { font-weight: 700; color: var(--gray-900); margin-bottom: .5rem; font-size: 1rem; }
.article-body p  { font-size: .85rem; color: var(--gray-600); line-height: 1.7; }
.article-link {
  display: inline-block;
  margin-top: 1rem;
  font-size: .82rem;
  font-weight: 700;
  color: var(--green);
  text-decoration: none;
}
.article-link:hover { text-decoration: underline; }

/* ── Form page ── */
.form-page {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  padding: 3rem 1rem;
  flex: 1;
  background: var(--gray-50);
}
.form-box {
  background: #fff;
  border-radius: 20px;
  padding: 2.5rem 2rem;
  width: 100%;
  max-width: 520px;
  box-shadow: var(--shadow-lg);
  border: 1px solid var(--gray-200);
}
.form-icon { font-size: 2.5rem; text-align: center; margin-bottom: .6rem; }
.form-box h2 {
  text-align: center;
  font-size: 1.4rem;
  font-weight: 800;
  color: var(--green-dark);
  margin-bottom: .35rem;
}
.form-box .form-sub {
  text-align: center;
  font-size: .85rem;
  color: var(--gray-600);
  margin-bottom: 2rem;
}
.field { margin-bottom: 1.25rem; }
.field label {
  display: block;
  font-size: .83rem;
  font-weight: 700;
  color: var(--gray-700);
  margin-bottom: .4rem;
}
.field input[type="text"],
.field input[type="email"],
.field input[type="tel"],
.field select,
.field textarea {
  width: 100%;
  border: 1.5px solid var(--gray-200);
  border-radius: 10px;
  padding: .7rem 1rem;
  font-size: .95rem;
  font-family: inherit;
  background: var(--gray-50);
  color: var(--gray-900);
  transition: border-color .15s, background .15s;
}
.field input:focus,
.field select:focus,
.field textarea:focus {
  outline: none;
  border-color: var(--green);
  background: #fff;
  box-shadow: 0 0 0 3px rgba(22,163,74,.1);
}
.field textarea { resize: vertical; min-height: 90px; }
.field select { cursor: pointer; }

/* radio row */
.radio-row { display: flex; gap: 1rem; flex-wrap: wrap; }
.radio-label {
  display: flex;
  align-items: center;
  gap: .45rem;
  font-size: .9rem;
  cursor: pointer;
  color: var(--gray-700);
  background: var(--gray-50);
  padding: .55rem 1rem;
  border-radius: 9px;
  border: 1.5px solid var(--gray-200);
  transition: all .15s;
  flex: 1;
  justify-content: center;
  font-weight: 600;
}
.radio-label:has(input:checked) { border-color: var(--green); background: var(--green-light); color: var(--green); }
.radio-label input { display: none; }

/* odor grid */
.odor-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .65rem;
}
.odor-card {
  border: 2px solid var(--gray-200);
  border-radius: 12px;
  padding: 1rem .75rem;
  text-align: center;
  cursor: pointer;
  transition: all .15s;
  font-size: .88rem;
  color: var(--gray-700);
  font-weight: 700;
  line-height: 1.6;
}
.odor-card input { display: none; }
.odor-card:has(input:checked) { border-color: var(--blue); background: var(--blue-light); color: var(--blue); }
.odor-card:hover:not(:has(input:checked)) { border-color: var(--gray-400); background: var(--gray-50); }

/* templates picker */
.template-picker { margin-top: .5rem; display: flex; flex-direction: column; gap: .5rem; }
.tpl-option {
  background: var(--gray-50);
  border: 1.5px solid var(--gray-200);
  border-radius: 9px;
  padding: .65rem 1rem;
  font-size: .83rem;
  color: var(--gray-700);
  cursor: pointer;
  transition: all .13s;
  text-align: start;
  font-family: inherit;
  line-height: 1.55;
}
.tpl-option:hover { border-color: var(--green); background: var(--green-light); color: var(--green-dark); }
.tpl-label { font-size: .78rem; color: var(--gray-400); margin-bottom: .3rem; font-weight: 700; }

/* progress */
.form-progress {
  display: flex;
  gap: .35rem;
  margin-bottom: 1.75rem;
  align-items: center;
}
.prog-step {
  flex: 1;
  height: 5px;
  background: var(--gray-200);
  border-radius: 4px;
  transition: background .25s;
}
.prog-step.done { background: var(--green); }
.prog-step.active { background: #86efac; }

/* success */
.success-box {
  text-align: center;
  padding: 1.5rem 0;
}
.success-icon { font-size: 4rem; margin-bottom: 1rem; display: block; }
.success-box h2 { font-size: 1.5rem; font-weight: 800; color: var(--green-dark); margin-bottom: .5rem; }
.success-box p { color: var(--gray-600); margin-bottom: 1.75rem; }

/* back link */
.back-link {
  display: flex;
  align-items: center;
  gap: .3rem;
  color: var(--gray-400);
  font-size: .85rem;
  text-decoration: none;
  margin-top: 1.25rem;
  justify-content: center;
  transition: color .12s;
}
.back-link:hover { color: var(--green); }

/* ── CTA section ── */
.cta-section {
  background: linear-gradient(135deg, var(--green-dark), #16a34a);
  padding: 5rem 1.5rem;
  text-align: center;
  color: #fff;
}
.cta-section h2 { font-size: clamp(1.4rem, 3vw, 2rem); font-weight: 800; margin-bottom: .75rem; }
.cta-section p { font-size: 1rem; opacity: .85; margin-bottom: 2rem; }
.btn-white { background: #fff; color: var(--green-dark); }
.btn-white:hover { background: var(--green-light); transform: translateY(-2px); }
.btn-white-outline { background: transparent; color: #fff; border: 2px solid rgba(255,255,255,.5); }
.btn-white-outline:hover { background: rgba(255,255,255,.1); }

/* ── Support ── */
.support-box {
  max-width: 600px;
  margin: 0 auto;
  text-align: center;
}
.support-icon { font-size: 4rem; margin-bottom: 1rem; }
.support-box h2 { font-size: 1.75rem; font-weight: 800; color: var(--green-dark); margin-bottom: 1rem; }
.support-box p { color: var(--gray-600); line-height: 1.8; margin-bottom: 2rem; font-size: 1rem; }

/* ── Footer ── */
.footer {
  background: var(--gray-900);
  color: var(--gray-400);
  padding: 3rem 1.5rem 1.5rem;
  margin-top: auto;
}
.footer-grid {
  max-width: 1140px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 2rem;
  margin-bottom: 2.5rem;
}
.footer-brand .logo { color: #86efac; font-size: 1.1rem; }
.footer-brand p { font-size: .83rem; line-height: 1.7; margin-top: .5rem; color: var(--gray-400); }
.footer-col h5 { font-size: .82rem; font-weight: 700; color: #fff; margin-bottom: .75rem; text-transform: uppercase; letter-spacing: .05em; }
.footer-col a { display: block; font-size: .83rem; color: var(--gray-400); text-decoration: none; margin-bottom: .4rem; transition: color .12s; }
.footer-col a:hover { color: #86efac; }
.footer-bottom {
  max-width: 1140px;
  margin: 0 auto;
  padding-top: 1.5rem;
  border-top: 1px solid #374151;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: .5rem;
  font-size: .78rem;
}

/* ── About ── */
.about-hero {
  background: linear-gradient(160deg, var(--green-light), var(--green-mid));
  padding: 5rem 1.5rem;
  text-align: center;
}
.about-hero h1 { font-size: clamp(1.75rem, 4vw, 2.5rem); font-weight: 800; color: var(--green-dark); margin-bottom: .75rem; }
.about-hero p { font-size: 1.1rem; color: #166534; max-width: 600px; margin: 0 auto; }
.values-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1.25rem;
}
.value-card {
  background: #fff;
  border-radius: var(--radius);
  padding: 1.75rem 1.5rem;
  text-align: center;
  border: 1px solid var(--gray-200);
  box-shadow: var(--shadow-sm);
}
.value-icon { font-size: 2.2rem; margin-bottom: .75rem; }
.value-card h4 { font-weight: 700; color: var(--gray-900); margin-bottom: .4rem; }
.value-card p { font-size: .83rem; color: var(--gray-600); line-height: 1.65; }

/* ── Privacy ── */
.prose { max-width: 760px; margin: 0 auto; }
.prose h3 { font-size: 1.1rem; font-weight: 700; color: var(--green-dark); margin: 2rem 0 .5rem; }
.prose p, .prose li { font-size: .95rem; color: var(--gray-600); line-height: 1.8; margin-bottom: .5rem; }
.prose ul { padding-inline-start: 1.5rem; }

/* ── Alert ── */
.alert {
  padding: .9rem 1.25rem;
  border-radius: 10px;
  font-size: .9rem;
  margin-bottom: 1.25rem;
  font-weight: 600;
}
.alert-ok  { background: #f0fdf4; color: #166534; border: 1px solid #bbf7d0; }
.alert-err { background: #fef2f2; color: #991b1b; border: 1px solid #fecaca; }

/* ── Responsive ── */
@media (max-width: 768px) {
  .steps { gap: .5rem; }
  .step-connector { display: none; }
  .hero-stats { gap: 1.5rem; }
  .nav-links { display: none; }
  .nav-links.open { display: flex; flex-direction: column; position: absolute; top: 60px; inset-inline-start: 0; width: 100%; background: #fff; padding: 1rem; border-bottom: 1px solid var(--gray-200); box-shadow: var(--shadow); }
  .hamburger { display: flex; background: none; border: none; cursor: pointer; font-size: 1.4rem; color: var(--gray-700); }
}
@media (min-width: 769px) { .hamburger { display: none; } }
@media (max-width: 480px) {
  .hero-btns { flex-direction: column; align-items: stretch; }
  .form-box { padding: 1.75rem 1.25rem; }
  .odor-grid { grid-template-columns: 1fr; }
}

/* Premium UI refresh */
body { background: #fbfdfc; color: #102018; }
.navbar { background: rgba(255,255,255,.82); border-bottom-color: rgba(15,81,50,.1); box-shadow: 0 10px 35px rgba(18,69,45,.06); }
.nav-inner { max-width: 1240px; padding-block: .75rem; }
.nav-links a { font-weight: 600; letter-spacing: -.01em; }
.hero { padding-block: 7rem 6rem; background: radial-gradient(circle at 20% 20%, rgba(255,255,255,.92), transparent 28%), linear-gradient(135deg,#edfff4 0%,#dff8e8 48%,#c7efd8 100%); }
.hero-title { font-size: clamp(2rem,5vw,3.5rem); letter-spacing: -.035em; max-width: 820px; margin-inline: auto; }
.hero-sub { max-width: 620px; margin-inline: auto; font-size: 1.08rem; }
.mini-courses { padding-block: 2rem; background: linear-gradient(180deg,#fff,#f6faf8); }
.mini-course-grid { max-width: 980px; }
.mini-course-card { min-height: 112px; padding: .65rem; gap: 1rem; border-color: rgba(20,83,45,.1); border-radius: 18px; box-shadow: 0 14px 40px rgba(21,83,50,.08); transition: transform .25s ease, box-shadow .25s ease; }
.mini-course-card:hover { transform: translateY(-4px); box-shadow: 0 20px 48px rgba(21,83,50,.14); }
.mini-course-cover { width: 132px; height: 88px; object-fit: cover; border-radius: 13px; flex: 0 0 auto; }
.mini-course-copy h3 { font-size: 1.05rem; letter-spacing: -.015em; }
.mini-course-copy p { color: #718079; font-weight: 600; }
.course-cover-hero { max-width: 1180px; height: clamp(260px,42vw,520px); margin: 2rem auto 0; border-radius: 28px; overflow: hidden; position: relative; box-shadow: 0 28px 70px rgba(10,45,28,.2); }
.course-cover-hero img { width: 100%; height: 100%; object-fit: cover; display: block; }
.course-cover-shade { position: absolute; inset: 0; background: linear-gradient(180deg,transparent 55%,rgba(4,24,14,.34)); pointer-events: none; }
.course-cover-hero + .section { padding-top: 3.2rem; background: transparent; }
.course-cover-hero + .section .section-title { font-size: clamp(2rem,4vw,3rem); letter-spacing: -.035em; }
.policy-content { background: #fff; border: 1px solid rgba(20,83,45,.09); border-radius: 22px; padding: clamp(1.4rem,4vw,3rem); box-shadow: 0 18px 50px rgba(20,83,45,.07); }
.lesson-grid { gap: 1.5rem; }
.lesson-card { border: 0; border-radius: 18px; box-shadow: 0 18px 45px rgba(11,45,29,.11); transition: transform .25s ease, box-shadow .25s ease; }
.lesson-card:hover { transform: translateY(-5px); box-shadow: 0 26px 60px rgba(11,45,29,.17); }
.lesson-card h3 { padding: 1.1rem 1.2rem 1.25rem; font-size: 1rem; min-height: 4rem; }
.video-frame { background: linear-gradient(135deg,#0c2016,#07120d); }
.footer { background: #0b2417; }
@media (max-width:720px) {
  .hero { padding-block: 4.5rem 4rem; }
  .mini-course-card { min-height: 94px; }
  .mini-course-cover { width: 92px; height: 70px; }
  .mini-course-card .btn { padding: .45rem .6rem; }
  .course-cover-hero { margin: 1rem 1rem 0; height: 240px; border-radius: 20px; }
  .course-cover-hero + .section { padding-top: 2rem; }
  .policy-content { border-radius: 18px; }
}
.course-buy-btn { margin-top: 1.35rem; padding-inline: 2.2rem; box-shadow: 0 12px 28px rgba(22,163,74,.24); }
.course-coming-soon { display: inline-flex; margin-top: 1.35rem; padding: .7rem 1.35rem; border-radius: 999px; background: var(--gray-100); color: var(--gray-600); font-weight: 700; border: 1px solid var(--gray-200); }

/* UX system refinements */
:focus-visible { outline: 3px solid rgba(22,163,74,.34); outline-offset: 3px; }
a, button, input, textarea, label { -webkit-tap-highlight-color: transparent; }
.btn { min-height: 44px; letter-spacing: -.01em; }
.btn:active { transform: translateY(0) scale(.98); }
.nav-links a { position: relative; white-space: nowrap; }
.nav-links a:not(.lang-btn)::after { content: ""; position: absolute; inset-inline: .65rem; bottom: .18rem; height: 2px; border-radius: 2px; background: var(--green); transform: scaleX(0); transition: transform .2s ease; }
.nav-links a:hover::after { transform: scaleX(1); }
.hamburger { width: 44px; height: 44px; align-items: center; justify-content: center; flex-direction: column; gap: 5px; border-radius: 12px; }
.hamburger span { display: block; width: 21px; height: 2px; border-radius: 2px; background: currentColor; transition: transform .2s ease, opacity .2s ease; }
.hamburger[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.hamburger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.hamburger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.cards-section, .how-section, .types-section { padding: clamp(3.5rem,7vw,6rem) 1.5rem; }
.cards { gap: 1.25rem; }
.card { border-color: rgba(17,70,43,.09); border-radius: 20px; box-shadow: 0 18px 50px rgba(13,55,34,.08); }
.card-icon { width: 58px; height: 58px; display: grid; place-items: center; border-radius: 16px; background: var(--gray-50); }
.step { border: 1px solid rgba(17,70,43,.08); box-shadow: 0 12px 36px rgba(13,55,34,.06); }
.form-page { min-height: calc(100vh - 70px); padding: clamp(2rem,6vw,5rem) 1rem; background: radial-gradient(circle at 20% 10%,#e4faed,transparent 30%),linear-gradient(160deg,#f8fcfa,#edf8f2); }
.form-box { max-width: 680px; border: 1px solid rgba(17,70,43,.1); border-radius: 24px; padding: clamp(1.5rem,5vw,3rem); box-shadow: 0 28px 80px rgba(13,55,34,.13); }
.form-box h2 { font-size: clamp(1.45rem,3vw,2rem); letter-spacing: -.025em; }
.form-box .form-sub { display: block; max-width: 480px; margin: .35rem auto 2rem; color: var(--gray-600); }
.field { margin-bottom: 1.35rem; }
.field > label { font-weight: 700; font-size: .9rem; margin-bottom: .5rem; }
.field input[type="text"], .field textarea { min-height: 50px; border: 1.5px solid var(--gray-200); border-radius: 12px; background: #fbfdfc; transition: border-color .18s, box-shadow .18s, background .18s; }
.field input[type="text"]:focus, .field textarea:focus { background: #fff; border-color: var(--green); box-shadow: 0 0 0 4px rgba(22,163,74,.1); outline: 0; }
.radio-row { gap: .7rem; }
.radio-label { flex: 1; min-height: 48px; justify-content: center; border-radius: 12px; border: 1px solid var(--gray-200); background: #fff; }
.radio-label:has(input:checked) { border-color: var(--green); background: var(--green-light); color: var(--green-dark); }
.odor-card { min-height: 92px; border-radius: 14px; }
.odor-card:has(input:checked) { border-color: var(--blue); background: var(--blue-light); box-shadow: 0 0 0 3px rgba(37,99,235,.1); }
.form-privacy { margin: .2rem 0 .85rem; text-align: center; color: var(--gray-600); font-size: .8rem; }
.articles-grid { gap: 1rem; }
.article-card { border-radius: 18px; border-color: rgba(17,70,43,.08); box-shadow: 0 14px 40px rgba(13,55,34,.07); }
.footer-grid { max-width: 1180px; }
@media (max-width:768px) {
  .nav-inner { padding: .65rem 1rem; }
  .nav-links.open { top: 64px; inset-inline: .75rem; width: auto; max-height: calc(100vh - 80px); overflow-y: auto; padding: .75rem; border: 1px solid var(--gray-200); border-radius: 16px; box-shadow: 0 24px 60px rgba(9,40,24,.18); }
  .nav-links.open a { width: 100%; padding: .75rem .9rem; border-radius: 10px; }
  .nav-links a::after { display: none; }
  .form-page { align-items: flex-start; }
  .radio-row { flex-direction: column; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width:480px) { .footer-grid { grid-template-columns: 1fr; } .mini-course-copy h3 { font-size: .88rem; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition-duration:.01ms!important; animation-duration:.01ms!important; } }

/* Home V2 — confidential message product */
.home-v2 { overflow:hidden; background:#f8fbf9; }
.v2-hero { position:relative; padding:clamp(4rem,8vw,7.5rem) 1.5rem 5rem; background:radial-gradient(circle at 80% 15%,rgba(69,211,133,.18),transparent 29%),linear-gradient(145deg,#f8fffb 0%,#eaf8f0 100%); }
.v2-hero::before { content:""; position:absolute; inset:0; opacity:.32; background-image:radial-gradient(#70a887 1px,transparent 1px); background-size:25px 25px; mask-image:linear-gradient(90deg,transparent,#000 70%,transparent); }
.v2-hero-grid { position:relative; display:grid; grid-template-columns:1.05fr .95fr; align-items:center; gap:clamp(2rem,6vw,6rem); max-width:1180px; }
.v2-hero-copy { position:relative; z-index:2; }
.v2-kicker { display:inline-flex; align-items:center; gap:.55rem; padding:.42rem .8rem; background:rgba(255,255,255,.7); border:1px solid rgba(18,112,62,.14); border-radius:999px; color:#276944; font-size:.78rem; font-weight:800; backdrop-filter:blur(10px); }
.v2-live { width:8px; height:8px; border-radius:50%; background:#21b565; box-shadow:0 0 0 5px rgba(33,181,101,.12); }
.v2-hero h1 { margin:1.4rem 0 1rem; max-width:700px; font-size:clamp(2.5rem,5.6vw,4.8rem); line-height:1.08; letter-spacing:-.055em; color:#0a2e1b; }
.v2-hero-copy>p { max-width:620px; color:#527060; font-size:clamp(1rem,1.5vw,1.15rem); line-height:1.9; }
.v2-actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:2rem; }
.v2-btn { min-height:54px; display:inline-flex; align-items:center; gap:.6rem; padding:.8rem 1.35rem; border-radius:15px; font-weight:800; text-decoration:none; transition:.25s ease; }
.v2-btn:hover { transform:translateY(-3px); } .v2-btn-primary { color:#fff; background:#106d3c; box-shadow:0 16px 34px rgba(16,109,60,.25); } .v2-btn-soft { color:#4e3943; background:#fff; border:1px solid #eadfe4; }
.v2-trust { display:flex; flex-wrap:wrap; gap:1rem; margin-top:1.5rem; color:#698075; font-size:.76rem; font-weight:700; } .v2-trust span::first-letter { color:#19a55c; }
.v2-preview { position:relative; min-height:480px; display:grid; place-items:center; }
.v2-orbit { position:absolute; border:1px solid rgba(24,129,70,.12); border-radius:50%; } .v2-orbit-one { width:430px;height:430px; } .v2-orbit-two { width:340px;height:340px; border-style:dashed; }
.v2-phone { position:relative; z-index:2; width:min(100%,350px); padding:1rem; background:rgba(255,255,255,.88); border:1px solid rgba(19,86,49,.12); border-radius:30px; box-shadow:0 40px 90px rgba(14,70,39,.18); backdrop-filter:blur(18px); transform:rotate(-2deg); }
.v2-phone-top { display:flex; align-items:center; gap:.7rem; padding:.35rem .25rem 1rem; } .v2-avatar { width:42px;height:42px;display:grid;place-items:center;background:#e8f8ef;border-radius:13px; } .v2-phone-top div { flex:1; } .v2-phone-top strong,.v2-phone-top small { display:block; } .v2-phone-top small { color:#85958d;font-size:.7rem; }
.v2-message { padding:1rem; color:#234832; background:#e6f8ee; border-radius:18px 18px 5px 18px; line-height:1.8; font-size:.9rem; } html[dir=ltr] .v2-message { border-radius:18px 18px 18px 5px; }
.v2-message-meta { display:flex; justify-content:flex-end; gap:.4rem; padding:.4rem;color:#4aaa72;font-size:.7rem; }
.v2-anon { display:flex; gap:.75rem; align-items:center; margin-top:1rem; padding:.85rem; border:1px dashed #cde5d7; border-radius:15px; color:#526b5e; } .v2-anon>span { width:34px;height:34px;display:grid;place-items:center;background:#f2f7f4;border-radius:50%; } .v2-anon strong,.v2-anon small { display:block; } .v2-anon strong{font-size:.8rem}.v2-anon small{font-size:.68rem;color:#8a9991}
.v2-float { position:absolute; z-index:3; background:#fff; box-shadow:0 15px 40px rgba(12,60,34,.14); } .v2-float-a { inset-inline-start:0; top:25%; padding:.7rem 1rem; border-radius:15px; color:#106d3c;font-weight:900; } .v2-float-a small{display:block;color:#83938a;font-size:.6rem}.v2-float-b{inset-inline-end:3%;bottom:18%;width:48px;height:48px;display:grid;place-items:center;border-radius:15px;color:#e27d9e;font-size:1.4rem}
.v2-choice { padding:clamp(4rem,8vw,7rem) 1.5rem; background:#fff; } .v2-section-head { text-align:center;margin-bottom:2rem; } .v2-section-head>span,.v2-eyebrow,.v2-course-head span { color:#16804a;font-size:.76rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase; } .v2-section-head h2,.v2-how h2,.v2-course-head h2 { margin-top:.35rem;font-size:clamp(1.8rem,4vw,3rem);letter-spacing:-.04em;color:#102a1b; }
.v2-choice-grid { display:grid;grid-template-columns:1fr 1fr;gap:1rem;max-width:1000px;margin:auto; } .v2-choice-card { position:relative;display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center;padding:1.5rem;border-radius:24px;text-decoration:none;overflow:hidden;transition:.25s ease; } .v2-choice-card:hover{transform:translateY(-5px)} .v2-choice-blue{background:#eef6ff;border:1px solid #d9e9fa;color:#173652}.v2-choice-rose{background:#fff2f6;border:1px solid #f6dce5;color:#51323d}.v2-choice-icon{width:64px;height:64px;display:grid;place-items:center;background:#fff;border-radius:18px;font-size:1.8rem;box-shadow:0 12px 28px rgba(20,45,35,.08)}.v2-card-label{font-size:.7rem;font-weight:800;opacity:.6}.v2-choice-card h3{margin:.15rem 0;font-size:1.2rem}.v2-choice-card p{font-size:.82rem;line-height:1.6;opacity:.75}.v2-arrow{width:38px;height:38px;display:grid;place-items:center;background:rgba(255,255,255,.7);border-radius:50%}
.v2-how { padding:clamp(4rem,8vw,7rem) 1.5rem;background:#0d2b1b;color:#fff; } .v2-how-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,7vw,7rem);align-items:center;max-width:1050px}.v2-how h2{color:#fff}.v2-how-copy p{margin-top:1rem;color:#a9c2b4;line-height:1.8}.v2-timeline{display:grid;gap:.75rem}.v2-time-item{display:flex;gap:1rem;align-items:center;padding:1.1rem;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.05);border-radius:17px}.v2-time-item b{font-size:.72rem;color:#65d797}.v2-time-item h3{font-size:1rem}.v2-time-item p{color:#9fb7aa;font-size:.78rem}
.v2-courses{padding:clamp(3rem,7vw,5rem) 1.5rem;background:#f8fbf9}.v2-course-head{margin-bottom:1rem}.v2-course-row{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;max-width:900px}.v2-course{display:grid;grid-template-columns:105px 1fr auto;align-items:center;gap:1rem;padding:.55rem;background:#fff;border:1px solid #e1ebe5;border-radius:17px;text-decoration:none;color:#163724;box-shadow:0 12px 35px rgba(18,70,42,.06);transition:.25s}.v2-course:hover{transform:translateY(-3px);box-shadow:0 18px 45px rgba(18,70,42,.11)}.v2-course img{width:105px;height:72px;object-fit:cover;border-radius:12px}.v2-course h3{font-size:.95rem}.v2-course p{font-size:.7rem;color:#7b8d83;margin-top:.2rem}.v2-course>span{padding:.5rem;color:#18814b}
@media(max-width:850px){.v2-hero-grid{grid-template-columns:1fr}.v2-preview{min-height:410px}.v2-hero-copy{text-align:center}.v2-hero-copy>p,.v2-hero h1{margin-inline:auto}.v2-actions,.v2-trust{justify-content:center}.v2-how-grid{grid-template-columns:1fr}.v2-how-copy{text-align:center}}
@media(max-width:650px){.v2-hero{padding-top:3.2rem}.v2-hero h1{font-size:2.55rem}.v2-preview{min-height:360px}.v2-phone{width:300px}.v2-orbit-one{width:330px;height:330px}.v2-orbit-two{width:270px;height:270px}.v2-float-a{inset-inline-start:-.5rem}.v2-choice-grid,.v2-course-row{grid-template-columns:1fr}.v2-choice-card{grid-template-columns:auto 1fr;padding:1rem}.v2-choice-card p{display:none}.v2-arrow{display:none}.v2-choice-icon{width:52px;height:52px}.v2-course{grid-template-columns:88px 1fr auto}.v2-course img{width:88px;height:64px}}

/* Inner pages V2 */
.inner-v2,.legal-v2{background:#f8fbf9}.inner-hero{padding:clamp(5rem,10vw,9rem) 1.5rem;background:radial-gradient(circle at 80% 15%,rgba(38,180,101,.16),transparent 28%),linear-gradient(145deg,#f8fffb,#e8f7ee);position:relative;overflow:hidden}.inner-hero::after{content:"";position:absolute;width:360px;height:360px;border:1px solid rgba(18,120,62,.1);border-radius:50%;inset-inline-end:-100px;top:-100px;box-shadow:0 0 0 50px rgba(18,120,62,.025),0 0 0 100px rgba(18,120,62,.018)}.inner-hero-warm{background:radial-gradient(circle at 18% 18%,rgba(240,172,87,.18),transparent 30%),linear-gradient(145deg,#fffdf9,#f2f8f3)}.inner-hero-blue{background:radial-gradient(circle at 80% 10%,rgba(72,145,228,.16),transparent 30%),linear-gradient(145deg,#fbfdff,#edf6fb)}.inner-hero-copy{position:relative;z-index:2;max-width:900px}.inner-kicker{color:#16804a;font-size:.76rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.inner-hero h1,.support-copy h1,.legal-hero h1{max-width:850px;margin:.8rem 0 1rem;font-size:clamp(2.4rem,6vw,5rem);line-height:1.1;letter-spacing:-.055em;color:#0b2d1b}.inner-hero p,.legal-hero p{max-width:680px;color:#587064;font-size:1.05rem;line-height:1.9}.process-v2{padding:clamp(4rem,8vw,7rem) 1.5rem}.process-list{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.process-list article{position:relative;padding:1.6rem;background:#fff;border:1px solid #e0ebe5;border-radius:22px;box-shadow:0 18px 50px rgba(13,55,34,.07)}.process-list article>span{position:absolute;inset-inline-end:1.2rem;top:1rem;color:#a6b7ae;font-size:.72rem;font-weight:800}.process-icon{width:54px;height:54px;display:grid;place-items:center;background:#eaf8f0;color:#16804a;border-radius:16px;font-size:1.3rem;margin-bottom:2rem}.process-list h2{font-size:1.15rem;color:#133b25}.process-list p{margin-top:.4rem;color:#72847a;font-size:.88rem}.inner-cta{padding:0 1.5rem 6rem}.inner-cta-box{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:2rem;background:#0d2b1b;color:#fff;border-radius:25px}.inner-cta-box>div{display:grid;grid-template-columns:auto 1fr;column-gap:1rem}.inner-cta-box>div>span{grid-row:1/3;width:52px;height:52px;display:grid;place-items:center;background:rgba(255,255,255,.08);border-radius:15px}.inner-cta-box h2{font-size:1.35rem}.inner-cta-box p{color:#a8c0b3;font-size:.85rem}.story-v2{padding:clamp(4rem,8vw,7rem) 1.5rem;background:#fff}.story-grid{display:grid;grid-template-columns:.35fr 1.65fr;gap:2rem;max-width:950px}.story-mark{font-family:Georgia,serif;font-size:10rem;line-height:.7;color:#ccebd9}.story-copy h2{font-size:clamp(1.7rem,4vw,2.8rem);color:#113824}.story-copy p{margin-top:1rem;color:#61766a;line-height:2}.values-v2{padding:clamp(4rem,8vw,7rem) 1.5rem}.inner-section-head{margin-bottom:2rem}.inner-section-head span{color:#16804a;font-size:.75rem;font-weight:900}.inner-section-head h2{font-size:clamp(1.8rem,4vw,3rem);letter-spacing:-.04em;color:#102e1d}.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem}.values-grid article{position:relative;padding:1.35rem;background:#fff;border:1px solid #e1ebe5;border-radius:19px}.values-grid b{position:absolute;inset-inline-end:1rem;color:#b4c2ba;font-size:.65rem}.values-grid article>span{font-size:1.6rem}.values-grid h3{margin-top:1.4rem;color:#173b27}.values-grid p{margin-top:.4rem;color:#76877e;font-size:.8rem;line-height:1.7}.editorial-v2{padding:clamp(3rem,7vw,6rem) 1.5rem}.editorial-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;max-width:1050px}.editorial-card{display:grid;grid-template-columns:120px 1fr;overflow:hidden;background:#fff;border:1px solid #e0ebe5;border-radius:20px;box-shadow:0 14px 40px rgba(13,55,34,.06)}.editorial-featured{grid-column:1/-1;grid-template-columns:.8fr 1.2fr}.editorial-art{min-height:150px;display:grid;place-items:center;background:linear-gradient(145deg,#eaf8f0,#f6fbf8);font-size:3rem}.editorial-featured .editorial-art{min-height:260px;font-size:5rem}.editorial-body{padding:1.25rem}.editorial-body>span{color:#19804b;font-size:.68rem;font-weight:900}.editorial-body h2{margin:.3rem 0;color:#153a26;font-size:1.1rem}.editorial-featured h2{font-size:1.6rem}.editorial-body p{color:#74867c;font-size:.82rem;line-height:1.7}.editorial-meta{margin-top:1rem;color:#a0aea6;font-size:.65rem}.support-v2{padding:clamp(5rem,10vw,9rem) 1.5rem;background:linear-gradient(145deg,#f7fffa,#e7f7ed)}.support-grid{display:grid;grid-template-columns:1fr .8fr;align-items:center;gap:4rem}.support-copy p{max-width:650px;color:#60756a;line-height:1.9}.support-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.8rem}.support-visual{position:relative;min-height:380px;display:grid;place-items:center}.support-heart{position:relative;z-index:2;width:150px;height:150px;display:grid;place-items:center;background:#fff;border-radius:45px;color:#df7798;font-size:5rem;box-shadow:0 35px 80px rgba(18,79,45,.15);transform:rotate(-7deg)}.support-ring{position:absolute;border:1px solid rgba(25,128,75,.13);border-radius:50%}.support-ring-a{width:320px;height:320px}.support-ring-b{width:240px;height:240px;border-style:dashed}.support-chip{position:absolute;z-index:3;width:48px;height:48px;display:grid;place-items:center;background:#fff;border-radius:15px;box-shadow:0 12px 32px rgba(18,79,45,.12)}.chip-a{top:15%;inset-inline-start:10%}.chip-b{top:20%;inset-inline-end:12%}.chip-c{bottom:12%;inset-inline-end:18%}.support-options{padding:5rem 1.5rem;background:#fff}.support-option-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.support-option-grid article{padding:1.5rem;border-top:1px solid #cadbd1}.support-option-grid span{color:#1a8650;font-size:.7rem;font-weight:900}.support-option-grid h2{margin:.8rem 0 .4rem;color:#143a26;font-size:1.15rem}.support-option-grid p{color:#74867c;font-size:.84rem;line-height:1.7}.legal-hero{padding:clamp(5rem,9vw,8rem) 1.5rem;background:linear-gradient(145deg,#f6fffa,#e8f7ee)}.legal-hero-gold{background:linear-gradient(145deg,#fffdf7,#f6f1e3)}.legal-body{padding:clamp(3rem,7vw,6rem) 1.5rem}.legal-grid{display:grid;grid-template-columns:280px 1fr;gap:2rem;max-width:1050px;align-items:start}.legal-side-card{position:sticky;top:90px;padding:1.4rem;background:#0d2b1b;color:#fff;border-radius:20px}.legal-side-card>span{width:46px;height:46px;display:grid;place-items:center;background:rgba(255,255,255,.08);border-radius:13px;margin-bottom:2rem}.legal-side-card strong,.legal-side-card p,.legal-side-card a{display:block}.legal-side-card p{margin:.4rem 0 1rem;color:#a9beb3;font-size:.78rem}.legal-side-card a{color:#7ee0a8;font-size:.75rem;word-break:break-all}.legal-big{font-size:4rem;font-weight:900;line-height:1;color:#78dda4}.legal-content{display:grid;gap:.8rem}.legal-content section{display:grid;grid-template-columns:45px 1fr;gap:1rem;padding:1.5rem;background:#fff;border:1px solid #e0ebe5;border-radius:18px}.legal-content b{color:#1b8650;font-size:.7rem}.legal-content h2{font-size:1.15rem;color:#153a26}.legal-content p{margin-top:.5rem;color:#6e8177;line-height:1.9;font-size:.9rem}
@media(max-width:800px){.process-list,.values-grid,.support-option-grid{grid-template-columns:1fr 1fr}.support-grid,.legal-grid{grid-template-columns:1fr}.support-visual{min-height:320px}.legal-side-card{position:static}.editorial-grid{grid-template-columns:1fr}.editorial-featured{grid-column:auto;grid-template-columns:120px 1fr}.editorial-featured .editorial-art{min-height:150px;font-size:3rem}}@media(max-width:560px){.process-list,.values-grid,.support-option-grid{grid-template-columns:1fr}.inner-cta-box{align-items:flex-start;flex-direction:column}.story-grid{grid-template-columns:1fr}.story-mark{font-size:6rem}.support-visual{min-height:280px}.support-heart{width:120px;height:120px;font-size:4rem}.support-ring-a{width:260px;height:260px}.support-ring-b{width:190px;height:190px}.editorial-card,.editorial-featured{grid-template-columns:85px 1fr}.editorial-art,.editorial-featured .editorial-art{min-height:130px;font-size:2.3rem}.editorial-featured h2{font-size:1.1rem}}
