:root{--header-height: 72px;--color-primary-50: #f0fdf4;--color-primary-100: #dcfce7;--color-primary-200: #bbf7d0;--color-primary-300: #86efac;--color-primary-400: #4ade80;--color-primary-500: #22c55e;--color-primary-600: #16a34a;--color-primary-700: #15803d;--color-primary-800: #166534;--color-primary-900: #14532d;--color-primary-950: #052e16;--color-brand: #1B4332;--color-brand-light: #2D6A4F;--color-brand-dark: #0F2921;--color-accent: #D4AF37;--color-accent-light: #E8C967;--color-accent-dark: #B8860B;--storefront-non-credit-primary: #2F80ED;--storefront-non-credit-secondary: #1A5DC9;--storefront-non-credit-light: #E3F2FD;--storefront-non-credit-text: #FFFFFF;--storefront-credit-primary: #F2C94C;--storefront-credit-secondary: #D4AF37;--storefront-credit-light: #FFF8E1;--storefront-credit-text: #1B4332;--color-red: #C8102E;--color-red-light: #E31E3A;--color-red-dark: #9A0C24;--color-neutral-50: #fafafa;--color-neutral-100: #f5f5f5;--color-neutral-200: #e5e5e5;--color-neutral-300: #d4d4d4;--color-neutral-400: #a3a3a3;--color-neutral-500: #737373;--color-neutral-600: #525252;--color-neutral-700: #404040;--color-neutral-800: #262626;--color-neutral-900: #171717;--color-neutral-950: #0a0a0a;--color-success: #22c55e;--color-warning: #f59e0b;--color-error: #ef4444;--color-info: #3b82f6;--bg-primary: #ffffff;--bg-secondary: #f8fafc;--bg-tertiary: #f1f5f9;--bg-dark: #0f172a;--bg-gradient-hero: linear-gradient(135deg, #1B4332 0%, #2D6A4F 50%, #1B4332 100%);--bg-gradient-gold: linear-gradient(135deg, #D4AF37 0%, #E8C967 100%);--font-display: "Outfit", system-ui, sans-serif;--font-body: "Inter", system-ui, sans-serif;--text-xs: clamp(.75rem, .7rem + .25vw, .875rem);--text-sm: clamp(.875rem, .8rem + .35vw, 1rem);--text-base: clamp(1rem, .9rem + .45vw, 1.125rem);--text-lg: clamp(1.125rem, 1rem + .55vw, 1.25rem);--text-xl: clamp(1.25rem, 1.1rem + .7vw, 1.5rem);--text-2xl: clamp(1.5rem, 1.3rem + .9vw, 1.875rem);--text-3xl: clamp(1.875rem, 1.5rem + 1.5vw, 2.5rem);--text-4xl: clamp(2.25rem, 1.8rem + 2vw, 3rem);--text-5xl: clamp(3rem, 2.2rem + 3.5vw, 4.5rem);--text-6xl: clamp(3.75rem, 2.5rem + 5vw, 6rem);--font-light: 300;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--font-extrabold: 800;--leading-none: 1;--leading-tight: 1.25;--leading-snug: 1.375;--leading-normal: 1.5;--leading-relaxed: 1.625;--leading-loose: 2;--tracking-tighter: -.05em;--tracking-tight: -.025em;--tracking-normal: 0em;--tracking-wide: .025em;--tracking-wider: .05em;--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-14: 3.5rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--space-32: 8rem;--space-40: 10rem;--space-48: 12rem;--radius-none: 0;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-3xl: 2rem;--radius-full: 9999px;--shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .25);--shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / .05);--shadow-glow: 0 0 40px rgba(212, 175, 55, .3);--shadow-glow-brand: 0 0 40px rgba(27, 67, 50, .3);--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .35s ease;--transition-slower: .5s ease;--transition-spring: .5s cubic-bezier(.34, 1.56, .64, 1);--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-popover: 600;--z-tooltip: 700;--container-sm: 640px;--container-md: 768px;--container-lg: 1024px;--container-xl: 1280px;--container-2xl: 1536px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}body{font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-neutral-800);background-color:var(--bg-primary);min-height:100vh;overflow-x:hidden;word-break:break-word}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:var(--font-bold);line-height:var(--leading-tight);color:var(--color-neutral-900)}.hero h1,.hero h2,.hero h3,.calendar-hero h1,.calendar-hero h2,.tuition-hero h1,.tuition-hero h2,.compare-hero h1,.compare-hero h2,.msf-hero h1,.msf-hero h2,.msf-cta h2,.hsp-hero h1,.hsp-hero h2,.hsp-cta-closing h2,.grade-group-page__hero h1,.grade-group-page__hero h2,.grade-hero h1,.grade-hero h2,.program-hero h1,.program-hero h2,.courses-hero h1,.courses-hero h2,.pf-hero h1,.pf-hero h2,.tuition-cta-section h2,.cta-section h2{color:inherit}h1{font-size:var(--text-5xl)}h2{font-size:var(--text-4xl)}h3{font-size:var(--text-3xl)}h4{font-size:var(--text-2xl)}h5{font-size:var(--text-xl)}h6{font-size:var(--text-lg)}p{margin-bottom:var(--space-4)}a{color:var(--color-brand);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-brand-light)}img,video,svg{max-width:100%;height:auto;display:block}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;background:none}ul,ol{list-style:none}.container{width:100%;max-width:100%;margin-left:auto;margin-right:auto;padding-left:var(--space-4);padding-right:var(--space-4)}@media(max-width:375px){.container{padding-left:var(--space-3);padding-right:var(--space-3)}}@media(min-width:640px){.container{padding-left:var(--space-6);padding-right:var(--space-6)}}@media(min-width:768px){.container{padding-left:var(--space-8);padding-right:var(--space-8)}}@media(min-width:1024px){.container{padding-left:var(--space-12);padding-right:var(--space-12)}}@media(min-width:1280px){.container{max-width:var(--container-xl);padding-left:var(--space-8);padding-right:var(--space-8)}}@media(min-width:1536px){.container{max-width:var(--container-2xl)}}.container-fluid{width:100%;padding-left:var(--space-4);padding-right:var(--space-4)}@media(min-width:768px){.container-fluid{padding-left:var(--space-8);padding-right:var(--space-8)}}@media(min-width:1024px){.container-fluid{padding-left:var(--space-12);padding-right:var(--space-12)}}.section{padding-top:var(--space-16);padding-bottom:var(--space-16)}@media(min-width:768px){.section{padding-top:var(--space-24);padding-bottom:var(--space-24)}}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-gradient{background:var(--bg-gradient-gold);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.text-brand{color:var(--color-brand)}.text-accent{color:var(--color-accent)}.text-muted{color:var(--color-neutral-500)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);min-height:44px;font-family:var(--font-display);font-size:var(--text-sm);font-weight:var(--font-bold);letter-spacing:var(--tracking-wider);text-transform:uppercase;text-decoration:none;white-space:normal;text-align:center;line-height:1.25;border-radius:var(--radius-lg);transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer;position:relative;overflow:hidden;z-index:1}.btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);transition:left .5s;z-index:-1}.btn:hover:before{left:100%}.btn-primary{background:#0f2921;color:#fff;border:1px solid rgba(34,197,94,.3);box-shadow:0 4px 6px -1px #0003,0 2px 4px -1px #0000001a}.btn-primary:hover{background:#052e16;border-color:var(--color-primary-500);box-shadow:0 0 15px #22c55e99,0 0 30px #22c55e4d;transform:translateY(-2px) scale(1.02);text-shadow:0 0 8px rgba(255,255,255,.5)}.btn-secondary{background:transparent;color:var(--color-brand-dark);border:2px solid var(--color-brand-dark)}.btn-secondary:hover{background:var(--color-brand-dark);color:#fff;box-shadow:0 0 15px #0f292166;transform:translateY(-2px)}.btn-accent{background:linear-gradient(135deg,#eab308,#ca8a04);color:#000;font-weight:800;box-shadow:0 4px 15px #eab3084d;border:1px solid rgba(255,255,255,.2)}.btn-accent:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 0 20px #eab308cc,0 0 40px #eab30866;background:linear-gradient(135deg,#facc15,#eab308)}.btn-lg{padding:var(--space-4) var(--space-8);min-height:52px;font-size:var(--text-base)}.btn-sm{padding:var(--space-2) var(--space-4);min-height:36px;font-size:var(--text-xs)}@media(max-width:640px){.btn{padding:var(--space-3) var(--space-5);font-size:clamp(.7rem,2.5vw,var(--text-sm));letter-spacing:.03em}.btn-lg{padding:var(--space-3) var(--space-6);min-height:48px;font-size:var(--text-sm)}}.btn-outline{background:transparent;color:var(--color-neutral-700);border:2px solid var(--color-neutral-300)}.btn-outline:hover{background:var(--color-neutral-100);border-color:var(--color-neutral-400);transform:translateY(-2px)}.btn-block{width:100%;display:flex;white-space:normal;text-align:center;line-height:1.25;padding-left:var(--space-6);padding-right:var(--space-6);min-height:52px;height:auto}.btn-storefront-non-credit{background:var(--storefront-non-credit-primary);color:var(--storefront-non-credit-text);border:none}.btn-storefront-non-credit:hover{background:var(--storefront-non-credit-secondary);box-shadow:0 0 15px #2f80ed66;transform:translateY(-2px)}.btn-storefront-credit{background:var(--storefront-credit-primary);color:var(--storefront-credit-text);border:none}.btn-storefront-credit:hover{background:var(--storefront-credit-secondary);box-shadow:0 0 15px #f2c94c66;transform:translateY(-2px)}.card{background:var(--bg-primary);border-radius:var(--radius-2xl);box-shadow:var(--shadow-lg);padding:var(--space-6);transition:all var(--transition-base);border:1px solid var(--color-neutral-100)}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl)}.card-glass{background:#ffffff1a;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2)}.grid{display:grid;gap:var(--space-6)}.grid-2,.grid-3,.grid-4{grid-template-columns:repeat(1,1fr)}@media(min-width:640px){.grid-2,.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.gap-2{gap:var(--space-2)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-50px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-fade-in{animation:fadeIn .6s ease forwards}.animate-fade-in-up{animation:fadeInUp .6s ease forwards}.animate-fade-in-down{animation:fadeInDown .6s ease forwards}.animate-slide-left{animation:slideInLeft .6s ease forwards}.animate-slide-right{animation:slideInRight .6s ease forwards}.animate-scale-in{animation:scaleIn .5s ease forwards}.animate-float{animation:float 3s ease-in-out infinite}.stagger-1{animation-delay:.1s}.stagger-2{animation-delay:.2s}.stagger-3{animation-delay:.3s}.stagger-4{animation-delay:.4s}.stagger-5{animation-delay:.5s}.input{width:100%;min-height:44px;padding:var(--space-3) var(--space-4);font-family:var(--font-body);font-size:var(--text-base);color:var(--color-neutral-800);background:var(--bg-primary);border:2px solid var(--color-neutral-200);border-radius:var(--radius-lg);transition:all var(--transition-fast)}select.input,.form-group select,.register-form .field select{height:44px}.input:focus{outline:none;border-color:var(--color-brand);box-shadow:0 0 0 3px #1b43321a}.input::placeholder{color:var(--color-neutral-400)}.label{display:block;margin-bottom:var(--space-2);font-weight:var(--font-medium);color:var(--color-neutral-700)}.badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-3);font-size:var(--text-xs);font-weight:var(--font-semibold);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:var(--tracking-wider)}.badge-primary{background:var(--color-brand);color:#fff}.badge-accent{background:var(--color-accent);color:var(--color-neutral-900)}.badge-outline{background:transparent;border:1px solid var(--color-brand);color:var(--color-brand)}.hidden{display:none}@media(min-width:640px){.sm\:hidden{display:none}.sm\:block{display:block}.sm\:flex{display:flex}}@media(min-width:768px){.md\:hidden{display:none}.md\:block{display:block}.md\:flex{display:flex}}@media(min-width:1024px){.lg\:hidden{display:none}.lg\:block{display:block}.lg\:flex{display:flex}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-neutral-100)}::-webkit-scrollbar-thumb{background:var(--color-neutral-400);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-neutral-500)}::selection{background:var(--color-brand);color:#fff}.language-toggle{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-3) var(--space-4);min-height:44px;background:var(--color-neutral-100);border:none;border-radius:var(--radius-full);font-family:var(--font-display);font-size:var(--text-xs);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-fast)}.language-toggle:hover{background:var(--color-neutral-200)}.lang-option{color:var(--color-neutral-400);transition:color var(--transition-fast)}.lang-option.active{color:var(--color-brand)}.lang-divider{color:var(--color-neutral-300)}.program-dropdown-two-panel{display:flex;flex-wrap:wrap;position:fixed;top:80px;left:50%;transform:translate(-50%);background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;width:min(960px,95vw);z-index:1000;animation:programDropdownFadeIn .15s ease;overflow:visible}.program-dropdown-v2 .panel{flex:1 1 calc(50% - .5rem);min-width:320px}.panel-sublabel{margin:0 0 .375rem;font-size:.75rem;font-weight:600;color:#0369a1;text-transform:uppercase;letter-spacing:.03em}.panel-tagline{margin:0 0 .5rem;font-size:.8125rem;font-weight:600;color:var(--color-text, #1a202c);font-style:italic}.panel-description{margin:0 0 .75rem;font-size:.75rem;line-height:1.5;color:var(--color-text-muted, #64748b);max-height:5.5rem;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical}.grade-group-label--link{color:var(--color-text, #1a202c);text-decoration:none;font-weight:600}.grade-group-label--link:hover{color:#2563eb;text-decoration:underline}.panel-footer{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:.5rem;padding-top:.5rem;border-top:1px solid #e5e7eb}.panel-pricing-link{font-size:.75rem;font-weight:600;color:#2563eb;text-decoration:none}.panel-pricing-link:hover{text-decoration:underline}.program-dropdown-shared-footer{flex-basis:100%;padding:.75rem 1.25rem;background:linear-gradient(90deg,#f0f9ff,#fef3c7);border-top:1px solid #e5e7eb;border-radius:0 0 12px 12px;text-align:center}.shared-footer-links{display:flex;flex-wrap:wrap;gap:1.25rem;justify-content:center;margin-bottom:.375rem}.shared-link{font-size:.8125rem;font-weight:600;color:#1e40af;text-decoration:none}.shared-link:hover{color:#1e3a8a;text-decoration:underline}.shared-footer-tagline{margin:0;font-size:.6875rem;font-weight:600;color:#78350f;letter-spacing:.02em}@media(max-width:720px){.program-dropdown-v2 .panel{flex-basis:100%}.program-dropdown-v2 .panel-left{border-right:none;border-bottom:1px solid var(--color-neutral-200, #e5e7eb)}}@keyframes programDropdownFadeIn{0%{opacity:0;transform:translate(-50%) translateY(-8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.panel{flex:1;padding:1.25rem;position:relative;display:flex;flex-direction:column;min-width:0}.panel-left{border-right:1px solid var(--color-neutral-200, #e5e7eb)}.panel-header{display:flex;align-items:flex-start;gap:.5rem;margin-bottom:.5rem;min-width:0}.program-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0;margin-top:.25rem}.panel h3{font-size:.95rem;font-weight:600;color:var(--color-brand, #1B4332);margin:0;line-height:1.3;flex:1;min-width:0}.panel-desc{color:var(--color-neutral-600, #6b7280);font-size:.8rem;margin:0 0 .75rem;line-height:1.4}.grade-groups-list{display:flex;flex-direction:column;gap:.625rem;flex:1}.grade-group{display:flex;flex-direction:column;gap:.375rem}.grade-group-label{font-size:.7rem;font-weight:600;color:var(--color-neutral-500, #9ca3af);text-transform:uppercase;letter-spacing:.05em}.grade-pills{display:flex;flex-wrap:wrap;gap:.375rem}.grade-pill{display:inline-flex;align-items:center;justify-content:center;padding:.25rem .625rem;border-radius:6px;font-size:.8rem;font-weight:500;text-decoration:none;background:var(--color-neutral-100, #f3f4f6);color:var(--color-neutral-700, #374151);transition:all .15s ease;border:1px solid transparent}.grade-pill:hover{background:#e3f2fd;color:#2f80ed;border-color:#2f80ed}.grade-pill-gold:hover{background:#fff8e1;color:#b8860b;border-color:#d4af37}.panel-view-more{color:var(--color-brand, #1B4332);font-weight:600;font-size:.85rem;text-decoration:none;display:inline-flex;align-items:center;gap:.25rem;margin-top:.75rem;padding-top:.625rem;border-top:1px solid var(--color-neutral-100, #f3f4f6);transition:color .2s ease}.panel-view-more:hover{color:var(--color-accent, #D4AF37)}.featured-badge{position:absolute;top:.375rem;right:.75rem;background:var(--color-accent, #D4AF37);color:#fff;padding:.2rem .6rem;border-radius:10px;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em;white-space:nowrap;z-index:1}.panel.panel-right{padding-top:2.5rem}.panel.official-ontario{background:linear-gradient(135deg,#fff8e1,#fff)}@media(max-width:768px){.program-dropdown-two-panel{flex-direction:column;width:min(420px,92vw)}.panel-left{border-right:none;border-bottom:1px solid var(--color-neutral-200, #e5e7eb)}.featured-badge{font-size:.6rem;padding:.15rem .4rem}}@media(max-width:480px){.panel{padding:1rem}.panel h3{font-size:.85rem}.panel-desc{font-size:.75rem}.grade-pill{font-size:.75rem;padding:.2rem .5rem}}.courses-dropdown{position:absolute;top:100%;left:50%;transform:translate(-50%);background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;min-width:280px;z-index:1000;margin-top:.5rem;padding:1rem;animation:coursesDropdownFadeIn .15s ease}@keyframes coursesDropdownFadeIn{0%{opacity:0;transform:translate(-50%) translateY(-8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.courses-group{margin-bottom:.75rem}.courses-group:last-child{margin-bottom:0}.courses-group-label{display:block;font-size:.7rem;font-weight:600;color:var(--color-neutral-500, #9ca3af);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.375rem;padding-bottom:.25rem;border-bottom:1px solid var(--color-neutral-100, #f3f4f6)}.courses-grade-list{display:flex;flex-wrap:wrap;gap:.25rem}.courses-grade-link{display:inline-flex;align-items:center;padding:.3rem .625rem;border-radius:6px;font-size:.8rem;font-weight:500;text-decoration:none;color:var(--color-neutral-700, #374151);transition:all .15s ease}.courses-grade-link:hover{background:var(--color-neutral-100, #f3f4f6);color:var(--color-brand, #1B4332)}@media(max-width:768px){.courses-dropdown{min-width:240px;left:0;transform:none}@keyframes coursesDropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}}.login-portal-dropdown{position:absolute;top:100%;right:0;background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;min-width:280px;z-index:1000;margin-top:.5rem;padding:.5rem;animation:portalDropdownFadeIn .15s ease}@keyframes portalDropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.portal-link{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:8px;text-decoration:none;color:inherit;transition:all .15s ease}.portal-link:hover{background:var(--color-neutral-50, #f9fafb)}.portal-icon{font-size:1.25rem;flex-shrink:0}.portal-info{display:flex;flex-direction:column;gap:.125rem;min-width:0}.portal-name{font-weight:600;font-size:.875rem;color:var(--color-neutral-900, #111827)}.portal-desc{font-size:.75rem;color:var(--color-neutral-500, #6b7280)}@media(max-width:768px){.login-portal-dropdown{right:auto;left:0;min-width:260px}}.logo-svg{display:block;height:auto}.logo-svg-full{height:36px;width:auto}.logo-svg-mark{height:40px;width:40px}.header{position:sticky;top:0;z-index:var(--z-sticky);background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--color-neutral-100)}.header-container{display:flex;align-items:center;justify-content:space-between;height:72px;gap:var(--space-6)}.logo{display:flex;align-items:center;gap:.75rem;text-decoration:none;flex-shrink:0}.nav-main{display:none;align-items:center;justify-content:center;flex:1;gap:var(--space-1);min-width:0}@media(min-width:1024px){.nav-main{display:flex}}.nav-link{padding:var(--space-2) var(--space-2);font-size:clamp(.75rem,.6rem + .4vw,.9rem);font-weight:var(--font-medium);color:var(--color-neutral-600);text-decoration:none;border-radius:var(--radius-md);transition:all var(--transition-fast);white-space:nowrap}.nav-link:hover,.nav-link.active{color:var(--color-brand);background:var(--color-primary-50)}.nav-dropdown-wrapper{position:relative}.nav-dropdown-trigger{display:flex;align-items:center;gap:.35rem;background:none;border:none;cursor:pointer;font-family:inherit}.dropdown-arrow{transition:transform .2s ease}.dropdown-arrow.open{transform:rotate(180deg)}.nav-dropdown{position:absolute;top:100%;left:0;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);min-width:320px;padding:var(--space-2);margin-top:var(--space-2);z-index:var(--z-dropdown);animation:fadeIn .15s ease}.dropdown-section{display:flex;flex-direction:column;gap:var(--space-1)}.dropdown-item{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);text-decoration:none;color:inherit;transition:all .15s ease}.dropdown-item:hover{background:var(--color-neutral-50)}.storefront-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;margin-top:6px}.dropdown-item-title{display:block;font-weight:var(--font-semibold);color:var(--color-neutral-900);margin-bottom:.25rem}.dropdown-item-desc{display:block;font-size:var(--text-sm);color:var(--color-neutral-500);line-height:1.4}.header-actions{display:none;align-items:center;gap:var(--space-3);flex-shrink:0}@media(min-width:1024px){.header-actions{display:flex}}.btn-login{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-neutral-600);text-decoration:none;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);transition:all var(--transition-fast)}.btn-login:hover{color:var(--color-brand);background:var(--color-neutral-100)}.cart-link{position:relative;display:flex;align-items:center;justify-content:center;width:44px;height:44px;color:var(--color-neutral-600);transition:color var(--transition-fast)}.cart-link:hover{color:var(--color-brand)}.cart-badge{position:absolute;top:8px;right:8px;background:var(--color-accent, #D4AF37);color:#fff;font-size:.625rem;font-weight:700;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 4px}.mobile-menu-btn{display:flex;flex-direction:column;justify-content:center;align-items:center;width:44px;height:44px;gap:5px;background:none;border:none;cursor:pointer;padding:0}@media(min-width:1024px){.mobile-menu-btn{display:none}}.mobile-menu-btn span{display:block;width:24px;height:2px;background:var(--color-neutral-700);border-radius:var(--radius-full);transition:all var(--transition-fast)}.mobile-menu-btn.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.mobile-menu-btn.active span:nth-child(2){opacity:0}.mobile-menu-btn.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.mobile-menu{position:fixed;top:72px;left:0;right:0;bottom:0;background:var(--bg-primary);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-6);animation:fadeIn .2s ease;z-index:var(--z-modal);overflow-y:auto}.mobile-nav{display:flex;flex-direction:column;gap:var(--space-1)}.mobile-nav-link{display:block;padding:var(--space-4);font-size:var(--text-lg);font-weight:var(--font-medium);color:var(--color-neutral-700);text-decoration:none;border-radius:var(--radius-lg);transition:all var(--transition-fast)}.mobile-nav-link:hover,.mobile-nav-link.active{background:var(--color-primary-50);color:var(--color-brand)}.mobile-actions{display:flex;flex-direction:column;gap:var(--space-4);margin-top:auto;padding-top:var(--space-6);border-top:1px solid var(--color-neutral-100)}.mobile-storefronts{display:grid;grid-template-columns:1fr;gap:var(--space-3);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-neutral-100)}@media(min-width:480px){.mobile-storefronts{grid-template-columns:repeat(2,1fr)}}.mobile-storefront-link{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);border:2px solid;border-radius:var(--radius-lg);text-decoration:none;color:inherit;background:#fff;transition:all .2s ease;min-width:0}@media(min-width:480px){.mobile-storefront-link{padding:var(--space-4);gap:var(--space-3)}}.mobile-storefront-link:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.mobile-storefront-link .storefront-icon{font-size:1.25rem;flex-shrink:0}@media(min-width:480px){.mobile-storefront-link .storefront-icon{font-size:1.5rem}}.mobile-storefront-link>div{min-width:0;flex:1}.mobile-storefront-link .storefront-name{display:block;font-weight:var(--font-semibold);font-size:var(--text-sm);color:var(--color-neutral-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-storefront-link .storefront-tagline{display:block;font-size:var(--text-xs);color:var(--color-neutral-500);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-section-label{display:block;font-size:var(--text-xs);font-weight:600;color:var(--color-neutral-500);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-2)}.mobile-grades-section{padding-bottom:var(--space-4);border-bottom:1px solid var(--color-neutral-100)}.mobile-grade-pills{display:flex;flex-wrap:wrap;gap:var(--space-2)}.mobile-grade-pill{display:inline-flex;align-items:center;justify-content:center;padding:.375rem .75rem;border-radius:8px;font-size:var(--text-sm);font-weight:500;text-decoration:none;background:var(--color-neutral-100, #f3f4f6);color:var(--color-neutral-700, #374151);transition:all .15s ease}.mobile-grade-pill:hover{background:var(--color-primary-50);color:var(--color-brand)}.mobile-portals{display:flex;flex-direction:column;gap:var(--space-1);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-neutral-100)}.mobile-portal-link{display:block;padding:var(--space-3) var(--space-4);font-size:var(--text-base);font-weight:var(--font-medium);color:var(--color-neutral-700);text-decoration:none;border-radius:var(--radius-md);transition:all var(--transition-fast)}.mobile-portal-link:hover{background:var(--color-primary-50);color:var(--color-brand)}.footer{background:var(--bg-dark);color:var(--color-neutral-300);margin-top:auto}.footer-main{display:grid;gap:var(--space-12);padding:var(--space-16) var(--space-4)}@media(min-width:768px){.footer-main{grid-template-columns:1fr 2fr;padding:var(--space-20) var(--space-6)}}.footer-brand{display:flex;flex-direction:column;gap:var(--space-4)}.footer-logo{display:flex;align-items:center;gap:var(--space-3);text-decoration:none;color:#fff;font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--font-bold)}.footer-logo-mark{height:48px;width:48px}.footer-tagline{color:var(--color-neutral-400);font-size:var(--text-sm);max-width:280px;margin:0}.footer-social{display:flex;gap:var(--space-3);margin-top:var(--space-4)}.social-link{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#ffffff1a;border-radius:var(--radius-lg);color:var(--color-neutral-400);transition:all var(--transition-fast)}.social-link:hover{background:var(--color-brand-light);color:#fff;transform:translateY(-2px)}.social-link--disabled{cursor:default;opacity:.72}.social-link--disabled:hover{background:#ffffff1a;color:var(--color-neutral-400);transform:none}.footer-links{display:grid;gap:var(--space-8)}@media(min-width:640px){.footer-links{grid-template-columns:repeat(3,1fr)}}.footer-column h4{color:#fff;font-size:var(--text-sm);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wider);margin-bottom:var(--space-4)}.footer-column ul{display:flex;flex-direction:column;gap:var(--space-3)}.footer-column li{font-size:var(--text-sm)}.footer-column a{color:var(--color-neutral-400);text-decoration:none;transition:color var(--transition-fast);display:inline-flex;align-items:center;min-width:32px;min-height:32px;padding:6px 0}.footer-column a:hover{color:var(--color-accent)}.footer-storefront-link{display:flex;align-items:center;gap:var(--space-2);min-height:44px;padding:8px 0}.storefront-indicator{width:8px;height:8px;border-radius:50%;flex-shrink:0}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:var(--space-6) 0}.footer-bottom-inner{display:flex;flex-direction:column;gap:var(--space-4);align-items:center;text-align:center}@media(min-width:768px){.footer-bottom-inner{flex-direction:row;justify-content:space-between;text-align:left}}.footer-bottom p{font-size:var(--text-sm);color:var(--color-neutral-500);margin:0}.footer-legal{display:flex;gap:var(--space-6)}.footer-legal a{font-size:var(--text-sm);color:var(--color-neutral-500);text-decoration:none;transition:color var(--transition-fast);display:inline-flex;align-items:center;min-height:32px;padding:6px 4px}.footer-legal a:hover{color:var(--color-neutral-300)}.home{width:100%;overflow-x:hidden}.hero{position:relative;width:100%;min-height:clamp(400px,65vh,650px);display:flex;align-items:center;justify-content:center;padding:var(--space-16) 0 var(--space-12);overflow:hidden;background:var(--bg-gradient-hero);color:#fff}.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}.hero-gradient{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 100% 80% at 50% 0%,rgba(255,255,255,.08) 0%,transparent 60%),radial-gradient(ellipse 80% 60% at 20% 100%,rgba(212,175,55,.1) 0%,transparent 50%),radial-gradient(ellipse 80% 60% at 80% 100%,rgba(47,128,237,.05) 0%,transparent 50%)}.hero-pattern{position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle at 1px 1px,rgba(255,255,255,.03) 1px,transparent 0);background-size:48px 48px}.hero-content{position:relative;z-index:1;width:100%;max-width:900px;margin:0 auto;text-align:center}.hero-text{width:100%;padding:0 var(--space-4)}.hero-badge{display:inline-flex;align-items:center;gap:var(--space-2);background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;padding:var(--space-2) var(--space-5);border-radius:var(--radius-full);font-weight:var(--font-semibold);font-size:var(--text-sm);margin-bottom:var(--space-6);border:1px solid rgba(255,255,255,.2)}.badge-icon{background:var(--color-accent);color:var(--color-neutral-900);width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700}.hero h1{font-size:clamp(2rem,6vw,3.5rem);line-height:1.15;margin-bottom:var(--space-6);color:#fff;font-weight:800;letter-spacing:-.02em}.text-gradient{background:linear-gradient(135deg,#ffffff 0%,var(--color-accent) 50%,#FFD700 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subheading{font-size:clamp(1.25rem,3vw,1.75rem);color:#fffffff2;font-weight:600;margin:0 0 var(--space-3);letter-spacing:.01em}.hero-tagline-text{font-size:clamp(1rem,2.5vw,1.25rem);color:var(--color-accent, #D4AF37);font-style:italic;font-weight:500;margin:0 0 var(--space-6)}.hero-subtitle{font-size:clamp(.95rem,2vw,1.125rem);color:#ffffffe6;margin:0 auto var(--space-8);line-height:1.7;max-width:750px}.hero-actions{display:flex;flex-direction:column;gap:var(--space-4);justify-content:center;align-items:center;width:100%;max-width:360px;margin:0 auto}.hero-actions .btn{width:100%;justify-content:center;padding:var(--space-4) var(--space-8)}@media(min-width:520px){.hero-actions{flex-direction:row;max-width:none;width:auto;gap:var(--space-5)}.hero-actions .btn{width:auto;min-width:200px}}.hero-btn-secondary{background:transparent;border:2px solid rgba(255,255,255,.4);color:#fff}.hero-btn-secondary:hover{border-color:#fff;color:#fff;background:#ffffff1a}.storefronts-section{width:100%;background:linear-gradient(180deg,#f8fafc,#fff);padding:var(--space-16) 0}@media(min-width:768px){.storefronts-section{padding:var(--space-24) 0}}.section-header{margin-bottom:var(--space-8)}@media(min-width:768px){.section-header{margin-bottom:var(--space-12)}}.section-header h2{font-size:clamp(1.75rem,4vw,2.5rem);margin-bottom:var(--space-4)}.section-subtitle{font-size:clamp(1rem,2vw,1.25rem);color:var(--color-neutral-500);max-width:600px;margin:0 auto}.storefronts-grid{display:grid;grid-template-columns:1fr;gap:var(--space-6);margin-top:var(--space-8)}@media(min-width:768px){.storefronts-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-8)}}.storefront-card{position:relative;padding:var(--space-6);border-radius:var(--radius-2xl);border:2px solid var(--storefront-color);background:#fff;display:flex;flex-direction:column;overflow:hidden;transition:all var(--transition-base)}@media(min-width:768px){.storefront-card{padding:var(--space-8)}}.storefront-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px -12px #00000026}.storefront-card.credit{background:linear-gradient(135deg,#fffbeb,#fff)}.storefront-card.non-credit{background:linear-gradient(135deg,#eff6ff,#fff)}.storefront-ribbon{position:absolute;top:1rem;right:-2.5rem;background:var(--storefront-color);color:#1b4332;font-size:.7rem;font-weight:var(--font-bold);text-transform:uppercase;padding:.35rem 2.5rem;transform:rotate(45deg);white-space:nowrap}.storefront-icon{font-size:2.5rem;margin-bottom:var(--space-4)}@media(min-width:768px){.storefront-icon{font-size:3rem}}.storefront-card h3{font-size:clamp(1.25rem,2vw,1.5rem);color:var(--color-neutral-900);margin-bottom:var(--space-3)}.storefront-subtitle{color:var(--color-neutral-600);font-size:var(--text-sm);line-height:1.6;margin-bottom:var(--space-4)}@media(min-width:768px){.storefront-subtitle{font-size:var(--text-base);margin-bottom:var(--space-5)}}.storefront-price{font-size:var(--text-base);color:var(--color-neutral-700);margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--color-neutral-50);border-radius:var(--radius-md);display:inline-block}.storefront-price strong{color:var(--storefront-color);font-size:var(--text-xl)}@media(min-width:768px){.storefront-price strong{font-size:var(--text-2xl)}}.storefront-features{list-style:none;padding:0;margin:0 0 var(--space-4);flex:1}.storefront-features li{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) 0;color:var(--color-neutral-700);font-size:var(--text-sm)}@media(min-width:768px){.storefront-features li{font-size:var(--text-base);padding:var(--space-3) 0}}.storefront-features .check{color:var(--color-success);font-weight:700;flex-shrink:0}.storefront-disclaimer{font-size:var(--text-xs);color:var(--color-neutral-500);background:var(--color-neutral-100);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-4);display:flex;align-items:flex-start;gap:var(--space-2)}@media(min-width:768px){.storefront-disclaimer{font-size:var(--text-sm);align-items:center}}.storefront-disclaimer .info-icon{font-size:1rem;flex-shrink:0}.storefront-card .btn-block{margin-top:auto}.platform-features-section{width:100%;padding:var(--space-12) 0;background:linear-gradient(180deg,#f8fafc,#fff,#f0f4ff);position:relative;overflow:hidden}@media(min-width:768px){.platform-features-section{padding:var(--space-20) 0}}.platform-features-grid{display:grid;grid-template-columns:1fr;gap:var(--space-6);margin-top:var(--space-8)}@media(min-width:640px){.platform-features-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.platform-features-grid{grid-template-columns:repeat(4,1fr);gap:var(--space-6)}}.platform-feature-card{text-align:center;padding:var(--space-6);border-radius:var(--radius-xl);background:#fff;box-shadow:var(--shadow-sm);transition:all .4s cubic-bezier(.4,0,.2,1);border:1px solid var(--color-neutral-100);display:flex;flex-direction:column;align-items:center}@media(min-width:768px){.platform-feature-card{padding:var(--space-8);border-radius:var(--radius-2xl)}}.platform-feature-card:hover{transform:translateY(-8px);box-shadow:0 20px 40px -12px #00000026;border-color:var(--feature-color, var(--color-brand-light))}.platform-feature-icon{width:72px;height:72px;border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-5);transition:transform .3s ease}@media(min-width:768px){.platform-feature-icon{width:84px;height:84px}}.platform-feature-card:hover .platform-feature-icon{transform:scale(1.1)}.platform-feature-icon span{font-size:2rem}@media(min-width:768px){.platform-feature-icon span{font-size:2.5rem}}.platform-feature-card h3{font-size:var(--text-lg);margin-bottom:var(--space-3);color:var(--color-neutral-900);font-weight:600}@media(min-width:768px){.platform-feature-card h3{font-size:var(--text-xl)}}.platform-feature-card p{font-size:var(--text-sm);color:var(--color-neutral-600);line-height:1.6;margin:0}@media(min-width:768px){.platform-feature-card p{font-size:var(--text-base)}}.stats-bar{width:100%;background:#0f2921;color:#fff;padding:var(--space-10) 0;position:relative;z-index:2;box-shadow:0 20px 40px -10px #0000004d}@media(min-width:768px){.stats-bar{padding:var(--space-12) 0}}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-6)}@media(min-width:768px){.stats-grid{display:flex;justify-content:space-around;align-items:center;flex-wrap:wrap;gap:var(--space-8)}}.stat-item{text-align:center;padding:var(--space-4)}@media(min-width:768px){.stat-item{padding:var(--space-6) var(--space-8)}}.stat-value{display:block;font-size:clamp(2rem,5vw,3.5rem);font-weight:800;color:var(--color-accent, #D4AF37);margin-bottom:var(--space-2);line-height:1;text-shadow:0 2px 8px rgba(212,175,55,.3)}.stat-label{display:block;font-size:clamp(.75rem,1.5vw,1.125rem);font-weight:500;color:#ffffffe6;text-transform:uppercase;letter-spacing:.5px}.how-it-works{width:100%}.steps-grid{display:grid;grid-template-columns:1fr;gap:var(--space-6);margin-top:var(--space-8)}@media(min-width:640px){.steps-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.steps-grid{grid-template-columns:repeat(3,1fr);gap:var(--space-8)}}.step-card{text-align:center;padding:var(--space-6);border-radius:var(--radius-xl);background:#fff;box-shadow:var(--shadow-sm);transition:all .4s cubic-bezier(.4,0,.2,1);border:1px solid var(--color-neutral-100)}@media(min-width:768px){.step-card{padding:var(--space-8);border-radius:var(--radius-2xl)}}.step-card:hover{transform:translateY(-8px);box-shadow:0 20px 40px -12px #00000026;border-color:var(--color-brand-light)}.step-icon{font-size:2.5rem;margin-bottom:var(--space-4)}@media(min-width:768px){.step-icon{font-size:3rem}}.step-card h3{font-size:var(--text-lg);margin-bottom:var(--space-3)}@media(min-width:768px){.step-card h3{font-size:var(--text-xl)}}.step-card p{font-size:var(--text-sm);color:var(--color-neutral-600);line-height:1.6;margin:0}@media(min-width:768px){.step-card p{font-size:var(--text-base)}}.universities{width:100%;padding:var(--space-12) 0}@media(min-width:768px){.universities{padding:var(--space-16) 0}}.universities-ticker{overflow:hidden;white-space:nowrap;position:relative;padding:var(--space-6) 0;background:#fff;border-top:1px solid var(--color-neutral-100);border-bottom:1px solid var(--color-neutral-100);margin-top:var(--space-8)}.ticker-content{display:inline-block;animation:marquee 30s linear infinite}.uni-name{display:inline-block;font-size:clamp(1rem,2vw,1.5rem);font-weight:700;color:var(--color-neutral-300);margin:0 var(--space-6)}@media(min-width:768px){.uni-name{margin:0 var(--space-8)}}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.cta-section{width:100%;background:linear-gradient(135deg,#1b4332,#2d6a4f);color:#fff;padding:var(--space-12) 0;text-align:center;position:relative;overflow:hidden}@media(min-width:768px){.cta-section{padding:var(--space-16) 0}}.cta-section:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 30% 50%,rgba(212,175,55,.1) 0%,transparent 50%);pointer-events:none}.cta-content{position:relative;z-index:1}.cta-content h2{font-size:clamp(1.5rem,4vw,2.5rem);font-weight:700;margin-bottom:var(--space-4);line-height:1.2;color:#fff}.cta-content p{font-size:clamp(1rem,2vw,1.25rem);margin-bottom:var(--space-8);opacity:.95;max-width:600px;margin-left:auto;margin-right:auto}.cta-buttons{display:flex;flex-direction:column;gap:var(--space-4);justify-content:center;align-items:stretch;max-width:320px;margin-left:auto;margin-right:auto}.cta-buttons .btn{width:100%;justify-content:center}@media(min-width:480px){.cta-buttons{flex-direction:row;flex-wrap:wrap;max-width:none;align-items:center}.cta-buttons .btn{width:auto;min-width:180px}}.mb-4{margin-bottom:var(--space-4)}.mb-8{margin-bottom:var(--space-8)}.trust-indicators-section{width:100%;background:#0f2921;color:#fff;padding:var(--space-6) 0;position:relative;z-index:2}@media(min-width:768px){.trust-indicators-section{padding:var(--space-8) 0}}.trust-indicators-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}@media(min-width:768px){.trust-indicators-grid{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-6)}}@media(min-width:1024px){.trust-indicators-grid{grid-template-columns:repeat(6,1fr)}}.trust-indicator-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3)}@media(min-width:768px){.trust-indicator-item{padding:var(--space-4)}}.trust-icon{font-size:1.25rem;flex-shrink:0;width:32px;height:32px;background:#ffffff1a;border-radius:50%;display:flex;align-items:center;justify-content:center}@media(min-width:768px){.trust-icon{font-size:1.5rem;width:40px;height:40px}}.trust-content{display:flex;flex-direction:column}.trust-value{font-weight:700;font-size:var(--text-sm);color:var(--color-accent, #D4AF37)}@media(min-width:768px){.trust-value{font-size:var(--text-base)}}.trust-label{font-size:var(--text-xs);color:#ffffffb3}@media(min-width:768px){.trust-label{font-size:var(--text-sm)}}.program-pathways-section{width:100%;padding:var(--space-12) 0;background:linear-gradient(180deg,#fff,#f8fafc)}@media(min-width:768px){.program-pathways-section{padding:var(--space-20) 0}}.pathways-grid{display:grid;grid-template-columns:1fr;gap:var(--space-6);margin-top:var(--space-8)}@media(min-width:640px){.pathways-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.pathways-grid{grid-template-columns:repeat(4,1fr);gap:var(--space-6)}}.pathway-card{position:relative;padding:var(--space-6);border-radius:var(--radius-2xl);background:#fff;border:2px solid var(--color-neutral-100);display:flex;flex-direction:column;align-items:center;text-align:center;transition:all .3s ease;overflow:hidden}@media(min-width:768px){.pathway-card{padding:var(--space-8)}}.pathway-card:hover{transform:translateY(-8px);box-shadow:0 20px 40px -12px #00000026;border-color:var(--pathway-color, var(--color-brand))}.pathway-card.featured{border-color:var(--pathway-color, #D4AF37);background:linear-gradient(135deg,#fffbeb,#fff)}.featured-ribbon{position:absolute;top:12px;right:-32px;background:var(--pathway-color, #D4AF37);color:#1b4332;font-size:.75rem;font-weight:700;text-transform:uppercase;padding:4px 40px;transform:rotate(45deg);white-space:nowrap}.pathway-badge{display:inline-block;background:var(--pathway-color, var(--color-brand));color:#fff;font-size:var(--text-xs);font-weight:600;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);margin-bottom:var(--space-4)}.pathway-icon{font-size:2.5rem;margin-bottom:var(--space-4)}@media(min-width:768px){.pathway-icon{font-size:3rem}}.pathway-card h3{font-size:var(--text-lg);color:var(--color-neutral-900);margin-bottom:var(--space-3);font-weight:600}@media(min-width:768px){.pathway-card h3{font-size:var(--text-xl)}}.pathway-desc{font-size:var(--text-sm);color:var(--color-neutral-600);line-height:1.6;margin-bottom:var(--space-4);flex:1}@media(min-width:768px){.pathway-desc{font-size:var(--text-base)}}.pathway-price{font-size:var(--text-sm);font-weight:600;color:var(--pathway-color, var(--color-brand));background:#00000008;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-4)}.why-choose-section{width:100%;padding:var(--space-12) 0}@media(min-width:768px){.why-choose-section{padding:var(--space-20) 0}}.why-grid{display:grid;grid-template-columns:1fr;gap:var(--space-6);margin-top:var(--space-8)}@media(min-width:640px){.why-grid{grid-template-columns:repeat(2,1fr)}}.why-card{text-align:center;padding:var(--space-6);border-radius:var(--radius-xl);background:#fff;box-shadow:var(--shadow-sm);transition:all .3s ease;border:1px solid var(--color-neutral-100)}@media(min-width:768px){.why-card{padding:var(--space-8);border-radius:var(--radius-2xl)}}.why-card:hover{transform:translateY(-8px);box-shadow:0 20px 40px -12px #00000026;border-color:var(--why-color, var(--color-brand-light))}.why-icon{width:72px;height:72px;border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-5);transition:transform .3s ease}@media(min-width:768px){.why-icon{width:84px;height:84px}}.why-card:hover .why-icon{transform:scale(1.1)}.why-icon span{font-size:2rem}@media(min-width:768px){.why-icon span{font-size:2.5rem}}.why-card h3{font-size:var(--text-lg);margin-bottom:var(--space-3);color:var(--color-neutral-900);font-weight:600}@media(min-width:768px){.why-card h3{font-size:var(--text-xl)}}.why-card p{font-size:var(--text-sm);color:var(--color-neutral-600);line-height:1.6;margin:0}@media(min-width:768px){.why-card p{font-size:var(--text-base)}}.accreditation-section{width:100%;padding:var(--space-12) 0;background:linear-gradient(180deg,#f8fafc,#fff)}@media(min-width:768px){.accreditation-section{padding:var(--space-16) 0}}.accreditation-card{max-width:900px;margin:0 auto;padding:var(--space-8);border-radius:var(--radius-2xl);background:#fff;border:2px solid var(--color-brand);text-align:center}@media(min-width:768px){.accreditation-card{padding:var(--space-12)}}.accreditation-badge{display:inline-flex;align-items:center;gap:var(--space-2);background:var(--color-brand);color:#fff;padding:var(--space-2) var(--space-5);border-radius:var(--radius-full);font-weight:600;font-size:var(--text-sm);margin-bottom:var(--space-6)}@media(min-width:768px){.accreditation-badge{font-size:var(--text-base);padding:var(--space-3) var(--space-6)}}.accreditation-badge .badge-icon{background:#fff;color:var(--color-brand);width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700}.accreditation-statement{font-size:var(--text-base);color:var(--color-neutral-700);line-height:1.7;margin-bottom:var(--space-4)}@media(min-width:768px){.accreditation-statement{font-size:var(--text-lg)}}.accreditation-bsid{font-size:var(--text-lg);color:var(--color-brand);margin-bottom:var(--space-4)}@media(min-width:768px){.accreditation-bsid{font-size:var(--text-xl)}}.accreditation-details{font-size:var(--text-sm);color:var(--color-neutral-600);line-height:1.7;margin:0}@media(min-width:768px){.accreditation-details{font-size:var(--text-base)}}.featured-program-section{width:100%;padding:var(--space-12) 0}@media(min-width:768px){.featured-program-section{padding:var(--space-16) 0}}.featured-programs-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-top:2rem}@media(min-width:960px){.featured-programs-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.home-card-tagline{font-weight:700;color:#78350f;font-size:.8125rem;letter-spacing:.02em}.featured-program-card--gold{background:linear-gradient(135deg,#fffbeb,#fef3c7)!important;border-color:#d4af37!important}.new-badge--gold{background:#d4af37!important;color:#fff}.home-v2-quicklinks{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e2e8f0}.home-quicklink{font-weight:600;color:#1e40af;text-decoration:none;padding:.5rem 1rem;border-radius:999px;background:#fff;border:1px solid #c7d2fe;font-size:.875rem}.home-quicklink:hover{background:#eff6ff;border-color:#2563eb}.featured-program-card{position:relative;padding:var(--space-6);border-radius:var(--radius-2xl);background:linear-gradient(135deg,#e8f5e9,#fff);border:2px solid #27AE60;text-align:left;display:flex;flex-direction:column}@media(min-width:768px){.featured-program-card{padding:var(--space-8)}}.featured-program-card h3{font-size:clamp(1.25rem,1.6vw + .6rem,1.5rem);line-height:1.25;margin:0 0 var(--space-3)}.featured-program-card>p{font-size:var(--text-base);line-height:1.5;color:var(--color-neutral-700);margin:0 0 var(--space-4)}.new-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:#27ae60;color:#fff;font-size:var(--text-xs);font-weight:700;text-transform:uppercase;padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);letter-spacing:.5px}.featured-program-content h2{font-size:clamp(1.25rem,3vw,1.75rem);color:var(--color-neutral-900);margin-bottom:var(--space-4)}.featured-program-content p{font-size:var(--text-base);color:var(--color-neutral-600);margin-bottom:var(--space-4)}.featured-program-options{list-style:none;padding:0;margin:0 0 var(--space-6);display:flex;flex-direction:column;gap:var(--space-2);flex:1 1 auto}.featured-program-options li{display:flex;align-items:flex-start;justify-content:flex-start;gap:var(--space-2);font-size:var(--text-sm);line-height:1.45;color:var(--color-neutral-700);background:#fff;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-neutral-200)}@media(min-width:768px){.featured-program-options li{font-size:.9375rem}}.featured-program-options li:before{flex-shrink:0;margin-top:.1em}.featured-program-options li:before{content:"✓";color:#27ae60;font-weight:700}.step-number{position:absolute;top:-12px;left:50%;transform:translate(-50%);width:32px;height:32px;background:var(--color-brand);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--text-sm)}.step-card{position:relative;padding-top:var(--space-8)}@media(min-width:1024px){.step-connector{display:block;position:absolute;top:50%;right:-24px;width:48px;height:2px;background:var(--color-neutral-200)}.step-card:last-child .step-connector{display:none}}.two-programs-section{background:var(--color-neutral-50, #f9fafb)}.two-programs-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin:3rem 0}.program-column{padding:2rem;position:relative;transition:transform .3s ease,box-shadow .3s ease}.program-column h3{font-size:1.75rem;margin:1rem 0;color:var(--color-brand, #1B4332)}.program-subtitle-label{color:var(--color-neutral-600, #6b7280);font-size:.9rem;font-style:italic;margin:-.5rem 0 1rem}.program-desc{color:var(--color-neutral-700, #374151);line-height:1.6;margin-bottom:1.5rem}.program-features{list-style:none;padding:0;margin:1.5rem 0}.program-features li{padding:.5rem 0;color:var(--color-neutral-700, #374151);font-size:.95rem}.program-column .btn{margin-top:1.5rem}.program-comparison-table{margin-top:4rem;padding-top:3rem;border-top:2px solid var(--color-neutral-200, #e5e7eb)}.comparison-title{text-align:center;font-size:1.75rem;margin-bottom:2rem;color:var(--color-brand, #1B4332)}.comparison-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.comparison-table{width:100%;min-width:540px;table-layout:fixed;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #00000014}.comparison-table col.comparison-col-label{width:22%}.comparison-table col.comparison-col-program{width:39%}.comparison-table thead{background:var(--color-brand, #1B4332);color:#fff}.comparison-table th,.comparison-table td{padding:1rem 1.25rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--color-neutral-200, #e5e7eb);line-height:1.45;word-wrap:break-word;overflow-wrap:break-word}.comparison-table th{font-weight:600;font-size:1rem}.comparison-table .th-subtitle{font-weight:400;font-size:.75rem;opacity:.85}.comparison-table td{color:var(--color-neutral-700, #374151)}.comparison-table tbody tr:last-child td{border-bottom:none}.comparison-table tbody tr:hover{background:var(--color-neutral-50, #f9fafb)}.comparison-table th:first-child,.comparison-table td:first-child{font-weight:600;color:var(--color-brand, #1B4332)}.comparison-table td:nth-child(2){background:#2f80ed08}.comparison-table td:nth-child(3){background:#d4af3708}@media(max-width:768px){.two-programs-grid{grid-template-columns:1fr;gap:1.5rem}.program-column h3{font-size:1.5rem}.program-desc{font-size:.95rem}.comparison-table th,.comparison-table td{padding:.75rem 1rem;font-size:.875rem}.comparison-title{font-size:1.5rem}}@media(max-width:480px){.program-column{padding:1.5rem}.program-badge{font-size:.75rem;padding:.4rem .8rem}.program-column h3{font-size:1.25rem}.comparison-table th,.comparison-table td{padding:.5rem;font-size:.75rem}}@media(max-width:375px){.stats-grid,.trust-indicators-grid{grid-template-columns:1fr}.uni-name{margin:0 var(--space-4)}.storefront-ribbon{font-size:.6rem;right:-2rem;padding:.25rem 2rem}}.featured-programs-table-wrapper{overflow-x:auto;margin:2rem 0 1rem;border-radius:12px;box-shadow:0 2px 18px #00000014;background:#fff}.featured-programs-table{width:100%;border-collapse:collapse;font-size:.95rem;min-width:700px}.featured-programs-table thead{background:linear-gradient(135deg,#1b4332,#2d6a4f);color:#fff}.featured-programs-table thead th{padding:1rem .9rem;text-align:left;font-weight:600;font-size:.9rem;line-height:1.3;vertical-align:top;border-bottom:2px solid #1b4332}.featured-programs-table thead th small{display:block;margin-top:.25rem;font-size:.72rem;font-weight:400;opacity:.85;text-transform:uppercase;letter-spacing:.03em}.featured-programs-table tbody tr{border-bottom:1px solid #e6e6e6}.featured-programs-table tbody tr:last-child{border-bottom:none}.featured-programs-table tbody tr:nth-child(2n){background:#fafaf7}.featured-programs-table tbody td,.featured-programs-table tbody th{padding:1rem .9rem;vertical-align:top;text-align:left;line-height:1.45;color:#1f2d28}.featured-programs-table tbody th.grade-band{font-weight:700;background:#f3efe2;color:#1b4332;min-width:140px}.featured-programs-table tbody th.grade-band strong{display:block;font-size:1.05rem;margin-bottom:.35rem}.featured-programs-table .grade-band-link{display:inline-block;font-size:.82rem;font-weight:500;color:#2d6a4f;text-decoration:none;border-bottom:1px dashed currentColor;line-height:1.3}.featured-programs-table .grade-band-link:hover{color:#d4af37}.featured-programs-table tbody td strong{color:#1b4332;font-size:1rem}.featured-programs-table tbody td em{color:#5c6f65;font-size:.82rem;font-style:normal}.featured-programs-table tbody td.tier-not-available{background:#94a3b814;color:#6b7280}.featured-programs-table tbody td.tier-not-available em{color:#6b7280;font-style:italic;font-size:.88rem}.featured-programs-table tbody td.tier-not-available small{display:inline-block;margin-top:.25rem;color:#94a3b8;font-size:.78rem}.featured-programs-footnote{font-size:.85rem;color:#5c6f65;line-height:1.55;max-width:1000px;margin:1rem auto 0;text-align:center}@media(max-width:1024px){.featured-programs-table{font-size:.88rem}.featured-programs-table thead th,.featured-programs-table tbody td,.featured-programs-table tbody th{padding:.75rem .6rem}}.about-page{overflow-x:hidden}.about-hero{background:var(--bg-gradient-hero);padding:var(--space-16) 0;text-align:center;color:#fff}@media(min-width:768px){.about-hero{padding:var(--space-24) 0}}.about-hero-content{max-width:700px;margin:0 auto}.about-hero h1{color:#fff;margin:var(--space-4) 0}.about-hero p{font-size:var(--text-lg);color:#ffffffd9;margin:0}.mission-grid{display:grid;gap:var(--space-6)}@media(min-width:768px){.mission-grid{grid-template-columns:repeat(2,1fr)}}.mission-card{text-align:center;padding:var(--space-6)}@media(min-width:768px){.mission-card{padding:var(--space-10)}}.mission-icon{font-size:40px;margin-bottom:var(--space-4)}@media(min-width:768px){.mission-icon{font-size:56px}}.mission-card h3{color:var(--color-brand);margin-bottom:var(--space-4)}.mission-card p{color:var(--color-neutral-600);line-height:var(--leading-relaxed)}.accreditation-badge{display:inline-flex;align-items:center;gap:var(--space-2);margin-top:var(--space-4);padding:var(--space-2) var(--space-4);background:var(--color-primary-50);border-radius:var(--radius-full);font-weight:var(--font-semibold);font-size:var(--text-sm);color:var(--color-brand)}.accreditation-badge .badge-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:var(--color-brand);color:#fff;border-radius:var(--radius-full);font-size:12px}.team-section{background:var(--bg-secondary)}.team-grid{display:grid;gap:var(--space-6)}@media(min-width:640px){.team-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.team-grid{grid-template-columns:repeat(4,1fr)}}.team-card{text-align:center;padding:var(--space-5)}@media(min-width:768px){.team-card{padding:var(--space-8)}}.team-avatar{width:80px;height:80px;margin:0 auto var(--space-4);background:var(--color-primary-100);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:40px}.team-card h4{margin-bottom:var(--space-1);color:var(--color-neutral-800)}.team-card p{color:var(--color-neutral-500);font-size:var(--text-sm);margin:0}.values-grid{display:grid;gap:var(--space-8)}@media(min-width:768px){.values-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.values-grid{grid-template-columns:repeat(4,1fr)}}.value-item{padding:var(--space-6)}.value-number{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:var(--font-extrabold);color:var(--color-primary-100);margin-bottom:var(--space-2)}.value-item h3{color:var(--color-brand);margin-bottom:var(--space-3)}.value-item p{color:var(--color-neutral-600);font-size:var(--text-sm);margin:0;line-height:var(--leading-relaxed)}.who-we-are-section{padding:var(--space-16) 0}.who-we-are-content{max-width:900px;margin:0 auto;text-align:center}.who-we-are-content h2{font-size:clamp(1.75rem,4vw,2.5rem);margin-bottom:var(--space-6);color:var(--color-brand)}.who-we-are-content .lead-text{font-size:var(--text-lg);color:var(--color-neutral-700);line-height:1.8;margin-bottom:var(--space-6)}.who-we-are-content .bsid-text{font-size:var(--text-base);color:var(--color-brand);padding:var(--space-3) var(--space-6);background:var(--color-primary-50);border-radius:var(--radius-md);display:inline-block}.story-section{padding:var(--space-12) 0}.story-content{max-width:800px;margin:0 auto;padding:var(--space-6);text-align:center}@media(min-width:768px){.story-content{padding:var(--space-10)}}.story-content h2{color:var(--color-brand);margin-bottom:var(--space-6)}.story-content p{color:var(--color-neutral-600);line-height:1.8;font-size:var(--text-lg)}.accreditation-about-section{padding:var(--space-16) 0}.accreditation-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4);margin-bottom:var(--space-8)}@media(min-width:768px){.accreditation-grid{grid-template-columns:repeat(4,1fr);gap:var(--space-6)}}.accreditation-item{padding:var(--space-6);text-align:center;display:flex;flex-direction:column;gap:var(--space-2)}.accred-label{font-size:var(--text-sm);color:var(--color-neutral-500);font-weight:500}.accred-value{font-size:var(--text-base);color:var(--color-brand);font-weight:600}@media(min-width:768px){.accred-value{font-size:var(--text-lg)}}.what-this-means{max-width:800px;margin:0 auto;padding:var(--space-8);text-align:left}.what-this-means h3{color:var(--color-brand);margin-bottom:var(--space-6);text-align:center}.what-this-means ul{list-style:none;padding:0;margin:0}.what-this-means li{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) 0;color:var(--color-neutral-700);font-size:var(--text-base);line-height:1.6}.what-this-means .check-icon{color:var(--color-success);font-weight:700;flex-shrink:0;margin-top:2px}@media(max-width:375px){.accreditation-grid{grid-template-columns:1fr}}.principal-section{display:none}.courses-page{overflow-x:hidden}.courses-v2-comparison-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%;margin:1.5rem 0;background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014}.courses-v2-comparison{width:100%;border-collapse:collapse;font-size:.8125rem}@media(min-width:481px){.courses-v2-comparison{min-width:560px}}.courses-v2-comparison thead th{background:#1e3a8a;color:#fff;padding:.75rem;text-align:left;font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.03em}.courses-v2-comparison tbody td{padding:.75rem;border-bottom:1px solid #e2e8f0;vertical-align:top}.courses-v2-comparison tbody tr:nth-child(2n){background:#f8fafc}.courses-v2-comparison tbody tr:hover{background:#eff6ff}.courses-v2-footnote{font-size:.8125rem;color:#64748b;font-style:italic;margin:1rem 0 2rem;line-height:1.6}.courses-v2-decision-tree{background:linear-gradient(135deg,#eff6ff,#fef3c7);padding:1.75rem 2rem;border-radius:12px;border:1px solid #c7d2fe}.courses-v2-decision-tree h3{margin:0 0 1.25rem;font-size:1.25rem;text-align:center}.decision-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:1.25rem}.decision-group{background:#fff;padding:1.25rem;border-radius:8px;border-top:3px solid #2563eb}.decision-group h4{margin:0 0 .75rem;font-size:1rem;color:#1e3a8a}.decision-group ul{margin:0;padding-left:1.25rem;font-size:.875rem;line-height:1.6;color:#475569}.decision-group ul li{margin-bottom:.5rem}.decision-group ul li strong{color:#1e40af}.courses-hero{background:var(--bg-gradient-hero);padding:var(--space-20) 0;text-align:center;color:#fff}.courses-hero h1{color:#fff;margin-bottom:var(--space-4)}.courses-hero p{font-size:var(--text-lg);color:#ffffffd9;max-width:600px;margin:0 auto}.grade-tabs{display:flex;justify-content:center;gap:var(--space-2);margin-bottom:var(--space-10);flex-wrap:wrap}.grade-tab{padding:var(--space-3) var(--space-6);min-height:44px;font-family:var(--font-display);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-neutral-600);background:var(--color-neutral-100);border:none;border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast)}.grade-tab:hover{background:var(--color-neutral-200)}.grade-tab.active{background:var(--color-brand);color:#fff}.courses-grid{display:grid;gap:var(--space-6);padding-bottom:var(--space-10)}@media(min-width:768px){.courses-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.courses-grid{grid-template-columns:repeat(3,1fr)}}.course-card{background:#fff;padding:var(--space-6);border-radius:var(--radius-xl);border:1px solid var(--color-neutral-200);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:var(--space-4);transition:all var(--transition-base);position:relative;overflow:hidden;text-decoration:none;color:var(--color-neutral-800)}.course-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:var(--color-brand-light)}.course-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:var(--color-brand);opacity:.8}.course-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2)}.course-code{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--color-brand);background:var(--color-primary-50);padding:var(--space-1) var(--space-3);border-radius:var(--radius-md)}.course-type{font-size:var(--text-xs);font-weight:var(--font-semibold);padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.05em}.type-elementary{background:#e0f2fe;color:#0284c7}.type-university{background:#dcfce7;color:#166534}.type-college{background:#fef3c7;color:#92400e}.type-open{background:#f3f4f6;color:#374151}.type-academic{background:#e0e7ff;color:#3730a3}.type-applied{background:#ffedd5;color:#9a3412}.type-destreamed{background:#fae8ff;color:#86198f}.course-name{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--color-neutral-900);margin:0;line-height:1.3}.course-meta{font-size:var(--text-sm);color:var(--color-neutral-500);flex-grow:1}.course-actions{display:flex;gap:var(--space-3);margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-neutral-100)}.course-actions .btn{flex:1;font-size:var(--text-xs);padding:var(--space-2) var(--space-4)}@media(max-width:768px){.courses-hero{padding:var(--space-12) 0}.courses-v2-decision-tree{padding:1.25rem 1rem}.courses-v2-decision-tree h3{font-size:1.1rem}.decision-group{padding:1rem}.courses-v2-comparison thead th,.courses-v2-comparison tbody td{padding:.5rem;font-size:.75rem}}@media(max-width:480px){.courses-hero{padding:var(--space-8) 0}.course-card{padding:var(--space-4)}.course-code{font-size:var(--text-sm)}.course-name{font-size:var(--text-base)}.course-actions{flex-direction:column}.course-actions .btn{width:100%}}@media(max-width:375px){.grade-tab{padding:var(--space-2) var(--space-3);font-size:var(--text-xs)}}.course-detail-page{overflow-x:hidden}.course-hero{background:linear-gradient(135deg,var(--primary-dark) 0%,var(--primary-color) 100%);color:#fff;padding:6rem 0 4rem;position:relative;overflow:hidden}.course-hero h1{font-size:3rem;margin-bottom:1rem}.course-badge{display:inline-block;background:#fff3;padding:.5rem 1rem;border-radius:50px;font-size:.875rem;font-weight:600;margin-bottom:1rem;border:1px solid rgba(255,255,255,.3)}.course-grade{font-size:1.25rem;opacity:.9;margin-bottom:2rem}.course-layout{display:grid;grid-template-columns:300px 1fr;gap:3rem;align-items:start;position:relative}.course-sidebar{position:sticky;top:calc(var(--header-height) + 1.75rem);display:flex;flex-direction:column;gap:1.5rem}.sidebar-card{background:#fff;border-radius:.75rem;box-shadow:var(--shadow-sm);border:1px solid var(--border-color);overflow:hidden}.sidebar-card h3{background:var(--bg-light);padding:1rem 1.5rem;margin:0;font-size:1.1rem;border-bottom:1px solid var(--border-color);color:var(--primary-color)}.course-nav{list-style:none;padding:.5rem 0;margin:0}.course-nav li button{width:100%;text-align:left;background:none;border:none;padding:.75rem 1.5rem;cursor:pointer;font-size:.95rem;color:var(--text-color);transition:all .2s}.course-nav li button:hover{background:var(--bg-light);color:var(--primary-color);padding-left:1.75rem}.quick-facts{list-style:none;padding:1.5rem;margin:0}.quick-facts li{margin-bottom:1rem;font-size:.9rem;display:flex;flex-direction:column;gap:.25rem}.quick-facts li:last-child{margin-bottom:0}.quick-facts strong{color:var(--primary-color)}.course-main{display:flex;flex-direction:column;gap:4rem}.course-section h2{font-size:1.75rem;color:var(--primary-color);border-bottom:2px solid var(--primary-light);padding-bottom:.75rem;margin-bottom:1.5rem}.section-content p{line-height:1.8;margin-bottom:1.5rem;color:var(--text-color)}.outline-table-wrapper{border:1px solid var(--border-color);border-radius:.5rem;overflow-x:auto;-webkit-overflow-scrolling:touch}.outline-table{width:100%;border-collapse:collapse}.outline-table th{background:var(--primary-color);color:#fff;padding:1rem;text-align:left;font-weight:600}.outline-table td{padding:1rem;border-bottom:1px solid var(--border-color);vertical-align:top}.outline-table tr:last-child td{border-bottom:none}.outline-table tr:hover td{background:var(--bg-light)}.text-center{text-align:center!important}.unit-desc{font-size:.9rem;color:var(--text-light);margin-top:.25rem}.total-row{background:var(--bg-light);font-weight:700}.evaluation-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:2rem}.eval-chart-box,.eval-breakdown-box{background:#fff;border:1px solid var(--border-color);border-radius:.75rem;padding:1.5rem}.eval-chart-box h3,.eval-breakdown-box h3{font-size:1.1rem;margin-bottom:1rem;color:var(--primary-color)}.eval-list{padding-left:1.5rem;margin:0}.eval-list li{margin-bottom:.5rem;color:var(--text-color)}.breakdown-visual{display:flex;gap:1rem}.breakdown-item{flex:1;padding:1rem;border-radius:.5rem;text-align:center;color:#fff}.breakdown-item.term{background:var(--secondary-color)}.breakdown-item.final{background:var(--primary-color)}.breakdown-item .percent{display:block;font-size:2rem;font-weight:700;line-height:1;margin-bottom:.25rem}.breakdown-item .label{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;opacity:.9}.faq-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:1.5rem}.faq-card{background:var(--bg-light);padding:1.5rem;border-radius:.75rem;border:1px solid var(--border-color)}.faq-card h3{font-size:1.1rem;margin-bottom:.75rem;color:var(--primary-color)}.faq-card p{margin:0;font-size:.95rem}@media(max-width:1100px)and (min-width:901px){.course-layout{grid-template-columns:240px 1fr;gap:2rem}}@media(max-width:900px){.course-layout{grid-template-columns:1fr}.course-sidebar{display:none}}@media(max-width:640px){.evaluation-grid,.faq-grid{grid-template-columns:1fr}}.international-page{overflow-x:hidden}.international-hero{background:var(--bg-gradient-hero);padding:var(--space-16) 0;text-align:center;color:#fff}@media(min-width:768px){.international-hero{padding:var(--space-24) 0}}.international-hero .hero-content{max-width:900px;margin:0 auto;padding:0 var(--space-4)}@media(min-width:1024px){.international-hero .hero-content{max-width:1100px}}.hero-flag{font-size:48px;margin-bottom:var(--space-4)}@media(min-width:768px){.hero-flag{font-size:64px}}.international-hero h1{color:#fff;margin-bottom:var(--space-4)}.international-hero p{font-size:var(--text-lg);color:#ffffffd9;margin-bottom:var(--space-6)}.hero-highlight{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-full);font-weight:var(--font-semibold)}.highlight-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:var(--color-accent);color:var(--color-neutral-900);border-radius:var(--radius-full);font-size:14px}.benefits-grid{display:grid;gap:var(--space-6)}@media(min-width:768px){.benefits-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.benefits-grid{grid-template-columns:repeat(4,1fr)}}.benefit-card{text-align:center;padding:var(--space-5)}@media(min-width:768px){.benefit-card{padding:var(--space-8)}}.benefit-icon{font-size:48px;margin-bottom:var(--space-4)}.benefit-card h3{font-size:var(--text-lg);color:var(--color-brand);margin-bottom:var(--space-3)}.benefit-card p{color:var(--color-neutral-600);font-size:var(--text-sm);margin:0}.steps-section{background:var(--bg-secondary)}.steps-timeline{display:flex;flex-direction:column;gap:var(--space-6);max-width:600px;margin:0 auto}@media(min-width:768px){.steps-timeline{flex-direction:row;justify-content:space-between;align-items:flex-start;max-width:100%}}.step-item{display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;flex:1}.step-number{width:40px;height:40px;background:var(--color-brand);color:#fff;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:var(--font-bold);margin-bottom:var(--space-3)}.step-icon{font-size:32px;margin-bottom:var(--space-2)}.step-title{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-neutral-700)}@media(min-width:768px){.step-title{max-width:140px}}.step-connector{display:none}@media(min-width:768px){.step-connector{display:block;position:absolute;top:20px;left:calc(50% + 30px);width:calc(100% - 60px);height:2px;background:var(--color-neutral-200)}.step-connector:after{content:"";position:absolute;right:0;top:-4px;border:5px solid transparent;border-left-color:var(--color-neutral-200)}}.pricing-cards{display:grid;gap:var(--space-6);max-width:800px;margin:0 auto}@media(min-width:768px){.pricing-cards{grid-template-columns:repeat(2,1fr)}}.pricing-card{text-align:center;padding:var(--space-8);position:relative}.pricing-card.featured{border:2px solid var(--color-accent);box-shadow:var(--shadow-xl),var(--shadow-glow)}.featured-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);padding:var(--space-1) var(--space-4);background:var(--bg-gradient-gold);color:var(--color-neutral-900);font-size:var(--text-xs);font-weight:var(--font-bold);border-radius:var(--radius-full);text-transform:uppercase}.pricing-header{margin-bottom:var(--space-6);padding-bottom:var(--space-6);border-bottom:1px solid var(--color-neutral-100)}.pricing-header h3{font-size:var(--text-xl);color:var(--color-neutral-800);margin-bottom:var(--space-2)}.price{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:var(--font-extrabold);color:var(--color-brand)}.price span{font-size:var(--text-lg);font-weight:var(--font-normal);color:var(--color-neutral-500)}.pricing-features{text-align:left;margin-bottom:var(--space-6)}.pricing-features li{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) 0;font-size:var(--text-sm);color:var(--color-neutral-600)}.pricing-features .check{color:var(--color-success);font-weight:var(--font-bold)}.international-cta{background:var(--bg-gradient-hero);padding:var(--space-20) 0;color:#fff}.international-cta h2{color:#fff;margin-bottom:var(--space-3)}.international-cta p{color:#ffffffd9;margin-bottom:var(--space-8)}.cta-buttons{display:flex;justify-content:center;gap:var(--space-4);flex-wrap:wrap}.why-international{padding:var(--space-16) 0}.why-grid{display:grid;gap:var(--space-6)}@media(min-width:768px){.why-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.why-grid{grid-template-columns:repeat(4,1fr)}}.why-card{text-align:center;padding:var(--space-8)}.why-icon{width:60px;height:60px;margin:0 auto var(--space-4);background:var(--color-primary-50);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:28px;color:var(--color-brand)}.why-card h3{font-size:var(--text-lg);color:var(--color-brand);margin-bottom:var(--space-3)}.why-card p{color:var(--color-neutral-600);font-size:var(--text-sm);margin:0;line-height:1.6}.partnership-card{max-width:800px;margin:0 auto;padding:var(--space-8);text-align:center;background:var(--color-primary-50);border-left:4px solid var(--color-brand)}.partnership-content h3{color:var(--color-brand);margin-bottom:var(--space-4)}.partnership-content p{color:var(--color-neutral-700);line-height:1.8;margin:0}.documents-section{padding:var(--space-16) 0}.documents-grid{display:grid;gap:var(--space-4)}@media(min-width:640px){.documents-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.documents-grid{grid-template-columns:repeat(4,1fr)}}.document-card{text-align:center;padding:var(--space-6)}.doc-icon{font-size:40px;display:block;margin-bottom:var(--space-3)}.document-card h4{color:var(--color-neutral-800);margin-bottom:var(--space-2);font-size:var(--text-base)}.document-card p{color:var(--color-neutral-600);font-size:var(--text-sm);margin:0}@media(max-width:768px){.international-hero{padding:var(--space-12) 0}.partnership-card{padding:var(--space-5)}.documents-section{padding:var(--space-10) 0}}@media(max-width:480px){.international-hero{padding:var(--space-8) 0}.hero-highlight{padding:var(--space-2) var(--space-3);font-size:var(--text-sm)}.document-card{padding:var(--space-4)}}@media(max-width:375px){.hero-flag{font-size:36px}}.ossd-page{overflow-x:hidden}.ossd-hero{background:var(--bg-gradient-hero);padding:var(--space-14) 0;text-align:center;color:#fff}@media(min-width:768px){.ossd-hero{padding:var(--space-20) 0}}.ossd-hero h1{color:#fff;margin-bottom:var(--space-4)}.ossd-hero p{font-size:var(--text-lg);color:#ffffffd9;max-width:600px;margin:0 auto}.overview-cards{display:grid;gap:var(--space-4);margin-top:calc(-1 * var(--space-12))}@media(min-width:640px){.overview-cards{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.overview-cards{grid-template-columns:repeat(4,1fr)}}.overview-card{text-align:center;padding:var(--space-5)}@media(min-width:768px){.overview-card{padding:var(--space-8)}}.overview-number{font-family:var(--font-display);font-size:var(--text-5xl);font-weight:var(--font-extrabold);color:var(--color-brand);line-height:1;margin-bottom:var(--space-2)}.overview-label{font-size:var(--text-sm);color:var(--color-neutral-500);font-weight:var(--font-medium)}.credits-section{background:var(--bg-secondary)}.credits-table{padding:0;overflow-x:auto;-webkit-overflow-scrolling:touch}.credits-table table{width:100%;border-collapse:collapse}.credits-table th,.credits-table td{padding:var(--space-4);text-align:left;border-bottom:1px solid var(--color-neutral-100)}.credits-table th{background:var(--bg-tertiary);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-neutral-600);text-transform:uppercase;letter-spacing:var(--tracking-wider)}.credits-table tbody tr:hover{background:var(--color-neutral-50)}.credits-table tfoot td{background:var(--bg-tertiary);border-bottom:none}.credit-badge{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 var(--space-2);background:var(--color-primary-100);color:var(--color-brand);font-weight:var(--font-bold);border-radius:var(--radius-md)}.credit-badge.total{background:var(--color-brand);color:#fff}.note{color:var(--color-neutral-500);font-size:var(--text-sm)}.additional-grid{display:grid;gap:var(--space-6)}@media(min-width:1024px){.additional-grid{grid-template-columns:repeat(3,1fr)}}.additional-card{text-align:center;padding:var(--space-8)}.additional-icon{font-size:48px;margin-bottom:var(--space-4)}.additional-card h3{font-size:var(--text-lg);color:var(--color-brand);margin-bottom:var(--space-3)}.additional-card p{color:var(--color-neutral-600);font-size:var(--text-sm);margin:0;line-height:var(--leading-relaxed)}.ossd-cta{background:var(--bg-tertiary)}.ossd-cta h2{margin-bottom:var(--space-4)}.ossd-cta p{color:var(--color-neutral-600);margin-bottom:var(--space-6)}.hero-highlight{color:var(--color-accent, #D4AF37);font-weight:700}.ossd-intro{margin:var(--space-16) 0;padding:var(--space-12);background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:var(--radius-2xl);box-shadow:0 4px 12px #0000000d}.intro-content{display:grid;grid-template-columns:1fr;gap:var(--space-8);align-items:center}.intro-text h2{font-size:var(--text-3xl);color:var(--color-brand);margin-bottom:var(--space-6)}.intro-text p{font-size:var(--text-lg);line-height:var(--leading-relaxed);color:var(--color-neutral-700);margin-bottom:var(--space-4)}.intro-stats{display:flex;flex-wrap:wrap;gap:var(--space-8);margin-top:var(--space-8);padding-top:var(--space-8);border-top:2px solid var(--color-primary-100)}.intro-stat-item{flex:1;min-width:150px}.intro-stat-item strong{display:block;font-size:var(--text-4xl);color:var(--color-accent, #D4AF37);font-weight:800;margin-bottom:var(--space-2)}.intro-stat-item span{color:var(--color-neutral-600);font-size:var(--text-sm)}.elective-section{margin:var(--space-16) 0;padding:var(--space-12);background:linear-gradient(135deg,#e9f5f0,#f8f9fa);border-radius:var(--radius-2xl)}.elective-section h2{font-size:var(--text-3xl);color:var(--color-brand);margin-bottom:var(--space-4);text-align:center}.elective-section>p{text-align:center;color:var(--color-neutral-600);margin-bottom:var(--space-10);font-size:var(--text-lg)}.elective-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:var(--space-6)}.elective-item{background:#fff;padding:var(--space-6);border-radius:var(--radius-lg);text-align:center;font-weight:600;color:var(--color-brand);border:2px solid transparent;transition:all .3s ease;box-shadow:0 2px 8px #0000000d}.elective-item:hover{border-color:var(--color-brand);transform:translateY(-4px);box-shadow:0 6px 16px #1b433226}.international-section{margin:var(--space-16) 0;padding:var(--space-12);background:linear-gradient(135deg,#fff8e1,#fff);border-radius:var(--radius-2xl)}.international-section h2{font-size:var(--text-3xl);color:var(--color-brand);margin-bottom:var(--space-6);text-align:center}.international-section>p{text-align:center;color:var(--color-neutral-600);margin-bottom:var(--space-10);font-size:var(--text-lg)}.international-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:var(--space-8);margin-bottom:var(--space-10)}.international-card{background:#fff;padding:var(--space-8);border-radius:var(--radius-xl);box-shadow:0 4px 12px #00000014;border-left:4px solid var(--color-accent, #D4AF37)}.international-card h3{font-size:var(--text-xl);color:var(--color-brand);margin-bottom:var(--space-4);display:flex;align-items:center;gap:var(--space-2)}.international-card p{color:var(--color-neutral-700);line-height:var(--leading-relaxed)}.international-highlight{background:linear-gradient(135deg,var(--color-brand) 0%,#2D6A4F 100%);color:#fff;padding:var(--space-8);border-radius:var(--radius-xl);margin-top:var(--space-8);text-align:center}.international-highlight strong{font-size:var(--text-xl);display:block;margin-bottom:var(--space-2)}.transfer-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));gap:var(--space-8);margin-top:var(--space-8)}.transfer-step{background:#fff;padding:var(--space-8);border-radius:var(--radius-xl);box-shadow:0 4px 12px #00000014;text-align:center;position:relative}.step-number{width:50px;height:50px;background:var(--color-accent, #D4AF37);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--text-2xl);font-weight:700;margin:0 auto var(--space-6);box-shadow:0 4px 8px #d4af374d}.step-content h3{font-size:var(--text-xl);color:var(--color-brand);margin-bottom:var(--space-4)}.step-content p{color:var(--color-neutral-700);line-height:var(--leading-relaxed)}.why-emcs{margin:var(--space-16) 0;padding:var(--space-12);background:linear-gradient(135deg,#f0f8f5,#fff);border-radius:var(--radius-2xl)}.why-emcs h2{font-size:var(--text-3xl);color:var(--color-brand);margin-bottom:var(--space-12);text-align:center}.benefits-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:var(--space-8)}.benefit-card{background:#fff;padding:var(--space-10);border-radius:var(--radius-xl);box-shadow:0 4px 12px #00000014;transition:transform .3s ease,box-shadow .3s ease}.benefit-card:hover{transform:translateY(-6px);box-shadow:0 8px 20px #1b433226}.benefit-card h3{font-size:var(--text-xl);color:var(--color-brand);margin-bottom:var(--space-4);display:flex;align-items:center;gap:var(--space-3)}.benefit-card p{color:var(--color-neutral-700);line-height:var(--leading-relaxed);font-size:var(--text-lg)}.overview-detail{color:var(--color-neutral-600);font-size:var(--text-sm);margin-top:var(--space-2);line-height:var(--leading-relaxed)}.cta-buttons{display:flex;gap:var(--space-6);justify-content:center;flex-wrap:wrap;margin-top:var(--space-8)}.ossd-cta .btn{padding:var(--space-4) var(--space-10);font-size:var(--text-lg);font-weight:600;border-radius:var(--radius-lg);transition:transform .2s,box-shadow .2s;border:none;cursor:pointer;text-decoration:none;display:inline-block}.ossd-cta .btn-primary{background:#fff;color:var(--color-brand)}.ossd-cta .btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 20px #0003}.ossd-cta .btn-secondary{background:transparent;color:#fff;border:2px solid white}.ossd-cta .btn-secondary:hover{background:#fff;color:var(--color-brand)}@media(max-width:768px){.overview-cards{margin-top:calc(-1 * var(--space-8))}.ossd-intro,.elective-section,.international-section,.why-emcs{padding:var(--space-8)}.intro-text h2,.elective-section h2,.international-section h2,.why-emcs h2{font-size:var(--text-2xl)}.intro-stats{gap:var(--space-6)}.intro-stat-item strong{font-size:var(--text-3xl)}.elective-grid{grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr));gap:var(--space-4)}.elective-item{padding:var(--space-4);font-size:var(--text-sm)}.international-grid,.transfer-steps,.benefits-grid{grid-template-columns:1fr;gap:var(--space-6)}.benefit-card{padding:var(--space-6)}.cta-buttons{flex-direction:column;gap:var(--space-4)}.ossd-cta .btn{width:100%}}@media(max-width:640px){.credits-table th,.credits-table td{padding:var(--space-3) var(--space-2);font-size:var(--text-xs)}}@media(max-width:375px){.overview-cards{margin-top:calc(-1 * var(--space-6))}}.support-page{overflow-x:hidden}.support-hero{background:var(--bg-gradient-hero);padding:var(--space-20) 0;text-align:center;color:#fff}.support-hero h1{color:#fff;margin-bottom:var(--space-4)}.support-hero p{font-size:var(--text-lg);color:#ffffffd9;max-width:600px;margin:0 auto}.services-grid{display:grid;gap:var(--space-6)}@media(min-width:768px){.services-grid{grid-template-columns:repeat(2,1fr)}}.service-card{padding:var(--space-8)}.service-icon{font-size:48px;margin-bottom:var(--space-4)}.service-card h3{font-size:var(--text-xl);color:var(--color-brand);margin-bottom:var(--space-3)}.service-card>p{color:var(--color-neutral-600);margin-bottom:var(--space-4);line-height:var(--leading-relaxed)}.service-features{display:flex;flex-direction:column;gap:var(--space-2);padding-top:var(--space-4);border-top:1px solid var(--color-neutral-100)}.service-features li{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-neutral-600)}.service-features .check{color:var(--color-success);font-weight:var(--font-bold)}.how-section{background:var(--bg-secondary)}.how-grid{display:grid;gap:var(--space-6)}@media(min-width:768px){.how-grid{grid-template-columns:repeat(3,1fr)}}.how-card{text-align:center;padding:var(--space-8);position:relative}.how-number{width:48px;height:48px;background:var(--color-brand);color:#fff;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--font-bold);margin:0 auto var(--space-4)}.how-card h4{color:var(--color-neutral-800);margin-bottom:var(--space-3)}.how-card p{color:var(--color-neutral-600);font-size:var(--text-sm);margin:0}.support-cta{background:var(--bg-gradient-hero);padding:var(--space-20) 0;color:#fff}.support-cta h2{color:#fff;margin-bottom:var(--space-3)}.support-cta p{color:#ffffffd9;margin-bottom:var(--space-8)}.faq-page{overflow-x:hidden}.faq-hero{background:var(--bg-gradient-hero);padding:var(--space-14) 0;text-align:center;color:#fff}@media(min-width:768px){.faq-hero{padding:var(--space-20) 0}}.faq-hero h1{color:#fff;margin-bottom:var(--space-4)}.faq-hero p{font-size:var(--text-lg);color:#ffffffd9;max-width:600px;margin:0 auto}.faq-list{max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:var(--space-4)}.faq-item{background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);border:1px solid var(--color-neutral-100);overflow:hidden;cursor:pointer;transition:all var(--transition-fast)}.faq-item:hover{box-shadow:var(--shadow-md)}.faq-item.open{box-shadow:var(--shadow-lg);border-color:var(--color-primary-200)}.faq-question{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4);gap:var(--space-3)}@media(min-width:640px){.faq-question{padding:var(--space-5) var(--space-6);gap:var(--space-4)}}.faq-question h3{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-neutral-800);margin:0}@media(min-width:640px){.faq-question h3{font-size:var(--text-base)}}.faq-icon{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--color-neutral-100);border-radius:var(--radius-full);font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--color-neutral-500);transition:all var(--transition-fast)}.faq-item.open .faq-icon{background:var(--color-brand);color:#fff}.faq-answer{max-height:0;overflow:hidden;transition:max-height var(--transition-base)}.faq-item.open .faq-answer{max-height:300px}.faq-answer p{padding:0 var(--space-4) var(--space-4);color:var(--color-neutral-600);line-height:var(--leading-relaxed);margin:0;font-size:var(--text-sm)}@media(min-width:640px){.faq-answer p{padding:0 var(--space-6) var(--space-6);font-size:var(--text-base)}}.faq-cta{background:var(--bg-secondary)}.faq-cta h2{margin-bottom:var(--space-4)}.faq-cta p{color:var(--color-neutral-600);margin-bottom:var(--space-6);max-width:500px;margin-left:auto;margin-right:auto}.contact-page{overflow-x:hidden}.contact-hero{background:var(--bg-gradient-hero);padding:var(--space-14) 0;text-align:center;color:#fff}@media(min-width:768px){.contact-hero{padding:var(--space-20) 0}}.contact-hero h1{color:#fff;margin-bottom:var(--space-4)}.contact-hero p{font-size:var(--text-lg);color:#ffffffd9}.contact-grid{display:grid;gap:var(--space-8)}@media(min-width:1024px){.contact-grid{grid-template-columns:1fr 1fr}}.contact-form-wrapper{padding:var(--space-5)}@media(min-width:640px){.contact-form-wrapper{padding:var(--space-8)}}.contact-form-wrapper h2{margin-bottom:var(--space-6)}.contact-form{display:flex;flex-direction:column;gap:var(--space-5)}.form-group{display:flex;flex-direction:column}.textarea{resize:vertical;min-height:120px}.contact-info{display:flex;flex-direction:column;gap:var(--space-6)}.info-cards{display:grid;gap:var(--space-4)}@media(min-width:640px)and (max-width:1023px){.info-cards{grid-template-columns:repeat(2,1fr)}}.info-card{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);border:1px solid var(--color-neutral-100)}.info-icon{font-size:24px;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--color-primary-100);border-radius:var(--radius-lg)}.info-content{display:flex;flex-direction:column}.info-label{font-size:var(--text-xs);color:var(--color-neutral-500);text-transform:uppercase;letter-spacing:var(--tracking-wider);margin-bottom:var(--space-1)}.info-value{font-weight:var(--font-medium);color:var(--color-neutral-800)}.map-placeholder{padding:0;overflow:hidden}.map-inner{height:200px;background:var(--bg-tertiary);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2)}.map-icon{font-size:48px}.map-inner p{color:var(--color-neutral-500);margin:0}.social-section h3{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--color-neutral-500);margin-bottom:var(--space-3)}.social-links{display:flex;flex-wrap:wrap;gap:var(--space-3)}.social-link{padding:var(--space-2) var(--space-4);background:var(--color-neutral-100);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-neutral-600);text-decoration:none;transition:all var(--transition-fast)}.social-link:hover{background:var(--color-brand);color:#fff}.social-link--disabled{cursor:default;opacity:.8}.social-link--disabled:hover{background:var(--color-neutral-100);color:var(--color-neutral-600)}.social-help-text{margin-top:var(--space-3);color:var(--color-neutral-500);font-size:var(--text-sm)}.form-error{color:var(--color-error);font-size:var(--text-sm);margin-top:var(--space-1)}.form-group.error .input{border-color:var(--color-error)}.form-group.error .input:focus{box-shadow:0 0 0 3px #ef44441a}.form-success{text-align:center;padding:var(--space-8) var(--space-4)}.form-success .success-icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:var(--color-primary-100);color:var(--color-success);font-size:32px;font-weight:700;margin-bottom:var(--space-4)}.form-success h3{color:var(--color-brand);margin-bottom:var(--space-3)}.form-success p{color:var(--color-neutral-600);margin-bottom:var(--space-6);max-width:400px;margin-left:auto;margin-right:auto}.legal-page{background:radial-gradient(circle at top left,rgba(47,128,237,.08),transparent 32%),linear-gradient(180deg,#f7f9fc,#fff 38%);min-height:100%}.legal-hero{padding:var(--space-14) 0 var(--space-8)}.legal-hero h1{margin-bottom:var(--space-3)}.legal-hero p{color:var(--color-neutral-600);font-size:var(--text-lg);max-width:720px}.legal-layout{display:grid;gap:var(--space-5)}.legal-card{padding:var(--space-6)}.legal-card h2{margin-bottom:var(--space-3)}.legal-card p{color:var(--color-neutral-700);line-height:1.7;margin:0 0 var(--space-3)}.legal-card p:last-child{margin-bottom:0}@media(min-width:768px){.legal-hero{padding:var(--space-18) 0 var(--space-10)}.legal-layout{gap:var(--space-6)}.legal-card{padding:var(--space-8)}}.primary-foundation-page{overflow-x:hidden}.pf-hero{background:linear-gradient(135deg,#27ae60,#1e8449);padding:var(--space-24) 0;text-align:center;color:#fff}.pf-hero-content{max-width:700px;margin:0 auto}.pf-badge{display:inline-block;background:#fff3;color:#fff;padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--font-semibold);margin-bottom:var(--space-4)}.pf-hero h1{color:#fff;font-size:clamp(2rem,5vw,3rem);margin-bottom:var(--space-4)}.pf-hero p{font-size:var(--text-lg);color:#ffffffe6;margin:0}.pf-overview-content{max-width:800px;margin:0 auto;text-align:center}.pf-overview-content h2{color:var(--color-brand);margin-bottom:var(--space-6)}.pf-overview-content p{color:var(--color-neutral-600);line-height:1.8;margin-bottom:var(--space-4)}.pf-french-note{color:var(--color-brand);font-weight:var(--font-semibold)}.pf-purpose{background:var(--color-primary-50);padding:var(--space-4);border-radius:var(--radius-md);color:var(--color-neutral-700);font-style:italic}.pathways-container{display:grid;gap:var(--space-8);max-width:1280px;margin:0 auto;grid-template-columns:minmax(0,1fr)}@media(min-width:1100px){.pathways-container{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr)}}.pathway-option{min-width:0;padding:var(--space-8);position:relative}.pathway-option.featured{border:2px solid var(--color-brand);box-shadow:var(--shadow-lg)}.pathway-option.featured:before{content:"Recommended";position:absolute;top:-12px;left:50%;transform:translate(-50%);background:var(--color-brand);color:#fff;padding:var(--space-1) var(--space-4);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--font-semibold)}.pathway-badge{display:inline-block;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-4)}.pathway-badge.self-learning{background:#e8f5e9;color:#2e7d32}.pathway-badge.teacher-led{background:#e3f2fd;color:#1565c0}.pathway-option h3{color:var(--color-neutral-800);margin-bottom:var(--space-4);font-size:var(--text-xl)}.pathway-whats-included{margin-bottom:var(--space-6)}.pathway-whats-included h4{color:var(--color-neutral-700);font-size:var(--text-base);margin-bottom:var(--space-3)}.pathway-whats-included ul{list-style:none;padding:0;margin:0}.pathway-whats-included li{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-2) 0;color:var(--color-neutral-600);font-size:var(--text-sm)}.pathway-whats-included .check{color:var(--color-success);font-weight:700;flex-shrink:0}.pathway-important{background:#fff8e1;padding:var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-6)}.pathway-important p{color:var(--color-neutral-700);font-size:var(--text-sm);margin-bottom:var(--space-3)}.pathway-important ul{list-style:disc;padding-left:var(--space-6);margin:0}.pathway-important li{color:var(--color-neutral-600);font-size:var(--text-sm);padding:var(--space-1) 0}.pathway-schedule{margin-bottom:var(--space-6)}.pathway-schedule h4{color:var(--color-neutral-700);font-size:var(--text-base);margin-bottom:var(--space-3)}.pathway-schedule p{color:var(--color-neutral-600);font-size:var(--text-sm);margin-bottom:var(--space-2)}.pathway-schedule .duration{color:var(--color-brand);font-weight:var(--font-semibold)}.pathway-pricing{background:var(--color-neutral-50);padding:var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-4)}.pathway-pricing h4{color:var(--color-neutral-700);font-size:var(--text-base);margin-bottom:var(--space-3)}.price-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) 0;border-bottom:1px solid var(--color-neutral-200)}.price-row:last-of-type{border-bottom:none}.price-row span:first-child{color:var(--color-neutral-600);font-size:var(--text-sm)}.price-row .price{color:var(--color-brand);font-weight:var(--font-bold);font-size:var(--text-base)}.price-row.highlight{background:var(--color-primary-50);margin:calc(-1 * var(--space-2));padding:var(--space-3);border-radius:var(--radius-sm)}.optional-record{font-size:var(--text-xs);color:var(--color-neutral-500);margin-top:var(--space-2);margin-bottom:0}.pathway-fees{margin-bottom:var(--space-6)}.pathway-fees h4{color:var(--color-neutral-700);font-size:var(--text-base);margin-bottom:var(--space-2)}.pathway-fees p{color:var(--color-neutral-600);font-size:var(--text-sm);margin:var(--space-1) 0}.subjects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}@media(min-width:640px){.subjects-grid{grid-template-columns:repeat(3,1fr)}}@media(min-width:1024px){.subjects-grid{grid-template-columns:repeat(4,1fr)}}.subject-card{text-align:center;padding:var(--space-6);display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.subject-card.french{border:2px dashed var(--color-primary-200);background:var(--color-primary-50)}.subject-icon{font-size:40px}.subject-name{color:var(--color-neutral-700);font-weight:var(--font-semibold);font-size:var(--text-sm)}.grades-grid{display:grid;gap:var(--space-4)}@media(min-width:640px){.grades-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.grades-grid{grid-template-columns:repeat(5,1fr)}}.grade-card{text-align:center;padding:var(--space-6)}.grade-number{display:inline-block;background:var(--color-brand);color:#fff;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--font-bold);margin-bottom:var(--space-3)}.grade-card h3{color:var(--color-neutral-800);font-size:var(--text-base);margin-bottom:var(--space-2)}.grade-card p{color:var(--color-neutral-600);font-size:var(--text-sm);margin-bottom:var(--space-3)}.french-badge{display:inline-block;background:#e3f2fd;color:#1565c0;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--font-semibold)}.comparison-table-wrapper{overflow-x:auto;margin-bottom:var(--space-4)}.comparison-table{width:100%;border-collapse:collapse;min-width:600px}.comparison-table th,.comparison-table td{padding:var(--space-4);text-align:left;border-bottom:1px solid var(--color-neutral-200)}.comparison-table th{background:var(--color-neutral-100);font-weight:var(--font-semibold);color:var(--color-neutral-700)}.comparison-table th.self-learning{background:#e8f5e9;color:#2e7d32}.comparison-table th.teacher-led{background:#e3f2fd;color:#1565c0}.comparison-table td{color:var(--color-neutral-600);font-size:var(--text-sm)}.comparison-table tr:hover{background:var(--color-neutral-50)}.comparison-note{text-align:center;color:var(--color-neutral-500);font-size:var(--text-sm);font-style:italic}.disclaimer-grid{display:grid;gap:var(--space-6)}@media(min-width:768px){.disclaimer-grid{grid-template-columns:repeat(2,1fr)}}.disclaimer-card{padding:var(--space-6);border-radius:var(--radius-lg)}.disclaimer-card.self-learning{background:#fff8e1;border-left:4px solid #FFC107}.disclaimer-card.teacher-led{background:#e8f5e9;border-left:4px solid #4CAF50}.disclaimer-card h4{color:var(--color-neutral-800);margin-bottom:var(--space-3)}.disclaimer-card p{color:var(--color-neutral-600);font-size:var(--text-sm);margin-bottom:var(--space-3)}.disclaimer-card ul{list-style:disc;padding-left:var(--space-6);margin:0}.disclaimer-card li{color:var(--color-neutral-600);font-size:var(--text-sm);padding:var(--space-1) 0}.pf-cta{background:linear-gradient(135deg,var(--color-brand) 0%,#1a5d8a 100%);padding:var(--space-16) 0;text-align:center}.pf-cta-content{max-width:700px;margin:0 auto}.pf-cta h2{color:#fff;margin-bottom:var(--space-4)}.pf-cta p{color:#ffffffe6;font-size:var(--text-lg);margin-bottom:var(--space-8)}.pf-cta-buttons{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-4)}.pf-cta-buttons .btn{min-width:200px}@media(max-width:767px){.pf-hero{padding:var(--space-12) 0}.pathway-option{padding:var(--space-6)}.pf-cta-buttons{flex-direction:column;align-items:center}.pf-cta-buttons .btn{width:100%;max-width:300px}.pf-cta{padding:var(--space-10) 0}}@media(max-width:480px){.pf-hero{padding:var(--space-8) 0}.pf-hero h1{font-size:1.75rem}.pathway-option{padding:var(--space-4)}.pathway-option h3{font-size:1.25rem}.disclaimer-card{padding:var(--space-4)}.pf-overview-content h2{font-size:1.5rem}}.schedule-strip{display:flex;align-items:flex-start;gap:.75rem;padding:1rem 1.25rem;background:var(--color-surface, #f7fafc);border:1px solid var(--color-border, #e2e8f0);border-radius:var(--radius-md, 8px);margin:1.5rem 0}.schedule-strip--compact{padding:.625rem 1rem;margin:.75rem 0}.schedule-strip--hero{background:linear-gradient(135deg,#eff6ff,#fef3c7);border-color:#c7d2fe}.schedule-strip__icon{font-size:1.5rem;line-height:1;flex-shrink:0}.schedule-strip__body{flex:1;min-width:0}.schedule-strip__primary{font-weight:600;color:var(--color-text, #1a202c);font-size:.9375rem;line-height:1.4}.schedule-strip__secondary{margin-top:.25rem;font-size:.8125rem;color:var(--color-text-muted, #64748b);line-height:1.4}@media(max-width:640px){.schedule-strip{padding:.875rem 1rem}.schedule-strip__primary{font-size:.875rem}}.grade-group-panel{background:#fff;border-radius:var(--radius-lg, 12px);box-shadow:var(--shadow-md, 0 4px 12px rgba(0, 0, 0, .08));overflow:hidden;margin:2rem 0}.grade-group-panel__header{padding:1.5rem 2rem 1rem;text-align:center;background:linear-gradient(135deg,#eff6ff,#fef3c7);border-bottom:1px solid var(--color-border, #e2e8f0)}.grade-group-panel__title{margin:0 0 .5rem;font-size:clamp(1.25rem,4vw,1.75rem);font-weight:700;color:var(--color-text, #1a202c)}.grade-group-panel__taglines{margin:0;font-size:.9375rem;color:var(--color-text-muted, #64748b);font-weight:600;letter-spacing:.02em}.grade-group-panel__columns{display:grid;grid-template-columns:minmax(min(320px,100%),1fr) minmax(min(320px,100%),1fr);gap:0}@media(max-width:880px){.grade-group-panel__columns{grid-template-columns:1fr}}.grade-group-panel__col{padding:1.75rem 1.5rem;position:relative;display:flex;flex-direction:column;gap:1rem}.grade-group-panel__col--left{background:#f8fafc;border-right:1px solid var(--color-border, #e2e8f0)}@media(max-width:880px){.grade-group-panel__col--left{border-right:none;border-bottom:1px solid var(--color-border, #e2e8f0)}}.grade-group-panel__col--right{background:linear-gradient(180deg,#fffbeb,#fef3c7)}.grade-group-panel__badge{position:absolute;top:-12px;right:1rem;background:#d4af37;color:#fff;font-size:.75rem;font-weight:700;padding:.375rem .75rem;border-radius:999px;text-transform:uppercase;letter-spacing:.05em;box-shadow:0 2px 8px #d4af3766}.grade-group-panel__col-header{display:flex;align-items:center;gap:.5rem}.grade-group-panel__col-header h3{margin:0;font-size:1.0625rem;font-weight:700;color:var(--color-text, #1a202c);line-height:1.3}.grade-group-panel__dot{display:inline-block;width:10px;height:10px;border-radius:50%;flex-shrink:0}.grade-group-panel__description{margin:0;font-size:.875rem;line-height:1.55;color:var(--color-text-muted, #475569)}.grade-group-panel__subjects-table{width:100%;border-collapse:collapse;font-size:.8125rem;overflow-x:auto}.grade-group-panel__subjects-table thead th{text-align:left;padding:.5rem .625rem;background:#e2e8f0;font-weight:600;border-bottom:1px solid #cbd5e0}.grade-group-panel__subjects-table tbody td{padding:.5rem .625rem;border-bottom:1px solid #e2e8f0}.grade-group-panel__subjects-table tbody tr:last-child td{border-bottom:none}.grade-group-panel__included{background:#fff;padding:.875rem 1rem;border-radius:6px;border:1px solid #e2e8f0;font-size:.8125rem}.grade-group-panel__included strong{display:block;margin-bottom:.375rem;color:var(--color-text, #1a202c)}.grade-group-panel__included ul{margin:0;padding-left:1.125rem;color:var(--color-text-muted, #475569);line-height:1.5}.grade-group-panel__promo{background:linear-gradient(90deg,#fef3c7,#fde68a);color:#92400e;padding:.75rem 1rem;border-radius:6px;font-size:.875rem;font-weight:600;text-align:center;border:1px solid #fcd34d}.grade-group-panel__price-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:1rem}.grade-group-panel__price-card--featured{background:#ffffffe6;border-color:#d4af37}.grade-group-panel__price-card .price-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;font-size:.875rem;border-bottom:1px solid #f1f5f9}.grade-group-panel__price-card .price-row:last-child{border-bottom:none}.grade-group-panel__price-card .price-row--muted{color:var(--color-text-muted, #64748b);font-size:.8125rem}.grade-group-panel__price-card .list-price{text-decoration:line-through;color:#94a3b8}.grade-group-panel__price-card .sale-price{color:#059669;font-size:1.0625rem}.grade-group-panel__price-card .discount-badge{display:inline-block;background:#dc2626;color:#fff;font-size:.75rem;font-weight:700;padding:.125rem .375rem;border-radius:4px;margin-left:.25rem}.grade-group-panel__feature-pills{display:flex;flex-wrap:wrap;gap:.375rem}.grade-group-panel__feature-pills .pill{background:#d4af3726;color:#78350f;padding:.25rem .625rem;border-radius:999px;font-size:.75rem;font-weight:600;border:1px solid #fbbf24}.grade-group-panel__upgrade-note{margin:0;font-size:.8125rem;color:#78350f;font-style:italic;line-height:1.5;background:#fff9;padding:.625rem .75rem;border-radius:6px;border-left:3px solid #d4af37}.grade-group-panel__footer{padding:1.5rem 2rem;background:#f8fafc;border-top:1px solid var(--color-border, #e2e8f0);text-align:center}.grade-group-panel__tagline-strip{margin:0 0 1rem;font-size:.9375rem;font-weight:600;color:var(--color-text, #1a202c);letter-spacing:.01em}.grade-group-panel__hint{margin:1rem 0 1.25rem;font-size:.8125rem;color:var(--color-text-muted, #64748b);font-style:italic}.grade-group-panel__grade-links{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.grade-group-panel__grade-links .grade-link-pill{background:#fff;border:1px solid #cbd5e0;padding:.375rem .875rem;border-radius:999px;font-size:.8125rem;font-weight:600;color:var(--color-text, #1a202c);text-decoration:none;transition:all .15s ease}.grade-group-panel__grade-links .grade-link-pill:hover{background:#2f80ed;border-color:#2f80ed;color:#fff}@media(max-width:640px){.grade-group-panel__col,.grade-group-panel__footer{padding:1.25rem 1rem}.grade-group-panel__subjects-table{font-size:.75rem}.grade-group-panel__subjects-table thead th,.grade-group-panel__subjects-table tbody td{padding:.375rem .5rem}}.middle-school-foundation-page section{padding:2rem 0}.msf-hero{background:linear-gradient(135deg,#059669,#2563eb);color:#fff;padding:3rem 0!important;text-align:center}.msf-hero__badge{display:inline-block;background:#fff3;padding:.375rem 1rem;border-radius:999px;font-size:.8125rem;font-weight:600;margin-bottom:.75rem;letter-spacing:.03em}.msf-hero h1{margin:0 0 .5rem;font-size:clamp(1.75rem,5vw,2.5rem)}.msf-hero__tagline{margin:0;font-size:1.125rem;opacity:.95}.msf-overview{background:#f8fafc}.msf-overview h2,.msf-pricing h2,.msf-grades h2,.msf-french h2,.msf-upgrade h2{margin-top:0;color:var(--color-text, #1a202c)}.msf-overview p{max-width:56rem;font-size:1rem;line-height:1.7;color:var(--color-text-muted, #475569);margin:.5rem 0 0}.msf-panel-section{background:#fff}.msf-pricing{background:#f8fafc}.msf-pricing-table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:var(--shadow-sm, 0 1px 3px rgba(0, 0, 0, .06));margin-top:1rem;font-size:.9375rem}.msf-pricing-table thead th{background:#1e3a8a;color:#fff;padding:.75rem 1rem;text-align:left}.msf-pricing-table tbody td{padding:.75rem 1rem;border-bottom:1px solid #e2e8f0}.msf-pricing-table tbody tr:last-child td{border-bottom:none}.msf-pricing-table s{color:#94a3b8;font-weight:400}.msf-grade-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:1rem;margin-top:1rem}.msf-grade-card{background:#fff;padding:1.25rem;border-radius:8px;border-top:4px solid #059669;box-shadow:var(--shadow-sm, 0 1px 3px rgba(0, 0, 0, .06))}.msf-grade-card h3{margin:0 0 .5rem;color:var(--color-text, #1a202c)}.msf-grade-card p{margin:0 0 1rem;font-size:.875rem;line-height:1.6;color:var(--color-text-muted, #64748b)}.msf-french,.msf-upgrade{background:#fff}.msf-french p,.msf-upgrade p{max-width:56rem;line-height:1.7;color:var(--color-text-muted, #475569);margin:.5rem 0 0}.msf-cta{background:linear-gradient(135deg,#1e3a8a,#2563eb);color:#fff;text-align:center;padding:3rem 0!important}.msf-cta h2{margin:0 0 .5rem;color:#fff}.msf-cta p{margin:0 0 1.5rem;opacity:.9}.msf-cta-buttons{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-bottom:1.5rem}.hs-pathways-page section{padding:2rem 0}.hsp-hero{background:linear-gradient(135deg,#0f172a,#1e3a8a,#7c3aed);color:#fff;padding:3.5rem 0 3rem!important;text-align:center}.hsp-hero h1{margin:0 0 .5rem;font-size:clamp(1.5rem,4vw,2.25rem);letter-spacing:.02em}.hsp-hero__subtitle{margin:0 0 .5rem;font-size:1.5rem;font-weight:600;opacity:.95}.hsp-hero__tagline{margin:0 0 1.25rem;font-size:1.0625rem;font-weight:700;letter-spacing:.03em;color:#fcd34d}.hsp-hero__lede{max-width:48rem;margin:0 auto 1.5rem;font-size:1rem;line-height:1.6;opacity:.9}.hsp-hero__ctas{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.hsp-pathways{background:#f8fafc}.hsp-pathway-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:1.5rem}.hsp-pathway-card{background:#fff;padding:1.75rem;border-radius:var(--radius-lg, 12px);box-shadow:var(--shadow-md, 0 4px 12px rgba(0, 0, 0, .08));position:relative}.hsp-pathway-card--academic{border-top:4px solid #2563eb}.hsp-pathway-card--official{border-top:4px solid #d4af37;background:linear-gradient(180deg,#fffbeb,#fff 40%)}.hsp-pathway-card h3{margin:0 0 .75rem;font-size:1.25rem;color:var(--color-text, #1a202c)}.hsp-pathway-card p{margin:0 0 1rem;font-size:.9375rem;line-height:1.65;color:var(--color-text-muted, #475569)}.hsp-pathway-card h4{margin:1rem 0 .5rem;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted, #64748b)}.hsp-pathway-card ul{margin:0;padding-left:1.25rem;color:var(--color-text, #1a202c);line-height:1.6}.hsp-pathway-card ul li{margin-bottom:.25rem;font-size:.9375rem}.hsp-badge{position:absolute;top:-12px;right:1rem;background:#d4af37;color:#fff;font-size:.75rem;font-weight:700;padding:.375rem .75rem;border-radius:999px;text-transform:uppercase;letter-spacing:.05em}.hsp-official-heading{background:#fff;text-align:center;border-top:1px solid #e2e8f0;padding:2.5rem 0 1rem!important}.hsp-official-heading h2{margin:0 0 .25rem;color:var(--color-text, #1a202c)}.hsp-official-sub{margin:0 0 .5rem;color:var(--color-text-muted, #64748b);font-weight:600}.hsp-official-tagline{margin:0;font-size:.9375rem;color:var(--color-text-muted, #64748b)}.hsp-tabs-section{background:#fff}.hsp-grade-tabs{display:flex;flex-wrap:wrap;gap:.375rem;justify-content:center;margin-bottom:1.5rem}.hsp-grade-tab{padding:.625rem 1.125rem;background:#f1f5f9;border:2px solid #e2e8f0;border-radius:999px;font-weight:600;font-size:.875rem;cursor:pointer;color:var(--color-text-muted, #475569);transition:all .15s ease}.hsp-grade-tab:hover{border-color:#2563eb;color:#2563eb}.hsp-grade-tab.active{background:#2563eb;border-color:#2563eb;color:#fff}.hsp-note-card{background:#fef3c7;border:1px solid #fbbf24;border-left:4px solid #d97706;padding:1rem 1.25rem;border-radius:8px;margin-top:1.5rem;font-size:.875rem;line-height:1.6;color:#78350f}.hsp-fees{background:#f8fafc}.hsp-fees-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:1rem}.hsp-fee-card{background:#fff;padding:1rem 1.25rem;border-radius:8px;border-left:4px solid #2563eb;font-weight:600;font-size:.9375rem;color:var(--color-text, #1a202c)}.hsp-dual-pathway{background:#fff}.hsp-dual-pathway h2{text-align:center;margin:0 0 1.5rem;color:var(--color-text, #1a202c)}.hsp-dual-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:1rem}.hsp-dual-card{background:linear-gradient(135deg,#eff6ff,#f8fafc);padding:1.5rem 1.25rem;border-radius:var(--radius-lg, 12px);border:1px solid #c7d2fe}.hsp-dual-card h3{margin:0 0 .5rem;color:#1e3a8a;font-size:1.125rem}.hsp-dual-card p{margin:0;line-height:1.6;font-size:.9375rem;color:var(--color-text-muted, #475569)}.hsp-cta-closing{background:linear-gradient(135deg,#1e3a8a,#7c3aed);color:#fff;text-align:center}.hsp-cta-buttons{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-bottom:1.5rem}@media(max-width:768px){.hsp-hero{padding:2.5rem 0 2rem!important}.hsp-hero__subtitle{font-size:1.25rem}.hsp-pathway-card{padding:1.25rem}.hsp-hero__ctas{flex-direction:column;align-items:center}.hsp-hero__ctas .btn{width:100%;max-width:300px}.hsp-cta-buttons{flex-direction:column;align-items:center}.hsp-cta-buttons .btn{width:100%;max-width:300px}.hsp-official-heading{padding:2rem 0 .75rem!important}}@media(max-width:480px){.hsp-hero{padding:2rem 0 1.5rem!important}.hsp-hero__subtitle{font-size:1.125rem}.hsp-hero__tagline{font-size:.9375rem}.hsp-pathway-card{padding:1rem}.hsp-pathway-card h3{font-size:1.1rem}.hsp-grade-tab{padding:.5rem .875rem;font-size:.8125rem}.hsp-dual-card{padding:1.25rem 1rem}.hsp-fee-card{padding:.75rem 1rem;font-size:.875rem}}@media(max-width:375px){.hsp-hero h1{font-size:1.375rem}.hsp-hero__subtitle{font-size:1rem}.hsp-grade-tab{padding:.375rem .625rem;font-size:.75rem}}.tuition-hero{background:linear-gradient(135deg,#0f172a,#1e3a8a);color:#fff;padding:3rem 0 2rem}.tuition-hero h1{margin:0 0 .5rem;font-size:clamp(1.75rem,5vw,2.5rem);color:#fff}.tuition-band h2,.tuition-band h3{color:var(--color-text, #1a202c)}.tuition-cta-section h2{color:#fff}.tuition-hero p{margin:0;font-size:1.0625rem;opacity:.9}.tuition-body{padding:2rem 0 3rem;background:#f8fafc;min-height:60vh}.tuition-tabs{display:flex;gap:.375rem;flex-wrap:wrap;margin-bottom:1.5rem;border-bottom:2px solid #e2e8f0}.tuition-tab{padding:.75rem 1rem;background:transparent;border:none;border-bottom:3px solid transparent;color:var(--color-text-muted, #64748b);font-weight:600;font-size:.9375rem;cursor:pointer;margin-bottom:-2px;transition:all .15s ease}.tuition-tab:hover{color:var(--color-text, #1a202c)}.tuition-tab.active{color:#2563eb;border-bottom-color:#2563eb}.tuition-band{background:#fff;border-radius:var(--radius-lg, 12px);padding:2rem;box-shadow:var(--shadow-sm, 0 1px 3px rgba(0, 0, 0, .06))}.tuition-band h2{margin:0 0 .5rem;color:var(--color-text, #1a202c)}.band-subtitle{margin:0 0 1.5rem;color:var(--color-text-muted, #64748b);font-size:.9375rem;max-width:48rem}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:1.25rem;margin-bottom:1.5rem}.pricing-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:1.25rem;position:relative}.pricing-card--academic{border-top:4px solid #2563eb}.pricing-card--official{border-top:4px solid #d4af37;background:linear-gradient(180deg,#fffbeb,#fff)}.pricing-card--legacy{border-top:4px solid #7c3aed}.pricing-card h3{margin:0 0 .5rem;font-size:1.125rem;color:var(--color-text, #1a202c)}.pricing-card p{margin:0 0 1rem;font-size:.875rem;color:var(--color-text-muted, #64748b);line-height:1.5}.pricing-card__badge{position:absolute;top:-10px;right:1rem;background:#7c3aed;color:#fff;font-size:.6875rem;font-weight:700;padding:.25rem .625rem;border-radius:4px;text-transform:uppercase;letter-spacing:.03em}.pricing-breakdown{list-style:none;padding:0;margin:0}.pricing-breakdown li{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid #e2e8f0;font-size:.875rem}.pricing-breakdown li:last-child{border-bottom:none}.pricing-breakdown li span{color:var(--color-text-muted, #64748b)}.pricing-breakdown li strong{color:var(--color-text, #1a202c);font-size:1rem}.pricing-breakdown s{color:#94a3b8;font-weight:400;font-size:.875rem}.fee-schedule-table-wrapper{overflow-x:auto;margin:1rem 0}.fee-schedule-table{width:100%;border-collapse:collapse;font-size:.875rem;min-width:520px}.fee-schedule-table thead th{background:#1e3a8a;color:#fff;padding:.75rem;text-align:left}.fee-schedule-table tbody td{padding:.75rem;border-bottom:1px solid #e2e8f0}.fee-schedule-table tbody tr:nth-child(2n){background:#f8fafc}.fee-schedule-table s{color:#94a3b8;font-weight:400}.tuition-footnote{margin:1rem 0 0;font-size:.8125rem;color:var(--color-text-muted, #64748b);font-style:italic}.payment-methods{list-style:none;padding:0;margin:1rem 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:.75rem}.payment-methods li{padding:1rem;background:#f8fafc;border-radius:8px;border-left:3px solid #2563eb;font-weight:600}.tuition-cta-section{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;padding:3rem 0;text-align:center}.tuition-cta-section h2{margin:0 0 .5rem;font-size:1.875rem}.tuition-cta-section p{margin:0 0 1.5rem;font-size:1rem;opacity:.9}.tuition-cta-buttons{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}@media(max-width:640px){.tuition-band{padding:1.25rem}.tuition-tab{padding:.625rem .75rem;font-size:.875rem}.fee-schedule-table thead th,.fee-schedule-table tbody td{padding:.5rem;font-size:.8rem}.tuition-cta-section h2{font-size:1.5rem}.tuition-cta-section{padding:2rem 0}.tuition-cta-buttons{flex-direction:column;align-items:center}.tuition-cta-buttons .btn{width:100%;max-width:300px}}@media(max-width:375px){.tuition-hero{padding:2rem 0 1.5rem}.tuition-hero h1{font-size:1.5rem}.tuition-tabs{gap:.25rem}.tuition-tab{padding:.5rem .625rem;font-size:.8rem}.pricing-card{padding:1rem}}.calendar-hero{background:linear-gradient(135deg,#7c3aed,#2563eb);color:#fff;padding:3rem 0 2rem;text-align:center}.calendar-hero h1{margin:0 0 .5rem;font-size:clamp(1.75rem,5vw,2.5rem);color:#fff}.calendar-hero p{margin:0;font-size:1.0625rem;opacity:.9}.calendar-body{padding:2rem 0 3rem;background:#f8fafc}.calendar-overview-card{background:#fff;border-radius:var(--radius-lg, 12px);padding:2rem;box-shadow:var(--shadow-md, 0 4px 12px rgba(0, 0, 0, .08));margin-bottom:1.5rem}.calendar-overview-card h2{margin:0 0 1.25rem;color:var(--color-text, #1a202c)}.calendar-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:1rem}.calendar-item{display:flex;gap:.75rem;align-items:flex-start;padding:.875rem 1rem;background:#f8fafc;border-radius:8px;border-left:3px solid #7c3aed}.calendar-item__icon{font-size:1.25rem;flex-shrink:0}.continuous-banner{background:linear-gradient(90deg,#fef3c7,#fde68a);border:1px solid #fbbf24;border-radius:8px;padding:1rem 1.25rem;display:flex;gap:.75rem;align-items:center;margin-bottom:1.5rem}.continuous-banner__icon{font-size:1.5rem}.continuous-banner p{margin:0;color:#78350f;font-weight:600;font-size:.9375rem}.calendar-module{background:#fff;border-radius:var(--radius-lg, 12px);padding:1.5rem 2rem;margin-bottom:1.25rem;box-shadow:var(--shadow-sm, 0 1px 3px rgba(0, 0, 0, .06))}.calendar-module h2{margin:0 0 .75rem;font-size:1.25rem;color:var(--color-text, #1a202c)}.calendar-module p{margin:0;color:var(--color-text-muted, #475569);line-height:1.6}.program-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:1rem;margin-top:1rem}.program-card{background:#f8fafc;padding:1rem 1.25rem;border-radius:8px;border-top:3px solid #2563eb}.program-card h3{margin:0 0 .375rem;font-size:1rem;color:var(--color-text, #1a202c)}.program-card p{margin:0;font-size:.875rem;line-height:1.5;color:var(--color-text-muted, #64748b)}.calendar-download{text-align:center;padding:2rem 1rem}.calendar-download .btn{max-width:100%;white-space:normal;text-align:center;line-height:1.3}.calendar-download__note{margin:.5rem 0 0;font-size:.8125rem;color:var(--color-text-muted, #64748b);font-style:italic}@media(max-width:640px){.calendar-overview-card,.calendar-module{padding:1.25rem}}.program-compare-page section{padding:2rem 0}.compare-hero{background:linear-gradient(135deg,#1e3a8a,#d4af37);color:#fff;text-align:center;padding:3rem 0!important}.compare-hero h1{margin:0 0 .5rem;font-size:clamp(1.5rem,4.5vw,2.25rem);color:#fff}.quiz-card h2,.quiz-card h3,.quiz-step h3,.quiz-result h3{color:var(--color-text, #1a202c)}.compare-hero p{margin:0;font-size:1.0625rem;opacity:.95}.compare-selector-section{background:#f8fafc;padding:1.5rem 0!important}.compare-selector-label{display:block;font-weight:600;color:var(--color-text, #1a202c);margin-bottom:.75rem;font-size:.9375rem}.compare-band-tabs{display:flex;flex-wrap:wrap;gap:.5rem}.compare-band-tab{padding:.625rem 1.125rem;background:#fff;border:2px solid #e2e8f0;border-radius:999px;font-weight:600;font-size:.875rem;cursor:pointer;color:var(--color-text-muted, #475569);transition:all .15s ease}.compare-band-tab:hover{border-color:#2563eb;color:#2563eb}.compare-band-tab.active{background:#2563eb;border-color:#2563eb;color:#fff}.compare-matrix-section{background:#f8fafc}.compare-matrix-wrapper{overflow-x:auto;background:#fff;border-radius:var(--radius-lg, 12px);box-shadow:var(--shadow-md, 0 4px 12px rgba(0, 0, 0, .08))}.compare-matrix{width:100%;border-collapse:collapse;min-width:720px;font-size:.875rem}.compare-matrix thead th{padding:1rem;text-align:left;vertical-align:top;background:#f8fafc;border-bottom:2px solid #e2e8f0}.compare-matrix thead th small{display:block;font-weight:400;color:var(--color-text-muted, #64748b);margin-top:.125rem}.compare-matrix thead .th-academic{border-top:4px solid #2563eb}.compare-matrix thead .th-official{border-top:4px solid #d4af37;background:#fffbeb}.compare-matrix tbody td{padding:.875rem 1rem;border-bottom:1px solid #e2e8f0;line-height:1.5;color:var(--color-text, #1a202c)}.compare-matrix tbody .row-label{font-weight:600;background:#f8fafc;color:var(--color-text, #1a202c)}.compare-matrix tbody tr:hover td{background:#f8fafc}.compare-quiz-section{background:#fff}.quiz-card{background:linear-gradient(135deg,#eff6ff,#fef3c7);padding:2.5rem 2rem;border-radius:var(--radius-lg, 12px);border:1px solid #c7d2fe;text-align:center;max-width:56rem;margin:0 auto}.quiz-card h2{margin:0 0 .5rem;color:var(--color-text, #1a202c);font-size:1.5rem}.quiz-card>p{margin:0 0 1.5rem;color:var(--color-text-muted, #475569)}.quiz-progress{display:inline-block;padding:.25rem .75rem;background:#2563eb;color:#fff;font-size:.75rem;border-radius:999px;font-weight:600;margin-bottom:.75rem}.quiz-step h3{margin:0 0 1.25rem;font-size:1.25rem;color:var(--color-text, #1a202c)}.quiz-options{display:grid;gap:.625rem;max-width:36rem;margin:0 auto 1rem}.quiz-option{padding:.875rem 1.25rem;background:#fff;border:2px solid #e2e8f0;border-radius:8px;font-size:.9375rem;font-weight:500;cursor:pointer;color:var(--color-text, #1a202c);transition:all .15s ease;text-align:left}.quiz-option:hover{border-color:#2563eb;background:#eff6ff}.quiz-option.selected{border-color:#2563eb;background:#2563eb;color:#fff}.quiz-result{padding:1rem}.quiz-result__badge{display:inline-block;padding:.375rem .875rem;background:#059669;color:#fff;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;font-weight:700;border-radius:999px;margin-bottom:.75rem}.quiz-result h3{margin:0 0 .75rem;font-size:1.375rem;color:var(--color-text, #1a202c)}.quiz-result p{margin:0 0 1.25rem;font-size:.9375rem;line-height:1.6;color:var(--color-text-muted, #475569)}.quiz-result__buttons{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.compare-cta-section{background:#f8fafc;text-align:center}.grade-group-page__hero{background:linear-gradient(135deg,#1e3a8a,#2563eb);color:#fff;padding:2.5rem 0 2rem}.grade-group-page__breadcrumbs{font-size:.8125rem;opacity:.85;margin-bottom:.5rem}.grade-group-page__breadcrumbs a{color:#fff;text-decoration:underline}.grade-group-page__hero h1{margin:0 0 .5rem;font-size:clamp(1.5rem,4vw,2.25rem)}.grade-group-page__hero-subtitle{margin:0;font-size:1rem;opacity:.9;max-width:48rem}.grade-group-page__body{padding:2rem 0 3rem}.grade-group-page--error{padding:4rem 0;text-align:center}.program-landing{min-height:100vh;overflow-x:hidden}.program-hero{background:linear-gradient(135deg,#1b4332,#2d6a4f);color:#fff;padding:4rem 0 3rem;text-align:center}.program-hero.official{background:linear-gradient(135deg,#d4af37,#b8860b)}.program-badge-large{display:inline-flex;align-items:center;gap:.75rem;background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:.75rem 1.5rem;border-radius:30px;font-size:1rem;font-weight:600;margin-bottom:1.5rem}.program-badge-large.official{background:#fff3}.featured-banner{display:inline-block;background:#fff;color:#d4af37;padding:.5rem 1.5rem;border-radius:20px;font-weight:700;font-size:.875rem;margin-bottom:1rem;text-transform:uppercase;letter-spacing:.05em}.program-hero h1{font-size:2.75rem;margin:1rem 0;line-height:1.2}.hero-description{font-size:1.125rem;line-height:1.7;max-width:900px;margin:1.5rem auto;opacity:.95}.hero-features{display:flex;justify-content:center;gap:2rem;margin-top:2rem;flex-wrap:wrap}.hero-features .feature-item{display:flex;align-items:center;gap:.5rem;background:#ffffff26;padding:.75rem 1.25rem;border-radius:25px;font-weight:600}.feature-icon{font-size:1.25rem}.ministry-badge-section{background:#fff;padding:2rem 0;border-bottom:2px solid var(--color-neutral-200, #e5e7eb)}.ministry-badge{display:flex;align-items:center;gap:1.5rem;background:linear-gradient(135deg,#fff8e1,#fff);border:2px solid #D4AF37;border-radius:12px;padding:1.5rem 2rem;max-width:800px;margin:0 auto}.ministry-badge .badge-icon{font-size:2.5rem;color:#27ae60}.badge-content h3{font-size:1.25rem;margin:0 0 .5rem;color:var(--color-brand, #1B4332)}.badge-content p{margin:.25rem 0;color:var(--color-neutral-700, #374151)}.whats-included-section{background:var(--color-neutral-50, #f9fafb);padding:4rem 0}.whats-included-section h2{text-align:center;font-size:2rem;margin-bottom:3rem;color:var(--color-brand, #1B4332)}.included-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:1.5rem}.included-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #00000014;transition:transform .2s ease,box-shadow .2s ease}.included-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px #0000001f}.included-icon{font-size:2rem;color:#27ae60;display:block;margin-bottom:1rem}.included-card h3{font-size:1.125rem;margin:0 0 .5rem;color:var(--color-brand, #1B4332)}.included-card p{margin:0;color:var(--color-neutral-600, #6b7280);font-size:.95rem}.grade-groups-section{padding:4rem 0;background:#fff}.grade-groups-section h2{text-align:center;font-size:2rem;margin-bottom:.5rem;color:var(--color-brand, #1B4332)}.grade-groups-expandable{max-width:900px;margin:0 auto}.grade-group-card{background:#fff;border-radius:12px;margin-bottom:1.5rem;box-shadow:0 2px 8px #00000014;transition:all .3s ease}.grade-group-card.expanded{box-shadow:0 8px 20px #0000001f}.group-header{width:100%;display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border:3px solid transparent;border-radius:12px;background:#fff;cursor:pointer;transition:all .3s ease;text-align:left}.group-header:hover{background:var(--color-neutral-50, #f9fafb)}.group-header.official{background:linear-gradient(135deg,#fff8e1,#fff)}.group-header-left{display:flex;align-items:center;gap:1rem}.group-icon{font-size:2.5rem}.group-info h3{font-size:1.25rem;margin:0 0 .25rem;color:var(--color-brand, #1B4332)}.group-info p{margin:0;color:var(--color-neutral-600, #6b7280);font-size:.95rem}.expand-icon{font-size:2rem;font-weight:300;color:var(--color-neutral-500, #6b7280);width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--color-neutral-100, #f3f4f6);transition:all .3s ease}.expand-icon.open{transform:rotate(180deg);background:var(--color-brand, #1B4332);color:#fff}.group-content{padding:0 1.5rem 1.5rem;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.grade-links{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(150px,100%),1fr));gap:1rem;margin-bottom:1.5rem}.grade-link{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:var(--color-neutral-50, #f9fafb);border:2px solid var(--grade-color);border-radius:8px;text-decoration:none;color:var(--color-brand, #1B4332);font-weight:600;transition:all .2s ease}.grade-link:hover{background:var(--grade-color);color:#fff;transform:translate(4px)}.grade-link.official{border-color:#d4af37}.grade-link.official:hover{background:#d4af37}.grade-number{font-size:1rem}.grade-arrow{font-size:1.25rem;transition:transform .2s ease}.grade-link:hover .grade-arrow{transform:translate(4px)}.group-footer{background:linear-gradient(135deg,#e3f2fd,#fff);border-radius:8px;padding:1rem 1.25rem;text-align:center}.pricing-note{margin:0;color:var(--color-neutral-700, #374151);font-size:.95rem}.key-features-section{background:var(--color-neutral-50, #f9fafb);padding:4rem 0}.key-features-section h2{text-align:center;font-size:2rem;margin-bottom:3rem;color:var(--color-brand, #1B4332)}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));gap:2rem}.feature-card{text-align:center;padding:2rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014}.feature-icon-large{font-size:3rem;margin-bottom:1rem}.feature-card h3{font-size:1.25rem;margin:1rem 0 .5rem;color:var(--color-brand, #1B4332)}.feature-card p{margin:0;color:var(--color-neutral-600, #6b7280)}.cta-section{padding:4rem 0;background:linear-gradient(135deg,#1b4332,#2d6a4f);color:#fff}.cta-section.official{background:linear-gradient(135deg,#d4af37,#b8860b)}.cta-card{text-align:center;max-width:700px;margin:0 auto}.cta-card h2{font-size:2rem;margin-bottom:1rem}.cta-card p{font-size:1.125rem;margin-bottom:2rem;opacity:.9}.cta-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}@media(max-width:768px){.program-hero h1{font-size:2rem}.hero-description{font-size:1rem}.hero-features{gap:1rem}.ministry-badge{flex-direction:column;text-align:center}.included-grid,.grade-links,.features-grid{grid-template-columns:1fr}.cta-buttons{flex-direction:column}.cta-buttons .btn{width:100%}}@media(max-width:480px){.program-hero{padding:3rem 0 2rem}.program-hero h1{font-size:1.75rem}.hero-features .feature-item{font-size:.875rem;padding:.5rem 1rem}.group-header{padding:1rem}.group-icon{font-size:2rem}.group-info h3{font-size:1.1rem}}.pricing-callout-section{padding:2rem 0;background:#f8fafc}.pricing-v2-banner{background:linear-gradient(90deg,#fef3c7,#fde68a);color:#78350f;padding:1rem 1.5rem;border-radius:8px;text-align:center;font-weight:600;font-size:1rem;margin-bottom:1rem;border:1px solid #fbbf24}.pricing-v2-upgrade{background:#fff;padding:1rem 1.25rem;border-left:4px solid #d4af37;border-radius:6px;font-size:.9375rem;line-height:1.6;margin-bottom:1rem;color:var(--color-text, #1a202c)}.french-exemption-section{padding:2rem 0;background:#fff}.french-exemption-card{display:flex;gap:1rem;padding:1.25rem 1.5rem;background:linear-gradient(135deg,#eff6ff,#f8fafc);border:1px solid #c7d2fe;border-left:4px solid #2563eb;border-radius:8px;margin-bottom:1rem}.french-exemption-icon{font-size:2rem;flex-shrink:0}.french-exemption-card h3{margin:0 0 .5rem;font-size:1.0625rem;color:var(--color-text, #1a202c)}.french-exemption-card ul{margin:0;padding-left:1.25rem;color:var(--color-text-muted, #475569);font-size:.875rem;line-height:1.6}.french-exemption-card ul li{margin-bottom:.375rem}@media(max-width:640px){.program-hero{padding:2.5rem 0 1.5rem}.french-exemption-card{flex-direction:column;padding:1rem}.french-exemption-icon{font-size:1.75rem}.pricing-v2-banner{font-size:.9375rem;padding:.875rem 1rem}.grade-pill{font-size:.875rem}}@media(max-width:375px){.program-hero h1{font-size:1.5rem}.hero-description{font-size:.9375rem}.hero-features .feature-item{font-size:.8125rem}.cta-buttons .btn{padding:.625rem .875rem;font-size:.875rem}}.subject-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:1.5rem;padding:2rem 0}.subject-card{background:#fff;border-radius:12px;overflow:hidden;border:2px solid var(--subject-color, #e5e7eb);transition:transform .2s ease,box-shadow .2s ease;display:flex;flex-direction:column}.subject-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px #00000026}.subject-header{padding:1.5rem;text-align:center;color:#fff;position:relative}.subject-icon{font-size:2.5rem;display:block;margin-bottom:.5rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.subject-header h3{font-size:1.125rem;margin:0;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.1)}.subject-body{padding:1.5rem;flex-grow:1;display:flex;flex-direction:column}.subject-description{color:var(--color-neutral-600, #6b7280);font-size:.875rem;line-height:1.5;margin:0 0 1rem;min-height:2.5rem}.course-info{flex-grow:1}.course-title{font-size:1rem;font-weight:600;color:var(--color-brand, #1B4332);margin:0 0 1rem}.course-pricing{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem;flex-wrap:wrap}.list-price{text-decoration:line-through;color:var(--color-neutral-500, #6b7280);font-size:.95rem}.sale-price,.price{font-size:1.5rem;font-weight:700;color:var(--color-brand, #1B4332)}.discount-badge{background:#ef4444;color:#fff;padding:.25rem .5rem;border-radius:8px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em}.delivery-method{color:var(--color-neutral-600, #6b7280);font-size:.875rem;margin:.5rem 0 0}.card-actions{display:flex;gap:.75rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-neutral-200, #e5e7eb)}.card-actions .btn{flex:1;white-space:nowrap;padding-left:.5rem;padding-right:.5rem;min-width:0}.no-course{text-align:center;padding:2rem 1rem;color:var(--color-neutral-500, #6b7280);font-style:italic}.no-course p{margin:0}.subject-card:hover .subject-header{filter:brightness(1.05)}.subject-card[style*="--subject-color: #6366F1"]{border-color:#6366f1}.subject-card[style*="--subject-color: #F59E0B"]{border-color:#f59e0b}.subject-card[style*="--subject-color: #10B981"]{border-color:#10b981}.subject-card[style*="--subject-color: #8B5CF6"]{border-color:#8b5cf6}.subject-card[style*="--subject-color: #EC4899"]{border-color:#ec4899}.subject-card[style*="--subject-color: #EF4444"]{border-color:#ef4444}@media(max-width:768px){.subject-card-grid{grid-template-columns:repeat(auto-fill,minmax(min(250px,100%),1fr));gap:1rem}.subject-header{padding:1.25rem}.subject-icon{font-size:2rem}.subject-body{padding:1.25rem}}@media(max-width:480px){.subject-card-grid{grid-template-columns:1fr}.card-actions{flex-direction:column}.card-actions .btn{width:100%}}.subject-card.loading{opacity:.6;pointer-events:none}.subject-card.loading:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:#fffc;display:flex;align-items:center;justify-content:center}.grade-page-dual{min-height:100vh;background:var(--color-neutral-50, #f9fafb);overflow-x:hidden}.grade-hero{background:linear-gradient(135deg,#1b4332,#2d6a4f);color:#fff;padding:3rem 0;text-align:center}.grade-hero h1{font-size:2.5rem;margin-bottom:1rem}.grade-hero .hero-subtitle{font-size:1.125rem;opacity:.9;max-width:700px;margin:0 auto}.view-toggle-section{background:#fff;padding:2rem 0;border-bottom:2px solid var(--color-neutral-200, #e5e7eb)}.view-toggle{display:flex;gap:1rem;justify-content:center;align-items:center}.toggle-btn{padding:.75rem 1.5rem;border:2px solid var(--color-neutral-300, #d1d5db);background:#fff;color:var(--color-neutral-700, #374151);border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease}.toggle-btn:hover{border-color:var(--color-brand, #1B4332);background:var(--color-neutral-50, #f9fafb)}.toggle-btn.active{background:var(--color-brand, #1B4332);color:#fff;border-color:var(--color-brand, #1B4332)}.two-column-comparison-section{padding:3rem 0}.two-column-comparison{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2rem;margin-bottom:3rem}.program-column{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 8px #00000014;position:relative;transition:transform .3s ease,box-shadow .3s ease;min-width:0}.program-column:hover{transform:translateY(-4px);box-shadow:0 12px 24px #0000001f}.program-column.featured{border:3px solid var(--color-accent, #D4AF37);background:linear-gradient(135deg,#fff8e1,#fff)}.featured-badge{position:absolute;top:1rem;right:1rem;background:var(--color-accent, #D4AF37);color:#fff;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em}.program-header{margin-bottom:2rem}.program-badge{display:inline-flex;align-items:center;gap:.5rem;background:var(--color-neutral-100, #f3f4f6);padding:.5rem 1rem;border-radius:20px;font-size:.875rem;font-weight:600;margin-bottom:1rem}.badge-dot{width:10px;height:10px;border-radius:50%}.program-header h2{font-size:1.75rem;margin:.5rem 0;color:var(--color-brand, #1B4332)}.program-tagline{color:var(--color-neutral-600, #6b7280);font-size:.95rem}.pricing-card{background:var(--color-neutral-50, #f9fafb);border-radius:8px;padding:1.5rem;margin-top:1rem}.price-display{text-align:center;padding:1.5rem 0;border-bottom:2px solid var(--color-neutral-200, #e5e7eb);margin-bottom:1.5rem}.per-course-price{display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap}.list-price{text-decoration:line-through;color:var(--color-neutral-500, #6b7280);font-size:1.25rem}.sale-price,.price{font-size:2rem;font-weight:700;color:var(--color-brand, #1B4332)}.discount-badge{background:#ef4444;color:#fff;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600}.price-label{color:var(--color-neutral-600, #6b7280);font-size:.875rem;margin-top:.5rem}.full-year-package{background:#fff;border-radius:8px;padding:1.5rem;margin-bottom:1.5rem;border:2px solid var(--color-brand, #1B4332)}.full-year-package.highlighted{background:linear-gradient(135deg,#fff8e1,#fff);border-color:var(--color-accent, #D4AF37)}.full-year-package h3{font-size:1.125rem;margin:0 0 1rem;color:var(--color-brand, #1B4332);text-align:center}.package-price{text-align:center}.package-price .price{font-size:2.5rem;display:block}.package-price .price-label{font-size:.875rem;color:var(--color-neutral-600, #6b7280)}.subjects-included{margin:1.5rem 0}.subjects-included h4{font-size:1rem;margin-bottom:.75rem;color:var(--color-brand, #1B4332)}.subject-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.subject-list li{color:var(--color-neutral-700, #374151);font-size:.9rem}.what-you-get{margin:1.5rem 0}.what-you-get h4{font-size:1rem;margin-bottom:.75rem;color:var(--color-brand, #1B4332)}.what-you-get ul{list-style:none;padding:0;margin:0}.what-you-get li{padding:.25rem 0;color:var(--color-neutral-700, #374151);font-size:.875rem}.what-you-get li:before{content:"✓ ";color:#27ae60;font-weight:700}.fees-info{margin:1rem 0;padding:1rem;background:#fff;border-radius:6px;text-align:center}.fees-info p{margin:0;color:var(--color-neutral-600, #6b7280);font-size:.875rem}.link-single-course{display:flex;align-items:center;justify-content:center;text-align:center;margin-top:1rem;color:var(--color-brand, #1B4332);font-weight:600;text-decoration:none;font-size:.95rem;min-height:44px;padding:10px}.link-single-course:hover{color:var(--color-accent, #D4AF37);text-decoration:underline}.schedule-info{background:#fff;border-radius:12px;padding:2rem;text-align:center;box-shadow:0 2px 8px #00000014}.schedule-info h3{font-size:1.5rem;margin-bottom:1rem;color:var(--color-brand, #1B4332)}.single-course-listing-section{padding:3rem 0}.single-course-listing-section h2{text-align:center;font-size:2rem;margin-bottom:.5rem;color:var(--color-brand, #1B4332)}.section-subtitle{text-align:center;color:var(--color-neutral-600, #6b7280);margin-bottom:3rem}.program-courses-section{margin:3rem 0}.program-courses-section h3{font-size:1.5rem;margin-bottom:1.5rem;color:var(--color-brand, #1B4332)}.course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(250px,100%),1fr));gap:1.5rem}.course-card{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 8px #00000014;transition:transform .2s ease,box-shadow .2s ease}.course-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px #0000001f}.course-card h4{font-size:1.125rem;margin-bottom:.5rem;color:var(--color-brand, #1B4332)}.course-subject{color:var(--color-neutral-600, #6b7280);font-size:.875rem;margin-bottom:1rem}.course-price{display:flex;align-items:center;gap:.75rem;margin:1rem 0}.no-courses{text-align:center;color:var(--color-neutral-600, #6b7280);padding:2rem;font-style:italic}@media(max-width:1024px){.two-column-comparison{grid-template-columns:1fr;gap:2rem}.grade-hero h1{font-size:2rem}}@media(max-width:768px){.grade-hero{padding:2rem 0}.grade-hero h1{font-size:1.75rem}.view-toggle{flex-direction:column;width:100%}.toggle-btn{width:100%}.program-column{padding:1.5rem}.subject-list,.course-grid{grid-template-columns:1fr}}@media(max-width:480px){.program-header h2{font-size:1.5rem}.sale-price,.price{font-size:1.75rem}.package-price .price{font-size:2rem}.program-badge{font-size:.75rem;padding:.4rem .8rem}}.grade-hero .hero-subheading{font-size:1.5rem;font-weight:600;margin-bottom:.5rem;opacity:.95}.grade-hero .hero-tagline{font-size:1.125rem;font-style:italic;opacity:.85;margin-top:.5rem}.subjects-table-wrapper{margin:1.5rem 0;overflow-x:auto}.subjects-table{width:100%;border-collapse:collapse;font-size:.9rem}.subjects-table th{background:var(--color-neutral-100, #f3f4f6);padding:.625rem 1rem;text-align:left;font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-neutral-700, #374151)}.subjects-table td{padding:.625rem 1rem;border-bottom:1px solid var(--color-neutral-200, #e5e7eb);color:var(--color-neutral-700, #374151)}.whats-included-note{background:#ebf5ff;padding:1rem 1.25rem;border-radius:8px;font-size:.875rem;color:#1e40af;margin:1rem 0;line-height:1.5}.pricing-detail-table{width:100%;border-collapse:collapse;margin-bottom:1.5rem}.pricing-detail-table td{padding:.75rem 1rem;border-bottom:1px solid var(--color-neutral-200, #e5e7eb);font-size:.9rem}.pricing-detail-table td:first-child{width:55%;color:var(--color-neutral-700, #374151)}.pricing-detail-table td:last-child{text-align:right}.pricing-detail-table .list-price{font-size:.9rem}.pricing-detail-table .sale-price{font-size:1.1rem}.pricing-detail-table .discount-badge{font-size:.7rem;padding:.15rem .5rem;vertical-align:middle}.program-subtitle{color:var(--color-neutral-600, #6b7280);font-size:.9rem;font-style:italic;margin-top:.25rem}.promo-banner{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;padding:.875rem 1.5rem;border-radius:8px;text-align:center;font-weight:700;font-size:1rem;margin:1.5rem 0}.hs-timetable-section{padding:3rem 0}.hs-timetable-section .two-column-comparison{grid-template-columns:minmax(0,1fr);gap:2rem}.hs-timetable-section .program-column{min-width:0}.hs-intro{text-align:center;max-width:800px;margin:0 auto 2.5rem;color:var(--color-neutral-700, #374151);font-size:1rem;line-height:1.6}.program-sub-badge{font-size:1rem;font-weight:600;color:var(--color-accent, #D4AF37);margin:.25rem 0 .5rem}.timetable-wrapper{overflow-x:auto;margin:1.5rem 0}.timetable{width:100%;border-collapse:collapse;font-size:.875rem}.timetable th{background:var(--color-neutral-100, #f3f4f6);padding:.75rem;text-align:left;font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-neutral-700, #374151);white-space:nowrap}.timetable td{padding:.625rem .75rem;border-bottom:1px solid var(--color-neutral-200, #e5e7eb);color:var(--color-neutral-700, #374151)}.timetable .course-code{font-family:monospace;font-weight:600;color:var(--color-brand, #1B4332)}.timetable .text-center{text-align:center}.timetable .list-price{text-decoration:line-through;color:var(--color-neutral-500, #6b7280);font-size:.875rem}.timetable .sale-price{color:#ef4444;font-weight:700;font-size:.875rem}.timetable .total-row{background:var(--color-neutral-50, #f9fafb);border-top:2px solid var(--color-neutral-300, #d1d5db)}.timetable .total-row td{padding:.875rem .75rem}.discount-tuition-box{background:linear-gradient(135deg,#fff8e1,#fff3cd);border:2px solid var(--color-accent, #D4AF37);border-radius:8px;padding:1.25rem;text-align:center;margin:1.5rem 0}.discount-tuition-label{font-size:.9rem;font-weight:600;color:var(--color-neutral-700, #374151);margin:0 0 .5rem}.discount-tuition-price{font-size:1.75rem;font-weight:700;color:var(--color-brand, #1B4332);margin:0 0 .25rem}.discount-tuition-schedule{font-size:.85rem;color:var(--color-neutral-600, #6b7280);margin:0}.french-note{background:#ebf5ff;padding:.875rem 1.25rem;border-radius:8px;color:#1e40af;font-size:.875rem;margin:1rem 0;line-height:1.5}.discount-note{font-size:.85rem;color:var(--color-neutral-600, #6b7280);font-style:italic;margin:.5rem 0 1rem;text-align:center}.grade-note{font-size:.875rem;color:var(--color-neutral-700, #374151);margin:.5rem 0;padding:.5rem 0}.comparison-table-section{padding:3rem 0;background:#fff}.comparison-table-section .program-comparison-table{max-width:900px;margin:0 auto}.comparison-table-section .comparison-title{text-align:center;font-size:1.75rem;margin-bottom:2rem;color:var(--color-brand, #1B4332)}.th-subtitle{font-weight:400;font-size:.75rem;color:var(--color-neutral-600, #6b7280)}@media(max-width:768px){.grade-hero{padding:2rem 0 1.5rem}.grade-hero h1{font-size:1.5rem}.grade-hero .hero-subtitle{font-size:1rem}.timetable{font-size:.8rem}.timetable th,.timetable td{padding:.5rem}.discount-tuition-price{font-size:1.5rem}.schedule-info{padding:1.25rem}.schedule-info h3{font-size:1.25rem}.program-column{padding:1.25rem}.full-year-package{padding:1rem}.full-year-package h3{font-size:1rem}.hs-timetable-section{padding:2rem 0}}@media(max-width:480px){.grade-hero h1{font-size:1.35rem}.program-header h2{font-size:1.25rem}.sale-price,.price{font-size:1.5rem}.package-price .price{font-size:1.75rem}.per-course-price{gap:.5rem}.list-price{font-size:1rem}.discount-tuition-price{font-size:1.25rem}.pricing-card{padding:1rem}.program-badge{font-size:.75rem;padding:.4rem .8rem}.course-card{padding:1rem}.course-card h4{font-size:1rem}.promo-banner{padding:.75rem 1rem;font-size:.875rem}}@media(max-width:375px){.subjects-table th,.subjects-table td{padding:.5rem;font-size:.8rem}.timetable{font-size:.7rem}.timetable th,.timetable td{padding:.35rem .25rem}.two-column-comparison-section,.single-course-listing-section{padding:1.5rem 0}.single-course-listing-section h2{font-size:1.5rem}}.grade-page-error{padding:4rem 2rem;text-align:center}.grade-page-error h1{color:var(--color-brand, #1B4332);margin-bottom:1rem}.grade8-transition-section{padding:1.5rem 0}.grade8-transition-callout{background:linear-gradient(90deg,#fef3c7,#fde68a);border:1px solid #fbbf24;border-left:4px solid #d97706;border-radius:8px;padding:1.25rem 1.5rem;color:#78350f;font-size:.9375rem;line-height:1.6}.grade8-cta-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.grade-schedule-section{padding:1rem 0 2rem}.course-detail-page{min-height:100vh;background:var(--bg-secondary);overflow-x:hidden}.course-not-found{min-height:60vh;display:flex;align-items:center;justify-content:center;text-align:center}.course-hero{background:linear-gradient(135deg,var(--storefront-color) 0%,color-mix(in srgb,var(--storefront-color) 70%,black) 100%);color:#fff;padding:var(--space-8) 0 var(--space-16)}.course-hero .breadcrumb{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-6);font-size:var(--text-sm);opacity:.8}.course-hero .breadcrumb a{color:#fff;text-decoration:none;display:inline-flex;align-items:center;min-width:32px;min-height:32px;padding:4px 2px}.course-hero .breadcrumb a:hover{text-decoration:underline}.course-hero .hero-content{display:grid;grid-template-columns:1fr 380px;gap:var(--space-12);align-items:start}.hero-main{padding-right:var(--space-8)}.hero-badges{display:flex;gap:var(--space-2);margin-bottom:var(--space-4)}.course-detail-page .storefront-badge{padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--font-bold)}.course-detail-page .storefront-badge.credit{background:#f2c94c;color:#1b4332}.course-detail-page .storefront-badge.non-credit{background:#2f80ed;color:#fff}.course-type-badge{padding:var(--space-1) var(--space-3);background:#fff3;border-radius:var(--radius-full);font-size:var(--text-sm)}.course-hero h1{font-size:var(--text-4xl);margin-bottom:var(--space-2);line-height:var(--leading-tight)}.course-code-display{font-size:var(--text-lg);opacity:.9;margin-bottom:var(--space-6)}.credit-assurance{padding:var(--space-4);background:#ffffff26;border-radius:var(--radius-lg);margin-bottom:var(--space-6);font-size:var(--text-sm)}.non-credit-disclaimer{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);background:#ffffff26;border-radius:var(--radius-lg);margin-bottom:var(--space-6)}.non-credit-disclaimer p{margin:0;font-size:var(--text-sm);opacity:.9}.disclaimer-icon{font-size:var(--text-lg)}.quick-facts{display:flex;gap:var(--space-8);flex-wrap:wrap}.fact{display:flex;flex-direction:column;gap:var(--space-1)}.fact-icon{font-size:var(--text-xl)}.fact-label{font-size:var(--text-xs);opacity:.7;text-transform:uppercase;letter-spacing:.05em}.fact-value{font-weight:var(--font-semibold)}.pricing-card{background:#fff;color:var(--color-neutral-900);padding:var(--space-8);position:sticky;top:calc(var(--header-height) + 1.75rem)}.pricing-header{display:flex;align-items:baseline;gap:var(--space-2);margin-bottom:var(--space-6)}.pricing-card .list-price{font-size:var(--text-lg);color:var(--color-neutral-500);text-decoration:line-through}.pricing-card .current-price{font-size:var(--text-4xl);font-weight:var(--font-bold);color:var(--color-brand)}.price-currency{font-size:var(--text-sm);color:var(--color-neutral-500)}.bonus-banner{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);background:#fff8e1;border:1px solid #F2C94C;border-radius:var(--radius-md);margin-bottom:var(--space-6);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-brand)}.bonus-icon{font-size:var(--text-lg)}.included-list{margin-bottom:var(--space-6)}.included-list h4{font-size:var(--text-sm);color:var(--color-neutral-600);margin-bottom:var(--space-3)}.included-list ul{list-style:none;padding:0;margin:0}.included-list li{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) 0;font-size:var(--text-sm);color:var(--color-neutral-700);border-bottom:1px solid var(--color-neutral-100)}.included-list li:last-child{border-bottom:none}.included-list .check{color:var(--color-success);font-weight:700}.prereq-info{padding:var(--space-3);background:var(--color-neutral-50);border-radius:var(--radius-md);font-size:var(--text-sm);margin-bottom:var(--space-6)}.cta-buttons{display:flex;flex-direction:column;gap:var(--space-3)}.btn-block{width:100%;text-align:center}.pricing-card .btn-outline{border:2px solid var(--color-neutral-300);background:transparent;color:var(--color-neutral-700)}.pricing-card .btn-outline:hover{border-color:var(--color-brand);color:var(--color-brand)}.upgrade-link{margin-top:var(--space-4);text-align:center}.upgrade-link a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 12px;font-size:var(--text-sm);color:var(--storefront-color);text-decoration:none;font-weight:var(--font-medium)}.upgrade-link a:hover{text-decoration:underline}.tabs-nav{background:#fff;border-bottom:1px solid var(--color-neutral-200);position:sticky;top:65px;z-index:100}.tabs{display:flex;gap:var(--space-1)}.tab{padding:var(--space-4) var(--space-6);background:none;border:none;border-bottom:3px solid transparent;font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-neutral-600);cursor:pointer;transition:all var(--transition-fast)}.tab:hover{color:var(--color-neutral-900)}.tab.active{color:var(--storefront-color);border-bottom-color:var(--storefront-color)}.tab-content{padding:var(--space-12) 0}.tab-content h2{margin-bottom:var(--space-6);color:var(--color-brand)}.tab-content h3{margin-bottom:var(--space-4);color:var(--color-brand)}.overview-content .main-content{max-width:800px}.description{font-size:var(--text-lg);line-height:var(--leading-relaxed);color:var(--color-neutral-700);margin-bottom:var(--space-8)}.learning-outcomes{margin-bottom:var(--space-8)}.outcomes-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}.outcomes-list li{display:flex;align-items:flex-start;gap:var(--space-3)}.outcomes-list .check{color:var(--color-success);font-weight:700;margin-top:2px}.teaching-strategies p{color:var(--color-neutral-600);line-height:var(--leading-relaxed)}.units-accordion{max-width:800px}.unit-item{background:#fff;border:1px solid var(--color-neutral-200);border-radius:var(--radius-lg);margin-bottom:var(--space-3);overflow:hidden}.unit-header{display:flex;justify-content:space-between;align-items:center;width:100%;padding:var(--space-5);background:none;border:none;cursor:pointer;text-align:left;font-family:var(--font-body)}.unit-header:hover{background:var(--color-neutral-50)}.unit-info{display:flex;align-items:center;gap:var(--space-4)}.unit-number{font-size:var(--text-sm);color:var(--color-neutral-500);font-weight:var(--font-medium)}.unit-title{font-weight:var(--font-semibold);color:var(--color-neutral-900)}.unit-meta{display:flex;align-items:center;gap:var(--space-4)}.unit-hours{font-size:var(--text-sm);color:var(--color-neutral-500);background:var(--color-neutral-100);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm)}.unit-arrow{font-size:var(--text-xs);color:var(--color-neutral-400);transition:transform var(--transition-fast)}.unit-arrow.open{transform:rotate(180deg)}.unit-content{padding:0 var(--space-5) var(--space-5);border-top:1px solid var(--color-neutral-100)}.unit-content p{color:var(--color-neutral-600);margin-bottom:var(--space-4)}.topic-list{list-style:disc;padding-left:var(--space-6);color:var(--color-neutral-600)}.topic-list li{margin-bottom:var(--space-2)}.faqs-list{display:grid;gap:var(--space-4);max-width:800px}.faq-item{padding:var(--space-6)}.faq-item h4{color:var(--color-brand);margin-bottom:var(--space-3)}.faq-item p{color:var(--color-neutral-600);margin:0;line-height:var(--leading-relaxed)}.related-cta{padding:var(--space-12) 0}.cta-card{text-align:center;padding:var(--space-10);max-width:600px;margin:0 auto}.cta-card h3{margin-bottom:var(--space-2)}.cta-card p{color:var(--color-neutral-600);margin-bottom:var(--space-6)}@media(max-width:768px){.course-hero .hero-content{grid-template-columns:1fr}.hero-main{padding-right:0}.pricing-card{position:relative;top:0;max-width:100%}}@media(max-width:768px){.course-hero{padding:var(--space-6) 0 var(--space-10)}.course-hero h1{font-size:var(--text-2xl)}.quick-facts{gap:var(--space-4)}.outcomes-list{grid-template-columns:1fr}.tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.tab{white-space:nowrap;padding:var(--space-3) var(--space-4)}.tab-content{padding:var(--space-8) 0}.pricing-card{padding:var(--space-6)}.cta-buttons .btn{padding:var(--space-4) var(--space-6)}.cta-card{padding:var(--space-6)}}@media(max-width:480px){.course-hero h1{font-size:var(--text-xl)}.course-code-display{font-size:var(--text-base)}.quick-facts{flex-direction:column;gap:var(--space-3)}.pricing-card .current-price{font-size:var(--text-3xl)}.unit-header{padding:var(--space-4)}.unit-info{flex-direction:column;align-items:flex-start;gap:var(--space-1)}.unit-meta{flex-direction:column;align-items:flex-end;gap:var(--space-2)}.faq-item{padding:var(--space-4)}.hero-badges{flex-wrap:wrap}}.cart-page{min-height:80vh;padding:var(--space-12) 0;background:var(--bg-secondary);overflow-x:hidden}.cart-upgrade-affordance{background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #fbbf24;border-left:4px solid #d4af37;border-radius:8px;padding:.875rem 1rem;margin-top:.75rem}.cart-upgrade-affordance__badge{display:inline-block;background:#d4af37;color:#fff;font-size:.6875rem;font-weight:700;padding:.25rem .625rem;border-radius:4px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.cart-upgrade-affordance p{margin:0 0 .625rem;font-size:.875rem;color:#78350f;line-height:1.5}.cart-page h1{margin-bottom:var(--space-2)}.cart-subtitle{color:var(--color-neutral-600);margin-bottom:var(--space-8)}.empty-cart{text-align:center;padding:var(--space-20) 0}.empty-cart-icon{font-size:4rem;margin-bottom:var(--space-6)}.empty-cart h1{margin-bottom:var(--space-4)}.empty-cart p{color:var(--color-neutral-600);margin-bottom:var(--space-8)}.empty-cart-actions{display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:center}.empty-cart-actions .btn{min-width:200px}.cart-layout{display:grid;grid-template-columns:1fr 400px;gap:var(--space-8);align-items:start}.cart-items{display:flex;flex-direction:column;gap:var(--space-4)}.cart-item{padding:var(--space-6);position:relative}.item-badge-row{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}.cart-item .storefront-badge{padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-bold)}.cart-item .storefront-badge.credit{background:#f2c94c;color:#1b4332}.cart-item .storefront-badge.non-credit{background:#2f80ed;color:#fff}.item-grade{font-size:var(--text-sm);color:var(--color-neutral-500)}.item-content{display:flex;justify-content:space-between;gap:var(--space-6)}.item-info h3{font-size:var(--text-lg);margin-bottom:var(--space-1);color:var(--color-brand)}.item-code{font-size:var(--text-sm);color:var(--color-neutral-500);margin-bottom:var(--space-2)}.item-meta{font-size:var(--text-sm);color:var(--color-neutral-600)}.item-pricing{text-align:right;flex-shrink:0}.item-list-price{display:block;font-size:var(--text-sm);color:var(--color-neutral-500);text-decoration:line-through;margin-bottom:var(--space-1)}.item-price{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-brand)}.remove-btn{position:absolute;top:var(--space-4);right:var(--space-4);background:none;border:none;color:var(--color-neutral-500);font-size:var(--text-sm);cursor:pointer;padding:var(--space-2)}.remove-btn:hover{color:var(--color-error)}.bundled-item{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px dashed var(--color-neutral-300)}.bundle-indicator{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3)}.bundle-icon{font-size:var(--text-lg)}.bundle-label{font-size:var(--text-xs);font-weight:var(--font-bold);color:var(--color-accent-dark);text-transform:uppercase;letter-spacing:.05em}.bundled-content{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4);background:#fff8e1;border-radius:var(--radius-md)}.bundled-info h4{font-size:var(--text-sm);margin-bottom:var(--space-1)}.bundled-info p{font-size:var(--text-xs);color:var(--color-neutral-600);margin:0}.bundled-pricing{text-align:right}.bundled-original{display:block;font-size:var(--text-sm);color:var(--color-neutral-500);text-decoration:line-through}.bundled-free{font-weight:var(--font-bold);color:var(--color-success)}.upgrade-prompt{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);background:var(--color-neutral-50);border:1px solid var(--color-neutral-200)}.upgrade-icon{font-size:1.5rem;flex-shrink:0}.upgrade-content{flex:1}.upgrade-content h4{font-size:var(--text-sm);margin-bottom:var(--space-1)}.upgrade-content p{font-size:var(--text-sm);color:var(--color-neutral-600);margin:0}.upgrade-prompt .btn-outline{border:1px solid var(--color-neutral-400);color:var(--color-neutral-700);white-space:nowrap}.cart-summary{padding:var(--space-8);position:sticky;top:calc(var(--header-height) + 1.75rem)}.cart-summary h2{font-size:var(--text-xl);margin-bottom:var(--space-6)}.coupon-section{margin-bottom:var(--space-6);padding-bottom:var(--space-6);border-bottom:1px solid var(--color-neutral-200)}.coupon-input-group{display:flex;gap:var(--space-2)}.coupon-input-group input{flex:1;padding:var(--space-3);border:1px solid var(--color-neutral-300);border-radius:var(--radius-md);font-size:var(--text-sm)}.coupon-input-group input:focus{outline:none;border-color:var(--color-brand)}.applied-coupon{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3);background:#e8f5e9;border-radius:var(--radius-md)}.coupon-info{display:flex;flex-direction:column;gap:var(--space-1)}.coupon-tag{font-weight:var(--font-semibold);color:var(--color-success)}.coupon-desc{font-size:var(--text-sm);color:var(--color-neutral-600)}.remove-coupon-btn{background:none;border:none;color:var(--color-neutral-500);font-size:var(--text-sm);cursor:pointer}.remove-coupon-btn:hover{color:var(--color-error)}.coupon-error{color:var(--color-error);font-size:var(--text-sm);margin-top:var(--space-2)}.coupon-success{color:var(--color-success);font-size:var(--text-sm);margin-top:var(--space-2)}.price-breakdown{margin-bottom:var(--space-6)}.price-row{display:flex;justify-content:space-between;padding:var(--space-3) 0;border-bottom:1px solid var(--color-neutral-100)}.price-row.discount,.price-row.bonus{color:var(--color-success)}.price-row.total{border-bottom:none;padding-top:var(--space-4);font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--color-brand)}.cart-summary .btn-block{width:100%;margin-bottom:var(--space-4)}.secure-note{text-align:center;font-size:var(--text-sm);color:var(--color-neutral-500);margin-bottom:var(--space-6)}.continue-shopping{text-align:center}.continue-shopping a{color:var(--color-brand);text-decoration:none;font-size:var(--text-sm);font-weight:var(--font-medium)}.continue-shopping a:hover{text-decoration:underline}@media(max-width:768px){.cart-layout{grid-template-columns:1fr}.cart-summary{position:relative;top:0}}@media(max-width:768px){.cart-page{padding:var(--space-8) 0}.cart-layout{gap:var(--space-6)}.cart-summary{padding:var(--space-6)}}@media(max-width:640px){.item-content{flex-direction:column;gap:var(--space-4)}.item-pricing{text-align:left}.empty-cart-actions{flex-direction:column;width:100%;max-width:320px;margin:0 auto}.empty-cart-actions .btn{width:100%;min-width:unset}.upgrade-prompt{flex-direction:column;text-align:center}.upgrade-prompt .btn{width:100%}.coupon-input-group{flex-direction:column}.coupon-input-group .btn{width:100%}.bundled-content{flex-direction:column;gap:var(--space-3);text-align:center}.bundled-pricing{text-align:center}}@media(max-width:480px){.cart-page h1{font-size:var(--text-2xl)}.cart-item{padding:var(--space-4)}.item-info h3{font-size:var(--text-base)}.empty-cart{padding:var(--space-12) 0}.empty-cart-icon{font-size:3rem}}.checkout-page{min-height:100vh;padding:var(--space-6) 0 var(--space-12);background:var(--bg-secondary);overflow-x:hidden}.checkout-page .container{max-width:680px}.checkout-header{margin-bottom:var(--space-6)}.checkout-header h1{font-size:var(--text-2xl);margin:0 0 var(--space-2)}.prefill-notice{background:#e8f7e8;border:1px solid #b3dcb3;color:#235c23;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);margin:0}.test-mode-banner{background:#fff7e6;border:1px solid #f5d28a;color:#6b4500;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);margin:0 0 var(--space-3)}.test-mode-banner code{background:#0000000f;padding:1px 6px;border-radius:4px;font-family:ui-monospace,SFMono-Regular,monospace;font-size:.9em}.order-summary-disclosure{background:#fff;border-radius:var(--radius-xl);padding:var(--space-4) var(--space-5);margin-bottom:var(--space-5);box-shadow:var(--shadow-sm)}.order-summary-disclosure>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);font-weight:var(--font-semibold);font-size:var(--text-base);padding:var(--space-1) 0}.order-summary-disclosure>summary::-webkit-details-marker{display:none}.order-summary-disclosure>summary:after{content:"▾";font-size:var(--text-sm);color:var(--color-neutral-500);transition:transform var(--transition-fast);margin-left:auto}.order-summary-disclosure[open]>summary:after{transform:rotate(180deg)}.order-summary-content{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-neutral-200)}.summary-item{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding:var(--space-2) 0;font-size:var(--text-sm)}.summary-item-name{flex:1;min-width:0}.summary-item.bonus{color:var(--color-brand-dark);font-weight:var(--font-medium)}.summary-row{display:flex;justify-content:space-between;padding:var(--space-2) 0;font-size:var(--text-sm);color:var(--color-neutral-700)}.summary-row.discount{color:var(--color-success, #2f855a)}.summary-row.total{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-neutral-200);font-size:var(--text-base);font-weight:var(--font-bold);color:var(--color-neutral-900)}.coupon-inline{margin-top:var(--space-4);display:flex;gap:var(--space-2)}.coupon-inline input{flex:1;min-width:0;padding:var(--space-2) var(--space-3);border:1px solid var(--color-neutral-300);border-radius:var(--radius-md);font-size:var(--text-sm);text-transform:uppercase}.coupon-applied{margin-top:var(--space-4);display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-sm)}.coupon-message{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--color-neutral-600)}.checkout-section{background:#fff;border-radius:var(--radius-xl);padding:var(--space-5);margin-bottom:var(--space-5);box-shadow:var(--shadow-sm)}.checkout-section h2{font-size:var(--text-lg);margin:0 0 var(--space-4)}.form-grid{display:grid;gap:var(--space-4)}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-group.full-width{grid-column:1 / -1}.form-group label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-neutral-700)}.form-group input,.form-group select{width:100%;padding:var(--space-3);border:1px solid var(--color-neutral-300);border-radius:var(--radius-md);font-size:16px;background:#fff;min-height:44px}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--color-brand);box-shadow:0 0 0 3px #005f2f1f}.form-group input:disabled{background:var(--color-neutral-100);color:var(--color-neutral-600)}.link-button{background:none;border:none;padding:0;color:var(--color-brand);font-weight:var(--font-medium);cursor:pointer;text-decoration:underline;text-underline-offset:2px;font-size:inherit;text-align:left}.link-button:hover{color:var(--color-brand-dark)}.auth-toggle{margin-top:var(--space-2);font-size:var(--text-sm)}.payment-alt-link{display:inline-block;margin-top:var(--space-3);font-size:var(--text-sm)}.card-form{background:#fafafa;border:1px solid var(--color-neutral-200);border-radius:var(--radius-md);padding:var(--space-4);min-height:120px}.express-checkout{margin-bottom:var(--space-4)}.checkout-divider{display:flex;align-items:center;gap:var(--space-3);margin:var(--space-4) 0;color:var(--color-neutral-500);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em}.checkout-divider:before,.checkout-divider:after{content:"";flex:1;height:1px;background:var(--color-neutral-200)}.payment-locked-hint{background:#fff7e6;border:1px solid #ffd591;color:#8a5a00;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);margin:0}.flywire-info{background:#f5f8ff;border:1px solid #cfe0ff;padding:var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm)}.flywire-info ul{margin:var(--space-2) 0 0 var(--space-5);padding:0}.free-order-notice{text-align:center}.free-order-notice strong{display:block;font-size:var(--text-lg);margin-bottom:var(--space-2)}.free-order-notice p{color:var(--color-neutral-600);margin:0}.payment-error{background:#fff5f5;border:1px solid #ffd1d1;color:#a40000;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);margin:var(--space-3) 0}.checkout-payment-error{margin-bottom:var(--space-4)}.checkout-pay-button{margin-top:var(--space-2);font-size:var(--text-lg);min-height:56px}.legal-text{margin:var(--space-4) 0 var(--space-2);font-size:var(--text-xs);color:var(--color-neutral-600);text-align:center;line-height:1.6}.legal-text a{color:var(--color-brand);text-decoration:underline;text-underline-offset:2px}.non-credit-notice{display:block;margin-top:var(--space-2);color:var(--color-neutral-700)}.checkout-back{margin-top:var(--space-6);text-align:center}.checkout-page--success .container{max-width:560px}.checkout-success{background:#fff;padding:var(--space-8) var(--space-6);text-align:center;border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.checkout-success .success-icon{width:64px;height:64px;border-radius:50%;background:#2f855a;color:#fff;font-size:36px;line-height:64px;margin:0 auto var(--space-4);font-weight:var(--font-bold)}.checkout-success h1{font-size:var(--text-2xl);margin:0 0 var(--space-3)}.checkout-success .order-number{color:var(--color-neutral-600);font-family:monospace;margin:0 0 var(--space-2)}.checkout-success .confirmation-email{color:var(--color-neutral-700);margin:0 0 var(--space-6)}.checkout-success-next{margin-top:var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--color-neutral-200);text-align:left}.checkout-success-next h2{font-size:var(--text-lg);margin:0 0 var(--space-2)}.checkout-success-next p{color:var(--color-neutral-700);margin:0 0 var(--space-4)}.checkout-success-next .btn{margin-bottom:var(--space-2)}@media(min-width:640px){.checkout-page{padding:var(--space-10) 0 var(--space-16)}.checkout-header h1{font-size:var(--text-3xl)}.form-grid{grid-template-columns:1fr 1fr;gap:var(--space-4) var(--space-5)}.checkout-section{padding:var(--space-6)}.order-summary-disclosure{padding:var(--space-5) var(--space-6)}}@media(min-width:1024px){.checkout-page .container{max-width:720px}.checkout-section h2{font-size:var(--text-xl)}}.enrollment-tasks{background:linear-gradient(135deg,#fff7e6,#fffbf2);border:1px solid #f5d28a;border-radius:var(--radius-xl);padding:var(--space-5);margin-bottom:var(--space-6);box-shadow:var(--shadow-sm)}.enrollment-tasks-header h2{margin:0 0 var(--space-2);font-size:var(--text-lg);color:#6b4500}.enrollment-tasks-header p{margin:0 0 var(--space-4);color:#6b4500;font-size:var(--text-sm)}.enrollment-task-card{background:#fff;border:1px solid var(--color-neutral-200);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-3)}.enrollment-task-card:last-child{margin-bottom:0}.enrollment-task-meta{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-3);font-size:var(--text-sm)}.enrollment-task-student{color:var(--color-neutral-600)}.enrollment-task-list{display:grid;gap:var(--space-2)}.enrollment-task-row{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);background:var(--color-neutral-50, #fafafa);border:1px solid var(--color-neutral-200);border-radius:var(--radius-md)}.enrollment-task-copy{display:flex;flex-direction:column;gap:var(--space-1)}.enrollment-task-copy strong{font-size:var(--text-sm)}.enrollment-task-copy span{font-size:var(--text-xs);color:var(--color-neutral-600)}.enrollment-task-upload{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-2) var(--space-4);background:var(--color-brand);color:#fff;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;min-height:44px;position:relative;overflow:hidden}.enrollment-task-upload:hover{background:var(--color-brand-dark)}.enrollment-task-upload.is-uploading{background:var(--color-neutral-400);cursor:wait}.enrollment-task-upload input[type=file]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.enrollment-task-upload input[type=file]:disabled{cursor:wait}.enrollment-task-error{margin:var(--space-3) 0 0;padding:var(--space-2) var(--space-3);background:#fff5f5;border:1px solid #ffd1d1;border-radius:var(--radius-md);color:#a40000;font-size:var(--text-sm)}@media(min-width:640px){.enrollment-task-row{flex-direction:row;align-items:center;justify-content:space-between}.enrollment-task-upload{flex-shrink:0;min-width:140px}}.portal-page{min-height:100vh;padding:var(--space-8) 0 var(--space-16);background:var(--bg-secondary)}.portal-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-6);padding:var(--space-8);background:#fff;border-radius:var(--radius-xl);margin-bottom:var(--space-8);box-shadow:0 1px 3px #0000000f}.portal-header-content{display:flex;align-items:center;gap:var(--space-5)}.portal-avatar{width:56px;height:56px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--color-brand),var(--color-brand-dark, #0d3322));display:flex;align-items:center;justify-content:center;flex-shrink:0}.portal-avatar.agent-avatar{background:linear-gradient(135deg,var(--color-accent, #d4af37),#c49b26)}.portal-avatar.admin-avatar{background:linear-gradient(135deg,#0f4c81,#0a2942)}.portal-avatar-text{font-size:var(--text-xl);font-weight:var(--font-bold);color:#fff}.portal-greeting{font-size:var(--text-2xl);margin:0 0 var(--space-1)}.portal-subtitle{color:var(--color-neutral-600);margin:0;font-size:var(--text-sm)}.portal-header-stats{display:flex;gap:var(--space-4)}.stat-chip{display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--space-3) var(--space-5);background:var(--color-neutral-50);border-radius:var(--radius-lg);min-width:80px}.stat-chip-number{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-brand)}.stat-chip-label{font-size:var(--text-xs);color:var(--color-neutral-500);text-transform:uppercase;letter-spacing:.3px}.stat-chip.agent-stat.highlight{background:linear-gradient(135deg,#fef9c3,#fef3cd);border:1px solid #fde047}.stat-chip.agent-stat.highlight .stat-chip-number{color:#854d0e}.portal-tabs{display:flex;gap:var(--space-2);margin-bottom:var(--space-6);background:#fff;border-radius:var(--radius-lg);padding:var(--space-2);box-shadow:0 1px 3px #0000000f}.portal-tab{flex:1;padding:var(--space-3) var(--space-4);border:none;background:transparent;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-neutral-600);cursor:pointer;transition:all var(--transition-fast);font-family:var(--font-body)}.portal-tab:hover{background:var(--color-neutral-50);color:var(--color-neutral-900)}.portal-tab.active{background:var(--color-brand);color:#fff;font-weight:var(--font-semibold)}.portal-section{margin-bottom:var(--space-8)}.portal-section-title{font-size:var(--text-lg);font-weight:var(--font-semibold);margin-bottom:var(--space-5);color:var(--color-neutral-900)}.portal-loading{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);padding:var(--space-16) 0;color:var(--color-neutral-500)}.portal-spinner{width:40px;height:40px;border:3px solid var(--color-neutral-200);border-top-color:var(--color-brand);border-radius:50%;animation:portal-spin .8s linear infinite}@keyframes portal-spin{to{transform:rotate(360deg)}}.portal-error{text-align:center;padding:var(--space-12) 0;color:#b91c1c}.portal-empty{text-align:center;padding:var(--space-12) var(--space-8);background:#fff;border-radius:var(--radius-xl);box-shadow:0 1px 3px #0000000f}.portal-empty-icon{font-size:4rem;margin-bottom:var(--space-4)}.portal-empty h2{margin-bottom:var(--space-3)}.portal-empty p{color:var(--color-neutral-600);max-width:480px;margin:0 auto var(--space-6)}.portal-empty-actions{display:flex;justify-content:center;gap:var(--space-4);flex-wrap:wrap}.course-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-5)}.course-card{background:#fff;border-radius:var(--radius-xl);padding:var(--space-5);border:1px solid var(--color-neutral-200);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.course-card:hover{border-color:var(--color-neutral-400);box-shadow:0 4px 12px #00000014}.course-card--completed{opacity:.85}.course-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3)}.course-card-badge{font-size:11px;font-weight:var(--font-semibold);padding:3px 10px;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.5px}.course-card-badge.credit,.course-card-badge.official-ontario{background:var(--color-primary-50);color:var(--color-brand);border:1px solid var(--color-brand)}.course-card-badge.non-credit,.course-card-badge.academic-prep{background:#fef3cd;color:#856404;border:1px solid #ffc107}.course-card-status{font-size:11px;font-weight:var(--font-semibold);padding:3px 10px;border-radius:var(--radius-full);text-transform:capitalize}.course-card-status.active{background:#dcfce7;color:#15803d}.course-card-status.completed{background:#dbeafe;color:#1d4ed8}.course-card-status.pending{background:#fef3cd;color:#856404}.course-card-title{font-size:var(--text-base);font-weight:var(--font-semibold);margin:0 0 var(--space-2);padding:0;border:none;color:var(--color-neutral-900)}.course-card-code{font-size:var(--text-sm);color:var(--color-neutral-500);font-family:monospace;margin-bottom:var(--space-3)}.course-card-student{font-size:var(--text-sm);color:var(--color-neutral-600);margin-bottom:var(--space-3)}.course-card-grade-result{font-size:var(--text-sm);color:var(--color-brand);margin-top:var(--space-3)}.progress-section{margin-bottom:var(--space-3)}.progress-header{display:flex;justify-content:space-between;font-size:var(--text-xs);color:var(--color-neutral-500);margin-bottom:var(--space-1)}.progress-bar{height:8px;background:var(--color-neutral-100);border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--color-brand),var(--color-accent, #d4af37));border-radius:4px;transition:width .5s ease;min-width:2px}.progress-bar-small{height:6px;background:var(--color-neutral-100);border-radius:3px;overflow:hidden;width:80px;display:inline-block;vertical-align:middle;margin-right:var(--space-2)}.progress-bar-small .progress-fill{height:100%;background:var(--color-brand);border-radius:3px}.progress-text{font-size:var(--text-xs);color:var(--color-neutral-500)}.course-card-footer{display:flex;justify-content:space-between;align-items:center}.course-card-date{font-size:var(--text-xs);color:var(--color-neutral-400)}.quick-actions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--space-4)}.quick-action-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-5);background:#fff;border-radius:var(--radius-lg);border:1px solid var(--color-neutral-200);text-decoration:none;color:var(--color-neutral-700);transition:all var(--transition-fast);cursor:pointer;font-family:var(--font-body);font-size:var(--text-sm)}.quick-action-card:hover{border-color:var(--color-brand);background:var(--color-primary-50);color:var(--color-brand);transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.quick-action-icon{font-size:var(--text-2xl)}.quick-action-label{font-weight:var(--font-medium);text-align:center}.children-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-5)}.child-card{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-5);background:#fff;border-radius:var(--radius-xl);border:1px solid var(--color-neutral-200);transition:border-color var(--transition-fast)}.child-card:hover{border-color:var(--color-brand)}.child-card-avatar{width:48px;height:48px;border-radius:var(--radius-full);background:linear-gradient(135deg,#a78bfa,#8b5cf6);display:flex;align-items:center;justify-content:center;color:#fff;font-size:var(--text-lg);font-weight:var(--font-bold);flex-shrink:0}.child-card-info h3{margin:0 0 var(--space-1);font-size:var(--text-base);padding:0;border:none}.child-card-grade{font-size:var(--text-sm);color:var(--color-neutral-500);margin-bottom:var(--space-2)}.child-card-stats{display:flex;gap:var(--space-4)}.child-stat{font-size:var(--text-xs);color:var(--color-neutral-500)}.child-detail-section{padding:var(--space-6);background:#fff;border-radius:var(--radius-xl);margin-bottom:var(--space-6);border:1px solid var(--color-neutral-200)}.child-detail-name{display:flex;align-items:center;gap:var(--space-3);margin:0 0 var(--space-5);padding:0;border:none}.child-detail-grade{font-size:var(--text-sm);font-weight:var(--font-normal);padding:3px 10px;background:var(--color-neutral-100);border-radius:var(--radius-full);color:var(--color-neutral-600)}.child-no-courses{color:var(--color-neutral-500);font-style:italic}.enrollments-table-wrapper{overflow-x:auto;background:#fff;border-radius:var(--radius-xl);border:1px solid var(--color-neutral-200)}.portal-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.portal-table thead{background:var(--color-neutral-50)}.portal-table th{padding:var(--space-3) var(--space-4);text-align:left;font-weight:var(--font-semibold);color:var(--color-neutral-600);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--color-neutral-200)}.portal-table td{padding:var(--space-3) var(--space-4);color:var(--color-neutral-700);border-bottom:1px solid var(--color-neutral-100)}.portal-table tr:last-child td{border-bottom:none}.portal-table tr:hover td{background:var(--color-neutral-50)}.table-subtitle{font-size:var(--text-xs);color:var(--color-neutral-500)}.status-badge{display:inline-block;font-size:11px;font-weight:var(--font-semibold);padding:3px 10px;border-radius:var(--radius-full);text-transform:capitalize}.status-badge.active{background:#dcfce7;color:#15803d}.status-badge.completed{background:#dbeafe;color:#1d4ed8}.status-badge.pending{background:#fef3cd;color:#856404}.status-badge.cancelled{background:#fee2e2;color:#b91c1c}.payment-badge{font-size:var(--text-xs);color:var(--color-neutral-600)}.order-summary-bar{display:flex;justify-content:space-between;padding:var(--space-4) var(--space-5);background:#fff;border-radius:var(--radius-lg);margin-bottom:var(--space-4);font-size:var(--text-sm);color:var(--color-neutral-600);border:1px solid var(--color-neutral-200)}.commission-cell{color:var(--color-brand);font-weight:var(--font-semibold)}.admin-notice{margin-bottom:var(--space-6);padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg);font-size:var(--text-sm);border:1px solid transparent}.admin-notice--success{background:#ecfdf3;border-color:#86efac;color:#166534}.admin-notice--warning{background:#fffbeb;border-color:#fcd34d;color:#92400e}.admin-notice--error{background:#fef2f2;border-color:#fca5a5;color:#b91c1c}.admin-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-5)}.admin-stat-card{background:#fff;border:1px solid var(--color-neutral-200);border-radius:var(--radius-xl);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-2)}.admin-stat-label{color:var(--color-neutral-500);font-size:var(--text-sm)}.admin-stat-value{color:var(--color-brand);font-size:var(--text-2xl);font-weight:var(--font-bold)}.admin-stat-meta{color:var(--color-neutral-500);font-size:var(--text-xs)}.admin-registration-list{display:flex;flex-direction:column;gap:var(--space-5)}.admin-registration-card{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:var(--space-6);background:#fff;border:1px solid var(--color-neutral-200);border-radius:var(--radius-xl);padding:var(--space-6)}.admin-registration-header{display:flex;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.admin-registration-header h3{margin:0 0 var(--space-1)}.admin-registration-header p{margin:0;color:var(--color-neutral-600);font-size:var(--text-sm)}.admin-registration-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-4);margin-bottom:var(--space-4)}.admin-registration-meta strong{display:block;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.4px;color:var(--color-neutral-500);margin-bottom:4px}.admin-registration-meta span{color:var(--color-neutral-700);font-size:var(--text-sm)}.admin-registration-flags{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-4)}.admin-course-list{display:flex;flex-direction:column;gap:var(--space-3)}.admin-course-item{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--color-neutral-50);border-radius:var(--radius-lg)}.admin-registration-actions{display:flex;flex-direction:column;gap:var(--space-3)}.admin-temp-password{font-size:var(--text-xs);color:var(--color-neutral-600);line-height:1.5}.admin-temp-password code{display:inline-block;margin-top:4px;padding:4px 8px;background:var(--color-neutral-100);border-radius:var(--radius-sm);color:var(--color-neutral-900)}.admin-doc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-5)}.admin-doc-card{background:#fff;border:1px solid var(--color-neutral-200);border-radius:var(--radius-xl);padding:var(--space-5)}.admin-doc-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-3)}.admin-doc-header h3{margin:0;font-size:var(--text-base)}.admin-doc-card p{margin:0 0 var(--space-3);color:var(--color-neutral-700)}.admin-doc-meta{display:flex;flex-wrap:wrap;gap:var(--space-2);color:var(--color-neutral-500);font-size:var(--text-xs);margin-bottom:var(--space-3)}.admin-doc-path{display:block;padding:var(--space-3);background:var(--color-neutral-50);border-radius:var(--radius-md);font-size:12px;color:var(--color-neutral-700);word-break:break-all}.admin-account-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-4);background:#fff;border:1px solid var(--color-neutral-200);border-radius:var(--radius-xl);padding:var(--space-6)}.admin-account-form label{display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-neutral-700)}.admin-account-form input,.admin-account-form select{width:100%;min-height:44px;border-radius:var(--radius-md);border:1px solid var(--color-neutral-300);padding:0 var(--space-3);font-family:var(--font-body);font-size:var(--text-sm);background:#fff}.admin-account-form__wide{grid-column:1 / -1}.admin-account-form__actions{display:flex;justify-content:flex-start}.admin-actions-grid .quick-action-card{min-height:132px}.referral-card{display:grid;grid-template-columns:1fr 280px;gap:var(--space-6);padding:var(--space-6);background:#fff;border-radius:var(--radius-xl);border:2px solid var(--color-accent, #d4af37);margin-bottom:var(--space-8)}.referral-card-content h3{margin:0 0 var(--space-2);padding:0;border:none}.referral-card-content>p{color:var(--color-neutral-600);font-size:var(--text-sm);margin-bottom:var(--space-4)}.referral-status-note{color:#7c3f00}.referral-link-row{display:flex;gap:var(--space-3);align-items:center;margin-bottom:var(--space-3)}.referral-link{flex:1;padding:var(--space-3);background:var(--color-neutral-50);border:1px solid var(--color-neutral-300);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-neutral-700);word-break:break-all}.referral-code-row{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-sm);color:var(--color-neutral-600)}.agent-code-display{padding:var(--space-2) var(--space-3);background:var(--color-brand);color:#fff;border-radius:var(--radius-md);font-weight:var(--font-bold);cursor:pointer;transition:opacity var(--transition-fast)}.agent-code-display:hover{opacity:.9}.referral-card-sidebar{border-left:1px solid var(--color-neutral-200);padding-left:var(--space-6)}.commission-info h4{font-size:var(--text-sm);color:var(--color-neutral-500);margin-bottom:var(--space-4);text-transform:uppercase;letter-spacing:.5px}.commission-rate{display:flex;justify-content:space-between;padding:var(--space-2) 0;font-size:var(--text-sm)}.commission-rate span{color:var(--color-neutral-600)}.commission-rate strong{color:var(--color-brand)}.agent-stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-5);margin-bottom:var(--space-8)}.agent-stat-card{background:#fff;border-radius:var(--radius-xl);padding:var(--space-6);text-align:center;border:1px solid var(--color-neutral-200);transition:border-color var(--transition-fast)}.agent-stat-card:hover{border-color:var(--color-brand)}.agent-stat-card.highlight{background:linear-gradient(135deg,#fef9c3,#fef3cd);border-color:#fde047}.agent-stat-icon{font-size:var(--text-2xl);margin-bottom:var(--space-2)}.agent-stat-value{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-brand);margin-bottom:var(--space-1)}.agent-stat-card.highlight .agent-stat-value{color:#854d0e}.agent-stat-label{font-size:var(--text-sm);color:var(--color-neutral-500)}.getting-started-steps{display:flex;flex-direction:column;gap:var(--space-5);max-width:520px;margin:var(--space-6) auto 0;text-align:left}.gs-step{display:flex;align-items:flex-start;gap:var(--space-4)}.gs-step-num{width:32px;height:32px;border-radius:var(--radius-full);background:var(--color-brand);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:var(--font-bold);font-size:var(--text-sm);flex-shrink:0}.gs-step strong{display:block;margin-bottom:2px;color:var(--color-neutral-900)}.gs-step p{font-size:var(--text-sm);color:var(--color-neutral-600);margin:0}@media(max-width:768px){.portal-page{padding:var(--space-4) 0 var(--space-12)}.portal-header{flex-direction:column;align-items:flex-start;padding:var(--space-5)}.portal-header-content{gap:var(--space-3)}.portal-avatar{width:44px;height:44px}.portal-greeting{font-size:var(--text-lg)}.portal-header-stats{width:100%;overflow-x:auto}.stat-chip{min-width:70px;padding:var(--space-2) var(--space-3)}.portal-tabs{overflow-x:auto;flex-wrap:nowrap}.portal-tab{white-space:nowrap}.course-cards-grid,.children-cards-grid{grid-template-columns:1fr}.quick-actions-grid{grid-template-columns:1fr 1fr}.referral-card{grid-template-columns:1fr}.referral-card-sidebar{border-left:none;border-top:1px solid var(--color-neutral-200);padding-left:0;padding-top:var(--space-4)}.referral-link-row{flex-direction:column}.admin-registration-card{grid-template-columns:1fr}.agent-stats-grid{grid-template-columns:1fr 1fr}}@media(max-width:480px){.admin-registration-actions .btn{width:100%}.quick-actions-grid,.agent-stats-grid{grid-template-columns:1fr}.portal-empty-actions{flex-direction:column}.portal-empty-actions .btn{width:100%}}@media(max-width:640px){.portal-page .container{padding-left:var(--space-4);padding-right:var(--space-4)}.portal-section{padding:var(--space-4)}.portal-section-title{font-size:var(--text-base)}.portal-table{font-size:var(--text-xs)}.enrollments-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.portal-tabs{gap:var(--space-1)}.portal-tab{padding:var(--space-2) var(--space-3);font-size:var(--text-sm)}}@media(max-width:375px){.portal-greeting{font-size:var(--text-base)}.portal-subtitle{font-size:var(--text-xs)}.stat-chip{min-width:60px;padding:var(--space-2)}.stat-chip-number{font-size:var(--text-lg)}}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0a1628,#1a2744,#0d1f3c);padding:2rem}.auth-container{display:grid;grid-template-columns:1fr 1fr;max-width:960px;width:100%;min-height:600px;border-radius:20px;overflow:hidden;box-shadow:0 25px 80px #0006,0 0 60px #c8233314}.auth-branding{background:linear-gradient(160deg,#c82333,#8b1a25 60%,#5a1018);padding:3rem;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.auth-branding:before{content:"";position:absolute;top:-50%;right:-50%;width:100%;height:100%;background:radial-gradient(circle,rgba(255,255,255,.06) 0%,transparent 70%);pointer-events:none}.auth-branding-content{position:relative;z-index:1;color:#fff}.auth-branding-content h1{font-size:1.8rem;font-weight:700;line-height:1.3;margin-bottom:.75rem;letter-spacing:-.02em}.auth-branding-content p{font-size:1rem;opacity:.85;margin-bottom:2rem;line-height:1.5}.auth-features{display:flex;flex-direction:column;gap:.75rem}.auth-feature{display:flex;align-items:center;gap:.75rem;font-size:.95rem;opacity:.9}.auth-feature-icon{font-size:1.2rem;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;background:#ffffff1f;border-radius:8px}.auth-form-panel{background:#fff;padding:2.5rem 2rem;display:flex;flex-direction:column}.auth-tabs{display:flex;gap:0;margin-bottom:1.5rem;border-bottom:2px solid #eee}.auth-tab{flex:1;padding:.75rem 1rem;border:none;background:none;font-size:.95rem;font-weight:600;color:#888;cursor:pointer;transition:all .2s;border-bottom:2px solid transparent;margin-bottom:-2px}.auth-tab:hover{color:#555}.auth-tab.active{color:#c82333;border-bottom-color:#c82333}.auth-message{padding:.75rem 1rem;border-radius:8px;font-size:.85rem;margin-bottom:1rem}.auth-error{background:#fff5f5;color:#c53030;border:1px solid #fed7d7}.auth-success{background:#f0fff4;color:#276749;border:1px solid #c6f6d5}.auth-form{display:flex;flex-direction:column;gap:1rem;flex:1}.auth-field{display:flex;flex-direction:column;gap:.35rem}.auth-field label{font-size:.82rem;font-weight:600;color:#444;text-transform:uppercase;letter-spacing:.04em}.auth-field input,.auth-field select{padding:.7rem .9rem;border:1.5px solid #ddd;border-radius:10px;font-size:.95rem;transition:all .2s;background:#fafafa;color:#333}.auth-field input:focus,.auth-field select:focus{outline:none;border-color:#c82333;background:#fff;box-shadow:0 0 0 3px #c823331a}.auth-field-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.auth-submit{margin-top:.5rem;padding:.85rem;background:linear-gradient(135deg,#c82333,#a91d2a);color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;letter-spacing:.02em}.auth-submit:hover:not(:disabled){background:linear-gradient(135deg,#a91d2a,#8b1a25);transform:translateY(-1px);box-shadow:0 4px 15px #c823334d}.auth-submit:disabled{opacity:.6;cursor:not-allowed}.auth-link{background:none;border:none;color:#c82333;font-size:.85rem;cursor:pointer;text-align:center;padding:.5rem;transition:color .2s}.auth-link:hover{color:#8b1a25;text-decoration:underline}.auth-forgot-text{font-size:.9rem;color:#666;line-height:1.5;margin-bottom:.5rem}@media(max-width:768px){.auth-container{grid-template-columns:1fr;max-width:480px}.auth-branding{padding:2rem;min-height:auto}.auth-branding-content h1{font-size:1.4rem}.auth-features{display:none}.auth-form-panel{padding:2rem 1.5rem}.auth-field-row{grid-template-columns:1fr}}.register-page{min-height:calc(100vh - var(--header-height, 72px));background:var(--color-neutral-50, #fafafa)}.register-hero{background:linear-gradient(135deg,#1b4332,#2d6a4f);color:#fff;padding:3rem 1.5rem 2.5rem}.register-hero h1{color:#fff;font-family:var(--font-display, "Outfit", sans-serif);font-size:clamp(1.75rem,3vw,2.5rem);font-weight:700;margin:0 0 .5rem;letter-spacing:-.01em}.register-hero p{color:#ffffffd9;font-size:1rem;margin:0}.register-grid{display:grid;gap:1.5rem;grid-template-columns:minmax(min(320px,100%),1fr);align-items:start}@media(min-width:900px){.register-grid{grid-template-columns:1fr 1.4fr}}.register-summary{padding:1.75rem;position:sticky;top:calc(var(--header-height, 72px) + 1rem)}.register-summary h2,.register-form h2{font-family:var(--font-display, "Outfit", sans-serif);font-size:1.25rem;font-weight:700;margin:0 0 1rem;color:var(--color-primary-dark, #1B4332)}.register-preselect{padding:1rem;border-left:3px solid #D4AF37;background:#fdf9ec;border-radius:0 8px 8px 0;margin-bottom:1.25rem}.register-preselect-label,.register-cart-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-neutral-600, #6b7280);margin:0 0 .4rem;font-weight:600}.register-preselect-title{font-weight:600;color:#1a1a2e;margin:0 0 .25rem}.register-preselect-price{color:var(--color-primary-dark, #1B4332);font-weight:700;margin:0}.register-cart-list{list-style:none;padding:0;margin:0 0 1.25rem;display:flex;flex-direction:column;gap:.5rem}.register-cart-list li{display:flex;justify-content:space-between;gap:1rem;padding:.5rem 0;border-bottom:1px solid #eef0f5;font-size:.95rem}.register-cart-list li:last-child{border-bottom:none}.register-empty{padding:1rem;border:1px dashed #e5e7eb;border-radius:8px;text-align:center}.register-empty p{margin:0 0 .75rem;color:var(--color-neutral-600, #6b7280);font-size:.9rem}.register-help{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid #eef0f5;font-size:.9rem}.register-help p{margin:0 0 .25rem;color:var(--color-neutral-600, #6b7280)}.register-help .auth-link{color:var(--color-primary-dark, #1B4332);font-weight:600;text-decoration:none}.register-help .auth-link:hover{text-decoration:underline}.register-form{padding:1.75rem}.register-form .field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem;min-width:0}.register-form .field label{font-size:.85rem;font-weight:600;color:#374151}.register-form .field input,.register-form .field select{padding:.65rem .85rem;min-height:44px;border:1px solid #d1d5db;border-radius:8px;font-size:1rem;font-family:inherit;background:#fff;transition:border-color .15s,box-shadow .15s}.register-form .field input:focus,.register-form .field select:focus{outline:none;border-color:var(--color-primary-dark, #1B4332);box-shadow:0 0 0 3px #1b43321f}.register-form .field-row{display:grid;gap:1rem;grid-template-columns:minmax(min(200px,100%),1fr) minmax(min(200px,100%),1fr);margin-bottom:1rem}@media(max-width:600px){.register-form .field-row{grid-template-columns:minmax(min(200px,100%),1fr)}}.register-form .field-row .field{margin-bottom:0}.register-error{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;font-size:.9rem}.register-disclaimer{margin:1rem 0 0;font-size:.8rem;color:var(--color-neutral-600, #6b7280);text-align:center}.btn-block{width:100%}
