:root{--purple:#642782;--dark:#22112e;--gold:#e8b947;--paper:#fbf9fd;--muted:#675e70;--line:#e9e2ed;--white:#fff;--shadow:0 16px 45px rgba(52,24,69,.09)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--dark);font:16px/1.6 system-ui,-apple-system,Segoe UI,sans-serif}button,input{font:inherit}button,a{transition:.18s}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.shell{max-width:1180px;margin:auto;padding:0 22px}.topbar{background:#38114f;color:#fff;text-align:center;padding:7px 15px;font-size:.82rem}.header{background:white;position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}.nav{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:79px}.brand{display:flex;align-items:center;gap:11px;font-size:1.48rem;font-weight:850;color:var(--purple);white-space:nowrap}.brand small{font-size:.6rem;color:#76627d;display:block;font-weight:600;letter-spacing:.07em;margin-top:-6px}.logo{width:47px;height:47px;flex-shrink:0}.links{display:flex;align-items:center;gap:23px;font-weight:650;font-size:.94rem}.links a:hover{color:var(--purple)}.actions{display:flex;gap:8px;align-items:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:11px;padding:11px 18px;font-weight:750;background:var(--purple);color:white;box-shadow:none}.btn:hover{filter:brightness(1.09);transform:translateY(-1px)}.btn.alt{background:white;color:var(--purple);border-color:#d7c5e1}.btn.gold{background:var(--gold);color:#2e1b15}.btn.sm{padding:8px 12px;font-size:.9rem}.menu{display:none}.hero{background:radial-gradient(ellipse at 84% 5%,#e8d2f4 0,transparent 46%),linear-gradient(140deg,#fff 35%,#f2e5f8);overflow:hidden;position:relative}.hero:before{content:'';position:absolute;top:-180px;right:-90px;width:700px;height:300px;border:1px solid #a979c8;border-radius:50%;transform:rotate(-19deg);box-shadow:0 15px 0 -14px #aa72c5,0 30px 0 -29px #aa72c5,0 45px 0 -44px #aa72c5,0 60px 0 -59px #aa72c5;opacity:.5}.hero-inner{padding:90px 0 85px;display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center;position:relative}.eyebrow{font-weight:850;text-transform:uppercase;letter-spacing:.14em;color:#8a4ca5;font-size:.75rem}.hero h1{font-family:Georgia,serif;font-size:clamp(2.8rem,5vw,5.4rem);line-height:1.07;letter-spacing:-.04em;margin:17px 0}.hero h1 em{color:var(--purple);font-style:normal}.lead{font-size:1.15rem;color:#62586a;max-width:570px}.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin:26px 0}.trust{font-size:.89rem;color:#72687a}.book-art{position:relative;min-height:440px;display:grid;place-items:center}.book{background:linear-gradient(155deg,#f8e6fc,#fff 48%,#eee2f6);border-radius:5px 18px 18px 5px;box-shadow:20px 25px 50px #4b2c5e45,-10px 3px 0 #e3c8ec;transform:rotate(-7deg);width:320px;height:420px;padding:33px 25px;display:flex;flex-direction:column;align-items:center;text-align:center;border-left:13px solid #4e1c6c;position:relative;overflow:hidden}.book:before{content:'';position:absolute;width:520px;height:220px;left:-80px;bottom:-100px;border:35px solid #af75d1;border-radius:50%;transform:rotate(-18deg)}.book .tiny{font-size:.72rem;color:#784093;font-weight:850;letter-spacing:.2em}.book h2{font:800 2.55rem/1.05 Georgia,serif;color:#281237;margin:42px 0 20px}.book .line{width:130px;height:5px;background:var(--gold);border-radius:20px}.book p{font-size:.81rem;color:#624b6d}.book .seal{margin-top:auto;font-weight:800;color:#743592}.section{padding:76px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:28px}.section h2,.page-title{font:700 clamp(1.9rem,3vw,2.7rem)/1.2 Georgia,serif;margin:7px 0}.section-intro{color:var(--muted);max-width:650px;margin:8px 0 0}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:25px;box-shadow:var(--shadow)}.card h3{margin:10px 0 8px;font-size:1.15rem}.card p{color:var(--muted);margin:0}.feature-icon{font-size:1.9rem}.unit{padding:0;overflow:hidden}.unit-stripe{height:8px}.unit-body{padding:23px}.unit-num{font-weight:850;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase}.unit h3{font-size:1.16rem;line-height:1.35}.unit .count{font-size:.82rem;color:var(--muted);margin-top:14px}.units{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.banner{background:linear-gradient(110deg,#491768,#7c3c99);color:#fff;border-radius:22px;padding:42px;display:flex;align-items:center;justify-content:space-between;gap:30px}.banner h2{font:700 2rem Georgia,serif;margin:0 0 8px}.banner p{color:#eee0f2;margin:0}.banner .btn{white-space:nowrap}.footer{background:#2d123d;color:#eee2f1;margin-top:60px;padding:50px 0 20px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px}.footer a{display:block;margin:9px 0;color:#e8d8ec}.footer p{color:#c9b6d1}.footer hr{border:0;border-top:1px solid #583a68;margin:34px 0 20px}.footnote{color:#cbb5d4;font-size:.8rem}.page{padding:45px 0 70px;min-height:55vh}.breadcrumbs{font-size:.86rem;color:#806d89;margin-bottom:19px}.breadcrumbs a{color:#743b8c}.chapter-list{display:grid;grid-template-columns:1fr 1fr;gap:15px}.chapter{display:flex;align-items:center;gap:15px;padding:17px 19px;border:1px solid var(--line);background:#fff;border-radius:13px}.chapter:hover{border-color:#b68ac8}.chapter-index{width:40px;height:40px;border-radius:10px;background:#f1e5f5;color:var(--purple);font-weight:850;display:grid;place-items:center;flex-shrink:0}.chapter strong{display:block;line-height:1.3}.chapter small{color:var(--muted)}.chapter .arrow{margin-left:auto;color:var(--purple)}.chip{display:inline-block;background:#f0e2f6;color:#692c86;border-radius:99px;padding:5px 12px;font-size:.76rem;font-weight:800}.chapter-hero{display:grid;grid-template-columns:1fr 320px;gap:25px;align-items:start}.story{background:#fff9ed;border-left:4px solid var(--gold);padding:22px;border-radius:12px}.story h3{margin-top:0}.lesson-list{display:grid;gap:10px}.lesson-link{display:flex;align-items:center;justify-content:space-between;gap:20px;background:white;padding:17px 20px;border-radius:12px;border:1px solid var(--line)}.lesson-link:hover{border-color:#ac7fc1}.reader-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:26px;align-items:start}.sidebar{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;position:sticky;top:105px}.sidebar a{display:block;padding:10px;border-radius:8px;font-size:.89rem}.sidebar a:hover,.sidebar a.active{background:#f1e5f6;color:#662881}.reading{background:white;border:1px solid var(--line);border-radius:17px;padding:clamp(20px,4vw,48px);max-width:100%;overflow:hidden}.reading h1{font:700 clamp(1.9rem,4vw,2.7rem) Georgia,serif;margin:7px 0 25px}.reading h2{font:700 1.4rem Georgia,serif;color:#5f287d;margin:35px 0 12px}.reading p{line-height:1.85}.math{overflow-x:auto;max-width:100%;padding:10px 0}.example,.exercise{padding:20px;border:1px solid #e6d4ee;border-radius:12px;background:#faf5fc;margin:20px 0}.example h3,.exercise h3{color:#6c3288;margin:0 0 10px}.venn{width:100%;max-width:440px;display:block;margin:16px auto}.locked{background:linear-gradient(145deg,#f6eaf9,#fff);border:1px solid #e6d3ed;border-radius:17px;padding:32px;text-align:center}.locked .icon{font-size:2.5rem}.locked h2{margin:8px 0}.pricing{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.price{font:800 2rem Georgia,serif;color:var(--purple);margin:16px 0}.price small{font:400 .9rem system-ui;color:var(--muted)}.price-card ul{padding-left:20px;color:var(--muted);min-height:130px}.price-card li{margin:8px 0}.form-card{max-width:470px;margin:20px auto}.field{display:block;margin:15px 0;font-weight:700;font-size:.89rem}.field input{width:100%;padding:13px;border-radius:10px;border:1px solid #d7c8dc;margin-top:6px;outline-color:#9955b7}.notice{background:#fff7e2;color:#674b16;padding:15px;border:1px solid #f2dfac;border-radius:12px;margin:20px 0}.dashboard{display:grid;grid-template-columns:1fr 1fr;gap:20px}.progress{height:8px;background:#eee4f2;border-radius:10px;overflow:hidden}.progress>div{background:#71338d;height:100%;width:24%}.video-box{aspect-ratio:16/9;background:linear-gradient(135deg,#301044,#71318e);color:white;border-radius:16px;display:grid;place-items:center;text-align:center;padding:20px}.video-box span{font-size:3rem}.muted{color:var(--muted)}.empty{padding:30px;background:white;border:1px solid var(--line);border-radius:15px}.search{width:100%;max-width:400px;padding:12px 15px;border-radius:12px;border:1px solid #d9c8e1}.mobile-nav{display:none}@media(max-width:950px){.links{gap:12px;font-size:.86rem}.hero-inner{gap:20px}.book{width:270px;height:370px}.book h2{font-size:2rem}.units{grid-template-columns:repeat(2,1fr)}.reader-layout{grid-template-columns:200px 1fr}.chapter-hero{grid-template-columns:1fr}}@media(max-width:700px){.nav{min-height:66px}.links{display:none}.menu{display:inline-flex}.mobile-nav.open{display:flex;flex-direction:column;background:#fff;border-top:1px solid var(--line);padding:15px 22px;gap:12px}.hero-inner{grid-template-columns:1fr;padding:58px 0}.hero h1{font-size:3rem}.book-art{min-height:350px}.book{height:330px;width:250px}.book h2{margin:28px 0 12px}.grid,.units,.pricing,.chapter-list,.dashboard{grid-template-columns:1fr}.section{padding:48px 0}.section-head{align-items:start;flex-direction:column}.banner{padding:28px;flex-direction:column;align-items:start}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:span 2}.reader-layout{grid-template-columns:1fr}.sidebar{position:static}.reading{padding:22px}.chapter-hero{grid-template-columns:1fr}.actions .btn.alt{display:none}.hero-cta .btn{width:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

/* Multi-programme academic catalogue */
.programme-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}.programme-card{display:block;text-decoration:none;color:inherit;transition:transform .15s,box-shadow .15s}.programme-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px #37174d1a}.programme-card h3{margin:15px 0 8px}.programme-card p{min-height:42px}.course-cta{font-weight:700;color:#6c2c89}.level-tags{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}.subject-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.subject-tile{border:1px solid #e8dcec;background:white;border-radius:12px;padding:18px;text-decoration:none;color:#251c2a;display:flex;flex-direction:column;gap:10px;min-height:126px;transition:border-color .15s}.subject-tile:hover{border-color:#7b3994}.subject-tile span{font-size:24px}.subject-tile small{margin-top:auto;color:#784091;font-weight:600}@media(max-width:800px){.programme-grid{grid-template-columns:1fr}.subject-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.subject-grid{grid-template-columns:1fr}}
