/* ============================================================
   TSPACE GLOBAL — SHARED SITE STYLES
   Loaded by every sub-page: <link rel="stylesheet" href="/assets/css/site.css">
   Homepage keeps its own inline CSS for fastest first paint.
   ============================================================ */

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

:root{
  --bg:#080A0F; --bg2:#0D1019; --bg3:#111520;
  --accent:#4F8EF7; --accent-h:#3a79e8;
  --white:#F4F6FF; --muted:#8A90A8; --muted-dim:#6A7088;
  --border:rgba(79,142,247,0.12);
  --font-head:'Space Grotesk',sans-serif; --font-body:'Inter',sans-serif;
}

html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--white);font-family:var(--font-body);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1!important;transform:none!important;transition:none!important}}

a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}

.container{max-width:1160px;margin:0 auto;padding:0 24px}
.container-narrow{max-width:820px;margin:0 auto;padding:0 24px}

/* ── NAV ── */
nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:18px 0;background:rgba(8,10,15,0.88);backdrop-filter:blur(14px);border-bottom:1px solid var(--border);transition:padding .3s}
nav .inner{display:flex;align-items:center;justify-content:space-between;max-width:1160px;margin:0 auto;padding:0 24px}
.nav-logo img{height:20px;width:auto;display:block}
.nav-links{display:flex;gap:34px;list-style:none;align-items:center}
.nav-links a{color:var(--muted);text-decoration:none;font-family:var(--font-head);font-size:13.5px;font-weight:500;letter-spacing:.03em;transition:color .2s}
.nav-links a:hover,.nav-links a.active{color:var(--white)}
.nav-cta{background:var(--accent);color:#fff;padding:10px 20px;border-radius:4px;font-family:var(--font-head);font-size:13px;font-weight:600;letter-spacing:.02em;text-decoration:none;transition:background .2s,transform .2s;white-space:nowrap;border:none;cursor:pointer}
.nav-cta:hover{background:var(--accent-h);transform:translateY(-1px)}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:6px}
.hamburger span{display:block;width:22px;height:2px;background:var(--white);border-radius:2px;transition:.3s}
.mobile-menu{display:none;flex-direction:column;background:var(--bg2);padding:16px 24px 24px;border-top:1px solid var(--border)}
.mobile-menu.open{display:flex}
.mobile-menu a{color:var(--muted);text-decoration:none;font-family:var(--font-head);font-size:14px;font-weight:500;padding:13px 0;border-bottom:1px solid var(--border);letter-spacing:.03em}
.mobile-menu a:last-child{border-bottom:none;color:var(--accent)}

/* ── BUTTONS ── */
.btn-primary{background:var(--accent);color:#fff;padding:15px 30px;border-radius:4px;font-family:var(--font-head);font-size:14px;font-weight:600;letter-spacing:.02em;text-decoration:none;border:none;cursor:pointer;display:inline-block;transition:background .2s,transform .2s}
.btn-primary:hover{background:var(--accent-h);transform:translateY(-2px)}
.btn-ghost{background:transparent;color:var(--white);padding:14px 28px;border-radius:4px;border:1px solid rgba(255,255,255,.18);font-family:var(--font-head);font-size:14px;font-weight:500;letter-spacing:.02em;text-decoration:none;display:inline-block;transition:border-color .2s,color .2s;cursor:pointer}
.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}

/* ── BREADCRUMB ── */
.breadcrumb{padding-top:118px;padding-bottom:0}
.breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-family:var(--font-head);font-size:12.5px;color:var(--muted-dim)}
.breadcrumb a{color:var(--muted);text-decoration:none;transition:color .2s}
.breadcrumb a:hover{color:var(--white)}
.breadcrumb li::after{content:'/';margin-left:8px;color:var(--muted-dim)}
.breadcrumb li:last-child::after{content:''}
.breadcrumb li:last-child{color:var(--accent)}

/* ── PAGE HERO ── */
.page-hero{padding:48px 0 70px;position:relative;overflow:hidden}
.page-hero::before{content:'';position:absolute;inset:0;z-index:0;background:radial-gradient(ellipse 50% 60% at 75% 30%,rgba(79,142,247,0.07) 0%,transparent 70%)}
.page-hero .inner{position:relative;z-index:1;max-width:780px}
.page-eyebrow{display:inline-flex;align-items:center;gap:10px;margin-bottom:24px;font-family:var(--font-head);font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.page-eyebrow::before{content:'';width:28px;height:1px;background:var(--accent)}
.page-h1{font-family:var(--font-head);font-size:clamp(34px,5vw,58px);font-weight:700;line-height:1.1;letter-spacing:-0.02em;margin-bottom:22px}
.page-h1 em{font-style:normal;color:var(--accent)}
.page-lead{font-size:clamp(16px,1.8vw,20px);color:var(--muted);font-weight:300;line-height:1.7;margin-bottom:36px;max-width:660px}
.page-hero-actions{display:flex;flex-wrap:wrap;gap:14px}


/* ── SEO / AI SUMMARY INTRO ── */
.page-summary{padding:34px 0 38px;background:linear-gradient(180deg,rgba(79,142,247,.045),rgba(79,142,247,.018));border-top:1px solid rgba(79,142,247,.10);border-bottom:1px solid rgba(79,142,247,.10)}
.page-summary .summary-box{max-width:920px}
.summary-label{font-family:var(--font-head);font-size:11.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:12px;display:flex;align-items:center;gap:10px}
.summary-label::before{content:'';width:20px;height:1px;background:var(--accent)}
.summary-h1{font-family:var(--font-head);font-size:clamp(24px,3.2vw,38px);font-weight:700;line-height:1.28;letter-spacing:-.015em;margin-bottom:14px;color:var(--white)}
.summary-text{max-width:820px;color:var(--muted);font-size:16px;line-height:1.8;font-weight:300}
@media(max-width:768px){.page-summary{padding:28px 0 34px}.summary-h1{font-size:24px;line-height:1.32}.summary-text{font-size:15px;line-height:1.78}}

/* ── SECTIONS ── */
section{padding:80px 0}
.sec-alt{background:var(--bg2)}
.section-label{font-family:var(--font-head);font-size:11.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:18px;display:flex;align-items:center;gap:10px}
.section-label::before{content:'';width:20px;height:1px;background:var(--accent)}
.section-h2{font-family:var(--font-head);font-size:clamp(26px,3.5vw,40px);font-weight:700;line-height:1.15;letter-spacing:-0.02em;margin-bottom:18px}
.section-h2.center{text-align:center}
.section-body{color:var(--muted);font-size:16px;line-height:1.8;font-weight:300;margin-bottom:16px}
.section-head{max-width:680px;margin-bottom:48px}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center}
.section-head.center .section-label{justify-content:center}

