:root{
  --blue:#0052cc; --blue-d:#003a8c; --navy:#0f2747; --ink:#1f2d3d; --muted:#5b6b7f;
  --line:#e2e8f0; --bg:#f5f8fc; --card:#ffffff; --accent:#00a3c4; --good:#0a7d4d; --warn:#b54708;
  --shadow-sm:0 2px 10px rgba(15,39,71,.06); --shadow-md:0 8px 24px rgba(15,39,71,.10); --shadow-lg:0 18px 44px rgba(15,39,71,.14);
  --radius:14px; --radius-sm:10px;
  --font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,"PingFang SC","Microsoft YaHei",sans-serif;
  --mono:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font);color:var(--ink);background:#fff;line-height:1.65;font-size:16px;-webkit-font-smoothing:antialiased}
.ax5-wrap{max-width:1140px;margin:0 auto;padding:0 22px}
.ax5-page{padding-bottom:60px}
a{color:var(--blue);text-decoration:none}
img{max-width:100%;display:block}
::selection{background:rgba(0,82,204,.16)}
button{font-family:var(--font)}

/* ===== CTA button — verbatim class from approved reference ===== */
.gc-btn{display:inline-block;font-family:var(--font);font-weight:700;font-size:15px;border:none;cursor:pointer;border-radius:9px;padding:13px 22px;transition:background .18s,transform .18s,box-shadow .18s,border-color .18s;line-height:1.1}
.gc-btn--primary{background:var(--blue);color:#fff;border:2px solid var(--blue);box-shadow:0 6px 18px rgba(0,82,204,.35)}
.gc-btn--primary:hover{background:var(--blue-d);border-color:var(--blue-d);transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,82,204,.42)}
.ax5-eyebrow > h2{color:#ffffff}
/* ===== HERO ===== */
.ax5-hero{position:relative;background:linear-gradient(135deg,#0a1c3a 0%,#0f2747 42%,#143a6b 78%,#0052cc 130%);color:#fff;padding:60px 0 46px;overflow:hidden}
.ax5-hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(124,172,236,.10) 1px,transparent 1px),linear-gradient(90deg,rgba(124,172,236,.10) 1px,transparent 1px);background-size:44px 44px;mask-image:radial-gradient(ellipse 90% 80% at 30% 40%,#000 30%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 90% 80% at 30% 40%,#000 30%,transparent 100%);pointer-events:none}
.ax5-hero::after{content:"";position:absolute;width:560px;height:560px;right:-160px;top:-180px;border-radius:50%;background:radial-gradient(circle,rgba(0,163,196,.22),transparent 65%);pointer-events:none}
.ax5-hero .ax5-wrap{position:relative;z-index:1}
.ax5-hero-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:42px;align-items:center}
.ax5-eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:#9cc3ff;font-weight:700;margin-bottom:16px}
.ax5-eyebrow::before{content:"";width:26px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--accent),#7fd1ff)}
#ax5-h2 h2{font-size:clamp(31px,4.2vw,45px);line-height:1.10;margin:0 0 16px;font-weight:800;letter-spacing:-.01em;color:#ffffff}
.ax5-hero p.ax5-sub{font-size:17px;color:#dbe7f7;margin:0 0 22px;max-width:640px}
.ax5-tags{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:26px}
.ax5-tag{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.20);color:#eaf2ff;font-size:13px;font-weight:600;padding:6px 12px;border-radius:999px}
.ax5-hero-cta{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.ax5-btn{display:inline-block;font-weight:700;font-size:15px;border-radius:9px;padding:13px 22px;transition:transform .18s,background .18s,border-color .18s;line-height:1.1}
.ax5-btn--ghost{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.45)}
.ax5-btn--ghost:hover{background:rgba(255,255,255,.12);border-color:#fff;transform:translateY(-2px)}
.ax5-hero-media{position:relative}
.ax5-hero-media img{border-radius:16px;box-shadow:0 24px 60px rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.14)}

/* ===== TRUST BAR ===== */
.ax5-trust{background:var(--navy);color:#fff;padding:18px 0}
.ax5-trust-grid{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px;justify-content:space-between}
.ax5-trust-metrics{display:flex;flex-wrap:wrap;gap:14px 26px}
.ax5-metric{display:flex;flex-direction:column;line-height:1.2}
.ax5-metric b{font-size:19px;color:#fff}
.ax5-metric span{font-size:12.5px;color:#9fb3cf}
.ax5-certs{display:flex;flex-wrap:wrap;gap:8px}
.ax5-cert{display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.18);border-radius:8px;padding:7px 12px;font-size:12.5px;font-weight:600;color:#eaf2ff}
.ax5-cert i{width:7px;height:7px;border-radius:50%;background:var(--accent);display:inline-block}

/* ===== STICKY SUBNAV ===== */
.ax5-subnav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);box-shadow:0 2px 10px rgba(15,39,71,.05)}
.ax5-subnav-in{max-width:1140px;margin:0 auto;padding:11px 22px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.ax5-subnav a{font-size:13.5px;font-weight:600;color:var(--muted);padding:6px 11px;border-radius:8px}
.ax5-subnav a:hover{color:var(--blue);background:var(--bg)}
.ax5-subnav-cta{margin-left:auto;background:var(--blue);color:#fff;border:none;font-weight:700;font-size:13.5px;padding:9px 16px;border-radius:8px;cursor:pointer;box-shadow:0 4px 12px rgba(0,82,204,.30)}
.ax5-subnav-cta:hover{background:var(--blue-d)}

/* ===== SECTION SHELL ===== */
.ax5-page section{scroll-margin-top:60px}
.sec{padding:54px 0}
.sec--alt{background:var(--bg)}
.sec-eyebrow{display:inline-block;font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:800;color:var(--accent);margin-bottom:10px}
.sec-title{font-size:clamp(24px,3vw,32px);line-height:1.2;margin:0 0 12px;font-weight:800;letter-spacing:-.01em}
.sec-lead{font-size:16.5px;color:var(--muted);max-width:760px;margin:0 0 26px}
.sec-num{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;background:var(--navy);color:#fff;font-weight:800;font-size:14px;margin-right:10px;vertical-align:middle}

/* ===== CARDS ===== */
.grid{display:grid;gap:18px}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow-sm)}
.card h3{margin:0 0 8px;font-size:18px;font-weight:800;color:var(--navy)}
.card p{margin:0;color:var(--muted);font-size:14.5px}
.card .k{font-family:var(--mono);font-size:13px;color:var(--blue);font-weight:700}

/* ===== TABLES ===== */
.ax-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;font-size:14.5px}
.ax-table th,.ax-table td{padding:13px 16px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.ax-table thead th{background:var(--navy);color:#fff;font-weight:700;font-size:13.5px;letter-spacing:.02em}
.ax-table tbody tr:nth-child(even){background:#f8fafd}
.ax-table tbody tr:last-child td{border-bottom:none}
.ax-table td .yes{color:var(--good);font-weight:700}
.ax-table td .no{color:var(--warn);font-weight:700}
.tag-ok{display:inline-block;background:#e6f6ee;color:var(--good);font-weight:700;font-size:12px;padding:3px 9px;border-radius:6px}
.tag-warn{display:inline-block;background:#fdf0e6;color:var(--warn);font-weight:700;font-size:12px;padding:3px 9px;border-radius:6px}

/* ===== CHECKLIST ===== */
.ax5-checklist{list-style:none;margin:18px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px 22px}
.ax5-checklist li{position:relative;padding-left:30px;font-size:15.5px;color:var(--ink)}
.ax5-checklist li::before{content:"";position:absolute;left:0;top:3px;width:19px;height:19px;border-radius:6px;border:2px solid var(--accent);background:#eaf6fa}
.ax5-checklist li.on::before{background:var(--good);border-color:var(--good)}
.ax5-checklist li.on::after{content:"\2713";position:absolute;left:4px;top:2px;color:#fff;font-size:12px;font-weight:800}

/* ===== CAPABILITY STRIP ===== */
.capstrip{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:8px}
.cap{background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);padding:16px;text-align:center;box-shadow:var(--shadow-sm)}
.cap b{display:block;font-size:15px;color:var(--navy);font-weight:800;margin-bottom:4px}
.cap span{font-size:12.5px;color:var(--muted)}

/* ===== DFM CARDS ===== */
.dfm{border-left:4px solid var(--accent);background:#fff;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:16px 18px;box-shadow:var(--shadow-sm)}
.dfm h4{margin:0 0 6px;font-size:15.5px;color:var(--navy);font-weight:800}
.dfm p{margin:0;font-size:14px;color:var(--muted)}
.dfm .rec{margin-top:8px;font-size:13.5px;color:var(--good);font-weight:700}

/* ===== QC FLOW ===== */
.qc-flow{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin:8px 0 22px}
.qc-step{background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);padding:13px 11px;text-align:center;box-shadow:var(--shadow-sm);position:relative}
.qc-step b{display:block;font-size:12.5px;color:var(--navy);font-weight:800;margin-bottom:3px}
.qc-step span{font-size:11.5px;color:var(--muted);line-height:1.35}
.qc-step .n{display:inline-flex;width:22px;height:22px;border-radius:50%;background:var(--navy);color:#fff;font-size:12px;font-weight:800;align-items:center;justify-content:center;margin-bottom:6px}
.equip-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.equip{background:#eef4fb;border:1px solid #d4e3f6;color:var(--navy);font-size:12.5px;font-weight:600;padding:6px 11px;border-radius:7px}

/* ===== FINISH CHIPS ===== */
.finish{background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px 16px;box-shadow:var(--shadow-sm)}
.finish b{display:block;color:var(--navy);font-weight:800;font-size:14.5px;margin-bottom:3px}
.finish span{font-size:12.5px;color:var(--muted)}

/* ===== CASES ===== */
.case{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);display:flex;flex-direction:column}
.case img{width:100%;height:190px;object-fit:cover;background:#eef2f7}
.case-body{padding:18px}
.case-body h3{margin:0 0 4px;font-size:17px;color:var(--navy);font-weight:800}
.case-body .app{font-size:12.5px;color:var(--accent);font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px}
.case-spec{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:6px 14px}
.case-spec li{font-size:12.5px;color:var(--muted);padding-left:14px;position:relative}
.case-spec li::before{content:"";position:absolute;left:0;top:7px;width:6px;height:6px;border-radius:50%;background:var(--accent)}
.case-spec li b{color:var(--ink);font-weight:700}
.case-why{margin-top:12px;padding-top:12px;border-top:1px dashed var(--line);font-size:13px;color:var(--muted)}
.case-why b{color:var(--good)}

/* ===== LEAD TIME ===== */
.lt{background:linear-gradient(135deg,#0f2747,#143a6b);color:#fff;border-radius:var(--radius);padding:26px;box-shadow:var(--shadow-md)}
.lt h3{margin:0 0 14px;color:#fff;font-size:19px}
.lt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.lt-cell{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.18);border-radius:var(--radius-sm);padding:16px}
.lt-cell b{display:block;font-size:18px;color:#fff}
.lt-cell span{font-size:12.5px;color:#a9c2e0}

/* ===== RFQ STEPS ===== */
.rfq{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:6px}
.rfq-step{display:flex;gap:14px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow-sm)}
.rfq-step .n{flex:0 0 34px;width:34px;height:34px;border-radius:9px;background:var(--accent);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;font-size:15px}
.rfq-step h4{margin:0 0 4px;font-size:15.5px;color:var(--navy);font-weight:800}
.rfq-step p{margin:0;font-size:13.5px;color:var(--muted)}
.fmt{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.fmt code{background:#eef4fb;border:1px solid #d4e3f6;color:var(--navy);font-family:var(--mono);font-size:12.5px;font-weight:700;padding:5px 10px;border-radius:6px}

/* ===== FAQ ===== */
.faq{background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);margin-bottom:10px;overflow:hidden;box-shadow:var(--shadow-sm)}
.faq summary{cursor:pointer;list-style:none;padding:16px 18px;font-weight:700;font-size:15.5px;color:var(--navy);display:flex;justify-content:space-between;align-items:center;gap:14px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:22px;color:var(--accent);font-weight:800;flex:0 0 auto}
.faq[open] summary::after{content:"\2212"}
.faq .faq-a{padding:0 18px 16px;color:var(--muted);font-size:14.5px}
.faq .faq-a p{margin:0 0 8px}
.faq .faq-a p:last-child{margin-bottom:0}

/* ===== RELATED ===== */
.rel{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.rel a{display:block;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow-sm);transition:transform .18s,box-shadow .18s}
.rel a:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:#cdddf2}
.rel a b{display:block;color:var(--navy);font-weight:800;font-size:15.5px;margin-bottom:4px}
.rel a span{font-size:13px;color:var(--muted)}

/* ===== CALLNOTE ===== */
.note{background:#eef4fb;border:1px solid #d4e3f6;border-radius:var(--radius-sm);padding:14px 16px;font-size:13.5px;color:var(--ink);margin-top:14px}
.note b{color:var(--navy)}

@media(max-width:980px){
  .ax5-hero-grid{grid-template-columns:1fr;gap:30px}
  .ax5-hero-media{order:-1}
  .grid-4,.capstrip{grid-template-columns:repeat(2,1fr)}
  .qc-flow{grid-template-columns:repeat(2,1fr)}
  .lt-grid,.rel,.rfq{grid-template-columns:1fr}
  .grid-3{grid-template-columns:1fr}
}
@media(max-width:680px){
  .ax5-checklist{grid-template-columns:1fr}
  .grid-2{grid-template-columns:1fr}
  .grid-4,.capstrip{grid-template-columns:1fr}
  .case-spec{grid-template-columns:1fr}
}