/* Ensure final CTA caption is visible and readable on mobile */
@media (max-width: 600px) {
  .final-title {
    font-size: 1.35rem !important;
    text-align: center;
    padding: 0 0.5rem;
    display: block;
  }
}
/* Home page styles: modern, mobile-first, accessible */
:root {
  --page-max: 1200px;
  --gap-2: .5rem; --gap-3: .75rem; --gap-4: 1rem; --gap-6: 1.5rem; --gap-8: 2rem; --gap-10: 2.5rem; --gap-12: 3rem; --gap-16: 4rem;
  --card-bg: var(--surface-1); --card-border: var(--border); --card-radius: .75rem; --ring: var(--primary);
  --dark-bg: var(--surface-1); --dark-card: var(--surface-2); --dark-border: var(--elevated-border); --text-muted: var(--gray-600);
}

.no-scroll-x, html, body { max-width: 100%; overflow-x: hidden; }
img, video, svg { max-width: 100%; height: auto; }

/* Mobile contrast polish for light sections on home */
@media (max-width: 640px) {
  /* Assessment explainer block directly under hero */
  [aria-label="Assessment explainer"] p { color: var(--gray-900) !important; }
  [aria-label="Assessment explainer"] strong { color: var(--gray-900) !important; }
  /* Orchestration vs Automation and problems sections */
  #orchestration-vs-automation h2, .problems .section-title { color: var(--gray-900) !important; }
  #orchestration-vs-automation p, #orchestration-vs-automation li, .problems p { color: var(--gray-800) !important; }
}

.container { max-width: var(--page-max); margin-inline: auto; padding-inline: 1.5rem; }
.section { padding-block: clamp(3.5rem, 7.8vw, 5.5rem); }
.section-title { font-size: clamp(1.5rem, 2.5vw, 2rem); font-weight: 800; letter-spacing: -0.01em; margin-bottom: var(--gap-12); text-align:center; }

