/* ============================================================
   KIYORA — sistema visual (Materia Prima)
   Negro volcánico · Brilon display · color por familia de aroma
   ============================================================ */

@font-face{
  font-family:'Brilon';
  src:url('assets/fonts/Brilon-Regular.otf') format('opentype');
  font-weight:400;font-style:normal;font-display:swap;
}

:root{
  --ink:#0e0c0b;          /* negro volcánico */
  --ink-2:#151210;        /* panel */
  --ink-3:#1d1916;        /* panel claro */
  --text:#efe9e0;         /* blanco cálido */
  --muted:#a49a8c;        /* texto tenue */
  --line:rgba(239,233,224,.14);
  --gold:#c9a86a;         /* acento cálido sutil */

  /* familias de aroma */
  --frescura:#3f7a4e;
  --serenidad:#6a5aa0;
  --vitalidad:#c08a34;
  --tranquilidad:#3f6f8f;

  --maxw:1180px;
  --ease:cubic-bezier(.22,.61,.36,1);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  font-family:'Jost',system-ui,sans-serif;
  font-weight:300;line-height:1.6;letter-spacing:.01em;
  color:var(--text);background:var(--ink);
  overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}

.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 clamp(1.2rem,5vw,3rem);}

/* ---------- Tipografía ---------- */
.display,.hero__title,.manifesto__text,.section-title,.about__title,.stat__title{
  font-family:'Brilon',serif;font-weight:400;line-height:1.02;
  letter-spacing:.01em;text-transform:none; /* Brilon ya es unicase: escribir en minúscula */
}
.kicker,.eyebrow{
  font-size:.72rem;letter-spacing:.42em;text-transform:uppercase;
  color:var(--muted);font-weight:400;margin:0 0 1.4rem;
}
.section-title{font-size:clamp(2.1rem,5.5vw,4rem);margin:0 0 1.2rem;}
.section-lead{color:var(--muted);max-width:46ch;font-size:1.02rem;}
.section-head{max-width:52ch;margin:0 auto clamp(2.5rem,5vw,4rem);text-align:center;}
.section-head .section-lead{margin:0 auto;}

/* ---------- Botones ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:46px;padding:.85rem 1.9rem;border-radius:2px;cursor:pointer;
  font-family:'Jost',sans-serif;font-size:.78rem;font-weight:400;
  letter-spacing:.22em;text-transform:uppercase;border:1px solid transparent;
  transition:background .35s var(--ease),color .35s var(--ease),border-color .35s var(--ease),transform .35s var(--ease);
}
.btn--solid{background:var(--text);color:var(--ink);}
.btn--solid:hover{background:var(--gold);transform:translateY(-2px);}
.btn--ghost{border-color:rgba(239,233,224,.42);color:var(--text);background:rgba(239,233,224,.04);}
.btn--ghost:hover{border-color:var(--text);background:rgba(239,233,224,.12);transform:translateY(-2px);}
.btn--sm{min-height:38px;padding:.5rem 1.1rem;letter-spacing:.16em;}

/* ---------- Splash ---------- */
.splash-mark{font-family:'Brilon',serif;font-size:2rem;letter-spacing:.3em;color:var(--text);opacity:.85;}

/* ---------- Skip link ---------- */
.skip-link{position:absolute;left:1rem;top:-60px;z-index:10000;background:var(--text);color:var(--ink);padding:.6rem 1rem;border-radius:3px;transition:top .2s;}
.skip-link:focus{top:1rem;}

/* ---------- NAV ---------- */
.nav{position:fixed;top:0;left:0;width:100%;z-index:900;transition:background .4s var(--ease),border-color .4s var(--ease),backdrop-filter .4s;border-bottom:1px solid transparent;}
.nav__inner{display:flex;align-items:center;justify-content:space-between;height:76px;max-width:var(--maxw);margin:0 auto;padding:0 clamp(1.2rem,5vw,3rem);}
.nav__logo img{height:30px;width:auto;}
.nav.scrolled{background:rgba(14,12,11,.82);backdrop-filter:blur(14px);border-bottom-color:var(--line);}
/* Capa de contraste bajo el menú (solo escritorio): negra arriba → transparente abajo.
   Solo mientras el nav está en el tope (sin barra sólida); se funde con la imagen de fondo. */
@media (min-width:769px){
  .nav:not(.scrolled)::before{content:"";position:absolute;top:0;left:0;right:0;height:150px;background:linear-gradient(180deg,rgba(0,0,0,.5),rgba(0,0,0,0));pointer-events:none;z-index:-1;}
}
.nav__links{display:flex;align-items:center;gap:2.2rem;}
.nav__links a{font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text);opacity:.82;transition:opacity .3s,text-shadow .3s;}
.nav__links a:hover{opacity:1;text-shadow:0 0 .7px currentColor,0 0 .7px currentColor;}
.nav__cta{border:1px solid rgba(239,233,224,.42);padding:.6rem 1.2rem;border-radius:2px;opacity:1 !important;}
.nav__cta:hover{background:var(--text);color:var(--ink)!important;}
.nav__burger{display:none;background:none;border:0;cursor:pointer;width:44px;height:44px;flex-direction:column;gap:6px;align-items:center;justify-content:center;}
.nav__burger span{width:24px;height:1.5px;background:var(--text);transition:transform .3s,opacity .3s;}
.nav__burger[aria-expanded="true"] span:first-child{transform:translateY(3.75px) rotate(45deg);}
.nav__burger[aria-expanded="true"] span:last-child{transform:translateY(-3.75px) rotate(-45deg);}

