/* Local export repair. Existing artwork and the exported font CSS are retained. */
:root { --ir-gold:#c5a15f; --ir-ink:#050608; --ir-paper:#f2eadc; --ir-header:80px; }
html { scroll-padding-top:calc(var(--ir-header) + 16px); }
body { margin:0; overflow-x:clip; background:var(--ir-ink); color:var(--ir-paper); }
*,*::before,*::after { box-sizing:border-box; }
img { max-width:100%; }
button,a,input,select,textarea,summary { -webkit-tap-highlight-color:transparent; }
button,summary { cursor:pointer; }
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible { outline:2px solid var(--ir-gold); outline-offset:5px; }
[hidden] { display:none!important; }
.sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.skip-link { position:fixed; z-index:2000; top:12px; left:16px; transform:translateY(-180%); background:var(--ir-paper); color:#111; padding:12px 18px; }
.skip-link:focus { transform:none; }
.site-header { position:fixed; inset:0 0 auto; height:var(--ir-header); z-index:80; display:flex; align-items:center; justify-content:space-between; gap:28px; padding:0 clamp(20px,4vw,64px); background:linear-gradient(#050608b3,transparent); transition:background .25s; }
.site-header.is-scrolled,.nav-open .site-header { background:#050608ed; border-bottom:1px solid #c5a15f20; backdrop-filter:blur(16px); }
.site-brand { flex:none; display:block; }
.site-brand img { width:112px; height:auto; filter:invert(1); }
.site-nav { display:flex; align-items:center; gap:clamp(22px,3vw,44px); font-size:11px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; }
.site-nav a,.site-nav summary { color:var(--ir-paper); padding:12px 0; transition:color .2s; }
.site-nav a:hover,.site-nav summary:hover { color:var(--ir-gold); }
.tequila-menu { position:relative; }
.tequila-menu summary { list-style:none; }
.tequila-menu summary::-webkit-details-marker { display:none; }
.tequila-menu summary::after { content:'⌄'; display:inline-block; margin-left:7px; font-size:13px; }
.tequila-submenu { position:absolute; top:100%; left:-24px; width:210px; padding:12px 24px; display:grid; background:#080a10f5; border:1px solid #c5a15f38; box-shadow:0 15px 45px #0008; }
.tequila-submenu a { white-space:nowrap; }
.menu-toggle { display:none; align-items:center; gap:11px; border:1px solid #ffffff9c; border-radius:30px; background:transparent; color:var(--ir-paper); padding:11px 16px; font-size:10px; font-weight:600; text-transform:uppercase; letter-spacing:.16em; }
.menu-icon { width:18px; height:12px; border-top:1px solid; border-bottom:1px solid; position:relative; }
.menu-icon::after { content:''; height:1px; background:currentColor; position:absolute; inset:5px 0 auto; }
.menu-scrim { position:fixed; inset:var(--ir-header) 0 0; z-index:60; background:#0007; border:0; padding:0; }
.nav-open { overflow:hidden; }
.age-dialog,.gallery-dialog { border:1px solid #c5a15f55; background:#07080bee; color:var(--ir-paper); box-shadow:0 30px 100px #0009; }
.age-dialog::backdrop,.gallery-dialog::backdrop { background:#000b; backdrop-filter:blur(10px); }
.age-dialog { margin:auto; width:min(576px,calc(100% - 32px)); max-height:calc(100svh - 32px); overflow-y:auto; padding:clamp(28px,5vw,48px); text-align:center; }
.eyebrow { color:var(--ir-gold); font-size:10px; font-weight:600; letter-spacing:.3em; text-transform:uppercase; }
.age-dialog h2 { font-family:ui-serif,Georgia,Cambria,"Times New Roman",Times,serif; font-size:clamp(36px,8vw,62px); line-height:1.1; margin:30px 0 24px; text-transform:uppercase; }
.age-dialog #age-description { font-size:14px; line-height:1.8; margin:0 auto; max-width:370px; }
.age-actions { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:32px; }
.age-actions button { padding:15px; border:1px solid #fff8; background:transparent; font-size:11px; font-weight:600; letter-spacing:.2em; text-transform:uppercase; }
.age-actions [data-age=yes] { background:var(--ir-paper); color:#08090b; }
.age-actions button:hover { border-color:var(--ir-gold); }
.age-responsibility { margin-top:25px; color:#ffffff8a; font-size:10px; text-transform:uppercase; letter-spacing:.16em; }
.age-denied { margin-top:20px; color:var(--ir-gold); font-size:13px; }
.dialog-open { overflow:hidden; }
.home-hero { height:100svh; min-height:600px; }
.home-hero .hero-brand-watermark { position:absolute; left:50%; top:26%; width:min(73vw,670px); height:auto; opacity:1; transform:translateX(-50%); z-index:3; }
.home-hero .hero-title-position { position:absolute; inset:41% 0 auto; min-height:0; padding:0; display:grid; place-items:center; }
.home-hero .hero-title-position>div { padding:0; transform:none; }
.home-hero .hero-title-image { width:min(64vw,420px); height:auto; opacity:1; filter:none; }
.home-hero .hero-scroll { color:#f2eadc; }
.tradition-pattern-divider { height:31px; background-size:268px auto!important; }
.tradition-section .statement-line { opacity:1; filter:none; transform:none; }
.home-legacy { min-height:650px; }
.home-legacy .sustain-copy { min-height:650px; }
.collection-section { position:relative; height:calc(100svh + var(--collection-travel,0px)); background:var(--ir-ink); }
.collection-stage { position:sticky; top:0; height:100svh; min-height:600px; overflow:hidden; overflow:clip; }
.division-track { display:flex; width:400%; height:100%; will-change:transform; }
.horizontal-panel { position:relative; width:25%; height:100%; flex:0 0 25%; overflow:hidden; scroll-margin-top:var(--ir-header); }
.horizontal-panel .division-bg-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:1; }
.division-shade { position:absolute; inset:0; background:linear-gradient(90deg,#05060810 18%,#05060820 42%,#050608bb 68%,#050608d9); }
.division-content { position:relative; z-index:2; height:100%; display:flex; align-items:center; justify-content:flex-end; padding:100px clamp(32px,6vw,100px); }
#collection .horizontal-panel .division-copy { width:min(38%,520px); margin:0!important; text-align:left!important; }
.expression-title { font-family:"Cormorant SC",serif; font-size:clamp(52px,5.2vw,80px); line-height:1.1; margin:18px 0 28px; color:#f2eadc; font-weight:400; }
.expression-description { max-width:440px; font-size:clamp(14px,1.3vw,18px); line-height:1.85; color:#f2eadcd9; }
.experience-button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; margin-top:30px; border:1px solid #c5a15faa; padding:14px 24px; background:#06080bb8; color:var(--ir-paper); font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:.14em; transition:background .2s,color .2s; }
.experience-button:hover { background:var(--ir-gold); color:#070809; }
.collection-controls { position:absolute; z-index:5; bottom:28px; left:50%; transform:translateX(-50%); display:flex; gap:8px; padding:6px; border:1px solid #fff2; border-radius:40px; background:#050608b8; backdrop-filter:blur(15px); }
.collection-tab { white-space:nowrap; display:block; border-radius:30px; padding:12px 20px; color:#ffffffb8; font-size:11px; letter-spacing:.07em; transition:color .2s,background .2s; }
.collection-tab[aria-current=true],.collection-tab:hover { color:#080a0d; background:var(--ir-gold); }
.site-footer { position:relative; z-index:2; background:linear-gradient(140deg,#080d1a,#060608 55%,#14101a); border-top:1px solid #c5a15f2e; padding:70px clamp(20px,4vw,64px) 25px; }
.footer-top { display:grid; grid-template-columns:minmax(180px,.9fr) minmax(300px,1.35fr) minmax(155px,.75fr); gap:clamp(28px,4vw,60px); align-items:center; max-width:1440px; margin:auto; }
.footer-brand>img { width:min(100%,245px); height:auto; filter:invert(1); }
.footer-brand p { margin-top:16px; font-family:var(--font-display,Georgia),serif; font-size:24px; color:#f2eadcb8; }
.footer-join-form { display:block!important; min-width:0; }
.footer-join-form>label { display:block; color:var(--ir-paper); font-size:11px; font-weight:600; letter-spacing:.2em; text-transform:uppercase; }
.newsletter-copy { font-size:12px; line-height:1.6; color:#f2eadcb3; margin:12px 0 20px; }
.newsletter-controls { display:flex; gap:10px; }
.newsletter-controls input { min-width:0; flex:1; border:1px solid #ffffff52; border-radius:0; background:#ffffff05; padding:14px 15px; height:52px; color:#fff; font:inherit; font-size:13px; }
.newsletter-controls button { flex:none; padding:14px 20px; border:1px solid var(--ir-gold); background:var(--ir-gold); color:#070809; font-size:10px; letter-spacing:.1em; font-weight:600; text-transform:uppercase; white-space:nowrap; }
.newsletter-controls button span { padding-left:8px; font-size:16px; }
.newsletter-controls button:hover { background:#f0d598; }
.honey-field { position:absolute!important; width:1px!important; height:1px!important; clip:rect(0,0,0,0)!important; overflow:hidden!important; }
.form-feedback { font-size:13px; line-height:1.6; color:var(--ir-gold); margin-top:12px; }
.form-feedback:empty { margin:0; }
.footer-marks { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:20px; }
.footer-marks img { filter:invert(1); width:auto; max-width:110px; height:auto; max-height:50px; }
.footer-marks img:last-child { max-width:36px; }
.footer-bottom { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:24px; max-width:1440px; margin:50px auto 0; border-top:1px solid #ffffff20; padding-top:24px; font-size:9px; letter-spacing:.12em; text-transform:uppercase; color:#f2eadcaa; }
.footer-socials { display:flex; gap:14px; }
.footer-socials a { display:grid; place-items:center; width:29px; height:29px; border:1px solid #ffffff50; border-radius:50%; letter-spacing:0; }
.product-main { padding-top:var(--ir-header); }
.product-intro { min-height:calc(100svh - var(--ir-header)); height:auto; position:relative!important; padding:60px 24px 100px!important; overflow:visible!important; }
.product-intro .brand-logo { margin-top:0!important; }
.product-intro .copy { max-width:min(90vw,740px); }
.product-intro .scroll-down { position:absolute; bottom:26px; opacity:1!important; filter:none!important; transform:none!important; }
.product-main .brand-logo,.product-main .blanco-title,.product-main .middle-icon,.product-main .copy,.product-main .copy p,.product-main .divider,.product-main .tasting-note { opacity:1!important; animation:none; transform:none; }
.product-main .brand-logo,.product-main .blanco-title,.product-main .copy,.product-main .copy p,.product-main .divider,.product-main .tasting-note { filter:none!important; }
.product-main .middle-icon { filter:invert(1)!important; }
.product-main .tequila-background-section { position:relative!important; min-height:85svh; opacity:1!important; filter:none!important; transform:none!important; }
.product-main .tequila-background-image,.product-main .jalisco-clouds { opacity:1!important; filter:none!important; }
.product-next { display:flex; flex-wrap:wrap; justify-content:space-between; gap:20px; padding:32px clamp(24px,5vw,80px); color:var(--ir-gold); font-size:11px; text-transform:uppercase; letter-spacing:.12em; border-top:1px solid #c5a15f30; }
.legacy-stage { position:relative; display:grid; place-items:center; min-height:100svh; height:auto; padding:120px 24px 70px; overflow:hidden; }
.legacy-story { position:relative; z-index:2; width:min(90vw,900px); margin:auto; display:flex; flex-direction:column; align-items:center; text-align:center; }
.legacy-story>img:first-of-type { max-width:110px; }
.legacy-story .legacy-sanctuary-title { width:min(100%,780px)!important; height:auto; }
.legacy-story p { max-width:660px; font-size:14px; line-height:1.85; font-weight:400; }
.legacy-film-section { width:100%; margin:0; padding:70px 0; scroll-margin-top:var(--ir-header); }
.legacy-film-section h2 { font-size:clamp(30px,5vw,56px); margin:0 0 30px; padding:0 clamp(24px,5vw,80px); }
.legacy-film-player { position:relative; width:100%; background:#000; }
.legacy-film { display:block; aspect-ratio:16/9; width:100%; height:auto; object-fit:contain; background:#000; }
.legacy-film:fullscreen { width:100%; height:100%; object-fit:contain; }
.legacy-film-play { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:max-content; max-width:calc(100% - 32px); padding:16px 24px; border:1px solid var(--ir-gold); background:#050608e6; color:var(--ir-paper); font-family:inherit; font-size:11px; line-height:1.6; letter-spacing:.12em; text-transform:uppercase; transition:background 220ms ease,border-color 220ms ease; }
.legacy-film-play:hover { background:var(--ir-ink); border-color:var(--ir-paper); }
@media (prefers-reduced-motion:reduce) { .legacy-film-play { transition:none; } }
.gallery-reveal,.masonry-gallery-item,.contact-reveal,.legacy-item,[data-reveal] { opacity:1; filter:none; }
body[data-page="contact.html"] main h1.luxury-heading { font-size:clamp(32px,6vw,80px)!important; line-height:1.05; }
body[data-page="contact.html"] main h1+p.contact-reveal { font-size:clamp(15px,1.25vw,18px)!important; line-height:1.6; }
.masonry-gallery-button { min-height:44px; }
.masonry-gallery-caption { opacity:1!important; transform:none!important; }
.gallery-dialog { width:min(1200px,calc(100% - 24px)); padding:20px; margin:auto; max-height:calc(100svh - 24px); overflow:auto; }
.gallery-dialog-toolbar { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:15px; font-size:12px; text-transform:uppercase; letter-spacing:.12em; }
.gallery-close { padding:10px 14px; border:1px solid #fff6; background:transparent; min-height:44px; }
.gallery-dialog-picture { position:relative; }
.gallery-dialog-picture img { display:block; width:100%; height:min(70svh,760px); object-fit:contain; }
.gallery-prev,.gallery-next { position:absolute; top:50%; transform:translateY(-50%); border:1px solid #fff6; background:#050608b8; min-width:46px; min-height:46px; font-size:22px; }
.gallery-prev { left:8px; }.gallery-next { right:8px; }
.gallery-caption { margin:15px 0 0; color:#f2eadcb8; font-size:12px; }
@keyframes localReveal { from { opacity:.65; transform:translateY(12px); } to { opacity:1; transform:none; } }
.reveal-enter { animation:localReveal .45s ease both; }
body[data-page="404.html"] { font-family:Raleway,Arial,sans-serif; }
body[data-page="404.html"] main.wrap { min-height:78svh; max-width:900px; margin:auto; padding:140px 24px 80px; text-align:center; display:flex; flex-direction:column; align-items:center; background:radial-gradient(ellipse at 50% 30%,#c5a15f12,transparent 65%); }
body[data-page="404.html"] .logo { width:min(70vw,330px); height:auto; }
body[data-page="404.html"] .code { color:var(--ir-gold); font-size:12px; letter-spacing:.35em; margin:32px 0 16px; }
body[data-page="404.html"] h1 { font-family:"Cormorant Garamond",serif; font-size:clamp(36px,7vw,64px); line-height:1.1; margin:0 0 24px; }
body[data-page="404.html"] .copy { max-width:520px; font-size:14px; line-height:1.9; color:#f2eadcbd; }
body[data-page="404.html"] .actions { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-top:30px; }
body[data-page="404.html"] .actions a { border:1px solid #c5a15f80; padding:14px 25px; min-height:48px; font-size:11px; text-transform:uppercase; letter-spacing:.15em; }
body[data-page="404.html"] .actions a:hover { background:var(--ir-gold); color:#050608; }
@media (max-width:1199px) {
  .footer-top { grid-template-columns:minmax(160px,.8fr) minmax(300px,1.2fr); }
  .footer-marks { grid-column:1/-1; justify-content:flex-start; padding-top:20px; border-top:1px solid #fff2; }
}
@media (max-width:899px) {
  .menu-toggle { display:flex; }
  .site-nav { position:fixed; z-index:70; left:0; top:var(--ir-header); width:min(86vw,380px); height:calc(100dvh - var(--ir-header)); overflow-y:auto; display:flex; flex-direction:column; align-items:stretch; gap:0; padding:20px 26px; border-right:1px solid #c5a15f50; background:#050608f5; transform:translateX(-105%); visibility:hidden; transition:transform .35s ease,visibility .35s; }
  .nav-open .site-nav { transform:none; visibility:visible; }
  .site-nav>a,.tequila-menu summary { display:block; min-height:54px; padding:18px 0; border-bottom:1px solid #fff2; }
  .tequila-submenu { position:static; width:100%; border:0; padding:6px 14px 14px; box-shadow:none; background:transparent; }
  .tequila-submenu a { font-size:10px; }
  .collection-section { height:auto!important; }
  .collection-stage { position:relative; height:auto; min-height:0; overflow:visible; }
  .division-track { display:block; width:100%; height:auto; transform:none!important; will-change:auto; }
  .horizontal-panel { width:100%; height:auto; padding-top:clamp(420px,57svh,620px); background:#050608; }
  .horizontal-panel .division-bg-image { height:clamp(420px,57svh,620px); object-position:center; }
  .division-shade { height:clamp(420px,57svh,620px); background:linear-gradient(180deg,#05060800 60%,#050608f5); }
  .division-content { height:auto; align-items:flex-end; padding:24px 24px 48px; }
  #collection .horizontal-panel .division-copy { width:100%; max-width:650px; text-align:center!important; margin:0 auto!important; }
  .expression-title { font-size:clamp(48px,10vw,72px); margin:15px 0 20px; }
  .expression-description { margin:auto; max-width:470px; font-size:14px; }
  .collection-controls { position:sticky; left:auto; transform:none; top:var(--ir-header); bottom:auto; width:100%; border-radius:0; justify-content:center; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:3px; padding:7px; }
  .collection-tab { text-align:center; font-size:10px; letter-spacing:.015em; padding:12px 4px; }
}
@media (max-width:639px) {
  :root { --ir-header:72px; }
  .site-header { padding:0 18px; }
  .site-brand img { width:105px; }
  .home-hero { min-height:560px; }
  .home-hero .hero-brand-watermark { top:27%; width:74vw; }
  .home-hero .hero-title-position { top:48%; }
  .home-hero .hero-title-image { width:72vw; }
  .tradition-pattern-divider { height:23px; background-size:201px auto!important; }
  .tradition-section { padding-top:70px; padding-bottom:70px; }
  .home-legacy,.home-legacy .sustain-copy { min-height:0; }
  .home-legacy .sustain-copy { padding-top:70px; padding-bottom:70px; gap:35px; }
  .footer-top { grid-template-columns:minmax(0,1fr); gap:35px; }
  .footer-brand>img { width:200px; }
  .footer-marks { grid-column:auto; }
  .newsletter-controls { flex-direction:column; }
  .newsletter-controls button { min-height:50px; }
  .footer-bottom { justify-content:flex-start; gap:22px; font-size:9px; line-height:1.8; }
  .footer-bottom>p:first-child { flex-basis:100%; }
  .product-intro { padding:40px 20px 100px!important; }
  .product-intro .brand-logo { width:150px; }
  .product-intro .blanco-title { width:min(84vw,380px); }
  .product-intro .copy { width:100%; max-width:100%; font-size:14px; line-height:1.9; }
  .product-intro .copy p { line-height:1.9; }
  .product-intro .tasting-note { width:100%; max-width:100%; font-size:13px; line-height:1.8; }
  .legacy-story p { font-size:13px; }
  .legacy-story>img:first-of-type { max-width:75px; }
  .gallery-dialog { padding:12px; }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
  .collection-section { height:auto!important; }
  .collection-stage { height:auto; position:relative; min-height:0; }
  .division-track { display:block; width:100%; transform:none!important; }
  .horizontal-panel { width:100%; height:max(650px,85svh); }
  .collection-controls { position:relative; inset:auto; transform:none; border-radius:0; width:100%; justify-content:center; }
  .hero-cloud-loop-low,.jalisco-cloud { transform:none!important; }
}
