
    :root {
      --black: #000000;
      --charcoal: #242424;
      --body: #3D3D3D;
      --muted: #777777;
      --red: #C5162E;
      --red-dark: #981023;
      --green: #008000;
      --soft: #F5F4F1;
      --border: #DEDAD2;
      --white: #FFFFFF;
      --stage-line: rgba(255,255,255,0.14);

      /* Gotham first. Montserrat is only a close fallback for this local preview. */
      --font-main: "Gotham A", "Gotham B", "Montserrat", "Avenir Next", Avenir, "Helvetica Neue", Helvetica, Arial, sans-serif;
      --font-display: "Gotham A", "Gotham B", "Montserrat", "Avenir Next", Avenir, "Helvetica Neue", Helvetica, Arial, sans-serif;

      --shell: min(1180px, calc(100vw - 64px));
    }  
    /* TOP CINEMATIC CONTACT AREA */

    .cinema-stage {
      background:
        radial-gradient(circle at 50% 26%, rgba(255,255,255,0.04), transparent 34%),
        linear-gradient(180deg, #020202 0%, #000 100%);
      color: var(--white);
      border-bottom: 1px solid #101010;
    }

    .cinema-stage__inner {
      width: min(1320px, calc(100vw - 64px));
      min-height: calc(100vh - 118px);
      margin: 0 auto;
      padding: clamp(46px, 5.5vw, 70px) 0 clamp(30px, 4vw, 48px);
      display: grid;
      grid-template-columns: minmax(230px, 0.72fr) minmax(520px, 1.55fr) minmax(260px, 0.83fr);
      gap: clamp(28px, 4.2vw, 58px);
      align-items: center;
    }

    .stage-copy {
      max-width: 330px;
    }

    .kicker {
      margin: 0 0 17px;
      color: var(--red);
      font-family: var(--font-main);
      font-size: 12px;
      font-weight: 700;
      letter-spacing: 0.20em;
      line-height: 1.2;
      text-transform: uppercase;
    }

    .stage-copy h1 {
      margin: 0;
      color: var(--white);
      font-family: var(--font-display);
      font-size: clamp(48px, 6.1vw, 76px);
      font-weight: 300;
      letter-spacing: -0.045em;
      line-height: 0.98;
    }

    .left-actions {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 10px;
      margin-top: clamp(32px, 5vw, 54px);
    }

    .stage-image-wrap {
      align-self: center;
      min-width: 0;
    }

    .stage-image {
      display: block;
      width: 100%;
      height: auto;
      max-height: calc(100vh - 190px);
      object-fit: contain;
      background: #000;
      box-shadow:
        0 36px 120px rgba(0,0,0,0.62),
        0 0 0 1px rgba(255,255,255,0.055);
    }

    .image-caption {
      display: flex;
      justify-content: space-between;
      gap: 24px;
      margin-top: 16px;
      color: rgba(255,255,255,0.55);
      font-size: 12px;
      font-weight: 400;
      letter-spacing: 0.04em;
    }

    .image-caption strong {
      color: rgba(255,255,255,0.88);
      font-weight: 600;
    }

    .quick-contact {
      max-width: 350px;
      justify-self: end;
    }

    .quick-list {
      margin: 0;
      padding: 0;
      list-style: none;
      border: 0;
    }

    .quick-list li {
      padding: 0;
      border: 0;
    }

    .quick-list li + li {
      margin-top: 34px;
    }

    .quick-list strong {
      display: block;
      margin-bottom: 9px;
      color: var(--red);
      font-size: 11px;
      font-weight: 600;
      letter-spacing: 0.20em;
      line-height: 1.3;
      text-transform: uppercase;
    }

    .quick-list a,
    .quick-list span {
      color: var(--white);
      font-size: clamp(17px, 1.75vw, 21px);
      font-weight: 300;
      letter-spacing: -0.015em;
      line-height: 1.42;
      text-decoration: none;
    }

    .quick-list a:not(.office-map-link) {
      border-bottom: 1px solid rgba(197,22,46,0.48);
      transition: color 180ms ease, border-color 180ms ease;
    }

    .quick-list a:not(.office-map-link):hover {
      color: var(--red);
      border-color: var(--red);
    }

    .office-map-link {
      display: block;
      text-decoration: none;
    }

    .office-map-link span {
      display: inline;
      border-bottom: 1px solid rgba(197,22,46,0.48);
      transition: color 180ms ease, border-color 180ms ease;
    }

    .office-map-link:hover span {
      color: var(--red);
      border-color: var(--red);
    }

    .stage-action {
      display: flex;
      align-items: center;
      justify-content: center;
      min-height: 46px;
      padding: 12px 12px;
      color: var(--white);
      text-decoration: none;
      border: 1px solid var(--stage-line);
      font-size: 11px;
      font-weight: 700;
      letter-spacing: 0.15em;
      line-height: 1;
      text-align: center;
      text-transform: uppercase;
      transition: 180ms ease;
    }

    .stage-action:hover {
      border-color: var(--red);
      background: var(--red);
      color: var(--white);
    }

    .stage-action--primary {
      background: var(--red);
      border-color: var(--red);
    }

    .stage-action--primary:hover {
      background: var(--red-dark);
      border-color: var(--red-dark);
    }


    /* SIMPLIFIED CONTENT AREA */

    .below-stage {
      background: var(--white);
    }

    .page-shell {
      width: var(--shell);
      margin: 0 auto;
      padding: 52px 0 60px;
    }

    .simple-grid {
      display: grid;
      grid-template-columns: minmax(0, 1.08fr) minmax(340px, 0.92fr);
      gap: 28px;
      align-items: start;
    }

    .panel {
      border: 1px solid var(--border);
      padding: clamp(26px, 3vw, 36px);
    }

    .panel--form {
      background: #fff;
    }

    .panel--location {
      background: var(--soft);
    }

    .panel h2 {
      margin: 0 0 12px;
      color: var(--black);
      font-family: var(--font-display);
      font-size: clamp(28px, 3vw, 38px);
      font-weight: 300;
      letter-spacing: -0.035em;
      line-height: 1.08;
    }

    .panel p {
      margin: 0 0 14px;
      color: var(--body);
      font-weight: 300;
    }

    .panel__lead {
      font-size: 15px;
      font-weight: 400;
      line-height: 1.52;
    }

    .help-note {
      margin: 18px 0 0;
      padding: 16px 18px;
      background: var(--soft);
      border-left: 3px solid var(--red);
    }

    .help-note h3 {
      margin: 0 0 5px;
      color: var(--black);
      font-size: 15px;
      font-weight: 500;
      letter-spacing: 0;
    }

    .help-note p {
      margin: 0;
      color: var(--muted);
      font-size: 13px;
      line-height: 1.45;
    }

    .form-grid {
      display: grid;
      gap: 13px;
      margin-top: 20px;
    }

    .form-grid.two {
      grid-template-columns: 1fr 1fr;
      width: 100%;
    }

    label {
      display: block;
      margin: 0 0 5px;
      color: var(--black);
      font-size: 12px;
      font-weight: 500;
      letter-spacing: 0.02em;
    }

    input,
    select,
    textarea {
      width: 100%;
      min-height: 42px;
      padding: 10px 12px;
      background: #fff;
      border: 1px solid #CFCBC4;
      border-radius: 0;
      color: var(--black);
      font-family: var(--font-main);
      font-size: 14px;
      font-weight: 300;
      line-height: 1.35;
      appearance: none;
    }

    textarea {
      min-height: 118px;
      resize: vertical;
    }

    input:focus,
    select:focus,
    textarea:focus {
      border-color: var(--red);
      outline: 2px solid rgba(197,22,46,0.14);
      outline-offset: 0;
    }

    .select-wrap {
      position: relative;
    }

    .select-wrap::after {
      content: "⌄";
      position: absolute;
      right: 13px;
      bottom: 15px;
      color: var(--muted);
      font-size: 19px;
      pointer-events: none;
      font-weight: 300;
    }

    .consent {
      display: grid;
      grid-template-columns: 18px 1fr;
      gap: 10px;
      align-items: start;
      margin-top: 4px;
      color: var(--muted);
      font-size: 12px;
      line-height: 1.42;
      font-weight: 400;
    }

    .consent input {
      width: 17px;
      min-height: 17px;
      height: 17px;
      margin: 4px 0 0;
      appearance: auto;
      accent-color: var(--red);
    }

    .form-actions {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 18px;
      margin-top: 4px;
    }

    button,
    .button {
      min-height: 44px;
      padding: 12px 22px;
      background: var(--red);
      border: 1px solid var(--red);
      color: var(--white);
      cursor: pointer;
      font-family: var(--font-main);
      font-size: 12px;
      font-weight: 700;
      letter-spacing: 0.14em;
      line-height: 1;
      text-transform: uppercase;
      text-decoration: none;
      transition: 180ms ease;
    }

    button:hover,
    .button:hover {
      background: var(--red-dark);
      border-color: var(--red-dark);
    }

    .location-facts {
      margin: 18px 0 0;
      padding: 0;
      list-style: none;
      border-top: 1px solid var(--border);
    }

    .location-facts li {
      display: grid;
      grid-template-columns: 118px 1fr;
      gap: 18px;
      padding: 11px 0;
      border-bottom: 1px solid var(--border);
    }

    .location-facts strong {
      color: var(--red);
      font-size: 11px;
      font-weight: 700;
      letter-spacing: 0.16em;
      line-height: 1.35;
      text-transform: uppercase;
    }

    .location-facts span {
      color: var(--charcoal);
      line-height: 1.42;
      font-size: 14px;
      font-weight: 300;
    }

    .map-mock {
      position: relative;
      min-height: 260px;
      margin: 22px 0 14px;
      overflow: hidden;
      border: 1px solid var(--border);
      background:
        linear-gradient(35deg, transparent 0 47%, rgba(197,22,46,0.16) 48% 50%, transparent 51% 100%),
        linear-gradient(120deg, transparent 0 44%, rgba(0,0,0,0.08) 45% 47%, transparent 48% 100%),
        linear-gradient(0deg, rgba(255,255,255,0.55), rgba(255,255,255,0.55)),
        repeating-linear-gradient(0deg, #e6e8e3 0 1px, transparent 1px 42px),
        repeating-linear-gradient(90deg, #e6e8e3 0 1px, transparent 1px 42px),
        #f2f3ef;
    }

    .map-mock::before {
      content: "";
      position: absolute;
      inset: -20%;
      background:
        radial-gradient(circle at 66% 30%, rgba(136,166,103,0.23), transparent 18%),
        radial-gradient(circle at 20% 66%, rgba(136,166,103,0.18), transparent 22%),
        radial-gradient(circle at 78% 72%, rgba(136,166,103,0.15), transparent 20%);
    }

    .map-pin {
      position: absolute;
      top: 48%;
      left: 52%;
      width: 52px;
      height: 52px;
      display: grid;
      place-items: center;
      transform: translate(-50%, -50%);
      background: var(--white);
      border: 1px solid var(--border);
      border-radius: 999px;
      box-shadow: 0 14px 36px rgba(0,0,0,0.16);
      color: var(--red);
      font-size: 24px;
      font-weight: 800;
    }

    .map-caption {
      position: absolute;
      left: 16px;
      right: 16px;
      bottom: 16px;
      padding: 14px;
      background: rgba(255,255,255,0.92);
      border: 1px solid var(--border);
      color: var(--charcoal);
      box-shadow: 0 12px 34px rgba(0,0,0,0.08);
    }

    .map-caption strong {
      display: block;
      color: var(--black);
      font-size: 15px;
      font-weight: 600;
      line-height: 1.4;
    }

    .map-caption span {
      color: var(--muted);
      font-size: 12px;
    }

    .text-link {
      color: var(--black);
      font-size: 14px;
      text-decoration: none;
      border-bottom: 1px solid var(--red);
      transition: color 180ms ease;
      font-weight: 300;
    }

    .text-link:hover {
      color: var(--red);
    }

    .m-0 {    
      margin: 0px;
    }
    
    .mt-20 {    
      margin-top: 20px;
    }

    .mb-70 {    
      margin-bottom: 70px;
    }    

    .has-error .help-block {
      font-size: 12px;
      margin-top: 7px;
    }
    
    .has-success .control-label {
      color: inherit;    
    }
    
    .success-note {
      border-left: 3px solid var(--green);
    }
    
    @media (max-width: 1180px) {
      .cinema-stage__inner {
        width: min(100vw - 44px, 1320px);
        grid-template-columns: minmax(0, 1fr) minmax(300px, 0.72fr);
        grid-template-areas:
          "copy contact"
          "image image";
        min-height: 0;
      }

      .stage-copy {
        grid-area: copy;
        max-width: 620px;
      }

      .stage-image-wrap {
        grid-area: image;
      }

      .quick-contact {
        grid-area: contact;
      }

      .left-actions {
        max-width: 420px;
      }

      .stage-image {
        max-height: 720px;
      }
    }

    @media (max-width: 1080px) {
      .simple-grid {
        grid-template-columns: 1fr;
      }
    }

    @media (max-width: 780px) {
      .cinema-stage__inner {
        width: min(100vw - 30px, 1320px);
        grid-template-columns: 1fr;
        grid-template-areas:
          "copy"
          "contact"
          "image";
        gap: 34px;
        padding: 42px 0 34px;
      }

      .stage-copy h1 {
        font-size: 52px;
      }

      .quick-contact {
        justify-self: stretch;
        max-width: none;
      }

      .left-actions {
        grid-template-columns: 1fr 1fr;
        max-width: none;
      }

      .quick-list li + li {
        margin-top: 24px;
      }

      .image-caption {
        flex-direction: column;
        gap: 4px;
      }

      .page-shell {
        padding: 48px 0 68px;
      }

      .form-grid.two {
        grid-template-columns: 1fr;
	width: 100%;
      }

      .form-actions {
        align-items: stretch;
        flex-direction: column;
      }

      .button,
      button {
        width: 100%;
      }

      .panel,
      .help-note {
        padding: 26px 22px;
      }

      .location-facts li {
        grid-template-columns: 1fr;
        gap: 4px;
      }

      .map-caption {
        left: 14px;
        right: 14px;
        bottom: 14px;
      }
    }

    @media (max-width: 480px) {
      .left-actions {
        grid-template-columns: 1fr;
      }

      .quick-list a,
      .quick-list span {
        font-size: 19px;
      }
    }
