
@import url('https://fonts.googleapis.com/css2?family=Victor+Mono:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400;1,600&display=swap');

:root{
  --arch-black:#080808;
  --arch-black-2:#10100f;
  --arch-black-3:#171512;
  --arch-gold:#c6a15b;
  --arch-gold-2:#9f7739;
  --arch-gold-soft:#e2c78d;
  --arch-text:#eee8dd;
  --arch-muted:#b9ad9c;
  --arch-line:rgba(198,161,91,.30);
  --arch-line-soft:rgba(255,255,255,.10);
  --arch-glass:rgba(8,8,8,.48);
}

html{scroll-behavior:smooth}

body.archv5-active{
  margin:0;
  background:var(--arch-black);
  color:var(--arch-text);
  font-family:"Victor Mono", monospace;
  font-size:16px;
  line-height:1.78;
  overflow-x:hidden;
}

body.archv5-active header.site-header,
body.archv5-active #site-header,
body.archv5-active footer.site-footer,
body.archv5-active #site-footer{
  display:none!important;
}

body.archv5-active h1,
body.archv5-active h2,
body.archv5-active h3,
body.archv5-active h4,
body.archv5-active h5,
body.archv5-active h6,
body.archv5-active .elementor-heading-title{
  font-family:"Victor Mono", monospace;
  color:#fff;
  font-weight:600;
  letter-spacing:-.045em;
  margin-top:0;
}

