  :root{
    --bg: #F6F3E9;
    --bg-alt: #E7EBDC;
    --ink: #1C2A1F;
    --ink-soft: #465244;
    --green: #33452F;
    --green-deep: #202E1D;
    --gold: #C08A2E;
    --gold-soft: #E4C381;
    --line: rgba(28,42,31,0.14);
    --radius: 4px;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0; background:var(--bg); color:var(--ink);
    font-family:'Work Sans', sans-serif; font-size:16px; line-height:1.55;
  }
  h1,h2,h3{font-family:'Fraunces', serif; font-weight:600; color:var(--green-deep); margin:0 0 .5em;}
  a{color:inherit;}
  img{display:block; max-width:100%;}
  .wrap{max-width:1080px; margin:0 auto; padding:0 24px;}
  .eyebrow{
    font-size:.75rem; letter-spacing:.14em; text-transform:uppercase;
    color:var(--gold); font-weight:600; margin-bottom:.6em; display:block;
  }

  /* NAV */
  nav{position:sticky; top:0; z-index:50; background:rgba(246,243,233,0.92); backdrop-filter:blur(6px); border-bottom:1px solid var(--line);}
  nav .wrap{display:flex; align-items:center; justify-content:space-between; padding-top:10px; padding-bottom:10px;}
  .brand{display:flex; align-items:center; text-decoration:none;}
  .brand-logo{height:52px; width:auto; display:block;}
  @media (max-width:480px){ .brand-logo{height:42px;} }
  .nav-links{display:flex; gap:26px; list-style:none; margin:0; padding:0;}
  .nav-links a{text-decoration:none; font-size:.92rem; color:var(--ink-soft); padding:6px 0; border-bottom:2px solid transparent; transition:border-color .15s, color .15s;}
  .nav-links a:hover{color:var(--green-deep); border-color:var(--gold);}
  .nav-cta{background:var(--green-deep); color:#F6F3E9; text-decoration:none; padding:9px 18px; border-radius:var(--radius); font-size:.88rem; font-weight:500; white-space:nowrap;}
  .nav-actions{display:flex; align-items:center; gap:10px;}
  .nav-toggle{display:none; align-items:center; justify-content:center; width:38px; height:38px; background:none; border:1px solid var(--line); border-radius:var(--radius); color:var(--green-deep); cursor:pointer; padding:0; flex:0 0 auto;}
  @media (max-width:820px){
    nav .wrap{position:relative; flex-wrap:wrap;}
    .nav-links{
      display:none; order:3; width:100%; flex-direction:column; gap:0;
      margin-top:14px; padding-top:10px; border-top:1px solid var(--line);
    }
    .nav-links.is-open{display:flex;}
    .nav-links a{width:100%; padding:12px 2px; border-bottom:1px solid var(--line);}
    .nav-toggle{display:inline-flex;}
  }
  @media (max-width:400px){ .nav-cta{padding:9px 12px; font-size:.82rem;} }

  /* HERO */
  .hero{position:relative; min-height:560px; display:flex; align-items:center; color:#F6F3E9;}
  .hero-bg{position:absolute; inset:0; z-index:0;}
  .hero-bg img{width:100%; height:100%; object-fit:cover;}
  .hero-bg::after{
    content:""; position:absolute; inset:0;
    background:linear-gradient(100deg, rgba(16,24,14,0.88) 0%, rgba(16,24,14,0.72) 42%, rgba(16,24,14,0.30) 100%);
  }
  .hero .wrap{position:relative; z-index:1; padding:70px 24px;}
  .hero h1{color:#F6F3E9; font-size:clamp(2.1rem, 4.4vw, 3.3rem); max-width:15ch; letter-spacing:-.01em; line-height:1.08;}
  .hero .lead{max-width:50ch; font-size:1.1rem; color:#D9DFCF; margin:0 0 2em;}
  .hero-actions{display:flex; gap:16px; flex-wrap:wrap; align-items:center;}
  .btn-primary{
    background:var(--gold); color:var(--green-deep); text-decoration:none; padding:14px 26px;
    border-radius:var(--radius); font-weight:600; font-size:.96rem; display:inline-block; border:1px solid var(--gold);
  }
  .btn-ghost-light{text-decoration:none; color:#F6F3E9; font-weight:500; font-size:.95rem; border-bottom:1px solid rgba(246,243,233,0.6); padding-bottom:2px;}
  .photo-credit{position:absolute; z-index:1; right:14px; bottom:10px; font-size:.68rem; color:rgba(246,243,233,0.55);}

  /* SECTION */
  section{padding:76px 0;}
  .section-alt{background:var(--bg-alt);}
  .section-head{max-width:60ch; margin-bottom:44px;}
  .section-head h2{font-size:clamp(1.6rem, 2.6vw, 2.1rem); max-width:18ch;}
  .section-head p{color:var(--ink-soft); font-size:1.02rem; max-width:56ch;}

  /* PROBLEMA: layout con imagen */
  .problema-layout{display:grid; grid-template-columns:1.1fr 1.4fr; gap:48px; align-items:start;}
  @media (max-width:900px){ .problema-layout{grid-template-columns:1fr;} }
  .problema-media figure{margin:0; position:sticky; top:96px;}
  .problema-media img{border-radius:8px; width:100%; height:420px; object-fit:cover;}
  figcaption.credit{font-size:.72rem; color:var(--ink-soft); opacity:.7; margin-top:8px;}

  .card-grid{display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden;}
  @media (max-width:520px){ .card-grid{grid-template-columns:1fr;} }
  .card{background:var(--bg); padding:24px 22px; min-height:160px;}
  .card .icon{width:20px; height:20px; margin-bottom:12px; display:block;}
  .card-photo{width:56px; height:56px; border-radius:7px; overflow:hidden; margin-bottom:14px; box-shadow:0 1px 3px rgba(28,42,31,0.22);}
  .card-photo img{width:100%; height:100%; object-fit:cover; display:block;}
  .card h3{font-size:.98rem; font-family:'Work Sans',sans-serif; font-weight:600; margin-bottom:.5em;}
  .card p{margin:0; font-size:.9rem; color:var(--ink-soft);}
  .card.quote{grid-column:1 / -1; background:var(--green-deep); color:#F6F3E9; padding:30px 32px; display:flex; flex-direction:column; justify-content:center;}
  .card.quote p{font-family:'Fraunces', serif; font-style:italic; font-weight:500; font-size:1.15rem; line-height:1.5; color:#EDE7D3; max-width:62ch;}
  .card.quote cite{display:block; margin-top:14px; font-family:'Work Sans',sans-serif; font-style:normal; font-size:.82rem; color:var(--gold-soft);}

  /* SERVICIOS */
  .servicios-layout{display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center;}
  @media (max-width:900px){ .servicios-layout{grid-template-columns:1fr;} }
  .servicios-layout img{border-radius:8px; width:100%; height:360px; object-fit:cover;}
  .service{border-top:2px solid var(--green-deep); padding-top:16px; margin-bottom:26px;}
  .service:last-child{margin-bottom:0;}
  .service .num{font-family:'Fraunces',serif; font-size:.85rem; color:var(--gold); font-weight:600; letter-spacing:.06em;}
  .service h3{font-size:1.15rem; margin-top:.3em; display:flex; align-items:center; gap:10px;}
  .service p{color:var(--ink-soft); font-size:.94rem; margin-bottom:.4em;}
  .service-link{font-size:.85rem; font-weight:600; color:var(--green-deep); text-decoration:none; border-bottom:1px solid var(--gold);}

  /* DIAGNOSTICO */
  .diag-strip{margin:36px 0; border-radius:8px; overflow:hidden; position:relative; height:220px;}
  .diag-strip img{width:100%; height:100%; object-fit:cover;}
  .pills{display:flex; flex-wrap:wrap; gap:10px; margin:28px 0 6px;}
  .pill{border:1px solid var(--line); background:var(--bg); padding:10px 16px; border-radius:999px; font-size:.9rem; cursor:pointer; color:var(--ink-soft); transition:all .15s;}
  .pill:hover{border-color:var(--gold);}
  .pill.active{background:var(--green-deep); color:#F6F3E9; border-color:var(--green-deep);}
  .pill-hint{font-size:.85rem; color:var(--ink-soft); margin-top:4px; min-height:1.2em;}

  /* EQUIPO */
  .equipo-layout{display:grid; grid-template-columns:200px 1fr; gap:40px; align-items:center;}
  @media (max-width:640px){ .equipo-layout{grid-template-columns:1fr; text-align:center;} }
  .equipo-photo{width:200px; height:200px; border-radius:50%; object-fit:cover; border:3px solid var(--bg);box-shadow:0 0 0 1px var(--line);}
  @media (max-width:640px){ .equipo-photo{margin:0 auto;} }
  .equipo-layout h2{max-width:22ch;}
  .equipo-layout p{color:var(--ink-soft); max-width:60ch; margin-bottom:1em;}
  @media (max-width:640px){ .equipo-layout p{margin-left:auto; margin-right:auto;} }

  /* FORM */
  .form-shell{background:var(--green-deep); border-radius:8px; padding:52px 48px; color:#F6F3E9;}
  @media (max-width:640px){ .form-shell{padding:36px 24px;} }
  .form-shell h2{color:#F6F3E9;}
  .form-shell .section-head p{color:#C8D1C4;}
  form{display:grid; grid-template-columns:1fr 1fr; gap:20px 24px; margin-top:32px;}
  .field-full{grid-column:1 / -1;}
  @media (max-width:640px){ form{grid-template-columns:1fr;} }
  label{display:block; font-size:.82rem; color:#C8D1C4; margin-bottom:6px; letter-spacing:.02em;}
  input, textarea{width:100%; background:#2B3B28; border:1px solid rgba(246,243,233,0.18); color:#F6F3E9; padding:11px 13px; border-radius:var(--radius); font-family:'Work Sans',sans-serif; font-size:.95rem;}
  input::placeholder, textarea::placeholder{color:#8DA083;}
  textarea{resize:vertical; min-height:150px;}
  .submit-row{margin-top:8px;}
  .submit-row .btn-primary{border:none; cursor:pointer;}
  .consent-row{margin-top:4px;}
  .consent-label{display:flex; gap:10px; align-items:flex-start; font-size:.82rem; color:#C8D1C4; cursor:pointer;}
  .consent-label input{width:16px; height:16px; flex:0 0 16px; margin-top:2px; accent-color:var(--gold);}
  .consent-label a{color:var(--gold-soft); text-decoration:underline;}

  /* FOOTER */
  footer{background:var(--green-deep); color:#C8D1C4; padding:56px 0 0; font-size:.88rem;}
  .footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:36px; padding-bottom:44px; border-bottom:1px solid rgba(246,243,233,0.12);}
  @media (max-width:820px){ .footer-grid{grid-template-columns:1fr 1fr;} }
  @media (max-width:480px){ .footer-grid{grid-template-columns:1fr;} }
  .footer-logo{height:44px; width:auto; margin-bottom:16px; display:block;}
  .footer-tagline{max-width:32ch; font-size:.86rem; color:#9FAE97; margin:0;}
  .footer-col h4{font-family:'Work Sans',sans-serif; font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; color:#9FAE97; margin:0 0 14px; font-weight:600;}
  .footer-col ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px;}
  .footer-col a{color:#C8D1C4; text-decoration:none; font-size:.88rem;}
  .footer-col a:hover{color:#F6F3E9;}
  .footer-legal{padding:22px 0 28px; display:flex; flex-wrap:wrap; gap:16px 28px; justify-content:space-between; align-items:flex-start; font-size:.78rem; color:#8DA083;}
  .footer-legal .legal-id{max-width:62ch; line-height:1.6;}
  .footer-legal .legal-links{display:flex; flex-wrap:wrap; gap:6px 18px;}
  .footer-legal .legal-links a{color:#8DA083; text-decoration:none;}
  .footer-legal .legal-links a:hover{color:#F6F3E9;}

  /* INTERIOR PAGES (Quién somos, legal, coming soon) */
  .page-hero{padding:64px 0 20px;}
  .page-hero .eyebrow{margin-bottom:.8em;}
  .page-hero h1{font-size:clamp(1.9rem, 3.6vw, 2.7rem); max-width:22ch;}
  .page-hero .lead{color:var(--ink-soft); font-size:1.05rem; max-width:60ch;}
  .breadcrumb{font-size:.82rem; color:var(--ink-soft); margin-bottom:18px;}
  .breadcrumb a{color:var(--ink-soft); text-decoration:underline;}
  .breadcrumb a:hover{color:var(--green-deep);}

  .prose{max-width:74ch;}
  .prose h2{font-size:1.4rem; margin-top:1.8em;}
  .prose h2:first-child{margin-top:0;}
  .prose h3{font-size:1.1rem; margin-top:1.4em; font-family:'Work Sans',sans-serif; font-weight:600; color:var(--green-deep);}
  .prose p{color:var(--ink-soft); margin:0 0 1.1em; font-size:.98rem;}
  .prose ul, .prose ol{color:var(--ink-soft); margin:0 0 1.1em; padding-left:1.3em; font-size:.98rem;}
  .prose li{margin-bottom:.4em;}
  .prose strong{color:var(--ink);}
  .prose a{color:var(--green-deep); text-decoration:underline; text-decoration-color:var(--gold);}
  .prose .updated{font-size:.82rem; color:var(--ink-soft); opacity:.75; margin-bottom:2.4em;}

  .bio-photo-layout{display:grid; grid-template-columns:260px 1fr; gap:48px; align-items:start;}
  @media (max-width:720px){ .bio-photo-layout{grid-template-columns:1fr;} }
  .bio-photo{width:100%; max-width:260px; border-radius:8px; object-fit:cover; aspect-ratio:4/5;}
  @media (max-width:720px){ .bio-photo{margin:0 auto;} }

  .coming-soon{background:var(--bg-alt); border-radius:8px; padding:64px 40px; text-align:center;}
  @media (max-width:640px){ .coming-soon{padding:48px 22px;} }
  .coming-soon h2{max-width:none;}
  .coming-soon p{color:var(--ink-soft); max-width:52ch; margin:0 auto 1.6em;}
  .notify-form{display:flex; gap:10px; max-width:420px; margin:0 auto; flex-wrap:wrap; justify-content:center;}
  .notify-form input[type="email"]{flex:1 1 220px; background:var(--bg); border:1px solid var(--line); color:var(--ink); padding:11px 13px; border-radius:var(--radius); font-family:'Work Sans',sans-serif; font-size:.95rem;}
  .notify-form button{border:none; cursor:pointer;}

  /* PRODUCTO: stats strip */
  .stats-strip{background:var(--green-deep); padding:0;}
  .stats-strip .wrap{display:flex; flex-wrap:wrap; gap:18px 28px; justify-content:space-between; padding:30px 24px;}
  .stat{flex:1 1 150px; text-align:center;}
  .stat .value{font-family:'Fraunces',serif; font-size:1.7rem; font-weight:600; color:var(--gold-soft); display:block;}
  .stat .label{font-size:.8rem; color:#C8D1C4; margin-top:4px;}

  /* PRODUCTO: gallery */
  .rack-gallery{display:grid; grid-template-columns:1.3fr 1fr; gap:14px; margin-top:40px;}
  .rack-gallery .tall{margin:0; border-radius:8px; overflow:hidden; height:480px;}
  .rack-gallery .tall img{width:100%; height:100%; object-fit:cover;}
  .rack-gallery .stack{display:flex; flex-direction:column; gap:14px;}
  .rack-gallery .stack figure{margin:0; border-radius:8px; overflow:hidden; height:233px;}
  .rack-gallery .stack img{width:100%; height:100%; object-fit:cover;}
  @media (max-width:780px){
    .rack-gallery{grid-template-columns:1fr;}
    .rack-gallery .tall{height:320px;}
    .rack-gallery .stack{flex-direction:row;}
    .rack-gallery .stack figure{height:180px; flex:1;}
  }
  @media (max-width:520px){
    .rack-gallery .stack{flex-direction:column;}
    .rack-gallery .stack figure{height:180px;}
  }

  /* PRODUCTO: spec groups */
  .spec-groups{display:grid; grid-template-columns:repeat(3,1fr); gap:32px;}
  @media (max-width:900px){ .spec-groups{grid-template-columns:1fr; gap:36px;} }
  .spec-group{border-top:2px solid var(--green-deep); padding-top:16px;}
  .spec-group h3{font-size:1.02rem; font-family:'Work Sans',sans-serif; font-weight:600; margin-bottom:.9em;}
  .spec-list{margin:0; padding:0;}
  .spec-row{display:flex; justify-content:space-between; gap:16px; padding:10px 0; border-bottom:1px solid var(--line); font-size:.88rem;}
  .spec-row:last-child{border-bottom:none;}
  .spec-row dt{margin:0; color:var(--ink-soft);}
  .spec-row dd{margin:0; font-weight:600; text-align:right; color:var(--ink);}

  /* PRODUCTO: incluye grid */
  .incluye-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:14px;}
  @media (max-width:780px){ .incluye-grid{grid-template-columns:1fr 1fr;} }
  @media (max-width:480px){ .incluye-grid{grid-template-columns:1fr;} }
  .incluye-item{display:flex; gap:12px; align-items:flex-start; background:var(--bg); border:1px solid var(--line); border-radius:8px; padding:16px 18px;}
  .incluye-item.optional{border-color:var(--gold); background:var(--bg-alt);}
  .incluye-item svg{flex:0 0 20px; margin-top:2px;}
  .incluye-item strong{display:block; font-size:.92rem; color:var(--ink);}
  .incluye-item span{font-size:.82rem; color:var(--ink-soft);}
  .badge-optional{display:inline-block; background:var(--gold); color:var(--green-deep); font-size:.65rem; padding:2px 8px; border-radius:999px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; margin-bottom:4px;}

  /* PRODUCTO: accesorios */
  .accesorios-layout{display:grid; grid-template-columns:1fr 1fr; gap:24px;}
  @media (max-width:780px){ .accesorios-layout{grid-template-columns:1fr;} }
  .accesorio-card{background:var(--bg); border:1px solid var(--line); border-radius:8px; padding:24px 26px;}
  .accesorio-card h3{font-size:1rem; font-family:'Work Sans',sans-serif; font-weight:600; margin-bottom:.5em; display:flex; align-items:center; gap:10px; justify-content:space-between;}
  .accesorio-card p{color:var(--ink-soft); font-size:.9rem; margin:0 0 .6em;}
  .accesorio-card ul{margin:0; padding-left:1.2em; color:var(--ink-soft); font-size:.88rem;}
  .accesorio-card li{margin-bottom:.3em;}
  .accesorio-note{font-size:.8rem; color:var(--ink-soft); opacity:.8; margin-top:.8em; font-style:italic;}

  /* PRODUCTO: ventajas */
  .ventajas-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden;}
  @media (max-width:900px){ .ventajas-grid{grid-template-columns:1fr 1fr;} }
  @media (max-width:480px){ .ventajas-grid{grid-template-columns:1fr;} }
  .ventaja{background:var(--bg-alt); padding:22px 20px;}
  .ventaja .num{font-family:'Fraunces',serif; font-size:.8rem; color:var(--gold); font-weight:600;}
  .ventaja h3{font-size:.94rem; font-family:'Work Sans',sans-serif; font-weight:600; margin:.4em 0 .4em;}
  .ventaja p{margin:0; font-size:.85rem; color:var(--ink-soft);}

  /* PRODUCTO: faq */
  .faq-item{border-bottom:1px solid var(--line); padding:18px 0;}
  .faq-item summary{cursor:pointer; font-family:'Work Sans',sans-serif; font-weight:600; font-size:.98rem; color:var(--green-deep); list-style:none; display:flex; justify-content:space-between; align-items:center; gap:16px;}
  .faq-item summary::-webkit-details-marker{display:none;}
  .faq-item summary::after{content:'+'; font-size:1.3rem; color:var(--gold); flex:0 0 auto;}
  .faq-item[open] summary::after{content:'\2212';}
  .faq-item p{color:var(--ink-soft); margin:.8em 0 0; font-size:.92rem; max-width:70ch;}

  /* PRODUCTO: diagrama compacto (vista 3D) */
  .section-compact{padding:44px 0;}
  .diagram-compact{max-width:560px; margin:0 auto; background:var(--bg-alt); border-radius:8px; padding:20px 16px;}
  .diagram-compact svg{width:100%; height:auto; display:block;}
  .diagram-note{max-width:520px; margin:14px auto 0; text-align:center; font-size:.82rem; color:var(--ink-soft);}
  .diagram-chips{display:flex; flex-wrap:wrap; gap:8px; justify-content:center; margin-top:18px;}
  .diagram-chip{display:flex; align-items:center; gap:7px; background:var(--bg-alt); border:1px solid var(--line); border-radius:999px; padding:6px 14px 6px 6px; font-size:.8rem; color:var(--ink-soft);}
  .diagram-chip .num{width:19px; height:19px; border-radius:50%; background:var(--gold); color:var(--green-deep); font-size:.7rem; font-weight:700; display:flex; align-items:center; justify-content:center; flex:0 0 auto; font-family:'Fraunces',serif;}

  /* PRODUCTO: mid-page CTA banner */
  .cta-banner{background:var(--bg-alt); border-radius:8px; padding:36px 40px; display:flex; flex-wrap:wrap; gap:20px; align-items:center; justify-content:space-between;}
  @media (max-width:640px){ .cta-banner{padding:28px 24px;} }
  .cta-banner p{margin:0; font-family:'Fraunces',serif; font-size:1.2rem; color:var(--green-deep); max-width:38ch;}
