/* case-study-base.css: rules shared by the case-study page templates (ai-overviews-seo-case-study, e-commerce-seo-case-study, seasonal-seo-case-study, seo-case-studies).
   Generated from the templates' former inline <style> blocks. Page-specific rules live in templates/<slug>.css. */
/* Case studies were designed on a light (300) body weight. */
.cjb-case { font-weight: 300; }
.cjb-case { --teal:#00D4AA; --blue:#0073AA; --sky:#0093CC; --deep-teal:#0A8F76; --night:#16161F; --night2:#1E1E2E; --ink:#1A1A24; --slate:#3A3A48; --grey:#6B7280; --mist:#F4F6F8; --hairline:#E5E7EB; --green:#46B450; --amber:#FFBA00; --red:#E0554E; font-family:'Raleway',sans-serif; color:var(--ink); font-size:18px; line-height:1.7; margin:0; background:#fff; }
.cjb-case *, .cjb-case *::before, .cjb-case *::after { box-sizing:border-box; }
.cjb-case .wrap { max-width:1120px; margin:0 auto; padding:0 24px; }
.cjb-case section { padding:96px 0; }
.cjb-case .eyebrow { font-family:'Montserrat',sans-serif; font-weight:700; font-size:13px; text-transform:uppercase; letter-spacing:.18em; }
.cjb-case h1 { font-family:'Josefin Sans',sans-serif; font-weight:700; font-size:clamp(36px,5vw,60px); line-height:1.05; letter-spacing:-0.015em; margin:16px 0 24px; }
.cjb-case h2 { font-family:'Josefin Sans',sans-serif; font-weight:700; font-size:clamp(30px,3.5vw,44px); line-height:1.12; letter-spacing:-0.01em; margin:12px 0 20px; }
.cjb-case h3 { font-family:'Josefin Sans',sans-serif; font-weight:600; font-size:clamp(22px,2.5vw,30px); line-height:1.15; margin:0 0 12px; }
.cjb-case p { margin:0 0 20px; max-width:64ch; }
.cjb-case .lead { font-weight:300; font-size:22px; line-height:1.55; }
.cjb-case .btn { display:inline-block; font-family:'Josefin Sans',sans-serif; font-weight:700; text-transform:uppercase; letter-spacing:.06em; font-size:15px; padding:16px 28px 13px; border-radius:8px; text-decoration:none; transition:background .2s ease; }
.cjb-case .btn-primary { background:var(--blue); color:#fff; }
.cjb-case .btn-primary:hover { background:var(--sky); color:#fff; }
.cjb-case .btn-teal { background:var(--teal); color:var(--night); }
.cjb-case .btn-teal:hover { background:#2be0bd; color:var(--night); }
.cjb-case .btn-ghost { border:2px solid var(--teal); color:var(--teal); background:transparent; }
.cjb-case .btn-ghost:hover { background:rgba(0,212,170,.1); color:var(--teal); }
.cjb-case .sec-night { background:var(--night); color:#fff; }
.cjb-case .sec-night .eyebrow { color:var(--teal); }
.cjb-case .sec-night p { color:#C7CAD1; }
.cjb-case .sec-mist { background:var(--mist); }
.cjb-case .sec-mist .eyebrow, .cjb-case .sec-white .eyebrow { color:var(--deep-teal); }
.cjb-case .hero { padding:140px 0 110px; }
.cjb-case .hero .lead { max-width:56ch; color:#C7CAD1; }
.cjb-case .hero-ctas { margin-top:36px; display:flex; gap:16px; flex-wrap:wrap; }
.cjb-case .stats { display:grid; grid-template-columns:repeat(4,1fr); gap:32px; margin-top:56px; }
.cjb-case .stat { border-top:2px solid rgba(0,212,170,.4); padding-top:20px; }
.cjb-case .stat .num { font-family:'Josefin Sans',sans-serif; font-weight:700; font-size:clamp(34px,3.6vw,48px); line-height:1; color:var(--teal); text-shadow:0 0 24px rgba(0,212,170,.35); }
.cjb-case .stat .lbl { font-size:15px; color:#C7CAD1; margin-top:10px; line-height:1.5; }
.cjb-case .chart { margin-top:48px; max-width:640px; }
.cjb-case .bar-row { display:grid; grid-template-columns:110px 1fr; align-items:center; gap:16px; margin-bottom:18px; }
.cjb-case .bar-year { font-family:'Montserrat',sans-serif; font-weight:700; font-size:13px; letter-spacing:.12em; color:#C7CAD1; }
.cjb-case .bar { height:44px; border-radius:6px; display:flex; align-items:center; padding:0 16px; font-family:'Josefin Sans',sans-serif; font-weight:700; font-size:18px; white-space:nowrap; }
.cjb-case .bar-after { width:100%; background:linear-gradient(90deg,var(--deep-teal),var(--teal)); color:var(--night); box-shadow:0 0 32px rgba(0,212,170,.3); }
.cjb-case .chart-cap { font-size:14px; color:var(--grey); margin-top:8px; }
.cjb-case .sec-night .chart-cap { color:#8b8e99; }
.cjb-case .cards { display:grid; grid-template-columns:repeat(2,1fr); gap:32px; margin-top:48px; }
.cjb-case .card { background:#fff; border:1px solid var(--hairline); border-radius:14px; padding:36px 32px; }
.cjb-case .card .step { font-family:'Montserrat',sans-serif; font-weight:700; font-size:13px; letter-spacing:.18em; text-transform:uppercase; color:var(--deep-teal); margin-bottom:14px; }
.cjb-case .card p { font-size:17px; margin-bottom:0; }
.cjb-case .tbl-scroll { overflow-x:auto; margin-top:40px; }
.cjb-case td.up { color:var(--green); font-weight:600; white-space:nowrap; }
.cjb-case .hl { list-style:none; margin:36px 0 0; padding:0; max-width:70ch; }
.cjb-case .hl li { padding:0 0 18px 34px; position:relative; }
.cjb-case .hl li::before { content:""; position:absolute; left:0; top:9px; width:18px; height:18px; border-radius:50%; background:rgba(0,212,170,.15); border:2px solid var(--teal); }
.cjb-case .note { background:var(--mist); border-left:4px solid var(--deep-teal); border-radius:0 8px 8px 0; padding:24px 28px; font-size:16px; color:var(--slate); max-width:72ch; margin-top:56px; }
.cjb-case .note p { font-size:16px; margin-bottom:0; }
.cjb-case .cta-box { text-align:center; }
.cjb-case .cta-box p { margin-left:auto; margin-right:auto; }
.cjb-case .cta-ctas { margin-top:32px; display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }
