:root{
  --bg:#FFFFFF; --bg-alt:#F2F2F0; --surface:#FFFFFF; --ink:#0A0F10; --ink-2:#44474A; --ink-3:#62666A;
  --line:#DEDFDC; --line-strong:#8E918F;
  --orange:#C2410C; --orange-ink:#FFFFFF; --orange-hover:#9A3412; --orange-soft:#FBEDE6;
  --inverse-bg:#0A0F10; --inverse-ink:#F2F2F0; --inverse-ink-2:#B9BCBD; --inverse-line:#262D2F; --inverse-accent:#F0703A;
  --display:'Outfit','Helvetica Neue',Arial,sans-serif;
  --body:'IBM Plex Sans','Helvetica Neue',Arial,sans-serif;
  box-sizing:border-box;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#0A0F10; --bg-alt:#12181A; --surface:#161C1E; --ink:#F2F2F0; --ink-2:#C4C6C6; --ink-3:#9EA2A3;
    --line:#2A3133; --line-strong:#5F6668;
    --orange:#E2561C; --orange-ink:#FFFFFF; --orange-hover:#F0703A; --orange-soft:#2A1A12;
    --inverse-bg:#F2F2F0; --inverse-ink:#0A0F10; --inverse-ink-2:#44474A; --inverse-line:#DEDFDC; --inverse-accent:#C2410C;
  }
}
:root[data-theme="dark"]{
  --bg:#0A0F10; --bg-alt:#12181A; --surface:#161C1E; --ink:#F2F2F0; --ink-2:#C4C6C6; --ink-3:#9EA2A3;
  --line:#2A3133; --line-strong:#5F6668;
  --orange:#E2561C; --orange-ink:#FFFFFF; --orange-hover:#F0703A; --orange-soft:#2A1A12;
  --inverse-bg:#F2F2F0; --inverse-ink:#0A0F10; --inverse-ink-2:#44474A; --inverse-line:#DEDFDC; --inverse-accent:#C2410C;
}
*,*::before,*::after{box-sizing:inherit}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:18px;line-height:1.7}
a{color:var(--orange)}
a:hover{color:var(--orange-hover)}
:focus-visible{outline:3px solid var(--orange);outline-offset:3px;border-radius:4px}
h1,h2,h3{font-family:var(--display);color:var(--ink);margin:0;letter-spacing:-0.02em}
h1{font-size:clamp(40px,6vw,68px);font-weight:800;line-height:1.02;letter-spacing:-0.035em}
h2{font-size:clamp(26px,3.2vw,34px);font-weight:800;line-height:1.15;letter-spacing:-0.025em}
p{margin:0}
.wrap{max-width:1200px;margin:0 auto;padding:0 clamp(20px,5vw,48px)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;border-radius:8px;font:600 16px/1 var(--body);text-decoration:none;border:1.5px solid transparent}
.btn-primary{background:var(--orange);color:var(--orange-ink)}
.btn-primary:hover{background:var(--orange-hover);color:var(--orange-ink)}

.nav{border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:76px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font:800 24px/1 var(--display);letter-spacing:-0.02em}
.logo:hover{color:var(--ink)}
.logo b{color:var(--orange);font-weight:800}
.nav .btn{min-width:0;text-align:center;line-height:1.15}
@media (max-width:420px){.nav .btn{padding:0 14px}}

article{max-width:720px;margin:0 auto;padding:clamp(56px,8vw,96px) clamp(20px,5vw,48px) clamp(64px,9vw,112px)}
.kicker{font-size:15px;font-weight:600;color:var(--orange);margin-bottom:18px}
.dek{font-size:clamp(19px,2vw,22px);color:var(--ink-2);margin-top:24px}
article > p, .part p{color:var(--ink-2);margin-top:20px}
article > h2{margin-top:56px}
.part{margin-top:48px;padding-top:28px;border-top:3px solid var(--ink)}
.brands{list-style:none;margin:24px 0 0;padding:0;display:flex;flex-direction:column;gap:14px}
.brands li{background:var(--bg-alt);border:1px solid var(--line);border-radius:12px;padding:20px 22px}
.brand-head{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:4px 16px}
.brands strong{font:700 22px/1.2 var(--display);color:var(--ink);letter-spacing:-0.01em}
.brand-head span{font-size:15px;color:var(--ink-3)}
.brands p{font-size:16px;line-height:1.6;color:var(--ink-2);margin-top:10px}
.brands p b{color:var(--ink);font-weight:600}
.matters{display:inline-block;margin-top:14px;padding:6px 12px;border-radius:8px;background:var(--orange-soft);color:var(--ink);font-size:15px;font-weight:600}
.part-label{margin-top:80px;font:800 15px/1 var(--body);letter-spacing:0.08em;text-transform:uppercase;color:var(--orange)}
.part-label + h2{margin-top:12px}
.cta{margin-top:64px;background:var(--orange-soft);border-radius:14px;padding:clamp(24px,4vw,40px);display:flex;flex-direction:column;gap:16px;align-items:flex-start}
.cta p{color:var(--ink-2)}

.footer{background:var(--inverse-bg);color:var(--inverse-ink-2);font-size:15px}
.footer .wrap{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;padding-top:40px;padding-bottom:40px}
.footer .logo{color:var(--inverse-ink)}
.footer a{color:var(--inverse-ink)}
.footer nav{display:flex;flex-wrap:wrap;gap:24px}

/* shared post elements */
.meta{font-size:15px;color:var(--ink-3);margin-top:18px}
article ul.list, article ol.list{color:var(--ink-2);margin:20px 0 0;padding-left:22px;display:flex;flex-direction:column;gap:10px}
article ul.list b, article ol.list b, article > p b{color:var(--ink);font-weight:600}
article h3{font-size:22px;font-weight:700;line-height:1.25;margin-top:36px}
article h3 + p{margin-top:10px}
.callout{margin-top:28px;border-left:4px solid var(--orange);background:var(--bg-alt);padding:18px 22px;border-radius:0 10px 10px 0;color:var(--ink-2)}
.callout b{color:var(--ink)}
.tbl-wrap{margin-top:24px;overflow-x:auto;border:1px solid var(--line);border-radius:12px}
.tbl{width:100%;border-collapse:collapse;font-size:16px;font-variant-numeric:tabular-nums}
.tbl th,.tbl td{text-align:left;padding:12px 16px;border-bottom:1px solid var(--line);vertical-align:top}
.tbl th{font-weight:600;color:var(--ink);background:var(--bg-alt)}
.tbl td{color:var(--ink-2)}
.tbl tr:last-child td{border-bottom:0}
.tbl td.r,.tbl th.r{text-align:right}
/* blog index */
.posts{list-style:none;margin:40px 0 0;padding:0;display:flex;flex-direction:column;gap:16px}
.posts a{display:block;text-decoration:none;color:inherit;border:1px solid var(--line);border-radius:14px;padding:24px 26px;background:var(--surface)}
.posts a:hover{border-color:var(--orange)}
.posts h2{font-size:clamp(22px,2.6vw,28px)}
.posts p{color:var(--ink-2);margin-top:8px;font-size:17px}
.posts .go{display:inline-block;margin-top:12px;color:var(--orange);font-weight:600;font-size:16px}
