:root{
  --agency-max:1480px;
  --agency-gutter:clamp(22px,4vw,72px);
  --hairline:rgba(29,29,27,.14);
  --hairline-light:rgba(255,255,255,.13);
}

html{scroll-behavior:smooth}
body{background:var(--paper);overflow-x:hidden}
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:999;
  pointer-events:none;
  opacity:.32;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 220 220' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)' opacity='.18'/%3E%3C/svg%3E");
  mix-blend-mode:multiply;
}
.wrap{max-width:var(--agency-max);padding-inline:var(--agency-gutter)}

.nav{
  position:sticky;
  top:0;
  z-index:30;
  background:rgba(29,29,27,.9);
  backdrop-filter:blur(18px);
}
.nav-inner{height:74px;padding-inline:var(--agency-gutter);max-width:none}
.nav-logo img{height:30px}
.nav-links{gap:0}
.nav-links a{height:74px;padding-inline:clamp(10px,1.35vw,20px);letter-spacing:.2em;color:rgba(255,255,255,.62)}
.nav-links a::after{left:clamp(10px,1.35vw,20px);right:clamp(10px,1.35vw,20px);bottom:22px}
.nav-meta{display:none}
.nav-cta{
  padding:13px 18px;
  background:transparent;
  border:1px solid var(--orange);
  color:#fff;
}
.nav-cta:hover{background:var(--orange)}

.btn,.view-all{
  border-radius:0;
  box-shadow:none;
  transition:background .25s ease,color .25s ease,border-color .25s ease,transform .25s ease;
}
.btn:hover,.view-all:hover{transform:translateY(-2px)}

