@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800&family=Manrope:wght@400;500;600;700&display=swap');

:root {
  --ink:#101612;
  --forest:#142019;
  --forest2:#1a2a20;
  --bone:#f1ede3;
  --bone2:#e4ded1;
  --orange:#e76635;
  --lime:#a8ba63;
  --cream:#faf5ea;
  --muted:#606a62;
  --max:1360px;
}
*{box-sizing:border-box}

:focus-visible{
  outline:2px solid var(--orange);
  outline-offset:4px;
}
a,button{-webkit-tap-highlight-color:transparent}

html{scroll-behavior:smooth}
section[id]{scroll-margin-top:110px}
body{margin:0;background:var(--bone);color:var(--ink);font-family:Manrope,Arial,sans-serif;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit}
img{max-width:100%;display:block}
.shell{width:min(var(--max),calc(100% - 64px));margin:auto}
.display{font-family:"Barlow Condensed","Arial Narrow",sans-serif;text-transform:uppercase;letter-spacing:-.035em;line-height:.84;margin:0}
.eyebrow{font-size:.71rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 20px;border:1px solid currentColor;border-radius:999px;font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;transition:.24s}
.btn:hover{transform:translateY(-2px)}
.btn.fill{background:var(--cream);border-color:var(--cream);color:var(--ink)}

