/* =========================================================
   ATHLIX Corporate Site — Design System
   Navy / Blue / White / Light Gray
   見出し32px / 本文16px / セクション余白80px / ボタン角丸4px
   ========================================================= */

:root{
  --navy:#0A1E3C;
  --navy-2:#0E2A50;
  --navy-3:#13386A;
  --blue:#1668FF;
  --blue-2:#3D82FF;
  --blue-soft:#EAF1FF;
  --ink:#16233A;
  --muted:#5E6B80;
  --muted-2:#8995A6;
  --line:#E4EAF2;
  --line-2:#D6DEEA;
  --bg:#FFFFFF;
  --bg-soft:#F3F6FA;
  --bg-soft-2:#EEF3F9;
  --radius:4px;
  --radius-lg:10px;
  --shadow-sm:0 2px 10px rgba(13,38,76,.05);
  --shadow:0 14px 40px rgba(13,38,76,.10);
  --shadow-lg:0 30px 70px rgba(10,30,60,.16);
  --jp:"Noto Sans JP",-apple-system,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
  --en:"Oswald",var(--jp);
  --maxw:1200px;
  --gut:48px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font-family:var(--jp);font-size:16px;line-height:1.95;font-weight:400;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
::selection{background:var(--blue);color:#fff;}

/* ---------- layout ---------- */
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--gut);}
.section{padding:80px 0;position:relative;}
.section--soft{background:var(--bg-soft);}
.section--navy{background:var(--navy);color:#fff;}

/* ---------- eyebrow + headings ---------- */
.eyebrow{
  display:inline-flex;align-items:center;gap:12px;
  font-family:var(--en);font-weight:600;font-size:14px;letter-spacing:.22em;
  text-transform:uppercase;color:var(--blue);margin:0 0 18px;
}
.eyebrow::before{content:"";width:30px;height:2px;background:var(--blue);display:inline-block;}
.eyebrow.is-center{justify-content:center;}
.section--navy .eyebrow{color:var(--blue-2);}

.h2{
  font-size:32px;line-height:1.4;font-weight:700;letter-spacing:.01em;
  color:var(--navy);margin:0 0 22px;text-wrap:balance;
}
.section--navy .h2{color:#fff;}
.lead{font-size:16px;line-height:2;color:var(--muted);margin:0;max-width:46em;}
.section--navy .lead{color:rgba(255,255,255,.78);}

.section-head{margin-bottom:54px;}
.section-head.is-center{text-align:center;}
.section-head.is-center .eyebrow{justify-content:center;}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:var(--jp);font-weight:700;font-size:15px;line-height:1;
  padding:16px 30px;border-radius:var(--radius);border:1.5px solid transparent;
  cursor:pointer;transition:.25s ease;white-space:nowrap;
}
.btn .ar{transition:transform .25s ease;}
.btn:hover .ar{transform:translateX(4px);}
.btn--primary{background:var(--blue);color:#fff;box-shadow:0 10px 24px rgba(22,104,255,.28);}
.btn--primary:hover{background:#0F58E6;transform:translateY(-2px);}
.btn--navy{background:var(--navy);color:#fff;}
.btn--navy:hover{background:var(--navy-3);transform:translateY(-2px);}
.btn--ghost{background:transparent;color:var(--navy);border-color:var(--line-2);}
.btn--ghost:hover{border-color:var(--navy);}
.btn--light{background:#fff;color:var(--navy);}
.btn--light:hover{background:var(--blue-soft);}
.btn--outline-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.4);}
.btn--outline-light:hover{border-color:#fff;background:rgba(255,255,255,.08);}

/* ============================ HEADER ============================ */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:100;height:78px;
  display:flex;align-items:center;
  background:rgba(255,255,255,.0);transition:background .3s,box-shadow .3s,height .3s;
}
.site-header.scrolled{background:rgba(255,255,255,.94);backdrop-filter:blur(10px);box-shadow:0 1px 0 var(--line),0 6px 20px rgba(13,38,76,.05);height:68px;}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;width:100%;}
.brand{display:flex;align-items:center;gap:12px;}
.mk{width:26px;height:26px;position:relative;flex:none;}
.mk::before{content:"";position:absolute;inset:0;background:var(--blue);transform:rotate(45deg);border-radius:5px;}
.mk::after{content:"";position:absolute;left:50%;top:50%;width:9px;height:9px;transform:translate(-50%,-50%) rotate(45deg);background:#fff;border-radius:2px;}
.mk.lg{width:30px;height:30px;}
.brand .wm{font-family:var(--en);font-weight:600;font-size:24px;letter-spacing:.16em;color:var(--navy);transition:color .3s;}
.site-header.at-top:not(.scrolled) .brand .wm{color:#fff;}
.site-header.at-top:not(.scrolled) .nav a{color:rgba(255,255,255,.9);}
.nav{display:flex;align-items:center;gap:34px;}
.nav a{font-size:14px;font-weight:500;color:var(--ink);position:relative;transition:color .2s;}
.nav a::after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:2px;background:var(--blue);transition:width .25s;}
.nav a:hover{color:var(--blue);}
.nav a:hover::after{width:100%;}
.header-cta{padding:12px 22px;font-size:14px;}
.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px;}
.nav-toggle span{width:24px;height:2px;background:var(--navy);}
.site-header.at-top:not(.scrolled) .nav-toggle span{background:#fff;}

/* ============================ HERO / FV ============================ */
.hero{position:relative;min-height:100vh;display:flex;align-items:stretch;background:var(--navy);overflow:hidden;}
.hero__grid{display:grid;grid-template-columns:1.02fr .98fr;width:100%;}
.hero__copy{
  position:relative;z-index:3;display:flex;flex-direction:column;justify-content:center;
  padding:120px 60px 90px calc((100vw - var(--maxw))/2 + var(--gut));
}
@media(max-width:1296px){.hero__copy{padding-left:var(--gut);}}
.hero__copy .eyebrow{color:var(--blue-2);}
.hero h1{
  font-size:clamp(34px,4vw,56px);line-height:1.32;font-weight:700;color:#fff;
  margin:0 0 26px;letter-spacing:.01em;
}
.hero h1 .accent{color:var(--blue-2);position:relative;}
.hero h1 .thin{font-weight:300;}
.hero__sub{font-size:16px;line-height:2.1;color:rgba(255,255,255,.78);max-width:30em;margin:0 0 38px;}
.hero__cta{display:flex;gap:16px;flex-wrap:wrap;}
.hero__chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:40px;}
.chip{
  font-family:var(--en);font-size:12px;letter-spacing:.12em;text-transform:uppercase;
  color:rgba(255,255,255,.85);border:1px solid rgba(255,255,255,.22);
  padding:7px 14px;border-radius:999px;
}
.hero__visual{position:relative;overflow:hidden;}
.hero__visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;}
.hero__visual::after{content:"";position:absolute;inset:0;background:
  linear-gradient(100deg,var(--navy) 0%,rgba(10,30,60,.55) 26%,rgba(10,30,60,.10) 60%,rgba(10,30,60,.30) 100%);}
.hero__visual::before{content:"";position:absolute;inset:0;z-index:2;
  background:linear-gradient(180deg,rgba(10,30,60,.25),transparent 30%);}
/* decorative arcs */
.hero__arc{position:absolute;border-radius:50%;border:1px solid rgba(61,130,255,.25);z-index:1;pointer-events:none;}
.hero__arc.a1{width:680px;height:680px;left:-220px;bottom:-260px;}
.hero__arc.a2{width:420px;height:420px;left:-90px;bottom:-150px;border-color:rgba(61,130,255,.4);}
.hero__diag{position:absolute;z-index:4;top:0;bottom:0;left:calc(51% - 1px);width:2px;
  background:linear-gradient(180deg,transparent,var(--blue),transparent);opacity:.5;transform:skewX(-10deg);}
.scroll-cue{position:absolute;left:calc((100vw - var(--maxw))/2 + var(--gut));bottom:34px;z-index:5;
  display:flex;align-items:center;gap:12px;color:rgba(255,255,255,.7);
  font-family:var(--en);font-size:12px;letter-spacing:.2em;}
@media(max-width:1296px){.scroll-cue{left:var(--gut);}}
.scroll-cue .ln{width:1px;height:46px;background:rgba(255,255,255,.4);position:relative;overflow:hidden;}
.scroll-cue .ln::after{content:"";position:absolute;left:0;top:-50%;width:100%;height:50%;background:var(--blue-2);animation:scrolldn 2s infinite;}
@keyframes scrolldn{0%{top:-50%}60%,100%{top:100%}}

/* ============================ CHALLENGE ============================ */
.challenge-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;}
.ch-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);
  overflow:hidden;box-shadow:var(--shadow-sm);transition:.3s;
}
.ch-card:hover{box-shadow:var(--shadow);transform:translateY(-3px);}
.ch-card__media{position:relative;height:170px;overflow:hidden;}
.ch-card__media img{width:100%;height:100%;object-fit:cover;filter:saturate(.95);}
.ch-card__media::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(8,24,50,.9) 0%,rgba(8,24,50,.28) 48%,rgba(8,24,50,.12) 100%);}
.ch-card__tag{position:absolute;left:24px;bottom:18px;z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:3px;color:#fff;}
.ch-card__tag .lab{font-family:var(--en);font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--blue-2);}
.ch-card__tag .ttl{font-size:20px;font-weight:700;}
.ch-card__body{padding:26px 30px 32px;}
.ch-list{list-style:none;margin:0;padding:0;}
.ch-list li{display:flex;gap:14px;align-items:flex-start;padding:15px 0;border-bottom:1px dashed var(--line-2);font-size:16px;color:var(--ink);line-height:1.7;}
.ch-list li:last-child{border-bottom:0;padding-bottom:0;}
.ch-check{flex:none;width:24px;height:24px;border-radius:6px;background:var(--blue-soft);color:var(--blue);
  display:flex;align-items:center;justify-content:center;margin-top:2px;}
.ch-check svg{width:14px;height:14px;}
.ch-connect{margin-top:40px;text-align:center;position:relative;}
.ch-connect span{display:inline-block;font-size:17px;font-weight:700;color:var(--navy);
  padding:0 26px;position:relative;background:var(--bg-soft);}
.ch-connect .rule{position:absolute;left:0;right:0;top:50%;height:1px;background:var(--line-2);z-index:0;}
.ch-connect span{z-index:1;}

/* ============================ ABOUT / ECONOMY DIAGRAM ============================ */
.eco{display:grid;grid-template-columns:.9fr 1.1fr;gap:50px;align-items:center;}
.eco__quote{margin-top:30px;border-left:3px solid var(--blue);background:#fff;
  padding:22px 26px;border-radius:0 var(--radius-lg) var(--radius-lg) 0;box-shadow:var(--shadow-sm);
  font-size:16px;line-height:1.95;color:var(--ink);}
.eco__quote b{color:var(--navy);}

.orbit{position:relative;width:540px;height:540px;margin:0 auto;max-width:100%;}
.orbit__ring{position:absolute;border-radius:50%;border:1px dashed var(--line-2);}
.orbit__ring.r1{inset:60px;}
.orbit__ring.r2{inset:6px;border-color:#EAF0F8;}
.orbit__spin{position:absolute;inset:30px;border-radius:50%;
  border:1.5px solid transparent;border-top-color:rgba(22,104,255,.35);border-right-color:rgba(22,104,255,.12);
  animation:spin 18s linear infinite;}
@keyframes spin{to{transform:rotate(360deg)}}
.orbit__center{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:150px;height:150px;border-radius:50%;background:var(--navy);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
  box-shadow:0 18px 40px rgba(10,30,60,.35),0 0 0 8px rgba(22,104,255,.06);z-index:5;
}
.orbit__center img{width:42px;height:42px;filter:brightness(0) invert(1);}
.orbit__center .nm{font-family:var(--en);font-size:18px;letter-spacing:.16em;color:#fff;}
.orbit__center .sm{font-size:10px;color:var(--blue-2);letter-spacing:.1em;}
.orbit__line{position:absolute;left:50%;top:50%;height:1px;width:170px;transform-origin:left center;
  background:linear-gradient(90deg,rgba(22,104,255,.5),rgba(22,104,255,0));z-index:1;}
.node{
  position:absolute;width:128px;transform:translate(-50%,-50%);z-index:4;
  display:flex;flex-direction:column;align-items:center;gap:9px;text-align:center;
}
.node__icon{width:74px;height:74px;border-radius:50%;background:#fff;border:1px solid var(--line);
  box-shadow:var(--shadow-sm);display:flex;align-items:center;justify-content:center;transition:.3s;}
.node__icon img{width:48px;height:48px;object-fit:contain;}
.node:hover .node__icon{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--blue);}
.node__lab{font-size:13px;font-weight:700;color:var(--navy);line-height:1.4;}
/* mobile grid fallback */
.eco-mobile{display:none;}

/* ============================ BUSINESS ============================ */
.biz{display:grid;grid-template-columns:.82fr 1.18fr;gap:56px;align-items:start;}
.biz__intro{position:sticky;top:100px;}
.biz__media{margin-top:28px;border-radius:var(--radius-lg);overflow:hidden;position:relative;box-shadow:var(--shadow);}
.biz__media img{width:100%;height:300px;object-fit:cover;}
.biz__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(10,30,60,.5));}
.biz__media .cap{position:absolute;left:24px;bottom:20px;color:#fff;font-size:13px;font-weight:500;letter-spacing:.04em;z-index:2;}
.biz__list{display:flex;flex-direction:column;gap:0;}
.biz-row{display:grid;grid-template-columns:auto 64px 1fr;gap:24px;align-items:center;
  padding:26px 8px;border-top:1px solid var(--line);transition:.25s;}
.biz-row:last-child{border-bottom:1px solid var(--line);}
.biz-row:hover{background:#fff;box-shadow:var(--shadow);border-radius:var(--radius-lg);border-color:transparent;transform:translateX(4px);}
.biz-row__no{font-family:var(--en);font-size:32px;font-weight:600;color:var(--line-2);line-height:1;width:46px;transition:.25s;}
.biz-row:hover .biz-row__no{color:var(--blue);}
.biz-row__icon{width:64px;height:64px;border-radius:14px;background:var(--bg-soft);display:flex;align-items:center;justify-content:center;}
.biz-row__icon img{width:46px;height:46px;object-fit:contain;}
.biz-row__txt h3{margin:0 0 5px;font-size:19px;font-weight:700;color:var(--navy);}
.biz-row__txt p{margin:0;font-size:15px;line-height:1.8;color:var(--muted);}

/* ============================ STRENGTH ============================ */
.str-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.str-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:38px 30px 34px;position:relative;overflow:hidden;transition:.3s;box-shadow:var(--shadow-sm);}
.str-card::before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;
  background:linear-gradient(90deg,var(--blue),var(--blue-2));transform:scaleX(0);transform-origin:left;transition:.35s;}
.str-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);}
.str-card:hover::before{transform:scaleX(1);}
.str-card__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;}
.str-card__no{font-family:var(--en);font-size:15px;font-weight:600;letter-spacing:.15em;color:var(--blue);}
.str-card__icon{width:78px;height:78px;border-radius:50%;background:var(--bg-soft);display:flex;align-items:center;justify-content:center;}
.str-card__icon img{width:50px;height:50px;object-fit:contain;}
.str-card h3{margin:0 0 14px;font-size:20px;font-weight:700;line-height:1.55;color:var(--navy);}
.str-card p{margin:0;font-size:15px;line-height:1.95;color:var(--muted);}

/* ============================ ATHLETES (navy) ============================ */
.ath-media{display:grid;grid-template-columns:1.3fr 1fr;gap:20px;margin-bottom:50px;}
.ath-media figure{margin:0;border-radius:var(--radius-lg);overflow:hidden;position:relative;}
.ath-media img{width:100%;height:100%;object-fit:cover;min-height:240px;}
.ath-media figure::after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-lg);}
.lpd{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.lpd-item{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-lg);
  padding:34px 28px;transition:.3s;}
.lpd-item:hover{background:rgba(255,255,255,.07);border-color:var(--blue-2);transform:translateY(-4px);}
.lpd-item__icon{width:72px;height:72px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;margin-bottom:20px;}
.lpd-item__icon img{width:46px;height:46px;object-fit:contain;}
.lpd-item .no{font-family:var(--en);font-size:13px;letter-spacing:.18em;color:var(--blue-2);}
.lpd-item h3{margin:6px 0 4px;font-family:var(--en);font-size:22px;letter-spacing:.06em;color:#fff;font-weight:600;}
.lpd-item .jp{font-size:14px;color:rgba(255,255,255,.65);margin-bottom:14px;}
.lpd-item p{margin:0;font-size:14px;line-height:1.85;color:rgba(255,255,255,.72);}
.ath-tag{margin-top:46px;text-align:center;font-size:clamp(22px,2.6vw,30px);font-weight:700;color:#fff;letter-spacing:.04em;}
.ath-tag b{color:var(--blue-2);}

/* ============================ MESSAGE ============================ */
.msg{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;align-items:center;}
.msg__visual{position:relative;}
.msg__visual img{width:100%;height:520px;object-fit:cover;border-radius:var(--radius-lg);}
.msg__visual .badge{position:absolute;right:-22px;bottom:30px;background:#fff;border-radius:var(--radius-lg);
  box-shadow:var(--shadow-lg);padding:18px 24px;display:flex;align-items:center;gap:14px;}
.msg__visual .badge .ava{width:46px;height:46px;border-radius:50%;background:var(--navy);color:#fff;
  display:flex;align-items:center;justify-content:center;font-family:var(--en);letter-spacing:.05em;font-size:13px;}
.msg__visual .badge .role{font-size:11px;color:var(--muted);}
.msg__visual .badge .name{font-size:16px;font-weight:700;color:var(--navy);}
.msg__lead{font-size:26px;line-height:1.7;font-weight:700;color:var(--navy);margin:0 0 26px;letter-spacing:.01em;}
.msg__body p{font-size:16px;line-height:2.05;color:var(--muted);margin:0 0 18px;}
.msg__pull{margin:30px 0 0;padding:20px 26px;background:var(--bg-soft);border-left:3px solid var(--blue);
  border-radius:0 var(--radius) var(--radius) 0;font-size:18px;font-weight:700;color:var(--navy);}
.msg__sign{margin-top:26px;font-size:14px;color:var(--muted);}
.msg__sign b{display:block;font-size:20px;color:var(--navy);margin-top:4px;letter-spacing:.05em;}

/* ============================ FLOW ============================ */
.flow{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;position:relative;}
.flow-step{text-align:center;position:relative;padding:0 6px;}
.flow-step__dot{width:84px;height:84px;border-radius:50%;background:#fff;border:1.5px solid var(--line-2);
  margin:0 auto 20px;display:flex;align-items:center;justify-content:center;position:relative;z-index:2;transition:.3s;}
.flow-step__dot .n{font-family:var(--en);font-size:26px;font-weight:600;color:var(--navy);}
.flow-step:hover .flow-step__dot{border-color:var(--blue);background:var(--blue);box-shadow:0 12px 26px rgba(22,104,255,.3);}
.flow-step:hover .flow-step__dot .n{color:#fff;}
.flow-step__line{position:absolute;top:42px;left:50%;width:100%;height:2px;background:var(--line-2);z-index:1;}
.flow-step:last-child .flow-step__line{display:none;}
.flow-step__line::after{content:"";position:absolute;right:-2px;top:-4px;border-left:8px solid var(--line-2);
  border-top:5px solid transparent;border-bottom:5px solid transparent;}
.flow-step h3{margin:0 0 6px;font-size:16px;font-weight:700;color:var(--navy);}
.flow-note{text-align:center;margin-top:48px;font-size:16px;color:var(--muted);}

/* ============================ FAQ ============================ */
.faq{max-width:880px;margin:0 auto;}
.faq-item{border-bottom:1px solid var(--line);}
.faq-q{display:flex;align-items:center;gap:18px;width:100%;background:none;border:0;cursor:pointer;
  padding:26px 6px;text-align:left;font-family:var(--jp);font-size:17px;font-weight:600;color:var(--navy);}
.faq-q .qm{font-family:var(--en);font-weight:600;color:var(--blue);font-size:18px;flex:none;}
.faq-q .txt{flex:1;}
.faq-q .ico{flex:none;width:22px;height:22px;position:relative;}
.faq-q .ico::before,.faq-q .ico::after{content:"";position:absolute;background:var(--blue);transition:.3s;}
.faq-q .ico::before{top:10px;left:0;width:22px;height:2px;}
.faq-q .ico::after{left:10px;top:0;width:2px;height:22px;}
.faq-item.open .ico::after{transform:rotate(90deg);opacity:0;}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease;}
.faq-a__inner{padding:0 6px 26px 44px;font-size:15px;line-height:1.95;color:var(--muted);}

/* ============================ COMPANY ============================ */
.company{display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:start;}
.info-table{width:100%;border-collapse:collapse;}
.info-table th,.info-table td{text-align:left;vertical-align:top;padding:17px 6px;border-bottom:1px solid var(--line);font-size:15px;}
.info-table th{width:130px;color:var(--muted);font-weight:600;}
.info-table td{color:var(--ink);}
.map-wrap{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid var(--line);height:100%;min-height:420px;position:relative;background:var(--bg-soft);}
.map-wrap iframe{position:relative;z-index:1;width:100%;height:100%;border:0;display:block;min-height:420px;background:transparent;}
.map-fallback{position:absolute;inset:0;z-index:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;color:var(--muted);padding:20px;}
.map-fallback .pin{width:34px;height:34px;border-radius:50% 50% 50% 0;background:var(--blue);transform:rotate(-45deg);position:relative;box-shadow:0 8px 18px rgba(22,104,255,.3);}
.map-fallback .pin::after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:12px;height:12px;border-radius:50%;background:#fff;}
.map-fallback .addr{font-size:14px;font-weight:600;color:var(--ink);}
.map-fallback .sub{font-family:var(--en);font-size:11px;letter-spacing:.14em;color:var(--muted-2);}

/* ============================ CONTACT ============================ */
.contact{background:
  radial-gradient(900px 500px at 80% -10%,rgba(22,104,255,.18),transparent 60%),
  var(--navy);position:relative;overflow:hidden;}
.contact .wrap{position:relative;z-index:2;}
.contact__grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:start;}
.contact__intro .h2{color:#fff;}
.contact__intro .lead{color:rgba(255,255,255,.78);}
.contact__alt{margin-top:34px;display:flex;flex-direction:column;gap:16px;}
.contact__alt a{display:flex;align-items:center;gap:14px;color:#fff;font-size:15px;}
.contact__alt .ic{width:48px;height:48px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;flex:none;}
.contact__alt .ic img{width:30px;height:30px;}
.contact__alt .k{font-size:11px;color:var(--blue-2);font-family:var(--en);letter-spacing:.15em;}
.contact__alt .v{font-weight:700;letter-spacing:.02em;}
.form-card{background:#fff;border-radius:var(--radius-lg);padding:38px;box-shadow:var(--shadow-lg);}
.seg{display:flex;gap:10px;margin-bottom:24px;}
.seg button{flex:1;padding:13px;border:1.5px solid var(--line-2);border-radius:var(--radius);background:#fff;
  font-family:var(--jp);font-size:14px;color:var(--muted);cursor:pointer;transition:.2s;font-weight:600;}
.seg button.active{border-color:var(--blue);color:var(--blue);background:var(--blue-soft);}
.field{margin-bottom:18px;}
.field label{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:600;color:var(--ink);margin-bottom:8px;}
.req{font-size:10px;color:#fff;background:var(--blue);border-radius:3px;padding:2px 7px;font-weight:700;letter-spacing:.05em;}
.opt{font-size:10px;color:var(--muted);background:var(--bg-soft);border-radius:3px;padding:2px 7px;}
.field input,.field textarea{width:100%;border:1.5px solid var(--line-2);border-radius:var(--radius);
  padding:13px 15px;font-family:var(--jp);font-size:15px;color:var(--ink);background:var(--bg-soft);transition:.2s;}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--blue);background:#fff;box-shadow:0 0 0 4px rgba(22,104,255,.1);}
.field textarea{min-height:120px;resize:vertical;}
.consent{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--muted);margin:6px 0 22px;}
.consent input{width:18px;height:18px;accent-color:var(--blue);}
.form-card .btn{width:100%;padding:17px;font-size:16px;}

/* ============================ FOOTER ============================ */
.site-footer{background:var(--navy);color:rgba(255,255,255,.65);padding:72px 0 34px;}
.foot-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr 1fr;gap:36px;}
.foot-brand .wm{font-family:var(--en);font-weight:600;font-size:26px;letter-spacing:.16em;color:#fff;display:flex;align-items:center;gap:10px;}
.foot-brand .mk::before{background:var(--blue-2);}
.foot-brand p{font-size:13px;line-height:1.9;margin:18px 0 0;max-width:260px;color:rgba(255,255,255,.55);}
.foot-col h4{font-family:var(--en);font-size:12px;letter-spacing:.16em;color:var(--blue-2);margin:0 0 18px;font-weight:600;}
.foot-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;}
.foot-col a{font-size:13px;color:rgba(255,255,255,.65);transition:.2s;}
.foot-col a:hover{color:#fff;}
.foot-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:54px;padding-top:26px;
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;
  font-size:12px;color:rgba(255,255,255,.45);font-family:var(--en);letter-spacing:.08em;}

/* ============================ reveal animation ============================ */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease;}
.reveal.in{opacity:1;transform:none;}
.reveal.d1{transition-delay:.08s;}
.reveal.d2{transition-delay:.16s;}
.reveal.d3{transition-delay:.24s;}
.reveal.d4{transition-delay:.32s;}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none;}.orbit__spin,.scroll-cue .ln::after{animation:none;}}