/* ---------- HERO ---------- */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;}
.hero__bg{position:absolute;inset:0;background:url('assets/img/stones.webp') center/cover no-repeat;transform:scale(1.08);filter:brightness(.42) saturate(.7) contrast(1.05);}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,12,11,.28),rgba(14,12,11,.04) 40%,rgba(14,12,11,.42) 72%,rgba(14,12,11,.85));}
.hero__grain{position:absolute;inset:0;opacity:.06;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
.hero__content{position:relative;z-index:2;max-width:var(--maxw);margin:0 auto;padding:0 clamp(1.2rem,5vw,3rem) clamp(4rem,8vw,7rem);width:100%;}
.hero__title{font-size:clamp(2.5rem,7vw,5.6rem);margin:0 0 1.4rem;max-width:16ch;}
.hero__sub{color:var(--text);opacity:.82;max-width:48ch;font-size:1.05rem;margin:0 0 2.4rem;}
.hero__actions{display:flex;gap:1rem;flex-wrap:wrap;}
.hero__scroll{position:absolute;left:50%;bottom:2.2rem;transform:translateX(-50%);z-index:3;width:24px;height:40px;border:1px solid var(--line);border-radius:14px;display:grid;place-items:start center;padding-top:7px;}
.hero__scroll span{width:2px;height:8px;background:var(--text);border-radius:2px;animation:scrolldot 1.8s infinite;}
@keyframes scrolldot{0%{opacity:0;transform:translateY(0);}30%{opacity:1;}100%{opacity:0;transform:translateY(12px);}}

/* ---------- MANIFIESTO ---------- */
.manifesto{padding:clamp(6rem,14vw,11rem) 0;text-align:center;position:relative;background:linear-gradient(180deg,var(--ink),var(--ink-2));}
.manifesto__text{font-size:clamp(1.8rem,4.6vw,3.4rem);max-width:20ch;margin:0 auto 2rem;line-height:1.12;}
.manifesto__note{color:var(--muted);max-width:52ch;margin:0 auto;}

/* ---------- FAMILIAS DE AROMA ---------- */
.aromas{padding:clamp(5rem,12vw,9rem) 0;background:var(--ink-2);}
.aroma-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;}
.aroma-card{position:relative;border:1px solid var(--line);border-radius:4px;padding:2rem 1.6rem 2.2rem;min-height:340px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;background:var(--ink-3);transition:transform .35s var(--ease),border-color .35s;}
.aroma-card::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,transparent 30%,var(--fam) 160%);opacity:.5;transition:opacity .35s;}
/* Imagen que se descubre en hover, detrás del tinte de color del perfil */
.aroma-card .aroma-card__img{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center;opacity:0;transform:scale(1.05);transition:opacity .35s var(--ease),transform 1.6s var(--ease);}
.aroma-card:hover .aroma-card__img,.aroma-card.is-hover .aroma-card__img{opacity:.34;transform:scale(1.12);}
.aroma-card:hover,.aroma-card.is-hover{transform:translateY(-6px);border-color:color-mix(in srgb,var(--fam) 60%,transparent);}
.aroma-card:hover::before,.aroma-card.is-hover::before{opacity:.75;}
.aroma-card>*{position:relative;z-index:2;}
.aroma-card__fam{font-size:.68rem;letter-spacing:.28em;text-transform:uppercase;color:var(--text);opacity:.85;margin-bottom:.6rem;}
.aroma-card__name{font-family:'Brilon',serif;font-size:2rem;margin:0 0 .8rem;line-height:1;}
.aroma-card__notes{font-size:.9rem;color:var(--text);opacity:.8;line-height:1.5;}
.aroma-card__dot{position:absolute;top:1.6rem;right:1.6rem;width:12px;height:12px;border-radius:50%;background:var(--fam);z-index:2;box-shadow:0 0 20px 2px var(--fam);}
.aroma-card__soon{position:absolute;top:1.5rem;left:1.6rem;z-index:2;font-size:.58rem;letter-spacing:.24em;text-transform:uppercase;color:var(--text);background:rgba(14,12,11,.55);border:1px solid rgba(239,233,224,.35);padding:.34rem .66rem;border-radius:999px;backdrop-filter:blur(2px);}
.aroma-card.is-soon .aroma-card__dot{background:var(--muted);box-shadow:none;opacity:.6;}
.aroma-card.is-soon .aroma-card__name,.aroma-card.is-soon .aroma-card__notes{opacity:.55;}

/* ---------- CO-BRANDING ---------- */
.cobrand{padding:clamp(5rem,12vw,9rem) 0;background:linear-gradient(180deg,var(--ink-2),var(--ink));}
.cobrand__inner{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,6vw,5rem);align-items:start;}
.cobrand__intro .btn{margin-top:1.6rem;}
.steps{list-style:none;margin:0;padding:0;counter-reset:s;display:grid;grid-template-columns:repeat(4,1fr);gap:2.2rem 1.6rem;}
.step{counter-increment:s;padding:1.4rem 0 0;border-top:1px solid var(--line);}
.step::before{content:counter(s,decimal-leading-zero);display:block;font-family:'Brilon',serif;font-size:1.3rem;color:var(--gold);margin-bottom:.7rem;}
.step h3{font-family:'Brilon',serif;font-weight:400;font-size:1.3rem;margin:0 0 .4rem;line-height:1.1;}
.step p{color:var(--muted);font-size:.92rem;margin:0;}
@media(max-width:980px){.steps{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){.steps{grid-template-columns:1fr;gap:0;}.step{padding:1.4rem 0;}}

/* ---------- STAT ---------- */
.stat{padding:clamp(5rem,11vw,8rem) 0;background:var(--ink);}
.stat__inner{display:grid;grid-template-columns:auto 1fr;gap:clamp(2rem,6vw,5rem);align-items:center;}
.stat__figure{display:flex;align-items:flex-start;line-height:.8;}
.stat__num{font-family:'Brilon',serif;font-size:clamp(5rem,16vw,12rem);color:var(--text);}
.stat__pct{font-family:'Brilon',serif;font-size:clamp(2rem,5vw,3.5rem);color:var(--gold);margin-top:.4em;}
.stat__title{font-size:clamp(1.6rem,3.6vw,2.6rem);margin:0 0 1rem;}
.stat__body p{color:var(--muted);max-width:46ch;}
.stat__src{display:block;font-size:.8rem;opacity:.6;margin-top:.6rem;letter-spacing:.04em;}
/* STAT sobre banner de imagen */
.stat--banner{position:relative;overflow:hidden;min-height:74vh;display:flex;align-items:center;}
.stat--banner .stat__bg{position:absolute;inset:0;background-size:cover;background-position:center;z-index:0;}
.stat--banner::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(14,12,11,.66),rgba(14,12,11,.8));}
.stat--banner .stat__inner{position:relative;z-index:2;grid-template-columns:1fr;justify-items:center;text-align:center;gap:1rem;}
.stat--banner .stat__figure{justify-content:center;}
.stat--banner .stat__body{max-width:52ch;}
.stat--banner .stat__body p{color:var(--text);opacity:.9;margin-inline:auto;}

/* ---------- AROMATIZACIÓN ---------- */
.aroma-marca{padding:clamp(5rem,12vw,9rem) 0;background:linear-gradient(180deg,var(--ink),var(--ink-2));}
.aroma-marca__inner{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,5rem);align-items:center;}
.aroma-marca__media{min-height:420px;border-radius:4px;background:url('assets/img/sumie-5.webp') center/cover;border:1px solid var(--line);position:relative;filter:grayscale(.2) brightness(.9);}
.aroma-marca__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(14,12,11,.4));border-radius:4px;}
.ticklist{list-style:none;margin:1.6rem 0 0;padding:0;}
.ticklist li{padding:.7rem 0 .7rem 1.8rem;position:relative;border-bottom:1px solid var(--line);color:var(--text);opacity:.9;}
.ticklist li::before{content:"—";position:absolute;left:0;color:var(--gold);}

/* ---------- ABOUT / NOSOTROS ---------- */
.about{position:relative;padding:clamp(6rem,14vw,11rem) 0;text-align:center;overflow:hidden;}
.about__bg{position:absolute;inset:0;background:url('assets/img/sumie-1.webp') center/cover;filter:grayscale(.4) brightness(.3);}
.about::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--ink-2),rgba(14,12,11,.7));}
.about__inner{position:relative;z-index:2;max-width:64ch;}
.about__title{font-size:clamp(2rem,5vw,3.6rem);margin:0 0 1.6rem;}
.about__lead{color:var(--text);opacity:.85;font-size:1.08rem;}
.about__by{margin-top:2.4rem;font-size:.8rem;letter-spacing:.28em;text-transform:uppercase;color:var(--muted);}
.about__by strong{color:var(--text);font-weight:500;}

