@font-face {
  font-family: 'Golos Text';
  src: url('assets/fonts/GolosText-variable.ttf') format('truetype');
  font-weight: 400 900;
  font-style: normal;
  font-display: swap;
}
body[data-public="true"] {
  --font-main: 'Golos Text', 'Segoe UI', sans-serif;
  --color-ink: #173b2b;
  --color-muted: #355342;
  font-weight: 400;
  color: var(--color-ink);
}
body[data-public="true"] .ls-hero h1 {
  font-size: clamp(34px, 3.8vw, 54px);
  font-weight: 750;
  letter-spacing: -.025em;
  line-height: 1.12;
  max-width: 19ch;
}
.hero-heading-accent { display: block; color: #117c3c; }
body[data-public="true"] .ls-hero-art .eyebrow { margin: 0 0 14px; text-align: center; font-size: 13px; font-weight: 600; }
body[data-public="true"] .ls-hero .lede { color: #234633; font-size: 19px; line-height: 1.65; }
body[data-public="true"] .ls-hero-copy { display: flex; flex-direction: column; gap: 34px; padding-block: 8px; }
body[data-public="true"] .ls-hero-copy > :is(h1,p,.cluster) { margin-block: 0; }
body[data-public="true"] .ls-hero-copy > p.muted { padding-top: 10px; }
body[data-public="true"] { --motion-fast: 160ms; --motion-enter: 480ms; --motion-ease: cubic-bezier(.2,.7,.3,1); }
body[data-public="true"] :is(.btn,.value-link,summary) { transition: color var(--motion-fast) ease, background-color var(--motion-fast) ease, border-color var(--motion-fast) ease; }
body[data-public="true"] :is(a,button,summary):focus-visible { outline: 3px solid #2f9661; outline-offset: 4px; }
body[data-public="true"] .ls-section { scroll-margin-top: 112px; }
@media (prefers-reduced-motion: reduce) {
  body[data-public="true"] :is(.btn,.value-link,summary) { transition: none; }
}
body[data-public="true"] .ls-section p { font-size: 17px; line-height: 1.65; color: #2d4d3b; }
body[data-public="true"] .ls-section :is(h2, .page-head h2) { font-weight: 700; letter-spacing: -.015em; color: #143e29; }
body[data-public="true"] .ls-section h3 { font-size: 22px; font-weight: 650; color: #17462e; }
body[data-public="true"] .ls-section .heading-with-icon { display: flex; align-items: center; gap: 14px; }
.meaning-icon { flex: 0 0 64px; width: 64px; height: 64px; object-fit: contain; }
body[data-public="true"] #how .page-head { max-width: none; }
body[data-public="true"] #how .steps { gap: 32px; }
body[data-public="true"] #how .step { display: flex; flex-direction: column; }
body[data-public="true"] #how .step h3 { min-height: 76px; margin: 0 0 14px; }
body[data-public="true"] #how .step h3::before { display: none; }
body[data-public="true"] #how .step p { margin: 0 0 12px; }
body[data-public="true"] #how .step .value-link { margin-top: auto; }
body[data-public="true"] #how .value-link { font-size: 16px; font-weight: 650; }
body[data-public="true"] :is(#care, #plans) { text-align: center; }
body[data-public="true"] #care .page-head p { margin-inline: auto; }
body[data-public="true"] #plans .panel { align-items: center; }
body[data-public="true"] #plans .check-list { width: 100%; }
body[data-public="true"] #plans .check-list li { padding-left: 0; text-align: center; }
body[data-public="true"] #plans .check-list li::before { position: static; display: inline-block; width: 12px; height: 12px; margin-right: 10px; }
body[data-public="true"] #care .ls-shot figcaption { text-align: center; }
body[data-public="true"] #care .ls-shot figcaption a { display: block; width: fit-content; margin: 0 auto 6px; font-size: 22px; font-weight: 700; }
body[data-public="true"] #care .ls-shot figcaption span { display: block; }
body[data-public="true"] .correction-explainer { margin-bottom: 24px; }
.correction-explainer details { border-bottom: 1px solid #d0ded5; }
.correction-explainer summary { padding: 16px 0; font-size: 18px; font-weight: 600; cursor: pointer; }
body[data-public="true"] .correction-explainer p { margin: 0; padding: 0 0 20px; max-width: 90ch; }
body[data-public="true"] #diagnostic-principles { grid-column: 1 / -1; padding: 0; }
body[data-public="true"] #diagnostic-principles .page-head { max-width: none; text-align: center; }
body[data-public="true"] #diagnostic-principles h2 { max-width: none; justify-content: center; }
body[data-public="true"] #diagnostic-principles .page-head p { margin-inline: auto; }
body[data-public="true"] #diagnostic-principles .steps { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 20px; max-width: none; margin: 0; }
body[data-public="true"] #diagnostic-principles .step { padding: 24px 24px 24px 68px; text-align: left; align-content: start; border: 1px solid var(--surface-edge); border-radius: 16px; background: var(--surface-card); }
body[data-public="true"] #diagnostic-principles .step::before { left: 20px; top: 24px; }
body[data-public="true"] #diagnostic-principles .step span { max-width: none; }
body[data-public="true"] #example { display: block; }
body[data-public="true"] #diagnostic-principles .page-head { margin-bottom: 32px; }
body[data-public="true"] #diagnostic-principles .step strong { font-size: 19px; }
body[data-public="true"] #diagnostic-principles .step span { font-size: 17px; line-height: 1.65; }
body[data-public="true"] .comparison-story { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: 40px; align-items: center; margin-top: 32px; padding: 28px; background: #eaf4ed; border-radius: 16px; }
body[data-public="true"] .comparison-story .example-journal { background: transparent; padding: 0; margin: 0; border: 0; }
body[data-public="true"] .comparison-story h3 { margin-top: 0; }
@media (max-width: 800px) {
  body[data-public="true"] #diagnostic-principles .steps { grid-template-columns: 1fr; }
  body[data-public="true"] #diagnostic-principles h2 { flex-direction: column; gap: 8px; }
  body[data-public="true"] .comparison-story { grid-template-columns: 1fr; gap: 24px; padding: 20px; }
}
body[data-public="true"] #maintenance { text-align: center; background: #eaf5ee; border: 1px solid #d6e7dc; border-radius: 20px; padding: 32px 24px; margin-block: 24px; }
body[data-public="true"] #maintenance .page-head p { margin-inline: auto; }
.maintenance-states { gap: 32px; }
.maintenance-states > div { padding: 24px 20px; background: #fafffb; border: 1px solid #cfe1d5; border-radius: 14px; }
body[data-public="true"] #maintenance > .value-link { display: inline-block; margin-top: 24px; }
body[data-public="true"] #care { padding: 32px 24px; margin-block: 24px; background: #eff7f2; border: 1px solid #dbe9e0; border-radius: 20px; }
body[data-public="true"] #plans { padding: 32px 24px; margin-block: 24px; background: #eaf5ee; border: 1px solid #d6e7dc; border-radius: 20px; }
body[data-public="true"] #plans .panel { padding: 24px; background: #fff; border: 1px solid #cfe1d5; border-radius: 14px; }
.maintenance-states img { width: 96px; height: 96px; object-fit: contain; margin: 0 auto 16px; }
body[data-public="true"] .maintenance-states h3 { margin: 0 0 12px; }
body[data-public="true"] .maintenance-states p { margin: 0; }
body[data-public="true"] #maintenance .maintenance-note { margin: 24px auto 12px; font-size: 15px; }
body[data-public="true"] #screens { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 32px; padding-block: 24px; }
body[data-public="true"] .screen-benefits { margin: 0 0 16px; }
body[data-public="true"] .screen-benefits > div { margin-bottom: 12px; }
body[data-public="true"] .screen-benefits dt { font-weight: 700; color: #17462e; }
body[data-public="true"] .screen-benefits dd { margin: 3px 0 0; font-size: 16px; line-height: 1.5; color: #2d4d3b; }
body[data-public="true"] .fuel-example { margin: 24px 0; }
body[data-public="true"] .fuel-example > div + div { margin-top: 18px; }
body[data-public="true"] .fuel-example dt { margin-bottom: 8px; }
body[data-public="true"] .fuel-example dd { display: flex; align-items: center; gap: 12px; margin: 0; }
body[data-public="true"] .fuel-example dd strong { white-space: nowrap; }
body[data-public="true"] .fuel-bar { display: block; height: 20px; border-radius: 4px; transform-origin: left center; }
body[data-public="true"] .fuel-bar-before { width: 60%; background: #5c796a; }
body[data-public="true"] .fuel-bar-after { width: 54%; background: #117c3c; }
body[data-public="true"] .example-journal .example-result { margin-bottom: 12px; }
@media (min-width: 601px) and (max-width: 900px) {
  body[data-public="true"] #how .steps { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
  body[data-public="true"] #screens { grid-template-columns: 1fr; gap: 24px; }
}
body[data-public="true"] #plans .price { font-size: 25px; font-weight: 700; color: #117c3c; }
body[data-public="true"] #plans .price-period { font-size: 16px; font-weight: 400; }
body[data-public="true"] #plans .price-alternative { margin-top: -8px; font-size: 17px; }
body[data-public="true"] .btn { font-weight: 600; }
/* Shared surfaces: the same mint light and edge throughout the homepage. */
body[data-public="true"] {
  --surface-mint: radial-gradient(ellipse at 100% 100%, #dbf1e3, transparent 68%), linear-gradient(115deg, #f0faf4, #fff 56%, #eef9f2);
  --surface-card: linear-gradient(135deg, #ffffffeb, #f0faf4b8);
  --surface-edge: #d8ece0;
}
body[data-public="true"] .ls-hero { background: var(--surface-mint); padding: 28px 24px; grid-template-columns: minmax(0,1.12fr) minmax(0,1fr); }
body[data-public="true"] .ls-hero .lede { font-size: 18px; line-height: 1.7; text-align: left; max-width: none; }
body[data-public="true"] .ls-hero-art { width: 100%; max-width: 560px; padding-top: 0; margin: auto; }
body[data-public="true"] .ls-hero-art .ecosystem-art { width: 100%; height: auto; max-height: 315px; object-fit: contain; }
body[data-public="true"] .hero-leaf-bottom { right: calc(47% - 16px); top: 46%; bottom: auto; width: 32px; opacity: .65; }
body[data-public="true"] :is(#screens,#maintenance,#example,#usage,#care,#fuel-corrections,#faq,#plans) {
  background: var(--surface-mint); border: 1px solid var(--surface-edge); border-radius: 20px; margin-block: 28px; padding: 28px 24px;
}
body[data-public="true"] #how { padding: 32px 0 0; }
body[data-public="true"] #how .steps { gap: 20px; }
body[data-public="true"] #how .step { padding: 20px; border: 1px solid var(--surface-edge); border-radius: 16px; background: var(--surface-card); }
body[data-public="true"] #how .step h3 { min-height: 64px; gap: 10px; }
body[data-public="true"] #how .meaning-icon { width: 48px; height: 48px; flex-basis: 48px; }
body[data-public="true"] :is(.maintenance-states > div,#plans .panel,.comparison-story) { background: var(--surface-card); border: 1px solid var(--surface-edge); }
body[data-public="true"] .screen-benefits > div + div { padding-top: 10px; border-top: 1px solid var(--surface-edge); }
body[data-public="true"] .comparison-story { margin-top: 36px; }
body[data-public="true"] #care .ls-shot img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; background: transparent; }
@media (min-width: 901px) and (max-width: 1100px) {
  body[data-public="true"] #screens .screen-benefits dd { font-size: 15px; line-height: 1.4; }
  body[data-public="true"] #screens h2 { font-size: 26px; }
  body[data-public="true"] #screens .screen-benefits > div { margin-bottom: 10px; }
}
@media (max-width: 900px) {
  body[data-public="true"] .ls-hero { grid-template-columns: 1fr; }
  body[data-public="true"] .ls-hero-art { max-width: 480px; }
  body[data-public="true"] .hero-leaf-bottom { top: 42%; right: 12px; width: 28px; }
}
@media (max-width: 600px) {
  body[data-public="true"] .ls-hero h1 { font-size: clamp(30px, 8.4vw, 39px); }
  body[data-public="true"] .ls-hero .lede { font-size: 17px; }
  body[data-public="true"] .ls-hero-copy { gap: 30px; padding-block: 0; }
  body[data-public="true"] #diagnostic-principles .step { padding: 20px 16px; gap: 14px; }
  body[data-public="true"] #diagnostic-principles .step strong { padding-left: 40px; min-height: 32px; }
  body[data-public="true"] #diagnostic-principles .step span { font-size: 16px; }
  body[data-public="true"] #diagnostic-principles .step::before { left: 14px; top: 20px; }
  body[data-public="true"] .ls-section p { font-size: 16px; }
  body[data-public="true"] .ls-section h3 { font-size: 20px; }
  body[data-public="true"] #how .step h3 { min-height: 0; }
  .meaning-icon { flex-basis: 52px; width: 52px; height: 52px; }
  body[data-public="true"] :is(#screens,#maintenance,#example,#usage,#care,#fuel-corrections,#faq,#plans) { padding: 24px 16px; margin-block: 24px; }
  body[data-public="true"] .ls-hero { padding: 24px 20px; }
  body[data-public="true"] .hero-leaf-bottom { top: 50%; right: 4px; width: 22px; }
  body[data-public="true"] .hero-leaf-top { top: 2px; right: 4px; width: 24px; }
}
