.programme-page { background: #fcfbf8; }
.signup-section h2 { text-wrap: balance; }
.preview-note { background: #eeecfc; color: #443bb3; text-align: center; padding: 7px 16px; font-size: .78rem; }
.programme-nav { display:flex; align-items:center; justify-content:space-between; gap:16px; padding-block:18px; }
.programme-nav .nav-logo span { display:block; font-size:.72rem; font-weight:400; color:var(--color-text-muted); }
.eyebrow { font-size:.72rem; text-transform:uppercase; letter-spacing:.14em; font-weight:700; color:var(--color-accent); margin-bottom:18px; }
.programme-hero { display:grid; grid-template-columns:1fr auto; gap:80px; align-items:center; padding-block:76px; }
.programme-hero h1 { font-size:clamp(2.7rem,5.2vw,4.4rem); line-height:1.06; letter-spacing:-.055em; margin-bottom:26px; }
.programme-hero h1 em { font-style:normal; color:var(--color-accent); }
.programme-hero p:not(.eyebrow) { max-width:540px; margin-bottom:20px; color:var(--color-text-muted); }
.programme-hero p.hero-intro { font-size:1.2rem; line-height:1.65; margin-bottom:8px; }
.programme-hero p.hero-love { font-size:1.6rem; font-weight:700; letter-spacing:-.03em; color:var(--color-text); margin-bottom:18px; }
.programme-hero .btn { margin:8px 0 16px; }
.small-note { font-size:.83rem; color:var(--color-text-muted); line-height:1.6; }
.mentor-photo { margin:0; flex-shrink:0; }
.mentor-photo img { width:290px; height:380px; object-fit:cover; object-position:center; border-radius:var(--radius-lg); border:1px solid var(--color-border); box-shadow:0 8px 28px rgba(22,24,41,.1); display:block; }
.mentor-photo figcaption { margin-top:14px; max-width:290px; }
.mentor-photo figcaption strong,.mentor-photo figcaption span { display:block; }
.mentor-photo figcaption strong { font-size:.9rem; }.mentor-photo figcaption span { font-size:.78rem; color:var(--color-text-muted); margin-top:2px; }
.intro-section { padding-block:8px 64px; }.intro-section h2 { max-width:820px; }.intro-copy { max-width:760px; }.intro-copy p { font-size:1.08rem; line-height:1.7; color:var(--color-text); margin-bottom:18px; }
.format-section { padding:40px 0; border-block:1px solid #e5e2da; background:#f3f1eb; }
.format-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:28px; margin-bottom:18px; }.format-grid strong { display:block; font-size:1.2rem; letter-spacing:-.03em; line-height:1.25; }.format-grid span { display:block; font-size:.85rem; color:var(--color-text-muted); margin-top:8px; line-height:1.55; }
.programme-section { padding-block:84px; }.section-heading { max-width:620px; margin-bottom:40px; }
.programme-page h2 { font-size:clamp(2rem,3.4vw,2.85rem); line-height:1.15; letter-spacing:-.04em; margin-bottom:22px; }.section-heading>p:last-child { color:var(--color-text-muted); }
.modules-section { padding-top:72px; }.month { margin-bottom:64px; }.month:last-of-type { margin-bottom:0; }
.month-title { font-size:1.4rem; line-height:1.25; letter-spacing:-.025em; margin-bottom:8px; padding-bottom:14px; border-bottom:2px solid var(--color-accent); }.month-title span { display:block; font-size:.72rem; text-transform:uppercase; letter-spacing:.14em; font-weight:700; color:var(--color-accent); margin-bottom:8px; }
.module-list { display:grid; grid-template-columns:1fr 1fr; gap:0 40px; }.module { border-bottom:1px solid #d8d5cd; padding:26px 0 18px; }
.module-number { display:block; font-size:.75rem; color:var(--color-accent); font-weight:600; margin-bottom:12px; }.module h4 { font-size:1.15rem; line-height:1.3; letter-spacing:-.015em; margin-bottom:6px; }.module-tagline { font-style:italic; color:var(--color-accent); font-size:.95rem; margin-bottom:12px; }.module-hook { font-size:.95rem; line-height:1.6; color:var(--color-text-muted); margin-bottom:14px; }
.module-details summary { cursor:pointer; list-style:none; font-size:.8rem; font-weight:700; color:var(--color-accent); padding:6px 0; }.module-details summary::-webkit-details-marker { display:none; }.module-details summary::before { content:"+"; display:inline-block; width:1.2em; }.module-details[open] summary::before { content:"–"; }
.module-details dl { margin:12px 0 6px; display:grid; gap:14px; }.module-details dt { font-size:.74rem; text-transform:uppercase; letter-spacing:.1em; font-weight:700; margin-bottom:4px; }.module-details dd { font-size:.92rem; line-height:1.6; color:var(--color-text-muted); }.module-details dd a { text-decoration:underline; }
.support-section { background:#25223b; color:#fff; padding-block:66px; }.support-section .eyebrow { color:#bdb6ff; }.support-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:48px; }.support-grid h3 { font-size:1.05rem; margin-bottom:12px; }.support-grid p { color:#dedbe9; font-size:.95rem; line-height:1.65; }
.mentor-section { display:grid; grid-template-columns:1fr 1.1fr; gap:90px; }.mentor-bio>p:not(.eyebrow) { color:var(--color-text-muted); margin-bottom:18px; }.programme-quotes>.eyebrow { margin-bottom:6px; }.programme-quotes blockquote { border-left:2px solid var(--color-accent); padding-left:20px; margin-top:28px; }.programme-quotes blockquote p { font-size:.98rem; }.programme-quotes footer { margin-top:12px; font-size:.8rem; }.programme-quotes footer span { display:block; color:var(--color-text-muted); }
.signup-section { background:#eeecf7; padding-block:72px; scroll-margin-top:100px; }.signup-grid { display:grid; grid-template-columns: .9fr 1.1fr; gap:80px; }.signup-grid>div>p:not(.eyebrow) { margin-bottom:20px; color:var(--color-text-muted); }.programme-form { background:white; border:1px solid #dedbe8; padding:30px; border-radius:14px; display:grid; gap:17px; }.programme-form label { display:block; font-size:.84rem; font-weight:600; }.programme-form input:not([type=checkbox]),.programme-form select,.programme-form textarea { width:100%; margin-top:7px; padding:11px 12px; border:1px solid #ccc9d6; border-radius:6px; background:#fff; color:var(--color-text); font:inherit; font-weight:400; }.programme-form textarea { resize:vertical; }.form-row { display:grid; grid-template-columns:1fr 1fr; gap:15px; }.optional { font-weight:400; color:var(--color-text-muted); }.programme-form .consent { display:flex; gap:10px; align-items:start; font-size:.78rem; font-weight:400; }.consent input { margin-top:5px; flex-shrink:0; }.programme-form .btn { width:100%; }.programme-form #form-status { background:#eeecfc; padding:15px; border-radius:6px; font-size:.9rem; }
.programme-footer { display:flex; justify-content:space-between; gap:20px; padding-block:28px; font-size:.8rem; color:var(--color-text-muted); }
.skip-link { position:absolute; top:-100px; left:10px; z-index:200; background:white; padding:10px; }.skip-link:focus { top:10px; } :focus-visible { outline:3px solid #8277eb; outline-offset:4px; }
@media(max-width:900px) { .programme-hero { gap:32px; }.module-list { grid-template-columns:1fr; }.mentor-section,.signup-grid { gap:40px; }.support-grid { grid-template-columns:1fr; gap:28px; }.format-grid { grid-template-columns:repeat(2,1fr); } }
@media(max-width:620px) { .programme-nav { padding-block:12px; }.programme-nav .nav-logo { font-size:.85rem; }.programme-nav .btn { font-size:.75rem; padding:8px 10px; }.programme-hero { grid-template-columns:1fr; padding-block:42px; gap:28px; }.mentor-photo { margin:0 auto; }.programme-section { padding-block:52px; }.month { margin-bottom:44px; }.module h4 { font-size:1.05rem; }.mentor-section,.signup-grid { grid-template-columns:1fr; gap:32px; }.support-section,.signup-section { padding-block:48px; }.programme-hero p.hero-love { font-size:1.35rem; }.programme-form { padding:22px; }.form-row { grid-template-columns:1fr; }.programme-footer { flex-direction:column; gap:8px; }.format-grid { grid-template-columns:1fr; gap:18px; }.format-grid strong { font-size:1.1rem; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
