/* TennisFinalsPro night hero. Scoped exclusively to #hero.tfp-night-hero. */
#hero.tfp-night-hero { position:relative; isolation:isolate; width:100%; margin:0; padding:56px 0 42px; overflow:hidden; color:#fff; font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif; background:#050b14; }
#hero.tfp-night-hero::before { content:""; position:absolute; inset:0; z-index:-2; pointer-events:none; background:linear-gradient(90deg,#050b14a6 0%,#050b1460 55%,#050b1440),url('/frontend/img/hero-premium/night-court.webp') center 58%/cover no-repeat; }
#hero.tfp-night-hero::after { content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; background:linear-gradient(0deg,#050b14 0%,transparent 28%),radial-gradient(ellipse at 73% 44%,#0861ad25,transparent 43%); }
#hero.tfp-night-hero * { box-sizing:border-box; }
#hero.tfp-night-hero :is(a,button):focus-visible,#hero.tfp-night-hero #heroAppBadge:focus-visible { outline:3px solid #b2e6ff; outline-offset:5px; }
#hero.tfp-night-hero [hidden] { display:none!important; }
#hero .nhr-inner { width:min(1480px,calc(100% - 64px)); margin:0 auto; display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); align-items:center; gap:20px 42px; }
#hero .nhr-content { min-width:0; }
#hero .nhr-eyebrow { display:flex; align-items:center; gap:15px; margin:0 0 24px; }
#hero .nhr-app { flex-shrink:0; display:flex; flex-direction:column; align-items:flex-start; gap:3px; padding:8px 11px; border:1px solid #3aa5ed80; border-radius:9px; background:#07172b99; font-size:11px; color:#72b6ff; }
#hero #heroAppBadgeLabel { font-size:11px; letter-spacing:1px; font-weight:650; }
#hero #heroAppBadgeStatus { color:#a6bdd4; font-size:9px; font-weight:450; }
#hero #installAppBtn { min-height:36px; background:#1463e3; color:#fff; border:0; padding:6px 8px; cursor:pointer; }
#hero #heroAppBadge.is-install-ready { cursor:pointer; }
#hero .nhr-online { display:flex; align-items:center; gap:9px; max-width:260px; color:#bccddd; font-size:11px; line-height:1.5; }
#hero .nhr-online i { width:7px; height:7px; flex-shrink:0; border-radius:50%; background:#66ed98; box-shadow:0 0 12px #45e98966; }
#hero .nhr-brand-kicker { margin:0 0 10px; color:#8fb8dc; font-size:12px; line-height:1; font-weight:800; letter-spacing:2.1px; text-transform:uppercase; }
#hero #nhr-title { margin:0; color:white; font-size:clamp(42px,4.2vw,68px); line-height:1.04; letter-spacing:-2.8px; font-weight:800; }
#hero .nhr-line { display:block; }
#hero .nhr-line--last { font-size:.72em; margin-top:8px; letter-spacing:-1.5px; }
#hero .nhr-accent,#hero #nhr-title>span:not(.nhr-line) { color:#85e7b1; background:linear-gradient(100deg,#29cfeb,#86e5be 55%,#e3f578); background-clip:text; -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
#hero .nhr-intro { margin:22px 0 0; color:#d1deeb; font-size:16px; line-height:1.65; max-width:650px; text-wrap:balance; }
#hero .nhr-scope { margin:14px 0 0; max-width:700px; color:#7fa2bf; font-size:11px; line-height:1.65; font-weight:700; letter-spacing:.35px; }
#hero .nhr-actions { display:flex; flex-wrap:wrap; gap:13px; margin-top:27px; }
#hero .nhr-cta { display:inline-flex; align-items:center; justify-content:center; gap:22px; min-height:54px; min-width:145px; padding:12px 20px; border:1px solid transparent; border-radius:9px; text-decoration:none; font-size:14px; font-weight:650; transition:background .18s,box-shadow .18s; }
#hero .nhr-cta--primary { background:#0866ff; color:white; box-shadow:0 7px 30px #004bca26; }
#hero .nhr-cta--primary:hover { background:#287aff; box-shadow:0 7px 28px #0866ff44; }
#hero .nhr-cta--secondary { background:#f5f8ff; color:#10213a; }
#hero .nhr-cta--secondary:hover { background:#dfeaff; }
#hero .nhr-cta--match { background:#0c7d72; color:#fff; box-shadow:0 7px 28px #0c7d7229; }
#hero .nhr-cta--match:hover { background:#15958a; box-shadow:0 7px 28px #15958a3d; }
#hero .nhr-cta--academy { background:linear-gradient(135deg,#7356d8,#8c6ae9); color:#fff; box-shadow:0 7px 28px #7356d82e; }
#hero .nhr-cta--academy:hover { background:linear-gradient(135deg,#8263e7,#9b79f3); box-shadow:0 9px 30px #7356d845; }
#hero .nhr-network { position:relative; height:550px; min-width:0; width:100%; }
#hero .nhr-orbit { position:absolute; inset:0; width:100%; height:100%; fill:none; stroke:#288bb8; stroke-width:1; opacity:.3; pointer-events:none; }
#hero .nhr-ball { position:absolute; width:35%; aspect-ratio:1; left:50%; top:47%; transform:translate(-50%,-50%); pointer-events:none; }
#hero .nhr-ball::before { content:""; position:absolute; inset:-35%; background:radial-gradient(ellipse,#168ace38,transparent 65%); z-index:-1; }
#hero .nhr-ball::after { content:""; position:absolute; width:90%; height:13%; bottom:-4%; left:5%; border:1px solid #26a5df4d; border-radius:50%; background:#08162970; box-shadow:0 0 25px #048cff26; }
#hero .nhr-ball img { display:block; width:100%; height:auto; filter:drop-shadow(0 8px 18px #007bc233); animation:nhr-float 7s ease-in-out infinite; }
#hero .nhr-node { --node-color:#73bdff; --node-bg-start:#0864dd; --node-bg-end:#124ab5; --node-ink:#fff; --node-muted:#e7f1ff; --node-glow:#1686ff38; position:absolute; z-index:2; display:flex; align-items:center; gap:11px; width:36%; min-height:88px; padding:15px 13px; border:1px solid var(--node-color); border-radius:14px; background:linear-gradient(135deg,var(--node-bg-start),var(--node-bg-end)); color:var(--node-ink); text-decoration:none; box-shadow:0 8px 25px #0004,0 0 20px var(--node-glow),inset 0 1px 0 #ffffff26; transition:transform .18s,filter .18s,box-shadow .18s; }
@media(hover:hover) { #hero .nhr-node:hover { filter:brightness(1.07); transform:translateY(-2px); box-shadow:0 12px 28px #0005,0 0 28px var(--node-glow); } }
#hero .nhr-node--top { top:0; left:32%; --node-color:#ffbd72; --node-bg-start:#ff9829; --node-bg-end:#ee711c; --node-ink:#251608; --node-muted:#412719; --node-glow:#ff902638; }
#hero .nhr-node--left { top:23%; left:0; }
#hero .nhr-node--right { top:23%; right:0; --node-color:#ff86bd; --node-bg-start:#d01569; --node-bg-end:#af0c60; --node-muted:#fff0f7; --node-glow:#f22a9238; }
#hero .nhr-node--bottom-left { top:60%; left:0; --node-color:#8affca; --node-bg-start:#32d99a; --node-bg-end:#11b57b; --node-ink:#061e1c; --node-muted:#083b2b; --node-glow:#33e6a538; }
#hero .nhr-node--bottom-right { top:60%; right:0; --node-color:#ffe990; --node-bg-start:#ffd84f; --node-bg-end:#f2b332; --node-ink:#2e2006; --node-muted:#4b3510; --node-glow:#ffcd3d38; }
#hero .nhr-node--academy { top:83%; left:0; width:30%; --node-color:#d3a0ff; --node-bg-start:#8c35f0; --node-bg-end:#5d1cb8; --node-muted:#f4eaff; --node-glow:#a34fff45; }
#hero .nhr-node--bottom { top:83%; left:35%; width:30%; --node-color:#91f6ff; --node-bg-start:#14dbe9; --node-bg-end:#13b4de; --node-ink:#061f35; --node-muted:#093549; --node-glow:#22d6f438; }
#hero .nhr-icon { flex-shrink:0; width:39px; height:43px; display:flex; align-items:center; justify-content:center; border:1px solid #ffffff59; border-radius:9px; color:var(--node-ink); background:#ffffff26; }
#hero .nhr-icon svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
#hero .nhr-copy { min-width:0; }
#hero .nhr-copy strong { display:block; color:var(--node-ink); font-size:15px; font-weight:750; line-height:1.25; }
#hero .nhr-copy small { display:block; color:var(--node-muted); font-size:10px; line-height:1.45; margin-top:5px; }
#hero .nhr-node em { font-style:normal; font-size:24px; font-weight:500; color:var(--node-ink); margin-left:auto; }
/* The existing Padel theme supplies dark backgrounds in its own stylesheet. */
body[data-sport-theme="padel"] #hero .nhr-node { --node-ink:#fff; --node-muted:#e7f1ff; }
#hero .nhr-hint { position:absolute; top:100%; left:0; width:100%; text-align:center; margin:13px 0 0; font-size:11px; color:#8eafcd; }
#hero .nhr-metrics { grid-column:1/-1; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); width:min(950px,100%); margin:58px auto 0; gap:16px; }
#hero .nhr-metrics>div { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:84px; padding:12px; border:1px solid #90b5d833; border-radius:10px; background:#071320c7; }
#hero .nhr-metrics strong { font-size:30px; line-height:1.2; color:#f3f7ff; font-weight:700; }
#hero .nhr-metrics span { font-size:12px; color:#a8bfd5; margin-top:4px; }
@keyframes nhr-float { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-8px); } }
@media(max-width:1200px) {
 #hero.tfp-night-hero { padding:40px 0 32px; }
 #hero .nhr-inner { width:calc(100% - 48px); gap:18px 26px; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); }
 #hero #nhr-title { font-size:clamp(38px,4.1vw,52px); letter-spacing:-1.8px; }
 #hero .nhr-network { height:490px; }
 #hero .nhr-node { min-height:80px; padding:12px 10px; gap:8px; width:37%; }
 #hero .nhr-node--top { left:31.5%; }
 #hero .nhr-node--academy { left:0; width:31%; }
 #hero .nhr-node--bottom { left:34.5%; width:31%; }
 #hero .nhr-icon { width:30px; height:36px; }
 #hero .nhr-icon svg { width:21px; height:21px; }
 #hero .nhr-copy strong { font-size:13px; }
 #hero .nhr-copy small { font-size:9px; }
 #hero .nhr-node em { display:none; }
 #hero .nhr-cta { min-width:0; padding:12px 18px; font-size:13px; gap:12px; }
 #hero .nhr-intro { font-size:14px; }
}
@media(max-width:900px) {
 #hero .nhr-inner { grid-template-columns:1fr; width:min(700px,calc(100% - 40px)); gap:28px; }
 #hero .nhr-content { text-align:center; }
 #hero .nhr-eyebrow,#hero .nhr-actions { justify-content:center; }
 #hero #nhr-title { font-size:52px; }
 #hero .nhr-intro { margin:18px auto 0; }
 #hero .nhr-scope { margin-left:auto; margin-right:auto; }
 #hero .nhr-network { height:500px; }
 #hero .nhr-node { width:35%; min-height:83px; padding:14px; }
 #hero .nhr-node--top { left:32.5%; }
 #hero .nhr-node--academy { left:0; width:31%; }
 #hero .nhr-node--bottom { left:34.5%; width:31%; }
 #hero .nhr-node em { display:block; }
 #hero .nhr-copy strong { font-size:14px; }
 #hero .nhr-copy small { font-size:10px; }
 #hero .nhr-metrics { margin-top:24px; gap:10px; }
}
@media(max-width:600px) {
 #hero.tfp-night-hero { padding:28px 0; }
 #hero.tfp-night-hero::before { background-position:65% top; opacity:.72; }
 #hero .nhr-inner { width:calc(100% - 28px); gap:23px; }
 #hero .nhr-eyebrow { gap:10px; margin-bottom:18px; }
 #hero .nhr-app { padding:6px 8px; }
 #hero .nhr-online { font-size:9px; text-align:left; max-width:200px; }
 #hero #nhr-title { font-size:clamp(34px,9.5vw,49px); letter-spacing:-1.4px; }
 #hero .nhr-line--last { letter-spacing:-.6px; font-size:.69em; }
 #hero .nhr-brand-kicker { margin-bottom:8px; font-size:10px; letter-spacing:1.6px; }
 #hero .nhr-intro { font-size:12px; margin-top:15px; line-height:1.6; }
 #hero .nhr-scope { margin:11px auto 0; max-width:340px; font-size:9px; line-height:1.55; letter-spacing:.2px; }
 #hero .nhr-actions { gap:10px; margin-top:19px; flex-wrap:wrap; }
 #hero .nhr-cta { flex:1 1 calc(50% - 5px); min-height:48px; font-size:12px; padding:11px 8px; gap:8px; }
 #hero .nhr-cta--match,#hero .nhr-cta--academy { flex-basis:calc(50% - 5px); }
 #hero .nhr-network { height:auto; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; padding-top:152px; }
 #hero .nhr-orbit { display:none; }
 #hero .nhr-ball { width:137px; height:137px; left:50%; top:0; transform:translateX(-50%); }
 #hero .nhr-node { position:relative; inset:auto; width:auto; min-height:91px; padding:12px 9px; gap:9px; }
 #hero .nhr-node--academy { width:auto; }
 #hero .nhr-node--bottom { grid-column:1/-1; width:auto; min-height:78px; }
 #hero .nhr-copy strong { font-size:13px; }
 #hero .nhr-copy small { font-size:10px; }
 #hero .nhr-node em { display:none; }
 #hero .nhr-icon { width:30px; height:36px; border-radius:7px; }
 #hero .nhr-hint { position:static; grid-column:1/-1; margin:5px 0 0; font-size:10px; }
 #hero .nhr-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:0; gap:10px; }
 #hero .nhr-metrics>div { min-height:68px; padding:9px; }
 #hero .nhr-metrics strong { font-size:25px; }
 #hero .nhr-metrics span { font-size:11px; }
}
/* Seven equal cards, mirrored around the ball. The phone layout stays intact. */
@media(min-width:601px) {
 #hero .nhr-network { height:auto; display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); grid-template-rows:repeat(5,minmax(88px,auto)); gap:20px 16px; align-items:stretch; }
 #hero .nhr-node { position:relative; inset:auto; width:auto; min-height:88px; height:100%; }
 #hero .nhr-copy small { font-size:11px; line-height:1.4; }
 #hero .nhr-node--top { grid-column:3 / span 2; grid-row:1; }
 #hero .nhr-node--left { grid-column:1 / span 2; grid-row:2; }
 #hero .nhr-node--right { grid-column:5 / span 2; grid-row:2; }
 #hero .nhr-node--bottom-left { grid-column:1 / span 2; grid-row:4; }
 #hero .nhr-node--bottom-right { grid-column:5 / span 2; grid-row:4; }
 #hero .nhr-node--academy { grid-column:2 / span 2; grid-row:5; }
 #hero .nhr-node--bottom { grid-column:4 / span 2; grid-row:5; }
 #hero .nhr-hint { position:static; grid-column:1 / -1; grid-row:6; margin:0; }
 #hero .nhr-orbit { height:calc(100% - 36px); }
}
@media(prefers-reduced-motion:reduce) { #hero .nhr-ball img { animation:none; } #hero :is(.nhr-node,.nhr-cta) { transition:none; } #hero .nhr-node:hover { transform:none; } }

/* Navigation V6: one place for creation; the original ball, court and module
   layout are unchanged. No installed-app badge or chat promotion in the hero. */
#hero .nhr-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); max-width:550px; gap:12px; margin-top:28px; }
#hero .nhr-cta { min-width:0; width:100%; min-height:54px; justify-content:space-between; border-radius:14px; padding:14px 18px; line-height:1.35; text-align:left; overflow-wrap:anywhere; }
#hero .nhr-cta span { flex-shrink:0; font-size:21px; }
#hero .nhr-cta--primary { background:#7435df; box-shadow:0 8px 24px #7435df25; }
#hero .nhr-cta--primary:hover { background:#8748ed; }
#hero .nhr-cta--secondary { background:#f6f3ff; color:#1b293f; }
#hero .nhr-cta--secondary:hover { background:#e9defa; }
#hero .nhr-cta--match { background:#0b7979; }
#hero .nhr-cta--match:hover { background:#108b8b; }
#hero .nhr-cta--academy { background:#26213d; border-color:#9b79e36b; box-shadow:none; }
#hero .nhr-cta--academy:hover { background:#35294f; }
#hero .nhr-cta--club { grid-column:1/-1; min-height:48px; border:1px solid #8097b452; background:#ffffff08; color:#e0e9f3; box-shadow:none; }
#hero .nhr-cta--club:hover { background:#ffffff12; border-color:#b7a0df; }
@media(max-width:900px) { #hero .nhr-actions { margin-left:auto; margin-right:auto; } }
@media(max-width:600px) {
    #hero .nhr-actions { gap:10px; margin-top:22px; }
    #hero .nhr-cta { padding:12px; min-height:50px; font-size:12px; gap:7px; }
    #hero .nhr-cta--club { min-height:44px; }
}

/* Approved Riko artwork, unchanged. Scoped to the tennis homepage hero.
   Its image box reserves space before load, so the headline does not jump. */
#hero.tfp-hero-with-riko { padding-top:26px; }
#hero.tfp-hero-with-riko .nhr-welcome {
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:16px;
    min-width:0;
    margin:0 0 2px;
}
#hero.tfp-hero-with-riko .nhr-welcome .nhr-brand-kicker {
    flex:0 1 auto;
    min-width:0;
    margin:0;
    line-height:1.5;
    overflow-wrap:anywhere;
}
#hero.tfp-hero-with-riko .tfp-riko {
    position:relative;
    flex:0 0 auto;
    width:clamp(166px,14vw,206px);
    aspect-ratio:1354 / 1161;
    pointer-events:none;
    user-select:none;
    -webkit-user-select:none;
    isolation:isolate;
}
#hero.tfp-hero-with-riko .tfp-riko-art {
    display:block;
    width:100%;
    height:auto;
    max-width:100%;
    margin:0;
    border:0;
    background:none;
    object-fit:contain;
    transform-origin:55% 94%;
    transform:translateY(0) rotate(0) scale(1);
}
#hero.tfp-hero-with-riko [data-riko-state="hello"] .tfp-riko-art {
    animation:tfp-riko-hello 1.8s cubic-bezier(.4,0,.2,1) both;
}
#hero.tfp-hero-with-riko [data-riko-state="idle"] .tfp-riko-art {
    animation:tfp-riko-breathe 6.4s ease-in-out infinite;
}
#hero.tfp-hero-with-riko .nhr-welcome.is-riko-unavailable { margin-bottom:10px; }
@keyframes tfp-riko-hello {
    0%,100% { transform:translateY(0) rotate(0) scale(1); }
    22% { transform:translateY(-2px) rotate(-1.6deg) scale(1.008); }
    44% { transform:translateY(-1px) rotate(1.2deg) scale(1.008); }
    66% { transform:translateY(-1px) rotate(-.8deg) scale(1.005); }
    82% { transform:translateY(0) rotate(.4deg) scale(1.003); }
}
@keyframes tfp-riko-breathe {
    0%,100% { transform:translateY(0) scale(1); }
    50% { transform:translateY(-.8px) scale(1.008); }
}
@media(max-width:900px) {
    #hero.tfp-hero-with-riko .nhr-welcome { justify-content:center; text-align:left; }
}
@media(max-width:600px) {
    #hero.tfp-hero-with-riko { padding-top:10px; }
    #hero.tfp-hero-with-riko .nhr-welcome { gap:12px; margin-bottom:1px; }
    #hero.tfp-hero-with-riko .tfp-riko { width:clamp(126px,34vw,146px); }
    #hero.tfp-hero-with-riko .nhr-welcome .nhr-brand-kicker {
        font-size:10px;
        letter-spacing:1.2px;
    }
}
@media(prefers-reduced-motion:reduce) {
    #hero.tfp-hero-with-riko .tfp-riko-art { animation:none!important; transform:none!important; }
}

