@font-face{font-family:Poppins;font-weight:500;font-display:swap;src:url(assets/fonts/poppins-500.woff2) format("woff2")}
@font-face{font-family:Poppins;font-weight:600;font-display:swap;src:url(assets/fonts/poppins-600.woff2) format("woff2")}
@font-face{font-family:Poppins;font-weight:700;font-display:swap;src:url(assets/fonts/poppins-700.woff2) format("woff2")}
@font-face{font-family:Inter;font-weight:400 600;font-display:swap;src:url(assets/fonts/inter-400-600.woff2) format("woff2")}

:root{
  --blue:#68adec; --green:#50d98c;
  --blue-ink:#2f7fc9; --green-ink:#1fa860;
  --ink:#0f1b2d; --muted:#5c6b7e; --line:#e6eaf0; --bg:#fff; --bg-alt:#f5f7fa;
  --head:Poppins,system-ui,sans-serif; --body:Inter,system-ui,sans-serif;
  /* fluid scale: grows smoothly with the screen instead of jumping at breakpoints */
  --gutter:clamp(16px,4vw,40px);
  --space-section:clamp(56px,9vw,112px);
  --fs-body:clamp(.95rem,.9rem + .25vw,1.08rem);
  --fs-h1:clamp(2rem,1.2rem + 4.2vw,4.4rem);
  --fs-h2:clamp(1.55rem,1.1rem + 2.2vw,2.8rem);
  --fs-lead:clamp(1rem,.93rem + .5vw,1.3rem);
  --max:min(1200px,100% - 2*var(--gutter));
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:76px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 var(--fs-body)/1.65 var(--body);overflow-wrap:break-word;padding-inline:env(safe-area-inset-left) env(safe-area-inset-right)}
img{max-width:100%;height:auto}
svg{display:block;fill:none}
.wrap{width:var(--max);margin-inline:auto}
.narrow{width:min(680px,100% - 2*var(--gutter))}

