/* ============================================
   TOKENS
   ============================================ */
:root{
  --bg: #0A0F1C;
  --bg-card: #111827;
  --bg-card-glass: rgba(17,24,39,0.8);
  --accent: #00E676;
  --accent-hover: #00FF85;
  --text-primary: #FFFFFF;
  --text-secondary: #D1D5DB;
  --text-muted: #9CA3AF;
  --border: #1F2937;
  --border-light: #374151;
  --glow: rgba(0,230,118,0.2);
  --header-h: 72px;

  --font-display: "Plus Jakarta Sans", "Segoe UI", sans-serif;
  --font-body: "Inter", "Segoe UI", sans-serif;
  --wrap: 1160px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important;}
}
body{
  margin:0; background:var(--bg); color:var(--text-secondary);
  font-family:var(--font-body); font-size:1.125rem; line-height:1.65;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
@media (max-width:640px){ body{font-size:1rem;} }

h1,h2,h3{font-family:var(--font-display); color:var(--text-primary); line-height:1.15; margin:0 0 0.5em;}
p{margin:0 0 1em; max-width:62ch; color:var(--text-secondary);}
a{color:inherit;}
.wrap{max-width:var(--wrap); margin:0 auto; padding:0 24px;}
@media (min-width:900px){ .wrap{padding:0 80px; max-width:1320px;} }

.skip-link{position:absolute; left:-999px; top:0; background:var(--accent); color:var(--bg); padding:10px 16px; border-radius:8px; z-index:200;}
.skip-link:focus{left:16px; top:16px;}

#top, #industries, #benefits, #case-studies, #reviews, #pricing, #faq, #contact{
  scroll-margin-top: var(--header-h);
}

.scroll-progress{position:fixed; top:0; left:0; height:3px; width:0%; background:var(--accent); z-index:300; transition:width 0.1s linear;}

.reveal{opacity:0; transition:opacity 0.6s ease var(--d,0s), transform 0.6s cubic-bezier(.2,.7,.2,1) var(--d,0s);}
.reveal[data-reveal="rise"]{transform:translateY(24px);}
.reveal[data-reveal="up"]{transform:translateY(14px);}
.reveal.is-visible{opacity:1; transform:translateY(0);}
@media (prefers-reduced-motion: reduce){ .reveal{opacity:1; transform:none;} }

.kicker{font-size:0.9rem; font-weight:600; color:var(--text-muted); margin-bottom:0;}
.kicker.center{text-align:center;}

/* ============================================
   TYPE SCALE
   ============================================ */
.hero h1{font-weight:800; font-size:clamp(1.9rem, 4.6vw, 3.5rem); line-height:1.14; letter-spacing:-0.01em; max-width:17ch;}
h2{font-weight:700; font-size:clamp(1.75rem, 4vw, 3rem); line-height:1.15;}
.center-heading{text-align:center; max-width:none; margin:14px auto 16px;}
h3{font-weight:600; font-size:clamp(1.25rem, 2.2vw, 1.6rem);}

/* ============================================
   BUTTONS
   ============================================ */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:16px 32px; border-radius:9999px;
  font-family:var(--font-display); font-weight:700; font-size:1rem;
  text-decoration:none; cursor:pointer; border:1.5px solid transparent;
  transition:transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease, color 0.15s ease;
  white-space:nowrap;
}
.btn:focus-visible{outline:2px solid var(--accent); outline-offset:3px;}
.btn-primary{background:var(--accent); color:var(--bg);}
.btn-primary:hover{background:var(--accent-hover); transform:scale(1.02); box-shadow:0 0 0 8px var(--glow);}
.btn-glow{box-shadow:0 0 24px var(--glow);}
.btn-secondary{background:transparent; border-color:var(--accent); color:var(--accent);}
.btn-secondary:hover{background:rgba(0,230,118,0.08);}
.btn-small{padding:12px 22px; font-size:0.9rem;}
.btn-full{width:100%;}

/* ============================================
   BRAND / HEADER / NAV / LOCALE SWITCHER
   ============================================ */
.brand{display:inline-flex; align-items:center; gap:9px; text-decoration:none;}
.brand-mark{width:22px; height:22px; stroke:var(--accent); flex-shrink:0;}
.brand-word{font-family:var(--font-display); font-size:1.1rem; font-weight:700; color:var(--text-primary);}
.brand-accent{color:var(--accent); font-weight:500;}

.site-header{position:sticky; top:0; z-index:100; height:var(--header-h); display:flex; align-items:center; background:rgba(10,15,28,0.9); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); border-bottom:1px solid var(--border);}
.header-inner{width:100%; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:0 24px;}
@media (min-width:900px){ .header-inner{padding:0 48px;} }
.desktop-nav{display:flex; align-items:center; gap:4px;}
.desktop-nav .nav-link,.desktop-nav .nav-trigger{display:inline-flex; align-items:center; gap:5px; background:none; border:none; cursor:pointer; font-family:var(--font-body); font-size:0.9rem; font-weight:500; color:var(--text-secondary); text-decoration:none; padding:9px 12px; border-radius:8px; transition:color .15s ease, background .15s ease;}
.desktop-nav .nav-link:hover,.desktop-nav .nav-trigger:hover{color:var(--text-primary); background:rgba(255,255,255,0.04);}
.nav-caret{width:14px; height:14px; transition:transform .2s ease;}
.nav-item{position:relative;}
.nav-item.has-mega:hover .nav-caret,.nav-item.has-mega:focus-within .nav-caret{transform:rotate(180deg);}
.mega{position:absolute; top:calc(100% + 10px); left:50%; transform:translateX(-50%) translateY(8px); background:var(--bg-card); border:1px solid var(--border); border-radius:16px; padding:22px; width:max-content; max-width:min(92vw,760px); box-shadow:0 30px 70px rgba(0,0,0,.5); opacity:0; visibility:hidden; transition:opacity .18s ease, transform .18s ease; z-index:120;}
.nav-item.has-mega:hover .mega,.nav-item.has-mega:focus-within .mega{opacity:1; visibility:visible; transform:translateX(-50%) translateY(0);}
.mega::before{content:""; position:absolute; top:-12px; left:0; right:0; height:12px;}
.mega-grid{display:grid; grid-template-columns:1fr; gap:22px;}
.mega-grid-3{grid-template-columns:repeat(2,minmax(0,1fr));}
.mega-col .mega-title{font-size:.72rem; letter-spacing:.06em; text-transform:uppercase; color:var(--text-muted); margin:0 0 10px;}
.mega-col ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:2px;}
.mega-col a{display:block; padding:7px 10px; border-radius:8px; font-size:.88rem; color:var(--text-secondary); text-decoration:none; transition:color .15s ease, background .15s ease;}
.mega-col a:hover{color:var(--text-primary); background:rgba(0,230,118,.08);}
.mega-col a{white-space:nowrap;}
.mega-more a{color:var(--accent) !important; font-weight:600; display:inline-flex; align-items:center; gap:6px;}
.mega-more a svg{width:14px; height:14px;}
@media (max-width:1080px){ .desktop-nav{display:none;} }
.nav-toggle{display:none; background:none; border:none; cursor:pointer; color:var(--text-primary); padding:8px; border-radius:8px;}
.nav-toggle svg{width:26px; height:26px;}
@media (max-width:1080px){ .nav-toggle{display:inline-flex;} }
.mobile-nav{display:none;}
.mobile-nav.is-open{display:block; position:fixed; top:var(--header-h); left:0; right:0; width:100%; z-index:99; border-top:1px solid var(--border); background:var(--bg); max-height:calc(100vh - var(--header-h)); max-height:calc(100dvh - var(--header-h)); overflow-y:auto; -webkit-overflow-scrolling:touch; padding:12px 24px 32px; box-shadow:0 20px 40px rgba(0,0,0,.5);}
.mobile-nav details{border-bottom:1px solid var(--border);}
.mobile-nav summary{display:flex; align-items:center; justify-content:space-between; padding:14px 2px; cursor:pointer; list-style:none; font-family:var(--font-display); font-weight:700; color:var(--text-primary);}
.mobile-nav summary::-webkit-details-marker{display:none;}
.mobile-nav summary svg{width:18px; height:18px; stroke:var(--text-muted); transition:transform .2s ease;}
.mobile-nav details[open] summary svg{transform:rotate(180deg);}
.mobile-nav .m-links{list-style:none; margin:0; padding:0 0 12px; display:grid; grid-template-columns:1fr 1fr; gap:2px 14px;}
.mobile-nav .m-links a{display:block; padding:8px 4px; font-size:.9rem; color:var(--text-secondary); text-decoration:none;}
.mobile-nav .m-links a:hover{color:var(--accent);}
.mobile-nav .m-direct{display:block; padding:14px 2px; font-family:var(--font-display); font-weight:700; color:var(--text-primary); text-decoration:none; border-bottom:1px solid var(--border);}
.mobile-nav .m-cta{margin-top:18px;}

.header-right{display:flex; align-items:center; gap:14px;}
.header-cta .cta-short{display:none;}
@media (max-width:480px){
  .header-cta .cta-full{display:none;}
  .header-cta .cta-short{display:inline;}
}
@media (max-width:400px){
  .header-right{gap:8px;}
  .brand-word{font-size:0.92rem;}
  .header-cta{padding:10px 14px; font-size:12px;}
}
.locale-switcher{position:relative;}
.locale-btn{
  display:flex; align-items:center; gap:6px; background:transparent; border:1px solid var(--border-light);
  color:var(--text-secondary); border-radius:100px; padding:10px 14px; font-size:0.8rem; font-weight:600;
  cursor:pointer; font-family:var(--font-body); transition:border-color 0.2s ease, color 0.2s ease; min-height:40px;
}
.locale-btn:hover, .locale-btn[aria-expanded="true"]{border-color:var(--accent); color:var(--accent);}
.locale-btn svg{width:15px; height:15px; stroke:currentColor; fill:none;}
.locale-menu{
  position:absolute; top:calc(100% + 10px); right:0; background:var(--bg-card); border:1px solid var(--border);
  border-radius:12px; padding:6px; min-width:200px; display:none; flex-direction:column; gap:2px; z-index:150;
  box-shadow:0 20px 50px rgba(0,0,0,0.5);
}
.locale-menu.is-open{display:flex;}
.locale-option{
  background:none; border:none; text-align:left; padding:12px 12px; border-radius:8px; font-size:0.85rem;
  color:var(--text-secondary); cursor:pointer; font-family:var(--font-body); white-space:nowrap; min-height:44px;
}
.locale-option:hover, .locale-option.is-active{background:rgba(0,230,118,0.1); color:var(--accent);}
@media (max-width:560px){ .locale-btn span{display:none;} }

/* ============================================
   HERO
   ============================================ */
.glow{position:absolute; border-radius:50%; filter:blur(100px); pointer-events:none; z-index:0;}
.glow-a{width:560px; height:560px; top:-200px; right:-160px; background:radial-gradient(circle, rgba(0,230,118,0.18), transparent 70%);}.ai-badge{
  position:absolute; top:-6px; left:6px; z-index:2; display:flex; align-items:center; gap:8px;
  background:rgba(0,230,118,0.1); border:1px solid rgba(0,230,118,0.4); border-radius:100px; padding:7px 13px;
  font-size:0.74rem; font-weight:600; color:var(--accent); box-shadow:0 8px 20px var(--glow);
}
.ai-badge svg{width:14px; height:14px; stroke:var(--accent); fill:none; flex-shrink:0;}