/* HERO */
.hero{min-height:100svh;color:var(--cream);position:relative;isolation:isolate;overflow:hidden}
.hero-bg{position:absolute;inset:0;background:url('/assets/images/hero-pudu-v3.webp') 65% 52%/cover no-repeat;z-index:-4}
}
.hero-overlay{position:absolute;inset:0;z-index:-3;background:
linear-gradient(90deg,rgba(7,13,9,.88) 0%,rgba(7,13,9,.62) 37%,rgba(7,13,9,.15) 70%,rgba(7,13,9,.06)),
linear-gradient(0deg,rgba(7,13,9,.58),transparent 44%)}
.grain{position:absolute;inset:0;z-index:-2;opacity:.075;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.48'/%3E%3C/svg%3E")}
nav{height:132px;padding-top:16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.15)}
.logo img{width:170px}
.navlinks{display:flex;align-items:center;gap:34px;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.navlinks a{opacity:.83}
.navlinks a:hover{opacity:1}
.navpill{padding:13px 17px;border:1px solid rgba(255,255,255,.42);border-radius:999px;opacity:1!important}
.hero-content{min-height:calc(100svh - 132px);display:flex;align-items:center;padding:62px 0 106px}
.hero-copy{max-width:825px}
.kicker{display:flex;align-items:center;gap:12px;margin-bottom:26px}
.kicker:before{content:"";width:34px;height:2px;background:var(--orange)}
.hero h1{font-size:clamp(5.2rem,9.4vw,10.4rem)}
.hero h1{line-height:.86;letter-spacing:-.03em}
.hero h1 span{display:block;color:var(--orange);margin-top:.05em;padding-left:.10em}
.hero-sub{max-width:480px;margin:29px 0 31px;color:rgba(250,245,234,.78);font-size:1rem;line-height:1.7}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.scroll{position:absolute;right:32px;bottom:28px;display:flex;align-items:center;gap:12px;font-size:.62rem;letter-spacing:.17em;text-transform:uppercase;color:rgba(255,255,255,.62)}
.scroll i{width:44px;height:1px;background:rgba(255,255,255,.48)}

/* TRANSITION MANIFESTO */
.transition-manifesto{
  background:var(--bone);
  color:var(--ink);
  padding:92px 0 102px;
  border-bottom:1px solid #c7c1b5;
}
.transition-inner{
  display:grid;
  grid-template-columns:.42fr 1.58fr;
  gap:80px;
  align-items:start;
}
.transition-meta{
  padding-top:11px;
  color:#697269;
}
.transition-main{
  position:relative;
}
.transition-main h2{
  font-size:clamp(4.7rem,8.6vw,9.8rem);
  max-width:980px;
}
.transition-main h2 span{
  display:block;
  color:var(--orange);
}
.transition-foot{
  margin-top:34px;
  display:flex;
  justify-content:space-between;
  gap:30px;
  padding-top:22px;
  border-top:1px solid #bdb6aa;
  align-items:center;
}
.transition-foot p{
  margin:0;
  font-size:.74rem;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.transition-foot small{
  color:#4d574f;
  font-size:.92rem;
  line-height:1.55;
  max-width:430px;
  text-align:right;
  font-weight:600;
}

/* MANIFESTO */
.manifesto{
  position:relative;
  padding:132px 0 142px;
  background:linear-gradient(180deg,#f1ede4 0%,#e8e2d6 100%);
  overflow:hidden;
}
.manifesto-bg{
  position:absolute;
  inset:-8%;
  background:
    radial-gradient(circle at 50% 24%,rgba(255,255,255,.64),rgba(255,255,255,0) 38%),
    url('../images/origin-malalcura-atardecer.webp') center 40%/cover no-repeat;
  opacity:.17;
  transform:scale(1.13);
  filter:blur(32px) saturate(.72);
  pointer-events:none;
}
.manifesto-shade{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(241,237,228,.76),rgba(241,237,228,.90));
  pointer-events:none;
}
.manifesto > .shell{position:relative;z-index:2}
.manifesto-center{
  text-align:center;
  max-width:980px;
  margin:0 auto 56px;
}
.manifesto-center h2{
  font-size:clamp(4.8rem,8.2vw,9rem);
  max-width:900px;
  margin:14px auto 0;
}
.manifesto-center p{
  max-width:660px;
  margin:22px auto 0;
  font-size:1.03rem;
  line-height:1.78;
  color:#526057;
}

.origin-feature,
.origin-small{
  position:relative;
  overflow:hidden;
  background:#d7d2c8;
  box-shadow:0 20px 56px rgba(22,28,23,.10);
}
.origin-feature{
  max-width:1120px;
  min-height:610px;
  margin:0 auto;
  border-radius:24px;
}
.origin-secondary{
  max-width:940px;
  margin:18px auto 0;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.origin-small{
  min-height:290px;
  border-radius:20px;
  box-shadow:0 16px 42px rgba(22,28,23,.08);
}

.origin-slider .origin-slide{
  position:absolute;
  inset:0;
  opacity:0;
  transition:opacity 1.1s ease;
}
.origin-slider .origin-slide.active{opacity:1}
.origin-slider img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.origin-feature .origin-slide:nth-child(1) img{object-position:center center}
.origin-feature .origin-slide:nth-child(2) img{object-position:center 38%}
.origin-feature .origin-slide:nth-child(3) img{object-position:center 46%}
.origin-small.laguna .origin-slide:nth-child(1) img{object-position:center center}
.origin-small.laguna .origin-slide:nth-child(2) img{object-position:center center}
.origin-small.rio .origin-slide:nth-child(1) img{object-position:center 42%}
.origin-small.rio .origin-slide:nth-child(2) img{object-position:center 46%}

.origin-feature:after,
.origin-small:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,rgba(8,13,10,.48),rgba(8,13,10,.02) 58%);
}
.origin-feature-copy,
.origin-small-copy{
  position:absolute;
  z-index:3;
  color:white;
}
.origin-feature-copy{
  left:28px;
  right:28px;
  bottom:26px;
}
.origin-feature-copy strong{
  display:block;
  font-family:"Barlow Condensed",sans-serif;
  text-transform:uppercase;
  font-size:3.4rem;
  line-height:.94;
}
.origin-feature-copy span{
  display:block;
  margin-top:7px;
  font-size:.68rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(255,255,255,.82);
}
.origin-small-copy{
  left:22px;
  right:22px;
  bottom:20px;
}
.origin-small-copy strong{
  display:block;
  font-family:"Barlow Condensed",sans-serif;
  text-transform:uppercase;
  font-size:2.35rem;
  line-height:.95;
}
.origin-small-copy span{
  display:block;
  margin-top:6px;
  font-size:.65rem;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:rgba(255,255,255,.80);
}

.origin-dots{
  position:absolute;
  z-index:3;
  right:20px;
  bottom:18px;
  display:flex;
  gap:6px;
}
.origin-feature .origin-dots{bottom:22px}
.origin-dot{
  width:7px;
  height:7px;
  border-radius:999px;
  background:rgba(255,255,255,.34);
  transition:all .28s ease;
}
.origin-dot.active{
  width:20px;
  background:var(--orange);
}

.origin-footnote{
  max-width:940px;
  margin:24px auto 0;
  display:grid;
  grid-template-columns:1fr auto;
  gap:14px 30px;
  align-items:start;
  color:#667168;
  font-size:.67rem;
  line-height:1.6;
}
.origin-footnote span:last-child{text-align:right}
.origin-credit{
  grid-column:1 / -1;
  color:#6b726d;
}
.origin-credit a{
  color:#111713;
  text-decoration:none;
  font-weight:700;
  border-bottom:1px solid rgba(17,23,19,.22);
}

/* PHOTO BREAK */
.photo-break{
  background:linear-gradient(180deg,#0d1410 0%,#101913 100%);
  color:var(--cream);
  padding:124px 0 132px;
}
.photo-break-head{
  text-align:center;
  max-width:860px;
  margin:0 auto 54px;
}
.photo-break-head h2{
  font-size:clamp(4.5rem,7.6vw,8.2rem);
  max-width:860px;
  margin:12px auto 0;
}
.photo-break-head p{
  max-width:620px;
  margin:22px auto 0;
  line-height:1.75;
  color:#bcc5bd;
  font-size:1.03rem;
}
.photo-break-grid{
  display:grid;
  grid-template-columns:1.18fr .82fr;
  gap:18px;
  align-items:stretch;
}
.photo-feature{
  position:relative;
  min-height:660px;
  overflow:hidden;
  border-radius:22px;
  background:#1a241d;
  box-shadow:0 20px 56px rgba(0,0,0,.22);
}
.photo-feature img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}
.photo-side{
  display:grid;
  grid-template-rows:1fr 1fr;
  gap:18px;
}
.photo-card{
  position:relative;
  min-height:320px;
  overflow:hidden;
  border-radius:22px;
  background:#1a241d;
  box-shadow:0 20px 56px rgba(0,0,0,.18);
}
.photo-card img{
  position:absolute;
  inset:14px;
  width:calc(100% - 28px);
  height:calc(100% - 28px);
  object-fit:contain;
  object-position:center center;
}
.photo-feature:after,.photo-card:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,rgba(8,13,10,.62),rgba(8,13,10,.04) 58%);
}
.photo-label{
  position:absolute;
  left:24px;
  right:24px;
  bottom:22px;
  z-index:2;
}
.photo-label strong{
  display:block;
  font-family:"Barlow Condensed",sans-serif;
  font-size:2.7rem;
  text-transform:uppercase;
  line-height:.94;
}
.photo-label span{
  display:block;
  margin-top:6px;
  font-size:.67rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(255,255,255,.78);
}
.photo-break-foot{
  display:flex;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
  margin-top:28px;
  font-size:.71rem;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#8d968e;
}
.photo-break-foot b{color:var(--orange)}

