:root { --ink:#28201d; --muted:#756b67; --teal:#ef6b2e; --teal-dark:#c94f1e; --mint:#fff0e7; --lime:#ffc078; --paper:#fffdfb; --line:#f0ded3; --white:#fff; --coral:#ef6b2e; --orange:#ef6b2e; }
* { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body { color:var(--ink); background:var(--paper); font-family:'DM Sans',sans-serif; line-height:1.5; }
button, input, select { font:inherit; }
button { cursor:pointer; border:0; }
.topbar { padding:10px 5vw; background:var(--ink); color:#fff2e9; display:flex; justify-content:center; font-size:12px; letter-spacing:.2px; }
.topbar strong { color:var(--lime); margin-right:6px; }
header { position:sticky; top:0; z-index:20; background:rgba(255,253,251,.92); backdrop-filter:blur(14px); border-bottom:1px solid rgba(240,222,211,.85); }
nav { max-width:1240px; margin:auto; padding:18px 5vw; display:flex; align-items:center; gap:36px; }
.brand, .solid-btn, .outline-btn, .lime-btn { text-decoration:none; }
.brand { display:flex; align-items:center; gap:10px; color:var(--ink); font:800 15px 'Plus Jakarta Sans'; letter-spacing:-.4px; white-space:nowrap; }
.brand-icon { display:grid; place-items:center; width:42px; height:42px; background:transparent; border-radius:5px; overflow:hidden; flex:0 0 auto; }
.brand-icon img { display:block; width:100%; height:100%; object-fit:cover; }
.brand-copy { display:grid; gap:3px; }
.brand-name { color:var(--orange); font:700 25px/0.82 'Brush Script MT','Segoe Script',cursive; letter-spacing:.2px; }
.brand-tagline { color:var(--muted); font:800 8px/1 'DM Sans',sans-serif; letter-spacing:.8px; }
.navlinks { display:flex; gap:24px; align-items:center; margin-left:auto; }
.navlinks a { background:transparent; color:var(--muted); font-size:14px; text-decoration:none; transition:.2s; }
.navlinks a:hover, .navlinks a.active { color:var(--teal-dark); }
.nav-dropdown { position:relative; }
.nav-dropdown summary { display:flex; align-items:center; gap:4px; color:var(--muted); font-size:14px; cursor:pointer; list-style:none; white-space:nowrap; }
.nav-dropdown summary::-webkit-details-marker { display:none; }
.nav-dropdown summary:hover,.nav-dropdown[open] summary { color:var(--teal-dark); }
.nav-dropdown summary svg { flex:0 0 auto; transition:transform .2s; }
.nav-dropdown[open] summary svg { transform:rotate(180deg); }
.nav-dropdown-menu { position:absolute; top:calc(100% + 12px); left:-12px; z-index:21; display:grid; min-width:190px; gap:0; padding:7px; border:1px solid var(--line); border-radius:11px; background:var(--paper); box-shadow:0 12px 28px #40201618; }
.nav-dropdown-menu a { padding:10px 11px; border-radius:7px; white-space:nowrap; }
.nav-dropdown-menu a:hover,.nav-dropdown-menu a.active { background:var(--mint); }
.nav-actions { display:flex; gap:10px; align-items:center; }
.nav-mobile-actions { display:none; }
.outline-btn, .solid-btn, .lime-btn { padding:11px 17px; border-radius:9px; font-weight:700; font-size:13px; transition:transform .2s, box-shadow .2s; }
.outline-btn { color:var(--teal-dark); border:1px solid #efbda4; background:transparent; }
.solid-btn { background:var(--teal); color:white; }
.lime-btn { background:var(--lime); color:var(--ink); }
.outline-btn:hover, .solid-btn:hover, .lime-btn:hover { transform:translateY(-2px); box-shadow:0 8px 18px #ef6b2e26; }
.mobile-menu { display:none; background:none; color:var(--ink); }
main { overflow:hidden; }
.hero { max-width:1240px; margin:auto; padding:66px 5vw 42px; display:grid; grid-template-columns:1.12fr .88fr; gap:34px; align-items:center; }
.hero-content { max-width:700px; }
.eyebrow { display:inline-flex; align-items:center; gap:8px; color:var(--teal-dark); font-size:12px; font-weight:800; letter-spacing:1.4px; text-transform:uppercase; margin-bottom:20px; }
.eyebrow i { width:7px; height:7px; border-radius:50%; background:var(--coral); }
h1, h2, h3 { font-family:'Plus Jakarta Sans',sans-serif; letter-spacing:-2px; line-height:1.1; }
h1 { max-width:620px; font-size:clamp(42px,6vw,76px); }
h1 span { color:var(--teal); }
.hero-copy { max-width:485px; color:var(--muted); margin:24px 0 30px; font-size:17px; }
.hero-actions { display:flex; gap:12px; flex-wrap:wrap; }
.trust { display:flex; align-items:center; gap:15px; margin-top:38px; font-size:12px; color:var(--muted); }
.avatars { display:flex; }
.avatar { width:30px; height:30px; border-radius:50%; border:2px solid var(--paper); margin-left:-7px; display:grid; place-items:center; color:white; font-size:10px; font-weight:700; }
.avatar:first-child { margin-left:0; background:#efae8d; } .avatar:nth-child(2) { background:#d98255; } .avatar:nth-child(3) { background:#bd6941; } .avatar:nth-child(4) { background:#da7c71; }
.book-showcase { min-width:0; display:flex; flex-direction:column; align-items:center; justify-self:stretch; }
.book-edition { align-self:flex-end; display:flex; align-items:center; gap:9px; margin:0 8% -12px 0; padding:10px 15px; border:1px solid var(--line); border-radius:12px; background:#fffdfbdb; color:var(--teal-dark); box-shadow:0 9px 24px #4020160d; font-size:10px; line-height:1.35; }
.book-edition strong { color:var(--ink); font-size:11px; }
.book-stage { position:relative; width:100%; height:430px; display:grid; place-items:center; perspective:1050px; perspective-origin:50% 48%; }
.book-halo { position:absolute; width:min(75%,310px); aspect-ratio:1; border:1px solid #f1b18f80; border-radius:50%; box-shadow:0 0 0 24px #f9d5c122,0 0 0 48px #fde6d922; }
.book-shadow { position:absolute; width:230px; height:36px; bottom:22px; border-radius:50%; background:#5b2b1760; filter:blur(16px); transform:rotate(-7deg); }
.book-float { position:relative; z-index:1; width:300px; height:390px; display:grid; place-items:center; transform-style:preserve-3d; animation:book-hover 4.4s ease-in-out infinite; }
.book-rotator { position:relative; width:280px; height:370px; transform:rotateX(-7deg) rotateY(-24deg); transform-style:preserve-3d; transform-origin:center center; transition:transform .45s ease; cursor:grab; touch-action:none; user-select:none; -webkit-user-select:none; outline:none; }
.book-rotator:active { cursor:grabbing; }
.book-rotator:focus-visible { filter:drop-shadow(0 0 6px #ef6b2e99); }
.book-cover { position:absolute; inset:0; overflow:hidden; border:1px solid #171b20; border-radius:6px 9px 9px 6px; background:#16221f; backface-visibility:hidden; -webkit-backface-visibility:hidden; box-shadow:inset 5px 0 7px #00000026,0 8px 22px #21161130; }
.book-cover img { display:block; width:100%; height:100%; object-fit:cover; pointer-events:none; }
.book-front img { object-fit:fill; }
.book-front { transform:translateZ(17px); }
.book-back { transform:rotateY(180deg) translateZ(17px); }
.book-pages { position:absolute; background-color:#f9f7f0; backface-visibility:hidden; }
.book-page-edge { width:34px; height:356px; left:calc(50% - 17px); top:7px; border:1px solid #c7bda9; border-radius:0 4px 4px 0; background:repeating-linear-gradient(180deg,#fffdf7 0 3px,#dcd3c5 3px 4px); transform:translateX(140px) rotateY(90deg); }
.book-page-top,.book-page-bottom { width:274px; height:34px; left:3px; border-left:1px solid #d9cfbe; border-right:1px solid #d9cfbe; background:repeating-linear-gradient(90deg,#fffdf7 0 3px,#dcd3c5 3px 4px); }
.book-page-top { top:calc(50% - 17px); transform:translateY(-185px) rotateX(90deg); }
.book-page-bottom { top:calc(50% - 17px); transform:translateY(185px) rotateX(-90deg); }
.book-spine { position:absolute; left:calc(50% - 17px); top:0; width:34px; height:370px; overflow:hidden; border:1px solid #16856b; background:#005b45; box-shadow:inset 0 0 8px #0008; transform:translateX(-140px) rotateY(-90deg); }
.book-spine img { display:block; width:100%; height:100%; object-fit:fill; pointer-events:none; }
.book-spine--photo img { object-fit:cover; object-position:center; }
.book-reset { position:absolute; z-index:2; right:10%; bottom:15px; width:39px; height:39px; display:grid; place-items:center; border:1px solid #efbda4; border-radius:50%; background:#fffdfb; color:var(--teal-dark); box-shadow:0 5px 18px #40201616; transition:transform .2s,background .2s; }
.book-reset:hover { transform:rotate(-35deg); background:#fff0e7; }
@keyframes book-hover { 0%,100% { transform:translateY(2px); } 50% { transform:translateY(-12px); } }
@media (hover:hover) and (pointer:fine) {
  .book-showcase:hover .book-rotator,
  .book-rotator:focus-visible { transform:rotateX(-9deg) rotateY(-38deg); }
}
@media (prefers-reduced-motion:reduce) { .book-float { animation:none; } .book-rotator { transition:none; } }
.hero-portrait { position:absolute; z-index:2; bottom:0; right:20%; width:47%; height:76%; background:linear-gradient(145deg,#f4b28d,#d66b3e); border-radius:120px 120px 20px 20px; }
.hero-portrait:before { content:'✦'; position:absolute; width:76%; height:43%; top:7%; left:12%; border-radius:50%; background:#333; color:#f3b77b; display:grid; place-items:center; font-size:42px; box-shadow:inset 0 -20px #9c6f62; }
.hero-portrait:after { content:'DENTAL PULSE'; position:absolute; bottom:11%; left:18%; color:white; font:800 15px 'Plus Jakarta Sans'; opacity:.88; }
.section { max-width:1240px; margin:auto; padding:88px 5vw; }
.about { background:#fff; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.about-inner { max-width:1240px; margin:auto; padding:88px 5vw; display:grid; grid-template-columns:.85fr 1.15fr; gap:70px; align-items:center; }
.about-art { min-height:330px; display:grid; place-items:center; padding:0; }
.about-art > img { display:block; width:min(100%,330px); height:auto; object-fit:contain; }
.about-tabs { display:flex; flex-wrap:wrap; gap:9px; margin-top:28px; }
.about-tab { padding:10px 13px; border:1px solid var(--line); border-radius:9px; background:#fff; color:var(--muted); font-size:12px; font-weight:700; transition:.2s; }
.about-tab:hover, .about-tab.active { background:var(--teal); border-color:var(--teal); color:#fff; transform:translateY(-2px); }
.about-panel { margin-top:18px; min-height:76px; padding:16px; border-radius:11px; background:#fff8f4; border-left:3px solid var(--teal); color:var(--muted); font-size:13px; }
.about-panel strong { display:block; color:var(--teal-dark); margin-bottom:4px; font-size:14px; }
.about-copy h2 { font-size:clamp(30px,4vw,48px); margin-bottom:18px; }
.about-copy p { color:var(--muted); font-size:15px; margin-bottom:14px; max-width:570px; }
.about-points { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:26px; }
.about-point { display:flex; gap:10px; font-size:13px; font-weight:700; align-items:center; }
.about-point i { color:var(--teal); }
.about-hero { padding-bottom:48px; }
.about-story { border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:#fff; }
.about-story-inner { max-width:1240px; margin:auto; padding:72px 5vw; display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(32px,6vw,78px); align-items:center; }
.about-story-art { min-height:330px; display:grid; align-content:center; justify-items:center; padding:30px; border-radius:22px; background:radial-gradient(circle at 50% 20%,#35302c,#151515 70%); color:#fff; }
.about-story-art img { width:min(220px,72%); margin-bottom:22px; border-radius:10px; }
.about-story-art span { color:#ffe3c0; font-size:11px; font-weight:800; letter-spacing:1.4px; }
.about-story-copy .eyebrow { margin-bottom:12px; }
.about-story-copy h2,.about-why h2 { margin-bottom:18px; font-size:clamp(30px,4vw,46px); letter-spacing:-1.4px; }
.about-story-copy p,.about-why p { margin-bottom:14px; color:var(--muted); font-size:14px; line-height:1.8; }
.about-story-copy p:last-child,.about-why p:last-child { margin-bottom:0; }
.about-mission-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.about-detail-card { padding:24px; border:1px solid var(--line); border-radius:16px; background:#fff; }
.about-detail-card .opportunity-icon { margin-bottom:17px; }
.about-detail-card h3,.about-philosophy-grid h3 { margin-bottom:8px; font-size:18px; letter-spacing:-.5px; }
.about-detail-card p,.about-philosophy-grid p { color:var(--muted); font-size:13px; line-height:1.7; }
.about-why { padding:72px 5vw; background:#fff8f3; }
.about-why-inner { max-width:820px; margin:auto; }
.about-why .eyebrow { margin-bottom:12px; }
.about-philosophy-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.about-philosophy-grid article { display:flex; gap:16px; padding:23px; border:1px solid var(--line); border-radius:15px; background:#fff; }
.about-philosophy-grid article > span { color:var(--teal-dark); font:800 13px 'Plus Jakarta Sans',sans-serif; }
.about-authors { padding:76px 5vw; background:#fff8f3; }
.about-authors-inner { max-width:1140px; margin:auto; }
.about-author-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; align-items:stretch; }
.about-author-card { overflow:hidden; border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:0 14px 32px #4020160b; }
.about-author-card > img { display:block; width:100%; height:280px; object-fit:contain; object-position:center; background:#fff; }
.about-author-copy { padding:23px; }
.about-author-copy .eyebrow { margin-bottom:10px; font-size:10px; }
.about-author-copy h3 { margin-bottom:13px; font-size:23px; letter-spacing:-.7px; }
.about-author-copy p { margin-bottom:12px; color:var(--muted); font-size:13px; line-height:1.75; }
.about-author-copy p:last-child { margin-bottom:0; }
.about-author-source { margin-top:24px; color:var(--muted); font-size:12px; line-height:1.6; }
.about-author-source a { color:var(--teal-dark); font-weight:700; }
.section-head { display:flex; justify-content:space-between; gap:30px; align-items:end; margin-bottom:36px; }
.section h2 { font-size:clamp(29px,4vw,46px); max-width:500px; }
.section-intro { color:var(--muted); max-width:380px; font-size:14px; }
.page-hero { padding:92px 5vw 70px; max-width:1240px; margin:auto; }
.page-hero h1 { max-width:760px; margin-bottom:20px; }
.page-hero p { max-width:620px; color:var(--muted); font-size:17px; }
.policy-section,.blog-section,.opportunity-section,.opportunity-contacts { max-width:1240px; margin:0 auto; padding:0 5vw 88px; }
.policy-content { max-width:820px; margin:0 auto; padding:36px; border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:0 18px 40px #153f3910; }
.policy-content section { padding-top:30px; margin-top:30px; border-top:1px solid var(--line); }
.policy-content section:first-child { padding-top:0; margin-top:0; border-top:0; }
.policy-content h2,.opportunity-contacts h2 { margin-bottom:12px; font-size:21px; line-height:1.35; letter-spacing:-.5px; }
.policy-content h3 { margin:28px 0 10px; font-size:17px; line-height:1.4; letter-spacing:-.35px; }
.policy-content p { color:var(--muted); font-size:15px; line-height:1.8; }
.policy-content p + p { margin-top:12px; }
.policy-content ul { display:grid; gap:9px; padding-left:24px; margin:12px 0 18px; list-style:disc; color:var(--muted); font-size:15px; line-height:1.7; }
.policy-content li { padding-left:4px; }
.policy-content a,.franchise-prompt a { color:var(--teal-dark); font-weight:700; overflow-wrap:anywhere; }
.policy-content .policy-source,.policy-contact { font-size:12px; }
.blog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.blog-card { overflow:hidden; display:flex; flex-direction:column; border:1px solid var(--line); border-radius:17px; background:#fff; transition:transform .2s,border-color .2s,box-shadow .2s; }
.blog-card:hover { transform:translateY(-3px); border-color:#efb18f; box-shadow:0 15px 32px #40201612; }
.blog-image-link { display:block; overflow:hidden; background:#fff0e7; }
.blog-image { display:block; width:100%; aspect-ratio:16/10; object-fit:cover; transition:transform .3s; }
.blog-card:hover .blog-image { transform:scale(1.025); }
.blog-card-copy { display:flex; flex:1; flex-direction:column; align-items:flex-start; padding:21px; }
.blog-card-copy time { color:var(--teal-dark); font-size:11px; font-weight:700; }
.blog-card-copy h2 { margin:9px 0; font-size:18px; line-height:1.4; letter-spacing:-.4px; }
.blog-card-copy h2 a { color:var(--ink); text-decoration:none; }
.blog-card-copy p { margin-bottom:19px; color:var(--muted); font-size:13px; line-height:1.65; }
.blog-read-link { display:inline-flex; align-items:center; gap:5px; margin-top:auto; color:var(--teal-dark); font-size:12px; font-weight:700; text-decoration:none; }
.franchise-prompt { margin:-10px 0 18px !important; font-size:12px !important; }
.opportunity-section { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.opportunity-card { padding:30px; border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:0 14px 32px #153f390b; }
.opportunity-icon { display:grid; width:44px; height:44px; margin-bottom:20px; place-items:center; border-radius:13px; background:var(--mint); color:var(--teal-dark); }
.opportunity-card h2 { margin-bottom:10px; font-size:23px; }
.opportunity-card p,.opportunity-contact p { margin-bottom:13px; color:var(--muted); font-size:14px; line-height:1.75; }
.opportunity-card .solid-btn,.opportunity-card .outline-btn { display:inline-flex; align-items:center; gap:7px; margin-top:7px; }
.opportunity-contacts { padding-top:0; }
.opportunity-contacts h2 { margin:10px 0 22px; font-size:30px; }
.opportunity-contact-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.opportunity-contact { display:grid; gap:5px; padding:22px; border:1px solid var(--line); border-radius:14px; background:#fff; }
.opportunity-contact h3 { font-size:17px; }
.opportunity-contact p { margin:0 0 5px; font-size:12px; }
.opportunity-contact a { width:fit-content; color:var(--teal-dark); font-size:13px; font-weight:700; text-decoration:none; }
.opportunity-contacts > .policy-source { margin-top:22px; color:var(--muted); font-size:12px; }
.opportunity-contacts > .policy-source a { color:var(--teal-dark); font-weight:700; }
.franchise-hero { padding-bottom:36px; }
.franchise-section { max-width:1240px; margin:0 auto; padding:0 5vw 70px; }
.franchise-banner { display:block; width:100%; height:clamp(190px,32vw,360px); margin-bottom:28px; border:1px solid var(--line); border-radius:18px; background:#fff; object-fit:cover; }
.franchise-layout { display:grid; grid-template-columns:.95fr 1.05fr; gap:24px; align-items:start; }
.franchise-copy { padding:24px 10px 0 0; }
.franchise-copy .eyebrow { margin-bottom:12px; }
.franchise-copy h2 { margin-bottom:16px; font-size:clamp(25px,3vw,34px); letter-spacing:-1px; }
.franchise-copy p { margin-bottom:16px; color:var(--muted); font-size:14px; line-height:1.8; }
.franchise-copy .policy-source { margin-top:22px; font-size:12px; }
.franchise-copy .policy-source a { color:var(--teal-dark); font-weight:700; }
.franchise-form { margin:0; padding:28px; }
.franchise-form > p { margin-bottom:18px; }
.franchise-form textarea { min-height:105px; }
.franchise-consent { display:flex; align-items:flex-start; gap:8px; margin-top:15px; color:var(--muted); font-size:11px; line-height:1.6; }
.franchise-consent input { flex:0 0 auto; margin-top:3px; accent-color:var(--teal); }
.franchise-consent a { color:var(--teal-dark); font-weight:700; }
.mentor-band { padding:0 5vw 76px; }
.mentor-grid { max-width:1240px; margin:auto; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.mentor-card { overflow:hidden; border:1px solid var(--line); border-radius:18px; background:var(--paper); }
.mentor-photo { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:contain; object-position:center; background:#fff8f3; }
.mentor-card-copy { padding:22px; }
.mentor-card-copy h2 { font-size:21px; letter-spacing:-.8px; margin:5px 0 8px; }
.mentor-card-copy h3 { font:800 11px 'DM Sans',sans-serif; letter-spacing:.8px; text-transform:uppercase; margin-top:20px; }
.mentor-subject { min-height:36px; color:var(--teal-dark); font-size:11px; font-weight:800; letter-spacing:.3px; text-transform:uppercase; }
.mentor-role { color:var(--muted); font-size:12px; }
.mentor-qualifications { display:grid; gap:8px; padding-left:17px; margin-top:10px; color:var(--muted); font-size:12px; }
.mentor-qualifications:empty { display:none; }
.content-band { background:#fff; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.content-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.content-card { background:var(--paper); border:1px solid var(--line); border-radius:16px; padding:26px; min-height:205px; }
.content-card h3 { font-size:20px; letter-spacing:-.8px; margin:24px 0 8px; }
.content-card p { color:var(--muted); font-size:13px; }
.featured-batch { max-width:1140px; margin:0 auto 12px; padding:34px 5vw; display:grid; grid-template-columns:1.25fr .75fr; gap:24px; align-items:center; background:#071d46; color:#fff; overflow:hidden; position:relative; }
.featured-batch:before { content:''; position:absolute; width:360px; height:360px; border:1px solid #f6bd32; border-radius:50%; right:18%; top:-210px; box-shadow:0 0 0 28px #f6bd3214, 0 0 0 58px #f6bd320c; }
.featured-copy, .featured-art { position:relative; z-index:1; }
.featured-kicker { color:#ffc21a; font-size:11px; font-weight:800; letter-spacing:1.3px; text-transform:uppercase; }
.featured-copy h2 { font-size:clamp(34px,5vw,58px); letter-spacing:-2px; margin:8px 0 7px; }
.featured-copy p { max-width:510px; color:#dce8f5; font-size:14px; margin-bottom:20px; }
.featured-copy .lime-btn { display:inline-flex; align-items:center; gap:7px; }
.featured-art { min-height:190px; display:flex; flex-direction:column; justify-content:center; align-items:center; border-left:1px solid #ffffff2e; }
.featured-art span { color:#fff; font-size:22px; font-weight:800; letter-spacing:2px; }
.featured-art strong { color:#ffc21a; font:800 clamp(50px,7vw,82px)/.9 'Plus Jakarta Sans'; letter-spacing:-4px; }
.featured-art i { color:#ffc21a; margin:12px 0 8px; }
.featured-art small { color:#b9cce1; font-size:10px; letter-spacing:2px; }
.festival-offer { isolation:isolate; grid-template-columns:1.25fr .75fr; min-height:340px; padding-bottom:92px; border:1px solid #e89d69; border-radius:14px; background-image:linear-gradient(105deg,rgba(52,25,12,.86) 0%,rgba(112,50,18,.68) 55%,rgba(138,69,20,.45) 100%),url("images/diwali-lights.jpg"); background-size:cover; background-position:center 48%; box-shadow:0 14px 34px #9b4a2210; color:#fff; }
.festival-offer:before { display:none; }
.festival-offer .featured-kicker { color:#ffd18b; }
.festival-offer .featured-copy h2 { max-width:600px; font-size:clamp(32px,4.5vw,52px); }
.festival-offer .featured-copy p { max-width:510px; color:#fff0df; }
.festival-offer .featured-art { min-height:205px; border-left-color:#fff6e259; }
.festival-offer .featured-art span { color:#fff7ed; }
.festival-offer .featured-art strong { color:#ffc078; }
.festival-offer .featured-art small { color:#ffdfbd; }
.festival-callout { position:absolute; z-index:2; right:82px; bottom:18px; display:grid; justify-items:end; gap:6px; }
.festival-callout > span { color:#fff1c7; font-size:11px; font-weight:800; text-shadow:0 0 8px #ffc078,0 0 20px #ef6b2e; }
.festival-cta { display:inline-flex; min-height:38px; align-items:center; justify-content:center; padding:9px 13px; border-radius:7px; font-size:11px; }
.app-download-section { max-width:1240px; margin:auto; padding:12px 5vw 54px; }
.app-promo { position:relative; isolation:isolate; overflow:hidden; padding:34px 38px 30px; display:flex; flex-direction:column; align-items:center; gap:12px; border:1px solid var(--line); border-radius:22px; background:radial-gradient(ellipse at 88% 45%,#ffe4d0 0,transparent 47%),linear-gradient(120deg,#fffaf6,#fff0e7); box-shadow:0 18px 45px #40201610; }
.app-promo:before { content:''; position:absolute; z-index:-1; width:330px; height:330px; border:1px solid #efb18f; border-radius:50%; right:-105px; bottom:-235px; box-shadow:0 0 0 28px #f9d5c133,0 0 0 58px #fde6d933; }
.app-promo-copy { position:relative; z-index:1; text-align:center; }
.app-promo-copy h2 { max-width:440px; margin:0 0 12px; font-size:clamp(29px,4vw,42px); }
.app-promo-copy p { max-width:390px; color:var(--muted); font-size:14px; }
.app-promo-art { position:relative; z-index:1; }
.app-promo-art img { display:block; width:min(100%,620px); height:auto; margin:auto; object-fit:contain; }
.app-promo-links { display:flex; justify-content:center; flex-wrap:wrap; gap:12px; margin-top:8px; }
.app-promo-links a { display:inline-flex; align-items:center; gap:8px; }
.catalog-head { display:flex; justify-content:space-between; gap:30px; align-items:end; margin-bottom:26px; }
.catalog-head h2 { max-width:620px; font-size:clamp(29px,4vw,46px); }
.course-filters { display:flex; flex-wrap:wrap; gap:9px; margin-bottom:24px; }
.course-filter { padding:10px 14px; border:1px solid var(--line); border-radius:9px; background:#fff; color:var(--muted); font-size:12px; font-weight:700; transition:.2s; }
.course-filter:hover, .course-filter.active { background:var(--teal); border-color:var(--teal); color:#fff; transform:translateY(-2px); }
.course-card { position:relative; }
.course-card[hidden] { display:none; }
.course-card { padding:0; overflow:hidden; display:flex; flex-direction:column; min-height:100%; }
.course-art { aspect-ratio:16/9; padding:0; overflow:hidden; background:#071d46; }
.course-art img { display:block; width:100%; height:100%; object-fit:contain; }
.course-body { display:flex; flex-direction:column; flex:1; padding:22px; background:#fff; }
.course-level { display:block; color:var(--teal-dark); font-size:11px; font-weight:800; letter-spacing:.7px; text-transform:uppercase; margin-bottom:10px; }
.course-body h3 { margin:0 0 8px; }
.course-body p { min-height:40px; }
.course-body ul { display:grid; gap:7px; list-style:none; margin:18px 0 22px; color:var(--muted); font-size:11px; }
.course-body li { display:flex; gap:7px; align-items:flex-start; }
.course-body li:before { content:'✓'; color:var(--teal); font-weight:800; }
.course-footer { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-top:auto; padding-top:15px; border-top:1px solid var(--line); }
.course-footer strong { color:var(--ink); font:800 20px 'Plus Jakarta Sans'; }
.course-price { display:grid; flex:0 0 auto; gap:1px; }
.course-price del { color:var(--muted); font-size:11px; }
.course-price strong { color:var(--teal-dark); font-size:18px; }
.course-footer .outline-btn, .course-footer .solid-btn { padding:9px 11px; font-size:11px; white-space:nowrap; }
.course-footer { flex-wrap:wrap; }
.course-details-trigger { flex:1 1 auto; }
.course-empty { padding:24px; border:1px dashed var(--line); border-radius:12px; color:var(--muted); font-size:13px; text-align:center; }
.course-modal-backdrop { position:fixed; inset:0; z-index:40; display:grid; place-items:center; padding:24px; background:rgba(7,20,43,.62); backdrop-filter:blur(9px); -webkit-backdrop-filter:blur(9px); }
.course-modal-backdrop[hidden], .course-modal-block[hidden] { display:none !important; }
.course-modal { position:relative; width:min(1000px,100%); max-height:min(90vh,900px); overflow:auto; border:1px solid rgba(255,255,255,.75); border-radius:22px; background:#fff; box-shadow:0 28px 90px rgba(4,17,42,.36); outline:none; }
.course-modal-close { position:absolute; z-index:2; top:14px; right:14px; display:grid; place-items:center; width:40px; height:40px; border:1px solid #e5eaf1; border-radius:50%; background:#fff; color:#102b31; box-shadow:0 5px 16px rgba(9,25,51,.12); }
.course-modal-close:hover { background:#f4f7fb; }
.course-modal-layout { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); min-height:560px; }
.course-modal-art { display:flex; align-items:center; justify-content:center; min-height:100%; padding:34px; background:#071d46; }
.course-modal-art img { display:block; width:100%; height:auto; max-height:100%; aspect-ratio:16/9; object-fit:contain; border-radius:8px; }
.course-modal-content { display:flex; flex-direction:column; padding:48px 42px 34px; }
.course-modal-content .course-level { margin-bottom:9px; }
.course-modal-content > h2 { margin:0 45px 12px 0; font-size:clamp(26px,3vw,38px); letter-spacing:-1.4px; }
.course-modal-content > p { color:var(--muted); font-size:14px; }
.course-modal-block { margin-top:24px; }
.course-modal-block h3 { margin-bottom:12px; font:800 14px 'Plus Jakarta Sans',sans-serif; letter-spacing:-.2px; }
.course-modal-block > ul:not(.course-subjects) { display:grid; gap:10px; list-style:none; }
.course-modal-block > ul:not(.course-subjects) li { position:relative; padding-left:25px; color:var(--muted); font-size:13px; }
.course-modal-block > ul:not(.course-subjects) li:before { content:'✓'; position:absolute; left:0; top:0; color:var(--teal); font-weight:900; }
.course-subjects { display:flex; flex-wrap:wrap; gap:8px; list-style:none; }
.course-subjects li { padding:7px 10px; border:1px solid var(--line); border-radius:999px; background:#fff8f4; color:var(--ink); font-size:11px; font-weight:700; }
.course-modal-footer { display:flex; justify-content:space-between; align-items:center; gap:14px; margin-top:auto; padding-top:25px; }
.course-modal-footer > strong { color:var(--ink); font:800 23px 'Plus Jakarta Sans',sans-serif; }
.course-modal-footer .solid-btn { display:inline-flex; align-items:center; justify-content:center; }
body.course-modal-open { overflow:hidden; }
.page-form { max-width:680px; margin:0 auto 88px; background:#fff; border:1px solid var(--line); border-radius:18px; padding:32px; box-shadow:0 18px 40px #153f3910; }
.page-form h2 { font-size:28px; margin-bottom:8px; }
.page-form > p { color:var(--muted); font-size:13px; margin-bottom:24px; }
.page-form .modal-submit { display:block; text-align:center; text-decoration:none; }
.registration-form { max-width:880px; }
.form-section { border-top:1px solid var(--line); padding-top:24px; margin-top:28px; }
.form-section:first-of-type { border-top:0; padding-top:0; margin-top:0; }
.form-section h3 { font-size:17px; letter-spacing:-.4px; margin-bottom:16px; }
.form-grid label small { color:var(--muted); font-size:10px; font-weight:400; }
.form-grid input[type="file"] { padding:9px; background:#fff8f4; }
.photo-upload { display:flex; gap:18px; align-items:center; grid-column:1/-1; padding:14px; border:1px dashed #efbda4; border-radius:12px; background:#fff8f4; }
.photo-preview { width:74px; height:88px; border-radius:10px; background:var(--mint); display:grid; place-items:center; overflow:hidden; color:var(--teal-dark); flex:0 0 auto; }
.photo-preview img { width:100%; height:100%; object-fit:cover; display:none; }
.photo-upload p { color:var(--muted); font-size:11px; margin-bottom:8px; }
.photo-upload label { display:block; }
.consent { display:flex !important; grid-template-columns:none !important; flex-direction:row; align-items:flex-start; gap:9px !important; margin-top:18px; color:var(--muted) !important; font-weight:400 !important; font-size:12px !important; }
.consent input { width:auto !important; margin-top:3px; }
.field-error { border-color:#e87867 !important; background:#fff5f2 !important; }
.password-hint { color:var(--muted); font-size:11px; margin-top:10px; }
.form-status { display:none; margin-top:20px; padding:16px; border-radius:10px; background:var(--mint); color:var(--teal-dark); font-size:13px; }
.form-status.visible { display:block; }
.review-card { margin-top:20px; padding:16px; border-radius:12px; background:#fff8f4; border:1px solid var(--line); display:none; }
.review-card.visible { display:block; }
.review-card strong { display:block; font-size:13px; margin-bottom:6px; }
.login-form { max-width:520px; }
.password-field { position:relative; }
.password-field input { padding-right:44px; }
.password-toggle { position:absolute; right:8px; bottom:7px; width:32px; height:32px; display:grid; place-items:center; border-radius:7px; background:transparent; color:var(--muted); }
.password-toggle:hover { background:var(--mint); color:var(--teal-dark); }
.login-options { display:flex; justify-content:space-between; gap:12px; align-items:center; margin-top:15px; color:var(--muted); font-size:12px; }
.remember { display:flex !important; flex-direction:row; align-items:center; gap:7px !important; font-weight:400 !important; color:var(--muted) !important; }
.remember input { width:auto !important; }
.text-button { border:0; background:transparent; color:var(--teal-dark); font-size:12px; font-weight:700; padding:0; }
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; align-items:start; }
.contact-detail { display:flex; gap:14px; padding:18px 0; border-top:1px solid var(--line); }
.contact-detail i { color:var(--teal); }
.contact-detail strong { display:block; font-size:14px; }
.contact-detail span { color:var(--muted); font-size:13px; }
.enquiry-section { max-width:1240px; margin:0 auto; padding:70px 5vw 88px; }
.enquiry-layout { position:relative; isolation:isolate; overflow:hidden; display:grid; grid-template-columns:.8fr 1.2fr; gap:44px; align-items:center; padding:44px; border:1px solid var(--line); border-radius:24px; background:radial-gradient(ellipse at 5% 0%,#ffe4d0 0,transparent 42%),linear-gradient(130deg,#fffaf6,#fff 60%); box-shadow:0 22px 55px #40201610; }
.enquiry-layout:before { content:''; position:absolute; z-index:-1; width:300px; height:300px; left:-190px; bottom:-215px; border:1px solid #efb18f; border-radius:50%; box-shadow:0 0 0 28px #f9d5c133,0 0 0 58px #fde6d933; }
.enquiry-aside > .eyebrow { margin-bottom:14px; }
.enquiry-aside h2 { max-width:390px; margin:0 0 13px; font-size:clamp(30px,4vw,45px); }
.enquiry-aside > p { max-width:390px; margin-bottom:23px; color:var(--muted); font-size:14px; }
.enquiry-contact { display:flex; align-items:center; gap:12px; margin-top:10px; padding:13px; border:1px solid var(--line); border-radius:13px; background:#ffffffc9; color:var(--ink); text-decoration:none; transition:transform .2s,border-color .2s; }
.enquiry-contact:hover { transform:translateY(-2px); border-color:#efb18f; }
.enquiry-contact-icon { display:grid; place-items:center; width:38px; height:38px; flex:0 0 auto; border-radius:11px; background:#fff0e7; color:var(--teal-dark); }
.enquiry-contact > span:nth-child(2) { min-width:0; flex:1; }
.enquiry-contact strong,.enquiry-contact small { display:block; }
.enquiry-contact strong { font-size:12px; }
.enquiry-contact small { overflow-wrap:anywhere; margin-top:2px; color:var(--muted); font-size:11px; }
.enquiry-contact > i { color:var(--teal-dark); }
.enquiry-aside-note { display:flex; align-items:flex-start; gap:9px; margin-top:20px; color:var(--muted); font-size:11px; }
.enquiry-aside-note i { flex:0 0 auto; color:var(--teal-dark); }
.enquiry-form { width:100%; max-width:none; margin:0; padding:30px; border-color:#f0ded3; box-shadow:0 12px 30px #4020160d; }
.enquiry-form h2 { margin-bottom:7px; }
.enquiry-form > p { color:var(--muted); font-size:12px; }
.enquiry-form-kicker { display:inline-block; margin-bottom:8px; color:var(--teal-dark); font-size:10px; font-weight:800; letter-spacing:1.2px; text-transform:uppercase; }
.enquiry-form textarea { width:100%; min-height:128px; border:1px solid var(--line); padding:11px; border-radius:8px; resize:vertical; color:var(--ink); outline-color:var(--teal); }
.enquiry-submit { display:flex; align-items:center; justify-content:center; gap:8px; }
.enquiry-delivery-note { margin:12px 0 0 !important; font-size:10px !important; line-height:1.5; }
.enquiry-result { margin-top:17px; padding:15px; border:1px solid #b8ded5; border-radius:11px; background:#eff9f5; color:var(--teal-dark); }
.enquiry-result[data-state="error"] { border-color:#e9b6aa; background:#fff4f1; color:#9d321e; }
.enquiry-result[data-state="pending"] { border-color:#e8c6ae; background:#fff8f2; color:var(--ink); }
.enquiry-result p { margin:0 0 12px; font-size:12px; line-height:1.5; }
.enquiry-result-actions { display:flex; flex-wrap:wrap; gap:9px; }
.enquiry-result-actions a { display:inline-flex; align-items:center; justify-content:center; text-decoration:none; font-size:11px; }
.enquiry-result[hidden] { display:none; }
.enquiry-submit:disabled { cursor:wait; opacity:.7; }
.form-honeypot { position:absolute !important; left:-10000px !important; width:1px !important; height:1px !important; overflow:hidden !important; }
.navlinks.mobile-open { display:flex; }
.stats { background:var(--ink); color:white; display:grid; grid-template-columns:repeat(4,1fr); gap:20px; padding:32px 5vw; }
.stat { max-width:1240px; width:100%; margin:auto; text-align:center; } .stats .stat:not(:first-child) { border-left:1px solid #60463a; }
.stat strong { font:800 34px 'Plus Jakarta Sans'; display:block; color:var(--lime); } .stat span { font-size:12px; color:#f2d8ca; }
.path-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.path-card { background:white; border:1px solid var(--line); border-radius:16px; padding:26px; min-height:215px; transition:.25s; }
.path-card:hover { border-color:#efb18f; transform:translateY(-4px); box-shadow:0 16px 30px #a84d2818; }
.path-icon { width:42px; height:42px; border-radius:12px; display:grid; place-items:center; color:var(--teal-dark); background:var(--mint); margin-bottom:28px; }
.path-card:nth-child(2) .path-icon { background:#fff0dc; color:#c26f28; } .path-card:nth-child(3) .path-icon { background:#ffe2d2; color:#d45b27; }
.path-card h3 { font-size:19px; letter-spacing:-.5px; margin-bottom:8px; } .path-card p { color:var(--muted); font-size:13px; }
.dashboard { background:#fff2e9; max-width:none; } .dash-inner { max-width:1240px; margin:auto; padding:88px 5vw; }
.dash-grid { display:grid; grid-template-columns:1.5fr 1fr; gap:20px; } .dash-panel { background:white; padding:24px; border-radius:15px; border:1px solid #f0d4c4; }
.dash-panel h3 { font-size:20px; letter-spacing:-.7px; margin-bottom:18px; } .course-row { display:flex; gap:14px; align-items:center; padding:14px 0; border-top:1px solid var(--line); }
.course-icon { width:38px; height:38px; border-radius:10px; background:#fff0dc; display:grid; place-items:center; color:#c26f28; } .course-row p { font-size:13px; font-weight:700; } .course-row small { color:var(--muted); font-size:11px; }
.progress { margin-left:auto; width:75px; height:5px; border-radius:5px; background:#f6e4da; } .progress i { display:block; height:100%; width:72%; background:var(--teal); border-radius:5px; }
.mentor-box { display:flex; gap:15px; align-items:center; background:var(--mint); padding:15px; border-radius:12px; margin-bottom:14px; } .mentor-face { width:47px; height:47px; border-radius:50%; background:linear-gradient(145deg,#35343a 45%,#765466 46%); } .mentor-box strong { font-size:13px; display:block; } .mentor-box span { color:var(--muted); font-size:11px; }
.cta { max-width:1240px; margin:65px auto 0; padding:48px; border-radius:22px; background:var(--teal); color:white; display:flex; justify-content:space-between; align-items:center; gap:25px; } .cta h2 { font-size:33px; max-width:520px; } .cta p { color:#fff0e7; font-size:14px; margin-top:10px; }
footer { background:var(--ink); color:white; padding:48px 5vw 28px; } .footer-grid { max-width:1240px; margin:auto; display:flex; justify-content:space-between; gap:30px; } footer .brand { color:white; } footer p { color:#d8bfb3; font-size:13px; max-width:280px; margin-top:16px; } .footer-links { display:flex; gap:42px; } .footer-links div { display:grid; gap:9px; align-content:start; } .footer-links strong { font-size:12px; color:var(--lime); margin-bottom:4px; } .footer-links a { color:#f1dcd2; text-decoration:none; font-size:12px; }
.footer-socials { display:flex; flex-wrap:wrap; gap:9px; margin-top:18px; }
.footer-socials a { display:grid; width:36px; height:36px; place-items:center; border:1px solid #77594b; border-radius:8px; color:#fff2e9; transition:background .2s,border-color .2s,transform .2s; }
.footer-socials a:hover { transform:translateY(-2px); border-color:var(--lime); background:#ffffff12; }
.footer-socials a:focus-visible { outline:2px solid var(--lime); outline-offset:3px; }
.footer-socials img { display:block; width:18px; height:18px; object-fit:contain; }
.copyright { max-width:1240px; margin:45px auto 0; padding-top:18px; border-top:1px solid #60463a; color:#b89c90; font-size:11px; }
.floating-call, .floating-wa { position:fixed; right:24px; z-index:15; width:50px; height:50px; border-radius:50%; display:grid; place-items:center; color:white; box-shadow:0 8px 20px #40201628; } .floating-call { bottom:85px; background:var(--teal); } .floating-wa { bottom:24px; background:#e96a31; }
.modal-backdrop { position:fixed; inset:0; z-index:30; background:#3d21194d; display:none; place-items:center; padding:20px; } .modal-backdrop.open { display:grid; } .modal { background:white; width:min(500px,100%); border-radius:18px; padding:30px; position:relative; max-height:90vh; overflow:auto; } .close { position:absolute; right:18px; top:18px; background:#fff0e7; border-radius:50%; width:30px; height:30px; display:grid; place-items:center; } .modal h2 { font-size:28px; margin-bottom:6px; } .modal > p { color:var(--muted); font-size:13px; margin-bottom:22px; } .form-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; } .form-grid label { display:grid; gap:5px; color:var(--muted); font-size:11px; font-weight:700; } .form-grid label.full { grid-column:1/-1; } .form-grid input, .form-grid select { width:100%; border:1px solid var(--line); padding:11px; border-radius:8px; outline-color:var(--teal); color:var(--ink); } .modal-submit { width:100%; margin-top:18px; padding:13px; background:var(--teal); border-radius:9px; color:white; font-weight:700; } .switch-auth { text-align:center; font-size:12px; color:var(--muted); margin-top:15px; } .switch-auth button { background:none; color:var(--teal-dark); font-weight:700; }
@media (max-width:500px) { h1 { font-size:42px; } .book-stage { height:375px; padding-right:48px; } .book-float { scale:.87; } .book-edition { margin-right:4%; } .book-reset { right:58px; bottom:8px; } .brand-name { font-size:22px; } .brand-tagline { font-size:7px; } .form-grid { grid-template-columns:1fr; } .form-grid label.full { grid-column:auto; } .floating-call, .floating-wa { right:14px; width:44px; height:44px; } }
.student-dashboard { max-width:1240px; margin:auto; padding:75px 5vw 90px; }
.student-welcome { display:flex; justify-content:space-between; align-items:end; gap:30px; margin-bottom:38px; }
.student-welcome h1 { font-size:clamp(38px,5vw,62px); margin-bottom:12px; }
.student-welcome p { color:var(--muted); font-size:15px; }
.student-welcome > a, .student-next > a { display:inline-flex; align-items:center; gap:8px; white-space:nowrap; }
.student-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.student-panel { background:#fff; border:1px solid var(--line); border-radius:16px; padding:25px; }
.student-panel-head { display:flex; justify-content:space-between; align-items:start; gap:16px; margin-bottom:25px; }
.student-panel-head h2 { font-size:20px; letter-spacing:-.7px; }
.student-panel-head p { color:var(--muted); font-size:12px; margin-top:4px; }
.student-panel-head .outline-btn { display:flex; align-items:center; gap:6px; padding:8px 11px; font-size:11px; }
.profile-identity { display:flex; align-items:center; gap:13px; padding-bottom:20px; border-bottom:1px solid var(--line); }
.student-avatar { width:54px; height:54px; display:grid; place-items:center; border-radius:50%; background:var(--ink); color:var(--lime); font:800 22px 'Plus Jakarta Sans'; }
.profile-identity strong, .profile-identity span { display:block; }
.profile-identity strong { font-size:15px; }
.profile-identity span { color:var(--muted); font-size:12px; margin-top:3px; }
.profile-details { display:grid; grid-template-columns:1fr 1fr; gap:17px 25px; padding-top:20px; }
.profile-details small, .profile-details strong { display:block; }
.profile-details small { color:var(--muted); font-size:10px; text-transform:uppercase; letter-spacing:.7px; }
.profile-details strong { font-size:12px; margin-top:4px; }
.panel-symbol { color:var(--teal); }
.student-course { display:flex; align-items:center; gap:12px; padding:15px 0; border-top:1px solid var(--line); }
.student-course .course-icon { flex:0 0 auto; }
.student-course .course-icon.orange { background:#fff0dc; color:#c26f28; }
.student-course strong, .student-course span { display:block; }
.student-course strong { font-size:13px; }
.student-course span { color:var(--muted); font-size:11px; margin-top:3px; }
.student-course > a { margin-left:auto; color:var(--teal-dark); }
.student-next { display:flex; justify-content:space-between; align-items:center; gap:25px; margin-top:18px; padding:34px; border-radius:16px; background:var(--ink); color:#fff; }
.student-next .eyebrow { color:var(--lime); margin-bottom:10px; }
.student-next .eyebrow i { background:var(--lime); }
.student-next h2 { font-size:28px; }
.student-next p { color:#f2d8ca; font-size:13px; margin-top:7px; }
.dashboard-loading { max-width:1240px; margin:80px auto; padding:0 5vw; color:var(--muted); text-align:center; }
.profile-page { padding-bottom:20px; }
.profile-form { max-width:800px; }
.profile-form .modal-submit { display:flex; justify-content:center; align-items:center; gap:7px; }
@media (max-width:800px) { .student-dashboard { padding-top:52px; } .student-welcome { display:block; } .student-welcome > a { margin-top:22px; } .student-grid { grid-template-columns:1fr; } .student-next { display:block; } .student-next > a { margin-top:22px; } }
.admin-page { min-height:100vh; background:#f7f3ef; }
.admin-shell { max-width:1320px; margin:auto; padding:40px 5vw 70px; }
.admin-login { width:min(520px,100%); margin:7vh auto 0; padding:42px; background:#fff; border:1px solid var(--line); border-radius:20px; box-shadow:0 24px 60px #38211712; }
.admin-brand { display:flex; align-items:center; gap:10px; color:var(--teal-dark); font:700 20px/.9 'Plus Jakarta Sans'; margin-bottom:45px; }
.admin-brand img { width:48px; height:48px; object-fit:cover; border-radius:6px; }
.admin-login h1 { font-size:clamp(36px,6vw,58px); margin-bottom:15px; }
.admin-login > p, .admin-heading p { color:var(--muted); font-size:14px; }
.admin-login-form { display:grid; gap:14px; margin-top:28px; }
.admin-login-form label, .course-admin-form input { display:grid; gap:6px; color:var(--muted); font-size:12px; font-weight:700; }
.admin-login-form input, .admin-search, .course-admin-form input { width:100%; border:1px solid var(--line); border-radius:8px; background:#fff; padding:12px; outline-color:var(--teal); color:var(--ink); }
.admin-login-form button { display:flex; justify-content:center; align-items:center; gap:8px; margin-top:8px; }
.admin-header { display:flex; justify-content:space-between; align-items:center; padding-bottom:22px; border-bottom:1px solid var(--line); }
.admin-header .admin-brand { margin:0; }
.admin-header > div:last-child { display:flex; align-items:center; gap:15px; }
.admin-status { display:inline-flex; align-items:center; gap:7px; color:var(--muted); font-size:12px; font-weight:700; }
.admin-status i { width:8px; height:8px; border-radius:50%; background:#5d9f46; }
.admin-heading { display:flex; justify-content:space-between; align-items:end; gap:30px; padding:58px 0 32px; }
.admin-heading h1 { margin-bottom:10px; font-size:clamp(34px,5vw,58px); }
.admin-heading button { display:flex; align-items:center; gap:7px; white-space:nowrap; }
.admin-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:22px; }
.admin-stats article { position:relative; padding:20px; border:1px solid var(--line); border-radius:14px; background:#fff; }
.admin-stats span { display:block; color:var(--muted); font-size:11px; font-weight:700; }
.admin-stats strong { display:block; margin-top:8px; font:800 30px 'Plus Jakarta Sans'; }
.admin-stats svg { position:absolute; right:18px; top:20px; color:var(--teal); }
.admin-grid { display:grid; grid-template-columns:1.35fr .65fr; gap:18px; }
.admin-panel { padding:24px; border:1px solid var(--line); border-radius:14px; background:#fff; min-width:0; }
.admin-wide { grid-column:1/-1; }
.admin-panel-head { display:flex; justify-content:space-between; align-items:start; gap:18px; margin-bottom:20px; }
.admin-panel h2 { font-size:20px; letter-spacing:-.7px; }
.admin-panel-head p { color:var(--muted); font-size:12px; margin-top:5px; }
.admin-search { width:min(240px,45%); padding:9px 11px; font-size:12px; }
.admin-table-wrap { overflow-x:auto; }
.admin-panel table { width:100%; border-collapse:collapse; font-size:12px; }
.admin-panel th { text-align:left; color:var(--muted); font-size:10px; letter-spacing:.7px; text-transform:uppercase; padding:10px 12px; border-bottom:1px solid var(--line); }
.admin-panel td { padding:14px 12px; border-bottom:1px solid #f4e9e2; white-space:nowrap; }
.admin-panel td strong, .admin-panel td small { display:block; }
.admin-panel td small { color:var(--muted); font-size:11px; margin-top:3px; }
.activity-list { display:grid; gap:13px; }
.activity-item { display:flex; gap:10px; align-items:start; padding-bottom:13px; border-bottom:1px solid #f4e9e2; }
.activity-item svg { flex:0 0 auto; color:var(--teal); margin-top:2px; }
.activity-item strong, .activity-item span { display:block; font-size:12px; }
.activity-item span { color:var(--muted); font-size:11px; margin-top:3px; }
.course-admin-form { display:grid; grid-template-columns:1.5fr 1fr 1fr auto; gap:9px; margin-bottom:17px; }
.course-admin-form button { white-space:nowrap; }
.managed-courses { display:grid; gap:9px; }
.managed-course { display:flex; justify-content:space-between; align-items:center; gap:15px; padding:13px 15px; border:1px solid var(--line); border-radius:10px; }
.managed-course strong, .managed-course span { display:block; font-size:12px; }
.managed-course span { color:var(--muted); font-size:11px; margin-top:3px; }
.icon-delete { display:grid; place-items:center; width:32px; height:32px; border-radius:7px; background:#fff2ed; color:#bd4d34; }
.admin-message { position:fixed; right:24px; bottom:24px; padding:13px 16px; border-radius:9px; background:var(--ink); color:#fff; font-size:12px; opacity:0; pointer-events:none; transform:translateY(10px); transition:.2s; }
.admin-message.visible { opacity:1; transform:translateY(0); }
.empty-cell { color:var(--muted); text-align:center; padding:24px !important; }
@media (max-width:800px) { .admin-shell { padding-top:24px; } .admin-login { padding:28px 22px; } .admin-header .admin-brand { font-size:15px; } .admin-header .admin-brand img { width:38px; height:38px; } .admin-status { display:none; } .admin-heading { display:block; padding-top:40px; } .admin-heading button { margin-top:20px; } .admin-stats { grid-template-columns:repeat(2,1fr); } .admin-grid { grid-template-columns:1fr; } .admin-wide { grid-column:auto; } .course-admin-form { grid-template-columns:1fr 1fr; } .course-admin-form button { grid-column:1/-1; } }
@media (max-width:500px) { .admin-panel { padding:17px; } .admin-panel-head { display:block; } .admin-search { width:100%; margin-top:14px; } .course-admin-form { grid-template-columns:1fr; } .course-admin-form button { grid-column:auto; } }
@media (max-width:760px) {
  .course-modal-backdrop { padding:14px; }
  .course-modal { max-height:94vh; }
  .course-modal-layout { grid-template-columns:1fr; min-height:0; }
  .course-modal-art { min-height:0; padding:24px; }
  .course-modal-art img { max-height:230px; }
  .course-modal-content { padding:30px 28px 26px; }
}
@media (max-width:500px) {
  .course-modal-backdrop { padding:9px; }
  .course-modal { max-height:96vh; border-radius:16px; }
  .course-modal-art { padding:18px; }
  .course-modal-art img { max-height:180px; }
  .course-modal-content { padding:27px 19px 20px; }
  .course-modal-close { top:9px; right:9px; width:36px; height:36px; }
  .course-modal-content > h2 { font-size:25px; }
  .course-modal-footer { flex-wrap:wrap; }
}
@media (max-width:800px) {
  .enquiry-section { padding-top:48px; padding-bottom:58px; }
  .enquiry-layout { grid-template-columns:1fr; gap:26px; padding:26px; }
  .enquiry-aside h2 { max-width:600px; }
}
@media (max-width:500px) {
  .enquiry-section { padding-right:5vw; padding-left:5vw; }
  .enquiry-layout { gap:20px; padding:18px; border-radius:17px; }
  .enquiry-form { padding:21px 17px; }
  .enquiry-contact { padding:11px; }
}
@media (max-width:900px) {
  .mentor-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:17px; }
}
@media (max-width:560px) {
  .mentor-grid { grid-template-columns:1fr; }
  .mentor-band { padding-bottom:54px; }
}
@media (max-width:1150px) {
  nav { position:relative; gap:12px; }
  .navlinks { position:absolute; top:100%; left:0; right:0; display:none; flex-direction:column; align-items:flex-start; gap:15px; margin:0; padding:16px 5vw; background:var(--paper); border-bottom:1px solid var(--line); box-shadow:0 12px 24px #40201612; }
  .navlinks.mobile-open { display:flex; }
  .nav-dropdown { width:100%; }
  .nav-dropdown summary { width:fit-content; }
  .nav-dropdown-menu { position:static; min-width:0; margin:9px 0 0 12px; border:0; border-left:1px solid var(--line); border-radius:0; background:transparent; box-shadow:none; }
  .nav-dropdown-menu a { white-space:normal; }
  .nav-actions { display:none; }
  .nav-mobile-actions { display:flex; width:100%; gap:10px; padding-top:4px; }
  .nav-mobile-actions > * { flex:1; text-align:center; }
  .navlinks .nav-mobile-actions a { display:flex; align-items:center; justify-content:center; }
  .navlinks .nav-mobile-actions a.outline-btn { border:1px solid #efbda4; background:transparent; color:var(--teal-dark); }
  .navlinks .nav-mobile-actions a.solid-btn { background:var(--teal); color:white; }
  .mobile-menu { display:block; margin-left:auto; padding:8px; }
}

.testimonial-section { max-width:1240px; margin:0 auto; padding:0 5vw 88px; }
.testimonial-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.testimonial-card { min-width:0; overflow:hidden; border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:0 12px 30px #4020160b; }
.testimonial-image { display:grid; min-height:210px; place-items:center; overflow:hidden; padding:12px; background:#fff8f3; }
.testimonial-image img { display:block; width:100%; max-height:390px; aspect-ratio:4/3; object-fit:contain; }
.testimonial-copy { padding:23px; }
.testimonial-copy h2 { margin-bottom:13px; font-size:20px; line-height:1.4; letter-spacing:-.5px; }
.testimonial-copy blockquote { color:var(--muted); font-size:14px; line-height:1.8; }
.testimonial-copy blockquote:before { content:'“'; color:var(--teal); font:700 32px/0 'Plus Jakarta Sans',sans-serif; vertical-align:-8px; margin-right:5px; }
.testimonial-copy blockquote:after { content:'”'; color:var(--teal); font:700 25px/0 'Plus Jakarta Sans',sans-serif; vertical-align:-5px; margin-left:2px; }

@media (max-width:640px) {
  .testimonial-section { padding-bottom:56px; }
  .testimonial-grid { grid-template-columns:minmax(0,1fr); gap:16px; }
  .testimonial-image { min-height:160px; }
  .testimonial-image img { max-height:330px; }
  .testimonial-copy { padding:19px; }
}

img, svg { max-width:100%; }
button, a { -webkit-tap-highlight-color:transparent; }

@media (max-width:960px) {
  nav { position:relative; gap:12px; }
  .navlinks { position:absolute; top:100%; left:0; right:0; display:none; flex-direction:column; align-items:flex-start; gap:15px; margin:0; padding:16px 5vw; background:var(--paper); border-bottom:1px solid var(--line); box-shadow:0 12px 24px #40201612; }
  .navlinks.mobile-open { display:flex; }
  .nav-actions { display:none; }
  .mobile-menu { display:block; margin-left:auto; padding:8px; }
  .content-grid,
  .path-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .stats .stat { padding:8px 12px; }
  .stats .stat:not(:first-child) { border-left:0; }
  .stats .stat:nth-child(even) { border-left:1px solid #60463a; }
  .stats .stat:nth-child(n+3) { border-top:1px solid #60463a; padding-top:18px; }
}

@media (max-width:800px) {
  .hero {
    grid-template-columns:minmax(0,1fr);
    gap:16px;
    padding-top:52px;
  }
  .hero-content { max-width:680px; margin:0 auto; }
  .book-showcase { width:min(100%,520px); margin:0 auto; }
  .section,
  .about-inner { padding-top:64px; padding-bottom:64px; }
  .about-inner { grid-template-columns:minmax(0,1fr); gap:32px; }
  .about-art { min-height:280px; }
  .about-story-inner { grid-template-columns:minmax(0,1fr); gap:32px; padding-top:64px; padding-bottom:64px; }
  .about-story-art { min-height:270px; }
  .about-mission-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .about-author-grid { grid-template-columns:minmax(0,1fr); }
  .about-author-card { display:grid; grid-template-columns:minmax(180px,.7fr) minmax(0,1.3fr); }
  .about-author-card > img { height:100%; min-height:300px; }
  .about-authors { padding-top:64px; padding-bottom:64px; }
  .about-philosophy-grid article { padding:19px; }
  .section-head,
  .catalog-head { align-items:flex-start; flex-direction:column; gap:14px; }
  .section-intro { max-width:600px; }
  .featured-batch { grid-template-columns:minmax(0,1fr); margin-right:5vw; margin-left:5vw; }
  .featured-art { min-height:150px; border-top:1px solid #ffffff2e; border-left:0; padding-top:22px; }
  .festival-offer { padding-bottom:100px; }
  .festival-offer .featured-art { min-height:190px; border-top-color:#fff6e259; }
  .festival-callout { right:82px; bottom:25px; }
  .dash-grid { grid-template-columns:minmax(0,1fr); }
  .contact-grid { grid-template-columns:minmax(0,1fr); }
  .cta { margin-right:5vw; margin-left:5vw; padding:36px; }
  .footer-grid { flex-direction:column; }
  .footer-links { flex-wrap:wrap; gap:32px; }
}

@media (max-width:640px) {
  body { font-size:15px; }
  h1, h2, h3 { letter-spacing:-1px; }
  h1 { font-size:clamp(36px,9vw,52px); }
  .topbar { padding:9px 5vw; font-size:11px; text-align:center; }
  nav { padding:12px 5vw; }
  .brand { gap:8px; }
  .brand-icon { width:36px; height:36px; }
  .brand-name { font-size:21px; }
  .brand-tagline { font-size:7px; }
  .hero { padding:42px 5vw 30px; }
  .hero-content { text-align:center; }
  .hero-content .eyebrow { justify-content:center; }
  .hero-content h1 { margin-right:auto; margin-left:auto; }
  .hero-copy { margin:18px auto 24px; font-size:15px; }
  .hero-actions { justify-content:center; }
  .hero-actions a { display:inline-flex; align-items:center; justify-content:center; min-height:44px; }
  .trust { justify-content:center; margin-top:26px; }
  .book-stage { height:360px; padding-right:0; }
  .book-float { scale:.82; }
  .book-edition { margin-right:4%; }
  .book-reset { right:5%; bottom:5px; }
  .section,
  .about-inner { padding:52px 5vw; }
  .section-head { margin-bottom:26px; }
  .content-grid,
  .path-grid,
  .mentor-grid { grid-template-columns:minmax(0,1fr); }
  .content-card,
  .path-card { padding:22px; }
  .stats { gap:0; padding:24px 5vw; }
  .stat strong { font-size:28px; }
  .stat span { font-size:11px; }
  .featured-batch { padding:26px 7vw; }
  .festival-offer { min-height:0; padding:24px 7vw 104px; background-position:54% center; }
  .festival-offer .featured-copy h2 { max-width:330px; font-size:32px; }
  .festival-offer .featured-art { min-height:172px; }
  .festival-callout { right:82px; bottom:25px; }
  .festival-callout > span { font-size:9px; }
  .festival-cta { min-height:36px; padding:8px 10px; font-size:10px; }
  .app-promo { padding:27px 19px 24px; border-radius:17px; }
  .app-promo-links { width:100%; }
  .app-promo-links a { justify-content:center; width:100%; min-height:44px; text-align:center; }
  .course-filters { gap:7px; }
  .course-filter { padding:9px 11px; }
  .course-body { padding:19px; }
  .course-footer { align-items:stretch; }
  .course-footer strong { width:100%; }
  .course-footer .outline-btn,
  .course-footer .solid-btn { flex:1 1 auto; text-align:center; }
  .mentor-band { padding-right:5vw; padding-left:5vw; }
  .enquiry-section { padding:42px 5vw 54px; }
  .enquiry-layout { padding:19px; }
  .enquiry-form { padding:21px 17px; }
  .form-grid { grid-template-columns:minmax(0,1fr); }
  .form-grid label.full { grid-column:auto; }
  .about-story-inner { padding-top:52px; padding-bottom:52px; }
  .about-story-art { min-height:235px; }
  .about-mission-grid,.about-philosophy-grid { grid-template-columns:minmax(0,1fr); }
  .about-why { padding-top:54px; padding-bottom:54px; }
  .about-authors { padding:56px 5vw; }
  .about-author-card { grid-template-columns:minmax(0,1fr); }
  .about-author-card > img { height:250px; min-height:0; }
  .about-author-copy { padding:20px; }
  .form-grid input,
  .form-grid select,
  .enquiry-form textarea { min-height:44px; font-size:16px; }
  .enquiry-form textarea { min-height:120px; }
  .page-hero { padding:54px 5vw 40px; }
  .page-hero p { font-size:15px; }
  .student-dashboard { padding:42px 5vw 60px; }
  .student-panel { padding:19px; }
  .student-panel-head { flex-wrap:wrap; }
  .student-next { padding:24px; }
  .profile-details { grid-template-columns:minmax(0,1fr); }
  .cta { flex-direction:column; align-items:flex-start; margin-top:38px; padding:27px; }
  footer { padding:38px 5vw 24px; }
  .footer-links { gap:26px; }
  .copyright { margin-top:32px; }
  .floating-call,
  .floating-wa { right:12px; width:44px; height:44px; }
  .floating-call { bottom:72px; }
  .floating-wa { bottom:18px; }
  .admin-shell { padding:22px 5vw 48px; }
  .admin-login { margin-top:3vh; padding:28px 21px; }
  .admin-heading { padding-top:36px; }
  .admin-stats { gap:9px; }
  .admin-stats article { padding:15px; }
  .admin-stats strong { font-size:25px; }
  .admin-grid { gap:13px; }
  .admin-panel { min-width:0; padding:17px; }
  .admin-panel-head { flex-wrap:wrap; }
  .admin-search { width:100%; }
  .admin-table-wrap { margin-right:-4px; }
  .admin-message { right:5vw; bottom:14px; left:5vw; text-align:center; }
}

@media (max-width:380px) {
  .brand-name { font-size:19px; }
  .book-stage { height:330px; }
  .book-float { scale:.74; }
  .hero-actions { flex-direction:column; }
  .hero-actions a { width:100%; }
  .student-panel-head .outline-btn { padding:8px; }
  .course-footer .outline-btn,
  .course-footer .solid-btn { padding-right:9px; padding-left:9px; }
}

@media (min-width:641px) and (max-width:960px) {
  .home-format-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
  .home-format-grid .path-card { min-height:190px; padding:17px 15px; }
  .home-format-grid .path-icon { width:36px; height:36px; margin-bottom:20px; }
  .home-format-grid .path-card h3 { font-size:16px; }
  .home-format-grid .path-card p { font-size:12px; }
}

.book-product {
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:24px;
  align-items:center;
  margin:0 0 28px;
  padding:24px;
  border:1px solid var(--line);
  border-radius:20px;
  background:linear-gradient(135deg,#fffaf6,#fff);
  box-shadow:0 16px 36px #4020160d;
}
.book-product-showcase { width:100%; }
.book-product-showcase .book-edition { align-self:center; margin-right:0; }
.book-product-showcase .book-stage { height:390px; }
.book-product-copy { padding:18px 22px; }
.book-product-copy .eyebrow { margin-bottom:12px; }
.book-product-copy h3 { margin-bottom:12px; font-size:clamp(27px,3vw,38px); }
.book-product-copy > p { max-width:520px; color:var(--muted); font-size:15px; }
.book-product-facts { display:grid; gap:12px; margin:22px 0 26px; list-style:none; }
.book-product-facts li { display:flex; align-items:flex-start; gap:10px; color:var(--muted); font-size:13px; }
.book-product-facts i { flex:0 0 auto; color:var(--teal-dark); }
.book-buy-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:46px; }
.book-product-copy h2 { margin-bottom:12px; font-size:clamp(25px,3vw,36px); }
.book-product-featured { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); }
.book-feature-visual { min-width:0; display:flex; flex-direction:column; align-items:center; }
.book-feature-visual .book-edition { align-self:center; margin:0 0 -12px; }
.book-feature-stage { position:relative; display:grid; width:100%; height:430px; place-items:center; perspective:1000px; }
.book-feature-stage .book-halo { width:min(78%,320px); }
.book-feature-stage .book-shadow { bottom:22px; }
.book-feature-interaction { position:relative; z-index:1; display:grid; width:300px; height:390px; place-items:center; transform-style:preserve-3d; }
.book-feature-float { display:grid; width:280px; height:370px; place-items:center; transform-style:preserve-3d; animation:volume-one-float 4.2s ease-in-out infinite; }
.book-feature-interaction .book-rotator { width:280px; height:370px; }
.book-feature-interaction .book-reset { right:-8px; bottom:6px; }
@keyframes volume-one-float { 0%,100% { transform:translateY(3px); } 50% { transform:translateY(-10px); } }
.book-volume-selector { display:grid; width:min(100%,360px); grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin:0 auto 14px; }
.book-volume-option { display:flex; min-width:0; flex-direction:column; align-items:center; gap:5px; padding:7px 4px 8px; border:1px solid transparent; border-radius:11px; background:#fff8f3; color:var(--muted); font-size:11px; font-weight:800; transition:border-color .2s,background .2s,color .2s,transform .2s; }
.book-volume-option img { display:block; width:36px; height:45px; border:1px solid #ead8cc; border-radius:3px; background:#fff; object-fit:contain; box-shadow:0 2px 5px #40201612; }
.book-volume-option:hover { transform:translateY(-2px); border-color:#efbda4; color:var(--teal-dark); }
.book-volume-option[aria-pressed="true"] { border-color:var(--teal); background:#fff0e7; color:var(--teal-dark); box-shadow:0 4px 12px #ef6b2e16; }
.book-volume-option:focus-visible { outline:2px solid var(--teal); outline-offset:2px; }
.book-list-section { margin-top:54px; }
.book-list-section .section-head { margin-bottom:24px; }
.book-list-section .section-head h2 { font-size:clamp(24px,3vw,34px); letter-spacing:-1px; }
.book-list-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.book-list-card { min-width:0; overflow:hidden; border:1px solid var(--line); border-radius:15px; background:#fff; }
.book-list-image { display:grid; height:280px; overflow:hidden; place-items:center; padding:12px; background:#fffaf6; }
.book-list-image img { display:block; width:auto; height:auto; max-width:100%; max-height:100%; object-fit:contain; }
.book-list-copy { position:relative; z-index:1; display:flex; min-height:88px; align-items:center; padding:14px 15px 16px; border-top:2px solid var(--line); background:#fff; }
.book-list-copy h3 { font-size:15px; line-height:1.45; letter-spacing:-.25px; overflow-wrap:anywhere; }

@media (max-width:800px) {
  .book-product { grid-template-columns:minmax(0,1fr); gap:8px; padding:20px; }
  .book-product-showcase { max-width:500px; margin:auto; }
  .book-product-showcase .book-stage { height:370px; }
  .book-product-copy { padding:10px 12px 14px; }
  .book-feature-visual { max-width:500px; margin:0 auto; }
  .book-feature-stage { height:390px; }
  .book-list-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

@media (prefers-reduced-motion:reduce) {
  .book-feature-float { animation:none; }
  .book-rotator { transition:none; }
}

@media (max-width:640px) {
  .home-format-grid { grid-template-columns:minmax(0,1fr); }
  .home-format-grid .path-card { min-height:0; padding:22px; }
  .home-format-grid .path-icon { width:42px; height:42px; margin-bottom:24px; }
  .home-format-grid .path-card h3 { font-size:19px; }
  .home-format-grid .path-card p { font-size:13px; }
  .book-product { padding:14px; }
  .book-product-showcase .book-stage { height:345px; }
  .book-product-copy { padding:10px 8px 12px; }
  .book-feature-stage { height:330px; }
  .book-feature-float { width:280px; height:370px; animation-name:volume-one-float-mobile; }
  .book-feature-interaction { width:280px; height:370px; }
  .book-feature-stage .book-shadow { width:190px; }
  .book-product-featured .book-product-copy { padding:10px 8px 12px; }
  .book-list-section { margin-top:42px; }
  .book-list-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .book-list-image { height:210px; padding:8px; }
  .book-list-copy { min-height:88px; padding:11px; }
  .book-list-copy h3 { font-size:13px; }
}
@keyframes volume-one-float-mobile { 0%,100% { transform:scale(.78) translateY(3px); } 50% { transform:scale(.78) translateY(-10px); } }

.app-experience { overflow:hidden; padding:76px 5vw 70px; background:radial-gradient(ellipse at 50% 82%,#ffe5d5 0,transparent 54%),linear-gradient(180deg,#fff9f4 0%,#fffdfb 90%); }
.app-experience-inner { max-width:1180px; margin:0 auto; }
.app-experience-heading { max-width:600px; margin:0 auto 27px; text-align:center; }
.app-experience-heading .eyebrow { margin-bottom:13px; }
.app-experience-heading h2 { font-size:clamp(34px,5vw,54px); }
.app-experience-heading h2 span { color:var(--teal); }
.app-experience-heading p { max-width:480px; margin:12px auto 0; color:var(--muted); font-size:15px; }
.experience-tabs { display:flex; justify-content:center; flex-wrap:wrap; gap:9px; margin:0 auto 35px; }
.experience-tab { display:inline-flex; min-height:47px; align-items:center; justify-content:center; gap:9px; padding:10px 17px; border:1px solid var(--line); border-radius:11px; background:#fff; color:var(--muted); font-size:13px; font-weight:700; transition:transform .2s,border-color .2s,background .2s,color .2s,box-shadow .2s; }
.experience-tab i { width:17px; height:17px; color:var(--teal-dark); }
.experience-tab:hover { transform:translateY(-2px); border-color:#efb18f; }
.experience-tab.active { border-color:var(--teal); background:var(--teal); color:#fff; box-shadow:0 8px 20px #ef6b2e35; }
.experience-tab.active i { color:#fff; }
.experience-tab:focus-visible { outline:3px solid #ef6b2e55; outline-offset:3px; }
.experience-devices { display:grid; grid-template-columns:minmax(250px,.58fr) minmax(0,1.42fr); gap:clamp(24px,5vw,68px); align-items:center; }
.experience-device { display:grid; justify-items:center; }
.phone-device { align-self:center; }
.phone-frame { position:relative; width:min(100%,286px); padding:8px; overflow:hidden; border:2px solid #363330; border-radius:43px; background:linear-gradient(145deg,#403e3b,#111); box-shadow:0 28px 58px #4c2d1b30,inset 0 0 0 2px #77736c; }
.phone-screen { position:relative; overflow:hidden; border-radius:34px; background:#fffdfb; color:#28201d; }
.phone-island { position:absolute; z-index:3; top:15px; left:50%; width:83px; height:22px; border-radius:20px; background:#101010; transform:translateX(-50%); pointer-events:none; }
.phone-status { height:35px; display:flex; align-items:center; justify-content:space-between; padding:6px 17px 0; font-size:9px; font-weight:800; }
.app-screen-header { height:44px; display:flex; align-items:center; gap:8px; padding:3px 13px 8px; border-bottom:1px solid #f2e8e1; }
.app-screen-header > img,.tablet-app-header > img { width:29px; height:29px; border-radius:8px; object-fit:cover; }
.app-screen-header > div,.tablet-app-header > div { display:grid; gap:1px; }
.app-screen-header strong { font-size:11px; }
.app-screen-header small { color:var(--muted); font-size:8px; }
.app-screen-header > i { width:16px; height:16px; margin-left:auto; color:var(--muted); }
.experience-screen { display:none; padding:13px 13px 53px; animation:experience-enter .42s cubic-bezier(.2,.75,.3,1) both; }
.experience-screen.active { display:block; }
@keyframes experience-enter { from { opacity:0; transform:translateY(12px) scale(.985); } to { opacity:1; transform:translateY(0) scale(1); } }
.screen-label { display:flex; align-items:center; gap:6px; margin-bottom:9px; color:#bf452b; font-size:8px; font-weight:800; letter-spacing:.8px; }
.live-dot { width:7px; height:7px; border-radius:50%; background:#ee533c; box-shadow:0 0 0 3px #ee533c1e; animation:live-pulse 1.7s ease-in-out infinite; }
@keyframes live-pulse { 50% { box-shadow:0 0 0 6px #ee533c0c; } }
.live-time { margin-left:auto; color:var(--muted); font-size:8px; letter-spacing:0; }
.class-video { position:relative; display:block; aspect-ratio:1.17; overflow:hidden; border-radius:12px; background:#35271f; color:inherit; text-decoration:none; }
.class-video:focus-visible { outline:3px solid var(--teal); outline-offset:3px; }
.class-video:after { position:absolute; inset:42% 0 0; background:linear-gradient(transparent,#17110d99); content:''; pointer-events:none; }
.class-video > img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 43%; }
.video-course-label { position:absolute; z-index:1; right:47px; bottom:68px; left:12px; display:grid; gap:3px; color:#fff; }
.video-course-label span { font-size:7px; font-weight:800; letter-spacing:.8px; }
.video-course-label strong { font-size:11px; line-height:1.3; }
.video-demo-cue { position:absolute; z-index:2; right:10px; bottom:10px; left:10px; display:flex; min-height:32px; align-items:center; justify-content:center; gap:6px; padding:6px 9px; border:1px solid #ffffffa8; border-radius:7px; background:#17110de8; color:#fff; font-size:9px; font-weight:800; line-height:1.2; text-align:center; }
.video-demo-cue i { width:14px; height:14px; flex:0 0 auto; }
.class-info { display:grid; gap:5px; margin-top:12px; }
.class-info > strong { font-size:11px; }
.class-info > span { display:flex; align-items:center; gap:5px; color:var(--muted); font-size:9px; }
.class-info > span i { width:12px; height:12px; color:var(--teal-dark); }
.class-chat { display:flex; align-items:center; gap:8px; margin-top:11px; padding:9px; border:1px solid #f0e6de; border-radius:9px; background:#fffaf7; }
.chat-avatar,.tablet-profile { display:grid; flex:0 0 auto; width:24px; height:24px; place-items:center; border-radius:50%; background:#ffeadf; color:var(--teal-dark); font-size:10px; font-weight:800; }
.chat-avatar i { width:13px; height:13px; }
.class-chat p { display:grid; gap:2px; }
.class-chat strong { font-size:8px; }
.class-chat small { color:var(--muted); font-size:7px; }
.class-chat > i { width:14px; height:14px; margin-left:auto; color:var(--teal-dark); }
.phone-bottom-nav { position:absolute; right:0; bottom:0; left:0; display:flex; justify-content:space-around; height:43px; align-items:center; border-top:1px solid #f0e6de; background:#fff; }
.phone-bottom-nav span { display:grid; justify-items:center; gap:2px; color:#9b918b; font-size:7px; }
.phone-bottom-nav i { width:14px; height:14px; }
.phone-bottom-nav span.selected { color:var(--teal-dark); font-weight:800; }
.tablet-frame { width:100%; padding:10px; border:2px solid #4b4945; border-radius:28px; background:linear-gradient(145deg,#484641,#1b1b19); box-shadow:0 28px 58px #4c2d1b30,inset 0 0 0 2px #858077; }
.tablet-screen { position:relative; min-height:449px; overflow:hidden; border-radius:17px; background:#fffdfb; color:#28201d; }

@media (max-width:960px) {
  .blog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .franchise-layout { grid-template-columns:minmax(0,1fr); }
  .franchise-copy { padding:0; }
}

@media (max-width:640px) {
  nav { gap:6px; padding:14px 4vw; }
  .brand { gap:7px; }
  .brand-name { font-size:21px; }
  .mobile-menu { padding:6px 2px; }
  .blog-grid,.opportunity-section,.opportunity-contact-grid { grid-template-columns:minmax(0,1fr); }
  .policy-section,.blog-section,.opportunity-contacts { padding-bottom:56px; }
  .policy-content,.opportunity-card { padding:22px; }
  .policy-content section { padding-top:23px; margin-top:23px; }
  .policy-content h2 { font-size:19px; }
  .policy-content h3 { margin-top:23px; font-size:16px; }
  .franchise-section { padding-bottom:56px; }
  .franchise-banner { height:190px; margin-bottom:20px; border-radius:14px; }
  .franchise-form { padding:21px 17px; }
}
.tablet-app-header { height:56px; display:flex; align-items:center; gap:10px; padding:9px 17px; border-bottom:1px solid #f2e8e1; }
.tablet-app-header > img { width:35px; height:35px; }
.tablet-app-header strong { font-size:12px; }
.tablet-app-header small { color:var(--muted); font-size:9px; }
.tablet-header-action { display:flex; align-items:center; gap:14px; margin-left:auto; color:var(--muted); }
.tablet-header-action > i { width:17px; height:17px; }
.tablet-profile { width:28px; height:28px; }
.tablet-screen .experience-screen { min-height:390px; padding:18px 20px; }
.tablet-class-layout { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(145px,.72fr); gap:17px; align-items:start; }
.tablet-class-layout .class-video { aspect-ratio:1.48; }
.tablet-class-layout .video-course-label strong { font-size:13px; }
.tablet-class-layout .video-course-label span { font-size:8px; }
.tablet-class-layout .class-info { grid-template-columns:1fr auto; align-items:center; }
.tablet-class-layout .class-info > span { font-size:8px; }
.tablet-class-aside { display:grid; gap:12px; padding-top:21px; }
.tablet-class-aside > div:first-child { display:grid; gap:6px; padding:13px; border:1px solid var(--line); border-radius:11px; background:#fffaf6; }
.tablet-class-aside small,.tablet-content-heading small,.tablet-notes-heading small { color:var(--teal-dark); font-size:8px; font-weight:800; letter-spacing:1px; }
.tablet-class-aside strong { font-size:11px; }
.tablet-class-aside span { color:var(--muted); font-size:9px; }
.screen-title-row { display:flex; align-items:center; justify-content:space-between; margin-bottom:13px; }
.screen-title-row > div { display:grid; gap:2px; }
.screen-title-row small,.tablet-content-heading small { color:var(--teal-dark); font-size:8px; font-weight:800; letter-spacing:.8px; }
.screen-title-row strong { font:800 19px 'Plus Jakarta Sans',sans-serif; letter-spacing:-.7px; }
.test-avatar { display:grid; width:34px; height:34px; place-items:center; border-radius:11px; background:#fff0e7; color:var(--teal-dark); }
.test-avatar i { width:19px; height:19px; }
.test-subject-card { padding:13px; border-radius:12px; background:linear-gradient(135deg,#fff0e7,#fff8f2); }
.test-subject-card > span { color:var(--teal-dark); font-size:7px; font-weight:800; letter-spacing:.7px; }
.test-subject-card h3 { margin-top:5px; font-size:15px; letter-spacing:-.4px; }
.test-subject-card p { margin-top:4px; color:var(--muted); font-size:8px; }
.test-subject-meta { display:flex; gap:11px; margin-top:10px; }
.test-subject-meta span { display:flex; align-items:center; gap:4px; color:#665b56; font-size:8px; font-weight:700; }
.test-subject-meta i { width:12px; height:12px; color:var(--teal-dark); }
.test-progress { height:5px; margin:12px 0 6px; overflow:hidden; border-radius:6px; background:#f1d9c9; }
.test-progress span { display:block; width:67%; height:100%; border-radius:inherit; background:var(--teal); }
.test-subject-card > small { display:flex; justify-content:space-between; color:var(--muted); font-size:7px; }
.test-subject-card > small strong { color:var(--ink); }
.test-question { display:grid; gap:7px; margin-top:12px; }
.test-question > span,.tablet-question > span { color:var(--teal-dark); font-size:7px; font-weight:800; letter-spacing:.7px; }
.test-question > span span,.tablet-question > span span { color:var(--muted); }
.test-question > strong { font-size:9px; line-height:1.4; }
.test-question > div,.tablet-question > div { display:flex; align-items:center; gap:7px; padding:6px 8px; border:1px solid #f0e6de; border-radius:7px; color:#554943; font-size:8px; }
.test-question > div b,.tablet-question > div b { display:grid; width:17px; height:17px; place-items:center; border-radius:5px; background:#fff0e7; color:var(--teal-dark); font-size:8px; }
.test-continue,.tablet-question > button { display:flex; width:100%; align-items:center; justify-content:center; gap:7px; margin-top:10px; padding:9px; border-radius:8px; background:var(--teal); color:#fff; font-size:9px; font-weight:800; }
.test-continue i,.tablet-question > button i { width:13px; height:13px; }
.notes-download { display:grid; width:31px; height:31px; place-items:center; border:1px solid var(--line); border-radius:9px; color:var(--teal-dark); }
.notes-download i { width:15px; height:15px; }
.notes-meta { display:flex; align-items:center; gap:5px; margin:0 0 8px; color:var(--teal-dark); font-size:7px; font-weight:800; letter-spacing:.55px; }
.notes-meta i { width:12px; height:12px; }
.notes-page { overflow:hidden; border:1px solid #ede5df; border-radius:6px; background:#fff; box-shadow:0 3px 10px #38251a0b; }
.notes-page img { display:block; width:100%; height:100%; object-fit:contain; }
.notes-phone-page { height:347px; }
.notes-page-counter { display:flex; align-items:center; gap:5px; margin-top:8px; color:var(--muted); font-size:7px; }
.notes-page-counter i { width:13px; height:13px; color:var(--teal-dark); }
.notes-page-counter span { margin-left:auto; color:var(--teal-dark); font-weight:800; }
.tablet-content-heading { display:flex; align-items:center; justify-content:space-between; margin:0 0 14px; }
.tablet-content-heading h3,.tablet-notes-heading h3 { margin-top:3px; font-size:18px; letter-spacing:-.6px; }
.tablet-content-heading p { margin-top:4px; color:var(--muted); font-size:9px; }
.tablet-test-layout { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:14px; }
.tablet-test-list { display:grid; gap:8px; align-content:start; }
.tablet-test-card { display:grid; gap:5px; padding:10px 11px; border:1px solid var(--line); border-radius:9px; background:#fff; }
.tablet-test-card.active { border-color:#efb18f; background:#fff8f4; }
.tablet-test-card > span { color:var(--teal-dark); font-size:7px; font-weight:800; letter-spacing:.6px; }
.tablet-test-card strong { font-size:10px; }
.tablet-test-card small { color:var(--muted); font-size:8px; }
.tablet-test-card .test-progress { margin:2px 0 0; }
.tablet-question { display:grid; gap:9px; padding:13px; border:1px solid var(--line); border-radius:11px; background:#fff; }
.tablet-question h4 { font-size:11px; line-height:1.45; }
.tablet-question > div { padding:8px; font-size:9px; }
.tablet-question > div b { width:20px; height:20px; }
.tablet-notes-screen { padding-bottom:16px !important; }
.tablet-notes-heading { display:flex; justify-content:space-between; align-items:center; margin-bottom:11px; }
.tablet-notes-heading > span { display:flex; align-items:center; gap:6px; padding:7px 9px; border:1px solid var(--line); border-radius:8px; color:var(--teal-dark); font-size:8px; font-weight:700; }
.tablet-notes-heading > span i { width:13px; height:13px; }
.tablet-notes-viewer { display:grid; min-width:0; height:300px; }
.tablet-notes-pages { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; min-width:0; }
.tablet-notes-pages .notes-page { height:300px; }
.experience-footer { display:flex; justify-content:center; flex-wrap:wrap; gap:24px; margin-top:20px; color:var(--muted); font-size:10px; }
.experience-footer span { display:flex; align-items:center; gap:6px; }
.experience-footer i { width:14px; height:14px; color:var(--teal-dark); }
.app-platform-preview { overflow:hidden; padding:64px 5vw 42px; background:linear-gradient(145deg,#fff9f5 0%,#fffdfb 55%,#fff1e8 100%); }
.app-platform-inner { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); align-items:center; gap:42px; max-width:1180px; min-height:390px; margin:0 auto; padding:34px 48px 18px; border:1px solid #f3d8c8; border-radius:28px; background:radial-gradient(ellipse at 78% 42%,#ffeadc 0,transparent 50%),#fff; box-shadow:0 22px 55px #814a2810; }
.app-platform-copy { position:relative; z-index:1; max-width:420px; }
.app-platform-copy .eyebrow { margin-bottom:16px; }
.app-platform-copy h2 { margin-bottom:16px; font-size:clamp(34px,4.2vw,52px); letter-spacing:-2.4px; }
.app-platform-copy h2 span { color:var(--teal-dark); }
.app-platform-copy p { max-width:390px; margin-bottom:24px; color:var(--muted); font-size:15px; line-height:1.75; }
.app-platform-copy .solid-btn { display:inline-flex; align-items:center; gap:8px; }
.app-platform-art { display:grid; min-width:0; min-height:340px; place-items:center; align-self:end; }
.app-platform-art img { display:block; width:min(100%,510px); max-height:430px; object-fit:contain; object-position:center bottom; filter:drop-shadow(0 20px 24px #33201620); }
@media (max-width:800px) {
  .app-experience { padding-top:62px; padding-bottom:58px; }
  .experience-devices { grid-template-columns:minmax(0,1fr); gap:18px; }
  .phone-frame { width:min(100%,286px); }
  .tablet-device { width:min(100%,700px); margin:0 auto; }
  .tablet-screen,.tablet-screen .experience-screen { min-height:0; }
  .tablet-notes-viewer,.tablet-notes-pages .notes-page { height:260px; }
  .experience-footer { gap:12px 20px; }
  .app-platform-preview { padding-top:48px; padding-bottom:30px; }
  .app-platform-inner { grid-template-columns:minmax(0,1fr); gap:10px; min-height:0; padding:30px 28px 0; text-align:center; }
  .app-platform-copy { margin:0 auto; }
  .app-platform-copy p { margin-right:auto; margin-left:auto; }
  .app-platform-art { min-height:0; }
  .app-platform-art img { width:min(100%,440px); max-height:390px; }
}
@media (max-width:520px) {
  .app-experience { padding:49px 4vw 46px; }
  .app-experience-heading { margin-bottom:22px; }
  .app-experience-heading h2 { font-size:36px; }
  .app-experience-heading p { font-size:13px; }
  .experience-tabs { gap:6px; margin-bottom:27px; }
  .experience-tab { min-height:43px; gap:6px; padding:9px 10px; border-radius:9px; font-size:10px; }
  .experience-tab i { width:15px; height:15px; }
  .experience-devices { gap:25px; }
  .app-platform-preview { padding:34px 4vw 22px; }
  .app-platform-inner { gap:4px; padding:27px 18px 0; border-radius:20px; }
  .app-platform-copy h2 { font-size:36px; }
  .app-platform-copy p { margin-bottom:19px; font-size:13px; }
  .app-platform-art img { max-height:320px; }
  .tablet-frame { padding:7px; border-radius:22px; }
  .tablet-screen { border-radius:13px; }
  .tablet-app-header { height:47px; padding:7px 10px; }
  .tablet-app-header > img { width:28px; height:28px; }
  .tablet-app-header strong { font-size:10px; }
  .tablet-app-header small { font-size:7px; }
  .tablet-header-action { gap:8px; }
  .tablet-screen .experience-screen { min-height:300px; padding:13px 11px; }
  .tablet-class-layout { grid-template-columns:minmax(0,1.35fr) minmax(105px,.75fr); gap:9px; }
  .tablet-class-layout .class-info { grid-template-columns:1fr; }
  .tablet-class-aside { gap:7px; padding-top:17px; }
  .tablet-class-aside > div:first-child { padding:9px 7px; }
  .tablet-test-layout { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:7px; }
  .tablet-test-card { padding:7px; }
  .tablet-question { gap:6px; padding:8px; }
  .tablet-question > div { gap:5px; padding:6px 4px; font-size:7px; }
  .tablet-question > div b { width:17px; height:17px; }
  .tablet-content-heading h3,.tablet-notes-heading h3 { font-size:15px; }
  .tablet-notes-viewer { height:205px; }
  .tablet-notes-pages { gap:7px; }
  .tablet-notes-pages .notes-page { height:205px; }
  .tablet-notes-heading > span { gap:4px; padding:6px; font-size:7px; }
  .experience-footer { align-items:flex-start; flex-direction:column; margin-left:max(5vw,calc((100% - 286px)/2)); font-size:9px; }
}
@media (prefers-reduced-motion:reduce) {
  .experience-screen { animation:none; }
  .experience-tab,.live-dot { transition:none; animation:none; }
}

  .ranker-showcase { max-width:none; }
  .ranker-showcase > .section-head,
  .ranker-carousel,
  .ranker-showcase-action { width:min(100%,1140px); margin-right:auto; margin-left:auto; }
  .ranker-carousel { display:grid; grid-template-columns:42px minmax(0,1fr) 42px; gap:14px; align-items:center; }
  .ranker-carousel-window { min-width:0; overflow:hidden; }
  .ranker-carousel-track { display:grid; grid-auto-columns:calc((100% - 54px)/4); grid-auto-flow:column; gap:18px; overflow-x:auto; overscroll-behavior-x:contain; scrollbar-width:none; scroll-snap-type:x mandatory; scroll-behavior:smooth; }
  .ranker-carousel-track::-webkit-scrollbar { display:none; }
  .ranker-carousel-track .ranker-card { scroll-snap-align:start; }
  .ranker-carousel-track .ranker-poster-card .ranker-photo { background:#10121a; }
  .ranker-carousel-track .ranker-poster-card .ranker-photo img { object-position:center 66%; }
  .ranker-arrow { width:42px; height:42px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; background:var(--white); color:var(--teal-dark); transition:transform .2s,border-color .2s,background .2s; }
  .ranker-arrow:hover { transform:translateY(-2px); border-color:#efb18f; background:var(--mint); }
  .ranker-arrow:focus-visible,.ranker-showcase-action a:focus-visible { outline:3px solid #ef6b2e66; outline-offset:3px; }
  .ranker-showcase-action { display:flex; justify-content:center; margin-top:30px; }
  .ranker-showcase-action a { display:inline-flex; align-items:center; gap:8px; }
  .counsellor-booking { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:34px; align-items:center; width:min(100%,1140px); margin:42px auto 0; padding:26px 30px; border:1px solid var(--line); border-radius:14px; background:linear-gradient(115deg,#fff8f3,#fff 68%); }
  .counsellor-booking-copy .eyebrow { margin-bottom:9px; }
  .counsellor-booking-copy h3 { margin-bottom:8px; font-size:25px; letter-spacing:-.8px; }
  .counsellor-booking-copy p { max-width:350px; color:var(--muted); font-size:13px; }
  .counsellor-contact { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 0; border-top:1px solid var(--line); }
  .counsellor-contact:first-child { border-top:0; }
  .counsellor-contact-details { display:grid; gap:2px; }
  .counsellor-contact-details span { color:var(--muted); font-size:10px; font-weight:800; text-transform:uppercase; }
  .counsellor-contact-details strong { color:var(--ink); font-size:15px; }
  .counsellor-contact-actions { display:flex; flex:0 0 auto; gap:8px; }
  .counsellor-action { display:inline-flex; min-height:38px; align-items:center; justify-content:center; gap:7px; padding:8px 11px; border:1px solid transparent; border-radius:7px; font-size:11px; font-weight:800; text-decoration:none; white-space:nowrap; transition:transform .2s,background .2s,border-color .2s; }
  .counsellor-action:hover { transform:translateY(-2px); }
  .counsellor-call { background:var(--teal); color:#fff; }
  .counsellor-call:hover { background:var(--teal-dark); }
  .counsellor-whatsapp { border-color:#cbded2; background:#f3faf5; color:#246342; }
  .counsellor-whatsapp:hover { border-color:#91b9a0; background:#eaf5ed; }
  .counsellor-action:focus-visible { outline:3px solid #ef6b2e66; outline-offset:3px; }
  .achievements-hero { padding-bottom:34px; }
  .achievements-list { padding-top:32px; }
  .achievements-list .section-head { margin-bottom:26px; }
  .ranker-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
  .ranker-card { min-width:0; overflow:hidden; border:1px solid var(--line); border-radius:16px; background:var(--white); box-shadow:0 10px 28px #4020160b; transition:transform .22s,border-color .22s,box-shadow .22s; }
  .ranker-card:hover { transform:translateY(-4px); border-color:#efb18f; box-shadow:0 16px 34px #a84d2818; }
  .ranker-photo { aspect-ratio:1.35; overflow:hidden; background:linear-gradient(145deg,#fff0e7,#f8d7c4); }
  .ranker-photo img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 35%; }
  .ranker-card-content { padding:17px 18px 19px; }
  .ranker-card h3 { overflow:hidden; margin:0 0 15px; font-size:17px; letter-spacing:-.4px; text-overflow:ellipsis; white-space:nowrap; }
  .ranker-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px 10px; }
  .ranker-facts div { min-width:0; }
  .ranker-facts dt { margin-bottom:3px; color:var(--muted); font-size:10px; font-weight:800; letter-spacing:.9px; text-transform:uppercase; }
  .ranker-facts dd { color:var(--ink); font-size:14px; font-weight:700; }
  .ranker-exam { grid-column:1/-1; padding-top:10px; border-top:1px solid var(--line); }

  .results-highlights { padding-top:36px; }
  .results-highlight-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
  .results-highlight-grid .ranker-card h3 { overflow:visible; white-space:normal; }
  .results-highlight-grid .ranker-exam dd { overflow-wrap:anywhere; }
  .results-2026 { padding-top:30px; }
  .results-2026-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
  .results-2026-grid .ranker-card h3 { overflow:visible; white-space:normal; }
  .results-2026-grid .ranker-exam dd { overflow-wrap:anywhere; }
  .results-2026-grid .ranker-photo { height:210px; aspect-ratio:auto; }
  .results-2026-grid .ranker-poster-card .ranker-photo { background:#10121a; }
  .results-2026-grid .ranker-poster-card .ranker-photo img { object-fit:contain; object-position:center; }
  .results-2026-grid .ranker-card-content { padding:12px 14px 14px; }
  .results-2026-grid .ranker-card h3 { margin-bottom:9px; font-size:15px; }
  .results-2026-grid .ranker-facts { gap:7px 10px; }
  .results-2026-grid .ranker-exam { padding-top:7px; }
  .results-archive { padding-top:45px; }
  .results-source { margin:-18px 0 20px; color:var(--muted); font-size:12px; }
  .results-source a { color:var(--teal-dark); font-weight:700; }
  .results-archive-list { display:grid; gap:12px; }
  .results-archive-group { overflow:hidden; border:1px solid var(--line); border-radius:13px; background:#fff; }
  .results-archive-group > summary { display:flex; align-items:center; gap:12px; padding:16px 19px; cursor:pointer; list-style:none; }
  .results-archive-group > summary::-webkit-details-marker { display:none; }
  .results-archive-group > summary span { font-size:15px; font-weight:800; }
  .results-archive-group > summary small { margin-left:auto; color:var(--muted); font-size:11px; }
  .results-archive-group > summary svg { color:var(--teal-dark); transition:transform .2s; }
  .results-archive-group[open] > summary svg { transform:rotate(180deg); }
  .results-table-scroll { overflow-x:auto; overscroll-behavior-x:contain; border-top:1px solid var(--line); }
  .results-table { width:100%; border-collapse:collapse; text-align:left; }
  .results-table th,.results-table td { padding:10px 19px; border-bottom:1px solid #f5ebe5; font-size:13px; }
  .results-table th { background:#fff8f3; color:var(--teal-dark); font-size:11px; text-transform:uppercase; letter-spacing:.6px; }
  .results-table td:last-child,.results-table th:last-child { width:35%; }
  .results-table tr:last-child td { border-bottom:0; }

  @media (max-width:960px) {
    .ranker-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
    .ranker-carousel-track { grid-auto-columns:calc((100% - 18px)/2); }
    .counsellor-booking { grid-template-columns:1fr; gap:14px; }
    .results-highlight-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
    .results-2026-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
  }

  @media (max-width:640px) {
    .ranker-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
    .ranker-card-content { padding:14px 13px 16px; }
    .ranker-card h3 { font-size:15px; }
    .ranker-facts dd { font-size:13px; }
    .ranker-carousel { grid-template-columns:34px minmax(0,1fr) 34px; gap:7px; }
    .ranker-arrow { width:34px; height:34px; }
    .ranker-carousel-track { grid-auto-columns:88%; gap:12px; }
    .counsellor-booking { margin-top:30px; padding:20px 17px; }
    .counsellor-booking-copy h3 { font-size:22px; }
    .counsellor-contact { align-items:flex-start; flex-direction:column; gap:9px; }
    .counsellor-contact-actions { width:100%; }
    .counsellor-action { flex:1; }
    .results-highlight-grid { grid-template-columns:minmax(0,1fr); }
    .results-2026-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
    .results-2026-grid .ranker-photo { height:145px; }
    .results-2026-grid .ranker-card-content { padding:10px 10px 12px; }
    .results-2026-grid .ranker-card h3 { margin-bottom:8px; font-size:14px; }
    .results-2026-grid .ranker-facts { gap:6px 8px; }
    .results-2026-grid .ranker-facts dt { font-size:9px; letter-spacing:.6px; }
    .results-2026-grid .ranker-facts dd { font-size:12px; }
    .results-2026-grid .ranker-exam { padding-top:6px; }
    .results-archive-group > summary { padding:14px; }
    .results-table th,.results-table td { padding:9px 12px; }
  }

  @media (prefers-reduced-motion:reduce) {
    .ranker-carousel-track { scroll-behavior:auto; }
    .ranker-card,.ranker-arrow { transition:none; }
  }