/* ============================ RESPONSIVE ============================ */
@media(max-width:1100px){
  :root{--gut:36px;}
  .biz{grid-template-columns:1fr;gap:40px;}
  .biz__intro{position:static;}
  .msg,.eco,.company,.contact__grid{grid-template-columns:1fr;gap:40px;}
  .orbit{width:480px;height:480px;}
}
@media(max-width:860px){
  .nav,.header-cta{display:none;}
  .nav-toggle{display:flex;}
  .hero__grid{grid-template-columns:1fr;}
  .hero{min-height:auto;}
  .hero__visual{min-height:340px;position:relative;}
  .hero__visual img{position:absolute;}
  .hero__copy{padding:118px 28px 70px;}
  .challenge-grid,.str-grid,.lpd,.ath-media{grid-template-columns:1fr;}
  .flow{grid-template-columns:1fr 1fr;gap:34px 14px;}
  .flow-step__line{display:none;}
  .foot-grid{grid-template-columns:1fr 1fr;gap:30px;}
  /* economy: swap orbit for stacked grid */
  .orbit{display:none;}
  .eco-mobile{display:block;}
  .eco-mobile__center{display:flex;align-items:center;gap:14px;background:var(--navy);color:#fff;
    border-radius:var(--radius-lg);padding:18px 22px;margin-bottom:8px;}
  .eco-mobile__center img{width:34px;height:34px;filter:brightness(0) invert(1);}
  .eco-mobile__center .nm{font-family:var(--en);font-size:18px;letter-spacing:.14em;}
  .eco-mobile__list{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px;}
  .eco-mobile__item{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);
    border-radius:var(--radius-lg);padding:14px;}
  .eco-mobile__item img{width:40px;height:40px;}
  .eco-mobile__item span{font-size:13px;font-weight:700;color:var(--navy);}
}
@media(max-width:560px){
  :root{--gut:22px;}
  .section{padding:60px 0;}
  .h2{font-size:26px;}
  .msg__lead{font-size:21px;}
  .form-card,.ch-card__body{padding:24px;}
  .flow{grid-template-columns:1fr;}
  .foot-grid{grid-template-columns:1fr;}
  .eco-mobile__list{grid-template-columns:1fr;}
  .msg__visual .badge{right:14px;}
}

/* =========================================================
   ATHLIX refinement overrides — richer corporate sports design
   ========================================================= */
