:root {
  --paper:#f3efe6;
  --ink:#193b33;
  --surface:#e5e7df;
  --muted:#45594f;
  --light:#faf8f2;
  --margin:clamp(18px,2.2vw,34px);
  --gap:clamp(12px,1.5vw,24px);
  --section-space:clamp(82px,10vw,152px);
  font-family:"Avenir Next",Avenir,"Helvetica Neue",Arial,sans-serif;
  color:var(--ink);
  background:var(--paper);
  font-size:18px;
  line-height:1.55;
  color-scheme:light
}

.inquiry{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:clamp(36px,8vw,144px);border-top:1px solid #193b3333;scroll-margin-top:32px}
.inquiry-intro{max-width:480px}.inquiry-intro h2{margin:18px 0 30px}.inquiry-intro p+p{margin-top:18px}.inquiry-intro .text-button{margin-top:20px}
.inquiry-form{display:grid;gap:22px}.inquiry-form label{display:grid;gap:8px;font-size:15px;font-weight:500}.inquiry-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}.inquiry-form input:not([type=checkbox]),.inquiry-form select,.inquiry-form textarea{width:100%;min-width:0;background:#faf8f2;border:1px solid #193b3366;border-radius:0;padding:13px 12px;color:var(--ink);font:inherit;font-size:16px;line-height:1.5}.inquiry-form textarea{resize:vertical;min-height:100px}.inquiry-form input:focus-visible,.inquiry-form select:focus-visible,.inquiry-form textarea:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.inquiry-form .inquiry-consent{display:flex;align-items:flex-start;gap:12px;font-weight:400}.inquiry-consent input{flex:none;margin:5px 0 0;width:18px;height:18px;accent-color:var(--ink)}.inquiry-honeypot{position:absolute;left:-10000px;overflow:hidden;width:1px;height:1px}.inquiry-form .button{justify-self:start}.inquiry-form [disabled]{opacity:.65;cursor:wait}.inquiry-status:empty{display:none}.inquiry-success{border-top:2px solid var(--ink);padding-top:30px}.inquiry-success h3{font-size:42px;margin-bottom:24px}.inquiry-success p{margin-bottom:22px}.inquiry-success .button{margin:8px 0 8px 20px}[hidden]{display:none!important}
@media(max-width:760px){.inquiry{grid-template-columns:1fr;gap:36px}.inquiry-intro h2 br{display:none}.inquiry-fields{grid-template-columns:1fr}.inquiry-success .button{margin-left:0;display:flex}.inquiry-form{gap:20px}}

* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:24px
}
body {
  margin:0
}
h1,h2,h3,p,figure {
  margin:0
}
h1,h2,h3 {
  font-family:Georgia,"Times New Roman",serif;
  font-weight:400;
  letter-spacing:-.055em;
  line-height:1.02;
  text-wrap:balance
}
h2 {
  font-size:clamp(42px,5.2vw,76px)
}
p+p {
  margin-top:20px
}
a {
  color:inherit;
  text-underline-offset:4px
}
button,input {
  font:inherit
}
button,a,input,summary {
  -webkit-tap-highlight-color:transparent
}
button {
  color:inherit;
  cursor:pointer
}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible {
  outline:3px solid currentColor;
  outline-offset:5px
}
img,video {
  display:block;
  width:100%;
  height:auto
}
button svg {
  flex-shrink:0
}
.frame {
  padding-inline:var(--margin);
  max-width:1920px;
  margin-inline:auto
}
.section-space {
  padding-top:var(--section-space);
  padding-bottom:var(--section-space)
}
.small {
  font-size:14px;
  line-height:1.6
}
.muted {
  color:var(--muted)
}
.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0
}
.skip {
  position:fixed;
  left:20px;
  top:-100px;
  z-index:10;
  background:var(--ink);
  color:var(--paper);
  padding:14px
}
.skip:focus {
  top:16px
}
.button {
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:25px;
  background:var(--ink);
  color:var(--paper);
  min-height:52px;
  padding:14px 22px;
  text-decoration:none;
  font-size:16px;
  font-weight:500;
  border:0;
  white-space:nowrap;
  transition:background .2s,transform .2s
}
.button:hover {
  background:var(--muted)
}
.button:active {
  transform:scale(.97)
}
.button-light {
  background:var(--paper);
  color:var(--ink)
}
.button-light:hover {
  background:var(--surface)
}
.text-button {
  display:inline-flex;
  align-items:center;
  gap:14px;
  min-height:44px;
  background:none;
  border:0;
  padding:6px 0;
  text-decoration:underline;
  text-underline-offset:5px;
  font-size:16px
}
.text-button:hover {
  text-decoration-thickness:2px
}
.site-header {
  height:86px;
  display:flex;
  align-items:center;
  gap:36px
}
.wordmark {
  font-size:20px;
  font-weight:600;
  letter-spacing:-.04em;
  text-decoration:none;
  margin-right:auto
}
.site-header nav {
  display:flex;
  gap:34px;
  font-size:16px
}
.site-header nav a {
  text-decoration:none
}
.site-header nav a:hover {
  text-decoration:underline
}
.hero h1 {
  font-size:17vw;
  line-height:.95;
  letter-spacing:-.07em;
  white-space:nowrap;
  margin:8px 0 32px
}
.hero-intro {
  display:flex;
  justify-content:space-between;
  gap:40px;
  margin-bottom:44px;
  font-size:20px;
  line-height:1.45
}
.hero-offer {
  width:36%;
  min-width:300px
}
.hero-offer .small {
  margin-top:10px
}
.hero-media {
  display:grid;
  grid-template-columns:1.12fr .88fr;
  gap:var(--gap)
}
.photo-button {
  display:block;
  width:100%;
  height:100%;
  border:0;
  padding:0;
  background:var(--surface);
  overflow:hidden
}
.photo-button img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .8s cubic-bezier(.16,1,.3,1)
}
.photo-button:hover img {
  transform:scale(1.025)
}
.hero-still .photo-button,.moving-frame {
  height:clamp(500px,59vw,850px)
}
.hero-still img {
  object-position:50% 52%
}
.hero-still figcaption,.film-caption {
  display:flex;
  justify-content:space-between;
  gap:20px;
  font-size:14px;
  padding-top:16px
}
.moving-frame {
  position:relative;
  overflow:hidden;
  background:var(--surface)
}
.moving-frame video {
  height:100%;
  object-fit:cover;
  object-position:50% 50%
}
.play-film {
  position:absolute;
  bottom:24px;
  left:24px;
  display:flex;
  align-items:center;
  gap:14px;
  min-height:52px;
  padding:14px 22px;
  background:var(--paper);
  border:0;
  font-size:16px
}
.play-film:hover {
  background:var(--light)
}
.film-caption p:first-child {
  font-size:20px
}
.film-caption .small {
  margin-top:4px
}
.film-caption .text-button {
  font-size:14px;
  align-self:flex-start;
  white-space:nowrap;
  padding-top:0;
  min-height:30px
}
.photo-story {
  padding-bottom:0
}
.section-heading {
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:60px;
  margin-bottom:46px;
  align-items:start
}
.section-heading p {
  max-width:42ch
}
.photo-strip {
  display:flex;
  gap:var(--gap);
  height:clamp(410px,52vw,740px)
}
.photo-strip .photo-button {
  flex:5;
  min-width:0;
  transition:flex .65s cubic-bezier(.16,1,.3,1)
}
.photo-strip .photo-button:nth-child(2),.photo-strip .photo-button:nth-child(4) {
  flex:2
}
.photo-strip .photo-button:nth-child(3) {
  flex:3
}
.photo-strip .photo-button:hover {
  flex:5
}
.strip-caption {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  margin-top:12px
}
.coverage {
  display:grid;
  grid-template-columns:1fr 1.5fr;
  gap:10%;
  align-items:start
}
.coverage h2+p {
  margin-top:30px
}
.coverage .muted {
  max-width:35ch
}
.coverage-menu {
  border:0;
  margin:0;
  padding:0;
  display:grid;
  gap:8px
}
.package-row {
  display:grid;
  grid-template-columns:20px 1fr auto;
  align-items:start;
  gap:18px;
  background:var(--surface);
  padding:27px 24px;
  cursor:pointer;
  transition:background .25s,color .25s
}
.package-row:has(input:checked) {
  background:var(--ink);
  color:var(--paper)
}
.package-row input {
  appearance:none;
  width:18px;
  height:18px;
  margin:9px 0 0;
  border:1.5px solid currentColor;
  border-radius:50%;
  color:inherit;
  display:grid;
  place-items:center;
  cursor:pointer
}
.package-row input:checked:after {
  content:"";
  width:8px;
  height:8px;
  background:currentColor;
  border-radius:50%
}
.package-row:has(input:focus-visible) {
  outline:3px solid var(--ink);
  outline-offset:3px
}
.package-name,.package-price {
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(26px,2.4vw,35px);
  line-height:1.1;
  letter-spacing:-.04em
}
.package-detail {
  display:block;
  font-size:16px;
  margin-top:12px;
  line-height:1.5
}
.package-price {
  white-space:nowrap
}
.selection-summary {
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:center;
  margin:28px 0 16px
}
.selection-summary p {
  font-size:16px
}
.coverage .small {
  margin-top:0
}
.coverage #copy-status {
  max-width:none;
  margin-top:8px
}
.brothers {
  display:grid;
  grid-template-columns:1fr 1.5fr;
  gap:10%;
  background:var(--surface)
}
.side-facts {
  margin-top:38px;
  font-size:16px
}
.side-facts p+p {
  margin-top:0
}
.statement {
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(26px,2.7vw,36px);
  line-height:1.23;
  letter-spacing:-.025em;
  max-width:35ch
}
.statement+p {
  max-width:47ch;
  margin-top:30px
}
.portrait {
  width:75%;
  margin-left:auto;
  margin-top:45px
}
.portrait .photo-button {
  aspect-ratio:4/5
}
.portrait figcaption {
  font-size:14px;
  margin-bottom:12px
}
.partner .section-heading {
  grid-template-columns:1.2fr .8fr;
  gap:8%
}
.partner .text-button {
  margin-top:12px
}
.partner-layout {
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:8%
}
.partner-image {
  display:block;
  background:var(--surface);
  overflow:hidden
}
.partner-image img {
  height:100%;
  object-fit:contain;
  transition:transform .8s
}
.partner-image:hover img {
  transform:scale(1.025)
}
.partner-large .partner-image {
  height:clamp(530px,62vw,900px)
}
.partner-small {
  display:grid;
  gap:40px
}
.partner-small .partner-image {
  height:clamp(220px,27vw,390px)
}
.partner figcaption {
  display:flex;
  justify-content:space-between;
  gap:20px;
  font-size:16px;
  margin-top:15px;
  line-height:1.4
}
.partner figcaption span:last-child {
  white-space:nowrap
}
.partner-credit {
  margin-top:36px
}
.questions {
  display:grid;
  grid-template-columns:1fr 1.5fr;
  gap:10%;
  padding-top:0
}
.question-list details {
  padding-block:20px
}
.question-list summary {
  font-size:20px;
  display:flex;
  justify-content:space-between;
  gap:20px;
  cursor:pointer;
  list-style:none
}
.question-list summary::-webkit-details-marker {
  display:none
}
.question-list summary:after {
  content:"+";
  font-size:24px;
  line-height:1.2;
  font-weight:400
}
.question-list details[open] {
  background:var(--surface);
  padding-inline:24px;
  margin-inline:-24px
}
.question-list details[open] summary:after {
  content:"−"
}
.question-list p {
  font-size:17px;
  margin-top:18px;
  max-width:48ch
}
.contact {
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:8%;
  background:var(--ink);
  color:var(--paper);
  padding-bottom:70px
}
.contact h2 {
  font-size:clamp(48px,6.2vw,90px)
}
.contact p {
  max-width:38ch;
  margin-bottom:30px
}
.contact-handle {
  display:block;
  font-size:16px;
  margin-top:18px
}
.site-footer {
  background:var(--ink);
  color:var(--paper);
  overflow:hidden
}
.brand-marquee {
  padding-block:10px 45px;
  overflow:hidden
}
.brand-marquee>div {
  display:flex;
  gap:70px;
  width:max-content;
  animation:brand-pass 35s linear infinite
}
.brand-marquee span {
  font-family:Georgia,"Times New Roman",serif;
  font-size:17vw;
  letter-spacing:-.065em;
  line-height:1.1;
  white-space:nowrap
}
.brand-marquee:hover>div,body.motion-paused .brand-marquee>div {
  animation-play-state:paused
}
@keyframes brand-pass {
  to {
  transform:translateX(calc(-50% - 35px))
}

}
.footer-details {
  display:flex;
  justify-content:space-between;
  gap:40px;
  font-size:14px
}
.footer-details nav {
  display:flex;
  gap:25px;
  align-items:start
}
.footer-details p+p {
  margin:0
}
.film-credit {
  padding-top:36px;
  padding-bottom:32px;
  font-size:13px
}
dialog {
  position:fixed;
  border:0;
  padding:54px 16px 16px;
  background:var(--paper);
  color:var(--ink);
  max-width:min(94vw,1100px);
  max-height:94svh;
  overflow:auto
}
dialog::backdrop {
  background:rgba(12,28,23,.86)
}
dialog video,dialog img {
  width:auto;
  max-width:100%;
  height:auto;
  max-height:calc(90svh - 80px);
  object-fit:contain;
  margin-inline:auto
}
.dialog-close {
  position:absolute;
  right:16px;
  top:8px;
  border:0;
  background:none;
  display:flex;
  gap:20px;
  align-items:center;
  padding:5px 8px;
  min-height:38px;
  font-size:16px
}
.dialog-close span {
  font-size:27px
}

