/* cinema-hero.css */
/* Duc Lam cinematic hero. */
.cinema.hero-slider{position:relative;height:100svh;min-height:720px;max-height:1100px;background:#08110d;overflow:hidden;isolation:isolate;touch-action:pan-y}
.cinema .hero-slide{position:absolute;inset:0;min-height:0!important;height:100%;opacity:0;visibility:hidden;pointer-events:none;transition:opacity 950ms ease,visibility 950ms;overflow:hidden}
.cinema .hero-slide.is-active{opacity:1;visibility:visible;pointer-events:auto;z-index:2}
.cinema .hero-slide::after{background:linear-gradient(90deg,rgba(4,13,9,.8) 0%,rgba(4,13,9,.39) 42%,rgba(4,13,9,.04) 76%),linear-gradient(0deg,rgba(4,12,8,.98) 0%,rgba(4,12,8,.32) 25%,transparent 55%,rgba(4,12,8,.38) 100%)!important}
.cinema .hero-media{position:absolute;inset:-18px;filter:saturate(.86) contrast(1.04)!important;transform:translate3d(var(--cinema-x,0px),var(--cinema-y,0px),0);transition:transform .8s cubic-bezier(.22,1,.36,1);will-change:transform}
.cinema .hero-media picture{display:block;width:100%;height:100%}
.cinema .hero-media img{display:block;width:100%;height:100%;object-fit:cover;transition:none!important;transform:scale(1.1);will-change:transform}
.cinema .hero-slide.is-active .hero-media img{animation:cinema-camera 8s cubic-bezier(.2,.3,.5,1) both}
.cinema .hero-slide:first-child .hero-media img{object-position:62% 50%!important}
.cinema .hero-slide:nth-child(2) .hero-media img{object-position:65% 58%!important}
.cinema .hero-slide:nth-child(3) .hero-media img{object-position:65% 45%!important}
@keyframes cinema-camera{from{transform:scale(1.1) translate3d(0,0,0)}to{transform:scale(1.035) translate3d(-.5%,0,0)}}
.cinema .hero-slide .hero-copy{position:relative;z-index:4;width:min(1360px,calc(100% - 112px));max-width:none;margin:auto;padding:0;top:50%;transform:translateY(-53%);animation:none!important}
.cinema .hero-slide .eyebrow{font-size:10px;letter-spacing:.2em;font-weight:500;color:#e4d7b8;margin:0 0 27px;max-width:620px}
.cinema .hero-slide h1,.cinema .hero-slide:nth-child(2) h1,.cinema .hero-slide:nth-child(3) h1{font-family:var(--ed-serif,Georgia);font-size:clamp(72px,8.3vw,136px);font-weight:500;letter-spacing:-.055em;line-height:.98;max-width:1100px;min-height:0;margin:0 0 24px;text-wrap:initial}
.cinema .hero-slide h1 span{display:block;color:#f1eee5;overflow:clip;padding-bottom:.12em;margin-bottom:-.1em}
.cinema .hero-slide h1 span:last-child{font-style:italic;font-weight:500;color:#c7cfb2}
.cinema .hero-slide:first-child h1 span:last-child{color:#f1eee5}
.cinema .hero-slide:first-child h1 .cinema-nature{color:#a8c6aa;font-style:inherit;font-weight:inherit}
.cinema .hero-slide:first-child h1 .cinema-nations{color:#78aee0;font-style:inherit;font-weight:inherit}
.cinema .hero-slide:not(:first-child) h1{font-size:clamp(64px,6.6vw,106px);line-height:1.04;max-width:1120px}
.cinema .hero-slide.is-active h1 span{animation:cinema-title .95s cubic-bezier(.16,1,.3,1) both}
.cinema .hero-slide.is-active h1 span:nth-child(2){animation-delay:110ms}
@keyframes cinema-title{from{opacity:0;transform:translateY(35px);clip-path:inset(100% 0 0 0)}to{opacity:1;transform:translateY(0);clip-path:inset(0)}}
.cinema .cinema-origin{color:#f1eee5;font-size:15px;letter-spacing:.03em;margin:30px 0 10px;font-weight:500}
.cinema .hero-sub{max-width:470px;color:#d1d7cc!important;font-size:14px!important;line-height:1.7!important;margin:14px 0 0;min-height:0!important}
.cinema .hero-tagline-placeholder{display:none!important}
.cinema .hero-bottom{margin-top:30px;display:flex;align-items:center;gap:28px}
.cinema .hero-bottom .primary{min-height:52px;width:max-content;min-width:0;padding:10px 0 9px;gap:12px;font-size:12px;line-height:1.5}
.cinema .hero-bottom .animated-button{min-height:52px;width:max-content;min-width:210px;padding:14px 34px;font-size:12px;line-height:1.5}
.cinema-bottom{position:absolute;z-index:10;left:max(56px,calc((100% - 1360px)/2));right:max(56px,calc((100% - 1360px)/2));bottom:28px}
.cinema-chapters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;border-top:1px solid #e3e9db33}
.cinema-chapter{position:relative;display:flex;align-items:center;gap:16px;width:100%;min-height:83px;padding:18px 0 10px;text-align:left;font-family:var(--ed-sans,Arial);color:#bcc4b7;background:none;border:0;cursor:pointer;transition:color .2s}
.cinema-chapter::after{position:absolute;content:'';left:0;right:0;top:-1px;height:2px;background:#d8c491;transform:scaleX(0);transform-origin:left}
.cinema-chapter[aria-current=true]::after{animation:cinema-progress 8s linear both}
@keyframes cinema-progress{to{transform:scaleX(1)}}
.cinema-chapter img{width:62px;height:43px;object-fit:cover;border-radius:1px;opacity:.42;filter:saturate(.65);transition:opacity .2s,filter .2s}
.cinema-chapter[aria-current=true],.cinema-chapter:hover{color:#f1eee5}
.cinema-chapter[aria-current=true] img,.cinema-chapter:hover img{opacity:1;filter:saturate(.9)}
.cinema-chapter-copy{display:block;min-width:0}
.cinema-chapter small{display:flex;gap:10px;align-items:center;font-size:9px;line-height:1.4;letter-spacing:.07em;text-transform:uppercase;margin:0 0 7px;color:#a4ad9d}
.cinema-chapter small span{color:inherit}
.cinema-chapter strong{font-size:12px;line-height:1.5;font-weight:500}
.chapter-play{margin-left:auto;color:#dac792;opacity:0;transition:opacity .2s,transform .2s}
.cinema-chapter:hover .chapter-play,.cinema-chapter[aria-current=true] .chapter-play{opacity:1}
.cinema-chapter:hover .chapter-play{transform:translate(2px,-2px)}
.cinema-interaction{display:block;font-size:9px;letter-spacing:.08em;color:#9aa694;margin-top:12px;text-align:right}
.cinema .hx-nav{z-index:12;top:auto;bottom:160px;left:auto;right:max(56px,calc((100% - 1360px)/2));gap:12px}
.cinema .hx-nav .frac,.cinema .hx-nav .bar{display:none}
.cinema .hx-nav .ar,.cinema .hero-toggle{width:44px;height:44px;background:#0c191048;border:1px solid #d6ddcb44;color:#ebe7db;border-radius:50%;backdrop-filter:blur(8px);transition:background-color .2s}
.cinema .hx-nav .ar:hover,.cinema .hero-toggle:hover{background:#e4dac21c;border-color:#c5cdae}
.cinema .taste-scroll-cue{display:none!important}
.cinema-announcement{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.cinema:focus-visible{outline:1px solid #e5d19c;outline-offset:-6px}
.cinema-is-paused .hero-slide.is-active .hero-media img,.cinema-is-paused .cinema-chapter::after{animation-play-state:paused!important}
html[lang=vi] .cinema .hero-slide:first-child h1{font-size:clamp(64px,7.3vw,116px);line-height:1.1;letter-spacing:-.04em}
@media(min-width:1600px){.cinema .hero-slide .hero-copy{transform:translateY(-56%)}}
@media(max-width:1100px){.cinema .hero-slide .hero-copy{width:calc(100% - 72px)}.cinema-bottom{left:36px;right:36px}.cinema-chapters{gap:20px}.cinema-chapter{gap:11px}.cinema-chapter img{width:48px;height:36px}.cinema-chapter strong{font-size:11px}.cinema .hx-nav{right:36px}.cinema .hero-slide:not(:first-child) h1{font-size:clamp(58px,7.5vw,80px)}}
@media(max-width:760px){
 .cinema.hero-slider{height:100svh;min-height:780px;max-height:none}
 .cinema .hero-slide::after{background:linear-gradient(180deg,#06150f22 0%,#06150f3b 22%,#06150fb3 52%,#06150ff5 84%,#06150f 100%)!important}
 .cinema .hero-slide .hero-copy{width:calc(100% - 44px);top:44%;transform:translateY(-46%);padding:0}
 .cinema .hero-slide .eyebrow{font-size:8px;line-height:1.7;max-width:290px;letter-spacing:.12em;min-height:0;margin-bottom:20px}
 .cinema .hero-slide h1,.cinema .hero-slide:nth-child(2) h1,.cinema .hero-slide:nth-child(3) h1{font-size:clamp(48px,13.5vw,78px);line-height:1.04;letter-spacing:-.05em;margin:0 0 20px;min-height:0;max-width:100%}
 .cinema .hero-slide:not(:first-child) h1{font-size:clamp(41px,11.5vw,64px);line-height:1.1}
 html[lang=vi] .cinema .hero-slide:first-child h1{font-size:clamp(40px,10.8vw,58px);line-height:1.12;letter-spacing:-.045em}
 html[lang=vi] .cinema .hero-slide:not(:first-child) h1{font-size:clamp(35px,9.5vw,52px);line-height:1.15}
 .cinema .cinema-origin{font-size:12px;margin-top:25px;max-width:300px;line-height:1.6}
 .cinema .hero-sub{font-size:12px!important;line-height:1.7!important;max-width:300px}
 .cinema .hero-bottom{gap:22px;margin-top:24px;flex-wrap:wrap}
 .cinema .hero-bottom .primary{min-height:48px;padding:10px 0 9px;gap:10px;font-size:11px}
 .cinema .hero-bottom .animated-button{font-size:11px;min-height:48px;padding:12px 30px}
 .cinema-bottom{left:22px;right:22px;bottom:20px}
 .cinema-chapters{gap:14px}
 .cinema-chapter{display:block;min-height:78px;padding:16px 0 8px}
 .cinema-chapter img,.cinema-chapter strong,.chapter-play{display:none}
 .cinema-chapter small{display:block;font-size:9px;line-height:1.8;letter-spacing:.03em;margin:0}
 .cinema-chapter small span{display:block;font-size:11px;color:#eee8dc;letter-spacing:0}
 .cinema-interaction{font-size:8px;margin-top:8px;text-align:left}
 .cinema .hx-nav{right:22px;left:auto;bottom:142px}
 .cinema .hx-nav .ar,.cinema .hero-toggle{width:44px;height:44px;min-height:44px}
 .cinema .hero-slide .hero-media img{object-position:58% 50%!important}
 .cinema .hero-slide:not(:first-child) .hero-media img{object-position:64% 50%!important}
}
@media(max-width:360px){.cinema .hero-bottom{gap:15px}.cinema .hero-slide .hero-copy{top:43%}.cinema .hero-slide h1{font-size:46px}.cinema-chapters{gap:9px}.cinema-chapter small span{font-size:10px}}
@media(prefers-reduced-motion:reduce){.cinema *{animation:none!important;transition:none!important}.cinema .hero-media{transform:none!important}.cinema .hero-media img{transform:scale(1.035)!important}.cinema-chapter[aria-current=true]::after{transform:scaleX(1)}}
.cinema.hero-slider::after{display:none}
.cinema .hero-slide{display:block}
@media(max-width:760px){
 .cinema .hero-bottom{flex-direction:row;justify-content:flex-start;align-items:center;gap:18px}
 .cinema .hero-bottom .animated-button{width:auto;min-width:0;flex:0 0 auto}
 .cinema .hero-bottom .primary{flex:0 0 auto}
}
.cinema-is-paused .cinema-chapter[aria-current=true]::after{animation:none;transform:scaleX(1)}
/* Keep every primary navigation item visible and readable on phones. */
@media(max-width:760px){
 body:has(.cinema) .links{flex-wrap:wrap;justify-content:center;column-gap:18px;row-gap:0;overflow:visible}
 body:has(.cinema) .contact-panel .contact-direct{min-width:0;max-width:100%}
 body:has(.cinema) .contact-panel .contact-direct a{max-width:100%;overflow-wrap:anywhere}
}
@media(max-width:360px){
 body:has(.cinema) .contact-panel .contact-direct a{font-size:14px}
 .cinema .hero-slide .hero-copy{top:47%}
 html[lang=vi] .cinema .hero-slide:first-child h1{font-size:36px;line-height:1.1}
 .cinema .hero-slide .eyebrow{margin-bottom:16px}
 .cinema .cinema-origin{margin-top:18px}
 .cinema .hero-bottom{margin-top:18px;gap:14px}
 .cinema .hero-bottom .animated-button{padding-inline:24px}
}


/* cinema-proof.css */
/* Compact credentials and company figures: local demo only. */
.cinema-proof.trust-strip,
.cinema-proof.stat-band{padding:0}
.cinema-proof.trust-strip{overflow:visible}
.cinema-proof .trust-list,
.cinema-proof .stat-grid{width:min(1360px,calc(100% - 112px));min-width:0;max-width:none;margin-inline:auto;box-sizing:border-box}
.cinema-proof .trust-list{min-height:76px;display:grid;grid-template-columns:minmax(225px,1.5fr) repeat(5,minmax(0,1fr));align-items:center;gap:0 clamp(14px,1.8vw,26px);padding:14px 0}
.cinema-proof .trust-heading,
.cinema-proof .trust-item{padding:0;min-height:24px;align-self:center;border:0}
.cinema-proof .trust-heading{font-size:clamp(18px,1.55vw,24px);line-height:1.2}
.cinema-proof .trust-heading::before{width:6px;height:6px;flex:0 0 6px;margin-right:11px;box-shadow:0 0 0 5px rgba(221,194,143,.07)}
.cinema-proof .trust-item{gap:8px;font-size:10px;line-height:1.45;letter-spacing:.035em}
.cinema-proof .trust-icon{font-size:9px}
.cinema-proof .stat-grid{grid-template-columns:1.2fr .88fr 1.12fr .8fr .9fr 1.32fr;gap:clamp(18px,1.8vw,26px);align-items:stretch;padding:8px 0 24px}
.cinema-proof .stat,
.cinema-proof .stat:first-child,
.cinema-proof .stat:last-child{display:grid;grid-template-rows:9px 48px minmax(32px,auto);row-gap:10px;align-content:start;min-height:0;padding:12px 0 8px;border:0;grid-column:auto}
.cinema-proof .stat::before{font-size:8px;line-height:9px}
.cinema-proof .stat strong,
.cinema-proof .stat:first-child strong{display:flex;align-items:flex-end;min-height:0;font-size:clamp(32px,2.7vw,46px);line-height:1.05;letter-spacing:-.045em}
.cinema-proof .stat:last-child strong{max-width:none;min-height:0;font-size:clamp(15px,1.3vw,20px);line-height:1.2;white-space:nowrap;letter-spacing:-.035em}
.cinema-proof .stat span{display:block;min-height:0;max-width:18ch;margin:0;font-size:10px;line-height:1.5;letter-spacing:.07em}
@media(max-width:1100px){
 .cinema-proof .trust-list,
 .cinema-proof .stat-grid{width:calc(100% - 72px)}
 .cinema-proof .trust-list{display:flex;flex-wrap:wrap;gap:10px 24px;padding:15px 0;min-height:0}
 .cinema-proof .trust-heading{flex:0 0 100%;font-size:20px}
 .cinema-proof .trust-item{min-height:20px;flex:0 1 auto;white-space:nowrap}
 .cinema-proof .stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 28px;padding:8px 0 22px}
 .cinema-proof .stat,
 .cinema-proof .stat:first-child,
 .cinema-proof .stat:last-child{grid-template-rows:9px 42px minmax(28px,auto);row-gap:9px;padding:10px 0 6px;min-height:0}
 .cinema-proof .stat strong,
 .cinema-proof .stat:first-child strong{font-size:36px}
 .cinema-proof .stat:last-child strong{font-size:18px}
}
@media(max-width:760px){
 .cinema-proof .trust-list,
 .cinema-proof .stat-grid{width:calc(100% - 44px)}
 .cinema-proof .trust-list{gap:10px 18px;padding:18px 0 14px}
 .cinema-proof .trust-heading{font-size:20px}
 .cinema-proof .trust-item{font-size:9px;letter-spacing:.01em;gap:7px;min-height:18px}
 .cinema-proof .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px;padding:6px 0 24px}
 .cinema-proof .stat,
 .cinema-proof .stat:first-child,
 .cinema-proof .stat:last-child{grid-template-rows:8px 36px minmax(28px,auto);row-gap:8px;padding:8px 0 4px;min-height:0;grid-column:auto}
 .cinema-proof .stat strong,
 .cinema-proof .stat:first-child strong{font-size:34px}
 .cinema-proof .stat:last-child strong{font-size:17px;white-space:normal;line-height:1.15}
 .cinema-proof .stat span{font-size:9px;line-height:1.5;letter-spacing:.055em}
}
@media(max-width:360px){
 .cinema-proof .stat-grid{column-gap:18px}
 .cinema-proof .stat strong,
 .cinema-proof .stat:first-child strong{font-size:30px}
 .cinema-proof .stat:last-child strong{font-size:15px}
}


/* cinema-manifesto.css */
/* Demo-only Vietnamese phrase balance. English and the scroll-lighting spans stay intact. */
.taste-manifesto #scrubText.cinema-manifesto-vi {
  max-width: min(100%, 1180px);
  font-size: clamp(42px, 4vw, 68px);
  line-height: 1.08;
  text-wrap: balance;
  overflow-wrap: normal;
  word-break: normal;
}

.cinema-manifesto-vi .cinema-manifesto-line {
  display: block;
  text-align: center;
  text-wrap: balance;
}

.cinema-manifesto-vi .cinema-manifesto-phrase {
  display: inline-block;
  white-space: nowrap;
  vertical-align: baseline;
}

@media (min-width: 761px) {
  .taste-manifesto:has(#scrubText.cinema-manifesto-vi) {
    padding-inline: clamp(24px, 4vw, 64px);
  }
}

@media (max-width: 760px) {
  .taste-manifesto #scrubText.cinema-manifesto-vi {
    font-size: clamp(26px, 8.4vw, 48px);
    line-height: 1.14;
    letter-spacing: -.035em;
  }
}

@media (max-width: 360px) {
  .taste-manifesto #scrubText.cinema-manifesto-vi {
    font-size: clamp(25px, 8.2vw, 29px);
  }
}


/* cinema-mobile-fixes.css */
/* Narrow-screen corrections found during the release audit. */
@media (max-width: 960px) {
  #products > .wrap,
  #products .product-panel,
  #products .panel-copy,
  #products .cores,
  #products .core,
  #products .core > span {
    min-width: 0;
  }

  #products .product-panel {
    width: 100%;
    max-width: 100%;
    margin-inline: 0;
    grid-template-columns: minmax(0, 1fr);
  }

  #products .panel-copy,
  #products .cores {
    max-width: 100%;
  }

  #products .cores {
    grid-template-columns: minmax(0, 1fr);
  }

  #products .core {
    grid-template-columns: 34px minmax(0, 1fr) auto;
    column-gap: 10px;
  }
}

@media (max-width: 760px) {
  #products .product-tab b {
    font-size: clamp(28px, 8vw, 34px);
    white-space: normal;
  }

  #products .panel-copy,
  #products .cores {
    padding-inline: 20px;
  }

  #products .core {
    grid-template-columns: 24px minmax(0, 1fr);
    gap: 10px 12px;
    min-height: 0;
    padding: 18px 0;
  }

  #products .core:hover,
  #products .core:focus-visible {
    padding-left: 0;
    transform: none;
  }

  #products .core-index {
    align-self: start;
    padding-top: 4px;
  }

  #products .core b {
    max-width: 100%;
    min-width: 0;
    font-size: clamp(20px, 5.4vw, 24px);
    overflow-wrap: anywhere;
  }

  #products .core small {
    overflow-wrap: anywhere;
  }

  #products .pour-title,
  #products .pour-badge {
    min-width: 0;
    max-width: 100%;
  }

  #products .pour-badge {
    white-space: normal;
  }

  #products .pour-badge svg {
    flex: 0 0 20px;
  }

  #products .core-action-cta {
    grid-column: 2;
    justify-self: start;
    width: max-content;
    max-width: 100%;
    min-width: 0;
    min-height: 44px;
    height: auto;
    padding: 11px 15px;
    line-height: 1.35;
    letter-spacing: .09em;
    white-space: normal;
  }

  /* A vertical entrance keeps the offscreen panel inside the viewport's width. */
  .taste-ready #products .product-panel[data-taste-reveal="right"] {
    transform: translateY(32px);
  }

  .taste-ready #products .product-panel[data-taste-reveal="right"].is-visible {
    transform: none;
  }

  #about .mn-head,
  #about .mn-head h3,
  html[lang="vi"] #about .mn-head h3 {
    min-width: 0;
    max-width: 100%;
  }

  #about .mn-head h3,
  html[lang="vi"] #about .mn-head h3 {
    flex-shrink: 1;
    white-space: normal;
    overflow-wrap: anywhere;
  }
}

@media (max-width: 760px) and (prefers-reduced-motion: reduce) {
  .taste-ready #products .product-panel[data-taste-reveal="right"] {
    transform: none;
  }
}