body.archv5-active h1{font-size:clamp(44px,7vw,92px);line-height:.98}
body.archv5-active h2{font-size:clamp(32px,4.4vw,58px);line-height:1.06}
body.archv5-active h3{font-size:clamp(21px,2.5vw,30px);line-height:1.18}
body.archv5-active p{color:var(--arch-muted)}
body.archv5-active a{color:var(--arch-gold-soft);text-decoration:none;transition:.25s ease}
body.archv5-active a:hover{color:#fff}
::selection{background:var(--arch-gold);color:#080808}

/* =========================================================
   HEADER
========================================================= */
.archv5-header{
  position:fixed;
  top:0;left:0;right:0;
  z-index:9999;
  background:linear-gradient(180deg,rgba(5,5,5,.90),rgba(5,5,5,.55));
  border-bottom:1px solid rgba(198,161,91,.15);
  backdrop-filter:blur(14px);
}

.archv5-header-inner{
  max-width:1400px;
  margin:0 auto;
  min-height:76px;
  padding:0 28px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:26px;
}

.archv5-brand{
  display:flex;
  flex-direction:column;
  line-height:1;
}

.archv5-brand-main{
  font-family:"Victor Mono",monospace;
  color:#fff;
  font-size:28px;
  font-weight:700;
  letter-spacing:-.06em;
}

.archv5-brand-sub{
  margin-top:8px;
  color:var(--arch-gold);
  font-size:9px;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.archv5-nav ul{
  display:flex;
  align-items:center;
  gap:22px;
  list-style:none;
  padding:0;
  margin:0;
}

.archv5-nav a{
  color:#ddd3c4;
  font-size:11px;
  font-weight:500;
  text-transform:uppercase;
  letter-spacing:.08em;
  position:relative;
}

.archv5-nav a:after{
  content:"";
  position:absolute;
  left:0;
  right:100%;
  bottom:-7px;
  height:1px;
  background:var(--arch-gold);
  transition:.28s ease;
}

.archv5-nav a:hover:after{right:0}

.archv5-header-cta{
  display:flex;
  align-items:center;
  gap:10px;
}

.archv5-header-cta a{
  border:1px solid var(--arch-line);
  padding:10px 14px;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.archv5-header-cta a:last-child{
  background:var(--arch-gold);
  color:#070707;
  border-color:var(--arch-gold);
  font-weight:700;
}

.archv5-toggle{
  display:none;
  border:1px solid var(--arch-line);
  background:transparent;
  color:#fff;
  padding:9px 12px;
  font:600 11px "Victor Mono",monospace;
}

/* =========================================================
   HERO + PARALLAX
========================================================= */
.archv5-hero{
  position:relative;
  min-height:100vh;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  padding:150px 26px 70px;
  background-size:cover;
  background-position:center;
  background-attachment:fixed;
}

.archv5-home-hero{
  background-image:url('https://images.unsplash.com/photo-1515562141207-7a88fb7ce338?auto=format&fit=crop&w=2000&q=86');
}

.archv5-collect-hero{
  background-image:url('https://images.unsplash.com/photo-1460661419201-fd4cecdf8a8b?auto=format&fit=crop&w=2000&q=86');
}

.archv5-contact-hero{
  background-image:url('https://images.unsplash.com/photo-1507679799987-c73779587ccf?auto=format&fit=crop&w=2000&q=86');
}

.archv5-hero:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(0,0,0,.20) 0%,rgba(0,0,0,.28) 28%,rgba(0,0,0,.62) 70%,rgba(0,0,0,.92) 100%),
    linear-gradient(90deg,rgba(0,0,0,.84),rgba(0,0,0,.22));
  z-index:0;
}

.archv5-hero:after{
  content:"";
  position:absolute;
  width:65vw;height:65vw;
  right:-28vw;bottom:-42vw;
  border:1px solid rgba(198,161,91,.18);
  border-radius:50%;
  box-shadow:
    0 0 0 80px rgba(198,161,91,.025),
    0 0 0 160px rgba(198,161,91,.018);
  pointer-events:none;
}

.archv5-hero .archv5-inner{position:relative;z-index:2}

.archv5-hero-content{
  max-width:900px;
}

.archv5-kicker{
  color:var(--arch-gold);
  font-size:11px;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  margin-bottom:10px;
}

.archv5-hero h1{
  max-width:1000px;
  margin-bottom:18px;
  text-shadow:0 10px 40px rgba(0,0,0,.24);
}

.archv5-hero-accent{
  color:var(--arch-gold-soft);
  font-style:italic;
  font-weight:400;
}

.archv5-hero p{
  max-width:780px;
  font-size:17px;
  color:#e7ddce;
  margin-bottom:0;
}

.archv5-hero-ctas{
  margin-top:28px;
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

.archv5-hero-tags{
  margin-top:36px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.archv5-tag{
  border:1px solid rgba(198,161,91,.28);
  background:rgba(0,0,0,.28);
  backdrop-filter:blur(8px);
  color:#e7dbc7;
  padding:9px 12px;
  font-size:11px;
}

/* =========================================================
   GENERAL LAYOUT
========================================================= */
.archv5-section{
  position:relative;
  padding:98px 26px;
  background:var(--arch-black);
}

.archv5-section.alt{background:var(--arch-black-2)}
.archv5-section.deep{background:var(--arch-black-3)}
.archv5-section.tight{padding-top:66px;padding-bottom:66px}

.archv5-inner{
  max-width:1280px;
  margin:0 auto;
}

.archv5-stack{
  display:flex!important;
  flex-direction:column!important;
  gap:18px!important;
}

.archv5-center{
  max-width:920px;
  margin:0 auto;
  text-align:center;
}

.archv5-row{
  display:grid!important;
  grid-template-columns:1fr 1fr;
  gap:46px;
  align-items:center;
}

.archv5-grid-2{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
}

.archv5-grid-3{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:26px;
}

.archv5-grid-4{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:22px;
}

.archv5-eyebrow{
  color:var(--arch-gold)!important;
  font-size:10px!important;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-weight:700!important;
}

.archv5-lead{
  max-width:820px;
  font-size:18px;
  color:#d8cdbd!important;
}

/* =========================================================
   SECTION "TEETH" SEPARATORS
========================================================= */
.archv5-section:not(.archv5-hero):before{
  content:"";
  position:absolute;
  left:0;right:0;top:-13px;
  height:14px;
  background:
    linear-gradient(135deg, transparent 9px, var(--arch-gold) 0) 0 0/18px 14px repeat-x,
    linear-gradient(225deg, transparent 9px, var(--arch-gold) 0) 9px 0/18px 14px repeat-x;
  opacity:.42;
  pointer-events:none;
}

.archv5-section:not(.archv5-hero):after{
  content:"";
  position:absolute;
  top:0;left:0;right:0;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--arch-gold),transparent);
  opacity:.26;
}

/* =========================================================
   REVEAL / MOTION
========================================================= */
.arch-reveal{
  opacity:0;
  transform:translateY(34px);
  transition:opacity .85s cubic-bezier(.2,.7,.2,1),transform .85s cubic-bezier(.2,.7,.2,1);
}

.arch-reveal.is-visible{
  opacity:1;
  transform:translateY(0);
}

.arch-reveal-left{
  opacity:0;
  transform:translateX(-38px);
  transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1);
}

.arch-reveal-left.is-visible{
  opacity:1;
  transform:translateX(0);
}

.arch-reveal-right{
  opacity:0;
  transform:translateX(38px);
  transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1);
}

.arch-reveal-right.is-visible{
  opacity:1;
  transform:translateX(0);
}