/* Tennis homepage: each module matches its own creation action. */
#hero.tfp-hero-with-riko .nhr-cta--primary {
    background:#f07b66;
    color:#301c18;
    box-shadow:0 8px 24px #f07b6625;
}
#hero.tfp-hero-with-riko .nhr-cta--primary:hover { background:#f58a77; }
#hero.tfp-hero-with-riko .nhr-node--left {
    --node-color:#ffb7a6;
    --node-bg-start:#f07b66;
    --node-bg-end:#f07b66;
    --node-ink:#301c18;
    --node-muted:#482a22;
    --node-glow:#f07b6625;
}
#hero.tfp-hero-with-riko .nhr-node--left .nhr-icon {
    border-color:#482a2240;
    background:#ffffff21;
}
#hero.tfp-hero-with-riko .nhr-cta--academy {
    background:#7435df;
    border-color:#aa7aec;
    color:#fff;
    box-shadow:0 8px 24px #7435df25;
}
#hero.tfp-hero-with-riko .nhr-cta--academy:hover { background:#8748ed; }
#hero.tfp-hero-with-riko .nhr-node--academy {
    --node-color:#aa7aec;
    --node-bg-start:#7435df;
    --node-bg-end:#7435df;
    --node-ink:#fff;
    --node-muted:#fcfaff;
    --node-glow:#7435df25;
}
#hero.tfp-hero-with-riko .nhr-node--top {
    --node-color:#d9cfeb;
    --node-bg-start:#f6f3ff;
    --node-bg-end:#f6f3ff;
    --node-ink:#1b293f;
    --node-muted:#526078;
    --node-glow:#bfa6ef18;
}
#hero.tfp-hero-with-riko .nhr-node--top .nhr-icon {
    color:#6830c1;
    border-color:#7435df29;
    background:#7435df0d;
}
@media(hover:hover) {
    #hero.tfp-hero-with-riko .nhr-node--left:hover { background:#f58a77; filter:none; }
    #hero.tfp-hero-with-riko .nhr-node--academy:hover { background:#8748ed; filter:none; }
    #hero.tfp-hero-with-riko .nhr-node--top:hover { background:#e9defa; filter:none; }
}

