*{box-sizing:border-box}
body{
margin:0;
font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",sans-serif;
background:#fff;
color:#111;
}
header{
padding:30px 6%;
font-size:24px;
font-weight:700;
}
.hero{
height:90vh;
display:flex;
flex-direction:column;
justify-content:center;
padding:0 8%;
}
.hero h1{
font-size:clamp(60px,12vw,160px);
margin:0;
letter-spacing:-5px;
}
.hero p{font-size:30px}
.intro{font-size:20px!important;color:#555}
section{padding:80px 8%}
h2{font-size:60px}
.project{
margin:100px 0;
}
.project h3{font-size:22px}
.project img{
width:100%;
max-width:1100px;
display:block;
margin:40px 0;
border-radius:20px;
transition:.6s;
}
.project img:hover{
transform:scale(1.03);
}
.text{
max-width:700px;
font-size:20px;
line-height:1.8;
color:#444;
}
.about{
min-height:50vh;
}
.reveal{
opacity:0;
transform:translateY(60px);
transition:1s;
}
.reveal.show{
opacity:1;
transform:none;
}

/* LMM v7 refinement - keep original style */
html { scroll-behavior: smooth; }

section, .work-card, .project-card {
  will-change: transform, opacity;
}

@media (max-width:768px){
  body{
    overflow-x:hidden;
  }
  h1,h2{
    letter-spacing:-0.045em;
  }
  .project-card img,
  .work-card img{
    width:100%;
    object-fit:cover;
    border-radius:18px;
  }
}

/* subtle premium motion */
.fade-up{
  opacity:0;
  transform:translateY(35px);
  transition:all .9s cubic-bezier(.22,.61,.36,1);
}
.fade-up.show{
  opacity:1;
  transform:translateY(0);
}

.project-card{
  transition:transform .5s cubic-bezier(.22,.61,.36,1);
}
.project-card:hover{
  transform:translateY(-8px);
}

/* LMM v8 tablet responsive layout */
@media (min-width:769px) and (max-width:1200px){
  .container, main, section {
    padding-left:48px;
    padding-right:48px;
  }

  h1 {
    font-size:clamp(64px,8vw,110px);
    line-height:.95;
  }

  .works-grid,
  .project-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:32px;
  }

  .project-card img,
  .work-card img {
    aspect-ratio:4/3;
    object-fit:cover;
  }

  .hero {
    min-height:100svh;
    display:flex;
    align-items:center;
  }
}

/* iPad portrait/landscape safe spacing */
@media (min-width:769px) and (max-width:1024px){
  .title {
    max-width:800px;
  }

  .description {
    max-width:520px;
    font-size:18px;
    line-height:1.8;
  }
}
