  :root {
    --cream:#F5F4E6;
    --cream-raised:#FCF8EC;
    --ink:#3a2c18;
    --ink-strong:#2a1f10;
    --ink-soft:#6b5a40;
    --green:#44AA09;          /* kiwi green — fills, dark text on top */
    --green-deep:#387608;     /* accent text / links on cream (4.6:1) */
    --green-bright:#9AF44B;   /* accent on dark sections */
    --brown:#46341E;
    --on-green:#0a1500;       /* dark text on green fills (6.5:1) */
    --band-1:#1f4310;         /* honesty band gradient — deep kiwi green */
    --band-2:#0a1500;         /* = on-green, the brand's darkest green */
    --hairline:#e3decb;
    --shadow:0 18px 50px -22px rgba(70,52,30,.45);
    --shadow-sm:0 6px 22px -12px rgba(70,52,30,.4);
    --maxw:1080px;
    --radius:22px;
    --font: ui-rounded, "SF Pro Rounded", -apple-system, BlinkMacSystemFont, "Segoe UI", "Nunito", system-ui, sans-serif;
  }
  * { box-sizing:border-box; }
  html { scroll-behavior:smooth; }
  body {
    margin:0; font-family:var(--font);
    color:var(--ink); background:var(--cream);
    line-height:1.6; -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
  }
  h1,h2,h3 { color:var(--ink-strong); line-height:1.08; letter-spacing:-.02em; margin:0 0 .5em; font-weight:800; }
  h2 { font-size:clamp(1.9rem,4.4vw,2.9rem); }
  h3 { font-size:1.25rem; letter-spacing:-.01em; }
  p { margin:0 0 1rem; }
  a { color:var(--green-deep); text-decoration:none; font-weight:600; }
  a:hover { text-decoration:underline; }
  img { display:block; max-width:100%; }
  .wrap { max-width:var(--maxw); margin:0 auto; padding:0 22px; }
  .eyebrow {
    font-size:.82rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase;
    color:var(--green-deep); margin:0 0 .8rem;
  }
  .muted { color:var(--ink-soft); }

  /* buttons */
  .btn {
    display:inline-flex; align-items:center; gap:.5rem; font-weight:800; font-size:1rem;
    padding:.85rem 1.5rem; border-radius:999px; border:2px solid transparent; cursor:pointer;
    transition:transform .15s ease, box-shadow .15s ease;
  }
  .btn--primary { background:var(--green); color:var(--on-green); box-shadow:var(--shadow-sm); }
  .btn--primary:hover { transform:translateY(-2px); text-decoration:none; box-shadow:0 14px 30px -14px rgba(56,118,8,.7); }
  .btn--ghost { background:transparent; color:var(--ink-strong); border-color:var(--hairline); }
  .btn--ghost:hover { border-color:var(--green); text-decoration:none; }
  .btn--bright { background:var(--green-bright); color:var(--on-green); }
  .btn--bright:hover { transform:translateY(-2px); text-decoration:none; }

  /* header */
  header.site {
    position:sticky; top:0; z-index:50;
    background:rgba(245,244,230,.82); backdrop-filter:saturate(1.4) blur(12px);
    border-bottom:1px solid var(--hairline);
  }
  .navbar { display:flex; align-items:center; gap:1rem; padding:.7rem 0; }
  .brand { display:flex; align-items:center; gap:.6rem; font-weight:800; color:var(--ink-strong); font-size:1.1rem; }
  .brand img { width:34px; height:34px; border-radius:9px; box-shadow:var(--shadow-sm); }
  .navlinks { margin-left:auto; display:flex; align-items:center; gap:1.4rem; }
  .navlinks a { color:var(--ink); font-weight:600; }
  .navlinks .btn { padding:.55rem 1.1rem; font-size:.95rem; }
  @media (max-width:760px){ .navlinks a:not(.btn){ display:none; } }

  /* hero */
  .hero { position:relative; overflow:hidden; }
  .hero::before {
    content:""; position:absolute; inset:0; z-index:0;
    background:
      radial-gradient(120% 80% at 85% -10%, #ffe6a8 0%, rgba(255,230,168,0) 55%),
      radial-gradient(90% 70% at 10% 110%, #cfeebb 0%, rgba(207,238,187,0) 60%),
      linear-gradient(180deg,#fbf6e4 0%, var(--cream) 70%);
  }
  .hero .wrap { position:relative; z-index:1; display:grid; grid-template-columns:1.1fr .9fr; gap:48px; align-items:center; padding-top:64px; padding-bottom:72px; }
  .hero h1 { font-size:clamp(2.5rem,6vw,4rem); }
  .hero .lede { font-size:clamp(1.1rem,2.2vw,1.3rem); color:var(--ink); max-width:36ch; }
  .hero-cta { display:flex; flex-wrap:wrap; gap:.8rem; margin-top:1.6rem; align-items:center; }
  .hero-micro { margin-top:1rem; font-size:.9rem; color:var(--ink-soft); }
  .hero-art { position:relative; }
  .hero-art .scene {
    border-radius:28px; box-shadow:var(--shadow); aspect-ratio:9/13; width:100%;
    object-fit:cover; object-position:center 60%; border:6px solid var(--cream-raised);
  }
  .hero-art .badge {
    position:absolute; left:-14px; bottom:18px; display:flex; align-items:center; gap:.6rem;
    background:var(--cream-raised); border:1px solid var(--hairline); border-radius:16px;
    padding:.6rem .85rem; box-shadow:var(--shadow-sm); font-weight:700; color:var(--ink-strong); font-size:.92rem;
  }
  .hero-art .badge img { width:40px; height:40px; border-radius:11px; }
  @media (max-width:860px){
    .hero .wrap { grid-template-columns:1fr; gap:34px; padding-top:42px; padding-bottom:48px; }
    .hero-art { max-width:340px; }
  }

  /* generic section */
  section { padding:74px 0; }
  section.raised { background:var(--cream-raised); border-top:1px solid var(--hairline); border-bottom:1px solid var(--hairline); }
  .section-head { max-width:42ch; margin-bottom:42px; }
  .section-head.center { margin-left:auto; margin-right:auto; text-align:center; }

  /* "why kiwi" compare cards */
  .compare { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
  .ccard { background:var(--cream); border:1px solid var(--hairline); border-radius:var(--radius); padding:26px; }
  .ccard.them { background:var(--cream-raised); }
  .ccard.kiwi { background:linear-gradient(170deg,#eaf6dc,#dff0c8); border-color:#c4e3a0; box-shadow:var(--shadow-sm); }
  .ccard .tag { font-size:.78rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:.5rem; }
  .ccard.kiwi .tag { color:var(--green-deep); }
  .ccard h3 { margin-bottom:.4rem; }
  .ccard .quote { font-style:italic; color:var(--brown); margin:.6rem 0; }
  .ccard ul { margin:.6rem 0 0; padding-left:1.1rem; }
  .ccard li { margin:.3rem 0; }
  @media (max-width:820px){ .compare { grid-template-columns:1fr; } }
  /* personas: two-up on tablet+, stack on phones (inline style would beat the media query) */
  .compare.duo { grid-template-columns:repeat(2,1fr); }
  @media (max-width:560px){ .compare.duo { grid-template-columns:1fr; } }

  /* comparison table */
  .cmp-wrap { overflow-x:auto; -webkit-overflow-scrolling:touch; }
  table.cmp { width:100%; border-collapse:collapse; min-width:680px; }
  table.cmp th, table.cmp td { padding:13px 14px; border-bottom:1px solid var(--hairline); text-align:center; }
  table.cmp thead th { font-size:1rem; font-weight:800; color:var(--ink-strong); vertical-align:bottom; }
  table.cmp tbody th { text-align:left; font-weight:600; color:var(--ink); }
  table.cmp col.kiwicol { background:linear-gradient(180deg,#eaf6dc,#dff0c8); }
  table.cmp thead .kiwi-h { color:var(--green-deep); }
  table.cmp .yes { color:var(--green-deep); font-weight:800; font-size:1.05rem; }
  table.cmp .par { color:var(--ink-soft); font-weight:700; }
  table.cmp .lim { color:var(--brown); font-weight:700; }
  table.cmp .no  { color:var(--ink-soft); }
  table.cmp tr.grp th { text-align:left; padding:24px 14px 7px; font-size:.72rem; font-weight:800; letter-spacing:.07em; text-transform:uppercase; color:var(--green-deep); border-bottom:2px solid var(--hairline); background:var(--cream-raised); }
  .cmp-note { font-size:.88rem; color:var(--ink-soft); margin-top:16px; max-width:64ch; }

  /* feature rows */
  .feature { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; }
  .feature + .feature { margin-top:64px; }
  .feature.flip .ftext { order:2; }
  .feature .ftext h3 { font-size:clamp(1.6rem,3.4vw,2.3rem); }
  .feature .fkicker { font-weight:800; color:var(--green-deep); margin:0 0 .4rem; }
  .feature .fart img { border-radius:24px; box-shadow:var(--shadow); aspect-ratio:9/12; object-fit:cover; object-position:center bottom; width:100%; border:6px solid var(--cream-raised); }
  @media (max-width:820px){
    .feature, .feature.flip { grid-template-columns:1fr; gap:24px; }
    .feature.flip .ftext { order:0; }
    .feature .fart { max-width:320px; }
  }

  /* feature mini-grid */
  .grid3 { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
  .tile { background:var(--cream); border:1px solid var(--hairline); border-radius:var(--radius); padding:24px; }
  .tile .ic { width:46px; height:46px; border-radius:13px; display:grid; place-items:center; font-size:1.4rem; background:#eaf6db; margin-bottom:.9rem; }
  .tile h3 { font-size:1.1rem; }
  .tile p { margin:0; color:var(--ink-soft); font-size:.97rem; }
  @media (max-width:820px){ .grid3 { grid-template-columns:1fr; } }

  /* voice-command card */
  .cmd-card { background:var(--cream-raised); border:1px solid var(--hairline); border-radius:var(--radius); padding:28px; margin-bottom:56px; }
  .cmd-card h3 { margin-bottom:.2rem; }
  .cmd-card > p.muted { margin-bottom:1.1rem; }
  .cmd-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:14px 28px; }
  .cmd-grid > div { display:flex; flex-direction:column; gap:.1rem; padding-left:1.55rem; position:relative; }
  .cmd-grid > div::before { content:"🥝"; position:absolute; left:0; top:.05rem; font-size:.95rem; }
  .cmd-grid strong { color:var(--ink-strong); }
  .cmd-grid .muted { font-size:.92rem; }
  @media (max-width:560px){ .cmd-grid { grid-template-columns:1fr; } }

  /* honesty band (deep kiwi green) */
  .band {
    background:linear-gradient(160deg,var(--band-1),var(--band-2));
    color:#eaf0e2; border:0;
  }
  .band h2 { color:#fff; }
  .band .eyebrow { color:var(--green-bright); }
  .band p { color:#d4ddca; }
  .band .pillars { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:8px; }
  .band .pillar { background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.12); border-radius:var(--radius); padding:22px; }
  .band .pillar h3 { color:#fff; }
  .band .pillar p { margin:0; color:#cfd9c2; font-size:.97rem; }
  @media (max-width:820px){ .band .pillars { grid-template-columns:1fr; } }

  /* pricing */
  .price-card {
    max-width:460px; margin:0 auto; background:var(--cream-raised); border:1px solid var(--hairline);
    border-radius:26px; padding:34px; text-align:center; box-shadow:var(--shadow-sm);
  }
  .price-card .plan { font-weight:800; color:var(--green-deep); letter-spacing:.04em; text-transform:uppercase; font-size:.85rem; }
  .price-card .amount { font-size:2.2rem; font-weight:800; color:var(--ink-strong); margin:.3rem 0; }
  .price-card ul { text-align:left; margin:1.2rem 0 1.6rem; padding:0; list-style:none; }
  .price-card li { padding:.4rem 0 .4rem 1.7rem; position:relative; }
  .price-card li::before { content:"🥝"; position:absolute; left:0; }

  /* faq */
  .faq { max-width:760px; margin:0 auto; }
  details {
    background:var(--cream-raised); border:1px solid var(--hairline); border-radius:16px;
    padding:0 20px; margin-bottom:12px;
  }
  details[open] { box-shadow:var(--shadow-sm); }
  summary {
    cursor:pointer; font-weight:700; color:var(--ink-strong); padding:18px 0; list-style:none;
    display:flex; justify-content:space-between; align-items:center; gap:1rem;
  }
  summary::-webkit-details-marker { display:none; }
  summary::after { content:"+"; font-size:1.5rem; color:var(--green-deep); font-weight:400; transition:transform .2s; }
  details[open] summary::after { transform:rotate(45deg); }
  details .ans { padding:0 0 18px; color:var(--ink); }

  /* final cta */
  .finalcta { text-align:center; }
  .finalcta .box {
    background:linear-gradient(170deg,#eaf6dc,#d7eebf); border:1px solid #c4e3a0;
    border-radius:30px; padding:54px 28px; box-shadow:var(--shadow-sm);
  }

  /* footer */
  footer.site { background:var(--cream-raised); border-top:1px solid var(--hairline); padding:40px 0; }
  .foot { display:flex; flex-wrap:wrap; gap:18px 28px; align-items:center; }
  .foot .brand { font-size:1rem; }
  .foot nav { margin-left:auto; display:flex; flex-wrap:wrap; gap:18px; }
  .foot small { color:var(--ink-soft); }
  .foot .legal { width:100%; color:var(--ink-soft); font-size:.85rem; margin-top:6px; }

  /* scroll reveal */
  .reveal { opacity:0; transform:translateY(18px); transition:opacity .6s ease, transform .6s ease; }
  .reveal.in { opacity:1; transform:none; }
  @media (prefers-reduced-motion:reduce){ .reveal { opacity:1; transform:none; transition:none; } html{ scroll-behavior:auto; } }

  /* language switcher — native <select>, dependency-free, visible on mobile */
  .langsel{font-family:inherit;font-size:.9rem;font-weight:600;color:var(--ink);
    background-color:var(--cream-raised);border:1px solid var(--hairline);border-radius:999px;
    padding:.45rem 2.1rem .45rem .9rem;cursor:pointer;max-width:11rem;
    -webkit-appearance:none;-moz-appearance:none;appearance:none;
    background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2012%208'%20fill='none'%20stroke='%233a2c18'%20stroke-width='1.8'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M1.5%202%206%206.5%2010.5%202'/%3E%3C/svg%3E");
    background-repeat:no-repeat;background-position:right .85rem center;background-size:.7rem;}
  .langsel:hover{border-color:var(--green);}
  .navbar .brand{white-space:nowrap;}
  @media (max-width:760px){
    .navbar{gap:.5rem;}
    .navbar .brand{font-size:.98rem;gap:.4rem;}
    .navbar .brand img{width:28px;height:28px;}
    .navlinks{gap:.5rem;}
    .langsel{max-width:6rem;font-size:.8rem;padding:.4rem .55rem;}
  }

  /* === real product shots, trust, attribution CTAs (marketing-audit) === */
  /* real device screenshots */
  .shot { border-radius:16px; box-shadow:var(--shadow); display:block; width:100%; height:auto; border:6px solid var(--cream-raised); }
  .cmd-shot { margin:0 0 22px; }
  .cmd-shot .shot { max-width:560px; }
  .feature .fart.wide img { aspect-ratio:16/9; height:auto; object-fit:cover; object-position:center; }
  .shots-iphone { display:flex; gap:26px; justify-content:center; flex-wrap:wrap; margin-bottom:46px; }
  .shots-iphone figure { margin:0; max-width:230px; }
  .shots-iphone .shot { border-radius:30px; border-width:8px; }
  .shots-iphone figcaption { font-size:.9rem; color:var(--ink-soft); text-align:center; margin-top:.6rem; }
  /* reassurance microcopy under CTAs */
  .cta-reassure { margin-top:.7rem; font-size:.85rem; color:var(--ink-soft); }
  .band .cta-reassure { color:#cfd9c2; }
  /* honest privacy proof inside the honesty band */
  .trust-proof { margin-top:18px; font-size:.97rem; color:#e7eede; max-width:62ch; }
  .trust-proof strong { color:#fff; }
  /* mid-page CTA right after the comparison table's peak conviction */
  .cmp-cta { text-align:center; margin-top:34px; }
  .cmp-cta p { font-weight:700; color:var(--ink-strong); margin:0 0 .9rem; }
  /* visually hidden — present for crawlers & screen readers, off-screen visually */
  .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
  /* mobile sticky install bar (appears once the hero scrolls away) */
  .sticky-cta { position:fixed; left:0; right:0; bottom:0; z-index:60; display:none;
    padding:.7rem 16px calc(.7rem + env(safe-area-inset-bottom));
    background:rgba(245,244,230,.94); backdrop-filter:saturate(1.4) blur(12px); border-top:1px solid var(--hairline); }
  .sticky-cta .btn { width:100%; justify-content:center; }
  .sticky-cta.show { display:block; }
  @media (min-width:861px){ .sticky-cta { display:none !important; } }
