/* Articles, listing and 404 pages. Chrome rules (header, footer, buttons) are copied from the Astro build so these pages look like the rest of the site. */
:root{--bg: .16 .055 28;--surface: .235 .08 29;--ink: .94 .048 96;--muted: .76 .04 80;--brand: .42 .14 32;--accent: .75 .115 85;--font-display: "Fraunces", "Editorial New", Georgia, serif;--font-body: "Inter", "Söhne", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace}
.btn{font-size:.88rem;font-weight:600;letter-spacing:.01em;padding:14px 26px;border-radius:999px;text-decoration:none;display:inline-flex;align-items:center;gap:8px;transition:transform .35s cubic-bezier(.16,1,.3,1),background-color .3s ease,border-color .3s ease;will-change:transform}
.btn.primary{background:oklch(var(--accent));color:#2c0804}
.btn.primary:hover{background:oklch(from oklch(var(--accent)) calc(l + .05) c h)}
.btn.ghost{border:1px solid oklch(var(--ink) / .32);color:oklch(var(--ink))}
.btn.ghost:hover{border-color:oklch(var(--accent));color:oklch(var(--accent))}
.wrap{width:100%;max-width:1240px;margin-inline:auto;padding-inline:clamp(20px,4vw,48px)}
.site-header{position:sticky;top:0;z-index:50;background:color-mix(in oklch,oklch(var(--bg)) 72%,transparent);backdrop-filter:blur(14px) saturate(1.2);border-bottom:1px solid oklch(var(--ink) / .1)}
.site-header.transparent{position:absolute;inset-inline:0;top:0;background:transparent;border-bottom-color:transparent}
.bar{display:flex;align-items:center;justify-content:space-between;padding-block:20px}
.wordmark{display:flex;flex-direction:column;line-height:1;text-decoration:none}
.wordmark .name{font-family:var(--font-display);font-size:1.35rem;color:oklch(var(--ink))}
.wordmark .sub{font-size:.58rem;letter-spacing:.28em;text-transform:uppercase;color:oklch(var(--accent));margin-top:4px}
.navlinks{display:flex;align-items:center;gap:clamp(16px,3vw,34px);font-size:.86rem}
.navlinks a:not(.btn){color:oklch(var(--ink));text-decoration:none;opacity:.85;transition:opacity .3s ease}
.navlinks a:not(.btn):hover{opacity:1;color:oklch(var(--accent))}
.btn.small{padding:10px 18px;font-size:.78rem}
.nav-toggle,.nav-burger{display:none}
@media (max-width: 720px){.nav-toggle{position:absolute;opacity:0;pointer-events:none}.nav-burger{display:flex;flex-direction:column;gap:5px;width:26px;cursor:pointer;z-index:2}.nav-burger span{height:2px;background:oklch(var(--ink));border-radius:2px;transition:transform .3s ease,opacity .3s ease}.navlinks{position:fixed;inset:0;padding-top:100px;flex-direction:column;align-items:flex-start;gap:28px;background:oklch(var(--bg));padding-inline:24px;transform:translate(100%);transition:transform .45s cubic-bezier(.16,1,.3,1)}.navlinks a:not(.btn){font-family:var(--font-display);font-size:1.6rem}.nav-toggle:checked~.navlinks{transform:translate(0)}.nav-toggle:checked~.nav-burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-toggle:checked~.nav-burger span:nth-child(2){opacity:0}.nav-toggle:checked~.nav-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}}
.site-footer{background:oklch(var(--surface));border-top:1px solid oklch(var(--brand) / .18);padding-block:clamp(48px,7vw,80px) 32px;margin-top:clamp(64px,10vw,120px)}
.top{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:clamp(28px,5vw,56px);padding-bottom:40px;border-bottom:1px solid oklch(var(--brand) / .18)}
@media (max-width: 760px){.top{grid-template-columns:1fr}}
.brand-col .name{font-family:var(--font-display);font-size:1.7rem;display:block}
.brand-col .sub{font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;color:oklch(var(--accent))}
.brand-col .tagline{margin-top:16px;color:oklch(var(--muted));font-size:.92rem;line-height:1.6;max-width:32ch}
.col-label{display:block;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:oklch(var(--accent));margin-bottom:16px}
.branches-col ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.branches-col a{color:oklch(var(--ink));text-decoration:none;font-size:.95rem}
.branches-col a:hover{color:oklch(var(--accent))}
.branches-col a span{color:oklch(var(--muted));font-size:.82rem}
.contact-col{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.contact-col a{color:oklch(var(--accent));text-decoration:none;font-size:.92rem}
.contact-col p{color:oklch(var(--muted));font-size:.85rem;line-height:1.6;margin:4px 0}
.bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;padding-top:24px;font-family:var(--font-mono);font-size:.72rem;color:oklch(var(--muted))}