body{background:#fff;}
.wrap{position:relative;z-index:2;}
.section{padding:clamp(72px,8vw,112px) 0;}
.section::before{content:"";position:absolute;inset:0;pointer-events:none;background:
  linear-gradient(135deg,rgba(22,104,255,.035),transparent 36%),
  radial-gradient(480px 240px at 92% 8%,rgba(22,104,255,.06),transparent 70%);}
.section--soft{background:linear-gradient(180deg,#F7FAFE 0%,#EEF3F9 100%);} 
.section-head{position:relative;}
.section-head::after{content:"";display:block;width:74px;height:3px;margin-top:26px;background:linear-gradient(90deg,var(--blue),rgba(22,104,255,0));}
.section-head.is-center::after{margin-left:auto;margin-right:auto;}

/* Full-width hero with center copy panel */
.hero.hero--full{min-height:100svh;display:block;isolation:isolate;background:var(--navy);}
.hero__bg{position:absolute;inset:0;z-index:0;overflow:hidden;}
.hero__bg img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.96) contrast(1.02);transform:scale(1.02);}
.hero__shade{position:absolute;inset:0;z-index:1;background:
  linear-gradient(90deg,rgba(8,24,50,.48),rgba(8,24,50,.10) 24%,rgba(255,255,255,.16) 50%,rgba(8,24,50,.18) 76%,rgba(8,24,50,.48)),
  linear-gradient(180deg,rgba(8,24,50,.58),rgba(8,24,50,.08) 44%,rgba(8,24,50,.54));}
.hero__inner{min-height:100svh;display:flex;align-items:center;justify-content:center;padding-top:96px;padding-bottom:90px;}
.hero__panel{position:relative;z-index:3;width:min(760px,92vw);text-align:center;padding:48px 54px 44px;background:rgba(255,255,255,.88);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.72);box-shadow:0 30px 90px rgba(6,22,50,.22);}
.hero__panel::before,.hero__panel::after{content:"";position:absolute;width:96px;height:96px;border:1px solid rgba(22,104,255,.34);pointer-events:none;}
.hero__panel::before{left:-14px;top:-14px;border-right:0;border-bottom:0;}
.hero__panel::after{right:-14px;bottom:-14px;border-left:0;border-top:0;}
.hero__panel .eyebrow{margin-bottom:16px;color:var(--blue);justify-content:center;}
.hero__panel h1{font-size:clamp(36px,4.4vw,64px);line-height:1.22;margin:0 0 22px;color:var(--navy);letter-spacing:.02em;font-weight:700;text-wrap:balance;}
.hero__panel .hero__sub{margin:0 auto 32px;max-width:43em;color:#314058;line-height:2;font-size:16px;}
.hero__panel .hero__cta{justify-content:center;gap:14px;}
.hero__panel .hero__chips{justify-content:center;margin-top:30px;}
.hero__panel .chip{color:var(--navy);background:rgba(255,255,255,.75);border-color:rgba(10,30,60,.12);}
.hero__ghost{background:#fff;color:var(--navy);border-color:rgba(10,30,60,.18);}
.hero__bgtype{position:absolute;z-index:2;font-family:var(--en);font-size:clamp(70px,12vw,190px);line-height:1;font-weight:600;letter-spacing:.08em;color:rgba(255,255,255,.20);pointer-events:none;text-transform:uppercase;}
.hero__bgtype--left{left:2.5vw;bottom:6vh;writing-mode:vertical-rl;opacity:.42;}
.hero__bgtype--right{right:2.4vw;top:16vh;opacity:.26;}
.hero__line{position:absolute;z-index:2;height:1px;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(61,130,255,.85),rgba(255,255,255,0));transform:rotate(-18deg);pointer-events:none;}
.hero__line--01{width:34vw;left:6vw;top:28vh;}
.hero__line--02{width:28vw;right:8vw;bottom:22vh;}
.hero--full .scroll-cue{left:50%;bottom:30px;transform:translateX(-50%);color:rgba(255,255,255,.86);text-decoration:none;flex-direction:column;gap:8px;}
.hero--full .scroll-cue .ln{height:48px;background:rgba(255,255,255,.42);}
.hero__diag,.hero__arc{display:none;}

/* Challenge cards: richer and fix image crop */
.challenge-grid{gap:34px;}
.ch-card{border:0;border-radius:18px;box-shadow:0 24px 60px rgba(10,30,60,.10);background:rgba(255,255,255,.94);position:relative;}
.ch-card::before{content:"";position:absolute;inset:12px;border:1px solid rgba(22,104,255,.08);border-radius:14px;pointer-events:none;}
.ch-card__media{height:230px;}
.ch-card__media img{object-position:center center;transition:transform .7s ease;}
.ch-card:hover .ch-card__media img{transform:scale(1.045);}
.ch-card__tag{left:28px;bottom:22px;}
.ch-card__tag .lab{background:rgba(22,104,255,.9);padding:4px 10px;border-radius:999px;font-size:11px;color:#fff;}
.ch-card__tag .ttl{font-size:22px;text-shadow:0 6px 20px rgba(0,0,0,.35);}
.ch-connect{margin-top:48px;}
.ch-connect span:not(.rule){border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:999px;background:#fff;padding:13px 30px;color:var(--navy);}
.ch-connect span:not(.rule)::before,.ch-connect span:not(.rule)::after{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--blue);vertical-align:middle;margin:0 14px 2px 0;}
.ch-connect span:not(.rule)::after{margin:0 0 2px 14px;}

/* Quote accent: remove plain blue bar impression */
.eco__quote{position:relative;border-left:0;background:linear-gradient(135deg,#fff 0%,#F5F8FD 100%);padding:28px 30px 28px 34px;border:1px solid var(--line);border-radius:18px;box-shadow:0 20px 45px rgba(10,30,60,.08);overflow:hidden;}
.eco__quote::before{content:"ATHLIX";position:absolute;right:18px;bottom:-12px;font-family:var(--en);font-size:54px;letter-spacing:.14em;color:rgba(22,104,255,.06);line-height:1;}
.eco__quote::after{content:"";position:absolute;left:0;top:22px;width:6px;height:58px;background:linear-gradient(180deg,var(--blue),rgba(22,104,255,.25));border-radius:0 999px 999px 0;}
.orbit__center{background:linear-gradient(135deg,var(--navy),#103B76);}
.node__icon{border-radius:24px;}

/* Business section polish */
.biz__media{border-radius:22px;}
.biz__media img{height:320px;object-position:center;transition:transform .8s ease;}
.biz__media:hover img{transform:scale(1.04);}
.biz-row{border-top:0;background:#fff;border:1px solid var(--line);border-radius:16px;margin-bottom:14px;padding:22px 24px;box-shadow:0 12px 32px rgba(10,30,60,.05);}
.biz-row:last-child{border-bottom:1px solid var(--line);}
.biz-row:hover{transform:translateY(-4px);box-shadow:0 24px 54px rgba(10,30,60,.12);}
.biz-row__icon{border-radius:20px;background:linear-gradient(180deg,#fff,#EEF4FF);border:1px solid rgba(22,104,255,.12);}

/* Athlete visual slider */
.ath-media{display:none;}
.ath-slider{position:relative;margin:0 auto 50px;max-width:860px;border-radius:24px;overflow:hidden;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);box-shadow:0 30px 80px rgba(0,0,0,.22);}
.ath-slider__track{position:relative;height:430px;}
.ath-slide{position:absolute;inset:0;margin:0;opacity:0;transform:scale(1.02);transition:opacity .75s ease,transform 1.2s ease;}
.ath-slide.is-active{opacity:1;transform:scale(1);z-index:2;}
.ath-slide img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.95);}
.ath-slide::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,30,60,.06),rgba(10,30,60,.72));}
.ath-slide figcaption{position:absolute;left:34px;bottom:28px;z-index:3;color:#fff;font-size:18px;font-weight:700;letter-spacing:.03em;}
.ath-slide figcaption span{display:block;font-family:var(--en);font-size:12px;letter-spacing:.22em;color:var(--blue-2);margin-bottom:6px;}
.ath-slider__nav{position:absolute;right:28px;bottom:32px;z-index:5;display:flex;gap:10px;}
.ath-slider__nav span{width:32px;height:3px;background:rgba(255,255,255,.35);border-radius:999px;transition:.3s;}
.ath-slider__nav span.is-active{width:52px;background:var(--blue-2);}

/* CTA/contact: full-width visual finish and centered copy feel */
.contact{padding:clamp(84px,8vw,124px) 0;background:
  linear-gradient(90deg,rgba(10,30,60,.88),rgba(10,30,60,.74)),
  url('assets/hero-athlix-football.png') center/cover no-repeat;}
.contact::before{content:"CONTACT";position:absolute;right:4vw;top:4vw;font-family:var(--en);font-size:clamp(70px,12vw,170px);letter-spacing:.12em;color:rgba(255,255,255,.05);line-height:1;}
.contact__grid{align-items:center;}
.form-card{border-radius:22px;}

@media(max-width:860px){
  .hero__inner{padding-top:102px;padding-bottom:84px;align-items:center;}
  .hero__panel{padding:34px 24px 32px;width:calc(100vw - 36px);}
  .hero__panel h1{font-size:clamp(31px,10vw,44px);}
  .hero__panel .hero__sub{font-size:14px;line-height:1.9;}
  .hero__panel .hero__cta{flex-direction:column;}
  .hero__panel .btn{width:100%;}
  .hero__bgtype--left{font-size:68px;left:0;bottom:12vh;}
  .hero__bgtype--right{display:none;}
  .ch-card__media{height:210px;}
  .ath-slider__track{height:310px;}
  .ath-slide figcaption{left:22px;bottom:22px;font-size:16px;}
  .ath-slider__nav{right:20px;bottom:22px;}
}
@media(max-width:560px){
  .section-head::after{margin-top:20px;}
  .hero__panel{padding:30px 20px 28px;}
  .hero__panel .hero__chips{gap:8px;}
  .hero__panel .chip{font-size:11px;padding:6px 10px;}
  .biz-row{grid-template-columns:42px 52px 1fr;gap:14px;padding:18px 16px;}
  .biz-row__no{font-size:24px;width:36px;}
  .biz-row__icon{width:52px;height:52px;}
  .biz-row__icon img{width:36px;height:36px;}
}


/* =========================================================
   ATHLIX RICH VISUAL UPDATE v2
   richer corporate / sports-recruit styling
   ========================================================= */
:root{
  --rich-blue:#0877FF;
  --cyan:#40B9FF;
  --deep:#061733;
  --glass:rgba(255,255,255,.72);
}
body{
  background:
    radial-gradient(900px 520px at 92% 2%, rgba(22,104,255,.08), transparent 60%),
    linear-gradient(180deg,#fff 0%,#F7FAFF 45%,#fff 100%);
}
.section{padding:clamp(88px,8vw,132px) 0;isolation:isolate;overflow:hidden;}
.section--soft{background:
  linear-gradient(rgba(246,249,253,.94),rgba(246,249,253,.94)),
  repeating-linear-gradient(90deg,rgba(10,30,60,.045) 0 1px,transparent 1px 96px),
  repeating-linear-gradient(0deg,rgba(10,30,60,.035) 0 1px,transparent 1px 96px);
}
.section--gridline::after,
.section--field::after{
  content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;opacity:.7;
  background:
    linear-gradient(90deg,rgba(22,104,255,.055) 1px,transparent 1px),
    linear-gradient(0deg,rgba(22,104,255,.045) 1px,transparent 1px);
  background-size:88px 88px;
  mask-image:linear-gradient(180deg,transparent 0%,#000 18%,#000 82%,transparent 100%);
}
.has-bgtype::before{
  content:attr(data-bg);position:absolute;right:-.12em;top:20px;z-index:-1;
  font-family:var(--en);font-size:clamp(86px,16vw,220px);font-weight:600;letter-spacing:.08em;line-height:.82;
  color:rgba(10,30,60,.035);white-space:nowrap;pointer-events:none;
}
.section--navy.has-bgtype::before{color:rgba(255,255,255,.055);}
.section-head{position:relative;}
.section-head::after{
  content:"";display:block;width:96px;height:4px;margin-top:26px;border-radius:999px;
  background:linear-gradient(90deg,var(--blue),var(--cyan),transparent);
}
.section-head.is-center::after{margin-left:auto;margin-right:auto;}
.eyebrow{letter-spacing:.26em;font-size:13px;}
.h2{font-size:clamp(31px,3.5vw,48px);line-height:1.28;letter-spacing:.02em;}
.lead{font-size:16px;line-height:2.05;}

/* Full view hero - more cinematic */
.hero--full{min-height:100svh;background:#061733;}
.hero--full::before{
  content:"";position:absolute;inset:0;z-index:3;pointer-events:none;
  background:
    linear-gradient(115deg,rgba(6,23,51,.72) 0%,rgba(6,23,51,.24) 33%,rgba(6,23,51,.08) 56%,rgba(6,23,51,.52) 100%),
    radial-gradient(500px 300px at 25% 22%,rgba(64,185,255,.18),transparent 70%),
    repeating-linear-gradient(90deg,rgba(255,255,255,.055) 0 1px,transparent 1px 92px);
}
.hero__bg img{filter:saturate(.98) contrast(1.03);transform:scale(1.02);animation:heroBreath 10s ease-in-out infinite alternate;}
@keyframes heroBreath{to{transform:scale(1.065) translate3d(-1.2%,0,0)}}
.hero__shade{background:linear-gradient(90deg,rgba(6,23,51,.82),rgba(6,23,51,.20) 48%,rgba(6,23,51,.62));}
.hero__inner{justify-content:center;align-items:center;text-align:center;z-index:5;}
.hero__panel{
  width:min(840px,calc(100vw - 64px));padding:52px 58px 44px;border-radius:28px;
  background:linear-gradient(135deg,rgba(255,255,255,.86),rgba(255,255,255,.68));
  box-shadow:0 40px 110px rgba(0,0,0,.32), inset 0 0 0 1px rgba(255,255,255,.68);
  backdrop-filter:blur(18px);position:relative;overflow:hidden;
}
.hero__panel::before{content:"";position:absolute;inset:10px;border:1px solid rgba(22,104,255,.16);border-radius:22px;pointer-events:none;}
.hero__panel::after{content:"ATHLIX";position:absolute;left:50%;top:4px;transform:translateX(-50%);font-family:var(--en);font-size:clamp(58px,9vw,130px);font-weight:600;letter-spacing:.18em;color:rgba(22,104,255,.055);line-height:1;pointer-events:none;}
.hero__panel .eyebrow{justify-content:center;color:var(--blue);position:relative;z-index:1;}
.hero__panel h1{color:var(--navy);font-size:clamp(38px,5.1vw,72px);line-height:1.12;margin-bottom:22px;position:relative;z-index:1;}
.hero__panel .hero__sub{color:#30415B;max-width:43em;margin-left:auto;margin-right:auto;position:relative;z-index:1;}
.hero__panel .hero__cta,.hero__panel .hero__chips,.hero__stats{justify-content:center;position:relative;z-index:1;}
.hero__ghost{background:#fff;border-color:rgba(10,30,60,.14);color:var(--navy);}
.hero__bgtype{z-index:4;font-size:clamp(92px,13vw,210px);font-weight:600;-webkit-text-stroke:1px rgba(255,255,255,.20);color:transparent;text-shadow:none;opacity:1;}
.hero__bgtype--left{left:4vw;bottom:7vh;}
.hero__bgtype--right{right:2vw;top:13vh;writing-mode:vertical-rl;font-size:clamp(72px,8vw,150px);}
.hero__line{z-index:4;opacity:.72;}
.hero__line--01{top:18%;left:8%;width:280px;transform:rotate(-12deg);}
.hero__line--02{bottom:24%;right:9%;width:320px;transform:rotate(-12deg);}
.hero__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:26px;}
.hero__stats span{padding:12px 14px;border:1px solid rgba(22,104,255,.13);border-radius:14px;background:rgba(255,255,255,.62);}
.hero__stats b{display:block;font-family:var(--en);font-size:13px;letter-spacing:.17em;color:var(--blue);line-height:1.2;}
.hero__stats em{display:block;font-style:normal;font-size:12px;color:#536176;line-height:1.6;margin-top:3px;}
.scroll-cue{left:50%!important;transform:translateX(-50%);bottom:24px;}

/* Marquee */
.brand-marquee{overflow:hidden;background:var(--navy);border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08);}
.brand-marquee__track{display:flex;width:max-content;gap:34px;align-items:center;padding:18px 0;animation:marquee 32s linear infinite;}
.brand-marquee span{font-family:var(--en);font-size:clamp(24px,4vw,56px);font-weight:600;letter-spacing:.12em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.22);line-height:1;}
.brand-marquee span:nth-child(3n){color:rgba(64,185,255,.18);-webkit-text-stroke:0;}
@keyframes marquee{to{transform:translateX(-50%)}}

/* Buttons with shine */
.btn{position:relative;overflow:hidden;border-radius:999px;}
.btn::before{content:"";position:absolute;top:-40%;left:-70%;width:46%;height:180%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent);transform:rotate(18deg);transition:left .62s ease;}
.btn:hover::before{left:125%;}
.btn--primary{background:linear-gradient(135deg,var(--blue),#075FE8);box-shadow:0 16px 34px rgba(22,104,255,.34);}
.btn--primary:hover{box-shadow:0 22px 46px rgba(22,104,255,.42);}

/* Cards / images richness */
.ch-card,.str-card,.biz-row,.form-card,.msg__visual img,.map-wrap{border-radius:24px;}
.ch-card{overflow:visible;background:linear-gradient(180deg,#fff,#F7FAFF);}
.ch-card::after{content:"";position:absolute;right:24px;top:-14px;width:74px;height:74px;border-radius:50%;background:radial-gradient(circle,rgba(22,104,255,.18),transparent 67%);}
.ch-card__media{border-radius:24px 24px 0 0;height:260px;}
.ch-card__body{position:relative;background:#fff;border-radius:0 0 24px 24px;}
.ch-list li{border-bottom:1px solid rgba(10,30,60,.08);}

/* About model */
.eco{position:relative;}
.eco::before{content:"SPORTS × CAREER";position:absolute;left:-4vw;top:-50px;font-family:var(--en);font-size:clamp(54px,8vw,120px);letter-spacing:.08em;color:rgba(22,104,255,.04);z-index:-1;}
.mini-points{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px;}
.mini-points span,.service-tags span{display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(22,104,255,.14);background:#fff;border-radius:999px;padding:8px 13px;font-family:var(--en);font-size:12px;letter-spacing:.12em;color:var(--navy);box-shadow:0 8px 20px rgba(10,30,60,.04);}
.orbit{filter:drop-shadow(0 26px 45px rgba(10,30,60,.08));}
.orbit__ring.r2{background:radial-gradient(circle,rgba(22,104,255,.075),transparent 55%);}
.node__icon{background:linear-gradient(180deg,#fff,#F0F6FF);}
.node__lab{background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 11px;box-shadow:0 8px 22px rgba(10,30,60,.05);}

/* Business: layered visual */
.service-tags{display:flex;gap:9px;flex-wrap:wrap;margin-top:24px;}
.biz__media{transform:rotate(-1.5deg);box-shadow:0 32px 70px rgba(10,30,60,.15);}
.biz__media::before{content:"";position:absolute;inset:-14px;border:1px solid rgba(22,104,255,.22);border-radius:26px;z-index:-1;}
.biz-row{position:relative;overflow:hidden;background:linear-gradient(135deg,#fff,#F7FAFF);}
.biz-row::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--blue),transparent);opacity:.9;}
.biz-row::after{content:"SERVICE";position:absolute;right:16px;bottom:-18px;font-family:var(--en);font-size:58px;letter-spacing:.1em;color:rgba(22,104,255,.04);}
.biz-row>*{position:relative;z-index:1;}

/* Strength */
.str-card::after{content:"";position:absolute;right:-42px;bottom:-42px;width:150px;height:150px;border-radius:50%;border:1px solid rgba(22,104,255,.12);}
.str-card__icon{background:linear-gradient(180deg,#fff,#EAF1FF);box-shadow:inset 0 0 0 1px rgba(22,104,255,.08);}

/* Athletes slider richer */
.section--navy{background:
  radial-gradient(700px 360px at 90% 0%,rgba(22,104,255,.22),transparent 70%),
  linear-gradient(135deg,#061733 0%,#0A1E3C 54%,#061329 100%);
}
.section--navy::after{content:"";position:absolute;inset:0;z-index:-1;opacity:.18;background:linear-gradient(90deg,rgba(255,255,255,.10) 1px,transparent 1px),linear-gradient(0deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:92px 92px;}
.ath-slider{max-width:980px;border-radius:30px;transform:translateZ(0);}
.ath-slider::before{content:"ATHLETE SESSION";position:absolute;left:28px;top:24px;z-index:6;font-family:var(--en);font-size:12px;letter-spacing:.26em;color:rgba(255,255,255,.65);}
.ath-slider__track{height:500px;}
.ath-slide img{transition:transform 1.3s ease;}
.ath-slide.is-active img{transform:scale(1.035);}
.lpd-item{border-radius:24px;background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.035));}

/* Message */
.msg__visual{position:relative;}
.msg__visual::before{content:"FUTURE";position:absolute;left:-36px;top:28px;font-family:var(--en);font-size:82px;letter-spacing:.12em;color:rgba(22,104,255,.07);z-index:-1;transform:rotate(-90deg);transform-origin:left top;}
.msg__visual img{box-shadow:0 32px 70px rgba(10,30,60,.14);}
.msg__pull{border-left:0;border-radius:18px;background:linear-gradient(135deg,#EEF4FF,#fff);border:1px solid rgba(22,104,255,.14);position:relative;overflow:hidden;}
.msg__pull::after{content:"";position:absolute;right:14px;top:50%;width:54px;height:1px;background:var(--blue);}

/* Flow */
.flow-step__dot{box-shadow:0 18px 38px rgba(10,30,60,.07);}
.flow-step h3{font-size:17px;}

/* Contact */
.contact{min-height:680px;display:flex;align-items:center;background:
  linear-gradient(90deg,rgba(6,23,51,.90),rgba(6,23,51,.66) 58%,rgba(6,23,51,.86)),
  url('assets/hero-athlix-football.png') center/cover no-repeat fixed;}
.contact__statement{margin:32px 0 0;font-family:var(--en);font-size:clamp(34px,5vw,72px);line-height:.98;letter-spacing:.07em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.28);}
.contact__alt .ic{box-shadow:0 14px 30px rgba(0,0,0,.18);}
.form-card{background:rgba(255,255,255,.88);backdrop-filter:blur(16px);}

/* Parallax micro */
.parallax-img{will-change:transform;}

@media(max-width:1100px){
  .hero__panel{width:min(780px,calc(100vw - 52px));}
  .hero__stats{grid-template-columns:1fr;}
  .contact{background-attachment:scroll;}
}
@media(max-width:860px){
  .section{padding:76px 0;}
  .has-bgtype::before{font-size:70px;top:18px;right:-.35em;opacity:.7;}
  .hero--full{min-height:100svh;}
  .hero__panel{padding:38px 22px 30px;border-radius:22px;}
  .hero__panel h1{font-size:clamp(34px,10vw,46px);line-height:1.16;}
  .hero__panel::after{font-size:70px;top:14px;}
  .hero__stats{display:none;}
  .hero__bgtype--left{font-size:76px;left:5vw;bottom:10vh;}
  .brand-marquee__track{animation-duration:24s;}
  .brand-marquee span{font-size:34px;}
  .h2{font-size:30px;}
  .ch-card__media{height:220px;}
  .service-tags{display:none;}
  .biz__media{transform:none;}
  .ath-slider__track{height:330px;}
  .contact__statement{font-size:42px;}
}
@media(max-width:560px){
  .hero__panel{width:calc(100vw - 28px);}
  .hero__panel .hero__cta{gap:10px;}
  .hero__panel .btn{padding:15px 18px;}
  .hero__panel .hero__sub{font-size:14px;}
  .ch-connect span:not(.rule){border-radius:18px;line-height:1.7;padding:13px 18px;}
  .mini-points{display:none;}
  .ath-slider{border-radius:22px;}
  .ath-slider__track{height:290px;}
  .ath-slider::before{left:18px;top:18px;font-size:10px;}
}

/* =========================================================
   ATHLIX RICH VISUAL UPDATE v3
   requested cleanup + richer scroll motion
   ========================================================= */

/* requested removals / simplification */
.eco::before,
.biz-row::after,
.msg__visual::before{content:none!important;display:none!important;}

/* Challenge: remove connective divider spacing gracefully */
.challenge-grid{margin-bottom:0;}

/* About: richer orbit without background copy */
.about-rich{background:
  radial-gradient(640px 340px at 74% 24%,rgba(22,104,255,.105),transparent 70%),
  linear-gradient(180deg,#fff 0%,#F8FBFF 100%);
}
.about-rich .eco{align-items:center;}
.eco__diagram{position:relative;}
.eco__diagram::before{
  content:"";position:absolute;inset:30px;border-radius:40px;z-index:-1;
  background:
    linear-gradient(135deg,rgba(255,255,255,.84),rgba(234,241,255,.46)),
    radial-gradient(circle at 72% 18%,rgba(64,185,255,.18),transparent 36%);
  border:1px solid rgba(22,104,255,.12);
  box-shadow:0 26px 70px rgba(10,30,60,.08);
  transform:rotate(-2deg);
}
.eco__diagram::after{
  content:"";position:absolute;right:44px;bottom:50px;width:96px;height:96px;border-radius:50%;z-index:-1;
  border:1px solid rgba(22,104,255,.22);
  background:linear-gradient(135deg,rgba(255,255,255,.52),rgba(64,185,255,.08));
  animation:floatOrb 7s ease-in-out infinite;
}
.orbit{transform:scale(.96);}
.orbit::before,.orbit::after{
  content:"";position:absolute;left:50%;top:50%;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;
}
.orbit::before{width:76%;height:76%;border:1px solid rgba(22,104,255,.15);animation:orbitPulse 4.5s ease-in-out infinite;}
.orbit::after{width:42%;height:42%;background:radial-gradient(circle,rgba(22,104,255,.11),transparent 64%);}
.eco__diagram.in .orbit__center{animation:centerPop .9s cubic-bezier(.2,.9,.2,1) both;}
.eco__diagram.in .node__icon{animation:nodePop .8s cubic-bezier(.2,.9,.2,1) both;}
.eco__diagram.in .node:nth-of-type(1) .node__icon{animation-delay:.08s;}
.eco__diagram.in .node:nth-of-type(2) .node__icon{animation-delay:.16s;}
.eco__diagram.in .node:nth-of-type(3) .node__icon{animation-delay:.24s;}
.eco__diagram.in .node:nth-of-type(4) .node__icon{animation-delay:.32s;}
.eco__diagram.in .node:nth-of-type(5) .node__icon{animation-delay:.40s;}
.eco__diagram.in .orbit__line{animation:lineDraw 1.1s ease both;}
@keyframes floatOrb{50%{transform:translate3d(-12px,-18px,0) scale(1.04)}}
@keyframes orbitPulse{50%{transform:translate(-50%,-50%) scale(1.07);opacity:.45}}
@keyframes centerPop{from{opacity:0;transform:translate(-50%,-50%) scale(.84) rotate(-4deg)}to{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0)}}
@keyframes nodePop{from{opacity:0;transform:translateY(18px) scale(.78)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes lineDraw{from{width:0;opacity:0}to{opacity:1}}

/* Business: no left image / no English menu labels */
.biz{grid-template-columns:.72fr 1.28fr;align-items:center;}
.biz__intro{position:relative;top:auto;}
.biz__intro .lead{max-width:31em;}
.biz__intro::after{
  content:"";display:block;width:120px;height:120px;margin-top:28px;border-radius:50%;
  background:
    linear-gradient(135deg,rgba(22,104,255,.15),rgba(64,185,255,.04)),
    repeating-linear-gradient(135deg,rgba(22,104,255,.22) 0 1px,transparent 1px 12px);
  border:1px solid rgba(22,104,255,.16);
  box-shadow:0 24px 52px rgba(10,30,60,.08);
}
.biz-row{grid-template-columns:58px 62px 1fr;}
.biz-row:hover{transform:translateY(-6px) translateX(0) rotate(-.25deg);}

/* Athletes: smaller slider to avoid rough image quality */
.ath-slider{max-width:760px;margin:0 auto 42px;border-radius:24px;box-shadow:0 30px 70px rgba(0,0,0,.22);}
.ath-slider__track{height:360px;}
.ath-slide figcaption{font-size:15px;}
.ath-slider::before{font-size:11px;}

/* Footer cleanup */
.foot-bottom{justify-content:flex-start;}

/* More playful but still corporate scroll motion */
.reveal{
  opacity:0;
  transform:translate3d(0,42px,0) scale(.985);
  filter:blur(7px);
  transition:
    opacity .82s cubic-bezier(.2,.8,.2,1),
    transform .82s cubic-bezier(.2,.8,.2,1),
    filter .82s ease,
    clip-path .9s cubic-bezier(.2,.8,.2,1);
  clip-path:inset(10% 0 0 0 round 18px);
}
.reveal.in{opacity:1;transform:none;filter:none;clip-path:inset(0 0 0 0 round 0);}
.section-head.reveal{transform:translate3d(0,26px,0) scale(1);clip-path:none;}
.ch-card.reveal,.str-card.reveal,.biz-row.reveal,.lpd-item.reveal,.form-card.reveal{
  transform:translate3d(0,46px,0) rotate(.6deg) scale(.975);
}
.ch-card.reveal.in,.str-card.reveal.in,.biz-row.reveal.in,.lpd-item.reveal.in,.form-card.reveal.in{transform:none;}
.biz-row.reveal:nth-child(even){transform:translate3d(32px,34px,0) rotate(-.4deg) scale(.98);}
.biz-row.reveal:nth-child(even).in{transform:none;}
.section-head.in .eyebrow::before{animation:lineSweep .9s ease both;}
@keyframes lineSweep{from{width:0;opacity:0}to{opacity:1}}

/* Subtle section activation accents controlled by JS */
.section.is-viewing .section-head::after{animation:headGlow 1.4s ease both;}
@keyframes headGlow{0%{width:0;opacity:0}60%{width:132px;opacity:1}100%{width:96px}}
.section.is-viewing .h2{animation:titleLift .82s cubic-bezier(.2,.8,.2,1) both;}
@keyframes titleLift{from{letter-spacing:.08em;opacity:.82;transform:translateY(8px)}to{letter-spacing:.02em;opacity:1;transform:none}}

/* Motion-safe image treatment */
.ch-card__media img,.ath-slide img,.msg__visual img{transition:transform 1.05s cubic-bezier(.2,.8,.2,1), filter .7s ease;}
.ch-card:hover .ch-card__media img,.ath-slide:hover img,.msg__visual:hover img{transform:scale(1.055);filter:saturate(1.08) contrast(1.04);}

@media(max-width:1100px){
  .biz{grid-template-columns:1fr;}
  .biz__intro::after{width:90px;height:90px;margin-top:22px;}
  .ath-slider{max-width:680px;}
  .ath-slider__track{height:320px;}
}
@media(max-width:860px){
  .eco__diagram::before{inset:14px;border-radius:28px;transform:none;}
  .eco__diagram::after{display:none;}
  .biz__intro::after{display:none;}
  .ath-slider{max-width:100%;}
  .ath-slider__track{height:260px;}
  .reveal,.ch-card.reveal,.str-card.reveal,.biz-row.reveal,.lpd-item.reveal,.form-card.reveal{filter:none;transform:translateY(24px);clip-path:none;}
}
@media(max-width:560px){
  .ath-slider__track{height:220px;}
}
@media(prefers-reduced-motion:reduce){
  .eco__diagram::after,.orbit::before,.eco__diagram.in .orbit__center,.eco__diagram.in .node__icon,.eco__diagram.in .orbit__line,.section.is-viewing .section-head::after,.section.is-viewing .h2{animation:none!important;}
  .reveal{opacity:1;transform:none!important;filter:none;clip-path:none;}
}


/* =========================================================
   ATHLIX RICH VISUAL UPDATE v4
   requested cleanup: hero decorations / challenge cards / about orbit / business mark
   ========================================================= */

/* Hero: remove small decorative boxes/letters on the central panel */
.hero__panel::before,
.hero__panel::after{
  content:none!important;
  display:none!important;
}
.hero__panel{
  overflow:visible;
}
.hero__panel .hero__cta{
  margin-top:30px;
}
.hero__panel .hero__chips,
.hero__stats{
  display:none!important;
}

/* Challenge cards: cleaner white cards, no gray decorative bleed around rounded corners */
.ch-card{
  position:relative;
  overflow:hidden!important;
  background:#fff!important;
  border:1px solid rgba(214,222,234,.95)!important;
  box-shadow:0 18px 44px rgba(10,30,60,.075)!important;
}
.ch-card::after{
  content:none!important;
  display:none!important;
}
.ch-card__media{
  border-radius:24px 24px 0 0!important;
  background:#fff!important;
}
.ch-card__body{
  background:#fff!important;
  border-radius:0!important;
}
.ch-card:hover{
  box-shadow:0 26px 58px rgba(10,30,60,.12)!important;
}

/* About: revert the right orbit area to the simpler previous design */
.about-rich{
  background:linear-gradient(180deg,#fff 0%,#F8FBFF 100%);
}
.eco__diagram::before,
.eco__diagram::after,
.orbit::before,
.orbit::after{
  content:none!important;
  display:none!important;
}
.orbit{
  transform:none!important;
  filter:drop-shadow(0 20px 38px rgba(10,30,60,.07));
}
.orbit__ring.r2{
  background:radial-gradient(circle,rgba(22,104,255,.06),transparent 56%);
}
.eco__diagram.in .orbit__center,
.eco__diagram.in .node__icon,
.eco__diagram.in .orbit__line{
  animation:none!important;
}

/* Business: remove the unclear circular 0-like decoration under the heading */
.biz__intro::after{
  content:none!important;
  display:none!important;
}
.biz__intro .lead{
  margin-bottom:0;
}

@media(max-width:860px){
  .hero__panel{overflow:visible;}
}

/* =========================================================
   ATHLIX RICH VISUAL UPDATE v5
   About orbit labels: remove oval pills + premium technical layout
   ========================================================= */

/* About orbit: premium field-map look without pill labels */
.about-rich{
  background:
    linear-gradient(90deg,rgba(22,104,255,.035) 1px,transparent 1px),
    linear-gradient(180deg,rgba(22,104,255,.035) 1px,transparent 1px),
    radial-gradient(620px 360px at 73% 45%,rgba(22,104,255,.09),transparent 70%),
    linear-gradient(180deg,#fff 0%,#F8FBFF 100%);
  background-size:72px 72px,72px 72px,auto,auto;
}
.eco__diagram{
  isolation:isolate;
}
.eco__diagram::before{
  content:""!important;
  display:block!important;
  position:absolute;
  inset:26px 18px;
  z-index:-1;
  border-radius:34px;
  background:
    linear-gradient(135deg,rgba(255,255,255,.72),rgba(246,250,255,.42)),
    radial-gradient(circle at 50% 50%,rgba(22,104,255,.08),transparent 50%);
  border:1px solid rgba(22,104,255,.11);
  box-shadow:0 28px 80px rgba(10,30,60,.075);
  transform:skewY(-1.2deg);
}
.eco__diagram::after{
  content:""!important;
  display:block!important;
  position:absolute;
  right:38px;
  top:52px;
  width:120px;
  height:120px;
  z-index:-1;
  border-radius:50%;
  background:radial-gradient(circle,rgba(22,104,255,.13),rgba(22,104,255,0) 68%);
  filter:blur(.2px);
  animation:floatOrb 8s ease-in-out infinite;
}
.orbit{
  filter:drop-shadow(0 26px 44px rgba(10,30,60,.08));
}
.orbit__ring{
  border-color:rgba(22,104,255,.15);
}
.orbit__ring.r1{
  border-style:solid;
  border-color:rgba(22,104,255,.12);
}
.orbit__ring.r2{
  background:
    radial-gradient(circle at 50% 50%,rgba(22,104,255,.055),transparent 58%),
    conic-gradient(from 210deg,rgba(22,104,255,.18),transparent 18%,transparent 54%,rgba(22,104,255,.14),transparent 68%);
  border-color:rgba(22,104,255,.08);
}
.orbit__center{
  box-shadow:
    0 22px 50px rgba(10,30,60,.28),
    0 0 0 14px rgba(22,104,255,.05),
    0 0 0 1px rgba(255,255,255,.14) inset;
}
.node{
  width:118px;
  gap:10px;
}
.node__icon{
  width:70px;
  height:70px;
  border-radius:20px!important;
  background:rgba(255,255,255,.78)!important;
  backdrop-filter:blur(10px);
  border:1px solid rgba(22,104,255,.14)!important;
  box-shadow:0 16px 38px rgba(10,30,60,.08)!important;
}
.node__icon img{
  width:44px;
  height:44px;
}
.node__lab{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:0!important;
  position:relative;
  display:inline-block;
  font-size:13px;
  font-weight:800;
  line-height:1.45;
  letter-spacing:.02em;
  color:var(--navy);
  text-shadow:0 1px 0 rgba(255,255,255,.85);
}
.node__lab::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-7px;
  width:30px;
  height:2px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,var(--blue),transparent);
  border-radius:999px;
  opacity:.75;
}
.node:hover .node__icon{
  transform:translateY(-6px) rotate(-1.2deg);
  border-color:rgba(22,104,255,.36)!important;
  box-shadow:0 24px 48px rgba(10,30,60,.13)!important;
}
.node:hover .node__lab::after{
  width:46px;
  opacity:1;
}

@media(max-width:860px){
  .eco__diagram::before,
  .eco__diagram::after{display:none!important;}
  .eco-mobile__item span{
    background:transparent!important;
    border-radius:0!important;
  }
}

/* =========================================================
   ATHLIX RICH VISUAL UPDATE v6
   Challenge cards: remove gray cast from card/section background
   ========================================================= */
#challenge.section--soft{
  background:#fff!important;
}
#challenge.section--soft::before,
#challenge.section--soft::after{
  opacity:.16!important;
}
#challenge .ch-card{
  background:#fff!important;
  background-image:none!important;
  border:1px solid rgba(214,222,234,.9)!important;
  box-shadow:0 18px 48px rgba(10,30,60,.08)!important;
}
#challenge .ch-card__body{
  background:#fff!important;
  background-image:none!important;
}
#challenge .ch-list,
#challenge .ch-list li{
  background:transparent!important;
}
#challenge .ch-card::before,
#challenge .ch-card::after{
  content:none!important;
  display:none!important;
}
#challenge .ch-card__media{
  background:#fff!important;
}
#challenge .ch-card:hover{
  box-shadow:0 28px 62px rgba(10,30,60,.13)!important;
}

/* =========================================================
   ATHLIX RICH VISUAL UPDATE v7
   About section: remove orbit container box/shadow and quote shadow
   ========================================================= */

/* Remove the white square container and all shadow around the radar/orbit visual */
.about-rich .eco__diagram::before,
.about-rich .eco__diagram::after{
  content:none!important;
  display:none!important;
  background:none!important;
  border:0!important;
  box-shadow:none!important;
}

.about-rich .eco__diagram{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  filter:none!important;
}

.about-rich .orbit{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  filter:none!important;
}

/* Keep the radar-like rings and nodes, but remove any large card/box feeling */
.about-rich .orbit__ring.r2{
  background:
    radial-gradient(circle at 50% 50%,rgba(22,104,255,.045),transparent 58%),
    conic-gradient(from 210deg,rgba(22,104,255,.16),transparent 18%,transparent 54%,rgba(22,104,255,.12),transparent 68%)!important;
}

/* Remove shadow/card feeling from the left quote block */
.about-rich .eco__quote{
  box-shadow:none!important;
  background:transparent!important;
  border:0!important;
  border-left:3px solid var(--blue)!important;
  border-radius:0!important;
  padding:18px 0 18px 24px!important;
}

.about-rich .eco__quote::before{
  content:none!important;
  display:none!important;
}

.about-rich .eco__quote::after{
  left:0!important;
  top:18px!important;
  width:3px!important;
  height:62px!important;
  border-radius:999px!important;
  background:linear-gradient(180deg,var(--blue),rgba(22,104,255,.22))!important;
}

@media(max-width:860px){
  .about-rich .eco__quote{
    padding:16px 0 16px 20px!important;
  }
}

/* =========================================================
   ATHLIX RICH VISUAL UPDATE v8
   Remove all grid-pattern backgrounds and footer English statement
   ========================================================= */

/* Remove visible grid/repeating-line backgrounds across the site */
body{
  background:linear-gradient(180deg,#fff 0%,#F7FAFF 48%,#fff 100%)!important;
}

.section--soft{
  background:#fff!important;
  background-image:none!important;
}

.section--gridline::after,
.section--field::after,
.section--navy::after{
  content:none!important;
  display:none!important;
  background:none!important;
  opacity:0!important;
}

.hero--full::before{
  background:
    linear-gradient(115deg,rgba(6,23,51,.72) 0%,rgba(6,23,51,.24) 33%,rgba(6,23,51,.08) 56%,rgba(6,23,51,.52) 100%),
    radial-gradient(500px 300px at 25% 22%,rgba(64,185,255,.18),transparent 70%)!important;
}

.about-rich{
  background:
    radial-gradient(620px 360px at 73% 45%,rgba(22,104,255,.075),transparent 70%),
    linear-gradient(180deg,#fff 0%,#F8FBFF 100%)!important;
  background-size:auto!important;
}

.about-rich::after,
.about-rich::before{
  background-image:none!important;
}

.contact__statement{
  display:none!important;
}

/* =========================================================
   ATHLIX RICH VISUAL UPDATE v9
   FV / Business model / Business / CTA polish
   ========================================================= */

/* Global polish */
.h2{
  font-size:clamp(30px,3.2vw,48px)!important;
  line-height:1.28!important;
  letter-spacing:.015em;
}
.section{
  padding:clamp(82px,8vw,132px) 0;
}
.btn{
  position:relative;
  overflow:hidden;
  border-radius:999px!important;
  isolation:isolate;
}
.btn::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(120deg,transparent 0%,rgba(255,255,255,.28) 45%,transparent 62%);
  transform:translateX(-120%) skewX(-18deg);
  transition:transform .72s cubic-bezier(.2,.8,.2,1);
}
.btn:hover::before{transform:translateX(120%) skewX(-18deg);}
.btn--primary{
  background:linear-gradient(135deg,#1668FF 0%,#0A4ED9 54%,#40B9FF 130%)!important;
  box-shadow:0 16px 38px rgba(22,104,255,.34),0 0 0 1px rgba(255,255,255,.18) inset!important;
}
.btn--primary:hover{
  transform:translateY(-3px)!important;
  box-shadow:0 24px 54px rgba(22,104,255,.42),0 0 0 1px rgba(255,255,255,.22) inset!important;
  filter:saturate(1.08);
}

/* FV: premium sport-corporate mood */
.hero--full{
  min-height:100svh;
  background:#061733!important;
  isolation:isolate;
}
.hero--full::before,
.hero--full::after{
  content:""!important;
  display:block!important;
  position:absolute;
  pointer-events:none;
  z-index:2;
}
.hero--full::before{
  inset:-18% -12% auto auto;
  width:58vw;
  height:58vw;
  border-radius:50%;
  background:
    radial-gradient(circle at 45% 45%,rgba(64,185,255,.24),rgba(22,104,255,.10) 34%,transparent 67%);
  filter:blur(1px);
  animation:fvFloat 10s ease-in-out infinite alternate;
}
.hero--full::after{
  left:-7vw;
  bottom:-16vw;
  width:48vw;
  height:48vw;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.14);
  box-shadow:inset 0 0 0 34px rgba(22,104,255,.045),0 0 0 1px rgba(64,185,255,.08);
  animation:fvPulse 8s ease-in-out infinite;
}
@keyframes fvFloat{to{transform:translate3d(-38px,42px,0) scale(1.05)}}
@keyframes fvPulse{50%{transform:scale(1.06);opacity:.58}}
.hero__bg img{
  object-fit:cover!important;
  object-position:center!important;
  filter:saturate(1.04) contrast(1.08) brightness(.92)!important;
  transform:scale(1.035)!important;
}
.hero__shade{
  z-index:1!important;
  background:
    linear-gradient(105deg,rgba(6,23,51,.86) 0%,rgba(6,23,51,.34) 42%,rgba(6,23,51,.72) 100%),
    radial-gradient(560px 360px at 54% 44%,rgba(22,104,255,.18),transparent 74%)!important;
}
.hero__line{
  height:2px!important;
  background:linear-gradient(90deg,transparent,rgba(64,185,255,.95),rgba(255,255,255,.28),transparent)!important;
  filter:drop-shadow(0 0 10px rgba(64,185,255,.35));
}
.hero__panel{
  width:min(820px,92vw)!important;
  padding:clamp(36px,4.5vw,64px) clamp(24px,5vw,68px) clamp(34px,4vw,54px)!important;
  border-radius:30px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(247,251,255,.80))!important;
  border:1px solid rgba(255,255,255,.72)!important;
  box-shadow:0 36px 100px rgba(3,15,38,.34),0 0 0 1px rgba(22,104,255,.08) inset!important;
  backdrop-filter:blur(18px) saturate(1.15);
  clip-path:polygon(0 0,100% 0,100% calc(100% - 28px),calc(100% - 28px) 100%,0 100%);
}
.hero__panel h1{
  font-size:clamp(40px,5.6vw,78px)!important;
  letter-spacing:.02em!important;
}
.hero__micro{
  display:flex;
  justify-content:center;
  gap:10px;
  flex-wrap:wrap;
  margin:0 0 28px;
  position:relative;
  z-index:1;
}
.hero__micro span{
  font-family:var(--en);
  font-size:12px;
  letter-spacing:.18em;
  color:var(--blue);
  padding:8px 13px;
  border:1px solid rgba(22,104,255,.14);
  border-radius:999px;
  background:rgba(255,255,255,.68);
}
.hero__bgtype{
  -webkit-text-stroke:1.2px rgba(255,255,255,.28)!important;
  color:transparent!important;
  text-shadow:0 0 28px rgba(64,185,255,.10)!important;
}
.brand-marquee{
  background:linear-gradient(90deg,#061733,#0A1E3C 50%,#061733)!important;
}
.brand-marquee__track{
  will-change:transform;
}

/* Angled section energy without returning grid backgrounds */
.section--angled{
  position:relative;
  overflow:hidden;
}
.section--angled > .wrap{position:relative;z-index:2;}
.section--angled::before{
  content:""!important;
  display:block!important;
  position:absolute;
  left:-10vw;
  right:-10vw;
  top:-70px;
  height:150px;
  background:linear-gradient(100deg,rgba(22,104,255,.08),rgba(64,185,255,.035),transparent);
  clip-path:polygon(0 38%,100% 0,100% 64%,0 100%);
  pointer-events:none;
  opacity:.85;
}

/* Challenge and image cards */
.ch-card,
.str-card,
.biz-row,
.form-card{
  transition:transform .34s cubic-bezier(.2,.8,.2,1),box-shadow .34s ease,filter .34s ease!important;
}
.ch-card:hover,
.str-card:hover{
  transform:translateY(-8px)!important;
  box-shadow:0 30px 68px rgba(10,30,60,.16)!important;
  filter:saturate(1.02);
}
.ch-card__media,
.ath-slide,
.msg__visual{
  overflow:hidden!important;
}
.ch-card__media img,
.ath-slide img,
.msg__visual img,
.biz-row__icon img{
  object-fit:cover;
}

/* Business model: make orbit feel technical but not boxed */
.about-rich{
  background:
    radial-gradient(700px 420px at 78% 38%,rgba(22,104,255,.10),transparent 70%),
    linear-gradient(180deg,#fff 0%,#F7FAFF 100%)!important;
}
.about-rich .eco__diagram::before,
.about-rich .eco__diagram::after{
  display:block!important;
  content:""!important;
  position:absolute;
  border:0!important;
  box-shadow:none!important;
  pointer-events:none;
}
.about-rich .eco__diagram::before{
  inset:2% 5%;
  z-index:-1;
  background:radial-gradient(circle at 50% 50%,rgba(22,104,255,.075),transparent 58%)!important;
  clip-path:polygon(8% 0,100% 14%,92% 100%,0 86%);
}
.about-rich .eco__diagram::after{
  right:7%;
  bottom:8%;
  width:118px;
  height:118px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(64,185,255,.18),transparent 65%)!important;
  animation:fvFloat 9s ease-in-out infinite alternate;
}
.orbit__ring.r1,
.orbit__ring.r2{
  border-color:rgba(22,104,255,.18)!important;
}
.orbit__spin{
  border-top-color:rgba(64,185,255,.50)!important;
  border-right-color:rgba(22,104,255,.20)!important;
}
.node__icon{
  overflow:hidden;
}
.node__icon img{
  object-fit:contain!important;
  transition:transform .35s ease,filter .35s ease;
}
.node:hover .node__icon img{
  transform:scale(1.08) rotate(2deg);
  filter:saturate(1.12);
}
.mini-points span{
  border-radius:999px!important;
  background:linear-gradient(135deg,#fff,#EEF5FF)!important;
  box-shadow:0 12px 30px rgba(10,30,60,.07);
}

/* Business rows: layered depth / z-index */
.section--business-rich{
  background:
    radial-gradient(600px 360px at 14% 20%,rgba(64,185,255,.13),transparent 72%),
    linear-gradient(180deg,#F8FBFF 0%,#fff 100%)!important;
}
.biz__intro{
  position:relative!important;
  z-index:2;
}
.biz__intro::before{
  content:"BUSINESS";
  position:absolute;
  left:-.05em;
  top:-.64em;
  z-index:-1;
  font-family:var(--en);
  font-size:clamp(64px,8vw,128px);
  line-height:1;
  letter-spacing:.1em;
  color:transparent;
  -webkit-text-stroke:1px rgba(22,104,255,.10);
  pointer-events:none;
}
.biz__list{
  position:relative;
  z-index:2;
}
.biz__list::before{
  content:"";
  position:absolute;
  left:28px;
  top:32px;
  bottom:32px;
  width:1px;
  background:linear-gradient(180deg,transparent,rgba(22,104,255,.28),transparent);
  z-index:-1;
}
.biz-row{
  position:relative!important;
  z-index:1;
  overflow:hidden!important;
  background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(244,248,255,.92))!important;
  border:1px solid rgba(214,222,234,.92)!important;
  box-shadow:0 16px 42px rgba(10,30,60,.07)!important;
}
.biz-row:nth-child(even){
  margin-left:32px;
  z-index:2;
}
.biz-row::before{
  width:5px!important;
  background:linear-gradient(180deg,#40B9FF,#1668FF)!important;
}
.biz-row::after{
  content:""!important;
  display:block!important;
  position:absolute;
  right:-70px;
  top:-80px;
  width:180px;
  height:180px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(22,104,255,.10),transparent 68%);
}
.biz-row:hover{
  z-index:5;
  transform:translateY(-8px) translateX(4px)!important;
  box-shadow:0 30px 74px rgba(10,30,60,.16)!important;
}
.biz-row__no{
  color:transparent!important;
  -webkit-text-stroke:1px rgba(22,104,255,.48);
}
.biz-row:hover .biz-row__no{
  color:rgba(22,104,255,.10)!important;
  -webkit-text-stroke:1px var(--blue);
}
.biz-row__icon{
  overflow:hidden!important;
  box-shadow:0 12px 26px rgba(22,104,255,.10);
}
.biz-row__txt h3{
  font-size:clamp(18px,1.7vw,24px)!important;
}

/* CTA: stronger visual finish */
.contact--rich{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(620px 360px at 84% 18%,rgba(64,185,255,.24),transparent 70%),
    linear-gradient(135deg,#061733 0%,#0A1E3C 48%,#082D65 100%)!important;
  clip-path:polygon(0 7vw,100% 0,100% 100%,0 100%);
  padding-top:clamp(110px,10vw,168px)!important;
}
.contact--rich::before,
.contact--rich::after{
  content:""!important;
  display:block!important;
  position:absolute;
  pointer-events:none;
}
.contact--rich::before{
  right:-16vw;
  top:-18vw;
  width:52vw;
  height:52vw;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.13);
  box-shadow:inset 0 0 0 44px rgba(255,255,255,.035);
}
.contact--rich::after{
  left:4vw;
  bottom:3vw;
  content:"CONTACT"!important;
  font-family:var(--en);
  font-size:clamp(72px,14vw,190px);
  line-height:.8;
  letter-spacing:.12em;
  color:transparent;
  -webkit-text-stroke:1px rgba(255,255,255,.12);
}
.contact__grid{position:relative;z-index:2;}
.form-card{
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(245,249,255,.88))!important;
  border:1px solid rgba(255,255,255,.64);
  box-shadow:0 34px 90px rgba(0,0,0,.30)!important;
}
.form-card::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:linear-gradient(180deg,#40B9FF,#1668FF,transparent);
}
.form-card:hover{
  transform:translateY(-6px);
  box-shadow:0 44px 110px rgba(0,0,0,.34)!important;
}
.field input,
.field textarea{
  transition:border-color .24s ease,box-shadow .24s ease,transform .24s ease;
}
.field input:focus,
.field textarea:focus{
  border-color:rgba(22,104,255,.55)!important;
  box-shadow:0 0 0 4px rgba(22,104,255,.10);
  transform:translateY(-1px);
}

@media(max-width:860px){
  .hero__panel{clip-path:none!important;border-radius:24px!important;}
  .hero__micro{display:none;}
  .section--angled::before{height:110px;top:-52px;}
  .biz-row:nth-child(even){margin-left:0;}
  .biz__list::before{display:none;}
  .contact--rich{clip-path:polygon(0 42px,100% 0,100% 100%,0 100%);}
  .contact--rich::after{font-size:70px;bottom:24px;}
}
@media(max-width:560px){
  .hero__panel h1{font-size:clamp(34px,11vw,46px)!important;}
  .biz-row{grid-template-columns:42px 52px 1fr!important;}
  .contact--rich{padding-top:96px!important;}
}
@media(prefers-reduced-motion:reduce){
  .hero--full::before,.hero--full::after,.about-rich .eco__diagram::after{animation:none!important;}
}


/* =========================================================
   ATHLIX RICH VISUAL UPDATE v11
   Challenge section cleanup: remove gray background and images
   ========================================================= */
#challenge{
  background:#fff!important;
}
#challenge.section--soft::before,
#challenge.section--soft::after{
  opacity:.08!important;
}
#challenge .challenge-grid{
  align-items:stretch;
}
#challenge .ch-card{
  background:#fff!important;
  border:1px solid #d9e0ea!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
#challenge .ch-card:hover{
  transform:translateY(-4px)!important;
  box-shadow:0 16px 36px rgba(10,30,60,.08)!important;
}
#challenge .ch-card__media{
  display:none!important;
}
#challenge .ch-card__body,
#challenge .ch-card__body--plain{
  background:#fff!important;
  border-radius:24px!important;
  padding:34px 32px 30px!important;
}
#challenge .ch-card__plainhead{
  margin-bottom:20px;
}
#challenge .ch-card__pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:7px 14px;
  border-radius:999px;
  background:linear-gradient(135deg,#1d63ff,#40b9ff);
  color:#fff;
  font-family:var(--en);
  font-size:12px;
  font-weight:500;
  letter-spacing:.16em;
  line-height:1;
  text-transform:uppercase;
}
#challenge .ch-card__title{
  margin:16px 0 0;
  font-size:clamp(28px,2.6vw,36px);
  line-height:1.25;
  color:var(--navy);
}
#challenge .ch-list{
  margin-top:6px;
}
#challenge .ch-list li{
  padding:20px 0!important;
}
#challenge .ch-card::before,
#challenge .ch-card::after{
  display:none!important;
  content:none!important;
}
@media (max-width: 767px){
  #challenge .ch-card__body,
  #challenge .ch-card__body--plain{
    padding:26px 22px 24px!important;
  }
  #challenge .ch-card__title{
    font-size:28px;
  }
}


