/* ============================================================
   PACHAMIA — Design System
   Internacional en sensibilidad. Mexicano en alma.
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400;1,500&family=Inter:wght@300;400;500&display=swap');

:root {
  --crema:        #F7F3EE;
  --arena:        #E8DDCF;
  --terracota:    #B96A48;
  --cacao-deep:   #2F2118;
  --cacao-mid:    #5A4030;
  --salvia:       #A8B39D;
  --negro-calido: #171311;
  --cacao:        #2F2118;
  --cacao-medio:  #5A4030;
  --font-serif: 'Cormorant Garamond', Georgia, serif;
  --font-sans:  'Inter', system-ui, sans-serif;
  --space-xs:  16px;  --space-s:   32px;  --space-m:   64px;
  --space-l:   120px; --space-xl:  180px; --space-xxl: 260px;
  --ease-cinematic: cubic-bezier(0.16, 1, 0.3, 1);
  --dur-fast: 150ms; --dur-mid: 400ms; --dur-slow: 800ms; --dur-cinema: 1000ms;
  --max-width: 1280px;
  --col-pad: clamp(24px, 5vw, 80px);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{background-color:var(--crema);color:var(--cacao-deep);font-family:var(--font-sans);font-size:1rem;line-height:1.7;font-weight:300;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}

h1,h2,h3,h4{font-family:var(--font-serif);font-weight:400;line-height:1.1;letter-spacing:-0.01em}
h1{font-size:clamp(3rem,7vw,6.5rem)}
h2{font-size:clamp(2.2rem,4.5vw,3.8rem)}
h3{font-size:clamp(1.4rem,2.8vw,2rem)}
h4{font-size:clamp(1.1rem,2vw,1.5rem)}
.eyebrow,.overline{font-family:var(--font-sans);font-size:0.7rem;font-weight:400;letter-spacing:0.2em;text-transform:uppercase;color:var(--cacao-mid)}
.body-large{font-size:1.1rem;line-height:1.8;font-weight:300}

.container{max-width:var(--max-width);margin:0 auto;padding:0 var(--col-pad)}
.section{padding-top:var(--space-xl);padding-bottom:var(--space-xl)}
.section--arena{background-color:var(--arena)}
.section--cacao{background-color:var(--cacao-deep);color:var(--crema)}
.section--dark{background-color:var(--negro-calido);color:var(--crema)}

/* NAV */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:28px var(--col-pad);display:flex;align-items:center;justify-content:space-between;transition:background var(--dur-mid) var(--ease-cinematic),padding var(--dur-mid) var(--ease-cinematic)}
.nav.scrolled,.nav--scrolled{background:rgba(247,243,238,0.97);backdrop-filter:blur(12px);padding:18px var(--col-pad);border-bottom:1px solid rgba(47,33,24,0.08)}
.nav__logo img{height:56px;width:auto}
.nav__inner{display:flex;align-items:center;justify-content:space-between;width:100%}
.nav__links{display:flex;gap:var(--space-m);list-style:none;align-items:center}
.nav__links a{font-size:0.75rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--cacao-deep);transition:opacity var(--dur-fast);font-weight:400}
.nav__links a:hover{opacity:0.5}
.nav__cta{font-size:0.7rem;letter-spacing:0.14em;text-transform:uppercase;border:1px solid var(--cacao-deep);padding:10px 22px;transition:background var(--dur-mid),color var(--dur-mid)}
.nav__cta:hover{background:var(--cacao-deep);color:var(--crema)}
.nav__toggle,.nav__burger{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px;padding:4px}
.nav__toggle span,.nav__burger span{display:block;width:24px;height:1px;background:var(--cacao-deep);transition:all var(--dur-mid)}
.lang-btn{font-family:var(--font-sans);font-size:0.65rem;letter-spacing:0.14em;text-transform:uppercase;background:none;border:none;cursor:pointer;color:var(--cacao-deep);opacity:0.6;transition:opacity var(--dur-fast);padding:0 4px}
.lang-btn:hover{opacity:1}

