:root{--paper:#f4f1ea;--ink:#141310;--soft:#5d594f;--rule:#cfc9bb;--red:#c8321c;--white:#fffdf8;--ease:cubic-bezier(.2,.7,.2,1)}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.6 Archivo,Arial,sans-serif}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--red)}
:focus-visible{outline:3px solid var(--red);outline-offset:2px}
.wrap{margin:auto;max-width:1120px;padding:0 24px}
.mono{font-family:"IBM Plex Mono",Consolas,monospace}
.masthead{border-bottom:5px solid var(--ink);padding:18px 0 12px}
.meta{display:flex;flex-wrap:wrap;font:500 12px/1.4 "IBM Plex Mono",Consolas,monospace;gap:4px 24px;justify-content:space-between;letter-spacing:.04em;text-transform:uppercase}
.brand{display:block;font-size:clamp(38px,6.4vw,70px);font-stretch:125%;font-weight:900;letter-spacing:-.045em;line-height:.95;margin-top:8px;text-decoration:none;text-transform:uppercase}
.brand.small{font-size:30px;letter-spacing:-.03em;margin:0}
.masthead.inner{border-bottom-width:3px;padding:14px 0}
.masthead.inner .wrap{align-items:baseline;display:flex;flex-wrap:wrap;gap:6px 24px;justify-content:space-between}
.reward{color:var(--soft);font:400 12px/1.5 "IBM Plex Mono",Consolas,monospace;margin:10px 0 0}
[hidden]{display:none!important}
.lead{display:grid;gap:8px 48px;grid-template-columns:7fr 4fr;padding:20px 0 14px}
.lead h1{font-size:clamp(28px,3.4vw,40px);line-height:1.05}
.find{display:block;margin-bottom:14px}
.find span{display:block;font:500 11px "IBM Plex Mono",Consolas,monospace;letter-spacing:.06em;margin-bottom:4px;text-transform:uppercase}
.find input{background:var(--white);border:2px solid var(--ink);border-radius:0;color:var(--ink);font:500 16px Archivo,Arial,sans-serif;padding:10px 12px;width:100%}
.find input::placeholder{color:var(--soft)}
.none{font-weight:600;margin:12px 0}
h1{font-size:clamp(36px,5.6vw,66px);font-stretch:112%;font-weight:800;letter-spacing:-.035em;line-height:1.02;margin:0}
.deck{align-self:end;color:var(--soft);font-size:18px;line-height:1.5;margin:0}
.section-head{align-items:baseline;border-top:3px solid var(--ink);display:flex;justify-content:space-between;margin-top:20px;padding:6px 0}
.section-head h2{font-size:15px;font-weight:800;letter-spacing:.06em;margin:0;text-transform:uppercase}
.section-head span{color:var(--soft);font:400 12px "IBM Plex Mono",Consolas,monospace}
.sheet{border-collapse:collapse;width:100%}
.sheet thead th{border-bottom:1px solid var(--ink);color:var(--soft);font:500 11px "IBM Plex Mono",Consolas,monospace;letter-spacing:.06em;padding:0 16px 6px 0;text-align:left;text-transform:uppercase}
.sheet tbody tr{border-bottom:1px solid var(--rule)}
.sheet td{padding:8px 16px 8px 0;vertical-align:middle}
.sheet tbody tr:hover{background:var(--white)}
.name{font-size:21px;font-weight:700;letter-spacing:-.015em;text-decoration:none}
.note{display:block;font-size:15px;font-weight:600;line-height:1.35}
.c-name{width:180px}.c-code{width:230px}.c-open{text-align:right;width:112px;white-space:nowrap}
.go{background:var(--red);color:var(--white);display:inline-block;font:700 14px Archivo,Arial,sans-serif;padding:8px 12px;text-decoration:none}
.go:hover{background:var(--ink);color:var(--white)}
.gets{display:block;font-size:17px;font-weight:700;line-height:1.3;margin:4px 0 14px}
.gets:has(+.worth){margin-bottom:4px}
.worth{color:var(--soft);display:block;font-size:14px;line-height:1.35;margin-bottom:14px}
.code{font:600 15px "IBM Plex Mono",Consolas,monospace;overflow-wrap:anywhere}
.copy{background:none;border:0;color:var(--red);cursor:pointer;font:600 12px "IBM Plex Mono",Consolas,monospace;margin-left:8px;padding:6px 2px;text-decoration:underline;text-underline-offset:3px}
.more{font:600 13px "IBM Plex Mono",Consolas,monospace}
.guides{display:grid;gap:0 32px;grid-template-columns:repeat(3,1fr)}
.guides a{border-bottom:1px solid var(--rule);display:block;font-size:19px;font-weight:700;letter-spacing:-.015em;line-height:1.25;padding:12px 0 16px;text-decoration:none}
.layout{display:grid;gap:56px;grid-template-columns:minmax(0,1fr) 320px;padding:36px 0 12px}
.crumbs{color:var(--soft);font:400 12px "IBM Plex Mono",Consolas,monospace;margin:0 0 18px}
.answer{font-size:22px;font-weight:500;letter-spacing:-.01em;line-height:1.35;margin:20px 0 0}
.stamp{color:var(--soft);font:400 12px "IBM Plex Mono",Consolas,monospace;margin:12px 0 0}
article h2{border-top:1px solid var(--ink);font-size:22px;letter-spacing:-.015em;line-height:1.25;margin:36px 0 10px;padding-top:12px}
article h3{font-size:18px;line-height:1.3;margin:20px 0 2px}
article p{margin:0 0 12px;max-width:66ch}
.steps{counter-reset:s;list-style:none;margin:0;padding:0}
.steps li{counter-increment:s;display:grid;gap:12px;grid-template-columns:34px 1fr;padding:7px 0}
.steps li:before{color:var(--red);content:counter(s,decimal-leading-zero);font:600 15px/1.8 "IBM Plex Mono",Consolas,monospace}
.fine{margin:0;padding-left:18px}.fine li{margin:5px 0;max-width:62ch}
.facts{margin:0}.facts dt{font-weight:700}.facts dd{margin:0 0 10px}
.aside{border-left:3px solid var(--red);padding-left:14px}
.ticket{align-self:start;background:var(--white);border:2px solid var(--ink);position:sticky;top:18px}
.ticket .top{background:var(--ink);color:var(--paper);font:500 12px "IBM Plex Mono",Consolas,monospace;letter-spacing:.05em;padding:8px 14px;text-transform:uppercase}
.ticket .body{padding:20px 16px}
.ticket .label{color:var(--soft);display:block;font:500 11px "IBM Plex Mono",Consolas,monospace;letter-spacing:.06em;text-transform:uppercase}
.ticket .big{display:block;font:600 27px/1.2 "IBM Plex Mono",Consolas,monospace;margin:8px 0 14px;overflow-wrap:anywhere}
.ticket .big.link{font-size:21px}
.ticket .tear{border-top:2px dashed var(--ink);padding:16px}
.btn{background:var(--red);border:0;color:var(--white);display:block;font:700 16px Archivo,Arial,sans-serif;padding:13px 14px;text-align:center;text-decoration:none}
.btn:hover{background:var(--ink);color:var(--white)}
.copy.wide{border:1.5px solid var(--ink);color:var(--ink);display:block;font-size:13px;margin:0;padding:9px;text-decoration:none;width:100%}
.scroll{overflow-x:auto}
.compare{border-collapse:collapse;margin:20px 0;min-width:520px;width:100%}
.compare th,.compare td{border-bottom:1px solid var(--rule);padding:10px 14px 10px 0;text-align:left;vertical-align:top}
.compare thead th{border-bottom:2px solid var(--ink)}
footer{border-top:5px solid var(--ink);font-size:14px;margin-top:56px;padding:18px 0 40px}
footer .wrap{display:grid;gap:8px 40px;grid-template-columns:1fr 1fr}
footer p{margin:0}
.reveal{opacity:0;transform:translateY(14px);transition:opacity .7s var(--ease) var(--d,0ms),transform .7s var(--ease) var(--d,0ms)}
.reveal.in{opacity:1;transform:none}
.draw{border-top-color:transparent;position:relative}
.draw:before{background:var(--ink);content:"";height:3px;left:0;position:absolute;right:0;top:-3px;transform:scaleX(0);transform-origin:left;transition:transform .9s var(--ease)}
.draw.in:before{transform:scaleX(1)}
.copy.copied{color:var(--ink)}
.copy.wide.copied{background:var(--ink);color:var(--paper)}
@media(prefers-reduced-motion:no-preference){
a,.copy,.btn{transition:color .2s ease,background-color .2s ease,transform .2s var(--ease)}
.sheet tbody tr{transition:background-color .25s ease}
.name{display:inline-block;transition:color .2s ease,transform .25s var(--ease)}
.sheet tbody tr:hover .name{transform:translateX(4px)}
.guides a:hover{transform:translateX(4px)}
.btn:hover{transform:translateY(-1px)}
.btn:active,.copy:active,.go:active{transform:translateY(1px)}
.go{transition:background-color .2s ease,transform .2s var(--ease)}
}
@media(max-width:820px){
.lead,.layout,.guides,footer .wrap{grid-template-columns:minmax(0,1fr)}
.lead{padding:30px 0 22px}
.layout{gap:26px;padding-top:24px}
.ticket{order:-1;position:static}
.ticket.related{order:0}
.compare{font-size:15px;min-width:0}
.wrap{padding:0 16px}
.sheet thead{display:none}
.sheet,.sheet tbody,.sheet tr,.sheet td{display:block;width:auto}
.sheet tbody tr{display:grid;gap:3px 12px;grid-template-columns:1fr auto;padding:12px 0}
.sheet td{padding:0}
.sheet .c-name,.sheet .c-offer{grid-column:1/-1}
.sheet .c-offer{grid-row:2}
.sheet .c-code{align-self:center;grid-column:1;grid-row:3}
.sheet .c-open{grid-column:2;grid-row:3;text-align:right}
}