@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=Manrope:wght@300;400;500;600&display=swap');
:root{--ink:#070a0a;--ink2:#0b1110;--paper:#e8d2a9;--paper2:#f0dfbd;--copper:#c36b43;--red:#8f2420;--teal:#0fa99a;--muted:#b8b0a0;--line:rgba(211,151,98,.34);--serif:'Cormorant Garamond',Georgia,serif;--sans:'Manrope',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--ink);color:#eee5d6;font-family:var(--sans);font-size:14px;line-height:1.65}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:2px solid var(--teal);outline-offset:4px}.site-header{min-height:84px;padding:12px clamp(20px,5vw,76px);display:flex;align-items:center;justify-content:space-between;gap:28px;border-bottom:1px solid var(--line);background:rgba(5,8,8,.97);position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:10px;min-width:220px}.brand-mark{width:48px;height:54px;object-fit:contain;filter:drop-shadow(0 0 7px #b75c2c55)}.brand-name{font-family:var(--serif);font-size:25px;line-height:.9;letter-spacing:.07em;color:#e8ddc9}.brand-name b{display:block;color:#b52e27;font-size:18px;margin-left:34px;margin-top:5px}.brand-name small{display:block;font-family:var(--sans);font-size:8px;letter-spacing:.13em;margin-top:8px;color:#c8b89d}.main-nav{display:flex;gap:clamp(15px,2.5vw,36px);align-items:center}.main-nav a,.site-footer nav a{font-size:11px;color:#d1c3ab;transition:color .2s}.main-nav a:hover,.site-footer nav a:hover{color:var(--teal)}.telegram-link{border:1px solid #147d73;border-radius:24px;padding:9px 16px;font-size:11px;white-space:nowrap}.telegram-link span{color:var(--teal);padding-left:6px}.menu-toggle{display:none;background:none;border:1px solid var(--line);color:var(--paper);font-size:22px;padding:4px 10px}.hero{min-height:510px;position:relative;isolation:isolate;display:flex;align-items:center;padding:65px clamp(24px,6vw,92px);overflow:hidden;border-bottom:1px solid var(--line);background:#070a0a url('images/file_001.png') center center / cover no-repeat}.hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(5,8,8,.94) 0%,rgba(5,8,8,.82) 30%,rgba(5,8,8,.28) 66%,rgba(5,8,8,.22) 100%);}.hero-text{max-width:530px;position:relative;z-index:2}.hero .eyebrow{font-size:16px;letter-spacing:.12em}.eyebrow{font-size:10px;letter-spacing:.18em;color:var(--copper);font-weight:600;margin:0 0 10px}.hero h1,.parchment h2,.teacher h2,.study h2,.contact-band h2{font-family:var(--serif);font-weight:500;line-height:.98;letter-spacing:-.02em}.hero h1{font-size:clamp(42px,5.2vw,68px);margin:0 0 15px;color:#f1e6d2}.hero-copy{max-width:440px;color:#c9c0b2;font-size:13px}.button{display:inline-flex;align-items:center;gap:15px;padding:12px 22px;font-size:11px;letter-spacing:.02em;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button span,.text-link span{font-size:16px}.button-red{background:linear-gradient(120deg,#922a24,#6f1e1b);border:1px solid #c0523a;border-radius:5px;color:#f5e7d5;margin-top:12px}.button-red:hover{background:#a6362b}.hero-art{position:absolute;z-index:-1;right:12%;top:0;width:48%;height:100%;overflow:hidden;background:radial-gradient(ellipse at 48% 62%,#bd713a25,transparent 53%)} .hero-art{display:none}.sun-disc{position:absolute;width:min(34vw,400px);aspect-ratio:1;right:8%;top:14%;border:1px solid #c88c4d88;border-radius:50%;box-shadow:0 0 0 15px #a9633110,0 0 0 42px #a963310b,0 0 70px #bb68252c}.sun-disc:before,.sun-disc:after{content:"";position:absolute;inset:12%;border:1px solid #c88c4d55;border-radius:50%;transform:rotate(45deg)}.sun-disc:after{transform:rotate(-45deg)}.orb{position:absolute;border:1px solid #d18d4c88;border-radius:50%;transform:rotate(32deg)}.orb-one{width:250px;height:120px;right:12%;top:31%}.orb-two{width:300px;height:160px;right:0;top:35%;transform:rotate(-35deg)}.candle{position:absolute;width:11px;height:125px;right:42%;top:24%;background:linear-gradient(90deg,#8c5635,#e3bd7e,#6e3927);box-shadow:0 0 18px #f3a34d44}.candle i{position:absolute;width:9px;height:24px;background:radial-gradient(ellipse at 50% 75%,#fff5b5 0 15%,#ffad39 40%,#d64215 70%,transparent 72%);left:1px;top:-24px;filter:drop-shadow(0 0 10px #ff8e31)}.book{position:absolute;bottom:9%;width:38%;height:24%;border:1px solid #bc804c;transform:skewY(-8deg) rotate(-4deg);background:repeating-linear-gradient(0deg,#382016 0 4px,#79502e 5px 6px);box-shadow:0 10px 25px #000}.book-one{left:8%}.book-two{left:27%;bottom:4%;transform:skewY(8deg) rotate(7deg);opacity:.8}.hero-quote{position:absolute;right:5%;bottom:23%;font-family:var(--serif);font-style:italic;color:#d9c5a4;font-size:18px;text-align:right;border-bottom:1px solid var(--copper);padding-bottom:12px}.pillars{display:grid;grid-template-columns:repeat(3,1fr);padding:32px clamp(20px,5vw,76px);gap:0;background:#090d0c;border-bottom:1px solid var(--line)}.pillar{display:flex;gap:18px;padding:4px 25px;border-right:1px solid var(--line)}.pillar:first-child{padding-left:0}.pillar:last-child{border:0}.pillar-icon{flex:0 0 48px;height:48px;border:1px solid var(--copper);border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-size:28px;color:var(--copper)}.pillar h2{font:500 21px var(--serif);margin:0 0 6px}.pillar p:not(.eyebrow){font-size:11px;color:#b9b2a5;margin:0 0 9px}.pillar a,.text-link{color:var(--copper);font-size:11px}.pillar a span{padding-left:6px}.parchment{color:#29221a;background-color:var(--paper);background-image:radial-gradient(ellipse at 10% 25%,#b9854b28,transparent 30%),radial-gradient(ellipse at 90% 85%,#b9854b24,transparent 32%),repeating-linear-gradient(3deg,#5c3c1710 0 1px,transparent 1px 5px);padding:55px clamp(24px,6vw,92px);display:grid;grid-template-columns:.9fr 1.4fr;gap:45px;position:relative;overflow:hidden}.parchment:before{content:"✧";position:absolute;left:-20px;bottom:-80px;font-size:260px;color:#8b57321a;pointer-events:none}.parchment .eyebrow{color:#a64a2b}.parchment h2{font-size:clamp(32px,3.4vw,45px);margin:0 0 15px}.parchment-intro p:not(.eyebrow),.program-heading>p:not(.eyebrow):not(.program-status){font-size:12px;max-width:460px}.text-link{display:inline-block;margin-top:8px;color:#9a4028}.benefits{display:grid;grid-template-columns:repeat(4,1fr);align-self:center}.benefits article{padding:0 17px;border-left:1px solid #9b714c55;text-align:center}.benefit-icon{font-size:31px;color:#a8482e}.benefits h3,.course-list h3{font:600 17px var(--serif);margin:7px 0}.benefits p,.course-list p{font-size:10px;margin:0;color:#5d4a37}.teacher{display:grid;grid-template-columns:1fr 1fr .65fr;gap:32px;align-items:center;padding:0 clamp(24px,6vw,92px);background:linear-gradient(110deg,#070a0a,#0c1110);min-height:300px;border-bottom:1px solid var(--line)}.teacher-image{height:300px;margin-left:-8vw;background:radial-gradient(ellipse at 50% 70%,#b65b28 0,transparent 28%),linear-gradient(90deg,#05070700,#05070755),repeating-linear-gradient(90deg,#171512 0 10px,#211b14 11px 14px,#080b0a 15px 34px);position:relative;overflow:hidden}.teacher-image:before{content:"";position:absolute;width:125px;height:180px;left:46%;bottom:-25px;background:linear-gradient(90deg,#090b0a,#2c2119,#080a09);border-radius:48% 48% 0 0;box-shadow:0 0 25px #d2692c38}.teacher-image:after{content:"";position:absolute;width:100%;height:100%;background:linear-gradient(90deg,transparent 65%,#080b0a)}.teacher-copy{padding:40px 0}.teacher h2{font-size:38px;margin:0 0 14px}.teacher-copy p:not(.eyebrow){font-size:12px;color:#c8c0b3}.teacher-quote{font:italic 17px var(--serif);color:#c8b08d;border-left:1px solid var(--copper);padding:15px 0 15px 20px;margin:0}.program{grid-template-columns:.7fr 1.5fr;align-items:center;padding-top:48px;padding-bottom:48px}.program-status{display:inline-block;margin:0 0 12px;padding:4px 9px;border:1px solid #a64a2b7a;color:#8c3c26;font-size:9px;letter-spacing:.14em;text-transform:uppercase}.program-outline{grid-column:1/-1;width:100%;margin-top:22px;padding-top:28px;border-top:1px solid #9b714c66;position:relative;z-index:1}.program-outline__title{font:500 29px var(--serif);margin:0 0 18px;color:#29221a}.program-outline__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.program-course{padding:17px 19px;border:1px solid #9b714c55;border-left:2px solid #a64a2b;background:rgba(255,255,255,.14)}.program-course h4{font:600 20px var(--serif);margin:0 0 10px;color:#7f3824}.program-course ul{margin:0;padding-left:19px}.program-course li{font-size:12px;line-height:1.55;margin:0 0 5px}.program-course li:last-child{margin-bottom:0}.button-outline{border:1px solid #a94e32;color:#933e28;margin-top:8px}.course-list{display:grid;grid-template-columns:repeat(3,1fr)}.course-list article{padding:8px 22px;border-left:1px solid #9b714c55}.course-symbol{color:#a64b30;font-size:26px}.course-list h3{font-size:18px}.study{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:50px clamp(24px,6vw,92px);min-height:250px;background:radial-gradient(ellipse at 65% 80%,#783b27 0,transparent 35%),linear-gradient(90deg,#080b0b,#15100d 65%,#070a09);border-bottom:1px solid var(--line)}.study-content{max-width:570px}.study h2{font-size:42px;margin:0 0 10px}.study-content>p:not(.eyebrow){font-size:12px;color:#c8bfb0}.study-quote{font:italic 18px var(--serif);color:#d9c5a4;border-left:1px solid var(--copper);padding-left:22px}.contact-band{display:block;padding:48px clamp(24px,6vw,92px);background:#0a100f;border-bottom:1px solid var(--line)}.contacts-heading{margin:0 0 24px}.contacts-heading h2{font-size:clamp(32px,4vw,42px);margin:0 0 8px}.contacts-heading p:not(.eyebrow){font-size:12px;color:#bcb2a3;margin:0}.contacts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:980px}.contact-card{padding:20px 22px;border:1px solid var(--line);border-radius:5px;background:rgba(5,8,8,.46)}.contact-card h3{font:500 21px var(--serif);color:#e8d2a9;margin:0 0 7px}.contact-card p,.contact-card address{font-size:12px;line-height:1.7;color:#c8c0b3;margin:0 0 10px}.contact-card address{font-style:normal}.contact-card a{display:inline-flex;align-items:center;gap:5px;color:#e0b27b;font-size:12px;transition:color .2s}.contact-card a:hover{color:var(--teal)}.contact-card .contact-card__primary{font-size:16px;color:#eee5d6}.contacts-action{margin-top:22px}.contacts-action .button{margin-top:0;padding:14px 24px;font-size:12px;min-height:48px}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px clamp(20px,5vw,76px);background:#060808}.footer-brand{min-width:180px}.footer-brand .brand-mark{width:36px;height:40px}.footer-brand .brand-name{font-size:20px}.footer-brand .brand-name b{font-size:14px;margin-left:27px}.footer-brand .brand-name small{font-size:7px}.site-footer nav{display:flex;gap:18px;flex-wrap:wrap}.site-footer nav a{font-size:10px}.site-footer>p{font-size:9px;color:#887f70;white-space:nowrap}
@media(max-width:980px){.site-header{gap:12px}.brand{min-width:auto}.main-nav{gap:13px}.main-nav a{font-size:10px}.telegram-link{padding:8px 10px;font-size:10px}.hero-art{right:0;width:58%;opacity:.82}.hero-quote{right:3%;font-size:15px}.pillars{padding-left:24px;padding-right:24px}.pillar{padding:4px 14px;gap:12px}.parchment{grid-template-columns:1fr;gap:28px}.benefits{padding-top:10px}.teacher{grid-template-columns:.8fr 1.2fr}.teacher-image{margin-left:-30px}.teacher-quote{display:none}.program{grid-template-columns:1fr}.site-footer{flex-wrap:wrap}.site-footer>p{margin-left:auto}}
@media(max-width:680px){.site-header{min-height:70px;padding:8px 17px;flex-wrap:wrap}.brand-mark{width:38px;height:44px}.brand-name{font-size:21px}.brand-name b{font-size:15px;margin-left:29px}.brand-name small{font-size:7px}.menu-toggle{display:block;margin-left:auto}.main-nav{display:none;order:4;width:100%;padding:12px 0 8px;flex-direction:column;align-items:flex-start;gap:13px}.main-nav.open{display:flex}.telegram-link{font-size:0;padding:7px 11px}.telegram-link:before{content:'Telegram';font-size:10px}.telegram-link span{display:none}.hero{min-height:520px;padding:48px 23px;align-items:flex-start;background-position:58% center}.hero-text{max-width:100%;padding-top:20px}.hero .eyebrow{font-size:13px;letter-spacing:.1em}.hero h1{font-size:46px}.hero-copy{max-width:340px}.hero-art{width:100%;right:-15%;top:100px;opacity:.5}.hero-quote{display:none}.pillars{grid-template-columns:1fr;padding:10px 22px}.pillar,.pillar:first-child{padding:20px 0;border-right:0;border-bottom:1px solid var(--line)}.pillar:last-child{border-bottom:0}.parchment{padding:42px 24px}.benefits{grid-template-columns:repeat(2,1fr);gap:24px 0}.benefits article:nth-child(odd){border-left:0}.teacher{display:block;padding:0 24px 28px}.teacher-image{height:190px;margin:0 -24px 24px}.teacher-copy{padding:0}.teacher h2{font-size:34px}.course-list{grid-template-columns:1fr;gap:16px}.course-list article{border-left:0;border-top:1px solid #9b714c55;padding:18px 0 0}.program-outline__grid{grid-template-columns:1fr}.study{display:block;padding:42px 24px}.study h2{font-size:38px}.study-quote{margin-top:25px}.contact-band{display:block;padding:32px 24px}.contacts-grid{grid-template-columns:1fr}.contacts-action{margin-top:18px}.contact-band .button{margin-top:0}.site-footer{padding:24px;display:grid;grid-template-columns:1fr}.site-footer nav{gap:14px}.site-footer>p{margin:0;white-space:normal}.footer-brand{margin-bottom:4px}}
/* Larger reading sizes for desktop and split-screen windows */
@media (min-width: 681px) {
  body { font-size: 16px; line-height: 1.7; }
  .brand-name { font-size: 27px; }
  .brand-name b { font-size: 19px; }
  .brand-name small { font-size: 9px; }
  .main-nav a, .site-footer nav a { font-size: 13px; }
  .telegram-link { font-size: 13px; }
  .eyebrow { font-size: 12px; }
  .hero .eyebrow { font-size: 18px; letter-spacing: .12em; }
  .hero-copy { max-width: 500px; font-size: 15px; }
  .hero .button { font-size: 13px; }
  .hero-quote { font-size: 20px; }
  .pillar h2 { font-size: 23px; }
  .pillar p:not(.eyebrow) { font-size: 13px; }
  .pillar a, .text-link { font-size: 13px; }
  .parchment-intro p:not(.eyebrow), .program-heading > p:not(.eyebrow):not(.program-status) { font-size: 14px; }
  .benefits h3, .course-list h3 { font-size: 19px; }
  .benefits p, .course-list p { font-size: 12px; }
  .teacher-copy p:not(.eyebrow) { font-size: 14px; }
  .teacher-quote { font-size: 21px; }
  .program-status { font-size: 11px; }
  .program-course li { font-size: 14px; }
  .study-content > p:not(.eyebrow), .contacts-heading p:not(.eyebrow) { font-size: 14px; }
  .study-quote { font-size: 21px; }
  .contact-card h3 { font-size: 23px; }
  .contact-card p, .contact-card address, .contact-card a { font-size: 14px; }
  .contact-card .contact-card__primary { font-size: 18px; }
  .contacts-action .button { font-size: 14px; }
  .site-footer > p { font-size: 11px; }
}
@media (min-width: 981px) {
  .hero-copy { font-size: 16px; }
  .hero-quote { max-width: 340px; font-size: 24px; line-height: 1.12; }
  .pillar h2 { font-size: 24px; }
  .pillar p:not(.eyebrow) { font-size: 14px; }
  .benefits p, .course-list p { font-size: 13px; }
  .teacher-quote, .study-quote { font-size: 22px; }
  .program-course li { font-size: 15px; }
  .contact-card p, .contact-card address, .contact-card a { font-size: 15px; }
}

/* Visual refinement: clearer hierarchy and responsive spacing */
::selection { background: rgba(195, 107, 67, .38); color: #fff6e8; }
html { scroll-padding-top: 104px; }
body { background: #070a09; color: #f1e9dc; }
.site-header {
  min-height: 92px;
  padding-inline: max(24px, calc((100vw - 1320px) / 2));
  gap: clamp(16px, 2vw, 30px);
  background: rgba(5, 8, 8, .9);
  border-bottom-color: rgba(211, 151, 98, .25);
  box-shadow: 0 8px 28px rgba(0, 0, 0, .22);
  backdrop-filter: blur(16px);
}
.brand { gap: 13px; }
.brand-mark { width: 54px; height: 58px; }
.brand-name { letter-spacing: .06em; }
.brand-name small { letter-spacing: .16em; }
.main-nav { gap: clamp(14px, 1.8vw, 28px); }
.main-nav a, .site-footer nav a {
  position: relative;
  padding-block: 9px;
  font-size: 13px;
  letter-spacing: .025em;
}
.main-nav a::after {
  position: absolute;
  right: 0;
  bottom: 3px;
  left: 0;
  height: 1px;
  background: var(--copper);
  content: "";
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .2s ease;
}
.main-nav a:hover::after, .main-nav a:focus-visible::after { transform: scaleX(1); }
.telegram-link {
  padding: 11px 17px;
  border-color: rgba(15, 169, 154, .62);
  background: rgba(15, 169, 154, .08);
  font-size: 12px;
  transition: background .2s ease, border-color .2s ease, transform .2s ease;
}
.telegram-link:hover { border-color: var(--teal); background: rgba(15, 169, 154, .16); transform: translateY(-1px); }
.menu-toggle { border-radius: 8px; }
.hero {
  min-height: clamp(620px, 78vh, 820px);
  padding: clamp(70px, 9vh, 112px) max(24px, calc((100vw - 1320px) / 2));
  background-position: 53% center;
}
.hero:before {
  z-index: 0;
  background: linear-gradient(90deg, rgba(5, 8, 8, .96) 0%, rgba(5, 8, 8, .86) 34%, rgba(5, 8, 8, .48) 61%, rgba(5, 8, 8, .2) 100%), linear-gradient(0deg, rgba(5, 8, 8, .42), transparent 42%);
}
.hero-text {
  z-index: 2;
  max-width: 620px;
  margin-left: -32px;
  padding: 28px 32px;
  border-left: 1px solid rgba(195, 107, 67, .58);
  border-radius: 0 12px 12px 0;
  background: linear-gradient(90deg, rgba(5, 8, 8, .58), rgba(5, 8, 8, .08));
}
.hero .eyebrow { margin-bottom: 14px; color: #e29a68; font-size: 15px; letter-spacing: .17em; }
.hero h1 {
  margin-bottom: 22px;
  font-size: clamp(58px, 7.2vw, 94px);
  letter-spacing: -.035em;
  line-height: .92;
  text-wrap: balance;
}
.hero-copy {
  max-width: 540px;
  margin: 0 0 10px;
  color: #e4ddd1;
  font-size: clamp(17px, 1.22vw, 19px);
  line-height: 1.72;
}
.button {
  min-height: 52px;
  padding: 14px 24px;
  border-radius: 7px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .035em;
}
.button-red { border-color: #c45d43; box-shadow: 0 10px 24px rgba(93, 25, 21, .25); }
.button-red:hover { box-shadow: 0 13px 28px rgba(93, 25, 21, .34); }
.button-outline { border-radius: 7px; transition: color .2s ease, background .2s ease, transform .2s ease; }
.button-outline:hover { background: rgba(169, 78, 50, .1); }
.hero-quote {
  z-index: 2;
  right: max(24px, calc((100vw - 1320px) / 2));
  bottom: clamp(30px, 6vh, 64px);
  max-width: 360px;
  margin: 0;
  padding: 20px 24px;
  border: 1px solid rgba(211, 151, 98, .28);
  border-left: 2px solid var(--copper);
  border-radius: 0 12px 12px 0;
  background: rgba(5, 8, 8, .68);
  box-shadow: 0 12px 32px rgba(0, 0, 0, .22);
  color: #ead7b8;
  font-size: clamp(20px, 1.7vw, 24px);
  line-height: 1.38;
  text-align: left;
  backdrop-filter: blur(10px);
}
.pillars {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  padding: clamp(28px, 4vw, 52px) max(24px, calc((100vw - 1320px) / 2));
  background: linear-gradient(180deg, #0b100f, #080c0b);
}
.pillar, .pillar:first-child, .pillar:last-child {
  position: relative;
  min-height: 230px;
  align-items: flex-start;
  gap: 17px;
  padding: 26px 23px;
  border: 1px solid rgba(211, 151, 98, .24);
  border-radius: 14px;
  background: linear-gradient(145deg, rgba(19, 25, 23, .96), rgba(9, 13, 12, .96));
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.pillar:hover {
  transform: translateY(-4px);
  border-color: rgba(195, 107, 67, .62);
  box-shadow: 0 14px 30px rgba(0, 0, 0, .22);
}
.pillar-icon {
  flex: 0 0 54px;
  width: 54px;
  height: 54px;
  border-color: rgba(195, 107, 67, .78);
  background: rgba(195, 107, 67, .08);
  font-size: 29px;
}
.pillar h2 { margin: 0 0 10px; color: #f0dfc5; font: 500 clamp(22px, 1.85vw, 26px)/1.08 var(--serif); }
.pillar .eyebrow { margin-bottom: 7px; font-size: 11px; }
.pillar p:not(.eyebrow) { margin: 0 0 13px; color: #c8c0b3; font-size: 14px; line-height: 1.65; }
.pillar a, .text-link { font-size: 13px; font-weight: 600; }
.parchment {
  gap: clamp(38px, 6vw, 82px);
  padding: clamp(60px, 7vw, 92px) max(24px, calc((100vw - 1260px) / 2));
  background-image: radial-gradient(ellipse at 10% 25%, rgba(185, 133, 75, .2), transparent 31%), radial-gradient(ellipse at 90% 85%, rgba(185, 133, 75, .18), transparent 34%), repeating-linear-gradient(3deg, rgba(92, 60, 23, .055) 0 1px, transparent 1px 5px);
}
.parchment-intro h2 { font-size: clamp(38px, 4vw, 54px); line-height: 1.02; }
.parchment-intro p:not(.eyebrow), .program-heading > p:not(.eyebrow):not(.program-status) { max-width: 560px; font-size: 15px; line-height: 1.75; }
.parchment .eyebrow { letter-spacing: .16em; }
.benefits { gap: 12px; }
.benefits article {
  padding: 18px 13px;
  border: 1px solid rgba(155, 113, 76, .28);
  border-radius: 12px;
  background: rgba(255, 249, 235, .24);
}
.benefit-icon {
  display: inline-grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border: 1px solid rgba(168, 72, 46, .2);
  border-radius: 50%;
  background: rgba(168, 72, 46, .08);
  font-size: 27px;
}
.benefits h3, .course-list h3 { font-size: 19px; line-height: 1.15; }
.benefits p, .course-list p { color: #584735; font-size: 13px; line-height: 1.6; }
.teacher {
  grid-template-columns: .92fr 1.12fr .76fr;
  gap: clamp(28px, 4vw, 60px);
  min-height: 380px;
  padding-inline: max(24px, calc((100vw - 1320px) / 2));
}
.teacher-image {
  height: 100%;
  min-height: 380px;
  border: 1px solid rgba(211, 151, 98, .24);
  border-left: 0;
  border-radius: 0 16px 16px 0;
  box-shadow: inset 0 0 70px rgba(4, 7, 7, .24);
}
.teacher-copy { max-width: 560px; padding: 58px 0; }
.teacher h2 { font-size: clamp(38px, 3.8vw, 52px); }
.teacher-copy p:not(.eyebrow) { color: #d0c8ba; font-size: 15px; line-height: 1.75; }
.teacher-quote {
  align-self: stretch;
  display: flex;
  align-items: center;
  padding: 26px;
  border: 1px solid rgba(211, 151, 98, .22);
  border-left: 2px solid var(--copper);
  border-radius: 0 12px 12px 0;
  background: linear-gradient(145deg, rgba(17, 22, 20, .78), rgba(8, 11, 10, .54));
  font-size: 20px;
  line-height: 1.5;
}
.program { grid-template-columns: minmax(0, .72fr) minmax(0, 1.55fr); gap: 42px; align-items: start; }
.program-heading { max-width: 560px; }
.program-heading h2 { font-size: clamp(38px, 3.8vw, 52px); }
.program-status { border-radius: 4px; letter-spacing: .12em; }
.course-list { gap: 12px; }
.course-list article {
  padding: 22px 18px;
  border: 1px solid rgba(155, 113, 76, .34);
  border-radius: 12px;
  background: rgba(255, 250, 239, .28);
}
.course-symbol { display: inline-block; margin-bottom: 5px; }
.course-list h3 { font-size: 20px; }
.course-list p { font-size: 13px; }
.program-outline { margin-top: 30px; padding-top: 32px; }
.program-outline__title { font-size: 34px; }
.program-outline__grid { gap: 18px; }
.program-course {
  padding: 22px;
  border-radius: 12px;
  background: rgba(255, 255, 255, .22);
  box-shadow: 0 8px 18px rgba(75, 48, 26, .06);
  transition: transform .2s ease, box-shadow .2s ease;
}
.program-course:hover { transform: translateY(-3px); box-shadow: 0 14px 25px rgba(75, 48, 26, .12); }
.program-course h4 { margin-bottom: 12px; font-size: 22px; line-height: 1.12; }
.program-course li { font-size: 14px; line-height: 1.65; }
.study {
  min-height: 300px;
  gap: clamp(30px, 5vw, 68px);
  padding: clamp(52px, 6vw, 78px) max(24px, calc((100vw - 1260px) / 2));
}
.study h2 { font-size: clamp(38px, 4vw, 54px); line-height: 1.02; }
.study-content > p:not(.eyebrow) { max-width: 620px; font-size: 15px; line-height: 1.75; }
.study-quote { max-width: 420px; padding: 22px 0 22px 26px; font-size: 22px; line-height: 1.45; }
.contact-band {
  padding: clamp(48px, 6vw, 74px) max(24px, calc((100vw - 1260px) / 2));
  background: linear-gradient(180deg, #0a100f, #080c0b);
}
.contacts-heading { max-width: 860px; margin-bottom: 30px; }
.contacts-heading h2 { font-size: clamp(36px, 4vw, 48px); line-height: 1.05; }
.contacts-heading p:not(.eyebrow) { font-size: 15px; line-height: 1.7; }
.contacts-grid { max-width: 1080px; gap: 16px; }
.contact-card {
  min-height: 168px;
  padding: 24px 26px;
  border-radius: 12px;
  background: linear-gradient(145deg, rgba(16, 23, 21, .96), rgba(7, 11, 10, .94));
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.contact-card:hover { transform: translateY(-2px); border-color: rgba(195, 107, 67, .56); box-shadow: 0 12px 25px rgba(0, 0, 0, .18); }
.contact-card h3 { margin-bottom: 10px; font-size: 23px; }
.contact-card p, .contact-card address { font-size: 14px; line-height: 1.75; }
.contact-card a { font-size: 13px; font-weight: 600; }
.contact-card .contact-card__primary { font-size: 17px; }
.contacts-action { margin-top: 26px; }
.contacts-action .button { min-height: 54px; padding-inline: 28px; font-size: 14px; }
.site-footer {
  gap: 28px;
  padding: 28px max(24px, calc((100vw - 1320px) / 2));
  border-top: 1px solid rgba(211, 151, 98, .18);
}
.site-footer nav { gap: 18px 24px; }
.site-footer > p { color: #a69b89; font-size: 11px; }
@media (min-width: 1120px) {
  .program-outline__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 1119px) {
  .program-outline__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hero-text { max-width: 560px; }
  .hero-quote { max-width: 320px; }
}
@media (max-width: 980px) {
  .site-header { gap: 14px; }
  .brand { min-width: 190px; }
  .brand-mark { width: 48px; height: 52px; }
  .main-nav { gap: 12px; }
  .main-nav a { font-size: 12px; }
  .telegram-link { padding: 10px 12px; font-size: 11px; }
  .hero { min-height: 680px; padding-inline: 36px; }
  .hero-text { max-width: 560px; margin-left: 0; padding: 25px 26px; }
  .hero h1 { font-size: clamp(58px, 8vw, 76px); }
  .hero-quote { right: 36px; bottom: 28px; max-width: 300px; font-size: 20px; }
  .pillars { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pillar:last-child { grid-column: 1 / -1; }
  .parchment { grid-template-columns: 1fr; gap: 34px; }
  .teacher { grid-template-columns: .8fr 1.2fr; }
  .teacher-quote { display: none; }
  .program { grid-template-columns: 1fr; gap: 28px; }
  .course-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 860px) {
  .site-header { min-height: 76px; flex-wrap: wrap; padding: 10px 20px; }
  .brand { min-width: auto; }
  .menu-toggle { display: block; margin-left: auto; }
  .main-nav { display: none; order: 4; flex-basis: 100%; padding: 10px 0 6px; flex-direction: column; align-items: stretch; gap: 3px; }
  .main-nav.open { display: flex; }
  .main-nav a { padding: 10px 12px; border-radius: 7px; font-size: 14px; }
  .main-nav a::after { display: none; }
  .main-nav a:hover { background: rgba(195, 107, 67, .1); }
  .telegram-link { margin-left: 4px; }
  .hero { min-height: 680px; flex-direction: column; align-items: stretch; justify-content: space-between; gap: 30px; padding: 78px 28px 28px; }
  .hero-text { max-width: 640px; }
  .hero-quote { position: relative; inset: auto; align-self: flex-end; max-width: min(100%, 360px); }
  .pillar:last-child { grid-column: auto; }
  .benefits { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .teacher { grid-template-columns: .75fr 1.25fr; gap: 28px; }
}
@media (max-width: 720px) {
  .pillars { grid-template-columns: 1fr; }
  .course-list { grid-template-columns: 1fr; gap: 10px; }
  .course-list article { padding: 18px 20px; }
  .site-footer { align-items: flex-start; }
}
@media (max-width: 680px) {
  body { font-size: 15px; line-height: 1.7; }
  .site-header { min-height: 70px; padding: 9px 16px; column-gap: 10px; }
  .brand-mark { width: 40px; height: 44px; }
  .brand-name { font-size: 21px; }
  .brand-name b { font-size: 15px; margin-left: 29px; }
  .brand-name small { font-size: 7px; }
  .telegram-link { margin-left: 0; padding: 7px 10px; font-size: 0; }
  .telegram-link::before { content: "Telegram"; font-size: 10px; }
  .hero { min-height: auto; padding: 34px 18px 24px; gap: 24px; background-position: 58% center; }
  .hero:before { background: linear-gradient(180deg, rgba(5, 8, 8, .9), rgba(5, 8, 8, .75) 54%, rgba(5, 8, 8, .64)); }
  .hero-text { margin: 0; padding: 22px 18px; border-radius: 0 10px 10px 0; }
  .hero .eyebrow { margin-bottom: 10px; font-size: 12px; }
  .hero h1 { margin-bottom: 18px; font-size: clamp(48px, 12vw, 62px); }
  .hero-copy { font-size: 15px; line-height: 1.65; }
  .hero .button { margin-top: 10px; }
  .hero-quote { width: min(100%, 360px); padding: 17px 18px; font-size: 18px; }
  .pillars { padding: 20px 18px; gap: 11px; }
  .pillar, .pillar:first-child, .pillar:last-child { min-height: 0; gap: 15px; padding: 20px 17px; }
  .pillar-icon { flex-basis: 48px; width: 48px; height: 48px; font-size: 25px; }
  .pillar h2 { font-size: 22px; }
  .pillar p:not(.eyebrow) { font-size: 14px; }
  .parchment { padding: 42px 20px; gap: 28px; }
  .parchment-intro h2 { font-size: 38px; }
  .parchment-intro p:not(.eyebrow) { font-size: 15px; }
  .benefits { gap: 10px; }
  .benefits article { padding: 15px 10px; }
  .benefits h3 { font-size: 17px; }
  .benefits p { font-size: 12px; }
  .teacher { display: block; padding: 0 20px 30px; }
  .teacher-image { height: 220px; min-height: 0; margin: 0 -20px 24px; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; }
  .teacher-copy { padding: 0; }
  .teacher h2 { font-size: 34px; }
  .teacher-copy p:not(.eyebrow) { font-size: 14px; }
  .program { padding-top: 42px; padding-bottom: 42px; }
  .program-heading h2 { font-size: 38px; }
  .program-outline { margin-top: 20px; padding-top: 22px; }
  .program-outline__title { font-size: 29px; }
  .program-outline__grid { grid-template-columns: 1fr; gap: 12px; }
  .program-course { padding: 18px; }
  .program-course h4 { font-size: 21px; }
  .program-course li { font-size: 14px; }
  .study { display: block; padding: 42px 20px; }
  .study h2 { font-size: 38px; }
  .study-content > p:not(.eyebrow) { font-size: 14px; }
  .study-quote { margin-top: 24px; padding-left: 18px; font-size: 19px; }
  .contact-band { padding: 38px 20px; }
  .contacts-heading { margin-bottom: 23px; }
  .contacts-heading h2 { font-size: 35px; }
  .contacts-heading p:not(.eyebrow) { font-size: 14px; }
  .contacts-grid { grid-template-columns: 1fr; gap: 11px; }
  .contact-card { min-height: 0; padding: 20px; }
  .contact-card h3 { font-size: 21px; }
  .contact-card p, .contact-card address { font-size: 14px; }
  .site-footer { display: grid; grid-template-columns: 1fr; gap: 18px; padding: 24px 20px; }
  .site-footer nav { gap: 8px 16px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* Contact phone reveal: hover, focus, or tap */
.phone-reveal {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  margin: 0 0 12px;
}
.phone-reveal__button {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  padding: 9px 14px;
  border: 1px solid rgba(224, 178, 123, .5);
  border-radius: 8px;
  background: rgba(195, 107, 67, .08);
  color: #e0b27b;
  cursor: pointer;
  font: 600 13px/1.3 var(--sans);
  transition: background .2s ease, border-color .2s ease, color .2s ease;
}
.phone-reveal__button:hover,
.phone-reveal__button:focus-visible {
  border-color: var(--copper);
  background: rgba(195, 107, 67, .16);
  color: #f0c18b;
}
.contact-card .phone-reveal__number {
  max-height: 0;
  margin: 0;
  overflow: hidden;
  color: #eee5d6;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-4px);
  transition: opacity .18s ease, max-height .18s ease, transform .18s ease, visibility 0s linear .18s;
}
.phone-reveal:hover .phone-reveal__number,
.phone-reveal:focus-within .phone-reveal__number,
.phone-reveal.is-revealed .phone-reveal__number {
  max-height: 40px;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
  transition-delay: 0s;
}

/* Contact section: phone spotlight and unified messenger row */
.phone-spotlight {
  display: flex;
  max-width: 1080px;
  min-height: 144px;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin: 0 0 16px;
  padding: 24px 30px;
  border: 1px solid rgba(195, 107, 67, .46);
  border-left: 3px solid var(--copper);
  border-radius: 14px;
  background: linear-gradient(115deg, rgba(73, 39, 24, .48), rgba(17, 22, 20, .98) 58%, rgba(8, 12, 11, .98));
  box-shadow: 0 14px 34px rgba(0, 0, 0, .17);
}
.phone-spotlight__heading { display: flex; align-items: center; gap: 17px; }
.phone-spotlight__icon {
  display: grid;
  width: 54px;
  height: 54px;
  flex: 0 0 54px;
  place-items: center;
  border: 1px solid rgba(211, 151, 98, .45);
  border-radius: 50%;
  background: rgba(195, 107, 67, .1);
  color: #e3b17a;
  font-size: 25px;
}
.phone-spotlight .eyebrow { margin: 0 0 3px; font-size: 11px; }
.phone-spotlight h3 { margin: 0; color: var(--paper2); font: 500 clamp(24px, 2.4vw, 30px)/1.08 var(--serif); }
.phone-spotlight .phone-reveal { align-items: center; margin: 0; }
.phone-spotlight .phone-reveal__button { min-height: 46px; padding: 11px 18px; font-size: 14px; }
.phone-reveal__number {
  display: inline-flex;
  max-height: 0;
  margin: 0;
  overflow: hidden;
  color: #f2e7d7;
  font-size: 19px;
  font-weight: 600;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-4px);
  transition: opacity .18s ease, max-height .18s ease, transform .18s ease, visibility 0s linear .18s;
}
.phone-reveal:hover .phone-reveal__number,
.phone-reveal:focus-within .phone-reveal__number,
.phone-reveal.is-revealed .phone-reveal__number {
  max-height: 44px;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
  transition-delay: 0s;
}
.contacts-grid--details {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-bottom: 28px;
}
.contacts-grid--details .contact-card { min-height: 152px; }
.contacts-messengers { max-width: 1080px; margin-top: 4px; }
.contacts-messengers > h3 { margin: 0 0 14px; color: var(--paper2); font: 500 26px/1.1 var(--serif); }
.messenger-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.messenger-card {
  display: flex;
  min-width: 0;
  min-height: 82px;
  align-items: center;
  gap: 13px;
  padding: 15px 17px;
  border: 1px solid rgba(211, 151, 98, .26);
  border-radius: 11px;
  background: linear-gradient(145deg, rgba(16, 23, 21, .97), rgba(7, 11, 10, .94));
  color: #eee5d6;
  text-decoration: none;
  transition: transform .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease;
}
a.messenger-card:hover, a.messenger-card:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(195, 107, 67, .72);
  background: linear-gradient(145deg, rgba(34, 28, 22, .98), rgba(8, 13, 12, .96));
  box-shadow: 0 10px 22px rgba(0, 0, 0, .18);
}
.messenger-card__icon {
  display: grid;
  width: 46px;
  height: 46px;
  flex: 0 0 46px;
  place-items: center;
  border: 1px solid rgba(195, 107, 67, .42);
  border-radius: 12px;
  background: rgba(195, 107, 67, .08);
  color: #e1b17c;
}
.messenger-card__icon svg {
  width: 23px;
  height: 23px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.65;
}
.messenger-card__text { display: flex; min-width: 0; flex-direction: column; gap: 3px; }
.messenger-card__text strong { color: #f0dfc5; font: 600 14px/1.25 var(--sans); }
.messenger-card__text small { color: #bcb2a3; font: 400 12px/1.4 var(--sans); }
.messenger-card__arrow { margin-left: auto; color: var(--copper); font-size: 20px; line-height: 1; }
.contacts-action { margin-top: 24px; }
@media (max-width: 860px) {
  .phone-spotlight { padding: 22px 24px; }
  .messenger-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
  .phone-spotlight { min-height: 0; align-items: stretch; flex-direction: column; gap: 19px; padding: 20px; }
  .phone-spotlight .phone-reveal { align-items: flex-start; }
  .contacts-grid--details { grid-template-columns: 1fr; margin-bottom: 22px; }
  .contacts-grid--details .contact-card { min-height: 0; }
  .contacts-messengers > h3 { margin-bottom: 11px; font-size: 23px; }
  .messenger-grid { grid-template-columns: 1fr; gap: 9px; }
  .messenger-card { min-height: 72px; padding: 13px 15px; }
  .messenger-card__icon { width: 42px; height: 42px; flex-basis: 42px; }
}
.teacher-image {
  display: block;
  position: relative;
  overflow: hidden;
  background: none;
}
.teacher-image::before,
.teacher-image::after {
  display: none;
  content: none;
}
.teacher-image img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: left center;
}
@media (max-width: 680px) {
  .teacher-image {
    height: clamp(260px, 88vw, 460px);
  }
  .teacher-image img {
    object-position: center 60%;
  }
}

/* Full-width teacher artwork: keep the illustration open on the left and
   deepen the overlay smoothly behind the copy and quote. */
.teacher {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: clamp(470px, 44vw, 620px);
  padding-block: clamp(46px, 6vw, 76px);
  background: #070a0a;
}
.teacher::before {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(0deg, rgba(4, 7, 7, .42), transparent 24%, transparent 78%, rgba(4, 7, 7, .18)),
    linear-gradient(90deg, rgba(4, 7, 7, .08) 0%, rgba(4, 7, 7, .14) 20%, rgba(4, 7, 7, .34) 28%, rgba(4, 7, 7, .72) 35%, rgba(4, 7, 7, .92) 55%, rgba(4, 7, 7, .95) 100%);
}
.teacher-image {
  position: absolute;
  z-index: 0;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
  margin: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.teacher-image img {
  object-position: center 54%;
}
.teacher-copy {
  position: relative;
  z-index: 2;
  grid-column: 2;
  align-self: center;
  text-shadow: 0 2px 18px rgba(0, 0, 0, .46);
}
.teacher-quote {
  position: relative;
  z-index: 2;
  grid-column: 3;
  align-self: center;
  text-shadow: 0 2px 18px rgba(0, 0, 0, .58);
}
@media (max-width: 680px) {
  .teacher {
    min-height: 0;
    padding: 26px 20px 34px;
  }
  .teacher::before {
    background:
      linear-gradient(180deg, rgba(4, 7, 7, .58) 0%, rgba(4, 7, 7, .72) 30%, rgba(4, 7, 7, .91) 72%, rgba(4, 7, 7, .96) 100%),
      linear-gradient(90deg, rgba(4, 7, 7, .18), rgba(4, 7, 7, .5));
  }
  .teacher-copy {
    padding: 0;
  }
}