/* BEER EXPLORER */
.beers{background:var(--forest);color:var(--cream);padding:128px 0 140px}
.beers-intro{display:grid;grid-template-columns:1fr .62fr;gap:80px;align-items:end;margin-bottom:64px}
.beers-intro h2{font-size:clamp(4.7rem,7.6vw,8.5rem)}
.beers-intro p{line-height:1.75;color:#b8c0b8;max-width:440px}
.explorer{display:grid;grid-template-columns:250px 1fr;border-top:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18)}
.beer-menu{border-right:1px solid rgba(255,255,255,.18);padding:22px 24px 22px 0}
.beer-tab{
  width:100%;
  position:relative;
  background:none;
  border:0;
  color:#7f8a82;
  text-align:left;
  padding:16px 0;
  cursor:pointer;
  border-bottom:1px solid rgba(255,255,255,.08);
  transition:color .22s ease,padding .22s ease,background .22s ease;
}
.beer-tab:before{
  content:"";
  position:absolute;
  left:0;
  top:14px;
  bottom:14px;
  width:3px;
  border-radius:999px;
  background:var(--tab-accent,var(--orange));
  transform:scaleY(0);
  opacity:0;
  transition:transform .22s ease,opacity .22s ease;
}
.beer-tab:hover{color:#d6ddd7}
.beer-tab.active:before{transform:scaleY(1);opacity:1}
.beer-tab strong{display:block;font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-size:2.2rem;letter-spacing:-.02em;line-height:1}
.beer-tab small{font-size:.64rem;letter-spacing:.14em;text-transform:uppercase}
.beer-tab.active{color:var(--cream);padding-left:13px}
.beer-tab.ginger{background:rgba(232,139,168,.08)}
.beer-tab.ginger.active{background:rgba(232,139,168,.18);box-shadow:inset 0 0 0 1px rgba(232,139,168,.22)}
.beer-stage{min-height:720px;display:grid;grid-template-columns:1.1fr .9fr;position:relative;overflow:hidden;transition:background .35s;background:linear-gradient(135deg, rgba(255,255,255,.02), rgba(255,255,255,.00) 35%), var(--forest2)}
.beer-image-wrap{
  min-height:720px;
  position:relative;
  overflow:hidden;
  background:#1a261f;
}
.beer-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:var(--beer-pos, center center);
  transition:opacity .28s,transform .55s;
  transform:scale(1);
}
.beer-stage.switching .beer-image{opacity:.15;transform:scale(1.015)}
.beer-image-wrap:after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(20,32,25,.08) 0%, rgba(20,32,25,.02) 48%, rgba(20,32,25,.55) 100%),
    linear-gradient(0deg, rgba(10,16,12,.18), rgba(10,16,12,.02) 42%);
  pointer-events:none;
}
.beer-info{padding:66px 56px;display:flex;flex-direction:column;justify-content:flex-end;position:relative}
.beer-info > *:not(.beer-number){
  transition:opacity .22s ease,transform .22s ease;
}
.beer-stage.switching .beer-info > *:not(.beer-number){
  opacity:.34;
  transform:translateY(5px);
}
.beer-number{position:absolute;right:50px;top:38px;font-family:"Barlow Condensed",sans-serif;font-size:7rem;line-height:1;color:rgba(255,255,255,.07)}
.beer-info h3{font-size:clamp(5.2rem,8vw,8.4rem);margin-bottom:8px}
.beer-style{font-size:.76rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--beer-accent,var(--orange));margin-bottom:18px}
.beer-facts-top{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:22px}
.beer-pill{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border:1px solid rgba(255,255,255,.22);border-radius:999px;font-size:.66rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:#d9dfda}
.beer-pill.abv{background:var(--beer-accent,var(--orange));border-color:var(--beer-accent,var(--orange));color:#101612}
.beer-pill.muted{color:#d9dfda;border-color:rgba(255,255,255,.16);background:rgba(255,255,255,.045);text-transform:none;letter-spacing:.035em;font-weight:600}
.beer-info p{color:#c4ccc5;line-height:1.65;max-width:455px;margin:0 0 30px;font-size:1.02rem}
.beer-meta{display:flex;gap:34px;padding-top:23px;border-top:1px solid rgba(255,255,255,.17);font-size:.65rem;letter-spacing:.13em;text-transform:uppercase;color:#8e9991}
.beer-meta b{color:var(--cream);display:block;margin-top:6px;font-size:.78rem}
.beer-progress{margin-top:32px;height:2px;background:rgba(255,255,255,.13);position:relative}
.beer-progress i{display:block;height:100%;background:var(--beer-accent,var(--orange));width:100%;transition:transform .3s;transform-origin:left;transform:scaleX(.2)}

/* STORY */
.story{
  background:var(--bone);
  padding:136px 0 142px;
}
.story-intro{
  display:grid;
  grid-template-columns:.72fr 1.28fr;
  gap:90px;
  align-items:end;
  margin-bottom:70px;
}
.story-intro h2{
  font-size:clamp(5.2rem,8.6vw,9.4rem);
}
.story-intro-copy{
  padding-bottom:7px;
}
.story-intro-copy p{
  font-size:1.08rem;
  line-height:1.8;
  color:#4f5a52;
  max-width:590px;
  margin:18px 0 0;
}
.story-layout{
  display:grid;
  grid-template-columns:1.02fr .98fr;
  gap:22px;
  align-items:stretch;
}
.story-portrait{
  position:relative;
  min-height:760px;
  overflow:hidden;
  border-radius:22px;
  background:#c9c3b7;
}
.story-portrait img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 42%;
}
.story-portrait:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,rgba(9,13,10,.62),rgba(9,13,10,.02) 55%);
}
.story-portrait-copy{
  position:absolute;
  z-index:2;
  left:28px;
  right:28px;
  bottom:26px;
  color:white;
}
.story-portrait-copy strong{
  display:block;
  font-family:"Barlow Condensed",sans-serif;
  text-transform:uppercase;
  font-size:3rem;
  line-height:.95;
}
.story-portrait-copy span{
  display:block;
  margin-top:7px;
  font-size:.68rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(255,255,255,.78);
}
.story-right{
  display:grid;
  grid-template-rows:auto 1fr;
  gap:22px;
}
.story-principles{
  background:var(--forest);
  color:var(--cream);
  border-radius:22px;
  padding:42px 40px 36px;
}
.story-principles .eyebrow{
  color:#aab4ac;
}
.story-principle{
  display:grid;
  grid-template-columns:56px 1fr;
  gap:18px;
  padding:22px 0;
  border-top:1px solid rgba(255,255,255,.13);
}
.story-principle:first-of-type{
  margin-top:18px;
}
.story-principle .num{
  font-family:"Barlow Condensed",sans-serif;
  font-size:1.9rem;
  color:var(--orange);
}
.story-principle h3{
  margin:0 0 7px;
  font-family:"Barlow Condensed",sans-serif;
  text-transform:uppercase;
  font-size:2rem;
  line-height:1;
}
.story-principle p{
  margin:0;
  color:#aeb8b0;
  line-height:1.65;
  font-size:.92rem;
}
.story-moments{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
}
.story-moment{
  position:relative;
  min-height:300px;
  overflow:hidden;
  border-radius:22px;
  background:#d0cabf;
}
.story-moment img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.story-moment:first-child img{object-position:center center}
.story-moment:last-child img{object-position:center 44%}
.story-moment:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,rgba(8,13,10,.55),rgba(8,13,10,.04) 60%);
}
.story-moment span{
  position:absolute;
  z-index:2;
  left:20px;
  bottom:18px;
  color:white;
  font-size:.66rem;
  letter-spacing:.13em;
  text-transform:uppercase;
  font-weight:700;
}
.story-signoff{
  display:flex;
  justify-content:space-between;
  gap:30px;
  align-items:center;
  margin-top:34px;
  padding-top:22px;
  border-top:1px solid #c3bdb1;
}
.story-signoff p{
  margin:0;
  max-width:650px;
  color:#626c64;
  line-height:1.7;
  font-size:.93rem;
}


