/* Identidad compartida y acabados de las páginas públicas. */
.site-page { --color-blue-light: #afc6ff; --site-lilac: #c2acff; --site-mint: #a5e6d9; }
.site-page .gradient-text { background-image: linear-gradient(105deg, #a3d6ff, #c2a2f5 80%); }
.site-page .header { background: #080c15ec; border-bottom-color: #ffffff0e; }
.site-page .brand-dot { color: #b8a1fb; }
.site-page .nav { gap: 5px; }
.site-page .nav a { padding: 9px 11px; border-radius: 9px; font-size: 12px; }
.site-page .nav a:hover { background: #ffffff06; }
.site-page .nav a[aria-current="page"] { background: linear-gradient(120deg, #283047, #292239); box-shadow: inset 0 0 0 1px #c9b3ee16; }
.site-page .nav a[aria-current="page"]::after { display: none; }
.site-page .btn { border-radius: 11px; }
.site-page .btn-primary { background: linear-gradient(120deg, #5c7cf2, #7960d4); border-color: #bdadff26; box-shadow: 0 8px 26px #755ced20; }
.site-page .btn-primary:hover { background: linear-gradient(120deg, #6b8bff, #9276e9); }
.site-page .btn-purchase { background: linear-gradient(115deg, #397bec, #5e62d9); border-color: #8faffe80; box-shadow: 0 8px 28px #4d6bea32, inset 0 1px 0 #ffffff1c; }
.site-page .btn-purchase:hover { background: linear-gradient(115deg, #4e8df7, #7773ee); border-color: #c5caff; }
.site-page .btn-secondary { border-color: #ffffff22; background: #ffffff04; }
.site-page .btn-secondary:hover { background: #b6a5f00c; border-color: #b5a8df66; }
.site-page .tag { border-radius: 999px; background: #b6a3ee0b; border-color: #b6a3ee2e; color: #d4c6f2; padding: 7px 11px; font-size: 9px; }
.site-page .code-label { color: #aeb7cf; }
.site-page .icon-box { border-radius: 14px; color: #bac2ff; background: #a49aee0f; border-color: #b7b0ee25; }
.site-page .text-link { color: #c7b5f7; }
.site-page .text-link:hover { color: #fff; }
.site-page .section-muted { background: radial-gradient(ellipse at 0% 0%, #4868a30c, transparent 55%), #0b101a; border-color: #ffffff0b; }
.site-page .page-hero { background: radial-gradient(ellipse at 88% 25%, #7654a226, transparent 52%), radial-gradient(ellipse at 0 0, #3764ba15, transparent 60%); }
.site-page .page-hero .eyebrow { font-size: 10px; }
.site-page .cta { padding: 47px 48px; border: 1px solid #b7a3e937; border-radius: 27px; background: radial-gradient(ellipse at 100% 100%, #8c6cce35, transparent 60%), linear-gradient(115deg, #1a233d, #302443); }
.site-page .cta::after { border-color: #bbaaf216; box-shadow: 0 0 0 55px #bbaaf205, 0 0 0 110px #bbaaf203; }
.site-page .cta .eyebrow { color: #cbb7f4; }
.site-page .cta p { color: #c4c0d9; }
.site-page .cta .btn-white { color: #302141; background: #eee6ff; }
.site-page .cta .btn-white:hover { background: #fff; }
.site-page .cta-question { color: #d7caec; }
.site-page .footer { position: relative; background: linear-gradient(180deg, #0b0f19, #070b12); border-color: #ffffff0c; }
.site-page .footer::before { content: ''; position: absolute; top: -1px; left: 10%; right: 10%; height: 1px; background: linear-gradient(90deg, transparent, #a291cd50, #83aac337, transparent); }
.site-page .footer-links a { width: fit-content; }
.site-page .footer-links a:hover { color: #d7c4ff; }
.site-page .footer-bottom { border-top-color: #ffffff0e; }
.site-page .purchase-dock { background: #111727f5; border-top-color: #a18cde69; }
.site-page :focus-visible { outline-color: #c8b8ff; }

/* Tarjetas, preguntas y formularios. */
.site-page .feature-card,
.site-page .panel { border-radius: 23px; border-color: #ffffff12; background: linear-gradient(145deg, #151b2a, #0e141e); }
.site-page .feature-card { position: relative; padding: 32px; overflow: hidden; transition: transform 220ms, border-color 220ms; }
.site-page .feature-card::before { content: ''; position: absolute; top: -68px; right: -40px; width: 160px; height: 160px; border: 1px solid #b9b0e50d; border-radius: 50%; box-shadow: 0 0 0 25px #b9b0e504; pointer-events: none; }
.site-page .feature-card:hover { transform: translateY(-4px); border-color: #b1a1e357; }
.site-page .feature-card h3 { font-size: 23px; margin-top: 24px; }
.site-page .feature-card:nth-child(2) .icon-box { color: #dabaff; background: #cc94f00e; border-color: #bf91e128; }
.site-page .feature-card:nth-child(3) .icon-box { color: #a7e5d9; background: #85d8c90d; border-color: #91c6bf2a; }
.site-page .faq { display: grid; gap: 12px; max-width: 940px; }
.site-page .faq details { border: 1px solid #ffffff13; border-radius: 16px; padding: 0 23px; background: #111724; }
.site-page .faq details[open] { background: linear-gradient(120deg, #1a1b2d, #111724); border-color: #b4a0df39; }
.site-page .faq summary { padding-block: 22px; padding-right: 40px; font-size: 15px; line-height: 1.6; }
.site-page .faq summary::after { display: grid; place-items: center; width: 25px; height: 25px; right: 0; top: 22px; color: #cbb5f4; background: #bfa8ed0d; border-radius: 50%; font-size: 21px; line-height: 1; }
.site-page .faq details p { color: #b6bfd1; font-size: 13px; line-height: 1.85; }
.site-page .check-list li::before { color: #a6dbd7; }
.site-page .notice { border-left-color: #baa4e9; background: #b59add0b; color: #c5c0db; border-radius: 0 12px 12px 0; line-height: 1.8; }
.site-page .request-layout { gap: 65px; }
.site-page .form-two { align-items: start; }
.site-page .request-panel { border-radius: 25px; border-color: #c5ace432; background: radial-gradient(ellipse at 100% 0%, #6a45801c, transparent 58%), #111724; box-shadow: 0 22px 60px #0002; }
.request-panel-heading { padding-bottom: 25px; margin-bottom: 27px; border-bottom: 1px solid #ffffff10; }
.request-panel-heading > span { color: #c4abf2; font-size: 9px; letter-spacing: .15em; font-weight: 700; }
.request-panel-heading h3 { font-size: 27px; margin: 11px 0 9px; }
.request-panel-heading p { font-size: 12px; color: #aeb9ce; }
.site-page .field label { font-size: 12px; color: #e4e8f5; line-height: 1.6; }
.site-page .field input,
.site-page .field select,
.site-page .field textarea { border-radius: 11px; border-color: #a4abc029; background: #0b111c; font-size: 14px; }
.site-page .field input:focus,
.site-page .field select:focus,
.site-page .field textarea:focus { border-color: #b39beb; box-shadow: 0 0 0 3px #aa91eb18; }
.site-page .field-hint { color: #a1acc1; }
.site-page .consent { color: #b4bfd0; padding: 15px 16px; border-radius: 12px; border: 1px solid #ffffff0d; background: #ffffff02; }
.site-page .consent input { accent-color: #a492ec; }
.site-page .consent a { color: #d0bbfa; }
.site-page .request-email { color: #c7b3f5; }
.site-page .request-panel #requestSubmit { width: 100%; font-size: 13px; }
.site-page .request-panel .btn:disabled { background: #273248; box-shadow: none; color: #b1bdcf; }
.site-page .form-status:not(:empty) { padding: 14px 16px; border-radius: 12px; background: #8cbaed0b; border: 1px solid #8cbaed25; line-height: 1.8; }
.site-page .form-status.success { background: #78c8a50b; border-color: #9bd9bd30; }
.site-page .form-status.pending { background: #e5c0820b; border-color: #e5c08230; }
.site-page .form-status.error { background: #e79ba70b; border-color: #e79ba730; }
.request-steps { margin-top: 29px; padding-top: 24px; border-top: 1px solid #ffffff14; display: grid; gap: 18px; list-style: none; }
.request-steps li { display: flex; align-items: center; gap: 13px; color: #b5c1d3; font-size: 12px; }
.request-steps span { display: grid; place-items: center; width: 29px; height: 29px; border: 1px solid #a38ad632; border-radius: 9px; color: #c6b0f1; background: #ab93df08; font-size: 9px; flex-shrink: 0; }

/* Presentaciones visuales realizadas con elementos de la marca. */
.brand-hero-grid { display: grid; grid-template-columns: 1.12fr 1fr; align-items: center; gap: 70px; }
.site-page .brand-hero-grid h1 { font-size: clamp(43px, 4.6vw, 66px); }
.site-page .brand-hero-grid .lead { font-size: 16px; max-width: 540px; }
.brand-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 27px; }
.brand-art { position: relative; min-height: 360px; padding: 29px; border-radius: 27px; border: 1px solid #b39de345; background: radial-gradient(ellipse at 100% 100%, #79549c3b, transparent 75%), linear-gradient(145deg, #20263c, #211c32); box-shadow: 0 25px 60px #0005; transform: rotate(-4deg); overflow: hidden; }
.brand-art::before { content: ''; position: absolute; inset: 0; background-image: linear-gradient(#ffffff03 1px, transparent 1px), linear-gradient(90deg, #ffffff03 1px, transparent 1px); background-size: 30px 30px; pointer-events: none; }
.brand-art > * { position: relative; }
.brand-art-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; font-size: 11px; font-weight: 700; color: #ece7f9; }
.brand-art-head > span:first-child { display: flex; align-items: center; gap: 8px; }
.brand-art-head img { width: 26px; height: 26px; border-radius: 7px; }
.brand-art-label { color: #c1b3dd; font-size: 8px; letter-spacing: .1em; font-weight: 400; }
.brand-art-words { margin-top: 25px; color: #f7f4ff; font-weight: 700; font-size: 35px; line-height: 1.12; letter-spacing: -.04em; }
.brand-art-words span { color: #bcadf6; }
.brand-art-foot { margin-top: 25px; padding-top: 18px; border-top: 1px solid #ffffff17; color: #c4bcd6; font-size: 11px; }
.brand-mentor-pair { display: flex; align-items: center; gap: 20px; margin: 30px 0 5px; }
.brand-mentor-pair span { display: grid; place-items: center; width: 85px; height: 85px; border-radius: 24px; border: 1px solid #cfa9f658; background: linear-gradient(145deg, #795095, #403355); color: #e7cfff; font-size: 43px; font-weight: 700; transform: rotate(-6deg); }
.brand-mentor-pair span:last-child { color: #c7efed; border-color: #9acbc85e; background: linear-gradient(145deg, #39696e, #293a54); transform: rotate(8deg); }
.brand-mentor-pair b { font-size: 26px; color: #bda7d2; font-weight: 400; }
.brand-art--stories { background: radial-gradient(ellipse at 90% 100%, #7171a53b, transparent 70%), linear-gradient(145deg, #23253e, #131d30); }
.brand-art-play { display: grid; place-items: center; width: 65px; height: 65px; margin-top: 27px; border: 1px solid #d2beff5d; border-radius: 21px; background: #b99bef19; color: #d8c4ff; font-size: 24px; padding-left: 3px; transform: rotate(7deg); }
.brand-art--stories .brand-art-words { font-size: 31px; margin-top: 24px; }
.brand-art--contact { min-height: 365px; background: radial-gradient(ellipse at 0% 100%, #4e989128, transparent 65%), linear-gradient(145deg, #1d2836, #212034); }
.brand-question-mark { position: absolute; font-size: 225px; line-height: 1; font-weight: 700; color: #ad9fe014; right: 20px; top: 65px; transform: rotate(12deg); }
.brand-art--contact .brand-art-words { margin-top: 50px; font-size: 39px; }
.brand-contact-methods { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
.brand-contact-methods span { color: #b7ddda; border: 1px solid #9cd9cc25; background: #9cd9cc08; padding: 7px 10px; border-radius: 999px; font-size: 9px; }

/* Inicio. */
.home-page .hero::before { background: radial-gradient(ellipse at 86% 25%, #62418b2f, transparent 57%), radial-gradient(ellipse at 0 0, #2c63c31e, transparent 45%); }
.home-page .hero-copy h1 { font-size: clamp(46px, 4.4vw, 64px); }
.home-page .orbit { border-color: #ac8ede26; box-shadow: 0 0 0 45px #9372d307, 0 0 0 90px #9372d304; }
.home-page .orbit::before,
.home-page .orbit::after { background: #c2a0f6; box-shadow: 0 0 17px #c2a0f688; }
.home-page .hub { width: 306px; height: 306px; display: flex; flex-direction: column; align-items: start; justify-content: center; padding: 32px; border-radius: 29px; border-color: #b496de62; background: linear-gradient(145deg, #29304b, #221b37); }
.home-page .hub .hub-brand { display: flex; gap: 9px; align-items: center; font-size: 12px; font-weight: 700; color: #f5efff; }
.home-page .hub img { width: 27px; height: 27px; transform: none; border-radius: 7px; }
.hub-words { margin-top: 25px; font-size: 36px; font-weight: 900; line-height: 1.04; letter-spacing: -.05em; color: #fff; }
.hub-words span { color: #c0abfc; }
.hub-caption { margin-top: 23px; padding-top: 17px; border-top: 1px solid #ffffff1a; color: #c5bbd7; font-size: 10px; width: 100%; }
.home-page .float-card { min-width: 207px; border-radius: 17px; border-color: #b3a5de30; background: linear-gradient(130deg, #1d2336, #171d2b); }
.home-page .float-training { top: 13px; right: 3px; transform: rotate(5deg); }
.home-page .float-community { top: auto; bottom: 10px; left: -5px; transform: rotate(-5deg); border-color: #8cdac132; }
.home-page .float-community .icon-box { color: #ade2d4; background: #93d6c412; border-color: #93d6c428; }
.home-page .float-mentors { bottom: 10px; right: 12px; transform: rotate(4deg); }
.home-page .float-card:hover { border-color: #b7a3e77d; }
.home-page .visual-caption { color: #a198b5; bottom: -20px; }
.home-page .pillar-strip { border-color: #ffffff0e; background: #0f1420; }
.home-page .pillar .icon { color: #bbacf1; }
.home-page .curriculum-preview { border-radius: 25px; border-color: #b39ee633; background: radial-gradient(ellipse at 100% 0%, #6743881e, transparent 70%), #131a29; }
.home-page .curriculum-head { border-color: #ffffff10; }
.home-page .curriculum-item { border-color: #ffffff10; padding-block: 22px; }
.home-page .curriculum-number { border-radius: 10px; color: #cbb6f9; border-color: #b49ddc35; background: #b49ddc0e; }
.home-page .curriculum-item:nth-child(3) .curriculum-number { color: #a6e0d5; border-color: #a6e0d530; background: #a6e0d50a; }
.home-page .home-origin { position: relative; overflow: hidden; border-radius: 27px; border-color: #bd9cdd3d; background: radial-gradient(ellipse at 100% 100%, #6566a544, transparent 60%), linear-gradient(140deg, #2c2440, #172c3b); }
.home-page .home-origin::before { content: ''; position: absolute; width: 270px; height: 270px; border: 1px solid #ccb5ed1c; border-radius: 50%; right: -95px; top: -85px; box-shadow: 0 0 0 30px #ccb5ed06, 0 0 0 60px #ccb5ed03; }
.home-page .home-origin > * { position: relative; }
.home-page .home-origin em { color: #c3a1ec; }
.home-page .community-notes { gap: 14px; }
.home-page .community-note { padding: 23px; border: 1px solid #ffffff10; border-radius: 18px; background: #141a27; gap: 17px; }
.home-page .community-note .note-index { flex-shrink: 0; padding: 8px; border: 1px solid #b59edb24; border-radius: 10px; color: #c5abea; background: #b59edb09; height: fit-content; }
.home-page .community-note h3 { font-size: 19px; }
.home-page .outcome-card { border-radius: 24px; border-color: #ffffff18; background: #131a28; }
.home-page .outcome-visual { border-color: #ffffff12; background: radial-gradient(ellipse at 0 0, #68749b4f, transparent 70%), #1b2237; }
.home-page .outcome-card:nth-child(2) .outcome-visual { background: radial-gradient(ellipse at 0 0, #8564ae53, transparent 70%), #231d38; }
.home-page .outcome-card:nth-child(3) .outcome-visual { background: radial-gradient(ellipse at 0 0, #538d884f, transparent 70%), #172831; }
.home-page .outcome-index { color: #c4acf3; }
.home-page .outcome-pill { border-color: #ffffff11; color: #c1b8d9; }

/* Curso. */
.course-page .course-summary-card { border-radius: 26px; background: radial-gradient(ellipse at 100% 100%, #8c60ae39, transparent 70%), linear-gradient(145deg, #242a44, #191d31); border-color: #b296d74a; transform: rotate(-3deg); }
.course-page .summary-number { color: #dfccff; font-size: 116px; }
.course-page .summary-stages > span { color: #cdc6df; }
.course-page .summary-stages b { color: #c1abf7; }
.course-page .summary-card-bottom { border-color: #ffffff16; color: #c4b5de; }
.course-summary-action { margin-top: 23px; }
.course-summary-action .btn { width: 100%; min-height: 48px; font-size: 12px; }
.course-page .module-card { --tile-color: #6583d8; --tile-text: #b6caff; border-radius: 22px; border-color: #ffffff15; background: #111724; transition: transform 200ms, border-color 200ms; }
.course-page .module-card:nth-child(3n+2) { --tile-color: #8c63b3; --tile-text: #d3b3f5; }
.course-page .module-card:nth-child(3n) { --tile-color: #4c928a; --tile-text: #a3e4d5; }
.course-page .module-card:hover { transform: translateY(-3px); border-color: #c3b2e350; }
.course-page .module-cover { height: 158px; background: radial-gradient(ellipse at 100% 100%, color-mix(in srgb, var(--tile-color) 32%, transparent), transparent 75%), #191e2f; border-color: #ffffff10; }
.course-page .module-cover::before { width: 210px; height: 210px; border-radius: 50%; border: 1px solid #ffffff09; background: transparent; top: -128px; left: -37px; box-shadow: 0 0 0 26px #ffffff03, 0 0 0 52px #ffffff02; transform: none; }
.course-page .module-cover::after { width: 210px; height: 210px; border: 1px solid #ffffff0b; background: transparent; border-radius: 50%; right: -128px; bottom: -110px; box-shadow: 0 0 0 23px #ffffff03; transform: none; }
.course-page .cover-word { color: var(--tile-text); font-size: 9px; letter-spacing: .15em; }
.course-page .cover-number { color: #f3efff; font-size: 61px; text-shadow: none; }
.course-page .cover-special { color: var(--tile-text); font-size: 28px; }
.course-page .module-cover .icon { color: var(--tile-text); }
.course-page .module-card-content { padding: 25px; }
.course-page .module-card summary { color: #c5b2f4; border-top: 1px solid #ffffff10; padding-top: 16px; line-height: 1.6; }
.course-page .module-card details p { color: #b8c1d2; }
.course-page .learning-route { gap: 18px; }
.course-page .route-step { border: 1px solid #b7a4e924; border-radius: 20px; padding: 25px; background: #131927; }
.course-page .route-step > span { font-size: 30px; color: #c2abf3; }
.course-page .route-step:nth-child(even) > span { color: #a8dcce; }
.course-page .route-step h3 { font-size: 21px; }
.course-page .learner-fit-card { border-radius: 23px; border-color: #b5a2e82a; background: radial-gradient(ellipse at 100% 0%, #7156921b, transparent 65%), #131927; }
.course-page .learner-fit-card:nth-child(2) { background: radial-gradient(ellipse at 100% 0%, #4e8e811b, transparent 65%), #121b24; }
.course-page .payment-section { background: radial-gradient(ellipse at 95% 0%, #765b9e1f, transparent 60%), #0e1220; border-color: #ffffff12; }
.course-page .enrollment-card { border-radius: 26px; border-color: #b0a0e74d; background: linear-gradient(145deg, #29233e, #192336); box-shadow: 0 25px 55px #0003; }
.course-page .enrollment-reminder { border-color: #ffffff13; }
.course-page .enrollment-reminder > span { color: #c2a6f3; }

/* Mentores y resultados. */
.mentors-page .origin-art { min-height: 320px; border-radius: 26px; border-color: #baa2df3c; background: radial-gradient(ellipse at 100% 0%, #5c82a33a, transparent 70%), linear-gradient(140deg, #2b2340, #162939); }
.mentors-page .story-chapters { gap: 22px; }
.mentors-page .story-chapter { border: 1px solid #ffffff12; border-radius: 23px; padding: 30px; background: #131927; }
.mentors-page .chapter-num { color: #ccb5f5; font-size: 10px; }
.mentors-page .story-chapter:nth-child(2) .chapter-num { color: #a6d9d2; }
.mentors-page .story-chapter h3 { font-size: 26px; }
.story-decision { position: relative; border: 1px solid #b199d534; border-radius: 26px; padding: 40px; background: radial-gradient(ellipse at 0 0, #7b529525, transparent 75%), #151b28; overflow: hidden; }
.story-decision > span { display: block; color: #bc9fea; font-size: 10px; letter-spacing: .14em; }
.story-decision blockquote { font-size: 45px; font-weight: 700; letter-spacing: -.045em; line-height: 1.1; margin: 35px 0 25px; }
.story-decision p { font-size: 12px; border-top: 1px solid #ffffff11; padding-top: 20px; }
.mentors-page .story-manifesto { background: radial-gradient(ellipse at 50% 50%, #68498332, transparent 70%), #121525; border-color: #b8a0e01f; }
.mentors-page .founder-card { padding: 34px; border-radius: 25px; border-color: #c6a8e32e; background: radial-gradient(ellipse at 100% 0%, #8b509729, transparent 60%), #141928; }
.mentors-page .founder-card:nth-child(2) { border-color: #9ab6d32e; background: radial-gradient(ellipse at 100% 0%, #488d8e29, transparent 60%), #121c27; }
.mentors-page .founder-avatar { width: 72px; height: 72px; border-radius: 22px; color: #e6c9ff; background: linear-gradient(135deg, #684182, #2d2e47); border-color: #cca4ec40; }
.mentors-page .founder-card:nth-child(2) .founder-avatar { color: #c1eeeb; background: linear-gradient(135deg, #31616b, #29344d); border-color: #9dd7d438; }
.mentors-page .founder-socials a { border-radius: 11px; border-color: #b395d931; color: #d9c7f1; background: #b89ddb06; }
.mentors-page .founder-socials a:first-child { color: #ecc6e1; border-color: #d08fc335; }
.mentors-page .founder-socials a:hover { background: #c6a0e513; }
.site-page .student-results-section { background: radial-gradient(ellipse at 95% 0%, #6c4c951b, transparent 60%), #0c111c; border-color: #ffffff10; }
.site-page .student-results-badge { color: #cbb9ef; border-color: #b59add39; background: #b59add0b; }
.site-page .student-results-badge::before { background: #c1a3ef; }
.site-page .student-result-card { border-radius: 23px; border-color: #ffffff16; background: #141a29; }
.site-page .student-result-poster { aspect-ratio: 4 / 3.6; border-color: #ffffff10; background: radial-gradient(ellipse at 95% 100%, #8865b038, transparent 70%), #22253c; }
.site-page .student-result-card:nth-child(3n+2) .student-result-poster { background: radial-gradient(ellipse at 10% 100%, #548a8638, transparent 70%), #182b33; }
.site-page .student-result-card:nth-child(3n+3) .student-result-poster { background: radial-gradient(ellipse at 90% 100%, #5b74a53d, transparent 70%), #1c263d; }
.site-page .student-result-poster::before { border-color: #c1b1e01e; border-radius: 13px; }
.site-page .student-result-label { color: #bea7ef; }
.site-page .student-result-play { color: #d5befc; background: #9d80ca16; border-color: #c0a6ea54; }
.site-page .student-result-watch .student-result-play { color: #fff; background: #7659b9b3; }
.site-page .student-result-watch:hover .student-result-play { background: #9373d8; }
.site-page .student-result-state { color: #c4c4df; }
.site-page .student-result-vertical { color: #aaacc9; }
.site-page .student-result-copy p { color: #adb9cd; }
.site-page .student-video-dialog { border-radius: 23px; border-color: #baa2e348; background: #151a28; }
.site-page .student-video-close { color: #d8c7fb; border-color: #ba9ae646; background: #ad8ae313; }

/* Información y recuperación de navegación. */
.legal-page .page-hero { padding-block: 68px 48px; }
.legal-page .page-hero h1 { font-size: clamp(36px, 4vw, 56px); max-width: 900px; }
.legal-page .page-hero .lead { font-size: 16px; max-width: 730px; }
.legal-layout { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 35px; align-items: start; }
.legal-menu { padding: 25px; border: 1px solid #ffffff13; border-radius: 21px; background: #111725; }
.legal-menu h2 { font-size: 10px; letter-spacing: .12em; color: #beaadf; margin-bottom: 18px; }
.legal-menu nav { display: grid; gap: 6px; }
.legal-menu nav a { padding: 11px 12px; font-size: 12px; color: #aebbd0; border-radius: 10px; }
.legal-menu nav a:hover { background: #c4a9ec08; color: #fff; }
.legal-menu nav a[aria-current="page"] { background: #c4a9ec12; color: #e0cafb; box-shadow: inset 0 0 0 1px #c4a9ec20; }
.legal-menu > a { margin-top: 24px; padding-top: 21px; border-top: 1px solid #ffffff10; font-size: 11px; color: #c6b1ec; display: block; }
.legal-document { max-width: none; padding: 34px 38px; border: 1px solid #ffffff13; border-radius: 24px; background: #111723; }
.legal-document h2 { margin: 32px 0 16px; font-size: 24px; }
.legal-document h2:first-child { margin-top: 0; }
.legal-document p { font-size: 14px; line-height: 1.9; color: #b6c0d2; }
.legal-document a { color: #ccb6fa; text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.legal-document .btn { text-decoration: none; }
.notfound-page .empty-state { min-height: 70vh; padding: 74px 0; background: radial-gradient(ellipse at 50% 30%, #7054962b, transparent 60%); }
.notfound-page .empty-state .code { font-size: 130px; background: linear-gradient(110deg, #9bcfff, #c399f1); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.notfound-page .empty-state h1 { font-size: 43px; }
.notfound-page .empty-state .button-row { justify-content: center; }

@media (max-width: 1100px) {
  .brand-hero-grid { gap: 40px; }
  .brand-art { padding: 26px; min-height: 345px; }
  .brand-art-words { font-size: 30px; }
  .home-page .hub { width: 270px; height: 290px; padding: 28px; }
  .hub-words { font-size: 32px; }
  .home-page .float-card { min-width: 180px; }
  .home-page .float-training { right: 0; }
  .home-page .float-community { left: 0; }
  .site-page .feature-card { padding: 27px; }
  .course-page .summary-number { font-size: 103px; }
  .course-page .route-step { padding: 22px; }
  .course-page .route-step h3 { font-size: 20px; }
  .mentors-page .story-chapter { padding: 26px; }
  .mentors-page .story-chapter h3 { font-size: 24px; }
  .legal-layout { grid-template-columns: 220px minmax(0, 1fr); gap: 25px; }
  .legal-document { padding: 30px; }
}

@media (max-width: 900px) {
  .site-page .nav { gap: 5px; }
  .site-page .nav a { font-size: 15px; padding: 12px; }
  .brand-hero-grid { grid-template-columns: 1fr; gap: 45px; }
  .site-page .brand-hero-grid h1 { font-size: 58px; }
  .brand-art { max-width: 470px; width: 100%; min-height: 355px; justify-self: center; }
  .brand-art-words { font-size: 35px; }
  .home-page .hero-copy h1 { font-size: 64px; }
  .home-page .float-training { right: 12px; }
  .home-page .float-community { left: 12px; }
  .home-page .float-mentors { right: 22px; }
  .site-page .request-layout { grid-template-columns: 1fr; gap: 34px; }
  .site-page .cta { padding: 38px; }
  .mentors-page .story-chapters { grid-template-columns: 1fr; }
  .legal-layout { grid-template-columns: 1fr; gap: 22px; }
  .legal-menu nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .legal-menu > a { margin-top: 16px; padding-top: 17px; }
}

@media (max-width: 600px) {
  .site-page .page-hero h1 { font-size: clamp(38px, 10.5vw, 48px); }
  .site-page .page-hero .eyebrow { font-size: 9px; letter-spacing: .13em; line-height: 1.7; }
  .site-page .page-hero .lead { font-size: 15px; }
  .site-page .brand-hero-grid h1 { font-size: clamp(39px, 10.7vw, 49px); }
  .brand-art { min-height: 325px; padding: 25px; border-radius: 24px; max-width: 340px; }
  .brand-art-head { gap: 13px; }
  .brand-art-label { font-size: 7px; }
  .brand-art-words { font-size: 29px; }
  .brand-mentor-pair { gap: 16px; margin-top: 26px; }
  .brand-mentor-pair span { width: 72px; height: 72px; border-radius: 20px; font-size: 36px; }
  .brand-art--stories .brand-art-words { font-size: 28px; }
  .brand-art--contact .brand-art-words { font-size: 33px; margin-top: 39px; }
  .brand-art-foot { font-size: 10px; }
  .brand-hero-actions .btn { font-size: 12px; padding: 13px 17px; }
  .home-page .hero-copy h1 { font-size: clamp(39px, 10.6vw, 49px); }
  .home-page .hero-copy .btn { font-size: 12px; }
  .home-page .ecosystem { min-height: 465px; }
  .home-page .hub { width: 255px; height: 285px; padding: 25px; align-self: start; margin-top: 65px; }
  .hub-words { font-size: 31px; }
  .home-page .float-card { min-width: 163px; border-radius: 14px; }
  .home-page .float-training { right: 0; top: 0; }
  .home-page .float-community { left: 0; top: 333px; bottom: auto; }
  .home-page .float-mentors { right: 0; bottom: 6px; }
  .home-page .visual-caption { bottom: -16px; font-size: 8px; }
  .home-page .orbit { width: 270px; height: 270px; box-shadow: 0 0 0 28px #9372d307, 0 0 0 56px #9372d304; }
  .site-page .feature-card { padding: 27px; }
  .site-page .feature-card h3 { font-size: 23px; }
  .site-page .cta { padding: 30px 26px; border-radius: 23px; flex-direction: column; align-items: start; }
  .site-page .faq details { padding-inline: 19px; }
  .site-page .faq summary { font-size: 13px; padding-block: 20px; }
  .site-page .faq summary::after { top: 20px; }
  .site-page .faq details p { font-size: 12px; }
  .site-page .request-panel { padding: 24px; border-radius: 22px; }
  .request-panel-heading h3 { font-size: 25px; }
  .site-page .form-two { grid-template-columns: 1fr; }
  .site-page .consent { font-size: 11px; padding: 13px; }
  .site-page .field input,
  .site-page .field textarea,
  .site-page .field select { font-size: 16px; }
  .course-page .summary-number { font-size: 103px; }
  .course-page .summary-number > span { font-size: 15px; }
  .course-page .course-summary-card { max-width: 390px; justify-self: center; padding: 25px; }
  .course-page .learning-route { gap: 16px; }
  .course-page .route-step { padding: 22px; }
  .course-page .route-step h3 { margin: 19px 0 13px; font-size: 19px; }
  .course-page .module-card-content { padding: 24px; }
  .mentors-page .founder-card { padding: 26px; }
  .mentors-page .founder-card .eyebrow { font-size: 8px; letter-spacing: .1em; }
  .mentors-page .founder-card-head { gap: 15px; }
  .mentors-page .founder-avatar { width: 60px; height: 60px; border-radius: 18px; }
  .story-decision { padding: 30px; }
  .story-decision blockquote { font-size: 36px; margin-top: 28px; }
  .site-page .student-result-poster { aspect-ratio: 4 / 3.5; }
  .legal-page .page-hero { padding: 52px 0 38px; }
  .legal-page .page-hero h1 { font-size: 37px; overflow-wrap: anywhere; }
  .legal-document { padding: 25px; border-radius: 21px; }
  .legal-document h2 { font-size: 23px; }
  .legal-document p { font-size: 13px; }
  .legal-menu { padding: 22px; }
  .legal-menu nav a { font-size: 11px; padding-inline: 10px; }
  .notfound-page .empty-state h1 { font-size: 35px; }
  .notfound-page .empty-state .code { font-size: 115px; }
}

@media (max-width: 380px) {
  .home-page .hub { width: 225px; height: 272px; padding: 23px; }
  .hub-words { font-size: 28px; }
  .course-page .learning-route { grid-template-columns: 1fr; }
  .brand-art { padding: 23px; }
  .brand-art-words { font-size: 27px; }
  .brand-art--contact .brand-art-words { font-size: 30px; }
  .brand-art--stories .brand-art-words { font-size: 26px; }
}