/* Player marketplace: lime like a tennis ball, next to match analysis. */
#hero.tfp-hero-with-riko .nhr-node--market {
    --node-color:#d9f99d;
    --node-bg-start:#d9f99d;
    --node-bg-end:#a3e635;
    --node-ink:#17351d;
    --node-muted:#2b501f;
    --node-glow:#a3e63530;
}
#hero.tfp-hero-with-riko .nhr-node--market .nhr-icon {
    border-color:#2b501f38;
    background:#ffffff38;
}
@media(min-width:601px) {
    #hero.tfp-hero-with-riko .nhr-node--academy { grid-column:1 / span 2; }
    #hero.tfp-hero-with-riko .nhr-node--bottom { grid-column:3 / span 2; }
    #hero.tfp-hero-with-riko .nhr-node--market { grid-column:5 / span 2;grid-row:5; }
}
@media(max-width:600px) {
    #hero.tfp-hero-with-riko .nhr-node--bottom { grid-column:auto;min-height:91px; }
}

/* Camps share the club action row. */
#hero.tfp-hero-with-riko .nhr-cta--club { grid-column: auto; }
#hero.tfp-hero-with-riko .nhr-cta--camp {
    border: 1px solid #ffd2b2;
    background: #ffb784;
    color: #29190e;
    box-shadow: 0 8px 20px #ff9d6225;
}
#hero.tfp-hero-with-riko .nhr-cta--camp .nhr-cta__camp-label {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-width: 0;
    color: inherit;
    font: inherit;
    line-height: 1.25;
}
#hero.tfp-hero-with-riko .nhr-cta__camp-label svg { width: 18px; height: 18px; flex: 0 0 18px; }
#hero.tfp-hero-with-riko .nhr-node--camps {
    --node-color: #ffd1ac;
    --node-bg-start: #ffc59a;
    --node-bg-end: #ffa868;
    --node-ink: #2e1c11;
    --node-muted: #532f1c;
    --node-glow: #ffa46e40;
}
@media (max-width: 600px) {
    #hero.tfp-hero-with-riko .nhr-cta__camp-label svg { display: none; }
}

