:root{--ink:#12302b;--muted:#3f5f58;--line:#d3e4df;--surface:#ffffff;--tint:#eef7f4;--brand:#0f5147;--brand-ink:#ffffff;--brand-soft:#e0efe9;--warm:#7d4f12;--warm-soft:#fbf1e0;--ring:#0b6657;--shadow:0 1px 2px rgba(18,48,43,.05),0 10px 26px -18px rgba(18,48,43,.45);--radius:.85rem;font-family:'Cairo','Tajawal',system-ui,'Segoe UI',sans-serif;color-scheme:light}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--tint);color:var(--ink);line-height:1.75;overflow-x:hidden}
img,svg{max-width:100%;height:auto}
h1,h2,h3{line-height:1.45;margin:0 0 .6rem;text-wrap:balance;overflow-wrap:break-word}
h1{font-size:clamp(1.6rem,6vw,2.7rem);letter-spacing:-.01em}
h2{font-size:clamp(1.35rem,4.6vw,2rem);letter-spacing:-.01em}
h3{font-size:1.06rem}
p,li,dd,dt{line-height:1.85;margin:0 0 .75rem;overflow-wrap:break-word}
a{color:var(--brand)}
a:focus-visible,.button:focus-visible,summary:focus-visible{outline:3px solid var(--ring);outline-offset:3px;border-radius:.35rem}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.skip-link{position:absolute;inset-inline-start:-9999px;top:0;background:var(--surface);color:var(--brand);padding:.75rem 1rem;line-height:1.5;z-index:9}
.skip-link:focus{inset-inline-start:0}
.wrap{width:100%;max-width:66rem;margin:0 auto;padding:0 1rem}
.wrap.narrow{max-width:46rem}
section{padding:2.75rem 0;scroll-margin-top:4.5rem}
.band{background:var(--surface);border-block:1px solid var(--line)}
.eyebrow{font-size:.85rem;font-weight:700;line-height:1.6;letter-spacing:.02em;color:var(--brand);margin:0 0 .35rem}

/* ---- header ---- */
.site-header{position:sticky;top:0;z-index:6;background:var(--surface);border-bottom:1px solid var(--line)}
.header-row{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;justify-content:space-between;padding-block:.7rem}
.brand{font-weight:800;font-size:1.12rem;line-height:1.5;color:var(--ink);text-decoration:none}
.nav-links{display:none}
.header-nav{display:flex;gap:.5rem;align-items:center}
/* Qualified by the parent on purpose. The signup link is also a .button, and
   the .button display rule below carries the same specificity, so a bare
   .header-signup{display:none} here loses the cascade to it on source order
   alone and both header buttons crowd a 360px header. Outscoring .button keeps
   the phone header to one link no matter where either rule moves; the desktop
   rule is qualified the same way so the pair stays symmetric. */
.header-nav .header-signup{display:none}

/* ---- buttons ---- */
.button{display:inline-flex;align-items:center;justify-content:center;min-height:2.9rem;padding:.7rem 1.15rem;border-radius:.6rem;border:1px solid var(--brand);text-decoration:none;font-weight:700;line-height:1.5;transition:background-color .15s ease,color .15s ease,transform .15s ease}
.button-primary{background:var(--brand);color:var(--brand-ink)}
.button-quiet{background:var(--surface);color:var(--brand)}
.button:hover{transform:translateY(-1px)}
.button-quiet:hover{background:var(--brand-soft)}
.cta{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.25rem 0 .5rem}
.cta .button{flex:1 1 13rem}

/* ---- hero ---- */
.hero{padding-top:2.25rem}
.lede{font-size:1.08rem;line-height:1.9;color:var(--muted);max-width:44rem}
.note{color:var(--muted);line-height:1.7;font-size:.95rem}
.facts{list-style:none;display:flex;flex-wrap:wrap;gap:.45rem;margin:1.1rem 0 0;padding:0}
.facts li{background:var(--surface);border:1px solid var(--line);border-radius:2rem;padding:.4rem .8rem;margin:0;font-size:.88rem;line-height:1.6;color:var(--muted)}
.facts li::before{content:"✓";color:var(--brand);font-weight:800;margin-inline-end:.35rem}

/* ---- conversation illustration ---- */
.demo{margin:2rem 0 0}
.demo-screen{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.demo-bar{display:flex;align-items:center;gap:.5rem;margin:0;padding:.65rem .9rem;background:var(--brand);color:var(--brand-ink);font-size:.9rem;font-weight:700;line-height:1.6}
.demo-dot{inline-size:.55rem;block-size:.55rem;border-radius:50%;background:#8fd6c2;flex:none}
.demo-thread{display:flex;flex-direction:column;gap:.55rem;padding:.9rem}
.bubble{margin:0;max-width:88%;padding:.6rem .8rem;border-radius:1rem;font-size:.95rem;line-height:1.75}
.bubble-who{display:block;font-size:.74rem;font-weight:700;line-height:1.6;opacity:.72}
.bubble-customer{align-self:flex-start;background:var(--tint);border:1px solid var(--line);border-start-start-radius:.3rem}
.bubble-agent{align-self:flex-end;background:var(--brand);color:var(--brand-ink);border-start-end-radius:.3rem}
.demo-order{border-top:1px dashed var(--line);padding:.9rem;background:var(--tint)}
.demo-order-head{margin:0 0 .55rem;font-weight:800;font-size:.92rem;line-height:1.6}
.demo-fields{display:grid;gap:.4rem;margin:0}
.demo-fields>div{display:flex;gap:.5rem;align-items:baseline;justify-content:space-between}
.demo-fields dt{margin:0;color:var(--muted);font-size:.85rem;line-height:1.7;flex:none}
.demo-fields dd{margin:0;font-size:.9rem;line-height:1.7;font-weight:600;text-align:end}
.chip{display:inline-block;background:var(--warm-soft);color:var(--warm);border-radius:2rem;padding:.15rem .6rem;font-size:.8rem;line-height:1.7;font-weight:700}
.demo figcaption{color:var(--muted);font-size:.85rem;line-height:1.7;margin-top:.6rem}

/* ---- cards ---- */
.cards{list-style:none;margin:0;padding:0;display:grid;gap:.9rem}
.cards-2{grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr))}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.15rem;line-height:1.8;margin:0}
.band .card{background:var(--tint)}
.card p{margin:0;color:var(--muted)}

