/* Aguirre's Imports — WEB-001 V1 (2026). Revisión visual acotada. */
:root{
  --teal:#02343F;--teal-deep:#012932;--cream:#F0EDCC;--paper:#FFFDF6;--sand:#F7F2E6;
  --ink:#233638;--muted:#586b68;--line:#DCD6C6;--gold:#CC9D47;
  --shadow:0 16px 45px rgba(12,41,39,.09);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;background:var(--sand);font-family:'Montserrat',Arial,sans-serif;color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased}
button,a{-webkit-tap-highlight-color:transparent}
a{color:var(--teal)}
a:hover{color:#125d62}
a:focus-visible,button:focus-visible{outline:3px solid #D09233;outline-offset:3px}
img{max-width:100%}
h1,h2,h3,h4,h5,h6{font-family:'Cinzel',Georgia,serif;color:var(--teal);line-height:1.25}
p{margin-top:0}
.skip-link{position:fixed;left:12px;top:-90px;background:#fff;color:var(--teal);padding:10px 18px;z-index:200;border-radius:5px}
.skip-link:focus{top:12px}
.container{width:min(1200px,calc(100% - 48px));margin-inline:auto;padding:0 0 2.5rem}
.header{position:sticky;top:0;z-index:50;background:rgba(255,253,246,.97);border-bottom:1px solid rgba(2,52,63,.11);box-shadow:0 5px 26px rgba(2,52,63,.06);backdrop-filter:blur(12px)}
.navbar{max-width:1260px;min-height:87px;margin:0 auto;padding:11px 30px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.logo-link{display:flex;gap:12px;align-items:center;min-width:0;text-decoration:none}
.logo-img{height:59px;width:59px;object-fit:contain;flex:none}
.logo-text{color:var(--teal);font-family:'Cinzel',Georgia,serif;font-size:clamp(1.05rem,1.5vw,1.36rem);font-weight:700;letter-spacing:.012em;line-height:1.15}
.nav-links{display:flex;align-items:center;gap:clamp(10px,1.5vw,25px)}
.nav-links a{color:var(--teal);font-size:.86rem;font-weight:600;white-space:nowrap;text-decoration:none;border-bottom:2px solid transparent;padding:8px 0;transition:border-color .2s,color .2s}
.nav-links a:hover,.nav-links a:focus-visible{border-color:var(--gold)}
.mobile-menu-button{display:none;border:1px solid var(--line);background:#fff;border-radius:8px;padding:10px;cursor:pointer;color:var(--teal);line-height:0}
/* Hero — original business headline and slogan retained. */
.hero-section{background:linear-gradient(132deg,var(--teal-deep),#0d4a4a 72%,#1e6462);color:#fff;position:relative;isolation:isolate;overflow:hidden}
.hero-section::before{content:"";position:absolute;inset:0;opacity:.08;pointer-events:none;background-image:url('images/optimized/fondo-artesanal.webp');background-size:450px 450px;mix-blend-mode:screen}
.hero-inner{position:relative;max-width:1260px;margin:auto;padding:clamp(64px,8vw,106px) 32px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center;gap:clamp(28px,4vw,75px);min-height:540px}
.hero-copy{max-width:680px;z-index:1}
.hero-eyebrow{margin:0 0 22px;color:#E9C78A;letter-spacing:.19em;font-size:.77rem;font-weight:700}
.hero-copy h1{color:#FFF8E8;font-size:clamp(2.3rem,4.2vw,4.5rem);line-height:1.17;letter-spacing:-.035em;margin:0 0 23px;text-wrap:balance}
.hero-tagline{font-size:clamp(1rem,1.6vw,1.25rem);color:#F7EED7;max-width:520px;line-height:1.7;margin-bottom:30px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:7px;padding:13px 22px;font-size:.88rem;font-weight:700;text-decoration:none;min-height:48px;transition:transform .2s,background .2s;line-height:1.3}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--cream);color:var(--teal)}.btn-primary:hover{background:#fff;color:var(--teal)}
.btn-secondary{border:1px solid rgba(255,255,255,.65);color:#fff}.btn-secondary:hover{background:rgba(255,255,255,.13);color:#fff}
.hero-art{min-height:375px;height:450px;position:relative}
.hero-photo{position:absolute;object-fit:cover;border:6px solid rgba(255,253,246,.95);box-shadow:0 20px 52px rgba(0,0,0,.27);border-radius:8px;background:#d7c7a6}
.hero-photo-main{width:66%;height:82%;right:18%;top:5%;transform:rotate(2deg)}
.hero-photo-glass{width:42%;height:49%;left:0;bottom:0;transform:rotate(-6deg)}
.hero-photo-catrinas{width:40%;height:47%;right:0;bottom:-1%;transform:rotate(6deg)}
/* Content */
.content-section{margin:40px 0 0;padding:clamp(24px,4.5vw,58px);background:var(--paper);border-radius:14px;border:1px solid rgba(2,52,63,.06);box-shadow:var(--shadow)}
.section-title{text-align:center;margin:0 0 14px;color:var(--teal);font-size:clamp(1.9rem,3vw,2.75rem);letter-spacing:.005em;text-wrap:balance}
.section-title::after{content:"";display:block;height:3px;width:64px;background:var(--gold);margin:17px auto 0;border-radius:4px}
.gallery-subtitle{color:var(--muted);font-size:.98rem;font-weight:600;text-align:center;margin:18px 0 24px}
.disclaimer-box{background:#F9F4E4;border-left:4px solid var(--gold);color:#5e4a26;border-radius:7px;display:flex;align-items:flex-start;gap:12px;padding:15px 18px;margin:0 0 28px}
.disclaimer-box svg{width:22px;height:22px;flex:none;margin:4px 0 0!important;color:#A47927!important}
.disclaimer-box p{margin:0;line-height:1.55;font-size:.9rem}
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.category-card{display:block;position:relative;border:0;padding:0;width:100%;height:315px;overflow:hidden;background:#304443;border-radius:11px;cursor:pointer;box-shadow:0 8px 22px rgba(4,41,43,.1);text-align:left;isolation:isolate;transition:transform .25s,box-shadow .25s}
.category-card::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(0,0,0,.01) 28%,rgba(0,0,0,.70) 100%);pointer-events:none}
.category-card img{height:100%;width:100%;object-fit:cover;display:block;transition:transform .5s ease}
.category-card:hover,.category-card:focus-visible{transform:translateY(-4px);box-shadow:0 16px 32px rgba(4,41,43,.21)}
.category-card:hover img,.category-card:focus-visible img{transform:scale(1.055)}
.category-card .overlay{position:absolute;inset:auto 0 0;z-index:2;display:flex;align-items:flex-end;padding:30px 19px 19px;pointer-events:none}
.category-title{color:white;margin:0;font-family:'Montserrat',Arial,sans-serif;font-size:clamp(1rem,1.55vw,1.32rem);font-weight:700;line-height:1.3;text-shadow:0 2px 9px rgba(0,0,0,.3);opacity:1;transform:none}
/* About */
.about-grid{display:grid;grid-template-columns:230px minmax(0,1fr);align-items:center;gap:45px;max-width:1020px;margin:28px auto 0}
.about-grid>div:first-child{text-align:center}
.about-img{height:210px;width:210px;object-fit:contain;border-radius:50%;box-shadow:0 8px 28px rgba(0,0,0,.07)}
.about-grid p{font-size:1.04rem;line-height:1.85;color:var(--ink);font-weight:500;margin-bottom:17px}
.about-grid p:last-child{margin-bottom:0}
/* Visits */
.contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:30px}
.location-column{text-align:center;display:flex;flex-direction:column}
.store-card{padding:28px 23px 23px;background:#F9F7EF;border:1px solid var(--line);border-radius:12px}
.store-card h3{font-size:1.5rem;margin:0 0 15px}
.store-card h4{font-size:1rem;margin:14px 0 0}
.store-card address{font-style:normal;font-weight:600;line-height:1.65}
.store-card p{margin:10px 0;line-height:1.7}
.store-card a[href^="tel:"]{color:var(--teal);font-weight:700}
.whatsapp-link{display:inline-block;margin:4px 0 0 7px;padding:5px 12px;background:#177c46;color:#fff;text-decoration:none;border-radius:5px;font-size:.83rem;font-weight:700;white-space:nowrap}
.whatsapp-link:hover{background:#126839;color:#fff}
.contact-map{margin-top:auto;padding-top:20px;line-height:0}
.contact-map iframe{width:100%;height:260px;max-width:100%;border:0;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.06)}
/* Local directory and events */
.directory-list,.event-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:28px}
.directory-entry,.event-entry{border:1px solid var(--line);border-radius:9px;padding:25px;background:#FFFEFB}
.directory-entry h3,.event-entry h3{font-size:1.23rem;margin:0 0 14px}
.directory-entry p,.event-entry p{line-height:1.75;font-size:.94rem;margin:0 0 14px}
.directory-link,.event-link{font-weight:700;font-size:.9rem;color:var(--teal);text-underline-offset:3px}
.event-date{font-size:.77rem!important;letter-spacing:.035em;color:#8a5a20;font-weight:700;text-transform:uppercase;margin-bottom:10px!important}
/* Footer preserves original attribution and business name. */
.footer{background:var(--teal);color:var(--cream);margin-top:52px;padding:36px 16px;text-align:center}
.footer p{margin:0 0 8px;font-size:.91rem}.footer p:last-child{margin-bottom:0;opacity:.78;font-size:.84rem}
/* Accessible modal */
.modal{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;flex-direction:column;padding:65px 18px 25px;background:rgba(1,16,19,.94)}
.modal.flex{display:flex}
.modal-title{color:var(--cream);font-family:'Montserrat',Arial,sans-serif;text-align:center;font-size:clamp(1rem,1.5vw,1.35rem);margin:0 0 16px;max-width:85vw}
.modal-image{max-width:92vw;max-height:calc(100vh - 210px);object-fit:contain;border-radius:5px}
.modal-controls{display:flex;align-items:center;justify-content:center;margin-top:15px;gap:15px}
.modal-btn,.modal-close-btn{border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.10);color:#fff;cursor:pointer;min-width:47px;min-height:47px;border-radius:50%;font-size:1.7rem;line-height:1}
.modal-btn:hover,.modal-close-btn:hover{background:rgba(255,255,255,.25)}
.modal-close-btn{position:absolute;right:20px;top:18px}
#counter{color:#fff;font-size:1rem;font-weight:700;min-width:60px;text-align:center;font-variant-numeric:tabular-nums}
@media(max-width:1100px){.navbar{padding-inline:20px}.logo-img{height:52px;width:52px}.nav-links{gap:12px}.nav-links a{font-size:.79rem}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.category-card{height:265px}}
@media(max-width:800px){
  .navbar{min-height:75px;padding:9px 22px}
  .mobile-menu-button{display:block}
  .nav-links{display:none;position:absolute;left:0;right:0;top:100%;background:#fffdf6;border-top:1px solid var(--line);box-shadow:0 18px 24px rgba(0,0,0,.12);padding:14px 22px 20px;flex-direction:column;align-items:stretch;gap:0}
  .nav-links.active{display:flex}
  .nav-links a{display:block;font-size:1rem;padding:11px 8px;border-bottom:1px solid #ece6d6}
  .nav-links a:last-child{border:0}
  .hero-inner{grid-template-columns:1fr;gap:15px;padding:65px 28px 58px}
  .hero-copy{max-width:680px}.hero-copy h1{font-size:clamp(2.1rem,6.4vw,3.3rem)}
  .hero-art{height:300px;max-width:610px;width:100%;margin:auto}
  .hero-photo-main{height:90%;width:50%;right:24%;top:0}
  .hero-photo-glass{height:62%;width:37%;left:8%}
  .hero-photo-catrinas{height:62%;width:37%;right:7%}
  .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .category-card{height:245px}
  .about-grid{grid-template-columns:1fr;gap:18px;text-align:center}
  .about-img{height:150px;width:150px}
  .contact-grid{grid-template-columns:1fr}
}
@media(max-width:540px){
  html{scroll-padding-top:85px}
  .navbar{padding-inline:14px;min-height:69px;gap:8px}
  .logo-img{height:45px;width:45px}.logo-text{font-size:.99rem}
  .hero-inner{padding:53px 20px 32px}
  .hero-eyebrow{font-size:.66rem;letter-spacing:.13em;margin-bottom:15px}
  .hero-copy h1{font-size:clamp(2rem,9vw,2.8rem);line-height:1.17}
  .hero-tagline{font-size:1rem;margin-bottom:22px}
  .btn{padding:12px 16px;font-size:.83rem;flex:1 1 150px}
  .hero-art{height:244px}
  .hero-photo{border-width:4px}
  .hero-photo-main{height:85%;right:22%}
  .hero-photo-glass{height:60%;left:3%}.hero-photo-catrinas{height:60%;right:2%}
  .container{width:min(100% - 22px,1200px)}
  .content-section{margin-top:16px;padding:25px 15px;border-radius:10px}
  .section-title{font-size:1.72rem}.gallery-subtitle{font-size:.86rem;margin:17px 0 20px}
  .disclaimer-box{padding:13px 11px;gap:8px}.disclaimer-box p{font-size:.79rem}
  .gallery-grid{gap:10px}.category-card{height:195px;border-radius:7px}
  .category-card .overlay{padding:28px 10px 11px}.category-title{font-size:clamp(.86rem,3.25vw,1.12rem)}
  .about-grid{margin-top:24px}.about-grid p{font-size:.95rem;text-align:left}
  .store-card{padding:23px 14px 16px}.contact-map iframe{height:235px}
  .directory-list,.event-list{grid-template-columns:1fr;gap:12px;margin-top:24px}
  .directory-entry,.event-entry{padding:19px}.directory-entry h3,.event-entry h3{font-size:1.16rem}
  .footer{margin-top:24px}
  .modal{padding:66px 8px 18px}.modal-image{max-height:calc(100vh - 190px)}
}
@media(max-width:355px){.logo-text{font-size:.87rem}.category-card{height:166px}.category-title{font-size:.79rem}.hero-photo-main{width:57%;right:20%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
[hidden]{display:none!important}

/* WEB-001 V2 — legible collection covers. No image or campaign lettering gets cropped. */
.category-card{height:auto;display:flex;flex-direction:column;background:#fffdf8;box-shadow:0 8px 22px rgba(4,41,43,.12)}
.category-card::before{display:none}
.category-visual{display:block;position:relative;overflow:hidden;isolation:isolate;width:100%;aspect-ratio:1/1;background:#d8e0d9}
.category-card .category-backdrop{position:absolute;left:-10%;top:-10%;width:120%;height:120%;object-fit:cover;filter:blur(16px) brightness(.75);opacity:.42;transform:scale(1.04);transition:none}
.category-card .category-image{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:contain;transition:transform .3s ease}
.category-card:hover .category-backdrop,.category-card:focus-visible .category-backdrop{transform:scale(1.04)}
.category-card:hover .category-image,.category-card:focus-visible .category-image{transform:scale(1.018)}
.category-card .overlay{position:relative;inset:auto;flex:1;display:flex;align-items:center;justify-content:flex-start;padding:13px 18px 15px;background:#fffdf8;border-top:1px solid #e8e3d9;min-height:64px}
.category-card .category-title{color:var(--teal);font-size:clamp(.92rem,1.3vw,1.08rem);font-weight:700;line-height:1.34;text-shadow:none;white-space:normal;overflow-wrap:anywhere}
@media(max-width:540px){
  .category-card{height:auto;min-width:0}
  .category-card .overlay{padding:11px 10px 12px;min-height:69px}
  .category-card .category-title{font-size:clamp(.79rem,3vw,.96rem);line-height:1.35}
}
@media(max-width:355px){.category-card{height:auto}}

/* WEB-001 V3 — Soltzin, original business mascot. Hero and logo remain unchanged. */
.mascot-feature{margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}
.mascot-portrait{width:210px;aspect-ratio:1;display:grid;place-items:center;background:radial-gradient(circle at 50% 37%,#fff9e6 0%,#f4ead0 65%,#e4d8b7 100%);border:1px solid #e0c999;border-radius:50%;box-shadow:0 9px 26px rgba(30,50,45,.09);padding:14px}
.mascot-portrait img{display:block;object-fit:contain;width:100%;height:100%;filter:drop-shadow(0 4px 4px rgba(61,44,5,.11))}
.mascot-caption{text-align:center;display:flex;flex-direction:column;align-items:center;gap:2px;line-height:1.3}
.mascot-caption strong{font-family:'Cinzel',Georgia,serif;color:var(--teal);font-size:1.21rem;letter-spacing:.025em}
.mascot-caption span{font-family:'Montserrat',Arial,sans-serif;color:#937032;letter-spacing:.075em;font-size:.69rem;font-weight:700;text-transform:uppercase}
.footer-mascot{display:flex;align-items:center;justify-content:center;gap:8px;margin:0 auto 15px;color:var(--cream);font-family:'Cinzel',Georgia,serif;font-size:.94rem;font-weight:700;letter-spacing:.06em}
.footer-mascot img{height:48px;width:48px;object-fit:contain;filter:drop-shadow(0 2px 3px rgba(0,0,0,.12))}
@media(max-width:800px){.mascot-portrait{width:170px}.about-grid{gap:27px}}
@media(max-width:540px){.mascot-portrait{width:156px;padding:10px}.mascot-feature{gap:9px}.mascot-caption strong{font-size:1.08rem}.footer-mascot img{height:41px;width:41px}}

/* WEB-001 V7 — Premium hero, unchanged navigation, sections and customer data. */
.hero-section{
  background:#102F35 url('images/optimized/hero-fondo-editorial-v7.webp') center center / cover no-repeat;
  isolation:isolate;
}
.hero-section::before{
  content:"";position:absolute;inset:0;z-index:0;opacity:1;pointer-events:none;
  background:linear-gradient(90deg,rgba(1,28,34,.73) 0%,rgba(2,35,43,.61) 36%,rgba(3,35,43,.25) 70%,rgba(3,33,38,.26) 100%),
             linear-gradient(180deg,rgba(4,27,31,.15),rgba(4,27,31,.06) 58%,rgba(4,27,31,.30));
  mix-blend-mode:normal;
}
.hero-section::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background-image:url('images/optimized/fondo-artesanal.webp');background-size:460px 460px;opacity:.035;mix-blend-mode:screen}
.hero-inner{z-index:2;padding-top:clamp(58px,5.2vw,84px);padding-bottom:170px;min-height:680px;gap:clamp(20px,3vw,52px)}
.hero-copy h1{font-size:clamp(2.3rem,3.9vw,4.28rem);text-transform:uppercase;letter-spacing:-.032em}
.hero-art{align-self:center;height:450px;transform:translateY(5px)}
.hero-photo{box-shadow:0 22px 60px rgba(0,0,0,.40)}
.hero-photo-main{height:84%;top:3%}
.hero-signature{display:flex;align-items:center;gap:12px;margin-top:27px;width:fit-content;max-width:100%;position:relative;z-index:4}
.hero-signature>img{width:84px;height:84px;object-fit:contain;flex:none;filter:drop-shadow(0 4px 5px rgba(0,0,0,.4))}
.hero-signature-copy{display:flex;flex-direction:column;gap:0;line-height:1.25}
.hero-signature-name{font-family:'Great Vibes','Brush Script MT','Segoe Script','URW Chancery L',cursive;font-size:clamp(1.9rem,2.5vw,2.8rem);font-style:italic;color:#F6DA93;line-height:1.12;text-shadow:0 2px 7px rgba(0,0,0,.30);white-space:nowrap}
.signature-heart{font-style:normal;font-family:Georgia,serif;font-size:.75em;margin-left:7px;color:#f2ba68}
.hero-signature-line{font-family:Georgia,'Times New Roman',serif;font-size:clamp(.91rem,1.15vw,1.09rem);font-style:italic;color:#FFF4DC;line-height:1.3;letter-spacing:.014em}
.hero-floral-wave{position:absolute;z-index:3;pointer-events:none;left:0;right:0;bottom:-1px;height:190px;background:url('images/optimized/hero-florales-curva-v7.png') center bottom / 100% 100% no-repeat}
@media (max-width:800px){
 .hero-inner{padding-top:58px;padding-bottom:157px;min-height:0;gap:0}
 .hero-art{margin-top:12px;height:300px;transform:none}
 .hero-copy h1{font-size:clamp(2.05rem,6.6vw,3.1rem)}
 .hero-signature{margin-top:20px;gap:10px}
 .hero-signature>img{width:68px;height:68px}
 .hero-signature-name{font-size:2.06rem}
 .hero-signature-line{font-size:.93rem}
 .hero-floral-wave{height:135px;background-image:url('images/optimized/hero-florales-curva-movil-v7.png')}
}
@media (max-width:540px){
 .hero-inner{padding:46px 18px 110px}
 .hero-art{height:238px;margin-top:18px}
 .hero-copy h1{font-size:clamp(2rem,8.35vw,2.7rem)}
 .hero-signature{margin-top:18px;gap:8px}
 .hero-signature>img{width:61px;height:61px}
 .hero-signature-name{font-size:1.8rem}
 .hero-signature-line{font-size:.79rem}
 .hero-floral-wave{height:97px}
}
@media (max-width:355px){.hero-signature>img{width:52px;height:52px}.hero-signature-name{font-size:1.53rem}.hero-signature-line{font-size:.73rem}}

/* WEB-001 V8 — approved unified-scene concept, actual interactive website.
   Institutional white Aguirre's Imports logo stays in header; Soltzin stays mascot/signature. */
:root { --sand: #315B59; }
body { background: #315B59; }
#gallery { background: #F4E8D6; }
#gallery .disclaimer-box { background: #F9F0DF; }
#gallery .category-card, #gallery .category-card .overlay { background: #FFFCF5; }
.hero-section {
  background: radial-gradient(ellipse at 65% 30%,#493648 0%,#142f37 68%,#092934 100%);
  isolation: isolate;
}
.hero-section::before {
  content: ""; position: absolute; inset: 0; z-index: 0;
  background: linear-gradient(90deg,rgba(4,24,29,.84) 0%,rgba(5,25,31,.83) 29%,
            rgba(13,33,38,.52) 49%,rgba(13,34,38,.10) 68%,rgba(10,31,36,.12) 100%),
     url("images/optimized/hero-escenario-unificado-v8.webp") center right / auto 100% no-repeat;
  opacity: 1; pointer-events:none; mix-blend-mode: normal;
}
.hero-section::after {opacity:.025}
.hero-inner{
   position:relative; grid-template-columns:minmax(0,.95fr) minmax(0,1fr);
   padding-top:clamp(46px,4vw,68px); padding-bottom:clamp(166px,14vw,195px);
   min-height:710px;
}
.hero-copy {max-width:640px}
.hero-copy h1{font-size:clamp(2.25rem,3.7vw,4.08rem);line-height:1.13}
.hero-art.hero-scene-v8 {
  display:block; min-height:360px; height:450px; pointer-events:none;
  background:none; box-shadow:none;
}
.hero-signature{position:relative;z-index:5}
.hero-floral-wave{z-index:4}
@media(max-width:800px) {
  .hero-section::before{
    background:linear-gradient(180deg,rgba(5,27,32,.78) 0%,rgba(6,30,36,.70) 45%,rgba(7,30,35,.18) 85%),
               url("images/optimized/hero-escenario-unificado-v8.webp") center bottom / 100% auto no-repeat;
  }
  .hero-inner {grid-template-columns:1fr; min-height:0; padding-bottom:135px}
  .hero-art.hero-scene-v8 {
    height:clamp(200px,48vw,330px);min-height:0;
    background: url("images/optimized/hero-escenario-unificado-v8.webp") center/contain no-repeat;
  }
}
@media(max-width:540px){
  .hero-section::before{
    background: linear-gradient(180deg,rgba(5,29,34,.91),rgba(6,26,31,.72) 65%,rgba(7,31,36,.18));
  }
  .hero-inner{padding-bottom:100px}
  .hero-art.hero-scene-v8{height:220px;margin-top:14px}
}

/* V8 finishing: integrate the whole artisanal scene behind the *live* headline. */
@media(min-width:801px){
 .hero-section{background:#17333b url('images/optimized/hero-escenario-ancho-v8.webp') center / cover no-repeat}
 .hero-section::before{
  background:linear-gradient(90deg,rgba(4,26,34,.74) 0%,rgba(9,25,33,.64) 34%,rgba(11,24,31,.05) 59%,rgba(12,21,28,.05) 100%);
 }
}

/* V8 finishing: integrate the whole artisanal scene behind the *live* headline. */
@media(min-width:801px){
 .hero-section{background:#17333b url('images/optimized/hero-escenario-ancho-v8.webp') center / cover no-repeat}
 .hero-section::before{
  background:linear-gradient(90deg,rgba(4,26,34,.74) 0%,rgba(9,25,33,.64) 34%,rgba(11,24,31,.05) 59%,rgba(12,21,28,.05) 100%);
 }
}

/* WEB-001 V9 FINAL — approved B curved floral transition, one continuous gold border.
   The asset is rebuilt without the original embedded gold strip, so no double lines.
   No commercial information or original header identity altered. */
:root{--sand:#315B59;--paper:#F3E8D8}
body{background:#F3E8D8}
.content-section,#gallery,#about,#contact,#directory,#events{background:#F3E8D8;border-color:rgba(2,52,63,.12)}
.hero-section{background:radial-gradient(ellipse at 65% 30%,#25484b 0%,#102f37 66%,#072833 100%)}
.hero-section::before{
 background:linear-gradient(90deg,rgba(4,27,33,.42),rgba(3,30,37,.10) 62%,transparent),
            url('images/optimized/hero-escena-humo-v9.webp') center/cover no-repeat;
 opacity:1;mix-blend-mode:normal;
}
.hero-section::after{background-image:url('images/optimized/fondo-artesanal.webp');background-size:470px 470px;opacity:.085;mix-blend-mode:screen}
.hero-floral-wave{
 height:190px;
 background:url('images/optimized/hero-florales-curva-final.png') center bottom / 100% 100% no-repeat;
}
@media(max-width:800px){
 .hero-section::before{background:linear-gradient(180deg,rgba(8,32,39,.62),rgba(9,34,40,.09)),url('images/optimized/hero-escena-humo-v9.webp') center/cover no-repeat}
 .hero-floral-wave{height:135px;background-image:url('images/optimized/hero-florales-curva-movil-final.png')}
}
@media(max-width:540px){
 .hero-section::before{background:linear-gradient(180deg,rgba(8,32,39,.74),rgba(9,34,40,.22)),url('images/optimized/hero-escena-humo-v9.webp') 62% center/auto 100% no-repeat}
 .hero-floral-wave{height:100px}
}

/* WEB-001 V10 — new Aguirre's Imports official mark, independent of Soltzin. */
.logo-img{border-radius:50%;object-fit:contain;filter:drop-shadow(0 1px 2px rgba(3,34,38,.17))}

/* WEB-001 V10 variant: sober gold curved border in place of floral strip. */
.hero-floral-wave{background-image:url('images/optimized/hero-curva-solo-dorada.svg')!important;background-size:100% 100%!important}

/* WEB-001 V11 final micro-adjustment: area below gold curve merges with lower sections. */
body{background:#F3E8D8 !important;}


/* WEB-001 V12 — ÚNICO AJUSTE RESPECTO DE V11:
   Encabezado del mismo color exacto que el footer institucional (#02343F).
   Contraste de textos, vínculos y menú móvil; el resto de la página intacto. */
.header {
  background: #02343F;
  border-bottom-color: rgba(240,237,204,.22);
  box-shadow: 0 5px 26px rgba(1,29,33,.16);
}
.header .logo-text,
.header .nav-links a { color: #F0EDCC; }
.header .nav-links a:hover,
.header .nav-links a:focus-visible { color: #FFFFFF; border-color: #CC9D47; }
.header .mobile-menu-button {
  background: transparent;
  color: #F0EDCC;
  border-color: rgba(240,237,204,.42);
}
@media (max-width: 800px) {
  .header .nav-links {
    background: #02343F;
    border-top-color: rgba(240,237,204,.25);
    box-shadow: 0 18px 24px rgba(0,0,0,.22);
  }
  .header .nav-links a { border-bottom-color: rgba(240,237,204,.18); }
  .header .nav-links a:last-child { border-bottom: 0; }
}

/* WEB-001 V13 — Fit the approved desktop hero within the initial viewport at 100% zoom.
   Changes only dimensions/spacing; preserves artwork, branding, navigation and content.
   On smaller heights content remains scrollable instead of shrinking below legibility. */
@media (min-width:801px) and (max-height:960px) {
  .navbar { min-height:76px; padding-top:8px; padding-bottom:8px; }
  .hero-inner {
    min-height:calc(100svh - 76px);
    padding-top:clamp(20px,3vh,32px);
    padding-bottom:clamp(108px,12vh,130px);
    gap:clamp(16px,2.4vw,42px);
  }
  .hero-copy h1 {
    font-size:clamp(2.5rem, min(3.65vw,6.1vh), 4.08rem);
    line-height:1.08;
    margin-bottom:13px;
  }
  .hero-eyebrow { margin-bottom:12px; }
  .hero-tagline { line-height:1.48; margin-bottom:17px; font-size:clamp(.98rem,1.45vw,1.17rem); }
  .hero-signature { margin-top:15px; }
  .hero-signature>img { width:68px; height:68px; }
  .hero-signature-name { font-size:clamp(1.85rem,2.2vw,2.42rem); }
  .hero-signature-line { font-size:clamp(.88rem,1.05vw,1.02rem); }
  .hero-art.hero-scene-v8 { min-height:0; height:min(37vh,335px); }
}


/* WEB-001 V14 — SOLO PORTADA MÓVIL (<= 800px).
   V13 DE ESCRITORIO: SIN CAMBIOS.
   Una sola escena, firma separada, curva conservada y sin imagen duplicada. */
@media screen and (max-width: 800px) {
  /* Un fondo de marca, con las marcas de agua existentes, sin repetir la foto. */
  .hero-section {
    background: linear-gradient(160deg, #072f36 0%, #0d343b 55%, #092c35 100%);
    overflow: hidden;
  }
  .hero-section::before {
    content: "";
    background: radial-gradient(ellipse at 75% 65%, rgba(64,94,82,.17), transparent 65%);
    opacity: 1;
    mix-blend-mode: normal;
    pointer-events: none;
  }
  .hero-section::after {
    content: "";
    background: url('images/optimized/fondo-artesanal.webp') center top / 340px 340px repeat;
    opacity: .045;
    mix-blend-mode: screen;
    pointer-events: none;
  }
  .hero-inner {
    width: 100%;
    max-width: 610px;
    min-height: 0;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 32px 24px 98px;
  }
  .hero-copy { z-index: 2; max-width: none; width: 100%; }
  .hero-eyebrow {
    margin: 0 0 13px;
    color: #e6c995;
    font-size: .7rem;
    line-height: 1.5;
    letter-spacing: .12em;
  }
  .hero-copy h1 {
    font-size: clamp(2.08rem, 6.5vw, 3.02rem);
    line-height: 1.13;
    letter-spacing: -.028em;
    margin: 0 0 15px;
    max-width: 570px;
    text-wrap: balance;
    overflow-wrap: normal;
  }
  .hero-tagline {
    max-width: 530px;
    font-size: 1rem;
    line-height: 1.55;
    margin: 0 0 20px;
  }
  .hero-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  .hero-actions .btn {
    min-width: 0;
    min-height: 49px;
    padding: 12px 10px;
    font-size: .87rem;
    line-height: 1.35;
    text-align: center;
    white-space: normal;
    flex: initial;
  }
  /* Soltzin has its own quiet area between CTAs and showcase, not over the balloon. */
  .hero-signature {
    margin-top: 21px;
    padding: 8px 0 5px;
    display: flex;
    align-items: center;
    gap: 11px;
    width: 100%;
    max-width: 100%;
  }
  .hero-signature > img { width: 68px; height: 68px; flex: 0 0 68px; }
  .hero-signature-copy { min-width: 0; gap: 3px; }
  .hero-signature-name { font-size: 2.15rem; line-height: 1.05; }
  .hero-signature-line { font-size: .94rem; line-height: 1.28; }
  /* The actual scene appears ONCE, scaled and centered for the phone. */
  .hero-art.hero-scene-v8 {
    width: calc(100% + 32px);
    max-width: 100%;
    height: auto;
    min-height: 0;
    aspect-ratio: 1110 / 722;
    align-self: center;
    position: relative;
    margin: 16px 0 0;
    transform: none;
    border: 0;
    background: url('images/optimized/hero-escena-movil-v14.webp') center center / contain no-repeat;
    -webkit-mask-image: none;
    mask-image: none;
    pointer-events: none;
  }
  /* Same approved single gold wave — no added floral graphic. */
  .hero-floral-wave { height: 78px; background-image: url('images/optimized/hero-curva-solo-dorada.svg') !important; }
  /* Avoid sticky-menu labels becoming uncomfortably tight in translated views. */
  .header .nav-links { background: #02343f; }
}
@media screen and (max-width: 540px) {
  .navbar { padding-inline: 16px; gap: 9px; }
  .header .logo-text { font-size: clamp(.85rem, 3.5vw, 1rem); line-height: 1.14; white-space: normal; }
  .hero-inner { padding: 29px 20px 85px; }
  .hero-copy h1 { font-size: clamp(1.93rem, 7.65vw, 2.56rem); line-height: 1.12; }
  .hero-eyebrow { font-size: .64rem; }
  .hero-tagline { font-size: .95rem; margin-bottom: 18px; }
  .hero-actions .btn { font-size: .79rem; padding: 12px 8px; }
  .hero-signature { gap: 9px; margin-top: 19px; }
  .hero-signature > img { height: 62px; width: 62px; flex-basis: 62px; }
  .hero-signature-name { font-size: 1.93rem; }
  .hero-signature-line { font-size: .86rem; }
  .hero-art.hero-scene-v8 { margin-top: 16px; width: 100%; height: auto; }
  .hero-floral-wave { height: 67px; }
}
@media screen and (max-width: 355px) {
  .hero-inner { padding-inline: 15px; }
  .hero-copy h1 { font-size: 1.82rem; }
  .hero-actions { gap: 7px; }
  .hero-actions .btn { font-size: .74rem; }
  .hero-signature > img { width: 56px; height: 56px; flex-basis: 56px; }
  .hero-signature-name { font-size: 1.75rem; }
  .hero-signature-line { font-size: .78rem; }
}
