/* Real Human Race: edited narrative, original image proportions and readable mobile type. */
html { scroll-behavior:auto; }
.race-page { font-size:17px; line-height:1.6; }
.race-page .chapter-nav { grid-template-columns:repeat(4,1fr); }
.race-page .small-label { font-size:13px; line-height:1.45; }
.race-page figcaption { display:block; font-size:12px; line-height:1.5; margin-top:10px; padding-top:10px; }
.race-page .photo-plus { width:36px; height:36px; font-size:24px; }
.race-page .photo-button img { height:auto; }
.race-page main section[id],.race-beyond { scroll-margin-top:8px; }
.race-intro { padding-top:35px; }
.race-kicker { color:var(--grey); }
.race-title { display:grid; grid-template-columns:1fr 280px; gap:50px; align-items:end; margin:28px 0 25px; }
.race-page h1 { font-size:clamp(76px,8.9vw,140px); line-height:.92; }
.race-format { position:relative; border-top:1px solid var(--ink); padding:16px 76px 8px 0; }
.race-format .small-label { color:var(--purple); }
.race-format p { font-size:19px; line-height:1.35; margin-top:14px; }
.race-format img { width:65px; height:auto; position:absolute; right:0; bottom:12px; }
.race-role { font-size:14px; line-height:1.5; margin-bottom:34px; }
.race-role span { color:var(--grey); }
.race-hero { width:88%; }
.race-brief { display:grid; grid-template-columns:1fr 1.1fr; gap:8%; padding:65px 0 10px; }
.race-brief h2 { font-size:clamp(44px,5vw,76px); margin-top:22px; }
.race-brief-copy p { max-width:55ch; }
.race-summary { color:#4a4054; }
.race-section { padding-top:75px; padding-bottom:65px; }
.race-page .section-rail { margin-bottom:32px; }
.race-heading { display:grid; grid-template-columns:1.2fr 1fr; gap:8%; align-items:end; margin-bottom:36px; }
.race-heading h2 { font-size:clamp(48px,5.5vw,88px); }
.race-heading p { max-width:44ch; }
.race-wide { width:88%; margin-left:auto; }
.race-funnel { display:grid; grid-template-columns:1fr 1.2fr; gap:7%; margin-top:55px; align-items:center; }
.race-funnel h3 { font-size:clamp(36px,3.5vw,52px); margin:20px 0; }
.race-funnel p { max-width:44ch; }
.race-journey { list-style:none; margin:25px 0 0; padding:0; border-top:1px solid var(--line); }
.race-journey li { display:flex; gap:18px; font-size:14px; padding:11px 0; border-bottom:1px solid var(--line); }
.race-journey li span { color:var(--purple); }
.race-pair { display:grid; grid-template-columns:1fr 1fr; gap:35px; align-items:start; }
.race-pair>.photo:nth-child(2) { margin-top:55px; }
.race-details-pair { margin-top:50px; }
.race-community-wide { width:100%; }
.race-kit { display:grid; grid-template-columns:1.2fr 1fr; gap:7%; margin-top:55px; align-items:center; }
.race-kit h3 { font-size:clamp(36px,3.5vw,52px); margin:20px 0; }
.race-kit p { max-width:42ch; }
.race-creator-wide { width:88%; }
.race-social { margin-top:60px; }
.race-story-heading { display:grid; grid-template-columns:1fr 1fr; gap:8%; border-top:1px solid var(--line); padding-top:26px; margin-bottom:32px; align-items:end; }
.race-story-heading h3 { font-size:clamp(36px,3.7vw,56px); line-height:1.02; }
.race-story-heading p { max-width:45ch; }
.race-creators { background:#eeede9; }
.race-reels { display:grid; grid-template-columns:1fr 1fr; gap:9%; max-width:700px; width:70%; margin:40px auto 0; align-items:start; }
.race-reels .photo:nth-child(2) { margin-top:65px; }
.race-source { font-size:12px; color:var(--grey); line-height:1.5; margin-top:10px; }
.race-source a { text-decoration:underline; text-underline-offset:3px; }
.race-story-intro { margin-top:60px; }
.race-stories { display:grid; grid-template-columns:repeat(3,1fr); gap:35px; padding:14px 12px 0; align-items:start; }
.race-stories>div { padding:12px 12px 18px; background:var(--sheet); border:1px solid #d4d1cc; }
.race-stories>div:first-child { transform:rotate(-2deg); }
.race-stories>div:nth-child(2) { transform:rotate(1.5deg); margin-top:44px; }
.race-stories>div:nth-child(3) { transform:rotate(-1deg); margin-top:15px; }
.race-stories figcaption { border-top:0; font-size:12px; padding-top:3px; }
.race-stories+.race-source { margin-top:30px; }
.race-impact>h2 { font-size:clamp(44px,5vw,78px); margin-bottom:35px; }
.race-outcomes { border-top:1px solid var(--ink); }
.race-outcomes>div { display:grid; grid-template-columns:1fr 1.4fr; gap:10%; border-bottom:1px solid var(--line); padding:26px 0; }
.race-outcomes dt { font-family:var(--display); font-size:32px; line-height:1.05; text-transform:uppercase; letter-spacing:-.02em; }
.race-measure { display:block; font-size:13px; color:var(--grey); line-height:1.5; margin-top:13px; }
.race-beyond { margin-top:65px; }
.race-beyond h3 { font-size:clamp(38px,4.5vw,68px); margin-top:20px; }
.race-local-note { border-left:2px solid var(--purple); padding-left:15px; font-size:14px; line-height:1.6; }
.race-overseas { display:grid; grid-template-columns:1fr 1fr; gap:7%; width:84%; }
.race-overseas>.photo:nth-child(2) { margin-top:65px; }
.race-tokyo { width:72%; margin:45px 0 0 auto; }
.race-details { display:grid; grid-template-columns:1fr 1.65fr; gap:8%; padding-bottom:65px; }
.race-details h2 { font-size:40px; margin-top:18px; }
.race-details dl { border-top:1px solid var(--ink); }
.race-details dl>div { display:grid; grid-template-columns:135px 1fr; gap:22px; padding:16px 0; border-bottom:1px solid var(--line); }
.race-details dt { font-size:12px; color:var(--grey); }
.race-details dd { font-size:14px; line-height:1.6; }
@media(max-width:1000px) {
 .race-title { grid-template-columns:1fr 215px; gap:25px; }
 .race-format { padding-right:55px; }.race-format p { font-size:17px; }.race-format img { width:48px; }
 .race-brief,.race-heading,.race-story-heading { gap:5%; }
 .race-pair,.race-stories { gap:25px; }
 .race-details { grid-template-columns:.7fr 1.5fr; gap:5%; }.race-details dl>div { grid-template-columns:105px 1fr; gap:15px; }
}
@media(max-width:700px) {
 .race-page { --gutter:22px; --header:102px; font-size:16px; line-height:1.65; }
 .race-page .header-bar { grid-template-columns:112px 1fr; min-height:54px; }
 .race-page .wordmark { font-size:28px; padding:9px 17px 8px; }
 .race-page .wordmark>span:first-child { font-size:9px; }
 .race-page .header-arrow,.race-page .header-location,.race-page .breadcrumb>span { display:none; }
 .race-page .breadcrumb { padding:12px 18px; display:flex; flex-direction:row; align-items:center; justify-content:flex-end; }
 .race-page .work-menu summary { font-size:12px; }
 .race-page .work-menu-panel { right:-18px; left:auto; width:min(310px,86vw); top:calc(100% + 20px); }
 .race-page .work-menu-panel a { font-size:13px; padding:12px; }
 .race-page .nav-link { font-family:var(--display); font-size:16px; padding:13px 4px 12px; min-height:44px; }
 .race-page .nav-link span { display:none; }
 .race-page .small-label,.race-page figcaption { font-size:12px; }
 .race-intro { padding-top:24px; }
 .race-title { grid-template-columns:1fr; gap:22px; margin:22px 0 18px; }
 .race-page h1 { font-size:clamp(54px,12.5vw,86px); line-height:.94; }
 .race-format { display:flex; gap:17px; align-items:center; border-top:0; border-left:3px solid var(--purple); padding:0 45px 0 13px; min-height:48px; }
 .race-format .small-label { max-width:9ch; }
 .race-format p { font-size:14px; line-height:1.4; margin:0; }.race-format img { width:40px; bottom:4px; }
 .race-role { font-size:13px; margin-bottom:25px; }
 .race-hero,.race-wide { width:100%; }
 .race-brief { grid-template-columns:1fr; gap:24px; padding:40px 0 0; }
 .race-brief h2 { font-size:42px; margin-top:15px; }
 .race-section { padding-top:50px; padding-bottom:45px; }
 .race-page .section-rail { margin-bottom:26px; gap:15px; }
 .race-page .section-rail>span:last-child { max-width:19ch; }
 .race-heading,.race-story-heading { grid-template-columns:1fr; gap:22px; margin-bottom:26px; }
 .race-heading h2 { font-size:clamp(38px,10vw,60px); line-height:1.02; }
 .race-heading p,.race-brief-copy p,.race-story-heading p { max-width:none; }
 .race-funnel { grid-template-columns:1fr; gap:28px; margin-top:35px; }
 .race-funnel h3 { font-size:34px; margin:16px 0; }
 .race-journey li { font-size:14px; padding:12px 0; }
 .race-pair { grid-template-columns:1fr; gap:27px; }
 .race-pair>.photo:nth-child(2) { margin-top:0; }
 .race-details-pair { margin-top:28px; }
 .race-kit { grid-template-columns:1fr; gap:25px; margin-top:35px; }
 .race-kit h3 { font-size:34px; margin:16px 0; }
 .race-kit p { max-width:none; }
 .race-creator-wide { width:100%; }
 .race-social { margin-top:40px; }
 .race-story-heading h3 { font-size:34px; }
 .race-reels { width:100%; gap:20px; margin-top:30px; }
 .race-reels .photo:nth-child(2) { margin-top:36px; }
 .race-reels figcaption { overflow-wrap:anywhere; }
 .race-reels .race-source { font-size:12px; }
 .race-story-intro { margin-top:40px; }
 .race-stories { grid-template-columns:1fr; gap:25px; padding:6px 8px 0; }
 .race-stories>div { width:85%; max-width:310px; padding:9px 9px 14px; }
 .race-stories>div:nth-child(2) { margin:0 0 0 auto; }
 .race-stories>div:nth-child(3) { margin-top:0; }
 .race-stories+.race-source { font-size:12px; margin-top:22px; }
 .race-impact>h2 { font-size:42px; margin-bottom:28px; }
 .race-outcomes>div { grid-template-columns:1fr; gap:15px; padding:24px 0; }
 .race-outcomes dt { font-size:28px; }.race-measure { font-size:13px; }
 .race-beyond { margin-top:43px; }.race-beyond h3 { font-size:38px; margin-top:15px; }
 .race-local-note { font-size:14px; }
 .race-overseas { width:100%; gap:23px; grid-template-columns:1fr; }
 .race-overseas>.photo:nth-child(2) { width:80%; margin:0 0 0 auto; }
 .race-tokyo { width:100%; margin-top:28px; }
 .race-details { grid-template-columns:1fr; gap:25px; padding-bottom:42px; }
 .race-details h2 { font-size:34px; margin-top:12px; }
 .race-details dl>div { grid-template-columns:1fr; gap:8px; padding:16px 0; }.race-details dd { font-size:15px; }
 .race-page .related-project>.small-label,.race-page .footer-bottom,.race-page .back-top { font-size:12px; }
 .race-page .footer-main>p { font-size:15px; }
}
@media(max-width:390px) {
 .race-page { --gutter:18px; padding:7px; }
 .race-page h1 { font-size:52px; }
 .race-format { gap:12px; }.race-format p { font-size:13px; }
}
@media(prefers-reduced-motion:reduce) { .race-page .photo-button img { transition:none; } }
