.home-topbar .nav-link { text-decoration: none; }
.home-topbar nav { display: flex; }
.home-signin { align-items: center; border: 1px solid rgba(255,255,255,.24); border-radius: 999px; display: inline-flex; font-size: 13px; font-weight: 750; min-height: 44px; padding: 8px 14px; text-decoration: none; transition: background .2s ease, color .2s ease; }
.home-signin:hover { background: var(--action); color: var(--on-brand); }
.home-page { max-width: none; overflow: hidden; padding: 0; }
.home-hero { align-items: end; background: linear-gradient(135deg, var(--action-dark), var(--hero-depth) 64%, var(--day-warm)); color: #fff; display: grid; isolation: isolate; min-height: min(720px, calc(100svh - 94px)); overflow: hidden; padding: clamp(56px, 9vw, 130px) max(32px, calc((100vw - 1180px) / 2)) 64px; position: relative; }
.hero-photo { height: 100%; inset: 0; position: absolute; width: 100%; z-index: -3; }
.hero-photo img { display: block; height: 100%; object-fit: cover; object-position: center; width: 100%; }
.hero-veil { background: linear-gradient(90deg, var(--hero-veil-start) 0%, var(--hero-veil-middle) 33%, rgba(0,0,0,.23) 68%, rgba(0,0,0,.02) 100%), linear-gradient(0deg, rgba(0,0,0,.7), transparent 48%); inset: 0; position: absolute; z-index: -2; }
.home-hero-copy { max-width: 700px; }
.eyebrow { color: var(--accent-ink); font-size: 11px; font-weight: 850; letter-spacing: .16em; text-transform: uppercase; }
.hero-eyebrow { align-items: center; color: var(--lime); display: flex; gap: 10px; }
.hero-eyebrow span { background: currentColor; border-radius: 50%; height: 7px; width: 7px; }
.home-hero h1, .home-section h2, .home-bottom-cta h2 { font-family: Georgia, 'Times New Roman', serif; letter-spacing: -.07em; line-height: .9; }
.home-hero h1 { font-size: clamp(60px, 8.4vw, 112px); margin-top: 22px; max-width: 700px; }
.home-hero h1 em { color: var(--lime); font-style: italic; font-weight: 400; }
.home-section h2 em { color: var(--accent-ink); font-style: italic; font-weight: 400; }
.home-page a:focus-visible, .home-topbar a:focus-visible { outline:3px solid var(--focus-ring) !important; outline-offset:3px; box-shadow:0 0 0 3px var(--card) !important; }
.home-lede { color: rgba(255,255,255,.74); font-size: clamp(17px, 1.7vw, 21px); line-height: 1.5; margin-top: 30px; max-width: 535px; }
.home-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 22px; margin-top: 32px; }
.home-cta { background: var(--action); box-shadow: 0 14px 35px var(--day-glow); color: var(--on-brand); display: inline-flex; font-weight: 800; min-height: 52px; padding: 13px 20px; text-decoration: none; width: auto; }
.home-cta:hover { background: var(--lime) !important; color: var(--on-brand); }
.home-text-link { color: #fff; font-size: 14px; font-weight: 750; text-decoration: none; }
.home-text-link:hover { color: var(--lime); }
.hero-proof { display: flex; flex-wrap: wrap; gap: 16px 26px; margin-top: 48px; }
.hero-proof span { color: rgba(255,255,255,.55); font-size: 12px; }
.hero-proof b { color: #fff; font-weight: 800; }
.hero-insight { backdrop-filter: blur(14px); background: var(--hero-insight); border: 1px solid rgba(255,255,255,.28); border-radius: 20px; bottom: 50px; display: grid; gap: 7px; max-width: 230px; padding: 20px; position: absolute; right: max(32px, calc((100vw - 1180px) / 2)); }
.hero-insight p { color: var(--lime); font-size: 9px; font-weight: 850; letter-spacing: .12em; }.hero-insight strong { font-family: Georgia, serif; font-size: 23px; font-weight: 400; line-height: 1; }.hero-insight > span:last-child { color: rgba(255,255,255,.78); font-size: 12px; line-height: 1.4; }.insight-orb { align-items: center; background: var(--lime); border-radius: 50%; color: var(--on-brand); display: flex; font-size: 16px; height: 31px; justify-content: center; margin-bottom: 8px; width: 31px; }
.home-section { margin: 0 auto; max-width: 1180px; padding: 118px 32px; }.home-section h2 { color: var(--ink); font-size: clamp(46px, 6vw, 74px); margin-top: 15px; max-width: 820px; }.section-lede { color: var(--muted); font-size: 18px; line-height: 1.55; margin-top: 27px; max-width: 510px; }
.how-grid { display: grid; gap: 12px; grid-template-columns: repeat(4, 1fr); margin-top: 55px; }.how-grid article { background: linear-gradient(145deg, var(--day-wash), #fff); border: 1px solid var(--line); border-radius: 19px; min-height: 276px; padding: 23px; position: relative; transition: transform .25s ease, background .25s ease; }.how-grid article:hover { background: linear-gradient(145deg, var(--day-wash), var(--card)); transform: translateY(-6px); }.step-number { color: var(--accent-ink); font-size: 11px; font-weight: 850; letter-spacing: .1em; }.step-icon { color: var(--action-dark); display: block; font-family: Georgia, serif; font-size: 45px; line-height: 1; margin: 42px 0 23px; }.how-grid h3 { color: var(--ink); font-size: 18px; letter-spacing: -.02em; }.how-grid p { color: var(--muted); font-size: 13px; line-height: 1.55; margin-top: 9px; }
.home-trust { align-items: start; border-top: 1px solid var(--line); display: grid; gap: 80px; grid-template-columns: 1fr 1fr; }.trust-points { display: grid; gap: 0; }.trust-points p { border-bottom: 1px solid var(--line); display: grid; gap: 8px; padding: 20px 0 22px; }.trust-points p:first-child { padding-top: 0; }.trust-points strong { color: var(--ink); font-size: 16px; }.trust-points i { color: var(--action-dark); font-size: 11px; font-style: normal; margin-right: 12px; }.trust-points span { color: var(--muted); font-size: 14px; line-height: 1.55; max-width: 420px; }.trust-points a, .home-footer a { color: var(--accent-ink); font-weight: 750; }
.home-bottom-cta { align-items: center; background: linear-gradient(135deg, var(--action-dark), var(--hero-depth) 64%, var(--day-warm)); border-radius: 28px; display: flex; gap: 28px; justify-content: space-between; margin: 20px auto 84px; max-width: calc(1180px - 64px); overflow: hidden; padding: 48px; position: relative; }.home-bottom-cta::after { border: 1px solid var(--lime); border-radius: 50%; content: ''; height: 310px; opacity: .32; position: absolute; right: -110px; top: -180px; width: 310px; }.home-bottom-cta .eyebrow { color: var(--lime); }.home-bottom-cta h2 { color: #fff; font-size: clamp(42px, 5vw, 62px); margin-top: 15px; }.home-bottom-cta .home-cta { position: relative; z-index: 1; }
.home-footer { display: flex; justify-content: space-between; margin: 0 auto; max-width: 1180px; padding: 0 32px 38px; color: var(--muted); font-size: 13px; }.home-footer span:last-child { display: flex; gap: 18px; }

/* CalorieScale Next keeps the editorial home page visually related to the
   in-product scan surface: one green action, vibrant glass, no extra chrome. */
/* Header color, corners, and elevation inherit the shared Analyze branding. */
.home-hero { min-height:min(780px, calc(100svh - 94px)); }
.home-hero::after { background:radial-gradient(circle, rgba(198,255,36,.42), transparent 66%); border-radius:50%; content:""; filter:blur(2px); height:300px; opacity:.7; position:absolute; right:10%; top:9%; width:300px; z-index:-1; }
.home-hero h1 { font-family: ui-rounded, "Arial Rounded MT Bold", Inter, sans-serif; font-weight:900; letter-spacing:-.085em; }
.home-cta { border-radius:16px; box-shadow:0 16px 36px rgba(92,219,107,.38); }
.home-cta:hover { box-shadow:0 20px 42px rgba(198,255,36,.36); transform:translateY(-2px); }
.hero-proof span { backdrop-filter:blur(10px); background:rgba(4,16,23,.28); border:1px solid rgba(255,255,255,.14); border-radius:999px; padding:7px 10px; }
.how-grid article { border-color:rgba(0,108,58,.14); box-shadow:0 14px 30px rgba(4,16,23,.07); }
.how-grid article:nth-child(2) { background:linear-gradient(145deg,#e7ffac,#fff); }
.how-grid article:nth-child(3) { background:linear-gradient(145deg,#c8fff1,#fff); }
.how-grid article:nth-child(4) { background:linear-gradient(145deg,#dcf8ff,#fff); }
.home-bottom-cta { box-shadow:0 26px 58px rgba(0,76,68,.26); }
.home-signal { background:var(--brand-ink); color:#fff; margin:0; overflow:hidden; padding:clamp(72px,10vw,132px) max(22px,calc((100vw - 1116px) / 2)); position:relative; }
.home-signal::before { background:radial-gradient(circle,rgba(92,219,107,.48),transparent 66%); content:""; height:520px; position:absolute; right:-180px; top:-280px; width:520px; }
.signal-intro { position:relative; z-index:1; }.signal-intro .eyebrow { color:var(--lime); }.signal-intro h2 { font-family:ui-rounded,"Arial Rounded MT Bold",Inter,sans-serif; font-size:clamp(38px,5.5vw,72px); letter-spacing:-.075em; line-height:.96; margin-top:16px; max-width:15ch; }.signal-intro h2 em { color:var(--action); font-style:normal; }
.signal-grid { display:grid; gap:14px; grid-template-columns:1.15fr .85fr .85fr; margin-top:54px; position:relative; z-index:1; }.signal-card { border:1px solid rgba(255,255,255,.16); border-radius:24px; display:flex; flex-direction:column; min-height:270px; padding:24px; }.signal-card span { color:var(--lime); font-size:10px; font-weight:900; letter-spacing:.12em; }.signal-card strong { font-family:ui-rounded,"Arial Rounded MT Bold",Inter,sans-serif; font-size:clamp(24px,3vw,38px); letter-spacing:-.055em; line-height:.98; margin-top:auto; }.signal-card p { color:rgba(255,255,255,.7); font-size:14px; line-height:1.5; margin-top:15px; max-width:31ch; }.signal-scan { background:linear-gradient(145deg,rgba(92,219,107,.32),rgba(255,255,255,.08)); }.signal-trust { background:rgba(255,255,255,.08); }.signal-pattern { background:linear-gradient(145deg,rgba(198,255,36,.19),rgba(255,255,255,.07)); }
@media (max-width: 700px) { .home-signal { padding:76px 22px; }.signal-grid { grid-template-columns:1fr; margin-top:34px; }.signal-card { min-height:205px; }.signal-card strong { font-size:30px; } }
@media (max-width: 900px) { .hero-insight { display: none; }.home-hero { min-height: 660px; }.how-grid { grid-template-columns: 1fr 1fr; }.home-trust { gap: 45px; }.home-bottom-cta { margin-inline: 32px; max-width: none; } }
@media (max-width: 620px) { .home-topbar { padding-inline: 12px; }.home-topbar nav { display: none; }.home-hero { align-items: end; min-height: 690px; padding: 54px 22px 36px; }.hero-photo { z-index:0; }.hero-photo img { object-position: 52% center; }.hero-veil { background: linear-gradient(90deg, var(--hero-veil-start) 0%, var(--hero-veil-middle) 52%, rgba(0,0,0,.04) 100%), linear-gradient(0deg, rgba(0,0,0,.82), rgba(0,0,0,.02) 76%); z-index:1; }.home-hero-copy { position:relative; z-index:2; }.home-hero h1 { font-size: clamp(55px, 16vw, 82px); }.home-lede { font-size: 16px; }.hero-proof { gap: 9px 15px; margin-top: 32px; }.home-section { padding: 76px 22px; }.home-section h2 { font-size: clamp(45px, 14vw, 63px); }.how-grid, .home-trust { grid-template-columns: 1fr; }.how-grid { margin-top: 36px; }.how-grid article { min-height: 215px; }.step-icon { margin: 25px 0 17px; }.home-trust { gap: 42px; }.home-bottom-cta { align-items: start; border-radius: 20px; flex-direction: column; margin: 0 22px 62px; padding: 32px 25px; }.home-footer { display: grid; gap: 14px; padding: 0 22px 26px; } }
@media (min-width: 1920px) { .hero-photo { left:auto; right:0; width:1672px; } }
@media (max-width: 700px) {
  .home-topbar { align-items: flex-start; flex-direction: column; height: auto; padding: 6px 12px; }
  .home-topbar nav { display: flex; max-width: 100%; overflow-x: auto; padding-bottom: 3px; }
  .home-topbar .nav-link { flex-shrink: 0; padding-inline: 12px; white-space: nowrap; }
}
