/* Surface To Air: bold photographic direction */
:root {
  --font-display: 'Archivo', 'Helvetica Neue', sans-serif;
  --text-hero: clamp(3rem, 1.25rem + 5.7vw, 7rem);
  --color-bg: #090909;
  --color-surface: #101010;
  --color-surface-2: #151515;
  --color-surface-offset: #191919;
  --color-text: #fff;
  --color-text-muted: #b7b7b7;
  --color-text-faint: #999;
  --color-accent: #f87921;
  --color-accent-ink: #ff964d;
  --radius-md: 0.25rem;
  --radius-lg: 0.25rem;
}
body { background: var(--color-bg); }
.container { max-width: 1360px; padding-inline: clamp(var(--space-6), 5vw, var(--space-20)); }
.container--narrow { max-width: 1180px; }
.header { border-bottom: 1px solid #ffffff14; background: #090909ed; }
.header__inner { min-height: 88px; padding-block: var(--space-3); }
.brand img { height: 64px; }
.nav { gap: var(--space-6); }
.nav a { font-size: var(--text-xs); font-weight: 600; text-transform: uppercase; letter-spacing: .08em; color: #d0d0d0; min-height: 44px; display: flex; align-items: center; }
.btn { border-radius: 2px; font-size: var(--text-xs); text-transform: uppercase; font-weight: 700; letter-spacing: .08em; min-height: 50px; padding-inline: var(--space-6); }
.btn--accent { color: #111; }
.btn:active, .gallery__item:active { opacity: .8; }
.section { padding-block: clamp(var(--space-16), 8vw, var(--space-24)); }
.section-head { max-width: 880px; margin-bottom: var(--space-12); }
.section-head h2, .cta-band h2 { font-family: var(--font-display); font-weight: 800; font-size: var(--text-2xl); letter-spacing: -.045em; line-height: 1.05; }
.eyebrow { letter-spacing: .22em; font-weight: 600; color: var(--color-accent-ink); }
.home .hero { min-height: min(900px, calc(100svh - 88px)); align-items: center; border-bottom: 0; }
.home .hero > .container { width: 100%; position: relative; }
.home .hero__media picture { height: 100%; }
.home .hero__media img { object-position: center 55%; }
.home .hero__scrim { background: linear-gradient(90deg, #000c 0%, #0009 48%, #0002 100%), linear-gradient(0deg, #0006, transparent 50%); }
.home .hero__content { margin: 0; padding: var(--space-16) 0; border: 0; box-shadow: none; background: none; max-width: 970px; }
.home .hero__kicker { color: #fff; letter-spacing: .24em; }
.home .hero h1 { font-size: var(--text-hero); font-weight: 900; letter-spacing: -.055em; line-height: .98; text-transform: uppercase; margin-top: var(--space-5); text-wrap: initial; }
.home .hero h1 span { display: block; }
.home .hero h1 .accent { color: var(--color-accent); }
.home .hero__lede { margin-top: var(--space-6); max-width: 43ch; color: #e5e5e5; }
.home .hero__actions { margin-top: var(--space-8); }
.proof-bar { border-block: 1px solid #ffffff1a; background: #101010; }
.proof-bar__inner { display: grid; grid-template-columns: 1fr 1fr 1fr; }
.proof-bar__item { padding-block: var(--space-6); padding-inline: var(--space-6); border-right: 1px solid #ffffff1a; }
.proof-bar__item:first-child { padding-left: 0; }
.proof-bar__item:last-child { border: 0; }
.proof-bar__item strong { display: block; font-family: var(--font-display); font-size: var(--text-lg); font-weight: 700; }
.proof-bar__item span { color: #aaa; font-size: var(--text-xs); }
.feature { display: grid; grid-template-columns: 1.05fr 1fr; min-height: 580px; }
.feature__image { position: relative; min-width: 0; overflow: hidden; }
.feature__image img { width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; }
.feature__copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: clamp(var(--space-8), 5vw, var(--space-20)); background: #131313; }
.feature__copy h2 { font-family: var(--font-display); font-size: var(--text-2xl); font-weight: 800; letter-spacing: -.045em; margin-top: var(--space-5); max-width: 13ch; line-height: 1.05; }
.feature__copy p:not(.eyebrow) { color: var(--color-text-muted); margin-top: var(--space-6); max-width: 39ch; }
.text-link { display: inline-flex; align-items: center; gap: var(--space-4); min-height: 48px; font-size: var(--text-sm); font-weight: 600; margin-top: var(--space-6); }
.text-link span { color: var(--color-accent); font-size: var(--text-lg); }
.text-link:hover { color: var(--color-accent-ink); }
.feature--reverse .feature__image { order: 2; }
.feature--reverse .feature__copy { background: #090909; }
.home .services-grid { grid-template-columns: repeat(3, 1fr); gap: var(--space-4); }
.home .service-card, .service-card { background: #141414; border: 1px solid #ffffff15; border-radius: 0; padding: var(--space-8); }
.service-card--wide { grid-column: auto; }
.service-card h3 { font-family: var(--font-body); font-weight: 600; font-size: var(--text-lg); }
.service-card:hover { transform: none; border-color: #ffffff30; }
.service-card__icon { margin-bottom: var(--space-4); }
.chips-row { border-top: 1px solid #ffffff1c; padding-top: var(--space-8); }
.chip { border-radius: 2px; }
.home #work { padding-top: var(--space-8) !important; }
.gallery { gap: var(--space-3); grid-auto-rows: 230px; }
.gallery__item { border-radius: 0; }
.gallery__caption { font-weight: 600; letter-spacing: .12em; }
.agent-branding { background: #111; border-top: 1px solid #ffffff1a; }
.branding-gallery { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-4); }
.branding-gallery .gallery__item { aspect-ratio: 2 / 3; min-width: 0; }
.branding-gallery .gallery__item img { object-position: center top; }
.agent-branding__cta { margin-top: var(--space-8); }
.quote-divider { background: var(--color-accent); border: 0; color: #111; }
.quote-divider__content { padding-block: var(--space-16); text-align: left; }
.quote-divider blockquote { font-family: var(--font-display); font-size: var(--text-2xl); font-weight: 800; color: #111; font-style: normal; max-width: 25ch; margin: 0; letter-spacing: -.04em; }
.quote-divider figcaption { color: #242424; margin-top: var(--space-5); letter-spacing: .12em; }
.home .announce { background: #141414; border-block: 1px solid #ffffff1a; }
.tour-preview { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-16); align-items: center; padding-block: var(--space-20); max-width: 1360px; text-align: left; }
.tour-preview h2 { font-weight: 800; font-size: var(--text-2xl); letter-spacing: -.04em; margin-top: var(--space-5); }
.tour-preview p:not(.eyebrow) { color: var(--color-text-muted); margin-top: var(--space-5); }
.tour-preview__images { display: grid; grid-template-columns: 1.3fr 1fr; gap: var(--space-3); align-items: center; }
.tour-preview__images img { background: #e8e9e9; width: 100%; height: 300px; object-fit: contain; }
.tour-preview__caption { grid-column: 1 / -1; font-size: var(--text-xs); color: #aaa; padding-top: var(--space-1); }
.callout { border-left: 0; background: #1a1a1a; border: 1px solid #ffffff1a; }
.testimonial { background: #101010; }
.testimonial blockquote { font-family: var(--font-body); font-size: var(--text-lg); line-height: 1.6; }
.testimonial__award { padding: var(--space-12); border-left: 1px solid #ffffff20; text-align: left; }
.testimonial__award p { font-family: var(--font-display) !important; font-weight: 800; }
.cta-band { background: #090909; }
.cta-band__content { text-align: left; }
.cta-band h2 { margin-inline: 0; max-width: 20ch; }
.cta-band__actions { justify-content: flex-start; }
.cta-band p { max-width: 55ch; }
.footer { background: #111; }
.footer__brand img { height: 110px; }
.footer__links a { display: inline-flex; align-items: center; min-height: 38px; }
.footer__bottom { color: #aaa; }
.page-hero { min-height: 520px; display: flex; align-items: center; }
.page-hero > .container { width: 100%; }
.page-hero__content { margin: 0; background: none; box-shadow: none; border: none; padding: var(--space-20) 0; max-width: 840px; }
.page-hero__content h1 { font-weight: 900; text-transform: uppercase; font-size: var(--text-2xl); letter-spacing: -.04em; }
.page-hero__scrim { background: linear-gradient(90deg, #000d, #0005), linear-gradient(0deg, #0008, transparent); }
.page-hero__content p { color: #ddd; }
.page-hero__content .eyebrow { color: var(--color-accent-ink); }
.package-card h3, .step h3, .work-list__item h3 { font-family: var(--font-body); font-weight: 600; }
.step::before { font-family: var(--font-body); font-weight: 700; }
.contact-card a { font-family: var(--font-body); font-size: var(--text-base); overflow-wrap: anywhere; }
.contact-card p { font-family: var(--font-body); font-size: var(--text-base); }
.mobile-nav { overflow-y: auto; }
.mobile-nav__links a { font-family: var(--font-display); font-weight: 700; }
.mobile-nav__foot { padding-top: var(--space-8); }
.reveal { opacity: 1; transform: none; }
.lightbox { transition: none; }
@media (min-width: 1400px) { .home .hero__content { padding-block: var(--space-20); } }
@media (max-width: 1023px) {
  .feature { min-height: 470px; }
  .home .services-grid { grid-template-columns: 1fr 1fr; }
  .tour-preview { gap: var(--space-8); }
  .tour-preview__images img { height: 230px; }
  .brand img { height: 58px; }
}
@media (max-width: 767px) {
  .branding-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3); }
  .header__inner { min-height: 76px; }
  .home .hero { min-height: calc(90svh - 76px); }
  .home .hero__content { margin: 0; padding-block: var(--space-16); max-width: 100%; align-self: auto; }
  .home .hero h1 { font-size: clamp(2.6rem, 10vw, 4.8rem); }
  .home .hero__kicker { font-size: var(--text-xs); letter-spacing: .12em; }
  .home .hero__media img { object-position: 58% center; }
  .home .hero__scrim { background: linear-gradient(90deg, #000b, #0008); }
  .home .hero__lede { font-size: var(--text-base); }
  .hero__actions { gap: var(--space-3); }
  .proof-bar__inner { grid-template-columns: 1fr; }
  .proof-bar__item, .proof-bar__item:first-child { padding: var(--space-4) 0; border-right: none; border-bottom: 1px solid #ffffff17; display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--space-2); }
  .proof-bar__item strong { font-size: var(--text-base); }
  .feature { grid-template-columns: 1fr; min-height: auto; }
  .feature__image { min-height: 310px; }
  .feature--reverse .feature__image { order: 0; }
  .feature__copy { padding: var(--space-12) var(--space-6); }
  .feature__copy h2 { max-width: 16ch; }
  .home .services-grid { grid-template-columns: 1fr; }
  .gallery { grid-auto-rows: 170px; gap: var(--space-2); }
  .gallery__caption { font-size: var(--text-xs); letter-spacing: .05em; padding-inline: var(--space-3); }
  .tour-preview { grid-template-columns: 1fr; padding-block: var(--space-12); gap: var(--space-8); }
  .tour-preview__images img { height: 240px; }
  .testimonial__award { border-left: 0; border-top: 1px solid #ffffff20; padding: var(--space-8) 0 0; }
  .page-hero { min-height: 440px; }
  .page-hero__content { margin: 0; padding-block: var(--space-12); }
  .footer__bottom { gap: var(--space-4); }
  .footer__info a { overflow-wrap: anywhere; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* Standalone film below the photographic hero on every screen size. */
.hero-film-section { padding-block: var(--space-12); background: #090909; }
.hero-film-section > .container {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
}
.hero__film { min-width: 0; margin: 0; width: min(100%, 440px); justify-self: center; }
.hero__film video {
  display: block; width: 100%; height: auto; aspect-ratio: 9 / 16;
  object-fit: contain; background: #151515; border: 1px solid #ffffff26;
}
.hero__film figcaption {
  display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-4);
  justify-content: space-between; padding-top: var(--space-4);
  color: var(--color-text-muted); font-size: var(--text-xs);
}
.hero__film figcaption span { text-transform: uppercase; color: var(--color-accent-ink); letter-spacing: .1em; }
@media (max-width: 767px) {
  .hero-film-section { padding-block: var(--space-8) var(--space-12); }
  .hero__film { width: min(100%, 400px); justify-self: center; }
}
