/* Grounded editorial scenes, distinct from genuine portraits and client media. */
body.coaching-visuals { background: #080a0d; }
body.coaching-visuals::before { display: none; }
.coaching-visuals .grid-bg { background: none; }
.coaching-visuals .stage-glow { display: none; }
.coaching-visuals .eyebrow .dot { box-shadow: none; }
.coaching-visuals nav::before { background: rgba(8, 10, 13, .96); }
.coaching-visuals .kicker { color: #bad2e5; }
.coaching-visuals .page-card, .coaching-visuals .stagecard,
.coaching-visuals .workflow-panel, .coaching-visuals .form-shell {
  background: #11161b;
  border-color: rgba(213, 222, 230, .18);
}
.coaching-visuals .page-callout { background: #17202a; }
.coaching-visuals .btn-ghost { background: rgba(8, 10, 13, .72); }
.coaching-visuals .btn-ghost:hover { background: #17202a; }
.visual-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-radius: 28px;
  border: 1px solid rgba(213, 222, 230, .15);
  width: min(1380px, calc(100% - 40px));
  margin: 22px auto 0;
  padding: clamp(52px, 6vw, 88px) 0;
}
.visual-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(8, 10, 13, .98) 0%, rgba(8, 10, 13, .91) 35%, rgba(8, 10, 13, .50) 63%, rgba(8, 10, 13, .18) 100%);
}
.visual-scene { position: absolute; inset: 0; z-index: 0; display: block; pointer-events: none; }
.visual-scene img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.visual-hero > .wrap { position: relative; z-index: 2; width: min(1180px, calc(100% - 88px)); }
.visual-hero .hero-sub, .visual-hero .hero-note { color: #e0e4e9; }
.visual-hero .kicker { color: #c3d7e6; }
.visual-hero h1 { max-width: 19ch; }
.visual-hero .hero-layout { grid-template-columns: 1.45fr .8fr; gap: 40px; align-items: center; }
.visual-hero .page-portrait { max-width: 390px; justify-self: end; border: 1px solid rgba(255, 255, 255, .25); }
.visual-home .hero-layout { align-items: end; }
.visual-home .coach-portrait {
  display: flex;
  align-items: center;
  padding: 10px;
  width: 330px;
  max-width: 100%;
  justify-self: end;
  margin: 220px 0 0;
  border-radius: 20px;
  background: rgba(8, 10, 13, .94);
}
.visual-home .coach-portrait-inner { width: 100px; height: 118px; aspect-ratio: auto; flex: none; border-radius: 12px; }
.visual-home .coach-portrait figcaption { padding: 12px 16px; gap: 5px; }
.visual-home .coach-portrait strong { font-size: 18px; }
.visual-home .coach-portrait figcaption span { font-size: 13px; }
.visual-home .hero h1 { font-size: clamp(2.55rem, 4.25vw, 3.7rem); }
.visual-home .hero-sub { max-width: 45ch; }
.visual-article { padding-block: 64px; }
.visual-article h1 { font-size: clamp(2.2rem, 4.4vw, 3.65rem); max-width: 21ch; }
.visual-article::after { background: linear-gradient(90deg, rgba(8, 10, 13, .98) 0%, rgba(8, 10, 13, .95) 45%, rgba(8, 10, 13, .67) 68%, rgba(8, 10, 13, .25) 100%); }
.visual-article .hero-sub { max-width: 52ch; }
.visual-band { margin: 0 auto; padding: 0; width: min(1180px, calc(100% - 40px)); }
.visual-band picture { display: block; overflow: hidden; border-radius: 24px; border: 1px solid rgba(213, 222, 230, .18); }
.visual-band img { display: block; width: 100%; height: clamp(220px, 28vw, 380px); object-fit: cover; object-position: center 55%; }
.visual-band.visual-compact img { height: clamp(160px, 22vw, 270px); }
.visual-band.visual-tools { margin: 32px auto; }
.visual-icon { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; margin-bottom: 22px; border: 1px solid #4a6477; border-radius: 12px; color: #c3d7e6; }
.visual-icon svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.coaching-visuals .journal-list { gap: 16px; }
.coaching-visuals .journal-list article { padding: 28px; border: 1px solid rgba(213, 222, 230, .16); border-radius: 18px; background: #11161b; }
.coaching-visuals .journal-list article h3 { margin-top: 0; }
.coaching-visuals .page-messages img { border-radius: 16px; }
.coaching-visuals footer { background: #0b0f13; }
@media (min-width: 1100px) {
  .coaching-visuals .page-grid:not(.two) { gap: 20px; }
  .coaching-visuals .page-card { padding: 34px; }
}
@media (max-width: 900px) {
  .visual-hero { width: calc(100% - 24px); border-radius: 22px; }
  .visual-hero > .wrap { width: calc(100% - 48px); }
  .visual-home .coach-portrait { width: 270px; }
  .visual-home .coach-portrait figcaption { padding: 10px; }
  .visual-home .coach-portrait-inner { width: 80px; height: 104px; }
}
@media (max-width: 768px) {
  .visual-hero { padding: 42px 0 190px; margin-top: 18px; }
  .visual-hero::after { background: linear-gradient(180deg, rgba(8, 10, 13, .94) 0%, rgba(8, 10, 13, .94) 64%, rgba(8, 10, 13, .74) 78%, rgba(8, 10, 13, .10) 100%); }
  .visual-scene img { object-position: 65% center; }
  .visual-hero .hero-layout { grid-template-columns: 1fr; gap: 36px; }
  .visual-hero h1 { font-size: clamp(2.25rem, 9vw, 3.25rem); max-width: 22ch; }
  .visual-hero .hero-sub { font-size: 17px; line-height: 1.75; }
  .visual-hero .hero-ctas { align-items: stretch; }
  .visual-home .coach-portrait { margin-top: 4px; justify-self: start; width: 300px; }
  .visual-hero .page-portrait { justify-self: center; max-width: 350px; }
  .visual-hero:has(.page-portrait) { padding-bottom: 42px; }
  .visual-home .visual-hero { padding-bottom: 42px; }
  .visual-article { padding-block: 44px; }
  .visual-article::after { background: rgba(8, 10, 13, .87); }
  .visual-band { width: calc(100% - 40px); }
  .visual-band picture { border-radius: 18px; }
  .coaching-visuals .journal-list article { padding: 24px; }
}
@media (prefers-contrast: more) {
  .visual-hero::after, .visual-article::after { background: rgba(8, 10, 13, .94); }
}
