:root{--ink:#071d2b;--muted:#52606a;--pink:#ff0a78;--blush:#fff5f8;--lav:#d8d6f1;--line:#e9edf0;--paper:#fff;--max:1200px}*{box-sizing:border-box}html{font-size:16px}body{margin:0;color:var(--ink);background:#fff;font-family:var(--gh-font-body,"Noto Sans",Arial,sans-serif);line-height:1.55}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.site-header{height:88px;max-width:var(--max);margin:auto;padding:0 28px;display:flex;align-items:center;justify-content:space-between;gap:28px;background:#fff}.brand{display:flex;align-items:center;white-space:nowrap;font-weight:800;letter-spacing:-.03em}.brand-mark{width:55px;height:37px;border:5px solid var(--ink);border-radius:6px;display:grid;place-items:center;margin-right:10px;position:relative;background:#fff8fa;transform:rotate(2deg)}.brand-mark:after{content:"";position:absolute;left:-10px;right:-10px;height:6px;bottom:-11px;border-radius:10px;background:var(--lav)}.brand-mark span{color:var(--pink);font-size:25px;line-height:1}.brand-words{font-size:19px}.brand-us{font-family:Caveat,cursive;color:var(--pink);font-size:37px;margin-left:5px;line-height:.8}.site-nav,.nav{display:flex;align-items:center;gap:28px}.nav{list-style:none;margin:0;padding:0}.nav a{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.subscribe-button,.primary-button{background:var(--pink);color:white!important;border-radius:6px;padding:13px 22px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.menu-toggle{display:none;border:0;background:transparent;font-size:24px}.home-shell,.listing-shell{max-width:var(--max);margin:auto;padding:0 28px 80px}.hero{min-height:390px;display:grid;grid-template-columns:1fr 1.2fr;background:linear-gradient(90deg,#fff 35%,#fff8fa);overflow:hidden;border-top:1px solid var(--line)}.hero-copy{padding:54px 40px 54px 20px;align-self:center}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:800;color:var(--pink)}.eyebrow.line:before{content:"";display:inline-block;width:42px;height:2px;background:var(--pink);vertical-align:middle;margin-right:14px}.hero h1,.listing-header h1,.article-header h1{font-size:clamp(40px,5vw,64px);line-height:1.02;letter-spacing:-.045em;margin:22px 0 14px}.hero p,.listing-header p,.dek{font-size:18px;color:var(--muted);max-width:640px}.primary-button{display:inline-block;margin-top:18px;padding:15px 26px}.hero-media{min-height:390px}.hero-media img{width:100%;height:100%;object-fit:cover}.hero-placeholder{height:100%;min-height:390px;display:grid;place-items:center;background:radial-gradient(circle at 60% 50%,#ffd9e8,#f7f3fb 58%,#fff);text-align:center;padding:30px}.hero-placeholder span{font-size:80px;color:var(--pink)}.category-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:22px;padding:24px 0 42px}.category-card{grid-column:span 2}.category-card:nth-child(4){grid-column:2 / span 2}.category-card:nth-child(5){grid-column:4 / span 2}.category-card{border:1px solid var(--line);border-radius:8px;padding:22px;display:grid;grid-template-columns:55px 1fr 20px;align-items:center;gap:15px;transition:.2s}.category-card:hover{transform:translateY(-2px);box-shadow:0 10px 30px #071d2b0c}.category-card h2{font-size:20px;margin:0 0 4px}.category-card p{font-size:14px;color:var(--muted);margin:0}.category-card b{color:var(--pink);font-size:22px}.category-icon{width:58px;height:58px;display:block;border-radius:50%;object-fit:contain}.section-heading{display:flex;justify-content:space-between;align-items:center;margin:0 0 20px}.section-heading h2{font-size:32px;letter-spacing:-.04em;margin:0}.section-heading a{font-size:12px;font-weight:800;text-transform:uppercase}.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.post-card{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}.card-image-wrap{aspect-ratio:16/9;display:block;background:var(--blush)}.card-image{width:100%;height:100%;object-fit:cover}.card-placeholder{height:100%;display:grid;place-items:center;color:var(--pink);font-size:48px;background:linear-gradient(135deg,#fff6f9,#f1effb)}.card-copy{padding:18px}.card-copy h3{font-size:20px;line-height:1.2;margin:7px 0 8px;letter-spacing:-.025em}.card-copy p{font-size:14px;color:var(--muted);margin:0}.listing-shell{padding-top:70px}.listing-header{max-width:760px;margin-bottom:44px}.pagination{display:flex;justify-content:center;gap:20px;margin-top:42px}.article{max-width:920px;margin:0 auto;padding:70px 28px 100px}.article-header{text-align:center;max-width:820px;margin:auto}.article-header .dek{margin:18px auto}.byline{font-size:13px;color:var(--muted)}.article-feature{margin:45px 0}.article-feature img{width:100%;border-radius:10px}.article-feature figcaption{font-size:12px;color:var(--muted);text-align:center;margin-top:8px}.gh-content{max-width:720px;margin:auto;font-family:var(--gh-font-body,"Noto Sans",Arial,sans-serif);font-weight:300;font-size:18px;line-height:1.8}.gh-content h2,.gh-content h3{font-family:var(--gh-font-heading,"Noto Sans",Arial,sans-serif);line-height:1.2;letter-spacing:-.03em;margin-top:2em}.gh-content img{height:auto}.gh-content a{text-decoration:underline;text-decoration-color:var(--pink);text-decoration-thickness:2px}.gh-content blockquote{border-left:4px solid var(--pink);margin-left:0;padding-left:24px;font-style:italic}.article-footer{max-width:720px;margin:50px auto 0;display:flex;flex-wrap:wrap;gap:8px}.article-footer a{background:var(--blush);padding:7px 11px;border-radius:999px;font-size:12px;font-weight:700}.site-footer{border-top:1px solid var(--line);max-width:var(--max);margin:auto;padding:48px 28px;display:grid;grid-template-columns:1fr auto;gap:30px;color:var(--muted)}.site-footer strong{color:var(--ink)}.site-footer strong span{font-family:Caveat,cursive;color:var(--pink);font-size:24px}.site-footer p{margin:5px 0}.site-footer small{grid-column:1/-1}.footer-nav .nav{gap:18px}@media(max-width:1000px) and (min-width:801px){.category-grid{grid-template-columns:repeat(2,1fr)}.category-card,.category-card:nth-child(4),.category-card:nth-child(5){grid-column:auto}.category-card:last-child{grid-column:1/-1}}@media(max-width:800px){.site-header{height:74px;padding:0 18px}.brand-mark{width:40px;height:29px;border-width:4px}.brand-words{font-size:14px}.brand-us{font-size:29px}.menu-toggle{display:block}.site-nav{display:none;position:absolute;top:74px;left:0;right:0;z-index:20;background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px}.site-nav.is-open{display:block}.site-nav .nav{display:grid;gap:14px}.subscribe-button{display:inline-block;margin-top:15px}.home-shell,.listing-shell{padding-left:18px;padding-right:18px}.hero{display:flex;flex-direction:column-reverse;margin:0 -18px}.hero-media,.hero-placeholder{min-height:220px;height:220px}.hero-copy{padding:30px 18px 34px}.hero h1,.listing-header h1,.article-header h1{font-size:36px}.hero p,.listing-header p,.dek{font-size:16px}.category-grid{grid-template-columns:1fr;gap:10px}.category-card,.category-card:nth-child(4),.category-card:nth-child(5),.category-card:last-child{grid-column:auto}.category-card{padding:15px}.post-grid{grid-template-columns:1fr}.section-heading h2{font-size:26px}.listing-shell{padding-top:45px}.article{padding:48px 18px 70px}.gh-content{font-size:17px}.site-footer{grid-template-columns:1fr}.footer-nav .nav{display:flex;flex-wrap:wrap}.site-footer small{grid-column:auto}}

/* Ghost Koenig editor wide/full-width content */
.gh-content .kg-width-wide {
  width: min(1100px, calc(100vw - 56px));
  max-width: none;
  margin-left: 50%;
  transform: translateX(-50%);
}
.gh-content .kg-width-full {
  width: 100vw;
  max-width: none;
  margin-left: 50%;
  transform: translateX(-50%);
}
.gh-content .kg-width-wide img,
.gh-content .kg-width-full img {
  width: 100%;
}
@media (max-width: 800px) {
  .gh-content .kg-width-wide { width: calc(100vw - 36px); }
}

/* Five homepage categories in one row on desktop. */
@media (min-width:1001px){
  .category-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
  .category-card,.category-card:nth-child(4),.category-card:nth-child(5){grid-column:auto}
  .category-card{grid-template-columns:1fr;grid-template-rows:58px 1fr auto;justify-items:center;align-items:start;gap:12px;padding:22px 14px;text-align:center}
  .category-card h2{font-size:16px;line-height:1.3;margin-bottom:8px}
  .category-card p{font-size:13px}
}

/* Mobile and tablet header; desktop branding stays unchanged. */
#mobile-tray {
  position:fixed;inset:0 0 0 auto;margin:0;height:100dvh;max-height:100dvh;
  width:min(340px,88vw);max-width:none;border:0;padding:28px;
  background:var(--paper);color:var(--ink);box-shadow:-15px 0 60px #071d2b20;
  transform:translateX(100%);transition:transform .25s ease;
}
#mobile-tray.is-open{transform:translateX(0)}
#mobile-tray::backdrop{background:#071d2b66}
.tray-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}
.tray-close{width:44px;height:44px;border:0;border-radius:50%;background:var(--blush);color:var(--ink);font-size:28px;cursor:pointer}
#mobile-tray .nav{display:grid;gap:0;margin-bottom:32px}
#mobile-tray .nav a{padding:17px 0;border-bottom:1px solid var(--line);font-size:18px;font-weight:700;text-transform:none;letter-spacing:normal;display:flex;justify-content:space-between;gap:12px}
#mobile-tray .nav a::after{content:"→";color:var(--pink)}
#mobile-tray .nav a[aria-current="page"],#mobile-tray .nav-current a{color:var(--pink)}
#mobile-tray .subscribe-button{display:block;text-align:center;margin-top:0}
.menu-toggle:focus-visible,.tray-close:focus-visible,#mobile-tray a:focus-visible{outline:3px solid var(--pink);outline-offset:4px}
@media(max-width:1100px){
  .site-header{position:relative;height:96px;padding:0 60px;justify-content:center}
  .site-header .brand{position:absolute;left:50%;transform:translateX(-50%)}
  .site-header .brand-mark{width:49px;height:34px;border-width:4px}
  .site-header .brand-words{font-size:17px}
  .site-header .brand-us{font-size:35px}
  .site-header .site-nav{display:none}
  .menu-toggle{display:block;position:absolute;right:12px;top:26px;width:44px;height:44px;color:var(--ink);font-size:28px;cursor:pointer}
}
@media(max-width:360px){
  .site-header .brand-mark{width:36px;height:28px;margin-right:8px}
  .site-header .brand-words{font-size:14px}
  .site-header .brand-us{font-size:30px}
  .menu-toggle{right:4px;width:36px}
}
@media(prefers-reduced-motion:reduce){#mobile-tray{transition:none}}

/* Display the approved logo artwork without redrawing its laptop or heart. */
.site-header .brand{width:340px;height:60px;flex-shrink:0}
.brand-logo{width:100%;height:100%;object-fit:cover;object-position:center}
@media(max-width:1100px){.site-header .brand{width:340px;height:64px}}
@media(max-width:480px){.site-header .brand{width:270px;height:54px}}
@media(max-width:360px){.site-header .brand{width:230px;height:48px}}

/* Approved personal homepage and native Ghost member signup. */
.hero-signup label{display:block;font-size:12px;font-weight:700;margin-bottom:6px}
.signup-fields{display:flex;gap:8px}
.signup-fields input{min-width:0;width:100%;flex:1;border:1px solid #cbd3d9;border-radius:6px;padding:12px;font:inherit;font-size:14px;color:var(--ink);background:var(--paper)}
.signup-fields button{flex-shrink:0;border:0;border-radius:6px;padding:12px 16px;background:var(--pink);color:#fff;font:inherit;font-size:13px;font-weight:800;cursor:pointer}
.signup-fields input:focus-visible,.signup-fields button:focus-visible,.hero-signup a:focus-visible,.hero-signin:focus-visible{outline:3px solid var(--pink);outline-offset:3px}
.hero-signup .signup-note{font-size:12px;margin:10px 0 0;color:var(--muted)}
.signup-note a,.hero-signin{text-decoration:underline;text-underline-offset:3px}
.signup-feedback p{font-size:14px;margin:12px 0 0;max-width:none}
.signup-feedback p:empty{display:none}
.signup-loading,.signup-pending,.signup-success,.signup-error{display:none}
.hero-signup.loading .signup-label{display:none}
.hero-signup.loading .signup-loading,.hero-signup.loading .signup-pending{display:block}
.hero-signup.loading button{cursor:wait;opacity:.75}
.hero-signup.success .signup-fields,.hero-signup.success>label,.hero-signup.success .signup-note{display:none}
.hero-signup.success .signup-success,.hero-signup.error .signup-error{display:block}
.signup-error{color:#a51b48}

.personal-intro{position:relative;isolation:isolate;overflow:hidden;padding:32px 28px 30px;border:0;border-radius:0;background:#fff}.personal-intro::after{content:"";position:absolute;right:0;top:0;bottom:0;width:320px;z-index:-1;background-image:radial-gradient(circle,#ff0a78 1.7px,transparent 1.7px);background-size:16px 16px;opacity:.32;mask-image:linear-gradient(to right,transparent,#000),linear-gradient(to bottom,transparent,#000 25%,#000 75%,transparent);mask-composite:intersect;pointer-events:none}
.author-hello{display:flex;align-items:center;gap:12px;font-size:12px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--pink)}
.author-hello img{width:46px;height:46px;border-radius:50%;object-fit:cover;object-position:50% 30%;filter:grayscale(1)}
.personal-intro h1{max-width:760px;font-size:clamp(30px,3.4vw,44px);line-height:1.12;letter-spacing:-.04em;margin:18px 0 12px}
.personal-intro>p{max-width:660px;margin:0;font-size:16px;color:var(--muted)}
.about-link{display:inline-block;margin-top:18px;font-size:13px;font-weight:700}.about-link span{color:var(--pink);margin-left:6px}


.below-signup{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center;padding:28px;margin-top:36px;background:var(--blush);border:1px solid var(--line);border-radius:10px}
.below-signup h2{font-size:26px;letter-spacing:-.03em;line-height:1.2;margin:10px 0}.below-signup>div>p{font-size:15px;margin:0;color:var(--muted)}
.below-signup .hero-members{padding:0;background:transparent;border:0;box-shadow:none}.below-signup .signup-fields{flex-direction:row}.below-signup .signup-fields button{width:auto}
@media(max-width:800px){.personal-intro{padding:24px 20px;background:#fff}.personal-intro::after{right:0;top:0;bottom:auto;width:110px;height:90px;opacity:.2}.personal-intro h1{font-size:32px}.below-signup{grid-template-columns:1fr;gap:18px;padding:22px}}
@media(max-width:360px){.below-signup .signup-fields{flex-direction:column}.below-signup .signup-fields button{width:100%}}

:root{--warm:#faf7f3;--warm-line:#e9e3dc}
.below-signup{background:var(--warm);border-color:var(--warm-line)}
.card-placeholder{background:var(--warm)}
.category-card:hover{border-color:#f5b2cf}
.author-hello,.about-link span,.category-card b,.card-copy .eyebrow,.below-signup .eyebrow{color:var(--pink)}
.about-link{color:var(--ink)}
.hello-wave{font-size:18px;letter-spacing:normal}
.about-link:focus-visible{outline:3px solid var(--pink);outline-offset:4px}

/* Homepage posts and companion sidebar. Shared grid rows align topics to cards. */
.blog-columns{display:grid;grid-template-columns:minmax(0,2.25fr) minmax(0,1fr);column-gap:44px;row-gap:20px;padding-top:28px;align-items:start}
.blog-columns .latest-section{display:contents}
.blog-columns .section-heading{grid-column:1;grid-row:1;margin:0;align-items:baseline;gap:12px}
.blog-columns .section-heading h2{font-size:30px}
.blog-columns .post-grid{grid-column:1;grid-row:2;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.blog-columns .pagination{grid-column:1;grid-row:3;margin-top:10px}
.blog-sidebar{grid-column:2;grid-row:2 / span 2;display:grid;gap:22px;align-self:start}
.topic-sidebar{padding:24px;border-radius:10px;background:#fff5f8;border:1px solid #f5dfe8}
.topic-sidebar h2{font-size:21px;letter-spacing:-.025em;margin:0 0 16px;line-height:1.25}
.topic-links{display:grid}
.topic-link{display:grid;grid-template-columns:38px minmax(0,1fr) 16px;gap:12px;align-items:center;padding:16px 0;border-bottom:1px solid #f1dce5}
.topic-link:last-child{border-bottom:0;padding-bottom:0}
.topic-link:first-child{padding-top:0}
.topic-link .category-icon{width:38px;height:38px}
.topic-link h2{font-size:15px;margin:0;letter-spacing:0;line-height:1.3}
.topic-link b{color:var(--pink);font-size:19px}
.topic-link:hover h2{color:var(--pink)}
.topic-link:focus-visible,.about-sidebar a:focus-visible{outline:3px solid var(--pink);outline-offset:4px}
.about-sidebar{padding:24px;border:1px solid var(--line);border-radius:10px;background:#fff}
.sidebar-portrait{width:56px;height:56px;border-radius:50%;object-fit:cover;object-position:50% 30%;filter:grayscale(1);flex-shrink:0}
.about-card-heading{display:flex;align-items:center;gap:10px;margin-bottom:22px}
.about-card-heading h2{flex:1;min-width:0;font-size:19px;line-height:1.25;letter-spacing:-.025em;margin:0}
.about-doodle{width:38px;height:54px;flex-shrink:0;color:var(--pink);align-self:center;transform:rotate(-5deg)}
.about-sidebar dl{margin:0}
.about-sidebar dl>div{margin-top:16px}
.about-sidebar dl>div:first-child{margin-top:0}
.about-sidebar dt{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--pink);margin-bottom:4px}
.about-sidebar dd{font-size:14px;line-height:1.55;margin:0;color:var(--ink)}
.about-sidebar a{text-decoration:underline;text-decoration-color:var(--pink);text-underline-offset:3px}
.blog-columns .card-placeholder{background:#fff}
@media(max-width:800px){
 .blog-columns{grid-template-columns:1fr;gap:28px;padding-top:20px}
 .blog-columns .latest-section{display:block}
 .blog-columns .section-heading{margin-bottom:20px}
 .blog-columns .section-heading h2{font-size:26px}
 .blog-columns .post-grid{grid-template-columns:1fr}
 .blog-sidebar{grid-column:auto;grid-row:auto;gap:20px}
 .topic-sidebar{padding:22px}
}

/* Circular numbering for post and page ordered lists. */
.gh-content ol{list-style:none;counter-reset:article-step;padding-left:0}
.gh-content ol>li{counter-increment:article-step;position:relative;padding-left:2.6em;margin-bottom:.8em}
.gh-content ol>li::before{content:counter(article-step);position:absolute;left:0;top:.15em;width:1.85em;height:1.85em;display:grid;place-items:center;border-radius:50%;background:var(--blush);color:var(--ink);font-size:.8em;font-weight:600;line-height:1;border:1px solid #f5dfe8}
.gh-content ol>li>p:first-child{margin-top:0}
.gh-content ol ol,.gh-content ol ul{margin-top:.8em}

/* Code examples: readable panels, language labels, and syntax tokens. */
.gh-content .code-panel{min-width:0;border-radius:10px;overflow:hidden;background:var(--ink);margin:24px 0 32px;box-shadow:0 8px 24px #071d2b0a}
.code-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 18px;border-bottom:1px solid #ffffff18;background:#0d2738;color:#bbcad4;font-family:var(--gh-font-body,"Noto Sans",Arial,sans-serif);font-size:11px;letter-spacing:.08em;font-weight:600;text-transform:uppercase;line-height:1.5}
.code-copy{padding:6px 12px;border:1px solid #ffffff35;border-radius:5px;background:transparent;color:#f8fbfd;font:inherit;letter-spacing:normal;text-transform:none;cursor:pointer}
.code-copy:hover{border-color:var(--pink)}
.code-copy:focus-visible,.gh-content pre:focus-visible{outline:2px solid var(--pink);outline-offset:-3px}
.gh-content pre{max-width:100%;margin:24px 0;padding:22px;overflow-x:auto;border-radius:10px;background:var(--ink);color:#eef3f6;font:400 14px/1.8 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre;tab-size:2;text-align:left;overflow-wrap:normal;word-break:normal}
.gh-content .code-panel pre{margin:0;border-radius:0}
.gh-content pre code{font:inherit;color:inherit;background:none;padding:0;border-radius:0;white-space:inherit}
.gh-content :not(pre)>code{background:var(--blush);padding:3px 6px;border-radius:4px;color:var(--ink);font:400 .85em ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow-wrap:anywhere}
.gh-content pre .token.punctuation{color:#bac8d4}
.gh-content pre .token.tag,.gh-content pre .token.selector,.gh-content pre .token.function{color:#ff83b5}
.gh-content pre .token.attr-name,.gh-content pre .token.property,.gh-content pre .token.number,.gh-content pre .token.boolean{color:#f5ce82}
.gh-content pre .token.string,.gh-content pre .token.attr-value{color:#a2ddbc}
.gh-content pre .token.comment,.gh-content pre .token.prolog,.gh-content pre .token.doctype{color:#94a8b7;font-style:italic}
.gh-content pre .token.keyword,.gh-content pre .token.operator,.gh-content pre .token.builtin{color:#96c9f7}
.code-copy-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(max-width:500px){.gh-content pre{padding:18px}}

/* Use the same approved artwork in the header and footer. */
.footer-brand{display:block;width:300px;max-width:100%;height:58px;margin-bottom:12px}
.footer-brand img{width:100%;height:100%;object-fit:cover;object-position:center}
.footer-brand:focus-visible{outline:3px solid var(--pink);outline-offset:4px}

/* Ghost Admin secondary navigation beside the footer logo. */
.site-footer{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center}
.footer-nav{min-width:0;justify-self:end}
.footer-nav .nav{justify-content:flex-end;flex-wrap:wrap;gap:12px 18px}
.footer-brand{margin-bottom:0}
@media(max-width:800px){.site-footer{grid-template-columns:1fr}.footer-nav{justify-self:start}.footer-nav .nav{justify-content:flex-start}}

/* A paginated archive and a friendly wrong turn. */
.archive-shell{padding-top:40px}
.archive-header{margin-bottom:32px}
.archive-header h1{font-size:clamp(36px,4vw,52px);margin:18px 0 12px}
.archive-columns{display:grid;grid-template-columns:minmax(0,2.25fr) minmax(0,1fr);gap:44px;align-items:start}
.archive-columns .post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.archive-empty{grid-column:1/-1;color:var(--muted)}
.not-found-shell{max-width:760px;margin:auto;padding:60px 28px 80px;text-align:center}
.lost-screen{max-width:330px;margin:0 auto 34px;padding:24px 16px;border:8px solid var(--ink);border-bottom-width:16px;border-radius:14px;background:var(--blush);transform:rotate(-3deg);box-shadow:0 12px 0 -5px #e9edf0}
.lost-screen span{display:block;color:var(--pink);font-size:80px;font-weight:800;line-height:1.1;letter-spacing:-.06em}
.lost-screen small{display:block;font-size:11px;font-family:ui-monospace,monospace;margin-top:12px}
.not-found-shell h1{font-size:clamp(32px,5vw,48px);line-height:1.1;letter-spacing:-.04em;margin:16px 0}
.not-found-shell>p{font-size:17px;color:var(--muted);max-width:550px;margin:0 auto}
.not-found-actions{display:flex;flex-direction:column;align-items:center;gap:6px;margin-top:12px}
@media(max-width:800px){.archive-columns{grid-template-columns:1fr;gap:28px}.archive-columns .post-grid{grid-template-columns:1fr}.not-found-shell{padding:40px 18px 60px}}

/* The archive gives its full width to articles. */
.archive-columns{grid-template-columns:minmax(0,1fr)}
.archive-columns .post-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1000px){.archive-columns .post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.archive-columns .post-grid{grid-template-columns:1fr}}

.latest-more{grid-column:1;grid-row:3;margin-top:4px}
.latest-more a{display:inline-block;font-size:13px;font-weight:700;padding:10px 0}
.latest-more a span{color:var(--pink);margin-left:6px}
.latest-more a:hover{color:var(--pink)}
.pagination{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:center;margin-top:36px}
.pagination-button{justify-self:start;display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid #f5dfe8;border-radius:7px;background:var(--blush);font-size:13px;font-weight:600;white-space:nowrap}
.pagination-button[rel="next"]{justify-self:end}
.pagination-button:hover{border-color:var(--pink)}
.page-number{font-size:12px;color:var(--muted);text-align:center}
.pagination-button:focus-visible,.latest-more a:focus-visible{outline:3px solid var(--pink);outline-offset:4px}
@media(max-width:400px){.pagination{gap:8px}.pagination-button{padding:9px 10px;font-size:12px}.page-number{font-size:11px}}

.footer-credit{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.footer-credit small{grid-column:auto}
.ghost-badge{display:inline-flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--line);border-radius:6px;padding:9px 13px;flex-shrink:0}
.ghost-badge img{width:64px;height:auto}
.ghost-badge:hover{border-color:var(--ink)}
.ghost-badge:focus-visible{outline:3px solid var(--pink);outline-offset:4px}

.footer-powered{display:inline-flex;align-items:center;gap:9px;font-size:12px;color:var(--muted)}

/* Separate footer credits from the logo and navigation. */
.footer-credit{border-top:1px solid var(--line);padding-top:22px}

/* Dark footer credit strip. */
.footer-credit{background:#071d2b;color:#f3f5f7;border-top:0;padding:20px 24px;margin:0 -28px -48px}
.footer-credit .footer-powered{color:#d3dce3}
.footer-credit .ghost-badge{background:#fff;border-color:#fff}
@media(max-width:500px){.footer-credit{padding:20px 18px}}

.article-comments{max-width:720px;margin:48px auto 0;padding-top:28px;border-top:1px solid var(--line)}

/* Give article copy breathing room when it follows the title/header directly. */
.article-header + .gh-content{margin-top:36px}
@media(max-width:800px){.article-header + .gh-content{margin-top:28px}}

/* Quiet, readable captions for editor cards and featured images. */
.gh-content figcaption,.article-feature figcaption{font-family:var(--gh-font-body,"Noto Sans",Arial,sans-serif);font-size:13px;font-weight:400;line-height:1.6;color:#6b7280;margin-top:10px}
.gh-content figcaption a{color:inherit}

/* Ghost Admin font choices, with the approved typography as the fallback. */
h1,h2,h3,h4,h5,h6{font-family:var(--gh-font-heading,"Noto Sans",Arial,sans-serif)}

/* Full-width footer surfaces with content aligned to the site's reading grid. */
.site-footer{--footer-inset:max(28px,calc((100vw - 1144px)/2));width:100%;max-width:none;padding-left:var(--footer-inset);padding-right:var(--footer-inset)}
.site-footer .footer-credit{margin-left:calc(-1 * var(--footer-inset));margin-right:calc(-1 * var(--footer-inset));padding-left:var(--footer-inset);padding-right:var(--footer-inset)}
@media(max-width:800px){.site-footer{grid-template-columns:minmax(0,1fr)}}

/* Ghost native search before the primary navigation links. */
.site-nav .gh-search-icon{flex-shrink:0}
.gh-search-icon:hover{color:var(--pink)!important}
.gh-search-icon:focus-visible{outline:3px solid var(--pink)!important;outline-offset:4px}
.tray-search{display:flex;align-items:center;gap:10px;margin-bottom:14px;font-size:16px;font-weight:600}

/* Approved hero dots extend farther left with a soft fade. */
.personal-intro::after{width:70%;opacity:.25;mask-image:linear-gradient(to right,transparent,#000 65%),linear-gradient(to bottom,transparent,#000 25%,#000 75%,transparent)}
@media(max-width:800px){.personal-intro::after{width:65%;height:100%;bottom:0}}

/* A prominent newest article followed by smaller homepage cards. */
.blog-columns .latest-post-card{border-radius:12px}
.blog-columns .latest-post-card .card-copy{padding:20px}
.blog-columns .latest-post-card h3{font-size:21px;line-height:1.2}
.blog-columns .latest-post-card p{line-height:1.7}
.blog-columns .latest-lead{grid-column:1/-1;background:var(--blush)}
.blog-columns .latest-lead .card-image-wrap{aspect-ratio:2.4/1}
.blog-columns .latest-lead .card-copy{padding:24px}
.blog-columns .latest-lead h3{font-size:32px;letter-spacing:-.035em;margin:10px 0}
.latest-read-link{display:inline-block;margin-top:18px;font-size:12px;font-weight:700}
.latest-read-link span{color:var(--pink);margin-left:8px}
.latest-read-link:focus-visible{outline:3px solid var(--pink);outline-offset:4px}
@media(max-width:800px){.blog-columns .latest-lead h3{font-size:27px}}

/* Minimal editorial tables for post and page content. */
.gh-content .content-table-scroll{max-width:100%;overflow-x:auto;margin:28px 0;-webkit-overflow-scrolling:touch}
.gh-content .content-table-scroll:focus-visible{outline:3px solid var(--pink);outline-offset:4px}
.gh-content .content-table{width:100%;border-collapse:separate;border-spacing:0;font-size:15px;font-weight:300;line-height:1.65}
.gh-content .content-table th,.gh-content .content-table td{text-align:left;padding:20px;vertical-align:top}
.gh-content .content-table th{font-weight:700;padding-top:12px;padding-bottom:14px;border-bottom:2px solid var(--pink);color:var(--ink)}
.gh-content .content-table td{border-bottom:1px solid var(--line)}
.gh-content .content-table td:last-child{font-weight:500;color:var(--muted)}
.gh-content .content-table code{font-size:13px;overflow-wrap:anywhere}
@media(max-width:600px){.gh-content .content-table{font-size:14px;min-width:520px}.gh-content .content-table th,.gh-content .content-table td{padding-left:16px;padding-right:16px}}
