/* =========================================================
   Olive Distributions FZCO — luxury edition
   Palette: obsidian #050505 · gold #C8982D · champagne #E4C875
   Type: Cinzel (display) · Cormorant (italic accent) · Poppins 300 (body)
   Signature: hairline gold rules with diamond node
   ========================================================= */
   
   
   

:root{
  --gold: #C8982D;
  --gold-light: #E4C875;
  --gold-dim: rgba(200,152,45,.35);
  --gold-faint: rgba(200,152,45,.14);
  --black: #050505;
  --black-2: #0B0A08;
  --black-3: #121009;
  --white: #F5F1E8;
  --gray: #B7B2A6;
  --maxw: 1240px;
  --font-display: 'Cinzel', serif;
  --font-accent: 'Cormorant', serif;
  --font-body: 'Poppins', Arial, Helvetica, sans-serif;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth; width:100%;
    overflow-x:hidden;}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--gray);
  line-height:2;
  font-size:15px;
  font-weight:300;
  letter-spacing:.2px;
  background:var(--black);
  overflow-x: hidden;
  width:100%;
  max-width:100%;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{margin:0;padding:0;list-style:none;}
.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 48px;}

::selection{background:var(--gold);color:var(--black);}

h1,h2,h3{
  font-family:var(--font-display);
  font-weight:400;
  color:var(--gold);
  text-transform:uppercase;
  margin:0 0 28px;
  line-height:1.4;
}
h1{font-size:clamp(34px,4.6vw,58px);letter-spacing:.14em;}
h2{font-size:clamp(26px,3vw,40px);letter-spacing:.12em;}
h3{font-size:clamp(19px,1.8vw,24px);letter-spacing:.1em;}
h2 em, h1 em{
  font-family:var(--font-accent);
  font-style:italic;
  text-transform:none;
  color:var(--gold-light);
  letter-spacing:.02em;
  font-weight:500;
}
p{margin:0 0 22px;color:var(--gray);font-weight:300;}

/* ---------- Eyebrow + rule ornament (signature) ---------- */
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:18px;
  font-size:11px;
  font-weight:400;
  letter-spacing:.42em;
  text-transform:uppercase;
  color:var(--gold-light);
  margin-bottom:26px;
}
.eyebrow::before,.eyebrow::after{
  content:"";
  width:44px;height:1px;
  background:var(--gold-dim);
}
.eyebrow.left{margin-left:0;}
.eyebrow.left::before{display:none;}

.rule{
  position:relative;
  width:120px;height:1px;
  background:var(--gold-dim);
  margin:34px auto;
}
.rule::after{
  content:"";
  position:absolute;
  left:50%;top:50%;
  width:7px;height:7px;
  background:var(--gold);
  transform:translate(-50%,-50%) rotate(45deg);
}
.rule.left{margin-left:0;}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;
  align-items:center;
  gap:14px;
  padding:17px 44px;
  background:transparent;
  color:var(--gold-light);
  font-family:var(--font-body);
  font-weight:400;
  font-size:12px;
  letter-spacing:.34em;
  text-transform:uppercase;
  border:1px solid var(--gold-dim);
  transition:all .5s cubic-bezier(.22,.61,.36,1);
  cursor:pointer;
  position:relative;
  overflow:hidden;
}
.btn::before{
  content:"";
  position:absolute;inset:0;
  background:var(--gold);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .5s cubic-bezier(.22,.61,.36,1);
  z-index:0;
}
.btn:hover::before{transform:scaleX(1);}
.btn span, .btn::after{position:relative;z-index:1;}
.btn::after{content:"\2192";font-size:13px;transition:transform .4s ease;}
.btn:hover{color:var(--black);border-color:var(--gold);}
.btn:hover::after{transform:translateX(6px);}
.btn.solid{background:var(--gold);color:var(--black);border-color:var(--gold);}
.btn.solid::before{background:var(--black-3);}
.btn.solid:hover{color:var(--gold-light);}
.btn.on-gold{border-color:rgba(5,5,5,.45);color:var(--black);}
.btn.on-gold::before{background:var(--black);}
.btn.on-gold:hover{color:var(--gold-light);border-color:var(--black);}

