/* ================================================
   PULSE DESIGN — BRAND & DESIGN STUDIO
   Bright · Creative · Lead-Generative
   ================================================ */

*, *::before, *::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body { font-family:var(--font-body); background:var(--paper); color:var(--ink); overflow-x:hidden; line-height:1.6; }
img { display:block; max-width:100%; }
a { text-decoration:none; color:inherit; }
button { cursor:pointer; font:inherit; }
ul { list-style:none; }

/* ─── TOKENS ─────────────────────────────────── */
:root {
  --g1:#ED1965; --g2:#F3792A; --g3:#FBC418;
  --gradient:    linear-gradient(135deg,#ED1965 0%,#F3792A 55%,#FBC418 100%);
  --gradient-90: linear-gradient(90deg, #ED1965 0%,#F3792A 55%,#FBC418 100%);
  --gradient-45: linear-gradient(45deg, #ED1965 0%,#F3792A 55%,#FBC418 100%);
  --ink:#0C0C0C; --ink-2:#1A1A1A; --ink-3:#252525;
  --paper:#FFFFFF; --warm:#FFF8F3; --stone:#F5F2EC; --stone-2:#EDEAE3;
  --mist:#686868; --fog:#A8A8A8; --line:#E8E3DC; --line-dark:rgba(255,255,255,.1);
  --font-display:'Bricolage Grotesque',sans-serif;
  --font-body:'Plus Jakarta Sans',sans-serif;
  --font-mono:'JetBrains Mono',monospace;
  --radius:14px; --radius-lg:22px; --radius-xl:32px;
  --shadow:0 4px 24px -4px rgba(12,12,12,.1);
  --shadow-md:0 8px 32px -6px rgba(12,12,12,.14);
  --shadow-lg:0 20px 60px -12px rgba(12,12,12,.18);
}

/* ─── GRAIN ──────────────────────────────────── */
.grain { pointer-events:none;position:fixed;inset:0;z-index:9999;opacity:.02;
  background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='200' height='200' filter='url(%23n)'/></svg>");
  background-size:200px 200px; }

/* ─── LAYOUT ─────────────────────────────────── */
.container { max-width:1220px; margin:0 auto; padding:0 48px; }

/* ─── TYPOGRAPHY ─────────────────────────────── */
.eyebrow {
  font-family:var(--font-mono);font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--g2);margin-bottom:14px;display:flex;align-items:center;gap:10px;
}
.eyebrow::before { content:"";width:24px;height:2.5px;background:var(--gradient-90);border-radius:2px;flex-shrink:0; }
.eyebrow-light { color:rgba(255,255,255,.7); }
.eyebrow-light::before { background:rgba(255,255,255,.45); }
.eyebrow-dark { color:var(--g3); }
.eyebrow-dark::before { background:rgba(255,255,255,.4); }

.section-head { font-family:var(--font-display);font-weight:800;font-size:clamp(2.2rem,4.5vw,3.5rem);line-height:1.06;letter-spacing:-.025em;margin-bottom:16px; }
.section-lede { color:var(--mist);font-size:1.06rem;max-width:580px;line-height:1.68;margin-bottom:42px; }
.grad-text { background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text; }

/* ─── BUTTONS ────────────────────────────────── */
.btn {
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:14px 30px;border-radius:100px;font-family:var(--font-body);font-weight:700;font-size:.95rem;
  transition:all .22s ease;border:2px solid transparent;cursor:pointer;text-decoration:none;
}
.btn-primary { background:var(--gradient);color:#fff;box-shadow:0 8px 28px rgba(237,25,101,.32); }
.btn-primary:hover { transform:translateY(-2px);box-shadow:0 14px 36px rgba(237,25,101,.48); }
.btn-ghost { background:transparent;border-color:var(--ink);color:var(--ink); }
.btn-ghost:hover { background:var(--ink);color:#fff; }
.btn-white { background:#fff;color:var(--ink);box-shadow:0 8px 28px rgba(0,0,0,.18); }
.btn-white:hover { transform:translateY(-2px);box-shadow:0 14px 40px rgba(0,0,0,.26); }
.btn-outline-white { background:transparent;border-color:rgba(255,255,255,.55);color:#fff; }
.btn-outline-white:hover { background:rgba(255,255,255,.12);border-color:#fff; }
.btn-lg { padding:18px 38px;font-size:1.02rem; }

/* ─── NAV ────────────────────────────────────── */
.nav { position:sticky;top:0;z-index:500;background:rgba(255,255,255,.97);backdrop-filter:blur(18px);border-bottom:1px solid var(--line); }
.nav-inner { max-width:1220px;margin:0 auto;padding:0 48px;height:68px;display:flex;align-items:center;gap:28px; }
.brand { display:flex;align-items:center;gap:10px;text-decoration:none;margin-right:auto;flex-shrink:0; }
.brand-mark { width:34px;height:34px; }
.brand-word { font-family:var(--font-display);font-weight:800;font-size:1rem;letter-spacing:.03em;color:var(--ink); }
.brand-word strong { background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text; }
.nav-links { display:flex;align-items:center;gap:26px; }
.nav-links a { font-size:.87rem;font-weight:600;color:var(--mist);transition:color .2s;position:relative; }
.nav-links a:hover { color:var(--ink); }
.nav-links a.active { color:var(--ink); }
.nav-links a.active::after { content:"";position:absolute;bottom:-4px;left:0;right:0;height:2.5px;border-radius:2px;background:var(--gradient); }
.nav-cta { font-size:.84rem;padding:10px 20px; }
.hamburger { display:none; }
.mobile-menu { display:none; }

/* ─── HERO ───────────────────────────────────── */
.hero { background:var(--gradient);min-height:100vh;display:grid;grid-template-rows:1fr auto;position:relative;overflow:hidden; }
.hero-orb { position:absolute;border-radius:50%;pointer-events:none; }
.hero-orb-1 { width:1100px;height:1100px;background:rgba(255,255,255,.07);top:-400px;right:-300px; }
.hero-orb-2 { width:600px;height:600px;background:rgba(0,0,0,.06);bottom:-180px;left:-160px; }
.hero-watermark {
  position:absolute;font-family:var(--font-display);font-weight:800;
  font-size:clamp(180px,36vw,480px);color:rgba(255,255,255,.07);
  line-height:1;bottom:5%;right:-1%;pointer-events:none;z-index:1;
  letter-spacing:-.06em;user-select:none;
}
.hero-content { display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:130px 24px 64px;position:relative;z-index:2; }
.hero-trust { display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center;margin-bottom:28px; }
.trust-pill { font-family:var(--font-mono);font-size:.67rem;letter-spacing:.07em;color:rgba(255,255,255,.95);background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.3);padding:7px 15px;border-radius:100px; }
.hero-headline { font-family:var(--font-display);font-weight:800;font-size:clamp(2.8rem,6.5vw,5.8rem);color:#fff;line-height:1.0;letter-spacing:-.028em;margin-bottom:10px;max-width:1000px; }
.hero-headline .hl-thin { font-weight:400;opacity:.88; }
.hero-sub { font-size:clamp(.98rem,1.5vw,1.2rem);color:rgba(255,255,255,.88);max-width:640px;line-height:1.65;margin-bottom:36px; }
.hero-cycle { display:flex;align-items:center;gap:12px;margin-bottom:8px;justify-content:center; }
.hero-cycle-label { font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;color:rgba(255,255,255,.55);text-transform:uppercase; }
.hero-cycle-wrap { position:relative;height:1.5em;display:inline-block;min-width:280px;vertical-align:bottom; }
.hero-cycle-word { position:absolute;left:0;opacity:0;font-family:var(--font-display);font-weight:700;font-size:1.08rem;color:rgba(255,255,255,.95);white-space:nowrap; }
.hero-cycle-word:nth-child(1){animation:fadecycle 18s infinite 0s;}
.hero-cycle-word:nth-child(2){animation:fadecycle 18s infinite 3s;}
.hero-cycle-word:nth-child(3){animation:fadecycle 18s infinite 6s;}
.hero-cycle-word:nth-child(4){animation:fadecycle 18s infinite 9s;}
.hero-cycle-word:nth-child(5){animation:fadecycle 18s infinite 12s;}
.hero-cycle-word:nth-child(6){animation:fadecycle 18s infinite 15s;}
@keyframes fadecycle {
  0%{opacity:0;transform:translateY(8px)} 6%{opacity:1;transform:translateY(0)}
  25%{opacity:1;transform:translateY(0)} 30%{opacity:0;transform:translateY(-8px)} 100%{opacity:0}
}
.hero-actions { display:flex;gap:14px;flex-wrap:wrap;justify-content:center; }
.hero-stats-bar { position:relative;z-index:2;border-top:1px solid rgba(255,255,255,.2);background:rgba(0,0,0,.12);backdrop-filter:blur(8px); }
.hero-stats { display:flex;align-items:stretch; }
.hstat { flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:22px 16px;text-align:center;border-right:1px solid rgba(255,255,255,.14); }
.hstat:last-child { border-right:none; }
.hstat strong { display:block;font-family:var(--font-display);font-size:clamp(1.7rem,3vw,2.4rem);font-weight:800;color:#fff;line-height:1;margin-bottom:3px; }
.hstat span { font-size:.7rem;font-family:var(--font-mono);letter-spacing:.05em;color:rgba(255,255,255,.6);text-transform:uppercase; }

/* ─── TICKER ─────────────────────────────────── */
.ticker-section { background:var(--ink-2);overflow:hidden; }
.ticker-label { text-align:center;font-family:var(--font-mono);font-size:.65rem;letter-spacing:.14em;color:rgba(255,255,255,.28);padding:14px 0 7px;text-transform:uppercase; }
.ticker-wrap { overflow:hidden;padding-bottom:14px; }
.ticker-track { display:flex;animation:ticker-scroll 50s linear infinite;width:max-content; }
.ticker-track span { white-space:nowrap;font-family:var(--font-display);font-weight:600;font-size:.9rem;color:rgba(255,255,255,.55);padding:0 18px; }
.ticker-track .tick { color:var(--g2);opacity:.5; }
@keyframes ticker-scroll { from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* ─── BRIDGE (TRADITIONAL × AI) ─────────────── */
.bridge-section { display:grid;grid-template-columns:1fr 1fr; }
.bridge-half { padding:clamp(56px,7vw,100px) clamp(36px,7vw,96px);position:relative;overflow:hidden; }
.bridge-traditional { background:var(--ink-2);color:white; }
.bridge-ai { background:var(--gradient);color:white; }
.bridge-half::before { content:"";position:absolute;right:-100px;top:-100px;width:350px;height:350px;border-radius:50%;background:rgba(255,255,255,.05);pointer-events:none; }
.bridge-tag { font-family:var(--font-mono);font-size:.66rem;letter-spacing:.12em;opacity:.55;margin-bottom:20px;display:block;text-transform:uppercase; }
.bridge-half h3 { font-family:var(--font-display);font-size:clamp(1.7rem,3.2vw,2.6rem);font-weight:800;line-height:1.08;margin-bottom:18px; }
.bridge-half p { opacity:.82;line-height:1.65;margin-bottom:22px;font-size:.97rem;max-width:460px; }
.bridge-list { display:flex;flex-direction:column;gap:10px;margin-bottom:32px; }
.bridge-list li { font-size:.91rem;opacity:.82;padding-left:22px;position:relative;line-height:1.48; }
.bridge-list li::before { content:"→";position:absolute;left:0;opacity:.5; }
.bridge-foot { font-family:var(--font-mono);font-size:.68rem;letter-spacing:.06em;opacity:.45;border-top:1px solid rgba(255,255,255,.15);padding-top:18px;margin-top:auto; }

/* ─── UX PROOF ───────────────────────────────── */
.ux-proof { padding:104px 0;background:var(--stone);position:relative;overflow:hidden; }
.ux-proof-grid { display:grid;grid-template-columns:auto 1fr;gap:72px;align-items:center; }
.ux-left { flex-shrink:0; }
.ux-big-num { font-family:var(--font-display);font-weight:800;font-size:clamp(6rem,15vw,14rem);line-height:.88;background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:block; }
.ux-big-label { font-family:var(--font-mono);font-size:.74rem;letter-spacing:.1em;color:var(--mist);margin-top:14px;display:block;text-transform:uppercase; }
.ux-points { display:flex;flex-direction:column;gap:22px; }
.ux-point { display:flex;gap:18px;align-items:flex-start; }
.ux-dot { width:38px;height:38px;background:var(--gradient);border-radius:10px;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:.66rem;font-weight:700;color:#fff;flex-shrink:0; }
.ux-point h4 { font-family:var(--font-display);font-size:1.05rem;font-weight:700;margin-bottom:5px; }
.ux-point p { font-size:.88rem;color:var(--mist);line-height:1.55; }

/* ─── SERVICES HOME ───────────────────────────  */
.services-section { padding:104px 0;background:var(--paper); }
.services-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:44px; }
.service-card { border:1.5px solid var(--line);border-radius:var(--radius-lg);padding:36px 32px;display:flex;flex-direction:column;text-decoration:none;color:var(--ink);transition:all .25s;position:relative;overflow:hidden;background:white; }
.service-card::after { content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--gradient);transform:scaleX(0);transform-origin:left;transition:transform .32s ease; }
.service-card:hover { transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:transparent; }
.service-card:hover::after { transform:scaleX(1); }
.sc-icon { width:48px;height:48px;background:var(--stone);border-radius:14px;display:flex;align-items:center;justify-content:center;margin-bottom:22px;transition:background .2s; }
.service-card:hover .sc-icon { background:rgba(237,25,101,.1); }
.sc-icon svg { width:24px;height:24px;stroke:var(--ink);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round; }
.service-card h3 { font-family:var(--font-display);font-size:1.1rem;font-weight:700;margin-bottom:9px; }
.service-card p { font-size:.87rem;color:var(--mist);line-height:1.52;flex:1; }
.sc-cta { margin-top:20px;font-size:.85rem;font-weight:700;color:var(--g2);display:flex;align-items:center;gap:5px; }

/* ─── LEAD FUNNEL ────────────────────────────── */
.lead-section { padding:100px 0;background:var(--warm);border-top:1px solid var(--line);border-bottom:1px solid var(--line); }
.service-tile-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:38px 0 28px; }
.stile { border:1.5px solid var(--line);border-radius:var(--radius-lg);padding:26px 24px 22px;background:white;text-align:left;cursor:pointer;transition:all .22s;position:relative;overflow:hidden;display:flex;flex-direction:column; }
.stile::after { content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--gradient);transform:scaleX(0);transform-origin:left;transition:transform .3s ease; }
.stile:hover { border-color:var(--g2);transform:translateY(-4px);box-shadow:0 12px 32px rgba(243,121,42,.16); }
.stile:hover::after { transform:scaleX(1); }
.stile-icon { width:40px;height:40px;background:var(--stone);border-radius:11px;display:flex;align-items:center;justify-content:center;margin-bottom:16px;transition:background .2s; }
.stile:hover .stile-icon { background:rgba(237,25,101,.1); }
.stile-icon svg { width:20px;height:20px;stroke:var(--ink);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round; }
.stile h4 { font-family:var(--font-display);font-size:.97rem;font-weight:700;color:var(--ink);margin-bottom:5px;flex:1; }
.stile p { font-size:.78rem;color:var(--mist);line-height:1.45;margin-bottom:10px; }
.stile-arrow { font-size:.78rem;font-weight:700;color:var(--g2); }
.lead-direct { display:flex;align-items:center;gap:14px;flex-wrap:wrap; }
.lead-direct span { font-size:.88rem;color:var(--mist); }
.lead-direct a { font-weight:700;color:var(--g1); }
.lead-guarantee { margin-top:10px;font-family:var(--font-mono);font-size:.66rem;color:var(--fog);letter-spacing:.06em;text-transform:uppercase; }

/* ─── STATS ──────────────────────────────────── */
.stats-section { padding:96px 0;background:var(--ink);color:white; }
.stats-grid { display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin-top:52px; }
.stat-item { text-align:center;padding:0 22px;border-right:1px solid rgba(255,255,255,.07); }
.stat-item:last-child { border-right:none; }
.stat-num { font-family:var(--font-display);font-weight:800;font-size:clamp(3rem,5.5vw,5rem);background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;margin-bottom:12px;display:block; }
.stat-label { display:block;font-weight:700;font-size:.92rem;margin-bottom:6px; }
.stat-desc { display:block;font-size:.74rem;color:rgba(255,255,255,.4);line-height:1.48; }

/* ─── INDUSTRIES ─────────────────────────────── */
.industries-section { padding:100px 0;background:var(--paper); }
.industry-chips { display:flex;flex-wrap:wrap;gap:12px;margin-top:36px; }
.ind-chip { background:var(--stone);border:1.5px solid var(--line);border-radius:100px;padding:12px 24px;font-size:.9rem;font-weight:600;color:var(--ink);transition:all .22s ease;cursor:default; }
.ind-chip:hover { background:var(--gradient);color:white;border-color:transparent;transform:translateY(-2px);box-shadow:0 8px 22px rgba(237,25,101,.2); }

/* ─── APPROACH TEASER ────────────────────────── */
.approach-teaser { background:var(--stone);padding:96px 0;border-top:1px solid var(--line); }
.approach-pull { font-family:var(--font-display);font-size:clamp(1.6rem,3.2vw,2.5rem);font-weight:800;color:var(--ink);line-height:1.18;max-width:880px;padding-left:32px;border-left:4px solid transparent;border-image:var(--gradient) 1; }
.approach-link { margin-top:24px;display:inline-flex;align-items:center;gap:7px;font-weight:700;color:var(--g2);font-size:.95rem; }

/* ─── CTA SECTION ────────────────────────────── */
.cta-section { background:var(--gradient);padding:108px 0;text-align:center;position:relative;overflow:hidden; }
.cta-section::before { content:"";position:absolute;width:750px;height:750px;background:rgba(255,255,255,.08);border-radius:50%;top:-260px;right:-200px;pointer-events:none; }
.cta-section::after { content:"";position:absolute;width:500px;height:500px;background:rgba(0,0,0,.06);border-radius:50%;bottom:-140px;left:-120px;pointer-events:none; }
.cta-inner { position:relative;z-index:2; }
.cta-head { font-family:var(--font-display);font-weight:800;font-size:clamp(2.2rem,5.5vw,4.2rem);line-height:1.04;letter-spacing:-.024em;color:white;margin-bottom:16px; }
.cta-sub { font-size:1.06rem;color:rgba(255,255,255,.82);max-width:560px;margin:0 auto 36px;line-height:1.62; }
.cta-buttons { display:flex;gap:14px;justify-content:center;flex-wrap:wrap; }
.cta-respond { margin-top:18px;font-family:var(--font-mono);font-size:.7rem;color:rgba(255,255,255,.45);letter-spacing:.05em; }

/* ─── FLOATING WHATSAPP ──────────────────────── */
.float-wa {
  position:fixed;bottom:28px;right:28px;z-index:800;background:var(--gradient);color:white;
  display:flex;align-items:center;gap:9px;padding:14px 22px;border-radius:100px;
  font-family:var(--font-body);font-weight:700;font-size:.88rem;
  box-shadow:0 8px 32px rgba(237,25,101,.42);transition:all .25s ease;text-decoration:none;
}
.float-wa:hover { transform:translateY(-3px);box-shadow:0 14px 40px rgba(237,25,101,.58); }
.float-wa svg { width:18px;height:18px;fill:white;flex-shrink:0; }
.float-wa-pulse { position:absolute;inset:0;border-radius:100px;background:inherit;z-index:-1;animation:wa-pulse 2.8s ease-out infinite; }
@keyframes wa-pulse { 0%{transform:scale(1);opacity:.5} 70%{transform:scale(1.12);opacity:0} 100%{transform:scale(1.12);opacity:0} }

/* ─── FOOTER ─────────────────────────────────── */
.footer { background:var(--ink);color:#fff;padding:60px 0 0; }
.footer-inner { display:flex;align-items:flex-start;gap:48px;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,.06); }
.footer .brand-word strong { -webkit-text-fill-color:transparent; }
.footer-links { display:flex;flex-direction:column;gap:9px;flex:1; }
.footer-links a { color:rgba(255,255,255,.45);font-size:.88rem;transition:color .2s; }
.footer-links a:hover { color:#fff; }
.footer-meta { text-align:right; }
.footer-meta p { color:rgba(255,255,255,.45);font-size:.86rem;line-height:1.8; }
.footer-meta a { color:var(--g3); }
.footer-bottom { display:flex;justify-content:space-between;align-items:center;padding:18px 0; }
.footer-bottom p { font-size:.76rem;color:rgba(255,255,255,.25); }

/* ─── PAGE HERO (bright gradient) ───────────── */
.page-hero { background:var(--gradient);color:white;padding:100px 0 80px;position:relative;overflow:hidden; }
.page-hero::before { content:"";position:absolute;width:700px;height:700px;background:rgba(255,255,255,.09);border-radius:50%;top:-250px;right:-180px;pointer-events:none; }
.page-hero::after { content:"";position:absolute;width:350px;height:350px;background:rgba(0,0,0,.07);border-radius:50%;bottom:-80px;left:-80px;pointer-events:none; }
.page-hero-inner { position:relative;z-index:2; }
.page-hero .eyebrow { color:rgba(255,255,255,.75);margin-bottom:16px; }
.page-hero .eyebrow::before { background:rgba(255,255,255,.45); }
.page-hero h1 { font-family:var(--font-display);font-weight:800;font-size:clamp(2.4rem,5.5vw,4.4rem);line-height:1.04;letter-spacing:-.022em;color:white;margin-bottom:20px; }
.page-hero p { color:rgba(255,255,255,.82);font-size:1.06rem;max-width:600px;line-height:1.65; }
.page-hero-tag { font-family:var(--font-mono);font-size:.7rem;letter-spacing:.1em;color:rgba(255,255,255,.5);display:block;margin-top:28px;text-transform:uppercase; }
.page-hero-watermark { position:absolute;font-family:var(--font-display);font-weight:800;font-size:clamp(100px,22vw,260px);color:rgba(255,255,255,.06);line-height:1;bottom:0;right:5%;pointer-events:none;letter-spacing:-.05em;user-select:none; }

/* ─── SERVICES PAGE ──────────────────────────── */
.services-page { padding:88px 0 116px;background:var(--paper); }
.services-full { display:flex;flex-direction:column;gap:14px; }
.service-row { border:1.5px solid var(--line);border-radius:var(--radius-lg);background:white;overflow:hidden;transition:border-color .2s,box-shadow .2s; }
.service-row:hover { border-color:rgba(243,121,42,.3); }
.service-row.open { border-color:var(--g2);box-shadow:0 4px 28px rgba(243,121,42,.12); }
.service-row-head { display:flex;align-items:center;gap:20px;padding:26px 30px;cursor:pointer;background:none;border:none;width:100%;text-align:left;font-family:inherit; }
.svc-icon { width:32px;height:32px;flex-shrink:0;stroke:var(--mist);stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round;transition:stroke .2s; }
.service-row.open .svc-icon { stroke:var(--g2); }
.srh-text { flex:1; }
.service-count { font-family:var(--font-mono);font-size:.62rem;letter-spacing:.09em;color:var(--g2);margin-bottom:3px;display:block; }
.service-row-head h3 { font-family:var(--font-display);font-size:1.22rem;font-weight:700;margin:0;color:var(--ink); }
.chev { width:18px;height:18px;flex-shrink:0;stroke:var(--fog);stroke-width:2;fill:none;transition:transform .3s; }
.service-row.open .chev { transform:rotate(180deg);stroke:var(--g2); }
.service-row-body { overflow:hidden; }
html.js .service-row-body { max-height:0;transition:max-height .38s ease; }
html.js .service-row.open .service-row-body { max-height:380px; }
.service-row-body-inner { padding:0 30px 32px 82px; }
.service-row-body-inner p.philosophy { font-size:1.01rem;color:var(--ink);margin-bottom:16px;line-height:1.58; }
.service-row-body-inner ul { display:flex;flex-direction:column;gap:10px; }
.service-row-body-inner ul li { font-size:.91rem;color:var(--mist);padding-left:18px;position:relative;line-height:1.5; }
.service-row-body-inner ul li::before { content:"";position:absolute;left:0;top:8px;width:6px;height:6px;border-radius:50%;background:var(--gradient); }
.service-row-cta { margin-top:18px;display:inline-flex;align-items:center;gap:6px;font-size:.84rem;font-weight:700;color:var(--g2);text-decoration:none; }

/* ─── APPROACH ───────────────────────────────── */
.manifesto { padding:96px 0;background:var(--paper); }
.contrast-grid { display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:44px; }
.contrast-card { border-radius:var(--radius-lg);padding:38px 34px; }
.contrast-no { background:var(--stone);border:1.5px solid var(--line); }
.contrast-yes { background:var(--ink);color:white; }
.contrast-label { font-family:var(--font-mono);font-size:.64rem;letter-spacing:.1em;margin-bottom:20px;display:block; }
.contrast-no .contrast-label { color:var(--g1); }
.contrast-yes .contrast-label { color:rgba(255,255,255,.3); }
.contrast-card ul { display:flex;flex-direction:column;gap:12px; }
.contrast-card ul li { font-size:.92rem;line-height:1.52; }
.contrast-no ul li { color:var(--mist); }
.contrast-yes ul li { color:rgba(255,255,255,.82); }
.process-section { padding:96px 0;background:var(--ink);color:white; }
.process-list { display:flex;flex-direction:column;gap:0;margin-top:48px;max-width:720px; }
.process-item { display:flex;gap:28px;align-items:flex-start;padding:26px 0;border-bottom:1px solid rgba(255,255,255,.07); }
.process-item:last-child { border-bottom:none; }
.process-num { font-family:var(--font-mono);font-size:.74rem;font-weight:700;color:var(--g3);flex-shrink:0;width:28px;margin-top:3px; }
.process-item h3 { font-family:var(--font-display);font-size:1.1rem;font-weight:700;margin-bottom:6px;color:white; }
.process-item p { font-size:.9rem;color:rgba(255,255,255,.5);line-height:1.55; }

/* ─── ABOUT ──────────────────────────────────── */
.story-section { padding:96px 0 0;background:var(--paper); }
.story-text p { font-size:1.08rem;color:var(--ink);line-height:1.74;margin-bottom:20px; }
.story-text p .highlight { background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:700; }
.team-proof { padding:80px 0;background:var(--stone);border-top:1px solid var(--line); }
.team-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px; }
.team-card { background:white;border:1.5px solid var(--line);border-radius:var(--radius-lg);padding:32px 28px;transition:all .2s; }
.team-card:hover { border-color:var(--g2);box-shadow:var(--shadow-md);transform:translateY(-3px); }
.tc-num { width:40px;height:40px;background:var(--gradient);border-radius:11px;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:.68rem;font-weight:700;color:#fff;margin-bottom:18px; }
.team-card h3 { font-family:var(--font-display);font-size:1.06rem;font-weight:700;margin-bottom:9px; }
.team-card p { font-size:.88rem;color:var(--mist);line-height:1.55; }
.industries-full { padding:0 0 100px;background:var(--paper); }
.industries-grid-2col { display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:36px; }
.industry-card-2 { border:1.5px solid var(--line);border-radius:var(--radius);padding:26px 28px;background:white;transition:all .2s; }
.industry-card-2:hover { border-color:var(--g2);box-shadow:var(--shadow);transform:translateY(-2px); }
.industry-card-2 h3 { font-family:var(--font-display);font-size:1rem;font-weight:700;margin-bottom:7px; }
.industry-card-2 p { font-size:.84rem;color:var(--mist);line-height:1.5; }

/* ─── CASE STUDIES ───────────────────────────── */
.cs-section { padding:80px 0 112px;background:var(--paper); }
.filter-pills { display:flex;gap:10px;flex-wrap:wrap;margin-bottom:44px; }
.pill { font-family:var(--font-mono);font-size:.72rem;letter-spacing:.04em;font-weight:600;padding:10px 18px;border-radius:100px;border:1.5px solid var(--line);background:transparent;color:var(--mist);cursor:pointer;transition:all .2s; }
.pill:hover { border-color:var(--ink);color:var(--ink); }
.pill.active { background:var(--ink);border-color:var(--ink);color:white; }
.pill .pill-count { opacity:.6;margin-left:3px; }
.client-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:16px; }
.client-card { border:1.5px solid var(--line);border-radius:var(--radius);padding:22px 24px;background:white;transition:all .2s; }
.client-card:hover { border-color:var(--g2);transform:translateY(-2px);box-shadow:var(--shadow); }
.client-card.hide { display:none; }
.client-card h4 { font-family:var(--font-display);font-size:1rem;font-weight:700;margin-bottom:4px; }
.client-card .industry-tag { font-family:var(--font-mono);font-size:.62rem;color:var(--g2);letter-spacing:.05em;margin-bottom:10px;display:block; }
.client-chips { display:flex;flex-wrap:wrap;gap:6px; }
.chip { font-family:var(--font-mono);font-size:.61rem;letter-spacing:.02em;background:var(--stone);color:var(--mist);padding:4px 10px;border-radius:100px; }
.client-grid-empty { display:none;color:var(--mist);font-style:italic;padding:40px 0;text-align:center; }
.client-grid-empty.show { display:block; }
.work-note { margin-top:44px;font-size:.88rem;color:var(--mist);max-width:660px;line-height:1.68;font-style:italic; }

/* ─── CONTACT ────────────────────────────────── */
.contact-page { background:var(--ink);padding:96px 0;min-height:calc(100vh - 68px); }
.contact-grid { display:grid;grid-template-columns:1fr 1fr;gap:68px;align-items:start; }
.contact-info h2 { font-family:var(--font-display);font-weight:800;font-size:clamp(2rem,4vw,3rem);color:white;margin-bottom:18px;line-height:1.1; }
.contact-info p { color:rgba(255,255,255,.64);font-size:1rem;line-height:1.68;margin-bottom:26px; }
.contact-actions { display:flex;flex-direction:column;gap:12px; }
.cab { display:flex;align-items:center;gap:16px;padding:16px 20px;border-radius:var(--radius);border:1px solid rgba(255,255,255,.1);color:white;transition:all .2s;background:rgba(255,255,255,.04);text-decoration:none; }
.cab:hover { background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.22);transform:translateX(4px); }
.cab-icon { width:42px;height:42px;background:var(--gradient);border-radius:11px;display:flex;align-items:center;justify-content:center;flex-shrink:0; }
.cab-icon svg { width:18px;height:18px;fill:white; }
.cab-text strong { display:block;font-weight:700;font-size:.94rem; }
.cab-text span { font-size:.8rem;color:rgba(255,255,255,.42); }
.contact-location { margin-top:24px;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.06em;color:rgba(255,255,255,.28);text-transform:uppercase; }
.form-card { background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);padding:38px 36px; }
.form-title { font-family:var(--font-display);font-size:1.35rem;font-weight:700;color:white;margin-bottom:24px; }
.form-field { margin-bottom:16px;display:flex;flex-direction:column;gap:7px; }
.form-field label { font-family:var(--font-mono);font-size:.66rem;letter-spacing:.09em;color:rgba(255,255,255,.42);text-transform:uppercase; }
.form-field input,.form-field select,.form-field textarea { background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:13px 14px;color:white;font-family:var(--font-body);font-size:.93rem;transition:border-color .2s; }
.form-field input::placeholder,.form-field textarea::placeholder { color:rgba(255,255,255,.22); }
.form-field input:focus,.form-field select:focus,.form-field textarea:focus { outline:none;border-color:var(--g2); }
.form-field select { cursor:pointer; }
.form-field select option { background:var(--ink-2); }
.form-field textarea { resize:vertical;min-height:90px;font-family:var(--font-body); }
.form-note { font-size:.75rem;color:rgba(255,255,255,.26);margin-top:12px;line-height:1.5; }
.form-card .btn { width:100%;margin-top:6px; }

/* ─── SCROLL REVEAL ──────────────────────────── */
.reveal { opacity:1; }
html.js .reveal { opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .65s ease; }
html.js .reveal.in-view { opacity:1;transform:translateY(0); }

/* ─── RESPONSIVE ─────────────────────────────── */
@media (max-width:1040px){
  .bridge-section { grid-template-columns:1fr; }
  .ux-proof-grid { grid-template-columns:1fr;gap:40px; }
  .ux-big-num { font-size:clamp(4rem,18vw,8rem); }
  .services-grid { grid-template-columns:repeat(2,1fr); }
  .service-tile-grid { grid-template-columns:repeat(2,1fr); }
  .stats-grid { grid-template-columns:repeat(3,1fr);gap:20px; }
  .stat-item { border-right:none;padding:0 0 20px;border-bottom:1px solid rgba(255,255,255,.07); }
  .stat-item:last-child { border-bottom:none; }
  .client-grid { grid-template-columns:repeat(2,1fr); }
  .contact-grid { grid-template-columns:1fr;gap:44px; }
  .team-grid { grid-template-columns:1fr 1fr; }
  .industries-grid-2col { grid-template-columns:1fr; }
  .contrast-grid { grid-template-columns:1fr; }
}
@media (max-width:760px){
  .container { padding:0 22px; }
  .nav-inner { padding:0 22px; }
  .nav-links,.nav-cta { display:none; }
  .hamburger { display:flex;flex-direction:column;justify-content:center;gap:5px;width:34px;height:34px;background:none;border:none;cursor:pointer;padding:0;margin-left:auto; }
  .hamburger span { width:100%;height:2px;background:var(--ink);border-radius:2px;transition:transform .25s,opacity .25s; }
  .hamburger.open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
  .hamburger.open span:nth-child(2){ opacity:0; }
  .hamburger.open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
  .mobile-menu { display:flex;flex-direction:column;gap:0;max-height:0;overflow:hidden;background:var(--paper);border-top:1px solid var(--line);transition:max-height .3s ease; }
  .mobile-menu.open { max-height:min(540px,calc(100vh - 68px));overflow-y:auto; }
  .mobile-menu a { padding:16px 22px;border-bottom:1px solid var(--line);font-weight:600;color:var(--ink);font-size:.93rem; }
  .mobile-menu a.active { color:var(--g1); }
  .mobile-menu .btn { margin:14px 22px; }

  .hero-headline { font-size:clamp(2.1rem,7.5vw,3.2rem); }
  .hero-watermark { display:none; }
  .hero-stats { flex-wrap:wrap; }
  .hstat { flex:0 0 50%;border-right:none !important;border-bottom:1px solid rgba(255,255,255,.14); }
  .hstat:nth-child(odd){ border-right:1px solid rgba(255,255,255,.14) !important; }
  .hstat:last-child,.hstat:nth-last-child(2):nth-child(odd){ border-bottom:none; }
  .hero-cycle-wrap { min-width:200px; }

  .bridge-half { padding:56px 24px; }
  .bridge-half p { max-width:100%; }

  .ux-proof-grid { gap:28px; }
  .services-grid { grid-template-columns:1fr; }
  .service-tile-grid { grid-template-columns:1fr; }
  .stats-grid { grid-template-columns:1fr 1fr; }
  .stat-item { border-bottom:1px solid rgba(255,255,255,.07)!important;padding:0 0 16px; }
  .client-grid { grid-template-columns:1fr; }
  .team-grid { grid-template-columns:1fr; }
  .footer-inner { flex-direction:column;gap:24px; }
  .footer-meta { text-align:left; }
  .float-wa span { display:none; }
  .float-wa { padding:14px;border-radius:50%;width:52px;height:52px; }
  .page-hero { padding:76px 0 54px; }
  .service-row-body-inner { padding:0 20px 26px; }
  .service-row-head { padding:20px 22px;gap:14px; }
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after { animation-duration:.01ms !important;transition-duration:.01ms !important; }
  .ticker-track { animation:none; }
  .hero-cycle-word { opacity:1;position:relative; }
  .hero-cycle-wrap { height:auto;display:block;min-width:unset; }
  .hero-cycle-word:nth-child(n+2){ display:none; }
}
