/* Search-topic and watch-page layer. Keeps the approved rose liquid-glass language. */
.topic-body{min-height:100vh;background:radial-gradient(circle at 15% 8%,rgba(235,174,194,.20),transparent 28%),radial-gradient(circle at 85% 14%,rgba(195,217,241,.19),transparent 28%),linear-gradient(135deg,#fff9fa,#fffdfb 52%,#f5f7fb);color:var(--ink)}
.topic-nav{position:sticky;top:0;z-index:20;padding:16px 20px;background:rgba(255,250,251,.76);backdrop-filter:blur(22px) saturate(140%);-webkit-backdrop-filter:blur(22px) saturate(140%);border-bottom:1px solid rgba(121,77,95,.08)}
.topic-nav .inner{width:var(--wrap);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px}.topic-nav .home{font-family:var(--font-brand);font-weight:500;font-size:20px}.topic-nav .trail{display:flex;gap:18px;flex-wrap:wrap;font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:#7b6871}.topic-nav a:hover{color:var(--wine)}
.topic-main{width:var(--wrap);margin:auto;padding:72px 0 110px}.breadcrumb{font-size:10px;text-transform:uppercase;letter-spacing:.17em;color:#9b6574;margin-bottom:28px}.topic-hero{border-radius:36px;padding:clamp(36px,6vw,80px);background:linear-gradient(145deg,rgba(255,255,255,.72),rgba(255,247,249,.39));border:1px solid rgba(255,255,255,.88);box-shadow:var(--glass-shadow);backdrop-filter:blur(26px) saturate(142%);-webkit-backdrop-filter:blur(26px) saturate(142%)}
.topic-kicker{margin:0 0 18px;font-size:10px;text-transform:uppercase;letter-spacing:.21em;color:#a45f71;font-weight:500}.topic-hero h1{margin:0;font-family:var(--font-brand);font-size:clamp(50px,7.4vw,108px);line-height:.9;letter-spacing:-.045em;font-weight:500;text-wrap:balance}.topic-hero h1 em{font-family:var(--font-soul);font-style:italic;color:#a75f71;font-weight:400}.topic-lead{max-width:880px;margin:30px 0 0;font-family:var(--font-brand);font-size:clamp(22px,2.3vw,34px);line-height:1.3;color:#55464d}.topic-def{margin:18px 0 0;max-width:900px;font-size:17px;line-height:1.75;color:#6b5d64}
.topic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:26px}.topic-card{padding:34px;border-radius:28px;background:rgba(255,255,255,.63);border:1px solid rgba(255,255,255,.86);box-shadow:0 18px 50px rgba(107,69,85,.075),inset 0 1px 0 #fff}.topic-card h2,.topic-card h3{font-family:var(--font-brand);font-weight:500;margin:0 0 14px;text-wrap:balance}.topic-card h2{font-size:36px}.topic-card h3{font-size:28px}.topic-card p,.topic-card li{font-size:15px;line-height:1.7;color:#6e6067}.topic-card ul{padding-left:20px;margin-bottom:0}
.topic-wide{margin-top:16px}.topic-wide .topic-card{padding:42px}.topic-wide blockquote{font-family:var(--font-soul);font-style:italic;font-size:30px;color:#99586a;margin:12px 0 0}
.topic-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.topic-links a{display:inline-flex;align-items:center;min-height:42px;padding:0 16px;border-radius:999px;border:1px solid rgba(137,87,106,.15);background:rgba(255,255,255,.65);font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:500;box-shadow:inset 0 1px 0 #fff}.topic-links a:hover{transform:translateY(-1px);box-shadow:0 9px 22px rgba(116,74,90,.08),inset 0 1px 0 #fff}.portfolio-copy>.topic-links{margin-top:24px}
.topic-disclosure{margin-top:28px;padding-top:18px;border-top:1px solid rgba(113,74,90,.13);font-size:12px;line-height:1.65;color:#7d6c74}.topic-contact{margin-top:28px;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:28px 32px;border-radius:26px;background:linear-gradient(145deg,#3a2031,#241421);color:#fff}.topic-contact strong{font-family:var(--font-brand);font-size:26px;font-weight:500}.topic-contact a{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#f2c8d3}
.watch-shell{max-width:1160px;margin:0 auto}.watch-card{position:relative;overflow:hidden;padding:18px;border-radius:34px;background:linear-gradient(145deg,rgba(61,31,49,.92),rgba(33,19,31,.88));box-shadow:0 36px 110px rgba(41,21,35,.28);border:1px solid rgba(255,255,255,.22)}.watch-card video{display:block;width:100%;border-radius:24px;background:#10080f}.watch-card.landscape video{aspect-ratio:16/9}.watch-card.portrait{max-width:540px;margin-inline:auto}.watch-card.portrait video{aspect-ratio:9/16;max-height:74vh;object-fit:contain}.watch-meta{margin:24px auto 0;max-width:900px;text-align:center}.watch-meta h1{font-family:var(--font-brand);font-size:clamp(40px,5vw,72px);line-height:.95;margin:0}.watch-meta p{font-size:16px;line-height:1.7;color:#6e6067}.watch-meta .soul{font-family:var(--font-soul);font-style:italic;color:#9d5a6c;font-size:24px}

/* One rendering path for all ten concept-film scene numbers. This opaque overlay masks the baked-in badge in the MP4. */
.film-page-indicator{
  position:absolute;
  z-index:4;
  right:3.4%;
  bottom:4.8%;
  width:clamp(132px,19%,232px);
  min-height:clamp(44px,5.7vw,72px);
  padding:0 clamp(18px,2.4vw,30px);
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.22em;
  box-sizing:border-box;
  pointer-events:none;
  opacity:0;
  color:#fffaf8;
  background:linear-gradient(180deg,rgba(88,79,83,.99),rgba(22,18,20,.995));
  border:1px solid rgba(255,255,255,.20);
  box-shadow:0 12px 28px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.24);
  font-family:var(--font-ui);
  font-size:clamp(17px,2.2vw,30px);
  font-style:normal;
  font-weight:400;
  line-height:1;
  letter-spacing:.01em;
  font-variant-numeric:lining-nums tabular-nums;
  font-feature-settings:"lnum" 1,"tnum" 1;
  font-synthesis:none;
  text-rendering:geometricPrecision;
}
.has-page-counter>.film-page-indicator{opacity:1}
.film-page-separator{opacity:.64;margin:0 .03em}

@media(max-width:760px){.topic-nav .trail{display:none}.topic-main{padding-top:42px}.topic-grid{grid-template-columns:1fr}.topic-hero{border-radius:28px}.topic-contact{align-items:flex-start;flex-direction:column}.watch-card{padding:10px;border-radius:24px}.watch-card video{border-radius:18px}.film-page-indicator{right:3.2%;bottom:5.8%;width:clamp(98px,24%,150px);min-height:clamp(36px,8vw,50px);padding:0 14px;font-size:clamp(14px,4.2vw,20px)}}

@media(max-width:480px){
  .topic-nav{padding:12px 10px}
  .topic-nav .home{font-size:17px}
  .topic-nav .home::before{width:30px;height:30px;flex-basis:30px}
  .topic-main{padding:34px 0 76px}
  .topic-hero{padding:28px 22px;border-radius:24px}
  .topic-hero h1{font-size:clamp(42px,13.5vw,56px);line-height:.94}
  .topic-lead{font-size:22px;margin-top:22px}
  .topic-def{font-size:15px;line-height:1.65}
  .topic-card{padding:26px 22px}
  .topic-card h2{font-size:30px}
  .topic-card h3{font-size:25px}
  .topic-contact{padding:24px 22px}
  .topic-contact strong{font-size:23px;line-height:1.15}
  .topic-contact a{max-width:100%;overflow-wrap:anywhere;word-break:break-word}
  .watch-meta h1{text-wrap:balance}
}

/* Forgiveness & Gratitude™ — public brand authority refinement layer */

/* Header optical-size brand system: master mark stays official; micro mark serves navigation. */
.brand-mark-picture{
  width:56px;
  height:56px;
  flex:0 0 56px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border-radius:17px;
  background:#fff9f8;
  filter:drop-shadow(0 10px 20px rgba(86,48,52,.16)) drop-shadow(0 0 1px rgba(74,45,47,.18));
}
.brand-logo-img{
  width:56px;
  height:56px;
  flex:0 0 56px;
  display:block;
  object-fit:contain;
  object-position:center;
  border-radius:0;
  transform:translateY(-6.8%);
}
.site-header .brand{
  min-width:390px;
  gap:14px;
}
.site-header .brand-copy{
  gap:3px;
  min-width:0;
}
.site-header .brand-copy strong{
  font-size:20px;
  white-space:nowrap;
}
.site-header .brand-copy small{
  display:block;
  margin:0;
  font-size:8px;
  line-height:1.25;
  letter-spacing:.07em;
  color:#8a737c;
  font-weight:400;
  text-transform:none;
  white-space:nowrap;
}
.site-header .nav-links a,
.site-header .nav-cta,
.site-header .brand-copy small{
  font-family:"richmond-display",sans-serif;
  font-style:normal;
}
.site-header .nav-links a{font-weight:500}
.site-header .nav-cta{font-weight:600}
.brand-copy strong sup,.topic-nav .home sup,.brand-tm{
  font-family:var(--font-ui);
  font-size:.48em;
  font-weight:500;
  letter-spacing:0;
  vertical-align:super;
  margin-left:.08em;
}
.section-title h2,
.section-head h2,
.brands .section-wrap>div:first-child h2,
.brand-proposition h3,
.contact-card h2,
.north-star-heading h3,
.ip-card h3{
  text-wrap:balance;
}
.brand-flow-visual{
  width:min(520px,100%);
  margin:0 auto;
  display:block;
  filter:drop-shadow(0 26px 38px rgba(111,74,78,.12));
  animation:fngFlowFloat 10s ease-in-out infinite alternate;
}

/* Homepage North Star */
.north-star-panel{
  margin-top:64px;
  padding:54px;
  border-radius:34px;
  display:grid;
  grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);
  gap:54px;
  align-items:start;
  background:linear-gradient(145deg,rgba(255,255,255,.76),rgba(250,239,242,.40));
}
.north-star-heading h3{
  margin:0;
  font-family:var(--font-brand);
  font-size:clamp(42px,5vw,68px);
  line-height:.98;
  letter-spacing:-.04em;
  font-weight:500;
  color:#362a31;
}
.north-star-intro{
  margin:0 0 26px;
  font-family:var(--font-brand);
  font-size:clamp(23px,2.3vw,32px);
  line-height:1.28;
  color:#4b3d44;
}
.north-star-principles{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0 24px;
  margin:8px 0 24px;
}
.north-star-principles p{
  margin:0;
  padding:15px 0;
  border-top:1px solid rgba(112,47,66,.12);
  color:#66575e;
  font-size:14px;
  line-height:1.55;
}
.north-star-values{
  margin:0;
  padding:22px 0 0;
  border-top:1px solid rgba(112,47,66,.12);
  color:#5e5057;
  font-size:16px;
  line-height:1.7;
}
.north-star-quote{
  margin:28px 0 0;
  padding:22px 0 0;
  border-top:1px solid rgba(112,47,66,.12);
  font-family:var(--font-soul);
  font-style:italic;
  color:#875061;
  font-size:clamp(22px,2vw,30px);
  line-height:1.35;
}
.north-star-quote strong{font-weight:400;color:#6f3447}

/* Homepage public IP authority */
.registration-strip{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-top:22px;
}
.registration-pill{min-width:0;
  overflow:hidden;
  border:1px solid rgba(136,86,104,.14);
  border-radius:16px;
  padding:12px 13px;
  background:linear-gradient(145deg,rgba(255,255,255,.70),rgba(250,239,242,.46));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.92);
}
.registration-pill span{
  display:block;
  font-size:8px;
  line-height:1.35;
  text-transform:uppercase;
  letter-spacing:.13em;
  color:#8a737c;
  margin-bottom:5px;
}
.registration-pill strong{
  display:block;
  max-width:100%;
  font-family:var(--font-brand);
  font-size:clamp(13px,1.15vw,15px);
  line-height:1.15;
  font-weight:500;
  color:#49363f;
  overflow-wrap:anywhere;
  word-break:break-word;
  font-variant-numeric:lining-nums tabular-nums;
}

.protected-innovation{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 78% 14%,rgba(232,184,194,.20),transparent 34%),
    linear-gradient(135deg,#fffaf8,#f8eff2 58%,#f2f5fa);
}
.protected-innovation .portfolio-grid{align-items:center}
.protected-innovation .portfolio-copy .lead{max-width:760px}
.ip-intro{
  color:#68575f;
  font-size:17px;
  line-height:1.72;
  margin:0 0 30px;
}
.ip-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:28px;
}
.ip-card{
  min-height:220px;
  padding:28px;
  border-radius:26px;
  border:1px solid rgba(255,255,255,.88);
  background:linear-gradient(145deg,rgba(255,255,255,.74),rgba(250,239,242,.40));
  box-shadow:0 18px 46px rgba(109,70,83,.07),inset 0 1px 0 #fff;
  backdrop-filter:blur(20px) saturate(130%);
  -webkit-backdrop-filter:blur(20px) saturate(130%);
}
.ip-card .ip-label{
  display:block;
  color:#9f5f70;
  font-size:9px;
  font-weight:600;
  letter-spacing:.18em;
  text-transform:uppercase;
  margin-bottom:16px;
}
.ip-card h3{
  margin:0 0 12px;
  font-family:var(--font-brand);
  font-size:30px;
  line-height:1.02;
  font-weight:500;
  color:#3c3036;
}
.ip-card p{
  margin:0;
  color:#6d5e64;
  font-size:14px;
  line-height:1.65;
}
.ip-disclosure{
  margin:26px 0 0;
  padding-top:18px;
  border-top:1px solid rgba(112,47,66,.12);
  font-family:var(--font-soul);
  font-style:italic;
  color:#875061;
  font-size:20px;
  line-height:1.45;
}
.protected-innovation .flow-wrap{
  margin:26px 0 8px;
  max-width:440px;
}

/* Topic pages */
.topic-nav .home{
  display:inline-flex;
  align-items:center;
  gap:9px;
}
.topic-nav .home::before{
  content:"";
  width:32px;
  height:32px;
  flex:0 0 32px;
  border-radius:9px;
  background:url("assets/fng-mark-header.png") center/contain no-repeat;
  filter:drop-shadow(0 6px 13px rgba(86,48,52,.15));
}
.topic-section{
  margin-top:28px;
}
.topic-section .topic-card>p:last-child{margin-bottom:0}
.topic-registration{
  margin-top:22px;
}
.topic-brand-note{
  margin-top:22px;
  font-family:var(--font-soul);
  font-style:italic;
  color:#8c5364;
  font-size:20px;
  line-height:1.45;
}

/* Film editorial enrichment */
.story-guide{
  width:min(1040px,calc(100vw - 40px));
  margin:24px auto 80px;
  padding:34px;
  border-radius:28px;
  border:1px solid rgba(255,255,255,.82);
  background:linear-gradient(145deg,rgba(255,255,255,.72),rgba(248,236,240,.43));
  box-shadow:0 20px 56px rgba(100,65,78,.08),inset 0 1px 0 #fff;
}
.story-guide .topic-kicker{margin-bottom:10px}
.story-guide h2{
  font-family:var(--font-brand);
  font-size:clamp(34px,4vw,56px);
  font-weight:500;
  line-height:1;
  margin:0 0 14px;
}
.story-guide>p{
  max-width:820px;
  color:#675a60;
  font-size:16px;
  line-height:1.7;
}
.story-guide-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
  margin-top:28px;
}
.story-step{
  min-height:118px;
  padding:16px;
  border-radius:18px;
  border:1px solid rgba(136,86,104,.11);
  background:rgba(255,255,255,.58);
}
.story-step b{
  display:block;
  color:#a35f71;
  font-size:9px;
  letter-spacing:.18em;
  margin-bottom:9px;
}
.story-step span{
  display:block;
  font-family:var(--font-brand);
  font-size:18px;
  line-height:1.12;
  color:#46383f;
}

/* Footer brand artwork: approved PNG in normal document flow; size only. */
.footer-brand{
  min-height:44px;
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  gap:12px;
  align-items:center;
}
.footer-logo-shell{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border-radius:13px;
  background:#fff9f8;
  filter:drop-shadow(0 8px 16px rgba(0,0,0,.22));
}
.footer-logo-img{
  width:44px;
  height:44px;
  display:block;
  object-fit:contain;
  object-position:center;
  transform:translateY(-6.8%);
}
.footer-brand-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
}
.footer-brand-copy>span{
  font-family:"richmond-display",sans-serif;
  font-weight:400;
  font-style:normal;
  font-size:10px;
  letter-spacing:.07em;
}

/* Legal pages */
.legal-shell{
  max-width:820px;
  margin:auto;
}
.legal-brand{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-bottom:54px;
  font-family:var(--font-brand);
  font-size:18px;
  font-weight:500;
}
.legal-brand img{width:38px;height:38px;border-radius:11px}
.legal-shell h1{
  font-family:var(--font-brand);
  font-size:clamp(48px,6vw,68px);
  font-weight:500;
  letter-spacing:-.035em;
}
.legal-shell p{font-size:16px;line-height:1.75;color:#62575c}

@keyframes fngFlowFloat{
  from{transform:translate3d(0,0,0) rotate(-1deg)}
  to{transform:translate3d(0,-8px,0) rotate(1deg)}
}

@media(max-width:900px){
  .north-star-panel{grid-template-columns:1fr;padding:38px;gap:30px}
  .north-star-principles{grid-template-columns:1fr}
  .registration-strip{grid-template-columns:1fr}
  .ip-grid{grid-template-columns:1fr}
  .story-guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .site-header .nav-shell{gap:16px}
  .site-header .brand{min-width:0;gap:11px}
  .brand-mark-picture{width:48px;height:48px;flex:0 0 48px;border-radius:15px}
  .brand-logo-img{width:48px;height:48px;flex-basis:48px}
  .site-header .brand-copy strong{font-size:17px}
  .site-header .brand-copy small{display:block;font-size:7.25px;line-height:1.25;letter-spacing:.055em;white-space:normal;max-width:300px}
}

@media(max-width:620px){
  .editorial-break{display:none}
  .north-star-panel{margin-top:42px;padding:28px;border-radius:26px}
  .story-guide{padding:24px;width:min(100% - 24px,1040px)}
  .story-guide-grid{grid-template-columns:1fr}
  .site-header .nav-shell{gap:10px}
  .site-header .brand-copy strong{font-size:14.5px}
  .site-header .brand-copy small{font-size:6.4px;line-height:1.22;letter-spacing:.04em;max-width:190px}
  .footer-brand{min-height:40px;grid-template-columns:40px minmax(0,1fr);gap:10px}
  .footer-logo-shell{width:40px;height:40px;border-radius:12px}
  .footer-logo-img{width:40px;height:40px}
}

@media(max-width:420px){
  .site-header .nav-shell{padding:0 10px;gap:8px}
  .brand-mark-picture{width:42px;height:42px;flex:0 0 42px;border-radius:13px}
  .brand-logo-img{width:42px;height:42px;flex-basis:42px}
  .site-header .brand{gap:8px}
  .site-header .brand-copy strong{font-size:12.8px;letter-spacing:-.025em}
  .site-header .brand-copy small{display:none}
  .hero h1{font-size:clamp(46px,15vw,56px)}
  .section-title h2,.section-head h2{font-size:46px}
  .contact-card .button{font-size:9px;line-height:1.25;padding:0 12px;text-transform:none;letter-spacing:.04em;overflow-wrap:anywhere;word-break:break-word}
}

@media(prefers-reduced-motion:reduce){
  .brand-flow-visual{animation:none}
}


/* Section 05 approved flow mark — optical placement fix.
   Preserve the approved symbol geometry while removing the cut-out/white-card appearance. */
.protected-innovation .flow-wrap{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:250px;
  max-width:500px;
  margin:30px 0 4px;
}
.protected-innovation .brand-flow-visual{
  width:min(440px,88%);
  height:auto;
  margin:0 auto;
  padding:18px 22px;
  box-sizing:border-box;
  mix-blend-mode:multiply;
  object-fit:contain;
  object-position:center;
}
@media(max-width:920px){
  .protected-innovation .flow-wrap{
    min-height:220px;
    max-width:520px;
    margin:22px auto 2px;
  }
  .protected-innovation .brand-flow-visual{
    width:min(480px,92%);
    padding:16px 18px;
  }
}
@media(max-width:680px){
  .protected-innovation .flow-wrap{
    min-height:190px;
  }
  .protected-innovation .brand-flow-visual{
    width:94%;
    padding:14px 16px;
  }
}


/* Section 05 final — original Logo 2 master-symbol extract. */
.protected-innovation .flow-wrap{
  max-width:540px;
  min-height:250px;
  margin:28px 0 4px;
}
.protected-innovation .brand-flow-visual{
  width:min(520px,96%);
  height:auto;
  padding:0;
  margin:0 auto;
  object-fit:contain;
  object-position:center;
  mix-blend-mode:multiply;
}
@media(max-width:920px){
  .protected-innovation .flow-wrap{
    max-width:560px;
    min-height:220px;
    margin:20px auto 2px;
  }
  .protected-innovation .brand-flow-visual{
    width:min(520px,98%);
    padding:0;
  }
}
@media(max-width:680px){
  .protected-innovation .flow-wrap{min-height:180px}
  .protected-innovation .brand-flow-visual{width:100%;padding:0}
}


/* F&G — a declaration, followed by a considered comparison.
   Adobe Fonts are inherited from the existing brand system. */

body.fng-declaration-page {
  --declaration-paper: #fbf7f1;
  --declaration-ink: #382b30;
  --declaration-wine: #743b4d;
  --declaration-muted: #706166;
  --declaration-rule: rgba(102, 68, 79, .18);
  background: var(--declaration-paper);
}

.fng-declaration-page .site-header .nav-shell {
  background: rgba(255, 252, 248, .88);
  border: 1px solid rgba(133, 91, 104, .13);
  box-shadow: 0 8px 30px rgba(87, 54, 65, .055);
  backdrop-filter: blur(22px);
  -webkit-backdrop-filter: blur(22px);
}

.fng-declaration-page .site-header .nav-shell::before {
  display: none;
}

.fng-declaration-page .site-header .nav-cta {
  background: var(--declaration-wine);
  box-shadow: none;
}

.fng-declaration-page .site-header .menu {
  min-width: 44px;
  min-height: 44px;
  justify-self: end;
}

.fng-declaration-page :is(.declaration, .comparison) {
  color: var(--declaration-ink);
  font-family: var(--font-ui);
  font-weight: 300;
  scroll-margin-top: 115px;
}

.fng-declaration-page :is(.declaration, .comparison) *,
.fng-declaration-page :is(.declaration, .comparison) *::before,
.fng-declaration-page :is(.declaration, .comparison) *::after {
  box-sizing: border-box;
}

.fng-declaration-page :is(a, button, select, summary):focus-visible {
  outline: 2px solid var(--declaration-wine);
  outline-offset: 5px;
}

.declaration {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 130px max(28px, calc((100vw - 1184px) / 2)) 20px;
  background:
    radial-gradient(ellipse at 81% 43%, rgba(231, 192, 196, .35), transparent 40%),
    radial-gradient(ellipse at 60% 5%, rgba(255, 255, 255, .85), transparent 56%),
    linear-gradient(125deg, #faf4ed, #fdfaf6 49%, #f5e9e7);
}

.declaration-inner {
  display: grid;
  grid-template-columns: 1.08fr 1fr;
  align-items: center;
  gap: 38px;
  min-height: 437px;
  max-width: 1184px;
  margin: 0 auto;
}

.declaration-copy {
  position: relative;
  z-index: 2;
  min-width: 0;
  padding: 7px 0 15px;
}

.declaration-eyebrow,
.comparison-eyebrow {
  margin: 0 0 25px;
  color: var(--declaration-wine);
  font-size: 10px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .19em;
  text-transform: uppercase;
}

.declaration-eyebrow::before {
  content: "";
  display: inline-block;
  width: 25px;
  height: 1px;
  margin: 0 11px 3px 0;
  background: currentColor;
}

.declaration-title {
  margin: 0;
  color: #3a2b31;
  font-family: var(--font-brand);
  font-size: clamp(72px, 7vw, 99px);
  font-weight: 500;
  line-height: .91;
  letter-spacing: -.053em;
}

.declaration-title em,
.comparison-title em {
  color: var(--declaration-wine);
  font-family: var(--font-soul);
  font-weight: 400;
  font-style: italic;
}

.declaration-title em {
  display: inline-block;
  padding-top: .04em;
  letter-spacing: -.065em;
}

.declaration-subtitle {
  max-width: 425px;
  margin: 23px 0 0;
  color: #706065;
  font-size: 17px;
  line-height: 1.55;
  text-wrap: pretty;
}

.declaration-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 13px 25px;
  margin-top: 25px;
}

.declaration-primary,
.declaration-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.4;
}

.declaration-primary {
  gap: 22px;
  padding: 13px 23px;
  border: 1px solid var(--declaration-wine);
  border-radius: 2px;
  background: var(--declaration-wine);
  color: #fffaf7;
  transition: background-color .2s, border-color .2s;
}

.declaration-primary > span {
  font-size: 19px;
  line-height: 1;
  font-weight: 300;
}

.declaration-primary:hover {
  background: #5e2d3e;
  border-color: #5e2d3e;
}

.declaration-link {
  gap: 9px;
  padding: 10px 0;
  color: var(--declaration-wine);
  text-decoration: underline;
  text-underline-offset: 6px;
  text-decoration-color: rgba(116, 59, 77, .35);
  transition: text-decoration-color .2s;
}

.declaration-link:hover {
  text-decoration-color: currentColor;
}

.declaration-film {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  min-height: 44px;
  margin-top: 16px;
  color: var(--declaration-wine);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
  text-decoration: none;
}

.declaration-film-play {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border: 1px solid currentColor;
  border-radius: 50%;
  font-size: 10px;
}

.declaration-film-label {
  white-space: nowrap;
  text-decoration: underline;
  text-decoration-color: rgba(116, 59, 77, .35);
  text-underline-offset: 5px;
}

.declaration-film small {
  font-size: 11px;
  letter-spacing: .08em;
}

.declaration-film:hover .declaration-film-label {
  text-decoration-color: currentColor;
}

.declaration-film:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 5px;
  border-radius: 3px;
}

.declaration-art {
  position: relative;
  display: grid;
  place-items: center;
  width: 100%;
  min-width: 0;
  height: 425px;
  isolation: isolate;
}

.declaration-art::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 68%;
  aspect-ratio: 1;
  border: 1px solid rgba(132, 75, 94, .15);
  border-radius: 50%;
  background: radial-gradient(circle at 35% 22%, rgba(255, 255, 255, .72), transparent 65%);
}

.declaration-art::after {
  content: "";
  position: absolute;
  z-index: -2;
  width: 73%;
  height: 16%;
  left: 16%;
  bottom: 4%;
  border-radius: 50%;
  background: radial-gradient(ellipse, rgba(136, 69, 87, .16), transparent 68%);
  filter: blur(9px);
}

.pearl-orbit {
  position: absolute;
  z-index: -1;
  border: 13px solid rgba(255, 252, 249, .52);
  border-radius: 50%;
  background:
    linear-gradient(132deg, rgba(255, 255, 255, .55), rgba(249, 225, 219, .09) 34%, rgba(171, 103, 121, .085) 78%, rgba(255, 255, 255, .5));
  box-shadow:
    inset 3px 4px 4px rgba(255, 255, 255, .97),
    inset -4px -7px 11px rgba(154, 84, 105, .11),
    3px 9px 16px rgba(143, 79, 96, .095),
    0 0 1px 1px rgba(162, 99, 115, .11);
  transform: rotate(var(--orbit-angle));
  animation: declaration-orbit 18s ease-in-out infinite;
  pointer-events: none;
}

.orbit-a {
  --orbit-angle: -35deg;
  top: 24%;
  left: 1%;
  width: 97%;
  height: 50%;
}

.orbit-b {
  --orbit-angle: 40deg;
  top: 26%;
  left: 6%;
  width: 87%;
  height: 49%;
  border-width: 9px;
  animation-duration: 22s;
  animation-delay: -8s;
}

.orbit-c {
  --orbit-angle: 8deg;
  top: 8%;
  left: 25%;
  width: 51%;
  height: 82%;
  border-width: 16px;
  background: linear-gradient(150deg, rgba(255, 255, 255, .54), rgba(234, 205, 200, .11) 58%, rgba(253, 243, 237, .5));
  animation-duration: 26s;
  animation-delay: -15s;
}

.declaration-seal {
  position: relative;
  display: flex;
  align-items: center;
  flex-direction: column;
  max-width: 100%;
  padding-top: 8px;
  color: var(--declaration-wine);
  text-align: center;
}

.seal-eyebrow,
.seal-world,
.seal-date {
  display: block;
  font-family: var(--font-ui);
  font-weight: 500;
  line-height: 1.4;
}

.seal-eyebrow {
  margin-bottom: 18px;
  font-size: 11px;
  letter-spacing: .22em;
}

.seal-number {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: .035em;
  padding: 0 .04em .025em;
  font-family: "bc-vajgar", sans-serif;
  font-weight: 400;
  font-size: clamp(194px, 17.5vw, 240px);
  line-height: .78;
  letter-spacing: -.025em;
  white-space: nowrap;
  animation: declaration-number-float 7.6s ease-in-out infinite;
}

.seal-prefix,
.seal-digit {
  display: block;
  color: #743b4d;
  filter: drop-shadow(0 1px 0 rgba(255, 255, 255, .9))
    drop-shadow(0 5px 7px rgba(96, 38, 58, .13));
}

.seal-prefix {
  font-size: .25em;
  letter-spacing: -.045em;
}

.seal-digit {
  font-size: 1em;
}

@supports ((background-clip: text) or (-webkit-background-clip: text)) {
  .seal-prefix,
  .seal-digit {
    background: linear-gradient(108deg, #71364a 13%, #985b6b 37%, #6c3044 46%, #dbadb0 51%, #8e4e62 56%, #683045 67%, #955469 88%);
    background-size: 260% 100%;
    background-position: 100% 50%;
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
    animation: declaration-number-light 12s ease-in-out infinite;
  }
}

.seal-world {
  margin-top: 17px;
  font-size: 12px;
  letter-spacing: .37em;
  text-indent: .37em;
}

.seal-patent {
  display: block;
  margin-top: 17px;
  color: #693a4b;
  font-family: var(--font-brand);
  font-size: 20px;
  font-weight: 500;
  line-height: 1.18;
  letter-spacing: -.02em;
}

.seal-stages {
  display: block;
  max-width: 100%;
  margin-top: 9px;
  padding: 0 8px;
  color: #80616d;
  font-family: var(--font-ui);
  font-size: 10px;
  font-weight: 300;
  line-height: 1.5;
  text-wrap: balance;
}

.seal-date {
  margin-top: 15px;
  font-size: 10px;
  letter-spacing: .16em;
}

.declaration-baseline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  max-width: 1184px;
  min-height: 59px;
  margin: 21px auto 0;
  border-top: 1px solid var(--declaration-rule);
}

.declaration-values {
  margin: 0;
  color: #815665;
  font-family: var(--font-soul);
  font-size: 20px;
  font-style: italic;
  font-weight: 400;
  line-height: 1.4;
}

.motion-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  flex-shrink: 0;
  min-height: 44px;
  padding: 8px 0 8px 12px;
  border: 0;
  background: transparent;
  color: #755965;
  font-family: var(--font-ui);
  font-size: 10px;
  font-weight: 500;
  line-height: 1.4;
  cursor: pointer;
}

.motion-toggle::before {
  content: "Ⅱ";
  font-size: 15px;
  line-height: 1;
}

.motion-paused .motion-toggle::before {
  content: "▷";
}

.declaration-note {
  max-width: 1184px;
  margin: 0 auto;
  color: #7c6c72;
  font-size: 10px;
  font-weight: 300;
  line-height: 1.55;
}

.comparison {
  padding: 73px 28px 76px;
  border-top: 1px solid rgba(121, 79, 94, .13);
  background: #fffdf9;
}

.comparison-inner {
  max-width: 1184px;
  min-width: 0;
  margin: 0 auto;
}

.comparison-heading {
  display: grid;
  grid-template-columns: 1fr .74fr;
  align-items: end;
  gap: 60px;
  margin-bottom: 34px;
}

.comparison-eyebrow {
  margin-bottom: 18px;
}

.comparison-title {
  margin: 0;
  font-family: var(--font-brand);
  font-size: clamp(42px, 4.55vw, 65px);
  font-weight: 500;
  line-height: 1.02;
  letter-spacing: -.045em;
  text-wrap: balance;
}

.comparison-intro {
  max-width: 400px;
  margin: 0 0 4px;
  color: var(--declaration-muted);
  font-size: 15px;
  line-height: 1.65;
  text-wrap: pretty;
}

.comparison-basics {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px 40px;
  margin-bottom: 28px;
  padding: 26px 30px;
  border-left: 3px solid var(--declaration-wine);
  background: #f8f0ee;
}

.comparison-basics > div { min-width: 0; }
.comparison-basics-label {
  margin: 0 0 13px;
  color: var(--declaration-wine);
  font-size: 10px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: .12em;
}
.comparison-basics ul {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 18px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.comparison-basics li {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.7;
}
.comparison-basics-added > p:last-child {
  margin: 0;
  color: var(--declaration-muted);
  font-size: 16px;
  line-height: 1.7;
  text-wrap: pretty;
}
@media (max-width: 700px) {
  .comparison-basics { grid-template-columns: minmax(0,1fr); gap: 20px; padding: 23px 20px; }
  .comparison-basics ul { display: grid; gap: 2px; }
  .comparison-basics-added { padding-top: 20px; border-top: 1px solid var(--declaration-rule); }
}

.comparison-controls {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  padding: 21px 0;
  border-top: 1px solid var(--declaration-rule);
}

.comparison-switches {
  display: none;
  align-items: end;
  flex-wrap: wrap;
  gap: 12px;
  min-width: 0;
}

.comparison-lineup {
  margin: 0 0 13px;
  color: var(--declaration-wine);
  font-size: 14px;
  font-weight: 500;
}

.comparison-lineup span {
  margin: 0 12px;
  color: #ac939c;
}

.comparison-switches label {
  display: grid;
  gap: 7px;
  color: #725b65;
  font-size: 10px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: .045em;
}

.comparison-switches select {
  width: 166px;
  max-width: 100%;
  min-height: 44px;
  padding: 10px 32px 10px 13px;
  border: 1px solid rgba(120, 73, 90, .25);
  border-radius: 2px;
  background-color: #fffdf9;
  color: #4b343e;
  font-family: var(--font-ui);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.4;
  cursor: pointer;
}

#comparison-view {
  min-height: 44px;
  padding: 10px 16px;
  border: 1px solid rgba(120, 73, 90, .25);
  border-radius: 2px;
  background: #f9f1ee;
  color: var(--declaration-wine);
  font-family: var(--font-ui);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.4;
  cursor: pointer;
}

#comparison-view[aria-pressed="true"] {
  border-color: var(--declaration-wine);
  background: var(--declaration-wine);
  color: #fffaf7;
}

