/* BLRRD compact study
   Loaded after the shared identity styles. Everything is scoped so this file
   can be used alongside the longer mockup without changing its proportions. */

body.compact-page {
  --compact-section-pad: clamp(3rem, 5vw, 4.5rem);
  --compact-content-max: 78rem;
  background: var(--offwhite);
  color: var(--charcoal);
}

body.compact-page main {
  overflow-x: clip;
}

body.compact-page .section {
  padding-block: var(--compact-section-pad);
}

body.compact-page .section__inner,
body.compact-page .site-header__inner {
  width: min(calc(100% - 2rem), var(--compact-content-max));
}

body.compact-page .hero {
  padding-block: 0;
  min-height: min(650px, calc(100svh - var(--header-height)));
}

body.compact-page .hero__panel--copy {
  padding-block: clamp(3rem, 6vw, 5rem) clamp(2rem, 4vw, 3.5rem);
}

body.compact-page .btn {
  min-height: 44px;
}

/* Services: visible offer groups replace the long-page accordion. */
body.compact-page .compact-services .section__header {
  margin-bottom: clamp(2rem, 4vw, 3.5rem);
}

body.compact-page .compact-services .accordion {
  display: none;
}

body.compact-page .compact-services .offers,
body.compact-page .compact-services .services-offers {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  gap: 1px;
  background: var(--line);
}

body.compact-page .compact-services .offer-primary,
body.compact-page .compact-services .offer-systems {
  min-width: 0;
  padding: clamp(1.5rem, 3vw, 2.75rem);
  background: #dedfd5;
}

body.compact-page .compact-services .offer-primary {
  background: var(--charcoal);
  color: var(--offwhite);
}

body.compact-page .compact-services .offer-primary h3,
body.compact-page .compact-services .offer-systems h3 {
  margin-bottom: 1.25rem;
  font-size: clamp(1.65rem, 3vw, 3rem);
}

body.compact-page .compact-services .offer-primary p,
body.compact-page .compact-services .offer-systems p {
  max-width: 42rem;
  margin: 0;
  font-size: clamp(1rem, 1.35vw, 1.2rem);
  font-weight: 300;
}

body.compact-page .compact-services .system-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1rem, 2.5vw, 2rem);
  margin-top: 2rem;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(23, 23, 23, 0.22);
}

body.compact-page .compact-services .system-options h4 {
  margin: 0 0 .45rem;
  font-size: 1rem;
  line-height: 1.1;
  letter-spacing: -.02em;
  font-weight: 500;
}

body.compact-page .compact-services .system-options p {
  font-size: .9rem;
  line-height: 1.45;
}

body.compact-page .compact-services .offer-note {
  margin-top: 2rem;
  color: var(--muted);
  font-size: .78rem;
  letter-spacing: .04em;
}

/* Work: the compact page uses the three exploratory images as the gallery. */
body.compact-page .compact-work .section__header,
body.compact-page .compact-work .exploration-intro {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 2rem;
}

body.compact-page .compact-work .section__header {
  max-width: none;
  margin-bottom: 2.25rem;
}

body.compact-page .compact-work .section__header > div,
body.compact-page .compact-work .exploration-intro > div {
  min-width: 0;
}

body.compact-page .compact-work .gallery-link,
body.compact-page .compact-work .section__header > a,
body.compact-page .compact-work .exploration-intro > a {
  flex: 0 0 auto;
  color: inherit;
  font-size: .82rem;
  text-underline-offset: .3em;
}

body.compact-page .compact-work .exploration-intro {
  margin: 0 0 1.5rem;
}

body.compact-page .compact-work .exploration-grid,
body.compact-page .compact-work .exploration-grid3cols {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 1.75rem);
}

body.compact-page .compact-work .exploration-card,
body.compact-page .compact-work .exploration-grid > a {
  min-width: 0;
  color: inherit;
  text-decoration: none;
}

body.compact-page .compact-work .exploration-card figure,
body.compact-page .compact-work .exploration-grid figure {
  margin: 0;
}

body.compact-page .compact-work .exploration-card img,
body.compact-page .compact-work .exploration-grid img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}

body.compact-page .compact-work .exploration-card figcaption,
body.compact-page .compact-work .exploration-grid figcaption {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding-top: .75rem;
  font-size: .95rem;
}

