:root {
  --ink:#0b0b09;
  --panel:#151512;
  --cream:#f2ecdf;
  --gold:#e2be7b;
  --muted:#b4b0a5;
  --line:#35342b;
  --text:#f6f1e6;
  --serif:Georgia,'Times New Roman',serif;
  --sans:Arial,Helvetica,sans-serif;
  --page: min(1280px, calc(100% - 112px))
}


* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:28px
}
body {
  margin:0;
  background:var(--ink);
  color:var(--text);
  font-family:var(--sans);
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased
}
a {
  color:inherit;
  text-decoration:none
}
button,input {
  font:inherit
}
img {
  display:block;
  max-width:100%;
  height:auto
}
h1,h2,h3,p {
  margin:0
}
h1,h2,h3 {
  font-family:var(--serif);
  font-weight:400;
  line-height:1.08
}
h2 {
  font-size:clamp(40px,4.3vw,64px);
  letter-spacing:-2px
}
em {
  font-weight:400;
  color:var(--gold)
}
a,button,input,summary {
  -webkit-tap-highlight-color:transparent
}
a:focus-visible,button:focus-visible,summary:focus-visible {
  outline:3px solid var(--gold);
  outline-offset:6px
}
a:hover {
  text-decoration:none
}
::selection {
  background:var(--gold);
  color:var(--ink)
}
.skip-link {
  position:fixed;
  z-index:100;
  left:16px;
  top:12px;
  padding:12px 20px;
  transform:translateY(-160%);
  background:var(--gold);
  color:var(--ink)
}
.skip-link:focus {
  transform:none
}
.section {
  width:var(--page);
  margin-inline:auto;
  padding-block:112px
}
.eyebrow {
  font-family:var(--sans);
  font-size:11px;
  font-weight:600;
  letter-spacing:2.6px;
  text-transform:uppercase;
  line-height:1.5;
  color:var(--gold)
}
.button {
  min-height:52px;
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;
  padding:14px 25px;
  font-size:13px;
  font-weight:600;
  line-height:1.4;
  border:1px solid transparent;
  transition:background .2s,color .2s,border-color .2s,transform .2s
}
.button span {
  font-size:23px;
  line-height:1;
  font-weight:400
}
.button:hover {
  transform:translateY(-2px)
}
.button-gold {
  background:var(--gold);
  color:var(--ink)
}
.button-gold:hover {
  background:#f1d5a0
}
.button-outline {
  border-color:#6d6044;
  color:var(--gold)
}
.button-outline:hover {
  background:var(--gold);
  color:var(--ink)
}
.button-dark {
  background:var(--ink);
  color:var(--cream)
}
.button-dark:hover {
  background:#303027
}
.text-link {
  font-size:13px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:26px;
  padding-block:15px;
  border-bottom:1px solid #79705b
}
.text-link span {
  font-size:24px;
  line-height:1
}
.text-link:hover {
  color:var(--gold);
  border-color:var(--gold)
}
.header {
  position:relative;
  width:var(--page);
  height:108px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin:auto;
  border-bottom:1px solid var(--line);
  z-index:2
}
.brand {
  display:block;
  flex-shrink:0
}
.brand img {
  width:65px;
  height:65px;
  border-radius:50%
}
.header nav {
  display:flex;
  gap:36px;
  margin-left:70px
}
.header nav a {
  font-size:12px;
  color:#d7d0c0;
  padding:12px 0
}
.header nav a:hover {
  color:var(--gold)
}
.header .button {
  min-height:44px;
  font-size:11px;
  padding:10px 18px;
  gap:25px
}
.hero {
  position:relative;
  width:var(--page);
  margin:auto;
  min-height:710px;
  display:grid;
  grid-template-columns:1.08fr 1fr;
  align-items:center;
  padding:40px 0 80px
}
.hero-content {
  z-index:1;
  padding-bottom:15px
}
.hero .eyebrow {
  display:flex;
  align-items:center;
  gap:12px
}
.small-line {
  width:32px;
  height:1px;
  background:var(--gold)
}
h1 {
  font-size:clamp(52px,5.5vw,84px);
  letter-spacing:-3.6px;
  line-height:1.05;
  margin:28px 0 26px
}
h1 em {
  white-space:nowrap
}
.hero-description {
  color:#c0bbae;
  font-size:14px;
  line-height:1.9;
  margin-bottom:30px
}
.hero-content>.button {
  min-width:225px
}
.cta-note {
  font-size:10px;
  color:var(--muted);
  margin-top:11px;
  letter-spacing:.2px
}
.hero-specs {
  display:flex;
  margin-top:42px
}
.hero-specs>span {
  padding:0 24px;
  border-left:1px solid #474134
}
.hero-specs>span:first-child {
  padding-left:0;
  border:0
}
.hero-specs strong {
  display:block;
  font-size:13px;
  letter-spacing:.5px;
  font-weight:400;
  color:var(--cream)
}
.hero-specs small {
  display:block;
  font-size:10px;
  color:#a5a092;
  margin-top:4px
}
.hero-art {
  position:relative;
  align-self:stretch;
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0
}
.hero-bottle {
  position:relative;
  width:360px;
  height:575px;
  object-fit:contain;
  mix-blend-mode:screen;
  z-index:1;
  filter:drop-shadow(0 20px 38px #0005)
}
.hero-art:before {
  content:'';
  position:absolute;
  inset:15% -2% 5%;
  background:radial-gradient(ellipse,#71412135,transparent 70%)
}
.hero-orbit {
  position:absolute;
  width:95%;
  aspect-ratio:1;
  border:1px solid #6853354d;
  border-radius:50%;
  top:13%
}
.hero-orbit:before {
  content:'';
  position:absolute;
  inset:18px;
  border:1px solid #68533525;
  border-radius:50%
}
.vertical-caption {
  position:absolute;
  right:-16px;
  top:32%;
  writing-mode:vertical-rl;
  letter-spacing:3px;
  font-size:9px;
  color:#9c8f76
}
.hero-label {
  position:absolute;
  bottom:5px;
  right:5px;
  z-index:2;
  display:flex;
  align-items:center;
  gap:12px;
  font-size:10px;
  line-height:1.7;
  color:#b8ae9a
}
.hero-label strong {
  font-weight:400;
  color:var(--gold)
}
.diamond {
  font-size:46px;
  line-height:1;
  color:var(--gold)
}
.hero-discover {
  position:absolute;
  bottom:25px;
  left:0;
  display:flex;
  align-items:center;
  gap:20px;
  color:#aea99b;
  font-size:10px;
  letter-spacing:1px
}
.hero-discover span {
  font-size:18px;
  color:var(--gold)
}
.brand-strip {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5vw;
  padding:22px 28px;
  border-top:1px solid #413723;
  border-bottom:1px solid #413723;
  background:#17160f;
  font-size:10px;
  letter-spacing:2.2px;
  text-transform:uppercase;
  color:#d1bf9c
}
.brand-strip>span:nth-child(even) {
  font-size:19px;
  color:var(--gold);
  line-height:1
}
.section-heading {
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:40px;
  margin-bottom:54px
}
.section-heading .eyebrow {
  margin-bottom:22px
}
.section-heading>p {
  color:var(--muted);
  font-size:13px;
  line-height:1.9;
  padding:0 12px 8px 0
}
.product-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:34px
}
.product-card {
  min-width:0
}
.product-visual {
  height:470px;
  position:relative;
  display:flex;
  justify-content:center;
  align-items:center;
  overflow:hidden;
  background:radial-gradient(ellipse at 50% 65%,#39271655 0%,#151511 70%);
  border:1px solid #302e25
}
.product-visual.smoked {
  background:radial-gradient(ellipse at 50% 65%,#3d2e2155 0%,#151511 70%)
}
.product-visual img {
  height:390px;
  width:80%;
  object-fit:contain;
  mix-blend-mode:screen;
  transition:transform .45s
}
.product-card:hover .product-visual img {
  transform:scale(1.035)
}
.product-number {
  position:absolute;
  top:23px;
  left:25px;
  font-family:var(--serif);
  font-size:18px;
  color:#8d8268
}
.product-badge {
  position:absolute;
  top:29px;
  right:24px;
  font-size:8px;
  letter-spacing:1.7px;
  text-transform:uppercase;
  color:var(--gold)
}
.image-caption {
  position:absolute;
  bottom:19px;
  font-size:9px;
  letter-spacing:1.8px;
  color:#c5bfae;
  display:flex;
  gap:18px
}
.image-caption span {
  color:var(--gold)
}
.product-copy {
  padding:27px 0 0
}
.product-copy>.eyebrow {
  font-size:9px;
  letter-spacing:2px
}
.product-copy h3 {
  font-size:43px;
  margin:8px 0 16px;
  letter-spacing:-1.2px
}
.product-copy>p:not(.eyebrow) {
  font-size:13px;
  color:var(--muted);
  max-width:390px;
  line-height:1.9;
  min-height:74px
}
.product-copy .text-link {
  margin-top:18px;
  color:var(--gold)
}
.collection-note {
  text-align:center;
  margin-top:40px;
  font-size:11px;
  color:var(--muted)
}
.gift-section {
  display:grid;
  grid-template-columns:1fr 1fr;
  background:var(--cream);
  color:var(--ink)
}
.gift-photo {
  min-width:0;
  overflow:hidden;
  display:flex;
  align-items:center;
  background:#1d140b
}
.gift-scene {
  position:relative;
  width:100%;
  aspect-ratio:1;
  isolation:isolate;
}
.gift-photo .gift-background {
  width:100%;
  height:auto;
  aspect-ratio:1;
}
.gift-bottle-layer {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  opacity:0;
  pointer-events:none;
  -webkit-mask-image:url('assets/mascara-garrafa-presente.svg?v=label-surface-2');
  mask-image:url('assets/mascara-garrafa-presente.svg?v=label-surface-2');
  -webkit-mask-size:100% 100%;
  mask-size:100% 100%;
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  overflow:hidden;
  transition:opacity 900ms cubic-bezier(.45,0,.55,1);
}
.gift-photo .gift-bottle-overlay {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  pointer-events:none;
  /* The responsive projective matrix is supplied by registerGiftPerspective. */
  transform-origin:0 0;
}
.gift-scene[data-version="defumado"] .gift-bottle-layer {
  opacity:1;
}

.cta-note a {color:var(--gold);text-decoration:underline;text-underline-offset:3px;white-space:nowrap;}
.order-intro>.order-contact {font-size:10px;line-height:1.8;color:var(--muted);margin:18px 0 0;}
.order-contact a {display:block;font-size:15px;color:var(--gold);width:fit-content;padding:3px 0;border-bottom:1px solid #655a43;}
.order-contact a span {margin-left:12px;}
.footer-links {display:grid;gap:8px;}
.footer-links a {display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:32px;font-size:11px;color:#d6c7a9;border-bottom:1px solid #534c3b;padding:5px 0;}
.footer-links a:hover {color:var(--gold);}
@media(max-width:760px) {
  .footer-links {width:100%;gap:9px;}
  .footer-links a {min-height:44px;font-size:11px;}
}
.gift-content {
  padding:clamp(40px,6vw,96px);
  align-self:center
}
.gift-content>.eyebrow {
  color:#72572c;
  margin-bottom:24px
}
.gift-content h2 {
  font-size:clamp(36px,3.6vw,54px);
  letter-spacing:-1.8px
}
.gift-content em {
  color:#76532c
}
.gift-content>p:not(.eyebrow):not(.gift-status) {
  font-size:13px;
  color:#575348;
  line-height:1.9;
  margin-top:26px;
  max-width:390px
}
.gift-selector {
  border:0;
  margin:26px 0 24px;
  padding:0
}
.gift-selector legend {
  font-size:10px;
  color:#5e574a;
  margin-bottom:10px;
  letter-spacing:.5px
}
.radio-options {
  display:flex;
  gap:10px
}
.radio-options label {
  cursor:pointer;
  position:relative;
  min-width:112px
}
.radio-options input {
  position:absolute;
  opacity:0;
  width:100%;
  height:100%;
  inset:0;
  cursor:pointer;
  margin:0
}
.radio-options span {
  display:flex;
  justify-content:center;
  padding:10px 19px;
  border:1px solid #aaa08b;
  font-size:11px;
  transition:background .2s,color .2s
}
.radio-options input:checked+span {
  background:#e1d5bb;
  border-color:#5f5138;
  color:#251d0e
}
.radio-options input:checked+span:before {
  content:'✓';
  margin-right:8px
}
.radio-options input:focus-visible+span {
  outline:3px solid #76532c;
  outline-offset:3px
}
.gift-content .button {
  font-size:12px;
  min-width:260px
}
.gift-status {
  font-size:10px;
  color:#625b4f;
  margin-top:8px
}
.gift-section a:focus-visible {
  outline-color:#76532c
}
.ritual {
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:12%;
  padding-block:110px
}
.ritual .eyebrow {
  margin-bottom:23px
}
.ritual-intro>p:not(.eyebrow) {
  color:var(--muted);
  font-size:13px;
  line-height:1.9;
  margin-top:24px
}
.ritual-mark {
  position:relative;
  display:inline-flex;
  font-family:var(--serif);
  font-size:70px;
  line-height:1.2;
  color:#736449;
  margin-top:25px
}
.ritual-mark span {
  font-size:24px;
  margin-left:14px;
  align-self:center
}
.ritual-steps {
  list-style:none;
  padding:0;
  margin:0;
  align-self:center;
  counter-reset:ritual
}
.ritual-steps li {
  display:flex;
  align-items:flex-start;
  gap:26px;
  padding:26px 0;
  border-bottom:1px solid var(--line)
}
.ritual-steps li:first-child {
  padding-top:0
}
.step-number {
  font-family:var(--serif);
  font-size:30px;
  color:var(--gold);
  line-height:1.15
}
.ritual-steps h3 {
  font-size:24px;
  margin-bottom:10px
}
.ritual-steps p {
  color:var(--muted);
  font-size:12px;
  line-height:1.9;
  max-width:275px
}
.order-section {
  width:100%;
  padding:100px max(56px,calc((100% - 1280px)/2));
  background:#181811;
  border-top:1px solid #383529;
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:9%
}
.order-intro>.eyebrow {
  margin-bottom:23px
}
.order-intro h2 {
  font-size:clamp(36px,3.7vw,56px);
  letter-spacing:-1.6px
}
.order-intro>p:not(.eyebrow) {
  font-size:13px;
  color:#bdb7a8;
  line-height:1.9;
  margin:24px 0 28px
}
.order-intro .button {
  min-width:230px
}
.catalog-link {
  display:block;
  width:fit-content;
  font-size:10px;
  color:#c7bb9e;
  margin-top:18px;
  border-bottom:1px solid #655a43;
  padding-bottom:3px
}
.catalog-link span {
  margin-left:8px
}
.catalog-link:hover {
  color:var(--gold)
}
.order-steps {
  list-style:none;
  padding:0;
  margin:0 0 32px
}
.order-steps li {
  display:flex;
  gap:19px;
  margin-bottom:24px
}
.order-steps li>span {
  color:var(--gold);
  font-size:10px;
  line-height:2.5
}
.order-steps h3 {
  font-family:var(--sans);
  font-size:12px;
  font-weight:500;
  line-height:1.6
}
.order-steps p {
  font-size:11px;
  color:#bdb7a8;
  line-height:1.8;
  margin-top:5px;
  max-width:330px
}
.faq {
  border-top:1px solid #4a4332
}
.faq details {
  border-bottom:1px solid #4a4332
}
.faq summary {
  display:flex;
  gap:15px;
  justify-content:space-between;
  align-items:center;
  list-style:none;
  cursor:pointer;
  font-size:11px;
  padding:18px 0;
  line-height:1.8
}
.faq summary::-webkit-details-marker {
  display:none
}
.faq summary span {
  color:var(--gold);
  font-size:19px;
  line-height:1;
  transition:transform .2s
}
.faq details[open] summary span {
  transform:rotate(45deg)
}
.faq details p {
  font-size:11px;
  color:#bdb7a8;
  line-height:1.9;
  padding:0 25px 20px 0;
  max-width:400px
}
.footer {
  width:var(--page);
  margin:auto;
  padding:55px 0 20px
}
.footer-main {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  padding-bottom:44px
}
.footer-wordmark {
  font-family:var(--serif);
  font-size:39px;
  letter-spacing:2px;
  line-height:1;
  color:var(--gold)
}
.footer-wordmark span {
  font-family:var(--sans);
  display:block;
  font-size:8px;
  letter-spacing:3.2px;
  line-height:2.5
}
.footer-main>p {
  font-family:var(--serif);
  font-size:18px;
  line-height:1.4;
  color:#bfb5a1
}
.footer-main>.text-link {
  font-size:10px;
  color:#c9bb9b;
  border-color:#534c3b;
  padding:10px 0;
  gap:30px
}
.footer-bottom {
  border-top:1px solid #302e25;
  padding-top:20px;
  display:flex;
  justify-content:space-between;
  gap:20px;
  color:#aaa392;
  font-size:8px;
  letter-spacing:.2px
}
.mobile-order {
  display:none
}
@media(min-width:1600px) {
  .hero {
    min-height:800px
  }
  .hero-bottle {
    height:640px;
    width:420px
  }
  .hero-orbit {
    top:9%
  }
}
@media(max-width:1100px) {
  :root {
    --page:calc(100% - 64px)
  }
  .header nav {
    gap:24px;
    margin-left:0
  }
  .hero {
    min-height:640px;
    grid-template-columns:1.2fr 1fr
  }
  .hero-bottle {
    height:510px;
    width:325px
  }
  h1 {
    font-size:clamp(50px,5.5vw,61px);
    letter-spacing:-2.8px
  }
  .hero-description {
    font-size:13px
  }
  .hero-specs>span {
    padding-inline:18px
  }
  .hero-label {
    right:-5px
  }
  .hero-label .diamond {
    font-size:32px
  }
  .hero-label {
    font-size:9px
  }
  .vertical-caption {
    right:-14px;
    font-size:8px
  }
  .section {
    padding-block:80px
  }
  .product-visual {
    height:420px
  }
  .product-visual img {
    height:355px
  }
  .product-badge {
    font-size:7px;
    letter-spacing:1px;
    right:15px
  }
  .gift-content {
    padding:40px 32px
  }
  .gift-content h2 {
    font-size:38px
  }
  .gift-content>p:not(.eyebrow):not(.gift-status) {
    font-size:12px
  }
  .order-section {
    padding-inline:32px;
    gap:7%
  }
  .order-intro h2 {
    font-size:41px
  }
  .ritual {
    gap:7%
  }
}
@media(max-width:760px) {
  :root {
    --page:calc(100% - 40px)
  }
  html {
    scroll-padding-top:18px
  }
  .header {
    height:85px
  }
  .brand img {
    width:54px;
    height:54px
  }
  .header nav {
    gap:20px;
    margin-left:auto;
    margin-right:24px
  }
  .header nav a {
    font-size:10px
  }
  .header nav a:last-child {
    display:none
  }
  .header .header-order {
    font-size:10px;
    min-height:40px;
    padding:10px 12px;
    gap:15px
  }
  .header .header-order span {
    font-size:17px
  }
  .hero {
    display:flex;
    flex-direction:column;
    align-items:stretch;
    padding:40px 0 45px;
    min-height:0
  }
  .hero-content {
    padding:0
  }
  .hero .eyebrow {
    font-size:9px;
    letter-spacing:2px
  }
  .small-line {
    width:22px
  }
  h1 {
    font-size:clamp(47px,8.4vw,66px);
    letter-spacing:-2.4px;
    margin:20px 0 21px
  }
  .hero-description {
    font-size:12px;
    line-height:1.9;
    margin-bottom:24px
  }
  .hero-content>.button {
    min-height:48px;
    min-width:215px
  }
  .cta-note {
    font-size:9px;
    margin-top:10px
  }
  .hero-specs {
    margin-top:27px;
    gap:0;
    justify-content:center;
    text-align:center
  }
  .hero-specs>span {
    padding-inline:20px
  }
  .hero-specs>span:last-child {
    padding-right:0
  }
  .hero-specs strong {
    font-size:12px
  }
  .hero-specs small {
    font-size:9px
  }
  .hero-art {
    align-self:center;
    width:100%;
    height:430px;
    margin-top:15px
  }
  .hero-bottle {
    width:74vw;
    height:410px;
    max-width:320px
  }
  .hero-orbit {
    width:85%;
    max-width:350px;
    top:8%;
    left:50%;
    transform:translateX(-50%)
  }
  .vertical-caption {
    right:0;
    top:28%;
    font-size:8px;
    letter-spacing:2px
  }
  .hero-label {
    bottom:0;
    right:5px;
    font-size:9px
  }
  .hero-discover {
    left:0;
    bottom:18px;
    font-size:9px;
    gap:10px
  }
  .hero-label .diamond {
    font-size:30px
  }
  .brand-strip {
    gap:17px;
    padding:19px 20px;
    flex-wrap:wrap;
    font-size:8px;
    letter-spacing:1.4px
  }
  .brand-strip>span:nth-last-child(-n+2) {
    display:none
  }
  .brand-strip>span:nth-child(even) {
    font-size:16px
  }
  .section {
    padding-block:64px
  }
  h2 {
    font-size:39px;
    letter-spacing:-1.5px
  }
  .section-heading {
    display:block;
    margin-bottom:30px
  }
  .section-heading .eyebrow {
    font-size:9px;
    margin-bottom:18px
  }
  .section-heading>p {
    font-size:12px;
    margin-top:23px;
    padding:0
  }
  .section-heading>p br {
    display:none
  }
  .product-grid {
    gap:40px;
    grid-template-columns:1fr
  }
  .product-visual {
    height:420px
  }
  .product-visual img {
    height:360px;
    max-width:270px
  }
  .product-badge {
    font-size:8px;
    letter-spacing:1.2px;
    right:22px;
    top:27px
  }
  .product-number {
    left:22px;
    top:22px
  }
  .image-caption {
    font-size:8px
  }
  .product-copy {
    padding-top:23px
  }
  .product-copy h3 {
    font-size:38px;
    margin-bottom:14px
  }
  .product-copy>p:not(.eyebrow) {
    font-size:12px;
    min-height:0;
    max-width:440px
  }
  .product-copy .text-link {
    font-size:12px;
    margin-top:10px
  }
  .collection-note {
    font-size:10px;
    margin-top:28px
  }
  .gift-section {
    grid-template-columns:1fr
  }
  .gift-photo {
    order:2
  }
  .gift-photo img {
    height:auto;
    object-fit:contain
  }
  .gift-content {
    padding:50px 25px 15px 25px;
    order:1
  }
  .gift-content .eyebrow {
    font-size:9px;
    margin-bottom:19px
  }
  .gift-content h2 {
    font-size:42px
  }
  .gift-content>p:not(.eyebrow):not(.gift-status) {
    max-width:480px;
    font-size:12px;
    margin-top:22px
  }
  .gift-selector {
    margin-top:23px
  }
  .gift-content .button {
    min-width:270px;
    max-width:100%
  }
  .ritual {
    display:block
  }
  .ritual .eyebrow {
    font-size:9px;
    margin-bottom:18px
  }
  .ritual-intro>p:not(.eyebrow) {
    font-size:12px;
    margin-top:20px
  }
  .ritual-mark {
    display:none
  }
  .ritual-steps {
    margin-top:32px
  }
  .ritual-steps li {
    gap:23px;
    padding-block:24px
  }
  .step-number {
    font-size:27px
  }
  .ritual-steps h3 {
    font-size:24px
  }
  .ritual-steps p {
    font-size:11px;
    max-width:330px
  }
  .order-section {
    width:100%;
    display:block;
    padding:64px 25px
  }
  .order-intro h2 {
    font-size:40px;
    letter-spacing:-1.5px
  }
  .order-intro>.eyebrow {
    font-size:9px;
    margin-bottom:20px
  }
  .order-intro>p:not(.eyebrow) {
    font-size:12px;
    margin-top:22px
  }
  .order-details {
    margin-top:45px
  }
  .order-steps li {
    margin-bottom:24px
  }
  .order-steps h3 {
    font-size:12px
  }
  .order-steps p {
    max-width:440px;
    font-size:11px
  }
  .faq summary {
    font-size:11px;
    padding-block:17px
  }
  .faq details p {
    max-width:100%
  }
  .footer {
    padding:40px 0 100px
  }
  .footer-main {
    flex-wrap:wrap;
    row-gap:30px;
    padding-bottom:28px
  }
  .footer-wordmark {
    font-size:33px
  }
  .footer-main>p {
    font-size:16px
  }
  .footer-main>.text-link {
    width:100%;
    font-size:11px
  }
  .footer-bottom {
    display:block;
    font-size:8px;
    line-height:1.8;
    padding-top:18px
  }
  .footer-bottom>p+p {
    margin-top:9px;
    max-width:295px
  }
  .mobile-order {
    position:fixed;
    bottom:0;
    left:0;
    right:0;
    z-index:10;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:12px 20px max(12px,env(safe-area-inset-bottom));
    background:#11110ff5;
    border-top:1px solid #615132;
    box-shadow:0 -8px 25px #0003
  }
  .mobile-order>span {
    font-family:var(--serif);
    font-size:14px;
    color:var(--cream)
  }
  .mobile-order>.button {
    font-size:11px;
    padding:10px 16px;
    min-height:44px;
    gap:20px
  }
  .mobile-order .button span {
    font-size:19px
  }
}
@media(max-width:420px) {
  .header nav {
    display:none
  }
  .hero {
    padding-top:32px
  }
  h1 {
    font-size:clamp(40px,11.2vw,47px);
    letter-spacing:-2.1px
  }
  .hero-art {
    height:390px;
    margin-top:10px
  }
  .hero-bottle {
    height:375px
  }
  .hero-label {
    font-size:8px;
    right:0
  }
  .hero-discover {
    font-size:8px
  }
  .hero-specs>span {
    padding-inline:17px
  }
  .brand-strip {
    gap:12px;
    font-size:7px
  }
  .hero-orbit {
    top:10%
  }
  .product-visual {
    height:390px
  }
  .product-visual img {
    height:330px
  }
  .gift-content h2 {
    font-size:37px
  }
  .order-intro h2 {
    font-size:36px
  }
  .mobile-order>span {
    font-size:12px
  }
  .mobile-order {
    padding-inline:16px;
    gap:12px
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  *,*:before,*:after {
    transition:none!important;
    animation:none!important
  }
}

/* The label artwork supplied by the brand becomes an animated reading of its
   five meanings. CSS crops the capture without retouching the original. */
.visually-hidden {
  position:absolute;
  width:1px;
  height:1px;
  margin:-1px;
  padding:0;
  border:0;
  overflow:hidden;
  clip-path:inset(50%);
  white-space:nowrap;
}
.label-section {
  background:var(--cream);
  color:var(--ink);
  padding:90px 0;
}
.label-inner {
  width:var(--page);
  margin:auto;
  display:grid;
  grid-template-columns:1fr 1fr;
  column-gap:8%;
  align-items:start;
}
.label-heading {grid-column:2;grid-row:1;}
.label-heading .eyebrow {color:#76532c;margin-bottom:20px;}
.label-heading h2 {font-size:clamp(38px,4vw,58px);}
.label-heading em {color:#76532c;}
.label-heading>p:last-child {font-size:13px;line-height:1.9;color:#575348;margin-top:23px;max-width:420px;}
.label-figure {grid-column:1;grid-row:1 / span 2;margin:0;align-self:center;min-width:0;}
.label-stage {
  position:relative;
  display:grid;
  justify-items:center;
  padding:22px 20px 25px;
  border:1px solid #b7a786;
  background:radial-gradient(ellipse at 50% 45%,#e5b76966,transparent 66%),#e9dfca;
  overflow:hidden;
}
.label-stage:before {content:'';position:absolute;inset:10px;border:1px solid #b7a78666;pointer-events:none;}
.label-stage-header {position:relative;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:0 8px;width:100%;margin-bottom:10px;}
.label-stage-caption {font-size:8px;letter-spacing:2px;color:#775d38;}
.label-window {position:relative;aspect-ratio:360 / 710;width:min(360px,100%);overflow:hidden;isolation:isolate;}
.label-canvas {position:absolute;inset:0;transform-origin:var(--label-focus-x,50%) var(--label-focus-y,60%);}
.label-hotspots,.label-detail-card,.label-touch-hint {display:none;}
.label-window .label-source {
  position:absolute;
  width:100%;
  max-width:100%;
  height:100%;
  left:0;
  top:0;
  mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent);
  /* Frame the neck without fragments of captions outside the bottle. */
  clip-path:polygon(27% 0,73% 0,73% 23%,100% 30%,100% 100%,0 100%,0 30%,27% 23%);
}
.label-traces {position:absolute;inset:0;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 1px 2px #3b210e);}
.label-traces g {opacity:0;transition:opacity .35s;stroke:#ffe3a7;stroke-width:2;}
.label-traces g.is-active {opacity:1;}
.label-traces circle {fill:#ffde9c0d;stroke-width:1.5;}
.label-traces .label-pulse {opacity:0;transform-box:fill-box;transform-origin:center;}
.label-section[data-playing="true"] .label-traces g.is-active path {stroke-dasharray:1;animation:label-draw .9s ease both;}
.label-section[data-playing="true"] .label-traces g.is-active .label-pulse {animation:label-pulse 2.2s ease-out infinite;}
.label-scene-footer {position:relative;display:flex;align-items:center;gap:11px;padding-top:13px;max-width:100%;}
.label-scene-footer>span {font-size:29px;line-height:1;color:#76532c;}
.label-scene-footer p {font-size:10px;line-height:1.7;color:#624a29;}
.label-figure>figcaption {text-align:center;font-size:9px;color:#685b46;margin-top:12px;}
.label-figure>figcaption a {display:inline-block;min-height:24px;padding-block:4px;border-bottom:1px solid #a2906c;}
.label-figure a:focus-visible,.label-story-item:focus-visible,.label-stage-header button:focus-visible {outline:3px solid #76532c;outline-offset:4px;}
.label-explorer {grid-column:2;grid-row:2;margin-top:27px;min-width:0;}
.label-instruction {font-size:9px;letter-spacing:1px;color:#695b45;margin-bottom:12px;}
.label-story-list {border-top:1px solid #bbae95;}
.label-story-item {
  position:relative;
  width:100%;
  display:grid;
  grid-template-columns:21px 1fr 18px;
  align-items:start;
  gap:15px;
  text-align:left;
  padding:20px 12px 20px 5px;
  background:transparent;
  color:var(--ink);
  border:0;
  border-bottom:1px solid #bbae95;
  cursor:pointer;
  transition:background .3s;
}
.label-story-item:hover,.label-story-item.is-active {background:#dfd1b859;}
.label-item-number {font-size:9px;color:#76532c;padding-top:5px;}
.label-story-item strong {display:block;font-family:var(--serif);font-size:23px;font-weight:400;line-height:1.2;}
.label-story-item strong+span {display:block;font-size:11px;line-height:1.8;color:#575348;margin-top:7px;max-width:360px;}
.label-item-symbol {font-size:20px;color:#816439;opacity:.4;transition:opacity .3s,transform .3s;}
.label-story-item.is-active .label-item-symbol {opacity:1;transform:rotate(45deg);}
.label-story-item:after {content:'';position:absolute;left:0;right:0;bottom:-1px;height:2px;background:#8a6631;transform:scaleX(0);transform-origin:left;}
.label-story-item.is-active:after {transform:scaleX(1);}
.label-section[data-playing="true"] .label-story-item.is-active:after {animation:label-progress 6s linear both;}
.label-controls {display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:14px;min-height:44px;}
.label-controls p {font-size:9px;color:#6b604d;}
.label-stage-header button {font-family:var(--sans);font-size:9px;line-height:1.6;color:#624a29;min-height:44px;padding:10px 0;border:0;background:none;text-decoration:underline;text-underline-offset:4px;cursor:pointer;white-space:nowrap;}
.label-stage-header button[hidden] {display:none;}
@keyframes label-draw {from {stroke-dashoffset:1;}to {stroke-dashoffset:0;}}
@keyframes label-pulse {0% {opacity:.8;transform:scale(.85);}100% {opacity:0;transform:scale(2);}}
@keyframes label-progress {from {transform:scaleX(0);}to {transform:scaleX(1);}}

.post-frame {position:relative;overflow:hidden;background:#241c10;}
.post-frame img {position:absolute;width:100%;max-width:none;height:100%;object-fit:cover;left:0;top:0;}
.post-frame--serve {aspect-ratio:1;}
.post-frame--serve img {top:0;}
.post-frame--encontros,.post-frame--amparo {aspect-ratio:3 / 4;}
.post-frame--encontros img {top:0;}
.post-frame--amparo img {top:0;}
.ritual-intro>p:not(.eyebrow) {max-width:340px;}
.ritual-art {margin:28px 0 0;max-width:330px;}
.ritual-art figcaption {font-size:9px;color:var(--muted);margin-top:10px;}
.ritual-steps p {max-width:320px;}
.moments-section {display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:30px;align-items:start;padding-top:30px;}
.moments-intro {padding-top:22px;}
.moments-intro .eyebrow {font-size:9px;margin-bottom:22px;}
.moments-intro h2 {font-size:clamp(29px,3vw,43px);letter-spacing:-1.4px;line-height:1.2;}
.moments-intro>p:not(.eyebrow) {font-size:12px;line-height:1.9;color:var(--muted);margin-top:25px;max-width:300px;}
.moments-intro .text-link {font-size:12px;color:var(--gold);margin-top:19px;max-width:270px;}
.moment-card {margin:0;min-width:0;}
.moment-card--offset {margin-top:60px;}
.moment-card figcaption {font-family:var(--serif);font-size:19px;line-height:1.5;margin-top:20px;}
.moment-card figcaption>span {display:block;font-family:var(--sans);text-transform:uppercase;font-size:8px;letter-spacing:1.7px;color:var(--gold);margin-bottom:9px;}
@media(max-width:1100px) {
  .label-section {padding-block:70px;}
  .label-inner {column-gap:5%;}
  .label-window {width:min(320px,100%);}
  .label-heading h2 {font-size:43px;}
  .label-heading>p:last-child {font-size:12px;}
  .label-story-item {gap:10px;padding-block:17px;}
  .label-story-item strong {font-size:21px;}
  .label-story-item strong+span {font-size:10px;}
  .label-controls {gap:9px;}
  .label-controls p {font-size:8px;}
  .moments-section {gap:22px;}
  .moment-card figcaption {font-size:17px;}
}
@media(max-width:760px) {
  .header nav {gap:16px;margin-right:16px;}
  .header nav a:nth-child(n+3) {display:none;}
  .label-section {padding:55px 0;}
  .label-inner {display:flex;flex-direction:column;gap:0;}
  .label-heading h2 {font-size:40px;}
  .label-heading .eyebrow {font-size:9px;}
  .label-heading>p:last-child {font-size:12px;margin-top:20px;}
  .label-figure {width:100%;margin-top:30px;}
  .label-stage {padding:20px 15px;}
  .label-window {width:min(300px,100%);}
  .label-stage-caption {font-size:8px;}
  .label-scene-footer p {font-size:9px;}
  .label-explorer {width:100%;margin-top:32px;}
  .label-story-item {padding:19px 10px 19px 5px;grid-template-columns:22px 1fr 18px;gap:12px;}
  .label-story-item strong {font-size:23px;}
  .label-story-item strong+span {font-size:12px;max-width:none;}
  .label-controls p {font-size:9px;}
  .ritual-art {max-width:100%;}
  .ritual-steps p {max-width:400px;}
  .moments-section {grid-template-columns:1fr 1fr;gap:35px 18px;padding-top:0;}
  .moments-intro {grid-column:1 / -1;padding-top:0;}
  .moments-intro h2 {font-size:40px;}
  .moments-intro>p:not(.eyebrow) {max-width:460px;}
  .moments-intro .text-link {max-width:100%;}
  .moment-card--offset {margin-top:36px;}
  .moment-card figcaption {font-size:16px;margin-top:15px;}
  .moment-card figcaption>span {font-size:7px;letter-spacing:1px;}
}
@media(max-width:420px) {
  .label-stage {padding-inline:12px;}
  .label-heading h2 {font-size:36px;}
  .label-story-item strong+span {font-size:11px;}
  .label-controls {flex-wrap:wrap;gap:0;}
  .label-controls p {width:100%;}
  .moments-intro h2 {font-size:36px;}
  .moment-card figcaption {font-size:15px;}
}

/* Touch exploration keeps the five targets still while the artwork zooms.
   The full text list above remains the fallback when JavaScript is disabled. */
@media(max-width:760px) {
  .label-section.is-enhanced .label-explorer {display:none;}
  .label-section.is-enhanced .label-touch-hint {display:block;width:100%;font-size:10px;color:#624a29;margin-top:7px;}
  .label-section.is-enhanced .label-stage {padding:19px 14px 14px;}
  .label-section.is-enhanced .label-stage-header {margin-bottom:14px;}
  .label-section.is-enhanced .label-window {width:min(340px,100%);height:clamp(300px,52svh,430px);aspect-ratio:auto;}
  .label-section.is-enhanced .label-canvas {
    inset:auto 0 auto;
    top:50%;
    height:auto;
    aspect-ratio:360 / 710;
    translate:0 -60.56%;
    transform:scale(1);
    transition:transform 950ms cubic-bezier(.2,.65,.3,1),transform-origin 950ms cubic-bezier(.2,.65,.3,1);
  }
  .label-section.is-enhanced[data-exploring="true"] .label-canvas {transform:scale(1.28);}
  .label-section.is-enhanced .label-traces path {display:none;}
  .label-section.is-enhanced .label-traces {pointer-events:none;}
  .label-section.is-enhanced .label-scene-footer {display:none;}
  .label-section.is-enhanced .label-hotspots {display:block;position:absolute;inset:0;pointer-events:none;}
  .label-hotspot {
    position:absolute;
    display:grid;
    place-items:center;
    width:44px;
    height:44px;
    padding:0;
    border:1px solid #76532c;
    border-radius:50%;
    background:#f9f2e3f5;
    color:#624a29;
    font:600 12px var(--sans);
    letter-spacing:.5px;
    box-shadow:0 3px 16px #2d1b0d30;
    transform:translate(-50%,-50%);
    transition:background .3s,color .3s,box-shadow .3s;
    cursor:pointer;
    pointer-events:auto;
    touch-action:manipulation;
  }
  .label-hotspot[data-label-hotspot="0"] {left:13%;top:36.5%;}
  .label-hotspot[data-label-hotspot="1"] {left:87%;top:20.2%;}
  .label-hotspot[data-label-hotspot="2"] {left:87%;top:45.2%;}
  .label-hotspot[data-label-hotspot="3"] {left:13%;top:66.3%;}
  .label-hotspot[data-label-hotspot="4"] {left:87%;top:88%;}
  .label-hotspot:hover,.label-hotspot.is-active {background:#76532c;color:#fff8eb;box-shadow:0 0 0 5px #f2ecdf55,0 3px 15px #2d1b0d40;}
  .label-hotspot:focus-visible,#label-reset:focus-visible {outline:3px solid #76532c;outline-offset:4px;}
  .label-section.is-enhanced .label-detail-card {display:block;text-align:left;padding:21px 20px 12px;border:1px solid #b7a786;border-top:0;background:#f8f3e9;}
  .label-detail-card>.eyebrow {color:#76532c;font-size:9px;letter-spacing:1.6px;}
  .label-detail-card h3 {font-size:27px;margin-top:10px;line-height:1.2;}
  #label-card-description {color:#575348;font-size:12px;line-height:1.8;margin-top:12px;min-height:65px;}
  #label-reset {display:inline-flex;align-items:center;gap:12px;font-size:10px;line-height:1.5;min-height:44px;padding:8px 0;margin-top:3px;background:none;border:0;color:#624a29;cursor:pointer;text-decoration:underline;text-underline-offset:4px;}
  #label-reset>span {font-size:18px;}
  #label-reset[hidden] {display:none;}
}

/* Native picture elements retain the existing composition at every size. */
.brand picture,.gift-scene>picture {display:block;}
.hero-art>picture {display:block;position:relative;}
.product-visual>picture {width:100%;display:flex;justify-content:center;align-items:center;}
.gift-bottle-layer>picture {display:contents;}
.label-canvas>picture {display:block;width:100%;height:100%;}
.mobile-navigation {display:none;}
.gift-retry {font:inherit;font-size:12px;min-height:44px;color:#624a29;padding:8px 0;border:0;background:none;cursor:pointer;text-decoration:underline;text-underline-offset:4px;}
.gift-retry[hidden] {display:none;}
.gift-section .gift-retry:focus-visible {outline-color:#76532c;}

/* Reading and touch targets: small captions remain secondary to readable copy. */
.header nav a {font-size:13px;min-height:44px;}
.hero-description {font-size:16px;line-height:1.8;}
.section-heading>p,.product-copy>p:not(.eyebrow),.gift-content>p:not(.eyebrow):not(.gift-status) {font-size:15px;line-height:1.85;}
.product-copy>p:not(.eyebrow) {min-height:84px;}
.product-badge,.image-caption {font-size:10px;}
.product-copy .text-link,.moments-intro .text-link {font-size:14px;}
.collection-note,.gift-status,.gift-selector legend {font-size:12px;}
.radio-options span {font-size:13px;min-height:44px;align-items:center;}
.ritual-intro>p:not(.eyebrow),.ritual-steps p,.moments-intro>p:not(.eyebrow),.order-intro>p:not(.eyebrow),.order-steps p {font-size:14px;line-height:1.85;}
.order-steps h3 {font-size:14px;}
.faq summary {font-size:14px;min-height:52px;}
.faq details p {font-size:14px;line-height:1.8;}
.catalog-link {font-size:12px;min-height:36px;padding-block:7px;}
.footer-bottom {font-size:11px;}
.label-figure>figcaption,.ritual-art figcaption {font-size:11px;}

@media(max-width:760px) {
  html {scroll-padding-bottom:100px;}
  :is(a,button,summary,input):focus-visible {scroll-margin-block:85px;}
  .header {z-index:20;}
  .header>nav {display:none;}
  .mobile-navigation {display:block;margin-left:auto;margin-right:12px;}
  .mobile-navigation summary {display:flex;align-items:center;gap:7px;list-style:none;cursor:pointer;min-height:44px;padding:9px 7px;font-size:12px;color:var(--gold);}
  .mobile-navigation summary::-webkit-details-marker {display:none;}
  .header .mobile-navigation nav {position:absolute;top:calc(100% + 8px);right:0;z-index:30;display:flex;flex-direction:column;gap:0;width:min(420px,100%);margin:0;padding:12px 20px;background:#151512;border:1px solid #6d6044;box-shadow:0 18px 35px #0005;}
  .header .mobile-navigation nav a {display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:48px;padding:12px 0;font-size:14px;border-bottom:1px solid var(--line);}
  .header .mobile-navigation nav a:last-child {display:flex;border:0;}
  .header .mobile-navigation nav a:nth-child(n+3) {display:flex;}
  .header .mobile-navigation:not([open])>nav {display:none;}
  .header .mobile-navigation nav {max-height:calc(100svh - 120px);overflow-y:auto;}
  .hero-description {font-size:15px;}
  .hero-specs {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));text-align:center;}
  .hero-specs>span,.hero-specs>span:first-child,.hero-specs>span:last-child {padding:0 4px;}
  .hero-specs strong {font-size:14px;}
  .hero-specs small {font-size:11px;line-height:1.6;}
  .section-heading>p,.product-copy>p:not(.eyebrow),.gift-content>p:not(.eyebrow):not(.gift-status) {font-size:14px;}
  .product-copy>p:not(.eyebrow) {min-height:0;}
  .collection-note {font-size:12px;}
  .gift-status {font-size:12px;}
  .ritual-intro>p:not(.eyebrow),.ritual-steps p,.moments-intro>p:not(.eyebrow),.order-intro>p:not(.eyebrow),.order-steps p {font-size:14px;}
  .faq summary,.faq details p {font-size:14px;}
  .footer-bottom {font-size:11px;}
  .mobile-order>span {font-size:14px;}
  .mobile-order>.button {flex-shrink:0;font-size:12px;}
  .label-story-item strong+span,#label-card-description {font-size:13px;line-height:1.8;}
  .label-figure>figcaption {font-size:11px;}
}
