/* Prices: a quiet editorial introduction beside expandable course cards. */
.prices-page .pricing-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.65fr);gap:58px;padding-block:48px 72px;align-items:start}
.pricing-intro{min-width:0;padding-top:2px;animation:pricing-arrive .85s cubic-bezier(.2,.7,.2,1) both}
.prices-page .pricing-intro h1{font-size:clamp(76px,8.4vw,120px);line-height:1.08;letter-spacing:-.055em;color:#112b49}
.pricing-intro>p{font-size:15px;line-height:1.75;color:#55687c;margin-top:22px}
.pricing-visual{position:relative;margin:68px -14px 0 -24px;padding:12px 10px 0;isolation:isolate}
.pricing-visual::before{content:"";position:absolute;inset:0 -30px 18px;background:radial-gradient(ellipse,#b7d8f76b,transparent 68%);z-index:-1}
.pricing-laptop{transform:perspective(1100px) rotateY(10deg) rotateZ(-4deg);transform-origin:center;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.pricing-laptop-screen{position:relative;background:#14293c;padding:9px;border-radius:15px 15px 5px 5px;border:1px solid #7690aa;box-shadow:0 14px 35px #24486626,inset 0 0 0 2px #33495d;width:92%;margin:auto}
.pricing-laptop-screen::before{content:"";position:absolute;width:3px;height:3px;top:3px;left:50%;border-radius:50%;background:#7f9cb7}
.pricing-laptop-screen img{width:100%;border-radius:7px 7px 1px 1px}
.pricing-laptop-base{position:relative;height:12px;border-radius:2px 2px 60% 60% / 2px 2px 100% 100%;background:linear-gradient(#e7eff7,#99adc3 55%,#50677d);box-shadow:0 18px 21px -5px #24476c33}
.pricing-laptop-base::before{content:"";position:absolute;left:40%;width:20%;height:4px;background:#8b9eb2;border-radius:0 0 5px 5px}
.pricing-visual figcaption{display:flex;flex-direction:column;align-items:center;gap:9px;margin-top:35px;color:#647b91;font-size:11px;letter-spacing:.02em}
.pricing-visual figcaption img{width:134px;height:auto}
.pricing-courses{min-width:0;display:grid;gap:12px}
.price-card{border:1px solid #e1ebf5;border-radius:13px;background:#ffffffa8;box-shadow:0 5px 18px #2b609405;transition:background .35s,border-color .35s,box-shadow .35s;animation:pricing-arrive .7s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(70ms + var(--price-order)*65ms)}
.price-card.is-open{background:#eaf4ffb8;border-color:#9bb9d8;box-shadow:0 9px 27px #336da410}
.price-card h2{margin:0;font:inherit;letter-spacing:normal}
.price-trigger{display:grid;grid-template-columns:1fr auto 14px;gap:15px;align-items:center;width:100%;min-height:86px;border:0;background:none;padding:19px 23px 19px 32px;text-align:left;border-radius:12px;color:#152d47}
.price-name{font:400 clamp(23px,2.45vw,34px)/1.23 var(--serif);letter-spacing:-.7px;transition:color .25s}
.price-amount{font:400 26px/1.15 var(--serif);white-space:nowrap;text-align:right;letter-spacing:-.5px}
.price-amount small{display:block;font:12px/1.5 var(--sans);letter-spacing:0;color:#728196;margin-top:5px}
.price-chevron{width:14px;opacity:.45;transition:transform .4s cubic-bezier(.2,.7,.2,1),opacity .25s}
.price-chevron svg{display:block;width:100%;height:14px}
.is-open .price-chevron{transform:rotate(180deg);opacity:.9}
.price-panel{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .45s cubic-bezier(.2,.7,.2,1),visibility .45s}
.is-open .price-panel{grid-template-rows:1fr;visibility:visible}
.price-panel-clip{min-height:0;overflow:hidden}
.price-panel-content{padding:0 32px 24px;opacity:0;transform:translateY(-7px);transition:opacity .22s,transform .35s cubic-bezier(.2,.7,.2,1)}
.is-open .price-panel-content{opacity:1;transform:translateY(0);transition-delay:.08s}
.price-panel p{font-size:14px;line-height:1.8;color:#586d82;max-width:540px}
.price-book{display:inline-flex;justify-content:center;align-items:center;gap:25px;margin-top:18px;min-height:49px;padding:12px 22px;border:1px solid #225f9c;border-radius:9px;background:#1662ad;color:white;font-size:14px;font-weight:500;box-shadow:0 5px 12px #235f9c23;transition:background .25s,transform .25s,box-shadow .25s}
.price-book svg{width:18px;height:18px;transition:transform .25s}
.pricing-courses .practical-link{padding:8px 4px;font-size:11px;color:#657a90}
.price-trigger:focus-visible,.price-book:focus-visible{outline:2px solid #2265ac;outline-offset:4px}
@media(hover:hover){.price-card:hover{border-color:#abc6e1;box-shadow:0 8px 24px #2b60940d}.price-trigger:hover .price-name{color:#1d639f}.price-book:hover{background:#104e90;transform:translateY(-2px);box-shadow:0 8px 19px #235f9c30}.price-book:hover svg{transform:translateX(3px)}.pricing-visual:hover .pricing-laptop{transform:perspective(1100px) rotateY(5deg) rotateZ(-2deg)}}
@keyframes pricing-arrive{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1500px){.prices-page .pricing-layout{gap:80px;padding-block:64px 88px}.price-trigger{min-height:96px;padding-inline:38px 26px}.price-panel-content{padding-inline:38px}.pricing-visual{margin-top:80px}}
@media(max-width:1000px){.prices-page .pricing-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.45fr);gap:30px;padding-top:38px}.pricing-intro>p{font-size:13px}.price-trigger{padding:20px;gap:10px}.price-name{font-size:25px}.price-amount{font-size:22px}.price-panel-content{padding:0 20px 22px}.pricing-visual{margin:55px -8px 0 -14px}.pricing-laptop-screen{padding:6px;border-radius:11px 11px 3px 3px}}
@media(max-width:760px){.prices-page .pricing-layout{grid-template-columns:1fr;gap:28px;padding-block:32px 44px}.pricing-intro{display:grid;grid-template-columns:1fr 180px;align-items:center;gap:0 16px}.prices-page .pricing-intro h1{font-size:76px}.pricing-intro>p{grid-column:1;font-size:13px;margin-top:16px}.pricing-visual{grid-column:2;grid-row:1/3;margin:0;padding:0}.pricing-visual figcaption{margin-top:20px;gap:5px;font-size:9px;text-align:center}.pricing-visual figcaption img{width:100px}.price-trigger{min-height:84px}.price-name{font-size:27px}.price-amount{font-size:24px}.price-panel p{font-size:14px}}
@media(max-width:480px){.pricing-intro{grid-template-columns:1fr}.prices-page .pricing-intro h1{font-size:76px}.pricing-intro>p{font-size:14px}.pricing-visual{display:none}.pricing-courses{gap:10px}.price-trigger{padding:19px 17px;grid-template-columns:1fr auto 12px;gap:10px}.price-name{font-size:23px;letter-spacing:-.5px}.price-amount{font-size:22px}.price-amount small{font-size:11px}.price-panel-content{padding:0 17px 21px}.price-book{min-height:48px}.pricing-courses .practical-link{font-size:11px;gap:15px}}
@media(prefers-reduced-motion:reduce){.pricing-intro,.price-card{animation:none}.pricing-laptop,.price-card,.price-panel,.price-panel-content,.price-chevron,.price-name,.price-book,.price-book svg{transition:none}}

/* Slim aluminium chassis; the original cabinet screenshot stays intact. */
.pricing-laptop{position:relative;transform:perspective(1200px) rotateY(3deg) rotateZ(-2deg);padding-bottom:0;filter:drop-shadow(0 18px 14px #27496421)}
.pricing-laptop-screen{width:86.8%;padding:7px 5px 9px;border-radius:10px 10px 3px 3px;border:1px solid #8295a4;background:#182b3a;box-shadow:inset 0 0 0 1px #445b6b,0 0 0 1px #bfccd6;z-index:1}
.pricing-laptop-screen::before{width:2px;height:2px;top:2px;background:#668ca4;box-shadow:0 0 0 1px #0b1d2a}
.pricing-laptop-screen img{aspect-ratio:3/2;object-fit:contain;background:#0b2134;border-radius:3px;width:100%;height:auto}
.pricing-laptop-deck{display:block;width:100%;height:auto;margin-top:-1px;overflow:visible}
.pricing-visual figcaption{margin-top:24px}
@media(hover:hover){.pricing-visual:hover .pricing-laptop{transform:perspective(1200px) rotateY(0deg) rotateZ(-1deg)}}
@media(max-width:1000px){.pricing-laptop-screen{padding:6px 4px 7px;border-radius:8px 8px 2px 2px}}
