/* 2026 coastal editorial redesign: image-led, asymmetrical, and specific to RMB's named-home portfolio. */
:root { --nav-h: 78px; --paper: #f5f0e7; --paper-2: #e9e1d4; }

body { background: var(--paper); }
.nav { background: transparent; }
.nav.is-solid { background: rgba(0, 14, 40, .96); }
.hero {
  background: var(--paper) !important;
  color: var(--ink);
  padding: 0 !important;
  position: relative;
}
.hero::before { display: none !important; }
.hero__grid {
  width: 100% !important;
  height: 100%;
  display: grid !important;
  grid-template-columns: minmax(390px, .9fr) minmax(0, 1.1fr) !important;
  gap: 0 !important;
  align-items: stretch !important;
}
.hero__copy {
  order: 1;
  z-index: 3;
  background: var(--paper);
  padding: clamp(7rem, 12vh, 9rem) clamp(2.2rem, 5vw, 5.5rem) clamp(2rem, 5vh, 4rem) max(5vw, calc((100vw - 1500px)/2 + 3vw));
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
}
.hero__copy::after {
  content: "RMB / 1973—NOW";
  position: absolute;
  left: max(5vw, calc((100vw - 1500px)/2 + 3vw));
  bottom: 2rem;
  color: var(--gold-deep);
  font: 500 .66rem/1 var(--font-body);
  letter-spacing: .18em;
}
.hero__eyebrow { color: var(--gold-deep) !important; margin-bottom: 1.25rem; }
.hero h1 {
  color: var(--navy-deep) !important;
  font-size: clamp(2.9rem, 3.7vw, 4.65rem) !important;
  line-height: .91 !important;
  letter-spacing: -.045em !important;
  max-width: 100% !important;
  width: 100%;
  text-wrap: balance;
}
.hero h1 span { display: block; }
.hero h1 em { color: var(--gold-deep) !important; display: block; margin-top: .18em; white-space: nowrap; }
.hero__sub { color: #4b5562 !important; max-width: 45ch !important; font-size: clamp(.94rem, 1.08vw, 1.08rem) !important; line-height: 1.62; margin-top: 1.5rem; }
.hero__ctas { margin-top: 1.55rem !important; }
.hero .btn--onDark { background: var(--navy-deep); color: #fff; }
.hero .btn--ghostDark { border-color: rgba(0,14,40,.28); color: var(--navy-deep); }
.hero__media {
  order: 2;
  height: 100%;
  min-height: 0 !important;
  overflow: hidden;
  position: relative;
  clip-path: polygon(5% 0, 100% 0, 100% 100%, 0 100%);
}
.hero__media img { width: 100%; height: 100% !important; object-fit: cover; object-position: center; }
.hero__media::after { content: ""; position: absolute; inset: 0; z-index: 2; box-shadow: inset 0 0 0 1px rgba(255,255,255,.25); pointer-events: none; }
.hero__frame { display: none !important; }
.hero__caption { z-index: 4 !important; left: auto !important; right: 2rem !important; bottom: 2rem !important; padding: .65rem .9rem !important; background: rgba(0,14,40,.82) !important; color: #fff !important; letter-spacing: .08em; }

.band-navy { background: var(--paper); color: var(--body); }
.band-navy h2, .band-navy h3 { color: var(--navy-deep); }
.firm__grid { border-top: 1px solid rgba(0,14,40,.18); padding-top: 2rem; }
.statement { margin: 0 clamp(1rem,4vw,4rem); }
.svc { border-radius: 0; }
#portfolio { background: var(--navy-deep); color: var(--on-dark); }
#portfolio h2, #portfolio h3 { color: #fff; }
#portfolio .index { border-top: 1px solid rgba(255,255,255,.18); }

@media (max-width: 1024px) {
  .hero__grid { grid-template-columns: .9fr 1.1fr !important; }
  .hero h1 { font-size: clamp(3rem, 6vw, 4.6rem) !important; }
  .hero__copy { padding-left: 5vw; padding-right: 2.5rem; }
}
@media (max-width: 768px) {
  .hero__grid { grid-template-columns: 1fr !important; grid-template-rows: 44% 56%; }
  .hero__media { order: 1; grid-row: 1; clip-path: none; }
  .hero__copy { order: 2; grid-row: 2; padding: 1.4rem 1.25rem 1.15rem; justify-content: flex-start; }
  .hero__copy::after { display: none; }
  .hero__eyebrow { margin-bottom: .6rem; }
  .hero h1 { font-size: clamp(2.15rem, 9.7vw, 3.05rem) !important; line-height: .94 !important; max-width: 11ch !important; }
  .hero h1 span, .hero h1 em { display: inline; white-space: normal; }
  .hero__sub { margin: .75rem 0 0 !important; font-size: .88rem !important; line-height: 1.45; }
  .hero__ctas { margin-top: .8rem !important; gap: .5rem !important; }
  .hero .btn { min-height: 42px; padding: .62rem .9rem; font-size: .68rem; }
  .hero__caption { bottom: .75rem !important; right: .75rem !important; font-size: .62rem !important; }
}
/* Core content is visible by default; motion may enhance it but never gate it. */
.reveal{opacity:1!important;transform:none!important}
.nav__logo{display:grid;place-items:center;min-width:7.5rem;min-height:4.25rem;padding:.5rem .85rem;background:rgba(0,14,40,.96);box-shadow:0 8px 24px rgba(0,14,40,.18)}.nav__logo img,.nav.is-solid .nav__logo img{height:3.1rem;width:auto}
.footer{padding-block:2.25rem 1.4rem}.footer__top{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:3rem}.footer__logo{display:flex;align-items:center;gap:1.25rem}.footer__tag{margin:0;max-width:18rem}.footer__contact-compact{display:flex;align-items:center;gap:clamp(2rem,5vw,5rem);text-align:right}.footer__contact-compact>p{margin:0}.footer__contact-compact>div{display:flex;gap:1.25rem;align-items:center}.footer__contact-compact a{padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.28)}.footer__bottom{margin-top:1.75rem;padding-top:1.1rem}
@media(max-width:768px){.nav__logo{min-width:5.5rem;min-height:3.5rem;padding:.35rem .6rem}.nav__logo img,.nav.is-solid .nav__logo img{height:2.5rem}.footer__top{grid-template-columns:1fr;gap:1.5rem}.footer__logo{align-items:flex-start;flex-direction:column}.footer__contact-compact{align-items:flex-start;flex-direction:column;gap:.6rem;text-align:left}.footer__contact-compact>div{align-items:flex-start;flex-direction:column;gap:0}.footer__bottom{align-items:flex-start;flex-direction:column}}
