*,*::before,*::after{box-sizing:border-box}
html,body{max-width:100%;overflow-x:hidden}
html{scroll-behavior:smooth}
body{
  margin:0;background:#EDEEEF;color:#121415;
  font-family:Inter,system-ui,sans-serif;font-size:17px;line-height:1.65;
  -webkit-font-smoothing:antialiased;overflow-wrap:break-word;
}
img,svg,video,iframe{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{margin:0;font-family:Oswald,Impact,sans-serif;font-weight:700;text-transform:uppercase;line-height:.88;letter-spacing:-.005em}
p{margin:0}
ul{margin:0;padding:0;list-style:none}
.wrap{max-width:1280px;margin:0 auto;padding:0 22px;width:100%}
@media(min-width:900px){.wrap{padding:0 40px}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:absolute;left:-9999px;top:0;z-index:200;background:#121415;color:#F4F5F5;padding:12px 18px}
.skip:focus{left:8px;top:8px}
:focus-visible{outline:2px solid #B99A5B;outline-offset:3px}
*{min-width:0}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;text-align:center;
  font-family:Oswald,sans-serif;font-weight:600;text-transform:uppercase;
  letter-spacing:.10em;font-size:14px;text-decoration:none;
  background:#121415;color:#F4F5F5;padding:16px 26px;border:1px solid #121415;
  border-radius:0;position:relative;isolation:isolate;overflow:hidden;min-height:48px;
  box-shadow:0 10px 26px -16px rgba(18,20,21,.8);
  transition:color .35s ease,border-color .35s ease,box-shadow .35s ease;
}
.btn::after{content:"";position:absolute;inset:0;background:#B99A5B;transform:translateY(101%);transition:transform .38s cubic-bezier(.4,0,.2,1);z-index:-1}
.btn:hover::after,.btn:focus-visible::after{transform:translateY(0)}
.btn:hover{color:#121415;border-color:#B99A5B;box-shadow:0 14px 30px -14px rgba(185,154,91,.75)}
.btn-sm{padding:11px 15px;font-size:12px;min-height:44px;letter-spacing:.07em}
.btn-lg{padding:20px 40px;font-size:16px}
.text-link{
  display:inline-block;margin-top:22px;font-family:Oswald,sans-serif;font-size:13px;
  text-transform:uppercase;letter-spacing:.18em;text-decoration:none;color:#121415;
  border-bottom:2px solid #B99A5B;padding-bottom:4px;
}
.text-link:hover{color:#B99A5B}

/* ---------- header ---------- */
.hdr{position:fixed;inset:0 0 auto 0;z-index:100;transition:background .3s,box-shadow .3s;border-bottom:1px solid transparent}
.hdr.on{background:rgba(237,238,239,.86);backdrop-filter:blur(14px);border-bottom-color:#C7CBCD;box-shadow:0 10px 30px -24px rgba(18,20,21,.9)}
.hdr-in{max-width:1280px;margin:0 auto;padding:10px 16px;display:flex;align-items:center;justify-content:space-between;gap:10px}
@media(min-width:900px){.hdr-in{padding:16px 40px}}
.hdr-logo{display:block;background:#121415;padding:8px 12px;flex:0 0 auto}
.hdr-logo img{width:104px}
@media(min-width:600px){.hdr-logo img{width:150px}.hdr-logo{padding:9px 14px}}
.hdr-right{display:flex;align-items:center;gap:16px}
.status{display:none;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#4E5254;align-items:center;gap:8px;font-weight:500}
.status i{width:7px;height:7px;background:#B99A5B;border-radius:50%;display:block}
@media(min-width:1040px){.status{display:flex}}

/* ---------- hero ---------- */
.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;padding:112px 0 84px}
.hero-bg{position:absolute;inset:0;z-index:0}
.hero-bg img{width:100%;height:100%;object-fit:cover;filter:contrast(1.14) saturate(0) brightness(1.02)}
.hero-bg::after{content:"";position:absolute;inset:0;background:
  radial-gradient(90% 70% at 8% 92%,rgba(247,248,248,.86),rgba(237,238,239,.42) 55%,rgba(199,203,205,.05) 78%),
  linear-gradient(180deg,rgba(237,238,239,.35),rgba(199,203,205,.08) 40%,rgba(237,238,239,.62))}
.sheen{position:absolute;top:0;left:-45%;width:45%;height:100%;z-index:1;pointer-events:none;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.8),transparent);
  animation:sweep 4.4s cubic-bezier(.4,0,.2,1) .35s 1 both}
@keyframes sweep{to{left:125%}}
.hero-rail{
  display:none;position:absolute;left:14px;bottom:96px;z-index:2;
  writing-mode:vertical-rl;transform:rotate(180deg);
  font-family:Oswald,sans-serif;font-size:11px;letter-spacing:.34em;text-transform:uppercase;color:#4E5254;
}
@media(min-width:1100px){.hero-rail{display:block}}
.hero-in{position:relative;z-index:2;max-width:1280px;margin:0 auto;padding:0 22px;width:100%}
@media(min-width:900px){.hero-in{padding:0 40px}}
.hero-kick{font-family:Oswald,sans-serif;text-transform:uppercase;letter-spacing:.28em;font-size:11px;font-weight:500;color:#4E5254;margin-bottom:min(6vh,32px)}
.hero-h1{font-size:clamp(3.6rem,18.5vw,14rem);letter-spacing:-.022em;line-height:.8;color:#121415;margin-left:-.04em}
.hero-h1 .line{display:block;overflow:hidden}
.hero-h1 .line>span{display:block}
.hero-h1 .line:nth-child(2){margin-left:.08em;color:#5A5F62;text-shadow:0 1px 0 rgba(255,255,255,.5)}
.hero-foot{display:flex;flex-wrap:wrap;align-items:flex-end;gap:26px 48px;margin-top:clamp(26px,5vh,52px);border-top:1px solid rgba(18,20,21,.3);padding-top:26px}
.hero-sub{max-width:44ch;font-size:clamp(1rem,1.35vw,1.19rem);color:#121415;flex:1 1 300px;font-weight:500}
.hero-cta{flex:0 0 auto}
.scroll-cue{position:absolute;right:26px;bottom:28px;z-index:3;text-decoration:none;display:flex;align-items:center;gap:10px;font-family:Oswald,sans-serif;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:#4E5254}
.scroll-cue i{width:1px;height:34px;background:#4E5254;display:block;animation:cue 1.9s ease-in-out infinite}
@keyframes cue{0%,100%{transform:scaleY(.45);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}}
@media(max-width:820px){.scroll-cue{display:none}}

/* ---------- marquee ---------- */
.marquee{background:#121415;color:#F4F5F5;overflow:hidden;padding:15px 0;border-top:2px solid #B99A5B;position:relative}
.mq-track{display:flex;width:max-content;animation:mq 32s linear infinite}
.marquee:hover .mq-track{animation-play-state:paused}
.mq-set{font-family:Oswald,sans-serif;font-weight:600;text-transform:uppercase;font-size:clamp(1.05rem,2.9vw,1.9rem);letter-spacing:.05em;white-space:nowrap;padding-right:.4em}
.mq-set b{color:#B99A5B;font-weight:400}
@keyframes mq{to{transform:translateX(-50%)}}

/* ---------- bands ---------- */
.band-light{background:#EDEEEF}
.band-pearl{background:#F7F8F8;border-top:1px solid #C7CBCD;border-bottom:1px solid #C7CBCD}
.band-ink{background:#121415;color:#F4F5F5;position:relative;overflow:hidden}
.band-ink::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.05;
  background-image:radial-gradient(#F4F5F5 1px,transparent 1px);background-size:3px 3px}
.band-ink .wrap{position:relative;z-index:1}
section{padding:clamp(74px,11vh,170px) 0}
.hero{padding-top:112px}

/* ---------- statement ---------- */
.statement{position:relative}
.stmt-grid{display:grid;gap:40px}
@media(min-width:960px){.stmt-grid{grid-template-columns:1.4fr .6fr;gap:64px;align-items:end}}
.stmt-h{font-size:clamp(2.5rem,7.2vw,6rem);line-height:.9}
.stmt-h .hi{color:#6B7073}
.stmt-side{position:relative;max-width:62ch}
.stmt-foil{position:relative;margin-bottom:26px;overflow:hidden;border:1px solid #C7CBCD;box-shadow:0 24px 48px -34px rgba(18,20,21,.85)}
.stmt-foil img{width:100%;height:150px;object-fit:cover;filter:grayscale(1) contrast(1.2)}
@media(min-width:960px){
  .stmt-foil{margin-left:-80px;margin-bottom:34px}
  .stmt-foil img{height:210px}
}
.stmt-side .rule{display:block;width:64px;height:2px;background:#B99A5B;margin-bottom:18px}
.stmt-side p{color:#121415;font-size:1.05rem}

/* ---------- what we make ---------- */
.sec-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:12px;border-bottom:1px solid #C7CBCD;padding-bottom:16px;margin-bottom:clamp(32px,5vw,64px)}
.sec-h{font-size:clamp(1.6rem,3.4vw,2.6rem);letter-spacing:.02em}
.sec-count{font-family:Oswald,sans-serif;text-transform:uppercase;letter-spacing:.22em;font-size:12px;color:#6B7073}
.cards{display:grid;gap:1px;background:#C7CBCD;border:1px solid #C7CBCD;box-shadow:0 40px 70px -60px rgba(18,20,21,.9)}
@media(min-width:760px){.cards{grid-template-columns:1.18fr .82fr}}
.card{background:#F7F8F8;padding:clamp(26px,3.2vw,46px);position:relative;transition:background .3s}
.card::after{content:"";position:absolute;left:0;bottom:0;height:3px;width:0;background:#B99A5B;transition:width .45s cubic-bezier(.4,0,.2,1)}
.card:hover{background:#EDEEEF}
.card:hover::after{width:100%}
@media(min-width:760px){
  .card:nth-child(2){padding-top:clamp(48px,6vw,92px)}
  .card:nth-child(3){padding-bottom:clamp(48px,6vw,92px)}
  .card:nth-child(4){padding-top:clamp(40px,4vw,68px)}
}
.card .num{font-family:Oswald,sans-serif;font-weight:600;font-size:clamp(2.2rem,4.6vw,3.8rem);color:#B99A5B;display:block;line-height:1;margin-bottom:14px}
.card h3{font-size:clamp(1.45rem,2.9vw,2.15rem);margin-bottom:10px}
.card p{color:#5A5F62;max-width:34ch}

/* ---------- credentials ---------- */
.creds-grid{display:grid;gap:34px}
@media(min-width:960px){.creds-grid{grid-template-columns:1fr 1fr;gap:70px;align-items:start}}
.creds-h{font-size:clamp(2.2rem,6vw,4.8rem);color:#F4F5F5}
.creds-h .hi{color:#B99A5B}
.creds-body{display:grid;gap:20px;max-width:62ch}
.creds-body p{color:#C7CBCD;font-size:1.05rem}
.markers{margin-top:clamp(46px,7vw,96px);display:grid;gap:1px;background:rgba(244,245,245,.2);border-top:1px solid rgba(244,245,245,.2);border-bottom:1px solid rgba(244,245,245,.2)}
@media(min-width:760px){.markers{grid-template-columns:repeat(3,1fr)}}
.markers li{background:#121415;padding:26px 0;transition:background .3s}
.markers li:hover{background:#1B1E20}
.mk-i{display:block;font-family:Oswald,sans-serif;font-size:12px;letter-spacing:.24em;color:#B99A5B;margin-bottom:8px}
.mk-t{display:block;font-family:Oswald,sans-serif;font-weight:600;text-transform:uppercase;font-size:clamp(1.35rem,2.8vw,2.1rem);line-height:1.03;color:#F4F5F5}
@media(min-width:760px){.markers li{padding:30px 24px}.markers li:first-child{padding-left:0}}

/* ---------- closing ---------- */
.close{position:relative;overflow:hidden;text-align:center;padding:clamp(90px,15vh,190px) 0}
.close-bg{position:absolute;inset:0;z-index:0}
.close-bg img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.16)}
.close-bg::after{content:"";position:absolute;inset:0;background:
  radial-gradient(70% 60% at 50% 50%,rgba(247,248,248,.9),rgba(237,238,239,.55) 60%,rgba(199,203,205,.25))}
.close-in{position:relative;z-index:1}
.close-h .small{display:block;font-size:clamp(1.05rem,2.4vw,1.9rem);line-height:1.14;color:#5A5F62;max-width:26ch;margin:0 auto 16px}
.close-h .big{display:block;font-size:clamp(2.4rem,9.5vw,7.5rem);line-height:.86;letter-spacing:-.02em;color:#121415}
.close-actions{margin-top:clamp(32px,5vw,52px);display:flex;flex-direction:column;align-items:center;gap:18px}
.email-link{font-family:Oswald,sans-serif;text-transform:uppercase;letter-spacing:.16em;font-size:14px;color:#121415;text-decoration:none;border-bottom:1px solid #B99A5B;padding-bottom:3px}
.email-link:hover{color:#B99A5B}

/* ---------- footer ---------- */
.ftr{background:#121415;color:#C7CBCD;padding:48px 0}
.ftr-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px}
.ftr-logo img{width:118px}
.ftr-mail{font-family:Oswald,sans-serif;letter-spacing:.12em;text-transform:uppercase;font-size:13px;color:#F4F5F5;text-decoration:none;border-bottom:1px solid rgba(185,154,91,.6);padding-bottom:2px}
.ftr-mail:hover{color:#B99A5B}
.ftr-c{font-size:13px;color:#8A8F92;letter-spacing:.04em}

/* ---------- reveals (only when JS is running) ---------- */
.js .reveal{opacity:0;transform:translateY(24px);transition:opacity .8s cubic-bezier(.2,.7,.3,1),transform .8s cubic-bezier(.2,.7,.3,1)}
.js .reveal.in{opacity:1;transform:none}
.js .d1{transition-delay:.09s}
.js .d2{transition-delay:.18s}
.js .d3{transition-delay:.27s}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .mq-track{animation:none}
  .sheen{display:none}
  .scroll-cue i{animation:none}
  .js .reveal{opacity:1;transform:none;transition:none}
}