/* =========================================================
   BUTTONS / CTA
========================================================= */
body.archv5-active .elementor-button,
.archv5-cta-link{
  background:var(--arch-gold)!important;
  color:#080808!important;
  border:1px solid var(--arch-gold)!important;
  border-radius:0!important;
  font-family:"Victor Mono",monospace!important;
  font-size:11px!important;
  font-weight:700!important;
  letter-spacing:.07em!important;
  text-transform:uppercase;
  padding:16px 24px!important;
  transition:.28s ease!important;
}

body.archv5-active .elementor-button:hover,
.archv5-cta-link:hover{
  background:var(--arch-gold-soft)!important;
  border-color:var(--arch-gold-soft)!important;
  transform:translateY(-2px);
}

.archv5-btn-outline .elementor-button{
  background:transparent!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.32)!important;
}

.archv5-btn-outline .elementor-button:hover{
  background:rgba(255,255,255,.07)!important;
  color:#fff!important;
}

/* =========================================================
   CATEGORY LISTS
========================================================= */
.archv5-category{
  position:relative;
  padding:24px 0 22px;
  border-top:1px solid var(--arch-line);
  min-height:145px;
}

.archv5-category:after{
  content:"→";
  position:absolute;
  right:0;top:22px;
  color:var(--arch-gold);
  transition:.28s ease;
}

.archv5-category:hover:after{
  transform:translateX(6px);
}

.archv5-category h3{
  font-size:24px;
  margin:0 34px 10px 0;
}

.archv5-category p{
  margin:0;
  font-size:14px;
}

.archv5-service{
  border-top:1px solid var(--arch-line);
  padding-top:20px;
}

.archv5-service-number{
  color:var(--arch-gold);
  font-size:11px;
  margin-bottom:12px;
}

/* =========================================================
   PARALLAX IMAGE SECTIONS
========================================================= */
.archv5-parallax{
  min-height:560px;
  background-size:cover;
  background-position:center;
  background-attachment:fixed;
  position:relative;
  display:flex;
  align-items:center;
  overflow:hidden;
}

.archv5-parallax:before{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(0,0,0,.83),rgba(0,0,0,.34),rgba(0,0,0,.73));
}

.archv5-parallax > *{position:relative;z-index:2}

.archv5-parallax-gold{
  background-image:url('https://images.unsplash.com/photo-1515562141207-7a88fb7ce338?auto=format&fit=crop&w=1800&q=84');
}

.archv5-parallax-antiques{
  background-image:url('https://images.unsplash.com/photo-1460661419201-fd4cecdf8a8b?auto=format&fit=crop&w=1800&q=84');
}

.archv5-parallax-books{
  background-image:url('https://images.unsplash.com/photo-1512820790803-83ca734da794?auto=format&fit=crop&w=1800&q=84');
}

