@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,700;1,400&family=DM+Sans:wght@300;400;500&display=swap');

*{margin:0;padding:0;box-sizing:border-box;}
:root{
  --cream:#F7F4EF;
  --dark:#1C1A17;
  --gold:#C4963A;
  --gold-light:#E8C97A;
  --muted:#7A7670;
  --border:rgba(28,26,23,0.12);
  --white:#FFFFFF;
}
html{scroll-behavior:smooth;}
body{font-family:'DM Sans',sans-serif;background:var(--cream);color:var(--dark);overflow-x:hidden;}

/* NAV */
nav{display:flex;justify-content:space-between;align-items:center;padding:1.4rem 3rem;border-bottom:0.5px solid var(--border);background:var(--cream);position:sticky;top:0;z-index:100;}
.nav-logo{font-family:'Playfair Display',serif;font-size:1.15rem;font-weight:700;text-decoration:none;color:var(--dark);}
.nav-logo span{color:var(--gold);}
.nav-links{display:flex;gap:2rem;list-style:none;}
.nav-links a{font-size:0.82rem;font-weight:400;color:var(--muted);text-decoration:none;letter-spacing:0.05em;text-transform:uppercase;transition:color 0.2s;}
.nav-links a:hover, .nav-links a.active{color:var(--dark);}
.nav-cta{font-size:0.82rem;font-weight:500;color:var(--dark);text-decoration:none;border:0.5px solid var(--dark);padding:0.5rem 1.2rem;transition:all 0.2s;}
.nav-cta:hover{background:var(--dark);color:var(--cream);}

/* HERO */
.hero{display:grid;grid-template-columns:1fr 1fr;min-height:90vh;align-items:center;}
.hero-text{padding:5rem 3rem;}
.hero-eyebrow{font-size:0.72rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--gold);font-weight:500;margin-bottom:1.5rem;display:flex;align-items:center;gap:0.7rem;}
.hero-eyebrow::before{content:'';display:inline-block;width:36px;height:1px;background:var(--gold);}
.hero-title{font-family:'Playfair Display',serif;font-size:clamp(2.8rem,4vw,4.5rem);font-weight:700;line-height:1.07;letter-spacing:-0.03em;margin-bottom:1.2rem;}
.hero-title em{font-style:italic;color:var(--gold);}
.hero-sub{font-size:1rem;color:var(--muted);font-weight:300;line-height:1.75;max-width:380px;margin-bottom:2.5rem;}
.hero-actions{display:flex;gap:1.2rem;align-items:center;}
.btn-dark{background:var(--dark);color:var(--cream);padding:0.85rem 2rem;font-size:0.88rem;font-weight:500;border:none;cursor:pointer;text-decoration:none;transition:opacity 0.2s;display:inline-block;}
.btn-dark:hover{opacity:0.82;}
.btn-link{color:var(--dark);font-size:0.88rem;text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:1px;}
.hero-img{height:90vh;background:#E8E3DA;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;}
.hero-img img{width:100%;height:100%;object-fit:cover;}
.hero-img::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--gold),var(--gold-light),var(--gold));}

/* STRIP */
.strip{display:grid;grid-template-columns:repeat(4,1fr);border-top:0.5px solid var(--border);border-bottom:0.5px solid var(--border);}
.strip-item{padding:0;border-right:0.5px solid var(--border);text-decoration:none;color:inherit;transition:background 0.2s;overflow:hidden;display:block;}
.strip-item:last-child{border-right:none;}
.strip-item:hover{background:rgba(196,150,58,0.06);}
.strip-img{width:100%;height:180px;object-fit:cover;object-position:left center;display:block;}
.strip-info{padding:1.2rem 2rem 2rem;}
.strip-num{font-size:0.68rem;letter-spacing:0.12em;color:var(--gold);font-weight:500;margin-bottom:0.5rem;text-transform:uppercase;}
.strip-title{font-family:'Playfair Display',serif;font-size:1.1rem;font-weight:700;margin-bottom:0.35rem;}
.strip-desc{font-size:0.78rem;color:var(--muted);line-height:1.5;}

