:root{
  --black:#030303;
  --white:#f4f1ea;
  --muted:#9b9b9b;
  --line:rgba(255,255,255,.18);
  --paper:#e9e8e4;
  --ink:#171717;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--black)}
body{margin:0;background:var(--black);color:var(--white);font-family:"Arial Narrow","Roboto Condensed","Helvetica Neue",Arial,sans-serif;letter-spacing:.01em}
a{color:inherit;text-decoration:none}
img,video{display:block;max-width:100%}
.nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:18px 34px;font-size:12px;letter-spacing:.22em;text-transform:uppercase;background:linear-gradient(to bottom,rgba(0,0,0,.72),rgba(0,0,0,0))}
.nav a{transition:opacity .2s ease}.nav a:hover{opacity:.55}.brand{font-weight:900}.links{display:flex;gap:28px}.active{opacity:.55}
.hero{min-height:100svh;position:relative;display:grid;place-items:center;overflow:hidden;background:#000}.hero-video,.hero-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.7;filter:contrast(1.08) saturate(.82)}.hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at center,rgba(0,0,0,.08),rgba(0,0,0,.84)),linear-gradient(to bottom,rgba(0,0,0,.25),rgba(0,0,0,.1),rgba(0,0,0,.75))}.hero-inner{position:relative;z-index:2;text-align:center;padding:8vw}.kicker{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:#b8b8b8}h1,.title-scale{font-size:clamp(54px,10vw,142px);line-height:.86;margin:24px 0 20px;text-transform:uppercase;letter-spacing:.045em;font-weight:900;transform:scaleX(.72);transform-origin:center}.tagline{font-size:clamp(18px,3vw,36px);letter-spacing:.36em;text-transform:uppercase}.cta-row{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;margin-top:34px}.button{display:inline-flex;border:1px solid currentColor;padding:14px 20px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;transition:background .2s,color .2s,opacity .2s}.button:hover{background:var(--white);color:#000}.footerline{position:absolute;bottom:24px;left:28px;right:28px;display:flex;justify-content:space-between;gap:30px;font-size:11px;color:#aaa;letter-spacing:.06em;z-index:2}.panel{min-height:100svh;position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:9vw 8vw;background-size:cover;background-position:center;overflow:hidden;border-top:1px solid rgba(255,255,255,.08)}.panel:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.22),rgba(0,0,0,.35))}.panel.light-text-right:before{background:linear-gradient(90deg,rgba(0,0,0,.3),rgba(0,0,0,.08),rgba(0,0,0,.64))}.panel-content{position:relative;z-index:2;max-width:600px}.panel.right .panel-content{grid-column:2}.bigtype{font-size:clamp(52px,8vw,118px);line-height:.92;text-transform:uppercase;letter-spacing:.16em;font-weight:900;transform:scaleX(.68);transform-origin:left center}.bigtype.tight{letter-spacing:.12em}.copy{max-width:460px;margin-top:28px;font-family:"Helvetica Neue",Arial,sans-serif;font-size:16px;line-height:1.65;color:rgba(255,255,255,.78);letter-spacing:.02em}.meta-small{margin-top:54px;font-size:10px;line-height:1.55;color:rgba(255,255,255,.45);letter-spacing:.06em}.section{min-height:80svh;display:grid;grid-template-columns:1fr 1px 1fr;align-items:center;gap:6vw;padding:10vw 8vw;border-top:1px solid rgba(255,255,255,.08)}.section.light{background:var(--paper);color:var(--ink)}.rule{width:1px;height:58vh;background:currentColor;opacity:.25}.body-copy{max-width:540px;font-family:"Helvetica Neue",Arial,sans-serif;font-size:17px;line-height:1.7;color:rgba(255,255,255,.75)}.light .body-copy{color:rgba(0,0,0,.72)}.body-copy p{margin:0 0 22px}.body-copy ul{padding:0;margin:28px 0 0;list-style:none}.body-copy li{font-family:"Arial Narrow","Roboto Condensed","Helvetica Neue",Arial,sans-serif;text-transform:uppercase;font-weight:900;letter-spacing:.18em;margin:0 0 18px;font-size:14px}.page{padding:132px 34px 80px}.page-head{display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:end;margin:0 0 70px}.page-title{font-size:clamp(60px,10vw,150px);line-height:.86;text-transform:uppercase;letter-spacing:.16em;font-weight:900;transform:scaleX(.68);transform-origin:left center}.page-intro{max-width:560px;font-family:"Helvetica Neue",Arial,sans-serif;line-height:1.65;color:#aaa;font-size:17px}.masonry{columns:3 320px;column-gap:18px}.masonry img{width:100%;margin:0 0 18px;break-inside:avoid;cursor:pointer;background:#111;transition:opacity .18s ease,filter .18s ease;filter:saturate(.92) contrast(1.04)}.masonry img:hover{opacity:.72}.lightbox{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.94);padding:26px}.lightbox.open{display:flex}.lightbox img{max-width:94vw;max-height:92svh}.close{position:absolute;top:18px;right:26px;font-size:38px;line-height:1;cursor:pointer;color:#fff}.motion-list{display:grid;gap:32px}.motion-card{position:relative;min-height:68svh;display:grid;align-items:end;background-size:cover;background-position:center;overflow:hidden;border:1px solid rgba(255,255,255,.13)}.motion-card:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.18),rgba(0,0,0,.46))}.motion-copy{position:relative;z-index:2;max-width:620px;padding:6vw}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.24em;color:#aaa}.card-title{font-size:clamp(40px,6vw,92px);line-height:.9;text-transform:uppercase;letter-spacing:.09em;font-weight:900;transform:scaleX(.72);transform-origin:left center;margin:16px 0 20px}.card-desc{font-family:"Helvetica Neue",Arial,sans-serif;color:rgba(255,255,255,.78);font-size:17px;line-height:1.65;max-width:520px}.film-wrap{padding:132px 8vw 80px}.film-grid{display:grid;grid-template-columns:1fr;gap:38px}.video-frame{position:relative;width:100%;padding-top:56.25%;background:#111}.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.film-copy{display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:start}.metadata{display:grid;grid-template-columns:max-content 1fr;gap:12px 24px;margin-top:28px;font-size:12px;text-transform:uppercase;letter-spacing:.16em;color:#aaa}.metadata strong{color:#fff}.archive-list{display:grid;gap:34px}.archive-card{min-height:72svh;display:grid;grid-template-columns:1fr 1fr;align-items:end;position:relative;background-size:cover;background-position:center;border:1px solid rgba(255,255,255,.13);overflow:hidden}.archive-card:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.26),rgba(0,0,0,.54))}.archive-copy{position:relative;z-index:2;padding:6vw;max-width:690px}.archive-meta{position:relative;z-index:2;padding:6vw;align-self:end}.about-grid,.access-grid,.contact-grid{display:grid;grid-template-columns:1fr 1px 1fr;gap:6vw;align-items:start;padding:132px 8vw 90px;min-height:100svh}.contact-grid{align-items:center}.statement{font-size:clamp(44px,7vw,104px);line-height:.93;text-transform:uppercase;letter-spacing:.15em;font-weight:900;transform:scaleX(.68);transform-origin:left center}.soft-list{font-family:"Helvetica Neue",Arial,sans-serif;color:#aaa;line-height:1.7}.soft-list h3{font-family:"Arial Narrow","Roboto Condensed","Helvetica Neue",Arial,sans-serif;color:#fff;text-transform:uppercase;letter-spacing:.18em;font-size:14px;margin:0 0 12px}.soft-list p{margin:0 0 30px}.contact-link{font-size:28px;line-height:1.5}.site-footer{display:flex;justify-content:space-between;gap:28px;padding:34px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#aaa;border-top:1px solid rgba(255,255,255,.1)}
@media(max-width:900px){.nav{padding:16px 18px;align-items:flex-start}.links{gap:12px;flex-wrap:wrap;justify-content:flex-end;font-size:10px}.panel,.section,.archive-card,.about-grid,.access-grid,.contact-grid,.film-copy{grid-template-columns:1fr}.panel.right .panel-content{grid-column:auto}.rule{display:none}.page-head{grid-template-columns:1fr}.page{padding-left:18px;padding-right:18px}.masonry{columns:1}.bigtype{font-size:52px}.footerline,.site-footer{font-size:9px}.contact-link{font-size:20px}.motion-card,.archive-card{min-height:64svh}.motion-copy,.archive-copy,.archive-meta{padding:9vw}.panel{padding:24vw 8vw}.panel:before,.panel.light-text-right:before{background:rgba(0,0,0,.62)}}


/* Current review build additions */
.video-hero{background:#000;}
.video-hero::before{display:none;content:none;}
.video-hero .hero-poster{display:none;}
.video-hero .hero-video{opacity:.82;}
.scroll-cue{position:absolute;bottom:34px;left:50%;transform:translateX(-50%);z-index:3;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.78);text-align:center;line-height:1;}
.scroll-cue span{display:block;margin-top:8px;font-size:14px;line-height:1;}
.access-bridge{background:#050505;}
.project-title{font-size:clamp(48px,8vw,118px);}
.project-meta{margin-top:26px;}
.project-gallery-page .page-head{align-items:start;}
.project-masonry{columns:3 340px;}
@media(max-width:900px){.scroll-cue{bottom:22px}.project-masonry{columns:1}.project-title{font-size:50px}.video-hero .hero-video{opacity:.84}}

/* Clean homepage archive entry section */
.enter-archive-section{min-height:78svh;display:grid;place-items:center;background:#000;border-top:1px solid rgba(255,255,255,.08);padding:10vw 8vw;}
.enter-archive-button{padding:18px 28px;}
body.no-scroll{overflow:hidden}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:62px;border:1px solid rgba(255,255,255,.35);background:rgba(0,0,0,.18);color:#fff;font-size:42px;line-height:1;display:grid;place-items:center;cursor:pointer;z-index:101;transition:background .2s,color .2s,border-color .2s}.lightbox-nav:hover{background:rgba(255,255,255,.92);color:#000;border-color:rgba(255,255,255,.92)}.lightbox-prev{left:22px}.lightbox-next{right:22px}.lightbox img{user-select:none}@media (max-width:700px){.lightbox{padding:18px}.lightbox-nav{width:36px;height:50px;font-size:34px;background:rgba(0,0,0,.32)}.lightbox-prev{left:10px}.lightbox-next{right:10px}.close{top:12px;right:18px}}

/* Row-based gallery sequencing: left to right, then down */
.masonry,
.project-masonry {
  columns: initial;
  column-gap: initial;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.masonry img,
.project-masonry img {
  width: 100%;
  height: auto;
  margin: 0;
  break-inside: auto;
}

@media (max-width: 1000px) {
  .masonry,
  .project-masonry {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .masonry,
  .project-masonry {
    grid-template-columns: 1fr;
  }
}
/* Mobile test layout */
@media (max-width: 700px) {

  body {
    overflow-x: hidden;
  }

  .site-header {
    padding: 34px 22px 26px;
    align-items: flex-start;
  }

  .brand {
    font-size: 18px;
    line-height: 1.35;
    letter-spacing: .22em;
  }

  .nav {
    display: grid;
    grid-template-columns: repeat(3, auto);
    gap: 18px 22px;
    justify-content: end;
    font-size: 13px;
    letter-spacing: .22em;
  }

  .page-title,
  .hero-title {
    font-size: 54px;
    line-height: .9;
    letter-spacing: .12em;
    transform: scaleX(.82);
    transform-origin: left center;
  }

  /* Homepage loop video: preserve wide frame */
  .hero-video,
  .hero video,
  video.hero-loop {
    object-fit: contain;
    width: 100%;
    height: 100%;
    background: #000;
  }

  /* Main Images gallery: 3 across */
  .image-grid,
  .gallery-grid,
  .archive-gallery,
  .project-gallery {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 6px;
    padding: 0 14px 60px;
  }

  .image-grid img,
  .gallery-grid img,
  .archive-gallery img,
  .project-gallery img {
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
  }

  /* Archive and Motion landing pages: full-width cards */
  .archive-grid,
  .motion-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 34px;
    padding: 0 22px 70px;
  }

  .archive-card,
  .motion-card {
    width: 100%;
  }

  .archive-card img,
  .motion-card img {
    width: 100%;
    height: auto;
    object-fit: contain;
  }

  /* Fix Authentic section text cut off */
  .panel {
    min-height: auto;
    padding: 170px 28px 90px;
    display: block;
    overflow: hidden;
    background-position: center;
  }

  .panel-content {
    max-width: 100%;
  }

  .panel .bigtype {
    font-size: 46px;
    line-height: .94;
    letter-spacing: .11em;
    transform: scaleX(.72);
    transform-origin: left center;
    max-width: 100%;
  }

  .panel .copy {
    max-width: 82vw;
    font-size: 15px;
    line-height: 1.65;
    margin-top: 28px;
    overflow-wrap: break-word;
  }

  .lightbox-arrow {
    font-size: 26px;
    width: 44px;
    height: 44px;
  }

  .lightbox-close {
    font-size: 22px;
    top: 18px;
    right: 18px;
  }
}

/* Mobile gallery override */
@media (max-width: 700px) {

  /* Main images and individual archive galleries: 3 across */
  .masonry,
  .project-masonry {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 6px !important;
    padding: 0 14px 60px !important;
  }

  .masonry img,
  .project-masonry img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 16 / 10 !important;
    object-fit: cover !important;
  }

  /* Motion and Archive landing pages: full width cards */
  .motion-grid,
  .archive-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 34px !important;
    padding: 0 22px 70px !important;
  }

  .motion-card,
  .archive-card {
    width: 100% !important;
  }

  .motion-card img,
  .archive-card img {
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
  }
}

/* Mobile archive and motion card override */
@media (max-width: 700px) {

  .archive-list,
  .motion-list,
  .cards,
  .project-list,
  .feature-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 34px !important;
    padding: 0 22px 70px !important;
  }

  .archive-item,
  .motion-item,
  .card,
  .project-card,
  .feature-card {
    width: 100% !important;
    max-width: 100% !important;
  }

  .archive-item img,
  .motion-item img,
  .card img,
  .project-card img,
  .feature-card img {
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    aspect-ratio: auto !important;
  }

  .archive-item a,
  .motion-item a,
  .card a,
  .project-card a,
  .feature-card a {
    display: block !important;
    width: 100% !important;
  }
}

/* Mobile archive and motion full width cards */
@media (max-width: 700px) {

  .archive-list {
    display: block !important;
    padding: 0 22px 70px !important;
  }

  .archive-card {
    width: 100% !important;
    min-height: 520px !important;
    margin: 0 0 34px 0 !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center top !important;
    border: 1px solid rgba(255,255,255,.35) !important;
  }

  .archive-copy {
    padding: 320px 28px 34px !important;
  }

  .eyebrow {
    font-size: 11px !important;
    letter-spacing: .22em !important;
  }

  .card-title {
    font-size: 28px !important;
    line-height: 1.05 !important;
    letter-spacing: .12em !important;
  }

  .card-desc {
    font-size: 14px !important;
    line-height: 1.55 !important;
    max-width: 100% !important;
  }

  .cta-row {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
  }

  .button {
    font-size: 11px !important;
    letter-spacing: .22em !important;
    padding: 15px 18px !important;
  }

  main.page article[style*="background-image"] {
    width: 100% !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center top !important;
  }
}

/* Mobile motion full width cards */
@media (max-width: 700px) {

  .motion-list {
    display: block !important;
    padding: 0 22px 70px !important;
  }

  .motion-card {
    display: block !important;
    width: 100% !important;
    min-height: 520px !important;
    margin: 0 0 34px 0 !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center top !important;
    border: 1px solid rgba(255,255,255,.35) !important;
  }

  .motion-copy {
    padding: 320px 28px 34px !important;
  }

  .motion-copy .eyebrow {
    font-size: 11px !important;
    letter-spacing: .22em !important;
  }

  .motion-copy .card-title {
    font-size: 28px !important;
    line-height: 1.05 !important;
    letter-spacing: .12em !important;
  }

  .motion-copy .card-desc {
    font-size: 14px !important;
    line-height: 1.55 !important;
    max-width: 100% !important;
  }
}