  :root{
    --bg: #FAF5EF;
    --bg-alt: #F1E8DC;
    --ink: #33291F;
    --ink-soft: #6B5D4F;
    --sage: #8A9A78;
    --sage-deep: #64735A;
    --clay: #D8A48F;
    --terracotta: #A3573E;
    --line: #E4D9C8;
    --radius: 20px;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--bg);
    color:var(--ink);
    font-family:'Inter',sans-serif;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3{
    font-family:'Fraunces',serif;
    font-weight:500;
    line-height:1.15;
    color:var(--ink);
  }
  a{color:inherit;text-decoration:none;}
  img{max-width:100%;display:block;}
  .wrap{max-width:1080px;margin:0 auto;padding:0 28px;}
  .eyebrow{
    font-size:13px;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--sage-deep);
    font-weight:600;
    display:inline-flex;
    align-items:center;
    gap:10px;
  }
  .eyebrow::before{
    content:"";
    width:22px;height:1px;
    background:var(--sage-deep);
    display:inline-block;
  }
  .eyebrow.no-line::before{display:none;}
  section{padding:96px 0;}
  @media(max-width:640px){ section{padding:64px 0;} }

  /* ===== HEADER ===== */
  header{
    position:sticky;top:0;z-index:50;
    background:rgba(250,245,239,.9);
    backdrop-filter:blur(8px);
    border-bottom:1px solid var(--line);
  }
  header .wrap{
    display:flex;align-items:center;justify-content:space-between;
    padding-top:18px;padding-bottom:18px;
  }
  .logo{font-family:'Fraunces',serif;font-size:20px;font-weight:600;}
  .logo span{color:var(--sage-deep);}
  nav{display:flex;align-items:center;gap:32px;font-size:15px;font-weight:500;}
  nav a{opacity:.75;transition:opacity .2s;white-space:nowrap;}
  nav a:hover{opacity:1;}
  .nav-cta{
    background:var(--terracotta);color:#fff !important;
    padding:8px 18px;border-radius:100px;
    font-size:14px;font-weight:600;opacity:1 !important;
    white-space:nowrap;line-height:1.4;
  }
  @media(max-width:920px){ nav a:not(.nav-cta){display:none;} }

  .menu-toggle{
    display:none;background:none;border:none;cursor:pointer;padding:6px;
    color:var(--ink);
  }
  .menu-toggle svg{width:22px;height:22px;display:block;}
  @media(max-width:920px){ .menu-toggle{display:flex;align-items:center;} }

  .mobile-nav{
    display:none;position:absolute;top:100%;left:0;right:0;
    background:var(--bg);border-bottom:1px solid var(--line);
    box-shadow:0 16px 30px -16px rgba(51,41,31,.18);
    flex-direction:column;
  }
  .mobile-nav.open{display:flex;}
  .mobile-nav a{
    padding:14px 28px;font-size:16px;font-weight:500;color:var(--ink);
    border-top:1px solid var(--line);
  }
  .mobile-nav a:first-child{border-top:none;}

  /* ===== HERO ===== */
  .hero-outer{padding-top:80px;padding-bottom:80px;}
  @media(max-width:860px){ .hero-outer{padding-top:0;padding-bottom:32px;} }
  .hero{
    padding-top:80px;padding-bottom:80px;
    display:grid;grid-template-columns:1fr 1.05fr;gap:56px;align-items:center;
  }
  @media(max-width:860px){ .hero{grid-template-columns:1fr;text-align:center;} .hero .hero-photo-wrap{order:-1;} }
  .hero h1{
    font-size:clamp(34px,5vw,54px);
    margin-bottom:22px;
  }
  .hero h1.quote{
    font-size:clamp(24px,3.1vw,32px);
    font-style:italic;
    font-weight:400;
    line-height:1.4;
  }
  .hero h1 em{
    font-style:italic;color:var(--sage-deep);
  }
  .hero p.lead{
    font-size:18px;color:var(--ink-soft);
    max-width:480px;margin-bottom:32px;
  }
  @media(max-width:860px){ .hero p.lead{margin-left:auto;margin-right:auto;} }
  .cta-row{display:flex;gap:16px;flex-wrap:wrap;}
  @media(max-width:860px){ .cta-row{justify-content:center;} }
  .btn{
    display:inline-flex;align-items:center;gap:8px;
    padding:15px 28px;border-radius:100px;
    font-weight:600;font-size:15px;
    transition:transform .2s ease, box-shadow .2s ease;
  }
  .btn-primary{background:var(--terracotta);color:#fff;}
  .btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 24px -8px rgba(163,87,62,.55);}
  .btn-ghost{border:1.5px solid var(--ink);color:var(--ink);}
  .btn-ghost:hover{background:var(--ink);color:var(--bg);}

  /* hero photo */
  .hero-photo-wrap{
    display:flex;align-items:center;justify-content:center;
    position:relative;
  }
  .hero-photo{
    width:100%;max-width:400px;aspect-ratio:4/5;object-fit:cover;
    border-radius:24px;
    border:6px solid var(--bg);
    box-shadow:0 30px 60px -20px rgba(51,41,31,.35), 0 0 0 1.5px var(--line);
  }
  @media(max-width:860px){ .hero-photo{max-width:320px;} }

  /* ===== SOBRE MI ===== */
  .about{
    background:var(--bg-alt);
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
  }
  .about .grid{
    display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:center;
  }
  @media(max-width:780px){ .about .grid{grid-template-columns:1fr;} }
  .about h2{font-size:clamp(28px,4vw,38px);margin-bottom:20px;}
  .about p{color:var(--ink-soft);margin-bottom:16px;max-width:560px;}
  .credential-card{
    background:var(--bg);
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:28px;
  }
  .credential-card h3{
    font-size:15px;text-transform:uppercase;letter-spacing:.08em;
    font-family:'Inter',sans-serif;font-weight:700;color:var(--sage-deep);
    margin-bottom:16px;
  }
  .credential-card ul{list-style:none;}
  .credential-card li{
    padding:14px 0;border-top:1px solid var(--line);
    font-size:15px;
  }
  .credential-card li:first-child{border-top:none;padding-top:0;}
  .credential-card li strong{display:block;font-family:'Fraunces',serif;font-size:17px;font-weight:500;margin-bottom:2px;}
  .credential-card li span{color:var(--ink-soft);font-size:14px;}

  /* ===== ESPECIALIDADES ===== */
  .specialties h2{font-size:clamp(28px,4vw,38px);margin-bottom:14px;text-align:center;}
  .specialties > .wrap > p{
    text-align:center;color:var(--ink-soft);max-width:560px;margin:0 auto 48px;
  }
  .spec-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;}
  @media(max-width:700px){ .spec-grid{grid-template-columns:1fr;} }
  .spec-card{
    background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);
    padding:36px;position:relative;overflow:hidden;
  }
  .spec-card .icon{width:52px;height:52px;margin-bottom:20px;}
  .spec-card h3{font-size:22px;margin-bottom:12px;}
  .spec-card p{color:var(--ink-soft);font-size:15px;}
  .spec-card.clay{border-color:var(--clay);}
  .spec-card.sage{border-color:var(--sage);}
  .spec-list{list-style:none;margin-top:18px;display:flex;flex-direction:column;gap:10px;}
  .spec-list li{
    position:relative;padding-left:20px;
    font-size:14.5px;font-weight:600;color:var(--ink);
  }
  .spec-list li::before{
    content:"";position:absolute;left:0;top:7px;
    width:7px;height:7px;border-radius:50%;
  }
  .spec-card.sage .spec-list li::before{background:var(--sage);}
  .spec-card.clay .spec-list li::before{background:var(--clay);}

  /* ===== ENFOQUE ===== */
  .approach{background:var(--bg-alt);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
  .approach .grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
  @media(max-width:780px){ .approach .grid{grid-template-columns:1fr;} }
  .approach h2{font-size:clamp(28px,4vw,38px);margin-bottom:18px;}
  .approach p{color:var(--ink-soft);margin-bottom:16px;}
  .triad{display:flex;flex-direction:column;gap:0;}
  .triad-item{
    display:flex;align-items:center;gap:18px;
    padding:20px 0;border-top:1px solid var(--line);
  }
  .triad-item:first-child{border-top:none;}
  .triad-dot{
    width:12px;height:12px;border-radius:50%;flex-shrink:0;
  }
  .triad-item:nth-child(1) .triad-dot{background:var(--sage);}
  .triad-item:nth-child(2) .triad-dot{background:var(--clay);}
  .triad-item:nth-child(3) .triad-dot{background:var(--terracotta);}
  .triad-item strong{font-family:'Fraunces',serif;font-weight:500;font-size:18px;}
  .triad-item span{display:block;color:var(--ink-soft);font-size:14px;}

  /* ===== MODALIDAD / PASOS ===== */
  .steps h2{font-size:clamp(28px,4vw,38px);text-align:center;margin-top:18px;margin-bottom:48px;}
  .steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
  @media(max-width:780px){ .steps-grid{grid-template-columns:1fr;} }
  .step{position:relative;padding-top:8px;}
  .step .num{
    font-family:'Fraunces',serif;font-size:44px;color:var(--line);
    font-weight:600;line-height:1;margin-bottom:14px;
  }
  .step h3{font-size:19px;margin-bottom:10px;}
  .step p{color:var(--ink-soft);font-size:15px;}

  .modality-row{
    display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:56px;
  }
  @media(max-width:480px){
    .modality-row{gap:12px;}
    .modality-card{padding:16px;}
    .modality-card h4{font-size:16px;}
    .modality-card p{font-size:12.5px;}
  }
  .modality-card{
    background:var(--bg-alt);border:1px solid var(--line);border-radius:var(--radius);
    padding:26px;
  }
  .modality-card h4{font-family:'Fraunces',serif;font-size:19px;font-weight:500;margin-bottom:8px;}
  .modality-card p{color:var(--ink-soft);font-size:14px;}

  /* ===== CONTACTO ===== */
  .contact{
    background:var(--ink);color:var(--bg);
    border-radius:28px;
    margin:0 20px;
    padding:72px 40px;
    text-align:center;
  }
  @media(min-width:1080px){ .contact{margin:0 auto;max-width:1080px;} }
  .contact h2{color:var(--bg);font-size:clamp(28px,4vw,40px);margin-bottom:16px;}
  .contact p{color:#D9CFC1;max-width:480px;margin:0 auto 32px;}
  .contact .cta-row{justify-content:center;}
  .contact .btn-ghost{border-color:var(--bg);color:var(--bg);}
  .contact .btn-ghost:hover{background:var(--bg);color:var(--ink);}
  .contact-detail{margin-top:36px;font-size:14px;color:#C9BEAE;}
  .contact-detail a{text-decoration:underline;text-underline-offset:3px;}

  footer{
    padding:40px 0;text-align:center;
    font-size:13px;color:var(--ink-soft);
  }

  /* ===== LOGO SIZE UPDATE ===== */
  .logo{font-family:'Fraunces',serif;font-size:24px;font-weight:600;}

  /* ===== "CONOCÉ MÁS" LINKS ===== */
  .more-link{
    display:inline-flex;align-items:center;gap:8px;
    margin-top:28px;font-size:14px;font-weight:600;
    color:var(--sage-deep);
    border-bottom:1px solid var(--sage);
    padding-bottom:2px;
  }
  .more-link svg{width:14px;height:14px;transition:transform .2s;}
  .more-link:hover svg{transform:translateX(3px);}
  .specialties .more-link, .approach .more-link{ }

  /* ===== TIMELINE (Cómo empezamos) ===== */
  .timeline{
    position:relative;
    display:grid;grid-template-columns:repeat(3,1fr);gap:36px;
    margin-top:8px;
  }
  .timeline::before{
    content:"";position:absolute;top:27px;left:calc(16.6% + 4px);right:calc(16.6% + 4px);
    height:1px;background:var(--line);z-index:0;
  }
  .timeline-step{position:relative;z-index:1;text-align:center;}
  .timeline-icon{
    width:56px;height:56px;border-radius:50%;
    background:var(--bg);border:1.5px solid var(--sage);
    display:flex;align-items:center;justify-content:center;
    margin:0 auto 20px;
  }
  .timeline-icon svg{width:24px;height:24px;}
  .timeline-step h3{font-size:18px;margin-bottom:8px;}
  .timeline-step p{color:var(--ink-soft);font-size:14.5px;}
  @media(max-width:780px){
    .timeline{grid-template-columns:1fr;gap:0;}
    .timeline::before{display:none;}
    .timeline-step{
      display:grid;grid-template-columns:56px 1fr;gap:18px;text-align:left;
      padding-bottom:32px;position:relative;
    }
    .timeline-step:not(:last-child)::after{
      content:"";position:absolute;left:27px;top:56px;bottom:0;width:1px;background:var(--line);
    }
    .timeline-icon{margin:0;}
  }

  /* ===== SUBPAGES (about / especialidades / enfoque) ===== */
  .back-link{
    display:inline-flex;align-items:center;gap:8px;
    font-size:14px;font-weight:600;color:var(--ink-soft);margin-bottom:28px;
  }
  .back-link svg{width:14px;height:14px;}
  .page-hero{padding-top:56px;padding-bottom:16px;}
  .page-hero .eyebrow{margin-bottom:18px;}
  .crumb-row{display:flex;align-items:center;gap:10px;margin-bottom:28px;}
  .crumb-row .back-link{margin-bottom:0;}
  .crumb-sep{color:var(--line);font-size:14px;}
  .crumb-eyebrow{font-size:12px;margin-bottom:0 !important;}
  .page-hero h1{font-size:clamp(30px,4.4vw,46px);max-width:720px;}
  .page-lead{font-size:18px;color:var(--ink-soft);max-width:640px;margin-top:18px;}
  .prose{max-width:680px;}
  .prose p{color:var(--ink-soft);font-size:16px;margin-bottom:20px;}
  .prose h3{font-size:21px;margin:36px 0 12px;}
  .detail-block{
    border-top:1px solid var(--line);
    padding:36px 0;
  }
  .detail-block:first-of-type{border-top:none;padding-top:8px;}
  .detail-block h2{font-size:26px;margin-bottom:10px;}
  .detail-block .tag{
    display:inline-block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;
    font-weight:700;color:var(--sage-deep);margin-bottom:10px;
  }
  .detail-block p{color:var(--ink-soft);font-size:15.5px;margin-bottom:14px;max-width:680px;}
  .detail-block ul{margin:14px 0 0;padding-left:0;list-style:none;max-width:680px;}
  .detail-block li{
    position:relative;padding-left:20px;margin-bottom:8px;
    font-size:15px;color:var(--ink-soft);
  }
  .detail-block li::before{
    content:"";position:absolute;left:0;top:9px;width:6px;height:6px;border-radius:50%;background:var(--sage);
  }