.comparison-date {
  flex: 0 0 auto;
  margin-bottom: 13px;
  color: #7c6c72;
  font-size: 10px;
  line-height: 1.6;
  letter-spacing: .025em;
}

.comparison-scope {
  max-width: 780px;
  margin: 0 0 18px;
  color: #7c6a71;
  font-size: 11px;
  line-height: 1.6;
}

.comparison-scroll {
  width: 100%;
  overflow-x: auto;
  overscroll-behavior-x: contain;
}

.comparison-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  text-align: left;
}

.comparison-table th,
.comparison-table td {
  border-bottom: 1px solid var(--declaration-rule);
  vertical-align: top;
  overflow-wrap: break-word;
}

.comparison-table thead th {
  padding: 24px 22px 25px;
  border-top: 1px solid var(--declaration-rule);
  font-weight: 500;
}

.comparison-table thead th:first-child {
  padding-left: 0;
  vertical-align: bottom;
  color: #7e6b73;
  font-size: 11px;
  font-weight: 300;
}

.comparison-table thead th:nth-child(2) {
  border-top: 2px solid var(--declaration-wine);
  background: #f5ebe7;
}

.column-brand {
  display: grid;
  gap: 7px;
  font-family: var(--font-brand);
  font-size: 27px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -.03em;
}

.comparison-table thead th:nth-child(2) .column-brand {
  color: var(--declaration-wine);
}

.column-type {
  display: block;
  margin-top: 7px;
  color: #7d6871;
  font-family: var(--font-ui);
  font-size: 10px;
  font-weight: 300;
  line-height: 1.5;
  letter-spacing: .015em;
}

.comparison-table tbody th {
  padding: 26px 20px 26px 0;
  color: #55414a;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.55;
}

.row-index {
  display: block;
  margin-bottom: 9px;
  color: #9e7886;
  font-size: 10px;
  font-weight: 300;
  line-height: 1;
  letter-spacing: .075em;
  font-variant-numeric: tabular-nums;
}

.comparison-table td {
  padding: 24px 22px 19px;
}

.comparison-table .fng-cell {
  background: #faf2ee;
}

.cell-heading {
  display: block;
  margin: 0;
  color: #47323c;
  font-family: var(--font-ui);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.45;
}

.fng-cell .cell-heading {
  color: #733e50;
}

.cell-description {
  margin: 8px 0 0;
  color: #77646d;
  font-size: 13px;
  line-height: 1.65;
  text-wrap: pretty;
}

.cell-source {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  margin-top: 2px;
  color: #7b5261;
  font-size: 10px;
  font-weight: 500;
  line-height: 1.45;
  text-decoration: underline;
  text-decoration-color: rgba(123, 82, 97, .4);
  text-underline-offset: 3px;
}

.cell-source:hover {
  text-decoration-color: currentColor;
}

.comparison-table tr.highlighted :is(th, td) {
  background-color: #f9f2ee;
}

.comparison-table tr.highlighted .fng-cell {
  background-color: #f2e4dd;
}

.comparison-table.is-focused tbody tr:not(.highlighted) {
  display: none;
}

.comparison-context {
  margin-top: 32px;
  padding: 26px 0 0;
  border-top: 1px solid var(--declaration-rule);
  color: #725b65;
  font-size: 14px;
  line-height: 1.65;
}

.context-eyebrow {
  margin: 0 0 12px;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: .08em;
}

.comparison-context h3 {
  margin: 0 0 12px;
  color: var(--declaration-wine);
  font-family: var(--font-brand);
  font-size: clamp(23px, 2.2vw, 30px);
  font-weight: 500;
  line-height: 1.25;
}

.context-description { max-width: 920px; margin: 0; }

.context-platforms {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px 28px;
  margin: 21px 0 0;
  padding: 0;
  list-style: none;
  font-size: 13px;
}

.context-platforms li { min-width: 0; }
.context-platforms a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--declaration-wine);
  font-weight: 500;
  text-decoration: underline;
  text-underline-offset: 4px;
  text-decoration-color: rgba(123, 82, 97, .3);
}
.context-platforms span { display: block; }

.comparison-footnotes {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px 42px;
  margin-top: 24px;
  color: #7c6a71;
  font-size: 12px;
  line-height: 1.65;
}

.comparison-footnotes p {
  margin: 0;
}

.comparison-footnotes strong {
  color: #654954;
  font-weight: 500;
}

.comparison-sources {
  margin-top: 23px;
  border-top: 1px solid var(--declaration-rule);
  border-bottom: 1px solid var(--declaration-rule);
  color: #735864;
  font-size: 12px;
  line-height: 1.6;
}

.comparison-sources summary {
  min-height: 51px;
  padding: 16px 0;
  font-weight: 500;
  cursor: pointer;
}

.comparison-sources summary > span {
  float: right;
  margin-right: 2px;
  font-size: 17px;
  font-weight: 300;
  line-height: 1;
}

.comparison-sources > p {
  max-width: 760px;
  margin: 0 0 15px;
}

.source-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 4px 28px;
  padding: 0 0 20px;
}

.source-grid a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 7px 0;
  text-decoration: underline;
  text-underline-offset: 4px;
  text-decoration-color: rgba(123, 82, 97, .3);
  overflow-wrap: anywhere;
}