/* ---------- Header ---------- */
.site-header{
  position:fixed;
  top:0;left:0;right:0;
  z-index:1000;
  background:linear-gradient(rgba(5,5,5,.92),rgba(5,5,5,.72) 70%,transparent);
  transition:background .4s ease;
}
.site-header.scrolled{
  background:rgba(5,5,5,.97);
  border-bottom:1px solid var(--gold-faint);
}
.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:22px 48px;
  max-width:1400px;
  margin:0 auto;
}
.logo img{height:52px;width:auto;}
.main-nav ul{display:flex;gap:52px;}
.main-nav a{
  font-size:11px;
  font-weight:400;
  text-transform:uppercase;
  letter-spacing:.3em;
  color:var(--white);
  padding:10px 0;
  position:relative;
  transition:color .3s ease;
}
.main-nav a::after{
  content:"";
  position:absolute;
  left:50%;bottom:2px;
  width:0;height:1px;
  background:var(--gold);
  transition:all .4s ease;
  transform:translateX(-50%);
}
.main-nav a:hover{color:var(--gold-light);}
.main-nav a:hover::after,
.main-nav a.active::after{width:100%;}
.main-nav a.active{color:var(--gold-light);}

.nav-toggle{
  display:none;
  flex-direction:column;
  gap:6px;
  background:none;
  border:none;
  cursor:pointer;
  padding:8px;
}
.nav-toggle span{width:28px;height:1px;background:var(--gold);transition:all .3s ease;}

/* ---------- Hero ---------- */
.hero{
  position:relative;
  background:var(--black) url('../images/hero-burj.jpg') center/cover no-repeat;
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  overflow:hidden;
}
.hero::before{
  content:"";
  position:absolute;inset:0;
  background:
    linear-gradient(180deg, rgba(5,5,5,.55) 0%, rgba(5,5,5,.38) 45%, rgba(5,5,5,.88) 100%);
  z-index:1;
}
.hero .container{position:relative;z-index:2;}
.hero-text{max-width:760px;margin:0 auto;}
.hero-text h1{margin-bottom:16px;}
.hero-text p{
  font-size:15px;
  max-width:520px;
  margin:0 auto 42px;
  color:#D8D3C8;
}
.hero .rule{margin:26px auto 30px;}

.scroll-cue{
  position:absolute;
  left:50%;bottom:38px;
  transform:translateX(-50%);
  z-index:2;
  width:1px;height:64px;
  background:var(--gold-dim);
  overflow:hidden;
}
.scroll-cue::after{
  content:"";
  position:absolute;
  left:0;top:-40%;
  width:100%;height:40%;
  background:var(--gold);
  animation:cue 2.2s ease-in-out infinite;
}
@keyframes cue{
  0%{top:-40%;}
  60%,100%{top:110%;}
}

/* ---------- Sections ---------- */
section{padding:130px 0;position:relative;}
.section-head{max-width:680px;margin:0 auto 70px;text-align:center;}
.section-head p{font-size:15px;}

/* Reveal on scroll */
.reveal{
  opacity:0;
  transform:translateY(36px);
  transition:opacity 1s ease, transform 1s cubic-bezier(.22,.61,.36,1);
}
.reveal.in{opacity:1;transform:none;}
@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1;transform:none;transition:none;}
  .scroll-cue::after{animation:none;}
  html{scroll-behavior:auto;}
}

/* ---------- Duo (Prestige / FMCG) ---------- */
.duo{
  display:grid;
  grid-template-columns:1fr 1fr;
}
.duo-card{
  position:relative;
  padding:110px 72px;
  text-align:center;
  background:var(--black-2);
  border-top:1px solid var(--gold-faint);
  border-bottom:1px solid var(--gold-faint);
}
.duo-card + .duo-card{border-left:1px solid var(--gold-faint);}
.duo-card.gold{background:var(--gold);}
.duo-card.gold h3{color:var(--black);}
.duo-card.gold .duo-label{color:rgba(5,5,5,.6);}
.duo-card.gold p{color:rgba(5,5,5,.78);}
.duo-label{
  font-size:10px;
  letter-spacing:.42em;
  text-transform:uppercase;
  color:var(--gold-light);
  margin-bottom:20px;
}
.duo-card h3{margin-bottom:40px;}
.duo-figure{
  position:relative;
  display:inline-block;
  margin-bottom:44px;
  padding:16px;
}
.duo-figure::before,
.duo-figure::after{
  content:"";
  position:absolute;
  width:30px;height:30px;
  border:1px solid var(--gold);
  transition:all .5s ease;
}
.duo-card.gold .duo-figure::before,
.duo-card.gold .duo-figure::after{border-color:var(--black);}
.duo-figure::before{top:0;left:0;border-right:none;border-bottom:none;}
.duo-figure::after{bottom:0;right:0;border-left:none;border-top:none;}
.duo-card:hover .duo-figure::before{top:-8px;left:-8px;}
.duo-card:hover .duo-figure::after{bottom:-8px;right:-8px;}
.duo-figure .frame{overflow:hidden;display:block;}
.duo-figure img{
  width:300px;height:190px;object-fit:cover;
  transition:transform 1.2s cubic-bezier(.22,.61,.36,1);
  filter:saturate(.85);
}
.duo-card:hover .duo-figure img{transform:scale(1.06);}
.duo-card p{max-width:400px;margin-left:auto;margin-right:auto;margin-bottom:38px;}