/* HERO */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;background:var(--cacao-deep)}
.hero__bg{position:absolute;inset:0;overflow:hidden}
.hero__bg img{width:100%;height:100%;object-fit:cover;transform:scale(1.06);transition:transform 8s var(--ease-cinematic)}
.hero.loaded .hero__bg img{transform:scale(1)}
.hero__overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(23,19,17,0.72) 0%,rgba(23,19,17,0.2) 50%,rgba(23,19,17,0.1) 100%)}
.hero__content{position:relative;z-index:2;padding:var(--col-pad);padding-bottom:clamp(60px,8vw,100px);max-width:800px;color:var(--crema)}
.hero__content .eyebrow{color:rgba(247,243,238,0.6);margin-bottom:var(--space-s)}
.hero__content h1{margin-bottom:var(--space-s);color:var(--crema)}
.hero__content p{font-size:clamp(1rem,1.5vw,1.15rem);max-width:520px;opacity:0.85;margin-bottom:var(--space-m)}
.hero__ctas{display:flex;gap:var(--space-s);flex-wrap:wrap}

/* BUTTONS */
.btn{display:inline-block;font-family:var(--font-sans);font-size:0.7rem;letter-spacing:0.14em;text-transform:uppercase;font-weight:400;padding:14px 32px;border:1px solid currentColor;transition:background var(--dur-mid) var(--ease-cinematic),color var(--dur-mid) var(--ease-cinematic);cursor:pointer}
.btn--light{color:var(--crema);border-color:rgba(247,243,238,0.5)}
.btn--light:hover{background:var(--crema);color:var(--cacao-deep)}
.btn--dark{color:var(--cacao-deep);border-color:var(--cacao-deep)}
.btn--dark:hover{background:var(--cacao-deep);color:var(--crema)}
.btn--terracota{color:var(--terracota);border-color:var(--terracota)}
.btn--terracota:hover{background:var(--terracota);color:var(--crema)}
.amazon-link{display:inline-flex;align-items:center;gap:8px;font-size:0.7rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--cacao-mid);border-bottom:1px solid var(--arena);padding-bottom:3px;transition:color var(--dur-fast),border-color var(--dur-fast)}
.amazon-link:hover{color:var(--terracota);border-color:var(--terracota)}

/* SPLIT */
.split{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-l);align-items:center}
.split--reverse{direction:rtl}
.split--reverse>*{direction:ltr}
.split__image{aspect-ratio:3/4;overflow:hidden}
.split__image img{width:100%;height:100%;object-fit:cover;transition:transform var(--dur-cinema) var(--ease-cinematic)}
.split__image:hover img{transform:scale(1.03)}
.split__text{padding:var(--space-m) 0}
.split__text .eyebrow{margin-bottom:var(--space-s)}
.split__text h2{margin-bottom:var(--space-s)}
.split__text p{margin-bottom:var(--space-m)}

/* PRODUCT GRID */
.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-m)}
.product-card{display:flex;flex-direction:column}
.product-card__image{aspect-ratio:1;overflow:hidden;background:var(--arena);margin-bottom:var(--space-s)}
.product-card__image img{width:100%;height:100%;object-fit:cover;transition:transform var(--dur-cinema) var(--ease-cinematic)}
.product-card:hover .product-card__image img{transform:scale(1.04)}
.product-card__eyebrow{margin-bottom:8px}
.product-card__name{font-family:var(--font-serif);font-size:1.3rem;margin-bottom:8px}
.product-card__desc{font-size:0.875rem;color:var(--cacao-mid);margin-bottom:var(--space-s);flex:1;line-height:1.6}
.product-card__footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}
.product-card__price{font-family:var(--font-serif);font-size:1.1rem;color:var(--cacao-mid)}

/* COLLECTIONS GRID */
.collections-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
.collection-item{position:relative;overflow:hidden;aspect-ratio:2/3;display:block}
.collection-item img{width:100%;height:100%;object-fit:cover;transition:transform var(--dur-cinema) var(--ease-cinematic),filter var(--dur-cinema);filter:brightness(0.75)}
.collection-item:hover img{transform:scale(1.04);filter:brightness(0.55)}
.collection-item__label{position:absolute;bottom:var(--space-m);left:var(--space-s);right:var(--space-s);color:var(--crema);z-index:2}
.collection-item__label .eyebrow{color:rgba(247,243,238,0.6);margin-bottom:8px}
.collection-item__label h3{color:var(--crema)}

