:root{
  --bg:#06080d;
  --bg2:#0a0f17;
  --panel:#0e1521;
  --panel2:#111a29;
  --text:#f5f7fb;
  --muted:#98a6bb;
  --line:rgba(255,255,255,.09);
  --cyan:#12b8ff;
  --blue:#2788ff;
  --purple:#9853ff;
  --purple2:#6b4dff;
  --success:#37d67a;
  --radius:22px;
  --shadow:0 30px 80px rgba(0,0,0,.38);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at 15% 15%,rgba(18,184,255,.10),transparent 27%),
    radial-gradient(circle at 85% 18%,rgba(152,83,255,.11),transparent 24%),
    linear-gradient(180deg,#05070b 0%,#070b12 42%,#05070b 100%);
  min-height:100vh;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
img{max-width:100%}
.container{width:min(1180px,calc(100% - 40px));margin:0 auto}
.section{padding:110px 0}
.section-tight{padding-top:70px}
.bg-grid{
  position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.18;
  background-image:
    linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);
  background-size:46px 46px;
  mask-image:linear-gradient(to bottom,black,transparent 82%);
}
.site-header{
  position:sticky;top:0;z-index:50;
  backdrop-filter:blur(18px);
  background:rgba(5,7,11,.76);
  border-bottom:1px solid var(--line);
}
.nav-wrap{height:78px;display:flex;align-items:center;gap:30px}
.brand{display:flex;align-items:center;flex:0 0 auto}
.brand img{
  width:190px;height:49px;object-fit:cover;object-position:center;
  border-radius:8px;
}
.nav{display:flex;gap:26px;margin-left:auto}
.nav a{font-size:14px;color:#c9d2df;transition:.25s}
.nav a:hover{color:#fff}
.desktop-cta{margin-left:8px}
.menu-btn{display:none;background:none;border:0;padding:7px}
.menu-btn span{display:block;width:24px;height:2px;background:#fff;margin:5px 0}

.hero{padding-top:84px}
.hero-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:70px;align-items:center}
.eyebrow{
  text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:700;
  color:#b5c1d2;display:flex;align-items:center;gap:9px;margin-bottom:20px;
}
.status-dot{width:8px;height:8px;border-radius:50%;background:var(--cyan);box-shadow:0 0 18px var(--cyan)}
h1,h2,h3{font-family:"Space Grotesk",Inter,sans-serif;margin:0}
h1{font-size:clamp(52px,7vw,88px);line-height:.96;letter-spacing:-.045em}
h1 span,h2 span{
  background:linear-gradient(90deg,var(--cyan),#4e7cff 45%,var(--purple));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero-lead{font-size:19px;line-height:1.7;color:#aeb9c8;max-width:700px;margin:28px 0 32px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:52px;padding:0 22px;border-radius:14px;
  font-weight:700;font-size:14px;border:1px solid transparent;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.btn:hover{transform:translateY(-2px)}
.btn-primary{
  background:linear-gradient(90deg,var(--cyan),var(--purple));
  color:#fff;box-shadow:0 12px 38px rgba(80,103,255,.28);
}
.btn-ghost,.btn-outline{border-color:var(--line);background:rgba(255,255,255,.035);color:#e7edf6}
.btn-small{min-height:42px;padding:0 17px;border-radius:12px}
.microcopy{font-size:13px;color:#6f7e91;margin-top:18px}

.engine-card{
  position:relative;height:540px;border-radius:32px;
  border:1px solid rgba(255,255,255,.12);
  background:
    radial-gradient(circle at center,rgba(90,80,255,.16),transparent 34%),
    linear-gradient(145deg,rgba(14,22,35,.95),rgba(5,8,13,.98));
  box-shadow:var(--shadow),inset 0 1px 0 rgba(255,255,255,.04);
  overflow:hidden;
}
.engine-card:after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(120deg,transparent 35%,rgba(18,184,255,.055),transparent 62%);
}
.engine-core{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:5;
  width:164px;height:164px;border-radius:50%;display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;
  background:radial-gradient(circle at 35% 30%,#182239,#0a101b 58%,#06090f);
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 0 70px rgba(81,99,255,.33),inset 0 0 30px rgba(18,184,255,.08);
}
.engine-core:before{
  content:"";position:absolute;inset:-8px;border-radius:50%;
  border:2px solid transparent;
  background:linear-gradient(135deg,var(--cyan),var(--purple)) border-box;
  -webkit-mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
}
.engine-core span{font-family:"Space Grotesk";font-size:33px;font-weight:700;letter-spacing:.08em}
.engine-core small{color:#91a1b5;font-size:10px;margin-top:4px;text-transform:uppercase;letter-spacing:.12em}
.engine-orbit{position:absolute;left:50%;top:50%;border-radius:50%;transform:translate(-50%,-50%)}
.orbit-1{width:255px;height:255px;border:1px dashed rgba(18,184,255,.35);animation:spin 24s linear infinite}
.orbit-2{width:355px;height:355px;border:1px dashed rgba(152,83,255,.28);animation:spinBack 32s linear infinite}
@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes spinBack{to{transform:translate(-50%,-50%) rotate(-360deg)}}
.node{
  position:absolute;z-index:4;padding:10px 14px;border-radius:12px;font-size:12px;font-weight:700;
  border:1px solid rgba(255,255,255,.11);background:#0f1724;box-shadow:0 12px 28px rgba(0,0,0,.28)
}
.node-a{left:10%;top:15%}.node-b{right:10%;top:13%}.node-c{left:7%;top:47%}
.node-d{right:7%;top:48%}.node-e{left:13%;bottom:15%}.node-f{right:12%;bottom:15%}
.connector-lines{position:absolute;inset:0;width:100%;height:100%;z-index:2}
.connector-lines path{fill:none;stroke:url(#g);stroke-width:1.5;stroke-dasharray:4 6;opacity:.56}
.trust-strip{
  margin-top:72px;padding:20px 24px;border:1px solid var(--line);
  border-radius:18px;background:rgba(255,255,255,.025);display:flex;align-items:center;gap:30px;
}
.trust-strip>span{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#77879b;white-space:nowrap}
.trust-items{display:flex;flex-wrap:wrap;gap:10px}
.trust-items span{font-size:13px;color:#cdd6e3;padding:8px 12px;background:#0d1420;border-radius:999px;border:1px solid var(--line)}

.section-head{max-width:790px;margin-bottom:44px}
.section-head h2,.split-head h2,.security-copy h2,.cta-copy h2{
  font-size:clamp(36px,5vw,58px);letter-spacing:-.035em;line-height:1.06
}
.section-head p,.split-head p,.security-copy>p,.cta-copy>p{
  color:#9eabbd;font-size:17px;line-height:1.75;margin-top:20px
}
.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.feature-card{
  padding:28px;border-radius:20px;border:1px solid var(--line);
  background:linear-gradient(180deg,rgba(18,27,42,.8),rgba(10,15,24,.74));
  min-height:260px
}
.feature-card .icon{
  width:44px;height:44px;border-radius:12px;display:grid;place-items:center;
  background:linear-gradient(135deg,rgba(18,184,255,.15),rgba(152,83,255,.14));
  color:#dce8f7;border:1px solid var(--line);font-size:12px;font-weight:800;margin-bottom:45px
}
.feature-card h3{font-size:22px;margin-bottom:12px}
.feature-card p{color:#8f9db0;line-height:1.65;font-size:14px}

.flow-section{background:linear-gradient(180deg,transparent,rgba(16,23,36,.52),transparent)}
.split-head{display:grid;grid-template-columns:1fr .65fr;gap:70px;align-items:end;margin-bottom:50px}
.flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;gap:16px;align-items:stretch}
.flow-step{
  padding:26px 22px;border-radius:18px;background:#0c1320;border:1px solid var(--line)
}
.flow-step span{
  display:inline-grid;place-items:center;width:32px;height:32px;border-radius:9px;
  background:linear-gradient(135deg,var(--cyan),var(--purple));font-weight:800;font-size:13px;margin-bottom:26px
}
.flow-step h3{font-size:18px;margin-bottom:9px}
.flow-step p{font-size:13px;line-height:1.6;color:#8695a9}
.flow-arrow{display:grid;place-items:center;color:#4e6483;font-size:20px}

.use-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.use-card{
  position:relative;overflow:hidden;padding:28px;border-radius:20px;border:1px solid var(--line);
  background:#0b111b;min-height:230px
}
.use-card .glow{
  position:absolute;width:120px;height:120px;border-radius:50%;filter:blur(45px);
  background:linear-gradient(135deg,var(--cyan),var(--purple));opacity:.13;right:-20px;top:-20px
}
.use-card>span{font-size:11px;text-transform:uppercase;letter-spacing:.13em;color:#6f88a7}
.use-card h3{font-size:22px;margin:30px 0 12px}
.use-card p{font-size:14px;line-height:1.7;color:#8d9aad}

.security-section{padding-top:90px}
.security-grid{display:grid;grid-template-columns:1.05fr .75fr;gap:60px;align-items:center}
.security-points{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px}
.security-points span{
  padding:13px 14px;border:1px solid var(--line);border-radius:12px;color:#c9d3e0;font-size:13px;background:rgba(255,255,255,.02)
}
.security-panel{
  padding:42px;border-radius:26px;border:1px solid var(--line);
  background:radial-gradient(circle at top left,rgba(18,184,255,.13),transparent 35%),#0c131f;
  box-shadow:var(--shadow)
}
.shield{
  width:86px;height:98px;clip-path:polygon(50% 0,90% 17%,82% 72%,50% 100%,18% 72%,10% 17%);
  display:grid;place-items:center;font-size:32px;font-weight:900;
  background:linear-gradient(145deg,var(--cyan),var(--purple));margin-bottom:32px
}
.security-panel h3{font-size:28px;margin-bottom:12px}
.security-panel p{color:#8d9aad;line-height:1.7}

.cta-card{
  display:grid;grid-template-columns:1fr .8fr;gap:60px;padding:54px;border-radius:30px;
  border:1px solid rgba(255,255,255,.12);
  background:
    radial-gradient(circle at 10% 20%,rgba(18,184,255,.12),transparent 30%),
    radial-gradient(circle at 82% 18%,rgba(152,83,255,.12),transparent 26%),
    #0a1019;
  box-shadow:var(--shadow)
}
.demo-form{display:grid;gap:13px}
.demo-form label{display:grid;gap:7px}
.demo-form label span{font-size:12px;color:#8e9cad;font-weight:700}
.demo-form input,.demo-form textarea{
  width:100%;border:1px solid var(--line);background:#090f18;color:#fff;
  border-radius:12px;padding:14px 15px;font:inherit;outline:none
}
.demo-form input:focus,.demo-form textarea:focus{border-color:rgba(18,184,255,.55);box-shadow:0 0 0 3px rgba(18,184,255,.08)}
.form-note{font-size:11px;color:#66768b;margin:0}

.site-footer{border-top:1px solid var(--line);padding:38px 0 46px;background:#05070b}
.footer-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:40px;align-items:center}
.footer-brand img{width:205px;height:54px;object-fit:cover;border-radius:8px}
.footer-brand p{color:#7e8ba0;font-size:13px;margin:8px 0 0}
.footer-links{display:flex;gap:18px;flex-wrap:wrap;justify-content:center}
.footer-links a{font-size:12px;color:#8796aa}
.footer-legal{text-align:right;color:#69778b;font-size:11px}
.legal-note{opacity:.72}

.reveal{opacity:0;transform:translateY(18px);transition:.7s cubic-bezier(.2,.7,.2,1)}
.reveal.visible{opacity:1;transform:none}
.reveal-delay{transition-delay:.12s}

@media (max-width: 980px){
  .nav,.desktop-cta{display:none}
  .menu-btn{display:block;margin-left:auto}
  .nav.open{
    display:flex;position:absolute;top:78px;left:20px;right:20px;
    flex-direction:column;padding:18px;border:1px solid var(--line);border-radius:16px;
    background:#0a0f17;box-shadow:var(--shadow)
  }
  .hero-grid,.security-grid,.cta-card{grid-template-columns:1fr}
  .hero-visual{order:-1}.engine-card{height:470px}
  .feature-grid{grid-template-columns:1fr 1fr}
  .split-head{grid-template-columns:1fr;gap:10px}
  .flow{grid-template-columns:1fr 1fr}
  .flow-arrow{display:none}
  .use-grid{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr;text-align:center}
  .footer-legal{text-align:center}.footer-brand{justify-self:center}.footer-links{justify-self:center}
}
@media (max-width: 640px){
  .container{width:min(100% - 28px,1180px)}
  .section{padding:78px 0}
  .brand img{width:160px;height:42px}
  .hero{padding-top:48px}
  h1{font-size:52px}
  .hero-lead{font-size:16px}
  .engine-card{height:410px}
  .engine-core{width:132px;height:132px}
  .orbit-1{width:205px;height:205px}.orbit-2{width:295px;height:295px}
  .node{font-size:10px;padding:8px 10px}
  .trust-strip{align-items:flex-start;flex-direction:column}
  .feature-grid,.use-grid,.security-points,.flow{grid-template-columns:1fr}
  .cta-card{padding:28px}
  .section-head h2,.split-head h2,.security-copy h2,.cta-copy h2{font-size:38px}
}


/* Generic TAAE interoperability hero artwork */
.hero-image-card{
  position:relative;
  border-radius:30px;
  padding:10px;
  background:
    linear-gradient(#08101a,#08101a) padding-box,
    linear-gradient(135deg,rgba(18,184,255,.55),rgba(152,83,255,.50)) border-box;
  border:1px solid transparent;
  box-shadow:0 30px 90px rgba(0,0,0,.42),0 0 55px rgba(75,95,255,.14);
  overflow:hidden;
}
.hero-image-card:before{
  content:"";
  position:absolute;
  inset:-30%;
  background:radial-gradient(circle,rgba(18,184,255,.08),transparent 46%);
  pointer-events:none;
}
.hero-image-card img{
  display:block;
  width:100%;
  height:auto;
  border-radius:22px;
  position:relative;
  z-index:1;
}

.ai-chip{
  background:linear-gradient(90deg,rgba(18,184,255,.14),rgba(152,83,255,.18))!important;
  border-color:rgba(110,102,255,.35)!important;
  box-shadow:0 0 24px rgba(100,90,255,.12);
}
.ai-section{
  position:relative;
  background:
    radial-gradient(circle at 18% 35%,rgba(18,184,255,.08),transparent 28%),
    radial-gradient(circle at 82% 30%,rgba(152,83,255,.09),transparent 28%);
}
.ai-banner{
  display:grid;
  grid-template-columns:150px 1fr;
  gap:38px;
  align-items:center;
  padding:42px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:28px;
  background:linear-gradient(135deg,rgba(12,20,32,.96),rgba(8,12,20,.96));
  box-shadow:0 25px 70px rgba(0,0,0,.3);
  margin-bottom:18px;
}
.ai-badge{
  width:132px;height:132px;border-radius:34px;
  display:grid;place-items:center;
  font-family:"Space Grotesk",Inter,sans-serif;
  font-size:52px;font-weight:800;letter-spacing:-.05em;
  background:
    linear-gradient(#09111d,#09111d) padding-box,
    linear-gradient(135deg,var(--cyan),var(--purple)) border-box;
  border:2px solid transparent;
  box-shadow:0 0 45px rgba(71,91,255,.22),inset 0 0 35px rgba(18,184,255,.08);
}
.ai-banner h2{
  font-size:clamp(34px,4.7vw,56px);
  line-height:1.07;letter-spacing:-.035em;
}
.ai-banner p{
  color:#9eabbd;font-size:16px;line-height:1.75;
  max-width:850px;margin:18px 0 0;
}
.ai-cap-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:16px;
}
.ai-cap{
  min-height:210px;padding:26px;
  border:1px solid var(--line);border-radius:20px;
  background:linear-gradient(180deg,rgba(15,23,37,.88),rgba(8,13,21,.86));
}
.ai-cap>span{
  display:inline-flex;color:var(--cyan);font-size:11px;
  font-weight:800;letter-spacing:.12em;margin-bottom:36px;
}
.ai-cap h3{font-size:21px;margin-bottom:10px}
.ai-cap p{color:#8d9aad;font-size:13px;line-height:1.7;margin:0}
@media(max-width:980px){
  .ai-banner{grid-template-columns:1fr}
  .ai-cap-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .ai-banner{padding:28px}
  .ai-badge{width:100px;height:100px;border-radius:26px;font-size:40px}
  .ai-cap-grid{grid-template-columns:1fr}
}

/* Sticky framed architecture storytelling section */
.architecture-section{
  position:relative;
  padding-top:90px;
  padding-bottom:140px;
  min-height:135vh;
  background:
    radial-gradient(circle at 15% 28%,rgba(18,184,255,.075),transparent 30%),
    radial-gradient(circle at 86% 26%,rgba(152,83,255,.085),transparent 30%);
}
.architecture-head{
  margin-bottom:30px;
}
.architecture-stage{
  position:relative;
  min-height:95vh;
}
.architecture-frame{
  position:sticky;
  top:105px;
  width:100%;
  padding:12px;
  border-radius:30px;
  cursor:zoom-in;
  outline:none;
  overflow:hidden;
  background:
    linear-gradient(#070c14,#070c14) padding-box,
    linear-gradient(135deg,rgba(18,184,255,.55),rgba(152,83,255,.48)) border-box;
  border:1px solid transparent;
  box-shadow:
    0 35px 90px rgba(0,0,0,.48),
    0 0 60px rgba(70,90,255,.12);
  transform:translateZ(0);
  transition:transform .35s ease, box-shadow .35s ease;
}
.architecture-frame:hover{
  transform:translateY(-4px) scale(1.003);
  box-shadow:
    0 42px 110px rgba(0,0,0,.54),
    0 0 82px rgba(80,95,255,.18);
}
.architecture-frame:focus-visible{
  box-shadow:0 0 0 3px rgba(18,184,255,.28),0 35px 90px rgba(0,0,0,.48);
}
.architecture-frame-top{
  height:42px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 12px 0 14px;
  color:#a9b6c8;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:11px;
  font-weight:700;
}
.architecture-hint{
  color:#8ccfff;
  text-transform:none;
  letter-spacing:.02em;
}
.architecture-image{
  display:block;
  width:100%;
  height:auto;
  border-radius:20px;
  position:relative;
  z-index:2;
}
.architecture-glow{
  position:absolute;
  inset:12% 18%;
  z-index:1;
  background:radial-gradient(circle,rgba(60,90,255,.22),transparent 58%);
  filter:blur(55px);
  pointer-events:none;
}

/* Full-screen popup */
.image-modal{
  position:fixed;
  inset:0;
  z-index:200;
  display:none;
  align-items:center;
  justify-content:center;
  padding:28px;
}
.image-modal.open{display:flex}
.image-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(1,4,9,.90);
  backdrop-filter:blur(16px);
}
.image-modal-dialog{
  position:relative;
  z-index:2;
  width:min(96vw,1600px);
  max-height:92vh;
  overflow:auto;
  border-radius:24px;
  padding:8px;
  background:
    linear-gradient(#070c14,#070c14) padding-box,
    linear-gradient(135deg,var(--cyan),var(--purple)) border-box;
  border:1px solid transparent;
  box-shadow:0 40px 120px rgba(0,0,0,.65);
}
.image-modal-dialog img{
  display:block;
  width:100%;
  height:auto;
  border-radius:18px;
}
.image-modal-close{
  position:fixed;
  top:20px;
  right:24px;
  z-index:205;
  width:44px;
  height:44px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.14);
  background:#101722;
  color:white;
  font-size:28px;
  cursor:pointer;
  box-shadow:0 15px 35px rgba(0,0,0,.35);
}
body.modal-open{overflow:hidden}

@media(max-width:980px){
  .architecture-section{min-height:auto;padding-bottom:100px}
  .architecture-stage{min-height:auto}
  .architecture-frame{position:relative;top:auto}
}
@media(max-width:640px){
  .architecture-frame{padding:8px;border-radius:22px}
  .architecture-frame-top{height:auto;min-height:38px;padding:7px 8px}
  .architecture-hint{display:none}
  .image-modal{padding:10px}
  .image-modal-close{top:10px;right:10px}
}

/* AI-first public slogan */
.power-slogan{
  margin-top:26px;
  display:inline-flex;
  align-items:center;
  gap:14px;
  padding:12px 16px;
  border-radius:14px;
  border:1px solid rgba(104,103,255,.28);
  background:linear-gradient(90deg,rgba(18,184,255,.07),rgba(152,83,255,.08));
  box-shadow:0 12px 35px rgba(0,0,0,.18);
}
.power-slogan-label{
  font-size:10px;
  font-weight:800;
  letter-spacing:.14em;
  color:#07101a;
  padding:7px 9px;
  border-radius:8px;
  background:linear-gradient(90deg,var(--cyan),var(--purple));
}
.power-slogan-text{
  font-family:"Space Grotesk",Inter,sans-serif;
  font-size:15px;
  font-weight:600;
  color:#f4f7fb;
}
.power-slogan-text strong{
  color:#35baff;
}
.power-slogan-text span{
  color:#aeb9c8;
}
.slogan-section{
  padding:25px 0 35px;
}
.slogan-banner{
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:34px;
  padding:44px 48px;
  border-radius:28px;
  text-align:left;
  border:1px solid rgba(255,255,255,.11);
  background:
    radial-gradient(circle at 12% 50%,rgba(18,184,255,.16),transparent 26%),
    radial-gradient(circle at 88% 50%,rgba(152,83,255,.16),transparent 26%),
    #090f18;
  box-shadow:0 30px 80px rgba(0,0,0,.32);
}
.slogan-banner:after{
  content:"";
  position:absolute;
  left:10%;right:10%;bottom:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--cyan),var(--purple),transparent);
}
.slogan-ai-orb{
  flex:0 0 auto;
  width:96px;height:96px;border-radius:50%;
  display:grid;place-items:center;
  font-family:"Space Grotesk",Inter,sans-serif;
  font-size:34px;font-weight:800;
  background:
    linear-gradient(#0a111c,#0a111c) padding-box,
    linear-gradient(135deg,var(--cyan),var(--purple)) border-box;
  border:2px solid transparent;
  box-shadow:0 0 42px rgba(76,91,255,.25);
}
.slogan-banner span{
  font-size:10px;
  letter-spacing:.18em;
  font-weight:800;
  color:#8291a5;
}
.slogan-banner h2{
  margin-top:9px;
  font-size:clamp(30px,4vw,48px);
  line-height:1.08;
  letter-spacing:-.03em;
}
.slogan-banner h2 strong{
  background:linear-gradient(90deg,var(--cyan),var(--purple));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
@media(max-width:640px){
  .power-slogan{align-items:flex-start}
  .slogan-banner{flex-direction:column;text-align:center;padding:34px 24px}
  .slogan-ai-orb{width:78px;height:78px;font-size:28px}
}


/* ===== Final polish: larger typography, themed nav hover, light/dark mode ===== */

/* Slightly larger and more readable site typography */
body{
  font-size:17px;
}
.nav a{
  font-size:15px;
  font-weight:600;
}
.hero-lead{
  font-size:20px;
}
.section-head p,
.split-head p,
.security-copy>p,
.cta-copy>p{
  font-size:18px;
}
.feature-card p,
.use-card p,
.ai-cap p,
.flow-step p{
  font-size:14.5px;
}
.feature-card h3,
.use-card h3,
.ai-cap h3{
  font-size:23px;
}
.trust-items span{
  font-size:14px;
}
.btn{
  font-size:15px;
}

/* Menu buttons: theme color shift + "pop" hover */
.themed-nav a{
  position:relative;
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:0 12px;
  border-radius:11px;
  color:var(--nav-text,#c9d2df);
  transition:
    transform .22s ease,
    color .22s ease,
    background .22s ease,
    box-shadow .22s ease,
    border-color .22s ease;
  border:1px solid transparent;
}
.themed-nav a::after{
  content:"";
  position:absolute;
  left:12px;
  right:12px;
  bottom:5px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--cyan),var(--purple));
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .22s ease;
}
.themed-nav a:hover,
.themed-nav a:focus-visible{
  transform:translateY(-3px) scale(1.04);
  color:#fff;
  background:linear-gradient(135deg,rgba(18,184,255,.12),rgba(152,83,255,.14));
  border-color:rgba(96,102,255,.28);
  box-shadow:0 10px 26px rgba(51,77,190,.22);
}
.themed-nav a:hover::after,
.themed-nav a:focus-visible::after{
  transform:scaleX(1);
}

/* Theme toggle */
.theme-toggle{
  flex:0 0 auto;
  width:46px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:12px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.035);
  color:var(--text);
  cursor:pointer;
  position:relative;
  overflow:hidden;
  transition:transform .2s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.theme-toggle:hover{
  transform:translateY(-2px) scale(1.05);
  border-color:rgba(103,102,255,.34);
  box-shadow:0 10px 25px rgba(47,76,176,.18);
}
.theme-icon{
  position:absolute;
  font-size:18px;
  transition:opacity .2s ease,transform .2s ease;
}
:root[data-theme="dark"] .theme-icon-sun{opacity:1;transform:scale(1)}
:root[data-theme="dark"] .theme-icon-moon{opacity:0;transform:scale(.75)}
:root[data-theme="light"] .theme-icon-sun{opacity:0;transform:scale(.75)}
:root[data-theme="light"] .theme-icon-moon{opacity:1;transform:scale(1)}

/* Light theme token overrides */
:root[data-theme="light"]{
  --bg:#f5f8fc;
  --bg2:#eef3f9;
  --panel:#ffffff;
  --panel2:#f7f9fd;
  --text:#101522;
  --muted:#5f6f84;
  --line:rgba(16,21,34,.11);
  --shadow:0 26px 70px rgba(22,38,70,.13);
  --nav-text:#35445a;
}
:root[data-theme="light"] body{
  color:var(--text);
  background:
    radial-gradient(circle at 15% 15%,rgba(18,184,255,.11),transparent 28%),
    radial-gradient(circle at 85% 18%,rgba(152,83,255,.10),transparent 25%),
    linear-gradient(180deg,#fbfdff 0%,#f4f8fc 46%,#eef3f9 100%);
}
:root[data-theme="light"] .bg-grid{
  opacity:.13;
  background-image:
    linear-gradient(rgba(22,37,61,.06) 1px,transparent 1px),
    linear-gradient(90deg,rgba(22,37,61,.06) 1px,transparent 1px);
}
:root[data-theme="light"] .site-header{
  background:rgba(250,252,255,.84);
  border-bottom:1px solid rgba(17,30,48,.10);
}
:root[data-theme="light"] .themed-nav a{
  color:#314158;
}
:root[data-theme="light"] .themed-nav a:hover,
:root[data-theme="light"] .themed-nav a:focus-visible{
  color:#111827;
  background:linear-gradient(135deg,rgba(18,184,255,.10),rgba(152,83,255,.11));
  border-color:rgba(96,102,255,.20);
  box-shadow:0 10px 24px rgba(67,94,156,.14);
}
:root[data-theme="light"] .btn-ghost,
:root[data-theme="light"] .btn-outline,
:root[data-theme="light"] .theme-toggle{
  background:rgba(255,255,255,.72);
  color:#1a2433;
}
:root[data-theme="light"] .engine-card,
:root[data-theme="light"] .feature-card,
:root[data-theme="light"] .flow-step,
:root[data-theme="light"] .use-card,
:root[data-theme="light"] .security-panel,
:root[data-theme="light"] .cta-card,
:root[data-theme="light"] .ai-banner,
:root[data-theme="light"] .ai-cap,
:root[data-theme="light"] .architecture-frame,
:root[data-theme="light"] .slogan-banner{
  background:
    radial-gradient(circle at 15% 15%,rgba(18,184,255,.05),transparent 32%),
    linear-gradient(180deg,rgba(255,255,255,.96),rgba(246,249,253,.95));
  color:#121826;
  border-color:rgba(23,38,61,.10);
  box-shadow:0 24px 60px rgba(30,51,85,.10);
}
:root[data-theme="light"] .hero-image-card{
  background:
    linear-gradient(#fff,#fff) padding-box,
    linear-gradient(135deg,rgba(18,184,255,.45),rgba(152,83,255,.42)) border-box;
  box-shadow:0 24px 60px rgba(36,55,94,.12);
}
:root[data-theme="light"] .trust-strip{
  background:rgba(255,255,255,.72);
}
:root[data-theme="light"] .trust-items span{
  background:#f3f6fb;
  color:#34445b;
}
:root[data-theme="light"] .section-head p,
:root[data-theme="light"] .split-head p,
:root[data-theme="light"] .security-copy>p,
:root[data-theme="light"] .cta-copy>p,
:root[data-theme="light"] .feature-card p,
:root[data-theme="light"] .use-card p,
:root[data-theme="light"] .ai-cap p,
:root[data-theme="light"] .flow-step p,
:root[data-theme="light"] .security-panel p,
:root[data-theme="light"] .hero-lead{
  color:#5d6d82;
}
:root[data-theme="light"] .demo-form input,
:root[data-theme="light"] .demo-form textarea{
  background:#fff;
  color:#111827;
  border-color:rgba(16,21,34,.12);
}
:root[data-theme="light"] .site-footer{
  background:#edf3f9;
}
:root[data-theme="light"] .footer-links a,
:root[data-theme="light"] .footer-legal,
:root[data-theme="light"] .footer-brand p{
  color:#65758b;
}
:root[data-theme="light"] .image-modal-backdrop{
  background:rgba(235,242,250,.92);
}
:root[data-theme="light"] .image-modal-close{
  background:#ffffff;
  color:#182132;
  border-color:rgba(16,21,34,.10);
}

/* Preserve the dark artwork panel itself in both themes for brand fidelity */
:root[data-theme="light"] .architecture-frame .architecture-image,
:root[data-theme="light"] .hero-image-card img{
  filter:none;
}

@media(max-width:980px){
  .nav.open{
    background:var(--panel);
  }
}
@media(max-width:640px){
  body{font-size:16px}
  .hero-lead{font-size:17px}
  .section-head p,
  .split-head p,
  .security-copy>p,
  .cta-copy>p{font-size:16px}
}


/* ===== User-controlled text size =====
   Default restores the original TAAE website typography.
   Visitors can decrease/increase it using A-/A/A+ in the header.
*/
:root{
  --user-font-scale:1;
}
body{
  font-size:16px;
}
.nav a{
  font-size:14px;
}
.hero-lead{
  font-size:19px;
}
.section-head p,
.split-head p,
.security-copy>p,
.cta-copy>p{
  font-size:17px;
}
.feature-card p{
  font-size:14px;
}
.use-card p{
  font-size:14px;
}
.ai-cap p{
  font-size:13px;
}
.flow-step p{
  font-size:13px;
}
.feature-card h3{
  font-size:22px;
}
.use-card h3{
  font-size:22px;
}
.ai-cap h3{
  font-size:21px;
}
.trust-items span{
  font-size:13px;
}
.btn{
  font-size:14px;
}

/* Scale the content area without changing the overall design/layout logic */
main,
.site-footer{
  font-size:calc(1em * var(--user-font-scale));
}
main p,
main li,
main label,
.site-footer p,
.site-footer a{
  font-size:calc(1em * var(--user-font-scale));
}

/* Keep intentional headline hierarchy while allowing modest accessibility scaling */
html[data-font-size="small"]{
  --user-font-scale:.90;
}
html[data-font-size="normal"]{
  --user-font-scale:1;
}
html[data-font-size="large"]{
  --user-font-scale:1.12;
}

/* Compact font-size controls */
.font-controls{
  display:flex;
  align-items:center;
  gap:4px;
  padding:3px;
  border:1px solid var(--line);
  border-radius:12px;
  background:rgba(255,255,255,.025);
}
.font-controls button{
  min-width:34px;
  height:34px;
  padding:0 7px;
  border:0;
  border-radius:8px;
  background:transparent;
  color:var(--text);
  font-family:Inter,system-ui,sans-serif;
  font-weight:700;
  font-size:12px;
  cursor:pointer;
  transition:transform .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease;
}
.font-controls button:hover,
.font-controls button:focus-visible{
  transform:translateY(-2px);
  color:#fff;
  background:linear-gradient(135deg,rgba(18,184,255,.55),rgba(152,83,255,.62));
  box-shadow:0 7px 18px rgba(63,84,200,.20);
}
.font-controls button.active{
  color:#fff;
  background:linear-gradient(135deg,var(--cyan),var(--purple));
}
:root[data-theme="light"] .font-controls{
  background:rgba(255,255,255,.72);
}
:root[data-theme="light"] .font-controls button{
  color:#29384d;
}
:root[data-theme="light"] .font-controls button:hover,
:root[data-theme="light"] .font-controls button.active{
  color:#fff;
}
@media(max-width:760px){
  .font-controls{
    margin-left:auto;
  }
  .font-controls button{
    min-width:31px;
    padding:0 5px;
  }
}
@media(max-width:640px){
  body{font-size:16px}
  .hero-lead{font-size:17px}
  .section-head p,
  .split-head p,
  .security-copy>p,
  .cta-copy>p{font-size:16px}
}


/* ===== Header logo clarity + How it Works dropdown ===== */

/* Preserve the logo's true aspect ratio instead of stretching/cropping it. */
.brand{
  overflow:visible;
}
.brand img{
  width:218px;
  height:auto;
  max-height:48px;
  object-fit:contain;
  object-position:left center;
  border-radius:0;
  display:block;
  image-rendering:auto;
  backface-visibility:hidden;
  transform:translateZ(0);
}

/* Master navigation dropdown */
.nav-dropdown{
  position:relative;
  display:flex;
  align-items:center;
}
.nav-master{
  gap:7px;
}
.nav-chevron{
  display:inline-block;
  font-size:14px;
  line-height:1;
  color:var(--cyan);
  transform:translateY(-1px);
  transition:transform .2s ease,color .2s ease;
}
.nav-dropdown:hover .nav-chevron,
.nav-dropdown:focus-within .nav-chevron{
  transform:translateY(-1px) rotate(180deg);
  color:var(--purple);
}

.nav-submenu{
  position:absolute;
  top:calc(100% + 12px);
  left:50%;
  min-width:180px;
  padding:8px;
  border-radius:15px;
  border:1px solid var(--line);
  background:rgba(8,13,22,.97);
  backdrop-filter:blur(18px);
  box-shadow:0 22px 55px rgba(0,0,0,.38);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translate(-50%,-7px) scale(.98);
  transform-origin:top center;
  transition:
    opacity .2s ease,
    visibility .2s ease,
    transform .2s ease;
  z-index:100;
}
.nav-submenu::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-13px;
  height:14px;
}
.nav-dropdown:hover .nav-submenu,
.nav-dropdown:focus-within .nav-submenu{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translate(-50%,0) scale(1);
}
.themed-nav .nav-submenu a{
  width:100%;
  min-height:40px;
  justify-content:flex-start;
  padding:0 13px;
  border-radius:10px;
  white-space:nowrap;
  color:#c9d2df;
}
.themed-nav .nav-submenu a::after{
  left:13px;
  right:13px;
}
.themed-nav .nav-submenu a:hover,
.themed-nav .nav-submenu a:focus-visible{
  transform:translateX(4px);
}

/* Light theme dropdown */
:root[data-theme="light"] .nav-submenu{
  background:rgba(255,255,255,.97);
  border-color:rgba(16,21,34,.10);
  box-shadow:0 22px 50px rgba(30,51,85,.16);
}
:root[data-theme="light"] .themed-nav .nav-submenu a{
  color:#314158;
}

/* Mobile menu: keep How it Works as master item and reveal its two children */
@media(max-width:980px){
  .brand img{
    width:200px;
    max-height:44px;
  }
  .nav-dropdown{
    width:100%;
    display:block;
  }
  .nav-dropdown .nav-master{
    width:100%;
    justify-content:space-between;
  }
  .nav-chevron{
    transform:none;
  }
  .nav-submenu{
    position:static;
    width:100%;
    min-width:0;
    margin-top:4px;
    padding:4px 0 4px 14px;
    border:0;
    border-left:1px solid rgba(89,102,255,.28);
    border-radius:0;
    background:transparent;
    box-shadow:none;
    backdrop-filter:none;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
  }
  .nav-dropdown:hover .nav-submenu,
  .nav-dropdown:focus-within .nav-submenu{
    transform:none;
  }
  .themed-nav .nav-submenu a{
    min-height:36px;
    font-size:13px;
    color:#94a4b8;
  }
  :root[data-theme="light"] .nav-submenu{
    background:transparent;
    border-left-color:rgba(89,102,255,.20);
    box-shadow:none;
  }
}
@media(max-width:640px){
  .brand img{
    width:172px;
    max-height:40px;
  }
}


/* ===== AI Intelligence badge visibility fix for light theme ===== */
:root[data-theme="light"] .ai-badge{
  color:#ffffff;
  background:
    radial-gradient(circle at 35% 28%,rgba(31,184,255,.18),transparent 32%),
    linear-gradient(145deg,#0b1524,#07101d) padding-box,
    linear-gradient(135deg,var(--cyan),var(--purple)) border-box;
  border:2px solid transparent;
  text-shadow:
    0 0 10px rgba(18,184,255,.55),
    0 0 22px rgba(152,83,255,.28);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.03) inset,
    0 0 44px rgba(65,92,255,.24),
    0 18px 42px rgba(34,55,94,.16);
}
:root[data-theme="light"] .ai-badge::first-letter{
  color:#ffffff;
}


/* ===== Restore full TAAE.ai brand lockup with tagline ===== */
.brand img{
  width:245px;
  height:auto;
  max-height:62px;
  object-fit:contain;
  object-position:left center;
  border-radius:0;
}
@media(max-width:980px){
  .brand img{
    width:225px;
    max-height:58px;
  }
}
@media(max-width:640px){
  .brand img{
    width:195px;
    max-height:52px;
  }
}


/* ===== Seamless high-resolution TAAE.ai logo for both themes ===== */
.brand{
  position:relative;
  display:flex;
  align-items:center;
  width:255px;
  height:62px;
  overflow:visible;
}
.brand .brand-logo{
  position:absolute;
  left:0;
  top:50%;
  transform:translateY(-50%);
  width:255px;
  height:auto;
  max-height:62px;
  object-fit:contain;
  object-position:left center;
  border-radius:0;
  background:transparent !important;
  box-shadow:none !important;
  image-rendering:auto;
  backface-visibility:hidden;
}
.brand-logo-light{
  opacity:0;
  visibility:hidden;
}
:root[data-theme="light"] .brand-logo-dark{
  opacity:0;
  visibility:hidden;
}
:root[data-theme="light"] .brand-logo-light{
  opacity:1;
  visibility:visible;
}
:root[data-theme="dark"] .brand-logo-dark{
  opacity:1;
  visibility:visible;
}
:root[data-theme="dark"] .brand-logo-light{
  opacity:0;
  visibility:hidden;
}
@media(max-width:980px){
  .brand{
    width:230px;
    height:58px;
  }
  .brand .brand-logo{
    width:230px;
    max-height:58px;
  }
}
@media(max-width:640px){
  .brand{
    width:198px;
    height:52px;
  }
  .brand .brand-logo{
    width:198px;
    max-height:52px;
  }
}


/* ===== Header sizing + reliable accessibility font controls ===== */

/* Keep header/brand compact so the navigation does not dominate the page. */
.brand{
  width:205px !important;
  height:50px !important;
  flex:0 0 205px;
}
.brand .brand-logo{
  width:205px !important;
  max-height:50px !important;
}
.themed-nav{
  gap:2px;
}
.themed-nav > a,
.themed-nav .nav-master{
  font-size:13px !important;
  min-height:34px;
  padding:0 9px;
}
.themed-nav .nav-submenu a{
  font-size:12.5px !important;
  min-height:36px;
}
.desktop-cta{
  font-size:12.5px !important;
  padding-left:13px;
  padding-right:13px;
}
.font-controls{
  transform:scale(.92);
  transform-origin:center;
}
.theme-toggle{
  width:41px;
  height:38px;
}

/* Font sizing is applied to the complete content tree.
   Headings and paragraphs scale together while the header stays compact. */
html[data-font-size="small"] .site-content,
html[data-font-size="small"] .site-footer{
  font-size:14px;
}
html[data-font-size="normal"] .site-content,
html[data-font-size="normal"] .site-footer{
  font-size:16px;
}
html[data-font-size="large"] .site-content,
html[data-font-size="large"] .site-footer{
  font-size:18px;
}

/* Override fixed pixel content typography so the controls visibly work. */
.site-content p,
.site-content li,
.site-content label,
.site-content input,
.site-content textarea,
.site-content button:not(.image-modal-close),
.site-footer p,
.site-footer a{
  font-size:1em !important;
}
.site-content h1{
  font-size:clamp(2.75em,6vw,5.4em) !important;
}
.site-content h2{
  font-size:clamp(2em,4vw,3.25em) !important;
}
.site-content h3{
  font-size:1.35em !important;
}
.site-content .eyebrow{
  font-size:.72em !important;
}
.site-content .hero-lead{
  font-size:1.18em !important;
}
.site-content .microcopy{
  font-size:.82em !important;
}
.site-content .btn{
  font-size:.88em !important;
}
.site-content .trust-items span{
  font-size:.82em !important;
}
.site-content .architecture-frame-top{
  font-size:.7em !important;
}
.site-content .power-slogan-text{
  font-size:.94em !important;
}
.site-content .power-slogan-label,
.site-content .slogan-banner > div > span{
  font-size:.66em !important;
}

/* Active font button is clearly visible. */
.font-controls button.active{
  box-shadow:0 0 0 1px rgba(255,255,255,.14) inset,0 6px 18px rgba(68,82,210,.24);
}

@media(max-width:1100px){
  .brand{
    width:185px !important;
    flex-basis:185px;
  }
  .brand .brand-logo{
    width:185px !important;
  }
  .themed-nav > a,
  .themed-nav .nav-master{
    font-size:12.5px !important;
    padding:0 7px;
  }
}
@media(max-width:980px){
  .brand{
    width:185px !important;
    height:46px !important;
    flex-basis:185px;
  }
  .brand .brand-logo{
    width:185px !important;
    max-height:46px !important;
  }
  .themed-nav > a,
  .themed-nav .nav-master{
    font-size:13px !important;
  }
}
@media(max-width:640px){
  .brand{
    width:165px !important;
    height:43px !important;
    flex-basis:165px;
  }
  .brand .brand-logo{
    width:165px !important;
    max-height:43px !important;
  }
}


/* ===== Reliable font controls + Request Demo hover ===== */

/* Compact header remains unchanged by accessibility text controls */
.brand{
  width:205px !important;
  height:50px !important;
  flex:0 0 205px;
}
.brand .brand-logo{
  width:205px !important;
  max-height:50px !important;
}
.themed-nav > a,
.themed-nav .nav-master{
  font-size:13px !important;
  min-height:34px;
  padding:0 9px;
}
.themed-nav .nav-submenu a{
  font-size:12.5px !important;
}

/* Request Demo now behaves visually like the menu buttons */
.menu-style-cta{
  position:relative;
  overflow:hidden;
  font-size:13px !important;
  min-height:38px;
  border-radius:11px;
  padding:0 13px;
  transition:
    transform .22s ease,
    color .22s ease,
    background .22s ease,
    border-color .22s ease,
    box-shadow .22s ease;
}
.menu-style-cta::after{
  content:"";
  position:absolute;
  left:12px;
  right:12px;
  bottom:5px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--cyan),var(--purple));
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .22s ease;
}
.menu-style-cta:hover,
.menu-style-cta:focus-visible{
  transform:translateY(-3px) scale(1.04);
  color:#fff;
  background:linear-gradient(135deg,rgba(18,184,255,.14),rgba(152,83,255,.16));
  border-color:rgba(96,102,255,.34);
  box-shadow:0 10px 26px rgba(51,77,190,.22);
}
.menu-style-cta:hover::after,
.menu-style-cta:focus-visible::after{
  transform:scaleX(1);
}
:root[data-theme="light"] .menu-style-cta{
  color:#314158;
  background:rgba(255,255,255,.72);
}
:root[data-theme="light"] .menu-style-cta:hover,
:root[data-theme="light"] .menu-style-cta:focus-visible{
  color:#111827;
  background:linear-gradient(135deg,rgba(18,184,255,.10),rgba(152,83,255,.12));
  border-color:rgba(96,102,255,.24);
  box-shadow:0 10px 24px rgba(67,94,156,.14);
}

/* Font control buttons: clear active feedback */
.font-controls button.active{
  color:#fff !important;
  background:linear-gradient(135deg,var(--cyan),var(--purple)) !important;
  box-shadow:0 6px 18px rgba(70,86,210,.28);
}

/* Smooth font resizing for page content only */
.site-content .font-resizable,
.site-footer .font-resizable{
  transition:font-size .18s ease, line-height .18s ease;
}

@media(max-width:980px){
  .brand{
    width:185px !important;
    height:46px !important;
    flex-basis:185px;
  }
  .brand .brand-logo{
    width:185px !important;
    max-height:46px !important;
  }
}
@media(max-width:640px){
  .brand{
    width:165px !important;
    height:43px !important;
    flex-basis:165px;
  }
  .brand .brand-logo{
    width:165px !important;
    max-height:43px !important;
  }
}

/* ===== Hero headline size refinement =====
   Keep the main TAAE message prominent without overwhelming the viewport. */
.site-content .hero h1{
  font-size:clamp(42px,5vw,64px) !important;
  line-height:1.02;
}

@media (max-width: 700px){
  .site-content .hero h1{
    font-size:clamp(36px,11vw,48px) !important;
  }
}

/* ===== Global heading size refinement =====
   Reduce section/card headings across the public website while keeping hierarchy clear. */
.site-content h2,
.site-footer h2{
  font-size:clamp(28px,3.25vw,42px) !important;
  line-height:1.12 !important;
  letter-spacing:-.025em !important;
}

.site-content h3,
.site-footer h3{
  font-size:clamp(17px,1.7vw,20px) !important;
  line-height:1.25 !important;
}

/* Keep the already-refined hero headline size. */
.site-content .hero h1{
  font-size:clamp(42px,5vw,64px) !important;
}

@media (max-width:700px){
  .site-content h2,
  .site-footer h2{
    font-size:clamp(26px,8vw,34px) !important;
  }
  .site-content h3,
  .site-footer h3{
    font-size:18px !important;
  }
}

/* ===== Main hero headline — further reduced ===== */
.site-content .hero h1{
  font-size:clamp(34px,4.1vw,52px) !important;
  line-height:1.04 !important;
}
@media (max-width:700px){
  .site-content .hero h1{
    font-size:clamp(30px,9vw,40px) !important;
  }
}
