/* Shared styles for the content pages. Same tokens as the homepage (whose CSS stays inline for speed). */
/* Design: same system as the client portal (portal-design-pack/DESIGN.md, dark theme tokens). */
/* Inter 4 (official release, Latin subset with the optical-size axis), self-hosted: font CDNs are blocked in China. SIL Open Font License 1.1. */
@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url("/fonts/Inter-latin.woff2") format("woff2");unicode-range:U+0020-007E,U+00A0-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+2013-2014,U+2018-201A,U+201C-201E,U+2022,U+2026,U+2039-203A,U+20AC,U+2122,U+2192}
/* Arial sized like Inter, so nothing jumps while the font loads. */
@font-face{font-family:"Inter Fallback";src:local("Arial");size-adjust:103.5%;ascent-override:93.6%;descent-override:23.3%;line-gap-override:0%}

:root{
  --canvas:#010102; --s1:#0f1011; --s2:#141516; --s3:#18191a;
  --line:#23252a; --line-strong:#34343a;
  --ink:#f7f8f8; --ink-2:#d0d6e0; --ink-3:#8a8f98;
  --accent:#3b82ff;                      /* links, eyebrows, "Launch" (portal dark accent) */
  --brand:#155dfc; --brand-hover:#2463ff; /* the WhatsApp button (logo blue) */
  --focus:rgba(59,130,255,.6);
  --edge:inset 0 1px 0 0 rgba(255,255,255,.05);
  --font:"Inter","Inter Fallback",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{background:var(--canvas);color-scheme:dark;-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:80px}
body{margin:0;background:var(--canvas);color:var(--ink);font:400 1rem/1.6 var(--font);letter-spacing:-.011em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
@media (min-width:768px){body{font-size:1.0625rem}}
::selection{background:rgba(59,130,255,.35)}
img,svg,video{display:block;max-width:100%}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:3px}
:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:6px}
h1,h2,h3{margin:0;color:var(--ink);font-weight:600;text-wrap:balance}
h1{font-size:clamp(2.25rem,1rem + 4.1vw,4.1rem);line-height:1.08;letter-spacing:-.022em}
h2{font-size:clamp(1.85rem,1.1rem + 2.4vw,3rem);line-height:1.12;letter-spacing:-.022em}
h3{font-size:1.125rem;line-height:1.35;letter-spacing:-.014em}
p{margin:0;text-wrap:pretty}
.wrap{width:100%;max-width:1200px;margin:0 auto;padding:0 20px}
@media (min-width:768px){.wrap{padding:0 32px}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:-9999px;top:12px;z-index:100;background:var(--s2);color:var(--ink);padding:.6rem 1rem;border-radius:8px;border:1px solid var(--line-strong)}
.skip:focus{left:16px}
.i{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.i-fill{fill:currentColor;stroke:none}

/* Header */
.top{position:sticky;top:0;z-index:40;background:rgba(1,1,2,.78);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;height:60px}
.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none}
.brand:hover{text-decoration:none}
.brand img{height:26px;width:auto}
.wordmark{font-size:1.125rem;font-weight:600;letter-spacing:-.02em;line-height:1;white-space:nowrap}
.wordmark b{font-weight:600;color:var(--accent)}

/* The one action: WhatsApp */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:48px;padding:0 1.35rem;border-radius:8px;background:var(--brand);color:#fff;font:600 1rem/1 var(--font);letter-spacing:-.011em;text-decoration:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.18);transition:background-color .15s ease}
.btn:hover{background:var(--brand-hover);text-decoration:none}
.btn:active{transform:translateY(1px)}
.btn .i{width:20px;height:20px}
.btn-sm{min-height:36px;padding:0 .9rem;font-size:.875rem;gap:.5rem}
.btn-sm .i{width:16px;height:16px}
.top .btn{transition:opacity .2s ease,visibility 0s}
.top .btn.is-hidden{opacity:0;visibility:hidden;transition:opacity .2s ease,visibility 0s .2s}
@media (max-width:767px){.top .btn[data-follow-cta]{display:none}}
.top-actions{display:flex;align-items:center;gap:10px}
.btn-ghost{background:transparent;color:var(--ink);box-shadow:none;border:1px solid var(--line-strong)}
.btn-ghost:hover{background:var(--s2)}

