    html, body {
      width: 100%;
      margin: 0;
      padding: 0;
      overflow-x: hidden; /* Previene scroll horizontal */
    }

    :root{
      --bg:#2b2b2b; /* dark */
      --panel:#222426;
      --muted:#9b9b9b;
      --gold:#f0efeb;
      --accent:#c29a6b;
      --max-w:1100px;
      --sidebar:#1f1f1f;
    }

	/*FONDO GENERAL DE LA PAGINA*/

    *{box-sizing:border-box}
    body{
	margin:0;
	font-family:Montserrat,system-ui,Segoe UI,Arial;
	background:var(--bg);
	color:var(--accent);
	-webkit-font-smoothing:antialiased}a{color:inherit;
	text-decoration:none;
    }

    .container{
	max-width:var(--max-w);
	margin:0 auto;
	padding:36px 20px
    }


    /* LAYOUT HERO CON BARRA LATERAL */
    .hero {
      display: flex;
      height: 100vh;
      width: 100%;
      margin: 0; 
      padding: 0; 	
    }

    /* Barra lateral */
    .hero-sidebar {
      width: 100px;
      background: var(--sidebar);
      color: white;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      align-items: center;
      padding: 30px 0;
    }

    .logo {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 8px;
      text-align: center;
    }

    .logo .mark {
      width: 80px;
      height: 80px;
      background: url("C:/Users/Sative/Documents/Ing. Emmanuel/Pagina web/image/Logo.png") no-repeat center center;
      background-size: cover;
      border:1px solid rgba(255,255,255,0.1);
      display:flex;
      align-items:center;
      justify-content:center;
      font-weight:900;
      font-family:"Playfair Display";
      border-radius:50%;
    }

    .logo-text {
      font-size:12px;
      color: var(--muted);
      line-height: 1.2;
    }

    .social-icons {
      display: flex;
      flex-direction: column;
      gap: 20px;
      align-items: center;
    }

    .social-icons a {
      color: white;
      font-size: 20px;
      transition: 0.3s;
    }

    .social-icons a:hover {
      color: var(--accent);
    }

    /* Parte principal con imagen */

    .hero-main {
      flex: 1;
      position: relative;
      background: url("C:/Users/Sative/Documents/Ing. Emmanuel/Pagina web/image/fondo.jpg") no-repeat center center;
      background-size: cover;
      display: flex;
      flex-direction: column;	
    }

    .hero-main::before {
      content:"";
      position:absolute;
      top:0;left:0;right:0;bottom:0;
      background:rgba(0,0,0,0.2);
    }


    .title a{color:var(--gold);transition:0.3s;}
    .title a:hover{color:var(--accent);}


    header { 
      animation-duration: 1.5s;
      animation-name: slidein;
      display:flex;
      justify-content:flex-end;
      align-items:center;
      padding:80px 200px;
      position: relative;
      z-index:2;
    }

    nav ul {display:flex;gap:20px;list-style:none;margin:0;padding:0;font-size:16px;color:var(--gold);}
    nav ul li a {padding:5px 10px;transition:0.3s;}
    nav ul li a:hover, nav ul li a.active {color:var(--accent);font-weight:700;border-bottom:2px solid var(--accent);}

    .hero-content {
      flex:1;
      display:flex;
      justify-content:flex-end;
      align-items:flex-start;
      padding: 50px 200px;
      position:relative;
      z-index:2;
    }

    .hero-text {
      max-width:800px;
      text-align:right;
      color:white;
    }

    .hero-text h1 {
      animation-duration: 1.5s;
      animation-name: slidein;
      font-size:4rem;
      font-family: Times New Roman;
      margin-bottom:1rem;
    }
    @keyframes slidein {
     from {
        margin-left: 100%;
        width: 300%;
      }

      to {
        margin-left: 0%;
        width: 100%;
      }
    }

    .hero-text p {
      animation-duration: 1.5 s;
      animation-name: slidein;
      font-size:1.2rem;
    }

    /* Secciones */

    section{padding:56px 0;border-top:1px solid rgba(255,255,255,0.02)}

    .about{
	display:grid;
	grid-template-columns:1fr 400px;
	gap:30px;
	align-items:start
    }
    .about .title{
	font-size:28px;
	letter-spacing:2px;
	color:var(--gold);
	font-weight:700
    }
    .card{
	background:linear-gradient(180deg, rgba(255,255,255,0.01), rgba(255,255,255,0.00));
	padding:18px;border-radius:4px;
	border:1px solid rgba(255,255,255,0.03)
    }
    .about img{ width:100%; border-radius:4px; display:block }


    .projects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
    .project{height:220px;background:#111;border-radius:4px;overflow:hidden;position:relative}
    .project img{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.8)}
    .project .caption{position:absolute;left:16px;bottom:16px;background:rgba(10,10,10,0.6);padding:10px 14px;border-radius:2px;font-weight:700}

    .services{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:18px
    }
    .service{
	padding:26px;
	text-align:center;
	border-radius:6px
     }
    .service h4{margin:12px 0 6px;color:var(--muted);font-size:16px}
    .service p{font-size:13px;color:var(--muted);line-height:1.5}

    .contact{
      width: 100%;
      background:var(--sidebar); 
      padding:50px 0; 
    }

    .contact .contact-content{  
      display:grid;
      grid-template-columns:1fr 500px;
      gap:30px;
      align-items:start;
      max-width:var(--max-w);
      margin:0 auto; 
      padding:0 20px;
    }
    .contact .title{
 	font-size:28px;
	letter-spacing:2px;
	color:var(--gold);
	font-weight:700   
    }
    .contact img{
	width:50%;
	border-radius:10px;
	display:block
    }

    /* Formulario */
    form {
	display:flex;
	flex-direction:column;
	gap:15px;
	max-width:500px;
    }
    input, textarea {
	padding:10px;
	border:1px solid var(--muted);
	border-radius:4px;
	background:#111;
	color:white;
	font-size:14px;
    }
    button {
	background:var(--accent);
	border:none;
	padding:12px;
	color:white;
	font-weight:700;
	border-radius:6px;
	cursor:pointer;
	transition:0.3s;
    }
    button:hover {background:#a3794f;}

    footer{padding:40px 0;color:var(--muted);font-size:14px}

    /* ========= RESPOSIVE ========= */

    @media (max-width:1200px){
      .hero-text h1 {font-size:3rem;}
    }
    @media (max-width:900px){
      .hero{flex-direction:column}
      .hero-sidebar{
        flex-direction:row;
        width:100%;
        height:100px;
        padding:10px 20px;
      }
      .social-icons{
        flex-direction:row;
        gap:15px;
      }
      .logo {transform:scale(.8)}
      .hero-main{height:auto;min-height:420px}
      .hero-content{padding:30px}
      .hero-text h1 {font-size:2.5rem;}
      .contact .contact-content{
        grid-template-columns:1fr;
      }

      header{padding:40px 25px}
    }
    @media (max-width:600px){
      .hero-text h1 {font-size:1.8rem;}
      .hero-text p {font-size:1rem;}
      nav ul {font-size:15px;gap:5px}
    }
    @media (max-width:900px){
      .about{grid-template-columns:1fr;}
      .projects-grid{grid-template-columns:1fr}
      .services{grid-template-columns:1fr}
    }

    /* ========= Animaciones scroll ========= */
    .reveal {
      opacity: 0;
      transform: translateX(100px);
      transition: all 1s ease;
    }
    .reveal.active {
      opacity: 1;
      transform: translateX(0);
    }
    .reveal-left {
      transform: translateX(-100px); /* desde izquierda */
    }
    .reveal-right {
      transform: translateX(100px);  /* desde derecha */
    }