:root{
  --bg:#f7fbff;
  --text:#0b1224;
  --muted:rgba(11,18,36,.68);
  --glass:rgba(255,255,255,.62);
  --stroke:rgba(10,20,60,.12);
  --shadow:0 18px 55px rgba(10,20,60,.14);
  --shadow2:0 10px 30px rgba(10,20,60,.10);
  --r:24px;

  --a:#1f6fff;
  --b:#7c3aed;
  --c:#00d4ff;
  --d:#ff4fd8;
}

html, body { height: 100%; }

body{
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

main{ flex:1; }

*{ box-sizing:border-box; }
html,body{ margin:0; padding:0; }
body{
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  color:var(--text);
  background:var(--bg);
  overflow-x:hidden;
}

.ax-container{ width:min(1120px, 92vw); margin:0 auto; }
a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; cursor:pointer; }

.ax-hideSm{ display:inline; }
@media (max-width:640px){ .ax-hideSm{ display:none; } }

/* background */
.ax-bg{ position:fixed; inset:0; z-index:-1; overflow:hidden; pointer-events:none; }
.ax-aurora{
  position:absolute;
  width:900px; height:900px;
  border-radius:50%;
  filter: blur(40px);
  opacity:.75;
  transform: translate3d(0,0,0);
}
.ax-a1{
  top:-360px; left:-300px;
  background: radial-gradient(circle at 30% 30%, rgba(0,212,255,.62), transparent 60%),
              radial-gradient(circle at 70% 70%, rgba(31,111,255,.52), transparent 62%),
              radial-gradient(circle at 50% 40%, rgba(124,58,237,.28), transparent 60%);
  animation: axFloat 10s ease-in-out infinite;
}
.ax-a2{
  bottom:-380px; right:-340px;
  background: radial-gradient(circle at 30% 30%, rgba(255,79,216,.42), transparent 60%),
              radial-gradient(circle at 70% 70%, rgba(0,212,255,.45), transparent 62%),
              radial-gradient(circle at 55% 40%, rgba(31,111,255,.26), transparent 60%);
  animation: axFloat 12s ease-in-out infinite reverse;
}
.ax-a3{
  top:18%; right:8%;
  width:620px; height:620px;
  background: radial-gradient(circle at 30% 30%, rgba(124,58,237,.22), transparent 60%),
              radial-gradient(circle at 70% 70%, rgba(0,212,255,.18), transparent 60%);
  animation: axFloat 14s ease-in-out infinite;
}
@keyframes axFloat{
  0%{ transform: translate(0,0) scale(1); }
  50%{ transform: translate(30px, -18px) scale(1.03); }
  100%{ transform: translate(0,0) scale(1); }
}
.ax-noise{
  position:absolute; inset:0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23n)' opacity='.25'/%3E%3C/svg%3E");
  opacity:.06;
  mix-blend-mode: multiply;
}
.ax-grid{
  position:absolute; inset:-40px;
  background-image:
    linear-gradient(to right, rgba(10,20,60,.06) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(10,20,60,.06) 1px, transparent 1px);
  background-size: 44px 44px;
  opacity:.30;
}

/* header */
.ax-header{
  position:sticky;
  top:0;
  z-index:50;
  backdrop-filter: blur(14px);
  background: rgba(247,251,255,.78);
  border-bottom:1px solid rgba(10,20,60,.08);
}
.ax-nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  height:76px;
  gap:16px;
}
.ax-brand{
  display:flex;
  align-items:center;
  gap:12px;
}
.ax-brand img{
  width:44px; height:auto;
  filter: drop-shadow(0 10px 18px rgba(0,0,0,.12));
}
.ax-brandText{ display:flex; flex-direction:column; line-height:1.1; }
.ax-brandText strong{ font-size:14px; letter-spacing:.02em; }
.ax-brandText small{ font-size:12px; letter-spacing:.18em; color:rgba(11,18,36,.60); margin-top:4px; }

.ax-links{ display:flex; align-items:center; gap:14px; }
.ax-links a{
  font-weight:900;
  font-size:14px;
  color:rgba(11,18,36,.76);
  padding:10px 10px;
  border-radius:999px;
  transition:.2s;
}
.ax-links a:hover{ background:rgba(31,111,255,.08); color:rgba(11,18,36,.95); }
.ax-cta{
  border:1px solid rgba(31,111,255,.22);
  background: linear-gradient(135deg, rgba(31,111,255,.18), rgba(0,212,255,.14));
}
.ax-burger{
  display:none;
  width:46px; height:46px;
  border-radius:16px;
  border:1px solid rgba(10,20,60,.10);
  background:rgba(255,255,255,.68);
  box-shadow:var(--shadow2);
}
.ax-burger span{
  display:block;
  width:18px; height:2px;
  background:rgba(11,18,36,.85);
  margin:4px auto;
  border-radius:2px;
}
@media (max-width:980px){
  .ax-links{ display:none; }
  .ax-burger{ display:block; }
}

/* mobile menu */
.ax-mob{
  display:none;
  overflow:hidden;
  max-height:0;
  transition:max-height .25s ease;
  border-top:1px solid rgba(10,20,60,.08);
  background:rgba(247,251,255,.92);
}
.ax-mob.open{ max-height:520px; }
.ax-mob a{
  display:block;
  padding:14px 4vw;
  font-weight:1000;
  color:rgba(11,18,36,.80);
  border-bottom:1px solid rgba(10,20,60,.06);
}
.ax-mob a:hover{ background:rgba(31,111,255,.06); }
.ax-mob-cta{
  color:#0b1224;
  background: linear-gradient(135deg, rgba(31,111,255,.20), rgba(0,212,255,.18));
}
@media (max-width:980px){ .ax-mob{ display:block; } }

/* hero (home) */
.ax-hero{ padding: 56px 0 18px; position:relative; }
.ax-heroGrid{
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap:22px;
  align-items:center;
}
@media (max-width:980px){
  .ax-heroGrid{ grid-template-columns:1fr; }
}
.ax-badge{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid rgba(10,20,60,.10);
  background:rgba(255,255,255,.70);
  box-shadow:var(--shadow2);
  color:rgba(11,18,36,.76);
  font-weight:1000;
}
.ax-badge i{ color:rgba(31,111,255,.95); }