/* ---- steps ---- */
.steps{list-style:none;margin:0;padding:0;display:grid;gap:.9rem}
.step{background:var(--tint);border:1px solid var(--line);border-radius:var(--radius);padding:1.15rem;margin:0}
.band .step{background:var(--surface)}
.step h3{display:flex;align-items:center;gap:.65rem;margin-bottom:.45rem}
.step-ordinal{flex:none;display:inline-flex;align-items:center;justify-content:center;inline-size:2.1rem;block-size:2.1rem;border-radius:50%;background:var(--brand);color:var(--brand-ink);font-weight:800;line-height:1.4}
.step p{margin:0;color:var(--muted)}

/* ---- capabilities ---- */
.checks{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}
.checks li{display:flex;gap:.6rem;align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:.6rem;padding:.75rem .9rem;margin:0;line-height:1.8}
.band .checks li{background:var(--tint)}
.checks li::before{content:"✓";flex:none;color:var(--brand);font-weight:800;line-height:1.8}

/* ---- price ---- */
.price-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem;box-shadow:var(--shadow);line-height:1.8}
.band .price-card{background:var(--tint)}
.price-trial{display:inline-block;background:var(--warm-soft);color:var(--warm);border-radius:.5rem;padding:.3rem .75rem;line-height:1.6;margin:0 0 .6rem;font-weight:700}
.price-amount{font-size:clamp(1.6rem,5.5vw,2.1rem);line-height:1.55;margin:0 0 .85rem}
.price-amount span{font-size:1rem;color:var(--muted);font-weight:600}
.price-list{margin:0 0 .5rem;padding-inline-start:1.2rem}
.price-list li{line-height:1.85}
.price-fine{margin:0;color:var(--muted);font-size:.88rem;line-height:1.7}
.disclosure{background:var(--surface);border:1px solid var(--line);border-inline-start:4px solid var(--brand);border-radius:.6rem;padding:.95rem;color:var(--muted);line-height:1.8}

