/* Captured theme supplies the main appearance; local behavior uses these styles. */
.review-badge{display:none!important}
/* Homepage headline: the reference's Common Ninja highlighted-headline widget, drawn locally
   (scripts/restore_review_presentation.py) so it paints final from the first frame. It always
   sets two lines, "Master Homebuying in" / "60 Minutes or Less": up to the widget's 65px, the
   size shrinks with the box so the first line fits (11.35em + 22px of spacing + the 11px inset). */
.clone-headline{container-type:inline-size}
.original-hero{display:flex;flex-wrap:wrap;align-items:center;margin:28px 0 0!important;padding:0;color:#003387!important;font:700 65px/1 'Clone Widget Sans',sans-serif!important;font-size:min(65px,(100cqw - 33px)/11.4)!important;letter-spacing:1px;word-spacing:1px;text-align:left}
.original-hero>span{margin-left:11px;white-space:nowrap}
.original-hero>span:first-child{flex:0 0 calc(100% - 11px)}
.original-hero .hero-highlight{position:relative;font-weight:800}
.hero-line{position:absolute;top:100%;left:50%;width:100%;height:.1em;transform:translate(-50%,-50%);background:#003de9}
.clone-home #section-1643050831110 .sizer{padding-top:var(--clone-header-height,78px)!important}
/* The headline sits 28px under the header and about 21px above the video at every size. The
   published page's full-window hero centered it, which left a tall gap above it on tall windows. */
.clone-home #section-1643050831110 .sizer{min-height:auto}
@media(min-width:768px){.clone-home #block-1716190478486>.block{padding-bottom:24px}}
.clone-footer{display:block;width:100%}
.clone-home #section-footer{border-top:0}
.local-video{position:relative!important;width:100%!important;height:100%!important;container-type:inline-size;background:#000}
.local-video video{display:block;width:100%;height:100%;object-fit:contain;background:#000;aspect-ratio:16/9}
.kjb-video-responsive>.local-video{position:absolute!important;inset:0}
.local-video .video-start{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:clamp(72px,13.1cqw,145px);height:clamp(47px,8.5cqw,94px);border:0;border-radius:0;background:#22378fe8;color:white;cursor:pointer;display:grid;place-items:center;padding:0}
.video-start svg{width:34%;height:46%}.local-video.is-playing .video-start{display:none}.video-start:hover{background:#2349b9}
.video-controls{display:flex;align-items:center;gap:10px;position:absolute;bottom:0;left:0;right:0;min-height:39px;padding:3px 8px;background:#263b91d9;color:#fff;font:14px/1 'Open Sans',sans-serif}
.video-controls button{border:0;background:transparent;color:inherit;min-width:28px;height:30px;padding:2px;cursor:pointer;line-height:1;font:inherit}.video-controls button svg{width:20px;height:20px}.video-controls button:focus-visible,.video-start:focus-visible{outline:2px solid white;outline-offset:-3px}
.player-time{min-width:40px}.video-controls .player-seek{flex:1;min-width:20px;height:3px;padding:0;accent-color:#fff;cursor:pointer;border:0;box-shadow:none;margin:0}
.video-controls .player-cc{font-size:11px;font-weight:700;border:2px solid white;border-radius:4px;height:20px;min-width:25px;line-height:14px}.player-cc[aria-pressed=true]{background:#fff;color:#243b91}.player-settings,.player-fullscreen{font-size:25px!important}.player-speed{position:absolute;bottom:42px;right:30px;background:#253887;padding:12px;border-radius:4px}.player-speed[hidden]{display:none}.player-speed label{color:#fff!important;font-size:13px}.player-speed select{display:block;margin-top:8px;color:#25324b;font-size:14px}
.local-video:fullscreen{display:flex;align-items:center;justify-content:center}.local-video:fullscreen video{max-height:100vh}
.clone-home .video-controls{min-height:4px;height:4px;padding:0;background:#223b94aa}.clone-home .video-controls>*:not(.player-seek){display:none}.clone-home .local-video:hover .video-controls,.clone-home .local-video:focus-within .video-controls,.clone-home .local-video.is-playing .video-controls{height:39px;padding:3px 8px}.clone-home .local-video:hover .video-controls>*:not([hidden]),.clone-home .local-video:focus-within .video-controls>*:not([hidden]),.clone-home .local-video.is-playing .video-controls>*:not([hidden]){display:block}
/* Captions: one line at a time above the control bar, in the course player's fixed style (preview.js splits the caption paragraphs into lines). */
.local-video .video-caption{position:absolute;left:50%;bottom:48px;transform:translateX(-50%);max-width:94%;padding:.25em .6em;background:rgba(0,0,0,.75);color:#fff;font:clamp(11px,2.12cqw,48px)/1 Inter,system-ui,-apple-system,'Segoe UI',Helvetica,Arial,sans-serif;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}.local-video .video-caption[hidden]{display:none}
dialog#preview-dialog{color:#30353b;border:0;padding:40px;width:min(680px,calc(100vw - 28px));max-height:90vh;border-radius:8px;box-shadow:0 12px 65px #0006;background:#fff;font-family:'Open Sans',sans-serif}
dialog::backdrop{background:#14213a99}dialog#preview-dialog h2{font-size:28px;margin:0 0 20px}.dialog-close{position:absolute;right:15px;top:8px;background:none;border:0;font:32px/1 Arial,sans-serif;color:#455168;cursor:pointer;z-index:4}.preview-button{display:inline-block;border:0;border-radius:3px;padding:14px 24px;background:#25388b;color:#fff!important;font-weight:700;cursor:pointer;text-align:center;text-decoration:none}.preview-form label{display:block;color:#25324b!important;margin:14px 0 6px}.preview-form input{display:block;width:100%;padding:12px;border:1px solid #ccd4e1;margin-bottom:20px}.course-hit{padding:14px;border-bottom:1px solid #eee;display:block}
#preview-dialog.checkout-dialog{width:900px;max-width:calc(100vw - 32px);padding:0;border-radius:10px;max-height:95vh;color:#222;overflow:auto;font:14px/1.5 'Open Sans',sans-serif}
.checkout-dialog .dialog-close{font:23px/1 Arial;top:23px;right:22px;color:#222}
.checkout-header{height:72px;padding:16px 24px;border-bottom:1px solid #d2d2d2;display:flex;gap:8px;align-items:center;font-size:12px}.checkout-header img{width:40px;height:40px;border:1px solid #ddd;border-radius:7px}
.checkout-dialog form{display:grid;grid-template-columns:1fr 1fr}.checkout-product{padding:24px;border-bottom:1px solid #d2d2d2;grid-column:2;grid-row:1/3}.checkout-dialog .checkout-product h2{font-size:22px!important;font-weight:600;line-height:1.3;margin:0 0 8px!important}.checkout-product>div{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.checkout-product img{width:57%;aspect-ratio:16/9;object-fit:cover;border-radius:9px}.checkout-product strong{font-size:30px;line-height:1.2;font-weight:600}.checkout-contact{padding:24px;border-right:1px solid #ddd}.checkout-contact h3{font-size:16px;font-weight:600;margin:0 0 8px;line-height:24px}.checkout-contact>label:not(.checkout-consent){display:block;margin:0 0 4px;font-size:14px;color:#222}.checkout-contact>input{display:block;width:100%;height:36px;padding:6px 12px;border:1px solid #d1d1d1;border-radius:9px;font:14px 'Open Sans',sans-serif;box-shadow:inset 0 1px 2px #0001}.checkout-consent{display:flex;align-items:center;gap:8px;margin:12px 0 0;font-size:14px;color:#222}.checkout-consent input{appearance:none;border:1px solid #d1d1d1;border-radius:3px;width:16px;height:16px;margin:0;flex:none}.checkout-consent input:checked{background:#518ef0;box-shadow:inset 0 0 0 3px white}.checkout-actions{padding:24px;background:#fafafa;border-top:1px solid #e5e5e5}.checkout-actions button{border:0;border-radius:22px;height:38px;background:#508df0;color:white;width:100%;font:14px 'Open Sans',sans-serif;cursor:pointer}
.main-content-assessment{min-height:300px;background:#fff!important}.quiz-preview{background:#fff;padding:32px 20px 0;margin:0;border:0;text-align:center;min-height:300px}.quiz-preview small{font-size:12px}.quiz-preview h2{font-size:24px;line-height:1.3;margin:12px 0 28px}.quiz-preview p{font-size:12px;margin-bottom:32px}.quiz-preview .preview-button{font-weight:400;font-size:14px;padding:7px 12px;line-height:20px}
#preview-dialog.assessment-dialog{position:fixed;inset:0;margin:0;width:100vw;max-width:none;height:100vh;max-height:none;border-radius:0;box-shadow:none;padding:0;background:#fff;overflow:auto;color:#444}
.assessment-dialog .dialog-close{position:fixed;left:24px;right:auto;top:24px;font-size:20px;line-height:20px;color:#333}
.assessment-header{height:72px;background:#fff;position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:center;padding:16px 24px}
#preview-dialog .assessment-header h2{font-size:20px;font-weight:600;line-height:28px;margin:0}.assessment-submit{position:absolute;right:24px;top:16px;border:0;border-radius:24px;padding:10px 18px;font-size:14px;background:#26388c;color:#fff;cursor:pointer}.assessment-submit:disabled{background:#f1f1f1;color:#aaa;cursor:default}
.assessment-questions{max-width:700px;margin:30px auto;padding-bottom:32px}.local-quiz fieldset{display:block;min-width:0;border:0;padding:24px 24px 14px;margin:0 0 24px;border-radius:18px;box-shadow:0 1px 3px #0003;background:#fff}.local-quiz legend{float:left;display:block;width:100%;padding:0;font-size:16px;font-weight:400;line-height:22px;margin:0 0 18px}.quiz-number{font-size:14px;font-weight:600;display:block;line-height:20px}.quiz-choices{clear:both}.local-quiz label{display:flex;gap:8px;align-items:flex-start;padding:11px 0;margin:0;color:#444!important;cursor:pointer;font-size:14px;font-weight:400;line-height:22px}.local-quiz input{appearance:none;width:16px;height:16px;border:1px solid #d2d2d2;border-radius:50%;margin:3px 0 0;flex:none}.local-quiz input:checked{border-color:#26388c;box-shadow:inset 0 0 0 3px white;background:#26388c}.local-quiz input:focus-visible{outline:2px solid #508df0;outline-offset:3px}
.preview-completed{border-left:3px solid #3aa87a}.preview-completed a:after{content:' ✓'}.mini-dashboard .avatar{margin-right:20px}.local-comment{display:flex;gap:16px;border-top:1px solid #eee;padding:24px 0;font-size:15px}.local-comment>img{width:42px;height:42px;border-radius:50%}.local-comment small{display:block;color:#748493;margin:4px 0 10px}.local-comment p{white-space:normal;overflow-wrap:anywhere}
.clone-youtube{width:100%;max-width:800px;aspect-ratio:2/1;margin:0 auto 20px}.clone-youtube iframe{width:100%;height:100%;border:0;display:block}.newsletter-subscribe .fields-wrapper{margin-top:10px}
.clone-pagination{display:flex;gap:15px;justify-content:center;margin:24px}.clone-pagination a{padding:8px 12px}.clone-pagination [aria-current]{background:#243b91;color:#fff}.blog-empty{padding:40px 0}
.auth-preview .auth__content{width:100%;max-width:616px;margin:auto}.auth-preview #section-login{background-position:center;background-size:cover;position:relative}.auth-preview .sizer{min-height:100vh;padding:160px 40px 80px;position:relative;display:flex;align-items:center}.auth-preview .auth__title{font-size:64px;line-height:1.2;margin:0 0 12px}.auth-preview .auth__label{font-size:20px;line-height:28px;color:#fff}.auth-preview label{margin-bottom:6px}.auth-preview .auth__field{height:52px;border-radius:0}.auth-preview .form-group{text-align:left;margin-bottom:24px}.auth-preview .section__overlay{position:absolute;inset:0;background:#0008}.auth-preview .form-btn{background:#233b97;color:#fff;border:none;width:100%;height:66px;padding:14px;font-size:24px;line-height:34px;font-weight:700}.auth-preview .auth__link{margin-top:28px;font-size:20px}.auth-preview .auth__link a{color:#fff}
.review-document{max-width:950px;margin:60px auto;padding:30px;font:16px/1.7 'Open Sans',sans-serif}.review-document h1{font-size:38px}.review-document h2{font-size:24px;margin-top:36px}.review-document .preview-button{margin:0 10px 10px 0}
@media(max-width:767px){
 .clone-home #section-1643050831110 .sizer{padding-top:calc(var(--clone-header-height,78px) + 10px)!important}
 .clone-home #block-1716190478486{margin-bottom:20px}
 .clone-home .original-hero{margin-top:20px!important}
 .video-controls{gap:5px;min-height:30px;font-size:11px;padding:1px 4px}.video-controls button{min-width:24px;height:26px}.video-controls .player-time{min-width:31px}.video-controls .player-cc{font-size:10px;min-width:22px;height:18px}.player-settings,.player-fullscreen{font-size:22px!important}
 .auth-preview .sizer{min-height:0;padding:128px 20px 50px}.auth-preview .auth__title{font-size:36px;line-height:43px;margin-bottom:10px}.auth-preview .auth__label{font-size:16px;line-height:24px}.auth-preview .auth__field{height:44px}.auth-preview .form-group{margin-bottom:24px}.auth-preview .form-btn{height:56px;font-size:22px;line-height:30px;padding:13px}.auth-preview .auth__link{font-size:16px;line-height:24px;margin-top:30px}
 #preview-dialog.checkout-dialog{width:100vw;max-width:100vw;height:100vh;max-height:100vh;position:fixed;inset:0;margin:0;border-radius:0}.checkout-dialog form{display:block}.checkout-product{padding:24px}.checkout-contact{border-right:0;padding:24px}.checkout-actions{padding:24px}
 .assessment-header{height:72px;padding:16px}.assessment-dialog .dialog-close{left:16px}.assessment-submit{right:16px}.assessment-questions{margin:24px 16px 0}.local-quiz fieldset{padding:24px 24px 14px}.quiz-preview{min-height:300px}
 .main-sidebar.preview-open{display:block!important;position:fixed!important;left:0!important;top:0!important;bottom:0!important;margin-left:0!important;width:330px!important;max-width:88vw!important;box-shadow:8px 0 30px #0004;z-index:10000}.course-drawer-close{position:absolute;top:6px;right:8px;background:none;border:0;color:#fff;font-size:25px;z-index:10001}.main-sidebar:not(.preview-open) .course-drawer-close{display:none}
 .review-document{margin:20px auto;padding:20px}
}
@media(min-width:768px){.course-drawer-close{display:none}}
/* Newsletter theme originally reserves this gap around both subscription forms. */
.newsletter-form .fields-wrapper{margin-top:10px}
/* The theme sets the email field and button side by side; forms.js puts the consent checkbox and
   note beside the button, so the fields stack: email, consent, note, then Subscribe. */
.newsletter-form .fields-wrapper{flex-direction:column;align-items:stretch}.newsletter-form .fields-wrapper>*{align-self:stretch;width:100%;margin-right:0}.newsletter-form .fields-wrapper :is(label,p){text-align:left}
@media(max-width:767px){.checkout-dialog{overflow-y:auto}}
html.clone-dialog-open{overflow:hidden;scrollbar-gutter:stable}
#preview-dialog.assessment-dialog,#preview-dialog.checkout-dialog{scrollbar-width:none}
#preview-dialog.assessment-dialog::-webkit-scrollbar,#preview-dialog.checkout-dialog::-webkit-scrollbar{display:none}
.local-comment .comment-reply{background:none;border:0;padding:0;cursor:pointer;font-size:12px}
.checkout-header img{padding:8px;object-fit:contain}
.checkout-dialog .checkout-product h2{line-height:26px!important}
@media(min-width:768px){.newsletter-form .fields-wrapper{padding-bottom:10px}}
/* Original player SVG controls with a small Wistia-style scrubber thumb. */
.video-start svg{width:100%;height:100%}
.video-controls button,.video-controls .player-cc{width:40px;min-width:32px;height:34px;padding:0;border:0;background:transparent}
.video-controls button svg{display:block;width:100%;height:100%}
.video-controls .player-cc[aria-pressed=true]{color:#fff;background:#ffffff30}
.video-controls .player-seek{appearance:none;-webkit-appearance:none;height:2px;background:#ffffff70;border-radius:0}
.player-seek::-webkit-slider-runnable-track{height:2px;background:transparent}
.player-seek::-webkit-slider-thumb{-webkit-appearance:none;width:6px;height:6px;border-radius:50%;background:white;box-shadow:0 0 3px white;margin-top:-2px}
.player-seek::-moz-range-thumb{width:6px;height:6px;border:0;border-radius:50%;background:white}
@media(max-width:767px){.video-controls button,.video-controls .player-cc{width:30px;min-width:25px;height:26px}}
.video-controls button svg{fill:none}

.local-video iframe.bunny-course-frame{display:block;position:absolute;inset:0;width:100%;height:100%;border:0;background:#000}

@media(max-width:767px){body[data-course] .main-sidebar:not(.preview-open){display:none!important}}

/* Preserve associated accessible labels without changing the reference forms' spacing. */
.field-label{position:absolute!important;width:1px;height:1px;padding:0!important;margin:-1px!important;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap!important;border:0}

/* Match the original course canvas and assessment summary. */
body[data-course] .course-account-nav a{color:#30373d;font-size:14px}
body[data-course] .course-extra-lessons summary{font-size:14px;font-weight:700}
body[data-course] .quiz-preview{padding:32px 24px;min-height:300px;max-width:620px;margin:auto;color:#30373d;font-family:'Open Sans',sans-serif}
body[data-course] .quiz-preview h2{font-size:24px;line-height:1.2;margin:12px 0 20px}
body[data-course] .quiz-preview>small{font-size:12px}
body[data-course] .quiz-preview .preview-button{background:white;color:#001e61!important;border:1px solid #001e61;border-radius:3px;font-weight:400;font-size:14px;line-height:20px;padding:6px 12px}
.quiz-result-card{border-radius:18px;padding:24px;margin:0 0 24px;background:#f7eeee;color:#181b1e}
.quiz-result-card.is-passed{background:#d4f8e0}
.quiz-result-card p{font-size:16px;margin:0 0 40px}
.quiz-result-card.is-passed p strong{color:#2d9f78}
.quiz-result-score{display:grid;gap:4px;justify-content:center}
.quiz-result-score small{font-size:12px;color:#626966}
.quiz-result-score>strong{font-size:28px;line-height:1.2;font-weight:500}
@media(max-width:767px){body[data-course] .quiz-preview{padding:24px 20px}.quiz-result-card{padding:24px 16px}}
/* Discussion uses the original theme classes for both desktop and mobile. */
.course-discussion .media-body{min-width:0}
.course-discussion .comment-body p{white-space:pre-wrap;overflow-wrap:anywhere}
.course-discussion button.comment-reply,.course-discussion button.comment-edit{border:0;background:none;padding:0;font:inherit;font-weight:600;cursor:pointer;color:inherit}
.course-discussion button.comment-reply{margin-right:10px;color:#0c246a}.course-discussion button.comment-reply:hover{color:#091c53}
.comment-status{margin:10px 0;font:inherit;color:inherit}
.comment-status:empty{display:none}
.comments textarea{max-width:100%}
.comments button:disabled{opacity:.6;cursor:wait}
.comments button:focus-visible{outline:2px solid #00349f;outline-offset:3px}

/* First paint matches the scripted page (scripts/stabilize_page_load.py). Overlay-header
   pages reserve the header's height in markup and an inline script keeps the variable
   exact from the first paint; the border adds to the section's own padding exactly as
   the old script-applied padding did. Pages stay hidden while preloaded fonts finish. */
.clone-header-offset{border-top:var(--clone-header-height,78px) solid transparent}
.fonts-pending body{visibility:hidden}
/* The header carries both sets of account links, and an inline head script marks a stored
   session before the first paint (scripts/stabilize_page_load.py), so the visitor's set (Sign Up
   and Log In, or Course Library and Log Out) shows from the start; preview.js keeps the mark current. */
html.clone-signed-in [data-account=out],html:not(.clone-signed-in) [data-account=in]{display:none!important}
.header .user [data-account=out]+[data-account=out],.header .user [data-account=in]+[data-account=in]{margin-left:20px}
/* Header links stay on one line. Below 960px they no longer fit (signed out it needs ~940px),
   so they move into the hamburger menu, which covers the page under the header. */
.header__content--desktop a{white-space:nowrap}
@media(max-width:959px){
 .header__content--desktop .header__block:not(.header__block--show){display:none!important}.header .hamburger.hidden--desktop{display:block!important}
 html.clone-menu-open{overflow:hidden}html.clone-menu-open .header{position:fixed;top:0;left:0;right:0;z-index:9999}
 .header__content--mobile.preview-open{display:block!important;position:fixed;top:var(--clone-header-height,78px);left:0;right:0;bottom:0;max-height:none;overflow-y:auto;overscroll-behavior:contain;padding:4px 20px 20px;background:#fff;border-top:1px solid #d5dbe8;box-shadow:inset 0 8px 8px -8px #00349f40}.header .header__content--mobile.preview-open a{display:block;color:#00349f;padding:14px 0;border-bottom:1px solid #e3e7ef}
 .header .hamburger__slices .hamburger__slice{background-color:#fff}
 .hamburger.is-open{position:relative}.hamburger.is-open>*{opacity:0}.hamburger.is-open:before,.hamburger.is-open:after{content:'';position:absolute;left:0;top:50%;width:30px;height:2px;background:white}.hamburger.is-open:before{transform:rotate(45deg)}.hamburger.is-open:after{transform:rotate(-45deg)}
}
/* The menu's links line up with the logo, whose container is inset 40px at tablet widths. */
@media(min-width:768px) and (max-width:959px){.header__content--mobile.preview-open{padding-left:40px;padding-right:40px}}
html.clone-opening-course,html.clone-opening-course *{cursor:progress!important}
/* The homepage player's idle controls, drawn until preview.js attaches the real ones. */
.clone-home .local-video:not(.is-enhanced)::before{content:'';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:clamp(72px,13.1cqw,145px);height:clamp(47px,8.5cqw,94px);background:#22378fe8 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 125 80'%3E%3Cpath fill='%23fff' fill-rule='evenodd' d='M12.138 2.173C10.812 1.254 9 2.203 9 3.817v28.366c0 1.613 1.812 2.563 3.138 1.644l20.487-14.183a2 2 0 0 0 0-3.288L12.138 2.173Z' transform='translate(44 22)'/%3E%3C/svg%3E") center/contain no-repeat;pointer-events:none}
.clone-home .local-video:not(.is-enhanced)::after{content:'';position:absolute;left:0;right:0;bottom:0;height:4px;background:linear-gradient(#ffffff70,#ffffff70) center/100% 2px no-repeat,#223b94aa;pointer-events:none}

/* Start Now sign-in dialog (preview.js enroll; /auth/auth.js runs the form). Desktop shows the
   course beside the form. Phones go full screen, and the image shrinks while a field has the
   keyboard up (.is-typing) or a code is due, so the field and its button stay in view.
   .signin-ui rules style the form itself; /login/ uses them too (auth.css lays out that page). */
dialog.signin-dialog{padding:0;border:0;border-radius:12px;width:min(880px,calc(100vw - 32px));max-width:none;max-height:calc(100vh - 32px);overflow:auto;background:#fff;color:#0b1f5c;box-shadow:0 24px 64px #040e3059;font:15px/1.5 'Open Sans',sans-serif}
dialog.signin-dialog::backdrop{background:#0b1f5c9e}
dialog.signin-dialog{transition:opacity .18s ease-out}
dialog.signin-dialog.is-loading{opacity:0}
@media(prefers-reduced-motion:reduce){dialog.signin-dialog{transition:none}}
.signin-ui [hidden]{display:none!important}
.signin-ui *{box-sizing:border-box}
.signin-card{position:relative;display:flex;flex-wrap:wrap;min-height:100%}
.signin-close{position:absolute;top:10px;right:10px;z-index:1;width:44px;height:44px;padding:0;border:0;border-radius:8px;background:transparent;color:#4a5470;display:flex;align-items:center;justify-content:center;cursor:pointer}
.signin-close svg{width:22px;height:22px}
.signin-course{flex:1 1 340px;background:#0b1f5c;color:#fff}
.signin-course-image{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.signin-course-copy{display:grid;gap:18px;padding:28px 32px 32px}
.signin-course-title{font-size:22px;line-height:1.25;font-weight:700;color:#fff}
.signin-facts,.signin-chips{margin:0;padding:0;list-style:none}
.signin-facts{display:grid;gap:12px}
.signin-facts li,.signin-chips li{display:flex;align-items:center;gap:12px;font-size:15px;line-height:1.4}
.signin-facts svg{width:22px;height:22px;flex:none;color:#a9bcff}
.signin-chips{display:none}
/* Loading text and form share one cell, so revealing the form does not resize the dialog. */
.signin-panel{flex:1 1 380px;min-width:0;padding:48px 36px 32px;display:grid;align-content:center}
.signin-panel>#auth-loading,.signin-panel>#auth-content{grid-area:1/1}
.signin-ui #auth-content[hidden]{display:block!important;visibility:hidden}
.signin-loading{margin:0;align-self:center;text-align:center;color:#4a5470}
.signin-ui :is(h1,h2){margin:0;font:700 26px/1.2 'Open Sans',sans-serif;color:#0b1f5c}
.signin-ui p{margin:0}
.signin-heading{display:grid;gap:6px;padding-right:32px;margin-bottom:18px}
.signin-heading #auth-intro{font-size:15px;color:#4a5470}
#auth-signin,#auth-contact-entry,.signin-ui form{display:grid;gap:16px}
.signin-ui .auth-google{width:100%;height:50px;display:flex;align-items:center;justify-content:center;gap:12px;padding:0 16px;background:#fff;border:1px solid #b7bfd0;border-radius:6px;font:600 16px 'Open Sans',sans-serif;color:#1f2a44;cursor:pointer}
.signin-ui .auth-google svg{width:18px;height:18px;flex:none}
.signin-ui .auth-divider{display:flex;align-items:center;gap:12px;margin:0;font-size:13px;color:#5a6378}
.signin-ui .auth-divider:before,.signin-ui .auth-divider:after{content:'';flex:1;height:1px;background:#dfe3ec}
.signin-ui .auth-methods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin:0;padding:4px;border:0;border-radius:8px;background:#eef1f8}
.signin-ui .auth-methods button{height:44px;padding:0;border:0;border-radius:6px;background:transparent;font:600 15px 'Open Sans',sans-serif;color:#4a5470;cursor:pointer}
.signin-ui .auth-methods button[aria-pressed=true]{background:#fff;box-shadow:0 1px 3px #0b1f5c2e;font-weight:700;color:#00349f}
.signin-ui form label{display:block;margin:0 0 -10px;font-size:14px;font-weight:600;color:#0b1f5c!important}
.signin-ui input[type]{display:block;width:100%;height:48px;margin:0;padding:0 14px;border:1px solid #8a93a8;border-radius:6px;background:#fff;font:16px 'Open Sans',sans-serif;color:#0b1f5c;box-shadow:none}
.signin-ui input[type]::placeholder{color:#6b7280;opacity:1}
.signin-ui input[type]:focus{border-color:#00349f;box-shadow:0 0 0 1px #00349f;outline:0}
.signin-ui .signin-code{height:64px;padding:0 0 0 12px;font-size:30px;font-weight:700;letter-spacing:12px;text-align:center}
.signin-primary,.signin-ui .form-btn{display:flex;align-items:center;justify-content:center;width:100%;height:52px;margin:0;padding:0 16px;border:0;border-radius:6px;background:#00349f;color:#fff!important;font:700 16px 'Open Sans',sans-serif;text-decoration:none!important;cursor:pointer}
.signin-primary:hover,.signin-ui .form-btn:hover{background:#0b1f5c}
.signin-ui .auth-text-button{min-height:44px;padding:0 4px;border:0;background:none;font:600 14px 'Open Sans',sans-serif;color:#00349f;text-decoration:underline;cursor:pointer}
.signin-links{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 18px}
.signin-returning{font-size:13px;color:#5a6378;text-align:center}
/* Turnstile takes no space unless it needs a click (auth-security.mjs sets .is-interactive). */
#auth-captcha{display:flex;justify-content:center;height:0;margin-top:-16px;overflow:hidden}
#auth-captcha.is-interactive{height:auto;margin-top:0;overflow:visible}
.signin-visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.signin-badge{width:72px;height:72px;margin:0 auto;border-radius:50%;background:#eef1f8;color:#00349f;display:flex;align-items:center;justify-content:center}
.signin-badge svg{width:34px;height:34px}
#auth-email-sent{display:grid;gap:14px;text-align:center}
#auth-email-sent p,#auth-code-form p{font-size:15px;color:#4a5470}
#auth-email-sent strong,#auth-code-form strong{color:#0b1f5c;overflow-wrap:anywhere}
#auth-code-form{text-align:center}
#auth-code-form h2+p{margin-top:-10px}
.signin-ui .auth-status{margin:16px 0 0;font-size:14px;line-height:1.5;color:#3b4560;text-align:center;overflow-wrap:anywhere}
.signin-ui .auth-status:empty{display:none}
.signin-ui .auth-error{padding:12px 14px;border-radius:6px;background:#fff3f1;color:#8e2116}
.signin-ui #auth-account{display:grid;gap:12px;text-align:center}
.signin-ui .auth-identity{margin:0;padding:14px 16px;border-radius:8px;background:#f3f5fa;color:#0b1f5c;overflow-wrap:anywhere}
.signin-ui #auth-settings-link{font-size:14px;color:#00349f}
.signin-ui button:disabled{opacity:.6;cursor:wait}
.signin-ui :focus-visible{outline:3px solid #7aa2ff;outline-offset:2px}
/* After a link or code is sent, and once signed in, the step has its own heading. */
.signin-panel:is([data-auth-step=email-sent],[data-auth-step=code]) :is(.signin-heading,#auth-google,.auth-divider,.signin-returning){display:none}
.signin-panel[data-auth-step=account] .signin-heading{text-align:center;padding:0 32px}
@media(max-width:767px){
dialog.signin-dialog{position:fixed;inset:0;margin:0;width:100%;height:100%;max-height:none;border-radius:0;box-shadow:none}
.signin-card{flex-direction:column;flex-wrap:nowrap}
.signin-course{flex:none}
.signin-close{top:12px;right:12px;border-radius:50%;background:#ffffffeb;color:#0b1f5c;box-shadow:0 2px 8px #040e3040}
.signin-course-copy{display:none}
.signin-panel{flex:1 0 auto;align-content:start;padding:24px 20px 28px;text-align:center}
.signin-panel[data-auth-step=email-sent]{align-content:center;padding-bottom:64px}
.signin-heading{padding:0;justify-items:center}
.signin-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 12px;margin-top:4px}
.signin-chips li{gap:5px;font-size:13px;font-weight:600;color:#3b4560}
.signin-chips svg{width:18px;height:18px;color:#00349f}
.signin-ui input[type]{text-align:center}
.signin-dialog.is-typing .signin-course-image,.signin-dialog:has([data-auth-step=code]) .signin-course-image{height:96px;aspect-ratio:auto}
.signin-dialog.is-typing .signin-close,.signin-dialog:has([data-auth-step=code]) .signin-close{top:26px}
.signin-dialog.is-typing :is(#auth-intro,.signin-chips,#auth-google,.auth-divider,.signin-returning){display:none}
}

/* Hold the homepage reviews widget's space while Elfsight renders it, so the sections
   below do not jump. Each minimum is just under the rendered height at that width
   (measured October 19, 2026); if the widget never renders, the space is released. */
.elfsight-app-bcc733b8-321f-42ab-bc06-800ad5254bfe{min-height:580px}
.elfsight-app-bcc733b8-321f-42ab-bc06-800ad5254bfe:empty{animation:clone-widget-unavailable 0s 8s forwards}
@keyframes clone-widget-unavailable{to{min-height:0}}
@media(max-width:767px){.elfsight-app-bcc733b8-321f-42ab-bc06-800ad5254bfe{min-height:540px}}
@media(max-width:679px){.elfsight-app-bcc733b8-321f-42ab-bc06-800ad5254bfe{min-height:610px}}
@media(max-width:599px){.elfsight-app-bcc733b8-321f-42ab-bc06-800ad5254bfe{min-height:640px}}
@media(max-width:414px){.elfsight-app-bcc733b8-321f-42ab-bc06-800ad5254bfe{min-height:710px}}
@media(max-width:389px){.elfsight-app-bcc733b8-321f-42ab-bc06-800ad5254bfe{min-height:780px}}
@media(max-width:374px){.elfsight-app-bcc733b8-321f-42ab-bc06-800ad5254bfe{min-height:800px}}

/* Newsletter discussion (content-page.js puts it in place of the captured Responses block). */
.newsletter-comments [data-newsletter-id]{display:flex;flex-direction:column;gap:16px;font-size:16px;line-height:1.6;color:#30373d}
.newsletter-comments [data-newsletter-id] h2{margin:0;font-size:24px;line-height:1.25;font-weight:700;color:#1b2236}
.newsletter-comments [data-comment-status]{margin:0}
.newsletter-comments [data-comment-status]:empty,.newsletter-comments [data-comment-list]:empty{display:none}
.newsletter-comments [data-comment-list] article{padding:16px 0;border-top:1px solid #e3e7f0}
.newsletter-comments [data-comment-list] strong{color:#1b2236}
.newsletter-comments [data-comment-list] small{margin-left:6px;font-size:13px;color:#5a6378}
.newsletter-comments [data-comment-list] p{margin:6px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}
.newsletter-comments [data-newsletter-id] form{display:grid;gap:12px}
.newsletter-comments [data-newsletter-id] label{display:grid;gap:8px;margin:0;font-size:15px;font-weight:700;color:#1b2236}
.newsletter-comments [data-newsletter-id] textarea{display:block;width:100%;min-height:104px;margin:0;padding:12px 14px;border:1px solid #c3cadb;border-radius:8px;background:#fff;font:400 16px/1.5 'Open Sans',sans-serif;color:#1b2236;resize:vertical}
.newsletter-comments [data-newsletter-id] textarea:focus{outline:0;border-color:#00349f;box-shadow:0 0 0 1px #00349f}
.newsletter-comments [data-newsletter-id] form>button,.newsletter-comments [data-more]{justify-self:start;align-self:flex-start;min-height:44px;padding:0 22px;border:1px solid #00349f;border-radius:8px;background:#00349f;color:#fff;font:700 15px 'Open Sans',sans-serif;cursor:pointer}
.newsletter-comments [data-more]{background:#fff;color:#00349f}
.newsletter-comments [data-delete]{display:inline-flex;align-items:center;min-height:44px;margin:-2px 0 -12px;padding:0;border:0;background:none;color:#b42318;font:600 14px 'Open Sans',sans-serif;cursor:pointer}
.newsletter-comments [data-newsletter-id]>p>a{display:inline-block;padding:11px 0;margin:-11px 0;font-weight:700;color:#00349f;text-decoration:underline;text-underline-offset:3px}
.newsletter-comments [data-newsletter-id] button:disabled{opacity:.6;cursor:wait}

/* Phone and tablet sizing (1023px and narrower; desktop rules sit below). */
@media(max-width:1023px){
 /* Every "Why I Am An Expert" credential gets the same spacing; some captured items wrap a paragraph. */
 #block-1643053435163_0 li>p{margin:0}
 #block-1643053435163_0 li+li{margin-top:12px}
 /* The newsletter sidebar's empty column and its "Connect" label, which has no links. */
 .newsletter-sidebar-column:not(:has(a,input,img)){display:none}
 .newsletter-form input[type=checkbox]{width:20px!important;height:20px;margin-top:2px!important}
 /* Short pages keep the footer at the bottom of the screen; Contact's photo fills the space. */
 body:has(>#section-footer){display:flex;flex-direction:column;min-height:100vh;min-height:100svh}
 body:has(>#section-footer)>main{flex:1 0 auto}
 main:has(#section-1643059943483),main>div:has(>#section-1643059943483),#section-1643059943483,#section-1643059943483>.section{display:flex;flex-direction:column;flex:1 0 auto}
 #section-1643059943483 .sizer{flex:1 0 auto;display:flex;flex-direction:column;justify-content:center}
 #section-1643059943483 .sizer>.container{flex:none}
 #section-1643059943483 :is(a[href^=tel],a[href^=mailto]){color:#00349f;text-decoration:underline;text-underline-offset:3px}
 /* The review notes page starts under the overlay header. */
 .review-document{margin-top:calc(var(--clone-header-height,78px) + 20px)}
}
@media(min-width:768px) and (max-width:1023px){
 #block-1643053435163_0 h1{font-size:40px;line-height:1.15}
 .clone-home main [id^=section-]:not(#section-1643050831110) .sizer{padding-top:32px;padding-bottom:32px}
 /* Side by side, the tall text left navy under the portrait and white under the team collage, so
    tablets stack them: the portrait as a banner above its text, the whole collage below its text. */
 #block-1643053435163_0,#block-1643053493176,#block-1722201732024_0,#block-1722201732024_1{flex:0 0 100%;max-width:100%}
 #block-1643053493176{order:-1}
 #block-1643053493176 .image__image{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;object-position:50% 22%}
 #block-1722201732024_1 .image__image{display:block;width:100%;max-width:640px;margin:0 auto}
}
@media(max-width:767px){
 /* Homepage: 16px gutters (the theme's 10px puts cards against the screen edge) and tighter sections. */
 .clone-home main .container{padding-left:16px!important;padding-right:16px!important}
 .clone-home main [id^=section-]:not(#section-1643050831110) .sizer{padding-top:20px;padding-bottom:20px}
 .elfsight-app-bcc733b8-321f-42ab-bc06-800ad5254bfe [class*=WidgetTitle__Header]{font-size:28px!important;line-height:1.2!important}
 #block-1643053435163_0 h1{font-size:30px;line-height:1.15}
 /* 44px touch targets for the menu button and footer social links. */
 .header .hamburger__slices{position:relative}
 .header .hamburger__slices::before{content:'';position:absolute;inset:-10px -7px}
 .footer .social-icons__icons{gap:4px}
 .footer .social-icons__icon{width:44px;height:44px;margin:0!important;align-items:center;justify-content:center;font-size:20px}
 /* Newsletter listing and posts: aligned gutters, full-width search, phone-sized type. */
 .newsletter-hero .container{padding-left:20px;padding-right:20px}
 .newsletter-sidebar-column{flex:0 0 100%;max-width:100%}
 [id^=section-]:has(.newsletter-hero) .sizer{padding-bottom:16px!important}
 [id^=section-]:has(.newsletter-sidebar) .sizer{padding-top:16px!important}
 body .focus-writer-content h1{font-size:32px!important;line-height:1.15}
 body .focus-writer-content h2{font-size:26px!important;line-height:1.2}
 body .focus-writer-content h3{font-size:22px!important;line-height:1.25}
 body .focus-writer-content h4{font-size:20px!important}
 body .focus-writer-content h5{font-size:18px!important}
 body .focus-writer-content h6{font-size:17px!important}
 body .focus-writer-content :is(p,li,pre,blockquote){font-size:18px}
 .newsletter-post-body a.h6{display:inline-block;padding:11px 0;margin:-11px 0 -3px}
 /* Original course category and announcement pages: 16px gutters and readable tabs. */
 body[data-course] .main-content-spacer{padding:16px}
 body[data-course] .category-banner{padding:20px 16px}
 body[data-course] .category-progress,body[data-course] .category-post{padding:20px 16px}
 body[data-course] .dashboard-tabs{display:flex;flex-wrap:wrap;gap:0 24px}
 body[data-course] .dashboard-tabs-tab{margin-right:0;font-size:14px;padding-top:10px;padding-bottom:10px}
 /* Quiz lessons: the summary card fits its content and Start now is a full-size button. */
 body[data-course] .cx-quiz .quiz-preview{min-height:0;padding:28px 20px 32px}
 body[data-course] .cx-quiz .quiz-preview .preview-button{min-height:44px;padding:10px 28px;border-radius:8px;font:700 15px/1.4 'Open Sans',sans-serif}
 /* 44px touch targets: the course menu icon, header search, history toggle, account link and the
    homepage video's seek bar (its line and thumb look the same; the slider just gets taller). */
 body[data-course] .responsive-toggle-trigger.fa-bars{padding-top:10px;padding-bottom:10px;margin:-10px 0}
 body[data-course] .search .search-input{height:40px}
 #course-history{padding:0!important}
 #course-history>summary{padding:18px}
 #course-history>.history-content{padding:0 18px 18px}
 .signin-ui #auth-settings-link{padding:11px 4px;margin:-11px 0}
 .video-controls .player-seek{height:24px;background:linear-gradient(#ffffff70,#ffffff70) center/100% 2px no-repeat}
 .video-controls .player-seek::-webkit-slider-runnable-track{height:24px}
 .video-controls .player-seek::-webkit-slider-thumb{margin-top:9px}
 .video-controls .player-seek::-moz-range-track{background:transparent}
 .clone-home .local-video:not(.is-playing):not(:focus-within) .video-controls .player-seek{height:4px}
 .assessment-dialog .dialog-close{left:6px;top:14px;width:44px;height:44px;display:grid;place-items:center;font-size:22px}
 .assessment-submit{top:14px;min-height:44px;padding:0 20px;font:700 15px 'Open Sans',sans-serif}
 /* Short phones: the Start Now photo gives up height (down to its 96px typing size) so the form's
    button stays on screen; taller phones keep the full 16:9 photo. */
 .signin-course-image{max-height:max(96px,calc(100svh - 580px))}
}
/* "Want to Book a Call?": Schedule Now rounds its corners like Read My Story above it. */
.clone-home #block-1722201732024_0 .btn{border-radius:10px;transition:background-color .15s,border-color .15s}
.clone-home #block-1722201732024_0 .btn:hover{background-color:#cf6d1b!important;border-color:#cf6d1b!important}

/* Desktop sizing (1024px and wider; phone and tablet rules sit above).
   The homepage hero sizes its video by the window's height, so the headline, video and Start
   Now button fit in one view on laptop screens (1280×720 to 1536×864): the 130px headline,
   78px header and 144px of spacing and button leave the rest for the 16:9 video, which is never
   narrower than 640px or wider than the theme's column. The headline block keeps its 9:10 share. */
@media(min-width:1024px){
 .clone-home #section-1643050831110 .row{--hero-w:min(83.334%,max(640px,(100vh - 360px)*16/9))}
 .clone-home #block-1713148000352,.clone-home #block-1713148466738{flex:0 0 auto;width:var(--hero-w);max-width:var(--hero-w)}
 .clone-home #block-1716190478486{flex:0 0 auto;width:calc(var(--hero-w)*.9);max-width:calc(var(--hero-w)*.9)}
 /* Short one-section pages (Contact) stretch that section to the footer instead of leaving a
    blank band under it; the theme's body is already a full-height flex column. */
 body>main{flex:1 0 auto}
 body>main:has(>div:only-child>[id^=section-]:only-child){display:flex;flex-direction:column}
 body>main>div:only-child:has(>[id^=section-]:only-child){flex:1 0 auto;display:flex;flex-direction:column}
 body>main>div:only-child>[id^=section-]:only-child{flex:1 0 auto;display:flex;flex-direction:column;justify-content:center}
 /* "Why I Am An Expert": the text sets the section's height and the tall portrait fills the
    column beside it, cropped around her face, instead of leaving navy above or below one of them. */
 #block-1643053493176>.block{position:relative;height:100%}
 #block-1643053493176 .image__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 20%}
 /* "Want to Book a Call?" shares that 7:5 split, so the square team collage (which cannot crop
    without cutting faces) stays smaller, and the text is centered in the panel beside it. The
    panel and collage form one rounded card with the Expert card's shadow, 80px from the cards
    above and below. The theme's 30px navy border pads the text; the sides gain up to 26px more
    as the window widens past 1024px, so the panel never grows taller than the collage. */
 #block-1722201732024_0{flex:0 0 58.333%;max-width:58.333%}
 #block-1722201732024_1{flex:0 0 41.667%;max-width:41.667%}
 #block-1722201732024_0>.block{display:flex;flex-direction:column;justify-content:center}
 .clone-home #section-1722201732024 .sizer{padding-top:0;padding-bottom:80px}
 .clone-home #section-1722201732024 .row{border-radius:12px;overflow:hidden;box-shadow:0 10px 40px rgba(0,0,0,.1)}
 .clone-home #block-1722201732024_0 .block,.clone-home #block-1722201732024_1 .image{border-radius:0}
 .clone-home #block-1722201732024_0>.block{padding:0 clamp(0px,(100vw - 1024px)*.1,26px)}
 .clone-home #block-1722201732024_0 h2{margin-bottom:12px}
 .clone-home #block-1722201732024_0 hr{width:100%;margin:0 0 18px;border:0;border-top:2px solid rgba(255,255,255,.3)}
 .clone-home #block-1722201732024_0 p{margin-bottom:24px}
 .clone-home #block-1722201732024_0 .btn{margin-top:0}
 /* Every credential gets the same spacing; some captured items wrap a paragraph. */
 #block-1643053435163_0 li>p{margin:0}
 #block-1643053435163_0 li+li{margin-top:12px}
 /* The newsletter sidebar's "Connect" column has no links; the search stays on the right. */
 .newsletter-sidebar-column:not(:has(a,input,img)){display:none}
 .newsletter-sidebar-column:has(a,input,img){margin-left:auto}
}
/* Signed in, Course Library and Log Out are 65px wider than Sign Up and Log In, so the header needs
   ~990px at the menu's 20px gaps. Up to there the gaps narrow (to 10px at 960px) instead of the
   logo shrinking. */
@media(min-width:960px) and (max-width:1004px){html.clone-signed-in .header__content--desktop .link-list__link{margin-left:clamp(5px,(100vw - 925px)/8,10px);margin-right:clamp(5px,(100vw - 925px)/8,10px)}}
/* Large monitors widen the theme's 1260px content column together with the header. The column
   switches to content-box so each section keeps its own side padding; its children switch back,
   because the theme's elements inherit box-sizing. From 2200px the hero headline may grow to
   80px, so its video leaves 30px more room for it. */
@media(min-width:1600px){
 [id^=section-] .container:not(.container--full),.header__container{box-sizing:content-box;max-width:1400px!important}
 [id^=section-] .container:not(.container--full)>*,.header__container>*{box-sizing:border-box}
 /* The wider collage makes "Want to Book a Call?" taller, so its short text grows to match. */
 #block-1722201732024_0 h2{font-size:52px;line-height:1.2}
 #block-1722201732024_0 p{font-size:22px;line-height:1.65}
}
@media(min-width:2200px){
 [id^=section-] .container:not(.container--full),.header__container{max-width:1560px!important}
 .original-hero{font-size:min(80px,(100cqw - 33px)/11.4)!important}
 .clone-home #section-1643050831110 .row{--hero-w:min(83.334%,max(640px,(100vh - 390px)*16/9))}
}
