:root{--bg:#1c1b20;--card:#141418;--border:#26262e;--border-2:#3b3b44;--accent:#2f6bff;--accent-text:#6a92ff;--accent-2:#4c8bff;--accent-3:#e3c05a;--warn:#ff8a3d;--gold:#e3c05a;--gold-2:#a9781f;--text:#f4f1ea;--muted:#a2a6b0;--muted-2:#6f7079;--maxw:1440px}
  *{box-sizing:border-box}html,body{margin:0}
  body{background:var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
  a{color:inherit;text-decoration:none}
  .bgl{position:fixed;inset:0;z-index:-2;pointer-events:none}
  .l-duo{inset:-8%;animation:duoBreath 17s ease-in-out infinite;background:radial-gradient(900px 600px at 84% 112%,rgba(255,255,255,.06),transparent 60%),radial-gradient(720px 520px at 10% 6%,rgba(227,192,90,.06),transparent 62%),linear-gradient(180deg,#191a1e 0%,#1c1b20 45%,#232227 100%)}
  @keyframes duoBreath{0%,100%{opacity:.86}50%{opacity:.98}}
  @keyframes barPulse{0%,100%{transform:scaleX(1)}50%{transform:scaleX(.88)}}
  @keyframes typing{0%,60%,100%{opacity:.3}30%{opacity:1}}
  @keyframes barGrow{0%,100%{transform:scaleY(.5)}50%{transform:scaleY(1)}}
  @keyframes pingG{0%{box-shadow:0 0 0 0 rgba(52,211,153,.5)}70%{box-shadow:0 0 0 8px rgba(52,211,153,0)}100%{box-shadow:0 0 0 0 rgba(52,211,153,0)}}
  @keyframes pingO{0%{box-shadow:0 0 0 0 rgba(47,107,255,.55)}70%{box-shadow:0 0 0 8px rgba(47,107,255,0)}100%{box-shadow:0 0 0 0 rgba(47,107,255,0)}}
  @media(prefers-reduced-motion:reduce){*{animation:none!important}.js .reveal{opacity:1!important;transform:none!important;transition:none!important}}

  .promo{text-align:center;font-family:"Space Grotesk",Inter,sans-serif;font-size:13.5px;font-weight:600;padding:10px 18px;color:#f0e7d2;background:linear-gradient(180deg,#151107,#100d08);box-shadow:inset 0 -1px 0 rgba(227,192,90,.4),0 8px 30px -5px rgba(227,192,90,.5)}.promo b{color:#f0d68a}
  .promo a{text-decoration:none;color:#241c05;background:linear-gradient(100deg,#f4e2a8,#d8b25a);font-weight:700;border-radius:99px;padding:5px 14px;margin-right:10px;white-space:nowrap;display:inline-block}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 26px;position:relative;z-index:2}
  nav{display:flex;align-items:center;justify-content:space-between;gap:28px;height:74px}
  .brand{display:flex;align-items:center;gap:11px;font-family:"Space Grotesk";font-weight:700;letter-spacing:.02em}
  .navlogo{width:26px;height:auto}.brand span{color:var(--accent)}
  .navlinks{display:flex;gap:26px;align-items:center;font-size:14.5px;color:var(--muted)}
  .navlinks a:hover{color:var(--text)}.navlinks .fdl{color:var(--text)}
  .navlinks .fdl::after{content:"NEW";font-size:9px;font-weight:700;letter-spacing:.08em;color:#04121b;background:var(--accent-3);border-radius:20px;padding:2px 6px;margin-left:7px;vertical-align:middle}
  .phone{color:var(--accent);font-weight:600;font-size:14.5px;margin-left:auto;white-space:nowrap}
  @media(max-width:1160px){.navlinks{display:none}}

  .eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);border:1px solid var(--border-2);background:rgba(28,28,34,.58);padding:7px 13px;border-radius:100px}
  .eyebrow b{color:var(--accent-3)}
  .seyebrow{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-3);font-weight:600}
  h1{font-family:"Space Grotesk";font-weight:700;line-height:.98;letter-spacing:-.02em;margin:0}
  h2{font-family:"Space Grotesk";font-weight:700;letter-spacing:-.02em;line-height:1.04;margin:12px 0 0;font-size:clamp(30px,3.8vw,46px)}
  .grad{background:linear-gradient(135deg,#f4e2a8,#e0bf6b 45%,#a9781f);-webkit-background-clip:text;background-clip:text;color:transparent}
  .lead{color:var(--muted);font-size:17px;line-height:1.6}.lead b{color:var(--text);font-weight:600}
  .btn{display:inline-flex;align-items:center;gap:8px;padding:14px 22px;border-radius:12px;font-weight:600;font-size:15px;cursor:pointer;border:1px solid transparent;transition:transform .15s;white-space:nowrap}
  .btn:hover{transform:translateY(-2px)}
  .btn-primary{color:#fff;background:linear-gradient(100deg,#2f6bff,#4c8bff);box-shadow:0 2px 10px rgba(47,107,255,.4),0 0 24px -1px rgba(47,107,255,.6)}
  .btn-ghost{color:var(--text);border-color:var(--border-2);background:rgba(28,28,34,.58)}
  .arrow{color:var(--accent-3);font-weight:600}
  section{position:relative;z-index:2}
  .sec{padding:78px 0}
  .biglogo{overflow:visible}.biglogo .lb{transform-box:fill-box;transform-origin:left center}
  .biglogo .lb1{fill:#5a5650;animation:barPulse 7s ease-in-out infinite}
  .biglogo .lb2{animation:barPulse 7s ease-in-out 1.2s infinite}
  .biglogo .lb3{fill:#5a5650;animation:barPulse 7s ease-in-out 2.4s infinite}
  .bi{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(140deg,rgba(227,192,90,.26),rgba(227,192,90,.26));color:var(--accent-3);font-size:19px;flex:none}

  /* ===== HERO (bento) ===== */
  .bt{border:1px solid var(--border-2);background:radial-gradient(280px 200px at 100% 0%,rgba(196,198,220,.17),transparent 66%),linear-gradient(180deg,#141418,#0f0f13);border-radius:18px;padding:20px;box-shadow:0 24px 60px -34px rgba(0,0,0,.8);position:relative;overflow:hidden;display:flex;flex-direction:column;transition:transform .16s,border-color .16s}
  a.bt:hover{transform:translateY(-3px);border-color:#5f6069}
  .thead{display:flex;align-items:center;gap:11px}.thead .bi{width:34px;height:34px;font-size:16px}
  .bt h3{font-family:"Space Grotesk";font-weight:600;font-size:16px;margin:0}
  .bt p{color:var(--muted);font-size:12.5px;margin:6px 0 0;line-height:1.4}
  .grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:176px;gap:16px;grid-template-areas:"head head fd fd" "head head stat social" "cta it web web"}
  .t-head{grid-area:head;justify-content:space-between;padding:30px}
  .t-head .hb{display:flex;flex-direction:column;gap:22px}.t-head .biglogo{width:132px;height:auto}
  .t-head h1{font-size:clamp(34px,3.7vw,54px)}
  .t-fd{grid-area:fd;background:linear-gradient(140deg,#f7e6a6 0%,#eaca6c 42%,#d0a746 76%,#b8892f 100%);color:#241c05;flex-direction:row;gap:16px;align-items:stretch;padding:18px}
  .t-fd .fl{flex:.82;display:flex;flex-direction:column;justify-content:flex-start;gap:10px}
  .t-fd .fl .bi{background:rgba(4,18,27,.14);color:#04121b}
  .t-fd .fl h3{color:#04121b;display:flex;align-items:center}.t-fd .np{font-size:10px;font-weight:700;letter-spacing:.06em;background:#12121a;color:#e6cf86;border-radius:20px;padding:2px 8px;margin-left:9px}
  .t-fd .fl p{color:rgba(4,18,27,.72);font-weight:500}
  .t-fd .chat{flex:1.1;background:rgba(12,12,16,.62);border:1px solid rgba(4,18,27,.18);border-radius:13px;padding:12px;display:flex;flex-direction:column;gap:7px;justify-content:center}
  .bub{max-width:88%;padding:8px 11px;border-radius:12px;font-size:12px;line-height:1.3}
  .bub.them{align-self:flex-start;background:rgba(255,255,255,.16);color:#f4f1ea;border-bottom-left-radius:4px}
  .bub.us{align-self:flex-end;background:linear-gradient(100deg,#2f6bff,#4c8bff);color:#04121b;border-bottom-right-radius:4px}
  .typing{align-self:flex-end;display:flex;gap:4px;padding:9px 12px;border-radius:12px;background:rgba(255,255,255,.14)}
  .typing i{width:6px;height:6px;border-radius:50%;background:#c4c8d0;animation:typing 1.3s infinite}.typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}
  .t-web{grid-area:web;flex-direction:row;gap:18px;align-items:stretch}
  .t-web .wl{flex:.62;display:flex;flex-direction:column}
  .t-web .wpill{align-self:flex-start;margin-top:12px;font-size:11px;font-weight:600;color:var(--accent-3);border:1px solid rgba(227,192,90,.4);background:rgba(227,192,90,.1);border-radius:100px;padding:5px 11px}
  .site{flex:1;border:1px solid var(--border);border-radius:11px;overflow:hidden;background:#101014;display:flex;flex-direction:column}
  .site .mbar{height:18px;background:#141418;display:flex;align-items:center;gap:5px;padding:0 9px}
  .site .mbar i{width:6px;height:6px;border-radius:50%;background:#3a3a42}.site .mbar .url{margin-left:8px;font-size:9px;color:#6f7079;font-family:"Space Grotesk"}
  .site .spage{flex:1;padding:10px;display:flex;flex-direction:column;gap:8px}
  .site .shero{flex:1.3;border-radius:8px;background:linear-gradient(130deg,rgba(227,192,90,.4),rgba(76,139,255,.25)),#151519;display:flex;align-items:center;padding:0 12px}
  .site .shero .sl{display:flex;flex-direction:column;gap:5px}
  .site .shero .sl b{width:78px;height:8px;border-radius:3px;background:#f4f1ea}.site .shero .sl s{width:52px;height:5px;border-radius:3px;background:rgba(244,241,234,.55)}.site .shero .sl em{width:44px;height:12px;border-radius:4px;background:linear-gradient(100deg,#2f6bff,#4c8bff);margin-top:3px}
  .site .scards{flex:.7;display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.site .scards span{border-radius:6px;background:#1c1c22;border:1px solid #2a2a31}
  .t-stat{grid-area:stat}
.t-case{grid-area:stat}.t-stat .stag{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-2)}.t-stat .stag b{color:var(--accent-3)}
  .t-stat .slabel{color:var(--muted-2);font-size:12px;margin-top:12px}.t-stat .snum{font-family:"Space Grotesk";font-weight:700;font-size:30px;line-height:1;margin-top:2px}.t-stat .strend{color:var(--accent-3);font-size:11.5px;margin-top:3px}
  .statbars{display:flex;align-items:flex-end;gap:6px;height:34px;margin-top:auto}
  .statbars i{flex:1;border-radius:5px 5px 2px 2px;background:linear-gradient(180deg,rgba(47,107,255,.9),rgba(76,139,255,.25));transform-origin:bottom;animation:barGrow 3.2s ease-in-out infinite}
  .statbars i:nth-child(2){animation-delay:.3s}.statbars i:nth-child(3){animation-delay:.6s}.statbars i:nth-child(4){animation-delay:.9s}.statbars i:nth-child(5){animation-delay:1.2s}
  .statset{display:none}.statset.on{display:block}
  .stog{position:absolute;top:15px;right:15px;display:flex;gap:5px}.stog b{width:7px;height:7px;border-radius:50%;background:var(--border-2);cursor:pointer}.stog b.on{background:var(--accent)}
  .t-cta{grid-area:cta;justify-content:center;gap:14px;background:linear-gradient(150deg,rgba(227,192,90,.1),rgba(90,86,80,.05)),#141418}.t-cta h3{font-size:18px}.t-cta .btn{align-self:flex-start;padding:12px 18px}
  .t-social{grid-area:social}.posts4{margin-top:auto;display:grid;grid-template-columns:1fr 1fr;gap:6px}.posts4 span{height:30px;border-radius:7px}
  .posts4 span:nth-child(1){background:linear-gradient(140deg,#2f6bff,#4c8bff)}.posts4 span:nth-child(2){background:linear-gradient(140deg,#e3c05a,#a9781f)}.posts4 span:nth-child(3){background:linear-gradient(140deg,#2f6bff,#4c8bff)}.posts4 span:nth-child(4){background:linear-gradient(140deg,#e3c05a,#a9781f)}
  .t-it{grid-area:it}.t-it .statuses{margin-top:auto;display:flex;flex-direction:column;gap:8px;align-items:flex-start}
  .status{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);border:1px solid var(--border-2);background:rgba(15,15,19,.55);padding:7px 12px;border-radius:100px}
  .status .pulse{width:9px;height:9px;border-radius:50%}.status.ok .pulse{background:#34d399;animation:pingG 2s infinite}
  .status.warn{color:#8fb0ff;border-color:rgba(47,107,255,.4)}.status.warn .pulse{background:#2f6bff;animation:pingO 2s infinite}
  @media(max-width:940px){.grid{grid-template-columns:1fr 1fr;grid-template-areas:"head head" "fd fd" "stat social" "web web" "cta it";grid-auto-rows:auto}.grid .bt{min-height:158px}.t-head{min-height:auto}.t-fd,.t-web{min-height:180px}}
  @media(max-width:560px){.grid{grid-template-columns:1fr;grid-template-areas:"head" "fd" "stat" "social" "web" "cta" "it"}.t-fd,.t-web{flex-direction:column}}

  /* ===== STATEMENT band ===== */
  .statement{text-align:center;padding:96px 0}
  .statement h2{font-size:clamp(30px,4vw,48px);max-width:1000px;margin:14px auto 0}
  .statement h2 .l2{white-space:nowrap}
  @media(max-width:680px){.statement h2 .l2{white-space:normal}}
  .statement p{max-width:560px;margin:18px auto 0}

  /* ===== alternating service rows ===== */
  .frow{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center;padding:44px 0}
  .frow+.frow{border-top:1px solid var(--border)}
  .frow .fvis{order:2}.frow.rev .ftext{order:2}.frow.rev .fvis{order:1}
  .ftext h2{font-size:clamp(26px,3vw,38px)}.ftext .lead{margin-top:14px;max-width:440px}
  .ftext .thead{margin-bottom:6px}
  .ftext a.more{display:inline-block;margin-top:20px}
  .fvis .panel{border:1px solid var(--border-2);background:#141418;backdrop-filter:blur(10px);border-radius:20px;padding:22px;box-shadow:0 30px 70px -40px rgba(0,0,0,.85);min-height:250px;display:flex;flex-direction:column;justify-content:center}
  .fvis .site{min-height:200px}
  .postsbig{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.postsbig span{height:74px;border-radius:12px}
  .postsbig span:nth-child(1){background:linear-gradient(140deg,#2f6bff,#4c8bff)}.postsbig span:nth-child(2){background:linear-gradient(140deg,#4c8bff,#4c8bff)}.postsbig span:nth-child(3){background:linear-gradient(140deg,#e3c05a,#c9a24e)}.postsbig span:nth-child(4){background:linear-gradient(140deg,#4c8bff,#2f6bff)}.postsbig span:nth-child(5){background:linear-gradient(140deg,#2f6bff,#4c8bff)}.postsbig span:nth-child(6){background:linear-gradient(140deg,#3b7bff,#2f6bff)}
  .monitor{display:flex;flex-direction:column;gap:12px}
  .monitor .mrow{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border:1px solid var(--border-2);background:rgba(15,15,19,.55);border-radius:12px;font-size:14px}
  .monitor .mrow .pulse{width:9px;height:9px;border-radius:50%;margin-right:9px}
  .monitor .ok .pulse{background:#34d399;animation:pingG 2s infinite}.monitor .warn{color:#8fb0ff}.monitor .warn .pulse{background:#2f6bff;animation:pingO 2s infinite}
  @media(max-width:820px){.frow{grid-template-columns:1fr;gap:26px}.frow .fvis,.frow.rev .fvis,.frow.rev .ftext{order:0}}

  /* ===== Front Desk spotlight ===== */
  .fdspot{border-radius:26px;overflow:hidden;background:linear-gradient(140deg,#f7e6a6 0%,#eaca6c 42%,#d0a746 76%,#b8892f 100%);color:#241c05;display:grid;grid-template-columns:1fr 1fr;gap:0}
  .fdspot .fs-l{padding:44px}
  .fdspot .np{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.08em;background:#12121a;color:#e6cf86;border-radius:20px;padding:4px 11px;margin-bottom:16px}
  .fdspot h2{color:#04121b;font-size:clamp(28px,3.4vw,42px);margin:0}
  .fdspot .fs-p{color:rgba(4,18,27,.78);font-size:16px;margin:16px 0 0;max-width:420px;font-weight:500}
  .fdspot ul{list-style:none;padding:0;margin:22px 0 0;display:flex;flex-direction:column;gap:11px}
  .fdspot li{display:flex;align-items:center;gap:11px;color:#04121b;font-weight:500;font-size:14.5px}
  .fdspot li .ck{width:22px;height:22px;border-radius:50%;background:rgba(4,18,27,.16);display:grid;place-items:center;font-size:12px;flex:none}
  .fdspot .fs-btn{display:inline-block;margin-top:26px;background:#12121a;color:#f4f1ea;padding:14px 22px;border-radius:12px;font-weight:600;font-size:15px}
  .fdspot .fs-r{padding:44px;display:flex;flex-direction:column;justify-content:center;gap:9px;background:rgba(12,12,16,.5)}
  .fdspot .fs-r .bub{max-width:82%;font-size:13.5px;padding:11px 14px}
  @media(max-width:820px){.fdspot{grid-template-columns:1fr}.fdspot .fs-l,.fdspot .fs-r{padding:30px}}

  /* ===== proof ===== */
  .proof{display:grid;grid-template-columns:1fr 1fr;gap:20px}
  .pcard{border:1px solid var(--border-2);background:#141418;backdrop-filter:blur(10px);border-radius:20px;padding:28px;box-shadow:0 30px 70px -40px rgba(0,0,0,.85);transition:transform .16s,border-color .16s;display:flex;flex-direction:column}
  .pcard:hover{transform:translateY(-3px);border-color:#5f6069}
  .pcard h3{font-family:"Space Grotesk";font-weight:600;font-size:22px;margin:14px 0 0}
  .pcard p{color:var(--muted);margin:8px 0 0;font-size:14.5px;flex:1}
  .pcard .thumb{height:auto;border-radius:12px;overflow:hidden;border:1px solid var(--border);margin-top:18px;display:flex}
  .pcard .thumb .b4{flex:1;background:linear-gradient(160deg,#2e4a3a,#20372c)}
  .pcard .thumb .a4{flex:1;background:linear-gradient(160deg,#5a3a2a,#7a4a35)}
  .pcard .thumb.demo .b4{background:linear-gradient(160deg,rgba(227,192,90,.28),#151519)}.pcard .thumb.demo .a4{background:linear-gradient(160deg,rgba(76,139,255,.28),#151519)}
  @media(max-width:720px){.proof{grid-template-columns:1fr}}

  /* ===== pricing teaser ===== */
  .pricing{border:1px solid rgba(227,192,90,.45);border-radius:24px;padding:44px;text-align:center;background:linear-gradient(180deg,#161309,#0f0d08);box-shadow:0 0 110px -14px rgba(227,192,90,.5),0 0 0 1px rgba(227,192,90,.14);backdrop-filter:blur(10px)}
  .pricing .price{font-family:"Space Grotesk";font-weight:700;font-size:clamp(38px,5vw,58px);margin:16px 0 0}
  .pricing .sub{color:var(--muted);margin-top:10px}
  .pricing .btn{margin-top:26px}

  /* ===== contact (Front Desk form) ===== */
  .cwrap{display:grid;grid-template-columns:.92fr 1.08fr;gap:44px;align-items:stretch}
  @media(max-width:880px){.cwrap{grid-template-columns:1fr;gap:30px}}
  .cleft h2{margin-bottom:14px}.cleft>.lead{margin-bottom:24px;max-width:420px}
  .cflow{list-style:none;display:flex;flex-direction:column;gap:15px;margin:0;padding:0}
  .cflow li{display:flex;gap:13px;align-items:flex-start}
  .cf-n{flex:none;width:30px;height:30px;border-radius:9px;display:grid;place-items:center;font-family:"Space Grotesk";font-weight:700;font-size:.9rem;color:var(--accent);background:linear-gradient(135deg,rgba(227,192,90,.14),rgba(227,192,90,.14));border:1px solid var(--border-2)}
  .cflow b{display:block;font-size:15px;margin-bottom:2px}.cflow p{color:var(--muted);font-size:13.5px;margin:0;line-height:1.45}
  .cright{position:relative;background:linear-gradient(180deg,var(--card),rgba(16,16,20,.92));border:1px solid var(--border-2);border-radius:22px;padding:30px;box-shadow:0 40px 80px -44px rgba(0,0,0,.85)}
  .cright h3{font-family:"Space Grotesk";font-size:19px;margin:0 0 4px}.cright .csub{color:var(--muted);font-size:14px;margin-bottom:20px}
  .frow2{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:480px){.frow2{grid-template-columns:1fr}}
  .ffield{margin-bottom:15px}.ffield label{display:block;font-size:.78rem;font-weight:600;margin-bottom:7px;color:var(--muted)}
  .ffield input,.ffield textarea{width:100%;padding:13px 14px;border-radius:11px;border:1px solid var(--border-2);background:rgba(12,12,15,.5);color:var(--text);font-family:inherit;font-size:15px}
  .ffield input:focus,.ffield textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px rgba(76,139,255,.28)}
  .ffield textarea{resize:vertical;min-height:96px}
  .btn-deal{width:100%;color:#fff;background:#2f6bff;border:0;padding:15px;border-radius:12px;font-weight:600;font-size:15px;cursor:pointer;box-shadow:0 2px 10px rgba(47,107,255,.4),0 0 24px -1px rgba(47,107,255,.6)}

  /* footer */
  footer{border-top:1px solid var(--border);margin-top:20px;padding:40px 0 30px;position:relative;z-index:2}
  .foot{display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center}
  .footlinks{display:flex;gap:22px;flex-wrap:wrap;justify-content:center;color:var(--muted);font-size:14px}
  .footlinks a:hover{color:var(--text)}
  .footmeta{color:var(--muted-2);font-size:13px}
  .tag{position:fixed;left:14px;bottom:16px;z-index:9;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-2);border:1px solid var(--border);background:rgba(14,14,18,.7);padding:6px 10px;border-radius:8px}
  @media(max-width:640px){.tag{display:none}}

  .fs-note{font-size:11.5px;color:rgba(244,241,234,.6);text-align:center;margin-top:6px}
  .gradred{background:linear-gradient(100deg,#f4e2a8,#d8b25a 50%,#b8872e);-webkit-background-clip:text;background-clip:text;color:transparent}
  .btn-red{color:#fff;background:#2f6bff;box-shadow:0 2px 10px rgba(47,107,255,.4),0 0 24px -1px rgba(47,107,255,.6)}
  .pricing .seyebrow{color:#e6cf86}
  .fdincl{display:inline-flex;align-items:center;gap:9px;margin-top:16px;font-size:13.5px;color:var(--text);border:1px solid rgba(227,192,90,.3);background:rgba(227,192,90,.08);border-radius:100px;padding:8px 15px}
  .fdincl b{color:#e6cf86;font-weight:600}

  /* scroll reveal */
  .js .reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}
  .js .reveal.in{opacity:1;transform:none}
  /* bars mark on section eyebrows (sitewide standard) */
  .seyebrow::before{content:'';display:inline-block;width:19px;height:14px;margin-right:9px;vertical-align:-2px;background:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2066%2047'%3E%3Cdefs%3E%3ClinearGradient%20id='g'%20x1='0'%20y1='0'%20x2='1'%20y2='0'%3E%3Cstop%20offset='0'%20stop-color='%23f4e2a8'/%3E%3Cstop%20offset='1'%20stop-color='%23a9781f'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect%20width='52'%20height='13'%20rx='6.5'%20fill='%235a5650'/%3E%3Crect%20x='14'%20y='17'%20width='52'%20height='13'%20rx='6.5'%20fill='url(%23g)'/%3E%3Crect%20y='34'%20width='52'%20height='13'%20rx='6.5'%20fill='%235a5650'/%3E%3C/svg%3E") no-repeat center/contain}
  /* center row headers with their icon */
  .thead h2{margin:0}
  /* explore buttons spacing */
  .ftext .btn{margin-top:22px}
  /* front desk "what happens next" */
  .fs-next{margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.12)}
  .fs-next .fnh{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:rgba(230,207,134,.7);margin-bottom:10px}
  .fs-next .fnrow{display:flex;gap:9px;align-items:flex-start;color:#c4c8d0;font-size:12.5px;line-height:1.4;margin-bottom:7px}
  .fs-next .fnd{width:6px;height:6px;border-radius:50%;background:#8fb0ff;margin-top:5px;flex:none}

  .cf-consent{display:flex;gap:10px;align-items:flex-start;margin:2px 0 16px;font-size:12px;line-height:1.5;color:var(--muted-2);text-align:left}
  .cf-consent input{margin-top:3px;flex:none;width:16px;height:16px;accent-color:var(--accent)}
  .cf-consent a{color:var(--accent)}

  .fdline{display:flex;align-items:center;gap:8px;margin-top:16px;font-size:13.5px;color:var(--muted)}
  .fdline .fdi{color:var(--accent-3)}
  .btnrow{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}
  .btnrow .btn{margin-top:0}
  .btn-fd{color:#fff;background:linear-gradient(100deg,#2f6bff,#4c8bff);box-shadow:0 12px 34px -8px rgba(47,107,255,.4),0 0 24px -1px rgba(47,107,255,.5)}

  .hp{position:absolute;left:-9999px;width:0;height:0;opacity:0}
  .cf-status{margin-top:12px;font-size:13px;min-height:1em;text-align:center;color:var(--muted)}
  .cf-status.err{color:#fb7185}
  .cthanks{text-align:center;padding:18px 6px}
  .cthanks .chk{width:58px;height:58px;border-radius:50%;margin:0 auto 16px;display:grid;place-items:center;font-size:1.6rem;color:#04121b;background:linear-gradient(135deg,#34d399,#10b981)}
  .cthanks h3{background:linear-gradient(135deg,#f4e2a8,#e0bf6b 45%,#a9781f);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:1.25rem;margin:0 0 8px}
  .cthanks p{color:var(--muted);font-size:.95rem;max-width:340px;margin:0 auto}

  /* --- web-design page components (chips sidenote + front desk band) --- */
  .chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;max-width:780px;margin:0 auto}
  .chip{font-size:.86rem;color:var(--muted);background:var(--card);border:1px solid var(--border);border-radius:999px;padding:9px 16px}
  .fdband{display:flex;align-items:center;justify-content:space-between;gap:26px;flex-wrap:wrap;background:linear-gradient(120deg,rgba(227,192,90,.07),rgba(227,192,90,.06));border:1px solid var(--border-2);border-radius:20px;padding:28px 32px}
  .fdband-txt{display:flex;align-items:flex-start;gap:14px;max-width:660px}
  .fdband-txt .fdi{color:var(--accent-3);font-size:1.35rem;line-height:1.35}
  .fdband-txt b{color:var(--text);font-size:1.14rem;display:block;margin-bottom:5px}
  .fdband-txt p{color:var(--muted);font-size:.97rem;margin:0;line-height:1.55}
  .btn-fd{background:linear-gradient(120deg,var(--accent-3),var(--accent));color:#04121a;font-weight:700;white-space:nowrap}
  .chatmock{background:rgba(15,15,19,.55);border:1px solid var(--border);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:9px}
  @media(max-width:640px){.fdband{flex-direction:column;align-items:flex-start}}

  /* --- compact Front Desk feature card (distinct from homepage spotlight) --- */
  .fdmini{border-radius:22px;overflow:hidden;background:linear-gradient(140deg,#f7e6a6 0%,#eaca6c 42%,#d0a746 76%,#b8892f 100%);color:#241c05;display:grid;grid-template-columns:1.05fr .95fr;gap:0}
  .fdmini .fm-l{padding:36px 38px;display:flex;flex-direction:column;justify-content:center}
  .fdmini .np{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.08em;background:#12121a;color:#e6cf86;border-radius:20px;padding:4px 11px;margin-bottom:15px;align-self:flex-start}
  .fdmini h3{color:#04121b;font-size:clamp(21px,2.4vw,28px);margin:0;line-height:1.15;font-family:'Space Grotesk',system-ui,sans-serif;font-weight:600}
  .fdmini p{color:rgba(4,18,27,.78);font-size:15px;margin:13px 0 0;font-weight:500;max-width:400px;line-height:1.5}
  .fdmini .fm-btn{display:inline-block;margin-top:23px;background:#12121a;color:#f4f1ea;padding:12px 21px;border-radius:11px;font-weight:600;font-size:14.5px;align-self:flex-start}
  .fdmini .fm-r{background:rgba(12,12,16,.55);padding:34px;display:flex;flex-direction:column;justify-content:center;gap:8px}
  @media(max-width:820px){.fdmini{grid-template-columns:1fr}.fdmini .fm-r{padding:28px}}
  /* --- even essentials grid (3x2) --- */
  .essgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:860px;margin:24px auto 0}
  .ess{display:flex;align-items:center;gap:11px;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:15px 17px;color:var(--muted);font-size:.93rem}
  .ess .ck2{width:20px;height:20px;border-radius:50%;background:rgba(227,192,90,.14);color:var(--accent-3);display:grid;place-items:center;font-size:11px;flex:none}
  @media(max-width:720px){.essgrid{grid-template-columns:1fr 1fr}}
  @media(max-width:440px){.essgrid{grid-template-columns:1fr}}

  /* --- rotating showcase inside hero cell --- */
  .b-shot .rotstack{position:relative;flex:1;min-height:0;overflow:hidden;background:#101014}
  .b-shot .rimg{position:absolute;top:0;left:0;width:100%;height:auto;opacity:0;transition:opacity .9s ease}
  .b-shot .rimg.on{opacity:1}
  .b-shot .shotlab{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#04121b;border:none}
  /* --- compact before/after slider (mini 412toring) --- */
  .mba{position:relative;aspect-ratio:1280/960;border:1px solid var(--border-2);border-radius:16px;overflow:hidden;cursor:ew-resize;touch-action:none;--mbaw:100%;background:#101014}
  .mba img{position:absolute;top:0;left:0;height:100%;object-fit:cover;object-position:top;display:block}
  .mba .mba-after{width:100%}
  .mba-before{position:absolute;top:0;left:0;height:100%;width:73.4%;overflow:hidden}
  .mba-before img{width:var(--mbaw);max-width:none}
  .mba-handle{position:absolute;top:0;bottom:0;left:73.4%;width:2px;margin-left:-1px;background:rgba(255,255,255,.9);z-index:4;pointer-events:none}
  .mba-handle span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:34px;height:34px;border-radius:50%;background:#fff;box-shadow:0 2px 12px rgba(0,0,0,.45);display:grid;place-items:center}
  .mba-handle span::before{content:"";width:16px;height:16px;background:#101014;-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m9%207-5%205%205%205%22%2F%3E%20%3Cpath%20d%3D%22m15%207%205%205-5%205%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m9%207-5%205%205%205%22%2F%3E%20%3Cpath%20d%3D%22m15%207%205%205-5%205%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat}
  .mba-tag{position:absolute;bottom:10px;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:4px 10px;border-radius:100px;z-index:3}
  .mba-tag.before{left:10px;background:rgba(148,163,184,.28);color:#f4f1ea}
  .mba-tag.after{right:10px;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#04121b}

  /* --- lively hero mini-tiles (web-design) --- */
  .livesteps{margin-top:auto;display:flex;flex-direction:column;gap:9px}
  .livesteps .lstep{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--muted)}
  .livesteps .lstep .ld{width:9px;height:9px;border-radius:50%;background:var(--border-2);flex:none}
  .livesteps .lstep.done{color:var(--text)}.livesteps .lstep.done .ld{background:var(--accent-3)}
  .livesteps .lstep.live{color:#7ef0c4;font-weight:600}.livesteps .lstep.live .ld{background:#34d399;animation:pingG 2s infinite}
  .statuses{margin-top:auto;display:flex;flex-direction:column;gap:8px;align-items:flex-start}

  /* --- Live-in-2-weeks progress graphic (distinct from pulse) --- */
  .prog{height:9px;border-radius:6px;background:rgba(19,19,24,.6);border:1px solid var(--border-2);overflow:hidden}
  .prog-fill{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,var(--accent-3),var(--accent),var(--accent-2));width:8%;animation:progfill 3.8s ease-in-out infinite}
  @keyframes progfill{0%{width:8%;opacity:1}50%{width:100%;opacity:1}72%{width:100%;opacity:1}84%{opacity:0}85%{width:8%;opacity:0}100%{width:8%;opacity:1}}
  .proglab{display:flex;justify-content:space-between;margin-top:9px;font-size:10.5px;color:var(--muted-2);text-transform:uppercase;letter-spacing:.08em}
  .proglab .pl-live{color:#7ef0c4;font-weight:700}
  /* compact managed pills so they fit */
  .wbento .statuses{gap:7px}
  .wbento .status{padding:6px 11px;font-size:11.5px}

  .wbento .statuses{margin-top:0}

  /* red founding-offer box: bars-mark matches the red gradient, not blue */
  .pricing .seyebrow::before{background:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2066%2047'%3E%3Cdefs%3E%3ClinearGradient%20id='gr'%20x1='0'%20y1='0'%20x2='1'%20y2='0'%3E%3Cstop%20offset='0'%20stop-color='%23f4e2a8'/%3E%3Cstop%20offset='1'%20stop-color='%23a9781f'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect%20width='52'%20height='13'%20rx='6.5'%20fill='%235a5650'/%3E%3Crect%20x='14'%20y='17'%20width='52'%20height='13'%20rx='6.5'%20fill='url(%23gr)'/%3E%3Crect%20y='34'%20width='52'%20height='13'%20rx='6.5'%20fill='%235a5650'/%3E%3C/svg%3E") no-repeat center/contain}

  .panel.p-mint{background:radial-gradient(130% 130% at 0% 100%,rgba(52,211,153,.16),transparent 55%),#141418!important}

  .panel.p-violet{background:radial-gradient(130% 130% at 100% 0%,rgba(76,139,255,.16),transparent 55%),#141418!important}

  /* no orphan words anywhere: balance headings, prevent single-word last lines in body copy */
  h1,h2,h3,h4{text-wrap:balance}
  p,li,.lead,.sub,.price,.snum,.rev-txt,.notif-body,.fdc-msg,.pc-body p{text-wrap:pretty}

  /* hero perks row (emblem perks under the CTA) — Front Desk formula, sitewide */
  .hero-meta{display:flex;flex-wrap:wrap;gap:18px;margin-top:22px}
  .hero-meta span{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);font-weight:500}
  .hero-meta .hm-ic{color:var(--accent-3);font-size:14px}

  /* ===================== MOBILE POLISH — pass 2 (2026-07-18) ===================== */
  /* --- mobile hamburger nav (replaces phone in the top bar on small screens) --- */
  nav{position:relative}
  .navtoggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:0;border:1px solid var(--border-2);background:rgba(28,28,34,.62);border-radius:12px;cursor:pointer}
  .navtoggle span{display:block;width:20px;height:2px;margin:0 auto;background:var(--text);border-radius:2px;transition:transform .22s ease,opacity .18s ease}
  .navtoggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .navtoggle.open span:nth-child(2){opacity:0}
  .navtoggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .mobmenu{display:none;position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:60;flex-direction:column;gap:2px;background:rgba(16,16,20,.98);backdrop-filter:blur(16px);border:1px solid var(--border-2);border-radius:16px;padding:12px;box-shadow:0 36px 74px -30px rgba(0,0,0,.92)}
  .mobmenu.open{display:flex}
  .mobmenu a{padding:14px 14px;border-radius:11px;font-size:16px;color:var(--text);font-weight:500}
  .mobmenu a:hover,.mobmenu a:active{background:rgba(47,107,255,.14)}
  .mobmenu .mm-phone{margin-top:8px;border-top:1px solid var(--border);border-radius:0;padding-top:16px;color:var(--accent);font-weight:600}
  @media(max-width:1160px){.navtoggle{display:flex}.phone{display:none}}

  /* --- eyebrow pill fits cleanly on phones (no letter-stacking) --- */
  @media(max-width:640px){
    .eyebrow{font-size:10px;letter-spacing:.05em;gap:6px;padding:6px 11px;flex-wrap:wrap;row-gap:3px;line-height:1.35}
    .eyebrow>b,.eyebrow>.grad{white-space:nowrap}
  }

  /* --- tighten vertical rhythm on phones (kills the big empty gaps) --- */
  @media(max-width:640px){
    .sec{padding:46px 0}
    .statement{padding:50px 0}
    .statement p{margin-top:14px}
    .frow{padding:24px 0;gap:22px}
    .btnrow{flex-wrap:nowrap;gap:10px}
    .btnrow .btn{flex:1;min-width:0;padding:12px 8px;font-size:12.5px;justify-content:center;white-space:nowrap}
    .fdspot .fs-l,.fdspot .fs-r,.fdmini .fm-l,.fdmini .fm-r{padding:26px}
    .pricing{padding:32px 22px}
    .cright{padding:22px}
  }

  /* --- hero bento: real 2-column mobile-first layout (not a stacked wall) --- */
  @media(max-width:560px){
    .grid{grid-template-columns:1fr 1fr;grid-template-areas:"head head" "fd fd" "stat stat" "web social" "cta it"!important;gap:12px}
    .grid .bt{min-height:auto;padding:20px}
    .grid .t-head{padding:26px;justify-content:flex-start;gap:16px}
    .grid .t-head .biglogo{width:100px;margin:4px 0 10px}
    .t-web .site{display:none}          /* skeleton browser mock = noise; keep label + pill */
    .t-fd{flex-direction:column;gap:12px}
    .t-fd .chat{flex:none}
    .t-stat .stog{display:none}
    .t-stat .statbars{height:24px}
    .t-social .posts4{margin-top:12px}
    .t-social .posts4 span{height:26px}
    .t-it .statuses{gap:6px}
    .t-it .status{font-size:10px;padding:5px 9px;line-height:1.3;align-items:flex-start}
    .t-it .status .pulse{margin-top:3px;flex:none}
    .grid .thead{gap:7px}
    .grid .thead .bi{width:24px;height:24px;font-size:13px}
    .grid .bt h3{font-size:13.5px;line-height:1.15}
    .grid .bt p{font-size:12px}
    .t-cta{gap:10px}
  }
  /* --- hero feature visuals: fit mobile, kill the forced-420px void/stretch --- */
  @media(max-width:640px){
    .b-shot{min-height:0!important}
    .b-shot .shotframe{height:auto!important}
    .b-shot .rotstack{flex:none!important;aspect-ratio:1200/712;min-height:0}
    .b-shot .rimg{height:100%!important;object-fit:cover;object-position:top}
    .swbento>.bt:last-child{min-height:0!important}
    .hmos{grid-template-rows:auto!important;height:auto!important}
    .hmos a{aspect-ratio:1200/712}
    .sobento>.bt:last-child{min-height:0!important;padding:14px!important}
  }
  .frow>.ftext,.frow>.fvis{min-width:0}
  .feedtile{min-width:0}
  /* --- feed grid promoted to shared (homepage social row uses it too) --- */
  .feedgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;grid-auto-rows:auto;height:100%;align-content:center;min-height:0}
  .feedtile{position:relative;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:10px;min-width:0;aspect-ratio:1;min-height:0;box-shadow:0 10px 24px -14px rgba(0,0,0,.6)}
  .fe-lb{position:static;align-self:flex-start;line-height:1.25;font-weight:700;font-size:11px;color:rgba(255,255,255,.98);text-shadow:0 1px 4px rgba(0,0,0,.45)}
  .fe-em{font-size:42px;line-height:1;filter:drop-shadow(0 3px 9px rgba(0,0,0,.32))}@media(min-width:641px){.fe-em{font-size:72px}.fe-lb{font-size:13px}}
  .ft1{background:linear-gradient(140deg,#3b7bff,#2f6bff)}.ft2{background:linear-gradient(140deg,#ecca5f,#d4a032)}.ft3{background:linear-gradient(140deg,#ecca5f,#d4a032)}.ft4{background:linear-gradient(140deg,#ecca5f,#d4a032)}.ft5{background:linear-gradient(140deg,#ecca5f,#d4a032)}.ft6{background:linear-gradient(140deg,#3b7bff,#2f6bff)}
  .pcard .thumb img{object-position:top left!important}
  .ebsep{font-style:normal;margin:0 2px;opacity:.5}
  /* eyebrow pill hugs its text inside column-flex hero cards (hero + social bento) */
  .b-head>.eyebrow,.t-head>.eyebrow{align-self:flex-start;width:max-content;max-width:100%;flex-wrap:nowrap}
  .b-head>.eyebrow>b,.b-head>.eyebrow>.grad,.t-head>.eyebrow>b,.t-head>.eyebrow>.grad{white-space:nowrap}
  @media(max-width:640px){.ebsep{display:none}}

  /* mid-section rows: headline -> copy -> visual -> CTA (button is the terminal action).
     Desktop keeps two columns: text+cta stacked left, visual right. */
  .frow:has(.fcta){grid-template-areas:"ftext fvis" "fcta fvis";grid-template-rows:auto auto;column-gap:52px;row-gap:20px;align-items:start}
  .frow:has(.fcta) .ftext{grid-area:ftext}
  .frow:has(.fcta) .fvis{grid-area:fvis;align-self:center;order:0}
  .frow:has(.fcta) .fcta{grid-area:fcta;align-self:start}
  .frow.rev:has(.fcta){grid-template-areas:"fvis ftext" "fvis fcta"}
  .fcta .btn{margin-top:0}.fcta .btnrow{margin-top:0}
  @media(max-width:820px){
    .frow:has(.fcta),.frow.rev:has(.fcta){grid-template-columns:1fr;grid-template-areas:"ftext" "fvis" "fcta";row-gap:20px}
  }
  /* real-client-work cards: CTA is a real button (site .btn styling), not a text link */
  .pcard .pcta{margin-top:18px;align-self:flex-start;min-height:44px}
  /* stat card: all three rotation states occupy ONE grid cell, so the card is always
     sized to the tallest state and cannot shift when it auto-rotates (copy-proof) */
  .t-stat .statwrap{display:grid}
  .t-stat .statwrap .statset{grid-area:1/1;display:block;visibility:hidden;opacity:0;transition:opacity .35s ease}
  .t-stat .statwrap .statset.on{visibility:visible;opacity:1}
  /* real client work card: copy -> visual -> CTA, matching the .frow rows */
  .rwcard:has(.rwcta){grid-template-areas:"rwtext rwvis" "rwcta rwvis";grid-template-rows:auto auto;align-items:start;row-gap:20px}
  .rwcard:has(.rwcta) .rwtext{grid-area:rwtext}
  .rwcard:has(.rwcta) .mba{grid-area:rwvis;align-self:center}
  .rwcard:has(.rwcta) .rwcta{grid-area:rwcta;align-self:start}
  .rwcta .btn{margin-top:0}
  @media(max-width:820px){.rwcard:has(.rwcta){grid-template-columns:1fr;grid-template-areas:"rwtext" "rwvis" "rwcta"}}
  /* SYSTEMIC RULE: frames showing full-page screenshots derive their aspect from the
     asset (thumb-*.jpg 1200x712, cs-*.webp 1280x960) so object-fit:cover discards nothing. */
  .pcard .thumb.single{display:block;height:auto}
  /* 412Toring pair: stacked on phones (big + legible), side-by-side on desktop so the
     2-up proof grid stays balanced. height:auto in BOTH => slot takes the asset aspect, 0% crop. */
  .pcard .thumb.stack{display:grid;grid-template-columns:1fr;gap:6px;height:auto}
  @media(min-width:721px){.pcard .thumb.stack{grid-template-columns:1fr 1fr}}
  .pcard .thumb.stack img,.pcard .thumb.single img{width:100%;height:auto;display:block}
  /* Footer contact: email + phone on their own line under the copyright.
     white-space:nowrap makes each an unbreakable unit, so a phone number can
     never split mid-digits at any viewport (hyphens are break opportunities). */
  .footcontact{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;color:var(--muted-2);font-size:13px}
  .footcontact a{color:var(--muted-2);white-space:nowrap}
  .footcontact a:hover{color:var(--text)}
  .fsep{opacity:.5}
  .phone,.mm-phone{white-space:nowrap}
/* footer contact — gradient emphasis (7/18) */
.footcontact{gap:10px;font-size:15px}
.footcontact a{background:linear-gradient(135deg,#f4e2a8,#e0bf6b 45%,#a9781f);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:700;white-space:nowrap;transition:filter .2s ease}
.footcontact a:hover{color:transparent;filter:brightness(1.3)}
.fsep{opacity:.3;color:var(--muted-2)}

/* homepage hero: colour tiers + real-client proof tile (7/18) */
.t-social{background:radial-gradient(240px 180px at 100% 0%,rgba(196,198,220,.19),transparent 64%),linear-gradient(180deg,#141418,#0f0f13)}
.t-web{background:radial-gradient(240px 180px at 100% 0%,rgba(196,198,220,.19),transparent 64%),linear-gradient(180deg,#141418,#0f0f13)}
.t-case{justify-content:center;gap:0;padding:10px;overflow:hidden}
.t-case .casefr{position:relative;aspect-ratio:1280/690;border-radius:10px;overflow:hidden;border:1px solid var(--border-2);flex:0 0 auto;width:100%}
.t-case .casefr img{width:100%;height:100%;object-fit:cover;object-position:top;display:block;}
.t-case:hover{border-color:rgba(227,192,90,.45)}

/* founding tile mirrors the /pricing card; case tile gets its own colour + glow */
:root{--case-a:rgba(227,192,90,.16);--case-b:rgba(90,86,80,.08);--case-glow:rgba(227,192,90,.28)}
.t-found2{overflow:hidden;background:radial-gradient(130% 140% at 100% 0%,rgba(233,199,98,.46),transparent 64%),linear-gradient(160deg,#241d0f,#110f09);border-color:rgba(233,199,98,.58);box-shadow:0 0 46px -20px rgba(227,192,90,.4);justify-content:center;gap:2px}
.t-found2 .fbadge{font-size:10px}
.t-found2 .btn{padding:9px 14px;font-size:13px}
.t-found2 .f2price{font-family:"Space Grotesk";font-weight:700;font-size:clamp(19px,1.55vw,24px);line-height:1.08;margin:6px 0 2px}
.t-found2 .f2sub{margin:0 0 10px;font-size:11.5px;line-height:1.3;color:var(--muted-2)}
.t-found2 .fdot{width:7px;height:7px;border-radius:50%;background:#e3c05a;display:inline-block}
.t-case{background:radial-gradient(120% 130% at 0% 0%,var(--case-a),transparent 58%),linear-gradient(160deg,var(--case-b),#141418);border-color:rgba(227,192,90,.28);box-shadow:0 0 0 1px rgba(227,192,90,.1),0 18px 46px -22px var(--case-glow)}
.t-case:hover{border-color:rgba(227,192,90,.5);box-shadow:0 0 0 1px rgba(227,192,90,.18),0 22px 56px -20px var(--case-glow)}
.t-case .casefr img{transition:transform .4s ease}
.t-case:hover .casefr img{transform:scale(1.03)}

.t-it{background:radial-gradient(240px 180px at 100% 0%,rgba(196,198,220,.17),transparent 64%),linear-gradient(180deg,#141418,#0f0f13);box-shadow:0 24px 60px -34px rgba(0,0,0,.8);border-color:#2a2a31}
.t-it:hover{border-color:rgba(47,107,255,.4)}
.t-case .casechip{position:absolute;right:8px;bottom:8px;z-index:2;font-size:10.5px;font-weight:700;color:#fff;letter-spacing:.02em;background:linear-gradient(120deg,#d8b25a,#a9781f);border:1px solid rgba(240,219,174,.45);box-shadow:0 6px 16px -8px rgba(217,83,42,.8);padding:5px 10px;border-radius:999px;white-space:nowrap}
.t-case .casechip b{font-weight:800}
.t-case .casechip{max-width:calc(100% - 16px);overflow:hidden;text-overflow:ellipsis}
@media(max-width:640px){.t-case .cc-pre{display:none}.t-case .casechip{font-size:10px;padding:4px 8px}}

/* ── Front Desk mark ──────────────────────────────────────────────
   The bell is the Front Desk logo. Reserved exclusively for Front Desk:
   never use it for any other feature, service, or decoration.
   Static inline = .fdb + <use href="#fdbell">. Animated hero = .fdbell.
   Only ONE animated bell per page, and never inline in body copy.      */
.fdb{width:1em;height:1em;fill:currentColor;vertical-align:-.14em;flex:none}
/* In a tile the mark should FILL the square, not float in it. !important because the
   inline width/height on each marker guards against the stale-CSS 300x150 fallback. */
.bi .fdb{width:76%!important;height:76%!important;vertical-align:0!important}
.fdbell{overflow:visible}
.fdbell .w1,.fdbell .w2{opacity:0}  /* base state: waves never show unless animating */
.fdbell .dome,.fdbell .knob,.fdbell .bar{transform-box:fill-box}
.fdbell .dome{transform-origin:50% 100%}
.fdbell .knob{transform-origin:50% 100%}
.fdbell .bar{transform-origin:50% 50%}
.fdbell .waves{transform-box:view-box;transform-origin:16px 17px}
/* Tap fires at the START of the cycle so it rings ~0.6s after load, then every 5s. */
@keyframes fdTap{0%,4%{transform:translateY(0)}9%{transform:translateY(1.7px)}18%,100%{transform:translateY(0)}}
@keyframes fdSquash{0%,4%{transform:scale(1,1)}10%{transform:scale(1.06,.94)}19%,100%{transform:scale(1,1)}}
@keyframes fdBarNudge{0%,4%{transform:scaleX(1)}11%{transform:scaleX(1.05)}20%,100%{transform:scaleX(1)}}
@keyframes fdWaveOut{0%,5%{transform:scale(.78)}36%,100%{transform:scale(1.22)}}
@keyframes fdWaveFade{0%,5%{opacity:0}12%{opacity:.85}32%,100%{opacity:0}}
.fdbell .knob{animation:fdTap 5s ease-in-out .35s infinite}
.fdbell .dome{animation:fdSquash 5s ease-in-out .35s infinite}
.fdbell .bar{animation:fdBarNudge 5s ease-in-out .35s infinite}
.fdbell .waves{animation:fdWaveOut 5s ease-out .35s infinite}
.fdbell .w1{animation:fdWaveFade 5s ease-out .35s infinite}
.fdbell .w2{animation:fdWaveFade 5s ease-out .47s infinite}
@media(max-width:640px){.fdbell{width:48px;height:48px}}

/* gold-reskin overrides */
.btn-fd{background:#2f6bff!important;color:#fff!important;box-shadow:0 2px 10px rgba(47!important,107!important,255!important,.4)!important,0 0 24px -1px rgba(47!important,107!important,255!important,.6)!important}
.brand span{color:#e3c05a!important}

.navlinks .fdl::before,.mobmenu .fdl::before{content:'';display:inline-block;width:14px;height:14px;margin-right:6px;vertical-align:-2px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='%23e3c05a'%3E%3Ccircle cx='16' cy='8.4' r='2.05'/%3E%3Cpath d='M7 21.2a9 9 0 0 1 18 0z'/%3E%3Crect x='4.6' y='21.2' width='22.8' height='3.6' rx='1.8'/%3E%3C/svg%3E") no-repeat center/contain}

.fs-btn,.fm-btn,.fds-live .fs-btn,.fdmini .fm-btn,.fdspot .fs-btn{background:#2f6bff!important;color:#fff!important;box-shadow:0 2px 10px rgba(47,107,255,.4),0 0 24px -1px rgba(47,107,255,.6)!important}

.shotlab{background:#2f6bff!important;color:#fff!important;box-shadow:0 2px 10px rgba(47,107,255,.4),0 0 24px -1px rgba(47,107,255,.6)!important;border:none!important}


.sotile,.feedtile{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start}
.sotile .fe-lb,.feedtile .fe-lb{position:relative;z-index:2;align-self:flex-start;font-weight:700;line-height:1;font-size:13px;background:rgba(10,14,23,.42);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(4px);padding:5px 9px;border-radius:999px;text-shadow:none;white-space:nowrap}
@media(max-width:980px){.sotile .fe-lb,.feedtile .fe-lb{font-size:10.5px;padding:4px 7px}}
.so-g-sm{position:absolute;top:12px;left:12px;width:22px;height:22px;z-index:2;opacity:.9}
.so-g-big{position:absolute;right:9px;top:50%;transform:translateY(-54%);width:47%;height:auto;z-index:1;opacity:.2;pointer-events:none}
.ft1,.ft6{color:#fff}
.ft2,.ft3,.ft4,.ft5{color:#20180a}
.ft1 .fe-lb,.ft6 .fe-lb{color:#fff}
.ft2 .fe-lb,.ft3 .fe-lb,.ft4 .fe-lb,.ft5 .fe-lb{color:#20180a;background:rgba(255,251,238,.66);border-color:rgba(36,28,5,.14)}
/* =========================================================================
   2026-08-09 pass: one icon family, AA text contrast, focus ring,
   reduced motion, wrapping hero pill, chat-launcher clearance.
   ========================================================================= */

/* --- one icon family: lucide, viewBox 0 0 24 24, stroke 1.7, currentColor --- */
.lu{width:1em;height:1em;flex:none;display:inline-block;vertical-align:-.15em;
    stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}
.lu-fill{fill:currentColor}
/* icon SLOTS centre their glyph, so kill the inline baseline shim there */
.bi>.lu,.ck>.lu,.ck2>.lu,.chk>.lu,.fdic>.lu,.plat-ic>.lu,.itbk-ic>.lu,
.rev-chk>.lu,.cf-n>.lu,.plan li b>.lu{vertical-align:0}
/* consistent icon size in the gold badge, at every breakpoint it already ships */
.bi>.lu{width:20px;height:20px}
.thead .bi>.lu{width:18px;height:18px}
@media(max-width:560px){.grid .thead .bi>.lu{width:15px;height:15px}}
.hero-meta .hm-ic{display:inline-flex;align-items:center}
.hero-meta .hm-ic .lu{width:15px;height:15px;vertical-align:0}
.plat-ic>.lu{width:18px;height:18px}
.plan li b{display:inline-flex;align-items:center;height:1.45em}

/* --- AA text contrast -------------------------------------------------
   #2f6bff on the page background is 3.80:1 and FAILS AA as text.
   #6a92ff is 5.84:1. --accent stays untouched for buttons and fills. */
.brand span,.phone,.cf-n,.cf-consent a,.mobmenu .mm-phone{color:var(--accent-text)}

/* --- visible keyboard focus, everywhere ------------------------------- */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,
select:focus-visible,details summary:focus-visible,[tabindex]:focus-visible{
  outline:2px solid #e3c05a;outline-offset:3px;border-radius:4px}
.ffield input:focus-visible,.ffield textarea:focus-visible{
  outline:2px solid #e3c05a;outline-offset:3px}

/* --- hero eyebrow pill: wrap on small phones instead of clipping itself.
   .b-head>.eyebrow / .t-head>.eyebrow set flex-wrap:nowrap at higher
   specificity than the 640px rule, which is why the text was cut off. */
@media(max-width:560px){
  .eyebrow,.b-head>.eyebrow,.t-head>.eyebrow{
    flex-wrap:wrap;white-space:normal;line-height:1.45;border-radius:14px;
    text-align:left;justify-content:flex-start;width:auto;max-width:100%}
  .eyebrow>b,.eyebrow>.grad,
  .b-head>.eyebrow>b,.b-head>.eyebrow>.grad,
  .t-head>.eyebrow>b,.t-head>.eyebrow>.grad{white-space:normal}
}

/* --- the fixed Front Desk chat launcher (58px + 20px offset) must never
   sit on top of footer content --- */
footer{padding-bottom:110px}
@media(min-width:641px){footer{padding-bottom:98px}}