/* =========================================================
   ATHLIX RICH VISUAL UPDATE v12
   About quote: make the blue line simple
   ========================================================= */
.eco__quote{
  border-left:3px solid #1d63ff!important;
  padding-left:22px!important;
}
.eco__quote::before,
.eco__quote::after{
  content:none!important;
  display:none!important;
}


/* =========================================================
   ATHLIX RICH VISUAL UPDATE v13
   Background outline text: prevent clipping
   ========================================================= */
.has-bgtype{
  overflow:hidden!important;
}
.has-bgtype::before{
  top:18px!important;
  line-height:.92!important;
  transform:none!important;
  opacity:.55!important;
}
#business.has-bgtype::before{
  top:26px!important;
}
@media (max-width: 767px){
  .has-bgtype::before{
    top:20px!important;
    font-size:clamp(54px,18vw,100px)!important;
  }
}


/* =========================================================
   ATHLIX RICH VISUAL UPDATE v14
   Strength card icon: enlarge for better presence
   ========================================================= */
.str-card__icon{
  width:96px!important;
  height:96px!important;
}
.str-card__icon img{
  width:58px!important;
  height:58px!important;
}
@media (max-width: 767px){
  .str-card__icon{
    width:88px!important;
    height:88px!important;
  }
  .str-card__icon img{
    width:54px!important;
    height:54px!important;
  }
}


/* =========================================================
   ATHLIX RICH VISUAL UPDATE v15
   Message badge: remove YS mark and add refined decorations
   ========================================================= */
.msg__visual .badge{
  position:absolute;
  right:20px!important;
  bottom:24px!important;
  gap:0!important;
  padding:18px 24px 18px 26px!important;
  background:rgba(255,255,255,.96)!important;
  border:1px solid rgba(22,104,255,.12)!important;
  border-radius:22px!important;
  box-shadow:0 18px 48px rgba(10,30,60,.16)!important;
  backdrop-filter:blur(10px);
  overflow:hidden;
}
.msg__visual .badge::before{
  content:"";
  position:absolute;
  left:0;
  top:14px;
  bottom:14px;
  width:4px;
  border-radius:999px;
  background:linear-gradient(180deg,#1668FF 0%,#40B9FF 100%);
}
.msg__visual .badge::after{
  content:"";
  position:absolute;
  right:12px;
  top:10px;
  width:56px;
  height:56px;
  border-radius:16px;
  border:1px solid rgba(22,104,255,.12);
  background:radial-gradient(circle at 30% 30%,rgba(22,104,255,.08),transparent 70%);
  opacity:.9;
}
.msg__visual .badge .ava{
  display:none!important;
}
.msg__visual .badge > div{
  position:relative;
  z-index:1;
  padding-left:8px;
  padding-right:38px;
}
.msg__visual .badge .role{
  font-size:11px;
  letter-spacing:.04em;
  color:#6b7890;
  margin-bottom:4px;
}
.msg__visual .badge .name{
  font-size:17px;
  font-weight:700;
  letter-spacing:.06em;
  color:var(--navy);
}
@media (max-width: 767px){
  .msg__visual .badge{
    right:14px!important;
    left:14px;
    bottom:14px!important;
    padding:16px 18px 16px 20px!important;
  }
  .msg__visual .badge > div{
    padding-right:24px;
  }
  .msg__visual .badge::after{
    width:42px;
    height:42px;
    border-radius:12px;
  }
}


/* =========================================================
   ATHLIX RICH VISUAL UPDATE v16
   FAQ split by business/personal and contact title in 2 lines
   ========================================================= */
.faq-split{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:36px;
  align-items:start;
}
.faq-col{
  min-width:0;
}
.faq-col .faq{
  max-width:none;
  margin:0;
}
.faq-group-head{
  margin-bottom:18px;
}
.faq-group-head__pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:7px 14px;
  border-radius:999px;
  background:linear-gradient(135deg,#1d63ff,#40b9ff);
  color:#fff;
  font-family:var(--en);
  font-size:12px;
  font-weight:500;
  letter-spacing:.14em;
  line-height:1;
}
.faq-group-head__ttl{
  margin:14px 0 0;
  font-size:28px;
  line-height:1.25;
  color:var(--navy);
}
.contact__title{
  font-size:clamp(40px,4.8vw,56px)!important;
  line-height:1.16!important;
  letter-spacing:.01em;
  text-wrap:balance;
  max-width:12ch;
}
@media (max-width: 980px){
  .faq-split{
    grid-template-columns:1fr;
    gap:28px;
  }
}
@media (max-width: 767px){
  .contact__title{
    max-width:none;
    font-size:36px!important;
    line-height:1.2!important;
  }
  .faq-group-head__ttl{
    font-size:24px;
  }
}


/* =========================================================
   ATHLIX RICH VISUAL UPDATE v17
   Hero title: change copy and keep in 2 lines
   ========================================================= */
.hero__title--2line{
  max-width:16ch;
  margin-left:auto!important;
  margin-right:auto!important;
  font-size:clamp(38px,4.8vw,66px)!important;
  line-height:1.14!important;
  letter-spacing:.01em!important;
  text-wrap:balance;
}
@media (max-width: 767px){
  .hero__title--2line{
    max-width:none;
    font-size:clamp(32px,8.8vw,42px)!important;
    line-height:1.2!important;
  }
}


/* =========================================================
   ATHLIX RICH VISUAL UPDATE v18
   Hero title size about 40px, forced 2 lines, remove micro chips
   ========================================================= */
.hero__title--2line{
  max-width:none!important;
  font-size:40px!important;
  line-height:1.24!important;
  letter-spacing:.01em!important;
  text-wrap:initial!important;
}
.hero__title--2line span{
  display:block;
  white-space:nowrap;
}
.hero__micro{
  display:none!important;
}
@media (max-width: 767px){
  .hero__title--2line{
    font-size:34px!important;
    line-height:1.22!important;
  }
  .hero__title--2line span{
    white-space:normal;
  }
}


/* =========================================================
   ATHLIX RICH VISUAL UPDATE v19
   Background outline text: avoid top clipping in business section
   ========================================================= */
.has-bgtype::before{
  top:42px!important;
  line-height:1!important;
  transform:none!important;
  overflow:visible!important;
}
#business.has-bgtype::before{
  top:48px!important;
}
#business .biz{
  padding-top:44px;
}
@media (max-width: 767px){
  .has-bgtype::before{
    top:34px!important;
  }
  #business.has-bgtype::before{
    top:38px!important;
  }
  #business .biz{
    padding-top:34px;
  }
}


/* =========================================================
   ATHLIX RICH VISUAL UPDATE v20
   About quote redesign and remove mini point chips
   ========================================================= */
.mini-points{
  display:none!important;
}
.about-rich .eco__quote.eco__quote--feature{
  position:relative;
  margin-top:34px!important;
  padding:30px 30px 28px 34px!important;
  border:1px solid rgba(22,104,255,.14)!important;
  border-radius:24px!important;
  border-left:0!important;
  background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(239,246,255,.92))!important;
  box-shadow:0 18px 46px rgba(10,30,60,.08)!important;
  overflow:hidden;
}
.about-rich .eco__quote.eco__quote--feature::before{
  content:""!important;
  display:block!important;
  position:absolute;
  left:0;
  top:18px;
  bottom:18px;
  width:4px;
  border-radius:0 999px 999px 0;
  background:linear-gradient(180deg,#1668FF 0%,#40B9FF 100%)!important;
}
.about-rich .eco__quote.eco__quote--feature::after{
  content:"”"!important;
  display:block!important;
  position:absolute;
  right:24px;
  bottom:-14px;
  font-family:var(--en);
  font-size:82px;
  line-height:1;
  color:rgba(22,104,255,.09)!important;
  font-weight:600;
}
.eco__quote-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:14px;
  font-family:var(--en);
  font-size:12px;
  font-weight:600;
  letter-spacing:.18em;
  color:var(--blue);
}
.eco__quote-kicker::before{
  content:"";
  width:26px;
  height:2px;
  background:var(--blue);
  display:inline-block;
}
.about-rich .eco__quote .eco__quote-sub,
.about-rich .eco__quote .eco__quote-main{
  margin:0;
  position:relative;
  z-index:1;
}
.about-rich .eco__quote .eco__quote-sub{
  font-size:18px;
  line-height:1.9;
  color:#44536A;
}
.about-rich .eco__quote .eco__quote-main{
  margin-top:6px;
  font-size:clamp(24px,2.4vw,32px);
  line-height:1.65;
  font-weight:700;
  letter-spacing:.01em;
  color:var(--navy);
}
@media (max-width: 860px){
  .about-rich .eco__quote.eco__quote--feature{
    padding:24px 22px 24px 24px!important;
    border-radius:20px!important;
  }
  .about-rich .eco__quote .eco__quote-sub{
    font-size:16px;
    line-height:1.8;
  }
  .about-rich .eco__quote .eco__quote-main{
    font-size:24px;
    line-height:1.55;
  }
}


