@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;600;700&family=Noto+Serif+KR:wght@400;500;600&display=swap");
:root { --green: #0e3d2f; --deep: #092a21; --gold: #d9bb76; --ivory: #f8f3e6; --ink: #182e25; --muted: #69746b; --line: #d9ddd3; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 100px; }
body { margin: 0px; color: var(--ink); background: rgb(251, 250, 246); font-family: "Noto Sans KR", sans-serif; font-size: 16px; line-height: 1.85; word-break: keep-all; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
img { max-width: 100%; display: block; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: rgb(185, 139, 56) solid 3px; outline-offset: 5px; }
.skip { position: fixed; top: -80px; left: 20px; z-index: 100; background: white; padding: 10px; }
.skip:focus { top: 10px; }
.wrap { width: min(1280px, 100% - 100px); margin: auto; }
.header { height: 94px; display: flex; align-items: center; background: rgb(251, 250, 246); position: sticky; top: 0px; z-index: 30; border-bottom: 1px solid var(--line); }
.nav-inner { display: flex; align-items: center; justify-content: space-between; gap: 20px; width: min(1400px, 100% - 80px); margin: auto; }
.wordmark { font-family: Georgia, serif; font-size: 27px; letter-spacing: 0.08em; line-height: 1.15; font-weight: bold; }
.wordmark small { font-family: "Noto Sans KR", sans-serif; display: block; font-size: 10px; letter-spacing: 0.3em; margin-top: 7px; font-weight: 400; }
.desktop-nav { display: flex; gap: 29px; align-items: center; }
.desktop-nav a { font-size: 14px; font-weight: 500; white-space: nowrap; }
.desktop-nav a.active { color: rgb(145, 104, 23); }
.nav-cta { border: 1px solid var(--green); padding: 10px 19px !important; }
.menu-toggle { display: none; border: 0px; background: transparent; color: var(--green); font-size: 16px; }
.hero { display: grid; grid-template-columns: 52% 48%; min-height: 690px; background: var(--green); color: white; position: relative; }
.hero-copy { padding: 83px 35px 65px max(45px, -640px + 50vw); position: relative; z-index: 1; }
.eyebrow { text-transform: uppercase; letter-spacing: 0.2em; font-size: 12px; font-weight: 600; color: rgb(138, 106, 48); display: block; margin-bottom: 20px; }
.hero .eyebrow, .dark .eyebrow { color: var(--gold); }
h1, h2, h3, p { margin-top: 0px; }
h1 { font-family: "Noto Serif KR", serif; font-weight: 400; font-size: clamp(40px, 4.1vw, 64px); line-height: 1.5; letter-spacing: -0.065em; margin-bottom: 25px; }
h1 em { font-style: normal; color: var(--gold); }
.hero-copy p { color: rgb(212, 223, 214); font-size: 16px; line-height: 1.95; }
.hero-image { position: relative; overflow: hidden; background: rgb(231, 228, 218); }
.hero-image > img { width: 100%; height: 100%; object-fit: cover; object-position: center 60%; position: absolute; }
.image-label { position: absolute; bottom: 23px; left: 25px; background: rgba(248, 243, 230, 0.92); padding: 10px 18px; color: rgb(34, 59, 44); font-size: 12px; letter-spacing: 0.1em; }
.hero-note { margin-top: 65px; display: flex; align-items: center; gap: 15px; font-family: Georgia, serif; font-size: 18px; letter-spacing: 0.16em; color: rgb(226, 211, 172); }
.hero-note::before { content: ""; display: block; width: 40px; height: 1px; background: var(--gold); }
.actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 31px; }
.btn { display: inline-flex; justify-content: center; align-items: center; gap: 26px; padding: 14px 24px; border: 1px solid var(--green); background: var(--green); color: white; font-size: 14px; transition: 0.2s; min-height: 52px; }
.btn:hover { background: rgb(28, 81, 61); transform: translateY(-2px); }
.btn.gold { background: var(--gold); border-color: var(--gold); color: var(--deep); }
.btn.outline { background: transparent; color: var(--green); }
.dark .btn.outline, .hero .btn.outline { border-color: rgb(131, 154, 135); color: white; }
.text-link { display: inline-flex; gap: 30px; align-items: center; border-bottom: 1px solid; padding-bottom: 7px; font-size: 14px; }
.intro-strip { display: flex; justify-content: space-between; gap: 35px; align-items: center; padding: 29px 0px; border-bottom: 1px solid var(--line); font-size: 14px; }
.intro-strip strong { font-weight: 500; }
.intro-strip span { color: var(--muted); font-size: 13px; }
.section { padding: 110px 0px; }
.section-head { display: flex; justify-content: space-between; align-items: end; gap: 40px; margin-bottom: 45px; }
.section h2, .page-intro h1 { font-family: "Noto Serif KR", serif; font-size: clamp(30px, 3.2vw, 46px); font-weight: 500; letter-spacing: -0.055em; line-height: 1.5; margin-bottom: 18px; }
.section-head p { max-width: 400px; color: var(--muted); font-size: 15px; }
.section-head h2 { margin-bottom: 0px; }
.serif { font-family: "Noto Serif KR", serif; }
.technology-row { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgb(170, 183, 170); }
.tech-item { padding: 32px 34px 18px 0px; }
.tech-item + .tech-item { border-left: 1px solid var(--line); padding-left: 34px; }
.num { color: rgb(152, 115, 47); font-family: Georgia, serif; font-size: 18px; }
.tech-item h3 { font-size: 23px; font-weight: 500; margin: 32px 0px 13px; }
.tech-item p { font-size: 15px; color: var(--muted); margin-bottom: 25px; }
.tech-item small { font-size: 12px; letter-spacing: 0.07em; }
.result-band { margin-top: 36px; border-top: 1px solid var(--line); padding-top: 25px; display: flex; justify-content: space-between; align-items: center; gap: 25px; }
.result-band .serif { font-size: 27px; }
.result-band p { font-size: 14px; margin: 0px; color: var(--muted); }
.collection { background: rgb(238, 238, 230); }
.product-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.product-card { min-width: 0px; }
.product-image { aspect-ratio: 3 / 3.6; overflow: hidden; background: rgb(225, 226, 216); position: relative; }
.product-image img { height: 100%; width: 100%; object-fit: cover; transition: transform 0.6s; }
.product-card:hover img { transform: scale(1.045); }
.product-card button { border: 0px; background: transparent; color: var(--ink); padding: 0px; width: 100%; text-align: left; }
.product-type { display: block; font-size: 11px; color: rgb(101, 113, 101); letter-spacing: 0.12em; margin: 20px 0px 7px; }
.product-card h3 { font-size: 19px; margin: 0px 0px 8px; font-weight: 500; }
.product-card p { font-size: 14px; color: var(--muted); margin: 0px; }
.card-link { float: right; font-size: 24px; }
.pairing { display: grid; grid-template-columns: 56% 44%; background: var(--ivory); }
.pairing-picture { min-height: 640px; position: relative; overflow: hidden; }
.pairing-picture img { height: 100%; width: 100%; object-fit: cover; position: absolute; }
.pairing-copy { padding: 75px 55px; }
.pairing-copy h2 { font-size: 37px; }
.pairing-copy p { font-size: 15px; color: var(--muted); }
.tags { display: flex; flex-wrap: wrap; gap: 9px; margin: 28px 0px; }
.tags span { border: 1px solid rgb(201, 201, 185); padding: 6px 14px; font-size: 13px; }
.fine { line-height: 1.8; font-size: 12px !important; color: rgb(112, 118, 107) !important; }
.dark { background: var(--green); color: var(--ivory); }
.franchise-layout { display: grid; grid-template-columns: 1.1fr 1fr; gap: 90px; }
.franchise-layout h2 { font-size: 46px; }
.dark p { color: rgb(193, 209, 196); }
.business-list { border-top: 1px solid rgb(83, 112, 97); }
.business-item { display: grid; grid-template-columns: 35px 1fr; gap: 18px; padding: 26px 0px; border-bottom: 1px solid rgb(83, 112, 97); }
.business-item h3 { font-weight: 500; font-size: 21px; margin-bottom: 8px; }
.business-item p { font-size: 14px; margin: 0px; }
.business-item span { color: var(--gold); font-family: Georgia, serif; }
.future-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
.future-item { padding: 28px 0px; border-top: 1px solid rgb(173, 183, 168); }
.future-item h3 { font-size: 23px; margin: 30px 0px 10px; font-weight: 500; }
.future-item p { font-size: 15px; color: var(--muted); }
.stage { font-size: 12px; border: 1px solid rgb(201, 206, 194); padding: 4px 10px; display: inline-block; margin-bottom: 18px; }
.contact-band { padding: 65px 0px; border-top: 1px solid var(--line); display: flex; justify-content: space-between; align-items: center; gap: 30px; }
.contact-band h2 { font-size: 28px; margin: 0px; }
.footer { background: rgb(9, 42, 33); color: rgb(212, 220, 207); padding: 55px 0px 30px; }
.footer-top { display: flex; justify-content: space-between; gap: 35px; padding-bottom: 35px; }
.footer-links { display: flex; gap: 30px; flex-wrap: wrap; font-size: 13px; }
.footer p { font-size: 12px; line-height: 2; color: rgb(170, 187, 170); margin: 8px 0px; }
.footer-bottom { border-top: 1px solid rgb(54, 83, 68); padding-top: 22px; display: flex; justify-content: space-between; gap: 25px; }
.page-intro { padding: 78px 0px 62px; background: var(--ivory); border-bottom: 1px solid var(--line); }
.page-intro p { max-width: 720px; color: var(--muted); margin: 0px; }
.breadcrumb { font-size: 12px; color: rgb(110, 119, 109); margin-bottom: 30px; }
.two-column { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; }
.body-copy h2 { font-size: 29px; }
.body-copy p { color: var(--muted); }
.large-quote { font-family: "Noto Serif KR", serif; font-size: 32px; line-height: 1.7; border-left: 2px solid var(--gold); padding-left: 35px; }
.number-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; padding-top: 45px; margin-top: 45px; border-top: 1px solid var(--line); }
.number-stats strong { font-family: Georgia, serif; font-size: 42px; display: block; color: var(--green); }
.number-stats p { font-size: 14px; color: var(--muted); }
details { border-bottom: 1px solid var(--line); padding: 23px 0px; }
summary { cursor: pointer; font-weight: 500; list-style: none; display: flex; justify-content: space-between; gap: 20px; }
summary::after { content: "＋"; font-weight: 400; }
details[open] summary::after { content: "−"; }
details p { margin: 18px 30px 0px 0px; color: var(--muted); font-size: 15px; }
.faq { max-width: 880px; margin: auto; }
.contact-layout { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: 70px; }
.contact-info { background: var(--green); padding: 40px; color: var(--ivory); align-self: start; }
.contact-info p { color: rgb(193, 209, 196); font-size: 14px; }
.contact-info a { overflow-wrap: anywhere; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.field { display: flex; flex-direction: column; gap: 9px; font-size: 14px; }
.field.full { grid-column: 1 / -1; }
.field input, .field select, .field textarea { width: 100%; border: 1px solid rgb(183, 194, 179); border-radius: 0px; background: transparent; color: var(--ink); padding: 13px; font-size: 16px; }
.field textarea { resize: vertical; min-height: 160px; }
.form-status { font-size: 14px; min-height: 25px; margin-top: 16px; }
.check-row { display: flex; align-items: flex-start; gap: 10px; margin: 22px 0px; font-size: 13px; }
.check-row input { margin-top: 7px; }
.dialog { border: 0px; padding: 0px; max-width: 920px; width: calc(100% - 40px); max-height: 90vh; background: rgb(251, 250, 246); color: var(--ink); }
.dialog::backdrop { background: rgba(6, 32, 24, 0.733); }
.dialog-layout { display: grid; grid-template-columns: 44% 56%; }
.dialog-photo { height: 100%; min-height: 440px; width: 100%; object-fit: cover; }
.dialog-copy { padding: 42px 35px; }
.dialog-copy h2 { font-size: 27px; font-weight: 500; }
.dialog-copy p { font-size: 15px; color: var(--muted); }
.close-dialog { position: absolute; right: 12px; top: 10px; border: 0px; background: rgb(255, 255, 255); width: 35px; height: 35px; font-size: 23px; }
.back-top { position: fixed; right: 20px; bottom: 20px; border: 1px solid rgb(196, 206, 189); background: rgb(251, 250, 246); color: var(--green); height: 42px; width: 42px; z-index: 15; }
.step-list { display: grid; grid-template-columns: repeat(4, 1fr); gap: 26px; }
.step-list article { border-top: 1px solid var(--line); padding-top: 25px; }
.step-list h3 { font-weight: 500; font-size: 19px; margin: 20px 0px 10px; }
.step-list p { font-size: 14px; color: var(--muted); }
.food-wide { width: 100%; max-height: 480px; object-fit: cover; margin-bottom: 45px; }
.mobile-panel { display: none; }
.privacy-copy { max-width: 800px; }
.privacy-copy p { font-size: 15px; color: var(--muted); }
@media (min-width: 1600px) {
  .hero { min-height: 740px; }
  .hero-copy { padding-top: 105px; }
}
@media (max-width: 1100px) {
  .wrap { width: calc(100% - 60px); }
  .desktop-nav { gap: 15px; }
  .desktop-nav a { font-size: 12px; }
  .hero-copy { padding-left: 35px; }
  .franchise-layout { gap: 45px; }
  .pairing-copy { padding: 55px 35px; }
  .pairing-copy h2 { font-size: 30px; }
  .contact-layout { gap: 35px; }
}
@media (max-width: 800px) {
  .wrap { width: calc(100% - 40px); }
  .header { height: 76px; }
  .nav-inner { width: calc(100% - 40px); }
  .wordmark { font-size: 23px; }
  .desktop-nav { display: none; }
  .menu-toggle { display: block; }
  .mobile-panel.open { display: flex; position: fixed; inset: 76px 0px auto; background: rgb(251, 250, 246); z-index: 29; flex-direction: column; padding: 20px 25px 30px; border-bottom: 1px solid var(--line); }
  .mobile-panel a { padding: 12px 0px; border-bottom: 1px solid var(--line); }
  .hero { grid-template-columns: 1fr; min-height: auto; }
  .hero-copy { padding: 50px 25px 45px; }
  .hero h1 { font-size: 43px; }
  .hero-image { height: 470px; }
  .hero-image > img { object-position: center 65%; }
  .hero-note { margin-top: 35px; }
  .intro-strip { align-items: start; flex-direction: column; gap: 8px; padding: 23px 0px; }
  .section { padding: 70px 0px; }
  .section-head { display: block; margin-bottom: 30px; }
  .section-head p { margin-top: 20px; }
  .section-head .text-link { margin-top: 20px; }
  .technology-row { grid-template-columns: 1fr; }
  .tech-item { border-bottom: 1px solid var(--line); padding: 25px 0px !important; }
  .tech-item + .tech-item { border-left: 0px; }
  .tech-item h3 { margin: 14px 0px 10px; }
  .tech-item p { margin-bottom: 10px; }
  .result-band { flex-direction: column; align-items: start; }
  .product-grid { grid-template-columns: repeat(2, 1fr); gap: 30px 15px; }
  .product-card h3 { font-size: 16px; }
  .product-card p { font-size: 13px; }
  .product-type { font-size: 10px; }
  .pairing { grid-template-columns: 1fr; }
  .pairing-picture { min-height: 340px; }
  .pairing-copy { padding: 40px 25px; }
  .pairing-copy h2 { font-size: 32px; }
  .franchise-layout { grid-template-columns: 1fr; gap: 35px; }
  .franchise-layout h2 { font-size: 35px; }
  .future-grid { grid-template-columns: 1fr; gap: 0px; }
  .future-item h3 { margin-top: 15px; }
  .contact-band { align-items: start; flex-direction: column; padding: 40px 0px; }
  .contact-band h2 { font-size: 25px; }
  .footer-top, .footer-bottom { flex-direction: column; }
  .footer-links { gap: 16px; }
  .page-intro { padding: 45px 0px; }
  .page-intro h1 { font-size: 35px; }
  .two-column, .contact-layout { grid-template-columns: 1fr; gap: 35px; }
  .large-quote { font-size: 26px; padding-left: 22px; }
  .number-stats { gap: 15px; }
  .number-stats strong { font-size: 33px; }
  .number-stats p { font-size: 12px; }
  .step-list { grid-template-columns: 1fr 1fr; }
  .form-grid { grid-template-columns: 1fr; }
  .field { grid-column: 1 / -1; }
  .dialog-layout { grid-template-columns: 1fr; }
  .dialog-photo { height: 260px; min-height: 0px; object-position: center 55%; }
  .dialog-copy { padding: 30px 23px; }
  .contact-info { padding: 30px; }
  .btn { padding: 12px 18px; gap: 18px; }
  .hero .actions { gap: 10px; }
  .hero .btn { font-size: 13px; }
  .fine { font-size: 12px !important; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  * { transition: none !important; }
}
.product-grid { grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 44px 26px; }
.product-size { display: block; margin-top: 13px; color: rgb(71, 99, 78); font-size: 13px; border-top: 1px solid rgb(205, 211, 198); padding-top: 11px; }
.design-image { background: rgb(244, 244, 239); }
.pack-window { position: absolute; width: 60%; height: 75%; top: 12.5%; left: 20%; overflow: hidden; }
.pack-window img { position: absolute; width: 259.26%; max-width: none; height: auto; left: -13.7%; top: -20.4%; object-fit: initial; }
.cold-window { width: 50%; left: 25%; }
.cold-window img { width: 414.6%; left: -32.1%; top: -37.5%; }
.product-card:hover .pack-window img { transform: none; }
.design-tag { position: absolute; bottom: 12px; left: 0px; right: 0px; text-align: center; font-size: 12px; color: rgb(108, 118, 109); }
.dialog-photo.design-detail { object-fit: contain; background: rgb(244, 244, 239); }
.pack-details img { width: 100%; margin-top: 15px; }
.bulk-options { background: rgb(248, 243, 230); }
.bulk-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 45px; margin-top: 35px; }
.bulk-grid article { border-top: 1px solid rgb(189, 198, 182); padding-top: 24px; }
.bulk-grid h3 { font-size: 23px; font-weight: 500; }
.bulk-grid button { background: transparent; border-width: 0px 0px 1px; border-style: none none solid; border-color: currentcolor; border-image: none; color: var(--green); cursor: pointer; padding-left: 0px; }
@media (max-width: 800px) {
  .product-grid { grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 32px 15px; }
  .product-size { font-size: 12px; }
  .bulk-grid { grid-template-columns: 1fr; gap: 32px; }
}
:root { --green: #103d2e; --deep: #071f18; --gold: #d8b870; --ivory: #f6f1e5; --ink: #16372a; --line: #d8dace; }
.header { background: rgb(8, 41, 31); color: rgb(246, 241, 229); border-bottom: 1px solid rgba(255, 255, 255, 0.125); height: 88px; }
.desktop-nav { gap: 22px; }
.desktop-nav a.active { color: rgb(231, 199, 121); }
.desktop-nav .nav-cta { border-color: rgb(180, 154, 98); color: rgb(237, 219, 173); }
.menu-toggle { color: var(--ivory); }
.wordmark small { color: rgb(203, 185, 140); }
.campaign-hero { display: block; min-height: 720px; isolation: isolate; background: rgb(7, 41, 30); overflow: hidden; }
.campaign-background { position: absolute; inset: 0px; width: 100%; height: 100%; object-fit: cover; object-position: center 58%; z-index: -2; }
.campaign-hero::after { content: ""; position: absolute; inset: 0px; z-index: -1; background: linear-gradient(90deg, rgba(4, 27, 18, 0.9) 0%, rgba(5, 29, 21, 0.65) 33%, rgba(5, 29, 21, 0) 62%); }
.campaign-hero .hero-copy { padding: 110px 15px 110px max(50px, -640px + 50vw); width: 56%; }
.campaign-hero h1 { font-size: clamp(42px, 4.1vw, 64px); line-height: 1.47; }
.campaign-hero .brand-statement { font-size: 16px; color: rgb(232, 217, 183); letter-spacing: 0.035em; margin: 0px 0px 22px; }
.campaign-hero .eyebrow { font-size: 11px; letter-spacing: 0.18em; margin-bottom: 22px; }
.campaign-hero .hero-copy > p:not(.brand-statement) { font-size: 16px; color: rgb(224, 229, 219); }
.hero-business-link { display: inline-block; color: rgb(226, 212, 178); font-size: 13px; margin-top: 25px; border-bottom: 1px solid rgba(181, 163, 117, 0.467); padding-bottom: 4px; }
.campaign-caption { position: absolute; right: 22px; bottom: 18px; z-index: 2; color: rgb(238, 228, 206); font-size: 12px; background: rgba(5, 24, 13, 0.63); padding: 5px 10px; }
.scroll-cue { position: absolute; left: max(50px, -640px + 50vw); bottom: 28px; font-size: 11px; letter-spacing: 0.16em; color: rgb(202, 188, 155); }
.intro-strip { padding: 30px 0px; }
.section { padding: 100px 0px; }
.collection { background: rgb(241, 240, 232); }
.section-head h2 { font-size: 42px; }
.product-grid { gap: 48px 28px; }
.product-image { aspect-ratio: 4 / 4.6; border: 1px solid rgb(215, 215, 202); background: rgb(232, 231, 223); }
.product-card .product-type { color: rgb(130, 112, 71); font-size: 12px; }
.product-card h3 { font-size: 21px; }
.product-size { color: rgb(67, 103, 79); }
.coldbrew-campaign-card img { object-position: 79% center; }
.coldbrew-campaign-card .design-tag { background: rgba(10, 36, 26, 0.79); color: rgb(239, 230, 211); bottom: 0px; padding: 6px; }
.dialog-photo.coldbrew-detail { object-fit: cover; object-position: 76% center; }
.technology-row { border-color: rgb(172, 172, 145); }
.result-band { background: rgb(237, 234, 222); border: 0px; padding: 26px 30px; margin-top: 28px; }
.result-band .serif { color: rgb(124, 92, 36); }
.pairing-copy { background: rgb(233, 228, 213); }
.dark { background: rgb(11, 48, 36); }
.business-item { border-color: rgb(73, 96, 75); }
.future-item { border-top: 2px solid rgb(190, 163, 105); }
.stage { border-color: rgb(182, 185, 158); background: rgb(241, 238, 226); }
.contact-band { border-top-color: rgb(184, 185, 157); padding: 65px 0px; }
.footer { background: rgb(6, 30, 22); }
.page-intro { position: relative; background: rgb(11, 48, 36); color: rgb(246, 241, 229); padding: 70px 0px 65px; overflow: hidden; }
.page-intro .breadcrumb { color: rgb(198, 205, 188); }
.page-intro .eyebrow { color: rgb(216, 184, 112); }
.page-intro p { color: rgb(208, 216, 201); max-width: 760px; }
.page-intro h1 { font-size: 46px; }
.page-intro .wrap { position: relative; z-index: 1; }
.collection-intro { background: rgb(8, 42, 31); isolation: isolate; }
.collection-intro::before { content: ""; position: absolute; inset: 0px; background: linear-gradient(90deg, rgb(8, 42, 31) 36%, rgba(8, 42, 31, 0.533) 65%, rgba(8, 42, 31, 0.2)), url("assets/auro-powder-lifestyle.png") right 60% / auto 170% no-repeat; z-index: 0; }
.collection-intro p { max-width: 630px; }
.body-copy h2 { line-height: 1.55; }
.large-quote { font-size: 30px; }
.contact-info { background: rgb(16, 61, 46); }
.btn { letter-spacing: 0.015em; }
.bulk-grid { gap: 35px; }
.bulk-grid article { background: rgb(240, 236, 223); border: 0px; padding: 30px; }
.selected-product { outline: 2px solid var(--gold); outline-offset: 10px; }
.mobile-panel.open { background: rgb(11, 48, 36); color: rgb(246, 241, 229); }
.mobile-panel a { border-color: rgba(255, 255, 255, 0.15); }
@media (max-width: 1100px) {
  .desktop-nav { gap: 13px; }
  .desktop-nav a { font-size: 12px; }
  .campaign-hero .hero-copy { padding-left: 35px; width: 60%; }
  .campaign-hero h1 { font-size: 45px; }
  .campaign-hero .btn { padding: 12px 16px; font-size: 13px; }
  .scroll-cue { left: 35px; }
}
@media (max-width: 800px) {
  .header { height: 76px; }
  .campaign-hero { min-height: 870px; }
  .campaign-background { height: 510px; top: auto; bottom: 0px; object-fit: cover; object-position: 70% center; }
  .campaign-hero::after { background: linear-gradient(rgb(8, 41, 31) 0%, rgb(8, 41, 31) 39%, rgba(8, 41, 31, 0.133) 56%, transparent 70%); }
  .campaign-hero .hero-copy { padding: 42px 23px 35px; width: 100%; }
  .campaign-hero h1 { font-size: 42px; margin-bottom: 18px; }
  .campaign-hero .eyebrow { font-size: 10px; margin-bottom: 15px; }
  .campaign-hero .brand-statement { font-size: 14px; margin-bottom: 14px; }
  .campaign-hero .hero-copy > p:not(.brand-statement) { font-size: 14px; }
  .campaign-hero .actions { margin-top: 23px; }
  .hero-business-link { margin-top: 20px; font-size: 12px; }
  .campaign-caption { font-size: 12px; right: 12px; left: 12px; bottom: 10px; text-align: center; }
  .scroll-cue { display: none; }
  .section { padding: 65px 0px; }
  .section-head h2 { font-size: 32px; }
  .product-grid { gap: 32px 15px; }
  .product-card h3 { font-size: 17px; }
  .product-card .product-type { font-size: 10px; }
  .product-size { font-size: 12px; line-height: 1.7; }
  .result-band { padding: 23px; }
  .page-intro { padding: 45px 0px; }
  .page-intro h1 { font-size: 34px; }
  .page-intro p { font-size: 15px; }
  .collection-intro::before { background: linear-gradient(90deg, rgba(8, 42, 31, 0.933), rgba(8, 42, 31, 0.733)), url("assets/auro-powder-lifestyle.png") 78% center / cover; }
  .bulk-grid article { padding: 23px; }
  .franchise-layout h2 { font-size: 34px; }
  .large-quote { font-size: 25px; }
  .contact-band { padding: 40px 0px; }
}
.powder-hero { min-height: 760px; height: 58vw; max-height: 1040px; }
.powder-hero .campaign-background { object-position: center center; }
.powder-hero::after { background: linear-gradient(rgba(0, 15, 10, 0.18), transparent 55%); }
.powder-hero .hero-copy { margin-left: 55%; width: 44%; padding: 30px 28px 0px 0px; text-shadow: rgba(0, 0, 0, 0.533) 0px 2px 12px; }
.powder-hero h1 { font-size: clamp(30px, 3vw, 49px); line-height: 1.28; margin: 0px 0px 15px; }
.powder-hero .eyebrow { margin-bottom: 12px; }
.powder-hero .brand-statement { margin-bottom: 12px; }
.powder-hero .hero-copy > p:not(.brand-statement) { margin: 0px; font-size: 15px; }
.powder-hero .actions { margin-top: 18px; gap: 10px; }
.powder-hero .btn { padding: 11px 14px; font-size: 13px; }
.powder-hero .hero-business-link { margin-top: 13px; }
.powder-evidence { display: flex; align-items: center; gap: 38px; margin-top: 35px; background: rgb(245, 241, 232); padding: 24px; }
.powder-evidence img { width: 220px; height: 220px; object-fit: cover; border-radius: 50%; }
.powder-evidence h3 { font-size: 28px; margin: 8px 0px 16px; }
.powder-evidence p { line-height: 1.8; }
@media (max-width: 800px) {
  .powder-hero { height: auto; min-height: 0px; max-height: none; padding-bottom: 65vw; }
  .powder-hero .hero-copy { margin-left: 0px; width: 100%; padding: 34px 23px 24px; }
  .powder-hero h1 { font-size: 36px; }
  .powder-hero .campaign-background { height: 65vw; top: auto; bottom: 0px; object-fit: cover; object-position: center center; }
  .powder-hero::after { background: none; }
  .powder-hero .campaign-caption { font-size: 10px; bottom: 4px; }
  .powder-evidence { flex-direction: column; align-items: flex-start; gap: 15px; }
  .powder-evidence img { width: 170px; height: 170px; }
  .powder-evidence h3 { font-size: 24px; }
}
.language-switch { display: flex; align-items: center; gap: 7px; font-size: 11px; white-space: nowrap; margin-left: 14px; }
.language-switch a { color: rgb(186, 200, 189); padding: 8px 2px; }
.language-switch a[aria-current] { color: rgb(246, 223, 159); border-bottom: 1px solid rgb(216, 184, 112); }
.language-switch span { color: rgb(112, 133, 119); }
html[lang="en"] .desktop-nav { gap: 14px; }
html[lang="en"] .desktop-nav a { font-size: 12px; }
html[lang="en"] .powder-hero h1 { font-size: clamp(29px, 2.8vw, 43px); }
html[lang="en"] .powder-hero .hero-copy > p:not(.brand-statement) { font-size: 14px; }
html[lang="en"] .powder-hero .btn { font-size: 11px; padding: 10px; }
html[lang="en"] h2 { line-height: 1.3; }
@media (max-width: 1100px) {
  html[lang="en"] .desktop-nav { display: none; }
  html[lang="en"] .menu-toggle { display: block; }
  .language-switch { margin-left: auto; margin-right: 14px; }
}
@media (max-width: 800px) {
  .language-switch { font-size: 10px; gap: 5px; margin-right: 10px; }
  .wordmark { font-size: 23px; }
  html[lang="en"] .powder-hero h1 { font-size: 34px; }
}
.food-intro { background: rgb(16, 61, 46); color: rgb(248, 243, 230); padding: 65px 0px 35px; }
.food-intro h1 { font-size: clamp(38px, 4vw, 62px); line-height: 1.2; margin: 22px 0px; }
.food-intro p { color: rgb(222, 223, 205); line-height: 1.9; }
.food-tabs { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 30px; }
.food-tabs a { border: 1px solid rgba(255, 255, 255, 0.25); padding: 10px 19px; font-size: 14px; }
.food-tabs a[aria-current], .food-tabs a:hover { background: rgb(220, 193, 124); color: rgb(19, 56, 43); border-color: rgb(220, 193, 124); }
.food-category-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.food-category { background: rgb(240, 234, 223); }
.food-category img { width: 100%; height: auto; display: block; }
.food-category > div { padding: 22px; }
.food-category h2 { font-size: 26px; margin: 10px 0px; }
.food-category h2 span { float: right; }
.food-category p { font-size: 14px; line-height: 1.7; }
.food-product-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 38px 28px; }
.food-product { background: rgb(248, 245, 237); border: 1px solid rgb(224, 222, 206); }
.food-product img { display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: contain; }
.food-product > div { padding: 23px; }
.food-product h3 { font-size: 22px; margin: 10px 0px; }
.food-product p { min-height: 20px; font-size: 14px; }
.food-story { background: rgb(238, 233, 220); }
.food-process { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; margin-top: 35px; }
.food-process article { border-top: 1px solid rgb(173, 158, 119); padding-top: 22px; }
.food-process h3 { font-size: 20px; }
.food-process p { line-height: 1.8; font-size: 15px; }
.food-supply { padding: 80px 0px; background: rgb(16, 61, 46); color: rgb(255, 255, 255); }
.food-supply h2 { font-size: 38px; }
.food-supply p { line-height: 1.9; max-width: 850px; }
.food-supply .fine { color: rgb(207, 206, 184); margin-top: 25px; }
.food-nav-group { position: relative; }
.food-subnav { display: none; position: absolute; top: 100%; left: -15px; min-width: 155px; padding: 15px; background: rgb(16, 61, 46); box-shadow: rgba(0, 0, 0, 0.2) 0px 10px 25px; z-index: 50; }
.food-subnav a { display: block; padding: 10px !important; }
.food-nav-group:hover .food-subnav, .food-nav-group:focus-within .food-subnav { display: block; }
.mobile-panel .food-subnav { position: static; display: flex; flex-wrap: wrap; box-shadow: none; background: transparent; padding: 0px 0px 10px; }
.mobile-panel .food-nav-group > a { display: block; }
.mobile-panel .food-subnav a { font-size: 13px; }
.tags a { border: 1px solid rgb(185, 174, 145); padding: 8px 12px; }
.pairing-picture img[src*="food-raspberry"] { object-fit: contain; background: rgb(255, 255, 255); }
@media (max-width: 900px) {
  .food-category-grid, .food-process { grid-template-columns: repeat(2, 1fr); }
  .food-product-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 520px) {
  .food-intro { padding-top: 38px; }
  .food-tabs { gap: 7px; }
  .food-tabs a { font-size: 12px; padding: 9px 12px; }
  .food-category-grid { gap: 12px; }
  .food-category > div { padding: 13px; }
  .food-category h2 { font-size: 21px; }
  .food-category p { font-size: 12px; }
  .food-product-grid { gap: 16px 12px; }
  .food-product > div { padding: 12px; }
  .food-product h3 { font-size: 16px; overflow-wrap: anywhere; }
  .food-product p { font-size: 12px; }
  .food-product .eyebrow { font-size: 9px; }
  .food-process { gap: 20px; }
  .food-process h3 { font-size: 17px; }
  .food-supply h2 { font-size: 30px; }
}
html[lang="zh-CN"] { font-family: "Noto Sans SC", "Microsoft YaHei", "PingFang SC", sans-serif; }
html[lang="zh-CN"] h1, html[lang="zh-CN"] h2 { word-break: normal; line-height: 1.35; }
html[lang="zh-CN"] .desktop-nav { gap: 18px; }
html[lang="zh-CN"] .desktop-nav a { font-size: 13px; }
.language-switch { gap: 5px; margin-left: 10px; }
html[lang="zh-CN"] .food-product h3 { line-height: 1.5; }
@media (max-width: 1100px) {
  html[lang="zh-CN"] .desktop-nav { display: none; }
  html[lang="zh-CN"] .menu-toggle { display: block; }
}
@media (max-width: 800px) {
  .language-switch { margin-left: auto; margin-right: 8px; }
  .language-switch a { padding: 8px 1px; }
  .nav-inner { gap: 8px; }
  html[lang="zh-CN"] .powder-hero h1 { font-size: 34px; }
}
.pairing { grid-template-columns: minmax(0px, 1fr) minmax(0px, 1fr); align-items: stretch; }
.pairing .pairing-picture { min-height: 0px; display: flex; align-items: center; justify-content: center; background: rgb(255, 255, 255); padding: 36px; }
.pairing .pairing-picture img { position: static; width: min(100%, 520px); height: auto; object-fit: contain; }
.pairing .pairing-copy { padding: 52px clamp(28px, 4vw, 64px); display: flex; flex-direction: column; justify-content: center; align-items: flex-start; min-width: 0px; }
.pairing .pairing-copy h2 { font-size: clamp(28px, 2.6vw, 37px); line-height: 1.5; }
.pairing .pairing-copy .tags { margin: 20px 0px; gap: 8px; }
.pairing .pairing-copy .tags a { font-size: 13px; padding: 7px 11px; }
@media (max-width: 800px) {
  .pairing { grid-template-columns: 1fr; }
  .pairing .pairing-picture { padding: 24px; }
  .pairing .pairing-picture img { width: min(100%, 400px); }
  .pairing .pairing-copy { padding: 36px 25px; }
  .pairing .pairing-copy h2 { font-size: 30px; }
}
.tech-interactive { position: relative; transition: background 0.2s; }
.tech-interactive:hover { background: rgba(14, 61, 47, 0.035); }
.tech-open { display: flex; align-items: center; justify-content: space-between; gap: 20px; width: 100%; margin-top: 22px; padding: 12px 0px; border-width: 1px 0px 0px; border-style: solid none none; border-color: rgb(203, 214, 202) currentcolor currentcolor; border-image: none; background: transparent; color: rgb(14, 61, 47); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-size: 14px; font-weight: 600; cursor: pointer; text-align: left; }
.tech-open::after { content: ""; position: absolute; inset: 0px; }
.tech-open:focus-visible { outline: rgb(148, 113, 44) solid 3px; outline-offset: 4px; }
.tech-story { position: fixed; inset: 0px; margin: auto; width: min(760px, 100% - 32px); max-height: 85dvh; padding: 0px; border: 0px; border-radius: 4px; background: rgb(250, 249, 244); color: rgb(22, 62, 48); overflow: auto; box-shadow: rgba(0, 0, 0, 0.267) 0px 25px 90px; }
.tech-story::backdrop { background: rgba(5, 25, 18, 0.68); }
.tech-story-inner { position: relative; padding: 54px 48px 42px; }
.tech-story h2 { font-size: clamp(25px, 4vw, 36px); line-height: 1.35; margin: 20px 0px; }
.tech-story p { font-size: 16px; line-height: 1.85; margin: 18px 0px; color: rgb(72, 87, 77); }
.tech-close { position: absolute; right: 12px; top: 10px; width: 44px; height: 44px; background: transparent; border: 0px; color: inherit; font-size: 30px; cursor: pointer; }
.tech-steps { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 12px; margin: 28px 0px; padding: 0px; }
.tech-steps li { padding: 20px 15px; border-top: 2px solid rgb(170, 138, 67); background: rgb(240, 239, 231); font-size: 16px; line-height: 1.6; }
.tech-steps span { display: block; font-size: 14px; color: rgb(130, 99, 44); margin-bottom: 10px; }
.tech-story-photo { display: block; width: 100%; max-height: 290px; object-fit: contain; background: rgb(255, 255, 255); }
body:has(.tech-story[open]) { overflow: hidden; }
@media (max-width: 600px) {
  .tech-story-inner { padding: 52px 24px 30px; }
  .tech-steps { grid-template-columns: 1fr; gap: 8px; }
  .tech-steps li { padding: 12px 16px; display: flex; gap: 16px; align-items: center; }
  .tech-steps span { margin: 0px; }
  .tech-story { max-height: 90dvh; }
}
.tech-gallery { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 24px 0px 28px; }
.tech-gallery figure { margin: 0px; min-width: 0px; background: rgb(240, 239, 231); }
.tech-gallery img { display: block; width: 100%; height: 260px; object-fit: contain; background: rgb(234, 233, 225); }
.tech-gallery figcaption { font-size: 14px; line-height: 1.6; padding: 12px 14px; color: rgb(67, 89, 76); }
.tech-gallery-field { grid-template-columns: 1.6fr 1fr; }
.tech-gallery-field img { height: 290px; }
@media (max-width: 600px) {
  .tech-gallery, .tech-gallery-field { grid-template-columns: 1fr; }
  .tech-gallery img, .tech-gallery-field img { height: auto; max-height: 340px; object-fit: contain; }
}
.hero.collage-hero { display: block; min-height: 0px; height: auto; max-height: none; padding: 0px; overflow: hidden; }
.collage-hero .campaign-background { position: static; display: block; width: 100%; height: auto; object-fit: contain; opacity: 1; }
.collage-hero .hero-copy { width: 100%; margin: 0px; padding: 32px max(24px, -640px + 50vw); text-shadow: none; }
.collage-hero .hero-copy h1 { font-size: clamp(28px, 3vw, 40px); margin: 12px 0px; }
.collage-hero .campaign-caption { position: static; display: block; padding: 0px 24px 12px; font-size: 12px; color: rgb(212, 223, 214); }
.collage-hero .scroll-cue { display: none; }
.portal-home { background: rgb(7, 30, 24); color: rgb(255, 255, 255); }
.portal-home .header { background: rgb(7, 30, 24); color: rgb(229, 205, 144); border-bottom: 1px solid rgba(198, 164, 90, 0.2); }
.portal-home .desktop-nav, .portal-home .menu-toggle { display: none; }
.portal-home .nav-inner { min-height: 66px; justify-content: space-between; }
.portal-home .language-switch { margin-left: auto; }
.portal-home .wordmark { color: rgb(229, 205, 144); }
.portal-home .language-switch a { color: rgb(232, 223, 200); }
.portal-mast { display: grid; grid-template-columns: 45% 55%; height: 350px; max-width: 1600px; margin: auto; background: rgb(12, 46, 35); }
.portal-portrait { overflow: hidden; position: relative; }
.portal-portrait img { width: 100%; height: 100%; object-fit: cover; object-position: 70% 35%; }
.portal-portrait::after { content: ""; position: absolute; inset: 0px; background: linear-gradient(90deg, transparent 60%, rgb(12, 46, 35)); }
.portal-brand { text-align: center; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 22px; }
.portal-logo { display: flex; flex-direction: column; align-items: center; color: rgb(229, 205, 144); }
.portal-logo img { width: 185px; height: 120px; object-fit: cover; filter: grayscale(1) invert(1); mix-blend-mode: screen; }
.portal-logo span { font-size: 13px; border-bottom: 1px solid rgba(184, 155, 90, 0.4); padding-bottom: 6px; }
.portal-brand h1 { font-size: clamp(24px, 2.4vw, 36px); line-height: 1.5; letter-spacing: -0.025em; margin: 15px 0px 8px; color: rgb(244, 232, 202); }
.portal-brand h1 br { display: none; }
.portal-brand p { font-size: 14px; color: rgb(199, 209, 200); margin: 0px; }
.portal-doors { max-width: 1440px; margin: auto; padding: 34px 40px 40px; }
.portal-heading { display: flex; justify-content: space-between; align-items: end; margin-bottom: 22px; }
.portal-heading span { font-size: 11px; letter-spacing: 0.23em; color: rgb(214, 184, 113); }
.portal-heading h2 { font-size: 27px; margin: 8px 0px 0px; color: rgb(255, 255, 255); }
.portal-heading > p { font-size: 14px; color: rgb(185, 199, 189); }
.portal-grid { display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 15px; }
.portal-card { position: relative; display: block; min-height: 265px; overflow: hidden; background: rgb(25, 61, 44); border: 1px solid rgba(199, 172, 101, 0.18); color: rgb(255, 255, 255); }
.portal-card > img { position: absolute; inset: 0px; width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s; }
.portal-card::after { content: ""; position: absolute; inset: 0px; background: linear-gradient(rgba(0, 28, 23, 0.333) 0%, transparent 22%, rgba(0, 25, 16, 0.65) 53%, rgba(0, 23, 15, 0.96) 100%); }
.portal-card-1 img { object-position: 75% 60%; }
.portal-card-2 img { object-position: center 45%; }
.portal-card-4 img { object-position: center 40%; }
.portal-number { position: absolute; top: 18px; left: 22px; font-size: 11px; letter-spacing: 0.14em; color: rgb(255, 248, 225); z-index: 1; text-shadow: rgb(0, 0, 0) 0px 1px 4px; }
.portal-card-copy { position: absolute; left: 22px; right: 22px; bottom: 18px; z-index: 1; }
.portal-card h3 { font-size: 25px; line-height: 1.25; color: rgb(255, 255, 255); margin: 0px 0px 9px; letter-spacing: -0.025em; }
.portal-card p { font-size: 14px; color: rgb(229, 232, 216); margin: 0px; line-height: 1.6; }
.portal-enter { display: flex; justify-content: space-between; align-items: center; margin-top: 15px; border-top: 1px solid rgba(230, 213, 167, 0.3); padding-top: 11px; font-size: 12px; color: rgb(228, 199, 127); }
.portal-enter b { font-size: 21px; font-weight: 400; }
.portal-card:hover img { transform: scale(1.045); }
.portal-card:hover { border-color: rgb(221, 188, 114); }
.portal-card:focus-visible, .portal-logo:focus-visible { outline: rgb(233, 198, 110) solid 3px; outline-offset: 4px; }
.portal-closing { text-align: center; padding: 26px 24px 34px; border-top: 1px solid rgba(207, 177, 109, 0.2); background: rgb(12, 46, 35); }
.portal-closing > span { font-size: 10px; letter-spacing: 0.22em; color: rgb(212, 183, 118); }
.portal-closing p { font-size: 22px; line-height: 1.65; color: rgb(239, 228, 201); margin: 15px 0px; }
.portal-closing a { font-size: 13px; color: rgb(213, 201, 173); }
.welcome-copy { max-width: 850px; font-size: 19px; line-height: 2; color: rgb(69, 93, 80); }
@media (min-width: 1500px) {
  .portal-card { min-height: 290px; }
}
@media (max-width: 800px) {
  .portal-mast { height: 310px; grid-template-columns: 40% 60%; }
  .portal-brand { padding: 12px; }
  .portal-brand h1 { font-size: 23px; }
  .portal-brand h1 br { display: block; }
  .portal-brand p { font-size: 12px; }
  .portal-logo span { font-size: 11px; }
  .portal-doors { padding: 28px 20px; }
  .portal-heading { display: block; }
  .portal-heading h2 { font-size: 24px; }
  .portal-heading > p { margin: 8px 0px; }
  .portal-grid { grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 12px; }
  .portal-card { min-height: 255px; }
  .portal-card h3 { font-size: 21px; }
  .portal-card-copy { left: 16px; right: 16px; }
  .portal-number { left: 16px; font-size: 9px; }
  .portal-card p { font-size: 13px; }
}
@media (max-width: 440px) {
  .portal-mast { height: 280px; grid-template-columns: 35% 65%; }
  .portal-logo img { width: 150px; height: 100px; }
  .portal-brand h1 { font-size: 21px; }
  .portal-portrait img { object-position: 66% center; }
  .portal-card h3 { font-size: 19px; }
  .portal-card { min-height: 245px; }
  .portal-doors { padding: 24px 14px; }
  .portal-card-copy { left: 12px; right: 12px; }
  .portal-number { left: 12px; font-size: 8px; }
  .portal-closing p { font-size: 19px; }
}
@media (prefers-reduced-motion: reduce) {
  .portal-card > img { transition: none; }
}
.portal-logo .portal-symbol { position: relative; display: block; width: 185px; height: 115px; overflow: hidden; border: 0px; padding: 0px; }
.portal-logo .portal-symbol img { position: absolute; width: 480px; max-width: none; height: 339px; left: 50%; top: 50%; transform: translate(-50%, -50%); object-fit: fill; }
.portal-logo .portal-symbol { animation: 3.8s ease-in-out 0s infinite normal none running kbeans-logo-glow; }
@keyframes kbeans-logo-glow { 
  0%, 100% { opacity: 0.74; filter: drop-shadow(transparent 0px 0px 0px); }
  50% { opacity: 1; filter: drop-shadow(rgba(230, 201, 121, 0.4) 0px 0px 10px); }
}
.portal-logo:hover .portal-symbol, .portal-logo:focus-visible .portal-symbol { animation: auto ease 0s 1 normal none running none; opacity: 1; filter: drop-shadow(rgba(230, 201, 121, 0.533) 0px 0px 12px); }
@media (prefers-reduced-motion: reduce) {
  .portal-logo .portal-symbol { animation: auto ease 0s 1 normal none running none; opacity: 1; }
}
.portal-logo { position: relative; isolation: isolate; }
.portal-logo::before { content: ""; position: absolute; inset: -22px -48px; z-index: -1; pointer-events: none; background: radial-gradient(rgba(255, 211, 101, 0.55) 0%, rgba(224, 167, 52, 0.26) 38%, rgba(224, 167, 52, 0) 72%); animation: 3.4s ease-in-out 0s infinite normal none running kbeans-halo; }
.portal-logo .portal-symbol { animation: auto ease 0s 1 normal none running none; opacity: 1; filter: none; }
.portal-logo .portal-symbol img { filter: grayscale(1) invert(1) sepia(1) saturate(2.5) brightness(1.55); mix-blend-mode: screen; }
.portal-logo .portal-symbol::after { content: ""; position: absolute; inset: -25% -60%; pointer-events: none; background: linear-gradient(110deg, transparent 39%, rgba(255, 237, 172, 0.08) 44%, rgba(255, 244, 201, 0.72) 49%, rgba(255, 237, 172, 0.08) 54%, transparent 59%); mix-blend-mode: screen; transform: translateX(-65%); animation: 4.8s ease-in-out 0s infinite normal none running kbeans-shine; }
@keyframes kbeans-halo { 
  0%, 100% { opacity: 0.28; transform: scale(0.9); }
  50% { opacity: 1; transform: scale(1.12); }
}
@keyframes kbeans-shine { 
  0%, 12% { transform: translateX(-65%); opacity: 0; }
  22% { opacity: 1; }
  62% { transform: translateX(65%); opacity: 0; }
  100% { transform: translateX(65%); opacity: 0; }
}
.portal-logo:hover::before, .portal-logo:focus-visible::before { animation: auto ease 0s 1 normal none running none; opacity: 1; transform: scale(1.1); }
@media (prefers-reduced-motion: reduce) {
  .portal-logo::before { animation: auto ease 0s 1 normal none running none; opacity: 0.65; }
  .portal-logo .portal-symbol::after { animation: auto ease 0s 1 normal none running none; display: none; }
}
.location-map { width: 100%; margin: 28px 0px; border: 1px solid rgb(185, 201, 187); background: rgb(228, 236, 229); }
.location-map iframe { display: block; width: 100%; height: 420px; border: 0px; }
.portal-logo { position: relative; isolation: isolate; }
.portal-logo::before { content: ""; position: absolute; inset: -18px -40px; border-radius: 50%; background: radial-gradient(rgba(244, 214, 123, 0.4) 0%, rgba(220, 183, 84, 0.15) 40%, transparent 70%); animation: 3s ease-in-out 0s infinite normal none running kbeans-halo; z-index: -1; pointer-events: none; }
.portal-logo .portal-symbol { overflow: visible; animation: 3s ease-in-out 0s infinite normal none running kbeans-gold-light; }
.portal-logo .portal-symbol img { filter: grayscale(1) invert(1) sepia(1) saturate(2.8); clip-path: inset(26% 29% 24%); }
@keyframes kbeans-gold-light { 
  0%, 100% { opacity: 0.85; filter: drop-shadow(rgba(255, 230, 161, 0.6) 0px 0px 5px); }
  50% { opacity: 1; filter: drop-shadow(rgb(255, 228, 161) 0px 0px 12px) drop-shadow(rgba(214, 170, 71, 0.533) 0px 0px 26px); }
}
@keyframes kbeans-halo { 
  0%, 100% { opacity: 0.3; transform: scale(0.88); }
  50% { opacity: 1; transform: scale(1.12); }
}
@media (max-width: 600px) {
  .location-map iframe { height: 320px; }
}
@media (prefers-reduced-motion: reduce) {
  .portal-logo::before, .portal-logo .portal-symbol { animation: auto ease 0s 1 normal none running none; }
  .portal-logo .portal-symbol { filter: drop-shadow(rgba(230, 201, 121, 0.533) 0px 0px 8px); }
}
.detail-return{display:flex;justify-content:space-between;gap:20px;padding-top:30px;font-size:14px;color:#0e3d2f}.detail-return a:hover{text-decoration:underline}@media(max-width:600px){.detail-return{font-size:12px;flex-wrap:wrap}}

/* Common navigation, company story and enquiry revision. */
.unified-header{position:relative;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;height:90px;padding:0 4.5%;background:#071f19;color:#f8f3e6;border-bottom:1px solid #ffffff20}
.unified-brand{flex-shrink:0;font:bold 28px Georgia,serif;color:#e3c471;text-decoration:none}.unified-brand small{display:block;font:9px sans-serif;letter-spacing:.18em;margin-top:6px}
.unified-nav{display:flex;align-items:center;gap:28px;font:14px "Malgun Gothic",sans-serif}.unified-nav a{text-decoration:none;color:inherit;white-space:nowrap}.unified-nav a:hover{color:#e3c471}
.unified-cta{border:1px solid #e3c47170;color:#e3c471;padding:10px 16px;white-space:nowrap;font-size:13px;text-decoration:none}
.story-menu{position:relative;border:0!important}.story-menu summary{list-style:none;cursor:pointer;padding:0;font:inherit;white-space:nowrap;display:flex;align-items:center;gap:7px}.story-menu summary:after{content:'⌄';color:#e3c471}.story-menu[open] summary:after{content:'⌃'}
.story-dropdown{position:absolute;top:calc(100% + 22px);left:-18px;min-width:230px;padding:10px;background:#0e3d2f;border:1px solid #e3c47160;box-shadow:0 12px 28px #0004;z-index:30}.story-dropdown a{display:block;padding:12px 14px;font-size:14px}.story-dropdown a:hover{background:#ffffff0a}
.company-section-nav{display:flex;flex-wrap:wrap;gap:12px;padding:22px 0}.company-section-nav a{padding:10px 18px;border:1px solid #0e3d2f40;color:#0e3d2f;text-decoration:none}
.story-chapters{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:32px}.story-chapter{padding:28px;border:1px solid #0e3d2f30;background:#fff8}.story-chapter .chapter-number{color:#887035;font-size:12px;letter-spacing:.12em}.story-chapter h3{font-size:23px;margin:12px 0}.story-chapter p{line-height:1.9}.company-welcome .welcome-copy{max-width:850px;line-height:2}.company-welcome p+p{margin-top:20px}.location-address{font-size:21px;margin:22px 0}.location-map{margin:24px 0}.location-map iframe{width:100%;height:360px;border:0}.purchase-shortcut{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:22px 6%;background:#0e3d2f;border-bottom:1px solid #e3c47135}.purchase-shortcut p{margin-right:auto;color:#f8f3e6}.purchase-shortcut a{padding:9px 16px;border:1px solid #e3c47170;color:#e3c471;text-decoration:none}.contact-preview{white-space:pre-wrap;background:#f8f3e6;border:1px solid #0e3d2f40;padding:20px;margin:20px 0;font:inherit;overflow-wrap:anywhere}.contact-preview[hidden]{display:none}.partnership-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.partnership-grid article{padding:30px;border:1px solid #0e3d2f30}.partnership-grid h2{font-size:28px;margin-bottom:20px}.partnership-grid p{margin:16px 0}.partnership-grid ul{padding-left:20px;line-height:2}.partnership-grid .actions{margin-top:24px}
@media(max-width:950px){.unified-header{gap:16px;padding-inline:4%}.unified-nav{gap:16px;font-size:12px}.unified-brand{font-size:24px}.unified-cta{font-size:12px;padding:8px 12px}}
@media(max-width:700px){.unified-header{height:auto;min-height:112px;flex-wrap:wrap;padding:15px 5%;gap:14px}.unified-nav{order:3;width:100%;justify-content:space-between;gap:7px;font-size:12px}.unified-cta{margin-left:auto}.unified-nav>a,.story-menu summary{min-height:32px;display:flex;align-items:center}.story-dropdown{left:0;top:calc(100% + 8px)}.story-chapters,.partnership-grid{grid-template-columns:1fr}.story-chapter{padding:22px}.location-map iframe{height:280px}.purchase-shortcut{font-size:13px;gap:10px}}

#send-inquiry[hidden],#copy-inquiry[hidden]{display:none}

.page-intro .company-section-nav a{color:#e3c471;border-color:#e3c47170}.unified-nav .story-menu summary{color:#f8f3e6}.company-welcome h2{margin-bottom:26px}

.locale-bar{display:flex;justify-content:flex-end;gap:4px;align-items:center;padding:7px 4.5%;background:#071f19;color:#c9d4cb;border-bottom:1px solid #ffffff12;font:11px "Malgun Gothic",sans-serif}.locale-bar a{padding:5px 10px;line-height:1.4;min-height:26px;color:inherit;text-decoration:none;border:1px solid transparent}.locale-bar a[aria-current=page]{color:#e3c471;border-color:#e3c47150}.locale-bar a:hover{color:#e3c471}.locale-bar a:focus-visible{outline:2px solid #e3c471;outline-offset:2px}html[lang=en] .hero h1{font-size:clamp(27px,3.1vw,54px)}html[lang=en] .reference-hero .hero-copy h1{font-size:clamp(26px,2.9vw,45px);line-height:1.35}html[lang=en] .difference-question span{white-space:normal}html[lang=en] .moment strong{font-size:clamp(22px,2.3vw,34px)}html[lang=en] .unified-nav{gap:20px}@media(max-width:700px){.locale-bar{padding:5px 4%}.unified-nav{gap:8px}html[lang=en] .unified-nav{font-size:11px;gap:8px}html[lang=ja] .unified-nav{font-size:11px}html[lang=en] .unified-cta,html[lang=ja] .unified-cta{font-size:11px;padding:8px 10px}.hero-explore{white-space:normal;text-align:center}html[lang=en] .difference-question span{white-space:normal}}

.locale-bar a:last-child,.unified-nav>a:last-child{display:inline-flex!important}html[lang=en] .unified-nav{gap:18px}@media(max-width:700px){html[lang=en] .unified-nav{gap:7px;font-size:11px}.locale-bar{flex-wrap:wrap}.locale-bar a{padding:5px 8px}}

html[lang=ja] h1,html[lang=ja] h2,html[lang=ja] h3,html[lang=zh-CN] h1,html[lang=zh-CN] h2,html[lang=zh-CN] h3{word-break:normal;overflow-wrap:anywhere}html[lang=ja] .difference-question span,html[lang=zh-CN] .difference-question span{white-space:normal}

/* v38: independent franchise entry and mobile expandable navigation */
.primary-menu-toggle{display:none;border:1px solid #e3c47170;background:transparent;color:#e3c471;padding:10px 14px;font:inherit;cursor:pointer}
.unified-nav{gap:20px}.cake-format-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:28px 0}.cake-format-grid>a{display:block;padding:32px;border:1px solid #0e3d2f40;background:#f8f3e6;color:#0e3d2f}.cake-format-grid h2{font-size:28px;display:flex;justify-content:space-between;gap:20px}.cake-format-section{padding:40px 0;border-top:1px solid #0e3d2f25;scroll-margin-top:30px}.cake-format-section h2{font-size:32px;margin-bottom:16px}.existing-cakes>summary{cursor:pointer;padding:18px 0;text-decoration:underline}
@media(max-width:1100px){.unified-header{height:auto;min-height:90px;flex-wrap:wrap;gap:12px}.primary-menu-toggle{display:block;order:2;margin-left:auto}.unified-cta{order:3;margin-left:0}.unified-nav{display:none!important;order:4;width:100%;padding:12px 0}.unified-nav.primary-menu-open{display:flex!important;flex-direction:column;align-items:stretch;gap:0;font-size:15px!important}.unified-nav.primary-menu-open>a,.unified-nav.primary-menu-open summary{display:flex!important;padding:14px 0;border-bottom:1px solid #ffffff20;min-height:48px}.story-dropdown{position:static;box-shadow:none;margin:8px 0}.unified-nav.primary-menu-open .story-menu{width:100%}}
@media(max-width:700px){.unified-header{min-height:90px}.cake-format-grid{grid-template-columns:1fr;gap:16px}.cake-format-grid>a{padding:24px}.cake-format-grid h2{font-size:25px}.primary-menu-toggle{font-size:12px;padding:9px 11px}}

/* Source collection v39 */
.cake-search{display:block;max-width:560px;margin:28px 0 10px}.cake-search input{display:block;width:100%;box-sizing:border-box;padding:14px;border:1px solid #c8b98f;border-radius:8px;font:inherit;margin-top:8px}.cake-entry[hidden]{display:none}.cake-format-section{scroll-margin-top:110px}.cake-entry img{object-fit:contain;background:#fff}.source-experience .future-grid{margin:30px 0}

.cake-format-grid>a>img{width:100%;height:240px;object-fit:contain;background:white;display:block;margin-bottom:20px}

/* v40 complete franchise structure */
.franchise-tabs{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.franchise-tabs a{border:1px solid #c7af70;padding:10px 18px;border-radius:30px}
main section[id^=franchise-]{scroll-margin-top:30px}.franchise-flow,.franchise-steps{list-style:none;padding:0;display:grid;gap:24px;margin:36px 0}.franchise-flow{grid-template-columns:repeat(4,minmax(0,1fr))}.franchise-flow li{position:relative;padding:24px;background:#ffffff08;border:1px solid #d4af3750}.franchise-flow li:not(:last-child)::after{content:'→';position:absolute;right:-21px;top:45%;color:#e3c471;font-size:22px}.franchise-flow h3{color:#e3c471;font-size:22px}.franchise-flow .num,.franchise-steps .num{color:#ac8530;font-size:14px}.franchise-menu-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:36px}.franchise-menu-card{padding:28px;border:1px solid #0e3d2f25;background:#f8f3e6;display:flex;flex-direction:column;gap:14px}.franchise-menu-card h3{font-size:23px}.franchise-menu-card a{margin-top:auto}.franchise-lessons{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:28px}.franchise-lessons details{padding:24px;border:1px solid #0e3d2f30;background:#fff}.franchise-lessons summary{cursor:pointer;font-size:22px;line-height:1.5}.franchise-lessons p{padding-top:18px}.franchise-steps{grid-template-columns:repeat(3,minmax(0,1fr))}.franchise-steps li{padding:26px;border-top:2px solid #d4af37}.section.dark .future-item{border-color:#d4af3750}.section.dark .text-link{color:#e3c471}
@media(max-width:1000px){.franchise-menu-grid,.franchise-flow{grid-template-columns:repeat(2,minmax(0,1fr))}.franchise-flow li::after{display:none}}
@media(max-width:600px){.franchise-flow,.franchise-menu-grid,.franchise-lessons,.franchise-steps{grid-template-columns:1fr}.franchise-flow li:not(:last-child)::after{display:block;content:'↓';right:50%;top:auto;bottom:-26px}.franchise-tabs{gap:8px}.franchise-tabs a{font-size:13px;padding:8px 12px}}

.tech-card-link{display:block;color:inherit;text-decoration:none}.tech-card-link:hover .tech-item{background:#f0e6ca}.tech-card-link:focus-visible{outline:3px solid #d4af37;outline-offset:4px}.tech-card-more{display:block;margin-top:24px;color:#80641b;font-weight:700}.technology-detail-copy{max-width:850px}.technology-detail-copy p{font-size:19px;line-height:2;margin-bottom:28px}
/* v51 multilingual wrapping and narrow-screen intrinsic sizes */
html[lang=ja] body,html[lang=ja] p,html[lang=ja] li,html[lang=ja] summary,html[lang=zh-CN] body,html[lang=zh-CN] p,html[lang=zh-CN] li,html[lang=zh-CN] summary{word-break:normal;overflow-wrap:anywhere}
.story-chapters>* ,.technology-row>* ,.number-stats>* ,.food-product-grid>* ,.future-grid>* ,.partnership-grid>*{min-width:0}
@media(max-width:600px){.number-stats strong{font-size:clamp(18px,6vw,30px)}.food-tabs{flex-wrap:wrap}.food-tabs a{white-space:normal}.product-size{overflow-wrap:anywhere}}

/* Visible member access alongside language selection. */
.locale-bar .member-entry{display:flex;gap:6px;align-items:center;margin-right:auto;flex-shrink:0}.locale-bar .member-entry a{font-size:12px;color:#f6e27a;border:1px solid #d4af3750;border-radius:4px}.locale-bar .member-entry a:hover{background:#d4af3718}@media(max-width:700px){.locale-bar .member-entry{width:100%;justify-content:flex-end;padding-bottom:4px}.locale-bar .member-entry a{font-size:12px;min-height:34px;display:inline-flex;align-items:center}}

.catalog-status-note{padding:14px 18px;border-left:3px solid #d4af37;background:#f8f3e6;color:#0e3d2f;font-size:14px;line-height:1.7;overflow-wrap:anywhere}.member-help{margin:18px 0;line-height:1.7}.member-help a{text-decoration:underline}.privacy-copy p{line-height:1.8;overflow-wrap:anywhere}

#member-lifecycle{width:min(960px,calc(100% - 40px));box-sizing:border-box;margin:24px auto;padding:24px}#member-lifecycle details{margin:18px 0}#member-lifecycle summary{cursor:pointer;font-weight:bold;padding:10px 0}