.seal-number > .sr-only,
.comparison .sr-only,
.comparison-status {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.fng-declaration-page.motion-paused *,
.fng-declaration-page.motion-paused *::before,
.fng-declaration-page.motion-paused *::after {
  animation-play-state: paused !important;
}

@keyframes declaration-orbit {
  0%, 100% { transform: translateY(0) rotate(var(--orbit-angle)); }
  50% { transform: translateY(-8px) rotate(calc(var(--orbit-angle) + 7deg)); }
}

@keyframes declaration-number-float {
  0%, 50%, 100% { transform: translateY(0); }
  25% { transform: translateY(-6px); }
  75% { transform: translateY(6px); }
}

@keyframes declaration-number-light {
  0%, 15%, 100% { background-position: 100% 50%; }
  60%, 75% { background-position: 0% 50%; }
}

/* One entrance, timed as two landings; the continuous motion begins after rest. */
.seal-awaiting .seal-number { animation: none; }
.seal-awaiting :is(.seal-prefix, .seal-digit, .seal-world, .seal-patent, .seal-stages, .seal-date) { opacity: 0; }
.seal-entered .seal-number {
  animation-delay: 1.6s;
  clip-path: inset(-12px -32px -24px -32px);
}
.seal-entered :is(.seal-prefix, .seal-digit) { transform-origin: 50% 100%; }
.seal-entered .seal-prefix {
  animation: seal-land .66s linear .1s both, declaration-number-light 12s ease-in-out 1.6s infinite;
}
.seal-entered .seal-digit {
  animation: seal-land .72s linear .32s both, declaration-number-light 12s ease-in-out 1.6s infinite;
}
.seal-entered .seal-world { animation: seal-caption .4s ease-out 1.02s both; }
.seal-entered .seal-patent { animation: seal-caption .48s ease-out 1.12s both; }
.seal-entered :is(.seal-stages, .seal-date) { animation: seal-caption .45s ease-out 1.28s both; }
.seal-entered .pearl-orbit {
  animation-name: declaration-orbit, seal-ring-impact;
  animation-duration: 18s, 1.08s;
  animation-timing-function: ease-in-out, linear;
  animation-delay: 0s, 0s;
  animation-iteration-count: infinite, 1;
}
.seal-entered .orbit-b { animation-duration: 22s, 1.08s; animation-delay: -8s, 0s; }
.seal-entered .orbit-c { animation-duration: 26s, 1.08s; animation-delay: -15s, 0s; }
.seal-entered::after { animation: seal-impact-shadow 1.12s linear both; }
@keyframes seal-land {
  0% { opacity: 0; transform: translateY(-130px) scale(.96, 1.03); animation-timing-function: cubic-bezier(.5, 0, .88, .52); }
  14% { opacity: 1; }
  62% { opacity: 1; transform: translateY(3px) scale(1.055, .935); animation-timing-function: ease-out; }
  80% { opacity: 1; transform: translateY(-4px) scale(.985, 1.025); animation-timing-function: ease-in-out; }
  100% { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes seal-caption {
  from { opacity: 0; transform: translateY(7px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes seal-ring-impact {
  0%, 44%, 64%, 100% { scale: 1; }
  49% { scale: 1.012 .99; }
  72% { scale: 1.028 .98; }
  85% { scale: .995 1.005; }
}
@keyframes seal-impact-shadow {
  0%, 38% { opacity: .4; scale: .88; }
  46% { opacity: .8; scale: 1.025; }
  59% { opacity: .55; scale: .97; }
  69% { opacity: 1; scale: 1.09; }
  100% { opacity: 1; scale: 1; }
}

@media (min-width: 1500px) {
  .declaration {
    padding-top: 145px;
    padding-bottom: 25px;
  }

  .declaration-inner { min-height: 460px; }
}

@media (max-width: 1100px) {
  .declaration-inner { gap: 15px; }
  .declaration-title { font-size: 80px; }
  .declaration-art { height: 390px; }
  .declaration-eyebrow { font-size: 9px; letter-spacing: .15em; }
  .comparison-heading { gap: 40px; }
  .comparison-table :is(th, td) { padding-right: 17px; padding-left: 17px; }
  .column-brand { font-size: 24px; }
}

@media (max-width: 850px) {
  .declaration { padding-top: 120px; }
  .declaration-inner { grid-template-columns: 1fr .9fr; gap: 6px; }
  .declaration-title { font-size: 70px; }
  .declaration-subtitle { max-width: 350px; font-size: 15px; }
  .declaration-art { height: 355px; }
  .seal-number { font-size: 186px; }
  .seal-eyebrow { font-size: 9px; letter-spacing: .15em; }
  .seal-world { font-size: 10px; }
  .seal-patent { margin-top: 14px; font-size: 18px; }
  .seal-stages { font-size: 9px; }
  .seal-date { margin-top: 13px; font-size: 10px; }
  .declaration-actions { gap: 7px 18px; }
  .declaration-primary { padding-right: 17px; padding-left: 17px; gap: 16px; }
  .declaration-primary, .declaration-link { font-size: 11px; }
  .comparison { padding-top: 56px; }
  .comparison-heading { grid-template-columns: 1fr; gap: 22px; }
  .comparison-intro { max-width: 570px; }
  .comparison-controls { align-items: start; flex-direction: column; gap: 11px; }
  .comparison-date { margin-bottom: 0; }
  .comparison-table td { padding: 20px 14px 14px; }
  .column-brand { font-size: 21px; }
  .cell-heading { font-size: 13px; }
  .cell-description { font-size: 12px; }
}

@media (max-width: 700px) {
  .declaration {
    padding: 117px 24px 23px;
    background:
      radial-gradient(ellipse at 79% 55%, rgba(231, 192, 196, .4), transparent 46%),
      linear-gradient(130deg, #faf4ed, #fdfaf6 50%, #f5e9e7);
  }

  .declaration-inner { grid-template-columns: 1fr; gap: 8px; min-height: 0; }
  .declaration-copy { padding: 0; }
  .declaration-eyebrow { margin-bottom: 23px; }
  .declaration-title { font-size: clamp(60px, 13.3vw, 80px); line-height: .95; }
  .declaration-subtitle { max-width: 420px; margin-top: 23px; font-size: 16px; }
  .declaration-actions { gap: 18px; margin-top: 22px; }
  .declaration-primary, .declaration-link { font-size: 12px; }
  .declaration-primary { min-height: 48px; padding-right: 20px; padding-left: 20px; }
  .declaration-art { max-width: 390px; height: 354px; margin: 12px auto 0; }
  .declaration-art::before { width: 63%; }
  .orbit-a { left: 5%; width: 90%; }
  .orbit-b { left: 11%; width: 80%; }
  .orbit-c { left: 29%; width: 44%; }
  .pearl-orbit { border-width: 9px; }
  .orbit-b { border-width: 7px; }
  .orbit-c { border-width: 12px; }
  .seal-eyebrow { margin-bottom: 17px; font-size: 9px; }
  .seal-number { font-size: 200px; }
  .seal-world { margin-top: 14px; font-size: 10px; }
  .seal-patent { margin-top: 14px; font-size: 18px; }
  .seal-date { margin-top: 13px; }
  .declaration-baseline { margin-top: 0; min-height: 58px; gap: 10px; }
  .declaration-values { font-size: 18px; }
  .declaration-note { font-size: 10px; }
  .motion-toggle { padding-left: 0; font-size: 9px; }

  .comparison { padding: 50px 24px 56px; }
  .comparison-heading { gap: 19px; margin-bottom: 27px; }
  .comparison-eyebrow { margin-bottom: 17px; font-size: 9px; }
  .comparison-title { font-size: clamp(38px, 8.7vw, 54px); }
  .comparison-intro { font-size: 14px; }
  .comparison-controls { padding: 18px 0 22px; gap: 13px; }
  .comparison-lineup { display: none; }
  .comparison-switches { display: flex; width: 100%; justify-content: space-between; gap: 12px; }
  .comparison-switches label { flex: 1 1 135px; }
  .comparison-switches select { width: 100%; }
  #comparison-view { flex: 0 1 auto; padding: 10px 12px; font-size: 11px; }
  .comparison .compare-secondary { display: none !important; }
  .comparison-scroll { overflow: visible; }
  .comparison-table { display: block; }
  .comparison-table colgroup { display: none; }
  .comparison-table thead, .comparison-table tbody { display: block; }
  .comparison-table thead tr { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .comparison-table thead th { display: block; padding: 21px 14px; border-bottom: 1px solid var(--declaration-rule); }
  .comparison-table thead th:first-child { display: none; }
  .comparison-table thead th:nth-child(2) { padding-top: 20px; }
  .column-brand { font-size: 24px; line-height: 1.2; letter-spacing: -.025em; }
  .column-type { font-size: 10px; }
  .comparison-table tbody tr { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .comparison-table tbody th {
    grid-column: 1 / -1;
    display: flex;
    align-items: baseline;
    gap: 10px;
    padding: 17px 0 12px;
    border-bottom: 0;
    font-size: 12px;
    line-height: 1.4;
  }
  .row-index { margin: 0; font-size: 9px; }
  .comparison-table td { display: block; min-width: 0; padding: 17px 14px 13px; }
  .cell-heading { font-size: 13px; }
  .cell-description { font-size: 12px; line-height: 1.6; }
  .cell-source { font-size: 10px; }
  .comparison-table tr.highlighted th { background: transparent; }
  .comparison-table.is-focused tbody tr:not(.highlighted) { display: none; }
  .context-platforms { grid-template-columns: 1fr; gap: 6px; }
  .comparison-footnotes { grid-template-columns: 1fr; gap: 11px; margin-top: 22px; font-size: 11px; }
  .comparison-sources { margin-top: 21px; }
  .source-grid { grid-template-columns: 1fr 1fr; gap: 4px 18px; }
}

@media (max-width: 380px) {
  .declaration { padding-right: 20px; padding-left: 20px; }
  .declaration-title { font-size: 55px; }
  .declaration-eyebrow { font-size: 8px; letter-spacing: .1em; }
  .declaration-eyebrow::before { width: 15px; margin-right: 8px; }
  .declaration-subtitle { font-size: 15px; }
  .declaration-actions { gap: 10px 16px; }
  .declaration-primary { padding-right: 15px; padding-left: 15px; gap: 15px; font-size: 11px; }
  .declaration-link { font-size: 11px; }
  .declaration-art { height: 346px; }
  .seal-number { font-size: 192px; }
  .seal-eyebrow { font-size: 9px; }
  .declaration-values { font-size: 15px; }
  .comparison { padding-right: 20px; padding-left: 20px; }
  .comparison-title { font-size: 38px; }
  .comparison-switches { gap: 9px; }
  .comparison-switches label { flex-basis: 120px; }
  #comparison-view { padding-right: 10px; padding-left: 10px; font-size: 10px; }
  .comparison-table thead th { padding-right: 11px; padding-left: 11px; }
  .column-brand { font-size: 20px; }
  .comparison-table td { padding-right: 11px; padding-left: 11px; }
  .cell-heading { font-size: 12px; }
  .cell-description { font-size: 11px; }
  .source-grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .fng-declaration-page :is(.declaration, .comparison) *,
  .fng-declaration-page :is(.declaration, .comparison) *::before,
  .fng-declaration-page :is(.declaration, .comparison) *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto;
  }
}

/* Keep proof, comparison copy and the declaration readable at every size. */
.declaration-note{font-size:12px;color:#6d5c64}
.cell-heading{font-size:16px}
.cell-description{font-size:15px;color:#66535d}
.comparison-table tbody th{font-size:14px}
.column-type,.comparison-scope{font-size:12px}
.comparison-footnotes{font-size:12px}
@media(max-width:850px){.cell-heading{font-size:14px}.cell-description{font-size:14px}}
@media(max-width:700px){.declaration-note{font-size:12px}.cell-heading{font-size:14px}.cell-description{font-size:14px}.column-type{font-size:11px}}
/* Account for desktop scrollbars in narrow preview frames and small screens. */
.fng-declaration-page > .ambient{display:none}
.fng-declaration-page .nav-shell,
.fng-declaration-page .section-wrap,
.fng-declaration-page .footer-wrap{max-width:100%}

/* Original entertainment — one story, a full portrait, and a little atmosphere. */
.entertainment {
  --entertainment-ivory: #fbf4e9;
  --entertainment-muted: #d4c1be;
  --entertainment-accent: #e4c3a2;
  --entertainment-rule: rgba(231, 197, 166, .23);
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 70px 28px 35px;
  background:
    radial-gradient(ellipse at 80% 39%, rgba(144, 84, 89, .24), transparent 45%),
    radial-gradient(ellipse at 7% 0, rgba(127, 72, 79, .17), transparent 43%),
    linear-gradient(120deg, #2e1824, #452632 69%, #321b28);
  color: var(--entertainment-ivory);
  font-family: var(--font-ui);
  font-weight: 300;
  scroll-margin-top: 115px;
}

.entertainment *,
.entertainment *::before,
.entertainment *::after {
  box-sizing: border-box;
}

.entertainment [hidden] {
  display: none !important;
}

.fng-declaration-page .entertainment :is(a, button):focus-visible {
  outline: 2px solid var(--entertainment-ivory);
  outline-offset: 5px;
}

.entertainment-inner {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr);
  column-gap: 76px;
  max-width: 1184px;
  margin: 0 auto;
}

.entertainment-heading {
  grid-column: 1;
  grid-row: 1;
  min-width: 0;
  padding-bottom: 31px;
}

.entertainment-kicker,
.format-type,
.chapter-kicker {
  color: var(--entertainment-accent);
  font-size: 10px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .17em;
  text-transform: uppercase;
}

.entertainment-kicker {
  margin: 0 0 21px;
}

.entertainment-kicker::before {
  content: "";
  display: inline-block;
  width: 25px;
  height: 1px;
  margin: 0 11px 3px 0;
  background: currentColor;
}

.entertainment-heading h2 {
  margin: 0;
  font-family: var(--font-brand);
  font-size: clamp(49px, 4.65vw, 66px);
  font-weight: 500;
  line-height: 1.01;
  letter-spacing: -.043em;
}

.entertainment-heading h2 em {
  color: var(--entertainment-accent);
  font-family: var(--font-soul);
  font-style: italic;
  font-weight: 400;
  letter-spacing: -.045em;
}

.entertainment-bridge {
  max-width: 420px;
  margin: 21px 0 0;
  color: var(--entertainment-muted);
  font-size: 15px;
  line-height: 1.65;
  text-wrap: pretty;
}

/* The portrait shares the heading and story rows without repeating content. */
.entertainment-layout {
  display: contents;
}

.entertainment-copy {
  grid-column: 1;
  grid-row: 2;
  min-width: 0;
}

.format-type {
  margin: 0 0 12px;
  letter-spacing: .13em;
}

.entertainment-copy h3 {
  margin: 0 0 17px;
  color: var(--entertainment-ivory);
  font-family: var(--font-brand);
  font-size: clamp(31px, 3.03vw, 43px);
  font-weight: 500;
  line-height: 1.13;
  letter-spacing: -.035em;
}

.entertainment-copy h3 sup {
  position: relative;
  top: -.15em;
  margin-left: .13em;
  color: var(--entertainment-accent);
  font-family: var(--font-ui);
  font-size: .28em;
  font-weight: 300;
  letter-spacing: 0;
}

.format-description {
  max-width: 560px;
  margin: 0;
  color: var(--entertainment-muted);
  font-size: 15px;
  line-height: 1.7;
  text-wrap: pretty;
}

.story-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 25px;
  border-bottom: 1px solid var(--entertainment-rule);
}

.story-tab {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  min-width: 0;
  min-height: 49px;
  margin: 0;
  padding: 9px 0 13px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #cfb8b8;
  font-family: var(--font-ui);
  cursor: pointer;
  transition: color .25s ease;
}

.story-tab::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 2px;
  background: var(--entertainment-accent);
  opacity: 0;
  transition: opacity .25s ease;
}

.story-tab > span {
  font-size: 10px;
  font-weight: 300;
  letter-spacing: .03em;
  font-variant-numeric: tabular-nums;
}

.story-tab > strong {
  font-size: 13px;
  font-weight: 500;
  line-height: 1.4;
}

.story-tab:hover,
.story-tab[aria-selected="true"] {
  color: var(--entertainment-ivory);
}

.story-tab[aria-selected="true"]::after {
  opacity: 1;
}

.story-panel {
  padding-top: 23px;
}

.chapter-kicker {
  margin: 0 0 9px;
  font-size: 9px;
  letter-spacing: .15em;
}

.story-panel h4 {
  margin: 0 0 10px;
  color: var(--entertainment-ivory);
  font-family: var(--font-brand);
  font-size: 26px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -.02em;
}

.story-panel > p:not(.chapter-kicker) {
  max-width: 500px;
  margin: 0;
  color: var(--entertainment-muted);
  font-size: 14px;
  line-height: 1.65;
  text-wrap: pretty;
}

.chapter-link {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  margin-top: 4px;
  padding: 8px 0;
  color: var(--entertainment-accent);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.4;
  text-decoration: underline;
  text-decoration-color: rgba(228, 195, 162, .45);
  text-underline-offset: 5px;
  transition: text-decoration-color .2s ease;
}

.chapter-link:hover {
  text-decoration-color: currentColor;
}

.entertainment-actions {
  margin-top: 12px;
}

.entertainment-play {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 13px;
  max-width: 100%;
  min-height: 51px;
  padding: 12px 17px;
  border: 1px solid rgba(233, 203, 173, .48);
  border-radius: 2px;
  background: rgba(250, 232, 211, .035);
  color: var(--entertainment-ivory);
  font-family: var(--font-ui);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.45;
  cursor: pointer;
  transition: background-color .25s ease, border-color .25s ease;
}

.entertainment-play:hover {
  border-color: var(--entertainment-accent);
  background: rgba(250, 232, 211, .09);
}

.play-symbol {
  color: var(--entertainment-accent);
  font-size: 10px;
  line-height: 1;
}

.entertainment-play small {
  padding-left: 11px;
  border-left: 1px solid var(--entertainment-rule);
  color: var(--entertainment-muted);
  font-size: 9px;
  font-weight: 300;
  letter-spacing: .08em;
  white-space: nowrap;
}

.entertainment-art {
  position: relative;
  isolation: isolate;
  grid-column: 2;
  grid-row: 1 / span 2;
  align-self: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 0;
  margin: 0;
  padding: 25px 0 10px;
}

.entertainment-art::before {
  content: "";
  position: absolute;
  z-index: -2;
  top: 9%;
  left: -9%;
  width: 116%;
  height: 83%;
  border-radius: 50%;
  background: radial-gradient(ellipse, rgba(211, 157, 122, .13), transparent 68%);
  opacity: .78;
  pointer-events: none;
}

.story-numeral {
  position: absolute;
  z-index: -1;
  top: -12px;
  left: -32px;
  color: rgba(232, 195, 163, .11);
  font-family: "bc-vajgar", var(--font-brand);
  font-size: clamp(220px, 29vw, 394px);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -.07em;
  white-space: nowrap;
  pointer-events: none;
}

.story-orbit {
  position: absolute;
  z-index: -1;
  top: 26%;
  left: -13%;
  width: 125%;
  height: 48%;
  border: 1px solid rgba(232, 195, 163, .24);
  border-radius: 50%;
  transform: rotate(-27deg);
  transition: transform 1.2s ease, border-color 1.2s ease;
  pointer-events: none;
}

.story-orbit::after {
  content: "";
  position: absolute;
  top: 10%;
  right: 15%;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #e8cba8;
  box-shadow: 0 0 17px 4px rgba(232, 195, 163, .23);
  opacity: .74;
}

.story-poster {
  position: relative;
  width: 300px;
  max-width: 100%;
  aspect-ratio: 480 / 853;
  border: 1px solid rgba(235, 207, 173, .35);
  border-radius: 2px;
  background: #030303;
  box-shadow: 0 28px 65px rgba(15, 5, 12, .34), 0 7px 20px rgba(15, 5, 12, .2);
  transform-origin: 50% 60%;
}

.story-poster img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #030303;
  opacity: 0;
  transition: opacity .5s ease;
  pointer-events: none;
}

.story-poster img.is-active {
  opacity: 1;
}

.poster-label {
  position: absolute;
  right: 0;
  bottom: calc(100% + 13px);
  color: var(--entertainment-accent);
  font-size: 9px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: .2em;
  text-align: right;
}

.entertainment-art figcaption {
  max-width: 310px;
  margin-top: 21px;
  color: #cbb8b5;
  font-size: 10px;
  line-height: 1.55;
  text-align: center;
}

.entertainment[data-scene="craft"] .story-orbit {
  border-color: rgba(232, 195, 163, .34);
  transform: rotate(-12deg);
}

.entertainment[data-scene="products"] .story-orbit {
  border-color: rgba(239, 183, 171, .35);
  transform: rotate(13deg);
}

.entertainment[data-scene="craft"] .poster-label {
  color: #e4ccac;
}

.entertainment[data-scene="products"] .poster-label {
  color: #efc1b5;
}

.entertainment-bottom {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: 36px;
  padding-top: 13px;
  border-top: 1px solid var(--entertainment-rule);
}

.format-credentials {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 1px 24px;
  min-width: 0;
}

.format-credentials > span {
  color: #cbb8b5;
  font-size: 9px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .12em;
}

.format-credentials a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 44px;
  color: #e5cebf;
  font-size: 10px;
  font-weight: 300;
  line-height: 1.5;
  text-decoration: underline;
  text-decoration-color: rgba(228, 195, 162, .3);
  text-underline-offset: 4px;
  overflow-wrap: anywhere;
}

.format-credentials a:hover {
  text-decoration-color: currentColor;
}

.entertainment-motion {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 44px;
  min-height: 44px;
  padding: 9px 0 9px 12px;
  border: 0;
  background: transparent;
  color: #d5beb9;
  font-family: var(--font-ui);
  font-size: 10px;
  font-weight: 300;
  line-height: 1.4;
  cursor: pointer;
}

.entertainment-motion::before {
  content: "Ⅱ";
  font-size: 15px;
  line-height: 1;
}

.motion-paused .entertainment-motion::before {
  content: "▷";
}

.entertainment-next {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 9px 20px;
  align-items: center;
  min-height: 90px;
  margin-top: 15px;
  padding: 23px 0 0;
  border-top: 1px solid var(--entertainment-rule);
}

.entertainment-next > span:first-child {
  color: var(--entertainment-accent);
  font-size: 9px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .16em;
}

.entertainment-next > strong {
  grid-column: 1;
  color: var(--entertainment-ivory);
  font-family: var(--font-brand);
  font-size: 24px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -.018em;
}

.entertainment-next > span:last-child {
  grid-column: 2;
  grid-row: 1 / span 2;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(232, 195, 163, .35);
  border-radius: 50%;
  color: var(--entertainment-accent);
  font-size: 23px;
  font-weight: 300;
  line-height: 1;
  transition: background-color .25s ease;
}

.entertainment-next:hover > span:last-child {
  background: rgba(250, 232, 211, .08);
}

/* Motion is an enhancement; the complete composition is visible without JS. */
.fng-declaration-page .culture-grid-food {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.entertainment.is-ready.is-visible .story-poster {
  animation: entertainment-poster-float 10s ease-in-out infinite;
}

.entertainment.is-ready.is-visible .entertainment-art::before {
  animation: entertainment-light-breathe 13s ease-in-out infinite;
}

.entertainment.is-ready.is-visible .story-orbit::after {
  animation: entertainment-orbit-light 8s ease-in-out infinite;
}

.motion-paused .entertainment *,
.motion-paused .entertainment *::before,
.motion-paused .entertainment *::after {
  animation-play-state: paused !important;
}

@keyframes entertainment-poster-float {
  0%, 100% { transform: translateY(3px) rotate(-.65deg); }
  50% { transform: translateY(-5px) rotate(.65deg); }
}

@keyframes entertainment-light-breathe {
  0%, 100% { opacity: .62; transform: scale(.97); }
  50% { opacity: 1; transform: scale(1.04); }
}

@keyframes entertainment-orbit-light {
  0%, 100% { opacity: .46; }
  50% { opacity: .95; }
}

@media (max-width: 1100px) {
  .entertainment-inner { column-gap: 43px; }
  .entertainment-heading h2 { font-size: 56px; }
  .story-poster { width: 280px; }
  .story-numeral { left: -24px; font-size: 300px; }
  .format-credentials { gap: 0 18px; }
  .format-credentials > span { flex-basis: 100%; padding-top: 7px; }
}

@media (max-width: 850px) {
  .entertainment { padding: 58px 24px 31px; }
  .entertainment-inner { column-gap: 30px; }
  .entertainment-heading h2 { font-size: 47px; }
  .entertainment-copy h3 { font-size: 31px; }
  .entertainment-bridge { font-size: 14px; }
  .format-description { font-size: 14px; }
  .story-tab { gap: 7px; }
  .story-tab > strong { font-size: 12px; }
  .story-tabs { gap: 10px; }
  .story-poster { width: 250px; }
  .story-numeral { left: -14px; font-size: 256px; }
  .story-panel h4 { font-size: 24px; }
  .entertainment-bottom { align-items: flex-end; }
}

@media (max-width: 700px) {
  .fng-declaration-page .culture-grid-food { grid-template-columns: 1fr; }
  .entertainment { padding: 52px 22px 30px; }
  .entertainment-inner { display: block; }
  .entertainment-heading { padding-bottom: 30px; }
  .entertainment-kicker { margin-bottom: 22px; font-size: 9px; letter-spacing: .15em; }
  .entertainment-heading h2 { font-size: 45px; }
  .entertainment-bridge { max-width: 390px; margin-top: 20px; font-size: 15px; }
  .entertainment-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; }
  .entertainment-copy { display: contents; }
  .format-type { grid-row: 1; font-size: 9px; letter-spacing: .11em; }
  .entertainment-copy h3 { grid-row: 2; max-width: 100%; font-size: 34px; }
  .format-description { grid-row: 3; font-size: 15px; line-height: 1.65; }
  .story-tabs { grid-row: 4; gap: 16px; margin-top: 24px; }
  .story-tab { gap: 9px; }
  .story-tab > strong { font-size: 13px; }
  .story-panel { grid-row: 6; padding-top: 26px; }
  .story-panel h4 { font-size: 26px; }
  .entertainment-actions { grid-row: 7; margin-top: 12px; }
  .entertainment-play { width: 100%; justify-content: flex-start; padding: 13px 16px; }
  .entertainment-play small { margin-left: auto; }
  .entertainment-art { grid-column: 1; grid-row: 5; width: min(100%, 390px); margin: 0 auto; padding-top: 43px; padding-bottom: 0; }
  .story-poster { width: 250px; }
  .story-numeral { top: -8px; left: -4px; font-size: 280px; }
  .story-orbit { top: 25%; left: -5%; width: 110%; height: 48%; }
  .entertainment-art figcaption { margin-top: 20px; }
  .entertainment-bottom { align-items: flex-start; gap: 8px 16px; margin-top: 29px; padding-top: 19px; }
  .format-credentials { flex-direction: column; align-items: flex-start; gap: 0; }
  .format-credentials > span { flex-basis: auto; padding: 0 0 7px; font-size: 9px; }
  .format-credentials a { min-height: 44px; font-size: 11px; }
  .entertainment-motion { padding-top: 0; padding-bottom: 0; }
  .entertainment-next { margin-top: 19px; padding-top: 24px; gap: 10px 13px; }
  .entertainment-next > span:first-child { font-size: 8px; letter-spacing: .12em; }
  .entertainment-next > strong { font-size: 23px; }
}

@media (max-width: 390px) {
  .entertainment { padding-right: 20px; padding-left: 20px; }
  .entertainment-heading h2 { font-size: 42px; }
  .entertainment-copy h3 { font-size: 31px; }
  .story-tabs { gap: 11px; }
  .story-tab { gap: 7px; }
  .entertainment-play { gap: 10px; padding-right: 13px; padding-left: 13px; font-size: 11px; }
  .entertainment-play small { padding-left: 9px; font-size: 8px; }
  .entertainment-next > strong { font-size: 21px; }
}

@media (prefers-reduced-motion: reduce) {
  .entertainment *,
  .entertainment *::before,
  .entertainment *::after {
    animation: none !important;
    transition: none !important;
    transform: none !important;
    scroll-behavior: auto;
  }
}

/* Signature foods — an editorial product stage within the broader commerce story. */
.food-showcase {
  --food-paper: #fffaf4;
  --food-ink: #392b2d;
  --food-wine: #743b4d;
  --food-muted: #776466;
  --food-rule: rgba(116, 59, 77, .18);
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 82px 28px 30px;
  background:
    radial-gradient(ellipse at 94% 2%, rgba(229, 207, 181, .2), transparent 43%),
    var(--food-paper);
  color: var(--food-ink);
  font-family: var(--font-ui);
  font-weight: 300;
  scroll-margin-top: 112px;
}

.food-showcase *,
.food-showcase *::before,
.food-showcase *::after {
  box-sizing: border-box;
}

.food-showcase [hidden] {
  display: none !important;
}

.fng-declaration-page .food-showcase :is(a, button):focus-visible {
  outline: 2px solid var(--food-wine);
  outline-offset: 5px;
}

.food-inner {
  width: 100%;
  max-width: 1184px;
  margin: 0 auto;
}

.food-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, .7fr);
  column-gap: 70px;
  align-items: end;
}

.food-kicker,
.food-category {
  color: var(--food-wine);
  font-size: 10px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .17em;
  text-transform: uppercase;
}

.food-kicker {
  grid-column: 1 / -1;
  margin: 0 0 24px;
}

.food-kicker::before {
  content: "";
  display: inline-block;
  width: 25px;
  height: 1px;
  margin: 0 11px 3px 0;
  background: currentColor;
}

.food-heading h2 {
  margin: 0;
  font-family: var(--font-brand);
  font-size: clamp(45px, 4.8vw, 68px);
  font-weight: 500;
  line-height: 1.03;
  letter-spacing: -.042em;
}

.food-heading h2 em {
  color: var(--food-wine);
  font-family: var(--font-soul);
  font-style: italic;
  font-weight: 400;
  letter-spacing: -.04em;
}

.food-intro {
  max-width: 350px;
  margin: 0 0 4px;
  color: var(--food-muted);
  font-size: 15px;
  line-height: 1.7;
  text-wrap: pretty;
}

.food-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 30px;
  margin: 35px 0 29px;
  border-bottom: 1px solid var(--food-rule);
}

.food-tab {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 15px;
  min-width: 0;
  min-height: 58px;
  margin: 0;
  padding: 10px 0 17px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--food-muted);
  font-family: var(--font-ui);
  text-align: left;
  cursor: pointer;
  transition: color .25s ease;
}

.food-tab::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 2px;
  background: var(--food-wine);
  opacity: 0;
  transform: scaleX(.85);
  transform-origin: left center;
  transition: opacity .25s ease, transform .3s ease;
}

.food-tab > span {
  font-size: 10px;
  font-weight: 400;
  letter-spacing: .06em;
  font-variant-numeric: tabular-nums;
}

.food-tab > strong {
  font-family: var(--font-brand);
  font-size: 22px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -.02em;
}

.food-tab:hover,
.food-tab[aria-selected="true"] {
  color: var(--food-wine);
}

.food-tab[aria-selected="true"]::after {
  opacity: 1;
  transform: scaleX(1);
}

.food-stage {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr);
  align-items: center;
  gap: 58px;
}