/* Tennis homepage navigation. Five destinations lead, tools stay in a compact row. */
#hero.tfp-hero-with-riko :is(.nhr-quick, .nhr-market-all, .nhr-tour-mobile) { display: none; }
#hero.tfp-hero-with-riko .nhr-market-cluster { display: contents; }
#hero.tfp-hero-with-riko .nhr-product { min-width: 0; position: relative; z-index: 3; }
#hero.tfp-hero-with-riko .nhr-product__link {
    display: flex; align-items: center; gap: 8px; min-width: 0; min-height: 72px;
    padding: 7px; border: 1px solid #eddcc0; border-radius: 12px;
    background: #fff7e8; color: #1c2928; text-decoration: none; box-shadow: 0 8px 20px #0004;
}
#hero.tfp-hero-with-riko .nhr-product__link:hover { background: #fffdf7; border-color: #bed88c; }
#hero.tfp-hero-with-riko .nhr-product__photo {
    display: grid; place-items: center; width: 48px; height: 48px; flex: 0 0 48px;
    border-radius: 8px; overflow: hidden; background: #e5f1ce; color: #27502d;
}
#hero.tfp-hero-with-riko .nhr-product__photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
#hero.tfp-hero-with-riko .nhr-product__photo svg { width: 22px; height: 22px; }
#hero.tfp-hero-with-riko .nhr-product__copy { display: grid; min-width: 0; gap: 2px; flex: 1; }
#hero.tfp-hero-with-riko .nhr-product__copy > small { color: #305c25; font-size: 10px; font-weight: 750; line-height: 1.25; }
#hero.tfp-hero-with-riko .nhr-product__copy > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; line-height: 1.3; }
#hero.tfp-hero-with-riko .nhr-product__copy > strong { font-size: 15px; line-height: 1.2; }
#hero.tfp-hero-with-riko .nhr-product__arrow { font-size: 21px; line-height: 1; }
#hero.tfp-hero-with-riko .nhr-product__controls {
    display: flex; align-items: center; justify-content: center; gap: 5px; color: #fff; font-size: 11px;
}
#hero.tfp-hero-with-riko .nhr-product__controls button {
    display: grid; place-items: center; width: 36px; height: 36px; padding: 0; border: 0;
    border-radius: 7px; background: transparent; color: inherit; font: inherit; font-size: 22px; cursor: pointer;
}
#hero.tfp-hero-with-riko .nhr-product__dots { display: none; }
#hero.tfp-hero-with-riko .nhr-product__controls button:hover { background: #ffffff20; }
#hero.tfp-hero-with-riko .nhr-organizer {
    position: fixed; inset: auto 0 0; margin: 0 auto; width: min(100%, 600px); max-width: 100%; max-height: 82dvh;
    padding: 14px 14px calc(14px + env(safe-area-inset-bottom)); border: 1px solid #566b85; border-radius: 17px 17px 0 0;
    background: #102438; color: #fff; overflow: auto;
}
#hero.tfp-hero-with-riko .nhr-organizer::backdrop { background: #030916b8; }
#hero.tfp-hero-with-riko .nhr-organizer__heading {
    display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 9px;
}
#hero.tfp-hero-with-riko .nhr-organizer__heading h2 { margin: 0; color: #fff; font-size: 20px; }
#hero.tfp-hero-with-riko .nhr-organizer__heading form { margin: 0; }
#hero.tfp-hero-with-riko .nhr-organizer__heading button {
    display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid #56708f;
    border-radius: 9px; background: #1b334d; color: #fff; font-size: 23px; cursor: pointer;
}
#hero.tfp-hero-with-riko .nhr-organizer .nhr-actions { max-width: none; width: 100%; margin: 0; gap: 8px; }