.visibility-card{
  width:100%; max-width:340px; margin-top:18px; background:var(--bg-card); border:1px solid var(--border);
  border-radius:20px; padding:24px 22px; box-shadow:0 30px 70px rgba(0,0,0,0.5), 0 0 40px var(--glow);
}
.visibility-label{font-size:0.78rem; color:var(--text-muted); margin-bottom:14px;}
.visibility-chart{width:100%; height:70px; display:block; margin-bottom:18px;}
.visibility-line{fill:none; stroke:var(--accent); stroke-width:2.6; stroke-linecap:round; stroke-linejoin:round; stroke-dasharray:340; stroke-dashoffset:340; animation:draw-line 1.4s ease 0.3s forwards;}
@keyframes draw-line{ to{ stroke-dashoffset:0; } }
.visibility-channels{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:11px;}
.visibility-channels li{display:flex; align-items:center; gap:10px; font-size:0.88rem; color:var(--text-secondary);}
.visibility-channels svg{width:16px; height:16px; stroke:var(--accent); fill:none; flex-shrink:0;}
@media (max-width:600px){ .visibility-card{max-width:280px; padding:20px 18px;} }

/* ============================================
   INDUSTRIES
   ============================================ */
.industries-zone{padding:64px 0 48px; border-top:1px solid var(--border); border-bottom:1px solid var(--border); background:var(--bg-card);}
.industries-sub{text-align:center; margin:0 auto 36px; font-size:1rem;}
.ticker-row{overflow:hidden; -webkit-mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);}
.ticker-row + .ticker-row{margin-top:18px;}
.ticker-track{display:flex; gap:36px; width:max-content;}
.ticker-track-a{animation:ticker-left 48s linear infinite;}
.ticker-track-b{animation:ticker-right 54s linear infinite;}
@keyframes ticker-left{ from{transform:translateX(0);} to{transform:translateX(-50%);} }
@keyframes ticker-right{ from{transform:translateX(-50%);} to{transform:translateX(0);} }
@media (prefers-reduced-motion: reduce){ .ticker-track{animation:none; flex-wrap:wrap; width:auto; justify-content:center;} .ticker-track [aria-hidden="true"]{display:none;} }
.ticker-track span{display:inline-flex; align-items:center; gap:10px; font-size:1.1rem; font-weight:500; color:var(--text-secondary); white-space:nowrap;}
.ticker-track span svg{width:21px; height:21px; stroke:var(--accent); fill:none; flex-shrink:0;}

/* ============================================
   PROOF / RESULTS BAR
   ============================================ */
.proof{padding:56px 0 48px;}
.proof-grid{display:grid; grid-template-columns:repeat(4, 1fr); gap:24px; text-align:center;}
.proof-num{display:block; font-family:var(--font-display); font-weight:800; font-size:clamp(1.8rem, 4vw, 2.4rem); color:var(--accent); margin-bottom:8px;}
.proof-item p{font-size:0.88rem; color:var(--text-muted); margin:0 auto; max-width:20ch;}
@media (max-width:640px){ .proof-grid{grid-template-columns:1fr 1fr;} }

/* ============================================
   PROBLEM -> SOLUTION
   ============================================ */
.problem-solution{padding:96px 0; border-top:1px solid var(--border);}
.ps-grid{display:grid; grid-template-columns:1fr 1fr; gap:48px;}
.ps-label{font-size:0.85rem; font-weight:600; margin-bottom:14px;}
.ps-label-muted{color:var(--text-muted);}
.ps-label-accent{color:var(--accent);}
.ps-col h2{font-size:clamp(1.4rem, 2.6vw, 1.9rem); max-width:18ch;}
.ps-list{list-style:none; margin:20px 0 0; padding:0; display:flex; flex-direction:column; gap:14px;}
.ps-list li{position:relative; padding-left:22px; font-size:0.95rem; color:var(--text-secondary);}
.ps-list li::before{content:"\2013"; position:absolute; left:0; color:var(--text-muted);}
.ps-list-check li{padding-left:30px;}
.ps-list-check li::before{content:none;}
.ps-list-check svg{position:absolute; left:0; top:2px; width:18px; height:18px; stroke:var(--accent); fill:none;}
@media (max-width:820px){ .ps-grid{grid-template-columns:1fr; gap:40px;} }

/* ============================================
   MID CTA STRIP
   ============================================ */
.cta-strip{padding:36px 0; border-bottom:1px solid var(--border);}
.cta-strip-inner{display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:20px;}
.cta-strip-inner p{font-family:var(--font-display); font-weight:700; font-size:1.15rem; color:var(--text-primary); margin:0; max-width:none;}
@media (max-width:640px){ .cta-strip-inner{flex-direction:column; align-items:stretch; text-align:center;} }

/* ============================================
   UVP / WHY WORK WITH ME
   ============================================ */
/* ============================================
   AI SPOTLIGHT
   ============================================ */
.ai-spotlight{position:relative; overflow:hidden; padding:96px 0; border-bottom:1px solid var(--border); background:var(--bg-card);}.ai-list{list-style:none; margin:22px 0 28px; padding:0; display:flex; flex-direction:column; gap:12px;}
.ai-list li{display:flex; align-items:flex-start; gap:10px; font-size:0.94rem; color:var(--text-secondary);}
.ai-list svg{width:18px; height:18px; stroke:var(--accent); fill:none; flex-shrink:0; margin-top:2px;}
@media (max-width:920px){ .ai-spotlight-layout{grid-template-columns:1fr; gap:32px;} }

.ai-mock{display:flex; flex-direction:column; gap:14px;}
.ai-mock-bubble{background:var(--bg); border:1px solid var(--border); border-radius:16px; padding:18px 20px;}
.ai-mock-question{margin-right:14%;}
.ai-mock-answer{margin-left:14%; border-color:rgba(0,230,118,0.35); background:rgba(0,230,118,0.05);}
.ai-mock-label{display:block; font-size:0.72rem; color:var(--text-muted); margin-bottom:8px;}
.ai-mock-label-accent{color:var(--accent);}
.ai-mock-bubble p{font-size:0.92rem; color:var(--text-primary); margin-bottom:0;}
.ai-mock-answer strong{color:var(--accent);}
@media (max-width:600px){ .ai-mock-question, .ai-mock-answer{margin-right:0; margin-left:0;} }

.uvp{padding:96px 0; border-bottom:1px solid var(--border);}
.uvp-layout{display:grid; grid-template-columns:0.85fr 1.15fr; gap:56px; align-items:flex-start;}
.uvp-intro h2{font-size:clamp(1.5rem, 2.8vw, 2.1rem); max-width:16ch;}
.uvp-list{list-style:none; margin:0; padding:0; display:flex; flex-direction:column;}
.uvp-list li{display:flex; gap:16px; align-items:flex-start; padding:20px 0; border-top:1px solid var(--border);}
.uvp-list li:last-child{border-bottom:1px solid var(--border);}
.uvp-icon{width:38px; height:38px; border-radius:10px; background:rgba(0,230,118,0.1); display:flex; align-items:center; justify-content:center; flex-shrink:0;}
.uvp-icon svg{width:19px; height:19px; stroke:var(--accent); fill:none;}
.uvp-list h3{font-size:1rem; margin-bottom:4px;}
.uvp-list p{font-size:0.9rem; margin-bottom:0;}
@media (max-width:920px){ .uvp-layout{grid-template-columns:1fr; gap:32px;} }

/* ============================================
   CARDS - benefits
   ============================================ */
.benefits{padding:96px 0;}
.card-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:20px;}
.card{background:var(--bg-card-glass); border:1px solid var(--border); border-radius:20px; padding:36px 28px; transition:border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease; position:relative;}
.card:hover{border-color:rgba(0,230,118,0.4); transform:translateY(-3px); box-shadow:0 20px 40px rgba(0,0,0,0.3), 0 0 24px var(--glow);}
.card-featured{border-color:var(--accent); box-shadow:0 0 40px var(--glow);}
.card-tag{position:absolute; top:-13px; left:28px; background:var(--accent); color:var(--bg); font-family:var(--font-display); font-weight:700; font-size:0.75rem; padding:4px 12px; border-radius:100px;}
.card-icon{width:46px; height:46px; border-radius:12px; background:rgba(0,230,118,0.1); display:flex; align-items:center; justify-content:center; margin-bottom:20px;}
.card-icon svg{width:23px; height:23px; stroke:var(--accent); fill:none;}
.card h3{margin-bottom:10px;}
.card p{font-size:0.92rem; margin-bottom:0;}
@media (max-width:980px){ .card-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:560px){ .card-grid{grid-template-columns:1fr;} }

/* ============================================
   TOOLS MARQUEE + CERTIFICATIONS STRIP
   ============================================ */
.tools-zone{padding:44px 0; border-top:1px solid var(--border); border-bottom:1px solid var(--border);}
.tools-marquee{overflow:hidden; -webkit-mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); margin-top:24px;}
.tools-track{display:flex; gap:16px; width:max-content; animation:tools-scroll 32s linear infinite;}
.tools-marquee:hover .tools-track{animation-play-state:paused;}
@keyframes tools-scroll{ from{transform:translateX(0);} to{transform:translateX(-50%);} }
@media (prefers-reduced-motion: reduce){ .tools-track{animation:none; flex-wrap:wrap; width:auto; justify-content:center;} .tools-track [aria-hidden="true"]{display:none;} }
.tool-chip{display:flex; align-items:center; gap:12px; padding:14px 20px; border-radius:16px; flex-shrink:0; background:var(--bg-card); border:1px solid var(--border);}
.tool-icon-wrap{width:38px; height:38px; border-radius:10px; background:rgba(0,230,118,0.1); display:flex; align-items:center; justify-content:center; flex-shrink:0;}
.tool-icon-wrap svg{width:20px; height:20px; stroke:var(--accent); fill:none;}
.tool-chip div{display:flex; flex-direction:column; line-height:1.3; white-space:nowrap;}
.tool-chip strong{font-size:0.88rem; color:var(--text-primary);}
.tool-chip span{font-size:0.74rem; color:var(--text-muted);}

.cert-strip-wrap{margin-top:32px; text-align:center;}
.cert-strip-label{font-size:0.82rem; color:var(--text-muted); margin-bottom:16px;}
.cert-strip{display:flex; flex-wrap:wrap; justify-content:center; gap:10px;}
.cert-badge{
  display:inline-flex; align-items:center; gap:8px; padding:9px 16px; border-radius:100px;
  background:transparent; border:1px solid var(--border); font-size:0.8rem; color:var(--text-secondary);
}
.cert-badge svg{width:15px; height:15px; stroke:var(--accent); fill:none; flex-shrink:0;}

/* ============================================
   CASE STUDIES
   ============================================ */
