/* Original concept 2 — local presentation layer. Existing markup and scripts retained. */
:root {
  --ink: #132335; --line: #132335; --muted: #48515a;
  --paper: #fffcf3; --yellow: #ffda45; --red: #ed4b51;
  --soft-yellow: #fff6d6; --soft-blue: #eef7fc; --soft-green: #fffaf0;
  --shadow: 0 5px 0 #132335;
}
html { scroll-padding-top: 110px; }
body { background: var(--paper); font-feature-settings: "palt"; }
a,button,summary { -webkit-tap-highlight-color: #ffda4560; }
:focus-visible { outline: 3px solid #1764c0; outline-offset: 5px; }
.site-header { min-height: 90px; padding: 14px clamp(20px,4vw,64px); background: #fffcf3f5; border-bottom: 2px solid #13233530; box-shadow: 0 4px 0 #ffda45; backdrop-filter: blur(12px); gap: 24px; }
.brand { position: relative; display: block; flex: 0 0 215px; width: 215px; height: 54px; background: url('/assets/arcade-theme/joymotion-approved-logo.png') center / contain no-repeat; }
.brand > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.nav-links { color: var(--ink); font-size: 15px; gap: 24px; }
.nav-links a { padding: 6px 0; text-underline-offset: 8px; }
.nav-links a:hover,.nav-links a.is-active { color: #c92e39; text-decoration: underline; text-decoration-thickness: 3px; }
.header-action,.button { border: 2px solid var(--ink); box-shadow: 0 4px 0 var(--ink); min-height: 48px; padding: 10px 23px; line-height: 1.35; }
.header-action,.button.primary { background: var(--red); color: #fff; }
.button.secondary { background: #fffdf6; }
.button:hover,.header-action:hover { transform: translateY(2px); box-shadow: 0 2px 0 var(--ink); }
.button.primary:hover { background: #d93640; }
.hero,.page-hero { background: radial-gradient(ellipse at 100% 80%,#fff0b5 0,transparent 45%),var(--paper); border-bottom: 0; }
.hero { grid-template-columns: minmax(0,0.95fr) minmax(0,1.15fr); padding: 64px clamp(24px,4.6vw,76px) 76px; gap: clamp(32px,4vw,64px); min-height: auto; }
.hero h1,.conversion-hero h1 { font-size: clamp(38px,3.7vw,60px); line-height: 1.22; letter-spacing: -.035em; font-weight: 950; }
.hero h1 span { margin-top: 4px; }
.hero .hero-copy { font-size: clamp(16px,1.3vw,19px); line-height: 1.85; margin: 22px 0 14px; }
.hero-pain { border: 0; background: transparent; padding: 0; line-height: 1.8; font-weight: 750; }
.hero-starting-price { display: inline-block; padding: 10px 20px 12px; background: #ffe883; border: 2px solid var(--ink); border-radius: 18px; box-shadow: 3px 3px 0 #132335; }
.hero-starting-price strong { font-size: clamp(20px,1.8vw,27px); }
.hero-starting-price span { color: #38414c; }
.hero-actions { gap: 14px; }
.hero-visual,.image-panel,.page-hero-card { border: 2px solid var(--ink); border-radius: 23px; box-shadow: 0 5px 0 var(--ink); background: white; overflow: hidden; }
.hero-visual img { width: 100%; height: auto; object-fit: contain; }
.conversion-hero figcaption,.image-panel figcaption,.page-hero-card figcaption { padding: 10px 15px; background: #fffefb; font-size: 12px; color: #44515b; line-height: 1.6; }
.hero .equipment-note { color: #38414c; font-size: 14px; line-height: 1.8; }
.eyebrow,.section-kicker { border: 2px solid var(--ink); background: var(--yellow); color: var(--ink); border-radius: 999px; padding: 6px 18px; font-size: 14px; letter-spacing: .025em; min-height: 35px; box-shadow: 0 2px 0 #132335; }
.section,.compact-section { position: relative; padding: 68px clamp(24px,5vw,80px); border-bottom: 0; background: var(--paper); }
.section::before,.cta-section::before,.page-hero::after { content: ""; position: absolute; pointer-events: none; height: 15px; left: 0; right: 0; top: -1px; background: var(--yellow); clip-path: polygon(0 30%,8% 55%,17% 30%,25% 5%,33% 30%,42% 60%,50% 35%,58% 5%,67% 30%,75% 60%,83% 35%,92% 5%,100% 30%,100% 82%,92% 57%,83% 87%,75% 100%,67% 82%,58% 57%,50% 87%,42% 100%,33% 82%,25% 57%,17% 82%,8% 100%,0 82%); }
.page-hero::after { top: auto; bottom: 0; }
.section.soft-blue,.section.soft-green,.section.soft-yellow { background: var(--paper); }
.section-heading { margin-bottom: 36px; }
.section h2,.setting-heading h2,.cta-section h2 { font-size: clamp(28px,3vw,44px); line-height: 1.35; letter-spacing: -.035em; font-weight: 950; }
.section h3 { line-height: 1.4; font-weight: 900; }
.section p,.section li { line-height: 1.85; }
.section-heading p:not(.section-kicker),.feature-copy p { font-size: 18px; line-height: 1.85; }
.setting-jumps { background: #fff3bd; border: 0; padding: 20px 5%; gap: 14px; }
.setting-jumps a { border: 2px solid var(--ink); background: #fffdf6; padding: 8px 20px; font-size: 15px; text-decoration: none; box-shadow: 0 2px 0 #132335; }
.setting-jumps a:first-of-type { color: white; background: var(--ink); }
.conversion-grid { gap: 24px; }
.module-card,.capability-card,.game-card,.audience-card,.workflow-scene-card,.plan-card,.faq-item,.workflow-card,.stat-card,.team-card,.service-fit-card,.metric-card,.mode-detail-card,.operations-card,.timeline-card { border: 2px solid var(--ink); border-radius: 20px; box-shadow: 0 4px 0 var(--ink); }
.service-fit-card { padding: 28px; }
.solution-paths .service-fit-card:nth-child(1),.plan-card:nth-child(1) { background: linear-gradient(#e7f4ff,#fffdf7 70%); }
.solution-paths .service-fit-card:nth-child(2),.plan-card:nth-child(2) { background: linear-gradient(#fff0bb,#fffdf7 70%); }
.solution-paths .service-fit-card:nth-child(3),.plan-card:nth-child(3) { background: linear-gradient(#ffe3e4,#fffdf7 70%); }
.solution-paths .service-fit-card > strong { display: block; font-size: 26px; font-weight: 950; }
.solution-paths .service-fit-card:nth-child(1) > strong { color: #225e8c; }
.solution-paths .service-fit-card:nth-child(2) > strong { color: #906000; }
.solution-paths .service-fit-card:nth-child(3) > strong { color: #b32e3c; }
.solution-paths .service-fit-card > a { display: inline-flex; align-items: center; min-height: 42px; margin-top: 18px; border: 2px solid var(--ink); border-radius: 30px; padding: 6px 20px; background: var(--red); color: #fff; text-decoration: none; box-shadow: 0 2px 0 var(--ink); }
#solution-paths .section-heading { position: relative; }
#solution-paths .section-heading::before,#solution-paths .section-heading::after { content: ""; position: absolute; width: 56px; height: 56px; background: center / contain no-repeat url('/assets/arcade-theme/ingot.png'); pointer-events: none; top: 15px; }
#solution-paths .section-heading::before { left: -70px; transform: rotate(-14deg); }
#solution-paths .section-heading::after { right: -65px; transform: rotate(15deg); background-image: url('/assets/arcade-theme/mahjong-tile.png'); }
.training-directions .service-fit-card { background: #fff; box-shadow: 0 3px 0 #132335; }
.research-note { background: #fff0bd; border-radius: 16px; padding: 12px 18px; color: #46515c; font-size: 14px; }
.setting-heading { max-width: 960px; }
.setting-visual { max-width: 1100px; }
.setting-action { margin-top: 30px; }
#service-experience { background: #fff6d6; }
#service-experience .section-heading { margin-bottom: 0; }
.workflow-card { background: #fff9e7; }
.step-no { background: var(--yellow); color: var(--ink); border: 2px solid var(--ink); box-shadow: 0 2px 0 #132335; }
.cta-section { position: relative; background: #ffeb8e; color: var(--ink); border: 0; padding: 64px clamp(24px,5vw,80px); }
.cta-section .section-kicker { background: #fffdf6; }
.cta-section p,.cta-section a.trial-text { color: var(--ink); }
.cta-section .trial-text { margin-top: 12px; line-height: 1.7; }
.cta-section h2 { color: var(--ink); }
.conversion-faq details,.faq-item,.plan-comparison,.rollout-details { background: #fffefa; border: 2px solid var(--ink); border-radius: 16px; box-shadow: 0 3px 0 #132335; }
.conversion-faq details { padding: 17px 22px; }
.conversion-faq details[open] { background: #fff5c9; }
.conversion-faq summary { font-size: 18px; }
.plan-comparison .section { background: transparent; }
.plan-comparison .section::before,.rollout-details .section::before { display: none; }
.plan-card.featured { outline: 4px solid var(--yellow); outline-offset: 5px; }
.price-example { border-radius: 14px; background: #fff0bd; }
.product-shot a { border: 2px solid var(--ink); border-radius: 14px; }
.hero-video-play { border-width: 2px; background: var(--yellow); box-shadow: 0 3px 0 var(--ink); }
.site-footer { background: #132335; color: #fffdf1; border-top: 8px solid var(--yellow); padding-top: 45px; }
.footer-main p,.footer-main a { color: #e6e6df; line-height: 1.85; }
.footer-main h3,.footer-main h4 { color: #ffda45; }
.footer-bottom { color: #e6e6df; border-top-color: #ffffff35; }
.whatsapp-float { border-width: 2px; background: #246647; box-shadow: 0 4px 0 var(--ink); animation: none; }
.promo-dialog,.product-lightbox { border: 2px solid var(--ink); border-radius: 22px; background: #fffdf4; }
.promo-close,.product-lightbox button { border: 2px solid var(--ink); border-radius: 999px; padding: 9px 17px; background: var(--yellow); color: var(--ink); }
@media(min-width:1081px) {
  .page-hero { padding-top: 60px; padding-bottom: 62px; }
  .page-hero h1 { font-size: clamp(40px,4vw,62px); line-height: 1.2; }
  .page-hero p { font-size: 18px; line-height: 1.85; }
}
@media(max-width:1080px) {
  .site-header { min-height: 80px; }
  .nav-links { inset: 80px 0 auto 0; border-bottom: 3px solid var(--ink); background: var(--paper); }
  .menu-toggle { border-width: 2px; border-radius: 14px; background: var(--yellow); box-shadow: 0 3px 0 var(--ink); }
  .hero { grid-template-columns: 1fr; padding: 44px 30px 54px; gap: 32px; }
  .hero h1,.conversion-hero h1 { font-size: clamp(36px,5.5vw,52px); }
  .hero .hero-visual { width: min(100%,760px); }
  .hero .hero-copy { max-width: 760px; }
  #solution-paths .section-heading::before { left: 0; top: 0; width: 40px; }
  #solution-paths .section-heading::after { right: 0; top: 0; width: 40px; }
}
@media(max-width:760px) {
  .section,.compact-section { padding: 49px 22px; }
  .hero { padding: 35px 22px 45px; }
  .hero-actions { gap: 14px; }
  .hero h1,.conversion-hero h1,.page-hero h1 { font-size: clamp(32px,8vw,42px); line-height: 1.3; }
  .hero .hero-copy,.section-heading p:not(.section-kicker),.feature-copy p,.setting-heading p:not(.section-kicker) { font-size: 16px; line-height: 1.85; }
  .section h2,.setting-heading h2,.cta-section h2 { font-size: 29px; line-height: 1.4; }
  .eyebrow,.section-kicker { font-size: 12px; padding: 5px 13px; }
  .setting-jumps { gap: 10px; }
  .setting-jumps > span { width: 100%; text-align: center; }
  .setting-jumps a { padding: 7px 13px; font-size: 13px; }
  .service-fit-card { padding: 24px; }
  .setting-action { flex-direction: column; align-items: stretch; gap: 18px; }
  .setting-action > div { flex: auto; }
  .conversion-faq details { padding: 16px; }
  .brand { flex-basis: 185px; width: 185px; height: 46px; }
  .site-header { min-height: 74px; padding: 12px 18px; }
  .nav-links { inset: 74px 0 auto 0; }
  .section::before,.cta-section::before { height: 10px; }
  #solution-paths .section-heading::before,#solution-paths .section-heading::after { display: none; }
  .cta-section { padding: 46px 22px; }
  .whatsapp-float { min-height: 48px; font-size: 13px; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior: auto !important; transition: none !important; } }
/* Smooth wave dividers and an existing, genuine 發 tile. */
.section::before,.cta-section::before,.page-hero::after { background: url('/assets/arcade-theme/wave.svg') center / 100% 100% no-repeat; clip-path: none; height: 21px; }
#solution-paths .section-heading::after { background-image: url('/assets/arcade-theme/mahjong-green-dragon.svg'); }
@media(max-width:760px) { .section::before,.cta-section::before,.page-hero::after { height: 14px; } }
/* Keep the original story content, composed beside its original image. */
@media(min-width:1081px) {
  #individual-training,#home-service { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); align-items: center; column-gap: 48px; row-gap: 24px; }
  #individual-training .setting-heading,#home-service .setting-heading { grid-column: 1; grid-row: 1; max-width: none; margin: 0; text-align: left; }
  #individual-training .setting-heading h2,#home-service .setting-heading h2 { font-size: clamp(28px,2.6vw,40px); }
  #individual-training .setting-heading p:not(.section-kicker),#home-service .setting-heading p:not(.section-kicker) { font-size: 17px; line-height: 1.85; }
  #individual-training .setting-visual,#home-service .setting-visual { grid-column: 2; grid-row: 1 / span 2; width: 100%; max-width: none; margin: 0; }
  #individual-training .setting-action,#home-service .setting-action { grid-column: 1; grid-row: 2; flex-direction: column; align-items: flex-start; margin: 0; gap: 20px; }
  #individual-training .setting-action > div,#home-service .setting-action > div { flex: auto; text-align: left; }
  #individual-training .setting-action .setting-detail,#home-service .setting-action .setting-detail { display: inline-block; margin: 0 0 0 18px; }
}
/* Reference fidelity pass — original Hong Kong arcade concept, 11 November. */
:root { --paper:#fffcf2; --yellow:#ffda3d; --red:#ff424d; --ink:#112333; --line:#112333; --muted:#2f3b43; }
html { scroll-padding-top:160px; }
.site-header { display:grid; grid-template-columns:minmax(185px,1fr) auto minmax(185px,1fr); grid-template-rows:86px 50px; min-height:136px; padding:0 3.7%; column-gap:24px; row-gap:0; border-bottom:0; box-shadow:none; background:#fffcf2f5; }
.site-header::after { content:""; position:absolute; top:86px; left:0; right:0; height:1px; background:#11233335; pointer-events:none; }
.site-header::before { content:"JoyMotion 動樂園"; grid-column:1; grid-row:2; font-size:20px; font-weight:950; white-space:nowrap; }
.brand { grid-column:1/-1; grid-row:1; justify-self:center; width:350px; height:85px; flex-basis:auto; }
.nav-links { grid-column:2; grid-row:2; margin:0; justify-content:center; gap:27px; font-size:16px; }
.header-action { grid-column:3; grid-row:2; justify-self:end; min-height:39px; padding:7px 24px 7px 48px; font-size:15px; box-shadow:0 3px 0 var(--ink); background:var(--red) url('/assets/arcade-theme/calendar.svg') 17px center / 22px 22px no-repeat; }
.skip-link { top:15px; left:3.7%; padding:0; background:transparent; border:0; box-shadow:none; font-size:11px; }
.skip-link:focus { top:15px; outline:3px solid #1764c0; outline-offset:5px; }
.header-action,.button { border-width:2px; box-shadow:0 3px 0 var(--ink); font-weight:900; }
.eyebrow,.section-kicker { font-size:17px; letter-spacing:0; padding:5px 19px; min-height:34px; border-width:2px; box-shadow:0 2px 0 var(--ink); }
.section,.compact-section { padding:49px 3.8% 48px; }
.section::before,.cta-section::before,.page-hero::after { background:url('/assets/arcade-theme/wave-bold.svg') center / 100% 100% no-repeat; height:34px; top:-16px; }
.page-hero::after { top:auto; bottom:-5px; }
.section h2,.setting-heading h2,.cta-section h2 { font-size:clamp(29px,2.65vw,42px); line-height:1.3; }
.section-heading { margin-bottom:28px; max-width:1050px; }
.section-heading h2 { margin-bottom:0; }
.section p,.section li { line-height:1.7; }
.hero,.page-hero { background:radial-gradient(ellipse at 95% 100%,#fff1b8 0,transparent 36%),var(--paper); }
.hero { position:relative; grid-template-columns:minmax(0,.37fr) minmax(0,.63fr); gap:13px 42px; padding:36px 3.8% 92px; overflow:visible; }
.hero::before { content:""; position:absolute; left:0; right:0; top:-12px; height:28px; background:url('/assets/arcade-theme/wave-bold.svg') center / 100% 100% no-repeat; pointer-events:none; }
.hero .hero-content { display:contents; }
.hero .eyebrow { grid-column:1; grid-row:1; justify-self:start; margin:0; font-size:16px; }
.hero h1,.conversion-hero h1 { grid-column:1; grid-row:2; position:relative; font-size:clamp(38px,3.7vw,56px); line-height:1.2; letter-spacing:-.035em; margin:0; }
.hero h1::after { content:""; width:37px; height:65px; background:url('/assets/arcade-theme/burst.svg') center / contain no-repeat; position:absolute; right:-20px; top:25%; transform:scaleX(-1); pointer-events:none; }
.hero h1 span { margin:0; }
.hero .hero-copy { grid-column:1; grid-row:3; font-size:17px; line-height:1.65; margin:3px 0 0; font-weight:750; }
.hero-pain { grid-column:1; grid-row:4; font-size:15px; line-height:1.65; margin:0; font-weight:750; }
.hero-starting-price { grid-column:1; grid-row:5; width:100%; margin:3px 0 4px; padding:10px 18px; border-radius:23px; background:linear-gradient(#ffe772,#ffe15b); border-width:2px; box-shadow:0 3px 0 var(--ink); line-height:1.4; text-align:center; }
.hero-starting-price strong { font-size:clamp(21px,2vw,31px); }
.hero-starting-price span { font-size:14px; font-weight:750; color:var(--ink); }
.hero .hero-actions { grid-column:1; grid-row:6; display:flex; flex-direction:column; align-items:stretch; gap:11px; margin:0; }
.hero .hero-actions .button { min-height:47px; padding:8px 18px; font-size:18px; }
.hero .hero-actions .primary { background:var(--red) url('/assets/arcade-theme/calendar.svg') 18px center / 25px 25px no-repeat; padding-left:45px; }
.hero .hero-visual { grid-column:2; grid-row:1 / span 4; align-self:stretch; display:flex; flex-direction:column; justify-content:center; border:0; border-radius:22px; box-shadow:none; margin:0; overflow:hidden; background:#fff; }
.hero .hero-visual img { width:100%; height:auto; aspect-ratio:1672/941; object-fit:contain; border-radius:22px 22px 0 0; }
.hero .hero-visual figcaption { margin:0; padding:8px 14px; color:var(--ink); font-weight:750; font-size:13px; border:1px solid #11233330; border-top:0; border-radius:0 0 17px 17px; }
.hero .equipment-note { grid-column:2; grid-row:5; align-self:center; position:relative; min-height:68px; margin:0; padding:12px 185px 12px 60px; font-size:15px; color:var(--ink); line-height:1.55; font-weight:750; }
.hero .equipment-note::before { content:""; position:absolute; left:2px; top:13px; width:46px; height:43px; background:url('/assets/arcade-theme/monitor.svg') center / contain no-repeat; }
.hero .equipment-note::after { content:""; position:absolute; right:0; top:-4px; width:173px; height:85px; background:url('/assets/arcade-theme/game-cluster.svg') center / contain no-repeat; pointer-events:none; }
.setting-jumps { width:57%; margin:-75px 3.8% 25px auto; min-height:50px; padding:9px 18px; position:relative; z-index:3; background:#ffed9e; border:0; border-radius:40px; gap:5px 12px; justify-content:center; }
.setting-jumps span { font-size:14px; font-weight:850; }
.setting-jumps a,.setting-jumps a:first-of-type { border:0; box-shadow:none; background:transparent; color:var(--ink); font-size:14px; padding:3px 6px; }
.setting-jumps a:hover { text-decoration:underline; background:#fff5c8; }
.setting-jumps::after { content:"›"; display:grid; place-items:center; width:30px; height:30px; border-radius:50%; background:var(--yellow); color:var(--ink); font-size:30px; line-height:1; }
#solution-paths { padding-top:41px; padding-bottom:45px; }
#solution-paths .section-heading { max-width:1080px; }
#solution-paths .section-heading h2 { position:relative; }
#solution-paths .section-heading h2::before,#solution-paths .section-heading h2::after { content:""; position:absolute; height:61px; width:31px; top:-7px; background:url('/assets/arcade-theme/burst.svg') center/contain no-repeat; }
#solution-paths .section-heading h2::before { left:-9px; }
#solution-paths .section-heading h2::after { right:-9px; transform:scaleX(-1); }
#solution-paths .section-heading::before { width:110px; height:100px; left:-96px; top:8px; background-image:url('/assets/arcade-theme/arcade-ingot.svg'); transform:rotate(-16deg); }
#solution-paths .section-heading::after { width:90px; height:120px; right:-75px; top:-8px; background-image:url('/assets/arcade-theme/arcade-lantern.svg'); transform:rotate(14deg); }
.solution-paths { gap:22px; }
.solution-paths .service-fit-card { position:relative; display:flex; flex-direction:column; min-height:420px; padding:18px 22px 20px; border:2px solid var(--ink); border-radius:19px; box-shadow:0 4px 0 var(--ink); }
.solution-paths .service-fit-card:nth-child(1) { background:linear-gradient(#e3f3fe 0 98px,#fffdf6 98px); }
.solution-paths .service-fit-card:nth-child(2) { background:linear-gradient(#fff2b9 0 98px,#fffdf6 98px); }
.solution-paths .service-fit-card:nth-child(3) { background:linear-gradient(#ffe4e6 0 98px,#fffdf6 98px); }
.solution-paths .service-fit-card > strong { display:block; text-align:center; border:0; border-radius:0; background:transparent; box-shadow:none; padding:0; margin:0; font-size:36px; text-transform:none; letter-spacing:0; line-height:1.1; }
.solution-paths .service-fit-card > h3 { font-size:25px; line-height:1.35; text-align:center; margin:4px 0 0; }
.solution-paths .service-fit-card:nth-child(1)>strong { color:#16649a; }
.solution-paths .service-fit-card:nth-child(2)>strong { color:#b27600; }
.solution-paths .service-fit-card:nth-child(3)>strong { color:#dc3844; }
.solution-paths .service-fit-card::before { content:""; position:absolute; left:calc(50% - 35px); top:112px; width:70px; height:70px; background:url('/assets/arcade-theme/people.svg') center/contain no-repeat; }
.solution-paths .service-fit-card:nth-child(2)::before { background-image:url('/assets/arcade-theme/progress.svg'); }
.solution-paths .service-fit-card:nth-child(3)::before { background-image:url('/assets/arcade-theme/personal.svg'); }
.solution-paths .service-fit-card > p { margin:96px 0 18px; font-size:16px; line-height:1.7; font-weight:750; }
.solution-paths .service-fit-card > a { width:100%; justify-content:center; min-height:40px; margin-top:auto; padding:7px 14px; background:var(--red); font-size:16px; border:2px solid #a82c36; box-shadow:0 2px 0 #a82c36; }
#training-approach { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:22px 46px; }
#training-approach>.split { display:contents; }
#training-approach .feature-copy { grid-column:1; grid-row:1; }
#training-approach .feature-copy>.section-kicker { border:0; border-radius:0; background:transparent; box-shadow:none; padding:0; margin-bottom:12px; font-size:clamp(26px,2.5vw,39px); font-weight:950; line-height:1.3; }
#training-approach .feature-copy>h2 { display:inline; padding:4px 13px; background:#ffe882; border-radius:30px; font-size:clamp(21px,1.75vw,28px); line-height:1.6; box-decoration-break:clone; -webkit-box-decoration-break:clone; }
#training-approach .feature-copy>p:not(.section-kicker) { font-size:16px; line-height:1.7; margin:14px 0 0; font-weight:750; }
#training-approach>.split>.image-panel { grid-column:1; grid-row:2; align-self:start; border:0; box-shadow:none; border-radius:17px; margin:0; }
#training-approach>.split>.image-panel img { width:100%; height:auto; object-fit:contain; }
#training-approach .training-directions { grid-column:2; grid-row:1 / span 2; margin:0; align-self:start; display:flex; flex-direction:column; gap:0; background:#fffefb; border:2px solid var(--ink); border-radius:18px; box-shadow:0 3px 0 var(--ink); overflow:hidden; }
#training-approach .training-directions .service-fit-card { position:relative; padding:28px 21px 28px 91px; display:grid; grid-template-columns:135px minmax(0,1fr); gap:18px; align-items:center; border:0; border-bottom:1px solid #172b3c55; border-radius:0; box-shadow:none; background:transparent; }
#training-approach .training-directions .service-fit-card:last-child { border-bottom:0; }
#training-approach .training-directions h3 { font-size:23px; margin:0; line-height:1.3; }
#training-approach .training-directions p { font-size:15px; line-height:1.7; }
#training-approach .training-directions .service-fit-card::before { content:""; position:absolute; left:20px; top:calc(50% - 26px); width:53px; height:53px; background:url('/assets/arcade-theme/brain.svg') center/contain no-repeat; }
#training-approach .training-directions .service-fit-card:nth-child(2)::before { background-image:url('/assets/arcade-theme/movement.svg'); }
#training-approach .training-directions .service-fit-card:nth-child(3)::before { background-image:url('/assets/arcade-theme/bars.svg'); }
#training-approach>.research-note { grid-column:2; grid-row:3; align-self:start; margin:-8px 0 0; padding:16px 22px; text-align:left; background:#fff0bd; border-radius:28px; line-height:1.7; font-size:14px; }
#individual-training,#home-service { row-gap:18px; column-gap:38px; }
#individual-training .setting-heading>.section-kicker { background:transparent; border:0; box-shadow:none; padding:0; font-size:23px; margin:0 0 8px; }
#individual-training .setting-heading h2 { display:inline; font-size:clamp(26px,2.1vw,34px); line-height:1.65; border-radius:35px; background:#ffe582; padding:4px 13px; box-decoration-break:clone; -webkit-box-decoration-break:clone; }
#individual-training .setting-heading p:not(.section-kicker),#home-service .setting-heading p:not(.section-kicker) { font-size:16px; line-height:1.7; }
#individual-training .setting-action>p { position:relative; padding-left:31px; font-size:15px; }
#individual-training .setting-action>p::before { content:""; position:absolute; left:0; top:4px; width:22px; height:22px; background:url('/assets/arcade-theme/tick.svg') center/contain no-repeat; }
#individual-training .setting-visual,#home-service .setting-visual { border:0; box-shadow:none; border-radius:18px; }
.setting-visual figcaption { font-size:12px; padding:6px 9px; }
#individual-training .setting-action .button,#home-service .setting-action .button { min-height:43px; font-size:16px; padding:8px 18px; }
#service-experience { position:relative; padding:25px 4% 25px 235px; margin:0 3.8% 12px; border:2px solid #f7cf45; border-radius:38px; background:#fff9e4; }
#service-experience::before { left:0; right:auto; top:auto; bottom:1px; width:220px; height:103px; background:url('/assets/arcade-theme/skyline.svg') bottom left/contain no-repeat; }
#service-experience .section-heading { display:grid; grid-template-columns:minmax(220px,.9fr) minmax(0,1.1fr); gap:3px 32px; text-align:left; max-width:none; margin:0; }
#service-experience .section-kicker { grid-column:1; grid-row:1; justify-self:start; font-size:15px; min-height:28px; padding:2px 24px; margin:0; }
#service-experience h2 { grid-column:1; grid-row:2 / span 2; font-size:27px; }
#service-experience .section-heading>p:not(.section-kicker):not(.research-note) { grid-column:2; grid-row:1 / span 2; margin:0; font-size:15px; border-left:1px solid #11233360; padding-left:27px; }
#service-experience .research-note { grid-column:2; grid-row:3; text-align:left; background:transparent; border-radius:0; padding:0 0 0 27px; margin:0; font-size:12px; }
#how-it-works .section-heading { text-align:left; margin-bottom:22px; }
#how-it-works .section-heading h2 { font-size:27px; }
#how-it-works .workflow { padding:19px 12px; background:#fff0b4; border:1px solid #ebcc68; border-radius:20px; gap:10px; }
#how-it-works .workflow-card { position:relative; padding:12px 5px 6px; text-align:center; background:transparent; border:0; border-radius:0; box-shadow:none; }
#how-it-works .workflow-card .step-no { position:absolute; left:0; top:0; display:grid; place-items:center; width:30px; height:30px; padding:0; font-size:20px; border:2px solid var(--ink); border-radius:50%; background:var(--yellow); color:var(--ink); box-shadow:none; }
#how-it-works .workflow-card::before { content:""; display:block; width:63px; height:58px; margin:0 auto 14px; background:url('/assets/arcade-theme/monitor.svg') center/contain no-repeat; }
#how-it-works .workflow-card:nth-child(2)::before { background-image:url('/assets/arcade-theme/people.svg'); }
#how-it-works .workflow-card:nth-child(3)::before { background-image:url('/assets/arcade-theme/bars.svg'); }
#how-it-works .workflow-card h3 { font-size:18px; }
#how-it-works .workflow-card p { font-size:14px; line-height:1.65; text-align:left; }
#how-it-works .detail-link { font-size:14px; line-height:2; }
#demonstration .split { display:grid; grid-template-columns:1fr; gap:14px; }
#demonstration .feature-copy { display:contents; }
#demonstration .section-kicker { grid-row:1; justify-self:start; margin:0; font-size:19px; }
#demonstration h2 { grid-row:2; font-size:24px; }
#demonstration .hero-visual { grid-row:3; margin:0; width:100%; border:1px solid #11233340; box-shadow:none; border-radius:15px; }
#demonstration .feature-copy>p:not(.section-kicker):not(.research-note) { grid-row:4; font-size:15px; margin:0; }
#demonstration .research-note { grid-row:5; margin:0; padding:0; background:transparent; border-radius:0; font-size:13px; }
#home-service .setting-heading h2 { font-size:30px; }
#home-service .setting-heading>.section-kicker { font-size:20px; }
#institutional-demo { background:var(--paper); color:var(--ink); display:block; }
#institutional-demo h2 { font-size:29px; }
#institutional-demo .section-kicker { position:relative; padding-left:58px; background:transparent; border:0; box-shadow:none; font-size:24px; }
#institutional-demo .section-kicker::before { content:""; position:absolute; left:0; top:-2px; width:43px; height:52px; background:url('/assets/arcade-theme/clipboard.svg') center/contain no-repeat; }
#institutional-demo p { font-size:16px; line-height:1.7; }
#institutional-demo .cta-actions { display:flex; flex-flow:row wrap; justify-content:flex-start; align-items:center; gap:12px; margin-top:20px; }
#institutional-demo .button { min-height:43px; padding:8px 16px; font-size:15px; }
#institutional-demo .trial-text { width:100%; text-align:left; font-size:14px; margin-top:0; }
#faq .section-heading { position:relative; padding-left:77px; text-align:left; margin-bottom:20px; }
#faq .section-heading::before { content:""; position:absolute; left:0; top:3px; width:60px; height:60px; background:url('/assets/arcade-theme/chat.svg') center/contain no-repeat; }
#faq .section-kicker { background:transparent; border:0; border-radius:0; box-shadow:none; padding:0; margin:0; font-size:25px; }
#faq h2 { font-size:24px; }
#faq .conversion-faq details { border:1px solid #11233370; border-radius:25px; padding:10px 18px; margin:9px 0; box-shadow:0 2px 0 #11233330; }
#faq .conversion-faq summary { font-size:16px; line-height:1.5; }
#faq .detail-link { margin-top:12px; font-size:15px; }
.site-footer { position:relative; background:var(--paper); color:var(--ink); border:0; padding-top:44px; padding-bottom:25px; }
.site-footer::before { content:""; position:absolute; left:0; right:0; top:-14px; height:30px; background:url('/assets/arcade-theme/wave-bold.svg') center/100% 100% no-repeat; }
.footer-main { position:relative; grid-template-columns:2fr repeat(4,minmax(0,1fr)); gap:25px; padding-left:215px; }
.footer-main::before { content:""; position:absolute; bottom:-8px; left:-45px; width:245px; height:125px; background:url('/assets/arcade-theme/skyline.svg') bottom/contain no-repeat; }
.footer-main h3,.footer-main h4,.footer-main p,.footer-main a { color:var(--ink); }
.footer-main h3 { font-size:19px; }
.footer-main h4 { font-size:16px; }
.footer-main p,.footer-main a { font-size:13px; line-height:1.7; }
.footer-bottom { margin-top:23px; padding-top:15px; color:var(--ink); border-top:1px solid #11233335; font-size:11px; }
.whatsapp-float { background:var(--red); border:2px solid var(--ink); box-shadow:0 3px 0 var(--ink); font-size:14px; }
@media(min-width:1081px) {
  main:has(>.hero.conversion-hero) { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  main:has(>.hero.conversion-hero)>* { grid-column:1/-1; min-width:0; }
  main:has(>.hero.conversion-hero)>#how-it-works,main:has(>.hero.conversion-hero)>#institutional-demo { grid-column:1; padding-right:24px; }
  main:has(>.hero.conversion-hero)>#demonstration,main:has(>.hero.conversion-hero)>#faq { grid-column:2; padding-left:24px; }
  #how-it-works,#demonstration { border-top:1px solid #ffda3d; }
  #demonstration { border-left:1px solid #f0ce57; }
  #individual-training,#home-service { grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); }
}
@media(max-width:1250px) and (min-width:1081px) {
  .site-header { grid-template-columns:190px 1fr 185px; column-gap:12px; }
  .nav-links { gap:16px; font-size:14px; }
  .site-header::before { font-size:18px; }
  .hero h1,.conversion-hero h1 { font-size:43px; }
  .hero .hero-copy { font-size:16px; }
  .hero .equipment-note { padding-right:120px; }
  .hero .equipment-note::after { width:115px; }
  #training-approach .training-directions .service-fit-card { grid-template-columns:1fr; gap:8px; padding:20px 18px 20px 78px; }
  #service-experience { padding-left:170px; }
  #service-experience::before { width:160px; }
  #service-experience .section-heading { grid-template-columns:1fr 1fr; }
  #service-experience h2 { font-size:23px; }
  .footer-main { padding-left:145px; }
  .footer-main::before { width:175px; }
}
@media(max-width:1080px) {
  html { scroll-padding-top:105px; }
  .site-header { display:grid; grid-template-columns:1fr 52px; grid-template-rows:80px; min-height:80px; padding:0 22px; }
  .site-header::before,.site-header::after { display:none; }
  .brand { grid-column:1/-1; grid-row:1; width:290px; height:72px; justify-self:center; }
  .menu-toggle { grid-column:2; grid-row:1; z-index:2; background:var(--yellow); }
  .nav-links { position:fixed; inset:80px 0 auto; padding:20px; margin:0; background:var(--paper); border-bottom:3px solid var(--ink); }
  body.nav-open .nav-links { display:grid; }
  .header-action { display:none; }
  .skip-link { top:-100px; }
  .skip-link:focus { top:8px; z-index:90; padding:8px; background:var(--yellow); }
  .hero { display:grid; grid-template-columns:1fr; padding:36px 5% 40px; gap:28px; overflow:hidden; }
  .hero .hero-content { display:block; }
  .hero h1,.conversion-hero h1 { font-size:48px; }
  .hero .eyebrow { margin-bottom:17px; }
  .hero .hero-copy { margin:18px 0 13px; }
  .hero-pain { margin-bottom:15px; }
  .hero-starting-price { width:auto; display:block; margin:16px 0; max-width:540px; }
  .hero .hero-actions { flex-direction:row; flex-wrap:wrap; margin:12px 0 16px; }
  .hero .equipment-note { padding:12px 140px 12px 55px; }
  .hero .equipment-note::after { width:130px; }
  .hero .hero-visual { grid-column:auto; grid-row:auto; width:100%; max-width:820px; }
  .setting-jumps { width:auto; margin:0 5% 18px; padding:12px; }
  .setting-jumps span { width:auto; }
  #solution-paths .section-heading::before { left:-7px; top:-5px; width:60px; height:65px; }
  #solution-paths .section-heading::after { right:0; top:-7px; width:50px; height:75px; }
  #solution-paths .section-heading h2::before,#solution-paths .section-heading h2::after { display:none; }
  .solution-paths .service-fit-card { min-height:385px; }
  #training-approach { display:block; }
  #training-approach>.split { display:grid; grid-template-columns:1fr; gap:24px; }
  #training-approach .feature-copy,#training-approach>.split>.image-panel { grid-column:auto; grid-row:auto; }
  #training-approach .training-directions { margin-top:26px; }
  #training-approach>.research-note { margin-top:20px; }
  #individual-training,#home-service { display:block; }
  #individual-training .setting-heading,#home-service .setting-heading { text-align:left; margin-bottom:24px; }
  #individual-training .setting-visual,#home-service .setting-visual { margin:0; }
  #individual-training .setting-action,#home-service .setting-action { margin-top:24px; }
  #service-experience { margin:0 5% 12px; padding:25px 25px 25px 170px; }
  #service-experience::before { width:160px; }
  #service-experience .section-heading { display:block; }
  #service-experience h2 { font-size:28px; margin:8px 0; }
  #service-experience .section-heading>p:not(.section-kicker):not(.research-note),#service-experience .research-note { border:0; padding:0; margin-top:10px; }
  .footer-main { padding-left:0; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .footer-main::before { display:none; }
  .footer-main>div:first-child { grid-column:1/-1; }
}
@media(max-width:760px) {
  .site-header { min-height:76px; grid-template-rows:76px; padding:0 16px; }
  .brand { width:230px; height:64px; justify-self:start; }
  .nav-links { inset:76px 0 auto; }
  .hero h1,.conversion-hero h1 { font-size:clamp(32px,8.8vw,43px); }
  .hero h1::after { right:2px; width:25px; height:50px; }
  .hero .hero-copy { font-size:16px; }
  .hero .hero-actions { flex-direction:column; }
  .hero .hero-actions .button { font-size:16px; }
  .hero .equipment-note { padding:12px 90px 12px 45px; font-size:13px; }
  .hero .equipment-note::before { width:35px; }
  .hero .equipment-note::after { width:85px; height:70px; }
  .hero-starting-price strong { font-size:25px; }
  .setting-jumps { gap:7px; }
  .setting-jumps span { width:100%; text-align:center; }
  .setting-jumps a { font-size:13px; }
  .setting-jumps::after { display:none; }
  .section,.compact-section { padding:40px 5% 38px; }
  .section::before,.cta-section::before,.page-hero::after { height:24px; top:-11px; }
  .section-kicker,.eyebrow { font-size:14px; }
  #solution-paths .section-heading::before,#solution-paths .section-heading::after { display:none; }
  .solution-paths .service-fit-card { min-height:390px; }
  .solution-paths .service-fit-card>p { font-size:16px; }
  #training-approach .feature-copy>.section-kicker { font-size:28px; }
  #training-approach .feature-copy>h2 { font-size:22px; }
  #training-approach .training-directions .service-fit-card { grid-template-columns:1fr; gap:8px; padding:20px 18px 20px 74px; }
  #training-approach .training-directions h3 { font-size:21px; }
  #training-approach .training-directions .service-fit-card::before { left:15px; width:42px; height:42px; }
  #service-experience { padding:24px 20px 95px; margin:0 5% 12px; }
  #service-experience::before { height:80px; width:190px; left:12px; bottom:0; }
  #service-experience h2 { font-size:25px; }
  #how-it-works .workflow { grid-template-columns:1fr; gap:20px; padding:22px 18px; }
  #how-it-works .workflow-card p { text-align:center; font-size:15px; }
  #how-it-works .workflow-card h3 { font-size:20px; }
  #how-it-works .workflow-card::before { width:56px; }
  #faq .section-heading { padding-left:64px; }
  #faq .section-heading::before { width:50px; }
  .footer-main { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
  .footer-main h3 { font-size:20px; }
  .footer-main p,.footer-main a { font-size:14px; }
  .site-footer { padding-bottom:85px; }
}
/* Independent hero columns avoid artificial gaps between the original copy. */
@media(min-width:1081px) {
  .hero { grid-template-rows:auto; gap:42px; padding-top:46px; align-items:start; }
  .hero .hero-content { display:block; position:static; grid-column:1; grid-row:1; }
  .hero .eyebrow { margin-bottom:17px; }
  .hero h1 { margin:0 0 20px; }
  .hero .hero-copy { margin:0 0 13px; }
  .hero-pain { margin:0 0 17px; }
  .hero-starting-price { margin:0 0 14px; }
  .hero .hero-actions { margin:0; }
  .hero .hero-visual { grid-column:2; grid-row:1; align-self:start; display:block; }
  .hero .equipment-note { position:absolute; left:calc(37% + 2.7%); right:3.8%; bottom:94px; }
}
.hero::before { top:0; height:28px; }
.section::before,.cta-section::before { top:0; }
@media(min-width:1081px) {
  .hero { padding-bottom:150px; }
  .hero .equipment-note { grid-column:auto; grid-row:auto; top:calc(32.78vw + 82px); bottom:auto; }
  #training-approach>.split { display:flex; flex-direction:column; gap:20px; grid-column:1; grid-row:1/span 2; align-self:start; }
  #training-approach .training-directions { grid-column:2; grid-row:1; }
  #training-approach>.research-note { grid-column:2; grid-row:2; margin:0; }
  #training-approach .feature-copy>.section-kicker { font-size:clamp(27px,2.3vw,35px); }
  #training-approach .feature-copy>p:not(.section-kicker) { font-size:15.5px; }
}
/* Wayne's update: compact top-left wordmark, without a separate logo banner. */
html { scroll-padding-top:112px; }
.site-header { display:flex; align-items:center; min-height:84px; padding:9px 3.8%; gap:24px; }
.site-header::before,.site-header::after { display:none; }
.brand { flex:0 0 235px; width:235px; height:62px; margin:0; }
.nav-links { margin-left:auto; gap:25px; }
.header-action { flex:0 0 auto; }
@media(max-width:1250px) and (min-width:1081px) { .brand { flex-basis:215px; width:215px; } .nav-links { gap:17px; } }
@media(max-width:1080px) {
  .site-header { min-height:80px; padding:8px 22px; }
  .brand { flex-basis:235px; width:235px; height:62px; }
  .menu-toggle { margin-left:auto; }
  .nav-links { inset:80px 0 auto; margin:0; }
}
@media(max-width:760px) {
  .site-header { min-height:74px; padding:7px 16px; gap:12px; }
  .brand { flex-basis:210px; width:210px; height:58px; }
  .nav-links { inset:74px 0 auto; }
}
.skip-link { top:-100px; }
.skip-link:focus { top:10px; padding:8px 12px; border:2px solid var(--ink); background:var(--yellow); z-index:100; }
#training-approach .feature-copy>.section-kicker,#individual-training .setting-heading>.section-kicker { display:block; width:fit-content; }
#training-approach .feature-copy>h2,#individual-training .setting-heading h2 { display:inline-block; }
.price-promo-tag { font-size:12px !important; font-weight:850; color:#8a3426 !important; margin-bottom:3px; }
.price-promo-note { font-size:12px !important; font-weight:650; margin-top:4px; line-height:1.5; }
.plan-promo-note { font-size:12px !important; font-weight:800; color:#9f342d !important; padding:7px 0; }
.pricing-period-note { max-width:1120px; margin:0 auto 28px; padding:16px 22px; border:2px solid var(--ink); border-radius:17px; background:#fff0bc; }
.pricing-period-note p { margin:0; font-size:14px; line-height:1.8; }
.pricing-period-note p+p { margin-top:6px; }

/* Calendar-based urgency for the confirmed 31 December offer deadline. */
.price-promo-tag,.plan-promo-note { display:block; font-size:14px !important; font-weight:900; line-height:1.55; }
.price-promo-tag>strong,.plan-promo-note>strong { display:block; font-size:14px !important; font-weight:900; color:#b52a25; }
.offer-standard-price { display:block; font-size:12px !important; font-weight:800; color:var(--ink); }

/* Prominent all-plan offer strip above the compact navigation. */
.offer-top-banner { background:#ff3d4c; border-bottom:3px solid #152537; color:#fff; }
.offer-top-banner>a { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:12px 24px; padding:14px 22px; min-height:66px; color:#fff; text-decoration:none; }
.offer-banner-title { font-size:clamp(17px,1.65vw,24px); font-weight:950; line-height:1.35; }
.offer-banner-count { display:inline-block; background:#ffdf45; color:#152537; border:2px solid #152537; border-radius:9px; padding:5px 15px; font-size:20px; font-weight:950; box-shadow:2px 3px 0 #152537; white-space:nowrap; }
.offer-banner-action { font-weight:900; font-size:15px; text-decoration:underline; text-underline-offset:4px; white-space:nowrap; }
.offer-top-banner>a:focus-visible { outline:3px solid #152537; outline-offset:-5px; }
.tier-offer-label { display:inline-block; margin:4px 0 10px; padding:5px 12px; background:#ff3d4c; color:#fff !important; border-radius:7px; font-weight:950; font-size:14px !important; }
@media(max-width:760px) { .offer-top-banner>a { gap:8px 12px; padding:11px 14px; } .offer-banner-title { flex-basis:100%; text-align:center; font-size:18px; } .offer-banner-count { font-size:17px; padding:4px 12px; } .offer-banner-action { font-size:14px; } }

/* Keep the offer and navigation visible together at every screen width. */
:root { --offer-banner-height:73px; }
.offer-top-banner { position:sticky; top:0; z-index:65; }
.offer-top-banner[hidden] { display:none; }
.offer-expired .plan-card .tier-price,
.offer-expired .plan-card .price-details { display:none; }
.site-header { top:var(--offer-banner-height); }
html { scroll-padding-top:calc(var(--offer-banner-height) + 112px); }
.tier-offer-label { display:flex; flex-direction:column; align-items:flex-start; gap:3px; width:100%; padding:10px 12px; line-height:1.4; box-sizing:border-box; }
.tier-offer-label strong { font-size:16px; font-weight:950; }
.tier-offer-label [data-offer-countdown] { color:#ffed8c; font-size:15px; font-weight:900; }
@media(max-width:760px) { :root { --offer-banner-height:112px; } html { scroll-padding-top:calc(var(--offer-banner-height) + 90px); } }
