/* Freestanding app demo with screen captions and compact dot navigation. */
.app-section:has(.coaching-app-layout){padding-block:44px}
.coaching-app-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:56px;align-items:center}
.coaching-app-copy{max-width:480px;min-width:0;text-align:left}
.coaching-app-copy > .eyebrow{margin-bottom:16px}
.coaching-app-copy .h2{margin-top:0;font-size:clamp(36px,4vw,54px)}
.coaching-app-intro{margin-top:20px;color:var(--steel);font-size:18px;line-height:1.6;max-width:39ch}
.coaching-app-panel{min-width:0;width:100%;max-width:400px;justify-self:center}
.coaching-app-stage{--app-phone-width:240px;display:grid;grid-template-columns:minmax(0,1fr);justify-items:center;gap:24px;width:100%;min-width:0}
.coaching-phone{position:relative;width:var(--app-phone-width);max-width:none;padding:3px;background:#08090a;border:1px solid #555b60;border-radius:28px;box-shadow:inset 0 0 0 1px #262b30,0 16px 28px -14px #000b}
.coaching-phone::before,.coaching-phone::after{content:'';position:absolute;width:2px;background:#62666a;border-radius:2px}
.coaching-phone::before{top:83px;height:45px;left:-3px;box-shadow:0 54px #62666a}
.coaching-phone::after{top:114px;height:60px;right:-3px}
.coaching-phone-hardware{display:flex;align-items:center;justify-content:center;gap:9px;height:14px}
.coaching-phone-hardware span{width:26px;height:3px;border-radius:8px;background:#272b2f}
.coaching-phone-hardware i{width:4px;height:4px;border-radius:50%;background:#132331}
.coaching-phone-display{overflow:hidden;border-radius:13px;background:#090909;isolation:isolate}
.coaching-app-track{display:flex;width:100%;aspect-ratio:1206 / 2265;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;touch-action:pan-x pan-y pinch-zoom;cursor:grab;-webkit-user-select:none;user-select:none}
.coaching-app-track::-webkit-scrollbar{display:none}
.coaching-app-track:focus-visible{outline-offset:-3px;border-radius:13px}
.coaching-app-track.is-auto-moving{scroll-snap-type:none;scroll-behavior:auto}
.coaching-app-track.is-dragging{scroll-snap-type:none;cursor:grabbing}
.coaching-app-slide{flex:0 0 100%;min-width:0;height:100%;overflow:hidden;scroll-snap-align:start;scroll-snap-stop:always}
.coaching-app-slide img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top;pointer-events:none}
.coaching-phone-base{height:10px}
.coaching-app-controls{display:flex;justify-content:center;width:100%;margin-top:8px}
.coaching-app-navigation{display:flex;justify-content:center;gap:0;background:transparent}
.coaching-app-controls [hidden]{display:none}
.coaching-app-navigation button{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent}
.coaching-app-navigation button span{display:block;width:7px;height:7px;border-radius:50%;background:var(--steel-dim);transition:background-color 260ms var(--motion-ease,ease),transform 260ms var(--motion-ease,ease)}
.coaching-app-navigation button[aria-pressed="true"] span{background:var(--accent-text);transform:scale(1.4)}
@media(hover:hover){.coaching-app-navigation button:hover span{background:var(--accent-light)}}
.coaching-app-navigation button:focus-visible{outline:2px solid var(--accent-light);outline-offset:-6px}
.coaching-slide-captions{min-width:0;width:100%;max-width:34ch;display:grid;text-align:center}
.coaching-slide-caption{grid-area:1 / 1;margin:0;color:var(--bone);font:400 16px/1.55 var(--body);opacity:0;visibility:hidden;transition:opacity 90ms ease,visibility 0s linear 90ms}
.coaching-slide-caption.is-current{opacity:1;visibility:visible;transition:opacity 170ms var(--motion-ease,ease) 90ms,visibility 0s linear 90ms}
@media(min-width:701px) and (max-width:1100px){
  .coaching-app-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:32px}
  .coaching-app-stage{--app-phone-width:220px}
}
/* Compact FormEQ Method. No phone visual in this section. */
.formeq-method-section { padding: 72px 0 64px; background: linear-gradient(180deg, var(--ink), #0d1012); overflow: clip; }
.formeq-method-wrap { max-width: 980px; }
.formeq-method-header { max-width: 720px; margin-bottom: 38px; }
.formeq-method-header .h2 { margin-top: 12px; max-width: 15ch; }
.formeq-method-intro { margin-top: 18px; max-width: 52ch; color: var(--steel); font-size: 17px; line-height: 1.6; }
.formeq-method-timeline { position: relative; max-width: 820px; padding-left: 64px; }
.formeq-method-line { position: absolute; left: 17px; top: 13px; bottom: 14px; width: 2px; background: rgba(244,242,237,.09); overflow: hidden; }
.formeq-method-line span { display: block; width: 100%; height: 100%; transform: scaleY(0); transform-origin: top; background: linear-gradient(180deg, var(--accent), var(--accent-light)); will-change: transform; }
.formeq-method-step { position: relative; display: grid; grid-template-columns: 42px minmax(0,1fr); gap: 14px; align-items: start; min-height: 120px; padding-bottom: 24px; opacity: .35; transform: translateY(8px); transition: opacity .34s ease, transform .34s ease; }
.formeq-method-step:last-child { min-height: 0; padding-bottom: 0; }
.formeq-method-step.is-active { opacity: 1; transform: none; }
.formeq-method-node { position: absolute; left: -56px; top: 4px; width: 18px; height: 18px; border: 1px solid rgba(var(--accent-rgb),.45); border-radius: 50%; background: #0d1012; display: grid; place-items: center; transition: border-color .25s ease, box-shadow .25s ease; }
.formeq-method-node i { width: 5px; height: 5px; border-radius: 50%; background: var(--steel-dim); transition: background .25s ease, transform .25s ease; }
.formeq-method-step.is-active .formeq-method-node { border-color: var(--accent-light); box-shadow: 0 0 0 6px rgba(var(--accent-rgb),.07); }
.formeq-method-step.is-active .formeq-method-node i { background: var(--accent-light); transform: scale(1.18); }
.formeq-method-number { padding-top: 4px; font: 500 12px/1.5 var(--mono); color: var(--accent); }
.formeq-method-step h3 { font: 700 clamp(24px,2.7vw,32px)/1.05 var(--display); letter-spacing: -.035em; text-transform: uppercase; }
.formeq-method-step p { margin-top: 7px; max-width: 48ch; color: var(--steel); font-size: 16px; line-height: 1.55; }
.formeq-method-loop { margin: 26px 0 0 64px; color: var(--steel); font: 500 11px/1.5 var(--mono); letter-spacing: .05em; text-transform: uppercase; }
.formeq-method-loop span { color: var(--accent); padding-inline: 5px; }

@media (max-width: 700px) {
  #coaching-app.app-section{padding-top:28px;padding-bottom:20px}
  #coaching-app>.wrap{padding-inline:16px}
  .coaching-app-layout{grid-template-columns:minmax(0,1fr);gap:28px}
  .coaching-app-copy{max-width:480px;margin-inline:auto;width:100%;text-align:left}
  .coaching-app-copy > .eyebrow{text-align:center}
  .coaching-app-copy .h2{font-size:clamp(30px,8vw,38px)}
  .coaching-app-intro{margin-top:14px;font-size:16px}
  .coaching-app-panel{max-width:340px}
  .coaching-app-stage{--app-phone-width:clamp(152px,44.8vw,176px);gap:20px}
  .coaching-phone{border-radius:21px;padding:2.4px}
  .coaching-phone-display{border-radius:10.4px}
  .coaching-slide-caption{font-size:15px;line-height:1.5}
  .coaching-phone-hardware{height:9.6px}
  .coaching-phone-base{height:7.2px}
  .formeq-method-section { padding: 46px 0 42px; }
  .formeq-method-header { margin-bottom: 28px; text-align: center; }
  .formeq-method-header .h2 { max-width: 12ch; margin: 10px auto 0; font-size: clamp(30px,8.6vw,38px); }
  .formeq-method-intro { max-width: 34ch; margin: 14px auto 0; font-size: 15.5px; line-height: 1.55; }
  .formeq-method-timeline { padding-left: 54px; }
  .formeq-method-line { left: 9px; top: 11px; bottom: 12px; }
  .formeq-method-step { grid-template-columns: 34px minmax(0,1fr); gap: 10px; min-height: 104px; padding-bottom: 18px; transform: translateY(6px); }
  .formeq-method-node { left: -53px; top: 3px; width: 18px; height: 18px; }
  .formeq-method-number { font-size: 11px; padding-top: 4px; }
  .formeq-method-step h3 { font-size: 23px; }
  .formeq-method-step p { margin-top: 5px; font-size: 14.5px; line-height: 1.5; }
  .formeq-method-loop { margin: 20px 0 0 54px; font-size: 9.5px; line-height: 1.7; }
}

@media (prefers-reduced-motion: reduce) {
  .formeq-method-line span { transform: scaleY(1) !important; }
  .formeq-method-step { opacity: 1 !important; transform: none !important; transition: none !important; }
  .formeq-method-node, .formeq-method-node i { transition: none !important; }
  .coaching-app-track { scroll-behavior: auto; }
  .coaching-app-navigation button span { transition: none; }
}

.language-switch .language-flag{font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;font-size:24px;line-height:1}
@media(max-width:359px){
  #coaching-app>.wrap{padding-inline:12px}
}
@media(prefers-reduced-motion:reduce){.coaching-slide-caption,.coaching-slide-caption.is-current,.coaching-app-navigation button span{transition:none}}

/* Explicit motion control, with the same touch target as each slide dot. */
.coaching-app-playback{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--steel);cursor:pointer}
.coaching-app-playback span{display:block;position:relative;width:14px;height:14px}
.coaching-app-playback span:before{content:"";position:absolute;left:2px;top:1px;width:3px;height:12px;background:currentColor;box-shadow:6px 0 currentColor}
.coaching-app-playback[data-paused="true"] span:before{left:3px;width:0;height:0;background:transparent;box-shadow:none;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:9px solid currentColor}
.coaching-app-playback:hover{color:var(--accent-text)}
.coaching-app-playback:focus-visible{outline:2px solid var(--accent-light);outline-offset:-6px}
