@layer components{.sport-hero__kicker{display: inline-flex;align-items: center;gap: 10px;font-size: var(--fs-label);font-weight: var(--fw-bold);letter-spacing: var(--ls-label);text-transform: uppercase;color: var(--red);}}
@layer components{.fact__value{font-family: var(--font-display);font-weight: var(--fw-black);font-size: clamp(3rem,5vw,4.5rem);line-height: 0.9;letter-spacing: var(--ls-tight);}}
@layer components{.fact__value--sm{font-size: clamp(1.5rem,2.2vw,2rem);font-weight: var(--fw-extra);text-transform: uppercase;line-height: 1;}}
@layer components{.fact__label{margin-top: 8px;font-size: var(--fs-micro);font-weight: var(--fw-semi);letter-spacing: var(--ls-label);text-transform: uppercase;color: var(--on-dark-muted);}}
@layer components{.roster-hero{position: relative;isolation: isolate;background: var(--black);color: var(--white-text);overflow: hidden;border-bottom: var(--nav-rule) solid var(--red);}}
@layer components{.roster-hero.has-image{min-height: 420px;display: flex;align-items: flex-end;}}
@layer components{.roster-hero__overlay{position: absolute;inset: 0;z-index: -1;background: linear-gradient(180deg,rgba(8,8,10,.35) 0%,rgba(8,8,10,.2) 40%,rgba(8,8,10,.9) 100%);}}
@layer components{.roster-hero__inner{display: flex;flex-direction: column;align-items: flex-start;gap: var(--sp-4);padding-block: var(--sp-6) var(--sp-6);}}
@layer components{.roster-hero__title{font-family: var(--font-display);font-weight: var(--fw-black);font-size: clamp(3rem,7vw,6rem);line-height: 0.9;letter-spacing: var(--ls-tight);text-transform: uppercase;}}
@layer components{.roster-hero__facts{display: flex;flex-wrap: wrap;gap: var(--sp-4) var(--sp-7);margin-top: var(--sp-2);}}
@layer components{.roster-hero .fact{color: var(--white-text);}}
@layer components{.roster__captains{margin-bottom: var(--sp-5);font-family: var(--font-display);font-weight: var(--fw-bold);font-size: var(--fs-body);text-transform: uppercase;letter-spacing: 0.02em;}}
@layer components{.roster__captains .kicker{margin-right: 10px;}}
@layer components{.roster__grid{display: grid;gap: var(--sp-2);}}
@layer components{.player__media{display: block;aspect-ratio: var(--ratio-hero-mobile);background: var(--black-panel);overflow: hidden;}}
@layer components{.player__photo{width: 100%;height: 100%;object-fit: cover;display: block;}}
@layer components{.player__photo--empty{display: grid;place-items: center;font-family: var(--font-display);font-weight: var(--fw-black);font-size: clamp(3rem,6vw,5rem);color: rgba(255,255,255,.18);background: linear-gradient(180deg,#1b1c1c,var(--black-deep));}}
@layer components{.player__body{display: grid;grid-template-columns: 56px 1fr;grid-template-areas: "num name" "num meta" "num notes";column-gap: var(--sp-3);align-items: center;padding: var(--sp-3) var(--sp-4);}}
@layer components{.roster__grid--list .player__body{grid-template-columns: auto 56px 1fr;grid-template-areas: "thumb num name" "thumb num meta" "thumb num notes";}}
@layer components{.player__thumb{grid-area: thumb;width: 44px;height: 56px;overflow: hidden;background: var(--black-panel);}}
@layer components{.player__thumb img{width: 100%;height: 100%;object-fit: cover;display: block;}}
@layer components{.roster__grid--list .player:not(:has(.player__thumb)) .player__body{grid-template-columns: 56px 1fr;grid-template-areas: "num name" "num meta" "num notes";}}
@layer components{.player__number{grid-area: num;font-family: var(--font-display);font-weight: var(--fw-black);font-size: 2rem;line-height: 1;color: var(--red);letter-spacing: var(--ls-tight);}}
@layer components{.player__name{grid-area: name;font-family: var(--font-display);font-weight: var(--fw-extra);font-size: 1.25rem;line-height: 1.05;text-transform: uppercase;letter-spacing: 0.01em;}}
@layer components{.player__c{display: inline-grid;place-items: center;width: 18px;height: 18px;margin-left: 6px;background: var(--black);color: #fff;font-size: 0.7rem;font-weight: var(--fw-black);vertical-align: 2px;}}
@layer components{.player__meta{grid-area: meta;margin-top: 3px;font-size: var(--fs-label);font-weight: var(--fw-semi);letter-spacing: var(--ls-ui);text-transform: uppercase;color: var(--gray-meta);}}
@layer components{.player__meta:empty{display: none;}}
@layer components{.player__notes{grid-area: notes;margin-top: 4px;font-family: var(--font-serif);font-size: 0.875rem;color: var(--gray-body);}}
@layer components{.roster__notes{margin-top: var(--sp-6);max-width: 70ch;color: var(--gray-body);font-size: 0.9375rem;}}
@layer components{.roster__staff{margin-top: var(--sp-8);}}
@layer components{.roster__others{margin-top: var(--sp-7);display: flex;flex-direction: column;gap: var(--sp-3);}}
@layer components{@media (min-width: 640px){.roster__grid{grid-template-columns: repeat(2,1fr);gap: var(--sp-3);}}}
@layer components{@media (min-width: 1024px){.roster__grid{grid-template-columns: repeat(3,1fr);gap: var(--sp-4);}}}
@layer components{@media (min-width: 1024px){.roster__grid--cards{grid-template-columns: repeat(4,1fr);}}}
@layer components{@media (min-width: 1024px){.player__body{padding: var(--sp-4) var(--sp-5);}}}
@layer components{@media (min-width: 1280px){.roster__grid--list{grid-template-columns: repeat(4,1fr);}}}
@layer components{.staff__head{display: grid;grid-template-columns: 96px 1fr;gap: var(--sp-4);align-items: center;color: var(--gray-ink);}}
@layer components{.staff__photo{display: block;aspect-ratio: var(--ratio-hero-mobile);overflow: hidden;background: var(--black-panel);}}
@layer components{.staff__img--empty{display: grid;place-items: center;font-family: var(--font-display);font-weight: var(--fw-black);font-size: 2.5rem;color: rgba(255,255,255,.25);background: linear-gradient(180deg,#1b1c1c,var(--black-deep));}}
@layer components{.staff__body{display: flex;flex-direction: column;align-items: flex-start;gap: 4px;}}
@layer components{.staff__name{font-family: var(--font-display);font-weight: var(--fw-black);font-size: clamp(1.75rem,2.6vw,2.5rem);line-height: 0.95;letter-spacing: var(--ls-tight);text-transform: uppercase;}}
@layer components{.staff__years{font-size: var(--fs-label);font-weight: var(--fw-semi);letter-spacing: var(--ls-ui);text-transform: uppercase;color: var(--gray-meta);}}
@layer components{.staff__excerpt{margin-top: 4px;font-family: var(--font-serif);font-size: 0.9375rem;line-height: 1.5;color: var(--gray-body);max-width: 40rem;}}
@layer components{.staff__body .textlink{margin-top: 6px;}}
@layer components{.staff__list{display: grid;gap: 0;border-top: var(--bw-hair) solid var(--gray-line);}}
@layer components{.staff__item{border-bottom: var(--bw-hair) solid var(--gray-line);}}
@layer components{.staff__thumb{width: 40px;height: 40px;overflow: hidden;background: var(--black-panel);display: block;}}
@layer components{.staff__thumb img{width: 100%;height: 100%;object-fit: cover;display: block;}}
@layer components{.staff__thumb-empty{display: grid;place-items: center;width: 100%;height: 100%;font-weight: var(--fw-black);color: rgba(255,255,255,.3);}}
@layer components{.staff__item-name{font-weight: var(--fw-extra);font-size: 1.0625rem;text-transform: uppercase;letter-spacing: 0.01em;}}
@layer components{.staff__item-title{font-size: var(--fs-label);font-weight: var(--fw-semi);letter-spacing: var(--ls-ui);text-transform: uppercase;color: var(--gray-meta);text-align: right;}}
@layer components{@media (min-width: 768px){.staff__head{grid-template-columns: 128px 1fr;gap: var(--sp-5);}}}
@layer components{.roster-hero.has-team{min-height: 0;background: var(--black);}}
@layer components{.roster-hero.has-team .roster-hero__inner{padding-block: var(--sp-5) var(--sp-5);}}
@layer components{.roster-hero.has-team .roster-hero__title{font-size: clamp(2.5rem,5.5vw,4.5rem);}}
@layer components{.teamplate{position: relative;isolation: isolate;overflow: hidden;background: var(--silver);background-image: linear-gradient(180deg,#e6e8ec 0%,var(--silver) 30%,#f3f4f6 100%);padding-block: var(--sp-6) var(--sp-7);border-bottom: 1px solid var(--gray-line);}}
@layer components{.teamplate__year{position: absolute;right: -2.5%;bottom: -10%;z-index: -1;font-family: var(--font-display);font-weight: var(--fw-black);font-size: clamp(12rem,34vw,34rem);line-height: 1;letter-spacing: -.04em;color: #dfe3e8;text-shadow: 1px 1px 0 #fff,-1px -1px 0 #c9ced5;pointer-events: none;user-select: none;}}
@layer components{.teamplate__inner{display: flex;justify-content: center;}}
@layer components{.teamplate__fig{position: relative;margin: 0;display: flex;flex-direction: column;max-width: 100%;width: min(100%,calc(82vh * var(--tp-ar,1.5)));}}
@layer components{.teamplate__tab{position: absolute;left: -6px;top: -14px;z-index: 2;padding: 6px 12px;background: var(--red);color: #fff;font-family: var(--font-display);font-weight: var(--fw-black);font-size: var(--fs-label);letter-spacing: var(--ls-ui);text-transform: uppercase;box-shadow: 0 6px 16px rgba(0,0,0,.18);}}
@layer components{.teamplate__zoom{position: absolute;right: 22px;bottom: 22px;display: inline-flex;align-items: center;gap: 6px;padding: 8px 12px;background: rgba(43,48,54,.88);color: #fff;font-family: var(--font-display);font-weight: var(--fw-bold);font-size: var(--fs-label);letter-spacing: var(--ls-ui);text-transform: uppercase;opacity: 0;translate: 0 4px;transition: opacity .2s,translate .2s;}}
@layer components{.teamplate__link:hover .teamplate__zoom,.teamplate__link:focus-visible .teamplate__zoom{opacity: 1;translate: 0 0;}}
@layer components{.teamplate__cap{display: flex;flex-wrap: wrap;align-items: baseline;gap: 4px 16px;padding: 14px 4px 0;}}
@layer components{.teamplate__title{font-family: var(--font-display);font-weight: var(--fw-black);font-size: 1.15rem;letter-spacing: .02em;text-transform: uppercase;color: var(--graphite);}}
@layer components{.teamplate__text{font-style: italic;color: #4a5058;}}
@layer components{.teamplate__credit{margin-left: auto;font-family: var(--font-display);font-weight: var(--fw-bold);font-size: var(--fs-label);letter-spacing: var(--ls-ui);text-transform: uppercase;color: var(--gray-muted,#646b74);}}
@layer components{@media (max-width: 720px){.teamplate{padding-block: var(--sp-5) var(--sp-6);}}}
@layer components{@media (max-width: 720px){.teamplate__fig{width: 100%;}}}
@layer components{@media (max-width: 720px){.teamplate__year{right: -6%;bottom: -4%;font-size: 11rem;}}}
@layer components{@media (max-width: 720px){.teamplate__tab{left: 0;top: -12px;}}}
@layer components{@media (max-width: 720px){.teamplate__zoom{opacity: 1;translate: 0 0;right: 12px;bottom: 12px;padding: 6px 10px;}}}
@layer components{@media (max-width: 720px){.teamplate__credit{margin-left: 0;}}}
@layer components{.rosterstage{position: relative;isolation: isolate;background: var(--black);border-bottom: var(--nav-rule) solid var(--red);}}
@layer components{.rosterstage::before{content: "";position: absolute;inset: 0;z-index: -3;background-image: var(--tp-bg);background-size: cover;background-position: 50% var(--tp-bg-y,50%);filter: saturate(.5) contrast(1.05);}}
@layer components{.rosterstage::after{content: "";position: absolute;inset: 0;z-index: -2;background: linear-gradient(180deg,rgba(8,8,10,.92) 0%,rgba(8,8,10,.7) 22%,rgba(8,8,10,.5) 55%,rgba(8,8,10,.9) 100%);}}
@layer components{.rosterstage.is-light::after{background: linear-gradient(180deg,rgba(8,8,10,.72) 0%,rgba(8,8,10,.42) 22%,rgba(8,8,10,.3) 55%,rgba(8,8,10,.85) 100%);}}
@layer components{.rosterstage.is-heavy::after{background: linear-gradient(180deg,rgba(8,8,10,.94) 0%,rgba(8,8,10,.8) 22%,rgba(8,8,10,.72) 55%,rgba(8,8,10,.96) 100%);}}
@layer components{.rosterstage .roster-hero.has-team{background: transparent;border-bottom: 0;isolation: auto;overflow: visible;}}
@layer components{.rosterstage .roster-hero.has-team::before{content: "";position: absolute;inset: 0 0 -40px;z-index: -1;background: linear-gradient(180deg,rgba(6,7,9,.96) 0%,rgba(6,7,9,.9) 55%,rgba(6,7,9,.55) 85%,rgba(6,7,9,0) 100%);-webkit-backdrop-filter: blur(6px);backdrop-filter: blur(6px);-webkit-mask-image: linear-gradient(180deg,#000 70%,transparent 100%);mask-image: linear-gradient(180deg,#000 70%,transparent 100%);pointer-events: none;}}
@layer components{.rosterstage .roster-hero__title,.rosterstage .roster-hero .fact__value,.rosterstage .sport-hero__kicker,.rosterstage .game-hero__back{text-shadow: 0 1px 2px rgba(0,0,0,.7),0 6px 22px rgba(0,0,0,.45);}}
@layer components{.rosterstage .roster-hero .fact__label{color: rgba(255,255,255,.88);text-shadow: 0 1px 2px rgba(0,0,0,.8);}}
@layer components{.rosterstage .roster-hero__facts{padding: 10px 14px;margin-left: -14px;background: rgba(6,7,9,.55);border-left: 3px solid var(--red);}}
@layer components{.rosterstage .roster-hero.has-team .roster-hero__inner{padding-bottom: var(--sp-3);}}
@layer components{.teamplate.has-backdrop{background: transparent;border-bottom: 0;padding-top: var(--sp-4);}}
@layer components{.teamplate.has-backdrop .teamplate__year{color: rgba(255,255,255,.07);text-shadow: none;}}
@layer components{.teamplate.has-backdrop .teamplate__link{border-color: #fff;box-shadow: 0 34px 70px -22px rgba(0,0,0,.85),0 4px 14px rgba(0,0,0,.45);}}
@layer components{.teamplate.has-backdrop .teamplate__title{color: #fff;}}
@layer components{.teamplate.has-backdrop .teamplate__text{color: rgba(255,255,255,.82);}}
@layer components{.teamplate.has-backdrop .teamplate__credit{color: rgba(255,255,255,.62);}}
@layer components{.roster__memoriam{display: flex;flex-wrap: wrap;align-items: baseline;gap: 6px 16px;margin: 0 0 var(--sp-5);padding: 14px 18px;background: var(--white-card);border: var(--bw-hair) solid var(--gray-line);border-left: 4px solid var(--graphite);}}
@layer components{.roster__memoriam-k{font-family: var(--font-display);font-weight: var(--fw-black);font-size: var(--fs-label);letter-spacing: var(--ls-ui);text-transform: uppercase;color: var(--graphite);}}
@layer components{.roster__memoriam-names{font-family: var(--font-display);font-weight: var(--fw-extra);font-size: 1.2rem;text-transform: uppercase;letter-spacing: .01em;color: var(--ink,#1c1f23);}}
@layer components{.roster__memoriam-note{flex-basis: 100%;font-style: italic;color: var(--gray-meta);font-size: .95rem;}}
@layer components{.player--memorial{position: relative;overflow: hidden;border-left: 4px solid var(--graphite);}}
@layer components{.player--memorial .player__number{color: var(--graphite);}}
@layer components{.player__ribbon{position: absolute;top: 10px;right: -30px;width: 110px;height: 14px;background: #111315;rotate: 45deg;box-shadow: 0 1px 2px rgba(0,0,0,.35);pointer-events: none;}}
@layer components{.player__ribbon::after{content: "";position: absolute;inset: 4px 0;border-top: 1px solid rgba(255,255,255,.18);border-bottom: 1px solid rgba(255,255,255,.18);}}
@layer components{.player__mem{display: inline-block;margin-left: 8px;vertical-align: middle;padding: 2px 7px;background: var(--graphite);color: #fff;font-family: var(--font-display);font-weight: var(--fw-bold);font-size: 10px;letter-spacing: var(--ls-ui);text-transform: uppercase;line-height: 1.3;translate: 0 -2px;}}
@layer components{.source-line{display: flex; flex-wrap: wrap; gap: 6px 12px; align-items: baseline; margin-top: var(--sp-4); font-family: var(--font-serif); font-size: 0.8125rem; line-height: 1.5; color: var(--paper-muted);}}
@layer components{.source-line__label{font-family: var(--font-display); font-weight: var(--fw-bold); font-size: var(--fs-micro); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--red);}}
@layer components{.source-line a{color: inherit; text-decoration: underline; text-underline-offset: 2px;}}
@layer components{.source-line__notes{flex-basis: 100%; font-style: italic;}}
@layer components{.card .source-line,.details .source-line{color: var(--gray-meta);}}
@layer components{.archive-hero:not(.has-image) .archive-stats .fact__label{color: #5b6169;}}
@layer components{.player--verified{border-left: 4px solid var(--red);}}
@layer components{.player__ver{display: inline-flex; align-items: center; gap: 4px; margin-left: 8px; vertical-align: middle; padding: 2px 7px; background: var(--red); color: #fff; font-family: var(--font-display); font-weight: var(--fw-bold); font-size: 10px; letter-spacing: var(--ls-ui); text-transform: uppercase; line-height: 1.3; translate: 0 -2px;}}
.roster-hero.no-image{position: relative; overflow: hidden; isolation: isolate; color: #fff; background: repeating-linear-gradient(115deg, rgba(255,255,255,.05) 0 2px, transparent 2px 22px), radial-gradient(120% 120% at 15% 0%, #e8303c 0%, var(--red) 45%, #b3141f 100%);}
.roster-hero__c{position: absolute; z-index: -1; right: -3%; top: 50%; width: min(440px, 40vw); translate: 0 -50%; opacity: .12; pointer-events: none;}
.roster-hero.no-image .roster-hero__title,.roster-hero.no-image .game-hero__back,.roster-hero.no-image .roster-hero__facts,.roster-hero.no-image .roster-hero__facts *{color: #fff;}
.roster-hero.no-image .sport-hero__kicker{color: rgba(255,255,255,.9);}
.pf__lede{margin: 0 0 18px; font-family: var(--font-serif); font-size: 1.05rem; color: #4a4f56; text-align: center;}
.pf__f{display: grid; gap: 5px;}
.pf__f > span{font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .8rem; letter-spacing: .14em; text-transform: uppercase; color: var(--red);}
.pf__f > span em{font-style: normal; font-weight: 700; color: #8a9099; letter-spacing: .06em; text-transform: none;}
.pf__f input,.pf__f textarea{width: 100%; padding: 11px 13px; border: 2px solid #dfe2e6; background: #f6f7f8; font: inherit; font-family: var(--font-serif); font-size: 1.02rem; color: #3a3f46; box-sizing: border-box;}
.pf__f--who input{font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1.2rem; letter-spacing: .02em;}
.pf__f input:focus,.pf__f textarea:focus{border-color: var(--red); background: #fff; outline: 0;}
.pf__row{display: grid; grid-template-columns: 1fr 1fr; gap: 12px;}
.pf__go{display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px;}
.pf__btn{padding: 13px 22px; transform: skewX(-10deg); border: 0; background: var(--red); color: #fff; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1rem; letter-spacing: .14em; text-transform: uppercase; cursor: pointer; box-shadow: 5px 5px 0 rgba(110,10,18,.2);}
.pf__btn:hover{background: #3a3f46;}
.pf__go small{flex: 1; min-width: 220px; font-family: var(--font-serif); font-size: .88rem; line-height: 1.45; color: #6b6f75;}
.pf-wrap{padding: 10px 0 50px;}
.pf-fold{max-width: 820px; margin: 0 auto; background: #fff; box-shadow: 0 10px 22px rgba(60,64,70,.08); border-left: 6px solid #8a9099;}
.pf-fold summary{display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 4px 16px; padding: 16px 20px; list-style: none; cursor: pointer;}
.pf-fold summary::-webkit-details-marker{display: none;}
.pf-fold__k{grid-row: span 1; font-family: var(--font-display); font-weight: 800; font-size: .72rem; letter-spacing: .24em; text-transform: uppercase; color: #8a9099;}
.pf-fold summary b{font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1.2rem; text-transform: uppercase; color: #3a3f46;}
.pf-fold summary em{font-style: normal; font-family: var(--font-display); font-weight: 900; font-size: .82rem; letter-spacing: .14em; text-transform: uppercase; color: var(--red);}
.pf-fold[open] summary em{visibility: hidden;}
.pf-fold__body{padding: 0 20px 20px;}
.pf-fold .pf{box-shadow: none; border-top: 0; padding: 0;}
@media (max-width: 640px){.pf__row{grid-template-columns: 1fr;}}
@media (max-width: 640px){.pf-fold summary{grid-template-columns: 1fr;}}
.pf-link{font-family: var(--font-serif); font-size: .95rem; color: #6b6f75; text-decoration: underline; text-decoration-color: #c9ccd1; text-underline-offset: 3px;}
.pf-link:hover{color: var(--red); text-decoration-color: var(--red);}
.pf-wrap{padding: 4px 0 40px; text-align: center;}
.pf-modal{width: min(640px, calc(100vw - 24px)); max-height: calc(100vh - 40px); padding: 26px 26px 22px; border: 0; border-top: 6px solid var(--red); background: #fff; box-shadow: 0 30px 70px rgba(0,0,0,.35); text-align: left; overflow: auto;}
.pf-modal::backdrop{background: rgba(43,48,54,.55);}
.pf-modal__x{position: absolute; top: 10px; right: 12px; width: 36px; height: 36px; border: 0; background: transparent; font-size: 1.8rem; line-height: 1; color: #8a9099; cursor: pointer;}
.pf-modal__x:hover{color: var(--red);}
.pf-modal__k{font-family: var(--font-display); font-weight: 800; font-size: .72rem; letter-spacing: .26em; text-transform: uppercase; color: #8a9099;}
.pf-modal__t{margin: 4px 0 6px; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 1.7rem; line-height: 1; text-transform: uppercase; color: #3a3f46;}
.pf-modal .pf__lede{text-align: left; margin-bottom: 14px;}
.pf-modal .pf{padding: 0; border-top: 0; box-shadow: none;}
.player__me{display:inline-block;margin-top:4px;font-family:var(--font-display);font-weight:800;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--red);text-decoration:none;border-bottom:2px solid currentColor}
.player__me:hover{color:#2b3036}
.roster__claim{margin:18px 0 0;padding:14px 18px;background:#fff;border-left:5px solid var(--red);font-family:var(--font-serif);font-size:16px;color:#2b3036}
.roster__claim a{color:var(--red);font-weight:700}
.roster-hero__full{margin:14px 0 0;font-family:var(--font-display);font-weight:700;font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.roster-hero__full a{color:#fff;text-decoration:none;border-bottom:2px solid rgba(255,255,255,.6)}
.player__fixed{display: block; margin-top: 3px; font-family: var(--font-display); font-weight: 700; font-size: .58rem; letter-spacing: .1em; text-transform: uppercase; color: #8a9096;}
.player--verified .player__fixed{color: #157a41;}
.afile{padding-block: var(--sp-5);}
.afile__card{display: grid; grid-template-columns: minmax(220px, 300px) 1fr; gap: var(--sp-5); align-items: center; padding: var(--sp-5); background: #fff; border: 1px solid var(--silver-2, #e3e6ea); border-left: 6px solid var(--red); box-shadow: 0 18px 40px -30px rgba(20,24,28,.55);}
.afile.is-complete .afile__card{border-left-color: var(--graphite);}
.afile__k{display: inline-block; padding: 5px 10px; background: var(--graphite); color: #fff; font-family: var(--font-display); font-weight: var(--fw-black); font-size: var(--fs-micro); letter-spacing: var(--ls-label); text-transform: uppercase;}
.afile__h{margin: 10px 0 4px; font-family: var(--font-display); font-weight: var(--fw-black); font-size: clamp(1.6rem, 2.4vw, 2.1rem); line-height: 1; letter-spacing: var(--ls-tight); text-transform: uppercase; color: var(--graphite);}
.afile__h b{color: var(--red);}
.afile__list{display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 10px; list-style: none; margin: 0; padding: 0;}
.afile__i > a,.afile__i.is-done{display: grid; grid-template-columns: 30px 1fr; grid-template-rows: auto auto; column-gap: 10px; align-items: start; height: 100%; padding: 12px 14px; text-decoration: none;}
.afile__i.is-done{background: #f2f3f5;}
.afile__i.is-missing > a{background: #fff; border: 2px dashed rgba(206,26,39,.55); transition: background .2s ease, border-color .2s ease, transform .2s ease;}
.afile__i.is-missing > a:hover{background: #fff5f5; border-color: var(--red); border-style: solid; transform: translateY(-2px);}
.afile__mark{grid-row: 1 / span 2; display: grid; place-items: center; width: 30px; height: 30px;}
.afile__mark svg{width: 18px; height: 18px;}
.is-done .afile__mark{background: var(--graphite); color: #fff;}
.is-missing .afile__mark{background: var(--red); color: #fff;}
.afile__txt{display: grid; gap: 2px; min-width: 0;}
.afile__txt b{font-family: var(--font-display); font-weight: var(--fw-black); font-size: 1.05rem; letter-spacing: .02em; text-transform: uppercase; color: var(--graphite); line-height: 1.1;}
.afile__txt small{font-family: var(--font-serif); font-size: .85rem; line-height: 1.35; color: #5f656b;}
.is-done .afile__txt small{color: #7a8087;}
.afile__cta{grid-column: 2; margin-top: 8px; font-family: var(--font-display); font-weight: var(--fw-black); font-size: .9rem; letter-spacing: var(--ls-ui); text-transform: uppercase; color: var(--red);}
@media (max-width: 900px){.afile__card{grid-template-columns: 1fr; gap: var(--sp-4);}}
@media (max-width: 560px){.afile__card{padding: var(--sp-4);}}
@media (max-width: 560px){.afile__list{grid-template-columns: 1fr;}}
.ask2{--gx-red:#ce1a27;--gx-red2:#a8141f;--gx-steel:#2b3036;--gx-mid:#6b7078;--gx-d:var(--font-display,"Barlow Condensed","Arial Narrow",sans-serif);padding:clamp(28px,4vw,48px) 0;background:transparent;container-type:inline-size}
.ask2__band{display:grid;grid-template-columns:150px minmax(0,1fr) auto;align-items:stretch;background:#eceef1;background-image:repeating-linear-gradient(115deg,rgba(43,48,54,.04) 0 2px,transparent 2px 18px)}
.ask2__pic{background-size:cover;background-position:30% 70%;min-height:150px}
.ask2__words{padding:24px 30px;align-self:center;min-width:0}
.ask2__k{display:inline-block;background:var(--gx-red);color:#fff;font:italic 900 11px/1 var(--gx-d);letter-spacing:.16em;text-transform:uppercase;padding:6px 10px}
.ask2 .ask2__h{margin:10px 0 0;font:italic 900 clamp(28px,3.2vw,40px)/.92 var(--gx-d);text-transform:uppercase;letter-spacing:-.01em;color:var(--gx-steel)}
.ask2__h span{color:var(--gx-red)}
.ask2__p{margin:8px 0 0;font-family:var(--font-serif,Georgia,serif);font-size:1rem;line-height:1.5;color:#3c4148;max-width:60ch}
.ask2__mine{margin:6px 0 0;font-size:.9375rem;color:#3c4148}
.ask2__mine b{color:var(--gx-red)}
.ask2__go{display:flex;flex-direction:column;justify-content:center;gap:10px;padding:24px 30px 24px 0;max-width:280px}
.ask2__btn{display:inline-flex;justify-content:center;align-items:center;gap:10px;padding:16px 22px;background:var(--gx-red);color:#fff!important;font:italic 900 17px/1 var(--gx-d);letter-spacing:.1em;text-transform:uppercase;text-decoration:none;white-space:nowrap;transition:background .15s}
@media (hover:hover){.ask2__btn:hover{background:var(--gx-red2)}}
.ask2__note{margin:0;font:800 11px/1.4 var(--gx-d);letter-spacing:.12em;text-transform:uppercase;color:var(--gx-mid)}
@container (max-width:760px){.ask2__band{grid-template-columns:96px minmax(0,1fr)}}
@container (max-width:760px){.ask2__pic{min-height:0}}
@container (max-width:760px){.ask2__words{padding:18px 18px}}
@container (max-width:760px){.ask2__go{grid-column:1/-1;padding:0 18px 20px;max-width:none}}
@container (max-width:760px){.ask2__btn{white-space:normal}}
.ask2__all{font:800 11px/1.2 var(--gx-d);letter-spacing:.14em;text-transform:uppercase;color:var(--gx-red)!important;text-decoration:none}