:root{--background:#F3EBDD;--surface:#FAF6EE;--surface-strong:#E8DDCC;--text:#171714;--muted:#6A645B;--line:#CFC3B1;--accent:#1E1F1B;--accent-text:#F8F3EA;--max-width:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--background);color:var(--text);font-family:Arial,Helvetica,sans-serif;line-height:1.5}body.is-loading{overflow:hidden}a{color:inherit}img,video{display:block;max-width:100%}button,input,textarea,select{font:inherit}.page-shell{width:min(calc(100% - 40px),var(--max-width));margin-inline:auto}.site-header{min-height:82px;width:min(calc(100% - 40px),var(--max-width));margin-inline:auto;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;font-weight:700;letter-spacing:-.02em}.brand-mark{width:38px;height:38px;object-fit:cover;border-radius:50%;border:1px solid var(--line)}.nav{display:flex;gap:28px;align-items:center}.nav a,.footer-links a{text-decoration:none;color:var(--muted);border-bottom:1px solid transparent}.nav a:hover,.nav a:focus-visible,.footer-links a:hover,.footer-links a:focus-visible{color:var(--text);border-bottom-color:currentColor}.hero{min-height:510px;display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:60px;align-items:end;padding:96px 0 62px}.hero-copy{max-width:880px}.eyebrow,.label,.section-number{margin:0 0 18px;color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.14em}h1,h2,h3,p{margin-top:0}h1{margin-bottom:26px;font-size:clamp(3.4rem,8vw,7.9rem);line-height:.88;letter-spacing:-.075em;max-width:1000px}.hero-body{max-width:720px;margin-bottom:34px;font-size:clamp(1.05rem,1.8vw,1.35rem);color:var(--muted)}.hero-meta{display:flex;flex-direction:column;gap:8px;color:var(--muted);font-size:.9rem}.actions{display:flex;gap:12px;flex-wrap:wrap}.button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:0 20px;border:1px solid var(--accent);text-decoration:none;cursor:pointer;border-radius:0}.button-dark{background:var(--accent);color:var(--accent-text)}.button-dark:hover,.button-dark:focus-visible{background:transparent;color:var(--accent)}.button-light{background:transparent;color:var(--accent)}.button-light:hover,.button-light:focus-visible{background:var(--surface-strong)}button:disabled{opacity:.55;cursor:wait}.showreel{padding-bottom:96px}.video-frame{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background:#111}.video-frame video{width:100%;height:100%;object-fit:cover}.video-missing{position:absolute;inset:0;display:grid;place-content:center;text-align:center;gap:6px;background:var(--surface-strong);color:var(--text)}.video-missing strong{font-size:1.25rem}.video-missing span{color:var(--muted)}.sound-toggle{position:absolute;right:14px;bottom:14px;min-height:38px;padding:0 14px;border:1px solid rgba(255,255,255,.45);background:rgba(15,15,13,.72);color:#fff;cursor:pointer}.sound-toggle:hover,.sound-toggle:focus-visible{background:rgba(15,15,13,.9)}.work-caption{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:22px 0;border-bottom:1px solid var(--line)}.work-caption h2{margin:4px 0 0;font-size:clamp(1.5rem,2.5vw,2.4rem);letter-spacing:-.04em}.work-caption p{max-width:420px;color:var(--muted)}.intro{display:grid;grid-template-columns:190px 1fr;gap:40px;padding:110px 0 90px}.intro-copy{max-width:930px}.intro h2,.process h2,.contact-strip h2,.contact-intro h1{margin-bottom:26px;font-size:clamp(2.6rem,5.3vw,5.9rem);line-height:.95;letter-spacing:-.06em}.intro-copy p{max-width:790px;font-size:clamp(1.15rem,2vw,1.55rem);color:var(--muted)}.services{border-top:1px solid var(--line)}.service-row{display:grid;grid-template-columns:90px minmax(200px,.8fr) 1.2fr;gap:40px;padding:34px 0;border-bottom:1px solid var(--line)}.service-row .number{color:var(--muted)}.service-row h3{margin:0;font-size:clamp(1.25rem,2.1vw,2rem);letter-spacing:-.03em}.service-row p{margin:0;color:var(--muted);max-width:650px}.process{padding:120px 0}.section-heading{display:grid;grid-template-columns:190px 1fr;gap:40px;margin-bottom:60px}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.process-step{min-height:220px;padding:26px;border-right:1px solid var(--line)}.process-step:last-child{border-right:0}.process-step span{display:block;color:var(--muted);margin-bottom:50px}.process-step h3{font-size:1.35rem;margin-bottom:12px}.process-step p{color:var(--muted);margin-bottom:0}.contact-strip{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.contact-strip-inner{min-height:420px;display:flex;gap:30px;align-items:center;justify-content:space-between}.contact-strip h2{max-width:850px;margin-bottom:0}.site-footer{min-height:170px;display:grid;grid-template-columns:1fr 1fr auto;gap:30px;align-items:center;color:var(--muted)}.footer-links{display:flex;flex-direction:column;align-items:flex-start}.contact-page{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(420px,1.2fr);gap:90px;padding:96px 0 120px}.contact-intro{position:sticky;top:32px;align-self:start}.contact-intro h1{font-size:clamp(3rem,6vw,6.7rem)}.contact-intro>p:not(.eyebrow){max-width:550px;color:var(--muted);font-size:1.15rem}.contact-direct{margin-top:50px;padding-top:22px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:6px}.contact-direct span{color:var(--muted);font-size:.85rem}.contact-form{background:var(--surface);border:1px solid var(--line);padding:34px}.form-row{margin-bottom:24px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-form label>span,.heard-fieldset legend{display:block;margin-bottom:9px;font-size:.88rem;color:var(--muted)}input,textarea,select{width:100%;border:1px solid var(--line);background:var(--background);color:var(--text);border-radius:0;padding:13px 14px;outline:none}input:focus,textarea:focus,select:focus{border-color:var(--accent)}textarea{resize:vertical}.heard-fieldset{margin:34px 0;padding:0;border:0}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.choice{position:relative}.choice input{position:absolute;opacity:0;pointer-events:none}.choice span{display:block;margin:0!important;padding:13px 14px;border:1px solid var(--line);background:var(--background);color:var(--text)!important;cursor:pointer}.choice input:checked+span{background:var(--accent);color:var(--accent-text)!important;border-color:var(--accent)}.choice input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}.heard-other{display:block;margin-top:14px}.message-field{display:block;margin-top:30px}.form-submit{display:flex;gap:18px;align-items:center;margin-top:26px}.form-submit p{margin:0;color:var(--muted)}.skeleton{width:min(calc(100% - 40px),var(--max-width));margin-inline:auto;padding-top:24px}.skeleton-bar,.skeleton-video,.skeleton-contact,.skeleton-lines span{background:var(--surface-strong)}.skeleton-bar{height:58px;margin-bottom:90px}.skeleton-video{width:100%;aspect-ratio:16/9}.skeleton-contact{width:100%;height:650px}.skeleton-lines{margin-top:28px;display:grid;gap:10px}.skeleton-lines span{display:block;height:18px}.skeleton-lines span:nth-child(2){width:75%}.skeleton-lines span:nth-child(3){width:55%}@media(max-width:900px){.page-shell,.site-header,.skeleton{width:min(calc(100% - 28px),var(--max-width))}.hero{grid-template-columns:1fr;min-height:0;padding:72px 0 42px}.hero-meta{flex-direction:row;justify-content:space-between}.intro,.section-heading{grid-template-columns:1fr;gap:15px}.service-row{grid-template-columns:50px 1fr}.service-row p{grid-column:2}.process-grid{grid-template-columns:1fr 1fr}.process-step:nth-child(2){border-right:0}.process-step:nth-child(-n+2){border-bottom:1px solid var(--line)}.contact-page{grid-template-columns:1fr;gap:50px}.contact-intro{position:static}}@media(max-width:640px){.site-header{min-height:72px}.nav{gap:15px;font-size:.9rem}.nav a:nth-child(2){display:none}.brand-mark{width:34px;height:34px}h1{font-size:clamp(3rem,18vw,5.5rem)}.work-caption,.two-col,.choice-grid{grid-template-columns:1fr}.intro,.process{padding:80px 0}.service-row{grid-template-columns:38px 1fr;gap:16px}.process-grid{grid-template-columns:1fr}.process-step,.process-step:nth-child(2){border-right:0;border-bottom:1px solid var(--line)}.process-step:last-child{border-bottom:0}.contact-strip-inner{min-height:360px;flex-direction:column;align-items:flex-start;justify-content:center}.site-footer{grid-template-columns:1fr;padding:36px 0;gap:18px}.contact-form{padding:22px}.form-submit{flex-direction:column;align-items:stretch}}


/* Update 2: shorter contact page */
.contact-page {
  grid-template-columns: minmax(280px, 0.72fr) minmax(420px, 1.28fr);
  gap: 60px;
  padding-top: 70px;
  padding-bottom: 90px;
}

.contact-intro {
  position: static;
}

.contact-intro h1 {
  max-width: 560px;
  font-size: clamp(2.7rem, 5vw, 5.1rem);
  line-height: 0.94;
}

.contact-intro > p:not(.eyebrow) {
  max-width: 460px;
  font-size: 1.05rem;
}

.contact-direct {
  margin-top: 34px;
}

.contact-form {
  padding: 28px;
}

.heard-fieldset {
  margin: 26px 0;
}

.message-field {
  margin-top: 24px;
}

.form-submit {
  margin-top: 20px;
}

.video-frame video {
  background: #111;
}

@media (max-width: 900px) {
  .contact-page {
    gap: 36px;
    padding-top: 56px;
    padding-bottom: 72px;
  }
}


/* FINAL VIDEO FIX */
.video-frame {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: auto !important;
  overflow: visible !important;
  background: #111 !important;
}

.showreel-video {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  visibility: visible !important;
  opacity: 1 !important;
  background: #111 !important;
  z-index: 1 !important;
}
