/* SupplyShield Louisville - shared blog + article stylesheet */
:root{
  --bg:#0d1117; --panel:#161b22; --panel2:#1c232d; --line:#2a323d;
  --amber:#ffb000; --amber-d:#cc8a00; --blue:#00a8e8; --steel:#76828f;
  --txt:#e6edf3; --mut:#9aa7b6; --maxw:1200px;
}
html[data-theme="light"]{
  --bg:#eef1f6; --panel:#ffffff; --panel2:#f4f7fb; --line:#d8e0ea;
  --txt:#0f172a; --mut:#475569; --steel:#5d6b7d;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{font-family:'Inter',system-ui,sans-serif;background:var(--bg);color:var(--txt);line-height:1.7;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(rgba(13,17,23,.72),rgba(13,17,23,.86)),url('/bg-plant.webp') center / cover no-repeat}
html[data-theme="light"] body::before{background:linear-gradient(rgba(238,241,246,.86),rgba(238,241,246,.93)),url('/bg-plant.webp') center / cover no-repeat}
h1,h2,h3,h4{font-family:'Oswald',sans-serif;line-height:1.1;font-weight:700}
a{color:inherit;text-decoration:none}
::selection{background:var(--amber);color:#0d1117}
img{max-width:100%}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 26px}
.eyebrow{font-family:'IBM Plex Mono',monospace;font-size:.74rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--amber)}
html[data-theme="light"] .eyebrow{color:#b45309}

.hazard{height:8px;background:repeating-linear-gradient(45deg,var(--amber) 0 16px,#0d1117 16px 32px)}
.util{background:var(--amber);color:#0d1117}
.util .wrap{display:flex;justify-content:space-between;align-items:center;height:40px;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.util a{font-weight:800}

header.nav{position:sticky;top:0;z-index:50;background:rgba(13,17,23,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:78px}
.brand{display:flex;align-items:center;gap:16px}
.logo-img{height:34px;width:auto;display:block}
.brand-div{width:1px;height:34px;background:var(--line)}
.brand .geo b{font-family:'Oswald';font-weight:700;font-size:1.18rem;text-transform:uppercase;letter-spacing:.02em;display:block;line-height:1;color:#e6edf3}
.brand .geo small{display:block;font-family:'IBM Plex Mono';font-size:.6rem;letter-spacing:.15em;color:var(--steel);text-transform:uppercase;margin-top:4px}
.navlinks{display:flex;gap:26px}
.navlinks a{font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#9aa7b6;transition:color .2s}
.navlinks a:hover{color:var(--amber)}
.nav-right{display:flex;align-items:center;gap:14px}
.langsw{display:flex;gap:3px;font-family:'IBM Plex Mono';font-size:.72rem;font-weight:600}
.langsw a{padding:5px 8px;color:#9aa7b6;border:1px solid #2a323d;letter-spacing:.04em;line-height:1;transition:.2s}
.langsw a:hover{color:var(--amber);border-color:var(--amber-d)}
.langsw a.active{background:var(--amber);color:#0d1117;border-color:var(--amber)}
.theme-tgl{display:grid;place-items:center;width:38px;height:38px;background:transparent;border:1px solid #2a323d;color:#9aa7b6;cursor:pointer;flex:none;transition:.2s}
.theme-tgl:hover{color:var(--amber);border-color:var(--amber-d)}
.theme-tgl svg{width:18px;height:18px}
.theme-tgl .ico-moon{display:none}
html[data-theme="light"] .theme-tgl .ico-sun{display:none}
html[data-theme="light"] .theme-tgl .ico-moon{display:block}
.menu-btn{display:none;background:none;border:0;color:#e6edf3;font-size:1.6rem;cursor:pointer}

.btn{display:inline-flex;align-items:center;gap:.55rem;font-weight:700;font-size:.9rem;letter-spacing:.04em;text-transform:uppercase;padding:1rem 1.7rem;cursor:pointer;border:2px solid transparent;transition:.2s;font-family:'Oswald';clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)}
.btn-amber{background:var(--amber);color:#0d1117}
.btn-amber:hover{background:#ffc233;transform:translateY(-2px)}
.btn-line{border-color:var(--line);color:var(--txt);background:var(--panel)}
.btn-line:hover{border-color:var(--amber);color:var(--amber)}
.btn:active{transform:translateY(0) scale(.98)}
html[data-theme="light"] .btn-line:hover{color:#b45309}

main{position:relative}
.post-head{border-bottom:1px solid var(--line);padding:52px 0 36px;background:linear-gradient(180deg,rgba(13,17,23,.4),transparent)}
html[data-theme="light"] .post-head{background:linear-gradient(180deg,rgba(238,241,246,.5),transparent)}
.breadcrumb{font-family:'IBM Plex Mono';font-size:.72rem;letter-spacing:.06em;color:var(--mut);margin-bottom:18px;text-transform:uppercase}
.breadcrumb a:hover{color:var(--amber)}
html[data-theme="light"] .breadcrumb a:hover{color:#b45309}
.post-head h1{font-size:clamp(1.9rem,4.4vw,3rem);text-transform:uppercase;margin:14px 0 16px;max-width:24ch}
.post-head h1 em{font-style:normal;color:var(--amber)}
html[data-theme="light"] .post-head h1 em{color:#b45309}
.post-meta{font-family:'IBM Plex Mono';font-size:.78rem;color:var(--mut);display:flex;gap:16px;flex-wrap:wrap}
.post-meta b{color:var(--txt)}

.prose{max-width:760px;margin:0 auto;padding:44px 26px 8px;font-size:1.06rem}
.prose>p:first-of-type{font-size:1.18rem;color:var(--txt);border-left:3px solid var(--amber);padding-left:18px;margin-bottom:30px;line-height:1.6}
html[data-theme="light"] .prose>p:first-of-type{border-left-color:#b45309}
.prose p{margin:0 0 20px;color:var(--mut)}
.prose h2{font-size:clamp(1.4rem,3vw,1.9rem);text-transform:uppercase;color:var(--txt);margin:46px 0 14px}
.prose h3{font-size:1.2rem;text-transform:uppercase;color:var(--txt);margin:30px 0 10px}
.prose strong{color:var(--txt);font-weight:700}
.prose a{color:var(--amber);text-decoration:none;border-bottom:1px solid var(--amber-d);transition:.2s}
.prose a:hover{color:#ffc233;border-bottom-color:var(--amber)}
html[data-theme="light"] .prose a{color:#b45309;border-bottom-color:#d8ab6b}
html[data-theme="light"] .prose a:hover{color:#8a4708}
.prose ul,.prose ol{margin:0 0 22px;padding-left:22px;color:var(--mut)}
.prose li{margin:0 0 9px}
.prose li::marker{color:var(--amber)}
html[data-theme="light"] .prose li::marker{color:#b45309}
.prose blockquote{border-left:3px solid var(--amber-d);background:var(--panel);padding:18px 22px;margin:0 0 24px;color:var(--txt);font-size:1.02rem;border-radius:0 6px 6px 0}
.prose table{width:100%;border-collapse:collapse;margin:6px 0 28px;font-size:.95rem;display:block;overflow-x:auto}
.prose th{background:var(--panel2);color:var(--txt);text-align:left;padding:12px 14px;border:1px solid var(--line);font-family:'Oswald';text-transform:uppercase;font-size:.85rem;letter-spacing:.03em;white-space:nowrap}
.prose td{padding:12px 14px;border:1px solid var(--line);color:var(--mut);vertical-align:top}
.prose tbody tr:nth-child(even){background:rgba(255,255,255,.02)}
html[data-theme="light"] .prose tbody tr:nth-child(even){background:#f8fafc}

.faq-block{max-width:760px;margin:12px auto 0;padding:0 26px}
.faq-block h2{font-family:'Oswald';text-transform:uppercase;font-size:clamp(1.4rem,3vw,1.9rem);margin:30px 0 16px;color:var(--txt)}
.faq-block details{border:1px solid var(--line);background:var(--panel);margin-bottom:10px}
.faq-block summary{cursor:pointer;list-style:none;padding:18px 20px;font-family:'Oswald';font-weight:600;text-transform:uppercase;font-size:.98rem;color:var(--txt);display:flex;justify-content:space-between;gap:14px;align-items:center}
.faq-block summary::-webkit-details-marker{display:none}
.faq-block summary::after{content:"+";color:var(--amber);font-weight:700;font-size:1.3rem;line-height:1;flex:none}
.faq-block details[open] summary::after{content:"-"}
html[data-theme="light"] .faq-block summary::after{color:#b45309}
.faq-block .fa{padding:0 20px 18px;color:var(--mut);font-size:.98rem;line-height:1.7}

.cta-band{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--panel);margin-top:48px}
.cta-band .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:40px 26px;flex-wrap:wrap}
.cta-band h2{font-size:clamp(1.4rem,3vw,2rem);text-transform:uppercase;color:var(--txt);max-width:24ch}
.cta-band .sub{color:var(--mut);margin-top:8px;font-size:.95rem}
.cta-band .actions{display:flex;gap:12px;flex-wrap:wrap}

.related{padding:48px 0}
.related h3{font-family:'IBM Plex Mono';font-weight:600;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--amber);margin-bottom:20px}
html[data-theme="light"] .related h3{color:#b45309}
.rgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.rcard{background:var(--panel);border:1px solid var(--line);padding:24px;transition:.2s;display:block}
.rcard:hover{transform:translateY(-3px);border-color:var(--amber-d)}
.rcard .rt{font-family:'IBM Plex Mono';font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--amber)}
html[data-theme="light"] .rcard .rt{color:#b45309}
.rcard h4{font-family:'Oswald';text-transform:uppercase;font-size:1.05rem;color:var(--txt);margin:10px 0 0;line-height:1.2}

/* blog hub listing */
.hub{padding:40px 0 8px}
.hublist{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:8px}
.hcard{background:var(--panel);border:1px solid var(--line);padding:30px;transition:.2s;display:block}
.hcard:hover{transform:translateY(-3px);border-color:var(--amber-d)}
.hcard .rt{font-family:'IBM Plex Mono';font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--amber)}
html[data-theme="light"] .hcard .rt{color:#b45309}
.hcard h2{font-family:'Oswald';text-transform:uppercase;font-size:1.35rem;color:var(--txt);margin:12px 0 10px;line-height:1.12}
.hcard p{color:var(--mut);font-size:.95rem}

footer{background:#0a0e13;border-top:1px solid var(--line);padding:56px 0 26px;position:relative}
.fgrid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:34px;margin-bottom:36px}
.flogo{height:38px;width:auto;margin-bottom:16px;display:block}
footer h4{font-family:'IBM Plex Mono';color:#9aa7b6;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:14px}
footer a{display:block;color:#9aa7b6;font-size:.9rem;padding:5px 0}
footer a:hover{color:var(--amber)}
footer p{color:#9aa7b6}
.fbar{border-top:1px solid #222a35;padding-top:20px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-family:'IBM Plex Mono';font-size:.76rem;color:#8893a0}

a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--amber);outline-offset:3px}

@media(max-width:900px){
  .navlinks{display:none}.menu-btn{display:block}
  .rgrid,.hublist{grid-template-columns:1fr}
  .fgrid{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .util .wrap{flex-direction:column;height:auto;gap:3px;padding:7px 0;text-align:center;font-size:.66rem;line-height:1.35}
  .cta-band .wrap{flex-direction:column;align-items:flex-start}
}
@media(max-width:560px){
  .fgrid{grid-template-columns:1fr}
  .brand .geo{display:none}
  .nav-right .btn{display:none}
}
@media(prefers-reduced-motion:reduce){*,*::before{transition:none!important;scroll-behavior:auto!important}}
