/* v3.0.45: styles only for the requested additions to the 3.0.44 layout. */
.tally-boarding-soon { position:relative; }
.tally-boarding-soon .tally-coming-soon-stamp { position:absolute; top:48%; left:50%; z-index:5; width:calc(100% - 28px); max-width:350px; padding:12px 6px; transform:translate(-50%,-50%) rotate(-10deg); border:5px double #f8c400; color:#f8c400; background:rgba(4,24,45,.96); box-shadow:0 5px 16px #0004; font-family:var(--tally-display); font-size:clamp(25px,2.7vw,39px); line-height:1.1; font-weight:900; text-align:center; letter-spacing:.06em; pointer-events:none; }
.tally-working-options .tally-working-choice { display:flex; flex-direction:column; min-width:0; text-decoration:none; }
.tally-working-options .tally-working-choice p { color:inherit; }
.tally-working-options .tally-working-choice .text-link { margin-top:auto; padding-top:16px; }
.tally-working-options .tally-working-choice:focus-visible { outline:4px solid #f8c400; outline-offset:4px; }
.tally-hybrid-offer { display:grid; grid-template-columns:minmax(0,1fr) 280px; align-items:center; gap:32px; margin:30px 0 38px; padding:32px; color:white; background:#04182d; border:3px solid #f8c400; box-shadow:8px 8px 0 #04182d20; }
.tally-hybrid-offer .eyebrow { color:#f8c400; }
.tally-hybrid-offer h2 { color:#f8c400!important; font-size:clamp(28px,3vw,40px)!important; margin:0 0 18px; }
.tally-hybrid-offer p { color:#fff; font-size:16px; line-height:1.65; }
.tally-hybrid-offer p:last-child { margin-bottom:0; }
.tally-hybrid-price { display:flex; flex-direction:column; align-items:center; text-align:center; padding:22px; background:#ffffff0c; border:1px solid #ffffff33; }
.tally-hybrid-price>strong { font-size:56px; line-height:1.1; color:#f8c400; }
.tally-hybrid-price>span { font-size:20px; font-weight:800; margin:10px 0 6px; }
.tally-hybrid-price>small { color:#e1e9ef; font-size:14px; }
.tally-hybrid-price>.tally-button { margin-top:22px; width:100%; font-size:14px; }
.training-program-grid .content-card { display:flex; flex-direction:column; }
.tally-plan-purchase { margin-top:auto; padding-top:22px; border-top:1px solid #ffffff40; }
.training-program-grid .tally-plan-price { margin:0 0 16px; color:#f8c400!important; font:800 30px/1.2 var(--tally-body); }
.tally-plan-price small { display:block; margin-top:8px; color:#fff; font-size:14px; font-weight:650; }
.training-program-grid .tally-plan-note { display:block; color:#e4eaf0!important; font-size:13px; line-height:1.5; margin:12px 0; }
.tally-plan-checkout { margin:16px 0 8px; }
.tally-plan-checkout .tally-button { width:100%; white-space:normal; min-height:48px; }
.tally-review-banner { margin:46px 0 0; padding:32px; border:3px solid #f8c400; background:#04182d; color:white; box-shadow:8px 8px 0 #04182d1c; }
.tally-review-heading { margin-bottom:24px; }
.tally-review-heading .eyebrow { color:#f8c400; }
.tally-review-heading h2 { color:#f8c400!important; font-size:clamp(27px,3vw,38px)!important; line-height:1.15; margin:0; }
.tally-review-slide { display:grid; grid-template-columns:minmax(240px,34%) minmax(0,1fr); gap:36px; align-items:center; min-height:300px; }
.tally-review-slide[hidden],.tally-review-controls[hidden] { display:none!important; }
.tally-review-slide+.tally-review-slide { margin-top:32px; }
.tally-review-banner[data-enhanced] .tally-review-slide { margin-top:0; }
.tally-review-media { min-width:0; margin:0; }
.tally-review-media img,.tally-review-media video { display:block; width:100%; aspect-ratio:4/3; height:auto; max-height:300px; object-fit:contain; background:#02111f; border:1px solid #ffffff30; }
.tally-review-media figcaption { padding-top:9px; color:#d9e3eb; font-size:13px; }
.tally-review-copy { min-width:0; }
.tally-review-copy blockquote { margin:0 0 22px; padding:0; border:0; background:none; }
.tally-review-copy blockquote p { color:white!important; font:500 clamp(17px,1.6vw,21px)/1.65 var(--tally-body)!important; margin:0; letter-spacing:0; text-transform:none; }
.tally-review-copy .tally-review-author { color:#f8c400!important; font:800 19px/1.4 var(--tally-body); margin:0 0 5px; }
.tally-review-copy .tally-review-date { color:#cad7e2!important; font:400 13px/1.5 var(--tally-body); margin:0; }
.tally-review-controls { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:12px; padding-top:24px; }
.tally-review-controls button { min-height:44px; min-width:44px; padding:10px 15px; border:1px solid #f8c400; border-radius:4px; background:#f8c400; color:#04182d; font:750 16px/1.3 var(--tally-body); cursor:pointer; }
.tally-review-controls .tally-review-pause { background:transparent; color:#f8c400; font-size:13px; }
.tally-review-controls button:focus-visible { outline:3px solid white; outline-offset:4px; }
.tally-review-controls button:hover { box-shadow:0 0 0 2px #ffffff50; }
.tally-review-controls [data-review-status] { color:white; font-size:14px; }
@media(max-width:850px) {
 .tally-hybrid-offer { grid-template-columns:minmax(0,1fr); gap:22px; padding:24px; }
 .tally-hybrid-price { align-items:flex-start; text-align:left; }
 .tally-hybrid-price>.tally-button { width:auto; }
 .tally-review-slide { grid-template-columns:minmax(0,1fr); gap:22px; }
 .tally-review-media { max-width:420px; width:100%; margin-inline:auto; }
 .tally-review-banner { padding:24px; }
}
@media(max-width:480px) {
 .tally-review-banner { padding:20px 16px; margin-top:30px; }
 .tally-review-copy blockquote p { font-size:17px!important; }
 .tally-review-controls { justify-content:center; gap:10px; }
 .tally-review-controls .tally-review-pause { flex-basis:100%; }
 .tally-hybrid-offer { padding:21px 17px; }
 .tally-hybrid-price { padding:19px; }
 .tally-hybrid-price>strong { font-size:48px; }
}

/* Keep the existing torn edges inside the desktop viewport, as on mobile. */
.torn-bottom::after, .torn-top::before { left:0; width:100%; }