/* nav */
.nav{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:72px}
.brand{display:flex;align-items:center;flex:none}
.brand img{display:block;height:clamp(46px,6vw,60px);width:auto}
nav{display:flex;align-items:center;gap:clamp(12px,2.4vw,26px)}
nav a{color:var(--ink);text-decoration:none;font-size:.95rem}
.lang{min-height:36px;min-width:44px;background:none;border:1px solid var(--line);border-radius:999px;padding:4px 12px;cursor:pointer;font:500 .8rem var(--head);color:var(--ink)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;background:linear-gradient(135deg,var(--blue),var(--green));color:#fff;border:0;padding:12px 26px;border-radius:999px;font:600 .95rem var(--head);text-decoration:none;cursor:pointer;transition:transform .15s,box-shadow .15s}
.btn:hover{transform:translateY(-1px);box-shadow:0 8px 20px -8px rgba(47,127,201,.5)}
.btn-small{min-height:38px;padding:8px 18px;font-size:.85rem;color:#fff!important}
.btn-ghost{background:#fff;color:var(--ink);border:1px solid var(--line)}
.btn-ghost:hover{box-shadow:none;border-color:var(--blue)}
a:focus-visible,button:focus-visible{outline:3px solid var(--blue);outline-offset:3px}

/* hero */
.hero{padding:clamp(40px,8vw,96px) 0 clamp(32px,5vw,64px);background:radial-gradient(900px 380px at 85% -5%,rgba(104,173,236,.16),transparent 70%),radial-gradient(700px 320px at 0% 100%,rgba(80,217,140,.12),transparent 70%)}
.hero-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:clamp(32px,5vw,72px);align-items:center}
.eyebrow{font:600 clamp(.7rem,.65rem + .2vw,.82rem) var(--head);letter-spacing:.1em;text-transform:uppercase;color:var(--green-ink);margin:0 0 14px}
h1{font:700 var(--fs-h1)/1.08 var(--head);letter-spacing:-.02em;margin:0 0 clamp(14px,2vw,22px);text-wrap:balance}
.lead{font-size:var(--fs-lead);color:var(--muted);margin:0 0 clamp(22px,3vw,34px);max-width:34em}
.cta{display:flex;gap:12px;flex-wrap:wrap}

.blocks{display:flex;flex-direction:column;align-items:center;justify-self:center;width:100%;max-width:340px}
.block{width:100%;display:flex;align-items:center;gap:14px;background:#fff;border:2px solid var(--blue);border-radius:22px;padding:clamp(14px,2vw,20px) clamp(16px,2vw,24px);font:600 clamp(.95rem,.9rem + .3vw,1.1rem) var(--head);box-shadow:0 14px 30px -18px rgba(15,27,45,.25)}
.block svg{width:30px;height:30px;color:var(--blue-ink);flex:none}
.b1 svg,.b3 svg{stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.b2 svg{fill:currentColor;color:#d97757}
.b2{border-color:transparent;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(135deg,var(--blue),var(--green)) border-box}
.b3{border-color:var(--green)}
.b3 svg{color:var(--green-ink)}
.link{width:3px;height:clamp(16px,2.4vw,26px);background:linear-gradient(var(--blue),var(--green));border-radius:2px}

.outcomes{display:flex;gap:12px clamp(18px,3vw,36px);flex-wrap:wrap;margin-top:clamp(32px,5vw,64px);padding-top:clamp(18px,3vw,30px);border-top:1px solid var(--line)}
.outcomes div{display:flex;align-items:center;gap:10px;font:500 clamp(.88rem,.85rem + .2vw,1rem) var(--head)}
.outcomes svg{width:24px;height:24px;stroke:var(--blue-ink);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

/* sections */
.section{padding:var(--space-section) 0}
.alt{background:var(--bg-alt)}
h2{font:700 var(--fs-h2)/1.15 var(--head);letter-spacing:-.015em;margin:0 0 12px;text-wrap:balance}
.sub{color:var(--muted);margin:0 0 clamp(24px,4vw,44px);max-width:38em}
h3{font:600 clamp(1.05rem,1rem + .2vw,1.2rem) var(--head);margin:14px 0 6px}

/* cards re-flow by available width: 5 / 3 / 2 / 1 columns without fixed breakpoints */
.steps{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:clamp(12px,1.6vw,20px);counter-reset:s}
.steps li{flex:1 1 min(100%,190px);counter-increment:s;background:#fff;border:1px solid var(--line);border-radius:20px;padding:clamp(18px,2vw,26px);position:relative}
.steps li::after{content:counter(s,decimal-leading-zero);position:absolute;top:18px;right:18px;font:700 .8rem var(--head);color:#c7cfdb}
.steps svg{width:34px;height:34px;stroke-width:1.7;stroke:var(--blue-ink);stroke-linecap:round;stroke-linejoin:round}
.steps li:nth-child(n+3) svg{stroke:var(--green-ink)}
.steps p{margin:0;color:var(--muted);font-size:.92em;line-height:1.55}

/* cases */
.cases{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:clamp(16px,2vw,28px)}
.case{background:#fff;border:1px solid var(--line);border-radius:24px;padding:clamp(22px,3vw,36px);display:flex;flex-direction:column;gap:6px}
.case-head{display:flex;align-items:center;gap:10px;font:600 .78rem var(--head);letter-spacing:.08em;text-transform:uppercase;color:var(--green-ink)}
.case-head svg{width:26px;height:26px;stroke:var(--blue-ink);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.case h3{margin:10px 0 4px;font-size:clamp(1.2rem,1.05rem + .6vw,1.5rem)}
.case p{margin:0 0 14px;color:var(--muted)}
.case ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.case li{display:flex;gap:10px;align-items:flex-start;font-size:.95em}
.case li svg{width:20px;height:20px;flex:none;margin-top:3px;stroke:var(--green-ink);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}

/* legal / text page */
.doc{padding:clamp(40px,7vw,88px) 0}
.doc h1{font-size:clamp(1.8rem,1.2rem + 2.6vw,3rem);margin-bottom:8px}
.doc h2{font-size:clamp(1.15rem,1.05rem + .5vw,1.4rem);margin:32px 0 8px}
.doc p,.doc li{color:var(--muted)}
.doc ul{padding-left:1.2em}
.doc .updated{font-size:.9em}
.foot-inner a{color:var(--muted)}

/* tools */
.logos{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:clamp(8px,1.4vw,14px)}
.logos li{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:10px clamp(14px,2vw,22px);color:#6b7788;font:500 clamp(.85rem,.8rem + .2vw,.98rem) var(--head);transition:color .2s,border-color .2s}
.logos svg{width:22px;height:22px;fill:currentColor;flex:none}
.logos.small li{padding:8px 16px;font-size:.85rem}
.logos.small svg{width:18px;height:18px}
.logos li:hover{border-color:currentColor}
.claude:hover{color:#d97757}.openai:hover{color:#10a37f}.copilot:hover{color:#0078d4}.gemini:hover{color:#4285f4}.grok:hover{color:#111}.n8n:hover{color:#ea4b71}.make:hover{color:#6d00cc}
.note{margin:28px 0 12px;color:var(--muted);font-size:.92em}

/* form */
form{display:grid;gap:16px;margin:8px 0}
.row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:16px}
label{display:grid;gap:6px;font:500 .85rem var(--head)}
input,textarea{width:100%;font:400 1rem var(--body);padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink)}
textarea{resize:vertical;min-height:140px}
input:focus,textarea:focus{outline:2px solid var(--blue);outline-offset:1px}
form .btn{justify-self:start}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.status{min-height:1.5em;margin:0;font-size:.95rem}
.status.ok{color:var(--green-ink)}
.status.err{color:#c0392b}

.footer{border-top:1px solid var(--line);padding:24px 0 max(24px,env(safe-area-inset-bottom));color:var(--muted);font-size:.85rem}
.foot-inner{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}

/* small phones: keep the nav tidy */
@media (max-width:560px){
  nav a:not(.btn){display:none}
  .cta .btn{flex:1 1 100%}
  form .btn{justify-self:stretch}
}
/* very large / ultra-wide screens */
@media (min-width:1600px){
  html{font-size:112.5%}
}
/* touch devices: no hover lift */
@media (hover:none){
  .btn:hover{transform:none;box-shadow:none}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{transition:none!important}
}
@media print{
  .nav,.cta,form{display:none}
}