.hero{
  min-height:min(780px,88svh);
  background:#0f0f0e;
  isolation:isolate;
}
.hero::before{display:none}
.hero-grid{
  min-height:min(780px,88svh);
  display:grid;
  grid-template-columns:minmax(0,1fr);
}
.hero-cinema{
  position:absolute;
  inset:0;
  min-height:100%;
  border:0;
  background:#0f0f0e;
  overflow:hidden;
}
.hero-cinema::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  background:
    linear-gradient(90deg,rgba(15,15,14,.86) 0%,rgba(15,15,14,.58) 31%,rgba(15,15,14,.16) 58%,rgba(15,15,14,.34) 100%),
    linear-gradient(180deg,rgba(15,15,14,.18) 0%,rgba(15,15,14,.04) 45%,rgba(15,15,14,.66) 100%);
}
.hero-cinema::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
  background:
    linear-gradient(90deg,transparent 0 calc(var(--agency-gutter) - 1px),rgba(255,255,255,.14) calc(var(--agency-gutter) - 1px),rgba(255,255,255,.14) var(--agency-gutter),transparent var(--agency-gutter)),
    linear-gradient(0deg,transparent 0 calc(var(--agency-gutter) - 1px),rgba(255,255,255,.08) calc(var(--agency-gutter) - 1px),rgba(255,255,255,.08) var(--agency-gutter),transparent var(--agency-gutter));
  opacity:.55;
}
.hero-film,
.hero-film-fallback{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.hero-film{
  object-position:46% center;
  filter:saturate(.98) contrast(1.04) brightness(.98);
  animation:filmBreath 12s ease-in-out infinite alternate;
}
.hero-film-fallback{
  background:url("img/hero-rum.jpg") center/cover no-repeat;
  z-index:-1;
}
.hero-left{
  z-index:4;
  width:min(760px,100%);
  padding:clamp(42px,5vw,72px) var(--agency-gutter) clamp(34px,4vw,58px);
  justify-content:end;
}
.hero-left::before{
  left:var(--agency-gutter);
  top:clamp(92px,14vw,170px);
  bottom:clamp(50px,8vw,110px);
  background:linear-gradient(180deg,var(--orange),rgba(233,81,14,0));
}
.hero-left>*{padding-left:clamp(24px,3vw,48px)}
.hero-trust{
  position:absolute;
  left:var(--agency-gutter);
  bottom:18px;
  order:10;
  margin:0;
  padding:14px 0 0;
  border:0;
  border-top:1px solid var(--hairline-light);
  background:transparent;
  color:rgba(255,255,255,.64);
  max-width:360px;
}
.hero h1{
  max-width:720px;
  margin:14px 0 16px;
  font-size:clamp(56px,7vw,108px);
  line-height:.86;
  letter-spacing:-.055em;
}
.hero h1 .accent{color:var(--gold);font-weight:400}
.hero-sub{
  max-width:620px;
  font-size:clamp(20px,2vw,30px);
  line-height:1.08;
  color:rgba(255,255,255,.78);
  margin-bottom:20px;
}
.hero-body{
  max-width:540px;
  margin-bottom:28px;
  font-size:clamp(14px,1vw,16px);
  line-height:1.65;
  color:rgba(255,255,255,.7);
}
.hero-actions{margin-bottom:22px}
.hero-stamps{
  position:absolute;
  left:calc(100vw - var(--agency-gutter) - min(250px,24vw));
  right:auto;
  bottom:clamp(34px,5vw,74px);
  z-index:4;
  display:grid;
  grid-template-columns:1fr;
  gap:16px;
  width:min(250px,24vw);
  padding:0;
  border:0;
}
.hero-stamp{
  border-top:1px solid var(--hairline-light);
  padding-top:16px;
}
.hero-stamp .v{font-size:clamp(26px,2.6vw,42px)}
.hero-film-caption{
  position:absolute;
  right:var(--agency-gutter);
  top:clamp(96px,11vw,148px);
  z-index:4;
  width:min(270px,24vw);
  color:#fff;
  border-top:1px solid var(--gold);
  padding-top:14px;
}
.hero-film-caption span{
  display:block;
  margin-bottom:10px;
  color:var(--gold);
  font-size:10px;
  font-weight:700;
  letter-spacing:.28em;
  text-transform:uppercase;
}
.hero-film-caption strong{
  font-family:var(--serif);
  font-size:clamp(20px,2vw,30px);
  line-height:1.06;
  font-weight:600;
}

.ticker{padding:18px 0;background:var(--ink);border-block:1px solid var(--hairline-light)}
.ticker span{color:rgba(255,255,255,.8)}
.ticker .sep{border-radius:0;background:var(--orange);transform:rotate(45deg)}

.stats{background:var(--paper);border-bottom:0}
.stats-grid{
  max-width:var(--agency-max);
  padding:0 var(--agency-gutter);
  grid-template-columns:1.25fr .85fr 1.05fr .85fr;
}
.stat{
  text-align:left;
  padding:clamp(50px,7vw,96px) clamp(18px,3vw,46px);
  border-left:1px solid var(--hairline);
}
.stat:last-child{border-right:1px solid var(--hairline)}
.stat+.stat::before{display:none}
.stat:nth-child(even){transform:translateY(34px)}
.stat-num{font-size:clamp(58px,7vw,116px);letter-spacing:-.055em}
.stat-label{max-width:210px;line-height:1.3}

.sec-head{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(220px,.55fr);
  gap:clamp(30px,7vw,116px);
  align-items:start;
  margin-bottom:clamp(42px,6vw,82px);
}
.sec-head h2{
  font-size:clamp(44px,7vw,104px);
  line-height:.9;
  letter-spacing:-.045em;
  margin-top:16px;
}
.sec-head .sub{
  max-width:410px;
  font-size:clamp(19px,1.7vw,27px);
  line-height:1.2;
}

.portfolio{
  padding:clamp(92px,11vw,150px) 0;
  background:#11110f;
}
.portfolio::before{display:none}
.cat-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  grid-auto-rows:minmax(330px,34vw);
  gap:0;
  background:#0f0f0e;
  border:1px solid var(--hairline-light);
}
.cat{
  min-height:0;
  border:0;
  padding:clamp(22px,2.8vw,42px);
  transition:transform .55s cubic-bezier(.2,.8,.2,1),filter .55s ease;
}
.cat:nth-child(n){grid-column:span 1}
.cat::before{background:linear-gradient(180deg,rgba(15,15,14,.08),rgba(15,15,14,.48) 46%,rgba(15,15,14,.94))}
.cat:hover{transform:none;filter:saturate(1.08)}
.cat:hover::after{opacity:.55}
.cat-arrow{
  border:0;
  width:auto;
  height:auto;
  font-size:24px;
}
.cat:hover .cat-arrow{background:transparent;color:var(--gold);transform:translateX(8px)}
.cat-name{
  font-size:clamp(30px,4vw,64px);
  letter-spacing:-.04em;
}
.cat-brands{max-width:270px}
.cat-rule{height:1px;background:var(--gold)}

