
  :root{
    --navy: #272F68;
    --navy-deep: #14163A;
    --periwinkle: #8097F9;
    --periwinkle-soft: #E7ECFE;
    --orange: #F6921E;
    --mint: #42DBA8;
    --paper: #FAF9F6;
    --ink: #272F68;
    --ink-soft: #676A7A;
    --white: #FFFFFF;
    --line: rgba(39,47,104,0.12);
    --nav-height: 68px;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;scrollbar-color:var(--periwinkle) var(--paper);scrollbar-width:thin;}
  body{
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font-family:"Poppins", sans-serif;
    -webkit-font-smoothing:antialiased;
  }
  ::selection{background:var(--periwinkle);color:#fff;}
  ::-webkit-scrollbar{width:10px;height:10px;}
  ::-webkit-scrollbar-track{background:var(--paper);}
  ::-webkit-scrollbar-thumb{background:var(--periwinkle);border-radius:20px;border:2px solid var(--paper);}

  /* Faint film-grain texture over the whole page — the trick that keeps
     large areas of flat brand color from reading as flat vector art. */
  .grain-overlay{
    position:fixed;inset:0;z-index:9999;pointer-events:none;
    opacity:0.035;mix-blend-mode:overlay;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  }
  h1,h2,h3{font-family:"Poppins", sans-serif;margin:0;font-weight:600;letter-spacing:-0.01em;}
  p{margin:0;}
  section{scroll-margin-top:76px;}
  .eyebrow{
    font-family:"Poppins", sans-serif;
    font-size:0.72rem;
    letter-spacing:0.14em;
    text-transform:uppercase;
    color:var(--periwinkle);
    font-weight:600;
  }
  .wrap{max-width:1160px;margin:0 auto;padding:0 32px;}

  .material-symbols-rounded{
    font-family:'Material Symbols Rounded';
    font-weight:normal;font-style:normal;font-size:24px;line-height:1;
    letter-spacing:normal;text-transform:none;display:inline-block;
    white-space:nowrap;word-wrap:normal;direction:ltr;
    font-variation-settings:'FILL' 1,'wght' 500,'GRAD' 0,'opsz' 24;
    vertical-align:middle;
  }
  .icon-badge{
    display:flex;align-items:center;justify-content:center;border-radius:12px;flex-shrink:0;
    box-shadow:inset 0 1px 0 rgba(255,255,255,0.55), inset 0 -1px 2px rgba(0,0,0,0.05);
    position:relative;
  }
  .icon-badge .material-symbols-rounded{font-size:22px;}

  /* SCROLL REVEAL — JS opts elements into the hidden pre-reveal state, so
     content stays visible by default if JS fails to run. */
  .reveal{transition:opacity .7s cubic-bezier(0.16,1,0.3,1), transform .7s cubic-bezier(0.16,1,0.3,1);}
  .reveal.pre-reveal{opacity:0;transform:translateY(26px);}
  .reveal.in-view{opacity:1;transform:translateY(0);}
  .steps .step:nth-child(2){transition-delay:.08s;}
  .steps .step:nth-child(3){transition-delay:.16s;}
  .why-cards .why-card:nth-child(2){transition-delay:.08s;}
  .why-cards .why-card:nth-child(3){transition-delay:.16s;}
  .stat-grid .stat:nth-child(2){transition-delay:.06s;}
  .stat-grid .stat:nth-child(3){transition-delay:.12s;}
  @media (prefers-reduced-motion: reduce){
    .reveal{opacity:1 !important;transform:none !important;}
  }

  /* NAV */
  nav{
    position:sticky;top:0;z-index:30;
    background:rgba(250,249,246,0.9);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
    transition:box-shadow .25s ease;
  }
  nav.scrolled{box-shadow:0 6px 24px rgba(39,47,104,0.10);}
  nav .wrap{position:relative;display:flex;align-items:center;justify-content:space-between;padding-top:18px;padding-bottom:18px;}
  .logo{display:flex;align-items:center;color:var(--navy);}
  .logo-svg{height:34px;width:auto;display:block;color:inherit;}
  .nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:6px;color:var(--navy);border-radius:8px;}
  .nav-toggle:hover{background:rgba(39,47,104,0.07);}
  .navlinks{display:flex;align-items:center;gap:28px;}
  .navlinks a:not(.btn){color:var(--ink-soft);text-decoration:none;font-size:0.92rem;font-weight:500;transition:color .15s ease;}
  .navlinks a:not(.btn):hover{color:var(--ink);}

  /* Mobile full-screen menu — a sibling of <nav>, not a descendant.
     nav has backdrop-filter, which establishes a containing block for
     position:fixed descendants, so a fixed panel nested inside it cannot
     span the viewport. Keeping this menu outside <nav> avoids that. */
  .mobile-menu{
    display:none;
    position:fixed;top:var(--nav-height);left:0;right:0;bottom:0;
    z-index:25;background:var(--paper);
    flex-direction:column;
    padding:8px 24px 28px;
    overflow-y:auto;
  }
  .mobile-menu.open{display:flex;}
  .mobile-menu a:not(.btn){color:var(--ink-soft);text-decoration:none;}
  .mobile-menu a:not(.btn):hover{color:var(--ink);}
  .btn{
    display:inline-flex;align-items:center;justify-content:center;gap:8px;
    background:linear-gradient(160deg, #A1B2FA 0%, #8198F9 55%, #6172BB 100%);
    color:var(--white);
    padding:11px 22px;border-radius:10px;
    font-weight:600;font-size:0.92rem;text-decoration:none;
    border:none;cursor:pointer;position:relative;overflow:hidden;
    transition:transform .3s cubic-bezier(0.16,1,0.3,1), box-shadow .3s cubic-bezier(0.16,1,0.3,1);
    box-shadow:0 1px 0 rgba(255,255,255,0.35) inset, 0 6px 16px rgba(97,114,187,0.35);
  }
  .btn::after{
    content:'';position:absolute;top:0;left:-60%;width:35%;height:100%;
    background:linear-gradient(120deg, transparent, rgba(255,255,255,0.35), transparent);
    transform:skewX(-20deg);pointer-events:none;
  }
  .btn:hover::after{animation:btnShine 1s cubic-bezier(0.16,1,0.3,1);}
  @keyframes btnShine{0%{left:-60%;}100%{left:135%;}}
  .btn .material-symbols-rounded{font-size:18px;transition:transform .3s cubic-bezier(0.16,1,0.3,1);}
  .btn:hover{transform:translateY(-1px);box-shadow:0 1px 0 rgba(255,255,255,0.4) inset, 0 12px 26px rgba(97,114,187,0.5);}
  .btn:hover .material-symbols-rounded{transform:translateX(3px);}
  .btn:focus-visible, a:focus-visible, input:focus-visible{outline:2px solid var(--periwinkle);outline-offset:2px;}
  @media (prefers-reduced-motion: reduce){
    .btn::after{display:none;}
  }
  .btn-secondary{background:var(--white);color:var(--navy);border:1px solid var(--line);}
  .btn-secondary:hover{box-shadow:0 10px 20px rgba(39,47,104,0.14);}

  /* HERO */
  .hero{position:relative;overflow:hidden;padding:88px 0 72px;}
  .hero-bg-blob{position:absolute;border-radius:50%;pointer-events:none;z-index:0;}
  .hero-bg-blob.b1{
    width:520px;height:520px;top:-220px;left:-180px;
    background:radial-gradient(circle, rgba(128,151,249,0.32) 0%, rgba(128,151,249,0) 66%);
  }
  .hero-bg-blob.b2{
    width:440px;height:440px;bottom:6px;right:-160px;
    background:radial-gradient(circle, rgba(66,219,168,0.28) 0%, rgba(66,219,168,0) 66%);
  }
  .hero-bg-blob.b3{
    width:320px;height:320px;top:30%;left:42%;
    background:radial-gradient(circle, rgba(246,146,30,0.14) 0%, rgba(246,146,30,0) 70%);
  }
  .hero-bg-blob.b1{animation:heroDrift1 24s ease-in-out infinite;}
  .hero-bg-blob.b2{animation:heroDrift2 28s ease-in-out infinite;}
  .hero-bg-blob.b3{animation:heroDrift3 20s ease-in-out infinite;}
  @keyframes heroDrift1{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(36px,26px) scale(1.08);}}
  @keyframes heroDrift2{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(-30px,-20px) scale(1.06);}}
  @keyframes heroDrift3{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(-20px,24px) scale(1.12);}}
  @media (prefers-reduced-motion: reduce){
    .hero-bg-blob{animation:none;}
  }
  .hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr 0.95fr;gap:56px;align-items:center;}
  .hero-grid > div{min-width:0;}
  .hero h1{font-size:clamp(2.3rem,3.6vw,3.4rem);line-height:1.08;margin-top:18px;color:var(--navy);}
  .hero h1 em{font-style:normal;color:var(--periwinkle);}
  .hero .sub{margin-top:22px;font-size:1.08rem;line-height:1.6;color:var(--ink-soft);max-width:46ch;}

  .form-row{display:flex;gap:10px;margin-top:32px;}
  .form-row input{
    flex:1;min-width:0;
    padding:13px 16px;border-radius:10px;border:1px solid var(--line);
    font-family:"Poppins", sans-serif;font-size:0.95rem;background:var(--white);color:var(--ink);
    transition:box-shadow .25s cubic-bezier(0.16,1,0.3,1), border-color .25s ease;
  }
  .form-row input:focus, .cta-form input:focus{
    outline:none;border-color:var(--periwinkle);
    box-shadow:0 0 0 4px rgba(128,151,249,0.18);
  }
  .try-it-btn{display:none;flex-shrink:0;white-space:nowrap;}
  .form-note{margin-top:12px;font-size:0.82rem;color:var(--ink-soft);}

  .logo-upload-btn{
    width:48px;height:48px;border-radius:10px;flex-shrink:0;
    display:flex;align-items:center;justify-content:center;
    background:var(--periwinkle-soft);color:var(--periwinkle);
    border:1px solid var(--line);cursor:pointer;
    transition:background .2s ease, transform .2s ease;
  }
  .logo-upload-btn .material-symbols-rounded{font-size:20px;}
  .logo-upload-btn:hover{background:#dbe3fe;transform:scale(1.05);}

  .trust-row{display:flex;align-items:center;gap:14px;margin-top:28px;}
  .trust-avatars{display:flex;flex-shrink:0;}
  .trust-avatars span{
    width:30px;height:30px;border-radius:50%;border:2px solid var(--paper);margin-left:-9px;
    display:flex;align-items:center;justify-content:center;font-size:0.65rem;font-weight:700;color:#fff;
  }
  .trust-avatars span:first-child{margin-left:0;}
  .trust-text{font-size:0.85rem;color:var(--ink-soft);}

  /* PHONE MOCK (desktop hero visual) — realistic iPhone-style frame around
     the ACTUAL production splash screen design (see .fs-splash below). */
  .phone-stage{position:relative;display:flex;justify-content:center;padding-bottom:24px;}
  .phone-stage::after{
    content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);
    width:200px;height:28px;border-radius:50%;
    background:radial-gradient(closest-side, rgba(39,47,104,0.28), rgba(39,47,104,0));
  }
  .phone{
    width:270px;height:582px;border-radius:36px;
    position:relative;z-index:1;
    border:6px solid transparent;
    background:
      linear-gradient(#0E0C29,#0E0C29) padding-box,
      linear-gradient(150deg, #37383d 0%, #222327 35%, #1a1b1e 50%, #222327 65%, #303136 100%) border-box;
    box-shadow:
      0 30px 60px rgba(18,16,55,0.35), 0 8px 20px rgba(18,16,55,0.25),
      inset 0 0 0 1px rgba(255,255,255,0.05);
  }
  .phone-screen{
    position:absolute;inset:0;border-radius:30px;overflow:hidden;container-type:size;
    box-shadow:inset 0 0 0 2px #000;
  }
  .phone-screen::before{
    content:'';position:absolute;inset:0;z-index:12;pointer-events:none;
    background:linear-gradient(115deg, rgba(255,255,255,0.10) 0%, rgba(255,255,255,0.03) 14%, rgba(255,255,255,0) 26%);
  }
  .phone-camera{
    position:absolute;top:17px;left:calc(50% + 24px);z-index:11;
    width:7px;height:7px;border-radius:50%;
    background:radial-gradient(circle at 35% 35%, #34405e 0%, #05060a 65%);
    box-shadow:0 0 0 1px rgba(255,255,255,0.06);
  }
  .phone-btn{position:absolute;border-radius:2px;background:linear-gradient(to bottom, #3a3b40, #232427 50%, #17181b);box-shadow:0 0 0 1px rgba(0,0,0,0.35), inset 0 1px 0 rgba(255,255,255,0.12);}
  .phone-btn.mute{width:5px;height:30px;left:-10px;top:92px;border-radius:2px;}
  .phone-btn.vol-up{width:5px;height:50px;left:-10px;top:144px;border-radius:2px;}
  .phone-btn.vol-down{width:5px;height:50px;left:-10px;top:202px;border-radius:2px;}
  .phone-btn.power{width:5px;height:80px;right:-10px;top:156px;border-radius:2px;}
  .dynamic-island{position:absolute;top:10px;left:50%;transform:translateX(-50%);width:34%;height:20px;background:#000;border-radius:12px;z-index:10;}

  /* Real Fayr splash-screen design — a scoped copy of the production
     markup/CSS (user_portal/befayr/splash_screen.html + splash_screen.css),
     same background asset, same Rubik font, same copy. vh/vw are swapped
     for cqh/cqw so it scales to whatever box it's placed in (the phone
     bezel here, the full device screen in the mobile "Try it!" preview)
     instead of the real browser viewport. */
  .fs-splash{position:absolute;inset:0;overflow:hidden;font-family:"Rubik",sans-serif;}
  .fs-bg{position:absolute;width:100%;height:100%;object-fit:cover;top:-20cqh;left:0;}
  .fs-content{position:relative;height:100%;display:flex;flex-direction:column;}
  .fs-logo{width:8cqh;height:8cqh;border-radius:3cqh;margin:10cqh auto 0 auto;border:1cqh solid #fff;background:#fff;object-fit:contain;display:block;}
  .fs-title{margin:5cqh auto 0 auto;font-weight:700;color:#fff;text-align:center;font-size:4cqh;}
  .fs-subtitle{margin:1cqh auto 0 auto;font-weight:300;color:#fff;text-align:center;font-size:3cqh;}
  .fs-card{background:#fff;width:90%;margin:5cqh auto 0 auto;border-radius:3cqh;display:flex;flex-direction:column;align-items:center;padding:4cqh 0;}
  .fs-card-title{color:#282f64;font-weight:700;text-align:center;font-size:3.3cqh;margin:0;}
  .fs-avatar{
    width:10cqh;height:10cqh;border-radius:5cqh;margin-top:2cqh;background:#D3DADD;
    display:flex;align-items:center;justify-content:center;overflow:hidden;
  }
  .fs-avatar .material-symbols-rounded{font-size:6cqh;color:#9BA3AD;}
  .fs-name{color:#282f64;margin:3cqh auto 0 auto;font-weight:400;text-align:center;font-size:3cqh;padding:0 12px;}
  .fs-email{color:#666975;margin:1cqh auto 0 auto;font-weight:300;text-align:center;font-size:2.5cqh;}
  .fs-loader{position:absolute;bottom:2cqh;left:0;right:0;width:90%;margin:0 auto;}
  .fs-progress{width:80%;background:#fff;border-radius:24px;margin:0 auto 1cqh auto;overflow:hidden;}
  .fs-bar{width:100%;height:24px;background:#8494f2;border-radius:24px;max-height:0.5cqh;position:relative;overflow:hidden;}
  .fs-bar::after{
    content:'';position:absolute;inset:0;width:40%;background:rgba(255,255,255,0.5);
    animation:loaderSweep 1.8s ease-in-out infinite;
  }
  .fs-loading{color:#fff;font-size:2cqh;text-align:center;font-weight:300;margin:0;}
  @keyframes loaderSweep{
    0%{transform:translateX(-100%);}
    100%{transform:translateX(350%);}
  }

  .stat-chip{
    position:absolute;left:-26px;bottom:54px;z-index:3;
    background:var(--white);border-radius:14px;padding:11px 16px;
    display:flex;align-items:center;gap:10px;
    box-shadow:0 16px 32px rgba(39,47,104,0.20);
    animation:floaty 4.5s ease-in-out infinite;
  }
  @keyframes floaty{0%,100%{transform:translateY(0);}50%{transform:translateY(-7px);}}
  @media (prefers-reduced-motion: reduce){
    .stat-chip{animation:none;}
    .fs-bar::after{animation:none;left:0;}
  }
  .stat-chip .icon-badge{width:34px;height:34px;border-radius:10px;background:rgba(66,219,168,0.16);color:#1F9B76;}
  .stat-chip .stat-chip-num{font-weight:700;color:var(--navy);font-size:0.92rem;line-height:1.2;}
  .stat-chip .stat-chip-label{font-size:0.68rem;color:var(--ink-soft);}

  /* FULL-SCREEN LIVE PREVIEW (mobile) — the real splash design filling the
     actual device screen, no illustrative phone chrome (that's only for
     the small desktop mockup; here it IS the real full screen). */
  .preview-modal{
    position:fixed;inset:0;z-index:200;background:var(--navy-deep);
    container-type:size;
    opacity:0;visibility:hidden;
    transition:opacity .3s ease, visibility 0s linear .3s;
  }
  .preview-modal.open{opacity:1;visibility:visible;transition:opacity .3s ease;}
  .preview-close{
    position:fixed;top:18px;right:18px;z-index:20;
    width:42px;height:42px;border-radius:50%;
    background:rgba(255,255,255,0.16);border:none;color:#fff;
    display:flex;align-items:center;justify-content:center;cursor:pointer;
  }
  .preview-close:hover{background:rgba(255,255,255,0.24);}

  /* SECTION SHARED */
  section{padding:76px 0;}
  .section-head{max-width:640px;margin:0 auto 52px;text-align:center;}
  .section-head h2{font-size:clamp(1.7rem,2.6vw,2.3rem);margin-top:14px;color:var(--navy);}
  .section-head p:not(.eyebrow){margin-top:14px;color:var(--ink-soft);font-size:1.02rem;line-height:1.6;}
  .wave-cap{display:block;width:100%;height:48px;}

  /* Soft background accents for the light (paper) sections — same
     technique as the hero blobs, much lower opacity, so the page reads
     as one cohesive system rather than "depth only in the hero." */
  #how, .dash-section, .cta-section{position:relative;overflow:hidden;}
  #how .wrap, .dash-section .wrap, .cta-section .wrap{position:relative;z-index:1;}
  .section-blob{position:absolute;border-radius:50%;pointer-events:none;z-index:0;}
  #how .section-blob{width:400px;height:400px;top:90px;right:-160px;background:radial-gradient(circle, rgba(66,219,168,0.12) 0%, rgba(66,219,168,0) 70%);}
  .dash-section .section-blob{width:460px;height:460px;bottom:90px;left:-200px;background:radial-gradient(circle, rgba(246,146,30,0.10) 0%, rgba(246,146,30,0) 70%);}
  .cta-section .section-blob{width:440px;height:440px;top:90px;left:50%;transform:translateX(-50%);background:radial-gradient(circle, rgba(128,151,249,0.12) 0%, rgba(128,151,249,0) 70%);}

  /* STAT BAND */
  .stat-band{
    background:var(--navy);padding:0 0 56px;position:relative;
    background-image:radial-gradient(rgba(255,255,255,0.05) 1px, transparent 1px);
    background-size:20px 20px;
  }
  .stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;text-align:center;}
  .stat-icon{width:44px;height:44px;border-radius:12px;margin:0 auto 14px;background:rgba(66,219,168,0.16);color:var(--mint);}
  .stat-grid .stat:nth-child(2) .stat-icon{background:rgba(246,146,30,0.18);color:var(--orange);}
  .stat-grid .stat:nth-child(3) .stat-icon{background:rgba(128,151,249,0.2);color:var(--periwinkle);}
  .stat-num{font-family:"Poppins", sans-serif;font-weight:700;font-size:clamp(1.6rem,2.6vw,2.1rem);color:var(--white);}
  .stat-label{margin-top:6px;font-size:0.85rem;color:rgba(255,255,255,0.68);line-height:1.4;}

  /* HOW IT WORKS */
  .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
  .step{
    background:var(--white);border:1px solid var(--line);border-radius:18px;padding:30px 26px;
    position:relative;overflow:hidden;isolation:isolate;
    transition:transform .35s cubic-bezier(0.16,1,0.3,1), box-shadow .35s cubic-bezier(0.16,1,0.3,1);
  }
  .step:hover{transform:translateY(-6px);box-shadow:0 18px 36px rgba(39,47,104,0.12);}
  .step::before, .why-card::before, .dash-wrap::before{
    content:'';position:absolute;inset:0;z-index:0;border-radius:inherit;
    background:radial-gradient(280px circle at var(--mx,50%) var(--my,50%), rgba(128,151,249,0.14), transparent 60%);
    opacity:0;transition:opacity .4s ease;pointer-events:none;
  }
  .step:hover::before, .dash-wrap:hover::before{opacity:1;}
  .step > *, .why-card > *, .dash-wrap > *{position:relative;z-index:1;}
  .step .icon-badge{width:46px;height:46px;border-radius:12px;margin-bottom:18px;}
  .step:nth-child(1) .icon-badge{background:rgba(66,219,168,0.14);color:#1F9B76;}
  .step:nth-child(2) .icon-badge{background:rgba(246,146,30,0.14);color:#C96A00;}
  .step:nth-child(3) .icon-badge{background:rgba(128,151,249,0.18);color:#4A63D6;}
  .step .num{font-family:"Poppins", sans-serif;color:var(--periwinkle);font-size:0.72rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;}
  .step h3{font-size:1.15rem;margin-top:10px;color:var(--navy);}
  .step p{margin-top:10px;color:var(--ink-soft);font-size:0.95rem;line-height:1.55;}

  /* WHY / TRUST */
  .why{
    background:var(--navy);color:var(--white);position:relative;padding-top:0;padding-bottom:0;
    background-image:radial-gradient(rgba(255,255,255,0.05) 1px, transparent 1px);
    background-size:20px 20px;
  }
  .why-body{padding:56px 0 64px;}
  .why .section-head p{color:rgba(255,255,255,0.75);}
  .why .section-head .eyebrow{color:var(--mint);}
  .why .section-head h2{color:var(--white);}
  .why-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
  .why-card{
    background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.14);border-radius:18px;padding:28px 24px;
    position:relative;overflow:hidden;isolation:isolate;
    transition:transform .35s cubic-bezier(0.16,1,0.3,1), background .35s cubic-bezier(0.16,1,0.3,1);
  }
  .why-card:hover{transform:translateY(-5px);background:rgba(255,255,255,0.1);}
  .why-card::before{background:radial-gradient(280px circle at var(--mx,50%) var(--my,50%), rgba(255,255,255,0.10), transparent 60%);}
  .why-card:hover::before{opacity:1;}
  .why-card .icon-badge{width:46px;height:46px;border-radius:12px;margin-bottom:18px;background:rgba(66,219,168,0.16);color:var(--mint);}
  .why-card:nth-child(2) .icon-badge{background:rgba(246,146,30,0.2);color:var(--orange);}
  .why-card:nth-child(3) .icon-badge{background:rgba(128,151,249,0.22);color:var(--periwinkle);}
  .why-card h4{font-family:"Poppins", sans-serif;font-size:1.08rem;font-weight:600;margin:0;color:var(--white);}
  .why-card p{color:rgba(255,255,255,0.7);font-size:0.94rem;margin-top:8px;line-height:1.55;}
  .pull-quote{max-width:700px;margin:48px auto 0;text-align:center;}
  .pull-quote .quote-mark{font-size:2.6rem;color:var(--mint);opacity:0.55;}
  .pull-quote p:not(.who){font-family:"Poppins", sans-serif;font-size:1.35rem;line-height:1.5;color:var(--white);margin-top:4px;}
  .pull-quote .who{margin-top:18px;font-family:"Poppins", sans-serif;font-size:0.75rem;letter-spacing:0.05em;color:var(--mint);text-transform:uppercase;}

  /* DASHBOARD PREVIEW */
  .dash-stage{position:relative;}
  .dash-glow{
    position:absolute;left:-20px;right:-20px;top:-36px;height:70%;
    background:radial-gradient(closest-side, rgba(128,151,249,0.30), rgba(128,151,249,0));
    filter:blur(6px);z-index:0;pointer-events:none;
  }
  .dash-wrap{
    position:relative;z-index:1;background:var(--white);border:1px solid var(--line);border-radius:20px;overflow:hidden;isolation:isolate;
    box-shadow:0 20px 50px rgba(18,16,55,0.10);
    transition:transform .35s cubic-bezier(0.16,1,0.3,1), box-shadow .35s cubic-bezier(0.16,1,0.3,1);
  }
  .dash-wrap:hover{transform:translateY(-4px);box-shadow:0 28px 60px rgba(18,16,55,0.14);}
  .dash-head{padding:22px 26px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;}
  .dash-head-title{display:flex;align-items:center;gap:10px;}
  .dash-head-title .icon-badge{width:32px;height:32px;border-radius:9px;background:rgba(128,151,249,0.16);color:var(--periwinkle);}
  .dash-head-title .icon-badge .material-symbols-rounded{font-size:18px;}
  .dash-head h4{font-family:"Poppins", sans-serif;font-size:0.8rem;color:var(--ink-soft);text-transform:uppercase;letter-spacing:0.06em;font-weight:500;}
  .dash-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;}
  table{width:100%;min-width:560px;border-collapse:collapse;}
  th{
    text-align:left;font-family:"Poppins", sans-serif;font-size:0.7rem;text-transform:uppercase;
    letter-spacing:0.05em;color:var(--ink-soft);font-weight:500;padding:14px 26px;border-bottom:1px solid var(--line);
  }
  td{padding:16px 26px;font-size:0.9rem;border-bottom:1px solid var(--line);color:var(--ink);}
  tr{transition:background .15s ease;}
  tr:hover{background:rgba(128,151,249,0.06);}
  tr:last-child td{border-bottom:none;}
  .badge{display:inline-block;padding:3px 10px;border-radius:20px;background:rgba(66,219,168,0.15);color:#1F9B76;font-size:0.78rem;font-weight:600;}

  .dash-cards{display:none;padding:8px 18px 18px;}
  .dash-card{border:1px solid var(--line);border-radius:14px;padding:16px 18px;margin-top:12px;}
  .dash-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;}
  .dash-card-name{font-weight:600;color:var(--navy);font-size:0.95rem;}
  .dash-card-row{display:flex;justify-content:space-between;padding:7px 0;font-size:0.85rem;border-top:1px solid var(--line);}
  .dash-card-row span{color:var(--ink-soft);}
  .dash-card-row strong{color:var(--ink);font-weight:600;}

  /* FINAL CTA */
  .cta-section{text-align:center;padding-top:88px;padding-bottom:100px;}
  .cta-section h2{font-size:clamp(1.9rem,3vw,2.6rem);color:var(--navy);max-width:16ch;margin:18px auto 0;}
  .cta-section .sub{margin:18px auto 0;max-width:48ch;color:var(--ink-soft);font-size:1.02rem;}
  .cta-form{max-width:640px;margin:34px auto 0;display:flex;gap:10px;flex-wrap:wrap;justify-content:center;}
  .cta-form input{
    flex:1;min-width:180px;padding:14px 18px;border-radius:10px;border:1px solid var(--line);font-size:0.95rem;
    transition:box-shadow .25s cubic-bezier(0.16,1,0.3,1), border-color .25s ease;
  }
  @media (min-width:700px){
    .cta-form{flex-wrap:nowrap;}
  }

  footer{
    background:var(--navy);
    background-image:radial-gradient(rgba(255,255,255,0.05) 1px, transparent 1px);
    background-size:20px 20px;
  }
  footer .wrap{padding-top:8px;padding-bottom:32px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;}
  footer .logo{color:var(--white);}
  .footer-links{display:flex;gap:22px;flex-wrap:wrap;}
  .footer-links a{color:rgba(255,255,255,0.65);text-decoration:none;font-size:0.85rem;transition:color .15s ease;}
  .footer-links a:hover{color:#fff;}
  footer p{font-size:0.82rem;color:rgba(255,255,255,0.65);width:100%;}

  @media (max-width:860px){
    .hero-grid{grid-template-columns:1fr;}
    .hero{padding:48px 0 40px;}
    section{padding:56px 0;}
    .why-body{padding:48px 0 56px;}
    .cta-section{padding-top:56px;padding-bottom:64px;}
    .section-head{margin-bottom:32px;}
    .steps{grid-template-columns:1fr;}
    .why-cards{grid-template-columns:1fr;}

    /* On mobile the phone mockup is replaced by the "Try it!" button + full-screen preview modal. */
    .phone-stage{display:none;}
    .try-it-btn{display:inline-flex;}
  }
  @media (max-width:700px){
    .nav-toggle{display:flex;align-items:center;justify-content:center;}
    .navlinks{display:none;}
    .mobile-menu a:not(.btn){padding:18px 2px;border-bottom:1px solid var(--line);font-size:1.1rem;}
    .mobile-menu a.btn{margin-top:20px;width:100%;}
  }
  @media (max-width:640px){
    .dash-scroll{display:none;}
    .dash-cards{display:block;}
  }
  @media (max-width:560px){
    .stat-grid{grid-template-columns:1fr;gap:22px;}
  }
  @media (max-width:600px){
    .wrap{padding:0 20px;}
    .step{padding:22px 18px;}
    .why-card{padding:24px 20px;}
    .pull-quote p:not(.who){font-size:1.15rem;}
    .try-it-btn{padding:11px 16px;font-size:0.85rem;}
  }
  @media (max-width:480px){
    .cta-form{flex-direction:column;}
    .cta-form input, .cta-form .btn{width:100%;}
    footer .wrap{justify-content:center;text-align:center;}
    .footer-links{justify-content:center;}
  }
  @media (prefers-reduced-motion: reduce){
    *{transition:none !important;}
  }