/* The Engine page (engine.html) only. */
.eng-hero{max-width:1100px;margin:0 auto;padding:clamp(48px,10vh,120px) var(--gut) clamp(24px,5vh,48px);text-align:center}
.eng-hero h1{font-size:clamp(40px,6.4vw,88px);letter-spacing:-.04em;line-height:1;margin:0 0 22px}
.eng-hero h1 em,.eng-hero ~ .sec h2 em,.eng-hero ~ .climax h2 em{font-style:normal}
.eng-hero .sub{color:var(--mut);font-size:clamp(17px,1.7vw,21px);line-height:1.55;max-width:60ch;margin:0 auto}
.eng-ctas{display:flex;flex-wrap:wrap;gap:12px 22px;justify-content:center;align-items:center;margin-top:8px}
.eng-ghost{color:var(--ink);font-weight:700;text-decoration:none;border-bottom:1px solid #f2b84b88;padding:4px 0;margin-top:18px}
.eng-ghost:hover{border-color:var(--gold)}
.eng-notice{display:flex;gap:18px;align-items:center;text-align:left;max-width:860px;margin:clamp(32px,6vh,56px) auto 0;padding:22px 26px;border-radius:20px;border:1px solid #f2b84b55;background:linear-gradient(135deg,#ff730f14,#f2b84b0d 60%,#0b1a2e66);box-shadow:0 0 50px #ff730f14}
.eng-notice p{margin:0;font-size:clamp(17px,1.6vw,20px);line-height:1.5;color:var(--ink)}
.eng-notice b{color:var(--gold2)}
.eng-notice-mt{flex:0 0 auto;width:56px;height:56px}
.eng-scene{max-width:1280px;margin:0 auto;padding:0 var(--gut) clamp(24px,4vh,40px)}
.scene-box.eng-box:not(.phone){aspect-ratio:16/9;width:100%;margin:0}
.scene-box.eng-box:not(.phone) iframe{transform:none}
.scene-box.eng-box.phone{aspect-ratio:390/640;max-width:420px}
.scene-box.eng-box::after{height:14%}
.eng-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:28px 0 8px;text-align:left}
.eng-cards>div{padding:22px;border-radius:18px;border:1px solid #ffffff14;background:linear-gradient(180deg,#12263f88,#0b1a2e55)}
.eng-cards b{display:block;color:var(--gold2);font-size:19px;margin-bottom:8px}
.eng-cards p{color:var(--mut);font-size:15.5px;line-height:1.5;margin:0}
.eng-circ{max-width:70ch;margin:24px auto 0;color:var(--mut);font-size:17px;line-height:1.6;text-align:center}
.eng-circ b{color:var(--ink)}
.eng-asks{list-style:none;padding:0;margin:22px auto;display:flex;flex-wrap:wrap;gap:10px;justify-content:center;max-width:900px}
.eng-asks li{padding:10px 16px;border-radius:99px;border:1px solid #36d6ff33;background:#36d6ff0d;color:var(--ink);font-size:15px;font-weight:600}
.eng-layers{list-style:none;padding:0;margin:30px auto 0;display:grid;grid-template-columns:repeat(4,1fr);gap:14px;text-align:left}
.eng-layers li{padding:20px;border-radius:16px;border-top:2px solid var(--gold);background:#0b1a2e88}
.eng-layers i{display:block;font-style:normal;color:var(--mt);font-weight:800;letter-spacing:.18em;font-size:12px;margin-bottom:8px}
.eng-layers b{display:block;font-size:18px;margin-bottom:6px;color:var(--gold2)}
.eng-layers span{color:var(--mut);font-size:15px;line-height:1.5}
.eng-uses{list-style:none;padding:0;margin:26px auto 0;display:grid;grid-template-columns:repeat(2,1fr);gap:14px;max-width:1000px;text-align:left}
.eng-uses li{padding:20px 22px;border-radius:16px;border:1px solid #ffffff14;background:#0b1a2e88;color:var(--mut);font-size:16px;line-height:1.5}
.eng-uses b{display:block;color:var(--ink);font-size:18px;margin-bottom:4px}
.eng-close{margin:28px auto 0;max-width:40ch;text-align:center;font-size:clamp(22px,2.6vw,32px);font-weight:800;letter-spacing:-.02em;line-height:1.2;color:var(--gold2)}
.eng-rolegrid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:28px;text-align:left}
.eng-rolegrid a{display:flex;flex-direction:column;gap:8px;padding:20px;border-radius:16px;border:1px solid #ffffff14;background:#0b1a2e88;text-decoration:none;color:var(--ink);transition:border-color .2s,transform .2s}
.eng-rolegrid a:hover{border-color:#f2b84b88;transform:translateY(-2px)}
.eng-rolegrid b{font-size:17px}.eng-rolegrid span{color:var(--mut);font-size:14.5px;line-height:1.5;flex:1}.eng-rolegrid i{font-style:normal;color:var(--gold);font-weight:700;font-size:14px}
.eng-tag{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--mt);border:1px solid #ff730f66;border-radius:99px;padding:4px 10px;margin-bottom:12px}
.eng-small{color:#9fb0c8aa;font-size:13.5px;text-align:center;margin:16px auto 0}
.eng-who,.eng-under,.eng-hedge,.eng-roles,.eng-next,.eng-invite{text-align:center}
.eng-who h2,.eng-under h2,.eng-hedge h2,.eng-roles h2,.eng-next h2,.eng-invite h2{font-size:clamp(32px,4.6vw,60px);letter-spacing:-.035em;line-height:1.04;margin:0 0 18px}
@media(max-width:1000px){.eng-cards,.eng-layers{grid-template-columns:repeat(2,1fr)}.eng-rolegrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.eng-cards,.eng-layers,.eng-uses,.eng-rolegrid{grid-template-columns:1fr}.eng-notice{flex-direction:column;text-align:center;padding:20px}.eng-notice-mt{width:48px;height:48px}}
.eng-hero h1 em{background:linear-gradient(90deg,var(--gold2),var(--gold) 50%,#e89a2a);-webkit-background-clip:text;background-clip:text;color:transparent}
.eng-who .lede,.eng-under .lede,.eng-hedge .lede,.eng-next .lede,.eng-invite .lede{text-align:center;max-width:64ch}
.eng-hero{padding-top:clamp(150px,13vw,180px)}@media(max-width:860px){.eng-hero{padding-top:176px}}
/* t144u: center everything in the engine sections */
.eng-who,.eng-under,.eng-hedge,.eng-roles,.eng-next,.eng-invite{display:block;margin-left:auto;margin-right:auto;max-width:1200px}
.eng-who>*,.eng-under>*,.eng-hedge>*,.eng-roles>*,.eng-next>*,.eng-invite>*{margin-left:auto;margin-right:auto}
.eng-who .lede,.eng-under .lede,.eng-hedge .lede,.eng-roles .lede,.eng-next .lede,.eng-invite .lede,.eng-who p,.eng-under p,.eng-hedge p,.eng-next p,.eng-invite p{text-align:center;max-width:68ch;margin-left:auto;margin-right:auto}
.eng-cards,.eng-layers,.eng-uses,.eng-rolegrid,.eng-cards p,.eng-layers li,.eng-uses li,.eng-rolegrid a{text-align:center}
.eng-rolegrid a{align-items:center}
.eng-hero h1{max-width:16ch;margin-left:auto;margin-right:auto;text-wrap:balance}
section.sec[class*="eng-"] p,section.sec[class*="eng-"] p.lede{margin-left:auto;margin-right:auto;text-align:center}
section.sec[class*="eng-"] p.lede{max-width:64ch}
