.top-contact { display:flex; align-items:center; gap:22px; }
.topbar .top-contact a { border:0; padding:0; }
.site-header { padding-top:8px; padding-bottom:8px; }
.site-header .brand { display:flex; align-items:center; min-width:230px; }
.site-header .brand img { width:220px; height:64px; object-fit:contain; object-position:left center; }
.site-header nav { flex:1; justify-content:flex-end; }
.hero-bg { object-position:center center; }
.hero-video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; background:#17110f; }
.quote-intro > img { width:310px; height:120px; object-fit:contain; object-position:left center; mix-blend-mode:normal; }
.direct-contact { display:flex; flex-direction:column; gap:7px; margin-top:28px; }
.direct-contact a { width:max-content; color:#f1dfbc; font-size:.85rem; border-bottom:1px solid #746451; }
.project-gallery { display:grid; grid-template-columns:repeat(2,1fr); gap:22px; margin-top:45px; }
.project-card { position:relative; min-height:520px; overflow:hidden; background:#18130f; color:white; }
.project-card-wide { min-height:620px; }
.project-card img { position:absolute; inset:0; height:100%; object-fit:cover; transition:transform .5s ease; }
.project-card:after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 38%,rgba(13,10,8,.88)); }
.project-card:hover img { transform:scale(1.035); }
.project-card>div { position:absolute; z-index:2; left:28px; right:28px; bottom:24px; }
.project-card span { color:var(--gold); text-transform:uppercase; letter-spacing:.16em; font-size:.65rem; font-weight:700; }
.project-card h3 { margin:8px 0 4px; font-family:"Playfair Display",serif; font-size:2rem; font-weight:500; }
.project-card p { margin:0; color:#d8cfc7; font-size:.84rem; }
.gallery-cta { display:flex; justify-content:space-between; align-items:center; padding:28px 0; border-bottom:1px solid var(--line); }
.gallery-cta p { margin:0; color:var(--muted); }
.project-stories { margin-top:48px; border-top:1px solid var(--line); }
.project-story { padding:58px 0 64px; border-bottom:1px solid var(--line); }
.story-heading { display:grid; grid-template-columns:1fr .7fr; gap:60px; align-items:end; margin-bottom:25px; }
.story-heading span { color:var(--gold); text-transform:uppercase; letter-spacing:.16em; font-size:.66rem; font-weight:700; }
.story-heading h3 { margin:8px 0 0; font:500 clamp(1.8rem,3vw,2.8rem)/1.1 "Playfair Display",serif; }
.story-heading p { max-width:440px; margin:0; color:var(--muted); }
.story-stages { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.story-stages figure { margin:0; min-width:0; }
.stage-image { position:relative; aspect-ratio:4/3; overflow:hidden; background:#211a15; }
.stage-image img { height:100%; object-fit:cover; transition:transform .45s ease; }
.stage-image:after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 58%,rgba(18,13,10,.54)); pointer-events:none; }
.stage-image span { position:absolute; z-index:2; left:14px; bottom:13px; background:var(--ink); color:white; padding:7px 11px; text-transform:uppercase; letter-spacing:.15em; font-size:.62rem; font-weight:700; }
.story-stages figure:hover img { transform:scale(1.025); }
.stage-motion img { animation:stage-breathe 7s ease-in-out infinite alternate; }
@keyframes stage-breathe { from{transform:scale(1)} to{transform:scale(1.045)} }
.story-stages figcaption { padding:13px 5px 0; color:var(--muted); font-size:.78rem; line-height:1.5; }
@media(max-width:900px){
  .top-contact { display:none; }
  .site-header .brand { min-width:180px; }
  .site-header .brand img { width:180px; height:58px; }
  .site-header nav { justify-content:flex-start; }
  .story-heading { grid-template-columns:1fr; gap:12px; }
}
@media(max-width:560px){
  .site-header .brand { min-width:145px; }
  .site-header .brand img { width:145px; height:50px; }
  .quote-intro > img { width:230px; height:90px; }
  .project-gallery { grid-template-columns:1fr; }
  .project-card,.project-card-wide { min-height:460px; }
  .gallery-cta { align-items:flex-start; flex-direction:column; gap:18px; }
  .project-story { padding:45px 0 50px; }
  .story-stages { grid-template-columns:1fr; gap:28px; }
  .story-stages figcaption { padding-top:9px; }
}
@media(prefers-reduced-motion:reduce){.stage-motion img{animation:none}}
