/*
 Theme Name:   Ciao Bella Child
 Theme URI:    https://ciaobellamarketing.com
 Description:  Ciao Bella Marketing custom child theme (built on Astra)
 Author:       Ciao Bella Marketing
 Template:     astra
 Version:      2.0.0
*/

:root{
  --white:#FFFFFF;
  --cream:#FBFAF5;
  --ink:#161F1A;
  --ink-soft:#586158;
  --line:#E6E7DE;
  --card:#F5F6F0;
  --void:#081611;
  --g1:#0B5A42;
  --g2:#16A085;
  --g3:#5FE3C0;
  --gold:#D7A44E;
  --gold-soft:#E8C384;
}

body.ciao-bella{
  background:var(--white);
  color:var(--ink);
  font-family:'Inter',sans-serif;
  line-height:1.55;
  overflow-x:hidden;
}
body.ciao-bella h1, body.ciao-bella h2, body.ciao-bella h3, .cb-pop, .cb-hero-statement{
  font-family:'Poppins',sans-serif; font-weight:700; letter-spacing:-0.01em;
}
body.ciao-bella a{color:inherit; text-decoration:none;}
.cb-wrap{max-width:1180px; margin:0 auto; padding:0 40px;}
.cb-section{padding:120px 0;}
.cb-grad-text{
  background:linear-gradient(100deg, var(--g1), var(--g2) 55%, var(--g3));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}

/* NAV — solid void-black (not translucent/blurred, which is what was reading as "gray").
   A single gold line anchors it to the brand instead of trying to blend with the green. */