/* prose blocks */
.prose p{color:var(--muted);font-size:16px;line-height:1.85;margin-bottom:20px}
.prose p strong{color:var(--white);font-weight:500}
.prose h3{font-family:var(--font-head);font-size:22px;font-weight:600;color:var(--white);margin:36px 0 14px}

/* ── CARD GRIDS ── */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:2px}
.tile{background:var(--bg3);border:1px solid var(--border);padding:32px 28px;text-decoration:none;display:block;transition:border-color .25s,background .25s}
a.tile:hover{border-color:rgba(79,142,247,.5);background:rgba(79,142,247,.04)}
.tile-icon{width:36px;height:36px;margin-bottom:16px;display:flex;align-items:center}
.tile-icon svg{width:22px;height:22px;stroke:var(--accent);fill:none;stroke-width:1.5}
.tile h3{font-family:var(--font-head);font-size:16px;font-weight:600;color:var(--white);margin-bottom:8px}
.tile p{font-size:13.5px;color:var(--muted);line-height:1.6}
.tile-arrow{display:inline-flex;align-items:center;gap:6px;margin-top:16px;font-size:12px;color:var(--accent);font-family:var(--font-head);font-weight:500;letter-spacing:.03em}

/* ── SIGNS / CHECKLIST ── */
.check-list{display:flex;flex-direction:column;gap:14px}
.check-item{display:flex;gap:16px;align-items:flex-start;padding:18px 20px;background:var(--bg3);border:1px solid var(--border);border-radius:4px}
.check-mark{width:20px;height:20px;flex-shrink:0;border-radius:50%;background:rgba(79,142,247,.12);display:flex;align-items:center;justify-content:center;margin-top:2px}
.check-mark svg{width:10px;height:10px;stroke:var(--accent);stroke-width:2.5;fill:none}
.check-text{font-size:14.5px;color:var(--white);font-weight:400;line-height:1.6}
.check-text span{color:var(--muted);display:block;font-size:13px;margin-top:3px;font-weight:300}

/* two-column split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}
.split.center{align-items:center}

/* panel */
.panel{background:var(--bg3);border:1px solid var(--border);border-radius:8px;padding:42px 38px;position:relative;overflow:hidden}
.panel::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--accent),transparent)}
.panel h3{font-family:var(--font-head);font-size:20px;font-weight:700;margin-bottom:12px}
.panel p{color:var(--muted);font-size:15px;line-height:1.7}
.panel .quote{margin-top:26px;padding-top:24px;border-top:1px solid var(--border);font-family:var(--font-head);font-size:14px;color:var(--muted);font-style:italic;line-height:1.6}

/* ── FAQ ── */
.faq-list{display:flex;flex-direction:column;gap:2px;max-width:860px}
.faq-item{background:var(--bg3);border:1px solid var(--border)}
.faq-q{width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:24px 28px;font-family:var(--font-head);font-size:16px;font-weight:600;color:var(--white);display:flex;justify-content:space-between;align-items:center;gap:16px}
.faq-q .icon{color:var(--accent);font-size:20px;transition:transform .3s;flex-shrink:0}
.faq-item.open .faq-q .icon{transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease}
.faq-a-inner{padding:0 28px 24px;color:var(--muted);font-size:15px;line-height:1.8}
.faq-item.open .faq-a{max-height:400px}

/* ── CTA BAND ── */
.cta-section{padding:90px 0}
.cta-wrap{text-align:center;max-width:680px;margin:0 auto}
.cta-wrap h2{font-family:var(--font-head);font-size:clamp(28px,4vw,46px);font-weight:700;line-height:1.12;letter-spacing:-0.02em;margin-bottom:16px}
.cta-wrap p{color:var(--muted);font-size:16px;line-height:1.7;margin-bottom:34px}
.cta-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:14px}

/* ── RELATED LINKS ── */
.related{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
.related a{background:var(--bg3);border:1px solid var(--border);padding:26px 24px;text-decoration:none;transition:border-color .25s,background .25s}
.related a:hover{border-color:rgba(79,142,247,.4);background:rgba(79,142,247,.03)}
.related .r-label{font-family:var(--font-head);font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);margin-bottom:10px;display:block}
.related .r-title{font-family:var(--font-head);font-size:15px;font-weight:600;color:var(--white);line-height:1.4}

/* ── FOOTER ── */
footer{background:var(--bg);border-top:1px solid var(--border);padding:60px 0 36px}
.footer-top{display:grid;grid-template-columns:1.8fr 1fr 1fr 1fr;gap:56px;margin-bottom:48px}
.footer-brand img{height:18px;width:auto}
.footer-brand p{color:var(--muted);font-size:14px;line-height:1.7;margin-top:20px;max-width:260px}
.footer-col h4{font-family:var(--font-head);font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:20px}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:10px}
.footer-col ul li a{color:var(--muted-dim);text-decoration:none;font-size:14px;transition:color .2s}
.footer-col ul li a:hover{color:var(--white)}
.footer-bottom{border-top:1px solid var(--border);padding-top:28px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}
.footer-bottom p{font-size:13px;color:var(--muted)}
.footer-bottom a{color:var(--muted);text-decoration:none;font-size:13px}
.footer-bottom a:hover{color:var(--white)}

