/* ============================================
   L&L Blog Post CSS bundle
   Source: landl-blogs-a1-build.mjs (lines 67-150)
   Identical CSS across all blog post batches per the build catalogue.
   ============================================ */
:root{--snow:#fffafa;--black:#000;--ink-deep:#143350;--peach:#ffc46c;--peach-deep:#e8a449;--cyan:#0dbae8;--cyan-deep:#0894bb;--magenta:#eb19a3;--magenta-deep:#bf1383;--ink:#1a1a1a;--ink-soft:#3a3a3a;--ink-mute:#6a6a6a;--ink-faint:#9a9a9a;--bg-tint:#fff5e8;--bg-cyan:#e9f9fe;--bg-magenta:#fdedf6;--card:#ffffff;--border:rgba(0,0,0,.08);--serif:'Playfair Display',Georgia,serif;--sans:'Outfit',system-ui,-apple-system,sans-serif;--shadow-sm:0 4px 14px rgba(0,0,0,.06);--shadow-md:0 10px 32px rgba(0,0,0,.08);color-scheme:light}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:120px}html,body{overflow-x:clip}
body{font-family:var(--sans);background:var(--snow);color:var(--ink-soft);line-height:1.7;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--cyan-deep);text-decoration:none;transition:.25s}a:hover{color:var(--magenta)}
::selection{background:rgba(235,25,163,.25);color:var(--black)}
*:focus-visible{outline:2px solid var(--magenta);outline-offset:3px;border-radius:4px}
.skip-link{position:absolute;top:-100%;left:50%;transform:translateX(-50%);background:var(--magenta);color:#fff;padding:12px 24px;z-index:999;font-weight:700;font-size:.85rem;border-radius:0 0 6px 6px}.skip-link:focus{top:0}
.top{display:flex;background:var(--ink-deep);border-bottom:1px solid rgba(255,196,108,.12)}
.top a,.top button{flex:1;display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 20px;background:linear-gradient(120deg,var(--ink-deep) 0%,#214770 50%,var(--ink-deep) 100%);color:#fff;font-size:.86rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;border:none;font-family:inherit;cursor:pointer}
.top a em,.top button em{font-family:var(--serif);font-style:italic;font-weight:700;text-transform:none;letter-spacing:.01em;font-size:1.18em;color:var(--peach);padding:0 3px}
.hdr-wrap{position:sticky;top:0;z-index:100;background:var(--snow);box-shadow:0 1px 8px rgba(0,0,0,.04)}
.hdr{display:flex;justify-content:space-between;align-items:center;padding:16px 32px;border-bottom:1px solid var(--border);max-width:1280px;margin:0 auto}
.hdr-logo{font-family:var(--serif);font-size:1.5rem;font-weight:800;color:var(--black);line-height:1.05}
.hdr-logo span{color:var(--magenta)}
.hdr-sub{font-size:.58rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--cyan-deep);margin-top:2px}
.hdr-nav{display:flex;gap:24px}
.hdr-nav a{font-size:.78rem;font-weight:500;color:var(--ink-soft);letter-spacing:.04em;padding:6px 0}
.hdr-cta{padding:10px 22px;background:var(--magenta);color:#fff!important;border-radius:4px;font-size:.76rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
@media(max-width:880px){.hdr-nav{display:none}}
.bc-wrap{max-width:1080px;margin:0 auto;padding:18px 32px;font-size:.78rem;color:var(--ink-mute)}
.bc-wrap a{color:var(--cyan-deep)}
.bc-wrap a:hover{color:var(--magenta)}
.bp-hero{background:linear-gradient(180deg,var(--bg-cyan) 0%,var(--snow) 100%);padding:48px 32px 32px}
.bp-hero-inner{max-width:880px;margin:0 auto}
.bp-cat{display:inline-block;background:var(--magenta);color:#fff;padding:5px 14px;border-radius:3px;font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin-bottom:18px}
.bp-h1{font-family:var(--serif);font-size:clamp(1.7rem,4vw,2.6rem);font-weight:800;color:var(--ink);line-height:1.15;margin-bottom:22px}
.bp-byline{display:flex;align-items:center;gap:14px;color:var(--ink-mute);font-size:.92rem}
.bp-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--magenta),var(--cyan));color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-weight:800;font-size:1.05rem;flex-shrink:0}
.bp-by-name{color:var(--ink);font-weight:600}
.bp-by-name a{color:var(--ink)}
.bp-by-name a:hover{color:var(--magenta)}
.bp-meta{font-size:.83rem}
.bp-wrap{max-width:880px;margin:0 auto;padding:0 32px 80px}
.bp-intro{font-size:1.1rem;line-height:1.7;color:var(--ink-soft);margin:36px 0 28px;padding:24px;background:var(--bg-tint);border-left:4px solid var(--peach);border-radius:6px}
.bp-section{margin:42px 0}
.sec-h2{font-family:var(--serif);font-size:clamp(1.3rem,2.6vw,1.7rem);font-weight:700;color:var(--ink);margin-bottom:18px;line-height:1.25}
.bp-section p{margin-bottom:16px}
.bp-section ul,.bp-section ol{margin:14px 0 18px 26px}
.bp-section li{margin-bottom:8px}
.bp-section table{width:100%;border-collapse:collapse;margin:18px 0;font-size:.92rem}
.bp-section th,.bp-section td{padding:9px 12px;text-align:left;border-bottom:1px solid var(--border)}
.bp-section th{background:var(--bg-tint);font-weight:700;color:var(--ink);font-size:.84rem;text-transform:uppercase;letter-spacing:.05em}
.bp-section table tr:nth-child(even){background:#fafafa}
.bp-faqs{margin:48px 0;padding:32px;background:var(--bg-cyan);border-radius:10px}
.bp-faqs h2{font-family:var(--serif);font-size:1.6rem;color:var(--ink);margin-bottom:22px}
.faq-item{background:#fff;border-radius:8px;margin-bottom:10px;border:1px solid var(--border);overflow:hidden}
.faq-item summary{padding:16px 20px;cursor:pointer;font-weight:600;color:var(--ink);font-size:1rem;list-style:none;display:flex;justify-content:space-between;align-items:center;line-height:1.45}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:'+';font-size:1.3rem;color:var(--magenta);font-weight:300;transition:transform .25s;flex-shrink:0;margin-left:14px}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-answer{padding:0 20px 18px;color:var(--ink-soft);line-height:1.65}
.bp-refs{margin:48px 0;padding:28px;background:#fff;border:1px solid var(--border);border-radius:8px}
.bp-refs h2{font-family:var(--serif);font-size:1.3rem;color:var(--ink);margin-bottom:14px}
.bp-refs ol{margin-left:24px}
.bp-refs li{margin-bottom:6px;font-size:.92rem;color:var(--ink-soft)}
.mid-cta{margin:48px 0;padding:36px;background:linear-gradient(135deg,var(--ink-deep),#0e2840);color:#fff;border-radius:10px;text-align:center}
.mid-cta h3{font-family:var(--serif);font-size:1.5rem;color:#fff;margin-bottom:10px}
.mid-cta p{color:rgba(255,255,255,.85);margin-bottom:18px}
.mid-cta .btn{display:inline-block;padding:14px 32px;background:var(--magenta);color:#fff;border-radius:4px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:.85rem}
.mid-cta .btn:hover{background:var(--magenta-deep);color:#fff}
.rel-wrap{margin:56px 0 0}
.rel-wrap h2{font-family:var(--serif);font-size:1.5rem;color:var(--ink);margin-bottom:22px}
.rel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px}
.rel-card{background:#fff;border:1px solid var(--border);border-radius:8px;padding:20px;text-decoration:none;color:inherit;transition:.25s;display:flex;flex-direction:column;justify-content:space-between}
.rel-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}
.rel-cat{font-size:.65rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--magenta);margin-bottom:8px}
.rel-card h3{font-family:var(--serif);font-size:1.05rem;font-weight:700;color:var(--ink);line-height:1.3;margin-bottom:10px}
.rel-cta{font-size:.82rem;color:var(--cyan-deep);font-weight:600}
.foot{background:var(--ink-deep);color:rgba(255,255,255,.85);padding:48px 32px 28px;margin-top:64px}
.foot-inner{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:32px}
.foot h4{font-family:var(--serif);color:#fff;margin-bottom:12px;font-size:1.05rem}
.foot a{color:rgba(255,255,255,.75)}
.foot a:hover{color:var(--peach)}
.foot ul{list-style:none}
.foot li{margin-bottom:6px;font-size:.86rem}
.foot-bottom{max-width:1180px;margin:32px auto 0;padding-top:22px;border-top:1px solid rgba(255,255,255,.1);font-size:.78rem;color:rgba(255,255,255,.55);text-align:center}
.edit-aside{background:var(--bg-tint);padding:18px 22px;border-radius:6px;margin:36px 0 0;font-size:.85rem;color:var(--ink-soft);border-left:3px solid var(--peach)}
.edit-aside strong{color:var(--ink)}
.ad-disclosure{margin:24px 0;padding:14px 18px;background:#fff;border:1px solid var(--border);border-radius:6px;font-size:.78rem;color:var(--ink-mute);text-align:center}
.sticky-call{position:fixed;bottom:0;left:0;right:0;display:none;background:var(--magenta);color:#fff;padding:14px;text-align:center;font-weight:700;text-decoration:none;z-index:100;letter-spacing:.05em}
@media(max-width:880px){.sticky-call{display:block}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* ===== Header logo as link (some posts wrap entire logo in <a>) ===== */
.hdr-logo a,.hdr a.hdr-logo{text-decoration:none;color:inherit}