.cb-nav{
  position:sticky; top:0; z-index:50;
  background:var(--void);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.06);
}
.cb-nav::before{
  content:''; position:absolute; inset:0; z-index:0; pointer-events:none;
  background-image:radial-gradient(rgba(255,255,255,0.09) 1px, transparent 1.5px);
  background-size:20px 20px;
  -webkit-mask-image:linear-gradient(90deg, #000, transparent 75%);
  mask-image:linear-gradient(90deg, #000, transparent 75%);
}
.cb-nav::after{
  content:''; position:absolute; left:0; right:0; bottom:0; height:2px; z-index:0;
  background:linear-gradient(90deg, var(--g3), var(--g2) 40%, transparent 85%);
}
.cb-nav .cb-wrap{position:relative; z-index:1;}
.cb-nav .cb-wrap{display:flex; align-items:center; justify-content:space-between; padding-top:16px; padding-bottom:16px; gap:24px;}
.cb-logo{position:relative; height:44px; display:block; z-index:6; flex-shrink:0;}
.cb-logo-lockup{
  position:absolute; left:0; top:100%; transform:translateY(-32px) rotate(-3deg);
  transform-origin:left center;
  display:flex; flex-direction:column; align-items:flex-start;
  width:-webkit-max-content; width:max-content;
  transition:transform .4s cubic-bezier(.34,1.4,.64,1), filter .3s ease;
}
.cb-logo:hover .cb-logo-lockup{transform:translateY(-38px) rotate(0deg) scale(1.05);}
.cb-logo-mark{
  height:65px; width:auto; max-width:none; display:block;
  filter:drop-shadow(0 14px 22px rgba(0,0,0,0.45));
  transition:height .35s cubic-bezier(.4,0,.2,1);
}
.cb-logo:hover .cb-logo-mark{filter:drop-shadow(0 18px 28px rgba(0,0,0,0.5));}
.cb-nav.is-scrolled .cb-logo-lockup{transform:translateY(-17px) rotate(0deg);}
.cb-nav.is-scrolled .cb-logo-mark{height:34px; filter:drop-shadow(0 4px 8px rgba(0,0,0,0.3));}
@media (prefers-reduced-motion: reduce){ .cb-logo-lockup, .cb-logo-mark{transition:none;} }
@media(max-width:900px){
  .cb-logo-lockup{transform:translateY(-20px) rotate(-3deg);}
  .cb-logo-mark{height:40px;}
}
.cb-navlinks{display:flex; gap:28px; font-size:14.5px; font-weight:700; color:rgba(255,255,255,0.85); margin-left:auto; margin-right:24px;}
.cb-navlinks a{position:relative; padding:4px 0;}
.cb-navlinks a::after{content:''; position:absolute; left:0; right:100%; bottom:-2px; height:2px; border-radius:2px; background:var(--g3); transition:right .25s ease;}
.cb-navlinks a:hover{color:var(--g3);}
.cb-navlinks a:hover::after{right:0;}
@media(max-width:1080px){ .cb-navlinks{gap:20px; font-size:14px;} }
.cb-navcta-desktop{position:relative; padding-left:24px;}
.cb-navcta-desktop::before{content:''; position:absolute; left:0; top:50%; transform:translateY(-50%); width:1px; height:22px; background:rgba(255,255,255,0.16);}
.cb-navcta{
  background:#fff;
  color:var(--void); padding:13px 26px; border-radius:999px; font-size:15px; font-weight:700;
  transition:transform .2s ease, box-shadow .2s ease; cursor:pointer;
  display:inline-flex; align-items:center; gap:8px;
  box-shadow:0 10px 22px -8px rgba(0,0,0,0.35);
}
.cb-navcta svg path{stroke:var(--void);}
.cb-navcta svg{flex-shrink:0; transition:transform .2s ease;}
.cb-navcta:hover{transform:translateY(-2px); color:var(--void); box-shadow:0 14px 26px -8px rgba(0,0,0,0.4);}
.cb-navcta:hover svg{transform:translateX(2px);}

/* MOBILE NAV TOGGLE + MENU */
.cb-nav-toggle{display:none; flex-direction:column; justify-content:center; gap:5px; width:40px; height:40px; background:none; border:none; cursor:pointer; padding:0;}
.cb-nav-toggle span{display:block; width:22px; height:2.5px; background:#fff; border-radius:2px; transition:transform .2s ease, opacity .2s ease;}
.cb-nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7.5px) rotate(45deg);}
.cb-nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
.cb-nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg);}
.cb-mobile-menu{display:none; flex-direction:column; gap:4px; padding:8px 40px 24px; border-top:1px solid rgba(255,255,255,0.1); background:var(--void);}
.cb-mobile-menu a{padding:14px 0; font-size:17px; font-weight:700; color:#fff; border-bottom:1px solid rgba(255,255,255,0.1);}
.cb-mobile-menu a:hover{color:var(--gold-soft);}
.cb-mobile-menu a.cb-navcta{border-bottom:none; text-align:center; justify-content:center; margin-top:12px; color:var(--void) !important;}
.cb-mobile-menu a.cb-navcta svg path{stroke:var(--void);}
.cb-mobile-menu.is-open{display:flex;}

@media(max-width:900px){
  .cb-navlinks{display:none;}
  .cb-navcta-desktop{display:none;}
  .cb-nav-toggle{display:flex;}
  .cb-wrap{padding:0 24px;}
  .cb-mobile-menu{padding-left:24px; padding-right:24px;}
}

/* HERO — full-bleed saturated gradient (void → emerald → teal, warm gold glow) */
.cb-hero{
  position:relative; overflow:hidden; padding-bottom:64px;
  background:
    radial-gradient(60% 90% at 92% 8%, rgba(215,164,78,0.28), transparent 60%),
    radial-gradient(120% 140% at 4% -10%, rgba(255,255,255,0.10), transparent 55%),
    linear-gradient(130deg, var(--void) 0%, var(--g1) 38%, var(--g2) 72%, var(--g3) 100%);
}
.cb-hero::after{
  content:''; position:absolute; inset:0; z-index:1; pointer-events:none;
  background-image:radial-gradient(rgba(255,255,255,0.16) 1px, transparent 1.5px);
  background-size:26px 26px;
  -webkit-mask-image:radial-gradient(120% 100% at 25% 15%, #000 35%, transparent 80%);
  mask-image:radial-gradient(120% 100% at 25% 15%, #000 35%, transparent 80%);
}
.cb-hero-content{position:relative; z-index:2; max-width:800px; padding-top:44px;}
.cb-eyebrow{
  display:inline-flex; align-items:center; gap:9px;
  background:rgba(255,255,255,0.16); border:1px solid rgba(255,255,255,0.3);
  padding:8px 16px 8px 12px; border-radius:999px;
  font-size:13px; font-weight:600; letter-spacing:0.02em; color:#fff;
  margin-bottom:20px; backdrop-filter:blur(6px);
}
.cb-eyebrow svg{width:14px; height:14px; flex-shrink:0; opacity:0.85;}
.cb-hero h1.cb-hero-tagline{
  font-family:'Inter',sans-serif; font-size:14px; font-weight:700; text-transform:uppercase;
  letter-spacing:0.08em; color:rgba(255,255,255,0.72); margin-bottom:16px;
}
.cb-hero-statement{font-size:clamp(34px, 4.6vw, 58px); line-height:1.1; margin-bottom:26px; color:#fff; text-wrap:balance;}
.cb-hero-statement .cb-hl{background:linear-gradient(100deg, var(--gold-soft), var(--g3) 70%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;}
.cb-hero p{font-size:19px; color:rgba(255,255,255,0.86); max-width:580px; margin-bottom:40px;}
.cb-hero-ctas{display:flex; gap:16px; flex-wrap:wrap;}
.cb-btn-primary{
  position:relative; overflow:hidden;
  background:linear-gradient(100deg, var(--g1), var(--g2) 55%, var(--g3));
  color:#fff; padding:16px 32px; border-radius:999px; font-weight:600; font-size:15px;
  cursor:pointer; transition:transform .2s ease; display:inline-block;
  box-shadow:0 12px 28px -8px rgba(22,160,133,0.4); border:none;
}
.cb-btn-primary::before{
  content:''; position:absolute; top:0; left:-60%; width:40%; height:100%;
  background:linear-gradient(100deg, transparent, rgba(255,255,255,0.35), transparent);
  transform:skewX(-20deg); transition:left .5s ease;
}
.cb-btn-primary:hover::before{left:130%;}
.cb-btn-primary:hover{transform:translateY(-2px); color:#fff;}
@media (prefers-reduced-motion: reduce){ .cb-btn-primary::before{display:none;} }
.cb-btn-secondary{border:1px solid var(--line); padding:16px 32px; border-radius:999px; font-weight:600; font-size:15px; color:var(--ink); cursor:pointer; transition:border-color .2s ease; display:inline-block; background:var(--white);}
.cb-btn-secondary:hover{border-color:#c9c2cc; color:var(--ink);}

/* Hero/page-hero context: white-on-dark button treatment overrides the default gradient/light one above */
.cb-hero .cb-btn-primary, .cb-page-hero .cb-btn-primary{background:#fff; color:var(--ink); box-shadow:0 14px 30px -10px rgba(0,0,0,0.35);}
.cb-hero .cb-btn-primary:hover, .cb-page-hero .cb-btn-primary:hover{color:var(--ink);}
.cb-hero .cb-btn-secondary, .cb-page-hero .cb-btn-secondary{background:transparent; border-color:rgba(255,255,255,0.5); color:#fff;}
.cb-hero .cb-btn-secondary:hover, .cb-page-hero .cb-btn-secondary:hover{border-color:#fff; background:rgba(255,255,255,0.08); color:#fff;}

/* HERO — two-column grid with floating proof cards */
.cb-hero-grid{position:relative; z-index:2; display:grid; grid-template-columns:1.05fr 0.95fr; gap:40px; align-items:center; padding-top:44px;}
.cb-hero-grid .cb-hero-content{padding-top:0;}
.cb-hero-visual{position:relative; height:420px;}
.cb-card{position:absolute; background:#fff; border-radius:20px; padding:22px 24px; box-shadow:0 30px 60px -20px rgba(8,22,17,0.5); animation:cbFloat 6s ease-in-out infinite;}
.cb-card-companies{animation-delay:0s;}
.cb-card-press{animation-delay:.6s;}
.cb-card-stat{animation-delay:1.2s;}
@keyframes cbFloat{0%,100%{transform:translateY(0);} 50%{transform:translateY(-10px);}}
@media (prefers-reduced-motion: reduce){ .cb-card{animation:none;} }
.cb-card-companies{top:12px; right:8px; width:290px;}
.cb-card-companies .cb-card-label{font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:0.07em; color:var(--ink-soft); margin-bottom:14px; display:flex; align-items:center; justify-content:space-between;}
.cb-card-companies .cb-card-label span.cb-live{display:inline-flex; align-items:center; gap:5px; color:var(--g2); font-weight:600; text-transform:none; letter-spacing:0;}
.cb-card-companies .cb-live i{width:6px; height:6px; border-radius:50%; background:var(--g2); display:inline-block;}
.cb-co-row{display:flex; align-items:center; justify-content:space-between; padding:10px 0; border-top:1px solid var(--line);}
.cb-co-row:first-of-type{border-top:none;}
.cb-co-name{font-family:'Poppins',sans-serif; font-weight:700; font-size:14px; color:var(--ink);}
.cb-co-tag{font-size:11px; color:var(--ink-soft);}
.cb-card-stat{bottom:20px; left:0; width:220px; background:var(--void);}
.cb-card-stat .cb-card-label{font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:0.07em; color:rgba(255,255,255,0.55); margin-bottom:10px;}
.cb-card-stat .cb-stat-num{font-family:'Poppins',sans-serif; font-weight:800; font-size:34px; color:#fff; line-height:1; background:linear-gradient(100deg, var(--gold-soft), var(--g3) 65%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;}
.cb-card-stat .cb-stat-sub{font-size:13px; color:rgba(255,255,255,0.7); margin-top:6px;}
.cb-card-press{top:190px; right:60px; width:200px; padding:16px 18px; display:flex; align-items:center; gap:10px;}
.cb-card-press .cb-press-icon{width:34px; height:34px; border-radius:50%; flex-shrink:0; background:linear-gradient(135deg, var(--gold), var(--g1)); display:flex; align-items:center; justify-content:center; color:#fff; font-size:14px; font-weight:800; font-family:'Poppins',sans-serif;}
.cb-card-press .cb-press-text{font-size:12.5px; line-height:1.35; color:var(--ink); font-weight:500;}
.cb-card-press .cb-press-text b{display:block; font-family:'Poppins',sans-serif; font-size:13px; margin-bottom:1px;}
@media(max-width:900px){
  .cb-hero-grid{grid-template-columns:1fr;}
  .cb-hero-visual{height:340px; margin-top:8px;}
  .cb-card-companies{width:78%; right:0;}
  .cb-card-press{display:none;}
}

/* FEATURE STRIP — sits inside the gradient, bottom of hero */
.cb-feature-strip{position:relative; z-index:2; margin-top:56px; padding-top:28px; border-top:1px solid rgba(255,255,255,0.22); display:flex; flex-wrap:wrap; gap:28px 40px; justify-content:space-between;}
.cb-feature{display:flex; align-items:center; gap:10px; font-size:13.5px; font-weight:600; color:rgba(255,255,255,0.92);}
.cb-feature svg{flex-shrink:0;}
@media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto;} }

/* STATS */
.cb-stats{border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:64px 0 60px; position:relative; z-index:2; background:var(--white);}
.cb-stats-kicker{text-align:center; font-family:'Poppins',sans-serif; font-weight:700; font-size:15px; color:var(--ink-soft); margin-bottom:40px; letter-spacing:0.01em;}
.cb-stats-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:24px;}
.cb-stat{text-align:center;}
.cb-stat-icon{width:44px; height:44px; border-radius:12px; margin:0 auto 14px; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg, rgba(11,90,66,0.08), rgba(95,227,192,0.18));}
.cb-stat-icon svg{width:22px; height:22px;}
.cb-stat h2{font-size:clamp(34px,4.2vw,52px);}
.cb-stat p{color:var(--ink-soft); font-size:13px; margin-top:6px;}
@media(max-width:760px){ .cb-stats-grid{grid-template-columns:repeat(2,1fr); row-gap:36px;} }

/* SECTION HEAD */
.cb-section-head{max-width:640px; margin-bottom:56px;}
.cb-section-head .cb-tag{font-size:13px; font-weight:600; letter-spacing:0.08em; text-transform:uppercase; margin-bottom:12px; display:block;}
.cb-section-head h2{font-size:clamp(28px,3.4vw,42px); margin-bottom:16px; color:var(--ink);}
.cb-section-head p{color:var(--ink-soft); font-size:16px;}

/* EXPERTISE — credibility band, dark ground to break up the white section rhythm */
.cb-expertise{background:var(--void); padding:100px 0; position:relative; overflow:hidden;}
.cb-expertise::before{content:''; position:absolute; top:-30%; left:-10%; width:50%; height:160%; background:radial-gradient(closest-side, rgba(22,160,133,0.28), transparent 70%); filter:blur(70px); pointer-events:none;}
.cb-expertise .cb-wrap{position:relative; z-index:1;}
.cb-expertise-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:18px;}
.cb-expertise-chip{background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.1); border-radius:18px; padding:26px 22px; transition:transform .25s ease, background .25s ease;}
.cb-expertise-chip:hover{transform:translateY(-4px); background:rgba(255,255,255,0.07);}
.cb-expertise-chip .cb-service-icon{background:rgba(95,227,192,0.12); border-color:rgba(95,227,192,0.2);}
.cb-expertise-chip h3{font-size:16px; margin-bottom:8px; color:#fff;}
.cb-expertise-chip p{color:rgba(255,255,255,0.62); font-size:13.5px;}
@media(max-width:980px){ .cb-expertise-grid{grid-template-columns:repeat(2,1fr);} }
@media(max-width:560px){ .cb-expertise-grid{grid-template-columns:1fr;} .cb-expertise{padding:72px 0;} }

/* SERVICES */
.cb-services-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
.cb-service-card{background:var(--card); border:1px solid var(--line); border-radius:22px; padding:38px 32px; transition:transform .25s ease, box-shadow .25s ease;}
.cb-service-card:hover{transform:translateY(-4px); box-shadow:0 20px 40px -20px rgba(34,31,43,0.18);}
.cb-service-icon{
  width:48px; height:48px; border-radius:14px; margin-bottom:20px;
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg, rgba(11,90,66,0.10), rgba(95,227,192,0.22));
  border:1px solid rgba(11,90,66,0.14);
}
.cb-service-icon svg{width:23px; height:23px;}
.cb-service-card h3{font-size:19px; margin-bottom:10px; color:var(--ink);}
.cb-service-card p{color:var(--ink-soft); font-size:14px;}
@media(max-width:860px){ .cb-services-grid{grid-template-columns:1fr;} }

/* PORTFOLIO */
.cb-portfolio-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:20px;}
.cb-pf-card{
  position:relative; border-radius:22px; overflow:hidden; border:1px solid var(--line);
  background:var(--white); padding:40px; min-height:250px;
  display:flex; flex-direction:column; justify-content:flex-end;
  transition:transform .25s ease, box-shadow .25s ease;
}
.cb-pf-card:hover{transform:translateY(-4px); box-shadow:0 24px 48px -24px rgba(34,31,43,0.2);}
.cb-pf-tag{font-size:12px; font-weight:600; letter-spacing:0.06em; text-transform:uppercase; margin-bottom:14px;}
.cb-pf-card h3{font-size:24px; margin-bottom:10px; color:var(--ink);}
.cb-pf-card p{color:var(--ink-soft); font-size:14px; margin-bottom:18px;}
.cb-pf-link{font-size:13px; font-weight:600; display:inline-flex; align-items:center; gap:6px; color:var(--ink);}
@media(max-width:760px){ .cb-portfolio-grid{grid-template-columns:1fr;} }

/* TRUSTED */
.cb-trusted{border-top:1px solid var(--line); background:var(--cream);}
.cb-trusted .cb-wrap > p{color:var(--ink-soft); font-size:13px; letter-spacing:0.08em; text-transform:uppercase; margin-bottom:32px; text-align:center;}
.cb-logo-row{display:flex; flex-wrap:wrap; justify-content:center; gap:48px;}
.cb-logo-placeholder{font-family:'Poppins',sans-serif; font-weight:600; font-size:17px; color:var(--ink-soft); border:1px dashed var(--line); padding:14px 24px; border-radius:10px; background:var(--white);}

/* FOUNDER */
.cb-founder{background:linear-gradient(155deg, var(--void), #12241c); border-radius:26px; padding:64px; margin:0 40px; position:relative; overflow:hidden;}
.cb-founder::before{content:''; position:absolute; top:-50%; right:-20%; width:60%; height:180%; background:radial-gradient(closest-side, rgba(22,160,133,0.35), transparent 70%); filter:blur(60px);}
.cb-founder-inner{position:relative; z-index:1; max-width:1096px; margin:0 auto; display:grid; grid-template-columns:1.1fr 0.9fr; gap:56px; align-items:center;}
.cb-founder h2{font-size:clamp(26px,3vw,38px); margin-bottom:20px; color:#fff;}
.cb-founder p{color:#C9C2CC; font-size:16px; margin-bottom:16px;}
.cb-founder-badges{display:flex; flex-direction:column; gap:16px;}
.cb-badge{border:1px solid rgba(255,255,255,0.12); border-radius:16px; padding:20px 22px; background:rgba(255,255,255,0.05);}
.cb-badge .cb-k{font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:0.06em; margin-bottom:6px; display:block; color:#B3A9B0;}
.cb-badge .cb-v{font-family:'Poppins',sans-serif; font-size:18px; font-weight:700; color:#fff;}
@media(max-width:900px){ .cb-founder{padding:40px 28px; margin:0 20px;} .cb-founder-inner{grid-template-columns:1fr;} }

/* CTA */
.cb-cta-band{text-align:center;}
.cb-cta-band h2{font-size:clamp(30px,4vw,52px); margin-bottom:20px; color:var(--ink);}
.cb-cta-band p{color:var(--ink-soft); font-size:17px; margin-bottom:36px;}

.cb-footer{border-top:1px solid var(--line); padding:40px 0; color:var(--ink-soft); font-size:13px; background:var(--white);}
.cb-footer .cb-wrap{display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px;}

@media (prefers-reduced-motion: reduce) {
  html{scroll-behavior:auto;}
}

/* INTERIOR PAGE HERO — same full-bleed gradient identity as the homepage hero, shorter */
.cb-page-hero{
  position:relative; padding:76px 0 64px; overflow:hidden;
  background:
    radial-gradient(60% 120% at 92% 0%, rgba(215,164,78,0.26), transparent 60%),
    linear-gradient(130deg, var(--void) 0%, var(--g1) 45%, var(--g2) 100%);
}
.cb-page-hero-mesh{display:none;}
.cb-page-hero-content{position:relative; z-index:2; max-width:720px;}
.cb-page-hero h1{font-size:clamp(30px, 4.2vw, 48px); line-height:1.1; margin-bottom:16px; color:#fff;}
.cb-page-hero p{font-size:17px; color:rgba(255,255,255,0.86); max-width:560px;}

/* PROSE — long-form text content (agency bio, legal, etc.) */
.cb-prose{max-width:760px;}
.cb-prose p{color:var(--ink-soft); font-size:16px; margin-bottom:20px;}
.cb-prose h2{font-size:26px; margin:44px 0 16px; color:var(--ink);}
.cb-prose h3{font-size:19px; margin:32px 0 10px; color:var(--ink);}
.cb-prose ul{margin:0 0 20px 20px; color:var(--ink-soft); font-size:16px;}
.cb-prose li{margin-bottom:8px;}
.cb-prose strong{color:var(--ink);}

/* TEAM */
.cb-team-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:24px; margin-top:16px;}
.cb-team-card{background:var(--card); border:1px solid var(--line); border-radius:22px; padding:32px;}
.cb-team-card h3{font-size:19px; margin-bottom:4px; color:var(--ink);}
.cb-team-card .cb-team-role{font-size:13px; font-weight:600; text-transform:uppercase; letter-spacing:0.06em; margin-bottom:14px; display:block;}
.cb-team-card p{color:var(--ink-soft); font-size:14px;}
@media(max-width:760px){ .cb-team-grid{grid-template-columns:1fr;} }

/* CONTACT */
.cb-contact-grid{display:grid; grid-template-columns:0.9fr 1.1fr; gap:56px; align-items:start;}
.cb-contact-cards{display:flex; flex-direction:column; gap:16px;}
.cb-contact-card{background:var(--card); border:1px solid var(--line); border-radius:18px; padding:24px 26px; display:block;}
.cb-contact-card .cb-k{font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:0.06em; color:var(--ink-soft); display:block; margin-bottom:6px;}
.cb-contact-card .cb-v{font-family:'Poppins',sans-serif; font-size:18px; font-weight:700; color:var(--ink);}
.cb-form{display:flex; flex-direction:column; gap:16px;}
.cb-form label{font-size:13px; font-weight:600; color:var(--ink); margin-bottom:6px; display:block;}
.cb-form input, .cb-form textarea{
  width:100%; border:1px solid var(--line); border-radius:12px; padding:14px 16px;
  font-family:'Inter',sans-serif; font-size:15px; color:var(--ink); background:var(--white);
  transition:border-color .2s ease;
}
.cb-form input:focus, .cb-form textarea:focus{outline:none; border-color:var(--g2);}
.cb-form textarea{min-height:140px; resize:vertical;}
.cb-form-hp{position:absolute; left:-9999px; opacity:0; pointer-events:none;}
.cb-form-submit{background:linear-gradient(100deg, var(--g1), var(--g2) 55%, var(--g3)); color:#fff; border:none; padding:16px 32px; border-radius:999px; font-weight:600; font-size:15px; cursor:pointer; align-self:flex-start; transition:transform .2s ease;}
.cb-form-submit:hover{transform:translateY(-2px);}
.cb-form-note{background:var(--card); border:1px solid var(--line); border-radius:14px; padding:16px 20px; font-size:14px; color:var(--ink-soft); margin-bottom:8px;}
.cb-form-note.cb-form-success{border-color:var(--g2); color:var(--ink);}
@media(max-width:860px){ .cb-contact-grid{grid-template-columns:1fr;} }

/* SIMPLE PAGE-LEVEL WORK GRID (our-work index — reuses portfolio card look, more items) */
.cb-work-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
@media(max-width:960px){ .cb-work-grid{grid-template-columns:repeat(2,1fr);} }
@media(max-width:640px){ .cb-work-grid{grid-template-columns:1fr;} }

/* EMBEDDED LEAD FORM — used on every service/vertical page */
.cb-lead-section{background:var(--void); position:relative; overflow:hidden;}
.cb-lead-section::before{content:''; position:absolute; top:-40%; right:-10%; width:55%; height:160%; background:radial-gradient(closest-side, rgba(22,160,133,0.35), transparent 70%); filter:blur(60px); pointer-events:none;}
.cb-lead-card{position:relative; z-index:1; background:#fff; border-radius:26px; padding:48px; max-width:640px; margin:0 auto; box-shadow:0 40px 80px -30px rgba(0,0,0,0.5);}
.cb-lead-card h2{font-size:clamp(24px,2.8vw,32px); margin-bottom:10px; color:var(--ink);}
.cb-lead-card > p{color:var(--ink-soft); font-size:15px; margin-bottom:28px;}
.cb-lead-row{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
@media(max-width:560px){ .cb-lead-row{grid-template-columns:1fr;} }

/* LIVE CHAT LAUNCHER — fixed bottom-right; placeholder link to /connect/ until the GHL widget snippet is wired in */
/* Theme's default scroll-to-top FAB — turned off so it doesn't fight the chat launcher for the corner */
.ast-scroll-top-icon{display:none !important;}

.cb-chat-fab{
  position:fixed; right:24px; bottom:24px; z-index:100;
  display:inline-flex; align-items:center; gap:11px;
  padding:17px 26px 17px 18px; border-radius:999px;
  background:var(--void);
  border:1px solid rgba(255,255,255,0.14);
  box-shadow:0 22px 44px -14px rgba(0,0,0,0.6), inset 0 1px 0 rgba(255,255,255,0.08);
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
  color:#fff; font-family:'Poppins',sans-serif; font-size:15px; font-weight:700;
}
.cb-chat-fab-icon{position:relative; width:22px; height:22px; flex-shrink:0;}
.cb-chat-fab-icon svg{width:22px; height:22px; display:block; animation:cbChatBob 2.6s ease-in-out infinite;}
.cb-chat-fab-dot{position:absolute; top:-3px; right:-3px; width:9px; height:9px; border-radius:50%; background:var(--g3);}
.cb-chat-fab-dot::after{content:''; position:absolute; inset:-3px; border-radius:50%; border:1.5px solid var(--g3); animation:cbChatPing 2.4s ease-out infinite;}
.cb-chat-fab:hover{transform:translateY(-3px); background:#0F241C; box-shadow:0 26px 50px -14px rgba(0,0,0,0.65), inset 0 1px 0 rgba(255,255,255,0.1); color:#fff;}
@keyframes cbChatBob{0%,100%{transform:translateY(0) rotate(0);} 50%{transform:translateY(-3px) rotate(-4deg);}}
@keyframes cbChatPing{0%{transform:scale(1); opacity:.7;} 100%{transform:scale(2.1); opacity:0;}}
@media (prefers-reduced-motion: reduce){ .cb-chat-fab-icon svg, .cb-chat-fab-dot::after{animation:none;} }
@media(max-width:640px){ .cb-chat-fab{right:16px; bottom:16px; padding:14px 22px 14px 16px; font-size:14px;} }

/* SCROLL REVEAL — subtle fade/rise as sections enter view */
.cb-reveal{opacity:0; transform:translateY(24px); transition:opacity .6s ease, transform .6s ease;}
.cb-reveal.is-visible{opacity:1; transform:none;}
@media (prefers-reduced-motion: reduce){ .cb-reveal{opacity:1; transform:none; transition:none;} }