/* SECTIONS */
.section{padding:5.5rem 3rem;}
.section-hero{width:100%;height:340px;object-fit:cover;object-position:left center;display:block;}
.section-header{display:flex;align-items:baseline;gap:1.5rem;margin-bottom:3rem;border-bottom:0.5px solid var(--border);padding-bottom:1.5rem;}
.section-label{font-size:0.68rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--gold);font-weight:500;white-space:nowrap;}
.section-title{font-family:'Playfair Display',serif;font-size:1.9rem;font-weight:700;letter-spacing:-0.02em;}

/* FORMA DE TRABAJAR */
.trabajar{background:var(--white);border-top:0.5px solid var(--border);border-bottom:0.5px solid var(--border);padding:5rem 3rem;}
.trabajar-intro{max-width:560px;margin-bottom:3.5rem;}
.trabajar-intro p.label{font-size:0.72rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--gold);font-weight:500;margin-bottom:1.2rem;}
.trabajar-intro h2{font-family:'Playfair Display',serif;font-size:clamp(1.8rem,3vw,2.6rem);font-weight:700;line-height:1.12;letter-spacing:-0.02em;margin-bottom:1.2rem;}
.trabajar-intro h2 em{font-style:italic;color:var(--gold);}
.trabajar-intro p.body{font-size:0.95rem;color:var(--muted);font-weight:300;line-height:1.8;}
.trabajar-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:0.5px solid var(--border);}
.trabajar-item{padding:2rem;border-right:0.5px solid var(--border);}
.trabajar-item:last-child{border-right:none;}
.trabajar-line{width:36px;height:1px;background:var(--gold);margin-bottom:1.5rem;}
.trabajar-item h3{font-family:'Playfair Display',serif;font-size:1.1rem;font-weight:700;margin-bottom:0.7rem;}
.trabajar-item p{font-size:0.82rem;color:var(--muted);line-height:1.65;}

/* CRÓNICAS */
.cronicas-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border:0.5px solid var(--border);}
.cronica-card{padding:2.2rem;border-right:0.5px solid var(--border);border-bottom:0.5px solid var(--border);cursor:pointer;transition:background 0.2s;text-decoration:none;color:inherit;display:block;}
.cronica-card:nth-child(2n){border-right:none;}
.cronica-card:nth-last-child(-n+2){border-bottom:none;}
.cronica-card:hover{background:rgba(196,150,58,0.04);}
.cronica-tag{display:inline-block;font-size:0.65rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--gold);border:0.5px solid var(--gold);padding:0.2rem 0.6rem;margin-bottom:0.9rem;}
.cronica-title{font-family:'Playfair Display',serif;font-size:1.2rem;font-weight:700;line-height:1.25;margin-bottom:0.7rem;}
.cronica-excerpt{font-size:0.82rem;color:var(--muted);line-height:1.65;font-style:italic;}
.cronica-date{margin-top:1.2rem;font-size:0.7rem;color:var(--muted);letter-spacing:0.05em;}

/* ARTICLE */
.article-wrap{padding:4rem 3rem;max-width:780px;margin:0 auto;}
.article-back{font-size:0.82rem;color:var(--muted);text-decoration:none;display:inline-flex;align-items:center;gap:0.4rem;margin-bottom:2.5rem;}
.article-back:hover{color:var(--dark);}
.article-tag{display:inline-block;font-size:0.65rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--gold);border:0.5px solid var(--gold);padding:0.2rem 0.6rem;margin-bottom:1.2rem;}
.article-title{font-family:'Playfair Display',serif;font-size:clamp(2rem,4vw,3rem);font-weight:700;line-height:1.1;letter-spacing:-0.03em;margin-bottom:1rem;}
.article-date{font-size:0.75rem;color:var(--muted);margin-bottom:2.5rem;letter-spacing:0.05em;}
.article-divider{width:40px;height:1px;background:var(--gold);margin-bottom:2.5rem;}
.article-body p{font-size:1.02rem;font-weight:300;line-height:1.85;color:var(--dark);margin-bottom:1.3rem;}

