:root { color-scheme:light; --paper:#f3f2f3; --ink:#18191a; --muted:#656568; --line:#c6c6c9; --signal:#f6e254; --lavender:#dfdbed; }
* { box-sizing:border-box; letter-spacing:0; }
html { scroll-behavior:smooth; scroll-padding-top:32px; }
body { margin:0; background:var(--paper); color:var(--ink); font:16px/1.65 Onest,Arial,sans-serif; -webkit-font-smoothing:antialiased; }
button,a { -webkit-tap-highlight-color:transparent; }
a { color:inherit; }
button { font:inherit; cursor:pointer; }
button:disabled { cursor:default; }
h1,h2,h3,p,figure { margin:0; }
h1,h2,h3 { font-weight:500; }
h2 { font-size:64px; line-height:1.08; text-wrap:balance; }
h3 { font-size:26px; line-height:1.22; }
em { font-family:inherit; font-style:normal; font-weight:500; }
[hidden] { display:none!important; }
:focus-visible { outline:3px solid #8872ba; outline-offset:6px; }
::selection { color:#18191a; background:var(--signal); }
.header { height:76px; padding:0 48px; display:flex; justify-content:space-between; align-items:center; background:#e5e2e4; position:relative; z-index:5; }
.logo { display:flex; gap:16px; align-items:center; text-decoration:none; font-size:18px; font-weight:600; }
.header ul { display:flex; gap:36px; list-style:none; margin:0; padding:0; }
.header nav a { font-size:13px; text-decoration:none; padding:12px 0; border-bottom:1px solid transparent; }
.header nav a:hover { border-color:currentColor; }
.hy-kicker { font:11px/1.65 Onest,Arial,sans-serif; text-transform:uppercase; }
.hy-hero { position:relative; isolation:isolate; min-height:calc(100svh - 132px); background:#e5e2e4; overflow:hidden; }
.hy-hero__media { position:absolute; inset:0; z-index:-1; }
.hy-hero__media img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 63%; will-change:transform; }
.hy-hero__inner { width:min(1560px,calc(100% - 96px)); margin:auto; padding:32px 0 110px; }
.hy-hero__content { position:relative; }
.hy-hero h1 { font-size:124px; line-height:1.15; font-weight:500; color:#f5e7fb; mix-blend-mode:difference; margin:12px 0 38px; width:100%; }
.hy-hero__lead { font-size:36px; line-height:1.15; max-width:440px; }
.hy-hero__text { font-size:15px; line-height:1.6; max-width:345px; margin-top:22px; }
.hy-hero__facts { display:flex; flex-wrap:wrap; gap:18px; font:10px/1.6 Onest,Arial,sans-serif; margin:24px 0; }
.hy-hero__facts span { border-bottom:1px solid #777479; padding-bottom:4px; }
.hy-actions { display:flex; flex-wrap:wrap; gap:14px; }
.hy-button { display:inline-flex; justify-content:space-between; align-items:center; gap:24px; min-height:54px; padding:16px 24px; font-size:13px; line-height:1.45; text-decoration:none; border:1px solid currentColor; border-radius:0; transition:background .25s,color .25s,transform .25s; }
.hy-button--primary { color:var(--signal); background:var(--ink); border-color:var(--ink); }
.hy-button--primary:hover { color:var(--ink); background:var(--signal); border-color:var(--ink); transform:translateY(-2px); }
.hy-button--primary span { font-size:22px; line-height:1; }
.hy-button--ghost { background:transparent; }
.hy-button--ghost:hover { background:var(--lavender); }
.hy-hero .hy-button--ghost { border-color:transparent; padding-left:8px; padding-right:8px; text-decoration:underline; text-underline-offset:5px; }
.hy-hero__aside { font-size:11px; max-width:300px; margin-top:20px; color:#57555a; }
.hy-section { padding:108px 0; }
.hy-section__inner,.hy-final__inner { width:min(1376px,calc(100% - 96px)); margin:auto; }
.hy-section__head { display:grid; grid-template-columns:1fr 2.1fr; gap:30px 54px; margin-bottom:64px; }
.hy-section__head>.hy-kicker { padding-top:8px; }
.hy-section__lead { grid-column:2; max-width:580px; color:var(--muted); }
.hy-heading-line { display:block; }
.hy-section--states { border-top:1px solid var(--line); padding-top:16px; }
.hy-benefits { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); column-gap:48px; counter-reset:states; }
.hy-benefit { border-top:1px solid var(--line); padding:24px 0 38px; counter-increment:states; }
.hy-benefit::before { content:'0' counter(states); display:block; margin-bottom:28px; font:11px/1.5 Onest,Arial,sans-serif; }
.hy-benefit__icon { display:none; }
.hy-benefit h3 { max-width:350px; transition:transform .4s; }
.hy-benefit p { margin-top:18px; font-size:14px; line-height:1.65; color:var(--muted); max-width:350px; }
.hy-benefit:hover h3 { transform:translateX(5px); }
.hy-section--intro { background:#202120; color:var(--paper); --muted:#b7b9b5; --line:#53564e; }
.observer-intro .hy-split { display:block; }
.observer-intro .hy-split__title { display:grid; grid-template-columns:1fr 2.1fr; gap:54px; margin-bottom:54px; }
.observer-intro h2 { font-size:80px; }
.observer-intro h2 em { color:var(--signal); }
.observer-intro .hy-copy { display:grid; grid-template-columns:1fr 1fr; gap:30px 56px; margin-left:33.5%; }
.observer-intro .hy-copy>p:not(.observer-thesis) { font-size:17px; color:var(--muted); }
.observer-thesis { grid-column:1/-1; font-size:42px; line-height:1.24; padding:64px 0 0; margin-top:24px; border-top:1px solid var(--line); }
.observer-thesis .kinetic-word { transition:opacity .2s; }
.hy-tool-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:56px 48px; counter-reset:tools; }
.hy-tool { position:relative; counter-increment:tools; border-top:1px solid var(--line); padding:28px 0 0; }
.hy-tool::before { content:'0' counter(tools); font:11px/1.5 Onest,Arial,sans-serif; }
.hy-tool__sign { float:right; display:block; width:48px; height:48px; }
.hy-tool__sign img { display:block; width:100%; height:100%; object-fit:contain; }
.hy-tool h3 { font-size:31px; margin:40px 0 18px; }
.hy-tool p { font-size:14px; max-width:345px; color:var(--muted); }
.hy-section--effect { background:var(--lavender); padding:100px 0; }
.hy-split { display:grid; grid-template-columns:1fr 2.1fr; gap:54px; }
.hy-split__title h2 { font-size:40px; margin-top:26px; }
.hy-copy { font-size:27px; line-height:1.5; }
.hy-copy p+p { margin-top:28px; }
.observer-intro .hy-copy p+p { margin-top:0; }
.hy-boundary { padding-top:24px; border-top:1px solid #aaa4b5; font-size:12px; max-width:670px; }
.hy-section--program .hy-section__inner { display:grid; grid-template-columns:1fr 2.1fr; gap:0 54px; align-items:start; }
.hy-section--program .hy-section__head { display:block; position:sticky; top:44px; margin:0; padding-right:20px; }
.hy-section--program h2 { font-size:46px; margin-top:24px; }
.hy-program-card { display:grid; grid-template-columns:64px 1fr; gap:12px; align-items:start; border-top:1px solid var(--line); padding:38px 0; min-height:158px; }
.hy-program-card__step { font:13px/1.6 Onest,Arial,sans-serif; padding-top:8px; color:#787976; }
.hy-program-card__icon { display:none; }
.hy-program-card h3 { font-size:38px; transition:transform .45s,color .45s; }
.hy-program-card p { font-size:15px; color:var(--muted); margin-top:16px; max-width:500px; }
.hy-program-card.is-current h3 { transform:translateX(14px); color:#65547e; }
.hy-program-note { grid-column:2; font-size:12px; max-width:650px; border-top:1px solid var(--line); padding-top:24px; }
.hy-section--formats { background:#202120; color:var(--paper); --muted:#b7b9b5; --line:#53564e; }
.hy-section--formats .hy-section__head { grid-template-columns:1fr 2.1fr; }
.hy-format-options { display:flex; gap:60px; padding-bottom:34px; }
.hy-format-options strong { display:block; font-size:16px; font-weight:500; }
.hy-format-options span { display:block; font-size:12px; color:var(--muted); margin-top:6px; }
.hy-format-grid { display:grid; grid-template-columns:1fr 1fr; gap:64px; }
.hy-format { padding:32px 0 0; border-top:1px solid var(--line); }
.hy-format>span { font:11px/1.5 Onest,Arial,sans-serif; text-transform:uppercase; color:var(--signal); }
.hy-format h3.hy-format__price { font-size:92px; line-height:1.2; font-weight:400; margin:30px 0; }
.hy-format p { font-size:15px; max-width:460px; color:var(--muted); }
.hy-format-cta { display:flex; gap:48px; justify-content:space-between; align-items:center; border-top:1px solid var(--line); padding-top:30px; margin-top:52px; }
.hy-format-cta p { font-size:12px; max-width:620px; color:var(--muted); }
.hy-format-cta .hy-button { flex:none; background:var(--signal); color:#18191a; border-color:var(--signal); }
.hy-format-cta .hy-button:hover { background:var(--paper); border-color:var(--paper); }
.hy-section--teacher { background:#e7e4e9; }
.hy-teacher { display:grid; grid-template-columns:1fr 1fr; gap:9%; align-items:center; }
.hy-teacher__portrait { margin:0; min-width:0; position:relative; }
.observer-portrait-image { aspect-ratio:4/5; overflow:hidden; background:#dcdcdf; clip-path:polygon(0 0,80% 0,100% 17%,100% 100%,0 100%); }
.observer-portrait-image img { display:block; width:100%; height:100%; object-fit:cover; object-position:50% 34%; }
.hy-teacher__portrait figcaption { display:flex; gap:16px; flex-wrap:wrap; justify-content:space-between; border-top:1px solid #b5b0bb; padding-top:18px; margin-top:24px; font:10px/1.6 Onest,Arial,sans-serif; }
.hy-teacher__text h2 { font-size:62px; margin-top:34px; }
.hy-teacher__text .observer-teacher-name { font-size:16px; color:var(--ink); margin-top:34px; }
.hy-teacher__text p:not(.hy-kicker):not(.observer-teacher-name) { font-size:15px; line-height:1.75; color:var(--muted); margin-top:24px; max-width:510px; }
.hy-faq { border-top:1px solid var(--line); margin-left:33.5%; }
.hy-faq details { border-bottom:1px solid var(--line); }
.hy-faq summary { display:flex; justify-content:space-between; gap:30px; padding:27px 0; list-style:none; cursor:pointer; font-size:19px; line-height:1.5; }
.hy-faq summary::-webkit-details-marker { display:none; }
.hy-faq summary::after { content:'+'; flex:none; font:28px/1.1 Onest,Arial,sans-serif; }
.hy-faq details[open] summary::after { content:'\2212'; }
.hy-faq p { padding-bottom:26px; color:var(--muted); font-size:15px; max-width:660px; }
.hy-final { background:#202022; color:#f3f2f3; padding:100px 0; border-bottom:1px solid #535357; }
.hy-final h2 { font-size:76px; margin:44px 0 32px; }
.hy-final p:not(.hy-kicker) { max-width:490px; margin-bottom:36px; }
.hy-final .hy-button--primary { background:var(--paper); color:var(--ink); border-color:var(--paper); }
.hy-final .hy-button--primary:hover { background:var(--signal); color:var(--ink); border-color:var(--signal); }
.hy-final .hy-button--ghost:hover { background:#39393e; }
.footer { padding:60px 48px 28px; background:#202120; color:var(--paper); }
.observer-footer-brand { display:flex; align-items:center; justify-content:space-between; font-size:94px; line-height:1.2; text-decoration:none; border-bottom:1px solid #53564e; padding-bottom:52px; margin-bottom:32px; }
.observer-footer-brand span { color:var(--signal); font-size:80px; }
.footer-inner { display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.socials { display:flex; gap:18px; }
.socials a { display:flex; }
.socials img { width:20px; height:20px; object-fit:contain; }
.footer-privacy,.copyright { color:#b7b9b5; font-size:11px; }
.observer-scroll-progress { position:fixed; inset:0 0 auto; z-index:20; height:3px; background:#65547e; transform:scaleX(var(--page-progress,0)); transform-origin:left; pointer-events:none; }
.motion-ready .reveal { opacity:0; transform:translateY(30px); transition:opacity .8s ease,transform .85s cubic-bezier(.18,.65,.25,1); transition-delay:var(--reveal-delay,0ms); }
.motion-ready .reveal.is-visible { opacity:1; transform:translateY(0); }
.hy-hero__content.reveal { transition-delay:0ms; }
.motion-ready .hy-hero__content.is-visible { transform:none; }
.motion-ready .hy-hero__media img { transform:translateY(var(--hero-shift,0px)) scale(1.035); }
.hy-modal { position:fixed; inset:0; z-index:100; padding:24px; display:grid; place-items:center; }
.hy-modal__backdrop { position:absolute; inset:0; background:#161719b8; backdrop-filter:blur(8px); }
.hy-modal__dialog { position:relative; width:min(580px,100%); max-height:calc(100svh - 48px); overflow-y:auto; background:var(--paper); border:1px solid var(--ink); border-radius:0; padding:64px 40px 40px; }
.hy-modal__close { position:absolute; top:10px; right:10px; width:40px; height:40px; border:0; background:transparent; color:var(--ink); font-size:30px; }
.hy-modal__head h2 { font-size:38px; margin-top:22px; }
.hy-booking-note { color:var(--muted); font-size:15px; margin:28px 0; }
.hy-booking-options { display:flex; flex-wrap:wrap; gap:12px; }
.hy-modal-open { overflow:hidden; }
@media(min-width:1800px) { .hy-hero h1{font-size:154px;} .hy-hero__lead{font-size:44px;} .hy-hero__inner{padding-top:48px;} }
@media(max-width:1200px) {
  .hy-hero h1 { font-size:96px; }
  .hy-hero__lead { font-size:32px; }
  .hy-hero__text { max-width:310px; }
  h2 { font-size:52px; }
  .observer-intro h2 { font-size:64px; }
  .hy-benefits,.hy-tool-grid { column-gap:28px; }
  .hy-benefit h3 { font-size:23px; }
  .hy-section__head,.hy-split,.observer-intro .hy-split__title,.hy-section--program .hy-section__inner { gap:28px; }
  .observer-intro .hy-copy { gap:30px; }
  .hy-teacher__text h2 { font-size:48px; }
  .hy-final h2 { font-size:60px; }
}
@media(max-width:960px) {
  .header{padding:0 28px;}
  .hy-hero__inner,.hy-section__inner,.hy-final__inner{width:calc(100% - 56px);}
  .hy-hero h1{font-size:76px;}
  .hy-hero__media img{object-position:right bottom;}
  .hy-hero .hy-button--ghost { display:none; }
  .hy-hero__text{max-width:280px;}
  .hy-benefits,.hy-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .hy-section__head,.hy-section--formats .hy-section__head,.observer-intro .hy-split__title { grid-template-columns:1fr 2fr; }
  .hy-section--program .hy-section__head h2{font-size:36px;}
  .observer-intro h2{font-size:52px;}
  .observer-intro .hy-copy{display:block;}
  .observer-intro .hy-copy p+p{margin-top:24px;}
  .observer-thesis{font-size:32px;}
  .hy-format h3.hy-format__price{font-size:70px;}
  .hy-teacher{gap:40px;}
  .hy-teacher__text h2{font-size:40px;}
  .observer-footer-brand{font-size:68px;}
}
@media(max-width:640px) {
  .header{height:64px;padding:0 20px;}
  .logo{font-size:15px;gap:10px;}
  .header ul{gap:16px;}
  .header nav a{font-size:10px;}
  .hy-hero{min-height:calc(100svh - 108px);background:#d9d5d8;}
  .hy-hero__media img{height:100%;width:100%;object-fit:cover;object-position:right bottom;transform:none!important;}
  .hy-hero__inner,.hy-section__inner,.hy-final__inner{width:calc(100% - 40px);}
  .hy-hero__inner{padding:22px 0 220px;}
  .hy-hero h1{font-size:46px;mix-blend-mode:normal;color:var(--ink);line-height:1.2;margin:18px 0 22px;}
  .hy-hero .hy-kicker{font-size:9px;max-width:270px;}
  .hy-hero__lead{font-size:28px;max-width:none;}
  .hy-hero__text{font-size:13px;max-width:290px;margin-top:18px;}
  .hy-hero__detail{display:none;}
  .hy-hero__facts{margin:18px 0;gap:16px;font-size:9px;}
  .hy-button{font-size:12px;min-height:50px;padding:14px 18px;}
  .hy-hero__aside{display:none;}
  .hy-section,.hy-final{padding:64px 0;}
  .hy-section--states{padding-top:12px;}
  h2{font-size:38px;}
  .hy-section__head,.hy-section--formats .hy-section__head,.hy-split,.observer-intro .hy-split__title{display:block;margin-bottom:36px;}
  .hy-section__head .hy-kicker{margin-bottom:22px;}
  .hy-section__lead{margin-top:24px;font-size:14px;}
  .hy-benefits{display:block;}
  .hy-benefit{display:grid;grid-template-columns:26px 1fr;gap:18px;padding:28px 0;}
  .hy-benefit::before{margin:4px 0 0;}
  .hy-benefit h3{font-size:24px;}
  .hy-benefit p{font-size:13px;margin-top:14px;}
  .observer-intro .hy-split{display:block;}
  .observer-intro h2{font-size:43px;margin-top:28px;}
  .observer-intro .hy-copy{margin:0;}
  .observer-intro .hy-copy>p:not(.observer-thesis){font-size:15px;}
  .observer-thesis{font-size:30px;padding-top:36px;}
  .hy-tool-grid{grid-template-columns:1fr;gap:34px;}
  .hy-tool h3{font-size:30px;margin-top:24px;}
  .hy-tool p{font-size:14px;}
  .hy-split__title h2{font-size:36px;margin:24px 0;}
  .hy-copy{font-size:23px;}
  .hy-section--program .hy-section__inner{display:block;}
  .hy-section--program .hy-section__head{position:static;margin:0 0 36px;padding:0;}
  .hy-section--program .hy-section__head h2{font-size:38px;}
  .hy-program-card{grid-template-columns:30px 1fr;padding:28px 0;min-height:0;}
  .hy-program-card h3{font-size:30px;}
  .hy-program-card p{font-size:14px;}
  .hy-program-card.is-current h3{transform:translateX(5px);}
  .hy-program-note{margin-top:8px;}
  .hy-format-options{display:grid;gap:24px;}
  .hy-format-grid{grid-template-columns:1fr;gap:44px;}
  .hy-format h3.hy-format__price{font-size:68px;margin:22px 0;}
  .hy-format p{font-size:14px;}
  .hy-format-cta{display:block;margin-top:40px;}
  .hy-format-cta .hy-button{margin-top:26px;}
  .hy-teacher{display:flex;flex-direction:column;gap:44px;align-items:stretch;}
  .hy-teacher__portrait{width:100%;max-width:440px;margin:auto;}
  .hy-teacher__text h2{font-size:44px;margin-top:24px;}
  .hy-faq{margin-left:0;}
  .hy-faq summary{font-size:17px;padding:22px 0;gap:22px;}
  .hy-faq p{font-size:14px;overflow-wrap:anywhere;}
  .hy-final h2{font-size:40px;margin:30px 0;}
  .hy-final p:not(.hy-kicker){font-size:14px;}
  .footer{padding:40px 20px 24px;}
  .observer-footer-brand{font-size:35px;padding-bottom:30px;margin-bottom:28px;}
  .observer-footer-brand span{font-size:34px;}
  .footer-inner{gap:28px;}
  .hy-modal{padding:16px;}
  .hy-modal__dialog{padding:56px 24px 28px;max-height:calc(100svh - 32px);}
  .hy-modal__head h2{font-size:32px;}
}
@media(max-height:740px) and (max-width:640px) {
  .hy-hero__inner{padding-top:16px;padding-bottom:160px;}
  .hy-hero h1{margin:14px 0 18px;}
  .hy-hero__facts{margin:14px 0;}
  .hy-hero__text{margin-top:14px;}
}
@media(max-width:360px) {
  .header nav li:first-child{display:none;}
  .hy-hero h1{font-size:38px;}
  .hy-hero__lead{font-size:25px;}
  .hy-hero__inner{padding-bottom:220px;}
  .hy-hero__facts{gap:12px;font-size:8px;}
  h2,.hy-section--program .hy-section__head h2{font-size:34px;}
  .observer-intro h2{font-size:38px;}
  .hy-teacher__text h2{font-size:38px;}
  .hy-final h2{font-size:34px;}
  .observer-footer-brand{font-size:29px;}
}
@media(prefers-reduced-motion:reduce) {
  html{scroll-behavior:auto;}
  *,*::before,*::after{transition:none!important;animation:none!important;}
  .motion-ready .reveal{opacity:1;transform:none;}
  .hy-hero__media img{transform:none!important;will-change:auto;}
  .observer-thesis .kinetic-word{opacity:1!important;}
  .hy-program-card.is-current h3{transform:none;}
}