/* STORE MAP */
.points{
  background:var(--bone);
  color:var(--ink);
  padding:126px 0 134px;
}
.points-head{
  display:grid;
  grid-template-columns:1fr .58fr;
  gap:80px;
  align-items:end;
  margin-bottom:46px;
}
.points-head h2{
  font-size:clamp(4.8rem,7.8vw,8.7rem);
}
.points-head p{
  margin:0;
  max-width:470px;
  color:#566159;
  font-size:1.02rem;
  line-height:1.75;
}
.points-toolbar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:22px;
  margin-bottom:18px;
}
.points-filters{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.point-filter{
  appearance:none;
  border:1px solid #c9c2b6;
  background:transparent;
  color:#455049;
  border-radius:999px;
  min-height:42px;
  padding:9px 15px;
  font-family:"Manrope",sans-serif;
  font-size:.65rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  cursor:pointer;
  transition:.2s ease;
}
.point-filter:hover,
.point-filter.active{
  border-color:var(--orange);
  background:var(--orange);
  color:#121713;
}
.demo-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:.61rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#7d857f;
  white-space:nowrap;
}
.demo-badge:before{
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--orange);
}
.points-shell{
  display:grid;
  grid-template-columns:minmax(0,1.5fr) minmax(290px,.5fr);
  min-height:590px;
  border-radius:24px;
  overflow:hidden;
  background:#d9d4ca;
  border:1px solid #d2ccc0;
}
#malalcuraMap{
  min-height:590px;
  width:100%;
  background:#d5d8cf;
}
.points-panel{
  background:#111a14;
  color:var(--cream);
  padding:34px 30px 28px;
  display:flex;
  flex-direction:column;
  min-width:0;
}