.food-tabs[hidden] + .food-stage {
  margin-top: 30px;
}

.food-art {
  position: relative;
  min-width: 0;
  margin: 0;
}

.food-image-stack {
  position: relative;
  isolation: isolate;
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: 3px;
  background: #e8ddd0;
  box-shadow: 0 17px 43px -25px rgba(64, 32, 24, .4);
}

.food-image {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transform: scale(1.005);
  pointer-events: none;
  transition: opacity .55s ease;
  will-change: opacity;
}

.food-image.is-active {
  z-index: 1;
  opacity: 1;
}

.food-showcase.is-ready.is-visible .food-image.is-active {
  animation: food-image-breathe 16s ease-in-out infinite alternate;
}

.food-art-label {
  position: absolute;
  z-index: 2;
  top: 18px;
  left: 18px;
  padding: 8px 10px;
  border: 1px solid rgba(255, 250, 244, .3);
  background: rgba(37, 27, 25, .54);
  color: #fffaf4;
  font-size: 9px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: .15em;
  text-transform: uppercase;
  pointer-events: none;
}

.food-image-note {
  margin-top: 12px;
  color: var(--food-muted);
  font-size: 10px;
  line-height: 1.55;
}

.food-details {
  min-width: 0;
  padding: 2px 0 26px;
}

.food-panel {
  min-width: 0;
}

.food-showcase.is-ready .food-panel:not([hidden]) {
  animation: food-copy-arrive .4s ease both;
}

.food-category {
  margin: 0 0 16px;
  font-size: 9px;
  letter-spacing: .15em;
}

.food-panel h3 {
  margin: 0 0 18px;
  font-family: var(--font-brand);
  font-size: clamp(33px, 3.12vw, 44px);
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: -.035em;
  text-wrap: balance;
}

.food-description {
  max-width: 390px;
  margin: 0;
  color: var(--food-muted);
  font-size: 15px;
  line-height: 1.7;
  text-wrap: pretty;
}

.food-details-list {
  display: grid;
  gap: 15px;
  margin: 23px 0 13px;
}

.food-details-list > div {
  padding-top: 13px;
  border-top: 1px solid var(--food-rule);
}

.food-details-list dt {
  margin: 0 0 5px;
  color: var(--food-wine);
  font-size: 9px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.food-details-list dd {
  margin: 0;
  color: var(--food-muted);
  font-size: 13px;
  line-height: 1.6;
  text-wrap: pretty;
}

.food-link {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  min-height: 44px;
  padding: 7px 0;
  color: var(--food-wine);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.5;
  text-decoration: none;
  text-underline-offset: 4px;
}

.food-link:hover {
  text-decoration: underline;
}

.food-foundation {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
  column-gap: 60px;
  align-items: start;
  margin-top: 38px;
  padding: 26px 0 25px;
  border-top: 1px solid var(--food-rule);
  border-bottom: 1px solid var(--food-rule);
}

.food-foundation > p:first-child {
  grid-column: 1;
  margin: 0 0 12px;
  color: var(--food-wine);
  font-size: 9px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.food-foundation h3 {
  grid-column: 1;
  margin: 0;
  font-family: var(--font-brand);
  font-size: 30px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -.025em;
}

.food-foundation-steps {
  display: flex;
  flex-wrap: wrap;
  grid-column: 2;
  grid-row: 1;
  gap: 6px 11px;
  align-self: start;
  margin: 0 0 12px;
  color: var(--food-wine);
  font-size: 11px;
  font-weight: 500;
  line-height: 1.5;
}

.food-foundation-steps > span + span::before {
  content: "·";
  margin-right: 11px;
  color: #a98684;
}

.food-foundation-note {
  grid-column: 2;
  grid-row: 2;
  max-width: 470px;
  margin: 0;
  color: var(--food-muted);
  font-size: 12px;
  line-height: 1.65;
  text-wrap: pretty;
}

.food-motion {
  grid-column: 2;
  grid-row: 3;
  justify-self: end;
  min-height: 44px;
  margin-top: 8px;
  padding: 8px 0 8px 12px;
  border: 0;
  background: transparent;
  color: var(--food-muted);
  font: 300 10px var(--font-ui);
  cursor: pointer;
}

.motion-paused .food-panel:not([hidden]) {
  animation: none !important;
  opacity: 1;
  transform: none;
}

.food-next {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 6px 25px;
  align-items: center;
  min-height: 78px;
  margin-top: 12px;
  padding: 15px 0 4px;
  color: var(--food-ink);
  text-decoration: none;
}

.food-next > small {
  grid-column: 1;
  color: var(--food-muted);
  font-size: 8px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .15em;
}

.food-next > strong {
  grid-column: 1;
  font-family: var(--font-brand);
  font-size: 24px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -.02em;
}

.food-next > span:last-child {
  display: grid;
  grid-column: 2;
  grid-row: 1 / 3;
  place-items: center;
  width: 44px;
  height: 44px;
  border: 1px solid var(--food-rule);
  border-radius: 50%;
  color: var(--food-wine);
  font-size: 20px;
  transition: transform .25s ease, background .25s ease;
}

.food-next:hover > span:last-child {
  transform: translateY(3px);
  background: rgba(116, 59, 77, .04);
}

@keyframes food-image-breathe {
  from { transform: scale(1.005); }
  to { transform: scale(1.045); }
}

@keyframes food-copy-arrive {
  from { opacity: .45; transform: translateY(5px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 1020px) {
  .food-heading {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr);
    column-gap: 42px;
  }

  .food-stage {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
    gap: 32px;
  }

  .food-panel h3 { font-size: 33px; }
  .food-description { font-size: 14px; }
  .food-details-list { margin-top: 18px; }
  .food-foundation { column-gap: 35px; }
}

@media (max-width: 760px) {
  .food-showcase {
    padding: 62px 22px 24px;
    scroll-margin-top: 100px;
  }

  .food-heading {
    grid-template-columns: minmax(0, 1fr);
  }

  .food-kicker { margin-bottom: 20px; }
  .food-heading h2 { font-size: clamp(42px, 7vw, 54px); }

  .food-intro {
    max-width: 470px;
    margin: 21px 0 0;
    font-size: 14px;
    line-height: 1.65;
  }

  .food-tabs {
    gap: 17px;
    margin: 27px 0 23px;
  }

  .food-tab {
    flex-direction: column;
    align-items: flex-start;
    gap: 7px;
    min-height: 74px;
    padding: 9px 0 15px;
  }

  .food-tab > span { font-size: 9px; }
  .food-tab > strong { font-size: 20px; }

  .food-stage {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
  }

  .food-art-label {
    top: 14px;
    left: 14px;
    font-size: 8px;
  }

  .food-image-note { margin-top: 10px; }
  .food-details { padding-bottom: 0; }
  .food-category { margin-bottom: 12px; }
  .food-panel h3 { max-width: 470px; font-size: 35px; }
  .food-description { max-width: 540px; font-size: 14px; }

  .food-details-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
    margin: 22px 0 10px;
  }

  .food-foundation {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    margin-top: 24px;
    padding: 25px 0;
  }

  .food-foundation h3 { font-size: 29px; }

  .food-foundation-steps {
    grid-column: 1;
    grid-row: auto;
    margin: 19px 0 10px;
  }

  .food-foundation-note {
    grid-column: 1;
    grid-row: auto;
    max-width: 530px;
  }

  .food-motion { grid-column: 1; grid-row: auto; }

  .food-next { gap: 6px 15px; margin-top: 9px; }
  .food-next > strong { font-size: 23px; }
}

@media (max-width: 430px) {
  .food-showcase { padding-right: 20px; padding-left: 20px; }
  .food-kicker { font-size: 9px; letter-spacing: .14em; }
  .food-heading h2 { font-size: 41px; }
  .food-tabs { gap: 13px; }
  .food-tab > strong { max-width: 98px; font-size: 19px; }
  .food-panel h3 { font-size: 33px; }
  .food-details-list { gap: 19px; }
  .food-details-list dd { font-size: 12px; }
  .food-foundation h3 { font-size: 28px; }
  .food-foundation-steps { font-size: 10px; }
  .food-next > strong { font-size: 22px; }
}

@media (prefers-reduced-motion: reduce) {
  .food-showcase *,
  .food-showcase *::before,
  .food-showcase *::after {
    animation: none !important;
    transition: none !important;
  }

  .food-image { transform: none; }
}

/* Own products and a guided commerce experience, in the F&G editorial system. */
.own-brand-compare {
  margin-top: 39px;
  padding-top: 31px;
  border-top: 1px solid var(--food-rule, rgba(116, 59, 77, .18));
}

.own-brand-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, .9fr);
  gap: 0 55px;
  align-items: end;
  margin-bottom: 24px;
}

.own-brand-heading .food-kicker { grid-column: 1 / -1; margin-bottom: 15px; }
.own-brand-heading h3 {
  margin: 0;
  color: #2d1724;
  font-family: var(--font-brand);
  font-size: clamp(29px, 3vw, 39px);
  font-weight: 500;
  line-height: 1.13;
  letter-spacing: -.035em;
  text-wrap: balance;
}

.own-brand-heading > p:not(.food-kicker) {
  max-width: 500px;
  margin: 0;
  color: #6d5960;
  font-size: 13px;
  line-height: 1.7;
  text-wrap: pretty;
}

.own-brand-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  color: #58424b;
  text-align: left;
}

.own-brand-table :is(th, td) {
  width: 38%;
  padding: 18px 23px;
  border-bottom: 1px solid var(--food-rule, rgba(116, 59, 77, .18));
  vertical-align: top;
  overflow-wrap: break-word;
}

.own-brand-table tr > :first-child { width: 24%; padding-left: 0; }
.own-brand-table thead th {
  padding-top: 19px;
  padding-bottom: 19px;
  border-top: 1px solid var(--food-rule, rgba(116, 59, 77, .18));
  font-family: var(--font-brand);
  font-size: 25px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -.025em;
}
.own-brand-table thead th small {
  display: block;
  margin-top: 6px;
  font-family: var(--font-ui);
  font-size: 11px;
  font-weight: 300;
  line-height: 1.5;
  letter-spacing: 0;
}

.own-brand-table tbody th {
  color: #614650;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.6;
}