/* Trust line */
.trust{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.65rem 1.75rem;font-size:.9375rem;color:var(--ink-3)}
.trust li{display:inline-flex;align-items:center;gap:.5rem;white-space:nowrap}
.trust .i{width:17px;height:17px;color:var(--ink-2)}
.stars{color:var(--ink);letter-spacing:.1em;font-size:.875rem}

/* Sections */
.section{padding:88px 0}
@media (min-width:768px){.section{padding:128px 0}}
.eyebrow{display:block;font-size:.8125rem;font-weight:500;letter-spacing:.025em;color:var(--accent);margin-bottom:1rem}
.head{max-width:760px;margin-bottom:3rem}
.head .lead{margin-top:1.1rem}
.lead{font-size:1.125rem;line-height:1.55;color:var(--ink-3);letter-spacing:-.014em}
@media (min-width:768px){.lead{font-size:1.25rem}}

/* Panels */
.panel{background:var(--s1);border:1px solid var(--line);border-radius:12px;box-shadow:var(--edge)}

/* Photo and animation frames (for later: see README.md) */
.frame{position:relative;margin:0;border-radius:16px;overflow:hidden;aspect-ratio:4/3;background:var(--s1);border:1px solid var(--line);box-shadow:var(--edge)}
.frame>img,.frame>video{width:100%;height:100%;object-fit:cover}
.ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:1.5rem;text-align:center;background-image:radial-gradient(circle,#202227 1px,transparent 1.2px);background-size:20px 20px;background-position:10px 10px;color:var(--ink-3);font-size:.8125rem;letter-spacing:.01em}
.ph-icon{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:10px;background:var(--s2);border:1px solid var(--line-strong);color:var(--ink-2)}
.ph-icon .i{width:20px;height:20px}
.frame.is-live .ph{display:none}
.lottie-stage{position:absolute;inset:0}

/* Hero */
.hero{padding:64px 0 88px}
@media (min-width:960px){.hero{padding:112px 0 128px}}
.hero h1{max-width:1060px}
.hero h1 .q{color:var(--ink-3)}
.hero .lead{max-width:640px;margin-top:1.5rem}
.hero .btn{margin-top:2.25rem;min-height:52px;padding:0 1.6rem;font-size:1.0625rem}
.hero .trust{margin-top:2rem}
.hero .frame{margin-top:64px;aspect-ratio:2/1}
@media (max-width:767px){.hero .btn{width:100%}.hero .trust{flex-direction:column;gap:.7rem}.hero .frame{margin-top:48px;aspect-ratio:4/3}}

/* Who we work with */
.list-intro{font-size:.875rem;font-weight:500;color:var(--ink-2);margin-bottom:1rem}
.cards{list-style:none;margin:0;padding:0;display:grid;gap:12px}
@media (min-width:768px){.cards{grid-template-columns:repeat(2,1fr);gap:16px}}
.card{padding:24px;color:var(--ink-3);transition:border-color .2s ease}
.card:hover{border-color:var(--line-strong)}
.card strong{color:var(--ink);font-weight:500}
.chip{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:var(--s2);border:1px solid var(--line-strong);color:var(--ink-2);margin-bottom:20px}


/* Payment */
.pay{position:relative;display:grid;gap:36px;padding:40px 24px;border-radius:16px;border-top-color:rgba(59,130,255,.55)}
@media (min-width:768px){.pay{padding:64px 56px}}
@media (min-width:1024px){.pay{grid-template-columns:1.05fr 1fr;align-items:center;gap:64px}}
.pay h2{font-size:clamp(2.4rem,1rem + 4.6vw,4.5rem);line-height:1.04;letter-spacing:-.025em;font-variant-numeric:tabular-nums}
.pay h2 .q{display:block;color:var(--ink-3);font-size:.55em;letter-spacing:-.02em;margin-bottom:.25em}
.pay .lead{margin-top:1.25rem;max-width:30em}
.pay-options{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.pay-option{display:flex;gap:18px;align-items:flex-start;padding:24px;border-radius:12px;background:var(--canvas);border:1px solid var(--line)}
.pay-option .chip{margin:0}
.pay-option h3{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .65rem;margin-bottom:.35rem}
.pay-option p{color:var(--ink-3)}
.pay-credit{border-color:var(--line-strong);box-shadow:var(--edge)}
.pay-credit .chip{color:var(--accent);border-color:rgba(59,130,255,.45)}
.badge{display:inline-block;padding:2px 9px;border-radius:999px;background:var(--s2);border:1px solid var(--line-strong);color:var(--ink-2);font-size:.75rem;font-weight:500;letter-spacing:0;line-height:1.5}

/* Portal */
.features{display:grid;gap:12px}
@media (min-width:768px){.features{grid-template-columns:1fr 1fr;gap:16px}}
.feature{padding:28px;transition:border-color .2s ease}
.feature:hover{border-color:var(--line-strong)}
.feature h3{margin-bottom:.45rem}
.feature p{color:var(--ink-3)}
.stages{margin-top:16px;padding:32px 28px}
@media (min-width:768px){.stages{padding:36px}}
.stages ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr)}
.stages li{position:relative;padding:30px 16px 0 0;font-size:.875rem;line-height:1.4;color:var(--ink-3)}
.stages li::before{content:"";position:absolute;top:0;left:0;z-index:1;width:14px;height:14px;border-radius:50%;background:var(--s1);border:2px solid var(--line-strong)}
.stages li::after{content:"";position:absolute;top:6px;left:14px;right:0;height:2px;background:var(--line-strong)}
.stages li:last-child::after{display:none}
.stages li.done{color:var(--ink-2)}
.stages li.done::before{background:var(--ink-2);border-color:var(--ink-2)}
.stages li.done::after{background:var(--ink-2)}
.stages li.now{color:var(--ink);font-weight:500}
.stages li.now::before{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 4px rgba(59,130,255,.22)}
@media (max-width:767px){.stages ol{grid-template-columns:1fr;gap:20px}.stages li{padding:0 0 0 30px}.stages li::before{top:2px}.stages li::after{top:16px;left:6px;right:auto;width:2px;height:calc(100% + 6px)}}

