/* ===========================================================
   Concierge — Ockerman Health brand palette (navy / linen / gold).
   Namespaced .cg-* so it cannot collide with mmm.css or library.css.
   Deliberately a different register from the rest of the site: this page
   sells discretion, so it is quiet where the training pages are loud.
   =========================================================== */
.cg{--navy:#121A26;--navy2:#18222F;--linen:#F2EDE4;--gold:#B08D52;--gold2:#C9A96A;
    --line:rgba(242,237,228,.12);--muted:#A9B2BE}

.cg-hero{position:relative;background:var(--navy);padding:132px 0 0;overflow:hidden}
.cg-hero::before{content:"";position:absolute;inset:0;
  background:radial-gradient(90% 70% at 20% 0%,rgba(176,141,82,.14),transparent 60%)}
.cg-hero .wrap{position:relative;z-index:2}
.cg-eyebrow{font-family:var(--disp);font-size:11.5px;letter-spacing:.26em;text-transform:uppercase;
  color:var(--gold);margin:0 0 16px}
.cg-hero h1{font-size:clamp(34px,5.4vw,62px);line-height:1.04;margin:0 0 20px;color:var(--linen);
  font-weight:700;letter-spacing:-.01em}
.cg-hero p.lede{color:var(--muted);font-size:19px;line-height:1.62;max-width:620px;margin:0 0 34px}

/* video: poster + click to play. preload=none because the file is 15 MB and
   most visitors will never press play — autoloading it is their bandwidth. */
.cg-video{position:relative;margin:0 auto;max-width:1000px;border-radius:14px;overflow:hidden;
  border:1px solid var(--line);background:#000;aspect-ratio:16/9}
.cg-video video{width:100%;height:100%;object-fit:cover;display:block}
.cg-video .play{position:absolute;inset:0;display:grid;place-items:center;cursor:pointer;border:0;
  background:linear-gradient(180deg,rgba(18,26,38,.18),rgba(18,26,38,.52));transition:background .25s}
.cg-video .play:hover{background:linear-gradient(180deg,rgba(18,26,38,.1),rgba(18,26,38,.42))}
.cg-video .play span{width:78px;height:78px;border-radius:50%;display:grid;place-items:center;
  background:rgba(242,237,228,.94);box-shadow:0 12px 40px -8px rgba(0,0,0,.7)}
.cg-video .play svg{width:26px;height:26px;margin-left:4px;color:var(--navy)}
.cg-video[data-playing] .play{display:none}

.cg-band{background:var(--navy2);padding:78px 0;border-top:1px solid var(--line)}
.cg-band.alt{background:var(--navy)}
.cg-band h2{font-size:clamp(24px,3vw,34px);color:var(--linen);margin:0 0 14px;line-height:1.18}
.cg-band p{color:var(--muted);font-size:17px;line-height:1.7;max-width:660px}
.cg-lead{max-width:680px}

/* the four promises, taken from the spot's own lower thirds */
.cg-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1px;
  background:var(--line);border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-top:36px}
.cg-step{background:var(--navy);padding:28px 24px}
.cg-step b{display:block;font-family:var(--disp);font-size:12px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--gold);margin-bottom:12px}
.cg-step p{color:var(--linen);font-size:18px;line-height:1.45;margin:0}

.cg-caps{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px;margin-top:34px}
.cg-cap{padding:20px 22px;border-radius:12px;background:rgba(242,237,228,.035);border:1px solid var(--line)}
.cg-cap b{display:block;font-family:var(--disp);font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--linen);margin-bottom:7px}
.cg-cap span{color:var(--muted);font-size:14.5px;line-height:1.55}

.cg-rule{height:1px;background:var(--line);margin:54px 0}
.cg-quiet{color:var(--muted);font-size:15px;line-height:1.72;max-width:620px}
.cg-quiet strong{color:var(--linen)}

.cg-cta{background:var(--navy);padding:80px 0;border-top:1px solid var(--line);text-align:center}
.cg-cta h2{margin-bottom:12px}
.cg-cta p{margin:0 auto 26px}
.cg-btn{display:inline-block;padding:15px 30px;border-radius:999px;font-weight:700;font-size:15px;
  text-decoration:none;background:linear-gradient(135deg,var(--gold),var(--gold2));color:#1a1206}
.cg-btn:hover{filter:brightness(1.06)}
.cg-btn.ghost{background:transparent;color:var(--linen);border:1px solid var(--line);margin-left:10px}

@media (max-width:760px){
  .cg-hero{padding-top:104px}
  .cg-band{padding:56px 0}
  .cg-video{aspect-ratio:9/16;max-width:420px}
}

/* --- refined sections --- */
.cg-buys{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:26px;margin-top:34px}
.cg-buy b{display:block;font-family:var(--disp);font-size:13px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--gold);margin-bottom:10px}
.cg-buy p{color:var(--muted);font-size:16px;line-height:1.66;margin:0;max-width:none}

/* itinerary: the specific beats the adjectival for this reader */
.cg-day{margin-top:34px;border-left:1px solid var(--line);padding-left:0}
.cg-hour{display:grid;grid-template-columns:82px 1fr;gap:20px;padding:20px 0 20px 26px;position:relative;
  border-bottom:1px solid var(--line)}
.cg-hour:last-child{border-bottom:0}
.cg-hour::before{content:"";position:absolute;left:-4px;top:28px;width:7px;height:7px;border-radius:50%;
  background:var(--gold);box-shadow:0 0 0 4px var(--navy)}
.cg-hour>b{font-family:var(--disp);font-size:14px;color:var(--gold2);letter-spacing:.04em;padding-top:1px}
.cg-hour strong{display:block;color:var(--linen);font-size:17.5px;font-weight:600;margin-bottom:5px}
.cg-hour span{color:var(--muted);font-size:15.5px;line-height:1.62}

.cg-two{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:start}
.cg-two h2{margin-bottom:16px}
.cg-fit{list-style:none;margin:0;padding:0}
.cg-fit li{position:relative;padding-left:26px;margin-bottom:14px;color:var(--muted);font-size:16.5px;line-height:1.6}
.cg-fit li::before{content:"";position:absolute;left:0;top:10px;width:12px;height:1px;background:var(--gold)}

@media (max-width:820px){
  .cg-two{grid-template-columns:1fr;gap:38px}
  .cg-hour{grid-template-columns:66px 1fr;gap:14px;padding-left:20px}
}

/* why-Tom blocks */
.cg-whys{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:28px;margin-top:34px}
.cg-why b{display:block;font-family:var(--disp);font-size:16.5px;line-height:1.35;color:var(--linen);
  margin-bottom:11px;padding-bottom:11px;border-bottom:1px solid var(--line)}
.cg-why p{color:var(--muted);font-size:15.5px;line-height:1.66;margin:0;max-width:none}
.cg-note-sm{font-size:14.5px !important;color:var(--muted2) !important;padding:14px 16px;border-radius:10px;
  background:rgba(242,237,228,.035);border:1px solid var(--line);margin-top:16px !important}