/* =========================================================
   ATHLIX RICH VISUAL UPDATE v21
   About quote: remove left blue accent and reduce text size
   ========================================================= */
.about-rich .eco__quote.eco__quote--feature{
  padding:26px 28px 24px 28px!important;
}
.about-rich .eco__quote.eco__quote--feature::before{
  content:none!important;
  display:none!important;
}
.eco__quote-kicker{
  margin-bottom:12px;
  font-size:11px;
  letter-spacing:.16em;
}
.eco__quote-kicker::before{
  content:none!important;
  display:none!important;
}
.about-rich .eco__quote .eco__quote-sub{
  font-size:15px!important;
  line-height:1.8!important;
}
.about-rich .eco__quote .eco__quote-main{
  margin-top:8px!important;
  font-size:clamp(18px,1.9vw,26px)!important;
  line-height:1.7!important;
}
@media (max-width: 860px){
  .about-rich .eco__quote.eco__quote--feature{
    padding:22px 20px 22px 20px!important;
  }
  .about-rich .eco__quote .eco__quote-sub{
    font-size:14px!important;
  }
  .about-rich .eco__quote .eco__quote-main{
    font-size:20px!important;
    line-height:1.65!important;
  }
}


/* =========================================================
   ATHLIX RICH VISUAL UPDATE v22
   Hero title: 40px and remove commas
   ========================================================= */
.hero__title--2line{
  font-size:40px!important;
  line-height:1.22!important;
}
@media (max-width: 767px){
  .hero__title--2line{
    font-size:32px!important;
    line-height:1.2!important;
  }
}


/* =========================================================
   ATHLIX RICH VISUAL UPDATE v23
   Business background text: move down so full letters are visible
   ========================================================= */
#business.has-bgtype::before{
  top:72px!important;
  line-height:1.02!important;
}
#business .biz{
  padding-top:62px!important;
}
@media (max-width: 767px){
  #business.has-bgtype::before{
    top:56px!important;
  }
  #business .biz{
    padding-top:46px!important;
  }
}


/* =========================================================
   ATHLIX FINAL CLEANUP v24
   1. FV hero title fix
   2. About quote design upgrade
   3. Business background text removal
   4. Business row shadow removal
   5. Message badge removal
   6. Contact title 2-line fix
   ========================================================= */

/* -- 1. FV hero title: responsive 40px, 2-line, no clipping -- */
.hero__panel h1.hero__title--2line {
  max-width: none !important;
  font-size: clamp(18px, 3.4vw, 40px) !important;
  line-height: 1.28 !important;
  letter-spacing: .015em !important;
  text-wrap: initial !important;
  white-space: normal !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  padding: 0 !important;
}
.hero__panel h1.hero__title--2line span {
  display: block;
  white-space: nowrap !important;
}
.hero__panel {
  width: min(980px, calc(100vw - 52px)) !important;
  padding: clamp(32px, 4vw, 56px) clamp(22px, 4.5vw, 60px) clamp(30px, 3.6vw, 50px) !important;
}
@media (max-width: 767px) {
  .hero__panel h1.hero__title--2line {
    font-size: clamp(17px, 4.8vw, 28px) !important;
    line-height: 1.34 !important;
  }
}


/* ── 2. About Us quote: refined design (no heavy bar, subtle elegance) ── */
.about-rich .eco__quote.eco__quote--feature {
  position: relative !important;
  margin-top: 32px !important;
  padding: 28px 30px 26px 30px !important;
  border: 0 !important;
  border-left: 0 !important;
  border-radius: 16px !important;
  background: linear-gradient(150deg, #f6f9fe 0%, #ffffff 60%, #f0f5ff 100%) !important;
  box-shadow: 0 2px 0 0 rgba(22,104,255,.18), 0 8px 32px rgba(10,30,60,.07) !important;
  overflow: hidden !important;
}
/* 上部の繊細なライン装飾 */
.about-rich .eco__quote.eco__quote--feature::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: auto !important;
  width: auto !important;
  height: 2px !important;
  border-radius: 0 !important;
  background: linear-gradient(90deg, #1668FF 0%, #40B9FF 50%, transparent 100%) !important;
}
/* 装飾クォーテーション記号を削除 */
.about-rich .eco__quote.eco__quote--feature::after {
  content: none !important;
  display: none !important;
}
.eco__quote-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
  font-family: var(--en);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .18em;
  color: var(--blue);
  text-transform: uppercase;
}
.eco__quote-kicker::before {
  content: "" !important;
  display: inline-block !important;
  width: 20px;
  height: 1px;
  background: var(--blue);
  opacity: .7;
}
.about-rich .eco__quote .eco__quote-sub {
  font-size: 14px !important;
  line-height: 1.8 !important;
  color: #576578 !important;
  margin: 0 !important;
}
.about-rich .eco__quote .eco__quote-main {
  margin-top: 8px !important;
  font-size: clamp(16px, 1.7vw, 22px) !important;
  line-height: 1.72 !important;
  font-weight: 700 !important;
  color: var(--navy) !important;
  letter-spacing: .01em !important;
}
@media (max-width: 860px) {
  .about-rich .eco__quote.eco__quote--feature {
    padding: 22px 22px 20px 22px !important;
    border-radius: 14px !important;
  }
  .about-rich .eco__quote .eco__quote-main {
    font-size: 18px !important;
  }
}


/* ── 3. Business section: remove background text (SERVICE/BUSINESS) ── */
#business.has-bgtype::before {
  content: none !important;
  display: none !important;
}
/* .biz__intro::before の BUSINESS テキストも削除 */
.biz__intro::before {
  content: none !important;
  display: none !important;
}
/* padding-top は背景テキスト用だったので通常に戻す */
#business .biz {
  padding-top: 0 !important;
}


/* ── 4. Business rows: remove gray shadow / keep border-radius ── */
.biz-row {
  box-shadow: none !important;
  border: 1px solid rgba(214,222,234,.85) !important;
  background: #ffffff !important;
}
.biz-row:hover {
  box-shadow: 0 6px 22px rgba(10,30,60,.07) !important;
  transform: translateY(-4px) !important;
  border-color: rgba(22,104,255,.20) !important;
}
/* biz-row::after の背景ぼかし円も削除 */
.biz-row::after {
  content: none !important;
  display: none !important;
}


/* ── 5. Message: remove badge (name plate) entirely ── */
.msg__visual .badge {
  display: none !important;
}


/* ── 6. Contact title: 2 lines, appropriate size ── */
.contact__title {
  font-size: clamp(28px, 3.2vw, 40px) !important;
  line-height: 1.5 !important;
  max-width: 18ch !important;
  text-wrap: balance !important;
  letter-spacing: .01em !important;
  white-space: normal !important;
}
@media (max-width: 767px) {
  .contact__title {
    font-size: clamp(24px, 7vw, 32px) !important;
    max-width: none !important;
    line-height: 1.55 !important;
  }
}


/* =========================================================
   ATHLIX FINAL ADJUSTMENT v25
   About value size, strength hover corners, contact title
   ========================================================= */
.about-rich .eco__quote.eco__quote--feature {
  position: relative !important;
  margin-top: 34px !important;
  padding: 32px 34px 30px !important;
  border: 1px solid rgba(22,104,255,.16) !important;
  border-radius: 18px !important;
  background:
    linear-gradient(90deg, #1668FF 0%, #40B9FF 42%, rgba(64,185,255,0) 78%) 0 0 / 100% 2px no-repeat,
    radial-gradient(circle at 92% 18%, rgba(22,104,255,.10), rgba(22,104,255,0) 30%),
    linear-gradient(135deg, rgba(255,255,255,.98), rgba(245,249,255,.94)) !important;
  box-shadow: 0 18px 44px rgba(10,30,60,.08), inset 0 1px 0 rgba(255,255,255,.92) !important;
  overflow: hidden !important;
}
.about-rich .eco__quote.eco__quote--feature::before {
  content: "VALUE" !important;
  display: block !important;
  position: absolute !important;
  right: 22px !important;
  bottom: -10px !important;
  width: auto !important;
  height: auto !important;
  background: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  font-family: var(--en);
  font-size: 54px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: .16em;
  color: rgba(22,104,255,.055);
  pointer-events: none;
}
.about-rich .eco__quote.eco__quote--feature::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  inset: 12px !important;
  border: 1px solid rgba(22,104,255,.08) !important;
  border-radius: 14px !important;
  pointer-events: none;
}
.about-rich .eco__quote .eco__quote-sub,
.about-rich .eco__quote .eco__quote-main {
  position: relative !important;
  z-index: 1 !important;
  font-size: 15px !important;
  line-height: 1.9 !important;
  color: #44536A !important;
  letter-spacing: .01em !important;
}
.about-rich .eco__quote .eco__quote-main {
  margin-top: 10px !important;
  font-weight: 700 !important;
  color: var(--navy) !important;
}
.eco__quote-kicker {
  position: relative !important;
  z-index: 1 !important;
  margin-bottom: 14px !important;
  padding-left: 28px !important;
}
.eco__quote-kicker::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  left: 0 !important;
  top: 50% !important;
  width: 20px !important;
  height: 1px !important;
  background: var(--blue) !important;
  transform: translateY(-50%) !important;
}

.str-card {
  border-radius: 24px !important;
  overflow: hidden !important;
  clip-path: inset(0 round 24px) !important;
  isolation: isolate !important;
  background:
    linear-gradient(#fff, #fff) padding-box,
    linear-gradient(135deg, rgba(22,104,255,.18), rgba(214,222,234,.65)) border-box !important;
}
.str-card::after {
  content: none !important;
  display: none !important;
}
.str-card:hover {
  background:
    linear-gradient(180deg, rgba(255,255,255,1), rgba(248,251,255,1)) padding-box,
    linear-gradient(135deg, rgba(22,104,255,.30), rgba(64,185,255,.22)) border-box !important;
}

.contact__title {
  max-width: none !important;
  line-height: 1.36 !important;
  text-wrap: initial !important;
}
.contact__title span {
  display: block;
  white-space: nowrap;
}
@media (max-width: 767px) {
  .about-rich .eco__quote.eco__quote--feature {
    padding: 26px 22px 24px !important;
  }
  .about-rich .eco__quote .eco__quote-sub,
  .about-rich .eco__quote .eco__quote-main {
    font-size: 14px !important;
    line-height: 1.85 !important;
  }
  .contact__title {
    font-size: clamp(23px, 6.4vw, 32px) !important;
    line-height: 1.42 !important;
  }
}


/* =========================================================
   ATHLIX FINAL ADJUSTMENT v26
   Editorial value blocks and richer motion
   ========================================================= */
.about-rich .eco__quote.eco__quote--feature {
  position: relative !important;
  margin-top: 34px !important;
  padding: 30px 34px 30px 36px !important;
  border: 1px solid rgba(177,195,224,.72) !important;
  border-left: 0 !important;
  border-radius: 10px !important;
  background:
    linear-gradient(90deg, rgba(22,104,255,.95), rgba(64,185,255,.75)) left top / 3px 100% no-repeat,
    linear-gradient(180deg, #fff 0%, #fbfdff 100%) !important;
  box-shadow: 0 16px 34px rgba(10,30,60,.06) !important;
  overflow: hidden !important;
}
.about-rich .eco__quote.eco__quote--feature::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  left: 3px !important;
  top: 0 !important;
  width: 92px !important;
  height: 1px !important;
  background: linear-gradient(90deg, rgba(22,104,255,.85), rgba(64,185,255,0)) !important;
  border: 0 !important;
  border-radius: 0 !important;
  pointer-events: none;
}
.about-rich .eco__quote.eco__quote--feature::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  right: 24px !important;
  top: 24px !important;
  bottom: auto !important;
  left: auto !important;
  width: 54px !important;
  height: 1px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: rgba(22,104,255,.65) !important;
  pointer-events: none;
}
.eco__quote-kicker {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin-bottom: 16px !important;
  padding-left: 0 !important;
  font-size: 10px !important;
  letter-spacing: .18em !important;
  color: #1668FF !important;
}
.eco__quote-kicker::before {
  content: "" !important;
  display: block !important;
  position: static !important;
  width: 18px !important;
  height: 1px !important;
  background: currentColor !important;
  transform: none !important;
}
.about-rich .eco__quote .eco__quote-sub,
.about-rich .eco__quote .eco__quote-main {
  position: relative !important;
  z-index: 1 !important;
  font-size: 15px !important;
  line-height: 1.9 !important;
  letter-spacing: .01em !important;
}
.about-rich .eco__quote .eco__quote-sub {
  color: #506077 !important;
}
.about-rich .eco__quote .eco__quote-main {
  margin-top: 8px !important;
  font-weight: 700 !important;
  color: var(--navy) !important;
}

.msg__pull {
  position: relative !important;
  margin-top: 32px !important;
  padding: 22px 74px 22px 28px !important;
  border: 1px solid rgba(177,195,224,.72) !important;
  border-radius: 10px !important;
  background: #fff !important;
  box-shadow: 0 14px 30px rgba(10,30,60,.055) !important;
  overflow: hidden !important;
}
.msg__pull::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  bottom: 0 !important;
  width: 3px !important;
  background: linear-gradient(180deg, #1668FF, #40B9FF) !important;
}
.msg__pull::after {
  content: "" !important;
  position: absolute !important;
  right: 28px !important;
  top: 50% !important;
  width: 54px !important;
  height: 1px !important;
  background: linear-gradient(90deg, #1668FF, rgba(64,185,255,.35)) !important;
  transform: translateY(-50%) !important;
}

.section.is-viewing .eco__quote.eco__quote--feature {
  animation: editorialCardIn .85s cubic-bezier(.18,.86,.22,1) both;
}
.section.is-viewing .eco__quote.eco__quote--feature::before,
.section.is-viewing .eco__quote.eco__quote--feature::after {
  animation: ruleDraw .95s cubic-bezier(.2,.8,.2,1) both .16s;
  transform-origin: left center;
}
.section.is-viewing .msg__pull::after {
  animation: ruleDrawCentered .95s cubic-bezier(.2,.8,.2,1) both .16s;
  transform-origin: left center;
}
.section.is-viewing .msg__pull {
  animation: editorialCardIn .85s cubic-bezier(.18,.86,.22,1) both .08s;
}
.section.is-viewing .str-card.in {
  animation: cardSettle .9s cubic-bezier(.18,.86,.22,1) both;
}
.section.is-viewing .str-card.in:nth-child(2) { animation-delay: .08s; }
.section.is-viewing .str-card.in:nth-child(3) { animation-delay: .16s; }
.section.is-viewing .str-card.in .str-card__icon {
  animation: iconDrift 4.8s ease-in-out infinite;
}
.biz-row:hover .biz-row__icon img,
.str-card:hover .str-card__icon img {
  transform: translateY(-3px) scale(1.06);
}
.biz-row__icon img,
.str-card__icon img {
  transition: transform .45s cubic-bezier(.2,.8,.2,1);
}
.faq-item .faq-q,
.flow-step__dot,
.btn {
  transition:
    transform .35s cubic-bezier(.2,.8,.2,1),
    box-shadow .35s ease,
    background-color .35s ease,
    border-color .35s ease;
}
.faq-item:hover .faq-q,
.flow-step:hover .flow-step__dot,
.btn:hover {
  transform: translateY(-2px);
}

@keyframes editorialCardIn {
  0% {
    opacity: .72;
    transform: translate3d(0,18px,0) scale(.985);
    box-shadow: 0 4px 14px rgba(10,30,60,.035);
  }
  60% {
    opacity: 1;
    transform: translate3d(0,-2px,0) scale(1.004);
  }
  100% {
    opacity: 1;
    transform: none;
  }
}
@keyframes ruleDraw {
  from { transform: scaleX(0); opacity: 0; }
  to { transform: scaleX(1); opacity: 1; }
}
@keyframes ruleDrawCentered {
  from { transform: translateY(-50%) scaleX(0); opacity: 0; }
  to { transform: translateY(-50%) scaleX(1); opacity: 1; }
}
@keyframes cardSettle {
  0% { transform: translate3d(0,20px,0) rotate(.35deg); }
  55% { transform: translate3d(0,-3px,0) rotate(-.12deg); }
  100% { transform: none; }
}
@keyframes iconDrift {
  0%, 100% { transform: translate3d(0,0,0); }
  50% { transform: translate3d(0,-5px,0); }
}

@media (prefers-reduced-motion: reduce) {
  .section.is-viewing .eco__quote.eco__quote--feature,
  .section.is-viewing .msg__pull,
  .section.is-viewing .str-card.in,
  .section.is-viewing .str-card.in .str-card__icon,
  .section.is-viewing .eco__quote.eco__quote--feature::before,
  .section.is-viewing .eco__quote.eco__quote--feature::after,
  .section.is-viewing .msg__pull::after {
    animation: none !important;
  }
}


/* =========================================================
   ATHLIX FINAL ADJUSTMENT v27
   Remove boxed AI-like treatment from statement blocks
   ========================================================= */
.about-rich .eco__quote.eco__quote--feature {
  display: grid !important;
  grid-template-columns: 104px 1fr !important;
  column-gap: 26px !important;
  row-gap: 0 !important;
  align-items: start !important;
  margin-top: 38px !important;
  padding: 26px 0 28px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background:
    linear-gradient(90deg, rgba(22,104,255,.48), rgba(214,222,234,.68)) left top / 100% 1px no-repeat,
    linear-gradient(90deg, rgba(214,222,234,.78), rgba(22,104,255,.22)) left bottom / 100% 1px no-repeat !important;
  box-shadow: none !important;
  overflow: visible !important;
}
.about-rich .eco__quote.eco__quote--feature::before {
  content: none !important;
  display: none !important;
}
.about-rich .eco__quote.eco__quote--feature::after {
  content: none !important;
  display: none !important;
}
.eco__quote-kicker {
  grid-row: 1 / span 2 !important;
  display: block !important;
  margin: 2px 0 0 !important;
  padding: 0 !important;
  font-family: var(--en);
  font-size: 10px !important;
  line-height: 1.55 !important;
  letter-spacing: .16em !important;
  color: #1668FF !important;
  writing-mode: horizontal-tb !important;
}
.eco__quote-kicker::before {
  content: none !important;
  display: none !important;
}
.about-rich .eco__quote .eco__quote-sub,
.about-rich .eco__quote .eco__quote-main {
  grid-column: 2 !important;
  font-size: 15px !important;
  line-height: 1.9 !important;
}
.about-rich .eco__quote .eco__quote-sub {
  margin: 0 0 6px !important;
  color: #536176 !important;
}
.about-rich .eco__quote .eco__quote-main {
  margin: 0 !important;
  color: var(--navy) !important;
  font-weight: 700 !important;
}

.msg__pull {
  position: relative !important;
  margin: 34px 0 6px !important;
  padding: 0 0 0 30px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--navy) !important;
  font-size: clamp(20px, 2vw, 26px) !important;
  line-height: 1.65 !important;
  letter-spacing: .01em !important;
  font-weight: 700 !important;
  overflow: visible !important;
}
.msg__pull::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: .42em !important;
  bottom: .42em !important;
  width: 2px !important;
  background: linear-gradient(180deg, #1668FF, rgba(64,185,255,.18)) !important;
}
.msg__pull::after {
  content: "" !important;
  position: absolute !important;
  left: 30px !important;
  right: auto !important;
  top: auto !important;
  bottom: -10px !important;
  width: 118px !important;
  height: 2px !important;
  background: linear-gradient(90deg, #1668FF, rgba(64,185,255,0)) !important;
  transform: none !important;
}

.section.is-viewing .eco__quote.eco__quote--feature {
  animation: statementRuleIn .78s cubic-bezier(.2,.8,.2,1) both !important;
}
.section.is-viewing .msg__pull {
  animation: pullQuoteIn .78s cubic-bezier(.2,.8,.2,1) both !important;
}
.section.is-viewing .msg__pull::after {
  animation: ruleDraw .82s cubic-bezier(.2,.8,.2,1) both .18s !important;
  transform-origin: left center !important;
}
@keyframes statementRuleIn {
  from {
    opacity: 0;
    transform: translate3d(0,16px,0);
    background-size: 0 1px, 0 1px;
  }
  to {
    opacity: 1;
    transform: none;
    background-size: 100% 1px, 100% 1px;
  }
}
@keyframes pullQuoteIn {
  from { opacity: 0; transform: translate3d(-10px,14px,0); }
  to { opacity: 1; transform: none; }
}

@media (max-width: 767px) {
  .about-rich .eco__quote.eco__quote--feature {
    grid-template-columns: 1fr !important;
    padding: 24px 0 26px !important;
  }
  .eco__quote-kicker,
  .about-rich .eco__quote .eco__quote-sub,
  .about-rich .eco__quote .eco__quote-main {
    grid-column: 1 !important;
  }
  .eco__quote-kicker {
    margin-bottom: 14px !important;
  }
  .msg__pull {
    padding-left: 22px !important;
    font-size: clamp(18px, 5.2vw, 22px) !important;
  }
  .msg__pull::after {
    left: 22px !important;
  }
}


/* =========================================================
   ATHLIX FINAL ADJUSTMENT v28
   Copy cleanup and two-line text fixes
   ========================================================= */
.about__title span,
.contact__lead span {
  display: block;
}
.about__title span {
  white-space: nowrap;
}
.contact__lead {
  max-width: 48em !important;
}
.contact__lead span {
  white-space: nowrap;
}
.contact__alt .v,
.info-table a[href^="mailto:"] {
  overflow-wrap: anywhere;
}
.seg {
  grid-template-columns: repeat(2, 1fr) !important;
}
@media (max-width: 767px) {
  .about__title span,
  .contact__lead span {
    white-space: normal;
  }
  .seg {
    grid-template-columns: 1fr !important;
  }
}


/* =========================================================
   ATHLIX FINAL ADJUSTMENT v29
   First-view background type entrance
   ========================================================= */
.hero__bgtype {
  will-change: transform, opacity, filter;
}
.hero__bgtype--left {
  animation: heroTypeLeftIn 1.25s cubic-bezier(.18,.86,.22,1) .22s both;
}
.hero__bgtype--right {
  animation: heroTypeRightIn 1.35s cubic-bezier(.18,.86,.22,1) .34s both;
}
.hero__line {
  transform-origin: left center;
  animation: heroLineDraw .9s cubic-bezier(.2,.8,.2,1) .55s both;
}
.hero__line--02 {
  animation-delay: .72s;
}
@keyframes heroTypeLeftIn {
  from {
    opacity: 0;
    filter: blur(7px);
    transform: translate3d(-18px, 34px, 0);
  }
  65% {
    opacity: 1;
    filter: blur(0);
    transform: translate3d(0, -3px, 0);
  }
  to {
    opacity: 1;
    filter: blur(0);
    transform: none;
  }
}
@keyframes heroTypeRightIn {
  from {
    opacity: 0;
    filter: blur(7px);
    transform: translate3d(26px, -22px, 0);
  }
  65% {
    opacity: 1;
    filter: blur(0);
    transform: translate3d(-3px, 0, 0);
  }
  to {
    opacity: 1;
    filter: blur(0);
    transform: none;
  }
}
@keyframes heroLineDraw {
  from {
    opacity: 0;
    transform: rotate(-12deg) scaleX(0);
  }
  to {
    opacity: .72;
    transform: rotate(-12deg) scaleX(1);
  }
}
@media (prefers-reduced-motion: reduce) {
  .hero__bgtype,
  .hero__line {
    animation: none !important;
    filter: none !important;
  }
}


/* =========================================================
   ATHLIX FINAL ADJUSTMENT v30
   Business copy shoulders and flow hover clearance
   ========================================================= */
.biz-row__txt .biz-row__shoulder {
  margin: 0 0 8px !important;
  font-size: 13px !important;
  line-height: 1.65 !important;
  color: #7A8798 !important;
  font-weight: 700 !important;
}
.biz-row__txt h3 + .biz-row__shoulder {
  margin-top: 2px !important;
}
#flow,
#flow .wrap,
.flow,
.flow-step {
  overflow: visible !important;
}
.flow {
  padding-top: 12px !important;
}
.flow-step__dot {
  transition:
    transform .35s cubic-bezier(.2,.8,.2,1),
    box-shadow .35s ease,
    background-color .35s ease,
    border-color .35s ease !important;
}
.flow-step:hover .flow-step__dot {
  transform: translateY(-4px) !important;
}
@media (max-width: 767px) {
  .biz-row__txt .biz-row__shoulder {
    font-size: 12px !important;
    line-height: 1.6 !important;
  }
  .flow {
    padding-top: 0 !important;
  }
}


/* =========================================================
   Flow hover clearance v2
   ========================================================= */
#flow {
  overflow: visible !important;
}
#flow .section-head {
  margin-bottom: clamp(42px, 5vw, 68px) !important;
}
#flow .wrap,
#flow .flow,
#flow .flow-step {
  overflow: visible !important;
}
#flow .flow {
  padding-top: 34px !important;
  padding-bottom: 10px !important;
}
#flow .flow-step {
  padding: 8px 10px 0 !important;
}
#flow .flow-step__dot {
  border-radius: 999px !important;
  clip-path: none !important;
  overflow: visible !important;
}
#flow .flow-step:hover .flow-step__dot {
  transform: translateY(-4px) !important;
}
@media (max-width: 767px) {
  #flow .section-head {
    margin-bottom: 34px !important;
  }
  #flow .flow {
    padding-top: 22px !important;
    padding-bottom: 8px !important;
  }
  #flow .flow-step {
    padding-top: 6px !important;
  }
}

