/* Shared editorial, course and checkout presentation. */
.mobile-login,.mobile-enroll { display:none; }
.page-banner { background:var(--mist); border-bottom:1px solid var(--line); padding:30px 0 48px; overflow:hidden; }
.page-breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:9px; font-size:11px; color:var(--muted); margin-bottom:30px; }
.page-breadcrumb a:hover { color:var(--blue); text-decoration:underline; }
.page-banner-inner { display:flex; justify-content:space-between; align-items:center; gap:50px; }
.page-banner h1 { font-size:clamp(40px,4.5vw,66px); text-transform:uppercase; line-height:1.06; letter-spacing:-.6px; max-width:850px; margin-top:12px; }
.page-intro { font-size:15px; line-height:1.7; max-width:610px; color:var(--muted); margin-top:20px; }
.page-badge { width:118px; height:138px; flex-shrink:0; color:#b9cde5; }
.content-layout { display:grid; grid-template-columns:minmax(0,1fr) 290px; gap:64px; padding-block:62px 85px; align-items:start; }
.page-content { min-width:0; }
.prose { font-size:16px; line-height:1.9; overflow-wrap:anywhere; }
.prose p { margin:0 0 22px; }
.prose h2 { font-size:34px; line-height:1.14; margin:38px 0 18px; letter-spacing:-.3px; }
.prose h3 { font-size:28px; line-height:1.2; margin:30px 0 14px; }
.prose h4,.prose h5 { font-family:var(--display); font-size:24px; line-height:1.3; margin:28px 0 14px; color:var(--ink); }
.prose h2:first-child,.prose h3:first-child { margin-top:0; }
.prose a { color:var(--blue); text-decoration:underline; text-underline-offset:3px; }
.prose a:hover { color:#174797; }
.prose ul,.prose ol { margin:12px 0 28px; padding-left:24px; }
.prose li { margin:7px 0; padding-left:5px; }
.prose li::marker { color:var(--blue); }
.prose ul ul,.prose ol ol,.prose ul ol { margin:12px 0 18px; }
.prose img { max-width:100%; height:auto; border-radius:6px; }
.prose iframe,.prose video { max-width:100%; }
.prose table { border-collapse:collapse; max-width:100%; width:100%; margin:20px 0; font-size:14px; }
.prose td,.prose th { padding:11px 13px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; }
.prose th { background:var(--mist); font-weight:700; }
.prose blockquote { margin:28px 0; padding:25px 30px; background:var(--mist); border-left:3px solid var(--blue); border-radius:0 7px 7px 0; }
.prose blockquote p:last-child { margin-bottom:0; }
.prose hr { border:0; border-top:1px solid var(--line); margin:32px 0; }
.prose .alignleft { float:left; margin:7px 25px 15px 0; }
.prose .alignright { float:right; margin:7px 0 15px 25px; }
.prose .aligncenter { display:block; margin-inline:auto; }
.prose .wp-caption { max-width:100%; }
.prose .wp-caption-text { font-size:12px; color:var(--muted); }
.prose h4 img[width="11"] { display:none; }
.prose #contentleft { width:auto; float:none; }
.guide-aside { position:sticky; top:118px; }
.guide-card { padding:28px; border:1px solid var(--line); background:var(--mist); border-radius:10px; }
.guide-card>.brand-mark { width:40px; height:47px; margin-bottom:23px; color:var(--blue); }
.guide-card .section-label { font-size:9px; }
.guide-card h2 { font-size:31px; line-height:1.12; text-transform:uppercase; margin:11px 0 16px; }
.guide-card p:not(.section-label) { font-size:13px; color:var(--muted); line-height:1.8; }
.guide-card .btn { width:100%; font-size:12px; min-height:49px; padding:13px 10px; margin-top:23px; }
.aside-link { display:block; font-size:11px; font-weight:650; color:var(--blue); margin-top:17px; }
.aside-price { font-family:var(--display); font-size:40px; margin-top:22px; line-height:1; }
.aside-price small { display:block; font-family:var(--body); font-size:10px; color:var(--muted); line-height:1.65; margin-top:8px; }
.help-card { padding:28px 5px 0; }
.help-card h3 { font-size:23px; line-height:1.2; }
.help-card p { font-size:12px; color:var(--muted); margin-top:10px; }
.help-card a { display:inline-block; margin-top:14px; font-size:12px; color:var(--blue); font-weight:650; }
.child-pages { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; margin-top:30px; }
.child-pages a { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:21px; background:#fff; border:1px solid var(--line); border-radius:7px; text-decoration:none; font-size:14px; font-weight:600; line-height:1.5; }
.child-pages a:hover { border-color:var(--blue); background:var(--mist); }
.course-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:30px; }
.course-card { background:white; border:1px solid var(--line); border-radius:10px; padding:27px; display:flex; flex-direction:column; }
.course-card h2 { font-size:29px; margin:14px 0; }
.course-card h2 a { color:var(--ink); text-decoration:none; }
.course-card p { font-size:13px; color:var(--muted); line-height:1.8; }
.course-card .section-label { font-size:8px; color:var(--blue); }
.course-price { font:700 39px var(--display); margin:auto 0 20px; padding-top:20px; }
.course-price small { font:400 10px var(--body); color:var(--muted); display:block; }
.prose .btn,.prose .buy-now { color:white; text-decoration:none; }
.prose .buy-now { display:inline-flex; align-items:center; justify-content:center; background:var(--blue); padding:14px 28px; min-height:52px; border-radius:7px; font:650 14px var(--body); }
.course-card .text-link { margin-top:17px; font-size:11px; text-decoration:none; }
.blog-listing { padding-block:58px 80px; }
.post-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.post-card { background:white; border:1px solid var(--line); border-radius:10px; overflow:hidden; display:flex; flex-direction:column; }
.post-card-image { height:200px; display:block; overflow:hidden; background:var(--mist); }
.post-card-image img { width:100%; height:100%; object-fit:cover; transition:transform .3s; }
.post-card:hover .post-card-image img { transform:scale(1.03); }
.post-card-fallback { display:flex; justify-content:center; align-items:center; gap:18px; background:var(--ink); color:#c1d9f7; }
.post-card-fallback .brand-mark { width:47px; height:55px; }
.post-card-fallback span { font:700 26px/1.15 var(--display); }
.post-card-fallback small { font:600 8px var(--body); letter-spacing:1px; }
.post-card-body { padding:25px; display:flex; flex:1; flex-direction:column; }
.post-meta { font-size:10px; color:var(--muted); margin-bottom:13px; }
.post-card h2 { font-size:29px; line-height:1.15; margin-bottom:15px; letter-spacing:-.2px; }
.post-card h2 a:hover { color:var(--blue); }
.post-card-body>p:not(.post-meta) { color:var(--muted); font-size:12px; line-height:1.85; margin-bottom:20px; }
.post-card .text-link { margin-top:auto; color:var(--blue); font-size:12px; }
.article-meta { display:flex; flex-wrap:wrap; gap:10px 20px; font-size:11px; color:var(--muted); padding-bottom:24px; margin-bottom:28px; border-bottom:1px solid var(--line); }
.article-cover { width:100%; height:auto; max-height:460px; object-fit:cover; margin:0 0 30px; }
.article-back { margin-top:40px; padding-top:25px; border-top:1px solid var(--line); font-size:12px; }
.navigation { margin-top:40px; font-size:13px; }
.nav-links { display:flex; justify-content:space-between; flex-wrap:wrap; align-items:center; gap:12px; }
.page-numbers { display:inline-block; padding:9px 15px; border:1px solid var(--line); border-radius:5px; }
.page-numbers.current { background:var(--ink); border-color:var(--ink); color:white; }
.post-navigation .nav-links>* { max-width:46%; }
.archive-description { margin-bottom:30px; }
.empty-state { text-align:center; padding-block:70px; }
.empty-state h2 { font-size:35px; margin-bottom:20px; }
.empty-state>p { color:var(--muted); }
.empty-state .btn { margin-top:25px; }
.error-actions { display:flex; flex-wrap:wrap; gap:15px; justify-content:center; }
.search-box { margin:0 0 35px; }
.empty-state .search-box { margin-top:40px; }
.search-form { display:flex; gap:10px; justify-content:center; }
.search-form label { flex:1; max-width:460px; }
.search-field { width:100%; min-height:50px; padding:12px 16px; border:1px solid var(--line); border-radius:6px; }
.search-submit { padding:12px 22px; background:var(--blue); color:white; border:0; border-radius:6px; }
.screen-reader-text { border:0; clip:rect(1px,1px,1px,1px); clip-path:inset(50%); height:1px; width:1px; margin:-1px; overflow:hidden; padding:0; position:absolute!important; }
.prose form input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]):not([type="submit"]),.prose form select,.prose form textarea { max-width:100%; width:100%; border:1px solid #becde1; border-radius:6px; background:#fff; color:var(--ink); min-height:48px; padding:11px 13px; font:400 15px var(--body); }
.prose form input[type="submit"],.prose form button[type="submit"] { background:var(--blue); color:white; border:0; border-radius:6px; min-height:48px; padding:12px 22px; cursor:pointer; }
.prose form label { font-size:13px; font-weight:600; }
.prose input:focus-visible,.prose select:focus-visible,.prose textarea:focus-visible { outline:2px solid var(--blue); outline-offset:3px; }
.prose form .error { color:#a32626; font-size:12px; }
.register-intro>p img { display:none; }
.registration-form { border:1px solid var(--line); background:white; border-radius:10px; padding:30px; margin-top:26px; }
.registration-form fieldset { border:0; padding:0; margin:0 0 29px; min-width:0; }
.registration-form legend { font:700 28px var(--display); margin-bottom:18px; }
.registration-packages { display:grid; gap:9px; }
.registration-option { display:flex; align-items:center; gap:13px; border:1px solid var(--line); border-radius:6px; padding:15px; line-height:1.4; cursor:pointer; }
.registration-option:has(input:checked) { background:#eef4fd; border-color:var(--blue); box-shadow:inset 0 0 0 1px var(--blue); }
.registration-option input { accent-color:var(--blue); width:17px; height:17px; flex-shrink:0; }
.registration-option strong { display:block; font-size:13px; }
.registration-option small { display:block; font-size:10px; color:var(--muted); margin-top:5px; font-weight:400; }
.registration-amount { margin-left:auto; text-align:right; font-size:17px; font-weight:700; flex-shrink:0; }
.registration-form #payment-type { margin-top:8px; }
.coupon-toggle { display:flex; align-items:center; justify-content:space-between; width:100%; border:0; border-bottom:1px solid var(--line); background:none; color:var(--blue); font-size:12px; padding:0 0 15px; cursor:pointer; }
#coupon-code-enter-main { margin-top:15px; }
.registration-submit { width:100%; margin-top:26px; font-size:14px; }
.prose .form-note { font-size:10px; line-height:1.9; color:var(--muted); text-align:center; margin:15px 0 0; }
.registration-benefits { padding-left:18px; font-size:12px; line-height:1.8; margin-top:20px; color:var(--muted); }
.registration-benefits li { margin-bottom:10px; }
.checkout-shell { padding-block:54px 80px; }
.checkout-panel { max-width:760px; margin-inline:auto; background:white; border:1px solid var(--line); padding:38px; border-radius:10px; }
.legacy-checkout #cc-form>h3 { font-size:36px; text-transform:uppercase; }
.legacy-checkout #cc-form>h5 { font:500 14px var(--body); margin:30px 0 10px; }
.legacy-checkout #checkout-details-form { margin-top:18px; padding-top:16px; border-top:1px solid var(--line); }
.legacy-checkout #checkout-details-form table { margin:0!important; }
.legacy-checkout #checkout-details-form td { border:0; vertical-align:middle; padding:8px 0; }
.legacy-checkout #checkout-details-form tr:first-child td:first-child { width:28%; }
.legacy-checkout #checkout-details-form input[type="submit"] { width:100%; margin-top:10px; }
.legacy-checkout #cc-form>table td:first-child { width:auto!important; }
.legacy-checkout #cc-form>table tr:last-child { background:var(--mist); font-size:17px; }
.legacy-checkout #cc-form>table strong span { color:var(--ink)!important; }
.legacy-checkout #spinner { text-align:center; }
.legacy-checkout #stripe-payment-form { margin:0; }
.site-flash { margin-top:25px; padding:16px 20px; border-left:3px solid var(--blue); background:var(--mist); font-size:14px; }
.customer-stories blockquote { font-size:15px; }
.site-footer .footer-top { align-items:flex-start; }
.site-footer .footer-links { gap:80px; }
.site-footer .footer-links>div { display:grid; gap:12px; }
.site-footer .footer-links p { color:var(--muted); font-size:10px; text-transform:uppercase; letter-spacing:1.5px; margin-bottom:3px; }
.site-footer .footer-links a { font-size:12px; }
.site-footer .privacy-link { display:block; font-size:10px; color:#486385; margin-top:8px; }
.configured-footer { color:var(--muted); font-size:10px; margin-top:20px; }
.embedded-header { position:static; }
body.pr-embedded { background:transparent; }
.pr-embedded .site-footer { margin-top:0; }
@media (max-width:1100px) {
 .desktop-nav { display:none; }
 .menu-toggle { display:flex; flex-shrink:0; }
 .header-inner { gap:18px; }
 .header-actions { margin-left:auto; }
 .desktop-nav.is-open { display:flex; flex-direction:column; align-items:stretch; position:absolute; left:0; right:0; top:calc(100% + 1px); padding:20px; background:white; border:1px solid var(--line); border-radius:0 0 9px 9px; box-shadow:0 15px 25px #10274518; gap:0; }
 .desktop-nav.is-open a { padding:10px; font-size:14px; }
 .desktop-nav.is-open .mobile-login { display:block; border-top:1px solid var(--line); margin-top:7px; }
 .desktop-nav.is-open .mobile-enroll { display:block; color:var(--blue); font-weight:700; }
 .content-layout { grid-template-columns:minmax(0,1fr) 255px; gap:35px; }
 .guide-card { padding:23px; }
 .post-grid { gap:18px; }
 .post-card-body { padding:21px; }
 .post-card h2 { font-size:27px; }
 .course-grid { grid-template-columns:1fr; }
}
@media (max-width:800px) {
 .content-layout { grid-template-columns:1fr; gap:36px; padding-block:38px 55px; }
 .guide-aside { position:static; display:grid; grid-template-columns:1fr 1fr; gap:25px; }
 .guide-card { padding:28px; }
 .help-card { padding:26px 0; }
 .page-banner { padding-bottom:35px; }
 .page-badge { width:80px; height:95px; }
 .post-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .latest-posts .post-card:last-child { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; }
 .latest-posts .post-card:last-child .post-card-image { height:100%; }
 .course-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .footer-top { gap:35px; }
 .site-footer .footer-links { gap:40px; }
 .registration-layout .guide-aside { display:block; }
}
@media (max-width:620px) {
 .header-inner { gap:12px; }
 .header-actions { margin-left:auto; }
 .header-actions .btn { display:none; }
 .page-banner-inner { gap:20px; }
 .page-banner h1 { font-size:42px; }
 .page-banner .section-label { font-size:9px; }
 .page-badge { display:none; }
 .page-breadcrumb { font-size:10px; margin-bottom:23px; }
 .page-intro { font-size:13px; }
 .prose { font-size:15px; line-height:1.9; }
 .prose h2 { font-size:30px; }
 .prose h4 { font-size:25px; }
 .prose .alignleft,.prose .alignright { float:none; margin:12px 0 20px; }
 .guide-aside { display:block; }
 .help-card { padding:25px 5px 0; }
 .child-pages,.post-grid,.course-grid { grid-template-columns:1fr; }
 .blog-listing { padding-block:35px 55px; }
 .post-card-image { height:210px; }
 .latest-posts .post-card:last-child { display:flex; }
 .latest-posts .post-card:last-child .post-card-image { height:210px; }
 .post-card h2 { font-size:30px; }
 .post-card-body { padding:24px; }
 .article-meta { font-size:10px; gap:8px 13px; }
 .registration-form { padding:21px 15px; }
 .registration-form legend { font-size:26px; }
 .registration-option { padding:14px 11px; gap:10px; }
 .registration-option strong { font-size:12px; }
 .registration-amount { font-size:16px; }
 .registration-submit { gap:10px; padding-inline:15px; font-size:13px; }
 .checkout-shell { padding-block:32px 50px; }
 .checkout-panel { padding:23px 18px; }
 .legacy-checkout #cc-form>h3 { font-size:30px; }
 .legacy-checkout table { font-size:12px; }
 .legacy-checkout td { padding:10px 8px; }
 .legacy-checkout #checkout-details-form td { display:block; width:100%!important; }
 .prose blockquote { padding:20px; }
 .site-footer .footer-links { gap:35px; display:grid; grid-template-columns:1fr 1fr; width:100%; }
 .site-footer .footer-links a { font-size:11px; }
 .search-form { flex-wrap:wrap; }
 .search-form label { min-width:160px; }
 .post-navigation .nav-links>* { max-width:100%; }
}
@media (prefers-reduced-motion:reduce) { .post-card-image img { transition:none; } }

.registration-packages.is-collapsed .registration-option:not(:has(input:checked)) { display:none; }
.package-change { border:0; background:none; color:var(--blue); text-decoration:underline; text-underline-offset:3px; padding:12px 0 0; font:600 12px var(--body); cursor:pointer; }
.registration-compact .registration-submit { min-height:58px; font-size:16px; box-shadow:0 5px 16px #245abf25; }
.registration-compact fieldset { margin-bottom:22px; }
.page-banner:has(+ .registration-layout .registration-compact) { padding-block:26px; }
.page-banner:has(+ .registration-layout .registration-compact) h1 { font-size:clamp(34px,4vw,48px); }
.registration-layout:has(.registration-compact) { padding-block:28px 56px; }
.registration-compact { margin-top:0; padding:24px; }
.registration-compact legend { font-size:25px; margin-bottom:14px; }
@media(max-width:650px) { .registration-compact { padding:20px 15px; } .registration-compact .registration-submit { font-size:14px; } }

/* A direct email-only entry into the existing trial account flow. */
.free-trial-section { background:var(--mist); padding:72px 0; scroll-margin-top:30px; border-block:1px solid var(--line); }
.free-trial-grid { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:90px; }
.free-trial-copy h2 { font:700 clamp(48px,5vw,68px)/1 var(--display); color:var(--ink); margin:15px 0 22px; }
.free-trial-copy>p:not(.section-label) { font-size:15px; line-height:1.8; max-width:460px; color:var(--muted); }
.free-trial-copy ul { display:grid; gap:13px; padding:0; margin:25px 0 0; list-style:none; font-size:13px; font-weight:600; }
.free-trial-copy li { display:flex; gap:10px; align-items:center; }
.free-trial-copy li .icon { color:var(--blue); width:17px; height:17px; }
.free-trial-form { background:white; border:1px solid var(--line); border-radius:10px; padding:36px; box-shadow:0 10px 28px #10274508; }
.free-trial-form .brand-mark { width:36px; height:42px; color:var(--blue); margin-bottom:17px; }
.free-trial-form h3 { font:700 36px/1.1 var(--display); color:var(--ink); margin:0 0 12px; }
.free-trial-form>p { font-size:13px; line-height:1.7; color:var(--muted); margin:0 0 24px; }
.free-trial-form label { display:block; font-size:12px; font-weight:600; margin-bottom:9px; }
.free-trial-form input { width:100%; border:1px solid #bdcce0; border-radius:5px; padding:14px; font:400 15px var(--body); margin:0 0 16px; color:var(--ink); background:white; }
.free-trial-form .btn { width:100%; justify-content:space-between; font-size:14px; min-height:52px; }
.free-trial-form .trial-form-note { margin:18px 0 0; text-align:center; font-size:11px; }
.free-trial-form .trial-form-note a { text-decoration:underline; text-underline-offset:3px; }
.site-footer .footer-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; flex:1; max-width:690px; }
@media(max-width:900px) { .free-trial-grid { gap:40px; } .site-footer .footer-top { flex-direction:column; } .site-footer .footer-links { width:100%; max-width:none; } }
@media(max-width:650px) { .free-trial-section { padding:48px 0; } .free-trial-grid { grid-template-columns:1fr; gap:30px; } .free-trial-form { padding:26px 21px; } .site-footer .footer-links { grid-template-columns:1fr 1fr; gap:30px; } }
.requirements-note { margin-top:28px; padding:20px 24px; border:1px solid #c5d5e8; border-left:3px solid var(--blue); border-radius:6px; background:#f8fbff; color:var(--muted); font-size:13px; line-height:1.8; }
.requirements-note strong { color:var(--ink); }
.requirements-note a { color:var(--blue); text-decoration:underline; text-underline-offset:3px; }
.page-content > .requirements-note { margin:0 0 28px; }
.free-trial-form .trial-consent { display:flex; align-items:flex-start; gap:10px; font-weight:400; font-size:11px; line-height:1.7; margin:16px 0; }
.free-trial-form .trial-consent input { width:16px; height:16px; min-height:0; padding:0; margin:3px 0 0; flex:0 0 16px; accent-color:var(--blue); }
.trial-consent a { text-decoration:underline; text-underline-offset:3px; }
@media (max-width:620px) { .requirements-note { padding:17px; font-size:12px; } }