/* ---- faq ---- */
.faq{display:grid;gap:.6rem}
.faq-item{background:var(--surface);border:1px solid var(--line);border-radius:.7rem;overflow:hidden}
.band .faq-item{background:var(--tint)}
.faq-item summary{display:flex;align-items:center;gap:.75rem;min-height:3rem;padding:.8rem 1rem;cursor:pointer;list-style:none;line-height:1.6}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary h3{margin:0;font-size:1rem;line-height:1.6;flex:1 1 auto}
.faq-item summary::after{content:"";flex:none;inline-size:.5rem;block-size:.5rem;border-right:2px solid var(--brand);border-bottom:2px solid var(--brand);transform:rotate(45deg);transform-origin:center;transition:transform .18s ease}
.faq-item[open] summary::after{transform:rotate(-135deg)}
.faq-item[open] summary{border-bottom:1px solid var(--line)}
.faq-item>p{margin:0;padding:.85rem 1rem;color:var(--muted);line-height:1.85}

/* ---- closing + footer ---- */
.closing{padding-bottom:3rem}
.site-footer{background:var(--surface);border-top:1px solid var(--line);padding:1.75rem 0}
.site-footer nav{display:flex;flex-wrap:wrap;gap:.25rem 1rem;margin-bottom:.6rem}
.site-footer nav a{display:inline-flex;align-items:center;min-height:2.75rem;line-height:1.6}
.site-footer p{color:var(--muted)}
.fine{font-size:.92rem;line-height:1.7;margin:0}

/* ---- phone-only pinned call to action ---- */
.sticky-cta{position:fixed;inset-inline:0;bottom:0;z-index:7;display:flex;flex-direction:column;align-items:stretch;gap:.25rem;padding:.6rem 1rem calc(.6rem + env(safe-area-inset-bottom,0px));background:var(--surface);border-top:1px solid var(--line);box-shadow:0 -8px 24px -20px rgba(18,48,43,.7)}
.sticky-cta span{text-align:center;font-size:.8rem;line-height:1.6;color:var(--muted)}
/* .6+2.9+.25+(.8*1.6)+.6 = 5.63rem of bar, rounded up so the footer clears it. */
.sticky-cta-spacer{block-size:calc(6.25rem + env(safe-area-inset-bottom,0px))}

@media (width <= 480px){.wrap{padding:0 .9rem}.cta .button{flex:1 1 100%}.bubble{max-width:94%}}

@media (width >= 48rem){
.sticky-cta,.sticky-cta-spacer{display:none}
.header-nav .header-signup{display:inline-flex}
.nav-links{display:flex;gap:.35rem 1.25rem;flex-wrap:wrap}
.nav-links a{text-decoration:none;color:var(--muted);font-weight:600;line-height:1.6;display:inline-flex;align-items:center;min-height:2.75rem}
.nav-links a:hover{color:var(--brand)}
section{padding:3.5rem 0}
.cta .button{flex:0 0 auto}
.demo{margin-top:2.5rem}
.checks{grid-template-columns:repeat(2,minmax(0,1fr))}
.steps{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media (width >= 64rem){
.hero{padding-top:3.25rem}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:2.5rem;align-items:center}
.demo{margin:0}
h1{font-size:2.7rem}
}

@media (prefers-reduced-motion:reduce){
html{scroll-behavior:auto}
*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
.button:hover{transform:none}
}