/* FormTags website — layout: dark product-led hero, alternating light/stone/black chapters,
   one typeface (IBM Plex Sans Arabic), black & white with a single yellow touch. */
@font-face{font-family:"Plex";src:url(/static/fonts/ibm-plex-sans-arabic-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Plex";src:url(/static/fonts/ibm-plex-sans-arabic-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Plex";src:url(/static/fonts/ibm-plex-sans-arabic-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Plex";src:url(/static/fonts/ibm-plex-sans-arabic-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Plex";src:url(/static/fonts/ibm-plex-sans-arabic-arabic-400-normal.woff2) format("woff2");font-weight:400;font-display:swap;unicode-range:U+0600-06FF,U+0750-077F,U+0870-08FF,U+200C-200E,U+FB50-FDFF,U+FE70-FEFC}
@font-face{font-family:"Plex";src:url(/static/fonts/ibm-plex-sans-arabic-arabic-700-normal.woff2) format("woff2");font-weight:700;font-display:swap;unicode-range:U+0600-06FF,U+0750-077F,U+0870-08FF,U+200C-200E,U+FB50-FDFF,U+FE70-FEFC}

:root{
  --ink:#0E0E0E; --graphite:#1C1C1C; --graphite-2:#252525; --line-dark:#2C2C2C;
  --paper:#FFFFFF; --stone:#F2F0EC; --line:#E2DFD9;
  --ash:#5E5E5E; --fog:#A6A6A6; --yellow:#FFC93C;
  --font:"Plex","Segoe UI",Tahoma,system-ui,sans-serif;
  --w:1200px; --gutter:24px; --r:16px; --r-lg:24px;
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.65 var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3,h4{margin:0;font-weight:700;line-height:1.08;letter-spacing:-.025em;text-wrap:balance}
p{margin:0}
ul{margin:0;padding:0;list-style:none}
:focus-visible{outline:2px solid var(--yellow);outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:-9999px;top:8px;background:var(--paper);color:var(--ink);padding:8px 14px;border-radius:8px;z-index:100}
.skip:focus{left:8px}
.wrap{max-width:var(--w);margin-inline:auto;padding-inline:var(--gutter)}
.num{font-variant-numeric:tabular-nums}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:50px;padding-inline:24px;border-radius:999px;font:600 16px/1 var(--font);text-decoration:none;border:0;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s,box-shadow .15s,transform .15s}
.btn svg{width:18px;height:18px;flex:none;transition:transform .15s}
.btn:hover svg{transform:translateX(3px)}
.btn-light{background:var(--paper);color:var(--ink)}
.btn-light:hover{background:#E9E9E9}
.btn-dark{background:var(--ink);color:var(--paper)}
.btn-dark:hover{background:#2A2A2A}
.btn-ghost-light{color:var(--paper);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.35)}
.btn-ghost-light:hover{box-shadow:inset 0 0 0 1.5px var(--paper)}
.btn-ghost-dark{color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line)}
.btn-ghost-dark:hover{box-shadow:inset 0 0 0 1.5px var(--ink)}
.btn-sm{height:40px;padding-inline:18px;font-size:15px}

/* ---------- header ---------- */
.hdr{position:sticky;top:0;z-index:50;background:rgba(14,14,14,.86);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);color:var(--paper);border-bottom:1px solid rgba(255,255,255,.08)}
.hdr .wrap{display:flex;align-items:center;gap:32px;height:68px}
.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-weight:700;font-size:20px;letter-spacing:-.02em;flex:none}
.brand svg{height:28px;width:auto}
.nav{display:flex;gap:28px;margin-inline-start:8px}
.nav a{text-decoration:none;font-size:15px;color:var(--fog);transition:color .15s}
.nav a:hover,.nav a[aria-current="page"]{color:var(--paper)}
.hdr-cta{display:flex;align-items:center;gap:10px;margin-inline-start:auto}
.hdr-cta .login{font-size:15px;color:var(--fog);text-decoration:none;padding:8px 10px}
.hdr-cta .login:hover{color:var(--paper)}
.menu-btn{display:none;margin-inline-start:auto;background:none;border:0;color:var(--paper);width:44px;height:44px;border-radius:10px;cursor:pointer}
.menu-btn svg{width:24px;height:24px;margin:auto}
.mnav{display:none}
@media (max-width:900px){
  .nav,.hdr-cta{display:none}
  .menu-btn{display:grid}
  .mnav{display:block;position:fixed;inset:68px 0 0;background:var(--ink);padding:24px var(--gutter) 40px;transform:translateY(-8px);opacity:0;visibility:hidden;transition:opacity .2s,transform .2s,visibility .2s;overflow-y:auto}
  .mnav.open{opacity:1;transform:none;visibility:visible}
  .mnav a.l{display:block;padding:14px 0;font-size:22px;font-weight:600;text-decoration:none;border-bottom:1px solid var(--line-dark)}
  .mnav .acts{display:grid;gap:12px;margin-top:28px}
}

