.btn{display:inline-flex;justify-content:center;align-items:center;min-height:46px;padding:0 18px;border-radius:999px;border:1px solid var(--ink);font-size:14px;font-weight:720;transition:.2s ease}
.btn:hover{transform:translateY(-1px)}
.btn--ink{background:var(--ink);color:var(--paper)}
.btn--accent{background:var(--accent);border-color:var(--accent);color:#fff}
.btn--ghost{background:transparent}
.btn--light{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.eyebrow{display:inline-flex;align-items:center;gap:9px;text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:790;margin-bottom:24px}
.eyebrow:before{content:"";width:34px;height:1px;background:currentColor}
.hero{padding:40px 0 78px}
.hero-grid{width:var(--container);margin:auto;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);gap:26px;align-items:stretch}
.hero-main{min-height:690px;padding:74px 58px 44px;border:1px solid var(--line);border-radius:32px;display:flex;flex-direction:column;position:relative;overflow:hidden;background:var(--white)}
.hero-main:after{content:"";position:absolute;right:-120px;bottom:-90px;width:440px;height:440px;border:1px solid var(--line);border-radius:50%;box-shadow:0 0 0 46px var(--white),0 0 0 47px var(--line),0 0 0 94px var(--white),0 0 0 95px var(--line);opacity:.55}
.hero-copy{position:relative;z-index:2;max-width:900px}
.hero h1{font-size:clamp(48px,5.6vw,84px)}
.hero-lead{font-size:clamp(20px,2.15vw,29px);line-height:1.35;max-width:780px;color:#393831;margin-bottom:34px}
.hero-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto;position:relative;z-index:2}
.metric{border:1px solid var(--line);border-radius:999px;padding:10px 14px;font-size:14px;background:rgba(251,250,246,.8)}
.hero-side{display:grid;grid-template-rows:1fr 1fr;gap:18px}
.format-card{padding:30px;border-radius:28px;display:flex;flex-direction:column;min-height:336px;border:1px solid var(--ink);position:relative;overflow:hidden}
.format-card--dark{background:var(--ink);color:var(--paper)}
.format-card--accent{background:var(--accent);color:#fff;border-color:var(--accent)}
.format-card .num{font-size:13px;letter-spacing:.14em;text-transform:uppercase;opacity:.7;margin-bottom:46px}
.format-card h2{font-size:clamp(32px,3vw,50px);margin-bottom:16px}
.format-card p{font-size:16px;max-width:430px;opacity:.86}
.format-card .card-link{margin-top:auto;display:flex;justify-content:space-between;align-items:center;padding-top:22px;border-top:1px solid currentColor;font-weight:740}
.card-link span:last-child{font-size:24px}
.fact-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);border-radius:22px;overflow:hidden;background:var(--white)}
.fact{padding:30px;border-right:1px solid var(--line)}.fact:last-child{border-right:0}
.fact strong{display:block;font-size:clamp(31px,3vw,46px);line-height:1;letter-spacing:-.04em;margin-bottom:8px}.fact span{font-size:14px;color:var(--muted)}
.mode-card{padding:40px;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);min-height:490px;display:flex;flex-direction:column}
.mode-card .mode-tag{font-size:12px;text-transform:uppercase;letter-spacing:.12em;margin-bottom:55px}.mode-card p{color:var(--muted)}
.mode-card ul{list-style:none;padding:0;margin:26px 0 34px;border-top:1px solid var(--line)}
.mode-card li{padding:14px 0;border-bottom:1px solid var(--line);display:flex;gap:12px}.mode-card li:before{content:"↳"}
.mode-card .btn{align-self:flex-start;margin-top:auto}
.process{counter-reset:step;display:grid;border-top:1px solid #49483f}
.process-step{counter-increment:step;display:grid;grid-template-columns:130px minmax(0,.8fr) minmax(260px,1.1fr);gap:26px;padding:29px 0;border-bottom:1px solid #49483f;align-items:start}
.process-step:before{content:"0" counter(step);font-variant-numeric:tabular-nums;color:#817d73;font-size:14px}.process-step h3{margin:0;font-size:26px}.process-step p{margin:0;color:#bbb4a7}
.teacher-grid{display:grid;grid-template-columns:minmax(320px,.68fr) minmax(0,1.2fr);gap:62px;align-items:center}.teacher-photo{border-radius:28px;overflow:hidden;background:#ddd;max-width:520px}.teacher-photo img{width:100%;aspect-ratio:450/568;object-fit:cover}.teacher-copy .lead{font-size:clamp(25px,3vw,42px);line-height:1.18;letter-spacing:-.03em}.teacher-copy p{max-width:740px;color:var(--muted)}
.uni-card{border:1px solid var(--line);border-radius:var(--radius);padding:34px;background:var(--white);min-height:310px;display:flex;flex-direction:column}.uni-card .uni-code{font-size:13px;color:var(--muted);letter-spacing:.12em;margin-bottom:55px}.uni-card p{color:var(--muted)}.uni-card a{margin-top:auto;font-weight:760;border-top:1px solid var(--line);padding-top:18px;display:flex;justify-content:space-between}
.price-box{display:grid;grid-template-columns:1fr 1fr;border-radius:30px;overflow:hidden;background:var(--accent);color:#fff}.price-main{padding:58px}.price-main .price{font-size:clamp(74px,9vw,142px);line-height:.85;font-weight:760;letter-spacing:-.07em;white-space:nowrap}.price-main .unit{font-size:20px;margin:18px 0 34px}.price-side{padding:58px;border-left:1px solid rgba(255,255,255,.4);display:flex;flex-direction:column}.price-side p{font-size:20px}.price-side .btn{align-self:flex-start;margin-top:auto}
.timeline{display:grid;gap:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--white)}
.timeline-row{display:grid;grid-template-columns:130px minmax(0,1fr);gap:25px;padding:26px 30px;border-bottom:1px solid var(--line)}.timeline-row:last-child{border-bottom:0}.timeline-row strong{font-variant-numeric:tabular-nums}.timeline-row p{margin:0;color:var(--muted)}
.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.work-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.work-card img{width:100%;aspect-ratio:4/3;object-fit:cover;background:#fff}.work-card div{padding:24px}.work-card p{margin:0;color:var(--muted)}
.faq{border-top:1px solid var(--line)}.faq details{border-bottom:1px solid var(--line);padding:0}.faq summary{cursor:pointer;list-style:none;font-size:clamp(21px,2vw,29px);font-weight:670;padding:26px 48px 26px 0;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";position:absolute;right:5px;top:22px;font-size:32px;font-weight:300}.faq details[open] summary:after{content:"−"}.faq details p{max-width:850px;color:var(--muted);padding:0 0 28px;margin:0}
.cta{padding:72px;border-radius:30px;background:var(--ink);color:var(--paper);display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:44px;align-items:end}.cta h2{margin-bottom:18px}.cta p{color:#c2bdb2;max-width:720px}.cta-actions{display:grid;gap:10px}.cta .btn{width:100%;min-height:54px}
.site-footer{padding:52px 0}.footer-grid{width:var(--container);margin:auto;display:grid;grid-template-columns:1fr auto;gap:30px;padding-top:28px;border-top:1px solid var(--line)}.footer-links{display:flex;flex-wrap:wrap;gap:18px;font-size:14px}.footer-note{font-size:13px;color:var(--muted);max-width:680px;margin-top:16px}
.page-hero{padding:82px 0 76px}.page-hero .inner{width:var(--container);margin:auto;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.65fr);gap:36px;align-items:end}.page-hero h1{font-size:clamp(52px,7vw,96px)}.page-hero p{font-size:21px;color:var(--muted);max-width:760px}.page-badge{padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:var(--white)}.page-badge strong{display:block;font-size:35px;margin-bottom:8px}.page-badge span{color:var(--muted)}
.notice{padding:24px 28px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--white)}
@media(max-width:1080px){.hero-grid{grid-template-columns:1fr}.hero-main{min-height:560px}.hero-side{grid-template-columns:1fr 1fr;grid-template-rows:auto}.format-card{min-height:310px}.fact-strip{grid-template-columns:repeat(2,1fr)}.fact:nth-child(2){border-right:0}.fact:nth-child(-n+2){border-bottom:1px solid var(--line)}.teacher-grid{gap:36px}.price-box{grid-template-columns:1fr}.price-side{border-left:0;border-top:1px solid rgba(255,255,255,.4)}.cta{grid-template-columns:1fr}.page-hero .inner{grid-template-columns:1fr}}
@media(max-width:720px){.hero{padding:18px 0 52px}.hero-main{padding:42px 24px 28px;min-height:560px;border-radius:24px}.hero-main:after{right:-260px}.hero-side{grid-template-columns:1fr}.format-card{padding:26px;min-height:300px;border-radius:24px}.format-card .num{margin-bottom:36px}.fact-strip{grid-template-columns:1fr}.fact{border-right:0;border-bottom:1px solid var(--line)}.fact:last-child{border-bottom:0}.fact:nth-child(2){border-right:0}.mode-card{padding:28px;min-height:0}.process-step{grid-template-columns:62px 1fr;gap:10px}.process-step p{grid-column:2}.teacher-grid{grid-template-columns:1fr}.teacher-photo{max-width:none}.uni-card{min-height:260px}.price-main,.price-side{padding:34px 26px}.price-main .price{font-size:clamp(64px,21vw,92px)}.timeline-row{grid-template-columns:80px 1fr;padding:22px}.work-grid{grid-template-columns:1fr}.cta{padding:38px 26px}.footer-grid{grid-template-columns:1fr}.page-hero{padding:52px 0}.page-badge{padding:24px}}