@media(min-width:1920px) {
  .hero h1,.brand-marquee span {
  font-size:326px
}

}

@media(max-width:1000px) {
  .site-header {
  gap:26px
}
.site-header nav {
  gap:24px
}
.hero-still .photo-button,.moving-frame {
  height:59vw;
  min-height:430px
}
.film-caption {
  display:block
}
.film-caption .text-button {
  margin-top:10px
}
.coverage,.brothers,.questions {
  gap:6%
}
.selection-summary {
  align-items:start;
  flex-direction:column;
  gap:15px
}
.portrait {
  width:90%
}
.partner-layout,.partner .section-heading {
  gap:5%
}
.partner-large .partner-image {
  height:75vw
}
.partner-small .partner-image {
  height:32vw
}
.partner-small {
  gap:25px
}
.partner figcaption {
  font-size:14px;
  gap:12px
}
.footer-details {
  flex-wrap:wrap
}
.footer-details nav {
  gap:20px
}

}

@media(max-width:600px) {
  :root {
  --section-space:80px;
  font-size:17px
}
h2 {
  font-size:42px
}
.site-header {
  height:74px;
  gap:20px
}
.wordmark {
  font-size:17px
}
.site-header nav {
  font-size:14px
}
.site-header .nav-film,.site-header .nav-photos {
  display:none
}
.site-header .button {
  font-size:14px;
  min-height:44px;
  padding:12px 14px
}
.site-header .button span {
  display:none
}
.hero h1 {
  font-size:17vw;
  margin:8px 0 26px
}
.hero-intro {
  display:block;
  font-size:17px;
  margin-bottom:28px
}
.hero-offer {
  width:100%;
  min-width:0;
  margin-top:25px
}
.hero-offer>p:first-child {
  font-size:18px
}
.hero-offer .small {
  font-size:13px;
  margin-top:6px
}
.hero-media {
  grid-template-columns:1fr;
  gap:32px
}
.hero-still .photo-button {
  height:auto;
  min-height:0;
  aspect-ratio:1069/1500
}
.hero-still figcaption {
  font-size:13px;
  padding-top:12px;
  gap:12px
}
.hero-still figcaption span:last-child {
  display:none
}
.hero-film {
  display:grid;
  grid-template-columns:1fr 1.12fr;
  gap:18px;
  align-items:center
}
.moving-frame {
  height:auto;
  min-height:0;
  aspect-ratio:9/16
}
.play-film {
  font-size:13px;
  gap:10px;
  min-height:42px;
  padding:10px 12px;
  left:12px;
  bottom:12px
}
.play-film svg {
  width:10px;
  height:12px
}
.film-caption {
  padding:0
}
.film-caption p:first-child {
  font-family:Georgia,"Times New Roman",serif;
  font-size:24px;
  line-height:1.05;
  letter-spacing:-.04em
}
.film-caption .small {
  font-size:14px;
  margin-top:14px
}
.film-caption .text-button {
  margin-top:20px;
  font-size:13px
}
.section-heading {
  display:block;
  margin-bottom:30px
}
.section-heading p {
  margin-top:22px
}
.photo-strip {
  display:grid;
  grid-template-columns:1.3fr 1fr;
  height:auto;
  gap:12px
}
.photo-strip .photo-button {
  height:70vw
}
.photo-strip .photo-button:nth-child(3) {
  grid-column:2;
  grid-row:2
}
.photo-strip .photo-button:nth-child(4) {
  grid-column:1;
  grid-row:2
}
.strip-caption {
  display:block;
  margin-top:16px
}
.strip-caption .small {
  font-size:13px
}
.strip-caption .text-button {
  font-size:14px
}
.coverage,.brothers,.questions {
  display:block
}
.coverage h2 br {
  display:none
}
.coverage h2+p {
  margin-top:22px
}
.coverage-menu {
  margin-top:30px
}
.package-row {
  grid-template-columns:16px 1fr auto;
  gap:13px;
  padding:22px 17px
}
.package-row input {
  width:15px;
  height:15px;
  margin-top:6px
}
.package-row input:checked:after {
  width:7px;
  height:7px
}
.package-name,.package-price {
  font-size:26px
}
.package-detail {
  font-size:16px;
  margin-top:10px
}
.selection-summary {
  flex-direction:row;
  align-items:center;
  gap:16px
}
.selection-summary p {
  font-size:14px;
  max-width:18ch
}
.selection-summary .button {
  font-size:14px;
  min-height:48px;
  padding:12px 16px;
  gap:20px
}
.side-facts {
  display:flex;
  gap:25px;
  font-size:14px;
  margin-top:26px;
  margin-bottom:38px
}
.statement {
  font-size:24px;
  line-height:1.25
}
.statement+p {
  margin-top:24px
}
.portrait {
  width:84%;
  margin-top:35px
}
.portrait figcaption {
  font-size:13px
}
.partner .section-heading {
  display:block
}
.partner-layout {
  display:block
}
.partner-large .partner-image {
  height:125vw
}
.partner-small {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:15px;
  margin-top:32px
}
.partner-small .partner-image {
  height:62vw
}
.partner figcaption {
  display:block;
  font-size:14px;
  margin-top:12px
}
.partner figcaption span:last-child {
  display:block;
  font-size:17px;
  margin-top:6px
}
.partner-credit {
  font-size:13px;
  margin-top:30px
}
.questions h2 {
  margin-bottom:32px
}
.question-list details {
  padding-block:18px
}
.question-list summary {
  font-size:18px
}
.question-list p {
  font-size:16px
}
.question-list details[open] {
  padding-inline:18px;
  margin-inline:-18px
}
.contact {
  display:block;
  padding-bottom:55px
}
.contact h2 {
  font-size:48px;
  margin-bottom:28px
}
.contact p {
  font-size:17px
}
.contact-handle {
  font-size:14px
}
.brand-marquee {
  padding-bottom:35px
}
.brand-marquee span {
  font-size:23vw
}
.footer-details {
  display:block;
  font-size:13px
}
.footer-details nav {
  margin-block:26px;
  gap:25px
}
.film-credit {
  font-size:13px;
  line-height:1.7;
  padding-top:26px
}
dialog {
  max-width:96vw;
  padding-inline:10px
}

}

