/* =====================================================================
   WebersLink v2 — red, black and off-white. Futuristic gradients.
   Loaded after site.css on every page. Inner pages keep the original
   site.css look; this file adds the homepage (x-*) and a few fixes.
   ===================================================================== */
:root{
  --x-black:#070606; --x-ink:#0d0b0a; --x-panel:#141110;
  --x-paper:#f4f2ed; --x-paper2:#ebe7df; --x-off:#f4f2ed;
  --x-red:#e0261c; --x-red-b:#ff3b2e; --x-red-d:#9e1a13;
  --x-mut:rgba(244,242,237,.66); --x-mut2:rgba(244,242,237,.44);
  --x-ink-mut:#5c5853; --x-line:rgba(255,255,255,.1); --x-line-l:rgba(0,0,0,.1);
  --x-grad:linear-gradient(95deg,#ff3b2e 0%,#ff6a4d 38%,#ffb3a3 70%,#f4f2ed 100%);
  --x-grad-ink:linear-gradient(95deg,#e0261c 0%,#ff3b2e 45%,#b0231d 100%);
  --x-ease:cubic-bezier(.16,1,.3,1);
  --x-disp:'Archivo','Inter',system-ui,sans-serif;
}

/* ---------- Header menu: the five services ---------- */
.dd-svc{min-width:330px}
.dd-svc a{align-items:flex-start}
.dd-svc span{display:flex;flex-direction:column;line-height:1.3}
.dd-svc small{font-size:12px;color:var(--grey-3);margin-top:2px}
.dd-svc b{margin-top:2px}
.dd-svc .dd-all{margin-top:4px;border-top:1px solid var(--line-d);border-radius:0 0 8px 8px;color:var(--red-bright)!important;font-size:13px}
@media(max-width:860px){.dd-svc{min-width:0}.dd-svc small{display:none}}

/* ---------- Fixes for inner pages ---------- */
@media(max-width:560px){.proof-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.stat{padding:24px 14px;min-width:0}.stat-n{font-size:clamp(30px,9vw,44px)!important;overflow-wrap:anywhere}}

/* =====================================================================
   Homepage (x-*)
   ===================================================================== */
.x-wrap{max-width:1240px;margin:0 auto;padding:0 24px;position:relative;z-index:1}
.x-grad{background:var(--x-grad);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:x-sheen 8s linear infinite}
.x-grad-ink{background-image:var(--x-grad-ink)}
@keyframes x-sheen{to{background-position:200% center}}
.x-label{display:inline-flex;align-items:center;gap:10px;padding:7px 14px 7px 12px;border:1px solid var(--x-line);border-radius:999px;background:rgba(255,255,255,.04);backdrop-filter:blur(8px);font-size:13.5px;font-weight:500;color:var(--x-mut);margin-bottom:28px}
.x-label i{width:7px;height:7px;border-radius:50%;background:var(--x-red-b);box-shadow:0 0 12px var(--x-red-b);flex:none}
.x-label i.x-live{background:#22c55e;box-shadow:0 0 0 0 rgba(34,197,94,.5);animation:x-ping 2s infinite}
@keyframes x-ping{0%{box-shadow:0 0 0 0 rgba(34,197,94,.5)}80%,100%{box-shadow:0 0 0 10px rgba(34,197,94,0)}}
.x-eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--x-red-b);margin-bottom:16px}
.x-h1{font-family:var(--x-disp);font-stretch:118%;font-size:clamp(40px,5.8vw,86px);font-weight:800;line-height:1.02;letter-spacing:-.04em;color:var(--x-off);margin:0 0 26px;max-width:15ch}
.x-h2{font-family:var(--x-disp);font-stretch:115%;font-size:clamp(32px,4.4vw,60px);font-weight:800;line-height:1.05;letter-spacing:-.035em}
.x-h2-big{font-size:clamp(38px,5.8vw,84px)}
.x-lead{font-size:clamp(17px,1.5vw,20px);line-height:1.6;color:var(--x-mut);max-width:38rem;margin-bottom:34px}
.x-sub{font-size:clamp(16px,1.2vw,18px);line-height:1.65;max-width:44rem;margin:18px auto 0}
.x-sub a{text-decoration:underline;text-underline-offset:3px}
.x-head{text-align:center;margin-bottom:56px}
.x-head-left{text-align:left}.x-head-left .x-sub{margin-left:0}

/* Buttons */
.x-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:15px 26px;border-radius:999px;background:linear-gradient(135deg,var(--x-red-b),var(--x-red) 55%,var(--x-red-d));color:#fff;font-size:15px;font-weight:600;border:1px solid rgba(255,255,255,.12);cursor:pointer;font-family:inherit;box-shadow:0 10px 30px -10px rgba(224,38,28,.7),inset 0 1px 0 rgba(255,255,255,.25);transition:transform .3s var(--x-ease),box-shadow .3s}
.x-btn:hover{transform:translateY(-2px);box-shadow:0 18px 40px -12px rgba(255,59,46,.85),inset 0 1px 0 rgba(255,255,255,.3)}
.x-btn .ico{width:15px;height:15px}
.x-btn-glass{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.18);box-shadow:none;backdrop-filter:blur(10px)}
.x-btn-glass:hover{background:rgba(255,255,255,.1);box-shadow:none}
.x-btn-ghost{background:transparent;color:var(--x-ink);border-color:rgba(0,0,0,.2);box-shadow:none}
.x-btn-ghost:hover{border-color:var(--x-ink);box-shadow:none}
.x-btn-light{background:var(--x-ink);color:var(--x-off);box-shadow:none}
.x-btn-full{width:100%}
.x-link{display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:600}
.x-link .ico{width:14px;height:14px;transition:transform .3s var(--x-ease)}
.x-link:hover .ico{transform:translateX(4px)}
.x-cta{display:flex;flex-wrap:wrap;gap:14px}

