/* AX service detail: the approved KALEIDO typography, navy and generous spacing. */
.ax-page { color:#181818; }
.ax-page h1,.ax-page h2,.ax-page h3 { letter-spacing:-.025em; }
.ax-page h1>span,.ax-page h2>span { display:block; }
.ax-page h2 { font-size:clamp(28px,3vw,38px); font-weight:800; line-height:1.65; margin:0 0 24px; }
.ax-page h3 { font-size:23px; font-weight:700; line-height:1.7; }
.ax-page p { line-height:2; }
.ax-label { font-size:14px; font-weight:700; color:#012677; margin:0 0 20px; }
.ax-section { padding:96px 0; scroll-margin-top:120px; }
.ax-section-head { max-width:820px; margin-bottom:48px; }
.ax-section-head>p:last-child,.ax-body { font-size:17px; color:#555; line-height:2; }
.ax-body { margin:0 0 24px; }
.ax-hero { padding:142px 0 76px; background:#f7f7f7; }
.ax-breadcrumb { display:flex; gap:12px; color:#666; font-size:12px; margin-bottom:44px; }
.ax-breadcrumb a { color:#012677; }
.ax-hero-grid { display:grid; grid-template-columns:1fr 1.08fr; gap:44px; align-items:center; }
.ax-hero h1 { font-size:clamp(29px,2.65vw,40px); font-weight:800; line-height:1.65; margin:0 0 24px; }
.ax-intro { font-size:17px; color:#555; margin-bottom:30px; }
.ax-hero-art { margin:0; min-width:0; }
.ax-hero-art img { display:block; width:100%; height:auto; border-radius:12px; }
.ax-actions { display:flex; flex-wrap:wrap; align-items:center; gap:16px 24px; }
.ax-text-link { display:inline-flex; align-items:center; min-height:48px; color:#012677; font-size:15px; font-weight:600; line-height:1.8; text-decoration:underline; text-underline-offset:5px; }
.ax-page .btn { max-width:100%; white-space:normal; }
.ax-abilities { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; }
.ax-abilities article { border-top:2px solid #012677; padding-top:24px; }
.ax-abilities h3 { color:#012677; margin:0 0 14px; }
.ax-abilities p { font-size:16px; color:#555; }
.ax-message { position:relative; min-height:420px; display:flex; align-items:flex-end; overflow:hidden; background:#012677; }
.ax-message>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 38%; }
.ax-message::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(1,27,70,.94),rgba(1,27,70,.18)); }
.ax-message .container { position:relative; z-index:1; padding-top:90px; padding-bottom:64px; }
.ax-message h2 { color:#fff; margin:0; font-size:clamp(28px,3.3vw,42px); line-height:1.7; }
.ax-support-flow { list-style:none; padding:0; margin:0; }
.ax-support-flow li { display:grid; grid-template-columns:92px minmax(0,1fr); gap:24px; padding:36px 0; border-top:1px solid #dde1e7; }
.ax-support-flow li:last-child { border-bottom:1px solid #dde1e7; }
.ax-step { color:#012677; font-family:'Barlow Semi Condensed',sans-serif; font-size:44px; font-weight:600; line-height:1.2; }
.ax-support-flow h3 { margin:0 0 12px; }
.ax-support-flow p { color:#555; font-size:16px; max-width:48em; }
.ax-company-note { display:flex; align-items:center; justify-content:space-between; gap:32px; padding-top:36px; }
.ax-company-note p { color:#555; font-size:16px; }
.ax-learning { background:#f5f6f8; }
.ax-learning-grid { display:grid; grid-template-columns:1.1fr 1fr; gap:80px; align-items:center; }
.ax-learning-points { background:#fff; border-radius:12px; padding:40px; }
.ax-learning-points h3 { color:#012677; margin-bottom:28px; }
.ax-learning-points ul { list-style:none; padding:0; margin:0; }
.ax-learning-points li { padding:20px 0; border-top:1px solid #e3e6ec; }
.ax-learning-points strong,.ax-learning-points span { display:block; }
.ax-learning-points strong { font-size:17px; color:#012677; margin-bottom:8px; }
.ax-learning-points span { font-size:15px; line-height:1.9; color:#555; }
.ax-university-grid { display:grid; grid-template-columns:1fr 1.25fr; gap:64px; }
.ax-faq { background:#f7f7f7; }
.ax-faq details { border-bottom:1px solid #d8dce4; padding:24px 0; }
.ax-faq details:first-of-type { border-top:1px solid #d8dce4; }
.ax-faq summary { font-size:17px; font-weight:600; line-height:1.9; cursor:pointer; }
.ax-faq details p { font-size:16px; color:#555; padding-top:20px; max-width:54em; }
.ax-contact .ax-body { margin:24px 0 32px; }
.ax-skip { position:fixed; top:-100px; left:20px; z-index:9999; padding:12px 20px; background:#fff; color:#012677; }
.ax-skip:focus { top:12px; }
.ax-text-link:focus-visible,.ax-faq summary:focus-visible,.ax-breadcrumb a:focus-visible { outline:2px solid #012677; outline-offset:5px; }
@media(max-width:1024px) { .ax-hero-grid { gap:28px; grid-template-columns:1fr 1fr; } .ax-hero h1 { font-size:clamp(25px,2.8vw,32px); } .ax-learning-grid { gap:40px; } .ax-learning-points { padding:28px; } .ax-abilities { gap:24px; } .ax-abilities h3 { font-size:21px; } }
@media(max-width:760px) {
 .ax-hero { padding:112px 0 56px; }
 .ax-breadcrumb { margin-bottom:32px; }
 .ax-hero-grid,.ax-learning-grid,.ax-university-grid { grid-template-columns:1fr; gap:36px; }
 .ax-hero h1 { font-size:clamp(24px,6.5vw,32px); }
 .ax-intro { font-size:16px; }
 .ax-actions { align-items:flex-start; flex-direction:column; gap:12px; }
 .ax-actions .btn { font-size:14px; padding:16px 22px; }
 .ax-section { padding:60px 0; scroll-margin-top:108px; }
 .ax-page h2 { font-size:clamp(24px,6.4vw,30px); }
 .ax-section-head { margin-bottom:32px; }
 .ax-section-head>p:last-child,.ax-body { font-size:16px; }
 .ax-desktop-br { display:none; }
 .ax-abilities { grid-template-columns:1fr; gap:28px; }
 .ax-abilities article { padding-top:20px; }
 .ax-abilities h3 { font-size:22px; }
 .ax-message { min-height:360px; }
 .ax-message>img { object-position:55% center; }
 .ax-message .container { padding-bottom:40px; }
 .ax-message h2 { font-size:clamp(21px,5.5vw,28px); }
 .ax-support-flow li { grid-template-columns:38px minmax(0,1fr); gap:16px; padding:28px 0; }
 .ax-step { font-size:32px; }
 .ax-support-flow h3 { font-size:20px; }
 .ax-company-note { flex-direction:column; align-items:flex-start; gap:24px; }
 .ax-company-note .btn { font-size:14px; padding:16px 22px; }
 .ax-learning-points { padding:28px 24px; }
 .ax-faq summary { font-size:16px; }
 .ax-contact .btn { font-size:14px; padding:16px 22px; }
}