.case-studies{padding:96px 0;}
.case-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:20px; margin-top:36px;}
.case-card{background:var(--bg-card); border:1px solid var(--border); border-radius:20px; padding:30px 26px;}
.case-top{display:flex; align-items:center; gap:12px; margin-bottom:14px;}
.case-icon{width:38px; height:38px; border-radius:10px; background:rgba(0,230,118,0.1); display:flex; align-items:center; justify-content:center; flex-shrink:0;}
.case-icon svg{width:19px; height:19px; stroke:var(--accent); fill:none;}
.case-card h3{font-size:1.02rem; margin-bottom:0;}
.case-context{font-size:0.86rem; color:var(--text-muted); margin-bottom:20px;}
.case-stat{display:flex; align-items:center; gap:12px; margin-bottom:6px;}
.case-stat-before, .case-stat-after{display:flex; flex-direction:column; flex:1;}
.case-stat-before span{font-family:var(--font-display); font-weight:700; font-size:1.5rem; color:var(--text-muted);}
.case-stat-after span{font-family:var(--font-display); font-weight:800; font-size:2rem; color:var(--accent);}
.case-stat-before small, .case-stat-after small{font-size:0.72rem; color:var(--text-muted); margin-top:2px;}
.case-stat-arrow{width:20px; height:20px; stroke:var(--text-muted); fill:none; flex-shrink:0;}
.case-timeframe{font-size:0.76rem; color:var(--accent); font-weight:600; margin-bottom:14px;}
.case-extra{font-size:0.84rem; color:var(--text-secondary); margin-bottom:0;}
.case-studies-note{text-align:center; font-size:0.8rem; color:var(--text-muted); margin:32px auto 0; max-width:60ch;}
@media (max-width:980px){ .case-grid{grid-template-columns:1fr;} }

/* ============================================
   REVIEWS (continuous marquee)
   ============================================ */
.testimonials{padding:96px 0;}
.reviews-marquee{overflow:hidden; -webkit-mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); margin-top:36px;}
.reviews-track{display:flex; gap:20px; width:max-content; animation:reviews-scroll 60s linear infinite;}
.reviews-marquee:hover .reviews-track{animation-play-state:paused;}
@keyframes reviews-scroll{ from{transform:translateX(0);} to{transform:translateX(-50%);} }
@media (prefers-reduced-motion: reduce){ .reviews-track{animation:none; flex-wrap:wrap; width:auto; justify-content:center;} .reviews-track [aria-hidden="true"]{display:none;} }
.review-card{
  flex:0 0 320px; background:var(--bg-card-glass); border:1px solid var(--border); border-radius:20px; padding:26px 24px;
  display:flex; flex-direction:column;
}
.review-top{display:flex; align-items:center; gap:10px; margin-bottom:14px;}
.review-icon{width:30px; height:30px; border-radius:9px; background:rgba(0,230,118,0.1); display:flex; align-items:center; justify-content:center; flex-shrink:0;}
.review-icon svg{width:16px; height:16px; stroke:var(--accent); fill:none;}
.stars{display:flex; gap:3px;}
.stars svg{width:14px; height:14px; color:var(--accent);}
.review-quote{font-size:0.92rem; color:var(--text-primary); line-height:1.5; flex:1;}
.review-name{font-size:0.8rem; color:var(--text-muted); margin-bottom:0;}
@media (max-width:600px){ .review-card{flex-basis:270px; padding:22px 20px;} }

/* ============================================
   PRICING (3-tier grid)
   ============================================ */
.pricing{padding:20px 0 100px;}
.pricing-locale-note{text-align:center; font-size:0.85rem; color:var(--text-muted); margin:0 auto 36px; max-width:60ch;}
.pricing-grid-trio{display:grid; grid-template-columns:0.92fr 1.18fr 0.92fr; gap:20px; max-width:1120px; margin:0 auto; align-items:center;}
.pricing-card{background:var(--bg-card-glass); border:1.5px solid var(--border); border-radius:20px; padding:36px 28px; text-align:center; position:relative;}
.pricing-card-alt{border-color:var(--accent); box-shadow:0 0 60px var(--glow); padding:48px 34px; z-index:1;}
.pricing-badge{position:absolute; top:-13px; left:50%; transform:translateX(-50%); background:var(--accent); color:var(--bg); font-family:var(--font-display); font-weight:700; font-size:0.72rem; padding:5px 14px; border-radius:100px;}
.pricing-label{font-size:0.9rem; color:var(--text-muted); margin-bottom:14px;}
.pricing-card-alt .pricing-label{font-size:0.98rem; color:var(--text-secondary);}
.pricing-amount{font-family:var(--font-display); font-weight:800; font-size:2.6rem; color:var(--text-primary); line-height:1; margin-bottom:26px; display:flex; align-items:baseline; justify-content:center; gap:8px; flex-wrap:wrap;}
.pricing-card-alt .pricing-amount{font-size:3.2rem;}
.pricing-period{font-family:var(--font-body); font-weight:500; font-size:0.85rem; color:var(--text-muted);}
.pricing-list{list-style:none; margin:0 0 28px; padding:0; text-align:left; display:flex; flex-direction:column; gap:12px;}
.pricing-list li{display:flex; align-items:flex-start; gap:9px; font-size:0.88rem; color:var(--text-secondary);}
.pricing-card-alt .pricing-list li{font-size:0.92rem;}
.pricing-list svg{width:16px; height:16px; stroke:var(--accent); fill:none; flex-shrink:0; margin-top:2px;}
.pricing-list-hot{flex-wrap:wrap;}
.pricing-hot-tag{
  display:inline-block; margin-left:24px; margin-top:4px; background:rgba(0,230,118,0.14); color:var(--accent);
  font-size:0.75rem; font-weight:700; padding:2px 9px; border-radius:100px; font-family:var(--font-display);
}
.pricing-custom{text-align:center; margin-top:48px; padding-top:40px; border-top:1px solid var(--border); display:flex; flex-direction:column; align-items:center; gap:16px;}
.pricing-custom p{font-size:1rem; margin-bottom:0; max-width:52ch;}
@media (max-width:980px){ .pricing-grid-trio{grid-template-columns:1fr; max-width:460px;} .pricing-card-alt{padding:40px 30px;} .pricing-card-alt .pricing-amount{font-size:2.6rem;} }

/* ============================================
   HOW IT WORKS
   ============================================ */
.how-it-works{padding:20px 0 100px;}
.steps-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:24px;}
.step{background:var(--bg-card); border:1px solid var(--border); border-radius:20px; padding:36px 28px;}
.step-num{display:block; font-family:var(--font-display); font-weight:800; font-size:1.6rem; color:var(--accent); margin-bottom:16px;}
.step p{font-size:0.92rem; margin-bottom:0;}
@media (max-width:820px){ .steps-grid{grid-template-columns:1fr;} }

/* ============================================
   FAQ (tabbed)
   ============================================ */
.faq{padding:20px 0 100px;}
.faq-sub{text-align:center; margin:0 auto 36px; font-size:0.95rem; max-width:52ch;}
.faq-tabs{display:flex; justify-content:center; gap:10px; flex-wrap:wrap; margin-bottom:36px;}
.faq-tab{
  background:var(--bg-card); border:1px solid var(--border); color:var(--text-muted);
  font-family:var(--font-display); font-weight:600; font-size:0.85rem; padding:10px 20px;
  border-radius:100px; cursor:pointer; transition:border-color 0.2s ease, color 0.2s ease, background 0.2s ease;
}
.faq-tab.is-active{background:rgba(0,230,118,0.1); border-color:var(--accent); color:var(--accent);}
.faq-tab:hover{border-color:var(--accent);}
.faq-tab:focus-visible{outline:2px solid var(--accent); outline-offset:2px;}
.faq-list{max-width:760px; margin:0 auto; display:flex; flex-direction:column;}
.faq-item{border-top:1px solid var(--border); padding:6px 0;}
.faq-item:last-child{border-bottom:1px solid var(--border);}
.faq-item.is-hidden{display:none;}
.faq-item summary{display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 0; cursor:pointer; list-style:none; font-family:var(--font-display); font-weight:600; font-size:1.02rem; color:var(--text-primary);}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary svg{width:18px; height:18px; stroke:var(--text-muted); flex-shrink:0; transition:transform 0.2s ease;}
.faq-item[open] summary svg{transform:rotate(180deg); stroke:var(--accent);}
.faq-item p{font-size:0.94rem; padding-bottom:18px; margin-bottom:0;}

/* ============================================
   FOOTER (contact panel + info)
   ============================================ */
.site-footer{border-top:1px solid var(--border); padding:96px 0 64px;}
.footer-cta-intro{max-width:640px; margin:0 auto 40px; text-align:center;}
.footer-cta-intro h2{font-size:clamp(1.6rem, 3vw, 2.2rem);}
.footer-form-panel{max-width:640px; margin:0 auto 72px; background:var(--bg-card); border:1px solid var(--border); border-radius:20px; padding:24px;}
.footer-form-panel iframe{display:block; border:0; width:100%;}
.form-fallback{text-align:center; font-size:0.78rem; color:var(--text-muted); margin:14px 0 0;}
.form-fallback a{color:var(--accent); text-decoration:underline; text-underline-offset:2px;}
.footer-bottom{text-align:center; display:flex; flex-direction:column; align-items:center; gap:10px; border-top:1px solid var(--border); padding-top:40px;}
.footer-text{font-size:0.88rem; max-width:44ch; color:var(--text-muted);}
.footer-links{display:flex; flex-wrap:wrap; justify-content:center; gap:10px 20px; font-size:0.88rem;}
.footer-links a{text-decoration:underline; text-underline-offset:3px; color:var(--text-muted);}
.footer-links a:hover{color:var(--accent);}
.footer-copy{font-size:0.78rem; color:var(--text-muted); margin-bottom:0;}

/* ============================================
   STICKY CLUSTER (CTA + WhatsApp)
   ============================================ */