/* About orbit circulation accent fix */
.about-rich,
.about-rich .eco__diagram,
.about-rich .orbit {
  overflow: visible !important;
}

.about-rich .eco__diagram::before {
  inset: 7% 10% !important;
  border-radius: 999px !important;
  clip-path: none !important;
  background:
    radial-gradient(
      circle at 50% 50%,
      rgba(255, 255, 255, .82) 0 24%,
      rgba(22, 104, 255, .028) 25% 26%,
      rgba(22, 104, 255, 0) 27% 39%,
      rgba(64, 185, 255, .032) 40% 41%,
      rgba(22, 104, 255, 0) 42% 58%,
      rgba(22, 104, 255, .026) 59% 60%,
      rgba(22, 104, 255, 0) 61%
    ) !important;
  filter: none;
  opacity: .66;
}

.about-rich .eco__diagram::after {
  left: 50% !important;
  top: 50% !important;
  right: auto !important;
  bottom: auto !important;
  width: min(440px, 76%) !important;
  height: min(440px, 76%) !important;
  transform: translate(-50%, -50%) !important;
  border-radius: 999px !important;
  background:
    repeating-conic-gradient(
      from 0deg,
      rgba(22, 104, 255, .16) 0deg 3deg,
      rgba(22, 104, 255, 0) 3deg 12deg
    ) !important;
  filter: none;
  opacity: .38;
  -webkit-mask: radial-gradient(circle, transparent 0 46%, #000 47% 49%, transparent 50%);
  mask: radial-gradient(circle, transparent 0 46%, #000 47% 49%, transparent 50%);
  animation: athlixOrbitSweep 22s linear infinite !important;
}

.about-rich .orbit__ring.r2 {
  background:
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.62), transparent 42%),
    radial-gradient(circle at 50% 50%, rgba(22,104,255,.026), transparent 58%) !important;
}

.about-rich .orbit__spin {
  animation: athlixOrbitSpin 18s linear infinite reverse !important;
  border-color: rgba(22,104,255,.13) !important;
  border-style: dashed !important;
  border-width: 1px !important;
  opacity: .58;
}