@media (min-width: 761px) {
    #hero.tfp-hero-with-riko .nhr-network {
        height: auto;
        grid-template-columns: repeat(12, minmax(0, 1fr));
        grid-template-rows: minmax(74px,auto) minmax(78px,auto) minmax(52px,auto) minmax(80px,auto) auto auto;
        gap: 13px 9px;
    }
    #hero.tfp-hero-with-riko .nhr-ball { top: 48%; width: 34%; }
    #hero.tfp-hero-with-riko .nhr-node { position: relative; inset: auto; width: auto; min-height: 75px; height: auto; }
    #hero.tfp-hero-with-riko .nhr-node--top { grid-area: 1 / 5 / 2 / 9; }
    #hero.tfp-hero-with-riko .nhr-node--left { grid-area: 2 / 1 / 3 / 5; }
    #hero.tfp-hero-with-riko .nhr-node--academy { grid-area: 2 / 9 / 3 / 13; }
    #hero.tfp-hero-with-riko .nhr-node--bottom-right { grid-area: 4 / 1 / 5 / 5; }
    #hero.tfp-hero-with-riko .nhr-node--market { grid-area: 4 / 9 / 5 / 13; }
    #hero.tfp-hero-with-riko .nhr-product { grid-area: 3 / 5 / 5 / 9; align-self: end; }
    #hero.tfp-hero-with-riko .nhr-node--camps { grid-area: 5 / 1 / 6 / 4; }
    #hero.tfp-hero-with-riko .nhr-node--bottom-left { grid-area: 5 / 4 / 6 / 7; }
    #hero.tfp-hero-with-riko .nhr-node--bottom { grid-area: 5 / 7 / 6 / 10; }
    #hero.tfp-hero-with-riko .nhr-node--right { grid-area: 5 / 10 / 6 / 13; }
    #hero.tfp-hero-with-riko .nhr-hint { grid-row: 6; }
    #hero.tfp-hero-with-riko :is(.nhr-node--camps,.nhr-node--bottom-left,.nhr-node--bottom,.nhr-node--right) {
        min-height: 46px; padding: 6px 8px; gap: 6px; border-radius: 9px;
    }
    #hero.tfp-hero-with-riko :is(.nhr-node--camps,.nhr-node--bottom-left,.nhr-node--bottom,.nhr-node--right) :is(small,em) { display: none; }
    #hero.tfp-hero-with-riko :is(.nhr-node--camps,.nhr-node--bottom-left,.nhr-node--bottom,.nhr-node--right) .nhr-icon { width: 25px; height: 28px; border-radius: 6px; }
    #hero.tfp-hero-with-riko :is(.nhr-node--camps,.nhr-node--bottom-left,.nhr-node--bottom,.nhr-node--right) .nhr-icon svg { width: 17px; height: 17px; }
    #hero.tfp-hero-with-riko :is(.nhr-node--camps,.nhr-node--bottom-left,.nhr-node--bottom,.nhr-node--right) strong { font-size: 12px; }
}
@media (min-width: 901px) and (max-width: 1199px) {
    #hero.tfp-hero-with-riko .nhr-node { gap: 7px; padding-inline: 8px; }
    #hero.tfp-hero-with-riko .nhr-node .nhr-icon { width: 29px; height: 33px; }
    #hero.tfp-hero-with-riko .nhr-node .nhr-icon svg { width: 19px; height: 19px; }
    #hero.tfp-hero-with-riko .nhr-node strong { font-size: 13px; }
    #hero.tfp-hero-with-riko .nhr-node em { display: none; }
    #hero.tfp-hero-with-riko .nhr-product__photo { width: 38px; height: 38px; flex-basis: 38px; }
}

