      :root{
        color-scheme: light dark;
        --bg:#f4f2ec;
        --bg-2:#eceade;
        --panel:#fffdf7;
        --panel-2:#f8f6ef;
        --ink:#12151a;
        --ink-2:#3c434e;
        --muted:#6b7280;
        --line:#d9d5c7;
        --accent:#0e7a5f;
        --accent-bright:#10a37f;
        --amber:#d97706;
        --term-bg:#10141b;
        --term-panel:#161c26;
        --term-line:#262f3f;
        --term-ink:#dbe4f0;
        --radius:14px;
        --font-d:"Bricolage Grotesque","Archivo",sans-serif;
        --font-b:"Archivo",system-ui,sans-serif;
        --font-m:"JetBrains Mono",ui-monospace,monospace;
      }
      @media (prefers-color-scheme: dark){
        :root{
          --bg:#0a0d11;
          --bg-2:#0e1218;
          --panel:#11161e;
          --panel-2:#151b25;
          --ink:#eef2f7;
          --ink-2:#b9c3d0;
          --muted:#7e8a99;
          --line:#232c39;
          --accent:#2bd9a9;
          --accent-bright:#3ee6bb;
          --amber:#f5b544;
        }
      }
      *{box-sizing:border-box}
      html{scroll-behavior:smooth}
      body{
        margin:0;background:var(--bg);color:var(--ink);
        font-family:var(--font-b);font-size:16.5px;line-height:1.6;
        -webkit-font-smoothing:antialiased;overflow-x:hidden;
      }
      ::selection{background:var(--accent-bright);color:#fff}
      ::-moz-selection{background:var(--accent-bright);color:#fff}
      a{color:inherit}
      img{max-width:100%;display:block}
      .wrap{max-width:1240px;margin:0 auto;padding:0 clamp(18px,4vw,44px)}

      /* ---------- nav ---------- */
      header.nav{
        position:sticky;top:0;z-index:60;
        backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
        background:color-mix(in srgb, var(--bg) 82%, transparent);
        border-bottom:1px solid var(--line);
      }
      .nav-in{display:flex;align-items:center;gap:26px;height:62px}
      .logo{
        display:inline-flex;align-items:baseline;text-decoration:none;flex:none;
        font-family:var(--font-d);font-weight:800;font-size:clamp(28px,3.4vw,34px);letter-spacing:-.02em;line-height:1;
      }
      .logo .b{
        display:inline-block;color:var(--amber);
        transform:rotate(-15deg) translateY(1px);transform-origin:50% 62%;
      }
      .logo:hover .b{transform:rotate(-15deg) translateY(1px) scale(1.12)}
      @media (prefers-reduced-motion: no-preference){ .logo .b{transition:transform .25s ease} }
      .nav-links{display:flex;gap:26px;margin-left:auto}
      .nav-links a{
        text-decoration:none;font-size:14.5px;font-weight:600;color:var(--ink-2);
        letter-spacing:.01em;
      }
      .nav-links a:hover{color:var(--accent)}
      .lang-select{
        flex:0 0 auto;width:auto;min-width:0;max-width:none;
        field-sizing:content;
        font-family:var(--font-m);font-size:12px;font-weight:700;cursor:pointer;
        border:1px solid var(--line);background-color:var(--panel);color:var(--ink);
        padding:6px 24px 6px 10px;border-radius:999px;letter-spacing:.03em;
        appearance:none;-webkit-appearance:none;
        background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M3 4.5 6 7.5 9 4.5'/%3E%3C/svg%3E");
        background-repeat:no-repeat;background-position:right 9px center;
      }
      .lang-select:hover{border-color:var(--accent);color:var(--accent)}
      .lang-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 25%,transparent)}
      .btn{
        display:inline-flex;align-items:center;gap:9px;text-decoration:none;cursor:pointer;
        font-weight:700;font-size:15px;border-radius:10px;padding:12px 22px;border:1px solid transparent;
        transition:transform .15s ease, background .15s ease, border-color .15s ease;
      }
      .btn:active{transform:translateY(1px)}
      .btn-solid{background:var(--accent);color:#052e24}
      @media (prefers-color-scheme: light){ .btn-solid{color:#ffffff} }
      .btn-solid:hover{background:var(--accent-bright)}
      .btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}
      .btn-ghost:hover{border-color:var(--accent);color:var(--accent)}
      .btn-sm{padding:9px 17px;font-size:14px}
      .nav-toggle{
        display:none;flex:none;align-items:center;justify-content:center;
        width:42px;height:42px;margin-left:auto;padding:0;cursor:pointer;
        border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--ink);
      }
      .nav-toggle:hover{border-color:var(--accent);color:var(--accent)}
      .nav-toggle-icon{
        position:relative;width:18px;height:2px;background:currentColor;border-radius:1px;
      }
      .nav-toggle-icon::before,.nav-toggle-icon::after{
        content:"";position:absolute;left:0;width:18px;height:2px;background:currentColor;border-radius:1px;
        transition:transform .2s ease, top .2s ease, opacity .2s ease;
      }
      .nav-toggle-icon::before{top:-6px}
      .nav-toggle-icon::after{top:6px}
      header.nav.is-open .nav-toggle-icon{background:transparent}
      header.nav.is-open .nav-toggle-icon::before{top:0;transform:rotate(45deg)}
      header.nav.is-open .nav-toggle-icon::after{top:0;transform:rotate(-45deg)}
      @media (max-width:760px){
        .nav-toggle{display:inline-flex}
        .nav-links{
          display:none;position:fixed;left:0;right:0;top:62px;z-index:59;
          flex-direction:column;align-items:stretch;gap:0;margin:0;
          padding:8px clamp(18px,4vw,44px) 16px;
          max-height:calc(100dvh - 62px);overflow-y:auto;
          background:color-mix(in srgb, var(--bg) 96%, transparent);
          border-bottom:1px solid var(--line);
          backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
          box-shadow:0 12px 28px rgba(0,0,0,.08);
        }
        header.nav.is-open .nav-links{display:flex}
        .nav-links a{
          padding:14px 4px;font-size:16px;font-weight:600;
          border-bottom:1px solid var(--line);
        }
        .nav-links a:last-child{border-bottom:none}
        .nav-in{flex-wrap:nowrap;gap:10px}
        .lang-select{padding:6px 22px 6px 9px;font-size:11.5px}
        .nav-in .btn-sm{padding:9px 12px;font-size:13px;white-space:nowrap;flex:none}
      }

      /* ---------- hero ---------- */
      .hero{position:relative;padding:clamp(48px,7vw,96px) 0 0;overflow:hidden}
      .hero::before{
        content:"";position:absolute;inset:0;pointer-events:none;
        background-image:
          linear-gradient(var(--line) 1px, transparent 1px),
          linear-gradient(90deg, var(--line) 1px, transparent 1px);
        background-size:56px 56px;opacity:.35;
        mask-image:radial-gradient(ellipse 90% 70% at 50% 0%, #000 30%, transparent 78%);
        -webkit-mask-image:radial-gradient(ellipse 90% 70% at 50% 0%, #000 30%, transparent 78%);
      }
      .hero-grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,4vw,56px);align-items:start}
      @media (max-width:960px){ .hero-grid{grid-template-columns:1fr} }
      .eyebrow{
        font-family:var(--font-m);font-size:12.5px;font-weight:700;letter-spacing:.14em;
        color:var(--accent);text-transform:uppercase;display:flex;align-items:center;gap:10px;margin:0 0 20px;
      }
      .eyebrow::before{content:"";width:26px;height:2px;background:var(--accent)}
      h1{
        font-family:var(--font-d);font-weight:800;letter-spacing:-.015em;
        font-size:clamp(42px,5.6vw,72px);line-height:1.02;margin:0 0 22px;
      }
      h1 .hl{color:var(--accent);white-space:nowrap}
      h1 .amber{color:var(--amber)}
      .lede{font-size:clamp(17px,1.6vw,19.5px);color:var(--ink-2);max-width:34em;margin:0 0 30px}
      .hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:34px}
      .hero-points{display:flex;flex-wrap:wrap;gap:8px 22px;font-family:var(--font-m);font-size:13px;color:var(--muted)}
      .hero-points span::before{content:"▸ ";color:var(--accent);font-weight:700}

      /* terminal */
      .term{
        background:var(--term-bg);border:1px solid var(--term-line);border-radius:var(--radius);
        box-shadow:0 30px 60px -18px rgba(0,0,0,.45);overflow:hidden;
        font-family:var(--font-m);
      }
      .term-bar{display:flex;align-items:center;gap:8px;padding:11px 14px;background:var(--term-panel);border-bottom:1px solid var(--term-line)}
      .dot{width:11px;height:11px;border-radius:50%}
      .dot.r{background:#ff5f57}.dot.y{background:#febc2e}.dot.g{background:#28c840}
      .term-tabs{display:flex;gap:4px;margin-left:12px;flex-wrap:wrap}
      .term-tab{
        font-family:var(--font-m);font-size:12px;color:#8b98ab;background:transparent;border:1px solid transparent;
        padding:5px 11px;border-radius:7px;cursor:pointer;white-space:nowrap;
      }
      .term-tab:hover{color:#dbe4f0}
      .term-tab.on{background:#1d2635;color:#fff;border-color:var(--term-line)}
      .term-body{padding:18px 18px 14px;min-height:308px;font-size:13.2px;line-height:1.75;color:var(--term-ink);overflow-x:auto}
      .term-body pre{margin:0;white-space:pre}
      .caret{display:inline-block;width:8px;height:15px;background:var(--accent-bright);vertical-align:-2px;animation:blink 1s steps(1) infinite}
      @keyframes blink{50%{opacity:0}}
      .tok-k{color:#ff7a93}.tok-s{color:#a5d6a7}.tok-c{color:#5f7089;font-style:italic}
      .tok-f{color:#7dd3fc}.tok-a{color:#f5b544}.tok-n{color:#c4b5fd}
      .term-foot{
        display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;
        border-top:1px solid var(--term-line);background:var(--term-panel);
        padding:9px 14px;font-size:11.5px;color:#8b98ab;
      }
      .term-foot b{color:var(--accent-bright);font-weight:700}
      .hero-chips{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}
      .chip{
        font-family:var(--font-m);font-size:12.5px;font-weight:500;color:var(--ink-2);
        border:1px solid var(--line);background:var(--panel);border-radius:999px;padding:6px 13px;
      }
      .chip b{color:var(--accent);font-weight:700}

      /* marquee */
      .marquee{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:clamp(44px,6vw,72px);background:var(--bg-2);overflow:hidden;padding:15px 0}
      .marquee-track{display:flex;gap:0;width:max-content;animation:scroll 30s linear infinite}
      .marquee:hover .marquee-track{animation-play-state:paused}
      .marquee span{
        font-family:var(--font-m);font-size:14px;font-weight:700;letter-spacing:.06em;color:var(--ink-2);
        padding:0 26px;white-space:nowrap;
      }
      .marquee span i{font-style:normal;color:var(--accent);padding-right:26px}
      @keyframes scroll{to{transform:translateX(-50%)}}

      /* ---------- sections ---------- */
      section{padding:clamp(56px,7vw,96px) 0}
      .sec-head{max-width:760px;margin-bottom:clamp(30px,4vw,48px)}
      h2{font-family:var(--font-d);font-weight:800;font-size:clamp(30px,3.6vw,46px);line-height:1.08;letter-spacing:-.01em;margin:0 0 14px}
      .sec-head p{color:var(--ink-2);font-size:17.5px;margin:0}

      /* services */
      .svc{
        display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,52px);align-items:center;
        padding:clamp(30px,4vw,52px) 0;border-top:1px solid var(--line);
      }
      @media (max-width:900px){ .svc{grid-template-columns:1fr} .svc .svc-media{order:-1} }
      .svc-num{font-family:var(--font-m);font-size:13px;font-weight:700;color:var(--accent);letter-spacing:.1em;margin:0 0 12px}
      .svc h3{font-family:var(--font-d);font-weight:800;font-size:clamp(26px,2.8vw,36px);line-height:1.12;margin:0 0 14px}
      .svc p.desc{color:var(--ink-2);margin:0 0 20px;font-size:16.5px}
      .svc ul{list-style:none;margin:0 0 24px;padding:0;display:grid;gap:11px}
      .svc li{display:flex;gap:11px;font-size:15.5px;color:var(--ink-2)}
      .svc li::before{content:"→";color:var(--accent);font-weight:700;font-family:var(--font-m);flex:none}
      .svc li b{color:var(--ink)}
      .stack-row{display:flex;flex-wrap:wrap;gap:8px}
      .stack-row .chip{font-size:12px}
      .svc-media{position:relative}
      .svc-media img{border-radius:var(--radius);border:1px solid var(--line);width:100%;height:100%;object-fit:cover;aspect-ratio:4/2.72}
      .float-card{
        position:absolute;left:14px;right:14px;bottom:14px;
        background:var(--term-bg);
        border:1px solid var(--term-line);border-radius:10px;padding:13px 16px;
        font-family:var(--font-m);font-size:12.3px;line-height:1.7;color:var(--term-ink);
        overflow-x:auto;white-space:pre;
      }
      .float-card .ok{color:var(--accent-bright)}

      /* stack */
      .stack-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
      @media (max-width:1020px){ .stack-grid{grid-template-columns:repeat(2,1fr)} }
      @media (max-width:520px){ .stack-grid{grid-template-columns:1fr} }
      .stack-col{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:22px}
      .stack-col h4{font-family:var(--font-m);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin:0 0 16px}
      .stack-col ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
      .stack-col li{font-weight:600;font-size:15px;display:flex;justify-content:space-between;gap:8px}
      .stack-col li small{font-family:var(--font-m);font-weight:400;color:var(--muted);font-size:11.5px;text-align:right}

      /* process */
      .process{background:var(--bg-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
      .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--panel)}
      @media (max-width:900px){ .steps{grid-template-columns:1fr 1fr} }
      @media (max-width:540px){ .steps{grid-template-columns:1fr} }
      .step{padding:28px 26px 32px;border-right:1px solid var(--line)}
      .step:last-child{border-right:none}
      @media (max-width:900px){ .step{border-bottom:1px solid var(--line)} }
      .step .n{font-family:var(--font-m);font-size:30px;font-weight:700;color:var(--accent);display:block;margin-bottom:14px}
      .step h4{font-family:var(--font-d);font-size:20px;font-weight:800;margin:0 0 9px}
      .step p{color:var(--ink-2);font-size:14.8px;margin:0}
      .step code{font-family:var(--font-m);font-size:12px;color:var(--accent);display:block;margin-top:14px}

      /* work band */
      .band{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(28px,4vw,52px);align-items:center}
      @media (max-width:900px){ .band{grid-template-columns:1fr} }
      .band img{border-radius:var(--radius);border:1px solid var(--line);aspect-ratio:16/10;object-fit:cover;width:100%}
      .engage{display:grid;gap:0;border-top:1px solid var(--line)}
      .engage-row{display:grid;grid-template-columns:64px 1fr;gap:18px;padding:20px 0;border-bottom:1px solid var(--line);align-items:baseline}
      .engage-row .n{font-family:var(--font-m);font-weight:700;color:var(--amber);font-size:15px}
      .engage-row h4{font-family:var(--font-d);font-size:19px;font-weight:800;margin:0 0 5px}
      .engage-row p{color:var(--ink-2);font-size:15px;margin:0}

      /* team */
      .team{scroll-margin-top:80px}
      section.team,section#stack{padding:clamp(28px,3.5vw,44px) 0}
      section.team + section#stack{padding-top:clamp(12px,2vw,24px)}
      section.team .sec-head,section#stack .sec-head{margin-bottom:clamp(22px,2.8vw,34px)}
      .team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2vw,22px)}
      @media (max-width:900px){ .team-grid{grid-template-columns:1fr} }
      .team-card{
        background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);
        padding:clamp(22px,2.5vw,30px) clamp(20px,2.2vw,26px) clamp(20px,2.2vw,28px);
        display:flex;flex-direction:column;gap:10px;min-width:0;
      }
      .team-avatar{
        width:80px;height:80px;border-radius:50%;flex:none;margin-bottom:4px;
        display:flex;align-items:center;justify-content:center;
        font-family:var(--font-d);font-weight:800;font-size:24px;letter-spacing:-.03em;
        color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.2);
        border:1px solid color-mix(in srgb, var(--line) 35%, transparent);
      }
      .team-avatar-a{background:linear-gradient(160deg,var(--accent-bright) 0%,var(--accent) 55%,color-mix(in srgb,var(--accent) 70%,#052018) 100%)}
      .team-avatar-b{background:linear-gradient(160deg,#f59e0b 0%,var(--amber) 50%,color-mix(in srgb,var(--amber) 55%,#5c3a06) 100%)}
      .team-avatar-c{background:linear-gradient(160deg,#3d4550 0%,#1a1f28 55%,#0a0d11 100%)}
      .team-name{font-family:var(--font-d);font-weight:800;font-size:clamp(20px,2vw,24px);margin:0;line-height:1.12;color:var(--ink)}
      .team-role{
        margin:-2px 0 0;font-family:var(--font-m);font-size:11.5px;font-weight:700;letter-spacing:.1em;
        text-transform:uppercase;color:var(--accent);
      }
      .team-bio{margin:6px 0 0;font-size:15px;line-height:1.58;color:var(--ink-2);flex:1}
      .team-tags{
        margin-top:14px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;
        grid-template-rows:repeat(2,auto);
      }
      .team-tags .chip{
        font-size:11.5px;padding:5px 10px;text-align:center;justify-self:stretch;min-width:0;
      }

      /* faq */
      .faq{max-width:820px}
      details{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);margin-bottom:12px;overflow:hidden}
      summary{
        cursor:pointer;list-style:none;padding:19px 22px;font-family:var(--font-d);font-weight:700;font-size:17px;
        display:flex;justify-content:space-between;gap:14px;align-items:center;
      }
      summary::-webkit-details-marker{display:none}
      summary::after{content:"+";font-family:var(--font-m);color:var(--accent);font-size:21px;font-weight:700;flex:none}
      details[open ] summary::after{content:"–"}
      details .a{padding:0 22px 20px;color:var(--ink-2);font-size:15.5px}
      details .a p{margin:0}

      /* contact */
      .contact{background:var(--term-bg);color:var(--term-ink);border-radius:calc(var(--radius) + 6px);padding:clamp(30px,4.5vw,54px);position:relative;overflow:hidden}
      .contact::before{
        content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
        background-image:linear-gradient(var(--term-line) 1px, transparent 1px),linear-gradient(90deg, var(--term-line) 1px, transparent 1px);
        background-size:48px 48px;
        mask-image:radial-gradient(ellipse 70% 90% at 85% 20%, #000, transparent 70%);
        -webkit-mask-image:radial-gradient(ellipse 70% 90% at 85% 20%, #000, transparent 70%);
      }
      .contact-grid{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,54px)}
      @media (max-width:900px){ .contact-grid{grid-template-columns:1fr} }
      .contact h2{color:#fff}
      .contact .eyebrow{color:var(--accent-bright)}
      .contact p{color:#a9b6c8}
      .contact .mail{font-family:var(--font-m);font-size:15px;color:#fff;text-decoration:none;border-bottom:2px solid var(--accent);padding-bottom:2px}
      .contact .mail:hover{color:var(--accent-bright)}
      form{display:grid;gap:13px}
      .frow{display:grid;grid-template-columns:1fr 1fr;gap:13px}
      @media (max-width:540px){ .frow{grid-template-columns:1fr} }
      label{font-family:var(--font-m);font-size:11.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#8b98ab;display:block;margin-bottom:6px}
      input,select,textarea{
        width:100%;background:#0c1017;border:1px solid var(--term-line);border-radius:9px;color:#eef2f7;
        font-family:var(--font-b);font-size:15px;padding:12px 14px;outline:none;
      }
      input:focus,select:focus,textarea:focus{border-color:var(--accent)}
      textarea{resize:vertical;min-height:104px}
      .form-note{font-size:13px;color:#8b98ab;margin:0}
      .form-note.is-error{color:#fca5a5}
      .form-ok{display:none;background:#0d2b22;border:1px solid var(--accent);color:#b9f4e2;border-radius:9px;padding:13px 16px;font-size:14.5px}
      .form-ok.show{display:block}

      footer{padding:34px 0 44px;border-top:1px solid var(--line);margin-top:clamp(20px,2.5vw,36px)}
      .foot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-family:var(--font-m);font-size:12.5px;color:var(--muted)}
      .foot a{text-decoration:none}
      .foot a:hover{color:var(--accent)}

      /* reveal: visible by default; JS arms the animation only when IO exists */
      @media (prefers-reduced-motion: no-preference){
        .reveal{transition:opacity .55s ease,transform .55s ease}
        .reveal.armed{opacity:0;transform:translateY(14px)}
        .reveal.armed.in{opacity:1;transform:none}
      }
      @media (prefers-reduced-motion: reduce){
        .marquee-track{animation:none}
        .caret{animation:none}
        html{scroll-behavior:auto}
      }

      ::selection{background:var(--accent-bright);color:#fff}
      ::-moz-selection{background:var(--accent-bright);color:#fff}
      main > section:last-of-type{padding-bottom:clamp(28px,3.5vw,44px)}
      footer{margin-top:clamp(20px,2.5vw,36px)}
      .nav-links a[aria-current="page"]{color:var(--accent)}

      /* contact page — same light language as other sections */
      .contact-page{padding:clamp(56px,7vw,96px) 0}
      .contact-layout{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(28px,4vw,48px);align-items:start}
      @media (max-width:900px){ .contact-layout{grid-template-columns:1fr} }
      .contact-intro .contact-meta{margin:0;font-family:var(--font-m);font-size:13px;color:var(--muted)}
      .contact-intro .mail{font-family:var(--font-m);font-size:15px;color:var(--accent);text-decoration:none;border-bottom:2px solid var(--accent);padding-bottom:2px}
      .contact-intro .mail:hover{color:var(--accent-bright)}
      .contact-form-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(22px,3vw,32px)}

      /* forms (light) */
      form{display:grid;gap:13px}
      .frow{display:grid;grid-template-columns:1fr 1fr;gap:13px}
      @media (max-width:540px){ .frow{grid-template-columns:1fr} }
      label{font-family:var(--font-m);font-size:11.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:6px}
      input,select,textarea{
        width:100%;background:var(--bg);border:1px solid var(--line);border-radius:9px;color:var(--ink);
        font-family:var(--font-b);font-size:15px;padding:12px 14px;outline:none;
      }
      input:focus,select:focus,textarea:focus{border-color:var(--accent)}
      textarea{resize:vertical;min-height:104px}
      .form-note{font-size:13px;color:var(--muted);margin:0}
      .form-note.is-error{color:#b45309}
      @media (prefers-color-scheme: dark){ .form-note.is-error{color:#fca5a5} }
      .form-ok{display:none;background:color-mix(in srgb,var(--accent) 12%,var(--panel));border:1px solid var(--accent);color:var(--ink);border-radius:9px;padding:13px 16px;font-size:14.5px}
      .form-ok.show{display:block}

      /* home page sections — tighter vertical rhythm than default section padding */
      section.home-gateway,section.home-why,section.home-process{padding:clamp(24px,3vw,40px) 0}
      section.home-gateway + section.home-why,section.home-why + section.home-process{padding-top:clamp(16px,2vw,28px)}
      .home-gateway{border-top:1px solid var(--line);margin-top:clamp(12px,2vw,20px)}
      section.home-gateway{padding-top:clamp(28px,3.5vw,44px)}
      section.home-gateway .sec-head,section.home-why .sec-head,section.home-process .sec-head{margin-bottom:clamp(22px,2.8vw,34px)}
      .home-svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,22px)}
      @media (max-width:1020px){ .home-svc-grid{grid-template-columns:1fr} }
      .home-svc-card{display:flex;flex-direction:column;height:100%}
      .home-svc-card .home-svc-more{margin-top:auto;padding-top:8px}
      .home-svc-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(22px,3vw,30px);min-width:0}
      .home-svc-card h3{font-family:var(--font-d);font-weight:800;font-size:clamp(20px,2.2vw,26px);line-height:1.15;margin:0 0 10px}
      .home-svc-num{font-family:var(--font-m);font-size:13px;font-weight:700;color:var(--accent);letter-spacing:.1em;margin:0 0 12px}
      .home-svc-lede{color:var(--ink-2);margin:0 0 16px;font-size:15.5px;line-height:1.55}
      .home-svc-list{margin:0 0 18px;padding:0;list-style:none;display:grid;gap:9px}
      .home-svc-list li{display:flex;gap:10px;font-size:15px;color:var(--ink-2)}
      .home-svc-list li::before{content:"→";color:var(--accent);font-weight:700;font-family:var(--font-m);flex:none}
      .home-svc-more{font-weight:700;color:var(--accent);text-decoration:none;font-size:15px}
      .home-svc-more:hover{color:var(--accent-bright)}
      .home-demo-note{font-family:var(--font-m);font-size:12.5px;color:var(--muted);margin:0 0 12px;line-height:1.45}
      .home-why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
      @media (max-width:900px){ .home-why-grid{grid-template-columns:1fr} }
      .home-why-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:22px 20px;min-width:0}
      .home-why-n{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:999px;background:color-mix(in srgb,var(--accent) 14%,var(--panel));color:var(--accent);font-family:var(--font-m);font-weight:800;font-size:14px;margin-bottom:12px}
      .home-why-card h3{font-family:var(--font-d);font-weight:800;font-size:18px;margin:0 0 8px;line-height:1.2}
      .home-why-card p{margin:0;font-size:15px;color:var(--ink-2);line-height:1.55}
      .home-section-link{margin:clamp(18px,2.5vw,26px) 0 0;text-align:center}
      .home-section-link a{font-weight:700;font-size:15px;color:var(--accent);text-decoration:none}
      .home-section-link a:hover{color:var(--accent-bright)}
      .home-close{padding:0 0 clamp(56px,7vw,80px)}
      .home-close-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 28px;padding:clamp(24px,4vw,36px);background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}
      .home-close-inner h2{margin:0 0 8px;font-family:var(--font-d);font-weight:800;font-size:clamp(24px,3vw,32px);line-height:1.1}
      .home-close-inner p{margin:0;color:var(--ink-2);font-size:16px;line-height:1.55;max-width:520px}