.gold-callout{background:var(--paper);border-block:1px solid var(--hairline)}
.gold-callout-inner{
  max-width:var(--agency-max);
  padding:clamp(46px,6vw,82px) var(--agency-gutter);
  grid-template-columns:.22fr 1fr .25fr;
}
.gold-callout-label{
  color:var(--orange);
  border-color:var(--hairline);
}
.gold-callout-text{
  max-width:980px;
  font-size:clamp(26px,4vw,58px);
  line-height:1.03;
  letter-spacing:-.035em;
}

.feature{
  grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);
  min-height:0;
  background:var(--ink);
}
.feature-l{padding:clamp(78px,9vw,128px) var(--agency-gutter)}
.feature-l h2{
  font-size:clamp(48px,7vw,100px);
  line-height:.9;
  letter-spacing:-.045em;
}
.feature-body{font-size:16px;max-width:540px}
.regions{
  max-width:700px;
  grid-template-columns:repeat(3,1fr);
  background:transparent;
  border:1px solid var(--hairline-light);
}
.region{background:transparent}
.region::before{border-radius:0;box-shadow:none;transform:rotate(45deg)}
.feature-r{
  justify-content:flex-start;
  padding:clamp(68px,8vw,118px) var(--agency-gutter);
  background:#151512;
}
.feature-r::before{width:1px;height:auto;right:auto;bottom:0}
.checklist{max-width:520px}
.cl-h2{font-size:clamp(30px,3vw,46px)}
.cl-tick{border-color:var(--gold);color:var(--gold);border-radius:0}

.news{
  padding:clamp(86px,10vw,142px) 0;
  background:var(--paper);
}
.news-grid{
  grid-template-columns:1.35fr .85fr .85fr;
  gap:0;
  border-block:1px solid var(--hairline);
}
.news-card{
  border:0;
  border-right:1px solid var(--hairline);
  background:transparent;
  box-shadow:none;
}
.news-card:last-child{border-right:0}
.news-card:hover{
  transform:none;
  box-shadow:none;
  background:var(--paper-2);
}
.news-card:first-child{display:grid;grid-template-columns:.9fr 1fr}
.news-card:first-child .news-img{height:auto;min-height:420px}
.news-img{
  height:230px;
  background-size:cover;
  background-position:center;
}
.news-img.a{background-image:url("img/cat-rum.jpg")}
.news-img.b{background-image:url("img/hero-tequila.jpg")}
.news-img.c{background-image:url("img/cat-gin.jpg")}
.news-img::after{background:linear-gradient(180deg,rgba(15,15,14,.02),rgba(15,15,14,.78))}
.news-body{padding:clamp(28px,3.6vw,54px)}
.news-card:first-child .news-title{font-size:clamp(32px,4vw,56px)}
.news-title{font-size:clamp(24px,2vw,32px)}

.insta{
  padding:clamp(86px,10vw,140px) 0;
  background:#11110f;
}
.insta::before{display:none}
.insta-head{
  max-width:var(--agency-max);
  padding-inline:var(--agency-gutter);
}
.insta-track{gap:0;padding-inline:var(--agency-gutter)}
.ig-tile{
  flex-basis:clamp(220px,23vw,360px);
  height:clamp(280px,31vw,470px);
  border:0;
  border-right:1px solid var(--hairline-light);
}
.ig-tile:hover{transform:none}
.ig-caption{font-size:clamp(17px,1.45vw,24px)}
.ig-tile::after{border-radius:0;background:none;border-color:rgba(255,255,255,.7)}