/* Heading on the left, list on the right (trust, FAQ) */
.split-head{display:grid;gap:8px}
@media (min-width:960px){.split-head{grid-template-columns:1fr 1.55fr;gap:64px}.split-head .head{position:sticky;top:110px;align-self:start;margin-bottom:0}}
.proof{list-style:none;margin:0;padding:0}
.proof li{display:flex;gap:18px;align-items:flex-start;padding:24px 0;border-top:1px solid var(--line)}
.proof li:first-child{border-top:0;padding-top:0}
@media (min-width:960px){.proof li:first-child{border-top:1px solid var(--line);padding-top:24px}}
.proof .chip{margin:2px 0 0}
.proof h3{margin-bottom:.35rem}
.proof p{color:var(--ink-3)}

/* How it works */
.steps{list-style:none;margin:0;padding:0;display:grid;gap:0}
@media (min-width:640px){.steps{grid-template-columns:1fr 1fr;gap:0 32px}}
@media (min-width:1024px){.steps{grid-template-columns:repeat(4,1fr)}}
.step{border-top:1px solid var(--line-strong);padding:24px 0 36px}
.step-num{display:block;font:500 .8125rem/1 ui-monospace,"SF Mono","Cascadia Mono",Menlo,Consolas,monospace;color:var(--accent);margin-bottom:22px}
.step h3{margin-bottom:.55rem}
.step p{color:var(--ink-3);font-size:.9688rem}


/* Pricing */
.price{padding:56px 24px;text-align:center;border-radius:16px}
@media (min-width:768px){.price{padding:88px 64px}}
.price .lead{max-width:640px;margin:1.25rem auto 0}

/* Reviews */
.reviews{display:grid;gap:12px}
@media (min-width:768px){.reviews{grid-template-columns:1fr 1fr;gap:16px}}
.review{margin:0;padding:32px;display:flex;flex-direction:column;gap:20px}
.review blockquote{margin:0;font-size:1.25rem;line-height:1.45;letter-spacing:-.017em;color:var(--ink);font-weight:500}
.review figcaption{margin-top:auto;font-size:.875rem;color:var(--ink-3)}
.reviews-link{margin-top:28px;font-size:.9375rem;font-weight:500}