.own-brand-table td { font-size: 13px; line-height: 1.65; }
.own-brand-table tr > :last-child { background: #f4eae4; color: #633b49; }
.own-brand-table thead th:last-child { border-top: 2px solid #743b4d; }
.own-brand-table td :is(strong, b) { font-weight: 500; }
.own-brand-table td p { margin: 0; }
.own-brand-note { margin: 13px 0 0; color: #716068; font-size: 11px; line-height: 1.7; }
.own-brand-note a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: #743b4d;
  text-decoration: underline;
  text-decoration-color: rgba(116, 59, 77, .4);
  text-underline-offset: 3px;
}

.own-brand-compare .sr-only,
.commerce-status {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.commerce-experience {
  --commerce-paper: #fffaf4;
  --commerce-ink: #2d1724;
  --commerce-wine: #743b4d;
  --commerce-gold: #d9bd94;
  --commerce-muted: #705d66;
  --commerce-rule: rgba(86, 48, 65, .18);
  position: relative;
  isolation: isolate;
  padding: 78px 28px 76px;
  border-top: 1px solid var(--commerce-rule);
  background:
    radial-gradient(ellipse at 5% 18%, rgba(217, 189, 148, .12), transparent 42%),
    var(--commerce-paper);
  color: var(--commerce-ink);
  font-family: var(--font-ui);
  font-weight: 300;
  scroll-margin-top: 112px;
}

.commerce-experience *,
.commerce-experience *::before,
.commerce-experience *::after { box-sizing: border-box; }
.commerce-experience [hidden], .own-brand-compare [hidden] { display: none !important; }
.commerce-experience :is(button, input, textarea, a):focus-visible {
  outline: 2px solid var(--commerce-wine);
  outline-offset: 4px;
}

.commerce-inner { display: flow-root; width: 100%; max-width: 1184px; margin: 0 auto; }
.commerce-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, .8fr);
  gap: 0 65px;
  align-items: end;
  margin-bottom: 32px;
}
.commerce-heading > * { min-width: 0; }

.commerce-kicker {
  grid-column: 1 / -1;
  margin: 0 0 22px;
  color: var(--commerce-wine);
  font-size: 10px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .17em;
  text-transform: uppercase;
}

.commerce-kicker::before {
  content: "";
  display: inline-block;
  width: 25px;
  height: 1px;
  margin: 0 11px 3px 0;
  background: currentColor;
}

.commerce-heading h2 {
  margin: 0;
  font-family: var(--font-brand);
  font-size: clamp(44px, 4.8vw, 66px);
  font-weight: 500;
  line-height: 1.04;
  letter-spacing: -.042em;
  text-wrap: balance;
}

.commerce-heading h2 em {
  color: var(--commerce-wine);
  font-family: var(--font-soul);
  font-style: italic;
  font-weight: 400;
  letter-spacing: -.04em;
}

.commerce-intro {
  max-width: 450px;
  margin: 0 0 3px;
  color: var(--commerce-muted);
  font-size: 15px;
  line-height: 1.7;
  text-wrap: pretty;
}

.commerce-demo-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 14px;
  color: #785043;
  font-size: 10px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.commerce-demo-badge::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: #a9865d; }
.commerce-demo { border: 1px solid var(--commerce-rule); background: #fffcf8; }
.commerce-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  padding: 0 29px;
  border-bottom: 1px solid var(--commerce-rule);
  list-style: none;
}

.commerce-steps li {
  position: relative;
  display: flex;
  align-items: center;
  gap: 11px;
  min-width: 0;
  min-height: 72px;
  padding: 14px 7px;
  color: #806e75;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.45;
}

.commerce-steps li::after {
  content: "";
  position: absolute;
  right: 12px;
  bottom: -1px;
  left: 7px;
  height: 2px;
  background: transparent;
  transition: background-color .2s ease;
}

.commerce-steps li > :is(span, small):first-child {
  display: grid;
  flex: 0 0 25px;
  place-items: center;
  width: 25px;
  height: 25px;
  border: 1px solid #d9cbd0;
  border-radius: 50%;
  font-size: 10px;
  font-weight: 400;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0;
}

.commerce-steps li[aria-current="step"] { color: var(--commerce-wine); font-weight: 500; }
.commerce-steps li[aria-current="step"]::after { background: var(--commerce-wine); }
.commerce-steps li[aria-current="step"] > :is(span, small):first-child { border-color: var(--commerce-wine); background: var(--commerce-wine); color: var(--commerce-paper); }
.commerce-steps li.is-complete { color: #665044; }
.commerce-steps li.is-complete > :is(span, small):first-child { border-color: #ccb18e; background: #eee3d5; color: #62442e; }
.commerce-stage { display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); }
.commerce-visual {
  position: relative;
  isolation: isolate;
  min-width: 0;
  min-height: 525px;
  margin: 0;
  overflow: hidden;
  background: #ddd0c3;
}

.commerce-visual::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  background: linear-gradient(180deg, rgba(31, 18, 24, .08), transparent 35%, rgba(31, 18, 24, .12) 58%, rgba(31, 18, 24, .75));
  pointer-events: none;
}

.commerce-product-image { position: absolute; z-index: -1; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; opacity: 0; }
.commerce-product-image.is-previous { z-index: 0; opacity: 1; }
.commerce-product-image.is-active { z-index: 1; opacity: 1; transition: opacity .36s ease; }
.commerce-visual-caption { position: absolute; z-index: 2; right: 30px; bottom: 29px; left: 30px; display: grid; margin: 0; color: #fffaf4; }
.commerce-visual-caption :is(span, small) { display: block; margin-bottom: 11px; font-size: 9px; font-weight: 500; line-height: 1.5; letter-spacing: .14em; text-transform: uppercase; }
.commerce-visual-caption strong { grid-area: 2 / 1; display: block; align-self: end; max-width: 350px; font-family: var(--font-brand); font-size: 35px; font-weight: 500; line-height: 1.1; letter-spacing: -.025em; text-wrap: balance; opacity: 0; transition: opacity .36s ease; }
.commerce-visual-caption strong.is-active { opacity: 1; }
.commerce-visual-note { position: absolute; z-index: 2; top: 18px; left: 18px; max-width: calc(100% - 36px); margin: 0; padding: 7px 9px; border: 1px solid rgba(255, 250, 244, .35); background: rgba(36, 22, 27, .64); color: #fffaf4; font-size: 9px; font-weight: 400; line-height: 1.5; }
.commerce-workspace { display: flex; flex-direction: column; min-width: 0; min-height: 525px; padding: 32px 36px 25px; }
.commerce-panel { min-width: 0; }
.commerce-panel:not([hidden]) { animation: commerce-panel-arrive .32s ease-out; }
.commerce-panel-title, .commerce-panel-title h3 {
  margin: 0 0 11px;
  color: var(--commerce-ink);
  font-family: var(--font-brand);
  font-size: 34px;
  font-weight: 500;
  line-height: 1.13;
  letter-spacing: -.035em;
  text-wrap: balance;
  scroll-margin-top: 120px;
}

.commerce-panel-intro, .commerce-panel-intro p { margin: 0 0 22px; color: var(--commerce-muted); font-size: 13px; line-height: 1.65; text-wrap: pretty; }
.commerce-role-selector { display: flex; flex-wrap: wrap; gap: 6px 22px; min-width: 0; margin: 0 0 21px; padding: 0; border: 0; }
.commerce-role-selector legend, .commerce-panel > label, .commerce-panel label[for="commerce-message"] { margin-bottom: 6px; color: #5f4653; font-size: 11px; font-weight: 500; line-height: 1.5; }
.commerce-role-selector label { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: #68515c; font-size: 12px; font-weight: 400; line-height: 1.5; cursor: pointer; }
.commerce-role-selector input { width: 16px; height: 16px; margin: 0; accent-color: var(--commerce-wine); }
.commerce-products { display: grid; gap: 8px; }
.commerce-quick-products { display: none; }
.commerce-products button, .commerce-values button, .commerce-reveal {
  min-width: 0;
  min-height: 44px;
  border: 1px solid var(--commerce-rule);
  border-radius: 2px;
  background: transparent;
  color: #614452;
  font-family: var(--font-ui);
  cursor: pointer;
  transition: border-color .2s ease, background-color .2s ease, color .2s ease;
}

.commerce-products button { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 38px 12px 14px; font-size: 13px; font-weight: 500; line-height: 1.4; text-align: left; }
.commerce-products button small { color: #78646e; font-size: 10px; font-weight: 300; line-height: 1.45; text-align: right; }
.commerce-products button strong { font-weight: 500; }
.commerce-products button::after { content: ""; position: absolute; top: calc(50% - 5px); right: 15px; width: 10px; height: 10px; border: 1px solid #bda6af; border-radius: 50%; }
.commerce-products button[aria-pressed="true"]::after { border-color: var(--commerce-wine); background: var(--commerce-wine); box-shadow: 0 0 0 3px #f4e8e7; }
.commerce-products button:hover, .commerce-values button:hover, .commerce-reveal:hover { border-color: #a87989; background: #fcf4ef; }
.commerce-products button[aria-pressed="true"], .commerce-values button[aria-pressed="true"], .commerce-reveal[aria-pressed="true"] { border-color: #94606f; background: #f5eae5; color: #673445; }
.commerce-values { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; margin: 0 0 22px; }
.commerce-values button { padding: 11px 6px; font-size: 11px; font-weight: 500; line-height: 1.4; }
.commerce-panel label[for="commerce-message"] { display: block; }
#commerce-message { display: block; width: 100%; min-height: 105px; max-height: 230px; padding: 12px 13px; resize: vertical; border: 1px solid #cbbac1; border-radius: 2px; background: #fffcf9; color: var(--commerce-ink); font-family: var(--font-ui); font-size: 14px; font-weight: 300; line-height: 1.6; }
#commerce-message::placeholder { color: #89767f; }
#commerce-message[aria-invalid="true"] { border-color: #994558; }
.commerce-privacy { margin: 10px 0 0; color: #78656e; font-size: 11px; line-height: 1.55; }
.commerce-error { margin: 9px 0 0; color: #943b50; font-size: 12px; font-weight: 400; line-height: 1.5; }
.commerce-reveals { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 23px 0; }
.commerce-reveal { display: flex; align-items: center; flex-direction: column; justify-content: center; gap: 17px; min-height: 148px; padding: 19px 10px 15px; }
.commerce-reveal small { color: #785b69; font-size: 10px; font-weight: 500; line-height: 1.4; letter-spacing: .06em; }
.commerce-pearl {
  display: block;
  width: 59px;
  height: 59px;
  border: 1px solid rgba(185, 142, 145, .2);
  border-radius: 50%;
  background: radial-gradient(circle at 32% 24%, #fff 0%, #fff9f2 18%, #eddad3 43%, #d5b4b1 67%, #faf1e6 87%, #d3b5b0 100%);
  box-shadow: inset -5px -6px 10px rgba(149, 96, 118, .13), inset 3px 3px 7px rgba(255, 255, 255, .9), 0 10px 13px -9px rgba(89, 43, 60, .4);
}

.commerce-experience.is-visible .commerce-pearl { animation: commerce-pearl-float 4.5s ease-in-out infinite; }
.commerce-experience.is-visible .commerce-reveal:nth-child(2) .commerce-pearl { animation-delay: -.9s; }
.commerce-experience.is-visible .commerce-reveal:nth-child(3) .commerce-pearl { animation-delay: -1.8s; }
.commerce-reveal[aria-pressed="true"] .commerce-pearl { box-shadow: inset -5px -6px 10px rgba(149, 96, 118, .13), inset 3px 3px 7px rgba(255, 255, 255, .9), 0 0 0 6px rgba(217, 189, 148, .2), 0 10px 13px -9px rgba(89, 43, 60, .4); }
.commerce-result { padding: 15px 18px; border-left: 2px solid var(--commerce-gold); background: #f5eee6; }
.commerce-result:not([hidden]) { animation: commerce-panel-arrive .4s ease-out; }
.commerce-experience[data-step="3"] .commerce-settlement li { animation: commerce-panel-arrive .4s ease-out both; }
.commerce-experience[data-step="3"] .commerce-settlement li:nth-child(2) { animation-delay: .08s; }
.commerce-experience[data-step="3"] .commerce-settlement li:nth-child(3) { animation-delay: .16s; }
.commerce-result > :is(small, p:first-child) { display: block; margin: 0 0 5px; color: #74553f; font-size: 10px; font-weight: 500; line-height: 1.5; letter-spacing: .06em; }
.commerce-result h4 { margin: 0 0 6px; color: #563242; font-family: var(--font-brand); font-size: 26px; font-weight: 500; line-height: 1.18; letter-spacing: -.02em; }
.commerce-result p { margin: 0; color: #705967; font-size: 12px; line-height: 1.6; overflow-wrap: anywhere; }
.commerce-settlement { display: grid; gap: 16px; margin: 21px 0; padding: 0; list-style: none; }
.commerce-settlement li { display: grid; grid-template-columns: 25px minmax(0, 1fr); gap: 4px 13px; min-width: 0; }
.commerce-settlement li > span:first-child { display: grid; grid-column: 1; grid-row: 1 / 3; place-items: center; width: 25px; height: 25px; border: 1px solid #d4b997; border-radius: 50%; color: #77543d; font-size: 10px; font-weight: 400; line-height: 1; }
.commerce-settlement strong { grid-column: 2; color: #5e3d4d; font-size: 13px; font-weight: 500; line-height: 1.5; }
.commerce-settlement p { grid-column: 2; margin: 0; color: #75606b; font-size: 12px; line-height: 1.6; }
.commerce-complete-note { margin: 17px 0 0; padding: 13px 15px; border: 1px solid #dfd0bd; background: #f6eee4; color: #705443; font-size: 12px; line-height: 1.6; }
.commerce-actions { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px 18px; margin-top: auto; padding-top: 24px; }
.commerce-actions button, .commerce-reset { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 44px; padding: 11px 18px; border: 1px solid transparent; border-radius: 2px; font-family: var(--font-ui); font-size: 12px; font-weight: 500; line-height: 1.4; cursor: pointer; transition: color .2s ease, background-color .2s ease, border-color .2s ease; }
.commerce-actions .commerce-next { margin-left: auto; border-color: var(--commerce-wine); background: var(--commerce-wine); color: var(--commerce-paper); }
.commerce-actions .commerce-next:hover { border-color: #5f2d40; background: #5f2d40; }
.commerce-actions .commerce-back { padding-left: 0; background: transparent; color: #755563; }
.commerce-actions .commerce-back:hover, .commerce-reset:hover { color: #482332; text-decoration: underline; text-underline-offset: 4px; }
.commerce-actions button:disabled { border-color: #d6c8ce; background: #ece4e5; color: #78686f; cursor: default; }
.commerce-reset { padding-right: 0; padding-left: 0; background: transparent; color: #755563; font-size: 11px; }
.commerce-demo-disclaimer { margin: 12px 0 0; color: #75626b; font-size: 11px; line-height: 1.6; }
.commerce-insight { display: grid; grid-template-columns: minmax(0, .4fr) minmax(0, 1fr); align-items: center; gap: 16px 33px; margin-top: 30px; padding: 25px 30px; background: var(--commerce-ink); color: #f8eee7; }
.commerce-insight > :first-child { margin: 0; color: #dfc49e; font-size: 10px; font-weight: 500; line-height: 1.6; letter-spacing: .13em; text-transform: uppercase; }
.commerce-insight > :last-child { margin: 0; color: #eee0df; font-size: 13px; line-height: 1.7; text-wrap: pretty; }
.commerce-demo > .commerce-insight { margin-top: 0; }
.commerce-benefits { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 27px; margin-top: 37px; }
.commerce-benefits article { min-width: 0; padding-top: 17px; border-top: 1px solid var(--commerce-rule); }
.commerce-benefits article > small { display: block; margin: 0 0 12px; color: #926759; font-size: 10px; font-weight: 400; line-height: 1.5; letter-spacing: .08em; }
.commerce-benefits h3 { margin: 0 0 10px; color: #523340; font-family: var(--font-brand); font-size: 25px; font-weight: 500; line-height: 1.15; letter-spacing: -.025em; }
.commerce-benefits p { margin: 0; color: var(--commerce-muted); font-size: 13px; line-height: 1.7; text-wrap: pretty; }
.commerce-more { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; margin-top: 22px; padding: 8px 0; color: var(--commerce-wine); font-size: 12px; font-weight: 500; line-height: 1.5; text-decoration: underline; text-decoration-color: rgba(116, 59, 77, .35); text-underline-offset: 5px; }
.commerce-more:hover { text-decoration-color: currentColor; }
.commerce-motion { display: inline-flex; float: right; align-items: center; justify-content: center; min-height: 44px; margin-top: 22px; padding: 8px 0 8px 14px; border: 0; background: transparent; color: #755965; font-family: var(--font-ui); font-size: 10px; font-weight: 400; line-height: 1.5; cursor: pointer; }
.commerce-motion:hover { color: #482332; }
.commerce-fallback { padding: 27px 30px; border: 1px solid var(--commerce-rule); background: #fbf2ec; color: var(--commerce-muted); font-size: 14px; line-height: 1.7; }
.commerce-fallback p { margin: 0 0 13px; }
.commerce-fallback p:last-child { margin-bottom: 0; }
.commerce-fallback :is(h3, strong) { color: #5d3c49; font-weight: 500; }
.commerce-fallback a { display: inline-flex; align-items: center; min-height: 44px; color: var(--commerce-wine); text-underline-offset: 4px; }

@keyframes commerce-panel-arrive {
  from { opacity: .7; transform: translateY(5px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes commerce-pearl-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-5px); }
}

/* Removing an entrance animation keeps new steps readable when motion is paused. */
.motion-paused .commerce-experience *,
.motion-paused .commerce-experience *::before,
.motion-paused .commerce-experience *::after,
.commerce-experience.motion-paused *,
.commerce-experience.motion-paused *::before,
.commerce-experience.motion-paused *::after { animation: none !important; transition: none !important; }
.motion-paused .commerce-panel, .commerce-experience.motion-paused .commerce-panel { opacity: 1; transform: none; }

@media (max-width: 1050px) {
  .commerce-heading { gap: 0 38px; }
  .commerce-stage { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); }
  .commerce-workspace { padding: 29px 26px 24px; }
  .commerce-visual-caption { right: 24px; bottom: 25px; left: 24px; }
  .commerce-visual-caption strong { font-size: 32px; }
  .commerce-panel-title, .commerce-panel-title h3 { font-size: 31px; }
  .commerce-products button { gap: 9px; font-size: 12px; }
  .commerce-benefits { gap: 22px; }
  .commerce-benefits h3 { font-size: 23px; }
}

@media (max-width: 760px) {
  .own-brand-compare { margin-top: 27px; padding-top: 27px; }
  .own-brand-heading { grid-template-columns: minmax(0, 1fr); gap: 17px; margin-bottom: 23px; }
  .own-brand-heading .food-kicker { margin-bottom: 0; }
  .own-brand-heading h3 { max-width: 470px; font-size: 32px; }
  .own-brand-table :is(th, td) { padding: 15px 13px; }
  .own-brand-table thead th { font-size: 22px; }
  .own-brand-table tbody th { font-size: 11px; }
  .own-brand-table td { font-size: 12px; }
  .commerce-experience { padding: 59px 22px 56px; scroll-margin-top: 100px; }
  .commerce-heading { grid-template-columns: minmax(0, 1fr); gap: 0; margin-bottom: 26px; }
  .commerce-kicker { margin-bottom: 20px; }
  .commerce-heading h2 { max-width: 570px; font-size: clamp(42px, 7vw, 54px); }
  .commerce-intro { max-width: 540px; margin: 20px 0 0; font-size: 14px; }
  .commerce-demo-badge { font-size: 9px; }
  .commerce-steps { padding: 0 16px; }
  .commerce-steps li { flex-direction: column; align-items: flex-start; justify-content: center; gap: 8px; min-height: 83px; padding: 13px 4px; font-size: 11px; }
  .commerce-steps li > :is(span, small):first-child { flex-basis: 23px; width: 23px; height: 23px; font-size: 9px; }
  .commerce-steps li::after { right: 8px; left: 4px; }
  .commerce-stage { grid-template-columns: minmax(0, 1fr); }
  .commerce-quick-products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-bottom: 1px solid var(--commerce-rule); }
  .commerce-quick-products button { min-width: 0; min-height: 54px; padding: 9px 4px; border: 0; border-bottom: 2px solid transparent; background: #fffcf8; color: #68515c; font: 400 10px/1.4 var(--font-ui); cursor: pointer; }
  .commerce-quick-products button[aria-pressed="true"] { border-bottom-color: var(--commerce-wine); background: #f5eae5; color: var(--commerce-wine); font-weight: 500; }
  .commerce-experience:not([data-step="0"]) .commerce-quick-products, .commerce-products { display: none; }
  .commerce-experience[data-step="0"] .commerce-workspace { min-height: 0; }
  .commerce-visual { min-height: 0; height: auto; aspect-ratio: 1 / 1; }
  .commerce-product-image { object-position: center 52%; }
  .commerce-visual-caption { right: 22px; bottom: 19px; left: 22px; }
  .commerce-visual-caption :is(span, small) { margin-bottom: 6px; font-size: 8px; }
  .commerce-visual-caption strong { max-width: 360px; font-size: 30px; }
  .commerce-visual-note { top: 13px; left: 13px; max-width: calc(100% - 26px); padding: 5px 7px; font-size: 8px; }
  .commerce-workspace { min-height: 490px; padding: 27px 24px 24px; }
  #commerce-message { font-size: 16px; }
  .commerce-panel-title, .commerce-panel-title h3 { font-size: 32px; }
  .commerce-panel-intro, .commerce-panel-intro p { max-width: 540px; font-size: 13px; }
  .commerce-products button { font-size: 13px; }
  .commerce-insight { grid-template-columns: minmax(0, 1fr); gap: 11px; margin-top: 26px; padding: 24px; }
  .commerce-benefits { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 27px 23px; margin-top: 29px; }
  .commerce-benefits h3 { font-size: 25px; }
  .commerce-more { margin-top: 22px; }
}

@media (max-width: 430px) {
  .own-brand-heading h3 { font-size: 30px; }
  .own-brand-table :is(th, td) { width: 36%; padding: 14px 9px; }
  .own-brand-table tr > :first-child { width: 28%; padding-right: 10px; }
  .own-brand-table thead th { font-size: 19px; line-height: 1.2; }
  .own-brand-table thead th small { font-size: 10px; }
  .own-brand-table tbody th { font-size: 11px; }
  .own-brand-table td { font-size: 12px; line-height: 1.6; }
  .own-brand-note { font-size: 10px; }
  .commerce-experience { padding-right: 20px; padding-left: 20px; }
  .commerce-kicker { font-size: 9px; letter-spacing: .13em; }
  .commerce-heading h2 { font-size: 41px; }
  .commerce-steps { padding-right: 11px; padding-left: 11px; }
  .commerce-steps li { gap: 7px; min-height: 81px; font-size: 10px; }
  .commerce-workspace { min-height: 500px; padding: 25px 18px 22px; }
  .commerce-panel-title, .commerce-panel-title h3 { font-size: 30px; }
  .commerce-role-selector { column-gap: 14px; margin-bottom: 16px; }
  .commerce-role-selector label { font-size: 11px; }
  .commerce-products button { gap: 9px; padding-left: 12px; font-size: 12px; }
  .commerce-products button small { max-width: 88px; font-size: 10px; }
  .commerce-values { gap: 7px; }
  .commerce-values button { padding-right: 3px; padding-left: 3px; font-size: 10px; }
  .commerce-reveals { gap: 8px; }
  .commerce-reveal { min-height: 132px; padding-right: 7px; padding-left: 7px; }
  .commerce-pearl { width: 52px; height: 52px; }
  .commerce-reveal small { font-size: 9px; }
  .commerce-actions { gap: 8px 12px; }
  .commerce-actions button { padding-right: 14px; padding-left: 14px; font-size: 11px; }
  .commerce-actions .commerce-back { padding-left: 0; }
  .commerce-insight { padding: 22px 20px; }
  .commerce-benefits { gap: 26px 19px; }
  .commerce-benefits h3 { font-size: 23px; }
  .commerce-benefits p { font-size: 12px; }
  .commerce-fallback { padding: 23px 20px; }
}

@media (prefers-reduced-motion: reduce) {
  .commerce-experience *,
  .commerce-experience *::before,
  .commerce-experience *::after,
  .own-brand-compare *,
  .own-brand-compare *::before,
  .own-brand-compare *::after { animation: none !important; transition: none !important; scroll-behavior: auto; }
  .commerce-panel, .commerce-pearl { opacity: 1; transform: none; }
}

/* Participant value: editorial product scenes, with one accessible audience at a time. */
.shared-value {
  --value-ink: #35242e;
  --value-wine: #743b4d;
  --value-muted: #78656c;
  --value-rule: #daccce;
  padding: 84px 28px 64px;
  scroll-margin-top: 112px;
  background: #f7f0eb;
  color: var(--value-ink);
  font-family: var(--font-ui);
}
.shared-value [hidden] { display: none !important; }
.shared-value :is(a,button,[tabindex]):focus-visible { outline: 2px solid var(--value-wine); outline-offset: 5px; }
.value-inner { max-width: 1184px; margin: 0 auto; }
.value-heading { display: grid; grid-template-columns: 1.25fr .75fr; gap: 0 70px; align-items: end; }
.value-kicker { grid-column: 1/-1; margin: 0 0 25px; color: var(--value-wine); font-size: 10px; font-weight: 500; letter-spacing: .17em; line-height: 1.5; }
.value-kicker::before { content: ''; display: inline-block; width: 25px; height: 1px; margin: 0 11px 3px 0; background: currentColor; }
.value-heading h2 { margin: 0; font: 500 clamp(46px,4.8vw,68px)/1.03 var(--font-brand); letter-spacing: -.043em; }
.value-heading h2 em { font-family: var(--font-soul); color: var(--value-wine); font-weight: 400; letter-spacing: -.045em; }
.value-heading > p:last-child { max-width: 355px; margin: 0 0 5px; color: var(--value-muted); font-size: 15px; line-height: 1.75; text-wrap: pretty; }
.value-tabs { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 34px; margin: 37px 0 27px; border-bottom: 1px solid var(--value-rule); }
.value-tabs button { position: relative; display: grid; grid-template-columns: auto 1fr; gap: 5px 17px; min-height: 80px; padding: 15px 0 18px; border: 0; background: none; color: #7b6870; text-align: left; cursor: pointer; }
.value-tabs button > span { grid-row: 1/3; align-self: center; font-size: 10px; font-weight: 400; }
.value-tabs strong { font: 500 25px/1.2 var(--font-brand); letter-spacing: -.025em; }
.value-tabs small { font: 300 11px/1.5 var(--font-ui); }
.value-tabs button::after { content: ''; position: absolute; bottom: -1px; left: 0; right: 0; height: 2px; background: var(--value-wine); transform: scaleX(0); transform-origin: left; transition: transform .3s ease; }
.value-tabs button:hover, .value-tabs button[aria-selected=true] { color: var(--value-wine); }
.value-tabs button[aria-selected=true]::after { transform: scaleX(1); }
.value-panel { display: grid; grid-template-columns: minmax(0,1.08fr) minmax(0,1fr); border: 1px solid var(--value-rule); background: #fffcf8; margin-top: 28px; }
.is-enhanced .value-panel { margin-top: 0; animation: value-panel-in .45s ease both; }
.value-art { position: relative; isolation: isolate; overflow: hidden; min-height: 586px; color: #fff5e7; background: radial-gradient(ellipse at 70% 25%, #61434b 0, #34242f 42%, #20171f 100%); }
.value-scene-label { position: absolute; z-index: 4; top: 27px; left: 29px; display: flex; align-items: center; gap: 9px; color: #e9d3bf; font-size: 9px; line-height: 1.5; letter-spacing: .15em; font-weight: 400; }
.value-live-dot { width: 5px; height: 5px; flex-shrink: 0; border-radius: 50%; background: #e2bba0; box-shadow: 0 0 14px #e2bba07a; }
.value-halo { position: absolute; width: 530px; height: 530px; border: 1px solid #d5b29c29; border-radius: 50%; top: 15px; left: 85px; box-shadow: 0 0 0 42px #dec0aa05,0 0 0 85px #dec0aa04; }
.value-inventory { position: absolute; left: 8%; top: 15%; width: 37%; height: 68%; }
.value-stock { position: absolute; width: 145px; padding: 6px 6px 9px; background: #f8eee1; box-shadow: 0 15px 35px #09050a33; color: #53363f; }
.value-stock img { display: block; width: 100%; height: 128px; object-fit: cover; }
.value-stock span { display: block; margin-top: 8px; text-align: center; font-size: 6px; font-weight: 500; letter-spacing: .09em; line-height: 1.5; }
.value-stock-one { top: 20px; left: 0; transform: rotate(-12deg); }
.value-stock-two { top: 190px; left: 0; transform: rotate(-6deg); }
.value-featured { position: absolute; z-index: 2; width: 51%; max-width: 306px; top: 15%; right: 10%; padding: 8px 8px 0; background: #fbf2e8; color: #4e3540; box-shadow: 0 26px 60px #10081466; transform: rotate(5deg); }
.value-featured img { display: block; width: 100%; aspect-ratio: 1/1.07; height: auto; object-fit: cover; }
.value-featured > div { padding: 18px 10px 21px; text-align: center; }
.value-featured small { display: block; font-size: 8px; font-weight: 500; letter-spacing: .12em; }
.value-featured strong { display: block; margin-top: 9px; font: 400 clamp(21px,2vw,29px)/1.15 var(--font-soul); letter-spacing: -.03em; }
.value-kind-note { position: absolute; z-index: 3; left: 12%; bottom: 14%; width: 62%; max-width: 330px; padding: 21px 25px; border: 1px solid #e9cbb35e; background: #f7e9dccf; backdrop-filter: blur(18px); color: #593646; box-shadow: 0 15px 30px #10081435; transform: rotate(-3deg); }
.value-kind-note > span { font-size: 8px; font-weight: 500; letter-spacing: .16em; }
.value-kind-note p { margin: 11px 0 10px; font: 400 26px/1.2 var(--font-soul); letter-spacing: -.03em; }
.value-kind-note i { font-style: normal; font-size: 9px; line-height: 1.5; }
.value-scene-footer { position: absolute; bottom: 26px; left: 29px; right: 29px; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding-top: 17px; border-top: 1px solid #ebd5c033; color: #e3cbbc; font-size: 10px; font-weight: 300; line-height: 1.5; }
.value-scene-footer b { font-size: 16px; font-weight: 300; color: #f4ddc5; }
.value-copy { align-self: center; padding: 42px 39px; }
.value-overline { margin: 0 0 19px; color: var(--value-wine); font-size: 9px; line-height: 1.5; font-weight: 500; letter-spacing: .14em; }
.value-copy h3 { margin: 0; font: 500 clamp(34px,3.6vw,48px)/1.04 var(--font-brand); letter-spacing: -.04em; }
.value-copy h3 em { color: var(--value-wine); font-family: var(--font-soul); font-weight: 400; }
.value-lead { margin: 22px 0 26px; color: #79636b; font-size: 14px; line-height: 1.75; text-wrap: pretty; }
.value-points { list-style: none; padding: 0; margin: 0; }
.value-points li { display: flex; align-items: flex-start; gap: 17px; border-top: 1px solid #e9dfd8; padding: 17px 0; }
.value-points li > span { padding-top: 3px; color: #946878; font-size: 9px; font-weight: 400; }
.value-points strong { font-size: 13px; font-weight: 500; line-height: 1.5; }
.value-points p { margin: 5px 0 0; color: #7b6870; font-size: 12px; line-height: 1.65; text-wrap: pretty; }
.value-action { display: inline-flex; align-items: center; gap: 24px; min-height: 44px; margin-top: 5px; border-bottom: 1px solid #9c6a7b; color: var(--value-wine); font-size: 12px; font-weight: 500; }
.value-action span { font-size: 19px; font-weight: 300; transition: transform .2s ease; }
.value-action:hover span { transform: translate(2px,-2px); }
/* A visible flow, without amounts, countdowns or an implied live transaction. */
.value-settlement-art { background: radial-gradient(ellipse at 10% 20%,#685054,#302530 57%,#231b26); }
.value-fund-flow { position: absolute; top: 18%; bottom: 17%; left: 10%; right: 10%; display: flex; flex-direction: column; justify-content: space-between; }
.value-flow-line { position: absolute; top: 24px; bottom: 24px; left: 25px; width: 1px; background: #c69d8170; }
.value-flow-line::after { content: ''; position: absolute; top: 0; left: -1px; height: 30%; width: 3px; border-radius: 4px; background: linear-gradient(transparent,#ffdcb7,transparent); box-shadow: 0 0 15px #e2bba040; }
.value-fund-card { position: relative; display: flex; align-items: center; gap: 19px; min-height: 106px; padding: 20px 19px; border: 1px solid #c4a28b54; background: #392c37; box-shadow: 0 12px 30px #110d152b; }
.value-fund-card .value-node { flex-shrink: 0; font-size: 10px; color: #cda98c; }
.value-fund-card small { display: block; font-size: 8px; line-height: 1.5; letter-spacing: .13em; color: #d3bda9; }
.value-fund-card strong { display: block; margin: 6px 0 5px; font: 500 22px/1.1 var(--font-brand); letter-spacing: -.02em; }
.value-fund-card p { margin: 0; color: #d7c5be; font-size: 10px; line-height: 1.6; }
.value-card-mark, .value-shield { flex-shrink: 0; margin-left: auto; color: #eac8aa; }
.value-card-mark { font-size: 23px; }
.value-escrow { transform: translateX(18px); background: linear-gradient(100deg,#f5e7d7,#dec5b6); color: #4d3542; border-color: #efd5b8; box-shadow: 0 12px 50px #14091540; }
.value-escrow :is(.value-node,small,p,.value-shield) { color: #795063; }
/* Equal customer roles converge on the same required participation journey. */
.value-ai-art { background: radial-gradient(ellipse at 85% 22%,#514658,#2d2735 60%,#201b28); }
.value-customer-pair { position: absolute; display: grid; grid-template-columns: minmax(0,1fr) 26px minmax(0,1fr); gap: 15px; align-items: center; top: 15%; left: 10%; right: 10%; }
.value-customer-card { padding: 22px 10px 20px; border: 1px solid #d8bbb33d; text-align: center; background: #efdec313; }
.value-customer-card strong { display: block; margin-top: 14px; color: #f5e4d4; font: 500 23px/1.1 var(--font-brand); letter-spacing: -.02em; }
.value-customer-card small { display: block; margin-top: 8px; font-size: 8px; color: #cab9b5; letter-spacing: .14em; }
.value-person-icon,.value-ai-icon { display: grid; place-items: center; width: 55px; height: 55px; margin: auto; border: 1px solid #d9b79d52; border-radius: 50%; color: #edc9a6; }
.value-ai-icon { font: 400 24px/1 var(--font-brand); }
.value-equals { color: #d5b49c; font: 300 28px/1 var(--font-ui); text-align: center; }
.value-shared-path { position: absolute; top: 48%; left: 9%; right: 9%; text-align: center; }
.value-path-connect { position: absolute; bottom: calc(100% + 13px); left: 25%; right: 25%; height: 24px; border: 1px solid #ba9d875e; border-top: 0; border-radius: 0 0 10px 10px; }
.value-path-connect::after { content: ''; position: absolute; left: 50%; bottom: -14px; height: 14px; width: 1px; background: #ba9d875e; }
.value-shared-path > small { font-size: 8px; font-weight: 400; letter-spacing: .13em; color: #d8bca9; }
.value-shared-path ol { display: flex; justify-content: space-between; gap: 10px; list-style: none; margin: 15px 0 0; padding: 12px 0; border-block: 1px solid #d7bdaa30; color: #ead7c9; font-size: 11px; }
.value-shared-path li { position: relative; }
.value-shared-path li+li::before { content: '›'; position: absolute; left: -20px; color: #b89e8f; }
.value-message-card { position: absolute; left: 12%; right: 12%; bottom: 15%; padding: 22px 18px; background: #f2e7df; color: #503949; text-align: center; box-shadow: 0 18px 40px #10091640; }
.value-message-card > span { font-size: 7px; font-weight: 500; letter-spacing: .1em; }
.value-message-card p { margin: 11px 0 16px; font: 400 25px/1.12 var(--font-soul); letter-spacing: -.04em; }
.value-message-card > div { display: flex; justify-content: center; flex-wrap: wrap; gap: 7px; }
.value-message-card small { padding: 5px 8px; border: 1px solid #c4a5ab; border-radius: 20px; font-size: 8px; color: #775363; }
.value-bottom { display: flex; align-items: center; justify-content: space-between; gap: 25px; margin-top: 27px; padding-bottom: 17px; border-bottom: 1px solid var(--value-rule); }
.value-bottom > p { margin: 0; color: #794d5c; font: 400 28px/1.2 var(--font-soul); letter-spacing: -.02em; }
.value-controls { display: flex; align-items: center; gap: 25px; flex-shrink: 0; }
.value-film { display: inline-flex; gap: 13px; align-items: center; min-height: 44px; padding: 10px 0; border: 0; background: none; color: #743b4d; font: 400 11px/1.5 var(--font-ui); cursor: pointer; }
.value-manifesto { border-bottom: 1px solid var(--value-rule); }
.value-manifesto summary { display: flex; justify-content: space-between; align-items: center; min-height: 51px; padding: 10px 0; color: #745662; font-size: 11px; font-weight: 400; list-style: none; cursor: pointer; }
.value-manifesto summary::-webkit-details-marker { display: none; }
.value-manifesto summary span { font-size: 20px; font-weight: 300; }
.value-manifesto[open] summary span { transform: rotate(45deg); }
.value-manifesto summary:focus-visible { outline: 2px solid var(--value-wine); outline-offset: 3px; }
.value-manifesto-body { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; padding: 25px 0 30px; }
.value-manifesto h3 { margin: 0 0 22px; font: 500 36px/1.1 var(--font-brand); letter-spacing: -.03em; }
.value-manifesto-body p:not(.value-overline) { color: #78636b; font-size: 13px; line-height: 1.7; margin: 0 0 14px; }
.value-manifesto-body strong { color: #743b4d; font: 400 25px/1.2 var(--font-soul); }
.value-motion { min-height: 44px; flex-shrink: 0; border: 0; border-bottom: 1px solid #9f848a; padding: 10px 0; color: #745b65; background: none; font: 300 11px/1.5 var(--font-ui); cursor: pointer; }
.value-motion:disabled { cursor: default; }
.value-footnote { max-width: 950px; margin: 14px 0 0; color: #7b6870; font-size: 10px; line-height: 1.65; }
@keyframes value-panel-in { from {opacity: .2; transform: translateY(7px);} to {opacity: 1; transform: none;} }
@keyframes value-card-float { 0%,100% {transform: translateY(0) rotate(5deg);} 50% {transform: translateY(-7px) rotate(3deg);} }
@keyframes value-note-float { 0%,100% {transform: translateY(0) rotate(-3deg);} 50% {transform: translateY(5px) rotate(-1deg);} }
@keyframes value-halo-breathe { 0%,100% {opacity: .5; transform: scale(.97);} 50% {opacity: 1; transform: scale(1.02);} }
@keyframes value-fund-travel { 0% {top: 0;opacity: 0;} 15% {opacity: 1;} 85% {opacity: 1;} 100% {top: 70%;opacity: 0;} }
@keyframes value-role-glow { 0%,100% {border-color: #d9b79d52;box-shadow: 0 0 0 0 #d9b79d00;} 50% {border-color: #e2c29cab;box-shadow: 0 0 0 6px #d9b79d07;} }
.shared-value.is-enhanced .value-featured { animation: value-card-float 8s ease-in-out infinite; }
.shared-value.is-enhanced .value-kind-note { animation: value-note-float 8s ease-in-out infinite; }
.shared-value.is-enhanced .value-halo { animation: value-halo-breathe 8s ease-in-out infinite; }
.shared-value.is-enhanced .value-flow-line::after { animation: value-fund-travel 6s linear infinite; }
.shared-value.is-enhanced :is(.value-person-icon,.value-ai-icon) { animation: value-role-glow 5s ease-in-out infinite; }
.shared-value:not(.is-visible) *, .shared-value:not(.is-visible) *::after,
.shared-value.page-idle *, .shared-value.page-idle *::after { animation-play-state: paused !important; }
.motion-paused .shared-value *, .motion-paused .shared-value *::before, .motion-paused .shared-value *::after { animation: none !important; transition: none !important; }
@media(max-width:1000px) {
  .value-heading { gap: 0 38px; }
  .value-panel { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
  .value-copy { padding: 30px 27px; }
  .value-art { min-height: 620px; }
  .value-stock { width: 119px; }
  .value-stock img { height: 110px; }
  .value-featured { width: 62%; right: 6%; top: 20%; }
  .value-kind-note { left: 8%; width: 78%; }
  .value-kind-note p { font-size: 25px; }
  .value-fund-flow { left: 6%; right: 9%; }
  .value-fund-card { gap: 12px; padding: 18px 14px; }
  .value-fund-card strong { font-size: 20px; }
  .value-customer-pair { left: 7%; right: 7%; gap: 8px; }
  .value-customer-card strong { font-size: 20px; }
  .value-shared-path li+li::before { left: -14px; }
  .value-message-card { left: 7%; right: 7%; }
}
@media(max-width:760px) {
  .shared-value { padding: 57px 22px 48px; scroll-margin-top: 100px; }
  .value-heading { display: block; }
  .value-heading h2 { font-size: clamp(43px,7vw,58px); }
  .value-heading > p:last-child { max-width: 410px; margin-top: 25px; font-size: 13px; line-height: 1.75; }
  .value-kicker { margin-bottom: 21px; font-size: 9px; }
  .value-tabs { gap: 15px; margin: 26px 0 22px; }
  .value-tabs button { min-height: 68px; grid-template-columns: 1fr; gap: 8px; padding: 10px 0 15px; }
  .value-tabs button > span { grid-row: auto; font-size: 8px; }
  .value-tabs strong { font-size: clamp(15px,2.7vw,21px); line-height: 1.2; }
  .value-tabs small { display: none; }
  .value-panel { display: flex; flex-direction: column; }
  .value-art { width: 100%; min-height: 0; height: auto; aspect-ratio: 1/1.13; flex-shrink: 0; }
  .value-copy { padding: 32px 25px 30px; width: 100%; }
  .value-copy h3 { font-size: clamp(36px,6.5vw,48px); }
  .value-overline { font-size: 8px; margin-bottom: 17px; }
  .value-lead { font-size: 13px; margin: 20px 0 22px; }
  .value-points li { gap: 13px; padding: 16px 0; }
  .value-points strong { font-size: 12px; }
  .value-points p { font-size: 11px; }
  .value-scene-label { left: 20px; top: 20px; font-size: 7px; letter-spacing: .12em; }
  .value-featured { width: 53%; top: 17%; right: 8%; padding: 5px 5px 0; }
  .value-featured > div { padding: 12px 6px 14px; }
  .value-featured small { font-size: 6px; }
  .value-featured strong { margin-top: 7px; font-size: clamp(18px,3.5vw,26px); }
  .value-inventory { left: 7%; top: 14%; }
  .value-stock { width: 76%; padding: 4px 4px 7px; }
  .value-stock img { height: auto; aspect-ratio: 1; }
  .value-stock span { font-size: 4px; margin-top: 6px; }
  .value-stock-one { top: 12px; }
  .value-stock-two { top: 46%; }
  .value-kind-note { padding: 14px 17px; width: 67%; left: 8%; bottom: 14%; }
  .value-kind-note > span { font-size: 6px; }
  .value-kind-note p { margin: 8px 0; font-size: clamp(18px,3.2vw,25px); line-height: 1.24; }
  .value-kind-note i { font-size: 7px; }
  .value-scene-footer { bottom: 17px; left: 20px; right: 20px; padding-top: 12px; font-size: 8px; }
  .value-scene-footer b { font-size: 13px; }
  .value-halo { width: 350px; height: 350px; top: 0; left: 35px; }
  .value-fund-flow { top: 17%; bottom: 19%; left: 6%; right: 9%; }
  .value-fund-card { min-height: 0; padding: 12px 11px; gap: 10px; }
  .value-fund-card strong { font-size: clamp(17px,3.1vw,24px); margin: 4px 0; }
  .value-fund-card small { font-size: 6px; }
  .value-fund-card p { font-size: 8px; }
  .value-fund-card .value-node { font-size: 8px; }
  .value-escrow { transform: translateX(12px); }
  .value-shield { width: 19px; height: 23px; }
  .value-card-mark { font-size: 19px; }
  .value-ai-art { aspect-ratio: 1/1.26; }
  .value-customer-pair { top: 16%; left: 9%; right: 9%; grid-template-columns: minmax(0,1fr) 16px minmax(0,1fr); gap: 10px; }
  .value-customer-card { padding: 13px 5px; }
  .value-person-icon,.value-ai-icon { width: 38px; height: 38px; font-size: 20px; }
  .value-person-icon svg { width: 27px; height: 27px; }
  .value-customer-card strong { font-size: clamp(17px,3vw,23px); margin-top: 10px; }
  .value-customer-card small { font-size: 6px; margin-top: 6px; }
  .value-equals { font-size: 23px; }
  .value-shared-path { top: 48%; }
  .value-path-connect { bottom: calc(100% + 8px); height: 14px; }
  .value-path-connect::after { bottom: -9px; height: 9px; }
  .value-shared-path > small { font-size: 6px; }
  .value-shared-path ol { font-size: 9px; margin-top: 8px; padding: 9px 0; gap: 9px; }
  .value-shared-path li+li::before { left: -13px; }
  .value-message-card { bottom: 14%; left: 9%; right: 9%; padding: 13px 10px; }
  .value-message-card > span { font-size: 5px; }
  .value-message-card p { font-size: clamp(21px,4vw,27px); margin: 7px 0 10px; }
  .value-message-card small { font-size: 6px; padding: 4px 6px; }
  .value-bottom { flex-wrap: wrap; gap: 10px 14px; margin-top: 20px; }
  .value-controls { gap: 25px; }
  .value-manifesto-body { grid-template-columns: 1fr; gap: 20px; }
  .value-manifesto h3 { font-size: 32px; }
  .value-bottom > p { max-width: 230px; font-size: 23px; text-wrap: balance; }
  .value-motion { font-size: 10px; }
  .value-footnote { font-size: 9px; }
}
@media(max-width:390px) {
  .shared-value { padding-right: 20px; padding-left: 20px; }
  .value-tabs { gap: 12px; }
  .value-tabs strong { font-size: 15px; }
  .value-copy { padding-left: 21px; padding-right: 21px; }
  .value-scene-label { font-size: 6px; }
  .value-fund-card { padding: 10px 9px; }
  .value-fund-card strong { font-size: 16px; }
  .value-fund-card p { font-size: 7px; }
  .value-fund-card small { font-size: 5px; }
  .value-shared-path li+li::before { left: -10px; }
}
@media(prefers-reduced-motion:reduce) {
  .shared-value *, .shared-value *::before, .shared-value *::after { animation: none !important; transition: none !important; }
}
/* Keep the shared journey in normal flow so font wrapping never overlaps it. */
.value-ai-art { display: flex; flex-direction: column; justify-content: center; gap: 28px; padding: 84px 10% 84px; }
.value-ai-art .value-customer-pair,
.value-ai-art .value-shared-path,
.value-ai-art .value-message-card { position: relative; top: auto; bottom: auto; left: auto; right: auto; width: 100%; }
.value-ai-art .value-customer-pair { flex-shrink: 0; }
.value-ai-art .value-message-card > span { display: block; line-height: 1.5; }
.value-ai-art .value-path-connect { height: 15px; bottom: calc(100% + 9px); }
.value-ai-art .value-path-connect::after { height: 10px; bottom: -11px; }
@media(max-width:760px) {
  .value-ai-art { aspect-ratio: auto; padding: 64px 9% 70px; gap: 25px; }
  .value-ai-art .value-message-card > span { font-size: 6px; }
  .value-ai-art .value-message-card { padding: 16px 12px; }
}

/* A concise close: connected strengths, shared purpose, one invitation. */
.closing-foundation,
.closing-purpose,
.closing-company {
  position: relative;
  padding: 92px 28px;
  color: #35242e;
  font-family: var(--font-ui);
  scroll-margin-top: 110px;
}
.closing-inner { max-width: 1184px; margin: 0 auto; }
.closing-kicker { margin: 0 0 32px; font-size: 10px; font-weight: 500; line-height: 1.6; letter-spacing: .17em; }
.closing-foundation { background: #fffaf5; }
.closing-foundation .closing-kicker { color: #793e52; }
.foundation-layout { display: grid; grid-template-columns: minmax(0,.92fr) minmax(0,1.08fr); gap: 86px; }
.foundation-intro { display: flex; flex-direction: column; min-width: 0; }
.foundation-intro h2 { margin: 0; font: 500 clamp(44px,4.7vw,66px)/1.06 var(--font-brand); letter-spacing: -.045em; }
.foundation-intro h2 em { display: inline-block; font-family: var(--font-soul); font-weight: 400; color: #793e52; }
.foundation-intro > p { max-width: 365px; margin: 27px 0 0; font-size: 15px; line-height: 1.8; color: #74636b; text-wrap: pretty; }
.foundation-visual { margin: auto 0 0; padding-top: 36px; }
.foundation-visual img { display: block; width: 100%; height: auto; border-radius: 12px; }
.foundation-fields { border-top: 1px solid #d8c8cc; }
.foundation-field { display: grid; grid-template-columns: 21px minmax(0,1fr) 32px; align-items: start; gap: 17px; padding: 24px 0; border-bottom: 1px solid #e4d8d9; }
.foundation-number { padding-top: 1px; color: #9b7c88; font-size: 10px; line-height: 1.6; }
.foundation-field .foundation-label { margin: 0 0 8px; color: #793e52; font-size: 9px; font-weight: 500; line-height: 1.5; letter-spacing: .13em; }
.foundation-field h3 { margin: 0 0 8px; font: 500 27px/1.12 var(--font-brand); letter-spacing: -.025em; }
.foundation-field div > p:last-child { max-width: 380px; margin: 0; color: #74636b; font-size: 13px; line-height: 1.7; text-wrap: pretty; }
.foundation-field > a { display: grid; place-items: center; width: 44px; height: 44px; margin: -8px -6px 0; color: #793e52; font-size: 22px; transition: transform .25s ease; }
.foundation-field > a:hover { transform: translate(2px,-2px); }
.foundation-safety-mark { margin-top: 2px; color: #996778; }
.foundation-disclosure { margin: 27px 0 0; color: #88747d; font-size: 10px; line-height: 1.6; text-align: right; }
.closing-purpose { padding-top: 60px; padding-bottom: 62px; text-align: center; background: radial-gradient(ellipse at 50% 50%,#fff9f5 0%,#f7e9e5 66%,#f0e3e3 100%); }
.closing-purpose .closing-kicker { margin-bottom: 20px; color: #82535f; }
.purpose-mark { display: block; width: 112px; height: auto; margin: 0 auto 24px; mix-blend-mode: multiply; }
.closing-purpose h2 { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: center; gap: 0 .22em; margin: 0; font: 400 clamp(54px,6.3vw,90px)/1.13 var(--font-soul); letter-spacing: -.035em; color: #653b48; }
.closing-purpose h2 em { font-weight: 400; color: #ad6e7b; }
.purpose-line { margin: 26px 0 0; color: #87656c; font-size: 13px; line-height: 1.7; letter-spacing: .03em; }
.closing-company { padding-top: 76px; padding-bottom: 82px; background: #291c25; color: #fff8f1; }
.closing-company .closing-kicker { margin-bottom: 30px; color: #c7a5b1; }
.closing-company-layout { display: grid; grid-template-columns: minmax(0,1.08fr) minmax(0,.92fr); align-items: center; gap: 92px; }
.closing-company h2 { margin: 0; font: 500 clamp(42px,4.5vw,64px)/1.04 var(--font-brand); letter-spacing: -.04em; }
.closing-company h2 em { color: #dab5bf; font-family: var(--font-soul); font-weight: 400; }
.closing-company-identity { display: grid; gap: 7px; margin: 27px 0 0; font-size: 12px; line-height: 1.6; }
.closing-company-identity strong { font-weight: 400; color: #e8d9dd; }
.closing-company-identity span { color: #b9a3ad; font-size: 11px; }
.closing-contact { border-top: 1px solid #65505d; padding-top: 27px; scroll-margin-top: 135px; }
.closing-contact .closing-contact-lead { margin: 0 0 13px; font: 400 28px/1.2 var(--font-brand); letter-spacing: -.025em; color: #fff8f1; }
.closing-contact > p { max-width: 360px; margin: 0; font-size: 14px; line-height: 1.75; color: #c8b5bd; }
.closing-contact-button { display: flex; justify-content: space-between; align-items: center; gap: 35px; width: max-content; min-height: 53px; margin: 30px 0 18px; padding: 0 23px; border: 1px solid #d5b9c1; background: #f1dfde; color: #472834; font-size: 12px; transition: background .25s ease; }
.closing-contact-button > span { font-size: 20px; }
.closing-contact-button:hover { background: #fff9f0; }
.closing-email { display: inline-block; color: #d5bfc8; font-size: 11px; line-height: 1.6; overflow-wrap: anywhere; }
.closing-email:hover { color: #fff8f1; }
.closing-foundation a:focus-visible { outline: 2px solid #793e52; outline-offset: 4px; }
.closing-company a:focus-visible { outline: 2px solid #f1dfde; outline-offset: 5px; }

@media (max-width: 960px) {
  .foundation-layout { gap: 42px; }
  .foundation-intro h2 { font-size: 48px; }
  .closing-company-layout { gap: 45px; }
  .closing-purpose h2 { font-size: 61px; }
}
@media (max-width: 700px) {
  .closing-foundation, .closing-purpose, .closing-company { padding: 58px 22px; scroll-margin-top: 100px; }
  .closing-kicker { font-size: 9px; margin-bottom: 26px; }
  .foundation-layout, .closing-company-layout { grid-template-columns: minmax(0,1fr); gap: 35px; }
  .foundation-intro h2 { font-size: clamp(41px,10.5vw,56px); }
  .foundation-intro > p { margin-top: 20px; font-size: 14px; }
  .foundation-visual { padding-top: 24px; }
  .foundation-field { grid-template-columns: 17px minmax(0,1fr) 25px; gap: 10px; padding: 23px 0; }
  .foundation-field h3 { font-size: 25px; }
  .foundation-field .foundation-label { font-size: 8px; letter-spacing: .08em; }
  .foundation-field div > p:last-child { font-size: 12px; }
  .foundation-field > a { margin-right: -9px; margin-left: -10px; }
  .foundation-disclosure { text-align: left; font-size: 9px; }
  .closing-purpose { padding-top: 45px; padding-bottom: 46px; }
  .purpose-mark { width: 88px; margin-bottom: 20px; }
  .closing-purpose h2 { display: grid; gap: 0; font-size: clamp(56px,16vw,76px); line-height: 1.06; }
  .purpose-line { font-size: 11px; margin-top: 22px; }
  .closing-company h2 { font-size: clamp(42px,11vw,56px); }
  .closing-company-identity { margin-top: 24px; }
  .closing-contact { padding-top: 24px; scroll-margin-top: 114px; }
  .closing-contact .closing-contact-lead { font-size: 26px; }
  .closing-contact > p { font-size: 13px; }
  .closing-contact-button { margin-top: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  .foundation-field > a, .closing-contact-button { transition: none; }
}

/* Final mobile typography: measured headings, natural prose, comfortable controls. */
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
@media (max-width: 980px) {
  .nav-links { max-height: calc(100svh - 120px); overflow-y: auto; }
  .nav-links a { display: flex; align-items: center; min-height: 44px; }
}
@media (max-width: 700px) {
  :where(h1,h2,h3,h4,blockquote) { text-wrap: balance; word-break: normal; hyphens: none; }
  :where(p,li,dd,figcaption) { text-wrap: pretty; word-break: normal; hyphens: none; }
  .editorial-break { display: none; }
  .mobile-phrase { display: inline-block; }
  .declaration-copy,.comparison-heading > *, .food-heading > *, .value-copy,
  .foundation-intro,.foundation-field > div,.closing-contact { min-width: 0; }

  .declaration { padding-top: 112px; }
  .declaration-eyebrow { font-size: 9px; letter-spacing: .11em; margin-bottom: 20px; }
  .declaration-title { font-size: clamp(46px,12.3vw,62px); line-height: 1; }
  .declaration-subtitle { font-size: 16px; line-height: 1.65; margin-top: 20px; }
  .declaration-actions { gap: 9px 20px; }
  .declaration-art { height: 336px; }
  .seal-number { font-size: 185px; }
  .declaration-values { font-size: 17px; }

  .comparison-title,.entertainment-heading h2,.food-heading h2,
  .commerce-heading h2,.value-heading h2,.foundation-intro h2 {
    font-size: clamp(32px,9.2vw,42px);
    line-height: 1.08;
    letter-spacing: -.035em;
  }
  .comparison-intro,.entertainment-bridge,.format-description,.food-intro,
  .food-description,.commerce-intro,.value-heading > p:last-child,
  .value-lead,.foundation-intro > p,.closing-contact > p {
    font-size: 16px;
    line-height: 1.65;
  }
  .entertainment-copy h3 { font-size: 30px; line-height: 1.14; }
  .story-panel h4,.food-panel h3,.value-copy h3,
  .commerce-panel-title,.commerce-panel-title h3 {
    font-size: clamp(27px,7.7vw,33px);
    line-height: 1.15;
  }
  .story-panel p:not(.chapter-kicker),.commerce-panel-intro,.commerce-panel-intro p { font-size: 15px; line-height: 1.7; }
  .food-tab > strong { font-size: 17px; line-height: 1.25; }
  .food-details-list dd,.food-foundation-note { font-size: 14px; line-height: 1.65; }
  .food-foundation h3,.own-brand-heading h3 { font-size: 27px; line-height: 1.15; }
  .own-brand-heading > p:not(.food-kicker) { font-size: 15px; line-height: 1.7; }
  .own-brand-table thead th { font-size: 18px; }
  .own-brand-table thead th small { font-size: 11px; }
  .own-brand-table td { font-size: 13px; }
  .own-brand-table,.own-brand-table thead,.own-brand-table tbody { display: block; }
  .own-brand-table tr { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
  .own-brand-table tr > :is(th,td) { width: auto; min-width: 0; padding: 16px 12px; }
  .own-brand-table tr > :first-child { width: auto; }
  .own-brand-table thead th:first-child { display: none; }
  .own-brand-table tbody th { grid-column: 1/-1; border-bottom: 0; padding: 20px 0 10px; font-size: 13px; }
  .food-next > strong,.entertainment-next > strong { font-size: 22px; line-height: 1.2; text-wrap: balance; }

  .commerce-benefits { grid-template-columns: minmax(0,1fr); gap: 21px; }
  .commerce-benefits h3 { font-size: 26px; }
  .commerce-benefits p { font-size: 15px; line-height: 1.65; }
  .commerce-role-selector label { min-height: 44px; display: inline-flex; align-items: center; }
  .commerce-actions button,.commerce-values button { min-height: 44px; }
  .commerce-values button { font-size: 12px; }
  .commerce-quick-products button { font-size: 11px; }
  .value-tabs { gap: 10px; }
  .value-tabs strong { font-size: 16px; }
  .value-copy { padding: 27px 22px; }
  .value-points strong { font-size: 14px; line-height: 1.55; }
  .value-points p { font-size: 14px; line-height: 1.65; }
  .value-manifesto h3 { font-size: 28px; line-height: 1.15; }
  .value-manifesto-body p:not(.value-overline) { font-size: 15px; }
  .value-bottom > p { font-size: 22px; }
  .value-action { gap: 14px; line-height: 1.5; }
  .value-action > span { flex-shrink: 0; }

  .foundation-field { grid-template-columns: 17px minmax(0,1fr) 25px; gap: 10px; }
  .foundation-field h3 { font-size: 25px; line-height: 1.15; text-wrap: pretty; }
  .foundation-field div > p:last-child { font-size: 15px; line-height: 1.65; }
  .foundation-disclosure { font-size: 11px; }
  .closing-purpose h2 { font-size: clamp(48px,14vw,68px); line-height: 1.08; }
  .purpose-line { font-size: 13px; }
  .closing-company h2 { font-size: clamp(34px,9.8vw,43px); line-height: 1.08; }
  .closing-contact .closing-contact-lead { font-size: 27px; }
  .closing-company-identity { font-size: 14px; }
  .closing-company-identity span { font-size: 12px; }
  .closing-email { display: inline-flex; align-items: center; min-height: 44px; font-size: 12px; letter-spacing: -.015em; }
  .closing-contact-button { font-size: 13px; }
  .food-image-note,.value-footnote,.commerce-disclosure,.own-brand-note { font-size: 11px; line-height: 1.7; }
  .footer-wrap p { font-size: 12px; }
  .footer-wrap p a { display: inline-flex; align-items: center; min-height: 44px; }

  /* Watch, FAQ and legal pages use the same prose and navigation standards. */
  .topic-main,.topic-nav .inner { width: calc(100% - 36px); }
  .topic-nav { padding-inline: 0; }
  .topic-nav .home { font-size: 16px; min-height: 44px; }
  .topic-hero h1,.watch-meta h1,.legal-shell h1 { font-size: clamp(34px,10vw,42px); line-height: 1.1; }
  .topic-lead { font-size: 22px; line-height: 1.45; }
  .topic-card h2 { font-size: 27px; line-height: 1.17; }
  .topic-card h3 { font-size: 25px; line-height: 1.17; }
  .topic-card p,.topic-card li,.topic-def,.watch-meta p,.legal-shell p { font-size: 16px; line-height: 1.75; }
  .topic-wide .topic-card { padding: 26px 22px; }
  .topic-links a,.topic-contact a { min-height: 44px; line-height: 1.5; }
  .topic-contact a { font-size: 12px; letter-spacing: 0; text-transform: none; }
  .legal-shell { width: 100%; max-width: 620px; }
  .legal-shell a { overflow-wrap: anywhere; }
  .legal-brand { font-size: 15px; gap: 8px; }
}
@media (max-width: 380px) {
  .declaration,.comparison,.entertainment,.food-showcase,.commerce-experience,
  .shared-value,.closing-foundation,.closing-purpose,.closing-company { padding-inline: 18px; }
  .declaration-title { font-size: 46px; }
  .comparison-title,.entertainment-heading h2,.food-heading h2,
  .commerce-heading h2,.value-heading h2,.foundation-intro h2 { font-size: 32px; }
  .declaration-values { font-size: 15px; }
  .comparison-table td,.comparison-table thead th { padding-inline: 10px; }
  .cell-description,.cell-heading { font-size: 14px; }
  .food-tab > strong { font-size: 16px; }
  .value-tabs strong { font-size: 14px; }
  .value-copy { padding-inline: 18px; }
  .foundation-field h3 { font-size: 23px; }
  .closing-email { font-size: 11px; }
  .commerce-quick-products button { font-size: 10px; }
  .source-grid { grid-template-columns: minmax(0,1fr); }
}

/* Shared joy leads the scene; the brand declaration has its own clear space. */
.declaration {
  background: #fbf7f1;
}

.declaration-inner {
  grid-template-columns: 1.04fr 1fr;
  align-items: start;
  min-height: 566px;
}

.declaration-shopping {
  position: absolute;
  z-index: -1;
  inset: 0 0 auto;
  display: block;
  height: 640px;
  overflow: hidden;
}

.declaration-shopping img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 72% 34%;
}

.declaration-shopping::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(0deg, #fbf7f1 0%, rgba(251, 247, 241, .9) 10%, transparent 37%),
    linear-gradient(90deg, #fbf7f1 0%, rgba(251, 247, 241, .97) 24%, rgba(251, 247, 241, .82) 38%, rgba(251, 247, 241, .18) 57%, transparent 70%);
  pointer-events: none;
}

.declaration-copy {
  padding-top: 13px;
}

.declaration-subtitle {
  color: #625158;
}

.declaration-art {
  align-self: end;
  height: 250px;
  margin: 0 0 -2px;
}

.declaration-art::before {
  width: 60%;
  max-width: 285px;
}

.declaration-art .pearl-orbit {
  opacity: .58;
}

.declaration-art .orbit-a {
  left: 3%;
  top: 15%;
  width: 91%;
  height: 72%;
  --orbit-angle: -15deg;
}

.declaration-art .orbit-b {
  left: 9%;
  top: 14%;
  width: 82%;
  height: 72%;
  --orbit-angle: 17deg;
}

.declaration-art .orbit-c {
  left: 23%;
  top: -5%;
  width: 50%;
  height: 109%;
}

.declaration-seal {
  display: grid;
  grid-template-columns: minmax(135px, .85fr) minmax(0, 1.15fr);
  grid-template-rows: auto 1fr auto auto auto;
  column-gap: 21px;
  width: 100%;
  padding: 15px 12px;
  align-items: center;
}

.declaration-seal .seal-eyebrow {
  grid-column: 1 / -1;
  margin: 0 0 22px;
  font-size: 9px;
  letter-spacing: .19em;
}

.declaration-seal .seal-number {
  grid-column: 1;
  grid-row: 2 / 5;
  font-size: 179px;
}

.declaration-seal .seal-world {
  grid-column: 1;
  grid-row: 5;
  margin: 17px 0 0;
  font-size: 9px;
  letter-spacing: .22em;
}

.declaration-seal .seal-patent {
  grid-column: 2;
  grid-row: 2;
  margin: 0;
  font-size: 23px;
  text-align: left;
  text-wrap: balance;
}

.declaration-seal .seal-stages {
  grid-column: 2;
  grid-row: 3;
  margin-top: 11px;
  padding: 0;
  text-align: left;
  font-size: 10px;
}

.declaration-seal .seal-date {
  grid-column: 2;
  grid-row: 4 / 6;
  align-self: start;
  margin-top: 15px;
  text-align: left;
  font-size: 9px;
}

.declaration-baseline,
.declaration-note {
  position: relative;
}

@media (min-width: 701px) {
  /* Keep the scene clear of the floating header, with a soft upper edge. */
  .declaration-shopping img {
    transform: scale(.9);
    transform-origin: right bottom;
    -webkit-mask-image: linear-gradient(to bottom, transparent, #000 36px);
    mask-image: linear-gradient(to bottom, transparent, #000 36px);
  }
}

@media (min-width: 1700px) {
  .declaration-shopping { height: 690px; max-width: 1920px; margin-inline: auto; }
  .declaration-shopping img { object-position: 72% top; }
  .declaration-inner { min-height: 610px; }
}

@media (min-width: 701px) and (max-width: 1000px) {
  .declaration-inner { gap: 20px; min-height: 570px; }
  .declaration-shopping { height: 570px; }
  .declaration-shopping img { object-position: 66% top; }
  .declaration-shopping::after {
    background:
      linear-gradient(0deg, #fbf7f1, rgba(251, 247, 241, .9) 13%, transparent 38%),
      linear-gradient(90deg, #fbf7f1, rgba(251, 247, 241, .93) 27%, rgba(251, 247, 241, .58) 44%, transparent 68%);
  }
  .declaration-title { font-size: clamp(61px, 8vw, 80px); }
  .declaration-seal { column-gap: 10px; padding-inline: 0; grid-template-columns: minmax(110px, .8fr) minmax(0, 1.2fr); }
  .declaration-seal .seal-number { font-size: 151px; }
  .declaration-seal .seal-patent { font-size: 20px; }
  .declaration-seal .seal-world { font-size: 8px; letter-spacing: .12em; }
}

@media (max-width: 700px) {
  .declaration-inner {
    grid-template-columns: minmax(0, 1fr);
    min-height: 0;
    gap: 0;
  }
  .declaration-copy { padding-top: 0; }
  .declaration-shopping {
    position: relative;
    z-index: 0;
    inset: auto;
    width: calc(100% + 48px);
    height: auto;
    aspect-ratio: 1.22;
    margin: 28px -24px 0;
  }
  .declaration-shopping img { object-position: 83% center; }
  .declaration-shopping::after {
    background: linear-gradient(0deg, #fbf7f1, transparent 18%, transparent 92%, rgba(251, 247, 241, .35));
  }
  .declaration-art {
    height: 327px;
    max-width: 390px;
    margin: 4px auto 14px;
  }
  .declaration-art .orbit-a { left: 1%; top: 24%; width: 97%; height: 50%; --orbit-angle: -35deg; }
  .declaration-art .orbit-b { left: 6%; top: 26%; width: 87%; height: 49%; --orbit-angle: 40deg; }
  .declaration-art .orbit-c { left: 25%; top: 8%; width: 51%; height: 82%; }
  .declaration-seal { display: flex; flex-direction: column; padding: 0; }
  .declaration-seal .seal-eyebrow { font-size: 9px; margin-bottom: 16px; }
  .declaration-seal .seal-number { font-size: 170px; }
  .declaration-seal .seal-world { font-size: 9px; margin-top: 15px; }
  .declaration-seal .seal-patent { font-size: 19px; margin-top: 16px; text-align: center; }
  .declaration-seal .seal-stages { font-size: 9px; margin-top: 8px; text-align: center; }
  .declaration-seal .seal-date { align-self: center; margin-top: 13px; text-align: center; }
}

@media (max-width: 380px) {
  .declaration-shopping { width: calc(100% + 36px); margin-inline: -18px; }
}

/* Shared page utilities, independent of the main website footer. */
video[width][height]{height:auto;max-width:100%}
.utility-footer{background:#f5ebed;color:#654e59;border-top:1px solid #e2d0d6;padding:27px 20px}
.utility-footer-inner{width:min(1160px,100%);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px}
.utility-footer-brand{font-family:var(--font-brand);font-size:21px;font-weight:500;letter-spacing:-.015em;color:#543140}
.utility-footer-nav{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.utility-footer-nav a{font-size:13px;color:#654e59;min-height:44px;display:inline-flex;align-items:center;text-decoration:underline;text-underline-offset:4px;text-decoration-color:transparent}
.utility-footer-nav a:hover{text-decoration-color:currentColor;color:#702f42}
.utility-footer a:focus-visible{outline:3px solid #8a4b60;outline-offset:5px;border-radius:3px}
@media(max-width:640px){
  .utility-footer{padding:23px 20px}
  .utility-footer-inner{align-items:flex-start;flex-direction:column;gap:10px}
  .utility-footer-nav{gap:8px 24px}
}


/* Keep essential copy readable while optional animation is stopped. */
.seal-settled :is(.seal-prefix,.seal-digit,.seal-world,.seal-patent,.seal-stages,.seal-date) { opacity: 1; transform: none; animation: none; }
.fng-declaration-page.page-idle *, .fng-declaration-page.page-idle *::before, .fng-declaration-page.page-idle *::after,
.motion-outside *, .motion-outside *::before, .motion-outside *::after { animation-play-state: paused !important; }
@media (max-width:900px), (pointer:coarse) {
  .fng-declaration-page:not([data-motion-state="playing"]) *,
  .fng-declaration-page:not([data-motion-state="playing"]) *::before,
  .fng-declaration-page:not([data-motion-state="playing"]) *::after,
  .detail-body:not([data-motion="playing"]) *,
  .detail-body:not([data-motion="playing"]) *::before,
  .detail-body:not([data-motion="playing"]) *::after { animation-play-state: paused !important; }
  [data-detail-reveal] { opacity: 1 !important; transform: none !important; animation: none !important; }
}
.video-recovery,.film-status { font: 400 1rem/1.6 var(--font-ui); padding: 1rem; color: #4e3140; background: #fff6f4; }
.film-status { position: relative; z-index: 5; }
.film-status a { color: inherit; text-decoration: underline; }

.detail-body[data-motion="paused"] [data-detail-panel] { animation: none !important; opacity: 1 !important; transform: none !important; }

/* Visitor journey: one clear idea, a hands-on concept, then deeper exploration. */
.commerce-overview{scroll-margin-top:110px;position:relative;background:#f8f2e9;border-block:1px solid #e2d5cb;padding:clamp(60px,7vw,104px) 28px;color:#382831}
.overview-inner{max-width:1280px;margin:auto;display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(32px,5vw,76px);align-items:center}
.upgrade-kicker{font:500 10px/1.6 var(--font-ui);letter-spacing:.17em;color:#8a5865;margin:0 0 25px}
.overview-copy h2{font-family:var(--font-brand);font-weight:400;font-size:clamp(42px,4.5vw,67px);line-height:1.03;letter-spacing:-.04em;margin:0 0 25px;text-wrap:balance}
.overview-copy h2 em{font-family:var(--font-soul);font-weight:400;color:#795260}
.overview-copy>p:not(.upgrade-kicker):not(.overview-stage){font-size:17px;line-height:1.75;color:#6d5861;max-width:490px}
.overview-path{padding:0;list-style:none;margin:28px 0}
.overview-path li{display:grid;grid-template-columns:25px 1fr;gap:15px;border-top:1px solid #e2d5cb;padding:17px 0}
.overview-path li>span{font-size:10px;color:#95744d;line-height:2.2}
.overview-path strong{font-size:15px;font-weight:500;color:#463039}
.overview-path p{font-size:14px;line-height:1.65;color:#725e66;margin:5px 0 0}
.overview-stage{font-size:12px;line-height:1.6;color:#755b62;display:flex;align-items:center;gap:9px}
.overview-stage>span{width:6px;height:6px;background:#a87c58;border-radius:50%;flex-shrink:0}
.overview-map{margin:0;min-width:0}
.overview-map>a{display:block;border:1px solid #d8c5b5;border-radius:18px;overflow:hidden;box-shadow:0 20px 50px #55392c0c;transition:transform .2s}
.overview-map>a:hover{transform:translateY(-3px)}
.overview-map img{display:block;width:100%;height:auto}
.overview-map figcaption{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:17px;font-size:11px;line-height:1.6;color:#7f6267}
.overview-map figcaption>span{font-size:9px;letter-spacing:.1em}
.overview-map figcaption a{text-decoration:underline;text-underline-offset:4px}
.overview-links{display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:22px;padding-top:17px;border-top:1px solid #e2d5cb}
.overview-links a{font-size:12px;display:flex;align-items:center;gap:14px;min-height:40px}
.commerce-demo-intro{max-width:880px;margin:0 auto 26px;text-align:center}
.commerce-demo-intro .commerce-demo-badge{margin-bottom:10px}
.commerce-demo-intro .commerce-demo-disclaimer{margin:0 auto;font-size:12px;line-height:1.7;max-width:720px}
.commerce-example{display:inline-flex;align-items:center;gap:15px;background:none;border:0;border-bottom:1px solid #c8a6b0;color:#753e50;padding:10px 0 7px;margin:4px 0;min-height:44px;font:500 12px var(--font-ui);cursor:pointer}
.commerce-next-path{border-top:1px solid #dac8cf;padding-top:18px;margin-top:18px;display:flex;flex-wrap:wrap;gap:8px 22px}
.commerce-next-path p{width:100%;font-size:12px;line-height:1.6;margin:0;color:#735963}
.commerce-next-path a{display:flex;align-items:center;gap:16px;min-height:44px;font-size:12px;font-weight:500;color:#753c4e;text-decoration:underline;text-underline-offset:4px}
.participation-preview{max-width:980px;margin:28px auto 8px;border:1px solid #decbd1;border-radius:18px;overflow:hidden;background:#ffffff52}
.participation-preview summary{padding:21px 26px;display:flex;gap:18px;align-items:center;cursor:pointer;font-family:var(--font-brand);font-size:23px;list-style:none}
.participation-preview summary::-webkit-details-marker{display:none}
.participation-preview summary>span:last-child{margin-left:auto;font:300 25px var(--font-ui)}
.participation-preview[open] summary>span:last-child{transform:rotate(45deg)}
.participation-preview summary small{display:block;margin-top:7px;font:400 11px/1.5 var(--font-ui);color:#806a73}
.participation-play{width:42px;height:42px;display:grid;place-items:center;border:1px solid #cbb1bc;border-radius:50%;font:12px var(--font-ui);flex-shrink:0}
.participation-preview-body{padding:0 20px 18px}
.participation-preview-body video{display:block;width:100%;height:auto;border-radius:10px;background:#f8f2e9}
.participation-preview-body p{font-size:13px;line-height:1.7;color:#6c5660;margin:16px 5px 0}
.participation-preview-body a{text-decoration:underline;text-underline-offset:4px}
.entertainment-rights{margin:28px 0 0;font-size:12px;line-height:1.7;color:#7e626e}
.entertainment .story-poster .story-frame{object-fit:cover}
.food-table-intro{margin:35px 0 42px;position:relative;border-radius:22px;overflow:hidden;background:#423224}
.food-table-intro img{width:100%;height:clamp(230px,33vw,430px);object-fit:cover;display:block}
.food-table-intro figcaption{display:flex;gap:12px;flex-wrap:wrap;justify-content:space-between;padding:18px 24px;background:#35291f;color:#f4e9db;font-size:11px;line-height:1.6}
.food-table-intro figcaption>span:first-child{letter-spacing:.12em;font-size:10px}
.food-table-intro figcaption>span:last-child{color:#d2c0ab}
.own-brand-disclosure,.comparison-review{border-top:1px solid #d9bcc7;border-bottom:1px solid #d9bcc7;margin-top:34px}
.own-brand-disclosure>summary,.comparison-review>summary{display:flex;justify-content:space-between;align-items:center;gap:20px;list-style:none;cursor:pointer;min-height:78px;padding:20px 2px;font-family:var(--font-brand);font-size:clamp(23px,3vw,31px);line-height:1.3}
.own-brand-disclosure>summary::-webkit-details-marker,.comparison-review>summary::-webkit-details-marker{display:none}
.own-brand-disclosure>summary span,.comparison-review>summary span{font:300 30px var(--font-ui)}
.own-brand-disclosure[open]>summary span,.comparison-review[open]>summary span{transform:rotate(45deg)}
.own-brand-disclosure .own-brand-compare{margin-top:0}
.comparison-review>.comparison-basics{margin-top:24px}
.comparison{padding-block:clamp(60px,7vw,100px)}
.closing-purpose{padding-block:clamp(66px,9vw,125px)}
.contact-routes{display:grid;grid-template-columns:1fr 1fr;gap:0 22px;margin:28px 0}
.contact-routes a{display:flex;justify-content:space-between;align-items:center;gap:16px;border-block-end:1px solid #b692a170;min-height:62px;padding:14px 0;font-size:14px;line-height:1.6}
.contact-routes a:hover{color:#9f6276}
.email-tools{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;margin-top:7px}
.email-tools button{background:none;border:0;border-bottom:1px solid currentColor;color:inherit;min-height:40px;padding:8px 0;font:400 12px var(--font-ui);cursor:pointer}
.email-tools [role=status]{font-size:12px;line-height:1.5}
.closing-contact .contact-note{font-size:11px;line-height:1.65;color:#80656f;margin-top:12px}
.closing-email{overflow-wrap:anywhere}
.overview-inner a:focus-visible,.commerce-example:focus-visible,.commerce-next-path a:focus-visible,.participation-preview summary:focus-visible,.own-brand-disclosure>summary:focus-visible,.comparison-review>summary:focus-visible,.contact-routes a:focus-visible,.email-tools button:focus-visible{outline:3px solid #a3617a;outline-offset:5px;border-radius:2px}
@media(max-width:900px){.overview-inner{grid-template-columns:1fr;gap:35px}.overview-copy{max-width:720px}.overview-copy>p:not(.upgrade-kicker):not(.overview-stage){max-width:620px}.overview-map{max-width:760px}.overview-path{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.overview-path li{grid-template-columns:1fr;gap:5px}.overview-map>a{border-radius:14px}}
@media(max-width:600px){.commerce-overview{padding:58px 22px}.overview-copy h2{font-size:45px}.overview-copy>p:not(.upgrade-kicker):not(.overview-stage){font-size:16px}.overview-path{display:block}.overview-path li{grid-template-columns:24px 1fr;gap:12px;padding:15px 0}.overview-map figcaption{align-items:flex-start;flex-direction:column;gap:9px}.overview-map figcaption a{min-height:32px}.overview-links{gap:0 22px}.commerce-demo-intro{text-align:left;margin-bottom:20px}.commerce-demo-intro .commerce-demo-disclaimer{font-size:12px}.participation-preview summary{padding:18px 17px;font-size:21px;gap:12px}.participation-play{width:34px;height:34px}.participation-preview-body{padding:0 10px 14px}.participation-preview-body p{font-size:12px}.food-table-intro{margin:25px 0 28px;border-radius:16px}.food-table-intro img{height:255px}.food-table-intro figcaption{padding:15px 17px;font-size:10px}.contact-routes{grid-template-columns:1fr;gap:0}.contact-routes a{min-height:57px;font-size:15px}.closing-contact .closing-email{font-size:clamp(12px,3.7vw,16px)}.commerce-next-path{display:block}.commerce-next-path a{font-size:12px}.entertainment-rights{font-size:11px}.own-brand-disclosure>summary,.comparison-review>summary{font-size:25px}}
@media(prefers-reduced-motion:reduce){.overview-map>a{transition:none}.overview-map>a:hover{transform:none}}


/* Business clarity: familiar brand, direct paths into a partner conversation. */
.declaration-subtitle { max-width: 31rem; line-height: 1.65; }
.declaration-subtitle strong { display: block; font-weight: 500; color: #49353e; margin-bottom: .45rem; }
.declaration-status { font: 400 .875rem/1.5 var(--font-ui); color: #765b66; margin: 1rem 0 0; }
.declaration-actions { margin-top: 1.3rem; }
.declaration-primary,.declaration-link,.declaration-film-label { font-size: .875rem; }
.partnership-paths { grid-column: 1 / -1; border-top: 1px solid #d7c4ba; padding-top: 2rem; scroll-margin-top: 7rem; }
.partnership-heading { display: flex; align-items: baseline; flex-wrap: wrap; gap: .5rem 1.5rem; margin-bottom: 1.25rem; }
.partnership-heading .upgrade-kicker { width: 100%; margin: 0; font-size: .75rem; }
.partnership-heading h3 { font: 500 1.8rem/1.3 var(--font-brand); letter-spacing: -.025em; margin: 0; }
.partnership-heading > p:last-child { margin: 0; font-size: 1rem; line-height: 1.6; color: #725862; }
.partnership-links { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 1.2rem; }
.partnership-links a { padding: 1rem 0; border-top: 1px solid #d9c9bf; display: flex; flex-direction: column; gap: .4rem; text-decoration: none; }
.partnership-links a:hover { border-color: #773d50; color: #773d50; }
.partnership-links span { font: 500 1rem/1.5 var(--font-ui); }
.partnership-links small { font: 400 .875rem/1.6 var(--font-ui); color: #725862; }
.partnership-paths a:focus-visible { outline: 3px solid #8b5066; outline-offset: 5px; }
.overview-path strong { font-size: 1rem; }
.overview-path p { font-size: 1rem; line-height: 1.65; }
.overview-stage { font-size: .875rem; }
.overview-map figcaption,.overview-links a { font-size: .875rem; }
.commerce-demo-intro .commerce-demo-disclaimer { font-size: .875rem; }
.contact-routes { grid-template-columns: 1fr; margin-block: 1.8rem; }
.contact-routes a { padding: 1.1rem 0; scroll-margin-top: 8rem; }
.contact-routes a > span:first-child { display: grid; gap: .3rem; }
.contact-routes strong { font-size: 1rem; font-weight: 500; }
.contact-routes small { font-size: .875rem; line-height: 1.6; color: #725661; }
.contact-routes a:target { background: #f2e3e9; outline: 2px solid #b78497; outline-offset: 8px; border-radius: 2px; }
.closing-contact .contact-note,.email-tools button,.email-tools [role=status] { font-size: .875rem; }
.closing-contact .closing-email { font-size: clamp(.875rem,2.7vw,1.05rem); overflow-wrap: anywhere; max-width: 100%; }
@media (max-width: 1000px) { .partnership-links { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media (max-width: 700px) {
  .declaration-subtitle { max-width: 35rem; }
  .declaration-status { margin-top: .8rem; }
  .declaration-actions { gap: .65rem 1.2rem; }
  .declaration-actions a { min-height: 44px; display: inline-flex; align-items: center; }
  .partnership-links { grid-template-columns: repeat(2,minmax(0,1fr)); gap: .5rem 1.1rem; }
  .partnership-links a:last-child { grid-column: 1 / -1; }
  .partnership-links span { font-size: .9375rem; }
  .partnership-links small { font-size: .875rem; }
  .overview-copy h2 { font-size: clamp(2.2rem,10vw,2.8rem); }
  .commerce-panel-intro,.story-panel p:not(.chapter-kicker),.food-details-list dd,.value-points p { font-size: 1rem; line-height: 1.65; }
  .commerce-values button,.commerce-products button,.commerce-example,.commerce-next-path a,.commerce-quick-products button { font-size: .875rem; }
  .commerce-quick-products { gap: .4rem; }
}
@media (max-width: 360px) { .partnership-links { grid-template-columns: 1fr; } .declaration-title { font-size: clamp(2.6rem,13vw,2.875rem); } }
/* Contact sits on the established dark company surface. */
.closing-contact .contact-routes small, .closing-contact .contact-note { color: #dac2cd; }
.closing-contact .contact-routes a:target { color: #432835; }
.closing-contact .contact-routes a:target small { color: #644652; }

/* The portfolio film loads only when a visitor chooses to watch. */
.declaration-portfolio{display:flex;align-items:center;gap:.8rem;width:fit-content;max-width:100%;min-height:44px;margin-top:.4rem;color:#693e50;font:500 .875rem/1.5 var(--font-ui);text-decoration:underline;text-underline-offset:5px}
.declaration-portfolio:focus-visible{outline:2px solid #793e52;outline-offset:5px}
.portfolio-film{scroll-margin-top:120px}
.portfolio-film-card{display:block;border:1px solid #d8c2c9;border-radius:14px;background:#fff7f2;color:#593244;text-decoration:none;box-shadow:0 14px 36px #482b3510}
.portfolio-film-image{position:relative;display:block;overflow:hidden;border-radius:13px 13px 0 0;aspect-ratio:16/9;background:#ead9d1}
.foundation-visual .portfolio-film-image img{width:100%;height:100%;object-fit:cover;border-radius:0}
.portfolio-film-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:64px;height:64px;display:grid;place-items:center;border-radius:50%;border:1px solid #fffbf4;background:#593244e8;color:#fffaf5;box-shadow:0 8px 26px #29101a40;transition:background .2s}
.portfolio-film-play svg{margin-left:3px}
.portfolio-film-card:hover .portfolio-film-play{background:#793e52}
.portfolio-film-caption{display:flex;align-items:baseline;flex-wrap:wrap;gap:0 .35em;padding:1rem 1.15rem;font:500 1rem/1.5 var(--font-ui)}
.portfolio-film-caption>span{white-space:nowrap;color:#795564}
@media(max-width:700px){.portfolio-film{scroll-margin-top:100px}.portfolio-film-play{width:56px;height:56px}.portfolio-film-caption{padding:.9rem 1rem;font-size:.9375rem}}
@media(prefers-reduced-motion:reduce){.portfolio-film-play{transition:none}}
