:root{
  --black:#0B0B0C;
  --ink-2:#111214;
  --panel:#16171A;
  --line:#26282C;
  --line-strong:#3A3D42;
  --white:#F2F2F3;
  --grey-1:#C4C6CB;
  --grey-2:#9A9DA3;
  --grey-3:#6E7178;
  --red:#D7262F;
  --red-hover:#E83A43;
  --red-text:#F0555C;
  --sans:"IBM Plex Sans",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --wrap:1120px;
  --gutter:clamp(16px,4vw,40px);
  color-scheme:dark;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{background:var(--black);scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--black);color:var(--white);font-family:var(--sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit}
::selection{background:var(--red);color:var(--white)}
:focus-visible{outline:2px solid var(--red-text);outline-offset:3px}
h1,h2{text-wrap:balance}
[id]{scroll-margin-top:72px}
.wrap{max-width:var(--wrap);margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter)}
.mono{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.skip{position:absolute;left:-999px;top:0;background:var(--red);color:var(--white);padding:8px 12px;z-index:50}
.skip:focus{left:8px;top:8px}

/* header */
header{position:sticky;top:0;z-index:20;background:rgba(11,11,12,.92);backdrop-filter:saturate(1.2) blur(8px);-webkit-backdrop-filter:saturate(1.2) blur(8px);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;justify-content:space-between;height:64px;gap:24px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:600;font-size:17px;letter-spacing:-.01em;white-space:nowrap}
.brand img{width:28px;height:28px;flex:none;display:block}
nav ul{display:flex;gap:28px;list-style:none;align-items:center}
nav a{text-decoration:none;font-size:15px;color:var(--grey-2)}
nav a:hover{color:var(--white)}
.btn{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-size:15px;font-weight:500;padding:10px 16px;border:1px solid var(--line-strong);border-radius:2px;transition:background .15s,color .15s,border-color .15s;white-space:nowrap;color:var(--white)}
.btn-red{background:var(--red);border-color:var(--red);color:var(--white)}
.btn-red:hover{background:var(--red-hover);border-color:var(--red-hover)}
.btn-line:hover{border-color:var(--grey-2)}
nav .btn{padding:8px 14px;color:var(--white)}
@media (max-width:820px){nav .hide-sm{display:none}}

/* hero */
.hero{padding:clamp(56px,9vw,112px) 0 clamp(56px,8vw,96px);border-bottom:1px solid var(--line);position:relative}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:var(--red)}
.hero-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(32px,6vw,80px);align-items:start}
.eyebrow{color:var(--grey-2);margin-bottom:20px;display:flex;align-items:center;gap:10px}
.eyebrow::before{content:"";width:8px;height:8px;background:var(--red);display:inline-block}
h1{font-size:clamp(36px,5.4vw,60px);line-height:1.06;letter-spacing:-.025em;font-weight:600;max-width:16ch}
.lede{font-size:clamp(18px,1.6vw,20px);color:var(--grey-1);margin-top:24px;max-width:36em}
.cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}

.spec{border:1px solid var(--line-strong);background:var(--panel)}
.spec-head{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line-strong);color:var(--grey-2)}
.spec-head span:last-child{color:var(--red-text)}
.spec dl{display:grid;grid-template-columns:auto 1fr}
.spec dt,.spec dd{padding:11px 16px;border-bottom:1px solid var(--line);font-size:14.5px}
.spec dt{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--grey-2);padding-right:8px;white-space:nowrap}
.spec dd{color:var(--white)}
.spec dl > :nth-last-child(-n+2){border-bottom:0}
.spec-note{padding:10px 16px;border-top:1px solid var(--line-strong);font-size:13px;color:var(--grey-2)}

/* sections */
section{padding:clamp(64px,9vw,112px) 0;border-bottom:1px solid var(--line)}
section.alt{background:var(--ink-2)}
.sec-head{display:grid;grid-template-columns:1fr 2fr;gap:clamp(24px,5vw,64px);margin-bottom:clamp(36px,5vw,56px)}
.sec-label{color:var(--grey-2);padding-top:10px}
.sec-label b{color:var(--red-text);font-weight:500;margin-right:10px}
h2{font-size:clamp(28px,3.4vw,40px);line-height:1.12;letter-spacing:-.02em;font-weight:600;max-width:22ch}
.sec-intro{color:var(--grey-1);margin-top:16px;max-width:40em}