.sticky-cluster{position:fixed; right:20px; bottom:calc(20px + var(--cookie-offset, 0px)); z-index:150; display:flex; flex-direction:column; align-items:flex-end; gap:12px; transition:bottom 0.25s ease;}
.sticky-cta{padding:13px 24px; font-size:0.88rem; box-shadow:0 10px 26px rgba(0,230,118,0.3); animation:wa-in 0.5s ease 0.4s both;}
.sticky-whatsapp{position:relative; width:56px; height:56px; border-radius:50%; background:#2FBE63; display:flex; align-items:center; justify-content:center; box-shadow:0 10px 30px rgba(47,190,99,0.4); transition:transform 0.15s ease, box-shadow 0.15s ease; animation:wa-in 0.5s ease 0.6s both;}
.sticky-whatsapp-ring{position:absolute; inset:-6px; border-radius:50%; border:2px solid rgba(47,190,99,0.5); animation:wa-ring 2.6s ease-out infinite;}
@keyframes wa-ring{0%{transform:scale(0.9); opacity:0.7;} 100%{transform:scale(1.5); opacity:0;}}
.sticky-whatsapp svg{width:27px; height:27px; fill:#fff; position:relative;}
.sticky-whatsapp:hover{transform:translateY(-2px) scale(1.04); box-shadow:0 14px 34px rgba(47,190,99,0.5); background:#23A153;}
.sticky-whatsapp:focus-visible{outline:2px solid #fff; outline-offset:3px;}
@keyframes wa-in{0%{opacity:0; transform:translateY(16px) scale(0.9);} 100%{opacity:1; transform:translateY(0) scale(1);}}
@media (max-width:560px){
  .sticky-cluster{right:14px; bottom:calc(14px + var(--cookie-offset, 0px)); gap:10px;}
  .sticky-cta{padding:11px 18px; font-size:0.8rem;}
  .sticky-whatsapp{width:48px; height:48px;}
  .sticky-whatsapp svg{width:22px; height:22px;}
}

/* ============================================
   COOKIE BANNER
   ============================================ */
.cookie-banner{
  position:fixed; left:16px; right:16px; bottom:16px; z-index:200; max-width:640px; margin:0 auto;
  background:var(--bg-card); border:1px solid var(--border); border-radius:16px; padding:20px 22px;
  box-shadow:0 20px 50px rgba(0,0,0,0.5);
  display:none; flex-direction:column; gap:14px;
}
.cookie-banner.is-visible{display:flex;}
.cookie-banner p{font-size:0.86rem; color:var(--text-secondary); margin:0;}
.cookie-banner a{color:var(--accent); text-decoration:underline; text-underline-offset:2px;}
.cookie-banner-actions{display:flex; gap:10px; justify-content:flex-end; flex-wrap:wrap;}
@media (max-width:560px){ .cookie-banner-actions{justify-content:stretch;} .cookie-banner-actions .btn{flex:1;} }

/* ============================================
   LEGAL PAGE PROSE (used by privacy.html)
   ============================================ */
.legal{padding:56px 0 100px;}
.legal h1{font-size:clamp(1.9rem, 4vw, 2.6rem); margin-bottom:8px;}
.legal .legal-updated{font-size:0.85rem; color:var(--text-muted); margin-bottom:44px;}
.legal h2{font-size:1.3rem; margin-top:44px; margin-bottom:14px;}
.legal h2:first-of-type{margin-top:0;}
.legal p{font-size:0.98rem; max-width:72ch; color:var(--text-secondary);}
.legal ul{margin:0 0 16px; padding-left:22px; color:var(--text-secondary);}
.legal li{margin-bottom:8px; font-size:0.98rem; max-width:70ch;}
.legal a{color:var(--accent); text-decoration:underline; text-underline-offset:2px;}
.legal strong{color:var(--text-primary);}
.legal-note{background:rgba(0,230,118,0.06); border:1px solid rgba(0,230,118,0.3); border-radius:12px; padding:16px 18px; font-size:0.9rem; margin:20px 0;}
.legal-back{display:inline-flex; align-items:center; gap:8px; margin-bottom:32px; font-size:0.9rem; color:var(--text-muted); text-decoration:none;}
.legal-back:hover{color:var(--accent);}
.legal-back svg{width:16px; height:16px; stroke:currentColor; fill:none;}

/* ============================================
   RESPONSIVE (misc)
   ============================================ */
@media (max-width:560px){
  .header-inner{padding:0 18px;}
  .btn{padding:14px 24px; font-size:0.92rem;}
  .hero-actions{flex-direction:column; align-items:stretch;}
}


/* ============================================
   INDUSTRY / SERVICE PAGES
   ============================================ */
.svc-hero{position:relative; overflow:hidden; padding:48px 0 52px; border-bottom:1px solid var(--border);}.breadcrumb{font-size:0.82rem; color:var(--text-muted); margin-bottom:22px;}
.breadcrumb ol{list-style:none; display:flex; flex-wrap:wrap; gap:6px 8px; padding:0; margin:0;}
.breadcrumb li + li::before{content:"/"; margin-right:8px; color:var(--border-light);}
.breadcrumb a{text-decoration:none; transition:color 0.15s ease;}
.breadcrumb a:hover{color:var(--accent);}
.breadcrumb [aria-current="page"]{color:var(--text-secondary);}.answer-label{font-family:var(--font-display); font-weight:700; font-size:0.74rem; letter-spacing:0.06em; text-transform:uppercase; color:var(--accent); margin-bottom:8px;}
.takeaways, .check-list{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:14px;}
.takeaways li, .check-list li{display:flex; gap:12px; align-items:flex-start; font-size:1.02rem; line-height:1.6; color:var(--text-secondary);}
.takeaways svg, .check-list svg{width:20px; height:20px; stroke:var(--accent); fill:none; flex-shrink:0; margin-top:3px;}
.takeaways{background:var(--bg-card); border:1px solid var(--border); border-radius:18px; padding:24px;}

.table-wrap{overflow-x:auto; border:1px solid var(--border); border-radius:16px; background:var(--bg-card); margin:18px 0;}
.table-wrap:focus-visible{outline:2px solid var(--accent); outline-offset:2px;}
.svc-table{width:100%; border-collapse:collapse; font-size:0.93rem; min-width:560px;}
.svc-table th{text-align:left; font-size:0.74rem; letter-spacing:0.05em; text-transform:uppercase; color:var(--text-muted); font-weight:600; padding:14px 18px; border-bottom:1px solid var(--border);}
.svc-table td{padding:15px 18px; vertical-align:top; color:var(--text-secondary); line-height:1.5; border-bottom:1px solid var(--border);}
.svc-table tr:last-child td{border-bottom:none;}
.svc-table td strong{color:var(--text-primary);}
.svc-table .per{color:var(--text-muted); font-size:0.82rem;}
.table-note{font-size:0.88rem !important; color:var(--text-muted); margin-top:-6px;}

.included-list{list-style:none; counter-reset:inc; padding:0; margin:20px 0 0;}
.included-list li{counter-increment:inc; display:grid; grid-template-columns:48px minmax(0, 1fr); gap:14px; padding:20px 0; border-top:1px solid var(--border);}
.included-list li:last-child{border-bottom:1px solid var(--border);}
.included-list li::before{content:counter(inc, decimal-leading-zero); font-family:var(--font-display); font-weight:800; font-size:1.15rem; color:var(--accent);}
.included-list p{font-size:0.97rem; margin-bottom:0;}

.callout{background:var(--bg-card); border:1px solid var(--border-light); border-radius:18px; padding:24px;}
.callout-head{display:flex; gap:14px; align-items:flex-start; margin-bottom:6px;}
.callout-head svg{width:26px; height:26px; stroke:var(--accent); fill:none; flex-shrink:0; margin-top:2px;}
.callout-head p{margin-bottom:0;}
.callout ul{margin:14px 0 0; padding-left:24px; color:var(--text-secondary); display:flex; flex-direction:column; gap:10px;}
.callout li{font-size:0.98rem; line-height:1.6;}
.callout .callout-link{margin:16px 0 0; font-size:0.92rem;}

.inline-cta{display:flex; align-items:center; justify-content:space-between; gap:18px; flex-wrap:wrap; margin-top:22px; padding:20px 22px; background:rgba(0,230,118,0.06); border:1px solid rgba(0,230,118,0.3); border-radius:16px;}
.inline-cta p{margin:0; font-size:0.98rem; max-width:46ch;}

.timeline{list-style:none; margin:20px 0 0; padding:0; display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:14px;}
.timeline li{background:var(--bg-card); border:1px solid var(--border); border-radius:16px; padding:18px; display:flex; flex-direction:column; gap:8px;}
.timeline strong{font-size:0.8rem; color:var(--accent); font-family:var(--font-display);}
.timeline span{font-size:0.9rem; line-height:1.55; color:var(--text-secondary);}
.author-box{display:flex; gap:18px; align-items:flex-start; background:var(--bg-card); border:1px solid var(--border); border-radius:18px; padding:24px;}
.author-mark{width:48px; height:48px; border-radius:50%; background:rgba(0,230,118,0.1); display:flex; align-items:center; justify-content:center; flex-shrink:0;}
.author-mark svg{width:24px; height:24px; stroke:var(--accent); fill:none;}
.author-name{font-family:var(--font-display); font-weight:700; color:var(--text-primary); margin-bottom:0 !important;}
.author-role{font-size:0.85rem !important; color:var(--text-muted); margin-bottom:10px !important;}
.author-box p{font-size:0.95rem !important;}
.author-meta{font-size:0.82rem !important; color:var(--text-muted); margin-bottom:0 !important;}

.related-list{list-style:none; padding:0; margin:0 0 14px; display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:12px;}
.related-list a{display:flex; align-items:center; justify-content:space-between; gap:10px; padding:16px 18px; background:var(--bg-card); border:1px solid var(--border); border-radius:14px; text-decoration:none !important; color:var(--text-primary) !important; font-weight:500; transition:border-color 0.2s ease;}
.related-list a:hover{border-color:var(--accent);}
.related-list svg{width:18px; height:18px; stroke:var(--accent); fill:none; flex-shrink:0;}
.text-link{font-weight:600;}.toc, .aside-cta{background:var(--bg-card); border:1px solid var(--border); border-radius:18px; padding:20px;}
.aside-title{font-family:var(--font-display); font-weight:700; font-size:0.95rem; color:var(--text-primary); margin-bottom:12px;}
.toc ol{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:2px;}
.toc a{display:block; padding:7px 10px; border-radius:8px; font-size:0.88rem; color:var(--text-muted); text-decoration:none; transition:color 0.15s ease, background 0.15s ease;}
.toc a:hover{color:var(--text-primary);}
.toc a.is-active{color:var(--accent); background:rgba(0,230,118,0.08);}
.aside-cta{display:flex; flex-direction:column; gap:10px;}
.aside-cta p{font-size:0.88rem; margin:0; max-width:none;}
.aside-cta .aside-title{margin-bottom:2px;}
.aside-cta .aside-note{font-size:0.8rem; color:var(--text-muted); text-align:center; margin-top:2px;}

.hub-section{margin-bottom:64px;}
.hub-grid{list-style:none; margin:20px 0 0; padding:0; display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:16px;}
.hub-grid a{display:flex; flex-direction:column; height:100%; padding:24px; background:var(--bg-card); border:1px solid var(--border); border-radius:18px; text-decoration:none; transition:border-color 0.2s ease, transform 0.2s ease;}
.hub-grid a:hover{border-color:rgba(0,230,118,0.5); transform:translateY(-2px);}
.hub-grid h3{font-size:1.1rem; margin-bottom:8px;}
.hub-grid p{font-size:0.92rem; flex-grow:1;}
.hub-grid .card-link{display:inline-flex; align-items:center; gap:8px; font-size:0.88rem; font-weight:600; color:var(--accent);}
.hub-grid .card-link svg{width:16px; height:16px; stroke:currentColor; fill:none;}
.hub-faq .faq-list{max-width:820px; margin:20px 0 0;}

/* industry links on the homepage */
.industry-links{display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin:36px auto 0; max-width:980px;}
.industry-links-label{width:100%; text-align:center; font-size:0.85rem; color:var(--text-muted); margin:0 0 4px; max-width:none;}
.industry-links a{padding:9px 16px; border:1px solid var(--border-light); border-radius:100px; font-size:0.86rem; color:var(--text-secondary); text-decoration:none; transition:border-color 0.2s ease, color 0.2s ease;}
.industry-links a:hover{border-color:var(--accent); color:var(--accent);}

@media (max-width:1040px){
  .svc-layout{grid-template-columns:minmax(0, 1fr); gap:0;}
  .svc-aside{display:none;}
  .hub-grid{grid-template-columns:repeat(2, minmax(0, 1fr));}
}
@media (max-width:820px){
  .timeline{grid-template-columns:repeat(2, minmax(0, 1fr));}
}
@media (max-width:560px){
  .svc-hero{padding:32px 0 40px;}
  .svc-body{padding-top:44px;}
  .svc-article section{margin-bottom:48px;}
  .timeline, .related-list, .hub-grid{grid-template-columns:minmax(0, 1fr);}
  .author-box{flex-direction:column;}
  .included-list li{grid-template-columns:36px minmax(0, 1fr); gap:10px;}
  .answer-box{padding:18px;}
  .takeaways{padding:18px;}
}


/* ---- refinements after visual QA ---- */
.svc-hero-inner{display:grid; grid-template-columns:minmax(0, 1.12fr) minmax(0, 0.88fr); column-gap:56px; grid-template-areas:"bc bc" "title ans" "lead ans" "act ans" "meta ans"; align-items:start;}.svc-table .price-cell{white-space:nowrap;}
.svc-table .price-cell [data-price]{font-family:var(--font-display); font-weight:800; font-size:1.1rem; color:var(--text-primary);}
.timeline{grid-template-columns:repeat(2, minmax(0, 1fr));}
.timeline li{padding:20px;}
@media (max-width:560px){ .timeline{grid-template-columns:minmax(0, 1fr);} }
.toc, .aside-cta{padding:16px 18px;}
.toc a{padding:5px 10px; font-size:0.85rem;}@media (max-height:860px){
  .aside-cta > p:not(.aside-title):not(.aside-note){display:none;}
}

/* hidden icon sprite (a class, not an inline style, so the strict CSP stays intact) */
.svg-sprite{display:none; position:absolute; width:0; height:0; overflow:hidden;}


/* ---- sticky cluster conflict fixes ---- */
.sticky-cluster.hide-cta .sticky-cta{display:none;}
.sticky-cluster.hide-all{display:none;}
/* the sidebar already carries a consultation button on wide screens, so the floating one is not needed there */
@media (min-width:1041px){ body:has(.svc-aside) .sticky-cta{display:none;} }
/* keep the end of the footer clear of the floating buttons on phones */
@media (max-width:560px){ .site-footer{padding-bottom:120px;} }


/* ---- one consultation button per context ---- */
/* Industry pages and the hub: the header button (and the sidebar card on desktop) already carry the
   consultation call to action, so the floating pill is dropped and only the WhatsApp circle floats. */
body:has(.svc-hero) .sticky-cta{display:none;}

/* ---- phones: tables become labelled cards instead of scrolling sideways ---- */
@media (max-width:640px){
  .table-wrap{overflow:visible; border:none; background:none; border-radius:0;}
  .svc-table{min-width:0; display:block;}
  .svc-table thead{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap;}
  .svc-table tbody{display:flex; flex-direction:column; gap:12px;}
  .svc-table tr{display:block; background:var(--bg-card); border:1px solid var(--border); border-radius:16px; padding:4px 16px;}
  .svc-table td{display:block; padding:11px 0; border-bottom:1px solid var(--border);}
  .svc-table tr td:last-child{border-bottom:none;}
  .svc-table td::before{content:attr(data-label); display:block; font-size:0.7rem; letter-spacing:0.05em; text-transform:uppercase; color:var(--text-muted); margin-bottom:3px;}
  .svc-table td.price-cell{white-space:normal;}
}
/* slightly tighter header button on phones */
@media (max-width:560px){ .site-header .btn{padding:10px 18px; font-size:0.86rem;} }


/* ---- sidebar must fit short laptop screens ---- */
@media (min-width:1041px){
  body:has(.svc-aside) .sticky-cluster{right:12px;}
}
@media (max-height:800px){
  .toc a{padding:3px 10px;}
  .toc, .aside-cta{padding:14px 16px;}
  .toc .aside-title{margin-bottom:8px;}
}
@media (max-height:680px){
  .aside-cta .aside-note{display:none;}
  .toc a{font-size:0.8rem; padding:2px 10px;}
}

/* ============================================================
   V2 COMPONENTS: hero, tiles, chips, pricing, entity map, popup
   ============================================================ */
.hero{position:relative; overflow:hidden; padding:56px 0 60px;}
.hero-slim{padding:48px 0 20px;}
.glow{position:absolute; border-radius:50%; filter:blur(120px); pointer-events:none; z-index:0;}
.glow-a{width:620px; height:620px; top:-240px; right:-160px; background:radial-gradient(circle, rgba(0,230,118,.16), transparent 70%);}
.glow-b{width:520px; height:520px; bottom:-280px; left:-180px; background:radial-gradient(circle, rgba(0,230,118,.08), transparent 70%);}
.hero-inner{position:relative; z-index:2;}
.breadcrumb{font-size:.82rem; color:var(--text-muted); margin-bottom:22px;}
.breadcrumb ol{list-style:none; display:flex; flex-wrap:wrap; gap:6px 8px; padding:0; margin:0;}
.breadcrumb li+li::before{content:"/"; margin-right:8px; color:var(--border-light);}
.breadcrumb a{text-decoration:none;} .breadcrumb a:hover{color:var(--accent);} .breadcrumb [aria-current="page"]{color:var(--text-secondary);}
.hero-grid{display:grid; grid-template-columns:1.15fr .85fr; gap:48px; align-items:start;}
.hero-copy h1{font-family:var(--font-display); font-weight:800; font-size:clamp(2rem,4.4vw,3.1rem); line-height:1.1; letter-spacing:-.01em; margin:14px 0 16px; max-width:20ch;}
.hero-kicker{display:inline-flex; align-items:center; gap:8px; font-size:.82rem; font-weight:600; letter-spacing:.02em; text-transform:uppercase; color:var(--accent); background:rgba(0,230,118,.08); border:1px solid rgba(0,230,118,.3); padding:6px 14px; border-radius:999px; margin:0;}
.hero-kicker svg{width:15px; height:15px; stroke:var(--accent); fill:none;}
.hero-lead{font-size:1.1rem; line-height:1.6; color:var(--text-secondary); max-width:60ch;}
.hero-actions{display:flex; flex-wrap:wrap; gap:14px; margin-top:26px;}
.hero-chips{list-style:none; display:flex; flex-wrap:wrap; gap:10px 20px; padding:0; margin:22px 0 0; font-size:.84rem; color:var(--text-muted);}
.hero-chips li{display:inline-flex; align-items:center; gap:7px;}
.hero-chips svg{width:15px; height:15px; stroke:var(--accent); fill:none;}
.answer-card{background:var(--bg-card); border:1px solid rgba(0,230,118,.3); border-radius:18px; padding:24px; position:relative;}
.answer-label{display:flex; align-items:center; gap:8px; font-family:var(--font-display); font-weight:700; font-size:.78rem; letter-spacing:.04em; text-transform:uppercase; color:var(--accent); margin:0 0 12px;}
.answer-label svg{width:17px; height:17px; stroke:var(--accent); fill:none;}
.answer-text{font-size:1rem; line-height:1.65; color:var(--text-primary); margin:0;}
.answer-meta{font-size:.78rem; color:var(--text-muted); margin:14px 0 0;}
.hero-channels{list-style:none; margin:0 0 18px; padding:0; display:flex; flex-direction:column; gap:12px;}
.hero-channels li{display:flex; align-items:center; gap:10px; font-size:.98rem; color:var(--text-secondary);}
.hero-channels svg{width:18px; height:18px; stroke:var(--accent); fill:none; flex-shrink:0;}
.answer-cta{display:inline-flex; align-items:center; gap:8px; font-weight:600; color:var(--accent); text-decoration:none;}
.answer-cta svg{width:16px; height:16px; stroke:currentColor; fill:none;}
@media (max-width:900px){ .hero-grid{grid-template-columns:1fr; gap:28px;} .hero-copy h1{max-width:none;} }

.band{padding:64px 0; position:relative;}
.band-alt{background:var(--bg-card);}
.wrap.narrow,.band .wrap.narrow{max-width:860px;}
.band h2{font-family:var(--font-display); font-weight:700; font-size:clamp(1.5rem,2.6vw,2rem); line-height:1.2; margin:0 0 18px;}
.band h2.center{text-align:center;}
.band-intro{font-size:1.05rem; color:var(--text-secondary); max-width:62ch;}
.band-intro.center{margin-left:auto; margin-right:auto; text-align:center;}
.band p{font-size:1.02rem; line-height:1.72; color:var(--text-secondary);}
.band.narrow p, .wrap.narrow p{max-width:70ch;}

.stat-bar{padding:34px 0; border-top:1px solid var(--border); border-bottom:1px solid var(--border); background:var(--bg-card);}
.stat-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:24px; text-align:center;}
.stat-num{display:block; font-family:var(--font-display); font-weight:800; font-size:clamp(1.8rem,4vw,2.4rem); color:var(--accent); margin-bottom:6px;}
.stat p{font-size:.86rem; color:var(--text-muted); margin:0; max-width:22ch; margin-inline:auto;}
@media (max-width:640px){ .stat-grid{grid-template-columns:1fr 1fr; gap:22px 16px;} }

.takeaways{list-style:none; margin:0; padding:24px; background:var(--bg-card); border:1px solid var(--border); border-radius:18px; display:flex; flex-direction:column; gap:14px;}
.takeaways li{display:flex; gap:12px; align-items:flex-start; font-size:1.02rem; line-height:1.6; color:var(--text-secondary);}
.takeaways svg{width:20px; height:20px; stroke:var(--accent); fill:none; flex-shrink:0; margin-top:3px;}

.feature-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:12px;}
.feature-card{background:var(--bg); border:1px solid var(--border); border-radius:16px; padding:26px 22px; transition:border-color .2s ease, transform .2s ease;}
.band-alt .feature-card{background:var(--bg-card-glass);}
.feature-card:hover{border-color:rgba(0,230,118,.4); transform:translateY(-3px);}
.feature-icon{width:44px; height:44px; border-radius:12px; background:rgba(0,230,118,.1); display:flex; align-items:center; justify-content:center; margin-bottom:16px;}
.feature-icon svg{width:22px; height:22px; stroke:var(--accent); fill:none;}
.feature-card h3{font-size:1.08rem; margin:0 0 8px;}
.feature-card p{font-size:.94rem; line-height:1.6; margin:0; color:var(--text-secondary);}
@media (max-width:900px){ .feature-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:560px){ .feature-grid{grid-template-columns:1fr;} }

.tile-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
.tile{display:flex; flex-direction:column; background:var(--bg); border:1px solid var(--border); border-radius:16px; padding:26px 22px; text-decoration:none; transition:border-color .2s ease, transform .2s ease;}
.tile:hover{border-color:rgba(0,230,118,.5); transform:translateY(-3px);}
.tile-icon{width:44px; height:44px; border-radius:12px; background:rgba(0,230,118,.1); display:flex; align-items:center; justify-content:center; margin-bottom:16px;}
.tile-icon svg{width:22px; height:22px; stroke:var(--accent); fill:none;}
.tile h3{font-size:1.08rem; margin:0 0 6px;}
.tile p{font-size:.92rem; color:var(--text-secondary); flex:1; margin:0 0 14px;}
.tile-link{display:inline-flex; align-items:center; gap:7px; font-size:.86rem; font-weight:600; color:var(--accent);}
.tile-link svg{width:15px; height:15px; stroke:currentColor; fill:none;}
@media (max-width:900px){ .tile-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:560px){ .tile-grid{grid-template-columns:1fr;} }

.chip-cloud{display:flex; flex-wrap:wrap; justify-content:center; gap:10px; max-width:1000px; margin:28px auto 0;}
.chip-cloud a{padding:9px 16px; border:1px solid var(--border-light); border-radius:999px; font-size:.88rem; color:var(--text-secondary); text-decoration:none; transition:border-color .2s ease, color .2s ease, background .2s ease;}
.chip-cloud a:hover{border-color:var(--accent); color:var(--accent); background:rgba(0,230,118,.06);}

.hub-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px;}
.hub-card{display:flex; flex-direction:column; background:var(--bg-card); border:1px solid var(--border); border-radius:16px; padding:24px; text-decoration:none; transition:border-color .2s ease, transform .2s ease;}
.hub-card:hover{border-color:rgba(0,230,118,.5); transform:translateY(-2px);}
.hub-card h3{font-size:1.05rem; margin:0 0 8px;}
.hub-card p{font-size:.9rem; color:var(--text-secondary); flex:1; margin:0 0 14px;}
@media (max-width:900px){ .hub-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:560px){ .hub-grid{grid-template-columns:1fr;} }

.data-table{width:100%; border-collapse:collapse; font-size:.95rem;}
.table-wrap{overflow-x:auto; border:1px solid var(--border); border-radius:16px; background:var(--bg-card); margin:18px 0;}
.data-table th{text-align:left; font-size:.72rem; letter-spacing:.05em; text-transform:uppercase; color:var(--text-muted); font-weight:600; padding:14px 18px; border-bottom:1px solid var(--border);}
.data-table td{padding:15px 18px; vertical-align:top; color:var(--text-secondary); line-height:1.5; border-bottom:1px solid var(--border);}
.data-table tr:last-child td{border-bottom:none;}
.data-table td strong{color:var(--text-primary);}
@media (max-width:640px){
  .data-table,.data-table tbody,.data-table tr,.data-table td{display:block;}
  .data-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);}
  .table-wrap{overflow:visible;border:none;background:none;}
  .data-table tr{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:4px 16px;margin-bottom:12px;}
  .data-table td{border-bottom:1px solid var(--border);padding:11px 0;}
  .data-table tr td:last-child{border-bottom:none;}
  .data-table td::before{content:attr(data-label);display:block;font-size:.68rem;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);margin-bottom:3px;}
}