/* ---------- type helpers ---------- */
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:var(--ash);letter-spacing:.01em}
.eyebrow::before{content:"";width:18px;height:3px;border-radius:2px;background:var(--yellow)}
.dark .eyebrow{color:var(--fog)}
.lead{font-size:20px;line-height:1.6;color:var(--ash);max-width:38em}
.dark .lead{color:var(--fog)}
.h-xl{font-size:clamp(44px,6.4vw,84px);letter-spacing:-.035em}
.h-lg{font-size:clamp(34px,4.4vw,56px)}
.h-md{font-size:clamp(26px,3vw,36px)}
.mark-u{background:linear-gradient(transparent 84%,var(--yellow) 84%,var(--yellow) 96%,transparent 96%)}

/* ---------- sections ---------- */
section{position:relative}
.sec{padding-block:120px}
.sec-sm{padding-block:80px}
.dark{background:var(--ink);color:var(--paper)}
.stone{background:var(--stone)}
.head{display:flex;flex-direction:column;align-items:flex-start;gap:18px;max-width:760px}
.head.center{align-items:center;text-align:center;margin-inline:auto}
@media (max-width:700px){.sec{padding-block:80px}.sec-sm{padding-block:56px}.lead{font-size:18px}}

/* ---------- hero ---------- */
.hero{background:var(--ink);color:var(--paper);overflow:hidden;padding-top:96px}
.hero .bgmark{position:absolute;right:-160px;top:-120px;width:760px;opacity:.045;pointer-events:none}
.hero .wrap{position:relative}
.hero-copy{display:flex;flex-direction:column;align-items:flex-start;gap:26px;max-width:900px}
.hero-copy .lead{max-width:34em}
.hero .lead,.phero .lead,.cta .lead{color:var(--fog)}
.hero .eyebrow,.phero .eyebrow{color:var(--fog)}
.pill{display:inline-flex;align-items:center;gap:10px;height:34px;padding-inline:8px 14px;border-radius:999px;background:rgba(255,255,255,.07);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);font-size:14px;color:#DADADA;text-decoration:none}
.pill b{background:var(--paper);color:var(--ink);font-size:12px;padding:3px 8px;border-radius:999px}
.ctas{display:flex;flex-wrap:wrap;gap:12px}
.hero-shot{margin-top:72px;position:relative}
.hero-shot::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:30%;background:linear-gradient(transparent,var(--ink));pointer-events:none}

