/* Shared shell for top-level AdeDX site pages */
:root{
  --bg:#FFFFFF;
  --bg2:#F8F9FC;
  --bg3:#EEF0F6;
  --border:#E2E5EE;
  --border2:#C8CDD8;
  --accent:#2563EB;
  --accent-h:#1D4ED8;
  --accent2:#7C3AED;
  --accent3:#059669;
  --gold:#D97706;
  --text:#111827;
  --text2:#374151;
  --text3:#6B7280;
  --text4:#9CA3AF;
  --shadow:0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.05);
  --shadow-md:0 4px 12px rgba(0,0,0,.08);
  --shadow-lg:0 10px 25px rgba(0,0,0,.10);
  --radius:10px;
  --radius-lg:16px;
}

[data-theme="dark"]{
  --bg:#0F1117;
  --bg2:#161922;
  --bg3:#1E222E;
  --border:#252B3A;
  --border2:#363D52;
  --accent:#3B82F6;
  --accent-h:#60A5FA;
  --accent2:#8B5CF6;
  --accent3:#10B981;
  --gold:#F59E0B;
  --text:#F1F5F9;
  --text2:#CBD5E1;
  --text3:#94A3B8;
  --text4:#64748B;
  --shadow:0 1px 3px rgba(0,0,0,.35);
  --shadow-md:0 4px 12px rgba(0,0,0,.45);
  --shadow-lg:0 10px 25px rgba(0,0,0,.55);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--bg);
  color:var(--text);
  font-family:'Plus Jakarta Sans','Segoe UI',sans-serif;
  font-size:16px;
  line-height:1.75;
  -webkit-font-smoothing:antialiased;
  transition:background .25s,color .25s;
}
a{color:var(--accent);text-decoration:none;transition:color .15s}
a:hover{color:var(--accent-h)}
img{max-width:100%;display:block}

.site-header{
  position:sticky;
  top:0;
  z-index:100;
  background:var(--bg);
  border-bottom:1px solid var(--border);
  box-shadow:var(--shadow);
}

.header-inner{
  max-width:1280px;
  margin:0 auto;
  padding:0 24px;
  min-height:64px;
  display:flex;
  align-items:center;
  gap:8px;
}

.logo{
  font-family:'Syne',sans-serif;
  font-weight:800;
  font-size:1.7rem;
  letter-spacing:-.03em;
  color:var(--accent);
  margin-right:24px;
  flex-shrink:0;
}

.logo:hover{color:var(--accent-h)}

.main-nav{
  display:flex;
  align-items:center;
  gap:2px;
  flex:1;
  min-width:0;
}

.main-nav a{
  color:var(--text3);
  font-size:.875rem;
  font-weight:600;
  padding:6px 13px;
  border-radius:8px;
  transition:color .15s,background .15s;
}

.main-nav a:hover,
.main-nav a.active{
  color:var(--accent);
  background:color-mix(in srgb,var(--accent) 8%,transparent);
}

.nav-cta{
  background:var(--accent)!important;
  color:#fff!important;
  margin-left:8px;
  padding:7px 16px!important;
}

.nav-cta:hover{background:var(--accent-h)!important}

.header-right{
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:10px;
}

.header-badge{
  border:1px solid var(--border);
  background:var(--bg2);
  color:var(--text3);
  font-size:.78rem;
  font-weight:700;
  padding:7px 12px;
  border-radius:999px;
  white-space:nowrap;
}

.theme-btn{
  width:38px;
  height:38px;
  border-radius:8px;
  border:1px solid var(--border);
  background:var(--bg2);
  color:var(--text3);
  cursor:pointer;
  font-size:1rem;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:all .2s;
  flex-shrink:0;
}

.theme-btn:hover{
  border-color:var(--accent);
  color:var(--accent);
}

main{padding-bottom:48px}

.page-hero{
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 4%,var(--bg)) 0%,var(--bg) 100%);
  border-bottom:1px solid var(--border);
}