.points-media{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  margin:20px 0 0;
  border-radius:16px;
  overflow:hidden;
  background:linear-gradient(135deg,#1d2a21,#27382c);
  border:1px solid rgba(255,255,255,.08);
  display:none;
}
.points-media.visible{display:block}
.points-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  opacity:0;
  transition:opacity .35s ease;
}
.points-media img.loaded{opacity:1}
.points-media:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.035);
}
.points-type{
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  margin-top:10px;
  padding:6px 9px;
  border-radius:999px;
  background:rgba(255,255,255,.065);
  color:#aab5ac;
  font-size:.58rem;
  font-weight:700;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.points-social{
  display:none;
  align-items:center;
  gap:7px;
  margin-top:13px;
  color:#d6ddd7;
  font-size:.67rem;
  font-weight:700;
  letter-spacing:.04em;
  text-decoration:none;
}
.points-social.visible{display:inline-flex}
.points-social:hover{color:var(--orange)}

.points-panel-kicker{
  color:#8d988f;
  font-size:.62rem;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.points-panel h3{
  margin:16px 0 8px;
  font-family:"Barlow Condensed",sans-serif;
  font-size:3.4rem;
  line-height:.92;
  text-transform:uppercase;
  letter-spacing:-.02em;
}
.points-region{
  color:var(--orange);
  font-size:.67rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.points-address{
  margin:28px 0 0;
  padding-top:25px;
  border-top:1px solid rgba(255,255,255,.12);
  color:#b0bab2;
  line-height:1.7;
  font-size:.9rem;
}
.points-note{
  color:#727d75;
  font-size:.72rem;
  line-height:1.65;
  margin-top:12px;
}
.points-actions{
  display:grid;
  gap:9px;
  margin-top:auto;
  padding-top:32px;
}
.points-actions a,
.points-actions button{
  min-height:48px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-radius:999px;
  padding:10px 18px;
  border:1px solid rgba(255,255,255,.18);
  color:var(--cream);
  background:transparent;
  font-family:"Manrope",sans-serif;
  text-decoration:none;
  font-size:.65rem;
  font-weight:700;
  letter-spacing:.09em;
  text-transform:uppercase;
  cursor:pointer;
}
.points-actions a:first-child{
  background:var(--orange);
  color:#111713;
  border-color:var(--orange);
}
.points-actions a:hover,
.points-actions button:hover{
  transform:translateY(-1px);
}
.points-foot{
  display:flex;
  justify-content:space-between;
  gap:30px;
  margin-top:22px;
  color:#6d776f;
  font-size:.67rem;
  line-height:1.65;
}
.points-foot span:last-child{
  text-align:right;
}

/* Leaflet brand treatment */
.leaflet-container{
  font-family:"Manrope",sans-serif;
}
.leaflet-control-attribution{
  font-size:9px!important;
}
.malalcura-marker{
  background:transparent;
  border:0;
}
.malalcura-pin{
  position:relative;
  width:46px;
  height:46px;
  border-radius:18px;
  background:linear-gradient(180deg,#fff6f3 0%, #f2dfd8 100%);
  border:2px solid #111713;
  display:grid;
  place-items:center;
  box-shadow:0 10px 22px rgba(0,0,0,.22);
}
.malalcura-pin:after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-10px;
  width:14px;
  height:14px;
  background:#f2dfd8;
  border-right:2px solid #111713;
  border-bottom:2px solid #111713;
  transform:translateX(-50%) rotate(45deg);
  border-bottom-right-radius:3px;
}
.malalcura-hand{
  position:relative;
  font-size:1.2rem;
  line-height:1;
  transform:translateY(1px);
}
.malalcura-heart{
  position:absolute;
  top:6px;
  right:6px;
  font-size:.76rem;
  line-height:1;
  color:#e88ba8;
  text-shadow:0 1px 0 rgba(255,255,255,.65);
}
.leaflet-popup-content-wrapper{
  border-radius:14px;
  box-shadow:0 14px 30px rgba(0,0,0,.18);
}
.leaflet-popup-content{
  margin:13px 15px;
  font-family:"Manrope",sans-serif;
  font-size:.78rem;
  line-height:1.45;
}

/* STATEMENT */
.statement{
  background:var(--orange);
  color:#111713;
  padding:126px 0 118px;
}
.statement-top{
  display:grid;
  grid-template-columns:1fr .52fr;
  gap:84px;
  align-items:end;
  padding-bottom:58px;
}
.statement h2{
  font-size:clamp(5.2rem,9.3vw,10.3rem);
  max-width:980px;
}
.statement-copy a{
  color:inherit;
  font-weight:700;
  text-decoration:none;
  border-bottom:1px solid currentColor;
}
.statement-copy a:hover{opacity:.72}
.statement-copy p{
  font-size:1.04rem;
  line-height:1.75;
  max-width:470px;
  margin:0;
}
.contact-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  border-top:1px solid rgba(17,23,19,.28);
  padding-top:28px;
}
.contact-card{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  min-height:230px;
  padding:26px 26px 24px;
  border:1px solid rgba(17,23,19,.32);
  border-radius:20px;
  transition:.25s ease;
}
.contact-card:hover{
  transform:translateY(-4px);
  background:rgba(255,255,255,.16);
}
.contact-card span{
  font-size:.66rem;
  letter-spacing:.15em;
  text-transform:uppercase;
  font-weight:700;
  opacity:.65;
}
.contact-card strong{
  display:block;
  margin-top:auto;
  padding-top:56px;
  font-family:"Barlow Condensed",sans-serif;
  text-transform:uppercase;
  font-size:3rem;
  line-height:.92;
}
.contact-card em{
  margin-top:12px;
  font-style:normal;
  font-size:.74rem;
  font-weight:700;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.statement-signoff{
  display:flex;
  justify-content:space-between;
  gap:30px;
  margin-top:36px;
  font-size:.7rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:700;
}
.statement-signoff span:last-child{
  opacity:.62;
  text-align:right;
}

/* FOOTER */
footer{
  background:#0b120d;
  color:#d9ddd7;
  padding:70px 0 34px;
}
.footer-brand{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:70px;
  align-items:end;
  padding-bottom:54px;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.footer-logo img{
  width:190px;
}
.footer-claim{
  font-family:"Barlow Condensed",sans-serif;
  text-transform:uppercase;
  font-size:clamp(3.4rem,5.7vw,6.2rem);
  line-height:.9;
  letter-spacing:-.025em;
  text-align:right;
  color:#f1ede3;
}
.footer-nav{
  display:grid;
  grid-template-columns:1fr repeat(3,auto);
  gap:58px;
  padding:38px 0 34px;
  align-items:start;
}
.footer-origin{
  max-width:290px;
  color:#778179;
  font-size:.72rem;
  line-height:1.8;
}
.footer-col{
  font-size:.7rem;
  line-height:2;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:#89928b;
}
.footer-col strong{
  display:block;
  color:#eef0eb;
  margin-bottom:7px;
}
.footer-col a{
  color:inherit;
  text-decoration:none;
  transition:color .22s ease;
}
.footer-col a:hover,
.footer-col a:focus-visible{
  color:var(--orange);
}

.footer-bottom{
  display:flex;
  justify-content:space-between;
  gap:30px;
  padding-top:25px;
  border-top:1px solid rgba(255,255,255,.08);
  font-size:.6rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#5e6861;
}

/* Reveal */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s ease}
.reveal.visible{opacity:1;transform:none}

@media(max-width:900px){
  .transition-manifesto{padding:72px 0 78px}
  .transition-inner{grid-template-columns:1fr;gap:22px}
  .transition-main h2{font-size:clamp(4rem,17vw,6.6rem)}
  .transition-foot{display:block}
  .transition-foot small{display:block;text-align:left;margin-top:12px;max-width:100%;font-size:.9rem;line-height:1.55;font-weight:600}

  .shell{width:calc(100% - 30px)}
  nav{height:96px;padding-top:10px}
  .logo img{width:135px}
  .navlinks a:not(.navpill){display:none}
  .navpill{padding:11px 13px;font-size:.61rem}
  .hero-content{min-height:calc(100svh - 96px);align-items:flex-end;padding:48px 0 72px}
  .hero-bg{background-position:73% 50%}
  .hero h1{font-size:clamp(4.5rem,20vw,7.4rem)}
  .hero-sub{font-size:.94rem;max-width:90%}
  .scroll{right:15px;bottom:15px}
  .manifesto{padding:88px 0}
  .beers-intro,.story-head,.statement-grid{grid-template-columns:1fr;gap:42px}
  .manifesto-center h2{font-size:clamp(4rem,17vw,6.8rem)}
  .manifesto-center p{font-size:.98rem;max-width:100%}
  .manifesto-bg{opacity:.20;filter:blur(24px) saturate(.74)}
  .origin-feature{min-height:430px;border-radius:16px}
  .origin-feature-copy strong{font-size:2.7rem}
  .origin-secondary{grid-template-columns:1fr;gap:12px;margin-top:12px}
  .origin-small{min-height:250px;border-radius:16px}
  .origin-small-copy strong{font-size:2rem}
  .origin-footnote{display:block;font-size:.63rem}
  .origin-footnote span:last-child{display:block;text-align:left;margin-top:8px}
  .origin-credit{margin-top:8px}
  .photo-break{padding:88px 0 94px}
  .photo-break-head h2{font-size:clamp(4rem,17vw,6.6rem)}
  .photo-break-head p{font-size:.97rem;max-width:100%}
  .photo-break-grid{grid-template-columns:1fr;gap:12px}
  .photo-feature{min-height:430px;border-radius:16px}
  .photo-side{grid-template-rows:none;grid-template-columns:1fr;gap:12px}
  .photo-card{min-height:290px;border-radius:16px}
  .photo-label strong{font-size:2.1rem}
  .beers{padding:90px 0}
  .explorer{grid-template-columns:1fr}
  .beer-menu{display:flex;overflow:auto;border-right:0;border-bottom:1px solid rgba(255,255,255,.18);padding:0;scrollbar-width:none}
  .beer-menu::-webkit-scrollbar{display:none}
  .beer-tab{min-width:155px;padding:17px 13px;border-right:1px solid rgba(255,255,255,.1);border-bottom:0}
  .beer-tab.active{padding-left:13px}
  .beer-tab strong{font-size:1.7rem}
  .beer-stage{grid-template-columns:1fr;min-height:0}
  .beer-image-wrap{min-height:520px}
  .beer-image-wrap:after{background:linear-gradient(0deg,rgba(20,32,25,.7),transparent 45%)}
  .beer-info{padding:40px 20px 45px}
  .beer-number{right:18px;top:15px;font-size:5.4rem}
  .story{padding:92px 0}
  .story-intro{grid-template-columns:1fr;gap:34px;margin-bottom:48px}
  .story-intro h2{font-size:clamp(4.4rem,18vw,7rem)}
  .story-intro-copy p{font-size:.98rem}
  .story-layout{grid-template-columns:1fr;gap:14px}
  .story-portrait{min-height:540px;border-radius:16px}
  .story-right{gap:14px}
  .story-principles{border-radius:16px;padding:32px 22px 26px}
  .story-principle{grid-template-columns:42px 1fr;gap:12px}
  .story-principle h3{font-size:1.7rem}
  .story-moments{gap:14px}
  .story-moment{min-height:220px;border-radius:16px}
  .story-signoff{display:block}
  .story-signoff .btn{margin-top:18px}
  .statement{padding:90px 0 84px}
  .statement-top{grid-template-columns:1fr;gap:34px;padding-bottom:42px}
  .statement h2{font-size:clamp(4.7rem,20vw,7.4rem)}
  .contact-actions{grid-template-columns:1fr}
  .contact-card{min-height:200px;border-radius:16px}
  .contact-card strong{font-size:2.6rem;padding-top:42px}
  .statement-signoff{display:block;line-height:1.8}
  .statement-signoff span:last-child{display:block;text-align:left;margin-top:7px}
  footer{padding-top:56px}
  .footer-brand{grid-template-columns:1fr;gap:42px}
  .footer-claim{text-align:left;font-size:clamp(3.7rem,15vw,5.7rem)}
  .footer-nav{grid-template-columns:1fr 1fr;gap:34px}
  .footer-origin{grid-column:1 / -1}
  .footer-bottom{display:block;line-height:1.9}
}


/* MOBILE POLISH — V25 */
@media(max-width:900px){
  section[id]{scroll-margin-top:88px}

  /* Navigation + Hero */
  nav{height:88px;padding-top:8px}
  .logo img{width:124px}
  .navpill{min-height:40px;padding:9px 12px;font-size:.58rem;letter-spacing:.09em}
  .hero-content{
    min-height:calc(100svh - 88px);
    padding:44px 0 max(46px,env(safe-area-inset-bottom));
  }
  .hero-overlay{
    background:
      linear-gradient(90deg,rgba(7,13,9,.82) 0%,rgba(7,13,9,.52) 48%,rgba(7,13,9,.12) 100%),
      linear-gradient(0deg,rgba(7,13,9,.82) 0%,rgba(7,13,9,.20) 56%,rgba(7,13,9,.10) 100%);
  }
  .hero-copy{width:100%;max-width:100%}
  .kicker{margin-bottom:20px;font-size:.65rem;letter-spacing:.14em}
  .kicker:before{width:26px}
  .hero h1{
    font-size:clamp(4rem,18vw,6.35rem);
    line-height:.88;
    letter-spacing:-.028em;
    max-width:100%;
  }
  .hero h1 span{margin-top:.07em;padding-left:0}
  .hero-sub{margin:22px 0 24px;max-width:330px;font-size:.92rem;line-height:1.6}
  .hero-actions{display:grid;grid-template-columns:1fr;gap:10px;width:100%}
  .hero-actions .btn{width:100%;min-height:50px}
  .scroll{display:none}

  /* Transition */
  .transition-manifesto{padding:68px 0 72px}
  .transition-main h2{font-size:clamp(3.8rem,15.7vw,6rem);line-height:.87}
  .transition-foot{margin-top:26px;padding-top:18px}
  .transition-foot p{font-size:.67rem;line-height:1.6}
  .transition-foot small{margin-top:15px!important;font-size:.91rem!important;line-height:1.58!important}

  /* Origin */
  .manifesto{padding:80px 0 84px}
  .manifesto-center{margin-bottom:38px}
  .manifesto-center h2{font-size:clamp(3.8rem,15.8vw,6.1rem);line-height:.87}
  .manifesto-center p{margin-top:18px;line-height:1.68}
  .origin-feature{min-height:390px}
  .origin-feature-copy{left:20px;right:20px;bottom:18px}
  .origin-feature-copy strong{font-size:2.45rem}
  .origin-small{min-height:270px}
  .origin-small-copy{left:18px;right:18px;bottom:17px}
  .origin-dots{right:16px;bottom:15px}
  .origin-feature .origin-dots{bottom:18px}
  .origin-footnote{margin-top:19px;line-height:1.65}

  /* Share section */
  .photo-break{padding:80px 0 84px}
  .photo-break-head{margin-bottom:38px}
  .photo-break-head h2{font-size:clamp(3.8rem,15.8vw,6.1rem);line-height:.87}
  .photo-break-head p{margin-top:18px;line-height:1.68}
  .photo-feature{min-height:400px}
  .photo-card{min-height:430px}
  .photo-card img{inset:10px;width:calc(100% - 20px);height:calc(100% - 20px)}
  .photo-label{left:18px;right:18px;bottom:17px}
  .photo-label strong{font-size:2rem}
  .photo-break-foot{margin-top:22px;font-size:.64rem}

  /* Beer explorer */
  .beers{padding:80px 0 84px}
  .beers-intro{margin-bottom:42px}
  .beers-intro h2{font-size:clamp(4rem,16.5vw,6.4rem);line-height:.86}
  .beer-menu{
    margin-left:-15px;
    margin-right:-15px;
    padding-left:15px;
    padding-right:15px;
    scroll-snap-type:x proximity;
    overscroll-behavior-x:contain;
  }
  .beer-tab{
    min-width:142px;
    padding:15px 12px;
    scroll-snap-align:start;
  }
  .beer-tab strong{font-size:1.55rem}
  .beer-tab span{font-size:.57rem}
  .beer-image-wrap{min-height:clamp(390px,58svh,500px)}
  .beer-info{padding:32px 20px 38px}
  .beer-info h3{font-size:clamp(4rem,18vw,6.6rem);line-height:.86}
  .beer-number{font-size:4.4rem;opacity:.09}
  .beer-desc{font-size:.96rem;line-height:1.68}
  .beer-meta{gap:10px}

  /* Story */
  .story{padding:80px 0 86px}
  .story-intro{gap:26px;margin-bottom:38px}
  .story-intro h2{font-size:clamp(4rem,16.5vw,6.4rem);line-height:.86}
  .story-intro-copy p{margin-top:14px;line-height:1.68}
  .story-portrait{min-height:500px}
  .story-portrait-copy{left:20px;right:20px;bottom:20px}
  .story-portrait-copy strong{font-size:2.45rem}
  .story-principles{padding:29px 20px 24px}
  .story-principle{padding:19px 0}
  .story-principle p{line-height:1.58}
  .story-moments{grid-template-columns:1fr;gap:12px}
  .story-moment{min-height:360px}
  .story-moment:last-child img{object-position:center 48%}
  .story-signoff{margin-top:26px;padding-top:18px}
  .story-signoff p{line-height:1.65}
  .story-signoff .btn{width:100%;min-height:50px}


  /* Store map */
  .points{padding:80px 0 84px}
  .points-head{grid-template-columns:1fr;gap:24px;margin-bottom:34px}
  .points-head h2{font-size:clamp(3.9rem,16.5vw,6.3rem);line-height:.86}
  .points-head p{font-size:.96rem;line-height:1.68}
  .points-toolbar{align-items:flex-start;flex-direction:column;margin-bottom:14px}
  .points-filters{
    width:calc(100% + 28px);
    margin-left:-14px;
    padding:0 14px 2px;
    overflow-x:auto;
    flex-wrap:nowrap;
    scrollbar-width:none;
  }
  .points-filters::-webkit-scrollbar{display:none}
  .point-filter{flex:0 0 auto}
  .points-shell{grid-template-columns:1fr;min-height:0;border-radius:16px}
  #malalcuraMap{min-height:410px}

  .points-media{aspect-ratio:16/10;margin-top:17px;border-radius:14px}
  .points-panel{min-height:360px;padding:28px 22px 24px}
  .points-panel h3{font-size:3rem}
  .points-foot{display:block}
  .points-foot span:last-child{display:block;text-align:left;margin-top:7px}

  /* Closing CTA */
  .statement{padding:80px 0 76px}
  .statement-top{gap:25px;padding-bottom:34px}
  .statement h2{font-size:clamp(4rem,17.5vw,6.6rem);line-height:.86}
  .statement-copy p{line-height:1.65}
  .contact-actions{padding-top:20px;gap:12px}
  .contact-card{min-height:180px;padding:22px 20px 20px}
  .contact-card strong{font-size:2.35rem;padding-top:34px}
  .statement-signoff{margin-top:27px;padding-top:18px;font-size:.64rem}

  /* Footer */
  footer{padding:50px 0 28px}
  .footer-brand{gap:34px;padding-bottom:38px}
  .footer-logo img{width:158px}
  .footer-claim{font-size:clamp(3.35rem,14.2vw,5.2rem);line-height:.91}
  .footer-nav{padding:30px 0 28px;grid-template-columns:1fr 1fr;gap:28px 20px}
  .footer-origin{font-size:.69rem}
  .footer-col{font-size:.65rem}
  .footer-bottom{padding-top:20px;font-size:.56rem}
}

@media(max-width:420px){
  .shell{width:calc(100% - 28px)}
  .navpill{max-width:138px;text-align:center;line-height:1.2}
  .hero-bg{background-position:76% 50%}
  .hero h1{font-size:clamp(3.85rem,17.8vw,5.5rem)}
  .hero-sub{max-width:295px}
  .transition-main h2,
  .manifesto-center h2,
  .photo-break-head h2{font-size:clamp(3.55rem,15.5vw,5.2rem)}
  .beer-menu{margin-left:-14px;margin-right:-14px;padding-left:14px;padding-right:14px}
  .beer-tab{min-width:136px}
  .beer-image-wrap{min-height:400px}
  .story-portrait{min-height:470px}
  .story-moment{min-height:340px}
  .footer-nav{grid-template-columns:1fr 1fr}
}

@media (prefers-reduced-motion: reduce){

  .beer-image,.beer-info > *,.beer-tab,.contact-card,.btn{transition:none!important}

  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .reveal{opacity:1!important;transform:none!important}
}

/* MOBILE HERO — PRODUCTION V4 */
@media(max-width:900px){
  .hero{
    min-height:100svh;
    background:#101612;
  }
  .hero-bg{
    inset:0;
    background-image:url('/assets/images/hero-pudu-mobile-v4.webp');
    background-position:center center;
    background-size:cover;
    background-repeat:no-repeat;
  }
  .hero-overlay{
    background:
      linear-gradient(180deg,rgba(7,13,9,.18) 0%,rgba(7,13,9,.02) 31%,rgba(7,13,9,.30) 50%,rgba(7,13,9,.90) 100%);
  }
  nav{
    height:82px;
    padding-top:7px;
  }
  .logo img{width:108px}
  .navpill{
    min-height:38px;
    max-width:132px;
    padding:8px 10px;
    font-size:.54rem;
  }
  .hero-content{
    min-height:calc(100svh - 82px);
    align-items:flex-end;
    padding:0 0 max(28px,env(safe-area-inset-bottom));
  }
  .hero-copy{
    width:100%;
    max-width:100%;
    padding-top:43svh;
  }
  .kicker{
    margin-bottom:13px;
    font-size:.61rem;
  }
  .hero h1{
    max-width:340px;
    font-size:clamp(3.45rem,16.4vw,4.95rem);
    line-height:.88;
  }
  .hero-sub{
    margin:16px 0 18px;
    max-width:310px;
    font-size:.88rem;
    line-height:1.52;
    color:rgba(250,245,234,.86);
  }
  .hero-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
    width:100%;
  }
  .hero-actions .btn{
    min-height:47px;
    width:100%;
  }
  .scroll{display:none}
}
@media(max-width:420px){
  .hero-bg{background-position:center center}
  .hero-copy{padding-top:41svh}
  .hero h1{font-size:clamp(3.25rem,15.8vw,4.45rem)}
  .hero-sub{max-width:285px}
}


.beer-credit{
  max-width:940px;
  margin:24px auto 0;
  color:#7f8981;
  font-size:.67rem;
  line-height:1.6;
  letter-spacing:.01em;
}
.beer-credit a{
  color:#dce2dc;
  font-weight:700;
  text-decoration:none;
  border-bottom:1px solid rgba(220,226,220,.22);
  transition:color .2s ease,border-color .2s ease;
}
.beer-credit a:hover,
.beer-credit a:focus-visible{
  color:var(--orange);
  border-color:var(--orange);
}
@media(max-width:900px){
  .beer-credit{
    margin-top:19px;
    font-size:.63rem;
    line-height:1.65;
  }
}
