@charset "utf-8";
/* ============================================================
   수학의 뜰 ((주)뜰교육) — 데모 시안 / style.css
   ============================================================ */

:root{
  --bg:#171719;
  --bg-2:#0f0f11;
  --blue:#0076ff;
  --blue-l:#00aaff;
  --blue-s:#61b8ff;
  --blue-d:#003cff;
  --navy:#132764;
  --white:#fff;
  --gray:#a7a9b4;
  --gray-2:#7285af;
  --line:rgba(255,255,255,.14);
  --container:1440px;
}

*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{
  margin:0;background:var(--bg);color:#fff;
  font-family:"SUIT Variable","SUIT","Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Malgun Gothic",sans-serif;
  font-size:16px;line-height:1.6;letter-spacing:-.02em;overflow-x:hidden;
}
img{max-width:100%;display:block;border:0;}
ul,ol{list-style:none;margin:0;padding:0;}
h1,h2,h3,p{margin:0;}
h2,h3,.t-hero,.sc-title,.fi-title,.care-line{word-break:keep-all;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;border:0;background:none;padding:0;cursor:pointer;color:inherit;}
svg{display:block;}
svg[viewBox] path,svg[viewBox] circle,svg[viewBox] rect,svg[viewBox] line{
  fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;
}
.fill-cur{fill:currentColor;stroke:none;}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;}
.skip{position:absolute;left:-9999px;top:0;z-index:999;background:var(--blue);color:#fff;padding:10px 18px;}
.skip:focus{left:0;}

/* ---------- typography ---------- */
.t-hero{font-size:52px;font-weight:800;line-height:1.28;letter-spacing:-.045em;}
.t-hero b{color:var(--blue-s);font-weight:800;}
.t-sub{margin-top:22px;font-size:19px;color:rgba(255,255,255,.72);font-weight:500;}
.t-eyebrow{font-size:16px;font-weight:600;color:rgba(255,255,255,.66);margin-bottom:14px;}
.t-lead{margin-top:18px;font-size:17px;color:rgba(255,255,255,.62);}

.reveal{opacity:0;transform:translateY(38px);transition:opacity .9s cubic-bezier(.2,.7,.3,1), transform .9s cubic-bezier(.2,.7,.3,1);}
.reveal.is-in{opacity:1;transform:none;}

/* ============================================================
   HEADER
   ============================================================ */
.header{
  position:fixed;left:0;right:0;top:0;z-index:200;transition:background .3s, backdrop-filter .3s, border-color .3s;
  border-bottom:1px solid transparent;
}
.header.is-stuck{background:rgba(23,23,25,.86);backdrop-filter:blur(14px);border-bottom-color:var(--line);}
.hd-inner{max-width:var(--container);margin:0 auto;padding:0 28px;height:84px;display:flex;align-items:center;gap:24px;}
.logo{font-size:23px;font-weight:900;letter-spacing:-.06em;flex:0 0 auto;}
.gnb{flex:1 1 auto;display:flex;justify-content:center;}
.gnb ul{display:flex;gap:34px;}
.gnb a{font-size:15px;font-weight:600;color:rgba(255,255,255,.82);transition:color .2s;white-space:nowrap;}
.gnb a:hover{color:#fff;}
.hd-right{flex:0 0 auto;display:flex;align-items:center;gap:14px;}
.btn-login{
  display:block;padding:10px 22px;border-radius:9px;background:var(--blue-l);
  font-size:14px;font-weight:700;color:#fff;transition:background .2s;
}
.btn-login:hover{background:var(--blue);}
.hd-burger{display:none;width:26px;height:18px;flex-direction:column;justify-content:space-between;}
.hd-burger span{display:block;height:2px;background:#fff;border-radius:2px;}

.mnav{
  position:fixed;top:0;right:0;width:300px;max-width:84vw;height:100%;background:#1d1d20;z-index:400;
  transform:translateX(100%);transition:transform .3s;padding:80px 28px;
}
.mnav.is-open{transform:none;}
.mnav-close{position:absolute;top:26px;right:24px;}
.mnav-close svg{width:24px;height:24px;stroke-width:2;}
.mnav ul li{border-bottom:1px solid rgba(255,255,255,.1);}
.mnav ul a{display:block;padding:16px 0;font-size:16px;font-weight:600;}
.mnav-login{color:var(--blue-l);}
.dim{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:350;opacity:0;visibility:hidden;transition:.3s;}
.dim.is-on{opacity:1;visibility:visible;}

/* ============================================================
   1. HERO
   ============================================================ */
.hero{position:relative;height:100vh;min-height:560px;overflow:hidden;}
.hero-media{position:absolute;inset:0;}
.hero-img{width:100%;height:100%;object-fit:cover;}
.hero-veil{
  position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(10,10,12,.62) 0%, rgba(10,10,12,.18) 35%, rgba(10,10,12,.35) 70%, var(--bg) 100%);
}
.hero-sound{
  position:absolute;right:34px;top:112px;z-index:5;width:52px;height:52px;border-radius:50%;
  background:rgba(255,255,255,.16);backdrop-filter:blur(8px);
  display:flex;align-items:center;justify-content:center;color:#fff;transition:background .2s;
}
.hero-sound:hover{background:rgba(255,255,255,.28);}
.hero-sound svg{width:24px;height:24px;}
.hero-sound .ic-off{display:none;}
.hero-sound[aria-pressed="true"] .ic-on{display:none;}
.hero-sound[aria-pressed="true"] .ic-off{display:block;}
.hero-scroll{position:absolute;left:50%;bottom:40px;transform:translateX(-50%);width:22px;height:36px;border:1.6px solid rgba(255,255,255,.55);border-radius:12px;}
.hero-scroll span{position:absolute;left:50%;top:7px;width:3px;height:7px;margin-left:-1.5px;background:#fff;border-radius:2px;animation:sc 1.8s infinite;}
@keyframes sc{0%{opacity:0;transform:translateY(0);}30%{opacity:1;}100%{opacity:0;transform:translateY(13px);}}

/* ============================================================
   2. QUESTIONS
   ============================================================ */
.ask{position:relative;padding:150px 28px 170px;max-width:var(--container);margin:0 auto;}
.ask-rail{position:absolute;left:50%;top:120px;display:flex;align-items:center;width:calc(50% - 28px);}
.ask-dot{width:9px;height:9px;background:var(--blue-d);flex:0 0 auto;}
.ask-line{flex:1 1 auto;height:1px;background:rgba(255,255,255,.34);}
.ask-q{
  font-size:46px;font-weight:700;line-height:1.38;letter-spacing:-.05em;
  color:rgba(255,255,255,.92);padding:60px 0;
}
.ask-q:nth-child(2){text-align:left;}
.ask-q:nth-child(3){text-align:center;}
.ask-q:nth-child(4){text-align:right;}

/* ============================================================
   3. GLOW
   ============================================================ */
.glow-sec{position:relative;padding:200px 28px 260px;overflow:hidden;text-align:center;background:linear-gradient(180deg,var(--bg) 0%,#0a0f22 60%,#071a4d 100%);}
.glow{position:absolute;border-radius:50%;filter:blur(90px);pointer-events:none;}
.glow.g1{
  width:150%;height:900px;left:-25%;bottom:-360px;filter:blur(70px);
  background:radial-gradient(52% 58% at 50% 50%, rgba(140,206,255,1) 0%, rgba(58,132,255,.95) 32%, rgba(0,60,255,.6) 56%, rgba(0,22,96,0) 80%);
}
.glow.g2{
  width:96%;height:520px;left:2%;bottom:-40px;filter:blur(60px);
  background:radial-gradient(50% 55% at 50% 50%, rgba(210,235,255,.95) 0%, rgba(97,184,255,.55) 40%, rgba(0,118,255,0) 76%);
}
.glow-sec::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:200px;z-index:4;pointer-events:none;
  background:linear-gradient(180deg, rgba(23,23,25,0) 0%, rgba(23,23,25,.55) 55%, var(--bg) 100%);
}
.glow-copy{position:relative;z-index:5;}
.glow-books{position:relative;z-index:2;height:190px;margin-bottom:34px;}
.gb{
  position:absolute;left:50%;top:0;width:120px;height:160px;border-radius:5px;
  display:flex;flex-direction:column;justify-content:flex-end;gap:2px;padding:12px 11px;
  box-shadow:0 18px 40px rgba(0,0,0,.45);text-align:left;
}
.gb i{font-size:9px;font-style:normal;font-weight:700;opacity:.8;}
.gb b{font-size:14px;font-weight:800;letter-spacing:-.04em;line-height:1.2;}
.gb.b1{transform:translateX(-215px) rotate(-11deg);background:linear-gradient(160deg,#f3f6ff,#cfe0ff);color:#16337a;}
.gb.b2{transform:translateX(-60px) rotate(3deg) translateY(16px);background:linear-gradient(160deg,#ffffff,#dfe7f6);color:#20305e;}
.gb.b3{transform:translateX(95px) rotate(12deg);background:linear-gradient(160deg,#eaf1ff,#b9d2ff);color:#0f2a6b;}

/* ============================================================
   4. LINEUP COVERFLOW
   ============================================================ */
.lineup{position:relative;padding:40px 0 120px;text-align:center;}
.lineup-head{max-width:var(--container);margin:0 auto 54px;padding:0 28px;}
.flow{position:relative;height:420px;perspective:1600px;overflow:hidden;}
.flow-drag{
  position:absolute;left:50%;top:-8px;transform:translateX(-50%);z-index:9;
  font-size:12px;font-weight:600;letter-spacing:.14em;color:rgba(255,255,255,.5);
}
.flow-track{
  position:absolute;left:50%;top:50%;transform-style:preserve-3d;
  width:0;height:0;
}
.bk{
  position:absolute;left:-110px;top:-152px;width:220px;height:304px;border-radius:6px;
  padding:22px 18px;display:flex;flex-direction:column;gap:4px;text-align:left;
  transition:transform .55s cubic-bezier(.3,.85,.35,1), opacity .55s, filter .55s;
  box-shadow:0 26px 60px rgba(0,0,0,.6);cursor:grab;user-select:none;
}
.bk .bk-brand{font-size:12px;font-weight:700;opacity:.72;}
.bk .bk-name{font-size:27px;font-weight:900;letter-spacing:-.05em;line-height:1.14;}
.bk .bk-grade{margin-top:auto;font-size:13px;font-weight:600;opacity:.66;}
.bk .bk-mark{
  position:absolute;left:18px;bottom:64px;width:88px;height:88px;border-radius:50%;opacity:.85;
}
.bk.k1{background:#f4f7fb;color:#1a4b3f;}
.bk.k1 .bk-mark{background:radial-gradient(circle at 34% 34%, #ffd36e, #f08b2c);}
.bk.k2{background:#f6f8fc;color:#234a86;}
.bk.k2 .bk-mark{background:radial-gradient(circle at 34% 34%, #8fe3c5, #1f9d78);}
.bk.k3{background:#fdf6f8;color:#8a2450;}
.bk.k3 .bk-mark{background:radial-gradient(circle at 34% 34%, #ffb6cf, #d63e7c);}
.bk.k4{background:#f7f8fd;color:#5b2790;}
.bk.k4 .bk-mark{background:radial-gradient(circle at 34% 34%, #cfaaff, #7a3ad6);}
.bk.k5{background:#ffffff;color:#12305f;}
.bk.k5 .bk-mark{background:radial-gradient(circle at 34% 34%, #9fc8ff, #1f5fd0);}
.bk.k6{background:#f2f8ff;color:#0f4f88;}
.bk.k6 .bk-mark{background:radial-gradient(circle at 34% 34%, #a8f0e6, #14a0c8);}
.bk.k7{background:#fff6ee;color:#8a3a12;}
.bk.k7 .bk-mark{background:radial-gradient(circle at 34% 34%, #ffc98a, #e6621a);}
.bk.k8{background:#f5fbf6;color:#1c6135;}
.bk.k8 .bk-mark{background:radial-gradient(circle at 34% 34%, #bff0a8, #3fa04a);}
.bk.k9{background:#f7f5ff;color:#2d2b7a;}
.bk.k9 .bk-mark{background:radial-gradient(circle at 34% 34%, #b9b6ff, #4b45c9);}

.flow-info{margin-top:44px;}
.fi-title{font-size:26px;font-weight:800;letter-spacing:-.04em;}
.fi-desc{margin-top:8px;font-size:15px;color:rgba(255,255,255,.6);}
.flow-nav,.story-nav{display:flex;gap:10px;justify-content:center;margin-top:24px;}
.fn-btn{
  width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:rgba(255,255,255,.05);
  display:flex;align-items:center;justify-content:center;transition:background .2s,border-color .2s;
}
.fn-btn:hover{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.4);}
.fn-btn svg{width:19px;height:19px;stroke-width:2;}

/* ============================================================
   5. STORY CARDS
   ============================================================ */
.story{
  position:relative;padding:130px 0 150px;overflow:hidden;
  background:linear-gradient(180deg, var(--bg) 0%, #0d1c40 46%, #10357f 74%, #0b46a0 100%);
}
.story::after{
  content:"";position:absolute;left:-10%;right:-10%;bottom:-260px;height:560px;pointer-events:none;
  background:radial-gradient(50% 55% at 50% 50%, rgba(97,184,255,.55) 0%, rgba(0,60,255,0) 72%);
  filter:blur(60px);
}
.story-head{
  position:relative;z-index:3;max-width:var(--container);margin:0 auto 56px;padding:0 28px;
  display:flex;align-items:flex-end;justify-content:space-between;gap:30px;
}
.story-nav{margin-top:0;}
.story-stage{position:relative;z-index:3;overflow:hidden;padding:0 28px;max-width:var(--container);margin:0 auto;}
.story-track{display:flex;gap:22px;transition:transform .55s cubic-bezier(.3,.85,.35,1);}
.sc{
  flex:0 0 calc((100% - 66px)/4);background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);
  border-radius:16px;overflow:hidden;backdrop-filter:blur(6px);transition:transform .3s, background .3s;
}
.sc:hover{transform:translateY(-6px);background:rgba(255,255,255,.12);}
.sc-thumb{position:relative;aspect-ratio:4/3;overflow:hidden;background:#0d1b38;}
.sc-thumb img{width:100%;height:100%;object-fit:cover;}
.sc-tag{
  position:absolute;left:14px;top:14px;padding:6px 12px;border-radius:7px;background:var(--blue-d);
  font-size:12px;font-weight:700;
}
.sc-go{
  position:absolute;right:14px;top:14px;width:30px;height:30px;border-radius:7px;background:var(--blue-d);
  display:flex;align-items:center;justify-content:center;
}
.sc-go svg{width:16px;height:16px;stroke-width:2;}
.sc-body{padding:18px 18px 22px;}
.sc-cat{font-size:12.5px;color:var(--blue-s);font-weight:600;margin-bottom:8px;}
.sc-title{font-size:18px;font-weight:800;letter-spacing:-.04em;margin-bottom:8px;}
.sc-quote{font-size:13.5px;line-height:1.6;color:rgba(255,255,255,.66);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}

/* ============================================================
   6. STATS
   ============================================================ */
.stats{
  position:relative;padding:110px 0 140px;
  background:linear-gradient(180deg,#0b46a0 0%,#082a63 26%,var(--bg) 62%,var(--bg) 100%);
}
.stats-inner{max-width:var(--container);margin:0 auto;padding:0 28px;}
.stat-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:70px;}
.st{text-align:center;}
.st-num{display:flex;align-items:baseline;justify-content:center;gap:2px;}
.st-plus{font-size:34px;font-weight:300;color:rgba(255,255,255,.8);margin-right:10px;}
.st-val{font-size:78px;font-weight:800;letter-spacing:-.06em;line-height:1;font-variant-numeric:tabular-nums;}
.st-num em{font-style:normal;font-size:20px;font-weight:600;color:rgba(255,255,255,.85);}
.st-label{margin-top:22px;font-size:16px;font-weight:600;}
.st-note{margin-top:6px;font-size:12px;color:var(--blue-s);}

/* ============================================================
   7. CARE MARQUEE
   ============================================================ */
.care{position:relative;padding:120px 0 130px;overflow:hidden;background:var(--bg);}
.marquee{overflow:hidden;white-space:nowrap;}
.mq-in{display:inline-flex;gap:56px;padding-right:56px;animation:mq 26s linear infinite;}
.mq-in.rev{animation-direction:reverse;}
.mq-in span{
  font-size:56px;font-weight:900;letter-spacing:-.05em;
  color:transparent;-webkit-text-stroke:1.4px rgba(255,255,255,.28);
}
.mq-2 .mq-in span{-webkit-text-stroke-color:rgba(97,184,255,.34);letter-spacing:.02em;}
@keyframes mq{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.care-mid{
  max-width:var(--container);margin:0 auto;padding:90px 28px;
  display:flex;justify-content:space-between;gap:30px;
}
.care-line{font-size:76px;font-weight:900;line-height:1.1;letter-spacing:-.06em;}
.care-line.right{text-align:right;color:var(--blue-s);}

/* ============================================================
   8. TOGETHER
   ============================================================ */
.together{
  position:relative;padding:150px 28px 190px;overflow:hidden;text-align:center;
  background:linear-gradient(180deg,var(--bg) 0%,#0c1330 46%,#12266b 100%);
}
.dial{
  position:absolute;left:50%;top:40px;width:1040px;max-width:190%;transform:translateX(-50%);
  opacity:.5;pointer-events:none;
}
.call-note{position:absolute;left:58%;top:46px;text-align:left;z-index:3;}
.cn-lead{
  position:absolute;left:-130px;top:9px;width:124px;height:62px;
  border-left:2px dotted rgba(255,255,255,.55);border-top:2px dotted rgba(255,255,255,.55);
  border-top-left-radius:16px;
}
.cn-title{font-size:16px;font-weight:800;}
.cn-desc{margin-top:8px;font-size:13.5px;line-height:1.6;color:rgba(255,255,255,.66);}
.tg-center{position:relative;z-index:3;padding-top:130px;}
.tg-chat{display:block;width:76px;margin:50px auto 0;color:var(--blue-l);}
.tg-chat svg{width:100%;height:auto;}
.tg-chat svg rect{fill:#1f4fd6;stroke:none;}
.tg-chat svg rect.c2{fill:#2e80ff;}
.tg-chat svg circle.dot{fill:#fff;stroke:none;}
.tg-sub{margin-top:26px;font-size:24px;font-weight:800;letter-spacing:-.04em;}
.tg-desc{margin-top:12px;font-size:14.5px;color:rgba(255,255,255,.66);}

/* ============================================================
   9. CTA
   ============================================================ */
.cta{
  position:relative;padding:130px 28px 180px;text-align:center;
  background:linear-gradient(180deg,#12266b 0%,#1a39a0 55%,#2c5bd2 100%);
}
.cta .t-hero b,.cta .t-hero{color:#fff;}
.cta-btns{display:flex;gap:16px;justify-content:center;margin-top:48px;flex-wrap:wrap;}
.cta-btn{
  display:inline-flex;align-items:center;gap:10px;padding:16px 34px;border-radius:10px;
  background:rgba(12,24,70,.62);border:1px solid rgba(255,255,255,.22);
  font-size:15px;font-weight:700;transition:background .2s, transform .2s;
}
.cta-btn:hover{background:rgba(12,24,70,.9);transform:translateY(-3px);}
.cta-btn svg{width:17px;height:17px;stroke-width:2;}

/* ============================================================
   FOOTER
   ============================================================ */
.footer{background:#2c5bd2;color:rgba(255,255,255,.9);}
.ft-inner{max-width:var(--container);margin:0 auto;padding:46px 28px 54px;}
.ft-top{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:38px;}
.ft-logo{font-size:26px;font-weight:900;letter-spacing:-.06em;}
.ft-family{position:relative;}
.ff-btn{
  display:flex;align-items:center;gap:28px;padding:11px 20px;border-radius:7px;
  background:rgba(255,255,255,.14);font-size:13px;font-weight:700;letter-spacing:.04em;
}
.ff-btn svg{width:15px;height:15px;stroke-width:2;transition:transform .25s;}
.ff-btn[aria-expanded="true"] svg{transform:rotate(180deg);}
.ff-list{position:absolute;right:0;bottom:100%;margin-bottom:6px;width:100%;min-width:180px;
  background:#1e47b4;border-radius:7px;overflow:hidden;display:none;}
.ff-list.is-open{display:block;}
.ff-list a{display:block;padding:11px 20px;font-size:13.5px;}
.ff-list a:hover{background:#17399a;}
.ft-bottom{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap;}
.ft-info p{font-size:12.5px;line-height:2;color:rgba(255,255,255,.82);}
.ft-copy{margin-top:16px !important;}
.ft-demo{font-size:11px !important;color:rgba(255,255,255,.55) !important;}
.ft-tel{text-align:right;}
.ft-tel p{display:flex;align-items:center;justify-content:flex-end;gap:22px;font-size:13px;margin-bottom:6px;}
.ft-tel span{color:rgba(255,255,255,.8);font-weight:600;}
.ft-tel b{font-size:16px;font-weight:700;letter-spacing:.02em;}
.ft-priv{margin-top:22px;}
.ft-priv a{font-size:12.5px;color:rgba(255,255,255,.85);}
.ft-priv a:hover{text-decoration:underline;}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1280px){
  .t-hero{font-size:44px;}
  .ask-q{font-size:38px;}
  .care-line{font-size:58px;}
  .st-val{font-size:64px;}
  .gnb ul{gap:22px;}
  .gnb a{font-size:14px;}
  .sc{flex:0 0 calc((100% - 44px)/3);}
}

@media (max-width:1024px){
  .hd-inner{height:70px;padding:0 20px;}
  .gnb{display:none;}
  .hd-burger{display:flex;}
  .hero-sound{top:92px;right:20px;width:46px;height:46px;}
  .t-hero{font-size:36px;}
  .t-sub{font-size:17px;}
  .ask{padding:110px 20px 120px;}
  .ask-q{font-size:30px;padding:44px 0;}
  .glow-sec{padding:140px 20px 160px;}
  .gb{width:100px;height:134px;}
  .gb.b1{transform:translateX(-170px) rotate(-11deg);}
  .gb.b2{transform:translateX(-50px) rotate(3deg) translateY(14px);}
  .gb.b3{transform:translateX(74px) rotate(12deg);}
  .flow{height:350px;}
  .bk{width:186px;height:256px;left:-93px;top:-128px;padding:18px 15px;}
  .bk .bk-name{font-size:22px;}
  .sc{flex:0 0 calc((100% - 22px)/2);}
  .story-head{padding:0 20px;}
  .story-stage{padding:0 20px;}
  .stats-inner{padding:0 20px;}
  .stat-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 20px;}
  .st-val{font-size:56px;}
  .mq-in span{font-size:40px;}
  .care-mid{padding:60px 20px;}
  .care-line{font-size:44px;}
  .dial{width:760px;}
  .call-note{left:auto;right:20px;top:26px;}
  .cn-lead{display:none;}
  .tg-center{padding-top:150px;}
  .together{padding:120px 20px 150px;}
  .cta{padding:100px 20px 130px;}
  .ft-inner{padding:38px 20px 46px;}
}

@media (max-width:768px){
  .t-hero{font-size:28px;}
  .t-sub{font-size:15px;margin-top:16px;}
  .t-eyebrow{font-size:14px;}
  .t-lead{font-size:14.5px;}
  .hero{height:82vh;min-height:460px;}
  .ask{padding:80px 20px 90px;}
  .ask-q{font-size:23px;padding:34px 0;}
  .ask-rail{top:76px;width:calc(50% - 20px);}
  .glow-sec{padding:100px 20px 110px;}
  .glow-books{height:150px;margin-bottom:24px;}
  .gb{width:76px;height:104px;padding:9px 8px;}
  .gb i{font-size:7.5px;}
  .gb b{font-size:11px;}
  .gb.b1{transform:translateX(-118px) rotate(-11deg);}
  .gb.b2{transform:translateX(-38px) rotate(3deg) translateY(10px);}
  .gb.b3{transform:translateX(48px) rotate(12deg);}
  .lineup{padding:20px 0 80px;}
  .lineup-head{margin-bottom:34px;}
  .flow{height:280px;}
  .bk{width:150px;height:206px;left:-75px;top:-103px;padding:14px 12px;border-radius:5px;}
  .bk .bk-brand{font-size:10px;}
  .bk .bk-name{font-size:18px;}
  .bk .bk-grade{font-size:11px;}
  .bk .bk-mark{width:62px;height:62px;left:12px;bottom:46px;}
  .fi-title{font-size:20px;}
  .story{padding:80px 0 100px;}
  .story-head{flex-direction:column;align-items:flex-start;margin-bottom:32px;}
  .story-nav{margin-top:6px;}
  .sc{flex:0 0 78vw;}
  .story-track{gap:14px;}
  .stats{padding:70px 0 90px;}
  .stat-list{margin-top:44px;gap:40px 16px;}
  .st-val{font-size:42px;}
  .st-plus{font-size:24px;margin-right:6px;}
  .st-num em{font-size:15px;}
  .st-label{margin-top:14px;font-size:14px;}
  .care{padding:70px 0 80px;}
  .mq-in span{font-size:27px;}
  .mq-in{gap:32px;padding-right:32px;}
  .care-mid{padding:46px 20px;}
  .care-line{font-size:30px;}
  .dial{width:520px;top:30px;}
  .together{padding:80px 20px 100px;}
  .tg-center{padding-top:120px;}
  .call-note{position:static;text-align:center;margin-bottom:10px;}
  .tg-chat{width:58px;margin-top:34px;}
  .tg-sub{font-size:19px;}
  .tg-desc{font-size:13px;}
  .cta{padding:70px 20px 90px;}
  .cta-btns{margin-top:32px;gap:10px;}
  .cta-btn{padding:14px 24px;font-size:14px;}
  .ft-top{margin-bottom:26px;}
  .ft-logo{font-size:21px;}
  .ft-bottom{flex-direction:column;gap:26px;}
  .ft-tel{text-align:left;}
  .ft-tel p{justify-content:flex-start;}
}

@media (max-width:420px){
  .sc{flex:0 0 84vw;}
  .care-line{font-size:25px;}
  .st-val{font-size:36px;}
}

@media (prefers-reduced-motion:reduce){
  *{transition-duration:.01ms !important;animation-duration:.01ms !important;animation-iteration-count:1 !important;}
  .reveal{opacity:1;transform:none;}
}