.ax-title{
  margin:16px 0 0;
  font-size: clamp(34px, 5vw, 58px);
  line-height:1.05;
  letter-spacing:-.02em;
}
.ax-grad{
  background: linear-gradient(90deg, var(--a), var(--c), var(--b));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.ax-lead{
  margin:14px 0 0;
  font-size:16px;
  line-height:1.9;
  color:var(--muted);
  max-width: 50ch;
}
.ax-actions{ margin-top:18px; display:flex; gap:12px; flex-wrap:wrap; }

.ax-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  height:46px;
  padding:0 16px;
  border-radius:999px;
  border:1px solid rgba(10,20,60,.10);
  background:rgba(255,255,255,.68);
  font-weight:1000;
  color:rgba(11,18,36,.90);
  box-shadow:var(--shadow2);
  transition:.2s;
}
.ax-btn:hover{ transform:translateY(-1px); }
.ax-primary{
  border-color: rgba(31,111,255,.24);
  background: linear-gradient(135deg, rgba(31,111,255,.22), rgba(0,212,255,.18));
}
.ax-ghost{ background:rgba(255,255,255,.45); }

.ax-kpis{
  margin-top:18px;
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:12px;
}
@media (max-width:760px){ .ax-kpis{ grid-template-columns:1fr; } }
.ax-kpi{
  border-radius:18px;
  border:1px solid rgba(10,20,60,.10);
  background:rgba(255,255,255,.70);
  box-shadow:var(--shadow2);
  padding:14px;
}
.ax-kpiTop{
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:1000;
  color:rgba(11,18,36,.86);
}
.ax-kpiTop i{ color:rgba(124,58,237,.85); }
.ax-kpiText{
  margin-top:6px;
  color:rgba(11,18,36,.62);
  font-weight:900;
  font-size:13px;
}

