/* MySportCal project story - deliberately scoped to the Rismor site */
.mysportcal-page .msc-separator{margin:0 7px;color:#92a4be}
.mysportcal-page .msc-hero{background:linear-gradient(135deg,#fff 10%,#f4f8fd 82%);border-bottom:1px solid #e4eaf1}
.mysportcal-page .msc-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:center;gap:clamp(24px,4vw,65px);padding-block:68px 76px}
.mysportcal-page .msc-hero-copy h1{font-size:clamp(40px,4.5vw,70px);line-height:1.08;max-width:730px;margin-bottom:24px}
.mysportcal-page .msc-hero-copy h1 em,.mysportcal-page .msc-product h2 em,.mysportcal-page .msc-final h2 em{color:#1555aa;font-style:normal}
.mysportcal-page .msc-hero-copy .msc-hero-intro{font-size:clamp(18px,1.7vw,23px);font-weight:800;color:#0c2a51;line-height:1.35;margin-bottom:14px}
.mysportcal-page .msc-hero-copy>p:not(.overline):not(.msc-hero-intro){max-width:620px;font-size:15px;line-height:1.8;color:#475a72;margin-bottom:28px}
.mysportcal-page .msc-hero-visual{margin:0;min-width:0}
.mysportcal-page .msc-hero-visual img{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;border:1px solid #dee7f2;box-shadow:0 18px 60px rgba(4,24,58,.12)}
.mysportcal-page .msc-hero-visual figcaption{font-size:11px;color:#596e87;margin-top:11px;line-height:1.5}
.mysportcal-page .msc-section{padding-block:85px}
.mysportcal-page .msc-introduction{display:grid;grid-template-columns:minmax(180px,0.48fr) minmax(0,1fr);gap:clamp(35px,8vw,130px)}
.mysportcal-page .msc-intro-label{padding-top:9px}
.mysportcal-page .msc-rule{display:block;width:95px;height:2px;background:#1d61b1;margin:35px 0}
.mysportcal-page .msc-intro-label .handwritten{font-size:clamp(20px,2.3vw,30px);color:#3a6fa7;transform:rotate(-5deg)}
.mysportcal-page .msc-reading{max-width:830px}
.mysportcal-page .msc-reading h2{font-size:clamp(33px,3.5vw,50px);margin-bottom:27px}
.mysportcal-page .msc-reading p{font-size:16px;line-height:1.88;color:#4b5d72;margin-bottom:18px}
.mysportcal-page .msc-reading .msc-lead,.mysportcal-page .msc-collaboration .msc-lead{font-size:clamp(18px,2vw,24px);line-height:1.56;color:#0d2b52;font-weight:750}
.mysportcal-page .msc-pullquote{background:#05172f;color:#fff;padding-block:65px;position:relative;overflow:hidden}
.mysportcal-page .msc-pullquote::after{content:"";position:absolute;inset:0;background-image:url('/assets/media/rismor-approach-band.webp');background-size:cover;background-position:center;opacity:.14;pointer-events:none}
.mysportcal-page .msc-pullquote-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(150px,.48fr) minmax(0,1fr);gap:20px 90px}
.mysportcal-page .msc-pullquote .overline{padding-top:13px}
.mysportcal-page .msc-pullquote blockquote{margin:0;font-weight:800;letter-spacing:-.045em;font-size:clamp(27px,3.3vw,48px);line-height:1.23;max-width:940px}
.mysportcal-page .msc-pullquote blockquote em{font-style:normal;color:#82b9fc}
.mysportcal-page .msc-pullquote-grid>p:last-child{grid-column:2;font-size:14px;color:#c8d7eb;margin:0}
.mysportcal-page .msc-section-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,.55fr);gap:35px;align-items:end;margin-bottom:34px}
.mysportcal-page .msc-section-heading h2{font-size:clamp(35px,4vw,54px);max-width:720px;margin:0}
.mysportcal-page .msc-section-heading>p{font-size:15px;color:#53647b;line-height:1.7;margin:0 0 4px}
.mysportcal-page .msc-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.mysportcal-page .msc-feature{min-width:0;background:#f7fafd;border:1px solid #dbe5f0;padding:30px 27px 32px;position:relative;overflow:hidden}
.mysportcal-page .msc-feature::before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:#2062b1}
.mysportcal-page .msc-index{font-size:10px;letter-spacing:.13em;font-weight:800;color:#326aa9}
.mysportcal-page .msc-feature h3{font-size:clamp(20px,2vw,26px);margin:17px 0 11px}
.mysportcal-page .msc-feature p{font-size:14px;line-height:1.7;color:#4d5f76;margin:0}
.mysportcal-page .msc-feature-symbol{height:74px;margin-top:25px;position:relative;border-bottom:1px solid #d5e0ee}
.mysportcal-page .msc-feature-symbol span{display:block;position:absolute;border:2px solid #2267b8}
.mysportcal-page .msc-symbol-fixture span{height:16px;width:60px;left:10px;top:4px;border-radius:2px}
.mysportcal-page .msc-symbol-fixture span:nth-child(2){top:25px;width:94px;border-color:#7aabd9}
.mysportcal-page .msc-symbol-fixture span:nth-child(3){top:46px;width:75px}
.mysportcal-page .msc-symbol-calendar::before{content:"";position:absolute;width:90px;height:56px;border:2px solid #2267b8;border-top:13px solid #2267b8;left:10px;top:5px}
.mysportcal-page .msc-symbol-calendar span{width:10px;height:10px;top:29px;left:29px;background:#a9ccee;border:0}
.mysportcal-page .msc-symbol-calendar span:nth-child(2){left:47px}
.mysportcal-page .msc-symbol-calendar span:nth-child(3){left:65px;background:#2267b8}
.mysportcal-page .msc-symbol-story span{height:38px;width:12px;bottom:14px;left:12px;background:#d9eafb;border:0}
.mysportcal-page .msc-symbol-story span:nth-child(2){height:53px;left:35px;background:#8db6e6}
.mysportcal-page .msc-symbol-story span:nth-child(3){height:28px;left:58px;background:#2369bb}
.mysportcal-page .msc-product-note{margin:22px 0 0;max-width:840px;color:#5d6c82;font-size:15px;line-height:1.7}
.mysportcal-page .msc-life{background:#ebf2fa;padding-block:83px}
.mysportcal-page .msc-life-grid{display:grid;grid-template-columns:minmax(260px,.65fr) minmax(0,1.25fr);gap:clamp(40px,8vw,150px)}
.mysportcal-page .msc-life-lead h2{font-size:clamp(35px,4.2vw,60px);max-width:500px;margin:14px 0 24px}
.mysportcal-page .msc-life-lead p:last-child{font-size:16px;max-width:370px;color:#51637a}
.mysportcal-page .msc-life-stories article{display:grid;grid-template-columns:62px 1fr;gap:15px;border-top:1px solid #bfcfe0;padding-block:27px}
.mysportcal-page .msc-life-stories article:last-child{border-bottom:1px solid #bfcfe0}
.mysportcal-page .msc-life-stories article>span{color:#2268b5;font-weight:800;font-size:24px;line-height:1}
.mysportcal-page .msc-life-stories h3{font-size:22px;margin-bottom:9px}
.mysportcal-page .msc-life-stories p{font-size:14px;line-height:1.75;color:#4c5e73;margin:0}
.mysportcal-page .msc-engineering-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(250px,.72fr);gap:45px;align-items:center}
.mysportcal-page .msc-system-art{min-width:0;background:linear-gradient(135deg,#041229,#0b315f);color:#fff;padding:26px 28px 28px;box-shadow:0 20px 35px #071b3520}
.mysportcal-page .msc-schematic-top{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #4b7298;font-size:10px;font-weight:800;letter-spacing:.08em;color:#a5c5e9;padding-bottom:18px}
.mysportcal-page .msc-schematic{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding-block:38px}
.mysportcal-page .msc-schematic>div{position:relative;border:1px solid #6388ae;padding:22px 14px;min-width:0;background:#0d3664}
.mysportcal-page .msc-schematic>div::before{content:"";width:8px;height:8px;background:#8ec2fc;border-radius:50%;position:absolute;top:-5px;left:14px}
.mysportcal-page .msc-schematic small{display:block;font-size:9px;color:#9bc7f5;letter-spacing:.14em;font-weight:800}
.mysportcal-page .msc-schematic strong{display:block;font-size:17px;margin:9px 0 10px;line-height:1.2}
.mysportcal-page .msc-schematic span{display:block;font-size:10px;color:#d3e4f7;line-height:1.5}
.mysportcal-page .msc-system-art>p{font-size:14px;line-height:1.5;color:#bdd3eb;margin:2px 0 0}
.mysportcal-page .msc-engineering-copy h3{font-size:27px;margin-bottom:18px}
.mysportcal-page .msc-engineering-copy p{font-size:14px;color:#4d6079;line-height:1.8;margin-bottom:15px}
.mysportcal-page .msc-collaboration{padding-block:89px;background:linear-gradient(120deg,#f7faff,#eaf3ff)}
.mysportcal-page .msc-collaboration-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:clamp(50px,8vw,125px)}
.mysportcal-page .msc-collaboration h2{font-size:clamp(34px,4.4vw,62px);max-width:660px}
.mysportcal-page .msc-collaboration-grid>div:last-child p{font-size:15px;color:#4a5d75;line-height:1.8}
.mysportcal-page .msc-collaboration-grid>div:last-child .msc-lead{font-size:19px;color:#0d2b52;line-height:1.65}
.mysportcal-page .msc-collaboration-grid>div:last-child .msc-collaboration-end{font-weight:800;color:#0d3972;margin-top:18px}
.mysportcal-page .msc-final{background:#061b3a;color:#fff;padding-block:74px}
.mysportcal-page .msc-final-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:clamp(35px,8vw,120px)}
.mysportcal-page .msc-final h2{font-size:clamp(35px,4.5vw,62px);max-width:750px;margin:10px 0 0}
.mysportcal-page .msc-final h2 em{color:#82b9fc}
.mysportcal-page .msc-final-inner>div:last-child p{font-size:15px;color:#d5e1ef;line-height:1.75}
.mysportcal-page .msc-final .button-row{margin-top:22px}
@media(max-width:980px){
 .mysportcal-page .msc-hero-grid{grid-template-columns:1fr;padding-block:48px;gap:34px}
 .mysportcal-page .msc-hero-copy h1{max-width:770px}
 .mysportcal-page .msc-hero-visual{max-width:720px}
 .mysportcal-page .msc-pullquote-grid{gap:20px 40px}
 .mysportcal-page .msc-life-grid{gap:35px}
 .mysportcal-page .msc-engineering-grid{grid-template-columns:1fr;gap:28px}
}
@media(max-width:700px){
 .mysportcal-page .msc-hero-grid{padding-block:36px 44px}
 .mysportcal-page .msc-hero-copy h1{font-size:clamp(35px,10vw,48px)}
 .mysportcal-page .msc-hero-copy>p:not(.overline):not(.msc-hero-intro){font-size:14px;line-height:1.7}
 .mysportcal-page .msc-hero .button-row{flex-direction:column;align-items:stretch}
 .mysportcal-page .msc-section{padding-block:52px}
 .mysportcal-page .msc-introduction,.mysportcal-page .msc-pullquote-grid,.mysportcal-page .msc-section-heading,.mysportcal-page .msc-life-grid,.mysportcal-page .msc-collaboration-grid,.mysportcal-page .msc-final-inner{grid-template-columns:1fr;gap:22px}
 .mysportcal-page .msc-intro-label{display:flex;align-items:center;gap:20px;padding:0}
 .mysportcal-page .msc-intro-label .handwritten{font-size:17px}
 .mysportcal-page .msc-rule{width:45px;margin:0}
 .mysportcal-page .msc-reading h2{font-size:32px}
 .mysportcal-page .msc-reading p{font-size:14px;line-height:1.75}
 .mysportcal-page .msc-pullquote{padding-block:45px}
 .mysportcal-page .msc-pullquote blockquote{font-size:28px}
 .mysportcal-page .msc-pullquote-grid>p:last-child{grid-column:1}
 .mysportcal-page .msc-section-heading h2{font-size:36px}
 .mysportcal-page .msc-feature-grid{grid-template-columns:1fr;gap:12px}
 .mysportcal-page .msc-feature{padding:24px}
 .mysportcal-page .msc-feature-symbol{height:58px;margin-top:14px}
 .mysportcal-page .msc-life,.mysportcal-page .msc-collaboration{padding-block:53px}
 .mysportcal-page .msc-life-lead h2,.mysportcal-page .msc-collaboration h2{font-size:35px}
 .mysportcal-page .msc-life-stories article{grid-template-columns:40px 1fr;padding-block:23px}
 .mysportcal-page .msc-life-stories article>span{font-size:18px}
 .mysportcal-page .msc-life-stories h3{font-size:19px}
 .mysportcal-page .msc-schematic{grid-template-columns:1fr;gap:11px;padding-block:24px}
 .mysportcal-page .msc-schematic>div{padding:14px}
 .mysportcal-page .msc-system-art{padding:18px}
 .mysportcal-page .msc-schematic-top{font-size:8px}
 .mysportcal-page .msc-schematic strong{font-size:15px;margin:5px 0}
 .mysportcal-page .msc-collaboration-grid>div:last-child .msc-lead{font-size:18px}
 .mysportcal-page .msc-final{padding-block:50px}
 .mysportcal-page .msc-final h2{font-size:36px}
 .mysportcal-page .msc-final .button-row{align-items:stretch;flex-direction:column}
}
@media(prefers-reduced-motion:reduce){.mysportcal-page *{scroll-behavior:auto}}

/* The final whistle hasn't blown: pre-launch invitation */
.mysportcal-page .msc-final--cliffhanger h2{max-width:790px}
.mysportcal-page .msc-final-inner>div:last-child p.msc-cliffhanger-question{margin-top:26px;font-size:18px;line-height:1.55;color:#b8d4f4}
.mysportcal-page .msc-cliffhanger-question strong{display:inline-block;margin-top:7px;font-size:clamp(21px,2.2vw,29px);line-height:1.3;letter-spacing:-.035em;color:#fff}
.mysportcal-page .msc-final .msc-waitlist-cta{min-height:49px;padding:14px 25px;background:#216dc8;border-color:#216dc8;font-size:14px}
.mysportcal-page .msc-final .msc-waitlist-cta:hover{background:#1255a8;border-color:#1255a8}
.mysportcal-page .msc-final-inner>div:last-child p.msc-waitlist-note{margin-top:12px;color:#aac4e2;font-size:14px}

/* Quiet blueprint-pitch linework behind the pre-launch cliffhanger only. */
.mysportcal-page .msc-final--cliffhanger{position:relative;isolation:isolate;overflow:hidden}
.mysportcal-page .msc-final--cliffhanger::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background-image:url('/assets/media/products/mysportcal-pitch-outline.svg');background-repeat:no-repeat;background-position:center center;background-size:min(1200px,98%) auto;opacity:.13}
.mysportcal-page .msc-final--cliffhanger .msc-final-inner{position:relative;z-index:1}
@media(max-width:700px){
  .mysportcal-page .msc-final--cliffhanger::before{background-size:auto 80%;background-position:center center;opacity:.09}
}

/* Full-bleed project hero: the existing artwork is a decorative background, not a second column. */
.mysportcal-page .msc-hero{position:relative;isolation:isolate;overflow:hidden;background:#061a33;color:#fff;border-bottom:1px solid #1d416a}
.mysportcal-page .msc-hero-visual{position:absolute;inset:0;z-index:-2;margin:0;max-width:none;pointer-events:none}
.mysportcal-page .msc-hero-visual img{display:block;position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;max-width:none;object-fit:cover;object-position:70% 50%;border:0;box-shadow:none;filter:none}
.mysportcal-page .msc-hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(3,15,32,.98) 0%,rgba(3,18,39,.94) 30%,rgba(4,21,43,.83) 46%,rgba(4,23,46,.47) 70%,rgba(4,23,46,.20) 100%),linear-gradient(0deg,rgba(3,14,29,.60),transparent 45%)}
.mysportcal-page .msc-hero-grid{position:relative;display:flex;align-items:center;min-height:clamp(560px,48vw,710px);padding-block:80px;gap:0}
.mysportcal-page .msc-hero-copy{position:relative;z-index:1;flex:0 1 735px;max-width:62%;min-width:0;text-shadow:0 1px 9px rgba(1,9,20,.24)}
.mysportcal-page .msc-hero-copy .overline{color:#b5d9fd}
.mysportcal-page .msc-separator{color:#acc8e8}
.mysportcal-page .msc-hero-copy h1{color:#fff;max-width:760px}
.mysportcal-page .msc-hero-copy h1 em{color:#a9d2ff}
.mysportcal-page .msc-hero-copy .msc-hero-intro{color:#fff}
.mysportcal-page .msc-hero-copy>p:not(.overline):not(.msc-hero-intro){color:#e2edfb;max-width:650px}
.mysportcal-page .msc-hero .btn-outline{color:#fff;border-color:rgba(231,242,255,.84);background:rgba(4,21,43,.23);text-shadow:none}
.mysportcal-page .msc-hero .btn-outline:hover{background:rgba(255,255,255,.18)}
@media(max-width:980px){
 .mysportcal-page .msc-hero-grid{display:flex;min-height:575px;padding-block:65px;gap:0}
 .mysportcal-page .msc-hero-copy{max-width:min(100%,680px);flex-basis:680px}
 .mysportcal-page .msc-hero::after{background:linear-gradient(90deg,rgba(3,15,32,.97) 0%,rgba(3,18,39,.91) 47%,rgba(3,18,39,.70) 100%),linear-gradient(0deg,rgba(3,14,29,.37),transparent 60%)}
}
@media(max-width:700px){
 .mysportcal-page .msc-hero-grid{min-height:0;padding-block:70px 76px}
 .mysportcal-page .msc-hero-copy{max-width:100%;flex-basis:100%}
 .mysportcal-page .msc-hero-visual img{object-position:73% center}
 .mysportcal-page .msc-hero::after{background:linear-gradient(90deg,rgba(3,14,30,.93),rgba(3,17,36,.83)),linear-gradient(0deg,rgba(3,13,27,.68),transparent 60%)}
 .mysportcal-page .msc-hero-copy .msc-hero-intro{color:#fff}
 .mysportcal-page .msc-hero-copy>p:not(.overline):not(.msc-hero-intro){color:#e2edfb}
}

/* Top align the copy rather than centring it inside the full-bleed hero. */
.mysportcal-page .msc-hero-grid{padding-top:var(--rismor-interior-hero-top);align-items:flex-start}
