/* TennisFinalsPro • VIVID HOME • Oct 2026
   Only tennis homepage. No modification to the original court/ball images.
   All effects use composited transforms/opacity and respect reduced motion. */

/* ─── HERO: existing court image remains the original background ─── */
#hero.tfp-hero-with-riko { isolation:isolate; }
#hero.tfp-hero-with-riko .nhr-inner { position:relative; z-index:2; }
#hero.tfp-hero-with-riko .vfx-hero-ambience { position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;isolation:isolate; }
#hero .vfx-hero-aura { position:absolute;top:8%;left:49%;width:clamp(300px,51vw,900px);aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,rgba(36,185,205,.19),rgba(9,99,171,.08) 51%,transparent 75%);filter:blur(28px);opacity:.65;transform:translate3d(var(--vfx-shift-x,0px),var(--vfx-shift-y,0px),0);animation:vfx-hero-breathe 12s ease-in-out infinite alternate;transition:transform .45s ease-out;will-change:opacity; }
#hero .vfx-hero-aura--two { top:36%;left:-23%;width:65%;background:radial-gradient(closest-side,rgba(11,131,114,.25),transparent 72%);filter:blur(48px);animation-duration:18s;animation-delay:-7s; }
#hero .vfx-hero-light { position:absolute;left:10%;right:7%;bottom:8%;height:1px;opacity:.55;background:linear-gradient(90deg,transparent,rgba(117,235,211,.4),rgba(118,153,241,.24),transparent);box-shadow:0 0 24px rgba(84,221,205,.35); }
#hero.tfp-hero-with-riko #nhr-title { position:relative; text-wrap:balance; }
#hero.tfp-hero-with-riko .nhr-line { transform-origin:left bottom; }
#hero.tfp-hero-with-riko.vfx-ready .nhr-line { animation:vfx-headline-rise .83s cubic-bezier(.17,.83,.23,1) both; }
#hero.tfp-hero-with-riko.vfx-ready .nhr-line:nth-child(2) { animation-delay:.13s; }
#hero.tfp-hero-with-riko .nhr-accent { background-size:180% 100%;animation:vfx-title-color 9s ease-in-out infinite alternate; }
#hero.tfp-hero-with-riko.vfx-ready .nhr-accent { animation:vfx-headline-rise .85s .13s cubic-bezier(.17,.83,.23,1) both,vfx-title-color 10s 1.1s ease-in-out infinite alternate; }
#hero.tfp-hero-with-riko .nhr-network { isolation:isolate; }
#hero.tfp-hero-with-riko .nhr-orbit { animation:vfx-orbit-glow 9s ease-in-out infinite; }
#hero.tfp-hero-with-riko .nhr-ball { z-index:1;filter:drop-shadow(0 0 28px rgba(109,246,184,.14)); }
#hero.tfp-hero-with-riko .nhr-ball::before { animation:vfx-ball-glow 5s ease-in-out infinite alternate; }
#hero.tfp-hero-with-riko .nhr-node { position:relative;isolation:isolate;overflow:hidden;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:translate .34s cubic-bezier(.16,1,.3,1),box-shadow .34s ease,border-color .34s ease,filter .34s ease;will-change:auto; }
#hero.tfp-hero-with-riko .nhr-node::before { content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(130deg,rgba(255,255,255,.25),transparent 47%);opacity:.64;transition:opacity .3s ease; }
#hero.tfp-hero-with-riko .nhr-node::after { content:"";position:absolute;top:-120%;bottom:-120%;left:-80%;width:55%;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent);transform:rotate(18deg);transition:left .7s cubic-bezier(.2,.7,.2,1); }
#hero.tfp-hero-with-riko .nhr-node .nhr-icon { transition:transform .35s cubic-bezier(.2,.8,.2,1),background .35s ease; }
#hero.tfp-hero-with-riko.vfx-ready .nhr-node { animation:vfx-node-entrance .65s cubic-bezier(.16,.8,.23,1) both;animation-delay:var(--vfx-node-delay,200ms); }
@media(hover:hover) and (pointer:fine) {
  #hero.tfp-hero-with-riko .nhr-node:hover { translate:0 -6px;transform:none;filter:brightness(1.08);box-shadow:0 20px 39px rgba(0,0,0,.29),0 0 32px var(--node-glow),inset 0 1px 0 #ffffff54; }
  #hero.tfp-hero-with-riko .nhr-node:hover::after { left:145%; }
  #hero.tfp-hero-with-riko .nhr-node:hover .nhr-icon { transform:scale(1.09) rotate(-5deg);background:#ffffff3b; }
  #hero.tfp-hero-with-riko .nhr-cta:hover { translate:0 -3px;filter:brightness(1.06);box-shadow:0 14px 25px #0004; }
  #hero.tfp-hero-with-riko .nhr-metrics>div:hover { translate:0 -3px;border-color:#7ef0d17d; }
}
#hero.tfp-hero-with-riko .nhr-cta { transition:translate .25s ease,filter .25s ease,background .25s ease,box-shadow .25s ease; }
#hero.tfp-hero-with-riko .nhr-metrics>div { position:relative;overflow:hidden;border-radius:15px;background:linear-gradient(140deg,#0b1c30db,#07111fcb);border-color:#82b4d431;box-shadow:inset 0 1px 0 #ffffff0e;transition:translate .25s ease,border-color .25s ease; }
#hero.tfp-hero-with-riko .nhr-metrics>div::before { content:"";position:absolute;inset:0 auto 0 0;width:2px;background:linear-gradient(180deg,transparent,#76e8cc,transparent);opacity:.6; }
#hero.tfp-hero-with-riko .nhr-metrics strong { font-variant-numeric:tabular-nums; }
#hero.tfp-hero-with-riko .vfx-hero-discover { grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:10px;width:max-content;max-width:100%;margin:16px auto 0;padding:10px 15px;color:#afc9d8;text-decoration:none;font-size:11px;line-height:1.4;font-weight:650;letter-spacing:.035em;border-radius:99px;transition:background .2s,color .2s; }
#hero.tfp-hero-with-riko .vfx-hero-discover:hover { color:#e3fff5;background:#ffffff0c; }
#hero .vfx-hero-discover-line { width:22px;height:1px;flex-shrink:0;background:linear-gradient(90deg,#67d9cd,#abfbba); }
#hero .vfx-hero-discover svg { width:17px;height:17px;flex-shrink:0;animation:vfx-arrow-down 2.5s ease-in-out infinite; }
@keyframes vfx-hero-breathe { from { opacity:.35;scale:.93; } to { opacity:.73;scale:1.09; } }
@keyframes vfx-ball-glow { from { opacity:.5;scale:.92; } to { opacity:1;scale:1.08; } }
@keyframes vfx-headline-rise { from { opacity:0;transform:translate3d(0,25px,0);filter:blur(4px); } to { opacity:1;transform:translateZ(0);filter:none; } }
@keyframes vfx-node-entrance { from { opacity:0;transform:translate3d(0,22px,0) scale(.965); } to { opacity:1;transform:translateZ(0) scale(1); } }
@keyframes vfx-orbit-glow { 0%,100% { opacity:.2; } 50% { opacity:.46; } }
@keyframes vfx-title-color { from { background-position:0% 0; } to { background-position:95% 0; } }
@keyframes vfx-arrow-down { 0%,100% { translate:0 -2px; } 50% { translate:0 3px; } }