.page-hero::before{
  content:'';
  position:absolute;
  inset:0;
  background-image:
    radial-gradient(circle at 20% 40%,color-mix(in srgb,var(--accent) 8%,transparent) 0%,transparent 48%),
    radial-gradient(circle at 80% 18%,color-mix(in srgb,var(--accent2) 6%,transparent) 0%,transparent 44%);
  pointer-events:none;
}

.page-hero-inner,
.page-section .inner,
.site-footer .ft-inner{
  max-width:1280px;
  margin:0 auto;
  padding:0 24px;
}

.page-hero-inner{
  position:relative;
  padding:64px 24px 44px;
}

.breadcrumb{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  font-size:.82rem;
  color:var(--text4);
  margin-bottom:18px;
}

.breadcrumb a{color:var(--text4)}
.breadcrumb a:hover{color:var(--accent)}

.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:7px;
  background:color-mix(in srgb,var(--accent) 10%,var(--bg2));
  border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);
  color:var(--accent);
  border-radius:999px;
  padding:5px 15px;
  font-size:.74rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:20px;
}

.eyebrow .dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--accent3);
}

.page-title{
  font-family:'Syne',sans-serif;
  font-size:clamp(2.2rem,5vw,3.8rem);
  font-weight:800;
  letter-spacing:-.04em;
  line-height:1.08;
  max-width:860px;
  margin-bottom:18px;
}

.page-lead{
  max-width:760px;
  font-size:1.08rem;
  color:var(--text3);
  line-height:1.75;
}

.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:28px;
}

.hero-stats{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin-top:32px;
}

.hero-stat{
  background:var(--bg);
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  padding:18px;
  box-shadow:var(--shadow);
}

.hero-stat strong{
  display:block;
  font-family:'Syne',sans-serif;
  font-size:1.6rem;
  letter-spacing:-.03em;
  color:var(--accent);
  margin-bottom:4px;
}

.hero-stat span{
  display:block;
  color:var(--text3);
  font-size:.84rem;
  line-height:1.55;
}

.page-section{padding:56px 0 0}

.section-header{
  margin-bottom:24px;
  max-width:860px;
}

.section-label{
  display:block;
  font-size:.74rem;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--accent);
  margin-bottom:8px;
}

.section-title{
  font-family:'Syne',sans-serif;
  font-size:clamp(1.5rem,3vw,2.2rem);
  font-weight:800;
  letter-spacing:-.03em;
  line-height:1.18;
  margin-bottom:12px;
}

.section-copy{
  color:var(--text3);
  font-size:1rem;
  line-height:1.8;
}

.content-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}

.content-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.content-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}

.card{
  background:var(--bg);
  border:1.5px solid var(--border);
  border-radius:var(--radius-lg);
  padding:24px;
  box-shadow:var(--shadow);
  min-width:0;
}

.card h3{
  font-family:'Syne',sans-serif;
  font-size:1.05rem;
  font-weight:700;
  letter-spacing:-.01em;
  margin-bottom:12px;
}

.card p,
.card li{
  color:var(--text2);
  font-size:.96rem;
  line-height:1.82;
}

.card p + p{margin-top:12px}
.card ul{padding-left:18px}
.card li + li{margin-top:10px}

.card-note{
  margin-top:14px;
  padding:14px 16px;
  border-radius:12px;
  border:1px solid color-mix(in srgb,var(--accent) 18%,transparent);
  background:color-mix(in srgb,var(--accent) 5%,var(--bg2));
  color:var(--text2);
  font-size:.9rem;
}

.accent-card{
  background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 5%,var(--bg)) 0%,var(--bg) 100%);
}

.check-list{
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:12px;
}

.check-list li{
  display:flex;
  gap:10px;
  align-items:flex-start;
}

.check-list li::before{
  content:'✓';
  color:var(--accent3);
  font-weight:800;
  flex-shrink:0;
  margin-top:1px;
}