.sustain{background:var(--paper);border-block:1px solid var(--hairline)}
.sustain::before{display:none}
.sustain-inner{
  max-width:var(--agency-max);
  padding:clamp(64px,7vw,104px) var(--agency-gutter);
  grid-template-columns:auto 1fr auto;
}
.sustain-mark{border-color:var(--orange)}
.sustain-mark::before,.sustain-mark::after{background:var(--orange)}
.sustain h3{color:var(--ink);font-size:clamp(30px,3.4vw,54px)}
.sustain p{color:rgba(29,29,27,.66);font-size:16px}

.cta{
  background:var(--orange);
  min-height:52vh;
  display:grid;
  align-items:center;
}
.cta::before{
  background:linear-gradient(115deg,rgba(29,29,27,.2),transparent 36%,rgba(255,255,255,.08));
}
.cta-inner{
  max-width:var(--agency-max);
  padding:clamp(76px,9vw,132px) var(--agency-gutter);
}
.cta h2{
  font-size:clamp(54px,9vw,136px);
  line-height:.86;
  letter-spacing:-.055em;
}

.footer{
  padding:clamp(60px,7vw,96px) var(--agency-gutter) 36px;
}
.footer-inner{max-width:var(--agency-max)}
.footer-grid{
  grid-template-columns:1.6fr repeat(4,1fr);
  gap:clamp(30px,5vw,80px);
}

@keyframes filmBreath{
  from{transform:scale(1)}
  to{transform:scale(1.045)}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}
}

@media (max-width:1100px){
  .hero-stamps,.hero-film-caption{position:relative;right:auto;top:auto;bottom:auto;width:auto;margin-left:clamp(24px,3vw,48px)}
  .hero-stamps{left:auto}
  .hero-stamps{margin-top:28px}
  .hero-film-caption{display:none}
  .stats-grid{grid-template-columns:1fr 1fr}
  .stat:nth-child(even){transform:none}
  .sec-head,.feature,.cta-inner,.sustain-inner{grid-template-columns:1fr}
  .cat-grid{grid-template-columns:repeat(2,1fr)}
  .cat:nth-child(n){grid-column:span 1}
  .news-grid,.news-card:first-child{grid-template-columns:1fr}
  .news-card{border-right:0;border-bottom:1px solid var(--hairline)}
  .news-card:first-child .news-img{min-height:300px}
  .regions{grid-template-columns:1fr 1fr}
}

@media (max-width:680px){
  .nav-inner{height:68px}
  .nav-cta{display:none}
  .hero,.hero-grid{min-height:calc(100dvh - 88px)}
  .hero-film{object-position:46% center}
  .hero-left{
    padding:78px 22px 16px;
    justify-content:center;
  }
  .hero-trust{
    display:none;
  }
  .hero-stamps{display:none}
  .hero-left::before{left:22px}
  .hero h1{font-size:clamp(52px,15vw,70px)}
  .hero-sub{font-size:24px}
  .hero-body{font-size:15px}
  .hero-actions{gap:10px}
  .hero-actions .btn{width:100%;justify-content:center;white-space:normal;text-align:center}
  .stats-grid{grid-template-columns:1fr;padding-inline:22px}
  .stat{padding:42px 0;border-left:0;border-bottom:1px solid var(--hairline)}
  .stat:last-child{border-right:0}
  .sec-head{display:block}
  .portfolio,.news,.insta{padding-block:72px}
  .cat-grid{display:block;border-top:1px solid var(--hairline-light)}
  .cat{min-height:320px;border-right:0}
  .gold-callout-inner{display:block}
  .gold-callout-label{writing-mode:horizontal-tb;transform:none;margin-bottom:24px}
  .feature-l,.feature-r{padding:64px 22px}
  .regions{grid-template-columns:1fr}
  .cta-inner{gap:34px}
  .cta-actions .btn{min-width:0;width:100%}
  .footer{padding-inline:22px}
  .footer-grid{grid-template-columns:1fr 1fr}
  .footer-brand{grid-column:1/-1}
}