/* Page base, copied from the Astro build's body rules (bg-bg text-ink font-body). */
*,:before,:after{box-sizing:border-box}
html{line-height:1.5;-webkit-text-size-adjust:100%}
body{margin:0;background:oklch(var(--bg));color:oklch(var(--ink));font-family:var(--font-body),system-ui,sans-serif;min-height:100vh;display:flex;flex-direction:column}
h1,h2,h3,h4{margin:0;font-weight:inherit;text-wrap:balance}
p,figure,blockquote{margin:0}
img{max-width:100%;height:auto}
.site-footer{margin-top:auto}
main.ta-main{padding-block:clamp(40px,7vw,88px) 0}
.ta-wrap{max-width:760px;margin-inline:auto;padding-inline:clamp(20px,4vw,48px)}
.ta-wide{max-width:1240px;margin-inline:auto;padding-inline:clamp(20px,4vw,48px)}
.ta-eyebrow{display:block;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:oklch(var(--accent));margin:0 0 18px}
.ta-h1{font-family:var(--font-display);font-weight:500;font-size:clamp(2rem,5.5vw,3.4rem);line-height:1.08;margin:0 0 20px}
.ta-deck{color:oklch(var(--muted));font-size:1.15rem;line-height:1.65;margin:0 0 32px}
.ta-hero{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:14px;display:block;margin:0 0 20px}
.ta-meta{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:oklch(var(--muted));margin:0 0 28px}
.ta-body{font-size:1.05rem;line-height:1.8;color:oklch(var(--ink) / .9)}
.ta-body>*+*{margin-top:1.25rem}
.ta-body h2{font-family:var(--font-display);font-weight:500;font-size:clamp(1.5rem,3.5vw,2rem);line-height:1.15;color:oklch(var(--ink));margin-top:2.25rem}
.ta-body h3{font-family:var(--font-display);font-weight:500;font-size:1.3rem;line-height:1.25;color:oklch(var(--ink));margin-top:1.75rem}
.ta-body strong{color:oklch(var(--ink));font-weight:600}
.ta-body a{color:oklch(var(--accent));text-decoration:underline;text-underline-offset:3px}
.ta-body ul,.ta-body ol{padding-left:1.4rem}
.ta-body ul{list-style:disc}.ta-body ol{list-style:decimal}
.ta-body li+li{margin-top:.4rem}
.ta-body hr{border:0;border-top:1px solid oklch(var(--ink) / .12);margin-block:2rem}
.ta-body blockquote{border-left:3px solid oklch(var(--accent));padding-left:1.25rem;font-style:italic}
.ta-body table{width:100%;border-collapse:collapse;font-size:.95rem;display:block;overflow-x:auto}
.ta-body th,.ta-body td{border-bottom:1px solid oklch(var(--ink) / .14);padding:.6rem .75rem;text-align:left;vertical-align:top}
.ta-body th{color:oklch(var(--ink));font-weight:600}
.ta-body img{border-radius:12px}
.ta-back{display:inline-block;margin-top:3rem;color:oklch(var(--accent));text-decoration:underline;text-underline-offset:3px}
.ta-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:28px;margin-top:40px}
.ta-card{display:block;background:oklch(var(--surface));border:1px solid oklch(var(--ink) / .1);border-radius:14px;overflow:hidden;color:inherit;text-decoration:none;transition:transform .35s cubic-bezier(.16,1,.3,1),border-color .3s ease}
.ta-card:hover{transform:translateY(-4px);border-color:oklch(var(--accent) / .6)}
.ta-card img{width:100%;height:200px;object-fit:cover;display:block}
.ta-card-body{padding:22px}
.ta-card-title{font-family:var(--font-display);font-weight:500;font-size:1.35rem;line-height:1.2;margin:6px 0 10px}
.ta-card-desc{color:oklch(var(--muted));font-size:.95rem;line-height:1.6}
.ta-center{text-align:center}
.ta-center .ta-deck{margin-inline:auto;max-width:48ch}
.ta-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:8px}
.ta-notfound{padding-block:clamp(48px,12vw,140px)}
