.hero-home{
  position:relative; min-height:100vh; background:var(--navy); color:var(--cream);
  display:flex; flex-direction:column; justify-content:center; padding-top:120px; padding-bottom:70px; overflow:hidden;
}
.hero-bg{ position:absolute; inset:0; z-index:0; }
.hero-photo{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.4; }
.hero-bg .blueprint{ position:absolute; inset:0; width:100%; height:100%; }
.hero-gradient{
  position:absolute; inset:0;
  background:radial-gradient(60% 60% at 78% 30%, rgba(176,141,87,.14), transparent 60%),
             linear-gradient(90deg, rgba(10,10,10,.97) 0%, rgba(10,10,10,.88) 42%, rgba(10,10,10,.55) 100%),
             linear-gradient(180deg, rgba(10,10,10,.3), var(--navy) 85%);
}
.hero-inner{ position:relative; z-index:1; }
.hero-home .eyebrow{ color:var(--gold); margin-bottom:26px; }
.hero-home .eyebrow::before{ background:var(--gold); }
.hero-home h1{
  color:var(--cream); font-size:clamp(2.8rem,7.4vw,6.6rem); line-height:.98; font-weight:400; letter-spacing:-.01em;
}
.hero-home h1 em{ font-style:italic; color:var(--gold); font-weight:300; }
.hero-home h1 .dot{ color:var(--gold); }
.hero-row{ display:flex; align-items:flex-end; justify-content:space-between; gap:50px; margin-top:44px; flex-wrap:wrap; }
.hero-sub{ max-width:38ch; font-size:1.05rem; color:rgba(247,245,243,.72); }
.hero-stats{ position:relative; z-index:1; display:flex; gap:70px; margin-top:90px; padding-top:34px; border-top:1px solid rgba(247,245,243,.14); flex-wrap:wrap; align-items:center; }
.stat-badge{ flex-direction:row !important; align-items:center; gap:14px; }
.stat-badge svg{ width:34px; height:34px; color:var(--gold); flex-shrink:0; }
.stat-badge span{ font-size:.8rem; line-height:1.35; color:rgba(247,245,243,.7); }
.scroll-cue{
  position:absolute; bottom:34px; right:var(--gutter); z-index:1; display:flex; align-items:center; gap:10px;
  font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; color:rgba(247,245,243,.5);
}
.scroll-cue span{ width:1px; height:34px; background:linear-gradient(var(--gold),transparent); position:relative; overflow:hidden; }
.scroll-cue span::after{ content:""; position:absolute; top:-100%; left:0; width:100%; height:100%; background:var(--gold); animation:cue 2.2s ease-in-out infinite; }
@keyframes cue{ 50%{ top:100%; } 100%{ top:100%; } }

.h-xl{ font-size:clamp(2rem,4vw,3.1rem); max-width:16ch; line-height:1.06; margin-top:14px; }
.section-head{ margin-bottom:56px; display:flex; flex-direction:column; gap:0; }
.section-head .btn{ align-self:flex-start; margin-top:26px; }
.lede{ margin-top:22px; max-width:44ch; color:var(--taupe); font-size:1.02rem; }

/* footprint */
.footprint{ background:var(--cream-2); }
.suburb-cloud{ display:flex; flex-wrap:wrap; gap:12px; align-content:flex-start; }
.suburb-cloud a{
  padding:12px 20px; border:1px solid var(--stone); border-radius:100px; font-size:.86rem; font-weight:600;
  color:var(--navy); transition:all .3s var(--ease-out);
}
.suburb-cloud a:hover{ background:var(--navy); color:var(--cream); border-color:var(--navy); transform:translateY(-3px); }
.suburb-cloud a:last-child{ background:var(--gold); border-color:var(--gold); color:var(--navy); }

/* services list */
.service-list li{ border-top:1px solid var(--stone); }
.service-list li:last-child{ border-bottom:1px solid var(--stone); }
.service-row{
  display:grid; grid-template-columns:60px 1fr 1.4fr 40px; align-items:center; gap:28px;
  padding:30px 6px; transition:padding-left .35s var(--ease-out), background .35s;
}
.service-row:hover{ padding-left:20px; background:var(--cream-2); }
.sr-num{ font-family:var(--f-display); color:var(--gold-2); font-size:.95rem; }
.sr-name{ font-family:var(--f-display); font-size:clamp(1.3rem,2.4vw,1.9rem); color:var(--navy); font-weight:400; }
.sr-desc{ color:var(--taupe); font-size:.92rem; max-width:48ch; }
.sr-arrow{ width:36px; height:36px; border-radius:50%; border:1px solid var(--stone); display:flex; align-items:center; justify-content:center; transition:all .35s var(--ease-out); justify-self:end; }
.sr-arrow svg{ width:15px; height:15px; color:var(--navy); }
.service-row:hover .sr-arrow{ background:var(--navy); border-color:var(--navy); transform:rotate(45deg); }
.service-row:hover .sr-arrow svg{ color:var(--cream); }