/* right card */
.ax-heroCard{ position:relative; }
.ax-glass{
  border-radius: var(--r);
  border:1px solid rgba(10,20,60,.10);
  background:rgba(255,255,255,.72);
  box-shadow:var(--shadow);
  overflow:hidden;
}
.ax-glassTop{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:12px 14px;
  border-bottom:1px solid rgba(10,20,60,.08);
}
.ax-dots{ display:flex; gap:8px; }
.d{ width:10px; height:10px; border-radius:50%; display:inline-block; }
.d.r{ background:#ff5a5f; }
.d.y{ background:#ffbd2e; }
.d.g{ background:#28c840; }
.ax-glassTitle{ font-weight:1000; letter-spacing:.06em; color:rgba(11,18,36,.75); }
.ax-live{
  display:flex;
  align-items:center;
  gap:8px;
  font-weight:1000;
  color:rgba(11,18,36,.60);
}
.ax-pulse{
  width:9px; height:9px;
  border-radius:50%;
  background:rgba(0,212,255,.95);
  box-shadow:0 0 0 0 rgba(0,212,255,.55);
  animation: axPulse 1.2s infinite;
}
@keyframes axPulse{
  0%{ box-shadow:0 0 0 0 rgba(0,212,255,.55); }
  70%{ box-shadow:0 0 0 10px rgba(0,212,255,0); }
  100%{ box-shadow:0 0 0 0 rgba(0,212,255,0); }
}
.ax-glassBody{ padding:16px; }

.ax-miniGrid{
  display:grid;
  grid-template-columns: repeat(2, 1fr);
  gap:12px;
}
.ax-mini{
  display:flex;
  gap:12px;
  align-items:center;
  padding:14px;
  border-radius:18px;
  border:1px solid rgba(10,20,60,.08);
  background:rgba(255,255,255,.55);
}
.ax-miniIcon{
  width:44px; height:44px;
  border-radius:16px;
  display:flex; align-items:center; justify-content:center;
  background: linear-gradient(135deg, rgba(31,111,255,.16), rgba(0,212,255,.12));
  border:1px solid rgba(31,111,255,.18);
}
.ax-miniIcon i{ color:rgba(31,111,255,.95); font-size:18px; }
.ax-miniText strong{ display:block; font-weight:1100; }
.ax-miniText span{ display:block; margin-top:2px; color:rgba(11,18,36,.62); font-weight:900; font-size:12px; }

.ax-meter{ margin-top:14px; }
.ax-meterRow{
  display:flex;
  justify-content:space-between;
  font-weight:1000;
  color:rgba(11,18,36,.70);
  font-size:12px;
  margin-top:10px;
}
.ax-bar{
  height:10px;
  border-radius:999px;
  background:rgba(10,20,60,.08);
  overflow:hidden;
}
.ax-fill{
  height:100%;
  width: var(--w);
  border-radius:999px;
  background: linear-gradient(90deg, rgba(31,111,255,.65), rgba(0,212,255,.60), rgba(124,58,237,.50));
}

.ax-note{
  margin-top:14px;
  display:flex;
  gap:10px;
  align-items:flex-start;
  color:rgba(11,18,36,.62);
  font-weight:900;
  line-height:1.6;
}
.ax-note i{ color:rgba(255,79,216,.85); margin-top:2px; }

.ax-logoFloat{
  position:absolute;
  right:-14px; bottom:-16px;
  width:120px; height:120px;
  border-radius:30px;
  background:rgba(255,255,255,.55);
  border:1px solid rgba(10,20,60,.10);
  box-shadow:var(--shadow2);
  display:flex;
  align-items:center;
  justify-content:center;
  transform: rotate(-6deg);
}
.ax-logoFloat img{
  width:74px; height:auto;
  filter: drop-shadow(0 10px 18px rgba(0,0,0,.12));
}

/* section */
.ax-section{ padding: 50px 0; }
.ax-head{ text-align:center; margin-bottom:18px; }
.ax-head h2{ margin:0; font-size: clamp(26px, 3.2vw, 38px); letter-spacing:-.02em; }
.ax-head p{ margin:10px auto 0; max-width: 60ch; color:var(--muted); line-height:1.9; }

.ax-cards{
  display:grid;
  grid-template-columns: repeat(2, 1fr);
  gap:14px;
  margin-top:16px;
}
@media (max-width:980px){ .ax-cards{ grid-template-columns:1fr; } }

.ax-card{
  border-radius: var(--r);
  border:1px solid rgba(10,20,60,.10);
  background:rgba(255,255,255,.76);
  box-shadow:var(--shadow2);
  padding:18px;
  transition:.22s;
  cursor:pointer;
  position:relative;
  overflow:hidden;
}
.ax-card::before{
  content:"";
  position:absolute;
  inset:-60px;
  background:
    radial-gradient(circle at 20% 20%, rgba(0,212,255,.18), transparent 55%),
    radial-gradient(circle at 80% 60%, rgba(31,111,255,.14), transparent 55%),
    radial-gradient(circle at 50% 95%, rgba(255,79,216,.10), transparent 55%);
  opacity:0;
  transition:.22s;
}
.ax-card:hover{ transform: translateY(-4px); box-shadow:var(--shadow); }
.ax-card:hover::before{ opacity:1; }
.ax-cardTop{ display:flex; justify-content:space-between; align-items:center; position:relative; }
.ax-chip{
  display:inline-flex;
  padding:8px 10px;
  border-radius:999px;
  font-weight:1100;
  font-size:12px;
  letter-spacing:.10em;
  border:1px solid rgba(31,111,255,.20);
  background: rgba(31,111,255,.10);
  color: rgba(31,111,255,.95);
}
.ax-chip2{
  border-color: rgba(0,212,255,.20);
  background: rgba(0,212,255,.10);
  color: rgba(0,130,170,.95);
}
.ax-chip3{
  border-color: rgba(255,79,216,.20);
  background: rgba(255,79,216,.10);
  color: rgba(180,40,140,.95);
}
.ax-ico{
  width:44px; height:44px;
  border-radius:16px;
  border:1px solid rgba(10,20,60,.08);
  background: rgba(255,255,255,.60);
  display:flex;
  align-items:center;
  justify-content:center;
}
.ax-card h3{ margin:14px 0 0; position:relative; }
.ax-card p{ margin:10px 0 0; color:var(--muted); line-height:1.85; position:relative; }
.ax-link{
  margin-top:14px;
  font-weight:1100;
  position:relative;
  color: rgba(31,111,255,.95);
}
.ax-muted{ color: rgba(11,18,36,.55); }

/* footer */
.ax-footer{
  margin-top:40px;
  padding-top:26px;
  border-top:1px solid rgba(10,20,60,.08);
  background: rgba(255,255,255,.55);
  backdrop-filter: blur(12px);
}
.ax-footGrid{
  display:grid;
  grid-template-columns: 1fr 1.2fr .4fr;
  gap:14px;
  align-items:center;
}
@media (max-width:980px){ .ax-footGrid{ grid-template-columns:1fr; } }
.ax-footBrand{
  display:flex;
  gap:12px;
  align-items:center;
}
.ax-footBrand img{ width:40px; height:auto; }
.ax-footBrand strong{ display:block; font-weight:1100; }
.ax-footBrand small{ display:block; margin-top:4px; color: rgba(11,18,36,.60); letter-spacing:.16em; font-weight:900; font-size:12px; }

.ax-footLinks{
  display:flex;
  flex-wrap:wrap;
  gap:12px 14px;
  justify-content:center;
}
.ax-footLinks a{
  color: rgba(11,18,36,.72);
  font-weight:1000;
}
.ax-footLinks a:hover{ text-decoration:underline; }
.ax-footRight{ display:flex; justify-content:flex-end; }
@media (max-width:980px){ .ax-footRight{ justify-content:flex-start; } }
.ax-top{
  height:44px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid rgba(10,20,60,.10);
  background: rgba(255,255,255,.70);
  box-shadow: var(--shadow2);
  font-weight:1100;
  transition:.2s;
}
.ax-top:hover{ transform:translateY(-1px); }
.ax-copy{
  padding:14px 0 18px;
  color: rgba(11,18,36,.55);
  font-weight:900;
  text-align:center;
}

/* scroll */
.ax-scroll{
  display:flex;
  justify-content:center;
  margin-top:18px;
  width:28px; height:46px;
  border-radius:999px;
  border:1px solid rgba(10,20,60,.14);
  background:rgba(255,255,255,.45);
  position:relative;
  left:50%;
  transform:translateX(-50%);
  box-shadow:var(--shadow2);
}
.ax-scroll span{
  width:6px; height:6px;
  border-radius:50%;
  background:rgba(11,18,36,.65);
  position:absolute;
  top:12px; left:50%;
  transform:translateX(-50%);
  animation: axDot 1.2s infinite;
}
@keyframes axDot{
  0%{ transform:translateX(-50%) translateY(0); opacity:.8; }
  60%{ transform:translateX(-50%) translateY(16px); opacity:.2; }
  100%{ transform:translateX(-50%) translateY(0); opacity:.8; }
}

/* reveal */
.ax-reveal{
  opacity:0;
  transform: translateY(12px);
  transition: .6s ease;
}
.ax-reveal.show{
  opacity:1;
  transform: translateY(0);
}

/* -------------------- Splash -------------------- */
.ax-splash{
  position:fixed; inset:0;
  z-index:9999;
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(247,251,255,.92);
  backdrop-filter: blur(14px);
  transition: opacity .5s ease, visibility .5s ease;
}
.ax-splash.is-hide{ opacity:0; visibility:hidden; pointer-events:none; }

.ax-splashInner{
  width:min(520px, 90vw);
  border-radius: 28px;
  border:1px solid rgba(10,20,60,.10);
  background: rgba(255,255,255,.70);
  box-shadow: var(--shadow);
  padding: 22px 20px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:14px;
}

.ax-splashLogo{
  width:84px; height:auto;
  filter: drop-shadow(0 14px 24px rgba(10,20,60,.16));
  transform: translateY(6px) scale(.98);
  opacity:0;
  animation: axSplashIn .7s ease forwards;
}
@keyframes axSplashIn{
  to{ transform: translateY(0) scale(1); opacity:1; }
}

.ax-splashText{ text-align:center; line-height:1.15; }
.ax-splashText strong{ display:block; font-weight:1100; letter-spacing:.02em; }
.ax-splashText span{ display:block; margin-top:6px; font-weight:900; color:rgba(11,18,36,.60); letter-spacing:.18em; font-size:12px; }

.ax-splashBar{
  width: 72%;
  height: 10px;
  border-radius: 999px;
  background: rgba(10,20,60,.08);
  overflow:hidden;
}
.ax-splashBar span{
  display:block;
  height:100%;
  width: 40%;
  border-radius:999px;
  background: linear-gradient(90deg, rgba(31,111,255,.55), rgba(0,212,255,.55), rgba(124,58,237,.45));
  animation: axSplashBar 1.05s ease-in-out infinite;
}
@keyframes axSplashBar{
  0%{ transform: translateX(-30%); }
  50%{ transform: translateX(110%); }
  100%{ transform: translateX(-30%); }
}

/* -------------------- extras -------------------- */
.ax-kpis--2{ grid-template-columns: repeat(2, 1fr); }
@media (max-width:760px){ .ax-kpis--2{ grid-template-columns:1fr; } }

.ax-note--short{
  padding-top:10px;
  border-top: 1px solid rgba(10,20,60,.08);
}

.ax-section--soft{
  background: rgba(255,255,255,.40);
  border-top: 1px solid rgba(10,20,60,.06);
  border-bottom: 1px solid rgba(10,20,60,.06);
}

/* marquee strip */
.ax-strip{ padding: 14px 0 6px; }
.ax-marquee{
  border-radius: 999px;
  border:1px solid rgba(10,20,60,.10);
  background: rgba(255,255,255,.55);
  box-shadow: var(--shadow2);
  overflow:hidden;
}
.ax-marqueeTrack{
  display:flex;
  gap:10px;
  padding:10px 12px;
  width:max-content;
  animation: axMarquee 22s linear infinite;
}
@keyframes axMarquee{ to{ transform: translateX(-50%); } }

.ax-pill{
  display:inline-flex;
  align-items:center;
  height:32px;
  padding:0 12px;
  border-radius:999px;
  border:1px solid rgba(10,20,60,.10);
  background: rgba(255,255,255,.65);
  font-weight:1000;
  color: rgba(11,18,36,.72);
  white-space:nowrap;
}

/* tiles */
.ax-tiles{
  margin-top:16px;
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap:12px;
}
@media (max-width:980px){ .ax-tiles{ grid-template-columns:1fr 1fr; } }
@media (max-width:520px){ .ax-tiles{ grid-template-columns:1fr; } }

.ax-tile{
  border-radius: calc(var(--r) - 4px);
  border:1px solid rgba(10,20,60,.10);
  background: rgba(255,255,255,.72);
  box-shadow: var(--shadow2);
  padding:16px;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.ax-tile i{
  width:44px; height:44px;
  border-radius:16px;
  display:flex; align-items:center; justify-content:center;
  background: linear-gradient(135deg, rgba(31,111,255,.16), rgba(0,212,255,.12));
  border:1px solid rgba(31,111,255,.18);
  color: rgba(31,111,255,.95);
  font-size:18px;
}
.ax-tile strong{ font-weight:1200; letter-spacing:.02em; }
.ax-tile span{ color: var(--muted); font-weight:900; }

/* news list */
.ax-news{
  border-radius: var(--r);
  border:1px solid rgba(10,20,60,.10);
  background: rgba(255,255,255,.72);
  box-shadow: var(--shadow2);
  overflow:hidden;
}
.ax-newsRow{
  display:grid;
  grid-template-columns: 110px 1fr 24px;
  gap:12px;
  align-items:center;
  padding:14px 16px;
  border-bottom:1px solid rgba(10,20,60,.06);
}
.ax-newsRow:last-child{ border-bottom:none; }
.ax-date{ font-weight:1100; color: rgba(11,18,36,.62); }
.ax-newsText{ font-weight:1000; color: rgba(11,18,36,.84); }
.ax-newsRow i{ color: rgba(31,111,255,.85); }
.ax-newsRow:hover{ background: rgba(31,111,255,.06); }
@media (max-width:640px){
  .ax-newsRow{ grid-template-columns: 1fr; }
}


.ax-strip2{ padding: 14px 0 10px; }

.ax-marquee2{
  position:relative;
  border-radius: 999px;
  border: 1px solid rgba(10,20,60,.10);
  background: rgba(255,255,255,.52);
  box-shadow: var(--shadow2);
  overflow:hidden;
}

/* subtle glow ring */
.ax-marquee2::before{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius: 999px;
  background:
    radial-gradient(circle at 20% 50%, rgba(0,212,255,.12), transparent 55%),
    radial-gradient(circle at 80% 50%, rgba(31,111,255,.10), transparent 60%),
    radial-gradient(circle at 50% 10%, rgba(124,58,237,.08), transparent 55%);
  pointer-events:none;
  opacity:.65;
}

.ax-marqueeFade{
  position:absolute;
  top:0; bottom:0;
  width:72px;
  z-index:2;
  pointer-events:none;
}
.ax-marqueeFade.ax-left{
  left:0;
  background: linear-gradient(to right, rgba(247,251,255,1), rgba(247,251,255,.0));
}
.ax-marqueeFade.ax-right{
  right:0;
  background: linear-gradient(to left, rgba(247,251,255,1), rgba(247,251,255,.0));
}

/* track */
.ax-marqueeTrack2{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  gap:10px;
  padding: 10px 12px;
  width:max-content;
  animation: axMarquee2 24s linear infinite;
  will-change: transform;
}
@keyframes axMarquee2{ to{ transform: translateX(-50%); } }

/* pause on hover */
.ax-marquee2:hover .ax-marqueeTrack2{
  animation-play-state: paused;
}

/* pill - refined */
.ax-pill{
  display:inline-flex;
  align-items:center;
  gap:10px;
  height:34px;
  padding: 0 14px;
  border-radius:999px;
  border:1px solid rgba(10,20,60,.10);
  background: rgba(255,255,255,.60);
  font-weight:1000;
  color: rgba(11,18,36,.70);
  white-space:nowrap;
  letter-spacing:.02em;
  transition: transform .18s ease, background .18s ease, border-color .18s ease;
}

/* icon badge */
.ax-pill i{
  width:22px; height:22px;
  border-radius: 10px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(31,111,255,.07);
  border:1px solid rgba(31,111,255,.10);
  color: rgba(31,111,255,.75);
  font-size:12px;
}

/* hover feel */
.ax-pill:hover{
  transform: translateY(-1px);
  background: rgba(255,255,255,.72);
  border-color: rgba(31,111,255,.14);
}

/* highlight category */
.ax-pill--hot{
  background: linear-gradient(135deg, rgba(31,111,255,.12), rgba(0,212,255,.10));
  border-color: rgba(31,111,255,.16);
  color: rgba(11,18,36,.82);
}
.ax-pill--hot i{
  background: rgba(0,212,255,.10);
  border-color: rgba(0,212,255,.14);
  color: rgba(0,130,170,.88);
}

/* mobile tweak */
@media (max-width:640px){
  .ax-marqueeFade{ width:46px; }
  .ax-marqueeTrack2{ padding: 10px 10px; }
  .ax-pill{ height:32px; padding:0 12px; }
}

/* 让 grid 子项允许缩小（很关键） */
.ax-miniGrid,
.ax-mini,
.ax-miniText{
  min-width: 0;
}

/* 长英文强制断行，避免撑出屏幕 */
.ax-miniText strong,
.ax-miniText span,
.ax-glassTitle{
  overflow-wrap: anywhere;   /* 现代浏览器 */
  word-break: break-word;    /* 兼容兜底 */
}

/* 手机端改成 1 列最稳 */
@media (max-width: 520px){
  .ax-miniGrid{
    grid-template-columns: 1fr;
  }
}

/* =======================================================
   Business Page
======================================================= */
.ax-bizPage{ padding:78px 0 110px; }

.ax-bizHero{ margin-bottom:26px; }

.ax-bizKicker{
  font-weight:1000;
  color:rgba(11,18,36,.52);
  letter-spacing:.10em;
  font-size:13px;
}

.ax-bizH1{
  margin:12px 0 0;
  font-size:clamp(34px,4.2vw,54px);
  letter-spacing:-.03em;
  line-height:1.06;
}

.ax-bizIntro{
  margin-top:16px;
  line-height:1.9;
  color:var(--muted);
  font-weight:900;
}

/* item (biz blocks) */
.ax-bizItem{
  margin-top:18px;
  padding:26px 24px 22px;
  border-radius:var(--r);
  border:1px solid rgba(10,20,60,.08);
  background:var(--glass);
  box-shadow:var(--shadow2);
  position:relative;
  overflow:hidden;
}

.ax-bizItem::before{
  content:"";
  position:absolute;
  inset:-70px;
  background:
    radial-gradient(circle at 18% 20%, rgba(31,111,255,.10), transparent 56%),
    radial-gradient(circle at 80% 45%, rgba(0,212,255,.08), transparent 58%),
    radial-gradient(circle at 40% 95%, rgba(124,58,237,.06), transparent 60%);
  opacity:.45;
}

.ax-bizItemTop{
  display:flex;
  justify-content:space-between;
  gap:12px;
}

.ax-bizItemTop h2{
  margin:0;
  font-size:clamp(26px,2.8vw,40px);
  line-height:1.18;
  letter-spacing:-.02em;
}

.ax-bizTag{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 12px;
  border-radius:999px;
  border:1px solid rgba(10,20,60,.08);
  background:rgba(255,255,255,.50);
  color:rgba(11,18,36,.60);
  font-weight:1000;
  font-size:12px;
}
.ax-bizTag i{ color:rgba(31,111,255,.70); }

.ax-bizItem p{
  margin-top:14px;
  line-height:2.15;
  letter-spacing:.02em;
  color:rgba(11,18,36,.72);
  font-weight:900;
}

.ax-bizLeadLine{
  font-weight:1100;
  color:rgba(11,18,36,.84);
}

.ax-bizPills{
  margin-top:18px;
  display:flex;
  flex-wrap:wrap;
  gap:10px 12px;
  list-style:none;
  padding:0;
}

.ax-bizPills li{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 13px;
  border-radius:999px;
  border:1px solid rgba(10,20,60,.08);
  background:rgba(255,255,255,.46);
  color:rgba(11,18,36,.66);
  font-size:13px;
  font-weight:1000;
}

.ax-bizPills li i{
  width:28px;
  height:28px;
  border-radius:11px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(31,111,255,.08);
  border:1px solid rgba(31,111,255,.10);
  color:rgba(31,111,255,.70);
}

.ax-bizBottom{
  margin-top:20px;
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

@media (max-width:640px){
  .ax-bizItem{ padding:22px 18px 18px; }
  .ax-bizItem p{ max-width:100%; line-height:2.05; }
}

/* =======================================================
   Security Page UI
======================================================= */
/* .ax-docText{
  width: min(900px, 92vw);
  margin: 0 auto;
} */

.ax-docText h2{
  margin: 34px 0 10px;
  font-size: clamp(22px, 2.1vw, 30px);
  line-height: 1.25;
  letter-spacing: -.01em;
  font-weight: 1100;
}

.ax-docText p{
  margin: 0;
  line-height: 2.05;
  letter-spacing: .02em;
  color: rgba(11,18,36,.72);
  font-weight: 900;
}

.ax-docText p + p{ margin-top: 14px; }

.ax-docFoot{
  margin-top: 44px;
  padding-top: 20px;
  border-top: 1px solid rgba(10,20,60,.08);
  color: rgba(11,18,36,.60);
  font-weight: 900;
  line-height: 1.9;
  text-align: right;
}

@media (max-width:640px){
  .ax-docText p{ max-width:100%; line-height:2.0; }
}

/* =======================================================
   About Page UI
======================================================= */
.ax-about{ padding-top: 8px; }

.ax-aboutGrid{
  display:grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 18px;
  align-items:start;
}
@media (max-width:980px){
  .ax-aboutGrid{ grid-template-columns:1fr; }
}

/* badges */
.ax-aboutBadgeRow{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom: 14px;
}
.ax-aboutBadge{
  display:inline-flex;
  align-items:center;
  gap:10px;
  height:38px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid rgba(10,20,60,.10);
  background: rgba(255,255,255,.62);
  box-shadow: var(--shadow2);
  font-weight:1000;
  color: rgba(11,18,36,.70);
}
.ax-aboutBadge i{
  width:28px; height:28px;
  border-radius:12px;
  display:flex; align-items:center; justify-content:center;
  background: rgba(31,111,255,.08);
  border:1px solid rgba(31,111,255,.10);
  color: rgba(31,111,255,.78);
}

/* typography */
.ax-aboutH2{
  margin: 22px 0 10px;
  font-size: clamp(22px, 2.2vw, 30px);
  letter-spacing: -.01em;
  line-height: 1.25;
}
.ax-aboutP{
  margin: 0;
  max-width: 70ch;
  line-height: 2.05;
  letter-spacing: .02em;
  color: rgba(11,18,36,.72);
  font-weight: 900;
}
.ax-aboutP + .ax-aboutP{ margin-top: 14px; }

/* panes (soft, not "biz blocks") */
.ax-aboutPanes{
  margin-top: 16px;
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
@media (max-width:980px){
  .ax-aboutPanes{ grid-template-columns:1fr; }
}
.ax-pane{
  border-radius: calc(var(--r) - 4px);
  border:1px solid rgba(10,20,60,.10);
  background: rgba(255,255,255,.66);
  box-shadow: var(--shadow2);
  padding: 14px 14px 12px;
}
.ax-paneTop{
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:1100;
  color: rgba(11,18,36,.84);
}
.ax-paneTop i{
  width:38px; height:38px;
  border-radius:16px;
  display:flex; align-items:center; justify-content:center;
  background: rgba(0,212,255,.10);
  border:1px solid rgba(0,212,255,.14);
  color: rgba(0,130,170,.90);
}
.ax-pane p{
  margin:10px 0 0;
  color: rgba(11,18,36,.70);
  line-height: 1.95;
  font-weight: 900;
}

/* value list */
.ax-aboutList{
  margin:10px 0 0;
  padding:0;
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.ax-aboutList li{
  display:flex;
  align-items:flex-start;
  gap:10px;
  color: rgba(11,18,36,.70);
  line-height: 1.8;
  font-weight: 900;
}
.ax-aboutList i{
  width:22px; height:22px;
  margin-top: 2px;
  border-radius:10px;
  display:flex; align-items:center; justify-content:center;
  background: rgba(31,111,255,.08);
  border:1px solid rgba(31,111,255,.10);
  color: rgba(31,111,255,.78);
}

/* timeline */
.ax-timeline{
  margin-top: 8px;
  border-left: 2px solid rgba(10,20,60,.08);
  padding-left: 16px;
}
.ax-tlItem{
  position:relative;
  padding: 10px 0 10px 6px;
}
.ax-tlDot{
  position:absolute;
  left: -9px;
  top: 18px;
  width:14px; height:14px;
  border-radius:50%;
  background: rgba(255,255,255,.90);
  border:1px solid rgba(31,111,255,.22);
  box-shadow: 0 10px 20px rgba(10,20,60,.08);
}
.ax-tlBody{ display:flex; gap:12px; align-items:flex-start; }
.ax-tlDate{
  min-width: 64px;
  font-weight:1100;
  color: rgba(11,18,36,.58);
}
.ax-tlText{
  color: rgba(11,18,36,.72);
  font-weight: 900;
  line-height: 1.95;
  max-width: 70ch;
}

/* note */
.ax-aboutNote{
  margin-top: 16px;
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding-top: 14px;
  border-top: 1px solid rgba(10,20,60,.08);
  color: rgba(11,18,36,.62);
  font-weight: 900;
  line-height: 1.8;
}
.ax-aboutNote i{
  color: rgba(255,79,216,.80);
  margin-top: 2px;
}

/* side card */
.ax-profileCard{
  border-radius: var(--r);
  border:1px solid rgba(10,20,60,.10);
  background: rgba(255,255,255,.72);
  box-shadow: var(--shadow);
  overflow:hidden;
  position: sticky;
  top: 96px;
}
@media (max-width:980px){
  .ax-profileCard{ position:relative; top:auto; }
}
.ax-profileHead{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding: 14px 16px;
  border-bottom: 1px solid rgba(10,20,60,.08);
}
.ax-profileHead strong{
  font-weight: 1200;
  letter-spacing: .04em;
  color: rgba(11,18,36,.86);
}
.ax-profileMini{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding: 8px 10px;
  border-radius: 999px;
  border:1px solid rgba(10,20,60,.08);
  background: rgba(255,255,255,.55);
  color: rgba(11,18,36,.62);
  font-weight: 1000;
  font-size: 12px;
}
.ax-profileMini i{ color: rgba(31,111,255,.75); }

/* dl */
.ax-dl{ margin: 0; padding: 12px 16px 6px; }
.ax-dl > div{
  display:grid;
  grid-template-columns: 110px 1fr;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(10,20,60,.06);
}
.ax-dl > div:last-child{ border-bottom:none; }
.ax-dl dt{
  color: rgba(11,18,36,.58);
  font-weight: 1100;
}
.ax-dl dd{
  margin:0;
  color: rgba(11,18,36,.78);
  font-weight: 900;
  line-height: 1.8;
}
@media (max-width:520px){
  .ax-dl > div{ grid-template-columns: 1fr; gap:6px; }
}

/* small kpis */
.ax-profileKpis{
  padding: 10px 16px 4px;
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
@media (max-width:520px){
  .ax-profileKpis{ grid-template-columns: 1fr; }
}
.ax-miniKpi{
  border-radius: 18px;
  border:1px solid rgba(10,20,60,.08);
  background: rgba(255,255,255,.60);
  padding: 12px;
}
.ax-miniKpiTop{
  display:flex;
  align-items:center;
  gap:8px;
  font-weight:1100;
  color: rgba(11,18,36,.80);
}
.ax-miniKpiTop i{ color: rgba(124,58,237,.80); }
.ax-miniKpiText{
  display:block;
  margin-top: 6px;
  color: rgba(11,18,36,.60);
  font-weight: 900;
  font-size: 12px;
}

/* CTA */
.ax-profileCta{
  margin: 12px 16px 14px;
  display:flex;
}
.ax-profileCta:hover{ transform: translateY(-1px); }

.ax-profileFoot{
  padding: 0 16px 16px;
  color: rgba(11,18,36,.55);
  font-weight: 900;
}

/* =======================================================
   Hire Page UI
======================================================= */
.ax-hireV2{ padding-top: 8px; }

/* top area */
.ax-hireTop{
  display:grid;
  grid-template-columns: 1.12fr .88fr;
  gap: 16px;
  align-items:start;
}
@media (max-width:980px){
  .ax-hireTop{ grid-template-columns:1fr; }
}

.ax-hirePills{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom: 14px;
}
.ax-hirePill{
  display:inline-flex;
  align-items:center;
  gap:10px;
  height:38px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid rgba(10,20,60,.10);
  background: rgba(255,255,255,.58);
  box-shadow: var(--shadow2);
  font-weight:1000;
  color: rgba(11,18,36,.70);
}
.ax-hirePill i{
  width:28px; height:28px;
  border-radius:12px;
  display:flex; align-items:center; justify-content:center;
  background: rgba(31,111,255,.07);
  border:1px solid rgba(31,111,255,.10);
  color: rgba(31,111,255,.75);
}

.ax-hireTitle{
  margin: 6px 0 8px;
  font-size: clamp(24px, 2.4vw, 34px);
  letter-spacing: -.01em;
  line-height: 1.25;
}
.ax-hireLead{
  margin: 0;
  max-width: 72ch;
  line-height: 2.05;
  letter-spacing: .02em;
  color: rgba(11,18,36,.72);
  font-weight: 900;
}

/* mini facts */
.ax-hireMini{
  margin-top: 14px;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.ax-hireMiniItem{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:12px 12px;
  border-radius: 18px;
  border:1px solid rgba(10,20,60,.10);
  background: rgba(255,255,255,.56);
  box-shadow: var(--shadow2);
}
.ax-hireMiniItem i{
  width:42px; height:42px;
  border-radius: 16px;
  display:flex; align-items:center; justify-content:center;
  background: rgba(0,212,255,.09);
  border:1px solid rgba(0,212,255,.14);
  color: rgba(0,130,170,.88);
  flex: 0 0 auto;
}
.ax-hireMiniItem strong{
  display:block;
  font-weight: 1200;
  color: rgba(11,18,36,.84);
}
.ax-hireMiniItem span{
  display:block;
  margin-top: 4px;
  color: rgba(11,18,36,.62);
  font-weight: 900;
  line-height: 1.8;
}

/* right summary card (soft) */
.ax-hireSummary{
  border-radius: var(--r);
  border:1px solid rgba(10,20,60,.10);
  background: rgba(255,255,255,.66);
  box-shadow: var(--shadow);
  overflow:hidden;
  position: sticky;
  top: 96px;
}
@media (max-width:980px){
  .ax-hireSummary{ position:relative; top:auto; }
}
.ax-hireSummaryHead{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding: 14px 16px;
  border-bottom: 1px solid rgba(10,20,60,.08);
}
.ax-hireSummaryHead strong{
  font-weight: 1200;
  letter-spacing: .04em;
  color: rgba(11,18,36,.86);
}
.ax-hireSummaryChip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding: 8px 10px;
  border-radius: 999px;
  border:1px solid rgba(10,20,60,.08);
  background: rgba(255,255,255,.52);
  color: rgba(11,18,36,.62);
  font-weight: 1000;
  font-size: 12px;
}
.ax-hireSummaryChip i{ color: rgba(31,111,255,.72); }

.ax-hireDl2{ margin: 0; padding: 12px 16px 6px; }
.ax-hireDl2 > div{
  display:grid;
  grid-template-columns: 110px 1fr;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(10,20,60,.06);
}
.ax-hireDl2 > div:last-child{ border-bottom:none; }
.ax-hireDl2 dt{
  color: rgba(11,18,36,.58);
  font-weight: 1100;
}
.ax-hireDl2 dd{
  margin:0;
  color: rgba(11,18,36,.78);
  font-weight: 900;
  line-height: 1.8;
}
@media (max-width:520px){
  .ax-hireDl2 > div{ grid-template-columns: 1fr; gap:6px; }
}

.ax-hireMailBtn{
  margin: 12px 16px 10px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  height:46px;
  border-radius:999px;
  border:1px solid rgba(31,111,255,.20);
  background: linear-gradient(135deg, rgba(31,111,255,.14), rgba(0,212,255,.10));
  font-weight:1100;
  color: rgba(11,18,36,.86);
  box-shadow: var(--shadow2);
  transition: .2s;
}
.ax-hireMailBtn:hover{ transform: translateY(-1px); }

.ax-hireSummaryNote{
  padding: 0 16px 16px;
  display:flex;
  gap:10px;
  align-items:flex-start;
  color: rgba(11,18,36,.55);
  font-weight: 900;
  line-height: 1.8;
}
.ax-hireSummaryNote i{
  color: rgba(124,58,237,.75);
  margin-top: 2px;
}

/* main grid sections */
.ax-hireGrid{
  margin-top: 18px;
  display:flex;
  flex-direction:column;
  gap: 14px;
}

.ax-hireSec{
  border-radius: var(--r);
  border:1px solid rgba(10,20,60,.10);
  background: rgba(255,255,255,.56);
  box-shadow: var(--shadow2);
  padding: 14px 14px;
}

.ax-hireH3v2{
  margin: 0 0 10px;
  display:flex;
  align-items:center;
  gap:10px;
  font-size: clamp(20px, 2vw, 26px);
  letter-spacing: -.01em;
  color: rgba(11,18,36,.84);
}
.ax-hireH3v2 i{
  width:38px; height:38px;
  border-radius:16px;
  display:flex; align-items:center; justify-content:center;
  background: rgba(31,111,255,.07);
  border:1px solid rgba(31,111,255,.10);
  color: rgba(31,111,255,.76);
}

/* accordion - soft */
.ax-hireWork{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.ax-hireAcc{
  border-radius: 18px;
  border:1px solid rgba(10,20,60,.10);
  background: rgba(255,255,255,.58);
  box-shadow: var(--shadow2);
  overflow:hidden;
}
.ax-hireAcc summary{
  cursor:pointer;
  list-style:none;
  padding: 12px 12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  font-weight: 1100;
  color: rgba(11,18,36,.82);
}
.ax-hireAcc summary::-webkit-details-marker{ display:none; }
.ax-hireAccTitle{ font-weight: 1200; }
.ax-hireAccHint{
  color: rgba(11,18,36,.58);
  font-weight: 900;
  font-size: 13px;
  white-space: nowrap;
}
.ax-hireAccBody{
  padding: 0 12px 12px;
}

.ax-hireTags{
  margin: 8px 0 0;
  padding: 0;
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  gap:10px 10px;
}
.ax-hireTags li{
  display:inline-flex;
  align-items:center;
  height:34px;
  padding: 0 12px;
  border-radius:999px;
  border:1px solid rgba(10,20,60,.10);
  background: rgba(255,255,255,.52);
  color: rgba(11,18,36,.70);
  font-weight: 1000;
  font-size: 13px;
}

.ax-hireText{
  margin: 10px 0 0;
  color: rgba(11,18,36,.72);
  line-height: 2.0;
  font-weight: 900;
  letter-spacing: .02em;
}

/* benefit/apply (two-column rows) */
.ax-hireBenefitRow,
.ax-hireApplyRow{
  display:grid;
  grid-template-columns: 110px 1fr;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(10,20,60,.06);
}
.ax-hireBenefitRow:last-child,
.ax-hireApplyRow:last-child{ border-bottom:none; }

.ax-hireBenefitKey,
.ax-hireApplyKey{
  color: rgba(11,18,36,.58);
  font-weight: 1100;
}
.ax-hireBenefitVal,
.ax-hireApplyVal{
  color: rgba(11,18,36,.74);
  font-weight: 900;
  line-height: 2.0;
  letter-spacing: .02em;
}
@media (max-width:520px){
  .ax-hireBenefitRow,
  .ax-hireApplyRow{
    grid-template-columns: 1fr;
    gap: 6px;
  }
}

.ax-hireMailInline{
  color: rgba(31,111,255,.92);
  font-weight: 1100;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* apply CTA */
.ax-hireApplyCta{
  margin-top: 12px;
  /* padding-top: 12px; */
  /* border-top: 1px solid rgba(10,20,60,.08); */
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
}
@media (max-width:760px){
  .ax-hireApplyCta{ flex-direction:column; align-items:flex-start; }
}
.ax-hireApplyCta strong{
  display:block;
  font-weight: 1200;
  color: rgba(11,18,36,.86);
}
.ax-hireApplyCta span{
  display:block;
  margin-top: 6px;
  color: rgba(11,18,36,.62);
  font-weight: 900;
}
.ax-hireApplyBtn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  height:46px;
  padding:0 16px;
  border-radius:999px;
  border:1px solid rgba(31,111,255,.20);
  background: linear-gradient(135deg, rgba(31,111,255,.14), rgba(0,212,255,.10));
  font-weight:1100;
  color: rgba(11,18,36,.86);
  box-shadow: var(--shadow2);
  transition: .2s;
  white-space: nowrap;
}
.ax-hireApplyBtn:hover{ transform: translateY(-1px); }

/* =======================================================
   Contact Page UI
======================================================= */
.ax-contactUi{
  margin-top: 12px;
  max-width: 980px;
}

.ax-contactHeroLine{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:14px 14px;
  border-radius: var(--r);
  border:1px solid rgba(10,20,60,.10);
  background: rgba(255,255,255,.58);
  box-shadow: var(--shadow2);
}

.ax-contactIcon{
  width:46px; height:46px;
  border-radius:18px;
  display:flex; align-items:center; justify-content:center;
  background: rgba(0,212,255,.10);
  border:1px solid rgba(0,212,255,.14);
  color: rgba(0,130,170,.90);
  flex:0 0 auto;
}

.ax-contactHeroText strong{
  display:block;
  font-weight:1200;
  color: rgba(11,18,36,.86);
  letter-spacing:.01em;
}
.ax-contactHeroText span{
  display:block;
  margin-top: 4px;
  color: rgba(11,18,36,.62);
  font-weight: 900;
  line-height: 1.8;
}

/* main panel */
.ax-contactPanel{
  margin-top: 14px;
  border-radius: var(--r);
  border:1px solid rgba(10,20,60,.10);
  background: rgba(255,255,255,.62);
  box-shadow: var(--shadow);
  overflow:hidden;
  position:relative;
}

.ax-contactPanel::before{
  content:"";
  position:absolute;
  inset:-60px;
  background:
    radial-gradient(circle at 18% 22%, rgba(31,111,255,.10), transparent 58%),
    radial-gradient(circle at 78% 50%, rgba(0,212,255,.08), transparent 60%),
    radial-gradient(circle at 40% 95%, rgba(124,58,237,.06), transparent 62%);
  opacity:.55;
  pointer-events:none;
}

.ax-contactMeta{
  position:relative;
  padding: 14px 16px 4px;
}

.ax-contactRow{
  display:grid;
  grid-template-columns: 110px 1fr;
  gap: 14px;
  padding: 12px 0;
  border-bottom: 1px solid rgba(10,20,60,.06);
}
.ax-contactRow:last-child{ border-bottom:none; }

.ax-contactKey{
  color: rgba(11,18,36,.56);
  font-weight:1100;
}
.ax-contactVal{
  color: rgba(11,18,36,.74);
  font-weight: 900;
  line-height: 2.05;
  letter-spacing: .02em;
}
.ax-contactStrong{
  color: rgba(11,18,36,.86);
  font-weight:1100;
}

/* mail pill */
.ax-contactMail{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding: 10px 12px;
  border-radius: 999px;
  border:1px solid rgba(31,111,255,.20);
  background: rgba(255,255,255,.58);
  box-shadow: var(--shadow2);
  text-decoration:none;
}
.ax-contactMail:hover{ transform: translateY(-1px); }
.ax-contactMailIco{
  width:30px; height:30px;
  border-radius: 12px;
  display:flex; align-items:center; justify-content:center;
  background: rgba(31,111,255,.08);
  border:1px solid rgba(31,111,255,.10);
  color: rgba(31,111,255,.85);
}
.ax-contactMailText{
  font-weight: 1100;
  color: rgba(31,111,255,.92);
  letter-spacing:.01em;
}

/* note */
.ax-contactNote{
  position:relative;
  padding: 14px 16px 16px;
  border-top: 1px solid rgba(10,20,60,.08);
  display:flex;
  gap:10px;
  align-items:flex-start;
  color: rgba(11,18,36,.62);
  font-weight: 900;
  line-height: 1.85;
}
.ax-contactNote i{
  color: rgba(124,58,237,.78);
  margin-top: 3px;
}
.ax-contactNote strong{
  display:block;
  color: rgba(11,18,36,.82);
  font-weight: 1200;
}
.ax-contactNote span{ display:block; margin-top: 4px; }

/* sub items */
.ax-contactSub{
  margin-top: 14px;
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
@media (max-width:760px){
  .ax-contactSub{ grid-template-columns:1fr; }
}
.ax-contactSubItem{
  border-radius: calc(var(--r) - 6px);
  border:1px solid rgba(10,20,60,.10);
  background: rgba(255,255,255,.56);
  box-shadow: var(--shadow2);
  padding: 12px 12px;
  display:flex;
  gap:12px;
  align-items:flex-start;
}
.ax-contactSubItem i{
  width:42px; height:42px;
  border-radius: 16px;
  display:flex; align-items:center; justify-content:center;
  background: rgba(0,212,255,.08);
  border:1px solid rgba(0,212,255,.12);
  color: rgba(0,130,170,.88);
  flex:0 0 auto;
}
.ax-contactSubItem strong{
  display:block;
  font-weight: 1200;
  color: rgba(11,18,36,.84);
}
.ax-contactSubItem span{
  display:block;
  margin-top: 4px;
  color: rgba(11,18,36,.62);
  font-weight: 900;
  line-height: 1.8;
}

/* mobile tighten */
@media (max-width:520px){
  .ax-contactRow{ grid-template-columns: 1fr; gap:6px; }
}