/* ---------- PRUEBA ---------- */
.proof{padding:clamp(5rem,12vw,9rem) 0;background:var(--ink-2);}
.proof-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;}
.proof-card{border:1px solid var(--line);border-radius:4px;padding:2rem 1.8rem;background:var(--ink-3);display:flex;flex-direction:column;gap:1.2rem;}
.proof-card__quote{font-family:'Brilon',serif;font-size:1.25rem;line-height:1.3;color:var(--text);}
.proof-card__who{margin-top:auto;font-size:.82rem;color:var(--muted);letter-spacing:.04em;}
.proof-card__who strong{display:block;color:var(--text);font-weight:500;letter-spacing:.1em;text-transform:uppercase;font-size:.74rem;margin-bottom:.2rem;}

/* ---------- COTIZACIÓN ---------- */
.quote{padding:clamp(5rem,12vw,9rem) 0;background:linear-gradient(180deg,var(--ink-2),var(--ink));}
.quote__inner{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,6vw,5rem);align-items:start;}
.quote__contact{margin-top:2rem;color:var(--muted);line-height:2;}
.quote__contact a:hover{color:var(--text);}
.quote-form{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;}
.field{display:flex;flex-direction:column;gap:.5rem;grid-column:1/-1;}
.field--half{grid-column:span 1;}
.field label{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);}
.field .opt{text-transform:none;letter-spacing:0;opacity:.7;}
.field input,.field select,.field textarea{
  background:var(--ink-3);border:1px solid var(--line);border-radius:3px;
  color:var(--text);font-family:inherit;font-size:1rem;padding:.85rem 1rem;width:100%;
  transition:border-color .3s;
}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--gold);}
.field textarea{resize:vertical;}
.quote-form__actions{grid-column:1/-1;display:flex;gap:1rem;flex-wrap:wrap;margin-top:.4rem;}
.quote-form__privacy{grid-column:1/-1;font-size:.78rem;color:var(--muted);opacity:.8;margin:.4rem 0 0;}

/* ---------- FOOTER ---------- */
.footer{background:var(--ink);border-top:1px solid var(--line);padding-top:clamp(3rem,7vw,5rem);}
.footer__inner{display:grid;grid-template-columns:1.4fr 1fr 1.2fr;gap:2.5rem;padding-bottom:2.5rem;}
.footer__brand img{height:32px;width:auto;margin-bottom:1rem;}
.footer__brand p{color:var(--muted);font-size:.85rem;letter-spacing:.1em;margin:.2rem 0;}
.footer__by{text-transform:uppercase;letter-spacing:.2em;font-size:.7rem !important;}
.footer__nav{display:flex;flex-direction:column;gap:.7rem;}
.footer__nav a{color:var(--muted);font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;}
.footer__nav a:hover{color:var(--text);}
.footer__meta{display:flex;flex-direction:column;gap:.7rem;}
.footer__meta a{color:var(--muted);font-size:.9rem;}
.footer__meta a:hover{color:var(--text);}
.footer__cat{border-top:1px solid var(--line);padding-top:.7rem;margin-top:.3rem;font-size:.8rem !important;opacity:.75;}
.footer__legal{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding:1.4rem clamp(1.2rem,5vw,3rem);border-top:1px solid var(--line);color:var(--muted);font-size:.78rem;}
.footer__legal a:hover{color:var(--text);}

/* ---------- WhatsApp + cookie ---------- */
.whatsapp-fab{position:fixed;right:1.3rem;bottom:1.3rem;z-index:800;width:54px;height:54px;border-radius:50%;background:#25d366;color:#fff;display:grid;place-items:center;box-shadow:0 8px 30px rgba(0,0,0,.4);transition:transform .3s;}
.whatsapp-fab:hover{transform:scale(1.08);}
.cookie{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:850;max-width:560px;margin:0 auto;background:var(--ink-3);border:1px solid var(--line);border-radius:6px;padding:1rem 1.2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;box-shadow:0 12px 40px rgba(0,0,0,.5);}
.cookie p{margin:0;font-size:.85rem;color:var(--muted);}
.cookie a{color:var(--text);text-decoration:underline;}
.cookie__btns{display:flex;gap:.6rem;}

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

:focus-visible{outline:2px solid var(--gold);outline-offset:3px;}

/* ---------- Responsive ---------- */
@media(max-width:1024px){
  .nav__links{position:fixed;inset:76px 0 auto 0;flex-direction:column;gap:0;background:rgba(14,12,11,.97);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);padding:1rem 0 1.6rem;transform:translateY(-120%);transition:transform .45s var(--ease);align-items:stretch;text-align:center;}
  .nav__links.open{transform:none;}
  .nav__links a{padding:1rem;opacity:1;}
  .nav__cta{margin:.6rem auto 0;display:inline-flex;}
  .nav__burger{display:flex;}
  .aroma-grid{grid-template-columns:1fr 1fr;}
  .cobrand__inner,.stat__inner,.aroma-marca__inner,.quote__inner{grid-template-columns:1fr;}
  .proof-grid{grid-template-columns:1fr;}
  .footer__inner{grid-template-columns:1fr;gap:2rem;}
  .quote-form{grid-template-columns:1fr;}
  .field--half{grid-column:1/-1;}
  .aroma-marca__media{min-height:300px;order:-1;}
}
@media(max-width:520px){
  .aroma-grid{grid-template-columns:1fr;}
  .hero__actions{flex-direction:column;align-items:stretch;}
  .btn{width:100%;}
  .hero__actions .btn{width:100%;}
}

/* ============================================================
   Multipágina — cabeceras interiores, features, líneas, CTA
   ============================================================ */
.page-hero{position:relative;padding:clamp(9rem,16vw,12rem) 0 clamp(3.5rem,7vw,5rem);text-align:center;overflow:hidden;border-bottom:1px solid var(--line);}
.page-hero__bg{position:absolute;inset:0;background-position:center;background-size:cover;filter:grayscale(.4) brightness(.3);}
.page-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,12,11,.72),var(--ink));}
.page-hero__inner{position:relative;z-index:2;max-width:min(94vw,72rem);margin:0 auto;}
.page-hero h1{max-width:100%;}
.page-hero .eyebrow{margin-bottom:1rem;}
.page-hero h1{font-family:'Brilon',serif;font-weight:400;font-size:clamp(2.6rem,7vw,5rem);line-height:1.02;margin:0 0 1.2rem;}
.page-hero p{color:var(--muted);max-width:48ch;margin:0 auto;font-size:1.05rem;}

.feature{padding:clamp(4rem,10vw,7rem) 0;}
.feature__inner{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,5rem);align-items:center;}
.feature--rev .feature__media{order:2;}
.feature__media{min-height:400px;border-radius:4px;background-size:cover;background-position:center;border:1px solid var(--line);filter:grayscale(.15) brightness(.9);}
.feature__title{font-family:'Brilon',serif;font-weight:400;font-size:clamp(1.9rem,4.4vw,3rem);line-height:1.05;margin:0 0 1.2rem;}
.feature p{color:var(--muted);}
.feature .btn{margin-top:1.6rem;}

.lines{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin-top:2.5rem;}
.line-card{border:1px solid var(--line);border-radius:4px;padding:2.2rem;background:var(--ink-3);overflow:hidden;}
.line-card__img{height:310px;margin:-2.2rem -2.2rem 1.8rem;background-size:cover;background-position:center;}
.line-card__tag{font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin:0 0 .6rem;}
.line-card h3{font-family:'Brilon',serif;font-weight:400;font-size:1.9rem;margin:0 0 .8rem;}
.line-card p{color:var(--muted);font-size:.95rem;}
.line-card ul{list-style:none;margin:1.2rem 0 0;padding:0;}
.line-card li{padding:.55rem 0;border-bottom:1px solid var(--line);color:var(--text);opacity:.85;font-size:.95rem;}