/* catalog */
.catalog{list-style:none;border-top:1px solid var(--line-strong)}
.catalog li{display:grid;grid-template-columns:1fr 2fr;gap:clamp(24px,5vw,64px);padding:28px 0;border-bottom:1px solid var(--line)}
.catalog .item{display:flex;gap:16px;align-items:baseline}
.catalog .code{font-family:var(--mono);font-size:12px;color:var(--red-text);letter-spacing:.06em;flex:none}
.catalog h3{font-size:20px;font-weight:600;letter-spacing:-.01em;line-height:1.3}
.catalog p{color:var(--grey-1);max-width:40em}
.catalog .formats{display:block;margin-top:10px;font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:var(--grey-2)}

/* columns */
.cols{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,40px)}
.col{border-top:2px solid var(--red);padding-top:20px}
.col h3{font-size:19px;font-weight:600;margin-bottom:10px;letter-spacing:-.01em}
.col p{color:var(--grey-1);font-size:16px}

/* steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;border-top:1px solid var(--line-strong);counter-reset:step}
.steps li{padding:24px 24px 8px 0;counter-increment:step}
.steps li + li{padding-left:24px;border-left:1px solid var(--line)}
.steps li::before{content:"0" counter(step);display:block;font-family:var(--mono);font-size:12px;color:var(--red-text);letter-spacing:.06em;margin-bottom:14px}
.steps h3{font-size:19px;font-weight:600;margin-bottom:8px}
.steps p{color:var(--grey-1);font-size:16px}

/* standards */
.standards{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line-strong)}
.standards div{padding:26px 32px 26px 0;border-bottom:1px solid var(--line)}
.standards div:nth-child(even){padding-left:32px;padding-right:0;border-left:1px solid var(--line)}
.standards h3{font-size:18px;font-weight:600;margin-bottom:6px}
.standards p{color:var(--grey-1);font-size:16px}

/* contact */
.contact{background:var(--panel);border-bottom:0;border-top:3px solid var(--red)}
.contact-row{display:grid;grid-template-columns:1fr 2fr;gap:clamp(24px,5vw,64px)}
.mail{display:inline-block;font-size:clamp(22px,3vw,34px);font-weight:500;letter-spacing:-.015em;color:var(--white);text-decoration:none;border-bottom:2px solid var(--red);padding-bottom:4px;margin-top:28px;word-break:break-word}
.mail:hover{border-bottom-color:var(--white)}
.contact ul{list-style:none;margin-top:32px;display:grid;gap:10px;color:var(--grey-1);font-size:16px}
.contact li{display:flex;gap:12px}
.contact li span{font-family:var(--mono);font-size:12px;color:var(--red-text);padding-top:4px;flex:none}

/* footer */
footer{background:var(--black);color:var(--grey-3);border-top:1px solid var(--line);font-size:14px}
.foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;padding-top:24px;padding-bottom:24px}
footer a{color:var(--grey-2);text-decoration:none}
footer a:hover{color:var(--white)}
footer nav{display:flex;gap:20px}

/* plain page (privacy) */
.page{padding:clamp(48px,8vw,96px) 0;max-width:720px}
.page h1{font-size:clamp(32px,4.4vw,44px);max-width:none}
.page .updated{color:var(--grey-2);margin:12px 0 40px}
.page h2{font-size:21px;margin:36px 0 10px;max-width:none}
.page p,.page li{color:var(--grey-1);margin-bottom:12px}
.page a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--red)}

@media (max-width:900px){
  .hero-grid,.sec-head,.catalog li,.contact-row{grid-template-columns:1fr}
  .sec-label{padding-top:0}
  .cols{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr 1fr}
  .steps li,.steps li + li{padding:24px 16px 20px 0;border-left:0;border-bottom:1px solid var(--line)}
  .steps li:nth-child(even){padding-left:16px;border-left:1px solid var(--line)}
}
@media (max-width:620px){
  body{font-size:16px}
  .mail{font-size:18px}
  .brand{font-size:16px}
  .steps{grid-template-columns:1fr}
  .steps li:nth-child(even){padding-left:0;border-left:0}
  .standards{grid-template-columns:1fr}
  .standards div,.standards div:nth-child(even){padding:22px 0;border-left:0}
  .spec dl{grid-template-columns:1fr}
  .spec dt{border-bottom:0;padding-bottom:0}
  .spec dd{padding-top:4px}
  .spec dl > :nth-last-child(2){border-bottom:0}
}
