@font-face { font-family: "Plus Jakarta Sans"; font-style: normal; font-weight: 400 800; font-display: swap; src: url("/fonts/plus-jakarta-sans.woff2") format("woff2"); }
@font-face { font-family: "Plus Jakarta Sans"; font-style: italic; font-weight: 500; font-display: swap; src: url("/fonts/plus-jakarta-sans-italic.woff2") format("woff2"); }

:root {
  --forest: #173a2e; --apricot: #f4a261;
  --bg: #f3f1ea; --surface: #ffffff; --surface-2: #ebe8dd; --field: #fbfaf6;
  --ink: #15241e; --muted: #5d6a63; --line: #e2ded2;
  --dark-bg: var(--forest); --dark-ink: #f6f3ea; --dark-muted: #a9bdb2; --dark-text: #dbe6df; --dark-line: rgba(246,243,234,.16);
  --accent: var(--apricot); --accent-ink: #15241e; --accent-on-dark: #f6bd8a;
  --hl: #e3eedf; --hl-ink: #2f6b4f; --hl-text: #2d4237; --hl-line: rgba(47,107,79,.2); --mark: #f9d9b8;
  --dot: #2f6b4f; --dot-dark: var(--apricot);
  --logo-ink: #f6f3ea; --logo-accent: var(--apricot);
  --font-head: "Plus Jakarta Sans", system-ui, sans-serif; --font-body: "Plus Jakarta Sans", system-ui, sans-serif; --font-label: "Plus Jakarta Sans", system-ui, sans-serif;
  --head-weight: 700; --head-tracking: -0.03em; --em-style: normal;
  --h1-max: 74px; --h1-lh: 1.03; --h2-max: 52px; --h2-lh: 1.06;
  --radius: 18px; --radius-lg: 26px; --btn-radius: 999px; --photo-radius: 26px;
  --footer-bg: #10291f; --footer-ink: #9fb3a8;
  --shadow: 0 1px 0 rgba(21,36,30,.04), 0 18px 40px -26px rgba(21,36,30,.4);
}

.hero, section.dark { margin: 12px; border-radius: 32px; }
.hero-grid { padding-top: 40px; align-items: center; }
.hero .h1-kicker { width: fit-content; padding: 8px 14px; border-radius: 999px; background: rgba(246,243,234,.09); color: var(--dark-text); letter-spacing: .04em; text-transform: none; font-size: 14px; font-weight: 600; }
.eyebrow::before, .h1-kicker::before { border-radius: 50%; }
.hero-photo .tag { border-radius: 16px; }
.hero .stats { border-top: 0; gap: 12px; padding-bottom: 28px; }
.hero .stats .stat { padding: 20px 22px; border: 0; border-radius: 18px; background: rgba(246,243,234,.07); }
.stats-4 .stat b { font-size: 21px; }

