:root{
    --ink:#080B14;
    --navy:#0A1451;
    --blue:#17337A;
    --accent:#6FB1E8;
    --paper:#F5F2EA;
    --paper-2:#E8EEF4;
    --ink-soft:#6B7280;
    --line:#DEDACB;
    --font-body:'Pretendard','Noto Sans KR',sans-serif;
    --font-mono:'Pretendard','Noto Sans KR',sans-serif;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    font-family:var(--font-body);
    background:var(--paper);
    color:#14171F;
    overflow-x:hidden;
    word-break:keep-all;
  }
  .voice{font-family:var(--font-body);}
  a{color:inherit;text-decoration:none;}
  img{display:block;max-width:100%;}

  /* ---------- nav ---------- */
  nav{
    position:fixed;top:0;left:0;right:0;z-index:50;
    display:flex;align-items:center;justify-content:space-between;
    padding:20px 40px;
    background:rgba(8,11,20,0.72);
    backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
    border-bottom:1px solid rgba(255,255,255,0.08);
  }
  nav img{height:28px;}
  nav ul{list-style:none;display:flex;gap:36px;}
  nav a{font-size:15px;color:#fff;letter-spacing:0.02em;}

  /* ---------- prologue ---------- */
  .prologue-wrap{position:relative;height:100vh;background:var(--ink);}
  .prologue-pin{
    position:sticky;top:0;height:100vh;
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    overflow:hidden;
  }
  .pulse-field{position:relative;width:260px;height:260px;margin-bottom:56px;}
  .pulse-scene{position:absolute;inset:0;opacity:0;transition:opacity 0.7s ease;}
  .pulse-scene.active{opacity:1;}
  .scene-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;}

  .ring{
    position:absolute;inset:0;border-radius:50%;
    border:1px solid rgba(111,177,232,0.55);
    box-shadow:0 0 16px rgba(111,177,232,0.25);
    animation:ringpulse 3.2s ease-out infinite;
  }
  .ring.r2{animation-delay:0.8s;}
  .ring.r3{animation-delay:1.6s;}
  .ring.r4{animation-delay:2.4s;}
  @keyframes ringpulse{
    0%{transform:scale(0.1);opacity:1;border-width:2px;}
    100%{transform:scale(1);opacity:0;border-width:0.5px;}
  }
  .core-dot{
    position:absolute;top:50%;left:50%;width:9px;height:9px;
    margin:-4.5px 0 0 -4.5px;border-radius:50%;background:var(--accent);
    box-shadow:0 0 14px 4px rgba(111,177,232,0.6);
    animation:dotPulse 2.2s ease-in-out infinite;
  }
  @keyframes dotPulse{
    0%,100%{transform:scale(1);box-shadow:0 0 14px 4px rgba(111,177,232,0.6);}
    50%{transform:scale(1.7);box-shadow:0 0 22px 8px rgba(111,177,232,0.9);}
  }

  /* scene 0 — heartbeat */
  .ecg-path{fill:none;stroke:var(--accent);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;
    stroke-dasharray:100;stroke-dashoffset:100;pathLength:100;
    animation:ecgDraw 2.2s linear infinite;filter:drop-shadow(0 0 4px rgba(111,177,232,0.6));}
  @keyframes ecgDraw{0%{stroke-dashoffset:100;}55%{stroke-dashoffset:0;}100%{stroke-dashoffset:0;}}
  .hb-dot{animation:hbPulse 2.2s ease-in-out infinite;}
  @keyframes hbPulse{
    0%,100%{transform:scale(1);box-shadow:0 0 14px 4px rgba(111,177,232,0.6);}
    27%{transform:scale(1.55);box-shadow:0 0 20px 6px rgba(111,177,232,0.9);}
    33%{transform:scale(1);}
    38%{transform:scale(1.3);}
    44%{transform:scale(1);}
  }

  /* scene 1 — a wave passing through a point */
  .axis-line{stroke:var(--accent);stroke-width:1.4;opacity:0.32;}
  .cross-ring{fill:none;stroke:var(--accent);stroke-width:1;opacity:0;
    transform-box:fill-box;transform-origin:center;animation:crossPulse 1.6s ease-out infinite;}
  @keyframes crossPulse{0%,100%{opacity:0;transform:scale(0.3);}50%{opacity:0.55;transform:scale(1.5);}}
  .wd{fill:var(--accent);opacity:0;transform-box:fill-box;transform-origin:center;animation:passX 3.2s ease-in-out infinite;}
  @keyframes passX{
    0%{transform:translateX(-10px) scale(0.7);opacity:0;}
    10%{opacity:0.7;}
    46%{transform:translateX(120px) scale(0.7);opacity:0.7;}
    50%{transform:translateX(130px) scale(1.7);opacity:1;}
    54%{transform:translateX(140px) scale(0.7);opacity:0.7;}
    90%{opacity:0.7;}
    100%{transform:translateX(270px) scale(0.7);opacity:0;}
  }

  /* scene 2 — a signal reaching another point */
  .src-dot{fill:var(--accent);filter:drop-shadow(0 0 5px rgba(111,177,232,0.8));}
  .rcv-dot{fill:var(--accent);transform-box:fill-box;transform-origin:center;animation:rcvPulse 2.4s ease-in-out infinite;}
  @keyframes rcvPulse{
    0%,55%{transform:scale(1);filter:drop-shadow(0 0 3px rgba(111,177,232,0.4));}
    65%{transform:scale(1.7);filter:drop-shadow(0 0 12px rgba(111,177,232,0.9));}
    100%{transform:scale(1);filter:drop-shadow(0 0 3px rgba(111,177,232,0.4));}
  }
  .wave-ring{fill:none;stroke:var(--accent);stroke-width:1.4;opacity:0;
    transform-box:fill-box;transform-origin:center;animation:voiceOut 2.4s ease-out infinite;}
  .wr2{animation-delay:0.8s;}
  .wr3{animation-delay:1.6s;}
  @keyframes voiceOut{0%{transform:scale(1);opacity:0.9;}100%{transform:scale(7);opacity:0;}}

  /* scene 3 — one visible point on a long line */
  .spec-line{stroke:var(--accent);stroke-width:1.2;opacity:0.28;}
  .spec-point{fill:var(--accent);transform-box:fill-box;transform-origin:center;
    animation:specDot 2.4s ease-in-out infinite;filter:drop-shadow(0 0 6px rgba(111,177,232,0.7));}
  @keyframes specDot{0%,100%{transform:scale(1);}50%{transform:scale(1.8);}}
  .spec-ring{fill:none;stroke:var(--accent);stroke-width:1;opacity:0;
    transform-box:fill-box;transform-origin:center;animation:specRing 2.4s ease-out infinite;}
  @keyframes specRing{0%{opacity:0.8;transform:scale(0.6);}100%{opacity:0;transform:scale(4.2);}}

  /* scene 5 — tuning in / listening */
  .ring-in{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(111,177,232,0.55);
    animation:ringConverge 2.8s ease-in infinite;}
  .ring-in.r2{animation-delay:0.7s;}
  .ring-in.r3{animation-delay:1.4s;}
  @keyframes ringConverge{0%{transform:scale(1);opacity:0;border-width:0.5px;}100%{transform:scale(0.06);opacity:1;border-width:2px;}}
  .listen-dot{animation:dotPulse 3.4s ease-in-out infinite;}
  .prologue-texts{position:relative;width:100%;max-width:640px;margin:0 auto;min-height:150px;}
  .prologue-text{
    font-size:clamp(20px,3vw,32px);
    line-height:1.7;color:#F3F1EA;
    text-align:center;max-width:640px;padding:0 24px;
    position:absolute;left:0;right:0;top:0;margin:0 auto;
    opacity:0;transition:opacity 0.8s ease;
    pointer-events:none;
  }
  .prologue-text.active{opacity:1;}
  .prologue-index{
    position:absolute;bottom:56px;left:50%;transform:translateX(-50%);
    font-family:var(--font-mono);
    font-size:12px;color:rgba(255,255,255,0.4);letter-spacing:0.15em;
  }
  .scroll-hint{
    position:absolute;bottom:96px;left:50%;transform:translateX(-50%);
    font-family:var(--font-mono);
    font-size:11px;color:rgba(255,255,255,0.3);letter-spacing:0.1em;
  }

  /* ---------- reveal ---------- */
  .reveal{
    min-height:100vh;position:relative;
    display:flex;align-items:center;
    background:var(--navy);
  }
  .reveal img.hero{
    position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0.5;
  }
  .reveal::after{
    content:'';position:absolute;inset:0;
    background:linear-gradient(90deg, var(--navy) 20%, rgba(10,20,81,0.15) 75%);
  }
  .reveal-inner{position:relative;z-index:2;padding:0 8vw;max-width:640px;}
  .reveal-inner img.logo{height:52px;margin-bottom:28px;}
  .reveal-inner p.lede{
    font-family:var(--font-body);font-weight:500;
    font-size:clamp(18px,2.2vw,24px);color:#DCE3F5;line-height:1.7;margin-bottom:20px;
  }
  .reveal-inner p.sub{font-size:14px;color:#9FB0DE;line-height:1.8;}

  /* ---------- section shell ---------- */
  section.block{padding:140px 8vw;}
  .eyebrow{
    font-family:var(--font-mono);
    font-size:12px;letter-spacing:0.14em;color:var(--ink-soft);
    margin-bottom:18px;text-transform:uppercase;
  }
  h2.block-title{
    font-size:clamp(26px,3.4vw,40px);font-weight:700;line-height:1.35;
    max-width:680px;margin-bottom:24px;
  }
  p.block-lede{font-size:16px;line-height:1.8;color:#3A3F4B;max-width:560px;}

  /* ---------- problem ---------- */
  .problem{background:var(--paper);}
  .problem-grid{
    display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:1px;background:var(--line);margin-top:56px;
    border:1px solid var(--line);
  }
  .problem-cell{background:var(--paper);padding:32px 28px;}
  .problem-cell .num{font-family:var(--font-mono);font-size:13px;color:var(--ink-soft);margin-bottom:14px;}
  .problem-cell h3{font-size:17px;font-weight:700;margin-bottom:10px;}
  .problem-cell p{font-size:13.5px;line-height:1.7;color:#565B66;}
  .problem-diagram{margin:44px 0 8px;}
  .problem-diagram .pipe-svg{width:100%;max-width:760px;display:block;margin:0 auto;}
  .problem-diagram .pipe-caption{text-align:center;font-size:12px;color:var(--ink-soft);margin-top:10px;}

  /* ---------- product ---------- */
  .product{background:var(--paper-2);}
  .product-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;margin-top:48px;}
  .product-grid img{border-radius:2px;}
  .not-list{list-style:none;margin-top:28px;}
  .not-list li{
    display:flex;gap:12px;font-size:14px;color:#3A3F4B;line-height:1.6;
    padding:10px 0;border-top:1px solid var(--line);
  }
  .not-list li:last-child{border-bottom:1px solid var(--line);}
  .not-list span{color:#B44;font-weight:700;}

  @media (max-width:820px){
    .product-grid{grid-template-columns:1fr;}
  }

  /* ---------- technology teaser ---------- */
  .technology{background:var(--navy);color:#EEF1FB;}
  .technology .eyebrow{color:var(--accent);}
  .technology p.block-lede{color:#B9C6EA;}
  .technology a.more{
    display:inline-block;margin-top:28px;font-size:13px;color:var(--accent);
    border-bottom:1px solid var(--accent);padding-bottom:2px;
  }

  /* ---------- case study ---------- */
  .case{background:var(--paper);}
  .case-card{
    display:grid;grid-template-columns:1fr 1.2fr;
    border:1px solid var(--line);margin-top:48px;overflow:hidden;
  }
  .case-card img{height:100%;object-fit:cover;}
  .case-photos{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:2px;background:var(--line);}
  .case-photos img{width:100%;height:100%;object-fit:cover;display:block;}
  .case-copy{padding:40px;}
  .case-copy .place{font-family:var(--font-mono);font-size:12px;color:var(--ink-soft);letter-spacing:0.04em;margin-bottom:12px;}
  .case-copy h3{font-size:22px;font-weight:700;margin-bottom:16px;}
  .case-copy p{font-size:14px;line-height:1.8;color:#3A3F4B;margin-bottom:24px;}
  .case-copy a.more{font-size:13px;border-bottom:1px solid #14171F;padding-bottom:2px;}
  @media (max-width:820px){
    .case-card{grid-template-columns:1fr;}
    .case-card > img{height:260px;width:100%;object-fit:cover;}
    .case-photos{height:auto;grid-template-rows:1fr 1fr;}
    .case-photos img{height:150px;}
  }

  /* ---------- applications strip ---------- */
  .apps{background:var(--paper-2);}
  .apps-grid{
    display:grid;grid-template-columns:repeat(4,1fr);gap:1px;
    background:var(--line);border:1px solid var(--line);margin-top:48px;
  }
  .apps-grid figure{position:relative;aspect-ratio:4/3;overflow:hidden;background:#000;}
  .apps-grid img{width:100%;height:100%;object-fit:cover;opacity:0.88;}
  .apps-grid figcaption{
    position:absolute;left:14px;bottom:12px;color:#fff;font-size:13px;font-weight:700;
    text-shadow:0 1px 6px rgba(0,0,0,0.5);
  }
  @media (max-width:820px){ .apps-grid{grid-template-columns:repeat(2,1fr);} }

  /* ---------- proof gallery (crop / field reference cases) ---------- */
  .proof-gallery{
    display:grid;grid-template-columns:repeat(5,1fr);gap:1px;
    background:var(--line);border:1px solid var(--line);margin-top:48px;
  }
  .proof-card{background:var(--paper);}
  .proof-card figure{position:relative;height:200px;overflow:hidden;background:#000;margin:0;}
  .proof-card img{width:100%;height:100%;object-fit:cover;}
  .proof-card .pc-body{padding:20px 22px 26px;}
  .proof-card .pc-tag{font-family:var(--font-mono);font-size:10.5px;letter-spacing:0.05em;color:var(--accent);margin-bottom:8px;}
  .proof-card h4{font-size:15px;font-weight:700;margin-bottom:8px;}
  .proof-card p{font-size:12.5px;line-height:1.7;color:#3A3F4B;}
  .proof-gallery.gallery-wide .proof-card figure{height:340px;}
  @media (max-width:980px){ .proof-gallery{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:560px){ .proof-gallery{grid-template-columns:1fr;} .proof-gallery.gallery-wide .proof-card figure{height:240px;} }

  /* ---------- pond restoration before/after set ---------- */
  .pond-cases{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:48px;}
  .pond-case .place{font-family:var(--font-mono);font-size:12px;color:var(--ink-soft);letter-spacing:0.04em;margin-bottom:10px;}
  .pond-case h4{font-size:16px;font-weight:700;margin-bottom:14px;}
  .pond-case .before-after{margin-top:0;}
  .pond-case p.result{font-size:13px;line-height:1.75;color:#3A3F4B;margin-top:14px;}
  .pond-case p.result b{color:#14171F;}
  @media (max-width:820px){ .pond-cases{grid-template-columns:1fr;} }

  /* ---------- cta ---------- */
  .cta{
    background:var(--ink);color:#F3F1EA;text-align:center;
    padding:180px 8vw;
  }
  .cta p.voice{
    font-family:var(--font-body);font-weight:500;
    font-size:clamp(24px,3.4vw,38px);line-height:1.6;max-width:680px;margin:0 auto 40px;
  }
  .cta-btn{
    display:inline-block;border:1px solid rgba(255,255,255,0.4);
    padding:16px 36px;font-size:13px;letter-spacing:0.05em;color:#fff;
    transition:background 0.2s;
  }
  .cta-btn:hover{background:rgba(255,255,255,0.08);}

  footer{background:var(--ink);padding:32px 8vw 48px;border-top:1px solid rgba(255,255,255,0.1);
    display:flex;justify-content:space-between;color:rgba(255,255,255,0.35);font-size:12px;flex-wrap:wrap;gap:8px;}

  /* ---------- nav active state ---------- */
  nav a.active{border-bottom:1px solid #fff;padding-bottom:2px;}

  /* ---------- interior page hero ---------- */
  .page-hero{
    background:var(--navy);color:#fff;padding:160px 8vw 80px;
  }
  .page-hero .eyebrow{color:var(--accent);}
  .page-hero h1{
    font-size:clamp(28px,4vw,44px);font-weight:700;line-height:1.3;max-width:720px;margin-bottom:20px;
  }
  .page-hero p{font-size:15px;line-height:1.8;color:#B9C6EA;max-width:560px;}

  .content-narrow{max-width:720px;}

  /* ---------- compare panels (technology page) ---------- */
  .compare{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:48px;}
  .compare .panel{background:var(--paper);padding:36px 32px;}
  .compare .panel.on{background:var(--navy);color:#fff;}
  .compare .panel h3{font-family:var(--font-mono);font-size:13px;letter-spacing:0.04em;color:var(--ink-soft);margin-bottom:20px;text-transform:uppercase;}
  .compare .panel.on h3{color:var(--accent);}
  .compare .panel p{font-size:14px;line-height:1.8;color:#3A3F4B;}
  .compare .panel.on p{color:#DCE3F5;}
  @media (max-width:820px){ .compare{grid-template-columns:1fr;} }

  /* ---------- spec table ---------- */
  .spec-table{margin-top:48px;border-top:1px solid var(--line);max-width:720px;}
  .spec-row{display:flex;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--line);font-family:var(--font-mono);font-size:13.5px;}
  .spec-row .k{color:var(--ink-soft);}
  .spec-row .v{font-weight:500;text-align:right;}

  /* ---------- form ---------- */
  form.contact-form{max-width:520px;margin-top:48px;}
  .field{margin-bottom:22px;}
  .field label{display:block;font-size:13px;color:var(--ink-soft);margin-bottom:8px;}
  .field input, .field textarea, .field select{
    width:100%;border:1px solid var(--line);background:#fff;padding:12px 14px;
    font-family:inherit;font-size:14px;color:#14171F;
  }
  .field input:focus, .field textarea:focus, .field select:focus{outline:1px solid var(--navy);}
  .field textarea{resize:vertical;min-height:120px;}
  .submit-btn{
    border:1px solid var(--navy);background:var(--navy);color:#fff;
    padding:14px 32px;font-size:14px;cursor:pointer;letter-spacing:0.02em;
  }
  .submit-btn:hover{background:var(--blue);}
  .form-note{font-size:12px;color:var(--ink-soft);margin-top:16px;line-height:1.6;}
  .form-status{font-size:14px;margin-top:16px;display:none;}
  .form-status.show{display:block;}

  /* ---------- contact info rows ---------- */
  .info-rows{margin-top:40px;}
  .info-row{padding:16px 0;border-top:1px solid var(--line);font-size:14px;}
  .info-row:last-child{border-bottom:1px solid var(--line);}
  .info-row .k{font-family:var(--font-mono);color:var(--ink-soft);font-size:11.5px;letter-spacing:0.04em;margin-bottom:4px;}

  .two-col{display:grid;grid-template-columns:1fr 1fr;gap:64px;margin-top:48px;}
  @media (max-width:820px){ .two-col{grid-template-columns:1fr;} }

  /* ---------- company page ---------- */
  .mission-quote{
    font-family:var(--font-body);font-weight:500;
    font-size:clamp(20px,2.6vw,28px);line-height:1.8;color:#14171F;
    max-width:640px;margin:24px 0 0;
  }
  .full-photo{width:100%;object-fit:cover;max-height:420px;display:block;}
  .value-list{margin-top:40px;}
  .value-row{padding:20px 0;border-top:1px solid var(--line);display:flex;gap:24px;}
  .value-row:last-child{border-bottom:1px solid var(--line);}
  .value-row .label{font-family:var(--font-mono);font-size:12px;color:var(--ink-soft);min-width:120px;flex-shrink:0;}
  .value-row .desc{font-size:14px;line-height:1.75;color:#3A3F4B;}

  /* ---------- component cards (product page) ---------- */
  .component-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:48px;}
  .component-card{background:var(--paper);padding:0;}
  .component-card img{width:100%;height:320px;object-fit:cover;}
  .component-card .cc-body{padding:28px 28px 32px;}
  .component-card .cc-tag{font-family:var(--font-mono);font-size:11px;letter-spacing:0.06em;color:var(--ink-soft);margin-bottom:10px;text-transform:uppercase;}
  .component-card h3{font-size:18px;font-weight:700;margin-bottom:10px;}
  .component-card p{font-size:13.5px;line-height:1.75;color:#3A3F4B;}
  @media (max-width:820px){ .component-grid{grid-template-columns:1fr;} }

  .model-tag{
    display:inline-block;font-family:var(--font-mono);font-size:11px;letter-spacing:0.08em;
    color:var(--accent);border:1px solid rgba(111,177,232,0.4);padding:4px 10px;margin-bottom:16px;
  }

  /* ---------- benefits hub (q.wave center + industry spokes) ---------- */
  .hub-badge{
    display:flex;flex-direction:column;align-items:center;text-align:center;margin:8px auto 56px;
  }
  .hub-badge .ring-icon{width:64px;height:64px;margin-bottom:16px;}
  .hub-badge img.hub-logo{height:26px;margin-bottom:10px;}
  .hub-badge p{font-size:14px;color:var(--ink-soft);max-width:420px;}
  .hub-connector{width:1px;height:40px;background:var(--line);margin:0 auto;}

  .benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
  .benefit-card{background:var(--paper);padding:28px 26px;}
  .benefit-card .bc-tag{font-family:var(--font-mono);font-size:11px;letter-spacing:0.06em;color:var(--accent);margin-bottom:10px;}
  .benefit-card h3{font-size:16px;font-weight:700;margin-bottom:14px;}
  .benefit-card ul{list-style:none;}
  .benefit-card li{font-size:12.5px;line-height:1.7;color:#3A3F4B;padding-left:14px;position:relative;margin-bottom:6px;}
  .benefit-card li::before{content:'—';position:absolute;left:0;color:var(--ink-soft);}
  @media (max-width:900px){ .benefit-grid{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:600px){ .benefit-grid{grid-template-columns:1fr;} }

  /* ---------- before/after proof ---------- */
  .before-after{display:grid;grid-template-columns:1fr 1fr;gap:2px;margin-top:20px;background:var(--line);}
  .before-after figure{position:relative;margin:0;background:#000;}
  .before-after img{width:100%;height:100%;object-fit:cover;display:block;}
  .before-after figcaption{
    position:absolute;top:12px;left:12px;font-family:var(--font-mono);font-size:11px;letter-spacing:0.08em;
    color:#fff;background:rgba(8,11,20,0.55);padding:4px 10px;
  }
  @media (max-width:700px){ .before-after{grid-template-columns:1fr;} }
  /* ---------- product page: hero buttons + size ladder ---------- */
  .hero-buttons{display:flex;gap:14px;margin-top:32px;flex-wrap:wrap;}
  .hero-btn{
    font-size:13.5px;padding:13px 22px;border-radius:2px;font-weight:500;
    display:inline-block;
  }
  .hero-btn.primary{background:var(--accent);color:var(--ink);}
  .hero-btn.ghost{border:1px solid rgba(255,255,255,0.35);color:#fff;}
  .hero-btn:hover{opacity:0.85;}
  .model-sizes{font-family:var(--font-mono);font-size:12.5px;color:#9FB0DE;letter-spacing:0.06em;margin-top:22px;}
  .size-ladder{margin-top:48px;}
  .size-ladder svg{width:100%;max-width:640px;display:block;}
  .size-ladder .lbl{font-family:var(--font-mono);font-size:11px;fill:#9FB0DE;}
  .size-ladder .lbl-strong{font-family:var(--font-mono);font-size:12px;fill:#fff;font-weight:600;}

  /* ---------- product lineup ---------- */
  .lineup-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:48px;}
  .lineup-card{background:var(--paper);padding:26px 22px 28px;display:flex;flex-direction:column;}
  .lineup-card .lc-model{font-family:var(--font-mono);font-size:16px;font-weight:600;color:#14171F;}
  .lineup-card .lc-size{font-family:var(--font-mono);font-size:13px;color:var(--accent-ink,#3D6FA8);margin-bottom:14px;}
  .lineup-card .lc-category{font-size:13px;font-weight:700;color:#14171F;margin-bottom:8px;}
  .lineup-card .lc-desc{font-size:12.5px;line-height:1.6;color:#3A3F4B;margin-bottom:16px;min-height:58px;}
  .lineup-card .lc-features{font-size:11px;line-height:1.7;color:var(--ink-soft);margin-bottom:20px;padding-top:14px;border-top:1px solid var(--line);}
  .lineup-card ul{list-style:none;margin-bottom:20px;flex:1;}
  .lineup-card li{font-size:11.5px;line-height:1.8;color:#565B66;padding-left:12px;position:relative;}
  .lineup-card li::before{content:'—';position:absolute;left:0;color:var(--ink-soft);}
  .lineup-card a.more{font-size:12.5px;}
  @media (max-width:980px){ .lineup-grid{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:560px){ .lineup-grid{grid-template-columns:1fr;} }

  .lineup-table{margin-top:48px;border-top:1px solid var(--line);width:100%;border-collapse:collapse;}
  .lineup-table th{text-align:left;font-family:var(--font-mono);font-size:11px;letter-spacing:0.05em;color:var(--ink-soft);
    padding:12px 16px;border-bottom:1px solid var(--line);text-transform:uppercase;}
  .lineup-table td{padding:16px;border-bottom:1px solid var(--line);font-size:13.5px;}
  .lineup-table td.model{font-family:var(--font-mono);font-weight:600;}
  @media (max-width:700px){ .lineup-table{font-size:12px;} .lineup-table th, .lineup-table td{padding:10px 8px;} }

  /* ---------- shared platform ---------- */
  .platform-list{margin-top:48px;border-top:1px solid var(--line);}
  .platform-row{display:flex;gap:22px;padding:24px 0;border-bottom:1px solid var(--line);}
  .platform-row .bar{width:30px;height:3px;border-radius:2px;margin-top:9px;flex:none;}
  .platform-row h3{font-size:15.5px;font-weight:700;margin-bottom:6px;}
  .platform-row p{font-size:13.5px;line-height:1.75;color:#3A3F4B;}
  .platform-quote{margin-top:36px;font-size:15px;font-weight:600;color:#14171F;border-left:3px solid var(--accent);padding-left:18px;line-height:1.7;}

  /* ---------- cartridge types ---------- */
  .cartridge-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:48px;}
  .cartridge-card{background:var(--paper);padding:28px 24px;}
  .cartridge-card .num{font-family:var(--font-mono);font-size:12px;color:var(--ink-soft);margin-bottom:14px;}
  .cartridge-card h3{font-size:16px;font-weight:700;margin-bottom:10px;}
  .cartridge-card p{font-size:13px;line-height:1.7;color:#3A3F4B;}
  @media (max-width:900px){ .cartridge-grid{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:560px){ .cartridge-grid{grid-template-columns:1fr;} }

  /* ---------- process steps ---------- */
  .process-steps{margin-top:48px;}
  .process-step{display:grid;grid-template-columns:70px 1fr;gap:24px;padding:26px 0;border-top:1px solid var(--line);}
  .process-step:last-child{border-bottom:1px solid var(--line);}
  .process-step .ps-num{font-family:var(--font-mono);font-size:22px;color:var(--ink-soft);}
  .process-step h3{font-size:16px;font-weight:700;margin-bottom:10px;}
  .process-step ul{list-style:none;}
  .process-step li{font-size:13px;line-height:1.85;color:#3A3F4B;padding-left:14px;position:relative;}
  .process-step li::before{content:'—';position:absolute;left:0;color:var(--ink-soft);}
  .process-step p{font-size:13.5px;line-height:1.8;color:#3A3F4B;}
  .process-summary{margin-top:8px;font-family:var(--font-mono);font-size:12.5px;color:var(--ink-soft);letter-spacing:0.03em;
    text-align:center;padding:20px;border:1px dashed var(--line);}
  @media (max-width:600px){ .process-step{grid-template-columns:1fr;} }

  /* ---------- finder form ---------- */
  .finder-note{background:var(--paper-2);border:1px solid var(--line);padding:16px 20px;font-size:12.5px;
    line-height:1.7;color:var(--ink-soft);margin-top:20px;}

  /* ---------- detail page ---------- */
  .detail-back{font-size:13px;color:var(--accent);display:inline-block;margin-bottom:16px;}
  .detail-groups{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:48px;}
  .detail-group h3{font-family:var(--font-mono);font-size:12px;letter-spacing:0.05em;color:var(--ink-soft);
    text-transform:uppercase;margin-bottom:18px;}
  .detail-group ul{list-style:none;}
  .detail-group li{font-size:14px;line-height:2;color:#3A3F4B;padding-left:16px;position:relative;}
  .detail-group li::before{content:'—';position:absolute;left:0;color:var(--ink-soft);}
  @media (max-width:700px){ .detail-groups{grid-template-columns:1fr;gap:32px;} }

  /* ---------- technology page: flow diagrams ---------- */
  .flow-list{margin:40px auto 0;max-width:400px;}
  .flow-item{display:flex;align-items:center;gap:16px;padding:10px 0;}
  .flow-item .fdot{width:7px;height:7px;border-radius:50%;background:var(--accent);flex:none;box-shadow:0 0 6px rgba(111,177,232,0.5);}
  .flow-item span{font-family:var(--font-mono);font-size:13px;color:#14171F;}
  .flow-item.end span{font-weight:700;}
  .flow-arrow{text-align:center;color:var(--ink-soft);font-size:12px;line-height:1;}
  .flow-icon{
    width:34px;height:34px;border-radius:50%;flex:none;
    border:1px solid rgba(23,51,122,0.22);background:var(--paper);
    display:flex;align-items:center;justify-content:center;
  }
  .flow-icon svg{width:18px;height:18px;overflow:visible;}

  .app-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:48px;}
  .app-detail-card{background:var(--paper);padding:30px 26px;}
  .app-detail-card .ad-tag{font-family:var(--font-mono);font-size:11px;letter-spacing:0.06em;color:var(--accent);margin-bottom:12px;text-transform:uppercase;}
  .app-detail-card h3{font-size:17px;font-weight:700;margin-bottom:12px;line-height:1.4;}
  .app-detail-card p{font-size:13px;line-height:1.75;color:#3A3F4B;margin-bottom:16px;}
  .app-detail-card ul{list-style:none;}
  .app-detail-card li{font-size:12px;line-height:1.9;color:#565B66;padding-left:14px;position:relative;}
  .app-detail-card li::before{content:'—';position:absolute;left:0;color:var(--ink-soft);}
  @media (max-width:900px){ .app-detail-grid{grid-template-columns:1fr;} }
  .offices-grid{grid-template-columns:repeat(2,1fr);}
  @media (max-width:820px){ .offices-grid{grid-template-columns:1fr;} }

  .signal-quote{font-size:14px;font-weight:600;color:#14171F;border-left:3px solid var(--accent);padding-left:18px;line-height:1.9;margin-top:20px;}

  /* ---------- technology page: step icons & photos ---------- */
  .step-icon-row{display:flex;align-items:center;gap:18px;margin-bottom:12px;}
  .step-icon{position:relative;width:60px;height:60px;flex:none;}
  .step-icon-row h3{margin-bottom:0;}
  .step-photo{width:100%;max-width:420px;height:190px;object-fit:cover;margin-top:18px;border:1px solid var(--line);display:block;}
  .cartridge-diagram{width:100%;max-width:480px;margin-top:18px;padding:16px;background:var(--paper);border:1px solid var(--line);}
  .step-photo-cap{font-size:11.5px;color:var(--ink-soft);margin-top:8px;}

  .app-detail-card .ad-photo{width:100%;height:150px;object-fit:cover;margin-bottom:18px;display:block;}
  .app-detail-card .ad-visual{width:100%;height:150px;margin-bottom:18px;overflow:hidden;background:var(--paper-2);position:relative;}
  .app-detail-card .ad-visual svg{width:100%;height:100%;display:block;}
  .ad-visual .wobble-line{fill:none;stroke:var(--accent);stroke-width:1.6;opacity:0.65;}

  /* ---------- multi-case additions ---------- */
  .case-photos-2{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:var(--line);}
  .case-photos-2 img{width:100%;height:100%;object-fit:cover;display:block;}
  .case-photos-3{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--line);}
  .case-photos-3 img{width:100%;height:100%;object-fit:cover;display:block;}
  /* domestic reference — vertical photo stack + copy on the right */
  .chamoe-case{display:grid;grid-template-columns:1.05fr 1fr;gap:40px;align-items:center;margin-top:24px;}
  .chamoe-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
  .chamoe-pair img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block;border:1px solid var(--line);}
  .chamoe-case .case-copy{padding:0;}
  @media (max-width:820px){ .chamoe-case{grid-template-columns:1fr;gap:18px;} }

  .case-callout{background:var(--paper-2);border:1px solid var(--line);padding:16px 20px;margin-top:18px;}
  .case-callout .cc-h{font-size:13px;font-weight:700;color:#14171F;margin-bottom:6px;}
  .case-callout p{font-size:12.5px;line-height:1.7;color:#3A3F4B;margin:0;}
  @media (max-width:820px){ .case-photos-2, .case-photos-3{grid-template-columns:1fr;height:auto !important;} .case-photos-2 img, .case-photos-3 img{height:220px;} }

  /* ---------- industry section divider ---------- */
  .industry-header{
    display:flex;align-items:baseline;gap:16px;margin:0 0 8px;padding-top:56px;
    border-top:2px solid var(--navy);
  }
  .industry-header .ih-num{
    font-family:var(--font-mono);font-size:12px;color:#fff;background:var(--navy);
    padding:4px 9px;letter-spacing:0.04em;
  }
  .industry-header .ih-label{
    font-family:var(--font-mono);font-size:12.5px;letter-spacing:0.06em;color:var(--ink-soft);
    text-transform:uppercase;
  }
  .industry-placeholder{
    border:1px dashed var(--line);padding:28px 24px;margin-top:32px;text-align:center;
  }
  .industry-placeholder p{font-size:13px;color:var(--ink-soft);line-height:1.7;}
  .industry-placeholder .ip-title{font-size:14px;font-weight:700;color:#14171F;margin-bottom:8px;}

  /* ---------- customer testimonial ---------- */
  .testimonial{
    margin-top:28px;padding:22px 24px;background:var(--paper);border-left:3px solid var(--accent);
  }
  .testimonial .t-label{font-family:var(--font-mono);font-size:11px;letter-spacing:0.05em;color:var(--ink-soft);
    text-transform:uppercase;margin-bottom:10px;}
  .testimonial p{font-family:var(--font-body);font-size:14.5px;line-height:1.85;color:#2A2E38;font-style:italic;}
  .case-tagline{
    margin-top:28px;font-family:var(--font-mono);font-size:12.5px;letter-spacing:0.03em;color:var(--ink-soft);
    text-align:center;padding:16px;border:1px dashed var(--line);
  }

  /* ---------- stat highlight pill ---------- */
  .stat-highlight{
    display:inline-flex;align-items:center;gap:10px;margin-top:14px;
    background:var(--navy);color:#fff;padding:10px 18px;
  }
  .stat-highlight .sh-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);flex:none;}
  .stat-highlight span{font-family:var(--font-mono);font-size:12.5px;letter-spacing:0.02em;}
  .stat-highlight b{color:var(--accent);}

  /* ---------- platform section product photo ---------- */
  .platform-photo{
    max-width:280px;width:100%;height:auto;display:block;margin:0 auto;
    border-radius:2px;
  }
  @media (max-width:820px){ .platform-photo{max-width:220px;margin-top:24px;} }

  /* ---------- mobile nav ---------- */
  .nav-toggle-input{display:none;}
  .nav-toggle-btn{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px;}
  .nav-toggle-btn span{width:24px;height:2px;background:#fff;display:block;transition:transform 0.2s, opacity 0.2s;}
  @media (max-width:820px){
    nav{flex-wrap:wrap;padding:16px 24px;}
    .nav-toggle-btn{display:flex;order:2;margin-left:auto;}
    nav ul{
      display:none;width:100%;flex-direction:column;gap:0;order:3;
      margin-top:18px;border-top:1px solid rgba(255,255,255,0.12);
    }
    .nav-toggle-input:checked ~ ul{display:flex;}
    .nav-toggle-input:checked ~ .nav-toggle-btn span:nth-child(1){transform:translateY(7px) rotate(45deg);}
    .nav-toggle-input:checked ~ .nav-toggle-btn span:nth-child(2){opacity:0;}
    .nav-toggle-input:checked ~ .nav-toggle-btn span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
    nav ul li{width:100%;border-bottom:1px solid rgba(255,255,255,0.08);}
    nav ul li a{display:block;padding:16px 4px;font-size:16px;}
  }

  /* ---------- language switcher ---------- */
  .lang-switch{display:flex;gap:2px;margin-left:24px;font-family:var(--font-mono);font-size:11.5px;}
  .lang-switch a{color:rgba(255,255,255,0.45);padding:4px 7px;letter-spacing:0.03em;}
  .lang-switch a.active{color:#fff;font-weight:600;}
  @media (max-width:820px){ .lang-switch{margin-left:auto;order:1;} }
  nav ul li a.lang-link{font-family:var(--font-mono);font-size:12px;letter-spacing:0.04em;opacity:0.7;border:1px solid rgba(255,255,255,0.3);padding:4px 9px;border-radius:2px;}

  /* ---------- floating language toggle ---------- */
  .qw-lang-fab{
    position:fixed;left:18px;bottom:18px;z-index:200;
    display:flex;align-items:center;gap:7px;
    background:rgba(8,11,20,0.85);color:#fff;
    font-family:var(--font-mono);font-size:13px;letter-spacing:0.04em;
    padding:11px 16px;border-radius:999px;
    border:1px solid rgba(255,255,255,0.28);
    box-shadow:0 6px 20px rgba(0,0,0,0.28);
    -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
    cursor:pointer;transition:background 0.2s,transform 0.15s;
  }
  .qw-lang-fab:hover{background:var(--navy);transform:translateY(-1px);}
  .qw-lang-fab svg{display:block;flex:none;}
  @media (max-width:560px){
    .qw-lang-fab{left:12px;bottom:12px;padding:10px 14px;font-size:12px;}
  }

  /* ---------- applications hex diagram ---------- */
  .app-hex{position:relative;width:100%;max-width:640px;aspect-ratio:1/1;margin:48px auto 0;}
  .app-hex .hex-ring{position:absolute;inset:16.5%;border:1px dashed rgba(23,51,122,0.22);border-radius:50%;}
  .app-hex .hex-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;}
  .app-hex .hex-center img{height:34px;display:block;margin:0 auto;}
  .hex-node{position:absolute;width:180px;text-align:center;transform:translate(-50%,-50%);}
  .hex-node .hn-icon{
    width:56px;height:56px;border-radius:50%;background:var(--paper);
    border:1px solid rgba(23,51,122,0.22);display:flex;align-items:center;justify-content:center;
    margin:0 auto 10px;box-shadow:0 4px 14px rgba(23,51,122,0.08);
  }
  .hex-node .hn-icon svg{width:26px;height:26px;overflow:visible;}
  .hex-node h4{font-size:13px;font-weight:700;letter-spacing:0.02em;margin-bottom:5px;color:#14171F;}
  .hex-node p{font-size:11px;color:#565B66;line-height:1.55;}
  @media (max-width:700px){
    .app-hex{
      max-width:440px;aspect-ratio:auto;height:auto;margin:32px auto 0;
      display:grid;grid-template-columns:1fr 1fr;gap:30px 18px;
    }
    .app-hex .hex-ring,.app-hex .hex-center{display:none;}
    .hex-node{position:static;transform:none;width:auto;}
    .hex-node .hn-icon{width:46px;height:46px;margin-bottom:8px;}
    .hex-node .hn-icon svg{width:22px;height:22px;}
    .hex-node h4{font-size:12px;}
    .hex-node p{font-size:11px;line-height:1.5;}
  }

  /* ---------- platform vertical stepper ---------- */
  .tech-stepper{max-width:680px;margin:44px auto 0;}
  .ts-row{display:flex;align-items:flex-start;gap:18px;position:relative;padding-bottom:22px;}
  .ts-row:last-child .ts-connector{display:none;}
  .ts-connector{position:absolute;left:25px;top:52px;bottom:0;width:1px;background:rgba(23,51,122,0.18);}
  .ts-icon{
    width:50px;height:50px;border-radius:50%;background:var(--paper);flex:none;
    border:1px solid rgba(23,51,122,0.22);display:flex;align-items:center;justify-content:center;
    position:relative;z-index:2;box-shadow:0 4px 12px rgba(23,51,122,0.06);
  }
  .ts-icon svg{width:24px;height:24px;overflow:visible;}
  .ts-body{flex:1;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 20px;padding-top:8px;border-bottom:1px dashed var(--line);padding-bottom:16px;}
  .ts-title{font-size:14.5px;font-weight:700;color:#14171F;min-width:190px;}
  .ts-title.end{color:var(--accent-ink,#3D6FA8);}
  .ts-desc{font-size:12.5px;color:#565B66;line-height:1.6;flex:1;min-width:180px;}

  /* ---------- pipe cross-section v2 ---------- */
  .pipe-diagram-v2{margin-top:56px;}
  .pipe-diagram-v2 .pd-title{font-size:24px;font-weight:800;text-align:center;color:#14171F;margin-bottom:4px;}
  .pipe-diagram-v2 .pd-subtitle{font-size:15px;text-align:center;color:var(--ink-soft);margin-bottom:40px;}
  .pipe-steps{display:flex;align-items:flex-start;justify-content:center;gap:0;flex-wrap:wrap;}
  .pipe-step{width:190px;text-align:center;flex:none;}
  .pipe-step .ps-badge{
    width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;
    color:#fff;font-family:var(--font-mono);font-size:12.5px;font-weight:700;margin:0 auto 6px;
  }
  .pipe-step .ps-label{font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:0.04em;margin-bottom:16px;}
  .pipe-step .ps-circle{width:130px;height:130px;margin:0 auto;}
  .pipe-step img.ps-circle{border-radius:50%;object-fit:cover;display:block;}
  .pipe-step .ps-caption{display:flex;gap:8px;align-items:flex-start;text-align:left;font-size:12px;color:#3A3F4B;line-height:1.6;margin-top:16px;padding:0 6px;}
  .pipe-step .ps-caption svg{width:16px;height:16px;flex:none;margin-top:2px;}
  .pipe-arrow{width:36px;display:flex;align-items:center;justify-content:center;color:var(--ink-soft);font-size:18px;margin-top:62px;flex:none;}
  .pipe-callout{
    display:flex;align-items:center;gap:14px;background:var(--paper-2);border-radius:6px;
    padding:18px 26px;margin:44px auto 0;max-width:640px;
  }
  .pipe-callout .pc-icon{
    width:36px;height:36px;border-radius:50%;background:var(--navy);
    display:flex;align-items:center;justify-content:center;flex:none;
  }
  .pipe-callout p{font-size:14px;color:#3A3F4B;line-height:1.5;}
  @media (max-width:820px){
    .pipe-step{width:44%;margin-bottom:24px;}
    .pipe-arrow{display:none;}
  }

  /* ================= Crop Intelligence ================= */
  .ci-hero .ci-sci{font-family:var(--font-mono);font-size:13px;color:var(--ink-soft);letter-spacing:.04em;margin-top:8px;font-style:italic;}
  .crop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:32px;}
  .crop-card{display:block;background:#fff;border:1px solid var(--line);border-top:4px solid var(--cc,#6FB1E8);border-radius:12px;padding:26px 22px;text-decoration:none;color:inherit;transition:transform .15s,box-shadow .2s;}
  .crop-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(8,11,20,.10);}
  .crop-emoji{font-size:38px;line-height:1;}
  .crop-name{font-size:19px;font-weight:700;margin-top:14px;}
  .crop-sci{font-family:var(--font-mono);font-size:11.5px;color:var(--ink-soft);margin-top:3px;font-style:italic;}
  .crop-tag{font-size:13px;line-height:1.6;color:#3A3F4B;margin-top:12px;}
  .crop-go{font-family:var(--font-mono);font-size:12px;color:var(--cc,#6FB1E8);margin-top:16px;letter-spacing:.04em;}
  @media(max-width:820px){.crop-grid{grid-template-columns:repeat(2,1fr);}}
  @media(max-width:520px){.crop-grid{grid-template-columns:1fr;}}

  .ci-quick{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;max-width:960px;margin:0 auto;padding:26px 8vw 0;}
  .ci-quick a{font-family:var(--font-mono);font-size:12px;color:var(--navy);border:1px solid var(--line);background:#fff;padding:6px 11px;border-radius:999px;text-decoration:none;}
  .ci-quick a:hover{border-color:var(--accent);background:var(--paper-2);}

  .block.ci-sec{padding-top:44px;padding-bottom:0;}
  .block.ci-sec .ci-h2{font-size:20px;font-weight:700;margin-bottom:12px;border-top:2px solid var(--navy);padding-top:16px;}
  .ci-body{font-size:14.5px;line-height:1.8;color:#2B303B;max-width:820px;}
  .ci-body p{margin:0 0 10px;}
  .ci-src{font-size:12px;color:var(--ink-soft);margin-top:12px;line-height:1.7;max-width:820px;}
  .ci-src span{font-weight:700;color:#3A3F4B;}
  .ci-src a{color:var(--navy);}
  .ci-links{list-style:none;padding:0;margin:6px 0 0;display:grid;gap:8px;max-width:820px;}
  .ci-links a{font-size:13.5px;color:var(--navy);text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:5px;display:inline-block;}
  .ci-links a:hover{color:var(--accent);}
  .block.ci-sec-qwave{background:var(--paper-2);}
  .block.ci-sec-qwave .ci-h2{border-top-color:var(--accent);}

  .ci-market{margin-top:6px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:16px 18px;max-width:820px;}
  .ci-market-status{font-size:13px;color:var(--ink-soft);}
  .ci-market table{width:100%;border-collapse:collapse;font-size:13px;margin-top:2px;}
  .ci-market th,.ci-market td{text-align:left;padding:7px 8px;border-bottom:1px solid var(--line);}
  .ci-market th{font-family:var(--font-mono);font-size:11px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em;}
  .ci-market .ci-asof{font-size:11.5px;color:var(--ink-soft);margin-top:10px;}
  .ci-market .ci-asof a{color:var(--navy);}

  .block.ci-ask{text-align:center;background:var(--navy);color:#fff;margin-top:8px;padding-top:64px;padding-bottom:64px;}
  .block.ci-ask h2{color:#fff;font-size:22px;}
  .block.ci-ask p{color:#9FB0DE;font-size:14px;margin-top:8px;}
  .btn-primary{display:inline-block;background:var(--accent);color:#08122b;font-weight:700;border:none;border-radius:999px;padding:13px 26px;font-size:14px;cursor:pointer;font-family:inherit;margin-top:20px;}
  .btn-primary:hover{filter:brightness(1.06);}

  .ci-disclaimer{background:#F0ECE1;border-top:1px solid var(--line);padding:22px 8vw;}
  .ci-disclaimer p{font-size:11.5px;color:#7A7F89;line-height:1.7;max-width:920px;margin:0 auto;}
  .ci-num{display:none;}

  /* Today's Grower Intelligence (homepage) */
  .tgi-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:32px;}
  .tgi-tile{background:#fff;padding:22px 18px;text-decoration:none;color:inherit;display:block;transition:background .15s;}
  .tgi-tile:hover{background:var(--paper-2);}
  .tgi-emoji{font-size:23px;line-height:1;}
  .tgi-title{font-size:13.5px;font-weight:700;margin-top:11px;}
  .tgi-desc{font-size:12px;color:#3A3F4B;line-height:1.55;margin-top:6px;}
  .tgi-cta{margin-top:26px;}
  @media(max-width:900px){.tgi-grid{grid-template-columns:repeat(2,1fr);}}
  @media(max-width:520px){.tgi-grid{grid-template-columns:1fr;}}

  /* ================= Grower Journal ================= */
  .jr-list{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
  .jr-card{display:block;background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px 24px 20px;text-decoration:none;color:inherit;transition:transform .15s,box-shadow .2s;}
  .jr-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(8,11,20,.10);}
  .jr-meta{font-family:var(--font-mono);font-size:12px;color:var(--ink-soft);letter-spacing:.03em;}
  .jr-title{font-size:19px;font-weight:700;margin-top:8px;line-height:1.4;}
  .jr-sum{font-size:13.5px;line-height:1.65;color:#3A3F4B;margin-top:10px;}
  .jr-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px;}
  .jr-tag{font-family:var(--font-mono);font-size:11px;color:var(--navy);background:var(--paper-2);border:1px solid var(--line);padding:3px 9px;border-radius:999px;}
  .jr-read{font-family:var(--font-mono);font-size:12px;color:var(--accent);margin-top:14px;letter-spacing:.04em;}
  @media(max-width:720px){.jr-list{grid-template-columns:1fr;}}
  .jr-article{max-width:760px;}
  .jr-back{display:inline-block;font-family:var(--font-mono);font-size:12.5px;color:var(--navy);margin:0 0 8px;text-decoration:none;}
  .jr-back:hover{color:var(--accent);}
  .jr-article h1{font-size:30px;line-height:1.32;margin:10px 0 12px;}
  .jr-body{font-size:15.5px;line-height:1.85;color:#20242E;margin-top:20px;}
  .jr-body p{margin:0 0 16px;}
  .jr-body h3{font-size:17px;font-weight:700;margin:26px 0 8px;}
  .jr-body ul{margin:0 0 16px 20px;}
  .jr-body li{margin:0 0 6px;line-height:1.7;}
  .jr-body b{color:#14171F;}
  .jr-src{font-size:12.5px;color:var(--ink-soft);margin-top:24px;border-top:1px solid var(--line);padding-top:14px;}
  .jr-src span{font-weight:700;color:#3A3F4B;}
  .jr-src a{color:var(--navy);}
  .jr-signoff{font-family:var(--font-mono);font-size:12px;color:var(--ink-soft);margin-top:22px;padding-top:18px;border-top:1px solid var(--line);}

  /* ================= Subscribe (weekly digest) ================= */
  .sub-wrap{max-width:560px;margin:36px auto 0;}
  .sub-form{display:grid;gap:16px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:30px 28px;}
  .sub-form label{display:block;font-size:13.5px;font-weight:600;color:#2B303B;}
  .sub-form input[type=text],.sub-form input[type=email],.sub-form input[type=tel]{width:100%;margin-top:7px;padding:11px 13px;border:1px solid var(--line);border-radius:9px;font-family:inherit;font-size:14px;background:var(--paper);color:#14171F;}
  .sub-form input[type=text]:focus,.sub-form input[type=email]:focus,.sub-form input[type=tel]:focus{outline:none;border-color:var(--accent);}
  .sub-consent{display:flex;gap:9px;align-items:flex-start;font-weight:400;font-size:12.5px;color:#3A3F4B;line-height:1.5;}
  .sub-consent input{margin-top:2px;flex:none;}
  .sub-form .btn-primary{margin-top:6px;justify-self:start;}
  .sub-note{font-size:11.5px;color:var(--ink-soft);text-align:center;margin-top:16px;line-height:1.6;}
  .sub-thanks{max-width:560px;margin:36px auto 0;background:var(--paper-2);border:1px solid var(--line);border-radius:14px;padding:34px 28px;text-align:center;}
  .sub-thanks h3{font-size:19px;margin-bottom:10px;}
  .sub-thanks p{font-size:14px;color:#3A3F4B;line-height:1.7;}

  /* ================= Farming proverb band ================= */
  .block.qw-quotes{background:var(--paper-2);text-align:center;}
  .qw-quote-text{font-size:clamp(19px,2.4vw,26px);line-height:1.55;color:var(--navy);max-width:780px;margin:0 auto;font-weight:600;transition:opacity .35s ease;min-height:1.4em;border:none;}
  .qw-quote-by{font-family:var(--font-mono);font-size:12.5px;color:var(--ink-soft);letter-spacing:0.04em;margin-top:16px;}

  /* ================= Topic hubs ================= */
  .topic-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:30px;}
  .topic-tab{font-family:var(--font-mono);font-size:12.5px;color:var(--navy);border:1px solid var(--line);background:#fff;padding:8px 14px;border-radius:999px;text-decoration:none;}
  .topic-tab:hover{border-color:var(--accent);background:var(--paper-2);}
  .topic-tab.active{background:var(--navy);color:#fff;border-color:var(--navy);}
  .topic-list{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:18px;border-radius:2px;overflow:hidden;}
  .topic-item{background:#fff;padding:18px 20px;border-left:4px solid var(--cc,#6FB1E8);display:grid;grid-template-columns:190px 1fr;gap:20px;align-items:start;}
  .topic-crop{font-weight:700;font-size:15px;display:flex;align-items:center;gap:10px;}
  .topic-emoji{font-size:22px;line-height:1;}
  .topic-crop a{color:var(--navy);}
  .topic-crop a:hover{color:var(--accent);}
  .topic-text{font-size:13.5px;line-height:1.75;color:#2B303B;}
  @media(max-width:640px){.topic-item{grid-template-columns:1fr;gap:8px;}}

/* ---------- Home hero (problem -> solution -> proof -> action) ---------- */
.qhero{background:var(--navy);color:#fff;padding:120px 24px 84px;}
.qhero-inner{max-width:920px;margin:0 auto;}
.qhero .qh-eyebrow{color:var(--accent);letter-spacing:.14em;font-size:12px;font-family:var(--font-mono,monospace);text-transform:uppercase;margin-bottom:22px;}
.qhero h1{font-size:clamp(30px,5.2vw,54px);line-height:1.25;font-weight:800;margin:0 0 18px;letter-spacing:-.01em;color:#fff;}
.qhero h1 .accent{color:var(--accent);}
.qhero .qh-sub{font-size:clamp(15px,2vw,19px);line-height:1.7;color:#B9C6EA;max-width:660px;margin:0 0 14px;}
.qhero .qh-solution{font-size:clamp(16px,2.1vw,21px);font-weight:700;line-height:1.55;color:#fff;max-width:720px;margin:8px 0 26px;}
.qhero .qh-solution u{text-decoration:none;border-bottom:3px solid var(--accent);}
.qhero .qh-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:32px;}
.qhero .qh-chip{border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:7px 13px;font-size:12.5px;color:#DBE4F5;}
.qhero .qh-cta{display:flex;flex-wrap:wrap;gap:14px;align-items:center;}
.qhero .qh-btn1{background:var(--accent);color:var(--navy);font-weight:700;padding:14px 24px;border-radius:10px;text-decoration:none;font-size:15px;}
.qhero .qh-btn1:hover{filter:brightness(1.06);}
.qhero .qh-btn2{color:#fff;text-decoration:none;font-size:15px;border-bottom:1px solid rgba(255,255,255,.5);padding-bottom:2px;}
@media(max-width:560px){.qhero{padding:96px 18px 60px;}}

/* ---------- Company brand-story frequency-wave animation ---------- */
.bstory{background:var(--navy);color:#fff;}
.bstory .bstory-wave{position:relative;height:120px;border-bottom:1px solid rgba(111,177,232,.2);margin:22px 0 26px;overflow:hidden;}
.bstory .bstory-wave svg{width:100%;height:100%;display:block;}
@keyframes bscroll{to{transform:translateX(-880px);}}
.bstory .bs-scroll{animation:bscroll 3.2s linear infinite;}
.bstory .bs-line{fill:none;stroke:var(--accent);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 6px rgba(111,177,232,.55));}
.bstory .bstory-lines{display:flex;flex-direction:column;gap:2px;max-width:720px;}
.bstory .bstory-lines p{margin:0;font-size:clamp(15px,2vw,18px);line-height:1.9;color:#5b6aa0;transition:color .5s,transform .5s;}
.bstory .bstory-lines p.on{color:#EAF1FF;transform:translateX(6px);}
.bstory .bstory-lines p.on::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);margin-right:10px;vertical-align:middle;box-shadow:0 0 8px var(--accent);}
.bstory .bstory-lines p:not(.on)::before{content:"";display:inline-block;width:7px;height:7px;margin-right:10px;}
@media (prefers-reduced-motion: reduce){.bstory .bs-scroll{animation:none;}}

/* brand-story — original prologue scenes (auto-cycle) */
.bstory .bs-scenehost{display:flex;justify-content:center;margin:8px 0 26px;}
.bstory .pulse-field{width:200px;height:200px;margin:0;}
.bstory.scenes .bstory-lines{max-width:680px;margin:0 auto;align-items:center;text-align:center;}
.bstory.scenes .bstory-lines p{color:#5b6aa0;transform:none;transition:color .6s;}
.bstory.scenes .bstory-lines p.on{color:#EAF1FF;transform:none;}
.bstory.scenes .bstory-lines p::before,.bstory.scenes .bstory-lines p.on::before{display:none;}
