/* Self-hosted OFL alternatives: Bodoni Moda for Stazin, Jost for Futura. */
@font-face{font-family:"Bodoni Moda";src:url("fonts/BodoniModa-Variable.ttf") format("truetype");font-weight:400 900;font-style:normal;font-display:swap}
@font-face{font-family:"Jost";src:url("fonts/Jost-Variable.ttf") format("truetype");font-weight:100 900;font-style:normal;font-display:swap}
:root{--font-display:"Bodoni Moda",Georgia,serif;--font-text:"Jost",Arial,sans-serif;--font-accent:var(--font-text)}
body{font-family:var(--font-text);font-weight:400;line-height:1.65;font-kerning:normal}
h1,h2,h3,h4,h5{font-family:var(--font-text);font-weight:600;letter-spacing:-.015em;line-height:1.25}
h1,.page-intro h1,.goal h1,.detail-header h2,.quote-band p{font-family:var(--font-display);font-weight:800;font-optical-sizing:auto;letter-spacing:-.035em;line-height:1.08}
.hero h1{font-size:clamp(44px,4.5vw,70px);line-height:1.06;letter-spacing:-.04em;margin:24px 0}
.hero h1 em{font-family:var(--font-display);font-weight:800;font-style:normal;text-transform:none;letter-spacing:inherit}
.hero-content p{font-size:16px;line-height:1.65;margin:24px 0}
.page-intro h1{font-size:clamp(40px,4.1vw,60px)}
.goal h1{font-size:clamp(42px,4.5vw,68px)}
.detail-header h2{font-size:38px;line-height:1.15;letter-spacing:-.025em}
.section-heading h2{font-size:29px;letter-spacing:-.025em}
.card-body h3{font-size:22px;line-height:1.2;font-weight:600}
.card-body p,.profile-card p{font-size:15px;line-height:1.6}
.quote-band p{font-size:30px;line-height:1.18}
.quote-band p em{font-family:var(--font-display);font-weight:800;font-style:normal;text-transform:none;letter-spacing:inherit;font-size:1em}
.photo-caption,.hero-foot strong{font-family:var(--font-text);font-weight:500}
.hero-foot strong{letter-spacing:.06em;font-size:15px}
.eyebrow,.nav-caption,.card-meta,.season{font-weight:500;letter-spacing:.1em}
.button,.sidebar nav a,.project-tabs button{font-weight:600}
.showcase-copy p{font-size:13px;line-height:1.6}
.showcase-type{font-size:10px;letter-spacing:.06em}
.stat-number{font-weight:600;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
@media(max-width:1150px){.hero h1{font-size:52px}.card-body h3{font-size:20px}}
@media(max-width:850px){.hero h1{font-size:49px}.card-body h3{font-size:23px}.sidebar nav a{font-size:0}}
@media(max-width:580px){.hero h1{font-size:clamp(34px,8.9vw,49px);letter-spacing:-.035em;margin-top:30px}.hero-content p{font-size:15px;line-height:1.65}.page-intro h1{font-size:clamp(33px,9vw,43px)}.goal h1{font-size:clamp(36px,10vw,47px)}.detail-header h2{font-size:29px}.quote-band p{font-size:30px}.sidebar nav a{font-size:12px}.showcase-copy p{font-size:12px;line-height:1.55}.showcase-copy h5{font-size:15px}.showcase-type{font-size:9px}}

/* Sports editorial typography and approved project collage. */
:root{--font-display:"Barlow Condensed",Arial,sans-serif}
h1,.page-intro h1,.goal h1,.detail-header h2,.quote-band p,.hero h1 em,.quote-band p em{font-weight:600;letter-spacing:-.01em}
.hero h1{font-size:clamp(54px,5.8vw,82px);line-height:1.02;letter-spacing:-.015em}
.page-intro h1{font-size:clamp(46px,5vw,72px)}
.detail-header h2{font-size:42px}
.project-card[data-project="creation"] .card-art{background:#072b3d url('images/creation-collage.png') center/contain no-repeat;min-height:190px}
.project-card[data-project="creation"] .card-art:after,.project-card[data-project="creation"] .card-art strong{display:none}
.project-card[data-project="creation"] .card-art small{align-self:flex-start;background:#072b3ded;padding:5px 7px;border-radius:3px;font-size:10px;letter-spacing:.07em}
@media(max-width:1150px){.hero h1{font-size:64px}}
@media(max-width:850px){.hero h1{font-size:60px}}
@media(max-width:580px){.hero h1{font-size:clamp(45px,12vw,58px)}.detail-header h2{font-size:34px}.project-card[data-project="creation"] .card-art{height:210px}}

/* Dominant headline and compact cyan supporting line. */
.hero h1{font-size:clamp(58px,5.8vw,82px);line-height:.98;letter-spacing:-.015em;margin:30px 0 22px;max-width:560px}
.hero-title-main{display:block}
.hero h1 em{display:block;font-size:.44em;line-height:1.2;margin-top:18px;letter-spacing:.005em;font-weight:600;text-transform:none}
.hero-content p{margin:24px 0;max-width:415px}
@media(max-width:1150px){.hero h1{font-size:68px}}
@media(max-width:850px){.hero h1{font-size:64px}}
@media(max-width:580px){.hero h1{font-size:clamp(49px,13vw,64px);margin-top:34px}.hero h1 em{font-size:.48em;max-width:100%;margin-top:16px;line-height:1.18}.hero-content p{margin-top:24px}}
.contact-finish{display:grid;grid-template-columns:1fr 1.15fr;gap:38px;align-items:center;padding:42px;margin-top:24px;background:#fff;border:1px solid var(--line);border-radius:16px}
.contact-copy h2{font-family:var(--font-display);font-size:42px;line-height:1.05;margin:14px 0 20px}
.contact-copy p{font-size:15px;line-height:1.7;color:var(--muted)}
.contact-copy .button{font-size:13px;gap:12px;padding:12px 15px}
.bib-hint{display:block;font-size:12px;color:var(--muted);margin-top:13px}
.bib-card{padding:0;overflow:hidden;border:0;border-radius:10px;background:var(--navy);box-shadow:0 12px 28px #072b3d22;text-align:left;transition:transform .2s}
.bib-card:hover{transform:translateY(-4px)}.bib-card img{display:block;width:100%;height:auto}
.bib-card>span{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;color:white;font-size:10px;letter-spacing:.08em}.bib-card b{color:var(--cyan);font-size:19px}
#contact-dialog{width:min(560px,94vw)}.contact-dialog-head{background:var(--navy);color:white;padding:38px 32px 25px}.contact-dialog-head .eyebrow{color:var(--cyan)}.contact-dialog-head h2{font-family:var(--font-display);font-size:36px;line-height:1.1;margin:15px 0 10px}.contact-dialog-head p{color:#d5e7ef;margin:0}
.contact-actions{padding:24px 32px 32px}.contact-actions a{display:grid;grid-template-columns:1fr auto;padding:18px 0;border-bottom:1px solid var(--line);gap:5px}.contact-actions small{display:block;font-size:11px;letter-spacing:.1em;color:var(--muted)}.contact-actions strong{font-size:18px;font-weight:500;overflow-wrap:anywhere}.contact-actions a>span{grid-column:2;grid-row:1/3;align-self:center;color:#087da5;font-size:24px}.cv-pending{margin-top:22px}.cv-pending strong{display:block;font-size:16px;margin:5px 0}.cv-pending p{font-size:13px;color:var(--muted);margin:0}
@media(max-width:900px){.contact-finish{grid-template-columns:1fr;padding:28px;gap:25px}.bib-card{max-width:600px}.contact-copy h2{font-size:36px}}
@media(max-width:580px){.contact-finish{padding:24px 20px}.contact-actions{padding:20px}.contact-dialog-head{padding:44px 24px 25px}.contact-actions strong{font-size:16px}}
