.gc-home{
    --mint-300:#A9F0DE;
    --mint-500:#3FDCB8;
    --mint-600:#2BBE9E;
    --mint-700:#177A64;
    --ink-900:#0A0C0D;
    --ink-700:#34393B;
    --ink-500:#5B6260;
    --paper-0:#FBFDFC;
    --paper-1:#F1F7F4;
    --line-200:#DCEAE4;
    --line-800:#1E2422;
    --font-display:'Plus Jakarta Sans', system-ui, sans-serif;
    --font-body:'IBM Plex Sans', system-ui, sans-serif;
    --font-mono:'IBM Plex Mono', ui-monospace, monospace;
  }

  .gc-home, .gc-home *{box-sizing:border-box;}
  .gc-home{
    margin:0 !important;
    background:var(--paper-0) !important;
    color:var(--ink-900) !important;
    font-family:var(--font-body);
    font-size:16px !important;
    -webkit-font-smoothing:antialiased;
  }
  .gc-home img{max-width:100%;}
  .gc-home h1, .gc-home h2, .gc-home h3{
    font-family:var(--font-display);
    font-weight:800;
    line-height:1.05;
    text-wrap:balance;
    margin:0 !important;
  }
  .gc-home p{margin:0 !important; color:var(--ink-700) !important;}
  .gc-home a{color:inherit !important;}
  .eyebrow{
    font-family:var(--font-mono);
    font-weight:600;
    font-size:14.98px;
    letter-spacing:.14em !important;
    text-transform:uppercase;
  }
  .wrap{max-width:1260px; margin:0 auto !important; padding:0 32px !important;}
  @media (max-width:640px){ .wrap{padding:0 20px !important;} }

  /* ---- proposal banner ---- */
  .proposal-bar{
    background:var(--ink-900) !important;
    color:var(--mint-300) !important;
    font-family:var(--font-mono);
    font-size:14.98px;
    letter-spacing:.06em !important;
    text-align:center !important;
    padding:8px 16px !important;
    border-bottom:1px solid var(--line-800) !important;
  }

  /* ---- nav ---- */
  header.site{
    position:sticky; top:0; z-index:20;
    background:rgba(251,253,252,.92) !important;
    backdrop-filter:blur(8px);
    border-bottom:1px solid var(--line-200) !important;
  }
  /* twentytwenty theme sets #site-content{overflow:hidden}, which breaks position:sticky on header.site */
  #site-content{overflow:visible !important;}
  .gc-home nav{
    display:flex; align-items:center; justify-content:space-between;
    padding:16px 0 !important;
  }
  div.header-top{ display:flex !important; justify-content:center !important; padding:16px 32px 4px !important; max-width:1260px !important; margin:0 auto !important; }
  nav.header-navrow{ display:flex !important; flex-wrap:nowrap !important; align-items:center !important; justify-content:space-between !important; padding:0 32px 14px !important; max-width:1260px !important; margin:0 auto !important; }
  .header-navrow .btn-mint{ margin-left:auto !important; }
  .nav-home{ display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:9px; color:var(--ink-700); margin-right:6px; flex-shrink:0; }
  .nav-home svg{ width:19px; height:19px; }
  .nav-home:hover{ background:var(--paper-1); color:var(--mint-700); }
  @media (max-width:900px){ .header-navrow .navlinks{ display:none; } }
  .logo{
    display:flex; align-items:center; gap:10px;
    font-family:var(--font-display); font-weight:800; font-size:21.84px;
    letter-spacing:-.01em !important;
    padding:0 !important;
  }
  img.logo-img{height:64px !important; width:auto !important; max-width:320px !important; display:block !important; max-height:64px !important;}
  .navlinks{display:flex; gap:28px; list-style:none; margin:0 !important; padding:0 !important;}
  /* Divi's core CSS adds padding-bottom:10px to any <a> inside .et_pb_module (for its old underline hack); reset it here */
  .navlinks a, .nav-home{
    padding:0 !important;
  }
  .navlinks a{
    font-size:16px; font-weight:500; text-decoration:none; color:var(--ink-700) !important;
  }
  .navlinks a:hover{color:var(--mint-700) !important;}
  .navlinks a.is-active{color:var(--mint-700) !important; font-weight:700 !important;}
  @media (max-width:900px){ .navlinks{display:none;} }
  .btn{
    display:inline-flex; align-items:center; gap:8px;
    font-family:var(--font-body); font-weight:600; font-size:18.3px;
    padding:11px 18px !important; border-radius:9px !important; text-decoration:none;
    border:1px solid transparent !important; cursor:pointer;
    transition:transform .15s ease, box-shadow .15s ease !important;
  }
  .btn:hover{transform:translateY(-1px);}
  .btn-mint{background:var(--mint-500) !important; color:var(--ink-900) !important;}
  .btn-mint:hover{box-shadow:0 8px 20px -8px rgba(63,220,184,.7) !important;}
  .btn-ghost-dark{background:transparent !important; color:var(--paper-0) !important; border-color:rgba(251,253,252,.3) !important;}
  .btn-ghost-dark:hover{border-color:var(--mint-300) !important; color:var(--mint-300) !important;}
  .btn-line{background:transparent !important; color:var(--ink-900) !important; border-color:var(--line-200) !important;}
  .btn-line:hover{border-color:var(--mint-600) !important;}

  /* ---- hero ---- */
  .hero{
    position:relative; overflow:hidden;
    background:var(--ink-900) !important; color:var(--paper-0) !important;
    padding:88px 0 64px !important;
  }
  .hero-grid{
    position:absolute; inset:0; opacity:.55;
  }
  .hero-inner{position:relative; display:grid; gap:20px; max-width:840px;}
  .hero-grid .node{animation:node-pulse 3.6s ease-in-out infinite;}
  .hero-grid .link{stroke-dasharray:6 5; animation:link-flow 5.5s linear infinite;}
  @keyframes node-pulse{
    0%, 100%{opacity:.55; r:4;}
    50%{opacity:1; r:6;}
  }
  @keyframes link-flow{
    to{stroke-dashoffset:-110;}
  }
  .hero .eyebrow{color:var(--mint-300) !important;}
  .hero h1{font-size:clamp(43.68px, 4.2vw, 70.72px); margin-top:10px !important; max-width:14ch;}
  .hero p.lede{
    font-size:21.84px; line-height:1.6; color:#C9D3D0 !important; max-width:56ch; margin-top:4px !important;
  }
  .hero-ctas{display:flex; flex-wrap:wrap; gap:14px; margin-top:8px !important;}
  .stat-strip{
    margin-top:52px !important; padding-top:28px !important; border-top:1px solid rgba(251,253,252,.14) !important;
    display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px;
  }
  .stat-strip .num{
    font-family:var(--font-display); font-weight:800; font-size:39.52px; color:var(--mint-300) !important;
    font-variant-numeric:tabular-nums;
  }
  .stat-strip .lbl{font-size:17.47px; color:#AEB8B5 !important; margin-top:2px !important;}
  @media (max-width:640px){ .stat-strip{grid-template-columns:1fr; gap:16px;} }

  /* ---- section shells ---- */
  .gc-home section{padding:72px 0 !important;}
  .section-head{max-width:640px; margin-bottom:40px !important;}
  .section-head .eyebrow{color:var(--mint-700) !important;}
  .section-head h2{font-size:clamp(31.2px, 2.6vw, 43.68px); margin-top:10px !important;}

  /* ---- offers ---- */
  .offers{display:grid; grid-template-columns:1fr 1fr; gap:24px;}
  @media (max-width:800px){ .offers{grid-template-columns:1fr;} }
  .offer-card{
    border:1px solid var(--line-200) !important; border-radius:16px !important; padding:32px !important;
    background:var(--paper-1) !important;
    display:flex; flex-direction:column; gap:18px;
  }
  .offer-tag{
    font-family:var(--font-mono); font-size:14.98px; letter-spacing:.08em !important;
    color:var(--mint-700) !important; background:var(--mint-300) !important; display:inline-block;
    padding:4px 9px !important; border-radius:6px !important; width:fit-content;
  }
  .offer-card h3{font-size:28.08px;}
  .offer-card ul{margin:0 !important; padding:0 !important; list-style:none; display:grid; gap:9px;}
  .offer-card li{
    display:flex; gap:9px; font-size:19.14px; color:var(--ink-700) !important; align-items:flex-start;
  }
  .offer-card li::before{
    content:""; width:6px; height:6px; border-radius:2px !important; background:var(--mint-600) !important;
    margin-top:7px !important; flex:none;
  }
  .proof-line{
    font-family:var(--font-mono); font-size:16.64px; color:var(--ink-700) !important;
    border-left:2px solid var(--mint-600) !important; padding-left:12px !important; line-height:1.5;
  }
  .offer-card a.cta{
    font-weight:600; font-size:19.14px; text-decoration:none; color:var(--ink-900) !important;
    display:inline-flex; align-items:center; gap:6px; margin-top:4px !important;
  }
  .offer-card a.cta:hover{color:var(--mint-700) !important;}

  /* ---- expertise band ---- */
  .expertise{background:var(--paper-1) !important; border-top:1px solid var(--line-200) !important; border-bottom:1px solid var(--line-200) !important;}
  .expertise-row{
    display:grid; grid-template-columns:repeat(5,minmax(0,1fr));
    gap:0; position:relative;
  }
  .expertise-row::before{
    content:""; position:absolute; top:19px; left:0; right:0; height:1px;
    background:repeating-linear-gradient(to right, var(--line-200) 0 6px, transparent 6px 12px) !important;
  }
  @media (max-width:900px){ .expertise-row{grid-template-columns:repeat(2,1fr); gap:28px;} .expertise-row::before{display:none;} }
  @media (max-width:480px){ .expertise-row{grid-template-columns:1fr;} }
  .exp-item{padding:0 16px 0 0 !important; position:relative;}
  .exp-dot{
    width:12px; height:12px; border-radius:50% !important; background:var(--ink-900) !important;
    border:3px solid var(--mint-500) !important; position:relative; z-index:1; margin-bottom:14px !important;
  }
  .exp-item h4{font-family:var(--font-display); font-weight:700; font-size:20.38px; margin:0 0 6px !important;}
  .exp-item p{font-size:17.47px; color:var(--ink-500) !important;}

  /* ---- why us ---- */
  .why-grid{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px;}
  @media (max-width:900px){ .why-grid{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:480px){ .why-grid{grid-template-columns:1fr;} }
  .why-card h4{font-family:var(--font-display); font-size:21.22px; margin-bottom:8px !important;}
  .why-card p{font-size:18.3px;}
  .why-card .icon{color:var(--mint-700) !important; margin-bottom:14px !important;}

  /* ---- founder trust ---- */
  .founder{background:var(--paper-1) !important; border-top:1px solid var(--line-200) !important; border-bottom:1px solid var(--line-200) !important;}
  .founder-inner{display:grid; grid-template-columns:auto 1fr; gap:32px; align-items:center;}
  @media (max-width:640px){ .founder-inner{grid-template-columns:1fr; text-align:center !important;} }
  .founder-photo{
    width:132px; height:132px; border-radius:16px !important; object-fit:cover;
    border:1px solid var(--line-200) !important; box-shadow:0 1px 0 var(--line-200) !important;
  }
  @media (max-width:640px){ .founder-photo{margin:0 auto !important;} }
  .founder-quote{
    font-family:var(--font-display); font-weight:700; font-size:23.92px; line-height:1.4;
    color:var(--ink-900) !important; max-width:52ch; text-wrap:balance; margin-bottom:14px !important;
  }
  .founder-quote::before{content:"\201C"; color:var(--mint-600) !important;}
  .founder-quote::after{content:"\201D"; color:var(--mint-600) !important;}
  .founder-name{font-weight:700; font-size:19.55px;}
  .founder-role{font-size:17.47px; color:var(--ink-500) !important; margin-top:2px !important;}

  /* ---- case studies ---- */
  .cases{background:var(--ink-900) !important; color:var(--paper-0) !important;}
  .cases .section-head .eyebrow{color:var(--mint-300) !important;}
  .cases .section-head h2{color:var(--paper-0) !important;}
  .case-grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px;}
  @media (max-width:900px){ .case-grid{grid-template-columns:1fr;} }
  .case-card{
    border:1px solid rgba(251,253,252,.14) !important; border-radius:14px !important; padding:26px !important;
    background:rgba(251,253,252,.03) !important;
    display:flex; flex-direction:column; gap:16px;
  }
  .case-tag{
    font-family:var(--font-mono); font-size:14.56px; letter-spacing:.06em !important;
    color:var(--mint-300) !important; text-transform:uppercase;
  }
  .case-field{display:grid; gap:3px;}
  .case-field .k{font-family:var(--font-mono); font-size:14.14px; letter-spacing:.08em !important; color:#8FA09B !important; text-transform:uppercase;}
  .case-field .v{font-size:18.3px; color:#DCE4E1 !important; line-height:1.5;}

  /* ---- social proof ---- */
  .stars{display:flex; align-items:center; gap:10px;}
  .stars svg{width:16px; height:16px; fill:var(--mint-600);}
  .brands{
    display:grid; grid-template-columns:repeat(6, 1fr); gap:16px;
  }
  @media (max-width:900px){ .brands{grid-template-columns:repeat(3, 1fr);} }
  @media (max-width:480px){ .brands{grid-template-columns:repeat(2, 1fr);} }
  .brand-logo{
    display:flex; align-items:center; justify-content:center; height:76px;
    border:1px solid var(--line-200) !important; border-radius:12px !important; background:var(--paper-0) !important;
    padding:14px !important;
  }
  .brand-logo img{max-height:40px; max-width:100%; width:auto; object-fit:contain;}

  .cert-row{display:flex; flex-wrap:wrap; align-items:center; gap:14px; margin-top:20px !important;}
  .brand-featured{display:flex; justify-content:center; margin-top:32px !important; padding-top:28px !important; border-top:1px solid var(--line-200) !important;}
  .brand-featured img{height:120px; width:auto; max-width:100%; object-fit:contain;}
  .cert-badge{
    font-family:var(--font-mono); font-size:14.56px; letter-spacing:.02em !important; color:var(--mint-700) !important;
    background:var(--mint-300) !important; padding:5px 10px !important; border-radius:999px !important; white-space:nowrap;
  }

  /* ---- chat widget ---- */
  .chat-widget{position:fixed; right:22px; bottom:22px; z-index:40; display:flex; flex-direction:column; align-items:flex-end; gap:12px;}
  .shop-float{
    position:fixed; left:22px; bottom:22px; z-index:40;
    display:inline-flex; align-items:center; gap:10px;
    background:var(--ink-900) !important; color:var(--paper-0) !important; text-decoration:none;
    padding:14px 22px 14px 18px !important; border-radius:999px !important;
    box-shadow:0 14px 30px -8px rgba(10,12,13,.55) !important;
    font-family:var(--font-body); font-size:16px; font-weight:700;
  }
  .shop-float svg{width:22px; height:22px; color:var(--mint-500); flex-shrink:0;}
  .shop-float:hover{box-shadow:0 16px 34px -6px rgba(10,12,13,.6) !important;}
  @media (max-width:600px){ .shop-float{left:16px; bottom:16px; padding:12px 16px; font-size:14px;} .shop-float span{display:none;} }
  .chat-panel{
    width:280px; background:var(--paper-0) !important; border:1px solid var(--line-200) !important; border-radius:16px !important;
    box-shadow:0 20px 40px -16px rgba(10,12,13,.35) !important; padding:18px !important; display:none; flex-direction:column; gap:12px;
  }
  .chat-panel.open{display:flex;}
  .chat-panel h5{font-family:var(--font-display); font-size:19.76px; margin:0 !important;}
  .chat-panel p{font-size:17.06px; margin:0 !important;}
  .chat-option{
    display:flex; align-items:center; gap:10px; padding:10px 12px !important; border-radius:10px !important;
    border:1px solid var(--line-200) !important; text-decoration:none; color:var(--ink-900) !important; font-size:17.68px; font-weight:600;
  }
  .chat-option:hover{border-color:var(--mint-600) !important;}
  .chat-option svg{width:18px; height:18px; flex:none; color:var(--mint-700) !important;}
  .chat-toggle{
    width:72px; height:72px; border-radius:50% !important; background:var(--ink-900) !important; color:var(--mint-300) !important;
    display:flex; align-items:center; justify-content:center; border:none !important; cursor:pointer;
    box-shadow:0 14px 30px -8px rgba(10,12,13,.55) !important; position:relative !important;
  }
  .chat-toggle svg{width:32px; height:32px; position:relative; z-index:2;}
  .chat-toggle::before{
    content:""; position:absolute; inset:-7px; border-radius:50% !important; border:2px solid var(--mint-500) !important;
    opacity:.6; animation:chat-pulse 2.2s ease-out infinite;
  }
  @keyframes chat-pulse{
    0%{ transform:scale(.85); opacity:.6; }
    70%{ transform:scale(1.3); opacity:0; }
    100%{ transform:scale(1.3); opacity:0; }
  }

  /* ---- coverage / CTA ---- */
  .coverage{background:var(--ink-900) !important; color:var(--paper-0) !important; position:relative; overflow:hidden;}
  .coverage-inner{display:grid; grid-template-columns:1.1fr .9fr; gap:48px; align-items:center; position:relative;}
  @media (max-width:800px){ .coverage-inner{grid-template-columns:1fr;} }
  .coverage h2{font-size:clamp(31.2px,2.6vw,43.68px); color:var(--paper-0) !important; max-width:16ch;}
  .coverage p.lede{color:#C9D3D0 !important; margin-top:14px !important; max-width:48ch; font-size:20.38px; line-height:1.6;}
  .coverage .btn-mint{margin-top:22px !important;}
  .map-svg{width:100%; height:auto;}

  /* ---- footer ---- */
  .gc-home footer{background:var(--paper-1) !important; border-top:1px solid var(--line-200) !important;}
  .foot-grid{
    display:grid; grid-template-columns:1.4fr .8fr .8fr .8fr; gap:32px; padding:56px 0 28px !important;
  }
  @media (max-width:800px){ .foot-grid{grid-template-columns:1fr 1fr; row-gap:36px;} }
  @media (max-width:480px){ .foot-grid{grid-template-columns:1fr;} }
  .foot-grid h5{
    font-family:var(--font-mono); font-size:14.98px; letter-spacing:.08em !important; text-transform:uppercase;
    color:var(--ink-500) !important; margin:0 0 14px !important;
  }
  .foot-grid ul{list-style:none; margin:0 !important; padding:0 !important; display:grid; gap:9px;}
  .foot-grid a{text-decoration:none; font-size:18.72px; color:var(--ink-700) !important;}
  .foot-grid a:hover{color:var(--mint-700) !important;}
  .foot-bottom{
    border-top:1px solid var(--line-200) !important; padding:20px 0 !important; display:flex; justify-content:space-between;
    flex-wrap:wrap; gap:10px; font-size:16.64px; color:var(--ink-500) !important;
  }
  .social-icons{display:flex; gap:12px;}
  .social-icons a{
    width:32px; height:32px; border-radius:8px !important; border:1px solid var(--line-200) !important;
    display:flex; align-items:center; justify-content:center;
  }
  .social-icons svg{width:15px; height:15px;}
  .social-icons a:hover{border-color:var(--mint-600) !important; color:var(--mint-700) !important;}

  /* ---- reviews carousel ---- */
  .reviews-band{padding:36px 0 52px !important; background:var(--paper-1) !important; border-bottom:1px solid var(--line-200) !important;}
  .reviews-head{display:flex; align-items:center; gap:12px; margin-bottom:22px !important; flex-wrap:wrap;}
  .reviews-head .stars{display:flex; gap:3px;}
  .reviews-head .stars svg{width:16px; height:16px; fill:var(--mint-600);}
  .reviews-head .label{font-family:var(--font-mono); font-weight:600; font-size:16.64px; letter-spacing:.04em !important; color:var(--ink-700) !important; text-transform:uppercase;}
  .reviews-head .see-all{margin-left:auto !important; font-size:17.68px; font-weight:600; text-decoration:none; color:var(--mint-700) !important;}
  div.reviews-carousel{position:relative !important; max-width:640px !important; width:100% !important; margin:0 auto !important; overflow:hidden !important; display:block !important;}
  .carousel-track{display:flex; transition:transform .5s ease;}
  .carousel-slide{flex:0 0 100%; min-width:0;}
  .review-card{
    border:1px solid var(--line-200) !important; border-radius:14px !important; background:var(--paper-0) !important;
    padding:28px !important; display:flex; flex-direction:column; gap:12px; min-height:150px;
  }
  .review-card .stars svg{width:14px; height:14px; fill:var(--mint-600);}
  .review-card p{font-size:18px; line-height:1.6; color:var(--ink-700) !important;}
  .review-card cite{font-family:var(--font-mono); font-style:normal; font-size:15px; color:var(--ink-500) !important;}
  div.carousel-dots{display:flex !important; justify-content:center !important; gap:9px; margin:20px auto 0 !important; max-width:640px !important;}
  .carousel-dot{width:9px; height:9px; border-radius:50%; background:var(--line-200); border:none; cursor:pointer; padding:0;}
  .carousel-dot.is-active{background:var(--mint-600);}

  @media (prefers-reduced-motion: reduce){
    .gc-home *{transition:none !important; animation:none !important;}
  }

<
