/* ── Fuentes de marca autoalojadas (antes Google Fonts) ── */
@font-face{font-family:'Marcellus';src:url('/assets/fonts/marcellus.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Cormorant Garamond';src:url('/assets/fonts/cormorant.woff2') format('woff2');font-weight:300 700;font-style:normal;font-display:swap}
@font-face{font-family:'Cormorant Garamond';src:url('/assets/fonts/cormorant-italic.woff2') format('woff2');font-weight:300 700;font-style:italic;font-display:swap}
@font-face{font-family:'Mulish';src:url('/assets/fonts/mulish.woff2') format('woff2');font-weight:200 1000;font-style:normal;font-display:swap}

/* ── Fallbacks métricamente ajustados: eliminan el salto al cargar las fuentes ── */
@font-face{font-family:'Cormorant Fallback';src:local('Georgia'),local('Times New Roman');size-adjust:92%;ascent-override:95%;descent-override:24%;line-gap-override:0%}
@font-face{font-family:'Mulish Fallback';src:local('Segoe UI'),local('Helvetica Neue'),local('Arial');size-adjust:100%;ascent-override:96%;descent-override:24%;line-gap-override:0%}


  :root{
    --pine:#16271F;
    --pine-deep:#0E1A14;
    --pine-line:rgba(199,168,103,.22);
    --champagne:#C7A867;
    --champagne-soft:#DCC28C;
    --snow:#F7F5EF;
    --stone:#ECE5D7;
    --stone-line:#D8CFBC;
    --ink:#1B211C;
    --ink-soft:#5A6158;
    --on-dark:rgba(247,245,239,.74);
    --maxw:1180px;
    --ease:cubic-bezier(.22,.61,.36,1);
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{font-family:"Mulish","Mulish Fallback",system-ui,sans-serif;color:var(--ink);background:var(--snow);line-height:1.6;font-weight:400;-webkit-font-smoothing:antialiased;overflow-x:hidden}
  h1,h2,h3{font-family:"Cormorant Garamond","Cormorant Fallback",Georgia,serif;font-weight:500;line-height:1.08;letter-spacing:.005em}
  a{color:inherit;text-decoration:none}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}
  .eyebrow{font-size:.72rem;font-weight:600;letter-spacing:.32em;text-transform:uppercase;color:var(--champagne)}
  .eyebrow.dark{color:#9c7e44}

  header{position:fixed;top:0;left:0;right:0;z-index:100;padding:22px 0;transition:padding .4s var(--ease),background .4s var(--ease)}
  header.scrolled{padding:12px 0;background:rgba(14,26,20,.92);backdrop-filter:blur(10px);box-shadow:0 1px 0 var(--pine-line)}
  .nav{display:flex;align-items:center;justify-content:space-between;gap:24px}
  .brand{display:flex;flex-direction:column;line-height:1}
  .brand .mark{font-family:"Marcellus",serif;font-size:1.32rem;letter-spacing:.16em;color:var(--snow);text-transform:uppercase}
  .brand .sub{font-size:.6rem;letter-spacing:.34em;text-transform:uppercase;color:var(--champagne);margin-top:6px}
  .nav-links{display:flex;align-items:center;gap:34px}
  .nav-links a{font-size:.82rem;letter-spacing:.04em;color:var(--on-dark);font-weight:500;transition:color .25s}
  .nav-links a:hover{color:var(--snow)}
  .btn{display:inline-flex;align-items:center;gap:9px;cursor:pointer;font-size:.8rem;font-weight:600;letter-spacing:.05em;padding:13px 24px;border-radius:2px;transition:all .3s var(--ease);border:1px solid transparent;white-space:nowrap}
  .btn-gold{background:var(--champagne);color:var(--pine-deep)}
  .btn-gold:hover{background:var(--champagne-soft);transform:translateY(-1px)}
  .btn-ghost{border-color:rgba(247,245,239,.32);color:var(--snow);background:transparent}
  .btn-ghost:hover{border-color:var(--champagne);color:var(--champagne)}
  .burger{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px;padding:6px}
  .burger span{width:24px;height:1.5px;background:var(--snow);transition:.3s}

  /* Page hero (shorter than home) */
  .page-hero{
    position:relative;min-height:64vh;display:flex;align-items:flex-end;color:var(--snow);
    background:
      radial-gradient(120% 90% at 78% 18%, rgba(199,168,103,.12), transparent 55%),
      linear-gradient(150deg, rgba(14,26,20,.94) 0%, rgba(22,39,31,.82) 42%, rgba(14,26,20,.62) 100%),
      url('https://images.unsplash.com/photo-1551524392-9a61031f0246?ixlib=rb-4.1.0&auto=format&fit=crop&w=1920&q=80') center 30%/cover no-repeat;
  }
  .page-hero .wrap{position:relative;z-index:2;padding-top:150px;padding-bottom:70px}
  .crumbs{font-size:.76rem;letter-spacing:.06em;color:rgba(247,245,239,.55);margin-bottom:22px}
  .crumbs a{color:var(--champagne);transition:color .25s}
  .crumbs a:hover{color:var(--champagne-soft)}
  .crumbs span{margin:0 8px;color:rgba(247,245,239,.3)}
  .page-hero h1{font-size:clamp(2.4rem,5.5vw,4.2rem);max-width:820px;margin-bottom:18px}
  .page-hero h1 em{font-style:italic;color:var(--champagne-soft)}
  .page-hero .lead{font-size:clamp(1rem,1.6vw,1.2rem);color:var(--on-dark);max-width:600px;font-weight:300;margin-bottom:30px}
  .hero-cta{display:flex;gap:14px;flex-wrap:wrap}
  .quick-facts{display:flex;flex-wrap:wrap;gap:10px 30px;margin-top:36px}
  .quick-facts li{list-style:none;font-size:.78rem;letter-spacing:.06em;color:rgba(247,245,239,.62);display:flex;align-items:center;gap:10px;font-weight:500}
  .quick-facts li::before{content:"";width:5px;height:5px;background:var(--champagne);border-radius:50%;flex:none}

  section{padding:96px 0}
  .sec-head{max-width:640px;margin-bottom:52px}
  .sec-head .eyebrow{display:block;margin-bottom:18px}
  .sec-head h2{font-size:clamp(2rem,3.6vw,2.9rem)}
  .sec-head p{margin-top:18px;color:var(--ink-soft);font-size:1.05rem}

  .prose{max-width:720px}
  .prose p{margin-bottom:20px;color:var(--ink-soft);font-size:1.02rem}
  .prose p strong{color:var(--ink)}
  .prose a{color:#8a6f3c;border-bottom:1px solid var(--stone-line);transition:color .2s,border-color .2s}
  .prose a:hover{color:var(--champagne);border-color:var(--champagne)}
  .prose h3{font-size:1.6rem;margin:36px 0 14px;color:var(--ink)}

  .included{background:var(--stone)}
  .inc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--stone-line);border:1px solid var(--stone-line)}
  .inc{background:var(--stone);padding:36px 32px}
  .inc h3{font-size:1.4rem;margin-bottom:10px;color:var(--ink)}
  .inc p{color:var(--ink-soft);font-size:.94rem}

  .routes{max-width:640px}
  .routes .row{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:16px 0;border-bottom:1px solid var(--stone-line)}
  .routes .row:last-child{border-bottom:none}
  .routes .from{font-weight:600;font-size:.98rem}
  .routes .from a{color:inherit;border-bottom:1px solid var(--stone-line)}
  .routes .from a:hover{color:#8a6f3c;border-color:var(--champagne)}
  .routes .time{font-family:"Cormorant Garamond",serif;font-size:1.3rem;color:#8a6f3c;white-space:nowrap}
  .cov-note{margin-top:18px;font-size:.82rem;color:var(--ink-soft);font-style:italic}

  .faq{background:var(--snow)}
  .faq-list{max-width:820px}
  .faq-item{border-bottom:1px solid var(--stone-line)}
  .faq-item:first-child{border-top:1px solid var(--stone-line)}
  .faq-item summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:24px 0;font-family:"Cormorant Garamond","Cormorant Fallback",Georgia,serif;font-size:1.45rem;color:var(--ink);font-weight:500;line-height:1.25}
  .faq-item summary::-webkit-details-marker{display:none}
  .faq-item summary::after{content:"+";color:var(--champagne);font-size:1.7rem;line-height:1;flex:none;transition:transform .3s var(--ease)}
  .faq-item[open] summary::after{transform:rotate(45deg)}
  .faq-item summary:focus-visible{outline:2px solid var(--champagne);outline-offset:4px}
  .faq-item p{color:var(--ink-soft);font-size:.97rem;padding:0 0 26px;max-width:680px}

  .cta-band{background:var(--pine-deep);color:var(--snow);text-align:left}
  .cta-band h2{font-size:clamp(2rem,3.6vw,2.9rem);color:var(--snow);max-width:640px}
  .cta-band p{color:var(--on-dark);margin:18px 0 32px;max-width:520px;font-size:1.05rem}

  footer{background:#0a130f;color:rgba(247,245,239,.55);padding:56px 0 34px;font-size:.86rem}
  .foot-top{display:flex;justify-content:space-between;flex-wrap:wrap;gap:34px;padding-bottom:34px;border-bottom:1px solid rgba(247,245,239,.08)}
  .foot-brand .mark{font-family:"Marcellus",serif;font-size:1.2rem;letter-spacing:.16em;color:var(--snow);text-transform:uppercase}
  .foot-brand .sub{font-size:.6rem;letter-spacing:.32em;text-transform:uppercase;color:var(--champagne);margin-top:6px}
  .foot-col h4{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(247,245,239,.4);margin-bottom:14px;font-weight:600}
  .foot-col p,.foot-col a{display:block;color:rgba(247,245,239,.62);margin-bottom:7px;transition:color .2s}
  .foot-col a:hover{color:var(--champagne-soft)}
  .foot-bottom{padding-top:26px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.76rem;color:rgba(247,245,239,.38)}

  .reveal{opacity:0;transform:translateY(26px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
  .reveal.in{opacity:1;transform:none}

  @media(max-width:880px){
    .nav-links{display:none}
    .nav-links.open{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:rgba(14,26,20,.98);backdrop-filter:blur(10px);padding:26px 28px;gap:22px;align-items:flex-start;border-top:1px solid var(--pine-line)}
    .burger{display:flex}
    .inc-grid{grid-template-columns:1fr}
    section{padding:72px 0}
  }
  @media(prefers-reduced-motion:reduce){
    .reveal{opacity:1;transform:none;transition:none}
    html{scroll-behavior:auto}
  }

/* Comparison table (blog) */
.cmp-wrap{overflow-x:auto;max-width:860px;margin:8px 0 28px}
.cmp{width:100%;border-collapse:collapse;font-size:.92rem;min-width:560px}
.cmp th{font-family:"Cormorant Garamond","Cormorant Fallback",Georgia,serif;font-size:1.15rem;font-weight:600;text-align:left;color:var(--ink);padding:14px 16px;border-bottom:2px solid var(--champagne)}
.cmp td{padding:13px 16px;border-bottom:1px solid var(--stone-line);color:var(--ink-soft);vertical-align:top}
.cmp td:first-child{color:var(--ink);font-weight:600;white-space:nowrap}
.post-meta{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(247,245,239,.55);margin-bottom:18px}
.verdict{background:var(--stone);border-left:3px solid var(--champagne);padding:24px 28px;max-width:720px;margin:8px 0 28px}
.verdict p{margin:0;color:var(--ink);font-size:1rem}