/* COPY */
.copy-caso{display:grid;grid-template-columns:1fr 1fr;gap:0;border:0.5px solid var(--border);overflow:hidden;margin-bottom:2rem;}
.copy-caso-text{padding:2rem;}
.copy-num{font-size:0.68rem;letter-spacing:0.1em;color:var(--gold);font-weight:500;margin-bottom:1rem;text-transform:uppercase;}
.copy-title{font-family:'Playfair Display',serif;font-size:1.15rem;font-weight:700;margin-bottom:0.6rem;}
.copy-desc{font-size:0.82rem;color:var(--muted);line-height:1.6;}
.copy-caso img{width:100%;height:100%;object-fit:cover;display:block;}
.copy-sublabel{font-size:0.68rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--gold);font-weight:500;margin-bottom:1.5rem;margin-top:3rem;}

/* NARRATIVA */
.narrativa-box{border:0.5px solid var(--border);padding:3rem;display:grid;grid-template-columns:1fr 2fr;gap:3rem;align-items:center;}
.narrativa-label{font-family:'Playfair Display',serif;font-size:2.5rem;font-weight:700;font-style:italic;color:var(--gold);opacity:0.25;line-height:1;}
.narrativa-text p{font-size:0.95rem;color:var(--muted);line-height:1.8;font-weight:300;margin-bottom:1rem;}

/* SOBRE MÍ */
.sobre-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:5rem;align-items:start;}
.sobre-img{aspect-ratio:3/4;overflow:hidden;}
.sobre-img img{width:100%;height:100%;object-fit:cover;object-position:center top;}
.sobre-content h2{font-family:'Playfair Display',serif;font-size:2.2rem;font-weight:700;line-height:1.15;letter-spacing:-0.02em;margin-bottom:1.8rem;}
.sobre-content h2 em{font-style:italic;color:var(--gold);}
.sobre-content p{font-size:0.95rem;color:var(--muted);font-weight:300;line-height:1.85;margin-bottom:1rem;}
.sobre-quote{border-left:2px solid var(--gold);padding:1rem 1.5rem;margin:1.8rem 0;}
.sobre-quote p{font-family:'Playfair Display',serif;font-style:italic;font-size:1rem;color:var(--dark);line-height:1.6;margin:0;}
.sobre-tags{display:flex;flex-wrap:wrap;gap:0.4rem;margin-top:1.8rem;}
.sobre-tag{font-size:0.68rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--gold);border:0.5px solid var(--gold);padding:0.25rem 0.7rem;}

/* SERVICIOS */
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
.service-card{border:0.5px solid var(--border);padding:2rem;transition:border-color 0.2s;}
.service-card:hover{border-color:var(--gold);}
.service-line{width:36px;height:1px;background:var(--gold);margin-bottom:1.5rem;}
.service-name{font-family:'Playfair Display',serif;font-size:1.2rem;font-weight:700;margin-bottom:0.6rem;}
.service-desc{font-size:0.82rem;color:var(--muted);line-height:1.65;}

/* CONTACTO */
.contact{background:var(--dark);color:var(--cream);padding:6rem 3rem;text-align:center;min-height:70vh;display:flex;flex-direction:column;align-items:center;justify-content:center;}
.contact h2{font-family:'Playfair Display',serif;font-size:2.8rem;font-weight:700;letter-spacing:-0.03em;margin-bottom:1rem;}
.contact h2 em{font-style:italic;color:var(--gold-light);}
.contact p{font-size:0.95rem;color:rgba(247,244,239,0.55);font-weight:300;margin-bottom:2.5rem;max-width:360px;line-height:1.7;}
.contact-email{font-family:'Playfair Display',serif;font-size:1.5rem;color:var(--gold-light);text-decoration:none;border-bottom:1px solid rgba(232,201,122,0.35);padding-bottom:3px;}
.contact-social{margin-top:2.5rem;display:flex;justify-content:center;gap:2rem;}
.contact-social a{font-size:0.78rem;letter-spacing:0.08em;text-transform:uppercase;color:rgba(247,244,239,0.45);text-decoration:none;transition:color 0.2s;}
.contact-social a:hover{color:var(--gold-light);}