.steps{list-style:none; counter-reset:s; margin:12px 0 0; padding:0; display:flex; flex-direction:column; gap:14px;}
.steps li{display:grid; grid-template-columns:auto 1fr; gap:16px; align-items:start; background:var(--bg); border:1px solid var(--border); border-radius:14px; padding:20px;}
.band-alt .steps li{background:var(--bg-card-glass);}
.step-n{font-family:var(--font-display); font-weight:800; font-size:1.1rem; color:var(--accent);}
.steps h3{font-size:1.02rem; margin:0 0 4px;} .steps p{font-size:.94rem; margin:0;}

.ai-mock{margin:20px 0;}
.ai-bubble{background:var(--bg-card); border:1px solid rgba(0,230,118,.3); border-radius:16px; padding:18px 20px; max-width:560px;}
.band-alt .ai-bubble{background:var(--bg);}
.ai-bubble-label{display:inline-flex; align-items:center; gap:7px; font-size:.74rem; color:var(--text-muted); margin-bottom:8px;}
.ai-bubble-label svg{width:15px; height:15px; stroke:var(--accent); fill:none;}
.ai-bubble p{margin:0; font-size:1rem; color:var(--text-primary);}

.callout{background:var(--bg); border:1px solid var(--border-light); border-radius:18px; padding:24px;}
.band-alt .callout{background:var(--bg-card-glass);}
.callout-head{display:flex; gap:14px; align-items:flex-start; margin-bottom:6px;}
.callout-head svg{width:26px; height:26px; stroke:var(--accent); fill:none; flex-shrink:0; margin-top:2px;}
.callout-head p{margin:0;}
.callout ul{margin:14px 0 0; padding-left:22px; color:var(--text-secondary); display:flex; flex-direction:column; gap:10px;}
.callout li{font-size:.98rem; line-height:1.6;}
.callout-link{margin:16px 0 0; font-size:.92rem;}

