
  :root{
    --cream:#f7f2e9;
    --cream-2:#f1ead9;
    --ink:#1c1712;
    --ink-soft:#4a433b;
    --gold:#c8964a;
    --gold-soft:#e4c07f;
    --line:rgba(28,23,18,0.12);
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  html{scroll-behavior:smooth;}
  body{background:var(--cream);color:var(--ink);font-family:'Inter',sans-serif;-webkit-font-smoothing:antialiased;}
  img{max-width:100%;display:block;}
  a{color:inherit;text-decoration:none;}
  .serif{font-family:'Fraunces',serif;}
  .accent{font-family:'Cormorant Garamond',serif;font-style:italic;color:var(--gold);}
  .wrap{max-width:1320px;margin:0 auto;padding:0 48px;}
  @media(max-width:800px){.wrap{padding:0 24px;}}

  /* NAV */
  header{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(247,242,233,0.85);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);}
  .nav{display:flex;align-items:center;justify-content:space-between;padding:20px 48px;}
  @media(max-width:800px){.nav{padding:16px 24px;}}
  .brand{display:flex;align-items:center;gap:12px;}
  .brand img{width:32px;height:32px;}
  .brand-name{font-family:'Fraunces',serif;font-size:15px;letter-spacing:1.5px;font-weight:500;text-transform:uppercase;}
  nav.links{display:flex;gap:40px;font-size:12.5px;letter-spacing:1.5px;text-transform:uppercase;font-weight:500;}
  @media(max-width:900px){nav.links{display:none;}}
  .nav-cta{border:1px solid var(--ink);border-radius:999px;padding:10px 22px;font-size:11.5px;letter-spacing:1.5px;text-transform:uppercase;font-weight:600;}

  /* HERO */
  .hero{position:relative;height:100vh;min-height:680px;display:flex;align-items:flex-end;overflow:hidden;}
  .hero-grid{position:absolute;inset:0;display:grid;grid-template-columns:1.4fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:5px;}
  .hero-grid .tile{position:relative;overflow:hidden;}
  .hero-grid .tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.4s cubic-bezier(.2,.8,.2,1);}
  .hero-grid .tile:hover img{transform:scale(1.05);}
  .hero-grid .tile.dominant{grid-row:1/3;}
  @media(max-width:800px){.hero-grid{grid-template-columns:1.3fr 1fr;grid-template-rows:1fr 1fr 1fr;}.hero-grid .tile.dominant{grid-row:1/4;}}
  .hero-scrim{position:absolute;left:0;right:0;bottom:0;height:50%;z-index:1;background:linear-gradient(180deg,rgba(20,16,12,0) 0%,rgba(20,16,12,0.45) 45%,rgba(20,16,12,0.9) 100%);pointer-events:none;}
  .hero-inner{position:relative;z-index:2;padding:0 48px 80px;width:100%;color:var(--cream);}
  @media(max-width:800px){.hero-inner{padding:0 24px 56px;}}
  .kicker{font-size:12px;letter-spacing:4px;text-transform:uppercase;color:var(--gold-soft);margin-bottom:22px;display:flex;align-items:center;gap:14px;}
  .kicker::before{content:'';width:36px;height:1px;background:var(--gold-soft);}
  .hero h1{font-family:'Fraunces',serif;font-weight:500;font-size:clamp(42px,7vw,96px);line-height:1.03;letter-spacing:-0.5px;max-width:920px;}
  .hero h1 em{font-family:'Cormorant Garamond',serif;font-style:italic;color:var(--gold-soft);font-weight:400;}
  .hero p.sub{margin-top:26px;max-width:520px;font-size:17px;line-height:1.6;color:rgba(247,242,233,0.85);font-weight:400;}

  /* BRAND TICKER */
  .brands{position:relative;background:var(--cream-2);overflow:hidden;height:150px;display:flex;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
  .brands .lab{position:absolute;top:20px;left:0;right:0;text-align:center;font-family:'Inter',sans-serif;font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);z-index:3;font-weight:600;}
  .brands::before,.brands::after{content:'';position:absolute;top:0;bottom:0;width:110px;z-index:2;pointer-events:none;}
  .brands::before{left:0;background:linear-gradient(90deg,var(--cream-2),transparent);}
  .brands::after{right:0;background:linear-gradient(270deg,var(--cream-2),transparent);}
  .brands .track{display:flex;align-items:center;gap:64px;position:absolute;left:0;padding:0 40px;margin-top:16px;animation:scrollx 52s linear infinite;will-change:transform;}
  .brands .track img{height:80px;width:auto;opacity:0.55;flex:0 0 auto;transition:opacity .3s;filter:grayscale(100%);}
  .brands .track img:hover{opacity:0.95;filter:grayscale(0%);}
  @keyframes scrollx{from{transform:translateX(0);}to{transform:translateX(-50%);}}
  @media(max-width:800px){.brands{height:120px;}.brands .track img{height:58px;}}

  /* CASE STUDY */
  .case{padding:120px 0;}
  .case-grid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:80px;align-items:center;}
  @media(max-width:900px){.case-grid{grid-template-columns:1fr;gap:36px;}}
  .case-im{position:relative;border-radius:6px;overflow:hidden;}
  .case-im img{width:100%;display:block;}
  .case-tag{position:absolute;left:16px;bottom:16px;background:rgba(247,242,233,0.92);backdrop-filter:blur(4px);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold);padding:9px 16px;border-radius:999px;font-weight:600;}
  .case-copy .eyebrow{font-size:12px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:18px;font-weight:600;}
  .case-copy h2{font-family:'Fraunces',serif;font-weight:500;font-size:clamp(28px,3.6vw,44px);line-height:1.15;margin-bottom:22px;}
  .case-copy p{font-size:17px;line-height:1.75;color:var(--ink-soft);margin-bottom:16px;max-width:34em;}
  .case-cta{margin-top:24px;}
  .cta-link{font-size:12.5px;letter-spacing:1.5px;text-transform:uppercase;border-bottom:1px solid var(--ink);padding-bottom:4px;font-weight:600;}

  /* INTRO */
  .intro{padding:130px 0 90px;}
  .intro-grid{display:grid;grid-template-columns:1.05fr 0.95fr;gap:64px;align-items:start;}
  @media(max-width:900px){.intro-grid{grid-template-columns:1fr;gap:32px;}}
  .intro .eyebrow{font-size:12px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:18px;font-weight:600;}
  .intro h2{font-family:'Fraunces',serif;font-weight:500;font-size:clamp(28px,3.4vw,42px);line-height:1.2;}
  .intro-copy p{font-size:18px;line-height:1.75;color:var(--ink-soft);margin-bottom:20px;}
  .intro-copy p:last-child{margin-bottom:0;}

  /* CATEGORY TRIO */
  .categories{padding:40px 0 130px;}
  .cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
  @media(max-width:900px){.cat-grid{grid-template-columns:1fr;}}
  .cat-card{position:relative;border-radius:6px;overflow:hidden;aspect-ratio:3/4;background:var(--ink);}
  .cat-card img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.8,.2,1);}
  .cat-card:hover img{transform:scale(1.06);}
  .cat-card::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,16,12,0) 40%,rgba(20,16,12,0.78) 100%);}
  .cat-label{position:absolute;left:28px;bottom:26px;right:28px;z-index:2;color:var(--cream);}
  .cat-label .n{font-size:11px;letter-spacing:2px;color:var(--gold-soft);text-transform:uppercase;margin-bottom:8px;}
  .cat-label h3{font-family:'Fraunces',serif;font-size:30px;font-weight:500;}
  .cat-label .count{font-size:13px;color:rgba(247,242,233,0.7);margin-top:6px;}

  /* SELECTED WORK MASONRY */
  .work{padding:20px 0 130px;}
  .work-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:48px;gap:24px;flex-wrap:wrap;}
  .work-head h2{font-family:'Fraunces',serif;font-size:clamp(30px,3.6vw,46px);font-weight:500;}
  .work-head a{font-size:12.5px;letter-spacing:1.5px;text-transform:uppercase;border-bottom:1px solid var(--ink);padding-bottom:4px;font-weight:600;white-space:nowrap;}
  .masonry{columns:3 240px;column-gap:24px;}
  @media(max-width:700px){.masonry{columns:2 160px;}}
  .masonry figure{margin:0 0 24px;break-inside:avoid;border-radius:5px;overflow:hidden;position:relative;cursor:zoom-in;}
  .masonry figure.video-tile .play-badge{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:56px;height:56px;border-radius:50%;background:rgba(20,16,12,0.55);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;transition:.25s;}
  .masonry figure.video-tile:hover .play-badge{background:var(--gold);}
  .masonry figure.video-tile .play-badge svg{width:20px;height:20px;fill:#fff;margin-left:3px;}
  .masonry figure img{transition:transform 1.1s cubic-bezier(.2,.8,.2,1);}
  .masonry figure:hover img{transform:scale(1.045);}
  .masonry figcaption{position:absolute;left:16px;bottom:14px;color:#fff;font-size:12px;letter-spacing:1px;text-transform:uppercase;opacity:0;transition:opacity .3s;display:flex;align-items:center;gap:8px;}
  .masonry figcaption .expand{width:22px;height:22px;border:1px solid rgba(255,255,255,.8);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0;}
  .masonry figure::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.6) 100%);opacity:0;transition:opacity .3s;}
  .masonry figure:hover::after,.masonry figure:hover figcaption{opacity:1;}
  .masonry img{width:100%;display:block;}

  /* LIGHTBOX */
  .lightbox{position:fixed;inset:0;z-index:999;background:rgba(12,9,7,0.96);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .35s ease;}
  .lightbox.active{opacity:1;pointer-events:auto;}
  .lightbox-stage{position:relative;max-width:90vw;max-height:86vh;}
  .lightbox-stage img{max-width:90vw;max-height:86vh;width:auto;height:auto;object-fit:contain;display:block;border-radius:3px;box-shadow:0 30px 80px rgba(0,0,0,.5);transform:scale(.97);transition:transform .35s ease;}
  .lightbox.active .lightbox-stage img{transform:scale(1);}
  .lightbox-stage .video-wrap{width:min(90vw,1100px);aspect-ratio:16/9;border-radius:3px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.5);transform:scale(.97);transition:transform .35s ease;background:#000;}
  .lightbox.active .lightbox-stage .video-wrap{transform:scale(1);}
  .lightbox-stage .video-wrap iframe{width:100%;height:100%;border:0;display:block;}
  .lightbox-cap{margin-top:16px;text-align:center;color:var(--cream);font-size:12.5px;letter-spacing:1.5px;text-transform:uppercase;opacity:.8;}
  .lightbox-close{position:absolute;top:28px;right:36px;width:44px;height:44px;border:1px solid rgba(247,242,233,0.4);border-radius:50%;color:var(--cream);display:flex;align-items:center;justify-content:center;font-size:20px;cursor:pointer;background:transparent;}
  .lightbox-close:hover{background:rgba(247,242,233,0.1);}
  .lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border:1px solid rgba(247,242,233,0.4);border-radius:50%;color:var(--cream);display:flex;align-items:center;justify-content:center;font-size:22px;cursor:pointer;background:transparent;}
  .lightbox-nav:hover{background:rgba(247,242,233,0.1);}
  .lightbox-prev{left:24px;}
  .lightbox-next{right:24px;}
  @media(max-width:800px){.lightbox-nav{width:40px;height:40px;font-size:18px;}.lightbox-prev{left:8px;}.lightbox-next{right:8px;}.lightbox-close{top:16px;right:16px;}}

  /* TEAM STRIP */
  .team{padding:20px 0 130px;}
  .team-head{margin-bottom:44px;}
  .team-head .eyebrow{font-size:12px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:14px;font-weight:600;}
  .team-head h2{font-family:'Fraunces',serif;font-size:clamp(28px,3.4vw,40px);font-weight:500;max-width:640px;}
  .team-row{display:grid;grid-template-columns:repeat(5,1fr);gap:22px;}
  @media(max-width:800px){.team-row{grid-template-columns:repeat(2,1fr);}}
  .team-card{text-align:left;}
  .team-card .ph{aspect-ratio:1/1;border-radius:6px;overflow:hidden;margin-bottom:14px;background:var(--ink);}
  .team-card .ph img{width:100%;height:100%;object-fit:cover;filter:grayscale(15%);}
  .team-card .name{font-family:'Fraunces',serif;font-size:16px;font-weight:500;}
  .team-card .role{font-size:12px;color:var(--ink-soft);margin-top:3px;}

  /* CTA */
  .cta{background:var(--ink);color:var(--cream);padding:130px 0;text-align:center;}
  .cta .eyebrow{font-size:12px;letter-spacing:3px;text-transform:uppercase;color:var(--gold-soft);margin-bottom:22px;}
  .cta h2{font-family:'Fraunces',serif;font-size:clamp(34px,5.5vw,64px);font-weight:500;max-width:820px;margin:0 auto 36px;line-height:1.15;}
  .cta h2 em{font-family:'Fraunces',serif;font-style:normal;color:var(--gold);font-weight:500;}
  .cta-btn{display:inline-block;background:var(--gold);color:var(--ink);padding:18px 40px;border-radius:999px;font-size:13px;letter-spacing:1.5px;text-transform:uppercase;font-weight:700;}

  footer{padding:56px 0;border-top:1px solid rgba(247,242,233,0.12);background:var(--ink);color:rgba(247,242,233,0.55);}
  .foot-row{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;font-size:12.5px;letter-spacing:0.5px;}
  .concept-badge{position:fixed;bottom:20px;right:20px;background:var(--ink);color:var(--cream);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;padding:10px 16px;border-radius:999px;z-index:200;opacity:0.85;font-family:'Inter',sans-serif;}

