/* ================================================================
   Shared case-study stylesheet
   Used by all case studies in /case-studies/<slug>/ that opt-in
   via <link rel="stylesheet" href="/case-studies/shared/case-study.css">
================================================================= */

:root {
  /* Real brand palette extracted from live kunaldabi.com logo */
  --red:#f03c3c; --gold:#f0b41e; --green:#00693c; --navy:#2d1e69;
  --brand-gray:#878787;
  --red-dark:#c62828; --gold-dark:#b8851a; --green-dark:#004d2c; --navy-dark:#1e1447;
  --text-dark:#0f172a; --text:#334155; --text-light:#64748b;
  --border:#e2e8f0; --off-white:#f8fafc;
  --radius:10px; --radius-lg:16px; --radius-full:999px;
  --shadow-sm:0 1px 2px rgba(0,0,0,.04), 0 2px 6px rgba(0,0,0,.04);
  --shadow-md:0 8px 24px rgba(0,0,0,.08);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;scroll-padding-top:72px;}
body{font-family:'Inter',system-ui,sans-serif;font-size:16px;line-height:1.6;color:var(--text);background:#fff;-webkit-font-smoothing:antialiased;}
img{max-width:100%;height:auto;}
a{color:inherit;}
abbr[title]{text-decoration:none;border-bottom:1px dotted var(--text-light);cursor:help;}
.container{max-width:1200px;margin:0 auto;padding:0 20px;}
.container-narrow{max-width:820px;margin:0 auto;padding:0 20px;}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);}
.skip-link{position:absolute;top:-40px;left:8px;background:var(--red);color:#fff;padding:10px 18px;border-radius:8px;font-weight:700;z-index:1000;text-decoration:none;}
.skip-link:focus{top:8px;}

.site-header{position:sticky;top:0;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);z-index:50;}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:16px 0;gap:24px;}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text-dark);}
.logo-mark img{display:block;width:36px;height:36px;border-radius:8px;}
.logo-text{font-weight:800;font-size:18px;}
.logo-text span{color:var(--red);}
.logo-sub{font-size:11px;color:var(--text-light);letter-spacing:.5px;text-transform:uppercase;}
.nav-links{display:none;gap:24px;font-size:14px;font-weight:600;}
@media (min-width:900px){.nav-links{display:flex;}.nav-links a{color:var(--text);text-decoration:none;}.nav-links a:hover{color:var(--red);}}
.header-cta{background:var(--red);color:#fff !important;padding:10px 18px;border-radius:var(--radius-full);font-weight:700;font-size:13px;text-decoration:none;box-shadow:0 6px 16px rgba(240,60,60,.3);}
.nav-toggle{display:flex;flex-direction:column;gap:4px;width:32px;height:32px;background:transparent;border:0;cursor:pointer;padding:6px;}
@media (min-width:900px){.nav-toggle{display:none;}}
.nav-toggle span{display:block;height:2px;background:var(--text-dark);}
.mobile-nav{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--navy);color:#fff;display:flex;flex-direction:column;padding:80px 32px 32px;gap:20px;transform:translateX(100%);transition:transform .3s;z-index:60;}
.mobile-nav.open{transform:translateX(0);}
.mobile-nav a{color:#fff;font-size:18px;font-weight:600;text-decoration:none;}
.mobile-cta{background:var(--red);color:#fff !important;padding:14px 20px;border-radius:var(--radius-full);text-align:center;margin-top:16px;}
.breadcrumb-bar{background:var(--off-white);border-bottom:1px solid var(--border);padding:12px 0;}
.breadcrumb{font-size:12px;color:var(--text-light);}
.breadcrumb a{color:var(--text-light);text-decoration:none;}
.breadcrumb a:hover{color:var(--red);}
.breadcrumb-current{color:var(--text-dark);font-weight:600;}
.breadcrumb-sep{margin:0 8px;}

.cs-hero{background:var(--navy);padding:64px 0 48px;color:#fff;position:relative;overflow:hidden;}
.cs-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 30% 20%, rgba(240,60,60,.12) 0%, transparent 60%), radial-gradient(ellipse at 70% 80%, rgba(240,180,30,.08) 0%, transparent 50%);}
.cs-hero-inner{position:relative;}
.cs-hero-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px;}
.cs-pill{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border-radius:var(--radius-full);font-size:11px;font-weight:700;letter-spacing:.5px;}
.cs-pill-red{background:rgba(240,60,60,.2);color:#ff9a9a;border:1px solid rgba(240,60,60,.35);}
.cs-pill-gold{background:rgba(240,180,30,.22);color:#f5d27c;border:1px solid rgba(240,180,30,.4);}
.cs-pill-green{background:rgba(0,105,60,.15);color:#86efac;border:1px solid rgba(0,105,60,.35);}
.cs-hero h1{font-family:'Playfair Display',serif;font-size:clamp(28px, 4.5vw, 48px);font-weight:900;line-height:1.15;margin-bottom:18px;}
.cs-hero h1 .accent{background:linear-gradient(120deg, var(--red), #ff7b7b);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.cs-hero h1 .accent-green{background:linear-gradient(120deg, var(--green), #86efac);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.cs-hero-sub{font-size:17px;line-height:1.6;color:#cbd5e1;margin-bottom:28px;max-width:820px;}
.cs-hero-sub strong{color:#fff;}
.cs-hero-sub mark{background:rgba(240,180,30,.2);color:#f5d27c;padding:1px 6px;border-radius:4px;}

.kpi-strip{display:grid;grid-template-columns:repeat(2, 1fr);gap:14px;margin:28px 0 24px;}
@media (min-width:768px){.kpi-strip{grid-template-columns:repeat(4, 1fr);}}
.kpi-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);padding:18px;backdrop-filter:blur(8px);}
.kpi-label{font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#94a3b8;margin-bottom:6px;}
.kpi-num{font-family:'Playfair Display',serif;font-size:clamp(22px, 5vw, 32px);font-weight:800;color:#fff;line-height:1.1;word-break:keep-all;}
.kpi-delta{font-size:12px;color:#86efac;margin-top:6px;}
.kpi-delta.neutral{color:#cbd5e1;}
.kpi-detail{font-size:11px;color:#94a3b8;margin-top:4px;}

.cs-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px;}
.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:var(--radius-full);font-weight:700;font-size:14px;text-decoration:none;border:1px solid transparent;transition:transform .15s, box-shadow .15s;}
.btn-outline{border-color:rgba(255,255,255,.55);color:#fff;}
.btn-outline:hover{border-color:#fff;background:rgba(255,255,255,.05);}

.author-byline{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);padding:22px;margin-top:28px;display:flex;gap:16px;flex-wrap:wrap;}
.author-avatar img{width:56px;height:56px;border-radius:50%;border:2px solid rgba(240,180,30,.4);}
.author-info{flex:1;min-width:220px;}
.author-meta{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:#94a3b8;}
.author-name{font-family:'Playfair Display',serif;font-size:20px;font-weight:800;color:#fff;margin-top:2px;}
.author-title{font-size:13px;color:#cbd5e1;margin-top:2px;}
.author-credentials{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;}
.author-cred{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-full);font-size:11px;color:#e2e8f0;}
.author-cred.gold{background:rgba(240,180,30,.15);border-color:rgba(240,180,30,.3);color:#f5d27c;}
.author-pub-date{font-size:11px;color:#94a3b8;margin-top:10px;}

.media-strip{background:#fff;border-bottom:1px solid var(--border);padding:28px 0;}
.media-label{text-align:center;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-light);font-weight:700;margin-bottom:18px;}
.media-logos{display:flex;flex-wrap:wrap;justify-content:center;gap:28px;align-items:center;}
.media-logos img{height:22px;opacity:.55;filter:grayscale(1);transition:.2s;}
.media-logos img:hover{opacity:1;filter:grayscale(0);}

.glance-section{background:var(--off-white);padding:32px 0;border-bottom:1px solid var(--border);}
.glance-grid{display:grid;grid-template-columns:repeat(2, 1fr);gap:16px;}
@media (min-width:768px){.glance-grid{grid-template-columns:repeat(4, 1fr);}}
.glance-item{display:flex;align-items:center;gap:10px;}
.glance-icon{font-size:24px;flex-shrink:0;}
.glance-label{font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--text-light);}
.glance-value{font-size:14px;font-weight:700;color:var(--text-dark);}

.section{padding:64px 0;}
.section-light{background:var(--off-white);}
.eyebrow{display:inline-block;background:rgba(240,180,30,.12);color:#856b2e;padding:5px 12px;border-radius:var(--radius-full);font-size:11px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:14px;}
.section-title{font-family:'Playfair Display',serif;font-size:clamp(26px, 4vw, 38px);font-weight:900;color:var(--text-dark);line-height:1.2;margin-bottom:14px;}
.section-title .accent{background:linear-gradient(120deg, var(--red), #ff7b7b);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.section-intro{font-size:16px;line-height:1.7;color:var(--text);max-width:780px;margin-bottom:32px;}
mark{background:rgba(240,180,30,.22);color:#856b2e;padding:1px 6px;border-radius:4px;}

.split-grid{display:grid;grid-template-columns:1fr;gap:20px;}
@media (min-width:900px){.split-grid{grid-template-columns:1fr 1fr;gap:28px;}}
.challenge-card, .strategy-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px;box-shadow:var(--shadow-sm);}
.challenge-card{border-top:4px solid var(--red);}
.strategy-card{border-top:4px solid var(--green);}
.card-label{font-size:11px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:10px;}
.challenge-card .card-label{color:#b91c1c;}
.strategy-card .card-label{color:#0f7a37;}
.card-heading{font-size:19px;font-weight:800;color:var(--text-dark);margin-bottom:12px;line-height:1.3;}
.card-body{font-size:14px;line-height:1.65;color:var(--text);}
.card-body p{margin-bottom:12px;}
.card-body ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px;}
.card-body li{padding-left:22px;position:relative;font-size:14px;}
.challenge-card .card-body li::before{content:'\2022';position:absolute;left:8px;top:0;color:var(--red);font-weight:900;}
.strategy-card .card-body li::before{content:'\2713';position:absolute;left:0;top:0;color:var(--green);font-weight:900;}

.results-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:24px 0;}
.results-table{width:100%;border-collapse:collapse;font-size:14px;min-width:640px;}
.results-table th, .results-table td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--border);}
.results-table th{background:var(--off-white);font-weight:800;color:var(--text-dark);text-transform:uppercase;font-size:11px;letter-spacing:1px;}
.results-table tr:hover{background:rgba(240,60,60,.03);}
.results-table .metric-up{color:#0f7a37;font-weight:800;}
.results-table .keyword{font-family:'Courier New',monospace;font-size:12px;color:var(--text-dark);}

.client-quote{background:linear-gradient(135deg, var(--navy), #1a1f3a);color:#fff;border-radius:var(--radius-lg);padding:36px 32px;margin-top:28px;position:relative;}
.client-quote::before{content:'"';position:absolute;top:16px;left:24px;font-size:88px;line-height:1;color:var(--red);font-family:Georgia,serif;font-weight:700;opacity:.4;}
.client-quote-stars{color:#f5d27c;font-size:16px;margin-bottom:12px;letter-spacing:2px;}
.client-quote-body{font-size:17px;line-height:1.6;font-style:italic;margin-bottom:18px;padding-left:6px;}
.client-quote-author{display:flex;align-items:center;gap:12px;}
.client-quote-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg, var(--red), #ff7b7b);display:grid;place-items:center;font-weight:800;color:#fff;font-size:14px;}
.client-quote-name{font-size:14px;font-weight:700;color:#fff;}
.client-quote-role{font-size:12px;color:rgba(255,255,255,.65);}

.faq-list{display:flex;flex-direction:column;gap:12px;}
.faq-item{background:#fff;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:.2s;}
.faq-item[open]{border-color:var(--red);box-shadow:0 8px 24px rgba(240,60,60,.08);}
.faq-q{padding:20px 24px;font-size:15px;font-weight:700;color:var(--text-dark);cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:12px;}
.faq-q::-webkit-details-marker{display:none;}
.faq-q::after{content:'+';font-size:24px;color:var(--red);font-weight:300;flex-shrink:0;line-height:1;}
.faq-item[open] .faq-q::after{content:'\2212';}
.faq-a{padding:0 24px 20px;font-size:14px;color:var(--text);line-height:1.75;}
.faq-a p{margin-bottom:10px;}
.faq-a strong{color:var(--text-dark);}

.related-grid{display:grid;grid-template-columns:1fr;gap:18px;}
@media (min-width:768px){.related-grid{grid-template-columns:repeat(3, 1fr);}}
.related-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:22px;text-decoration:none;color:var(--text);transition:.2s;box-shadow:var(--shadow-sm);}
.related-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--red);}
.related-location{font-size:12px;color:var(--text-light);display:flex;align-items:center;gap:6px;margin-bottom:4px;}
.related-flag{width:18px;height:12px;object-fit:cover;border-radius:2px;}
.related-industry{font-size:11px;font-weight:700;color:var(--gold);text-transform:uppercase;letter-spacing:1px;}
.related-title{font-size:16px;font-weight:800;color:var(--text-dark);margin:10px 0;line-height:1.3;}
.related-metric{display:flex;align-items:baseline;gap:8px;}
.related-metric-num{font-family:'Playfair Display',serif;font-size:26px;font-weight:900;color:var(--red);}
.related-metric-label{font-size:11px;color:var(--text-light);text-transform:uppercase;letter-spacing:.5px;}

.site-footer{background:var(--navy);color:#cbd5e1;padding:48px 0 24px;}
.footer-grid{display:grid;grid-template-columns:1fr;gap:24px;margin-bottom:28px;}
@media (min-width:768px){.footer-grid{grid-template-columns:1.5fr 1fr 1fr 1fr;}}
.footer-desc{font-size:13px;line-height:1.6;color:#94a3b8;margin-top:10px;max-width:320px;}
.footer-heading{font-size:11px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:#f1f5f9;margin-bottom:12px;}
.footer-links{display:flex;flex-direction:column;gap:8px;}
.footer-links a{font-size:13px;color:#94a3b8;text-decoration:none;}
.footer-links a:hover{color:#fff;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:18px;font-size:11px;color:#64748b;text-align:center;}

/* CRO LAYER */
.cro-sticky-bar{position:fixed;left:0;right:0;bottom:0;z-index:90;background:linear-gradient(180deg, rgba(45,30,105,.96), rgba(45,30,105,.99));backdrop-filter:blur(12px);border-top:1px solid rgba(255,255,255,.08);box-shadow:0 -12px 36px rgba(0,0,0,.35);transform:translateY(100%);transition:transform .3s;padding:10px 14px;display:flex;align-items:center;gap:12px;}
.cro-sticky-bar.show{transform:translateY(0);}
.cro-stick-copy{flex:1;min-width:0;color:#fff;}
.cro-stick-head{font-size:13px;font-weight:800;line-height:1.25;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}
.cro-stick-sub{font-size:11px;color:#cbd5e1;}
.cro-stick-cta{flex-shrink:0;background:var(--red);color:#fff;padding:11px 16px;border-radius:var(--radius-full);font-size:13px;font-weight:800;text-decoration:none;white-space:nowrap;box-shadow:0 6px 16px rgba(240,60,60,.35);}
.cro-stick-close{background:transparent;border:0;color:#94a3b8;font-size:22px;padding:4px 6px;cursor:pointer;flex-shrink:0;}
.cro-stick-call{flex-shrink:0;width:44px;height:44px;display:grid;place-items:center;background:#00693c;color:#fff;font-size:20px;border-radius:50%;text-decoration:none;box-shadow:0 6px 16px rgba(0,105,60,.4);transition:transform .15s;}
.cro-stick-call:hover{transform:scale(1.08);}
.cro-stick-call:active{transform:scale(.96);}
@media (max-width:480px){.cro-stick-sub{display:none;}.cro-stick-cta{padding:10px 14px;font-size:12px;}.cro-stick-call{width:42px;height:42px;font-size:18px;}}

/* Floating WhatsApp button - shown site-wide on case study pages */
.wa-float{position:fixed;left:16px;bottom:84px;z-index:85;display:inline-flex;align-items:center;gap:8px;background:#25d366;color:#fff;padding:11px 14px;border-radius:999px;text-decoration:none;font-size:13px;font-weight:700;box-shadow:0 8px 24px rgba(37,211,102,.4),0 2px 8px rgba(0,0,0,.2);transition:transform .15s,box-shadow .15s;}
.wa-float:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(37,211,102,.5),0 4px 12px rgba(0,0,0,.25);}
.wa-float:active{transform:translateY(0);}
.wa-float svg{flex-shrink:0;}
.wa-label{white-space:nowrap;}
@media (max-width:480px){.wa-float{padding:10px 12px;font-size:12px;bottom:88px;}.wa-label{display:none;}.wa-float{width:48px;height:48px;padding:0;justify-content:center;border-radius:50%;}}
@media (max-width:480px){.wa-float svg{width:24px;height:24px;}}
@media print{.wa-float,.cro-stick-call{display:none!important;}}
.btn-cta-hero{background:var(--red);color:#fff;padding:13px 22px;border-radius:var(--radius-full);font-weight:800;font-size:14px;text-decoration:none;display:inline-flex;align-items:center;gap:8px;box-shadow:0 10px 24px rgba(240,60,60,.4);border:0;transition:.15s;}
.btn-cta-hero:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(240,60,60,.55);}
.pulse-dot{width:8px;height:8px;border-radius:50%;background:#fff;animation:cro-pulse 2s ease-in-out infinite;}
@keyframes cro-pulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.8;transform:scale(1.15);}}
.cro-scarcity{display:inline-flex;align-items:center;gap:8px;background:rgba(0,105,60,.12);border:1px solid rgba(0,105,60,.3);color:#0f7a37;padding:6px 12px;border-radius:var(--radius-full);font-size:12px;font-weight:700;}
.cro-scarcity-dot{width:8px;height:8px;border-radius:50%;background:#00693c;animation:cro-pulse 2s ease-in-out infinite;}
.cro-band{background:linear-gradient(135deg, rgba(45,30,105,.04), rgba(240,60,60,.06));border:1px solid var(--border);border-radius:var(--radius-lg);padding:32px 28px;margin:40px 0;position:relative;overflow:hidden;}
.cro-band::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg, var(--red), var(--gold), var(--green));}
.cro-band-grid{display:grid;grid-template-columns:1fr;gap:24px;align-items:center;}
@media (min-width:900px){.cro-band-grid{grid-template-columns:1.2fr 1fr;gap:40px;}}
.cro-band-copy h3{font-size:clamp(22px,3.2vw,30px);font-weight:800;color:var(--text-dark);line-height:1.2;margin-bottom:14px;}
.cro-band-copy h3 .accent{background:linear-gradient(120deg,var(--red),#ff7b7b);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.cro-band-copy p{font-size:15px;line-height:1.7;color:var(--text);margin-bottom:14px;}
.cro-band-reassurance{display:flex;flex-wrap:wrap;gap:8px 16px;margin:14px 0 22px;font-size:12px;color:var(--text-light);}
.cro-band-reassurance span{display:inline-flex;align-items:center;gap:6px;}
.cro-band-reassurance span::before{content:'\2713';color:var(--green);font-weight:900;}
.cro-band-proof{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow-sm);position:relative;}
.cro-band-proof::before{content:'"';position:absolute;top:-8px;left:16px;font-size:52px;line-height:1;color:var(--red);font-family:Georgia,serif;}
.cro-band-proof blockquote{font-size:14px;line-height:1.65;color:var(--text-dark);font-style:italic;padding-top:6px;}
.cro-band-proof-attr{display:flex;align-items:center;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid var(--border);}
.cro-band-proof-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg, var(--navy), #1e3a8a);color:#fff;display:grid;place-items:center;font-weight:800;font-size:13px;}
.cro-band-proof-name{font-size:13px;font-weight:700;color:var(--text-dark);}
.cro-band-proof-role{font-size:11px;color:var(--text-light);}

.cro-qualify-grid{display:grid;grid-template-columns:1fr;gap:20px;}
@media (min-width:768px){.cro-qualify-grid{grid-template-columns:1fr 1fr;gap:24px;}}
.cro-qualify-card{background:#fff;border-radius:var(--radius-lg);padding:28px;box-shadow:var(--shadow-sm);border-top:4px solid;}
.cro-qualify-card.yes{border-top-color:var(--green);}
.cro-qualify-card.no{border-top-color:var(--red);}
.cro-qualify-head{font-size:11px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:10px;}
.cro-qualify-card.yes .cro-qualify-head{color:#0f7a37;}
.cro-qualify-card.no .cro-qualify-head{color:#b91c1c;}
.cro-qualify-card h3{font-size:18px;font-weight:800;color:var(--text-dark);margin-bottom:14px;}
.cro-qualify-card ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:12px;}
.cro-qualify-card li{font-size:14px;line-height:1.55;padding-left:24px;position:relative;}
.cro-qualify-card.yes li::before{content:'\2713';position:absolute;left:0;color:var(--green);font-weight:900;}
.cro-qualify-card.no li::before{content:'\2715';position:absolute;left:0;color:var(--red);font-weight:900;}

.cta-enhanced{background:linear-gradient(135deg, #2d1e69 0%, #1a1f3a 50%, #2d1e69 100%);color:#fff;padding:60px 0;position:relative;overflow:hidden;}
.cta-enhanced::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg, var(--red), var(--gold), var(--green), var(--red));background-size:200% 100%;animation:cta-shimmer 6s linear infinite;}
@keyframes cta-shimmer{from{background-position:0 0;}to{background-position:-200% 0;}}
.cta-enhanced-inner{max-width:820px;margin:0 auto;text-align:center;padding:0 20px;}
.cta-enhanced h2{font-family:'Playfair Display',serif;font-size:clamp(28px,4vw,40px);font-weight:900;line-height:1.2;margin-bottom:18px;}
.cta-enhanced h2 .accent{background:linear-gradient(120deg,var(--red),#ff7b7b);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.cta-lede{font-size:17px;line-height:1.6;color:#cbd5e1;margin-bottom:26px;}
.cta-enhanced-offer{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius);padding:24px 22px;margin:28px 0;text-align:left;}
.cta-enhanced-offer-head{font-size:11px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold);margin-bottom:10px;}
.cta-enhanced-offer h3{font-family:'Playfair Display',serif;font-size:22px;font-weight:800;margin-bottom:16px;}
.cta-bullets{list-style:none;padding:0;display:grid;grid-template-columns:1fr;gap:10px;}
@media (min-width:768px){.cta-bullets{grid-template-columns:1fr 1fr;gap:10px 20px;}}
.cta-bullets li{font-size:14px;line-height:1.5;color:#e2e8f0;padding-left:24px;position:relative;}
.cta-bullets li::before{content:'\2713';position:absolute;left:0;color:var(--green);font-weight:900;}
.cro-stats-bar{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);padding:22px 20px;border-radius:var(--radius-lg);margin:24px 0;display:grid;grid-template-columns:repeat(2, 1fr);gap:14px;text-align:center;}
@media (min-width:768px){.cro-stats-bar{grid-template-columns:repeat(4, 1fr);}}
.cro-stats-bar-num{font-family:'Playfair Display',serif;font-size:clamp(22px,3.2vw,30px);font-weight:800;color:#fff;line-height:1;margin-bottom:4px;}
.cro-stats-bar-num .accent{color:var(--red);}
.cro-stats-bar-label{font-size:11px;font-weight:700;color:#cbd5e1;letter-spacing:.8px;text-transform:uppercase;}

.cro-flow{display:grid;grid-template-columns:1fr;gap:12px;margin:24px 0;}
@media (min-width:768px){.cro-flow{grid-template-columns:repeat(4, 1fr);gap:0;position:relative;}.cro-flow::before{content:'';position:absolute;top:32px;left:12%;right:12%;height:2px;background:linear-gradient(90deg, var(--red), var(--gold), var(--green));}}
.cro-flow-step{position:relative;text-align:center;padding:8px 12px;}
.cro-flow-num{width:40px;height:40px;border-radius:50%;background:#fff;border:2px solid var(--red);color:var(--red);font-size:14px;font-weight:800;display:grid;place-items:center;margin:0 auto 12px;position:relative;z-index:1;}
.cro-flow-step h5{font-size:13px;font-weight:800;color:#fff;margin-bottom:4px;}
.cro-flow-step p{font-size:12px;color:#94a3b8;line-height:1.5;}
.cro-flow-time{display:inline-block;background:rgba(240,60,60,.2);color:#ff9a9a;font-size:10px;font-weight:800;padding:2px 8px;border-radius:var(--radius-full);margin-top:6px;}

.cro-inline-form{background:#fff;border-radius:var(--radius-lg);padding:32px 28px;margin:28px 0;box-shadow:var(--shadow-sm);color:var(--text);}
.cro-inline-form h3{font-family:'Playfair Display',serif;font-size:22px;font-weight:800;color:var(--text-dark);margin-bottom:8px;}
.cro-inline-form-sub{font-size:13px;color:var(--text-light);margin-bottom:22px;}
.cro-form-row{display:grid;grid-template-columns:1fr;gap:14px;margin-bottom:14px;}
@media (min-width:640px){.cro-form-row.two-col{grid-template-columns:1fr 1fr;}}
.cro-form-field label{display:block;font-size:12px;font-weight:700;color:var(--text-dark);margin-bottom:6px;}
.cro-form-field input, .cro-form-field select, .cro-form-field textarea{width:100%;padding:11px 14px;font-size:14px;font-family:inherit;color:var(--text-dark);background:#fff;border:1px solid var(--border);border-radius:var(--radius);-webkit-appearance:none;appearance:none;}
.cro-form-field input:focus, .cro-form-field select:focus, .cro-form-field textarea:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px rgba(240,60,60,.15);}
.cro-form-field textarea{min-height:80px;resize:vertical;}
.cro-form-submit{background:var(--red);color:#fff;border:0;padding:14px 28px;border-radius:var(--radius-full);font-size:14px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;gap:8px;box-shadow:0 10px 24px rgba(240,60,60,.4);}
.cro-form-reassure{font-size:11px;color:var(--text-light);margin-top:12px;display:flex;flex-wrap:wrap;gap:6px 14px;}
.cro-form-reassure span::before{content:'\2713';color:var(--green);font-weight:900;margin-right:4px;}
.cro-book-slot{background:linear-gradient(135deg, rgba(0,105,60,.05), rgba(240,180,30,.05));border:1px dashed var(--border);border-radius:var(--radius);padding:22px 20px;margin:22px 0 0;text-align:center;}
.cro-book-slot h4{font-size:14px;font-weight:800;color:var(--text-dark);margin-bottom:6px;}
.cro-book-slot p{font-size:12px;color:var(--text-light);margin-bottom:14px;}
.cro-book-slot-btn{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--border);color:var(--text-dark);padding:10px 18px;border-radius:var(--radius-full);font-weight:700;font-size:13px;text-decoration:none;}
.cro-book-slot-btn:hover{border-color:var(--red);}
.cta-mini-proof{margin-top:24px;font-size:12px;color:#94a3b8;}
.cta-mini-proof strong{color:#f1f5f9;}
.cro-nurture{text-align:center;padding:20px 0;color:#94a3b8;font-size:13px;border-top:1px solid rgba(255,255,255,.08);margin-top:28px;}
.cro-nurture a{color:#f1f5f9;border-bottom:1px dashed rgba(255,255,255,.65);text-decoration:none;}

.cro-exit-overlay{position:fixed;inset:0;background:rgba(45,30,105,.85);backdrop-filter:blur(6px);z-index:200;display:none;align-items:center;justify-content:center;padding:20px;}
.cro-exit-overlay.show{display:flex;}
.cro-exit-modal{background:#fff;border-radius:var(--radius-lg);max-width:480px;width:100%;padding:32px 28px 28px;position:relative;box-shadow:0 40px 80px rgba(0,0,0,.4);}
.cro-exit-modal::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:linear-gradient(90deg, var(--red), var(--gold), var(--green));}
.cro-exit-close{position:absolute;top:12px;right:14px;background:transparent;border:0;font-size:22px;cursor:pointer;color:var(--text-light);padding:4px 8px;}
.cro-exit-modal h3{font-family:'Playfair Display',serif;font-size:22px;font-weight:800;color:var(--text-dark);line-height:1.25;margin-bottom:10px;padding-right:24px;}
.cro-exit-modal p{font-size:14px;line-height:1.65;color:var(--text);margin-bottom:18px;}
.cro-exit-actions{display:flex;flex-wrap:wrap;gap:10px;}
.cro-exit-actions .btn-primary{background:var(--red);color:#fff;padding:12px 22px;border-radius:var(--radius-full);font-weight:800;font-size:14px;text-decoration:none;}
.cro-exit-actions .btn-ghost{background:transparent;color:var(--text-light);padding:12px 18px;border:1px solid var(--border);border-radius:var(--radius-full);font-weight:700;font-size:13px;cursor:pointer;}

.cro-trust-bar{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:24px;margin:28px 0;display:grid;grid-template-columns:1fr;gap:16px;}
@media (min-width:768px){.cro-trust-bar{grid-template-columns:auto 1fr;gap:24px;align-items:center;}}
.cro-trust-icon{width:64px;height:64px;border-radius:14px;background:linear-gradient(135deg, rgba(0,105,60,.12), rgba(240,180,30,.08));display:grid;place-items:center;font-size:28px;margin:0 auto;}
.cro-trust-copy h4{font-size:15px;font-weight:800;color:var(--text-dark);margin-bottom:6px;}
.cro-trust-copy p{font-size:13px;color:var(--text);line-height:1.65;}
.cro-small-firm{background:rgba(240,180,30,.08);border-left:4px solid var(--gold);padding:18px 22px;margin:24px 0;border-radius:0 var(--radius) var(--radius) 0;}
.cro-small-firm p{font-size:14px;line-height:1.65;color:var(--text);}
.cro-small-firm strong{color:var(--text-dark);}
.author-cta-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px;}
.author-cta{display:inline-flex;align-items:center;gap:8px;background:var(--red);color:#fff;padding:9px 16px;border-radius:var(--radius-full);font-size:13px;font-weight:700;text-decoration:none;box-shadow:0 4px 12px rgba(240,60,60,.25);}
.author-cta-ghost{display:inline-flex;align-items:center;gap:6px;color:#94a3b8;font-size:12px;text-decoration:none;padding:8px 12px;border-radius:var(--radius-full);border:1px solid rgba(255,255,255,.15);}

/* Gallery (report screenshots) */
.gallery-section{padding:56px 0;background:var(--off-white);border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.gallery-grid{display:grid;grid-template-columns:repeat(2, 1fr);gap:12px;margin-top:28px;}
@media (min-width:768px){.gallery-grid{grid-template-columns:repeat(3, 1fr);gap:16px;}}
@media (min-width:1024px){.gallery-grid{grid-template-columns:repeat(4, 1fr);}}
.gallery-figure{position:relative;overflow:hidden;border-radius:var(--radius);border:1px solid var(--border);background:#fff;box-shadow:var(--shadow-sm);transition:transform .2s, box-shadow .2s, border-color .2s;cursor:pointer;}
.gallery-figure:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--red);}
.gallery-figure img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;}
.gallery-figure figcaption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top, rgba(45,30,105,.85), transparent);color:#fff;padding:20px 14px 10px;font-size:11px;font-weight:700;letter-spacing:.3px;opacity:0;transition:opacity .2s;}
.gallery-figure:hover figcaption{opacity:1;}

/* Lightbox */
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:210;display:none;align-items:center;justify-content:center;padding:40px 20px;}
.lightbox.open{display:flex;}
.lightbox-img{max-width:100%;max-height:90vh;object-fit:contain;border-radius:var(--radius);box-shadow:0 20px 60px rgba(0,0,0,.5);}
.lightbox-close{position:absolute;top:20px;right:20px;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.12);border:0;color:#fff;font-size:24px;cursor:pointer;display:grid;place-items:center;}
.lightbox-close:hover{background:rgba(255,255,255,.55);}
.lightbox-caption{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);background:rgba(0,0,0,.6);color:#fff;padding:10px 20px;border-radius:var(--radius-full);font-size:13px;max-width:90%;text-align:center;}
.lightbox-prev, .lightbox-next{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.12);border:0;color:#fff;font-size:22px;cursor:pointer;display:grid;place-items:center;}
.lightbox-prev{left:20px;} .lightbox-next{right:20px;}
.lightbox-prev:hover, .lightbox-next:hover{background:rgba(255,255,255,.55);}
.lightbox-counter{position:absolute;top:20px;left:20px;color:#fff;font-size:13px;background:rgba(0,0,0,.5);padding:6px 12px;border-radius:var(--radius-full);}

/* =============================================================
   VISUAL POLISH v2 - 10x richer layer
   Added on 20 April 2026. Overrides base styles where needed.
============================================================= */

/* Smoother base motion */
html { scroll-behavior:smooth; }
*, *::before, *::after { transition-timing-function:cubic-bezier(.2,.8,.2,1); }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration:.01ms !important; transition-duration:.01ms !important; }
}

/* Richer typography scale */
body { -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; text-rendering:optimizeLegibility; }
h1, h2, h3, h4, h5 { letter-spacing:-.015em; }

/* --------------- HERO: gradient mesh + floating shapes --------------- */
.cs-hero {
  background:
    radial-gradient(ellipse 80% 55% at 18% 25%, rgba(240,60,60,.16) 0%, transparent 55%),
    radial-gradient(ellipse 55% 40% at 82% 72%, rgba(240,180,30,.11) 0%, transparent 55%),
    radial-gradient(ellipse 45% 70% at 50% 110%, rgba(0,105,60,.08) 0%, transparent 60%),
    linear-gradient(135deg, #2d1e69 0%, #151a3a 50%, #2d1e69 100%);
  padding:88px 0 64px;
  isolation:isolate;
}
.cs-hero::before {
  content:'';
  position:absolute; inset:0;
  background-image:
    radial-gradient(circle at 25% 25%, rgba(255,255,255,.04) 0%, transparent 40%),
    radial-gradient(circle at 75% 75%, rgba(255,255,255,.03) 0%, transparent 40%);
  opacity:.8;
  pointer-events:none;
  z-index:0;
}
.cs-hero::after {
  content:'';
  position:absolute; inset:0;
  background-image:
    repeating-linear-gradient(0deg, transparent 0, transparent 32px, rgba(255,255,255,.015) 32px, rgba(255,255,255,.015) 33px),
    repeating-linear-gradient(90deg, transparent 0, transparent 32px, rgba(255,255,255,.015) 32px, rgba(255,255,255,.015) 33px);
  pointer-events:none;
  mask-image:radial-gradient(ellipse at center, black 20%, transparent 75%);
  -webkit-mask-image:radial-gradient(ellipse at center, black 20%, transparent 75%);
  z-index:0;
}
.cs-hero-inner { position:relative; z-index:1; }
.cs-hero-inner::before {
  content:''; position:absolute;
  top:-120px; right:-80px;
  width:340px; height:340px;
  background:radial-gradient(circle, rgba(240,60,60,.15) 0%, transparent 70%);
  border-radius:50%;
  animation:float-orb 22s ease-in-out infinite;
  pointer-events:none;
  z-index:-1;
}
.cs-hero-inner::after {
  content:''; position:absolute;
  bottom:-60px; left:-60px;
  width:280px; height:280px;
  background:radial-gradient(circle, rgba(240,180,30,.12) 0%, transparent 70%);
  border-radius:50%;
  animation:float-orb 26s ease-in-out infinite reverse;
  pointer-events:none;
  z-index:-1;
}
@keyframes float-orb {
  0%, 100% { transform:translate(0,0) scale(1); }
  33% { transform:translate(30px,-20px) scale(1.05); }
  66% { transform:translate(-20px,30px) scale(.95); }
}

/* Hero typography bumps */
.cs-hero h1 {
  font-size:clamp(32px, 5.2vw, 54px);
  line-height:1.08;
  letter-spacing:-.025em;
  margin-bottom:22px;
  font-weight:900;
}
.cs-hero-sub {
  font-size:clamp(16px, 1.7vw, 19px);
  line-height:1.55;
  color:#d6e0ed;
  max-width:720px;
}
.cs-hero-sub strong { color:#fff; font-weight:700; }

/* Pill refinement */
.cs-pill {
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
  transition:transform .25s, box-shadow .25s;
}
.cs-pill:hover { transform:translateY(-1px); box-shadow:inset 0 1px 0 rgba(255,255,255,.1), 0 4px 12px rgba(0,0,0,.2); }

/* --------------- KPI cards: trophy treatment --------------- */
.kpi-card {
  background:linear-gradient(135deg, rgba(255,255,255,.07) 0%, rgba(255,255,255,.03) 100%);
  border:1px solid rgba(255,255,255,.12);
  position:relative;
  overflow:hidden;
  transition:transform .3s, box-shadow .3s, border-color .3s;
}
.kpi-card::before {
  content:'';
  position:absolute; inset:0;
  background:linear-gradient(135deg, rgba(240,60,60,.10) 0%, transparent 50%, rgba(240,180,30,.06) 100%);
  opacity:0;
  transition:opacity .3s;
  pointer-events:none;
}
.kpi-card::after {
  content:''; position:absolute;
  top:0; left:-100%;
  width:100%; height:100%;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.08), transparent);
  transition:left .6s;
  pointer-events:none;
}
.kpi-card:hover {
  transform:translateY(-3px);
  border-color:rgba(240,60,60,.35);
  box-shadow:0 20px 40px rgba(0,0,0,.25), 0 0 0 1px rgba(240,60,60,.25);
}
.kpi-card:hover::before { opacity:1; }
.kpi-card:hover::after { left:100%; }
.kpi-num {
  background:linear-gradient(180deg, #fff 0%, #cbd5e1 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  filter:drop-shadow(0 0 24px rgba(240,60,60,.15));
}

/* --------------- Section rhythm --------------- */
.section { position:relative; }
.section-light {
  background:linear-gradient(180deg, #fafbfc 0%, var(--off-white) 100%);
}
.section-light + .section:not(.section-light):not(.cta-enhanced),
.section:not(.section-light):not(.cta-enhanced) + .section-light { position:relative; }

/* Larger, more impactful section titles */
.section-title {
  font-size:clamp(28px, 4.2vw, 42px);
  letter-spacing:-.02em;
  line-height:1.15;
  margin-bottom:16px;
}
.section-intro {
  font-size:17px;
  line-height:1.65;
  color:#475569;
  max-width:720px;
}

/* Eyebrow refinement - gradient border */
.eyebrow {
  background:linear-gradient(90deg, rgba(240,60,60,.15), rgba(240,180,30,.15));
  color:#7a3312;
  padding:6px 14px;
  border:1px solid rgba(240,60,60,.2);
  font-weight:800;
}

/* --------------- Cards: tactile + elevated --------------- */
.challenge-card, .strategy-card {
  background:linear-gradient(180deg, #fff 0%, #fafbfc 100%);
  box-shadow:
    0 1px 2px rgba(15,23,42,.04),
    0 4px 12px rgba(15,23,42,.04),
    0 16px 40px rgba(15,23,42,.05);
  transition:transform .3s, box-shadow .3s;
  position:relative;
  overflow:hidden;
}
.challenge-card::before, .strategy-card::before {
  content:''; position:absolute;
  top:0; left:0; right:0; height:4px;
}
.challenge-card::before { background:linear-gradient(90deg, var(--red), #ff7b7b); }
.strategy-card::before { background:linear-gradient(90deg, var(--green), #86efac); }
.challenge-card:hover, .strategy-card:hover {
  transform:translateY(-4px);
  box-shadow:
    0 1px 2px rgba(15,23,42,.05),
    0 8px 24px rgba(15,23,42,.08),
    0 24px 60px rgba(15,23,42,.1);
}

/* Enhanced related cards */
.related-card {
  background:linear-gradient(180deg, #fff 0%, #fafbfc 100%);
  position:relative;
  overflow:hidden;
  transition:transform .3s, box-shadow .3s, border-color .3s;
}
.related-card::after {
  content:''; position:absolute;
  top:0; left:0; right:0;
  height:3px;
  background:linear-gradient(90deg, var(--red), var(--gold), var(--green));
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .4s;
}
.related-card:hover {
  transform:translateY(-5px);
  box-shadow:0 24px 60px rgba(15,23,42,.15);
  border-color:var(--red);
}
.related-card:hover::after { transform:scaleX(1); }
.related-metric-num {
  background:linear-gradient(120deg, var(--red) 0%, #ff7b7b 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
}

/* --------------- Testimonial glow --------------- */
.client-quote {
  background:
    radial-gradient(ellipse at 20% 30%, rgba(240,60,60,.2) 0%, transparent 50%),
    linear-gradient(135deg, var(--navy) 0%, #1a1f3a 100%);
  box-shadow:
    0 30px 80px rgba(45,30,105,.25),
    0 0 0 1px rgba(255,255,255,.08) inset;
  overflow:hidden;
  position:relative;
}
.client-quote::after {
  content:''; position:absolute;
  top:-40%; right:-10%;
  width:60%; height:180%;
  background:radial-gradient(circle, rgba(240,180,30,.08) 0%, transparent 60%);
  pointer-events:none;
}

/* --------------- Pull quote (new component) --------------- */
.pullquote {
  font-family:'Playfair Display', Georgia, serif;
  font-size:clamp(22px, 3vw, 32px);
  line-height:1.35;
  color:var(--text-dark);
  font-style:italic;
  text-align:center;
  padding:48px 32px;
  position:relative;
  max-width:820px;
  margin:40px auto;
}
.pullquote::before {
  content:'\201C';
  position:absolute; top:-10px; left:50%;
  transform:translateX(-50%);
  font-size:120px;
  color:var(--red);
  font-weight:900;
  line-height:1;
  opacity:.15;
  font-family:Georgia, serif;
}
.pullquote cite {
  display:block;
  font-family:'Inter', sans-serif;
  font-size:14px;
  font-style:normal;
  color:var(--text-light);
  margin-top:20px;
  letter-spacing:.5px;
  text-transform:uppercase;
  font-weight:700;
}

/* --------------- Metric progress bar (new component) --------------- */
.metric-bar {
  display:grid;
  grid-template-columns:1fr auto;
  gap:12px;
  align-items:center;
  padding:16px 20px;
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--radius);
  margin-bottom:10px;
  transition:border-color .3s;
}
.metric-bar:hover { border-color:var(--red); }
.metric-bar-label {
  font-family:'Courier New', monospace;
  font-size:13px;
  color:var(--text-dark);
  font-weight:700;
}
.metric-bar-track {
  grid-column:1 / -1;
  height:8px;
  background:#f1f5f9;
  border-radius:var(--radius-full);
  overflow:hidden;
  margin-top:8px;
  position:relative;
}
.metric-bar-fill {
  height:100%;
  background:linear-gradient(90deg, var(--red) 0%, #ff7b7b 50%, var(--gold) 100%);
  border-radius:var(--radius-full);
  transform-origin:left;
  animation:bar-fill 1.4s cubic-bezier(.2,.8,.2,1) forwards;
  animation-delay:var(--bar-delay, 0s);
  transform:scaleX(0);
}
@keyframes bar-fill { to { transform:scaleX(1); } }
.metric-bar-value {
  font-family:'Playfair Display', serif;
  font-size:22px;
  font-weight:800;
  color:#0f7a37;
}

/* --------------- Timeline (new component) --------------- */
.cs-timeline {
  position:relative;
  padding:20px 0;
  margin:32px 0;
}
.cs-timeline::before {
  content:''; position:absolute;
  top:0; bottom:0;
  left:24px;
  width:2px;
  background:linear-gradient(180deg, var(--red) 0%, var(--gold) 50%, var(--green) 100%);
  border-radius:2px;
}
.cs-timeline-item {
  position:relative;
  padding:12px 0 24px 56px;
}
.cs-timeline-item::before {
  content:''; position:absolute;
  left:14px; top:16px;
  width:22px; height:22px;
  border-radius:50%;
  background:#fff;
  border:3px solid var(--red);
  box-shadow:0 0 0 4px rgba(240,60,60,.12);
  z-index:1;
}
.cs-timeline-item.done::before { background:var(--green); border-color:var(--green); box-shadow:0 0 0 4px rgba(0,105,60,.15); }
.cs-timeline-day {
  font-size:11px;
  font-weight:800;
  letter-spacing:1.5px;
  text-transform:uppercase;
  color:var(--red);
  margin-bottom:4px;
}
.cs-timeline-title {
  font-size:15px;
  font-weight:700;
  color:var(--text-dark);
  margin-bottom:4px;
}
.cs-timeline-desc {
  font-size:13px;
  color:var(--text-light);
  line-height:1.55;
}

/* --------------- Buttons: gradient power --------------- */
.btn-cta-hero {
  background:linear-gradient(135deg, var(--red) 0%, #dc2626 100%);
  position:relative;
  overflow:hidden;
  box-shadow:
    0 4px 12px rgba(240,60,60,.35),
    0 10px 30px rgba(240,60,60,.25),
    inset 0 1px 0 rgba(255,255,255,.15);
}
.btn-cta-hero::before {
  content:''; position:absolute; inset:0;
  background:linear-gradient(135deg, #ff6b6b 0%, var(--red) 100%);
  opacity:0;
  transition:opacity .3s;
  pointer-events:none;
}
.btn-cta-hero:hover {
  transform:translateY(-3px);
  box-shadow:
    0 6px 18px rgba(240,60,60,.45),
    0 16px 40px rgba(240,60,60,.3),
    inset 0 1px 0 rgba(255,255,255,.2);
}
.btn-cta-hero:hover::before { opacity:1; }
.btn-cta-hero > * { position:relative; z-index:1; }

.cta-enhanced-actions .btn-primary, .cro-form-submit {
  background:linear-gradient(135deg, var(--red) 0%, #dc2626 100%);
  box-shadow:0 10px 28px rgba(240,60,60,.4), inset 0 1px 0 rgba(255,255,255,.15);
  transition:transform .2s, box-shadow .2s;
}
.cta-enhanced-actions .btn-primary:hover, .cro-form-submit:hover {
  transform:translateY(-2px);
  box-shadow:0 14px 36px rgba(240,60,60,.5), inset 0 1px 0 rgba(255,255,255,.2);
}

/* --------------- Stats bar: glow --------------- */
.cro-stats-bar {
  background:
    radial-gradient(ellipse at 50% 0%, rgba(240,60,60,.12) 0%, transparent 50%),
    radial-gradient(ellipse at 50% 100%, rgba(240,180,30,.08) 0%, transparent 50%),
    linear-gradient(135deg, #2d1e69 0%, #1a1f3a 100%);
  box-shadow:
    0 30px 60px rgba(45,30,105,.2),
    inset 0 1px 0 rgba(255,255,255,.06);
  position:relative;
}
.cro-stats-bar::before {
  content:''; position:absolute;
  top:0; left:0; right:0;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.2), transparent);
}
.cro-stats-bar-num {
  background:linear-gradient(180deg, #fff 0%, #cbd5e1 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
}
.cro-stats-bar-num .accent {
  background:linear-gradient(120deg, var(--red) 0%, #ff7b7b 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
}

/* --------------- CRO band: richer --------------- */
.cro-band {
  background:
    radial-gradient(ellipse at 10% 10%, rgba(240,60,60,.05) 0%, transparent 50%),
    radial-gradient(ellipse at 90% 90%, rgba(240,180,30,.04) 0%, transparent 50%),
    linear-gradient(135deg, #fff 0%, #fafbfc 100%);
  box-shadow:
    0 1px 2px rgba(15,23,42,.04),
    0 20px 60px rgba(15,23,42,.06);
}

/* --------------- Inline form: richer --------------- */
.cro-inline-form {
  background:#fff;
  box-shadow:
    0 1px 2px rgba(15,23,42,.04),
    0 20px 50px rgba(15,23,42,.08);
}
.cro-form-field input,
.cro-form-field select,
.cro-form-field textarea {
  transition:border-color .2s, box-shadow .2s, background .2s;
  background:#fafbfc;
}
.cro-form-field input:focus,
.cro-form-field select:focus,
.cro-form-field textarea:focus {
  background:#fff;
  border-color:var(--red);
  box-shadow:0 0 0 4px rgba(240,60,60,.12);
}
.cro-form-field input:hover:not(:focus),
.cro-form-field select:hover:not(:focus),
.cro-form-field textarea:hover:not(:focus) {
  border-color:#cbd5e1;
  background:#fff;
}

/* --------------- Qualify cards: premium --------------- */
.cro-qualify-card {
  box-shadow:
    0 1px 2px rgba(15,23,42,.04),
    0 12px 32px rgba(15,23,42,.06);
  transition:transform .3s, box-shadow .3s;
}
.cro-qualify-card:hover {
  transform:translateY(-3px);
  box-shadow:
    0 1px 2px rgba(15,23,42,.05),
    0 20px 48px rgba(15,23,42,.1);
}

/* --------------- Sticky bar refinement --------------- */
.cro-sticky-bar {
  background:linear-gradient(180deg, rgba(45,30,105,.97) 0%, rgba(45,30,105,.99) 100%);
  box-shadow:0 -20px 48px rgba(0,0,0,.4);
}
.cro-stick-cta {
  background:linear-gradient(135deg, var(--red) 0%, #dc2626 100%);
  box-shadow:0 6px 16px rgba(240,60,60,.4), inset 0 1px 0 rgba(255,255,255,.15);
}

/* --------------- Author byline: calling card --------------- */
.author-byline {
  background:linear-gradient(135deg, rgba(255,255,255,.06) 0%, rgba(255,255,255,.02) 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.author-avatar img {
  box-shadow:0 8px 24px rgba(240,60,60,.2), 0 0 0 3px rgba(240,180,30,.3);
}

/* --------------- Gallery: richer --------------- */
.gallery-figure {
  box-shadow:
    0 1px 2px rgba(15,23,42,.04),
    0 8px 20px rgba(15,23,42,.06);
  transition:transform .3s, box-shadow .3s, border-color .3s;
  overflow:hidden;
}
.gallery-figure img { transition:transform .5s cubic-bezier(.2,.8,.2,1); }
.gallery-figure:hover {
  transform:translateY(-3px);
  box-shadow:
    0 1px 2px rgba(15,23,42,.05),
    0 20px 48px rgba(15,23,42,.12);
}
.gallery-figure:hover img { transform:scale(1.06); }

/* --------------- Scroll-reveal --------------- */
.reveal { opacity:0; transform:translateY(24px); transition:opacity .7s, transform .7s; will-change:opacity, transform; }
.reveal.in-view { opacity:1; transform:none; }
.reveal[data-delay="100"] { transition-delay:.1s; }
.reveal[data-delay="200"] { transition-delay:.2s; }
.reveal[data-delay="300"] { transition-delay:.3s; }
.reveal[data-delay="400"] { transition-delay:.4s; }
.reveal[data-delay="500"] { transition-delay:.5s; }

/* Stagger helpers */
.kpi-strip .kpi-card { opacity:0; transform:translateY(18px); transition:opacity .7s, transform .7s, box-shadow .3s, border-color .3s; }
.kpi-strip.in-view .kpi-card { opacity:1; transform:none; }
.kpi-strip.in-view .kpi-card:nth-child(1) { transition-delay:.05s; }
.kpi-strip.in-view .kpi-card:nth-child(2) { transition-delay:.15s; }
.kpi-strip.in-view .kpi-card:nth-child(3) { transition-delay:.25s; }
.kpi-strip.in-view .kpi-card:nth-child(4) { transition-delay:.35s; }

.related-grid .related-card { opacity:0; transform:translateY(18px); transition:opacity .7s, transform .7s, box-shadow .3s, border-color .3s; }
.related-grid.in-view .related-card { opacity:1; transform:none; }
.related-grid.in-view .related-card:nth-child(1) { transition-delay:.05s; }
.related-grid.in-view .related-card:nth-child(2) { transition-delay:.15s; }
.related-grid.in-view .related-card:nth-child(3) { transition-delay:.25s; }

.glance-grid .glance-item { opacity:0; transform:translateY(12px); transition:opacity .6s, transform .6s; }
.glance-grid.in-view .glance-item { opacity:1; transform:none; }
.glance-grid.in-view .glance-item:nth-child(1) { transition-delay:.05s; }
.glance-grid.in-view .glance-item:nth-child(2) { transition-delay:.15s; }
.glance-grid.in-view .glance-item:nth-child(3) { transition-delay:.25s; }
.glance-grid.in-view .glance-item:nth-child(4) { transition-delay:.35s; }

.gallery-grid .gallery-figure { opacity:0; transform:translateY(14px); transition:opacity .6s, transform .6s, box-shadow .3s, border-color .3s; }
.gallery-grid.in-view .gallery-figure { opacity:1; transform:none; }
.gallery-grid.in-view .gallery-figure:nth-child(1) { transition-delay:.02s; }
.gallery-grid.in-view .gallery-figure:nth-child(2) { transition-delay:.07s; }
.gallery-grid.in-view .gallery-figure:nth-child(3) { transition-delay:.12s; }
.gallery-grid.in-view .gallery-figure:nth-child(4) { transition-delay:.17s; }
.gallery-grid.in-view .gallery-figure:nth-child(n+5) { transition-delay:.22s; }

/* Hero reveal */
.cs-hero h1, .cs-hero-sub, .cs-hero-meta, .cs-hero-actions, .author-byline { opacity:0; transform:translateY(18px); transition:opacity .8s, transform .8s; }
.cs-hero.in-view .cs-hero-meta { opacity:1; transform:none; transition-delay:.05s; }
.cs-hero.in-view h1 { opacity:1; transform:none; transition-delay:.15s; }
.cs-hero.in-view .cs-hero-sub { opacity:1; transform:none; transition-delay:.25s; }
.cs-hero.in-view .cs-hero-actions { opacity:1; transform:none; transition-delay:.45s; }
.cs-hero.in-view .author-byline { opacity:1; transform:none; transition-delay:.55s; }

/* --------------- Selection color --------------- */
::selection { background:rgba(240,60,60,.25); color:#0f172a; }

/* --------------- Custom scrollbar (subtle) --------------- */
::-webkit-scrollbar { width:10px; height:10px; }
::-webkit-scrollbar-track { background:#f1f5f9; }
::-webkit-scrollbar-thumb { background:linear-gradient(180deg, var(--red), #dc2626); border-radius:10px; border:2px solid #f1f5f9; }
::-webkit-scrollbar-thumb:hover { background:linear-gradient(180deg, #ff6b6b, var(--red)); }

/* --------------- Progress bar at top of page --------------- */
.page-progress {
  position:fixed;
  top:0; left:0;
  height:3px;
  background:linear-gradient(90deg, var(--red), var(--gold), var(--green));
  z-index:100;
  width:0;
  transition:width .1s linear;
  box-shadow:0 0 8px rgba(240,60,60,.4);
}

/* --------------- Section dividers (diagonal cut at top of dark section) --------------- */
.cta-enhanced { padding-top:80px; }
.cta-enhanced::before {
  content:''; position:absolute;
  top:-40px; left:0; right:0; height:80px;
  background:linear-gradient(180deg, transparent 0%, #2d1e69 50%);
  clip-path:polygon(0 50%, 100% 0, 100% 100%, 0 100%);
  z-index:-1;
}

/* --------------- Responsive refinements --------------- */
@media (max-width:767px) {
  .cs-hero { padding:56px 0 40px; }
  .cs-hero h1 { font-size:clamp(26px, 7vw, 34px); }
  .cs-hero-inner::before, .cs-hero-inner::after { display:none; }
  .section { padding:48px 0; }
}

/* --------------- Print cleanup --------------- */
@media print {
  .cro-sticky-bar, .cro-exit-overlay, .page-progress, .reveal { display:none !important; opacity:1 !important; transform:none !important; }
}


/* Accessibility: AA contrast fixes for labels on dark backgrounds (added Apr 2026) */
.cs-hero .kpi-label, .cs-hero .kpi-detail, .cs-hero .author-meta, .cs-hero .author-pub-date, .cs-hero .cs-pill { color: #cbd5e1; }
.cs-hero .kpi-card { border-color: rgba(255,255,255,.18); }
.site-footer .footer-bottom { color: #cbd5e1; }
.site-footer .footer-links a { color: #cbd5e1; }
.site-footer .footer-disclaimer { color: #cbd5e1; }
.cta-enhanced .cro-stick-sub, .cro-sticky-bar .cro-stick-sub { color: #e2e8f0; }
.cro-scarcity { color: #bbf7d0; }