.price-grid{display:grid; grid-template-columns:1fr 1.1fr 1fr; gap:18px; align-items:start; max-width:1080px; margin:8px auto 0;}
.price-card{background:var(--bg); border:1px solid var(--border); border-radius:20px; padding:30px 26px; position:relative; display:flex; flex-direction:column;}
.band-alt .price-card{background:var(--bg-card-glass);}
.price-card-feat{border-color:var(--accent); box-shadow:0 0 50px var(--glow);}
.price-badge{position:absolute; top:-13px; left:50%; transform:translateX(-50%); background:var(--accent); color:var(--bg); font-family:var(--font-display); font-weight:700; font-size:.72rem; padding:5px 14px; border-radius:100px;}
.price-tier{font-family:var(--font-display); font-weight:700; font-size:1.2rem; color:var(--text-primary); margin:0;}
.price-tag{font-size:.86rem; color:var(--text-muted); margin:2px 0 14px;}
.price-amount{font-family:var(--font-display); font-weight:800; font-size:2.6rem; color:var(--text-primary); line-height:1; margin:0 0 20px;}
.price-per{font-family:var(--font-body); font-weight:500; font-size:.9rem; color:var(--text-muted);}
.price-feats{list-style:none; margin:0 0 24px; padding:0; display:flex; flex-direction:column; gap:11px; flex:1;}
.price-feats li{display:flex; align-items:flex-start; gap:9px; font-size:.92rem; color:var(--text-secondary);}
.price-feats svg{width:16px; height:16px; stroke:var(--accent); fill:none; flex-shrink:0; margin-top:2px;}
.price-custom{text-align:center; margin:36px auto 0; max-width:620px; display:flex; flex-direction:column; align-items:center; gap:14px;}
.price-custom p{margin:0; font-size:1rem;}
@media (max-width:900px){ .price-grid{grid-template-columns:1fr; max-width:460px;} .price-card-feat{order:-1;} }

.results-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:12px;}
.result-card{background:var(--bg-card); border:1px solid var(--border); border-radius:16px; padding:24px;}
.result-top{display:flex; align-items:center; gap:12px; margin-bottom:10px;}
.result-before{font-family:var(--font-display); font-weight:700; font-size:1.4rem; color:var(--text-muted);}
.result-after{font-family:var(--font-display); font-weight:800; font-size:2rem; color:var(--accent);}
.result-arrow{width:22px; height:22px; stroke:var(--text-muted); fill:none;}
.result-card p{font-size:.9rem; margin:0; color:var(--text-secondary);}
@media (max-width:760px){ .results-grid{grid-template-columns:1fr;} }

.trust-label{font-size:.82rem; color:var(--text-muted); margin:0 0 16px;}
.trust-row{display:flex; flex-wrap:wrap; justify-content:center; gap:10px;}
.trust-badge{display:inline-flex; align-items:center; gap:8px; padding:9px 16px; border-radius:100px; border:1px solid var(--border); font-size:.82rem; color:var(--text-secondary);}
.trust-badge svg{width:15px; height:15px; stroke:var(--accent); fill:none;}
.trust-badge strong{color:var(--text-primary); font-weight:600;}

.faq-list{display:flex; flex-direction:column; margin-top:8px;}
.faq-item{border-top:1px solid var(--border);}
.faq-item:last-child{border-bottom:1px solid var(--border);}
.faq-item summary{display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 0; cursor:pointer; list-style:none; font-family:var(--font-display); font-weight:600; font-size:1.02rem; color:var(--text-primary);}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary svg{width:18px; height:18px; stroke:var(--text-muted); flex-shrink:0; transition:transform .2s ease;}
.faq-item[open] summary svg{transform:rotate(180deg); stroke:var(--accent);}
.faq-a{padding:0 0 18px;} .faq-a p{font-size:.96rem; margin:0;}

.cta-strip{padding:34px 0; border-top:1px solid var(--border); border-bottom:1px solid var(--border); background:linear-gradient(180deg, rgba(0,230,118,.05), transparent);}
.cta-strip-inner{display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap;}
.cta-strip-inner p{font-family:var(--font-display); font-weight:700; font-size:1.15rem; color:var(--text-primary); margin:0;}
@media (max-width:640px){ .cta-strip-inner{flex-direction:column; align-items:stretch; text-align:center;} }

.related-grid{list-style:none; margin:0 0 18px; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:12px;}
.related-grid a{display:flex; align-items:center; justify-content:space-between; gap:10px; padding:16px 18px; background:var(--bg); border:1px solid var(--border); border-radius:14px; text-decoration:none; color:var(--text-primary); font-weight:500; transition:border-color .2s ease;}
.band-alt .related-grid a{background:var(--bg-card-glass);}
.related-grid a:hover{border-color:var(--accent);}
.related-grid svg{width:18px; height:18px; stroke:var(--accent); fill:none; flex-shrink:0;}
.text-link{display:inline-flex; align-items:center; gap:7px; font-weight:600; color:var(--accent); text-decoration:none;}
.text-link svg{width:16px; height:16px; stroke:currentColor; fill:none;}
@media (max-width:900px){ .related-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:560px){ .related-grid{grid-template-columns:1fr;} }

.author-box{display:flex; gap:18px; align-items:flex-start; background:var(--bg-card); border:1px solid var(--border); border-radius:18px; padding:24px;}
.author-mark{width:48px; height:48px; border-radius:50%; background:rgba(0,230,118,.1); display:flex; align-items:center; justify-content:center; flex-shrink:0;}
.author-mark svg{width:24px; height:24px; stroke:var(--accent); fill:none;}
.author-name{font-family:var(--font-display); font-weight:700; color:var(--text-primary); margin:0;}
.author-role{font-size:.85rem; color:var(--text-muted); margin:0 0 10px;}
.author-box p{font-size:.95rem;} .author-meta{font-size:.82rem; color:var(--text-muted); margin:0;}
@media (max-width:560px){ .author-box{flex-direction:column;} }

.contact-zone{padding:72px 0; border-top:1px solid var(--border); background:var(--bg-card);}
.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:start;}
.contact-copy .kicker{font-size:.82rem; font-weight:600; text-transform:uppercase; letter-spacing:.04em; color:var(--accent); margin:0 0 8px;}
.contact-copy h2{font-family:var(--font-display); font-weight:700; font-size:clamp(1.6rem,3vw,2.2rem); margin:0 0 12px;}
.contact-points{list-style:none; margin:20px 0; padding:0; display:flex; flex-direction:column; gap:12px;}
.contact-points li{display:flex; gap:10px; align-items:flex-start; font-size:.98rem; color:var(--text-secondary);}
.contact-points svg{width:18px; height:18px; stroke:var(--accent); fill:none; flex-shrink:0; margin-top:3px;}
.contact-direct{display:flex; gap:12px; flex-wrap:wrap; margin-top:8px;}
.contact-direct-link{display:inline-flex; align-items:center; gap:8px; padding:11px 18px; border:1px solid var(--border-light); border-radius:10px; color:var(--text-primary); text-decoration:none; font-size:.9rem; transition:border-color .2s ease;}
.contact-direct-link:hover{border-color:var(--accent);}
.contact-direct-link svg{width:17px; height:17px; stroke:var(--accent); fill:none;}
.contact-form-panel{background:var(--bg); border:1px solid var(--border); border-radius:18px; padding:20px;}
.contact-form-panel iframe{display:block; border:0; width:100%;}
.form-fallback{text-align:center; font-size:.8rem; color:var(--text-muted); margin:14px 0 0;}
.form-fallback a{color:var(--accent); text-decoration:underline; text-underline-offset:2px;}
@media (max-width:860px){ .contact-grid{grid-template-columns:1fr; gap:32px;} }