/* Futuristic backgrounds */
.x-dark,.x-hero,.x-logos{background:var(--x-black);color:var(--x-off)}
.x-dark .x-sub{color:var(--x-mut)}
.x-paper{background:var(--x-paper);color:var(--x-ink)}
.x-paper .x-sub{color:var(--x-ink-mut)}
.x-paper .x-eyebrow{color:var(--x-red)}
.x-mesh{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.x-mesh i{position:absolute;border-radius:50%;filter:blur(80px);opacity:.55;animation:x-float 18s ease-in-out infinite alternate}
.x-mesh i:nth-child(1){width:52vw;height:52vw;max-width:780px;max-height:780px;right:-12vw;top:-18vw;background:radial-gradient(circle,#e0261c 0%,transparent 65%)}
.x-mesh i:nth-child(2){width:38vw;height:38vw;max-width:560px;max-height:560px;left:-10vw;bottom:-14vw;background:radial-gradient(circle,#9e1a13 0%,transparent 65%);animation-duration:22s}
.x-mesh i:nth-child(3){width:28vw;height:28vw;max-width:420px;max-height:420px;left:40%;top:30%;background:radial-gradient(circle,rgba(255,106,77,.6) 0%,transparent 65%);opacity:.28;animation-duration:26s}
.x-mesh-soft i{opacity:.3}
@keyframes x-float{0%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(-4%,6%,0) scale(1.08)}100%{transform:translate3d(5%,-4%,0) scale(.95)}}
.x-gridlines{position:absolute;inset:0;pointer-events:none;z-index:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:radial-gradient(ellipse 80% 70% at 60% 40%,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse 80% 70% at 60% 40%,#000 20%,transparent 75%)}
.x-dark{position:relative;overflow:hidden}
.x-dark::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 60% 50% at 50% 0%,rgba(224,38,28,.16),transparent 70%),radial-gradient(ellipse 40% 40% at 100% 100%,rgba(158,26,19,.18),transparent 70%)}

/* Hero */
.x-hero{position:relative;min-height:100vh;display:flex;align-items:center;padding:130px 0 70px;overflow:hidden}
.x-hero #scene{z-index:0}
.x-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:140px;background:linear-gradient(to top,var(--x-black),transparent);pointer-events:none;z-index:0}
.x-hero-in{width:100%}
.x-need{margin-top:44px;max-width:900px}
.x-need-k{display:block;font-size:13px;font-weight:600;letter-spacing:.04em;color:var(--x-mut2);margin-bottom:12px}
.x-need-row{display:flex;flex-wrap:wrap;gap:10px}
.x-need-row a{display:inline-flex;align-items:center;gap:9px;padding:9px 16px 9px 9px;border:1px solid var(--x-line);border-radius:999px;background:rgba(20,17,16,.6);backdrop-filter:blur(10px);font-size:14px;font-weight:500;color:var(--x-off);transition:border-color .25s,background .25s,transform .3s var(--x-ease)}
.x-need-row a:hover{border-color:rgba(255,59,46,.7);background:rgba(224,38,28,.14);transform:translateY(-2px)}
.x-ic{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:rgba(224,38,28,.18);flex:none}
.x-ic svg{width:15px;height:15px;fill:none;stroke:var(--x-red-b);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.x-trust{display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:40px;font-size:14px;color:var(--x-mut)}
.x-trust b{color:var(--x-off);font-weight:700}
.x-trust .stars{color:var(--x-red-b);letter-spacing:2px}

/* Logos marquee */
.x-logos{padding:34px 0 46px;text-align:center;border-top:1px solid var(--x-line);border-bottom:1px solid var(--x-line);overflow:hidden}
.x-logos .x-eyebrow{color:var(--x-mut2)}
.x-marquee{-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.x-marquee-track{display:flex;gap:64px;width:max-content;animation:x-marq 32s linear infinite}
.x-marquee-track span{font-family:var(--x-disp);font-stretch:112%;font-size:22px;font-weight:700;letter-spacing:-.02em;color:rgba(244,242,237,.38);white-space:nowrap}
@keyframes x-marq{to{transform:translateX(-50%)}}

/* Sections */
.x-sec{position:relative;padding:clamp(84px,10vw,136px) 0}

/* Services tabs */
.x-tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:22px}
.x-tabs button{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:18px 18px 16px;text-align:left;background:#fff;border:1px solid var(--x-line-l);border-radius:18px;cursor:pointer;font-family:inherit;color:var(--x-ink);transition:transform .3s var(--x-ease),border-color .25s,background .25s,box-shadow .3s}
.x-tabs button:hover{transform:translateY(-3px);border-color:rgba(224,38,28,.4)}
.x-tabs button .x-ic{margin-bottom:8px;background:rgba(224,38,28,.1)}
.x-tabs button .x-ic svg{stroke:var(--x-red)}
.x-tabs b{font-size:15.5px;font-weight:700;letter-spacing:-.01em}
.x-tabs small{font-size:12.5px;color:var(--x-ink-mut);line-height:1.35}
.x-tabs button[aria-selected=true]{background:var(--x-ink);color:var(--x-off);border-color:var(--x-ink);box-shadow:0 20px 40px -18px rgba(224,38,28,.55)}
.x-tabs button[aria-selected=true] small{color:var(--x-mut)}
.x-tabs button[aria-selected=true] .x-ic{background:var(--x-red)}
.x-tabs button[aria-selected=true] .x-ic svg{stroke:#fff}
.x-tabs button[aria-selected=true]::after{content:"";position:absolute;left:18px;right:18px;bottom:-1px;height:2px;background:var(--x-grad-ink);border-radius:2px}
.x-tabs button:focus-visible{outline:2px solid var(--x-red);outline-offset:3px}
.x-panel{display:grid;grid-template-columns:1.05fr .95fr;background:#fff;border:1px solid var(--x-line-l);border-radius:26px;overflow:hidden;box-shadow:0 30px 70px -40px rgba(0,0,0,.35);scroll-margin-top:90px}
.x-panel[hidden]{display:none}
.x-panel-copy{padding:44px 44px 40px}
.x-pill{display:inline-block;font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;padding:6px 12px;border-radius:999px;background:rgba(224,38,28,.1);color:var(--x-red);margin-bottom:18px}
.x-panel h3{font-family:var(--x-disp);font-stretch:110%;font-size:clamp(24px,2.4vw,32px);font-weight:800;line-height:1.15;letter-spacing:-.025em;color:var(--x-ink);margin-bottom:16px}
.x-what{font-size:16px;line-height:1.65;color:var(--x-ink-mut);margin-bottom:22px}
.x-check{list-style:none;display:grid;gap:12px;margin-bottom:22px}
.x-check li{position:relative;padding-left:32px;font-size:15.5px;line-height:1.5;color:var(--x-ink)}
.x-check li::before{content:"✓";position:absolute;left:0;top:0;display:grid;place-items:center;width:21px;height:21px;border-radius:50%;background:var(--x-ink);color:#fff;font-size:11px;font-weight:700}
.x-good{font-size:14px;color:var(--x-ink-mut);padding:12px 14px;border-radius:12px;background:var(--x-paper);margin-bottom:26px}
.x-good b{color:var(--x-ink)}
.x-panel-cta{display:flex;flex-wrap:wrap;align-items:center;gap:20px}
.x-panel-cta .x-link{color:var(--x-ink)}
.x-panel-vis{position:relative;padding:40px 36px;background:var(--x-black);color:var(--x-off);display:flex;flex-direction:column;justify-content:center;overflow:hidden}
.x-panel-vis::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 70% 60% at 80% 10%,rgba(224,38,28,.35),transparent 70%),radial-gradient(ellipse 60% 50% at 0% 100%,rgba(158,26,19,.3),transparent 70%);pointer-events:none}
.x-panel-vis::after{content:"";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:32px 32px;pointer-events:none}
.x-panel-vis>*{position:relative;z-index:1}
.x-vis-k{font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--x-mut2);margin-bottom:18px}

/* Visual: automation flow */
.x-flow{display:grid;gap:10px}
.x-node{display:grid;grid-template-columns:34px 1fr;column-gap:12px;align-items:center;padding:12px 14px;border:1px solid var(--x-line);border-radius:14px;background:rgba(255,255,255,.04);position:relative}
.x-node span{grid-row:span 2;display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:rgba(224,38,28,.2);color:var(--x-red-b);font-size:15px}
.x-node b{font-size:14px;font-weight:600}
.x-node small{font-size:12px;color:var(--x-mut2)}
.x-node+.x-node::before{content:"";position:absolute;left:30px;top:-11px;width:2px;height:10px;background:linear-gradient(var(--x-red-b),transparent)}
.x-node-ok span{background:rgba(34,197,94,.2);color:#4ade80}

/* Visual: voice call */
.x-call{border:1px solid var(--x-line);border-radius:18px;background:rgba(255,255,255,.04);padding:18px}
.x-call-head{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.x-call-head b{font-size:14px}.x-call-head small{margin-left:auto;font-size:12px;color:var(--x-mut2)}
.x-wave{display:flex;align-items:center;gap:3px;height:22px}
.x-wave i{width:3px;border-radius:2px;background:var(--x-red-b);animation:x-wave 1s ease-in-out infinite}
.x-wave i:nth-child(1){height:40%}.x-wave i:nth-child(2){height:90%;animation-delay:.15s}.x-wave i:nth-child(3){height:60%;animation-delay:.3s}.x-wave i:nth-child(4){height:100%;animation-delay:.45s}.x-wave i:nth-child(5){height:50%;animation-delay:.6s}
@keyframes x-wave{50%{transform:scaleY(.35)}}
.x-say{font-size:13.5px;line-height:1.5;padding:9px 13px;border-radius:14px;margin-bottom:8px;max-width:88%}
.x-say-c{background:rgba(255,255,255,.08);border-top-left-radius:4px}
.x-say-a{margin-left:auto;background:linear-gradient(135deg,var(--x-red),var(--x-red-d));border-top-right-radius:4px}
.x-call-foot{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.x-call-foot span{font-size:11.5px;font-weight:600;padding:4px 10px;border-radius:999px;background:rgba(34,197,94,.14);color:#4ade80}

/* Visual: team board */
.x-board{border:1px solid var(--x-line);border-radius:18px;background:rgba(255,255,255,.04);padding:18px}
.x-team{display:flex;align-items:center;margin-bottom:14px}
.x-team b{margin-left:12px;font-size:14px}
.x-av{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#ff3b2e,#9e1a13);color:#fff;font-size:11px;font-weight:700;border:2px solid var(--x-black);font-style:normal}
.x-av+.x-av{margin-left:-9px}
.x-av-2{background:linear-gradient(135deg,#f4f2ed,#a8a29e);color:#0d0b0a}.x-av-3{background:linear-gradient(135deg,#44403c,#1c1917)}
.x-task{display:flex;align-items:center;gap:10px;padding:11px 0;border-top:1px solid var(--x-line);font-size:13.5px}
.x-st{flex:none;font-style:normal;font-size:11px;font-weight:600;padding:3px 9px;border-radius:999px;min-width:84px;text-align:center}
.x-st-done{background:rgba(34,197,94,.14);color:#4ade80}.x-st-doing{background:rgba(255,59,46,.18);color:#ff8a7e}.x-st-next{background:rgba(255,255,255,.08);color:var(--x-mut)}
.x-board-foot{margin-top:10px;font-size:12px;color:var(--x-mut2)}

/* Visual: browser */
.x-browser{border:1px solid var(--x-line);border-radius:16px;overflow:hidden;background:rgba(255,255,255,.03)}
.x-browser-bar{display:flex;align-items:center;gap:6px;padding:10px 14px;border-bottom:1px solid var(--x-line)}
.x-browser-bar span{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.2)}
.x-browser-bar span:first-child{background:var(--x-red-b)}
.x-browser-bar em{margin-left:10px;font-style:normal;font-size:11.5px;color:var(--x-mut2);font-family:var(--mono)}
.x-browser-body{display:grid;grid-template-columns:44px 1fr;min-height:230px}
.x-side{display:grid;align-content:start;gap:10px;padding:14px 10px;border-right:1px solid var(--x-line)}
.x-side i{height:22px;border-radius:7px;background:rgba(255,255,255,.07)}.x-side i.on{background:var(--x-red)}
.x-main{padding:16px}
.x-kpi3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px}
.x-kpi3 div{padding:10px;border:1px solid var(--x-line);border-radius:10px;min-width:0}
.x-kpi3 small{display:block;font-size:10.5px;color:var(--x-mut2)}
.x-kpi3 b{font-size:20px;font-weight:700}
.x-bars{display:flex;align-items:flex-end;gap:8px;height:110px}
.x-bars i{flex:1;border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,var(--x-red-b),rgba(224,38,28,.15))}

/* Visual: CMS editor */
.x-editor{border:1px solid var(--x-line);border-radius:16px;background:rgba(255,255,255,.03);padding:14px}
.x-editor-bar{display:flex;align-items:center;margin-bottom:12px;font-size:13px}
.x-pub{margin-left:auto;font-size:12px;font-weight:600;padding:5px 12px;border-radius:999px;background:var(--x-red)}
.x-block{position:relative;padding:12px;border:1px dashed rgba(255,255,255,.16);border-radius:12px;margin-bottom:8px}
.x-block small{display:block;font-family:var(--mono);font-size:10.5px;color:var(--x-mut2);margin-bottom:6px}
.x-block b{font-family:var(--x-disp);font-size:17px}
.x-block-on{border:1px solid var(--x-red-b);box-shadow:0 0 0 4px rgba(255,59,46,.12)}
.x-block-on i{position:absolute;right:12px;top:12px;width:8px;height:8px;border-radius:50%;background:var(--x-red-b)}
.x-img{height:44px;border-radius:8px;background:linear-gradient(120deg,rgba(255,255,255,.12),rgba(255,255,255,.03))}
.x-lines{display:grid;gap:6px}.x-lines i{height:8px;border-radius:4px;background:rgba(255,255,255,.1)}.x-lines i:nth-child(2){width:70%}.x-lines i:nth-child(3){width:85%}
.x-add{text-align:center;font-size:12.5px;color:var(--x-mut2);padding:8px;border:1px dashed rgba(255,255,255,.12);border-radius:12px}

/* Comparison */
.x-compare{display:grid;grid-template-columns:1fr 1fr;max-width:1020px;margin:0 auto;border:1px solid var(--x-line);border-radius:26px;overflow:hidden;background:rgba(20,17,16,.7);backdrop-filter:blur(12px)}
.x-col{padding:40px}
.x-col-yes{border-left:1px solid var(--x-line);background:linear-gradient(160deg,rgba(224,38,28,.18),transparent 65%)}
.x-col-k{display:inline-block;font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--x-mut2);margin-bottom:24px}
.x-col-yes .x-col-k{color:var(--x-red-b)}
.x-list{list-style:none;display:grid;gap:18px}
.x-list li{position:relative;padding-left:34px;font-size:16px;line-height:1.55}
.x-list li::before{position:absolute;left:0;top:1px;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;font-size:11px;font-weight:700}
.x-list-no li{color:var(--x-mut2)}
.x-list-no li::before{content:"✕";background:rgba(255,255,255,.07);color:var(--x-mut2)}
.x-list-yes li{color:var(--x-off)}
.x-list-yes li::before{content:"✓";background:var(--x-red);color:#fff}

/* Steps */
.x-chips{display:flex;gap:10px;margin-top:22px}
.x-chip{font-size:12px;font-weight:600;padding:6px 12px;border-radius:999px}
.x-chip-you{background:var(--x-ink);color:var(--x-off)}
.x-chip-us{background:rgba(224,38,28,.12);color:var(--x-red)}
.x-steps{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);gap:16px;position:relative}
.x-steps::before{content:"";position:absolute;left:10%;right:10%;top:23px;height:2px;background:linear-gradient(90deg,var(--x-ink) 0 20%,rgba(224,38,28,.45) 20% 100%)}
.x-step{position:relative;text-align:center;padding:0 6px}
.x-dot{position:relative;display:grid;place-items:center;width:48px;height:48px;margin:0 auto 18px;border-radius:50%;background:var(--x-paper);border:2px solid var(--x-red);color:var(--x-red);font-family:var(--x-disp);font-weight:800;font-size:16px}
.x-step-you .x-dot{background:var(--x-ink);border-color:var(--x-ink);color:var(--x-off)}
.x-step b{display:block;font-size:16px;font-weight:700;color:var(--x-ink);margin-bottom:8px}
.x-step p{font-size:14px;line-height:1.55;color:var(--x-ink-mut);margin-bottom:10px}
.x-step small{font-family:var(--mono);font-size:11.5px;color:var(--x-red)}

/* Work */
.x-work{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.x-case{background:var(--x-panel);border:1px solid var(--x-line);border-radius:22px;overflow:hidden;transition:transform .4s var(--x-ease),border-color .3s}
.x-case:hover{transform:translateY(-4px);border-color:rgba(255,59,46,.45)}
.x-case a{display:block;overflow:hidden}
.x-case img{display:block;width:100%;height:auto;aspect-ratio:1200/670;object-fit:cover;transition:transform .7s var(--x-ease)}
.x-case:hover img{transform:scale(1.04)}
.x-case figcaption{padding:22px 24px 26px}
.x-case small{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--x-mut2)}
.x-case b{display:block;font-family:var(--x-disp);font-size:21px;font-weight:800;letter-spacing:-.02em;margin:6px 0 12px}
.x-case blockquote{font-size:14.5px;line-height:1.6;color:var(--x-mut);border-left:2px solid var(--x-red-b);padding-left:14px}

/* Plans */
.x-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.x-plan{position:relative;display:flex;flex-direction:column;padding:34px 30px;background:#fff;border:1px solid var(--x-line-l);border-radius:24px;color:var(--x-ink)}
.x-plan-feat{background:var(--x-ink);color:var(--x-off);border-color:var(--x-red);box-shadow:0 40px 80px -30px rgba(224,38,28,.5)}
.x-badge{position:absolute;top:-13px;left:30px;font-size:12px;font-weight:700;padding:5px 12px;border-radius:999px;background:var(--x-red);color:#fff}
.x-plan h3{font-family:var(--x-disp);font-size:22px;font-weight:800;letter-spacing:-.02em}
.x-plan-for{font-size:14.5px;color:var(--x-ink-mut);margin:6px 0 22px}
.x-plan-feat .x-plan-for,.x-plan-feat .x-setup,.x-plan-feat .x-price small{color:var(--x-mut)}
.x-price{font-family:var(--x-disp);font-size:44px;font-weight:800;letter-spacing:-.03em;line-height:1}
.x-price small{font-family:var(--sans);font-size:15px;font-weight:500;letter-spacing:0;color:var(--x-ink-mut)}
.x-setup{font-size:13px;color:var(--x-ink-mut);margin-top:8px}
.x-plan ul{list-style:none;display:grid;gap:11px;margin:26px 0 30px}
.x-plan li{position:relative;padding-left:26px;font-size:14.5px;line-height:1.5}
.x-plan li::before{content:"✓";position:absolute;left:0;font-weight:700;color:var(--x-red)}
.x-plan-feat li::before{color:var(--x-red-b)}
.x-plan .x-btn{margin-top:auto}
.x-also{margin-top:40px;text-align:center;font-size:15px;color:var(--x-ink-mut)}
.x-also a{color:var(--x-ink);font-weight:600;text-decoration:underline;text-underline-offset:3px}

/* FAQ */
#faq{padding:clamp(84px,10vw,136px) 0;background:var(--x-paper2)}
.x-faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:start}
#faq .x-h2{color:var(--x-ink)}
#faq .x-sub{margin-left:0;color:var(--x-ink-mut)}
#faq .x-eyebrow{color:var(--x-red)}

/* Book */
.x-book{border-top:1px solid var(--x-line)}
.x-book .x-head .x-label{margin-bottom:22px}
.x-book-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:28px;max-width:1100px;margin:0 auto;align-items:start}
.x-form-card{background:rgba(20,17,16,.75);border:1px solid var(--x-line);border-radius:24px;padding:34px;backdrop-filter:blur(14px)}
.x-form-card form,.x-audit form{background:none;border:0;padding:0;border-radius:0}
.x-form-card .form-fields{display:grid;gap:16px}
.x-form-card .row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.x-form-card .field{display:grid;gap:6px}
.x-form-card input,.x-form-card select,.x-form-card textarea,.x-audit input{width:100%;padding:13px 14px;font-size:15px;border-radius:12px}
.x-form-card textarea{min-height:96px}
.x-form-card .consent input{width:16px;padding:0}
.x-points{list-style:none;display:grid;gap:14px;margin-bottom:22px}
.x-points li{display:flex;gap:14px;align-items:center;font-size:15.5px;color:var(--x-mut)}
.x-points b{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--x-red);color:#fff;font-size:13px}
.x-audit{background:var(--x-off);color:var(--x-ink);border-radius:22px;padding:26px}
.x-audit h3{font-family:var(--x-disp);font-size:20px;font-weight:800;letter-spacing:-.02em;margin-bottom:6px}
.x-audit p{font-size:14px;line-height:1.55;color:var(--x-ink-mut);margin-bottom:16px}
.x-audit .form-fields{display:grid;gap:10px}
.x-audit input{background:#fff!important;color:var(--x-ink)!important;border:1px solid rgba(0,0,0,.15)!important}
.x-audit .success h3{color:var(--x-ink)}.x-audit .success p{color:var(--x-ink-mut)}
.x-contact{margin-top:20px;font-size:14px;color:var(--x-mut)}
.x-contact a{color:var(--x-off);text-decoration:underline;text-underline-offset:3px}

/* Motion: hidden until animated in (only when the Motion library has loaded) */
.m-ready [data-m]{opacity:0}
@media (prefers-reduced-motion:reduce){.m-ready [data-m]{opacity:1}.x-mesh i,.x-marquee-track,.x-grad,.x-wave i{animation:none}}

/* ---------- Responsive ---------- */
@media(max-width:1060px){
  .x-tabs{grid-template-columns:repeat(5,minmax(150px,1fr));overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 10px;scrollbar-width:none}
  .x-tabs::-webkit-scrollbar{display:none}
  .x-tabs button{scroll-snap-align:start}
  .x-panel{grid-template-columns:1fr}
  .x-work,.x-plans{grid-template-columns:1fr;max-width:580px;margin-left:auto;margin-right:auto}
  .x-plans{gap:30px}
  .x-steps{grid-template-columns:1fr;gap:0;max-width:580px}
  .x-steps::before{left:23px;right:auto;top:10px;bottom:10px;width:2px;height:auto;background:linear-gradient(180deg,var(--x-ink) 0 14%,rgba(224,38,28,.45) 14% 100%)}
  .x-step{display:grid;grid-template-columns:48px 1fr;column-gap:18px;text-align:left;padding:0 0 26px}
  .x-dot{grid-row:span 3;margin:0}
  .x-faq-grid,.x-book-grid{grid-template-columns:1fr;gap:32px}
}
@media(max-width:720px){
  .x-hero{min-height:0;padding:110px 0 56px}
  .x-panel-copy{padding:30px 24px}
  .x-panel-vis{padding:28px 20px}
  .x-compare{grid-template-columns:1fr}
  .x-col{padding:30px 24px}
  .x-col-yes{border-left:0;border-top:1px solid var(--x-line)}
  .x-form-card{padding:24px}
  .x-form-card .row2{grid-template-columns:1fr}
  .x-head{margin-bottom:40px}
  .x-need-row a{font-size:13.5px}
  .x-marquee-track span{font-size:18px}
}
@media(max-width:480px){.x-h1{font-size:34px;font-stretch:108%;max-width:none}}

/* ---------- Service pages: real images ---------- */
.prose .svc-fig{margin:34px 0;padding:0;border:0}
.prose .svc-fig img{display:block;width:100%;height:auto;border-radius:14px;border:1px solid var(--line-l);box-shadow:0 24px 50px -28px rgba(0,0,0,.35);background:#fff}
.prose .svc-fig figcaption{margin-top:12px;font-size:14px;line-height:1.55;color:var(--grey-5)}
.prose .svc-fig figcaption strong{color:var(--ink)}
.prose .svc-fig-split{display:grid;grid-template-columns:minmax(0,260px) 1fr;gap:26px;align-items:center;padding:22px;border-radius:18px;background:linear-gradient(150deg,#141110,#0a0908);border:1px solid rgba(0,0,0,.2)}
.prose .svc-fig-split img{border-color:rgba(255,255,255,.1);background:#0a0908}
.prose .svc-fig-split figcaption{margin:0;font-size:15px;color:rgba(244,242,237,.7)}
.prose .svc-fig-split figcaption strong{color:#f4f2ed}
.prose .svc-fig-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.prose .svc-fig-grid img{aspect-ratio:16/10;object-fit:cover}
.prose .svc-fig-grid-3{grid-template-columns:repeat(3,1fr)}
.prose .svc-fig-grid figcaption{grid-column:1/-1;margin-top:2px}
@media(max-width:620px){.prose .svc-fig-split{grid-template-columns:1fr;max-width:340px}.prose .svc-fig-grid-3{grid-template-columns:1fr}}
.prose .svc-fig-grid-3{grid-template-columns:1fr 1fr}
.prose .svc-fig-grid-3 img:first-child{grid-column:1/-1;aspect-ratio:auto}
.prose .svc-fig > img[src*="figma-elementor"]{aspect-ratio:4/3;object-fit:cover;object-position:50% 40%}
@media(max-width:620px){.prose .svc-fig-grid-3{grid-template-columns:1fr 1fr}}

/* ---------- Projects: cards, filter, detail pages ---------- */
.pj-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.pj{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line-l);border-radius:18px;overflow:hidden;color:var(--ink);transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s,border-color .3s}
.pj:hover{transform:translateY(-4px);border-color:rgba(217,37,28,.45);box-shadow:0 26px 50px -30px rgba(0,0,0,.4)}
.pj[hidden]{display:none}
.pj-img{display:block;aspect-ratio:16/10;overflow:hidden;background:#0a0908;border-bottom:1px solid var(--line-l)}
.pj-img img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 0;transition:transform .7s cubic-bezier(.16,1,.3,1)}
.pj-img-tall img{object-fit:contain;padding:12px 0 0}
.pj:hover .pj-img img{transform:scale(1.04)}
.pj-body{display:flex;flex-direction:column;flex:1;padding:18px 20px 20px}
.pj-type{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--red)}
.pj-name{font-family:var(--display);font-stretch:112%;font-size:20px;font-weight:800;letter-spacing:-.02em;margin:6px 0 8px;line-height:1.2}
.pj-blurb{font-size:14.5px;line-height:1.55;color:var(--grey-7);margin-bottom:14px}
.pj-tags{display:flex;flex-wrap:wrap;gap:6px;margin:auto 0 14px}
.pj-tags i{font-style:normal;font-size:11.5px;font-weight:600;padding:3px 9px;border-radius:999px;background:var(--paper);color:var(--grey-7);border:1px solid var(--line-l)}
.pj-go{font-size:14px;font-weight:600;color:var(--ink)}
.pj:hover .pj-go{color:var(--red)}
.pj-all{margin-top:26px;text-align:center}
.pj-all a{font-weight:600;color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.pj-filter{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 26px}
.pj-filter button{display:inline-flex;align-items:center;gap:8px;padding:9px 15px;border-radius:999px;border:1px solid var(--line-l);background:#fff;color:var(--ink);font:500 14px var(--sans);cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.pj-filter button small{font-size:11.5px;color:var(--grey-5)}
.pj-filter button:hover{border-color:var(--ink)}
.pj-filter button[aria-pressed=true]{background:var(--black);color:#fff;border-color:var(--black)}
.pj-filter button[aria-pressed=true] small{color:rgba(255,255,255,.6)}
.prose-wrap.hub .pj-grid-hub{grid-template-columns:repeat(2,minmax(0,1fr))}
.pj-meta{display:grid;gap:12px;padding:16px 18px;border-radius:14px;background:var(--paper);border:1px solid var(--line-l);margin-bottom:28px}
.pj-meta div{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.pj-meta small{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--grey-5);min-width:92px}
.prose .pj-meta a,.pj-meta span{font-size:13px;font-weight:600;padding:4px 10px;border-radius:999px;background:#fff;border:1px solid var(--line-l);color:var(--ink);text-decoration:none}
.prose .pj-meta a:hover{border-color:var(--red);color:var(--red)}
.prose .svc-fig-tall{max-width:300px}
.pj-quote{margin:26px 0;padding:20px 22px;border-left:3px solid var(--red);background:var(--paper);border-radius:0 14px 14px 0}
.pj-quote p{font-size:16.5px;line-height:1.6;color:var(--ink);margin:0 0 8px}
.pj-quote cite{font-style:normal;font-size:13.5px;color:var(--grey-5)}
.pj-next{margin-top:30px}
@media(max-width:980px){.pj-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.pj-grid,.prose-wrap.hub .pj-grid-hub{grid-template-columns:1fr}}
.x-work-all{margin-top:36px;text-align:center}
.x-panel-cta .x-link-mut{color:var(--x-ink-mut);font-weight:500;text-decoration:underline;text-underline-offset:3px}
.prose a.pj,.prose a.pj:hover{text-decoration:none;color:var(--ink)}
.prose a.pj *{text-decoration:none}
.prose .pj-filter button{font-family:var(--sans)}

/* =====================================================================
   Glass: frosted, translucent surfaces with a soft top highlight
   ===================================================================== */
:root{
  --g-light:linear-gradient(140deg,rgba(255,255,255,.78),rgba(255,255,255,.42));
  --g-light-bd:rgba(255,255,255,.85);
  --g-dark:linear-gradient(140deg,rgba(255,255,255,.10),rgba(255,255,255,.025));
  --g-dark-bd:rgba(255,255,255,.14);
  --g-blur:blur(22px) saturate(170%);
  --g-shadow-l:inset 0 1px 0 rgba(255,255,255,.9),0 24px 60px -32px rgba(60,20,15,.35);
  --g-shadow-d:inset 0 1px 0 rgba(255,255,255,.12),0 30px 70px -36px rgba(0,0,0,.8);
}
/* light sections get soft colour so the frosting has something to blur */
.x-paper,#faq{background:radial-gradient(ellipse 45% 40% at 8% 12%,rgba(255,59,46,.16),transparent 70%),radial-gradient(ellipse 40% 45% at 95% 30%,rgba(255,138,110,.18),transparent 70%),radial-gradient(ellipse 50% 40% at 50% 100%,rgba(224,38,28,.10),transparent 70%),var(--x-paper)}
#faq{background-color:var(--x-paper2)}

/* light glass */
.x-tabs button,.x-panel,#faq .faq,.pj,.prose-wrap .prose,.rel,.pj-filter button,.pj-meta{background:var(--g-light)!important;-webkit-backdrop-filter:var(--g-blur);backdrop-filter:var(--g-blur);border:1px solid var(--g-light-bd)!important;box-shadow:var(--g-shadow-l)}
#faq .faq{padding:8px 26px;border-radius:22px}
.x-panel-copy{background:transparent}
.x-tabs button[aria-selected=true],.pj-filter button[aria-pressed=true]{background:linear-gradient(140deg,rgba(20,16,14,.92),rgba(13,11,10,.82))!important;border-color:rgba(255,255,255,.12)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 22px 44px -18px rgba(224,38,28,.55)}
.prose-wrap.hub .prose{background:none!important;border:0!important;box-shadow:none;backdrop-filter:none}

/* dark glass */
.x-compare,.x-case,.x-form-card,.x-call,.x-board,.x-browser,.x-editor,.x-node,.side-card,.x-need-row a,.x-label,.x-btn-glass{background:var(--g-dark)!important;-webkit-backdrop-filter:var(--g-blur);backdrop-filter:var(--g-blur);border:1px solid var(--g-dark-bd)!important;box-shadow:var(--g-shadow-d)}
.x-col-yes{background:linear-gradient(160deg,rgba(224,38,28,.22),rgba(224,38,28,.02) 65%)}
.x-audit{background:linear-gradient(140deg,rgba(244,242,237,.95),rgba(244,242,237,.78))!important;-webkit-backdrop-filter:var(--g-blur);backdrop-filter:var(--g-blur);border:1px solid rgba(255,255,255,.6);box-shadow:var(--g-shadow-l)}
.x-form-card input,.x-form-card select,.x-form-card textarea{background:rgba(255,255,255,.05)!important;border:1px solid rgba(255,255,255,.14)!important;color:var(--x-off)!important}
.x-form-card select option{color:#111}

/* glass header once you scroll */
.nav.scrolled{background:linear-gradient(180deg,rgba(9,8,7,.62),rgba(9,8,7,.42))!important;-webkit-backdrop-filter:blur(22px) saturate(180%);backdrop-filter:blur(22px) saturate(180%);border-bottom:1px solid rgba(255,255,255,.08)}
.dd-menu{background:linear-gradient(150deg,rgba(24,20,18,.82),rgba(12,10,9,.72))!important;-webkit-backdrop-filter:var(--g-blur);backdrop-filter:var(--g-blur);border:1px solid rgba(255,255,255,.12)!important}
.sticky-cta{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}

/* floating glass cards beside the 3D object */
.x-float{position:absolute;inset:0;pointer-events:none;z-index:1}
.x-glass-chip{position:absolute;display:flex;align-items:center;gap:12px;padding:12px 16px 12px 12px;border-radius:16px;background:var(--g-dark);-webkit-backdrop-filter:var(--g-blur);backdrop-filter:var(--g-blur);border:1px solid var(--g-dark-bd);box-shadow:var(--g-shadow-d);color:var(--x-off);animation:x-bob 7s ease-in-out infinite}
.x-glass-chip b{display:block;font-size:14px;font-weight:600}
.x-glass-chip small{font-size:12px;color:var(--x-mut)}
.x-chip-ic{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,var(--x-red-b),var(--x-red-d));font-size:15px;color:#fff;flex:none}
.x-chip-ok{background:linear-gradient(135deg,#22c55e,#15803d)}
.x-chip-1{right:30%;top:24%}
.x-chip-2{right:5%;top:52%;animation-delay:-2.3s}
.x-chip-3{right:24%;bottom:16%;animation-delay:-4.6s}
@keyframes x-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@media(max-width:1180px){.x-float{display:none}}
@media (prefers-reduced-motion:reduce){.x-glass-chip{animation:none}}
/* browsers without backdrop blur fall back to solid surfaces */
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .x-tabs button,.x-panel,#faq .faq,.pj,.rel,.pj-meta{background:#fff!important}
  .x-compare,.x-case,.x-form-card,.x-call,.x-board,.x-browser,.x-editor,.x-node,.side-card,.x-glass-chip{background:#151210!important}
}
/* fixes: chip placement, gradient stays red while it shimmers, darker glass header */
.x-chip-1{right:20%;top:15%}
.x-chip-2{right:4%;top:50%}
.x-chip-3{right:12%;bottom:9%}
:root{--x-grad:linear-gradient(95deg,#ff3b2e 0%,#ff7a59 25%,#e0261c 50%,#ff7a59 75%,#ff3b2e 100%)}
.nav.scrolled{background:linear-gradient(180deg,rgba(9,8,7,.86),rgba(9,8,7,.72))!important}
.side-card{background:linear-gradient(140deg,rgba(22,18,16,.94),rgba(10,9,8,.86))!important}
/* homepage project cards */
.x-case{display:flex;flex-direction:column;color:var(--x-off)}
.x-case-img{display:block;aspect-ratio:16/10;overflow:hidden;background:#0a0908;border-bottom:1px solid var(--x-line)}
.x-case-img img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 0;aspect-ratio:auto}
.x-case-img-tall img{object-fit:contain;padding-top:12px}
.x-case-cap{display:flex;flex-direction:column;flex:1;padding:22px 24px 24px}
.x-case-cap small{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--x-red-b)}
.x-case-cap b{display:block;font-family:var(--x-disp);font-size:21px;font-weight:800;letter-spacing:-.02em;margin:6px 0 10px}
.x-case-txt{font-size:14.5px;line-height:1.6;color:var(--x-mut);margin-bottom:16px}
.x-case-go{margin-top:auto;font-size:14px;font-weight:600}
.x-case:hover .x-case-go{color:var(--x-red-b)}
/* About page: locations */
.about-locs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0 20px}
.about-loc{padding:18px;border-radius:14px;background:var(--paper);border:1px solid var(--line-l)}
.prose .about-loc h3{margin:8px 0 6px;font-size:18px}
.prose .about-loc p{font-size:14.5px;margin:0;line-height:1.55}
.about-flag{font-size:26px;line-height:1}
@media(max-width:700px){.about-locs{grid-template-columns:1fr}}
