/*
	Theme Name: Hello Elementor
	Theme URI: https://elementor.com/hello-theme/?utm_source=wp-themes&utm_campaign=theme-uri&utm_medium=wp-dash
	Description: Hello Elementor is a lightweight and minimalist WordPress theme that was built specifically to work seamlessly with the Elementor site builder plugin. The theme is free, open-source, and designed for users who want a flexible, easy-to-use, and customizable website. The theme, which is optimized for performance, provides a solid foundation for users to build their own unique designs using the Elementor drag-and-drop site builder. Its simplicity and flexibility make it a great choice for both beginners and experienced Web Creators.
	Author: Elementor Team
	Author URI: https://elementor.com/?utm_source=wp-themes&utm_campaign=author-uri&utm_medium=wp-dash
	Version: 3.4.9
	Stable tag: 3.4.9
	Requires at least: 6.0
	Tested up to: 6.8
	Requires PHP: 7.4
	License: GNU General Public License v3 or later.
	License URI: https://www.gnu.org/licenses/gpl-3.0.html
	Text Domain: hello-elementor
	Tags: accessibility-ready, flexible-header, custom-colors, custom-menu, custom-logo, featured-images, rtl-language-support, threaded-comments, translation-ready,
*/
/* Rebel Stack, homepage stylesheet.
   Blocks 2 and 3 were homepage-only section styles; concatenated in original order.
   NOTE: block 1 overlaps heavily with rebel.css. See README-FOR-DEV.md. */

:root{
  /* Color */
  --orange:#F4511E;
  --orange-deep:#d83900;
  --orange-press:#b12d00;
  --orange-tint:rgba(244,81,30,.10);
  --ink:#16181c;            /* near-black warm charcoal */
  --ink-2:#1d2024;
  --ink-3:#26292e;
  --surface:#f7f9fb;
  --white:#ffffff;
  --slate-50:#f2f4f6;
  --slate-100:#eceef0;
  --line:#e3e7eb;
  --line-strong:#d2d8de;
  --text:#16181c;
  --text-2:#54616c;
  --text-3:#8a949d;
  --on-dark:#f4f6f8;
  --on-dark-2:#a7afb7;
  --green:#1f8a4c;
  /* Shape */
  --r-sm:4px;
  --r-md:6px;
  --r-lg:10px;
  --r-xl:16px;
  /* Layout */
  --max:1200px;
  --gutter:24px;
  --shadow-1:0 1px 2px rgba(16,18,22,.04);
  --shadow-2:0 14px 40px rgba(16,18,22,.10);
  --shadow-card:0 10px 30px rgba(16,18,22,.06);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
      font-family: Montserrat, sans-serif;
  color:var(--text);
  background:var(--white);
  -webkit-font-smoothing:antialiased;
  line-height:1.5;
}
h1,h2,h3,h4{font-family:'Montserrat',sans-serif;letter-spacing:-.02em;line-height:1.1}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}

/* ---------- Eyebrow ---------- */
.eyebrow{
  font-family:'Inter';font-weight:700;font-size:12px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--orange);display:inline-flex;align-items:center;gap:10px;
}
.eyebrow.center{justify-content:center}
.eyebrow .dot{width:4px;height:4px;border-radius:50%;background:var(--orange);opacity:.5}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:'Inter';font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase;
  padding:15px 26px;border-radius:var(--r-sm);border:1px solid transparent;cursor:pointer;
  transition:transform .15s ease, box-shadow .2s ease, background .2s ease;white-space:nowrap;
}
.btn svg{width:15px;height:15px}
.btn-primary{background:var(--orange);color:#fff;border-color:var(--orange)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(244,81,30,.32)}
.btn-dark{background:var(--ink);color:#fff;border-color:var(--ink)}
.btn-dark:hover{transform:translateY(-2px);box-shadow:var(--shadow-2)}
.btn-ghost{background:transparent;color:var(--text);border-color:var(--line-strong)}
.btn-ghost:hover{border-color:var(--ink);transform:translateY(-2px)}
.btn-ghost-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.28)}
.btn-ghost-light:hover{border-color:#fff;background:rgba(255,255,255,.06)}
.btn-lg{padding:18px 32px;font-size:14px}

/* ---------- Header ---------- */
header.nav{
  position:sticky;top:0;z-index:60;background:rgba(255,255,255,.86);
  backdrop-filter:blur(14px);border-bottom:1px solid var(--line);
}
.nav-inner{display:flex;align-items:center;gap:32px;height:70px}
.logo{display:flex;align-items:center;gap:10px;font-family:'Montserrat';font-weight:800;font-size:19px;letter-spacing:-.02em}
.logo .mark{
  width:30px;height:30px;border-radius:6px;background:var(--ink);color:#fff;
  display:grid;place-items:center;font-size:14px;position:relative;overflow:hidden;
}
.logo .mark::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:38%;background:var(--orange)}
.logo .mark span{position:relative;z-index:1}
.nav-links{display:flex;gap:30px;margin-left:8px}
.nav-links a{font-size:14px;font-weight:500;color:var(--text-2);transition:color .15s}
.nav-links a:hover{color:var(--text)}
.nav-right{margin-left:auto;display:flex;align-items:center;gap:22px}
.nav-phone{font-size:14px;font-weight:600;color:var(--text);display:flex;align-items:center;gap:8px}
.nav-phone svg{width:15px;height:15px;color:var(--orange)}
.menu-btn{display:none}

/* ---------- Hero ---------- */
.hero{position:relative;background:var(--surface);overflow:hidden}
.hero::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(60% 50% at 50% 0%, rgba(244,81,30,.06), transparent 70%),
    linear-gradient(to bottom, #fff 0%, var(--surface) 40%);
}
.hero-grid-bg{
  position:absolute;inset:0;opacity:.5;
  background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(70% 60% at 50% 30%,#000,transparent 75%);
}
.hero-inner{position:relative;text-align:center;padding:88px 0 96px;max-width:880px;margin:0 auto}
.hero h1{font-size:clamp(40px,6vw,76px);font-weight:800;letter-spacing:-.03em;margin:26px auto 0}
.hero h1 .accent{color:var(--orange)}
.hero p.sub{font-size:19px;color:var(--text-2);max-width:560px;margin:24px auto 0;line-height:1.6}
.hero-cta{margin-top:34px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
/* stat bar */
.stat-bar{
  margin:48px auto 0;max-width:620px;background:#fff;border:1px solid var(--line);
  border-radius:var(--r-lg);display:grid;grid-template-columns:repeat(3,1fr);
  box-shadow:var(--shadow-card);overflow:hidden;
}
.stat{padding:22px 24px;text-align:left;display:flex;align-items:center;gap:14px;border-right:1px solid var(--line)}
.stat:last-child{border-right:0}
.stat .ico{width:34px;height:34px;border-radius:var(--r-sm);background:var(--orange-tint);color:var(--orange-deep);display:grid;place-items:center;flex:none}
.stat .ico svg{width:18px;height:18px}
.stat .num{font-family:'Montserrat';font-weight:800;font-size:22px;letter-spacing:-.02em;line-height:1}
.stat .lab{font-size:12px;color:var(--text-3);margin-top:4px;letter-spacing:.02em}

/* ---------- Trust bar ---------- */
.trust{padding:42px 0;background:#fff;border-bottom:1px solid var(--line)}
.trust p{text-align:center;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);font-weight:600}
.logos{margin-top:26px;display:flex;justify-content:center;align-items:center;gap:56px;flex-wrap:wrap}
.logos .brand{display:flex;align-items:center;gap:10px;color:var(--text-2);font-family:'Montserrat';font-weight:700;font-size:17px;opacity:.62;transition:opacity .2s}
.logos .brand:hover{opacity:1}
.logos .brand svg{width:20px;height:20px;color:var(--text-3)}
/* ---------- Client logo marquee ---------- */
.cl-marq{margin-top:26px;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent)}
.cl-track{display:flex;align-items:center;width:max-content;animation:cl-scroll 46s linear infinite}
.cl-marq:hover .cl-track{animation-play-state:paused}
@keyframes cl-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.cl{flex:none;display:grid;place-items:center;height:58px;min-width:210px;padding:0 14px;filter:grayscale(1);opacity:.5;transition:opacity .22s,filter .22s;text-decoration:none}
.cl:hover{opacity:1;filter:grayscale(0)}
.cl img{max-height:58px;max-width:180px;width:auto;height:auto;object-fit:contain;display:block}
.cl .wm{font-family:'Montserrat',sans-serif;font-weight:700;font-size:14px;letter-spacing:.02em;color:var(--text-2);white-space:nowrap;text-align:center}
@media(prefers-reduced-motion:reduce){.cl-track{animation:none;flex-wrap:wrap;justify-content:center;width:100%}}
@media(max-width:720px){.cl{height:42px;min-width:150px;padding:0 10px}.cl img{max-height:42px;max-width:126px}.cl .wm{font-size:12.5px}}


/* ---------- Services ---------- */
.services{padding:104px 0}
.tabs{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;background:var(--slate-50);border:1px solid var(--line);border-radius:var(--r-md);padding:6px;width:max-content;max-width:100%;margin:0 auto 56px}
.tab{
  display:flex;align-items:center;gap:9px;padding:11px 20px;border-radius:var(--r-sm);
  font-size:14px;font-weight:600;color:var(--text-2);cursor:pointer;border:1px solid transparent;
  transition:all .15s;white-space:nowrap;
}
.tab svg{width:16px;height:16px}
.tab.active{background:#fff;color:var(--text);border-color:var(--line);box-shadow:var(--shadow-1)}
.tab.active svg{color:var(--orange)}
.svc-panel{display:none;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.svc-panel.active{display:grid}
.svc-copy h2{font-size:clamp(30px,3.6vw,42px);font-weight:800;margin:18px 0 0}
.svc-copy p.lead{font-size:17px;color:var(--text-2);margin-top:18px;line-height:1.6;max-width:480px}
.svc-list{margin-top:28px;display:flex;flex-direction:column;gap:16px}
.svc-list li{display:flex;gap:13px;align-items:flex-start;list-style:none;font-size:15.5px;color:var(--text)}
.svc-list .check{width:22px;height:22px;border-radius:50%;background:var(--orange-tint);color:var(--orange-deep);display:grid;place-items:center;flex:none;margin-top:1px}
.svc-list .check svg{width:13px;height:13px}
.svc-link{display:inline-flex;align-items:center;gap:9px;margin-top:30px;font-weight:700;font-size:14px;color:var(--text);border-bottom:2px solid var(--orange);padding-bottom:3px;transition:gap .15s}
.svc-link:hover{gap:14px}
.svc-link svg{width:15px;height:15px;color:var(--orange)}
/* visual card */
.svc-visual{position:relative}
.dash{
  background:var(--ink);border-radius:var(--r-lg);padding:18px;box-shadow:var(--shadow-2);
  border:1px solid var(--ink-3);
}
.dash-bar{display:flex;align-items:center;gap:7px;padding:4px 4px 14px}
.dash-bar i{width:10px;height:10px;border-radius:50%;background:#3a3f45}
.dash-bar i:first-child{background:#ff5f57}.dash-bar i:nth-child(2){background:#febc2e}.dash-bar i:nth-child(3){background:#28c840}
.dash-bar span{margin-left:8px;font-size:11px;color:#7f8893;font-family:'Inter'}
.dash-body{background:var(--ink-2);border-radius:var(--r-md);padding:18px;border:1px solid #2c3036}
.dash-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #2a2e33}
.dash-row:last-child{border-bottom:0}
.dash-row .lbl{font-size:12px;color:#9aa3ac;width:90px}
.dash-row .track{flex:1;height:8px;border-radius:99px;background:#33383e;overflow:hidden}
.dash-row .fill{height:100%;border-radius:99px;background:linear-gradient(90deg,var(--orange),var(--orange-deep))}
.dash-row .v{font-size:12px;color:#cfd5db;font-weight:600;width:42px;text-align:right}
.svc-metrics{
  position:absolute;left:-8px;bottom:-26px;background:#fff;border:1px solid var(--line);border-radius:var(--r-md);
  box-shadow:var(--shadow-card);display:flex;overflow:hidden;
}
.svc-metric{padding:14px 22px;display:flex;align-items:center;gap:11px;border-right:1px solid var(--line)}
.svc-metric:last-child{border-right:0}
.svc-metric .mi{width:30px;height:30px;border-radius:var(--r-sm);display:grid;place-items:center;flex:none}
.svc-metric .mi.up{background:rgba(31,138,76,.12);color:var(--green)}
.svc-metric .mi.cost{background:var(--orange-tint);color:var(--orange-deep)}
.svc-metric .mi svg{width:15px;height:15px}
.svc-metric .mk{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);font-weight:600}
.svc-metric .mv{font-family:'Montserrat';font-weight:800;font-size:18px}
.svc-metric .mv.green{color:var(--green)}

/* ---------- Dark video band ---------- */
.band-dark{background:var(--ink);color:var(--on-dark);padding:100px 0}
.band-dark .eyebrow{color:var(--orange)}
.sec-head{text-align:center;max-width:620px;margin:0 auto}
.sec-head h2{font-size:clamp(36px,4.6vw,56px);font-weight:900;letter-spacing:-.028em;line-height:1.05;margin-top:14px}
.sec-head.light h2{color:#fff}
.sec-head p{margin-top:18px;font-size:17.5px;line-height:1.6;color:var(--text-2)}.sec-head{max-width:760px}
.sec-head.light p{color:var(--on-dark-2)}
.video-wrap{margin-top:54px;position:relative;border-radius:var(--r-xl);overflow:hidden;border:1px solid var(--ink-3);aspect-ratio:16/8;
  background:radial-gradient(120% 100% at 50% 120%, #2a1208 0%, #161616 55%);}
.video-wrap .play{
  position:absolute;inset:0;margin:auto;width:76px;height:76px;border-radius:50%;background:var(--orange);
  display:grid;place-items:center;cursor:pointer;box-shadow:0 12px 40px rgba(244,81,30,.45);transition:transform .2s;
}
.video-wrap .play:hover{transform:scale(1.08)}
.video-wrap .play svg{width:26px;height:26px;color:#fff;margin-left:4px}
.video-wrap .sun{position:absolute;left:50%;top:54%;transform:translate(-50%,-50%);width:120px;height:120px;border-radius:50%;
  background:radial-gradient(circle,#ffae7a,#f4511e 60%,transparent 72%);filter:blur(4px);opacity:.55}
.video-cols{position:absolute;inset:0;display:grid;grid-template-columns:repeat(3,1fr)}
.video-cols span{border-right:1px solid rgba(255,255,255,.05)}

/* ---------- Advantage ---------- */
.advantage{padding:104px 0;background:var(--surface)}
.cards-3{margin-top:56px;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.adv-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:34px 30px;
  border-top:3px solid transparent;transition:transform .2s, box-shadow .2s, border-color .2s;
}
.adv-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-card);border-top-color:var(--orange)}
.adv-card .ic{width:48px;height:48px;border-radius:var(--r-md);background:var(--orange-tint);color:var(--orange-deep);display:grid;place-items:center;margin-bottom:22px}
.adv-card .ic svg{width:24px;height:24px}
.adv-card h3{font-size:21px;font-weight:700}
.adv-card p{margin-top:12px;font-size:15px;color:var(--text-2);line-height:1.6}

/* ---------- Who we are ---------- */
.who{padding:104px 0}
.who-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:72px;align-items:center}
.who h2{font-size:clamp(34px,4.4vw,54px);font-weight:800}
.who h3{font-size:22px;font-weight:700;margin-top:26px}
.who p{font-size:16px;color:var(--text-2);margin-top:16px;line-height:1.7;max-width:480px}
.who .pull{
  margin-top:22px;padding:18px 22px;background:var(--slate-50);border-left:3px solid var(--orange);border-radius:0 var(--r-sm) var(--r-sm) 0;
  font-size:16px;color:var(--text);font-weight:500;
}
.who .pull b{color:var(--orange-deep)}
.who-cta{margin-top:34px}
/* portrait */
.portrait-stack{position:relative;justify-self:center}
.portrait-stack .glow{position:absolute;inset:-14px;background:var(--orange-tint);border-radius:var(--r-xl);transform:rotate(-3deg)}
.portrait{
  position:relative;width:380px;max-width:100%;aspect-ratio:4/4.4;border-radius:var(--r-lg);overflow:hidden;
  border:1px solid var(--line);box-shadow:var(--shadow-2);
}
.portrait .badge{
  position:absolute;left:18px;bottom:18px;right:18px;background:rgba(22,24,28,.78);backdrop-filter:blur(8px);
  border-radius:var(--r-sm);padding:13px 16px;display:flex;align-items:center;justify-content:space-between;color:#fff;
}
.portrait .badge .nm{font-family:'Montserrat';font-weight:700;font-size:15px}
.portrait .badge .ph{font-size:13px;color:#ffb59e;font-weight:600}

/* ---------- Placeholder ---------- */
.ph-img{
  width:100%;height:100%;position:relative;
  background:
    repeating-linear-gradient(45deg,#e9edf1 0 12px,#eef2f5 12px 24px);
  display:grid;place-items:center;color:#9aa6b0;
}
.ph-img.dark{background:repeating-linear-gradient(45deg,#202327 0 12px,#26292e 12px 24px);color:#6b747d}
.ph-img .tag{font-family:'Inter';font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;
  background:rgba(255,255,255,.7);padding:5px 11px;border-radius:99px;border:1px solid var(--line)}
.ph-img.dark .tag{background:rgba(0,0,0,.35);border-color:#34383e}

/* ---------- Testimonials ---------- */
.testi{background:var(--ink);color:#fff;padding:100px 0}
.testi-grid{margin-top:54px;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.testi-card{background:var(--ink-2);border:1px solid var(--ink-3);border-radius:var(--r-lg);overflow:hidden;transition:transform .2s,border-color .2s}
.testi-card:hover{transform:translateY(-4px);border-color:#3a3f46}
.testi-media{aspect-ratio:16/10;position:relative}
.testi-media .play{position:absolute;inset:0;margin:auto;width:54px;height:54px;border-radius:50%;background:rgba(255,255,255,.92);display:grid;place-items:center;cursor:pointer;transition:transform .2s}
.testi-media .play:hover{transform:scale(1.08);background:#fff}
.testi-media .play svg{width:20px;height:20px;color:var(--ink);margin-left:3px}
.testi-body{padding:24px}
.stars{display:flex;gap:3px;color:var(--orange)}
.stars svg{width:15px;height:15px}
.testi-quote{font-size:16px;font-weight:600;margin-top:14px;color:#fff;line-height:1.45}
.testi-meta{margin-top:14px;font-size:13px;color:var(--on-dark-2)}
.testi-meta b{color:#fff;font-weight:600}

/* ---------- CTA band ---------- */
.cta-band{padding:96px 0}
.cta-box{position:relative;background:var(--ink);border-radius:var(--r-xl);padding:72px 40px;text-align:center;overflow:hidden}
.cta-box .ghost-letter{position:absolute;right:-30px;top:-50px;font-family:'Montserrat';font-weight:900;font-size:280px;color:rgba(255,255,255,.03);line-height:1;pointer-events:none}
.cta-box h2{position:relative;font-size:clamp(30px,4vw,46px);font-weight:800;color:#fff;max-width:640px;margin:0 auto}
.cta-box p{position:relative;color:var(--on-dark-2);font-size:16.5px;margin:18px auto 0;max-width:520px}
.cta-actions{position:relative;margin-top:36px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.cta-chips{position:relative;margin-top:30px;display:flex;gap:26px;justify-content:center;flex-wrap:wrap}
.cta-chip{display:flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--on-dark-2);font-weight:600}
.cta-chip svg{width:14px;height:14px;color:var(--orange)}

/* ---------- FAQ ---------- */
.faq{padding:100px 0;background:var(--surface)}
.faq-list{max-width:780px;margin:54px auto 0;display:flex;flex-direction:column;gap:14px}
.faq-item{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;transition:border-color .2s}
.faq-item.open{border-color:var(--line-strong)}
.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 26px;cursor:pointer;background:none;border:0;text-align:left;font-family:'Inter';font-size:16.5px;font-weight:600;color:var(--text)}
.faq-q .pm{width:26px;height:26px;border-radius:50%;border:1px solid var(--line-strong);display:grid;place-items:center;flex:none;transition:.2s;color:var(--text-2)}
.faq-item.open .pm{background:var(--orange);border-color:var(--orange);color:#fff;transform:rotate(45deg)}
.faq-q .pm svg{width:14px;height:14px}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease}
.faq-a p{padding:0 26px 24px;font-size:15.5px;color:var(--text-2);line-height:1.7;max-width:640px}

/* ---------- Blog ---------- */
.blog{padding:100px 0}
.blog-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}
.blog-head h2{font-size:clamp(28px,3.4vw,40px);font-weight:800}
.blog-head p{color:var(--text-2);margin-top:12px;font-size:16px}
.blog-all{font-weight:700;font-size:14px;display:inline-flex;align-items:center;gap:8px;color:var(--text);border-bottom:2px solid var(--orange);padding-bottom:3px}
.blog-all svg{width:15px;height:15px;color:var(--orange)}
.blog-grid{margin-top:48px;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:24px}
.post{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:#fff;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column}
.post:hover{transform:translateY(-4px);box-shadow:var(--shadow-card)}
.post-media{aspect-ratio:16/10}
.post-body{padding:24px;display:flex;flex-direction:column;gap:10px;flex:1}
.post .cat{font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--orange)}
.post h3{font-size:19px;font-weight:700;line-height:1.25}
.post.feat h3{font-size:23px}
.post p{font-size:14.5px;color:var(--text-2);line-height:1.6}
.post .read{margin-top:auto;padding-top:8px;font-size:13px;font-weight:600;color:var(--text);display:inline-flex;align-items:center;gap:7px}
.post .read svg{width:14px;height:14px;color:var(--orange)}

/* ---------- Success Stories ---------- */
.stories{padding:104px 0;background:var(--surface)}
.stories-grid{margin-top:56px;display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.story{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.story:hover{transform:translateY(-4px);box-shadow:var(--shadow-card)}
.story-media{aspect-ratio:16/11}
.story-body{padding:26px 26px 28px;display:flex;flex-direction:column;gap:18px;flex:1}

/* ---------- Case study slider ---------- */
.cs-slider{margin-top:52px}
.cs-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:4px 4px 10px;-ms-overflow-style:none;scrollbar-width:none}
.cs-track::-webkit-scrollbar{display:none}
.cs-controls{display:flex;align-items:center;justify-content:space-between;margin-top:22px}
.cs-count{font-size:13px;color:var(--text-3);letter-spacing:.04em}
.cs-count b{color:var(--ink);font-weight:700}
.cs-arrows{display:flex;gap:10px}
.cs-arrow{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--ink);display:grid;place-items:center;cursor:pointer;transition:background .18s,color .18s,border-color .18s}
.cs-arrow:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.cs-arrow svg{width:18px;height:18px}
/* ---------- Home slider case-study card (redesigned) ---------- */
.cs-track{align-items:stretch}
.cs-card{flex:0 0 calc((100% - 48px)/3);scroll-snap-align:start;position:relative;display:flex;flex-direction:column;background:var(--ink);border:1px solid #2a2c34;border-radius:22px;overflow:hidden;transition:transform .25s,box-shadow .25s,border-color .25s}
.cs-card::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.1) 1px,transparent 1px);background-size:22px 22px;opacity:.35;pointer-events:none}
.cs-card::after{content:"";position:absolute;left:0;right:0;bottom:0;height:56%;background:linear-gradient(180deg,transparent,rgba(240,120,40,.12));opacity:0;transition:opacity .25s;pointer-events:none}
.cs-card:hover{transform:translateY(-6px);border-color:rgba(240,120,40,.5);box-shadow:0 30px 60px -30px rgba(20,21,26,.6)}
.cs-card:hover::after{opacity:1}
.cs-logo{position:relative;z-index:1;height:auto;background:none;border:0;padding:26px 26px 0;display:flex;align-items:center;justify-content:space-between;gap:14px}
.cs-logo .cs-chip{flex:none;height:62px;min-width:104px;max-width:150px;background:#fff;border-radius:13px;display:grid;place-items:center;padding:10px 14px}
.cs-logo img{max-height:42px;max-width:122px;width:auto;object-fit:contain;display:block}
.cs-wm{font-family:'Montserrat',sans-serif;font-weight:800;font-size:13px;letter-spacing:-.01em;color:var(--ink);text-align:center;line-height:1.2}
.cs-idx{font-family:'Montserrat',sans-serif;font-weight:900;font-size:44px;line-height:1;letter-spacing:-.04em;color:rgba(255,255,255,.1)}
.cs-body{position:relative;z-index:1;padding:22px 26px 26px;display:flex;flex-direction:column;gap:13px;flex:1}
.cs-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.cs-cat{font-size:10.5px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--ink);background:var(--orange);border-radius:99px;padding:5px 11px}
.cs-loc{font-size:12.5px;color:rgba(255,255,255,.5)}
.cs-card h3{font-family:'Montserrat',sans-serif;font-weight:800;font-size:20px;line-height:1.2;letter-spacing:-.02em;color:#fff;text-wrap:balance}
.cs-card p{font-size:14px;line-height:1.6;color:rgba(255,255,255,.62);margin:0}
.cs-kpis{display:flex;gap:20px;padding:16px 0 2px;margin-top:auto;border-top:1px solid rgba(255,255,255,.11)}
.cs-kpi b{display:block;font-family:'Montserrat',sans-serif;font-weight:900;font-size:19px;letter-spacing:-.025em;color:var(--orange);line-height:1}
.cs-kpi span{display:block;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.42);margin-top:5px}
.cs-acts{display:flex;flex-direction:column;gap:10px;align-items:stretch}
.cs-btn{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--orange);color:var(--ink);border-radius:11px;padding:13px 16px;font-family:'Montserrat',sans-serif;font-weight:800;font-size:13.5px;text-decoration:none;transition:background .18s,transform .18s}
.cs-btn svg{width:15px;height:15px;flex:none;transition:transform .18s}
.cs-btn:hover{background:#ff8f45}
.cs-btn:hover svg{transform:translate(2px,-2px)}
.cs-link{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:700;color:rgba(255,255,255,.62);text-decoration:none;margin-top:0;padding-top:0}
.cs-link svg{width:13px;height:13px;color:var(--orange)}
.cs-link:hover{color:#fff}
.cs-arrow{border-color:var(--line)}
@media(max-width:1000px){.cs-card{flex:0 0 calc((100% - 24px)/2)}}
@media(max-width:680px){.cs-card{flex:0 0 86%}}
.story-cat{align-self:flex-start;font-size:12px;font-weight:600;color:var(--text-2);background:var(--slate-50);border:1px solid var(--line);padding:6px 14px;border-radius:99px}
.story h3{font-size:21px;font-weight:700;line-height:1.28;letter-spacing:-.01em;text-wrap:pretty}
.story-read{margin-top:auto;display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--text)}
.story-read svg{width:15px;height:15px;color:var(--orange);transition:transform .15s}
.story:hover .story-read svg{transform:translate(2px,-2px)}

/* ---------- Google Reviews ---------- */
.reviews{background:#f4f3f1;padding:64px 0 0}
.reviews-shell{position:relative;max-width:1200px;margin:0 auto;background:#e9e8e6;border-radius:28px;padding:72px 48px 0;overflow:hidden}
.reviews-shell .sec-head h2{color:var(--ink)}
.reviews-shell .sec-head p{color:var(--text-2)}
.rv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.rv-grid.top{margin-top:52px}
.rv-card{background:#fff;border-radius:14px;padding:22px 22px 24px;box-shadow:0 1px 3px rgba(16,18,22,.05);display:flex;flex-direction:column;gap:15px;min-height:172px}
.rv-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.rv-stars{display:flex;gap:2px}
.rv-stars svg{width:15px;height:15px;color:#fbbc05}
.rv-src{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--text-3);font-weight:500}
.rv-src .g{width:16px;height:16px;flex:none}
.rv-text{font-size:14.5px;line-height:1.5;color:#3a4047;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.rv-person{display:flex;align-items:center;gap:12px;margin-top:auto}
.rv-avatar{width:40px;height:40px;border-radius:50%;flex:none;display:grid;place-items:center;font-family:'Montserrat';font-weight:700;font-size:15px;color:#fff;background:var(--ink)}
.rv-name{font-size:14px;font-weight:600;color:var(--text);line-height:1.2}
.rv-role{font-size:13px;color:var(--text-3);margin-top:2px}
.rv-faded{position:relative;margin-top:22px;max-height:96px;overflow:hidden}
.rv-faded::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(233,232,230,0) 0%,rgba(233,232,230,.85) 70%,#e9e8e6 100%);pointer-events:none}
.rv-cta{position:relative;z-index:3;text-align:center;margin-top:-30px;padding-bottom:56px}
.btn-reviews{display:inline-flex;align-items:center;gap:14px;background:var(--ink);color:#fff;font-family:'Inter';font-weight:600;font-size:15px;padding:11px 13px 11px 24px;border-radius:11px;box-shadow:0 12px 30px rgba(16,18,22,.22);transition:transform .15s,box-shadow .2s}
.btn-reviews:hover{transform:translateY(-2px);box-shadow:0 16px 38px rgba(16,18,22,.28)}
.btn-reviews .ic{width:30px;height:30px;border-radius:7px;background:var(--orange);display:grid;place-items:center;flex:none}
.btn-reviews .ic svg{width:15px;height:15px;color:#fff}
@media(max-width:920px){.rv-grid{grid-template-columns:1fr}.reviews-shell{padding:56px 22px 0}.rv-faded{max-height:86px}}

/* ===== Discovery CTA button (hover-invert) ===== */
.btn-disc{display:inline-flex;align-items:center;gap:14px;background:var(--ink);color:#fff;font-family:'Inter';font-weight:700;font-size:15px;letter-spacing:-.01em;padding:11px 11px 11px 24px;border-radius:14px;border:2px solid var(--ink);cursor:pointer;transition:background .22s,color .22s,border-color .22s,transform .15s}
.btn-disc .da{width:34px;height:34px;border-radius:9px;background:var(--orange);display:grid;place-items:center;flex:none;transition:background .22s}
.btn-disc .da svg{width:17px;height:17px;color:#fff;transition:color .22s}
.btn-disc:hover{background:#fff;color:var(--ink);transform:translateY(-2px)}
.btn-disc:hover .da{background:var(--ink)}
.btn-disc:hover .da svg{color:var(--orange)}
.btn-disc.lg{font-size:16px;padding:13px 13px 13px 28px}
.btn-disc.lg .da{width:38px;height:38px}

/* ===== Donut rings ===== */
.donut{position:relative;border-radius:50%;background:conic-gradient(var(--orange) 0 30%,#dfe3e7 30% 100%);flex:none}
.donut::after{content:"";position:absolute;inset:30%;background:#fff;border-radius:50%}
.donut.sm{width:34px;height:34px}
.donut.md{width:54px;height:54px}

/* ===== GF Header ===== */
header.gf-nav{position:sticky;top:0;z-index:60;background:#fff;border-bottom:1px solid var(--line)}
.gf-nav-inner{display:flex;align-items:center;height:86px;gap:30px}
.gf-logo{display:flex;align-items:center;gap:13px}
.gf-ring{position:relative;width:40px;height:40px;border-radius:50%;background:conic-gradient(from 90deg,#f6b21b,#f4511e,#18a0b8,#1f8a5b,#f6b21b);flex:none}
.gf-ring::after{content:"";position:absolute;inset:9px;background:#fff;border-radius:50%}
.gf-logo .wm{font-family:'Montserrat';font-weight:800;font-size:18px;line-height:.96;letter-spacing:-.01em;text-transform:uppercase;color:var(--ink)}
.gf-links{margin-left:auto;display:flex;align-items:center;gap:30px}
.gf-links a{font-size:15.5px;font-weight:500;color:var(--text);display:flex;align-items:center;gap:5px;transition:color .15s}
.gf-links a:hover{color:var(--orange)}
.gf-links .cv{width:13px;height:13px;color:var(--text-3)}
.gf-cta{margin-left:8px}
.gf-menu{display:none}

/* ===== Services 2.0 (GF dashboards) ===== */
.services2{padding:96px 0 130px;background:var(--surface)}
.services2 .sec-head{margin-bottom:44px}
.svc2-wrap{max-width:1120px;margin:0 auto;position:relative}
.svc2-tabs{display:flex;justify-content:center;gap:6px;position:relative;z-index:3;padding:0 12px}
.svc2-tab{position:relative;display:flex;align-items:center;gap:9px;padding:15px 24px 16px;font-family:'Inter';font-weight:700;font-size:15px;color:var(--text-2);background:#e7eaed;border:1px solid var(--line);border-bottom:none;border-radius:14px 14px 0 0;cursor:pointer;transition:background .2s,color .2s;white-space:nowrap;overflow:hidden}
.svc2-tab .ti{width:19px;height:19px;color:var(--text-3);flex:none}
.svc2-tab.active{background:#fff;color:var(--ink)}
.svc2-tab.active .ti{color:var(--orange)}
.svc2-timer{position:absolute;left:0;bottom:0;height:3px;width:0;background:var(--orange)}
.svc2-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-card);padding:46px 46px 40px;min-height:560px}
.svc2-panel{display:none}
.svc2-panel.active{display:block;animation:fadeUp .4s ease both}
@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.svc2-cta-wrap{display:flex;justify-content:center;margin-top:34px;margin-bottom:-62px;position:relative;z-index:5}

/* shared dashboard bits */
.skel{background:#eef1f4;border-radius:6px;display:block}
.dash-grid{display:grid;gap:42px;align-items:start}
.dash-divider{border-left:1px solid var(--line)}
.stat-num{font-family:'Montserrat';font-weight:800;letter-spacing:-.02em;color:var(--ink)}

/* UX panel */
.d-ux{grid-template-columns:1.4fr 1fr}
.ux-url{font-size:14px;color:var(--text-3)}
.ux-title{font-family:'Montserrat';font-weight:800;font-size:30px;letter-spacing:-.02em;margin-top:8px;color:var(--ink)}
.ux-skel{margin-top:22px;display:flex;flex-direction:column;gap:11px;max-width:430px}
.ux-stars{display:flex;gap:4px;color:var(--orange);margin-top:26px}
.ux-stars svg{width:20px;height:20px}
.ux-contact{position:relative;display:inline-flex;align-items:center;margin-top:24px;background:var(--orange);color:#fff;font-weight:700;font-size:15px;padding:12px 26px;border-radius:10px;border:none;font-family:'Inter'}
.ux-cursor{position:absolute;right:-26px;bottom:-18px;width:30px;height:30px;color:var(--ink)}
.ux-trust{margin-top:40px;font-size:13px;color:var(--text-3);letter-spacing:.04em}
.ux-logos{margin-top:14px;display:flex;flex-wrap:wrap;gap:26px;align-items:center}
.ux-logos span{font-family:'Montserrat';font-weight:700;font-size:15px;color:var(--text-3);opacity:.7}
.wd-title{font-family:'Montserrat';font-weight:800;font-size:24px;color:var(--ink);margin-bottom:20px}
.wd-card{border:1px solid var(--line);border-radius:14px;padding:22px 24px;margin-bottom:16px}
.wd-num{font-family:'Montserrat';font-weight:800;font-size:30px;letter-spacing:-.02em;color:var(--ink)}
.wd-lab{font-size:14px;color:var(--text-2);margin-top:3px}
.d-ux .dash-right{padding-left:42px}

/* Paid panel */
.d-paid{grid-template-columns:1.55fr 1fr}
.pm-head{display:flex;align-items:center;gap:13px;margin-bottom:18px}
.pm-head h3{font-family:'Montserrat';font-weight:800;font-size:24px;color:var(--ink)}
.pm-chartbox{border:1px solid var(--line);border-radius:14px;padding:20px}
.pm-chart{width:100%;height:auto;display:block}
.pm-card{border:1px solid var(--line);border-radius:14px;padding:22px 24px;margin-bottom:16px}
.pm-card-t{font-family:'Montserrat';font-weight:700;font-size:18px;color:var(--text-3);margin-bottom:18px}
.pm-card-t b{color:var(--ink)}
.pm-stats{display:grid;grid-template-columns:1fr 1fr;gap:22px 18px}
.pm-stat .n{font-family:'Montserrat';font-weight:800;font-size:27px;letter-spacing:-.02em;color:var(--ink)}
.pm-stat .l{font-size:13px;color:var(--text-3);margin-top:2px}

/* Voice panel */
.d-voice{grid-template-columns:1.4fr 1fr}
.va-call{background:var(--ink);border-radius:16px;padding:22px;color:#fff}
.va-top{display:flex;align-items:center;gap:13px}
.va-avatar{width:46px;height:46px;border-radius:12px;background:linear-gradient(135deg,var(--orange),var(--orange-deep));display:grid;place-items:center;font-family:'Montserrat';font-weight:800;font-size:15px;flex:none;position:relative}
.va-avatar::after{content:"";position:absolute;inset:-5px;border-radius:14px;border:2px solid var(--orange);opacity:.5;animation:pulse 1.8s ease-out infinite}
@keyframes pulse{0%{transform:scale(1);opacity:.5}100%{transform:scale(1.18);opacity:0}}
.va-name{font-weight:700;font-size:15px}
.va-status{font-size:12.5px;color:#9aa3ac;margin-top:3px;display:flex;align-items:center;gap:6px}
.va-status .d{width:7px;height:7px;border-radius:50%;background:#1fd17a;box-shadow:0 0 0 0 rgba(31,209,122,.6);animation:blip 1.6s infinite}
@keyframes blip{0%{box-shadow:0 0 0 0 rgba(31,209,122,.5)}100%{box-shadow:0 0 0 7px rgba(31,209,122,0)}}
.va-live{margin-left:auto;font-size:10.5px;font-weight:700;letter-spacing:.12em;color:var(--orange);border:1px solid rgba(244,81,30,.4);padding:4px 9px;border-radius:99px}
.va-wave{display:flex;align-items:center;justify-content:center;gap:3px;height:46px;margin:18px 0}
.va-wave i{width:3px;border-radius:99px;background:var(--orange);animation:wave 1s ease-in-out infinite}
@keyframes wave{0%,100%{height:8px;opacity:.45}50%{height:34px;opacity:1}}
.va-trans{display:flex;flex-direction:column;gap:9px}
.va-trans p{font-size:13px;line-height:1.45;padding:10px 13px;border-radius:11px;max-width:85%;margin:0}
.va-trans .ai{background:#26292e;color:#e8ebee;border-bottom-left-radius:3px}
.va-trans .user{background:var(--orange);color:#fff;align-self:flex-end;border-bottom-right-radius:3px}
.va-booked{margin-top:16px;display:flex;align-items:center;gap:9px;background:rgba(31,138,76,.16);color:#5fe39b;font-size:13px;font-weight:600;padding:11px 14px;border-radius:10px}
.va-booked svg{width:16px;height:16px}
.va-card{border:1px solid var(--line);border-radius:14px;padding:22px 24px;margin-bottom:16px}
.va-card .ct{font-family:'Montserrat';font-weight:700;font-size:18px;color:var(--text-3);margin-bottom:18px}
.va-card .ct b{color:var(--ink)}
.va-agent{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line)}
.va-agent:first-of-type{border-top:none}
.va-ava{width:32px;height:32px;border-radius:9px;background:var(--slate-50);display:grid;place-items:center;font-family:'Montserrat';font-weight:700;font-size:13px;color:var(--text-2);flex:none}
.va-agent .an{font-size:14px;font-weight:600;color:var(--ink)}
.va-agent .ar{font-size:12.5px;color:var(--text-3)}
.va-agent .st{margin-left:auto;font-size:12px;font-weight:600;display:flex;align-items:center;gap:6px}
.va-agent .st .dd{width:7px;height:7px;border-radius:50%}
.va-agent .st.on{color:var(--green)}.va-agent .st.on .dd{background:var(--green)}
.va-agent .st.idle{color:var(--text-3)}.va-agent .st.idle .dd{background:var(--text-3)}

/* SEO panel */
.d-seo{grid-template-columns:1.5fr 1fr}
.seo-row{display:flex;align-items:center;gap:14px;margin-bottom:24px}
.seo-search{flex:1;display:flex;align-items:center;gap:10px;border:1px solid var(--line-strong);border-radius:99px;padding:12px 18px;color:var(--text-3);font-size:15px}
.seo-search svg{width:18px;height:18px;margin-left:auto;color:var(--text-3)}
.seo-skel{display:flex;flex-direction:column;gap:24px;margin-bottom:24px}
.seo-skel .blk{display:flex;gap:16px}
.seo-skel .blk .th{width:62px;height:62px;border-radius:10px;background:#eef1f4;flex:none}
.seo-skel .blk .ln{flex:1;display:flex;flex-direction:column;gap:9px;padding-top:6px}
.seo-listing{border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:var(--shadow-1)}
.sl-top{display:flex;align-items:center;gap:12px}
.sl-top b{font-family:'Montserrat';font-weight:800;font-size:16px;letter-spacing:.01em;color:var(--ink)}
.sl-stars{display:flex;gap:2px;color:var(--orange)}
.sl-stars svg{width:14px;height:14px}
.sl-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-top:16px}
.sl-url{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--text-2);background:var(--slate-50);border:1px solid var(--line);padding:7px 12px;border-radius:8px}
.sl-url svg{width:14px;height:14px;color:var(--text-3)}
.sl-map{width:200px;height:96px;border-radius:10px;position:relative;overflow:hidden;background:
  linear-gradient(#e7eaed,#e7eaed) padding-box,
  repeating-linear-gradient(60deg,#dfe3e7 0 1px,transparent 1px 26px),
  repeating-linear-gradient(-30deg,#dfe3e7 0 1px,transparent 1px 22px);
  background-color:#eef1f4;border:1px solid var(--line)}
.sl-map .pin{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);color:var(--orange)}
.sl-map .pin svg{width:26px;height:26px;filter:drop-shadow(0 4px 6px rgba(0,0,0,.18))}
.seo-nav-ic{color:var(--orange)}
.seo-nav-ic svg{width:26px;height:26px}
.d-seo .dash-right h3{font-family:'Montserrat';font-weight:800;font-size:28px;color:var(--ink);margin-top:10px}
.seo-div{height:1px;background:var(--line);margin:18px 0}
.d-seo .dash-right>p{font-size:16px;color:var(--text-2);line-height:1.6}
.seo-bullets{margin-top:20px;display:flex;flex-direction:column;gap:12px}
.seo-bullets div{background:var(--slate-50);border:1px solid var(--line);border-radius:10px;padding:14px 16px;font-size:14.5px;color:var(--text);line-height:1.5}
.d-seo .dash-right{padding-left:42px}

/* ===== Survey ===== */
.survey{background:var(--ink);color:#fff;padding:118px 0}
.survey-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.survey-left .eyebrow{color:var(--orange)}
.survey-left h2{font-family:'Montserrat';font-weight:800;font-size:clamp(34px,4.6vw,58px);text-transform:uppercase;letter-spacing:-.02em;line-height:1.04;margin-top:22px;border-top:1px solid rgba(255,255,255,.16);padding-top:26px}
.survey-left p{margin-top:22px;font-size:17px;color:var(--on-dark-2);line-height:1.6;max-width:420px}
.survey-q .ql{border-top:1px solid rgba(255,255,255,.16);padding:18px 0;font-family:'Montserrat';font-weight:800;font-size:clamp(24px,2.9vw,40px);text-transform:uppercase;letter-spacing:-.01em;line-height:1.05}
.survey-q .ql:last-of-type{border-bottom:1px solid rgba(255,255,255,.16)}
.survey-cta{margin-top:38px;display:flex;justify-content:center}

/* ===== GF Footer ===== */
footer.gf-foot{background:#ece9e5;color:var(--text);padding:0 0 38px}
.gf-foot-head{max-width:1200px;margin:0 auto;padding:72px 24px 40px;display:flex;align-items:flex-start;gap:26px}
.gf-foot-head h2{font-family:'Montserrat';font-weight:800;font-size:clamp(34px,4vw,52px);letter-spacing:-.02em;color:var(--ink)}
.gf-foot-head p{font-size:17px;color:var(--text-2);margin-top:14px;max-width:520px}
.gf-foot-card{max-width:1200px;margin:0 auto;background:#fff;border-radius:26px;padding:52px 52px;display:grid;grid-template-columns:repeat(5,1fr);gap:30px}
.gf-foot-card h4{font-family:'Montserrat';font-weight:800;font-size:19px;color:var(--ink);margin-bottom:18px;letter-spacing:-.01em}
.gf-foot-card a{display:block;font-size:15px;color:var(--text-2);margin-bottom:12px;transition:color .15s}
.gf-foot-card a:hover{color:var(--orange)}
.gf-foot-legal{max-width:1200px;margin:26px auto 0;padding:0 28px;display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;font-size:13.5px;color:var(--text-3)}
.gf-foot-legal .socs{display:flex;gap:12px}
.gf-foot-legal .socs a{width:34px;height:34px;border-radius:9px;border:1px solid var(--line-strong);display:grid;place-items:center;color:var(--text-2);transition:.15s}
.gf-foot-legal .socs a:hover{color:var(--orange);border-color:var(--orange)}
.gf-foot-legal .socs svg{width:16px;height:16px}

@media(max-width:980px){
  .dash-grid{grid-template-columns:1fr !important;gap:32px}
  .dash-divider.d-ux .dash-right.d-seo .dash-right{border-left:none;padding-left:0}
  .gf-foot-card{grid-template-columns:1fr 1fr}
  .survey-grid{grid-template-columns:1fr;gap:44px}
}
@media(max-width:920px){
  .gf-links{display:none}
  .gf-menu{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer;margin-left:auto}
  .gf-menu svg{width:22px;height:22px}
  .gf-cta{display:none}
  .svc2-tabs{overflow-x:auto;justify-content:flex-start}
  .svc2-card{padding:32px 22px}
}
@media(max-width:560px){
  .gf-foot-card{grid-template-columns:1fr;padding:36px 26px}
  .pm-stats{grid-template-columns:1fr 1fr}
}

/* ---------- Footer ---------- */
footer{background:var(--ink);color:var(--on-dark-2);padding:64px 0 34px}
.foot-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-bottom:44px;border-bottom:1px solid var(--ink-3)}
.foot-brand .logo{color:#fff}
.foot-brand p{margin-top:16px;font-size:14px;max-width:280px;line-height:1.6}
.foot-col h4{font-family:'Inter';font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#fff;font-weight:700;margin-bottom:16px}
.foot-col a{display:block;font-size:14px;margin-bottom:11px;color:var(--on-dark-2);transition:color .15s}
.foot-col a:hover{color:#fff}
.foot-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:24px;font-size:13px;flex-wrap:wrap;gap:12px}
.foot-bottom .socials{display:flex;gap:14px}
.foot-bottom .socials a{width:32px;height:32px;border-radius:var(--r-sm);border:1px solid var(--ink-3);display:grid;place-items:center;color:var(--on-dark-2);transition:.15s}
.foot-bottom .socials a:hover{color:#fff;border-color:#3a3f46}
.foot-bottom .socials svg{width:15px;height:15px}

/* ---------- Responsive ---------- */
@media(max-width:920px){
  .nav-links.nav-phone{display:none}
  .menu-btn{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:var(--r-sm);background:#fff;cursor:pointer}
  .menu-btn svg{width:20px;height:20px}
  .svc-panel.active.who-grid{grid-template-columns:1fr;gap:48px}
  .cards-3.testi-grid.blog-grid.stories-grid{grid-template-columns:1fr}
  .foot-top{grid-template-columns:1fr 1fr}
  .svc-metrics{position:static;margin-top:18px;width:max-content}
  .portrait{width:320px}
}
@media(max-width:560px){
  .stat-bar{grid-template-columns:1fr}
  .stat{border-right:0;border-bottom:1px solid var(--line)}
  .foot-top{grid-template-columns:1fr}
  .hero-inner{padding:60px 0 70px}
}

/* ===== Compact header + brand mark ===== */
.gf-nav-inner{height:66px !important;gap:26px}
.gf-mark{height:34px;width:auto;display:block;flex:none}
.gf-logo .wm{font-size:16px}
.gf-cta{padding-top:9px;padding-bottom:9px}

/* ===== on-dark discovery button ===== */
.btn-disc.on-dark{background:#fff;color:var(--ink);border-color:#fff}
.btn-disc.on-dark .da{background:var(--orange)}
.btn-disc.on-dark .da svg{color:#fff}
.btn-disc.on-dark:hover{background:transparent;color:#fff;border-color:#fff}
.btn-disc.on-dark:hover .da{background:#fff}
.btn-disc.on-dark:hover .da svg{color:var(--orange)}

/* ===== Showreel ===== */
.showreel{padding:104px 0;background:var(--surface)}
.reel-stage{position:relative;margin-top:50px;border-radius:20px;overflow:hidden;background:var(--ink);box-shadow:var(--shadow-2);aspect-ratio:16/9;max-height:660px}
.reel-media{position:absolute;inset:0;background:radial-gradient(120% 100% at 30% 30%,#3a2418,#14151a 70%);transition:background .5s ease}
.reel-scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,13,15,.92),rgba(12,13,15,.5) 46%,rgba(12,13,15,.12) 72%,transparent)}
.reel-scrim.bottom{background:linear-gradient(0deg,rgba(12,13,15,.9),transparent 40%)}
.reel-content{position:absolute;left:0;top:0;bottom:96px;width:62%;max-width:700px;padding:56px;display:flex;flex-direction:column;justify-content:center;z-index:2}
.reel-tag{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;margin-bottom:22px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:#fff;background:var(--orange);padding:7px 13px;border-radius:99px}
.reel-quote{font-family:'Montserrat';font-weight:800;font-size:clamp(25px,3.3vw,44px);line-height:1.08;letter-spacing:-.02em;color:#fff;text-wrap:balance;margin:0}
.reel-by{margin-top:24px;font-size:16px;color:#fff}
.reel-by b{font-weight:700}.reel-by span{color:var(--on-dark-2);margin-left:8px}
.reel-play{position:absolute;right:9%;top:42%;transform:translateY(-50%);width:84px;height:84px;border-radius:50%;background:var(--orange);display:grid;place-items:center;cursor:pointer;z-index:3;box-shadow:0 14px 44px rgba(244,81,30,.5);transition:transform .2s}
.reel-play::after{content:"";position:absolute;inset:-12px;border-radius:50%;border:2px solid rgba(255,255,255,.4);animation:pulse 2s ease-out infinite}
.reel-play:hover{transform:translateY(-50%) scale(1.07)}
.reel-play svg{width:30px;height:30px;color:#fff;margin-left:4px}
.reel-rail{position:absolute;left:0;right:0;bottom:0;z-index:4;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.1)}
.reel-chip{display:flex;align-items:center;gap:13px;padding:18px 22px;background:rgba(12,13,15,.55);backdrop-filter:blur(6px);border:none;cursor:pointer;text-align:left;transition:background .2s,opacity .2s;opacity:.5}
.reel-chip:hover{opacity:.82;background:rgba(12,13,15,.7)}
.reel-chip.active{opacity:1;background:rgba(12,13,15,.8);box-shadow:inset 0 3px 0 var(--orange)}
.reel-ava{width:42px;height:42px;border-radius:50%;flex:none;overflow:hidden;border:2px solid rgba(255,255,255,.25)}
.reel-chip.active .reel-ava{border-color:var(--orange)}
.reel-ava .ph-img{height:100%}
.reel-cn{font-size:14px;font-weight:700;color:#fff;line-height:1.2}
.reel-cr{font-size:12.5px;color:var(--on-dark-2);margin-top:2px}
@media(max-width:760px){
  .reel-content{width:100%;max-width:none;padding:28px}
  .reel-play{right:50%;top:38%;transform:translate(50%,-50%)}
  .reel-rail{grid-template-columns:1fr 1fr}
  .reel-chip{padding:12px 14px}
}

/* ===== Survey restyle ===== */
.survey2{background:var(--ink);color:#fff;padding:108px 0;position:relative;overflow:hidden}
.survey2::before{content:"";position:absolute;right:-70px;top:-70px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(244,81,30,.18),transparent 70%)}
.survey2-grid{position:relative;display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:center}
.survey2 .eyebrow{color:var(--orange)}
.survey2 h2{font-family:'Montserrat';font-weight:800;font-size:clamp(32px,4.2vw,52px);letter-spacing:-.02em;line-height:1.06;margin-top:20px;color:#fff}
.survey2 .s2-sub{margin-top:20px;font-size:17px;color:var(--on-dark-2);line-height:1.65;max-width:450px}
.survey2 .s2-cta{margin-top:34px}
.s2-card{background:var(--ink-2);border:1px solid var(--ink-3);border-radius:18px;padding:36px 36px}
.s2-num{display:flex;align-items:center;gap:16px}
.s2-num b{font-family:'Montserrat';font-weight:800;font-size:68px;line-height:.8;color:var(--orange);letter-spacing:-.03em}
.s2-num span{font-family:'Montserrat';font-weight:700;font-size:21px;color:#fff;line-height:1.12}
.s2-list{margin-top:26px;display:flex;flex-direction:column}
.s2-item{display:flex;align-items:center;gap:13px;padding:13px 0;border-top:1px solid var(--ink-3);font-size:15.5px;color:var(--on-dark)}
.s2-item:first-child{border-top:none}
.s2-i{width:26px;height:26px;border-radius:50%;background:rgba(244,81,30,.16);color:var(--orange);display:grid;place-items:center;flex:none;font-size:12px;font-weight:700;font-family:'Montserrat'}
@media(max-width:860px){.survey2-grid{grid-template-columns:1fr;gap:40px}}

/* ===== Footer brand lockup ===== */
.gf-foot-head .foot-mark{height:56px;width:auto;flex:none}
.brand-lockup{display:flex;align-items:flex-end;gap:11px}
.brand-lockup .bl-mark{height:32px;width:auto}
.brand-lockup .bl-wm{font-family:'Montserrat';font-weight:800;font-size:19px;letter-spacing:-.01em;color:var(--ink);line-height:1;text-transform:lowercase}
.brand-lockup .bl-icons{display:flex;gap:5px;color:var(--orange);margin-bottom:3px}
.brand-lockup .bl-icons svg{width:14px;height:14px}
.gf-foot-legal .legal-left{display:flex;align-items:center;gap:22px;flex-wrap:wrap}

/* hero pillars (peace/megaphone/globe brand motif) */
.hero-pillars{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap}
.hp{display:inline-flex;align-items:center;gap:8px;font-family:'Inter';font-weight:700;font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-2)}
.hp svg{width:16px;height:16px;color:var(--orange)}
.hp-sep{width:5px;height:5px;border-radius:50%;background:var(--orange);opacity:.45}
/* nav mega dropdown */
.gf-links .has-mega{position:relative}
.gf-links .mega-trigger{cursor:pointer}
.gf-mega{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(4px);background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-2);padding:24px;display:grid;grid-template-columns:1fr 1fr;gap:28px;min-width:540px;opacity:0;visibility:hidden;transition:opacity .18s ease,transform .18s ease;z-index:80}
.gf-mega::before{content:"";position:absolute;top:-14px;left:0;right:0;height:16px}
.has-mega:hover .gf-mega,.has-mega:focus-within .gf-mega{opacity:1;visibility:visible;transform:translateX(-50%) translateY(10px)}
.mega-col{display:flex;flex-direction:column}
.mega-head{display:flex;align-items:center;gap:12px;padding:0 8px 12px;margin-bottom:8px;border-bottom:1px solid var(--line)}
.mega-head .mega-ic{width:38px;height:38px;border-radius:10px;background:var(--orange-tint);color:var(--orange-deep);display:grid;place-items:center;flex:none}
.mega-head .mega-ic svg{width:20px;height:20px}
.mega-head b{display:block;font-family:'Montserrat';font-weight:800;font-size:16px;color:var(--ink)}
.mega-head small{display:block;font-size:12.5px;color:var(--text-3);font-weight:500;margin-top:1px}
.mega-col a{display:block;padding:8px 10px;border-radius:8px;font-size:14.5px;color:var(--text-2);font-weight:500;transition:background .12s,color .12s}
.mega-col a:hover{background:var(--slate-50);color:var(--orange)}
.mega-col a.mega-head:hover{background:none}
.mega-col .mega-all{margin-top:6px;font-weight:700;color:var(--ink);font-size:13.5px}
.mega-col .mega-all:hover{color:var(--orange)}
.gf-links .has-drop{position:relative}
.gf-links .drop-trigger{cursor:pointer}
.gf-drop{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(4px);background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-2);padding:10px;min-width:260px;opacity:0;visibility:hidden;transition:opacity .18s ease,transform .18s ease;z-index:80;display:flex;flex-direction:column;gap:2px}
.gf-drop::before{content:"";position:absolute;top:-14px;left:0;right:0;height:16px}
.has-drop:hover .gf-drop,.has-drop:focus-within .gf-drop{opacity:1;visibility:visible;transform:translateX(-50%) translateY(10px)}
.gf-drop a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;color:var(--text-2);transition:background .12s,color .12s}
.gf-drop a:hover{background:var(--slate-50)}
.gf-drop a .di{width:34px;height:34px;border-radius:9px;background:var(--orange-tint);color:var(--orange-deep);display:grid;place-items:center;flex:none}
.gf-drop a .di svg{width:17px;height:17px}
.gf-drop a b{display:block;font-family:'Montserrat';font-weight:700;font-size:14.5px;color:var(--ink);line-height:1.15}
.gf-drop a small{display:block;font-size:12.5px;color:var(--text-3);font-weight:500;margin-top:2px}
.gf-drop a:hover b{color:var(--orange)}
@media(max-width:920px){.gf-mega,.gf-drop{display:none}}

/* nav overflow guard. 6 items need more room than the 920px collapse point */
.gf-links a{white-space:nowrap}
@media(max-width:1100px){
  .gf-links{display:none}
  .gf-mega,.gf-drop{display:none}
  .gf-cta{display:none}
  .gf-menu{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer;margin-left:auto}
  .gf-menu svg{width:22px;height:22px}
}

/* ===================== GENERATED IMAGERY (replaces empty placeholders) ===================== */
/* animated industry scenes */
.gfx{position:relative;width:100%;height:100%;overflow:hidden;background:radial-gradient(120% 130% at 20% 0%,#2b2d36,#14151a 68%)}
.gfx::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.11) 1px,transparent 1px);background-size:24px 24px;opacity:.5}
.gfx-label{position:absolute;left:18px;bottom:16px;z-index:4;display:flex;align-items:center;gap:8px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.62)}
.gfx-label i{width:6px;height:6px;border-radius:50%;background:#4ade80;box-shadow:0 0 0 3px rgba(74,222,128,.18);animation:gpulse 2.2s ease-in-out infinite}
@keyframes gpulse{0%,100%{opacity:1}50%{opacity:.35}}
/* HVAC: unit + airflow */
.gfx-hvac .unit{position:absolute;left:11%;top:50%;transform:translateY(-50%);width:104px;height:104px;border-radius:16px;border:2px solid rgba(255,255,255,.28);background:rgba(255,255,255,.06);display:grid;place-items:center;z-index:3}
.gfx-hvac .fan{width:60px;height:60px;border-radius:50%;border:2px solid var(--orange);position:relative;animation:gspin 3.4s linear infinite}
.gfx-hvac .fan::before.gfx-hvac .fan::after{content:"";position:absolute;left:50%;top:50%;width:24px;height:5px;border-radius:3px;background:var(--orange);transform-origin:0 50%}
.gfx-hvac .fan::before{transform:rotate(0deg)}
.gfx-hvac .fan::after{transform:rotate(120deg)}
@keyframes gspin{to{transform:rotate(360deg)}}
.gfx-hvac .flow{position:absolute;left:25%;height:3px;border-radius:3px;background:linear-gradient(90deg,rgba(240,120,40,.9),rgba(240,120,40,0));animation:gflow 2.6s linear infinite;z-index:2}
@keyframes gflow{0%{transform:translateX(0) scaleX(.4);opacity:0}20%{opacity:1}100%{transform:translateX(280px) scaleX(1);opacity:0}}
/* Roofing: roof line + rain */
.gfx-roof .roof{position:absolute;left:0;right:0;bottom:0;height:46%;background:linear-gradient(180deg,#22242b,#191a20);clip-path:polygon(0 42%,50% 0,100% 42%,100% 100%,0 100%);z-index:3}
.gfx-roof .roof::after{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(90deg,rgba(255,255,255,.07) 0 2px,transparent 2px 26px),repeating-linear-gradient(180deg,rgba(255,255,255,.05) 0 2px,transparent 2px 20px)}
.gfx-roof .shield{position:absolute;left:50%;top:26%;transform:translateX(-50%);width:52px;height:60px;z-index:4;color:var(--orange)}
.gfx-roof .shield svg{width:100%;height:100%}
.gfx-roof .drop{position:absolute;top:-14px;width:2px;height:16px;border-radius:2px;background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.42));animation:grain 1.5s linear infinite;z-index:2}
@keyframes grain{to{transform:translateY(320px)}}
/* article covers */
.cover{position:relative;width:100%;height:100%;overflow:hidden;display:grid;place-items:center;background:radial-gradient(110% 130% at 15% 0%,#2b2d36,#14151a 70%)}
.cover::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.12) 1px,transparent 1px);background-size:20px 20px;opacity:.45}
.cover.light{background:radial-gradient(110% 130% at 15% 0%,#fff7f1,#f2efea 72%)}
.cover.light::before{background-image:radial-gradient(rgba(20,21,26,.11) 1px,transparent 1px)}
.cover.warm{background:radial-gradient(110% 130% at 15% 0%,#5a2e14,#1c1512 72%)}
.cover-mark{position:relative;z-index:1;width:76px;height:76px;border-radius:20px;background:var(--orange);color:var(--ink);display:grid;place-items:center;box-shadow:0 16px 34px -14px rgba(240,120,40,.7)}
.cover-mark svg{width:34px;height:34px}
.cover-cat{position:absolute;z-index:1;top:16px;left:16px;font-size:10.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.cover.light .cover-cat{color:var(--text-3)}
.cover-rule{position:absolute;z-index:1;left:16px;right:16px;bottom:16px;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--orange),rgba(240,120,40,0))}
/* video-still cards */
.vstill{position:relative;width:100%;height:100%;overflow:hidden;background:radial-gradient(110% 140% at 30% 10%,#2e3039,#131419 70%);display:grid;place-items:center}
.vstill::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.1) 1px,transparent 1px);background-size:22px 22px;opacity:.4}
.vwave{position:relative;z-index:1;display:flex;align-items:center;gap:5px;height:56px}
.vwave i{width:4px;border-radius:3px;background:var(--orange);opacity:.85;animation:vw 1.2s ease-in-out infinite}
@keyframes vw{0%,100%{height:14px}50%{height:44px}}
.vstill .vlabel{position:absolute;z-index:1;left:16px;bottom:14px;font-size:10.5px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:rgba(255,255,255,.55)}
/* ===================== UI MOCKS (fill for hero/blueprint media) ===================== */
.mock{width:100%;height:100%;background:#fff;display:flex;flex-direction:column;overflow:hidden;font-family:'Inter',system-ui,sans-serif}
.mock-bar{display:flex;align-items:center;gap:7px;padding:11px 14px;border-bottom:1px solid var(--line);background:#faf9f7;flex:none}
.mock-bar i{width:9px;height:9px;border-radius:50%;background:#dcdcd8;display:block}
.mock-bar .url{margin-left:8px;font-size:11px;color:var(--text-3);background:#fff;border:1px solid var(--line);border-radius:6px;padding:4px 9px;flex:1;white-space:nowrap;overflow:hidden}
.mock-body{padding:14px;display:flex;flex-direction:column;gap:11px;flex:1;min-height:0}
.mock-map{position:relative;height:38%;flex:none;background:#e8ece6;background-image:linear-gradient(rgba(255,255,255,.7) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.7) 1px,transparent 1px);background-size:34px 34px}
.mock-map::before{content:"";position:absolute;left:-10%;top:36%;width:130%;height:12px;background:#f3f2ef;transform:rotate(-8deg)}
.mock-map::after{content:"";position:absolute;left:24%;top:-10%;width:12px;height:130%;background:#f3f2ef;transform:rotate(6deg)}
.mock-pin{position:absolute;width:26px;height:26px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--orange);box-shadow:0 6px 14px -6px rgba(0,0,0,.4)}
.mock-pin.sm{width:16px;height:16px;background:#b9b8b3}
.mock-row{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:10px;padding:9px 11px}
.mock-row.hi{border-color:var(--orange);background:rgba(240,120,40,.06)}
.mock-row .rk{flex:none;width:22px;height:22px;border-radius:6px;background:var(--ink);color:#fff;font-size:11px;font-weight:700;display:grid;place-items:center}
.mock-row.hi .rk{background:var(--orange);color:var(--ink)}
.mock-row .nm.mock-row .sub.mock-caller .nm.mock-caller .sub{display:block}
.mock-row .nm{font-size:12.5px;font-weight:600;color:var(--ink);line-height:1.2}
.mock-row .sub{font-size:11px;color:var(--text-3);margin-top:2px}
.mock-row .st{margin-left:auto;font-size:11px;font-weight:700;color:var(--green)}
.mock-line{height:9px;border-radius:5px;background:#eeedea}
.mock-line.w70{width:70%}.mock-line.w50{width:50%}.mock-line.w85{width:85%}
.mock-kpis{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.mock-kpi{border:1px solid var(--line);border-radius:10px;padding:10px 11px}
.mock-kpi .k{font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3)}
.mock-kpi .v{font-family:'Montserrat';font-weight:800;font-size:19px;color:var(--ink);margin-top:3px;letter-spacing:-.01em}
.mock-kpi .d{font-size:10.5px;font-weight:700;color:var(--green);margin-top:2px}
.mock-kpi .d.neg{color:var(--orange-deep)}
.mock-chart{flex:1;min-height:90px;border:1px solid var(--line);border-radius:12px;padding:12px;display:flex;align-items:flex-end;gap:7px}
.mock-chart span{flex:1;background:#eeedea;border-radius:4px 4px 0 0}
.mock-chart span.on{background:var(--orange)}
.mock-hero{flex:1;background:var(--ink);border-radius:10px;padding:16px;display:flex;flex-direction:column;justify-content:center;gap:9px}
.mock-hero .h{height:13px;border-radius:6px;background:rgba(255,255,255,.9)}
.mock-hero .h.s{width:62%;background:rgba(255,255,255,.42);height:9px}
.mock-hero .b{margin-top:6px;align-self:flex-start;background:var(--orange);color:var(--ink);font-size:11px;font-weight:700;border-radius:7px;padding:7px 12px}
.mock-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.mock-cards div{height:44px;border:1px solid var(--line);border-radius:9px;background:#faf9f7}
.mock-call{background:var(--ink);color:#fff}
.mock-call .mock-bar{background:#1b1c22;border-color:#2a2c34}
.mock-call .mock-bar .url{background:#22242b;border-color:#2f313a;color:rgba(255,255,255,.55)}
.mock-wave{display:flex;align-items:center;justify-content:center;gap:4px;height:46px;flex:none}
.mock-wave i{width:4px;border-radius:3px;background:var(--orange);display:block}
.mock-msg{border-radius:11px;padding:9px 11px;font-size:11.5px;line-height:1.45;max-width:86%}
.mock-msg.them{background:#22242b;color:rgba(255,255,255,.78)}
.mock-msg.ai{background:var(--orange);color:var(--ink);font-weight:600;align-self:flex-end}
.mock-booked{margin-top:auto;display:flex;align-items:center;gap:9px;border:1px solid #2a2c34;border-radius:11px;padding:10px 12px;font-size:11.5px;font-weight:700;color:#fff}
.mock-booked .ck{width:22px;height:22px;border-radius:50%;background:#4ade80;color:var(--ink);display:grid;place-items:center;font-size:12px;flex:none}
.mock-caller{display:flex;align-items:center;gap:10px;flex:none}
.mock-caller .av{width:32px;height:32px;border-radius:50%;background:#2b2d36;color:rgba(255,255,255,.7);display:grid;place-items:center;font-size:11px;font-weight:700}
.mock-caller .nm{font-size:12.5px;font-weight:600;color:#fff}
.mock-caller .sub{font-size:11px;color:rgba(255,255,255,.5);margin-top:1px}
.mock-caller .live{margin-left:auto;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#4ade80}

/* client marquee */
.cl-marq{margin-top:26px;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent)}
.cl-track{display:flex;align-items:center;width:max-content;animation:cl-scroll 46s linear infinite}
.cl-marq:hover .cl-track{animation-play-state:paused}
@keyframes cl-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.cl{flex:none;display:grid;place-items:center;height:58px;min-width:210px;padding:0 14px;filter:grayscale(1);opacity:.5;transition:opacity .22s,filter .22s;text-decoration:none}
.cl:hover{opacity:1;filter:grayscale(0)}
.cl img{max-height:58px;max-width:180px;width:auto;height:auto;object-fit:contain;display:block}
.cl .wm{font-family:'Montserrat',sans-serif;font-weight:700;font-size:14px;letter-spacing:.02em;color:var(--text-2);white-space:nowrap;text-align:center}
@media(prefers-reduced-motion:reduce){.cl-track{animation:none;flex-wrap:wrap;justify-content:center;width:100%}}
@media(max-width:720px){.cl{height:42px;min-width:150px;padding:0 10px}.cl img{max-height:42px;max-width:126px}.cl .wm{font-size:12.5px}}




/* ---------- */


.answers{padding:104px 0 0;background:var(--surface)}
.sa-list{margin-top:52px;position:relative;padding-bottom:120px}
.sa-item{position:sticky;top:calc(96px + var(--i) * 16px);display:grid;grid-template-columns:1.05fr 1.35fr;gap:32px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:18px;padding:34px 38px;box-shadow:0 -2px 0 rgba(0,0,0,.03),0 18px 40px -22px rgba(20,21,26,.28);margin-bottom:34vh;opacity:0;transform:translateY(26px);transition:opacity .5s ease,transform .5s cubic-bezier(.22,1.36,1)}
.sa-item:last-child{margin-bottom:0}
.sa-item.in{opacity:1;transform:none}
.sa-item::before{content:"";position:absolute;inset:0;border-radius:18px;background:#fff;z-index:-1}
.sa-q{display:flex;gap:18px;align-items:flex-start}
.sa-num{flex:none;width:40px;height:40px;border-radius:11px;background:var(--ink);color:#fff;display:grid;place-items:center;font-family:'Montserrat';font-weight:800;font-size:16px;position:relative;overflow:hidden}
.sa-num::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:36%;background:var(--orange)}
.sa-num span{position:relative;z-index:1}
.sa-qtext{font-family:'Montserrat';font-weight:800;font-size:20px;line-height:1.22;letter-spacing:-.015em;color:var(--ink);text-wrap:balance}
.sa-right{display:flex;flex-direction:column;align-items:flex-start;gap:20px}
.sa-a{font-size:15.5px;line-height:1.62;color:var(--text-2);margin:0}
.sa-a b{color:var(--ink);font-weight:600}
@media(max-width:840px){
  .sa-item{grid-template-columns:1fr;gap:20px;padding:28px 24px}
  .sa-qtext{font-size:18px}
}


/* ---------- */


.portrait[data-crew]{background:#f1f1ee}
.pslide{margin:0;position:absolute;inset:0;opacity:0;transition:opacity .45s ease;pointer-events:none}
.pslide.on{opacity:1;pointer-events:auto}
.pslide img{width:100%;height:100%;object-fit:cover;display:block}
.pslide img.up{object-position:50% 22%}
.pnav{position:absolute;top:50%;transform:translateY(-50%);width:38px;height:38px;border-radius:50%;padding:0px;border:1px solid rgba(255,255,255,.28);background:rgba(20,21,26,.55);backdrop-filter:blur(6px);color:#fff;display:grid;place-items:center;cursor:pointer;transition:background .18s,transform .18s;z-index:3}
.pnav:hover{background:var(--orange);color:var(--ink);border-color:var(--orange)}
.pnav svg{width:18px;height:18px}
.pnav.prev{left:12px}.pnav.next{right:12px}
.pdots{display:flex;justify-content:center;gap:8px;margin-top:18px}
.pdot{width:8px;height:8px;padding:0;border-radius:50%;border:0;background:#d6d5d0;cursor:pointer;transition:background .2s,width .2s}
.pdot.on{background:var(--orange);width:22px;border-radius:99px}
.has-drop.open .gf-drop{opacity:1;visibility:visible;transform:translateX(-50%) translateY(10px)}.has-mega.open .gf-mega{opacity:1;visibility:visible;transform:translateX(-50%) translateY(10px)}.rv-cta{margin-top:14px !important;padding-top:8px}




/*solution*/
/* ==========================================================================
   REBEL STACK — WEB DESIGN & LANDING PAGES SECTION  [rswd_webdesign]
   Paste this block at the BOTTOM of style.css.

   Every class is prefixed .rswd- and every rule is scoped under .rswd,
   so nothing here can touch .wrap / .faq-item / .mock / .appr-step /
   .cards-3 / .cta-box or any other existing class on your site.

   It reuses your existing tokens (--orange, --ink, --line, --text-2 …)
   with hard fallbacks, so it still renders correctly if a token is
   missing or renamed later.
   ========================================================================== */

.rswd{
  --rswd-ink:        var(--ink, #14151a);
  --rswd-ink-2:      var(--ink-2, #1b1c22);
  --rswd-ink-3:      var(--ink-3, #2a2c34);
  --rswd-surface:    var(--surface, #f7f6f4);
  --rswd-slate:      var(--slate-50, #f4f5f7);
  --rswd-line:       var(--line, #e6e5e1);
  --rswd-line-2:     var(--line-strong, #d5d4cf);
  --rswd-orange:     var(--orange, #f4511e);
  --rswd-orange-d:   var(--orange-deep, #d33f10);
  --rswd-orange-t:   var(--orange-tint, rgba(244,81,30,.12));
  --rswd-green:      var(--green, #1f8a4c);
  --rswd-text:       var(--text, #14151a);
  --rswd-text-2:     var(--text-2, #5b6169);
  --rswd-text-3:     var(--text-3, #8a9099);
  --rswd-on-dark-2:  var(--on-dark-2, rgba(255,255,255,.66));
  --rswd-r-sm:       var(--r-sm, 9px);
  --rswd-r-md:       var(--r-md, 14px);
  --rswd-r-lg:       var(--r-lg, 18px);
  --rswd-r-xl:       var(--r-xl, 24px);
  --rswd-shadow:     var(--shadow-card, 0 18px 46px -22px rgba(20,21,26,.35));
  --rswd-shadow-2:   var(--shadow-2, 0 26px 60px -30px rgba(20,21,26,.55));
  --rswd-display:    'Montserrat', system-ui, sans-serif;
  --rswd-body:       'Inter', system-ui, sans-serif;

  color: var(--rswd-text);
  font-family: var(--rswd-body);
  line-height: 1.6;
}

/* ---------- resets scoped to the block ---------- */
.rswd *,
.rswd *::before,
.rswd *::after{box-sizing:border-box}
.rswd svg{width:1em;height:1em;flex:none;display:block}
.rswd a{text-decoration:none;color:inherit}
.rswd p{margin:0 0 1em}
.rswd ul{margin:0;padding:0;list-style:none}
.rswd h2,.rswd h3,.rswd h4{margin:0;line-height:1.14;letter-spacing:-.02em;font-family:var(--rswd-display);font-weight:800}
.rswd button{font:inherit;color:inherit;border:0;background:none;cursor:pointer}
.rswd a:focus-visible,
.rswd button:focus-visible{outline:3px solid var(--rswd-orange);outline-offset:3px;border-radius:6px}

.rswd-wrap{width:100%;max-width:1200px;margin:0 auto;padding:0 24px}

/* ---------- type scale ---------- */
.rswd-h1{font-family:var(--rswd-display);font-weight:800;font-size:clamp(34px,4.6vw,60px);letter-spacing:-.03em;line-height:1.04;margin:22px 0 0}
.rswd-h2{font-size:clamp(28px,4vw,46px);letter-spacing:-.025em}
.rswd-h3{font-size:clamp(24px,2.8vw,32px)}
.rswd-sub{font-size:18px;color:var(--rswd-text-2);margin-top:22px;max-width:520px;line-height:1.62}
.rswd-accent{color:var(--rswd-orange)}

/* ---------- eyebrow ---------- */
.rswd-eyebrow{display:inline-flex;align-items:center;gap:9px;font-family:var(--rswd-body);font-weight:700;
  font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--rswd-orange-d);
  background:var(--rswd-orange-t);padding:8px 15px;border-radius:99px}
.rswd-eyebrow svg{width:15px;height:15px}
.rswd-eyebrow.rswd-center{display:flex;width:max-content;margin-left:auto;margin-right:auto}
.rswd-eyebrow.rswd-eyebrow-light{color:var(--rswd-orange);background:rgba(244,81,30,.16)}

/* ---------- buttons ---------- */
.rswd-btn{display:inline-flex;align-items:center;gap:14px;background:var(--rswd-ink);color:#fff;
  font-family:var(--rswd-body);font-weight:700;font-size:15px;letter-spacing:-.01em;
  padding:11px 11px 11px 24px;border-radius:14px;border:2px solid var(--rswd-ink);cursor:pointer;
  transition:background .22s,color .22s,border-color .22s,transform .15s}
.rswd-btn .rswd-da{width:34px;height:34px;border-radius:9px;background:var(--rswd-orange);
  display:grid;place-items:center;flex:none;transition:background .22s}
.rswd-btn .rswd-da svg{width:17px;height:17px;color:#fff;transition:color .22s}
.rswd-btn:hover{background:#fff;color:var(--rswd-ink);transform:translateY(-2px)}
.rswd-btn:hover .rswd-da{background:var(--rswd-ink)}
.rswd-btn:hover .rswd-da svg{color:var(--rswd-orange)}
.rswd-btn-lg{font-size:16px;padding:13px 13px 13px 28px}
.rswd-btn-lg .rswd-da{width:38px;height:38px}

/* on-dark variant */
.rswd-btn-light{background:#fff;color:var(--rswd-ink);border-color:#fff}
.rswd-btn-light .rswd-da{background:var(--rswd-orange)}
.rswd-btn-light .rswd-da svg{color:#fff}
.rswd-btn-light:hover{background:transparent;color:#fff;border-color:#fff}
.rswd-btn-light:hover .rswd-da{background:#fff}
.rswd-btn-light:hover .rswd-da svg{color:var(--rswd-orange)}

.rswd-btn-ghost{display:inline-flex;align-items:center;gap:10px;padding:14px 26px;border-radius:14px;
  border:1.5px solid rgba(255,255,255,.32);color:#fff;font-weight:700;font-size:15px;transition:background .18s,border-color .18s}
.rswd-btn-ghost:hover{background:rgba(255,255,255,.1);border-color:#fff}
.rswd-btn-ghost svg{width:17px;height:17px;color:var(--rswd-orange)}

.rswd-call{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:15px;color:var(--rswd-ink);
  padding:13px 22px;border:1px solid var(--rswd-line-2);border-radius:14px;transition:border-color .15s,transform .15s}
.rswd-call:hover{border-color:var(--rswd-ink);transform:translateY(-2px)}
.rswd-call svg{width:16px;height:16px;color:var(--rswd-orange)}

/* ---------- section shells ---------- */
.rswd-sec{padding:96px 0;background:#fff}
.rswd-sec.rswd-alt{background:var(--rswd-surface)}
.rswd-head{text-align:center;max-width:700px;margin:0 auto 50px}
.rswd-head .rswd-h2{margin-top:14px}
.rswd-head p{margin:18px 0 0;font-size:17px;line-height:1.6;color:var(--rswd-text-2)}

/* ==========================================================================
   HERO
   ========================================================================== */
.rswd-hero{background:var(--rswd-surface);border-bottom:1px solid var(--rswd-line);position:relative;overflow:hidden}
.rswd-hero::before{content:"";position:absolute;inset:0;
  background:radial-gradient(60% 60% at 80% 0%,rgba(244,81,30,.07),transparent 70%);pointer-events:none}
.rswd-hero-grid{position:relative;display:grid;grid-template-columns:1.08fr .92fr;gap:56px;align-items:center;padding:78px 0 82px}

.rswd-hero-cta{margin-top:32px;display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.rswd-hero-stats{margin-top:38px;display:flex;gap:38px;flex-wrap:wrap}
.rswd-hs .rswd-n{font-family:var(--rswd-display);font-weight:800;font-size:30px;letter-spacing:-.02em;color:var(--rswd-ink);line-height:1}
.rswd-hs .rswd-l{font-size:12.5px;color:var(--rswd-text-3);margin-top:5px}

.rswd-hero-media{position:relative}
.rswd-hero-photo{aspect-ratio:4/4.5;border-radius:var(--rswd-r-lg);overflow:hidden;
  border:1px solid var(--rswd-line);box-shadow:var(--rswd-shadow-2);background:#fff}

/* ---------- browser mock (shared) ---------- */
.rswd-mock{width:100%;height:100%;background:#fff;display:flex;flex-direction:column;overflow:hidden}
.rswd-mock-bar{display:flex;align-items:center;gap:7px;padding:11px 14px;border-bottom:1px solid var(--rswd-line);background:#faf9f7;flex:none}
.rswd-mock-bar i{width:9px;height:9px;border-radius:50%;background:#dcdcd8;display:block;flex:none}
.rswd-url{margin-left:8px;font-size:11px;color:var(--rswd-text-3);background:#fff;border:1px solid var(--rswd-line);
  border-radius:6px;padding:4px 9px;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rswd-mock-body{padding:14px;display:flex;flex-direction:column;gap:11px;flex:1;min-height:0}

.rswd-mock-hero{flex:1;background:var(--rswd-ink);border-radius:10px;padding:16px;display:flex;flex-direction:column;justify-content:center;gap:9px}
.rswd-mh{height:13px;border-radius:6px;background:rgba(255,255,255,.9)}
.rswd-mh.rswd-mh-s{width:62%;height:9px;background:rgba(255,255,255,.42)}
.rswd-mb{margin-top:6px;align-self:flex-start;background:var(--rswd-orange);color:#fff;
  font-size:11px;font-weight:700;border-radius:7px;padding:7px 12px}

.rswd-mock-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.rswd-mock-cards>div{height:44px;border:1px solid var(--rswd-line);border-radius:9px;background:#faf9f7}

.rswd-line{height:9px;border-radius:5px;background:#eeedea}
.rswd-w85{width:85%}
.rswd-w70{width:70%}
.rswd-w50{width:50%}

/* before / after inside the feature mock */
.rswd-ba{display:grid;grid-template-columns:1fr 1fr;gap:12px;flex:1;min-height:0}
.rswd-ba-before,
.rswd-ba-after{display:flex;flex-direction:column;gap:8px;padding:11px;border:1px solid var(--rswd-line);border-radius:9px;min-height:150px}
.rswd-ba-before{background:#f4f3f0}
.rswd-ba-after{border-color:var(--rswd-orange)}
.rswd-ba-img{height:44px;border-radius:8px;background:var(--rswd-ink);flex:none}
.rswd-ba-btn{align-self:flex-start;background:var(--rswd-orange);color:#fff;font-size:10px;font-weight:800;border-radius:6px;padding:6px 10px}
.rswd-ba-tag{margin-top:auto;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#b0aea9}
.rswd-ba-tag.rswd-ba-tag-on{color:var(--rswd-orange-d)}

.rswd-kpis{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.rswd-kpi{border:1px solid var(--rswd-line);border-radius:10px;padding:10px 11px}
.rswd-kpi .rswd-k{font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--rswd-text-3);font-weight:600}
.rswd-kpi .rswd-v{font-family:var(--rswd-display);font-weight:800;font-size:17px;color:var(--rswd-ink);margin-top:3px;letter-spacing:-.01em}
.rswd-kpi .rswd-d{font-size:10.5px;font-weight:700;color:var(--rswd-green);margin-top:2px}

/* ==========================================================================
   SURVEY
   ========================================================================== */
.rswd-survey{background:var(--rswd-ink);color:#fff;padding:108px 0;position:relative;overflow:hidden}
.rswd-survey::before{content:"";position:absolute;right:-70px;top:-70px;width:360px;height:360px;border-radius:50%;
  background:radial-gradient(circle,rgba(244,81,30,.18),transparent 70%);pointer-events:none}
.rswd-survey-grid{position:relative;display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:center}
.rswd-survey .rswd-h2{margin-top:20px;color:#fff}
.rswd-survey-sub{margin-top:20px;font-size:17px;color:var(--rswd-on-dark-2);line-height:1.65;max-width:450px}
.rswd-survey-cta{margin-top:34px}

.rswd-survey-card{background:var(--rswd-ink-2);border:1px solid var(--rswd-ink-3);border-radius:var(--rswd-r-lg);padding:36px}
.rswd-survey-num{display:flex;align-items:center;gap:16px}
.rswd-survey-num b{font-family:var(--rswd-display);font-weight:800;font-size:68px;line-height:.8;color:var(--rswd-orange);letter-spacing:-.03em}
.rswd-survey-num span{font-family:var(--rswd-display);font-weight:700;font-size:21px;color:#fff;line-height:1.12}
.rswd-survey-list{margin-top:26px;display:flex;flex-direction:column}
.rswd-survey-item{display:flex;align-items:center;gap:13px;padding:13px 0;font-size:15.5px;
  color:rgba(255,255,255,.9);border-top:1px solid var(--rswd-ink-3)}
.rswd-survey-item:first-child{border-top:none}
.rswd-survey-i{width:26px;height:26px;flex:none;border-radius:50%;background:rgba(244,81,30,.16);color:var(--rswd-orange);
  display:grid;place-items:center;font-family:var(--rswd-display);font-size:12px;font-weight:700}

/* ==========================================================================
   DASHBOARD SHOWCASE
   ========================================================================== */
.rswd-dash{position:relative;background:#fff;border:1px solid var(--rswd-line);border-radius:20px;
  box-shadow:var(--rswd-shadow);padding:44px 44px 40px;margin-top:50px}
.rswd-dash-tag{position:absolute;top:-14px;left:36px;display:inline-flex;align-items:center;gap:8px;
  background:var(--rswd-ink);color:#fff;font-family:var(--rswd-body);font-weight:700;font-size:11.5px;
  letter-spacing:.12em;text-transform:uppercase;padding:8px 14px;border-radius:99px}
.rswd-dot{width:7px;height:7px;border-radius:50%;background:var(--rswd-orange);animation:rswd-blip 1.6s infinite}
@keyframes rswd-blip{0%{box-shadow:0 0 0 0 rgba(244,81,30,.5)}100%{box-shadow:0 0 0 7px rgba(244,81,30,0)}}

.rswd-dash-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:42px;align-items:start}
.rswd-ux-url{font-size:14px;color:var(--rswd-text-3)}
.rswd-ux-title{font-family:var(--rswd-display);font-weight:800;font-size:30px;letter-spacing:-.02em;margin-top:8px;color:var(--rswd-ink);line-height:1.15}
.rswd-ux-skel{margin-top:22px;display:flex;flex-direction:column;gap:11px;max-width:430px}
.rswd-skel{height:12px;background:#eef1f4;border-radius:6px;display:block}
.rswd-stars{display:flex;gap:4px;color:var(--rswd-orange);margin-top:26px;font-size:20px}
.rswd-ux-btn{position:relative;display:inline-flex;align-items:center;margin-top:24px;background:var(--rswd-orange);
  color:#fff;font-weight:700;font-size:15px;padding:12px 26px;border-radius:10px}
.rswd-ux-btn:hover{background:var(--rswd-orange-d)}
.rswd-cursor{position:absolute;right:-26px;bottom:-18px;color:var(--rswd-ink);font-size:30px}
.rswd-trust{margin-top:40px;font-size:13px;color:var(--rswd-text-3);letter-spacing:.04em}
.rswd-logos{margin-top:14px;display:flex;flex-wrap:wrap;gap:26px;align-items:center}
.rswd-logos span{font-family:var(--rswd-display);font-weight:700;font-size:15px;color:var(--rswd-text-3);opacity:.7}

.rswd-dash-right{border-left:1px solid var(--rswd-line);padding-left:42px}
.rswd-wd-title{font-family:var(--rswd-display);font-weight:800;font-size:24px;color:var(--rswd-ink);margin-bottom:20px}
.rswd-wd-card{border:1px solid var(--rswd-line);border-radius:var(--rswd-r-md);padding:22px 24px;margin-bottom:16px}
.rswd-wd-num{font-family:var(--rswd-display);font-weight:800;font-size:30px;letter-spacing:-.02em;color:var(--rswd-ink);line-height:1}
.rswd-wd-lab{font-size:14px;color:var(--rswd-text-2);margin-top:5px}

/* ==========================================================================
   SERVICE CARDS + CHIP ROW
   ========================================================================== */
.rswd-svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.rswd-svc-card{background:#fff;border:1px solid var(--rswd-line);border-radius:var(--rswd-r-md);padding:30px 28px;
  display:flex;flex-direction:column;gap:14px;transition:transform .2s,box-shadow .2s,border-color .2s}
.rswd-svc-card:hover{transform:translateY(-5px);box-shadow:var(--rswd-shadow);border-color:var(--rswd-line-2)}
.rswd-si{width:48px;height:48px;border-radius:12px;background:var(--rswd-orange-t);color:var(--rswd-orange-d);
  display:grid;place-items:center;font-size:24px}
.rswd-svc-card h4{font-size:19px;font-weight:700;letter-spacing:-.01em}
.rswd-svc-card p{font-size:14.5px;color:var(--rswd-text-2);line-height:1.55;flex:1;margin:0}
.rswd-sl{font-weight:700;font-size:13.5px;color:var(--rswd-ink);display:inline-flex;align-items:center;gap:7px}
.rswd-sl svg{width:14px;height:14px;color:var(--rswd-orange);transition:transform .15s}
.rswd-svc-card:hover .rswd-sl svg{transform:translateX(3px)}

.rswd-chips-row{margin-top:30px;display:flex;flex-wrap:wrap;gap:12px}
.rswd-chips-row a{display:inline-flex;align-items:center;gap:9px;padding:11px 17px;border:1px solid var(--rswd-line);
  border-radius:99px;font-size:14px;font-weight:600;color:var(--rswd-text);background:#fff;
  transition:border-color .15s,color .15s,transform .15s}
.rswd-chips-row a svg{width:15px;height:15px;color:var(--rswd-orange)}
.rswd-chips-row a:hover{border-color:var(--rswd-orange);color:var(--rswd-orange-d);transform:translateY(-2px)}

/* ==========================================================================
   FEATURE ROW
   ========================================================================== */
.rswd-feat-row{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.rswd-feat-copy .rswd-h3{margin-top:14px}
.rswd-feat-copy>p{font-size:16px;color:var(--rswd-text-2);line-height:1.65;margin-top:16px;max-width:480px}
.rswd-feat-list{margin-top:22px;display:flex;flex-direction:column;gap:13px}
.rswd-feat-list li{display:flex;gap:12px;align-items:flex-start;font-size:15px;color:var(--rswd-text)}
.rswd-ck{width:22px;height:22px;flex:none;border-radius:50%;background:var(--rswd-orange-t);color:var(--rswd-orange-d);
  display:grid;place-items:center;font-size:12px;margin-top:1px}
.rswd-feat-media{aspect-ratio:4/4.5;border-radius:var(--rswd-r-lg);overflow:hidden;
  border:1px solid var(--rswd-line);box-shadow:var(--rswd-shadow-2)}

/* ==========================================================================
   OUR APPROACH
   ========================================================================== */
.rswd-appr-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;
  border:1px solid var(--rswd-line);border-radius:var(--rswd-r-lg);overflow:hidden;background:var(--rswd-slate)}
.rswd-appr-step{padding:32px 28px 30px;display:flex;flex-direction:column;gap:13px;
  border-right:1px solid var(--rswd-line);background:#fff;transition:background .2s}
.rswd-appr-step:last-child{border-right:0}
.rswd-appr-step:hover{background:var(--rswd-slate)}
.rswd-appr-top{display:flex;align-items:center;gap:12px}
.rswd-appr-n{width:32px;height:32px;flex:none;border-radius:9px;background:var(--rswd-ink);color:#fff;
  display:grid;place-items:center;font-family:var(--rswd-display);font-weight:800;font-size:13px}
.rswd-appr-when{font-size:11.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--rswd-orange-d)}
.rswd-appr-step h4{font-size:18px;letter-spacing:-.015em;color:var(--rswd-ink);line-height:1.22}
.rswd-appr-step p{font-size:14px;line-height:1.58;color:var(--rswd-text-2);margin:0}
.rswd-appr-step ul{margin:6px 0 0;display:flex;flex-direction:column;gap:7px}
.rswd-appr-step li{font-size:13px;line-height:1.45;color:var(--rswd-text-3);padding-left:15px;position:relative}
.rswd-appr-step li::before{content:"";position:absolute;left:0;top:7px;width:5px;height:5px;border-radius:50%;background:var(--rswd-orange)}

/* ==========================================================================
   WHY CARDS + NUMBERS
   ========================================================================== */
.rswd-cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.rswd-adv-card{background:#fff;border:1px solid var(--rswd-line);border-radius:var(--rswd-r-lg);padding:34px 30px;
  border-top:3px solid transparent;transition:transform .2s,box-shadow .2s,border-color .2s}
.rswd-adv-card:hover{transform:translateY(-4px);box-shadow:var(--rswd-shadow);border-top-color:var(--rswd-orange)}
.rswd-ic{width:48px;height:48px;border-radius:var(--rswd-r-md);background:var(--rswd-orange-t);color:var(--rswd-orange-d);
  display:grid;place-items:center;margin-bottom:22px;font-size:24px}
.rswd-adv-card h4{font-size:21px;font-weight:700}
.rswd-adv-card p{margin:12px 0 0;font-size:15px;color:var(--rswd-text-2);line-height:1.6}

.rswd-why-nums{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:46px;
  padding-top:44px;border-top:1px solid var(--rswd-line)}
.rswd-why-num{text-align:center}
.rswd-why-num b{display:block;font-family:var(--rswd-display);font-weight:900;font-size:clamp(30px,3.4vw,42px);
  letter-spacing:-.03em;color:var(--rswd-ink);line-height:1}
.rswd-why-num span{display:block;font-size:13px;color:var(--rswd-text-2);margin-top:8px;line-height:1.4}

/* ==========================================================================
   CTA STRIP
   ========================================================================== */
.rswd-strip{background:var(--rswd-ink);position:relative;overflow:hidden}
.rswd-strip::after{content:"";position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);
  background-size:48px 48px}
.rswd-strip-inner{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;
  gap:34px;padding-top:44px;padding-bottom:44px;flex-wrap:wrap}
.rswd-strip-copy{flex:1 1 380px;min-width:0}
.rswd-strip-copy h3{font-size:26px;line-height:1.16;letter-spacing:-.025em;color:#fff}
.rswd-strip-copy p{margin:9px 0 0;font-size:14.5px;line-height:1.55;color:rgba(255,255,255,.6)}
.rswd-strip-acts{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.rswd-strip-call{display:inline-flex;align-items:center;gap:9px;font-family:var(--rswd-display);font-weight:700;
  font-size:14.5px;color:rgba(255,255,255,.8)}
.rswd-strip-call svg{width:16px;height:16px;color:var(--rswd-orange)}
.rswd-strip-call:hover{color:#fff}

/* ==========================================================================
   FAQ  (max-height accordion — driven by the JS)
   ========================================================================== */
.rswd-faq{background:var(--rswd-surface)}
.rswd-faq-list{max-width:780px;margin:0 auto;display:flex;flex-direction:column;gap:14px}
.rswd-faq-item{background:#fff;border:1px solid var(--rswd-line);border-radius:var(--rswd-r-md);
  overflow:hidden;transition:border-color .2s}
.rswd-faq-item.rswd-open{border-color:var(--rswd-line-2)}
.rswd-faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:22px 26px;text-align:left;font-family:var(--rswd-body);font-size:16.5px;font-weight:600;color:var(--rswd-text)}
.rswd-pm{width:26px;height:26px;flex:none;border-radius:50%;border:1px solid var(--rswd-line-2);
  display:grid;place-items:center;color:var(--rswd-text-2);font-size:14px;transition:.2s}
.rswd-faq-item.rswd-open .rswd-pm{background:var(--rswd-orange);border-color:var(--rswd-orange);color:#fff;transform:rotate(45deg)}
.rswd-faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease}
.rswd-faq-a p{margin:0;padding:0 26px 24px;font-size:15.5px;color:var(--rswd-text-2);line-height:1.7;max-width:640px}

/* ==========================================================================
   DISCOVERY CTA BAND
   ========================================================================== */
.rswd-cta-band{padding:96px 0;background:#fff}
.rswd-cta-box{position:relative;background:var(--rswd-ink);border-radius:var(--rswd-r-xl);
  padding:72px 40px;text-align:center;overflow:hidden}
.rswd-ghost{position:absolute;right:-30px;top:-50px;font-family:var(--rswd-display);font-weight:900;
  font-size:280px;line-height:1;color:rgba(255,255,255,.03);pointer-events:none;user-select:none}
.rswd-cta-box .rswd-h2{position:relative;color:#fff;max-width:640px;margin:0 auto}
.rswd-cta-box>p{position:relative;color:var(--rswd-on-dark-2);font-size:16.5px;margin:18px auto 0;max-width:520px}
.rswd-cta-actions{position:relative;margin-top:36px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.rswd-chips{position:relative;margin-top:30px;display:flex;gap:26px;justify-content:center;flex-wrap:wrap}
.rswd-chip{display:flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--rswd-on-dark-2);font-weight:600}
.rswd-chip svg{width:14px;height:14px;color:var(--rswd-orange)}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width:1080px){
  .rswd-dash-grid{grid-template-columns:1fr;gap:32px}
  .rswd-dash-right{border-left:0;border-top:1px solid var(--rswd-line);padding-left:0;padding-top:30px}
  .rswd-svc-grid,
  .rswd-cards-3{grid-template-columns:1fr 1fr}
  .rswd-appr-grid{grid-template-columns:1fr 1fr}
  .rswd-appr-step{border-bottom:1px solid var(--rswd-line)}
  .rswd-appr-step:nth-child(2n){border-right:0}
  .rswd-appr-step:nth-last-child(-n+2){border-bottom:0}
}

@media (max-width:920px){
  .rswd-hero-grid,
  .rswd-survey-grid,
  .rswd-feat-row{grid-template-columns:1fr;gap:40px}
  .rswd-hero-grid{padding:56px 0 62px}
  .rswd-hero-media,
  .rswd-feat-media{order:-1}
  .rswd-hero-photo,
  .rswd-feat-media{aspect-ratio:4/3.4;max-width:560px;margin:0 auto}
  .rswd-sub,
  .rswd-survey-sub,
  .rswd-feat-copy>p{max-width:none}
  .rswd-sec{padding:72px 0}
  .rswd-survey{padding:76px 0}
  .rswd-dash{padding:30px 20px 28px}
  .rswd-cta-band{padding:72px 0}
  .rswd-cta-box{padding:56px 28px}
  .rswd-ghost{font-size:190px;top:-32px}
}

@media (max-width:760px){
  .rswd-wrap{padding:0 18px}
  .rswd-head{margin-bottom:36px}
  .rswd-svc-grid,
  .rswd-cards-3,
  .rswd-appr-grid{grid-template-columns:1fr}
  .rswd-appr-step{border-right:0}
  .rswd-appr-step:nth-last-child(-n+2){border-bottom:1px solid var(--rswd-line)}
  .rswd-appr-step:last-child{border-bottom:0}
  .rswd-why-nums{grid-template-columns:1fr 1fr;gap:30px 18px}
  .rswd-hero-stats{gap:22px}
  .rswd-hs{flex:1 1 40%}

  /* full-width tap targets on phones */
  .rswd-hero-cta,
  .rswd-survey-cta,
  .rswd-cta-actions,
  .rswd-strip-acts{flex-direction:column;align-items:stretch}
  .rswd-hero-cta .rswd-btn,
  .rswd-survey-cta .rswd-btn,
  .rswd-cta-actions .rswd-btn,
  .rswd-cta-actions .rswd-btn-ghost,
  .rswd-strip-acts .rswd-btn,
  .rswd-hero-cta .rswd-call,
  .rswd-strip-acts .rswd-strip-call{width:100%;justify-content:center}
  .rswd-hero-cta .rswd-btn,
  .rswd-survey-cta .rswd-btn,
  .rswd-cta-actions .rswd-btn,
  .rswd-strip-acts .rswd-btn{padding-left:24px;padding-right:16px}

  .rswd-strip-inner{flex-direction:column;align-items:flex-start;gap:24px}
  .rswd-strip-acts{width:100%}
  .rswd-strip-copy h3{font-size:21px}
  .rswd-cursor{display:none}
  .rswd-logos{gap:16px}
  .rswd-logos span{font-size:13px}
}

@media (max-width:560px){
  .rswd-mock-cards{grid-template-columns:repeat(2,1fr)}
  .rswd-ba,
  .rswd-kpis{grid-template-columns:1fr}
  .rswd-ba-before,
  .rswd-ba-after{min-height:110px}
  .rswd-survey-card{padding:26px 22px}
  .rswd-survey-num b{font-size:52px}
  .rswd-survey-num span{font-size:18px}
  .rswd-svc-card,
  .rswd-adv-card,
  .rswd-appr-step{padding:24px 22px}
  .rswd-faq-q{padding:18px 20px;font-size:15.5px;gap:12px}
  .rswd-faq-a p{padding:0 20px 20px;font-size:14.5px}
  .rswd-cta-box{padding:44px 20px}
  .rswd-ghost{font-size:140px;top:-20px;right:-16px}
  .rswd-chips{gap:14px}
  .rswd-ux-title{font-size:24px}
  .rswd-wd-title{font-size:20px}
}

.rspm-bars {
    min-height: 90px;
    display: flex;
    align-items: flex-end;
    flex: 1 1 0%;
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 12px;
    gap: 7px;
}

/* ---------- accessibility ---------- */
@media (prefers-reduced-motion:reduce){
  .rswd *,
  .rswd *::before,
  .rswd *::after{animation-duration:.001ms !important;transition-duration:.001ms !important}
}




/* ---------- Hero ---------- */
.hero{position:relative;background:var(--surface);overflow:hidden}
.hero::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(60% 50% at 50% 0%, rgba(244,81,30,.06), transparent 70%),
    linear-gradient(to bottom, #fff 0%, var(--surface) 40%);
}
.hero-grid-bg{
  position:absolute;inset:0;opacity:.5;
  background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(70% 60% at 50% 30%,#000,transparent 75%);
}
.hero-inner{position:relative;text-align:center;padding:88px 0 96px;max-width:880px;margin:0 auto}
.hero h1{font-size:clamp(40px,6vw,76px);font-weight:800;letter-spacing:-.03em;margin:26px auto 0}
.hero h1 .accent{color:var(--orange)}
.hero p.sub{font-size:19px;color:var(--text-2);max-width:560px;margin:24px auto 0;line-height:1.6}
.hero-cta{margin-top:34px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
/* stat bar */
.stat-bar{
  margin:48px auto 0;max-width:620px;background:#fff;border:1px solid var(--line);
  border-radius:var(--r-lg);display:grid;grid-template-columns:repeat(3,1fr);
  box-shadow:var(--shadow-card);overflow:hidden;
}
.stat{padding:22px 24px;text-align:left;display:flex;align-items:center;gap:14px;border-right:1px solid var(--line)}
.stat:last-child{border-right:0}
.stat .ico{width:34px;height:34px;border-radius:var(--r-sm);background:var(--orange-tint);color:var(--orange-deep);display:grid;place-items:center;flex:none}
.stat .ico svg{width:18px;height:18px}
.stat .num{font-family:'Montserrat';font-weight:800;font-size:22px;letter-spacing:-.02em;line-height:1}
.stat .lab{font-size:12px;color:var(--text-3);margin-top:4px;letter-spacing:.02em}

/* ---------- Trust bar ---------- */
.trust{padding:42px 0;background:#fff;border-bottom:1px solid var(--line)}
.trust p{text-align:center;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);font-weight:600}
.logos{margin-top:26px;display:flex;justify-content:center;align-items:center;gap:56px;flex-wrap:wrap}
.logos .brand{display:flex;align-items:center;gap:10px;color:var(--text-2);font-family:'Montserrat';font-weight:700;font-size:17px;opacity:.62;transition:opacity .2s}
.logos .brand:hover{opacity:1}
.logos .brand svg{width:20px;height:20px;color:var(--text-3)}

/* ---------- Services ---------- */
.services{padding:104px 0}
.tabs{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;background:var(--slate-50);border:1px solid var(--line);border-radius:var(--r-md);padding:6px;width:max-content;max-width:100%;margin:0 auto 56px}
.tab{
  display:flex;align-items:center;gap:9px;padding:11px 20px;border-radius:var(--r-sm);
  font-size:14px;font-weight:600;color:var(--text-2);cursor:pointer;border:1px solid transparent;
  transition:all .15s;white-space:nowrap;
}
.tab svg{width:16px;height:16px}
.tab.active{background:#fff;color:var(--text);border-color:var(--line);box-shadow:var(--shadow-1)}
.tab.active svg{color:var(--orange)}
.svc-panel{display:none;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.svc-panel.active{display:grid}
.svc-copy h2{font-size:clamp(30px,3.6vw,42px);font-weight:800;margin:18px 0 0}
.svc-copy p.lead{font-size:17px;color:var(--text-2);margin-top:18px;line-height:1.6;max-width:480px}
.svc-list{margin-top:28px;display:flex;flex-direction:column;gap:16px}
.svc-list li{display:flex;gap:13px;align-items:flex-start;list-style:none;font-size:15.5px;color:var(--text)}
.svc-list .check{width:22px;height:22px;border-radius:50%;background:var(--orange-tint);color:var(--orange-deep);display:grid;place-items:center;flex:none;margin-top:1px}
.svc-list .check svg{width:13px;height:13px}
.svc-link{display:inline-flex;align-items:center;gap:9px;margin-top:30px;font-weight:700;font-size:14px;color:var(--text);border-bottom:2px solid var(--orange);padding-bottom:3px;transition:gap .15s}
.svc-link:hover{gap:14px}
.svc-link svg{width:15px;height:15px;color:var(--orange)}
/* visual card */
.svc-visual{position:relative}
.dash{
  background:var(--ink);border-radius:var(--r-lg);padding:18px;box-shadow:var(--shadow-2);
  border:1px solid var(--ink-3);
}
.dash-bar{display:flex;align-items:center;gap:7px;padding:4px 4px 14px}
.dash-bar i{width:10px;height:10px;border-radius:50%;background:#3a3f45}
.dash-bar i:first-child{background:#ff5f57}.dash-bar i:nth-child(2){background:#febc2e}.dash-bar i:nth-child(3){background:#28c840}
.dash-bar span{margin-left:8px;font-size:11px;color:#7f8893;font-family:'Inter'}
.dash-body{background:var(--ink-2);border-radius:var(--r-md);padding:18px;border:1px solid #2c3036}
.dash-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #2a2e33}
.dash-row:last-child{border-bottom:0}
.dash-row .lbl{font-size:12px;color:#9aa3ac;width:90px}
.dash-row .track{flex:1;height:8px;border-radius:99px;background:#33383e;overflow:hidden}
.dash-row .fill{height:100%;border-radius:99px;background:linear-gradient(90deg,var(--orange),var(--orange-deep))}
.dash-row .v{font-size:12px;color:#cfd5db;font-weight:600;width:42px;text-align:right}
.svc-metrics{
  position:absolute;left:-8px;bottom:-26px;background:#fff;border:1px solid var(--line);border-radius:var(--r-md);
  box-shadow:var(--shadow-card);display:flex;overflow:hidden;
}
.svc-metric{padding:14px 22px;display:flex;align-items:center;gap:11px;border-right:1px solid var(--line)}
.svc-metric:last-child{border-right:0}
.svc-metric .mi{width:30px;height:30px;border-radius:var(--r-sm);display:grid;place-items:center;flex:none}
.svc-metric .mi.up{background:rgba(31,138,76,.12);color:var(--green)}
.svc-metric .mi.cost{background:var(--orange-tint);color:var(--orange-deep)}
.svc-metric .mi svg{width:15px;height:15px}
.svc-metric .mk{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);font-weight:600}
.svc-metric .mv{font-family:'Montserrat';font-weight:800;font-size:18px}
.svc-metric .mv.green{color:var(--green)}

/* ---------- Dark video band ---------- */
.band-dark{background:var(--ink);color:var(--on-dark);padding:100px 0}
.band-dark .eyebrow{color:var(--orange)}
.sec-head{text-align:center;max-width:620px;margin:0 auto}
.sec-head h2{font-size:clamp(36px,4.6vw,56px);font-weight:900;letter-spacing:-.028em;line-height:1.05;margin-top:14px}
.sec-head.light h2{color:#fff}
.sec-head p{margin-top:18px;font-size:17.5px;line-height:1.6;color:var(--text-2)}
.sec-head{max-width:760px}
.sec-head.light p{color:var(--on-dark-2)}
.video-wrap{margin-top:54px;position:relative;border-radius:var(--r-xl);overflow:hidden;border:1px solid var(--ink-3);aspect-ratio:16/8;
  background:radial-gradient(120% 100% at 50% 120%, #2a1208 0%, #161616 55%);}
.video-wrap .play{
  position:absolute;inset:0;margin:auto;width:76px;height:76px;border-radius:50%;background:var(--orange);
  display:grid;place-items:center;cursor:pointer;box-shadow:0 12px 40px rgba(244,81,30,.45);transition:transform .2s;
}
.video-wrap .play:hover{transform:scale(1.08)}
.video-wrap .play svg{width:26px;height:26px;color:#fff;margin-left:4px}
.video-wrap .sun{position:absolute;left:50%;top:54%;transform:translate(-50%,-50%);width:120px;height:120px;border-radius:50%;
  background:radial-gradient(circle,#ffae7a,#f4511e 60%,transparent 72%);filter:blur(4px);opacity:.55}
.video-cols{position:absolute;inset:0;display:grid;grid-template-columns:repeat(3,1fr)}
.video-cols span{border-right:1px solid rgba(255,255,255,.05)}

/* ---------- Advantage ---------- */
.advantage{padding:104px 0;background:var(--surface)}
.cards-3{margin-top:56px;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.adv-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:34px 30px;
  border-top:3px solid transparent;transition:transform .2s, box-shadow .2s, border-color .2s;
}
.adv-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-card);border-top-color:var(--orange)}
.adv-card .ic{width:48px;height:48px;border-radius:var(--r-md);background:var(--orange-tint);color:var(--orange-deep);display:grid;place-items:center;margin-bottom:22px}
.adv-card .ic svg{width:24px;height:24px}
.adv-card h3{font-size:21px;font-weight:700}
.adv-card p{margin-top:12px;font-size:15px;color:var(--text-2);line-height:1.6}

/* ---------- Who we are ---------- */
.who{padding:104px 0}
.who-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:72px;align-items:center}
.who h2{font-size:clamp(34px,4.4vw,54px);font-weight:800}
.who h3{font-size:22px;font-weight:700;margin-top:26px}
.who p{font-size:16px;color:var(--text-2);margin-top:16px;line-height:1.7;max-width:480px}
.who .pull{
  margin-top:22px;padding:18px 22px;background:var(--slate-50);border-left:3px solid var(--orange);border-radius:0 var(--r-sm) var(--r-sm) 0;
  font-size:16px;color:var(--text);font-weight:500;
}
.who .pull b{color:var(--orange-deep)}
.who-cta{margin-top:34px}
/* portrait */
.portrait-stack{position:relative;justify-self:center}
.portrait-stack .glow{position:absolute;inset:-14px;background:var(--orange-tint);border-radius:var(--r-xl);transform:rotate(-3deg)}
.portrait{
  position:relative;width:380px;max-width:100%;aspect-ratio:4/4.4;border-radius:var(--r-lg);overflow:hidden;
  border:1px solid var(--line);box-shadow:var(--shadow-2);
}
.portrait .badge{
  position:absolute;left:18px;bottom:18px;right:18px;background:rgba(22,24,28,.78);backdrop-filter:blur(8px);
  border-radius:var(--r-sm);padding:13px 16px;display:flex;align-items:center;justify-content:space-between;color:#fff;
}
.portrait .badge .nm{font-family:'Montserrat';font-weight:700;font-size:15px}
.portrait .badge .ph{font-size:13px;color:#ffb59e;font-weight:600}

/* ---------- Placeholder ---------- */
.ph-img{
  width:100%;height:100%;position:relative;
  background:
    repeating-linear-gradient(45deg,#e9edf1 0 12px,#eef2f5 12px 24px);
  display:grid;place-items:center;color:#9aa6b0;
}
.ph-img.dark{background:repeating-linear-gradient(45deg,#202327 0 12px,#26292e 12px 24px);color:#6b747d}
.ph-img .tag{font-family:'Inter';font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;
  background:rgba(255,255,255,.7);padding:5px 11px;border-radius:99px;border:1px solid var(--line)}
.ph-img.dark .tag{background:rgba(0,0,0,.35);border-color:#34383e}

/* ---------- Testimonials ---------- */
.testi{background:var(--ink);color:#fff;padding:100px 0}
.testi-grid{margin-top:54px;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.testi-card{background:var(--ink-2);border:1px solid var(--ink-3);border-radius:var(--r-lg);overflow:hidden;transition:transform .2s,border-color .2s}
.testi-card:hover{transform:translateY(-4px);border-color:#3a3f46}
.testi-media{aspect-ratio:16/10;position:relative}
.testi-media .play{position:absolute;inset:0;margin:auto;width:54px;height:54px;border-radius:50%;background:rgba(255,255,255,.92);display:grid;place-items:center;cursor:pointer;transition:transform .2s}
.testi-media .play:hover{transform:scale(1.08);background:#fff}
.testi-media .play svg{width:20px;height:20px;color:var(--ink);margin-left:3px}
.testi-body{padding:24px}
.stars{display:flex;gap:3px;color:var(--orange)}
.stars svg{width:15px;height:15px}
.testi-quote{font-size:16px;font-weight:600;margin-top:14px;color:#fff;line-height:1.45}
.testi-meta{margin-top:14px;font-size:13px;color:var(--on-dark-2)}
.testi-meta b{color:#fff;font-weight:600}

/* ---------- CTA band ---------- */
.cta-band{padding:96px 0}
.cta-box{position:relative;background:var(--ink);border-radius:var(--r-xl);padding:72px 40px;text-align:center;overflow:hidden}
.cta-box .ghost-letter{position:absolute;right:-30px;top:-50px;font-family:'Montserrat';font-weight:900;font-size:280px;color:rgba(255,255,255,.03);line-height:1;pointer-events:none}
.cta-box h2{position:relative;font-size:clamp(30px,4vw,46px);font-weight:800;color:#fff;max-width:640px;margin:0 auto}
.cta-box p{position:relative;color:var(--on-dark-2);font-size:16.5px;margin:18px auto 0;max-width:520px}
.cta-actions{position:relative;margin-top:36px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.cta-chips{position:relative;margin-top:30px;display:flex;gap:26px;justify-content:center;flex-wrap:wrap}
.cta-chip{display:flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--on-dark-2);font-weight:600}
.cta-chip svg{width:14px;height:14px;color:var(--orange)}

/* ---------- FAQ ---------- */
.faq{padding:100px 0;background:var(--surface)}
.faq-list{max-width:780px;margin:54px auto 0;display:flex;flex-direction:column;gap:14px}
.faq-item{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;transition:border-color .2s}
.faq-item.open{border-color:var(--line-strong)}
.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 26px;cursor:pointer;background:none;border:0;text-align:left;font-family:'Inter';font-size:16.5px;font-weight:600;color:var(--text)}
.faq-q .pm{width:26px;height:26px;border-radius:50%;border:1px solid var(--line-strong);display:grid;place-items:center;flex:none;transition:.2s;color:var(--text-2)}
.faq-item.open .pm{background:var(--orange);border-color:var(--orange);color:#fff;transform:rotate(45deg)}
.faq-q .pm svg{width:14px;height:14px}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease}
.faq-a p{padding:0 26px 24px;font-size:15.5px;color:var(--text-2);line-height:1.7;max-width:640px}

/* ---------- Blog ---------- */
.blog{padding:100px 0}
.blog-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}
.blog-head h2{font-size:clamp(28px,3.4vw,40px);font-weight:800}
.blog-head p{color:var(--text-2);margin-top:12px;font-size:16px}
.blog-all{font-weight:700;font-size:14px;display:inline-flex;align-items:center;gap:8px;color:var(--text);border-bottom:2px solid var(--orange);padding-bottom:3px}
.blog-all svg{width:15px;height:15px;color:var(--orange)}
.blog-grid{margin-top:48px;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:24px}
.post{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:#fff;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column}
.post:hover{transform:translateY(-4px);box-shadow:var(--shadow-card)}
.post-media{aspect-ratio:16/10}
.post-body{padding:24px;display:flex;flex-direction:column;gap:10px;flex:1}
.post .cat{font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--orange)}
.post h3{font-size:19px;font-weight:700;line-height:1.25}
.post.feat h3{font-size:23px}
.post p{font-size:14.5px;color:var(--text-2);line-height:1.6}
.post .read{margin-top:auto;padding-top:8px;font-size:13px;font-weight:600;color:var(--text);display:inline-flex;align-items:center;gap:7px}
.post .read svg{width:14px;height:14px;color:var(--orange)}


/* ---------- Case study slider ---------- */
.cs-slider{margin-top:52px}
.cs-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:4px 4px 10px;-ms-overflow-style:none;scrollbar-width:none}
.cs-track::-webkit-scrollbar{display:none}
.cs-card{flex:0 0 calc((100% - 48px)/3);scroll-snap-align:start;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;transition:transform .2s,box-shadow .2s,border-color .2s}
.cs-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-card);border-color:#dcdcd8}
.cs-logo{height:132px;flex:none;display:grid;place-items:center;padding:22px 26px;background:var(--slate-50);border-bottom:1px solid var(--line)}
.cs-logo img{max-height:74px;max-width:200px;width:auto;object-fit:contain;display:block}
.cs-wm{font-family:'Montserrat',sans-serif;font-weight:800;font-size:19px;letter-spacing:-.015em;color:var(--ink);text-align:center;line-height:1.2}
.cs-body{padding:24px 26px 26px;display:flex;flex-direction:column;gap:12px;flex:1}
.cs-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.cs-cat{font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);background:rgba(240,120,40,.14);border-radius:99px;padding:5px 11px}
.cs-loc{font-size:12.5px;color:var(--text-3)}
.cs-card h3{font-family:'Montserrat',sans-serif;font-weight:800;font-size:19px;line-height:1.26;letter-spacing:-.015em;color:var(--ink);text-wrap:balance}
.cs-card p{font-size:14.5px;line-height:1.6;color:var(--text-2);margin:0}
.cs-link{margin-top:auto;padding-top:6px;display:inline-flex;align-items:center;gap:7px;font-size:13.5px;font-weight:700;color:var(--ink);text-decoration:none}
.cs-link svg{width:14px;height:14px;color:var(--orange);transition:transform .18s}
.cs-link:hover svg{transform:translate(2px,-2px)}
.cs-controls{display:flex;align-items:center;justify-content:space-between;margin-top:22px}
.cs-count{font-size:13px;color:var(--text-3);letter-spacing:.04em}
.cs-count b{color:var(--ink);font-weight:700}
.cs-arrows{display:flex;gap:10px}
.cs-arrow{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--ink);display:grid;place-items:center;cursor:pointer;transition:background .18s,color .18s,border-color .18s}
.cs-arrow:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.cs-arrow svg{width:18px;height:18px}
@media(max-width:1000px){.cs-card{flex:0 0 calc((100% - 24px)/2)}}
@media(max-width:680px){.cs-card{flex:0 0 86%}}

/* ---------- Success Stories ---------- */
.stories{padding:104px 0;background:var(--surface)}
.stories-grid{margin-top:56px;display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.story{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.story:hover{transform:translateY(-4px);box-shadow:var(--shadow-card)}
.story-media{aspect-ratio:16/11}
.story-body{padding:26px 26px 28px;display:flex;flex-direction:column;gap:18px;flex:1}
.story-cat{align-self:flex-start;font-size:12px;font-weight:600;color:var(--text-2);background:var(--slate-50);border:1px solid var(--line);padding:6px 14px;border-radius:99px}
.story h3{font-size:21px;font-weight:700;line-height:1.28;letter-spacing:-.01em;text-wrap:pretty}
.story-read{margin-top:auto;display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--text)}
.story-read svg{width:15px;height:15px;color:var(--orange);transition:transform .15s}
.story:hover .story-read svg{transform:translate(2px,-2px)}

/* ---------- Google Reviews ---------- */
.reviews{background:#f4f3f1;padding:64px 0 0}
.reviews-shell{position:relative;max-width:1200px;margin:0 auto;background:#e9e8e6;border-radius:28px;padding:72px 48px 0;overflow:hidden}
.reviews-shell .sec-head h2{color:var(--ink)}
.reviews-shell .sec-head p{color:var(--text-2)}
.rv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.rv-grid.top{margin-top:52px}
.rv-card{background:#fff;border-radius:14px;padding:22px 22px 24px;box-shadow:0 1px 3px rgba(16,18,22,.05);display:flex;flex-direction:column;gap:15px;min-height:172px}
.rv-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.rv-stars{display:flex;gap:2px}
.rv-stars svg{width:15px;height:15px;color:#fbbc05}
.rv-src{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--text-3);font-weight:500}
.rv-src .g{width:16px;height:16px;flex:none}
.rv-text{font-size:14.5px;line-height:1.5;color:#3a4047;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.rv-person{display:flex;align-items:center;gap:12px;margin-top:auto}
.rv-avatar{width:40px;height:40px;border-radius:50%;flex:none;display:grid;place-items:center;font-family:'Montserrat';font-weight:700;font-size:15px;color:#fff;background:var(--ink)}
.rv-name{font-size:14px;font-weight:600;color:var(--text);line-height:1.2}
.rv-role{font-size:13px;color:var(--text-3);margin-top:2px}
.rv-faded{position:relative;margin-top:22px;max-height:96px;overflow:hidden}
.rv-faded::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(233,232,230,0) 0%,rgba(233,232,230,.85) 70%,#e9e8e6 100%);pointer-events:none}
.rv-cta{position:relative;z-index:3;text-align:center;margin-top:-30px;padding-bottom:56px}
.btn-reviews{display:inline-flex;align-items:center;gap:14px;background:var(--ink);color:#fff;font-family:'Inter';font-weight:600;font-size:15px;padding:11px 13px 11px 24px;border-radius:11px;box-shadow:0 12px 30px rgba(16,18,22,.22);transition:transform .15s,box-shadow .2s}
.btn-reviews:hover{transform:translateY(-2px);box-shadow:0 16px 38px rgba(16,18,22,.28)}
.btn-reviews .ic{width:30px;height:30px;border-radius:7px;background:var(--orange);display:grid;place-items:center;flex:none}
.btn-reviews .ic svg{width:15px;height:15px;color:#fff}
@media(max-width:920px){.rv-grid{grid-template-columns:1fr}.reviews-shell{padding:56px 22px 0}.rv-faded{max-height:86px}}

/* ===== Discovery CTA button (hover-invert) ===== */
.btn-disc{display:inline-flex;align-items:center;gap:14px;background:var(--ink);color:#fff;font-family:'Inter';font-weight:700;font-size:15px;letter-spacing:-.01em;padding:11px 11px 11px 24px;border-radius:14px;border:2px solid var(--ink);cursor:pointer;transition:background .22s,color .22s,border-color .22s,transform .15s}
.btn-disc .da{width:34px;height:34px;border-radius:9px;background:var(--orange);display:grid;place-items:center;flex:none;transition:background .22s}
.btn-disc .da svg{width:17px;height:17px;color:#fff;transition:color .22s}
.btn-disc:hover{background:#fff;color:var(--ink);transform:translateY(-2px)}
.btn-disc:hover .da{background:var(--ink)}
.btn-disc:hover .da svg{color:var(--orange)}
.btn-disc.lg{font-size:16px;padding:13px 13px 13px 28px}
.btn-disc.lg .da{width:38px;height:38px}

/* ===== Donut rings ===== */
.donut{position:relative;border-radius:50%;background:conic-gradient(var(--orange) 0 30%,#dfe3e7 30% 100%);flex:none}
.donut::after{content:"";position:absolute;inset:30%;background:#fff;border-radius:50%}
.donut.sm{width:34px;height:34px}
.donut.md{width:54px;height:54px}

/* ===== GF Header ===== */
header.gf-nav{position:sticky;top:0;z-index:60;background:#fff;border-bottom:1px solid var(--line)}
.gf-nav-inner{display:flex;align-items:center;height:86px;gap:30px}
.gf-logo{display:flex;align-items:center;gap:13px}
.gf-ring{position:relative;width:40px;height:40px;border-radius:50%;background:conic-gradient(from 90deg,#f6b21b,#f4511e,#18a0b8,#1f8a5b,#f6b21b);flex:none}
.gf-ring::after{content:"";position:absolute;inset:9px;background:#fff;border-radius:50%}
.gf-logo .wm{font-family:'Montserrat';font-weight:800;font-size:18px;line-height:.96;letter-spacing:-.01em;text-transform:uppercase;color:var(--ink)}
.gf-links{margin-left:auto;display:flex;align-items:center;gap:30px}
.gf-links a{font-size:15.5px;font-weight:500;color:var(--text);display:flex;align-items:center;gap:5px;transition:color .15s}
.gf-links a:hover{color:var(--orange)}
.gf-links .cv{width:13px;height:13px;color:var(--text-3)}
.gf-cta{margin-left:8px}
.gf-menu{display:none}

/* ===== Services 2.0 (GF dashboards) ===== */
.services2{padding:96px 0 130px;background:var(--surface)}
.services2 .sec-head{margin-bottom:44px}
.svc2-wrap{max-width:1120px;margin:0 auto;position:relative}
.svc2-tabs{display:flex;justify-content:center;gap:6px;position:relative;z-index:3;padding:0 12px}
.svc2-tab{position:relative;display:flex;align-items:center;gap:9px;padding:15px 24px 16px;font-family:'Inter';font-weight:700;font-size:15px;color:var(--text-2);background:#e7eaed;border:1px solid var(--line);border-bottom:none;border-radius:14px 14px 0 0;cursor:pointer;transition:background .2s,color .2s;white-space:nowrap;overflow:hidden}
.svc2-tab .ti{width:19px;height:19px;color:var(--text-3);flex:none}
.svc2-tab.active{background:#fff;color:var(--ink)}
.svc2-tab.active .ti{color:var(--orange)}
.svc2-timer{position:absolute;left:0;bottom:0;height:3px;width:0;background:var(--orange)}
.svc2-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-card);padding:46px 46px 40px;min-height:560px}
.svc2-panel{display:none}
.svc2-panel.active{display:block;animation:fadeUp .4s ease both}
@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.svc2-cta-wrap{display:flex;justify-content:center;margin-top:34px;margin-bottom:-62px;position:relative;z-index:5}

/* shared dashboard bits */
.skel{background:#eef1f4;border-radius:6px;display:block}
.dash-grid{display:grid;gap:42px;align-items:start}
.dash-divider{border-left:1px solid var(--line)}
.stat-num{font-family:'Montserrat';font-weight:800;letter-spacing:-.02em;color:var(--ink)}

/* UX panel */
.d-ux{grid-template-columns:1.4fr 1fr}
.ux-url{font-size:14px;color:var(--text-3)}
.ux-title{font-family:'Montserrat';font-weight:800;font-size:30px;letter-spacing:-.02em;margin-top:8px;color:var(--ink)}
.ux-skel{margin-top:22px;display:flex;flex-direction:column;gap:11px;max-width:430px}
.ux-stars{display:flex;gap:4px;color:var(--orange);margin-top:26px}
.ux-stars svg{width:20px;height:20px}
.ux-contact{position:relative;display:inline-flex;align-items:center;margin-top:24px;background:var(--orange);color:#fff;font-weight:700;font-size:15px;padding:12px 26px;border-radius:10px;border:none;font-family:'Inter'}
.ux-cursor{position:absolute;right:-26px;bottom:-18px;width:30px;height:30px;color:var(--ink)}
.ux-trust{margin-top:40px;font-size:13px;color:var(--text-3);letter-spacing:.04em}
.ux-logos{margin-top:14px;display:flex;flex-wrap:wrap;gap:26px;align-items:center}
.ux-logos span{font-family:'Montserrat';font-weight:700;font-size:15px;color:var(--text-3);opacity:.7}
.wd-title{font-family:'Montserrat';font-weight:800;font-size:24px;color:var(--ink);margin-bottom:20px}
.wd-card{border:1px solid var(--line);border-radius:14px;padding:22px 24px;margin-bottom:16px}
.wd-num{font-family:'Montserrat';font-weight:800;font-size:30px;letter-spacing:-.02em;color:var(--ink)}
.wd-lab{font-size:14px;color:var(--text-2);margin-top:3px}
.d-ux .dash-right{padding-left:42px}

/* Paid panel */
.d-paid{grid-template-columns:1.55fr 1fr}
.pm-head{display:flex;align-items:center;gap:13px;margin-bottom:18px}
.pm-head h3{font-family:'Montserrat';font-weight:800;font-size:24px;color:var(--ink)}
.pm-chartbox{border:1px solid var(--line);border-radius:14px;padding:20px}
.pm-chart{width:100%;height:auto;display:block}
.pm-card{border:1px solid var(--line);border-radius:14px;padding:22px 24px;margin-bottom:16px}
.pm-card-t{font-family:'Montserrat';font-weight:700;font-size:18px;color:var(--text-3);margin-bottom:18px}
.pm-card-t b{color:var(--ink)}
.pm-stats{display:grid;grid-template-columns:1fr 1fr;gap:22px 18px}
.pm-stat .n{font-family:'Montserrat';font-weight:800;font-size:27px;letter-spacing:-.02em;color:var(--ink)}
.pm-stat .l{font-size:13px;color:var(--text-3);margin-top:2px}

/* Voice panel */
.d-voice{grid-template-columns:1.4fr 1fr}
.va-call{background:var(--ink);border-radius:16px;padding:22px;color:#fff}
.va-top{display:flex;align-items:center;gap:13px}
.va-avatar{width:46px;height:46px;border-radius:12px;background:linear-gradient(135deg,var(--orange),var(--orange-deep));display:grid;place-items:center;font-family:'Montserrat';font-weight:800;font-size:15px;flex:none;position:relative}
.va-avatar::after{content:"";position:absolute;inset:-5px;border-radius:14px;border:2px solid var(--orange);opacity:.5;animation:pulse 1.8s ease-out infinite}
@keyframes pulse{0%{transform:scale(1);opacity:.5}100%{transform:scale(1.18);opacity:0}}
.va-name{font-weight:700;font-size:15px}
.va-status{font-size:12.5px;color:#9aa3ac;margin-top:3px;display:flex;align-items:center;gap:6px}
.va-status .d{width:7px;height:7px;border-radius:50%;background:#1fd17a;box-shadow:0 0 0 0 rgba(31,209,122,.6);animation:blip 1.6s infinite}
@keyframes blip{0%{box-shadow:0 0 0 0 rgba(31,209,122,.5)}100%{box-shadow:0 0 0 7px rgba(31,209,122,0)}}
.va-live{margin-left:auto;font-size:10.5px;font-weight:700;letter-spacing:.12em;color:var(--orange);border:1px solid rgba(244,81,30,.4);padding:4px 9px;border-radius:99px}
.va-wave{display:flex;align-items:center;justify-content:center;gap:3px;height:46px;margin:18px 0}
.va-wave i{width:3px;border-radius:99px;background:var(--orange);animation:wave 1s ease-in-out infinite}
@keyframes wave{0%,100%{height:8px;opacity:.45}50%{height:34px;opacity:1}}
.va-trans{display:flex;flex-direction:column;gap:9px}
.va-trans p{font-size:13px;line-height:1.45;padding:10px 13px;border-radius:11px;max-width:85%;margin:0}
.va-trans .ai{background:#26292e;color:#e8ebee;border-bottom-left-radius:3px}
.va-trans .user{background:var(--orange);color:#fff;align-self:flex-end;border-bottom-right-radius:3px}
.va-booked{margin-top:16px;display:flex;align-items:center;gap:9px;background:rgba(31,138,76,.16);color:#5fe39b;font-size:13px;font-weight:600;padding:11px 14px;border-radius:10px}
.va-booked svg{width:16px;height:16px}
.va-card{border:1px solid var(--line);border-radius:14px;padding:22px 24px;margin-bottom:16px}
.va-card .ct{font-family:'Montserrat';font-weight:700;font-size:18px;color:var(--text-3);margin-bottom:18px}
.va-card .ct b{color:var(--ink)}
.va-agent{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line)}
.va-agent:first-of-type{border-top:none}
.va-ava{width:32px;height:32px;border-radius:9px;background:var(--slate-50);display:grid;place-items:center;font-family:'Montserrat';font-weight:700;font-size:13px;color:var(--text-2);flex:none}
.va-agent .an{font-size:14px;font-weight:600;color:var(--ink)}
.va-agent .ar{font-size:12.5px;color:var(--text-3)}
.va-agent .st{margin-left:auto;font-size:12px;font-weight:600;display:flex;align-items:center;gap:6px}
.va-agent .st .dd{width:7px;height:7px;border-radius:50%}
.va-agent .st.on{color:var(--green)}.va-agent .st.on .dd{background:var(--green)}
.va-agent .st.idle{color:var(--text-3)}.va-agent .st.idle .dd{background:var(--text-3)}

/* SEO panel */
.d-seo{grid-template-columns:1.5fr 1fr}
.seo-row{display:flex;align-items:center;gap:14px;margin-bottom:24px}
.seo-search{flex:1;display:flex;align-items:center;gap:10px;border:1px solid var(--line-strong);border-radius:99px;padding:12px 18px;color:var(--text-3);font-size:15px}
.seo-search svg{width:18px;height:18px;margin-left:auto;color:var(--text-3)}
.seo-skel{display:flex;flex-direction:column;gap:24px;margin-bottom:24px}
.seo-skel .blk{display:flex;gap:16px}
.seo-skel .blk .th{width:62px;height:62px;border-radius:10px;background:#eef1f4;flex:none}
.seo-skel .blk .ln{flex:1;display:flex;flex-direction:column;gap:9px;padding-top:6px}
.seo-listing{border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:var(--shadow-1)}
.sl-top{display:flex;align-items:center;gap:12px}
.sl-top b{font-family:'Montserrat';font-weight:800;font-size:16px;letter-spacing:.01em;color:var(--ink)}
.sl-stars{display:flex;gap:2px;color:var(--orange)}
.sl-stars svg{width:14px;height:14px}
.sl-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-top:16px}
.sl-url{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--text-2);background:var(--slate-50);border:1px solid var(--line);padding:7px 12px;border-radius:8px}
.sl-url svg{width:14px;height:14px;color:var(--text-3)}
.sl-map{width:200px;height:96px;border-radius:10px;position:relative;overflow:hidden;background:
  linear-gradient(#e7eaed,#e7eaed) padding-box,
  repeating-linear-gradient(60deg,#dfe3e7 0 1px,transparent 1px 26px),
  repeating-linear-gradient(-30deg,#dfe3e7 0 1px,transparent 1px 22px);
  background-color:#eef1f4;border:1px solid var(--line)}
.sl-map .pin{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);color:var(--orange)}
.sl-map .pin svg{width:26px;height:26px;filter:drop-shadow(0 4px 6px rgba(0,0,0,.18))}
.seo-nav-ic{color:var(--orange)}
.seo-nav-ic svg{width:26px;height:26px}
.d-seo .dash-right h3{font-family:'Montserrat';font-weight:800;font-size:28px;color:var(--ink);margin-top:10px}
.seo-div{height:1px;background:var(--line);margin:18px 0}
.d-seo .dash-right>p{font-size:16px;color:var(--text-2);line-height:1.6}
.seo-bullets{margin-top:20px;display:flex;flex-direction:column;gap:12px}
.seo-bullets div{background:var(--slate-50);border:1px solid var(--line);border-radius:10px;padding:14px 16px;font-size:14.5px;color:var(--text);line-height:1.5}
.d-seo .dash-right{padding-left:42px}

/* ===== Survey ===== */
.survey{background:var(--ink);color:#fff;padding:118px 0}
.survey-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.survey-left .eyebrow{color:var(--orange)}
.survey-left h2{font-family:'Montserrat';font-weight:800;font-size:clamp(34px,4.6vw,58px);text-transform:uppercase;letter-spacing:-.02em;line-height:1.04;margin-top:22px;border-top:1px solid rgba(255,255,255,.16);padding-top:26px}
.survey-left p{margin-top:22px;font-size:17px;color:var(--on-dark-2);line-height:1.6;max-width:420px}
.survey-q .ql{border-top:1px solid rgba(255,255,255,.16);padding:18px 0;font-family:'Montserrat';font-weight:800;font-size:clamp(24px,2.9vw,40px);text-transform:uppercase;letter-spacing:-.01em;line-height:1.05}
.survey-q .ql:last-of-type{border-bottom:1px solid rgba(255,255,255,.16)}
.survey-cta{margin-top:38px;display:flex;justify-content:center}

/* ===== GF Footer ===== */
footer.gf-foot{background:#ece9e5;color:var(--text);padding:0 0 38px}
.gf-foot-head{max-width:1200px;margin:0 auto;padding:72px 24px 40px;display:flex;align-items:flex-start;gap:26px}
.gf-foot-head h2{font-family:'Montserrat';font-weight:800;font-size:clamp(34px,4vw,52px);letter-spacing:-.02em;color:var(--ink)}
.gf-foot-head p{font-size:17px;color:var(--text-2);margin-top:14px;max-width:520px}
.gf-foot-card{max-width:1200px;margin:0 auto;background:#fff;border-radius:26px;padding:52px 52px;display:grid;grid-template-columns:repeat(5,1fr);gap:30px}
.gf-foot-card h4{font-family:'Montserrat';font-weight:800;font-size:19px;color:var(--ink);margin-bottom:18px;letter-spacing:-.01em}
.gf-foot-card a{display:block;font-size:15px;color:var(--text-2);margin-bottom:12px;transition:color .15s}
.gf-foot-card a:hover{color:var(--orange)}
.gf-foot-legal{max-width:1200px;margin:26px auto 0;padding:0 28px;display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;font-size:13.5px;color:var(--text-3)}
.gf-foot-legal .socs{display:flex;gap:12px}
.gf-foot-legal .socs a{width:34px;height:34px;border-radius:9px;border:1px solid var(--line-strong);display:grid;place-items:center;color:var(--text-2);transition:.15s}
.gf-foot-legal .socs a:hover{color:var(--orange);border-color:var(--orange)}
.gf-foot-legal .socs svg{width:16px;height:16px}

@media(max-width:980px){
  .dash-grid{grid-template-columns:1fr !important;gap:32px}
  .dash-divider.d-ux .dash-right.d-seo .dash-right{border-left:none;padding-left:0}
  .gf-foot-card{grid-template-columns:1fr 1fr}
  .survey-grid{grid-template-columns:1fr;gap:44px}
}
@media(max-width:920px){
  .gf-links{display:none}
  .gf-menu{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer;margin-left:auto}
  .gf-menu svg{width:22px;height:22px}
  .gf-cta{display:none}
  .svc2-tabs{overflow-x:auto;justify-content:flex-start}
  .svc2-card{padding:32px 22px}
}
@media(max-width:560px){
  .gf-foot-card{grid-template-columns:1fr;padding:36px 26px}
  .pm-stats{grid-template-columns:1fr 1fr}
}

/* ---------- Footer ---------- */
footer{background:var(--ink);color:var(--on-dark-2);padding:64px 0 34px}
.foot-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-bottom:44px;border-bottom:1px solid var(--ink-3)}
.foot-brand .logo{color:#fff}
.foot-brand p{margin-top:16px;font-size:14px;max-width:280px;line-height:1.6}
.foot-col h4{font-family:'Inter';font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#fff;font-weight:700;margin-bottom:16px}
.foot-col a{display:block;font-size:14px;margin-bottom:11px;color:var(--on-dark-2);transition:color .15s}
.foot-col a:hover{color:#fff}
.foot-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:24px;font-size:13px;flex-wrap:wrap;gap:12px}
.foot-bottom .socials{display:flex;gap:14px}
.foot-bottom .socials a{width:32px;height:32px;border-radius:var(--r-sm);border:1px solid var(--ink-3);display:grid;place-items:center;color:var(--on-dark-2);transition:.15s}
.foot-bottom .socials a:hover{color:#fff;border-color:#3a3f46}
.foot-bottom .socials svg{width:15px;height:15px}

/* ---------- Responsive ---------- */
@media(max-width:920px){
  .nav-links.nav-phone{display:none}
  .menu-btn{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:var(--r-sm);background:#fff;cursor:pointer}
  .menu-btn svg{width:20px;height:20px}
  .svc-panel.active.who-grid{grid-template-columns:1fr;gap:48px}
  .cards-3.testi-grid.blog-grid.stories-grid{grid-template-columns:1fr}
  .foot-top{grid-template-columns:1fr 1fr}
  .svc-metrics{position:static;margin-top:18px;width:max-content}
  .portrait{width:320px}
}
@media(max-width:560px){
  .stat-bar{grid-template-columns:1fr}
  .stat{border-right:0;border-bottom:1px solid var(--line)}
  .foot-top{grid-template-columns:1fr}
  .hero-inner{padding:60px 0 70px}
}

/* ===== Compact header + brand mark ===== */
.gf-nav-inner{height:66px !important;gap:26px}
.gf-mark{height:34px;width:auto;display:block;flex:none}
.gf-logo .wm{font-size:16px}
.gf-cta{padding-top:9px;padding-bottom:9px}

/* ===== on-dark discovery button ===== */
.btn-disc.on-dark{background:#fff;color:var(--ink);border-color:#fff}
.btn-disc.on-dark .da{background:var(--orange)}
.btn-disc.on-dark .da svg{color:#fff}
.btn-disc.on-dark:hover{background:transparent;color:#fff;border-color:#fff}
.btn-disc.on-dark:hover .da{background:#fff}
.btn-disc.on-dark:hover .da svg{color:var(--orange)}

/* ===== Showreel ===== */
.showreel{padding:104px 0;background:var(--surface)}
.reel-stage{position:relative;margin-top:50px;border-radius:20px;overflow:hidden;background:var(--ink);box-shadow:var(--shadow-2);aspect-ratio:16/9;max-height:660px}
.reel-media{position:absolute;inset:0;background:radial-gradient(120% 100% at 30% 30%,#3a2418,#14151a 70%);transition:background .5s ease}
.reel-scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,13,15,.92),rgba(12,13,15,.5) 46%,rgba(12,13,15,.12) 72%,transparent)}
.reel-scrim.bottom{background:linear-gradient(0deg,rgba(12,13,15,.9),transparent 40%)}
.reel-content{position:absolute;left:0;top:0;bottom:96px;width:62%;max-width:700px;padding:56px;display:flex;flex-direction:column;justify-content:center;z-index:2}
.reel-tag{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;margin-bottom:22px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:#fff;background:var(--orange);padding:7px 13px;border-radius:99px}
.reel-quote{font-family:'Montserrat';font-weight:800;font-size:clamp(25px,3.3vw,44px);line-height:1.08;letter-spacing:-.02em;color:#fff;text-wrap:balance;margin:0}
.reel-by{margin-top:24px;font-size:16px;color:#fff}
.reel-by b{font-weight:700}.reel-by span{color:var(--on-dark-2);margin-left:8px}
.reel-play{position:absolute;right:9%;top:42%;transform:translateY(-50%);width:84px;height:84px;border-radius:50%;background:var(--orange);display:grid;place-items:center;cursor:pointer;z-index:3;box-shadow:0 14px 44px rgba(244,81,30,.5);transition:transform .2s}
.reel-play::after{content:"";position:absolute;inset:-12px;border-radius:50%;border:2px solid rgba(255,255,255,.4);animation:pulse 2s ease-out infinite}
.reel-play:hover{transform:translateY(-50%) scale(1.07)}
.reel-play svg{width:30px;height:30px;color:#fff;margin-left:4px}
.reel-rail{position:absolute;left:0;right:0;bottom:0;z-index:4;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.1)}
.reel-chip{display:flex;align-items:center;gap:13px;padding:18px 22px;background:rgba(12,13,15,.55);backdrop-filter:blur(6px);border:none;cursor:pointer;text-align:left;transition:background .2s,opacity .2s;opacity:.5}
.reel-chip:hover{opacity:.82;background:rgba(12,13,15,.7)}
.reel-chip.active{opacity:1;background:rgba(12,13,15,.8);box-shadow:inset 0 3px 0 var(--orange)}
.reel-ava{width:42px;height:42px;border-radius:50%;flex:none;overflow:hidden;border:2px solid rgba(255,255,255,.25)}
.reel-chip.active .reel-ava{border-color:var(--orange)}
.reel-ava .ph-img{height:100%}
.reel-cn{font-size:14px;font-weight:700;color:#fff;line-height:1.2}
.reel-cr{font-size:12.5px;color:var(--on-dark-2);margin-top:2px}
@media(max-width:760px){
  .reel-content{width:100%;max-width:none;padding:28px}
  .reel-play{right:50%;top:38%;transform:translate(50%,-50%)}
  .reel-rail{grid-template-columns:1fr 1fr}
  .reel-chip{padding:12px 14px}
}

/* ===== Survey restyle ===== */
.survey2{background:var(--ink);color:#fff;padding:108px 0;position:relative;overflow:hidden}
.survey2::before{content:"";position:absolute;right:-70px;top:-70px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(244,81,30,.18),transparent 70%)}
.survey2-grid{position:relative;display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:center}
.survey2 .eyebrow{color:var(--orange)}
.survey2 h2{font-family:'Montserrat';font-weight:800;font-size:clamp(32px,4.2vw,52px);letter-spacing:-.02em;line-height:1.06;margin-top:20px;color:#fff}
.survey2 .s2-sub{margin-top:20px;font-size:17px;color:var(--on-dark-2);line-height:1.65;max-width:450px}
.survey2 .s2-cta{margin-top:34px}
.s2-card{background:var(--ink-2);border:1px solid var(--ink-3);border-radius:18px;padding:36px 36px}
.s2-num{display:flex;align-items:center;gap:16px}
.s2-num b{font-family:'Montserrat';font-weight:800;font-size:68px;line-height:.8;color:var(--orange);letter-spacing:-.03em}
.s2-num span{font-family:'Montserrat';font-weight:700;font-size:21px;color:#fff;line-height:1.12}
.s2-list{margin-top:26px;display:flex;flex-direction:column}
.s2-item{display:flex;align-items:center;gap:13px;padding:13px 0;border-top:1px solid var(--ink-3);font-size:15.5px;color:var(--on-dark)}
.s2-item:first-child{border-top:none}
.s2-i{width:26px;height:26px;border-radius:50%;background:rgba(244,81,30,.16);color:var(--orange);display:grid;place-items:center;flex:none;font-size:12px;font-weight:700;font-family:'Montserrat'}
@media(max-width:860px){.survey2-grid{grid-template-columns:1fr;gap:40px}}

/* ===== Footer brand lockup ===== */
.gf-foot-head .foot-mark{height:56px;width:auto;flex:none}
.brand-lockup{display:flex;align-items:flex-end;gap:11px}
.brand-lockup .bl-mark{height:32px;width:auto}
.brand-lockup .bl-wm{font-family:'Montserrat';font-weight:800;font-size:19px;letter-spacing:-.01em;color:var(--ink);line-height:1;text-transform:lowercase}
.brand-lockup .bl-icons{display:flex;gap:5px;color:var(--orange);margin-bottom:3px}
.brand-lockup .bl-icons svg{width:14px;height:14px}
.gf-foot-legal .legal-left{display:flex;align-items:center;gap:22px;flex-wrap:wrap}

/* hero pillars (peace/megaphone/globe brand motif) */
.hero-pillars{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap}
.hp{display:inline-flex;align-items:center;gap:8px;font-family:'Inter';font-weight:700;font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-2)}
.hp svg{width:16px;height:16px;color:var(--orange)}
.hp-sep{width:5px;height:5px;border-radius:50%;background:var(--orange);opacity:.45}
/* nav mega dropdown */
.gf-links .has-mega{position:relative}
.gf-links .mega-trigger{cursor:pointer}
.gf-mega{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(4px);background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-2);padding:24px;display:grid;grid-template-columns:1fr 1fr;gap:28px;min-width:540px;opacity:0;visibility:hidden;transition:opacity .18s ease,transform .18s ease;z-index:80}
.gf-mega::before{content:"";position:absolute;top:-14px;left:0;right:0;height:16px}
.has-mega:hover .gf-mega,.has-mega:focus-within .gf-mega{opacity:1;visibility:visible;transform:translateX(-50%) translateY(10px)}
.mega-col{display:flex;flex-direction:column}
.mega-head{display:flex;align-items:center;gap:12px;padding:0 8px 12px;margin-bottom:8px;border-bottom:1px solid var(--line)}
.mega-head .mega-ic{width:38px;height:38px;border-radius:10px;background:var(--orange-tint);color:var(--orange-deep);display:grid;place-items:center;flex:none}
.mega-head .mega-ic svg{width:20px;height:20px}
.mega-head b{display:block;font-family:'Montserrat';font-weight:800;font-size:16px;color:var(--ink)}
.mega-head small{display:block;font-size:12.5px;color:var(--text-3);font-weight:500;margin-top:1px}
.mega-col a{display:block;padding:8px 10px;border-radius:8px;font-size:14.5px;color:var(--text-2);font-weight:500;transition:background .12s,color .12s}
.mega-col a:hover{background:var(--slate-50);color:var(--orange)}
.mega-col a.mega-head:hover{background:none}
.mega-col .mega-all{margin-top:6px;font-weight:700;color:var(--ink);font-size:13.5px}
.mega-col .mega-all:hover{color:var(--orange)}

/* nav simple dropdown (Solutions / About) */
.gf-links .has-drop{position:relative}
.gf-links .drop-trigger{cursor:pointer}
.gf-drop{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(4px);background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-2);padding:10px;min-width:260px;opacity:0;visibility:hidden;transition:opacity .18s ease,transform .18s ease;z-index:80;display:flex;flex-direction:column;gap:2px}
.gf-drop::before{content:"";position:absolute;top:-14px;left:0;right:0;height:16px}
.has-drop:hover .gf-drop,.has-drop:focus-within .gf-drop{opacity:1;visibility:visible;transform:translateX(-50%) translateY(10px)}
.gf-drop a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;color:var(--text-2);transition:background .12s,color .12s}
.gf-drop a:hover{background:var(--slate-50)}
.gf-drop a .di{width:34px;height:34px;border-radius:9px;background:var(--orange-tint);color:var(--orange-deep);display:grid;place-items:center;flex:none}
.gf-drop a .di svg{width:17px;height:17px}
.gf-drop a b{display:block;font-family:'Montserrat';font-weight:700;font-size:14.5px;color:var(--ink);line-height:1.15}
.gf-drop a small{display:block;font-size:12.5px;color:var(--text-3);font-weight:500;margin-top:2px}
.gf-drop a:hover b{color:var(--orange)}
@media(max-width:920px){.gf-mega.gf-drop{display:none}}

/* ===================== INNER PAGES ===================== */
.ip-hero{background:var(--surface);border-bottom:1px solid var(--line);position:relative;overflow:hidden}
.ip-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 60% at 80% 0%,rgba(244,81,30,.07),transparent 70%)}
.ip-hero-grid{position:relative;display:grid;grid-template-columns:1.08fr .92fr;gap:56px;align-items:center;padding:78px 0 82px}
.ip-eyebrow{display:inline-flex;align-items:center;gap:9px;font-family:'Inter';font-weight:700;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--orange-deep);background:var(--orange-tint);padding:8px 15px;border-radius:99px}
.ip-eyebrow svg{width:15px;height:15px}
.ip-hero h1{font-family:'Montserrat';font-weight:800;font-size:clamp(36px,4.6vw,60px);letter-spacing:-.03em;line-height:1.04;margin-top:22px}
.ip-hero h1 .accent{color:var(--orange)}
.ip-hero .ip-sub{font-size:18px;color:var(--text-2);margin-top:22px;max-width:520px;line-height:1.62}
.ip-hero-cta{margin-top:32px;display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.ip-call{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:15px;color:var(--ink);padding:13px 22px;border:1px solid var(--line-strong);border-radius:14px;transition:border-color .15s,transform .15s}
.ip-call:hover{border-color:var(--ink);transform:translateY(-2px)}
.ip-call svg{width:16px;height:16px;color:var(--orange)}
.ip-hero-stats{margin-top:38px;display:flex;gap:38px;flex-wrap:wrap}
.ip-hs .n{font-family:'Montserrat';font-weight:800;font-size:30px;letter-spacing:-.02em;color:var(--ink)}
.ip-hs .l{font-size:12.5px;color:var(--text-3);margin-top:3px}
.ip-hero-media{position:relative}
.ip-hero-photo{aspect-ratio:4/4.5;border-radius:18px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-2)}
.ip-hero-float{position:absolute;left:-14px;bottom:24px;background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow-card);padding:14px 18px;display:flex;align-items:center;gap:12px}
.ip-hero-float .fi{width:38px;height:38px;border-radius:10px;background:rgba(31,138,76,.14);color:var(--green);display:grid;place-items:center;flex:none}
.ip-hero-float .fi svg{width:19px;height:19px}
.ip-hero-float .fn{font-family:'Montserrat';font-weight:800;font-size:17px;color:var(--ink);line-height:1}
.ip-hero-float .fl{font-size:12px;color:var(--text-3);margin-top:3px}
.ip-sec{padding:96px 0}
.ip-sec.alt{background:var(--surface)}
.svc-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:50px}
.svc-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:30px 28px;display:flex;flex-direction:column;gap:14px;transition:transform .2s,box-shadow .2s,border-color .2s}
.svc-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-card);border-color:var(--line-strong)}
.svc-card .si{width:48px;height:48px;border-radius:12px;background:var(--orange-tint);color:var(--orange-deep);display:grid;place-items:center}
.svc-card .si svg{width:24px;height:24px}
.svc-card h3{font-size:19px;font-weight:700;letter-spacing:-.01em}
.svc-card p{font-size:14.5px;color:var(--text-2);line-height:1.55;flex:1;margin:0}
.svc-card .sl{font-weight:700;font-size:13.5px;color:var(--ink);display:inline-flex;align-items:center;gap:7px}
.svc-card .sl svg{width:14px;height:14px;color:var(--orange);transition:transform .15s}
.svc-card:hover .sl svg{transform:translateX(3px)}
.blueprint{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center;margin-top:52px}
.bp-steps{display:flex;flex-direction:column}
.bp-step{display:flex;gap:22px;padding:24px 0;border-top:1px solid var(--line)}
.bp-step:first-child{border-top:none;padding-top:0}
.bp-num{font-family:'Montserrat';font-weight:800;font-size:30px;color:var(--orange);line-height:1;min-width:46px}
.bp-step h4{font-size:18px;font-weight:700}
.bp-step p{font-size:14.5px;color:var(--text-2);margin-top:8px;line-height:1.55;max-width:430px}
.bp-media{aspect-ratio:4/4.5;border-radius:18px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-2)}
@media(max-width:920px){
  .ip-hero-grid.blueprint{grid-template-columns:1fr;gap:40px}
  .svc-cards{grid-template-columns:1fr}
  .ip-hero-media{order:-1}
}

/* ===================== DASHBOARD SHOWCASE (service pages) ===================== */
.dash-showcase{position:relative;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-card);padding:44px 44px 40px;margin-top:50px}
.dash-showcase .dash-grid{margin:0}
.dash-tag{position:absolute;top:-14px;left:36px;display:inline-flex;align-items:center;gap:8px;background:var(--ink);color:#fff;font-family:'Inter';font-weight:700;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;padding:8px 14px;border-radius:99px}
.dash-tag .d{width:7px;height:7px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 0 rgba(244,81,30,.55);animation:blip 1.6s infinite}
@media(max-width:920px){.dash-showcase{padding:30px 20px 28px}}

/* sub-service chips strip */
.subsvc{margin-top:30px;display:flex;flex-wrap:wrap;gap:12px}
.subsvc a{display:inline-flex;align-items:center;gap:9px;padding:11px 17px;border:1px solid var(--line);border-radius:99px;font-size:14px;font-weight:600;color:var(--text);background:#fff;transition:border-color .15s,color .15s,transform .15s}
.subsvc a:hover{border-color:var(--orange);color:var(--orange-deep);transform:translateY(-2px)}
.subsvc a svg{width:15px;height:15px;color:var(--orange)}

/* feature split rows */
.feat-row{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;margin-top:64px}
.feat-row:first-of-type{margin-top:54px}
.feat-row.flip .feat-copy{order:2}
.feat-copy h3{font-family:'Montserrat';font-weight:800;font-size:clamp(24px,2.8vw,32px);letter-spacing:-.02em;margin-top:14px}
.feat-copy p{font-size:16px;color:var(--text-2);line-height:1.65;margin-top:16px;max-width:480px}
.feat-list{margin-top:22px;display:flex;flex-direction:column;gap:13px}
.feat-list li{display:flex;gap:12px;align-items:flex-start;list-style:none;font-size:15px;color:var(--text)}
.feat-list .ck{width:22px;height:22px;border-radius:50%;background:var(--orange-tint);color:var(--orange-deep);display:grid;place-items:center;flex:none;margin-top:1px}
.feat-list .ck svg{width:12px;height:12px}
@media(max-width:920px){.feat-row{grid-template-columns:1fr;gap:34px}.feat-row.flip .feat-copy{order:0}}

/* ===================== PRICING ===================== */
.pricing-hero{background:var(--surface);border-bottom:1px solid var(--line);position:relative;overflow:hidden;padding:74px 0 60px;text-align:center}
.pricing-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 60% at 50% 0%,rgba(244,81,30,.07),transparent 70%)}
.pricing-hero .wrap{position:relative}
.pricing-hero h1{font-family:'Montserrat';font-weight:900;font-size:clamp(38px,6vw,72px);letter-spacing:-.03em;line-height:1.02;color:var(--orange)}
.pricing-hero p{font-size:18px;color:var(--text-2);margin:22px auto 0;max-width:560px;line-height:1.6}
.bill-toggle{margin:30px auto 0;display:inline-flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:99px;padding:5px}
.bill-toggle button{border:none;background:none;font-family:'Inter';font-weight:600;font-size:14px;color:var(--text-2);padding:9px 20px;border-radius:99px;cursor:pointer;transition:.15s}
.bill-toggle button.on{background:var(--ink);color:#fff}
.bill-toggle .save{font-size:11px;font-weight:700;letter-spacing:.04em;color:var(--green)}
.price-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:-34px;position:relative;z-index:3;padding-bottom:8px}
.price-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:30px 26px 28px;display:flex;flex-direction:column;box-shadow:var(--shadow-1);transition:transform .2s,box-shadow .2s}
.price-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-card)}
.price-card.feat{border:1px solid var(--orange);box-shadow:0 18px 50px rgba(244,81,30,.16);position:relative;overflow:hidden}
.price-flag{margin:-30px -26px 22px;background:var(--orange);color:#fff;text-align:center;font-family:'Inter';font-weight:700;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;padding:9px}
.price-name{font-family:'Montserrat';font-weight:800;font-size:22px;color:var(--ink)}
.price-amt{font-family:'Montserrat';font-weight:900;font-size:46px;letter-spacing:-.03em;color:var(--ink);margin-top:10px;line-height:1}
.price-amt .per{font-family:'Inter';font-weight:600;font-size:15px;color:var(--text-3);letter-spacing:0}
.price-desc{font-size:13.5px;color:var(--text-2);margin-top:14px;line-height:1.55;min-height:60px}
.price-feats{margin-top:18px;display:flex;flex-direction:column;gap:11px;flex:1}
.price-feats li{display:flex;gap:10px;align-items:flex-start;list-style:none;font-size:13.5px;color:var(--text)}
.price-feats .ck{width:18px;height:18px;border-radius:50%;background:var(--orange-tint);color:var(--orange-deep);display:grid;place-items:center;flex:none;margin-top:1px}
.price-feats .ck svg{width:11px;height:11px}
.price-btn{margin-top:24px;display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px;border-radius:11px;font-family:'Inter';font-weight:700;font-size:14px;background:var(--slate-50);color:var(--ink);border:1px solid var(--line);transition:.18s}
.price-btn:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.price-card.feat .price-btn{background:var(--orange);color:#fff;border-color:var(--orange)}
.price-card.feat .price-btn:hover{background:var(--orange-deep);border-color:var(--orange-deep)}
.compare{padding:90px 0}
.compare-table{margin-top:50px;border:1px solid var(--line);border-radius:16px;overflow:hidden}
.compare-table table{width:100%;border-collapse:collapse}
.compare-table th.compare-table td{padding:16px 22px;text-align:center;font-size:14.5px;border-bottom:1px solid var(--line)}
.compare-table thead th{font-family:'Montserrat';font-weight:800;font-size:16px;color:var(--ink);background:var(--surface);border-bottom:1px solid var(--line-strong)}
.compare-table thead th:first-child.compare-table td:first-child{text-align:left;font-weight:600;color:var(--text)}
.compare-table tbody tr:nth-child(even){background:var(--surface)}
.compare-table tbody tr:last-child td{border-bottom:none}
.compare-table .yes{color:var(--orange);display:inline-flex}
.compare-table .yes svg{width:18px;height:18px}
.compare-table .no{color:var(--line-strong);display:inline-flex}
.compare-table .no svg{width:16px;height:16px}
.compare-table .feat-col{background:rgba(244,81,30,.05)}
@media(max-width:920px){.price-grid{grid-template-columns:1fr 1fr}.compare-table{overflow-x:auto}.compare-table table{min-width:640px}}
@media(max-width:560px){.price-grid{grid-template-columns:1fr}}

/* ===================== TEAM / AGENCY ===================== */
.team-values{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:50px}
.val-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:30px 28px;transition:transform .2s,box-shadow .2s}
.val-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-card)}
.val-card .vi{width:46px;height:46px;border-radius:12px;background:var(--orange-tint);color:var(--orange-deep);display:grid;place-items:center;margin-bottom:18px}
.val-card .vi svg{width:23px;height:23px}
.val-card h3{font-size:19px;font-weight:700}
.val-card p{margin-top:11px;font-size:14.5px;color:var(--text-2);line-height:1.6}
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:50px}
.member{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;transition:transform .2s,box-shadow .2s}
.member:hover{transform:translateY(-4px);box-shadow:var(--shadow-card)}
.member-photo{aspect-ratio:1/1.06}
.member-body{padding:18px 20px 22px}
.member-body .mn{font-family:'Montserrat';font-weight:800;font-size:17px;color:var(--ink)}
.member-body .mr{font-size:13px;color:var(--orange-deep);font-weight:600;margin-top:3px}
.member-body p{font-size:13px;color:var(--text-2);margin-top:10px;line-height:1.55}
.stat-band{background:var(--ink);color:#fff;padding:64px 0}
.stat-band .sb-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}
.stat-band .sb .n{font-family:'Montserrat';font-weight:900;font-size:clamp(34px,4vw,52px);letter-spacing:-.02em;color:#fff;line-height:1}
.stat-band .sb .l{font-size:14px;color:var(--on-dark-2);margin-top:10px}
@media(max-width:920px){.team-values{grid-template-columns:1fr}.team-grid{grid-template-columns:1fr 1fr}.stat-band .sb-grid{grid-template-columns:1fr 1fr;gap:36px 24px}}

/* ===================== BLOG PAGE ===================== */
.blog-hero{background:var(--surface);border-bottom:1px solid var(--line);padding:72px 0 60px;position:relative;overflow:hidden}
.blog-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(55% 60% at 75% 0%,rgba(244,81,30,.07),transparent 70%)}
.blog-hero .wrap{position:relative}
.blog-hero h1{font-family:'Montserrat';font-weight:800;font-size:clamp(36px,5vw,60px);letter-spacing:-.03em;max-width:680px;line-height:1.04}
.blog-hero h1 .accent{color:var(--orange)}
.blog-hero p{font-size:18px;color:var(--text-2);margin-top:20px;max-width:520px;line-height:1.6}
.filters{display:flex;flex-wrap:wrap;gap:10px;margin-top:34px}
.filters button{border:1px solid var(--line-strong);background:#fff;border-radius:99px;padding:9px 18px;font-family:'Inter';font-weight:600;font-size:13.5px;color:var(--text-2);cursor:pointer;transition:.15s}
.filters button:hover{border-color:var(--ink);color:var(--ink)}
.filters button.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.blog-pg{padding:70px 0 90px}
.blog-pg .blog-grid{margin-top:0;grid-template-columns:repeat(3,1fr)}
.blog-pg .post.hide{display:none}
.load-more{display:flex;justify-content:center;margin-top:46px}
@media(max-width:920px){.blog-pg .blog-grid{grid-template-columns:1fr}}

/* ===================== TESTIMONIALS WALL ===================== */
.wall-hero{background:var(--ink);color:#fff;padding:80px 0 64px;text-align:center;position:relative;overflow:hidden}
.wall-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 80% at 50% -10%,rgba(244,81,30,.22),transparent 65%)}
.wall-hero .wrap{position:relative}
.wall-hero h1{font-family:'Montserrat';font-weight:900;font-size:clamp(40px,6vw,76px);letter-spacing:-.03em;line-height:1.02}
.wall-hero p{font-size:18px;color:var(--on-dark-2);margin:18px auto 0;max-width:560px;line-height:1.6}
.wall-filters{display:flex;flex-wrap:wrap;gap:9px;justify-content:center;margin-top:32px}
.wall-filters button{border:1px solid rgba(255,255,255,.2);background:transparent;border-radius:99px;padding:9px 19px;font-family:'Inter';font-weight:600;font-size:13.5px;color:var(--on-dark-2);cursor:pointer;transition:.15s}
.wall-filters button:hover{border-color:#fff;color:#fff}
.wall-filters button.on{background:#fff;color:var(--ink);border-color:#fff}
.wall{padding:64px 0 80px;background:var(--surface)}
.wall-grid{columns:3;column-gap:22px}
.wall-card{break-inside:avoid;margin-bottom:22px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px 24px;box-shadow:var(--shadow-1);transition:transform .2s,box-shadow .2s}
.wall-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-card)}
.wall-card.hide{display:none}
.wall-card .qmark{font-family:'Montserrat';font-weight:900;font-size:46px;color:var(--orange);line-height:.7;height:26px}
.wall-card .wq{font-size:16px;line-height:1.55;color:var(--text);font-weight:500;margin-top:14px;text-wrap:pretty}
.wall-card.big .wq{font-size:19px;font-weight:600}
.wall-card .wstars{display:flex;gap:2px;color:var(--orange);margin-top:16px}
.wall-card .wstars svg{width:15px;height:15px}
.wall-card .wby{display:flex;align-items:center;gap:12px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.wall-card .wav{width:42px;height:42px;border-radius:50%;flex:none;display:grid;place-items:center;font-family:'Montserrat';font-weight:700;font-size:15px;color:#fff;background:var(--ink)}
.wall-card .wn{font-size:14.5px;font-weight:700;color:var(--ink);line-height:1.2}
.wall-card .wr{font-size:12.5px;color:var(--text-3);margin-top:2px}
.wall-card .wtag{margin-left:auto;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--orange-deep);background:var(--orange-tint);padding:5px 10px;border-radius:99px;align-self:flex-start}
.wall-card.accent{background:var(--orange);border-color:var(--orange)}
.wall-card.accent .qmark{color:#fff;opacity:.85}
.wall-card.accent .wq{color:#fff;font-size:21px;font-weight:700}
.wall-card.accent .wstars{color:#fff}
.wall-card.accent .wby{border-top-color:rgba(255,255,255,.25)}
.wall-card.accent .wav{background:#fff;color:var(--orange-deep)}
.wall-card.accent .wn{color:#fff}
.wall-card.accent .wr{color:rgba(255,255,255,.8)}
.wall-card.accent .wtag{background:rgba(255,255,255,.2);color:#fff}
.wall-card.video{padding:0;overflow:hidden;background:var(--ink)}
.wall-vid{aspect-ratio:16/11;position:relative}
.wall-vid .play{position:absolute;inset:0;margin:auto;width:58px;height:58px;border-radius:50%;background:var(--orange);display:grid;place-items:center;cursor:pointer;box-shadow:0 10px 30px rgba(244,81,30,.5);transition:transform .2s}
.wall-vid .play:hover{transform:scale(1.08)}
.wall-vid .play svg{width:22px;height:22px;color:#fff;margin-left:3px}
.wall-vid .vlabel{position:absolute;left:16px;bottom:14px;right:16px;color:#fff;font-family:'Montserrat';font-weight:700;font-size:14.5px;text-shadow:0 1px 8px rgba(0,0,0,.5)}
.wall-cta{display:flex;justify-content:center;margin-top:36px}
@media(max-width:920px){.wall-grid{columns:2}}
@media(max-width:600px){.wall-grid{columns:1}}

/* ===================== UI MOCKS (fill for hero/blueprint media) ===================== */
.mock{width:100%;height:100%;background:#fff;display:flex;flex-direction:column;overflow:hidden;font-family:'Inter',system-ui,sans-serif}
.mock-bar{display:flex;align-items:center;gap:7px;padding:11px 14px;border-bottom:1px solid var(--line);background:#faf9f7;flex:none}
.mock-bar i{width:9px;height:9px;border-radius:50%;background:#dcdcd8;display:block}
.mock-bar .url{margin-left:8px;font-size:11px;color:var(--text-3);background:#fff;border:1px solid var(--line);border-radius:6px;padding:4px 9px;flex:1;white-space:nowrap;overflow:hidden}
.mock-body{padding:14px;display:flex;flex-direction:column;gap:11px;flex:1;min-height:0}
.mock-map{position:relative;height:38%;flex:none;background:#e8ece6;background-image:linear-gradient(rgba(255,255,255,.7) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.7) 1px,transparent 1px);background-size:34px 34px}
.mock-map::before{content:"";position:absolute;left:-10%;top:36%;width:130%;height:12px;background:#f3f2ef;transform:rotate(-8deg)}
.mock-map::after{content:"";position:absolute;left:24%;top:-10%;width:12px;height:130%;background:#f3f2ef;transform:rotate(6deg)}
.mock-pin{position:absolute;width:26px;height:26px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--orange);box-shadow:0 6px 14px -6px rgba(0,0,0,.4)}
.mock-pin.sm{width:16px;height:16px;background:#b9b8b3}
.mock-row{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:10px;padding:9px 11px}
.mock-row.hi{border-color:var(--orange);background:rgba(240,120,40,.06)}
.mock-row .rk{flex:none;width:22px;height:22px;border-radius:6px;background:var(--ink);color:#fff;font-size:11px;font-weight:700;display:grid;place-items:center}
.mock-row.hi .rk{background:var(--orange);color:var(--ink)}
.mock-row .nm.mock-row .sub.mock-caller .nm.mock-caller .sub{display:block}
.mock-row .nm{font-size:12.5px;font-weight:600;color:var(--ink);line-height:1.2}
.mock-row .sub{font-size:11px;color:var(--text-3);margin-top:2px}
.mock-row .st{margin-left:auto;font-size:11px;font-weight:700;color:var(--green)}
.mock-line{height:9px;border-radius:5px;background:#eeedea}
.mock-line.w70{width:70%}.mock-line.w50{width:50%}.mock-line.w85{width:85%}
.mock-kpis{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.mock-kpi{border:1px solid var(--line);border-radius:10px;padding:10px 11px}
.mock-kpi .k{font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3)}
.mock-kpi .v{font-family:'Montserrat';font-weight:800;font-size:19px;color:var(--ink);margin-top:3px;letter-spacing:-.01em}
.mock-kpi .d{font-size:10.5px;font-weight:700;color:var(--green);margin-top:2px}
.mock-kpi .d.neg{color:var(--orange-deep)}
.mock-chart{flex:1;min-height:90px;border:1px solid var(--line);border-radius:12px;padding:12px;display:flex;align-items:flex-end;gap:7px}
.mock-chart span{flex:1;background:#eeedea;border-radius:4px 4px 0 0}
.mock-chart span.on{background:var(--orange)}
.mock-hero{flex:1;background:var(--ink);border-radius:10px;padding:16px;display:flex;flex-direction:column;justify-content:center;gap:9px}
.mock-hero .h{height:13px;border-radius:6px;background:rgba(255,255,255,.9)}
.mock-hero .h.s{width:62%;background:rgba(255,255,255,.42);height:9px}
.mock-hero .b{margin-top:6px;align-self:flex-start;background:var(--orange);color:var(--ink);font-size:11px;font-weight:700;border-radius:7px;padding:7px 12px}
.mock-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.mock-cards div{height:44px;border:1px solid var(--line);border-radius:9px;background:#faf9f7}
.mock-call{background:var(--ink);color:#fff}
.mock-call .mock-bar{background:#1b1c22;border-color:#2a2c34}
.mock-call .mock-bar .url{background:#22242b;border-color:#2f313a;color:rgba(255,255,255,.55)}
.mock-wave{display:flex;align-items:center;justify-content:center;gap:4px;height:46px;flex:none}
.mock-wave i{width:4px;border-radius:3px;background:var(--orange);display:block}
.mock-msg{border-radius:11px;padding:9px 11px;font-size:11.5px;line-height:1.45;max-width:86%}
.mock-msg.them{background:#22242b;color:rgba(255,255,255,.78)}
.mock-msg.ai{background:var(--orange);color:var(--ink);font-weight:600;align-self:flex-end}
.mock-booked{margin-top:auto;display:flex;align-items:center;gap:9px;border:1px solid #2a2c34;border-radius:11px;padding:10px 12px;font-size:11.5px;font-weight:700;color:#fff}
.mock-booked .ck{width:22px;height:22px;border-radius:50%;background:#4ade80;color:var(--ink);display:grid;place-items:center;font-size:12px;flex:none}
.mock-caller{display:flex;align-items:center;gap:10px;flex:none}
.mock-caller .av{width:32px;height:32px;border-radius:50%;background:#2b2d36;color:rgba(255,255,255,.7);display:grid;place-items:center;font-size:11px;font-weight:700}
.mock-caller .nm{font-size:12.5px;font-weight:600;color:#fff}
.mock-caller .sub{font-size:11px;color:rgba(255,255,255,.5);margin-top:1px}
.mock-caller .live{margin-left:auto;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#4ade80}

/* client marquee */
.cl-marq{margin-top:26px;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent)}
.cl-track{display:flex;align-items:center;width:max-content;animation:cl-scroll 46s linear infinite}
.cl-marq:hover .cl-track{animation-play-state:paused}
@keyframes cl-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.cl{flex:none;display:grid;place-items:center;height:58px;min-width:210px;padding:0 14px;filter:grayscale(1);opacity:.5;transition:opacity .22s,filter .22s;text-decoration:none}
.cl:hover{opacity:1;filter:grayscale(0)}
.cl img{max-height:58px;max-width:180px;width:auto;height:auto;object-fit:contain;display:block}
.cl .wm{font-family:'Montserrat',sans-serif;font-weight:700;font-size:14px;letter-spacing:.02em;color:var(--text-2);white-space:nowrap;text-align:center}
@media(prefers-reduced-motion:reduce){.cl-track{animation:none;flex-wrap:wrap;justify-content:center;width:100%}}
@media(max-width:720px){.cl{height:42px;min-width:150px;padding:0 10px}.cl img{max-height:42px;max-width:126px}.cl .wm{font-size:12.5px}}

/* ===================== CASE STUDIES PAGE ===================== */
.cs-hero{background:var(--ink);color:#fff;padding:92px 0 76px;position:relative;overflow:hidden}
.cs-hero::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:56px 56px;pointer-events:none}
.cs-hero .wrap{position:relative;z-index:1;text-align:center}
.cs-hero .ip-eyebrow{color:var(--orange);border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.05)}
.cs-hero h1{font-family:'Montserrat',sans-serif;font-weight:900;font-size:clamp(40px,5.4vw,66px);line-height:1.02;letter-spacing:-.03em;margin-top:20px}
.cs-hero p{margin:20px auto 0;max-width:640px;font-size:17px;line-height:1.62;color:rgba(255,255,255,.66);text-wrap:pretty}
.cs-tabs{margin-top:38px;display:inline-flex;gap:6px;padding:6px;border-radius:99px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.13)}
.cs-tab{border:0;cursor:pointer;background:transparent;color:rgba(255,255,255,.66);font-family:'Montserrat',sans-serif;font-weight:700;font-size:14.5px;padding:11px 26px;border-radius:99px;display:flex;align-items:center;gap:9px;transition:background .18s,color .18s}
.cs-tab span{font-size:11.5px;font-weight:700;padding:2px 8px;border-radius:99px;background:rgba(255,255,255,.12);color:rgba(255,255,255,.6)}
.cs-tab:hover{color:#fff}
.cs-tab.on{background:var(--orange);color:var(--ink)}
.cs-tab.on span{background:rgba(20,21,26,.18);color:var(--ink)}
.cs-page{background:var(--surface);padding:74px 0 100px}
.csb-list{display:flex;flex-direction:column;gap:26px}
.csb{display:grid;grid-template-columns:290px 1fr;background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:var(--shadow-1)}
.csb-side{background:var(--slate-50);border-right:1px solid var(--line);padding:34px 30px;display:flex;flex-direction:column;gap:18px}
.csb-logo{height:78px;display:grid;place-items:center;background:#fff;border:1px solid var(--line);border-radius:13px;padding:14px}
.csb-logo img{max-height:50px;max-width:190px;width:auto;object-fit:contain;display:block}
.csb-wm{font-family:'Montserrat',sans-serif;font-weight:800;font-size:15.5px;letter-spacing:-.01em;color:var(--ink);text-align:center;line-height:1.22}
.csb-name{font-family:'Montserrat',sans-serif;font-weight:800;font-size:17px;letter-spacing:-.015em;color:var(--ink);line-height:1.2}
.csb-loc{font-size:13px;color:var(--text-3);margin-top:4px}
.csb-tag{align-self:flex-start;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);background:rgba(240,120,40,.16);border-radius:99px;padding:5px 12px}
.csb-stats{display:flex;flex-direction:column;gap:12px;padding-top:16px;border-top:1px solid var(--line);margin-top:auto}
.csb-stat b{display:block;font-family:'Montserrat',sans-serif;font-weight:800;font-size:21px;letter-spacing:-.02em;color:var(--ink);line-height:1.1}
.csb-stat span{display:block;font-size:12px;color:var(--text-3);margin-top:2px}
.csb-visit{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;font-weight:700;color:var(--ink);text-decoration:none}
.csb-visit svg{width:14px;height:14px;color:var(--orange);transition:transform .18s}
.csb-visit:hover svg{transform:translate(2px,-2px)}
.csb-main{padding:38px 40px 36px;display:flex;flex-direction:column;gap:26px}
.csb-main h3{font-family:'Montserrat',sans-serif;font-weight:800;font-size:29px;line-height:1.14;letter-spacing:-.025em;color:var(--ink);text-wrap:balance}
.csb-blocks{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:30px}
.csb-block h4{font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);margin-bottom:11px}
.csb-block p{font-size:14.5px;line-height:1.62;color:var(--text-2);margin:0}
.csb-block ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.csb-block li{display:flex;gap:10px;font-size:14.5px;line-height:1.5;color:var(--text-2)}
.csb-block li .ck{flex:none;width:18px;height:18px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;margin-top:2px}
.csb-block li .ck svg{width:10px;height:10px}
.csb-hack{display:flex;gap:18px;align-items:flex-start;background:var(--ink);border-radius:14px;padding:20px 24px}
.csb-hack-l{flex:none;font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--orange);padding-top:3px}
.csb-hack p{margin:0;font-size:14.5px;line-height:1.58;color:rgba(255,255,255,.82)}
.csb-cta{align-self:flex-start}
@media(max-width:1080px){.csb{grid-template-columns:1fr}.csb-side{border-right:0;border-bottom:1px solid var(--line);flex-direction:row;flex-wrap:wrap;align-items:center;gap:22px}.csb-logo{width:170px}.csb-stats{flex:1 1 100%;flex-direction:row;flex-wrap:wrap;gap:26px;border-top:0;padding-top:0;margin-top:0;margin-left:0;justify-content:flex-start}.csb-blocks{grid-template-columns:1fr}}
@media(max-width:680px){.csb-main{padding:28px 24px}.csb-main h3{font-size:23px}.csb-side{padding:24px}.csb-hack{flex-direction:column;gap:8px}.cs-tabs{width:100%;justify-content:center}}

/* ---------- Home slider case-study card (redesigned) ---------- */
.cs-track{align-items:stretch}
.cs-card{flex:0 0 calc((100% - 48px)/3);scroll-snap-align:start;position:relative;display:flex;flex-direction:column;background:var(--ink);border:1px solid #2a2c34;border-radius:22px;overflow:hidden;transition:transform .25s,box-shadow .25s,border-color .25s}
.cs-card::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.1) 1px,transparent 1px);background-size:22px 22px;opacity:.35;pointer-events:none}
.cs-card::after{content:"";position:absolute;left:0;right:0;bottom:0;height:56%;background:linear-gradient(180deg,transparent,rgba(240,120,40,.12));opacity:0;transition:opacity .25s;pointer-events:none}
.cs-card:hover{transform:translateY(-6px);border-color:rgba(240,120,40,.5);box-shadow:0 30px 60px -30px rgba(20,21,26,.6)}
.cs-card:hover::after{opacity:1}
.cs-logo{position:relative;z-index:1;height:auto;background:none;border:0;padding:26px 26px 0;display:flex;align-items:center;justify-content:space-between;gap:14px}
.cs-logo .cs-chip{flex:none;height:62px;min-width:104px;max-width:150px;background:#fff;border-radius:13px;display:grid;place-items:center;padding:10px 14px}
.cs-logo img{max-height:42px;max-width:122px;width:auto;object-fit:contain;display:block}
.cs-wm{font-family:'Montserrat',sans-serif;font-weight:800;font-size:13px;letter-spacing:-.01em;color:var(--ink);text-align:center;line-height:1.2}
.cs-idx{font-family:'Montserrat',sans-serif;font-weight:900;font-size:44px;line-height:1;letter-spacing:-.04em;color:rgba(255,255,255,.1)}
.cs-body{position:relative;z-index:1;padding:22px 26px 26px;display:flex;flex-direction:column;gap:13px;flex:1}
.cs-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.cs-cat{font-size:10.5px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--ink);background:var(--orange);border-radius:99px;padding:5px 11px}
.cs-loc{font-size:12.5px;color:rgba(255,255,255,.5)}
.cs-card h3{font-family:'Montserrat',sans-serif;font-weight:800;font-size:20px;line-height:1.2;letter-spacing:-.02em;color:#fff;text-wrap:balance}
.cs-card p{font-size:14px;line-height:1.6;color:rgba(255,255,255,.62);margin:0}
.cs-kpis{display:flex;gap:20px;padding:16px 0 2px;margin-top:auto;border-top:1px solid rgba(255,255,255,.11)}
.cs-kpi b{display:block;font-family:'Montserrat',sans-serif;font-weight:900;font-size:19px;letter-spacing:-.025em;color:var(--orange);line-height:1}
.cs-kpi span{display:block;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.42);margin-top:5px}
.cs-acts{display:flex;flex-direction:column;gap:10px;align-items:stretch}
.cs-btn{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--orange);color:var(--ink);border-radius:11px;padding:13px 16px;font-family:'Montserrat',sans-serif;font-weight:800;font-size:13.5px;text-decoration:none;transition:background .18s,transform .18s}
.cs-btn svg{width:15px;height:15px;flex:none;transition:transform .18s}
.cs-btn:hover{background:#ff8f45}
.cs-btn:hover svg{transform:translate(2px,-2px)}
.cs-link{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:700;color:rgba(255,255,255,.62);text-decoration:none;margin-top:0;padding-top:0}
.cs-link svg{width:13px;height:13px;color:var(--orange)}
.cs-link:hover{color:#fff}
.cs-arrow{border-color:var(--line)}
@media(max-width:1000px){.cs-card{flex:0 0 calc((100% - 24px)/2)}}
@media(max-width:680px){.cs-card{flex:0 0 86%}}

/* ===================== INDUSTRY: funnel hacks / calendar / numbers ===================== */
.hack-sec{background:var(--ink);color:#fff;padding:100px 0;position:relative;overflow:hidden}
.hack-sec::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:56px 56px;pointer-events:none}
.hack-sec .wrap{position:relative;z-index:1}
.hack-sec .sec-head h2{color:#fff}
.hack-sec .sec-head p{color:rgba(255,255,255,.62)}
.hack-sec .eyebrow{color:var(--orange)}
.hack-grid{margin-top:54px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.hack{background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.11);border-radius:16px;padding:28px 26px 26px;display:flex;flex-direction:column;gap:14px;transition:background .2s,border-color .2s,transform .2s}
.hack:hover{background:rgba(255,255,255,.075);border-color:rgba(240,120,40,.4);transform:translateY(-3px)}
.hack-n{width:34px;height:34px;flex:none;border-radius:10px;background:var(--orange);color:var(--ink);display:grid;place-items:center;font-family:'Montserrat',sans-serif;font-weight:800;font-size:14px}
.hack h3{font-family:'Montserrat',sans-serif;font-weight:800;font-size:18.5px;line-height:1.24;letter-spacing:-.015em;color:#fff;text-wrap:balance}
.hack p{font-size:14.5px;line-height:1.6;color:rgba(255,255,255,.68);margin:0}
.hack .loophole{font-size:12.5px;line-height:1.5;color:var(--orange);font-weight:600;padding-top:12px;border-top:1px solid rgba(255,255,255,.1);margin-top:auto}
@media(max-width:980px){.hack-grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.hack-grid{grid-template-columns:1fr}}

.cal-sec{background:#fff;padding:100px 0}
.cal{margin-top:52px;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.cal-q{border:1px solid var(--line);border-radius:16px;padding:26px 24px;display:flex;flex-direction:column;gap:12px;background:var(--slate-50);transition:border-color .2s,transform .2s,box-shadow .2s}
.cal-q:hover{border-color:#dcdcd8;transform:translateY(-3px);box-shadow:var(--shadow-1)}
.cal-q.peak{background:var(--ink);border-color:var(--ink)}
.cal-q.peak .cal-t{color:rgba(255,255,255,.5)}
.cal-q.peak h4{color:#fff}
.cal-q.peak p{color:rgba(255,255,255,.66)}
.cal-q.peak .cal-move{color:var(--orange);border-color:rgba(255,255,255,.14)}
.cal-t{font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3)}
.cal-q h4{font-family:'Montserrat',sans-serif;font-weight:800;font-size:18px;letter-spacing:-.015em;color:var(--ink);line-height:1.22}
.cal-q p{font-size:14px;line-height:1.58;color:var(--text-2);margin:0}
.cal-move{font-size:12.5px;font-weight:700;color:var(--orange-deep);padding-top:11px;border-top:1px solid var(--line);margin-top:auto}
@media(max-width:980px){.cal{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.cal{grid-template-columns:1fr}}

.num-band{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:64px 0}
.num-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.num{text-align:center;padding:0 12px}
.num b{display:block;font-family:'Montserrat',sans-serif;font-weight:900;font-size:clamp(34px,4vw,48px);letter-spacing:-.03em;color:var(--ink);line-height:1}
.num span{display:block;font-size:13.5px;color:var(--text-2);margin-top:9px;line-height:1.4}
@media(max-width:760px){.num-grid{grid-template-columns:1fr 1fr;gap:32px 20px}}

.cs-more{margin-top:26px;text-align:center}
.cs-more a{display:inline-flex;align-items:center;gap:8px;font-family:'Montserrat',sans-serif;font-weight:700;font-size:14.5px;color:var(--ink);text-decoration:none}
.cs-more a svg{width:15px;height:15px;color:var(--orange);transition:transform .18s}
.cs-more a:hover svg{transform:translate(2px,-2px)}

/* ===================== INTERACTIVE HERO WIDGETS ===================== */
.iw{position:relative;width:100%;height:100%;min-height:400px;overflow:hidden;background:radial-gradient(120% 130% at 20% 0%,#2b2d36,#14151a 68%);display:flex;flex-direction:column;user-select:none}
.iw::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.1) 1px,transparent 1px);background-size:24px 24px;opacity:.45;pointer-events:none}
.iw-head{position:relative;z-index:2;display:flex;align-items:center;gap:9px;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.09)}
.iw-head b{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.iw-live{margin-left:auto;display:flex;align-items:center;gap:7px;font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#4ade80}
.iw-live i{width:6px;height:6px;border-radius:50%;background:#4ade80;box-shadow:0 0 0 3px rgba(74,222,128,.18);animation:gpulse 2s ease-in-out infinite}
@keyframes gpulse{0%,100%{opacity:1}50%{opacity:.3}}
.iw-body{position:relative;z-index:2;flex:1;display:grid;place-items:center;padding:22px}
.iw-foot{position:relative;z-index:2;padding:14px 20px 18px;border-top:1px solid rgba(255,255,255,.09);font-size:12.5px;color:rgba(255,255,255,.55);text-align:center;min-height:50px;display:grid;place-items:center}
.iw-foot b{color:var(--orange);font-weight:700}

/* thermostat */
.thermo{display:flex;flex-direction:column;align-items:center;gap:18px}
.dial{position:relative;width:200px;height:200px;border-radius:50%;background:conic-gradient(var(--orange) calc(var(--pct)*1%),rgba(255,255,255,.1) 0);display:grid;place-items:center;transition:background .35s ease}
.dial::after{content:"";position:absolute;inset:14px;border-radius:50%;background:#181920;border:1px solid rgba(255,255,255,.09)}
.dial-in{position:relative;z-index:1;text-align:center}
.dial-temp{font-family:'Montserrat',sans-serif;font-weight:900;font-size:52px;line-height:1;letter-spacing:-.04em;color:#fff}
.dial-temp sup{font-size:22px;font-weight:800;vertical-align:super}
.dial-mode{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--orange);margin-top:8px}
.thermo-ctl{display:flex;align-items:center;gap:14px}
.tbtn{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.07);color:#fff;font-size:22px;font-weight:700;cursor:pointer;display:grid;place-items:center;transition:background .18s,border-color .18s,transform .12s}
.tbtn:hover{background:var(--orange);color:var(--ink);border-color:var(--orange)}
.tbtn:active{transform:scale(.92)}
.tmode{display:flex;gap:5px;padding:4px;border-radius:99px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.13)}
.tmode button{border:0;background:transparent;color:rgba(255,255,255,.6);font-size:12px;font-weight:700;padding:8px 16px;border-radius:99px;cursor:pointer;transition:background .18s,color .18s}
.tmode button.on{background:var(--orange);color:var(--ink)}
.iw-flow{position:absolute;left:0;right:0;top:0;bottom:0;z-index:1;pointer-events:none;overflow:hidden}
.iw-flow i{position:absolute;height:2px;border-radius:2px;background:linear-gradient(90deg,rgba(240,120,40,0),rgba(240,120,40,.8),rgba(240,120,40,0));animation:iflow 3s linear infinite}
@keyframes iflow{0%{transform:translateX(-120px);opacity:0}25%{opacity:1}100%{transform:translateX(420px);opacity:0}}
.iw.cool .iw-flow i{background:linear-gradient(90deg,rgba(96,165,250,0),rgba(96,165,250,.85),rgba(96,165,250,0))}
.iw.cool .dial{background:conic-gradient(#60a5fa calc(var(--pct)*1%),rgba(255,255,255,.1) 0)}
.iw.cool .dial-mode.iw.cool .iw-foot b{color:#60a5fa}
.iw.cool .tmode button.on{background:#60a5fa}
.iw.cool .tbtn:hover{background:#60a5fa;border-color:#60a5fa}

/* roof before/after */
.ba{position:relative;width:100%;max-width:440px;aspect-ratio:16/10;border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,.14);cursor:ew-resize}
.ba-layer{position:absolute;inset:0}
.ba-sky{background:linear-gradient(180deg,#2a2d38,#1b1d24)}
.ba-roof{position:absolute;left:-4%;right:-4%;bottom:0;height:62%;clip-path:polygon(0 46%,50% 0,100% 46%,100% 100%,0 100%)}
.ba-bad .ba-roof{background:linear-gradient(180deg,#4a3f38,#2d2723)}
.ba-bad .ba-roof::after{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(90deg,rgba(0,0,0,.35) 0 3px,transparent 3px 22px),radial-gradient(circle at 30% 60%,rgba(0,0,0,.6) 0 16px,transparent 17px),radial-gradient(circle at 66% 74%,rgba(0,0,0,.55) 0 12px,transparent 13px),radial-gradient(circle at 48% 52%,rgba(0,0,0,.5) 0 9px,transparent 10px)}
.ba-good .ba-roof{background:linear-gradient(180deg,#3d5a6b,#22323d)}
.ba-good .ba-roof::after{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(90deg,rgba(255,255,255,.09) 0 2px,transparent 2px 20px),repeating-linear-gradient(180deg,rgba(255,255,255,.07) 0 2px,transparent 2px 16px)}
.ba-good{clip-path:inset(0 calc(100% - var(--x,50%)) 0 0)}
.ba-tag{position:absolute;bottom:10px;z-index:3;font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;background:rgba(0,0,0,.55);backdrop-filter:blur(4px);border-radius:99px;padding:5px 11px;color:#fff}
.ba-tag.l{left:10px}
.ba-tag.r{right:10px}
.ba-handle{position:absolute;top:0;bottom:0;width:2px;background:var(--orange);left:var(--x,50%);z-index:4;pointer-events:none}
.ba-handle::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:36px;height:36px;border-radius:50%;background:var(--orange);box-shadow:0 6px 18px -6px rgba(0,0,0,.8)}
.ba-handle::before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:14px;height:14px;z-index:1;border-left:2px solid var(--ink);border-bottom:2px solid var(--ink);rotate:45deg}

/* ===================== SOLUTION: approach + why-numbers ===================== */
.appr{background:#fff;padding:100px 0}
.appr-grid{margin-top:54px;display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--slate-50)}
.appr-step{padding:32px 28px 30px;display:flex;flex-direction:column;gap:13px;border-right:1px solid var(--line);background:#fff;transition:background .2s}
.appr-step:last-child{border-right:0}
.appr-step:hover{background:var(--slate-50)}
.appr-top{display:flex;align-items:center;gap:12px}
.appr-n{width:32px;height:32px;flex:none;border-radius:9px;background:var(--ink);color:#fff;display:grid;place-items:center;font-family:'Montserrat',sans-serif;font-weight:800;font-size:13px}
.appr-when{font-size:11.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--orange-deep)}
.appr-step h4{font-family:'Montserrat',sans-serif;font-weight:800;font-size:18px;letter-spacing:-.015em;color:var(--ink);line-height:1.22}
.appr-step p{font-size:14px;line-height:1.58;color:var(--text-2);margin:0}
.appr-step ul{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:7px}
.appr-step li{font-size:13px;line-height:1.45;color:var(--text-3);padding-left:15px;position:relative}
.appr-step li::before{content:"";position:absolute;left:0;top:7px;width:5px;height:5px;border-radius:50%;background:var(--orange)}
@media(max-width:980px){.appr-grid{grid-template-columns:1fr 1fr}.appr-step{border-bottom:1px solid var(--line)}.appr-step:nth-child(2n){border-right:0}}
@media(max-width:600px){.appr-grid{grid-template-columns:1fr}.appr-step{border-right:0}}
.why-nums{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:46px;padding-top:44px;border-top:1px solid var(--line)}
.why-num{text-align:center}
.why-num b{display:block;font-family:'Montserrat',sans-serif;font-weight:900;font-size:clamp(30px,3.4vw,42px);letter-spacing:-.03em;color:var(--ink);line-height:1}
.why-num span{display:block;font-size:13px;color:var(--text-2);margin-top:8px;line-height:1.4}
@media(max-width:760px){.why-nums{grid-template-columns:1fr 1fr;gap:30px 18px}}

/* ===================== GENERATED IMAGERY ===================== */
.cover{position:relative;width:100%;height:100%;overflow:hidden;display:grid;place-items:center;background:radial-gradient(110% 130% at 15% 0%,#2b2d36,#14151a 70%)}
.cover::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.12) 1px,transparent 1px);background-size:20px 20px;opacity:.45}
.cover.light{background:radial-gradient(110% 130% at 15% 0%,#fff7f1,#f2efea 72%)}
.cover.light::before{background-image:radial-gradient(rgba(20,21,26,.11) 1px,transparent 1px)}
.cover.warm{background:radial-gradient(110% 130% at 15% 0%,#5a2e14,#1c1512 72%)}
.cover-mark{position:relative;z-index:1;width:76px;height:76px;border-radius:20px;background:var(--orange);color:var(--ink);display:grid;place-items:center;box-shadow:0 16px 34px -14px rgba(240,120,40,.7)}
.cover-mark svg{width:34px;height:34px}
.cover-cat{position:absolute;z-index:1;top:16px;left:16px;font-size:10.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.cover.light .cover-cat{color:var(--text-3)}
.cover-rule{position:absolute;z-index:1;left:16px;right:16px;bottom:16px;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--orange),rgba(240,120,40,0))}
.vstill{position:relative;width:100%;height:100%;overflow:hidden;background:radial-gradient(110% 140% at 30% 10%,#2e3039,#131419 70%);display:grid;place-items:center}
.vstill::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.1) 1px,transparent 1px);background-size:22px 22px;opacity:.4}
.vwave{position:relative;z-index:1;display:flex;align-items:center;gap:5px;height:56px}
.vwave i{width:4px;border-radius:3px;background:var(--orange);opacity:.85;animation:vw 1.2s ease-in-out infinite}
@keyframes vw{0%,100%{height:14px}50%{height:44px}}
.vstill .vlabel{position:absolute;z-index:1;left:16px;bottom:14px;font-size:10.5px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:rgba(255,255,255,.55)}

/* nav overflow guard */
.gf-links a{white-space:nowrap}
@media(max-width:1100px){
  .gf-links{display:none}
  .gf-mega.gf-drop{display:none}
  .gf-cta{display:none}
  .gf-menu{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer;margin-left:auto}
  .gf-menu svg{width:22px;height:22px}
}

/* ===================== INLINE CTA STRIP ===================== */
.cta-strip{background:var(--ink);position:relative;overflow:hidden}
.cta-strip::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:48px 48px;pointer-events:none}
.cta-strip .wrap{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:34px;padding-top:44px;padding-bottom:44px;flex-wrap:wrap}
.cta-strip-copy{flex:1 1 380px;min-width:0}
.cta-strip h3{font-family:'Montserrat',sans-serif;font-weight:800;font-size:26px;line-height:1.16;letter-spacing:-.025em;color:#fff;text-wrap:balance}
.cta-strip p{margin:9px 0 0;font-size:14.5px;line-height:1.55;color:rgba(255,255,255,.6)}
.cta-strip-acts{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.cta-strip-call{display:inline-flex;align-items:center;gap:9px;font-family:'Montserrat',sans-serif;font-weight:700;font-size:14.5px;color:rgba(255,255,255,.8);text-decoration:none}
.cta-strip-call svg{width:16px;height:16px;color:var(--orange)}
.cta-strip-call:hover{color:#fff}
@media(max-width:680px){.cta-strip h3{font-size:21px}}

/* ===== CONTACT PAGE ===== */
.ct-hero{padding:150px 0 90px;background:radial-gradient(1100px 600px at 12% 0%,rgba(244,81,30,.09),transparent 60%),var(--ink,#0d0f14);color:#fff;position:relative;overflow:hidden}
.ct-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:64px 64px;pointer-events:none}
.ct-grid{position:relative;display:grid;grid-template-columns:1fr 1.05fr;gap:64px;align-items:start}
.ct-copy h1 .accent{color:var(--orange)}
.ct-copy h1{font-family:Montserrat,sans-serif;font-weight:900;font-size:clamp(38px,4.2vw,60px);line-height:1.03;letter-spacing:-.02em;margin:18px 0 16px}
.ct-copy .ip-sub{color:rgba(255,255,255,.72);font-size:18px;line-height:1.6;max-width:44ch}
.ct-list{list-style:none;padding:0;margin:34px 0 0;display:flex;flex-direction:column;gap:16px}
.ct-list li{display:flex;gap:13px;align-items:flex-start}
.ct-tick{flex:0 0 auto;width:24px;height:24px;border-radius:50%;background:var(--orange-tint);color:var(--orange-deep);display:grid;place-items:center;margin-top:2px}
.ct-tick svg{width:13px;height:13px}
.ct-list b{display:block;font-size:15.5px;font-weight:700;letter-spacing:-.01em}
.ct-list span:not(.ct-tick){display:block;font-size:14.5px;color:rgba(255,255,255,.6);line-height:1.55;margin-top:2px}
.ct-meta{display:flex;flex-direction:column;gap:2px;margin-top:38px;border-top:1px solid rgba(255,255,255,.1);padding-top:8px}
.ct-meta-i{display:flex;gap:13px;align-items:center;padding:14px 0;color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.07)}
.ct-meta-i:last-child{border-bottom:0}
.ct-meta-i .ci{flex:0 0 auto;width:38px;height:38px;border-radius:11px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);display:grid;place-items:center;color:var(--orange)}
.ct-meta-i .ci svg{width:17px;height:17px}
.ct-meta-i small{display:block;font-size:11.5px;text-transform:uppercase;letter-spacing:.11em;color:rgba(255,255,255,.45);font-weight:700}
.ct-meta-i b{display:block;font-size:15.5px;font-weight:650;margin-top:3px}
a.ct-meta-i:hover .ci{background:var(--orange-tint);border-color:rgba(244,81,30,.4)}

.ct-form-wrap{position:relative}
.ct-form,.ct-done{background:#fff;color:var(--ink,#0d0f14);border-radius:22px;padding:34px 32px;box-shadow:0 30px 70px -20px rgba(0,0,0,.55)}
.ct-form-head{margin-bottom:22px}
.ct-form-head h3{font-family:Montserrat,sans-serif;font-weight:800;font-size:23px;letter-spacing:-.02em;margin:0}
.ct-form-head p{margin:5px 0 0;font-size:14.5px;color:#6b7280}
.ct-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ct-f{display:block;margin-bottom:16px}
.ct-f>span{display:block;font-size:12.5px;font-weight:750;text-transform:uppercase;letter-spacing:.08em;color:#4b5563;margin-bottom:7px}
.ct-f>span i{color:var(--orange);font-style:normal}
.ct-f input,.ct-f select,.ct-f textarea{width:100%;box-sizing:border-box;font:inherit;font-size:15px;color:#111827;background:#f7f8fa;border:1.5px solid #e4e7ec;border-radius:12px;padding:13px 14px;transition:border-color .16s,background .16s,box-shadow .16s}
.ct-f textarea{resize:vertical;line-height:1.5}
.ct-f input::placeholder,.ct-f textarea::placeholder{color:#9aa1ad}
.ct-f input:focus,.ct-f select:focus,.ct-f textarea:focus{outline:0;background:#fff;border-color:var(--orange);box-shadow:0 0 0 4px var(--orange-tint)}
.ct-f.err input,.ct-f.err select,.ct-f.err textarea{border-color:#dc2626;background:#fff5f5}
.ct-seg{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.ct-seg button{font:inherit;font-size:14.5px;font-weight:650;display:flex;align-items:center;justify-content:center;gap:8px;padding:13px 8px;border-radius:12px;border:1.5px solid #e4e7ec;background:#f7f8fa;color:#4b5563;cursor:pointer;transition:.16s}
.ct-seg button svg{width:17px;height:17px}
.ct-seg button:hover{border-color:#cfd4dc;color:#111827}
.ct-seg button.on{background:var(--ink,#0d0f14);border-color:var(--ink,#0d0f14);color:#fff}
.ct-seg button.on svg{color:var(--orange)}
.ct-slot{background:#f7f8fa;border:1.5px dashed #dfe3e9;border-radius:16px;padding:18px 18px 20px;margin:6px 0 22px}
.ct-slot-top{display:flex;align-items:center;gap:10px}
.ct-slot-top b{font-family:Montserrat,sans-serif;font-weight:800;font-size:15.5px;letter-spacing:-.01em}
.ct-opt{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--orange-deep);background:var(--orange-tint);border-radius:999px;padding:4px 9px}
.ct-slot p{margin:8px 0 14px;font-size:14px;color:#6b7280;line-height:1.55}
.ct-submit{width:100%;justify-content:center}
.ct-fine{margin:14px 0 0;font-size:12.5px;color:#8b919c;text-align:center;line-height:1.5}
.ct-done{text-align:center;padding:56px 34px}
.ct-done-ic{width:60px;height:60px;border-radius:50%;background:var(--orange-tint);color:var(--orange-deep);display:grid;place-items:center;margin:0 auto 20px}
.ct-done-ic svg{width:28px;height:28px}
.ct-done h3{font-family:Montserrat,sans-serif;font-weight:900;font-size:26px;letter-spacing:-.02em;margin:0 0 10px}
.ct-done p{margin:0 auto 22px;font-size:15.5px;color:#6b7280;line-height:1.6;max-width:40ch}
.ct-faq{padding:96px 0}
@media(max-width:980px){.ct-grid{grid-template-columns:1fr;gap:44px}.ct-hero{padding:130px 0 70px}}
@media(max-width:640px){.ct-row{grid-template-columns:1fr;gap:0}.ct-form,.ct-done{padding:26px 20px}.ct-seg{grid-template-columns:1fr}}

.has-drop.open .gf-drop{opacity:1;visibility:visible;transform:translateX(-50%) translateY(10px)}
.has-mega.open .gf-mega{opacity:1;visibility:visible;transform:translateX(-50%) translateY(10px)}






:root{
  /* Color */
  --orange:#F4511E;
  --orange-deep:#d83900;
  --orange-press:#b12d00;
  --orange-tint:rgba(244,81,30,.1);
  --ink:#16181c;            /* near-black warm charcoal */
  --ink-2:#1d2024;
  --ink-3:#26292e;
  --surface:#f7f9fb;
  --white:#ffffff;
  --slate-50:#f2f4f6;
  --slate-100:#eceef0;
  --line:#e3e7eb;
  --line-strong:#d2d8de;
  --text:#16181c;
  --text-2:#54616c;
  --text-3:#8a949d;
  --on-dark:#f4f6f8;
  --on-dark-2:#a7afb7;
  --green:#1f8a4c;
  /* Shape */
  --r-sm:4px;
  --r-md:6px;
  --r-lg:10px;
  --r-xl:16px;
  /* Layout */
  --max:1200px;
  --gutter:24px;
  --shadow-1:0 1px 2px rgba(16,18,22,.04);
  --shadow-2:0 14px 40px rgba(16,18,22,.10);
  --shadow-card:0 10px 30px rgba(16,18,22,.06);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Inter',system-ui,sans-serif;
  color:var(--text);
  background:var(--white);
  -webkit-font-smoothing:antialiased;
  line-height:1.5;
}
h1,h2,h3,h4{font-family:'Montserrat',sans-serif;letter-spacing:-.02em;line-height:1.1}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}

/* ---------- Eyebrow ---------- */
.eyebrow{
  font-family:'Inter';font-weight:700;font-size:12px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--orange);display:inline-flex;align-items:center;gap:10px;
}
.eyebrow.center{justify-content:center}
.eyebrow .dot{width:4px;height:4px;border-radius:50%;background:var(--orange);opacity:.5}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:'Inter';font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase;
  padding:15px 26px;border-radius:var(--r-sm);border:1px solid transparent;cursor:pointer;
  transition:transform .15s ease, box-shadow .2s ease, background .2s ease;white-space:nowrap;
}
.btn svg{width:15px;height:15px}
.btn-primary{background:var(--orange);color:#fff;border-color:var(--orange)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(244,81,30,.32)}
.btn-dark{background:var(--ink);color:#fff;border-color:var(--ink)}
.btn-dark:hover{transform:translateY(-2px);box-shadow:var(--shadow-2)}
.btn-ghost{background:transparent;color:var(--text);border-color:var(--line-strong)}
.btn-ghost:hover{border-color:var(--ink);transform:translateY(-2px)}
.btn-ghost-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.28)}
.btn-ghost-light:hover{border-color:#fff;background:rgba(255,255,255,.06)}
.btn-lg{padding:18px 32px;font-size:14px}

/* ---------- Header ---------- */
header.nav{
  position:sticky;top:0;z-index:60;background:rgba(255,255,255,.86);
  backdrop-filter:blur(14px);border-bottom:1px solid var(--line);
}
.nav-inner{display:flex;align-items:center;gap:32px;height:70px}
.logo{display:flex;align-items:center;gap:10px;font-family:'Montserrat';font-weight:800;font-size:19px;letter-spacing:-.02em}
.logo .mark{
  width:30px;height:30px;border-radius:6px;background:var(--ink);color:#fff;
  display:grid;place-items:center;font-size:14px;position:relative;overflow:hidden;
}
.logo .mark::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:38%;background:var(--orange)}
.logo .mark span{position:relative;z-index:1}
.nav-links{display:flex;gap:30px;margin-left:8px}
.nav-links a{font-size:14px;font-weight:500;color:var(--text-2);transition:color .15s}
.nav-links a:hover{color:var(--text)}
.nav-right{margin-left:auto;display:flex;align-items:center;gap:22px}
.nav-phone{font-size:14px;font-weight:600;color:var(--text);display:flex;align-items:center;gap:8px}
.nav-phone svg{width:15px;height:15px;color:var(--orange)}
.menu-btn{display:none}

/* ---------- Hero ---------- */
.hero{position:relative;background:var(--surface);overflow:hidden}
.hero::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(60% 50% at 50% 0%, rgba(244,81,30,.06), transparent 70%),
    linear-gradient(to bottom, #fff 0%, var(--surface) 40%);
}
.hero-grid-bg{
  position:absolute;inset:0;opacity:.5;
  background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(70% 60% at 50% 30%,#000,transparent 75%);
}
.hero-inner{position:relative;text-align:center;padding:88px 0 96px;max-width:880px;margin:0 auto}
.hero h1{font-size:clamp(40px,6vw,76px);font-weight:800;letter-spacing:-.03em;margin:26px auto 0}
.hero h1 .accent{color:var(--orange)}
.hero p.sub{font-size:19px;color:var(--text-2);max-width:560px;margin:24px auto 0;line-height:1.6}
.hero-cta{margin-top:34px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
/* stat bar */
.stat-bar{
  margin:48px auto 0;max-width:620px;background:#fff;border:1px solid var(--line);
  border-radius:var(--r-lg);display:grid;grid-template-columns:repeat(3,1fr);
  box-shadow:var(--shadow-card);overflow:hidden;
}
.stat{padding:22px 24px;text-align:left;display:flex;align-items:center;gap:14px;border-right:1px solid var(--line)}
.stat:last-child{border-right:0}
.stat .ico{width:34px;height:34px;border-radius:var(--r-sm);background:var(--orange-tint);color:var(--orange-deep);display:grid;place-items:center;flex:none}
.stat .ico svg{width:18px;height:18px}
.stat .num{font-family:'Montserrat';font-weight:800;font-size:22px;letter-spacing:-.02em;line-height:1}
.stat .lab{font-size:12px;color:var(--text-3);margin-top:4px;letter-spacing:.02em}

/* ---------- Trust bar ---------- */
.trust{padding:42px 0;background:#fff;border-bottom:1px solid var(--line)}
.trust p{text-align:center;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);font-weight:600}
.logos{margin-top:26px;display:flex;justify-content:center;align-items:center;gap:56px;flex-wrap:wrap}
.logos .brand{display:flex;align-items:center;gap:10px;color:var(--text-2);font-family:'Montserrat';font-weight:700;font-size:17px;opacity:.62;transition:opacity .2s}
.logos .brand:hover{opacity:1}
.logos .brand svg{width:20px;height:20px;color:var(--text-3)}

/* ---------- Services ---------- */
.services{padding:104px 0}
.tabs{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;background:var(--slate-50);border:1px solid var(--line);border-radius:var(--r-md);padding:6px;width:max-content;max-width:100%;margin:0 auto 56px}
.tab{
  display:flex;align-items:center;gap:9px;padding:11px 20px;border-radius:var(--r-sm);
  font-size:14px;font-weight:600;color:var(--text-2);cursor:pointer;border:1px solid transparent;
  transition:all .15s;white-space:nowrap;
}
.tab svg{width:16px;height:16px}
.tab.active{background:#fff;color:var(--text);border-color:var(--line);box-shadow:var(--shadow-1)}
.tab.active svg{color:var(--orange)}
.svc-panel{display:none;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.svc-panel.active{display:grid}
.svc-copy h2{font-size:clamp(30px,3.6vw,42px);font-weight:800;margin:18px 0 0}
.svc-copy p.lead{font-size:17px;color:var(--text-2);margin-top:18px;line-height:1.6;max-width:480px}
.svc-list{margin-top:28px;display:flex;flex-direction:column;gap:16px}
.svc-list li{display:flex;gap:13px;align-items:flex-start;list-style:none;font-size:15.5px;color:var(--text)}
.svc-list .check{width:22px;height:22px;border-radius:50%;background:var(--orange-tint);color:var(--orange-deep);display:grid;place-items:center;flex:none;margin-top:1px}
.svc-list .check svg{width:13px;height:13px}
.svc-link{display:inline-flex;align-items:center;gap:9px;margin-top:30px;font-weight:700;font-size:14px;color:var(--text);border-bottom:2px solid var(--orange);padding-bottom:3px;transition:gap .15s}
.svc-link:hover{gap:14px}
.svc-link svg{width:15px;height:15px;color:var(--orange)}
/* visual card */
.svc-visual{position:relative}
.dash{
  background:var(--ink);border-radius:var(--r-lg);padding:18px;box-shadow:var(--shadow-2);
  border:1px solid var(--ink-3);
}
.dash-bar{display:flex;align-items:center;gap:7px;padding:4px 4px 14px}
.dash-bar i{width:10px;height:10px;border-radius:50%;background:#3a3f45}
.dash-bar i:first-child{background:#ff5f57}.dash-bar i:nth-child(2){background:#febc2e}.dash-bar i:nth-child(3){background:#28c840}
.dash-bar span{margin-left:8px;font-size:11px;color:#7f8893;font-family:'Inter'}
.dash-body{background:var(--ink-2);border-radius:var(--r-md);padding:18px;border:1px solid #2c3036}
.dash-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #2a2e33}
.dash-row:last-child{border-bottom:0}
.dash-row .lbl{font-size:12px;color:#9aa3ac;width:90px}
.dash-row .track{flex:1;height:8px;border-radius:99px;background:#33383e;overflow:hidden}
.dash-row .fill{height:100%;border-radius:99px;background:linear-gradient(90deg,var(--orange),var(--orange-deep))}
.dash-row .v{font-size:12px;color:#cfd5db;font-weight:600;width:42px;text-align:right}
.svc-metrics{
  position:absolute;left:-8px;bottom:-26px;background:#fff;border:1px solid var(--line);border-radius:var(--r-md);
  box-shadow:var(--shadow-card);display:flex;overflow:hidden;
}
.svc-metric{padding:14px 22px;display:flex;align-items:center;gap:11px;border-right:1px solid var(--line)}
.svc-metric:last-child{border-right:0}
.svc-metric .mi{width:30px;height:30px;border-radius:var(--r-sm);display:grid;place-items:center;flex:none}
.svc-metric .mi.up{background:rgba(31,138,76,.12);color:var(--green)}
.svc-metric .mi.cost{background:var(--orange-tint);color:var(--orange-deep)}
.svc-metric .mi svg{width:15px;height:15px}
.svc-metric .mk{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);font-weight:600}
.svc-metric .mv{font-family:'Montserrat';font-weight:800;font-size:18px}
.svc-metric .mv.green{color:var(--green)}

/* ---------- Dark video band ---------- */
.band-dark{background:var(--ink);color:var(--on-dark);padding:100px 0}
.band-dark .eyebrow{color:var(--orange)}
.sec-head{text-align:center;max-width:620px;margin:0 auto}
.sec-head h2{font-size:clamp(36px,4.6vw,56px);font-weight:900;letter-spacing:-.028em;line-height:1.05;margin-top:14px}
.sec-head.light h2{color:#fff}
.sec-head p{margin-top:18px;font-size:17.5px;line-height:1.6;color:var(--text-2)}
.sec-head{max-width:760px}
.sec-head.light p{color:var(--on-dark-2)}
.video-wrap{margin-top:54px;position:relative;border-radius:var(--r-xl);overflow:hidden;border:1px solid var(--ink-3);aspect-ratio:16/8;
  background:radial-gradient(120% 100% at 50% 120%, #2a1208 0%, #161616 55%);}
.video-wrap .play{
  position:absolute;inset:0;margin:auto;width:76px;height:76px;border-radius:50%;background:var(--orange);
  display:grid;place-items:center;cursor:pointer;box-shadow:0 12px 40px rgba(244,81,30,.45);transition:transform .2s;
}
.video-wrap .play:hover{transform:scale(1.08)}
.video-wrap .play svg{width:26px;height:26px;color:#fff;margin-left:4px}
.video-wrap .sun{position:absolute;left:50%;top:54%;transform:translate(-50%,-50%);width:120px;height:120px;border-radius:50%;
  background:radial-gradient(circle,#ffae7a,#f4511e 60%,transparent 72%);filter:blur(4px);opacity:.55}
.video-cols{position:absolute;inset:0;display:grid;grid-template-columns:repeat(3,1fr)}
.video-cols span{border-right:1px solid rgba(255,255,255,.05)}

/* ---------- Advantage ---------- */
.advantage{padding:104px 0;background:var(--surface)}
.cards-3{margin-top:56px;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.adv-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:34px 30px;
  border-top:3px solid transparent;transition:transform .2s, box-shadow .2s, border-color .2s;
}
.adv-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-card);border-top-color:var(--orange)}
.adv-card .ic{width:48px;height:48px;border-radius:var(--r-md);background:var(--orange-tint);color:var(--orange-deep);display:grid;place-items:center;margin-bottom:22px}
.adv-card .ic svg{width:24px;height:24px}
.adv-card h3{font-size:21px;font-weight:700}
.adv-card p{margin-top:12px;font-size:15px;color:var(--text-2);line-height:1.6}

/* ---------- Who we are ---------- */
.who{padding:104px 0}
.who-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:72px;align-items:center}
.who h2{font-size:clamp(34px,4.4vw,54px);font-weight:800}
.who h3{font-size:22px;font-weight:700;margin-top:26px}
.who p{font-size:16px;color:var(--text-2);margin-top:16px;line-height:1.7;max-width:480px}
.who .pull{
  margin-top:22px;padding:18px 22px;background:var(--slate-50);border-left:3px solid var(--orange);border-radius:0 var(--r-sm) var(--r-sm) 0;
  font-size:16px;color:var(--text);font-weight:500;
}
.who .pull b{color:var(--orange-deep)}
.who-cta{margin-top:34px}
/* portrait */
.portrait-stack{position:relative;justify-self:center}
.portrait-stack .glow{position:absolute;inset:-14px;background:var(--orange-tint);border-radius:var(--r-xl);transform:rotate(-3deg)}
.portrait{
  position:relative;width:380px;max-width:100%;aspect-ratio:4/4.4;border-radius:var(--r-lg);overflow:hidden;
  border:1px solid var(--line);box-shadow:var(--shadow-2);
}
.portrait .badge{
  position:absolute;left:18px;bottom:18px;right:18px;background:rgba(22,24,28,.78);backdrop-filter:blur(8px);
  border-radius:var(--r-sm);padding:13px 16px;display:flex;align-items:center;justify-content:space-between;color:#fff;
}
.portrait .badge .nm{font-family:'Montserrat';font-weight:700;font-size:15px}
.portrait .badge .ph{font-size:13px;color:#ffb59e;font-weight:600}

/* ---------- Placeholder ---------- */
.ph-img{
  width:100%;height:100%;position:relative;
  background:
    repeating-linear-gradient(45deg,#e9edf1 0 12px,#eef2f5 12px 24px);
  display:grid;place-items:center;color:#9aa6b0;
}
.ph-img.dark{background:repeating-linear-gradient(45deg,#202327 0 12px,#26292e 12px 24px);color:#6b747d}
.ph-img .tag{font-family:'Inter';font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;
  background:rgba(255,255,255,.7);padding:5px 11px;border-radius:99px;border:1px solid var(--line)}
.ph-img.dark .tag{background:rgba(0,0,0,.35);border-color:#34383e}

/* ---------- Testimonials ---------- */
.testi{background:var(--ink);color:#fff;padding:100px 0}
.testi-grid{margin-top:54px;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.testi-card{background:var(--ink-2);border:1px solid var(--ink-3);border-radius:var(--r-lg);overflow:hidden;transition:transform .2s,border-color .2s}
.testi-card:hover{transform:translateY(-4px);border-color:#3a3f46}
.testi-media{aspect-ratio:16/10;position:relative}
.testi-media .play{position:absolute;inset:0;margin:auto;width:54px;height:54px;border-radius:50%;background:rgba(255,255,255,.92);display:grid;place-items:center;cursor:pointer;transition:transform .2s}
.testi-media .play:hover{transform:scale(1.08);background:#fff}
.testi-media .play svg{width:20px;height:20px;color:var(--ink);margin-left:3px}
.testi-body{padding:24px}
.stars{display:flex;gap:3px;color:var(--orange)}
.stars svg{width:15px;height:15px}
.testi-quote{font-size:16px;font-weight:600;margin-top:14px;color:#fff;line-height:1.45}
.testi-meta{margin-top:14px;font-size:13px;color:var(--on-dark-2)}
.testi-meta b{color:#fff;font-weight:600}

/* ---------- CTA band ---------- */
.cta-band{padding:96px 0}
.cta-box{position:relative;background:var(--ink);border-radius:var(--r-xl);padding:72px 40px;text-align:center;overflow:hidden}
.cta-box .ghost-letter{position:absolute;right:-30px;top:-50px;font-family:'Montserrat';font-weight:900;font-size:280px;color:rgba(255,255,255,.03);line-height:1;pointer-events:none}
.cta-box h2{position:relative;font-size:clamp(30px,4vw,46px);font-weight:800;color:#fff;max-width:640px;margin:0 auto}
.cta-box p{position:relative;color:var(--on-dark-2);font-size:16.5px;margin:18px auto 0;max-width:520px}
.cta-actions{position:relative;margin-top:36px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.cta-chips{position:relative;margin-top:30px;display:flex;gap:26px;justify-content:center;flex-wrap:wrap}
.cta-chip{display:flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--on-dark-2);font-weight:600}
.cta-chip svg{width:14px;height:14px;color:var(--orange)}

/* ---------- FAQ ---------- */
.faq{padding:100px 0;background:var(--surface)}
.faq-list{max-width:780px;margin:54px auto 0;display:flex;flex-direction:column;gap:14px}
.faq-item{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;transition:border-color .2s}
.faq-item.open{border-color:var(--line-strong)}
.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 26px;cursor:pointer;background:none;border:0;text-align:left;font-family:'Inter';font-size:16.5px;font-weight:600;color:var(--text)}
.faq-q .pm{width:26px;height:26px;border-radius:50%;border:1px solid var(--line-strong);display:grid;place-items:center;flex:none;transition:.2s;color:var(--text-2)}
.faq-item.open .pm{background:var(--orange);border-color:var(--orange);color:#fff;transform:rotate(45deg)}
.faq-q .pm svg{width:14px;height:14px}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease}
.faq-a p{padding:0 26px 24px;font-size:15.5px;color:var(--text-2);line-height:1.7;max-width:640px}

/* ---------- Blog ---------- */
.blog{padding:100px 0}
.blog-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}
.blog-head h2{font-size:clamp(28px,3.4vw,40px);font-weight:800}
.blog-head p{color:var(--text-2);margin-top:12px;font-size:16px}
.blog-all{font-weight:700;font-size:14px;display:inline-flex;align-items:center;gap:8px;color:var(--text);border-bottom:2px solid var(--orange);padding-bottom:3px}
.blog-all svg{width:15px;height:15px;color:var(--orange)}
.blog-grid{margin-top:48px;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:24px}
.post{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:#fff;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column}
.post:hover{transform:translateY(-4px);box-shadow:var(--shadow-card)}
.post-media{aspect-ratio:16/10}
.post-body{padding:24px;display:flex;flex-direction:column;gap:10px;flex:1}
.post .cat{font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--orange)}
.post h3{font-size:19px;font-weight:700;line-height:1.25}
.post.feat h3{font-size:23px}
.post p{font-size:14.5px;color:var(--text-2);line-height:1.6}
.post .read{margin-top:auto;padding-top:8px;font-size:13px;font-weight:600;color:var(--text);display:inline-flex;align-items:center;gap:7px}
.post .read svg{width:14px;height:14px;color:var(--orange)}


/* ---------- Case study slider ---------- */
.cs-slider{margin-top:52px}
.cs-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:4px 4px 10px;-ms-overflow-style:none;scrollbar-width:none}
.cs-track::-webkit-scrollbar{display:none}
.cs-card{flex:0 0 calc((100% - 48px)/3);scroll-snap-align:start;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;transition:transform .2s,box-shadow .2s,border-color .2s}
.cs-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-card);border-color:#dcdcd8}
.cs-logo{height:132px;flex:none;display:grid;place-items:center;padding:22px 26px;background:var(--slate-50);border-bottom:1px solid var(--line)}
.cs-logo img{max-height:74px;max-width:200px;width:auto;object-fit:contain;display:block}
.cs-wm{font-family:'Montserrat',sans-serif;font-weight:800;font-size:19px;letter-spacing:-.015em;color:var(--ink);text-align:center;line-height:1.2}
.cs-body{padding:24px 26px 26px;display:flex;flex-direction:column;gap:12px;flex:1}
.cs-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.cs-cat{font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);background:rgba(240,120,40,.14);border-radius:99px;padding:5px 11px}
.cs-loc{font-size:12.5px;color:var(--text-3)}
.cs-card h3{font-family:'Montserrat',sans-serif;font-weight:800;font-size:19px;line-height:1.26;letter-spacing:-.015em;color:var(--ink);text-wrap:balance}
.cs-card p{font-size:14.5px;line-height:1.6;color:var(--text-2);margin:0}
.cs-link{margin-top:auto;padding-top:6px;display:inline-flex;align-items:center;gap:7px;font-size:13.5px;font-weight:700;color:var(--ink);text-decoration:none}
.cs-link svg{width:14px;height:14px;color:var(--orange);transition:transform .18s}
.cs-link:hover svg{transform:translate(2px,-2px)}
.cs-controls{display:flex;align-items:center;justify-content:space-between;margin-top:22px}
.cs-count{font-size:13px;color:var(--text-3);letter-spacing:.04em}
.cs-count b{color:var(--ink);font-weight:700}
.cs-arrows{display:flex;gap:10px}
.cs-arrow{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--ink);display:grid;place-items:center;cursor:pointer;transition:background .18s,color .18s,border-color .18s}
.cs-arrow:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.cs-arrow svg{width:18px;height:18px}
@media(max-width:1000px){.cs-card{flex:0 0 calc((100% - 24px)/2)}}
@media(max-width:680px){.cs-card{flex:0 0 86%}}

/* ---------- Success Stories ---------- */
.stories{padding:104px 0;background:var(--surface)}
.stories-grid{margin-top:56px;display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.story{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.story:hover{transform:translateY(-4px);box-shadow:var(--shadow-card)}
.story-media{aspect-ratio:16/11}
.story-body{padding:26px 26px 28px;display:flex;flex-direction:column;gap:18px;flex:1}
.story-cat{align-self:flex-start;font-size:12px;font-weight:600;color:var(--text-2);background:var(--slate-50);border:1px solid var(--line);padding:6px 14px;border-radius:99px}
.story h3{font-size:21px;font-weight:700;line-height:1.28;letter-spacing:-.01em;text-wrap:pretty}
.story-read{margin-top:auto;display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--text)}
.story-read svg{width:15px;height:15px;color:var(--orange);transition:transform .15s}
.story:hover .story-read svg{transform:translate(2px,-2px)}

/* ---------- Google Reviews ---------- */
.reviews{background:#f4f3f1;padding:64px 0 0}
.reviews-shell{position:relative;max-width:1200px;margin:0 auto;background:#e9e8e6;border-radius:28px;padding:72px 48px 0;overflow:hidden}
.reviews-shell .sec-head h2{color:var(--ink)}
.reviews-shell .sec-head p{color:var(--text-2)}
.rv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.rv-grid.top{margin-top:52px}
.rv-card{background:#fff;border-radius:14px;padding:22px 22px 24px;box-shadow:0 1px 3px rgba(16,18,22,.05);display:flex;flex-direction:column;gap:15px;min-height:172px}
.rv-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.rv-stars{display:flex;gap:2px}
.rv-stars svg{width:15px;height:15px;color:#fbbc05}
.rv-src{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--text-3);font-weight:500}
.rv-src .g{width:16px;height:16px;flex:none}
.rv-text{font-size:14.5px;line-height:1.5;color:#3a4047;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.rv-person{display:flex;align-items:center;gap:12px;margin-top:auto}
.rv-avatar{width:40px;height:40px;border-radius:50%;flex:none;display:grid;place-items:center;font-family:'Montserrat';font-weight:700;font-size:15px;color:#fff;background:var(--ink)}
.rv-name{font-size:14px;font-weight:600;color:var(--text);line-height:1.2}
.rv-role{font-size:13px;color:var(--text-3);margin-top:2px}
.rv-faded{position:relative;margin-top:22px;max-height:96px;overflow:hidden}
.rv-faded::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(233,232,230,0) 0%,rgba(233,232,230,.85) 70%,#e9e8e6 100%);pointer-events:none}
.rv-cta{position:relative;z-index:3;text-align:center;margin-top:-30px;padding-bottom:56px}
.btn-reviews{display:inline-flex;align-items:center;gap:14px;background:var(--ink);color:#fff;font-family:'Inter';font-weight:600;font-size:15px;padding:11px 13px 11px 24px;border-radius:11px;box-shadow:0 12px 30px rgba(16,18,22,.22);transition:transform .15s,box-shadow .2s}
.btn-reviews:hover{transform:translateY(-2px);box-shadow:0 16px 38px rgba(16,18,22,.28)}
.btn-reviews .ic{width:30px;height:30px;border-radius:7px;background:var(--orange);display:grid;place-items:center;flex:none}
.btn-reviews .ic svg{width:15px;height:15px;color:#fff}
@media(max-width:920px){.rv-grid{grid-template-columns:1fr}.reviews-shell{padding:56px 22px 0}.rv-faded{max-height:86px}}

/* ===== Discovery CTA button (hover-invert) ===== */
.btn-disc{display:inline-flex;align-items:center;gap:14px;background:var(--ink);color:#fff;font-family:'Inter';font-weight:700;font-size:15px;letter-spacing:-.01em;padding:11px 11px 11px 24px;border-radius:14px;border:2px solid var(--ink);cursor:pointer;transition:background .22s,color .22s,border-color .22s,transform .15s}
.btn-disc .da{width:34px;height:34px;border-radius:9px;background:var(--orange);display:grid;place-items:center;flex:none;transition:background .22s}
.btn-disc .da svg{width:17px;height:17px;color:#fff;transition:color .22s}
.btn-disc:hover{background:#fff;color:var(--ink);transform:translateY(-2px)}
.btn-disc:hover .da{background:var(--ink)}
.btn-disc:hover .da svg{color:var(--orange)}
.btn-disc.lg{font-size:16px;padding:13px 13px 13px 28px}
.btn-disc.lg .da{width:38px;height:38px}

/* ===== Donut rings ===== */
.donut{position:relative;border-radius:50%;background:conic-gradient(var(--orange) 0 30%,#dfe3e7 30% 100%);flex:none}
.donut::after{content:"";position:absolute;inset:30%;background:#fff;border-radius:50%}
.donut.sm{width:34px;height:34px}
.donut.md{width:54px;height:54px}

/* ===== GF Header ===== */
header.gf-nav{position:sticky;top:0;z-index:60;background:#fff;border-bottom:1px solid var(--line)}
.gf-nav-inner{display:flex;align-items:center;height:86px;gap:30px}
.gf-logo{display:flex;align-items:center;gap:13px}
.gf-ring{position:relative;width:40px;height:40px;border-radius:50%;background:conic-gradient(from 90deg,#f6b21b,#f4511e,#18a0b8,#1f8a5b,#f6b21b);flex:none}
.gf-ring::after{content:"";position:absolute;inset:9px;background:#fff;border-radius:50%}
.gf-logo .wm{font-family:'Montserrat';font-weight:800;font-size:18px;line-height:.96;letter-spacing:-.01em;text-transform:uppercase;color:var(--ink)}
.gf-links{margin-left:auto;display:flex;align-items:center;gap:30px}
.gf-links a{font-size:15.5px;font-weight:500;color:var(--text);display:flex;align-items:center;gap:5px;transition:color .15s}
.gf-links a:hover{color:var(--orange)}
.gf-links .cv{width:13px;height:13px;color:var(--text-3)}
.gf-cta{margin-left:8px}
.gf-menu{display:none}

/* ===== Services 2.0 (GF dashboards) ===== */
.services2{padding:96px 0 130px;background:var(--surface)}
.services2 .sec-head{margin-bottom:44px}
.svc2-wrap{max-width:1120px;margin:0 auto;position:relative}
.svc2-tabs{display:flex;justify-content:center;gap:6px;position:relative;z-index:3;padding:0 12px}
.svc2-tab{position:relative;display:flex;align-items:center;gap:9px;padding:15px 24px 16px;font-family:'Inter';font-weight:700;font-size:15px;color:var(--text-2);background:#e7eaed;border:1px solid var(--line);border-bottom:none;border-radius:14px 14px 0 0;cursor:pointer;transition:background .2s,color .2s;white-space:nowrap;overflow:hidden}
.svc2-tab .ti{width:19px;height:19px;color:var(--text-3);flex:none}
.svc2-tab.active{background:#fff;color:var(--ink)}
.svc2-tab.active .ti{color:var(--orange)}
.svc2-timer{position:absolute;left:0;bottom:0;height:3px;width:0;background:var(--orange)}
.svc2-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-card);padding:46px 46px 40px;min-height:560px}
.svc2-panel{display:none}
.svc2-panel.active{display:block;animation:fadeUp .4s ease both}
@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.svc2-cta-wrap{display:flex;justify-content:center;margin-top:34px;margin-bottom:-62px;position:relative;z-index:5}

/* shared dashboard bits */
.skel{background:#eef1f4;border-radius:6px;display:block}
.dash-grid{display:grid;gap:42px;align-items:start}
.dash-divider{border-left:1px solid var(--line)}
.stat-num{font-family:'Montserrat';font-weight:800;letter-spacing:-.02em;color:var(--ink)}

/* UX panel */
.d-ux{grid-template-columns:1.4fr 1fr}
.ux-url{font-size:14px;color:var(--text-3)}
.ux-title{font-family:'Montserrat';font-weight:800;font-size:30px;letter-spacing:-.02em;margin-top:8px;color:var(--ink)}
.ux-skel{margin-top:22px;display:flex;flex-direction:column;gap:11px;max-width:430px}
.ux-stars{display:flex;gap:4px;color:var(--orange);margin-top:26px}
.ux-stars svg{width:20px;height:20px}
.ux-contact{position:relative;display:inline-flex;align-items:center;margin-top:24px;background:var(--orange);color:#fff;font-weight:700;font-size:15px;padding:12px 26px;border-radius:10px;border:none;font-family:'Inter'}
.ux-cursor{position:absolute;right:-26px;bottom:-18px;width:30px;height:30px;color:var(--ink)}
.ux-trust{margin-top:40px;font-size:13px;color:var(--text-3);letter-spacing:.04em}
.ux-logos{margin-top:14px;display:flex;flex-wrap:wrap;gap:26px;align-items:center}
.ux-logos span{font-family:'Montserrat';font-weight:700;font-size:15px;color:var(--text-3);opacity:.7}
.wd-title{font-family:'Montserrat';font-weight:800;font-size:24px;color:var(--ink);margin-bottom:20px}
.wd-card{border:1px solid var(--line);border-radius:14px;padding:22px 24px;margin-bottom:16px}
.wd-num{font-family:'Montserrat';font-weight:800;font-size:30px;letter-spacing:-.02em;color:var(--ink)}
.wd-lab{font-size:14px;color:var(--text-2);margin-top:3px}
.d-ux .dash-right{padding-left:42px}

/* Paid panel */
.d-paid{grid-template-columns:1.55fr 1fr}
.pm-head{display:flex;align-items:center;gap:13px;margin-bottom:18px}
.pm-head h3{font-family:'Montserrat';font-weight:800;font-size:24px;color:var(--ink)}
.pm-chartbox{border:1px solid var(--line);border-radius:14px;padding:20px}
.pm-chart{width:100%;height:auto;display:block}
.pm-card{border:1px solid var(--line);border-radius:14px;padding:22px 24px;margin-bottom:16px}
.pm-card-t{font-family:'Montserrat';font-weight:700;font-size:18px;color:var(--text-3);margin-bottom:18px}
.pm-card-t b{color:var(--ink)}
.pm-stats{display:grid;grid-template-columns:1fr 1fr;gap:22px 18px}
.pm-stat .n{font-family:'Montserrat';font-weight:800;font-size:27px;letter-spacing:-.02em;color:var(--ink)}
.pm-stat .l{font-size:13px;color:var(--text-3);margin-top:2px}

/* Voice panel */
.d-voice{grid-template-columns:1.4fr 1fr}
.va-call{background:var(--ink);border-radius:16px;padding:22px;color:#fff}
.va-top{display:flex;align-items:center;gap:13px}
.va-avatar{width:46px;height:46px;border-radius:12px;background:linear-gradient(135deg,var(--orange),var(--orange-deep));display:grid;place-items:center;font-family:'Montserrat';font-weight:800;font-size:15px;flex:none;position:relative}
.va-avatar::after{content:"";position:absolute;inset:-5px;border-radius:14px;border:2px solid var(--orange);opacity:.5;animation:pulse 1.8s ease-out infinite}
@keyframes pulse{0%{transform:scale(1);opacity:.5}100%{transform:scale(1.18);opacity:0}}
.va-name{font-weight:700;font-size:15px}
.va-status{font-size:12.5px;color:#9aa3ac;margin-top:3px;display:flex;align-items:center;gap:6px}
.va-status .d{width:7px;height:7px;border-radius:50%;background:#1fd17a;box-shadow:0 0 0 0 rgba(31,209,122,.6);animation:blip 1.6s infinite}
@keyframes blip{0%{box-shadow:0 0 0 0 rgba(31,209,122,.5)}100%{box-shadow:0 0 0 7px rgba(31,209,122,0)}}
.va-live{margin-left:auto;font-size:10.5px;font-weight:700;letter-spacing:.12em;color:var(--orange);border:1px solid rgba(244,81,30,.4);padding:4px 9px;border-radius:99px}
.va-wave{display:flex;align-items:center;justify-content:center;gap:3px;height:46px;margin:18px 0}
.va-wave i{width:3px;border-radius:99px;background:var(--orange);animation:wave 1s ease-in-out infinite}
@keyframes wave{0%,100%{height:8px;opacity:.45}50%{height:34px;opacity:1}}
.va-trans{display:flex;flex-direction:column;gap:9px}
.va-trans p{font-size:13px;line-height:1.45;padding:10px 13px;border-radius:11px;max-width:85%;margin:0}
.va-trans .ai{background:#26292e;color:#e8ebee;border-bottom-left-radius:3px}
.va-trans .user{background:var(--orange);color:#fff;align-self:flex-end;border-bottom-right-radius:3px}
.va-booked{margin-top:16px;display:flex;align-items:center;gap:9px;background:rgba(31,138,76,.16);color:#5fe39b;font-size:13px;font-weight:600;padding:11px 14px;border-radius:10px}
.va-booked svg{width:16px;height:16px}
.va-card{border:1px solid var(--line);border-radius:14px;padding:22px 24px;margin-bottom:16px}
.va-card .ct{font-family:'Montserrat';font-weight:700;font-size:18px;color:var(--text-3);margin-bottom:18px}
.va-card .ct b{color:var(--ink)}
.va-agent{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line)}
.va-agent:first-of-type{border-top:none}
.va-ava{width:32px;height:32px;border-radius:9px;background:var(--slate-50);display:grid;place-items:center;font-family:'Montserrat';font-weight:700;font-size:13px;color:var(--text-2);flex:none}
.va-agent .an{font-size:14px;font-weight:600;color:var(--ink)}
.va-agent .ar{font-size:12.5px;color:var(--text-3)}
.va-agent .st{margin-left:auto;font-size:12px;font-weight:600;display:flex;align-items:center;gap:6px}
.va-agent .st .dd{width:7px;height:7px;border-radius:50%}
.va-agent .st.on{color:var(--green)}.va-agent .st.on .dd{background:var(--green)}
.va-agent .st.idle{color:var(--text-3)}.va-agent .st.idle .dd{background:var(--text-3)}

/* SEO panel */
.d-seo{grid-template-columns:1.5fr 1fr}
.seo-row{display:flex;align-items:center;gap:14px;margin-bottom:24px}
.seo-search{flex:1;display:flex;align-items:center;gap:10px;border:1px solid var(--line-strong);border-radius:99px;padding:12px 18px;color:var(--text-3);font-size:15px}
.seo-search svg{width:18px;height:18px;margin-left:auto;color:var(--text-3)}
.seo-skel{display:flex;flex-direction:column;gap:24px;margin-bottom:24px}
.seo-skel .blk{display:flex;gap:16px}
.seo-skel .blk .th{width:62px;height:62px;border-radius:10px;background:#eef1f4;flex:none}
.seo-skel .blk .ln{flex:1;display:flex;flex-direction:column;gap:9px;padding-top:6px}
.seo-listing{border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:var(--shadow-1)}
.sl-top{display:flex;align-items:center;gap:12px}
.sl-top b{font-family:'Montserrat';font-weight:800;font-size:16px;letter-spacing:.01em;color:var(--ink)}
.sl-stars{display:flex;gap:2px;color:var(--orange)}
.sl-stars svg{width:14px;height:14px}
.sl-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-top:16px}
.sl-url{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--text-2);background:var(--slate-50);border:1px solid var(--line);padding:7px 12px;border-radius:8px}
.sl-url svg{width:14px;height:14px;color:var(--text-3)}
.sl-map{width:200px;height:96px;border-radius:10px;position:relative;overflow:hidden;background:
  linear-gradient(#e7eaed,#e7eaed) padding-box,
  repeating-linear-gradient(60deg,#dfe3e7 0 1px,transparent 1px 26px),
  repeating-linear-gradient(-30deg,#dfe3e7 0 1px,transparent 1px 22px);
  background-color:#eef1f4;border:1px solid var(--line)}
.sl-map .pin{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);color:var(--orange)}
.sl-map .pin svg{width:26px;height:26px;filter:drop-shadow(0 4px 6px rgba(0,0,0,.18))}
.seo-nav-ic{color:var(--orange)}
.seo-nav-ic svg{width:26px;height:26px}
.d-seo .dash-right h3{font-family:'Montserrat';font-weight:800;font-size:28px;color:var(--ink);margin-top:10px}
.seo-div{height:1px;background:var(--line);margin:18px 0}
.d-seo .dash-right>p{font-size:16px;color:var(--text-2);line-height:1.6}
.seo-bullets{margin-top:20px;display:flex;flex-direction:column;gap:12px}
.seo-bullets div{background:var(--slate-50);border:1px solid var(--line);border-radius:10px;padding:14px 16px;font-size:14.5px;color:var(--text);line-height:1.5}
.d-seo .dash-right{padding-left:42px}

/* ===== Survey ===== */
.survey{background:var(--ink);color:#fff;padding:118px 0}
.survey-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.survey-left .eyebrow{color:var(--orange)}
.survey-left h2{font-family:'Montserrat';font-weight:800;font-size:clamp(34px,4.6vw,58px);text-transform:uppercase;letter-spacing:-.02em;line-height:1.04;margin-top:22px;border-top:1px solid rgba(255,255,255,.16);padding-top:26px}
.survey-left p{margin-top:22px;font-size:17px;color:var(--on-dark-2);line-height:1.6;max-width:420px}
.survey-q .ql{border-top:1px solid rgba(255,255,255,.16);padding:18px 0;font-family:'Montserrat';font-weight:800;font-size:clamp(24px,2.9vw,40px);text-transform:uppercase;letter-spacing:-.01em;line-height:1.05}
.survey-q .ql:last-of-type{border-bottom:1px solid rgba(255,255,255,.16)}
.survey-cta{margin-top:38px;display:flex;justify-content:center}

/* ===== GF Footer ===== */
footer.gf-foot{background:#ece9e5;color:var(--text);padding:0 0 38px}
.gf-foot-head{max-width:1200px;margin:0 auto;padding:72px 24px 40px;display:flex;align-items:flex-start;gap:26px}
.gf-foot-head h2{font-family:'Montserrat';font-weight:800;font-size:clamp(34px,4vw,52px);letter-spacing:-.02em;color:var(--ink)}
.gf-foot-head p{font-size:17px;color:var(--text-2);margin-top:14px;max-width:520px}
.gf-foot-card{max-width:1200px;margin:0 auto;background:#fff;border-radius:26px;padding:52px 52px;display:grid;grid-template-columns:repeat(5,1fr);gap:30px}
.gf-foot-card h4{font-family:'Montserrat';font-weight:800;font-size:19px;color:var(--ink);margin-bottom:18px;letter-spacing:-.01em}
.gf-foot-card a{display:block;font-size:15px;color:var(--text-2);margin-bottom:12px;transition:color .15s}
.gf-foot-card a:hover{color:var(--orange)}
.gf-foot-legal{max-width:1200px;margin:26px auto 0;padding:0 28px;display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;font-size:13.5px;color:var(--text-3)}
.gf-foot-legal .socs{display:flex;gap:12px}
.gf-foot-legal .socs a{width:34px;height:34px;border-radius:9px;border:1px solid var(--line-strong);display:grid;place-items:center;color:var(--text-2);transition:.15s}
.gf-foot-legal .socs a:hover{color:var(--orange);border-color:var(--orange)}
.gf-foot-legal .socs svg{width:16px;height:16px}

@media(max-width:980px){
  .dash-grid{grid-template-columns:1fr !important;gap:32px}
  .dash-divider.d-ux .dash-right.d-seo .dash-right{border-left:none;padding-left:0}
  .gf-foot-card{grid-template-columns:1fr 1fr}
  .survey-grid{grid-template-columns:1fr;gap:44px}
}
@media(max-width:920px){
  .gf-links{display:none}
  .gf-menu{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer;margin-left:auto}
  .gf-menu svg{width:22px;height:22px}
  .gf-cta{display:none}
  .svc2-tabs{overflow-x:auto;justify-content:flex-start}
  .svc2-card{padding:32px 22px}
}
@media(max-width:560px){
  .gf-foot-card{grid-template-columns:1fr;padding:36px 26px}
  .pm-stats{grid-template-columns:1fr 1fr}
}

/* ---------- Footer ---------- */
footer{background:var(--ink);color:var(--on-dark-2);padding:64px 0 34px}
.foot-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-bottom:44px;border-bottom:1px solid var(--ink-3)}
.foot-brand .logo{color:#fff}
.foot-brand p{margin-top:16px;font-size:14px;max-width:280px;line-height:1.6}
.foot-col h4{font-family:'Inter';font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#fff;font-weight:700;margin-bottom:16px}
.foot-col a{display:block;font-size:14px;margin-bottom:11px;color:var(--on-dark-2);transition:color .15s}
.foot-col a:hover{color:#fff}
.foot-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:24px;font-size:13px;flex-wrap:wrap;gap:12px}
.foot-bottom .socials{display:flex;gap:14px}
.foot-bottom .socials a{width:32px;height:32px;border-radius:var(--r-sm);border:1px solid var(--ink-3);display:grid;place-items:center;color:var(--on-dark-2);transition:.15s}
.foot-bottom .socials a:hover{color:#fff;border-color:#3a3f46}
.foot-bottom .socials svg{width:15px;height:15px}

/* ---------- Responsive ---------- */
@media(max-width:920px){
  .nav-links.nav-phone{display:none}
  .menu-btn{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:var(--r-sm);background:#fff;cursor:pointer}
  .menu-btn svg{width:20px;height:20px}
  .svc-panel.active.who-grid{grid-template-columns:1fr;gap:48px}
  .cards-3.testi-grid.blog-grid.stories-grid{grid-template-columns:1fr}
  .foot-top{grid-template-columns:1fr 1fr}
  .svc-metrics{position:static;margin-top:18px;width:max-content}
  .portrait{width:320px}
}
@media(max-width:560px){
  .stat-bar{grid-template-columns:1fr}
  .stat{border-right:0;border-bottom:1px solid var(--line)}
  .foot-top{grid-template-columns:1fr}
  .hero-inner{padding:60px 0 70px}
}

/* ===== Compact header + brand mark ===== */
.gf-nav-inner{height:66px !important;gap:26px}
.gf-mark{height:34px;width:auto;display:block;flex:none}
.gf-logo .wm{font-size:16px}
.gf-cta{padding-top:9px;padding-bottom:9px}

/* ===== on-dark discovery button ===== */
.btn-disc.on-dark{background:#fff;color:var(--ink);border-color:#fff}
.btn-disc.on-dark .da{background:var(--orange)}
.btn-disc.on-dark .da svg{color:#fff}
.btn-disc.on-dark:hover{background:transparent;color:#fff;border-color:#fff}
.btn-disc.on-dark:hover .da{background:#fff}
.btn-disc.on-dark:hover .da svg{color:var(--orange)}

/* ===== Showreel ===== */
.showreel{padding:104px 0;background:var(--surface)}
.reel-stage{position:relative;margin-top:50px;border-radius:20px;overflow:hidden;background:var(--ink);box-shadow:var(--shadow-2);aspect-ratio:16/9;max-height:660px}
.reel-media{position:absolute;inset:0;background:radial-gradient(120% 100% at 30% 30%,#3a2418,#14151a 70%);transition:background .5s ease}
.reel-scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,13,15,.92),rgba(12,13,15,.5) 46%,rgba(12,13,15,.12) 72%,transparent)}
.reel-scrim.bottom{background:linear-gradient(0deg,rgba(12,13,15,.9),transparent 40%)}
.reel-content{position:absolute;left:0;top:0;bottom:96px;width:62%;max-width:700px;padding:56px;display:flex;flex-direction:column;justify-content:center;z-index:2}
.reel-tag{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;margin-bottom:22px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:#fff;background:var(--orange);padding:7px 13px;border-radius:99px}
.reel-quote{font-family:'Montserrat';font-weight:800;font-size:clamp(25px,3.3vw,44px);line-height:1.08;letter-spacing:-.02em;color:#fff;text-wrap:balance;margin:0}
.reel-by{margin-top:24px;font-size:16px;color:#fff}
.reel-by b{font-weight:700}.reel-by span{color:var(--on-dark-2);margin-left:8px}
.reel-play{position:absolute;right:9%;top:42%;transform:translateY(-50%);width:84px;height:84px;border-radius:50%;background:var(--orange);display:grid;place-items:center;cursor:pointer;z-index:3;box-shadow:0 14px 44px rgba(244,81,30,.5);transition:transform .2s}
.reel-play::after{content:"";position:absolute;inset:-12px;border-radius:50%;border:2px solid rgba(255,255,255,.4);animation:pulse 2s ease-out infinite}
.reel-play:hover{transform:translateY(-50%) scale(1.07)}
.reel-play svg{width:30px;height:30px;color:#fff;margin-left:4px}
.reel-rail{position:absolute;left:0;right:0;bottom:0;z-index:4;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.1)}
.reel-chip{display:flex;align-items:center;gap:13px;padding:18px 22px;background:rgba(12,13,15,.55);backdrop-filter:blur(6px);border:none;cursor:pointer;text-align:left;transition:background .2s,opacity .2s;opacity:.5}
.reel-chip:hover{opacity:.82;background:rgba(12,13,15,.7)}
.reel-chip.active{opacity:1;background:rgba(12,13,15,.8);box-shadow:inset 0 3px 0 var(--orange)}
.reel-ava{width:42px;height:42px;border-radius:50%;flex:none;overflow:hidden;border:2px solid rgba(255,255,255,.25)}
.reel-chip.active .reel-ava{border-color:var(--orange)}
.reel-ava .ph-img{height:100%}
.reel-cn{font-size:14px;font-weight:700;color:#fff;line-height:1.2}
.reel-cr{font-size:12.5px;color:var(--on-dark-2);margin-top:2px}
@media(max-width:760px){
  .reel-content{width:100%;max-width:none;padding:28px}
  .reel-play{right:50%;top:38%;transform:translate(50%,-50%)}
  .reel-rail{grid-template-columns:1fr 1fr}
  .reel-chip{padding:12px 14px}
}

/* ===== Survey restyle ===== */
.survey2{background:var(--ink);color:#fff;padding:108px 0;position:relative;overflow:hidden}
.survey2::before{content:"";position:absolute;right:-70px;top:-70px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(244,81,30,.18),transparent 70%)}
.survey2-grid{position:relative;display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:center}
.survey2 .eyebrow{color:var(--orange)}
.survey2 h2{font-family:'Montserrat';font-weight:800;font-size:clamp(32px,4.2vw,52px);letter-spacing:-.02em;line-height:1.06;margin-top:20px;color:#fff}
.survey2 .s2-sub{margin-top:20px;font-size:17px;color:var(--on-dark-2);line-height:1.65;max-width:450px}
.survey2 .s2-cta{margin-top:34px}
.s2-card{background:var(--ink-2);border:1px solid var(--ink-3);border-radius:18px;padding:36px 36px}
.s2-num{display:flex;align-items:center;gap:16px}
.s2-num b{font-family:'Montserrat';font-weight:800;font-size:68px;line-height:.8;color:var(--orange);letter-spacing:-.03em}
.s2-num span{font-family:'Montserrat';font-weight:700;font-size:21px;color:#fff;line-height:1.12}
.s2-list{margin-top:26px;display:flex;flex-direction:column}
.s2-item{display:flex;align-items:center;gap:13px;padding:13px 0;border-top:1px solid var(--ink-3);font-size:15.5px;color:var(--on-dark)}
.s2-item:first-child{border-top:none}
.s2-i{width:26px;height:26px;border-radius:50%;background:rgba(244,81,30,.16);color:var(--orange);display:grid;place-items:center;flex:none;font-size:12px;font-weight:700;font-family:'Montserrat'}
@media(max-width:860px){.survey2-grid{grid-template-columns:1fr;gap:40px}}

/* ===== Footer brand lockup ===== */
.gf-foot-head .foot-mark{height:56px;width:auto;flex:none}
.brand-lockup{display:flex;align-items:flex-end;gap:11px}
.brand-lockup .bl-mark{height:32px;width:auto}
.brand-lockup .bl-wm{font-family:'Montserrat';font-weight:800;font-size:19px;letter-spacing:-.01em;color:var(--ink);line-height:1;text-transform:lowercase}
.brand-lockup .bl-icons{display:flex;gap:5px;color:var(--orange);margin-bottom:3px}
.brand-lockup .bl-icons svg{width:14px;height:14px}
.gf-foot-legal .legal-left{display:flex;align-items:center;gap:22px;flex-wrap:wrap}

/* hero pillars (peace/megaphone/globe brand motif) */
.hero-pillars{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap}
.hp{display:inline-flex;align-items:center;gap:8px;font-family:'Inter';font-weight:700;font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-2)}
.hp svg{width:16px;height:16px;color:var(--orange)}
.hp-sep{width:5px;height:5px;border-radius:50%;background:var(--orange);opacity:.45}
/* nav mega dropdown */
.gf-links .has-mega{position:relative}
.gf-links .mega-trigger{cursor:pointer}
.gf-mega{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(4px);background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-2);padding:24px;display:grid;grid-template-columns:1fr 1fr;gap:28px;min-width:540px;opacity:0;visibility:hidden;transition:opacity .18s ease,transform .18s ease;z-index:80}
.gf-mega::before{content:"";position:absolute;top:-14px;left:0;right:0;height:16px}
.has-mega:hover .gf-mega,.has-mega:focus-within .gf-mega{opacity:1;visibility:visible;transform:translateX(-50%) translateY(10px)}
.mega-col{display:flex;flex-direction:column}
.mega-head{display:flex;align-items:center;gap:12px;padding:0 8px 12px;margin-bottom:8px;border-bottom:1px solid var(--line)}
.mega-head .mega-ic{width:38px;height:38px;border-radius:10px;background:var(--orange-tint);color:var(--orange-deep);display:grid;place-items:center;flex:none}
.mega-head .mega-ic svg{width:20px;height:20px}
.mega-head b{display:block;font-family:'Montserrat';font-weight:800;font-size:16px;color:var(--ink)}
.mega-head small{display:block;font-size:12.5px;color:var(--text-3);font-weight:500;margin-top:1px}
.mega-col a{display:block;padding:8px 10px;border-radius:8px;font-size:14.5px;color:var(--text-2);font-weight:500;transition:background .12s,color .12s}
.mega-col a:hover{background:var(--slate-50);color:var(--orange)}
.mega-col a.mega-head:hover{background:none}
.mega-col .mega-all{margin-top:6px;font-weight:700;color:var(--ink);font-size:13.5px}
.mega-col .mega-all:hover{color:var(--orange)}

/* nav simple dropdown (Solutions / About) */
.gf-links .has-drop{position:relative}
.gf-links .drop-trigger{cursor:pointer}
.gf-drop{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(4px);background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-2);padding:10px;min-width:260px;opacity:0;visibility:hidden;transition:opacity .18s ease,transform .18s ease;z-index:80;display:flex;flex-direction:column;gap:2px}
.gf-drop::before{content:"";position:absolute;top:-14px;left:0;right:0;height:16px}
.has-drop:hover .gf-drop,.has-drop:focus-within .gf-drop{opacity:1;visibility:visible;transform:translateX(-50%) translateY(10px)}
.gf-drop a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;color:var(--text-2);transition:background .12s,color .12s}
.gf-drop a:hover{background:var(--slate-50)}
.gf-drop a .di{width:34px;height:34px;border-radius:9px;background:var(--orange-tint);color:var(--orange-deep);display:grid;place-items:center;flex:none}
.gf-drop a .di svg{width:17px;height:17px}
.gf-drop a b{display:block;font-family:'Montserrat';font-weight:700;font-size:14.5px;color:var(--ink);line-height:1.15}
.gf-drop a small{display:block;font-size:12.5px;color:var(--text-3);font-weight:500;margin-top:2px}
.gf-drop a:hover b{color:var(--orange)}
@media(max-width:920px){.gf-mega.gf-drop{display:none}}

/* ===================== INNER PAGES ===================== */
.ip-hero{background:var(--surface);border-bottom:1px solid var(--line);position:relative;overflow:hidden}
.ip-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 60% at 80% 0%,rgba(244,81,30,.07),transparent 70%)}
.ip-hero-grid{position:relative;display:grid;grid-template-columns:1.08fr .92fr;gap:56px;align-items:center;padding:78px 0 82px}
.ip-eyebrow{display:inline-flex;align-items:center;gap:9px;font-family:'Inter';font-weight:700;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--orange-deep);background:var(--orange-tint);padding:8px 15px;border-radius:99px}
.ip-eyebrow svg{width:15px;height:15px}
.ip-hero h1{font-family:'Montserrat';font-weight:800;font-size:clamp(36px,4.6vw,60px);letter-spacing:-.03em;line-height:1.04;margin-top:22px}
.ip-hero h1 .accent{color:var(--orange)}
.ip-hero .ip-sub{font-size:18px;color:var(--text-2);margin-top:22px;max-width:520px;line-height:1.62}
.ip-hero-cta{margin-top:32px;display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.ip-call{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:15px;color:var(--ink);padding:13px 22px;border:1px solid var(--line-strong);border-radius:14px;transition:border-color .15s,transform .15s}
.ip-call:hover{border-color:var(--ink);transform:translateY(-2px)}
.ip-call svg{width:16px;height:16px;color:var(--orange)}
.ip-hero-stats{margin-top:38px;display:flex;gap:38px;flex-wrap:wrap}
.ip-hs .n{font-family:'Montserrat';font-weight:800;font-size:30px;letter-spacing:-.02em;color:var(--ink)}
.ip-hs .l{font-size:12.5px;color:var(--text-3);margin-top:3px}
.ip-hero-media{position:relative}
.ip-hero-photo{aspect-ratio:4/4.5;border-radius:18px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-2)}
.ip-hero-float{position:absolute;left:-14px;bottom:24px;background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow-card);padding:14px 18px;display:flex;align-items:center;gap:12px}
.ip-hero-float .fi{width:38px;height:38px;border-radius:10px;background:rgba(31,138,76,.14);color:var(--green);display:grid;place-items:center;flex:none}
.ip-hero-float .fi svg{width:19px;height:19px}
.ip-hero-float .fn{font-family:'Montserrat';font-weight:800;font-size:17px;color:var(--ink);line-height:1}
.ip-hero-float .fl{font-size:12px;color:var(--text-3);margin-top:3px}
.ip-sec{padding:96px 0}
.ip-sec.alt{background:var(--surface)}
.svc-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:50px}
.svc-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:30px 28px;display:flex;flex-direction:column;gap:14px;transition:transform .2s,box-shadow .2s,border-color .2s}
.svc-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-card);border-color:var(--line-strong)}
.svc-card .si{width:48px;height:48px;border-radius:12px;background:var(--orange-tint);color:var(--orange-deep);display:grid;place-items:center}
.svc-card .si svg{width:24px;height:24px}
.svc-card h3{font-size:19px;font-weight:700;letter-spacing:-.01em}
.svc-card p{font-size:14.5px;color:var(--text-2);line-height:1.55;flex:1;margin:0}
.svc-card .sl{font-weight:700;font-size:13.5px;color:var(--ink);display:inline-flex;align-items:center;gap:7px}
.svc-card .sl svg{width:14px;height:14px;color:var(--orange);transition:transform .15s}
.svc-card:hover .sl svg{transform:translateX(3px)}
.blueprint{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center;margin-top:52px}
.bp-steps{display:flex;flex-direction:column}
.bp-step{display:flex;gap:22px;padding:24px 0;border-top:1px solid var(--line)}
.bp-step:first-child{border-top:none;padding-top:0}
.bp-num{font-family:'Montserrat';font-weight:800;font-size:30px;color:var(--orange);line-height:1;min-width:46px}
.bp-step h4{font-size:18px;font-weight:700}
.bp-step p{font-size:14.5px;color:var(--text-2);margin-top:8px;line-height:1.55;max-width:430px}
.bp-media{aspect-ratio:4/4.5;border-radius:18px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-2)}
@media(max-width:920px){
  .ip-hero-grid.blueprint{grid-template-columns:1fr;gap:40px}
  .svc-cards{grid-template-columns:1fr}
  .ip-hero-media{order:-1}
}

/* ===================== DASHBOARD SHOWCASE (service pages) ===================== */
.dash-showcase{position:relative;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-card);padding:44px 44px 40px;margin-top:50px}
.dash-showcase .dash-grid{margin:0}
.dash-tag{position:absolute;top:-14px;left:36px;display:inline-flex;align-items:center;gap:8px;background:var(--ink);color:#fff;font-family:'Inter';font-weight:700;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;padding:8px 14px;border-radius:99px}
.dash-tag .d{width:7px;height:7px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 0 rgba(244,81,30,.55);animation:blip 1.6s infinite}
@media(max-width:920px){.dash-showcase{padding:30px 20px 28px}}

/* sub-service chips strip */
.subsvc{margin-top:30px;display:flex;flex-wrap:wrap;gap:12px}
.subsvc a{display:inline-flex;align-items:center;gap:9px;padding:11px 17px;border:1px solid var(--line);border-radius:99px;font-size:14px;font-weight:600;color:var(--text);background:#fff;transition:border-color .15s,color .15s,transform .15s}
.subsvc a:hover{border-color:var(--orange);color:var(--orange-deep);transform:translateY(-2px)}
.subsvc a svg{width:15px;height:15px;color:var(--orange)}

/* feature split rows */
.feat-row{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;margin-top:64px}
.feat-row:first-of-type{margin-top:54px}
.feat-row.flip .feat-copy{order:2}
.feat-copy h3{font-family:'Montserrat';font-weight:800;font-size:clamp(24px,2.8vw,32px);letter-spacing:-.02em;margin-top:14px}
.feat-copy p{font-size:16px;color:var(--text-2);line-height:1.65;margin-top:16px;max-width:480px}
.feat-list{margin-top:22px;display:flex;flex-direction:column;gap:13px}
.feat-list li{display:flex;gap:12px;align-items:flex-start;list-style:none;font-size:15px;color:var(--text)}
.feat-list .ck{width:22px;height:22px;border-radius:50%;background:var(--orange-tint);color:var(--orange-deep);display:grid;place-items:center;flex:none;margin-top:1px}
.feat-list .ck svg{width:12px;height:12px}
@media(max-width:920px){.feat-row{grid-template-columns:1fr;gap:34px}.feat-row.flip .feat-copy{order:0}}

/* ===================== PRICING ===================== */
.pricing-hero{background:var(--surface);border-bottom:1px solid var(--line);position:relative;overflow:hidden;padding:74px 0 60px;text-align:center}
.pricing-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 60% at 50% 0%,rgba(244,81,30,.07),transparent 70%)}
.pricing-hero .wrap{position:relative}
.pricing-hero h1{font-family:'Montserrat';font-weight:900;font-size:clamp(38px,6vw,72px);letter-spacing:-.03em;line-height:1.02;color:var(--orange)}
.pricing-hero p{font-size:18px;color:var(--text-2);margin:22px auto 0;max-width:560px;line-height:1.6}
.bill-toggle{margin:30px auto 0;display:inline-flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:99px;padding:5px}
.bill-toggle button{border:none;background:none;font-family:'Inter';font-weight:600;font-size:14px;color:var(--text-2);padding:9px 20px;border-radius:99px;cursor:pointer;transition:.15s}
.bill-toggle button.on{background:var(--ink);color:#fff}
.bill-toggle .save{font-size:11px;font-weight:700;letter-spacing:.04em;color:var(--green)}
.price-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:-34px;position:relative;z-index:3;padding-bottom:8px}
.price-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:30px 26px 28px;display:flex;flex-direction:column;box-shadow:var(--shadow-1);transition:transform .2s,box-shadow .2s}
.price-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-card)}
.price-card.feat{border:1px solid var(--orange);box-shadow:0 18px 50px rgba(244,81,30,.16);position:relative;overflow:hidden}
.price-flag{margin:-30px -26px 22px;background:var(--orange);color:#fff;text-align:center;font-family:'Inter';font-weight:700;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;padding:9px}
.price-name{font-family:'Montserrat';font-weight:800;font-size:22px;color:var(--ink)}
.price-amt{font-family:'Montserrat';font-weight:900;font-size:46px;letter-spacing:-.03em;color:var(--ink);margin-top:10px;line-height:1}
.price-amt .per{font-family:'Inter';font-weight:600;font-size:15px;color:var(--text-3);letter-spacing:0}
.price-desc{font-size:13.5px;color:var(--text-2);margin-top:14px;line-height:1.55;min-height:60px}
.price-feats{margin-top:18px;display:flex;flex-direction:column;gap:11px;flex:1}
.price-feats li{display:flex;gap:10px;align-items:flex-start;list-style:none;font-size:13.5px;color:var(--text)}
.price-feats .ck{width:18px;height:18px;border-radius:50%;background:var(--orange-tint);color:var(--orange-deep);display:grid;place-items:center;flex:none;margin-top:1px}
.price-feats .ck svg{width:11px;height:11px}
.price-btn{margin-top:24px;display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px;border-radius:11px;font-family:'Inter';font-weight:700;font-size:14px;background:var(--slate-50);color:var(--ink);border:1px solid var(--line);transition:.18s}
.price-btn:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.price-card.feat .price-btn{background:var(--orange);color:#fff;border-color:var(--orange)}
.price-card.feat .price-btn:hover{background:var(--orange-deep);border-color:var(--orange-deep)}
.compare{padding:90px 0}
.compare-table{margin-top:50px;border:1px solid var(--line);border-radius:16px;overflow:hidden}
.compare-table table{width:100%;border-collapse:collapse}
.compare-table th.compare-table td{padding:16px 22px;text-align:center;font-size:14.5px;border-bottom:1px solid var(--line)}
.compare-table thead th{font-family:'Montserrat';font-weight:800;font-size:16px;color:var(--ink);background:var(--surface);border-bottom:1px solid var(--line-strong)}
.compare-table thead th:first-child.compare-table td:first-child{text-align:left;font-weight:600;color:var(--text)}
.compare-table tbody tr:nth-child(even){background:var(--surface)}
.compare-table tbody tr:last-child td{border-bottom:none}
.compare-table .yes{color:var(--orange);display:inline-flex}
.compare-table .yes svg{width:18px;height:18px}
.compare-table .no{color:var(--line-strong);display:inline-flex}
.compare-table .no svg{width:16px;height:16px}
.compare-table .feat-col{background:rgba(244,81,30,.05)}
@media(max-width:920px){.price-grid{grid-template-columns:1fr 1fr}.compare-table{overflow-x:auto}.compare-table table{min-width:640px}}
@media(max-width:560px){.price-grid{grid-template-columns:1fr}}

/* ===================== TEAM / AGENCY ===================== */
.team-values{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:50px}
.val-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:30px 28px;transition:transform .2s,box-shadow .2s}
.val-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-card)}
.val-card .vi{width:46px;height:46px;border-radius:12px;background:var(--orange-tint);color:var(--orange-deep);display:grid;place-items:center;margin-bottom:18px}
.val-card .vi svg{width:23px;height:23px}
.val-card h3{font-size:19px;font-weight:700}
.val-card p{margin-top:11px;font-size:14.5px;color:var(--text-2);line-height:1.6}
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:50px}
.member{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;transition:transform .2s,box-shadow .2s}
.member:hover{transform:translateY(-4px);box-shadow:var(--shadow-card)}
.member-photo{aspect-ratio:1/1.06}
.member-body{padding:18px 20px 22px}
.member-body .mn{font-family:'Montserrat';font-weight:800;font-size:17px;color:var(--ink)}
.member-body .mr{font-size:13px;color:var(--orange-deep);font-weight:600;margin-top:3px}
.member-body p{font-size:13px;color:var(--text-2);margin-top:10px;line-height:1.55}
.stat-band{background:var(--ink);color:#fff;padding:64px 0}
.stat-band .sb-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}
.stat-band .sb .n{font-family:'Montserrat';font-weight:900;font-size:clamp(34px,4vw,52px);letter-spacing:-.02em;color:#fff;line-height:1}
.stat-band .sb .l{font-size:14px;color:var(--on-dark-2);margin-top:10px}
@media(max-width:920px){.team-values{grid-template-columns:1fr}.team-grid{grid-template-columns:1fr 1fr}.stat-band .sb-grid{grid-template-columns:1fr 1fr;gap:36px 24px}}

/* ===================== BLOG PAGE ===================== */
.blog-hero{background:var(--surface);border-bottom:1px solid var(--line);padding:72px 0 60px;position:relative;overflow:hidden}
.blog-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(55% 60% at 75% 0%,rgba(244,81,30,.07),transparent 70%)}
.blog-hero .wrap{position:relative}
.blog-hero h1{font-family:'Montserrat';font-weight:800;font-size:clamp(36px,5vw,60px);letter-spacing:-.03em;max-width:680px;line-height:1.04}
.blog-hero h1 .accent{color:var(--orange)}
.blog-hero p{font-size:18px;color:var(--text-2);margin-top:20px;max-width:520px;line-height:1.6}
.filters{display:flex;flex-wrap:wrap;gap:10px;margin-top:34px}
.filters button{border:1px solid var(--line-strong);background:#fff;border-radius:99px;padding:9px 18px;font-family:'Inter';font-weight:600;font-size:13.5px;color:var(--text-2);cursor:pointer;transition:.15s}
.filters button:hover{border-color:var(--ink);color:var(--ink)}
.filters button.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.blog-pg{padding:70px 0 90px}
.blog-pg .blog-grid{margin-top:0;grid-template-columns:repeat(3,1fr)}
.blog-pg .post.hide{display:none}
.load-more{display:flex;justify-content:center;margin-top:46px}
@media(max-width:920px){.blog-pg .blog-grid{grid-template-columns:1fr}}

/* ===================== TESTIMONIALS WALL ===================== */
.wall-hero{background:var(--ink);color:#fff;padding:80px 0 64px;text-align:center;position:relative;overflow:hidden}
.wall-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 80% at 50% -10%,rgba(244,81,30,.22),transparent 65%)}
.wall-hero .wrap{position:relative}
.wall-hero h1{font-family:'Montserrat';font-weight:900;font-size:clamp(40px,6vw,76px);letter-spacing:-.03em;line-height:1.02}
.wall-hero p{font-size:18px;color:var(--on-dark-2);margin:18px auto 0;max-width:560px;line-height:1.6}
.wall-filters{display:flex;flex-wrap:wrap;gap:9px;justify-content:center;margin-top:32px}
.wall-filters button{border:1px solid rgba(255,255,255,.2);background:transparent;border-radius:99px;padding:9px 19px;font-family:'Inter';font-weight:600;font-size:13.5px;color:var(--on-dark-2);cursor:pointer;transition:.15s}
.wall-filters button:hover{border-color:#fff;color:#fff}
.wall-filters button.on{background:#fff;color:var(--ink);border-color:#fff}
.wall{padding:64px 0 80px;background:var(--surface)}
.wall-grid{columns:3;column-gap:22px}
.wall-card{break-inside:avoid;margin-bottom:22px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px 24px;box-shadow:var(--shadow-1);transition:transform .2s,box-shadow .2s}
.wall-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-card)}
.wall-card.hide{display:none}
.wall-card .qmark{font-family:'Montserrat';font-weight:900;font-size:46px;color:var(--orange);line-height:.7;height:26px}
.wall-card .wq{font-size:16px;line-height:1.55;color:var(--text);font-weight:500;margin-top:14px;text-wrap:pretty}
.wall-card.big .wq{font-size:19px;font-weight:600}
.wall-card .wstars{display:flex;gap:2px;color:var(--orange);margin-top:16px}
.wall-card .wstars svg{width:15px;height:15px}
.wall-card .wby{display:flex;align-items:center;gap:12px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.wall-card .wav{width:42px;height:42px;border-radius:50%;flex:none;display:grid;place-items:center;font-family:'Montserrat';font-weight:700;font-size:15px;color:#fff;background:var(--ink)}
.wall-card .wn{font-size:14.5px;font-weight:700;color:var(--ink);line-height:1.2}
.wall-card .wr{font-size:12.5px;color:var(--text-3);margin-top:2px}
.wall-card .wtag{margin-left:auto;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--orange-deep);background:var(--orange-tint);padding:5px 10px;border-radius:99px;align-self:flex-start}
.wall-card.accent{background:var(--orange);border-color:var(--orange)}
.wall-card.accent .qmark{color:#fff;opacity:.85}
.wall-card.accent .wq{color:#fff;font-size:21px;font-weight:700}
.wall-card.accent .wstars{color:#fff}
.wall-card.accent .wby{border-top-color:rgba(255,255,255,.25)}
.wall-card.accent .wav{background:#fff;color:var(--orange-deep)}
.wall-card.accent .wn{color:#fff}
.wall-card.accent .wr{color:rgba(255,255,255,.8)}
.wall-card.accent .wtag{background:rgba(255,255,255,.2);color:#fff}
.wall-card.video{padding:0;overflow:hidden;background:var(--ink)}
.wall-vid{aspect-ratio:16/11;position:relative}
.wall-vid .play{position:absolute;inset:0;margin:auto;width:58px;height:58px;border-radius:50%;background:var(--orange);display:grid;place-items:center;cursor:pointer;box-shadow:0 10px 30px rgba(244,81,30,.5);transition:transform .2s}
.wall-vid .play:hover{transform:scale(1.08)}
.wall-vid .play svg{width:22px;height:22px;color:#fff;margin-left:3px}
.wall-vid .vlabel{position:absolute;left:16px;bottom:14px;right:16px;color:#fff;font-family:'Montserrat';font-weight:700;font-size:14.5px;text-shadow:0 1px 8px rgba(0,0,0,.5)}
.wall-cta{display:flex;justify-content:center;margin-top:36px}
@media(max-width:920px){.wall-grid{columns:2}}
@media(max-width:600px){.wall-grid{columns:1}}

/* ===================== UI MOCKS (fill for hero/blueprint media) ===================== */
.mock{width:100%;height:100%;background:#fff;display:flex;flex-direction:column;overflow:hidden;font-family:'Inter',system-ui,sans-serif}
.mock-bar{display:flex;align-items:center;gap:7px;padding:11px 14px;border-bottom:1px solid var(--line);background:#faf9f7;flex:none}
.mock-bar i{width:9px;height:9px;border-radius:50%;background:#dcdcd8;display:block}
.mock-bar .url{margin-left:8px;font-size:11px;color:var(--text-3);background:#fff;border:1px solid var(--line);border-radius:6px;padding:4px 9px;flex:1;white-space:nowrap;overflow:hidden}
.mock-body{padding:14px;display:flex;flex-direction:column;gap:11px;flex:1;min-height:0}
.mock-map{position:relative;height:38%;flex:none;background:#e8ece6;background-image:linear-gradient(rgba(255,255,255,.7) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.7) 1px,transparent 1px);background-size:34px 34px}
.mock-map::before{content:"";position:absolute;left:-10%;top:36%;width:130%;height:12px;background:#f3f2ef;transform:rotate(-8deg)}
.mock-map::after{content:"";position:absolute;left:24%;top:-10%;width:12px;height:130%;background:#f3f2ef;transform:rotate(6deg)}
.mock-pin{position:absolute;width:26px;height:26px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--orange);box-shadow:0 6px 14px -6px rgba(0,0,0,.4)}
.mock-pin.sm{width:16px;height:16px;background:#b9b8b3}
.mock-row{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:10px;padding:9px 11px}
.mock-row.hi{border-color:var(--orange);background:rgba(240,120,40,.06)}
.mock-row .rk{flex:none;width:22px;height:22px;border-radius:6px;background:var(--ink);color:#fff;font-size:11px;font-weight:700;display:grid;place-items:center}
.mock-row.hi .rk{background:var(--orange);color:var(--ink)}
.mock-row .nm.mock-row .sub.mock-caller .nm.mock-caller .sub{display:block}
.mock-row .nm{font-size:12.5px;font-weight:600;color:var(--ink);line-height:1.2}
.mock-row .sub{font-size:11px;color:var(--text-3);margin-top:2px}
.mock-row .st{margin-left:auto;font-size:11px;font-weight:700;color:var(--green)}
.mock-line{height:9px;border-radius:5px;background:#eeedea}
.mock-line.w70{width:70%}.mock-line.w50{width:50%}.mock-line.w85{width:85%}
.mock-kpis{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.mock-kpi{border:1px solid var(--line);border-radius:10px;padding:10px 11px}
.mock-kpi .k{font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3)}
.mock-kpi .v{font-family:'Montserrat';font-weight:800;font-size:19px;color:var(--ink);margin-top:3px;letter-spacing:-.01em}
.mock-kpi .d{font-size:10.5px;font-weight:700;color:var(--green);margin-top:2px}
.mock-kpi .d.neg{color:var(--orange-deep)}
.mock-chart{flex:1;min-height:90px;border:1px solid var(--line);border-radius:12px;padding:12px;display:flex;align-items:flex-end;gap:7px}
.mock-chart span{flex:1;background:#eeedea;border-radius:4px 4px 0 0}
.mock-chart span.on{background:var(--orange)}
.mock-hero{flex:1;background:var(--ink);border-radius:10px;padding:16px;display:flex;flex-direction:column;justify-content:center;gap:9px}
.mock-hero .h{height:13px;border-radius:6px;background:rgba(255,255,255,.9)}
.mock-hero .h.s{width:62%;background:rgba(255,255,255,.42);height:9px}
.mock-hero .b{margin-top:6px;align-self:flex-start;background:var(--orange);color:var(--ink);font-size:11px;font-weight:700;border-radius:7px;padding:7px 12px}
.mock-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.mock-cards div{height:44px;border:1px solid var(--line);border-radius:9px;background:#faf9f7}
.mock-call{background:var(--ink);color:#fff}
.mock-call .mock-bar{background:#1b1c22;border-color:#2a2c34}
.mock-call .mock-bar .url{background:#22242b;border-color:#2f313a;color:rgba(255,255,255,.55)}
.mock-wave{display:flex;align-items:center;justify-content:center;gap:4px;height:46px;flex:none}
.mock-wave i{width:4px;border-radius:3px;background:var(--orange);display:block}
.mock-msg{border-radius:11px;padding:9px 11px;font-size:11.5px;line-height:1.45;max-width:86%}
.mock-msg.them{background:#22242b;color:rgba(255,255,255,.78)}
.mock-msg.ai{background:var(--orange);color:var(--ink);font-weight:600;align-self:flex-end}
.mock-booked{margin-top:auto;display:flex;align-items:center;gap:9px;border:1px solid #2a2c34;border-radius:11px;padding:10px 12px;font-size:11.5px;font-weight:700;color:#fff}
.mock-booked .ck{width:22px;height:22px;border-radius:50%;background:#4ade80;color:var(--ink);display:grid;place-items:center;font-size:12px;flex:none}
.mock-caller{display:flex;align-items:center;gap:10px;flex:none}
.mock-caller .av{width:32px;height:32px;border-radius:50%;background:#2b2d36;color:rgba(255,255,255,.7);display:grid;place-items:center;font-size:11px;font-weight:700}
.mock-caller .nm{font-size:12.5px;font-weight:600;color:#fff}
.mock-caller .sub{font-size:11px;color:rgba(255,255,255,.5);margin-top:1px}
.mock-caller .live{margin-left:auto;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#4ade80}

/* client marquee */
.cl-marq{margin-top:26px;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent)}
.cl-track{display:flex;align-items:center;width:max-content;animation:cl-scroll 46s linear infinite}
.cl-marq:hover .cl-track{animation-play-state:paused}
@keyframes cl-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.cl{flex:none;display:grid;place-items:center;height:58px;min-width:210px;padding:0 14px;filter:grayscale(1);opacity:.5;transition:opacity .22s,filter .22s;text-decoration:none}
.cl:hover{opacity:1;filter:grayscale(0)}
.cl img{max-height:58px;max-width:180px;width:auto;height:auto;object-fit:contain;display:block}
.cl .wm{font-family:'Montserrat',sans-serif;font-weight:700;font-size:14px;letter-spacing:.02em;color:var(--text-2);white-space:nowrap;text-align:center}
@media(prefers-reduced-motion:reduce){.cl-track{animation:none;flex-wrap:wrap;justify-content:center;width:100%}}
@media(max-width:720px){.cl{height:42px;min-width:150px;padding:0 10px}.cl img{max-height:42px;max-width:126px}.cl .wm{font-size:12.5px}}

/* ===================== CASE STUDIES PAGE ===================== */
.cs-hero{background:var(--ink);color:#fff;padding:92px 0 76px;position:relative;overflow:hidden}
.cs-hero::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:56px 56px;pointer-events:none}
.cs-hero .wrap{position:relative;z-index:1;text-align:center}
.cs-hero .ip-eyebrow{color:var(--orange);border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.05)}
.cs-hero h1{font-family:'Montserrat',sans-serif;font-weight:900;font-size:clamp(40px,5.4vw,66px);line-height:1.02;letter-spacing:-.03em;margin-top:20px}
.cs-hero p{margin:20px auto 0;max-width:640px;font-size:17px;line-height:1.62;color:rgba(255,255,255,.66);text-wrap:pretty}
.cs-tabs{margin-top:38px;display:inline-flex;gap:6px;padding:6px;border-radius:99px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.13)}
.cs-tab{border:0;cursor:pointer;background:transparent;color:rgba(255,255,255,.66);font-family:'Montserrat',sans-serif;font-weight:700;font-size:14.5px;padding:11px 26px;border-radius:99px;display:flex;align-items:center;gap:9px;transition:background .18s,color .18s}
.cs-tab span{font-size:11.5px;font-weight:700;padding:2px 8px;border-radius:99px;background:rgba(255,255,255,.12);color:rgba(255,255,255,.6)}
.cs-tab:hover{color:#fff}
.cs-tab.on{background:var(--orange);color:var(--ink)}
.cs-tab.on span{background:rgba(20,21,26,.18);color:var(--ink)}
.cs-page{background:var(--surface);padding:74px 0 100px}
.csb-list{display:flex;flex-direction:column;gap:26px}
.csb{display:grid;grid-template-columns:290px 1fr;background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:var(--shadow-1)}
.csb-side{background:var(--slate-50);border-right:1px solid var(--line);padding:34px 30px;display:flex;flex-direction:column;gap:18px}
.csb-logo{height:78px;display:grid;place-items:center;background:#fff;border:1px solid var(--line);border-radius:13px;padding:14px}
.csb-logo img{max-height:50px;max-width:190px;width:auto;object-fit:contain;display:block}
.csb-wm{font-family:'Montserrat',sans-serif;font-weight:800;font-size:15.5px;letter-spacing:-.01em;color:var(--ink);text-align:center;line-height:1.22}
.csb-name{font-family:'Montserrat',sans-serif;font-weight:800;font-size:17px;letter-spacing:-.015em;color:var(--ink);line-height:1.2}
.csb-loc{font-size:13px;color:var(--text-3);margin-top:4px}
.csb-tag{align-self:flex-start;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);background:rgba(240,120,40,.16);border-radius:99px;padding:5px 12px}
.csb-stats{display:flex;flex-direction:column;gap:12px;padding-top:16px;border-top:1px solid var(--line);margin-top:auto}
.csb-stat b{display:block;font-family:'Montserrat',sans-serif;font-weight:800;font-size:21px;letter-spacing:-.02em;color:var(--ink);line-height:1.1}
.csb-stat span{display:block;font-size:12px;color:var(--text-3);margin-top:2px}
.csb-visit{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;font-weight:700;color:var(--ink);text-decoration:none}
.csb-visit svg{width:14px;height:14px;color:var(--orange);transition:transform .18s}
.csb-visit:hover svg{transform:translate(2px,-2px)}
.csb-main{padding:38px 40px 36px;display:flex;flex-direction:column;gap:26px}
.csb-main h3{font-family:'Montserrat',sans-serif;font-weight:800;font-size:29px;line-height:1.14;letter-spacing:-.025em;color:var(--ink);text-wrap:balance}
.csb-blocks{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:30px}
.csb-block h4{font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);margin-bottom:11px}
.csb-block p{font-size:14.5px;line-height:1.62;color:var(--text-2);margin:0}
.csb-block ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.csb-block li{display:flex;gap:10px;font-size:14.5px;line-height:1.5;color:var(--text-2)}
.csb-block li .ck{flex:none;width:18px;height:18px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;margin-top:2px}
.csb-block li .ck svg{width:10px;height:10px}
.csb-hack{display:flex;gap:18px;align-items:flex-start;background:var(--ink);border-radius:14px;padding:20px 24px}
.csb-hack-l{flex:none;font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--orange);padding-top:3px}
.csb-hack p{margin:0;font-size:14.5px;line-height:1.58;color:rgba(255,255,255,.82)}
.csb-cta{align-self:flex-start}
@media(max-width:1080px){.csb{grid-template-columns:1fr}.csb-side{border-right:0;border-bottom:1px solid var(--line);flex-direction:row;flex-wrap:wrap;align-items:center;gap:22px}.csb-logo{width:170px}.csb-stats{flex:1 1 100%;flex-direction:row;flex-wrap:wrap;gap:26px;border-top:0;padding-top:0;margin-top:0;margin-left:0;justify-content:flex-start}.csb-blocks{grid-template-columns:1fr}}
@media(max-width:680px){.csb-main{padding:28px 24px}.csb-main h3{font-size:23px}.csb-side{padding:24px}.csb-hack{flex-direction:column;gap:8px}.cs-tabs{width:100%;justify-content:center}}

/* ---------- Home slider case-study card (redesigned) ---------- */
.cs-track{align-items:stretch}
.cs-card{flex:0 0 calc((100% - 48px)/3);scroll-snap-align:start;position:relative;display:flex;flex-direction:column;background:var(--ink);border:1px solid #2a2c34;border-radius:22px;overflow:hidden;transition:transform .25s,box-shadow .25s,border-color .25s}
.cs-card::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.1) 1px,transparent 1px);background-size:22px 22px;opacity:.35;pointer-events:none}
.cs-card::after{content:"";position:absolute;left:0;right:0;bottom:0;height:56%;background:linear-gradient(180deg,transparent,rgba(240,120,40,.12));opacity:0;transition:opacity .25s;pointer-events:none}
.cs-card:hover{transform:translateY(-6px);border-color:rgba(240,120,40,.5);box-shadow:0 30px 60px -30px rgba(20,21,26,.6)}
.cs-card:hover::after{opacity:1}
.cs-logo{position:relative;z-index:1;height:auto;background:none;border:0;padding:26px 26px 0;display:flex;align-items:center;justify-content:space-between;gap:14px}
.cs-logo .cs-chip{flex:none;height:62px;min-width:104px;max-width:150px;background:#fff;border-radius:13px;display:grid;place-items:center;padding:10px 14px}
.cs-logo img{max-height:42px;max-width:122px;width:auto;object-fit:contain;display:block}
.cs-wm{font-family:'Montserrat',sans-serif;font-weight:800;font-size:13px;letter-spacing:-.01em;color:var(--ink);text-align:center;line-height:1.2}
.cs-idx{font-family:'Montserrat',sans-serif;font-weight:900;font-size:44px;line-height:1;letter-spacing:-.04em;color:rgba(255,255,255,.1)}
.cs-body{position:relative;z-index:1;padding:22px 26px 26px;display:flex;flex-direction:column;gap:13px;flex:1}
.cs-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.cs-cat{font-size:10.5px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--ink);background:var(--orange);border-radius:99px;padding:5px 11px}
.cs-loc{font-size:12.5px;color:rgba(255,255,255,.5)}
.cs-card h3{font-family:'Montserrat',sans-serif;font-weight:800;font-size:20px;line-height:1.2;letter-spacing:-.02em;color:#fff;text-wrap:balance}
.cs-card p{font-size:14px;line-height:1.6;color:rgba(255,255,255,.62);margin:0}
.cs-kpis{display:flex;gap:20px;padding:16px 0 2px;margin-top:auto;border-top:1px solid rgba(255,255,255,.11)}
.cs-kpi b{display:block;font-family:'Montserrat',sans-serif;font-weight:900;font-size:19px;letter-spacing:-.025em;color:var(--orange);line-height:1}
.cs-kpi span{display:block;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.42);margin-top:5px}
.cs-acts{display:flex;flex-direction:column;gap:10px;align-items:stretch}
.cs-btn{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--orange);color:var(--ink);border-radius:11px;padding:13px 16px;font-family:'Montserrat',sans-serif;font-weight:800;font-size:13.5px;text-decoration:none;transition:background .18s,transform .18s}
.cs-btn svg{width:15px;height:15px;flex:none;transition:transform .18s}
.cs-btn:hover{background:#ff8f45}
.cs-btn:hover svg{transform:translate(2px,-2px)}
.cs-link{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:700;color:rgba(255,255,255,.62);text-decoration:none;margin-top:0;padding-top:0}
.cs-link svg{width:13px;height:13px;color:var(--orange)}
.cs-link:hover{color:#fff}
.cs-arrow{border-color:var(--line)}
@media(max-width:1000px){.cs-card{flex:0 0 calc((100% - 24px)/2)}}
@media(max-width:680px){.cs-card{flex:0 0 86%}}

/* ===================== INDUSTRY: funnel hacks / calendar / numbers ===================== */
.hack-sec{background:var(--ink);color:#fff;padding:100px 0;position:relative;overflow:hidden}
.hack-sec::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:56px 56px;pointer-events:none}
.hack-sec .wrap{position:relative;z-index:1}
.hack-sec .sec-head h2{color:#fff}
.hack-sec .sec-head p{color:rgba(255,255,255,.62)}
.hack-sec .eyebrow{color:var(--orange)}
.hack-grid{margin-top:54px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.hack{background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.11);border-radius:16px;padding:28px 26px 26px;display:flex;flex-direction:column;gap:14px;transition:background .2s,border-color .2s,transform .2s}
.hack:hover{background:rgba(255,255,255,.075);border-color:rgba(240,120,40,.4);transform:translateY(-3px)}
.hack-n{width:34px;height:34px;flex:none;border-radius:10px;background:var(--orange);color:var(--ink);display:grid;place-items:center;font-family:'Montserrat',sans-serif;font-weight:800;font-size:14px}
.hack h3{font-family:'Montserrat',sans-serif;font-weight:800;font-size:18.5px;line-height:1.24;letter-spacing:-.015em;color:#fff;text-wrap:balance}
.hack p{font-size:14.5px;line-height:1.6;color:rgba(255,255,255,.68);margin:0}
.hack .loophole{font-size:12.5px;line-height:1.5;color:var(--orange);font-weight:600;padding-top:12px;border-top:1px solid rgba(255,255,255,.1);margin-top:auto}
@media(max-width:980px){.hack-grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.hack-grid{grid-template-columns:1fr}}

.cal-sec{background:#fff;padding:100px 0}
.cal{margin-top:52px;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.cal-q{border:1px solid var(--line);border-radius:16px;padding:26px 24px;display:flex;flex-direction:column;gap:12px;background:var(--slate-50);transition:border-color .2s,transform .2s,box-shadow .2s}
.cal-q:hover{border-color:#dcdcd8;transform:translateY(-3px);box-shadow:var(--shadow-1)}
.cal-q.peak{background:var(--ink);border-color:var(--ink)}
.cal-q.peak .cal-t{color:rgba(255,255,255,.5)}
.cal-q.peak h4{color:#fff}
.cal-q.peak p{color:rgba(255,255,255,.66)}
.cal-q.peak .cal-move{color:var(--orange);border-color:rgba(255,255,255,.14)}
.cal-t{font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3)}
.cal-q h4{font-family:'Montserrat',sans-serif;font-weight:800;font-size:18px;letter-spacing:-.015em;color:var(--ink);line-height:1.22}
.cal-q p{font-size:14px;line-height:1.58;color:var(--text-2);margin:0}
.cal-move{font-size:12.5px;font-weight:700;color:var(--orange-deep);padding-top:11px;border-top:1px solid var(--line);margin-top:auto}
@media(max-width:980px){.cal{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.cal{grid-template-columns:1fr}}

.num-band{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:64px 0}
.num-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.num{text-align:center;padding:0 12px}
.num b{display:block;font-family:'Montserrat',sans-serif;font-weight:900;font-size:clamp(34px,4vw,48px);letter-spacing:-.03em;color:var(--ink);line-height:1}
.num span{display:block;font-size:13.5px;color:var(--text-2);margin-top:9px;line-height:1.4}
@media(max-width:760px){.num-grid{grid-template-columns:1fr 1fr;gap:32px 20px}}

.cs-more{margin-top:26px;text-align:center}
.cs-more a{display:inline-flex;align-items:center;gap:8px;font-family:'Montserrat',sans-serif;font-weight:700;font-size:14.5px;color:var(--ink);text-decoration:none}
.cs-more a svg{width:15px;height:15px;color:var(--orange);transition:transform .18s}
.cs-more a:hover svg{transform:translate(2px,-2px)}

/* ===================== INTERACTIVE HERO WIDGETS ===================== */
.iw{position:relative;width:100%;height:100%;min-height:400px;overflow:hidden;background:radial-gradient(120% 130% at 20% 0%,#2b2d36,#14151a 68%);display:flex;flex-direction:column;user-select:none}
.iw::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.1) 1px,transparent 1px);background-size:24px 24px;opacity:.45;pointer-events:none}
.iw-head{position:relative;z-index:2;display:flex;align-items:center;gap:9px;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.09)}
.iw-head b{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.iw-live{margin-left:auto;display:flex;align-items:center;gap:7px;font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#4ade80}
.iw-live i{width:6px;height:6px;border-radius:50%;background:#4ade80;box-shadow:0 0 0 3px rgba(74,222,128,.18);animation:gpulse 2s ease-in-out infinite}
@keyframes gpulse{0%,100%{opacity:1}50%{opacity:.3}}
.iw-body{position:relative;z-index:2;flex:1;display:grid;place-items:center;padding:22px}
.iw-foot{position:relative;z-index:2;padding:14px 20px 18px;border-top:1px solid rgba(255,255,255,.09);font-size:12.5px;color:rgba(255,255,255,.55);text-align:center;min-height:50px;display:grid;place-items:center}
.iw-foot b{color:var(--orange);font-weight:700}

/* thermostat */
.thermo{display:flex;flex-direction:column;align-items:center;gap:18px}
.dial{position:relative;width:200px;height:200px;border-radius:50%;background:conic-gradient(var(--orange) calc(var(--pct)*1%),rgba(255,255,255,.1) 0);display:grid;place-items:center;transition:background .35s ease}
.dial::after{content:"";position:absolute;inset:14px;border-radius:50%;background:#181920;border:1px solid rgba(255,255,255,.09)}
.dial-in{position:relative;z-index:1;text-align:center}
.dial-temp{font-family:'Montserrat',sans-serif;font-weight:900;font-size:52px;line-height:1;letter-spacing:-.04em;color:#fff}
.dial-temp sup{font-size:22px;font-weight:800;vertical-align:super}
.dial-mode{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--orange);margin-top:8px}
.thermo-ctl{display:flex;align-items:center;gap:14px}
.tbtn{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.07);color:#fff;font-size:22px;font-weight:700;cursor:pointer;display:grid;place-items:center;transition:background .18s,border-color .18s,transform .12s}
.tbtn:hover{background:var(--orange);color:var(--ink);border-color:var(--orange)}
.tbtn:active{transform:scale(.92)}
.tmode{display:flex;gap:5px;padding:4px;border-radius:99px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.13)}
.tmode button{border:0;background:transparent;color:rgba(255,255,255,.6);font-size:12px;font-weight:700;padding:8px 16px;border-radius:99px;cursor:pointer;transition:background .18s,color .18s}
.tmode button.on{background:var(--orange);color:var(--ink)}
.iw-flow{position:absolute;left:0;right:0;top:0;bottom:0;z-index:1;pointer-events:none;overflow:hidden}
.iw-flow i{position:absolute;height:2px;border-radius:2px;background:linear-gradient(90deg,rgba(240,120,40,0),rgba(240,120,40,.8),rgba(240,120,40,0));animation:iflow 3s linear infinite}
@keyframes iflow{0%{transform:translateX(-120px);opacity:0}25%{opacity:1}100%{transform:translateX(420px);opacity:0}}
.iw.cool .iw-flow i{background:linear-gradient(90deg,rgba(96,165,250,0),rgba(96,165,250,.85),rgba(96,165,250,0))}
.iw.cool .dial{background:conic-gradient(#60a5fa calc(var(--pct)*1%),rgba(255,255,255,.1) 0)}
.iw.cool .dial-mode.iw.cool .iw-foot b{color:#60a5fa}
.iw.cool .tmode button.on{background:#60a5fa}
.iw.cool .tbtn:hover{background:#60a5fa;border-color:#60a5fa}

/* roof before/after */
.ba{position:relative;width:100%;max-width:440px;aspect-ratio:16/10;border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,.14);cursor:ew-resize}
.ba-layer{position:absolute;inset:0}
.ba-sky{background:linear-gradient(180deg,#2a2d38,#1b1d24)}
.ba-roof{position:absolute;left:-4%;right:-4%;bottom:0;height:62%;clip-path:polygon(0 46%,50% 0,100% 46%,100% 100%,0 100%)}
.ba-bad .ba-roof{background:linear-gradient(180deg,#4a3f38,#2d2723)}
.ba-bad .ba-roof::after{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(90deg,rgba(0,0,0,.35) 0 3px,transparent 3px 22px),radial-gradient(circle at 30% 60%,rgba(0,0,0,.6) 0 16px,transparent 17px),radial-gradient(circle at 66% 74%,rgba(0,0,0,.55) 0 12px,transparent 13px),radial-gradient(circle at 48% 52%,rgba(0,0,0,.5) 0 9px,transparent 10px)}
.ba-good .ba-roof{background:linear-gradient(180deg,#3d5a6b,#22323d)}
.ba-good .ba-roof::after{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(90deg,rgba(255,255,255,.09) 0 2px,transparent 2px 20px),repeating-linear-gradient(180deg,rgba(255,255,255,.07) 0 2px,transparent 2px 16px)}
.ba-good{clip-path:inset(0 calc(100% - var(--x,50%)) 0 0)}
.ba-tag{position:absolute;bottom:10px;z-index:3;font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;background:rgba(0,0,0,.55);backdrop-filter:blur(4px);border-radius:99px;padding:5px 11px;color:#fff}
.ba-tag.l{left:10px}
.ba-tag.r{right:10px}
.ba-handle{position:absolute;top:0;bottom:0;width:2px;background:var(--orange);left:var(--x,50%);z-index:4;pointer-events:none}
.ba-handle::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:36px;height:36px;border-radius:50%;background:var(--orange);box-shadow:0 6px 18px -6px rgba(0,0,0,.8)}
.ba-handle::before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:14px;height:14px;z-index:1;border-left:2px solid var(--ink);border-bottom:2px solid var(--ink);rotate:45deg}

/* ===================== SOLUTION: approach + why-numbers ===================== */
.appr{background:#fff;padding:100px 0}
.appr-grid{margin-top:54px;display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--slate-50)}
.appr-step{padding:32px 28px 30px;display:flex;flex-direction:column;gap:13px;border-right:1px solid var(--line);background:#fff;transition:background .2s}
.appr-step:last-child{border-right:0}
.appr-step:hover{background:var(--slate-50)}
.appr-top{display:flex;align-items:center;gap:12px}
.appr-n{width:32px;height:32px;flex:none;border-radius:9px;background:var(--ink);color:#fff;display:grid;place-items:center;font-family:'Montserrat',sans-serif;font-weight:800;font-size:13px}
.appr-when{font-size:11.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--orange-deep)}
.appr-step h4{font-family:'Montserrat',sans-serif;font-weight:800;font-size:18px;letter-spacing:-.015em;color:var(--ink);line-height:1.22}
.appr-step p{font-size:14px;line-height:1.58;color:var(--text-2);margin:0}
.appr-step ul{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:7px}
.appr-step li{font-size:13px;line-height:1.45;color:var(--text-3);padding-left:15px;position:relative}
.appr-step li::before{content:"";position:absolute;left:0;top:7px;width:5px;height:5px;border-radius:50%;background:var(--orange)}
@media(max-width:980px){.appr-grid{grid-template-columns:1fr 1fr}.appr-step{border-bottom:1px solid var(--line)}.appr-step:nth-child(2n){border-right:0}}
@media(max-width:600px){.appr-grid{grid-template-columns:1fr}.appr-step{border-right:0}}
.why-nums{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:46px;padding-top:44px;border-top:1px solid var(--line)}
.why-num{text-align:center}
.why-num b{display:block;font-family:'Montserrat',sans-serif;font-weight:900;font-size:clamp(30px,3.4vw,42px);letter-spacing:-.03em;color:var(--ink);line-height:1}
.why-num span{display:block;font-size:13px;color:var(--text-2);margin-top:8px;line-height:1.4}
@media(max-width:760px){.why-nums{grid-template-columns:1fr 1fr;gap:30px 18px}}

/* ===================== GENERATED IMAGERY ===================== */
.cover{position:relative;width:100%;height:100%;overflow:hidden;display:grid;place-items:center;background:radial-gradient(110% 130% at 15% 0%,#2b2d36,#14151a 70%)}
.cover::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.12) 1px,transparent 1px);background-size:20px 20px;opacity:.45}
.cover.light{background:radial-gradient(110% 130% at 15% 0%,#fff7f1,#f2efea 72%)}
.cover.light::before{background-image:radial-gradient(rgba(20,21,26,.11) 1px,transparent 1px)}
.cover.warm{background:radial-gradient(110% 130% at 15% 0%,#5a2e14,#1c1512 72%)}
.cover-mark{position:relative;z-index:1;width:76px;height:76px;border-radius:20px;background:var(--orange);color:var(--ink);display:grid;place-items:center;box-shadow:0 16px 34px -14px rgba(240,120,40,.7)}
.cover-mark svg{width:34px;height:34px}
.cover-cat{position:absolute;z-index:1;top:16px;left:16px;font-size:10.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.cover.light .cover-cat{color:var(--text-3)}
.cover-rule{position:absolute;z-index:1;left:16px;right:16px;bottom:16px;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--orange),rgba(240,120,40,0))}
.vstill{position:relative;width:100%;height:100%;overflow:hidden;background:radial-gradient(110% 140% at 30% 10%,#2e3039,#131419 70%);display:grid;place-items:center}
.vstill::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.1) 1px,transparent 1px);background-size:22px 22px;opacity:.4}
.vwave{position:relative;z-index:1;display:flex;align-items:center;gap:5px;height:56px}
.vwave i{width:4px;border-radius:3px;background:var(--orange);opacity:.85;animation:vw 1.2s ease-in-out infinite}
@keyframes vw{0%,100%{height:14px}50%{height:44px}}
.vstill .vlabel{position:absolute;z-index:1;left:16px;bottom:14px;font-size:10.5px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:rgba(255,255,255,.55)}

/* nav overflow guard */
.gf-links a{white-space:nowrap}
@media(max-width:1100px){
  .gf-links{display:none}
  .gf-mega.gf-drop{display:none}
  .gf-cta{display:none}
  .gf-menu{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer;margin-left:auto}
  .gf-menu svg{width:22px;height:22px}
}

/* ===================== INLINE CTA STRIP ===================== */
.cta-strip{background:var(--ink);position:relative;overflow:hidden}
.cta-strip::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:48px 48px;pointer-events:none}
.cta-strip .wrap{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:34px;padding-top:44px;padding-bottom:44px;flex-wrap:wrap}
.cta-strip-copy{flex:1 1 380px;min-width:0}
.cta-strip h3{font-family:'Montserrat',sans-serif;font-weight:800;font-size:26px;line-height:1.16;letter-spacing:-.025em;color:#fff;text-wrap:balance}
.cta-strip p{margin:9px 0 0;font-size:14.5px;line-height:1.55;color:rgba(255,255,255,.6)}
.cta-strip-acts{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.cta-strip-call{display:inline-flex;align-items:center;gap:9px;font-family:'Montserrat',sans-serif;font-weight:700;font-size:14.5px;color:rgba(255,255,255,.8);text-decoration:none}
.cta-strip-call svg{width:16px;height:16px;color:var(--orange)}
.cta-strip-call:hover{color:#fff}
@media(max-width:680px){.cta-strip h3{font-size:21px}}

/* ===== CONTACT PAGE ===== */
.ct-hero{padding:150px 0 90px;background:radial-gradient(1100px 600px at 12% 0%,rgba(244,81,30,.09),transparent 60%),var(--ink,#0d0f14);color:#fff;position:relative;overflow:hidden}
.ct-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:64px 64px;pointer-events:none}
.ct-grid{position:relative;display:grid;grid-template-columns:1fr 1.05fr;gap:64px;align-items:start}
.ct-copy h1 .accent{color:var(--orange)}
.ct-copy h1{font-family:Montserrat,sans-serif;font-weight:900;font-size:clamp(38px,4.2vw,60px);line-height:1.03;letter-spacing:-.02em;margin:18px 0 16px}
.ct-copy .ip-sub{color:rgba(255,255,255,.72);font-size:18px;line-height:1.6;max-width:44ch}
.ct-list{list-style:none;padding:0;margin:34px 0 0;display:flex;flex-direction:column;gap:16px}
.ct-list li{display:flex;gap:13px;align-items:flex-start}
.ct-tick{flex:0 0 auto;width:24px;height:24px;border-radius:50%;background:var(--orange-tint);color:var(--orange-deep);display:grid;place-items:center;margin-top:2px}
.ct-tick svg{width:13px;height:13px}
.ct-list b{display:block;font-size:15.5px;font-weight:700;letter-spacing:-.01em}
.ct-list span:not(.ct-tick){display:block;font-size:14.5px;color:rgba(255,255,255,.6);line-height:1.55;margin-top:2px}
.ct-meta{display:flex;flex-direction:column;gap:2px;margin-top:38px;border-top:1px solid rgba(255,255,255,.1);padding-top:8px}
.ct-meta-i{display:flex;gap:13px;align-items:center;padding:14px 0;color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.07)}
.ct-meta-i:last-child{border-bottom:0}
.ct-meta-i .ci{flex:0 0 auto;width:38px;height:38px;border-radius:11px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);display:grid;place-items:center;color:var(--orange)}
.ct-meta-i .ci svg{width:17px;height:17px}
.ct-meta-i small{display:block;font-size:11.5px;text-transform:uppercase;letter-spacing:.11em;color:rgba(255,255,255,.45);font-weight:700}
.ct-meta-i b{display:block;font-size:15.5px;font-weight:650;margin-top:3px}
a.ct-meta-i:hover .ci{background:var(--orange-tint);border-color:rgba(244,81,30,.4)}

.ct-form-wrap{position:relative}
.ct-form,.ct-done{background:#fff;color:var(--ink,#0d0f14);border-radius:22px;padding:34px 32px;box-shadow:0 30px 70px -20px rgba(0,0,0,.55)}
.ct-form-head{margin-bottom:22px}
.ct-form-head h3{font-family:Montserrat,sans-serif;font-weight:800;font-size:23px;letter-spacing:-.02em;margin:0}
.ct-form-head p{margin:5px 0 0;font-size:14.5px;color:#6b7280}
.ct-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ct-f{display:block;margin-bottom:16px}
.ct-f>span{display:block;font-size:12.5px;font-weight:750;text-transform:uppercase;letter-spacing:.08em;color:#4b5563;margin-bottom:7px}
.ct-f>span i{color:var(--orange);font-style:normal}
.ct-f input,.ct-f select,.ct-f textarea{width:100%;box-sizing:border-box;font:inherit;font-size:15px;color:#111827;background:#f7f8fa;border:1.5px solid #e4e7ec;border-radius:12px;padding:13px 14px;transition:border-color .16s,background .16s,box-shadow .16s}
.ct-f textarea{resize:vertical;line-height:1.5}
.ct-f input::placeholder,.ct-f textarea::placeholder{color:#9aa1ad}
.ct-f input:focus,.ct-f select:focus,.ct-f textarea:focus{outline:0;background:#fff;border-color:var(--orange);box-shadow:0 0 0 4px var(--orange-tint)}
.ct-f.err input,.ct-f.err select,.ct-f.err textarea{border-color:#dc2626;background:#fff5f5}
.ct-seg{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.ct-seg button{font:inherit;font-size:14.5px;font-weight:650;display:flex;align-items:center;justify-content:center;gap:8px;padding:13px 8px;border-radius:12px;border:1.5px solid #e4e7ec;background:#f7f8fa;color:#4b5563;cursor:pointer;transition:.16s}
.ct-seg button svg{width:17px;height:17px}
.ct-seg button:hover{border-color:#cfd4dc;color:#111827}
.ct-seg button.on{background:var(--ink,#0d0f14);border-color:var(--ink,#0d0f14);color:#fff}
.ct-seg button.on svg{color:var(--orange)}
.ct-slot{background:#f7f8fa;border:1.5px dashed #dfe3e9;border-radius:16px;padding:18px 18px 20px;margin:6px 0 22px}
.ct-slot-top{display:flex;align-items:center;gap:10px}
.ct-slot-top b{font-family:Montserrat,sans-serif;font-weight:800;font-size:15.5px;letter-spacing:-.01em}
.ct-opt{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--orange-deep);background:var(--orange-tint);border-radius:999px;padding:4px 9px}
.ct-slot p{margin:8px 0 14px;font-size:14px;color:#6b7280;line-height:1.55}
.ct-submit{width:100%;justify-content:center}
.ct-fine{margin:14px 0 0;font-size:12.5px;color:#8b919c;text-align:center;line-height:1.5}
.ct-done{text-align:center;padding:56px 34px}
.ct-done-ic{width:60px;height:60px;border-radius:50%;background:var(--orange-tint);color:var(--orange-deep);display:grid;place-items:center;margin:0 auto 20px}
.ct-done-ic svg{width:28px;height:28px}
.ct-done h3{font-family:Montserrat,sans-serif;font-weight:900;font-size:26px;letter-spacing:-.02em;margin:0 0 10px}
.ct-done p{margin:0 auto 22px;font-size:15.5px;color:#6b7280;line-height:1.6;max-width:40ch}
.ct-faq{padding:96px 0}
@media(max-width:980px){.ct-grid{grid-template-columns:1fr;gap:44px}.ct-hero{padding:130px 0 70px}}
@media(max-width:640px){.ct-row{grid-template-columns:1fr;gap:0}.ct-form,.ct-done{padding:26px 20px}.ct-seg{grid-template-columns:1fr}}

.has-drop.open .gf-drop{opacity:1;visibility:visible;transform:translateX(-50%) translateY(10px)}
.has-mega.open .gf-mega{opacity:1;visibility:visible;transform:translateX(-50%) translateY(10px)}


/*mobile*/
/* =============================================================================
   REBEL STACK — RESPONSIVE + FIX LAYER
   Append this to the BOTTOM of style.css. Nothing above it needs editing,
   and functions.php stays exactly as it is.

   Load order matters: because this block sits last, it wins any tie on
   specificity, so it corrects earlier rules without needing !important.

   Contents
     0.  Broken-selector repairs (comma typos in the original file)
     1.  Global safety net
     2.  Fluid spacing scale
     3.  Header + mobile drawer navigation
     4.  <= 1200px  large laptop
     5.  <= 1100px  nav collapse / small laptop
     6.  <= 992px   tablet landscape
     7.  <= 860px   tablet portrait  (two-column -> one column)
     8.  <= 768px   large phone
     9.  <= 600px   phone
     10. <= 420px   small phone
     11. Touch, focus, motion, print
   ========================================================================== */


/* =============================================================================
   0.  BROKEN-SELECTOR REPAIRS
   These selectors were written with "." instead of "," in the original file,
   so they compile to compound selectors that match no element on the page.
   ========================================================================== */

/* FAQ answers had no open state at all, so they never expanded. */
.faq-item.open .faq-a{max-height:900px}
.rswd-faq-item.rswd-open .rswd-faq-a{max-height:900px}

/* Straight Answers cards were stuck at opacity:0 (no script adds .in). */
.sa-item{opacity:1;transform:none}

/* Compare-table cells had zero padding. */
.compare-table th,
.compare-table td{padding:16px 22px;text-align:center;font-size:14.5px;border-bottom:1px solid var(--line)}
.compare-table thead th:first-child,
.compare-table td:first-child{text-align:left;font-weight:600;color:var(--text)}

/* Mock rows: name/sub blocks never got display:block. */
.mock-row .nm,
.mock-row .sub,
.mock-caller .nm,
.mock-caller .sub{display:block}

/* Cool-mode thermostat accents. */
.iw.cool .dial-mode,
.iw.cool .iw-foot b{color:#60a5fa}

/* Dropdown/mega hide pair at the nav breakpoint. */
@media(max-width:1100px){
  .gf-mega,
  .gf-drop{display:none}
}

/* Dashboard divider reset once panels stack. */
@media(max-width:980px){
  .dash-divider,
  .d-ux .dash-right,
  .d-seo .dash-right{border-left:none;padding-left:0}
}

/* Legacy grid-collapse selectors. */
@media(max-width:920px){
  .nav-links,
  .nav-phone{display:none}
  .svc-panel.active,
  .who-grid{grid-template-columns:1fr;gap:48px}
  .cards-3,
  .testi-grid,
  .blog-grid,
  .stories-grid{grid-template-columns:1fr}
  .ip-hero-grid,
  .blueprint{grid-template-columns:1fr;gap:40px}
}


/* =============================================================================
   1.  GLOBAL SAFETY NET
   Kills the sideways scroll that long words, wide tables and fixed-width
   widgets create on narrow screens.
   ========================================================================== */

html{-webkit-text-size-adjust:100%}

html,
body{max-width:100%;overflow-x:clip}

img,
svg,
video,
canvas,
iframe{max-width:100%}

/* Long URLs, emails and unbroken headlines. */
h1,h2,h3,h4,p,li,a,td,th,
.cs-card h3,.csb-main h3,.hack h3,.wall-card .wq{overflow-wrap:anywhere;word-break:normal}

/* Anything that must scroll sideways does so smoothly. */
.cs-track,
.svc2-tabs,
.compare-table,
.cs-tabs,
.filters,
.wall-filters{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}

.compare-table{overflow-x:auto}

/* Form controls never overflow their card. */
input,select,textarea,button{max-width:100%}


/* =============================================================================
   2.  FLUID SPACING SCALE
   One place to tune vertical rhythm across every breakpoint.
   ========================================================================== */

:root{
  --sec-pad:104px;      /* standard section top/bottom padding */
  --sec-pad-sm:72px;
  --gutter:24px;
}

@media(max-width:992px){
  :root{--sec-pad:76px;--sec-pad-sm:56px;--gutter:20px}
}
@media(max-width:600px){
  :root{--sec-pad:56px;--sec-pad-sm:44px;--gutter:16px}
}

@media(max-width:992px){
  .services,.services2,.advantage,.who,.stories,.faq,.blog,
  .ip-sec,.appr,.hack-sec,.cal-sec,.compare,.ct-faq,.rswd-sec{
    padding-top:var(--sec-pad);padding-bottom:var(--sec-pad)
  }
  .cta-band,.rswd-cta-band,.survey2,.rswd-survey{padding:var(--sec-pad) 0}
  .num-band,.stat-band{padding:var(--sec-pad-sm) 0}
  .services2{padding-bottom:calc(var(--sec-pad) + 34px)}
}


/* =============================================================================
   3.  HEADER + MOBILE DRAWER NAVIGATION
   functions.php toggles .open on <header class="gf-nav"> and on the parent of
   a .drop-trigger / .mega-trigger. This section gives those classes something
   to do below the nav breakpoint. No markup changes required.
   ========================================================================== */

@media(max-width:1100px){

  .gf-nav{position:sticky;top:0}
  .gf-nav-inner{gap:14px;row-gap:0}
  .gf-logo{margin-right:auto}
  .gf-mark{height:30px}

  .gf-menu{
    display:grid;place-items:center;width:44px;height:44px;flex:none;
    border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer;
    color:var(--ink);transition:background .18s,border-color .18s,color .18s
  }
  .gf-menu:hover{border-color:var(--ink)}
  .gf-nav.open .gf-menu{background:var(--ink);border-color:var(--ink);color:#fff}

  /* ---- drawer ---- */
  .gf-nav.open .gf-nav-inner{height:auto !important;padding-bottom:18px}

  .gf-nav.open .gf-links{
    display:flex;order:3;flex:1 0 100%;flex-direction:column;align-items:stretch;
    gap:0;margin:6px 0 0;padding-top:8px;border-top:1px solid var(--line);
    max-height:calc(100dvh - 96px);overflow-y:auto
  }

  .gf-nav.open .gf-links > a,
  .gf-nav.open .drop-trigger,
  .gf-nav.open .mega-trigger{
    display:flex;align-items:center;justify-content:space-between;
    padding:15px 2px;font-size:16px;font-weight:600;
    border-bottom:1px solid var(--line)
  }
  .gf-nav.open .cv{width:16px;height:16px;transition:transform .2s ease}
  .gf-nav.open .has-drop.open .cv,
  .gf-nav.open .has-mega.open .cv{transform:rotate(180deg);color:var(--orange)}

  /* submenus render inline instead of floating */
  .gf-nav.open .gf-drop,
  .gf-nav.open .gf-mega{
    display:none;position:static;transform:none;opacity:1;visibility:visible;
    min-width:0;width:100%;padding:4px 0 12px;margin:0;
    border:0;border-radius:0;box-shadow:none;background:transparent;
    grid-template-columns:1fr;gap:2px
  }
  .gf-nav.open .gf-drop::before,
  .gf-nav.open .gf-mega::before{display:none}
  .gf-nav.open .has-drop.open .gf-drop{display:flex}
  .gf-nav.open .has-mega.open .gf-mega{display:grid}

  .gf-nav.open .gf-drop a{padding:12px 10px;border-radius:10px}
  .gf-nav.open .mega-col{border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:10px}
  .gf-nav.open .mega-col:last-child{border-bottom:0;margin-bottom:0}
  .gf-nav.open .mega-col a{padding:11px 10px}
  .gf-nav.open .mega-head{padding-bottom:10px}

  /* CTA drops to the bottom of the drawer, full width */
  .gf-nav.open .gf-cta{
    display:inline-flex;order:4;flex:1 0 100%;
    justify-content:space-between;margin:14px 0 0
  }
}

/* Keep the drawer usable in landscape on short screens. */
@media(max-width:1100px) and (max-height:520px){
  .gf-nav.open .gf-links{max-height:58dvh}
}


/* =============================================================================
   4.  <= 1200px   LARGE LAPTOP
   ========================================================================== */

@media(max-width:1200px){
  .gf-links{gap:22px}
  .gf-links a{font-size:14.5px}
  .price-grid{gap:16px}
  .price-card{padding:26px 20px 24px}
  .price-flag{margin:-26px -20px 20px}
  .gf-foot-card{padding:44px 36px;gap:24px}
  .csb{grid-template-columns:250px 1fr}
  .csb-main{padding:32px 30px}
  .svc2-card{padding:38px 34px 34px}
  .reviews-shell{padding:60px 34px 0}
}


/* =============================================================================
   5.  <= 1100px   NAV COLLAPSE / SMALL LAPTOP
   ========================================================================== */

@media(max-width:1100px){
  .gf-cta{display:none}          /* re-shown inside the open drawer only */
  .team-grid{grid-template-columns:repeat(3,1fr)}
  .appr-grid,
  .rswd-appr-grid{grid-template-columns:1fr 1fr}
  .appr-step,
  .rswd-appr-step{border-bottom:1px solid var(--line)}
  .appr-step:nth-child(2n),
  .rswd-appr-step:nth-child(2n){border-right:0}
  .appr-step:nth-last-child(-n+2),
  .rswd-appr-step:nth-last-child(-n+2){border-bottom:0}
  .hack-grid{grid-template-columns:1fr 1fr}
  .wall-grid{columns:2}
}


/* =============================================================================
   6.  <= 992px   TABLET LANDSCAPE
   ========================================================================== */

@media(max-width:992px){

  /* --- heroes --- */
  .hero-inner{padding:64px 0 72px}
  .hero-pillars{gap:12px}
  .ip-hero-grid,
  .rswd-hero-grid{grid-template-columns:1fr;gap:40px;padding:56px 0 62px}
  .ip-hero-media,
  .rswd-hero-media{order:-1}
  .ip-hero-photo,
  .rswd-hero-photo,
  .bp-media,
  .rswd-feat-media{aspect-ratio:4/3.2;max-width:560px;margin-inline:auto}
  .ip-hero .ip-sub,
  .rswd-sub{max-width:none}
  .ip-hero-float{position:static;margin-top:16px;width:max-content}

  /* --- dashboards --- */
  .dash-grid{grid-template-columns:1fr !important;gap:30px}
  .dash-showcase,
  .rswd-dash{padding:30px 22px 28px}
  .dash-tag,
  .rswd-dash-tag{left:20px}
  .rswd-dash-right{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:28px}
  .svc2-card{padding:30px 20px;min-height:0}

  /* --- generic grids --- */
  .cards-3,
  .rswd-cards-3,
  .svc-cards,
  .rswd-svc-grid,
  .team-values,
  .stories-grid,
  .testi-grid,
  .team-grid,
  .rv-grid,
  .cal{grid-template-columns:1fr 1fr}
  .blog-grid,
  .blog-pg .blog-grid{grid-template-columns:1fr 1fr}
  .post.feat{grid-column:1 / -1}
  .gf-foot-card{grid-template-columns:1fr 1fr;padding:40px 30px}

  /* --- split rows --- */
  .who-grid,
  .feat-row,
  .rswd-feat-row,
  .blueprint,
  .survey-grid,
  .survey2-grid,
  .rswd-survey-grid,
  .ct-grid{grid-template-columns:1fr;gap:40px}
  .feat-row.flip .feat-copy{order:0}
  .who p,
  .feat-copy p,
  .survey2 .s2-sub,
  .rswd-survey-sub{max-width:none}
  .portrait-stack{justify-self:center;width: 91%;}

  /* --- pricing --- */
  .price-grid{grid-template-columns:1fr 1fr;margin-top:-20px}
  .price-desc{min-height:0}
  .compare-table table{min-width:660px}

  /* --- case studies --- */
  .csb{grid-template-columns:1fr}
  .csb-side{
    border-right:0;border-bottom:1px solid var(--line);
    flex-direction:row;flex-wrap:wrap;align-items:center;gap:20px
  }
  .csb-logo{width:170px;flex:none}
  .csb-id{flex:1 1 200px}
  .csb-stats{
    flex:1 1 100%;flex-direction:row;flex-wrap:wrap;gap:24px;
    border-top:0;padding-top:0;margin:0;justify-content:flex-start
  }
  .csb-blocks{grid-template-columns:1fr;gap:22px}
  .csb-main{padding:30px 26px}

  /* --- contact --- */
  .ct-hero{padding:120px 0 70px}
	
	footer {
    color: var(--on-dark-2);
    padding: 0px 0 0 0px !important;
}
}


/* =============================================================================
   7.  <= 860px   TABLET PORTRAIT — layout folds to a single column
   ========================================================================== */

@media(max-width:860px){

  .wrap,
  .rswd-wrap{padding-inline:var(--gutter)}

  /* one column, no exceptions */
  .cards-3,
  .rswd-cards-3,
  .svc-cards,
  .rswd-svc-grid,
  .team-values,
  .stories-grid,
  .testi-grid,
  .blog-grid,
  .blog-pg .blog-grid,
  .rv-grid,
  .cal,
  .hack-grid,
  .appr-grid,
  .rswd-appr-grid,
  .price-grid,
  .team-grid,
  .csb-blocks,
  .mock-kpis,
  .rswd-kpis,
  .ct-row{grid-template-columns:1fr}

  .post.feat{grid-column:auto}
  .post.feat h3{font-size:20px}

  .appr-step,
  .rswd-appr-step{border-right:0;border-bottom:1px solid var(--line)}
  .appr-step:last-child,
  .rswd-appr-step:last-child{border-bottom:0}

  .wall-grid{columns:1}

  /* compact numeric blocks stay two-up — they read fine side by side */
  .num-grid,
  .why-nums,
  .rswd-why-nums,
  .stat-band .sb-grid{grid-template-columns:1fr 1fr;gap:28px 16px}
  .ip-hero-stats,
  .rswd-hero-stats{display:grid;grid-template-columns:1fr 1fr;gap:24px 16px}

  /* --- stacked flex rows --- */
  .hero-cta,
  .ip-hero-cta,
  .rswd-hero-cta,
  .cta-actions,
  .rswd-cta-actions,
  .cta-strip-acts,
  .rswd-strip-acts,
  .s2-cta,
  .rswd-survey-cta{flex-wrap:wrap}

  .cta-strip .wrap,
  .rswd-strip-inner{flex-direction:column;align-items:flex-start;gap:22px}
  .cta-strip-acts,
  .rswd-strip-acts{width:100%}

  /* --- straight answers: drop the sticky stack --- */
  .sa-list{padding-bottom:0}
  .sa-item{
    position:static;top:auto;grid-template-columns:1fr;gap:18px;
    padding:26px 22px;margin-bottom:16px;
    box-shadow:0 10px 30px -20px rgba(20,21,26,.35)
  }
  .sa-qtext{font-size:18px}

  /* --- services tab strip: scrolls sideways instead of wrapping --- */
  .svc2-tabs{
    justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;
    padding-inline:var(--gutter);scroll-snap-type:x proximity;
    scrollbar-width:none
  }
  .svc2-tabs::-webkit-scrollbar{display:none}
  .svc2-tab{flex:none;scroll-snap-align:start;padding:13px 18px 14px;font-size:14px}

  /* --- footer --- */
  .gf-foot-head{flex-direction:column;gap:18px;padding:0px 20px 32px}
  .gf-foot-head .foot-mark{height:46px}
  .gf-foot-legal{flex-direction:column;align-items:flex-start;gap:18px;padding-inline:20px}
  .gf-foot-legal .legal-left{gap:14px}
	footer.elementor.elementor-80.elementor-location-footer, footer.gf-foot{
		padding: 0px 10px !important; 
	}
}


/* =============================================================================
   8.  <= 768px   LARGE PHONE
   ========================================================================== */

@media(max-width:768px){

  /* --- type --- */
  .hero h1{font-size:clamp(32px,8.4vw,44px)}
  .hero p.sub{font-size:16.5px}
  .sec-head h2{font-size:clamp(27px,7vw,36px)}
  .sec-head p{font-size:16px}
  .ip-hero h1,
  .rswd-h1{font-size:clamp(30px,8vw,42px)}
  .ip-hero .ip-sub,
  .rswd-sub{font-size:16.5px}
  .cta-box h2,
  .rswd-cta-box .rswd-h2{font-size:clamp(25px,7vw,34px)}
  .cs-hero h1,
  .wall-hero h1,
  .blog-hero h1,
  .pricing-hero h1,
  .ct-copy h1{font-size:clamp(30px,8.4vw,42px)}

  /* --- buttons: full width, comfortable tap target --- */
  .hero-cta,
  .ip-hero-cta,
  .rswd-hero-cta,
  .cta-actions,
  .rswd-cta-actions,
  .s2-cta,
  .rswd-survey-cta,
  .cta-strip-acts,
  .rswd-strip-acts,
  .wall-cta,
  .load-more{flex-direction:column;align-items:stretch;width:100%}

  .hero-cta > *,
  .ip-hero-cta > *,
  .rswd-hero-cta > *,
  .cta-actions > *,
  .rswd-cta-actions > *,
  .s2-cta > *,
  .cta-strip-acts > *,
  .rswd-strip-acts > *,
  .wall-cta > *,
  .load-more > *{width:100%;justify-content:center}

  .btn-disc,
  .rswd-btn{padding:11px 14px 11px 20px;font-size:14.5px;gap:10px}
  .btn-disc.lg,
  .rswd-btn-lg{font-size:15px;padding:12px 14px 12px 22px}
  .ip-call,
  .rswd-call,
  .cta-strip-call,
  .rswd-strip-call{justify-content:center}

  /* --- hero stat bar --- */
  .stat-bar{grid-template-columns:1fr;max-width:none}
  .stat{border-right:0;border-bottom:1px solid var(--line);padding:18px 20px}
  .stat:last-child{border-bottom:0}
  .hero-pillars{gap:10px}
  .hp{font-size:11px;letter-spacing:.08em}

  /* --- slider cards --- */
  .cs-card{flex:0 0 88%}
  .cs-track{gap:16px}
  .cs-logo{padding:20px 20px 0}
  .cs-body{padding:18px 20px 22px}
  .cs-idx{font-size:34px}
  .cs-card h3{font-size:18px}
  .cs-kpis{gap:16px}

  /* --- survey card --- */
  .s2-card,
  .rswd-survey-card{padding:26px 22px}
  .s2-num b,
  .rswd-survey-num b{font-size:52px}
  .s2-num span,
  .rswd-survey-num span{font-size:18px}

  /* --- faq --- */
  .faq-list,
  .rswd-faq-list{margin-top:36px;gap:12px}
  .faq-q,
  .rswd-faq-q{padding:18px;font-size:15.5px;gap:14px}
  .faq-a p,
  .rswd-faq-a p{padding:0 18px 20px;font-size:14.5px}

  /* --- reviews --- */
  .reviews{padding-top:44px}
  .reviews-shell{border-radius:20px;padding:48px 18px 0}
  .rv-faded{max-height:80px}
  .rv-card{min-height:0}

  /* --- cta band --- */
  .cta-box,
  .rswd-cta-box{padding:48px 22px;border-radius:18px}
  .cta-box .ghost-letter,
  .rswd-ghost{font-size:170px;top:-28px;right:-14px}
  .cta-chips,
  .rswd-chips{gap:14px 18px}

  /* --- interactive hero widgets --- */
  .iw{min-height:320px}
  .dial{width:164px;height:164px}
  .dial-temp{font-size:42px}
  .thermo{gap:14px}
  .tbtn{width:42px;height:42px}
  .ba{max-width:100%}

  /* --- contact --- */
  .ct-hero{padding:104px 0 60px}
  .ct-row{grid-template-columns:1fr;gap:0}
  .ct-form,
  .ct-done{padding:26px 20px;border-radius:18px}
  .ct-seg{grid-template-columns:1fr}

  /* --- filter rows scroll sideways rather than stacking --- */
  .filters,
  .wall-filters,
  .cs-tabs{
    flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;
    padding-bottom:4px;justify-content:flex-start
  }
  .filters::-webkit-scrollbar,
  .wall-filters::-webkit-scrollbar,
  .cs-tabs::-webkit-scrollbar{display:none}
  .filters button,
  .wall-filters button,
  .cs-tab{flex:none}
  .cs-tabs{width:100%;border-radius:16px}

  /* --- marquee --- */
  .cl{height:40px;min-width:140px;padding:0 10px}
  .cl img{max-height:40px;max-width:118px}
}


/* =============================================================================
   9.  <= 600px   PHONE
   ========================================================================== */

@media(max-width:600px){

  .hero-inner{padding:48px 0 56px}
  .hero h1{margin-top:20px}
  .hero p.sub{margin-top:18px}

  /* every remaining multi-column grid folds */
  .pm-stats,
  .mock-cards,
  .rswd-mock-cards,
  .rswd-ba,
  .num-grid,
  .why-nums,
  .rswd-why-nums,
  .stat-band .sb-grid,
  .ip-hero-stats,
  .rswd-hero-stats,
  .team-grid,
  .gf-foot-card{grid-template-columns:1fr}

  .ip-hero-stats,
  .rswd-hero-stats{gap:20px}

  .gf-foot-card{padding:32px 22px;border-radius:20px;gap:26px}
  .gf-foot-card h4{font-size:17px;margin-bottom:14px}
  .gf-foot-card a{font-size:14.5px;margin-bottom:10px}

  /* case-study cards fill the viewport */
  .cs-card{flex:0 0 92%}
  .cs-controls{margin-top:18px}

  /* card padding */
  .svc-card,
  .rswd-svc-card,
  .adv-card,
  .rswd-adv-card,
  .val-card,
  .appr-step,
  .rswd-appr-step,
  .hack,
  .cal-q,
  .wall-card,
  .price-card{padding:24px 20px}
  .price-flag{margin:-24px -20px 18px}

  .csb-main{padding:26px 20px}
  .csb-main h3{font-size:22px}
  .csb-side{padding:22px 20px;flex-direction:column;align-items:flex-start}
  .csb-logo{width:100%}
  .csb-stats{gap:18px}
  .csb-hack{flex-direction:column;gap:8px;padding:18px 20px}

  .bp-step{gap:14px}
  .bp-num{font-size:24px;min-width:36px}

  .subsvc,
  .rswd-chips-row{gap:9px}
  .subsvc a,
  .rswd-chips-row a{font-size:13.5px;padding:10px 14px}

  .sa-item{padding:22px 18px}
  .sa-q{gap:14px}
  .sa-num{width:34px;height:34px;font-size:14px}
  .sa-qtext{font-size:17px}

  .wall{padding:48px 0 64px}
  .wall-card .wq{font-size:15.5px}
  .wall-card.accent .wq,
  .wall-card.big .wq{font-size:18px}

  .compare-table table{min-width:600px}
  .compare-table th,
  .compare-table td{padding:13px 14px;font-size:13.5px}

  .portrait{width:100%;max-width:320px}
  .pnav{width:34px;height:34px}
}


/* =============================================================================
   10.  <= 420px   SMALL PHONE
   ========================================================================== */

@media(max-width:420px){

  :root{--gutter:14px}

  .hero h1{font-size:30px;letter-spacing:-.02em}
  .sec-head h2{font-size:25px}
  .ip-hero h1,
  .rswd-h1{font-size:28px}
  .cta-box h2{font-size:24px}
  .cs-hero h1,
  .wall-hero h1,
  .pricing-hero h1,
  .ct-copy h1{font-size:28px}

  .hero-pillars{display:none}        /* three eyebrow chips at 320px is noise */

  .cs-card{flex:0 0 100%}
  .cs-logo .cs-chip{height:54px;min-width:92px}
  .cs-idx{font-size:28px}

  .price-amt{font-size:38px}
  .s2-num b,
  .rswd-survey-num b{font-size:44px}
  .dial{width:142px;height:142px}
  .dial-temp{font-size:36px}

  .cta-box .ghost-letter,
  .rswd-ghost{font-size:120px}

  .faq-q,
  .rswd-faq-q{padding:16px 14px;font-size:15px}
  .faq-a p,
  .rswd-faq-a p{padding:0 14px 18px}

  .ct-form,
  .ct-done{padding:22px 16px}
  .gf-foot-card{padding:26px 18px}
  .reviews-shell{padding:40px 14px 0}
}


/* =============================================================================
   11.  TOUCH, FOCUS, MOTION, PRINT
   ========================================================================== */

/* Hover effects are a liability on touch — they stick after a tap. */
@media(hover:none){
  .adv-card:hover,
  .rswd-adv-card:hover,
  .svc-card:hover,
  .rswd-svc-card:hover,
  .val-card:hover,
  .member:hover,
  .post:hover,
  .story:hover,
  .cs-card:hover,
  .wall-card:hover,
  .price-card:hover,
  .cal-q:hover,
  .hack:hover,
  .btn-disc:hover,
  .rswd-btn:hover,
  .ip-call:hover,
  .btn:hover{transform:none}

  .cl{filter:none;opacity:.85}
  .cl-marq:hover .cl-track{animation-play-state:running}
}

/* Minimum comfortable tap targets. */
@media(max-width:860px){
  .gf-menu,
  .cs-arrow,
  .pnav,
  .tbtn,
  .faq-q,
  .rswd-faq-q,
  .filters button,
  .wall-filters button,
  .cs-tab,
  .bill-toggle button,
  .ct-seg button,
  .price-btn,
  .btn,
  .btn-disc,
  .rswd-btn{min-height:44px}
  .pdot{width:12px;height:12px}
  .pdot.on{width:26px}
}

/* Visible keyboard focus everywhere, not just inside .rswd. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible{outline:3px solid var(--orange);outline-offset:3px;border-radius:6px}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important
  }
  .cl-track{animation:none;flex-wrap:wrap;justify-content:center;width:100%}
}

@media print{
  .gf-nav,.gf-menu,.cta-strip,.cta-band,.rswd-cta-band,.survey2,.cs-arrows{display:none}
  .cs-track{flex-wrap:wrap;overflow:visible}
  .faq-a{max-height:none}
  body{background:#fff}
}