/* footer v2 */
.footer-top{display:grid; grid-template-columns:1.3fr 2.7fr; gap:40px; padding:56px 0 40px;}
.footer-brand .footer-text{font-size:.9rem; color:var(--text-muted); max-width:40ch; margin:16px 0;}
.footer-brand .footer-contact{font-size:.88rem;} .footer-brand .footer-contact svg{width:15px; height:15px; stroke:var(--accent); fill:none; vertical-align:middle; margin-right:6px;}
.footer-brand a{color:var(--text-secondary);} .footer-brand .brand a,.footer-brand .brand{color:var(--text-primary);}
.footer-cols{display:grid; grid-template-columns:repeat(4,1fr); gap:24px;}
.footer-col-title{font-size:.74rem; letter-spacing:.06em; text-transform:uppercase; color:var(--text-muted); margin:0 0 12px;}
.footer-col ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px;}
.footer-col a{font-size:.88rem; color:var(--text-secondary); text-decoration:none;}
.footer-col a:hover{color:var(--accent);}
.footer-bottom{display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; border-top:1px solid var(--border); padding:24px 0;}
.footer-copy,.footer-legal{font-size:.82rem; color:var(--text-muted); margin:0;}
.footer-legal a{color:var(--text-muted); text-decoration:none;} .footer-legal a:hover{color:var(--accent);}
@media (max-width:860px){ .footer-top{grid-template-columns:1fr; gap:28px;} .footer-cols{grid-template-columns:1fr 1fr;} }

/* entity map */
.ent-meta{display:flex; flex-wrap:wrap; gap:10px 28px; margin-top:16px; font-size:.86rem; color:var(--text-muted);}
.ent-meta strong{color:var(--text-primary);}
.entity-list{display:flex; flex-direction:column; gap:14px;}
.entity{background:var(--bg-card); border:1px solid var(--border); border-radius:16px; padding:24px; scroll-margin-top:90px;}
.entity h2{font-size:1.2rem; margin:0 0 10px; display:flex; align-items:center; gap:10px; flex-wrap:wrap;}
.ent-type{font-size:.7rem; letter-spacing:.05em; text-transform:uppercase; color:var(--accent); background:rgba(0,230,118,.1); padding:3px 9px; border-radius:999px;}
.entity>p{font-size:.96rem; color:var(--text-secondary);}
.ent-sub{font-size:.72rem; letter-spacing:.06em; text-transform:uppercase; color:var(--text-muted); margin:16px 0 8px;}
.ent-sameas-row{display:flex; flex-wrap:wrap; gap:10px; margin-top:12px;}
.ent-sameas{display:inline-flex; align-items:center; gap:6px; font-size:.8rem; color:var(--accent); text-decoration:none;}
.ent-sameas svg{width:14px; height:14px; stroke:currentColor; fill:none;}
.ent-rels{margin-top:4px;}
.ent-rel{display:inline-flex; align-items:center; gap:6px; font-size:.76rem; color:var(--text-muted); margin:0 10px 8px 0;}
.ent-rel a{color:var(--text-secondary); text-decoration:none; background:var(--bg); border:1px solid var(--border); padding:3px 9px; border-radius:6px;}
.ent-ev{border-left:2px solid var(--accent); margin:0 0 10px; padding:4px 0 4px 14px; font-size:.9rem; color:var(--text-secondary); font-style:italic;}
.ent-ev cite{display:block; font-style:normal; font-size:.78rem; color:var(--text-muted); margin-top:4px;}
.ent-conf{display:inline-block; font-style:normal; font-weight:700; color:var(--accent); margin-right:8px;}

/* html sitemap + legal */
.sitemap-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:28px;}
.sitemap-group h2{font-size:1.1rem; margin:0 0 12px;}
.sitemap-group ul{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:6px 16px;}
.sitemap-group a{font-size:.9rem; color:var(--text-secondary); text-decoration:none;}
.sitemap-group a:hover{color:var(--accent);}
@media (max-width:760px){ .sitemap-grid{grid-template-columns:1fr;} .sitemap-group ul{grid-template-columns:1fr;} }
.legal-updated{font-size:.85rem; color:var(--text-muted);}
.legal-body h2{font-size:1.2rem; margin:28px 0 10px;} .legal-body h2:first-child{margin-top:0;}
.legal-body p,.legal-body li{font-size:.98rem; color:var(--text-secondary); line-height:1.7;}
.legal-body ul{padding-left:22px;} .legal-body a{color:var(--accent); text-decoration:underline; text-underline-offset:2px;} .legal-body strong{color:var(--text-primary);}

/* exit-intent popup */
.exit-popup{position:fixed; inset:0; z-index:400; display:flex; align-items:center; justify-content:center; padding:20px;}
.exit-popup-backdrop{position:absolute; inset:0; background:rgba(0,0,0,.72); backdrop-filter:blur(4px);}
.exit-popup-card{position:relative; background:var(--bg-card); border:1px solid rgba(0,230,118,.35); border-radius:22px; padding:36px 32px; max-width:480px; width:100%; box-shadow:0 40px 100px rgba(0,0,0,.6); animation:popin .3s cubic-bezier(.2,.7,.2,1);}
@keyframes popin{from{opacity:0; transform:translateY(20px) scale(.97);} to{opacity:1; transform:none;}}
.exit-popup-close{position:absolute; top:14px; right:14px; background:none; border:none; cursor:pointer; color:var(--text-muted); padding:6px; border-radius:8px;}
.exit-popup-close:hover{color:var(--text-primary); background:rgba(255,255,255,.06);}
.exit-popup-close svg{width:20px; height:20px;}
.exit-popup-badge{display:inline-flex; align-items:center; gap:7px; font-size:.78rem; font-weight:600; text-transform:uppercase; letter-spacing:.04em; color:var(--accent); background:rgba(0,230,118,.1); border:1px solid rgba(0,230,118,.3); padding:5px 13px; border-radius:999px; margin-bottom:16px;}
.exit-popup-badge svg{width:15px; height:15px; stroke:var(--accent); fill:none;}
.exit-popup-card h2{font-family:var(--font-display); font-weight:800; font-size:1.5rem; line-height:1.2; margin:0 0 10px;}
.exit-popup-card>p{font-size:.98rem; color:var(--text-secondary); margin:0 0 16px;}
.exit-popup-points{list-style:none; margin:0 0 22px; padding:0; display:flex; flex-direction:column; gap:10px;}
.exit-popup-points li{display:flex; gap:10px; align-items:center; font-size:.92rem; color:var(--text-secondary);}
.exit-popup-points svg{width:17px; height:17px; stroke:var(--accent); fill:none; flex-shrink:0;}
.exit-popup-actions{display:flex; flex-direction:column; gap:10px;}
@media (max-width:560px){ .exit-popup-card{padding:28px 22px;} }

.svg-sprite{display:none;}
.nav-item.mega-open .mega{opacity:1; visibility:visible; transform:translateX(-50%) translateY(0);}
.nav-item.mega-open .nav-caret{transform:rotate(180deg);}
@media (max-width:420px){
  .ent-rel{flex-wrap:wrap;}
  .ent-rel a{word-break:break-word;}
  .ent-meta{gap:8px 16px;}
  .entity{padding:20px 16px;}
}
.ent-sameas{max-width:100%; overflow-wrap:anywhere; word-break:break-word;}
.ent-sameas-row{max-width:100%;}
@media (max-width:420px){ .ent-sameas{font-size:.74rem;} }

/* ============================================================
   DEEP CONTENT COMPONENTS (hierarchical depth)
   ============================================================ */
.band-toc{padding:28px 0 0;}
.page-toc{background:var(--bg-card); border:1px solid var(--border); border-radius:16px; padding:22px 24px;}
.page-toc-title{font-family:var(--font-display); font-weight:700; font-size:.8rem; letter-spacing:.06em; text-transform:uppercase; color:var(--text-muted); margin:0 0 12px;}
.page-toc ol{list-style:none; margin:0; padding:0; columns:2; column-gap:28px;}
.page-toc li{margin-bottom:8px; break-inside:avoid;}
.page-toc a{display:inline-flex; align-items:center; gap:8px; font-size:.9rem; color:var(--text-secondary); text-decoration:none; transition:color .15s ease;}
.page-toc a::before{content:"→"; color:var(--accent); font-size:.85em;}
.page-toc a:hover{color:var(--accent);}
@media (max-width:560px){ .page-toc ol{columns:1;} }

.subsections{display:flex; flex-direction:column; gap:28px; margin-top:8px;}
.subsection{}
.subsection h3{font-family:var(--font-display); font-weight:700; font-size:1.2rem; color:var(--text-primary); margin:0 0 10px; padding-left:16px; border-left:3px solid var(--accent);}
.subsection p{font-size:1.02rem; line-height:1.75; color:var(--text-secondary); margin:0 0 12px;}
.subsection p:last-child{margin-bottom:0;}

.check-groups{display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:12px;}
.check-group{background:var(--bg-card); border:1px solid var(--border); border-radius:16px; padding:24px;}
.band-alt .check-group{background:var(--bg-card-glass);}
.check-group h3{font-family:var(--font-display); font-weight:700; font-size:1.05rem; margin:0 0 14px;}
.check-list{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px;}
.check-list li{display:flex; gap:10px; align-items:flex-start; font-size:.95rem; line-height:1.55; color:var(--text-secondary);}
.check-list svg{width:18px; height:18px; stroke:var(--accent); fill:none; flex-shrink:0; margin-top:3px;}
.check-list strong{color:var(--text-primary);}
@media (max-width:760px){ .check-groups{grid-template-columns:1fr;} }

.compare-grid{display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:12px;}
.compare-col{border-radius:16px; padding:24px; border:1px solid var(--border);}
.compare-problem{background:rgba(239,68,68,.05); border-color:rgba(239,68,68,.2);}
.compare-solution{background:rgba(0,230,118,.05); border-color:rgba(0,230,118,.25);}
.compare-col h3{font-family:var(--font-display); font-weight:700; font-size:1.05rem; margin:0 0 14px;}
.compare-problem ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px;}
.compare-problem li{display:flex; gap:10px; align-items:flex-start; font-size:.95rem; line-height:1.55; color:var(--text-secondary);}
.compare-problem li::before{content:"✕"; color:#ef4444; font-weight:700; flex-shrink:0;}
.compare-solution ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px;}
.compare-solution li{display:flex; gap:10px; align-items:flex-start; font-size:.95rem; line-height:1.55; color:var(--text-secondary);}
.compare-solution svg{width:18px; height:18px; stroke:var(--accent); fill:none; flex-shrink:0; margin-top:3px;}
@media (max-width:640px){ .compare-grid{grid-template-columns:1fr;} }

/* scroll-margin so TOC jumps clear the sticky header */
section[id],.band[id]{scroll-margin-top:90px;}
.mt-lg{margin-top:28px;} .mt-md{margin-top:24px;}
.data-table td.cell-strong{color:var(--text-primary); font-weight:600;}

/* wide mega panel (industries/locations) */
.mega-full{padding:24px; width:max-content; max-width:min(94vw,720px);}
.mega-wide{}
.mega-lists{display:grid; grid-template-columns:repeat(3,minmax(150px,1fr)); gap:4px 28px;}
.mega-list{list-style:none; margin:0; padding:0;}
.mega-list li{margin:0;}
.mega-list a{display:block; padding:8px 10px; border-radius:8px; font-size:.88rem; color:var(--text-secondary); text-decoration:none; white-space:nowrap; transition:color .15s ease, background .15s ease;}
.mega-list a:hover{color:var(--accent); background:rgba(0,230,118,.08);}
.mega-all{display:inline-flex; align-items:center; gap:8px; margin-top:16px; padding:10px 14px; border-radius:10px; background:rgba(0,230,118,.1); color:var(--accent); font-weight:600; font-size:.88rem; text-decoration:none;}
.mega-all svg{width:15px; height:15px; stroke:currentColor; fill:none;}
.mega-all:hover{background:rgba(0,230,118,.16);}
@media (max-width:1080px){ .mega-full,.mega{display:none;} }