/* FOOTER */
footer{padding:1.5rem 3rem;border-top:0.5px solid var(--border);display:flex;justify-content:space-between;align-items:center;font-size:0.75rem;color:var(--muted);}

/* ================================
   RESPONSIVE — MÓVIL
   ================================ */

@media (max-width: 768px) {

  /* NAV — menú hamburguesa */
  nav {
    padding: 1.2rem 1.5rem;
    flex-wrap: wrap;
    position: relative;
  }
  .nav-links {
    display: none;
    flex-direction: column;
    gap: 0;
    width: 100%;
    margin-top: 1rem;
    border-top: 0.5px solid var(--border);
  }
  .nav-links.open { display: flex; }
  .nav-links li { border-bottom: 0.5px solid var(--border); }
  .nav-links a {
    display: block;
    padding: 0.9rem 0;
    font-size: 0.9rem;
  }
  .nav-cta { display: none; }
  .nav-hamburger {
    display: flex;
    flex-direction: column;
    gap: 5px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 4px;
  }
  .nav-hamburger span {
    display: block;
    width: 22px;
    height: 1.5px;
    background: var(--dark);
    transition: all 0.2s;
  }

  /* HERO */
  .hero {
    grid-template-columns: 1fr;
    min-height: auto;
  }
  .hero-text {
    padding: 3rem 1.5rem 2rem;
    order: 2;
  }
  .hero-img {
    height: 55vw;
    min-height: 260px;
    order: 1;
  }
  .hero-sub { max-width: 100%; }

  /* TRABAJAR */
  .trabajar { padding: 3rem 1.5rem; }
  .trabajar-grid { grid-template-columns: 1fr; }
  .trabajar-item { border-right: none; border-bottom: 0.5px solid var(--border); }
  .trabajar-item:last-child { border-bottom: none; }

  /* STRIP */
  .strip { grid-template-columns: 1fr 1fr; }
  .strip-item:nth-child(2) { border-right: none; }
  .strip-item:nth-child(3) { border-right: 0.5px solid var(--border); }
  .strip-item:nth-child(n+3) { border-top: 0.5px solid var(--border); }
  .strip-img { height: 120px; }
  .strip-info { padding: 0.8rem 1rem 1.2rem; }
  .strip-desc { display: none; }

  /* SECTIONS */
  .section { padding: 2.5rem 1.5rem; }
  .section-hero { height: 200px; }
  .section-header { flex-direction: column; gap: 0.4rem; }

  /* CRÓNICAS */
  .cronicas-grid { grid-template-columns: 1fr; }
  .cronica-card { border-right: none; }
  .cronica-card:nth-last-child(-n+2) { border-bottom: 0.5px solid var(--border); }
  .cronica-card:last-child { border-bottom: none; }

  /* ARTICLE */
  .article-wrap { padding: 2rem 1.5rem; }
  .article-title { font-size: 1.8rem; }

  /* COPYWRITING */
  .copy-caso {
    grid-template-columns: 1fr;
  }
  .copy-caso img {
    height: 220px;
    width: 100%;
    object-fit: cover;
  }

  /* NARRATIVA */
  .narrativa-box {
    grid-template-columns: 1fr;
    gap: 1rem;
    padding: 1.5rem;
  }
  .narrativa-label { font-size: 1.5rem; opacity: 0.15; }

  /* SOBRE MÍ */
  .sobre-grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .sobre-img {
    aspect-ratio: 4/3;
    max-height: 320px;
  }
  .sobre-content h2 { font-size: 1.7rem; }

  /* SERVICIOS */
  .services-grid { grid-template-columns: 1fr; }

  /* CONTACTO */
  .contact { padding: 4rem 1.5rem; min-height: auto; }
  .contact h2 { font-size: 2rem; }
  .contact-email { font-size: 1.1rem; }

  /* FOOTER */
  footer {
    flex-direction: column;
    gap: 0.4rem;
    text-align: center;
    padding: 1.2rem 1.5rem;
  }
}
