/* Shared photo cards and public course pages. */
.premium-programme-card{--course-accent:#d9eb9e;--course-edge:#94ae58;--course-ink:#244333;position:relative;border:1px solid #dce2d3;background:linear-gradient(145deg,#fffefb,#f9faef);border-radius:19px;box-shadow:0 3px 0 #e7eadd,0 12px 28px -23px #173b3250;overflow:visible;transform-style:preserve-3d;transition:transform .32s ease,box-shadow .32s ease,border-color .32s ease}
.premium-programme-card.python{--course-accent:#e6def7;--course-edge:#a493c7;--course-ink:#50406e}
.premium-programme-card.robotics{--course-accent:#ffe1ad;--course-edge:#c89c5f;--course-ink:#65461f}
.premium-programme-card:hover{transform:none;box-shadow:0 3px 0 #e7eadd,0 12px 28px -23px #173b3250}
.premium-programme-card:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(circle at var(--shine-x,50%) var(--shine-y,0%),#ffffff78,transparent 48%);opacity:0;transition:opacity .3s;z-index:3}
.premium-programme-card .course-art{height:225px;margin:8px 8px 0;border-radius:12px;overflow:visible;transform-style:preserve-3d;background:none}
.premium-programme-card .course-art img{display:block;width:100%;height:100%;object-fit:cover;border-radius:12px;transition:filter .5s}
.premium-programme-card .course-art:after{content:"";position:absolute;inset:45% 0 0;border-radius:0 0 12px 12px;background:linear-gradient(transparent,#173b328f);pointer-events:none}
.premium-programme-card .age-pill{font-size:.6rem;top:14px;left:14px;padding:5px 9px;background:#fffdf1eb;color:#193f35;border-color:#fff9;z-index:1}
.premium-programme-card .art-caption{z-index:1;color:white;bottom:14px;left:15px;max-width:calc(100% - 132px);font-family:inherit;font-size:.52rem;letter-spacing:.14em;line-height:1.7}
/* Tiny subject worlds sit along the photograph's lower edge, away from faces. */
.course-miniature{position:absolute;z-index:2;right:7px;bottom:3px;width:108px;height:76px;pointer-events:none;transform:translateZ(28px);transform-style:preserve-3d;transition:transform .38s ease;filter:drop-shadow(0 7px 8px #0c292d30)}
.mini-code-tile,.mini-ai-core,.mini-robot-chip{position:absolute;display:grid;place-items:center;background:var(--course-accent);color:var(--course-ink);border:1px solid #ffffffa6;font:700 19px/1 Consolas,monospace;box-shadow:2px 4px 0 var(--course-edge),0 8px 14px #162d2529}
.mini-code-tile{border-radius:9px;width:43px;height:35px}
.mini-code-back{top:8px;right:11px;background:#f3dba4;transform:rotate(11deg) translateZ(7px);box-shadow:2px 4px 0 #bda062}
.mini-code-front{bottom:13px;left:16px;transform:rotate(-7deg) translateZ(14px)}
.mini-code-dot{position:absolute;left:14px;top:8px;width:9px;height:9px;background:#e0eeb9;border:2px solid #fff9;border-radius:50%;box-shadow:0 3px 0 #7c9953}
.mini-connections,.mini-circuit{position:absolute;inset:0;width:100%;height:100%;overflow:visible;fill:var(--course-accent);stroke:var(--course-accent);stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}
.mini-connections path,.mini-circuit path{fill:none;stroke:#eee8ffd4}
.mini-ai-core{top:20px;left:36px;width:37px;height:35px;border-radius:11px;transform:rotate(-5deg) translateZ(12px);font-size:15px}
.mini-circuit path{stroke:#ffe9c7d9;stroke-width:2}
.mini-robot-chip{top:17px;left:35px;width:43px;height:39px;border-radius:10px;transform:rotate(7deg) translateZ(12px);font-size:26px}
.premium-programme-card .course-body{padding:24px;transform:translateZ(10px);border-radius:0 0 19px 19px}
.premium-programme-card .small-label{font-size:.55rem;color:#788467;letter-spacing:.09em;margin-bottom:12px}
.premium-programme-card h3{font-size:1.55rem;min-height:0;margin-bottom:13px;font-weight:650}
.premium-programme-card p{font-size:.81rem;line-height:1.8;min-height:70px;margin-bottom:22px}
.premium-programme-card .course-meta{font-size:.65rem;padding-bottom:16px}
.premium-programme-card .course-bottom{padding-top:17px}
.premium-programme-card .course-bottom strong{font-size:1.4rem;font-weight:600}
.premium-programme-card .course-bottom small{font-size:.64rem}
.premium-programme-card .round-link{background:var(--course-accent);border-color:#ffffffb0;color:var(--course-ink);width:36px;height:36px;box-shadow:0 2px 0 var(--course-edge);transition:transform .25s,box-shadow .25s}
.catalog-intro{display:grid;grid-template-columns:1.1fr 1fr;gap:65px;align-items:center;margin-bottom:55px}
.catalog-intro .page-heading{margin-bottom:0}
.catalog-intro h1{font-size:clamp(2.8rem,4.5vw,4.5rem);line-height:1.06;letter-spacing:-.06em;max-width:520px}
.catalog-intro p{max-width:380px;font-size:1rem}
.catalog-intro-photo,.course-detail-photo{position:relative;overflow:hidden;border-radius:45px 15px 45px 15px;aspect-ratio:1.6;background:#e2e9d7}
.catalog-intro-photo img,.course-detail-photo img{width:100%;height:100%;object-fit:cover}
.catalog-intro-photo span,.course-detail-photo span{position:absolute;left:18px;bottom:18px;background:#faf9f4ee;color:#193f35;font-size:.53rem;letter-spacing:.1em;padding:7px 11px;border-radius:6px}
.premium-catalog .filter-bar{border:1px solid #dce2d3;background:#f0f3e8;border-radius:14px;padding:24px;gap:25px;margin-bottom:35px}
.premium-catalog .filter-bar label{min-width:240px;flex:1;font-size:.74rem}
.premium-catalog .form-select,.premium-catalog .form-control{margin-top:8px;font-size:.87rem}
.premium-catalog .filter-bar>a{font-size:.8rem;padding-bottom:12px}
.premium-course-detail .course-detail-heading{display:grid;grid-template-columns:1.1fr 1fr;gap:65px;margin-bottom:65px}
.premium-course-detail .course-detail-heading h1{font-size:clamp(2.7rem,4.8vw,4.5rem);line-height:1.06;letter-spacing:-.06em}
.premium-course-detail .course-detail-heading .lead{font-size:1rem;line-height:1.85}
.course-detail-photo{aspect-ratio:1.15;transform:rotate(2deg)}
.premium-course-detail .booking-box{background:#f2f5e8;border-color:#dce3ce;border-radius:18px;top:110px;box-shadow:0 20px 40px -25px #23432330}
.premium-course-detail .booking-box .eyebrow{font-size:.68rem}
.premium-course-detail .batch-option{background:#fffef9;border:1px solid #e1e7d8;border-radius:12px;padding:15px}
.premium-course-detail .level-offer h3{font-size:1.25rem}
.premium-course-detail .outcomes,.premium-course-detail .curriculum-meta{background:#eef2e5;border:1px solid #e2e8d7}
.premium-course-detail .back-link{font-size:.77rem}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.premium-programme-card:hover{transform:perspective(1000px) translateY(-5px) rotateX(clamp(-4deg,var(--tilt-y,0deg),4deg)) rotateY(clamp(-4deg,var(--tilt-x,0deg),4deg));box-shadow:0 3px 0 #dfe5d3,0 22px 40px -22px #173b3260;border-color:#c6d0bb}.premium-programme-card:hover:after{opacity:.5}.premium-programme-card:hover .course-miniature{transform:translateY(-4px) translateZ(38px)}.premium-programme-card:hover .course-art img{filter:saturate(1.04)}.premium-programme-card .round-link:hover{transform:translateY(-2px);box-shadow:0 4px 0 var(--course-edge)}}
@media(max-width:950px){.catalog-intro,.premium-course-detail .course-detail-heading{gap:35px}.premium-programme-card .course-body{padding:22px}.premium-catalog .filter-bar label{min-width:180px}}
@media(max-width:700px){.catalog-intro,.premium-course-detail .course-detail-heading{grid-template-columns:1fr;gap:25px;margin-bottom:35px}.catalog-intro-photo{max-height:270px}.catalog-intro h1,.premium-course-detail .course-detail-heading h1{font-size:2.9rem}.premium-catalog .filter-bar{padding:20px;gap:15px}.premium-catalog .filter-bar label{width:100%;min-width:0;flex:auto}.premium-catalog .filter-bar .btn{width:100%}.premium-catalog .filter-bar>a{padding-bottom:0}.premium-programme-card .course-art{height:255px}.premium-programme-card p{min-height:0}.course-detail-photo{aspect-ratio:1.5;transform:none}.premium-course-detail .booking-box{position:static;padding:24px}.premium-course-detail .batch-option{gap:10px}.premium-course-detail .batch-option .btn{font-size:.72rem;padding:10px 13px}}
@media(prefers-reduced-motion:reduce){.premium-programme-card,.premium-programme-card .course-art img,.course-miniature,.premium-programme-card .round-link{transition:none!important;transform:none!important}.premium-programme-card:after{display:none}}