/* ── POPUP (shared) ── */
.popup-overlay{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.82);backdrop-filter:blur(8px);display:none;align-items:center;justify-content:center;padding:20px}
.popup-overlay.open{display:flex}
.popup-box{background:var(--bg2);border:1px solid var(--border);border-radius:10px;width:100%;max-width:540px;padding:46px 44px;position:relative;max-height:90vh;overflow-y:auto}
.popup-box::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--accent),transparent)}
.popup-close{position:absolute;top:16px;right:16px;background:none;border:none;cursor:pointer;color:var(--muted);font-size:20px;line-height:1;padding:4px 8px;transition:color .2s}
.popup-close:hover{color:var(--white)}
.popup-step{display:none}.popup-step.active{display:block}
.popup-eyebrow{font-family:var(--font-head);font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--accent);margin-bottom:12px}
.popup-title{font-family:var(--font-head);font-size:24px;font-weight:700;margin-bottom:8px}
.popup-intro{color:var(--muted);font-size:14px;line-height:1.6;margin-bottom:28px}
.form-row{margin-bottom:16px}
.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-row label{display:block;font-family:var(--font-head);font-size:12px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin-bottom:7px}
.form-row input,.form-row select,.form-row textarea{width:100%;background:var(--bg3);border:1px solid var(--border);border-radius:4px;color:var(--white);font-family:var(--font-body);font-size:14px;padding:12px 14px;outline:none;transition:border-color .2s}
.form-row input:focus,.form-row select:focus,.form-row textarea:focus{border-color:var(--accent)}
.form-row input.error,.form-row select.error{border-color:#ff5c5c}
.form-row textarea{resize:vertical;min-height:88px}
.form-row select option{background:var(--bg3)}
.field-err{color:#ff7676;font-size:12px;margin-top:6px;display:none}
.field-err.show{display:block}
.form-consent{font-size:12px;color:var(--muted);margin-bottom:18px;line-height:1.6}
.popup-progress{display:flex;gap:6px;margin-bottom:28px}
.progress-dot{height:3px;flex:1;border-radius:2px;background:var(--border);transition:background .3s}
.progress-dot.active{background:var(--accent)}
.success-msg{text-align:center;padding:30px 0}
.success-icon{width:60px;height:60px;border-radius:50%;background:rgba(79,142,247,.1);display:flex;align-items:center;justify-content:center;margin:0 auto 24px}
.success-icon svg{width:28px;height:28px;stroke:var(--accent);stroke-width:2;fill:none}
.success-msg h3{font-family:var(--font-head);font-size:22px;font-weight:700;margin-bottom:12px}
.success-msg p{color:var(--muted);font-size:15px;line-height:1.7}

/* ── REVEAL ── */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}
.reveal.visible{opacity:1;transform:none}

/* ── RESPONSIVE ── */
@media (max-width:900px){
  .split,.grid-3,.related{grid-template-columns:1fr;gap:36px}
  .grid-3,.related{gap:2px}
  .footer-top{grid-template-columns:1fr 1fr;gap:40px}
}
@media (max-width:600px){
  section{padding:60px 0}
  .grid-3,.grid-2,.related{grid-template-columns:1fr}
  .footer-top{grid-template-columns:1fr;gap:32px}
  .popup-box{padding:36px 24px}.form-grid-2{grid-template-columns:1fr}
  nav .nav-links,nav .nav-cta-desktop{display:none}
  .hamburger{display:flex}
  .page-hero{padding:36px 0 56px}
}


/* --- Homepage preview style / approved visual scale --- */

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

    :root {
      --bg:        #080A0F;
      --bg2:       #0D1019;
      --bg3:       #111520;
      --accent:    #4F8EF7;
      --accent-h:  #3a79e8;
      --white:     #F4F6FF;
      --muted:     #8A90A8;
      --muted-dim: #6A7088;
      --border:    rgba(79,142,247,0.12);
      --font-head: 'Space Grotesk', sans-serif;
      --font-body: 'Inter', sans-serif;
    }

    html { scroll-behavior: smooth; }
    body {
      background: var(--bg); color: var(--white);
      font-family: var(--font-body); font-size: 16px; line-height: 1.7;
      -webkit-font-smoothing: antialiased; overflow-x: hidden;
    }

    /* focus visibility for keyboard nav */
    a:focus-visible, button:focus-visible, input:focus-visible,
    select:focus-visible, textarea:focus-visible {
      outline: 2px solid var(--accent); outline-offset: 3px; border-radius: 3px;
    }

    .container { max-width: 1200px; margin: 0 auto; padding: 0 24px; }

    /* ── NAV ── */
    nav {
      position: fixed; top: 0; left: 0; right: 0; z-index: 100;
      padding: 18px 0; background: rgba(8,10,15,0.88);
      backdrop-filter: blur(14px); border-bottom: 1px solid var(--border);
      transition: padding 0.3s;
    }
    nav .inner {
      display: flex; align-items: center; justify-content: space-between;
      max-width: 1200px; margin: 0 auto; padding: 0 24px;
    }
    .nav-logo img { height: 20px; width: auto; display: block; }
    .nav-links { display: flex; gap: 34px; list-style: none; align-items: center; }
    .nav-links a {
      color: var(--muted); text-decoration: none; font-family: var(--font-head);
      font-size: 13.5px; font-weight: 500; letter-spacing: 0.03em; transition: color 0.2s;
    }
    .nav-links a:hover { color: var(--white); }
    .nav-cta {
      background: var(--accent); color: #fff; padding: 10px 20px; border-radius: 4px;
      font-family: var(--font-head); font-size: 13px; font-weight: 600;
      text-decoration: none; letter-spacing: 0.02em;
      transition: background 0.2s, transform 0.2s; white-space: nowrap; border: none; cursor: pointer;
    }
    .nav-cta:hover { background: var(--accent-h); transform: translateY(-1px); }
    .hamburger { display: none; flex-direction: column; gap: 5px; cursor: pointer; background: none; border: none; padding: 6px; }
    .hamburger span { display: block; width: 22px; height: 2px; background: var(--white); border-radius: 2px; transition: 0.3s; }
    .mobile-menu { display: none; flex-direction: column; background: var(--bg2); padding: 16px 24px 24px; border-top: 1px solid var(--border); }
    .mobile-menu.open { display: flex; }
    .mobile-menu a {
      color: var(--muted); text-decoration: none; font-family: var(--font-head);
      font-size: 14px; font-weight: 500; padding: 13px 0; border-bottom: 1px solid var(--border); letter-spacing: 0.03em;
    }
    .mobile-menu a:last-child { border-bottom: none; color: var(--accent); }

    /* ── BUTTONS ── */
    .btn-primary {
      background: var(--accent); color: #fff; padding: 15px 30px; border-radius: 4px;
      font-family: var(--font-head); font-size: 14px; font-weight: 600; letter-spacing: 0.02em;
      text-decoration: none; border: none; cursor: pointer; display: inline-block;
      transition: background 0.2s, transform 0.2s;
    }
    .btn-primary:hover { background: var(--accent-h); transform: translateY(-2px); }
    .btn-ghost {
      background: transparent; color: var(--white); padding: 14px 28px; border-radius: 4px;
      border: 1px solid rgba(255,255,255,0.18); font-family: var(--font-head); font-size: 14px;
      font-weight: 500; letter-spacing: 0.02em; text-decoration: none; display: inline-block;
      transition: border-color 0.2s, color 0.2s; cursor: pointer;
    }
    .btn-ghost:hover { border-color: var(--accent); color: var(--accent); }

    /* ── HERO ── */
    #b2b-online-growth { min-height: 100vh; display: flex; align-items: center; padding: 112px 0 76px; position: relative; overflow: hidden; }
    .hero-bg { position: absolute; inset: 0; z-index: 0;
      background: radial-gradient(ellipse 60% 50% at 72% 38%, rgba(79,142,247,0.08) 0%, transparent 70%),
                  radial-gradient(ellipse 40% 60% at 18% 82%, rgba(79,142,247,0.04) 0%, transparent 60%); }
    .hero-bg::after { content:''; position:absolute; inset:0;
      background-image: linear-gradient(rgba(79,142,247,0.04) 1px,transparent 1px), linear-gradient(90deg,rgba(79,142,247,0.04) 1px,transparent 1px);
      background-size: 84px 84px; -webkit-mask-image: radial-gradient(ellipse 80% 80% at 50% 50%,#000 0%,transparent 100%); mask-image: radial-gradient(ellipse 80% 80% at 50% 50%,#000 0%,transparent 100%); }
    .hero-inner { position: relative; z-index: 1; max-width: 840px; }
    .hero-eyebrow { display:inline-flex; align-items:center; gap:10px; margin-bottom:30px; font-family:var(--font-head); font-size:12px; font-weight:500; letter-spacing:0.12em; text-transform:uppercase; color:var(--accent); }
    .hero-eyebrow::before { content:''; width:28px; height:1px; background:var(--accent); }
    .hero-h1 { font-family:var(--font-head); font-size:clamp(38px,5.45vw,68px); font-weight:700; line-height:1.08; letter-spacing:-0.02em; margin-bottom:24px; }
    .hero-h1 em { font-style:normal; color:var(--accent); }
    .hero-sub { font-size:clamp(15.5px,1.6vw,18px); color:var(--muted); max-width:620px; margin-bottom:38px; font-weight:300; }
    .hero-actions { display:flex; flex-wrap:wrap; gap:14px; margin-bottom:50px; }
    .hero-industries { display:flex; flex-wrap:wrap; gap:10px; }
    .hero-industries span { font-size:12px; color:var(--muted); padding:5px 12px; border:1px solid rgba(255,255,255,0.08); border-radius:2px; font-family:var(--font-head); letter-spacing:0.03em; text-transform:uppercase; }

    /* ── SECTION SHARED ── */
    section { padding: 88px 0; }
    .section-label { font-family:var(--font-head); font-size:11.5px; font-weight:500; letter-spacing:0.14em; text-transform:uppercase; color:var(--accent); margin-bottom:20px; display:flex; align-items:center; gap:10px; }
    .section-label::before { content:''; width:20px; height:1px; background:var(--accent); }
    .section-h2 { font-family:var(--font-head); font-size:clamp(28px,3.5vw,44px); font-weight:700; line-height:1.15; letter-spacing:-0.02em; margin-bottom:20px; }
    .section-body { color:var(--muted); font-size:16px; line-height:1.8; font-weight:300; margin-bottom:16px; }

    /* ── PROBLEM ── */
    #b2b-online-clarity-gap { background:var(--bg2); }
    .problem-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:start; }
    .problem-points { margin-top:40px; display:flex; flex-direction:column; gap:24px; }
    .problem-point { display:flex; gap:18px; align-items:flex-start; }
    .problem-point-num { font-family:var(--font-head); font-size:11px; color:var(--accent); font-weight:600; letter-spacing:0.08em; min-width:28px; padding-top:3px; }
    .problem-point p { font-size:15px; color:var(--muted); line-height:1.7; }
    .problem-point p strong { color:var(--white); font-weight:500; }
    .gap-visual { position:relative; background:var(--bg3); border:1px solid var(--border); border-radius:8px; padding:40px 36px; overflow:hidden; }
    .gap-visual::before { content:''; position:absolute; top:0; left:0; right:0; height:2px; background:linear-gradient(90deg,transparent,var(--accent),transparent); }
    .gap-item { margin-bottom:32px; }
    .gap-label { font-family:var(--font-head); font-size:11px; text-transform:uppercase; letter-spacing:0.12em; color:var(--muted); margin-bottom:10px; }
    .gap-title { font-family:var(--font-head); font-size:18px; font-weight:600; color:var(--white); margin-bottom:12px; }
    .gap-bar { height:3px; background:rgba(255,255,255,0.06); border-radius:2px; overflow:hidden; }
    .gap-bar-fill { height:100%; border-radius:2px; background:var(--accent); transition:width 1.4s ease; }
    .gap-connector { text-align:center; margin:24px 0; color:var(--muted); font-size:12px; font-family:var(--font-head); letter-spacing:0.08em; text-transform:uppercase; position:relative; }
    .gap-connector::before,.gap-connector::after { content:''; position:absolute; top:50%; width:34%; height:1px; background:var(--border); }
    .gap-connector::before { left:0; } .gap-connector::after { right:0; }
    .gap-note { margin-top:32px; padding-top:26px; border-top:1px solid var(--border); font-size:14px; color:var(--muted); line-height:1.7; }

    /* ── EARLY CTA BAND ── */
    #buyer-confidence-gap { padding:80px 0; background:var(--bg); }
    .cta-band { background:var(--bg3); border:1px solid var(--border); border-radius:8px; padding:52px 56px; display:flex; align-items:center; justify-content:space-between; gap:40px; position:relative; overflow:hidden; }
    .cta-band::before { content:''; position:absolute; top:0; left:0; bottom:0; width:3px; background:var(--accent); }
    .cta-band-text h2 { font-family:var(--font-head); font-size:clamp(22px,2.5vw,30px); font-weight:700; line-height:1.2; margin-bottom:10px; }
    .cta-band-text p { color:var(--muted); font-size:15px; max-width:480px; }

    /* ── BUYER QUESTIONS (3+2 staggered) ── */
    #buyer-confidence-section { background:var(--bg2); }
    .questions-header { max-width:620px; margin-bottom:56px; }
    .q-row { display:grid; gap:2px; margin-bottom:2px; }
    .q-row.top { grid-template-columns:repeat(3,1fr); }
    .q-row.bottom { grid-template-columns:repeat(2,1fr); max-width:66%; }
    .q-card { background:var(--bg3); padding:34px 28px; border:1px solid var(--border); transition:border-color 0.25s, transform 0.25s; }
    .q-card:hover { border-color:rgba(79,142,247,0.4); transform:translateY(-3px); }
    .q-num { font-family:var(--font-head); font-size:11px; color:var(--accent); font-weight:600; letter-spacing:0.1em; margin-bottom:16px; display:block; }
    .q-text { font-family:var(--font-head); font-size:18px; font-weight:600; color:var(--white); line-height:1.35; }
    .q-sub { font-size:13.5px; color:var(--muted); margin-top:10px; line-height:1.6; }

    /* ── WHAT WE IMPROVE ── */
    #what-we-improve { background:var(--bg); }
    .improve-header { max-width:660px; margin-bottom:60px; }
    .improve-map { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; }
    .improve-node { background:var(--bg3); border:1px solid var(--border); padding:32px 28px; text-decoration:none; display:block; transition:border-color 0.25s, background 0.25s; }
    .improve-node:hover { border-color:rgba(79,142,247,0.5); background:rgba(79,142,247,0.04); }
    .node-icon { width:36px; height:36px; margin-bottom:16px; display:flex; align-items:center; }
    .node-icon svg { width:22px; height:22px; stroke:var(--accent); fill:none; stroke-width:1.5; }
    .node-title { font-family:var(--font-head); font-size:15px; font-weight:600; color:var(--white); margin-bottom:8px; }
    .node-desc { font-size:13px; color:var(--muted); line-height:1.6; }
    .node-arrow { display:inline-flex; align-items:center; gap:6px; margin-top:16px; font-size:12px; color:var(--accent); font-family:var(--font-head); font-weight:500; letter-spacing:0.03em; }

    /* ── WHO WE HELP ── */
    #who-we-help { background:var(--bg2); }
    .help-header { max-width:620px; margin-bottom:56px; }
    .industry-tiles { display:grid; grid-template-columns:repeat(5,1fr); gap:2px; }
    .industry-tile { background:var(--bg3); border:1px solid var(--border); padding:26px 22px; text-decoration:none; transition:border-color 0.25s, background 0.25s; position:relative; overflow:hidden; }
    .industry-tile::after { content:''; position:absolute; bottom:0; left:0; right:0; height:2px; background:var(--accent); transform:scaleX(0); transform-origin:left; transition:transform 0.3s; }
    .industry-tile:hover { border-color:rgba(79,142,247,0.35); background:rgba(79,142,247,0.03); }
    .industry-tile:hover::after { transform:scaleX(1); }
    .tile-name { font-family:var(--font-head); font-size:14px; font-weight:600; color:var(--white); margin-bottom:8px; line-height:1.3; }
    .tile-sub { font-size:12.5px; color:var(--muted); line-height:1.5; }

    /* ── WHY DIFFERENT ── */
    #before-campaigns { background:var(--bg); }
    .diff-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
    .diff-left p { color:var(--muted); font-size:16px; line-height:1.8; margin-bottom:16px; }
    .diff-cols { display:grid; grid-template-columns:1fr 1px 1fr; background:var(--bg3); border:1px solid var(--border); border-radius:8px; overflow:hidden; }
    .diff-col { padding:36px 30px; }
    .diff-divider { background:var(--border); }
    .diff-col-label { font-family:var(--font-head); font-size:11px; text-transform:uppercase; letter-spacing:0.12em; margin-bottom:22px; }
    .diff-col-label.typical { color:var(--muted); } .diff-col-label.tspace { color:var(--accent); }
    .diff-item { display:flex; align-items:flex-start; gap:10px; margin-bottom:14px; font-size:14px; }
    .diff-item.typical-item { color:var(--muted-dim); } .diff-item.tspace-item { color:var(--white); }
    .diff-dot { width:6px; height:6px; border-radius:50%; flex-shrink:0; margin-top:7px; }
    .typical-item .diff-dot { background:var(--muted-dim); } .tspace-item .diff-dot { background:var(--accent); }

    /* ── APPROACH ── */
    #before-campaigns-approach { background:var(--bg2); }
    .approach-header { max-width:620px; margin-bottom:60px; }
    .approach-path { display:flex; align-items:stretch; }
    .approach-step { flex:1; background:var(--bg3); border:1px solid var(--border); padding:34px 22px; position:relative; text-align:center; }
    .approach-step:not(:last-child)::after { content:'\2192'; position:absolute; right:-13px; top:50%; transform:translateY(-50%); color:var(--accent); font-size:18px; z-index:2; background:var(--bg2); padding:4px; }
    .step-num { font-family:var(--font-head); font-size:11px; color:var(--accent); letter-spacing:0.1em; margin-bottom:12px; display:block; }
    .step-title { font-family:var(--font-head); font-size:15px; font-weight:600; color:var(--white); margin-bottom:8px; }
    .step-desc { font-size:13px; color:var(--muted); line-height:1.6; }

    /* ── OUTCOMES ── */
    #better-business-opportunities { background:var(--bg); }
    .outcomes-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
    .outcomes-left > p { color:var(--muted); font-size:16px; line-height:1.8; margin-bottom:36px; }
    .outcome-list { display:flex; flex-direction:column; gap:14px; }
    .outcome-item { display:flex; gap:16px; align-items:flex-start; padding:18px 20px; background:var(--bg3); border:1px solid var(--border); border-radius:4px; }
    .outcome-check { width:20px; height:20px; flex-shrink:0; border-radius:50%; background:rgba(79,142,247,0.12); display:flex; align-items:center; justify-content:center; margin-top:2px; }
    .outcome-check svg { width:10px; height:10px; stroke:var(--accent); stroke-width:2.5; fill:none; }
    .outcome-text { font-size:14px; color:var(--white); font-weight:500; }
    .trust-panel { background:var(--bg3); border:1px solid var(--border); border-radius:8px; padding:48px 40px; position:relative; overflow:hidden; }
    .trust-panel::before { content:''; position:absolute; top:0; left:0; right:0; height:2px; background:linear-gradient(90deg,var(--accent),transparent); }
    .trust-panel h3 { font-family:var(--font-head); font-size:22px; font-weight:700; margin-bottom:12px; }
    .trust-panel p { color:var(--muted); font-size:15px; line-height:1.7; }
    .trust-statement { margin-top:30px; padding-top:26px; border-top:1px solid var(--border); font-family:var(--font-head); font-size:14px; color:var(--muted); font-style:italic; line-height:1.6; }

    /* ── SEARCH & AI ── */
    #search-ai-visibility { background:var(--bg2); }
    .ai-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:start; }
    .ai-right { margin-top:54px; }
    .ai-points { display:flex; flex-direction:column; gap:18px; }
    .ai-point { display:flex; gap:16px; align-items:flex-start; padding:20px; background:var(--bg3); border:1px solid var(--border); border-radius:4px; }
    .ai-icon { width:32px; height:32px; flex-shrink:0; background:rgba(79,142,247,0.1); border-radius:4px; display:flex; align-items:center; justify-content:center; }
    .ai-icon svg { width:16px; height:16px; stroke:var(--accent); fill:none; stroke-width:1.8; }
    .ai-point-title { font-family:var(--font-head); font-size:14px; font-weight:600; color:var(--white); margin-bottom:4px; }
    .ai-point-desc { font-size:13px; color:var(--muted); line-height:1.6; }

    /* ── INSIGHTS ── */
    #b2b-growth-insights { background:var(--bg); }
    .insights-header { display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:52px; }
    .insights-header .view-all { font-family:var(--font-head); font-size:13px; color:var(--accent); text-decoration:none; font-weight:500; letter-spacing:0.03em; border-bottom:1px solid transparent; transition:border-color 0.2s; }
    .insights-header .view-all:hover { border-color:var(--accent); }
    .articles-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; }
    .article-card { background:var(--bg3); border:1px solid var(--border); padding:36px 30px; text-decoration:none; display:block; transition:border-color 0.25s; }
    .article-card:hover { border-color:rgba(79,142,247,0.4); }
    .article-tag { font-family:var(--font-head); font-size:11px; text-transform:uppercase; letter-spacing:0.12em; color:var(--accent); margin-bottom:16px; display:block; }
    .article-title { font-family:var(--font-head); font-size:17px; font-weight:600; color:var(--white); line-height:1.4; margin-bottom:12px; }
    .article-desc { font-size:14px; color:var(--muted); line-height:1.6; margin-bottom:22px; }
    .article-link { font-family:var(--font-head); font-size:12.5px; color:var(--accent); font-weight:500; letter-spacing:0.03em; }

    /* ── FINAL CTA ── */
    #review-online-growth { background:var(--bg2); }
    .final-cta-wrap { text-align:center; max-width:700px; margin:0 auto; }
    .final-cta-wrap h2 { font-family:var(--font-head); font-size:clamp(32px,4vw,52px); font-weight:700; line-height:1.1; letter-spacing:-0.02em; margin-bottom:18px; }
    .final-cta-wrap p { color:var(--muted); font-size:17px; line-height:1.7; margin-bottom:38px; }
    .final-cta-actions { display:flex; justify-content:center; flex-wrap:wrap; gap:14px; }



    /* ── FAQ ACCORDION ── */
    .sec-alt { background: var(--bg); }
    .section-head { max-width: 660px; margin-bottom: 34px; }
    .faq-list { max-width: 900px; border-top: 1px solid var(--border); }
    .faq-item { border-bottom: 1px solid var(--border); }
    .faq-q {
      width: 100%; background: transparent; border: 0; color: var(--white);
      padding: 22px 0; display: flex; align-items: center; justify-content: space-between;
      gap: 22px; text-align: left; cursor: pointer; font-family: var(--font-head);
      font-size: 17px; font-weight: 600; line-height: 1.35; letter-spacing: -0.01em;
    }
    .faq-q:hover { color: var(--accent); }
    .faq-q .icon {
      width: 28px; height: 28px; border: 1px solid var(--border); border-radius: 50%;
      display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0;
      color: var(--accent); font-size: 18px; font-weight: 400; line-height: 1;
      transition: transform 0.25s, border-color 0.25s;
    }
    .faq-item.open .faq-q .icon { transform: rotate(45deg); border-color: rgba(79,142,247,0.45); }
    .faq-a { max-height: 0; overflow: hidden; transition: max-height 0.3s ease; }
    .faq-item.open .faq-a { max-height: 220px; }
    .faq-a-inner { color: var(--muted); font-size: 15px; line-height: 1.75; padding: 0 56px 22px 0; }

    /* ── FLOATING ENQUIRY CTA ── */
    .desktop-floating-cta {
      position: fixed; right: 24px; bottom: 26px; z-index: 120;
      background: var(--accent); color: #fff; border: 1px solid rgba(255,255,255,0.12);
      border-radius: 999px; padding: 13px 20px; font-family: var(--font-head); font-size: 13px;
      font-weight: 600; letter-spacing: 0.02em; cursor: pointer;
      box-shadow: 0 14px 42px rgba(79,142,247,0.28);
      opacity: 0; transform: translateY(14px); pointer-events: none;
      transition: opacity 0.25s ease, transform 0.25s ease, background 0.2s ease;
    }
    .desktop-floating-cta.visible { opacity: 1; transform: translateY(0); pointer-events: auto; }
    .desktop-floating-cta:hover { background: var(--accent-h); }
    .mobile-sticky-cta {
      display: none; position: fixed; left: 14px; right: 14px; bottom: 12px; z-index: 120;
      background: var(--accent); color: #fff; border: 0; border-radius: 6px;
      padding: 14px 18px; font-family: var(--font-head); font-size: 14px; font-weight: 700;
      letter-spacing: 0.01em; box-shadow: 0 12px 34px rgba(0,0,0,0.38); cursor: pointer;
    }
    body.popup-open .desktop-floating-cta, body.popup-open .mobile-sticky-cta { display: none !important; }
    @media (max-width:600px) {
      .desktop-floating-cta { display:none !important; }
      .mobile-sticky-cta { display:block; }
      body { padding-bottom: 76px; }
      footer { padding-bottom: 104px; }
      .faq-q { font-size: 15.5px; padding: 18px 0; }
      .faq-a-inner { padding: 0 0 20px 0; font-size: 14px; }
    }
    @media (min-width:601px) { .mobile-sticky-cta { display:none !important; } }

    /* ── FOOTER ── */
    footer { background:var(--bg); border-top:1px solid var(--border); padding:60px 0 36px; }
    .footer-top { display:grid; grid-template-columns:1.8fr 1fr 1fr 1fr; gap:56px; margin-bottom:48px; }
    .footer-brand img { height:18px; width:auto; }
    .footer-brand p { color:var(--muted); font-size:14px; line-height:1.7; margin-top:20px; max-width:260px; }
    .footer-col h4 { font-family:var(--font-head); font-size:12px; text-transform:uppercase; letter-spacing:0.12em; color:var(--muted); margin-bottom:20px; }
    .footer-col ul { list-style:none; display:flex; flex-direction:column; gap:10px; }
    .footer-col ul li a { color:var(--muted-dim); text-decoration:none; font-size:14px; transition:color 0.2s; }
    .footer-col ul li a:hover { color:var(--white); }
    .footer-bottom { border-top:1px solid var(--border); padding-top:28px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; }
    .footer-bottom p { font-size:13px; color:var(--muted); }
    .footer-bottom a { color:var(--muted); text-decoration:none; font-size:13px; }
    .footer-bottom a:hover { color:var(--white); }

    /* ── POPUP ── */
    .popup-overlay { position:fixed; inset:0; z-index:200; background:rgba(0,0,0,0.82); backdrop-filter:blur(8px); display:none; align-items:center; justify-content:center; padding:20px; }
    .popup-overlay.open { display:flex; }
    .popup-box { background:var(--bg2); border:1px solid var(--border); border-radius:10px; width:100%; max-width:540px; padding:46px 44px; position:relative; max-height:90vh; overflow-y:auto; }
    .popup-box::before { content:''; position:absolute; top:0; left:0; right:0; height:2px; background:linear-gradient(90deg,var(--accent),transparent); }
    .popup-close { position:absolute; top:16px; right:16px; background:none; border:none; cursor:pointer; color:var(--muted); font-size:20px; line-height:1; padding:4px 8px; transition:color 0.2s; }
    .popup-close:hover { color:var(--white); }
    .popup-step { display:none; } .popup-step.active { display:block; }
    .popup-eyebrow { font-family:var(--font-head); font-size:11px; text-transform:uppercase; letter-spacing:0.14em; color:var(--accent); margin-bottom:12px; }
    .popup-title { font-family:var(--font-head); font-size:24px; font-weight:700; margin-bottom:8px; }
    .popup-intro { color:var(--muted); font-size:14px; line-height:1.6; margin-bottom:28px; }
    .form-row { margin-bottom:16px; }
    .form-grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
    .form-row label { display:block; font-family:var(--font-head); font-size:12px; font-weight:500; letter-spacing:0.05em; text-transform:uppercase; color:var(--muted); margin-bottom:7px; }
    .form-row input, .form-row select, .form-row textarea { width:100%; background:var(--bg3); border:1px solid var(--border); border-radius:4px; color:var(--white); font-family:var(--font-body); font-size:14px; padding:12px 14px; outline:none; transition:border-color 0.2s; }
    .form-row input:focus, .form-row select:focus, .form-row textarea:focus { border-color:var(--accent); }
    .form-row input.error, .form-row select.error { border-color:#ff5c5c; }
    .form-row textarea { resize:vertical; min-height:88px; }
    .form-row select option { background:var(--bg3); }
    .field-err { color:#ff7676; font-size:12px; margin-top:6px; display:none; }
    .field-err.show { display:block; }
    .form-consent { font-size:12px; color:var(--muted); margin-bottom:18px; line-height:1.6; }
    .popup-progress { display:flex; gap:6px; margin-bottom:28px; }
    .progress-dot { height:3px; flex:1; border-radius:2px; background:var(--border); transition:background 0.3s; }
    .progress-dot.active { background:var(--accent); }
    .success-msg { text-align:center; padding:30px 0; }
    .success-icon { width:60px; height:60px; border-radius:50%; background:rgba(79,142,247,0.1); display:flex; align-items:center; justify-content:center; margin:0 auto 24px; }
    .success-icon svg { width:28px; height:28px; stroke:var(--accent); stroke-width:2; fill:none; }
    .success-msg h3 { font-family:var(--font-head); font-size:22px; font-weight:700; margin-bottom:12px; }
    .success-msg p { color:var(--muted); font-size:15px; line-height:1.7; }

    /* ── SCROLL REVEAL ── */
    .reveal { opacity:0; transform:translateY(28px); transition:opacity 0.7s ease, transform 0.7s ease; }
    .reveal.visible { opacity:1; transform:none; }
    @media (prefers-reduced-motion: reduce) {
      .reveal { opacity:1; transform:none; transition:none; }
      html { scroll-behavior:auto; }
    }

    /* ── RESPONSIVE ── */
    @media (max-width:900px) {
      .problem-grid,.diff-grid,.outcomes-grid,.ai-grid { grid-template-columns:1fr; gap:48px; }
      .q-row.top { grid-template-columns:1fr 1fr; }
      .q-row.bottom { grid-template-columns:1fr 1fr; max-width:100%; }
      .improve-map { grid-template-columns:1fr 1fr; }
      .industry-tiles { grid-template-columns:1fr 1fr; }
      .articles-grid { grid-template-columns:1fr; }
      .approach-path { flex-direction:column; gap:2px; }
      .approach-step { padding:28px 22px; }
      .approach-step:not(:last-child)::after { content:'\2193'; right:unset; left:50%; transform:translateX(-50%); top:unset; bottom:-13px; }
      .footer-top { grid-template-columns:1fr 1fr; gap:40px; }
      .cta-band { flex-direction:column; align-items:flex-start; padding:40px 32px; }
      .diff-cols { grid-template-columns:1fr; } .diff-divider { display:none; }
      .ai-right { margin-top:0; }
    }
    @media (max-width:600px) {
      section { padding:68px 0; }
      .hero-h1 { font-size:34px; }
      .q-row.top, .q-row.bottom { grid-template-columns:1fr; }
      .improve-map { grid-template-columns:1fr; }
      .industry-tiles { grid-template-columns:1fr 1fr; }
      .footer-top { grid-template-columns:1fr; gap:32px; }
      .popup-box { padding:36px 24px; } .form-grid-2 { grid-template-columns:1fr; }
      nav .nav-links, nav .nav-cta-desktop { display:none; }
      .hamburger { display:flex; }
      .insights-header { flex-direction:column; align-items:flex-start; gap:16px; }
    }
  


/* ============================================================
   TSPACE GLOBAL — GLOBAL PATCH + SSG ADDITIONS
   ============================================================ */
html, body { overflow-x: hidden; }
.nav-logo img, .footer-brand img { alt: "Tspace Global logo"; }
.mobile-menu { display: none; }
.mobile-menu.open { display: flex; }
.mobile-menu a { min-height: 44px; }
body.menu-open { overflow: hidden; }
@media (max-width: 768px) {
  nav .nav-links, nav .nav-cta-desktop { display: none !important; }
  .hamburger { display: flex !important; }
  .mobile-menu { position: fixed; top: 58px; left: 0; right: 0; max-height: calc(100vh - 58px); overflow-y: auto; }
  .mobile-menu:not(.open) { display: none !important; }
}

/* Desktop floating CTA + mobile sticky CTA */
.desktop-floating-cta {
  position: fixed; right: 24px; bottom: 28px; z-index: 98;
  opacity: 0; transform: translateY(12px); pointer-events: none;
  background: var(--accent); color: #fff; border: none; border-radius: 4px;
  padding: 13px 18px; font-family: var(--font-head); font-size: 13px; font-weight: 600;
  box-shadow: 0 10px 34px rgba(79,142,247,.22); cursor: pointer;
  transition: opacity .25s, transform .25s, background .2s;
}
.desktop-floating-cta.visible { opacity: 1; transform: translateY(0); pointer-events: auto; }
.desktop-floating-cta:hover { background: var(--accent-h); }
.mobile-sticky-cta {
  position: fixed; left: 16px; right: 16px; bottom: 14px; z-index: 98;
  display: none; background: var(--accent); color: #fff; border: none; border-radius: 5px;
  padding: 14px 16px; font-family: var(--font-head); font-size: 14px; font-weight: 700;
  box-shadow: 0 10px 34px rgba(79,142,247,.28); text-align: center;
}
body.popup-open .desktop-floating-cta, body.popup-open .mobile-sticky-cta { display: none !important; }
@media (max-width: 600px) {
  .desktop-floating-cta { display: none !important; }
  .mobile-sticky-cta { display: block; }
  body { padding-bottom: 72px; }
}
@media (min-width: 601px) { .mobile-sticky-cta { display: none !important; } }

/* FAQ accordion cleaner look */
.faq-list { max-width: 900px; }
.faq-q { width:100%; text-align:left; }
.faq-item.open .faq-a { max-height: 420px; }
.faq-q[aria-expanded="true"] .icon { transform: rotate(45deg); }

/* Signs/cards spacing fix */
.check-item { align-items:flex-start; }
.check-copy h3, .check-text h3 { font-family:var(--font-head); font-size:15px; line-height:1.45; color:var(--white); margin:0 0 4px; }
.check-copy p, .check-text p { color:var(--muted); font-size:13px; line-height:1.55; margin:0; }
.check-text { display:block; }
.check-text span { display:block; margin-top:3px; }
.tile h3 { line-height:1.35; }
.tile p { margin-top:8px; }

/* Contact responsive fix */
.contact-layout { display:grid; grid-template-columns:1.2fr 1fr; gap:80px; align-items:start; }
.contact-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px; }
@media (max-width: 768px) {
  .contact-layout { grid-template-columns:1fr !important; gap:36px !important; }
  .contact-form-grid, .form-grid-2 { grid-template-columns:1fr !important; }
  .contact-side { margin-top:0 !important; }
  #contact-form .btn-primary { width:100%; }
  .footer-bottom { align-items:flex-start; }
}

/* Footer view-all clarity */
.footer-col .view-all-link { color: var(--accent); }

/* Slightly reduce over-spacious feel */
@media (min-width: 901px) {
  .page-hero { padding-top: 130px; padding-bottom: 70px; }
}
