*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  --font-display:'Poppins',system-ui,sans-serif;
  --font-body:'Open Sans',system-ui,sans-serif;

  --bg:#fafaf7;
  --bg-2:#f3f3ee;
  --surface:#ffffff;
  --ink:#0d0d0c;
  --ink-2:#3a3a37;
  --ink-3:#6b6b65;
  --ink-4:#a09f97;
  --line:#e6e5dd;
  --line-2:#d3d2c8;
  --accent:#ff5b1f;
  --accent-2:#ffe9dd;
  --accent-ink:#a23a0e;
  --dark:#0c0c0b;
  --dark-2:#161614;
  --dark-3:#222220;

  --radius:14px;
  --radius-lg:22px;
  --shadow-sm:0 1px 2px rgba(20,20,15,.04),0 2px 6px rgba(20,20,15,.06);
  --shadow-md:0 2px 4px rgba(20,20,15,.04),0 8px 24px rgba(20,20,15,.06),0 16px 40px rgba(20,20,15,.05);
  --shadow-lg:0 4px 8px rgba(20,20,15,.04),0 20px 48px rgba(20,20,15,.10),0 40px 80px rgba(20,20,15,.10);
  --shadow-accent:0 8px 24px rgba(255,91,31,.25),0 2px 6px rgba(255,91,31,.18);

  --ease:cubic-bezier(.16,1,.3,1);
}

html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;scroll-behavior:smooth}
body{font-family:var(--font-body);background:var(--bg);color:var(--ink);line-height:1.55;font-size:16px;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}
em{font-style:italic;font-family:var(--font-display);font-weight:600;color:var(--accent)}

.skip-link{position:absolute;left:-9999px;top:0;background:var(--ink);color:#fff;padding:.75rem 1rem;z-index:9999;border-radius:0 0 8px 0}
.skip-link:focus{left:0}

.container{width:100%;max-width:1240px;margin:0 auto;padding:0 clamp(1rem,3vw,2rem)}

.nav{position:sticky;top:0;z-index:1000;background:rgba(250,250,247,.92);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-bottom:1px solid transparent;transition:border-color .3s ease,background .3s ease;transform:translateZ(0)}
.nav.scrolled{border-color:var(--line);background:#fff}
.nav-inner{max-width:1240px;margin:0 auto;padding:.85rem clamp(1rem,3vw,2rem);display:flex;align-items:center;gap:2rem}
.logo{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--font-display);font-weight:600;font-size:1.02rem;letter-spacing:-.01em}
.logo-img{display:block;height:45px;width:auto;max-width:170px;object-fit:contain}
.logo-img-footer{height:45px;max-width:170px}
.nav-links{display:flex;gap:2rem;margin-left:1rem;flex:1}
.nav-links a{font-size:.92rem;color:var(--ink-2);position:relative;transition:color .2s}
.nav-links a:hover,.nav-links a[aria-current="page"]{color:var(--ink)}
.nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.nav-links a:hover::after,.nav-links a[aria-current="page"]::after{transform:scaleX(1)}
.nav-cta{display:flex;align-items:center;gap:1.2rem}
.nav-link-quiet{font-size:.92rem;color:var(--ink-2)}
.nav-link-quiet:hover{color:var(--ink)}

.hamburger{display:none;width:42px;height:42px;flex-direction:column;justify-content:center;align-items:center;gap:5px;border-radius:10px;transition:background .2s;margin-left:auto;position:relative;z-index:2100}
.hamburger:hover{background:rgba(0,0,0,.04)}
.hamburger span{width:20px;height:1.8px;background:var(--ink);transition:transform .3s var(--ease),opacity .2s;border-radius:2px;display:block}
.hamburger[aria-expanded="true"] span:nth-child(1){transform:translateY(6.8px) rotate(45deg)}
.hamburger[aria-expanded="true"] span:nth-child(2){opacity:0}
.hamburger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6.8px) rotate(-45deg)}