/* ---------- Split ---------- */
.split{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:100px;
  align-items:center;
}
.split-text h2{margin-bottom:30px;}
.split-media{position:relative;}
.split-media .frame{
  position:relative;
  overflow:hidden;
  display:block;
}
.split-media .frame::after{
  content:"";
  position:absolute;inset:0;
  border:1px solid var(--gold-faint);
  pointer-events:none;
}
.split-media img{
  width:100%;
  transition:transform 1.4s cubic-bezier(.22,.61,.36,1);
  filter:saturate(.9);
}
.split-media .frame:hover img{transform:scale(1.05);}
.split-media.offset{
  min-height:440px;
}
.split-media.offset .frame:first-child{width:66%;}
.split-media.offset .frame:last-child{
  position:absolute;
  right:0;bottom:-52px;
  width:50%;
  border:10px solid var(--black);
}

/* ---------- Vision (faded half-section image) ---------- */
.vision{
  position:relative;
  overflow:hidden;
}
.vision .container{position:relative;z-index:2;}
.vision-media{
  position:absolute;
  top:0;right:0;bottom:0;
  width:58%;
  background:url('../images/nav-markets-2.jpg') center/cover no-repeat;
  opacity:.75;
  filter:saturate(.9);
  -webkit-mask-image:linear-gradient(to left, rgba(0,0,0,1) 40%, transparent 100%);
  mask-image:linear-gradient(to left, rgba(0,0,0,1) 40%, transparent 100%);
  z-index:1;
}
.vision-media::after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(5,5,5,.55), rgba(5,5,5,.15) 45%, rgba(5,5,5,.65));
}

/* ---------- Luxury framed media (single hero image treatment) ---------- */
.lux-frame{
  position:relative;
  display:block;
  margin:26px;
}
.lux-frame::before{
  content:"";
  position:absolute;
  top:-26px;right:-26px;bottom:26px;left:26px;
  border:1px solid var(--gold-dim);
  pointer-events:none;
  transition:all .6s cubic-bezier(.22,.61,.36,1);
}
.lux-frame::after{
  content:"";
  position:absolute;
  top:-26px;right:-26px;
  width:9px;height:9px;
  background:var(--gold);
  transform:translate(50%,-50%) rotate(45deg);
}
.lux-frame:hover::before{top:-18px;right:-18px;bottom:18px;left:18px;}
.lux-frame .inner{
  position:relative;
  overflow:hidden;
  display:block;
}
.lux-frame img{
  width:100%;
  display:block;
  filter:saturate(.7) sepia(.18) contrast(1.02);
  transition:transform 1.6s cubic-bezier(.22,.61,.36,1), filter .8s ease;
}
.lux-frame:hover img{transform:scale(1.04);filter:saturate(.9) sepia(.08);}
.lux-frame .inner::after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(5,5,5,.28), transparent 35%, transparent 70%, rgba(5,5,5,.42));
  pointer-events:none;
}
.lux-caption{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  margin-top:34px;
  font-size:10px;
  letter-spacing:.42em;
  text-transform:uppercase;
  color:var(--gold-light);
}
.lux-caption::before,
.lux-caption::after{
  content:"";
  width:44px;height:1px;
  background:var(--gold-dim);
}

