:root{
    --bg:#FAF7F2;
    --ink:#1B2420;
    --primary:#1F4B3F;
    --primary-light:#5B8C73;
    --accent:#C99A3C;
    --line:#DCD5C7;
    --card:#FFFFFF;
    --max:1120px;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, label.burger:focus-visible{
    outline:3px solid var(--accent);outline-offset:2px;
  }
  @media (prefers-reduced-motion:reduce){
    html{scroll-behavior:auto;}
    *{transition:none!important;}
  }
  body{
    margin:0;
    background:var(--bg);
    color:var(--ink);
    font-family:'Inter',system-ui,sans-serif;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3{
    font-family:'Fraunces',serif;
    font-weight:600;
    line-height:1.15;
    margin:0 0 .5em;
    color:var(--primary);
  }
  a{color:var(--primary);}
  img{max-width:100%;display:block;}
  .wrap{max-width:var(--max);margin:0 auto;padding:0 24px;}
  section{padding:88px 0;}
  .eyebrow{
    font-family:'Inter',sans-serif;
    font-size:.78rem;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--primary-light);
    font-weight:600;
    margin-bottom:14px;
    display:block;
  }

  /* NAV */
  header{
    position:sticky;top:0;z-index:50;
    background:rgba(250,247,242,.92);
    backdrop-filter:blur(6px);
    border-bottom:1px solid var(--line);
  }
  nav.wrap{
    display:flex;align-items:center;justify-content:space-between;
    height:72px;
  }
  .brand{font-family:'Fraunces',serif;font-weight:600;font-size:1.15rem;color:var(--primary);text-decoration:none;}
  .navlinks{display:flex;gap:28px;list-style:none;margin:0;padding:0;}
  .navlinks a{
    text-decoration:none;color:var(--ink);font-size:.95rem;font-weight:500;
    padding:6px 2px;border-bottom:2px solid transparent;transition:border-color .2s;
  }
  .navlinks a:hover{border-color:var(--accent);}
  .navcta{
    background:var(--primary);color:#fff!important;padding:10px 18px;border-radius:6px;
    font-weight:600;font-size:.9rem;
  }
  #menu-toggle{display:none;}
  .burger{display:none;cursor:pointer;font-size:1.6rem;color:var(--primary);background:none;border:none;}

  @media (max-width:860px){
    .navlinks{
      position:absolute;top:72px;left:0;right:0;background:var(--bg);
      flex-direction:column;gap:0;border-bottom:1px solid var(--line);
      max-height:0;overflow:hidden;transition:max-height .25s ease;
    }
    #menu-toggle:checked ~ .navlinks{max-height:400px;}
    .navlinks a{padding:16px 24px;border-bottom:1px solid var(--line);width:100%;}
    .burger{display:block;}
  }

  /* HERO */
  .hero{padding:72px 0 96px;}
  .hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;}
  .hero h1{font-size:clamp(2.1rem,4.4vw,3.2rem);}
  .hero .role{font-size:1.15rem;color:var(--primary-light);font-weight:600;margin-bottom:20px;font-family:'Fraunces',serif;}
  .hero p.lead{font-size:1.08rem;max-width:52ch;color:#333;}
  .hero-photo{
    aspect-ratio:4/5;border-radius:12px;overflow:hidden;position:relative;
  }
  .hero-photo img{width:100%;height:100%;object-fit:cover;}
  .cta-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px;}
  .btn{
    display:inline-flex;align-items:center;gap:8px;padding:13px 22px;border-radius:7px;
    font-weight:600;font-size:.95rem;text-decoration:none;border:1px solid transparent;
    transition:transform .15s ease, box-shadow .15s ease;
  }
  .btn:hover{transform:translateY(-1px);}
  .btn-primary{background:var(--accent);color:var(--ink);}
  .btn-primary:hover{box-shadow:0 6px 16px rgba(201,154,60,.35);}
  .btn-outline{border-color:var(--primary);color:var(--primary);}
  .btn-outline:hover{background:var(--primary);color:#fff;}
  .meta-row{display:flex;gap:18px;flex-wrap:wrap;margin-top:22px;font-size:.9rem;color:#555;}

  /* PERFIL */
  .perfil .wrap{max-width:820px;}
  .perfil p{font-size:1.08rem;}

  /* SIGNATURE — espectro de experiencia */
  .spectrum{padding:96px 0;background:var(--primary);color:#fff;}
  .spectrum h2{color:#fff;}
  .spectrum .eyebrow{color:var(--accent);}
  .spectrum-track{
    position:relative;margin-top:56px;
    display:grid;grid-template-columns:repeat(6,1fr);gap:0;
  }
  .spectrum-track::before{
    content:"";position:absolute;top:15px;left:calc(100%/12);right:calc(100%/12);
    height:2px;background:linear-gradient(90deg,var(--accent),rgba(255,255,255,.35));
  }
  .snode{text-align:center;padding:0 8px;position:relative;}
  .snode .dot{
    width:14px;height:14px;border-radius:50%;background:var(--accent);
    margin:8px auto 18px;position:relative;z-index:2;
    box-shadow:0 0 0 5px rgba(201,154,60,.18);
  }
  .snode h3{color:#fff;font-size:.92rem;margin-bottom:6px;font-weight:600;}
  .snode p{font-size:.78rem;color:rgba(255,255,255,.7);margin:0;}
  @media (max-width:760px){
    .spectrum-track{grid-template-columns:1fr;gap:28px;text-align:left;}
    .spectrum-track::before{display:none;}
    .snode{display:flex;gap:16px;align-items:flex-start;text-align:left;padding:0;}
    .snode .dot{margin:6px 0 0;flex:none;}
  }

  /* AREAS grid */
  .areas-grid{
    display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px;margin-top:48px;
  }
  .area-card{
    background:var(--card);border:1px solid var(--line);border-radius:10px;padding:26px 24px;
  }
  .area-card h3{font-size:1.02rem;margin-bottom:8px;}
  .area-card p{font-size:.9rem;color:#555;margin:0;}

  /* EXPERIENCIA */
  .exp-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;margin-top:44px;}
  .exp-card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:22px 24px;}
  .exp-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:4px;}
  .exp-head h3{font-size:1rem;margin:0;}
  .exp-period{font-size:.78rem;color:var(--primary-light);font-weight:600;white-space:nowrap;}
  .exp-role{font-size:.88rem;font-weight:600;color:var(--primary);margin:2px 0 8px;}
  .exp-desc{font-size:.87rem;color:#555;margin:0 0 6px;line-height:1.55;}
  .exp-desc:last-child{margin-bottom:0;}

  /* FORMACION */
  .form-highlight{
    background:var(--card);border:1px solid var(--line);border-radius:12px;padding:32px;margin-top:44px;
    display:grid;grid-template-columns:1fr 1fr;gap:24px;
  }
  .form-highlight .big{font-family:'Fraunces',serif;font-size:2.6rem;color:var(--primary);font-weight:600;line-height:1;}
  .form-highlight .cap{font-size:.85rem;color:#555;margin-top:8px;}
  .cert-list{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px 28px;}
  .cert-list li{padding-left:22px;position:relative;font-size:.95rem;}
  .cert-list li::before{content:"—";position:absolute;left:0;color:var(--accent);}
  @media (max-width:700px){.form-highlight{grid-template-columns:1fr;}}

  /* PROYECTOS */
  .proj-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-top:48px;}
  .proj-card{
    background:var(--card);border:1px solid var(--line);border-radius:10px;padding:26px;
    display:flex;flex-direction:column;gap:10px;
  }
  .proj-card h3{font-size:1.05rem;}
  .proj-card p{font-size:.9rem;color:#555;flex:1;margin:0;}
  .proj-card a.link{font-size:.85rem;font-weight:600;color:var(--primary);}

  /* CONTACTO */
  .contact{background:var(--primary);color:#fff;}
  .contact h2{color:#fff;}
  .contact .eyebrow{color:var(--accent);}
  .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;margin-top:44px;align-items:start;}
  .contact-info{display:flex;flex-direction:column;gap:16px;font-size:1rem;}
  .contact-info a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.35);}
  .contact-info a:hover{border-color:var(--accent);}
  form{display:flex;flex-direction:column;gap:14px;}
  form label{font-size:.8rem;color:rgba(255,255,255,.8);}
  form input, form textarea{
    padding:12px 14px;border-radius:6px;border:1px solid rgba(255,255,255,.3);
    background:rgba(255,255,255,.08);color:#fff;font-family:inherit;font-size:.95rem;
  }
  form input::placeholder, form textarea::placeholder{color:rgba(255,255,255,.5);}
  form button{
    margin-top:6px;background:var(--accent);color:var(--ink);border:none;padding:13px 20px;
    border-radius:7px;font-weight:600;cursor:pointer;font-size:.95rem;
  }
  form button:disabled{opacity:.7;cursor:default;}
  #form-status{font-size:.85rem;margin:4px 0 0;min-height:1.2em;}
  #form-status.success{color:#C8E6C9;}
  #form-status.error{color:#F5C6C6;}
  @media (max-width:760px){.contact-grid{grid-template-columns:1fr;}}

  footer{padding:32px 0;text-align:center;font-size:.82rem;color:#777;}

  @media (max-width:860px){
    .hero .wrap{grid-template-columns:1fr;}
    .hero-photo{max-width:280px;margin:0 auto;}
    section{padding:64px 0;}
  }

  /* Legibilidad en escritorio: más ancho útil y textos secundarios más grandes */
  @media (min-width:1024px){
    :root{--max:1280px;}
    .eyebrow{font-size:.85rem;}
    .hero p.lead{font-size:1.15rem;max-width:58ch;}
    .meta-row{font-size:.95rem;}
    .perfil p{font-size:1.15rem;}
    .area-card p{font-size:.98rem;}
    .exp-role{font-size:.95rem;}
    .exp-desc{font-size:.95rem;}
    .exp-period{font-size:.85rem;}
    .form-highlight .cap{font-size:.92rem;}
    .cert-list li{font-size:1.02rem;}
    .proj-card p{font-size:.95rem;}
    .contact-info{font-size:1.05rem;}
    #form-status{font-size:.92rem;}
  }


/* VIDEOCURRÍCULUM */
.video-cv{background:var(--card);}
.video-cv .video-intro{max-width:760px;color:#555;font-size:1rem;line-height:1.65;}
.video-frame{position:relative;width:100%;max-width:960px;margin:34px auto 0;aspect-ratio:16/9;border-radius:14px;overflow:hidden;box-shadow:0 18px 48px rgba(0,0,0,.12);background:#000;}
.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.video-actions{display:flex;justify-content:center;margin-top:22px;}
@media (max-width:700px){.video-frame{border-radius:10px;margin-top:24px}.video-cv .video-intro{font-size:.95rem;}}
