:root{
    --green:#8BBA3C; --green-deep:#5f8a24; --green-soft:#eef4e1; --green-tint:#f5f9ec;
    --blue:#4FB6D6; --blue-deep:#2c8aac; --blue-soft:#e4f3f8; --blue-tint:#eef8fb;
    --white:#ffffff; --paper:#f7f9f4;
    --text:#15201a; --muted:#586056; --line:#e3e7db; --line-soft:#edf0e8;
    --maxw:1180px; --r:18px;
    --display:"Inter",sans-serif; --body:"Inter",sans-serif;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{font-family:var(--body);color:var(--text);background:var(--white);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
  a{color:inherit;text-decoration:none}
  img{max-width:100%;display:block}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}

  .eyebrow{font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;display:inline-flex;align-items:center;gap:.6em;color:var(--muted)}
  .eyebrow .dot{width:7px;height:7px;border-radius:50%;display:inline-block}
  .dot.g{background:var(--green)} .dot.b{background:var(--blue)}
  h1,h2,h3{font-family:var(--display);font-weight:800;line-height:1.06;letter-spacing:-.03em;color:var(--text)}
  h2{font-size:clamp(1.85rem,3.5vw,2.7rem)}
  h3{font-size:1.18rem;font-weight:700;line-height:1.2;letter-spacing:-.02em}
  p{color:var(--muted)}

  .btn{font-family:var(--body);font-weight:600;font-size:.95rem;display:inline-flex;align-items:center;gap:.55em;padding:.82em 1.4em;border-radius:100px;cursor:pointer;border:1.5px solid transparent;transition:.22s ease;white-space:nowrap}
  .btn .arw{transition:transform .22s ease}
  .btn:hover .arw{transform:translateX(3px)}
  .btn-primary{background:var(--green);color:#10180a}
  .btn-primary:hover{background:var(--green-deep);color:#fff}
  .btn-blue{background:var(--blue);color:#06181d}
  .btn-blue:hover{background:var(--blue-deep);color:#fff}
  .btn-ghost{background:transparent;border-color:var(--line);color:var(--text)}
  .btn-ghost:hover{border-color:var(--green);color:var(--green-deep)}

  header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.82);backdrop-filter:blur(12px);border-bottom:1px solid transparent;transition:border-color .25s,background .25s}
  header.scrolled{border-bottom-color:var(--line);background:rgba(255,255,255,.94)}
  .nav{display:flex;align-items:center;justify-content:space-between;height:74px;gap:30px}
  .nav .logo img{height:38px;width:auto}
  .nav-links{display:flex;gap:30px;align-items:center;margin-left:auto}
  .nav-links a{font-size:.92rem;font-weight:500;color:#3f473e;transition:color .2s}
  .nav-links a:hover,.nav-links a.active{color:var(--green-deep)}
  .nav-cta{display:flex;align-items:center;gap:14px}
  .menu-btn{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px;padding:8px}
  .menu-btn span{width:22px;height:2px;background:var(--text);display:block;border-radius:2px}

  /* hero */
  .hero{position:relative;background:var(--white);overflow:hidden;isolation:isolate}
  .hero::before{content:"";position:absolute;inset:0;z-index:-1;
    background:radial-gradient(55% 75% at 8% -5%,rgba(139,186,60,.20),transparent 60%),radial-gradient(55% 80% at 95% 12%,rgba(79,182,214,.22),transparent 62%)}
  .hero-inner{padding:84px 0 0}
  .hero h1{font-size:clamp(2.2rem,4.8vw,3.7rem);max-width:20ch;margin:.5rem 0 0}
  .hero h1 .g{color:var(--green-deep)} .hero h1 .b{color:var(--blue-deep)}
  .hero-sub{margin-top:1.5rem;max-width:60ch;color:#3f473e;font-size:1.07rem;line-height:1.62}
  .hero-sub strong{color:var(--text);font-weight:600}
  .hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:2rem}
  .wave-stage{position:relative;margin-top:40px;height:130px}
  .wave-stage svg{position:absolute;left:0;bottom:0;width:200%;height:130px}
  @keyframes drift{from{transform:translateX(0)}to{transform:translateX(-50%)}}
  .wave-move{animation:drift 18s linear infinite}
  .wave-move.slow{animation-duration:30s;opacity:.4}

  section{position:relative}
  .pad{padding:90px 0}
  .bordered{border-top:1px solid var(--line)}
  .paper{background:var(--paper)}
  .sec-head{max-width:62ch}
  .sec-head h2{margin-top:1rem}
  .sec-head p{margin-top:1rem;font-size:1.04rem;color:#4a5249}

  /* three modes */
  .modes{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:50px}
  .mode{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:30px 28px;border-top:3px solid var(--green)}
  .mode:nth-child(2){border-top-color:#5fa9a0}
  .mode:nth-child(3){border-top-color:var(--blue)}
  .mode .ic{width:34px;height:34px;margin-bottom:14px;color:var(--green-deep)}
  .mode:nth-child(2) .ic{color:#3f8f86} .mode:nth-child(3) .ic{color:var(--blue-deep)}
  .mode h3{font-size:1.12rem;margin-bottom:.35rem}
  .mode .ms{font-size:.92rem;color:var(--muted);margin-bottom:16px}
  .chips{display:flex;flex-wrap:wrap;gap:7px}
  .chip{font-size:.78rem;font-weight:500;color:#42493f;background:var(--paper);border:1px solid var(--line);border-radius:100px;padding:5px 11px;line-height:1.3}

  /* services explorer */
  .svc-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-top:46px}
  .tab{font-family:var(--body);font-size:.9rem;font-weight:600;color:#42493f;background:var(--white);border:1.5px solid var(--line);border-radius:100px;padding:.6em 1.15em;cursor:pointer;transition:.2s ease;display:inline-flex;align-items:center;gap:.5em}
  .tab .tn{font-size:.74rem;color:var(--muted);font-weight:700}
  .tab:hover{border-color:#cdd6c2}
  .tab.active{background:var(--text);color:#fff;border-color:var(--text)}
  .tab.active .tn{color:var(--green)}

  .svc-panel{display:none;margin-top:32px;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--white)}
  .svc-panel.active{display:block;animation:fade .4s ease}
  @keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
  .svc-top{padding:34px 36px 6px}
  .svc-top .stag{font-size:.72rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--green-deep)}
  .svc-top h3{font-size:clamp(1.3rem,2.4vw,1.7rem);margin:.5rem 0 .7rem;max-width:30ch}
  .svc-top .sintro{font-size:1rem;color:#4a5249;max-width:74ch}
  .duo{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:26px 0 0;border-top:1px solid var(--line)}
  .duo .side{padding:30px 36px}
  .duo .reliably{border-right:1px solid var(--line);background:linear-gradient(180deg,var(--green-tint),#fff 60%)}
  .duo .withai{background:linear-gradient(180deg,var(--blue-tint),#fff 60%)}
  .duo .dh{font-size:.72rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;display:flex;align-items:center;gap:.5em;margin-bottom:14px}
  .duo .reliably .dh{color:var(--green-deep)}
  .duo .withai .dh{color:var(--blue-deep)}
  .duo .withai p{font-size:.96rem;color:#42493f}
  .duo .withai p+p{margin-top:.8rem}
  .whyit{padding:26px 36px;border-top:1px solid var(--line);background:var(--paper);display:flex;gap:16px;align-items:flex-start}
  .whyit .wbar{width:4px;align-self:stretch;border-radius:4px;background:linear-gradient(180deg,var(--green),var(--blue));min-height:38px}
  .whyit .wh{font-size:.72rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
  .whyit p{font-size:.96rem;color:#42493f;margin:0}
  .whyit strong{color:var(--text);font-weight:600}
  .svc-foot{padding:24px 36px;display:flex;justify-content:flex-start}

  /* why rightwave */
  .cost{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center;margin-top:16px}
  .cost p{font-size:1.03rem;color:#4a5249;line-height:1.66}
  .cost p+p{margin-top:1rem}
  .stat{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:34px 32px}
  .stat .num{font-weight:800;font-size:clamp(3rem,7vw,4.3rem);line-height:.9;letter-spacing:-.04em;background:linear-gradient(120deg,var(--green-deep),var(--blue-deep));-webkit-background-clip:text;background-clip:text;color:transparent}
  .stat .num span{font-size:2rem}
  .stat .lbl{font-size:.92rem;color:var(--muted);margin-top:.85rem;line-height:1.5}

  /* final cta */
  .final{background:var(--white);position:relative;overflow:hidden;isolation:isolate;text-align:center}
  .final::before{content:"";position:absolute;inset:0;z-index:-1;
    background:radial-gradient(45% 70% at 22% 0%,rgba(139,186,60,.20),transparent 60%),radial-gradient(48% 75% at 80% 100%,rgba(79,182,214,.22),transparent 60%)}
  .final h2{font-size:clamp(1.9rem,4.2vw,2.9rem);max-width:22ch;margin:1rem auto 0}
  .final p{color:#4a5249;max-width:58ch;margin:1.2rem auto 0;font-size:1.04rem}
  .final-cta{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:2.1rem}

  footer{background:var(--paper);color:var(--muted);padding:52px 0 38px;border-top:3px solid transparent;border-image:linear-gradient(90deg,var(--green),var(--blue)) 1}
  .foot-top{display:flex;justify-content:space-between;align-items:flex-start;gap:30px;flex-wrap:wrap}
  footer .logo img{height:40px}
  .foot-tag{font-size:.86rem;color:var(--muted);margin-top:14px;max-width:34ch;line-height:1.6}
  .foot-links{display:flex;gap:54px;flex-wrap:wrap}
  .foot-col h4{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#7a847a;margin-bottom:14px;font-weight:700}
  .foot-col a{display:block;font-size:.9rem;color:#4a5249;margin-bottom:9px;transition:color .2s}
  .foot-col a:hover{color:var(--green-deep)}
  .foot-bottom{border-top:1px solid var(--line);margin-top:40px;padding-top:22px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:.82rem}
  .foot-bottom .lic .g{color:var(--green-deep);font-weight:600} .foot-bottom .lic .b{color:var(--blue-deep);font-weight:600}

  @media(max-width:900px){
    .nav-links{display:none}.menu-btn{display:flex}
    .modes{grid-template-columns:1fr}
    .duo{grid-template-columns:1fr}
    .duo .reliably{border-right:none;border-bottom:1px solid var(--line)}
    .cost{grid-template-columns:1fr;gap:28px}
    .foot-top{flex-direction:column}
  }
  @media(max-width:560px){
    .wrap{padding:0 20px}.pad{padding:64px 0}
    .svc-top,.duo .side,.whyit,.svc-foot{padding-left:24px;padding-right:24px}
    .hero-cta .btn,.final-cta .btn{flex:1 1 auto;justify-content:center}
  }
  @media(prefers-reduced-motion:reduce){.wave-move{animation:none}.svc-panel.active{animation:none}*{scroll-behavior:auto}}
  :focus-visible{outline:2.5px solid var(--blue);outline-offset:3px;border-radius:4px}

/* --- global additions --- */
@media(max-width:900px){
  header .nav{position:relative}
  .nav-links{position:absolute;top:74px;left:0;right:0;background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;padding:6px 0;display:none;box-shadow:0 16px 30px -22px rgba(0,0,0,.35);margin:0}
  .nav-links.open{display:flex}
  .nav-links a{padding:13px 28px;font-size:1rem;width:100%}
}
.tlist{list-style:none;display:grid;gap:7px;margin-top:2px}
.tlist li{font-size:.9rem;color:#42493f;padding-left:15px;position:relative;line-height:1.4}
.tlist li::before{content:"";position:absolute;left:0;top:.55em;width:5px;height:5px;border-radius:50%;background:var(--green)}
.pullout{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:28px 28px;border-top:3px solid transparent;border-image:linear-gradient(90deg,var(--green),var(--blue)) 1}
.pullout .po-h{font-weight:700;font-size:1.02rem;color:var(--text);margin-bottom:14px}
.po-list{list-style:none;display:grid;gap:9px}
.po-list li{font-size:.92rem;color:#42493f;padding-left:24px;position:relative;line-height:1.45}
.po-list li::before{content:"\2713";position:absolute;left:0;top:0;color:var(--green-deep);font-weight:800}
.po-close{margin-top:16px;font-size:.95rem;color:var(--text);font-weight:600}