:root {
  color-scheme: light;
  --ink: #092d45;
  --ink-soft: #24465d;
  --muted: #708392;
  --teal: #13b6bd;
  --teal-dark: #079ca6;
  --paper: #f7f9f8;
  --line: #e4ebeb;
  --white: #fff;
  --font-body: "DM Sans", sans-serif;
  --font-display: "Manrope", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 92px; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--font-body); font-size: 16px; -webkit-font-smoothing: antialiased; }
button, input, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { color: inherit; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
::selection { color: var(--ink); background: #a5eff0; }
.section-wrap { width: min(1190px, calc(100% - 64px)); margin-inline: auto; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

.site-header { height: 84px; padding: 0 max(32px, calc((100vw - 1360px) / 2)); position: sticky; top: 0; z-index: 20; display: flex; align-items: center; gap: 42px; background: rgba(255, 255, 255, .96); border-bottom: 1px solid rgba(12, 54, 76, .06); backdrop-filter: blur(18px); }
.brand { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 9px; }
.brand-image { width: 110px; height: 58px; flex: 0 0 110px; border-radius: 0; object-fit: contain; background: transparent; }
.brand-mark { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 11px 4px 11px 4px; color: white; background: var(--ink); font: 800 20px var(--font-display); transform: rotate(-3deg); }
.brand-name { color: #178fa9; font: 800 16px var(--font-display); letter-spacing: -.8px; }
.brand-name span { color: var(--ink); margin-left: 3px; }
.search-form { flex: 1; max-width: 322px; height: 45px; display: flex; align-items: center; border: 1px solid #dae4e8; border-radius: 30px; overflow: hidden; background: #fbfcfc; }
.search-form:focus-within { border-color: var(--teal); box-shadow: 0 0 0 3px #13b6bd20; }
.search-form input { width: 100%; min-width: 0; height: 100%; border: 0; outline: 0; padding: 0 18px; color: var(--ink); background: transparent; }
.search-form input::placeholder { color: #8798a5; }
.search-button { flex: 0 0 38px; width: 38px; height: 38px; margin-right: 3px; display: grid; place-items: center; border: 0; border-radius: 50%; color: white; background: var(--ink); font-size: 24px; cursor: pointer; }
.main-nav { display: flex; justify-content: flex-end; align-items: center; gap: clamp(15px, 2.3vw, 34px); flex: 1; }
.main-nav > a, .cart-link { font-size: 13px; font-weight: 600; transition: color .18s ease; }
.main-nav > a:hover, .cart-link:hover { color: var(--teal-dark); }
.cart-link { padding: 0; display: flex; align-items: center; gap: 7px; border: 0; background: transparent; cursor: pointer; }
.cart-count { min-width: 20px; height: 20px; padding-inline: 5px; display: inline-grid; place-items: center; border-radius: 50%; color: white; background: var(--teal-dark); font-size: 11px; }
.main-nav .nav-cta { padding: 12px 16px; border-radius: 5px; color: white; background: var(--ink); }
.main-nav .nav-cta:hover { color: white; background: var(--teal-dark); }
.menu-toggle { display: none; }

.hero { min-height: 635px; position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(400px, .92fr); align-items: center; padding: 68px max(32px, calc((100vw - 1190px) / 2)) 78px; overflow: hidden; color: white; background: #082c44; }
.hero:before { content: ""; position: absolute; inset: 0; background: radial-gradient(ellipse at 78% 43%, #11556a 0, transparent 43%), radial-gradient(ellipse at 7% 110%, #0f5367 0, transparent 48%), linear-gradient(112deg, #082c44 0%, #092f48 60%, #0a354b 100%); }
.hero:after { content: ""; width: 660px; height: 660px; position: absolute; right: -210px; top: -345px; border: 1px solid #ffffff12; border-radius: 50%; box-shadow: 0 0 0 55px #ffffff08, 0 0 0 110px #ffffff05; }
.hero-orb { position: absolute; z-index: 1; border-radius: 50%; filter: blur(1px); }
.hero-orb-one { width: 9px; height: 9px; left: 52%; top: 21%; background: #77efdc; box-shadow: 0 0 24px 5px #3de3d36b; }
.hero-orb-two { width: 5px; height: 5px; left: 6%; bottom: 16%; background: #c7ff9a; box-shadow: 0 0 18px 4px #aaff8370; }
.hero-content, .hero-art { position: relative; z-index: 2; }
.hero-content { max-width: 580px; }
.eyebrow { margin: 0 0 17px; display: flex; align-items: center; gap: 9px; color: #49818d; font-size: 10px; font-weight: 700; letter-spacing: 1.5px; }
.eyebrow > span:first-child { width: 19px; height: 1px; display: inline-block; background: var(--teal); }
.light-eyebrow { color: #9fbdc8; }
.hero h1, h2, h3, h4, p { overflow-wrap: break-word; }
.hero h1 { margin: 0; font: 800 clamp(58px, 7.2vw, 92px)/.99 var(--font-display); letter-spacing: -6px; }
.hero h1 > span { color: #43d4c7; }
.hero-lead { margin: 28px 0 7px; font-size: 17px; }
.hero-copy { max-width: 470px; margin: 0; color: #b8cbd1; font-size: 14px; line-height: 1.8; }
.hero-actions { display: flex; align-items: center; gap: 27px; margin-top: 28px; }
.button { min-height: 45px; display: inline-flex; justify-content: center; align-items: center; gap: 15px; padding: 0 18px; border: 0; border-radius: 4px; font-weight: 700; font-size: 13px; cursor: pointer; transition: transform .18s ease, background .18s ease, box-shadow .18s ease; }
.button:hover { transform: translateY(-2px); }
.button-accent { color: #052d42; background: #37d0c3; }
.button-accent:hover { background: #69e0d5; box-shadow: 0 7px 22px #37d0c326; }
.text-link { display: inline-flex; align-items: center; gap: 9px; color: var(--teal-dark); font-size: 13px; font-weight: 700; }
.text-link:hover { gap: 14px; }
.hero-secondary { color: #e3f4f3; }
.hero-proof { display: flex; align-items: center; gap: 13px; margin-top: 42px; }
.hero-proof p { margin: 0; color: #9db3bd; font-size: 11px; line-height: 1.5; }
.hero-proof p strong { color: white; font-size: 12px; }
.avatar-stack { display: flex; padding-left: 7px; }
.avatar-stack span { width: 29px; height: 29px; margin-left: -7px; display: grid; place-items: center; border: 2px solid #082c44; border-radius: 50%; color: var(--ink); background: #a7dfd8; font-size: 9px; font-weight: 700; }
.avatar-stack span:nth-child(2) { background: #ffd3ad; }.avatar-stack span:nth-child(3) { background: #cbbaf6; }.avatar-stack span:nth-child(4) { color: white; background: #1d8290; }
.hero-art { width: min(100%, 510px); height: 400px; justify-self: end; display: grid; place-items: center; perspective: 950px; }
.hero-art:before { content: ""; width: 330px; height: 330px; position: absolute; background: #10b9b626; border-radius: 50%; filter: blur(50px); }
.art-window { width: 90%; max-width: 438px; position: relative; z-index: 1; border: 1px solid #8ce7df38; border-radius: 12px; overflow: hidden; background: #0d2636; box-shadow: 0 33px 80px #00111c80, 0 0 0 10px #ffffff08; transform: rotate(2deg); }
.window-top { height: 45px; display: flex; align-items: center; gap: 6px; padding: 0 15px; border-bottom: 1px solid #ffffff13; background: #102f40; }
.window-top > span { width: 7px; height: 7px; border-radius: 50%; background: #f17a76; }.window-top > span:nth-child(2) { background: #f3c779; }.window-top > span:nth-child(3) { background: #62d4a7; }
.window-top i { margin-left: auto; color: #8baeb8; font: normal 9px var(--font-body); }
.art-code { padding: 34px 25px 37px; font: 500 13px/2.8 monospace; color: #c6d9dc; }
.art-code p { margin: 0; white-space: nowrap; }.art-code p span { margin-right: 17px; color: #547584; }.art-code b { color: #67d8c5; font-weight: 500; }.art-code em { color: #f3c27f; font-style: normal; }.art-code i { color: #6d929d; font-style: normal; }
.code-progress { height: 4px; margin-top: 22px; border-radius: 3px; background: #1d3e4a; }.code-progress span { width: 68%; height: 100%; display: block; border-radius: 3px; background: linear-gradient(90deg, #16bdbe, #a4eed6); box-shadow: 0 0 13px #24cabf80; }
.hero-cube { width: 108px; height: 108px; position: absolute; z-index: 4; top: 29px; left: 38%; display: grid; place-items: center; perspective: 700px; filter: drop-shadow(0 14px 22px #00152086); }
.hero-cube-shell { width: 100%; height: 100%; position: relative; transform-style: preserve-3d; animation: cube-turn 16s linear infinite; }
.cube-face { width: 108px; height: 108px; position: absolute; display: flex; flex-direction: column; justify-content: center; align-items: center; border: 1px solid #adfff272; color: #d9fff6; background: linear-gradient(145deg, #72ebd45b, #0b809b2c 65%, #ffffff16); box-shadow: inset 0 0 28px #79e9d121; backdrop-filter: blur(5px); font: 800 12px var(--font-display); letter-spacing: 1px; }
.cube-face small { margin-top: 4px; font: 700 7px var(--font-body); letter-spacing: 1.5px; }
.face-front { transform: translateZ(54px); color: #8af1df; font-size: 32px; }
.face-back { transform: rotateY(180deg) translateZ(54px); }
.face-right { transform: rotateY(90deg) translateZ(54px); color: #ffdeaa; }
.face-left { transform: rotateY(-90deg) translateZ(54px); }
.face-top { transform: rotateX(90deg) translateZ(54px); color: #7df2db; font-size: 35px; }
.face-bottom { transform: rotateX(-90deg) translateZ(54px); font-size: 9px; }
@keyframes cube-turn { 0% { transform: rotateX(-18deg) rotateY(0deg) rotateZ(10deg); } 50% { transform: rotateX(18deg) rotateY(180deg) rotateZ(-8deg); } 100% { transform: rotateX(-18deg) rotateY(360deg) rotateZ(10deg); } }
.floating-card { position: absolute; z-index: 3; display: flex; align-items: center; gap: 11px; padding: 12px 16px; border: 1px solid #ffffff39; border-radius: 9px; color: var(--ink); background: white; box-shadow: 0 16px 40px #00152142; }
.floating-card b, .floating-card small { display: block; }.floating-card b { font-size: 11px; }.floating-card small { margin-top: 3px; color: #7c8e97; font-size: 9px; }
.floating-card-top { right: -7px; top: 59px; }.floating-card-bottom { left: -15px; bottom: 56px; }
.float-icon { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 7px; color: #5d4e92; background: #ebe5ff; }.float-icon-cyan { color: #087c82; background: #d8f6f1; }
.hero-sparkle { position: absolute; color: #6be1d1; }.sparkle-one { top: 34px; left: 45px; font-size: 23px; }.sparkle-two { right: 25px; bottom: 38px; color: #f5ce88; font-size: 34px; }
.scroll-cue { position: absolute; bottom: 21px; left: max(32px, calc((100vw - 1190px) / 2)); z-index: 3; display: flex; align-items: center; gap: 10px; color: #8daeb8; font-size: 8px; font-weight: 700; letter-spacing: 1.3px; }.scroll-cue span { width: 18px; height: 28px; position: relative; border: 1px solid #7ea1ac; border-radius: 12px; }.scroll-cue span:after { content: ""; width: 2px; height: 5px; position: absolute; left: 7px; top: 5px; border-radius: 2px; background: #63d6c9; }

.vision { display: grid; grid-template-columns: 1fr .86fr; gap: clamp(48px, 8vw, 112px); align-items: center; padding-block: 108px; }
.vision-image { min-height: 370px; position: relative; border-radius: 4px 4px 75px 4px; background: #d9e7e4; }
.vision-image:before { content: ""; width: 78%; height: 85%; position: absolute; top: 24px; left: 24px; border: 1px solid #10aab5; border-radius: 4px 4px 75px 4px; }
.vision-image img { width: 100%; height: 370px; position: relative; z-index: 1; border-radius: 4px 4px 75px 4px; object-fit: cover; }
.image-caption { position: absolute; right: -14px; bottom: 27px; z-index: 2; display: flex; align-items: center; gap: 9px; padding: 12px 17px; border-radius: 4px; color: var(--ink); background: white; box-shadow: 0 8px 28px #092d4519; font-size: 11px; font-weight: 700; }.caption-star { color: var(--teal-dark); font-size: 17px; }
.vision-copy h2, .section-heading h2, .membership h2, .knowledge-copy h2, .cert-copy h2, .course-heading h2, .skills h2, .why-copy h2, .newsletter h2, .footer-explore h2 { margin: 0; font: 800 clamp(32px, 4vw, 47px)/1.14 var(--font-display); letter-spacing: -2px; }
.vision-copy h2 span, .section-heading h2 span, .cert-copy h2 span, .skills h2 span, .newsletter h2 span { color: var(--teal-dark); }
.vision-copy > p:not(.eyebrow) { margin: 21px 0 22px; color: #70818d; font-size: 14px; line-height: 1.8; }
.vision-stats { display: flex; gap: 45px; padding-top: 28px; margin-top: 31px; border-top: 1px solid var(--line); }.vision-stats strong { display: block; font: 800 28px var(--font-display); }.vision-stats strong span { color: var(--teal-dark); }.vision-stats small { display: block; margin-top: 4px; color: #83929a; font-size: 10px; }
.advantage { padding-block: 20px 111px; }
.section-heading { margin-bottom: 38px; text-align: center; }.section-heading .eyebrow { justify-content: center; }.section-heading > p:last-child { margin: 14px 0 0; color: #7d8d96; font-size: 13px; }
.advantage-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.advantage-card { min-height: 216px; position: relative; padding: 28px 29px; border: 1px solid #e5ebea; border-radius: 5px; background: white; transition: transform .2s, box-shadow .2s; }.advantage-card:hover { transform: translateY(-5px); box-shadow: 0 17px 35px #082d4510; }.card-number { position: absolute; top: 25px; right: 27px; color: #b3c1c5; font: 600 12px var(--font-display); }.advantage-icon { width: 43px; height: 43px; display: grid; place-items: center; margin-bottom: 23px; border-radius: 13px 4px 13px 4px; font-size: 22px; }.icon-lilac { color: #7461b5; background: #efeaff; }.icon-cyan { color: #0797a5; background: #def8f6; }.icon-orange { color: #cc7a34; background: #fff0df; }.advantage-card h3 { margin: 0 0 8px; font: 700 18px var(--font-display); }.advantage-card p { max-width: 285px; margin: 0; color: #82919a; font-size: 12px; line-height: 1.7; }

.membership { padding: 82px 0 92px; color: white; background: #092c43; }
.membership-inner { display: grid; grid-template-columns: 1.02fr .9fr; align-items: center; gap: 44px; }
.membership-copy h2 { max-width: 550px; font-size: clamp(36px, 4vw, 48px); }.membership-copy h2 span { color: #4fd2c7; }
.membership-description { max-width: 515px; margin: 18px 0 22px; color: #b1c4ca; font-size: 13px; line-height: 1.75; }.membership-description strong { color: white; }
.membership-perks { display: grid; gap: 13px; }.membership-perks p { display: flex; align-items: center; gap: 11px; margin: 0; color: #c8d7da; font-size: 11px; }.membership-perks p > span { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 7px; color: #6ee0d3; background: #ffffff12; font-size: 12px; }.membership-perks strong { color: white; }
.membership-actions { display: flex; align-items: center; gap: 24px; margin-top: 28px; }.membership-price strong { display: block; color: #4bd0c4; font: 800 30px var(--font-display); }.membership-price span { display: block; margin-top: 3px; color: #a1bbc2; font-size: 10px; }.membership-note { margin: 16px 0 0; color: #7fa2ae; font-size: 10px; }
.membership-visual { height: 355px; position: relative; display: grid; place-items: center; }.membership-ring { position: absolute; width: 290px; height: 290px; border: 1px solid #4fdae032; border-radius: 50%; }.ring-two { width: 350px; height: 350px; border-color: #60d5ce1b; }
.membership-certificate { width: 242px; height: 292px; position: relative; z-index: 1; padding: 22px; border: 1px solid #d3c79b; outline: 4px solid #d2bd7c15; color: #f2e7c6; background: linear-gradient(140deg, #18475a, #0b2e43 60%, #163e53); box-shadow: 0 25px 65px #0017228a; transform: rotate(-5deg); }.membership-certificate:before { content: ""; position: absolute; inset: 9px; border: 1px solid #cebb8163; }.certificate-top, .certificate-bottom { position: relative; z-index: 1; display: flex; justify-content: space-between; align-items: center; }.certificate-top > span { width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid #dbc783; border-radius: 50%; color: #ddca86; font-weight: 800; }.certificate-top small { font-size: 8px; letter-spacing: 1.4px; }.membership-certificate > p { position: relative; z-index: 1; margin: 50px 0 0; font: 800 29px/1.03 var(--font-display); letter-spacing: -1px; }.certificate-seal { width: 38px; height: 38px; position: absolute; right: 25px; bottom: 67px; display: grid; place-items: center; border: 1px solid #dbca8d; border-radius: 50%; color: #dfcb81; font-size: 17px; }.certificate-bottom { position: absolute; right: 20px; bottom: 21px; left: 20px; color: #b9ae84; font-size: 7px; letter-spacing: 1px; }
.membership-chip { position: absolute; z-index: 2; display: flex; align-items: center; gap: 14px; padding: 12px 15px; border: 1px solid #ffffff26; border-radius: 7px; color: #e4eeee; background: #133b51; box-shadow: 0 11px 30px #0016224a; font-size: 10px; }.membership-chip span { color: #6bddd1; }.chip-one { top: 44px; right: -1px; }.chip-two { bottom: 48px; left: -3px; }.chip-three { right: 6px; bottom: 21px; }
.membership-includes { padding-top: 46px; margin-top: 70px; border-top: 1px solid #ffffff1b; }.includes-heading { display: flex; justify-content: space-between; align-items: end; gap: 20px; margin-bottom: 25px; }.includes-heading .eyebrow { margin: 0; }.includes-heading h3 { margin: 0; font: 700 21px var(--font-display); }.includes-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; }.includes-grid article { padding: 18px; border: 1px solid #ffffff1d; border-radius: 4px; background: #ffffff07; }.includes-grid article > span { color: #53d1c8; font-size: 10px; }.includes-grid h4 { margin: 17px 0 7px; font: 700 13px var(--font-display); }.includes-grid p { margin: 0; color: #9cb4bd; font-size: 10px; line-height: 1.65; }

.dashboard-section { display: grid; grid-template-columns: .78fr 1.22fr; align-items: center; gap: 28px; padding-block: 102px; }.dashboard-promo { min-height: 355px; position: relative; padding: 36px 32px; overflow: hidden; color: white; background: linear-gradient(145deg, #0e4359, #0a2f48); }.dashboard-promo h2 { max-width: 350px; position: relative; z-index: 1; margin: 0; font: 700 26px/1.2 var(--font-display); letter-spacing: -.7px; }.dashboard-promo > p:not(.eyebrow) { max-width: 310px; position: relative; z-index: 1; margin: 14px 0 23px; color: #a9c1c7; font-size: 11px; line-height: 1.7; }.button-light { position: relative; z-index: 1; color: var(--ink); background: white; font-size: 11px; }.dashboard-decoration { position: absolute; right: -14px; bottom: -67px; color: #ffffff0b; font: 800 290px/.9 var(--font-display); }
.dashboard { min-height: 355px; padding: 22px; border: 1px solid #e7eded; background: #fff; box-shadow: 0 15px 48px #12394a0c; }.dashboard-title, .dashboard-subtitle { display: flex; justify-content: space-between; align-items: center; }.dashboard-title { padding-bottom: 19px; border-bottom: 1px solid #edf0ef; color: #87969c; font-size: 8px; font-weight: 700; letter-spacing: .8px; }.dashboard-status { width: 7px; height: 7px; display: inline-block; margin-right: 6px; border-radius: 50%; background: #44c5a0; }.dashboard-title > span { font-size: 8px; }.dashboard-body { display: grid; grid-template-columns: 1.2fr .8fr; gap: 22px; padding-top: 20px; }.dashboard-subtitle { margin-bottom: 10px; }.dashboard-subtitle h3, .dashboard-progress h3 { margin: 0; font: 700 12px var(--font-display); }.dashboard-subtitle > span { color: #8b9ba2; font-size: 8px; }.dashboard-row { min-height: 47px; display: flex; align-items: center; gap: 9px; border-bottom: 1px solid #f0f3f2; }.dash-course-icon { width: 27px; height: 27px; display: grid; place-items: center; border-radius: 6px; font-size: 13px; }.dash-course-icon.cyan { color: #03959c; background: #e0f7f5; }.dash-course-icon.orange { color: #d2823b; background: #fff1e4; }.dash-course-icon.lilac { color: #7763b3; background: #f0eaff; }.dash-course-icon.green { color: #359c78; background: #e6f7ed; }.dashboard-row > span:nth-child(2) { flex: 1; }.dashboard-row b, .dashboard-row small { display: block; }.dashboard-row b { font-size: 9px; }.dashboard-row small { margin-top: 3px; color: #91a0a5; font-size: 8px; }.progress-badge, .complete-badge { padding: 5px 7px; border-radius: 10px; color: #518077; background: #e8f7f3; font-size: 7px; }.complete-badge { color: #47905e; background: #ebf7ec; }.dashboard-progress { padding-left: 17px; border-left: 1px solid #edf0ef; }.dashboard-progress h3 { display: inline-block; }.progress-month { float: right; color: #98a4a9; font-size: 7px; }.progress-chart { height: 82px; display: flex; align-items: end; gap: 5px; padding: 10px 7px 0; border-bottom: 1px solid #e8eeee; }.progress-chart span { flex: 1; border-radius: 3px 3px 0 0; background: linear-gradient(0deg, #109da9, #69d6ca); }.progress-chart span:nth-child(1) { height: 36%; }.progress-chart span:nth-child(2) { height: 48%; }.progress-chart span:nth-child(3) { height: 40%; }.progress-chart span:nth-child(4) { height: 65%; }.progress-chart span:nth-child(5) { height: 52%; }.progress-chart span:nth-child(6) { height: 76%; }.progress-chart span:nth-child(7) { height: 59%; }.progress-chart span:nth-child(8) { height: 85%; }.progress-chart span:nth-child(9) { height: 63%; }.progress-chart span:nth-child(10) { height: 72%; }.progress-chart span:nth-child(11) { height: 94%; }.progress-chart span:nth-child(12) { height: 81%; }.progress-summary { display: flex; justify-content: space-between; gap: 5px; padding-top: 11px; color: #9aa8ac; font-size: 7px; }.progress-summary strong { display: block; margin-top: 5px; color: var(--ink); font: 700 13px var(--font-display); }.progress-goal { display: grid; grid-template-columns: 1fr auto; gap: 5px; padding-top: 13px; margin-top: 12px; border-top: 1px solid #edf0ef; color: #829198; font-size: 8px; }.progress-goal strong { grid-column: 2; grid-row: 1 / span 2; align-self: center; color: var(--ink); font: 800 17px var(--font-display); }.progress-goal span:last-child { color: #42aa8e; }
.knowledge-band { padding-block: 70px; overflow: hidden; background: #edf5f2; }.knowledge-grid { display: grid; grid-template-columns: .9fr 1fr; align-items: center; gap: 66px; }.knowledge-art { width: 360px; height: 310px; position: relative; justify-self: center; display: grid; place-items: center; }.knowledge-orbit { position: absolute; width: 225px; height: 225px; border: 1px solid #08aab337; border-radius: 50%; transform: rotateX(65deg) rotate(-27deg); }.orbit-b { width: 300px; height: 300px; border-color: #082f471a; transform: rotateX(65deg) rotate(40deg); }.knowledge-core { width: 132px; height: 132px; z-index: 1; display: grid; place-content: center; border-radius: 50%; color: white; background: radial-gradient(circle at 30% 24%, #39d2be, #126482 70%, #092d45); box-shadow: 0 0 45px #20c2b44a; text-align: center; font-size: 8px; letter-spacing: 2px; }.knowledge-core strong { margin-top: 6px; font: 800 12px var(--font-display); letter-spacing: .2px; }.knowledge-core small { margin-top: 8px; color: #a9e9db; font-size: 7px; letter-spacing: 1px; }.orbit-label { position: absolute; z-index: 2; padding: 7px 10px; border: 1px solid #d5e6e2; border-radius: 3px; color: #436672; background: #f5fbf9; font-size: 7px; letter-spacing: .8px; }.label-a { top: 39px; left: 5px; }.label-b { top: 80px; right: -11px; }.label-c { bottom: 28px; left: 19px; }.knowledge-copy .eyebrow { color: #628785; }.knowledge-kicker { color: #4f7d7e; font-size: 9px; font-weight: 700; letter-spacing: 1px; }.knowledge-copy h2 { max-width: 520px; margin: 14px 0 20px; font-size: clamp(30px, 3.4vw, 40px); }.knowledge-copy h2 span { color: var(--teal-dark); }

.certifications { display: grid; grid-template-columns: .88fr 1.12fr; align-items: center; gap: 60px; padding-block: 100px; }.cert-copy h2 { margin-bottom: 15px; font-size: 39px; }.cert-copy > p:not(.eyebrow) { margin: 0 0 20px; color: #798a91; font-size: 12px; line-height: 1.8; }.cert-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }.cert-grid article { min-height: 180px; padding: 17px 14px; border: 1px solid #e4eae9; border-radius: 3px; background: white; }.cert-tags { min-height: 75px; display: flex; align-content: flex-start; flex-wrap: wrap; gap: 5px; }.cert-tags span { padding: 5px 7px; border: 1px solid #dfe8e6; border-radius: 3px; color: #13878d; font-size: 7px; font-weight: 700; }.cert-grid h3 { margin: 12px 0 5px; font: 800 17px var(--font-display); }.cert-grid p { margin: 0; color: #839198; font-size: 9px; line-height: 1.5; }
.careers { padding-block: 0 100px; }.careers-heading { margin-bottom: 29px; }.career-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; }.career-card { min-height: 245px; position: relative; display: flex; flex-direction: column; justify-content: end; padding: 23px; overflow: hidden; color: white; background: #153b50; }.career-card:before { content: ""; position: absolute; inset: 0; opacity: .68; background-size: cover; background-position: center; transition: transform .5s; }.career-card:hover:before { transform: scale(1.05); }.career-card:after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, #081d2eee 0%, #092c4333 75%); }.career-cloud:before { background-image: url("https://images.unsplash.com/photo-1451187580459-43490279c0fa?w=800&h=500&fit=crop"); }.career-data:before { background-image: url("https://images.unsplash.com/photo-1551288049-bebda4e38f71?w=800&h=500&fit=crop"); }.career-marketing:before { background-image: url("https://images.unsplash.com/photo-1552664730-d307ca884978?w=800&h=500&fit=crop"); }.career-card > span, .career-card h3, .career-card p { position: relative; z-index: 1; }.career-card > span { margin-bottom: 8px; color: #86e0d4; font-size: 8px; font-weight: 700; letter-spacing: 1.3px; }.career-card h3 { margin: 0; font: 700 22px var(--font-display); }.career-card p { margin: 8px 0 0; color: #c5d4d6; font-size: 9px; }.career-card p b { color: #f5ce78; }

.courses-section { padding-block: 82px 75px; color: white; background: radial-gradient(ellipse at 12% 83%, #124d61 0, transparent 42%), linear-gradient(119deg, #082f49, #092b42 67%, #0c344a); }
.courses-inner { width: min(1240px, calc(100% - 64px)); }
.course-heading { display: flex; justify-content: space-between; align-items: end; gap: 24px; }.course-heading h2 { font-size: clamp(35px, 4vw, 47px); }.course-heading h2 span { color: #54d5c9; }.course-heading > div:first-child > p:last-child { margin: 12px 0 0; color: #abc0c7; font-size: 12px; }.course-count { display: flex; align-items: center; gap: 11px; padding-bottom: 6px; color: #a8c0c5; font-size: 9px; line-height: 1.5; text-transform: uppercase; letter-spacing: .5px; }.course-count strong { color: #54d5c9; font: 800 42px var(--font-display); letter-spacing: -2px; }
.course-tools { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin: 32px 0 24px; }.filter-list { display: flex; flex-wrap: wrap; gap: 7px; }.filter-chip { min-height: 32px; padding: 0 12px; border: 1px solid #ffffff2b; border-radius: 3px; color: #c1d0d3; background: #ffffff08; font-size: 9px; cursor: pointer; transition: .15s; }.filter-chip:hover { border-color: #55d0c7; color: white; }.filter-chip.is-active { border-color: #51d1c7; color: #062d43; background: #51d1c7; font-weight: 700; }.course-sort-label { flex: 0 0 auto; color: #88a6af; font-size: 8px; font-weight: 700; letter-spacing: 1px; }.course-sort-label span { color: #50d5cb; }
.course-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }.course-card { min-width: 0; overflow: hidden; border: 1px solid #70d7d143; border-radius: 13px 4px 13px 4px; color: var(--ink); background: white; transition: transform .2s, box-shadow .2s; }.course-card:hover { transform: translateY(-4px); box-shadow: 0 18px 36px #00152255; }.course-image { height: 190px; position: relative; overflow: hidden; background: #e5efeb; }.course-image:after { content: ""; position: absolute; inset: 40% 0 0; background: linear-gradient(0deg, #071f2b54, transparent); }.course-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }.course-card:hover .course-image img { transform: scale(1.04); }.course-image-icon { width: 42px; height: 42px; position: absolute; right: 17px; bottom: 14px; z-index: 1; display: grid; place-items: center; border: 1px solid #ffffff4a; border-radius: 12px 4px 12px 4px; color: white; background: #092d45aa; backdrop-filter: blur(6px); font-weight: 700; }
.course-info { padding: 21px 23px 19px; }.course-category { display: inline-flex; padding: 6px 11px; border: 1px solid #b6e4e3; border-radius: 30px; color: #237b82; background: #e9f8f6; font-size: 9px; font-weight: 600; }.course-info h3 { min-height: 46px; margin: 14px 0 9px; font: 750 19px/1.3 var(--font-display); letter-spacing: -.5px; }.course-meta { display: flex; flex-wrap: wrap; gap: 17px; color: #718591; font-size: 11px; }.course-divider { height: 1px; margin: 17px 0 14px; background: #e1e8e8; }.course-actions { display: flex; align-items: center; gap: 9px; }.course-price { flex: 1; color: #118da0; font: 800 27px var(--font-display); letter-spacing: -1px; }.course-actions .button { min-height: 37px; padding-inline: 11px; font-size: 10px; }.button-outline { border: 1px solid #15aab4; color: #11899a; background: white; }.button-outline:hover { color: white; background: #109eaa; }.button-buy { color: white; background: #12adbb; }.button-buy:hover { background: #078a98; }.loading-courses { grid-column: 1 / -1; min-height: 150px; display: grid; place-items: center; color: #a9c1c8; font-size: 13px; }.loading-courses span { color: #5dd6c9; }.empty-state { padding: 35px 10px; color: #c1d4d8; text-align: center; }.course-footer { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding-top: 20px; color: #8eabb3; font-size: 10px; }.button-outline-light { border: 1px solid #85bbb9; color: white; background: transparent; font-size: 10px; }.button-outline-light:hover { color: var(--ink); background: #a0e7de; }

.skills { display: grid; grid-template-columns: .88fr 1.12fr; align-items: end; gap: 46px; padding-block: 103px; }.skills h2 { margin-bottom: 22px; font-size: 36px; }.trending-feature { min-height: 154px; display: flex; align-items: center; gap: 14px; padding: 19px; border: 1px solid #e0e9e6; background: white; }.trend-icon { width: 40px; height: 40px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 12px 4px 12px 4px; color: #b07836; background: #fff0d9; font-size: 22px; }.trending-feature > div { flex: 1; }.trending-feature > div > p { margin: 0 0 7px; color: #86959b; font-size: 7px; font-weight: 700; letter-spacing: .8px; }.trending-feature h3 { margin: 0 0 7px; font: 700 14px var(--font-display); }.trending-feature .text-link { font-size: 9px; }.trending-feature > strong { color: #0c8d98; font: 800 16px var(--font-display); text-align: right; }.trending-feature > strong small { display: block; margin-top: 3px; color: #829196; font: 400 8px var(--font-body); }
.skills-columns { display: grid; grid-template-columns: repeat(3, 1fr); gap: 17px; }.skills-columns article { padding: 4px 13px; border-left: 1px solid #dfe9e7; }.skills-columns h3 { margin: 0 0 16px; font: 700 12px var(--font-display); }.skills-columns a { display: flex; flex-direction: column; gap: 5px; margin-bottom: 12px; color: #376176; font-size: 10px; font-weight: 600; }.skills-columns a:hover { color: var(--teal-dark); }.skills-columns a span { color: #93a0a4; font-size: 8px; font-weight: 400; }
.testimonials { padding-block: 0 106px; }.testimonial-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; }.testimonial-grid article { min-height: 278px; display: flex; flex-direction: column; align-items: flex-start; padding: 25px; border: 1px solid #e2eae8; background: white; }.quote-mark { height: 35px; color: #22aeb0; font: 800 51px/1 var(--font-display); }.testimonial-grid blockquote { flex: 1; margin: 7px 0 21px; color: #667b87; font-size: 11px; line-height: 1.8; }.reviewer { display: flex; align-items: center; gap: 9px; width: 100%; padding-top: 14px; border-top: 1px solid #edf1f0; }.reviewer-avatar { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; color: #594982; background: #e9e1ff; font-size: 9px; font-weight: 700; }.avatar-blue { color: #167586; background: #ddf2f4; }.avatar-orange { color: #9d6434; background: #ffecd9; }.reviewer b, .reviewer small { display: block; }.reviewer b { font-size: 10px; }.reviewer small { margin-top: 3px; color: #91a0a5; font-size: 8px; }.testimonial-grid article > a { margin-top: 15px; color: #148e96; font-size: 9px; font-weight: 700; }.testimonial-grid article > a span { margin-left: 5px; }

.why-section { padding-block: 70px; color: white; background: #092e45; }.why-inner { display: grid; grid-template-columns: 1fr .85fr; align-items: center; gap: 72px; }.why-copy h2 { margin-bottom: 24px; font-size: 42px; }.why-copy h2 span { color: #55d3c7; }.why-copy ul { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px 20px; padding: 0; margin: 0; list-style: none; }.why-copy li { position: relative; padding-left: 21px; color: #c1d1d5; font-size: 10px; line-height: 1.5; }.why-copy li:before { content: "✓"; position: absolute; left: 0; color: #63dbca; font-weight: 700; }.stats-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }.stats-grid article { min-height: 143px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 15px; border: 1px solid #ffffff1d; background: #ffffff08; }.stats-grid article > span { margin-bottom: 13px; color: #4bd3c7; font-size: 14px; }.stats-grid strong { font: 800 24px var(--font-display); }.stats-grid small { margin-top: 5px; color: #a8bdc3; font-size: 8px; }
.newsletter { min-height: 215px; display: grid; grid-template-columns: 57px 1fr minmax(300px, .85fr); align-items: center; gap: 20px; }.newsletter-icon { width: 49px; height: 49px; display: grid; place-items: center; border-radius: 15px 5px 15px 5px; color: #118e94; background: #ddf4ef; font-size: 21px; }.newsletter .eyebrow { margin-bottom: 7px; font-size: 8px; }.newsletter h2 { font-size: 26px; letter-spacing: -1px; }.newsletter > div:nth-child(2) > p:last-child { margin: 8px 0 0; color: #829196; font-size: 10px; }.newsletter-form { position: relative; display: flex; gap: 6px; }.newsletter-form input { flex: 1; min-width: 0; height: 45px; padding: 0 14px; border: 1px solid #dbe5e3; border-radius: 3px; outline: 0; background: white; font-size: 11px; }.newsletter-form input:focus, .checkout-form input:focus, .footer-contact input:focus, .footer-contact textarea:focus { border-color: var(--teal); box-shadow: 0 0 0 3px #13b6bd1a; }.button-dark { color: white; background: #0c3449; }.button-dark:hover { background: #0d7885; }.newsletter-form .button { min-height: 45px; font-size: 10px; }.form-message { min-height: 15px; margin: 6px 0 0; color: #148c72; font-size: 10px; }.newsletter-form .form-message { position: absolute; top: 100%; left: 0; }

.site-footer { color: #c6d3d7; background: #08273b; }.footer-explore { padding-block: 55px 46px; border-bottom: 1px solid #ffffff17; }.footer-explore-heading { display: flex; justify-content: space-between; align-items: end; gap: 20px; margin-bottom: 25px; }.footer-explore-heading .eyebrow { margin: 0; }.footer-explore h2 { max-width: 420px; font-size: 25px; letter-spacing: -1px; }.footer-explore h2 span { color: #5dd5c9; }.footer-links-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }.footer-links-grid h3, .footer-main h3 { margin: 0 0 13px; color: white; font: 700 11px var(--font-display); }.footer-links-grid a, .footer-main > div:not(.footer-about):not(.footer-contact) a { width: fit-content; display: block; margin: 8px 0; color: #94aeb7; font-size: 9px; }.footer-links-grid a:hover, .footer-main a:hover { color: #63d8cd; }
.footer-main { display: grid; grid-template-columns: 1.2fr .65fr .8fr 1.15fr; gap: 35px; padding-block: 47px; }.footer-brand .brand-name { color: #65d4ca; }.footer-brand .brand-name span { color: white; }.footer-brand .brand-mark { color: var(--ink); background: #5dd5c9; }.footer-about > p, .footer-contact > p { max-width: 235px; margin: 14px 0; color: #91a9b0; font-size: 10px; line-height: 1.7; }.footer-about .footer-email { display: inline-flex; gap: 8px; color: #69d5cc; font-size: 10px; }.footer-contact form { display: grid; gap: 7px; }.footer-contact input, .footer-contact textarea { width: 100%; min-height: 35px; padding: 9px 10px; border: 1px solid #ffffff20; border-radius: 2px; outline: 0; color: white; background: #ffffff09; font-size: 9px; }.footer-contact input::placeholder, .footer-contact textarea::placeholder { color: #829ba3; }.footer-contact textarea { min-height: 61px; resize: vertical; }.footer-contact .button { width: fit-content; min-height: 35px; font-size: 9px; }.footer-contact .form-message { color: #75d7c2; }
.footer-about .footer-location { margin-block: 12px 8px; font-size: 10px; }
.footer-map { display: block; width: min(100%, 250px); height: 135px; border: 1px solid #ffffff25; border-radius: 4px; }
.footer-bottom { min-height: 52px; display: flex; justify-content: space-between; align-items: center; gap: 20px; border-top: 1px solid #ffffff17; color: #8098a0; font-size: 8px; }.footer-heart { color: #4acfc1; }

.checkout-dialog { width: min(460px, calc(100% - 30px)); max-height: min(90vh, 750px); padding: 0; border: 0; border-radius: 5px; color: var(--ink); background: white; box-shadow: 0 25px 90px #03192866; }.checkout-dialog::backdrop { background: #061f30b5; backdrop-filter: blur(3px); }.dialog-close-form { position: absolute; top: 12px; right: 13px; z-index: 2; }.dialog-close { width: 32px; height: 32px; border: 1px solid #e4eae9; border-radius: 50%; color: #45626d; background: white; font-size: 20px; cursor: pointer; }.checkout-content { padding: 35px; }.checkout-content h2 { margin: 0; font: 800 31px var(--font-display); letter-spacing: -1px; }.checkout-content h2 span { color: var(--teal-dark); }.checkout-summary { margin: 17px 0 8px; color: #71838b; font-size: 12px; line-height: 1.6; }.checkout-total { margin: 0 0 20px; color: #108d99; font: 800 22px var(--font-display); }.checkout-form { display: grid; gap: 8px; }.checkout-form label { margin-top: 7px; color: #536c75; font-size: 10px; font-weight: 700; }.checkout-form input { min-height: 42px; padding: 0 11px; border: 1px solid #dce5e4; border-radius: 3px; outline: 0; }.checkout-disclaimer { margin: 5px 0; color: #819197; font-size: 9px; line-height: 1.6; }.checkout-form .button { width: 100%; margin-top: 5px; }.checkout-form .form-message { color: #138a72; }
.toast { position: fixed; right: 22px; bottom: 22px; z-index: 30; max-width: min(390px, calc(100% - 44px)); padding: 12px 16px; border-radius: 4px; color: white; background: #092f45; box-shadow: 0 12px 36px #0018244d; font-size: 11px; opacity: 0; pointer-events: none; transform: translateY(9px); transition: .2s; }.toast.is-visible { opacity: 1; transform: translateY(0); }.toast.is-error { background: #9e4139; }
.cookie-fab { position: fixed; bottom: 19px; left: 20px; z-index: 25; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border: 1px solid #ffffff60; border-radius: 50%; color: white; background: #092f45; box-shadow: 0 8px 24px #00182442; font-size: 0; font-weight: 700; cursor: pointer; }.cookie-fab:hover, .cookie-fab:focus-visible { background: #0d7885; }.cookie-fab > span { color: #65dbce; font-size: 16px; }
.cookie-choice { display: flex; align-items: center; gap: 10px; padding: 11px; border: 1px solid #e4eae9; border-radius: 3px; }.cookie-choice input { width: 16px; height: 16px; flex: 0 0 16px; accent-color: #0ba8ad; }.cookie-choice > span { flex: 1; }.cookie-choice strong, .cookie-choice small { display: block; }.cookie-choice strong { color: var(--ink); font-size: 10px; }.cookie-choice small { margin-top: 4px; color: #788990; font-size: 9px; font-weight: 400; line-height: 1.4; }.cookie-choice > b { color: #57897e; font-size: 8px; }

@media (min-width: 1500px) { .hero { grid-template-columns: minmax(0, 1fr) minmax(480px, .92fr); } }
.membership-plans { width: 100%; max-width: none; padding: 76px max(32px, calc((100vw - 1190px) / 2)); margin: 0; background: #092c43; }
.membership-plans .section-heading h2 { color: white; }
.membership-plans .section-heading > p:last-child { color: #afc4c9; }
.membership-plan-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.membership-plan { min-height: 385px; position: relative; display: flex; flex-direction: column; padding: 25px; border: 1px solid #ffffff20; border-radius: 5px; background: #ffffff09; }
.membership-plan.plan-gold { border-color: #e8cc806b; background: linear-gradient(150deg, #fff5d71a, #ffffff09 60%); box-shadow: 0 12px 36px #00162025; }
.membership-plan.plan-diamond { border-color: #98e5ea54; background: linear-gradient(150deg, #80e4e51c, #ffffff09 60%); }
.plan-label { margin: 0; color: #9bb6bc; font-size: 8px; font-weight: 700; letter-spacing: 1.2px; }.plan-gem { position: absolute; top: 20px; right: 22px; font-size: 23px; }.gem-silver { color: #c7d8dd; }.gem-gold { color: #e9c979; }.gem-diamond { color: #82e6e5; }
.membership-plan h3 { margin: 20px 0 7px; color: white; font: 800 28px var(--font-display); }.plan-copy { min-height: 39px; margin: 0; color: #afc2c8; font-size: 10px; line-height: 1.6; }.plan-price { padding-bottom: 15px; margin: 18px 0 12px; border-bottom: 1px solid #ffffff20; color: #5bd9cd; font: 700 15px var(--font-display); }.membership-plan ul { display: grid; gap: 11px; padding: 0; margin: 0 0 20px; list-style: none; }.membership-plan li { position: relative; padding-left: 18px; color: #d0dce0; font-size: 10px; line-height: 1.5; }.membership-plan li:before { content: "✓"; position: absolute; left: 0; color: #61dccf; font-weight: 700; }.button-plan { width: 100%; margin-top: auto; color: #072c40; background: #78dcd0; font-size: 10px; }.button-plan:hover { background: #abf1e7; }
.course-extra { margin-top: 13px; }.course-description { margin: 0; color: #6d8088; font-size: 10px; line-height: 1.6; }.course-content { margin-top: 8px; color: #38777d; font-size: 9px; }.course-content summary { width: fit-content; cursor: pointer; font-weight: 700; }.course-content ul { display: grid; gap: 5px; padding-left: 17px; margin: 8px 0 0; color: #647d84; line-height: 1.5; }
.tutor-section { display: grid; grid-template-columns: 1fr .83fr; align-items: center; gap: 55px; padding-block: 85px; }.tutor-copy h2 { max-width: 510px; margin: 0; font: 800 clamp(34px, 4vw, 47px)/1.12 var(--font-display); letter-spacing: -2px; }.tutor-copy h2 span { color: var(--teal-dark); }.tutor-copy > p:not(.eyebrow):not(.tutor-contact) { max-width: 490px; margin: 18px 0; color: #72858d; font-size: 12px; line-height: 1.8; }.tutor-points { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 23px; }.tutor-points span { padding: 9px 11px; border: 1px solid #dce8e5; border-radius: 3px; color: #3a6f75; background: white; font-size: 9px; }.tutor-contact { margin-top: 23px; color: #7f9096; font-size: 10px; }.tutor-contact a { color: #0c929c; font-weight: 700; }.tutor-form { display: grid; gap: 9px; padding: 25px; border: 1px solid #e2eae8; background: white; box-shadow: 0 15px 45px #0d3b4b0c; }.tutor-form h3 { margin: 0; font: 800 22px var(--font-display); }.tutor-form > p:not(.form-message) { margin: -4px 0 8px; color: #7a8b91; font-size: 10px; line-height: 1.6; }.tutor-form > label:not(.location-choice):not(.visually-hidden) { margin: 4px 0 -4px; color: #506a73; font-size: 9px; font-weight: 700; }.tutor-form input:not([type=checkbox]), .tutor-form textarea { width: 100%; min-height: 39px; padding: 10px; border: 1px solid #dce5e4; border-radius: 2px; outline: 0; color: var(--ink); background: #fff; font-size: 10px; }.tutor-form textarea { min-height: 71px; resize: vertical; }.tutor-form > .button { width: fit-content; min-height: 40px; font-size: 10px; }.tutor-privacy { margin: 0 !important; color: #829197 !important; font-size: 8px !important; }
.location-choice { display: flex; align-items: flex-start; gap: 8px; color: #61757c; font-size: 9px; line-height: 1.5; cursor: pointer; }.location-choice input { width: 15px !important; height: 15px !important; flex: 0 0 15px !important; min-height: 15px !important; margin: 1px 0 0 !important; accent-color: #0ba8ad; }.newsletter-form .location-choice { flex: 0 0 100%; }.checkout-form .location-choice { margin-top: 10px; }.footer-contact .location-choice { margin: 4px 0; color: #a6bbc0; font-size: 8px; }.privacy-form-note { color: #9aafb5 !important; font-size: 8px !important; }
.checkout-terms { display: flex; align-items: flex-start; gap: 10px; margin: 5px 0 !important; color: #526a72 !important; font-size: 12px !important; font-weight: 500 !important; line-height: 1.6; cursor: pointer; }
.checkout-terms input { width: 17px !important; height: 17px !important; min-height: 17px !important; flex: 0 0 17px; margin: 2px 0 0 !important; accent-color: #0ba8ad; }
.checkout-terms a { color: #087f87; font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
.selected-plan { display: inline-block; padding: 7px 11px; border: 1px solid #b9e1db; border-radius: 3px; color: #137c7e; background: #e9f8f5; font-size: 10px; font-weight: 700; }
.policy-page { min-height: 100vh; color: var(--ink); background: var(--paper); }.policy-header { min-height: 80px; display: flex; align-items: center; justify-content: space-between; padding: 12px max(24px, calc((100vw - 1160px) / 2)); border-bottom: 1px solid var(--line); background: white; }.policy-header .brand-image { width: 110px; height: 58px; }.policy-header > a:last-child { color: #148d96; font-size: 12px; font-weight: 700; }.policy-content { width: min(850px, calc(100% - 40px)); padding: 65px 0 85px; margin: auto; }.policy-content .eyebrow { margin-bottom: 12px; }.policy-content h1 { margin: 0 0 17px; font: 800 clamp(35px, 6vw, 50px)/1.1 var(--font-display); letter-spacing: -2px; }.policy-content .policy-updated { color: #839197; font-size: 10px; }.policy-content h2 { margin: 33px 0 10px; font: 750 19px var(--font-display); }.policy-content p, .policy-content li { color: #61757e; font-size: 13px; line-height: 1.8; }.policy-content ul { padding-left: 22px; }.policy-content a { color: #088e99; font-weight: 600; }.policy-footer { padding: 22px; color: #96a8ad; background: #08273b; text-align: center; font-size: 9px; }.policy-footer a { color: #80ddd1; }
.cookie-fab { bottom: 19px; }
@media (max-width: 780px) {
  .membership-plans { padding-inline: 20px; }.membership-plan-grid { gap: 10px; }.membership-plan { min-height: 400px; padding: 18px 15px; }.membership-plan h3 { font-size: 23px; }.plan-copy { font-size: 9px; }.membership-plan li { font-size: 9px; }.tutor-section { grid-template-columns: 1fr; gap: 28px; padding-block: 65px; }
}
@media (max-width: 520px) {
  .membership-plans { padding: 55px 18px; }.membership-plan-grid { grid-template-columns: 1fr; }.membership-plan { min-height: 0; padding: 23px; }.plan-copy { min-height: 0; }.membership-plan ul { margin-bottom: 20px; }.tutor-section { padding-block: 55px; }.tutor-form { padding: 20px; }.cookie-fab { bottom: 12px; left: 12px; width: 42px; height: 42px; padding: 0; }.policy-content { padding-block: 45px 65px; }.policy-header { min-height: 68px; padding-inline: 15px; }
}
@media (max-width: 1100px) {
  .site-header { gap: 23px; padding-inline: 25px; }.main-nav { gap: 15px; }.main-nav > a, .cart-link { font-size: 11px; }.main-nav .nav-cta { padding-inline: 12px; }.hero { grid-template-columns: 1fr .88fr; }.hero-art { transform: scale(.92); transform-origin: center right; }.membership-inner { gap: 20px; }.membership-visual { transform: scale(.9); }.dashboard-section { grid-template-columns: .78fr 1.22fr; gap: 16px; }.dashboard { padding: 17px; }.dashboard-body { grid-template-columns: 1.1fr .9fr; gap: 12px; }.dashboard-progress { padding-left: 11px; }.course-tools { align-items: flex-start; flex-direction: column; }.course-sort-label { display: none; }.skills { gap: 25px; }.footer-main { gap: 22px; }
}
@media (max-width: 780px) {
  .brand-image { width: 98px; height: 52px; flex-basis: 98px; }
  html { scroll-padding-top: 74px; }.section-wrap, .courses-inner { width: min(100% - 40px, 560px); }
  .site-header { height: 70px; padding: 0 20px; gap: 14px; }.brand { gap: 7px; }.brand-image { width: 84px; height: 45px; flex-basis: 84px; }.brand-name { font-size: 14px; }.search-form { height: 39px; margin-left: auto; max-width: 250px; }.search-form input { padding-left: 12px; font-size: 11px; }.search-button { width: 32px; height: 32px; flex-basis: 32px; font-size: 21px; }.menu-toggle { width: 34px; height: 34px; flex: 0 0 34px; display: grid; align-content: center; justify-items: center; gap: 4px; padding: 0; border: 1px solid #e4eceb; border-radius: 4px; background: white; cursor: pointer; }.menu-toggle span { width: 15px; height: 1px; background: var(--ink); }.main-nav { position: absolute; top: 69px; right: 12px; left: 12px; display: none; align-items: stretch; flex-direction: column; gap: 0; padding: 9px; border: 1px solid #e8efed; border-radius: 5px; background: white; box-shadow: 0 18px 40px #07293b1d; }.main-nav.is-open { display: flex; }.main-nav > a, .cart-link { padding: 13px 12px; font-size: 13px; }.main-nav .nav-cta { margin-top: 3px; text-align: center; }
  .hero { min-height: 760px; grid-template-columns: 1fr; align-content: start; padding: 76px 28px 60px; }.hero h1 { font-size: clamp(64px, 13vw, 84px); }.hero-art { width: min(100%, 490px); height: 310px; justify-self: center; transform: scale(.86); transform-origin: center top; margin-top: 27px; }.hero-content { max-width: 550px; }.hero-proof { margin-top: 31px; }.floating-card-top { right: -5px; }.floating-card-bottom { left: -5px; }.sparkle-one { top: 0; left: 4px; }.scroll-cue { left: 28px; }
  .vision { grid-template-columns: 1fr; gap: 48px; padding-block: 78px; }.vision-image, .vision-image img { min-height: 0; height: min(62vw, 370px); }.vision-copy { max-width: 540px; }.vision-copy h2, .section-heading h2, .membership-copy h2, .cert-copy h2, .course-heading h2, .skills h2, .why-copy h2 { font-size: 35px; }
  .advantage { padding-block: 15px 78px; }.advantage-grid { gap: 10px; }.advantage-card { min-height: 210px; padding: 20px 16px; }.advantage-icon { width: 36px; height: 36px; margin-bottom: 19px; }.advantage-card h3 { font-size: 15px; }.advantage-card p { font-size: 10px; }.card-number { top: 18px; right: 14px; font-size: 10px; }
  .membership { padding-block: 65px 70px; }.membership-inner { grid-template-columns: 1fr; gap: 15px; }.membership-copy { max-width: 590px; }.membership-visual { width: min(100%, 430px); height: 335px; justify-self: center; margin-top: 5px; transform: none; }.membership-includes { padding-top: 33px; margin-top: 42px; }.includes-grid { grid-template-columns: repeat(2, 1fr); }.includes-heading { align-items: flex-start; flex-direction: column; gap: 10px; }.includes-heading h3 { font-size: 19px; }
  .dashboard-section { grid-template-columns: 1fr; gap: 15px; padding-block: 72px; }.dashboard-promo { min-height: 295px; }.dashboard { min-height: 0; }.dashboard-body { grid-template-columns: 1fr .75fr; gap: 15px; }.knowledge-band { padding-block: 55px; }.knowledge-grid { grid-template-columns: 1fr; gap: 28px; }.knowledge-art { width: 310px; height: 280px; }.knowledge-copy { max-width: 550px; }.knowledge-copy h2 { font-size: 34px; }
  .certifications { grid-template-columns: 1fr; gap: 28px; padding-block: 70px; }.cert-grid { gap: 10px; }.cert-grid article { min-height: 165px; }.careers { padding-bottom: 75px; }.career-grid { gap: 10px; }.career-card { min-height: 205px; padding: 15px; }.career-card h3 { font-size: 17px; }.career-card p { font-size: 8px; }
  .courses-section { padding-block: 65px 59px; }.course-heading { align-items: flex-start; }.course-count { margin-top: 15px; }.course-count strong { font-size: 33px; }.course-grid { gap: 13px; }.course-image { height: 150px; }.course-info { padding: 16px; }.course-info h3 { min-height: 47px; font-size: 16px; }.course-price { font-size: 22px; }.course-actions { gap: 6px; }.course-actions .button { min-height: 35px; padding-inline: 8px; font-size: 9px; }.course-meta { gap: 9px; font-size: 9px; }.filter-chip { font-size: 8px; padding-inline: 9px; }
  .skills { grid-template-columns: 1fr; gap: 27px; padding-block: 72px; }.skills h2 { font-size: 34px; }.skills-columns { gap: 10px; }.skills-columns article { padding-left: 9px; }.skills-columns h3 { font-size: 10px; }.skills-columns a { font-size: 9px; }.testimonial-grid { gap: 10px; }.testimonial-grid article { min-height: 300px; padding: 17px; }.testimonial-grid blockquote { font-size: 10px; }.why-section { padding-block: 62px; }.why-inner { grid-template-columns: 1fr; gap: 30px; }.why-copy ul { max-width: 540px; }.stats-grid { max-width: 500px; }.stats-grid article { min-height: 120px; }.newsletter { grid-template-columns: 45px 1fr; gap: 15px; padding-block: 43px; }.newsletter-icon { width: 43px; height: 43px; }.newsletter h2 { font-size: 22px; }.newsletter-form { grid-column: 1 / -1; }
  .footer-explore { padding-block: 43px 36px; }.footer-explore-heading { align-items: flex-start; flex-direction: column; }.footer-explore h2 { font-size: 23px; }.footer-links-grid { grid-template-columns: repeat(2, 1fr); row-gap: 24px; }.footer-main { grid-template-columns: repeat(2, 1fr); row-gap: 32px; padding-block: 38px; }.footer-about { grid-column: 1 / -1; }.footer-bottom { align-items: flex-start; flex-direction: column; justify-content: center; gap: 7px; padding-block: 13px; }
}
@media (max-width: 520px) {
  .brand-image { width: 86px; height: 48px; flex-basis: 86px; }
  .hero-cube { top: 8px; left: 36%; transform: scale(.73); }
  .section-wrap, .courses-inner { width: calc(100% - 36px); }.site-header { padding-inline: 12px; gap: 9px; }.brand-name { font-size: 12px; }.search-form { max-width: none; width: 42px; flex: 0 0 42px; border: 0; background: transparent; transition: width .2s; }.search-form:focus-within { width: 170px; flex-basis: 170px; border: 1px solid #dae4e8; background: white; }.search-form input { width: 0; padding: 0; }.search-form:focus-within input { width: 100%; padding-left: 11px; }.search-button { margin: 0; background: var(--ink); }.hero { min-height: 705px; padding: 68px 20px 55px; }.hero h1 { font-size: 64px; letter-spacing: -4px; }.hero-lead { margin-top: 22px; font-size: 15px; }.hero-copy { font-size: 12px; }.hero-actions { gap: 16px; }.hero-actions .button { padding-inline: 12px; font-size: 11px; }.hero-secondary { font-size: 10px; }.hero-art { height: 275px; margin-top: 34px; transform: scale(.77); }.art-window { width: 100%; }.art-code { padding: 27px 15px; font-size: 10px; }.art-code p span { margin-right: 8px; }.floating-card { padding: 10px; }.floating-card-top { right: -23px; }.floating-card-bottom { left: -23px; bottom: 24px; }.vision { padding-block: 60px; gap: 40px; }.vision-image { border-bottom-right-radius: 47px; }.vision-image:before { top: 14px; left: 14px; }.vision-image img { border-bottom-right-radius: 47px; }.image-caption { right: -6px; bottom: 14px; padding: 9px 11px; font-size: 9px; }.vision-copy h2, .section-heading h2, .membership-copy h2, .cert-copy h2, .course-heading h2, .skills h2, .why-copy h2 { font-size: 31px; letter-spacing: -1.4px; }.vision-stats { gap: 28px; }.advantage-grid { grid-template-columns: 1fr; }.advantage-card { min-height: 0; display: grid; grid-template-columns: 43px 1fr; align-items: center; column-gap: 13px; padding: 18px; }.advantage-icon { grid-row: 1 / span 2; margin: 0; }.advantage-card h3 { margin: 0 0 4px; }.advantage-card p { grid-column: 2; max-width: none; }.card-number { top: 14px; right: 15px; }
  .membership { padding-block: 55px 58px; }.membership-description { font-size: 12px; }.membership-perks p { align-items: flex-start; font-size: 10px; line-height: 1.6; }.membership-actions { align-items: flex-start; flex-direction: column; gap: 16px; }.membership-visual { height: 300px; transform: scale(.88); transform-origin: center; margin-block: -5px; }.membership-ring { width: 255px; height: 255px; }.ring-two { width: 305px; height: 305px; }.membership-certificate { transform: rotate(-4deg) scale(.92); }.chip-one { right: -9px; }.chip-two { left: -8px; }.chip-three { right: -8px; }.includes-grid { gap: 8px; }.includes-grid article { padding: 13px; }.includes-grid h4 { margin-top: 13px; font-size: 11px; }.includes-grid p { font-size: 9px; }
  .dashboard-promo { min-height: 285px; padding: 28px 23px; }.dashboard-promo h2 { font-size: 23px; }.dashboard { padding: 15px 11px; }.dashboard-body { grid-template-columns: 1fr; }.dashboard-progress { padding: 16px 0 0; border-top: 1px solid #edf0ef; border-left: 0; }.progress-chart { height: 60px; }.progress-goal { grid-template-columns: 1fr auto; }.knowledge-grid { gap: 17px; }.knowledge-art { width: 270px; height: 247px; transform: scale(.92); }.knowledge-orbit { width: 190px; height: 190px; }.orbit-b { width: 250px; height: 250px; }.knowledge-copy h2 { font-size: 30px; }.cert-grid { grid-template-columns: 1fr; }.cert-grid article { min-height: 127px; }.cert-tags { min-height: 0; }.cert-grid h3 { margin-top: 12px; }.career-grid { grid-template-columns: 1fr; }.career-card { min-height: 215px; }.courses-section { padding-block: 52px; }.course-heading { gap: 7px; }.course-heading h2 { font-size: 29px; }.course-heading > div:first-child > p:last-child { font-size: 10px; }.course-count { gap: 5px; }.course-count strong { font-size: 28px; }.course-count span { font-size: 7px; }.course-tools { margin: 24px 0 18px; }.filter-list { gap: 5px; }.filter-chip { min-height: 29px; padding-inline: 8px; font-size: 8px; }.course-grid { grid-template-columns: 1fr; gap: 13px; }.course-image { height: 185px; }.course-info { padding: 17px; }.course-info h3 { min-height: 0; font-size: 17px; }.course-actions .button { min-height: 38px; padding-inline: 12px; font-size: 10px; }.course-price { font-size: 24px; }.course-footer { align-items: flex-start; flex-direction: column; }
  .skills-columns { grid-template-columns: 1fr; gap: 18px; }.skills-columns article { padding: 0 0 0 13px; }.skills-columns h3 { margin-bottom: 10px; font-size: 12px; }.skills-columns a { display: inline-flex; vertical-align: top; margin: 0 11px 9px 0; font-size: 9px; }.skills-columns a span { display: none; }.trending-feature { align-items: flex-start; padding: 14px; }.trending-feature > strong { margin-top: 3px; font-size: 12px; }.trending-feature h3 { font-size: 12px; }.testimonial-grid { grid-template-columns: 1fr; }.testimonial-grid article { min-height: 260px; padding: 21px; }.testimonial-grid blockquote { font-size: 11px; }.why-copy ul { grid-template-columns: 1fr; }.why-copy li { font-size: 11px; }.stats-grid { gap: 6px; }.stats-grid article { min-height: 108px; padding: 11px; }.stats-grid strong { font-size: 19px; }.stats-grid small { font-size: 7px; }.newsletter { grid-template-columns: 39px 1fr; gap: 12px; }.newsletter-icon { width: 39px; height: 39px; font-size: 18px; }.newsletter h2 { font-size: 20px; }.newsletter-form { gap: 5px; }.newsletter-form input { height: 42px; padding-inline: 10px; font-size: 10px; }.newsletter-form .button { min-height: 42px; padding-inline: 11px; font-size: 9px; }.footer-links-grid { gap: 18px; }.footer-main { grid-template-columns: 1fr 1fr; gap: 27px 18px; }.footer-main > div:not(.footer-about):not(.footer-contact) a { font-size: 8px; }.footer-contact { grid-column: 1 / -1; }.footer-bottom { font-size: 7px; }.checkout-content { padding: 31px 23px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *:before, *:after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

[hidden] { display: none !important; }
.page-hero { position: relative; overflow: hidden; padding: 102px max(32px, calc((100vw - 1190px) / 2)); color: white; background: radial-gradient(circle at 82% 20%, #1e7180 0, transparent 31%), linear-gradient(125deg, #082b43, #0d465b 67%, #116674); }
.page-hero:after { content: ""; width: 330px; height: 330px; position: absolute; right: 8%; bottom: -235px; border: 1px solid #a4f4ec35; border-radius: 50%; box-shadow: 0 0 0 35px #a4f4ec0c, 0 0 0 70px #a4f4ec0a; }
.page-hero > * { position: relative; z-index: 1; }
.page-hero .eyebrow { margin: 0 0 19px; }
.page-hero h1 { max-width: 850px; margin: 0; font: 800 clamp(40px, 6.5vw, 69px)/1.06 var(--font-display); letter-spacing: -3px; }
.page-hero h1 span { color: #6de0d3; }
.page-hero > p:not(.eyebrow) { max-width: 680px; margin: 20px 0 0; color: #c1d4d9; font-size: 14px; line-height: 1.8; }
.page-hero > .button { margin-top: 23px; }
.membership-page-hero, .tutor-page-hero { padding-block: 87px; }
.account-page, .cart-page { padding-block: 72px 95px; }
.account-heading { max-width: 720px; margin-bottom: 35px; }
.account-heading .eyebrow { margin-bottom: 13px; }
.account-heading h1, .standalone-form-copy h1 { margin: 0; font: 800 clamp(36px, 5vw, 54px)/1.08 var(--font-display); letter-spacing: -2.2px; }
.account-heading h1 span, .standalone-form-copy h1 span, .course-page-note h2 span, .about-story h2 span { color: var(--teal-dark); }
.account-heading > p:last-child { max-width: 630px; margin: 15px 0 0; color: #75868c; font-size: 12px; line-height: 1.8; }
.account-auth-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 20px; }
.account-login-options { display: grid; align-content: start; gap: 12px; }
.account-login-options [hidden], .student-security [hidden] { display: none; }
.login-authenticator-form { display: grid; gap: 10px; }
.google-login-button { display: flex; width: 100%; min-height: 46px; align-items: center; justify-content: center; gap: 10px; border: 1px solid #dce5e4; color: #324b55; background: white; font-size: 14px; }
.google-login-button:hover { background: #f5f9f8; }
.google-mark { color: #4285f4; font: 800 19px Arial, sans-serif; }
.text-button { width: fit-content; padding: 5px 0; border: 0; color: var(--teal-dark); background: transparent; font: inherit; font-size: 14px; cursor: pointer; }
.tutor-form h2 { margin: 0; font: 800 22px var(--font-display); }
.account-auth-grid .tutor-form { min-height: 100%; }
.student-panel { display: grid; grid-template-columns: .8fr 1.2fr; gap: 20px; }
.student-welcome, .student-membership, .cart-summary { padding: 27px; border: 1px solid #e1e9e7; background: white; box-shadow: 0 15px 45px #0d3b4b0b; }
.student-cart { grid-column: 2; grid-row: 1; min-width: 0; padding: 27px; border: 1px solid #e1e9e7; background: white; box-shadow: 0 15px 45px #0d3b4b0b; }
.student-security { grid-column: 1; min-width: 0; padding: 27px; border: 1px solid #e1e9e7; background: white; box-shadow: 0 15px 45px #0d3b4b0b; }
.student-security h3 { margin: 0 0 10px; font: 800 21px var(--font-display); }
.student-security > p { color: #61757e; font-size: 14px; line-height: 1.6; }
.student-security-form { display: grid; gap: 9px; margin-top: 14px; }
.student-security-form label { color: #506a73; font-size: 13px; font-weight: 700; }
.student-security-form input { width: 100%; min-height: 42px; padding: 9px 11px; border: 1px solid #dce5e4; color: var(--ink); background: white; font: inherit; }
.student-security-form .button { width: fit-content; min-height: 40px; font-size: 13px; }
.authenticator-enrollment { padding-top: 12px; }
.authenticator-enrollment > p { color: #61757e; font-size: 13px; line-height: 1.6; }
.authenticator-enrollment > img { width: min(100%, 230px); height: auto; border: 1px solid #e1e9e7; }
.authenticator-enrollment > code { display: inline-block; overflow-wrap: anywhere; padding: 9px 11px; border-radius: 3px; color: #193c49; background: #edf5f3; font-size: 14px; letter-spacing: 1px; }
.student-cart h3 { margin: 0 0 15px; font: 800 21px var(--font-display); }
.student-cart .button { width: fit-content; }
.student-welcome h2 { margin: 10px 0; font: 800 25px var(--font-display); }
.student-welcome h2 span { color: var(--teal-dark); }
.student-welcome > p:not(.eyebrow) { color: #75868c; font-size: 11px; }
.student-membership h3, .cart-summary h2 { margin: 0 0 15px; font: 800 21px var(--font-display); }
.student-membership form { display: grid; gap: 10px; }
.student-membership form > label:not(.location-choice) { color: #506a73; font-size: 10px; font-weight: 700; }
.student-membership select { min-height: 42px; padding: 8px 10px; border: 1px solid #dce5e4; color: var(--ink); background: white; }
.student-membership-status { color: #75868c; font-size: 11px; }
.cart-layout { display: grid; grid-template-columns: 1.08fr .92fr; align-items: start; gap: 22px; }
.cart-summary { min-width: 0; }
.cart-item { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 14px; padding: 16px 0; border-top: 1px solid #e9efed; }
.cart-item strong, .cart-item small { display: block; }
.cart-item strong { font-size: 12px; }
.cart-item small { margin-top: 5px; color: #839197; font-size: 9px; }
.cart-item > b { color: #138f98; font: 800 14px var(--font-display); }
.cart-remove { padding: 5px 7px; border: 0; color: #a54d42; background: transparent; font-size: 9px; cursor: pointer; }
.cart-total { display: flex; justify-content: space-between; padding: 17px 0; margin: 10px 0; border-top: 1px solid #dfe8e5; color: #75868c; font-size: 11px; }
.cart-total strong { color: var(--ink); font: 800 19px var(--font-display); }
.cart-empty { color: #75868c; font-size: 11px; line-height: 1.8; }
.cart-empty a, .text-link { color: var(--teal-dark); font-weight: 700; }
.cart-checkout { min-width: 0; }
.standalone-form-page { display: grid; grid-template-columns: 1fr .82fr; align-items: center; gap: clamp(35px, 7vw, 95px); padding-block: 86px 100px; }
.standalone-form-copy > .eyebrow { margin-bottom: 14px; }
.standalone-form-copy > p:not(.eyebrow) { max-width: 500px; margin: 18px 0; color: #71858c; font-size: 12px; line-height: 1.8; }
.contact-details { display: grid; gap: 11px; margin-top: 27px; }
.contact-details a { width: fit-content; color: #0c9099; font-size: 12px; font-weight: 700; }
.contact-map { display: grid; gap: 10px; max-width: 520px; margin-top: 27px; }
.contact-map h2 { margin: 0 0 5px; font: 800 21px var(--font-display); }
.contact-map a { color: #0c9099; font-size: 13px; font-weight: 700; }
.contact-map iframe { width: 100%; height: 250px; border: 1px solid #dce5e4; border-radius: 4px; box-shadow: 0 12px 32px #0d3b4b12; }
.standalone-form { width: 100%; }
.about-story { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 60px; padding-block: 85px; }
.about-story h2 { margin: 0; font: 800 clamp(30px, 4vw, 43px)/1.15 var(--font-display); letter-spacing: -1.5px; }
.about-story > div > p:last-child { margin-top: 17px; color: #71858c; font-size: 12px; line-height: 1.9; }
.about-story img { width: 100%; height: 350px; border-radius: 6px 50px 6px 6px; object-fit: cover; }
.about-pillars { padding-block: 70px; background: white; }
.about-cta, .membership-next { display: grid; justify-items: center; gap: 14px; padding-block: 55px; text-align: center; }
.about-cta p, .membership-next h2 { margin: 0; font: 800 25px var(--font-display); }
.membership-page-plus { display: grid; grid-template-columns: 1fr .65fr; align-items: center; gap: 50px; padding-block: 65px; }
.membership-page-plus h2 { margin: 0; font: 800 39px var(--font-display); }
.membership-page-plus > div:first-child > p:not(.eyebrow) { max-width: 530px; color: #71858c; font-size: 12px; line-height: 1.8; }
.membership-page-plus > div:first-child > strong, .membership-page-plus > div:first-child > small { display: block; }
.membership-page-plus > div:first-child > strong { margin-top: 22px; color: #118e98; font: 800 25px var(--font-display); }
.membership-page-plus > div:first-child > small { margin-top: 3px; color: #839197; font-size: 9px; }
.membership-page-plus .button { width: fit-content; margin-top: 21px; }
.membership-page-plus-art { width: 220px; height: 220px; position: relative; display: grid; place-content: center; justify-self: center; border: 1px solid #c2e8e4; border-radius: 50%; color: #fff; background: radial-gradient(circle at 32% 28%, #60d9c7, #0d6778 62%, #092d45); box-shadow: 0 18px 60px #0b788322, inset 0 0 0 10px #ffffff12; transform: rotate(-7deg); }
.membership-page-plus-art span { position: absolute; top: 20px; right: 25px; color: #baf8eb; font-size: 27px; }
.membership-page-plus-art b { font: 800 32px/.95 var(--font-display); letter-spacing: -1px; }
.membership-page-plus-art i { margin-top: 13px; color: #b8e5dd; font-size: 8px; font-style: normal; letter-spacing: 2px; }
.membership-page-plans { padding-block: 65px; }
.membership-next p { margin: 0; color: #72858d; font-size: 11px; }
.course-page-title { margin: 0; color: white; font: 800 clamp(37px, 5vw, 54px)/1.08 var(--font-display); letter-spacing: -2px; }
.course-page-title span, .course-page-note h2 span { color: #68ded0; }
.course-heading > div > p:last-child { color: #b9ccd0; }
.course-page-note { padding-block: 62px 78px; }
.course-page-note h2 { margin: 8px 0; font: 800 34px var(--font-display); letter-spacing: -1.4px; }
.course-page-note > p:not(.eyebrow) { color: #72858d; font-size: 11px; line-height: 1.8; }
.course-notice { min-height: 16px; margin: 12px 0 0; color: #b5d8d5; font-size: 10px; }
.admin-login-page { min-height: 100vh; background: radial-gradient(circle at 80% 18%, #d8f0eb, transparent 34%), #f6f9f8; }
.admin-login-main { width: min(660px, calc(100% - 36px)); padding-block: 55px 90px; margin: auto; }
.admin-auth-card { padding: clamp(23px, 5vw, 45px); border: 1px solid #e1eae8; background: white; box-shadow: 0 24px 80px #092d4514; }
.admin-auth-card > .eyebrow { margin: 0 0 18px; }
.admin-auth-card h1 { margin: 0; font: 800 clamp(34px, 6vw, 47px)/1.08 var(--font-display); letter-spacing: -2px; }
.admin-auth-card h1 span, .admin-dashboard-title h1 span { color: var(--teal-dark); }
.admin-intro { color: #70838a; font-size: 12px; line-height: 1.8; }
.admin-form { margin-top: 20px; }
.admin-form > label { margin: 5px 0 -4px; color: #506a73; font-size: 10px; font-weight: 700; }
.admin-form > input { min-height: 42px; font-size: 12px; }
.admin-security-note { margin: 3px 0 0; color: #72858d; font-size: 9px; line-height: 1.7; }
.admin-page-status { margin: 10px 0; color: #72858d; font-size: 11px; line-height: 1.7; }
.admin-enrollment { padding-top: 25px; margin-top: 25px; border-top: 1px solid #e7eeec; }
.admin-enrollment h2 { margin: 0; font: 800 20px var(--font-display); }
.admin-enrollment > p { color: #72858d; font-size: 10px; line-height: 1.7; }
.admin-enrollment > img { width: 220px; height: 220px; padding: 8px; margin: 15px auto; border: 1px solid #e2eae8; background: white; }
.admin-manual-key { overflow-wrap: anywhere; text-align: center; }
.admin-manual-key code { color: #0c7881; font-weight: 700; letter-spacing: .8px; }
.admin-dashboard-page { min-height: 100vh; background: #f3f7f6; }
.admin-dashboard-header { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 8px max(22px, calc((100vw - 1380px) / 2)); border-bottom: 1px solid #e2eae8; background: white; }
.admin-header-actions { display: flex; align-items: center; gap: 18px; color: #64777e; font-size: 10px; }
.admin-header-actions .button { min-height: 37px; font-size: 10px; }
.admin-dashboard-main { width: min(1380px, calc(100% - 44px)); padding-block: 48px 75px; margin: auto; }
.admin-dashboard-title { display: flex; justify-content: space-between; align-items: end; gap: 25px; }
.admin-dashboard-title .eyebrow { margin: 0 0 10px; }
.admin-dashboard-title h1 { margin: 0; font: 800 clamp(36px, 5vw, 49px)/1.08 var(--font-display); letter-spacing: -2px; }
.admin-dashboard-title > div > p:last-child { max-width: 680px; margin: 12px 0 0; color: #71858c; font-size: 11px; line-height: 1.7; }
.admin-dashboard-title .button { flex: 0 0 auto; }
.admin-dashboard-status { min-height: 18px; margin: 23px 0 13px; color: #698087; font-size: 10px; }
.admin-dashboard-status.is-error { color: #ae493f; }
.admin-stat-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.admin-stat-grid article { min-height: 95px; display: flex; flex-direction: column; justify-content: center; gap: 6px; padding: 17px; border: 1px solid #e2eae8; background: white; }
.admin-stat-grid strong { color: #118f98; font: 800 26px var(--font-display); }
.admin-stat-grid span { color: #6d8087; font-size: 9px; }
.admin-data-sections { display: grid; gap: 17px; margin-top: 25px; }
.admin-data-panel { min-width: 0; padding: 19px; border: 1px solid #e2eae8; background: white; }
.admin-data-panel h2 { margin: 0 0 14px; font: 800 17px var(--font-display); }
.admin-table-wrap { overflow-x: auto; }
.admin-data-panel table { width: 100%; border-collapse: collapse; font-size: 9px; text-align: left; }
.admin-data-panel th { padding: 10px; color: #5c737b; background: #f3f8f6; font-size: 8px; white-space: nowrap; }
.admin-data-panel td { max-width: 300px; padding: 10px; border-top: 1px solid #edf1ef; color: #50666e; line-height: 1.55; overflow-wrap: anywhere; vertical-align: top; }
.admin-data-panel td:first-child { min-width: 130px; white-space: nowrap; }
.admin-data-panel .admin-empty-cell { padding: 17px 10px; color: #89989d; text-align: center; }

@media (max-width: 780px) {
  .page-hero { padding: 75px 30px; }
  .page-hero h1 { font-size: clamp(38px, 8vw, 56px); }
  .account-page, .cart-page { padding-block: 50px 70px; }
  .account-auth-grid, .student-panel, .cart-layout, .standalone-form-page, .about-story, .membership-page-plus { grid-template-columns: 1fr; }
  .standalone-form-page { gap: 34px; padding-block: 60px 75px; }
  .about-story { gap: 30px; padding-block: 60px; }
  .about-story img { height: min(60vw, 350px); }
  .membership-page-plus { gap: 30px; }
  .membership-page-plus-art { grid-row: 1; width: 170px; height: 170px; justify-self: start; }
  .membership-page-plus-art b { font-size: 26px; }
  .membership-page-plans { padding: 55px 20px; }
  .admin-dashboard-title { align-items: flex-start; flex-direction: column; }
  .admin-dashboard-title .button { align-self: flex-start; }
}

@media (max-width: 520px) {
  .page-hero { padding: 62px 20px; }
  .page-hero h1 { letter-spacing: -1.8px; }
  .page-hero > p:not(.eyebrow) { font-size: 12px; }
  .account-heading h1, .standalone-form-copy h1 { letter-spacing: -1.5px; }
  .student-welcome, .student-membership, .cart-summary { padding: 20px; }
  .cart-item { grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
  .cart-item > b { grid-column: 2; grid-row: 1; }
  .cart-remove { grid-column: 1 / -1; justify-self: start; padding-left: 0; }
  .course-page-note h2 { font-size: 29px; }
  .admin-dashboard-header { padding-inline: 14px; }
  .admin-header-actions { gap: 8px; font-size: 8px; }
  .admin-dashboard-main { width: calc(100% - 28px); padding-block: 32px 55px; }
  .admin-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .admin-stat-grid article { min-height: 82px; padding: 12px; }
  .admin-stat-grid strong { font-size: 22px; }
  .admin-data-panel { padding: 13px; }
}

.newsletter { min-height: 0; display: block; padding-block: 58px; }
.newsletter-card { min-height: 276px; position: relative; isolation: isolate; overflow: hidden; display: grid; grid-template-columns: minmax(0, 1fr) minmax(330px, .9fr); align-items: center; gap: clamp(32px, 7vw, 92px); padding: clamp(32px, 5vw, 61px); border: 1px solid #dcebe7; border-radius: 8px; background: linear-gradient(112deg, #f0faf7 0%, #f7fbf9 48%, #e5f5f1 100%); box-shadow: 0 16px 44px #0b4c4410; }
.newsletter-card:after { content: ""; width: 300px; height: 300px; position: absolute; z-index: -1; top: -195px; right: 20%; border: 1px solid #48bdb227; border-radius: 50%; box-shadow: 0 0 0 28px #48bdb20d, 0 0 0 58px #48bdb209; }
.newsletter-copy { position: relative; }
.newsletter-icon { width: 42px; height: 42px; margin-bottom: 19px; border: 1px solid #bfe5dc; border-radius: 13px 4px 13px 4px; color: #087d7d; background: #d9f3eb; font-size: 18px; }
.newsletter .eyebrow { margin: 0 0 10px; color: #3a8582; font-size: 9px; letter-spacing: 1.05px; }
.newsletter h2 { font-size: clamp(28px, 3vw, 37px); line-height: 1.15; letter-spacing: -1.6px; }
.newsletter h2 span { color: #078d88; }
.newsletter-copy > p:not(.eyebrow) { max-width: 460px; margin: 12px 0 16px; color: #607c7d; font-size: 11px; line-height: 1.75; }
.newsletter-promise { display: inline-flex; align-items: center; gap: 7px; color: #63817f; font-size: 9px; }
.newsletter-promise > span { width: 17px; height: 17px; display: grid; place-items: center; border-radius: 50%; color: #117f71; background: #d4eee3; font-size: 10px; font-weight: 700; }
.newsletter-form { display: grid; align-content: center; gap: 11px; padding: 20px; border: 1px solid #dce9e5; border-radius: 6px; background: #ffffffd9; box-shadow: 0 9px 28px #123f3910; }
.newsletter-email-label { color: #365e61; font-size: 10px; font-weight: 700; }
.newsletter-input-row { display: flex; gap: 8px; }
.newsletter-form input:not([type="checkbox"]) { min-width: 0; height: 47px; padding-inline: 14px; border: 1px solid #d5e3df; border-radius: 4px; outline: 0; color: var(--ink); background: white; font-size: 11px; }
.newsletter-form input:not([type="checkbox"])::placeholder { color: #98a9a7; }
.newsletter-form input:not([type="checkbox"]):focus { border-color: #11a6a0; box-shadow: 0 0 0 3px #13b6bd1a; }
.newsletter-form .button { min-height: 47px; flex: 0 0 auto; padding-inline: 17px; border-radius: 4px; font-size: 10px; white-space: nowrap; }
.newsletter-form .location-choice { margin: 1px 0 0; color: #708481; font-size: 8px; }
.newsletter-form .form-message { position: static; top: auto; left: auto; min-height: 15px; margin: 0; color: #148c72; font-size: 10px; }
.newsletter-form .form-message:empty { display: none; }

@media (max-width: 780px) {
  .newsletter { padding-block: 44px; }
  .newsletter-card { grid-template-columns: 1fr; gap: 22px; padding: 30px; }
  .newsletter-copy { max-width: 560px; }
  .newsletter-icon { margin-bottom: 14px; }
  .newsletter h2 { font-size: 30px; }
}

@media (max-width: 520px) {
  .newsletter { padding-block: 34px; }
  .newsletter-card { gap: 20px; padding: 23px 18px; border-radius: 6px; }
  .newsletter h2 { font-size: 27px; letter-spacing: -1.2px; }
  .newsletter-copy > p:not(.eyebrow) { font-size: 10px; }
  .newsletter-form { gap: 9px; padding: 14px; }
  .newsletter-input-row { flex-direction: column; }
  .newsletter-form input:not([type="checkbox"]) { width: 100%; height: 44px; }
  .newsletter-form .button { width: 100%; min-height: 44px; }
}

body { font-size: 17px; }
.main-nav > a, .cart-link { font-size: 14px; }
.eyebrow { font-size: 11px; }
.page-hero > p:not(.eyebrow), .account-heading > p:last-child { font-size: 14px; }
.student-welcome > p:not(.eyebrow), .cart-item strong { font-size: 14px; }
.cart-item small, .cart-empty { font-size: 13px; }
.cart-item > b { font-size: 16px; }
.student-cart, .student-orders { padding: 27px; border: 1px solid #e1e9e7; background: white; box-shadow: 0 15px 45px #0d3b4b0b; }
.student-cart h3, .student-orders h3 { margin: 0 0 15px; font: 800 22px var(--font-display); }
.student-orders { grid-column: 1 / -1; min-width: 0; }
.student-order { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: start; gap: 14px; padding: 18px 0; border-top: 1px solid #e9efed; }
.student-order strong, .student-order small { display: block; }
.student-order strong { font-size: 15px; }
.student-order small, .student-order-course { margin: 5px 0 0; color: #61757e; font-size: 13px; line-height: 1.5; }
.student-order > b { color: #138f98; font-size: 16px; }
.student-order-status { padding: 5px 9px; border-radius: 20px; color: #5b6f76; background: #eef3f2; font-size: 12px; font-weight: 700; text-transform: capitalize; }
.student-order-status.status-paid { color: #176b4a; background: #e5f4eb; }
.student-order-status.status-failed, .student-order-status.status-cancelled { color: #923e38; background: #fae9e6; }
.student-order > a, .student-refund summary { color: var(--teal-dark); font-size: 14px; font-weight: 700; }
.student-order > .button { width: fit-content; min-height: 40px; font-size: 13px; }
.student-resume-message { grid-column: 1 / -1; margin: 0; }
.student-enrollment-confirmed { grid-column: 1 / -1; margin: 0; color: #176b4a; font-size: 14px; font-weight: 700; }
.student-course-access { width: fit-content; padding: 8px 12px; border: 1px solid #b9e1db; border-radius: 3px; background: #e9f8f5; }
.student-refund { grid-column: 1 / -1; margin-top: 6px; }
.student-refund summary { cursor: pointer; }
.student-refund-form { display: grid; max-width: 560px; gap: 12px; padding-top: 14px; }
.student-refund-form label { display: grid; gap: 6px; color: #506a73; font-size: 14px; font-weight: 700; }
.student-refund-form select, .student-refund-form textarea { width: 100%; min-height: 44px; padding: 9px 11px; border: 1px solid #dce5e4; color: var(--ink); background: white; font: inherit; font-weight: 400; }
.student-refund-form textarea { resize: vertical; }
.student-cart .button { font-size: 14px; }
.student-cart .form-message, .student-orders .form-message { font-size: 14px; }
.admin-data-panel table { font-size: 12px; }
.admin-data-panel th { font-size: 11px; }
.admin-data-panel td { font-size: 12px; }
.admin-status-save { min-height: 36px; padding: 7px 10px; font-size: 12px; }
.admin-data-panel select { min-height: 36px; padding: 6px; font: inherit; font-size: 12px; }
.contact-details address { margin-top: 12px; color: #607780; font-size: 14px; font-style: normal; line-height: 1.7; }

@media (max-width: 780px) {
  .student-cart, .student-orders, .student-security { grid-column: 1; grid-row: auto; }
  .student-cart, .student-orders, .student-security { padding: 20px; }
  .student-order { grid-template-columns: minmax(0, 1fr) auto; gap: 10px; }
  .student-order-status { grid-column: 1 / -1; justify-self: start; }
}