/* ---------- browser + phone frames ---------- */
.browser{border-radius:14px 14px 0 0;background:var(--graphite);box-shadow:0 0 0 1px rgba(255,255,255,.08),0 40px 120px rgba(0,0,0,.5);overflow:hidden}
.browser.light{border-radius:14px;background:#F4F4F4;box-shadow:0 0 0 1px var(--line),0 30px 80px rgba(14,14,14,.12)}
.browser .bar{height:40px;display:flex;align-items:center;gap:8px;padding-inline:16px;position:relative}
.browser .bar i{width:11px;height:11px;border-radius:50%;background:#3A3A3A}
.browser.light .bar i{background:#D6D6D6}
.browser .url{position:absolute;left:50%;transform:translateX(-50%);height:24px;display:flex;align-items:center;gap:6px;padding-inline:12px;border-radius:7px;background:#2A2A2A;color:var(--fog);font-size:12.5px;white-space:nowrap;max-width:60%;overflow:hidden}
.browser.light .url{background:#fff;color:#6B6B6B;box-shadow:0 0 0 1px #E6E6E6}
.browser .url svg{width:11px;height:11px;flex:none}
.browser img{width:100%;height:auto;background:#fff}
.phone{width:100%;max-width:320px;border-radius:52px;padding:11px;background:#111;box-shadow:0 0 0 1.5px #2C2C2C,inset 0 0 0 1px #000,0 40px 90px rgba(14,14,14,.35);position:relative}
.phone .screen{border-radius:42px;overflow:hidden;background:#fff;position:relative}
.phone .status{height:44px;display:flex;align-items:center;justify-content:space-between;padding-inline:26px 22px;font:600 14px/1 var(--font);color:#111;background:#fff;position:relative}
.phone .island{position:absolute;left:50%;top:10px;transform:translateX(-50%);width:96px;height:26px;border-radius:999px;background:#0B0B0B}
.phone .status .sys{display:flex;gap:5px;align-items:center}
.phone .status .sys i{display:block;background:#111;border-radius:2px}
.phone img{width:100%;height:auto}

/* ---------- logos ---------- */
.logos{padding-block:56px;border-bottom:1px solid var(--line)}
.logos p{text-align:center;font-size:14px;color:var(--ash)}
.logo-row{display:flex;flex-wrap:wrap;justify-content:center;gap:16px 40px;margin-top:26px}
.logo-row span{font-weight:700;font-size:19px;letter-spacing:-.02em;color:#9A9A9A;display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.logo-row span svg{width:20px;height:20px}

/* ---------- problem ---------- */
.problems{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;margin-top:56px}
.problems > div{background:var(--paper);padding:32px 28px;display:flex;flex-direction:column;gap:12px;min-width:0}
.problems .n{font-size:14px;font-weight:600;color:var(--ash)}
.problems h3{font-size:21px;letter-spacing:-.015em}
.problems p{color:var(--ash);font-size:16px}
@media (max-width:980px){.problems{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.problems{grid-template-columns:1fr}}

/* ---------- steps ---------- */
.steps{padding:0;margin-bottom:0;display:grid;grid-template-columns:repeat(4,1fr);gap:32px;margin-top:64px;counter-reset:s}
.steps li{display:flex;flex-direction:column;gap:12px;padding-top:24px;border-top:1px solid var(--line-dark);min-width:0}
.steps li::before{counter-increment:s;content:"0" counter(s);font-size:14px;font-weight:600;color:var(--fog)}
.steps h3{font-size:22px;letter-spacing:-.015em}
.steps p{color:var(--fog);font-size:16px}
@media (max-width:900px){.steps{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.steps{grid-template-columns:1fr}}

/* ---------- bento ---------- */
.bento{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;margin-top:56px}
.cell{background:var(--paper);border-radius:var(--r-lg);padding:32px;display:flex;flex-direction:column;gap:12px;box-shadow:inset 0 0 0 1px var(--line);min-width:0;overflow:hidden;position:relative}
.cell.c2{grid-column:span 2}.cell.c3{grid-column:span 3}.cell.c4{grid-column:span 4}
.cell.ink{background:var(--ink);color:var(--paper);box-shadow:none}
.cell h3{font-size:22px;letter-spacing:-.015em}
.cell p{color:var(--ash);font-size:16px}
.cell.ink p{color:var(--fog)}
.cell .ic{width:44px;height:44px;border-radius:12px;background:var(--stone);display:grid;place-items:center;margin-bottom:6px}
.cell.ink .ic{background:var(--graphite)}
.cell .ic svg{width:22px;height:22px}
@media (max-width:980px){.bento{grid-template-columns:1fr 1fr}.cell.c2,.cell.c3,.cell.c4{grid-column:span 1}.cell.wide{grid-column:span 2}}
@media (max-width:620px){.bento{grid-template-columns:1fr}.cell.wide{grid-column:span 1}}

/* request flow (built from real product states) */
.flow{display:flex;flex-direction:column;gap:10px;margin-top:14px}
.flow .row{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;background:var(--graphite);font-size:14.5px;color:#E6E6E6}
.flow .row b{font-weight:600;white-space:nowrap}
.flow .row em{font-style:normal;color:#BDBDBD;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.flow .row span{margin-inline-start:auto;font-size:12.5px;color:var(--fog);white-space:nowrap}
.flow .dot{width:8px;height:8px;border-radius:50%;background:var(--fog);flex:none}
.flow .row.on .dot{background:var(--yellow)}

/* ---------- split spotlight ---------- */
.split{display:grid;grid-template-columns:1fr 1.15fr;gap:72px;align-items:center}
.split.rev .media{order:-1}
.split .copy{display:flex;flex-direction:column;align-items:flex-start;gap:20px;min-width:0}
.ticks{display:flex;flex-direction:column;gap:14px;margin-top:6px}
.ticks li{display:flex;gap:14px;align-items:flex-start;font-size:17px}
.ticks li svg{width:22px;height:22px;flex:none;margin-top:2px}
.dark .ticks li{color:#E4E4E4}
.media{min-width:0}
.media.phones{display:flex;justify-content:center;gap:28px;align-items:flex-start}
.media.phones .phone{max-width:290px}
.media.phones .phone:nth-child(2){margin-top:64px}
@media (max-width:960px){.split{grid-template-columns:1fr;gap:48px}.split.rev .media{order:0}}
@media (max-width:560px){.media.phones .phone:nth-child(2){display:none}}

/* ---------- quote / testimonial ---------- */
.quote{max-width:900px;margin-inline:auto;text-align:center;display:flex;flex-direction:column;gap:28px;align-items:center}
.quote blockquote{margin:0;font-size:clamp(24px,3vw,34px);line-height:1.35;font-weight:600;letter-spacing:-.02em}
.quote cite{font-style:normal;font-size:15px;color:var(--ash)}

/* ---------- security strip ---------- */
.trust{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:56px}
.trust div{display:flex;flex-direction:column;gap:10px}
.trust svg,.values svg{width:28px;height:28px;flex:none;margin-bottom:6px}
.trust h3{font-size:20px}
.trust p{color:var(--fog);font-size:16px}
@media (max-width:860px){.trust{grid-template-columns:1fr}}

/* ---------- pricing ---------- */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:56px;align-items:stretch}
.plan{border-radius:var(--r-lg);padding:36px 32px;display:flex;flex-direction:column;gap:22px;box-shadow:inset 0 0 0 1px var(--line);background:var(--paper)}
.plan.hl{background:var(--ink);color:var(--paper);box-shadow:none}
.plan .name{display:flex;justify-content:space-between;align-items:center;font-weight:700;font-size:20px}
.plan .badge{font-size:12px;font-weight:600;background:var(--yellow);color:var(--ink);padding:4px 10px;border-radius:999px}
.plan .price{font-size:48px;font-weight:700;letter-spacing:-.03em;line-height:1}
.plan .price small{font-size:16px;font-weight:500;color:var(--ash);letter-spacing:0}
.plan.hl .price small,.plan.hl .desc{color:var(--fog)}
.plan .desc{color:var(--ash);font-size:15.5px}
.plan .ticks li{font-size:15.5px}
.plan .btn{margin-top:auto}
@media (max-width:960px){.plans{grid-template-columns:1fr;max-width:520px;margin-inline:auto}}

/* ---------- table ---------- */
.tbl{width:100%;border-collapse:collapse;margin-top:48px;font-size:15.5px}
.tbl th,.tbl td{text-align:left;padding:16px 12px;border-bottom:1px solid var(--line)}
.tbl th{font-weight:600}
.tbl thead th{font-size:14px;color:var(--ash);font-weight:600}
.tbl td.c,.tbl th.c{text-align:center}
.tbl-wrap{overflow-x:auto}

/* ---------- faq ---------- */
.faq{margin-top:48px;border-top:1px solid var(--line);max-width:860px}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:24px 0;font-weight:600;font-size:19px;display:flex;justify-content:space-between;align-items:center;gap:24px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";width:12px;height:12px;flex:none;border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:rotate(45deg) translate(-3px,-3px);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(225deg) translate(-3px,-3px)}
.faq .a{padding-bottom:24px;color:var(--ash);max-width:46em}
.faq.center{margin-inline:auto}

/* ---------- cta band ---------- */
.cta{background:var(--ink);color:var(--paper);overflow:hidden}
.cta .wrap{position:relative;padding-block:128px;display:flex;flex-direction:column;align-items:flex-start;gap:26px}
.cta .bgmark{position:absolute;right:-60px;top:50%;transform:translateY(-50%);width:520px;opacity:.07;pointer-events:none}
@media (max-width:700px){.cta .bgmark{width:340px;right:-140px}}

/* ---------- page hero (inner pages) ---------- */
.phero{background:var(--ink);color:var(--paper);padding-block:110px 90px;overflow:hidden}
.phero .wrap{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:22px}
.phero .bgmark{position:absolute;right:-80px;top:-150px;width:520px;opacity:.05;pointer-events:none}

/* ---------- about / values ---------- */
.values{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:56px}
.values > div{padding:32px;border-radius:var(--r-lg);background:var(--paper);box-shadow:inset 0 0 0 1px var(--line);display:flex;flex-direction:column;gap:10px}
.values h3{font-size:21px}
.values p{color:var(--ash);font-size:16px}
@media (max-width:860px){.values{grid-template-columns:1fr}}
.prose{max-width:760px}
.prose h2{font-size:28px;margin-top:48px;margin-bottom:12px}
.prose h3{font-size:20px;margin-top:28px;margin-bottom:8px}
.prose p,.prose li{color:#333;margin-bottom:14px}
.prose ul{list-style:disc;padding-left:22px}
.note{padding:16px 20px;border-radius:12px;background:var(--stone);font-size:15px;color:#444}

/* ---------- contact ---------- */
.contact-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:start}
.cards{display:grid;gap:12px}
.ccard{display:flex;gap:16px;align-items:flex-start;padding:22px 24px;border-radius:var(--r);box-shadow:inset 0 0 0 1px var(--line);background:var(--paper);text-decoration:none}
.ccard:hover{box-shadow:inset 0 0 0 1.5px var(--ink)}
.ccard svg{width:22px;height:22px;flex:none;margin-top:3px}
.ccard b{display:block;font-size:17px}
.ccard span{color:var(--ash);font-size:15.5px}
.demo-box{background:var(--ink);color:var(--paper);border-radius:var(--r-lg);padding:40px;display:flex;flex-direction:column;gap:18px;align-items:flex-start}
.demo-box p{color:var(--fog)}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr}}

/* ---------- footer ---------- */
.ftr{background:var(--ink);color:var(--fog);border-top:1px solid var(--line-dark);font-size:15px}
.ftr .top{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:40px;padding-block:72px 56px}
.ftr .brand{color:var(--paper)}
.ftr .tag{margin-top:16px;max-width:24em}
.ftr h4{font-size:14px;color:var(--paper);font-weight:600;letter-spacing:0;margin-bottom:16px}
.ftr ul{display:grid;gap:10px}
.ftr a{text-decoration:none}
.ftr a:hover{color:var(--paper)}
.ftr .bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-block:24px 32px;border-top:1px solid var(--line-dark);font-size:14px}
@media (max-width:860px){.ftr .top{grid-template-columns:1fr 1fr}.ftr .top > div:first-child{grid-column:span 2}}

/* ---------- reveal (content is visible at rest; motion only enhances) ---------- */
.js .rv{opacity:0;transform:translateY(18px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.js .rv.in{opacity:1;transform:none}

/* 404 */
.nf{min-height:calc(100vh - 68px);display:grid;place-items:center;text-align:center;background:var(--ink);color:var(--paper);padding:80px var(--gutter)}
.nf .wrap{display:flex;flex-direction:column;align-items:center;gap:22px}

/* form steps inside the bento */
.fsteps{padding:0;margin:0;list-style:none;display:flex;flex-direction:column;gap:8px;margin-top:10px}
.fsteps li{display:flex;align-items:center;gap:12px;font-size:15px;padding:10px 12px;border-radius:10px;background:var(--stone)}
.fsteps li b{width:24px;height:24px;border-radius:50%;background:var(--ink);color:var(--paper);display:grid;place-items:center;font-size:12px;flex:none}
