/* =========================================================
   STUDENT LIFE — page-specific styles
   Uses the common ATC design system from css/style.css
   ========================================================= */

.main-nav > a.is-active{
  color:#fff;
  background:linear-gradient(180deg,rgba(45,112,255,.23),rgba(37,217,255,.09));
}
.mobile-menu__main.is-active{color:#fff!important;background:rgba(45,112,255,.14)}

.life-page{overflow:hidden}

/* Hero */
.life-hero{
  position:relative;
  min-height:690px;
  overflow:hidden;
  color:#fff;
  background:
    radial-gradient(circle at 76% 25%,rgba(37,217,255,.13),transparent 27%),
    radial-gradient(circle at 18% 82%,rgba(118,93,255,.18),transparent 28%),
    linear-gradient(135deg,#031022,#061a3b 52%,#0b315f);
}
.life-hero__grid{
  position:absolute;inset:0;opacity:.08;pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px);
  background-size:44px 44px;
  mask-image:linear-gradient(90deg,#000,rgba(0,0,0,.8) 48%,transparent);
  animation:lifeGrid 18s linear infinite;
}
@keyframes lifeGrid{to{background-position:44px 44px,44px 44px}}
.life-hero__orb{position:absolute;border-radius:50%;pointer-events:none}
.life-hero__orb--one{width:330px;height:330px;left:-110px;bottom:-90px;background:radial-gradient(circle,rgba(37,217,255,.25),transparent 68%)}
.life-hero__orb--two{width:360px;height:360px;right:-100px;top:-110px;background:radial-gradient(circle,rgba(240,92,186,.18),transparent 68%)}
.life-hero__inner{
  position:relative;z-index:2;
  min-height:690px;
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(470px,1.08fr);
  gap:58px;
  align-items:center;
  padding:72px 0 80px;
}
.life-hero__copy{max-width:650px}
.life-hero h1{
  margin:0;
  font-size:clamp(50px,5.6vw,80px);
  line-height:.96;
  letter-spacing:-.055em;
  font-weight:920;
}
.life-hero h1 span{
  background:linear-gradient(90deg,#6ee8ff,#46e3d0,#8a76ff,#ff70c4,#6ee8ff);
  background-size:260% 100%;
  -webkit-background-clip:text;background-clip:text;color:transparent;
  animation:lifeText 7s ease-in-out infinite;
}
@keyframes lifeText{50%{background-position:100% 0}}
.life-hero__copy>p{
  max-width:620px;
  margin:25px 0 0;
  color:#b7cce5;
  font-size:18px;
  line-height:1.7;
}
.life-hero__actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}

.life-hero__visual{position:relative;min-height:500px}
.life-photo{
  position:absolute;
  overflow:hidden;
  border-radius:28px;
  border:1px solid rgba(255,255,255,.14);
  background:#061831;
  box-shadow:0 28px 70px rgba(0,0,0,.3);
}
.life-photo img{width:100%;height:100%;object-fit:cover}
.life-photo--sport{right:0;top:0;width:78%;height:440px;transform:rotate(1.4deg)}
.life-photo--psych{left:0;bottom:0;width:42%;height:285px;border:7px solid #0a2144;transform:rotate(-3deg)}
.life-hero__badge{
  position:absolute;right:2%;bottom:15px;
  display:flex;flex-direction:column;gap:3px;
  padding:16px 19px;border-radius:16px;
  background:rgba(5,24,49,.91);
  border:1px solid rgba(104,221,255,.22);
  box-shadow:0 18px 46px rgba(0,0,0,.3);
  backdrop-filter:blur(14px)
}
.life-hero__badge strong{font-size:14px}
.life-hero__badge span{font-size:12px;color:#9cb4d0}

/* Intro values */
.life-intro{background:#fff}
.life-values{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.life-value{
  position:relative;min-height:220px;padding:28px;
  border:1px solid var(--line);border-radius:23px;
  background:linear-gradient(180deg,#fff,#f8fbff);
  box-shadow:0 15px 40px rgba(18,55,102,.055)
}
.life-value>span{
  width:43px;height:43px;display:grid;place-items:center;border-radius:13px;
  color:#fff;font-size:13px;font-weight:950;
  background:linear-gradient(135deg,var(--blue),var(--cyan))
}
.life-value h3{margin:22px 0 8px;font-size:22px;color:var(--navy-850)}
.life-value p{margin:0;color:var(--muted);font-size:15px;line-height:1.62}

/* Psychological support */
.life-support{
  background:
    radial-gradient(circle at 8% 20%,rgba(49,225,207,.08),transparent 27%),
    linear-gradient(180deg,#f5f8fd,#fff);
}
.life-feature{
  display:grid;
  grid-template-columns:minmax(360px,.82fr) minmax(0,1.18fr);
  gap:54px;
  align-items:start
}
.life-feature__media{position:sticky;top:145px}
.life-feature__media img{
  width:100%;
  border-radius:27px;
  border:1px solid #dae7f5;
  box-shadow:var(--shadow)
}
.life-feature__content h2{
  margin:0;
  font-size:clamp(39px,4.1vw,57px);
  line-height:1;
  letter-spacing:-.045em;
  color:var(--navy-900)
}
.life-feature__lead{margin:20px 0 27px;color:var(--muted);font-size:17px;line-height:1.72}
.life-support__grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.life-mini-card{
  min-height:190px;padding:20px;
  border:1px solid var(--line);border-radius:20px;
  background:#fff;
  box-shadow:0 10px 30px rgba(18,55,102,.045)
}
.life-mini-card>span{
  width:34px;height:34px;display:grid;place-items:center;border-radius:50%;
  color:#087f78;font-weight:950;background:rgba(49,225,207,.17)
}
.life-mini-card h3{margin:14px 0 7px;font-size:16px;line-height:1.25;color:var(--navy-850)}
.life-mini-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.58}
.life-trust{
  display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;
  margin-top:16px;padding:21px;border-radius:22px;color:#fff;
  background:linear-gradient(135deg,#061831,#0a3b74);
  box-shadow:0 17px 42px rgba(5,26,62,.2)
}
.life-trust__icon{
  width:51px;height:51px;display:grid;place-items:center;border-radius:15px;
  background:linear-gradient(135deg,rgba(37,217,255,.2),rgba(240,92,186,.18));
  font-size:23px
}
.life-trust__copy>span{display:block;color:#8fefff;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.life-trust__copy strong{display:block;margin:4px 0;font-size:18px}
.life-trust__copy p{margin:0;color:#bed0e7;font-size:14px}
.life-trust__copy a{color:#fff;font-weight:900}
.life-trust__badge{
  width:54px;height:54px;display:grid;place-items:center;border-radius:50%;
  border:2px solid rgba(255,255,255,.35);font-weight:950
}

/* Sport */
.life-sport{
  position:relative;overflow:hidden;
  padding:96px 0;
  color:#fff;
  background:
    radial-gradient(circle at 85% 18%,rgba(37,217,255,.13),transparent 27%),
    radial-gradient(circle at 10% 90%,rgba(118,93,255,.2),transparent 28%),
    #051a3c;
}
.life-sport__grid{
  position:absolute;inset:0;pointer-events:none;opacity:.05;
  background-image:linear-gradient(rgba(255,255,255,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.13) 1px,transparent 1px);
  background-size:54px 54px
}
.life-sport>.container{position:relative;z-index:2}
.life-sport__heading{max-width:850px;margin-bottom:38px}
.life-sport__heading h2{margin:0;font-size:clamp(44px,5vw,67px);line-height:.98;letter-spacing:-.05em}
.life-sport__heading p{margin:15px 0 0;color:#a9c0dc;font-size:18px;font-weight:800}
.life-sport__layout{display:grid;grid-template-columns:minmax(360px,.76fr) minmax(0,1.24fr);gap:26px;align-items:start}
.life-sport__poster{
  overflow:hidden;border-radius:27px;border:1px solid rgba(255,255,255,.14);
  box-shadow:0 26px 70px rgba(0,0,0,.28)
}
.life-sport__poster img{width:100%}
.life-sports{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.life-sport-card{
  position:relative;min-height:205px;padding:23px;border-radius:21px;
  border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(145deg,rgba(255,255,255,.1),rgba(255,255,255,.045));
  backdrop-filter:blur(12px)
}
.life-sport-card--wide{grid-column:1/-1}
.life-sport-card__number{position:absolute;right:17px;top:15px;color:#6686aa;font-weight:900;font-size:12px}
.life-sport-card__icon{
  width:43px;height:43px;display:grid;place-items:center;border-radius:50%;
  color:#0a3470;background:#fff;font-size:22px;font-weight:950
}
.life-sport-card h3{margin:16px 0 5px;font-size:24px;line-height:1.05}
.life-sport-card p{margin:0 0 11px;color:#a9c0dc;font-size:14px}
.life-sport-card strong{display:block;color:#eaf4ff;font-size:14px;line-height:1.45}

/* CTA */
.life-cta{background:#fff}
.life-cta__box{
  display:grid;grid-template-columns:1.3fr auto;gap:32px;align-items:center;
  padding:45px;border-radius:29px;color:#fff;
  background:
    radial-gradient(circle at 80% 30%,rgba(37,217,255,.14),transparent 24%),
    linear-gradient(135deg,#061831,#092e61);
  box-shadow:var(--shadow-dark)
}
.life-cta__box h2{margin:0;max-width:760px;font-size:clamp(34px,4vw,51px);line-height:1.02;letter-spacing:-.045em}
.life-cta__box p{margin:15px 0 0;max-width:760px;color:#b7cce5;font-size:16px;line-height:1.65}
.life-cta__actions{display:flex;gap:10px;flex-direction:column;min-width:250px}

/* Responsive */
@media(max-width:1080px){
  .life-hero__inner{grid-template-columns:1fr;gap:28px;padding-top:58px}
  .life-hero__copy{max-width:800px}
  .life-hero__visual{min-height:520px;width:min(760px,100%);margin:auto}
  .life-values{grid-template-columns:1fr 1fr}
  .life-feature,.life-sport__layout{grid-template-columns:1fr}
  .life-feature__media{position:relative;top:auto;width:min(650px,100%)}
  .life-sport__poster{width:min(650px,100%)}
}
@media(max-width:760px){
  .life-hero{min-height:auto}
  .life-hero__inner{min-height:auto;padding:52px 0 58px}
  .life-hero h1{font-size:clamp(43px,12vw,62px)}
  .life-hero__copy>p{font-size:16px}
  .life-hero__actions{display:grid}
  .life-hero__actions .button{width:100%}
  .life-hero__visual{min-height:390px}
  .life-photo--sport{width:83%;height:335px}
  .life-photo--psych{width:45%;height:215px}
  .life-hero__badge{display:none}
  .life-values,.life-support__grid,.life-sports{grid-template-columns:1fr}
  .life-value{min-height:auto}
  .life-sport-card--wide{grid-column:auto}
  .life-trust{grid-template-columns:auto 1fr}
  .life-trust__badge{display:none}
  .life-cta__box{grid-template-columns:1fr;padding:32px 23px}
  .life-cta__actions{min-width:0}
}
@media(max-width:520px){
  .life-hero__visual{min-height:325px}
  .life-photo--sport{height:285px;width:90%}
  .life-photo--psych{height:175px;width:48%}
  .life-feature__content h2{font-size:36px}
  .life-sport{padding:72px 0}
}

/* Clothing style */
.life-dress{
  background:
    radial-gradient(circle at 88% 12%,rgba(45,112,255,.08),transparent 25%),
    radial-gradient(circle at 8% 90%,rgba(240,92,186,.055),transparent 22%),
    #fff;
}
.life-dress__grid{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.72fr);
  gap:58px;
  align-items:start;
}
.life-dress__content h2{
  margin:0;
  max-width:760px;
  font-size:clamp(39px,4.2vw,58px);
  line-height:1.02;
  letter-spacing:-.045em;
  color:var(--navy-900);
}
.life-dress__lead{
  max-width:770px;
  margin:20px 0 27px;
  color:var(--muted);
  font-size:17px;
  line-height:1.72;
}
.life-dress__items{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.life-dress-card{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:15px;
  min-height:158px;
  padding:20px;
  border:1px solid var(--line);
  border-radius:20px;
  background:linear-gradient(180deg,#fff,#f8fbff);
  box-shadow:0 10px 30px rgba(18,55,102,.045);
}
.life-dress-card>span{
  width:38px;height:38px;display:grid;place-items:center;border-radius:12px;
  color:#fff;font-size:12px;font-weight:950;
  background:linear-gradient(135deg,var(--navy-800),var(--blue));
}
.life-dress-card h3{margin:1px 0 7px;color:var(--navy-850);font-size:17px;line-height:1.2}
.life-dress-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.58}
.life-dress__note{
  margin-top:16px;
  padding:20px 22px;
  border-radius:20px;
  border-left:4px solid var(--cyan);
  background:linear-gradient(135deg,#061831,#0a315f);
  color:#fff;
}
.life-dress__note strong{display:block;margin-bottom:4px;color:#8fefff;font-size:13px;text-transform:uppercase;letter-spacing:.08em}
.life-dress__note p{margin:0;color:#c4d5e9;font-size:15px;line-height:1.6}
.life-dress__poster{
  position:sticky;
  top:145px;
  margin:0;
  overflow:hidden;
  border-radius:27px;
  border:1px solid #d8e5f3;
  background:#f4f7fb;
  box-shadow:var(--shadow);
}
.life-dress__poster img{width:100%;height:auto}
.life-dress__poster figcaption{padding:14px 17px;color:var(--muted);background:#fff;font-size:13px;font-weight:750}

@media(max-width:1080px){
  .life-dress__grid{grid-template-columns:1fr}
  .life-dress__poster{position:relative;top:auto;width:min(650px,100%)}
}
@media(max-width:760px){
  .life-dress__items{grid-template-columns:1fr}
  .life-dress-card{min-height:auto}
}
