/* Original Rethink My Trip artwork, shared by the main site and the Club. */
.rmt-brand-mark { display: inline-block; width: 36px; height: 33px; max-width: none; margin-right: 9px; object-fit: contain; vertical-align: -7px; mix-blend-mode: multiply; }
.logo, .contact-logo, .legal-logo { white-space: nowrap; }
.author-brand-badge { display: block; width: 160px; height: 160px; max-width: 100%; object-fit: contain; border-radius: 50%; }
.authors-section .author-card { grid-template-columns: 160px minmax(0, 1fr); gap: 24px; }
.hero-with-photo { padding-block: 86px 72px; }
.hero-with-photo .hero-inner { grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 64px; }
.hero-photo { position: relative; width: 100%; max-width: 620px; margin: 0; align-self: center; justify-self: end; border: 1px solid rgba(255,255,255,.8); border-radius: 28px; overflow: hidden; background: #e7f0f2; box-shadow: 0 25px 65px rgba(21,54,73,.16); }
.hero-photo-frame { position: relative; width: 100%; aspect-ratio: 690 / 629; overflow: hidden; }
/* Frame x=630..1320, y=395..1024: only the natural photo, excluding the baked-in UI. */
.hero-photo-frame img { position: absolute; display: block; width: 222.6087%; height: 162.7981%; max-width: none; left: -91.30435%; top: -62.7981%; }
.hero-photo figcaption { position: absolute; bottom: 20px; left: 20px; right: 20px; padding: 18px 22px; border: 1px solid rgba(255,255,255,.25); border-radius: 16px; color: white; background: rgba(9,34,49,.87); box-shadow: 0 8px 26px rgba(0,0,0,.1); }
.hero-photo figcaption span { display: block; font-size: 11px; font-weight: 600; letter-spacing: 1.6px; text-transform: uppercase; }
.hero-photo figcaption strong { display: block; margin-top: 4px; font-size: 24px; line-height: 1.2; letter-spacing: -.6px; }
.planning-perspective { margin-bottom: 64px; padding: 32px 36px; border: 1px solid var(--border); border-radius: 24px; background: linear-gradient(135deg,#fff,#f8faff); }
.perspective-heading { max-width: 740px; }
.perspective-heading h2 { margin: 12px 0; font-size: 30px; line-height: 1.15; letter-spacing: -.8px; }
.perspective-heading h2 br { display: none; }
.perspective-heading h2 br::after { content: ' '; }
.perspective-heading > p { margin: 0; font-size: 14px; line-height: 1.7; color: var(--text-light); }
.planning-perspective .principle-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 30px; margin-top: 26px; padding-top: 24px; border-top: 1px solid var(--border); }
.planning-perspective .principle { margin: 0; padding: 0; border: 0; }
@media (min-width: 981px) and (max-width: 1180px) {
  .header-inner { gap: 18px; }
  .desktop-nav { gap: 17px; }
  .site-nav nav { gap: 15px; }
  .nav-shell { gap: 18px; }
}
@media (max-width: 1100px) {
  .authors-section .author-card { grid-template-columns: 112px minmax(0,1fr); }
  .author-brand-badge { width: 112px; height: 112px; }
}
@media (max-width: 980px) {
  .hero-with-photo .hero-inner { grid-template-columns: 1fr; gap: 38px; }
  .hero-photo { justify-self: center; }
  .hero-with-photo { padding-block: 65px 48px; }
}
@media (max-width: 720px) {
  .rmt-brand-mark { width: 31px; height: 28px; margin-right: 7px; vertical-align: -6px; }
  .hero-photo { border-radius: 22px; }
  .hero-photo figcaption { inset: auto 14px 14px; padding: 14px 17px; }
  .hero-photo figcaption strong { font-size: 21px; }
  .planning-perspective { margin-bottom: 44px; padding: 25px 22px; }
  .perspective-heading h2 { font-size: 27px; }
  .planning-perspective .principle-list { grid-template-columns: 1fr; gap: 22px; }
  .authors-section .author-card { grid-template-columns: 1fr; }
  .author-brand-badge { width: 160px; height: 160px; }
}
.planning-perspective .panel-badge,
.planning-perspective .principle-number { color: #1d4ed8; }