/* ---------- Ornamental dark statement (no photo) ---------- */
.bleed.ornate{
  background:
    radial-gradient(ellipse 70% 55% at 50% 42%, rgba(200,152,45,.10), transparent 65%),
    repeating-linear-gradient(115deg, rgba(200,152,45,.045) 0 1px, transparent 1px 90px),
    repeating-linear-gradient(-115deg, rgba(200,152,45,.045) 0 1px, transparent 1px 90px),
    var(--black-2);
  border-top:1px solid var(--gold-faint);
  border-bottom:1px solid var(--gold-faint);
  
    overflow:hidden;

  
}
.bleed.ornate::before{display:none;}
.bleed.ornate .ornament{
  position:absolute;
  top:50%;left:50%;
  width:min(560px,68vw);
  aspect-ratio:1/1;
  transform:translate(-50%,-50%) rotate(45deg);
  border:1px solid rgba(200,152,45,.12);
  pointer-events:none;
}
.bleed.ornate .ornament::before{
  content:"";
  position:absolute;
  inset:26px;
  border:1px solid rgba(200,152,45,.08);
}
.bleed.ornate .ornament span{
  position:absolute;
  width:8px;height:8px;
  background:var(--gold);
  opacity:.55;
}
.bleed.ornate .ornament span:nth-child(1){top:-4px;left:50%;margin-left:-4px;}
.bleed.ornate .ornament span:nth-child(2){bottom:-4px;left:50%;margin-left:-4px;}
.bleed.ornate .ornament span:nth-child(3){left:-4px;top:50%;margin-top:-4px;}
.bleed.ornate .ornament span:nth-child(4){right:-4px;top:50%;margin-top:-4px;}

/* ---------- Full-bleed statement ---------- */
.bleed{
  position:relative;
  background-size:cover;
  background-position:center;
  background-attachment:fixed;
  text-align:center;
  padding:170px 0;
}
.bleed::before{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(5,5,5,.82), rgba(5,5,5,.62) 50%, rgba(5,5,5,.82));
}
.bleed .container{position:relative;z-index:2;}
.bleed h2{color:var(--white);}
.bleed p{color:#D8D3C8;max-width:680px;margin:0 auto 44px;}

/* ---------- Stats strip ---------- */
.strip{
  border-top:1px solid var(--gold-faint);
  border-bottom:1px solid var(--gold-faint);
  padding:56px 0;
  background:var(--black-2);
}
.strip-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:40px;
  text-align:center;
}
.strip-item{position:relative;}
.strip-item + .strip-item::before{
  content:"";
  position:absolute;
  left:-20px;top:50%;
  transform:translateY(-50%) rotate(45deg);
  width:6px;height:6px;
  background:var(--gold);
}
.strip-item .k{
  font-family:var(--font-display);
  color:var(--gold-light);
  font-size:15px;
  letter-spacing:.24em;
  text-transform:uppercase;
  display:block;
  margin-bottom:6px;
}
.strip-item .v{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--gray);}

/* ---------- Page hero ---------- */
.page-hero{
  position:relative;
  background:var(--black);
  padding:210px 0 90px;
  text-align:center;
}
.page-hero p{color:#D8D3C8;max-width:600px;margin:0 auto;}
.page-hero.image{
  background-size:cover;
  background-position:center;
  padding:250px 0 130px;
}
.page-hero.image::before{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(5,5,5,.78), rgba(5,5,5,.55) 55%, rgba(5,5,5,.92));
}
.page-hero .container{position:relative;z-index:2;}

.full-image{padding:0 0 130px;}
.full-image .frame{position:relative;overflow:hidden;display:block;}
.full-image .frame::after{
  content:"";
  position:absolute;inset:0;
  border:1px solid var(--gold-faint);
  pointer-events:none;
}
.full-image img{width:100%;height:auto;object-fit:cover;}

/* ---------- Gallery ---------- */
.gallery-two{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
  margin-top:70px;
}
.gallery-two .frame{overflow:hidden;position:relative;}
.gallery-two .frame::after{
  content:"";
  position:absolute;inset:0;
  border:1px solid var(--gold-faint);
  pointer-events:none;
}
.gallery-two img{
  height:380px;width:100%;object-fit:cover;
  transition:transform 1.4s cubic-bezier(.22,.61,.36,1);
  filter:saturate(.9);
}
.gallery-two .frame:hover img{transform:scale(1.05);}

/* ---------- Specializations list ---------- */
.spec-list{
  max-width:820px;
  margin:0 auto;
}
.spec-item{
  display:flex;
  align-items:baseline;
  gap:34px;
  padding:34px 10px;
  border-bottom:1px solid var(--gold-faint);
  transition:padding .4s ease, background .4s ease;
}
.spec-item:first-child{border-top:1px solid var(--gold-faint);}
.spec-item:hover{padding-left:26px;background:var(--black-2);}
.spec-item .mark{
  width:7px;height:7px;
  background:var(--gold);
  transform:rotate(45deg);
  flex:none;
  position:relative;
  top:-2px;
}
.spec-item h3{margin:0;flex:1;}
.spec-item .note{
  font-size:11px;
  letter-spacing:.3em;
  text-transform:uppercase;
  color:var(--gray);
  white-space:nowrap;
}

