/* ==========================================================
   Zevon Space — stylesheet (Luxury Dark & Gold theme)
   ========================================================== */

:root{
  --bg:#201c1a;          /* primary dark background */
  --bg-alt:#2a2521;      /* secondary panel background */
  --bg-deep:#161310;     /* deepest background — footer, sticky bar */
  --gold:#e0a934;        /* primary gold accent */
  --gold-light:#f3dd8b;  /* pale gold highlight */
  --gold-deep:#a5722c;   /* deep bronze-gold */
  --cream:#f3ede3;       /* primary light text on dark */
  --muted:#ada192;       /* secondary muted warm grey */
  --line:rgba(224,169,52,.20);
  --max:1180px;
}

*{margin:0;padding:0;box-sizing:border-box;}

html{scroll-behavior:smooth;}

body{
  background:var(--bg);
  color:var(--cream);
  font-family:'Work Sans', sans-serif;
  font-weight:400;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

h1,h2,h3,h4{
  font-family:'Fraunces', serif;
  font-weight:500;
  line-height:1.1;
  color:var(--cream);
}

a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
ul{list-style:none;}
button{font-family:inherit;cursor:pointer;border:none;background:none;}

.wrap{max-width:var(--max);margin:0 auto;padding:0 32px;}

:focus-visible{outline:2px solid var(--gold);outline-offset:3px;}

/* ---------- gold gradient text utility ---------- */
.gold-text{
  background:linear-gradient(100deg, var(--gold-light), var(--gold) 55%, var(--gold-deep));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:15px 30px;
  font-size:14px;
  letter-spacing:.03em;
  border:1px solid transparent;
  transition:background .25s ease, color .25s ease, border-color .25s ease, box-shadow .25s ease;
  white-space:nowrap;
}
.btn-primary{
  background:linear-gradient(100deg, var(--gold-light), var(--gold) 60%, var(--gold-deep));
  color:var(--bg-deep);
  font-weight:500;
}
/* Fixed Header */
.site-header{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 90px;      /* Your actual header height */
    z-index: 9999;
}

/* Video Banner */
.video-banner{
    margin-top: 0px;      /* Same as header height */
    width: 100%;
    height: calc(110vh);
    overflow: hidden;
    position: relative;
}

.video-banner video{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Mobile */
@media (max-width:768px){

    .site-header{
        height:70px;
    }

    .video-banner{
        margin-top:0px;
        height:500px;
    }

}

/* ---------- floating WhatsApp button ---------- */
.whatsapp-float{
  position:fixed;
  right:26px;
  bottom:26px;
  z-index:950;
  width:58px;
  height:58px;
  border-radius:50%;
  background:#25D366;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 10px 30px rgba(0,0,0,.35);
  transition:transform .25s ease, box-shadow .25s ease;
}
.whatsapp-float:hover{
  transform:translateY(-3px) scale(1.05);
  box-shadow:0 14px 36px rgba(0,0,0,.45);
}
.whatsapp-float::before{
  content:'';
  position:absolute;
  inset:-6px;
  border-radius:50%;
  border:2px solid var(--gold);
  opacity:.55;
  animation:wa-pulse 2.2s ease-out infinite;
}
@keyframes wa-pulse{
  0%{transform:scale(.9); opacity:.6;}
  70%{transform:scale(1.35); opacity:0;}
  100%{transform:scale(1.35); opacity:0;}
}
@media (prefers-reduced-motion: reduce){
  .whatsapp-float::before{animation:none;}
}

/* keep it clear of the sticky Call/Enquire bar on mobile */
@media (max-width:860px){
  .whatsapp-float{
    right:18px;
    bottom:72px;
    width:52px;
    height:52px;
  }
}
.social-row{display:flex; flex-direction:column; gap:16px; margin-top:32px; align-items:flex-start;}
.social-row a{
  display:flex; align-items:center; gap:10px;
  font-size:14px; color:var(--muted);
  border-bottom:1px solid var(--line); padding-bottom:6px;
}
.social-row a svg{flex-shrink:0; color:var(--gold-deep); transition:color .2s ease;}
.social-row a:hover{color:var(--gold);}
.social-row a:hover svg{color:var(--gold);}
.btn-primary:hover{box-shadow:0 8px 26px rgba(224,169,52,.35);}
.btn-outline{border-color:var(--gold-deep); color:var(--cream);}
.btn-outline:hover{background:var(--gold); border-color:var(--gold); color:var(--bg-deep);}
.btn-brass{
  background:linear-gradient(100deg, var(--gold-light), var(--gold) 60%, var(--gold-deep));
  color:var(--bg-deep);
}

a.btn.btn-brass.btn-small {
    display: none;
}
@media (max-width:768px){ 
.about-stats div strong
{display:block; font-family:'Fraunces', serif; font-size:17px!important; color:var(--gold);}}



@media (max-width:768px){ 
.btn-small {
    padding: 8px 17px!important;
    font-size: 8.5px!important;
}
}

.btn-brass:hover{box-shadow:0 8px 26px rgba(224,169,52,.35);}
.btn-small{padding:10px 20px; font-size:12.5px;}
.btn-group{display:flex; gap:14px; flex-wrap:wrap;}

/* ---------- header ---------- */
header{
  position:fixed;
  top:0;left:0;right:0;
  z-index:1000;
  padding:12px 0;
  transition:padding .3s ease, background .3s ease, box-shadow .3s ease;
  background:#201C1A!important;
}
header.scrolled{
  background:rgba(22,19,16,.94);
  backdrop-filter:blur(6px);
  padding:14px 0;
  box-shadow:0 1px 0 var(--line);
}
header .wrap{display:flex; align-items:center; justify-content:space-between;}

.brand{display:flex; align-items:center; gap:12px; font-family:'Fraunces', serif; font-size:22px; letter-spacing:.02em;}
.brand img.icon-mark{height:60px; width:auto;}
@media screen and (max-width: 480px) {

    .brand img.icon-mark
{height:40px; width:auto;}
}

.brand-text{display:flex; flex-direction:column; line-height:1.15;}
.brand-text .brand-name{font-size:20px;}
.brand-text .brand-name strong{font-weight:600; color:var(--cream);}
.brand-text .brand-name em{
  font-style:italic; font-weight:500;
  background:linear-gradient(100deg, var(--gold-light), var(--gold) 60%, var(--gold-deep));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.brand-text .brand-sub{font-family:'Work Sans',sans-serif; font-size:10px; letter-spacing:.18em; color:var(--gold-deep); text-transform:uppercase; margin-top:1px;}

nav.primary-nav{display:flex; align-items:center; gap:36px;}
nav.primary-nav a.nav-link{font-size:14px; color:var(--muted); position:relative; padding-bottom:3px;}
nav.primary-nav a.nav-link:hover{color:var(--cream);}
nav.primary-nav a.nav-link::after{
  content:''; position:absolute; left:0; bottom:0; width:0; height:1px;
  background:var(--gold); transition:width .25s ease;
}
nav.primary-nav a.nav-link:hover::after{width:100%;}

.header-actions{display:flex; align-items:center; gap:12px;}

.menu-toggle{
  display:none; width:26px; height:20px; position:relative;
  flex-direction:column; justify-content:space-between;
}
.menu-toggle span{display:block; height:1px; background:var(--gold); width:100%; transition:transform .3s ease, opacity .3s ease;}
.menu-toggle.open span:nth-child(1){transform:translateY(9px) rotate(45deg);}
.menu-toggle.open span:nth-child(2){opacity:0;}
.menu-toggle.open span:nth-child(3){transform:translateY(-9px) rotate(-45deg);}

/* ---------- hero ---------- */
.hero{
  min-height:100vh;
  display:flex;
  align-items:center;
  position:relative;
  padding-top:20px;
  margin-top:-100px;
  padding-bottom:80px;
  background:
    radial-gradient(ellipse at 85% 15%, rgba(224,169,52,.10), transparent 55%),
    radial-gradient(ellipse at 10% 90%, rgba(224,169,52,.06), transparent 50%),
    var(--bg);
}
.hero .wrap{display:grid; grid-template-columns:1.15fr .85fr; gap:60px; align-items:center;}
.hero-welcome{
  display:inline-block;
  font-size:12.5px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--gold-deep);
  margin-bottom:10px;
}
.hero-eyebrow{
  display:block;
  font-size:15px;
  color:var(--gold-light);
  font-style:italic;
  font-family:'Fraunces', serif;
  margin-bottom:22px;
}
.hero h1{font-size:clamp(40px, 5.2vw, 74px); max-width:15ch;}
.hero h1 em{
  font-style:italic; font-weight:500;
  background:linear-gradient(100deg, var(--gold-light), var(--gold) 55%, var(--gold-deep));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.hero-sub{margin-top:26px; max-width:46ch; font-size:17px; color:var(--muted);}
.hero .btn-group{margin-top:38px;}

.hero-visual{position:relative; aspect-ratio:4/5; background:var(--bg-alt); overflow:hidden; border:1px solid var(--line);}
.hero-visual img{width:100%; height:100%; object-fit:cover;}
.hero-visual::before{content:''; position:absolute; inset:16px; border:1px solid rgba(243,237,227,.14); z-index:2; pointer-events:none;}
.hero-visual .tag{
  position:absolute; left:28px; bottom:28px; z-index:3;
  background:var(--bg-deep); border-left:2px solid var(--gold);
  padding:14px 20px;
  font-family:'Fraunces', serif; font-style:italic; font-size:15px; color:var(--gold-light);
  box-shadow:0 10px 30px rgba(0,0,0,.4);
}

.hero-marquee{animation:hero-in 1s ease both;}
@keyframes hero-in{ from{opacity:0; transform:translateY(16px);} to{opacity:1; transform:translateY(0);} }
@media (prefers-reduced-motion: reduce){ .hero-marquee{animation:none;} html{scroll-behavior:auto;} }

/* ---------- section basics ---------- */
section{padding:80px 0;}
.section-alt{background:var(--bg-alt);}
.section-head{display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:end; margin-bottom:70px;}
.section-head h2{font-size:clamp(30px,3.4vw,44px);}
.section-head p{color:var(--muted); font-size:16px; max-width:44ch;}
.kicker{font-family:'Fraunces', serif; font-style:italic; color:var(--gold); font-size:15px; margin-bottom:14px; display:block;}
.divider{width:56px; height:2px; background:var(--gold); margin-bottom:24px;}

/* ---------- about ---------- */
.about .wrap{display:grid; grid-template-columns:.9fr 1.1fr; gap:70px; align-items:center;}
.about-figure{position:relative;}
.about-figure img{width:100%; aspect-ratio:3/4; object-fit:cover; border:1px solid var(--line);}
.about-figure .frame-tab{
  position:absolute; top:-24px; right:-24px;
  background:linear-gradient(135deg, var(--gold-light), var(--gold-deep));
  color:var(--bg-deep);
  padding:22px 26px; font-family:'Fraunces', serif; font-size:34px; line-height:1;
  box-shadow:0 12px 30px rgba(0,0,0,.35);
}
.about-figure .frame-tab small{display:block; font-family:'Work Sans', sans-serif; font-size:11px; letter-spacing:.08em; margin-top:6px; color:rgba(22,19,16,.65);}
.about-copy h2{font-size:clamp(28px,3.2vw,40px); max-width:13ch; margin-bottom:26px;}
.about-copy p{color:var(--muted); font-size:16.5px; margin-bottom:18px; max-width:52ch;}
.about-stats{display:flex; gap:14px; margin-top:36px; padding-top:36px; border-top:1px solid var(--line);}
.about-stats div strong{display:block; font-family:'Fraunces', serif; font-size:32px; color:var(--gold);}
.about-stats div span{font-size:13px; color:var(--muted);}

/* ---------- projects ---------- */
.filter-tabs{display:flex; gap:10px; margin-bottom:50px; flex-wrap:wrap;}
.filter-tabs button{padding:11px 24px; font-size:13.5px; letter-spacing:.02em; border:1px solid var(--line); color:var(--muted); transition:all .2s ease;}
.filter-tabs button.active, .filter-tabs button:hover{background:var(--gold); border-color:var(--gold); color:var(--bg-deep);}

.project-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:38px;}
.project-card{display:flex; flex-direction:column; background:var(--bg-alt); border:1px solid var(--line); transition:transform .3s ease, box-shadow .3s ease;}
.project-card:hover{box-shadow:0 16px 40px rgba(0,0,0,.35);}
.project-card.hidden{display:none;}
.project-figure{position:relative; aspect-ratio:4/3; overflow:hidden;}
.project-figure img{width:100%; height:100%; object-fit:cover; transition:transform .5s ease;}
.project-card:hover .project-figure img{transform:scale(1.06);}
.project-figure .cat-badge{position:absolute; top:16px; left:16px; background:rgba(22,19,16,.85); padding:6px 14px; font-size:11.5px; letter-spacing:.05em; color:var(--gold-light);}
.project-body{padding:24px 22px 26px;}
.project-body h3{font-size:22px; margin-bottom:6px;}
.project-meta{display:flex; flex-wrap:wrap; gap:8px 16px; font-size:12.5px; color:var(--muted); margin-bottom:14px; padding-bottom:14px; border-bottom:1px solid var(--line);}
.project-concept{font-size:14.5px; color:var(--muted); margin-bottom:18px; min-height:44px;}
.project-link{font-size:13px; color:var(--gold); border-bottom:1px solid var(--gold-deep); padding-bottom:2px; align-self:flex-start;}
.project-link:hover{color:var(--gold-light);}

/* ---------- services ---------- */
.services-list{border-top:1px solid var(--line);}
.service-row{
  display:grid; grid-template-columns:90px 1.3fr 1.7fr auto; gap:32px; align-items:center;
  padding:34px 0; border-bottom:1px solid var(--line); transition:background .25s ease;
}
.service-row:hover{background:rgba(224,169,52,.05);}
.service-num{font-family:'Fraunces', serif; font-style:italic; font-size:26px; color:var(--gold-deep);}
.service-row h3{font-size:21px;}
.service-row p{color:var(--muted); font-size:15px; max-width:48ch;}
/* Mobile fix - Services paragraph only */
@media (max-width: 768px) {

    .service-row p{
        max-width: 100% !important;
        width: 100% !important;
        white-space: normal;
        word-break: normal;
        overflow-wrap: break-word;
        line-height: 1.7;
    }

}

@media (max-width: 768px) {

    .service-row{
        grid-template-columns: 70px 1fr !important;
    }

    .service-row p{
        grid-column: 2;
        max-width: 100% !important;
        width: 100% !important;
    }

}

/* ---------- process ---------- */
.process-track{display:grid; grid-template-columns:repeat(5,1fr); gap:0; position:relative;}
.process-step{padding:0 22px 0 0; position:relative;}
.process-step:not(:last-child)::after{content:''; position:absolute; top:20px; right:0; width:22px; height:1px; background:var(--gold-deep);}
.process-step .step-num{font-family:'Fraunces', serif; font-size:15px; color:var(--gold); margin-bottom:18px; padding-bottom:14px; border-bottom:1px solid var(--line);}
.process-step h3{font-size:19px; margin-bottom:10px;}
.process-step p{font-size:14px; color:var(--muted);}

/* ---------- values ---------- */
section#projects {
    padding-top:35px!important;
    padding-bottom:35px;!important;
}
section#services {
    padding-top:35px!important;
    padding-bottom:35px;!important;
}

