/* ── HOME PAGE STYLES ──────────────────────────────── */

.container { max-width:1200px; margin:0 auto; padding:0 60px; }

/* HERO */
.hero {
  position:relative;
  height:100vh;
  min-height:640px;
  display:flex;
  align-items:center;
  overflow:hidden;
}
.hero-slides { position:absolute; inset:0; }
.hero-slide {
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  opacity:0;
  transform:scale(1.06);
  transition: opacity 1.2s ease, transform 8s ease;
}
.hero-slide.active {
  opacity:1;
  transform:scale(1);
}
.hero-overlay {
  position:absolute;
  inset:0;
  background:linear-gradient(to right, rgba(8,8,8,0.85) 40%, rgba(8,8,8,0.3) 100%);
  z-index:1;
}
.hero-content {
  position:relative;
  z-index:2;
  padding:0 60px;
  max-width:800px;
}
.hero-label { margin-bottom:28px; }
.hero-title {
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(3.2rem,7vw,6.5rem);
  font-weight:300;
  line-height:1.05;
  margin-bottom:20px;
  overflow:hidden;
}
.hero-title .line-wrap { display:block; overflow:hidden; }
.hero-title .line {
  display:block;
  transform:translateY(100%);
  animation:lineReveal 1s cubic-bezier(0.76,0,0.24,1) forwards;
}
.hero-title .line-wrap:nth-child(2) .line { animation-delay:0.15s; }
@keyframes lineReveal {
  to { transform:translateY(0); }
}
.hero-title em { font-style:italic; color:var(--gold); }
.hero-sub {
  font-size:1rem;
  color:var(--muted);
  letter-spacing:0.08em;
  margin-bottom:40px;
  opacity:0;
  animation:fadeUp 0.8s ease 0.5s forwards;
}
.hero-actions {
  display:flex;
  gap:16px;
  flex-wrap:wrap;
  opacity:0;
  animation:fadeUp 0.8s ease 0.7s forwards;
}
@keyframes fadeUp {
  from { opacity:0; transform:translateY(20px); }
  to   { opacity:1; transform:translateY(0); }
}

/* Slide dots */
.hero-slide-nav {
  position:absolute;
  bottom:40px;
  left:60px;
  z-index:3;
  display:flex;
  gap:10px;
}
.slide-dot {
  width:28px; height:2px;
  background:rgba(255,255,255,0.25);
  border:none;
  cursor:none;
  transition:all var(--trans);
}
.slide-dot.active { background:var(--gold); width:48px; }

/* Scroll indicator */
.scroll-indicator {
  position:absolute;
  right:40px;
  bottom:40px;
  z-index:3;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
}
.scroll-indicator span {
  font-size:0.6rem;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--muted);
  writing-mode:vertical-rl;
}
.scroll-line {
  width:1px;
  height:60px;
  background:linear-gradient(to bottom, var(--gold), transparent);
  animation:scrollPulse 2s ease infinite;
}
@keyframes scrollPulse {
  0%,100% { transform:scaleY(1); opacity:1; }
  50% { transform:scaleY(0.5); opacity:0.4; }
}

/* INTRO SECTION */
.intro-section { padding:120px 0; }
.intro-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:start; }
.display-heading {
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(2.2rem,4vw,3.8rem);
  font-weight:300;
  line-height:1.1;
  margin-top:16px;
}
.display-heading em { font-style:italic; color:var(--gold); }
.intro-text { font-size:1rem; line-height:1.9; color:var(--muted); margin-bottom:48px; }
.intro-stats { display:flex; gap:40px; }
.stat { display:flex; flex-direction:column; gap:6px; }
.stat-num { font-family:'Cormorant Garamond',serif; font-size:2.4rem; font-weight:300; color:var(--text); }
.stat-label { font-size:0.68rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--muted); }