@media (max-width: 760px) {
    #hero.tfp-hero-with-riko { padding: 12px 0 18px; }
    #hero.tfp-hero-with-riko .nhr-inner { width: min(100% - 24px, 580px); grid-template-columns: minmax(0, 1fr); gap: 10px; }
    #hero.tfp-hero-with-riko .nhr-content { display: contents; }
    #hero.tfp-hero-with-riko :is(.nhr-welcome,.nhr-orbit,.nhr-ball,.nhr-hint,.vfx-hero-discover) { display: none; }
    #hero.tfp-hero-with-riko #nhr-title {
        position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap;
    }
    #hero.tfp-hero-with-riko :is([data-home-tour-origin],.nhr-tour-mobile):empty { display: none; }
    #hero.tfp-hero-with-riko .nhr-content > .nhr-actions { width: 100%; max-width: none; margin: 0; }
    #hero.tfp-hero-with-riko[data-home-compact] .nhr-quick {
        display: flex; justify-content: space-between; align-items: center; gap: 7px; min-width: 0;
        padding: 4px 6px 4px 9px; border: 1px solid #365571; border-radius: 11px; background: #0e2539e8;
    }
    #hero.tfp-hero-with-riko .nhr-quick > strong { display: flex; align-items: center; gap: 7px; min-width: 0; font-size: 15px; line-height: 1.2; }
    #hero.tfp-hero-with-riko .nhr-quick img { width: 22px; height: 22px; flex: 0 0 22px; }
    #hero.tfp-hero-with-riko .nhr-quick button {
        display: flex; align-items: center; gap: 5px; min-height: 44px; padding: 5px 10px; border: 1px solid #a780f5;
        border-radius: 8px; background: #6127c6; color: #fff; font: inherit; font-weight: 750; font-size: 13px; cursor: pointer;
    }
    #hero.tfp-hero-with-riko .nhr-quick button > span { font-size: 18px; line-height: 1; }
    #hero.tfp-hero-with-riko .nhr-network {
        height: auto; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: none;
        padding: 0; gap: 8px;
    }
    #hero.tfp-hero-with-riko .nhr-node {
        position: relative; inset: auto; width: auto; min-width: 0; height: auto; min-height: 56px;
        gap: 7px; padding: 7px 8px; border-radius: 10px; grid-area: auto;
    }
    #hero.tfp-hero-with-riko .nhr-node .nhr-icon { width: 29px; height: 33px; border-radius: 7px; }
    #hero.tfp-hero-with-riko .nhr-node .nhr-icon svg { width: 19px; height: 19px; }
    #hero.tfp-hero-with-riko .nhr-node .nhr-copy strong { font-size: 14px; line-height: 1.2; overflow-wrap: normal; }
    #hero.tfp-hero-with-riko .nhr-node .nhr-copy small { display: none; }
    #hero.tfp-hero-with-riko .nhr-node em { display: block; font-size: 17px; line-height: 1; }
    #hero.tfp-hero-with-riko .nhr-market-cluster {
        display: flex; grid-column: 1 / -1; min-width: 0;
        border: 1px solid #355471; border-radius: 11px; background: #0c2034e8;
    }
    #hero.tfp-hero-with-riko .nhr-market-cluster .nhr-node--market {
        flex: 0 0 auto; min-height: 50px; gap: 5px; padding-inline: 8px;
        --node-ink: #fff; border: 0; background: transparent; box-shadow: none; color: #fff;
    }
    #hero.tfp-hero-with-riko .nhr-node--market .nhr-copy { display: none; }
    #hero.tfp-hero-with-riko .nhr-node--market .nhr-icon {
        width: 22px; height: 24px; color: #d4f47a; background: transparent; border: 0;
    }
    #hero.tfp-hero-with-riko .nhr-node--market .nhr-market-all { display: inline; font-size: 14px; font-weight: 750; }
    #hero.tfp-hero-with-riko .nhr-node--market em { display: block; margin: 0; }
    #hero.tfp-hero-with-riko .nhr-product {
        display: flex; flex: 1; min-width: 0; align-items: stretch; border-inline-start: 1px solid #355471;
    }
    #hero.tfp-hero-with-riko .nhr-product__link,
    #hero.tfp-hero-with-riko .nhr-product__link:hover {
        flex: 1; min-height: 50px; padding: 5px 6px; gap: 6px;
        border: 0; border-radius: 0; background: transparent; color: #fff; box-shadow: none;
    }
    #hero.tfp-hero-with-riko .nhr-product__link:hover { background: #ffffff10; }
    #hero.tfp-hero-with-riko .nhr-product__photo { width: 32px; height: 32px; flex-basis: 32px; }
    #hero.tfp-hero-with-riko .nhr-product__copy { gap: 1px; }
    #hero.tfp-hero-with-riko .nhr-product__copy > span { font-size: 12px; font-weight: 700; }
    #hero.tfp-hero-with-riko .nhr-product__copy > strong { font-size: 12px; color: #c2cfe0; }
    #hero.tfp-hero-with-riko .nhr-product__copy > small,
    #hero.tfp-hero-with-riko .nhr-product__arrow,
    #hero.tfp-hero-with-riko .nhr-product__controls > :is(button, output) { display: none; }
    #hero.tfp-hero-with-riko .nhr-product__dots { display: flex; align-items: stretch; padding-inline-end: 3px; }
    #hero.tfp-hero-with-riko .nhr-product__dots button {
        width: 24px; height: auto; min-height: 44px;
    }
    #hero.tfp-hero-with-riko .nhr-product__dots button::before {
        content: ""; width: 6px; height: 6px; border-radius: 50%; background: #78899e;
    }
    #hero.tfp-hero-with-riko .nhr-product__dots button[aria-pressed="true"]::before { background: #fff; }
    #hero.tfp-hero-with-riko .nhr-tour-mobile:not(:empty) { display: block; grid-column: 1 / -1; }
    #hero.tfp-hero-with-riko .nhr-tour .tfpt-home-entry { width: 100%; max-width: none; min-height: 46px; padding: 6px 9px; gap: 7px; margin: 0; }
    #hero.tfp-hero-with-riko .nhr-tour .tfpt-home-trophy { width: 29px; height: 31px; flex: 0 0 29px; }
    #hero.tfp-hero-with-riko .nhr-tour .tfpt-home-copy strong { font-size: 15px; }
    #hero.tfp-hero-with-riko .nhr-tour .tfpt-home-copy small { display: none; }
    #hero.tfp-hero-with-riko .nhr-tour .tfpt-home-action { padding: 0; font-size: 12px; }
    #hero.tfp-hero-with-riko :is(.nhr-node--camps,.nhr-node--bottom-left,.nhr-node--bottom,.nhr-node--right) { min-height: 44px; }
    #hero.tfp-hero-with-riko :is(.nhr-node--camps,.nhr-node--bottom-left,.nhr-node--bottom,.nhr-node--right) .nhr-copy strong { font-size: 12px; }
    #hero.tfp-hero-with-riko :is(.nhr-node--camps,.nhr-node--bottom-left,.nhr-node--bottom,.nhr-node--right) .nhr-icon { width: 24px; height: 26px; }
    #hero.tfp-hero-with-riko .nhr-metrics {
        display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0; width: 100%; margin: 0;
        border: 1px solid #355471; border-radius: 10px; background: #0c2034e8; overflow: hidden;
    }
    #hero.tfp-hero-with-riko .nhr-inner .nhr-metrics > div { padding: 5px 2px; min-height: 52px; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
    #hero.tfp-hero-with-riko .nhr-inner .nhr-metrics > div + div { border-inline-start: 1px solid #3a5570; }
    #hero.tfp-hero-with-riko .nhr-inner .nhr-metrics > div::before { display: none; }
    #hero.tfp-hero-with-riko .nhr-metrics strong { font-size: clamp(16px, 4.7vw, 22px); line-height: 1.1; }
    #hero.tfp-hero-with-riko .nhr-metrics span { font-size: clamp(9px, 2.6vw, 12px); color: #dce8f5; white-space: normal; line-height: 1.2; }
}
@media (max-width: 350px) {
    #hero.tfp-hero-with-riko .nhr-node .nhr-copy strong { font-size: 12px; }
    #hero.tfp-hero-with-riko .nhr-node em { display: none; }
    #hero.tfp-hero-with-riko .nhr-quick > strong { font-size: 13px; }
}