/* process */
.process-home{ background:var(--navy); color:var(--cream); }
.process-home .h-xl{ color:var(--cream); }
.process-grid{ display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; }
.p-step{ display:flex; gap:22px; padding:26px 0; border-top:1px solid rgba(247,245,243,.12); }
.p-step:last-child{ border-bottom:1px solid rgba(247,245,243,.12); }
.p-step .badge-num{ border-color:rgba(176,141,87,.5); color:var(--gold); flex-shrink:0; }
.p-step h3{ color:var(--cream); font-size:1.2rem; margin-bottom:6px; }
.p-step p{ color:rgba(247,245,243,.62); font-size:.92rem; max-width:42ch; }
.process-doc img{ border-radius:16px; box-shadow:0 40px 90px rgba(0,0,0,.45); transform:rotate(-2deg); border:1px solid rgba(247,245,243,.1); width:100%; }
.doc-frame{ position:relative; }
.doc-label{
  position:absolute; bottom:-18px; left:24px; background:var(--gold); color:var(--navy); font-family:var(--f-body);
  font-size:.7rem; font-weight:700; letter-spacing:.04em; padding:9px 16px; border-radius:6px; box-shadow:0 12px 26px rgba(0,0,0,.3);
  transform:rotate(-2deg);
}

/* work grid */
.work-home .section-head{ display:flex; flex-direction:row; align-items:flex-end; justify-content:space-between; flex-wrap:wrap; gap:20px; }
.work-home .section-head .btn{ margin-top:0; }
.work-grid{ display:grid; grid-template-columns:repeat(6,1fr); grid-auto-rows:130px; gap:18px; }
.work-card{
  position:relative; border-radius:16px; overflow:hidden; padding:24px; display:flex; flex-direction:column;
  justify-content:flex-end; color:var(--cream); background:linear-gradient(135deg,var(--wc,var(--navy)),var(--navy-3));
  transition:transform .5s var(--ease-out);
}
.work-card img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; transition:transform .6s var(--ease-out); }
.work-card:hover img{ transform:scale(1.06); }
.work-card::after{ content:""; position:absolute; inset:0; background:linear-gradient(0deg, rgba(10,10,10,.85) 0%, rgba(10,10,10,.2) 55%, rgba(10,10,10,.06) 100%); z-index:1; }
.work-card > *{ position:relative; z-index:2; }
.work-card:hover{ transform:translateY(-6px); }
.work-1{ grid-column:span 3; grid-row:span 2; }
.work-2{ grid-column:span 3; grid-row:span 2; }
.work-3{ grid-column:span 2; grid-row:span 1; }
.work-4{ grid-column:span 2; grid-row:span 1; }
.work-5{ grid-column:span 2; grid-row:span 1; }
.work-6{ grid-column:span 6; grid-row:span 1; }
.wc-cat{ font-size:.68rem; letter-spacing:.18em; text-transform:uppercase; color:var(--gold); margin-bottom:6px; }
.wc-title{ font-family:var(--f-display); font-size:1.15rem; }
.wc-loc{ font-size:.8rem; color:rgba(247,245,243,.6); }

/* testimonial */
.testimonial{ background:var(--cream-2); }
.t-inner{ max-width:760px; margin-inline:auto; text-align:center; }
.t-stars{ color:var(--gold-2); letter-spacing:.2em; margin-bottom:26px; }
.t-quote{ font-family:var(--f-display); font-size:clamp(1.4rem,3vw,2.1rem); color:var(--navy); line-height:1.35; font-weight:300; font-style:italic; }
.t-attr{ margin-top:22px; font-size:.85rem; color:var(--taupe); }

@media (max-width:980px){
  .process-grid{ grid-template-columns:1fr; }
  .service-row{ grid-template-columns:40px 1fr 30px; }
  .sr-desc{ display:none; }
  .work-grid{ grid-template-columns:repeat(2,1fr); grid-auto-rows:150px; }
  .work-1,.work-2,.work-3,.work-4,.work-5,.work-6{ grid-column:span 2; grid-row:span 1; }
  .scroll-cue{ display:none; }
  .hero-stats{ gap:34px; margin-top:50px; }
  .stat-badge{ width:100%; }
}