.cta-band{padding:clamp(4.5rem,11vw,8rem) 0;text-align:center;background:linear-gradient(180deg,var(--ink),var(--ink-2));}
.cta-band h2{font-family:'Brilon',serif;font-weight:400;font-size:clamp(2rem,5vw,3.4rem);margin:0 0 1.6rem;}

@media(max-width:900px){
  .feature__inner{grid-template-columns:1fr;}
  .feature--rev .feature__media{order:-1;}
  .feature__media{min-height:280px;}
  .lines{grid-template-columns:1fr;}
}

/* ============================================================
   Image-forward: bandas a todo lo ancho, showcase, galería
   ============================================================ */
.imgband{position:relative;min-height:min(88vh,780px);display:flex;align-items:flex-end;overflow:hidden;}
.imgband__bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.05);}
.imgband::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,12,11,.42),rgba(14,12,11,.92));}
.imgband__content{position:relative;z-index:2;width:100%;max-width:var(--maxw);margin:0 auto;padding:0 clamp(1.2rem,5vw,3rem) clamp(3rem,8vw,6rem);}
.imgband__content h2{font-family:'Brilon',serif;font-weight:400;font-size:clamp(2.2rem,6.5vw,5rem);line-height:1.02;margin:0 0 1.1rem;max-width:18ch;}
.imgband__content p{color:var(--text);opacity:.86;max-width:46ch;font-size:1.05rem;}
.imgband__content .btn{margin-top:1.8rem;}
.imgband--center{align-items:center;text-align:center;}
.imgband--center .imgband__content h2,.imgband--center .imgband__content p{margin-left:auto;margin-right:auto;}
/* Texto centrado sobre sumi-e claro: scrim más fuerte y parejo para que se lea */
.imgband--center::after{background:linear-gradient(180deg,rgba(14,12,11,.6),rgba(14,12,11,.55) 45%,rgba(14,12,11,.82));}

.showcase__inner{display:grid;grid-template-columns:1.12fr .88fr;min-height:min(90vh,720px);}
.showcase__media{background-size:cover;background-position:center;min-height:340px;}
.showcase__text{display:flex;flex-direction:column;justify-content:center;padding:clamp(2.5rem,6vw,6rem);background:var(--ink-2);}
.showcase--rev .showcase__media{order:2;}
.showcase__text .feature__title{margin-top:1rem;}

.gallery{padding:clamp(4rem,9vw,6.5rem) 0;}
.gallery__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;}
.gallery__item{aspect-ratio:3/4;background-size:cover;background-position:center;border-radius:3px;filter:grayscale(.15) brightness(.92);transition:transform .6s var(--ease),filter .6s;}
.gallery__item:hover{transform:scale(1.02);filter:none;}

/* media más grandes en features + tarjetas de aroma */
.feature__media{min-height:clamp(360px,46vw,560px);}
.aroma-card{min-height:400px;}

@media(max-width:900px){
  .showcase__inner{grid-template-columns:1fr;}
  .showcase__media{min-height:360px;order:-1!important;}
  .showcase__media--zoom{background-size:150%;}
  .gallery__grid{grid-template-columns:1fr 1fr;}
  .imgband{min-height:70vh;}
}

/* ============================================================
   Pasada de diseño: presencia, beneficios, fundido de showcase
   ============================================================ */
.page-hero{min-height:56vh;display:flex;align-items:center;}
.page-hero .wrap{width:100%;}

.benefits{padding:clamp(4rem,9vw,6.5rem) 0;}
.benefits__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.6rem,4vw,3rem);}
.benefit{border-top:1px solid var(--line);padding-top:1.5rem;}
.benefit__n{font-family:'Brilon',serif;color:var(--gold);font-size:1.1rem;letter-spacing:.14em;}
.benefit h3{font-family:'Brilon',serif;font-weight:400;font-size:1.55rem;margin:.7rem 0 .6rem;}
.benefit p{color:var(--muted);font-size:.95rem;margin:0;}

/* Fundido para integrar la foto cálida del producto al panel negro */
.showcase__media{position:relative;}
.showcase__media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 55%,var(--ink-2));}
.showcase--rev .showcase__media::after{background:linear-gradient(270deg,transparent 55%,var(--ink-2));}

@media(max-width:760px){
  .benefits__grid{grid-template-columns:1fr;gap:1.4rem;}
  .showcase__media::after,.showcase--rev .showcase__media::after{background:linear-gradient(180deg,transparent 60%,var(--ink-2));}
}

/* ============================================================
   Fix barra de cookies: respetar [hidden] + contraste botones
   ============================================================ */
.cookie[hidden]{display:none !important;}
.cookie p{color:var(--text);opacity:.9;}
.cookie .btn--ghost{border-color:rgba(239,233,224,.5);color:#efe9e0;background:rgba(239,233,224,.06);}
.cookie .btn--ghost:hover{border-color:#efe9e0;background:rgba(239,233,224,.16);transform:none;}
.cookie .btn--solid:hover{transform:none;}

/* ---- Grilla de producto (página Hotelería) ---- */
.prodgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:2.5rem;}
.prod-card{border:1px solid var(--line);border-radius:4px;padding:1.9rem;background:var(--ink-3);transition:border-color .4s,transform .4s;overflow:hidden;display:block;color:inherit;text-decoration:none;cursor:pointer;}
.prod-card__img{height:300px;margin:-1.9rem -1.9rem 1.4rem;background-size:cover;background-position:center;}
.prod-card:hover{border-color:rgba(239,233,224,.32);transform:translateY(-4px);}
.prod-card .tag{font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);}
.prod-card h3{font-family:'Brilon',serif;font-weight:400;font-size:1.45rem;margin:.5rem 0 .5rem;line-height:1.05;}
.prod-card p{color:var(--muted);font-size:.9rem;margin:0;}
@media(max-width:980px){.prodgrid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.prodgrid{grid-template-columns:1fr;}}
.prodgrid--3{grid-template-columns:repeat(3,1fr);}
@media(max-width:900px){.prodgrid--3{grid-template-columns:repeat(3,1fr);}}
@media(max-width:640px){.prodgrid--3{grid-template-columns:1fr;}}
.linegroup{font-family:'Brilon',serif;font-weight:400;font-size:1.15rem;letter-spacing:.02em;color:var(--text);margin:3.2rem 0 .2rem;padding-bottom:.9rem;border-bottom:1px solid var(--line);text-transform:lowercase;}
.linegroup:first-of-type{margin-top:2.6rem;}
article.prod-card{cursor:default;}