/* QUOTE */
.quote-section{text-align:center;padding:var(--space-xl) var(--col-pad);max-width:900px;margin:0 auto}
.quote-section blockquote{font-family:var(--font-serif);font-size:clamp(1.8rem,3.5vw,3rem);font-weight:300;font-style:italic;line-height:1.3;color:var(--cacao-deep)}

/* MATERIALS BAND */
.materials-band{display:flex;gap:var(--space-l);align-items:center;padding:var(--space-xl) var(--col-pad);background:var(--arena)}
.materials-band__image{flex:0 0 45%;aspect-ratio:4/3;overflow:hidden}
.materials-band__image img{width:100%;height:100%;object-fit:cover}
.materials-band__text{flex:1}
.materials-band__text .eyebrow{margin-bottom:var(--space-s)}
.materials-band__text h2{margin-bottom:var(--space-s)}
.materials-band__text p{margin-bottom:var(--space-m)}

/* NEWSLETTER */
.newsletter{text-align:center;padding:var(--space-xl) var(--col-pad);background:var(--cacao-deep);color:var(--crema)}
.newsletter .eyebrow{color:rgba(247,243,238,0.4);margin-bottom:var(--space-s)}
.newsletter h2{color:var(--crema);margin-bottom:var(--space-s)}
.newsletter p{color:rgba(247,243,238,0.65);max-width:480px;margin:0 auto var(--space-m)}
.newsletter__form{display:flex;gap:0;max-width:460px;margin:0 auto}
.newsletter__form input{flex:1;background:transparent;border:1px solid rgba(247,243,238,0.2);border-right:none;padding:14px 20px;color:var(--crema);font-family:var(--font-sans);font-size:0.875rem;outline:none;transition:border-color var(--dur-fast)}
.newsletter__form input::placeholder{color:rgba(247,243,238,0.3)}
.newsletter__form input:focus{border-color:rgba(247,243,238,0.5)}
.newsletter__form button{background:var(--terracota);color:var(--crema);border:1px solid var(--terracota);padding:14px 28px;font-family:var(--font-sans);font-size:0.7rem;letter-spacing:0.14em;text-transform:uppercase;cursor:pointer;transition:background var(--dur-fast)}
.newsletter__form button:hover{background:var(--cacao-mid);border-color:var(--cacao-mid)}

/* B2B TEASER */
.b2b-teaser{display:grid;grid-template-columns:1fr 1fr;min-height:420px}
.b2b-teaser__text{display:flex;flex-direction:column;justify-content:center;padding:var(--space-xl) var(--col-pad);background:var(--negro-calido);color:var(--crema)}
.b2b-teaser__text .eyebrow{color:rgba(247,243,238,0.35);margin-bottom:var(--space-s)}
.b2b-teaser__text h2{color:var(--crema);margin-bottom:var(--space-s)}
.b2b-teaser__text p{color:rgba(247,243,238,0.6);margin-bottom:var(--space-m);max-width:400px}
.b2b-teaser__image{overflow:hidden}
.b2b-teaser__image img{width:100%;height:100%;object-fit:cover;filter:brightness(0.75) saturate(0.85)}

/* FOOTER */
.footer{background:var(--negro-calido);color:rgba(247,243,238,0.55);padding:var(--space-xl) var(--col-pad) var(--space-m)}
.footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:var(--space-l);margin-bottom:var(--space-xl)}
.footer__brand img{height:28px;opacity:0.65;margin-bottom:var(--space-m)}
.footer__brand p{font-size:0.875rem;max-width:260px;line-height:1.7}
.footer__col h4,.footer__links h4{font-family:var(--font-sans);font-size:0.65rem;letter-spacing:0.18em;text-transform:uppercase;color:rgba(247,243,238,0.3);margin-bottom:var(--space-s);font-weight:400}
.footer__col ul,.footer__links ul{list-style:none;padding:0;margin:0}
.footer__col ul li,.footer__links ul li{margin-bottom:10px}
.footer__col ul a,.footer__links ul a{font-size:0.875rem;transition:color var(--dur-fast)}
.footer__col ul a:hover,.footer__links ul a:hover{color:var(--crema)}
.footer__bottom{border-top:1px solid rgba(247,243,238,0.07);padding-top:var(--space-m);display:flex;justify-content:space-between;align-items:center;font-size:0.75rem}