/* FAQ */
.faq details{border-bottom:1px solid var(--line)}
.faq details:first-child{border-top:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;position:relative;padding:22px 44px 22px 0;font-size:1.0625rem;font-weight:500;letter-spacing:-.012em;color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before,.faq summary::after{content:"";position:absolute;right:8px;top:50%;width:12px;height:1.5px;background:var(--ink-3);transition:transform .2s ease}
.faq summary::after{transform:rotate(90deg)}
.faq details[open] summary::after{transform:rotate(0)}
.faq summary:hover::before,.faq summary:hover::after{background:var(--ink)}
.faq details p{padding:0 44px 24px 0;color:var(--ink-3)}

/* Final call to action */
.final{padding:64px 22px;text-align:center;border-radius:20px}
@media (min-width:768px){.final{padding:96px 56px}}
.final .lead{margin-top:1rem}
.final .trust{justify-content:center;margin-top:2.5rem}
.final .btn{margin-top:2.5rem;min-height:52px;padding:0 1.6rem;font-size:1.0625rem}
@media (max-width:767px){.final .btn{width:100%;padding:0 1rem}.final .trust{flex-direction:column;align-items:flex-start;max-width:21rem;margin-left:auto;margin-right:auto;gap:.7rem}}

/* Footer */
.foot{border-top:1px solid var(--line);padding:56px 0 64px;font-size:.875rem;color:var(--ink-3)}
.foot .wrap{display:grid;gap:1.25rem}
@media (min-width:900px){.foot .wrap{grid-template-columns:1fr auto;align-items:start;gap:2rem}}
.foot a{color:var(--ink-2)}
.foot p+p{margin-top:.3rem}
.foot button{background:none;border:0;padding:0;font:inherit;color:var(--ink-2);cursor:pointer}
.foot button:hover{text-decoration:underline;text-underline-offset:3px}

/* Floating WhatsApp button, phones only */
.wa-float{display:none}
@media (max-width:767px){
  body{padding-bottom:84px}
  .wa-float{display:flex;align-items:center;justify-content:center;gap:.6rem;position:fixed;left:16px;right:16px;bottom:calc(14px + env(safe-area-inset-bottom));z-index:50;min-height:52px;border-radius:10px;background:var(--brand);color:#fff;font:600 1rem/1 var(--font);text-decoration:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 12px 32px rgba(0,0,0,.6);transition:transform .25s ease,opacity .25s ease,visibility 0s}
  .wa-float.is-hidden{transform:translateY(150%);opacity:0;visibility:hidden;transition:transform .25s ease,opacity .25s ease,visibility 0s .25s}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* ---- Content pages (about, how it works, quality check, country pages) ---- */
.top-wa{display:none}
@media (min-width:768px){.top-wa{display:inline-flex}}
.crumbs{padding-top:28px;font-size:.875rem;color:var(--ink-3)}
.crumbs a{color:var(--ink-3)}
.page-hero{padding:40px 0 56px}
@media (min-width:960px){.page-hero{padding:64px 0 80px}}
.page-hero h1{font-size:clamp(2.1rem,1rem + 3.4vw,3.6rem);max-width:920px}
.page-hero .lead{max-width:700px;margin-top:1.4rem}
.page-hero .btn{margin-top:2rem}
@media (max-width:767px){.page-hero .btn{width:100%}}
.block{padding:0 0 88px}
@media (min-width:768px){.block{padding:0 0 112px}}
.prose{max-width:740px}
.prose h2{font-size:clamp(1.6rem,1rem + 1.8vw,2.3rem);margin-bottom:1rem}
.prose p{color:var(--ink-2)}
.prose p+p{margin-top:1rem}
.prose ul{margin:1rem 0 0;padding-left:1.2rem;color:var(--ink-2)}
.prose li+li{margin-top:.45rem}
.prose strong{color:var(--ink);font-weight:500}
.facts{list-style:none;margin:0;padding:0;display:grid;gap:12px}
@media (min-width:768px){.facts{grid-template-columns:repeat(3,1fr);gap:16px}}
.fact{padding:24px}
.fact strong{display:block;color:var(--ink);font-size:1.35rem;font-weight:600;letter-spacing:-.018em;margin-bottom:.3rem}
.fact span{color:var(--ink-3);font-size:.9375rem}
.foot nav{display:flex;flex-wrap:wrap;gap:.4rem 1.1rem;margin-bottom:.6rem}
@media (min-width:1024px){.steps-3{grid-template-columns:repeat(3,1fr)}}
