/* ═══════════════════════════════════════════
   MOBLES AVENIDA · minimal & elegant · multipágina
   ═══════════════════════════════════════════ */

:root{
  --purple:      #6C4AB6;
  --purple-deep: #3B2063;
  --purple-soft: #EFEAF7;
  --ink:         #17141D;
  --ink-2:       #45414F;
  --muted:       #8B8496;
  --cream:       #F6F3EF;
  --cream-2:     #EFEAE3;
  --white:       #FFFFFF;
  --line:        rgba(23,20,29,.10);

  --grad: linear-gradient(120deg, #6C4AB6 0%, #8E6BD6 60%, #B79BE8 100%);
  --shadow: 0 24px 60px -24px rgba(59,32,99,.30);
  --shadow-sm: 0 12px 30px -18px rgba(59,32,99,.35);

  --serif: "Fraunces", Georgia, serif;
  --sans:  "Manrope", system-ui, sans-serif;

  --pad: clamp(1.25rem, 5vw, 6rem);
  --maxw: 1360px;
}

*{ margin:0; padding:0; box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-font-smoothing:antialiased; scroll-padding-top:90px; }
body{ font-family:var(--sans); color:var(--ink); background:var(--cream); line-height:1.6; overflow-x:hidden; }
body.nav-open{ overflow:hidden; }
img{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
::selection{ background:var(--purple); color:#fff; }
.wrap{ max-width:var(--maxw); margin:0 auto; padding-left:var(--pad); padding-right:var(--pad); }

/* ── Typography helpers ── */
.eyebrow{ font-size:.72rem; letter-spacing:.28em; text-transform:uppercase; font-weight:600; color:var(--purple); }
.eyebrow--light{ color:rgba(255,255,255,.85); }
.h2{ font-family:var(--serif); font-weight:400; font-size:clamp(2rem,4.6vw,3.6rem); line-height:1.04; letter-spacing:-.01em; margin:.4em 0 .5em; }
.h2 em, .hero__title em{ font-style:italic; color:var(--purple); }
.lead{ font-size:1.12rem; color:var(--ink-2); }

/* ═══ PRELOADER ═══ */
.preloader{ position:fixed; inset:0; z-index:999; background:var(--cream); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1.4rem; transition:opacity .6s ease, visibility .6s; }
.preloader.done{ opacity:0; visibility:hidden; }
.preloader__mark{ font-family:var(--serif); font-size:clamp(3rem,10vw,5rem); font-weight:500; letter-spacing:.05em; }
.preloader__m{ color:var(--purple); } .preloader__a{ color:var(--ink); }
.preloader__bar{ width:140px; height:2px; background:var(--line); overflow:hidden; border-radius:2px; }
.preloader__bar span{ display:block; height:100%; width:0; background:var(--grad); animation:load 1.1s ease forwards; }
@keyframes load{ to{ width:100%; } }

/* ═══ NAV ═══ */
.nav{ position:fixed; top:0; left:0; right:0; z-index:100; transition:background .4s ease, box-shadow .4s ease, padding .4s ease; padding:.55rem 0; }
.nav__inner{ max-width:var(--maxw); margin:0 auto; padding:0 var(--pad); display:flex; align-items:center; justify-content:space-between; gap:1.5rem; }
.nav__logo img{ height:34px; width:auto; transition:transform .3s; }
.nav__logo:hover img{ transform:translateY(-2px); }
.nav__links{ display:flex; gap:2rem; }
.nav__links a{ font-size:.9rem; font-weight:500; color:rgba(255,255,255,.9); position:relative; padding:.2rem 0; transition:color .3s; }
.nav__links a::after{ content:""; position:absolute; left:0; bottom:-2px; height:1.5px; width:0; background:currentColor; transition:width .3s ease; }
.nav__links a:hover{ color:#fff; } .nav__links a:hover::after{ width:100%; }
.nav__links a.is-current::after{ width:100%; }
.nav__right{ display:flex; align-items:center; gap:1.1rem; }
.lang{ display:flex; align-items:center; gap:.3rem; }
.lang__btn{ background:none; border:none; cursor:pointer; font-family:var(--sans); font-size:.82rem; font-weight:600; letter-spacing:.05em; color:rgba(255,255,255,.6); transition:color .25s; }
.lang__btn.is-active{ color:#fff; }
.lang__sep{ color:rgba(255,255,255,.4); }
.nav__cta{ font-size:.85rem; font-weight:600; padding:.55rem 1.2rem; border-radius:100px; background:#fff; color:var(--ink); transition:transform .3s, background .3s, color .3s; }
.nav__cta:hover{ transform:translateY(-2px); background:var(--purple); color:#fff; }
.nav__burger{ display:none; }

.nav.scrolled{ background:rgba(246,243,239,.82); backdrop-filter:blur(14px); box-shadow:0 1px 0 var(--line); padding:.35rem 0; }
.nav.scrolled .nav__links a{ color:var(--ink-2); } .nav.scrolled .nav__links a:hover{ color:var(--ink); }
.nav.scrolled .nav__links a.is-current{ color:var(--purple); }
.nav.scrolled .lang__btn{ color:var(--muted); } .nav.scrolled .lang__btn.is-active{ color:var(--ink); }
.nav.scrolled .lang__sep{ color:var(--muted); }
.nav.scrolled .nav__cta{ background:var(--ink); color:#fff; } .nav.scrolled .nav__cta:hover{ background:var(--purple); }

/* ═══ BUTTONS ═══ */
.btn{ display:inline-flex; align-items:center; gap:.5rem; font-weight:600; font-size:.92rem; padding:.9rem 1.7rem; border-radius:100px; transition:transform .3s ease, box-shadow .3s ease, background .3s, color .3s; }
.btn--solid{ background:var(--ink); color:#fff; } .btn--solid:hover{ background:var(--purple); transform:translateY(-3px); box-shadow:var(--shadow); }
.btn--ghost{ border:1.5px solid currentColor; } .btn--ghost:hover{ background:var(--ink); color:#fff; border-color:var(--ink); transform:translateY(-3px); }

/* ═══ HERO (home) ═══ */
.hero{ position:relative; height:100svh; min-height:640px; display:flex; align-items:flex-end; color:#fff; }
.hero__media{ position:absolute; inset:0; overflow:hidden; background:var(--grad); }
.hero__slide{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transform:scale(1.12); transition:opacity 1.6s ease; will-change:opacity; }
.hero__slide.is-active{ opacity:1; animation:kenburns 7s ease-out forwards; }
@keyframes kenburns{ from{ transform:scale(1.12); } to{ transform:scale(1); } }
.hero__scrim{ position:absolute; inset:0; background:
    linear-gradient(180deg, rgba(23,20,29,.55) 0%, rgba(23,20,29,.28) 32%, rgba(23,20,29,.60) 68%, rgba(23,20,29,.94) 100%),
    linear-gradient(75deg, rgba(23,20,29,.72) 0%, rgba(23,20,29,.30) 42%, rgba(23,20,29,.05) 72%); }
.hero__content{ position:relative; max-width:var(--maxw); width:100%; margin:0 auto; padding:0 var(--pad) clamp(3rem,8vh,6rem); }
.hero__content .eyebrow--light, .hero__title, .hero__sub{ text-shadow:0 2px 24px rgba(10,8,14,.55); }
.hero__title{ font-family:var(--serif); font-weight:300; font-size:clamp(2.8rem,8vw,6.5rem); line-height:.98; letter-spacing:-.02em; margin:.3em 0 .4em; }
.hero__title .line{ display:block; }
.hero__sub{ max-width:34rem; font-size:1.15rem; color:rgba(255,255,255,.9); }
.hero__actions{ display:flex; gap:1rem; margin-top:2rem; flex-wrap:wrap; }
.hero__actions .btn--solid{ background:#fff; color:var(--ink); } .hero__actions .btn--solid:hover{ background:var(--purple); color:#fff; }
.hero__actions .btn--ghost{ color:#fff; }
.hero__scroll{ position:absolute; right:var(--pad); bottom:clamp(3rem,8vh,6rem); display:flex; flex-direction:column; align-items:center; gap:.7rem; font-size:.7rem; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.8); }
.hero__scroll i{ width:1px; height:44px; background:rgba(255,255,255,.6); position:relative; overflow:hidden; }
.hero__scroll i::after{ content:""; position:absolute; top:-100%; left:0; width:100%; height:60%; background:#fff; animation:scrolldot 1.8s ease-in-out infinite; }
@keyframes scrolldot{ to{ top:120%; } }
.hero__dots{ position:absolute; left:var(--pad); bottom:calc(clamp(3rem,8vh,6rem) - 2px); display:flex; gap:.5rem; z-index:3; }
.hero__dots span{ width:22px; height:3px; border-radius:3px; background:rgba(255,255,255,.35); }
.hero__dots span.on{ background:#fff; }

/* ═══ STATEMENT BAND (reemplaza marquee) ═══ */
.statement{ padding:clamp(4.5rem,11vh,8rem) 0; text-align:center; }
.statement__mark{ width:1px; height:52px; background:var(--purple); margin:0 auto 2rem; }
.statement p{ font-family:var(--serif); font-weight:300; font-style:italic; font-size:clamp(1.6rem,3.6vw,2.9rem); line-height:1.25; letter-spacing:-.01em; max-width:20ch; margin:0 auto; color:var(--ink); }

/* ═══ INTRO ═══ */
.intro{ max-width:var(--maxw); margin:0 auto; padding:clamp(2rem,4vh,3rem) var(--pad) clamp(5rem,12vh,9rem); }
.intro__grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(2rem,6vw,6rem); align-items:center; }
.intro__text .lead{ margin-bottom:1.2rem; } .intro__text p{ color:var(--ink-2); }
.stats{ display:flex; gap:2.5rem; margin-top:2.5rem; flex-wrap:wrap; }
.stat b{ font-family:var(--serif); font-size:2.6rem; font-weight:400; color:var(--purple); display:block; line-height:1; }
.stat span{ font-size:.85rem; color:var(--muted); }
.intro__cta{ display:inline-flex; align-items:center; gap:.5rem; margin-top:2.2rem; font-weight:600; color:var(--ink); border-bottom:1.5px solid var(--purple); padding-bottom:.2rem; transition:gap .3s; }
.intro__cta:hover{ gap:.9rem; }
.intro__media{ border-radius:6px; overflow:hidden; box-shadow:var(--shadow); }
.intro__media img{ width:100%; height:min(64vh,620px); object-fit:cover; transition:transform 1s ease; }
.intro__media:hover img{ transform:scale(1.05); }

/* ═══ SECTION HEAD ═══ */
.section-head{ text-align:center; margin-bottom:clamp(2.5rem,6vh,4rem); }
.section-head .h2{ margin-top:.3em; }
.section-head p.sub{ color:var(--ink-2); max-width:40rem; margin:0 auto; }

/* ═══ CATEGORY TILES (home teaser + collection nav) ═══ */
.cats-wrap{ max-width:var(--maxw); margin:0 auto; padding:0 var(--pad) clamp(2rem,5vh,3.5rem); }
.cats{ display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:260px; gap:1rem; }
.cat{ position:relative; overflow:hidden; border-radius:6px; }
.cat--tall{ grid-row:span 2; } .cat--wide{ grid-column:span 2; }
.cat__media{ position:absolute; inset:0; background:var(--grad); }
.cat__media img{ width:100%; height:100%; object-fit:cover; transition:transform 1s cubic-bezier(.2,.8,.2,1); }
.cat::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(23,20,29,0) 40%,rgba(23,20,29,.72)); transition:background .4s; }
.cat:hover img{ transform:scale(1.08); } .cat:hover::after{ background:linear-gradient(180deg,rgba(59,32,99,.15) 20%,rgba(59,32,99,.8)); }
.cat__label{ position:absolute; left:1.4rem; right:1.4rem; bottom:1.3rem; z-index:2; color:#fff; display:flex; align-items:center; gap:.8rem; }
.cat__idx{ font-size:.72rem; letter-spacing:.2em; opacity:.7; }
.cat__label h3{ font-family:var(--serif); font-weight:400; font-size:1.5rem; flex:1; }
.arrow{ width:34px; height:34px; border-radius:50%; border:1.5px solid rgba(255,255,255,.6); position:relative; flex-shrink:0; transition:background .3s,border-color .3s; }
.arrow::after{ content:"→"; position:absolute; inset:0; display:grid; place-items:center; font-size:.95rem; transition:transform .3s; }
.cat:hover .arrow{ background:#fff; border-color:#fff; color:var(--ink); } .cat:hover .arrow::after{ transform:translateX(3px); }
.cats-cta{ text-align:center; padding-bottom:clamp(4rem,10vh,7rem); }

/* ═══ SHOWCASE (collection galleries) ═══ */
.showcase{ padding:clamp(4rem,10vh,7rem) 0; }
.showcase--alt{ background:var(--cream-2); }
.showcase__head{ max-width:var(--maxw); margin:0 auto; padding:0 var(--pad); display:grid; grid-template-columns:1fr 1fr; gap:2rem; align-items:end; margin-bottom:clamp(2rem,5vh,3.4rem); }
.showcase__desc{ color:var(--ink-2); font-size:1.05rem; max-width:36rem; justify-self:end; }

/* ═══ PRODUCTS GRID ═══ */
.products{ max-width:var(--maxw); margin:0 auto; padding:0 var(--pad); display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(1rem,2vw,1.6rem); }
.related .products{ grid-template-columns:repeat(3,1fr); padding:0; }
.product{ display:block; color:inherit; }
.product__media{ position:relative; overflow:hidden; border-radius:5px; background:var(--purple-soft); aspect-ratio:4/5; }
.product__media img{ width:100%; height:100%; object-fit:cover; transition:transform 1s cubic-bezier(.2,.8,.2,1); }
.product:hover .product__media img{ transform:scale(1.07); }
.product__tag{ position:absolute; top:.8rem; left:.8rem; background:rgba(255,255,255,.9); color:var(--ink); font-size:.68rem; letter-spacing:.05em; padding:.28rem .6rem; border-radius:100px; font-weight:600; }
.product__info{ padding:1.05rem .2rem 0; }
.product__info h3{ font-family:var(--serif); font-weight:500; font-size:1.4rem; }
.product__info p{ color:var(--ink-2); font-size:.94rem; margin-top:.25rem; }
.product__more{ display:inline-flex; align-items:center; gap:.4rem; margin-top:.7rem; font-size:.82rem; font-weight:600; color:var(--purple); }
.product__more i{ font-style:normal; transition:transform .3s; } .product:hover .product__more i{ transform:translateX(4px); }

/* ═══ VALUES ═══ */
.values{ background:var(--ink); color:#fff; padding:clamp(4rem,9vh,6.5rem) 0; }
.values__head{ max-width:var(--maxw); margin:0 auto; padding:0 var(--pad) 2.5rem; }
.values__head .h2{ color:#fff; } .values__head .eyebrow{ color:#B79BE8; }
.values__grid{ max-width:var(--maxw); margin:0 auto; padding:0 var(--pad); display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(1.5rem,3vw,3rem); }
.value__n{ font-family:var(--serif); font-size:1.1rem; color:#B79BE8; display:block; margin-bottom:1rem; }
.value{ padding-top:1.4rem; border-top:1px solid rgba(255,255,255,.16); }
.value h3{ font-family:var(--serif); font-weight:400; font-size:1.35rem; margin-bottom:.5rem; }
.value p{ color:rgba(255,255,255,.66); font-size:.95rem; }

/* ═══ TESTIMONIALS ═══ */
.testi{ padding:clamp(4rem,10vh,7rem) 0; }
.testi__grid{ max-width:var(--maxw); margin:0 auto; padding:0 var(--pad); display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; }
.tcard{ background:var(--white); border:1px solid var(--line); border-radius:8px; padding:2rem 1.8rem; box-shadow:var(--shadow-sm); display:flex; flex-direction:column; gap:1rem; }
.tcard__stars{ color:#F2B01E; letter-spacing:.15em; font-size:1rem; }
.tcard__text{ font-family:var(--serif); font-weight:400; font-size:1.15rem; line-height:1.5; color:var(--ink); }
.tcard__foot{ display:flex; align-items:center; gap:.8rem; margin-top:auto; }
.tcard__av{ width:42px; height:42px; border-radius:50%; background:var(--grad); color:#fff; display:grid; place-items:center; font-weight:700; font-size:1rem; }
.tcard__who b{ display:block; font-size:.95rem; } .tcard__who span{ font-size:.8rem; color:var(--muted); }
.tcard__g{ margin-left:auto; font-family:var(--serif); font-weight:600; color:var(--muted); font-size:1.1rem; }
.testi__note{ text-align:center; margin-top:2rem; font-size:.82rem; color:var(--muted); }

/* ═══ VISIT + MAP ═══ */
.visit{ max-width:var(--maxw); margin:0 auto; padding:clamp(4rem,10vh,7rem) var(--pad) clamp(2rem,5vh,3rem); display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,4.5rem); align-items:center; }
.visit__panel .lead{ margin:.4rem 0 2rem; }
.info{ border-top:1px solid var(--line); }
.info__row{ display:grid; grid-template-columns:120px 1fr; gap:1rem; padding:1.1rem 0; border-bottom:1px solid var(--line); }
.info__k{ font-size:.72rem; letter-spacing:.18em; text-transform:uppercase; color:var(--purple); font-weight:600; padding-top:.15rem; }
.info__v{ color:var(--ink-2); } .info__v a{ color:var(--ink); border-bottom:1px solid var(--purple); }
.visit__actions{ display:flex; gap:1rem; margin-top:2rem; flex-wrap:wrap; }
.map-embed{ max-width:var(--maxw); margin:0 auto; padding:0 var(--pad) clamp(4rem,10vh,7rem); }
.map-embed iframe{ width:100%; height:min(52vh,460px); border:0; border-radius:8px; box-shadow:var(--shadow); filter:grayscale(.2) contrast(1.02); }

/* ═══ PAGE HERO (inner pages) ═══ */
.page-hero{ background:var(--ink); color:#fff; position:relative; overflow:hidden; padding:clamp(7rem,16vh,10rem) 0 clamp(3rem,7vh,5rem); }
.page-hero::before{ content:""; position:absolute; inset:0; background:radial-gradient(120% 120% at 80% -10%, rgba(108,74,182,.55), transparent 55%); }
.page-hero__inner{ max-width:var(--maxw); margin:0 auto; padding:0 var(--pad); position:relative; }
.page-hero .eyebrow{ color:#B79BE8; }
.page-hero h1{ font-family:var(--serif); font-weight:300; font-size:clamp(2.4rem,6vw,4.4rem); line-height:1.02; letter-spacing:-.02em; margin-top:.35em; }
.page-hero p.sub{ color:rgba(255,255,255,.8); max-width:42rem; margin-top:1rem; font-size:1.1rem; }

/* ═══ COLLECTION PAGE ═══ */
.collab{ max-width:var(--maxw); margin:0 auto; padding:2rem var(--pad) 0; display:flex; gap:.6rem; flex-wrap:wrap; }
.collab a{ font-size:.85rem; font-weight:600; padding:.5rem 1rem; border:1px solid var(--line); border-radius:100px; color:var(--ink-2); transition:.25s; }
.collab a:hover{ background:var(--ink); color:#fff; border-color:var(--ink); }

/* ═══ PRODUCT DETAIL ═══ */
.crumb{ display:flex; gap:.5rem; align-items:center; padding-top:clamp(6.5rem,10vh,8rem); font-size:.85rem; color:var(--muted); }
.crumb a{ color:var(--muted); transition:color .25s; } .crumb a:hover{ color:var(--purple); }
.crumb b{ color:var(--ink); }
.pd{ display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(2rem,5vw,4rem); padding-top:2rem; padding-bottom:clamp(3rem,7vh,5rem); }
.pd__main{ border-radius:8px; overflow:hidden; background:var(--purple-soft); aspect-ratio:4/3; box-shadow:var(--shadow); }
.pd__main img{ width:100%; height:100%; object-fit:cover; }
.pd__thumbs{ display:flex; gap:.7rem; margin-top:.8rem; }
.pd__thumb{ width:88px; height:70px; border-radius:5px; overflow:hidden; border:2px solid transparent; background:var(--purple-soft); cursor:pointer; padding:0; transition:border-color .25s; }
.pd__thumb.is-active{ border-color:var(--purple); }
.pd__thumb img{ width:100%; height:100%; object-fit:cover; }
.pd__info .eyebrow{ margin-bottom:.4rem; }
.pd__title{ font-family:var(--serif); font-weight:400; font-size:clamp(2.2rem,4.5vw,3.2rem); line-height:1.05; }
.pd__short{ font-size:1.15rem; color:var(--ink-2); margin:.6rem 0 1.6rem; }
.pd__h{ font-family:var(--serif); font-weight:500; font-size:1.15rem; margin:1.6rem 0 .6rem; }
.pd__long{ color:var(--ink-2); }
.pd__specs{ list-style:none; margin-top:.4rem; border-top:1px solid var(--line); }
.pd__specs li{ display:flex; justify-content:space-between; gap:1rem; padding:.75rem 0; border-bottom:1px solid var(--line); }
.pd__specs li span{ color:var(--muted); font-size:.9rem; } .pd__specs li b{ font-weight:600; }
.pd__actions{ display:flex; gap:1rem; margin-top:2rem; flex-wrap:wrap; }
.related{ padding-bottom:clamp(4rem,10vh,7rem); }
.related .h2{ font-size:clamp(1.6rem,3vw,2.2rem); margin-bottom:1.6rem; }

/* ═══ ABOUT (placeholder) ═══ */
.about{ max-width:var(--maxw); margin:0 auto; padding:clamp(4rem,10vh,7rem) var(--pad); display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(2rem,6vw,5rem); align-items:center; }
.about__ph{ background:var(--cream-2); border:1px dashed rgba(108,74,182,.4); border-radius:10px; padding:2.5rem; }
.about__ph .tag{ display:inline-block; font-size:.7rem; letter-spacing:.16em; text-transform:uppercase; font-weight:700; color:var(--purple); background:var(--purple-soft); padding:.3rem .7rem; border-radius:100px; margin-bottom:1rem; }
.about__ph h3{ font-family:var(--serif); font-weight:500; font-size:1.5rem; margin-bottom:.6rem; }
.about__ph p{ color:var(--ink-2); }
.about__media{ border-radius:8px; overflow:hidden; box-shadow:var(--shadow); }
.about__media img{ width:100%; height:min(60vh,560px); object-fit:cover; }

/* ═══ CONTACT ═══ */
.contact{ max-width:var(--maxw); margin:0 auto; padding:clamp(4rem,10vh,7rem) var(--pad) clamp(2rem,5vh,3rem); display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(2.5rem,6vw,5rem); }
.form{ display:grid; gap:1.1rem; }
.form label{ display:block; font-size:.8rem; font-weight:600; color:var(--ink-2); margin-bottom:.4rem; letter-spacing:.02em; }
.form input, .form textarea{ width:100%; font-family:var(--sans); font-size:1rem; color:var(--ink); background:var(--white); border:1px solid var(--line); border-radius:8px; padding:.9rem 1rem; transition:border-color .25s, box-shadow .25s; }
.form input:focus, .form textarea:focus{ outline:none; border-color:var(--purple); box-shadow:0 0 0 3px var(--purple-soft); }
.form textarea{ min-height:140px; resize:vertical; }
.form__row{ display:grid; grid-template-columns:1fr 1fr; gap:1.1rem; }
.form__note{ font-size:.8rem; color:var(--muted); }
.contact__aside{ display:flex; flex-direction:column; gap:1.6rem; }
.contact__card{ background:var(--cream-2); border-radius:10px; padding:1.6rem 1.8rem; }
.contact__card h3{ font-family:var(--serif); font-weight:500; font-size:1.2rem; margin-bottom:.7rem; }
.contact__card a{ color:var(--ink); border-bottom:1px solid var(--purple); }
.contact__card p{ color:var(--ink-2); }

/* ═══ FOOTER ═══ */
.footer{ background:var(--cream-2); padding:clamp(3rem,7vh,5rem) 0 2rem; }
.footer__top{ max-width:var(--maxw); margin:0 auto; padding:0 var(--pad) 2.5rem; display:grid; grid-template-columns:1.6fr 1fr 1.2fr 1.2fr; gap:2rem; border-bottom:1px solid var(--line); }
.footer__brand img{ height:44px; width:auto; margin-bottom:1rem; }
.footer__brand p{ color:var(--ink-2); max-width:22rem; }
.footer__h{ font-size:.72rem; letter-spacing:.18em; text-transform:uppercase; color:var(--purple); font-weight:600; display:block; margin-bottom:.9rem; }
.footer__nav{ display:flex; flex-direction:column; gap:.6rem; }
.footer__nav a, .footer__col p{ color:var(--ink-2); font-size:.95rem; }
.footer__nav a{ transition:color .25s; width:fit-content; } .footer__nav a:hover{ color:var(--purple); }
.footer__link{ color:var(--ink); border-bottom:1px solid var(--purple); display:inline-block; margin-top:.4rem; }
.footer__bottom{ max-width:var(--maxw); margin:0 auto; padding:1.5rem var(--pad) 0; display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; font-size:.82rem; color:var(--muted); }

/* ═══ REVEAL ═══ */
.reveal{ opacity:0; transform:translateY(30px); transition:opacity .9s cubic-bezier(.2,.8,.2,1), transform .9s cubic-bezier(.2,.8,.2,1); }
.reveal.in{ opacity:1; transform:none; }

/* ═══ RESPONSIVE ═══ */
@media (max-width:1000px){
  .intro__grid{ grid-template-columns:1fr; } .intro__media{ order:-1; }
  .cats{ grid-template-columns:repeat(2,1fr); grid-auto-rows:220px; } .cat--wide{ grid-column:span 2; }
  .products{ grid-template-columns:repeat(2,1fr); } .related .products{ grid-template-columns:repeat(3,1fr); }
  .values__grid{ grid-template-columns:repeat(2,1fr); }
  .visit{ grid-template-columns:1fr; } .visit__media{ order:-1; }
  .showcase__head{ grid-template-columns:1fr; } .showcase__desc{ justify-self:start; }
  .testi__grid{ grid-template-columns:1fr; }
  .pd{ grid-template-columns:1fr; } .about{ grid-template-columns:1fr; } .about__media{ order:-1; }
  .contact{ grid-template-columns:1fr; }
  .footer__top{ grid-template-columns:1fr 1fr; }
}
@media (max-width:720px){
  .nav__links{ position:fixed; inset:0 0 auto; top:0; height:100svh; flex-direction:column; justify-content:center; align-items:center; gap:1.6rem; background:var(--cream); transform:translateX(100%); transition:transform .5s cubic-bezier(.2,.8,.2,1); padding:2rem; }
  .nav__links.open{ transform:none; }
  .nav__links a{ color:var(--ink) !important; font-size:1.6rem; font-family:var(--serif); }
  .nav__cta{ display:none; }
  .nav__burger{ display:flex; flex-direction:column; justify-content:center; gap:5px; width:34px; height:34px; background:none; border:none; cursor:pointer; z-index:120; }
  .nav__burger span{ display:block; height:2px; width:24px; background:#fff; transition:.35s; }
  .nav.scrolled .nav__burger span{ background:var(--ink); }
  .nav__burger.active span{ background:var(--ink); }
  .nav__burger.active span:nth-child(1){ transform:translateY(3.5px) rotate(45deg); }
  .nav__burger.active span:nth-child(2){ transform:translateY(-3.5px) rotate(-45deg); }
  .cats{ grid-template-columns:1fr; grid-auto-rows:240px; } .cat--tall,.cat--wide{ grid-column:span 1; grid-row:span 1; }
  .products, .related .products{ grid-template-columns:1fr; }
  .values__grid{ grid-template-columns:1fr; }
  .footer__top{ grid-template-columns:1fr; }
  .hero__scroll{ display:none; }
  .form__row{ grid-template-columns:1fr; }
  .stats{ gap:1.6rem; }
}
@media (prefers-reduced-motion:reduce){
  *{ animation-duration:.001ms !important; transition-duration:.001ms !important; }
  .reveal{ opacity:1; transform:none; }
  .hero__slide{ opacity:0; } .hero__slide.is-active{ opacity:1; }
}