/* Cards */
.cards { display: grid; gap: var(--gap-6); }
.cards.threeUp { grid-template-columns: repeat(3, minmax(0,1fr)); }
.cards.fourUp { grid-template-columns: repeat(4, minmax(0,1fr)); }
@media (max-width: 1024px){ .cards.fourUp{ grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 800px){ .cards.threeUp{ grid-template-columns: repeat(1, minmax(0,1fr)); } }
@media (max-width: 640px){ .cards.fourUp{ grid-template-columns: repeat(1, minmax(0,1fr)); } }

.card { background: var(--card-bg); border: 1px solid var(--card-border); border-radius: var(--card-radius); padding: var(--gap-6); box-shadow: 0 1px 2px rgba(0,0,0,.03); transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.card:hover { transform: translateY(-2px); box-shadow: 0 8px 25px rgba(var(--primary-rgb),.12); border-color: rgba(var(--primary-rgb),.38); }
.card-title { font-size: 1.125rem; font-weight: 700; margin-bottom: .25rem; }
.card-body { color: var(--gray-600); }
.card .icon { width: 40px; height: 40px; border-radius: .5rem; display: inline-grid; place-items: center; background: linear-gradient(135deg, var(--surface-3), rgba(var(--secondary-rgb), .1)); color: var(--primary-700); font-size: 1.25rem; margin-bottom: .75rem; }
.card .icon svg { stroke: var(--primary-700); fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

/* Hero split */
.hero-split { padding: 120px 0 40px; position: relative; background: linear-gradient(180deg, var(--surface-2), var(--surface-1)); }
.hero-grid { display:grid; grid-template-columns: 1.2fr 1fr; gap: clamp(1.5rem, 4vw, 3rem); align-items:center; }
.hero-copy .eyebrow { color: var(--primary); font-weight:800; text-transform:uppercase; letter-spacing:.06em; font-size:.85rem; margin-bottom:.5rem; }
.hero-copy .display { font-size: clamp(2.25rem, 5.6vw, 4rem); font-weight: 900; letter-spacing:-0.02em; line-height:1.05; margin-bottom:.75rem; }
.hero-copy .lead { font-size: clamp(1.125rem, 1.8vw, 1.25rem); color: var(--gray-700); max-width: 60ch; }
.hero-copy .actions { display:flex; gap:.75rem; flex-wrap:wrap; margin-top:1rem; }
.metrics { display:flex; gap:1rem; flex-wrap:wrap; margin-top:1rem; }
.metric { background: var(--surface-1); border:1px solid var(--gray-200); border-radius:.75rem; padding:.75rem 1rem; display:flex; flex-direction:column; min-width: 160px; }
.metric .num { font-weight:800; font-size:1.125rem; }
.metric .label { color: var(--gray-500); font-weight:600; font-size:.85rem; }
.hero-media .media-frame { border-radius:1rem; overflow:hidden; border:1px solid var(--gray-200); box-shadow: 0 20px 40px rgba(2,6,23,.12); }
.media-video { display:block; width:100%; height:100%; object-fit:cover; object-position: 50% 35%; aspect-ratio: 16 / 10; }
.marquee { overflow:hidden; border-top:1px solid var(--gray-200); border-bottom:1px solid var(--gray-200); margin-top: 1.25rem; }
.marquee-track { display:flex; gap: clamp(2rem, 6vw, 4rem); align-items:center; animation: marquee 26s linear infinite; padding: .75rem 0; }
.marquee img { height: 28px; opacity:.8; filter: grayscale(1) contrast(1.05); }
@keyframes marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (max-width: 900px){ .hero-grid{ grid-template-columns:1fr; } }

/* Full background hero variant */
.hero-full { position: relative; min-height: clamp(560px, 90vh, 920px); padding: 96px 0 48px; overflow: clip; background: var(--black); }
.hero-full .bg { position:absolute; inset:0; z-index:0; pointer-events:none; }
.hero-full .video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 40%; filter: saturate(1) contrast(1.05) brightness(.9); display:block; }
/* Stronger layered overlay for improved legibility */
.hero-full .overlay { position:absolute; inset:0; z-index:1; background:
  radial-gradient(120% 120% at 50% 20%, rgba(var(--black-rgb),.18), rgba(var(--black-rgb),0) 60%),
  linear-gradient(180deg, rgba(var(--scrim-rgb),.72) 0%, rgba(var(--scrim-rgb),.48) 42%, rgba(var(--scrim-rgb),.58) 100%); }
.hero-full .container { position:relative; z-index:2; }
/* Subtle glass backdrop to keep text readable without hiding motion */
.hero-full .content { max-width: 860px; margin-inline:auto; text-align:center; backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); padding: clamp(1rem, 2.5vw, 2rem); border-radius: 1rem; background: linear-gradient(180deg, rgba(var(--scrim-rgb),.22), rgba(var(--scrim-rgb),.10)); border: 1px solid rgba(var(--white-rgb),.08); position: relative; z-index: 3; }
.hero-full .eyebrow { color: rgba(var(--primary-rgb), .75); font-weight:800; text-transform:uppercase; letter-spacing:.06em; font-size:.85rem; margin-bottom:.5rem; }
.hero-full .display { color: var(--text-inverse); font-size: clamp(2.5rem, 6vw, 4.25rem); font-weight:900; letter-spacing:-0.02em; line-height:1.06; margin-bottom:.75rem; }
.hero-full .lead { color: var(--gray-200); font-size: clamp(1.125rem, 1.8vw, 1.25rem); max-width: 65ch; margin-inline: auto; margin-top: .25rem; }
.hero-full .actions { display:flex; gap:.75rem; justify-content:center; flex-wrap:wrap; margin-top:1rem; }
@media (prefers-reduced-motion: reduce){ .hero-full .video{ display:none; } .hero-full .bg{ background:#0B0F1A url('../images/10.jpg') center/cover no-repeat; } }

/* Mobile containment + alignment for hero */
@media (max-width: 640px) {
  /* Top padding tuned to ensure CTA is visible above the fold with trust banner + fixed header */
  .hero-full { padding: calc(136px + env(safe-area-inset-top)) 0 24px !important; overflow: visible; }
  
  /* Enhanced mobile overlay for better text visibility */
  .hero-full .overlay { 
    background:
      radial-gradient(120% 120% at 50% 20%, rgba(0,0,0,0.65), rgba(0,0,0,0.35) 60%),
      linear-gradient(180deg, rgba(2,6,23,0.85) 0%, rgba(2,6,23,0.65) 42%, rgba(2,6,23,0.75) 100%) !important;
  }
  
  /* Stronger content background for mobile */
  .hero-full .content { 
    text-align: left; 
    padding: 1.2rem 1.1rem; 
    margin-inline: .9rem; 
    background: linear-gradient(180deg, rgba(2,6,23,0.45), rgba(2,6,23,0.25)) !important;
    border: 1px solid rgba(255,255,255,0.15) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
  }
  
  /* Enhanced text contrast for mobile */
  .hero-full .eyebrow { 
    font-size:.7rem; 
    margin-bottom:.5rem; 
    color: rgba(255,255,255,0.95) !important;
    text-shadow: 0 1px 3px rgba(0,0,0,0.8) !important;
  }
  
  .hero-full .display { 
    font-size: clamp(1.5rem, 6.6vw, 2rem) !important; 
    line-height: 1.12 !important; 
    margin-bottom:.5rem !important; 
    color: #FFFFFF !important;
    text-shadow: 0 2px 4px rgba(0,0,0,0.9) !important;
  }
  
  .hero-full .lead { 
    text-align: left; 
    font-size: clamp(.95rem, 3.6vw, 1.05rem) !important; 
    margin-bottom:.65rem !important; 
    color: rgba(255,255,255,0.92) !important;
    text-shadow: 0 1px 3px rgba(0,0,0,0.8) !important;
  }
  
  /* Mobile guarantee/trust text */
  .hero-full p:last-of-type {
    color: rgba(255,255,255,0.85) !important;
    text-shadow: 0 1px 2px rgba(0,0,0,0.7) !important;
  }
  
  .hero-full .actions { flex-direction: column; justify-content: flex-start !important; align-items: stretch; gap: .5rem; margin-top:.25rem; }
  .hero-full .actions .btn-primary,
  .hero-full .actions .btn-secondary-quiet { width: 100%; text-align: center; }
  
  /* Enhanced mobile header and logo fixes */
  .header {
    background: rgba(255, 255, 255, 0.96) !important;
    border-bottom: 1px solid rgba(229, 231, 235, 0.8) !important;
  }
  
  .logo {
    background: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }
  
  .logo span {
    color: var(--gray-900) !important;
  }
}

/* Desktop: nudge hero content slightly lower */
@media (min-width: 1024px) {
  .hero-full { padding-top: 112px; }
}

/* Enhanced mobile and tablet text visibility */
@media (max-width: 768px) {
  /* Strengthen overlay for better contrast on tablets and smaller phones */
  .hero-full .overlay { 
    background:
      radial-gradient(120% 120% at 50% 20%, rgba(0,0,0,0.6), rgba(0,0,0,0.3) 60%),
      linear-gradient(180deg, rgba(2,6,23,0.8) 0%, rgba(2,6,23,0.6) 42%, rgba(2,6,23,0.7) 100%);
  }
  
  /* Enhanced text shadows for all hero text elements on mobile/tablet */
  .hero-full .eyebrow { 
    text-shadow: 0 1px 3px rgba(0,0,0,0.7);
  }
  
  .hero-full .display { 
    text-shadow: 0 2px 4px rgba(0,0,0,0.8);
    color: #FFFFFF;
  }
  
  .hero-full .lead { 
    text-shadow: 0 1px 3px rgba(0,0,0,0.7);
    color: rgba(255,255,255,0.9);
  }
  
  /* Override inline styles for better mobile visibility */
  .hero-full p[style] {
    color: rgba(255,255,255,0.9) !important;
    text-shadow: 0 1px 3px rgba(0,0,0,0.7) !important;
  }
  
  /* Enhance content background on mobile/tablet */
  .hero-full .content { 
    background: linear-gradient(180deg, rgba(2,6,23,0.35), rgba(2,6,23,0.15));
    border: 1px solid rgba(255,255,255,0.12);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
  }
}

/* RESPONSIVE FIXES: sections after hero using inline grid columns */
/* Quick-Win Solutions grid (inline sets 2 columns) */
@media (max-width: 800px) {
  .qw-grid { grid-template-columns: 1fr !important; }
}

/* Impact grid (inline sets 3 columns) */
@media (max-width: 1024px) {
  .impact-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 800px) {
  .impact-grid { grid-template-columns: 1fr !important; }
}

/* How We Work mini-grid (no class, defined inline) */
@media (max-width: 1024px) {
  .how-brief .hero-container > div[style*="grid-template-columns"] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 800px) {
  .how-brief .hero-container > div[style*="grid-template-columns"] { grid-template-columns: 1fr !important; }
}

/* Prevent flex children from causing overflow due to long tokens */
.qw-card, .impact-card { min-width: 0; }
.qw-card *, .impact-card * { word-wrap: break-word; overflow-wrap: anywhere; }

/* Reveal animations */
.js .reveal { opacity: 0; transform: translateY(16px); transition: opacity .6s ease, transform .6s ease; }
.js .reveal.is-visible { opacity: 1; transform: translateY(0); }
@media (prefers-reduced-motion: reduce){ .js .reveal { opacity:1; transform:none; } }

/* Outcomes */
.outcomes { background: var(--surface-1); }
.outcomes-grid { display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: var(--gap-6); }
.outcome { background: var(--card-bg); border:1px solid var(--card-border); border-radius: .75rem; padding: var(--gap-6); box-shadow: 0 8px 25px rgba(2,6,23,.04); }
.outcome-num { font-size: 1.25rem; font-weight: 800; margin-bottom:.35rem; }
.outcome-text { color: var(--gray-600); }
@media (max-width: 900px){ .outcomes-grid{ grid-template-columns:1fr; } }
.steps-h { background: radial-gradient(120% 120% at 10% -10%, rgba(var(--primary-rgb),.08), transparent 40%) var(--surface-2); }
.steps-horizontal { list-style:none; display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: var(--gap-6); }
.step-h { background: var(--surface-1); border:1px dashed var(--gray-200); border-radius:.75rem; padding: var(--gap-6); display:grid; grid-template-columns:auto 1fr; gap: var(--gap-4); align-items:start; }
.step-badge { width: 36px; height:36px; border-radius:999px; background: var(--surface-3); color: var(--primary-700); display:grid; place-items:center; font-weight:800; }
.step-body h3 { font-size:1rem; font-weight:800; margin-bottom:.25rem; }
.step-body p { color: var(--gray-600); }
@media (max-width: 900px){ .steps-horizontal{ grid-template-columns:1fr; } }
/* Featured cases */
.featured-cases { background: var(--surface-1); }
.cases-grid { display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: var(--gap-6); }
.case-card { display:grid; grid-template-rows: 180px auto; border:1px solid var(--gray-200); border-radius: .75rem; overflow:hidden; text-decoration:none; color:inherit; background: var(--surface-1); transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.case-card:hover { transform: translateY(-2px); box-shadow: 0 16px 40px rgba(var(--primary-rgb),.18); border-color: rgba(var(--primary-rgb),.38); }
.case-media { background-size: cover; background-position: center; }
.case-body { padding: var(--gap-6); }
.case-body h3 { font-weight:800; margin-bottom:.25rem; }
.case-body p { color: var(--gray-600); }
.case-link { color: var(--primary); font-weight:700; }
@media (max-width: 900px){ .cases-grid{ grid-template-columns:1fr; } }
/* Testimonial hero */
.testimonial-hero { padding: var(--gap-16) 0; background: radial-gradient(120% 120% at 10% -10%, rgba(var(--primary-rgb),.14), transparent 40%) var(--dark-bg); color:#F1F5F9; border-block:1px solid rgba(255,255,255,.08); }
.testi { display:grid; gap: var(--gap-6); place-items:center; text-align:center; }
.testi-quote { max-width: 900px; }
.testi-quote p { font-size: clamp(1.25rem, 2.6vw, 1.75rem); font-weight: 800; letter-spacing:-0.01em; }
.testi-name { color:#CBD5E1; }

/* Mobile contrast fixes for testimonial hero */
@media (max-width: 768px) {
  .testimonial-hero { 
    background: #0F172A !important; 
    color: #FEFEFE !important; 
  }
  .testi-quote p { 
    color: #FEFEFE !important; 
  }
  .testi-name { 
    color: #E5E7EB !important; 
  }
}

/* Alternating dark sections */
.alt-dark { background: radial-gradient(120% 120% at 10% -10%, rgba(var(--primary-rgb),.12), transparent 40%) var(--dark-bg); }
.alt-dark .section-title { color: #F8FAFC; }
.alt-dark .card { background: var(--dark-card); border-color: var(--dark-border); }
.alt-dark .card-body, .alt-dark .step-text { color: #CBD5E1; }
.alt-dark .step { background: var(--dark-card); border-color: var(--dark-border); }

/* Mobile contrast fixes for dark sections */
@media (max-width: 768px) {
  .alt-dark { 
    background: #0F172A !important; 
  }
  .alt-dark .section-title { 
    color: #FEFEFE !important; 
  }
  .alt-dark .card { 
    background: #1F2937 !important; 
    border-color: #6B7280 !important; 
  }
  .alt-dark .card-body, .alt-dark .step-text { 
    color: #E5E7EB !important; 
  }
  
  /* Enhanced FAQ mobile contrast fixes */
  .alt-dark .faq-item { 
    background: #1F2937 !important; 
    border-color: #4B5563 !important; 
  }
  .alt-dark .faq-item.active { 
    background: #374151 !important; 
    border-color: #6B7280 !important; 
  }
  .alt-dark .faq-trigger { 
    color: #FEFEFE !important; 
  }
  .alt-dark .faq-panel { 
    color: #E5E7EB !important; 
  }
  .alt-dark .faq-panel p { 
    color: #E5E7EB !important; 
  }
  .alt-dark .faq-preface { 
    color: #D1D5DB !important; 
  }
  
  /* Fix logo background blending on mobile */
  .header {
    background: rgba(255, 255, 255, 0.98) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
  }
  
  .logo {
    background: transparent !important;
    color: var(--gray-900) !important;
  }
  
  .logo svg {
    background: transparent !important;
  }
}

/* Spotlight */
.spotlight { display:grid; gap: var(--gap-6); align-items:center; }
.spotlight-content { max-width: 900px; margin-inline:auto; text-align:center; }
.spotlight-kicker { color: var(--primary); font-weight:800; text-transform:uppercase; letter-spacing:.04em; font-size:.85rem; }
.spotlight-title { font-size: clamp(1.75rem, 3vw, 2rem); font-weight: 800; letter-spacing: -0.01em; }
.spotlight-text { color: var(--text-muted); max-width: 60ch; margin: .5rem auto 0; }
.spotlight-cta { display:flex; gap: .75rem; justify-content:center; margin-top: .75rem; flex-wrap: wrap; }

/* Testimonial */
.testimonial { background: linear-gradient(180deg, rgba(15,23,42,.04), rgba(15,23,42,.0)); }
.testimonial-inner { display:grid; gap: var(--gap-6); max-width: 900px; margin-inline:auto; text-align:center; }
.quote { font-size: clamp(1.125rem, 2.2vw, 1.5rem); font-weight: 700; line-height: 1.5; letter-spacing: -0.01em; }
.quote-mark { color: var(--primary); font-size: 1.75rem; margin-right:.25rem; }
.quote-meta { display:flex; gap:.5rem; align-items:center; justify-content:center; color: var(--gray-600); }
.quote-meta img { height: 28px; filter: grayscale(1); opacity:.9; }

/* Stepper */
.stepper { list-style: none; display: grid; gap: var(--gap-6); counter-reset: step; }
.step { display: grid; grid-template-columns: auto 1fr; gap: var(--gap-4); align-items: start; padding: var(--gap-6); border: 1px dashed var(--gray-200); border-radius: var(--card-radius); background: var(--surface-1); }
.step-index { width: 36px; height: 36px; border-radius: 999px; display: grid; place-items: center; background: var(--surface-3); color: var(--primary-700); font-weight: 800; }
.step-title { font-weight: 700; margin-bottom: .25rem; }
.step-text { color: var(--gray-600); }

/* CTA strip */
.cta-strip { background: linear-gradient(135deg, var(--surface-3), rgba(var(--secondary-rgb), .1)); padding-block: var(--gap-12); border-block: 1px solid var(--gray-200); }
.strip { display: grid; gap: var(--gap-4); align-items: center; justify-items: center; text-align: center; }
.strip-title { font-size: clamp(1.25rem, 2vw, 1.5rem); font-weight: 800; }
.btn-cta-secondary { padding: .875rem 1.25rem; border-radius: .5rem; }

/* Final CTA */
.final-cta { background: radial-gradient(120% 120% at 10% -10%, rgba(var(--primary-rgb),.14), transparent 40%) var(--surface-2); }
.final { display: grid; gap: var(--gap-4); place-items: center; text-align: center; }
.final-title { font-size: clamp(1.5rem, 3vw, 2rem); font-weight: 800; color: var(--gray-900); }
.btn-cta-final { padding: 1rem 1.25rem; border-radius: .5rem; }

/* Bottom CTA (white band) */
.bottom-cta { background: var(--surface-1); border-top:1px solid var(--gray-200); border-bottom:1px solid var(--gray-200); padding: clamp(3rem,6vw,4rem) 0; position:relative; overflow:hidden; }
.bottom-cta::before { content:""; position:absolute; inset:0; background:radial-gradient(90% 90% at 15% -10%, rgba(var(--primary-rgb),.08), rgba(var(--secondary-rgb),.05) 42%, transparent 70%); pointer-events:none; }
.bottom-cta-inner { max-width: 960px; margin:0 auto; text-align:center; position:relative; z-index:1; display:grid; gap:1rem; }
.bottom-cta-title { font-size:clamp(1.75rem,4.5vw,2.5rem); font-weight:800; letter-spacing:-0.02em; color: var(--gray-900); margin:0; }
.bottom-cta-text { font-size:clamp(1.05rem,1.6vw,1.25rem); color: var(--gray-700); max-width: 70ch; margin:0 auto; line-height:1.5; }
.bottom-cta-actions { display:flex; justify-content:center; flex-wrap:wrap; gap:.75rem; margin-top:.5rem; }
.bottom-cta-btn { font-size:1rem; font-weight:800; letter-spacing:.02em; }
.bottom-cta-note { margin: .5rem 0 0; color: var(--gray-500); font-size:.7rem; letter-spacing:.02em; }
@media (max-width: 640px){
  .bottom-cta-title { font-size:clamp(1.5rem,7vw,2rem); }
  .bottom-cta-text { font-size:1rem; padding:0 .5rem; }
  .bottom-cta-actions .btn-primary { width:100%; justify-content:center; }
}
@media (prefers-color-scheme: dark){
  .bottom-cta { background: var(--surface-1); border-color: rgba(255,255,255,.08); }
  .bottom-cta-title { color:#F8FAFC; }
  .bottom-cta-text { color:#CBD5E1; }
  .bottom-cta-note { color:#94A3B8; }
}

/* Dark mode: keep final-cta readable on light background */
@media (prefers-color-scheme: dark) {
  .final-cta .final-title { color: var(--gray-900) !important; }
}

/* Footer */
.site-footer { border-top: 1px solid var(--gray-200); background: var(--surface-1); }
.footer { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: var(--gap-4); padding-block: var(--gap-8); }
.footer-brand { font-weight: 800; color: var(--gray-900); text-decoration: none; }
.footer-nav { display: flex; gap: var(--gap-4); justify-content: center; flex-wrap: wrap; }
.footer-nav a { color: var(--gray-600); text-decoration: none; font-weight: 600; }
.footer-nav a:hover { color: var(--primary); }
.footer p { text-align: right; color: var(--gray-500); }
@media (max-width: 720px){ .footer{ grid-template-columns: 1fr; justify-items: center; text-align: center; } .footer p{ text-align: center; } }

/* FAQ accordion */
  .faq-list { display: grid; gap: var(--gap-3); }
  .faq-item { background: var(--surface-1); border:1px solid var(--gray-200); border-radius: .875rem; overflow:hidden; transition: border-color .22s ease, box-shadow .22s ease, background-color .22s ease; }
  .faq-item:hover { border-color: rgba(var(--primary-rgb),.35); box-shadow: 0 10px 30px rgba(17,24,39,.08); }
  .faq-item.active { border-color: rgba(var(--primary-rgb),.45); box-shadow: 0 12px 36px rgba(var(--primary-rgb),.12); background: linear-gradient(180deg, rgba(var(--primary-rgb),.03), rgba(var(--secondary-rgb),.02)); }
  .faq-trigger { width:100%; text-align:left; background:transparent; border:0; padding: 1rem 2.5rem 1rem 1.125rem; font-weight:850; font-size: clamp(1rem, 1.2vw, 1.0625rem); letter-spacing:-0.012em; cursor:pointer; position:relative; color: var(--gray-900); }
  .faq-trigger::after { content: ""; position:absolute; right:1rem; top:50%; width:11px; height:11px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform: translateY(-50%) rotate(-45deg); transition: transform .26s ease, opacity .2s ease; opacity:.8; }
  .faq-trigger[aria-expanded="true"]::after { transform: translateY(-50%) rotate(135deg); }
  .faq-panel { padding: 0 1.125rem .75rem 1.125rem; color: var(--gray-700); }
  .faq-panel p { font-size: clamp(1.025rem, 1.5vw, 1.125rem); line-height: 1.75; letter-spacing: -0.006em; margin: .5rem 0 1rem 0; }
  /* Smooth transitions using max-height */
  .faq-panel { overflow: hidden; transition: max-height .3s cubic-bezier(0.22, 1, 0.36, 1); }
  @media (prefers-reduced-motion: reduce){ .faq-panel { transition: none; } }
.accordion-item::before { content:""; position:absolute; left:0; right:0; top:0; height:3px; background: linear-gradient(90deg, var(--primary), var(--secondary)); opacity:0; transition: opacity .2s ease; }
.accordion-summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: .75rem; padding: 1rem 2.5rem 1rem 1.25rem; font-weight: 800; position: relative; letter-spacing: -0.01em; }
.accordion-summary::after { content: ""; position: absolute; right: 1rem; top: 50%; width: 10px; height: 10px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-50%) rotate(-45deg); transition: transform .25s ease, opacity .2s ease; opacity: .8; }
.accordion-summary::-webkit-details-marker { display: none; }
.accordion-item[open] { border-color: rgba(var(--primary-rgb),.45); box-shadow: 0 10px 30px rgba(var(--primary-rgb),.15), 0 0 0 1px rgba(var(--primary-rgb),.12) inset; }
.accordion-item[open]::before { opacity: .9; }
.accordion-item[open] .accordion-summary::after { transform: translateY(-50%) rotate(135deg); }
.accordion-panel { padding: 0 1.125rem 1rem 1.125rem; color: var(--gray-700); will-change: height; }
.accordion-panel { overflow: hidden; transition: height .24s ease; }
@media (prefers-reduced-motion: reduce){ .accordion-panel { transition: none; } }
.accordion-panel p { font-size: clamp(1rem, 1.4vw, 1.125rem); line-height: 1.7; letter-spacing: -0.005em; margin: .35rem 0 0 0; }
.accordion-panel p + p { margin-top: .5rem; }
.accordion-panel strong { color: var(--gray-900); }

/* Minor FAQ polish */
.faq-preface { color: var(--text-muted); text-align:center; max-width:60ch; margin: .125rem auto 1.25rem; }
.alt-dark .faq-preface { color: #CBD5E1; }
.accordion-summary { padding: 1rem 1.125rem; }
.accordion-panel { padding: 0 .75rem 1rem 1.125rem; }
.accordion-item { transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease; }
.accordion-item { scroll-margin-top: 96px; }

/* FAQ in dark section */
  .alt-dark .faq-item { background: var(--surface-2); border-color: var(--elevated-border); }
  .alt-dark .faq-item.active { border-color: rgba(var(--primary-rgb),.5); box-shadow: 0 12px 36px rgba(var(--primary-rgb),.18); background: linear-gradient(180deg, rgba(var(--primary-rgb),.12), rgba(2,6,23,.0)); }
  .alt-dark .faq-trigger { color: var(--text); }
  .alt-dark .faq-panel { color: var(--text-muted); }
  /* Removed legacy .accordion-item dark rules */

/* Accessibility focus */
.btn-primary, .btn-secondary, .footer-nav a, .nav-link, .mobile-nav-link, .card, .accordion-summary { outline: none; }
.btn-primary:focus-visible, .btn-secondary:focus-visible, .footer-nav a:focus-visible, .nav-link:focus-visible, .mobile-nav-link:focus-visible, .card:focus-within, .accordion-summary:focus-visible { box-shadow: 0 0 0 3px rgba(var(--primary-rgb), .35); border-color: var(--ring); border-radius: .5rem; }

/* Small polish for existing header spacing to balance sections */
.header + .hero { scroll-margin-top: 80px; }

/* Reduce motion preference */
@media (prefers-color-scheme: dark){
  :root { --card-bg: var(--surface-2); --card-border: var(--elevated-border); }
  .card-body, .step-text, .footer p, .footer-nav a { color: var(--text-muted); }
  .accordion-item { background: var(--surface-2); border-color: var(--elevated-border); }
  .cta-strip { background: radial-gradient(80% 120% at 10% -10%, rgba(var(--primary-rgb),.22), rgba(var(--secondary-rgb),.18)); border-color: rgba(255,255,255,.06); }
  .site-footer { background: var(--surface-1); border-top-color: rgba(255,255,255,.08); }
  .footer-brand { color: var(--text-strong); }
}

/* Ensure Orchestration vs Automation remains readable on its light surface in dark mode */
@media (prefers-color-scheme: dark) {
  #orchestration-vs-automation :is(h2,h3,p,li) { color: var(--gray-900) !important; }
  #orchestration-vs-automation ul { list-style: disc outside; padding-left: 1.1rem !important; }
}