.cta-row{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border-radius:10px;
  padding:12px 20px;
  font-size:.92rem;
  font-weight:700;
  border:1px solid transparent;
  cursor:pointer;
  text-decoration:none;
  transition:all .18s;
}

.btn-primary{
  background:var(--accent);
  color:#fff;
}

.btn-primary:hover{
  background:var(--accent-h);
  color:#fff;
}

.btn-secondary{
  background:var(--bg2);
  border-color:var(--border2);
  color:var(--text2);
}

.btn-secondary:hover{
  border-color:var(--accent);
  color:var(--accent);
}

.faq-list{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.faq-item{
  background:var(--bg);
  border:1.5px solid var(--border);
  border-radius:var(--radius);
  padding:20px 22px;
  box-shadow:var(--shadow);
}

.faq-item h3{
  font-family:'Syne',sans-serif;
  font-size:1rem;
  margin-bottom:8px;
}

.faq-item p{
  color:var(--text2);
  font-size:.96rem;
  line-height:1.78;
}

.form-card label{
  display:block;
  font-size:.875rem;
  font-weight:700;
  color:var(--text2);
  margin-bottom:7px;
}

.form-card input,
.form-card select,
.form-card textarea{
  width:100%;
  background:var(--bg2);
  border:1.5px solid var(--border);
  color:var(--text);
  border-radius:12px;
  padding:12px 14px;
  font-size:.95rem;
  font-family:inherit;
  outline:none;
  margin-bottom:18px;
  transition:border-color .2s,box-shadow .2s,background .2s;
}

.form-card input:focus,
.form-card select:focus,
.form-card textarea:focus{
  border-color:var(--accent);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent);
  background:var(--bg);
}

.form-card textarea{
  resize:vertical;
  min-height:180px;
}

.form-card button{
  width:100%;
}

.info-stack{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.info-pill{
  border:1px solid var(--border);
  background:var(--bg2);
  border-radius:14px;
  padding:16px 18px;
}

.info-pill strong{
  display:block;
  font-size:.9rem;
  margin-bottom:4px;
}

.info-pill span{
  color:var(--text3);
  font-size:.9rem;
  line-height:1.65;
}

.site-footer{
  background:var(--bg2);
  border-top:1px solid var(--border);
  margin-top:64px;
  padding:56px 0 28px;
}

.ft-grid{
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1fr;
  gap:32px;
  margin-bottom:28px;
}

.ft-brand p{
  font-size:.9rem;
  color:var(--text3);
  line-height:1.78;
  max-width:330px;
  margin-top:12px;
}

.ft-col h4{
  font-family:'Syne',sans-serif;
  font-weight:700;
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:var(--text3);
  margin-bottom:14px;
}

.ft-col a{
  display:block;
  color:var(--text3);
  font-size:.89rem;
  margin-bottom:10px;
}

.ft-col a:hover{color:var(--accent)}

.ft-bottom{
  border-top:1px solid var(--border);
  padding-top:18px;
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:10px;
  color:var(--text4);
  font-size:.82rem;
}

@media (max-width:1080px){
  .hero-stats,
  .content-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ft-grid{grid-template-columns:1fr 1fr}
}

@media (max-width:820px){
  .main-nav a:not(.active):not(.nav-cta){display:none}
  .header-badge{display:none}
  .hero-stats,
  .content-grid,
  .content-grid.two,
  .content-grid.four,
  .ft-grid{grid-template-columns:1fr}
  .page-hero-inner{padding-top:48px;padding-bottom:34px}
  .page-title{font-size:2.25rem}
  .site-footer{padding-top:40px}
}

@media (max-width:540px){
  .header-inner,
  .page-hero-inner,
  .page-section .inner,
  .site-footer .ft-inner{padding-left:16px;padding-right:16px}
  .main-nav{gap:0}
  .main-nav a.active,
  .nav-cta{font-size:.82rem;padding:6px 10px!important}
}
