/* ============ Contentmint slide design system (1080x1350) ============ */
/* colours come from brand vars --b-*; text contrast via .on-light / .on-dark */

.slide{
  width:1080px;height:1350px;position:relative;overflow:hidden;background:#121212;
  font-family:'In',sans-serif;
  --txt:#FBF7EE; --txt2:rgba(236,230,216,.86); --kick:var(--b-peach); --ruleC:var(--b-terra); --line2:rgba(255,255,255,.18);
}
.slide .on-light{ --txt:var(--b-ink,#20201c); --txt2:rgba(36,32,26,.66); --kick:var(--b-terra); --ruleC:var(--b-terra); --line2:rgba(0,0,0,.14); }
.slide .on-dark{ --txt:#FBF7EE; --txt2:rgba(236,230,216,.86); --kick:var(--b-peach); --ruleC:var(--b-peach); --line2:rgba(255,255,255,.18); }

/* shared bits */
.sl-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sl-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,26,18,.12) 0%,rgba(20,26,18,0) 34%,rgba(22,28,20,.4) 62%,rgba(14,20,12,.92) 100%)}
.sl-scrim--full{background:linear-gradient(180deg,rgba(14,20,12,.55),rgba(14,20,12,.32) 45%,rgba(14,20,12,.78))}
.sl-duo{position:absolute;inset:0;opacity:.6}
.sl-logo{position:absolute;top:48px;right:50px;height:66px;width:66px;border-radius:50%;background:#fff;object-fit:cover;border:3px solid #fff;box-shadow:0 6px 18px rgba(0,0,0,.28);z-index:7}

.sl-kick{font-family:'InB';font-weight:700;font-size:21px;letter-spacing:5px;text-transform:uppercase;color:var(--kick)}
.sl-kick.ctr{text-align:center}
.sl-rule{width:58px;height:2px;background:var(--ruleC);margin:18px 0 22px}
.sl-rule.ctr{margin:18px auto 24px}
.sl-h{font-family:'Fr';font-weight:600;font-size:82px;line-height:1.02;letter-spacing:-.5px;color:var(--txt)}
.sl-h--md{font-size:60px}
.sl-h--lg{font-size:96px}
.sl-h--xl{font-size:120px;line-height:.98;letter-spacing:-1px}
.sl-h--xxl{font-size:132px;line-height:.96;letter-spacing:-1.5px}
.sl-h--serif{font-size:74px;line-height:1.12}
.sl-sub{font-family:'In';font-size:29px;line-height:1.42;color:var(--txt2);margin-top:22px;max-width:16em}
.sl-foot{position:absolute;bottom:48px;left:64px;font-family:'In';font-size:20px;letter-spacing:.5px;color:var(--txt);opacity:.82;z-index:6}
.sl-idx{position:absolute;bottom:46px;right:56px;font-family:'DM Mono';font-size:22px;color:var(--txt);opacity:.85;z-index:6}

/* --- cover / coverCenter --- */
.sl-blk{position:absolute;left:64px;right:64px;bottom:120px;z-index:5}
.sl-blk--center{top:50%;transform:translateY(-50%);bottom:auto;left:86px;right:86px;text-align:center}
.sl-blk--center .sl-sub{margin-left:auto;margin-right:auto}

/* --- frame --- */
.sl-frame{position:absolute;top:74px;left:74px;right:74px;height:748px;overflow:hidden;border-radius:6px}
.sl-frame img{width:100%;height:100%;object-fit:cover}
.sl-frame-cap{position:absolute;left:78px;right:78px;top:884px}

/* --- split --- */
.sl-split-top{position:absolute;top:0;left:0;right:0;height:806px;overflow:hidden}
.sl-split-top img{width:100%;height:100%;object-fit:cover}
.sl-split-bot{position:absolute;left:0;right:0;bottom:0;height:544px;padding:60px 72px 0}

/* --- sidebar --- */
.sl-side{position:absolute;top:0;left:0;bottom:0;width:462px;padding:0 54px;display:flex;flex-direction:column;justify-content:center}
.sl-side-ph{position:absolute;top:0;right:0;bottom:0;left:462px;overflow:hidden}
.sl-side-ph img{width:100%;height:100%;object-fit:cover}

/* --- statement --- */
.sl-state{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:0 92px}
.sl-mark{position:absolute;top:58px;left:0;right:0;text-align:center;font-family:'DM Mono';font-size:19px;letter-spacing:3px;text-transform:uppercase;opacity:.7;color:var(--txt)}

/* --- quote --- */
.sl-quote{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:0 92px}
.sl-qmark{font-family:'Fr';font-weight:700;font-size:210px;line-height:.5;height:96px}
.sl-quote .sl-h{color:var(--b-ink)}
.sl-qby{font-family:'InB';font-weight:700;font-size:21px;letter-spacing:3px;text-transform:uppercase;color:var(--b-terra);margin-top:44px}

/* --- list --- */
.sl-list-h{position:absolute;top:118px;left:74px;right:74px}
.sl-rows{position:absolute;left:74px;right:74px;top:430px}
.sl-lrow{display:flex;gap:26px;align-items:baseline;padding:30px 0;border-top:1px solid var(--line2)}
.sl-lnum{font-family:'DM Mono';font-size:28px;color:var(--kick)}
.sl-ltext{font-family:'Fr';font-size:48px;line-height:1.05;color:var(--txt)}

/* --- stat --- */
.sl-stat{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:0 84px}
.sl-stat-n{font-family:'Space Grotesk';font-weight:700;font-size:290px;line-height:.86;letter-spacing:-8px}
.sl-stat .sl-h{margin-top:20px}
.sl-stat-l{font-family:'DM Mono';font-size:25px;letter-spacing:1px;color:var(--txt2);margin-top:18px;text-transform:uppercase}

/* --- cta --- */
.sl-cta{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:0 92px}
.sl-cta-handle{font-family:'DM Mono';font-size:28px;margin-top:42px;color:var(--txt);border:1px solid var(--txt);padding:13px 28px;border-radius:44px}

/* ============ STYLE PACKS: change type + treatment, not colour ============ */
/* editorial = default (Fraunces serif). others override: */
.s-bold .sl-h{font-family:'Space Grotesk','InB',sans-serif;font-weight:700;letter-spacing:-1.5px}
.s-bold .sl-ltext{font-family:'Space Grotesk';font-weight:600}
.s-bold .sl-kick{letter-spacing:6px}

.s-minimal .sl-h{font-family:'In',sans-serif;font-weight:500;letter-spacing:-.8px}
.s-minimal .sl-h--xxl{font-size:108px}
.s-minimal .sl-h--xl{font-size:104px}
.s-minimal .sl-ltext{font-family:'In';font-weight:500;font-size:44px}
.s-minimal .sl-kick{opacity:.85;letter-spacing:4px}
.s-minimal .sl-rule{width:40px}

.s-mono .sl-h{font-family:'Space Grotesk',sans-serif;font-weight:500;letter-spacing:-.5px}
.s-mono .sl-kick{font-family:'DM Mono';font-weight:500;letter-spacing:4px}
.s-mono .sl-ltext{font-family:'DM Mono';font-size:38px}
.s-mono .sl-h--serif{font-family:'Space Grotesk';font-size:68px}

.s-magazine .sl-h{font-family:'Fr';font-weight:600}
.s-magazine .sl-idx{font-family:'Fr';font-size:42px;opacity:1}
.s-magazine .sl-stat-n{font-family:'Fr';letter-spacing:-4px}
.s-magazine .sl-lnum{font-family:'Fr';font-size:34px}
