/* KENVARA HACCP landing - local CSS */
:root {
      color-scheme: light;
      --bg: #f7f9f7;
      --surface: #ffffff;
      --surface-alt: #f0f5f1;
      --ink: #182921;
      --muted: #5a6d63;
      --subtle: #7b8c81;
      --border: #dfe8e0;
      --green: #136d55;
      --green-dark: #0b5945;
      --green-light: #e2f2e9;
      --amber: #ab7023;
      --amber-light: #fff2dd;
      --radius: 7px;
      --wrap: 1120px;
    }
    *, *::before, *::after { box-sizing: border-box; }
    html { scroll-behavior: smooth; scroll-padding-top: 90px; }
    body { margin: 0; background: var(--bg); color: var(--ink); font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; font-size: 15px; line-height: 1.57; -webkit-font-smoothing: antialiased; }
    a { color: inherit; text-decoration: none; }
    button, a { -webkit-tap-highlight-color: transparent; }
    a:focus-visible, summary:focus-visible { outline: 3px solid #55ac88; outline-offset: 3px; }
    .wrap { width: min(calc(100% - 48px), var(--wrap)); margin: 0 auto; }
    .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; }
    .skip-link { position: fixed; z-index: 100; top: 10px; left: 10px; padding: 9px 14px; background: white; transform: translateY(-140%); }
    .skip-link:focus { transform: none; }
    .site-header { position: sticky; top: 0; z-index: 20; border-bottom: 1px solid rgba(220,229,223,.88); background: rgba(247,249,247,.95); backdrop-filter: blur(15px); }
    .header-inner { min-height: 65px; display: flex; align-items: center; gap: 26px; }
    .brand { display: inline-flex; align-items: center; gap: 10px; white-space: nowrap; }
    .brand-mark { display: inline-grid; place-items: center; width: 30px; height: 30px; background: var(--ink); color: white; font-size: 19px; font-weight: 800; line-height: 1; border-radius: 5px; letter-spacing: -.08em; padding-right: 2px; }
    .brand-name { font-size: 16px; font-weight: 760; letter-spacing: .025em; }
    .brand-product { color: var(--green); border-left: 1px solid #c6d2c9; padding-left: 10px; margin-left: 2px; font-weight: 740; font-size: 12px; letter-spacing: .075em; }
    .top-nav { display: flex; gap: 26px; margin-left: auto; align-items: center; }
    .top-nav a { color: #44564c; font-size: 13px; font-weight: 550; transition: color .15s; }
    .top-nav a:hover, .simple-link:hover { color: var(--green); }
    .header-cta { flex-shrink: 0; margin-left: 6px; }
    .btn { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 42px; padding: 9px 17px; font-size: 13px; line-height: 1.3; font-weight: 700; border: 1px solid transparent; border-radius: 5px; transition: background .15s, transform .15s, border-color .15s; }
    .btn:hover { transform: translateY(-1px); }
    .btn svg { flex-shrink: 0; }
    .btn-primary { background: var(--green); color: white; }
    .btn-primary:hover { background: var(--green-dark); }
    .btn-light { background: #fff; color: var(--ink); border-color: #d6e1d9; }
    .btn-light:hover { background: #f3f8f5; border-color: #acc7b7; }
    .btn-white { background: white; color: #14593f; }
    .btn-white:hover { background: #eef8f1; }
    .muted { color: var(--muted); }
    .eyebrow { color: var(--green); font-weight: 800; letter-spacing: .11em; text-transform: uppercase; font-size: 11px; }
    .status { display: inline-flex; align-items: center; gap: 7px; border-radius: 4px; border: 1px solid #d1e5d7; padding: 5px 9px; font-weight: 680; font-size: 11px; background: #eaf5ed; color: #256649; }
    .status-dot { width: 6px; height: 6px; border-radius: 50%; background: #5d9e73; }
    h1, h2, h3, p { margin-top: 0; }
    h1, h2, h3 { line-height: 1.18; letter-spacing: -.032em; }
    h1 { font-size: clamp(34px, 4vw, 49px); font-weight: 760; max-width: 670px; margin-bottom: 19px; }
    h2 { font-size: clamp(25px, 3vw, 32px); font-weight: 760; margin-bottom: 12px; }
    h3 { font-size: 16px; font-weight: 750; margin-bottom: 9px; }
    .lead { font-size: clamp(16px,1.6vw,18px); color: #566960; line-height: 1.65; max-width: 590px; }
    .hero { padding: 72px 0 66px; overflow: hidden; }
    .hero-grid { display: grid; grid-template-columns: minmax(0,1.04fr) minmax(0,.96fr); gap: 66px; align-items: center; }
    .hero-topline { display: flex; flex-wrap: wrap; align-items: center; gap: 11px; margin-bottom: 20px; }
    .hero p.lead { margin-bottom: 25px; }
    .hero-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
    .hero-foot { display: flex; align-items: flex-start; gap: 9px; margin-top: 23px; font-size: 12px; color: var(--subtle); max-width: 510px; }
    .hero-foot svg { flex: 0 0 16px; margin-top: 2px; color: #61927a; }
    .demo { background: white; border: 1px solid #d9e4dc; border-radius: 9px; box-shadow: 0 16px 52px rgba(34,68,47,.075), 0 2px 6px rgba(34,68,47,.025); overflow: hidden; }
    .demo-top { background: #173c30; color: white; display: flex; align-items: center; justify-content: space-between; padding: 16px 19px; gap: 15px; }
    .demo-title { font-size: 14px; font-weight: 750; letter-spacing: -.01em; }
    .demo-subtitle { color: #b9d1c5; font-size: 11px; margin-top: 2px; }
    .demo-indicator { color: #cfe5d9; font-size: 10px; padding: 5px 8px; border: 1px solid #547264; border-radius: 4px; white-space: nowrap; }
    .demo-inner { padding: 18px 19px 16px; }
    .demo-rowhead { display: flex; align-items: center; justify-content: space-between; gap: 10px; font-size: 12px; color: var(--muted); margin-bottom: 10px; }
    .demo-rowhead strong { color: var(--ink); font-weight: 800; font-size: 13px; }
    .bar { height: 6px; background: #ecf1ed; border-radius: 4px; overflow: hidden; }
    .bar > span { display: block; width: 75%; height: 100%; background: #2f9371; }
    .demo-tasks { margin-top: 15px; border: 1px solid var(--border); border-radius: 6px; overflow: hidden; }
    .demo-task { display: grid; grid-template-columns: 24px 1fr auto; align-items: center; gap: 10px; padding: 11px 12px; background: #fff; font-size: 12px; }
    .demo-task + .demo-task { border-top: 1px solid #edf1ed; }
    .demo-icon { display: inline-grid; place-items: center; width: 22px; height: 22px; border-radius: 5px; background: #e4f3eb; color: #1c8061; font-size: 13px; font-weight: 800; }
    .demo-icon.pending { background: #fff0d9; color: #a46f29; }
    .demo-task-title { font-weight: 700; line-height: 1.4; }
    .demo-task-description { color: var(--subtle); font-size: 11px; }
    .demo-task-status { font-size: 10px; color: #237657; font-weight: 700; white-space: nowrap; }
    .demo-task-status.pending { color: #a66a21; }
    .demo-alert { display: flex; gap: 10px; padding: 11px 13px; background: #fff8e9; border: 1px solid #f2e0bb; border-radius: 5px; margin-top: 12px; }
    .demo-alert svg { color: #bd802c; flex-shrink: 0; }
    .demo-alert strong { display: block; color: #744f1c; font-size: 11px; }
    .demo-alert span { display: block; color: #876d48; font-size: 11px; margin-top: 2px; }
    .demo-caption { text-align: center; color: var(--subtle); font-size: 10px; margin: 10px 0 0; }
    .audience-strip { border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); background: #f0f4f0; }
    .audience-inner { display: flex; flex-wrap: wrap; align-items: center; column-gap: 33px; row-gap: 14px; min-height: 65px; padding-block: 12px; }
    .audience-inner strong { font-size: 12px; color: #364d40; white-space: nowrap; }
    .audience-inner span { font-size: 12px; color: #647569; }
    section.section { padding: 70px 0; }
    .section-heading { max-width: 650px; margin-bottom: 29px; }
    .section-heading p { color: var(--muted); font-size: 15px; margin-bottom: 0; }
    .section-heading .eyebrow { display: block; margin-bottom: 11px; }
    .problem-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
    .problem { background: #fff; border: 1px solid var(--border); border-radius: var(--radius); padding: 24px; }
    .problem-tag { display: inline-block; color: #84938a; font-size: 11px; font-weight: 760; margin-bottom: 16px; }
    .problem p { color: var(--muted); font-size: 13px; margin: 0; }
    .features-area { background: white; border-top: 1px solid #e5ece6; border-bottom: 1px solid #e5ece6; }
    .feature-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 13px; }
    .feature { min-height: 205px; padding: 23px; border: 1px solid #e0e8e2; border-radius: var(--radius); background: #fff; }
    .feature-icon { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 6px; background: #eaf5ed; color: var(--green); margin-bottom: 22px; }
    .feature-icon svg { width: 19px; height: 19px; }
    .feature p { color: var(--muted); margin: 0; font-size: 13px; }
    .section-note { font-size: 12px; color: var(--subtle); margin: 15px 0 0; }
    .steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px; }
    .step-num { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid #c8dacd; color: var(--green); background: #edf5ef; border-radius: 5px; font-weight: 800; margin-bottom: 19px; font-size: 12px; }
    .step p { color: var(--muted); font-size: 13px; margin: 0; }
    .highlight { border: 1px solid #d7e4dc; background: #f1f6f1; padding: 25px 29px; margin-top: 34px; border-radius: var(--radius); display: flex; justify-content: space-between; align-items: center; gap: 20px; }
    .highlight strong { display: block; font-size: 15px; margin-bottom: 4px; }
    .highlight p { margin: 0; color: var(--muted); font-size: 13px; max-width: 700px; }
    .faq { background: #fff; border-top: 1px solid #e5ece6; }
    .faq-wrap { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 70px; }
    .faq-list { border-top: 1px solid var(--border); }
    details { border-bottom: 1px solid var(--border); }
    summary { padding: 16px 33px 16px 0; cursor: pointer; list-style: none; position: relative; font-size: 14px; font-weight: 730; }
    summary::-webkit-details-marker { display: none; }
    summary::after { content: '+'; position: absolute; right: 3px; top: 13px; font-size: 20px; font-weight: 400; color: var(--green); }
    details[open] summary::after { content: '−'; }
    details p { font-size: 13px; color: var(--muted); margin: 0 0 17px; padding-right: 20px; }
    .cta-section { padding: 64px 0 74px; }
    .cta-banner { background: #183f32; padding: 39px 42px; border-radius: var(--radius); color: #fff; display: flex; justify-content: space-between; gap: 30px; align-items: center; }
    .cta-banner .eyebrow { color: #a4d2b8; }
    .cta-banner h2 { font-size: clamp(24px,2.7vw,30px); max-width: 590px; margin: 11px 0 10px; }
    .cta-banner p { margin-bottom: 0; max-width: 580px; color: #c4d9ce; font-size: 13px; }
    .cta-actions { flex-shrink: 0; display: flex; flex-direction: column; gap: 9px; }
    .cta-secondary { color: #ddf0e4; text-decoration: underline; text-underline-offset: 3px; font-size: 12px; text-align: center; }
    .site-footer { border-top: 1px solid var(--border); padding: 25px 0 30px; }
    .footer-inner { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; column-gap: 25px; row-gap: 12px; }
    .footer-copy { color: #738379; font-size: 12px; }
    .footer-links { display: flex; flex-wrap: wrap; gap: 18px; }
    .footer-links a { font-size: 12px; color: #597065; }
    .footer-links a:hover { color: var(--green); }
    @media (max-width: 970px) {
      .hero-grid { gap: 30px; }
      .top-nav { gap: 15px; }
      .audience-inner { column-gap: 18px; }
    }
    @media (max-width: 790px) {
      .wrap { width: min(calc(100% - 36px), var(--wrap)); }
      .top-nav { display: none; }
      .header-cta { margin-left: auto; }
      .hero { padding: 51px 0 46px; }
      .hero-grid { grid-template-columns: 1fr; gap: 35px; }
      h1 { max-width: 680px; }
      .demo { max-width: 620px; }
      section.section { padding: 52px 0; }
      .problem-grid { grid-template-columns: 1fr; }
      .feature-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
      .steps { gap: 18px; }
      .faq-wrap { grid-template-columns: 1fr; gap: 20px; }
      .cta-banner { align-items: flex-start; }
    }
    @media (max-width: 570px) {
      .wrap { width: min(calc(100% - 32px), var(--wrap)); }
      .header-inner { min-height: 58px; gap: 8px; }
      .brand { gap: 7px; }
      .brand-name { font-size: 14px; }
      .brand-mark { width: 27px; height: 27px; font-size: 17px; }
      .brand-product { font-size: 10px; padding-left: 7px; }
      .header-cta { min-height: 34px; font-size: 11px; padding: 8px 9px; }
      .hero { padding: 40px 0 37px; }
      h1 { font-size: clamp(30px,8vw,39px); }
      h2 { font-size: 25px; }
      .lead { font-size: 15px; }
      .hero-actions { align-items: stretch; }
      .hero-actions .btn { flex: 1 1 140px; }
      .demo-inner { padding: 13px; }
      .demo-top { padding: 13px; }
      .demo-task { grid-template-columns: 22px 1fr; gap: 8px; }
      .demo-task-status { display: none; }
      .audience-inner { gap: 8px 16px; }
      .audience-inner strong { width: 100%; }
      .feature-grid, .steps { grid-template-columns: 1fr; }
      .feature { min-height: unset; padding: 20px; }
      .feature-icon { margin-bottom: 14px; }
      .steps { gap: 25px; }
      .step-num { margin-bottom: 10px; }
      .highlight { padding: 20px; flex-direction: column; align-items: flex-start; }
      .cta-section { padding: 40px 0 48px; }
      .cta-banner { padding: 26px 22px; flex-direction: column; gap: 23px; }
      .cta-actions { width: 100%; }
      .cta-actions .btn { width: 100%; }
    }
    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior: auto; }
      *, *::before, *::after { transition-duration: 0s !important; }
    }