@media(prefers-reduced-motion:reduce) {
  html {
  scroll-behavior:auto
}
*,*:before,*:after {
  animation:none!important;
  transition:none!important
}
.photo-button:hover img,.partner-image:hover img {
  transform:none
}
.brand-marquee>div {
  transform:none
}
.brand-marquee span+span {
  display:none
}

}


/* A wide question list breaks the rhythm of the paired sections. */
.questions { display:block; }
.questions h2 { margin-bottom:48px; }
.question-list { max-width:1100px; margin-left:auto; }
@media(max-width:600px) {
  .hero-film { display:block; }
  .moving-frame { aspect-ratio:9/16; }
  .film-caption { display:flex; align-items:start; gap:20px; padding-top:18px; }
  .film-caption p:first-child { font-size:24px; }
  .film-caption .small { margin-top:9px; }
  .film-caption .text-button { margin-top:2px; }
  .play-film { font-size:16px; min-height:52px; padding:14px 22px; left:20px; bottom:20px; }
  .play-film svg { width:14px; height:16px; }
  .questions h2 { margin-bottom:30px; }
}

/* The client photograph and studio introduction balance the whole field. */
.brothers { grid-template-columns:1fr 1.2fr; align-items:center; }
.brothers .portrait { width:100%; margin:0; }
.brothers-copy h2 { margin-bottom:35px; }
.brothers-copy .side-facts { display:flex; gap:30px; margin-top:30px; }
@media(max-width:600px) {
 .brothers { display:flex; flex-direction:column; align-items:stretch; }
 .brothers-copy { order:1; }
 .brothers .portrait { order:2; width:84%; margin-left:auto; margin-top:35px; }
 .brothers-copy h2 { margin-bottom:28px; }
 .brothers-copy .side-facts { margin-bottom:0; }
}
