@font-face{font-family:Inter;src:url('/fonts/inter-400.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Inter;src:url('/fonts/inter-600.ttf') format('truetype');font-style:normal;font-weight:600 800;font-display:swap}
@font-face{font-family:Fraunces;src:url('/fonts/fraunces-400.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Fraunces;src:url('/fonts/fraunces-500.ttf') format('truetype');font-style:normal;font-weight:500 800;font-display:swap}
:root{
  color-scheme:light;
  --brand:#8b1a2b;--brand-dark:#6f1422;--brand-light:#f7e9ec;
  --navy:#1b2540;--navy-light:#2a3553;--cream:#faf7f2;--cream-2:#f3ede3;
  --muted:#525b6d;--line:#e4dbd5;--white:#fff;--warning:#795023;
  font:16px/1.6 Inter,"Segoe UI",Arial,sans-serif;
}
*{box-sizing:border-box}
body{margin:0;background:var(--cream);color:var(--navy)}
a{color:var(--brand);text-underline-offset:4px}
header{min-height:88px;border-bottom:1px solid var(--line);padding:18px max(24px,calc((100vw - 1100px)/2));display:flex;align-items:center;gap:24px;background:var(--cream)}
.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:var(--navy);flex-shrink:0}
.brand img{width:46px;height:46px;display:block;border-radius:12px}
.brand-wordmark{font-size:25px;font-weight:600;letter-spacing:-.8px;line-height:1.05}
.brand-wordmark small{display:block;font-size:9px;letter-spacing:3px;font-weight:600;margin-top:6px;color:var(--brand)}
.portal-label{font-size:12px;color:var(--brand);background:var(--brand-light);border:1px solid #ead5d9;border-radius:100px;padding:5px 12px}
header button{margin-left:auto}
.skip-link{position:absolute;left:16px;top:-100px;background:var(--navy);color:white;padding:10px 16px;z-index:10;border-radius:6px}
.skip-link:focus{top:8px}
main{max-width:1100px;margin:auto;padding:54px 24px 24px}
.intro{max-width:730px;margin-bottom:36px}
h1,h2,h3{font-family:Fraunces,Georgia,serif;font-weight:500;color:var(--navy)}
h1{font-size:clamp(36px,5vw,54px);line-height:1.14;letter-spacing:-1.5px;margin:12px 0 20px}
h1 em{color:var(--brand);font-weight:400}
h2{font-size:27px;line-height:1.24;letter-spacing:-.55px;margin:4px 0 16px}
h3{font-size:23px;line-height:1.3;margin:0 0 12px}
p{margin:10px 0;color:var(--muted)}
.eyebrow{font-size:11px;letter-spacing:1.8px;font-weight:600;color:var(--brand);text-transform:uppercase}
.card{background:var(--white);border:1px solid var(--line);border-radius:16px;padding:30px;margin-bottom:22px;box-shadow:0 4px 20px #1b254005;min-width:0}
.narrow{max-width:530px}
#auth-panel,#verify-panel{border-top:3px solid var(--brand)}
.grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px;margin-bottom:22px}
.grid .card{height:100%;margin:0}
label{display:block;color:var(--navy);font-size:13px;font-weight:600;margin:18px 0;min-width:0}
input,select{display:block;width:100%;min-width:0;max-width:100%;padding:12px 13px;margin-top:7px;border:1px solid #b8b1b1;border-radius:9px;font:400 16px/1.45 Inter,"Segoe UI",Arial,sans-serif;color:var(--navy);background:var(--white)}
input:focus,select:focus{border-color:var(--brand)}
input:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid var(--brand);outline-offset:3px}
button{border:1px solid var(--brand);border-radius:10px;padding:12px 19px;background:var(--brand);color:#fff;cursor:pointer;font:600 14px/1.4 Inter,"Segoe UI",Arial,sans-serif;margin:5px 8px 5px 0;min-height:44px;max-width:100%;transition:background-color .15s,border-color .15s,color .15s}
button:hover:not(:disabled){background:var(--brand-dark);border-color:var(--brand-dark)}
button:disabled{background:var(--cream-2);border-color:var(--line);color:var(--muted);cursor:not-allowed}
.secondary{background:white;color:var(--brand)}
.secondary:hover:not(:disabled){background:var(--brand-light);color:var(--brand-dark)}
.quiet{background:transparent;border-color:#cfc2c5;color:var(--brand);padding:9px 13px}
.quiet:hover:not(:disabled){background:var(--brand-light);color:var(--brand-dark)}
.text-button{background:none;border:0;color:var(--brand);padding:8px 0;text-decoration:underline;text-underline-offset:4px}
.text-button:hover:not(:disabled){background:none;color:var(--brand-dark)}
.fine{font-size:12px;line-height:1.65;margin-top:19px}
.section-top{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
dl{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);font-size:14px;gap:9px;margin:22px 0}
dt{color:var(--muted)}
dd{margin:0;text-align:right;font-weight:600;overflow-wrap:anywhere}
.device{border-top:1px solid var(--line);padding:19px 0;display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.device div{flex:1;min-width:160px;overflow-wrap:anywhere}
.device strong,.device small{display:block}
.device small{color:var(--muted);font-size:12px}
.badge{display:inline-block;background:var(--brand-light);border:1px solid #ead5d9;border-radius:6px;padding:3px 9px;color:var(--brand-dark);font-size:11px}
.badge.revoked{background:var(--cream-2);border-color:var(--line);color:var(--warning)}
#notice{background:var(--brand-light);color:var(--navy);border:1px solid #ddbdc4;border-left:4px solid var(--brand);border-radius:10px;padding:16px 20px;margin-bottom:24px;font-size:14px;overflow-wrap:anywhere}
#notice.error{background:#fff1eb;border-color:#e4baac;border-left-color:#923523;color:#762c20}
.activation{border:2px solid var(--brand);background:#fffcfc}
.device-review{background:var(--brand-light);padding:18px;border-radius:10px;margin:22px 0}
.device-review>*{display:block}
.device-review strong{overflow-wrap:anywhere}
.device-review span{font:600 22px/1.8 monospace;letter-spacing:3px;overflow-wrap:anywhere}
.device-review small{font-size:11px;color:var(--muted);overflow-wrap:anywhere}
.form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,1fr);gap:16px}
.release{padding:14px 0;border-top:1px solid var(--line);font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere}
#customer-label{font-weight:600;overflow-wrap:anywhere;color:var(--navy)}
.release-tools{margin-top:32px;padding-top:26px;border-top:1px solid var(--line)}
footer{font-size:12px;color:var(--muted);margin:40px 0 10px;padding-top:22px;border-top:1px solid var(--line);line-height:1.7}
footer p{max-width:700px}
.footer-brand{color:var(--brand);font-weight:600;letter-spacing:.2px}
.preview-note{margin-bottom:24px;padding:12px 18px;border:1px solid #dcc497;border-radius:8px;background:#fff8ea;color:#75501d;font-size:13px}
[hidden]{display:none!important}
@media(min-width:900px){
  main:has(#auth-panel:not([hidden])),main:has(#verify-panel:not([hidden])){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,480px);column-gap:64px;align-items:start;padding-top:72px}
  main:has(#auth-panel:not([hidden])) .intro,main:has(#verify-panel:not([hidden])) .intro{grid-column:1;grid-row:1;padding-top:28px}
  main:has(#auth-panel:not([hidden])) h1,main:has(#verify-panel:not([hidden])) h1{font-size:54px}
  main:has(#auth-panel:not([hidden])) h1 em,main:has(#verify-panel:not([hidden])) h1 em{display:block}
  #auth-panel:not([hidden]),#verify-panel:not([hidden]){grid-column:2;grid-row:1 / span 2;width:100%}
  main:has(#auth-panel:not([hidden])) #notice,main:has(#verify-panel:not([hidden])) #notice{grid-column:1;grid-row:2}
  main:has(#auth-panel:not([hidden])) footer,main:has(#verify-panel:not([hidden])) footer{grid-column:1 / -1}
}
@media(max-width:700px){
  header{padding:14px 20px;gap:16px;min-height:80px}
  .portal-label{display:none}
  main{padding:30px 20px 20px}
  .intro{margin-bottom:26px}
  .grid,.form-grid{grid-template-columns:minmax(0,1fr)}
  .grid .card{height:auto}
  .card{padding:23px}
  .device{align-items:flex-start;gap:12px}
  .device div{flex-basis:100%}
  h1{letter-spacing:-.8px}
  .form-grid{gap:0}
  footer{margin-top:30px}
}
@media(max-width:380px){
  header{padding-inline:16px;gap:10px}
  .brand{gap:9px}
  .brand img{width:40px;height:40px;border-radius:10px}
  .brand-wordmark{font-size:22px}
  header button{padding-inline:10px;margin-right:0}
  main{padding-inline:16px}
  .card{padding:20px}
}
@media(prefers-reduced-motion:reduce){button{transition:none}}