/* ---------- Contact ---------- */
.page-hero.ornate{
  background:
    radial-gradient(ellipse 70% 55% at 50% 48%, rgba(200,152,45,.10), transparent 65%),
    repeating-linear-gradient(115deg, rgba(200,152,45,.045) 0 1px, transparent 1px 90px),
    repeating-linear-gradient(-115deg, rgba(200,152,45,.045) 0 1px, transparent 1px 90px),
    var(--black-2);
  border-bottom:1px solid var(--gold-faint);
  overflow:hidden;
}
.page-hero.ornate .ornament{
  position:absolute;
  top:55%;left:50%;
  width:min(560px,74vw);
  aspect-ratio:1/1;
  transform:translate(-50%,-50%) rotate(45deg);
  border:1px solid rgba(200,152,45,.12);
  pointer-events:none;
}
.page-hero.ornate .ornament::before{
  content:"";
  position:absolute;
  inset:26px;
  border:1px solid rgba(200,152,45,.08);
}
.page-hero.ornate .ornament span{
  position:absolute;
  width:8px;height:8px;
  background:var(--gold);
  opacity:.55;
}
.page-hero.ornate .ornament span:nth-child(1){top:-4px;left:50%;margin-left:-4px;}
.page-hero.ornate .ornament span:nth-child(2){bottom:-4px;left:50%;margin-left:-4px;}
.page-hero.ornate .ornament span:nth-child(3){left:-4px;top:50%;margin-top:-4px;}
.page-hero.ornate .ornament span:nth-child(4){right:-4px;top:50%;margin-top:-4px;}

.contact-panel{
  max-width:760px;
  margin:0 auto;
  background:var(--black-2);
  padding:70px 80px;
  border:1px solid var(--gold-faint);
  position:relative;
}
.contact-panel::before,
.contact-panel::after{
  content:"";
  position:absolute;
  width:26px;height:26px;
  border:1px solid var(--gold);
}
.contact-panel::before{top:-1px;left:-1px;border-right:none;border-bottom:none;}
.contact-panel::after{bottom:-1px;right:-1px;border-left:none;border-top:none;}
.contact-panel .contact-info-list li:last-child{border-bottom:none;padding-bottom:0;}

.contact-wrap{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:90px;
  align-items:start;
}
.contact-info-list li{
  padding:30px 0;
  border-bottom:1px solid var(--gold-faint);
}
.contact-info-list li:first-child{border-top:1px solid var(--gold-faint);}
.contact-info-list .label{
  font-size:10px;
  letter-spacing:.42em;
  text-transform:uppercase;
  color:var(--gold-light);
  display:block;
  margin-bottom:10px;
}
.contact-info-list a{color:var(--white);transition:color .3s ease;}
.contact-info-list a:hover{color:var(--gold-light);}
.contact-info-list .val{color:var(--white);}

.contact-form{
  background:var(--black-2);
  padding:60px;
  border:1px solid var(--gold-faint);
  position:relative;
}
.contact-form::before,
.contact-form::after{
  content:"";
  position:absolute;
  width:26px;height:26px;
  border:1px solid var(--gold);
}
.contact-form::before{top:-1px;left:-1px;border-right:none;border-bottom:none;}
.contact-form::after{bottom:-1px;right:-1px;border-left:none;border-top:none;}
.contact-form label{
  display:block;
  font-size:10px;
  letter-spacing:.42em;
  text-transform:uppercase;
  margin-bottom:12px;
  color:var(--gold-light);
}
.contact-form input,
.contact-form textarea{
  width:100%;
  padding:14px 2px;
  border:none;
  border-bottom:1px solid var(--gold-dim);
  background:transparent;
  color:var(--white);
  margin-bottom:36px;
  font-family:var(--font-body);
  font-weight:300;
  font-size:15px;
  transition:border-color .3s ease;
}
.contact-form input:focus,
.contact-form textarea:focus{
  outline:none;
  border-bottom-color:var(--gold);
}
.contact-form textarea{min-height:130px;resize:vertical;}
.contact-form .btn{width:100%;justify-content:center;}

