/* Home page preview sections (preview-sections.html): Wallboards and Displays, the AI-powered CRM,
   and How we get you started. Uses style.css's tokens and type; loaded last. */

/* Yellow underline in the headings, as in the benefits and who-it's-for headings */
.screens-section h2 .ul,.ai-section h2 .ul,.start-section h2 .ul{position:relative;white-space:nowrap}
.screens-section h2 .ul:after,.ai-section h2 .ul:after,.start-section h2 .ul:after{content:'';position:absolute;left:0;right:0;bottom:-8px;background:var(--yellow);height:5px;border-radius:50%;transform:rotate(-1deg)}
.screens-section .section-top>p,.ai-section .section-top>p{max-width:390px}
.screens-section h2,.ai-section h2,.start-section h2{text-wrap:balance}

/* Shared: the progress line on the chosen item, filled by sections.js while it turns */
.scr-meter{position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--ink);transform:scaleX(0);transform-origin:left center;opacity:0}
[aria-selected=true]>.scr-meter{opacity:1}
.rot-toggle{margin-top:0;min-height:36px;color:var(--ink)}
[data-rotator] img{user-select:none}

/* ---------------- Wallboards and displays ---------------- */
.screens-section{background:#fff;overflow:hidden}
.scr{display:grid;grid-template-columns:minmax(230px,.6fr) minmax(0,1.75fr);gap:52px;align-items:start}
.scr-places{display:flex;flex-direction:column;border-top:1px solid var(--line);padding-top:0}
.scr-places button{position:relative;display:flex;align-items:center;gap:16px;width:100%;padding:17px 8px 17px 0;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;font:inherit;color:var(--ink);transition:background .2s}
.scr-places button:hover{background:linear-gradient(90deg,var(--cream),transparent)}
.scr-num{flex:none;width:24px;font-size:12px;color:#8a887e;font-variant-numeric:tabular-nums;letter-spacing:.02em}
.scr-label{display:flex;flex-direction:column;min-width:0}
.scr-label strong{font-size:16px;font-weight:550;letter-spacing:-.01em;line-height:1.3}
.scr-label small{font-size:12.5px;color:var(--muted);line-height:1.4}
.scr-places [aria-selected=true] strong{font-weight:700}
.scr-places [aria-selected=true] .scr-num{color:var(--ink);font-weight:650}

.scr-stage{display:grid;gap:26px;min-width:0}
/* The wall the TV hangs on: warm plaster, lit from above */
.scr-wall{position:relative;border-radius:12px;padding:clamp(46px,6vw,78px) clamp(22px,6vw,86px) clamp(40px,5vw,66px);background:radial-gradient(90% 75% at 50% -8%,#fffcf3 0%,#f6efdf 52%,#efe5d1 100%);isolation:isolate}
.scr-wall:before{content:'';position:absolute;inset:0;border-radius:inherit;background:repeating-linear-gradient(90deg,rgba(120,96,50,.025) 0 1px,transparent 1px 120px);z-index:-1}
.scr-sign{position:absolute;top:18px;left:22px;display:inline-flex;align-items:center;gap:9px;font-size:11px;font-weight:650;letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}
.scr-sign i{width:7px;height:7px;border-radius:50%;background:#2f9e5b;box-shadow:0 0 0 0 rgba(47,158,91,.45);animation:scr-live 2.4s ease-out infinite}
@keyframes scr-live{0%{box-shadow:0 0 0 0 rgba(47,158,91,.45)}70%{box-shadow:0 0 0 8px rgba(47,158,91,0)}100%{box-shadow:0 0 0 0 rgba(47,158,91,0)}}
.tv{position:relative;z-index:1;padding:clamp(5px,1.05%,11px);border-radius:clamp(7px,1vw,12px);background:linear-gradient(180deg,#26272c,#0f1013);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 34px 46px -26px rgba(64,44,8,.55),0 10px 22px -12px rgba(64,44,8,.4)}
.tv-screen{position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:3px;background:#0a1230}
.tv-screen img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .9s ease}
.tv-screen img.is-on{opacity:1}
.tv-screen:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(118deg,rgba(255,255,255,.11) 0%,rgba(255,255,255,.03) 34%,rgba(255,255,255,0) 35%)}
.tv-led{position:absolute;right:4%;bottom:clamp(1px,.35%,4px);width:4px;height:4px;border-radius:50%;background:#f0b93a;box-shadow:0 0 6px #f0b93a}
.tv-shadow{position:absolute;left:14%;right:14%;bottom:clamp(14px,2.4vw,28px);height:18px;border-radius:50%;background:radial-gradient(closest-side,rgba(90,64,20,.16),transparent);z-index:0}

.scr-story{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:36px;align-items:start}
.scr-story h3{font-size:30px;margin-top:14px}
.scr-story p{font-size:15px;max-width:520px;padding-top:4px}
.scr-foot{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.scr-foot .caption{margin:0}

.scr-points{list-style:none;margin:70px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.scr-points li{padding-left:26px;border-left:1px solid var(--line)}
.scr-points h3{font-size:19px;margin-bottom:10px;letter-spacing:-.03em}
.scr-points p{font-size:14px}
.scr-points a{color:var(--ink);font-weight:600}

/* ---------------- AI-powered CRM ---------------- */
/* The hero's yellow rings, peeking out from behind the screen's top corner (kept inside the gap beside it) */
.ai-section{background:var(--cream);overflow:hidden}

/* The chosen step opens to show its detail */

/* ---------------- How we get you started ---------------- */
.start-section{background:var(--cream)}
.start-section + .faq-section{padding-top:110px}
.start-steps{list-style:none;margin:64px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;position:relative}
/* The line through the four steps: a track, and a yellow fill drawn as the section comes into view */
.start-steps:before,.start-steps:after{content:'';position:absolute;top:21px;left:22px;right:calc(25% - 43px);height:2px;border-radius:2px}
.start-steps:before{background:#dcd8cc}
.start-steps:after{background:var(--yellow);transform-origin:left center;transform:scaleX(1)}
.start-step{position:relative;padding-right:8px}
.start-dot{position:relative;z-index:1;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#fff;border:2px solid var(--ink);font-size:16px;font-weight:650;margin-bottom:22px}
.start-step:last-child .start-dot{background:var(--yellow);border-color:var(--yellow)}
.start-step .tag{color:#7a786f}
.start-step h3{font-size:22px;margin:10px 0 12px}
.start-step>p:last-child{font-size:14.5px}
.start-split{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:64px}
.start-part{background:#fff;border-radius:8px;padding:28px 32px}
.start-part.is-ours{background:var(--ink);color:#fff}
.start-part.is-ours h3{color:#fff}
.start-part h3{font-size:20px;margin-bottom:14px}
.start-part ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.start-part li{position:relative;padding-left:28px;font-size:15px;color:var(--muted)}
.start-part.is-ours li{color:#d8d6ce}
.start-part li:before{content:'';position:absolute;left:0;top:.42em;width:16px;height:16px;border-radius:50%;background:var(--cream) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8.3l2.2 2.2 4.8-5' fill='none' stroke='%231b1a17' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat}
.start-part.is-ours li:before{background-color:var(--yellow)}
.start-cta{display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px;margin-top:52px}
.start-cta p{font-size:13px;line-height:1.6}

/* Entrance: only when sections.js has marked the list (so nothing is hidden without it) */
.start-steps.is-anim:after{transform:scaleX(0);transition:transform 1.6s cubic-bezier(.45,.05,.25,1) .2s}
.start-steps.is-anim .start-step{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}
.start-steps.is-anim.is-in:after{transform:scaleX(1)}
.start-steps.is-anim.is-in .start-step{opacity:1;transform:none}
.start-steps.is-anim.is-in .start-step:nth-child(2){transition-delay:.35s}
.start-steps.is-anim.is-in .start-step:nth-child(3){transition-delay:.7s}
.start-steps.is-anim.is-in .start-step:nth-child(4){transition-delay:1.05s}

/* ---------------- Tablet ---------------- */
@media (max-width:1150px){
  .scr{grid-template-columns:minmax(200px,.55fr) minmax(0,1.7fr);gap:36px}
  .scr-story{grid-template-columns:1fr;gap:12px}
  .start-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:44px 32px}
  .start-steps:before,.start-steps:after{display:none}
  .start-section + .faq-section{padding-top:85px}
}
@media (max-width:900px){
  .scr{grid-template-columns:1fr;gap:22px}
  .scr-places{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;border-top:0}
  .scr-places button{flex-direction:column;align-items:flex-start;gap:2px;padding:11px 12px 12px;border:1px solid var(--line);border-radius:7px;min-height:58px}
  .scr-places button:hover{background:var(--cream)}
  .scr-places [aria-selected=true]{border-color:var(--ink);background:var(--cream)}
  .scr-places .scr-meter{left:10px;right:10px;bottom:5px;border-radius:2px}
  .scr-num{display:none}
  .scr-points{grid-template-columns:1fr;gap:22px;margin-top:48px}
  }

/* ---------------- Phone ---------------- */
@media (max-width:650px){
  .screens-section h2 .ul:after,.ai-section h2 .ul:after,.start-section h2 .ul:after{height:4px;bottom:-6px}
  /* The underlined line does not wrap, so the headings scale with the screen on the narrowest phones */
  .screens-section h2,.ai-section h2,.start-section h2{font-size:min(38px,9.6vw)}
  .scr-places{grid-template-columns:repeat(2,minmax(0,1fr))}
  .scr-label strong{font-size:14px}
  .scr-label small{font-size:12px}
  .scr-wall{padding:44px 14px 30px;border-radius:9px}
  .scr-sign{top:14px;left:14px}
  .scr-story h3{font-size:25px}
  .scr-story p{font-size:14px}
  .start-steps{grid-template-columns:1fr;gap:0;margin-top:40px}
  /* A vertical line on a phone */
  .start-steps:before,.start-steps:after{display:block;top:22px;bottom:22px;left:21px;right:auto;width:2px;height:auto}
  .start-steps.is-anim:after{transform:scaleY(0);transform-origin:center top}
  .start-steps.is-anim.is-in:after{transform:scaleY(1)}
  .start-step{padding:0 0 30px 64px}
  .start-step:last-child{padding-bottom:0}
  .start-dot{position:absolute;left:0;top:0;margin:0}
  .start-step h3{font-size:21px;margin:6px 0 8px}
  .start-split{grid-template-columns:1fr;gap:14px;margin-top:40px}
  .start-part{padding:22px 22px}
  .start-cta .button{width:100%}
  .start-cta p{font-size:12px}
  .start-section + .faq-section{padding-top:65px}
  .rot-toggle{min-height:44px}
}
@media (prefers-reduced-motion:reduce){
  .scr-sign i{animation:none}
  .tv-screen img{transition:none}
}

/* AI Powered (claude-version.html #ai): the demo player (claude-demo/player.js, ai-home.js) in a box like /club-system/'s */

.ai-box{background:#eeeadf;border-radius:10px;padding:26px 0 8px;min-width:0}
.ai-box .demo-caption{font-size:11px;line-height:1.5;color:#737168;padding:0 36px 14px;margin:0}
.ai-box [data-ai-demo]:not(.cd){aspect-ratio:900/640}
.ai-links{display:flex;flex-wrap:wrap;gap:14px 28px;margin-top:26px}
/* Laid out as Wallboards and displays (18 Oct 2026, Adam): the three tabs down the left are that section's .scr / .scr-places / .scr-stage,
   with the demo where its TV sits. The player's own parts row is hidden here, because the tabs choose the part (ai-home.js).
   The section's cream background is the tabs' hover and chosen colour on Wallboards, so here they take the demo box's. */
#ai .cd-parts{display:none}
#ai .scr-places button:hover{background:linear-gradient(90deg,#eeeadf,transparent)}
#ai .scr-stage{gap:0}
#ai .ai-box{width:100%;padding-top:14px}
#ai .cd-foot{padding-top:10px;min-height:44px}
#ai .ai-box .demo-caption{padding:0 28px 10px}
@media (min-width:901px){
  #ai{padding:22px 0 64px}
  #ai .section-top{margin-bottom:16px}
  #ai .eyebrow{margin-bottom:10px}
  #ai h2{font-size:clamp(34px,4.6svh,46px)}
  #ai .section-top>p{font-size:15px;padding-bottom:2px}
  #ai{--ai-rest:370px}
  #ai .ai-box{width:min(100%,max(600px,calc((100svh - var(--ai-rest)) / .6)))}
  #ai .ai-links{margin-top:18px}
}
@media (max-width:900px){
  #ai .scr-places [aria-selected=true]{background:#eeeadf}
  #ai .scr-places button:hover{background:#eeeadf}
}
@media (max-width:650px){
  #ai .ai-box .demo-caption{padding:0 20px 12px}
  #ai .ai-box{padding-top:18px}
  #ai .scr-places button:last-child{grid-column:1/-1}
}


/* Approved home layouts: Embedded AI and Clubhouse Screens, 18 October 2026.
   Scoped to these two sections; the shared demo player is unchanged. */
﻿/* Option B: one geometry system for both sections. */
#ai,#screens{padding:40px 0;--presentation-width:min(100%,calc((100svh - 335px)/.67))}
#ai{background:var(--cream)}#screens{background:#fff}
:is(#ai,#screens) .wrap{max-width:1280px;width:calc(100% - 112px)}
:is(#ai,#screens) .scr{grid-template-columns:304px minmax(0,1fr);gap:72px;align-items:start}
:is(#ai,#screens) .scr-rail{min-width:0}
:is(#ai,#screens) .section-top{margin:0 0 32px;display:block}
:is(#ai,#screens) .eyebrow{margin:0 0 16px;font-size:11px;line-height:1.4}
#ai h2,#screens h2{font-size:40px;line-height:1.08;letter-spacing:-.045em;max-width:none;min-height:86.4px}
#ai h2{white-space:nowrap}
#ai h2 .ul,#screens h2 .ul{white-space:nowrap}
:is(#ai,#screens) .section-top>p{margin:24px 0 0;max-width:290px;font-size:15px;line-height:1.6;min-height:0}
:is(#ai,#screens) .scr-places{border:0;gap:4px}
:is(#ai,#screens) .scr-places button,#screens .scr-places button{height:60px;min-height:60px;padding:8px 12px;gap:12px;border:0;border-radius:5px;background:transparent;transition:background .15s}
:is(#ai,#screens) .scr-places button:hover,#ai .scr-places button:hover,:is(#ai,#screens) .scr-places button[aria-selected=true],#ai .scr-places button[aria-selected=true]{background:#eeeadf}
:is(#ai,#screens) .scr-num{font-size:11px;width:20px;color:#68675f}
:is(#ai,#screens) .scr-label strong{font-size:16px;line-height:1.35;font-weight:550}
:is(#ai,#screens) .scr-label small{font-size:12.5px;line-height:1.5;margin-top:2px}
:is(#ai,#screens) .scr-meter{left:44px;right:12px;bottom:0;height:2px}
:is(#ai,#screens) .scr-stage,#ai .scr-stage{width:var(--presentation-width);justify-self:start;gap:20px;justify-items:stretch;min-width:0}
#ai .ai-box,:is(#ai,#screens) .scr-wall{width:100%;max-width:none;justify-self:start;padding:20px 24px 0;border-radius:12px;background:#eeeadf}
#ai .ai-box{padding-left:0;padding-right:0}
#ai .cd-stage{margin:0 24px}
#ai .cd-foot{padding:16px 24px 0;min-height:0;gap:16px}
#ai .demo-caption{font-size:12px;line-height:1.5;padding:12px 24px 20px}
:is(#ai,#screens) .scr-wall{padding-bottom:20px}
:is(#ai,#screens) .scr-wall .tv{aspect-ratio:900/540;width:100%;padding:6px;display:grid}
:is(#ai,#screens) .scr-wall .tv-screen{aspect-ratio:auto;width:100%;height:100%;min-height:0}
:is(#ai,#screens) .scr-wall .tv-screen img{object-fit:contain}
:is(#ai,#screens) .scr-sign{top:5px;left:24px;font-size:9px;line-height:1.4}
:is(#ai,#screens) .scr-sign i{width:5px;height:5px}
:is(#ai,#screens) .scr-story{grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr);gap:24px;min-height:0;align-items:start}
:is(#ai,#screens) .scr-story .tag{font-size:10px;line-height:1.5;display:block}
:is(#ai,#screens) .scr-story h3{font-size:22px;line-height:1.2;margin:10px 0 0;letter-spacing:-.03em}
:is(#ai,#screens) .scr-story h3 br{display:initial}
:is(#ai,#screens) .scr-story p{font-size:14px;line-height:1.6;max-width:410px;padding:0}
:is(#ai,#screens) .scr-foot{gap:16px;min-height:40px;align-items:center}
:is(#ai,#screens) .rot-toggle{font-size:12px;min-height:40px}
:is(#ai,#screens) .scr-foot .caption{font-size:12px;line-height:1.5}
#ai .scr-rail>.ai-links{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:32px;padding:24px 0 0;border-top:1px solid var(--line)}
#ai .scr-rail>.ai-links a{display:inline-flex;align-items:center;gap:14px;min-height:36px;max-width:100%;font-size:13px}
@media(min-width:901px) and (max-height:820px){#ai,#screens{padding:32px 0}:is(#ai,#screens) .section-top{margin-bottom:24px}:is(#ai,#screens) .section-top>p{margin-top:20px}:is(#ai,#screens) .scr-stage,#ai .scr-stage{gap:16px}}
@media(max-width:1150px) and (min-width:901px){:is(#ai,#screens) .scr{grid-template-columns:280px minmax(0,1fr);gap:48px}:is(#ai,#screens) .wrap{width:calc(100% - 80px)}}
@media(max-width:900px){
 #ai,#screens{padding:48px 0;--presentation-width:100%}:is(#ai,#screens) .wrap{width:calc(100% - 64px)}:is(#ai,#screens) .scr{grid-template-columns:minmax(0,1fr);gap:32px}:is(#ai,#screens) .section-top{margin-bottom:32px}:is(#ai,#screens) h2 br{display:block}:is(#ai,#screens) .section-top>p{max-width:540px;margin-top:24px}:is(#ai,#screens) .scr-places{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}:is(#ai,#screens) .scr-places button,#screens .scr-places button{padding:14px 16px;height:80px;min-height:80px;border:1px solid var(--line)}:is(#ai,#screens) .scr-label strong{font-size:16px}:is(#ai,#screens) .scr-label small{font-size:13px}:is(#ai,#screens) .scr-meter{left:16px;right:16px;bottom:4px}:is(#ai,#screens) .scr-stage,#ai .scr-stage{gap:24px}:is(#ai,#screens) .scr-story{grid-template-columns:1fr 1.3fr;min-height:0;gap:24px}
}
@media(max-width:500px){
 #ai,#screens{padding:40px 0}:is(#ai,#screens) .wrap{width:calc(100% - 40px)}#ai h2,#screens h2{font-size:36px;min-height:77.76px}:is(#ai,#screens) .section-top>p{font-size:15px;line-height:1.65;min-height:0}:is(#ai,#screens) .scr-places,#ai .scr-places{grid-template-columns:1fr;gap:10px}:is(#ai,#screens) .scr-places button,#screens .scr-places button{height:72px;min-height:0;padding:14px 12px}:is(#ai,#screens) .scr-label strong{font-size:15px}:is(#ai,#screens) .scr-label small{font-size:13px}:is(#ai,#screens) .scr-meter{left:12px;right:12px}#ai .cd-stage{margin:0 12px}#ai .cd-foot{padding:16px 12px 0}#ai .demo-caption{padding:16px 12px 20px}:is(#ai,#screens) .scr-wall{padding:20px 12px}:is(#ai,#screens) .scr-sign{left:12px}:is(#ai,#screens) .scr-story{grid-template-columns:1fr;gap:16px}:is(#ai,#screens) .scr-story h3{font-size:24px}:is(#ai,#screens) .scr-story p{font-size:15px;line-height:1.65}:is(#ai,#screens) .scr-foot{gap:16px;flex-wrap:wrap}#ai .scr-rail>.ai-links a{min-height:44px}
}
/* Shared spacing; text and information rows keep their natural height. */
:is(#ai,#screens) .eyebrow{margin-bottom:16px}
:is(#ai,#screens) .section-top{margin-bottom:32px}
:is(#ai,#screens) .section-top>p{padding:0;min-height:0}
#ai .cd-foot{min-height:0;align-items:flex-start}
:is(#ai,#screens) .scr-wall{display:grid;grid-template-columns:minmax(0,1fr);padding-bottom:0}
:is(#ai,#screens) .scr-wall>.tv{grid-area:1/1}
:is(#ai,#screens) .scr-wall>.scr-story{grid-area:2/1;display:block;min-height:0;padding:16px 150px 0 0;margin:0}
:is(#ai,#screens) .scr-wall .scr-story .tag{display:none}
:is(#ai,#screens) .scr-wall .scr-story h3{font-size:14px;line-height:1.5;margin:0;font-weight:600;letter-spacing:0}
:is(#ai,#screens) .scr-wall .scr-story h3 br{display:none}
:is(#ai,#screens) .scr-wall .scr-story p{font-size:12px;line-height:1.5;margin-top:8px}
:is(#ai,#screens) .scr-wall>.scr-foot{display:contents}
:is(#ai,#screens) .scr-wall .rot-toggle{grid-area:2/1;justify-self:end;align-self:start;margin-top:16px}
:is(#ai,#screens) .scr-wall .scr-foot .caption{grid-area:3/1;margin:0;padding:12px 0 20px;font-size:12px;line-height:1.5}
@media(min-width:901px) and (max-height:820px){:is(#ai,#screens) .section-top{margin-bottom:24px}}
@media(max-width:500px){:is(#ai,#screens) .section-top>p{min-height:0}:is(#ai,#screens) .scr-wall .scr-story{padding-right:0;min-height:0;padding-bottom:16px}:is(#ai,#screens) .scr-wall .rot-toggle{grid-area:3/1;justify-self:start;margin:0}:is(#ai,#screens) .scr-wall .scr-foot .caption{grid-area:4/1}:is(#ai,#screens) .scr-wall .scr-story p{font-size:14px}}
@media(min-width:901px){
 #ai,#screens{--presentation-width:min(100%,calc((100svh - 345px)/.67))}
 #ai .cd-foot,:is(#ai,#screens) .scr-wall>.scr-story{height:auto;min-height:0}
 #ai .demo-caption,:is(#ai,#screens) .scr-wall .scr-foot .caption{min-height:0}
}
:is(#ai,#screens) .scr-wall .scr-story h3 br{display:initial}
/* Keep the title-to-introduction gap equal, regardless of heading line count. */
#ai h2,#screens h2{min-height:0}
@media(max-width:500px){#ai .demo-caption{padding-top:12px}}
/* Selected state outranks the shared button reset in both sections. */
:is(#ai,#screens) .scr-places button[aria-selected=true]{background:#eeeadf}
/* Same vertical spacing as every other section (.section in style.css: 110 / 85 at 1150 and below / 65 at 650 and below). Keep last. */
#ai,#screens{padding-top:110px;padding-bottom:110px}
@media(max-width:1150px){#ai,#screens{padding-top:85px;padding-bottom:85px}}
@media(max-width:650px){#ai,#screens{padding-top:65px;padding-bottom:65px}}
/* The story section's own 45px / 10px top padding made the gap after Clubhouse Screens smaller than the rest. */
.story-section{padding-top:110px}
@media(max-width:1150px){.story-section{padding-top:85px}}
@media(max-width:650px){.story-section{padding-top:65px}}

/* Phone stack (18 Oct 2026, Adam): on a phone or tablet (900px and below) a section made of tabs becomes a plain stack, each
 * item a heading and sub-line with its own picture directly under it, then its words. The tabs and stage are hidden (display:none,
 * so their pictures never download) and the stack is hidden above 900px (so its pictures never download there).
 * Markup: <div class="mstack" data-mstack><article class="mstack-item" data-frames="a|b" data-alts="x|y" data-step="3000">
 * <h3 class="mstack-head"><span class="mstack-num">01</span><span class="mstack-name">Name</span><small>Sub-line</small></h3>
 * <figure class="mstack-fig"><div class="tv"><div class="tv-screen"><img class="is-on" src=a loading="lazy"></div></div></figure>
 * <p class="mstack-text">Words</p></article>...</div>. Put the .mstack after the .scr it replaces (inside the same .wrap) and add that
 * section's tabs and stage to the hide rule below. The section's own eyebrow, heading and intro (.scr-rail .section-top) stay.
 * Embedded AI (#ai) follows it with demos instead of stills: one player (ai-home.js) moves into the item most in view and plays
 * that part; the other items show their part's opening picture (claude-demo/posters, set by ai-home.js only at 900px and below)
 * as a "Play demo" button. Its links and caption line end the stack. */
.mstack{display:none}
@media(max-width:900px){
 :is(#screens,#ai) .scr-places,:is(#screens,#ai) .scr-stage,#ai .scr-rail>.ai-links{display:none}
 :is(#screens,#ai) .scr{display:block}
 .mstack{display:block;margin:0;padding:0}
 .mstack-item{padding:28px 0 30px;border-top:1px solid var(--line)}
 .mstack-item:first-child{border-top:0;padding-top:0}
 .mstack-head{display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:baseline;margin:0 0 14px;font-size:22px;line-height:1.2;letter-spacing:-.03em}
 .mstack-num{grid-row:1/3;font-size:12px;font-weight:400;color:#8a887e;letter-spacing:.02em;font-variant-numeric:tabular-nums}
 .mstack-name{font-weight:650}
 .mstack-head small{grid-column:2;font-size:14px;font-weight:400;letter-spacing:0;color:var(--muted);line-height:1.4;margin-top:2px}
 .mstack-fig{margin:0;padding:16px 12px;border-radius:10px;background:#eeeadf}
 .mstack-fig .tv{aspect-ratio:auto;width:100%;padding:5px}
 .mstack-fig .tv-screen img{object-fit:contain;transition:opacity .6s ease}
 .mstack-text{margin:16px 0 0;font-size:15px;line-height:1.6;max-width:560px}
 .mstack-caption{margin:6px 0 0;font-size:12px;line-height:1.5}
}
@media(prefers-reduced-motion:reduce){.mstack .tv-screen img{transition:none}}
/* Embedded AI's stack (#ai, 900px and below): the figure is the demo box (ai-box's colour); the poster sits where the player's
   stage does, at the same margins (#ai .cd-stage: 24px, 12px at 500 and below). */
@media(max-width:900px){
 #ai .ai-fig{padding:16px 0}
 #ai .ai-fig [data-ai-demo]:not(.cd){display:none}
 #ai .ai-fig.has-player .ai-poster{display:none}
 #ai .ai-mstack .cd-next{display:none}
 #ai .ai-mstack .cd-controls{justify-content:flex-start}
 #ai .ai-poster{position:relative;display:block;width:calc(100% - 48px);margin:0 24px;padding:0;border:0;border-radius:12px;overflow:hidden;aspect-ratio:1930/1158;cursor:pointer;
  background:radial-gradient(120% 90% at 100% 100%,#f6dc8f 0,rgba(246,220,143,0) 55%),linear-gradient(180deg,#f8f6f0,#f1ece0);box-shadow:inset 0 0 0 1px rgba(27,26,23,.07)}
 #ai .ai-poster img{display:block;width:100%;height:100%;object-fit:cover}
 #ai .ai-poster-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;border-radius:22px;background:#1b1a17;color:#fff;font-size:14px;font-weight:600;box-shadow:0 6px 18px rgba(27,26,23,.25);white-space:nowrap}
 #ai .ai-poster-play svg{width:14px;height:14px}
 #ai .ai-poster:hover .ai-poster-play,#ai .ai-poster:focus-visible .ai-poster-play{background:#000}
 #ai .ai-poster:focus-visible{outline:2px solid #1b1a17;outline-offset:3px}
 #ai .ai-mstack-links{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin:4px 0 0;padding:24px 0 0;border-top:1px solid var(--line)}
 #ai .ai-mstack-links a{display:inline-flex;align-items:center;gap:14px;min-height:44px;max-width:100%;font-size:14px}
 #ai .ai-mstack .mstack-caption{margin:16px 0 0;color:#737168}
}
@media(max-width:500px){#ai .ai-poster{width:calc(100% - 24px);margin:0 12px;border-radius:10px}}
