
 /* ---------- HOME HERO ---------- */
  .hero{
    background:var(--black); color:var(--white);
    min-height:100vh; display:flex; flex-direction:column; justify-content:flex-end;
    padding-top:78px; overflow:hidden; position:relative;
  }
  .hero-video{
    position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0.4;
  }
  .hero-video-overlay{
    position:absolute; inset:0;
    background:linear-gradient(180deg, rgba(0,0,0,0.2) 0%, rgba(0,0,0,0.75) 75%, rgba(0,0,0,0.95) 100%);
  }
  .hero-content{position:relative; padding:0 10px 80px 10px; z-index:2;}
  .hero-eyebrow{display:flex; align-items:center; gap:10px; margin-bottom:26px;
    opacity:0; animation:riseIn .9s .15s cubic-bezier(.16,1,.3,1) forwards;}
  .hero-eyebrow .dot{width:6px; height:6px; border-radius:50%; background:var(--orange);}
  .hero h1{
    font-size:clamp(38px, 6.4vw, 92px); max-width:16ch; font-weight:500;
    opacity:0; transform:translateY(24px);
    animation:riseIn 1s .3s cubic-bezier(.16,1,.3,1) forwards;
  }
  .hero h1 .accent{font-style:italic; font-weight:400; color:var(--orange);}
  .hero-sub{
    display:flex; justify-content:space-between; align-items:flex-end; gap:40px; margin-top:48px;
    flex-wrap:wrap; border-top:1px solid var(--line-dark); padding-top:28px;
    opacity:0; animation:riseIn 1s .55s cubic-bezier(.16,1,.3,1) forwards;
  }
  .hero-sub p{max-width:46ch; color:#C9C5C0; font-size:16px; line-height:1.6;}
  @keyframes riseIn{to{opacity:1; transform:translateY(0);}}

  .btn{
    display:inline-flex; align-items:center; gap:10px;
    font-family:var(--mono); font-size:13px; padding:15px 26px;
    background:var(--orange); color:var(--black);
    border:1px solid var(--orange);
    transition:background .25s ease, color .25s ease, transform .25s ease;
    white-space:nowrap;
  }
  .btn:hover{background:transparent; color:var(--white); transform:translateY(-2px);}
  .btn.dark{background:var(--black); color:var(--white); border-color:var(--black);}
  .btn.dark:hover{background:transparent; color:var(--black);}
  .btn.outline{background:transparent; color:var(--black); border-color:var(--black);}
  .btn.outline:hover{background:var(--black); color:var(--white);}
  .hero-sub .btn.outline{color:var(--white); border-color:#4A4A4A;}
  .hero-sub .btn.outline:hover{background:var(--white); color:var(--black);}

  /* ---------- MANIFESTO ---------- */
  .manifesto{padding:120px 0; background:var(--white);}
  .manifesto-grid{display:grid; grid-template-columns:200px 1fr; gap:60px;}
  .manifesto h2{
    font-size:clamp(28px, 3.4vw, 44px); font-style:italic; font-weight:400; max-width:20ch; line-height:1.3;
  }
  @media (max-width:800px){ .manifesto-grid{grid-template-columns:1fr;} }

  /* ---------- SHOWCASE ---------- */
  .showcase{padding:0 0 130px; background:var(--white);}
  .section-head{
    display:flex; justify-content:space-between; align-items:flex-end; gap:24px;
    padding-bottom:44px; margin-bottom:2px; flex-wrap:wrap;
  }
  .section-head h2{font-size:clamp(30px, 3.6vw, 48px);}
  .showcase-grid{display:grid; grid-template-columns:1fr 1fr; gap:2px; background:transparent;}
  .proj-card{
    background:var(--cream); position:relative; aspect-ratio:4/3; overflow:hidden; cursor:pointer;
    display:flex; flex-direction:column; justify-content:flex-end; padding:28px;
  }
  .proj-card img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
    transition:transform .6s cubic-bezier(.16,1,.3,1); opacity:0.94;}
  .proj-card:hover img{transform:scale(1.045);}
  .proj-card::before{
    content:''; position:absolute; inset:0;
    background:linear-gradient(180deg, rgba(0,0,0,0) 40%, rgba(0,0,0,0.55) 100%);
  }
  .proj-card-meta{position:relative; z-index:2; color:var(--white);}
  .proj-card-meta .label.on-dark{margin-bottom:8px; display:block;}
  .proj-card-meta h3{font-size:24px; font-weight:500;}
  @media (max-width:800px){ .showcase-grid{grid-template-columns:1fr;} }

  /* ---------- EXPERTISES ---------- */
  .expertises{padding:0 0 130px; background:var(--white);}
  .exp-list{border-top:1px solid var(--line-light);}
  .exp-item{
    display:grid; grid-template-columns:80px 1fr 1.2fr; gap:40px; align-items:start;
    padding:44px 0; border-bottom:1px solid var(--line-light);
  }
  .exp-item .label{padding-top:8px;}
  .exp-item h3{font-size:clamp(24px,2.6vw,34px); font-weight:500;}
  .exp-item p{color:var(--ink); line-height:1.65; max-width:52ch; padding-top:10px; font-size:15px;}
  @media (max-width:800px){ .exp-item{grid-template-columns:1fr; gap:12px;} }

  /* ---------- CTA FINAL ---------- */
  .cta-final{
    background:var(--black); color:var(--white); padding:130px 0; text-align:left;
  }
  .cta-final h2{font-size:clamp(32px,5vw,64px); max-width:14ch; margin-bottom:44px;}
  .cta-final-row{display:flex; align-items:center; gap:28px; flex-wrap:wrap;}