body.compact-page .compact-work figcaption span {
  color: var(--muted);
  font-size: .75rem;
}

/* Studio and CineStream share one compact editorial row. */
body.compact-page .compact-studio .studio-layout {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: clamp(2.5rem, 7vw, 7rem);
  align-items: start;
}

body.compact-page .compact-studio .studio-copy h2 {
  max-width: 12ch;
}

body.compact-page .compact-studio .studio-copy > p:not(.eyebrow):not(.studio-credit) {
  max-width: 37rem;
  font-size: 1.12rem;
}

body.compact-page .compact-studio .studio-credit {
  margin-top: 1.5rem;
  color: var(--muted);
  font-size: .78rem;
  letter-spacing: .07em;
  text-transform: uppercase;
}

body.compact-page .compact-studio .studio-collaboration h3 {
  margin-bottom: .75rem;
  font-size: clamp(1.5rem, 2.5vw, 2.5rem);
}

body.compact-page .compact-studio .studio-collaboration > p {
  max-width: 40rem;
  margin-top: 0;
  font-weight: 300;
}

body.compact-page .compact-studio .cinestream-preview {
  margin: 1.75rem 0 0;
}

body.compact-page .compact-studio .cinestream-preview img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}

body.compact-page .compact-studio .cinestream-preview figcaption {
  margin-top: .65rem;
  color: var(--muted);
  font-size: .75rem;
}

body.compact-page .compact-studio .studio-collaboration > a {
  display: inline-flex;
  margin-top: 1.25rem;
}

/* Contact and footer keep the identity’s generous contrast with tighter rhythm. */
body.compact-page .compact-contact .section__inner--split {
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: clamp(2.5rem, 7vw, 7rem);
  align-items: start;
}

body.compact-page .section--contact .section__inner--split {
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: clamp(2.5rem, 7vw, 7rem);
  align-items: start;
}

body.compact-page .section--contact .brief-form {
  gap: 1.25rem;
}

body.compact-page .section--contact .field input,
body.compact-page .section--contact .field textarea {
  min-height: 44px;
  padding-block: .5rem;
}

body.compact-page .compact-contact h2 {
  max-width: 10ch;
}

body.compact-page .compact-contact .brief-form {
  gap: 1.25rem;
}

body.compact-page .compact-contact .field input,
body.compact-page .compact-contact .field textarea {
  min-height: 44px;
  padding-block: .5rem;
}

body.compact-page .compact-contact .brief-form__actions {
  margin-top: .25rem;
}

body.compact-page .compact-footer {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 2rem;
  padding: 2.5rem max(1rem, 3.5vw) 1.5rem;
  background: var(--charcoal);
  color: var(--offwhite);
}

body.compact-page .compact-footer > a:first-child {
  flex: 0 0 85px;
}

body.compact-page .compact-footer > a:first-child img {
  display: block;
  width: 85px;
  height: auto;
}

body.compact-page .compact-footer > p {
  margin: 0;
  color: var(--sulphur);
  font-size: 1rem;
}

body.compact-page .compact-footer > a:last-child {
  color: var(--offwhite);
  font-size: .78rem;
  white-space: nowrap;
}

body.compact-page .compact-footer .footer-brand {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 2rem;
  width: min(100%, var(--compact-content-max));
  margin: 0 auto 2rem;
  text-align: left;
}

body.compact-page .compact-footer .footer-wordmark {
  flex: 0 0 auto;
  width: 85px;
}

body.compact-page .compact-footer .footer-wordmark img {
  width: 100%;
  height: auto;
}

body.compact-page .compact-footer .footer-slogan,
body.compact-page .compact-footer .footer-descriptor {
  margin: 0;
}

body.compact-page .compact-footer .footer-slogan {
  color: var(--sulphur);
  font-size: 1rem;
}

body.compact-page .compact-footer .footer-descriptor {
  color: #b7bab0;
  font-size: .72rem;
}

body.compact-page .compact-footer .footer-gallery-link {
  color: var(--offwhite);
  font-size: .78rem;
  white-space: nowrap;
}

body.compact-page .compact-footer > a.footer-gallery-link {
  display: inline-block;
  width: min(100%, var(--compact-content-max));
  margin: 0 auto 2rem;
}

body.compact-page .compact-footer .footer-bottom {
  width: min(100%, var(--compact-content-max));
  margin-inline: auto;
}