/* ─── Shared interaction and added editorial sections ─── */
#hp-content #tfp-home-features .hfx-section { isolation:isolate; }
#hp-content #tfp-home-features .hfx-tour::before { content:"";position:absolute;top:20%;left:-15%;width:50%;height:60%;z-index:-1;pointer-events:none;border-radius:50%;background:radial-gradient(ellipse,rgba(111,227,181,.17),transparent 67%);filter:blur(28px); }
#hp-content #tfp-home-features .hfx-tour .hfx-map-point.is-spotlight .hfx-map-halo { fill:#11a87332; }
#hp-content #tfp-home-features .hfx-map-pin:focus-visible { background:#0f8f6930;box-shadow:0 0 0 5px #0f8f6928; }
#hp-content #tfp-home-features .hfx-map-point .hfx-map-dot { transition:r .25s ease,fill .25s ease; }
#hp-content #tfp-home-features .hfx-map-scene.is-in-view .hfx-country { animation:vfx-map-breath 7s ease-in-out infinite; }
#hp-content #tfp-home-features .hfx-riko-guide p { box-shadow:0 14px 32px #086b4310; }
@keyframes vfx-map-breath { 0%,100% { filter:drop-shadow(0 0 0 rgba(8,128,89,0)); } 50% { filter:drop-shadow(0 0 7px rgba(8,128,89,.21)); } }

#hp-content #tfp-home-features .vfx-feature-trio { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:clamp(29px,4.4vw,62px); }
#hp-content #tfp-home-features .vfx-feature-tile { position:relative;display:flex;align-items:flex-start;gap:17px;min-height:158px;padding:23px 23px 22px;border:1px solid rgba(122,179,146,.35);border-radius:20px;background:linear-gradient(160deg,rgba(255,255,255,.94),rgba(255,255,255,.7));box-shadow:0 15px 34px rgba(31,90,68,.05);transition:transform .36s cubic-bezier(.18,.8,.24,1),box-shadow .35s,border-color .35s; }
#hp-content #tfp-home-features .vfx-feature-index { flex:0 0 auto;display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:#e7f5ee;color:#178568;font-size:12px;font-weight:800;letter-spacing:.03em; }
#hp-content #tfp-home-features .vfx-feature-tile h3 { margin:2px 0 9px;color:#173e36;font-size:clamp(15px,1.2vw,18px);font-weight:780;line-height:1.35; }
#hp-content #tfp-home-features .vfx-feature-tile p { margin:0;color:#607c71;font-size:12px;line-height:1.75; }
#hp-content #tfp-home-features .vfx-feature-arrow { position:absolute;right:17px;top:15px;color:#7fb29c;font-size:18px;opacity:.65;transition:translate .25s,opacity .25s; }
@media(hover:hover) and (pointer:fine) {
 #hp-content #tfp-home-features .vfx-feature-tile:hover { transform:translateY(-7px);border-color:#75baa0;box-shadow:0 25px 45px rgba(31,107,78,.12); }
 #hp-content #tfp-home-features .vfx-feature-tile:hover .vfx-feature-arrow { translate:3px -3px;opacity:1; }
}