section#process {
    padding-top:35px!important;
    padding-bottom:35px;!important;
}
section.values-band {
    padding-top:35px!important;
    padding-bottom:35px;!important;
}
.values-band{
  background:linear-gradient(120deg, var(--gold-deep), var(--gold) 55%, var(--gold-light));
  color:var(--bg-deep);
}
.values-band .section-head h2{color:var(--bg-deep); }
.values-band .kicker{color:rgba(22,19,16,.65);}
.values-band .section-head p{color:rgba(22,19,16,.68);}
.values-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:rgba(22,19,16,.16);}
.value-item{background:transparent; padding:38px 30px;}
.value-item h4{color:var(--bg-deep); font-size:19px; margin-bottom:12px;}
.value-item p{color:rgba(22,19,16,.72); font-size:14.5px;}

section#contact {
    padding-top: 35px;
    padding-bottom: 35px;
}

section#about {
     padding-top: 25px;
    padding-bottom: 35px;
}

/* ---------- contact ---------- */
.contact .wrap{display:grid; grid-template-columns:.85fr 1.15fr; gap:70px;}
.contact-info h2{font-size:clamp(28px,3.2vw,40px); margin-bottom:20px; max-width:12ch;}
.contact-info > p{color:var(--muted); font-size:16px; margin-bottom:40px; max-width:40ch;}
.contact-detail{display:flex; gap:16px; padding:20px 0; border-top:1px solid var(--line);}
.contact-detail:last-of-type{border-bottom:1px solid var(--line);}
.contact-detail .label{font-size:12px; letter-spacing:.05em; color:var(--muted); min-width:110px;}
.contact-detail .value{font-size:15.5px; color:var(--cream);}
.contact-detail .value a:hover{color:var(--gold);}
.social-row{display:flex; gap:22px; margin-top:32px;}
.social-row a{font-size:14px; color:var(--muted); border-bottom:1px solid var(--line); padding-bottom:3px;}
.social-row a:hover{color:var(--gold); border-color:var(--gold);}