@media (max-width: 700px) {
  body.compact-page {
    --compact-section-pad: 3rem;
  }

  body.compact-page .hero {
    min-height: 0;
  }

  body.compact-page .hero__panel--copy {
    padding-block: 3rem 2.5rem;
  }

  body.compact-page .compact-services .offers,
  body.compact-page .compact-services .services-offers,
  body.compact-page .compact-studio .studio-layout,
  body.compact-page .compact-contact .section__inner--split {
    grid-template-columns: 1fr;
  }

  body.compact-page .compact-services .offer-primary,
  body.compact-page .compact-services .offer-systems {
    padding: 1.5rem;
  }

  body.compact-page .compact-services .system-options {
    gap: 1rem;
  }

  body.compact-page .compact-work .section__header,
  body.compact-page .compact-work .exploration-intro,
  body.compact-page .compact-footer,
  body.compact-page .compact-footer .footer-brand {
    display: block;
  }

  body.compact-page .compact-work .gallery-link,
  body.compact-page .compact-work .exploration-intro > a,
  body.compact-page .compact-footer .footer-gallery-link {
    display: inline-block;
    margin-top: 1rem;
  }

  body.compact-page .compact-work .exploration-grid,
  body.compact-page .compact-work .exploration-grid3cols {
    grid-template-columns: 1fr;
    gap: 1.75rem;
  }

  body.compact-page .compact-work .exploration-card img,
  body.compact-page .compact-work .exploration-grid img {
    aspect-ratio: 1.35 / 1;
  }

  body.compact-page .compact-footer .footer-slogan {
    margin-top: 1.25rem;
  }

  body.compact-page .compact-footer .footer-descriptor {
    margin-top: .35rem;
  }

  body.compact-page .compact-footer > a:last-child {
    display: inline-block;
    margin-top: 1rem;
  }
}

@media (max-width: 390px) {
  body.compact-page .section__inner,
  body.compact-page .site-header__inner {
    width: calc(100% - 1.5rem);
  }

  body.compact-page .compact-services .system-options {
    grid-template-columns: 1fr;
  }

  body.compact-page .compact-footer {
    padding-inline: .75rem;
  }
}

/* Keep supporting service copy readable on both offer surfaces. */
body.compact-page .compact-services .offer-primary .eyebrow,
body.compact-page .compact-services .offer-primary .offer-note {
  color: #bfc1b7;
}
body.compact-page .compact-services .offer-systems .eyebrow,
body.compact-page .compact-services .offer-systems .offer-note {
  color: #56594f;
}

body.compact-page .footer-links { display:flex; flex-wrap:wrap; gap:.25rem 1.4rem; align-items:center; }
body.compact-page .footer-links a { color:var(--offwhite); font-size:.8rem; min-height:44px; display:inline-flex; align-items:center; }
@media(max-width:700px) { body.compact-page .footer-links { margin-top:1rem; } }

/* Bring the offer into view sooner on smaller screens. */
@media(max-width:900px){
 body.compact-page .hero__panel--copy{padding-block:2rem;gap:1.25rem}
 body.compact-page .hero__tagline{padding-top:.5rem;margin-top:0}
 body.compact-page .hero__panel--media{min-height:320px}
 body.compact-page .hero__actions{gap:.5rem 1rem}
}

body.compact-page .work-proof{font-size:.95rem;line-height:1.6;color:#bfc1b7;margin:1.5rem 0 0}body.compact-page .work-proof a{color:var(--offwhite);text-underline-offset:4px}

body.compact-page .contact-direct{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:1.25rem}body.compact-page .contact-address{font-size:clamp(1.5rem,3vw,2.6rem);letter-spacing:-.035em;text-decoration:none;overflow-wrap:anywhere}body.compact-page #copy-email-status{font-size:.9rem;min-height:1.5em;margin:0}body.compact-page #copy-email[hidden]{display:none}

.header-brand{display:flex;align-items:center;gap:1.5rem}.language-switch{display:flex;align-items:center;gap:.6rem;font-size:.75rem;letter-spacing:.06em}.language-switch a{display:inline-flex;min-height:44px;align-items:center;text-decoration:none;color:inherit}.language-switch a[aria-current="page"]{text-decoration:underline;text-underline-offset:5px}.language-switch span{opacity:.4}@media(max-width:600px){.header-brand{gap:1rem}.language-switch{gap:.4rem}}