/* Calendar: no pause/show/demo progress controls; make it feel like a real tool. */
#hp-content #tfp-home-features .hfx-month-board::after { content:none!important;display:none!important;animation:none!important; }
#hp-content #tfp-home-features .vfx-board-eyebrow { display:inline-flex;align-items:center;gap:9px;margin:0 0 11px;color:#8b70b9;font-size:9px;letter-spacing:1.4px;font-weight:800; }
#hp-content #tfp-home-features .vfx-board-eyebrow::before { content:"";width:18px;height:1px;background:#a98bd5; }
#hp-content #tfp-home-features .vfx-board-state { display:inline-flex;align-items:center;gap:7px;align-self:start;padding:8px 11px;border:1px solid #e4d9f2;border-radius:30px;background:#fff;color:#76648f;font-size:10px;font-weight:630; }
#hp-content #tfp-home-features .vfx-board-state>span { width:7px;height:7px;border-radius:50%;background:#35bd9d;box-shadow:0 0 0 4px #35bd9d15; }
#hp-content #tfp-home-features .hfx-month-board { border-radius:27px;box-shadow:0 20px 58px #342c6209; }
#hp-content #tfp-home-features .hfx-month-surface { box-shadow:0 10px 33px #23315208; }
#hp-content #tfp-home-features .hfx-month-day { transition:background .19s ease,border-color .19s ease,transform .19s ease,box-shadow .19s ease; }
#hp-content #tfp-home-features .hfx-month-day[aria-pressed="true"] { border-color:#15a997!important;background:#d9f3eb!important;box-shadow:inset 0 0 0 1px #15a9975c,0 4px 12px #15a9970e; }
#hp-content #tfp-home-features .hfx-month-day:not(:disabled):active { transform:scale(.97); }
#hp-content #tfp-home-features .hfx-calendar-day { animation:vfx-day-enter .3s ease both; }
#hp-content #tfp-home-features .hfx-calendar-add { text-decoration:none;transition:border-color .2s,background .2s,translate .2s; }
#hp-content #tfp-home-features .hfx-calendar-add:hover { translate:0 -2px;border-color:#bc97ec;background:#f4eefe; }
#hp-content #tfp-home-features .vfx-calendar-honesty { max-width:100%;margin:13px 8px 0!important;color:#8992a0!important;font-size:10px!important;line-height:1.6!important;text-align:center; }
#hp-content #tfp-home-features .vfx-calendar-benefits { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:23px; }
#hp-content #tfp-home-features .vfx-benefit-card { position:relative;min-height:172px;padding:24px 24px 23px;border:1px solid #e8e2f3;border-radius:19px;background:linear-gradient(145deg,#fff,#faf8ff);box-shadow:0 10px 28px #53448109;transition:transform .35s,border-color .35s,box-shadow .35s; }
#hp-content #tfp-home-features .vfx-benefit-card>span { display:inline-block;padding:6px 9px;margin:0 0 13px;border:1px solid #e9def9;border-radius:9px;background:#f3edfe;color:#7950ce;font-size:11px;font-weight:800; }
#hp-content #tfp-home-features .vfx-benefit-card h3 { margin:0 0 9px;color:#29384e;font-size:16px;font-weight:780;line-height:1.35; }
#hp-content #tfp-home-features .vfx-benefit-card p { margin:0;color:#6b768f;font-size:12px;line-height:1.75; }
@media(hover:hover) and (pointer:fine) { #hp-content #tfp-home-features .vfx-benefit-card:hover { transform:translateY(-6px);border-color:#c5aeec;box-shadow:0 21px 38px #7456ab18; } }
@keyframes vfx-day-enter { from { opacity:.45;transform:translateY(8px); } to { opacity:1;transform:none; } }

/* Chat: keep the existing phone preview, add depth and supporting cards. */
#hp-content #tfp-home-features .hfx-chat-scene .hfx-phone { transition:transform .55s ease,box-shadow .55s ease;transform:rotate(-3deg) translateY(0);animation:vfx-phone-float 7.4s ease-in-out infinite; }
#hp-content #tfp-home-features .hfx-chat-scene .hfx-chat-orbit { animation:vfx-chat-orbit 15s ease-in-out infinite alternate; }
#hp-content #tfp-home-features .hfx-chat-scene .hfx-chat-orbit--two { animation-duration:19s;animation-direction:alternate-reverse; }
#hp-content #tfp-home-features .vfx-chat-benefits { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:35px; }
#hp-content #tfp-home-features .vfx-chat-benefit { display:flex;align-items:flex-start;gap:15px;min-height:128px;padding:21px;border:1px solid rgba(130,199,201,.18);border-radius:18px;background:linear-gradient(140deg,rgba(22,77,92,.58),rgba(8,42,60,.58));box-shadow:inset 0 1px 0 #ffffff0a;transition:transform .35s,border-color .35s,background .35s; }
#hp-content #tfp-home-features .vfx-chat-benefit-icon { flex:0 0 37px;display:grid;place-items:center;width:37px;height:37px;border:1px solid rgba(110,235,210,.24);border-radius:12px;background:#70e6d513;color:#70e6d5;font-size:11px;font-weight:800; }
#hp-content #tfp-home-features .vfx-chat-benefit h3 { margin:0 0 8px;color:#e6fffc;font-size:16px;font-weight:750;line-height:1.4; }
#hp-content #tfp-home-features .vfx-chat-benefit p { margin:0;color:#acc9d1;font-size:12px;line-height:1.7; }
@media(hover:hover) and (pointer:fine) { #hp-content #tfp-home-features .vfx-chat-benefit:hover { transform:translateY(-5px);border-color:#67e4d185;background:#19546a; } }
@keyframes vfx-phone-float { 0%,100% { transform:rotate(-3deg) translateY(0); } 50% { transform:rotate(-1.2deg) translateY(-10px); } }
@keyframes vfx-chat-orbit { from { opacity:.42;scale:.95; } to { opacity:.8;scale:1.03; } }

/* How it works: editorial finale, lightweight and no unimplemented actions. */
#hp-content #tfp-home-features .vfx-journey { color:#f1fcfc;background:radial-gradient(circle at 86% 20%,#164c614f,transparent 40%),radial-gradient(circle at 8% 92%,#145f4a50,transparent 47%),linear-gradient(135deg,#06192b,#0b2835 60%,#07231f);border-top:1px solid #ffffff0b; }
#hp-content #tfp-home-features .vfx-journey::after { content:"";position:absolute;right:-10%;top:-54%;width:70%;aspect-ratio:1;border:1px solid #66d5c113;border-radius:50%;pointer-events:none; }
#hp-content #tfp-home-features .vfx-journey-heading { position:relative;z-index:1;max-width:790px;margin:0 auto 48px;text-align:center; }
#hp-content #tfp-home-features .vfx-overline { display:inline-flex;align-items:center;justify-content:center;gap:9px;color:#80ead2;font-size:10px;font-weight:800;letter-spacing:1.7px; }
#hp-content #tfp-home-features .vfx-overline i { width:6px;height:6px;border-radius:50%;background:#80ead2;box-shadow:0 0 0 5px #80ead21b; }
#hp-content #tfp-home-features .vfx-journey h2 { max-width:750px;margin:18px auto 18px!important;color:#fff!important;font-size:clamp(36px,4.3vw,64px)!important;line-height:1.06!important;text-wrap:balance; }
#hp-content #tfp-home-features .vfx-journey-heading p { max-width:650px;margin:0 auto;color:#b7cdd1;font-size:15px;line-height:1.9; }
#hp-content #tfp-home-features .vfx-journey-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px; }
#hp-content #tfp-home-features .vfx-journey-step { position:relative;min-height:240px;padding:30px 28px;border:1px solid #8bead726;border-radius:23px;background:linear-gradient(150deg,#ffffff13,#ffffff06);box-shadow:inset 0 1px 0 #ffffff12;transition:transform .3s,border-color .3s,background .3s; }
#hp-content #tfp-home-features .vfx-journey-index { color:#89f3d6;font-size:13px;font-weight:800;letter-spacing:2px; }
#hp-content #tfp-home-features .vfx-journey-track { position:relative;height:1px;margin:23px 0 27px;background:linear-gradient(90deg,#81edcf88,#81edcf17); }
#hp-content #tfp-home-features .vfx-journey-track span { position:absolute;left:0;top:-3px;width:7px;height:7px;border-radius:50%;background:#82e9cd;box-shadow:0 0 15px #82e9cd88; }
#hp-content #tfp-home-features .vfx-journey-step h3 { margin:0 0 11px;color:#f2fffc;font-size:clamp(20px,2vw,26px);font-weight:780;line-height:1.2; }
#hp-content #tfp-home-features .vfx-journey-step p { margin:0;color:#b2cbd2;font-size:13px;line-height:1.8; }
#hp-content #tfp-home-features .vfx-journey-actions { display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:13px;margin-top:38px; }
#hp-content #tfp-home-features .vfx-journey-actions a { display:inline-flex;justify-content:space-between;align-items:center;gap:28px;min-height:52px;padding:14px 19px;border-radius:13px;font-size:13px;font-weight:750;text-decoration:none;transition:transform .25s,background .25s; }
#hp-content #tfp-home-features .vfx-journey-main { color:#063c34;background:#78e7cb; }
#hp-content #tfp-home-features .vfx-journey-main:hover { background:#a0f7df; }
#hp-content #tfp-home-features .vfx-journey-alt { color:#dbf1ee;border:1px solid #83d8c44d;background:#ffffff0b; }
#hp-content #tfp-home-features .vfx-journey-alt:hover { background:#ffffff18; }
@media(hover:hover) and (pointer:fine) { #hp-content #tfp-home-features .vfx-journey-step:hover { transform:translateY(-6px);border-color:#8bead777;background:#ffffff19; } #hp-content #tfp-home-features .vfx-journey-actions a:hover { transform:translateY(-3px); } }

/* Reveals are progressively enhanced. Without JS all content is visible. */
#hp-content #tfp-home-features.vfx-init [data-vfx-reveal] { transition:opacity .74s ease,transform .74s cubic-bezier(.16,.84,.22,1);transition-delay:var(--vfx-delay,0ms); }
#hp-content #tfp-home-features.vfx-init [data-vfx-reveal].vfx-pending { opacity:0;transform:translate3d(0,27px,0); }
#hp-content #tfp-home-features.vfx-init [data-vfx-reveal].is-vfx-visible { opacity:1;transform:translate3d(0,0,0); }
#hp-content #tfp-home-features :is(.vfx-journey a,.hfx-calendar-add,.hfx-month-day):focus-visible { outline:3px solid #84e9d0!important;outline-offset:4px; }

/* ─── Responsive: laptop, tablet, handset ─── */
@media(max-width:1100px) {
 #hp-content #tfp-home-features .vfx-feature-tile { padding:19px 17px;gap:12px; }
 #hp-content #tfp-home-features .vfx-feature-arrow { right:10px;top:9px; }
 #hp-content #tfp-home-features .vfx-benefit-card { padding:20px; }
 #hp-content #tfp-home-features .vfx-chat-benefit { padding:17px;gap:12px; }
}
@media(max-width:800px) {
 #hp-content #tfp-home-features .vfx-feature-trio { grid-template-columns:repeat(2,minmax(0,1fr)); }
 #hp-content #tfp-home-features .vfx-calendar-benefits { grid-template-columns:repeat(2,minmax(0,1fr)); }
 #hp-content #tfp-home-features .vfx-feature-tile:last-child,#hp-content #tfp-home-features .vfx-benefit-card:last-child { grid-column:1/-1; }
 #hp-content #tfp-home-features .vfx-chat-benefits { grid-template-columns:repeat(2,minmax(0,1fr)); }
 #hp-content #tfp-home-features .vfx-chat-benefit:last-child { grid-column:1/-1; }
 #hp-content #tfp-home-features .vfx-journey-grid { gap:11px; }
 #hp-content #tfp-home-features .vfx-journey-step { min-height:230px;padding:21px; }
 #hp-content #tfp-home-features .vfx-journey-heading { margin-bottom:32px; }
 #hero.tfp-hero-with-riko .vfx-hero-discover { margin-top:7px; }
}
@media(max-width:600px) {
 #hero.tfp-hero-with-riko .vfx-hero-ambience { opacity:.7; }
 #hero.tfp-hero-with-riko .vfx-hero-aura { left:5%;top:10%;width:100%; }
 #hero.tfp-hero-with-riko .nhr-node { backdrop-filter:none;-webkit-backdrop-filter:none; }
 #hero.tfp-hero-with-riko .vfx-hero-discover { width:100%;min-height:44px;font-size:10px;text-align:center; }
 #hp-content #tfp-home-features .vfx-feature-trio,#hp-content #tfp-home-features .vfx-calendar-benefits,#hp-content #tfp-home-features .vfx-chat-benefits,#hp-content #tfp-home-features .vfx-journey-grid { grid-template-columns:minmax(0,1fr);gap:12px; }
 #hp-content #tfp-home-features .vfx-feature-tile:last-child,#hp-content #tfp-home-features .vfx-benefit-card:last-child,#hp-content #tfp-home-features .vfx-chat-benefit:last-child { grid-column:auto; }
 #hp-content #tfp-home-features .vfx-feature-trio { margin-top:23px; }
 #hp-content #tfp-home-features .vfx-feature-tile { min-height:0;padding:18px 17px; }
 #hp-content #tfp-home-features .vfx-feature-index { width:35px;height:35px;border-radius:11px; }
 #hp-content #tfp-home-features .vfx-feature-tile h3 { font-size:15px; }
 #hp-content #tfp-home-features .vfx-feature-tile p { font-size:11px; }
 #hp-content #tfp-home-features .hfx-month-board-heading { flex-wrap:wrap; }
 #hp-content #tfp-home-features .vfx-board-state { font-size:9px;padding:7px 9px; }
 #hp-content #tfp-home-features .vfx-calendar-benefits { margin-top:18px; }
 #hp-content #tfp-home-features .vfx-benefit-card { min-height:0;padding:19px; }
 #hp-content #tfp-home-features .vfx-benefit-card>span { margin-bottom:9px; }
 #hp-content #tfp-home-features .vfx-benefit-card h3 { font-size:15px; }
 #hp-content #tfp-home-features .vfx-chat-benefits { margin-top:15px; }
 #hp-content #tfp-home-features .vfx-chat-benefit { min-height:0; }
 #hp-content #tfp-home-features .vfx-journey-heading p { font-size:13px; }
 #hp-content #tfp-home-features .vfx-journey-step { min-height:0;padding:23px; }
 #hp-content #tfp-home-features .vfx-journey-track { margin:15px 0 19px; }
 #hp-content #tfp-home-features .vfx-journey-step h3 { font-size:21px; }
 #hp-content #tfp-home-features .vfx-journey-actions { align-items:stretch;flex-direction:column;margin-top:24px; }
 #hp-content #tfp-home-features .vfx-journey-actions a { width:100%; }
}
@media(max-width:375px) {
 #hp-content #tfp-home-features .vfx-board-state { flex-basis:100%;width:max-content; }
 #hp-content #tfp-home-features .vfx-feature-tile { padding:16px 14px; }
 #hp-content #tfp-home-features .vfx-journey-heading h2 { font-size:32px!important; }
 #hero.tfp-hero-with-riko .vfx-hero-discover { padding:9px 4px;gap:7px; }
}
@media(prefers-reduced-motion:reduce) {
 #hero.tfp-hero-with-riko .vfx-hero-ambience *,#hero.tfp-hero-with-riko :is(.nhr-accent,.nhr-line,.nhr-node,.nhr-orbit,.nhr-ball::before,.vfx-hero-discover svg),
 #hp-content #tfp-home-features :is(.hfx-country,.hfx-chat-orbit,.hfx-phone) { animation:none!important;filter:none; }
 #hero.tfp-hero-with-riko .nhr-node,#hp-content #tfp-home-features [data-vfx-reveal],#hp-content #tfp-home-features .vfx-journey-step { transition:none!important;animation:none!important;opacity:1!important;transform:none!important;translate:none!important; }
 #hp-content #tfp-home-features .hfx-phone { transform:rotate(-3deg)!important; }
}
@media print {
 #hero .vfx-hero-ambience,#hero .vfx-hero-discover { display:none!important; }
 #hp-content #tfp-home-features [data-vfx-reveal] { opacity:1!important;transform:none!important; }
}

/* ─── V3 refinements: more life in HERO, real-module showcase, simpler Tour ─── */
#hero .vfx-hero-grid { position:absolute;inset:9% 8% 12% 46%;border-radius:38px;background:
  linear-gradient(90deg,rgba(132,230,214,.08) 1px,transparent 1px) 0 0/34px 34px,
  linear-gradient(rgba(132,230,214,.06) 1px,transparent 1px) 0 0/34px 34px;
  mask-image:linear-gradient(120deg,transparent 0%,rgba(0,0,0,.9) 28%,rgba(0,0,0,.9) 100%);
  opacity:.35;transform:translate3d(calc(var(--vfx-shift-x,0px) * .28),calc(var(--vfx-shift-y,0px) * .2),0);
  animation:vfx-grid-float 18s linear infinite; }
#hero .vfx-hero-ribbon { position:absolute;right:-5%;top:18%;width:min(46vw,720px);height:min(46vw,720px);border-radius:50%;border:1px solid rgba(126,240,209,.16);box-shadow:0 0 0 18px rgba(126,240,209,.03),0 0 0 54px rgba(126,240,209,.018);opacity:.7;transform:translate3d(calc(var(--vfx-shift-x,0px) * -.22),calc(var(--vfx-shift-y,0px) * -.2),0);animation:vfx-ribbon-spin 26s linear infinite; }
#hero .vfx-hero-ribbon::before,#hero .vfx-hero-ribbon::after { content:"";position:absolute;border-radius:50%;inset:12%;border:1px solid rgba(97,174,255,.12); }
#hero .vfx-hero-ribbon::after { inset:28%;border-color:rgba(132,230,214,.17); }
#hero .vfx-hero-spark { position:absolute;border-radius:999px;background:radial-gradient(circle,rgba(197,255,240,.95) 0,rgba(112,230,213,.85) 24%,rgba(112,230,213,0) 68%);filter:blur(.2px);box-shadow:0 0 24px rgba(112,230,213,.32); }
#hero .vfx-hero-spark--one { width:18px;height:18px;left:57%;top:18%;animation:vfx-spark-one 12s ease-in-out infinite; }
#hero .vfx-hero-spark--two { width:11px;height:11px;left:74%;top:32%;animation:vfx-spark-two 15s ease-in-out infinite; }
#hero .vfx-hero-spark--three { width:14px;height:14px;left:66%;top:72%;animation:vfx-spark-three 14s ease-in-out infinite; }
@keyframes vfx-grid-float { from { background-position:0 0,0 0; } to { background-position:34px 0,0 34px; } }
@keyframes vfx-ribbon-spin { from { transform:translate3d(calc(var(--vfx-shift-x,0px) * -.22),calc(var(--vfx-shift-y,0px) * -.2),0) rotate(0deg); } to { transform:translate3d(calc(var(--vfx-shift-x,0px) * -.22),calc(var(--vfx-shift-y,0px) * -.2),0) rotate(360deg); } }
@keyframes vfx-spark-one { 0%,100% { transform:translate3d(0,0,0);opacity:.55; } 50% { transform:translate3d(26px,18px,0);opacity:1; } }
@keyframes vfx-spark-two { 0%,100% { transform:translate3d(0,0,0) scale(.8);opacity:.35; } 50% { transform:translate3d(-28px,24px,0) scale(1.15);opacity:.95; } }
@keyframes vfx-spark-three { 0%,100% { transform:translate3d(0,0,0);opacity:.3; } 50% { transform:translate3d(18px,-30px,0);opacity:.95; } }

#hp-content #tfp-home-features .hfx-tour-form--simple { display:flex;flex-direction:column;align-items:flex-start;gap:14px; }
#hp-content #tfp-home-features .hfx-tour-form--simple .hfx-tour-form-note { margin:2px 0 0;color:#6e8a7e;font-size:13px;line-height:1.7;max-width:34rem; }
#hp-content #tfp-home-features .hfx-tour-form--simple .hfx-button { gap:12px; }
#hp-content #tfp-home-features .hfx-tour-form--simple .hfx-button svg,
#hp-content #tfp-home-features .vfx-showcase-link svg { width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0; }
#hp-content #tfp-home-features .hfx-map-footer { max-width:30rem; }

#hp-content #tfp-home-features .vfx-showcase { position:relative;overflow:hidden;background:linear-gradient(180deg,rgba(241,250,246,.86),rgba(255,255,255,.98)); }
#hp-content #tfp-home-features .vfx-showcase::before { content:"";position:absolute;left:-12%;top:8%;width:34%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(115,230,199,.18),transparent 70%);filter:blur(18px);pointer-events:none; }
#hp-content #tfp-home-features .vfx-showcase::after { content:"";position:absolute;right:-10%;bottom:-8%;width:36%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(96,157,255,.12),transparent 70%);filter:blur(18px);pointer-events:none; }
#hp-content #tfp-home-features .vfx-showcase-heading { max-width:860px;margin:0 auto 34px;text-align:center;position:relative;z-index:1; }
#hp-content #tfp-home-features .vfx-showcase h2 { margin:18px auto 16px!important;color:#0c2232!important;font-size:clamp(35px,4.5vw,62px)!important;line-height:1.04!important;text-wrap:balance; }
#hp-content #tfp-home-features .vfx-showcase h2 span { color:#0f9d75; }
#hp-content #tfp-home-features .vfx-showcase-heading p { margin:0 auto;max-width:760px;color:#607b73;font-size:15px;line-height:1.9; }
#hp-content #tfp-home-features .vfx-showcase-grid { display:grid;grid-template-columns:minmax(0,1fr);gap:22px;position:relative;z-index:1; }
#hp-content #tfp-home-features .vfx-showcase-card { display:grid;grid-template-columns:minmax(280px, 0.9fr) minmax(0, 1.1fr);align-items:center;gap:24px;padding:26px;border:1px solid rgba(109,171,144,.22);border-radius:28px;background:linear-gradient(160deg,rgba(255,255,255,.97),rgba(244,251,247,.9));box-shadow:0 18px 48px rgba(24,89,66,.08);transition:transform .36s cubic-bezier(.18,.8,.24,1),box-shadow .36s,border-color .36s; }
#hp-content #tfp-home-features .vfx-showcase-card:nth-child(even) .vfx-showcase-copy { order:2; }
#hp-content #tfp-home-features .vfx-showcase-card:nth-child(even) .vfx-showcase-media { order:1; }
#hp-content #tfp-home-features .vfx-showcase-meta { display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px; }
#hp-content #tfp-home-features .vfx-showcase-meta span { display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;background:#e8f7f0;color:#178568;font-size:11px;font-weight:800;letter-spacing:.08em; }
#hp-content #tfp-home-features .vfx-showcase-meta em { display:inline-flex;align-items:center;padding:7px 11px;border-radius:999px;border:1px solid #dbece4;color:#6a867b;font-style:normal;font-size:11px;font-weight:700; }
#hp-content #tfp-home-features .vfx-showcase-card h3 { margin:0 0 12px;color:#112838;font-size:clamp(26px,3vw,40px);line-height:1.08;font-weight:800; }
#hp-content #tfp-home-features .vfx-showcase-card>div p,
#hp-content #tfp-home-features .vfx-showcase-copy>p { margin:0 0 18px;color:#637d73;font-size:14px;line-height:1.85; }
#hp-content #tfp-home-features .vfx-showcase-copy ul { display:grid;gap:10px;margin:0 0 22px;padding:0;list-style:none; }
#hp-content #tfp-home-features .vfx-showcase-copy li { display:flex;align-items:flex-start;gap:10px;color:#173e36;font-size:13px;line-height:1.6;font-weight:650; }
#hp-content #tfp-home-features .vfx-showcase-copy li span:first-child { color:#15a276;font-size:18px;line-height:1;transform:translateY(-1px); }
#hp-content #tfp-home-features .vfx-showcase-link { display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:14px 18px;border-radius:14px;background:#0f8f69;color:#fff;text-decoration:none;font-size:13px;font-weight:760;box-shadow:0 16px 30px rgba(15,143,105,.18); }
#hp-content #tfp-home-features .vfx-showcase-media { min-width:0; }
#hp-content #tfp-home-features .vfx-browser-frame { overflow:hidden;border-radius:24px;border:1px solid rgba(20,61,75,.1);background:#eef5f2;box-shadow:0 22px 45px rgba(16,63,75,.1); }
#hp-content #tfp-home-features .vfx-browser-top { display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid rgba(16,63,75,.08);background:linear-gradient(180deg,rgba(10,38,53,.96),rgba(12,58,75,.92));color:#d9eef2;font-size:11px;font-weight:720;letter-spacing:.04em; }
#hp-content #tfp-home-features .vfx-browser-top span { width:8px;height:8px;border-radius:50%;background:#7ee7cd;opacity:.72; }
#hp-content #tfp-home-features .vfx-browser-top span:nth-child(2) { background:#f1d079; }
#hp-content #tfp-home-features .vfx-browser-top span:nth-child(3) { background:#f18d8d; }
#hp-content #tfp-home-features .vfx-browser-top strong { margin-left:6px;font-weight:780; }
#hp-content #tfp-home-features .vfx-browser-frame img { display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;object-position:top center;background:#fff; }
@media(hover:hover) and (pointer:fine) {
  #hp-content #tfp-home-features .vfx-showcase-card:hover { transform:translateY(-7px);border-color:#7ac0a3;box-shadow:0 28px 58px rgba(24,89,66,.13); }
  #hp-content #tfp-home-features .vfx-showcase-link:hover { transform:translateY(-2px);background:#12a277; }
}

@media(max-width:1100px) {
  #hp-content #tfp-home-features .vfx-showcase-card { grid-template-columns:minmax(0,1fr);gap:18px;padding:22px; }
  #hp-content #tfp-home-features .vfx-showcase-card:nth-child(even) .vfx-showcase-copy,
  #hp-content #tfp-home-features .vfx-showcase-card:nth-child(even) .vfx-showcase-media { order:initial; }
}
@media(max-width:800px) {
  #hero .vfx-hero-grid { inset:16% 6% 14% 34%;opacity:.24; }
  #hero .vfx-hero-ribbon { width:min(62vw,420px);height:min(62vw,420px);top:12%;right:-14%; }
  #hp-content #tfp-home-features .vfx-showcase-heading { margin-bottom:24px; }
  #hp-content #tfp-home-features .vfx-showcase-card h3 { font-size:30px; }
}
@media(max-width:600px) {
  #hero .vfx-hero-grid { display:none; }
  #hero .vfx-hero-ribbon { right:-24%;top:8%;width:72vw;height:72vw;opacity:.45; }
  #hero .vfx-hero-spark--one { left:67%;top:18%; }
  #hero .vfx-hero-spark--two { left:82%;top:39%; }
  #hero .vfx-hero-spark--three { left:60%;top:70%; }
  #hp-content #tfp-home-features .hfx-tour-form--simple .hfx-tour-form-note { font-size:12px; }
  #hp-content #tfp-home-features .vfx-showcase h2 { font-size:34px!important; }
  #hp-content #tfp-home-features .vfx-showcase-heading p { font-size:13px; }
  #hp-content #tfp-home-features .vfx-showcase-card { padding:16px;border-radius:22px; }
  #hp-content #tfp-home-features .vfx-showcase-card h3 { font-size:24px; }
  #hp-content #tfp-home-features .vfx-showcase-meta { gap:8px; }
  #hp-content #tfp-home-features .vfx-showcase-link { width:100%;justify-content:center; }
  #hp-content #tfp-home-features .vfx-browser-top { font-size:10px;padding:10px 12px; }
}
@media(prefers-reduced-motion:reduce) {
  #hero .vfx-hero-grid,#hero .vfx-hero-ribbon,#hero .vfx-hero-spark { animation:none!important; }
}