.intro-photo img{width:100%;border-radius:6px;box-shadow:0 24px 60px rgba(28,23,18,0.22);}
.intro-photo-cap{margin-top:14px;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink-soft);}

.intro-head{margin-bottom:28px;}

/* HERO TEXT + MOSAIC (v5, justified, gap-free) */
.hero-text{padding:150px 0 50px;}
.hero-text .kicker{color:var(--gold);}
.hero-text h1{font-family:'Fraunces',serif;font-weight:500;font-size:clamp(38px,6.4vw,84px);line-height:1.05;letter-spacing:-0.5px;max-width:920px;color:var(--ink);}
.hero-text h1 em{font-family:'Fraunces',serif;font-style:normal;color:var(--gold-soft);font-weight:500;}
.hero-text p.sub{margin-top:24px;max-width:560px;font-size:17px;line-height:1.6;color:var(--ink-soft);}
.hero-mosaic{padding:0 0 10px;}
.mosaic-grid{display:flex;flex-direction:column;gap:6px;padding:0 6px;}
.mrow{display:flex;gap:6px;width:100%;}
.mitem{flex-shrink:1;flex-basis:0;overflow:hidden;border-radius:3px;position:relative;min-width:0;}
.mitem img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.1s cubic-bezier(.2,.8,.2,1);}
.mitem:hover img{transform:scale(1.05);}
@media(max-width:800px){
  .mrow{flex-wrap:wrap;}
  .mrow{height:auto !important;}
  .mitem{flex-basis:calc(50% - 3px) !important;flex-grow:0 !important;height:140px;}
}
/* Benton photo smaller */
.intro-grid{grid-template-columns:1.3fr 0.7fr !important;}
.intro-photo{max-width:340px;}
.intro-photo img{width:100%;}
/* 4-up category grid */
.cat-grid{grid-template-columns:repeat(4,1fr) !important;}
@media(max-width:1100px){.cat-grid{grid-template-columns:repeat(2,1fr) !important;}}
@media(max-width:900px){.cat-grid{grid-template-columns:1fr !important;}}

.team-head{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:16px;}
.crew-link{font-size:12.5px;letter-spacing:1.5px;text-transform:uppercase;border-bottom:1px solid var(--ink);padding-bottom:4px;font-weight:600;white-space:nowrap;}
