/*
 * rem-featured-guest.css -- Real Estate Moguls Featured Guest Page
 * Endorsement-based scheduling page with GHL calendar embed.
 */

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

/* ── 01. HERO ─────────────────────────────────────────── */
.rem-fg-page .fg-hero { position:relative; height:700px; overflow:hidden; }
.rem-fg-page .fg-hero__bg { width:100%; height:100%; object-fit:cover; object-position:center 30%; display:block; }
.rem-fg-page .fg-hero__ov { position:absolute; inset:0; background:linear-gradient(100deg,rgba(13,27,42,.94) 0%,rgba(13,27,42,.72) 44%,rgba(13,27,42,.16) 100%); display:flex; align-items:center; padding:0 80px; }
.rem-fg-page .fg-hero__box { max-width:660px; padding-top:120px; padding-bottom:120px; }
.rem-fg-page .fg-hero__eye { font-family:var(--font-body); font-size:13px; font-weight:700; letter-spacing:.28em; text-transform:uppercase; color:var(--primary); margin-bottom:22px; display:block; }
.rem-fg-page .fg-hero__h1 { font-family:var(--font-display); font-size:clamp(38px,5.6vw,64px); font-weight:800; line-height:1.06; color:#fff; margin:0 0 24px; letter-spacing:-.025em; }
.rem-fg-page .fg-hero__h1 em { font-style:normal; color:var(--primary); }
.rem-fg-page .fg-hero__body { font-family:var(--font-body); font-size:19px; color:rgba(255,255,255,.78); line-height:1.75; margin-bottom:32px; max-width:560px; }
.rem-fg-page .fg-hero .btn { display:inline-block; padding:16px 36px; background:var(--primary,#29ABE2); color:#fff; font-family:var(--font-body); font-size:14px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; text-decoration:none; border-radius:4px; transition:background .25s; }
.rem-fg-page .fg-hero .btn:hover { background:var(--authority,#0D1B2A); }

/* ── 02. ENDORSEMENT BAR ──────────────────────────────── */
.rem-fg-page .fg-bar { background:var(--primary,#29ABE2); color:#fff; text-align:center; padding:20px 40px; }
.rem-fg-page .fg-bar p { font-family:var(--font-body); font-size:15px; color:#fff; line-height:1.6; margin:0; letter-spacing:.01em; }
.rem-fg-page .fg-bar strong { color:#fff; font-weight:700; }

/* ── 03. WHAT THIS IS ─────────────────────────────────── */
.rem-fg-page .fg-what { background:#fff; padding:96px 40px; }
.rem-fg-page .fg-what__inner { max-width:780px; margin:0 auto; }
.rem-fg-page .fg-what__eye { font-family:var(--font-body); font-size:13px; font-weight:700; letter-spacing:.24em; text-transform:uppercase; color:var(--primary); display:block; margin-bottom:14px; }
.rem-fg-page .fg-what__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 24px; letter-spacing:-.02em; }
.rem-fg-page .fg-what__h2 em { font-style:normal; color:var(--primary); }
.rem-fg-page .fg-what__body { font-family:var(--font-body); font-size:19px; color:#4A5568; line-height:1.78; margin:0 0 18px; }
.rem-fg-page .fg-what__body:last-child { margin-bottom:0; }

/* ── 04 / 07. IMAGE ROWS ──────────────────────────────── */
.rem-fg-page .fg-imgrow { display:grid; grid-template-columns:repeat(3,1fr); gap:0; }
.rem-fg-page .fg-imgrow__i { overflow:hidden; height:320px; }
.rem-fg-page .fg-imgrow__i img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .45s; }
.rem-fg-page .fg-imgrow__i:hover img { transform:scale(1.04); }

/* ── 05. HOW THIS WORKS (DARK) ────────────────────────── */
.rem-fg-page .fg-how { background:linear-gradient(180deg,#0D1B2A 0%,#0a1622 100%); padding:96px 40px; }
.rem-fg-page .fg-how__inner { max-width:1100px; margin:0 auto; text-align:center; }
.rem-fg-page .fg-how__eye { font-family:var(--font-body); font-size:13px; font-weight:700; letter-spacing:.24em; text-transform:uppercase; color:var(--primary); display:block; margin-bottom:14px; }
.rem-fg-page .fg-how__h2 { font-family:var(--font-display); font-size:clamp(30px,4vw,50px); font-weight:800; line-height:1.1; color:#fff; margin:0 0 22px; letter-spacing:-.02em; }
.rem-fg-page .fg-how__h2 em { font-style:normal; color:var(--primary); }
.rem-fg-page .fg-how__body { font-family:var(--font-body); font-size:19px; color:rgba(255,255,255,.65); line-height:1.75; max-width:680px; margin:0 auto 56px; text-align:left; }
.rem-fg-page .fg-how__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; text-align:left; }
.rem-fg-page .fg-how__card { background:rgba(255,255,255,.03); border-top:3px solid var(--primary); padding:36px 30px; border-radius:0 0 6px 6px; }
.rem-fg-page .fg-how__num { font-family:var(--font-display); font-size:44px; font-weight:800; color:rgba(41,171,226,.22); line-height:1; margin-bottom:18px; letter-spacing:-.03em; }
.rem-fg-page .fg-how__card h4 { font-family:var(--font-display); font-size:22px; font-weight:800; color:#fff; margin:0 0 12px; letter-spacing:-.01em; }
.rem-fg-page .fg-how__card p { font-family:var(--font-body); font-size:16px; color:rgba(255,255,255,.62); line-height:1.7; margin:0; }

/* ── 06. ENDORSEMENT SPLIT (LIGHT) ────────────────────── */
.rem-fg-page .fg-endorse { display:grid; grid-template-columns:3fr 2fr; align-items:stretch; background:var(--background,#F2F4F7); }
.rem-fg-page .fg-endorse__copy { padding:96px 64px; display:flex; flex-direction:column; justify-content:center; max-width:780px; }
.rem-fg-page .fg-endorse__eye { font-family:var(--font-body); font-size:13px; font-weight:700; letter-spacing:.24em; text-transform:uppercase; color:var(--primary); display:block; margin-bottom:14px; }
.rem-fg-page .fg-endorse__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 24px; letter-spacing:-.02em; }
.rem-fg-page .fg-endorse__h2 em { font-style:normal; color:var(--primary); }
.rem-fg-page .fg-endorse__body { font-family:var(--font-body); font-size:18px; color:#4A5568; line-height:1.78; margin:0 0 18px; }
.rem-fg-page .fg-endorse__body:last-child { margin-bottom:0; }
.rem-fg-page .fg-endorse__img { position:relative; overflow:hidden; min-height:520px; }
.rem-fg-page .fg-endorse__img img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }

/* ── 08. WHAT YOU RECEIVE (LIGHT) ─────────────────────── */
.rem-fg-page .fg-receive { background:#fff; padding:96px 40px; }
.rem-fg-page .fg-receive__inner { max-width:1100px; margin:0 auto; }
.rem-fg-page .fg-receive__eye { font-family:var(--font-body); font-size:13px; font-weight:700; letter-spacing:.24em; text-transform:uppercase; color:var(--primary); display:block; margin-bottom:14px; text-align:center; }
.rem-fg-page .fg-receive__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 auto 56px; letter-spacing:-.02em; text-align:center; max-width:780px; }
.rem-fg-page .fg-receive__h2 em { font-style:normal; color:var(--primary); }
.rem-fg-page .fg-receive__grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.rem-fg-page .fg-receive__card { border:1px solid #E2E5E9; padding:36px 32px; border-radius:6px; transition:border-color .25s, transform .25s, box-shadow .25s; }
.rem-fg-page .fg-receive__card:hover { border-color:var(--primary); transform:translateY(-3px); box-shadow:0 8px 28px rgba(13,27,42,.08); }
.rem-fg-page .fg-receive__card h4 { font-family:var(--font-display); font-size:22px; font-weight:800; color:var(--authority,#0D1B2A); margin:0 0 12px; letter-spacing:-.01em; }
.rem-fg-page .fg-receive__card p { font-family:var(--font-body); font-size:17px; color:#4A5568; line-height:1.7; margin:0; }

/* ── 09. THE STUDIO (DARK) ────────────────────────────── */
.rem-fg-page .fg-studio { background:linear-gradient(180deg,#0a1622 0%,#0D1B2A 100%); padding:96px 40px; }
.rem-fg-page .fg-studio__inner { max-width:1100px; margin:0 auto; text-align:center; }
.rem-fg-page .fg-studio__eye { font-family:var(--font-body); font-size:13px; font-weight:700; letter-spacing:.24em; text-transform:uppercase; color:var(--primary); display:block; margin-bottom:14px; }
.rem-fg-page .fg-studio__h2 { font-family:var(--font-display); font-size:clamp(30px,4vw,50px); font-weight:800; line-height:1.1; color:#fff; margin:0 0 24px; letter-spacing:-.02em; }
.rem-fg-page .fg-studio__h2 em { font-style:normal; color:var(--primary); }
.rem-fg-page .fg-studio__body { font-family:var(--font-body); font-size:19px; color:rgba(255,255,255,.65); line-height:1.78; max-width:780px; margin:0 auto 48px; text-align:left; }
.rem-fg-page .fg-studio__imgs { display:grid; grid-template-columns:1fr 1fr; gap:0; margin:0 -40px; }
.rem-fg-page .fg-studio__imgs img { width:100%; height:420px; object-fit:cover; display:block; }
.rem-fg-page .fg-studio__btn-wrap { text-align:center; margin-top:48px; }
.rem-fg-page .fg-studio__btn-wrap .btn { display:inline-block; padding:16px 36px; background:var(--primary,#29ABE2); color:#fff; font-family:var(--font-body); font-size:14px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; text-decoration:none; border-radius:4px; transition:background .25s; }
.rem-fg-page .fg-studio__btn-wrap .btn:hover { background:#fff; color:var(--authority,#0D1B2A); }

/* ── 10. SCHEDULE (DARK GRADIENT, BLUE TOP BORDER) ────── */
.rem-fg-page .fg-schedule { background:linear-gradient(180deg,#0D1B2A 0%,#081320 100%); border-top:5px solid var(--primary); padding:96px 40px; }
.rem-fg-page .fg-schedule__inner { max-width:880px; margin:0 auto; text-align:center; }
.rem-fg-page .fg-schedule__eye { font-family:var(--font-body); font-size:13px; font-weight:700; letter-spacing:.24em; text-transform:uppercase; color:var(--primary); display:block; margin-bottom:14px; }
.rem-fg-page .fg-schedule__h2 { font-family:var(--font-display); font-size:clamp(30px,4vw,50px); font-weight:800; line-height:1.1; color:#fff; margin:0 0 22px; letter-spacing:-.02em; }
.rem-fg-page .fg-schedule__h2 em { font-style:normal; color:var(--primary); }
.rem-fg-page .fg-schedule__body { font-family:var(--font-body); font-size:19px; color:rgba(255,255,255,.65); line-height:1.78; margin:0 auto 48px; max-width:680px; text-align:left; }
.rem-fg-page .fg-schedule__embed { background:rgba(255,255,255,.04); border:1px solid rgba(41,171,226,.22); border-radius:8px; padding:20px; box-shadow:0 16px 48px rgba(0,0,0,.3); }
.rem-fg-page .fg-schedule__embed iframe { width:100%; min-height:760px; border:none; display:block; background:#fff; border-radius:6px; }
.rem-fg-page .fg-schedule__fallback { padding:32px; text-align:center; }
.rem-fg-page .fg-schedule__fallback p { font-family:var(--font-body); font-size:16px; color:rgba(255,255,255,.55); margin:0; }
.rem-fg-page .fg-schedule__fallback .btn { display:inline-block; padding:16px 36px; background:var(--primary,#29ABE2); color:#fff; font-family:var(--font-body); font-size:14px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; text-decoration:none; border-radius:4px; transition:background .25s; }
.rem-fg-page .fg-schedule__fallback .btn:hover { background:#fff; color:var(--authority,#0D1B2A); }

/* ── 11. CLOSING ──────────────────────────────────────── */
.rem-fg-page .fg-closing { background:#fff; padding:96px 40px; }
.rem-fg-page .fg-closing__inner { max-width:740px; margin:0 auto; text-align:center; }
.rem-fg-page .fg-closing__rule { width:80px; height:3px; background:linear-gradient(90deg,var(--primary,#29ABE2) 0%,rgba(41,171,226,.2) 100%); margin:0 auto 32px; }
.rem-fg-page .fg-closing__body { font-family:var(--font-display); font-style:italic; font-size:clamp(20px,2.4vw,24px); color:#4A5568; line-height:1.55; margin:0 0 24px; }
.rem-fg-page .fg-closing__tagline { font-family:var(--font-display); font-weight:800; font-size:clamp(16px,1.8vw,18px); color:var(--authority,#0D1B2A); line-height:1.45; margin:0; letter-spacing:-.005em; }

/* ── RESPONSIVE ───────────────────────────────────────── */
@media (max-width: 960px) {
  .rem-fg-page .fg-hero { height:600px; }
  .rem-fg-page .fg-hero__ov { padding:0 36px; }
  .rem-fg-page .fg-hero__box { padding-top:100px; }
  .rem-fg-page .fg-what,
  .rem-fg-page .fg-how,
  .rem-fg-page .fg-receive,
  .rem-fg-page .fg-studio,
  .rem-fg-page .fg-schedule,
  .rem-fg-page .fg-closing { padding:64px 24px; }
  .rem-fg-page .fg-bar { padding:18px 24px; font-size:14px; }
  .rem-fg-page .fg-how__grid { grid-template-columns:1fr; gap:18px; }
  .rem-fg-page .fg-endorse { grid-template-columns:1fr; }
  .rem-fg-page .fg-endorse__copy { padding:56px 28px; }
  .rem-fg-page .fg-endorse__img { min-height:340px; }
  .rem-fg-page .fg-receive__grid { grid-template-columns:1fr; gap:18px; }
  .rem-fg-page .fg-studio__imgs { grid-template-columns:1fr; }
  .rem-fg-page .fg-studio__imgs img { height:280px; }
  .rem-fg-page .fg-imgrow { grid-template-columns:1fr 1fr; }
  .rem-fg-page .fg-imgrow__i:last-child { display:none; }
  .rem-fg-page .fg-imgrow__i { height:240px; }
  .rem-fg-page .fg-schedule__embed iframe { min-height:680px; }
}

@media (max-width: 640px) {
  .rem-fg-page .fg-hero { height:500px; }
  .rem-fg-page .fg-hero__ov { padding:0 24px; }
  .rem-fg-page .fg-hero__box { padding-top:80px; }
  .rem-fg-page .fg-hero__h1 { font-size:34px; }
  .rem-fg-page .fg-hero__body { font-size:17px; }
  .rem-fg-page .fg-imgrow { grid-template-columns:1fr; }
  .rem-fg-page .fg-imgrow__i { display:block !important; height:220px; }
  .rem-fg-page .fg-receive__card { padding:28px 22px; }
  .rem-fg-page .fg-how__card { padding:28px 22px; }
  .rem-fg-page .fg-schedule__embed { padding:10px; }
  .rem-fg-page .fg-schedule__embed iframe { min-height:620px; }
  .rem-fg-page .fg-studio__imgs { grid-template-columns:1fr; margin:0 -24px; }
  .rem-fg-page .fg-studio__imgs img { height:280px; }
}