.eyebrow { padding: 7px 13px; border-radius: 999px; background: var(--hl); color: var(--hl-ink); font-weight: 700; letter-spacing: .05em; font-size: 12px; }
.dark .eyebrow { background: rgba(246,243,234,.09); color: var(--dark-text); }
h2 em { background: none; color: var(--hl-ink); }
.dark h2 em { color: var(--accent-on-dark); }
.ptable-label { display: inline-block; margin: 0 0 18px; padding: 8px 14px; border-radius: 999px; background: rgba(246,243,234,.09); color: var(--dark-text); font: 600 13.5px/1 var(--font-label); }
.why h2 em { color: #c8601f; }

.pains { gap: 14px; }
.pain { border-radius: 24px; }
.pain:nth-child(2) { background: #fbe3cf; --hl-ink: #9a4a14; --hl-text: #5b3a22; }
.pain:nth-child(3) { background: #e2ebf0; --hl-ink: #2c5a78; --hl-text: #2d4250; }
.pain:nth-child(4) { background: #efe7d4; --hl-ink: #6d5a1f; --hl-text: #4a4026; }
.pain .n { display: inline-grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: rgba(255,255,255,.75); font-weight: 700; }

.btn { font-weight: 700; }
.pkgs { gap: 16px; }
.pkg { border: 0; box-shadow: var(--shadow); }
.pkg.first {
  --ink: #f6f3ea; --muted: #a9bdb2; --line: rgba(246,243,234,.16); --hl: rgba(246,243,234,.08); --hl-ink: #f6bd8a; --hl-text: #dbe6df;
  background: var(--forest); color: #f6f3ea; border: 0;
}
.pkg.first .btn-dark { background: var(--apricot); color: #15241e !important; }
.pkg .flag, .addon .flag { border-radius: 999px; top: -14px; padding: 8px 12px; }
.price-alt { border-radius: 12px; }
.addon { border: 2px dashed #cfc9b8; background: #fbfaf6; }
.addon-solo { border: 0; background: #fff; box-shadow: var(--shadow); }

.proof-grid { gap: 16px; }
.proof-card { border: 0; box-shadow: var(--shadow); }
.proof-thumbs img { border-radius: 12px; }
.proof-chat { border-radius: 18px; }
.proof-chat p { border-radius: 14px; }
.proof-chat .q { background: var(--forest); color: #f6f3ea; }
.proof-hero-img img { border-radius: 18px 18px 0 0; }
.proof-stores span::before { color: var(--apricot); }

.ptable td b { font-weight: 700; }
.pilot { border: 0; box-shadow: var(--shadow); }
.pilot-r { background: #fbe3cf; --hl-ink: #9a4a14; --hl-line: rgba(154,74,20,.18); }
.seats i { background: var(--forest); border-radius: 999px; }
.calc { border: 0; box-shadow: var(--shadow); }
.chips input:checked + span { background: var(--forest); border-color: var(--forest); color: #f6f3ea; }
input[type=range] { accent-color: var(--forest); }

.faq { display: grid; gap: 10px; }
details, details:last-child { background: #fff; border: 0; border-radius: 18px; padding: 0 24px; box-shadow: var(--shadow); }
summary::after { display: inline-grid; place-items: center; width: 30px; height: 30px; flex: none; border-radius: 50%; background: var(--hl); font-size: 18px; }
.guide aside p.guide-note { border-radius: 14px; }
.guide > * { min-width: 0; }
.prose { background: #fff; border-radius: 26px; padding: 44px; box-shadow: var(--shadow); overflow-wrap: break-word; hyphens: auto; }
.prose figure img { border-radius: 18px; }
.cform input:not([type=radio]), .cform select, .cform textarea { border-radius: 12px; }
.about-photo img { border-radius: 26px; }

@media (max-width: 940px) {
  .hero, section.dark { margin: 8px; border-radius: 22px; }
  .hero .stats .stat + .stat { border-top: 0; }
  .prose { padding: 26px 18px; font-size: 17px; }
  details, details:last-child { padding: 0 18px; }
}

:root { --shadow: 0 0 0 1px var(--line); --h2-max: 46px; }
section { padding: 120px 0; }
.head { margin-bottom: 44px; }

.hero .stats { gap: 0 28px; padding: 24px 0 40px; border-top: 1px solid var(--dark-line); }
.hero .stats .stat { padding: 0; background: none; border-radius: 0; }
.stats-4 .stat b { font-size: 16px; }
.hero .stat span { font-size: 13.5px; }

.eyebrow { padding: 0; background: none; color: var(--hl-ink); }
.dark .eyebrow { background: none; color: var(--dark-muted); }

details.more, details.more:last-child { margin: 2px 0 16px; padding: 0; background: none; border: 0; border-radius: 0; box-shadow: none; }
details.more > summary { display: inline-flex; justify-content: flex-start; align-items: center; gap: 10px; padding: 8px 0; font: 700 14.5px/1.3 var(--font-body); letter-spacing: 0; color: var(--hl-ink); }
details.more > summary::after { content: ""; display: inline-block; width: 7px; height: 7px; background: none; border-radius: 0; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-2px) rotate(45deg); transition: transform .2s; }
details.more[open] > summary::after { content: ""; transform: translateY(2px) rotate(-135deg); }
details.more p { margin: 0 0 12px; }
details.more > ul { margin-top: 6px; }
.addon details.more { grid-column: 1 / -1; }
.pkg details.more { flex: 1; }
.proof-body details.more { margin-top: auto; margin-bottom: 0; }
.proof-body details.more[open] { margin-bottom: 8px; }
.proof-body details.more > *:not(summary) { margin-top: 12px; }
.about details.more > summary { color: var(--accent-on-dark); }
.prose details.more { margin-top: 8px; }
.prose details.more p { margin: 0 0 18px; max-width: none; color: var(--ink); }
.prose details.more[open] > summary { margin-bottom: 8px; }

.pkg, .proof-card, .calc, .pilot { box-shadow: none; }
.addon-solo { box-shadow: none; border: 1px solid var(--line); }
.pkg .flag, .addon .flag { box-shadow: none; }

#tapa {
  --dark-bg: transparent; --dark-ink: var(--ink); --dark-text: #33443c; --dark-muted: var(--muted); --dark-line: var(--line);
  --accent-on-dark: #2f6b4f; --dot-dark: #2f6b4f;
  margin: 0; border-radius: 0;
}

.faq { gap: 0; }
.faq details, .faq details:last-child { padding: 0; background: none; border-radius: 0; box-shadow: none; border-top: 1px solid var(--line); }
.faq details:last-child { border-bottom: 1px solid var(--line); }
.faq summary::after { background: none; width: auto; height: auto; }
.prose { box-shadow: none; }

@media (max-width: 940px) {
  section { padding: 84px 0; }
  .hero .stats { gap: 14px; }
}

.addon + .cta-band { margin-top: 22px; }

@media (max-width: 940px) {
  .hero-grid { row-gap: 0; padding-top: 28px; }
  .hero-grid > div:first-child { display: contents; }
  .hero-grid h1 { order: 1; margin-bottom: 22px; }
  .hero-photo { order: 2; display: flex; align-items: center; gap: 14px; max-width: none; margin: 0 0 22px; }
  .hero-photo img { flex: none; width: 60px; height: 60px; aspect-ratio: 1; border-radius: 50%; object-fit: cover; object-position: 50% 18%; box-shadow: none; }
  .hero-photo .tag { position: static; max-width: none; padding: 0; background: none; border-radius: 0; box-shadow: none; color: var(--dark-text); font-size: 14px; }
  .hero-photo .tag b { color: var(--dark-ink); font-size: 16px; }
  .hero-grid .lede { order: 3; }
  .hero-grid .cta-row { order: 4; margin-bottom: 40px; }
}

.time { white-space: nowrap; }
#tapa .time { background: #fbe3cf; color: #7a3a0f; }

footer { margin: 0 12px 12px; padding: 30px 0; border-radius: 32px; background: var(--dark-bg); color: var(--dark-muted); }
footer a { color: var(--dark-text); }
main > section.dark:last-child { margin-bottom: 0; padding-bottom: 88px; border-radius: 32px 32px 0 0; }
main:has(> section.dark:last-child) + footer { border-radius: 0 0 32px 32px; border-top: 1px solid var(--dark-line); }
@media (max-width: 940px) {
  footer { margin: 0 8px 8px; border-radius: 22px; }
  main > section.dark:last-child { padding-bottom: 64px; border-radius: 22px 22px 0 0; }
  main:has(> section.dark:last-child) + footer { border-radius: 0 0 22px 22px; }
}

.logo-fi { font-style: italic; font-weight: 500; letter-spacing: -0.01em; color: inherit; margin-left: 1px; }