/* =========================================================
   VIDEO
========================================================= */
.archv5-video-wrap{
  position:relative;
  aspect-ratio:16/9;
  border:1px solid var(--arch-line);
  background:
    linear-gradient(rgba(0,0,0,.45),rgba(0,0,0,.72)),
    url('https://images.unsplash.com/photo-1515562141207-7a88fb7ce338?auto=format&fit=crop&w=1600&q=78') center/cover;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.archv5-video-wrap:before{
  content:"";
  position:absolute;inset:12px;
  border:1px solid rgba(198,161,91,.20);
}

.archv5-video-center{
  position:relative;
  z-index:2;
  text-align:center;
  max-width:620px;
  padding:30px;
}

.archv5-play{
  width:78px;height:78px;
  border:1px solid var(--arch-gold);
  border-radius:50%;
  margin:0 auto 20px;
  display:flex;align-items:center;justify-content:center;
  color:var(--arch-gold);
  font-size:24px;
  transition:.28s ease;
}

.archv5-video-wrap:hover .archv5-play{
  transform:scale(1.06);
  background:rgba(198,161,91,.08);
}

.archv5-video-placeholder{
  color:#fff;
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
}

/* =========================================================
   SPECIAL BANDS
========================================================= */
.archv5-trust-band{
  border-top:1px solid var(--arch-line);
  border-bottom:1px solid var(--arch-line);
  padding:30px 0;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}

.archv5-trust-item strong{
  display:block;
  color:#fff;
  font-size:14px;
  margin-bottom:6px;
}

.archv5-trust-item span{
  color:var(--arch-muted);
  font-size:12px;
}

.archv5-offer{
  border:1px solid var(--arch-line);
  padding:28px;
  position:relative;
  background:linear-gradient(135deg,rgba(198,161,91,.09),rgba(198,161,91,.02));
}

.archv5-offer:before,
.archv5-offer:after{
  content:"";
  position:absolute;
  width:14px;height:14px;
  border:1px solid var(--arch-gold);
}
.archv5-offer:before{left:10px;top:10px;border-right:0;border-bottom:0}
.archv5-offer:after{right:10px;bottom:10px;border-left:0;border-top:0}

/* =========================================================
   FULL LIST
========================================================= */
.archv5-list{
  columns:2;
  column-gap:42px;
  padding-left:18px;
}

.archv5-list li{
  color:#d1c3ae;
  margin-bottom:9px;
  break-inside:avoid;
}

/* =========================================================
   CONTACT + STICKY CTA
========================================================= */
.archv5-contact-strip{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  border-top:1px solid var(--arch-line);
  border-bottom:1px solid var(--arch-line);
  padding:28px 0;
}

.archv5-contact-item small{
  display:block;
  color:var(--arch-gold);
  text-transform:uppercase;
  letter-spacing:.12em;
  margin-bottom:8px;
}

.archv5-contact-item strong,
.archv5-contact-item a{
  color:#fff;
  font-size:15px;
}

.archv5-sticky-cta{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:9997;
  display:flex;
  flex-direction:column;
  gap:8px;
}

.archv5-sticky-cta a{
  min-width:150px;
  text-align:center;
  padding:12px 14px;
  border:1px solid var(--arch-gold);
  background:rgba(8,8,8,.90);
  backdrop-filter:blur(10px);
  color:#fff;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.08em;
  box-shadow:0 8px 30px rgba(0,0,0,.22);
}

.archv5-sticky-cta a:first-child{
  background:var(--arch-gold);
  color:#090909;
  font-weight:700;
}

/* =========================================================
   FOOTER
========================================================= */
.archv5-footer{
  position:relative;
  background:#050505;
  border-top:1px solid rgba(198,161,91,.22);
  padding:58px 26px 26px;
}

.archv5-footer:before{
  content:"";
  position:absolute;
  left:0;right:0;top:-13px;
  height:14px;
  background:
    linear-gradient(135deg, transparent 9px, var(--arch-gold) 0) 0 0/18px 14px repeat-x,
    linear-gradient(225deg, transparent 9px, var(--arch-gold) 0) 9px 0/18px 14px repeat-x;
  opacity:.42;
}

.archv5-footer-inner{
  max-width:1280px;
  margin:0 auto;
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1.2fr;
  gap:34px;
}

.archv5-footer h3{
  margin:0 0 12px;
  font-size:28px;
}

.archv5-footer h4{
  color:var(--arch-gold)!important;
  margin:0 0 14px;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.14em;
}

.archv5-footer p,
.archv5-footer a,
.archv5-footer li{
  color:#a99d8d;
  font-size:13px;
}

.archv5-footer ul{list-style:none;padding:0;margin:0}
.archv5-footer li{margin:7px 0}

.archv5-footer-bottom{
  max-width:1280px;
  margin:34px auto 0;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.07);
  color:#756b5e;
  font-size:11px;
}

/* =========================================================
   RESPONSIVE
========================================================= */
@media(max-width:1100px){
  .archv5-row,
  .archv5-grid-4,
  .archv5-grid-3{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .archv5-trust-band{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:767px){
  body.archv5-active{font-size:15px}
  .archv5-header-inner{padding:0 16px;min-height:68px}
  .archv5-brand-main{font-size:22px}
  .archv5-brand-sub{display:none}
  .archv5-header-cta{display:none}
  .archv5-toggle{display:block}

  .archv5-nav{
    display:none;
    position:absolute;
    top:100%;left:0;right:0;
    padding:18px;
    background:rgba(5,5,5,.98);
    border-bottom:1px solid var(--arch-line);
  }

  .archv5-nav.is-open{display:block}
  .archv5-nav ul{flex-direction:column;align-items:flex-start;gap:12px}

  .archv5-hero{
    min-height:88vh;
    padding:120px 18px 48px;
    background-attachment:scroll;
  }

  .archv5-hero-ctas{flex-direction:column;align-items:flex-start}

  .archv5-section{padding:62px 18px}
  .archv5-section.tight{padding-top:48px;padding-bottom:48px}

  .archv5-row,
  .archv5-grid-2,
  .archv5-grid-3,
  .archv5-grid-4,
  .archv5-trust-band,
  .archv5-contact-strip{
    grid-template-columns:1fr;
  }

  .archv5-list{columns:1}
  .archv5-parallax{background-attachment:scroll;min-height:480px}
  .archv5-sticky-cta{right:10px;bottom:10px}
  .archv5-sticky-cta a{min-width:124px}
  .archv5-footer-inner{grid-template-columns:1fr}
}
