/*
Theme Name: Black Swamp AI
Version: 2.0.0-preview
Text Domain: blackswamp-ai
*/
:root{--bg:#f6f5ef;--bg-raised:#eeeee5;--bg-card:#fffef9;--text:#18352b;--text-dim:#4d6057;--text-faint:#58695f;--accent:#176744;--accent-dark:#14532d;--accent-strong:#176744;--border:#d8ddd1;--border-strong:#b6c3b6;--radius:5px;--radius-lg:8px;--max-width:1180px;--font:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);line-height:1.65;font-size:16px}h1,h2,h3,h4{line-height:1.13;margin:0 0 .6em;font-weight:650;letter-spacing:-.045em}h1{font-size:clamp(2.6rem,5.3vw,4.75rem)}h2{font-size:clamp(1.8rem,3.4vw,2.9rem)}h3{font-size:1.3rem;letter-spacing:-.02em}p{margin:0 0 1.1em}a{color:var(--accent);text-underline-offset:4px}a:hover{text-decoration-thickness:2px}img{max-width:100%;height:auto}button,input,textarea,select{font:inherit}:focus-visible{outline:3px solid #bf681b;outline-offset:4px}.container{width:min(100% - 48px,var(--max-width));margin:auto}.section{padding:82px 0}.section-tight{padding:45px 0}.surface{background:var(--bg-raised)}.eyebrow{text-transform:uppercase;font-size:.72rem;font-weight:750;letter-spacing:.15em;display:block;margin-bottom:1.4rem;color:var(--accent)}.muted,.section-lede{color:var(--text-dim)}.section-lede{max-width:66ch;font-size:1.12rem}.faint{color:var(--text-faint)}.accent{color:var(--accent)}.grid{display:grid;gap:24px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px}.btn{display:inline-flex;gap:12px;align-items:center;justify-content:center;padding:13px 23px;min-height:48px;text-decoration:none;border-radius:4px;font-weight:650;border:1px solid transparent;cursor:pointer}.btn-primary{background:var(--accent);color:white}.btn-primary:hover{background:#105237}.btn-ghost{border-color:var(--border-strong);color:inherit}.actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}.text-link{font-weight:650}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}.section-heading{display:flex;justify-content:space-between;gap:25px;align-items:end;margin-bottom:35px}.section-heading h2{max-width:24ch}.prose{max-width:72ch}.prose p,.prose li{color:var(--text-dim)}.prose h2{font-size:1.75rem;margin-top:2rem}.prose h3{margin-top:1.75rem}.check-list{padding-left:1.2em}.check-list li{margin-bottom:12px}.page-intro{padding:74px 0 48px;border-bottom:1px solid var(--border)}.page-intro p{max-width:65ch;font-size:1.15rem;color:var(--text-dim)}.page-intro h1{max-width:22ch}.preview-banner{padding:8px 24px;background:#e5ecbf;color:#233523;font-size:.76rem;display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.preview-banner a{color:#233523}.site-header{background:#102b21;color:#f4f6e9;position:sticky;top:0;z-index:30}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:89px}.brand{width:210px;flex-shrink:0}.brand img{display:block;width:100%}.site-header nav{display:flex;gap:30px;align-items:center}.site-header nav a{font-size:.9rem;color:#e0e8db;text-decoration:none;padding:10px 0}.site-header nav a:hover,.site-header nav a.active{color:#b5e3a5;text-decoration:underline}.site-header nav .nav-contact{border:1px solid #759383;border-radius:4px;padding:9px 18px}.nav-toggle{display:none;color:white;background:transparent;border:1px solid #759383;padding:10px 15px;border-radius:4px}.skip-link{position:fixed;top:-100px;left:15px;z-index:100;background:white;padding:12px}.skip-link:focus{top:15px}.hero{background:#102b21;color:#f6f5e9;padding:78px 0 82px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:64px;align-items:center}.hero .eyebrow{color:#b5d59d}.hero h1{font-size:clamp(3.2rem,6.5vw,5.8rem);max-width:13ch;line-height:1.02}.hero h1 em{font-family:Georgia,serif;color:#c4e7a8;font-weight:400}.hero .lede{font-size:1.16rem;max-width:46ch;color:#d1dfd3;margin-top:28px}.hero .btn-primary{background:#c4e7a8;color:#102b21}.hero .btn-ghost{color:#f6f5e9;border-color:#759383}.hero-note{font-size:.82rem;color:#b7c9bd;margin-top:24px}.system-panel{position:relative;padding:32px;border:1px solid #4d6b59;background:#193b2c;border-radius:8px;box-shadow:24px 24px 0 #0b231b}.system-panel .eyebrow{margin-bottom:34px}.system-row{display:grid;grid-template-columns:38px 1fr;gap:12px;padding:22px 0;border-top:1px solid #44624f}.system-row .index{font-family:monospace;color:#b5d59d}.system-row strong{font-size:1.15rem;display:block;margin-bottom:5px;font-weight:600}.system-row small{color:#c0d0c2;font-size:.87rem}.panel-foot{font-size:.8rem;border-top:1px solid #44624f;padding-top:22px;color:#c0d0c2}.hardware-strip{border-bottom:1px solid var(--border);padding:21px 0;font-size:.8rem}.hardware-strip .container{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}.hardware-strip strong{font-weight:700}.service-row{display:grid;grid-template-columns:50px 1fr 1fr;gap:25px;padding:32px 0;border-top:1px solid var(--border)}.service-row:last-child{border-bottom:1px solid var(--border)}.service-row .number{font-family:monospace;color:var(--accent)}.service-row h3{font-size:1.55rem}.service-row p{color:var(--text-dim);margin-bottom:12px}.project-card{display:flex;flex-direction:column;min-height:225px;text-decoration:none;color:var(--text);transition:transform .15s,border-color .15s}.project-card:hover{transform:translateY(-3px);border-color:var(--accent)}.project-card .eyebrow{margin-bottom:25px}.project-card p{font-size:.92rem;color:var(--text-dim)}.project-card .more{margin-top:auto;font-size:.85rem;color:var(--accent);font-weight:650}.founder-block{background:#e5eadb;padding:42px;border-left:4px solid #477c48}.founder-block p{font-size:1.05rem}.cta{background:#183b2b;color:#f6f5e9;padding:46px;display:flex;gap:30px;justify-content:space-between;align-items:center}.cta h2{font-size:2.3rem;max-width:24ch}.cta p{color:#c4d5c8;max-width:60ch;margin:0}.cta .btn{background:#c4e7a8;color:#102b21;flex-shrink:0}.site-footer{margin-top:45px;background:#e9ece2;border-top:1px solid var(--border);padding:58px 0 0}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1.1fr;gap:50px}.footer-name{font-size:1.55rem;letter-spacing:-.04em;text-decoration:none;font-weight:750;color:var(--text)}.footer-name span{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.22em}.footer-grid p{font-size:.9rem;margin-top:18px}.footer-grid .eyebrow{margin-top:0}.footer-grid ul{list-style:none;padding:0;display:grid;gap:9px;font-size:.9rem}.footer-grid a{color:var(--text)}.footer-bottom{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;font-size:.75rem;padding:24px 0;margin-top:38px;border-top:1px solid var(--border)}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{text-align:left;padding:14px;border-bottom:1px solid var(--border);vertical-align:top}th{background:var(--bg-raised)}.table-scroll{overflow:auto;max-width:100%}code{overflow-wrap:anywhere;font-size:.88em}details{border-bottom:1px solid var(--border);padding:18px 0}summary{font-weight:650;cursor:pointer}details p{margin-top:12px;max-width:70ch}.badges{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.badge{font-size:.75rem;background:#e4eadc;border:1px solid #bccbb4;padding:5px 10px;border-radius:3px}.node-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:45px}.node-aside{display:grid;gap:22px}.node-aside h2{font-size:1.2rem}.node-aside ul{padding-left:18px}.reviewed{font-size:.77rem;color:var(--text-dim)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-field{display:grid;gap:7px}.form-field label{font-weight:650;font-size:.9rem}.form-field input,.form-field textarea,.form-field select{width:100%;padding:12px;background:white;color:var(--text);border:1px solid #91a595;border-radius:4px}.form-field textarea{min-height:150px;resize:vertical}.full{grid-column:1/-1}.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form-status{padding:14px 0;min-height:28px}.form-status[data-error=true]{color:#9b271c}.small{font-size:.83rem;color:var(--text-dim)}
@media(max-width:950px){.hero-grid{gap:32px;grid-template-columns:1.2fr .8fr}.site-header nav{gap:16px}.brand{width:185px}.grid-4{grid-template-columns:repeat(2,1fr)}.split{gap:35px}.footer-grid{gap:25px}.system-panel{padding:22px;box-shadow:12px 12px 0 #0b231b}.node-layout{grid-template-columns:1fr}}
@media(max-width:760px){.container{width:calc(100% - 36px)}.section{padding:54px 0}.header-inner{min-height:76px}.nav-toggle{display:block}.site-header nav{display:none;position:absolute;top:100%;left:0;right:0;background:#102b21;padding:20px;flex-direction:column;align-items:stretch;border-top:1px solid #4d6b59}.site-header nav.open{display:flex}.hero{padding:50px 0 60px}.hero-grid,.split,.grid-3,.grid-2,.footer-grid{grid-template-columns:1fr}.hero-grid{gap:44px}.hero h1{max-width:14ch}.system-panel{box-shadow:9px 9px 0 #0b231b}.service-row{grid-template-columns:30px 1fr;gap:14px}.service-row>div:last-child{grid-column:2}.section-heading{display:block}.cta{padding:30px;flex-direction:column;align-items:start}.preview-banner{font-size:.69rem;gap:6px 16px;padding:6px 12px}.preview-banner span{display:none}.founder-block{padding:26px}.page-intro{padding:48px 0 32px}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.grid-4{gap:14px}.card{padding:22px}.footer-grid{gap:30px}.footer-bottom{margin-top:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
.hero-brand{text-align:center;position:relative}.hero-brand img{display:block;width:min(100%,470px);margin:auto;filter:drop-shadow(0 18px 38px #041b12)}.hero-brand p{font-size:.84rem;color:#c4e7a8;letter-spacing:.04em;margin:18px 0 0}.hero-brand p span{color:#b7c9bd}.workflow-feature{display:grid;grid-template-columns:1.4fr 1fr;gap:45px;border:1px solid var(--border-strong);background:var(--bg-card);padding:42px;border-radius:8px}.workflow-feature h2{font-size:clamp(1.7rem,3vw,2.5rem)}.workflow-feature p{max-width:58ch;color:var(--text-dim)}.workflow-sample{display:grid;justify-items:center;align-content:center;gap:8px;background:#e9eee2;padding:26px;border-radius:5px}.workflow-sample strong{background:#fffef9;border:1px solid #adbfad;padding:10px 28px;min-width:180px;text-align:center;border-radius:4px}.workflow-sample>a{font-size:.85rem;margin-top:8px;font-weight:650}@media(max-width:760px){.hero-brand img{width:min(75vw,340px)}.hero-brand{margin-top:-10px}.workflow-feature{grid-template-columns:1fr;padding:26px;gap:28px}}

/* Article topic links */
.post-topics{margin:32px 0;padding-top:24px;border-top:1px solid var(--border)}.post-topics-label{display:block;font-size:.83rem;font-weight:650;color:var(--text-dim);margin-bottom:10px}.prose .topic-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}.topic-list li{margin:0;max-width:100%}.topic-list a{display:inline-flex;align-items:center;min-height:44px;padding:8px 14px;border:1px solid #bccbb4;border-radius:var(--radius);background:#e4eadc;color:var(--accent-dark);font-size:.85rem;font-weight:650;text-decoration:none;overflow-wrap:anywhere}.topic-list a:hover{background:#d6e3cb;text-decoration:underline}.topic-description{max-width:65ch}


/* Related Reading (Service Pages) */
.related-reading{margin-top:38px;padding-top:8px;border-top:1px solid var(--border)}
.related-reading h2{font-size:1.45rem;margin-bottom:.5rem}
.related-reading>p{color:var(--text-dim);font-size:.95rem;margin-bottom:1.25rem}
.related-reading ul{display:grid;gap:18px;padding-left:1.2rem}
.related-reading li::marker{color:var(--accent)}
.related-reading a{font-weight:700;color:var(--text);text-decoration:none}
.related-reading a:hover{color:var(--accent);text-decoration:underline}
.related-reading .small{display:block;margin-top:4px;color:var(--text-dim);font-size:.85rem;font-weight:400}

/* Blog Post Cards */
.post-card{display:flex;flex-direction:column;padding:0;overflow:hidden;text-decoration:none;color:var(--text);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);transition:transform .15s ease,border-color .15s ease}
.post-card:hover{transform:translateY(-3px);border-color:var(--accent)}
.post-card-image{display:block;width:100%;aspect-ratio:16/9;overflow:hidden;background:var(--bg-raised);border-bottom:1px solid var(--border)}
.post-card-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s ease}
.post-card:hover .post-card-image img{transform:scale(1.02)}
.post-card-content{display:flex;flex-direction:column;flex-grow:1;padding:24px}
.post-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:.72rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:12px}
.post-meta span+span::before,.post-meta span+time::before{content:"·";margin-right:8px;color:var(--border-strong)}
.post-meta time{color:var(--text-dim);font-weight:500}
.post-card-content h2{font-size:1.35rem;line-height:1.25;margin:0 0 12px;letter-spacing:-.02em}
.post-card-content h2 a{color:var(--text);text-decoration:none}
.post-card-content h2 a:hover{color:var(--accent)}
.post-excerpt{font-size:.92rem;color:var(--text-dim);line-height:1.55;margin-bottom:20px;flex-grow:1}
.post-excerpt p{margin:0}
.read-link{margin-top:auto;font-size:.85rem;color:var(--accent);font-weight:650;text-decoration:none;display:inline-flex;align-items:center;gap:4px}
.read-link:hover{color:var(--accent-dark);text-decoration:underline}

/* Article & Prose Elements (Gutenberg / Classic) */
.prose figure,.prose .wp-block-image{margin:2rem 0}
.prose figure img,.prose .wp-block-image img,.prose img.size-full,.prose img.size-large{max-width:100%;height:auto;border-radius:var(--radius-lg);border:1px solid var(--border);display:block}
.prose figcaption,.wp-block-image figcaption{font-size:.82rem;color:var(--text-dim);margin-top:.75rem;line-height:1.45;text-align:left}
.prose blockquote{border-left:3px solid var(--accent);padding:.75rem 1.25rem;margin:1.75rem 0;background:var(--bg-raised);border-radius:0 var(--radius) var(--radius) 0;font-style:italic}
.prose blockquote p{margin:0;color:var(--text)}
.prose table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.9rem}
.prose th,.prose td{padding:12px 14px;border:1px solid var(--border);text-align:left}
.prose th{background:var(--bg-raised);font-weight:700;color:var(--text)}
.prose code{background:var(--bg-raised);border:1px solid var(--border);padding:2px 6px;border-radius:4px;font-size:.88em;color:var(--accent-dark)}
.prose pre{background:#102b21;color:#e0e8db;padding:20px;border-radius:var(--radius-lg);overflow-x:auto;margin:1.5rem 0}
.prose pre code{background:none;border:none;padding:0;color:inherit}

/* Pagination */
.navigation.pagination{margin:36px 0;text-align:center}
.navigation.pagination .nav-links{display:inline-flex;gap:8px;align-items:center}
.navigation.pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 12px;border:1px solid var(--border);border-radius:var(--radius);color:var(--text);text-decoration:none;font-weight:600;font-size:.9rem}
.navigation.pagination .page-numbers:hover{border-color:var(--accent);color:var(--accent)}
.navigation.pagination .page-numbers.current{background:var(--accent);border-color:var(--accent);color:#fff}


/* Typography line-height & vertical breathing room */
h2{line-height:1.24}
h3{line-height:1.32}
.section-heading{display:flex;justify-content:space-between;gap:32px;align-items:flex-start;margin-bottom:42px}
.section-heading h2{line-height:1.22;max-width:20ch}
.section-heading .section-lede{margin-top:6px;line-height:1.6}

/* Service rows */
.service-row{display:grid;grid-template-columns:1fr 1.35fr;gap:45px;padding:38px 0;border-top:1px solid var(--border);align-items:start}
.service-row:has(.number){grid-template-columns:50px 1.15fr 1.25fr;gap:35px}
.service-row:last-child{border-bottom:1px solid var(--border)}
.service-row .number{font-family:monospace;color:var(--accent);font-size:1.15rem;font-weight:700;padding-top:4px}
.service-row h3{font-size:1.55rem;line-height:1.28;margin:0 0 10px;letter-spacing:-.02em}
.service-row .text-link{display:inline-block;font-weight:650;margin-top:6px;font-size:.95rem}
.service-row p{color:var(--text-dim);font-size:1.02rem;line-height:1.68;margin:0}

/* Workflow cards (Catalog & Homepage) */
.workflow-card{display:flex;flex-direction:column;min-height:280px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px;transition:transform .15s ease,border-color .15s ease}
.workflow-card:hover{transform:translateY(-3px);border-color:var(--accent)}
.workflow-card h3{font-size:1.35rem;line-height:1.32;margin:0 0 14px;letter-spacing:-.02em}
.workflow-card h3 a{color:var(--text);text-decoration:none}
.workflow-card h3 a:hover{color:var(--accent)}
.workflow-card p{font-size:.95rem;color:var(--text-dim);line-height:1.6;margin-bottom:20px;flex-grow:1}
.workflow-card .more{margin-top:auto;font-size:.88rem;color:var(--accent);font-weight:650;text-decoration:none;display:inline-flex;align-items:center;gap:4px}
.workflow-card .more:hover{color:var(--accent-dark);text-decoration:underline}
.workflow-card__top{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:20px;color:var(--text-dim);font-size:.78rem;font-weight:600}
.workflow-access{padding:4px 10px;border:1px solid var(--border-strong);border-radius:3px;font-weight:750;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem}
.workflow-access--free{background:#e4eadc;color:var(--accent-dark)}
.workflow-access--paid{background:#183b2b;color:#fff}