/* PROJECTS SECTION */
.projects-section { padding:100px 0; }
.section-header { margin-bottom:52px; }
.projects-showcase {
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-rows:auto auto;
  gap:2px;
}
.project-card {
  position:relative;
  overflow:hidden;
  background:var(--surface);
  cursor:none;
}
.card-large { grid-column:1/-1; height:520px; }
.card-half { height:380px; }
.card-img {
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  transition:transform 0.9s cubic-bezier(0.4,0,0.2,1);
  filter:brightness(0.6);
}
.project-card:hover .card-img { transform:scale(1.05); filter:brightness(0.45); }
.card-info {
  position:absolute;
  bottom:0; left:0; right:0;
  padding:32px 36px;
  background:linear-gradient(to top, rgba(8,8,8,0.92) 0%, transparent 100%);
  transform:translateY(8px);
  transition:transform var(--trans-slow);
}
.project-card:hover .card-info { transform:translateY(0); }
.card-tag {
  display:block;
  font-size:0.62rem;
  letter-spacing:0.2em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:8px;
  font-family:'Jost',sans-serif;
}
.card-info h3 {
  font-family:'Cormorant Garamond',serif;
  font-size:1.6rem;
  font-weight:400;
  margin-bottom:6px;
}
.card-info p { font-size:0.82rem; color:var(--muted); }
.card-link { position:absolute; inset:0; z-index:2; }

/* SERVICES STRIP */
.services-strip { padding:100px 0; background:var(--surface); }
.strip-header { margin-bottom:60px; }
.strip-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:2px; }
.strip-item {
  padding:40px 32px;
  border:1px solid var(--border);
  transition:border-color var(--trans), background var(--trans);
  position:relative;
  overflow:hidden;
}
.strip-item::before {
  content:'';
  position:absolute;
  bottom:0; left:0;
  width:0; height:2px;
  background:var(--gold);
  transition:width 0.5s ease;
}
.strip-item:hover { border-color:var(--gold-line); background:var(--surface2); }
.strip-item:hover::before { width:100%; }
.strip-num {
  font-family:'Cormorant Garamond',serif;
  font-size:3rem;
  font-weight:300;
  color:var(--border);
  line-height:1;
  margin-bottom:20px;
  transition:color var(--trans);
}
.strip-item:hover .strip-num { color:var(--gold-dim); }
.strip-item h3 {
  font-family:'Cormorant Garamond',serif;
  font-size:1.2rem;
  font-weight:400;
  margin-bottom:12px;
}
.strip-item p { font-size:0.82rem; color:var(--muted); line-height:1.7; }

/* CTA BAND */
.cta-band {
  position:relative;
  height:500px;
  display:flex;
  align-items:center;
}
.cta-img {
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  filter:brightness(0.3);
}
.cta-overlay {
  position:absolute;
  inset:0;
  background:linear-gradient(to right, rgba(8,8,8,0.7) 50%, transparent);
}
.cta-content {
  position:relative;
  z-index:1;
  padding:0 60px;
  max-width:600px;
}
.cta-content p { color:var(--muted); margin-top:12px; font-size:0.95rem; }

/* RESPONSIVE */
@media(max-width:900px){
  .container { padding:0 24px; }
  .hero-content { padding:0 24px; }
  .intro-grid { grid-template-columns:1fr; gap:40px; }
  .strip-grid { grid-template-columns:1fr 1fr; }
  .projects-showcase { grid-template-columns:1fr; }
  .card-large { height:360px; }
  .card-half { height:300px; }
  .intro-section { padding:72px 0; }
  .projects-section, .services-strip { padding:72px 0; }
  .cta-content { padding:0 24px; }
  .hero-slide-nav { left:24px; }
}
@media(max-width:580px){
  .strip-grid { grid-template-columns:1fr; }
  .intro-stats { flex-direction:column; gap:24px; }
  .hero-actions { flex-direction:column; }
  .cta-band { height:auto; padding:80px 0; }
}
