/* Shared Disblur publishing system. The approved homepage styles stay intact. */
body{font-family:var(--gh-font-body,var(--font-sans))}
h1,h2,h3,h4,h5,h6{font-family:var(--gh-font-heading,var(--font-sans))}
#root{min-height:100svh}
.skip-link{position:fixed;z-index:1000;left:20px;top:16px;padding:12px 18px;background:#fff;color:#000;transform:translateY(-180%)}
.skip-link:focus{transform:none}
.header-actions{--header-text-size:20px;display:flex;align-items:center;gap:32px;margin-left:auto}
.header-actions .header-tagline,.header-involve{font-size:var(--header-text-size)}
.header-involve{font-weight:500;line-height:1.5;color:var(--white);padding:10px 0;text-decoration:none;white-space:nowrap}
.header-involve-arrow{margin-left:8px;color:var(--white-50)}
.header-involve:hover,.header-involve:focus-visible{text-decoration:none}
.header-involve:hover .header-involve-label,.header-involve:focus-visible .header-involve-label{text-decoration:underline;text-underline-offset:5px}
.publication-header{height:160px}
.publication-header .site-header{position:absolute;left:clamp(32px,2.9vw,50px);right:clamp(32px,2.9vw,50px);top:40px}
.disblur-signup{margin:32px auto 0;max-width:530px;text-align:center}
.signup-fields{display:flex;align-items:stretch;gap:12px}
.signup-fields .signup-input{flex:1;min-width:0;width:auto;border-color:var(--white-50);font-weight:400}
.signup-fields .btn-primary{width:auto;min-width:142px;flex-shrink:0}
.signup-note{margin-top:16px;color:var(--white-50);font-size:14px;line-height:1.55}
.signup-loading,.signup-success,.signup-error{display:none}
.disblur-signup.loading .signup-default{display:none}
.disblur-signup.loading .signup-loading{display:inline}
.disblur-signup.loading button{opacity:.7;pointer-events:none}
.disblur-signup.success .signup-fields,.disblur-signup.success .signup-note{display:none}
.disblur-signup.success .signup-success{display:block}
.signup-success{padding:20px 0;font-size:24px;font-weight:500;line-height:1.4}
.signup-success span{display:block;margin-top:8px;font-size:16px;font-weight:400;color:var(--white-80)}
.disblur-signup.error .signup-error{display:block}
.signup-error{color:#ffcccc;font-size:15px;line-height:1.5;margin-top:16px}
.member-welcome{margin-top:32px;font-size:22px;line-height:1.5}
.member-welcome a{display:inline-block;margin-top:10px;font-size:16px;color:var(--white-80);text-decoration:underline;text-underline-offset:5px}
.participation--compact{border-top:1px solid var(--white-20);margin:80px auto 48px;padding:64px 0;width:min(1200px,calc(100% - 64px))}
.faq details{display:block;border-bottom:1px solid var(--white-20);padding-bottom:32px}
.faq summary{list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq details[open] .faq-icon{transform:rotate(45deg)}
.faq details .faq-icon{transition:transform .2s ease}
.faq summary:focus-visible{outline:2px solid #fff;outline-offset:8px}
.footer-navigation{max-width:1488px;padding:24px clamp(20px,7vw,120px) 0;margin:0 auto;font-size:14px;color:var(--white-50)}
.footer-navigation .nav{display:flex;gap:24px;flex-wrap:wrap;list-style:none}
.footer-navigation a:hover{color:var(--white)}
.site-footer .wordmark-shine{background-image:linear-gradient(118deg,#6a6a6a 0%,#6a6a6a 35%,#fff 50%,#6a6a6a 65%,#6a6a6a 100%);background-size:200% auto;animation:disblur-wordmark-shine 4.2s linear .5s infinite alternate;animation-play-state:paused}
.site-footer .footer-wordmark{transform:scale(.9);transform-origin:center top}
.site-footer .footer-brand{height:calc(273.6px * var(--scale))}
.site-footer.is-in-view .wordmark-shine{animation-play-state:running}
@keyframes disblur-wordmark-shine{from{background-position:150% center}to{background-position:-50% center}}
.publication-main{padding:64px 0 32px}
.article-header{width:min(760px,calc(100% - 64px));margin:0 auto 56px}
.article-header h1{font-size:clamp(44px,6.2vw,84px);line-height:1.03;font-weight:500;letter-spacing:-.045em;overflow-wrap:anywhere;text-wrap:balance}
.article-excerpt{margin-top:28px;font-size:clamp(20px,2vw,26px);line-height:1.5;color:var(--white-80)}
.article-meta,.article-byline{font-size:14px;line-height:1.5;color:var(--white-50)}
.article-meta{margin-bottom:24px}
.article-byline{margin-top:28px}
.article-byline a,.article-meta a{color:var(--white-80)}
.article-feature{width:min(1200px,calc(100% - 64px));margin:0 auto 56px}
.article-feature img{display:block;width:100%;height:auto}
.article-feature figcaption,.gh-content figcaption{font-size:14px;line-height:1.5;color:var(--white-50);margin-top:12px;text-align:center}
.gh-canvas{display:grid;grid-template-columns:[full-start] minmax(20px,1fr) [wide-start] minmax(0,220px) [main-start] min(760px,calc(100% - 64px)) [main-end] minmax(0,220px) [wide-end] minmax(20px,1fr) [full-end]}
.gh-content>*{grid-column:main-start/main-end}
.gh-content{font-size:21px;line-height:1.7;color:var(--white-80);overflow-wrap:break-word}
.gh-content>*+*{margin-top:28px}
.gh-content h2,.gh-content h3,.gh-content h4,.gh-content h5,.gh-content h6{color:var(--white);line-height:1.2;letter-spacing:-.025em;font-weight:500;margin-top:56px}
.gh-content h2{font-size:40px}.gh-content h3{font-size:30px}.gh-content h4{font-size:24px}
.gh-content a:not(.kg-btn):not(.kg-bookmark-container){color:var(--white);text-decoration:underline;text-decoration-color:var(--white-50);text-underline-offset:4px}
.gh-content strong{font-weight:700;color:var(--white)}
.gh-content ul,.gh-content ol{padding-left:1.5em}
.gh-content li+li{margin-top:8px}
.gh-content hr{height:1px;background:var(--white-20);border:0;margin:48px 0}
.gh-content blockquote{border-left:1px solid var(--white-50);padding-left:28px;font-size:28px;line-height:1.45;color:var(--white)}
.gh-content pre{padding:24px;overflow:auto;border:1px solid var(--white-20);font:15px/1.65 var(--font-mono)}
.gh-content :not(pre)>code{font: .85em var(--font-mono);background:#181818;padding:.15em .35em}
.gh-content img{max-width:100%;height:auto}
.gh-content .kg-width-wide{grid-column:wide-start/wide-end}
.gh-content .kg-width-full{grid-column:full-start/full-end}
.kg-image-card img{margin:auto;display:block}
.kg-gallery-container{display:flex;flex-direction:column;gap:12px}
.kg-gallery-row{display:flex;gap:12px}
.kg-gallery-image{flex:1 1 0}
.kg-gallery-image img{display:block;width:100%;height:100%;object-fit:cover}
.kg-embed-card{overflow:hidden}
.kg-embed-card iframe{max-width:100%}
.kg-bookmark-card{background:#101010;border:1px solid var(--white-20)}
.kg-bookmark-card .kg-bookmark-container{color:var(--white);display:flex;min-height:150px;text-decoration:none}
.kg-bookmark-content{flex:1;padding:24px}
.kg-bookmark-title{font-size:19px;line-height:1.35}
.kg-bookmark-description{font-size:15px;line-height:1.5;margin-top:12px;color:var(--white-80)}
.kg-bookmark-metadata{font-size:13px;display:flex;gap:8px;align-items:center;margin-top:16px;color:var(--white-50)}
.kg-bookmark-icon{width:20px;height:20px!important}
.kg-bookmark-thumbnail{flex:0 0 30%;position:relative}
.kg-bookmark-thumbnail img{width:100%;height:100%;object-fit:cover}
.kg-toggle-card{border-color:var(--white-20)}
.kg-toggle-card .kg-toggle-heading-text{margin:0;font-size:24px}
.kg-callout-card{color:inherit}
.kg-button-card .kg-btn{font-family:var(--font-sans);font-size:16px;border-radius:2px}
.kg-video-card,.kg-audio-card{max-width:100%;color:initial}
.gh-content table{display:block;max-width:100%;overflow:auto;border-collapse:collapse;font-size:17px}
.gh-content th,.gh-content td{text-align:left;padding:14px 18px;border-bottom:1px solid var(--white-20)}
.content-access{padding:40px;border:1px solid var(--white-20);text-align:center}
.content-access h2{margin-top:0}.content-access p{margin:20px 0}
.content-access .btn-primary{color:#000!important;text-decoration:none!important;width:auto}
.post-grid{width:min(1200px,calc(100% - 64px));margin:64px auto 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:64px 32px}
.post-card-image{display:block;margin-bottom:24px;aspect-ratio:8/5;overflow:hidden}
.post-card-image img{display:block;width:100%;height:100%;object-fit:cover}
.post-card h2{font-size:30px;font-weight:500;line-height:1.18;letter-spacing:-.025em;overflow-wrap:anywhere}
.post-card h2 a:hover{text-decoration:underline;text-underline-offset:5px}
.post-card-tag{font-size:13px;color:var(--white-50);margin-bottom:12px}
.post-card-excerpt{font-size:17px;line-height:1.5;color:var(--white-80);margin-top:16px}
.post-card-meta{font-size:13px;color:var(--white-50);margin-top:20px}
.archive-empty{grid-column:1/-1;font-size:20px;color:var(--white-80);line-height:1.5}
.pagination{display:flex;justify-content:center;align-items:center;gap:32px;margin:64px 20px 0;font-size:15px;color:var(--white-80)}
.reading-view{width:min(900px,calc(100% - 40px));margin:auto;padding:48px 0;line-height:1.6;font-size:18px}
.reading-view h1{font-size:44px;line-height:1.1}.reading-view h2{font-size:32px;line-height:1.2;margin:40px 0 20px}
.reading-view h3{font-size:26px;line-height:1.25;margin:30px 0 12px}.reading-view p{margin:16px 0}
@media(max-width:1099px){.post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.header-actions{--header-text-size:18px;gap:24px}.publication-header{height:124px}.publication-header .site-header{top:28px}.publication-main{padding-top:40px}}
@media(max-width:1099px){.site-footer .footer-brand{height:auto}.site-footer .footer-wordmark{margin-bottom:calc((100vw - 48px) * -.02089347079)}}
@media(max-width:767px){
 .header-actions{--header-text-size:15px;gap:0;flex-direction:column;align-items:flex-end;justify-content:center}
 .header-involve{padding:5px 0 0;line-height:1.3}.header-involve-arrow{margin-left:5px}
 .site-footer .footer-wordmark{margin-bottom:calc((100vw - 40px) * -.02089347079)}
 .publication-header{height:100px}.publication-header .site-header{left:20px;right:20px;top:20px}
 .disblur-signup{margin-top:28px}.signup-fields{gap:10px}.signup-fields .signup-input{padding:14px;font-size:16px}.signup-fields .btn-primary{min-width:123px;padding:14px;font-size:14px}
 .signup-note{font-size:13px}.signup-success{font-size:22px}
 .faq details{padding-bottom:20px}
 .participation--compact{width:calc(100% - 40px);padding:48px 0;margin:56px auto 32px}
 .participation--compact .participation-inner{width:100%}
 .publication-main{padding-top:32px}.article-header{width:calc(100% - 40px);margin-bottom:36px}.article-header h1{font-size:44px}.article-excerpt{font-size:20px;margin-top:24px}
 .article-feature{width:calc(100% - 40px);margin-bottom:36px}
 .gh-canvas{grid-template-columns:[full-start] 20px [wide-start main-start] minmax(0,1fr) [main-end wide-end] 20px [full-end]}
 .gh-content{font-size:18px;line-height:1.65}.gh-content h2{font-size:32px}.gh-content h3{font-size:26px}.gh-content blockquote{font-size:24px;padding-left:20px}
 .post-grid{width:calc(100% - 40px);grid-template-columns:1fr;gap:48px;margin-top:40px}
 .kg-bookmark-content{padding:18px}.kg-bookmark-thumbnail{display:none}.content-access{padding:24px}
}
@media(max-width:359px){.signup-fields{flex-direction:column}.signup-fields .btn-primary{width:100%}}
@media(prefers-reduced-motion:reduce){.faq details .faq-icon{transition:none}.site-footer .wordmark-shine{display:none;animation:none}.site-footer .wordmark-sizer{opacity:1}}

/* Course availability: a quiet label grouped with the course title. */
.course-launch-status{display:inline-block;width:max-content;max-width:100%;padding:6px 9px;border-radius:6px;background:#262626;color:#999999;font-family:var(--font-sans);font-size:11px;font-weight:400;line-height:1.35;letter-spacing:.055em;white-space:nowrap;vertical-align:middle}
.course-heading{display:flex;flex-direction:column;align-items:flex-start;gap:12px}

/* Confirmation follow-up, revealed only after Ghost accepts a signup. */
.signup-resend{display:block;margin-top:20px;border:1px solid currentColor;border-radius:6px;padding:10px 15px;color:inherit;background:transparent;font:inherit;font-size:14px;line-height:1.4;cursor:pointer}
.signup-resend:disabled{opacity:.5;cursor:default}
.signup-resend:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.signup-success .signup-resend-hint{font-size:13px;line-height:1.5;margin-top:10px}