/* PAGE HERO */
.page-hero{padding-top:calc(90px + var(--space-m));padding-bottom:var(--space-l);padding-left:var(--col-pad);padding-right:var(--col-pad);max-width:var(--max-width);margin:0 auto}
.page-hero .eyebrow,.page-hero .overline{margin-bottom:var(--space-s)}
.page-hero h1{margin-bottom:var(--space-s)}
.page-hero .lead{font-size:clamp(1rem,1.6vw,1.2rem);max-width:620px;color:var(--cacao-mid)}

/* PAGE HERO — full-bleed image variant */
.page-hero--image{position:relative;min-height:58vh;display:flex;align-items:flex-end;overflow:hidden;padding:0;max-width:100%;background:var(--cacao-deep)}
.page-hero__bg{position:absolute;inset:0;background-size:cover;background-position:center}
.page-hero__overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(23,19,17,0.15) 0%,rgba(23,19,17,0.72) 100%)}
.page-hero__content{position:relative;z-index:2;width:100%;padding-top:calc(80px + var(--space-m));padding-bottom:var(--space-l);padding-left:var(--col-pad);padding-right:var(--col-pad);color:var(--crema)}
.page-hero__content .overline,.page-hero__content .eyebrow{color:rgba(247,243,238,0.55);margin-bottom:var(--space-s)}
.page-hero__content h1{color:var(--crema);margin-bottom:var(--space-s)}
.page-hero__content .lead{font-size:clamp(1rem,1.6vw,1.2rem);color:rgba(247,243,238,0.8);max-width:600px}

/* PRIVACY MODAL */
.privacy-modal{display:none;position:fixed;inset:0;z-index:1000;background:rgba(23,19,17,0.75);backdrop-filter:blur(6px);overflow-y:auto;padding:var(--space-m) var(--col-pad)}
.privacy-modal.open{display:flex;align-items:flex-start;justify-content:center}
.privacy-modal__box{background:var(--crema);max-width:780px;width:100%;padding:var(--space-l);position:relative;margin:auto}
.privacy-modal__close{position:absolute;top:var(--space-s);right:var(--space-s);background:none;border:none;cursor:pointer;font-size:1.4rem;color:var(--cacao-mid);line-height:1}
.privacy-modal__box h2{font-family:var(--font-serif);font-size:2rem;font-weight:400;margin-bottom:var(--space-m)}
.privacy-modal__box h3{font-family:var(--font-serif);font-size:1.1rem;font-weight:500;margin:var(--space-m) 0 var(--space-xs)}
.privacy-modal__box p,.privacy-modal__box li{font-size:0.875rem;color:var(--cacao-mid);line-height:1.7;margin-bottom:8px}
.privacy-modal__box ul{padding-left:20px;margin-bottom:var(--space-s)}

/* DIVIDER */
.divider{width:48px;height:1px;background:var(--terracota);margin:var(--space-s) 0}

/* REVEAL ANIMATIONS */
[data-reveal]{opacity:0;transform:translateY(28px);transition:opacity var(--dur-cinema) var(--ease-cinematic),transform var(--dur-cinema) var(--ease-cinematic)}
[data-reveal].visible{opacity:1;transform:translateY(0)}
[data-reveal="delay-1"]{transition-delay:100ms}
[data-reveal="delay-2"]{transition-delay:220ms}
[data-reveal="delay-3"]{transition-delay:360ms}
[data-reveal="delay-4"]{transition-delay:500ms}

/* RESPONSIVE */
@media(max-width:900px){
  .split{grid-template-columns:1fr;gap:var(--space-m)}
  .split--reverse{direction:ltr}
  .materials-band{flex-direction:column;gap:var(--space-m)}
  .materials-band__image{flex:none;width:100%}
  .footer__grid{grid-template