:root{color-scheme:dark;--bg:#070707;--panel:#111;--text:#f4f1ea;--muted:#aaa39a;--accent:#ff2d78;--line:#2b2927;font-family:Manrope,Arial,sans-serif}
*{box-sizing:border-box}
html{background:var(--bg)}
body{margin:0;background:radial-gradient(circle at 78% 2%,rgba(255,45,120,.12),transparent 28rem),var(--bg);color:var(--text);line-height:1.7}
a{color:inherit}
.content-header,.content-footer{max-width:1160px;margin:auto;padding:24px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.content-header{border-bottom:1px solid var(--line)}
.content-header img{display:block;width:180px;height:auto}
.content-header nav,.content-footer nav{display:flex;gap:24px;flex-wrap:wrap}
.content-header a,.content-footer a{text-decoration:none}
.content-header nav a:hover,.content-footer a:hover{color:#ff79a8}
.blog-shell,.article-shell{max-width:980px;margin:auto;padding:72px 24px 120px}
.blog-shell>h1,.article-hero h1{font-size:clamp(2.6rem,7vw,5.8rem);line-height:1.02;letter-spacing:-.055em;margin:.25em 0}
.blog-lead,.article-description{font-size:1.2rem;color:var(--muted);max-width:760px}
.blog-intro{max-width:780px;margin-top:48px;padding:28px 30px;border:1px solid var(--line);background:var(--panel)}
.blog-intro h2{margin:0 0 16px;font-size:clamp(1.45rem,3vw,2rem);line-height:1.15}
.blog-intro p{margin:12px 0;color:var(--muted);line-height:1.75}
.blog-intro a{text-underline-offset:4px}
.eyebrow{font-family:"JetBrains Mono",monospace;color:var(--accent);text-transform:uppercase;letter-spacing:.08em;font-size:.8rem}
.article-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:56px}
.article-card{background:var(--panel);border:1px solid var(--line);padding:30px}
.article-card h2{font-size:1.6rem;line-height:1.2}
.article-card h2 a{text-decoration:none}
.article-card>p:not(.eyebrow),.article-card div,.article-meta{color:var(--muted)}
.article-card div,.article-meta{display:flex;gap:18px;flex-wrap:wrap;font-size:.9rem}
.breadcrumbs{display:flex;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:.9rem}
.breadcrumbs a{text-decoration:none}
.breadcrumbs a[aria-current=page]{color:var(--text)}
.article-content{font-size:1.1rem;max-width:760px;margin-top:56px}
.article-content h2{font-size:2rem;line-height:1.2;margin-top:2.2em}
.article-content h3{font-size:1.35rem;margin-top:2em}
.article-content a{color:#ff7baa}
.article-content li+li{margin-top:.4rem}
.article-content pre{overflow:auto;padding:20px;background:#111;border:1px solid var(--line)}
.article-content blockquote{margin:2em 0;padding-left:20px;border-left:3px solid var(--accent);color:var(--muted)}
.article-cover{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;margin-top:42px;border:1px solid var(--line)}
.article-cta{margin-top:72px;padding:34px;border:1px solid #5e2440;background:#160a10}
.article-cta h2{margin-top:0}
.article-cta a,.external-case a{display:inline-block;margin-top:12px;padding:12px 18px;background:var(--accent);color:#090609;text-decoration:none;font-weight:800}
.source-notice{margin-top:36px;padding:18px 22px;border-left:3px solid var(--accent);background:#160a10;color:#d9cdd1}
.portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:56px}
.portfolio-card{overflow:hidden;border:1px solid var(--line);background:var(--panel)}
.portfolio-card img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.portfolio-card>div{padding:28px}
.portfolio-card h2{font-size:1.6rem;line-height:1.2}
.portfolio-card h2 a{text-decoration:none}
.portfolio-card>div>p:last-child{color:var(--muted)}
.content-footer{border-top:1px solid var(--line);color:var(--muted);align-items:flex-start}
.content-footer p{margin:.4rem 0 0}
@media(max-width:700px){.content-header,.content-footer{align-items:flex-start;flex-direction:column}.article-grid,.portfolio-grid{grid-template-columns:1fr}.blog-shell,.article-shell{padding-top:48px}.content-header nav,.content-footer nav{gap:14px}.blog-shell>h1,.article-hero h1{font-size:clamp(2.5rem,13vw,4.2rem)}}