/* ---------- Footer ---------- */
.site-footer{
  background:var(--black);
  border-top:1px solid var(--gold-faint);
  padding:100px 0 0;
  text-align:center;
}
.footer-logo img{height:74px;margin:0 auto 26px;}
.footer-nav{
  display:flex;
  justify-content:center;
  gap:48px;
  margin:44px 0;
}
.footer-nav a{
  font-size:11px;
  letter-spacing:.3em;
  text-transform:uppercase;
  color:var(--white);
  transition:color .3s ease;
}
.footer-nav a:hover{color:var(--gold-light);}
.footer-meta{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:40px;
  max-width:980px;
  margin:0 auto;
  padding:50px 0 60px;
  border-top:1px solid var(--gold-faint);
}
.footer-meta .label{
  font-size:10px;
  letter-spacing:.42em;
  text-transform:uppercase;
  color:var(--gold-light);
  display:block;
  margin-bottom:12px;
}
.footer-meta a{color:var(--white);display:block;margin-bottom:6px;font-size:14px;transition:color .3s ease;}
.footer-meta a:hover{color:var(--gold-light);}
.footer-meta p{color:var(--white);font-size:14px;margin:0;line-height:1.9;}
.footer-bottom{
  padding:28px 0;
  font-size:11px;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:#6E6A60;
  border-top:1px solid var(--gold-faint);
}

.back-to-top{
  position:fixed;
  right:34px;
  bottom:34px;
  width:52px;height:52px;
  border:1px solid var(--gold-dim);
  background:rgba(5,5,5,.8);
  color:var(--gold-light);
  display:flex;align-items:center;justify-content:center;
  font-size:16px;
  opacity:0;
  visibility:hidden;
  transform:translateY(10px);
  transition:all .4s ease;
  cursor:pointer;
  z-index:999;
  backdrop-filter:blur(6px);
}
.back-to-top:hover{background:var(--gold);color:var(--black);border-color:var(--gold);}
.back-to-top.show{opacity:1;visibility:visible;transform:translateY(0);}

/* Focus visibility */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{
  outline:1px solid var(--gold);
  outline-offset:3px;
}

/* ---------- Responsive ---------- */
@media(max-width:1020px){
  .duo,.split,.contact-wrap,.gallery-two,.strip-grid,.footer-meta{grid-template-columns:1fr;}
  .split{gap:70px;}
  .duo-card{padding:80px 40px;}
  .duo-card + .duo-card{border-left:none;}
  .strip-item + .strip-item::before{display:none;}
  .strip-grid{gap:34px;}
  .split-media.offset{min-height:0;margin-bottom:52px;}
  .vision-media{
    width:100%;
    opacity:.28;
    -webkit-mask-image:linear-gradient(to left, rgba(0,0,0,1), rgba(0,0,0,.4));
    mask-image:linear-gradient(to left, rgba(0,0,0,1), rgba(0,0,0,.4));
  }
  .bleed{background-attachment:scroll;}
  section{padding:100px 0;}
}
@media(max-width:760px){
  .main-nav{
    position:fixed;
    inset:0;
    width:100vw;
    height:100dvh;
    background:#050505;
    display:flex;
    align-items:center;
    justify-content:center;
    opacity:0;
    visibility:hidden;
    transition:opacity .4s ease;
    z-index:1000;
  }
  .main-nav.open{opacity:1;visibility:visible;}
  body.nav-open{overflow:hidden;height:100dvh;}
  .main-nav ul{flex-direction:column;gap:36px;text-align:center;}
  .main-nav a{font-size:14px;}
  .nav-toggle{display:flex;position:relative;z-index:1001;}
  .nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .nav-toggle.open span:nth-child(2){opacity:0;}
  .nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
  .header-inner{padding:18px 24px;}
  .logo img{height:42px;}
  .container{padding:0 24px;}
  section{padding:80px 0;}
  .hero{min-height:100svh;}
  .hero-text p{font-size:14px;}
  .bleed{padding:110px 0;}
  .duo-figure{padding:12px;}
  .duo-figure img{width:100%;max-width:300px;height:auto;aspect-ratio:30/19;}
  .strip{padding:44px 0;}
  .lux-frame{margin:18px;}
  .lux-frame::before{top:-18px;right:-18px;bottom:18px;left:18px;}
  .back-to-top{right:20px;bottom:20px;width:46px;height:46px;}
  .contact-form{padding:40px 28px;}
  .contact-panel{padding:44px 28px;}
  .footer-nav{gap:26px;flex-wrap:wrap;}
  .page-hero{padding:170px 0 70px;}
  .page-hero.image{padding:200px 0 100px;}
}


