/* Shared gallery finish. Copy, media and motion are owned by the existing pages. */
body.premium-shell {
  --paper: #f6f5f0;
  --ink: #252822;
  --lime: #e4e8dc;
  --line: #d6d7cd;
  --moss: #42543a;
  --sidebar: 172px;
  --gallery-edge: clamp(28px, 4.2vw, 60px);
  background: var(--paper);
}
.premium-shell .site-header {
  padding: 36px 26px;
  background: var(--paper);
  border-right: 1px solid var(--line);
}
.premium-shell .wordmark { font-size: 23px; letter-spacing: -.055em; white-space: nowrap; gap: 0; }
.premium-shell .wordmark > span { color: var(--moss); }
.premium-shell .site-header nav { margin-top: 128px; gap: 18px; font-size: 13px; padding-left: 12px; }
.premium-shell .site-header nav a { color: #777b70; transition: color .2s; }
.premium-shell .site-header nav a:hover,
.premium-shell .site-header nav a[aria-current="page"] { color: var(--moss); }
.premium-shell .site-header nav a:after { display: none; }
.premium-shell .site-header nav a[aria-current="page"]:before {
  content: ""; position: absolute; left: -12px; top: calc(50% - 2px);
  width: 4px; height: 4px; border-radius: 50%; background: var(--moss);
}
.premium-shell .languages { color: #777b70; }
.premium-shell .languages button[aria-pressed="true"] { color: var(--moss); }
.premium-shell main,
.premium-shell .footer {
  width: calc(100% - var(--sidebar) - var(--gallery-edge) * 2);
  max-width: 1120px;
  margin-left: calc(var(--sidebar) + var(--gallery-edge));
  margin-right: var(--gallery-edge);
}
.premium-shell.work-layout main,
.premium-shell.work-layout .footer,
.premium-shell.contact-layout main,
.premium-shell.contact-layout .footer { max-width: 1000px; }
.premium-shell .opening,
.premium-shell .studio-story,
.premium-shell .info-page { padding-top: 36px; }
.premium-shell .opening-heading h1,
.premium-shell .story-page-heading h1 { font-size: 15px; font-weight: 400; }
.premium-shell .opening-heading .work-channels,
.premium-shell .story-page-heading > p { color: #797d72; font-size: 10px; letter-spacing: .025em; }
.premium-shell .work-tools { margin: 20px 0 30px; font-size: 10px; color: #73796c; }
.premium-shell .work-category { margin-bottom: 64px; }
.premium-shell .category-heading { gap: 18px; margin-bottom: 20px; align-items: center; }
.premium-shell .category-heading:after { content: ""; height: 1px; background: var(--line); flex: 1; }
.premium-shell .category-heading h2 { font-size: 14px; }
.premium-shell .category-heading > span { order: 1; font-size: 10px; color: #85897e; }
.premium-shell .work-categories .opening-grid { gap: 18px; }
.premium-shell .opening-film { background: var(--paper); border-radius: 2px; }
.premium-shell .opening-film video { border-radius: 2px; }
.premium-shell .opening-play { font-size: 22px; }
.premium-shell .private-work { background: #eaece3; padding: 32px; }
.premium-shell .private-work h3 { color: var(--moss); font-size: 17px; font-weight: 400; }
.premium-shell .private-work p { font-size: 12px; color: #697160; }
.premium-shell .private-inquiry { color: var(--moss); border-color: #8b967f; }

/* Small editorial text and matched evidence; the original chart animation stays intact. */
.premium-shell .studio-story { --studio-green: var(--moss); }
.premium-shell .story-intro { padding: 60px 0 52px; gap: 32px; min-height: 480px; }
.premium-shell .story-intro-copy { padding-top: 20px; }
.premium-shell .story-intro-copy h2 { font-size: 26px; line-height: 1.55; font-weight: 400; }
.premium-shell .story-intro-bottom > p { font-size: 13px; line-height: 1.9; color: #686e61; }
.premium-shell .story-trust,
.premium-shell .story-cost { border-color: var(--line); }
.premium-shell .story-trust h3,
.premium-shell .story-intro .cost-copy h2 { font-size: 15px; }
.premium-shell .trust-metric strong,
.premium-shell .cost-change strong { font-size: 27px; }
.premium-shell .trust-track { stroke: #e3e5db; }
.premium-shell .trust-value { stroke: #697c57; }
.premium-shell .cost-grid path { stroke: #e1e3d9; }
.premium-shell .cost-point circle { fill: var(--paper); }
.premium-shell .cost-point-last circle { fill: var(--moss); }
.premium-shell .story-formats { gap: 52px; padding: 48px 0; border-color: var(--line); }
.premium-shell .story-section-heading h2 { font-size: 23px; }
.premium-shell .format-tabs { border-color: var(--line); gap: 28px; }
.premium-shell .format-copy h3 { font-size: 18px; }
.premium-shell .format-copy > p { font-size: 13px; line-height: 1.9; }
.premium-shell .photo-wall { max-width: 320px; height: 360px; gap: 12px; }
.premium-shell .wall-photo { border-radius: 2px; }
.premium-shell .story-contact { border-color: var(--line); padding: 38px 0 48px; }
.premium-shell .story-contact h2 { font-size: 21px; }

/* A correspondence layout: existing fields and wording, without extra form steps. */
.premium-shell .info-page { min-height: max(610px, calc(100svh - 320px)); }
.premium-shell .contact {
  display: grid; grid-template-columns: 1fr 1fr; column-gap: 9%;
  grid-template-rows: auto auto 1fr; padding-bottom: 80px;
}
.premium-shell .contact .section-label {
  grid-column: 1 / -1; margin-bottom: 100px; padding-bottom: 20px;
  font-size: 10px; letter-spacing: .04em;
}
.premium-shell .contact h2 { grid-column: 1; margin: 0 0 28px; font-size: 28px; line-height: 1.5; font-weight: 400; }
.premium-shell .contact h2 em { display: block; font: inherit; color: var(--moss); }
.premium-shell .contact-grid { display: contents; }
.premium-shell .contact-grid > div { grid-column: 1; }
.premium-shell .contact-grid > div > p { font-size: 14px; line-height: 1.9; color: #73786b; }
.premium-shell .contact-email { font-size: 17px; color: var(--moss); margin-top: 34px; padding-bottom: 6px; border-color: #9aa38e; }
.premium-shell #lead-form { grid-column: 2; grid-row: 2 / span 2; }
.premium-shell .field { margin-bottom: 28px; border-color: #c9cdbf; }
.premium-shell .field > span { font-size: 11px; color: #616959; }
.premium-shell .field input { font-size: 14px; padding: 16px 0; }
.premium-shell .field input::placeholder { color: #929789; }
.premium-shell .field:focus-within { border-color: var(--moss); }
.premium-shell .consent { font-size: 11px; gap: 9px; color: #73796c; margin: 28px 0; }
.premium-shell .consent input { width: 14px; height: 14px; accent-color: var(--moss); }
.premium-shell .submit { height: 48px; padding: 12px 18px; background: #35432f; font-size: 12px; transition: background .2s; }
.premium-shell .submit:hover { background: #46583d; }
.premium-shell .submit > span:last-child { font-size: 18px; }
.premium-shell .footer { padding-top: 24px; padding-bottom: 30px; color: #787d70; }
.premium-shell .footer-top { font-size: 11px; padding-bottom: 24px; }
.premium-shell .company { font-size: 10px; line-height: 1.95; padding: 28px 0; }
.premium-shell .company .eyebrow { font-size: 9px; letter-spacing: .07em; margin-bottom: 10px; }
.premium-shell .footer-bottom { font-size: 10px; }

@media (min-width: 1700px) {
  .premium-shell main, .premium-shell .footer { margin-left: calc(var(--sidebar) + (100vw - var(--sidebar) - 1120px) / 2); }
}
@media (min-width: 601px) and (max-width: 1000px) {
  body.premium-shell { --sidebar: 148px; --gallery-edge: 28px; }
  .premium-shell .site-header { padding-inline: 22px; }
  .premium-shell .wordmark { font-size: 21px; }
  .premium-shell .work-categories .opening-grid { gap: 12px; }
  .premium-shell .private-work { padding: 22px; }
  .premium-shell .private-work h3 { font-size: 15px; }
  .premium-shell .contact { column-gap: 32px; }
  .premium-shell .contact-email { font-size: 14px; }
}
@media (max-width: 800px) {
  .premium-shell .story-intro { gap: 30px; padding-top: 44px; }
  .premium-shell .story-intro-copy h2 { font-size: 24px; }
  .premium-shell .story-formats { gap: 24px; padding-block: 32px; }
  .premium-shell .photo-wall { max-width: 290px; height: 300px; }
  .premium-shell .contact { display: block; }
  .premium-shell .contact .section-label { margin-bottom: 56px; }
  .premium-shell .contact-grid { display: grid; grid-template-columns: 1fr; gap: 48px; }
  .premium-shell #lead-form { grid-column: auto; grid-row: auto; }
}
@media (max-width: 600px) {
  body.premium-shell { --sidebar: 0px; --gallery-edge: 22px; }
  .premium-shell .site-header { height: 76px; padding: 0 22px; border-right: 0; border-bottom: 1px solid var(--line); }
  .premium-shell .wordmark { font-size: 21px; }
  .premium-shell .header-end { gap: 15px; }
  .premium-shell .site-header.menu-open nav { background: var(--paper); padding: 22px 34px; border-bottom: 1px solid var(--line); font-size: 15px; }
  .premium-shell .site-header nav { margin-top: 0; }
  .premium-shell .opening, .premium-shell .studio-story, .premium-shell .info-page { padding-top: 24px; }
  .premium-shell .work-categories .opening-heading { flex-direction: row; gap: 12px; align-items: baseline; }
  .premium-shell .opening-heading .work-channels, .premium-shell .story-page-heading > p { font-size: 9px; letter-spacing: 0; }
  .premium-shell .work-tools { margin: 20px 0 28px; }
  .premium-shell .work-categories .opening-grid { gap: 12px; }
  .premium-shell .work-category { margin-bottom: 44px; }
  .premium-shell .category-heading { margin-bottom: 16px; gap: 14px; }
  .premium-shell .private-work { padding: 30px 24px; min-height: 220px; }
  .premium-shell .story-intro-copy { padding-top: 0; }
  .premium-shell .story-trust, .premium-shell .story-cost { max-width: none; }
  .premium-shell .story-contact h2 { font-size: 20px; }
  .premium-shell .contact h2 { font-size: 26px; }
  .premium-shell .contact-email { font-size: 17px; margin-top: 26px; }
  .premium-shell .contact { padding-bottom: 50px; }
  .premium-shell .company .sep { padding-inline: 4px; }
}
