/* Approved C: Bridge Marriage membership programme. */
:root{--ink:#173c42;--green:#17616b;--muted:#62787b;--line:#dce7e8;--bg:#f8fafb;--cream:#eaf3f4;--gold:#357f8c;--radius:4px}
body{font-size:15px;-webkit-font-smoothing:antialiased}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-color:#4d929b}
.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}
#sidebar{width:248px;padding:42px 26px 24px;background:#173c42;border:0;color:#f5fafa}
.brand img{filter:grayscale(1) brightness(0) invert(1);opacity:.94}
.course-identity{margin:36px 0 38px;padding-top:25px;border-top:1px solid #ffffff24}
.audience-badge{display:inline-flex;align-items:center;border:1px solid #84a7aa;border-radius:4px;padding:3px 9px;color:#d7e9ea;font-size:12px;font-weight:600;letter-spacing:.04em;white-space:nowrap}
.course-identity p{font-size:13px;font-weight:600;margin-top:14px;line-height:1.9;letter-spacing:.03em}
.course-identity small{display:block;color:#a7bfc1;font-size:11px;margin-top:8px}
.side-label{display:none}
#sidebar nav a{color:#edf7f7;border-radius:0;font-size:12px;padding:13px 15px}
#sidebar nav a:hover,#sidebar nav a[aria-current],#sidebar nav a:focus-visible{background:#ffffff12;border-left:2px solid #aacacc}
#sidebar nav a svg{width:17px;height:17px;flex-shrink:0}
.coach-note{font-size:11px;color:#a7bfc1;padding:20px 0}
.coach-note strong{font-size:13px;font-weight:500;color:#eef7f7;margin-left:12px}
.profile{border-color:#ffffff24;gap:12px;padding-top:22px}
.profile .avatar{background:#ffffff15;color:#f5fafa;font-family:inherit;flex-shrink:0}
.profile small,.about-link{color:#a7bfc1}
.profile .text-button{color:#d7e9ea;font-weight:400}
.about-link{font-size:10px;padding:10px 0}
.admin-mode .coach-note{display:none}
.workspace{margin-left:248px}
.workspace>header{height:82px;padding:0 52px;background:white;gap:18px}
.mobile-course{display:none}
.breadcrumb{font-size:11px;color:var(--muted)}
.preview-badge{font-size:10px;border:0;padding:0;color:var(--muted)}
.preview-badge i{display:none}
#mode-switch{padding:8px 13px;font-size:11px;font-weight:500;border-radius:4px}
main{max-width:1320px;padding:48px 52px 40px;min-height:calc(100dvh - 150px)}
footer{border:0;padding:18px 52px;font-size:9px;letter-spacing:.05em;color:var(--muted)}
h1,.page-heading h1{font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;font-weight:500;letter-spacing:.02em}
.page-heading h1{font-size:29px;line-height:1.7;display:flex;align-items:center;gap:14px}
.page-heading p{font-size:15px;line-height:2;margin-top:12px;max-width:65ch}
.page-heading .chapter-icon{width:54px;height:54px;padding:11px;margin:0;border-radius:50%;background:white;border:1px solid var(--line)}
.member-greeting{font-size:14px;color:var(--ink);font-weight:500;margin-bottom:28px}
.member-greeting span{font-size:13px;margin-left:12px}
.learning-welcome{grid-template-columns:minmax(0,1fr) 245px;gap:24px;margin-bottom:42px}
.learning-welcome h1{font-size:35px;font-weight:500;line-height:1.65;letter-spacing:.03em}
.learning-welcome p{font-size:14px;color:var(--muted);margin-top:18px}
.welcome-art{width:245px;height:160px;object-fit:contain;border-radius:6px;mix-blend-mode:normal}
.member-current{border:1px solid var(--line);background:white;border-radius:4px;margin-bottom:30px;overflow:hidden}
.member-current-body{display:grid;grid-template-columns:1.1fr 1fr;gap:30px;padding:29px 30px}
.current-caption{display:flex;align-items:center;gap:17px;color:var(--green);font-size:12px;letter-spacing:.04em;margin-bottom:16px}
.current-number{font:40px/1 "Hiragino Mincho ProN","Yu Mincho",serif;color:#a2bbbe}
.member-current h2{font-size:23px;letter-spacing:.02em;font-weight:600;line-height:1.7;margin-bottom:15px}
.member-current-body>div>p{font-size:15px;line-height:2;color:var(--muted);max-width:35ch}
.member-outcomes{border-left:1px solid var(--line);padding-left:28px}
.member-outcomes h3{font-size:13px;margin:0 0 16px;font-weight:600}
.member-outcomes ul{list-style:none;padding:0;margin:0}
.member-outcomes li{display:flex;gap:12px;font-size:15px;line-height:2.1;margin:0 0 12px}
.member-outcomes li:last-child{margin-bottom:0}
.member-outcomes li:before{content:'✓';font-size:12px;color:var(--green)}
.member-current-actions{display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid var(--line);background:#fbfdfd;padding:21px 30px}
.member-steps{display:flex;gap:18px;align-items:center;font-size:13px;color:#708487}
.member-steps span{display:flex;align-items:center;gap:7px;white-space:nowrap}
.member-steps b{font-size:9px;font-weight:500;width:20px;height:20px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%}
.member-steps .now,.member-steps .done{color:var(--green)}
.member-steps .now b{background:var(--cream);border-color:#c6dbdd}
.member-steps .done b{background:var(--green);color:white;border-color:var(--green)}
.primary,.secondary{padding:14px 23px;font-size:14px;font-weight:500;border-radius:4px;gap:26px;min-height:46px;line-height:1.7}
.primary{border:1px solid var(--green)}
.primary:hover{background:#134e56}
.member-current .primary{white-space:nowrap}
.stage-map{background:transparent;border-radius:4px;padding:20px 26px;margin:0}
.map-heading h2{font-size:16px;letter-spacing:.04em}
.map-heading>div{display:flex;align-items:baseline;gap:10px}
.map-heading span{font-size:12px}
.map-heading strong{font:500 24px/1.5 -apple-system,BlinkMacSystemFont,sans-serif;color:var(--green)}
.map-heading em{font-size:12px;font-style:normal;margin-left:3px}
.stage-dots{position:relative;gap:0;margin:26px 0 0}
.stage-dots:before,.stage-dots:after{content:'';position:absolute;top:21px;left:6.25%;height:1px;pointer-events:none}
.stage-dots:before{right:6.25%;background:var(--line)}
.stage-dots:after{width:var(--road-fill);background:var(--green);height:2px}
.stage-dots li{z-index:1;min-width:0}
.stage-dots li:after{display:none!important}
.stage-dots button{display:flex;align-items:center;flex-direction:column;gap:10px}
.stage-dots b{font:12px/1.5 -apple-system,BlinkMacSystemFont,sans-serif;background:#f6f9f9;border-color:var(--line);margin:0;letter-spacing:.04em}
.stage-dots .current b{outline:0;box-shadow:0 0 0 5px #e9f1f2;background:var(--green);border-color:var(--green)}
.stage-dots .finished b{border-color:var(--green);background:var(--green);color:white}
.stage-dots span{font-size:12px;white-space:nowrap;line-height:1.7}
.stage-dots .current span{color:var(--green);font-weight:600}
.stage-dots small{font-size:11px;margin:0;display:flex;gap:3px;align-items:center;line-height:1.5;color:#708487}
.stage-dots small svg{width:11px;height:11px}
.stage-dots .current small{color:var(--green)}
.home-support{display:flex;align-items:center;justify-content:space-between;gap:24px;color:var(--muted);font-size:12px;margin:22px 0}
.home-support .text-button{font-size:12px;font-weight:400}
.curriculum-details{margin:20px 0 0;font-size:12px;color:var(--green)}
.curriculum-details>summary{cursor:pointer;width:fit-content}
.curriculum-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:22px}
.curriculum-grid .outcome-chapter{margin:0;border-radius:4px}
.curriculum-grid h3{font-size:15px;display:flex;align-items:center}
.curriculum-grid .outcomes{padding:0;background:none}
.curriculum-grid .eyebrow{display:none}
.chapter-outcomes{margin:22px 0;font-size:13px;color:var(--green)}
.chapter-outcomes summary{cursor:pointer}
.chapter-outcomes .outcomes{background:white}
.card,.lesson-paper,.quiz-option,.outcomes,.chapter-visual{border-radius:4px}
.stage-tabs{gap:8px;margin:28px 0 24px}
.stage-tabs button{font-size:13px;font-weight:500;border-radius:4px;padding:15px 12px}
.stage-paper{max-width:940px;padding:36px}
.stage-paper h2{font-size:23px;line-height:1.8;text-wrap:balance}.stage-paper h2>span{display:inline-block}
.reading,.chapter-topics,.quiz-option,.quiz-feedback,.share-preview,.outcomes ul,.callout{font-size:15px;line-height:2}
.form-note{font-size:12px;line-height:1.9}
.field-label,.notice,.video-card p{font-size:13px}
.eyebrow{font-size:11px;letter-spacing:.1em}
.milestone{border-radius:5px;background:#edf6f5;padding:28px}
.milestone p{font-size:14px}
.earned span{font-size:11px}
.back{display:inline-block;font-size:12px;margin-bottom:22px}
.stage-paper textarea{font-size:15px;min-height:250px}
.stage-paper .form-actions{flex-wrap:wrap;gap:14px}
.stage-paper .form-actions>*{max-width:100%;white-space:normal}
.lock-seal{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--cream);color:var(--green);margin-bottom:22px}
.lock-seal svg{width:25px;height:25px}
.dialog-close{position:absolute;right:16px;top:12px;border:0;background:none;color:var(--muted);font-size:24px;padding:4px 8px}
#chapter-lock-dialog{padding:42px}
#chapter-lock-caption{font-size:11px;margin:0 0 8px}
#chapter-lock-title{font-size:23px;line-height:1.7}
#chapter-lock-title span,.locked-page h1 span{display:inline-block}
#chapter-lock-reason{font-size:15px;line-height:2;color:var(--muted);margin:24px 0;white-space:pre-line}
.lock-steps{background:var(--bg);font-size:12px;line-height:1.9;padding:16px;border-radius:5px;margin:20px 0}
#chapter-lock-return{width:100%;margin-top:16px}
.locked-page{max-width:700px;padding:40px;background:white;border:1px solid var(--line);border-radius:4px;margin:25px auto}
.locked-page h1{font-size:27px;line-height:1.8;margin:16px 0}
.locked-page>p{color:var(--muted);line-height:2;font-size:15px}
dialog::backdrop{background:#123b4355;backdrop-filter:blur(4px)}
@media(max-width:1150px){#sidebar{width:210px;padding:30px 18px}.workspace{margin-left:210px}main{padding:30px}.workspace>header{padding:0 30px}.learning-welcome h1{font-size:30px}.learning-welcome{grid-template-columns:1fr 210px}.welcome-art{width:210px;height:145px}.member-current-body{gap:22px;padding:24px}.member-outcomes{padding-left:22px}.member-current-actions{padding:20px 24px;gap:16px}.member-steps{gap:10px;font-size:12px}.stage-map{padding:22px 16px}.stage-dots span{font-size:10px}.member-current .primary{padding:12px 16px;font-size:13px}}
@media(max-width:900px){.member-current-body{grid-template-columns:1fr}.member-outcomes{padding:20px 0 0;border-left:0;border-top:1px solid var(--line)}.member-current-body>div>p{max-width:none}.member-current-actions{align-items:stretch;flex-direction:column}.member-current .primary{align-self:flex-start}.curriculum-grid{grid-template-columns:1fr}.learning-welcome{grid-template-columns:1fr}.welcome-art{display:none}.preview-badge{display:none}.stage-dots{grid-template-columns:repeat(4,1fr);row-gap:24px}.stage-dots:before,.stage-dots:after{display:none}.stage-dots span{font-size:11px}.home-support{align-items:flex-start;flex-direction:column;gap:12px}}
@media(max-width:700px){#sidebar{width:255px;padding:42px 22px 24px}.workspace{margin-left:0}.workspace>header{height:66px;padding:0 16px;gap:12px;background:#173c42;color:#f5fafa}.breadcrumb{display:none}.mobile-course{display:flex;flex:1;flex-direction:column;align-items:flex-start;gap:2px;font-size:10px;letter-spacing:.03em}.mobile-course .audience-badge{padding:0 5px;font-size:9px;border-radius:2px}.workspace>header #mode-switch{font-size:10px;padding:7px 10px;background:transparent;border-color:#84a7aa;color:#d7e9ea;min-height:0}.icon-button,#close-menu{color:#eef7f7;border-color:#84a7aa}main{padding:28px 22px}.member-greeting{font-size:12px;margin-bottom:28px}.member-greeting span{display:none}.learning-welcome{margin-bottom:32px}.learning-welcome h1{font-size:27px;line-height:1.8}.learning-welcome p{font-size:13px;margin-top:16px}.member-current-body{padding:23px 20px;gap:24px}.current-number{font-size:32px}.current-caption{font-size:11px;margin-bottom:16px}.member-current h2{font-size:21px}.member-current-body>div>p,.member-outcomes li{font-size:14px}.member-current-actions{padding:20px;gap:20px}.member-current .primary{align-self:stretch;font-size:13px;white-space:normal}.member-steps{justify-content:space-between;font-size:11px;gap:6px}.stage-map{padding:20px 12px}.map-heading h2{font-size:14px}.map-heading span{font-size:10px}.map-heading strong{font-size:22px}.stage-dots b{width:34px;height:34px;font-size:10px}.stage-dots span{font-size:10px}.stage-dots small{font-size:10px}.stage-dots button{gap:8px}.home-support{font-size:11px}.home-support .text-button{font-size:12px}.page-heading h1{font-size:23px;gap:10px}.page-heading p{font-size:14px}.page-heading .chapter-icon{width:42px;height:42px;padding:8px}.stage-tabs button{font-size:11px;padding:12px 7px}.stage-paper{padding:24px 18px}.stage-paper h2{font-size:21px}.reading,.quiz-option,.quiz-feedback,.share-preview,.callout{font-size:14px}.primary,.secondary{font-size:13px;padding:12px 18px}.stage-paper .form-actions{align-items:stretch;flex-direction:column}.stage-paper .form-actions>*{width:100%}.stage-paper .form-note{font-size:11px}.lesson-bottom{flex-direction:column}.lesson-bottom .primary{width:100%}.form-actions .danger{margin-left:0}.locked-page{padding:25px 20px}.locked-page h1{font-size:23px}.locked-page .primary{width:100%}#chapter-lock-dialog{padding:30px 24px}#chapter-lock-title{font-size:21px}.lock-steps{font-size:11px}footer{padding:18px 22px 26px}.admin-mode #sidebar{padding-top:42px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}

/* Mobile home: current position first, with the official brand in the header. */
.mobile-home-title{display:none}
.home-learning{display:flex;flex-direction:column;gap:30px}
.home-learning .member-current{margin-bottom:0}
@media(max-width:700px){
 .workspace>header{height:86px;gap:12px}
 .mobile-course{min-width:0;gap:4px}
 .mobile-brand{display:block;width:164px;max-width:100%;line-height:1}
 .mobile-brand img{display:block;width:100%;height:36px;object-fit:contain;object-position:left center;filter:grayscale(1) brightness(0) invert(1);opacity:.96}
 .mobile-course .audience-badge{font-size:10px;line-height:1.6;padding:0 5px}
 main{padding-top:20px}
 .member-greeting{margin-bottom:18px}
 .learning-welcome{display:none}
 .mobile-home-title{display:block;position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .home-learning{gap:22px}
 .home-learning>.stage-map{order:-1;background:white}
 .stage-map{padding:18px 12px}
 .stage-dots{margin-top:20px;row-gap:20px}
}
@media(max-width:700px){
 .home-learning .member-current{display:flex;flex-direction:column}
 .home-learning .member-current-body{display:contents}
 .home-learning .member-current-body>div:first-child{order:0;padding:23px 20px 20px}
 .home-learning .member-current-actions{order:1}
 .home-learning .member-current-body>.member-outcomes{order:2;margin:0;padding:20px;border:0;border-top:1px solid var(--line)}
}