/* ===== Página de producto (PDP) ===== */
.pdp{max-width:var(--maxw);margin:0 auto;padding:clamp(6.5rem,12vw,9rem) clamp(1.2rem,5vw,3rem) clamp(4rem,8vw,6rem);}
.pdp__back{display:inline-block;font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-bottom:2rem;}
.pdp__back:hover{color:var(--text);}
.pdp__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:start;}
.pdp__media{aspect-ratio:4/5;background-size:cover;background-position:center;border-radius:6px;border:1px solid var(--line);position:sticky;top:100px;overflow:hidden;}
.pdp__media img{width:100%;height:100%;object-fit:cover;display:block;}
.pdp__eyebrow{font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin:0 0 1rem;}
.pdp__title{font-family:'Brilon',serif;font-weight:400;font-size:clamp(2.4rem,6vw,3.6rem);line-height:1;margin:0;}
.pdp__subt{font-size:.82rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin:.7rem 0 0;}
.pdp__lead{font-size:1.05rem;line-height:1.75;color:var(--text);opacity:.92;margin:1.6rem 0 0;}
.pdp__badges{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.8rem 0 .5rem;}
.pdp__badges span{font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text);opacity:.85;border:1px solid var(--line);border-radius:999px;padding:.4rem .85rem;}
.pdp h2{font-family:'Brilon',serif;font-weight:400;font-size:1.3rem;margin:2.1rem 0 .7rem;}
.pdp__list{list-style:none;margin:0;padding:0;}
.pdp__list li{position:relative;padding:.55rem 0 .55rem 1.4rem;border-bottom:1px solid var(--line);color:var(--text);opacity:.86;font-size:.95rem;}
.pdp__list li::before{content:"";position:absolute;left:0;top:1.15rem;width:6px;height:6px;border-radius:50%;background:var(--fam,var(--gold));}
.pdp__body{color:var(--muted);font-size:.95rem;line-height:1.7;margin:0;}
.pdp__note{color:var(--muted);font-size:.8rem;line-height:1.6;margin:1.4rem 0 0;opacity:.75;}
.pdp .btn{margin-top:2.2rem;}
.pdp__nav{display:flex;justify-content:space-between;gap:1rem;margin-top:clamp(3rem,7vw,5rem);padding-top:1.6rem;border-top:1px solid var(--line);}
.pdp__nav a{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);max-width:46%;line-height:1.5;}
.pdp__nav a:hover{color:var(--text);}
.pdp__nav .pdp__next{text-align:right;margin-left:auto;}
@media(max-width:820px){.pdp__grid{grid-template-columns:1fr;}.pdp__media{position:static;aspect-ratio:16/11;}}

/* ============================================================
   CATÁLOGO INTERNO (solo link del footer) — tabla + calculadora
   ============================================================ */