/* in-content mid-page CTA */
.mid-cta{padding:0 0 8px;}
.mid-cta-inner{display:flex; align-items:center; gap:18px; flex-wrap:wrap; background:linear-gradient(120deg, rgba(0,230,118,.1), rgba(0,230,118,.03)); border:1px solid rgba(0,230,118,.3); border-radius:18px; padding:22px 26px;}
.mid-cta-spark{width:26px; height:26px; stroke:var(--accent); fill:none; flex-shrink:0;}
.mid-cta-inner p{flex:1; min-width:220px; margin:0; font-family:var(--font-display); font-weight:700; font-size:1.08rem; color:var(--text-primary);}
.mid-cta-inner .btn{flex-shrink:0;}
@media (max-width:560px){ .mid-cta-inner{flex-direction:column; align-items:stretch; text-align:center;} .mid-cta-inner .btn{width:100%;} }

/* ============================================================
   HOMEPAGE V3 — dynamic hero + rich sections
   ============================================================ */
.hero-home{padding:64px 0 72px;}
.hero-grid-bg{position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px); background-size:48px 48px; mask-image:radial-gradient(ellipse 80% 60% at 50% 0%,#000 30%,transparent 75%); -webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 0%,#000 30%,transparent 75%); z-index:0;}
.h1-accent{color:var(--accent); display:inline;}
.hero-home h1{font-size:clamp(2.1rem,4.6vw,3.4rem);}

.hero-visual{position:relative; display:flex; align-items:center; justify-content:center; min-height:340px;}
.rank-card{width:100%; max-width:400px; background:linear-gradient(170deg,var(--bg-card),#0d1420); border:1px solid var(--border); border-radius:20px; padding:22px; box-shadow:0 30px 80px rgba(0,0,0,.5); position:relative; z-index:2;}
.rank-card-head{display:flex; align-items:center; gap:9px; margin-bottom:18px;}
.rank-dot{width:9px; height:9px; border-radius:50%; background:var(--accent); box-shadow:0 0 0 4px rgba(0,230,118,.15); animation:pulse-dot 2s ease-in-out infinite;}
@keyframes pulse-dot{0%,100%{box-shadow:0 0 0 3px rgba(0,230,118,.15);}50%{box-shadow:0 0 0 7px rgba(0,230,118,.04);}}
.rank-card-title{font-size:.86rem; color:var(--text-secondary); font-weight:500; flex:1;}
.rank-live{font-size:.62rem; font-weight:700; letter-spacing:.08em; color:var(--accent); background:rgba(0,230,118,.12); padding:3px 8px; border-radius:5px;}
.rank-list{display:flex; flex-direction:column; gap:10px;}
.rank-row{display:flex; align-items:center; gap:12px; opacity:0; transform:translateX(-8px); animation:rank-in .5s ease forwards; }
@keyframes rank-in{to{opacity:1; transform:none;}}
.rank-pos{width:22px; height:22px; border-radius:6px; background:var(--bg); border:1px solid var(--border); display:flex; align-items:center; justify-content:center; font-size:.74rem; font-weight:700; color:var(--text-muted); flex-shrink:0;}
.rank-bar{flex:1; height:8px; background:var(--bg); border-radius:999px; overflow:hidden;}
.rank-fill{display:block; height:100%; width:0; background:var(--border-light); border-radius:999px; animation:rank-fill 1s ease forwards;}
@keyframes rank-fill{to{width:var(--w,55%);}}
.rank-row:nth-child(1) .rank-fill{--w:92%;} .rank-row:nth-child(2) .rank-fill{--w:68%;} .rank-row:nth-child(3) .rank-fill{--w:50%;} .rank-row:nth-child(4) .rank-fill{--w:38%;}
.rank-label{font-size:.82rem; color:var(--text-muted); width:98px; flex-shrink:0;}
.rank-you .rank-pos{background:var(--accent); color:var(--bg); border-color:var(--accent);}
.rank-you .rank-fill{background:linear-gradient(90deg,var(--accent),var(--accent-hover));}
.rank-you .rank-label{color:var(--text-primary); font-weight:600;}
.rank-card-foot{display:flex; align-items:center; gap:9px; margin-top:18px; padding-top:16px; border-top:1px solid var(--border); font-size:.82rem; color:var(--text-secondary);}
.rank-card-foot svg{width:17px; height:17px; stroke:var(--accent); fill:none;}
.float-badge{position:absolute; display:inline-flex; align-items:center; gap:7px; background:var(--bg-card); border:1px solid rgba(0,230,118,.35); border-radius:12px; padding:9px 13px; font-size:.8rem; font-weight:600; color:var(--text-primary); box-shadow:0 14px 34px rgba(0,0,0,.45); z-index:3;}
.float-badge svg{width:15px; height:15px; stroke:var(--accent); fill:none;}
.float-badge-1{top:8px; right:-6px; animation:float-y 4s ease-in-out infinite;}
.float-badge-2{bottom:16px; left:-10px; animation:float-y 4.6s ease-in-out infinite .6s;}
@keyframes float-y{0%,100%{transform:translateY(0);}50%{transform:translateY(-10px);}}
@media (prefers-reduced-motion:reduce){.rank-row,.rank-fill,.float-badge,.rank-dot{animation:none; opacity:1; transform:none;} .rank-fill{width:var(--w,55%);}}
@media (max-width:900px){ .hero-visual{min-height:0; margin-top:8px;} .float-badge-1{right:4px;} .float-badge-2{left:4px;} }

.logo-strip{padding:26px 0; border-top:1px solid var(--border); border-bottom:1px solid var(--border);}
.logo-strip .wrap{display:flex; align-items:center; gap:28px; flex-wrap:wrap; justify-content:center;}
.logo-strip-label{font-size:.78rem; letter-spacing:.06em; text-transform:uppercase; color:var(--text-muted); margin:0;}
.logo-strip-row{display:flex; gap:12px; flex-wrap:wrap; justify-content:center;}
.logo-chip{font-family:var(--font-display); font-weight:700; font-size:.98rem; color:var(--text-secondary); opacity:.75; transition:opacity .2s ease, color .2s ease;}
.logo-chip:hover{opacity:1; color:var(--text-primary);}

.section-head{margin-bottom:36px;}
.section-eyebrow{text-align:center; font-size:.78rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--accent); margin:0 0 10px;}

.split-grid{display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center;}
.split-copy h2{font-size:clamp(1.5rem,2.8vw,2.1rem); margin:6px 0 14px;}
.split-list{list-style:none; margin:20px 0 26px; padding:0; display:flex; flex-direction:column; gap:12px;}
.split-list li{display:flex; gap:10px; align-items:flex-start; font-size:1rem; color:var(--text-secondary);}
.split-list svg{width:18px; height:18px; stroke:var(--accent); fill:none; flex-shrink:0; margin-top:3px;}
.split-visual{display:flex; justify-content:center;}
.ai-chat{width:100%; max-width:420px; display:flex; flex-direction:column; gap:14px;}
.ai-chat-q{background:var(--bg); border:1px solid var(--border); border-radius:14px 14px 14px 4px; padding:14px 16px; font-size:.92rem; color:var(--text-primary); display:flex; align-items:center; gap:8px; align-self:flex-start; max-width:85%;}
.ai-chat-q svg{width:16px; height:16px; stroke:var(--text-muted); fill:none; flex-shrink:0;}
.ai-chat-a{background:linear-gradient(160deg,rgba(0,230,118,.1),rgba(0,230,118,.03)); border:1px solid rgba(0,230,118,.3); border-radius:14px 14px 4px 14px; padding:16px; align-self:flex-end; max-width:92%;}
.ai-chat-badge{display:inline-flex; align-items:center; gap:6px; font-size:.72rem; font-weight:600; color:var(--accent); margin-bottom:8px;}
.ai-chat-badge svg{width:14px; height:14px; stroke:var(--accent); fill:none;}
.ai-chat-a p{margin:0; font-size:.94rem; color:var(--text-primary); line-height:1.55;}
.ai-chat-a strong{color:var(--accent);}
@media (max-width:860px){ .split-grid{grid-template-columns:1fr; gap:32px;} }

.result-metric{display:flex; align-items:center; gap:12px; margin-bottom:12px;}
.result-label{font-family:var(--font-display); font-weight:700; font-size:1rem; color:var(--text-primary); margin:0;}
.result-sub{font-size:.84rem; color:var(--text-muted); margin:4px 0 0;}

.loc-cols{display:grid; grid-template-columns:1fr 1fr; gap:28px; max-width:900px; margin:0 auto;}
.loc-col-title{display:flex; align-items:center; justify-content:center; gap:8px; font-family:var(--font-display); font-weight:700; font-size:1rem; color:var(--text-primary); margin:0 0 16px;}
.loc-col-title svg{width:18px; height:18px; stroke:var(--accent); fill:none;}
.chip-cloud-tight{margin-top:0;}
@media (max-width:700px){ .loc-cols{grid-template-columns:1fr; gap:24px;} }

.process-band{padding:64px 0; background:var(--bg-card); border-top:1px solid var(--border); border-bottom:1px solid var(--border);}
.process-timeline{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; position:relative;}
.process-timeline::before{content:""; position:absolute; top:26px; left:16%; right:16%; height:2px; background:linear-gradient(90deg,transparent,var(--border-light),transparent);}
.process-step{text-align:center; position:relative;}
.process-num{width:52px; height:52px; border-radius:50%; background:var(--bg); border:2px solid var(--accent); color:var(--accent); font-family:var(--font-display); font-weight:800; font-size:1.3rem; display:flex; align-items:center; justify-content:center; margin:0 auto 16px; position:relative; z-index:1;}
.process-step h3{font-size:1.1rem; margin:0 0 8px;}
.process-step p{font-size:.92rem; color:var(--text-secondary); margin:0; max-width:30ch; margin-inline:auto;}
@media (max-width:700px){ .process-timeline{grid-template-columns:1fr; gap:28px;} .process-timeline::before{display:none;} }
.result-metric > svg{width:24px; height:24px; stroke:var(--text-muted); fill:none; flex-shrink:0;}
.split-copy .btn svg,.hero-actions .btn svg{width:17px; height:17px;}
.tile-link svg,.text-link svg,.mega-all svg{flex-shrink:0;}

.rank-row:nth-child(1){animation-delay:.30s;} .rank-row:nth-child(2){animation-delay:.45s;} .rank-row:nth-child(3){animation-delay:.60s;} .rank-row:nth-child(4){animation-delay:.75s;}
.rank-row:nth-child(1) .rank-fill{animation-delay:.50s;} .rank-row:nth-child(2) .rank-fill{animation-delay:.65s;} .rank-row:nth-child(3) .rank-fill{animation-delay:.80s;} .rank-row:nth-child(4) .rank-fill{animation-delay:.95s;}

/* benefits + who sections */
.benefits-grid,.who-grid{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:14px 24px;}
.benefits-grid li,.who-grid li{display:flex;gap:11px;align-items:flex-start;font-size:1rem;line-height:1.55;color:var(--text-secondary);}
.benefits-grid svg,.who-grid svg{width:19px;height:19px;stroke:var(--accent);fill:none;flex-shrink:0;margin-top:2px;}
.benefits-grid strong,.who-grid strong{color:var(--text-primary);}
@media (max-width:640px){ .benefits-grid,.who-grid{grid-template-columns:1fr;} }