.mobile-menu{display:none;position:fixed;top:0;left:0;right:0;bottom:0;width:100%;height:100%;height:100dvh;padding:5rem clamp(1.2rem,5vw,2rem) 2rem;background:var(--bg);flex-direction:column;gap:.25rem;z-index:2000;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.mobile-menu a{padding:1rem 0;font-family:var(--font-display);font-size:1.3rem;font-weight:500;color:var(--ink);border-bottom:1px solid var(--line);letter-spacing:-.01em;transition:color .2s,padding-left .2s}
.mobile-menu a:hover,.mobile-menu a:active{color:var(--accent);padding-left:.4rem}
.mobile-menu .btn{margin-top:1.5rem;border-bottom:none;padding:1rem 1.5rem;font-size:1rem;justify-content:center}
.mobile-menu .btn:hover{padding-left:1.5rem;color:#fff}
.mobile-menu.open{display:flex;animation:menuSlideIn .25s var(--ease) both}
@keyframes menuSlideIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
body.menu-open{overflow:hidden}

.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 1.3rem;border-radius:999px;font-family:var(--font-body);font-weight:500;font-size:.95rem;letter-spacing:-.005em;transition:transform .2s var(--ease),box-shadow .2s var(--ease),background .2s,color .2s,border-color .2s;white-space:nowrap}
.btn-sm{padding:.55rem 1rem;font-size:.88rem}
.btn-lg{padding:1.05rem 1.7rem;font-size:1.02rem}
.btn-full{width:100%;justify-content:center}
.btn-primary{background:var(--ink);color:#fff;box-shadow:0 1px 2px rgba(0,0,0,.1),0 4px 14px rgba(0,0,0,.15)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,.12),0 12px 28px rgba(0,0,0,.2);background:var(--dark-2)}
.btn-secondary{background:#fff;color:var(--ink);border:1px solid var(--line-2);box-shadow:var(--shadow-sm)}
.btn-secondary:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--ink-4)}
.btn-ghost{color:var(--ink-2)}
.btn-ghost:hover{color:var(--ink);background:rgba(0,0,0,.04)}
.btn-light{background:#fff;color:var(--ink)}
.btn-light:hover{transform:translateY(-2px);box-shadow:0 4px 14px rgba(0,0,0,.2);background:var(--accent);color:#fff}
.play-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--ink);color:#fff;font-size:.55rem;padding-left:2px}

.hero{position:relative;padding:5.5rem 0 4rem;overflow:hidden}
.hero-grid-bg{position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:60px 60px;background-position:center top;mask-image:radial-gradient(ellipse 80% 60% at 50% 30%,#000 30%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 30%,#000 30%,transparent 75%);opacity:.6;pointer-events:none}
.hero-glow{position:absolute;top:-10%;left:50%;transform:translateX(-50%);width:900px;height:600px;background:radial-gradient(ellipse at center,rgba(255,91,31,.18),rgba(255,91,31,0) 60%);pointer-events:none;filter:blur(20px)}
.hero-content{position:relative;text-align:center}

.pill{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .85rem .4rem .55rem;background:#fff;border:1px solid var(--line-2);border-radius:999px;font-size:.82rem;color:var(--ink-2);box-shadow:var(--shadow-sm);margin-bottom:2rem;font-family:var(--font-display)}
.pill-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px rgba(255,91,31,.2);animation:pulse 2.2s ease-in-out infinite}
.pill-arrow{color:var(--ink-3);transition:transform .2s}
.pill:hover .pill-arrow{transform:translateX(3px)}
@keyframes pulse{0%,100%{box-shadow:0 0 0 3px rgba(255,91,31,.2)}50%{box-shadow:0 0 0 6px rgba(255,91,31,0)}}

.hero-title{font-family:var(--font-display);font-weight:500;font-size:clamp(2.4rem,5.5vw,4.4rem);line-height:1.02;letter-spacing:-.035em;text-wrap:balance;max-width:18ch;margin:0 auto 1.5rem;color:var(--ink)}
.hero-sub{font-size:clamp(1rem,1.4vw,1.18rem);color:var(--ink-2);max-width:36rem;margin:0 auto 2.2rem;line-height:1.55}
.hero-cta{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:center;margin-bottom:1.1rem}
.hero-meta{display:flex;flex-wrap:wrap;gap:.7rem;justify-content:center;font-size:.82rem;color:var(--ink-3);font-family:var(--font-display);margin-bottom:4rem}
.dot-sep{color:var(--ink-4)}

.hero-screenshot{position:relative;max-width:1100px;margin:0 auto;border-radius:var(--radius-lg);background:#fff;border:1px solid var(--line-2);box-shadow:var(--shadow-lg);overflow:hidden;transform-origin:center top}
.hero-screenshot-img{padding:0;background:transparent;border:1px solid var(--line-2)}
.hero-screenshot-img img{width:100%;height:auto;display:block;object-fit:cover;border-radius:var(--radius-lg)}

.logos{margin-top:4rem;text-align:center}
.logos-label{font-family:var(--font-display);font-size:.78rem;color:var(--ink-3);text-transform:uppercase;letter-spacing:.12em;margin-bottom:1.5rem}
.logos-row{display:flex;flex-wrap:wrap;justify-content:center;gap:2.5rem;font-family:var(--font-display);font-weight:500;color:var(--ink-3);font-size:1rem;letter-spacing:.02em;opacity:.85}
.logos-row span{transition:color .2s,opacity .2s}
.logos-row span:hover{color:var(--ink);opacity:1}

.section{padding:clamp(4rem,9vw,8rem) 0}
.section-dark{background:var(--dark);color:#e5e5e0;border-radius:0;margin:0;position:relative}
.section-head{max-width:780px;margin:0 auto 4rem;text-align:center}
.section-head-left{margin:0 0 3rem;text-align:left}
.section-head-left .section-sub{margin:0}
.eyebrow{font-family:var(--font-display);font-size:.78rem;text-transform:uppercase;letter-spacing:.18em;color:var(--accent);margin-bottom:1rem;font-weight:500}
.eyebrow-light{color:#ff8a4d}
.section-title{font-family:var(--font-display);font-weight:500;font-size:clamp(1.9rem,4vw,3.2rem);line-height:1.05;letter-spacing:-.03em;text-wrap:balance;margin-bottom:1.2rem}
.section-sub{font-size:clamp(1rem,1.3vw,1.12rem);color:var(--ink-2);max-width:38rem;margin:0 auto;line-height:1.55}
.section-dark .section-sub{color:#a3a39a}

.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.feature-card{grid-column:span 1;background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:2rem;display:flex;flex-direction:column;gap:1.5rem;transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s;overflow:hidden;position:relative}
.feature-card.span-2{grid-column:span 2;flex-direction:row;align-items:center;gap:2.5rem}
.feature-card.span-2 .feature-text,.feature-card.span-2 .feature-visual{flex:1;min-width:0}
.feature-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--line-2)}
.feature-text h3{font-family:var(--font-display);font-weight:500;font-size:1.5rem;line-height:1.18;letter-spacing:-.02em;margin-bottom:.7rem;text-wrap:balance}
.feature-text p{color:var(--ink-2);font-size:.95rem;line-height:1.6}
.feat-eyebrow{font-family:var(--font-display);font-size:.72rem;letter-spacing:.14em;color:var(--ink-3);text-transform:uppercase;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}
.feat-num{background:var(--accent-2);color:var(--accent-ink);padding:.15rem .4rem;border-radius:4px;font-weight:600}
.link-arrow{display:inline-block;margin-top:1rem;font-family:var(--font-display);font-size:.88rem;color:var(--ink);font-weight:500;border-bottom:1px solid var(--ink-4);padding-bottom:2px;transition:border-color .2s,transform .2s}
.link-arrow:hover{border-color:var(--ink)}
.feature-visual{background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:1.2rem;min-height:240px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.thread-mock{width:100%;display:flex;flex-direction:column;gap:.8rem}
.thread-msg{display:flex;gap:.6rem;align-items:flex-start}
.thread-msg .av{flex-shrink:0;width:26px;height:26px;font-size:.7rem}
.ai-av{background:var(--ink) !important;color:#ff8a4d !important}
.thread-msg>div:last-child{flex:1;background:#fff;border:1px solid var(--line);border-radius:10px;padding:.6rem .8rem}
.thread-msg.ai>div:last-child{background:var(--ink);color:#e5e5e0;border-color:var(--ink)}
.thread-msg b{font-size:.82rem;margin-right:.4rem}
.thread-msg .time{font-family:var(--font-display);font-size:.7rem;color:var(--ink-3)}
.thread-msg.ai .time{color:#888}
.thread-msg p{font-size:.85rem;margin-top:.15rem;line-height:1.45}
.thread-pill{display:inline-block;margin-top:.4rem;font-family:var(--font-display);font-size:.7rem;background:var(--accent-2);color:var(--accent-ink);padding:.15rem .5rem;border-radius:4px}

.roadmap-mock{width:100%;position:relative;padding:.5rem 0}
.rm-row{display:flex;align-items:center;gap:.6rem;margin-bottom:.6rem;position:relative}
.rm-label{font-family:var(--font-display);font-size:.72rem;color:var(--ink-2);width:60px;flex-shrink:0}
.rm-bar{height:14px;border-radius:4px;margin-left:calc(var(--s));width:var(--w);box-shadow:0 1px 2px rgba(0,0,0,.08);position:relative;overflow:hidden}
.rm-bar::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transform:translateX(-100%);animation:shimmer 3s ease-in-out infinite}
@keyframes shimmer{50%,100%{transform:translateX(200%)}}
.rm-marker{position:absolute;top:0;bottom:0;left:48%;width:1px;background:var(--accent);pointer-events:none}
.rm-marker span{position:absolute;top:-14px;left:50%;transform:translateX(-50%);font-family:var(--font-display);font-size:.62rem;background:var(--accent);color:#fff;padding:.1rem .35rem;border-radius:3px;letter-spacing:.08em}
.insight-mock{width:100%;height:100%;display:flex;align-items:flex-end;justify-content:space-between;padding:1rem 0;position:relative}
.chart-bars{display:flex;align-items:flex-end;gap:8px;height:140px;flex:1}
.chart-bars i{flex:1;background:linear-gradient(180deg,#ffb38f,#ff5b1f);border-radius:4px 4px 0 0;display:block;transition:transform .2s}
.chart-bars i.active{background:var(--ink);box-shadow:0 4px 14px rgba(255,91,31,.4)}
.insight-tag{position:absolute;top:0;right:0;background:#fff;border:1px solid var(--line);padding:.6rem .8rem;border-radius:10px;box-shadow:var(--shadow-sm)}
.it-val{font-family:var(--font-display);font-weight:600;font-size:1.3rem;color:var(--accent)}
.it-lbl{font-size:.7rem;color:var(--ink-3);font-family:var(--font-display);text-transform:uppercase;letter-spacing:.06em;margin-top:.1rem}
.ai-mock{width:100%;display:flex;flex-direction:column;gap:.8rem}
.ai-prompt{background:#fff;border:1px solid var(--line);border-radius:10px;padding:.7rem .9rem;font-family:var(--font-display);font-size:.85rem;color:var(--ink);display:flex;align-items:center;gap:.5rem}
.ai-prompt span{color:var(--accent);font-weight:600}
.ai-response{background:var(--ink);color:#e5e5e0;border-radius:10px;padding:.9rem 1rem;font-size:.85rem}
.ai-line{padding:.25rem 0;display:flex;gap:.5rem;align-items:flex-start}
.ai-bullet{color:#ff8a4d;font-family:var(--font-display)}
.ai-line b{color:#fff}
.typing .caret{display:inline-block;width:7px;height:13px;background:#ff8a4d;margin-left:3px;vertical-align:middle;animation:blink 1s steps(2) infinite}
@keyframes blink{50%{opacity:0}}

.workflow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:1.5rem;align-items:stretch}
.wf-step{background:var(--dark-2);border:1px solid var(--dark-3);border-radius:var(--radius-lg);padding:2rem 1.7rem;display:flex;flex-direction:column;transition:transform .35s var(--ease),border-color .35s}
.wf-step:hover{transform:translateY(-4px);border-color:#3a3a35}
.wf-num{font-family:var(--font-display);font-size:.78rem;color:#ff8a4d;letter-spacing:.14em;margin-bottom:1rem;font-weight:500}
.wf-step h3{font-family:var(--font-display);font-weight:500;font-size:1.4rem;letter-spacing:-.02em;margin-bottom:.6rem;color:#fff}
.wf-step p{color:#a3a39a;font-size:.92rem;line-height:1.55;margin-bottom:1.5rem}
.wf-arrow{display:flex;align-items:center;font-family:var(--font-display);color:#5a5a52;font-size:1.3rem}
.wf-visual{margin-top:auto;display:flex;flex-direction:column;gap:.4rem}
.wf-row{background:#0a0a09;border:1px solid var(--dark-3);border-radius:8px;padding:.55rem .7rem;display:flex;align-items:center;gap:.7rem;font-size:.8rem}
.wf-src{font-family:var(--font-display);font-size:.62rem;letter-spacing:.1em;color:#ff8a4d;background:rgba(255,138,77,.1);padding:.15rem .4rem;border-radius:3px;font-weight:600;flex-shrink:0}
.wf-txt{color:#d4d4cc;font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wf-cluster{background:#0a0a09;border:1px solid var(--dark-3);border-radius:10px;padding:.85rem}
.wf-c-title{font-size:.92rem;color:#fff;margin-bottom:.4rem;font-weight:500}
.wf-c-meta{display:flex;justify-content:space-between;font-family:var(--font-display);font-size:.7rem;color:#888;margin-bottom:.55rem}
.wf-impact{color:#ff8a4d !important;letter-spacing:.08em}
.wf-c-bar{height:5px;background:var(--dark-3);border-radius:99px;overflow:hidden}
.wf-c-bar i{display:block;height:100%;background:linear-gradient(90deg,#ff5b1f,#ffb38f);border-radius:99px}
.wf-ship{display:flex;flex-direction:column;gap:.5rem}
.wf-ship-row{background:#0a0a09;border:1px solid var(--dark-3);border-radius:8px;padding:.55rem .75rem;display:flex;align-items:center;gap:.6rem;font-family:var(--font-display);font-size:.8rem;color:#d4d4cc}
.check{width:16px;height:16px;border-radius:50%;background:rgba(74,222,128,.18);color:#4ade80;display:grid;place-items:center;font-size:.65rem;flex-shrink:0}

.two-col{display:grid;grid-template-columns:1fr 1.1fr;gap:4rem;align-items:center}
.two-col .eyebrow{margin-bottom:1rem}
.two-col .section-title{font-size:clamp(1.7rem,3.4vw,2.6rem);margin-bottom:1.1rem}
.two-col .section-sub{margin:0 0 1.8rem;text-align:left}
.integrations-grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.int-tile{background:#fff;border:1px solid var(--line);border-radius:12px;padding:1rem;display:flex;align-items:center;gap:.85rem;transition:transform .2s,box-shadow .2s,border-color .2s}
.int-tile:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--line-2)}
.int-ico{width:38px;height:38px;border-radius:9px;display:grid;place-items:center;color:#fff;font-family:var(--font-display);font-weight:600;font-size:1.1rem;flex-shrink:0}
.int-tile b{font-size:.95rem;display:block}
.int-tile span{font-family:var(--font-display);font-size:.72rem;color:var(--ink-3)}

.section-stats{background:var(--bg-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}
.big-stat{text-align:center;padding:1rem}
.bs-num{font-family:var(--font-display);font-weight:500;font-size:clamp(2.5rem,5vw,4rem);line-height:1;letter-spacing:-.04em;display:inline-block;font-variant-numeric:tabular-nums;color:var(--ink)}
.bs-suf{display:inline-block;font-family:var(--font-display);font-weight:500;font-size:clamp(1.5rem,2.5vw,2.2rem);color:var(--accent);letter-spacing:-.02em;margin-left:.05em}
.bs-lbl{font-family:var(--font-display);font-size:.85rem;color:var(--ink-2);margin-top:.7rem;letter-spacing:-.01em}

.testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;align-items:stretch}
.t-card{break-inside:avoid;display:flex;flex-direction:column;gap:1rem;background:#fff;border:1px solid var(--line);border-radius:16px;padding:1.5rem 1.4rem;box-shadow:var(--shadow-sm);transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s;height:100%}
.t-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--line-2)}
.t-stars{font-size:.92rem;color:var(--accent);letter-spacing:.08em;line-height:1}
.t-card blockquote{font-family:var(--font-body);font-size:.95rem;line-height:1.55;color:var(--ink);letter-spacing:-.005em;text-wrap:pretty;flex:1}
.t-card figcaption{display:flex;align-items:center;gap:.75rem;padding-top:1rem;border-top:1px solid var(--line);margin-top:auto}
.t-card .q-av{width:38px;height:38px;border-radius:50%;color:#fff;display:grid;place-items:center;font-family:var(--font-display);font-weight:600;font-size:.82rem;flex-shrink:0}
.t-card .q-name{font-weight:600;font-size:.9rem;line-height:1.2}
.t-card .q-role{font-family:var(--font-display);font-size:.74rem;color:var(--ink-3);margin-top:.15rem}
@media (max-width:1024px){.testimonials-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.testimonials-grid{grid-template-columns:1fr}}

/* ============================================== */
/* ====== PRODUCTS PAGE TESTIMONIALS ============ */
/* ============================================== */
.prod-testimonials-sec{position:relative;overflow:hidden}
.prod-testimonials-sec::before{content:"";position:absolute;top:-15%;right:-10%;width:520px;height:520px;background:radial-gradient(ellipse at center,rgba(255,91,31,.10),transparent 65%);pointer-events:none;filter:blur(20px);z-index:0}
.prod-testimonials-sec .container{position:relative;z-index:1}
.pt-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:1.3rem;align-items:stretch}
.pt-card{grid-column:span 2;background:#fff;border:1px solid var(--line);border-radius:18px;padding:1.7rem 1.6rem;display:flex;flex-direction:column;gap:1.1rem;box-shadow:var(--shadow-sm);transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s;position:relative}
.pt-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--line-2)}
.pt-card-feature{grid-column:span 6;background:var(--ink);color:#fff;border-color:var(--ink);padding:clamp(2rem,4vw,3rem);overflow:hidden}
.pt-card-feature::after{content:"";position:absolute;top:-50%;right:-10%;width:520px;height:520px;background:radial-gradient(ellipse at center,rgba(255,91,31,.25),transparent 65%);pointer-events:none;z-index:0}
.pt-card-feature>*{position:relative;z-index:1}
.pt-quote-mark{font-family:var(--font-display);font-weight:500;font-size:5.5rem;line-height:.8;color:var(--accent);opacity:.85;margin-bottom:-.4rem}
.pt-card-feature blockquote{font-family:var(--font-display);font-weight:400;font-style:italic;font-size:clamp(1.25rem,2.2vw,1.85rem);line-height:1.4;letter-spacing:-.015em;color:#f5f5ef;text-wrap:balance;max-width:42ch;-webkit-text-fill-color:#f5f5ef}
.pt-card-feature blockquote em{color:#ff8a4d;font-style:italic;-webkit-text-fill-color:#ff8a4d}
.pt-card blockquote{font-family:var(--font-display);font-weight:400;font-size:1rem;line-height:1.5;letter-spacing:-.01em;color:var(--ink);text-wrap:pretty;flex:1}
.pt-stars{font-size:.92rem;color:var(--accent);letter-spacing:.1em;line-height:1}
.pt-card figcaption{display:flex;align-items:center;gap:.8rem;padding-top:1.1rem;border-top:1px solid var(--line);margin-top:auto}
.pt-card-feature figcaption{border-top-color:rgba(255,255,255,.14);padding-top:1.5rem;margin-top:1.5rem}
.pt-av{width:42px;height:42px;border-radius:50%;color:#fff;display:grid;place-items:center;font-family:var(--font-display);font-weight:600;font-size:.85rem;flex-shrink:0;letter-spacing:.02em}
.pt-card-feature .pt-av{width:48px;height:48px;font-size:.95rem}
.pt-meta{flex:1;min-width:0}
.pt-name{font-family:var(--font-display);font-weight:600;font-size:.95rem;line-height:1.2;color:var(--ink)}
.pt-card-feature .pt-name{color:#ffffff}
.pt-role{font-family:var(--font-display);font-size:.78rem;color:var(--ink-3);margin-top:.2rem;letter-spacing:.01em}
.pt-card-feature .pt-role{color:#c4c4bc}
.pt-stat{text-align:right;padding-left:1.2rem;border-left:1px solid rgba(255,255,255,.14);flex-shrink:0}
.pt-stat-val{font-family:var(--font-display);font-weight:500;font-size:1.7rem;color:#ff8a4d;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums}
.pt-stat-lbl{font-family:var(--font-display);font-size:.72rem;color:#c4c4bc;text-transform:uppercase;letter-spacing:.1em;margin-top:.3rem}
.pt-footer{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;margin-top:2.5rem;padding-top:2rem;border-top:1px solid var(--line);flex-wrap:wrap}
.pt-rating{display:flex;align-items:center;gap:.9rem}
.pt-rating-stars{font-size:1.05rem;color:var(--accent);letter-spacing:.1em;line-height:1}
.pt-rating-meta{font-family:var(--font-display);font-size:.88rem;color:var(--ink-2)}
.pt-rating-meta b{color:var(--ink);font-weight:600}
@media (max-width:1024px){
  .pt-grid{grid-template-columns:repeat(4,1fr)}
  .pt-card{grid-column:span 2}
  .pt-card-feature{grid-column:span 4}
}
@media (max-width:768px){
  .pt-grid{grid-template-columns:1fr;gap:1rem}
  .pt-card,.pt-card-feature{grid-column:span 1;padding:1.5rem}
  .pt-card-feature blockquote{font-size:1.2rem}
  .pt-stat{padding-left:0;border-left:none;border-top:1px solid rgba(255,255,255,.14);padding-top:.9rem;margin-top:.5rem;width:100%;text-align:left}
  .pt-card-feature figcaption{flex-wrap:wrap}
  .pt-footer{flex-direction:column;text-align:center;gap:1rem}
}

.pricing{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;align-items:stretch}
.price-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:2rem;display:flex;flex-direction:column;position:relative;transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.price-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.price-card.featured{background:var(--ink);color:#fff;border-color:var(--ink);transform:scale(1.03)}
.price-card.featured:hover{transform:scale(1.03) translateY(-4px);box-shadow:var(--shadow-lg)}
.price-badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);font-family:var(--font-display);font-size:.68rem;background:var(--accent);color:#fff;padding:.25rem .7rem;border-radius:99px;letter-spacing:.12em;font-weight:600}
.price-name{font-family:var(--font-display);font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin-bottom:1rem;font-weight:500}
.price-card.featured .price-name{color:#ff8a4d}
.price-amt{font-family:var(--font-display);font-weight:500;font-size:3.2rem;line-height:1;letter-spacing:-.04em;display:flex;align-items:flex-start;gap:.1rem}
.price-amt-text{font-size:2.2rem}
.price-cur{font-size:1.4rem;color:var(--ink-3);margin-top:.4rem}
.price-card.featured .price-cur{color:#888}
.price-per{font-family:var(--font-display);font-size:.82rem;color:var(--ink-3);margin-top:.4rem;margin-bottom:1.7rem}
.price-card.featured .price-per{color:#888}
.price-feats{list-style:none;display:flex;flex-direction:column;gap:.6rem;margin-bottom:2rem;flex:1}
.price-feats li{font-size:.92rem;color:var(--ink-2);padding-left:1.5rem;position:relative}
.price-card.featured .price-feats li{color:#d4d4cc}
.price-feats li::before{content:"✓";position:absolute;left:0;color:var(--accent);font-weight:700}
.price-card.featured .price-feats li::before{color:#ff8a4d}
.price-card.featured .btn-primary{background:#fff;color:var(--ink)}
.price-card.featured .btn-primary:hover{background:var(--accent);color:#fff}

.cta-card{position:relative;background:var(--ink);color:#fff;border-radius:var(--radius-lg);padding:clamp(3rem,6vw,5rem) clamp(1.5rem,5vw,4rem);text-align:center;overflow:hidden}
.cta-grid-bg{position:absolute;inset:0;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:48px 48px;mask-image:radial-gradient(ellipse at center,#000 30%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse at center,#000 30%,transparent 75%);pointer-events:none}
.cta-card::after{content:"";position:absolute;top:-30%;left:50%;transform:translateX(-50%);width:600px;height:400px;background:radial-gradient(ellipse at center,rgba(255,91,31,.4),transparent 65%);pointer-events:none}
.cta-card>*{position:relative;z-index:1}
.cta-card h2{font-family:var(--font-display);font-weight:500;font-size:clamp(2rem,4.5vw,3.4rem);line-height:1.05;letter-spacing:-.03em;text-wrap:balance;margin-bottom:1.2rem}
.cta-card p{color:#a3a39a;font-size:clamp(1rem,1.3vw,1.12rem);max-width:42rem;margin:0 auto 2rem;line-height:1.5}
.cta-row{display:flex;flex-wrap:wrap;gap:.8rem;margin-bottom:1.5rem;justify-content:center}
.cta-card .btn-primary{background:#fff;color:var(--ink)}
.cta-card .btn-primary:hover{background:var(--accent);color:#fff}
.cta-card .btn-ghost{color:#d4d4cc}
.cta-card .btn-ghost:hover{color:#fff;background:rgba(255,255,255,.08)}
.cta-meta{font-family:var(--font-display);font-size:.78rem;color:#6b6b65;letter-spacing:.04em}

.footer{padding:5rem 0 3rem;border-top:1px solid var(--line)}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr 1fr;gap:2.5rem;margin-bottom:3rem}
.footer-brand p{color:var(--ink-3);font-size:.92rem;margin:1rem 0 1.2rem;max-width:24rem;line-height:1.5}
.status-pill{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-display);font-size:.78rem;color:var(--ink-2);background:#fff;border:1px solid var(--line);padding:.3rem .7rem;border-radius:99px}
.status-dot{width:7px;height:7px;border-radius:50%;background:#34d399;box-shadow:0 0 0 3px rgba(52,211,153,.18);animation:pulse-g 2s ease-in-out infinite}
@keyframes pulse-g{0%,100%{box-shadow:0 0 0 3px rgba(52,211,153,.18)}50%{box-shadow:0 0 0 6px rgba(52,211,153,0)}}
.footer-h{font-family:var(--font-display);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);font-weight:600;margin-bottom:1.1rem}
.footer-grid a{display:block;padding:.35rem 0;color:var(--ink-3);font-size:.92rem;transition:color .2s}
.footer-grid a:hover{color:var(--ink)}
.footer-base{display:flex;justify-content:space-between;padding-top:2rem;border-top:1px solid var(--line);font-family:var(--font-display);font-size:.8rem;color:var(--ink-3);flex-wrap:wrap;gap:1rem}

[data-anim]{opacity:0}
[data-anim].in{opacity:1}
[data-anim="fade"].in{animation:fadeUp .9s var(--ease) both}
[data-anim="scale"].in{animation:scaleIn 1.1s var(--ease) both}
@keyframes fadeUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes scaleIn{from{opacity:0;transform:scale(.97) translateY(20px)}to{opacity:1;transform:none}}
[data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
[data-reveal].visible{opacity:1;transform:none}
.t-card[data-reveal]{transform:none;opacity:1;transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s}
.pill{animation-delay:0s !important}
.hero-title{animation-delay:.1s !important}
.hero-sub{animation-delay:.25s !important}
.hero-cta{animation-delay:.4s !important}
.hero-meta{animation-delay:.5s !important}
.hero-screenshot{animation-delay:.3s !important}
.logos{animation-delay:.7s !important}

.sub-nav{position:sticky;top:67px;z-index:90;background:rgba(250,250,247,.92);backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);border-bottom:1px solid var(--line)}
.sub-nav-inner{max-width:1240px;margin:0 auto;padding:.7rem clamp(1rem,3vw,2rem);display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}
.breadcrumb ol{display:flex;align-items:center;gap:.5rem;list-style:none;font-family:var(--font-display);font-size:.78rem;color:var(--ink-3)}
.breadcrumb li{display:flex;align-items:center;gap:.5rem}
.breadcrumb li+li::before{content:"/";color:var(--ink-4);margin-right:.2rem}
.breadcrumb a{color:var(--ink-3);transition:color .2s}
.breadcrumb a:hover{color:var(--ink)}
.breadcrumb [aria-current="page"]{color:var(--ink);font-weight:500}
.anchor-nav{display:flex;gap:.3rem;margin-left:auto;flex-wrap:wrap}
.anchor-link{font-family:var(--font-display);font-size:.78rem;color:var(--ink-3);padding:.35rem .7rem;border-radius:6px;transition:background .2s,color .2s}
.anchor-link:hover{background:rgba(0,0,0,.04);color:var(--ink)}
.anchor-link.active{background:var(--ink);color:#fff}
.sub-nav-cta{margin-left:.5rem}

.svc-hero{padding:3rem 0 4rem;position:relative;overflow:hidden;scroll-margin-top:90px}
.svc-hero::before{content:"";position:absolute;top:-20%;right:-10%;width:600px;height:500px;background:radial-gradient(ellipse,rgba(255,91,31,.10),transparent 65%);pointer-events:none;filter:blur(20px)}
.svc-hero-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:3.5rem;align-items:center;position:relative}
.svc-hero-copy{position:relative}
.svc-eyebrow{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .8rem;background:#fff;border:1px solid var(--line-2);border-radius:999px;font-family:var(--font-display);font-size:.78rem;color:var(--ink-2);box-shadow:var(--shadow-sm);margin-bottom:1.4rem}
.svc-eyebrow svg{color:var(--accent)}
.svc-title{font-family:var(--font-display);font-weight:500;font-size:clamp(2rem,4.2vw,3.4rem);line-height:1.05;letter-spacing:-.03em;text-wrap:balance;margin-bottom:1.1rem;max-width:14ch}
.svc-lede{font-size:clamp(1rem,1.25vw,1.12rem);color:var(--ink-2);line-height:1.6;margin-bottom:1.6rem;max-width:34rem}
.svc-bullets{list-style:none;display:flex;flex-direction:column;gap:.55rem;margin-bottom:2rem}
.svc-bullets li{display:flex;align-items:center;gap:.65rem;font-size:.95rem;color:var(--ink-2)}
.sb-ico{width:20px;height:20px;border-radius:50%;background:var(--accent-2);color:var(--accent-ink);display:grid;place-items:center;font-size:.7rem;font-weight:700;flex-shrink:0}
.svc-hero-cta{display:flex;gap:.7rem;margin-bottom:1.7rem;flex-wrap:wrap}
.svc-trust{display:flex;align-items:center;gap:.7rem;font-family:var(--font-display);font-size:.82rem;color:var(--ink-2)}
.svc-trust b{color:var(--ink);font-weight:600}
.svc-trust span{color:var(--ink-3)}
.svc-trust-stars{color:var(--accent);font-size:.95rem;letter-spacing:.05em}

.svc-hero-visual{position:relative;align-self:center;padding:1rem 0;min-height:560px;display:flex;align-items:center;justify-content:center}
.svc-hero-visual::before{content:"";position:absolute;top:5%;right:-3%;width:55%;height:65%;background-image:radial-gradient(circle,var(--line-2) 1.4px,transparent 1.4px);background-size:14px 14px;mask-image:radial-gradient(ellipse 70% 70% at 70% 50%,#000 30%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse 70% 70% at 70% 50%,#000 30%,transparent 75%);opacity:.55;pointer-events:none;z-index:0}
.svc-hero-visual::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;height:90%;background:radial-gradient(ellipse at center,rgba(255,91,31,.20),rgba(255,91,31,.05) 50%,transparent 75%);filter:blur(40px);pointer-events:none;z-index:0}

.svc-hero-photo{position:relative;z-index:2;width:100%;max-width:720px;margin:0;border-radius:18px;overflow:visible;background:transparent;border:none;box-shadow:none;aspect-ratio:auto;animation:svcFloat 6s ease-in-out infinite}
.svc-hero-photo img{width:112%;max-width:none;height:auto;object-fit:contain;display:block;border-radius:18px;margin-left:-6%;filter:drop-shadow(0 24px 60px rgba(20,20,15,.18)) drop-shadow(0 8px 20px rgba(20,20,15,.10))}
.svc-hero-photo-cap{display:none}

.fax-hero-card{position:relative;z-index:2;width:100%;max-width:520px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 60px rgba(20,20,15,.12),0 8px 20px rgba(20,20,15,.06);overflow:hidden;animation:svcFloat 6s ease-in-out infinite}
@keyframes svcFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.fax-card-head{display:flex;align-items:center;gap:.8rem;padding:.85rem 1.1rem;background:var(--bg-2);border-bottom:1px solid var(--line)}
.fax-card-dots{display:flex;gap:5px}
.fax-card-dots i{width:10px;height:10px;border-radius:50%;display:block}
.fax-card-dots i:nth-child(1){background:#f87171}
.fax-card-dots i:nth-child(2){background:#fbbf24}
.fax-card-dots i:nth-child(3){background:#4ade80}
.fax-card-title{flex:1;font-family:var(--font-display);font-size:.82rem;color:var(--ink-2);font-weight:500}
.fax-card-badge{font-family:var(--font-display);font-size:.62rem;letter-spacing:.14em;background:var(--accent);color:#fff;padding:.2rem .5rem;border-radius:4px;font-weight:600}
.fax-card-body{padding:1.2rem}
.fax-doc{display:flex;gap:.85rem;align-items:center;padding:.85rem;background:var(--bg-2);border:1px solid var(--line);border-radius:10px;margin-bottom:1rem}
.fax-doc-icon{width:42px;height:42px;background:#fff;border:1px solid var(--accent-2);border-radius:8px;display:grid;place-items:center;flex-shrink:0}
.fax-doc-meta b{display:block;font-family:var(--font-display);font-size:.85rem;color:var(--ink);font-weight:600;margin-bottom:.15rem;word-break:break-all}
.fax-doc-meta span{font-family:var(--font-display);font-size:.72rem;color:var(--ink-3)}
.fax-row{display:flex;justify-content:space-between;align-items:center;padding:.45rem 0;border-bottom:1px solid var(--line);font-size:.85rem}
.fax-row:last-of-type{border-bottom:none;padding-bottom:.7rem}
.fax-row span{color:var(--ink-3);font-family:var(--font-display);font-size:.76rem;text-transform:uppercase;letter-spacing:.08em}
.fax-row b{color:var(--ink);font-weight:500;font-size:.82rem}
.fax-row b.fax-route{color:var(--accent);font-family:var(--font-display)}
.fax-progress{padding:.7rem .85rem;background:var(--ink);border-radius:10px;margin:.6rem 0 .9rem;color:#fff}
.fax-progress-bar{height:6px;background:rgba(255,255,255,.1);border-radius:99px;overflow:hidden;margin-bottom:.5rem}
.fax-progress-bar i{display:block;height:100%;background:linear-gradient(90deg,#ff5b1f,#ffb38f);border-radius:99px;transition:width .15s linear}
.fax-progress-meta{display:flex;justify-content:space-between;font-family:var(--font-display);font-size:.74rem}
.fax-progress-meta span{color:#a3a39a}
.fax-progress-meta b{color:#ff8a4d;font-variant-numeric:tabular-nums;font-weight:600}
.fax-status{display:flex;align-items:center;gap:.7rem;padding:.7rem .85rem;background:rgba(52,211,153,.08);border:1px solid rgba(52,211,153,.25);border-radius:10px}
.fax-status-dot{width:8px;height:8px;border-radius:50%;background:#34d399;box-shadow:0 0 0 3px rgba(52,211,153,.2);animation:pulse-g 2s ease-in-out infinite;flex-shrink:0}
.fax-status>div{flex:1}
.fax-status b{display:block;font-size:.82rem;color:#0a7f4b;font-weight:600;font-family:var(--font-display)}
.fax-status span{font-family:var(--font-display);font-size:.7rem;color:var(--ink-3)}
.fax-status em{font-style:normal;color:#34d399;font-weight:700;font-size:1.1rem}

.fax-hero-glyph{position:absolute;bottom:8%;left:-6%;width:64px;height:64px;background:#fff;border:1px solid var(--line);border-radius:14px;display:grid;place-items:center;box-shadow:var(--shadow-md);z-index:3;animation:svcFloat 5.5s ease-in-out infinite;animation-delay:.5s}

.svc-hero-pill{position:absolute;background:#fff;border:1px solid var(--line);border-radius:12px;padding:.6rem .9rem;font-family:var(--font-body);font-size:.82rem;box-shadow:0 12px 32px rgba(20,20,15,.12),0 2px 6px rgba(20,20,15,.06);display:flex;align-items:center;gap:.55rem;z-index:3}
.svc-hero-pill-1{top:4%;left:-4%;color:var(--ink-2);animation:svcFloat 5s ease-in-out infinite}
.svc-hero-pill-1 .pill-dot{background:#34d399;box-shadow:0 0 0 3px rgba(52,211,153,.2)}
.svc-hero-pill-2{top:14%;right:-2%;font-family:var(--font-display);font-size:.78rem;color:var(--ink-3);animation:svcFloat 6s ease-in-out infinite;animation-delay:.8s}
.svc-hero-pill-2 b{color:var(--accent);font-weight:600;margin-right:.3rem;font-family:var(--font-display);background:var(--accent-2);padding:.1rem .4rem;border-radius:4px}
.svc-hero-pill-3{position:absolute;bottom:8%;right:-2%;background:#fff;border:1px solid var(--line);border-radius:12px;padding:.6rem .9rem;display:flex;align-items:center;gap:.7rem;box-shadow:0 12px 32px rgba(20,20,15,.12),0 2px 6px rgba(20,20,15,.06);z-index:3;animation:svcFloat 5.8s ease-in-out infinite;animation-delay:.3s}
.svc-wave{display:flex;align-items:center;gap:2px;height:18px}
.svc-wave i{display:block;width:3px;background:var(--accent);border-radius:2px;animation:waveBar 1.1s ease-in-out infinite}
.svc-wave i:nth-child(1){height:30%;animation-delay:0s}
.svc-wave i:nth-child(2){height:60%;animation-delay:.1s}
.svc-wave i:nth-child(3){height:90%;animation-delay:.2s}
.svc-wave i:nth-child(4){height:70%;animation-delay:.3s}
.svc-wave i:nth-child(5){height:50%;animation-delay:.4s}
.svc-wave i:nth-child(6){height:35%;animation-delay:.5s}
@keyframes waveBar{0%,100%{transform:scaleY(.4)}50%{transform:scaleY(1)}}
.svc-wave-meta{display:flex;flex-direction:column;line-height:1.1}
.svc-wave-label{font-family:var(--font-display);font-size:.66rem;color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em}
.svc-wave-timer{font-family:var(--font-display);font-size:.85rem;color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}

.trust-strip{padding:2rem 0 2.5rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;overflow:hidden}
.trust-strip .container{display:flex;align-items:center;gap:2.5rem;flex-wrap:wrap}
.trust-strip-label{font-family:var(--font-display);font-size:.72rem;color:var(--ink-3);text-transform:uppercase;letter-spacing:.14em;flex-shrink:0}
.trust-strip-logos{display:flex;flex-wrap:wrap;gap:2rem;font-family:var(--font-display);font-weight:500;color:var(--ink-3);font-size:.92rem;flex:1}
.trust-strip-logos span{transition:color .2s}
.trust-strip-logos span:hover{color:var(--ink)}

.trust-strip-marquee{padding:2rem 0;position:relative}
.trust-strip-marquee .container{justify-content:center;padding-bottom:1.5rem}
.trust-strip-marquee .trust-strip-label{text-align:center;color:var(--ink-3)}
.marquee{position:relative;width:100%;overflow:hidden;padding:.6rem 0;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent 100%)}
.marquee+.marquee{margin-top:.4rem}
.marquee-track{display:flex;align-items:center;gap:3rem;width:max-content;animation:marqueeScroll 38s linear infinite;will-change:transform}
.marquee-reverse .marquee-track{animation-direction:reverse;animation-duration:46s}
.marquee:hover .marquee-track{animation-play-state:paused}
.m-logo{font-family:var(--font-display);font-weight:600;font-size:1.35rem;letter-spacing:-.01em;color:var(--ink-3);white-space:nowrap;opacity:.7;transition:opacity .25s,color .25s;flex-shrink:0;display:inline-flex;align-items:center;gap:.15rem}
.m-logo:hover{opacity:1;color:var(--ink)}
.m-logo sup{font-size:.55em;top:-.7em;opacity:.7;margin-left:1px}
.m-logo i{font-style:normal;color:var(--accent);font-weight:700}
@keyframes marqueeScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

.svc-section{padding:clamp(3.5rem,7vw,6rem) 0;scroll-margin-top:90px}
.svc-section-alt{background:var(--bg-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.svc-section-head{margin-bottom:3rem;max-width:720px}
.svc-section-eyebrow{font-family:var(--font-display);font-size:.72rem;color:var(--accent);text-transform:uppercase;letter-spacing:.16em;font-weight:600;margin-bottom:.9rem}
.svc-section-eyebrow.eyebrow-light{color:#ff8a4d}
.svc-h2{font-family:var(--font-display);font-weight:500;font-size:clamp(1.7rem,3.4vw,2.6rem);line-height:1.1;letter-spacing:-.025em;text-wrap:balance;margin-bottom:.9rem}
.svc-h2-sub{font-size:1.02rem;color:var(--ink-2);line-height:1.55;max-width:36rem}
.link-inline{color:var(--accent);font-weight:500;border-bottom:1px solid currentColor;padding-bottom:1px}
.link-inline:hover{color:var(--accent-ink)}

.included-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.inc-cat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:1.6rem 1.5rem;transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s;display:flex;flex-direction:column}
.inc-cat:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--line-2)}
.inc-cat-head{display:flex;align-items:center;gap:.7rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--line)}
.inc-cat-num{width:28px;height:28px;border-radius:7px;background:var(--ink);color:#ff8a4d;display:grid;place-items:center;font-family:var(--font-display);font-weight:600;font-size:.85rem;flex-shrink:0}
.inc-cat h3{font-family:var(--font-display);font-weight:500;font-size:1.08rem;letter-spacing:-.01em;color:var(--ink)}
.inc-blurb{font-size:.88rem;color:var(--ink-2);line-height:1.55;margin-bottom:1rem;flex:1}
.inc-list{list-style:none;display:flex;flex-direction:column;gap:.5rem;padding-top:1rem;border-top:1px solid var(--line)}
.inc-list li{display:flex;align-items:flex-start;gap:.55rem;font-size:.88rem;color:var(--ink-2);line-height:1.45}
.inc-check{color:var(--accent);font-weight:700;font-size:.8rem;flex-shrink:0;margin-top:2px}

.benefits-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}
.benefit-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:1.6rem 1.5rem;display:flex;flex-direction:column;gap:.7rem;transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s}
.benefit-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--line-2)}
.benefit-card-wide{grid-column:span 4}
.benefit-icon{width:42px;height:42px;border-radius:10px;background:var(--accent-2);color:var(--accent);display:grid;place-items:center;margin-bottom:.3rem}
.benefit-card h3{font-family:var(--font-display);font-weight:500;font-size:1.15rem;letter-spacing:-.015em;color:var(--ink)}
.benefit-card p{font-size:.9rem;color:var(--ink-2);line-height:1.55}
.benefit-stat{display:flex;align-items:baseline;gap:.6rem;margin-top:auto;padding-top:1rem;border-top:1px solid var(--line)}
.benefit-stat b{font-family:var(--font-display);font-weight:600;font-size:1.4rem;color:var(--accent);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.benefit-stat span{font-family:var(--font-display);font-size:.74rem;color:var(--ink-3);line-height:1.3}
.benefit-logos{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:auto;padding-top:1rem;border-top:1px solid var(--line)}
.benefit-logos span{font-family:var(--font-display);font-size:.78rem;color:var(--ink-2);background:var(--bg-2);border:1px solid var(--line);padding:.35rem .7rem;border-radius:6px;font-weight:500}

.uc-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;background:#fff;border:1px solid var(--line);border-radius:14px;padding:.4rem;margin-bottom:2rem;box-shadow:var(--shadow-sm)}
.uc-tab{display:flex;align-items:center;gap:.7rem;padding:.85rem 1rem;border-radius:10px;text-align:left;transition:background .2s,color .2s;color:var(--ink-3)}
.uc-tab:hover{background:rgba(0,0,0,.03);color:var(--ink-2)}
.uc-tab.active{background:var(--ink);color:#fff}
.uc-tab-num{font-family:var(--font-display);font-size:.72rem;letter-spacing:.1em;color:var(--ink-4);font-weight:500}
.uc-tab.active .uc-tab-num{color:#ff8a4d}
.uc-tab-name{font-size:.92rem;font-weight:500}
.uc-panels{position:relative}
.uc-panel{display:none;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;background:#fff;border:1px solid var(--line);border-radius:18px;padding:clamp(1.8rem,3vw,2.8rem);box-shadow:var(--shadow-sm)}
.uc-panel.active{display:grid;animation:fadeUp .4s var(--ease) both}
.uc-panel-copy h3{font-family:var(--font-display);font-weight:500;font-size:clamp(1.4rem,2.2vw,1.85rem);line-height:1.15;letter-spacing:-.02em;margin-bottom:.9rem;text-wrap:balance}
.uc-panel-copy p{color:var(--ink-2);font-size:1rem;line-height:1.6;margin-bottom:1.3rem}
.uc-points{list-style:none;display:flex;flex-direction:column;gap:.6rem;margin-bottom:1.6rem}
.uc-points li{padding-left:1.3rem;position:relative;font-size:.93rem;color:var(--ink-2);line-height:1.5}
.uc-points li::before{content:"→";position:absolute;left:0;color:var(--accent);font-family:var(--font-display);font-weight:600}
.uc-points b{color:var(--ink);font-weight:600}
.uc-metric{display:inline-flex;align-items:baseline;gap:.7rem;padding:.7rem 1rem;background:var(--bg-2);border:1px solid var(--line);border-radius:10px}
.uc-metric-val{font-family:var(--font-display);font-weight:600;font-size:1.5rem;color:var(--accent);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.uc-metric-lbl{font-family:var(--font-display);font-size:.78rem;color:var(--ink-3)}

.uc-panel-visual{align-self:stretch;display:flex;align-items:center;justify-content:center}
.uc-mock{width:100%;background:var(--bg-2);border:1px solid var(--line);border-radius:14px;padding:1.2rem;font-family:var(--font-display)}
.uc-mock-head{font-size:.72rem;color:var(--ink-3);text-transform:uppercase;letter-spacing:.1em;font-weight:600;margin-bottom:.9rem;padding-bottom:.7rem;border-bottom:1px solid var(--line)}
.uc-mock-row{display:grid;grid-template-columns:14px 1fr auto;gap:.7rem;align-items:center;padding:.55rem .3rem;border-bottom:1px solid rgba(0,0,0,.04);font-size:.82rem}
.uc-mock-row b{color:var(--ink);font-weight:500}
.uc-mock-row span{color:var(--ink-3);font-size:.78rem;grid-column:2;margin-top:.15rem}
.uc-mock-row em{font-style:normal;font-size:.72rem;color:var(--ink-3);text-align:right}
.uc-mock-row.active{background:#fff;border-radius:8px;border-bottom-color:transparent;box-shadow:var(--shadow-sm)}
.uc-mock-row.active em{color:var(--accent);font-weight:600}
.dot{width:8px;height:8px;border-radius:50%;background:var(--ink-4);grid-row:span 2;align-self:center}
.dot.live{background:#ff5b1f;box-shadow:0 0 0 3px rgba(255,91,31,.2);animation:pulse 1.6s ease-in-out infinite}
.dot.done{background:#34d399}
.uc-mock-context{display:flex;flex-direction:column;gap:.5rem}
.ctx-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem .7rem;background:#fff;border:1px solid var(--line);border-radius:8px;font-size:.82rem}
.ctx-row span{color:var(--ink-3);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}
.ctx-row b{color:var(--ink);font-weight:500;font-size:.85rem}
.ctx-row b.route{color:var(--accent)}
.comp-row{display:flex;align-items:center;gap:.8rem;padding:.6rem .75rem;background:#fff;border:1px solid var(--line);border-radius:8px;font-size:.85rem;color:var(--ink-2);margin-bottom:.45rem}
.comp-badge{font-family:var(--font-display);font-size:.65rem;letter-spacing:.08em;background:var(--ink);color:#ff8a4d;padding:.2rem .5rem;border-radius:4px;font-weight:600;flex-shrink:0;min-width:72px;text-align:center}
.dev-row{display:flex;align-items:center;gap:.7rem;padding:.6rem .75rem;background:#fff;border:1px solid var(--line);border-radius:8px;font-size:.85rem;margin-bottom:.45rem}
.dev-ico{font-size:1.1rem;color:var(--ink-3)}
.dev-row b{color:var(--ink);font-weight:500;font-size:.85rem;flex:1}
.dev-row span{color:var(--ink-3);font-size:.74rem}
.dev-row em{font-style:normal;color:var(--ink-4);font-size:.78rem}
.dev-row em.live{color:#34d399}

.asm-row{display:grid;grid-template-columns:22px 1fr auto;gap:.7rem;align-items:center;padding:.55rem .4rem;background:#fff;border:1px solid var(--line);border-radius:8px;font-size:.85rem;margin-bottom:.4rem}
.asm-num{width:22px;height:22px;border-radius:50%;background:var(--accent-2);color:var(--accent-ink);display:grid;place-items:center;font-family:var(--font-display);font-weight:700;font-size:.72rem}
.asm-row b{color:var(--ink);font-weight:500;font-size:.85rem}
.asm-row span{font-family:var(--font-display);color:var(--ink-3);font-size:.72rem;grid-column:2;margin-top:.1rem}
.asm-row em{font-style:normal;color:#34d399;font-weight:700;font-size:.95rem}
.asm-row.asm-pending .asm-num{background:#fde68a;color:#92400e}
.asm-row.asm-pending em.asm-wait{color:#fbbf24;letter-spacing:.05em}

.code-mock{width:100%;background:var(--ink);border-radius:14px;overflow:hidden;font-family:'IBM Plex Mono',ui-monospace,monospace}
.code-head{padding:.7rem 1rem;background:#1a1a17;border-bottom:1px solid var(--dark-3);font-size:.74rem;color:#a3a39a;letter-spacing:.04em}
.code-head span{color:#ff8a4d;font-weight:600;margin-right:.5rem}
.code-body{padding:1.2rem;color:#e5e5e0;font-size:.85rem;line-height:1.7;white-space:pre-wrap;word-break:break-word;overflow-x:auto}
.c-key{color:#a78bfa}
.c-fn{color:#ff8a4d}
.c-str{color:#86efac}

.compare-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow-sm)}
.compare-table{width:100%;border-collapse:collapse;font-size:.93rem;min-width:680px}
.compare-table thead{background:var(--bg-2)}
.compare-table th{padding:1.2rem 1.1rem;text-align:left;font-weight:500;border-bottom:1px solid var(--line);vertical-align:top}
.ct-h-name{font-family:var(--font-display);font-size:1rem;color:var(--ink);font-weight:600;letter-spacing:-.01em}
.ct-h-meta{font-family:var(--font-display);font-size:.72rem;color:var(--ink-3);margin-top:.2rem;text-transform:uppercase;letter-spacing:.08em}
.compare-table th.ct-us{background:linear-gradient(180deg,rgba(255,91,31,.06),transparent)}
.compare-table th.ct-us .ct-h-name{color:var(--accent-ink)}
.compare-table td{padding:.95rem 1.1rem;border-bottom:1px solid var(--line);color:var(--ink-2);vertical-align:middle}
.compare-table tr:last-child td{border-bottom:none}
.compare-table td.ct-us{background:rgba(255,91,31,.04);color:var(--ink);font-weight:500}
.compare-table td:first-child{font-family:var(--font-display);font-size:.88rem;color:var(--ink);font-weight:500;background:var(--bg-2)}
.ct-yes{display:inline-block;width:18px;height:18px;border-radius:50%;background:var(--accent);color:#fff;text-align:center;font-size:.7rem;line-height:18px;font-weight:700;margin-right:.5rem;vertical-align:middle}
.ct-bad{display:inline-block;width:18px;height:18px;border-radius:50%;background:var(--line-2);color:var(--ink-3);text-align:center;font-size:.7rem;line-height:18px;font-weight:700;margin-right:.5rem;vertical-align:middle}
.ct-mid{display:inline-block;width:18px;height:18px;border-radius:50%;background:#fde68a;color:#92400e;text-align:center;font-size:.85rem;line-height:18px;font-weight:700;margin-right:.5rem;vertical-align:middle}

.calc-card{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-sm);overflow:hidden;display:grid;grid-template-columns:1.5fr 1fr}
.calc-controls{padding:2rem;display:flex;flex-direction:column;gap:2rem;border-right:1px solid var(--line)}
.calc-control{display:flex;flex-direction:column;gap:.7rem}
.calc-label{font-family:var(--font-display);font-size:.85rem;color:var(--ink);font-weight:600;display:flex;justify-content:space-between;align-items:baseline}
.calc-out{font-family:var(--font-display);font-size:.85rem;color:var(--accent);font-weight:600}
.calc-range{width:100%;-webkit-appearance:none;appearance:none;height:6px;background:var(--bg-2);border-radius:99px;outline:none}
.calc-range::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:var(--accent);cursor:pointer;box-shadow:0 2px 6px rgba(255,91,31,.4)}
.calc-range::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--accent);cursor:pointer;border:none;box-shadow:0 2px 6px rgba(255,91,31,.4)}
.calc-range-ticks{display:flex;justify-content:space-between;font-family:var(--font-display);font-size:.7rem;color:var(--ink-3)}
.calc-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}
.calc-plan{cursor:pointer}
.calc-plan input{position:absolute;opacity:0}
.cp-card{display:flex;flex-direction:column;gap:.3rem;padding:.9rem;background:var(--bg-2);border:2px solid transparent;border-radius:10px;transition:border-color .2s,background .2s;position:relative}
.calc-plan input:checked+.cp-card{border-color:var(--accent);background:#fff}
.cp-card b{font-family:var(--font-display);font-size:.88rem;color:var(--ink)}
.cp-price{font-family:var(--font-display);font-weight:600;font-size:1.1rem;color:var(--ink)}
.cp-price em{font-style:normal;font-size:.7rem;color:var(--ink-3);font-weight:400}
.cp-meta{font-family:var(--font-display);font-size:.7rem;color:var(--ink-3)}
.cp-badge{position:absolute;top:-8px;left:50%;transform:translateX(-50%);font-family:var(--font-display);font-size:.6rem;background:var(--accent);color:#fff;padding:.15rem .4rem;border-radius:99px;letter-spacing:.08em;font-weight:600;white-space:nowrap}
.calc-toggle{display:inline-flex;background:var(--bg-2);border-radius:99px;padding:.25rem;gap:.2rem}
.ct-opt{padding:.55rem 1rem;border-radius:99px;font-family:var(--font-display);font-size:.85rem;color:var(--ink-3);transition:background .2s,color .2s}
.ct-opt.active{background:var(--ink);color:#fff}
.ct-save{margin-left:.4rem;font-size:.7rem;color:#34d399;font-weight:600}
.ct-opt.active .ct-save{color:#86efac}
.calc-summary{padding:2rem;background:var(--bg-2);display:flex;flex-direction:column;gap:1.5rem;justify-content:center}
.cs-block{display:flex;flex-direction:column;gap:.3rem}
.cs-label{font-family:var(--font-display);font-size:.74rem;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-3);font-weight:600}
.cs-val{font-family:var(--font-display);font-weight:600;font-size:2.4rem;color:var(--ink);letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums;display:flex;align-items:flex-start;gap:.1rem}
.cs-val-accent{color:var(--accent)}
.cs-cur{font-size:1.2rem;color:var(--ink-3);margin-top:.4rem}
.cs-val-accent .cs-cur{color:var(--accent);opacity:.6}
.cs-sub{font-family:var(--font-display);font-size:.78rem;color:var(--ink-3)}
.cs-savings{padding-top:1rem;border-top:1px solid var(--line)}
.cs-cta{margin-top:.5rem}

.svc-testimonial-sec{background:var(--bg-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.svc-quote{max-width:920px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:20px;padding:clamp(1.8rem,3.5vw,3rem);position:relative;box-shadow:var(--shadow-sm)}
.svc-quote-mark{position:absolute;top:0.5rem;left:1.5rem;font-family:var(--font-display);font-size:5rem;color:var(--accent);opacity:.2;line-height:1}
.svc-quote blockquote{font-family:var(--font-display);font-weight:400;font-size:clamp(1.1rem,1.8vw,1.5rem);line-height:1.5;letter-spacing:-.015em;color:var(--ink);margin-bottom:1.7rem;text-wrap:balance;position:relative}
.svc-quote figcaption{display:flex;align-items:center;gap:.9rem;padding-top:1.4rem;border-top:1px solid var(--line)}
.svc-quote .q-av{flex-shrink:0;width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,#ff5b1f,#ffb38f);color:#fff;display:grid;place-items:center;font-family:var(--font-display);font-weight:600}
.svc-quote .q-name{font-weight:600;font-size:.95rem;text-align:left}
.svc-quote .q-role{font-family:var(--font-display);font-size:.78rem;color:var(--ink-3);text-align:left}
.sq-stat{margin-left:auto;text-align:right;padding-left:1rem;border-left:1px solid var(--line)}
.sq-stat-val{font-family:var(--font-display);font-weight:600;font-size:1.7rem;color:var(--accent);letter-spacing:-.02em;line-height:1;font-variant-numeric:tabular-nums}
.sq-stat-lbl{font-family:var(--font-display);font-size:.72rem;color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em;margin-top:.3rem}

.faq-container{display:grid;grid-template-columns:1fr 1.6fr;gap:4rem;align-items:start}
.faq-head{position:sticky;top:140px}
.faq-list{display:flex;flex-direction:column;gap:.6rem}
.faq-item{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;transition:border-color .2s,box-shadow .2s}
.faq-item:hover{border-color:var(--line-2)}
.faq-item[open]{border-color:var(--ink-4);box-shadow:var(--shadow-sm)}
.faq-item summary{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 1.3rem;cursor:pointer;list-style:none;transition:background .15s}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:hover{background:rgba(0,0,0,.02)}
.faq-q{font-family:var(--font-display);font-size:1rem;font-weight:500;color:var(--ink);letter-spacing:-.01em}
.faq-icon{width:22px;height:22px;border-radius:50%;border:1px solid var(--line-2);position:relative;flex-shrink:0;transition:background .2s,border-color .2s,transform .3s var(--ease)}
.faq-icon::before,.faq-icon::after{content:"";position:absolute;background:var(--ink-2);top:50%;left:50%;transform:translate(-50%,-50%);transition:background .2s}
.faq-icon::before{width:9px;height:1.5px}
.faq-icon::after{width:1.5px;height:9px;transition:transform .3s var(--ease)}
.faq-item[open] .faq-icon{background:var(--accent);border-color:var(--accent);transform:rotate(180deg)}
.faq-item[open] .faq-icon::before,.faq-item[open] .faq-icon::after{background:#fff}
.faq-item[open] .faq-icon::after{transform:translate(-50%,-50%) scaleY(0)}
.faq-a{padding:0 1.3rem 1.3rem;color:var(--ink-2);font-size:.94rem;line-height:1.65;max-width:60ch}

.svc-cta-section{background:var(--bg-2);border-top:1px solid var(--line)}
.svc-cta-card{position:relative;background:var(--ink);color:#fff;border-radius:22px;padding:clamp(2.5rem,5vw,4rem);display:grid;grid-template-columns:1.6fr 1fr;gap:3rem;align-items:center;overflow:hidden}
.svc-cta-card .cta-grid-bg{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:48px 48px}
.svc-cta-card::after{content:"";position:absolute;top:-30%;left:30%;width:600px;height:400px;background:radial-gradient(ellipse at center,rgba(255,91,31,.35),transparent 65%);pointer-events:none}
.svc-cta-copy{position:relative;z-index:1}
.svc-cta-copy h2{font-family:var(--font-display);font-weight:500;font-size:clamp(1.7rem,3.4vw,2.6rem);line-height:1.1;letter-spacing:-.025em;text-wrap:balance;margin-bottom:1rem}
.svc-cta-copy p{color:#a3a39a;font-size:1rem;max-width:34rem;margin-bottom:1.7rem;line-height:1.55}
.svc-cta-card .btn-primary{background:#fff;color:var(--ink)}
.svc-cta-card .btn-primary:hover{background:var(--accent);color:#fff}
.svc-cta-card .btn-ghost{color:#d4d4cc}
.svc-cta-card .btn-ghost:hover{color:#fff;background:rgba(255,255,255,.08)}
.svc-cta-card .cta-row{margin-bottom:1.2rem}
.svc-cta-card .cta-meta{font-family:var(--font-display);font-size:.78rem;color:#888;letter-spacing:.04em}
.svc-cta-side{position:relative;z-index:1;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:1.5rem;display:flex;flex-direction:column;gap:.9rem;backdrop-filter:blur(8px)}
.cta-stat-row{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:.85rem;border-bottom:1px solid rgba(255,255,255,.08)}
.cta-stat-row:last-child{border-bottom:none;padding-bottom:0}
.cta-stat-row b{font-family:var(--font-display);font-weight:500;font-size:1.5rem;color:#ff8a4d;letter-spacing:-.02em}
.cta-stat-row span{font-family:var(--font-display);font-size:.78rem;color:#a3a39a;text-transform:uppercase;letter-spacing:.08em}

.prod-hero{position:relative;padding:clamp(3.5rem,7vw,6rem) 0 clamp(2.5rem,5vw,4rem);overflow:hidden;border-bottom:1px solid var(--line)}
.prod-hero-grid-bg{position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:60px 60px;mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,#000 30%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,#000 30%,transparent 75%);opacity:.5;pointer-events:none}
.prod-hero::after{content:"";position:absolute;top:-20%;left:50%;transform:translateX(-50%);width:800px;height:500px;background:radial-gradient(ellipse at center,rgba(255,91,31,.14),transparent 65%);pointer-events:none;filter:blur(20px)}
.prod-hero-inner{position:relative;text-align:center;max-width:760px}
.prod-hero .svc-eyebrow{margin:0 auto 1.4rem}
.prod-hero-title{font-family:var(--font-display);font-weight:500;font-size:clamp(2.2rem,5vw,4rem);line-height:1.02;letter-spacing:-.035em;text-wrap:balance;margin-bottom:1.1rem}
.prod-hero-sub{font-size:clamp(1rem,1.3vw,1.15rem);color:var(--ink-2);max-width:36rem;margin:0 auto 2rem;line-height:1.55}
.prod-hero-meta{display:flex;flex-wrap:wrap;gap:.7rem;justify-content:center}
.prod-catalog-sec{padding-top:clamp(4rem,7vw,6rem);padding-bottom:clamp(4rem,7vw,6rem)}
.prod-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.prod-grid-2{grid-template-columns:repeat(2,1fr);gap:1.6rem;max-width:1080px;margin:0 auto}
.prod-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s;position:relative}
.prod-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:var(--line-2)}
.prod-card:hover .prod-media img{transform:scale(1.04)}
.prod-media{position:relative;aspect-ratio:16/10;background:var(--bg-2);overflow:hidden;border-bottom:1px solid var(--line)}
.prod-media img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.prod-media-illus{background:linear-gradient(135deg,var(--illus-from),var(--illus-to));display:flex;align-items:center;justify-content:center;padding:1.2rem;position:relative}
.prod-media-illus::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.12) 1px,transparent 1px);background-size:18px 18px;opacity:.7;pointer-events:none}
.prod-badge{position:absolute;top:.9rem;left:.9rem;font-family:var(--font-display);font-size:.62rem;letter-spacing:.12em;padding:.3rem .55rem;border-radius:99px;font-weight:600;backdrop-filter:blur(8px);z-index:2}
.prod-badge-new{background:var(--accent);color:#fff;box-shadow:0 4px 12px rgba(255,91,31,.3)}
.prod-badge-pop{background:rgba(255,255,255,.92);color:var(--ink)}
.illus-mock{position:relative;width:100%;background:rgba(255,255,255,.96);border-radius:10px;padding:.9rem;box-shadow:0 12px 32px rgba(0,0,0,.18);z-index:1;font-family:var(--font-body)}
.illus-threads{display:flex;flex-direction:column;gap:.55rem}
.illus-threads .im-row{display:flex;gap:.5rem;align-items:flex-start;font-size:.72rem}
.illus-threads .im-av{width:22px;height:22px;border-radius:50%;color:#fff;display:grid;place-items:center;font-weight:600;font-size:.62rem;flex-shrink:0}
.illus-threads .im-av-ai{background:var(--ink);color:#ff8a4d}
.illus-threads .im-row>div:last-child{flex:1;background:var(--bg);border-radius:8px;padding:.4rem .55rem;font-family:var(--font-display);font-size:.7rem;color:var(--ink-3)}
.illus-threads b{color:var(--ink);font-weight:600;font-size:.7rem}
.illus-threads p{font-family:var(--font-body);font-size:.72rem;color:var(--ink-2);margin-top:.1rem;line-height:1.35}
.illus-threads .im-pill{display:inline-block;margin-top:.25rem;font-family:var(--font-display);font-size:.6rem;background:var(--accent-2);color:var(--accent-ink);padding:.1rem .4rem;border-radius:3px}
.illus-threads .im-ai>div:last-child{background:var(--ink);color:#e5e5e0}
.illus-threads .im-ai b{color:#fff}
.illus-threads .im-ai p{color:#a3a39a}
.illus-ai{display:flex;flex-direction:column;gap:.55rem}
.illus-ai .ia-prompt{background:var(--bg);border:1px solid var(--line);border-radius:7px;padding:.45rem .6rem;font-family:var(--font-display);font-size:.72rem;color:var(--ink);display:flex;align-items:center;gap:.4rem}
.illus-ai .ia-prompt span{color:var(--accent);font-weight:600}
.illus-ai .ia-resp{background:var(--ink);color:#e5e5e0;border-radius:7px;padding:.6rem .7rem;font-size:.72rem;display:flex;flex-direction:column;gap:.2rem}
.illus-ai .ia-resp div{display:flex;gap:.4rem;align-items:flex-start;font-family:var(--font-display)}
.illus-ai .ia-resp i{color:#ff8a4d;font-style:normal}
.illus-ai .ia-resp b{color:#fff;font-weight:500}
.illus-ai .ia-typing .ia-caret{display:inline-block;width:5px;height:9px;background:#ff8a4d;margin-left:2px;animation:blink 1s steps(2) infinite}
.prod-body{display:flex;flex-direction:column;flex:1;padding:1.5rem 1.5rem 1.7rem}
.prod-cat{font-family:var(--font-display);font-size:.7rem;letter-spacing:.14em;color:var(--accent);text-transform:uppercase;font-weight:600;margin-bottom:.7rem}
.prod-name{font-family:var(--font-display);font-weight:500;font-size:1.4rem;line-height:1.15;letter-spacing:-.02em;color:var(--ink);margin-bottom:.6rem}
.prod-desc{font-size:.92rem;color:var(--ink-2);line-height:1.55;margin-bottom:1.1rem}
.prod-feats{list-style:none;display:flex;flex-direction:column;gap:.4rem;margin-bottom:1.4rem;padding-bottom:1.4rem;border-bottom:1px solid var(--line)}
.prod-feats li{display:flex;align-items:flex-start;gap:.55rem;font-size:.85rem;color:var(--ink-2);line-height:1.4}
.pf-ico{color:var(--accent);font-weight:700;font-size:.78rem;flex-shrink:0;margin-top:1px}
.prod-foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:auto}
.prod-price{display:flex;align-items:baseline;gap:.3rem;flex-wrap:wrap}
.pp-from{font-family:var(--font-display);font-size:.7rem;color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em}
.pp-amt{font-family:var(--font-display);font-weight:600;font-size:1.4rem;color:var(--ink);letter-spacing:-.02em;line-height:1}
.pp-per{font-family:var(--font-display);font-size:.72rem;color:var(--ink-3)}
.prod-cta{font-family:var(--font-display);font-size:.85rem;color:var(--ink);font-weight:500;border-bottom:1px solid var(--ink-4);padding-bottom:2px;transition:border-color .2s,color .2s;white-space:nowrap}
.prod-cta:hover{color:var(--accent);border-color:var(--accent)}
.prod-plans-sec{background:var(--bg-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.plan-toggle-wrap{display:flex;justify-content:center;margin-bottom:3rem}
.plan-toggle{display:inline-flex;background:#fff;border:1px solid var(--line);border-radius:99px;padding:.3rem;gap:.2rem;box-shadow:var(--shadow-sm)}
.pt-opt{padding:.6rem 1.2rem;border-radius:99px;font-family:var(--font-display);font-size:.88rem;color:var(--ink-3);transition:background .2s,color .2s;font-weight:500}
.pt-opt.active{background:var(--ink);color:#fff}
.pt-save{margin-left:.4rem;font-size:.72rem;color:#34d399;font-weight:600}
.pt-opt.active .pt-save{color:#86efac}
.plans-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem;align-items:stretch}
.plan-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:2rem 1.8rem;display:flex;flex-direction:column;position:relative;transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s}
.plan-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:var(--line-2)}
.plan-card-featured{background:#fff;border-color:var(--accent);box-shadow:0 0 0 4px rgba(255,91,31,.08),var(--shadow-md);transform:scale(1.03)}
.plan-card-featured:hover{transform:scale(1.03) translateY(-5px);box-shadow:0 0 0 4px rgba(255,91,31,.1),var(--shadow-lg)}
.plan-card-dark{background:var(--ink);color:#fff;border-color:var(--ink);overflow:hidden}
.plan-card-dark::after{content:"";position:absolute;top:-30%;right:-30%;width:280px;height:280px;background:radial-gradient(ellipse at center,rgba(255,91,31,.3),transparent 65%);pointer-events:none}
.plan-card-dark>*{position:relative;z-index:1}
.plan-badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);font-family:var(--font-display);font-size:.66rem;background:var(--accent);color:#fff;padding:.3rem .8rem;border-radius:99px;letter-spacing:.14em;font-weight:600;white-space:nowrap}
.plan-head{margin-bottom:1.4rem}
.plan-name{font-family:var(--font-display);font-size:.92rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);margin-bottom:.5rem;font-weight:600}
.plan-card-dark .plan-name{color:#ff8a4d}
.plan-card-featured .plan-name{color:var(--accent)}
.plan-tag{font-family:var(--font-display);font-size:.82rem;color:var(--ink-3);line-height:1.4}
.plan-card-dark .plan-tag{color:#a3a39a}
.plan-price{display:flex;align-items:flex-start;gap:.1rem;margin-bottom:.5rem;font-family:var(--font-display)}
.plan-cur{font-size:1.3rem;color:var(--ink-3);margin-top:.6rem;font-weight:500}
.plan-card-dark .plan-cur{color:#888}
.plan-amt{font-family:var(--font-display);font-weight:500;font-size:3.2rem;line-height:1;letter-spacing:-.04em;color:var(--ink);font-variant-numeric:tabular-nums}
.plan-card-dark .plan-amt{color:#fff}
.plan-amt-text{font-size:2rem;margin-top:.6rem}
.plan-per{font-family:var(--font-display);font-size:.85rem;color:var(--ink-3);margin-top:1.5rem;margin-left:.3rem;font-weight:500}
.plan-card-dark .plan-per{color:#888}
.plan-billed{font-family:var(--font-display);font-size:.76rem;color:var(--ink-3);margin-bottom:1.4rem;min-height:1.2rem}
.plan-card-dark .plan-billed{color:#888}
.plan-card .btn{margin-bottom:1.7rem}
.plan-incl{font-family:var(--font-display);font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-3);font-weight:600;margin-bottom:.9rem;padding-bottom:.9rem;border-bottom:1px solid var(--line)}
.plan-card-dark .plan-incl{color:#888;border-bottom-color:rgba(255,255,255,.1)}
.plan-feats{list-style:none;display:flex;flex-direction:column;gap:.7rem;flex:1}
.plan-feats li{display:flex;align-items:flex-start;gap:.6rem;font-size:.9rem;color:var(--ink-2);line-height:1.45}
.plan-card-dark .plan-feats li{color:#d4d4cc}
.plan-feats b{color:var(--ink);font-weight:600}
.plan-card-dark .plan-feats b{color:#fff}
.pf-check{width:18px;height:18px;border-radius:50%;background:var(--accent-2);color:var(--accent-ink);display:grid;place-items:center;font-size:.66rem;font-weight:700;flex-shrink:0;margin-top:1px}
.plan-card-dark .pf-check{background:rgba(255,138,77,.18);color:#ff8a4d}
.plan-card-featured .pf-check{background:var(--accent);color:#fff}
.plan-feats .pf-off{color:var(--ink-4);opacity:.7}
.plan-card-dark .plan-feats .pf-off{color:#5a5a52}
.pf-x{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;font-size:.7rem;color:var(--ink-4);flex-shrink:0;margin-top:1px;background:var(--bg-2)}
.plan-card-dark .pf-x{background:rgba(255,255,255,.05);color:#5a5a52}
.plans-foot{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;margin-top:2.5rem;padding-top:2rem;border-top:1px solid var(--line);flex-wrap:wrap}
.pf-meta{font-family:var(--font-display);font-size:.82rem;color:var(--ink-3)}

/* ============================================== */
/* ============ LEGAL PAGE STYLES =============== */
/* ============================================== */
.legal-wrap{display:grid;grid-template-columns:240px 1fr;gap:4rem;align-items:start;max-width:1080px;margin:0 auto}
.legal-toc{position:sticky;top:120px;font-family:var(--font-display);padding:1.4rem 1.2rem;background:var(--bg-2);border:1px solid var(--line);border-radius:12px}
.legal-toc-label{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-weight:600;margin-bottom:.9rem;padding-bottom:.7rem;border-bottom:1px solid var(--line)}
.legal-toc ol{list-style:none;display:flex;flex-direction:column;gap:.3rem;counter-reset:none}
.legal-toc a{display:block;font-size:.82rem;color:var(--ink-3);padding:.35rem .5rem;border-radius:6px;line-height:1.35;transition:background .2s,color .2s}
.legal-toc a:hover{background:rgba(0,0,0,.04);color:var(--ink)}
.legal-content{font-family:var(--font-body);color:var(--ink-2);font-size:1rem;line-height:1.7;max-width:68ch}
.legal-content section{padding-top:2.4rem;scroll-margin-top:120px}
.legal-content section:first-child{padding-top:0}
.legal-content section+section{border-top:1px solid var(--line);margin-top:.5rem}
.legal-content h2{font-family:var(--font-display);font-weight:500;font-size:clamp(1.4rem,2.4vw,1.9rem);line-height:1.15;letter-spacing:-.02em;color:var(--ink);margin-bottom:1.1rem;text-wrap:balance}
.legal-content h3{font-family:var(--font-display);font-weight:600;font-size:1.08rem;letter-spacing:-.01em;color:var(--ink);margin-top:1.6rem;margin-bottom:.6rem}
.legal-content p{margin-bottom:1.1rem}
.legal-content p:last-child{margin-bottom:0}
.legal-content ul,.legal-content ol{padding-left:1.4rem;margin-bottom:1.2rem;display:flex;flex-direction:column;gap:.5rem}
.legal-content ul li,.legal-content ol li{padding-left:.3rem;line-height:1.6}
.legal-content ul li::marker{color:var(--accent)}
.legal-content ol li::marker{color:var(--accent);font-family:var(--font-display);font-weight:600}
.legal-content b{color:var(--ink);font-weight:600}
.legal-content a:not(.link-inline):not(.btn){color:var(--accent);border-bottom:1px solid currentColor;padding-bottom:1px}
.legal-table{width:100%;border-collapse:collapse;font-size:.9rem;margin-bottom:1.4rem;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}
.legal-table thead{background:var(--bg-2)}
.legal-table th{padding:.85rem 1rem;text-align:left;font-family:var(--font-display);font-weight:600;color:var(--ink);font-size:.85rem;border-bottom:1px solid var(--line)}
.legal-table td{padding:.75rem 1rem;border-bottom:1px solid var(--line);color:var(--ink-2);vertical-align:top}
.legal-table tr:last-child td{border-bottom:none}
.legal-table td:first-child{font-family:var(--font-display);font-weight:600;color:var(--ink);background:var(--bg-2);width:24%}
.legal-contact{display:flex;flex-direction:column;gap:.7rem;margin-top:1rem;padding:1.2rem 1.4rem;background:var(--bg-2);border:1px solid var(--line);border-radius:10px}
.legal-contact>div{display:flex;flex-direction:column;gap:.15rem}
.legal-contact b{font-family:var(--font-display);font-size:.74rem;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-3);font-weight:600}
.legal-contact span,.legal-contact a{font-size:.92rem;color:var(--ink-2)}

@media (max-width:1024px){
  .feature-grid{grid-template-columns:repeat(2,1fr)}
  .feature-card.span-2{grid-column:span 2;flex-direction:column;gap:1.5rem}
  .workflow{grid-template-columns:1fr;gap:1rem}
  .wf-arrow{transform:rotate(90deg);justify-self:center}
  .stats-grid{grid-template-columns:repeat(2,1fr);gap:2.5rem}
  .pricing{grid-template-columns:1fr;max-width:480px;margin:0 auto}
  .price-card.featured{transform:none}
  .price-card.featured:hover{transform:translateY(-4px)}
  .two-col{grid-template-columns:1fr;gap:2.5rem}

  .svc-hero-grid{grid-template-columns:1fr;gap:3rem}
  .svc-hero-visual{min-height:auto}
  .svc-hero-photo{max-width:720px;margin:0 auto}
  .svc-hero-photo img{width:100%;margin-left:0}
  .fax-hero-card{max-width:560px;margin:0 auto}
  .svc-hero-pill-1{top:-2%;left:2%}
  .svc-hero-pill-2{top:8%;right:2%}
  .fax-hero-glyph{bottom:2%;left:2%}
  .included-grid{grid-template-columns:repeat(2,1fr)}
  .benefits-grid{grid-template-columns:repeat(2,1fr)}
  .benefit-card-wide{grid-column:span 2}
  .uc-tabs{grid-template-columns:repeat(2,1fr)}
  .uc-panel{grid-template-columns:1fr;gap:2rem}
  .calc-card{grid-template-columns:1fr}
  .calc-controls{border-right:none;border-bottom:1px solid var(--line)}
  .faq-container{grid-template-columns:1fr;gap:2rem}
  .faq-head{position:static}
  .svc-cta-card{grid-template-columns:1fr;gap:2rem}
  .anchor-nav{display:none}

  .prod-grid{grid-template-columns:repeat(2,1fr)}
  .prod-grid-2{grid-template-columns:repeat(2,1fr)}
  .plans-grid{grid-template-columns:1fr;max-width:520px;margin:0 auto}
  .plan-card-featured{transform:none}
  .plan-card-featured:hover{transform:translateY(-5px)}

  .m-logo{font-size:1.2rem}
  .marquee-track{gap:2.4rem}

  .legal-wrap{grid-template-columns:1fr;gap:2rem}
  .legal-toc{position:static;order:-1}
}

@media (max-width:768px){
  .nav-links{display:none}
  .nav-cta{display:none}
  .hamburger{display:flex}
  .nav-inner{padding:.7rem clamp(1rem,3vw,1.4rem);gap:.5rem}
  .logo-img{height:40px;max-width:150px}
  .logo-img-footer{height:45px;max-width:170px}
  .sub-nav{top:58px}
  .hero{padding:3rem 0 2.5rem}
  .hero-meta{margin-bottom:2.5rem;font-size:.75rem;gap:.5rem}
  .feature-grid{grid-template-columns:1fr}
  .feature-card,.feature-card.span-2{grid-column:span 1;padding:1.5rem}
  .stats-grid{grid-template-columns:1fr 1fr;gap:1.5rem}
  .logos-row{gap:1.5rem;font-size:.85rem}
  .footer-grid{grid-template-columns:1fr 1fr;gap:2rem}
  .footer-brand{grid-column:span 2}

  /* Mobile anchor section padding-top adjustments */
  .hero,.section,.svc-section,.svc-hero,.prod-hero{scroll-margin-top:80px}
  .svc-hero{padding-top:3.5rem}
  .prod-hero{padding-top:4rem}
  .section{padding-top:clamp(3.5rem,8vw,5rem)}
  .svc-section{padding-top:clamp(3.5rem,7vw,5rem)}

  .sub-nav-inner{padding:.55rem 1rem;gap:.7rem}
  .sub-nav-cta{display:none}
  .svc-hero-photo img{width:100%;margin-left:0}
  .svc-hero-pill{font-size:.74rem;padding:.45rem .7rem}
  .trust-strip .container{gap:1.2rem}
  .trust-strip-logos{gap:1.2rem;font-size:.82rem}
  .trust-strip-marquee{padding:1.6rem 0}
  .m-logo{font-size:1.05rem}
  .marquee-track{gap:1.8rem;animation-duration:30s}
  .marquee-reverse .marquee-track{animation-duration:36s}
  .included-grid{grid-template-columns:1fr}
  .benefits-grid{grid-template-columns:1fr}
  .benefit-card-wide{grid-column:span 1}
  .uc-tab{padding:.7rem .8rem}
  .uc-tab-name{font-size:.85rem}
  .uc-panel{padding:1.5rem}
  .calc-plans{grid-template-columns:1fr}
  .compare-table{font-size:.85rem}
  .compare-table th,.compare-table td{padding:.7rem .8rem}
  .ct-h-meta{display:none}
  .svc-quote figcaption{flex-wrap:wrap}
  .sq-stat{margin-left:0;padding-left:0;border-left:none;border-top:1px solid var(--line);padding-top:.9rem;margin-top:.5rem;width:100%;text-align:left}
  .svc-cta-card{padding:1.8rem}
  .fax-card-body{padding:1rem}
  .code-body{font-size:.78rem;padding:1rem}

  .prod-grid,.prod-grid-2{grid-template-columns:1fr;max-width:480px;margin:0 auto}
  .plans-foot{flex-direction:column;text-align:center;gap:1rem}

  .legal-table{font-size:.82rem}
  .legal-table th,.legal-table td{padding:.6rem .7rem}
  .legal-content{font-size:.94rem}
  .legal-content section{scroll-margin-top:80px}
}

@media (max-width:480px){
  .hero-title{font-size:2.1rem;line-height:1.08}
  .stats-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .footer-brand{grid-column:span 1}
  .footer-base{flex-direction:column;text-align:center}
  .uc-tabs{grid-template-columns:1fr 1fr}
  .svc-title{font-size:1.85rem}
  .svc-hero-pill-2{display:none}
  .svc-hero-photo img{width:100%;margin-left:0}
  .logo-img{height:36px;max-width:140px}
  .cs-val{font-size:2rem}
  .plan-card{padding:1.6rem 1.4rem}
  .plan-amt{font-size:2.6rem}
  .fax-doc-meta b{font-size:.78rem}
  .mobile-menu a{font-size:1.2rem;padding:.85rem 0}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;transition-duration:.01ms !important;scroll-behavior:auto !important}
  [data-anim],[data-reveal]{opacity:1 !important;transform:none !important}
  .marquee-track{animation:none !important}
}

/* ============================================== */
/* ====== POPPINS / OPEN SANS FONT TUNING ======= */
/* Poppins is rounder & wider than the old serif — punchier weight, gentler tracking on large headlines */
.hero-title,.section-title,.prod-hero-title,.svc-title,.cta-card h2{font-weight:600;letter-spacing:-.025em}

/* ============================================== */
/* ============ NAV DROPDOWN (Help) ============= */
.nav-drop{position:relative;display:flex;align-items:center}
.nav-drop-btn{display:inline-flex;align-items:center;gap:.35rem;font-size:.92rem;color:var(--ink-2);transition:color .2s;padding:0}
.nav-drop-btn svg{transition:transform .25s var(--ease)}
.nav-drop:hover .nav-drop-btn,.nav-drop:focus-within .nav-drop-btn{color:var(--ink)}
.nav-drop:hover .nav-drop-btn svg,.nav-drop:focus-within .nav-drop-btn svg{transform:rotate(180deg)}
.nav-drop-menu{position:absolute;top:calc(100% + 12px);left:50%;transform:translateX(-50%) translateY(6px);background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-md);padding:.45rem;min-width:170px;display:flex;flex-direction:column;opacity:0;visibility:hidden;transition:opacity .2s var(--ease),transform .25s var(--ease),visibility .2s}
.nav-drop-menu::before{content:"";position:absolute;top:-14px;left:0;right:0;height:14px}
.nav-drop:hover .nav-drop-menu,.nav-drop:focus-within .nav-drop-menu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.nav-drop-menu a{padding:.55rem .85rem;border-radius:8px;font-size:.9rem;color:var(--ink-2);transition:background .15s,color .15s}
.nav-drop-menu a:hover{background:var(--bg-2);color:var(--ink)}
.nav-drop-menu a::after{display:none}
.mobile-menu .mm-sub{padding-left:1.1rem;font-size:1.05rem;color:var(--ink-2)}

/* ============================================== */
/* ========= CALL/TEXT CHAT WIDGET ============== */
.chat-widget{position:fixed;right:clamp(.9rem,2vw,1.5rem);bottom:clamp(.9rem,2vw,1.5rem);z-index:3000;display:flex;flex-direction:column;align-items:flex-end;gap:.9rem}
.chat-row{display:flex;align-items:center;gap:.8rem}
.chat-msg{background:var(--ink);color:#fff;font-family:var(--font-display);font-weight:600;font-size:.88rem;letter-spacing:-.01em;padding:.6rem 1.05rem;border-radius:14px 14px 3px 14px;box-shadow:var(--shadow-md);white-space:nowrap;opacity:1;transform:none;transition:opacity .35s var(--ease),transform .35s var(--ease)}
.chat-msg.swap{opacity:0;transform:translateY(6px)}
.chat-btn{width:62px;height:62px;border-radius:50%;background:#e11d2e;color:#fff;display:grid;place-items:center;box-shadow:0 8px 24px rgba(225,29,46,.45),0 2px 6px rgba(225,29,46,.3);cursor:pointer;position:relative;transition:transform .25s var(--ease),background .25s;flex-shrink:0}
.chat-btn:hover{transform:scale(1.07);background:#c81326}
.chat-btn::before{content:"";position:absolute;inset:0;border-radius:50%;background:rgba(225,29,46,.55);animation:chatPulse 2s ease-out infinite;z-index:-1}
.chat-btn::after{content:"";position:absolute;inset:0;border-radius:50%;background:rgba(225,29,46,.35);animation:chatPulse 2s ease-out infinite;animation-delay:.6s;z-index:-1}
@keyframes chatPulse{from{transform:scale(1);opacity:.7}to{transform:scale(1.8);opacity:0}}
.chat-btn svg{transition:transform .3s var(--ease)}
.chat-btn[aria-expanded="true"] svg{transform:rotate(135deg)}
.chat-panel{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-lg);padding:1.4rem;width:min(300px,calc(100vw - 2.5rem));transform-origin:bottom right;animation:chatPanelIn .3s var(--ease)}
@keyframes chatPanelIn{from{opacity:0;transform:scale(.92) translateY(8px)}to{opacity:1;transform:none}}
.chat-panel-head{font-family:var(--font-display);font-weight:600;font-size:1.05rem;letter-spacing:-.015em;color:var(--ink);margin-bottom:.25rem}
.chat-panel-sub{font-size:.82rem;color:var(--ink-2);line-height:1.45;margin-bottom:1.1rem}
.chat-action{display:flex;align-items:center;gap:.85rem;padding:.85rem 1rem;border:1.5px solid var(--line-2);border-radius:12px;margin-bottom:.6rem;transition:border-color .2s,background .2s,transform .2s var(--ease)}
.chat-action:hover{border-color:#e11d2e;background:#fdf0f1;transform:translateY(-2px)}
.chat-action-ico{width:38px;height:38px;border-radius:10px;background:#fdeaec;color:#e11d2e;display:grid;place-items:center;flex-shrink:0}
.chat-action b{font-family:var(--font-display);font-weight:600;font-size:.9rem;color:var(--ink);display:block;line-height:1.2}
.chat-action span{font-family:'IBM Plex Mono',monospace;font-size:.72rem;color:var(--ink-3);letter-spacing:.03em}
.chat-panel-note{font-family:'IBM Plex Mono',monospace;font-size:.6rem;letter-spacing:.08em;color:var(--ink-3);text-align:center;margin-top:.5rem;text-transform:uppercase}
@media (max-width:640px){.chat-btn{width:56px;height:56px}.chat-msg{font-size:.8rem}}
@media (prefers-reduced-motion:reduce){.chat-btn::before,.chat-btn::after{animation:none}.chat-panel{animation:none}}

/* ============================================== */
/* ========= LANGUAGE TOGGLE (EN/ES) ============ */
.lang-toggle{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--font-display);font-weight:600;font-size:.78rem;letter-spacing:.06em;color:var(--ink-2);border:1px solid var(--line-2);background:#fff;border-radius:99px;padding:.42rem .75rem;cursor:pointer;transition:color .2s,border-color .2s,transform .2s var(--ease);flex-shrink:0;margin-left:auto}
.nav-cta+.lang-toggle,.nav-links~.lang-toggle{margin-left:0}
.lang-toggle:hover{color:var(--ink);border-color:var(--ink-4);transform:translateY(-1px)}
.lang-toggle svg{color:var(--accent)}
@media (max-width:768px){.lang-toggle{margin-left:auto}}

/* Hide Google Translate chrome */
#google_translate_element{display:none}
.goog-te-banner-frame,.skiptranslate iframe,#goog-gt-tt,.goog-te-balloon-frame{display:none !important;visibility:hidden !important}
body{top:0 !important}
.goog-text-highlight{background:none !important;box-shadow:none !important}
font{background:none !important}

/* ============================================== */
/* ==== RED PRIMARY BUTTONS (hover: black) ====== */
.btn-primary{background:#e11d2e;box-shadow:0 1px 2px rgba(225,29,46,.18),0 4px 14px rgba(225,29,46,.3)}
.btn-primary:hover{background:var(--ink);box-shadow:0 4px 8px rgba(0,0,0,.12),0 12px 28px rgba(0,0,0,.22)}
/* dark-card variants: red base; black hover kept visible with a light keyline */
.cta-card .btn-primary,.svc-cta-card .btn-primary,.price-card.featured .btn-primary{background:#e11d2e;color:#fff}
.cta-card .btn-primary:hover,.svc-cta-card .btn-primary:hover,.price-card.featured .btn-primary:hover{background:var(--ink);color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.4),0 4px 14px rgba(0,0,0,.3)}
/* light button follows the same hover convention */
.btn-light:hover{background:var(--ink);color:#fff}

/* ============================================== */
/* ========= PRODUCTS MEGA MENU ================= */
.nav-mega .nav-drop-menu{left:-1.5rem;transform:translateY(6px);min-width:600px;display:grid;grid-template-columns:1fr 1fr;gap:.25rem;padding:.7rem}
.nav-mega:hover .nav-drop-menu,.nav-mega:focus-within .nav-drop-menu{transform:translateY(0)}
.mega-item{display:flex;gap:.8rem;align-items:flex-start}
.mega-item .mega-ico{width:36px;height:36px;border-radius:9px;background:var(--accent-2);color:var(--accent);display:grid;place-items:center;margin-top:0;flex-shrink:0;transition:background .2s,color .2s}
.mega-item .mega-ico svg{display:block}
.mega-item:hover .mega-ico{background:var(--accent);color:#fff}
.mega-item b{font-family:var(--font-display);font-weight:600;font-size:.9rem;color:var(--ink);display:block;line-height:1.25}
.mega-item span{font-size:.76rem;color:var(--ink-3);line-height:1.4;display:block;margin-top:.15rem}
.mega-all{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:.4rem;margin-top:.35rem;padding:.75rem !important;border-top:1px solid var(--line);border-radius:0 0 8px 8px;font-family:var(--font-display);font-weight:600;font-size:.85rem;color:var(--ink)}
.mega-all:hover{color:var(--accent) !important;background:var(--bg-2)}
