/* ============================================================
   IUL ADVISORY — Ghost theme stylesheet
   Design system: ink navy / warm paper / brass / verdigris
   ============================================================ */

:root{
  --ink:#16232E;
  --ink-soft:#3C4B57;
  --paper:#FAF9F6;
  --card:#FFFFFF;
  --line:#DAD6CC;
  --brass:#A8842C;
  --floor:#2E6E5E;
  --red:#9C4A3C;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Public Sans',sans-serif;background:var(--paper);color:var(--ink);line-height:1.7;-webkit-font-smoothing:antialiased}
.mono{font-family:'IBM Plex Mono',monospace}
a{color:var(--ink)}
img{max-width:100%}

/* ---------- top bar (default.hbs) ---------- */
.topbar{position:sticky;top:0;z-index:50;background:rgba(250,249,246,.92);backdrop-filter:blur(8px);display:flex;justify-content:space-between;align-items:center;padding:14px 6vw;border-bottom:1px solid var(--line)}
.wordmark{font-family:'Libre Caslon Text',serif;font-size:1rem;font-weight:700;letter-spacing:.01em;text-decoration:none;color:var(--ink)}
.wordmark span{color:var(--brass)}
.nav-right{display:flex;align-items:center;gap:22px}
.npn{font-family:'IBM Plex Mono',monospace;font-size:.7rem;color:var(--ink-soft);letter-spacing:.06em}
.nav-cta{background:var(--ink);color:#fff;text-decoration:none;font-weight:700;font-size:.8rem;padding:9px 16px;border-radius:6px;letter-spacing:.02em;transition:background .15s}
.nav-cta:hover{background:#0E1820}

/* ---------- footer (default.hbs) ---------- */
.foot{border-top:1px solid var(--line);margin-top:40px;padding:26px 6vw;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:.72rem;color:#8A8577}
.policy-link{color:var(--ink);border-bottom:1px solid var(--brass);text-decoration:none}

/* ---------- shared bits ---------- */
.eyebrow{font-family:'IBM Plex Mono',monospace;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brass);margin-bottom:16px}
.rn-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.rn-grid.two{grid-template-columns:1fr 1fr}
.rn-card{display:block;border:1px solid var(--line);border-radius:8px;padding:18px 18px 16px;text-decoration:none;background:var(--card);transition:border-color .15s}
.rn-card:hover{border-color:var(--brass)}
.rn-card .k{font-family:'IBM Plex Mono',monospace;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--brass)}
.rn-card .t{font-family:'Libre Caslon Text',serif;font-size:.98rem;line-height:1.35;margin-top:6px;color:var(--ink)}
.rn-card .d{font-size:.78rem;color:var(--ink-soft);margin-top:6px}

/* ============================================================
   HOME (home.hbs) — landing page
   ============================================================ */
.home-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;padding:64px 6vw 72px;align-items:center;max-width:1200px;margin:0 auto}
.home-hero h1{font-family:'Libre Caslon Text',serif;font-weight:700;font-size:clamp(1.9rem,3.4vw,2.9rem);line-height:1.18;letter-spacing:-.01em;margin-bottom:20px}
.home-hero h1 em{font-style:italic;color:var(--floor)}
.home-hero .sub{font-size:1.02rem;color:var(--ink-soft);max-width:46ch;margin-bottom:30px}
.home-hero .sub strong{color:var(--ink)}

.form-card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:26px 26px 22px;box-shadow:0 1px 2px rgba(22,35,46,.05),0 10px 30px rgba(22,35,46,.06);max-width:440px}
.form-card h2{font-family:'Libre Caslon Text',serif;font-size:1.1rem;margin-bottom:4px}
.form-card>form>p,.form-card>p{font-size:.85rem;color:var(--ink-soft);margin-bottom:16px}
.field{margin-bottom:12px}
.field label{display:block;font-size:.75rem;font-weight:600;letter-spacing:.04em;margin-bottom:5px;color:var(--ink-soft)}
.field input,.field select{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:6px;font-family:'Public Sans',sans-serif;font-size:.92rem;background:#fff;color:var(--ink)}
.field input:focus,.field select:focus{outline:2px solid var(--brass);outline-offset:1px;border-color:var(--brass)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cta{width:100%;margin-top:6px;padding:14px;border:none;border-radius:6px;background:var(--ink);color:#fff;font-family:'Public Sans',sans-serif;font-weight:700;font-size:.95rem;letter-spacing:.02em;cursor:pointer;transition:background .15s}
.cta:hover{background:#0E1820}
.cta:focus-visible{outline:2px solid var(--brass);outline-offset:2px}
.fine{margin-top:14px;font-size:.7rem;color:#8A8577;line-height:1.5}
.consent{display:flex;gap:10px;align-items:flex-start;margin:14px 0 6px;padding:12px;background:#F6F4EE;border:1px solid var(--line);border-radius:6px}
.consent input{width:auto;margin-top:3px;accent-color:var(--brass);cursor:pointer}
.consent label{font-size:.68rem;font-weight:400;letter-spacing:0;color:var(--ink-soft);line-height:1.55;margin:0;cursor:pointer}

.chart-wrap{background:var(--ink);border-radius:12px;padding:28px 26px 20px;color:#E8E4DA}
.chart-title{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:#9FB0BC;margin-bottom:4px}
.chart-sub{font-family:'Libre Caslon Text',serif;font-size:1.05rem;margin-bottom:16px}
.chart-wrap svg{width:100%;height:auto;display:block}
.legend{display:flex;gap:22px;margin-top:14px;font-family:'IBM Plex Mono',monospace;font-size:.68rem;letter-spacing:.04em}
.legend span{display:flex;align-items:center;gap:7px}
.swatch{width:16px;height:3px;border-radius:2px;display:inline-block}
.chart-note{margin-top:12px;font-size:.72rem;color:#9FB0BC;line-height:1.5}

.strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#F3F1EA}
.strip-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:0;padding:0 6vw}
.strip-item{padding:30px 26px;border-left:1px solid var(--line)}
.strip-item:first-child{border-left:none;padding-left:0}
.strip-item h3{font-family:'Libre Caslon Text',serif;font-size:1rem;margin-bottom:6px}
.strip-item h3 .mono{color:var(--brass);font-size:.85rem;margin-right:6px}
.strip-item p{font-size:.84rem;color:var(--ink-soft)}

.promise{max-width:760px;margin:0 auto;padding:72px 6vw;text-align:center}
.promise h2{font-family:'Libre Caslon Text',serif;font-size:clamp(1.4rem,2.4vw,1.9rem);margin-bottom:16px}
.promise p{color:var(--ink-soft);font-size:.98rem;max-width:58ch;margin:0 auto 14px}
.promise .rule{width:56px;height:2px;background:var(--brass);margin:0 auto 26px}
.promise blockquote{font-family:'Libre Caslon Text',serif;font-style:italic;font-size:1.08rem;color:var(--ink);margin-top:26px;border:none}
.promise blockquote footer{font-family:'IBM Plex Mono',monospace;font-style:normal;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin-top:10px}

@media (prefers-reduced-motion:no-preference){
  .draw{stroke-dasharray:1000;stroke-dashoffset:1000;animation:draw 1.6s ease forwards}
  .draw2{animation-delay:.5s}
  @keyframes draw{to{stroke-dashoffset:0}}
}

/* ============================================================
   POST (post.hbs)
   ============================================================ */
.post-head{max-width:720px;margin:0 auto;padding:56px 6vw 8px}
.crumb{font-family:'IBM Plex Mono',monospace;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--brass);margin-bottom:16px}
.crumb a{color:var(--brass);text-decoration:none}
.post-head h1{font-family:'Libre Caslon Text',serif;font-weight:700;font-size:clamp(1.7rem,3.2vw,2.5rem);line-height:1.2;letter-spacing:-.01em;margin-bottom:18px}
.byline{display:flex;align-items:center;gap:12px;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:8px;text-decoration:none}
.byline:hover .who{border-bottom:1px solid var(--brass)}
.avatar{width:42px;height:42px;border-radius:50%;object-fit:cover;flex-shrink:0}
.byline .who{font-size:.85rem;font-weight:600}
.byline .meta{font-family:'IBM Plex Mono',monospace;font-size:.66rem;letter-spacing:.05em;color:var(--ink-soft)}

.post-body{max-width:720px;margin:0 auto;padding:24px 6vw 0}
.post-body p{margin-bottom:1.3em;color:#242F38;font-size:1.02rem}
.post-body h2{font-family:'Libre Caslon Text',serif;font-size:1.4rem;margin:1.8em 0 .6em;line-height:1.3}
.post-body h3{font-family:'Libre Caslon Text',serif;font-size:1.15rem;margin:1.5em 0 .5em}
.post-body strong{color:var(--ink)}
.post-body ul,.post-body ol{margin:0 0 1.3em 1.3em;color:#242F38}
.post-body li{margin-bottom:.4em}
.post-body img{border-radius:8px}
.post-body blockquote{border-left:3px solid var(--brass);padding-left:18px;font-family:'Libre Caslon Text',serif;font-style:italic;margin:1.5em 0;color:var(--ink-soft)}
.post-body hr{border:none;border-top:1px solid var(--line);margin:2em 0}
.post-body a{border-bottom:1px solid var(--brass);text-decoration:none}
.post-body table{width:100%;border-collapse:collapse;margin:1.5em 0;font-size:.88rem}
.post-body th{font-family:'IBM Plex Mono',monospace;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;text-align:left;color:var(--ink-soft);border-bottom:2px solid var(--ink);padding:10px 12px}
.post-body td{padding:10px 12px;border-bottom:1px solid var(--line)}

/* mid-article lead magnet (used via editor Snippet) */
.magnet{margin:2.4em 0;background:var(--ink);border-radius:12px;padding:30px 30px 26px;color:#E8E4DA;position:relative;overflow:hidden}
.magnet::before{content:"\00A7";position:absolute;right:-10px;top:-30px;font-family:'Libre Caslon Text',serif;font-size:11rem;color:rgba(168,132,44,.12);line-height:1}
.magnet .tag{font-family:'IBM Plex Mono',monospace;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:#C9A64C;margin-bottom:10px}
.magnet h3{font-family:'Libre Caslon Text',serif;font-size:1.35rem;font-weight:700;line-height:1.3;margin:0 0 10px;color:#fff}
.magnet p{font-size:.9rem;color:#B7C2CB;margin-bottom:18px;max-width:52ch}
.magnet-cta{display:inline-block;background:#fff;color:var(--ink);text-decoration:none;font-weight:700;font-size:.88rem;padding:13px 22px;border-radius:6px;transition:transform .12s;border-bottom:none !important}
.magnet-cta:hover{transform:translateY(-1px)}
.magnet .micro{display:block;margin-top:12px;font-family:'IBM Plex Mono',monospace;font-size:.64rem;letter-spacing:.06em;color:#7E93A3}

/* end-of-post capture */
.endcap{max-width:720px;margin:48px auto 0;padding:0 6vw}
.endcap-inner{border:1px solid var(--line);border-radius:12px;background:var(--card);overflow:hidden}
.endcap-main{padding:34px 34px 30px;text-align:center}
.endcap-main .rule{width:56px;height:2px;background:var(--brass);margin:0 auto 18px}
.endcap-main h2{font-family:'Libre Caslon Text',serif;font-size:1.5rem;margin-bottom:10px}
.endcap-main p{color:var(--ink-soft);font-size:.94rem;max-width:52ch;margin:0 auto 22px}
.endcap-cta{display:inline-block;background:var(--ink);color:#fff;text-decoration:none;font-weight:700;font-size:.95rem;padding:15px 30px;border-radius:6px;transition:background .15s}
.endcap-cta:hover{background:#0E1820}
.endcap-main .micro{display:block;margin-top:12px;font-family:'IBM Plex Mono',monospace;font-size:.64rem;letter-spacing:.06em;color:#8A8577}
.sub-strip{border-top:1px solid var(--line);background:#F3F1EA;padding:22px 34px;display:flex;gap:14px;align-items:center;flex-wrap:wrap;justify-content:space-between}
.sub-strip .txt{font-size:.82rem;color:var(--ink-soft);max-width:38ch}
.sub-strip .txt b{color:var(--ink)}
.sub-form{display:flex;gap:8px}
.sub-form input{padding:11px 14px;border:1px solid var(--line);border-radius:6px;font-family:'Public Sans',sans-serif;font-size:.86rem;min-width:210px}
.sub-form input:focus{outline:2px solid var(--brass);outline-offset:1px}
.sub-form button{padding:11px 18px;border:none;border-radius:6px;background:var(--floor);color:#fff;font-family:'Public Sans',sans-serif;font-weight:700;font-size:.84rem;cursor:pointer}
.sub-success,.sub-error{display:none;font-size:.82rem;padding-top:6px}
form[data-members-form].success .sub-success{display:block;color:var(--floor)}
form[data-members-form].error .sub-error{display:block;color:var(--red)}

.readnext{max-width:720px;margin:0 auto;padding:44px 6vw 30px}
.readnext .label{font-family:'IBM Plex Mono',monospace;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:16px}

.stickybar{position:fixed;bottom:0;left:0;right:0;z-index:60;background:var(--ink);color:#fff;display:none;align-items:center;justify-content:space-between;gap:12px;padding:12px 5vw;box-shadow:0 -6px 20px rgba(22,35,46,.25)}
.stickybar .s-txt{font-size:.78rem;color:#B7C2CB}
.stickybar a{background:#fff;color:var(--ink);text-decoration:none;font-weight:700;font-size:.78rem;padding:10px 14px;border-radius:6px;white-space:nowrap}

/* ============================================================
   BLOG INDEX (index.hbs)
   ============================================================ */
.arch-head{max-width:980px;margin:0 auto;padding:56px 6vw 26px}
.arch-head h1{font-family:'Libre Caslon Text',serif;font-weight:700;font-size:clamp(1.7rem,3vw,2.3rem);line-height:1.2;margin-bottom:10px}
.arch-head p{color:var(--ink-soft);font-size:.96rem;max-width:56ch}
.arch-grid{max-width:980px;margin:0 auto;padding:0 6vw 30px;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.arch-card{display:block;border:1px solid var(--line);border-radius:8px;padding:22px 22px 18px;text-decoration:none;background:var(--card);transition:border-color .15s}
.arch-card:hover{border-color:var(--brass)}
.arch-card .k{font-family:'IBM Plex Mono',monospace;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--brass)}
.arch-card .t{font-family:'Libre Caslon Text',serif;font-size:1.15rem;line-height:1.3;margin-top:8px;color:var(--ink)}
.arch-card .d{font-size:.82rem;color:var(--ink-soft);margin-top:8px}
.arch-card .m{font-family:'IBM Plex Mono',monospace;font-size:.62rem;letter-spacing:.06em;color:#8A8577;margin-top:12px}
.pagination{max-width:980px;margin:0 auto;padding:10px 6vw 20px;display:flex;justify-content:space-between;font-family:'IBM Plex Mono',monospace;font-size:.75rem}
.pagination a{text-decoration:none;border-bottom:1px solid var(--brass)}

/* ============================================================
   ABOUT (page-about.hbs)
   ============================================================ */
.about-hero{max-width:980px;margin:0 auto;display:grid;grid-template-columns:300px 1fr;gap:52px;padding:64px 6vw 56px;align-items:start}
.portrait{aspect-ratio:4/5;border-radius:10px;background:var(--ink);position:relative;overflow:hidden}
.portrait img{width:100%;height:100%;object-fit:cover;display:block}
.portrait::after{content:"";position:absolute;inset:10px;border:1px solid rgba(168,132,44,.35);border-radius:6px;pointer-events:none}
.plate{margin-top:14px;border:1px solid var(--line);border-radius:8px;background:var(--card);padding:14px 16px;font-family:'IBM Plex Mono',monospace;font-size:.68rem;letter-spacing:.05em;color:var(--ink-soft);line-height:1.9}
.plate b{color:var(--ink);font-weight:500}
.plate a{color:var(--ink);border-bottom:1px solid var(--brass);text-decoration:none}
.about-hero h1{font-family:'Libre Caslon Text',serif;font-weight:700;font-size:clamp(1.8rem,3.2vw,2.6rem);line-height:1.2;margin-bottom:18px}
.about-hero h1 em{font-style:italic;color:var(--floor)}
.about-hero p{color:#242F38;font-size:1.04rem;margin-bottom:1.2em;max-width:56ch}

.standard{background:var(--ink);color:#E8E4DA;padding:64px 6vw}
.standard-inner{max-width:980px;margin:0 auto}
.standard h2{font-family:'Libre Caslon Text',serif;font-size:1.6rem;color:#fff;margin-bottom:8px}
.standard .sub{color:#9FB0BC;font-size:.94rem;margin-bottom:36px;max-width:60ch}
.std-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.std-item{border-top:2px solid var(--brass);padding-top:16px}
.std-item .n{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.12em;color:#C9A64C;margin-bottom:8px}
.std-item h3{font-family:'Libre Caslon Text',serif;font-size:1.05rem;color:#fff;margin-bottom:8px}
.std-item p{font-size:.85rem;color:#B7C2CB}

.story{max-width:720px;margin:0 auto;padding:64px 6vw 24px}
.story h2{font-family:'Libre Caslon Text',serif;font-size:1.5rem;margin-bottom:18px}
.story p{color:#242F38;font-size:1rem;margin-bottom:1.3em}

.process{max-width:980px;margin:0 auto;padding:24px 6vw 56px}
.process h2{font-family:'Libre Caslon Text',serif;font-size:1.5rem;margin-bottom:26px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.step{border:1px solid var(--line);border-radius:8px;background:var(--card);padding:20px}
.step .n{font-family:'IBM Plex Mono',monospace;font-size:.66rem;letter-spacing:.1em;color:var(--brass)}
.step h3{font-family:'Libre Caslon Text',serif;font-size:1rem;margin:6px 0 6px}
.step p{font-size:.84rem;color:var(--ink-soft)}

.endcta{max-width:720px;margin:0 auto 64px;padding:0 6vw;text-align:center}
.endcta .box{border:1px solid var(--line);border-radius:12px;background:var(--card);padding:38px 34px}
.endcta .rule{width:56px;height:2px;background:var(--brass);margin:0 auto 18px}
.endcta h2{font-family:'Libre Caslon Text',serif;font-size:1.4rem;margin-bottom:10px}
.endcta p{color:var(--ink-soft);font-size:.94rem;max-width:48ch;margin:0 auto 22px}
.endcta a.btn{display:inline-block;background:var(--ink);color:#fff;text-decoration:none;font-weight:700;font-size:.95rem;padding:15px 30px;border-radius:6px}
.endcta a.btn:hover{background:#0E1820}

/* ============================================================
   THANK YOU (page-thank-you.hbs)
   ============================================================ */
.confirm{max-width:680px;margin:0 auto;padding:64px 6vw 40px;text-align:center}
.check{width:64px;height:64px;border-radius:50%;background:var(--floor);color:#fff;display:flex;align-items:center;justify-content:center;margin:0 auto 22px;font-size:1.6rem}
@media (prefers-reduced-motion:no-preference){
  .check{animation:pop .45s cubic-bezier(.2,1.4,.4,1) both}
  @keyframes pop{from{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}
}
.confirm h1{font-family:'Libre Caslon Text',serif;font-weight:700;font-size:clamp(1.7rem,3vw,2.3rem);line-height:1.22;margin-bottom:14px}
.confirm p{color:var(--ink-soft);font-size:1rem;max-width:50ch;margin:0 auto}

.ledger{max-width:680px;margin:26px auto 0;padding:0 6vw}
.ledger-inner{border:1px solid var(--line);border-radius:12px;background:var(--card);overflow:hidden;text-align:left}
.ledger-head{padding:16px 24px;border-bottom:1px solid var(--line);background:#F3F1EA;font-family:'IBM Plex Mono',monospace;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}
.l-row{display:grid;grid-template-columns:120px 1fr;gap:18px;padding:18px 24px;border-bottom:1px solid var(--line)}
.l-row:last-child{border-bottom:none}
.l-when{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.06em;color:var(--brass);padding-top:3px}
.l-what b{display:block;font-size:.92rem;margin-bottom:2px}
.l-what p{font-size:.84rem;color:var(--ink-soft)}
.l-what .hint{display:inline-block;margin-top:6px;font-family:'IBM Plex Mono',monospace;font-size:.66rem;letter-spacing:.04em;color:#8A8577;background:#F6F4EE;border:1px solid var(--line);border-radius:4px;padding:3px 8px}

.wait{max-width:980px;margin:0 auto;padding:56px 6vw 24px}
.wait h2{font-family:'Libre Caslon Text',serif;font-size:1.4rem;margin-bottom:6px}
.wait .sub{color:var(--ink-soft);font-size:.9rem;margin-bottom:22px}

.book{max-width:680px;margin:32px auto 64px;padding:0 6vw}
.book-inner{background:var(--ink);border-radius:12px;padding:30px 30px 26px;color:#E8E4DA;text-align:center}
.book-inner .tag{font-family:'IBM Plex Mono',monospace;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:#C9A64C;margin-bottom:10px}
.book-inner h3{font-family:'Libre Caslon Text',serif;font-size:1.25rem;color:#fff;margin-bottom:8px}
.book-inner p{font-size:.86rem;color:#B7C2CB;max-width:46ch;margin:0 auto 18px}
.book-cta{display:inline-block;background:#fff;color:var(--ink);text-decoration:none;font-weight:700;font-size:.88rem;padding:13px 24px;border-radius:6px}

/* ============================================================
   GENERIC PAGE (page.hbs)
   ============================================================ */
.page-head{max-width:720px;margin:0 auto;padding:56px 6vw 8px}
.page-head h1{font-family:'Libre Caslon Text',serif;font-weight:700;font-size:clamp(1.7rem,3.2vw,2.5rem);line-height:1.2;margin-bottom:18px}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:900px){
  .home-hero{grid-template-columns:1fr;gap:36px;padding-top:44px}
  .chart-wrap{order:-1}
  .strip-inner{grid-template-columns:1fr}
  .strip-item{border-left:none;border-top:1px solid var(--line);padding-left:0}
  .strip-item:first-child{border-top:none}
}
@media (max-width:820px){
  .about-hero{grid-template-columns:1fr;gap:30px}
  .portrait{max-width:280px}
  .std-grid,.steps{grid-template-columns:1fr}
  .arch-grid{grid-template-columns:1fr}
}
@media (max-width:760px){
  .rn-grid,.rn-grid.two{grid-template-columns:1fr}
  .stickybar{display:flex}
  .post-template{padding-bottom:64px}
  .sub-strip{flex-direction:column;align-items:flex-start}
  .sub-form{width:100%}
  .sub-form input{flex:1;min-width:0}
  .l-row{grid-template-columns:1fr;gap:4px}
}

/* ---------- Ghost editor cards (required) ---------- */
.kg-width-wide{max-width:1000px;margin-left:calc(50% - min(500px,48vw));margin-right:calc(50% - min(500px,48vw));width:auto}
.kg-width-full{max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);width:auto}
.kg-card{margin:1.5em 0}
.kg-image{margin:0 auto}
figcaption{font-family:'IBM Plex Mono',monospace;font-size:.7rem;color:#8A8577;text-align:center;padding-top:8px}
