/* Companion guides, with layout scoped to the existing green paper design. */
.registration-page{--muted:#496553;--line:#d7e2cb}
.registration-page .bb-hero{gap:22px;grid-template-columns:1.1fr .9fr}
.registration-page .bb-hero h1{font-size:clamp(42px,4.2vw,55px);max-width:560px}
.registration-page .hero-copy{padding:43px 24px 43px 44px}
.registration-page .hero-art{padding:43px 35px 39px 8px}
.registration-page .hero-art>.handnote{margin-bottom:33px}
.registration-page .bb-hero .lead{font-size:18px}
.registration-page .section-intro{max-width:900px}
.registration-page .small-copy{font:600 13px/1.85 Nunito;color:var(--muted);margin:23px 0}
.registration-page .guide-note{font:600 15px/1.85 Nunito;background:#edf3e3;border-left:3px solid #91b771;padding:19px 22px;margin:30px 0;border-radius:0 14px 14px 0}
.registration-page .inline-links{display:flex;align-items:center;flex-wrap:wrap;gap:18px 29px;margin:28px 0 0;font-size:13px}
.registration-page .bb-section{margin-top:79px;margin-bottom:79px}
.registration-page .source-list{display:flex;gap:15px 24px;flex-wrap:wrap;font:700 13px/1.7 Nunito}
.registration-page .source-section{border-top:1px solid var(--line);padding-top:37px;margin-top:48px;margin-bottom:48px}
.registration-page .source-section h2{font-size:27px;letter-spacing:-.6px}
.registration-page .source-section .eyebrow{margin-bottom:10px}
.calendar-art{padding:8px 7px 16px;min-width:0}
.registration-page .calendar-art .handnote{margin:0 0 42px 14px;font-size:33px}
.calendar-paper{position:relative;isolation:isolate;padding:29px 30px 23px;background:#fffdf7;border-radius:27px;box-shadow:0 9px 24px #224b3b09}
.calendar-paper:before{content:"";position:absolute;inset:8px -9px -11px -8px;border-radius:inherit;background:#cee2a8;transform:rotate(-3deg);z-index:-1}
.calendar-rings{position:absolute;top:-18px;left:48px;right:48px;display:flex;justify-content:space-between;pointer-events:none}
.calendar-rings span{width:13px;height:38px;background:#224b3b;border-radius:9px;transform:rotate(4deg)}
.calendar-head{display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:2px solid #d7e2cb;padding:0 0 22px}
.calendar-head strong{font:900 31px/1 Nunito}.calendar-head>span{font:800 17px/1.4 Nunito;color:#496553}
.calendar-date{display:flex;gap:20px;align-items:center;padding:24px 0;border-bottom:1px solid var(--line)}
.calendar-date>strong{font:900 51px/1 Nunito;letter-spacing:-1px;flex:none}
.calendar-date>div{font:800 20px/1.35 Nunito}.calendar-date>div>span{display:block;font:600 14px/1.6 Nunito;color:#496553;margin-top:3px}
.date-dot{height:18px;width:18px;background:#ffe18b;border-radius:50%;margin-left:auto}
.calendar-spring{display:flex;gap:9px 15px;flex-wrap:wrap;padding:21px 0 0;font:800 14px/1.5 Nunito}
.calendar-spring>strong{flex-basis:100%;color:#496553;font-weight:600}
.registration-page .calendar-paper>p{font:600 11px/1.6 Nunito;color:#496553;margin:18px 0 0}
.registration-page .hero-process{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding:24px 4px 0;font:800 11px/1.5 Nunito;color:#496553;text-align:center}
.hero-process span{border-top:2px solid #91b771;padding-top:9px;min-width:0}
.dates-table{width:100%;border-collapse:separate;border-spacing:0;margin:32px 0 28px;font:600 15px/1.65 Nunito}
.dates-table caption{text-align:left;font:600 12px/1.65 Nunito;color:#496553;margin:0 0 17px}
.dates-table th,.dates-table td{text-align:left;padding:21px 18px;border-bottom:1px solid #d7e2cb;vertical-align:middle}
.dates-table th{font-weight:900}.dates-table thead th{background:#eaf2dd;padding-top:15px;padding-bottom:15px;font-size:13px}
.dates-table thead th:first-child{border-radius:13px 0 0 0}.dates-table thead th:last-child{border-radius:0 13px 0 0}
.dates-table tbody th{font-size:17px;letter-spacing:-.2px;color:#224b3b}
.dates-table tbody tr:nth-child(even){background:#fffdf7}
.registration-page .table-notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:29px}
.registration-page .table-notes p{font-size:13px;line-height:1.8;margin:0;color:#496553}
.past-dates{border-top:1px solid var(--line);margin-top:33px;padding-top:19px;max-width:950px}
.past-dates summary{font:800 14px/1.6 Nunito;cursor:pointer;list-style:none;display:flex;gap:18px;justify-content:space-between;align-items:center}
.past-dates summary:after{content:"+";font:600 24px/1 Nunito;flex:none}.past-dates[open] summary:after{content:"−"}
.registration-page .past-dates p{font-size:14px;margin:19px 0 0}
.city-jumps{display:flex;flex-wrap:wrap;gap:18px 35px;margin:32px 0 22px;font:900 18px/1.5 Nunito}
.city-jumps a{min-width:0}.city-jumps strong{display:block;font:600 12px/1.6 Nunito;color:#496553;margin-top:4px}
.city-jumps a:hover{text-decoration:underline;text-underline-offset:4px}
.center-city{margin:37px 0 0;scroll-margin-top:40px}.center-city>h3{font-size:29px;margin-bottom:21px}
.center-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 33px}
.center-grid article{background:#fffdf7;border:1px solid #d7e2cb;border-radius:18px;padding:25px;min-width:0}
.center-heading{display:flex;align-items:flex-start;gap:15px;justify-content:space-between}
.center-heading h4{font:900 21px/1.3 Nunito;letter-spacing:-.3px;margin:0;min-width:0;max-width:310px}
.center-code{font:800 11px/1.6 Nunito;color:#496553;background:#edf3e3;border-radius:6px;padding:3px 7px;white-space:nowrap;flex:none}
.registration-page .center-address{font-size:14px;line-height:1.7;margin:13px 0 18px}
.registration-page .center-dates{font:600 12px/1.8 Nunito;color:#496553;border-top:1px solid var(--line);padding-top:13px;margin:0}
.center-dates>span{display:block;font-weight:800}
.search-layout,.registration-row{display:grid;grid-template-columns:1.05fr .95fr;gap:65px;align-items:center;margin-top:34px}
.search-layout .guide-steps h3{font-size:22px}.search-layout .guide-steps p{font-size:15px}
.search-layout>figure{max-width:490px;margin:auto;min-width:0;width:100%}
.registration-page .search-layout .screen-heading strong{font-size:21px}
.registration-page .registration-row>div{min-width:0}
.registration-page .registration-row>figure{margin:auto;width:100%;max-width:495px}
.registration-page .account-screens{display:grid;gap:33px;max-width:370px;margin:auto;width:100%}
.registration-page .account-screens .screen-heading strong{font-size:20px}
.anticipated-dates{list-style:none;margin:30px 0 0;padding:0;display:flex;gap:13px;flex-wrap:wrap;font:700 14px/1.6 Nunito}
.anticipated-dates li{background:#fff1ba;padding:11px 15px;border-radius:9px}
.planning-grid,.change-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px;margin:34px 0}
.planning-grid>article,.change-grid>article{min-width:0;border-top:1px solid var(--line);padding-top:24px}
.registration-page .planning-grid h3,.registration-page .change-grid h3{font-size:24px}
.registration-page .planning-grid p,.registration-page .change-grid p{font-size:15px;line-height:1.8;margin:0}
.line-icon{font:600 32px/1 Caveat;color:#72915b;display:block;margin:0 0 20px}
.next-guide{background:#eaf2dd;border-radius:22px;padding:29px 31px;display:flex;gap:35px;align-items:center;justify-content:space-between;margin:39px 0 0;min-width:0}
.registration-page .next-guide .eyebrow{margin:0 0 10px;font-size:12px}.registration-page .next-guide h3{font-size:26px;max-width:630px}
.registration-page .next-guide p:not(.eyebrow){font-size:14px;margin:0;max-width:580px}.next-guide>a{flex:none;max-width:300px}
.preparation-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px;margin:32px 0}
.preparation-grid>article{min-width:0;border-top:1px solid var(--line);padding-top:22px}
.registration-page .preparation-grid h3{font-size:23px;min-height:58px}
.registration-page .preparation-grid p{font-size:14px;line-height:1.8;margin:0}
.identity-layout,.review-layout,.help-layout{display:grid;grid-template-columns:1.25fr .75fr;gap:65px;align-items:center;margin-top:30px}
.identity-card{min-width:0;text-align:center;background:#fffdf7;border-radius:22px;padding:28px 25px}
.registration-page .identity-card .handnote{display:block;font-size:27px;margin-bottom:24px}
.identity-card svg{width:205px;max-width:100%;height:auto;display:block;margin:auto}
.registration-page .identity-card p{font:700 14px/1.85 Nunito;margin:22px 0 0}
.clean-list{padding-left:22px;font:600 16px/1.8 Nunito;margin:0 0 24px}.clean-list li{padding-left:4px;margin:9px 0}
.fee-equation{display:grid;grid-template-columns:1fr auto 1fr auto 1.25fr;gap:20px;align-items:center;padding:31px 0 33px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:33px 0}
.fee-equation>div{min-width:0}.fee-equation strong{display:block;font:900 34px/1.2 Nunito;letter-spacing:-.7px}
.fee-equation>div>span{display:block;font:600 12px/1.6 Nunito;color:#496553;margin-top:10px}
.fee-symbol{font:700 30px/1 Nunito;color:#72915b}.fee-total{padding:21px 22px;border-radius:18px;background:#ffe18b}
.fee-detail{display:grid;grid-template-columns:1.2fr .8fr;gap:65px;align-items:center;margin:37px 0}
.fee-detail>figure{min-width:0}
.registration-page .fee-detail .screen-heading{padding-bottom:16px}.registration-page .fee-detail .screen-heading strong{font-size:20px}
.review-card{background:#fffdf7;padding:28px 29px;border-radius:23px;isolation:isolate;position:relative;min-width:0}
.review-card:before{content:"";position:absolute;inset:5px -6px -6px -6px;background:#fff1ba;border-radius:inherit;z-index:-1;transform:rotate(2deg)}
.registration-page .review-card .handnote{display:block;font-size:28px;margin:0 0 27px}
.checklist{list-style:none;padding:0;margin:0;font:700 14px/1.7 Nunito}.checklist li{padding:0 0 14px 27px;position:relative}
.checklist li:before{content:"✓";position:absolute;left:0;top:0;font-weight:900;color:#72915b}
.registration-page .review-card>p{font-size:12px;color:#496553;border-top:1px solid var(--line);padding-top:17px;margin:3px 0 0}
.setup-timeline{margin:38px 0 0;padding:0;list-style:none;max-width:1000px}
.setup-timeline li{position:relative;padding:0 0 38px 47px;min-width:0}.setup-timeline li:before{content:"";position:absolute;left:10px;top:15px;bottom:0;width:2px;background:#d7e2cb}.setup-timeline li:last-child:before{display:none}
.timeline-dot{position:absolute;left:0;top:3px;width:22px;height:22px;border:5px solid #8eaf6b;border-radius:50%;background:#fffdf7}
.timeline-when{display:block;font:800 12px/1.6 Nunito;color:#496553;margin:0 0 12px}
.registration-page .setup-timeline h3{font-size:27px}.registration-page .setup-timeline p{font-size:16px;margin:0;max-width:820px}
.registration-page .help-section{background:#edf3e3;border-radius:28px;padding-top:37px;padding-bottom:38px}
.help-path{min-width:0}.help-path>div{display:flex;align-items:center;gap:20px;padding:18px 0;border-bottom:1px solid #d0ddc4}
.help-path>div>span{font:600 29px/1 Caveat;color:#72915b}.help-path strong{font:900 19px/1.4 Nunito}
.registration-page .help-path .handnote{font-size:27px;margin:26px 0 0}
.registration-page .faq-section{background:#edf3e3;border-radius:28px;padding-top:38px;padding-bottom:39px;display:grid;grid-template-columns:.75fr 1.5fr;gap:55px}
.registration-page .faq-section h2{font-size:35px}.registration-page .faq-section .eyebrow{margin-bottom:15px}
.registration-page .faq-list details{border-bottom:1px solid #d0ddc4;padding:0 0 21px;margin:0 0 21px;min-width:0}.registration-page .faq-list details:last-child{border:0;padding-bottom:0;margin-bottom:0}
.registration-page .faq-list summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:23px;font:800 16px/1.6 Nunito;cursor:pointer}
.registration-page summary::-webkit-details-marker{display:none}
.registration-page .faq-list summary:after{content:"+";display:flex;align-items:center;justify-content:center;width:34px;height:34px;flex:none;background:#fffdf7;border:1px solid #e5dfc7;border-radius:50%;font:600 25px/1 Nunito}
.registration-page .faq-list details[open] summary:after{content:"−";background:#ffe18b;border-color:#ffe18b}
.registration-page .faq-list p{font-size:15px;line-height:1.8;margin:20px 0 0;color:#496553}
.registration-page .lesson-section{background:#2d4f3f;color:#fffdf7;border-radius:30px;padding:41px 44px 43px}
.registration-page .lesson-section .eyebrow{color:#d0e3a8}.registration-page .lesson-section h2{max-width:840px;color:#fffdf7}
.lesson-layout{display:grid;grid-template-columns:1.4fr .6fr;gap:62px;align-items:center;margin-top:30px}
.registration-page .lesson-layout p{max-width:630px;font-size:16px}
.registration-page .lesson-layout .actions{align-items:flex-start;flex-wrap:wrap;gap:20px 27px;margin-top:29px}
.registration-page .lesson-layout .cta{background:#ffe18b;color:#224b3b}.registration-page .lesson-layout .cta:hover{background:#ffeaaf}
.registration-page .lesson-layout .secondary,.registration-page .lesson-layout a{color:inherit}
.registration-page .lesson-price{display:flex;flex-direction:column;gap:5px;margin:28px 0 24px}.lesson-price strong{font:900 20px/1.5 Nunito}.lesson-price span{font:600 13px/1.7 Nunito;color:#d3dfce}
.registration-page .offer-links{display:flex;flex-wrap:wrap;gap:12px;align-items:center;font:700 13px/1.7 Nunito;margin:0}
.tutor-portrait{margin:0;min-width:0;max-width:240px}.tutor-portrait>img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:20px}
.registration-page .tutor-portrait figcaption{text-align:left;color:#fffdf7;margin:18px 0 0;font:600 12px/1.8 Nunito}
.tutor-portrait figcaption strong{display:block;font:900 18px/1.4 Nunito;margin-bottom:8px}.tutor-portrait figcaption span{display:block;margin-bottom:12px}
@media(max-width:1000px){
.registration-page .bb-hero{gap:8px;grid-template-columns:1.05fr .95fr}.registration-page .hero-copy{padding:36px 23px 36px 30px}.registration-page .hero-art{padding:38px 27px 32px 7px}.registration-page .bb-hero h1{font-size:46px}.registration-page .bb-hero .lead{font-size:16px}
.search-layout,.registration-row,.identity-layout,.review-layout,.help-layout,.fee-detail{gap:38px}.preparation-grid{grid-template-columns:1fr 1fr;gap:30px}.registration-page .preparation-grid h3{min-height:0}
.fee-equation{gap:15px}.fee-equation strong{font-size:28px}.registration-page .table-notes{gap:20px}.dates-table th,.dates-table td{padding:18px 12px;font-size:14px}.dates-table tbody th{font-size:16px}
.center-heading{flex-direction:column;gap:10px}.center-heading h4{font-size:20px}.next-guide{gap:25px}.next-guide>a{max-width:225px}.registration-page .faq-section{gap:35px;grid-template-columns:.7fr 1.3fr}.lesson-layout{gap:35px}
}
@media(max-width:767px){
.registration-page .bb-hero{grid-template-columns:1fr;margin:0 17px;border-radius:27px}.registration-page .hero-copy{padding:31px 25px 12px}.registration-page .hero-art{padding:30px 25px 29px}.registration-page .bb-hero h1{font-size:43px;line-height:1.1;letter-spacing:-1.5px;max-width:560px}.registration-page .bb-hero .lead{font-size:16px;line-height:1.75;margin-bottom:25px}.registration-page .hero-scope{font-size:11px}.registration-page .hero-art>.handnote{margin-bottom:29px;font-size:29px}.registration-page .hero-art .guide-figure{max-width:530px;margin:auto}
.calendar-art{max-width:420px;margin:auto;padding:0 8px 7px}.registration-page .calendar-art .handnote{font-size:30px;margin-bottom:38px}.calendar-paper{padding:26px 25px 22px}.calendar-date{padding:18px 0}.calendar-date>strong{font-size:43px}.calendar-date>div{font-size:19px}.calendar-spring{font-size:13px}
.registration-page .bb-section{padding-left:25px;padding-right:25px;margin-top:55px;margin-bottom:55px}.registration-page h2{font-size:34px;letter-spacing:-1px}.registration-page h3{font-size:24px}.registration-page p{font-size:16px}.registration-page .small-copy{font-size:12px;line-height:1.85}
.registration-page .guide-meta{padding:0 27px;margin:22px 0 0;gap:10px 24px;font-size:11px}.registration-page .guide-nav{margin:24px 25px 0;font-size:12px;gap:14px 23px;padding-bottom:24px}.registration-page .guide-nav>span{flex-basis:100%}
.registration-page .guide-note{padding:16px 17px;font-size:14px;margin:26px 0}.registration-page .inline-links{font-size:12px;gap:16px 22px}
.search-layout,.registration-row,.identity-layout,.review-layout,.help-layout,.fee-detail,.lesson-layout{grid-template-columns:1fr;gap:37px;margin-top:25px}.registration-page .registration-row>figure{max-width:480px}.registration-page .account-screens{grid-template-columns:1fr 1fr;gap:23px;max-width:620px}.registration-page .account-screens .screen-heading strong{font-size:18px}
.registration-page .table-notes{grid-template-columns:1fr;gap:17px}.planning-grid,.change-grid{grid-template-columns:1fr;gap:29px}.registration-page .planning-grid p,.registration-page .change-grid p{font-size:15px}.line-icon{margin-bottom:16px}.preparation-grid{gap:27px}.registration-page .preparation-grid h3{font-size:22px}.registration-page .preparation-grid p{font-size:14px}
.center-grid{gap:19px}.center-heading{flex-direction:row}.center-grid article{padding:21px}.center-heading h4{font-size:19px}.city-jumps{gap:17px 26px;font-size:17px}.center-city{margin-top:32px}.center-city>h3{font-size:26px}
.next-guide{align-items:flex-start;flex-direction:column;padding:25px;gap:22px}.next-guide>a{max-width:100%}.registration-page .next-guide h3{font-size:25px}.registration-page .next-guide p:not(.eyebrow){font-size:14px}
.identity-card{max-width:350px;width:100%;margin:auto}.fee-equation{gap:11px;grid-template-columns:1fr auto 1fr auto 1.2fr}.fee-equation strong{font-size:24px}.fee-equation>div>span{font-size:11px}.fee-total{padding:15px}.fee-symbol{font-size:23px}.fee-detail>figure{max-width:480px;margin:auto;width:100%}.review-card{max-width:420px;width:100%;margin:auto}
.setup-timeline li{padding-left:37px}.registration-page .setup-timeline h3{font-size:25px}.registration-page .setup-timeline p{font-size:15px}
.registration-page .help-section,.registration-page .faq-section,.registration-page .lesson-section{margin-left:17px;margin-right:17px;border-radius:26px;padding:29px 25px}.registration-page .faq-section{display:block}.registration-page .faq-section .section-heading{margin-bottom:33px}.registration-page .faq-section h2{font-size:32px}.registration-page .faq-list summary{font-size:15px;gap:18px}.registration-page .faq-list p{font-size:14px}
.registration-page .lesson-section h2{font-size:34px}.registration-page .lesson-layout .actions{flex-direction:column;align-items:flex-start}.tutor-portrait{display:grid;grid-template-columns:105px 1fr;gap:20px;max-width:500px;align-items:center}.tutor-portrait>img{aspect-ratio:4/5;border-radius:16px}.registration-page .tutor-portrait figcaption{margin:0;font-size:11px}.tutor-portrait figcaption strong{font-size:17px}.registration-page .source-section{padding-top:27px}.registration-page .source-list{font-size:12px;gap:13px 22px}
}
@media(max-width:650px){
.dates-table{display:block;margin:27px 0}.dates-table caption{display:block}.dates-table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.dates-table tbody{display:block}.dates-table tr{display:block;padding:19px 20px;border:1px solid var(--line);border-radius:16px;background:#fffdf7;margin-bottom:15px}.dates-table th,.dates-table td{display:flex;border:0;padding:9px 0;justify-content:space-between;align-items:flex-start;gap:20px;font-size:13px}.dates-table tbody th{display:block;font-size:21px;margin-bottom:7px;padding:0 0 13px;border-bottom:1px solid var(--line)}.dates-table td:before{content:attr(data-label);font:800 11px/1.8 Nunito;color:#496553;flex:none;max-width:105px}.dates-table td time{text-align:right;min-width:0}.dates-table tr:last-child{margin-bottom:0}
.center-grid{grid-template-columns:1fr}.center-heading h4{max-width:300px}.fee-equation{grid-template-columns:1fr auto 1fr;gap:13px}.fee-equation>.fee-symbol:nth-of-type(2){display:none}.fee-total{grid-column:1/-1;margin-top:8px}.fee-equation strong{font-size:29px}.fee-equation>div>span{font-size:12px}.fee-total strong{font-size:34px}
}
@media(max-width:430px){
.registration-page .bb-hero h1{font-size:39px;letter-spacing:-1.2px}.registration-page .account-screens{grid-template-columns:1fr;max-width:320px;gap:31px}.preparation-grid{grid-template-columns:1fr}.registration-page .preparation-grid h3{font-size:24px}.registration-page .center-dates{font-size:11px}.center-heading{gap:11px}.center-heading h4{font-size:19px}.center-code{font-size:10px}.registration-page .guide-steps li{gap:16px}.registration-page .next-guide{padding:23px}.registration-page .lesson-section h2{font-size:31px}.registration-page .lesson-layout p{font-size:15px}.registration-page .screen-heading strong{font-size:21px}.tutor-portrait{grid-template-columns:88px 1fr;gap:15px}.registration-page .hero-process{font-size:10px}.registration-page .calendar-head>span{font-size:15px}
}
@media(prefers-reduced-motion:reduce){.registration-page *{scroll-behavior:auto!important}}
/* Keep decorative sheets behind the actual paper, including native Safari. */
.calendar-paper:before,.review-card:before{z-index:-2}
.calendar-paper:after,.review-card:after{content:"";position:absolute;inset:0;background:#fffdf7;border-radius:inherit;z-index:-1;pointer-events:none}
.date-evidence{display:grid;grid-template-columns:1.25fr .75fr;gap:65px;align-items:center;margin-top:31px}
.registration-page .date-evidence .table-notes{display:block}
.registration-page .date-evidence .table-notes p{font-size:14px;margin:0 0 20px}
.registration-page .date-evidence .table-notes p:last-child{margin-bottom:0}
.date-evidence>figure{width:100%;max-width:335px;margin:auto}
.registration-page .date-evidence .screen-heading strong{font-size:20px}
@media(max-width:1000px){.date-evidence{gap:37px}}
@media(max-width:767px){.date-evidence{grid-template-columns:1fr;gap:31px}.date-evidence>figure{max-width:370px}.registration-page .date-evidence .table-notes p{font-size:13px}}
.registration-page #nowe-konto .registration-row{align-items:start}