@keyframes athlixOrbitSweep {
  from {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  to {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}

@keyframes athlixOrbitSpin {
  to {
    transform: rotate(360deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  .about-rich .eco__diagram::after,
  .about-rich .orbit__spin {
    animation: none !important;
  }
}


/* =========================================================
   ATHLIX FINAL ADJUSTMENT v31
   Client requested FV identity / logo assets / representative photo
   ========================================================= */
.brand{
  gap:10px;
}
.brand__logo{
  width:42px;
  height:42px;
  object-fit:contain;
  border-radius:50%;
  background:#fff;
  box-shadow:0 8px 22px rgba(3,15,38,.18);
}
.site-header.scrolled .brand__logo{
  width:38px;
  height:38px;
  box-shadow:0 5px 14px rgba(10,30,60,.12);
}
.hero__brand-lockup{
  position:absolute;
  left:clamp(24px,5vw,72px);
  top:clamp(94px,11vh,132px);
  z-index:6;
  display:flex;
  align-items:center;
  gap:14px;
  color:#fff;
  font-family:var(--en);
  font-size:13px;
  letter-spacing:.22em;
  text-transform:uppercase;
  text-shadow:0 8px 22px rgba(0,0,0,.36);
}
.hero__brand-lockup img{
  width:70px;
  height:70px;
  object-fit:contain;
  border-radius:50%;
  background:rgba(255,255,255,.96);
  box-shadow:0 18px 42px rgba(3,15,38,.34);
}
.hero__brand-lockup span::after{
  content:"";
  display:block;
  width:84px;
  height:2px;
  margin-top:8px;
  background:linear-gradient(90deg,#ff8f45,#3d82ff);
}
.hero--full{
  min-height:100svh!important;
}
.hero__inner{
  justify-content:flex-start!important;
  align-items:flex-end!important;
  text-align:left!important;
  padding-top:160px!important;
  padding-bottom:clamp(82px,12vh,138px)!important;
}
.hero__panel{
  width:min(1040px,calc(100vw - 96px))!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  clip-path:none!important;
  text-align:left!important;
}
.hero__panel .eyebrow{
  justify-content:flex-start!important;
  color:#fff!important;
  margin-bottom:18px!important;
  text-shadow:0 8px 24px rgba(0,0,0,.38);
}
.hero__panel .eyebrow::before{
  background:#ff8f45!important;
}
.hero__micro{
  justify-content:flex-start!important;
  margin:0 0 22px!important;
}
.hero__micro span{
  color:#fff!important;
  border-color:rgba(255,255,255,.28)!important;
  background:rgba(6,23,51,.34)!important;
  backdrop-filter:blur(8px);
}
.hero__panel h1.hero__title--2line{
  max-width:1000px!important;
  font-size:clamp(42px,7vw,104px)!important;
  line-height:1.04!important;
  letter-spacing:.01em!important;
  color:#fff!important;
  text-shadow:0 18px 42px rgba(0,0,0,.38)!important;
}
.hero__panel h1.hero__title--2line span{
  display:block!important;
  width:max-content;
  max-width:100%;
  white-space:normal!important;
}
.hero__panel .hero__sub{
  margin:24px 0 32px!important;
  max-width:42em!important;
  color:rgba(255,255,255,.88)!important;
  text-shadow:0 10px 26px rgba(0,0,0,.34);
}
.hero__panel .hero__cta{
  justify-content:flex-start!important;
}
.hero__ghost{
  background:rgba(255,255,255,.14)!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.34)!important;
  backdrop-filter:blur(10px);
}
.hero__shade{
  background:
    linear-gradient(90deg,rgba(4,15,35,.90) 0%,rgba(4,15,35,.58) 39%,rgba(4,15,35,.18) 67%,rgba(4,15,35,.72) 100%),
    linear-gradient(180deg,rgba(4,15,35,.10) 0%,rgba(4,15,35,.80) 100%),
    radial-gradient(720px 420px at 24% 70%,rgba(22,104,255,.28),transparent 76%)!important;
}
.hero__bg img{
  object-position:center 42%!important;
  filter:saturate(1.08) contrast(1.1) brightness(.86)!important;
}
.hero__bgtype{
  font-size:clamp(82px,14vw,220px)!important;
  letter-spacing:.06em!important;
  -webkit-text-stroke:1px rgba(255,255,255,.30)!important;
}
.hero__bgtype--left{
  left:auto!important;
  right:clamp(14px,4vw,70px)!important;
  bottom:clamp(58px,8vh,92px)!important;
  writing-mode:horizontal-tb!important;
}
.hero__bgtype--right{
  top:13vh!important;
  right:2vw!important;
  opacity:.7!important;
}
.hero__line--01{
  left:clamp(180px,22vw,360px)!important;
  top:24vh!important;
}
.hero__line--02{
  right:clamp(30px,9vw,150px)!important;
  bottom:31vh!important;
}
.brand-marquee{
  border-top:1px solid rgba(255,255,255,.06);
  background:linear-gradient(90deg,#041329 0%,#0a1e3c 46%,#ff8f45 180%)!important;
}
.msg__visual{
  border-radius:24px;
  background:
    linear-gradient(135deg,rgba(10,30,60,.20),rgba(22,104,255,.10)),
    url("assets/representative-shimizu.png") center/cover no-repeat;
  box-shadow:0 32px 76px rgba(10,30,60,.16);
}
.msg__visual::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  border-radius:inherit;
  background:
    linear-gradient(90deg,rgba(10,30,60,.22),transparent 38%,rgba(10,30,60,.16)),
    radial-gradient(circle at 18% 18%,rgba(255,143,69,.18),transparent 34%);
  pointer-events:none;
}
.msg__visual img{
  position:relative;
  z-index:1;
  height:560px!important;
  width:100%!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  padding:0 0 0 0;
  filter:none!important;
  box-shadow:none!important;
}
.msg__visual:hover img{
  transform:none!important;
  filter:none!important;
}
.foot-brand__logo{
  width:42px;
  height:42px;
  object-fit:contain;
  border-radius:50%;
  background:#fff;
}
@media (max-width: 900px){
  .hero__brand-lockup{
    top:92px;
    left:24px;
  }
  .hero__brand-lockup img{
    width:56px;
    height:56px;
  }
  .hero__inner{
    padding:150px 0 98px!important;
    align-items:flex-end!important;
  }
  .hero__panel{
    width:calc(100vw - 48px)!important;
  }
  .hero__panel h1.hero__title--2line{
    font-size:clamp(38px,11vw,74px)!important;
  }
  .hero__bgtype--right{
    display:none!important;
  }
}
@media (max-width: 767px){
  .brand__logo{
    width:36px;
    height:36px;
  }
  .hero__brand-lockup{
    top:88px;
    gap:10px;
    font-size:11px;
    letter-spacing:.16em;
  }
  .hero__brand-lockup img{
    width:48px;
    height:48px;
  }
  .hero__brand-lockup span::after{
    width:58px;
  }
  .hero__inner{
    padding-top:160px!important;
    padding-bottom:92px!important;
    padding-left:18px!important;
    padding-right:18px!important;
  }
  .hero__panel{
    width:calc(100vw - 36px)!important;
  }
  .hero__panel h1.hero__title--2line{
    font-size:clamp(35px,12vw,56px)!important;
    line-height:1.1!important;
  }
  .hero__panel .hero__sub{
    font-size:14px!important;
  }
  .hero__panel .hero__cta{
    flex-direction:column;
  }
  .hero__panel .btn{
    width:100%;
  }
  .hero__bgtype--left{
    font-size:64px!important;
    bottom:22px!important;
    right:16px!important;
  }
  .msg__visual img{
    height:420px!important;
  }
}


/* =========================================================
   ATHLIX FINAL ADJUSTMENT v32
   FV photo-forward layout with large moving back text
   ========================================================= */
.hero__brand-lockup{
  display:none!important;
}
.hero__big-marquee{
  position:absolute;
  left:0;
  right:0;
  bottom:clamp(86px,13vh,150px);
  z-index:2;
  overflow:hidden;
  pointer-events:none;
  mix-blend-mode:screen;
}
.hero__big-marquee-track{
  display:flex;
  align-items:center;
  gap:clamp(34px,5vw,84px);
  width:max-content;
  animation:heroBackMarquee 38s linear infinite;
  will-change:transform;
}
.hero__big-marquee span{
  flex:none;
  font-family:var(--en);
  font-size:clamp(112px,19vw,310px);
  font-weight:600;
  line-height:.82;
  letter-spacing:.02em;
  white-space:nowrap;
  color:rgba(255,255,255,.16);
  -webkit-text-stroke:1px rgba(255,255,255,.20);
  text-transform:uppercase;
}
@keyframes heroBackMarquee{
  from{transform:translate3d(0,0,0);}
  to{transform:translate3d(-50%,0,0);}
}
.hero__bg{
  z-index:0!important;
}
.hero__bg img{
  object-position:center center!important;
  filter:saturate(1.02) contrast(1.08) brightness(.82)!important;
  transform:scale(1.07)!important;
}
.hero__shade{
  z-index:1!important;
  background:
    linear-gradient(90deg,rgba(4,13,30,.78) 0%,rgba(4,13,30,.34) 42%,rgba(4,13,30,.48) 100%),
    linear-gradient(180deg,rgba(4,13,30,.18) 0%,rgba(4,13,30,.72) 100%)!important;
}
.hero__inner{
  position:relative;
  z-index:4;
  justify-content:flex-start!important;
  align-items:center!important;
  min-height:100svh!important;
  padding-top:132px!important;
  padding-bottom:96px!important;
}
.hero__panel{
  width:min(820px,calc(100vw - 96px))!important;
}
.hero__panel h1.hero__title--2line{
  max-width:800px!important;
  font-size:clamp(36px,5.1vw,78px)!important;
  line-height:1.16!important;
  font-weight:700!important;
  letter-spacing:.005em!important;
  text-shadow:0 14px 34px rgba(0,0,0,.34)!important;
}
.hero__panel h1.hero__title--2line span:first-child{
  font-size:.62em!important;
  font-weight:500!important;
  letter-spacing:.02em!important;
}
.hero__panel h1.hero__title--2line span:last-child{
  max-width:11em;
}
.hero__panel .eyebrow{
  margin-bottom:16px!important;
  font-size:13px!important;
}
.hero__micro{
  display:none!important;
}
.hero__panel .hero__sub{
  margin-top:22px!important;
  max-width:34em!important;
  font-size:15px!important;
  line-height:2!important;
}
.hero__bgtype,
.hero__line{
  display:none!important;
}
.brand-marquee{
  display:none!important;
}
@media (max-width: 900px){
  .hero__big-marquee{
    bottom:118px;
  }
  .hero__big-marquee span{
    font-size:clamp(84px,26vw,180px);
  }
  .hero__inner{
    align-items:flex-end!important;
    padding-top:124px!important;
    padding-bottom:104px!important;
  }
  .hero__panel{
    width:calc(100vw - 48px)!important;
  }
  .hero__panel h1.hero__title--2line{
    font-size:clamp(34px,9vw,58px)!important;
  }
}
@media (max-width: 767px){
  .hero__big-marquee{
    bottom:116px;
  }
  .hero__big-marquee-track{
    animation-duration:30s;
  }
  .hero__inner{
    padding-left:18px!important;
    padding-right:18px!important;
    padding-bottom:92px!important;
  }
  .hero__panel{
    width:calc(100vw - 36px)!important;
  }
  .hero__panel h1.hero__title--2line{
    font-size:clamp(30px,9.2vw,44px)!important;
    line-height:1.2!important;
  }
  .hero__panel h1.hero__title--2line span:last-child{
    max-width:10.5em;
  }
  .hero__panel .hero__sub{
    font-size:13px!important;
    line-height:1.9!important;
  }
}
@media (prefers-reduced-motion: reduce){
  .hero__big-marquee-track{
    animation:none!important;
  }
}


/* =========================================================
   ATHLIX FINAL ADJUSTMENT v33
   About morph background / representative photo cleanup
   ========================================================= */
.about-rich{
  --about-progress:0;
  position:relative!important;
  overflow:hidden!important;
  background:
    linear-gradient(180deg,#fff 0%,#f7fbff 100%)!important;
}
.about-rich > .wrap{
  position:relative;
  z-index:2;
}
.about__morph{
  position:absolute;
  left:50%;
  top:50%;
  z-index:0;
  width:calc(380px + (100vw * var(--about-progress)));
  height:calc(380px + (62vw * var(--about-progress)));
  min-width:380px;
  min-height:380px;
  border-radius:calc(999px - (956px * var(--about-progress)));
  background:
    radial-gradient(circle at 28% 28%,rgba(255,255,255,.62),transparent 28%),
    linear-gradient(135deg,rgba(214,239,255,.74) 0%,rgba(235,246,255,.72) 45%,rgba(255,228,204,.70) 100%);
  box-shadow:
    0 34px 110px rgba(22,104,255,.12),
    inset 0 0 0 1px rgba(255,255,255,.66);
  opacity:calc(.48 + (.34 * var(--about-progress)));
  transform:
    translate(-50%,-50%)
    translate3d(calc(-12vw + (12vw * var(--about-progress))),calc(8vh - (8vh * var(--about-progress))),0)
    scale(calc(.88 + (.34 * var(--about-progress))));
  transition:border-radius .08s linear,width .08s linear,height .08s linear,transform .08s linear,opacity .08s linear;
  pointer-events:none;
}
.about__morph::before,
.about__morph::after{
  content:"";
  position:absolute;
  border-radius:999px;
  pointer-events:none;
}
.about__morph::before{
  width:24%;
  aspect-ratio:1;
  right:12%;
  top:14%;
  background:rgba(61,130,255,.14);
  filter:blur(2px);
}
.about__morph::after{
  width:18%;
  aspect-ratio:1;
  left:13%;
  bottom:12%;
  background:rgba(255,143,69,.16);
  filter:blur(3px);
}
.about-rich .eco{
  position:relative;
  z-index:2;
}
.about-rich .eco__diagram{
  z-index:2;
}
.about-rich .eco__text{
  position:relative;
  z-index:3;
}
.msg__visual{
  overflow:hidden!important;
  border-radius:24px!important;
  background:#eef4fb!important;
  box-shadow:0 32px 76px rgba(10,30,60,.16)!important;
}
.msg__visual::after{
  content:none!important;
  display:none!important;
}
.msg__visual img{
  display:block!important;
  width:100%!important;
  height:560px!important;
  padding:0!important;
  object-fit:cover!important;
  object-position:center center!important;
  border-radius:24px!important;
  transform:none!important;
  filter:none!important;
  box-shadow:none!important;
}
.msg__visual img.parallax-img{
  transform:none!important;
}
.msg__visual:hover img{
  transform:none!important;
  filter:none!important;
}
@media (max-width: 900px){
  .about__morph{
    width:calc(320px + (128vw * var(--about-progress)));
    height:calc(320px + (96vw * var(--about-progress)));
  }
  .msg__visual img{
    height:480px!important;
  }
}
@media (max-width: 767px){
  .about__morph{
    width:calc(260px + (150vw * var(--about-progress)));
    height:calc(260px + (128vw * var(--about-progress)));
  }
  .msg__visual img{
    height:430px!important;
    object-position:center top!important;
  }
}
@media (prefers-reduced-motion: reduce){
  .about-rich{
    --about-progress:1!important;
  }
  .about__morph{
    transition:none!important;
  }
}


/* =========================================================
   ATHLIX FINAL ADJUSTMENT v34
   FV marquee position/speed + bottom-up about semicircle
   ========================================================= */
.hero__big-marquee{
  bottom:clamp(-58px,-4.4vw,-24px)!important;
}
.hero__big-marquee-track{
  animation-duration:72s!important;
}
.hero__panel{
  margin-left:clamp(-58px,-3.2vw,-28px)!important;
}
.about__morph{
  left:50%!important;
  top:auto!important;
  bottom:calc(-58% + (42% * var(--about-progress)))!important;
  width:calc(92vw + (34vw * var(--about-progress)))!important;
  height:calc(92vw + (10vw * var(--about-progress)))!important;
  min-width:980px!important;
  min-height:980px!important;
  border-radius:calc(999px - (955px * var(--about-progress))) calc(999px - (955px * var(--about-progress))) calc(44px + (0px * var(--about-progress))) calc(44px + (0px * var(--about-progress)))!important;
  background:
    radial-gradient(circle at 32% 18%,rgba(255,255,255,.56),transparent 26%),
    linear-gradient(180deg,rgba(255,235,210,.78) 0%,rgba(255,220,187,.82) 48%,rgba(223,242,255,.70) 100%)!important;
  opacity:calc(.58 + (.24 * var(--about-progress)))!important;
  transform:
    translateX(-50%)
    translateY(calc(16% - (16% * var(--about-progress))))
    scale(calc(.72 + (.36 * var(--about-progress))))!important;
  transform-origin:50% 100%!important;
}
.about__morph::before{
  right:17%!important;
  top:18%!important;
  background:rgba(255,143,69,.18)!important;
}
.about__morph::after{
  left:16%!important;
  bottom:20%!important;
  background:rgba(61,130,255,.12)!important;
}
@media (max-width: 900px){
  .hero__big-marquee{
    bottom:clamp(-36px,-5vw,-18px)!important;
  }
  .hero__big-marquee-track{
    animation-duration:64s!important;
  }
  .hero__panel{
    margin-left:0!important;
  }
  .about__morph{
    width:calc(132vw + (40vw * var(--about-progress)))!important;
    height:calc(132vw + (18vw * var(--about-progress)))!important;
    min-width:560px!important;
    min-height:560px!important;
    bottom:calc(-44% + (34% * var(--about-progress)))!important;
  }
}
@media (max-width: 767px){
  .hero__big-marquee{
    bottom:-20px!important;
  }
  .hero__big-marquee-track{
    animation-duration:58s!important;
  }
  .about__morph{
    width:calc(150vw + (52vw * var(--about-progress)))!important;
    height:calc(150vw + (30vw * var(--about-progress)))!important;
    min-width:420px!important;
    min-height:420px!important;
    bottom:calc(-34% + (26% * var(--about-progress)))!important;
  }
}


/* =========================================================
   ATHLIX FINAL ADJUSTMENT v35
   Designed FV headline treatment
   ========================================================= */
.hero__panel{
  position:relative!important;
  padding-left:clamp(18px,2vw,30px)!important;
}
.hero__panel::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:0!important;
  top:clamp(64px,10vh,96px)!important;
  width:3px!important;
  height:clamp(168px,23vh,250px)!important;
  border:0!important;
  border-radius:999px!important;
  background:linear-gradient(180deg,#ff8f45 0%,#3d82ff 58%,rgba(61,130,255,0) 100%)!important;
  box-shadow:0 0 22px rgba(61,130,255,.36)!important;
  opacity:.92!important;
  pointer-events:none!important;
}
.hero__panel::after{
  content:"ATHLIX"!important;
  display:block!important;
  position:absolute!important;
  left:clamp(36px,4vw,64px)!important;
  top:clamp(42px,7vh,70px)!important;
  z-index:-1!important;
  font-family:var(--en)!important;
  font-size:clamp(58px,8vw,132px)!important;
  line-height:1!important;
  font-weight:600!important;
  letter-spacing:.08em!important;
  color:rgba(255,255,255,.055)!important;
  -webkit-text-stroke:1px rgba(255,255,255,.10)!important;
  transform:skewX(-8deg)!important;
  pointer-events:none!important;
}
.hero__panel h1.hero__title--2line{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:clamp(8px,1.1vw,14px)!important;
  width:min(980px,calc(100vw - 120px))!important;
  max-width:none!important;
  margin:0!important;
  color:#fff!important;
  text-shadow:0 12px 32px rgba(0,0,0,.42)!important;
  isolation:isolate;
}
.hero__panel h1.hero__title--2line::before{
  content:""!important;
  position:absolute!important;
  left:clamp(-10px,-.7vw,-4px)!important;
  bottom:clamp(6px,.8vw,12px)!important;
  width:min(74vw,900px)!important;
  height:clamp(18px,2.2vw,34px)!important;
  z-index:-1!important;
  background:linear-gradient(90deg,rgba(22,104,255,.36),rgba(255,143,69,.23) 48%,rgba(255,255,255,0) 100%)!important;
  transform:skewX(-16deg)!important;
  transform-origin:left center!important;
  filter:blur(.2px)!important;
}
.hero__panel h1.hero__title--2line span{
  position:relative!important;
  display:inline-block!important;
  width:auto!important;
  max-width:none!important;
  white-space:normal!important;
}
.hero__panel h1.hero__title--2line span:first-child{
  padding:6px 16px 7px 18px!important;
  font-size:clamp(29px,3.65vw,56px)!important;
  line-height:1.08!important;
  font-weight:700!important;
  letter-spacing:.03em!important;
  background:linear-gradient(100deg,rgba(6,23,51,.48),rgba(22,104,255,.18) 58%,rgba(255,143,69,.18))!important;
  border-left:4px solid #ff8f45!important;
  clip-path:polygon(0 0,100% 0,calc(100% - 18px) 100%,0 100%)!important;
  box-shadow:0 14px 36px rgba(3,15,38,.20)!important;
  backdrop-filter:blur(5px);
}
.hero__panel h1.hero__title--2line span:last-child{
  max-width:12.3em!important;
  font-size:clamp(48px,6.15vw,94px)!important;
  line-height:1.04!important;
  font-weight:800!important;
  letter-spacing:.005em!important;
  text-shadow:
    0 2px 0 rgba(255,255,255,.10),
    0 18px 44px rgba(0,0,0,.46),
    0 0 34px rgba(61,130,255,.12)!important;
}
.hero__panel h1.hero__title--2line span:last-child::after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  bottom:-10px!important;
  width:clamp(140px,18vw,260px)!important;
  height:4px!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,#ff8f45 0%,#3d82ff 68%,rgba(61,130,255,0) 100%)!important;
  box-shadow:0 0 18px rgba(61,130,255,.34)!important;
}
.hero__panel .eyebrow{
  margin-left:clamp(2px,.4vw,8px)!important;
}
.hero__panel .hero__sub,
.hero__panel .hero__cta{
  margin-left:clamp(2px,.4vw,8px)!important;
}
@media (max-width: 900px){
  .hero__panel{
    padding-left:18px!important;
  }
  .hero__panel::before{
    top:52px!important;
    height:190px!important;
  }
  .hero__panel::after{
    left:30px!important;
    top:46px!important;
    font-size:76px!important;
  }
  .hero__panel h1.hero__title--2line{
    width:calc(100vw - 66px)!important;
  }
  .hero__panel h1.hero__title--2line span:first-child{
    font-size:clamp(26px,7vw,44px)!important;
  }
  .hero__panel h1.hero__title--2line span:last-child{
    font-size:clamp(36px,9vw,64px)!important;
    max-width:10.8em!important;
  }
}
@media (max-width: 767px){
  .hero__panel{
    padding-left:14px!important;
  }
  .hero__panel::before{
    top:42px!important;
    height:150px!important;
  }
  .hero__panel::after{
    left:24px!important;
    top:42px!important;
    font-size:58px!important;
  }
  .hero__panel h1.hero__title--2line{
    width:calc(100vw - 64px)!important;
    gap:9px!important;
  }
  .hero__panel h1.hero__title--2line::before{
    width:84vw!important;
    height:18px!important;
    bottom:3px!important;
  }
  .hero__panel h1.hero__title--2line span:first-child{
    padding:5px 13px 6px 14px!important;
    font-size:clamp(23px,6.3vw,34px)!important;
    border-left-width:3px!important;
  }
  .hero__panel h1.hero__title--2line span:last-child{
    font-size:clamp(32px,8.4vw,46px)!important;
    line-height:1.13!important;
    max-width:10.5em!important;
  }
  .hero__panel h1.hero__title--2line span:last-child::after{
    bottom:-8px!important;
    width:150px!important;
    height:3px!important;
  }
}


/* =========================================================
   ATHLIX FINAL ADJUSTMENT v36
   FV headline size fix / remove left vertical accents
   ========================================================= */
.hero__panel::before{
  content:none!important;
  display:none!important;
}
.hero__panel{
  padding-left:0!important;
}
.hero__panel h1.hero__title--2line{
  width:min(900px,calc(100vw - 150px))!important;
}
.hero__panel h1.hero__title--2line span:first-child{
  padding:6px 16px 7px 16px!important;
  font-size:clamp(26px,3.15vw,48px)!important;
  border-left:0!important;
}
.hero__panel h1.hero__title--2line span:last-child{
  font-size:clamp(40px,4.85vw,74px)!important;
  max-width:12.8em!important;
}
@media (max-width: 900px){
  .hero__panel{
    padding-left:0!important;
  }
  .hero__panel h1.hero__title--2line{
    width:calc(100vw - 72px)!important;
  }
  .hero__panel h1.hero__title--2line span:first-child{
    font-size:clamp(24px,6vw,38px)!important;
    border-left:0!important;
  }
  .hero__panel h1.hero__title--2line span:last-child{
    font-size:clamp(32px,7.3vw,52px)!important;
    max-width:11.2em!important;
  }
}
@media (max-width: 767px){
  .hero__panel{
    padding-left:0!important;
  }
  .hero__panel h1.hero__title--2line{
    width:calc(100vw - 56px)!important;
  }
  .hero__panel h1.hero__title--2line span:first-child{
    padding:5px 12px 6px 12px!important;
    font-size:clamp(21px,5.6vw,30px)!important;
    border-left:0!important;
  }
  .hero__panel h1.hero__title--2line span:last-child{
    font-size:clamp(28px,7.4vw,40px)!important;
    max-width:10.8em!important;
  }
}


/* =========================================================
   ATHLIX FINAL ADJUSTMENT v37
   Mobile FV copy fit / mobile about morph position
   ========================================================= */
@media (max-width: 767px){
  .hero__panel h1.hero__title--2line{
    width:calc(100vw - 40px)!important;
    gap:8px!important;
  }
  .hero__panel h1.hero__title--2line span:last-child{
    display:block!important;
    width:100%!important;
    max-width:12em!important;
    font-size:clamp(25px,6.55vw,35px)!important;
    line-height:1.18!important;
    white-space:normal!important;
    overflow-wrap:normal!important;
    word-break:keep-all!important;
  }
  .hero__panel .hero__sub{
    width:calc(100vw - 40px)!important;
    max-width:none!important;
    font-size:clamp(11px,3.08vw,13px)!important;
    line-height:1.72!important;
    letter-spacing:-.01em!important;
  }
  .hero__panel .hero__sub br{
    display:block!important;
  }
  .about__morph{
    bottom:calc(-18% + (18% * var(--about-progress)))!important;
    transform:
      translateX(-50%)
      translateY(calc(10% - (10% * var(--about-progress))))
      scale(calc(.78 + (.30 * var(--about-progress))))!important;
  }
}
@media (max-width: 390px){
  .hero__panel h1.hero__title--2line span:last-child{
    font-size:clamp(24px,6.25vw,32px)!important;
    max-width:11.5em!important;
  }
  .hero__panel .hero__sub{
    font-size:11px!important;
    line-height:1.68!important;
  }
}


/* =========================================================
   ATHLIX FINAL ADJUSTMENT v38
   Raise mobile about morph to the section title area
   ========================================================= */
@media (max-width: 767px){
  .about__morph{
    top:clamp(118px,18vh,168px)!important;
    bottom:auto!important;
    width:calc(142vw + (50vw * var(--about-progress)))!important;
    height:calc(142vw + (42vw * var(--about-progress)))!important;
    min-width:430px!important;
    min-height:430px!important;
    transform:
      translateX(-50%)
      translateY(calc(18% - (18% * var(--about-progress))))
      scale(calc(.74 + (.32 * var(--about-progress))))!important;
    opacity:calc(.46 + (.30 * var(--about-progress)))!important;
  }
}


/* =========================================================
   ATHLIX FINAL ADJUSTMENT v39
   FV lead sizing / functional mobile hamburger menu
   ========================================================= */
.hero__panel .hero__sub{
  text-align:left!important;
  font-size:clamp(15px,1.18vw,18px)!important;
  line-height:1.95!important;
  max-width:43em!important;
}
@media (max-width: 767px){
  .hero__panel .hero__sub{
    text-align:left!important;
    width:calc(100vw - 40px)!important;
    max-width:none!important;
    font-size:clamp(12px,3.45vw,14px)!important;
    line-height:1.62!important;
    letter-spacing:-.02em!important;
  }
}
@media (max-width: 900px){
  .site-header .wrap{
    position:relative;
  }
  .site-header .nav{
    position:absolute;
    left:var(--gut);
    right:var(--gut);
    top:calc(100% + 10px);
    z-index:120;
    display:flex!important;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    padding:12px;
    border:1px solid rgba(255,255,255,.22);
    border-radius:18px;
    background:rgba(6,23,51,.94);
    box-shadow:0 24px 70px rgba(3,15,38,.34);
    backdrop-filter:blur(16px);
    opacity:0;
    visibility:hidden;
    transform:translateY(-10px);
    pointer-events:none;
    transition:opacity .24s ease, transform .24s ease, visibility .24s ease;
  }
  body.nav-open .site-header .nav{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
    pointer-events:auto;
  }
  .site-header .nav a,
  .site-header.at-top:not(.scrolled) .nav a{
    display:flex;
    align-items:center;
    min-height:48px;
    padding:0 16px;
    border-radius:10px;
    color:#fff!important;
    font-size:14px;
    font-weight:700;
  }
  .site-header .nav a:hover{
    background:rgba(255,255,255,.10);
    color:#fff!important;
  }
  .site-header .nav a::after{
    display:none!important;
  }
  .nav-toggle{
    position:relative;
    z-index:130;
  }
  .nav-toggle span{
    transition:transform .24s ease, opacity .24s ease, background-color .24s ease;
  }
  body.nav-open .nav-toggle span:nth-child(1){
    transform:translateY(7px) rotate(45deg);
  }
  body.nav-open .nav-toggle span:nth-child(2){
    opacity:0;
  }
  body.nav-open .nav-toggle span:nth-child(3){
    transform:translateY(-7px) rotate(-45deg);
  }
}
@media (max-width: 767px){
  .site-header .nav{
    left:18px;
    right:18px;
    top:calc(100% + 8px);
  }
}


/* =========================================================
   ATHLIX FINAL ADJUSTMENT v40
   Mobile FV headline alignment / marquee overlap fix
   ========================================================= */
@media (max-width: 767px){
  .hero__panel h1.hero__title--2line span:first-child{
    margin-left:-12px!important;
  }
  .hero__big-marquee{
    bottom:-58px!important;
    opacity:.52!important;
  }
  .hero__big-marquee span{
    font-size:clamp(72px,22vw,138px)!important;
  }
  .scroll-cue{
    bottom:14px!important;
    opacity:.72!important;
  }
}


/* =========================================================
   ATHLIX FINAL ADJUSTMENT v41
   Mobile FV headline and lead two-line fit
   ========================================================= */
@media (max-width: 767px){
  .hero__panel h1.hero__title--2line{
    width:calc(100vw - 42px)!important;
  }
  .hero__panel h1.hero__title--2line span:last-child{
    width:calc(100vw - 42px)!important;
    max-width:none!important;
    font-size:clamp(20px,5.55vw,29px)!important;
    line-height:1.18!important;
    letter-spacing:-.015em!important;
  }
  .hero__panel .hero__sub{
    width:calc(100vw - 36px)!important;
    max-width:none!important;
    font-size:clamp(10px,2.72vw,12px)!important;
    line-height:1.72!important;
    letter-spacing:-.055em!important;
  }
}
@media (max-width: 390px){
  .hero__panel h1.hero__title--2line span:last-child{
    font-size:20.6px!important;
  }
  .hero__panel .hero__sub{
    font-size:10px!important;
  }
}


/* =========================================================
   ATHLIX FINAL ADJUSTMENT v43
   Mobile marquee visibility / remove rear ATHLIX / scroll cue clearance
   ========================================================= */
.hero__panel::after{
  content:none!important;
  display:none!important;
}
@media (max-width: 767px){
  .hero__big-marquee{
    bottom:18px!important;
    opacity:.30!important;
    z-index:2!important;
  }
  .hero__big-marquee-track{
    animation-duration:58s!important;
  }
  .hero__big-marquee span{
    font-size:clamp(64px,20vw,124px)!important;
    -webkit-text-stroke:1px rgba(255,255,255,.22)!important;
    color:rgba(255,255,255,.14)!important;
  }
  .scroll-cue{
    bottom:-12px!important;
    opacity:.68!important;
    z-index:6!important;
  }
}


/* =========================================================
   ATHLIX FINAL ADJUSTMENT v44
   Desktop split FV / stronger palette / cleaner headline
   ========================================================= */
:root{
  --navy:#061733;
  --navy-2:#09244a;
  --navy-3:#103b76;
  --blue:#0f67ff;
  --blue-2:#23a7ff;
  --blue-soft:#dceaff;
  --bg-soft:#eaf1f8;
  --bg-soft-2:#dfeaf5;
}
.section--soft{
  background:linear-gradient(180deg,#edf4fb 0%,#dfeaf5 100%)!important;
}
.h2{
  color:#071a36!important;
}
.lead{
  color:#43536b!important;
}
.btn--primary{
  background:linear-gradient(135deg,#0f67ff 0%,#064bd6 62%,#ff8f45 145%)!important;
  box-shadow:0 18px 42px rgba(15,103,255,.38)!important;
}
.hero--full{
  background:
    radial-gradient(620px 420px at 13% 30%,rgba(15,103,255,.20),transparent 70%),
    linear-gradient(90deg,#051225 0%,#071a36 52%,#08204a 100%)!important;
}
.hero__bg{
  left:auto!important;
  right:0!important;
  top:0!important;
  bottom:0!important;
  width:min(58vw,900px)!important;
  z-index:1!important;
  clip-path:polygon(11% 0,100% 0,100% 100%,0 100%)!important;
  border-left:1px solid rgba(35,167,255,.22);
}
.hero__bg img{
  object-position:center center!important;
  filter:saturate(1.16) contrast(1.12) brightness(.86)!important;
  transform:scale(1.05)!important;
}
.hero__shade{
  z-index:2!important;
  background:
    linear-gradient(90deg,rgba(5,18,37,1) 0%,rgba(5,18,37,.94) 39%,rgba(5,18,37,.58) 59%,rgba(5,18,37,.18) 100%),
    linear-gradient(180deg,rgba(5,18,37,.08) 0%,rgba(5,18,37,.78) 100%)!important;
}
.hero__inner{
  z-index:5!important;
  justify-content:flex-start!important;
  align-items:center!important;
  padding-top:118px!important;
  padding-bottom:110px!important;
}
.hero__panel{
  width:min(600px,46vw)!important;
  margin-left:0!important;
  padding-left:0!important;
}
.hero__panel .eyebrow{
  color:#fff!important;
  letter-spacing:.22em!important;
}
.hero__panel h1.hero__title--2line{
  width:min(720px,52vw)!important;
  gap:clamp(10px,1vw,16px)!important;
}
.hero__panel h1.hero__title--2line::before{
  content:none!important;
  display:none!important;
}
.hero__panel h1.hero__title--2line span:first-child{
  margin-left:0!important;
  padding:0!important;
  background:none!important;
  clip-path:none!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  font-size:clamp(34px,3.55vw,60px)!important;
  line-height:1.05!important;
  font-weight:800!important;
  letter-spacing:.015em!important;
}
.hero__panel h1.hero__title--2line span:last-child{
  width:auto!important;
  max-width:9.7em!important;
  font-size:clamp(54px,5.2vw,94px)!important;
  line-height:1.03!important;
  font-weight:900!important;
  letter-spacing:.005em!important;
  text-shadow:0 18px 44px rgba(0,0,0,.44)!important;
}
.hero__panel h1.hero__title--2line span:last-child::after{
  content:none!important;
  display:none!important;
}
.hero__panel .hero__sub{
  width:min(560px,42vw)!important;
  max-width:none!important;
  margin-top:28px!important;
  margin-left:0!important;
  font-size:clamp(15px,1.1vw,17px)!important;
  line-height:2!important;
  color:rgba(255,255,255,.84)!important;
  letter-spacing:0!important;
}
.hero__panel .hero__cta{
  margin-left:0!important;
  margin-top:6px!important;
}
.hero__ghost{
  background:rgba(255,255,255,.12)!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.42)!important;
}
.hero__big-marquee{
  bottom:clamp(8px,2vh,22px)!important;
  z-index:4!important;
  opacity:.46!important;
  mix-blend-mode:normal!important;
}
.hero__big-marquee span{
  font-size:clamp(78px,10vw,160px)!important;
  color:rgba(255,255,255,.10)!important;
  -webkit-text-stroke:1px rgba(255,255,255,.30)!important;
}
.scroll-cue{
  bottom:10px!important;
  z-index:7!important;
}
.ch-card,
.str-card,
.biz-row,
.form-card,
.map-wrap{
  border-color:rgba(15,103,255,.16)!important;
}
.section--navy,
.contact,
.site-footer{
  background:#061733!important;
}
.about-rich{
  background:linear-gradient(180deg,#f4f8fc 0%,#e7f0f9 100%)!important;
}
.about__morph{
  background:
    radial-gradient(circle at 32% 18%,rgba(255,255,255,.50),transparent 26%),
    linear-gradient(180deg,rgba(255,214,171,.88) 0%,rgba(255,143,69,.78) 48%,rgba(35,167,255,.46) 100%)!important;
}
@media (max-width: 900px){
  .hero__bg{
    width:100%!important;
    clip-path:none!important;
    opacity:.82!important;
  }
  .hero__shade{
    background:
      linear-gradient(90deg,rgba(5,18,37,.92) 0%,rgba(5,18,37,.58) 100%),
      linear-gradient(180deg,rgba(5,18,37,.18) 0%,rgba(5,18,37,.86) 100%)!important;
  }
  .hero__panel{
    width:calc(100vw - 52px)!important;
  }
  .hero__panel h1.hero__title--2line{
    width:calc(100vw - 52px)!important;
  }
  .hero__panel .hero__sub{
    width:calc(100vw - 52px)!important;
  }
}
@media (max-width: 767px){
  .hero__inner{
    align-items:flex-end!important;
    padding-top:138px!important;
    padding-bottom:100px!important;
  }
  .hero__panel{
    width:calc(100vw - 36px)!important;
  }
  .hero__panel h1.hero__title--2line{
    width:calc(100vw - 36px)!important;
    gap:8px!important;
  }
  .hero__panel h1.hero__title--2line span:first-child{
    font-size:clamp(27px,7.3vw,38px)!important;
  }
  .hero__panel h1.hero__title--2line span:last-child{
    width:calc(100vw - 36px)!important;
    max-width:11.6em!important;
    font-size:clamp(27px,7.15vw,38px)!important;
    line-height:1.14!important;
    letter-spacing:-.02em!important;
  }
  .hero__panel .hero__sub{
    width:calc(100vw - 36px)!important;
    font-size:clamp(11px,3.1vw,13px)!important;
    line-height:1.72!important;
    letter-spacing:-.03em!important;
  }
  .hero__big-marquee{
    bottom:18px!important;
    opacity:.34!important;
  }
  .hero__big-marquee span{
    font-size:clamp(68px,20vw,126px)!important;
  }
  .scroll-cue{
    bottom:-14px!important;
  }
}


/* =========================================================
   ATHLIX FINAL ADJUSTMENT v45
   Stronger split hero balance / stable mobile wrapping
   ========================================================= */
@media (min-width: 901px){
  .hero__bg{
    width:min(52vw,840px)!important;
    clip-path:polygon(9% 0,100% 0,100% 100%,0 100%)!important;
  }
  .hero__shade{
    background:
      linear-gradient(90deg,rgba(5,18,37,1) 0%,rgba(5,18,37,.98) 43%,rgba(5,18,37,.76) 57%,rgba(5,18,37,.22) 100%),
      linear-gradient(180deg,rgba(5,18,37,.04) 0%,rgba(5,18,37,.76) 100%)!important;
  }
  .hero__panel{
    width:min(560px,44vw)!important;
  }
  .hero__panel h1.hero__title--2line{
    width:min(610px,47vw)!important;
  }
  .hero__panel h1.hero__title--2line span:first-child{
    font-size:clamp(34px,3.25vw,52px)!important;
    white-space:normal!important;
  }
  .hero__panel h1.hero__title--2line span:last-child{
    max-width:7.85em!important;
    font-size:clamp(46px,4.65vw,72px)!important;
    line-height:1.08!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
  .hero__panel .hero__sub{
    width:min(520px,41vw)!important;
    font-size:clamp(16px,1.18vw,18px)!important;
    line-height:1.92!important;
  }
  .hero__big-marquee{
    bottom:18px!important;
    opacity:.50!important;
  }
  .hero__big-marquee span{
    font-size:clamp(92px,11vw,172px)!important;
  }
  .scroll-cue{
    bottom:6px!important;
  }
}

@media (max-width: 767px){
  .hero__panel h1.hero__title--2line,
  .hero__panel h1.hero__title--2line span{
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
    line-break:strict!important;
  }
  .hero__panel h1.hero__title--2line span:first-child{
    width:calc(100vw - 36px)!important;
    font-size:clamp(25px,6.8vw,32px)!important;
    line-height:1.18!important;
  }
  .hero__panel h1.hero__title--2line span:last-child{
    width:calc(100vw - 36px)!important;
    max-width:calc(100vw - 36px)!important;
    font-size:clamp(24px,6.25vw,30px)!important;
    line-height:1.2!important;
    letter-spacing:-.045em!important;
  }
  .hero__panel .hero__sub{
    width:calc(100vw - 36px)!important;
    max-width:calc(100vw - 36px)!important;
    font-size:clamp(12px,3.25vw,13.5px)!important;
    line-height:1.78!important;
    text-align:left!important;
    letter-spacing:-.045em!important;
  }
  .hero__panel .hero__sub br{
    display:none!important;
  }
  .hero__big-marquee{
    bottom:26px!important;
  }
  .hero__big-marquee span{
    font-size:clamp(76px,21vw,132px)!important;
  }
  .scroll-cue{
    bottom:-20px!important;
  }
}


/* =========================================================
   ATHLIX FINAL ADJUSTMENT v46
   Deeper orange / crisp orbit contrast / requested text colors
   ========================================================= */
:root{
  --orange:#ff6a1f;
  --orange-2:#f04e16;
}
.btn--primary{
  background:linear-gradient(135deg,#0f67ff 0%,#064bd6 56%,#ff6a1f 138%)!important;
}
.hero__panel .eyebrow::before,
.hero__panel h1.hero__title--2line span:first-child{
  border-color:#ff6a1f!important;
}
.about__morph{
  background:
    radial-gradient(circle at 32% 18%,rgba(255,255,255,.38),transparent 25%),
    linear-gradient(180deg,rgba(255,183,120,.96) 0%,rgba(255,106,31,.88) 48%,rgba(15,103,255,.48) 100%)!important;
}
.eco__diagram .orbit__ring,
.eco__diagram .orbit__spin{
  border-color:rgba(6,23,51,.32)!important;
}
.eco__diagram .orbit__ring.r2{
  border-color:rgba(6,23,51,.46)!important;
}
.eco__diagram .orbit__line{
  background:linear-gradient(90deg,rgba(6,23,51,.54),rgba(6,23,51,.08))!important;
}
.eco__diagram .orbit__center{
  background:#061733!important;
  box-shadow:0 20px 48px rgba(6,23,51,.28)!important;
}
.eco__diagram .node__icon{
  border-color:rgba(6,23,51,.28)!important;
  box-shadow:0 18px 42px rgba(6,23,51,.16)!important;
}
.eco__diagram .node__lab{
  color:#061733!important;
  border-color:rgba(6,23,51,.24)!important;
  box-shadow:0 10px 22px rgba(6,23,51,.12)!important;
}
.eco__quote--feature,
.eco__quote{
  border-color:rgba(6,23,51,.20)!important;
}
.eco__quote-kicker{
  color:#0f67ff!important;
}
.eco__quote-main{
  color:#061733!important;
}
.section--navy .h2,
#athletes .h2,
#athletes .lead,
#athletes .section-head,
#athletes .section-head p{
  color:#fff!important;
}
.contact--rich .contact__title,
.contact--rich .contact__title span,
.contact--rich .contact__lead,
.contact--rich .contact__lead span,
.contact--rich .lead{
  color:#fff!important;
}
@media (min-width: 901px){
  .hero__panel h1.hero__title--2line span:last-child{
    max-width:6.5em!important;
    font-size:clamp(48px,4.9vw,76px)!important;
    line-height:1.08!important;
  }
}
@media (max-width: 767px){
  .hero__panel h1.hero__title--2line span:last-child{
    font-size:clamp(29px,7.8vw,36px)!important;
    line-height:1.16!important;
    letter-spacing:-.035em!important;
  }
}


/* =========================================================
   ATHLIX FINAL ADJUSTMENT v47
   New FV collage / full-width hero / bolder vivid palette
   ========================================================= */
:root{
  --navy:#041329;
  --navy-2:#061733;
  --navy-3:#0A2550;
  --blue:#1460FF;
  --blue-2:#3B80FF;
  --blue-soft:#C8DCFF;
  --ink:#0C1A30;
  --muted:#3D4F68;
  --muted-2:#5A6B82;
  --line:#B8C8DC;
  --line-2:#A8BAD2;
  --bg-soft:#E0E9F4;
  --bg-soft-2:#D2DFEF;
  --orange:#FF5500;
  --orange-2:#E84300;
  --shadow-sm:0 2px 12px rgba(4,19,41,.08);
  --shadow:0 14px 40px rgba(4,19,41,.14);
  --shadow-lg:0 30px 70px rgba(4,19,41,.22);
}

/* FV: new collage — full bleed, vivid, sport-forward */
.hero__bg{
  width:100%!important;
  clip-path:none!important;
  opacity:1!important;
}
.hero__bg img{
  object-fit:cover!important;
  object-position:center center!important;
  filter:saturate(1.22) contrast(1.14) brightness(1.02)!important;
  transform:scale(1.04)!important;
}
.hero__shade{
  background:
    linear-gradient(90deg,rgba(4,19,41,.88) 0%,rgba(4,19,41,.42) 38%,rgba(4,19,41,.28) 62%,rgba(4,19,41,.55) 100%),
    linear-gradient(180deg,rgba(4,19,41,.08) 0%,rgba(4,19,41,.72) 100%),
    radial-gradient(680px 480px at 72% 38%,rgba(255,85,0,.14),transparent 72%)!important;
}
.hero--full::before{
  background:radial-gradient(circle at 45% 45%,rgba(255,85,0,.18),rgba(20,96,255,.12) 34%,transparent 67%)!important;
}
.hero--full::after{
  border-color:rgba(255,85,0,.22)!important;
  box-shadow:inset 0 0 0 34px rgba(255,85,0,.06),0 0 0 1px rgba(255,85,0,.12)!important;
}
.hero__big-marquee span{
  color:rgba(255,255,255,.22)!important;
  -webkit-text-stroke:1px rgba(255,255,255,.28)!important;
}
.hero__panel .eyebrow::before{
  background:var(--orange)!important;
}
.hero__panel h1.hero__title--2line span:first-child{
  color:rgba(255,255,255,.96)!important;
}
.hero__panel .hero__sub{
  color:rgba(255,255,255,.94)!important;
}
.hero__ghost{
  background:rgba(255,255,255,.18)!important;
  border-color:rgba(255,255,255,.48)!important;
}
.hero__ghost:hover{
  background:rgba(255,255,255,.28)!important;
  border-color:#fff!important;
}

/* Buttons & accents */
.btn--primary{
  background:linear-gradient(135deg,#1460FF 0%,#0648D4 52%,#FF5500 135%)!important;
  box-shadow:0 14px 32px rgba(20,96,255,.38),0 6px 18px rgba(255,85,0,.22)!important;
}
.btn--primary:hover{
  filter:saturate(1.12) brightness(1.04)!important;
  box-shadow:0 20px 44px rgba(20,96,255,.46),0 8px 22px rgba(255,85,0,.28)!important;
}
.eyebrow{
  color:var(--blue)!important;
}
.eyebrow::before{
  background:var(--orange)!important;
}
.section--navy .eyebrow{
  color:#5CA0FF!important;
}
.section--navy .eyebrow::before{
  background:var(--orange)!important;
}

/* Section backgrounds — less washed out */
.section--soft{
  background:linear-gradient(180deg,#E4ECF6 0%,#D4E0EE 100%)!important;
}
.about-rich{
  background:linear-gradient(180deg,#DCE8F4 0%,#C8D8EA 100%)!important;
}
.about__morph{
  background:
    radial-gradient(circle at 32% 18%,rgba(255,255,255,.55),transparent 24%),
    linear-gradient(180deg,rgba(255,160,80,.98) 0%,rgba(255,85,0,.92) 46%,rgba(20,96,255,.62) 100%)!important;
  opacity:calc(.62 + (.28 * var(--about-progress)))!important;
}
.section--navy,
.contact,
.site-footer{
  background:#041329!important;
}
.section--navy .lead,
.contact--rich .contact__lead,
.contact--rich .lead{
  color:rgba(255,255,255,.90)!important;
}

/* Challenge cards */
#challenge .ch-card{
  border:1px solid rgba(20,96,255,.18)!important;
  box-shadow:0 20px 56px rgba(4,19,41,.12)!important;
}
#challenge .ch-card__pill{
  background:linear-gradient(135deg,#1460FF,#FF5500)!important;
  box-shadow:0 6px 16px rgba(20,96,255,.32)!important;
}
#challenge .ch-card__title{
  color:var(--navy)!important;
}
#challenge .ch-check{
  background:#C8DCFF!important;
  color:#1460FF!important;
}

/* Strength / business cards */
.str-card{
  border-color:rgba(20,96,255,.20)!important;
  box-shadow:0 16px 44px rgba(4,19,41,.10)!important;
}
.str-card__no{
  color:var(--orange)!important;
}
.str-card::before{
  background:linear-gradient(90deg,var(--blue),var(--orange))!important;
}
.str-card h3{
  color:var(--navy)!important;
}
.str-card p{
  color:var(--muted)!important;
}

/* Orbit diagram — crisp contrast */
.eco__diagram .orbit__ring,
.eco__diagram .orbit__spin{
  border-color:rgba(4,19,41,.42)!important;
}
.eco__diagram .orbit__ring.r2{
  border-color:rgba(4,19,41,.58)!important;
}
.eco__diagram .orbit__line{
  background:linear-gradient(90deg,rgba(4,19,41,.68),rgba(4,19,41,.10))!important;
}
.eco__diagram .orbit__center{
  background:#041329!important;
  box-shadow:0 20px 48px rgba(4,19,41,.34)!important;
}
.eco__diagram .node__icon{
  border-color:rgba(20,96,255,.32)!important;
  box-shadow:0 18px 42px rgba(4,19,41,.18)!important;
}
.eco__diagram .node__lab{
  color:#041329!important;
  border-color:rgba(4,19,41,.28)!important;
}
.eco__quote{
  border-left-color:var(--orange)!important;
}
.eco__quote-kicker{
  color:var(--blue)!important;
}
.eco__quote-main{
  color:#041329!important;
}

/* Athletes / LPD items */
.lpd-item{
  background:rgba(255,255,255,.07)!important;
  border-color:rgba(255,255,255,.22)!important;
}
.lpd-item:hover{
  background:rgba(255,255,255,.12)!important;
  border-color:var(--orange)!important;
}
.lpd-item .no{
  color:#5CA0FF!important;
}
.lpd-item p{
  color:rgba(255,255,255,.84)!important;
}

/* Contact & footer */
.contact--rich .contact__title,
.contact--rich .contact__title span{
  color:#fff!important;
}
.form-card{
  border:1px solid rgba(20,96,255,.14)!important;
}
.seg button.active{
  background:var(--blue)!important;
  border-color:var(--blue)!important;
  color:#fff!important;
}
.site-footer{
  color:rgba(255,255,255,.78)!important;
}
.foot-col a{
  color:rgba(255,255,255,.78)!important;
}
.foot-col h4{
  color:var(--orange)!important;
}

/* Background type text — more visible */
.has-bgtype::before{
  opacity:.72!important;
  -webkit-text-stroke:1px rgba(20,96,255,.22)!important;
}

@media (min-width: 901px){
  .hero__panel{
    width:min(580px,46vw)!important;
  }
  .hero__big-marquee{
    opacity:.62!important;
  }
}

@media (max-width: 900px){
  .hero__bg{
    opacity:1!important;
  }
  .hero__shade{
    background:
      linear-gradient(90deg,rgba(4,19,41,.90) 0%,rgba(4,19,41,.52) 100%),
      linear-gradient(180deg,rgba(4,19,41,.12) 0%,rgba(4,19,41,.82) 100%)!important;
  }
  .hero__big-marquee{
    opacity:.48!important;
  }
}

@media (max-width: 767px){
  .hero__big-marquee{
    opacity:.42!important;
  }
}

/* =========================================================
   Requested FV-only update 20260621
   - Replace FV image via HTML
   - Use photo across the full viewport without a center split
   - Slightly reduce FV catch copy
   - Make background decorative type larger across sections
   ========================================================= */

.hero.hero--full{
  background:#041329!important;
}
.hero__bg{
  inset:0!important;
  opacity:1!important;
}
.hero__bg img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  transform:scale(1.01)!important;
  filter:saturate(1.04) contrast(1.05) brightness(.92)!important;
}
.hero__shade{
  background:
    linear-gradient(180deg,rgba(4,19,41,.34) 0%,rgba(4,19,41,.10) 46%,rgba(4,19,41,.62) 100%),
    radial-gradient(760px 560px at 25% 50%,rgba(4,19,41,.62),rgba(4,19,41,.18) 56%,transparent 80%),
    linear-gradient(90deg,rgba(4,19,41,.32) 0%,rgba(4,19,41,.16) 48%,rgba(4,19,41,.18) 100%)!important;
}
.hero--full::before{
  background:radial-gradient(circle at 26% 48%,rgba(4,19,41,.34),transparent 58%)!important;
}
.hero--full::after{
  opacity:.34!important;
}
.hero__inner{
  justify-content:flex-start!important;
  text-align:left!important;
}
.hero__panel{
  width:min(540px,43vw)!important;
  margin-left:0!important;
  padding:26px 28px 28px!important;
  border-radius:18px!important;
  background:linear-gradient(90deg,rgba(4,19,41,.44),rgba(4,19,41,.12))!important;
  border:1px solid rgba(255,255,255,.08)!important;
  box-shadow:none!important;
  backdrop-filter:blur(2px)!important;
}
.hero__panel h1,
.hero__panel h1.hero__title--2line{
  width:min(560px,45vw)!important;
  font-size:clamp(34px,3.75vw,58px)!important;
  line-height:1.18!important;
  letter-spacing:.01em!important;
}
.hero__panel h1.hero__title--2line span:first-child,
.hero__panel h1.hero__title--2line span:last-child{
  font-size:inherit!important;
  line-height:inherit!important;
}
.hero__panel .hero__sub{
  width:min(500px,41vw)!important;
  font-size:clamp(14px,1vw,16px)!important;
  line-height:1.9!important;
}
.hero__big-marquee span,
.hero__bgtype{
  font-size:clamp(126px,18vw,310px)!important;
  opacity:.72!important;
}

.has-bgtype::before{
  top:clamp(12px,3.8vw,48px)!important;
  right:-.22em!important;
  font-size:clamp(138px,22vw,330px)!important;
  line-height:.78!important;
  letter-spacing:.055em!important;
  opacity:.82!important;
  color:rgba(4,19,41,.075)!important;
  -webkit-text-stroke:1px rgba(20,96,255,.20)!important;
}
.section--navy.has-bgtype::before{
  color:rgba(255,255,255,.085)!important;
  -webkit-text-stroke:1px rgba(255,255,255,.14)!important;
}

@media (max-width: 900px){
  .hero__bg img{
    object-position:58% center!important;
    transform:scale(1.04)!important;
  }
  .hero__shade{
    background:
      linear-gradient(180deg,rgba(4,19,41,.38) 0%,rgba(4,19,41,.14) 48%,rgba(4,19,41,.70) 100%),
      radial-gradient(620px 520px at 30% 52%,rgba(4,19,41,.64),rgba(4,19,41,.20) 58%,transparent 82%)!important;
  }
  .hero__panel{
    width:calc(100vw - 36px)!important;
    padding:24px 22px 26px!important;
  }
  .hero__panel h1,
  .hero__panel h1.hero__title--2line,
  .hero__panel .hero__sub{
    width:100%!important;
  }
  .has-bgtype::before{
    right:-.44em!important;
    font-size:clamp(88px,28vw,180px)!important;
  }
}


/* =========================================================
   Requested layout polish 20260627
   ========================================================= */
@media (min-width: 901px){
  .hero__inner{
    justify-content:flex-start!important;
  }
  .hero__panel{
    width:min(760px,58vw)!important;
    max-width:760px!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  .hero__panel::before,
  .hero__panel::after{
    display:none!important;
    content:none!important;
  }
  .hero__panel h1.hero__title--2line{
    width:min(740px,58vw)!important;
    max-width:740px!important;
    font-size:clamp(42px,4.15vw,64px)!important;
    line-height:1.22!important;
    letter-spacing:.01em!important;
    color:#fff!important;
    text-shadow:0 8px 28px rgba(4,19,41,.48)!important;
  }
  .hero__panel h1.hero__title--2line span{
    display:block!important;
    font-size:inherit!important;
    line-height:inherit!important;
    white-space:nowrap!important;
  }
  .hero__panel .eyebrow,
  .hero__panel .hero__sub{
    color:#fff!important;
    text-shadow:0 5px 20px rgba(4,19,41,.42)!important;
  }
  .hero__panel .hero__sub{
    width:min(620px,52vw)!important;
    max-width:620px!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  .hero__panel .hero__cta{
    justify-content:flex-start!important;
  }
}

.challenge__title span{
  display:inline;
}

.about-rich{
  background:
    linear-gradient(180deg,#EAF4FB 0%,#D7EAF6 46%,#C8DFEE 100%)!important;
}
.about__morph{
  background:
    radial-gradient(620px 420px at 27% 18%,rgba(255,255,255,.62),transparent 62%),
    radial-gradient(760px 520px at 74% 10%,rgba(95,181,255,.54),transparent 68%),
    linear-gradient(145deg,rgba(226,242,252,.96) 0%,rgba(126,199,239,.74) 48%,rgba(247,178,156,.42) 100%)!important;
  opacity:calc(.38 + (.18 * var(--about-progress)))!important;
  filter:saturate(.96)!important;
}
.about-rich .eco__diagram::before{
  background:radial-gradient(circle,rgba(255,255,255,.66),rgba(104,188,238,.24) 46%,transparent 72%)!important;
}

@media (max-width: 900px){
  .hero__panel{
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  .hero__panel::before,
  .hero__panel::after{
    display:none!important;
    content:none!important;
  }
  .hero__panel h1.hero__title--2line span{
    display:block!important;
  }
}

@media (max-width: 767px){
  .challenge__title span{
    display:block!important;
  }
  .challenge__title{
    line-height:1.35!important;
  }
}

/* =========================================================
   Requested about semicircle polish 20260627
   ========================================================= */
.about-rich{
  overflow:hidden!important;
  background:linear-gradient(180deg,#F2F8FC 0%,#E7F1F8 56%,#DFEAF3 100%)!important;
}
.about__morph{
  left:50%!important;
  top:auto!important;
  bottom:-64%!important;
  width:150vw!important;
  height:150vw!important;
  min-width:1900px!important;
  min-height:1900px!important;
  border-radius:50% 50% 0 0!important;
  transform:translateX(-50%) scale(calc(.82 + (.12 * var(--about-progress))))!important;
  transform-origin:50% 100%!important;
  background:
    radial-gradient(circle at 50% 18%,rgba(255,247,238,.66),rgba(255,236,218,.34) 26%,transparent 46%),
    radial-gradient(circle at 30% 48%,rgba(255,188,135,.34),transparent 36%),
    linear-gradient(180deg,rgba(255,222,194,.82) 0%,rgba(255,185,126,.72) 44%,rgba(237,203,174,.56) 100%)!important;
  opacity:.74!important;
  box-shadow:0 -34px 120px rgba(255,150,76,.16), inset 0 1px 0 rgba(255,255,255,.58)!important;
  filter:saturate(.98)!important;
}
.about__morph::before{
  right:30%!important;
  top:12%!important;
  width:26%!important;
  background:rgba(255,255,255,.22)!important;
  filter:blur(10px)!important;
}
.about__morph::after{
  left:22%!important;
  bottom:36%!important;
  width:18%!important;
  background:rgba(255,158,84,.18)!important;
  filter:blur(12px)!important;
}
.about-rich .eco__diagram::before,
.about-rich .eco__diagram::after{
  background:radial-gradient(circle,rgba(255,230,207,.42),rgba(255,177,112,.16) 44%,transparent 72%)!important;
}
.about-rich .node__icon{
  background:rgba(255,255,255,.76)!important;
  border-color:rgba(255,255,255,.58)!important;
  box-shadow:0 12px 30px rgba(10,30,60,.10)!important;
}
.about-rich .node__lab{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  color:#071A34!important;
  text-shadow:0 1px 0 rgba(255,255,255,.36)!important;
}
.about-rich .node__lab::before,
.about-rich .node__lab::after{
  opacity:.46!important;
  box-shadow:none!important;
}

@media (max-width: 1200px){
  .about__morph{
    width:170vw!important;
    height:170vw!important;
    min-width:1500px!important;
    min-height:1500px!important;
    bottom:-58%!important;
  }
}
@media (max-width: 767px){
  .about__morph{
    width:210vw!important;
    height:210vw!important;
    min-width:920px!important;
    min-height:920px!important;
    bottom:-48%!important;
  }
}


/* =========================================================
   Requested center orange circle expansion 20260627
   ========================================================= */
.about-rich{
  background:linear-gradient(180deg,#F4F8FC 0%,#EAF2F8 100%)!important;
  overflow:hidden!important;
}
.about__morph{
  left:50%!important;
  top:50%!important;
  right:auto!important;
  bottom:auto!important;
  width:calc(280px + (178vmax * var(--about-progress)))!important;
  height:calc(280px + (178vmax * var(--about-progress)))!important;
  min-width:0!important;
  min-height:0!important;
  border-radius:50%!important;
  transform:translate(-50%,-50%)!important;
  transform-origin:50% 50%!important;
  background:
    radial-gradient(circle at 42% 34%,rgba(255,250,242,.76) 0%,rgba(255,237,216,.48) 18%,transparent 36%),
    radial-gradient(circle at 50% 50%,rgba(255,196,144,.70) 0%,rgba(255,171,100,.58) 42%,rgba(244,151,81,.42) 68%,rgba(225,143,88,.26) 100%)!important;
  opacity:calc(.54 + (.18 * var(--about-progress)))!important;
  box-shadow:
    0 28px 120px rgba(232,133,62,.18),
    inset 0 0 0 1px rgba(255,255,255,.46)!important;
  filter:saturate(.98)!important;
  transition:width .08s linear,height .08s linear,opacity .08s linear!important;
}
.about__morph::before{
  width:34%!important;
  right:18%!important;
  top:15%!important;
  background:rgba(255,255,255,.22)!important;
  filter:blur(14px)!important;
}
.about__morph::after{
  width:20%!important;
  left:20%!important;
  bottom:18%!important;
  background:rgba(255,134,59,.16)!important;
  filter:blur(14px)!important;
}
.about-rich .eco__diagram::before,
.about-rich .eco__diagram::after{
  background:radial-gradient(circle,rgba(255,231,209,.42),rgba(255,168,91,.14) 48%,transparent 74%)!important;
}

@media (max-width: 767px){
  .about__morph{
    width:calc(220px + (188vmax * var(--about-progress)))!important;
    height:calc(220px + (188vmax * var(--about-progress)))!important;
  }
}
