/* Kustom Noir: scoped exclusively to the Beach Races French and English Beach Races articles. */
body.single-post.soc-beach-story #masthead { position:relative!important; }
body.single-post.soc-beach-story .content-wrap,
body.single-post.soc-beach-story .site-container .site-main,
body.single-post.soc-beach-story .site-main .content-container,
body.single-post.soc-beach-story #primary { padding-top:0!important; }
body.single-post.soc-beach-story #primary { margin:0!important; }
body.single-post.soc-beach-story #primary > .content-container { max-width:1290px!important; padding:0 24px!important; }
body.single-post.soc-beach-story article.single-entry { margin:0!important; background:#000!important; box-shadow:none!important; border-radius:0!important; }
body.single-post.soc-beach-story #primary .content-wrap > .article-post-thumbnail,
body.single-post.soc-beach-story article.single-entry > .post-thumbnail,
body.single-post.soc-beach-story article.single-entry > .entry-content-wrap > .entry-header,
body.single-post.soc-beach-story .entry-content .soc-share-box,
body.single-post.soc-beach-story .entry-content .kt_simple_share_container { display:none!important; }
body.single-post.soc-beach-story article.single-entry > .entry-content-wrap { padding:0!important; background:#000!important; }
body.single-post.soc-beach-story article.single-entry .entry-content { margin:0!important; }
body.single-post.soc-beach-story .entry-related-inner { max-width:1290px!important; padding-top:56px!important; }
body.single-post.soc-beach-story .entry-content .soc-beach {
 --beach-ink:#fff; --beach-muted:#A0AEC0; --beach-accent:#F15A1A; --beach-rule:#2D3748;
 color:var(--beach-ink); background:#000; font-family:Roboto,sans-serif; font-size:18px; line-height:1.65;
}
body.single-post.soc-beach-story .entry-content .soc-beach * { box-sizing:border-box; border-radius:0; }
body.single-post.soc-beach-story .entry-content .soc-beach p { line-height:1.65; margin:0 0 24px; font-size:inherit; }
body.single-post.soc-beach-story .entry-content .soc-beach strong { color:#fff!important; font-weight:700; }
body.single-post.soc-beach-story .entry-content .soc-beach a { color:var(--beach-accent)!important; text-decoration:underline; text-underline-offset:4px; text-decoration-thickness:1px; }
body.single-post.soc-beach-story .entry-content .soc-beach a:hover { color:#fff!important; }
body.single-post.soc-beach-story .entry-content .soc-beach a:focus-visible { outline:2px solid #fff; outline-offset:5px; }
body.single-post.soc-beach-story .entry-content .soc-beach h1,
body.single-post.soc-beach-story .entry-content .soc-beach h2 { font-family:"Roboto Flex",Roboto,sans-serif!important; color:#fff!important; text-wrap:balance; letter-spacing:-.025em!important; font-weight:700!important; }
body.single-post.soc-beach-story .entry-content .soc-beach h2 { font-size:clamp(28px,3.2vw,40px)!important; line-height:1.12!important; margin:0 0 28px!important; padding:0!important; border:0!important; display:block!important; }
body.single-post.soc-beach-story .entry-content .soc-beach-hero { min-height:620px; height:min(720px,75vh); position:relative; overflow:hidden; isolation:isolate; margin:0; }
body.single-post.soc-beach-story .entry-content .soc-beach-hero-media { position:absolute; inset:-55px 0; z-index:-2; }
body.single-post.soc-beach-story .entry-content .soc-beach-hero-media img { width:100%; height:100%; max-width:none; object-fit:cover; object-position:34% 55%; display:block; filter:saturate(.65); }
body.single-post.soc-beach-story .entry-content .soc-beach-hero::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,transparent 12%,rgba(0,0,0,.15) 40%,rgba(0,0,0,.88) 78%); }
body.single-post.soc-beach-story .entry-content .soc-beach-hero-inner { width:49%; margin-left:auto; min-height:inherit; height:100%; padding:56px 40px; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
body.single-post.soc-beach-story .entry-content .soc-beach h1 { margin:0 0 24px!important; font-size:clamp(64px,6.1vw,96px)!important; line-height:1!important; text-transform:uppercase; }
body.single-post.soc-beach-story .entry-content .soc-beach h1 span { color:var(--beach-accent); }
body.single-post.soc-beach-story .entry-content .soc-beach-subtitle { font-size:clamp(20px,2vw,26px)!important; line-height:1.35!important; max-width:24ch; margin-bottom:32px!important; }
body.single-post.soc-beach-story .entry-content .soc-beach a.soc-beach-read { display:inline-flex; align-items:center; gap:28px; min-height:48px; border-bottom:2px solid var(--beach-accent); text-decoration:none; color:#fff!important; font-size:16px; font-weight:700; }
body.single-post.soc-beach-story .entry-content .soc-beach-read span { color:var(--beach-accent); font-size:24px; }
body.single-post.soc-beach-story .entry-content .soc-beach-credit { color:var(--beach-muted); font-size:13px!important; line-height:1.6!important; padding:12px 0; margin:0!important; }
body.single-post.soc-beach-story .entry-content .soc-beach-nav { display:flex; gap:12px 32px; flex-wrap:wrap; padding:20px 0; border-top:1px solid var(--beach-rule); border-bottom:1px solid var(--beach-rule); }
body.single-post.soc-beach-story .entry-content .soc-beach-nav a { font-size:14px; font-weight:700; text-decoration:none; min-height:32px; display:inline-flex; align-items:center; color:#fff!important; }
body.single-post.soc-beach-story .entry-content .soc-beach-nav a:hover { color:var(--beach-accent)!important; }
body.single-post.soc-beach-story .entry-content .soc-beach-intro { max-width:920px; margin:72px auto 88px; padding-left:0; font-size:clamp(22px,2.2vw,28px); line-height:1.5; }
body.single-post.soc-beach-story .entry-content .soc-beach-intro p { line-height:1.5; margin:0; }
body.single-post.soc-beach-story .entry-content .soc-beach-section { max-width:1040px; margin:0 auto; padding:0 0 72px; scroll-margin-top:100px; }
body.single-post.soc-beach-story .entry-content .soc-beach-copy { max-width:68ch; margin:0 auto; }
body.single-post.soc-beach-story .entry-content .soc-beach-copy > :last-child { margin-bottom:0; }
body.single-post.soc-beach-story .entry-content .soc-beach-split { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:56px; padding-top:24px; align-items:start; }
body.single-post.soc-beach-story .entry-content .soc-beach-split .soc-beach-copy { margin:0; }
body.single-post.soc-beach-story .entry-content .soc-beach figure { margin:0; max-width:100%; }
body.single-post.soc-beach-story .entry-content .soc-beach-portrait img { width:100%; height:auto; display:block; }
body.single-post.soc-beach-story .entry-content .soc-beach figcaption { color:var(--beach-muted); font-size:13px!important; line-height:1.6; text-align:left; padding-top:12px; margin:0; }
body.single-post.soc-beach-story .entry-content .soc-beach-panorama { margin:0 0 80px!important; }
body.single-post.soc-beach-story .entry-content .soc-beach-panorama-frame { height:560px; position:relative; overflow:hidden; }
body.single-post.soc-beach-story .entry-content .soc-beach-panorama-frame img { position:absolute; inset:-55px 0; width:100%; height:calc(100% + 110px); max-width:none; object-fit:cover; object-position:50% 55%; }
body.single-post.soc-beach-story .entry-content .soc-beach-results { padding-top:8px; }
body.single-post.soc-beach-story .entry-content .soc-beach table { border-collapse:collapse; width:100%; table-layout:fixed; margin:32px 0; font-size:16px; background:transparent; }
body.single-post.soc-beach-story .entry-content .soc-beach caption { text-align:left; color:var(--beach-muted); font-size:14px; padding:0 0 16px; }
body.single-post.soc-beach-story .entry-content .soc-beach th,
body.single-post.soc-beach-story .entry-content .soc-beach td { padding:18px 0; border:0; border-bottom:1px solid var(--beach-rule); text-align:left; vertical-align:top; overflow-wrap:break-word; }
body.single-post.soc-beach-story .entry-content .soc-beach th { width:42%; padding-right:24px; font-weight:400; color:var(--beach-muted); }
body.single-post.soc-beach-story .entry-content .soc-beach td { color:#fff; font-weight:700; }
body.single-post.soc-beach-story .entry-content .soc-beach table tr:nth-child(3) td,
body.single-post.soc-beach-story .entry-content .soc-beach table tr:nth-child(4) td { font-size:26px; line-height:1.2; }
body.single-post.soc-beach-story .entry-content .soc-beach-finale { border-top:1px solid var(--beach-rule); padding-top:56px; margin-top:8px; }
body.single-post.soc-beach-story .entry-content .soc-beach-finale .soc-beach-copy > p:has(>strong:only-child) { font-size:clamp(26px,3vw,36px); line-height:1.2; margin:40px 0; }
body.single-post.soc-beach-story .entry-content .soc-beach-finale .soc-beach-copy > p:has(>strong:only-child) strong { color:var(--beach-accent)!important; }
body.single-post.soc-beach-story .entry-content .soc-beach-sharing { max-width:1040px; margin:0 auto; padding:24px 0 56px; border-top:1px solid var(--beach-rule); display:flex; flex-wrap:wrap; gap:8px 28px; align-items:center; }
body.single-post.soc-beach-story .entry-content .soc-beach-sharing p { margin:0 24px 0 0!important; font-size:14px; color:var(--beach-muted); }
body.single-post.soc-beach-story .entry-content .soc-beach-sharing a { font-size:14px; min-height:44px; display:inline-flex; align-items:center; gap:12px; }
@media(max-width:1024px) {
 body.single-post.soc-beach-story .entry-content .soc-beach-hero { height:600px; min-height:0; }
 body.single-post.soc-beach-story .entry-content .soc-beach-hero-inner { width:52%; padding:40px 24px; }
 body.single-post.soc-beach-story .entry-content .soc-beach h1 { font-size:64px!important; }
 body.single-post.soc-beach-story .entry-content .soc-beach-split { gap:32px; }
 body.single-post.soc-beach-story .entry-content .soc-beach-panorama-frame { height:440px; }
}
@media(max-width:767px) {
 body.single-post.soc-beach-story #primary > .content-container { padding:0 20px!important; }
 body.single-post.soc-beach-story .entry-content .soc-beach { font-size:17px; }
 body.single-post.soc-beach-story .entry-content .soc-beach-hero { height:auto; min-height:620px; margin:0 -20px; display:flex; align-items:flex-end; }
 body.single-post.soc-beach-story .entry-content .soc-beach-hero-media { inset:0; }
 body.single-post.soc-beach-story .entry-content .soc-beach-hero-media img { object-position:27% 45%; }
 body.single-post.soc-beach-story .entry-content .soc-beach-hero::after { background:linear-gradient(180deg,rgba(0,0,0,.05) 20%,rgba(0,0,0,.55) 47%,#000 100%); }
 body.single-post.soc-beach-story .entry-content .soc-beach-hero-inner { width:100%; height:auto; min-height:0; padding:240px 24px 32px; }
 body.single-post.soc-beach-story .entry-content .soc-beach h1 { font-size:clamp(52px,15vw,76px)!important; margin-bottom:16px!important; }
 body.single-post.soc-beach-story .entry-content .soc-beach-subtitle { font-size:22px!important; margin-bottom:20px!important; }
 body.single-post.soc-beach-story .entry-content .soc-beach-credit { padding-top:16px; }
 body.single-post.soc-beach-story .entry-content .soc-beach-nav { gap:8px 24px; }
 body.single-post.soc-beach-story .entry-content .soc-beach-nav a { font-size:13px; min-height:40px; }
 body.single-post.soc-beach-story .entry-content .soc-beach-intro { margin:48px 0 56px; padding-left:0; font-size:22px; }
 body.single-post.soc-beach-story .entry-content .soc-beach-section { padding-bottom:56px; scroll-margin-top:88px; }
 body.single-post.soc-beach-story .entry-content .soc-beach h2 { font-size:28px!important; margin-bottom:24px!important; }
 body.single-post.soc-beach-story .entry-content .soc-beach-split { display:block; padding-top:0; }
 body.single-post.soc-beach-story .entry-content .soc-beach-portrait { margin-top:32px!important; }
 body.single-post.soc-beach-story .entry-content .soc-beach-portrait img { max-height:580px; object-fit:contain; background:#000; }
 body.single-post.soc-beach-story .entry-content .soc-beach-panorama { margin-bottom:56px!important; }
 body.single-post.soc-beach-story .entry-content .soc-beach-panorama-frame { height:auto; aspect-ratio:4/3; }
 body.single-post.soc-beach-story .entry-content .soc-beach-panorama-frame img { inset:0; height:100%; }
 body.single-post.soc-beach-story .entry-content .soc-beach th { width:43%; padding-right:16px; }
 body.single-post.soc-beach-story .entry-content .soc-beach th, body.single-post.soc-beach-story .entry-content .soc-beach td { font-size:14px; padding-top:16px; padding-bottom:16px; }
 body.single-post.soc-beach-story .entry-content .soc-beach-finale { padding-top:40px; }
 body.single-post.soc-beach-story .entry-content .soc-beach-sharing { padding-bottom:32px; gap:8px 24px; }
 body.single-post.soc-beach-story .entry-content .soc-beach-sharing p { width:100%; }
}
@media(prefers-reduced-motion:reduce) {
 body.single-post.soc-beach-story .soc-beach [data-beach-parallax],
 body.single-post.soc-beach-story .soc-beach [data-beach-parallax] img { transform:none!important; }
}

/* Chris McGregor: the Hold Fast pieces he wears. */
body.single-post.soc-beach-story .entry-content .soc-beach-gear { border-top:1px solid #2D3748; padding-top:56px; }
body.single-post.soc-beach-story .entry-content .soc-beach .soc-beach-gear-note { color:#A0AEC0!important; font-size:14px!important; line-height:1.5!important; margin-bottom:32px!important; }
body.single-post.soc-beach-story .entry-content .soc-beach .soc-beach-gear-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:32px 24px; list-style:none!important; margin:0!important; padding:0!important; }
body.single-post.soc-beach-story .entry-content .soc-beach-gear-grid > li { min-width:0; margin:0; padding:0; }
body.single-post.soc-beach-story .entry-content .soc-beach a.soc-beach-gear-product { display:flex; flex-direction:column; height:100%; color:#FFF!important; text-decoration:none!important; }
body.single-post.soc-beach-story .entry-content .soc-beach-gear-photo { display:block; aspect-ratio:4/5; background:#FFF; overflow:hidden; }
body.single-post.soc-beach-story .entry-content .soc-beach .soc-beach-gear-image { display:block; width:100%; height:100%; margin:0; object-fit:contain; }
body.single-post.soc-beach-story .entry-content .soc-beach-gear-product .soc-beach-gear-title { font-family:'RobotoFlex',sans-serif!important; font-size:18px!important; font-weight:700!important; line-height:1.3!important; letter-spacing:-.01em; display:block; color:#FFF!important; margin:16px 0 8px!important; }
body.single-post.soc-beach-story .entry-content .soc-beach-gear-action { display:flex; align-items:center; gap:8px; margin-top:auto; min-height:48px; font-size:15px; line-height:1.4; color:#F15A1A; }
body.single-post.soc-beach-story .entry-content .soc-beach-gear-action svg { flex:0 0 16px; }
body.single-post.soc-beach-story .entry-content .soc-beach-gear-product:hover .soc-beach-gear-action { color:#FFF; text-decoration:underline; text-underline-offset:4px; }
body.single-post.soc-beach-story .entry-content .soc-beach-gear-product:focus-visible { outline:2px solid #FFF; outline-offset:6px; }
@media(max-width:767px) {
 body.single-post.soc-beach-story .entry-content .soc-beach-gear { padding-top:40px; }
 body.single-post.soc-beach-story .entry-content .soc-beach .soc-beach-gear-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 body.single-post.soc-beach-story .entry-content .soc-beach-gear-product .soc-beach-gear-title { font-size:16px!important; }
}
@media(max-width:360px) {
 body.single-post.soc-beach-story .entry-content .soc-beach .soc-beach-gear-grid { grid-template-columns:minmax(0,1fr); }
}
