/* Extracted from index.html, modulo-1.html and modulo-3.html. */

/* Index */
body.page-index {
				--ink: #101828;
				--muted: #475467;
				--bg: #FDFDFD;
				--surface: #ffffff;
				--line: #d0d5dd;
				--focus: #101828;/*#ffdd00;*/
				--brand: #7A1F56;
				--brand-dark: #4f1137; 
				--brand-soft: #F4EDF1;
				--accent: #e86d2f;
				--radius: 28px;
				--shadow: 0 20px 55px rgba(16, 24, 40, .14);
			}

			body.page-index * {
				box-sizing: border-box;
			}

			html {
				scroll-behavior: smooth;
			}

			html,
			body.page-index {
				max-width: 100%;
				overflow-x: hidden;
			}

			body.page-index img,
			body.page-index svg {
				max-width: 100%;
			}

			body.page-index {
				margin: 0;
				font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
				color: var(--ink);
				background: var(--bg);
				line-height: 1.55;
				font-size: 18px;
			}

			body.page-index a {
				color: inherit;
				text-underline-offset: .18em;
			}

			body.page-index a:hover {
				text-decoration-thickness: 3px;
			}

			body.page-index :focus-visible {
				outline: 4px solid var(--focus);
				outline-offset: 4px;
			}

			body.page-index .skip {
				position: absolute;
				left: 1rem;
				top: 1rem;
				background: #000;
				color: #fff;
				padding: .75rem 1rem;
				z-index: 20;
				transform: translateY(-150%);
			}

			body.page-index .skip:focus {
				transform: none;
			}

			body.page-index .sr-only {
				position: absolute;
				width: 1px;
				height: 1px;
				padding: 0;
				margin: -1px;
				overflow: hidden;
				clip: rect(0, 0, 0, 0);
				white-space: nowrap;
				border: 0;
			}

			body.page-index .wrap {
				width: min(1160px, calc(100% - 32px));
				margin-inline: auto;
			}

			body.page-index .topbar {
				padding: 20px 0;
				background: #fff;
				border-bottom: 1px solid rgba(16, 24, 40, .08);
			}

			body.page-index .nav {
				display: flex;
				gap: 16px;
				align-items: flex-start;
				justify-content: flex-start;
				flex-direction: column;
			}

			body.page-index .nav > nav {
				width: 100%;
			}

			body.page-index .logo {
				display: inline-flex;
				align-items: center;
				gap: 16px;
				font-size: clamp(1.25rem, 1.5vw, 1.75rem);
				line-height: 1.1;
				font-weight: 900;
				text-decoration: none;
			}

			body.page-index .header-icon {
				display: inline-grid;
				place-items: center;
				width: 58px;
				height: 58px;
				border-radius: 12px;
				background: var(--brand);
				color: #fff;
				margin-right: 0;
				vertical-align: middle;
				flex: 0 0 58px;
				object-fit: cover;
			}

			body.page-index .logo-text {
				display: flex;
				flex-direction: column;
				min-width: 0;
			}

			body.page-index .logo-title,
			body.page-index .logo-subline {
				display: block;
				min-width: 0;
			}

			body.page-index .logo-title {
				font-size: 1em;
			}

			body.page-index .logo-subline {
				font-size: .88em;
				font-weight: 800;
				color: var(--muted);
			}

			body.page-index .menu {
				display: flex;
				gap: clamp(14px, 1.7vw, 26px);
				align-items: center;
				justify-content: flex-start;
				margin: 0;
				padding: 0;
				list-style: none;
				flex-wrap: wrap;
			}

			body.page-index .menu a {
				font-size: clamp(.95rem, 1vw, 1.05rem);
				line-height: 1.1;
				text-decoration: none;
				font-weight: 900;
			}

			body.page-index .menu a:hover {
				text-decoration: underline;
			}

			body.page-index .modules-menu {
				position: relative;
			}

			body.page-index .modules-menu summary {
				display: inline-flex;
				align-items: center;
				gap: .35rem;
				font-size: clamp(.95rem, 1vw, 1.05rem);
				line-height: 1.1;
				font-weight: 900;
				cursor: pointer;
				list-style: none;
			}

			body.page-index .modules-menu summary::-webkit-details-marker {
				display: none;
			}

			body.page-index .modules-menu summary::after {
				content: "";
				width: .45rem;
				height: .45rem;
				border-right: 2px solid currentColor;
				border-bottom: 2px solid currentColor;
				rotate: 45deg;
				translate: 0 -.12rem;
			}

			body.page-index .modules-menu[open] summary::after {
				rotate: 225deg;
				translate: 0 .12rem;
			}

			body.page-index .modules-dropdown {
				position: absolute;
				top: calc(100% + 12px);
				left: 0;
				z-index: 30;
				display: grid;
				gap: 6px;
				width: min(320px, calc(100vw - 32px));
				margin: 0;
				padding: 10px;
				list-style: none;
				border: 1px solid var(--line);
				border-radius: 18px;
				background: #fff;
				box-shadow: 0 18px 42px rgba(16, 24, 40, .14);
			}

			body.page-index .modules-dropdown a {
				display: block;
				padding: .8rem .9rem;
				border-radius: 12px;
				color: var(--brand);
			}

			body.page-index .modules-dropdown a:hover {
				background: var(--brand-soft);
			}

			body.page-index .btn {
				display: inline-flex;
				align-items: center;
				justify-content: center;
				gap: .5rem;
				border-radius: 999px;
				border: 3px solid transparent;
				padding: .9rem 1.45rem;
				font-weight: 900;
				text-decoration: none;
				min-height: 54px;
			}

			body.page-index .btn-primary {
				background: var(--brand);
				color: #fff;
			}

			body.page-index .btn-alt {
				background: #fff;
				color: var(--brand);
				border-color: var(--brand);
			}
			body.page-index .hero {
				padding: 34px 0 64px;
				background: linear-gradient(135deg, #fff 0%, #FDFDFD 45%, #f6eaf2 100%);
			}

			body.page-index .hero-panel {
				background: #fff;
				border: 1px solid rgba(16, 24, 40, .08);
				border-radius: 32px;
				box-shadow: var(--shadow);
				overflow: hidden;
			}

			body.page-index .hero-main {
				display: grid;
				grid-template-columns: minmax(0, 1.15fr) minmax(260px, .85fr);
				gap: 18px 36px;
				align-items: center;
				padding: 54px;
			}

			body.page-index .hero-title-block {
				min-width: 0;
			}

			body.page-index .hero-copy {
				grid-column: 1 / -1;
				max-width: 980px;
				padding-top: 4px;
			}

			body.page-index .eyebrow {
				color: var(--brand);
				font-weight: 850;
				text-transform: uppercase;
				letter-spacing: .08em;
				font-size: .82rem;
				margin: 0 0 12px;
			}

			body.page-index .h1 {
				font-size: clamp(2.5rem, 6vw, 5rem);
				line-height: .96;
				margin: .3rem 0 1rem;
				letter-spacing: -.06em;
				color: var(--brand);
			}

			body.page-index .lead {
				font-size: clamp(1.1rem, 2vw, 1.35rem);
				max-width: 78ch;
				color: var(--muted);
			}

			body.page-index .hero-copy .lead {
				margin: 0 0 .65rem;
			}

			body.page-index .actions {
				display: flex;
				flex-wrap: wrap;
				gap: 12px;
				margin-top: 26px;
			}

			body.page-index .hero-visual {
				min-height: 360px;
				position: relative;
				display: grid;
				place-items: center;
			}

			body.page-index .hero-icon-image {
				display: block;
				width: min(420px, 100%);
				height: auto;
				border-radius: 28px;
			}

			body.page-index .hero-portrait {
				width: min(380px, 82%);
				aspect-ratio: 1;
				border-radius: 50%;
				background: linear-gradient(145deg, #f7b5d9 0%, #7A1F56 60%, #4f1137 100%);
				position: relative;
				box-shadow: inset 0 0 0 16px rgba(255, 255, 255, .72);
			}

			body.page-index .hero-portrait::before {
				content: "";
				position: absolute;
				inset: 22% 28% auto;
				aspect-ratio: 1;
				border-radius: 50%;
				background: #fff;
			}

			body.page-index .hero-portrait::after {
				content: "";
				position: absolute;
				left: 24%;
				right: 24%;
				bottom: 18%;
				height: 35%;
				border-radius: 48% 48% 20% 20%;
				background: #fff;
			}

			body.page-index .bubble {
				position: absolute;
				border-radius: 999px;
				background: #fff;
				border: 2px solid #101828;
				box-shadow: 0 8px 0 rgba(0, 0, 0, .08);
			}

			body.page-index .b1 {
				width: 96px;
				height: 48px;
				top: 8%;
				left: 10%;
			}

			body.page-index .b2 {
				width: 82px;
				height: 82px;
				bottom: 8%;
				left: 10%;
				background: #f2d44e;
			}

			body.page-index .b3 {
				width: 68px;
				height: 68px;
				right: 8%;
				top: 14%;
				background: #7A1F56;
			}

			body.page-index .b4 {
				width: 56px;
				height: 56px;
				right: 12%;
				bottom: 14%;
				background: #e86d2f;
			}

			body.page-index .hero-info-band {
				background: var(--brand);
				border-radius: 32px 32px 0 0;
				margin: 0;
				padding: 24px 28px;
				color: #fff;
			}

			body.page-index .hero-info-band h2 {
				font-size: 1.1rem;
				margin: 0 0 16px;
				color: #fff;
			}

			body.page-index .hero-facts {
				display: grid;
				grid-template-columns: repeat(4, 1fr);
				gap: 14px;
				margin: 0;
				padding: 0;
				list-style: none;
			}

			body.page-index .hero-facts li {
				background: #fff;
				color: var(--ink);
				border-radius: 18px;
				padding: 16px;
				min-height: 112px;
				border: 1px solid rgba(255, 255, 255, .35);
			}

			body.page-index .hero-facts strong {
				display: block;
				font-size: 1.35rem;
				line-height: 1.1;
				color: var(--brand);
			}

			body.page-index .hero-facts span {
				display: block;
				margin-top: 8px;
				color: var(--muted);
				font-size: .95rem;
			}

			body.page-index .section {
				padding: 64px 0;
				background: var(--bg);
			}

			body.page-index .section h2 {
				font-size: clamp(2rem, 3.6vw, 3.5rem);
				line-height: 1;
				margin: 0 0 18px;
				letter-spacing: -.04em;
			}

			body.page-index .grid-2 {
				display: grid;
				grid-template-columns: 1fr 1fr;
				gap: 26px;
			}

			body.page-index .cards {
				display: grid;
				grid-template-columns: repeat(4, 1fr);
				gap: 16px;
				align-items: stretch;
			}

			body.page-index .module {
				min-height: 310px;
				border-radius: 24px;
				background: #fff;
				border: 1px solid rgba(16, 24, 40, .12);
				box-shadow: 0 12px 30px rgba(16, 24, 40, .08);
				overflow: hidden;
				display: flex;
				flex-direction: column;
			}

			body.page-index .module-color-m1 {
				--c: #1E71B9;
			}

			body.page-index .module-color-m2 {
				--c: #A35D20;
			}

			body.page-index .module-color-m3 {
				--c: #154B5E;
			}

			body.page-index .module-color-m4 {
				--c: #3C7F24;
			}

			body.page-index .module-color-m5 {
				--c: #AE0000;
			}

			body.page-index .module-featured {
				grid-column: 1 / -1;
				min-height: 0;
			}

			body.page-index .module header {
				padding: 18px;
				color: #fff;
				background: var(--c);
			}

			body.page-index .module h3 {
				margin: 0;
				font-size: 1.35rem;
				line-height: 1.15;
			}

			body.page-index .ects {
				display: inline-block;
				margin-top: 10px;
				padding: .2rem .6rem;
				border-radius: 999px;
				background: rgba(255, 255, 255, .18);
				font-weight: 800;
			}

			body.page-index .module p {
				padding: 18px;
				margin: 0;
				color: #344054;
			}

			body.page-index .module-link {
				display: inline-flex;
				align-items: center;
				justify-content: center;
				align-self: flex-start;
				margin: auto 18px 18px;
				min-height: 46px;
				padding: .65rem 1rem;
				border: 2px solid var(--c);
				border-radius: 999px;
				color: var(--c);
				background: #fff;
				font-weight: 900;
				text-decoration: none;
			}

			body.page-index .module-link:hover {
				background: var(--c);
				color: #fff;
			}

			body.page-index .pathways {
				display: grid;
				grid-template-columns: minmax(0, 1.08fr) minmax(320px, .92fr);
				gap: 26px;
				align-items: start;
				margin-top: 32px;
			}

			body.page-index .pathway {
				position: relative;
				overflow: hidden;
				background: #fff;
				border: 1px solid rgba(16, 24, 40, .12);
				border-radius: 18px;
				box-shadow: 0 18px 42px rgba(16, 24, 40, .08);
				padding: 30px;
			}

			body.page-index .pathway::before {
				content: "";
				position: absolute;
				inset: 0 0 auto;
				height: 7px;
				background: var(--brand);
			}

			body.page-index .pathway-head {
				display: grid;
				grid-template-columns: 1fr auto;
				gap: 8px 14px;
				align-items: center;
				margin-bottom: 16px;
			}

			body.page-index .pathway h3 {
				grid-column: 1 / -1;
				margin: 0;
				font-size: clamp(1.45rem, 2vw, 2.1rem);
				line-height: 1.12;
			}

			body.page-index .pathway-kicker,
			body.page-index .pathway-tag {
				display: inline-flex;
				align-items: center;
				min-height: 30px;
				width: fit-content;
				border-radius: 999px;
				font-size: .78rem;
				font-weight: 950;
				letter-spacing: .08em;
				line-height: 1;
				text-transform: uppercase;
			}

			body.page-index .pathway-kicker {
				color: var(--brand);
			}

			body.page-index .pathway-tag {
				justify-self: end;
				padding: .35rem .7rem;
				background: var(--brand);
				color: #fff;
			}

			body.page-index .pathway p {
				color: #344054;
			}

			body.page-index .pathway ul {
				margin: 16px 0 0;
				padding-left: 1.2rem;
				color: #344054;
			}

			body.page-index .pathway li + li {
				margin-top: .35rem;
			}

			body.page-index .pathway-price {
				display: grid;
				gap: 8px;
				margin: 24px 0;
				padding: 22px;
				border-radius: 16px;
				background: #F8FAFC;
				border: 1px solid rgba(16, 24, 40, .12);
				box-shadow: 0 10px 24px rgba(16, 24, 40, .06);
			}

			body.page-index .pathway-price span {
				color: #475467;
				font-size: .82rem;
				font-weight: 900;
				letter-spacing: .08em;
				text-transform: uppercase;
			}

			body.page-index .pathway-price strong {
				color: var(--ink);
				font-size: clamp(2.6rem, 5vw, 3.7rem);
				line-height: 1;
			}

			body.page-index .pathway-price p {
				margin: 0;
				color: #344054;
				font-weight: 700;
			}

			body.page-index .pathway-includes {
				margin: 24px 0;
			}

			body.page-index .pathway-includes > p {
				margin: 0 0 12px;
				font-weight: 900;
			}

			body.page-index .pathway .pathway-modules {
				display: grid;
				grid-template-columns: repeat(2, minmax(0, 1fr));
				gap: 10px;
				margin: 0;
				padding: 0;
				list-style: none;
			}

			body.page-index .pathway .pathway-module {
				display: flex;
				align-items: center;
				min-height: 68px;
				margin: 0;
				padding: 14px;
				border: 1px solid rgba(122, 31, 86, .16);
				border-radius: 14px;
				background: #FCFAFC;
				color: #344054;
				font-weight: 900;
			}

			body.page-index .pathway .pathway-module-featured {
				grid-column: 1 / -1;
				min-height: 76px;
				background: #fff;
				border-color: rgba(16, 24, 40, .16);
				color: #344054;
				font-size: 1.12rem;
			}

			body.page-index .pathway-actions {
				display: flex;
				gap: 12px;
				flex-wrap: wrap;
				margin-top: 22px;
			}

			body.page-index .feature-block {
				background: var(--brand-soft);
				border-radius: var(--radius);
				padding: 42px;
				border: 1px solid rgba(122, 31, 86, .16);
				box-shadow: 0 18px 45px rgba(122, 31, 86, .10);
			}

			body.page-index .feature-layout {
				display: grid;
				grid-template-columns: .95fr 1.05fr;
				gap: 42px;
				align-items: center;
			}

			body.page-index .feature-copy {
				display: grid;
				gap: 22px;
			}

			body.page-index .feature-item {
				display: grid;
				grid-template-columns: 72px 1fr;
				gap: 20px;
				align-items: start;
			}

			body.page-index .feature-icon {
				width: 64px;
				height: 64px;
				border-radius: 18px;
				background: #fff;
				color: var(--brand);
				display: grid;
				place-items: center;
				border: 2px solid rgba(122, 31, 86, .24);
				box-shadow: 0 10px 24px rgba(122, 31, 86, .10);
			}

			body.page-index .feature-item h3 {
				margin: 0;
				font-size: 1.35rem;
				line-height: 1.2;
			}

			body.page-index .feature-item p {
				margin: .35rem 0 0;
				color: #344054;
			}

			body.page-index .feature-visual {
				background: #fff;
				border-radius: 32px;
				min-height: 420px;
				display: grid;
				place-items: center;
				overflow: hidden;
				border: 1px solid rgba(122, 31, 86, .12);
			}

			body.page-index .professional-svg {
				width: min(520px, 100%);
				height: auto;
				display: block;
			}

			body.page-index .method-section {
				background: linear-gradient(135deg, #fff 0%, var(--brand-soft) 100%);
			}

			body.page-index .method-intro {
				text-align: left;
				max-width: 880px;
				margin: 0 0 34px;
			}

			body.page-index .method-grid {
				display: grid;
				grid-template-columns: repeat(4, 1fr);
				gap: 22px;
			}

			body.page-index .method-card {
				background: #fff;
				border: 1px solid rgba(122, 31, 86, .12);
				border-radius: 26px;
				min-height: 220px;
				padding: 26px;
				text-align: center;
				box-shadow: 0 18px 42px rgba(16, 24, 40, .08);
				display: flex;
				flex-direction: column;
				align-items: center;
				justify-content: flex-start;
			}

			body.page-index .method-card svg {
				width: 64px;
				height: 64px;
				margin-bottom: 18px;
				color: var(--brand);
			}

			body.page-index .method-card h3 {
				font-size: 1.25rem;
				line-height: 1.2;
				margin: 0 0 10px;
			}

			body.page-index .method-card p {
				font-size: 1rem;
				margin: 0;
				color: var(--muted);
			}

			body.page-index .teachers {
				display: grid;
				grid-template-columns: repeat(5, 1fr);
				gap: 18px;
				align-items: stretch;
			}

			body.page-index .teacher {
				background: #fff;
				border: 1px solid rgba(122, 31, 86, .16);
				border-radius: 26px;
				padding: 0;
				overflow: hidden;
				box-shadow: 0 18px 42px rgba(16, 24, 40, .08);
				display: flex;
				flex-direction: column;
				min-height: 340px;
			}

			body.page-index .teacher-media {
				background: linear-gradient(135deg, #F4EDF1 0%, #fff 100%);
				padding: 0;
				aspect-ratio: 4 / 3;
				min-height: 0;
				display: block;
				overflow: hidden;
			}

			body.page-index .teacher-photo {
				display: block;
				width: 100%;
				height: 100%;
				object-fit: cover;
				object-position: center 18%;
			}

			body.page-index .teacher-svg {
				width: 100%;
				max-width: 180px;
				height: auto;
				display: block;
			}

			body.page-index .teacher-body {
				padding: 20px;
				display: flex;
				flex-direction: column;
				gap: 8px;
				flex: 1;
			}

			body.page-index .teacher-badges {
				display: flex;
				flex-wrap: wrap;
				gap: .45rem;
				align-items: center;
			}

			body.page-index .teacher-badge {
				display: inline-flex;
				align-self: flex-start;
				border-radius: 999px;
				background: var(--brand-soft);
				color: var(--brand);
				font-size: .78rem;
				font-weight: 900;
				padding: .35rem .65rem;
			}

			body.page-index .teacher h3 {
				font-size: 1.05rem;
				line-height: 1.2;
				margin: .1rem 0;
				color: var(--ink);
			}

			body.page-index .teacher p {
				font-size: .94rem;
				margin: 0;
				color: var(--muted);
			}

			body.page-index .teacher small {
				display: block;
				margin-top: auto;
				color: #667085;
			}

			body.page-index .teacher.is-coordinator {
				border: 2px solid var(--brand);
			}

			body.page-index .teacher.is-coordinator .teacher-media {
				background: linear-gradient(135deg, #F4EDF1 0%, #f7d7e8 100%);
			}

			body.page-index .contact {
				background: #fff;
				border-radius: var(--radius);
				box-shadow: var(--shadow);
				padding: 32px;
				border: 1px solid var(--line);
			}

			body.page-index .contact-layout {
				display: grid;
				grid-template-columns: 1.25fr .75fr;
				gap: 28px;
				align-items: center;
			}

			body.page-index .contact-action {
				display: flex;
				justify-content: center;
			}

			body.page-index .contact-action .btn {
				width: min(100%, 320px);
			}

			body.page-index .faq-list {
				display: grid;
				gap: 14px;
				margin-top: 28px;
			}

			body.page-index .faq-item {
				border: 1px solid var(--line);
				background: #fff;
				border-radius: 20px;
				box-shadow: 0 10px 25px rgba(16, 24, 40, .06);
				overflow: hidden;
			}

			body.page-index .faq-item summary {
				cursor: pointer;
				list-style: none;
				padding: 22px 72px 22px 24px;
				font-weight: 900;
				font-size: 1.12rem;
				position: relative;
			}

			body.page-index .faq-item summary::-webkit-details-marker {
				display: none;
			}

			body.page-index .faq-item summary:focus-visible {
				outline: 4px solid var(--focus);
				outline-offset: -4px;
			}

			body.page-index .faq-icon {
				position: absolute;
				right: 20px;
				top: 50%;
				translate: 0 -50%;
				inline-size: 44px;
				block-size: 44px;
				border-radius: 50%;
				background: var(--brand);
			}

			body.page-index .faq-icon::before,
			body.page-index .faq-icon::after {
				content: "";
				position: absolute;
				background: #fff;
				inline-size: 16px;
				block-size: 3px;
				top: 21px;
				left: 14px;
				border-radius: 3px;
			}

			body.page-index .faq-icon::after {
				rotate: 90deg;
			}

			body.page-index .faq-item[open] .faq-icon::after {
				display: none;
			}

			body.page-index .faq-answer {
				padding: 0 24px 22px;
				color: var(--muted);
				max-width: 74ch;
			}

			body.page-index .faq-answer p {
				margin: 0;
			}

			body.page-index footer {
				padding: 34px 0;
				background: #101828;
				color: #fff;
			}

			body.page-index .footer-logo {
				display: block;
				max-width: 170px;
				height: auto;
				margin: 0 0 18px;
			}


			@media (max-width: 1400px) {
				body.page-index .wrap {
					width: min(1160px, calc(100% - 32px));
				}

				body.page-index .nav {
					gap: 20px;
				}

				body.page-index .logo {
					font-size: 1.25rem;
				}

				body.page-index .header-icon {
					width: 48px;
					height: 48px;
					flex-basis: 48px;
				}

				body.page-index .menu {
					gap: 18px;
				}

				body.page-index .menu a {
					font-size: 1rem;
				}
}

			@media (prefers-reduced-motion: reduce) {
				html {
					scroll-behavior: auto;
				}

				body.page-index *,
				body.page-index *::before,
				body.page-index *::after {
					animation-duration: .001ms !important;
					animation-iteration-count: 1 !important;
					transition-duration: .001ms !important;
				}
			}

			@media (max-width: 900px) {
				body.page-index .wrap {
					width: min(100% - 40px, 1160px);
				}

				body.page-index .topbar {
					padding: 14px 0;
				}

				body.page-index .nav {
					align-items: flex-start;
					flex-direction: column;
					gap: 14px;
				}

				body.page-index .logo {
					display: inline-flex;
					align-items: center;
					line-height: 1.25;
				}

				body.page-index .logo-text {
					row-gap: 2px;
				}

				body.page-index .menu {
					gap: 16px;
				}

				body.page-index .menu a {
					font-size: 1rem;
				}

				body.page-index .hero {
					padding: 22px 0 44px;
				}

				body.page-index .hero-main,
				body.page-index .grid-2,
				body.page-index .feature-layout,
				body.page-index .pathways,
				body.page-index .contact-layout {
					grid-template-columns: 1fr;
				}

				body.page-index .hero-copy {
					grid-column: auto;
					max-width: none;
				}

				body.page-index .contact-action {
					justify-content: flex-start;
				}

				body.page-index .hero-main {
					padding: 34px 28px 28px;
					gap: 24px;
				}

				body.page-index .hero-visual {
					min-height: auto;
					padding-top: 10px;
				}

				body.page-index .hero-icon-image {
					width: min(360px, 100%);
				}

				body.page-index .hero-facts,
				body.page-index .cards,
				body.page-index .teachers,
				body.page-index .method-grid {
					grid-template-columns: 1fr 1fr;
				}

				body.page-index .feature-block {
					padding: 32px;
				}

				body.page-index .h1 {
					font-size: clamp(2.35rem, 9vw, 3.25rem);
				}
			}

			@media (max-width: 620px) {
				body.page-index .wrap {
					width: min(100% - 28px, 1160px);
				}

				body.page-index .hero-facts,
				body.page-index .pathways,
				body.page-index .cards,
				body.page-index .teachers,
				body.page-index .method-grid {
					grid-template-columns: 1fr;
				}

				body.page-index .module {
					min-height: auto;
				}

				body.page-index .section {
					padding: 48px 0;
				}

				body.page-index .hero {
					padding-top: 14px;
				}

				body.page-index .modules-menu {
					width: 100%;
				}

				body.page-index .modules-dropdown {
					position: static;
					width: 100%;
					margin-top: 10px;
				}

				body.page-index .hero-panel,
				body.page-index .feature-block,
				body.page-index .contact {
					border-radius: 22px;
				}

				body.page-index .hero-main {
					padding: 28px 22px 24px;
				}

				body.page-index .hero-info-band {
					padding: 22px;
					border-radius: 22px 22px 0 0;
				}

				body.page-index .hero-facts li {
					min-height: auto;
				}

				body.page-index .feature-block {
					padding: 24px;
				}

				body.page-index .feature-item {
					grid-template-columns: 1fr;
					gap: 14px;
				}

				body.page-index .feature-icon {
					width: 56px;
					height: 56px;
				}

				body.page-index .method-card,
				body.page-index .module,
				body.page-index .teacher,
				body.page-index .faq-item {
					border-radius: 20px;
				}

				body.page-index .actions {
					gap: 10px;
				}

				body.page-index .actions .btn,
				body.page-index .contact .btn {
					width: 100%;
				}
			}

			@media (max-width: 480px) {
				body.page-index {
					font-size: 16px;
				}

				body.page-index .wrap {
					width: min(100% - 24px, 1160px);
				}

				body.page-index .btn {
					width: 100%;
				}

				body.page-index .header-icon {
					width: 34px;
					height: 34px;
					flex: 0 0 auto;
				}

				body.page-index .hero-main {
					padding: 24px 18px 22px;
				}

				body.page-index .hero-info-band {
					padding: 18px;
				}

				body.page-index .hero-icon-image {
					width: min(300px, 100%);
					border-radius: 20px;
				}

				body.page-index .section {
					padding: 40px 0;
				}

				body.page-index .section h2 {
					font-size: clamp(1.85rem, 10vw, 2.35rem);
				}

				body.page-index .lead {
					font-size: 1.05rem;
				}

				body.page-index .module p,
				body.page-index .teacher-body,
				body.page-index .method-card,
				body.page-index .contact,
				body.page-index .faq-answer {
					padding-inline: 18px;
				}

				body.page-index .faq-item summary {
					padding: 18px 64px 18px 18px;
				}

				body.page-index .faq-icon {
					right: 14px;
				}

				body.page-index .teacher {
					min-height: auto;
				}
			}
			@media (max-width: 390px) {
				body.page-index * {
					min-width: 0;
				}

				body.page-index {
					font-size: 16px;
					line-height: 1.58;
				}

				body.page-index .wrap {
					width: calc(100% - 24px);
				}

				body.page-index .topbar {
					padding: 12px 0;
				}

				body.page-index .nav {
					gap: 12px;
					align-items: flex-start;
				}

				body.page-index .logo {
					display: flex;
					align-items: center;
					gap: .45rem;
					max-width: 100%;
					font-size: .95rem;
					line-height: 1.25;
				}

				body.page-index .header-icon {
					width: 32px;
					height: 32px;
					margin-right: 0;
					flex: 0 0 32px;
				}

				body.page-index .btn {
					width: 100%;
					min-height: 50px;
				}

				body.page-index .menu a {
					font-size: 1rem;
				}

				body.page-index .hero {
					padding: 12px 0 36px;
				}

				body.page-index .hero-panel {
					border-radius: 20px;
				}

				body.page-index .hero-main {
					padding: 22px 16px 20px;
					gap: 18px;
				}

				body.page-index .eyebrow {
					font-size: .72rem;
					line-height: 1.3;
					letter-spacing: .06em;
					margin-bottom: 10px;
				}

				body.page-index .h1 {
					font-size: clamp(2.05rem, 12.5vw, 2.65rem);
					line-height: 1;
					letter-spacing: -.045em;
					margin-bottom: .85rem;
				}

				body.page-index .lead {
					font-size: 1rem;
					line-height: 1.55;
				}

				body.page-index .actions {
					margin-top: 20px;
					gap: 10px;
				}

				body.page-index .hero-visual {
					min-height: auto;
					padding: 4px 0 0;
				}

				body.page-index .hero-icon-image {
					width: min(285px, 100%);
					height: auto;
					border-radius: 18px;
				}

				body.page-index .hero-info-band {
					padding: 18px 16px;
					border-radius: 20px 20px 0 0;
				}

				body.page-index .hero-info-band h2 {
					font-size: 1rem;
					line-height: 1.25;
					margin-bottom: 14px;
				}

				body.page-index .hero-facts {
					grid-template-columns: 1fr;
					gap: 10px;
				}

				body.page-index .hero-facts li {
					min-height: auto;
					padding: 14px;
					border-radius: 14px;
				}

				body.page-index .section {
					padding: 36px 0;
				}

				body.page-index .section h2 {
					font-size: clamp(1.8rem, 10vw, 2.25rem);
					line-height: 1.05;
					letter-spacing: -.035em;
					margin-bottom: 16px;
				}

				body.page-index .feature-block {
					padding: 20px 16px;
					border-radius: 20px;
				}

				body.page-index .feature-layout,
				body.page-index .feature-copy {
					gap: 18px;
				}

				body.page-index .feature-item {
					grid-template-columns: 1fr;
					gap: 12px;
				}

				body.page-index .feature-icon {
					width: 52px;
					height: 52px;
					border-radius: 14px;
				}

				body.page-index .feature-item h3 {
					font-size: 1.18rem;
				}

				body.page-index .feature-item p {
					font-size: .98rem;
				}

				body.page-index .feature-visual {
					min-height: auto;
					border-radius: 20px;
					padding: 10px;
				}

				body.page-index .cards,
				body.page-index .method-grid,
				body.page-index .teachers {
					grid-template-columns: 1fr;
					gap: 14px;
				}

				body.page-index .module,
				body.page-index .method-card,
				body.page-index .teacher,
				body.page-index .faq-item {
					border-radius: 20px;
				}

				body.page-index .module {
					min-height: auto;
				}

				body.page-index .module header,
				body.page-index .module p {
					padding: 16px;
				}

				body.page-index .module h3 {
					font-size: 1.2rem;
				}

				body.page-index .method-intro {
					margin-bottom: 22px;
				}

				body.page-index .method-card {
					min-height: auto;
					padding: 20px 16px;
				}

				body.page-index .method-card svg {
					width: 54px;
					height: 54px;
					margin-bottom: 14px;
				}

				body.page-index .teacher {
					min-height: auto;
				}

				body.page-index .teacher-media {
					aspect-ratio: 1 / 1;
					min-height: 170px;
					max-height: 200px;
					padding: 8px;
					border-radius: 24px 24px 0 0;
				}

				body.page-index .teacher-photo {
					width: 100%;
					height: 100%;
					object-fit: contain;
					object-position: center center;
				}

				body.page-index .teacher-body {
					padding: 18px;
					gap: 9px;
				}

				body.page-index .teacher h3 {
					font-size: 1.12rem;
				}

				body.page-index .teacher p,
				body.page-index .teacher small {
					font-size: .95rem;
				}

				body.page-index .teacher-badge {
					font-size: .75rem;
				}

				body.page-index .faq-list {
					gap: 12px;
					margin-top: 20px;
				}

				body.page-index .faq-item summary {
					padding: 16px 58px 16px 16px;
					font-size: 1rem;
					line-height: 1.35;
				}

				body.page-index .faq-icon {
					right: 12px;
					inline-size: 40px;
					block-size: 40px;
				}

				body.page-index .faq-icon::before,
				body.page-index .faq-icon::after {
					top: 19px;
					left: 12px;
				}

				body.page-index .faq-answer {
					padding: 0 16px 18px;
					font-size: .98rem;
				}

				body.page-index .contact {
					padding: 22px 16px;
					border-radius: 20px;
				}

				body.page-index .pathway {
					padding: 22px 16px;
					border-radius: 20px;
				}

				body.page-index .pathway-actions .btn {
					width: 100%;
				}

				body.page-index .pathway .pathway-modules {
					grid-template-columns: 1fr;
				}

				body.page-index footer {
					padding: 30px 0;
				}

				body.page-index .footer-logo {
					max-width: 145px;
					margin-bottom: 16px;
				}
			}

			@media (max-width: 375px) {
				body.page-index .wrap {
					width: calc(100% - 22px);
				}

				body.page-index .hero-main {
					padding-inline: 15px;
				}

				body.page-index .teacher-media {
					min-height: 155px;
					max-height: 180px;
					padding: 8px;
					border-radius: 22px 22px 0 0;
				}

				body.page-index .teacher-photo {
					object-position: center center;
				}
			}


/* Modulo 1 */
body.page-module-1 {
				--ink: #101828;
				--muted: #475467;
				--bg: #FDFDFD;
				--surface: #ffffff;
				--line: #d0d5dd;
				--focus: #101828;
				--brand: #1E71B9;
				--brand-dark: #15568d;
				--brand-soft: #F5FAFE;
				--module: #1E71B9;
				--radius: 24px;
				--shadow: 0 20px 55px rgba(16, 24, 40, .14);
			}

			body.page-module-1 * {
				box-sizing: border-box;
			}

			html {
				scroll-behavior: smooth;
			}

			body.page-module-1 {
				margin: 0;
				font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
				color: var(--ink);
				background: var(--bg);
				line-height: 1.55;
				font-size: 18px;
			}

			body.page-module-1 a {
				color: inherit;
				text-underline-offset: .18em;
			}

			body.page-module-1 a:hover {
				text-decoration-thickness: 3px;
			}

			body.page-module-1 :focus-visible {
				outline: 4px solid var(--focus);
				outline-offset: 4px;
			}

			body.page-module-1 .skip {
				position: absolute;
				left: 1rem;
				top: 1rem;
				background: #000;
				color: #fff;
				padding: .75rem 1rem;
				z-index: 20;
				transform: translateY(-150%);
			}

			body.page-module-1 .skip:focus {
				transform: none;
			}

			body.page-module-1 .wrap {
				width: min(1160px, calc(100% - 32px));
				margin-inline: auto;
			}

			body.page-module-1 .topbar {
				padding: 20px 0;
				background: #fff;
				border-bottom: 1px solid rgba(16, 24, 40, .08);
			}

			body.page-module-1 .nav {
				display: flex;
				gap: 16px;
				align-items: flex-start;
				justify-content: flex-start;
				flex-direction: column;
			}

			body.page-module-1 .nav > nav {
				width: 100%;
			}

			body.page-module-1 .logo {
				display: inline-flex;
				align-items: center;
				gap: 16px;
				font-size: clamp(1.25rem, 1.5vw, 1.75rem);
				line-height: 1.1;
				font-weight: 900;
				text-decoration: none;
			}

			body.page-module-1 .header-icon {
				display: inline-grid;
				place-items: center;
				width: 58px;
				height: 58px;
				border-radius: 50%;
				background: var(--brand);
				color: #fff;
				flex: 0 0 58px;
				object-fit: cover;
			}

			body.page-module-1 .menu {
				display: flex;
				gap: clamp(14px, 1.7vw, 26px);
				align-items: center;
				justify-content: flex-start;
				margin: 0;
				padding: 0;
				list-style: none;
				flex-wrap: wrap;
			}

			body.page-module-1 .menu a {
				font-size: clamp(.95rem, 1vw, 1.05rem);
				line-height: 1.1;
				text-decoration: none;
				font-weight: 900;
			}

			body.page-module-1 .menu a:hover,
			body.page-module-1 .menu a[aria-current="page"] {
				text-decoration: underline;
			}

			body.page-module-1 .modules-menu {
				position: relative;
			}

			body.page-module-1 .modules-menu summary {
				display: inline-flex;
				align-items: center;
				gap: .35rem;
				font-size: clamp(.95rem, 1vw, 1.05rem);
				line-height: 1.1;
				font-weight: 900;
				cursor: pointer;
				list-style: none;
			}

			body.page-module-1 .modules-menu summary::-webkit-details-marker {
				display: none;
			}

			body.page-module-1 .modules-menu summary::after {
				content: "";
				width: .45rem;
				height: .45rem;
				border-right: 2px solid currentColor;
				border-bottom: 2px solid currentColor;
				rotate: 45deg;
				translate: 0 -.12rem;
			}

			body.page-module-1 .modules-menu[open] summary::after {
				rotate: 225deg;
				translate: 0 .12rem;
			}

			body.page-module-1 .modules-dropdown {
				position: absolute;
				top: calc(100% + 12px);
				left: 0;
				z-index: 30;
				display: grid;
				gap: 6px;
				width: min(320px, calc(100vw - 32px));
				margin: 0;
				padding: 10px;
				list-style: none;
				border: 1px solid var(--line);
				border-radius: 18px;
				background: #fff;
				box-shadow: 0 18px 42px rgba(16, 24, 40, .14);
			}

			body.page-module-1 .modules-dropdown a {
				display: block;
				padding: .8rem .9rem;
				border-radius: 12px;
				color: var(--brand);
			}

			body.page-module-1 .modules-dropdown a:hover,
			body.page-module-1 .modules-dropdown a[aria-current="page"] {
				background: var(--brand-soft);
			}

			body.page-module-1 .hero {
				padding: 48px 0 0;
				background: linear-gradient(135deg, #fff 0%, var(--brand-soft) 100%);
			}

			body.page-module-1 .breadcrumbs {
				padding: 22px 0 0;
				background: linear-gradient(135deg, #fff 0%, var(--brand-soft) 100%);
			}

			body.page-module-1 .breadcrumbs ol {
				display: flex;
				gap: .5rem;
				align-items: center;
				flex-wrap: wrap;
				margin: 0;
				padding: 0;
				list-style: none;
				color: var(--muted);
				font-size: .95rem;
				font-weight: 700;
			}

			body.page-module-1 .breadcrumbs li + li::before {
				content: "/";
				margin-right: .5rem;
				color: #667085;
			}

			body.page-module-1 .breadcrumbs a {
				color: var(--brand);
				font-weight: 900;
			}

			body.page-module-1 .hero-panel {
				background: #fff;
				border: 1px solid rgba(16, 24, 40, .08);
				border-radius: 32px 32px 0 0;
				box-shadow: var(--shadow);
				overflow: hidden;
			}

			body.page-module-1 .hero-main {
				display: grid;
				grid-template-columns: 1.15fr .85fr;
				gap: 32px;
				align-items: center;
				padding: 54px;
			}

			body.page-module-1 h1,
			body.page-module-1 h2,
			body.page-module-1 h3 {
				letter-spacing: 0;
			}

			body.page-module-1 h1 {
				font-size: clamp(2.8rem, 6vw, 5.4rem);
				line-height: .95;
				margin: 0 0 18px;
				max-width: 980px;
			}

			body.page-module-1 .lead {
				font-size: clamp(1.15rem, 2vw, 1.45rem);
				color: var(--muted);
				max-width: 820px;
				margin: 0 0 18px;
			}

			body.page-module-1 .hero-card {
				background: var(--module);
				color: #fff;
				border-radius: var(--radius);
				padding: 28px;
			}

			body.page-module-1 .hero-card h2 {
				font-size: 1.45rem;
				line-height: 1.15;
				margin: 0 0 18px;
			}

			body.page-module-1 .hero-card dl {
				display: grid;
				gap: 14px;
				margin: 0;
			}

			body.page-module-1 .hero-card dt {
				font-size: .84rem;
				font-weight: 900;
				text-transform: uppercase;
				letter-spacing: .08em;
				opacity: .85;
			}

			body.page-module-1 .hero-card dd {
				margin: 2px 0 0;
				font-weight: 800;
			}

			body.page-module-1 .actions {
				display: flex;
				gap: 12px;
				flex-wrap: wrap;
				margin-top: 26px;
			}

			body.page-module-1 .btn {
				display: inline-flex;
				align-items: center;
				justify-content: center;
				min-height: 54px;
				padding: .9rem 1.45rem;
				border: 3px solid var(--brand);
				border-radius: 999px;
				background: var(--brand);
				color: #fff;
				font-weight: 900;
				text-decoration: none;
			}

			body.page-module-1 .btn-alt {
				background: #fff;
				color: var(--brand);
			}

			body.page-module-1 .section {
				padding: 58px 0;
			}

			body.page-module-1 .section h2 {
				font-size: clamp(2rem, 3.4vw, 3.35rem);
				line-height: 1;
				margin: 0 0 18px;
			}

			body.page-module-1 .content-grid {
				display: grid;
				grid-template-columns: minmax(0, 1fr) 320px;
				gap: 26px;
				align-items: start;
			}

			body.page-module-1 .panel {
				background: #fff;
				border: 1px solid var(--line);
				border-radius: var(--radius);
				box-shadow: 0 12px 30px rgba(16, 24, 40, .08);
				padding: 30px;
			}

			body.page-module-1 .panel + .panel {
				margin-top: 18px;
			}

			body.page-module-1 .panel p {
				color: #344054;
				max-width: 78ch;
			}

			body.page-module-1 .callout {
				border-left: 7px solid var(--module);
				background: #F5FAFE;
				padding: 18px 20px;
				margin-top: 22px;
				border-radius: 0 16px 16px 0;
			}

			body.page-module-1 .callout p {
				margin: 0;
			}

			body.page-module-1 .check-list {
				display: grid;
				gap: 12px;
				padding-left: 1.3rem;
				margin: 18px 0 0;
			}

			body.page-module-1 .method-steps {
				display: grid;
				gap: 1rem;
				margin-top: 1.5rem;
			}

			body.page-module-1 .method-steps article {
				padding: 1.25rem;
				border: 1px solid #dedede;
				border-radius: 1rem;
				background: #fff;
				text-align: left;
			}

			body.page-module-1 .method-steps h3 {
				margin: 0;
				font-size: 1.05rem;
			}

			body.page-module-1 .method-steps p {
				margin: 0.25rem 0 0;
				color: #555;
			}

			@media (min-width: 760px) {
				body.page-module-1 .method-steps {
					grid-template-columns: 1fr;
				}
			}

			body.page-module-1 .learning-grid {
				display: grid;
				grid-template-columns: repeat(2, minmax(0, 1fr));
				gap: 14px;
				margin-top: 20px;
			}

			body.page-module-1 .learning-grid article {
				border: 1px solid var(--line);
				border-radius: 18px;
				background: #fff;
				padding: 20px;
				box-shadow: 0 8px 24px rgba(16, 24, 40, .06);
			}

			body.page-module-1 .learning-grid strong {
				display: block;
				color: #1E71B9;
				font-size: 1.08rem;
				line-height: 1.2;
				margin-bottom: .45rem;
			}

			body.page-module-1 .learning-grid p {
				margin: 0;
				color: var(--muted);
			}

			body.page-module-1 .dedication-grid {
				display: grid;
				grid-template-columns: repeat(3, minmax(0, 1fr));
				gap: 14px;
				margin-top: 20px;
			}

			body.page-module-1 .dedication-item {
				border: 1px solid var(--line);
				border-radius: 18px;
				background: #fff;
				padding: 20px;
				box-shadow: 0 8px 24px rgba(16, 24, 40, .06);
			}

			body.page-module-1 .dedication-item span {
				display: block;
				color: var(--muted);
				font-size: .84rem;
				font-weight: 900;
				text-transform: uppercase;
				letter-spacing: .06em;
				margin-bottom: .35rem;
			}

			body.page-module-1 .dedication-item strong {
				display: block;
				color: #1E71B9;
				font-size: clamp(1.35rem, 3vw, 2rem);
				line-height: 1;
				margin-bottom: .55rem;
			}

			body.page-module-1 .dedication-item p {
				margin: 0;
				color: var(--muted);
			}

			body.page-module-1 .program-list {
				display: grid;
				gap: 14px;
				margin-top: 22px;
			}

			body.page-module-1 .program-item {
				display: block;
				padding: 20px;
				border: 1px solid var(--line);
				border-radius: 18px;
				background: #fff;
			}

			body.page-module-1 .program-item h3 {
				margin: 0 0 6px;
				font-size: 1.2rem;
				line-height: 1.2;
			}

			body.page-module-1 .program-item p {
				margin: 0;
				color: var(--muted);
			}

			body.page-module-1 .program-item ul {
				margin: 0;
				padding-left: 1.2rem;
				color: var(--muted);
			}

			body.page-module-1 .program-item li + li {
				margin-top: .35rem;
			}

			body.page-module-1 .facts {
				display: grid;
				grid-template-columns: repeat(2, minmax(0, 1fr));
				gap: 14px;
				margin-top: 18px;
			}

			body.page-module-1 .fact {
				border: 1px solid var(--line);
				background: #fff;
				border-radius: 18px;
				padding: 18px;
			}

			body.page-module-1 .fact span {
				display: block;
				color: var(--muted);
				font-size: .84rem;
				font-weight: 900;
				text-transform: uppercase;
				letter-spacing: .06em;
				margin-bottom: 4px;
			}

			body.page-module-1 .fact strong {
				display: block;
				line-height: 1.25;
			}

			body.page-module-1 .dates-panel {
				display: grid;
				gap: 1.5rem;
			}

			body.page-module-1 .date-highlight {
				display: flex;
				justify-content: space-between;
				gap: 1rem;
				padding: 1.5rem;
				border-radius: 1.25rem;
				background: #F5FAFE;
				border: 1px solid #DDEFFB;
			}

			body.page-module-1 .date-highlight strong {
				display: block;
				margin-top: 0.25rem;
				font-size: clamp(1.35rem, 3vw, 2rem);
				color: #1E71B9;
			}

			body.page-module-1 .date-highlight p {
				margin: 0;
				align-self: end;
				font-weight: 600;
			}

			body.page-module-1 .date-label,
			body.page-module-1 .next-period span {
				display: block;
				font-size: 0.85rem;
				font-weight: 700;
				text-transform: uppercase;
				letter-spacing: 0.04em;
				color: #435c6d;
			}

			body.page-module-1 .session-timeline {
				display: grid;
				grid-template-columns: repeat(5, minmax(110px, 1fr));
				gap: 0.75rem;
			}

			body.page-module-1 .session {
				position: relative;
				padding: 1rem;
				border-radius: 1rem;
				background: #ffffff;
				border: 1px solid #d9d9d9;
				box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
			}

			body.page-module-1 .session::before {
				content: "";
				position: absolute;
				top: 1.35rem;
				left: -0.75rem;
				width: 0.75rem;
				height: 2px;
				background: #1E71B9;
			}

			body.page-module-1 .session:first-child::before {
				display: none;
			}

			body.page-module-1 .day {
				display: block;
				font-size: 2rem;
				line-height: 1;
				font-weight: 800;
				color: #1E71B9;
			}

			body.page-module-1 .month {
				display: block;
				margin: 0.2rem 0 0.75rem;
				font-size: 0.8rem;
				font-weight: 800;
				letter-spacing: 0.08em;
				color: #5f5f5f;
			}

			body.page-module-1 .session strong {
				display: block;
				font-size: 0.95rem;
			}

			body.page-module-1 .next-period {
				padding: 1rem 1.25rem;
				border-left: 5px solid #1E71B9;
				background: #f8f8f8;
				border-radius: 0.75rem;
			}

			body.page-module-1 .next-period strong {
				display: block;
				margin-top: 0.25rem;
				font-size: 1.1rem;
			}

			body.page-module-1 .interest-cta {
				margin-top: 1.6rem;
				padding: clamp(1.6rem, 4vw, 3rem);
				border-radius: 1.35rem;
				background: #1E71B9;
				color: #fff;
				box-shadow: 0 18px 42px rgba(30, 113, 185, .24);
			}

			body.page-module-1 .interest-cta h3 {
				margin: 0 0 .85rem;
				font-size: clamp(2rem, 4.5vw, 3.4rem);
				line-height: 1;
				color: #fff;
			}

			body.page-module-1 .interest-cta p {
				margin: 0;
				max-width: 72ch;
				color: #fff;
				font-size: 1.1rem;
				font-weight: 650;
			}

			body.page-module-1 .interest-cta a {
				display: inline-flex;
				align-items: center;
				justify-content: center;
				margin-top: 1.35rem;
				min-height: 54px;
				padding: .85rem 1.25rem;
				border: 3px solid #fff;
				border-radius: 999px;
				background: #fff;
				color: #15568d;
				font-weight: 900;
				text-decoration: none;
			}

			body.page-module-1 .interest-cta a:hover {
				background: transparent;
				color: #fff;
			}

			body.page-module-1 .teacher-grid {
				display: grid;
				grid-template-columns: repeat(2, minmax(0, 1fr));
				gap: 16px;
				margin-top: 18px;
			}

			body.page-module-1 .teacher-card {
				border: 1px solid var(--line);
				background: #fff;
				border-radius: 18px;
				padding: 18px;
			}

			body.page-module-1 .teacher-card h3 {
				margin: 0 0 4px;
			}

			body.page-module-1 .teacher-card p {
				margin: 0;
				color: var(--muted);
			}

			body.page-module-1 .sidebar {
				position: sticky;
				top: 22px;
			}

			body.page-module-1 .sidebar nav ul {
				list-style: none;
				margin: 0;
				padding: 0;
				display: grid;
				gap: 8px;
			}

			body.page-module-1 .sidebar nav a {
				display: block;
				padding: 10px 12px;
				border-radius: 12px;
				text-decoration: none;
				font-weight: 850;
				color: var(--brand);
				background: var(--brand-soft);
			}

			body.page-module-1 footer {
				padding: 34px 0;
				background: #101828;
				color: #fff;
			}

			body.page-module-1 .footer-logo {
				max-width: 170px;
				height: auto;
				display: block;
				margin-bottom: 18px;
			}

			body.page-module-1 footer p {
				margin: .35rem 0;
			}

			@media (max-width: 900px) {
				body.page-module-1 .hero-main,
				body.page-module-1 .content-grid {
					grid-template-columns: 1fr;
				}

				body.page-module-1 .hero-main {
					padding: 34px;
				}

				body.page-module-1 .sidebar {
					position: static;
				}
			}

			@media (max-width: 620px) {
				body.page-module-1 .wrap {
					width: min(100% - 28px, 1160px);
				}

				body.page-module-1 .hero {
					padding-top: 18px;
				}

				body.page-module-1 .hero-main,
				body.page-module-1 .panel {
					padding: 22px 16px;
				}

				body.page-module-1 .facts,
				body.page-module-1 .dedication-grid,
				body.page-module-1 .learning-grid,
				body.page-module-1 .teacher-grid {
					grid-template-columns: 1fr;
				}

				body.page-module-1 .program-item {
					grid-template-columns: 1fr;
				}

				body.page-module-1 .actions .btn {
					width: 100%;
				}

				body.page-module-1 .modules-menu {
					width: 100%;
				}

				body.page-module-1 .modules-dropdown {
					position: static;
					width: 100%;
					margin-top: 10px;
				}
			}

			@media (max-width: 760px) {
				body.page-module-1 .date-highlight {
					display: block;
				}

				body.page-module-1 .date-highlight p {
					margin-top: 0.75rem;
				}

				body.page-module-1 .session-timeline {
					grid-template-columns: 1fr;
				}

				body.page-module-1 .session::before {
					top: -0.75rem;
					left: 1.5rem;
					width: 2px;
					height: 0.75rem;
				}
			}


/* Modulo 2 */
body.page-module-2 {
				--ink: #101828;
				--muted: #475467;
				--bg: #FDFDFD;
				--surface: #ffffff;
				--line: #d0d5dd;
				--focus: #101828;
				--brand: #A35D20;
				--brand-dark: #6F3E16;
				--brand-soft: #FCF7F2;
				--module: #A35D20;
				--radius: 24px;
				--shadow: 0 20px 55px rgba(16, 24, 40, .14);
			}

			body.page-module-2 * {
				box-sizing: border-box;
			}

			html {
				scroll-behavior: smooth;
			}

			body.page-module-2 {
				margin: 0;
				font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
				color: var(--ink);
				background: var(--bg);
				line-height: 1.55;
				font-size: 18px;
			}

			body.page-module-2 a {
				color: inherit;
				text-underline-offset: .18em;
			}

			body.page-module-2 a:hover {
				text-decoration-thickness: 3px;
			}

			body.page-module-2 :focus-visible {
				outline: 4px solid var(--focus);
				outline-offset: 4px;
			}

			body.page-module-2 .skip {
				position: absolute;
				left: 1rem;
				top: 1rem;
				background: #000;
				color: #fff;
				padding: .75rem 1rem;
				z-index: 20;
				transform: translateY(-150%);
			}

			body.page-module-2 .skip:focus {
				transform: none;
			}

			body.page-module-2 .wrap {
				width: min(1160px, calc(100% - 32px));
				margin-inline: auto;
			}

			body.page-module-2 .topbar {
				padding: 20px 0;
				background: #fff;
				border-bottom: 1px solid rgba(16, 24, 40, .08);
			}

			body.page-module-2 .nav {
				display: flex;
				gap: 16px;
				align-items: flex-start;
				justify-content: flex-start;
				flex-direction: column;
			}

			body.page-module-2 .nav > nav {
				width: 100%;
			}

			body.page-module-2 .logo {
				display: inline-flex;
				align-items: center;
				gap: 16px;
				font-size: clamp(1.25rem, 1.5vw, 1.75rem);
				line-height: 1.1;
				font-weight: 900;
				text-decoration: none;
			}

			body.page-module-2 .header-icon {
				display: inline-grid;
				place-items: center;
				width: 58px;
				height: 58px;
				border-radius: 50%;
				background: var(--brand);
				color: #fff;
				flex: 0 0 58px;
				object-fit: cover;
			}

			body.page-module-2 .menu {
				display: flex;
				gap: clamp(14px, 1.7vw, 26px);
				align-items: center;
				justify-content: flex-start;
				margin: 0;
				padding: 0;
				list-style: none;
				flex-wrap: wrap;
			}

			body.page-module-2 .menu a {
				font-size: clamp(.95rem, 1vw, 1.05rem);
				line-height: 1.1;
				text-decoration: none;
				font-weight: 900;
			}

			body.page-module-2 .menu a:hover,
			body.page-module-2 .menu a[aria-current="page"] {
				text-decoration: underline;
			}

			body.page-module-2 .modules-menu {
				position: relative;
			}

			body.page-module-2 .modules-menu summary {
				display: inline-flex;
				align-items: center;
				gap: .35rem;
				font-size: clamp(.95rem, 1vw, 1.05rem);
				line-height: 1.1;
				font-weight: 900;
				cursor: pointer;
				list-style: none;
			}

			body.page-module-2 .modules-menu summary::-webkit-details-marker {
				display: none;
			}

			body.page-module-2 .modules-menu summary::after {
				content: "";
				width: .45rem;
				height: .45rem;
				border-right: 2px solid currentColor;
				border-bottom: 2px solid currentColor;
				rotate: 45deg;
				translate: 0 -.12rem;
			}

			body.page-module-2 .modules-menu[open] summary::after {
				rotate: 225deg;
				translate: 0 .12rem;
			}

			body.page-module-2 .modules-dropdown {
				position: absolute;
				top: calc(100% + 12px);
				left: 0;
				z-index: 30;
				display: grid;
				gap: 6px;
				width: min(320px, calc(100vw - 32px));
				margin: 0;
				padding: 10px;
				list-style: none;
				border: 1px solid var(--line);
				border-radius: 18px;
				background: #fff;
				box-shadow: 0 18px 42px rgba(16, 24, 40, .14);
			}

			body.page-module-2 .modules-dropdown a {
				display: block;
				padding: .8rem .9rem;
				border-radius: 12px;
				color: var(--brand);
			}

			body.page-module-2 .modules-dropdown a:hover,
			body.page-module-2 .modules-dropdown a[aria-current="page"] {
				background: var(--brand-soft);
			}

			body.page-module-2 .hero {
				padding: 48px 0 0;
				background: linear-gradient(135deg, #fff 0%, var(--brand-soft) 100%);
			}

			body.page-module-2 .breadcrumbs {
				padding: 22px 0 0;
				background: linear-gradient(135deg, #fff 0%, var(--brand-soft) 100%);
			}

			body.page-module-2 .breadcrumbs ol {
				display: flex;
				gap: .5rem;
				align-items: center;
				flex-wrap: wrap;
				margin: 0;
				padding: 0;
				list-style: none;
				color: var(--muted);
				font-size: .95rem;
				font-weight: 700;
			}

			body.page-module-2 .breadcrumbs li + li::before {
				content: "/";
				margin-right: .5rem;
				color: #667085;
			}

			body.page-module-2 .breadcrumbs a {
				color: var(--brand);
				font-weight: 900;
			}

			body.page-module-2 .hero-panel {
				background: #fff;
				border: 1px solid rgba(16, 24, 40, .08);
				border-radius: 32px 32px 0 0;
				box-shadow: var(--shadow);
				overflow: hidden;
			}

			body.page-module-2 .hero-main {
				display: grid;
				grid-template-columns: 1.15fr .85fr;
				gap: 32px;
				align-items: center;
				padding: 54px;
			}

			body.page-module-2 h1,
			body.page-module-2 h2,
			body.page-module-2 h3 {
				letter-spacing: 0;
			}

			body.page-module-2 h1 {
				font-size: clamp(2.8rem, 6vw, 5.4rem);
				line-height: .95;
				margin: 0 0 18px;
				max-width: 980px;
			}

			body.page-module-2 .lead {
				font-size: clamp(1.15rem, 2vw, 1.45rem);
				color: var(--muted);
				max-width: 820px;
				margin: 0 0 18px;
			}

			body.page-module-2 .hero-card {
				background: var(--module);
				color: #fff;
				border-radius: var(--radius);
				padding: 28px;
			}

			body.page-module-2 .hero-card h2 {
				font-size: 1.45rem;
				line-height: 1.15;
				margin: 0 0 18px;
			}

			body.page-module-2 .hero-card dl {
				display: grid;
				gap: 14px;
				margin: 0;
			}

			body.page-module-2 .hero-card dt {
				font-size: .84rem;
				font-weight: 900;
				text-transform: uppercase;
				letter-spacing: .08em;
				opacity: .85;
			}

			body.page-module-2 .hero-card dd {
				margin: 2px 0 0;
				font-weight: 800;
			}

			body.page-module-2 .actions {
				display: flex;
				gap: 12px;
				flex-wrap: wrap;
				margin-top: 26px;
			}

			body.page-module-2 .btn {
				display: inline-flex;
				align-items: center;
				justify-content: center;
				min-height: 54px;
				padding: .9rem 1.45rem;
				border: 3px solid var(--brand);
				border-radius: 999px;
				background: var(--brand);
				color: #fff;
				font-weight: 900;
				text-decoration: none;
			}

			body.page-module-2 .btn-alt {
				background: #fff;
				color: var(--brand);
			}

			body.page-module-2 .section {
				padding: 58px 0;
			}

			body.page-module-2 .section h2 {
				font-size: clamp(2rem, 3.4vw, 3.35rem);
				line-height: 1;
				margin: 0 0 18px;
			}

			body.page-module-2 .content-grid {
				display: grid;
				grid-template-columns: minmax(0, 1fr) 320px;
				gap: 26px;
				align-items: start;
			}

			body.page-module-2 .panel {
				background: #fff;
				border: 1px solid var(--line);
				border-radius: var(--radius);
				box-shadow: 0 12px 30px rgba(16, 24, 40, .08);
				padding: 30px;
			}

			body.page-module-2 .panel + .panel {
				margin-top: 18px;
			}

			body.page-module-2 .panel p {
				color: #344054;
				max-width: 78ch;
			}

			body.page-module-2 .callout {
				border-left: 7px solid var(--module);
				background: #FCF7F2;
				padding: 18px 20px;
				margin-top: 22px;
				border-radius: 0 16px 16px 0;
			}

			body.page-module-2 .callout p {
				margin: 0;
			}

			body.page-module-2 .check-list {
				display: grid;
				gap: 12px;
				padding-left: 1.3rem;
				margin: 18px 0 0;
			}

			body.page-module-2 .method-steps {
				display: grid;
				gap: 1rem;
				margin-top: 1.5rem;
			}

			body.page-module-2 .method-steps article {
				padding: 1.25rem;
				border: 1px solid #dedede;
				border-radius: 1rem;
				background: #fff;
				text-align: left;
			}

			body.page-module-2 .method-steps h3 {
				margin: 0;
				font-size: 1.05rem;
			}

			body.page-module-2 .method-steps p {
				margin: 0.25rem 0 0;
				color: #555;
			}

			@media (min-width: 760px) {
				body.page-module-2 .method-steps {
					grid-template-columns: 1fr;
				}
			}

			body.page-module-2 .learning-grid {
				display: grid;
				grid-template-columns: repeat(2, minmax(0, 1fr));
				gap: 14px;
				margin-top: 20px;
			}

			body.page-module-2 .learning-grid article {
				border: 1px solid var(--line);
				border-radius: 18px;
				background: #fff;
				padding: 20px;
				box-shadow: 0 8px 24px rgba(16, 24, 40, .06);
			}

			body.page-module-2 .learning-grid strong {
				display: block;
				color: #A35D20;
				font-size: 1.08rem;
				line-height: 1.2;
				margin-bottom: .45rem;
			}

			body.page-module-2 .learning-grid p {
				margin: 0;
				color: var(--muted);
			}

			body.page-module-2 .dedication-grid {
				display: grid;
				grid-template-columns: repeat(3, minmax(0, 1fr));
				gap: 14px;
				margin-top: 20px;
			}

			body.page-module-2 .dedication-item {
				border: 1px solid var(--line);
				border-radius: 18px;
				background: #fff;
				padding: 20px;
				box-shadow: 0 8px 24px rgba(16, 24, 40, .06);
			}

			body.page-module-2 .dedication-item span {
				display: block;
				color: var(--muted);
				font-size: .84rem;
				font-weight: 900;
				text-transform: uppercase;
				letter-spacing: .06em;
				margin-bottom: .35rem;
			}

			body.page-module-2 .dedication-item strong {
				display: block;
				color: #A35D20;
				font-size: clamp(1.35rem, 3vw, 2rem);
				line-height: 1;
				margin-bottom: .55rem;
			}

			body.page-module-2 .dedication-item p {
				margin: 0;
				color: var(--muted);
			}

			body.page-module-2 .program-list {
				display: grid;
				gap: 14px;
				margin-top: 22px;
			}

			body.page-module-2 .program-item {
				display: block;
				padding: 20px;
				border: 1px solid var(--line);
				border-radius: 18px;
				background: #fff;
			}

			body.page-module-2 .program-item h3 {
				margin: 0 0 6px;
				font-size: 1.2rem;
				line-height: 1.2;
			}

			body.page-module-2 .program-item p {
				margin: 0;
				color: var(--muted);
			}

			body.page-module-2 .program-item ul {
				margin: 0;
				padding-left: 1.2rem;
				color: var(--muted);
			}

			body.page-module-2 .program-item li + li {
				margin-top: .35rem;
			}

			body.page-module-2 .facts {
				display: grid;
				grid-template-columns: repeat(2, minmax(0, 1fr));
				gap: 14px;
				margin-top: 18px;
			}

			body.page-module-2 .fact {
				border: 1px solid var(--line);
				background: #fff;
				border-radius: 18px;
				padding: 18px;
			}

			body.page-module-2 .fact span {
				display: block;
				color: var(--muted);
				font-size: .84rem;
				font-weight: 900;
				text-transform: uppercase;
				letter-spacing: .06em;
				margin-bottom: 4px;
			}

			body.page-module-2 .fact strong {
				display: block;
				line-height: 1.25;
			}

			body.page-module-2 .dates-panel {
				display: grid;
				gap: 1.5rem;
			}

			body.page-module-2 .date-highlight {
				display: flex;
				justify-content: space-between;
				gap: 1rem;
				padding: 1.5rem;
				border-radius: 1.25rem;
				background: #FCF7F2;
				border: 1px solid #E3C7AF;
			}

			body.page-module-2 .date-highlight strong {
				display: block;
				margin-top: 0.25rem;
				font-size: clamp(1.35rem, 3vw, 2rem);
				color: #A35D20;
			}

			body.page-module-2 .date-highlight p {
				margin: 0;
				align-self: end;
				font-weight: 600;
			}

			body.page-module-2 .date-label,
			body.page-module-2 .next-period span {
				display: block;
				font-size: 0.85rem;
				font-weight: 700;
				text-transform: uppercase;
				letter-spacing: 0.04em;
				color: #6B4B35;
			}

			body.page-module-2 .session-timeline {
				display: grid;
				grid-template-columns: repeat(5, minmax(110px, 1fr));
				gap: 0.75rem;
			}

			body.page-module-2 .session {
				position: relative;
				padding: 1rem;
				border-radius: 1rem;
				background: #ffffff;
				border: 1px solid #d9d9d9;
				box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
			}

			body.page-module-2 .session::before {
				content: "";
				position: absolute;
				top: 1.35rem;
				left: -0.75rem;
				width: 0.75rem;
				height: 2px;
				background: #A35D20;
			}

			body.page-module-2 .session:first-child::before {
				display: none;
			}

			body.page-module-2 .day {
				display: block;
				font-size: 2rem;
				line-height: 1;
				font-weight: 800;
				color: #A35D20;
			}

			body.page-module-2 .month {
				display: block;
				margin: 0.2rem 0 0.75rem;
				font-size: 0.8rem;
				font-weight: 800;
				letter-spacing: 0.08em;
				color: #5f5f5f;
			}

			body.page-module-2 .session strong {
				display: block;
				font-size: 0.95rem;
			}

			body.page-module-2 .next-period {
				padding: 1rem 1.25rem;
				border-left: 5px solid #A35D20;
				background: #f8f8f8;
				border-radius: 0.75rem;
			}

			body.page-module-2 .next-period strong {
				display: block;
				margin-top: 0.25rem;
				font-size: 1.1rem;
			}

			body.page-module-2 .interest-cta {
				margin-top: 1.6rem;
				padding: clamp(1.6rem, 4vw, 3rem);
				border-radius: 1.35rem;
				background: #A35D20;
				color: #fff;
				box-shadow: 0 18px 42px rgba(163, 93, 32, .24);
			}

			body.page-module-2 .interest-cta h3 {
				margin: 0 0 .85rem;
				font-size: clamp(2rem, 4.5vw, 3.4rem);
				line-height: 1;
				color: #fff;
			}

			body.page-module-2 .interest-cta p {
				margin: 0;
				max-width: 72ch;
				color: #fff;
				font-size: 1.1rem;
				font-weight: 650;
			}

			body.page-module-2 .interest-cta a {
				display: inline-flex;
				align-items: center;
				justify-content: center;
				margin-top: 1.35rem;
				min-height: 54px;
				padding: .85rem 1.25rem;
				border: 3px solid #fff;
				border-radius: 999px;
				background: #fff;
				color: #A35D20;
				font-weight: 900;
				text-decoration: none;
			}

			body.page-module-2 .interest-cta a:hover {
				background: transparent;
				color: #fff;
			}

			body.page-module-2 .teacher-grid {
				display: grid;
				grid-template-columns: repeat(2, minmax(0, 1fr));
				gap: 16px;
				margin-top: 18px;
			}

			body.page-module-2 .teacher-card {
				border: 1px solid var(--line);
				background: #fff;
				border-radius: 18px;
				padding: 18px;
			}

			body.page-module-2 .teacher-card h3 {
				margin: 0 0 4px;
			}

			body.page-module-2 .teacher-card p {
				margin: 0;
				color: var(--muted);
			}

			body.page-module-2 .sidebar {
				position: sticky;
				top: 22px;
			}

			body.page-module-2 .sidebar nav ul {
				list-style: none;
				margin: 0;
				padding: 0;
				display: grid;
				gap: 8px;
			}

			body.page-module-2 .sidebar nav a {
				display: block;
				padding: 10px 12px;
				border-radius: 12px;
				text-decoration: none;
				font-weight: 850;
				color: var(--brand);
				background: var(--brand-soft);
			}

			body.page-module-2 footer {
				padding: 34px 0;
				background: #101828;
				color: #fff;
			}

			body.page-module-2 .footer-logo {
				max-width: 170px;
				height: auto;
				display: block;
				margin-bottom: 18px;
			}

			body.page-module-2 footer p {
				margin: .35rem 0;
			}

			@media (max-width: 900px) {
				body.page-module-2 .hero-main,
				body.page-module-2 .content-grid {
					grid-template-columns: 1fr;
				}

				body.page-module-2 .hero-main {
					padding: 34px;
				}

				body.page-module-2 .sidebar {
					position: static;
				}
			}

			@media (max-width: 620px) {
				body.page-module-2 .wrap {
					width: min(100% - 28px, 1160px);
				}

				body.page-module-2 .hero {
					padding-top: 18px;
				}

				body.page-module-2 .hero-main,
				body.page-module-2 .panel {
					padding: 22px 16px;
				}

				body.page-module-2 .facts,
				body.page-module-2 .dedication-grid,
				body.page-module-2 .learning-grid,
				body.page-module-2 .teacher-grid {
					grid-template-columns: 1fr;
				}

				body.page-module-2 .program-item {
					grid-template-columns: 1fr;
				}

				body.page-module-2 .actions .btn {
					width: 100%;
				}

				body.page-module-2 .modules-menu {
					width: 100%;
				}

				body.page-module-2 .modules-dropdown {
					position: static;
					width: 100%;
					margin-top: 10px;
				}
			}

			@media (max-width: 760px) {
				body.page-module-2 .date-highlight {
					display: block;
				}

				body.page-module-2 .date-highlight p {
					margin-top: 0.75rem;
				}

				body.page-module-2 .session-timeline {
					grid-template-columns: 1fr;
				}

				body.page-module-2 .session::before {
					top: -0.75rem;
					left: 1.5rem;
					width: 2px;
					height: 0.75rem;
				}
			}


/* Modulo 4 */
body.page-module-4 {
				--ink: #101828;
				--muted: #475467;
				--bg: #FDFDFD;
				--surface: #ffffff;
				--line: #d0d5dd;
				--focus: #101828;
				--brand: #3C7F24;
				--brand-dark: #285A18;
				--brand-soft: #F6FBF4;
				--module: #3C7F24;
				--radius: 24px;
				--shadow: 0 20px 55px rgba(16, 24, 40, .14);
			}

			body.page-module-4 * {
				box-sizing: border-box;
			}

			html {
				scroll-behavior: smooth;
			}

			body.page-module-4 {
				margin: 0;
				font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
				color: var(--ink);
				background: var(--bg);
				line-height: 1.55;
				font-size: 18px;
			}

			body.page-module-4 a {
				color: inherit;
				text-underline-offset: .18em;
			}

			body.page-module-4 a:hover {
				text-decoration-thickness: 3px;
			}

			body.page-module-4 :focus-visible {
				outline: 4px solid var(--focus);
				outline-offset: 4px;
			}

			body.page-module-4 .skip {
				position: absolute;
				left: 1rem;
				top: 1rem;
				background: #000;
				color: #fff;
				padding: .75rem 1rem;
				z-index: 20;
				transform: translateY(-150%);
			}

			body.page-module-4 .skip:focus {
				transform: none;
			}

			body.page-module-4 .wrap {
				width: min(1160px, calc(100% - 32px));
				margin-inline: auto;
			}

			body.page-module-4 .topbar {
				padding: 20px 0;
				background: #fff;
				border-bottom: 1px solid rgba(16, 24, 40, .08);
			}

			body.page-module-4 .nav {
				display: flex;
				gap: 16px;
				align-items: flex-start;
				justify-content: flex-start;
				flex-direction: column;
			}

			body.page-module-4 .nav > nav {
				width: 100%;
			}

			body.page-module-4 .logo {
				display: inline-flex;
				align-items: center;
				gap: 16px;
				font-size: clamp(1.25rem, 1.5vw, 1.75rem);
				line-height: 1.1;
				font-weight: 900;
				text-decoration: none;
			}

			body.page-module-4 .header-icon {
				display: inline-grid;
				place-items: center;
				width: 58px;
				height: 58px;
				border-radius: 50%;
				background: var(--brand);
				color: #fff;
				flex: 0 0 58px;
				object-fit: cover;
			}

			body.page-module-4 .menu {
				display: flex;
				gap: clamp(14px, 1.7vw, 26px);
				align-items: center;
				justify-content: flex-start;
				margin: 0;
				padding: 0;
				list-style: none;
				flex-wrap: wrap;
			}

			body.page-module-4 .menu a {
				font-size: clamp(.95rem, 1vw, 1.05rem);
				line-height: 1.1;
				text-decoration: none;
				font-weight: 900;
			}

			body.page-module-4 .menu a:hover,
			body.page-module-4 .menu a[aria-current="page"] {
				text-decoration: underline;
			}

			body.page-module-4 .modules-menu {
				position: relative;
			}

			body.page-module-4 .modules-menu summary {
				display: inline-flex;
				align-items: center;
				gap: .35rem;
				font-size: clamp(.95rem, 1vw, 1.05rem);
				line-height: 1.1;
				font-weight: 900;
				cursor: pointer;
				list-style: none;
			}

			body.page-module-4 .modules-menu summary::-webkit-details-marker {
				display: none;
			}

			body.page-module-4 .modules-menu summary::after {
				content: "";
				width: .45rem;
				height: .45rem;
				border-right: 2px solid currentColor;
				border-bottom: 2px solid currentColor;
				rotate: 45deg;
				translate: 0 -.12rem;
			}

			body.page-module-4 .modules-menu[open] summary::after {
				rotate: 225deg;
				translate: 0 .12rem;
			}

			body.page-module-4 .modules-dropdown {
				position: absolute;
				top: calc(100% + 12px);
				left: 0;
				z-index: 30;
				display: grid;
				gap: 6px;
				width: min(320px, calc(100vw - 32px));
				margin: 0;
				padding: 10px;
				list-style: none;
				border: 1px solid var(--line);
				border-radius: 18px;
				background: #fff;
				box-shadow: 0 18px 42px rgba(16, 24, 40, .14);
			}

			body.page-module-4 .modules-dropdown a {
				display: block;
				padding: .8rem .9rem;
				border-radius: 12px;
				color: var(--brand);
			}

			body.page-module-4 .modules-dropdown a:hover,
			body.page-module-4 .modules-dropdown a[aria-current="page"] {
				background: var(--brand-soft);
			}

			body.page-module-4 .hero {
				padding: 48px 0 0;
				background: linear-gradient(135deg, #fff 0%, var(--brand-soft) 100%);
			}

			body.page-module-4 .breadcrumbs {
				padding: 22px 0 0;
				background: linear-gradient(135deg, #fff 0%, var(--brand-soft) 100%);
			}

			body.page-module-4 .breadcrumbs ol {
				display: flex;
				gap: .5rem;
				align-items: center;
				flex-wrap: wrap;
				margin: 0;
				padding: 0;
				list-style: none;
				color: var(--muted);
				font-size: .95rem;
				font-weight: 700;
			}

			body.page-module-4 .breadcrumbs li + li::before {
				content: "/";
				margin-right: .5rem;
				color: #667085;
			}

			body.page-module-4 .breadcrumbs a {
				color: var(--brand);
				font-weight: 900;
			}

			body.page-module-4 .hero-panel {
				background: #fff;
				border: 1px solid rgba(16, 24, 40, .08);
				border-radius: 32px 32px 0 0;
				box-shadow: var(--shadow);
				overflow: hidden;
			}

			body.page-module-4 .hero-main {
				display: grid;
				grid-template-columns: 1.15fr .85fr;
				gap: 32px;
				align-items: center;
				padding: 54px;
			}

			body.page-module-4 h1,
			body.page-module-4 h2,
			body.page-module-4 h3 {
				letter-spacing: 0;
			}

			body.page-module-4 h1 {
				font-size: clamp(2.8rem, 6vw, 5.4rem);
				line-height: .95;
				margin: 0 0 18px;
				max-width: 980px;
			}

			body.page-module-4 .lead {
				font-size: clamp(1.15rem, 2vw, 1.45rem);
				color: var(--muted);
				max-width: 820px;
				margin: 0 0 18px;
			}

			body.page-module-4 .hero-card {
				background: var(--module);
				color: #fff;
				border-radius: var(--radius);
				padding: 28px;
			}

			body.page-module-4 .hero-card h2 {
				font-size: 1.45rem;
				line-height: 1.15;
				margin: 0 0 18px;
			}

			body.page-module-4 .hero-card dl {
				display: grid;
				gap: 14px;
				margin: 0;
			}

			body.page-module-4 .hero-card dt {
				font-size: .84rem;
				font-weight: 900;
				text-transform: uppercase;
				letter-spacing: .08em;
				opacity: .85;
			}

			body.page-module-4 .hero-card dd {
				margin: 2px 0 0;
				font-weight: 800;
			}

			body.page-module-4 .actions {
				display: flex;
				gap: 12px;
				flex-wrap: wrap;
				margin-top: 26px;
			}

			body.page-module-4 .btn {
				display: inline-flex;
				align-items: center;
				justify-content: center;
				min-height: 54px;
				padding: .9rem 1.45rem;
				border: 3px solid var(--brand);
				border-radius: 999px;
				background: var(--brand);
				color: #fff;
				font-weight: 900;
				text-decoration: none;
			}

			body.page-module-4 .btn-alt {
				background: #fff;
				color: var(--brand);
			}

			body.page-module-4 .section {
				padding: 58px 0;
			}

			body.page-module-4 .section h2 {
				font-size: clamp(2rem, 3.4vw, 3.35rem);
				line-height: 1;
				margin: 0 0 18px;
			}

			body.page-module-4 .content-grid {
				display: grid;
				grid-template-columns: minmax(0, 1fr) 320px;
				gap: 26px;
				align-items: start;
			}

			body.page-module-4 .panel {
				background: #fff;
				border: 1px solid var(--line);
				border-radius: var(--radius);
				box-shadow: 0 12px 30px rgba(16, 24, 40, .08);
				padding: 30px;
			}

			body.page-module-4 .panel + .panel {
				margin-top: 18px;
			}

			body.page-module-4 .panel p {
				color: #344054;
				max-width: 78ch;
			}

			body.page-module-4 .callout {
				border-left: 7px solid var(--module);
				background: #F6FBF4;
				padding: 18px 20px;
				margin-top: 22px;
				border-radius: 0 16px 16px 0;
			}

			body.page-module-4 .callout p {
				margin: 0;
			}

			body.page-module-4 .check-list {
				display: grid;
				gap: 12px;
				padding-left: 1.3rem;
				margin: 18px 0 0;
			}

			body.page-module-4 .method-steps {
				display: grid;
				gap: 1rem;
				margin-top: 1.5rem;
			}

			body.page-module-4 .method-steps article {
				padding: 1.25rem;
				border: 1px solid #dedede;
				border-radius: 1rem;
				background: #fff;
				text-align: left;
			}

			body.page-module-4 .method-steps h3 {
				margin: 0;
				font-size: 1.05rem;
			}

			body.page-module-4 .method-steps p {
				margin: 0.25rem 0 0;
				color: #555;
			}

			@media (min-width: 760px) {
				body.page-module-4 .method-steps {
					grid-template-columns: 1fr;
				}
			}

			body.page-module-4 .learning-grid {
				display: grid;
				grid-template-columns: repeat(2, minmax(0, 1fr));
				gap: 14px;
				margin-top: 20px;
			}

			body.page-module-4 .learning-grid article {
				border: 1px solid var(--line);
				border-radius: 18px;
				background: #fff;
				padding: 20px;
				box-shadow: 0 8px 24px rgba(16, 24, 40, .06);
			}

			body.page-module-4 .learning-grid strong {
				display: block;
				color: #3C7F24;
				font-size: 1.08rem;
				line-height: 1.2;
				margin-bottom: .45rem;
			}

			body.page-module-4 .learning-grid p {
				margin: 0;
				color: var(--muted);
			}

			body.page-module-4 .dedication-grid {
				display: grid;
				grid-template-columns: repeat(3, minmax(0, 1fr));
				gap: 14px;
				margin-top: 20px;
			}

			body.page-module-4 .dedication-item {
				border: 1px solid var(--line);
				border-radius: 18px;
				background: #fff;
				padding: 20px;
				box-shadow: 0 8px 24px rgba(16, 24, 40, .06);
			}

			body.page-module-4 .dedication-item span {
				display: block;
				color: var(--muted);
				font-size: .84rem;
				font-weight: 900;
				text-transform: uppercase;
				letter-spacing: .06em;
				margin-bottom: .35rem;
			}

			body.page-module-4 .dedication-item strong {
				display: block;
				color: #3C7F24;
				font-size: clamp(1.35rem, 3vw, 2rem);
				line-height: 1;
				margin-bottom: .55rem;
			}

			body.page-module-4 .dedication-item p {
				margin: 0;
				color: var(--muted);
			}

			body.page-module-4 .program-list {
				display: grid;
				gap: 14px;
				margin-top: 22px;
			}

			body.page-module-4 .program-item {
				display: block;
				padding: 20px;
				border: 1px solid var(--line);
				border-radius: 18px;
				background: #fff;
			}

			body.page-module-4 .program-item h3 {
				margin: 0 0 6px;
				font-size: 1.2rem;
				line-height: 1.2;
			}

			body.page-module-4 .program-item p {
				margin: 0;
				color: var(--muted);
			}

			body.page-module-4 .program-item ul {
				margin: 0;
				padding-left: 1.2rem;
				color: var(--muted);
			}

			body.page-module-4 .program-item li + li {
				margin-top: .35rem;
			}

			body.page-module-4 .facts {
				display: grid;
				grid-template-columns: repeat(2, minmax(0, 1fr));
				gap: 14px;
				margin-top: 18px;
			}

			body.page-module-4 .fact {
				border: 1px solid var(--line);
				background: #fff;
				border-radius: 18px;
				padding: 18px;
			}

			body.page-module-4 .fact span {
				display: block;
				color: var(--muted);
				font-size: .84rem;
				font-weight: 900;
				text-transform: uppercase;
				letter-spacing: .06em;
				margin-bottom: 4px;
			}

			body.page-module-4 .fact strong {
				display: block;
				line-height: 1.25;
			}

			body.page-module-4 .dates-panel {
				display: grid;
				gap: 1.5rem;
			}

			body.page-module-4 .date-highlight {
				display: flex;
				justify-content: space-between;
				gap: 1rem;
				padding: 1.5rem;
				border-radius: 1.25rem;
				background: #F6FBF4;
				border: 1px solid #DCEFD6;
			}

			body.page-module-4 .date-highlight strong {
				display: block;
				margin-top: 0.25rem;
				font-size: clamp(1.35rem, 3vw, 2rem);
				color: #3C7F24;
			}

			body.page-module-4 .date-highlight p {
				margin: 0;
				align-self: end;
				font-weight: 600;
			}

			body.page-module-4 .date-label,
			body.page-module-4 .next-period span {
				display: block;
				font-size: 0.85rem;
				font-weight: 700;
				text-transform: uppercase;
				letter-spacing: 0.04em;
				color: #435c6d;
			}

			body.page-module-4 .session-timeline {
				display: grid;
				grid-template-columns: repeat(5, minmax(110px, 1fr));
				gap: 0.75rem;
			}

			body.page-module-4 .session {
				position: relative;
				padding: 1rem;
				border-radius: 1rem;
				background: #ffffff;
				border: 1px solid #d9d9d9;
				box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
			}

			body.page-module-4 .session::before {
				content: "";
				position: absolute;
				top: 1.35rem;
				left: -0.75rem;
				width: 0.75rem;
				height: 2px;
				background: #3C7F24;
			}

			body.page-module-4 .session:first-child::before {
				display: none;
			}

			body.page-module-4 .day {
				display: block;
				font-size: 2rem;
				line-height: 1;
				font-weight: 800;
				color: #3C7F24;
			}

			body.page-module-4 .month {
				display: block;
				margin: 0.2rem 0 0.75rem;
				font-size: 0.8rem;
				font-weight: 800;
				letter-spacing: 0.08em;
				color: #5f5f5f;
			}

			body.page-module-4 .session strong {
				display: block;
				font-size: 0.95rem;
			}

			body.page-module-4 .next-period {
				padding: 1rem 1.25rem;
				border-left: 5px solid #3C7F24;
				background: #f8f8f8;
				border-radius: 0.75rem;
			}

			body.page-module-4 .next-period strong {
				display: block;
				margin-top: 0.25rem;
				font-size: 1.1rem;
			}

			body.page-module-4 .interest-cta {
				margin-top: 1.6rem;
				padding: clamp(1.6rem, 4vw, 3rem);
				border-radius: 1.35rem;
				background: #3C7F24;
				color: #fff;
				box-shadow: 0 18px 42px rgba(60, 127, 36, .24);
			}

			body.page-module-4 .interest-cta h3 {
				margin: 0 0 .85rem;
				font-size: clamp(2rem, 4.5vw, 3.4rem);
				line-height: 1;
				color: #fff;
			}

			body.page-module-4 .interest-cta p {
				margin: 0;
				max-width: 72ch;
				color: #fff;
				font-size: 1.1rem;
				font-weight: 650;
			}

			body.page-module-4 .interest-cta a {
				display: inline-flex;
				align-items: center;
				justify-content: center;
				margin-top: 1.35rem;
				min-height: 54px;
				padding: .85rem 1.25rem;
				border: 3px solid #fff;
				border-radius: 999px;
				background: #fff;
				color: #3C7F24;
				font-weight: 900;
				text-decoration: none;
			}

			body.page-module-4 .interest-cta a:hover {
				background: transparent;
				color: #fff;
			}

			body.page-module-4 .teacher-grid {
				display: grid;
				grid-template-columns: repeat(2, minmax(0, 1fr));
				gap: 16px;
				margin-top: 18px;
			}

			body.page-module-4 .teacher-card {
				border: 1px solid var(--line);
				background: #fff;
				border-radius: 18px;
				padding: 18px;
			}

			body.page-module-4 .teacher-card h3 {
				margin: 0 0 4px;
			}

			body.page-module-4 .teacher-card p {
				margin: 0;
				color: var(--muted);
			}

			body.page-module-4 .sidebar {
				position: sticky;
				top: 22px;
			}

			body.page-module-4 .sidebar nav ul {
				list-style: none;
				margin: 0;
				padding: 0;
				display: grid;
				gap: 8px;
			}

			body.page-module-4 .sidebar nav a {
				display: block;
				padding: 10px 12px;
				border-radius: 12px;
				text-decoration: none;
				font-weight: 850;
				color: var(--brand);
				background: var(--brand-soft);
			}

			body.page-module-4 footer {
				padding: 34px 0;
				background: #101828;
				color: #fff;
			}

			body.page-module-4 .footer-logo {
				max-width: 170px;
				height: auto;
				display: block;
				margin-bottom: 18px;
			}

			body.page-module-4 footer p {
				margin: .35rem 0;
			}

			@media (max-width: 900px) {
				body.page-module-4 .hero-main,
				body.page-module-4 .content-grid {
					grid-template-columns: 1fr;
				}

				body.page-module-4 .hero-main {
					padding: 34px;
				}

				body.page-module-4 .sidebar {
					position: static;
				}
			}

			@media (max-width: 620px) {
				body.page-module-4 .wrap {
					width: min(100% - 28px, 1160px);
				}

				body.page-module-4 .hero {
					padding-top: 18px;
				}

				body.page-module-4 .hero-main,
				body.page-module-4 .panel {
					padding: 22px 16px;
				}

				body.page-module-4 .facts,
				body.page-module-4 .dedication-grid,
				body.page-module-4 .learning-grid,
				body.page-module-4 .teacher-grid {
					grid-template-columns: 1fr;
				}

				body.page-module-4 .program-item {
					grid-template-columns: 1fr;
				}

				body.page-module-4 .actions .btn {
					width: 100%;
				}

				body.page-module-4 .modules-menu {
					width: 100%;
				}

				body.page-module-4 .modules-dropdown {
					position: static;
					width: 100%;
					margin-top: 10px;
				}
			}

			@media (max-width: 760px) {
				body.page-module-4 .date-highlight {
					display: block;
				}

				body.page-module-4 .date-highlight p {
					margin-top: 0.75rem;
				}

				body.page-module-4 .session-timeline {
					grid-template-columns: 1fr;
				}

				body.page-module-4 .session::before {
					top: -0.75rem;
					left: 1.5rem;
					width: 2px;
					height: 0.75rem;
				}
			}


/* Modulo 5 */
body.page-module-5 {
				--ink: #101828;
				--muted: #475467;
				--bg: #FDFDFD;
				--surface: #ffffff;
				--line: #d0d5dd;
				--focus: #101828;
				--brand: #AE0000;
				--brand-dark: #7A0000;
				--brand-soft: #FFF6F6;
				--module: #AE0000;
				--radius: 24px;
				--shadow: 0 20px 55px rgba(16, 24, 40, .14);
			}

			body.page-module-5 * {
				box-sizing: border-box;
			}

			html {
				scroll-behavior: smooth;
			}

			body.page-module-5 {
				margin: 0;
				font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
				color: var(--ink);
				background: var(--bg);
				line-height: 1.55;
				font-size: 18px;
			}

			body.page-module-5 a {
				color: inherit;
				text-underline-offset: .18em;
			}

			body.page-module-5 a:hover {
				text-decoration-thickness: 3px;
			}

			body.page-module-5 :focus-visible {
				outline: 4px solid var(--focus);
				outline-offset: 4px;
			}

			body.page-module-5 .skip {
				position: absolute;
				left: 1rem;
				top: 1rem;
				background: #000;
				color: #fff;
				padding: .75rem 1rem;
				z-index: 20;
				transform: translateY(-150%);
			}

			body.page-module-5 .skip:focus {
				transform: none;
			}

			body.page-module-5 .wrap {
				width: min(1160px, calc(100% - 32px));
				margin-inline: auto;
			}

			body.page-module-5 .topbar {
				padding: 20px 0;
				background: #fff;
				border-bottom: 1px solid rgba(16, 24, 40, .08);
			}

			body.page-module-5 .nav {
				display: flex;
				gap: 16px;
				align-items: flex-start;
				justify-content: flex-start;
				flex-direction: column;
			}

			body.page-module-5 .nav > nav {
				width: 100%;
			}

			body.page-module-5 .logo {
				display: inline-flex;
				align-items: center;
				gap: 16px;
				font-size: clamp(1.25rem, 1.5vw, 1.75rem);
				line-height: 1.1;
				font-weight: 900;
				text-decoration: none;
			}

			body.page-module-5 .header-icon {
				display: inline-grid;
				place-items: center;
				width: 58px;
				height: 58px;
				border-radius: 50%;
				background: var(--brand);
				color: #fff;
				flex: 0 0 58px;
				object-fit: cover;
			}

			body.page-module-5 .menu {
				display: flex;
				gap: clamp(14px, 1.7vw, 26px);
				align-items: center;
				justify-content: flex-start;
				margin: 0;
				padding: 0;
				list-style: none;
				flex-wrap: wrap;
			}

			body.page-module-5 .menu a {
				font-size: clamp(.95rem, 1vw, 1.05rem);
				line-height: 1.1;
				text-decoration: none;
				font-weight: 900;
			}

			body.page-module-5 .menu a:hover,
			body.page-module-5 .menu a[aria-current="page"] {
				text-decoration: underline;
			}

			body.page-module-5 .modules-menu {
				position: relative;
			}

			body.page-module-5 .modules-menu summary {
				display: inline-flex;
				align-items: center;
				gap: .35rem;
				font-size: clamp(.95rem, 1vw, 1.05rem);
				line-height: 1.1;
				font-weight: 900;
				cursor: pointer;
				list-style: none;
			}

			body.page-module-5 .modules-menu summary::-webkit-details-marker {
				display: none;
			}

			body.page-module-5 .modules-menu summary::after {
				content: "";
				width: .45rem;
				height: .45rem;
				border-right: 2px solid currentColor;
				border-bottom: 2px solid currentColor;
				rotate: 45deg;
				translate: 0 -.12rem;
			}

			body.page-module-5 .modules-menu[open] summary::after {
				rotate: 225deg;
				translate: 0 .12rem;
			}

			body.page-module-5 .modules-dropdown {
				position: absolute;
				top: calc(100% + 12px);
				left: 0;
				z-index: 30;
				display: grid;
				gap: 6px;
				width: min(320px, calc(100vw - 32px));
				margin: 0;
				padding: 10px;
				list-style: none;
				border: 1px solid var(--line);
				border-radius: 18px;
				background: #fff;
				box-shadow: 0 18px 42px rgba(16, 24, 40, .14);
			}

			body.page-module-5 .modules-dropdown a {
				display: block;
				padding: .8rem .9rem;
				border-radius: 12px;
				color: var(--brand);
			}

			body.page-module-5 .modules-dropdown a:hover,
			body.page-module-5 .modules-dropdown a[aria-current="page"] {
				background: var(--brand-soft);
			}

			body.page-module-5 .hero {
				padding: 48px 0 0;
				background: linear-gradient(135deg, #fff 0%, var(--brand-soft) 100%);
			}

			body.page-module-5 .breadcrumbs {
				padding: 22px 0 0;
				background: linear-gradient(135deg, #fff 0%, var(--brand-soft) 100%);
			}

			body.page-module-5 .breadcrumbs ol {
				display: flex;
				gap: .5rem;
				align-items: center;
				flex-wrap: wrap;
				margin: 0;
				padding: 0;
				list-style: none;
				color: var(--muted);
				font-size: .95rem;
				font-weight: 700;
			}

			body.page-module-5 .breadcrumbs li + li::before {
				content: "/";
				margin-right: .5rem;
				color: #667085;
			}

			body.page-module-5 .breadcrumbs a {
				color: var(--brand);
				font-weight: 900;
			}

			body.page-module-5 .hero-panel {
				background: #fff;
				border: 1px solid rgba(16, 24, 40, .08);
				border-radius: 32px 32px 0 0;
				box-shadow: var(--shadow);
				overflow: hidden;
			}

			body.page-module-5 .hero-main {
				display: grid;
				grid-template-columns: 1.15fr .85fr;
				gap: 32px;
				align-items: center;
				padding: 54px;
			}

			body.page-module-5 h1,
			body.page-module-5 h2,
			body.page-module-5 h3 {
				letter-spacing: 0;
			}

			body.page-module-5 h1 {
				font-size: clamp(2.8rem, 6vw, 5.4rem);
				line-height: .95;
				margin: 0 0 18px;
				max-width: 980px;
			}

			body.page-module-5 .lead {
				font-size: clamp(1.15rem, 2vw, 1.45rem);
				color: var(--muted);
				max-width: 820px;
				margin: 0 0 18px;
			}

			body.page-module-5 .hero-card {
				background: var(--module);
				color: #fff;
				border-radius: var(--radius);
				padding: 28px;
			}

			body.page-module-5 .hero-card h2 {
				font-size: 1.45rem;
				line-height: 1.15;
				margin: 0 0 18px;
			}

			body.page-module-5 .hero-card dl {
				display: grid;
				gap: 14px;
				margin: 0;
			}

			body.page-module-5 .hero-card dt {
				font-size: .84rem;
				font-weight: 900;
				text-transform: uppercase;
				letter-spacing: .08em;
				opacity: .85;
			}

			body.page-module-5 .hero-card dd {
				margin: 2px 0 0;
				font-weight: 800;
			}

			body.page-module-5 .actions {
				display: flex;
				gap: 12px;
				flex-wrap: wrap;
				margin-top: 26px;
			}

			body.page-module-5 .btn {
				display: inline-flex;
				align-items: center;
				justify-content: center;
				min-height: 54px;
				padding: .9rem 1.45rem;
				border: 3px solid var(--brand);
				border-radius: 999px;
				background: var(--brand);
				color: #fff;
				font-weight: 900;
				text-decoration: none;
			}

			body.page-module-5 .btn-alt {
				background: #fff;
				color: var(--brand);
			}

			body.page-module-5 .section {
				padding: 58px 0;
			}

			body.page-module-5 .section h2 {
				font-size: clamp(2rem, 3.4vw, 3.35rem);
				line-height: 1;
				margin: 0 0 18px;
			}

			body.page-module-5 .content-grid {
				display: grid;
				grid-template-columns: minmax(0, 1fr) 320px;
				gap: 26px;
				align-items: start;
			}

			body.page-module-5 .panel {
				background: #fff;
				border: 1px solid var(--line);
				border-radius: var(--radius);
				box-shadow: 0 12px 30px rgba(16, 24, 40, .08);
				padding: 30px;
			}

			body.page-module-5 .panel + .panel {
				margin-top: 18px;
			}

			body.page-module-5 .panel p {
				color: #344054;
				max-width: 78ch;
			}

			body.page-module-5 .callout {
				border-left: 7px solid var(--module);
				background: #FFF6F6;
				padding: 18px 20px;
				margin-top: 22px;
				border-radius: 0 16px 16px 0;
			}

			body.page-module-5 .callout p {
				margin: 0;
			}

			body.page-module-5 .check-list {
				display: grid;
				gap: 12px;
				padding-left: 1.3rem;
				margin: 18px 0 0;
			}

			body.page-module-5 .method-steps {
				display: grid;
				gap: 1rem;
				margin-top: 1.5rem;
			}

			body.page-module-5 .method-steps article {
				padding: 1.25rem;
				border: 1px solid #dedede;
				border-radius: 1rem;
				background: #fff;
				text-align: left;
			}

			body.page-module-5 .method-steps h3 {
				margin: 0;
				font-size: 1.05rem;
			}

			body.page-module-5 .method-steps p {
				margin: 0.25rem 0 0;
				color: #555;
			}

			@media (min-width: 760px) {
				body.page-module-5 .method-steps {
					grid-template-columns: 1fr;
				}
			}

			body.page-module-5 .learning-grid {
				display: grid;
				grid-template-columns: repeat(2, minmax(0, 1fr));
				gap: 14px;
				margin-top: 20px;
			}

			body.page-module-5 .learning-grid article {
				border: 1px solid var(--line);
				border-radius: 18px;
				background: #fff;
				padding: 20px;
				box-shadow: 0 8px 24px rgba(16, 24, 40, .06);
			}

			body.page-module-5 .learning-grid strong {
				display: block;
				color: #AE0000;
				font-size: 1.08rem;
				line-height: 1.2;
				margin-bottom: .45rem;
			}

			body.page-module-5 .learning-grid p {
				margin: 0;
				color: var(--muted);
			}

			body.page-module-5 .dedication-grid {
				display: grid;
				grid-template-columns: repeat(3, minmax(0, 1fr));
				gap: 14px;
				margin-top: 20px;
			}

			body.page-module-5 .dedication-item {
				border: 1px solid var(--line);
				border-radius: 18px;
				background: #fff;
				padding: 20px;
				box-shadow: 0 8px 24px rgba(16, 24, 40, .06);
			}

			body.page-module-5 .dedication-item span {
				display: block;
				color: var(--muted);
				font-size: .84rem;
				font-weight: 900;
				text-transform: uppercase;
				letter-spacing: .06em;
				margin-bottom: .35rem;
			}

			body.page-module-5 .dedication-item strong {
				display: block;
				color: #AE0000;
				font-size: clamp(1.35rem, 3vw, 2rem);
				line-height: 1;
				margin-bottom: .55rem;
			}

			body.page-module-5 .dedication-item p {
				margin: 0;
				color: var(--muted);
			}

			body.page-module-5 .program-list {
				display: grid;
				gap: 14px;
				margin-top: 22px;
			}

			body.page-module-5 .program-item {
				display: block;
				padding: 20px;
				border: 1px solid var(--line);
				border-radius: 18px;
				background: #fff;
			}

			body.page-module-5 .program-item h3 {
				margin: 0 0 6px;
				font-size: 1.2rem;
				line-height: 1.2;
			}

			body.page-module-5 .program-item p {
				margin: 0;
				color: var(--muted);
			}

			body.page-module-5 .program-item ul {
				margin: 0;
				padding-left: 1.2rem;
				color: var(--muted);
			}

			body.page-module-5 .program-item li + li {
				margin-top: .35rem;
			}

			body.page-module-5 .facts {
				display: grid;
				grid-template-columns: repeat(2, minmax(0, 1fr));
				gap: 14px;
				margin-top: 18px;
			}

			body.page-module-5 .fact {
				border: 1px solid var(--line);
				background: #fff;
				border-radius: 18px;
				padding: 18px;
			}

			body.page-module-5 .fact span {
				display: block;
				color: var(--muted);
				font-size: .84rem;
				font-weight: 900;
				text-transform: uppercase;
				letter-spacing: .06em;
				margin-bottom: 4px;
			}

			body.page-module-5 .fact strong {
				display: block;
				line-height: 1.25;
			}

			body.page-module-5 .dates-panel {
				display: grid;
				gap: 1.5rem;
			}

			body.page-module-5 .date-highlight {
				display: flex;
				justify-content: space-between;
				gap: 1rem;
				padding: 1.5rem;
				border-radius: 1.25rem;
				background: #FFF6F6;
				border: 1px solid #F1D4D4;
			}

			body.page-module-5 .date-highlight strong {
				display: block;
				margin-top: 0.25rem;
				font-size: clamp(1.35rem, 3vw, 2rem);
				color: #AE0000;
			}

			body.page-module-5 .date-highlight p {
				margin: 0;
				align-self: end;
				font-weight: 600;
			}

			body.page-module-5 .date-label,
			body.page-module-5 .next-period span {
				display: block;
				font-size: 0.85rem;
				font-weight: 700;
				text-transform: uppercase;
				letter-spacing: 0.04em;
				color: #435c6d;
			}

			body.page-module-5 .session-timeline {
				display: grid;
				grid-template-columns: repeat(5, minmax(110px, 1fr));
				gap: 0.75rem;
			}

			body.page-module-5 .session {
				position: relative;
				padding: 1rem;
				border-radius: 1rem;
				background: #ffffff;
				border: 1px solid #d9d9d9;
				box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
			}

			body.page-module-5 .session::before {
				content: "";
				position: absolute;
				top: 1.35rem;
				left: -0.75rem;
				width: 0.75rem;
				height: 2px;
				background: #AE0000;
			}

			body.page-module-5 .session:first-child::before {
				display: none;
			}

			body.page-module-5 .day {
				display: block;
				font-size: 2rem;
				line-height: 1;
				font-weight: 800;
				color: #AE0000;
			}

			body.page-module-5 .month {
				display: block;
				margin: 0.2rem 0 0.75rem;
				font-size: 0.8rem;
				font-weight: 800;
				letter-spacing: 0.08em;
				color: #5f5f5f;
			}

			body.page-module-5 .session strong {
				display: block;
				font-size: 0.95rem;
			}

			body.page-module-5 .next-period {
				padding: 1rem 1.25rem;
				border-left: 5px solid #AE0000;
				background: #f8f8f8;
				border-radius: 0.75rem;
			}

			body.page-module-5 .next-period strong {
				display: block;
				margin-top: 0.25rem;
				font-size: 1.1rem;
			}

			body.page-module-5 .interest-cta {
				margin-top: 1.6rem;
				padding: clamp(1.6rem, 4vw, 3rem);
				border-radius: 1.35rem;
				background: #AE0000;
				color: #fff;
				box-shadow: 0 18px 42px rgba(174, 0, 0, .22);
			}

			body.page-module-5 .interest-cta h3 {
				margin: 0 0 .85rem;
				font-size: clamp(2rem, 4.5vw, 3.4rem);
				line-height: 1;
				color: #fff;
			}

			body.page-module-5 .interest-cta p {
				margin: 0;
				max-width: 72ch;
				color: #fff;
				font-size: 1.1rem;
				font-weight: 650;
			}

			body.page-module-5 .interest-cta a {
				display: inline-flex;
				align-items: center;
				justify-content: center;
				margin-top: 1.35rem;
				min-height: 54px;
				padding: .85rem 1.25rem;
				border: 3px solid #fff;
				border-radius: 999px;
				background: #fff;
				color: #AE0000;
				font-weight: 900;
				text-decoration: none;
			}

			body.page-module-5 .interest-cta a:hover {
				background: transparent;
				color: #fff;
			}

			body.page-module-5 .teacher-grid {
				display: grid;
				grid-template-columns: repeat(2, minmax(0, 1fr));
				gap: 16px;
				margin-top: 18px;
			}

			body.page-module-5 .teacher-card {
				border: 1px solid var(--line);
				background: #fff;
				border-radius: 18px;
				padding: 18px;
			}

			body.page-module-5 .teacher-card h3 {
				margin: 0 0 4px;
			}

			body.page-module-5 .teacher-card p {
				margin: 0;
				color: var(--muted);
			}

			body.page-module-5 .sidebar {
				position: sticky;
				top: 22px;
			}

			body.page-module-5 .sidebar nav ul {
				list-style: none;
				margin: 0;
				padding: 0;
				display: grid;
				gap: 8px;
			}

			body.page-module-5 .sidebar nav a {
				display: block;
				padding: 10px 12px;
				border-radius: 12px;
				text-decoration: none;
				font-weight: 850;
				color: var(--brand);
				background: var(--brand-soft);
			}

			body.page-module-5 footer {
				padding: 34px 0;
				background: #101828;
				color: #fff;
			}

			body.page-module-5 .footer-logo {
				max-width: 170px;
				height: auto;
				display: block;
				margin-bottom: 18px;
			}

			body.page-module-5 footer p {
				margin: .35rem 0;
			}

			@media (max-width: 900px) {
				body.page-module-5 .hero-main,
				body.page-module-5 .content-grid {
					grid-template-columns: 1fr;
				}

				body.page-module-5 .hero-main {
					padding: 34px;
				}

				body.page-module-5 .sidebar {
					position: static;
				}
			}

			@media (max-width: 620px) {
				body.page-module-5 .wrap {
					width: min(100% - 28px, 1160px);
				}

				body.page-module-5 .hero {
					padding-top: 18px;
				}

				body.page-module-5 .hero-main,
				body.page-module-5 .panel {
					padding: 22px 16px;
				}

				body.page-module-5 .facts,
				body.page-module-5 .dedication-grid,
				body.page-module-5 .learning-grid,
				body.page-module-5 .teacher-grid {
					grid-template-columns: 1fr;
				}

				body.page-module-5 .program-item {
					grid-template-columns: 1fr;
				}

				body.page-module-5 .actions .btn {
					width: 100%;
				}

				body.page-module-5 .modules-menu {
					width: 100%;
				}

				body.page-module-5 .modules-dropdown {
					position: static;
					width: 100%;
					margin-top: 10px;
				}
			}

			@media (max-width: 760px) {
				body.page-module-5 .date-highlight {
					display: block;
				}

				body.page-module-5 .date-highlight p {
					margin-top: 0.75rem;
				}

				body.page-module-5 .session-timeline {
					grid-template-columns: 1fr;
				}

				body.page-module-5 .session::before {
					top: -0.75rem;
					left: 1.5rem;
					width: 2px;
					height: 0.75rem;
				}
			}




/* Modulo 3 */
body.page-module-3 {
				--ink: #101828;
				--muted: #475467;
				--bg: #FDFDFD;
				--surface: #ffffff;
				--line: #d0d5dd;
				--focus: #101828;
				--brand: #154B5E;
				--brand-dark: #0f3543;
				--brand-soft: #F4FAFB;
				--module: #154B5E;
				--radius: 24px;
				--shadow: 0 20px 55px rgba(16, 24, 40, .14);
			}

			body.page-module-3 * {
				box-sizing: border-box;
			}

			html {
				scroll-behavior: smooth;
			}

			body.page-module-3 {
				margin: 0;
				font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
				color: var(--ink);
				background: var(--bg);
				line-height: 1.55;
				font-size: 18px;
			}

			body.page-module-3 a {
				color: inherit;
				text-underline-offset: .18em;
			}

			body.page-module-3 a:hover {
				text-decoration-thickness: 3px;
			}

			body.page-module-3 :focus-visible {
				outline: 4px solid var(--focus);
				outline-offset: 4px;
			}

			body.page-module-3 .skip {
				position: absolute;
				left: 1rem;
				top: 1rem;
				background: #000;
				color: #fff;
				padding: .75rem 1rem;
				z-index: 20;
				transform: translateY(-150%);
			}

			body.page-module-3 .skip:focus {
				transform: none;
			}

			body.page-module-3 .wrap {
				width: min(1160px, calc(100% - 32px));
				margin-inline: auto;
			}

			body.page-module-3 .topbar {
				padding: 20px 0;
				background: #fff;
				border-bottom: 1px solid rgba(16, 24, 40, .08);
			}

			body.page-module-3 .nav {
				display: flex;
				gap: 16px;
				align-items: flex-start;
				justify-content: flex-start;
				flex-direction: column;
			}

			body.page-module-3 .nav > nav {
				width: 100%;
			}

			body.page-module-3 .logo {
				display: inline-flex;
				align-items: center;
				gap: 16px;
				font-size: clamp(1.25rem, 1.5vw, 1.75rem);
				line-height: 1.1;
				font-weight: 900;
				text-decoration: none;
			}

			body.page-module-3 .header-icon {
				display: inline-grid;
				place-items: center;
				width: 58px;
				height: 58px;
				border-radius: 50%;
				background: var(--brand);
				color: #fff;
				flex: 0 0 58px;
				object-fit: cover;
			}

			body.page-module-3 .menu {
				display: flex;
				gap: clamp(14px, 1.7vw, 26px);
				align-items: center;
				justify-content: flex-start;
				margin: 0;
				padding: 0;
				list-style: none;
				flex-wrap: wrap;
			}

			body.page-module-3 .menu a {
				font-size: clamp(.95rem, 1vw, 1.05rem);
				line-height: 1.1;
				text-decoration: none;
				font-weight: 900;
			}

			body.page-module-3 .menu a:hover,
			body.page-module-3 .menu a[aria-current="page"] {
				text-decoration: underline;
			}

			body.page-module-3 .modules-menu {
				position: relative;
			}

			body.page-module-3 .modules-menu summary {
				display: inline-flex;
				align-items: center;
				gap: .35rem;
				font-size: clamp(.95rem, 1vw, 1.05rem);
				line-height: 1.1;
				font-weight: 900;
				cursor: pointer;
				list-style: none;
			}

			body.page-module-3 .modules-menu summary::-webkit-details-marker {
				display: none;
			}

			body.page-module-3 .modules-menu summary::after {
				content: "";
				width: .45rem;
				height: .45rem;
				border-right: 2px solid currentColor;
				border-bottom: 2px solid currentColor;
				rotate: 45deg;
				translate: 0 -.12rem;
			}

			body.page-module-3 .modules-menu[open] summary::after {
				rotate: 225deg;
				translate: 0 .12rem;
			}

			body.page-module-3 .modules-dropdown {
				position: absolute;
				top: calc(100% + 12px);
				left: 0;
				z-index: 30;
				display: grid;
				gap: 6px;
				width: min(320px, calc(100vw - 32px));
				margin: 0;
				padding: 10px;
				list-style: none;
				border: 1px solid var(--line);
				border-radius: 18px;
				background: #fff;
				box-shadow: 0 18px 42px rgba(16, 24, 40, .14);
			}

			body.page-module-3 .modules-dropdown a {
				display: block;
				padding: .8rem .9rem;
				border-radius: 12px;
				color: var(--brand);
			}

			body.page-module-3 .modules-dropdown a:hover,
			body.page-module-3 .modules-dropdown a[aria-current="page"] {
				background: var(--brand-soft);
			}

			body.page-module-3 .hero {
				padding: 48px 0 0;
				background: linear-gradient(135deg, #fff 0%, var(--brand-soft) 100%);
			}

			body.page-module-3 .breadcrumbs {
				padding: 22px 0 0;
				background: linear-gradient(135deg, #fff 0%, var(--brand-soft) 100%);
			}

			body.page-module-3 .breadcrumbs ol {
				display: flex;
				gap: .5rem;
				align-items: center;
				flex-wrap: wrap;
				margin: 0;
				padding: 0;
				list-style: none;
				color: var(--muted);
				font-size: .95rem;
				font-weight: 700;
			}

			body.page-module-3 .breadcrumbs li + li::before {
				content: "/";
				margin-right: .5rem;
				color: #667085;
			}

			body.page-module-3 .breadcrumbs a {
				color: var(--brand);
				font-weight: 900;
			}

			body.page-module-3 .hero-panel {
				background: #fff;
				border: 1px solid rgba(16, 24, 40, .08);
				border-radius: 32px 32px 0 0;
				box-shadow: var(--shadow);
				overflow: hidden;
			}

			body.page-module-3 .hero-main {
				display: grid;
				grid-template-columns: 1.15fr .85fr;
				gap: 32px;
				align-items: center;
				padding: 54px;
			}

			body.page-module-3 h1,
			body.page-module-3 h2,
			body.page-module-3 h3 {
				letter-spacing: 0;
			}

			body.page-module-3 h1 {
				font-size: clamp(2.8rem, 6vw, 5.4rem);
				line-height: .95;
				margin: 0 0 18px;
				max-width: 980px;
			}

			body.page-module-3 .lead {
				font-size: clamp(1.15rem, 2vw, 1.45rem);
				color: var(--muted);
				max-width: 820px;
				margin: 0 0 18px;
			}

			body.page-module-3 .hero-card {
				background: var(--module);
				color: #fff;
				border-radius: var(--radius);
				padding: 28px;
			}

			body.page-module-3 .hero-card h2 {
				font-size: 1.45rem;
				line-height: 1.15;
				margin: 0 0 18px;
			}

			body.page-module-3 .hero-card dl {
				display: grid;
				gap: 14px;
				margin: 0;
			}

			body.page-module-3 .hero-card dt {
				font-size: .84rem;
				font-weight: 900;
				text-transform: uppercase;
				letter-spacing: .08em;
				opacity: .85;
			}

			body.page-module-3 .hero-card dd {
				margin: 2px 0 0;
				font-weight: 800;
			}

			body.page-module-3 .actions {
				display: flex;
				gap: 12px;
				flex-wrap: wrap;
				margin-top: 26px;
			}

			body.page-module-3 .btn {
				display: inline-flex;
				align-items: center;
				justify-content: center;
				min-height: 54px;
				padding: .9rem 1.45rem;
				border: 3px solid var(--brand);
				border-radius: 999px;
				background: var(--brand);
				color: #fff;
				font-weight: 900;
				text-decoration: none;
			}

			body.page-module-3 .btn-alt {
				background: #fff;
				color: var(--brand);
			}

			body.page-module-3 .section {
				padding: 58px 0;
			}

			body.page-module-3 .section h2 {
				font-size: clamp(2rem, 3.4vw, 3.35rem);
				line-height: 1;
				margin: 0 0 18px;
			}

			body.page-module-3 .content-grid {
				display: grid;
				grid-template-columns: minmax(0, 1fr) 320px;
				gap: 26px;
				align-items: start;
			}

			body.page-module-3 .panel {
				background: #fff;
				border: 1px solid var(--line);
				border-radius: var(--radius);
				box-shadow: 0 12px 30px rgba(16, 24, 40, .08);
				padding: 30px;
			}

			body.page-module-3 .panel + .panel {
				margin-top: 18px;
			}

			body.page-module-3 .panel p {
				color: #344054;
				max-width: 78ch;
			}

			body.page-module-3 .callout {
				border-left: 7px solid var(--module);
				background: #F4FAFB;
				padding: 18px 20px;
				margin-top: 22px;
				border-radius: 0 16px 16px 0;
			}

			body.page-module-3 .callout p {
				margin: 0;
			}

			body.page-module-3 .check-list {
				display: grid;
				gap: 12px;
				padding-left: 1.3rem;
				margin: 18px 0 0;
			}

			body.page-module-3 .method-steps {
				display: grid;
				gap: 1rem;
				margin-top: 1.5rem;
			}

			body.page-module-3 .method-steps article {
				padding: 1.25rem;
				border: 1px solid #dedede;
				border-radius: 1rem;
				background: #fff;
				text-align: left;
			}

			body.page-module-3 .method-steps h3 {
				margin: 0;
				font-size: 1.05rem;
			}

			body.page-module-3 .method-steps p {
				margin: 0.25rem 0 0;
				color: #555;
			}

			@media (min-width: 760px) {
				body.page-module-3 .method-steps {
					grid-template-columns: 1fr;
				}
			}

			body.page-module-3 .learning-grid {
				display: grid;
				grid-template-columns: repeat(2, minmax(0, 1fr));
				gap: 14px;
				margin-top: 20px;
			}

			body.page-module-3 .learning-grid article {
				border: 1px solid var(--line);
				border-radius: 18px;
				background: #fff;
				padding: 20px;
				box-shadow: 0 8px 24px rgba(16, 24, 40, .06);
			}

			body.page-module-3 .learning-grid strong {
				display: block;
				color: #154B5E;
				font-size: 1.08rem;
				line-height: 1.2;
				margin-bottom: .45rem;
			}

			body.page-module-3 .learning-grid p {
				margin: 0;
				color: var(--muted);
			}

			body.page-module-3 .dedication-grid {
				display: grid;
				grid-template-columns: repeat(3, minmax(0, 1fr));
				gap: 14px;
				margin-top: 20px;
			}

			body.page-module-3 .dedication-item {
				border: 1px solid var(--line);
				border-radius: 18px;
				background: #fff;
				padding: 20px;
				box-shadow: 0 8px 24px rgba(16, 24, 40, .06);
			}

			body.page-module-3 .dedication-item span {
				display: block;
				color: var(--muted);
				font-size: .84rem;
				font-weight: 900;
				text-transform: uppercase;
				letter-spacing: .06em;
				margin-bottom: .35rem;
			}

			body.page-module-3 .dedication-item strong {
				display: block;
				color: #154B5E;
				font-size: clamp(1.35rem, 3vw, 2rem);
				line-height: 1;
				margin-bottom: .55rem;
			}

			body.page-module-3 .dedication-item p {
				margin: 0;
				color: var(--muted);
			}

			body.page-module-3 .program-list {
				display: grid;
				gap: 14px;
				margin-top: 22px;
			}

			body.page-module-3 .program-item {
				display: block;
				padding: 20px;
				border: 1px solid var(--line);
				border-radius: 18px;
				background: #fff;
			}

			body.page-module-3 .program-item h3 {
				margin: 0 0 6px;
				font-size: 1.2rem;
				line-height: 1.2;
			}

			body.page-module-3 .program-item p {
				margin: 0;
				color: var(--muted);
			}

			body.page-module-3 .program-item ul {
				margin: 0;
				padding-left: 1.2rem;
				color: var(--muted);
			}

			body.page-module-3 .program-item li + li {
				margin-top: .35rem;
			}

			body.page-module-3 .facts {
				display: grid;
				grid-template-columns: repeat(2, minmax(0, 1fr));
				gap: 14px;
				margin-top: 18px;
			}

			body.page-module-3 .fact {
				border: 1px solid var(--line);
				background: #fff;
				border-radius: 18px;
				padding: 18px;
			}

			body.page-module-3 .fact span {
				display: block;
				color: var(--muted);
				font-size: .84rem;
				font-weight: 900;
				text-transform: uppercase;
				letter-spacing: .06em;
				margin-bottom: 4px;
			}

			body.page-module-3 .fact strong {
				display: block;
				line-height: 1.25;
			}

			body.page-module-3 .dates-panel {
				display: grid;
				gap: 1.5rem;
			}

			body.page-module-3 .date-highlight {
				display: flex;
				justify-content: space-between;
				gap: 1rem;
				padding: 1.5rem;
				border-radius: 1.25rem;
				background: #F4FAFB;
				border: 1px solid #D8ECEF;
			}

			body.page-module-3 .date-highlight strong {
				display: block;
				margin-top: 0.25rem;
				font-size: clamp(1.35rem, 3vw, 2rem);
				color: #154B5E;
			}

			body.page-module-3 .date-highlight p {
				margin: 0;
				align-self: end;
				font-weight: 600;
			}

			body.page-module-3 .date-label,
			body.page-module-3 .next-period span {
				display: block;
				font-size: 0.85rem;
				font-weight: 700;
				text-transform: uppercase;
				letter-spacing: 0.04em;
				color: #435c6d;
			}

			body.page-module-3 .session-timeline {
				display: grid;
				grid-template-columns: repeat(5, minmax(110px, 1fr));
				gap: 0.75rem;
			}

			body.page-module-3 .session {
				position: relative;
				padding: 1rem;
				border-radius: 1rem;
				background: #ffffff;
				border: 1px solid #d9d9d9;
				box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
			}

			body.page-module-3 .session::before {
				content: "";
				position: absolute;
				top: 1.35rem;
				left: -0.75rem;
				width: 0.75rem;
				height: 2px;
				background: #154B5E;
			}

			body.page-module-3 .session:first-child::before {
				display: none;
			}

			body.page-module-3 .day {
				display: block;
				font-size: 2rem;
				line-height: 1;
				font-weight: 800;
				color: #154B5E;
			}

			body.page-module-3 .month {
				display: block;
				margin: 0.2rem 0 0.75rem;
				font-size: 0.8rem;
				font-weight: 800;
				letter-spacing: 0.08em;
				color: #5f5f5f;
			}

			body.page-module-3 .session strong {
				display: block;
				font-size: 0.95rem;
			}

			body.page-module-3 .next-period {
				padding: 1rem 1.25rem;
				border-left: 5px solid #154B5E;
				background: #f8f8f8;
				border-radius: 0.75rem;
			}

			body.page-module-3 .next-period strong {
				display: block;
				margin-top: 0.25rem;
				font-size: 1.1rem;
			}

			body.page-module-3 .interest-cta {
				margin-top: 1.6rem;
				padding: clamp(1.6rem, 4vw, 3rem);
				border-radius: 1.35rem;
				background: #154B5E;
				color: #fff;
				box-shadow: 0 18px 42px rgba(21, 75, 94, .24);
			}

			body.page-module-3 .interest-cta h3 {
				margin: 0 0 .85rem;
				font-size: clamp(2rem, 4.5vw, 3.4rem);
				line-height: 1;
				color: #fff;
			}

			body.page-module-3 .interest-cta p {
				margin: 0;
				max-width: 72ch;
				color: #fff;
				font-size: 1.1rem;
				font-weight: 650;
			}

			body.page-module-3 .interest-cta a {
				display: inline-flex;
				align-items: center;
				justify-content: center;
				margin-top: 1.35rem;
				min-height: 54px;
				padding: .85rem 1.25rem;
				border: 3px solid #fff;
				border-radius: 999px;
				background: #fff;
				color: #154B5E;
				font-weight: 900;
				text-decoration: none;
			}

			body.page-module-3 .interest-cta a:hover {
				background: transparent;
				color: #fff;
			}

			body.page-module-3 .teacher-grid {
				display: grid;
				grid-template-columns: repeat(2, minmax(0, 1fr));
				gap: 16px;
				margin-top: 18px;
			}

			body.page-module-3 .teacher-card {
				border: 1px solid var(--line);
				background: #fff;
				border-radius: 18px;
				padding: 18px;
			}

			body.page-module-3 .teacher-card h3 {
				margin: 0 0 4px;
			}

			body.page-module-3 .teacher-card p {
				margin: 0;
				color: var(--muted);
			}

			body.page-module-3 .sidebar {
				position: sticky;
				top: 22px;
			}

			body.page-module-3 .sidebar nav ul {
				list-style: none;
				margin: 0;
				padding: 0;
				display: grid;
				gap: 8px;
			}

			body.page-module-3 .sidebar nav a {
				display: block;
				padding: 10px 12px;
				border-radius: 12px;
				text-decoration: none;
				font-weight: 850;
				color: var(--brand);
				background: var(--brand-soft);
			}

			body.page-module-3 footer {
				padding: 34px 0;
				background: #101828;
				color: #fff;
			}

			body.page-module-3 .footer-logo {
				max-width: 170px;
				height: auto;
				display: block;
				margin-bottom: 18px;
			}

			body.page-module-3 footer p {
				margin: .35rem 0;
			}

			@media (max-width: 900px) {
				body.page-module-3 .hero-main,
				body.page-module-3 .content-grid {
					grid-template-columns: 1fr;
				}

				body.page-module-3 .hero-main {
					padding: 34px;
				}

				body.page-module-3 .sidebar {
					position: static;
				}
			}

			@media (max-width: 620px) {
				body.page-module-3 .wrap {
					width: min(100% - 28px, 1160px);
				}

				body.page-module-3 .hero {
					padding-top: 18px;
				}

				body.page-module-3 .hero-main,
				body.page-module-3 .panel {
					padding: 22px 16px;
				}

				body.page-module-3 .facts,
				body.page-module-3 .dedication-grid,
				body.page-module-3 .learning-grid,
				body.page-module-3 .teacher-grid {
					grid-template-columns: 1fr;
				}

				body.page-module-3 .program-item {
					grid-template-columns: 1fr;
				}

				body.page-module-3 .actions .btn {
					width: 100%;
				}

				body.page-module-3 .modules-menu {
					width: 100%;
				}

				body.page-module-3 .modules-dropdown {
					position: static;
					width: 100%;
					margin-top: 10px;
				}
			}

			@media (max-width: 760px) {
				body.page-module-3 .date-highlight {
					display: block;
				}

				body.page-module-3 .date-highlight p {
					margin-top: 0.75rem;
				}

				body.page-module-3 .session-timeline {
					grid-template-columns: 1fr;
				}

				body.page-module-3 .session::before {
					top: -0.75rem;
					left: 1.5rem;
					width: 2px;
					height: 0.75rem;
				}
			}

			/* Shared header navigation */
			body[class^="page-"] .nav {
				display: grid;
				grid-template-columns: minmax(0, 1fr) auto;
				gap: 14px 16px;
				align-items: center;
			}

			body[class^="page-"] .nav > nav {
				grid-column: 1 / -1;
				width: 100%;
			}

			body[class^="page-"] .logo {
				min-width: 0;
			}

			body[class^="page-"]:not(.page-index) .logo-text {
				display: flex;
				flex-direction: column;
				min-width: 0;
			}

			body[class^="page-"]:not(.page-index) .logo-title,
			body[class^="page-"]:not(.page-index) .logo-subline {
				display: block;
				min-width: 0;
			}

			body[class^="page-"]:not(.page-index) .logo-title {
				font-size: 1em;
			}

			body[class^="page-"]:not(.page-index) .logo-subline {
				font-size: .88em;
				font-weight: 800;
				color: var(--muted);
			}

			body[class^="page-"]:not(.page-index) .header-icon {
				border-radius: 12px;
			}

			body[class^="page-"] .logo-subline {
				display: inline;
			}

			body[class^="page-"]:not(.page-index) .content-grid {
				grid-template-areas: "content sidebar";
			}

			body[class^="page-"]:not(.page-index) .content-grid > div {
				grid-area: content;
			}

			body[class^="page-"]:not(.page-index) .sidebar {
				grid-area: sidebar;
			}

			body[class^="page-"] .site-nav {
				width: 100%;
			}

			body[class^="page-"] .menu-toggle {
				display: none;
				align-items: center;
				justify-content: center;
				width: 48px;
				height: 48px;
				padding: 0;
				border: 1px solid var(--line);
				border-radius: 999px;
				background: #fff;
				color: var(--ink);
				cursor: pointer;
				box-shadow: 0 8px 20px rgba(16, 24, 40, .08);
			}

			body[class^="page-"] .menu-toggle-icon {
				position: relative;
				display: block;
				width: 20px;
				height: 2px;
				border-radius: 999px;
				background: currentColor;
			}

			body[class^="page-"] .menu-toggle-icon::before,
			body[class^="page-"] .menu-toggle-icon::after {
				content: "";
				position: absolute;
				left: 0;
				width: 20px;
				height: 2px;
				border-radius: 999px;
				background: currentColor;
			}

			body[class^="page-"] .menu-toggle-icon::before {
				top: -6px;
			}

			body[class^="page-"] .menu-toggle-icon::after {
				top: 6px;
			}

			@media (max-width: 900px) {
				body[class^="page-"] .topbar {
					padding: 14px 0;
				}

				body[class^="page-"] .menu-toggle {
					display: inline-flex;
					justify-self: end;
				}

				body[class^="page-"] .logo {
					flex-wrap: wrap;
					row-gap: 4px;
				}

				body[class^="page-"]:not(.page-index) .logo-text {
					row-gap: 2px;
				}

				body[class^="page-"] .logo-subline {
					display: block;
					flex-basis: 100%;
				}

				body[class^="page-"]:not(.page-index) .content-grid {
					grid-template-areas:
						"sidebar"
						"content";
				}

				body[class^="page-"] .site-nav {
					display: none;
				}

				body[class^="page-"] .site-nav.is-open {
					display: block;
				}

				body[class^="page-"] .menu {
					flex-direction: column;
					align-items: flex-start;
					width: 100%;
					gap: 10px;
				}

				body[class^="page-"] .menu > li {
					width: 100%;
				}

				body[class^="page-"] .menu a,
				body[class^="page-"] .modules-menu summary {
					display: flex;
					align-items: center;
					width: 100%;
					padding: .55rem 0;
					justify-content: space-between;
				}

				body[class^="page-"] .modules-menu {
					width: 100%;
				}

				body[class^="page-"] .modules-dropdown {
					position: static;
					width: 100%;
					margin-top: 10px;
				}
			}

			@media (max-width: 620px) {
				body.page-index .teacher-media {
					aspect-ratio: 4 / 3;
					min-height: 170px;
					max-height: 190px;
				}

				body.page-index .teacher-photo {
					object-position: center 18%;
				}

				body[class^="page-module-"] .hero-main {
					gap: 18px;
				}

				body[class^="page-module-"] .hero-main > div,
				body[class^="page-module-"] .hero-card,
				body[class^="page-module-"] .panel,
				body[class^="page-module-"] .sidebar {
					min-width: 0;
				}

				body[class^="page-"]:not(.page-index) .logo-title {
					font-size: .95rem;
					line-height: 1.15;
				}

				body[class^="page-"]:not(.page-index) .logo-subline {
					font-size: .78rem;
					line-height: 1.25;
				}

				body[class^="page-module-"] h1 {
					font-size: clamp(1.8rem, 7vw, 2.4rem);
					line-height: 1.05;
					max-width: 100%;
					overflow-wrap: anywhere;
				}

				body[class^="page-module-"] .actions {
					flex-direction: column;
					align-items: stretch;
					width: 100%;
				}

				body[class^="page-module-"] .actions .btn,
				body[class^="page-module-"] .actions .btn-alt {
					width: 100%;
					max-width: 100%;
					justify-content: center;
					text-align: center;
					white-space: normal;
				}

				body[class^="page-module-"] .hero-card {
					padding-inline: 16px;
				}
			}

			@media (max-width: 480px) {
				body.page-index .teacher-media {
					min-height: 150px;
					max-height: 170px;
				}

				body.page-index .teacher-body {
					padding: 16px;
				}

				body.page-index .teacher h3 {
					font-size: 1rem;
				}

				body[class^="page-module-"] .hero-main,
				body[class^="page-module-"] .panel {
					padding-inline: 14px;
				}

				body[class^="page-module-"] h1 {
					font-size: clamp(1.65rem, 8vw, 2.15rem);
				}

				body[class^="page-module-"] .actions .btn,
				body[class^="page-module-"] .actions .btn-alt {
					padding-inline: 16px;
				}
			}