form.enquiry{background:var(--bg-alt); border:1px solid var(--line); padding:48px;}
.form-row{display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-bottom:20px;}
.field{display:flex; flex-direction:column; gap:8px;}
.field.full{grid-column:1/-1;}
.field label{font-size:12.5px; letter-spacing:.03em; color:var(--muted);}
.field input, .field select, .field textarea{
  background:var(--bg); border:1px solid var(--line); padding:13px 15px;
  font-family:inherit; font-size:14.5px; color:var(--cream); transition:border-color .2s ease;
}
.field select option{background:var(--bg); color:var(--cream);}
.field input:focus, .field select:focus, .field textarea:focus{border-color:var(--gold);}
.field textarea{resize:vertical; min-height:100px;}
.form-note{margin-top:18px; font-size:12.5px; color:var(--muted);}
.alert{padding:16px 20px; margin-bottom:22px; font-size:14px;}
.alert-success{background:rgba(224,169,52,.12); color:var(--cream); border-left:3px solid var(--gold);}
.alert-error{background:rgba(196,80,64,.15); color:#f3b6ab; border-left:3px solid #c45040;}

/* ---------- footer ---------- */
footer{background:var(--bg-deep); color:var(--muted); padding:56px 0 30px;}
footer .wrap{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:20px;}
footer .brand-text .brand-name strong{color:var(--cream);}
.footer-links{display:flex; gap:26px; font-size:13.5px;}
.footer-links a:hover{color:var(--gold);}
.footer-bottom{margin-top:36px; padding-top:24px; border-top:1px solid rgba(224,169,52,.12); font-size:12.5px; color:#6f6459; text-align:center;}

/* ---------- sticky call bar (mobile) ---------- */
.sticky-call{display:none; position:fixed; bottom:0; left:0; right:0; z-index:900; background:var(--bg-deep);}
.sticky-call .wrap{display:grid; grid-template-columns:1fr 1fr; padding:0; max-width:100%;}
.sticky-call a{text-align:center; padding:16px 10px; font-size:13.5px;}
.sticky-call a:first-child{background:linear-gradient(100deg, var(--gold-light), var(--gold) 60%, var(--gold-deep)); color:var(--bg-deep);}
.sticky-call a:last-child{background:var(--bg-deep); border-left:1px solid var(--line); color:var(--cream);}

/* ---------- responsive ---------- */
@media (max-width:1000px){
  .project-grid{grid-template-columns:repeat(2,1fr);}
  .process-track{grid-template-columns:repeat(3,1fr); gap:36px 0;}
  .process-step:nth-child(3)::after{display:none;}
  .values-grid{grid-template-columns:repeat(2,1fr);}
}

@media (max-width:860px){
  nav.primary-nav{
    position:fixed; top:0; right:0; height:100vh; width:78vw; max-width:340px;
    background:var(--bg-deep); flex-direction:column; align-items:flex-start; justify-content:center;
    gap:26px; padding:40px; transform:translateX(100%); transition:transform .35s ease;
    box-shadow:-10px 0 30px rgba(0,0,0,.4);
    border-left:1px solid var(--line);
  }
  nav.primary-nav.open{transform:translateX(0);}
  nav.primary-nav a.nav-link{font-size:18px;}
  .menu-toggle{display:flex;}
  .header-actions .btn-outline{display:none;}

  .hero .wrap{grid-template-columns:1fr;}
  .hero-visual{order:-1; aspect-ratio:16/10;}
  .hero h1{max-width:none;}

  .about .wrap{grid-template-columns:1fr;}
  .about-figure{max-width:360px; margin:0 auto;}

  .section-head{grid-template-columns:1fr; gap:20px;}

  .project-grid{grid-template-columns:1fr;}

  .service-row{grid-template-columns:50px 1fr;}
  .service-row .btn{grid-column:1/-1; justify-self:start; margin-top:4px;}

  .process-track{grid-template-columns:1fr; gap:30px;}
  .process-step::after{display:none !important;}

  .values-grid{grid-template-columns:1fr;}

  .contact .wrap{grid-template-columns:1fr;}
  form.enquiry{padding:30px 24px;}
  .form-row{grid-template-columns:1fr;}

  section{padding:80px 0;}

  .sticky-call{display:block;}
  body{padding-bottom:54px;}
}

@media (max-width:480px){
  .wrap{padding:0 20px;}
  .about-figure .frame-tab{font-size:26px; padding:16px 18px; top:-16px; right:-16px;}
}
