/* The Prime Academy — motion and editorial scene */
.site{overflow:clip}
.prime-intro{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:#10272c;color:#f7f1e8;overflow:hidden;pointer-events:none;transition:transform .7s cubic-bezier(.76,0,.24,1);transform:translateY(0)}
.prime-intro:before,.prime-intro:after{content:'';position:absolute;inset:28px;border:1px solid #d8b47a40;pointer-events:none}.prime-intro:after{inset:35px;border-color:#d8b47a1c}
.prime-intro--exit{transform:translateY(-102%)}.prime-intro__inner{text-align:center;position:relative}.prime-intro__crest{width:86px;height:86px;margin:0 auto 28px;border-radius:50%;overflow:hidden;animation:primeCrest .8s cubic-bezier(.22,1,.36,1) both}.prime-intro__crest img{width:100%;height:100%;object-fit:cover}.prime-intro__word{font:600 clamp(44px,8vw,88px)/.85 'Cormorant Garamond',Georgia,serif;letter-spacing:.035em;animation:primeIntroWord .85s cubic-bezier(.22,1,.36,1) both}.prime-intro__sub{margin-top:18px;color:#d8b47a;font:600 10px 'IBM Plex Mono',monospace;letter-spacing:.34em;animation:primeIntroWord .85s .1s cubic-bezier(.22,1,.36,1) both}.prime-intro__sub span{color:#f7f1e8}.prime-intro__line{width:76px;height:1px;background:#d8b47a;margin:25px auto 0;animation:primeLine .95s .15s cubic-bezier(.22,1,.36,1) both}.prime-intro__bottom{position:absolute;bottom:45px;left:48px;right:48px;display:flex;justify-content:space-between;gap:12px;color:#b1c2bf;font:500 9px 'IBM Plex Mono',monospace;letter-spacing:.12em}
@keyframes primeCrest{from{transform:scale(.82) rotate(-9deg)}to{transform:none}}@keyframes primeIntroWord{from{transform:translateY(12px)}to{transform:none}}@keyframes primeLine{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.prime-intro--route .prime-intro__crest{width:68px;height:68px;margin-bottom:18px}.prime-intro--route .prime-intro__word{font-size:clamp(42px,7vw,72px)}.prime-intro--route .prime-intro__bottom{display:none}
.prime-progress{position:fixed;z-index:100;top:0;left:0;width:100%;height:3px;background:#b79260;transform:scaleX(0);transform-origin:left;pointer-events:none}
.prime-curtain{position:fixed;inset:0;z-index:200;display:grid;place-items:center;background:#10272c;color:#f7f1e8;pointer-events:none;transform:translateY(-101%);overflow:hidden}
.prime-curtain.is-leaving{transform:translateY(0);transition:transform .48s cubic-bezier(.76,0,.24,1)}
.prime-curtain:before{content:'';position:absolute;inset:clamp(16px,2.2vw,34px);border:1px solid rgba(216,180,122,.35)}
.prime-curtain__inner{position:relative;text-align:center;display:grid;justify-items:center;gap:11px;transform:translateY(20px);transition:transform .5s cubic-bezier(.22,1,.36,1)}
.prime-curtain.is-leaving .prime-curtain__inner{transform:none}
.prime-curtain__inner img{width:76px;height:76px;border-radius:50%;object-fit:cover;margin-bottom:12px;background:#f7f1e8}
.prime-curtain__inner strong{font:600 clamp(44px,8vw,78px)/.88 'Cormorant Garamond',Georgia,serif;letter-spacing:.035em}
.prime-curtain__inner span{color:#d8b47a;font:600 10px 'IBM Plex Mono',monospace;letter-spacing:.3em}
.prime-curtain__inner i{display:block;width:80px;height:1px;background:#d8b47a;margin-top:12px;transform-origin:left;transform:scaleX(0);transition:transform .45s .15s}
.prime-curtain.is-leaving .prime-curtain__inner i{transform:scaleX(1)}
.prime-story{position:relative;background:#10272c;color:#f6f1e8;overflow:clip;min-height:245vh}
.prime-story__stage{position:sticky;top:0;min-height:100vh;display:grid;align-content:center;overflow:hidden;padding:100px max(24px,calc((100vw - 1180px)/2))}
.prime-story__stage:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 75% 45%,#28515a 0,transparent 48%);opacity:.65;pointer-events:none}
.prime-story__top,.prime-story__bottom{position:absolute;left:max(24px,calc((100vw - 1180px)/2));right:max(24px,calc((100vw - 1180px)/2));display:flex;justify-content:space-between;gap:16px;color:#bed0ce;font:600 10px/1.4 'IBM Plex Mono',monospace;letter-spacing:.12em;text-transform:uppercase}
.prime-story__top{top:38px}.prime-story__bottom{bottom:40px}.prime-story__line{position:absolute;left:0;bottom:0;width:100%;height:2px;background:#cfaa77;transform-origin:left;transform:scaleX(var(--story-progress,0))}
.prime-story__content{position:relative;display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(35px,6vw,90px);align-items:center}
.prime-story__label{color:#d6b88a;font:600 10px 'IBM Plex Mono',monospace;letter-spacing:.14em;text-transform:uppercase;margin-bottom:23px}
.prime-story h2{font-size:clamp(48px,6vw,88px);margin:0;line-height:.9;max-width:520px}.prime-story h2 em{color:#b8cbca}.prime-story__desc{font-size:14px;line-height:1.8;color:#c4d2d0;max-width:420px;margin:22px 0 0}
.prime-paper{position:relative;min-height:380px;background:#eee8dd;color:#18282c;padding:clamp(28px,5vw,68px);box-shadow:0 28px 80px #0005;transform:rotate(-2deg);display:flex;flex-direction:column;justify-content:center;gap:23px}
.prime-paper:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(transparent 0 45px,rgba(26,56,60,.08) 46px,transparent 47px);pointer-events:none}
.prime-paper__meta,.prime-paper__note{position:relative;font:600 10px/1.7 'IBM Plex Mono',monospace;letter-spacing:.12em;color:#6e7d7a;text-transform:uppercase}
.prime-paper__sentence{position:relative;font:600 clamp(35px,4.6vw,68px)/1.08 'Cormorant Garamond',Georgia,serif;letter-spacing:-.035em}.prime-word{display:inline-block;opacity:.18;transform:translateY(9px);transition:opacity .55s,transform .55s,color .55s}.prime-word.is-active{opacity:1;transform:none;color:#103f47}.prime-word.is-active:last-child{color:#9a6c3f}
.prime-paper__rule{position:relative;width:100%;height:1px;background:#b8bdb5;transform:scaleX(var(--story-progress,0));transform-origin:left}.prime-paper__number{position:absolute;right:25px;bottom:15px;color:#a4aaa2;font:600 11px 'IBM Plex Mono',monospace}
.prime-entrance{animation:primeEnter .85s cubic-bezier(.22,1,.36,1) both}@keyframes primeEnter{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
.prime-image-reveal{clip-path:inset(0 0 100% 0);transition:clip-path 1s cubic-bezier(.22,1,.36,1)}.is-visible .prime-image-reveal{clip-path:inset(0)}
.card,.price,.sample,.method-step{transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s,border-color .35s}.card:hover,.price:hover,.sample:hover,.method-step:hover{transform:translateY(-6px);box-shadow:0 18px 40px #10272c1a;border-color:#b79260}
.prime-footer-mark{font:600 clamp(52px,12vw,170px)/.8 'Cormorant Garamond',Georgia,serif;letter-spacing:-.06em;color:#ffffff0d;white-space:nowrap;overflow:hidden;max-width:1180px;width:var(--content);margin:0 auto;padding:12px 0 0;pointer-events:none}
.prime-section-rule{height:1px;width:100%;background:linear-gradient(90deg,#b79260 0%,#b79260 18%,rgba(16,27,31,.14) 18%);transform-origin:left;transform:scaleX(0);transition:transform 1.1s cubic-bezier(.22,1,.36,1);margin:0 0 24px}.is-visible .prime-section-rule{transform:scaleX(1)}
.prime-section-index{display:block;margin:0 0 15px;color:#9e7a4f;font:600 9px 'IBM Plex Mono',monospace;letter-spacing:.17em}.prime-feature-line{height:1px;background:#d3b27f;transform:scaleX(0);transform-origin:left;width:72px;margin-bottom:24px;transition:transform 1s .15s cubic-bezier(.22,1,.36,1)}.is-visible .prime-feature-line{transform:scaleX(1)}
@media(hover:hover) and (pointer:fine){.button,.nav-cta{position:relative;overflow:hidden;isolation:isolate}.button:after,.nav-cta:after{content:'';position:absolute;z-index:-1;inset:0;background:#b79260;transform:translateX(-105%);transition:transform .45s cubic-bezier(.22,1,.36,1)}.button:hover:after,.nav-cta:hover:after{transform:translateX(0)}.card,.price,.sample,.method-step{position:relative;overflow:hidden}.card:before,.price:before,.sample:before,.method-step:before{content:'';position:absolute;left:0;top:0;width:100%;height:2px;background:#b79260;transform:scaleX(0);transform-origin:left;transition:transform .55s cubic-bezier(.22,1,.36,1)}.card:hover:before,.price:hover:before,.sample:hover:before,.method-step:hover:before{transform:scaleX(1)}}
@media(max-width:900px){.prime-story{min-height:200vh}.prime-story__content{grid-template-columns:1fr;gap:28px}.prime-story__stage{padding-top:95px;padding-bottom:85px}.prime-story h2{font-size:clamp(46px,9vw,68px)}.prime-story__desc{margin-top:14px}.prime-paper{min-height:260px;padding:28px 32px}.prime-story__top{top:24px}.prime-story__bottom{bottom:24px}.prime-story__bottom span:last-child{display:none}}
@media(max-width:560px){.prime-story{min-height:180vh}.prime-story__stage{min-height:100svh}.prime-paper{min-height:220px}.prime-paper__sentence{font-size:40px}.prime-story__desc{font-size:13px}.prime-intro:before{inset:16px}.prime-intro:after{inset:22px}.prime-intro__bottom{left:28px;right:28px;bottom:32px}.prime-intro__bottom span:last-child{display:none}}
@media(prefers-reduced-motion:reduce){.prime-story{min-height:0}.prime-story__stage{position:relative;min-height:0;padding-top:110px;padding-bottom:95px}.prime-word{opacity:1;transform:none}.prime-paper__rule,.prime-section-rule,.prime-feature-line{transform:none}.prime-entrance{animation:none}.prime-image-reveal{clip-path:none}.prime-curtain,.prime-intro{display:none}}

/* Motion system v3: content follows a deliberate, readable rhythm on every page. */
.prime-motion .prime-reveal{
  opacity:0;
  transform:translate3d(0,26px,0);
  transition:opacity .78s cubic-bezier(.22,1,.36,1),transform .78s cubic-bezier(.22,1,.36,1);
  transition-delay:calc(var(--prime-order,0) * 85ms);
}
.prime-motion .prime-reveal.is-shown{opacity:1;transform:translate3d(0,0,0)}
.prime-motion .prime-reveal--delayed{opacity:0!important;transform:translate3d(0,25px,0)!important}
.prime-motion .prime-reveal--card{transform:translate3d(0,32px,0) scale(.965)}
.prime-motion .prime-reveal--card.is-shown{transform:translate3d(0,0,0) scale(1)}
.prime-motion .prime-reveal--card>*{opacity:0;transform:translate3d(0,9px,0);transition:opacity .5s ease,transform .5s cubic-bezier(.22,1,.36,1)}
.prime-motion .prime-reveal--card.is-shown>*{opacity:1;transform:none}
.prime-motion .prime-reveal--card.is-shown>*:nth-child(2){transition-delay:.12s}
.prime-motion .prime-reveal--card.is-shown>*:nth-child(3){transition-delay:.2s}
.prime-motion .prime-reveal--card.is-shown>*:nth-child(n+4){transition-delay:.28s}
.prime-motion .prime-reveal--image{transform:translate3d(0,24px,0) scale(.975)}
.prime-motion .prime-reveal--image.is-shown{transform:none}
.prime-motion .prime-image-reveal{clip-path:inset(0 100% 0 0);transition:clip-path 1.15s cubic-bezier(.76,0,.24,1),opacity .8s,transform .9s}
.prime-motion .prime-image-reveal.is-shown{clip-path:inset(0)}
.prime-motion .prime-reveal h2 em,.prime-motion .prime-reveal h1 em{opacity:.45;transition:opacity .75s .22s}
.prime-motion .prime-reveal.is-shown h2 em,.prime-motion .prime-reveal.is-shown h1 em{opacity:1}
.prime-motion .prime-reveal.is-shown.card:hover,.prime-motion .prime-reveal.is-shown.price:hover,.prime-motion .prime-reveal.is-shown.sample:hover,.prime-motion .prime-reveal.is-shown.method-step:hover{transform:translate3d(0,-6px,0)}
.prime-section-marker{display:flex;align-items:center;gap:19px;margin:0 0 27px;color:#9e7a4f;font:600 9px 'IBM Plex Mono',monospace;letter-spacing:.16em;white-space:nowrap}
.prime-section-marker i{height:1px;flex:1;background:linear-gradient(90deg,#b79260 0 72px,rgba(16,27,31,.14) 72px);transform:scaleX(0);transform-origin:left;transition:transform 1s cubic-bezier(.22,1,.36,1)}
.prime-section-marker.is-shown i{transform:scaleX(1)}
.prime-motion .is-visible .section-heading .eyebrow:before,.prime-motion .is-visible .split .eyebrow:before,.prime-motion .is-visible .feature .eyebrow:before{animation:primeDot .9s .2s ease-out both}
@keyframes primeDot{50%{box-shadow:0 0 0 6px rgba(183,146,96,.2)}to{box-shadow:0 0 0 10px rgba(183,146,96,0)}}

/* Scroll-linked editorial depth, without moving the document or intercepting touch. */
.hero,.page-hero{position:relative;overflow:clip}
.page-hero:after{content:'';position:absolute;pointer-events:none;width:min(48vw,680px);aspect-ratio:1;border:1px solid rgba(217,186,138,.22);border-radius:50%;right:-7%;top:-82%;box-shadow:0 0 0 55px rgba(217,186,138,.025),0 0 0 112px rgba(217,186,138,.022);transform:translate3d(0,calc(var(--prime-hero-progress,0) * 70px),0) rotate(calc(var(--prime-hero-progress,0) * 14deg));transition:opacity .5s}
.page-hero__inner{position:relative;z-index:1}
.page-hero h1,.hero h1{transform:translate3d(0,calc(var(--prime-hero-progress,0) * -18px),0)}
.hero__image img{transform:translate3d(0,var(--prime-img-shift,0px),0) scale(1.08)}
body.prime-motion .split__image img{transform:translate3d(0,var(--prime-img-shift,0px),0) scale(1.1)}
body.prime-motion .split__image--lesson img{transform:rotate(90deg) translate3d(var(--prime-img-shift,0px),0,0) scale(1.24)}
.prime-motion .syntax-line{position:relative}
.prime-motion .syntax-line:before{content:'';position:absolute;left:5%;right:5%;top:46%;height:1px;background:#d7b47e;transform:scaleX(0);transform-origin:left;transition:transform 1.7s .2s cubic-bezier(.22,1,.36,1)}
.prime-motion .is-visible .syntax-line:before{transform:scaleX(1)}
.prime-motion .method-grid .method-step{border-color:rgba(255,255,255,.22)}
.prime-motion .method-grid .method-step.is-shown{box-shadow:inset 0 1px 0 rgba(223,194,149,.16)}
.prime-motion .sample__word{position:relative;border-color:rgba(255,255,255,.12)}
.prime-motion .sample__word:before{content:'';position:absolute;left:0;top:-1px;width:100%;height:1px;background:#d7b47e;transform:scaleX(0);transform-origin:left;transition:transform .9s .32s cubic-bezier(.22,1,.36,1)}
.prime-motion .sample.is-shown .sample__word:before{transform:scaleX(1)}
.prime-motion .price strong{font-variant-numeric:tabular-nums}
.prime-motion .price.is-shown strong{animation:primePriceFocus .85s .15s cubic-bezier(.22,1,.36,1) both}
@keyframes primePriceFocus{from{letter-spacing:.02em;opacity:.35}to{letter-spacing:-.06em;opacity:1}}
.prime-motion .contact-line{position:relative;overflow:hidden}
.prime-motion .contact-line:after{content:'';position:absolute;left:0;bottom:0;width:100%;height:1px;background:#b79260;transform:scaleX(0);transform-origin:left;transition:transform .9s .12s cubic-bezier(.22,1,.36,1)}
.prime-motion .contact-line.is-shown:after{transform:scaleX(1)}
.prime-motion .quote{position:relative;padding-left:clamp(36px,6vw,88px)}
.prime-motion .quote:before{content:'“';position:absolute;left:20px;top:15px;font:600 70px/.8 'Cormorant Garamond',Georgia,serif;color:#a37e50}
.prime-motion .faq details{transition:border-color .3s,background .3s;padding-left:16px;padding-right:16px;margin:0 -16px;border-radius:5px}
.prime-motion .faq details[open]{background:rgba(211,221,221,.35);border-color:#b79260}
.prime-motion .faq summary{list-style:none;position:relative;padding-right:35px}
.prime-motion .faq summary::-webkit-details-marker{display:none}
.prime-motion .faq summary:after{content:'+';position:absolute;right:2px;top:-4px;font:400 24px 'Cormorant Garamond',Georgia,serif;color:#9e7a4f;transition:transform .3s}
.prime-motion .faq details[open] summary:after{transform:rotate(45deg)}

.prime-rail{position:fixed;right:17px;top:50%;z-index:19;display:grid;gap:12px;justify-items:center;align-items:center;color:#8b714c;opacity:0;transform:translate3d(12px,-50%,0);transition:opacity .4s,transform .4s;pointer-events:none}
.prime-rail.is-active{opacity:1;transform:translate3d(0,-50%,0)}
.prime-rail__label{writing-mode:vertical-rl;font:700 9px 'IBM Plex Mono',monospace;letter-spacing:.18em}
.prime-rail__number{font:700 9px 'IBM Plex Mono',monospace;white-space:nowrap}
.prime-rail__track{display:block;position:relative;width:1px;height:90px;background:rgba(16,27,31,.22);overflow:hidden}
.prime-rail__fill{position:absolute;inset:0;background:#b79260;transform:scaleY(var(--prime-rail-progress,0));transform-origin:top}
.prime-motion .footer__inner>div a:not(.brand){transition:transform .3s,color .3s}
.prime-motion .footer__inner>div a:not(.brand):hover{transform:translate3d(5px,0,0);color:#d9ba8a}
.prime-motion .prime-footer-mark{transform:translate3d(0,18px,0);opacity:0;transition:opacity 1s,transform 1s}
.prime-motion .footer.is-visible .prime-footer-mark{transform:none;opacity:1}

@media(max-width:900px){
  .prime-rail{display:none}
  .page-hero:after{width:75vw;top:-35%;right:-30%}
  .hero__image img,body.prime-motion .split__image img{transform:none}
  body.prime-motion .split__image--lesson img{transform:rotate(90deg) scale(1.2)}
  .prime-motion .syntax-line:before{display:none}
}
@media(prefers-reduced-motion:reduce){
  .prime-motion .prime-reveal,.prime-motion .prime-reveal--card,.prime-motion .prime-reveal--image,.prime-motion .prime-reveal--card>*{opacity:1;transform:none;transition:none}
  .page-hero h1,.hero h1,.page-hero:after{transform:none}
  .prime-rail{display:none}
  .prime-section-marker i{transform:none}
  .prime-motion .is-visible .section-heading .eyebrow:before,.prime-motion .is-visible .split .eyebrow:before,.prime-motion .is-visible .feature .eyebrow:before{animation:none}
  .prime-motion .price.is-shown strong{animation:none}
}

/* Academy-specific chapter: Roman's four teaching steps unfold as the reader scrolls. */
@media(min-width:901px){
  body[data-page="programs"] .methodology{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);column-gap:clamp(32px,5vw,78px);align-items:start}
  body[data-page="programs"] .methodology__intro{position:sticky;top:120px;display:block;margin:0;grid-column:1}
  body[data-page="programs"] .methodology__intro>p{margin-top:28px}
  body[data-page="programs"] .method-grid{grid-column:2;display:grid;grid-template-columns:1fr;gap:18px}
  body[data-page="programs"] .method-step{min-height:230px;position:relative;overflow:hidden}
  body[data-page="programs"] .method-step:after{content:'';position:absolute;left:24px;right:24px;bottom:0;height:2px;background:#d8b47a;transform:scaleX(0);transform-origin:left;transition:transform .9s .35s cubic-bezier(.22,1,.36,1)}
  body[data-page="programs"] .method-step.is-shown:after{transform:scaleX(1)}
  body[data-page="programs"] .methodology__footer{grid-column:1/-1;margin-top:42px}
}
body.prime-motion .split__image{position:relative}
body.prime-motion .split__image:after{content:'';position:absolute;z-index:2;inset:0;background:#b79260;pointer-events:none;transform:translate3d(-101%,0,0)}
body.prime-motion .split__image.is-shown:after{transform:translate3d(101%,0,0);transition:transform 1.08s cubic-bezier(.76,0,.24,1)}
body.prime-motion .card.is-shown h3,body.prime-motion .sample.is-shown h3{transition:color .35s,transform .35s}
@media(hover:hover) and (pointer:fine){
  body.prime-motion .card.is-shown:hover h3,body.prime-motion .sample.is-shown:hover h3{transform:translate3d(0,-3px,0)}
}
@media(max-width:900px){
  body[data-page="programs"] .method-grid{grid-template-columns:1fr}
  body.prime-motion .split__image.is-shown:after{transition-duration:.7s}
}
@media(prefers-reduced-motion:reduce){body.prime-motion .split__image:after{display:none}}
