/* Ian Matteoli: a full-width Italia feature, with both original photographs. */
.snp .snp-athlete{position:relative;isolation:isolate;overflow:hidden;background:#1268ae;color:#fff;padding:clamp(48px,6vw,96px) 0}
.snp .snp-athlete::before{content:"";position:absolute;z-index:-1;inset:0;background:url("../images/italia-team.svg") no-repeat 93% 24%;background-size:clamp(260px,34vw,520px) auto;opacity:.13;pointer-events:none}
.snp .snp-athlete-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(36px,6vw,96px);align-items:start}
.snp .snp-athlete-portrait{margin:0}
.snp .snp-athlete-photo{position:relative}
.snp .snp-athlete-photo>img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;object-position:50% 15%}
.snp .snp-athlete-credit{display:block;padding-top:10px;font-size:11px;line-height:1.4;color:#e2edf6}
.snp .snp-athlete-credit a{text-decoration:underline;text-underline-offset:3px}
.snp .snp-athlete-copy{display:grid;gap:28px}
.snp .snp-athlete-kicker{display:flex;align-items:center;gap:12px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:22px}
.snp .snp-athlete-kicker::before{content:"";width:36px;height:4px;background:linear-gradient(90deg,#009641 0 33.33%,#fff 33.33% 66.66%,#e62644 66.66%);flex:none}
.snp .snp-athlete h2{font-family:var(--snp-display);font-weight:800;font-size:clamp(64px,7.5vw,118px);letter-spacing:-.015em;line-height:.88;text-transform:uppercase;text-wrap:initial}
.snp .snp-athlete h2 span{display:block}
.snp .snp-athlete blockquote{margin:28px 0 0;padding:0;border:0}
.snp .snp-athlete blockquote p{font-size:clamp(30px,3.2vw,48px);font-weight:300;line-height:1.05;letter-spacing:-.03em}
.snp .snp-athlete cite{display:block;margin-top:14px;max-width:40ch;font-size:13px;font-style:normal;line-height:1.5;color:#e2edf6}
.snp .snp-athlete-story{display:grid;gap:24px}
.snp .snp-athlete-story>.snp-eyebrow{color:#fff;margin:0;font-size:12px}
.snp .snp-athlete-story>p{font-size:16px;line-height:1.65;max-width:53ch;margin:0;color:#fff}
.snp .snp-athlete .snp-links{gap:16px 28px}
.snp .snp-athlete .snp-link{font-size:14px}
.snp .snp-athlete a:hover{color:#fff}
.snp .snp-athlete :focus-visible{outline-color:#fff}
.snp .snp-athlete-local{display:block;position:absolute;right:18px;bottom:18px;width:30%;max-width:200px;margin:0;border:5px solid #1268ae;box-shadow:0 8px 28px #061c3659;background:#1268ae}
.snp .snp-athlete-local img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;margin-inline:0!important}
.snp .snp-athlete-local figcaption{font-size:10px;line-height:1.4;padding:5px 4px 1px;color:#fff}
@media(max-width:1000px){
 .snp .snp-athlete-grid{gap:32px;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
 .snp .snp-athlete h2{font-size:clamp(58px,7.5vw,76px)}
}
@media(max-width:760px){
 .snp .snp-athlete{padding:48px 0}
 .snp .snp-athlete::before{background-position:right 30px;background-size:240px auto;opacity:.12}
 .snp .snp-athlete-grid{grid-template-columns:minmax(0,1fr);gap:32px}
 .snp .snp-athlete-copy{display:contents}
 .snp .snp-athlete-heading{grid-row:1}
 .snp .snp-athlete-portrait{grid-row:2}
 .snp .snp-athlete-story{grid-row:3}
 .snp .snp-athlete h2{font-size:clamp(60px,16vw,100px)}
 .snp .snp-athlete blockquote{margin-top:24px}
 .snp .snp-athlete blockquote p{font-size:34px}
 .snp .snp-athlete-photo>img{aspect-ratio:4/5}
 .snp .snp-athlete-local{right:10px;bottom:10px;width:32%;border-width:4px}
}