.cat-wrap{padding:clamp(7rem,12vw,9rem) 0 5rem;}
.cat-head{margin-bottom:2rem;}
.cat-head h1{font-family:'Brilon',serif;font-weight:400;font-size:clamp(2.2rem,6vw,3.6rem);margin:0 0 .6rem;}
.cat-head p{color:var(--muted);max-width:60ch;margin:0;}
.cat-note{background:rgba(201,168,106,.08);border:1px solid rgba(201,168,106,.35);border-radius:6px;padding:.9rem 1.1rem;color:#d8c39a;font-size:.82rem;margin:1.4rem 0 2rem;}
.cat-controls{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center;margin-bottom:1.6rem;}
.cat-search{background:var(--ink-3);border:1px solid var(--line);border-radius:4px;color:var(--text);padding:.65rem 1rem;font-family:inherit;font-size:.9rem;min-width:220px;flex:1 1 220px;max-width:320px;}
.cat-search::placeholder{color:var(--muted);}
.chip{background:transparent;border:1px solid rgba(239,233,224,.28);color:var(--text);border-radius:100px;padding:.45rem .95rem;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:background .25s,color .25s,border-color .25s;}
.chip:hover{border-color:var(--text);color:var(--text);}
.chip.active{background:var(--text);color:var(--ink);border-color:var(--text);}
.chip-group{display:flex;gap:.5rem;flex-wrap:wrap;}
.cat-print{margin-left:auto;}
.cat-table-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:6px;}
.cat-table{width:100%;border-collapse:collapse;font-size:.9rem;min-width:820px;}
.cat-table th{text-align:left;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:400;padding:.85rem .8rem;border-bottom:1px solid var(--line);background:var(--ink-2);}
.cat-table td{padding:.8rem .8rem;border-bottom:1px solid var(--line);color:var(--text);vertical-align:middle;}
.cat-table tbody tr:hover td{background:rgba(239,233,224,.03);}
.cat-catrow td{background:var(--ink-2);font-family:'Brilon',serif;font-size:1.15rem;letter-spacing:.04em;color:var(--gold);padding:.9rem .8rem;}
.cat-prod{font-weight:400;}
.cat-aroma{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;}
.cat-sku{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.76rem;color:var(--muted);white-space:nowrap;}
.cat-tiers{font-size:.74rem;color:var(--muted);line-height:1.5;white-space:nowrap;}
.cat-tiers b{color:var(--text);font-weight:500;}
.cat-qty{width:74px;background:var(--ink-3);border:1px solid var(--line);border-radius:4px;color:var(--text);padding:.4rem .5rem;font-family:inherit;font-size:.9rem;}
.cat-total{color:var(--gold);white-space:nowrap;font-variant-numeric:tabular-nums;}
.cat-empty{padding:2rem;text-align:center;color:var(--muted);}
@media print{
  .nav,.footer,.whatsapp-fab,.cookie,.cat-controls,.cat-note,.skip-link{display:none!important;}
  body{background:#fff!important;color:#000!important;}
  .cat-wrap{padding:1rem 0!important;}
  .cat-table-scroll{border-color:#ccc;overflow:visible;}
  .cat-table td,.cat-table th{color:#000!important;border-color:#ddd!important;}
  .cat-catrow td{background:#eee!important;color:#000!important;}
  .cat-sku,.cat-tiers,.cat-aroma{color:#444!important;}
  .cat-total{color:#000!important;}
  .cat-qty{border:none;}
}
@media(max-width:760px){.cat-table{font-size:.82rem;}.cat-table th,.cat-table td{padding:.55rem .5rem;}}

/* ---- Catálogo con FOTOS (fichas) ---- */
.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1.2rem;}
.cat-cathead{grid-column:1/-1;font-family:'Brilon',serif;font-size:1.5rem;color:var(--gold);letter-spacing:.04em;margin:1.6rem 0 .2rem;}
.cat-cathead:first-child{margin-top:0;}
.cat-card{border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--ink-3);display:flex;flex-direction:column;transition:border-color .3s,transform .3s;}
.cat-card:hover{border-color:rgba(239,233,224,.3);transform:translateY(-3px);}
.cat-card__img{aspect-ratio:4/5;background-size:cover;background-position:center;position:relative;}
.cat-card__ph{aspect-ratio:4/5;display:grid;place-items:center;position:relative;overflow:hidden;background:var(--ink-2);}
.cat-card__ph::before{content:"";position:absolute;inset:0;background:linear-gradient(160deg,transparent 35%,var(--c,var(--ink-2)) 170%);opacity:.55;}
.cat-card__ph small{position:absolute;bottom:.6rem;left:0;right:0;text-align:center;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);z-index:2;}
.cat-card__ph span{font-family:'Brilon',serif;font-size:2.4rem;color:var(--text);opacity:.45;position:relative;z-index:2;}
.cat-card__tag{position:absolute;top:.6rem;left:.6rem;background:rgba(14,12,11,.72);backdrop-filter:blur(6px);color:var(--text);font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;padding:.3rem .6rem;border-radius:3px;z-index:3;}
.cat-card__body{padding:1.05rem 1.05rem 1.2rem;display:flex;flex-direction:column;gap:.4rem;flex:1;}
.cat-card__aroma{font-size:.64rem;text-transform:uppercase;letter-spacing:.14em;color:var(--gold);min-height:.8em;}
.cat-card__name{font-family:'Brilon',serif;font-weight:400;font-size:1.3rem;line-height:1.05;margin:0;}
.cat-card__meta{font-size:.8rem;color:var(--muted);}
.cat-card__sku{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.7rem;color:var(--muted);}
.cat-card__tiers{font-size:.72rem;color:var(--muted);border-top:1px solid var(--line);padding-top:.55rem;margin-top:.3rem;line-height:1.7;}
.cat-card__tiers b{color:var(--text);font-weight:500;}
.cat-card__calc{display:flex;align-items:center;gap:.5rem;margin-top:.5rem;}
.cat-card__total{color:var(--gold);font-size:.88rem;margin-left:auto;font-variant-numeric:tabular-nums;text-align:right;line-height:1.2;}
.cat-card__total small{display:block;color:var(--muted);font-size:.68rem;}
@media print{
  .cat-grid{grid-template-columns:repeat(3,1fr);gap:.5rem;}
  .cat-card{break-inside:avoid;border-color:#ddd;background:#fff;}
  .cat-card__tiers{color:#333;border-color:#ddd;}.cat-card__name,.cat-card__tiers b{color:#000;}
  .cat-card__calc{display:none;}
  .cat-cathead{color:#000;}
}

/* Escalas de precio por cantidad (lista vertical, no se parte en móvil) */
.cat-card__tiers{border-top:1px solid var(--line);padding-top:.65rem;margin-top:.35rem;display:flex;flex-direction:column;gap:.22rem;}
.cat-card__tiers .tier-t{font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:.25rem;}
.cat-card__tiers .tier{display:flex;justify-content:space-between;align-items:baseline;gap:.8rem;font-size:.8rem;color:var(--muted);line-height:1.35;}
.cat-card__tiers .tier em{font-style:normal;white-space:nowrap;}
.cat-card__tiers .tier b{color:var(--text);font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap;}
@media print{.cat-card__tiers .tier{color:#333;}.cat-card__tiers .tier b{color:#000;}}

/* Botón Imprimir/PDF del catálogo: contraste visible */
.cat-print{border-color:rgba(239,233,224,.5)!important;color:#efe9e0!important;background:rgba(239,233,224,.07);}
.cat-print:hover{border-color:#efe9e0!important;background:rgba(239,233,224,.16);transform:none;}

/* ============================================================
   Catálogo: pestañas (Fichas / Calculadora de ahorro)
   ============================================================ */
.cat-tabs{display:flex;gap:.4rem;border-bottom:1px solid var(--line);margin-bottom:1.8rem;}
.cat-tab{background:none;border:0;border-bottom:2px solid transparent;color:var(--muted);font-family:'Jost',sans-serif;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;padding:.9rem 1.1rem;cursor:pointer;transition:color .25s,border-color .25s;}
.cat-tab:hover{color:var(--text);}
.cat-tab.active{color:var(--text);border-bottom-color:var(--gold);}

/* Calculadora de ahorro */
.calc-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;background:var(--ink-2);border:1px solid var(--line);border-radius:8px;padding:1.4rem;margin-bottom:1.4rem;}
.calc-controls label{display:block;font-size:.62rem;font-weight:400;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:.5rem;}
.calc-controls input[type=number],.calc-controls select{width:100%;background:var(--ink-3);border:1px solid var(--line);border-radius:5px;color:var(--text);padding:.7rem .8rem;font-family:inherit;font-size:.95rem;}
.calc-controls input:focus,.calc-controls select:focus{outline:none;border-color:var(--gold);}
.calc-checks{grid-column:1/-1;display:flex;gap:1.6rem;flex-wrap:wrap;}
.calc-checks label{display:flex;align-items:center;gap:.5rem;text-transform:none;letter-spacing:0;color:var(--text);font-size:.9rem;margin:0;cursor:pointer;}
.calc-checks input{width:16px;height:16px;accent-color:var(--gold);}

.calc-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.6rem;}
.calc-card{background:var(--ink-2);border:1px solid var(--line);border-radius:8px;padding:1.3rem 1.4rem;}
.calc-card .k{font-size:.72rem;color:var(--muted);margin-bottom:.5rem;}
.calc-card .v{font-family:'Brilon',serif;font-size:1.9rem;line-height:1;color:var(--text);}
.calc-card .s{font-size:.72rem;color:var(--muted);margin-top:.4rem;}
.calc-card--gold{border-color:rgba(201,168,106,.5);background:rgba(201,168,106,.08);}
.calc-card--gold .v{color:var(--gold);}

.calc-table{width:100%;border-collapse:collapse;font-size:.88rem;min-width:860px;}
.calc-table th{text-align:right;font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:400;padding:.8rem .7rem;border-bottom:1px solid var(--line);background:var(--ink-2);}
.calc-table th:first-child,.calc-table td:first-child{text-align:left;}
.calc-table td{padding:.75rem .7rem;border-bottom:1px solid var(--line);text-align:right;color:var(--text);}
.calc-table tbody tr:hover td{background:rgba(239,233,224,.03);}
.calc-table .comp{color:var(--muted);}
.calc-table .mine-col{background:rgba(201,168,106,.06);}
.calc-table th.mine-col{background:rgba(201,168,106,.12);}
.calc-price{width:92px;background:var(--ink-3);border:1px solid rgba(201,168,106,.5);border-radius:5px;color:var(--text);padding:.4rem .5rem;font-family:inherit;font-size:.85rem;text-align:right;}
.calc-price:focus{outline:none;border-color:var(--gold);}
.calc-table tr.total td{font-weight:500;background:var(--ink-2);border-top:2px solid var(--line);}
.calc-table tr.amb td{color:var(--muted);font-style:italic;}
.ahorro-pos{color:#7fc9a3;font-weight:500;}
.ahorro-neg{color:#e0917f;font-weight:500;}
.calc-note{font-size:.78rem;color:var(--muted);line-height:1.7;margin-top:1.2rem;}
.calc-note b{color:var(--text);}
@media(max-width:760px){.calc-cards{grid-template-columns:1fr;}}
@media print{.cat-tabs,.calc-controls,.calc-checks,.calc-kiy-tools{display:none!important;}.calc-card{border-color:#ddd;background:#fff;}.calc-card .v{color:#000;}.calc-table td,.calc-table th{color:#000;border-color:#ddd;}.calc-price{border:none;}}

/* ============================================================
   CANDADO BRILON — la fuente NUNCA muestra mayúsculas.
   Fuerza minúscula en todos los elementos que usan Brilon,
   pase lo que pase con el texto de origen. (Los números no se afectan.)
   ============================================================ */
.hero__title,.manifesto__text,.section-title,.about__title,.stat__title,.stat__num,
.aroma-card__name,.step h3,.feature__title,.page-hero h1,.prod-card h3,
.imgband__content h2,.cta-band h2,.line-card h3,.benefit h3,.splash-mark,
.cat-head h1,.cat-cathead,.cat-card__name,.proof-card__quote,.calc-card .v{ text-transform:lowercase !important; }

/* ============================================================
   Impresión de la oferta: logo + tabla que cabe en la hoja
   ============================================================ */
.print-head{display:none;}
@media print{
  @page{margin:14mm;}
  .print-head{display:flex!important;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid #ccc;}
  .print-head img{height:38px;width:auto;}
  .print-head span{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#666;}
  .cat-head{display:none!important;}
  /* la tabla de la calculadora ya no fuerza ancho: cabe en la hoja */
  .cat-table-scroll{overflow:visible!important;border:none!important;}
  .calc-table{min-width:0!important;width:100%!important;font-size:8.5pt!important;table-layout:fixed;}
  .calc-table th,.calc-table td{padding:4px 5px!important;overflow:hidden;text-overflow:ellipsis;}
  .calc-table td:first-child,.calc-table th:first-child{white-space:normal;}
  .calc-cards{gap:8px;}
  .calc-card{padding:.8rem 1rem;}
}

/* ============================================================
   PROPUESTA COMERCIAL (documento de impresión, client-facing)
   Tipografía normal (no Brilon) para que lea como documento formal.
   ============================================================ */
#print-proposal{display:none;}
@media print{
  /* Modo propuesta: solo se imprime el documento */
  body.mode-proposal .nav,body.mode-proposal .footer,body.mode-proposal .whatsapp-fab,
  body.mode-proposal .cookie,body.mode-proposal .skip-link,
  body.mode-proposal .cat-wrap > .wrap > *:not(#print-proposal){display:none!important;}
  body.mode-proposal #print-proposal{display:block!important;}

  #print-proposal{color:#1a1a1a;font-family:'Jost',Arial,sans-serif;font-size:10.5pt;line-height:1.5;}
  .pp-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:2px solid #222;padding-bottom:10px;margin-bottom:14px;}
  .pp-logo{height:40px;width:auto;}
  .pp-emisor{font-size:8.5pt;text-align:right;color:#333;line-height:1.5;}
  .pp-emisor b{color:#111;font-size:10pt;}
  .pp-title{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px;}
  .pp-title h2{font-family:Georgia,'Times New Roman',serif;font-weight:600;font-size:18pt;margin:0;color:#111;}
  .pp-meta{display:flex;gap:16px;font-size:9pt;color:#333;}
  .pp-client{font-size:9.5pt;margin-bottom:8px;color:#222;}
  .pp-obj{font-size:9.5pt;margin:0 0 10px;color:#222;}
  .pp-table{width:100%;border-collapse:collapse;font-size:9.5pt;margin:6px 0 10px;}
  .pp-table th{background:#f1f1f1;text-align:right;padding:6px 8px;border-bottom:1px solid #999;font-size:8pt;text-transform:uppercase;letter-spacing:.04em;color:#333;}
  .pp-table th:first-child,.pp-table td:first-child{text-align:left;}
  .pp-table td{padding:6px 8px;border-bottom:1px solid #e2e2e2;text-align:right;color:#1a1a1a;}
  .pp-unitdisc{font-size:8pt;color:#666;font-weight:400;margin-top:2px;}
  .pp-unitdisc b{color:#111;font-weight:600;}
  .pp-totals{margin-left:auto;width:300px;font-size:10pt;}
  .pp-totals div{display:flex;justify-content:space-between;padding:3px 0;color:#222;}
  .pp-totals .muted{color:#666;}
  .pp-totals .grand{border-top:2px solid #222;font-weight:bold;font-size:12pt;padding-top:6px;margin-top:4px;color:#111;}
  .pp-terms{margin-top:16px;font-size:9pt;color:#222;break-inside:avoid;}
  .pp-terms h3{font-family:Georgia,serif;font-size:11pt;margin:0 0 6px;color:#111;}
  .pp-terms ul{margin:0;padding-left:16px;line-height:1.6;}
  .pp-legal{font-size:7.6pt;color:#555;margin-top:8px;line-height:1.5;}
  .pp-sign{display:flex;gap:44px;margin-top:40px;break-inside:avoid;}
  .pp-sign div{flex:1;font-size:8.5pt;color:#333;}
  .pp-sign span{display:block;border-top:1px solid #333;margin-bottom:5px;}
}

/* ============================================================
   Armador de propuestas (líneas editables)
   ============================================================ */
.pb-tools{display:flex;gap:.7rem;flex-wrap:wrap;align-items:center;margin:1.2rem 0;}
.pb-tools select{background:var(--ink-3);border:1px solid var(--line);border-radius:5px;color:var(--text);padding:.55rem .8rem;font-family:inherit;font-size:.9rem;min-width:220px;}
.pb-table{width:100%;border-collapse:collapse;font-size:.9rem;min-width:720px;}
.pb-table th{text-align:left;font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:400;padding:.7rem .6rem;border-bottom:1px solid var(--line);background:var(--ink-2);}
.pb-table td{padding:.45rem .5rem;border-bottom:1px solid var(--line);vertical-align:middle;}
.pb-table input{width:100%;background:var(--ink-3);border:1px solid var(--line);border-radius:5px;color:var(--text);padding:.5rem .6rem;font-family:inherit;font-size:.88rem;}
.pb-table input:focus{outline:none;border-color:var(--gold);}
.pb-table .num input{text-align:right;}
.pb-table .pb-total{text-align:right;color:var(--gold);white-space:nowrap;font-variant-numeric:tabular-nums;}
.pb-del{background:none;border:1px solid var(--line);color:var(--muted);border-radius:5px;width:30px;height:30px;cursor:pointer;font-size:1rem;line-height:1;}
.pb-del:hover{border-color:#e0917f;color:#e0917f;}
.pb-foot{display:flex;flex-wrap:wrap;gap:1.6rem;align-items:flex-start;justify-content:space-between;margin-top:1.4rem;}
.pb-opts{display:flex;gap:1.4rem;flex-wrap:wrap;align-items:center;color:var(--text);font-size:.9rem;}
.pb-opts label{display:flex;align-items:center;gap:.5rem;cursor:pointer;}
.pb-opts input[type=checkbox]{width:16px;height:16px;accent-color:var(--gold);}
.pb-opts input[type=number]{width:70px;background:var(--ink-3);border:1px solid var(--line);border-radius:5px;color:var(--text);padding:.4rem .5rem;}
.pb-totals{min-width:260px;font-size:.95rem;}
.pb-totals div{display:flex;justify-content:space-between;padding:.25rem 0;color:var(--muted);}
.pb-totals .grand{border-top:1px solid var(--line);margin-top:.3rem;padding-top:.5rem;color:var(--gold);font-size:1.1rem;font-weight:500;}
@media(max-width:640px){.pb-foot{flex-direction:column;}}

/* Armador: producto de solo-lista, sugerido/mínimo y alarma */
.pb-table .pb-desc,.pb-table .pb-unit{color:var(--text);font-size:.9rem;display:inline-block;}
.pb-hint{font-size:.66rem;color:var(--muted);margin-top:.25rem;text-align:right;white-space:nowrap;}
.pb-table tr.below-min td{background:rgba(224,145,127,.09);}
.pb-table tr.below-min .pb-price{border-color:#e0917f;color:#e0917f;}
.pb-table tr.below-min .pb-hint{color:#e0917f;}
.pb-alarm{display:none;background:rgba(224,145,127,.12);border:1px solid rgba(224,145,127,.55);color:#e79a8a;border-radius:6px;padding:.75rem 1rem;margin:1.1rem 0;font-size:.86rem;}
.pb-alarm.show{display:block;}
.pb-empty{color:var(--muted);font-size:.9rem;padding:1.4rem;text-align:center;}

/* Armador: selector de unidad por línea */
.pb-unit-sel{width:100%;background:var(--ink-3);border:1px solid var(--line);border-radius:5px;color:var(--text);padding:.5rem;font-family:inherit;font-size:.85rem;}
.pb-unit-sel:focus{outline:none;border-color:var(--gold);}

/* ===== HERO SLIDER (fade · 3 banners) — 2026-08-13 ===== */
.hero__slides{position:absolute;inset:0;z-index:0;}
.hero__slide{position:absolute;inset:0;background:center/cover no-repeat;transform:scale(1.08);filter:brightness(.42) saturate(.7) contrast(1.05);opacity:0;transition:opacity 1.2s ease;}
.hero__slide.is-active{opacity:1;}
.hero__content{display:grid;}
.hero__slidetext{grid-area:1/1;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .9s ease,transform .9s ease;pointer-events:none;}
.hero__slidetext.is-active{opacity:1;visibility:visible;transform:none;pointer-events:auto;}
.hero__dots{position:absolute;z-index:3;left:clamp(1.2rem,5vw,3rem);bottom:2.2rem;display:flex;gap:.6rem;}
.hero__dot{width:9px;height:9px;padding:0;border-radius:50%;border:1px solid var(--line);background:transparent;cursor:pointer;transition:background .3s ease,border-color .3s ease,transform .3s ease;}
.hero__dot:hover{border-color:var(--text);}
.hero__dot.is-active{background:var(--text);border-color:var(--text);transform:scale(1.15);}
@media (prefers-reduced-motion: reduce){.hero__slide,.hero__slidetext{transition:none;}}

/* Editar Precio/L KIYORA en la calculadora */
.calc-kiy-tools{margin:0 0 1.4rem;}
#calcKiyBtn.is-on{border-color:var(--gold)!important;color:var(--gold)!important;background:rgba(201,168,106,.08);}
.calc-kiy-edit{margin-top:1rem;background:var(--ink-2);border:1px solid var(--line);border-radius:8px;padding:1.3rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1rem;align-items:end;}
.calc-kiy-field{display:block;font-size:.62rem;font-weight:400;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);}
.calc-kiy-field span{display:block;margin-bottom:.5rem;}
.calc-kiy-field input{width:100%;background:var(--ink-3);border:1px solid var(--line);border-radius:5px;color:var(--text);padding:.6rem .7rem;font-family:inherit;font-size:.95rem;}
.calc-kiy-field input:focus{outline:none;border-color:var(--gold);}
.calc-kiy-reset{grid-column:1/-1;justify-self:start;}

/* Banner con foto clara (onsen): menos oscurecimiento */
.hero__slide--photo{filter:none;}

/* Banda divisoria: imagen completa y responsive (nunca se corta) + fundidos a negro */
.strip{position:relative;line-height:0;background:var(--ink);}
.strip__img{width:100%;height:auto;display:block;max-height:82vh;object-fit:cover;object-position:center;}
.strip::before,.strip::after{content:"";position:absolute;left:0;right:0;height:14%;pointer-events:none;z-index:1;}
.strip::before{top:0;background:linear-gradient(180deg,var(--ink),transparent);}
.strip::after{bottom:0;background:linear-gradient(0deg,var(--ink),transparent);}

/* Submenú de navegación (pruebas de hero — temporal) */
.nav__group{position:relative;display:inline-flex;align-items:center;}
.nav__drop{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(8px);display:flex;flex-direction:column;min-width:210px;background:rgba(14,12,11,.97);backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:6px;padding:.4rem 0;opacity:0;visibility:hidden;transition:opacity .25s var(--ease),transform .25s var(--ease);z-index:950;}
.nav__group:hover .nav__drop{opacity:1;visibility:visible;transform:translateX(-50%) translateY(2px);}
.nav__drop a{padding:.6rem 1.2rem;font-size:.7rem;letter-spacing:.1em;white-space:nowrap;text-transform:uppercase;opacity:.85;}
.nav__drop a:hover{opacity:1;background:rgba(239,233,224,.06);}
@media(max-width:1024px){
  .nav__group{flex-direction:column;align-items:center;}
  .nav__drop{position:static;transform:none;opacity:1;visibility:visible;background:none;border:0;padding:.2rem 0 .6rem;min-width:0;}
  .nav__drop a{padding:.45rem 0;font-size:.66rem;opacity:.55;}
}


/* ===== HERO CINEMÁTICO de sección (Diseño A) ===== */
.vhero{position:relative;}
.vhero__kick{display:inline-flex;align-items:center;gap:.8rem;font-size:.7rem;letter-spacing:.4em;text-transform:uppercase;color:var(--text);opacity:.85;margin-bottom:1.4rem;}
.vhero__kick i{width:34px;height:1px;background:var(--gold);display:inline-block;}
.vhero--cine{min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;}
.vhero--cine .vhero__img{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.06);animation:vkb 22s ease-out forwards;}
.vhero--cine .vhero__scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,12,11,.28),rgba(14,12,11,.04) 40%,rgba(14,12,11,.42) 72%,rgba(14,12,11,.85));}
.vhero--cine .vhero__wrap{position:relative;z-index:2;max-width:var(--maxw);margin:0 auto;width:100%;padding:0 clamp(1.6rem,5vw,3rem) clamp(4rem,8vw,7rem);}
.vhero--cine .vhero__title{font-family:'Brilon',serif;font-weight:400;text-transform:lowercase;font-size:clamp(2.5rem,6vw,5.4rem);line-height:.98;margin:0 0 1.2rem;}
.vhero--cine .vhero__lead{color:var(--text);opacity:.9;max-width:46ch;font-size:1.05rem;line-height:1.7;margin:0 0 2.2rem;}
.vhero__scroll{position:absolute;left:50%;bottom:1.6rem;transform:translateX(-50%);width:22px;height:36px;border:1px solid rgba(239,233,224,.38);border-radius:12px;z-index:3;}
.vhero__scroll::after{content:"";position:absolute;left:50%;top:7px;width:2px;height:7px;background:var(--text);border-radius:2px;transform:translateX(-50%);animation:vsc 1.8s infinite;}
@keyframes vkb{to{transform:scale(1.14)}}
@keyframes vsc{0%{opacity:0;transform:translate(-50%,0)}30%{opacity:1}100%{opacity:0;transform:translate(-50%,12px)}}
@media(prefers-reduced-motion:reduce){.vhero--cine .vhero__img{animation:none}.vhero__scroll::after{animation:none}}

/* Flechas de navegación del slider hero */
.hero__arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:42px;height:42px;display:grid;place-items:center;background:rgba(14,12,11,.26);border:1px solid rgba(239,233,224,.4);border-radius:50%;color:var(--text);cursor:pointer;opacity:.75;transition:opacity .25s var(--ease),background .25s var(--ease),border-color .25s var(--ease);backdrop-filter:blur(4px);}
.hero__arrow:hover{opacity:1;background:rgba(14,12,11,.5);border-color:var(--text);transform:translateY(-50%) scale(1.06);}
.hero__arrow--prev{left:clamp(.6rem,2vw,1.6rem);}
.hero__arrow--next{right:clamp(.6rem,2vw,1.6rem);}
@media(max-width:600px){.hero__arrow{width:36px;height:36px;}.hero{min-height:80svh;}.hero__slide{transform:none;}.hero__slide--photo:nth-of-type(2){background-position:26% center;}}
