/* Engine introduction. Scope every rule to /engine so other product pages keep their layout. */
.story-engine{--engine-ink:#14243d;--engine-muted:#53657d;--engine-line:#e1e9f2}
.story-engine .engine-hero{min-height:520px;padding-bottom:24px}
.story-engine .engine-hero .hero-copy{position:relative;z-index:1}
.story-engine .engine-hero h1{font-size:clamp(42px,5vw,68px);line-height:1.18}
.story-engine .engine-hero .hero-summary{max-width:670px;margin-top:25px;font-size:17px;line-height:1.75}
.story-engine .engine-shell{width:min(1160px,calc(100% - 64px));margin:0 auto;padding-top:112px;scroll-margin-top:90px}
.story-engine .engine-intro{padding-top:54px}
.story-engine .engine-section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,440px);align-items:end;gap:72px;margin-bottom:36px}
.story-engine .engine-section-head h2,.story-engine .engine-boundary h2{margin:0;color:var(--engine-ink);font-size:clamp(32px,3.6vw,48px);font-weight:740;line-height:1.25;letter-spacing:-.04em;text-wrap:balance}
.story-engine .engine-section-head>p{max-width:42ch;margin:0 0 4px;color:var(--engine-muted);font-size:15px;line-height:1.8}
.story-engine .engine-concept{display:grid;grid-template-columns:minmax(0,1fr) 34px 156px 34px minmax(0,1fr);align-items:stretch;gap:8px}
.story-engine .engine-concept-panel{display:flex;min-width:0;flex-direction:column;overflow:hidden;border:1px solid #dce6f2;border-radius:12px;background:#fff}
.story-engine .engine-concept-panel-head{min-height:137px;padding:20px 22px 18px;background:#f7faff}
.story-engine .engine-concept-panel-head>span{display:block;margin-bottom:7px;color:var(--accent-dark);font-size:11px;font-weight:740;letter-spacing:.07em}
.story-engine .engine-concept-panel-head h3{margin:0;color:var(--engine-ink);font-size:21px;font-weight:730;line-height:1.4;letter-spacing:-.025em}
.story-engine .engine-concept-platforms{display:flex;align-items:center;gap:13px;margin-top:18px}
.story-engine .engine-concept-platforms img{display:block;width:24px;height:24px;object-fit:contain}
.story-engine .engine-concept-panel-head p{margin:17px 0 0;color:var(--engine-muted);font-size:13px;line-height:1.5}
.story-engine .engine-concept-list{display:grid;grid-template-rows:repeat(8,minmax(0,1fr));flex:1;margin:0;padding:6px 22px 10px;list-style:none}
.story-engine .engine-concept-list li{display:grid;grid-template-columns:116px minmax(0,1fr);align-items:center;gap:12px;min-height:50px;padding:8px 0;border-bottom:1px solid #edf1f6}
.story-engine .engine-concept-list li:last-child{border-bottom:0}
.story-engine .engine-concept-list strong{color:#253954;font-size:14px;font-weight:720;line-height:1.5}
.story-engine .engine-concept-list li span{color:#65758a;font-size:12.5px;line-height:1.5}
.story-engine .engine-concept-output .engine-concept-panel-head{background:#f2f7ff}
.story-engine .engine-concept-arrow{position:relative;align-self:center;display:block;height:1px;background:#9cb9db}
.story-engine .engine-concept-arrow::after{position:absolute;top:-4px;right:0;width:8px;height:8px;border-top:1.5px solid #5f91c9;border-right:1.5px solid #5f91c9;content:"";transform:rotate(45deg)}
.story-engine .engine-concept-core{display:flex;align-self:center;align-items:center;flex-direction:column;text-align:center}
.story-engine .engine-concept-core-mark{display:grid;width:148px;height:148px;place-items:center}
.story-engine .engine-concept-core-mark img{display:block;width:100px;height:100px;object-fit:contain;transform:translateX(12px)}
.story-engine .engine-concept-core strong{margin-top:-20px;color:var(--engine-ink);font-size:16px;font-weight:750;white-space:nowrap}
.story-engine .engine-concept-note{max-width:88ch;margin:18px auto 0;color:#738197;font-size:12px;line-height:1.75;text-align:center}
.story-engine .engine-platform-list{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none}
.story-engine .engine-platform-list li{display:flex;align-items:center;justify-content:center;gap:12px;min-height:84px;padding:12px;border:1px solid var(--engine-line);border-radius:10px;background:#fff;color:#273a54;font-size:14px;font-weight:690;white-space:nowrap}
.story-engine .engine-platform-list img{display:block;flex:none;width:34px;height:34px;object-fit:contain}
.story-engine .engine-method{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px;margin-top:55px}
.story-engine .engine-method article{padding-top:18px;border-top:1px solid var(--engine-line)}
.story-engine .engine-method span{color:var(--accent-dark);font-size:12px;font-weight:750;font-variant-numeric:tabular-nums}
.story-engine .engine-method h3{margin:15px 0 10px;color:var(--engine-ink);font-size:20px;font-weight:710;line-height:1.4;letter-spacing:-.02em}
.story-engine .engine-method p{max-width:30ch;margin:0;color:var(--engine-muted);font-size:14px;line-height:1.8}
.story-engine .engine-measures{display:grid;grid-template-columns:170px minmax(0,1fr);gap:26px;margin-top:36px;padding:24px 0;border-top:1px solid var(--engine-line);border-bottom:1px solid var(--engine-line)}
.story-engine .engine-measures strong{color:var(--engine-ink);font-size:14px;font-weight:720}
.story-engine .engine-measures p{max-width:80ch;margin:0;color:var(--engine-muted);font-size:14px;line-height:1.75}
.story-engine .engine-insight-layout{display:grid;grid-template-columns:minmax(0,1.42fr) minmax(290px,.8fr);align-items:center;gap:54px}
.story-engine .engine-detail-shot{align-self:start}
.story-engine .engine-insight-copy h3{margin:0 0 26px;color:var(--engine-ink);font-size:clamp(23px,2.5vw,31px);font-weight:720;line-height:1.38;letter-spacing:-.03em}
.story-engine .engine-insight-copy dl{display:grid;gap:0;margin:0}
.story-engine .engine-insight-copy dl>div{display:grid;grid-template-columns:125px minmax(0,1fr);gap:16px;padding:15px 0;border-top:1px solid var(--engine-line)}
.story-engine .engine-insight-copy dt{color:var(--engine-ink);font-size:13px;font-weight:720;line-height:1.6}
.story-engine .engine-insight-copy dd{margin:0;color:var(--engine-muted);font-size:13px;line-height:1.65}
.story-engine .engine-insight-foot{margin:21px 0 0;color:#65758a;font-size:12px;line-height:1.8}
.story-engine .engine-action-types{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:25px}
.story-engine .engine-action-types article{min-height:132px;padding:20px 19px;border:1px solid var(--engine-line);border-radius:10px;background:#f9fbfe}
.story-engine .engine-action-types span{color:var(--engine-ink);font-size:15px;font-weight:720}
.story-engine .engine-action-types p{margin:13px 0 0;color:var(--engine-muted);font-size:13px;line-height:1.65}
.story-engine .engine-boundary{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);align-items:start;gap:18px 70px;padding-top:110px;padding-bottom:2px}
.story-engine .engine-boundary h2{max-width:12ch;font-size:clamp(30px,3.1vw,42px)}
.story-engine .engine-boundary p{max-width:56ch;margin:0;color:var(--engine-muted);font-size:15px;line-height:1.85}
.story-engine .engine-boundary a{grid-column:2;justify-self:start;color:var(--accent-dark);font-size:14px;font-weight:700;text-decoration:underline;text-decoration-color:var(--accent-line);text-underline-offset:5px}
.story-engine .engine-boundary a:hover{color:var(--accent)}
@media(max-width:1050px){
  .story-engine .engine-concept{grid-template-columns:minmax(0,1fr) 20px 126px 20px minmax(0,1fr);gap:5px}
  .story-engine .engine-concept-panel-head{padding-right:16px;padding-left:16px}
  .story-engine .engine-concept-list{padding-right:16px;padding-left:16px}
  .story-engine .engine-concept-list li{grid-template-columns:1fr;align-content:center;gap:2px;min-height:62px}
  .story-engine .engine-concept-core-mark{width:118px;height:118px}
  .story-engine .engine-concept-core-mark img{width:84px;height:84px;transform:translateX(10px)}
  .story-engine .engine-platform-list{grid-template-columns:repeat(3,minmax(0,1fr))}
  .story-engine .engine-insight-layout{gap:30px}
}
@media(max-width:760px){
  .story-engine .engine-hero{min-height:470px;padding-bottom:20px}
  .story-engine .engine-shell{width:calc(100% - 44px);padding-top:88px}
  .story-engine .engine-intro{padding-top:32px}
  .story-engine .engine-section-head{grid-template-columns:1fr;gap:15px;margin-bottom:27px}
  .story-engine .engine-section-head>p{max-width:55ch}
  .story-engine .engine-concept{grid-template-columns:1fr;gap:16px}
  .story-engine .engine-concept-panel-head{min-height:0;padding:19px 20px}
  .story-engine .engine-concept-list{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;gap:0 18px;padding:4px 20px 12px}
  .story-engine .engine-concept-list li{min-height:67px}
  .story-engine .engine-concept-arrow{justify-self:center;width:36px;transform:rotate(90deg)}
  .story-engine .engine-concept-core{padding:16px 0}
  .story-engine .engine-concept-core-mark{width:112px;height:112px}
  .story-engine .engine-concept-core-mark img{width:80px;height:80px;transform:translateX(9px)}
  .story-engine .engine-concept-core strong{margin-top:-10px}
  .story-engine .engine-method{gap:25px;margin-top:40px}
  .story-engine .engine-insight-layout{grid-template-columns:1fr}
  .story-engine .engine-insight-copy{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:20px}
  .story-engine .engine-insight-copy h3{margin:0}
  .story-engine .engine-insight-foot{grid-column:1/-1;margin-top:0}
  .story-engine .engine-action-types{grid-template-columns:repeat(2,minmax(0,1fr))}
  .story-engine .engine-boundary{grid-template-columns:1fr;gap:22px}
  .story-engine .engine-boundary h2{max-width:none}
  .story-engine .engine-boundary a{grid-column:1}
}
@media(max-width:520px){
  .story-engine .engine-hero{min-height:430px}
  .story-engine .engine-hero h1{font-size:clamp(31px,8.2vw,40px)}
  .story-engine .engine-hero .hero-summary{font-size:15px;line-height:1.8}
  .story-engine .engine-shell{width:calc(100% - 40px);padding-top:76px}
  .story-engine .engine-intro{padding-top:22px}
.story-engine .engine-section-head h2{font-size:30px}
  .story-engine .engine-concept-list{grid-template-columns:1fr}
  .story-engine .engine-concept-list li{grid-template-columns:110px minmax(0,1fr);gap:10px;min-height:55px}
  .story-engine .engine-concept-platforms{gap:10px}
  .story-engine .engine-concept-platforms img{width:22px;height:22px}
  .story-engine .engine-platform-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .story-engine .engine-platform-list li{min-height:68px;gap:9px;font-size:12px}
  .story-engine .engine-platform-list img{width:28px;height:28px}
  .story-engine .engine-method{grid-template-columns:1fr;gap:24px}
  .story-engine .engine-method h3{margin-top:10px}
  .story-engine .engine-measures{grid-template-columns:1fr;gap:7px}
  .story-engine .engine-insight-copy{grid-template-columns:1fr}
  .story-engine .engine-insight-copy dl>div{grid-template-columns:110px minmax(0,1fr)}
  .story-engine .engine-action-types{gap:9px}
  .story-engine .engine-action-types article{min-height:145px;padding:17px 14px}
  .story-engine .engine-action-types span{font-size:14px}
  .story-engine .engine-action-types p{font-size:12px}
}
.story-engine .engine-section-head{grid-template-columns:1fr;gap:14px;text-align:center}
.story-engine .engine-section-head h2 br{display:none}
.story-engine .engine-section-head>p{max-width:68ch;margin:0 auto;text-align:center}
.story-engine .engine-boundary{grid-template-columns:1fr;justify-items:center;gap:18px;text-align:center}
.story-engine .engine-boundary h2{max-width:none}
.story-engine .engine-boundary p{margin-inline:auto}
.story-engine .engine-boundary a{grid-column:1;justify-self:center}
