/*
 * rem-mogul-session.css
 * Real Estate Moguls — Mogul Session (Sponsored Scheduling) Page
 * Mirrors the rem-about.css pattern. All rules scoped under .rem-ms-page.
 */

.rem-ms-page { -webkit-font-smoothing: antialiased; }

/* HERO */
.rem-ms-page .hero { position:relative; height:700px; overflow:hidden; }
.rem-ms-page .hero img { width:100%; height:100%; object-fit:cover; object-position:center 30%; display:block; }
.rem-ms-page .hero-ov { position:absolute; inset:0; background:linear-gradient(100deg,rgba(13,27,42,.92) 0%,rgba(13,27,42,.68) 44%,rgba(13,27,42,.15) 100%); display:flex; align-items:center; padding:0 80px; }
.rem-ms-page .hero-box { max-width:640px; }
.rem-ms-page .hero-eye { font-family:var(--font-body); font-size:16px; font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:var(--primary); display:block; margin-bottom:22px; }
.rem-ms-page .hero-box h1 { font-family:var(--font-display); font-size:clamp(38px,5.5vw,68px); font-weight:800; line-height:1.06; color:#fff; margin:0 0 24px; letter-spacing:-.025em; }
.rem-ms-page .hero-box h1 em { font-style:normal; color:var(--primary); }
.rem-ms-page .hero-box p { font-family:var(--font-body); font-size:20px; color:rgba(255,255,255,.8); line-height:1.7; max-width:520px; margin:0 0 32px; }

/* DECLARATION BAR */
.rem-ms-page .decl { background:var(--authority,#0D1B2A); border-bottom:3px solid var(--primary); padding:24px 40px; text-align:center; }
.rem-ms-page .decl p { font-family:var(--font-body); font-size:19px; font-weight:600; color:rgba(255,255,255,.85); margin:0 auto; line-height:1.6; letter-spacing:.01em; }
.rem-ms-page .decl strong { color:var(--primary); }

/* SECTIONS */
.rem-ms-page .sec      { padding:90px 40px; }
.rem-ms-page .sec-alt  { padding:90px 40px; background:var(--background,#F2F4F7); }
.rem-ms-page .sec-dark { padding:90px 40px; background:var(--authority,#0D1B2A); border-top:5px solid var(--primary); border-bottom:5px solid var(--primary); }
.rem-ms-page .inn { max-width:1100px; margin:0 auto; }
.rem-ms-page .nrw { max-width:760px; margin:0 auto; }

/* TYPOGRAPHY */
.rem-ms-page .eye { font-family:var(--font-body); font-size:18px; font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:var(--primary); display:block; margin-bottom:16px; }
.rem-ms-page .eye-lt { color:rgba(41,171,226,.85); }
.rem-ms-page h2 { font-family:var(--font-display); font-size:clamp(30px,4vw,50px); font-weight:800; line-height:1.1; color:var(--authority,#0D1B2A); margin:0 0 22px; letter-spacing:-.02em; }
.rem-ms-page h2 em { font-style:normal; color:var(--primary); }
.rem-ms-page h2.lt { color:#fff; }
.rem-ms-page .body    { font-family:var(--font-body); font-size:20px; color:#4A5568; line-height:1.75; }
.rem-ms-page .body-lt { font-family:var(--font-body); font-size:20px; color:rgba(255,255,255,.7); line-height:1.75; }

/* CTA BUTTONS */
.rem-ms-page .cta-row { margin-top:36px; }
.rem-ms-page .btn { display:inline-block; font-family:var(--font-body); font-size:15px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; text-decoration:none; padding:16px 40px; border-radius:4px; transition:background 200ms,color 200ms,transform 200ms; }
.rem-ms-page .btn-p { background:var(--primary); color:#fff; }
.rem-ms-page .btn-p:hover { background:#1d8ab5; color:#fff; transform:translateY(-1px); }
.rem-ms-page .btn-lg { padding:20px 52px; font-size:16px; }

/* IMAGE ROWS (edge-to-edge 3-grid, hover scale) */
.rem-ms-page .imgrow { display:grid; grid-template-columns:repeat(3,1fr); }
.rem-ms-page .imgrow-i { overflow:hidden; }
.rem-ms-page .imgrow-i img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .45s; }
.rem-ms-page .imgrow-i:hover img { transform:scale(1.04); }
.rem-ms-page .imgrow-tall .imgrow-i  { height:380px; }
.rem-ms-page .imgrow-short .imgrow-i { height:260px; }

/* CARDS (4-column) */
.rem-ms-page .cards4 { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:48px; }
.rem-ms-page .card { border:1px solid var(--border,#E2E5E9); border-radius:6px; padding:30px 24px; background:#fff; transition:transform 200ms, box-shadow 200ms; }
.rem-ms-page .card:hover { transform:translateY(-3px); box-shadow:0 12px 28px rgba(13,27,42,.08); }
.rem-ms-page .card-n { font-family:var(--font-body); font-size:14px; font-weight:700; letter-spacing:.16em; color:var(--primary); margin-bottom:14px; }
.rem-ms-page .card h4 { font-family:var(--font-display); font-size:20px; font-weight:700; color:var(--authority,#0D1B2A); margin:0 0 10px; line-height:1.3; }
.rem-ms-page .card p { font-family:var(--font-body); font-size:17px; color:#4A5568; line-height:1.65; margin:0; }

/* SPLIT (used for Why Selected and After Your Session) */
.rem-ms-page .ms-split { display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
.rem-ms-page .ms-split--reverse .ms-split-img  { order:1; }
.rem-ms-page .ms-split--reverse .ms-split-copy { order:2; }
.rem-ms-page .ms-split-img { aspect-ratio:4/5; overflow:hidden; border-radius:6px; }
.rem-ms-page .ms-split-img img { width:100%; height:100%; object-fit:cover; display:block; }
.rem-ms-page .ms-split-copy { display:flex; flex-direction:column; justify-content:center; }

/* CHECKLIST (numbered circles, used by What to Bring) */
.rem-ms-page .ms-checklist { list-style:none; margin:48px 0 0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:28px 40px; }
.rem-ms-page .ms-checklist__item { display:grid; grid-template-columns:56px 1fr; gap:20px; align-items:start; }
.rem-ms-page .ms-checklist__num { width:48px; height:48px; border-radius:50%; background:var(--primary); color:#fff; font-family:var(--font-body); font-size:14px; font-weight:700; letter-spacing:.06em; display:inline-flex; align-items:center; justify-content:center; flex:0 0 48px; }
.rem-ms-page .ms-checklist__copy h4 { font-family:var(--font-display); font-size:20px; font-weight:700; color:var(--authority,#0D1B2A); margin:6px 0 6px; line-height:1.3; }
.rem-ms-page .ms-checklist__copy p { font-family:var(--font-body); font-size:17px; color:#4A5568; line-height:1.65; margin:0; }

/* NOTE */
.rem-ms-page .ms-note { font-family:var(--font-body); font-size:15px; font-style:italic; color:#6b7280; line-height:1.6; margin:40px 0 0; padding:16px 20px; border-left:3px solid var(--primary); background:rgba(41,171,226,.06); }

/* PROMPTS (dark, large editorial blocks) */
.rem-ms-page .ms-prompts { display:flex; flex-direction:column; gap:24px; }
.rem-ms-page .ms-prompt { display:grid; grid-template-columns:80px 1fr; gap:24px; align-items:start; padding:28px 32px; background:rgba(255,255,255,.04); border-left:3px solid var(--primary); border-radius:0 6px 6px 0; }
.rem-ms-page .ms-prompt__num { font-family:var(--font-display); font-size:32px; font-weight:800; color:var(--primary); letter-spacing:-.02em; line-height:1; }
.rem-ms-page .ms-prompt__text { font-family:var(--font-display); font-size:clamp(20px,2.2vw,28px); font-weight:600; color:#fff; line-height:1.35; margin:0; letter-spacing:-.01em; }

/* SESSION FLOW (vertical stepped progression) */
.rem-ms-page .ms-flow { list-style:none; margin:0; padding:0; counter-reset:none; position:relative; }
.rem-ms-page .ms-flow::before { content:""; position:absolute; left:23px; top:24px; bottom:24px; width:2px; background:linear-gradient(to bottom,var(--primary) 0%,rgba(41,171,226,.25) 100%); }
.rem-ms-page .ms-flow__step { position:relative; display:grid; grid-template-columns:64px 1fr; gap:24px; align-items:start; padding:18px 0; }
.rem-ms-page .ms-flow__num { width:48px; height:48px; border-radius:50%; background:#fff; border:2px solid var(--primary); color:var(--primary); font-family:var(--font-body); font-size:14px; font-weight:700; display:inline-flex; align-items:center; justify-content:center; position:relative; z-index:1; }
.rem-ms-page .ms-flow__copy h4 { font-family:var(--font-display); font-size:22px; font-weight:700; color:var(--authority,#0D1B2A); margin:8px 0 6px; line-height:1.25; }
.rem-ms-page .ms-flow__copy p { font-family:var(--font-body); font-size:17px; color:#4A5568; line-height:1.65; margin:0; }

/* SCHEDULE SECTION (dark gradient, anchored) */
.rem-ms-page .ms-sec--sched { padding:90px 40px; background:linear-gradient(140deg,#0D1B2A 0%,#142a44 50%,#0D1B2A 100%); border-top:5px solid var(--primary); border-bottom:5px solid var(--primary); scroll-margin-top:80px; }
.rem-ms-page .ms-cal-embed { max-width:840px; margin:0 auto; background:#fff; border-radius:8px; padding:24px; box-shadow:0 18px 48px rgba(0,0,0,.35); }
.rem-ms-page .ms-cal-embed iframe { width:100%; min-height:720px; border:0; display:block; }
.rem-ms-page .ms-sched-cta { margin-top:8px; }
.rem-ms-page .ms-placeholder { font-family:var(--font-body); font-size:16px; font-style:italic; color:rgba(255,255,255,.55); margin:24px auto 0; max-width:520px; padding:24px 28px; border:1px dashed rgba(255,255,255,.2); border-radius:6px; }

/* CLOSING */
.rem-ms-page .closing { background:var(--authority,#0D1B2A); padding:100px 40px; text-align:center; }
.rem-ms-page .closing-eye { font-family:var(--font-body); font-size:18px; font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:var(--primary); display:block; margin-bottom:20px; text-align:left; }
.rem-ms-page .closing h2 { color:#fff; margin-bottom:28px; text-align:left; }
.rem-ms-page .closing-body { font-family:var(--font-body); font-size:20px; color:rgba(255,255,255,.62); line-height:1.85; margin:0 auto 28px; }

/* RESPONSIVE */
@media (max-width:960px) {
	.rem-ms-page .hero-ov { padding:0 36px; }
	.rem-ms-page .sec, .rem-ms-page .sec-alt, .rem-ms-page .sec-dark, .rem-ms-page .ms-sec--sched { padding:64px 24px; }
	.rem-ms-page .closing { padding:68px 24px; }
	.rem-ms-page .cards4 { grid-template-columns:repeat(2,1fr); gap:16px; }
	.rem-ms-page .ms-split { grid-template-columns:1fr; gap:32px; }
	.rem-ms-page .ms-split--reverse .ms-split-img  { order:0; }
	.rem-ms-page .ms-split--reverse .ms-split-copy { order:0; }
	.rem-ms-page .ms-split-img { aspect-ratio:16/10; }
	.rem-ms-page .ms-checklist { grid-template-columns:1fr; gap:24px; }
	.rem-ms-page .imgrow { grid-template-columns:1fr 1fr; }
	.rem-ms-page .imgrow-i:last-child { display:none; }
	.rem-ms-page .decl { padding:20px 24px; }
}

@media (max-width:640px) {
	.rem-ms-page .hero { height:620px; }
	.rem-ms-page .hero-ov { padding:0 24px; }
	.rem-ms-page .hero-box h1 { font-size:36px; }
	.rem-ms-page .hero-box p { font-size:17px; }
	.rem-ms-page .cards4 { grid-template-columns:1fr; }
	.rem-ms-page .imgrow { grid-template-columns:1fr; }
	.rem-ms-page .imgrow-i { display:block !important; }
	.rem-ms-page .imgrow-tall .imgrow-i { height:280px; }
	.rem-ms-page .imgrow-short .imgrow-i { height:220px; }
	.rem-ms-page .ms-prompt { grid-template-columns:56px 1fr; gap:16px; padding:22px 22px; }
	.rem-ms-page .ms-prompt__num { font-size:24px; }
	.rem-ms-page .ms-flow__step { grid-template-columns:56px 1fr; gap:18px; }
}

@media (max-width:375px) {
	.rem-ms-page .hero-box h1 { font-size:32px; }
	.rem-ms-page h2 { font-size:28px; }
	.rem-ms-page .body, .rem-ms-page .body-lt { font-size:17px; }
	.rem-ms-page .ms-checklist__item { grid-template-columns:44px 1fr; gap:14px; }
	.rem-ms-page .ms-checklist__num { width:40px; height:40px; flex-basis:40px; font-size:12px; }
}

@media (prefers-reduced-motion: reduce) {
	.rem-ms-page * { transition:none !important; }
}
