/* ==========================================================================
   Ridera Labs — shared design system
   White lilac + indigo ink + blue→violet gradient · IBM Plex · professional
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&family=IBM+Plex+Serif:wght@500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap');

:root{
  /* brand — deep indigo ink */
  --navy:        #1b1f57;   /* indigo accents on dark */
  --navy-800:    #14173f;
  --navy-900:    #0b0d26;   /* darkest — footer / dark sections */
  --ink:         #111439;   /* primary text + headings */

  /* primary action — indigo blue */
  --blue:        #3a52e6;
  --blue-600:    #2a3fc4;

  /* accent — periwinkle + signature blue→violet gradient */
  --accent:      #5b6cf0;
  --accent-600:  #3a52e6;
  --accent-soft: #e7e9fb;
  --grad:        linear-gradient(115deg,#1fb0d8 0%,#3a52e6 44%,#7b53f0 100%);

  /* back-compat: legacy --amber* now map to the indigo accent */
  --amber:       var(--accent);
  --amber-600:   var(--accent-600);
  --amber-soft:  var(--accent-soft);

  /* neutrals — clean white (Ridera 2.0) */
  --paper:       #ffffff;
  --paper-2:     #f6f7fb;   /* light tint for component fills only (tiles/chips) */
  --white:       #ffffff;
  --muted:       #565b7a;
  --muted-2:     #8b8fa8;
  --line:        #ecedf4;
  --line-2:      #dcdef0;

  /* type */
  --serif: "IBM Plex Serif", Georgia, serif;
  --sans:  "IBM Plex Sans", system-ui, -apple-system, sans-serif;
  --mono:  "IBM Plex Mono", ui-monospace, monospace;

  /* layout */
  --maxw: 1200px;
  --gut: clamp(20px, 5vw, 64px);
  --radius: 14px;
  --radius-lg: 22px;
  --shadow-sm: 0 1px 2px rgba(14,23,51,.05), 0 1px 3px rgba(14,23,51,.06);
  --shadow:    0 10px 30px -12px rgba(14,23,51,.18);
  --shadow-lg: 0 30px 60px -24px rgba(14,23,51,.28);
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{
  margin:0;
  font-family:var(--sans);
  color:var(--ink);
  background:#ffffff;
  font-size:17px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
::selection{ background:var(--amber-soft); color:var(--navy-900); }

/* ---------- layout ---------- */
.wrap{ width:100%; max-width:var(--maxw); margin-inline:auto; padding-inline:var(--gut); }
.section{ padding-block:clamp(44px, 6vw, 84px); }
.section--tight{ padding-block:clamp(32px,4vw,56px); }
.bg-paper2{ background:#ffffff; border-block:1px solid var(--line); }
.bg-navy{ background:var(--navy); color:#eef1f8; }
.bg-white{ background:var(--white); }

/* ---------- type ---------- */
h1,h2,h3,h4{ margin:0; line-height:1.08; letter-spacing:-.018em; font-weight:600; }
.display{
  font-family:var(--serif);
  font-weight:600;
  font-size:clamp(2.4rem, 6vw, 4.4rem);
  line-height:1.04;
  letter-spacing:-.022em;
}
.h2{
  font-family:var(--serif);
  font-weight:600;
  font-size:clamp(1.9rem, 3.8vw, 3rem);
  line-height:1.08;
  letter-spacing:-.02em;
}
.h3{ font-size:clamp(1.18rem,1.8vw,1.45rem); font-weight:600; }
.lead{ font-size:clamp(1.05rem,1.5vw,1.28rem); color:var(--muted); line-height:1.6; max-width:60ch; }
.serif{ font-family:var(--serif); }
.em{ font-style:italic; color:var(--amber-600); }
.grad-text{ background:var(--grad); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent; }
.grad-text .em{ background:var(--grad); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent; font-style:italic; }
.eyebrow{
  font-family:var(--mono);
  font-size:.78rem;
  font-weight:500;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--amber-600);
  display:inline-flex; align-items:center; gap:.6em;
}
.eyebrow::before{ content:""; width:26px; height:1px; background:var(--amber); display:inline-block; }
.muted{ color:var(--muted); }
.balance{ text-wrap:balance; }
.pretty{ text-wrap:pretty; }

/* ---------- buttons ---------- */
.btn{
  display:inline-flex; align-items:center; gap:.55em;
  font-family:var(--sans); font-weight:600; font-size:.98rem;
  padding:.85em 1.5em; border-radius:999px; border:1px solid transparent;
  cursor:pointer; transition:transform .15s ease, background .2s ease, box-shadow .2s ease, color .2s ease;
  white-space:nowrap; line-height:1;
}
.btn:active{ transform:translateY(1px); }
.btn--primary{ background:var(--blue); color:#fff; box-shadow:var(--shadow-sm); }
.btn--primary:hover{ background:var(--blue-600); box-shadow:var(--shadow); }
.btn--amber{ background:var(--grad); color:#fff; background-size:140% 140%; }
.btn--amber:hover{ filter:brightness(1.07) saturate(1.05); color:#fff; }
.btn--ghost{ background:transparent; color:var(--ink); border-color:var(--line-2); }
.btn--ghost:hover{ border-color:var(--navy); background:#fff; }
.btn--light{ background:#fff; color:var(--navy); }
.btn--light:hover{ background:var(--paper-2); }
.btn--lg{ padding:1.02em 1.8em; font-size:1.04rem; }

/* ---------- header ---------- */
.site-header{
  position:sticky; top:0; z-index:60;
  background:rgba(255,255,255,.82);
  backdrop-filter:saturate(150%) blur(12px);
  border-bottom:1px solid var(--line);
}
.nav{ display:flex; align-items:center; gap:1.5rem; height:74px; }
.nav__logo{ flex:none; }
.nav__logo img{ height:30px; width:auto; }
.nav__links{ flex:1; display:flex; align-items:center; justify-content:center; gap:1.7rem; }
.nav__links a{ font-size:.97rem; font-weight:500; color:var(--ink); position:relative; padding-block:.3em; }
.nav__links a::after{
  content:""; position:absolute; left:0; bottom:-2px; height:2px; width:0; background:var(--amber);
  transition:width .22s ease;
}
.nav__links a:hover::after, .nav__links a.is-active::after{ width:100%; }
.nav__links a.is-active{ color:var(--navy); }
.nav__cta{ display:flex; align-items:center; gap:.8rem; margin-left:auto; }
.nav__burger{
  display:none; margin-left:auto; width:44px; height:44px; border:1px solid var(--line-2);
  border-radius:11px; background:#fff; cursor:pointer; align-items:center; justify-content:center; flex-direction:column; gap:5px;
}
.nav__burger span{ width:19px; height:2px; background:var(--ink); border-radius:2px; transition:.25s; }
.nav__burger.is-open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.nav__burger.is-open span:nth-child(2){ opacity:0; }
.nav__burger.is-open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

.mobile-menu{
  position:fixed; inset:74px 0 auto 0; z-index:55;
  background:var(--paper); border-bottom:1px solid var(--line);
  padding:1.2rem var(--gut) 2rem; transform:translateY(-110%); transition:transform .3s cubic-bezier(.4,0,.2,1);
  box-shadow:var(--shadow);
}
.mobile-menu.is-open{ transform:translateY(0); }
.mobile-menu a{ display:block; padding:.9rem 0; font-size:1.15rem; font-weight:500; border-bottom:1px solid var(--line); }
.mobile-menu .btn{ width:100%; justify-content:center; margin-top:1.2rem; }

@media (max-width:920px){
  .nav__links, .nav__cta{ display:none; }
  .nav__burger{ display:flex; }
}

/* ---------- footer ---------- */
.site-footer{ background:var(--navy-900); color:#c3cae0; padding-block:clamp(56px,7vw,84px) 32px; }
.site-footer a{ color:#aab4d4; transition:color .18s; }
.site-footer a:hover{ color:#fff; }
.footer-grid{ display:grid; grid-template-columns:1.6fr repeat(4, 1fr); gap:2.2rem; }
.footer-brand img{ height:30px; filter:brightness(0) invert(1); opacity:.95; margin-bottom:1.1rem; }
.footer-brand p{ font-size:.95rem; color:#9aa4c4; max-width:34ch; line-height:1.6; }
.footer-col h5{ font-family:var(--mono); font-size:.74rem; letter-spacing:.14em; text-transform:uppercase; color:#7e88aa; margin:0 0 1.1rem; font-weight:600; }
.footer-col ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.7rem; font-size:.95rem; }
.footer-bottom{
  margin-top:3rem; padding-top:1.6rem; border-top:1px solid rgba(255,255,255,.1);
  display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; font-size:.86rem; color:#7e88aa;
  font-family:var(--mono);
}
.footer-bottom .dot{ color:var(--amber); }
@media (max-width:820px){ .footer-grid{ grid-template-columns:1fr 1fr; gap:1.8rem; } .footer-brand{ grid-column:1 / -1; } }
@media (max-width:480px){ .footer-grid{ grid-template-columns:1fr; } }

/* ---------- cards / grids ---------- */
.grid{ display:grid; gap:1.4rem; }
.cols-2{ grid-template-columns:repeat(2,1fr); }
.cols-3{ grid-template-columns:repeat(3,1fr); }
.cols-4{ grid-template-columns:repeat(4,1fr); }
@media (max-width:900px){ .cols-3,.cols-4{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:620px){ .cols-2,.cols-3,.cols-4{ grid-template-columns:1fr; } }

.card{
  background:#fff; border:1px solid var(--line); border-radius:var(--radius-lg);
  padding:2rem; box-shadow:var(--shadow-sm); transition:transform .2s ease, box-shadow .2s ease, border-color .2s;
}
.card--hover:hover{ transform:translateY(-4px); box-shadow:var(--shadow); border-color:var(--line-2); }
.card__tag{ font-family:var(--mono); font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color:var(--amber-600); }
.card__num{ font-family:var(--mono); font-size:.85rem; color:var(--muted-2); }

/* ---------- stat strip ---------- */
.stats{ display:flex; flex-wrap:wrap; gap:clamp(1.5rem,4vw,3.4rem); }
.stat__n{ font-family:var(--serif); font-size:clamp(1.9rem,3.2vw,2.7rem); font-weight:600; color:var(--navy); line-height:1; letter-spacing:-.02em; }
.stat__l{ font-size:.86rem; color:var(--muted); margin-top:.5rem; }

/* ---------- pills / badges ---------- */
.pill{
  display:inline-flex; align-items:center; gap:.5em; padding:.45em .9em; border-radius:999px;
  background:#fff; border:1px solid var(--line-2); font-size:.82rem; font-weight:500; color:var(--muted);
}
.pill .led{ width:7px; height:7px; border-radius:50%; background:var(--accent); box-shadow:0 0 0 3px rgba(91,108,240,.22); }

/* ---------- hero shared ---------- */
.hero{ padding-block:clamp(56px,8vw,104px) clamp(40px,6vw,72px); }
.page-hero{ padding-block:clamp(44px,5.5vw,72px) clamp(20px,3vw,36px); }

/* ---------- product mockup (hero, shared) ---------- */
.hero-grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(2rem,5vw,4.5rem); align-items:center; }
@media (max-width:880px){ .hero-grid{ grid-template-columns:1fr; } .hero-visual{ order:-1; } }
.hero-visual{ position:relative; }
.mock{ background-color:#0b1024; background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px); background-size:32px 32px; border:1px solid #1c2347; border-radius:16px; box-shadow:0 30px 70px -30px rgba(11,13,38,.6); overflow:hidden; }
.mock__bar{ display:flex; align-items:center; gap:7px; padding:.7rem 1rem; background:#0e142e; border-bottom:1px solid #1f2750; }
.mock__dot{ width:10px; height:10px; border-radius:50%; background:#2a335e; }
.mock__bar .mock__dot:nth-child(1){ background:#ff5f57; } .mock__bar .mock__dot:nth-child(2){ background:#febc2e; } .mock__bar .mock__dot:nth-child(3){ background:#28c840; }
.mock__url{ font-family:var(--mono); font-size:.74rem; color:#9aa3d6; margin-left:.6rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.mock__body{ padding:1.4rem; }
.mock__row--head{ display:flex; align-items:center; justify-content:space-between; }
.mock__title{ font-weight:600; font-size:1.02rem; color:#fff; }
.mock__live{ display:inline-flex; align-items:center; gap:.4em; font-family:var(--mono); font-size:.72rem; color:#34d399; }
.mock__live .led{ width:7px; height:7px; border-radius:50%; background:#34d399; box-shadow:0 0 0 3px rgba(52,211,153,.18); }
.mock__sub{ font-size:.8rem; color:#7e88c0; margin:.3rem 0 1.1rem; }
.mock__kpis{ display:grid; grid-template-columns:1fr 1fr; gap:.7rem; }
.kpi{ background:rgba(255,255,255,.03); border:1px solid #1f2750; border-radius:11px; padding:.7rem .85rem; display:flex; flex-direction:column; gap:.25rem; }
.kpi__l{ font-size:.7rem; color:#7e88c0; font-family:var(--mono); }
.kpi__n{ font-weight:600; color:#fff; display:flex; align-items:center; gap:.4em; }
.kpi__d{ font-size:.62rem; } .kpi__d.up{ color:#34d399; }
.mock__chart{ position:relative; margin-top:1rem; background:rgba(255,255,255,.03); border:1px solid #1f2750; border-radius:11px; padding:.8rem; }
.mock__chart svg{ width:100%; height:64px; display:block; }
.mock__chartlabel{ position:absolute; top:.7rem; left:.9rem; font-family:var(--mono); font-size:.68rem; color:#7e88c0; }
.mock__feed{ margin-top:1rem; display:flex; flex-direction:column; gap:.55rem; }
.feed{ font-size:.78rem; color:#aab2da; display:flex; align-items:center; gap:.5em; }
.feed__t{ font-family:var(--mono); font-size:.7rem; color:#7e88c0; }
.feed__d{ color:#3a4374; font-size:.6rem; } .feed__ok{ color:#34d399; }
.feed em{ font-style:normal; color:#fff; }
.mock__badge{ position:absolute; bottom:-16px; right:-10px; background:var(--grad); color:#fff; font-family:var(--mono); font-size:.74rem; font-weight:600; padding:.55em 1em; border-radius:999px; box-shadow:var(--shadow); }

/* ---------- chips ---------- */
.chips{ display:flex; flex-wrap:wrap; gap:.55rem; }
.chip{ font-family:var(--mono); font-size:.78rem; padding:.4em .85em; border-radius:8px; background:var(--paper-2); border:1px solid var(--line); color:var(--muted); }

/* ---------- modal ---------- */
.modal-overlay{
  position:fixed; inset:0; z-index:200; background:rgba(11,21,53,.55); backdrop-filter:blur(4px);
  display:flex; align-items:center; justify-content:center; padding:20px; opacity:0; pointer-events:none; transition:opacity .25s;
}
.modal-overlay.is-open{ opacity:1; pointer-events:auto; }
.modal{
  background:var(--paper); border-radius:var(--radius-lg); max-width:460px; width:100%; padding:2.4rem; position:relative;
  box-shadow:var(--shadow-lg); transform:translateY(14px) scale(.98); transition:transform .25s; max-height:90vh; overflow:auto;
}
.modal-overlay.is-open .modal{ transform:none; }
.modal__close{ position:absolute; top:14px; right:14px; width:38px; height:38px; border-radius:50%; border:1px solid var(--line); background:#fff; cursor:pointer; font-size:1.1rem; color:var(--muted); }
.modal__close:hover{ color:var(--ink); }

/* ---------- forms ---------- */
.field{ display:flex; flex-direction:column; gap:.4rem; margin-bottom:1rem; }
.field label{ font-size:.85rem; font-weight:600; color:var(--ink); }
.field input, .field textarea, .field select{
  font-family:var(--sans); font-size:1rem; padding:.8em 1em; border-radius:11px; border:1px solid var(--line-2);
  background:#fff; color:var(--ink); width:100%; transition:border-color .18s, box-shadow .18s;
}
.field input:focus, .field textarea:focus, .field select:focus{
  outline:none; border-color:var(--navy); box-shadow:0 0 0 3px rgba(22,40,92,.12);
}
.form-note{ font-size:.82rem; color:var(--muted-2); margin-top:.4rem; }

/* ---------- misc ---------- */
.divider{ height:1px; background:var(--line); border:0; margin:0; }
.link-arrow{ font-weight:600; color:var(--navy); display:inline-flex; align-items:center; gap:.4em; }
.link-arrow svg{ transition:transform .2s; }
.link-arrow:hover svg{ transform:translateX(4px); }
.js .reveal{ opacity:0; transform:translateY(18px); transition:opacity .6s ease, transform .6s ease; }
.reveal.in{ opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){ .js .reveal{ opacity:1; transform:none; transition:none; } *{ scroll-behavior:auto; } }

.prose{ max-width:74ch; }
.prose h2{ font-family:var(--serif); font-size:1.5rem; margin:2.4rem 0 .9rem; }
.prose h3{ font-size:1.12rem; margin:1.8rem 0 .6rem; }
.prose p{ color:var(--muted); margin:0 0 1.1rem; }
.prose ul{ color:var(--muted); margin:0 0 1.2rem; padding-left:1.2rem; }
.prose li{ margin-bottom:.5rem; }
.prose a{ color:var(--navy); text-decoration:underline; text-underline-offset:3px; }

/* ---------- latest works cards ---------- */
.work-grid{ gap:1.8rem; }
.work{ display:flex; flex-direction:column; background:#fff; border:1px solid var(--line); border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-sm); transition:transform .22s ease, box-shadow .22s ease; }
.work:hover{ transform:translateY(-5px); box-shadow:var(--shadow-lg); }
.work__frame{ padding:14px 14px 0; background:var(--paper-2); }
.work__bar{ display:flex; align-items:center; gap:6px; background:#fff; border:1px solid var(--line); border-bottom:0; border-radius:10px 10px 0 0; padding:.5rem .7rem; }
.work__dot{ width:8px; height:8px; border-radius:50%; background:#cdd7e6; }
.work__addr{ font-family:var(--mono); font-size:.68rem; color:var(--muted-2); margin-left:.5rem; }
.work__shot{ border:1px solid var(--line); border-top:0; border-radius:0 0 10px 10px; padding:2.2rem 1.8rem 2.4rem; display:flex; flex-direction:column; gap:.8rem; min-height:188px; position:relative; }
.work__eyebrow{ font-family:var(--mono); font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; font-weight:600; }
.work__head{ font-family:"IBM Plex Serif",serif; font-size:1.5rem; font-weight:600; line-height:1.12; letter-spacing:-.02em; max-width:18ch; }
.work__btn{ align-self:flex-start; color:#fff; font-size:.78rem; font-weight:600; padding:.5em 1em; border-radius:999px; margin-top:.3rem; }
.work__chips{ display:flex; gap:.5rem; position:absolute; bottom:1.4rem; right:1.6rem; }
.work__chips span{ width:34px; height:8px; border-radius:4px; display:block; }
.work__meta{ padding:1.6rem 1.7rem 1.8rem; display:flex; flex-direction:column; gap:.7rem; }
.work__top{ display:flex; align-items:center; justify-content:space-between; }
.work__go{ color:var(--amber-600); font-size:1.1rem; }
.work__meta .muted{ font-size:.95rem; }

/* ---------- case-study cards (1-up carousel) ---------- */
.carousel{ position:relative; }
.carousel__viewport{ overflow:hidden; padding:12px; margin:-12px; }
.cases{ display:flex; gap:clamp(1rem,2vw,1.6rem); transition:transform .45s cubic-bezier(.4,0,.2,1); will-change:transform; }
.case{
  flex:0 0 100%;
  background:var(--white); border:1px solid var(--line); border-radius:24px;
  padding:clamp(1.3rem,2.6vw,2.4rem); box-shadow:var(--shadow-sm);
  display:grid; grid-template-columns:1fr 1.08fr; gap:clamp(1.5rem,3.4vw,2.8rem); align-items:center;
}
.case__body{ order:1; }
.cmock{ order:2; }
@media (max-width:860px){ .case{ grid-template-columns:1fr; } }
.carousel__nav{ display:flex; align-items:center; justify-content:center; gap:1.1rem; margin-top:1.7rem; }
.carousel__btn{ width:46px; height:46px; border-radius:50%; border:1px solid var(--line-2); background:#fff; cursor:pointer; font-size:1.2rem; line-height:1; color:var(--ink); display:flex; align-items:center; justify-content:center; transition:border-color .18s, color .18s; }
.carousel__btn:hover:not(:disabled){ border-color:var(--blue); color:var(--blue); }
.carousel__btn:disabled{ opacity:.3; cursor:default; }
.carousel__dots{ display:flex; gap:.5rem; align-items:center; }
.carousel__dots button{ width:8px; height:8px; border-radius:50%; border:0; background:var(--line-2); cursor:pointer; padding:0; transition:width .2s, background .2s; }
.carousel__dots button.is-active{ background:var(--blue); width:24px; border-radius:5px; }

.case__body{ display:flex; flex-direction:column; gap:.95rem; }
.case__head{ display:flex; align-items:center; gap:.75rem; }
.case__badge{ width:48px; height:48px; flex:none; border-radius:13px; background:var(--blue); color:#fff; font-family:var(--serif); font-weight:700; font-size:1.1rem; display:flex; align-items:center; justify-content:center; letter-spacing:-.01em; box-shadow:0 8px 18px -8px rgba(58,82,230,.55); }
.case__tag{ font-family:var(--mono); font-size:.7rem; letter-spacing:.12em; text-transform:uppercase; color:var(--accent-600); background:var(--accent-soft); padding:.5em .8em; border-radius:8px; font-weight:500; }
.case__title{ font-family:var(--serif); font-size:clamp(1.7rem,2.4vw,2.2rem); font-weight:600; line-height:1.06; letter-spacing:-.02em; color:var(--ink); margin-top:.15rem; }
.case__title em{ font-style:italic; color:var(--accent-600); }
.case__tagline{ font-size:1.06rem; color:var(--ink); font-weight:500; }
.case__desc{ color:var(--muted); font-size:.96rem; line-height:1.62; }
.case__feats{ list-style:none; margin:.15rem 0 0; padding:0; display:grid; gap:.55rem; }
.case__feats li{ display:flex; align-items:flex-start; gap:.6em; font-size:.94rem; color:var(--ink); }
.case__feats li::before{ content:"\2713"; color:var(--blue); font-weight:700; font-size:.82em; margin-top:.18em; }
.case__actions{ display:flex; flex-wrap:wrap; gap:.7rem; margin-top:.5rem; }

/* dark product mockup (inside case cards) */
.cmock{ border-radius:18px; padding:14px; position:relative; overflow:hidden; background-color:#0b1024; background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px); background-size:32px 32px; border:1px solid #1c2347; box-shadow:0 28px 60px -28px rgba(11,13,38,.6); }
.cmock__bar{ display:flex; align-items:center; gap:.45rem; margin-bottom:1rem; }
.cmock__dot{ width:11px; height:11px; border-radius:50%; background:#2a335e; }
.cmock__dot:nth-child(1){ background:#ff5f57; } .cmock__dot:nth-child(2){ background:#febc2e; } .cmock__dot:nth-child(3){ background:#28c840; }
.cmock__url{ flex:1; display:flex; align-items:center; justify-content:space-between; gap:.6rem; background:#141a36; border:1px solid #242c54; border-radius:8px; padding:.42em .75em; margin-left:.4rem; }
.cmock__url b{ font-family:var(--mono); font-size:.7rem; font-weight:500; color:#b9c0ec; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.cmock__url b i{ color:#6b74a8; font-style:normal; }
.cmock__secure{ font-family:var(--mono); font-size:.6rem; letter-spacing:.1em; color:#5bd0e6; flex:none; }
.cshot{ position:relative; aspect-ratio:20/9; border-radius:10px; overflow:hidden; border:1px solid #232c54; background:#0e142e; display:flex; align-items:center; justify-content:center; }
.cshot__ph{ position:absolute; font-family:var(--mono); font-size:.72rem; color:#5b6798; letter-spacing:.04em; }
.cshot img{ position:relative; width:100%; height:100%; object-fit:contain; object-position:center; display:block; }
.cmock__row{ display:flex; align-items:center; justify-content:space-between; margin:.2rem 0 .85rem; }
.cmock__row b{ color:#fff; font-size:.92rem; font-weight:600; }
.cmock__count{ font-family:var(--mono); font-size:.62rem; letter-spacing:.1em; color:#7780b4; }
.cmock__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:.7rem; }
.cprod__sw{ aspect-ratio:1/.82; border-radius:9px; background:#1a2150; }
.cprod__n{ color:#e9ecfb; font-size:.72rem; font-weight:600; margin-top:.5rem; line-height:1.2; }
.cprod__p{ font-family:var(--mono); font-size:.64rem; color:#8a96d8; margin-top:.18rem; }
.cprod:nth-child(1) .cprod__sw{ background:linear-gradient(150deg,#2c3b73,#3d54a4); }
.cprod:nth-child(2) .cprod__sw{ background:linear-gradient(150deg,#5b3d1f,#7d5429); }
.cprod:nth-child(3) .cprod__sw{ background:linear-gradient(150deg,#1f4639,#2d6553); }
.cprod:nth-child(4) .cprod__sw{ background:linear-gradient(150deg,#4a3520,#6b4a28); }
.cprod:nth-child(5) .cprod__sw{ background:linear-gradient(150deg,#234a3d,#2f5f4e); }
.cprod:nth-child(6) .cprod__sw{ background:linear-gradient(150deg,#283a6e,#3a4f96); }
.cmock__stats{ display:grid; grid-template-columns:repeat(3,1fr); gap:.7rem; margin-top:1rem; }
.cstat{ background:rgba(255,255,255,.03); border:1px solid #1f2750; border-radius:11px; padding:.75rem .85rem; }
.cstat__n{ color:#fff; font-weight:700; font-size:1.1rem; line-height:1; }
.cstat__l{ font-family:var(--mono); font-size:.56rem; letter-spacing:.09em; color:#7780b4; margin-top:.4rem; text-transform:uppercase; }
.cstat--live .cstat__n{ color:#34d399; display:flex; align-items:center; gap:.4em; }
.cstat--live .cstat__n::before{ content:""; width:8px; height:8px; border-radius:50%; background:#34d399; box-shadow:0 0 0 3px rgba(52,211,153,.18); }

/* ---------- pricing ---------- */
.seg{ display:inline-flex; background:var(--paper-2); border:1px solid var(--line); border-radius:999px; padding:5px; gap:4px; }
.seg__btn{ border:0; background:transparent; cursor:pointer; font-family:var(--sans); font-weight:600; font-size:.98rem; color:var(--muted); padding:.7em 1.4em; border-radius:999px; display:inline-flex; align-items:center; gap:.5em; transition:color .2s, background .2s, box-shadow .2s; }
.seg__btn span{ font-family:var(--mono); font-size:.64rem; letter-spacing:.06em; color:var(--muted-2); font-weight:500; }
.seg__btn.is-active{ background:var(--white); color:var(--ink); box-shadow:var(--shadow-sm); }
.seg__btn.is-active span{ color:var(--accent-600); }

.plans{ display:flex; flex-direction:column; gap:.9rem; max-width:940px; margin-inline:auto; }
.plans[hidden]{ display:none; }
.plan{
  display:grid; grid-template-columns:auto 1fr auto auto; align-items:center; gap:1.5rem;
  background:var(--white); border:1px solid var(--line); border-radius:16px; padding:1.2rem 1.5rem;
  box-shadow:var(--shadow-sm); transition:border-color .2s, box-shadow .2s, transform .2s; position:relative;
}
.plan:hover{ border-color:var(--line-2); box-shadow:var(--shadow); transform:translateY(-2px); }
.plan__pages{ width:56px; height:56px; flex:none; border-radius:14px; background:var(--paper-2); border:1px solid var(--line); display:flex; flex-direction:column; align-items:center; justify-content:center; font-family:var(--serif); font-weight:700; font-size:1.45rem; color:var(--navy); line-height:1; }
.plan__pages small{ font-family:var(--mono); font-size:.5rem; letter-spacing:.06em; color:var(--muted-2); margin-top:3px; text-transform:uppercase; font-weight:500; }
.plan__name{ font-size:1.12rem; font-weight:600; color:var(--ink); display:flex; align-items:center; gap:.6em; flex-wrap:wrap; }
.plan__pg{ font-family:var(--mono); font-size:.72rem; color:var(--muted-2); font-weight:500; }
.plan__for{ color:var(--muted); font-size:.92rem; margin-top:.3rem; }
.plan__price{ text-align:right; white-space:nowrap; }
.plan__price span{ display:block; font-size:.68rem; color:var(--muted-2); font-family:var(--mono); letter-spacing:.05em; }
.plan__price strong{ font-family:var(--serif); font-size:1.5rem; color:var(--navy); font-weight:600; }
.plan .btn{ white-space:nowrap; }
.plan--popular{ border-color:var(--accent); box-shadow:0 0 0 1px var(--accent), var(--shadow); }
.plan__badge{ position:absolute; top:-11px; left:1.5rem; background:var(--grad); color:#fff; font-family:var(--mono); font-size:.62rem; letter-spacing:.08em; font-weight:600; padding:.4em .85em; border-radius:999px; text-transform:uppercase; }
@media (max-width:720px){
  .plan{ grid-template-columns:auto 1fr; row-gap:1rem; padding:1.3rem; }
  .plan__price{ text-align:left; grid-column:2; }
  .plan .btn{ grid-column:1 / -1; justify-content:center; }
}
.pricing-note{ max-width:940px; margin:1.6rem auto 0; font-size:.92rem; color:var(--muted); background:var(--paper-2); border:1px solid var(--line); border-radius:12px; padding:1.05rem 1.3rem; line-height:1.55; }
.pricing-note strong{ color:var(--ink); }
.incl{ display:flex; flex-direction:column; gap:.55rem; padding:1.6rem; }
.incl h3{ font-size:1.04rem; display:flex; align-items:center; gap:.55em; }
.incl h3::before{ content:"\2713"; color:var(--blue); font-weight:700; font-size:.82em; }

/* ---------- FAQ ---------- */
.faq{ max-width:780px; }
.faq__item{ border-bottom:1px solid var(--line); padding:1.1rem 0; }
.faq__item summary{ font-weight:600; cursor:pointer; list-style:none; display:flex; justify-content:space-between; align-items:center; gap:1rem; font-size:1.08rem; color:var(--ink); }
.faq__item summary::-webkit-details-marker{ display:none; }
.faq__item summary::after{ content:"+"; color:var(--accent-600); font-size:1.4rem; transition:transform .2s; flex:none; }
.faq__item[open] summary::after{ transform:rotate(45deg); }
.faq__item p{ color:var(--muted); margin:.8rem 0 0; line-height:1.6; }

/* ---------- closing CTA band ---------- */
.cta-band{ background:linear-gradient(135deg,var(--navy) 0%,var(--navy-900) 100%); border-radius:var(--radius-lg); padding:clamp(2.2rem,4vw,3.4rem); display:grid; grid-template-columns:1.4fr .9fr; gap:2rem; align-items:center; position:relative; overflow:hidden; }
.cta-band::after{ content:""; position:absolute; right:-50px; top:-50px; width:260px; height:260px; border-radius:50%; background:radial-gradient(circle,rgba(123,83,240,.34),transparent 70%); }
.cta-band__actions{ display:flex; flex-direction:column; gap:.8rem; align-items:flex-start; position:relative; z-index:1; }
.cta-band__actions .btn{ width:100%; justify-content:center; }
@media (max-width:720px){ .cta-band{ grid-template-columns:1fr; } }

/* ---------- WhatsApp floating chat button ---------- */
.wa-fab{
  position:fixed; right:clamp(16px,3vw,28px); bottom:clamp(16px,3vw,28px); z-index:120;
  display:inline-flex; align-items:center; gap:.6em; padding:.7em .95em .7em .8em;
  background:#25D366; color:#fff; border-radius:999px; font-weight:600; font-size:.95rem;
  box-shadow:0 10px 28px -8px rgba(7,94,84,.5); transition:transform .18s ease, box-shadow .2s ease;
}
.wa-fab:hover{ transform:translateY(-2px); box-shadow:0 16px 34px -10px rgba(7,94,84,.6); color:#fff; }
.wa-fab svg{ flex-shrink:0; }
@media (max-width:560px){
  .wa-fab span{ display:none; }
  .wa-fab{ padding:.85em; }
}
