@charset "utf-8";
/* layout.css는 전체적인 레이아웃 스타일을 정의합니다. */
#skipToContent a {z-index:100000; position:absolute; top:0; left:0; width:1px; height:1px; font-size:0; line-height:0; overflow:hidden;}
#skipToContent a:focus, #skipToContent a:active {width:200px; height:50px; background:#21272e; color:#fff; font-size:14px; font-weight:bold; text-align:center; text-decoration:none; line-height:50px;}
.only-desktop {display:block;}
.only-desktop-tablet {display:block;}
.only-tablet-mobile {display:none;}
.only-tablet {display:none;}
.only-mobile {display:none;}
.contain {width:100%; max-width:1584px; padding-left:30px; padding-right:30px; margin:0 auto;}
.contain2 {width:100%; max-width:1260px; padding-left:30px; padding-right:30px; margin:0 auto;}
.contain:after {content:""; display:block; clear:both;}
body#main .contain:after {content:none; display:none;}
.icon {display:flex; align-items:center; justify-content:center; flex-shrink:0;}
.icon img {width:100%; height:100%; object-fit:contain;}
.icon16 {width:16px; height:16px;}
.icon20 {width:20px; height:20px;}
.icon24 {width:24px; height:24px;}
.icon32 {width:32px; height:32px;}
#container>div {overflow:hidden;}
body#main {padding-bottom:var(--cta-bar-offset); overflow-x:clip; --site-gutter:clamp(20px, 5vw, 160px); --width-gnb:100vw; --width-content:90vw; --width-hero-content:90vw; --gnb-padding-x:var(--site-gutter); --footer-padding-x:var(--site-gutter); --cta-padding-x:var(--site-gutter);}
body#main #container {overflow-x:clip;}
body#main #container>section {scroll-margin-top:var(--header-height);}
body#main button, .cta-bar button {cursor:pointer;}
body#main input, .cta-bar input, body#main textarea {outline:none;}

/* header */
#header {position:fixed; width:100%; z-index:101; top:0; left:0; height:var(--header-height); background:transparent; border-bottom:none; transition:background-color .3s, box-shadow .3s;}
#header .contain {position:relative; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; height:100%; z-index:10;}
#header .contain::after {content:none;}

.sitelogo {position:relative; z-index:2; justify-self:start; background:none;}
.sitelogo a {display:block;}
.sitelogo img {visibility:visible;}

#gnb {text-align:center; min-width:0; justify-self:center;}
#gnb>ul {display:flex; align-items:center; justify-content:center; gap:80px;}
#gnb>ul>li {position:relative;}
#gnb>ul>li>a {position:relative; display:flex; align-items:center; justify-content:center; height:var(--header-height); color:var(--color-white); font-family:var(--font-family-display); font-size:var(--fs-gnb); font-weight:400; line-height:var(--lh-gnb); width:auto; padding:0; letter-spacing:var(--ls-display); white-space:nowrap; transition:color .2s;}
#gnb>ul>li:hover>a, #gnb>ul>li>a:focus-visible {color:var(--color-sub-green);}

.util {display:flex; align-items:center; gap:10px; justify-self:end;}
.hd-donate, .header__cta {display:inline-flex; align-items:center; gap:12px; padding:10px 28px 10px 16px; background-color:#E4007F; border-radius:var(--button-radius); white-space:nowrap; transition:background-color .2s;}
.hd-donate:hover, .hd-donate:focus-visible, .header__cta:hover, .header__cta:focus-visible {background-color:#c20069;}
.header__cta-icon {display:flex; align-items:center; justify-content:center; width:32px; height:32px; flex-shrink:0;}
.header__cta-icon img {width:22px; height:auto;}
.header__cta-number {font-family:var(--font-family-display); font-size:clamp(20px, 1.6vw, 26px); font-style:italic; font-weight:700; line-height:1em; letter-spacing:-.02em; color:var(--color-white); transform:translateY(2px);}

.list-icon {width:22px; height:16px; text-align:center; text-indent:-9999em; z-index:50; transition:all 0.5s linear; display:none; position:relative;}
.list-icon span {position:absolute; right:0; top:50%; margin-top:0px; height:2px; background:#fff; left:0;}
.list-icon span:before, .list-icon span:after {content:" "; position:absolute; left:0; right:0; height:2px; transition-duration:0.3s, 0.3s; transition-delay:0.3s, 0s; background:#fff;}
.list-icon span:before {top:-8px; transition-property:top, transform; content:"only";}
.list-icon span:after {bottom:-8px; transition-property:bottom, transform;}

#header.hover {background:transparent;}
#header.move {background:var(--color-white); box-shadow:0 1px 0 var(--color-border);}
#header.move #gnb>ul>li>a {color:var(--color-heading);}
#header.move #gnb>ul>li:hover>a, #header.move #gnb>ul>li>a:focus-visible {color:var(--color-sub-green);}
#header.move .list-icon span, #header.move .list-icon span:before, #header.move .list-icon span:after {background:#121212;}

.mobile-navigation {display:block; position:fixed; top:0; right:0; width:300px; height:100%; overflow:auto; transition:.2s linear; -ms-transform:translateX(100%); transform:translateX(100%); background:#fff; z-index:102;}
.mobile-navigation .home {display:flex; align-items:center; height:80px; padding:0 20px; color:#242424; font-size:19px; font-weight:700; line-height:1.5em;}
.mobile-navigation .nav-menu>ul {border-top:1px solid #ddd;}
.mobile-navigation .nav-menu>ul>li {border-bottom:1px solid #ddd;}
.mobile-navigation .nav-menu>ul>li>a {position:relative; padding:10px 48px 10px 20px; display:block; color:#242424; font-size:17px; font-weight:700; line-height:1.5em;}
.mobile-navigation .nav-menu>ul>li>a:after {content:""; position:absolute; top:50%; right:20px; transform:translateY(-75%) rotate(45deg); width:11px; height:11px; border-right:2px solid #505050; border-bottom:2px solid #505050;}
.mobile-navigation .nav-menu>ul>li.active>a {color:#fff; background:var(--color-primary);}
.mobile-navigation .nav-menu>ul>li.active>a:after {transform:translateY(-35%) rotate(-135deg); border-color:#fff;}
.mobile-navigation .nav-menu .submenu {display:none; background:#f8f8f8; color:#454545; font-size:15px; font-weight:400; line-height:1.5em;}
.mobile-navigation .nav-menu .submenu ul li {border-top:1px solid #e5e5e5;}
.mobile-navigation .nav-menu .submenu ul li a {display:block; padding:12px 20px;}
.mobile-navigation .nav-menu .submenu ul li a br {display:none;}
.mobile-navigation .nav-menu .submenu ul li a:hover {color:var(--color-primary);}
.mobile-navigation .close {position:absolute; top:25px; right:15px; width:26px; height:26px; text-indent:-9999em; overflow:hidden;}
.mobile-navigation .close:before, .mobile-navigation .close:after {content:" "; position:absolute; top:12px; left:0; width:100%; height:3px; background:#242424; border-radius:3px;}
.mobile-navigation .close:before {transform:rotate(45deg);}
.mobile-navigation .close:after {transform:rotate(-45deg);}
.mobile-overlay {display:none; position:fixed; top:0; left:0; width:100%; height:100%; background:#000; opacity:0.6; z-index:101;}
html.menu-opened {overflow:hidden;}
html.menu-opened .mobile-navigation {-ms-transform:translateX(0); transform:translateX(0);}
html.menu-opened .mobile-overlay {display:block;}
.mobile-navigation .nav-menu>ul>li>a:after {display:none;}
/* 국수나무 랜딩 */
.sr-only {position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0, 0, 0, 0); white-space:nowrap; border:0;}
.font-display {font-family:var(--font-display); font-weight:400; letter-spacing:var(--ls-display); font-synthesis:none;}
.hero__title, .hero__hook, .hero__badge, .hero__highlight-value, .hero__highlight-label, .hero-strip__value, .hero-card__value, .stats__title, .stats__item-label, .stats__item-value, .brand__title, .brand__mega, .brand__highlight, .chart-card__title, .profit__title, .profit-chart__center-value, .profit-chart__profit-label, .system__title, .system-card__num, .system-card__heading, .system-card__sub, .cook__title, .cook-step__label, .cook-step__title, #gnb>ul>li>a, .contact-phone__number, .startup__title, .startup-step__num, .startup-step__title, .startup__panel-title, .startup-model__name, .startup-model__price, .startup__benefit-highlight, .gallery__title, .testimonial__title, .locator__title, .inquiry2__title, .inquiry2__phone-number {font-family:var(--font-display); font-weight:400; letter-spacing:var(--ls-display); font-synthesis:none;}
/* components */
/* Figma Components — btn #12144:944, #20026:3270, form #20048:1082 */
.btn {display:inline-flex; align-items:center; justify-content:center; border-radius:var(--button-radius); border:1px solid transparent; font-weight:600; letter-spacing:-0.32px; transition:opacity 0.2s;}
.btn:hover {opacity:0.9;}
.btn--main {background-color:var(--color-main); color:var(--color-white);}
.btn--main-lg {min-width:160px; height:58px; padding:0 24px; font-size:var(--fs-btn-lg); line-height:var(--lh-body); letter-spacing:-0.36px;}
.btn--brand-link {gap:8px; padding:10px 16px; font-size:14px; font-weight:600; line-height:1.4em;}
.btn--brand-link img {width:20px; height:20px; flex-shrink:0;}
.form-field {display:flex; align-items:center; gap:16px; width:100%; min-height:var(--input-height); padding:16px; background-color:var(--color-white); border:1px solid var(--color-border); border-radius:var(--input-radius);}
.form-field--fixed {width:300px; flex-shrink:0;}
.form-field--grow {flex:1; min-width:0;}
.form-field__label {flex-shrink:0; font-size:var(--fs-body); font-weight:600; line-height:1.5em; letter-spacing:-0.32px; color:var(--color-heading); white-space:nowrap; padding-top: 1px;}
.form-field__required {color:var(--color-main);}
.form-field__input {flex:1; min-width:0; width:100%; height:auto; margin:0; padding:0; border:none; background:transparent; font-family:var(--font-primary); font-size:var(--fs-body); font-weight:500; line-height:var(--lh-body); letter-spacing:-0.32px; color:var(--color-heading); box-shadow:none; -webkit-appearance:none; appearance:none;}
.form-field__input:focus {outline:none;}
.form-field__input::placeholder {font-weight:400; color:var(--color-muted);}
.form-check {display:flex; align-items:center; gap:8px; flex-shrink:0;}
.form-check__box {width:20px; height:20px; background-color:var(--color-white); border:1px solid var(--color-border); border-radius:4px; flex-shrink:0;}
.form-check__label {font-size:var(--fs-body); line-height:1.5em; letter-spacing:-0.32px; color:var(--color-body); white-space:nowrap;}
.form-check__link {padding:6px 8px; background-color:var(--color-white); border:1px solid var(--color-border); border-radius:4px; font-size:12px; font-weight:500; line-height:normal; letter-spacing:-0.24px; color:var(--color-body); white-space:nowrap;}
.badge-pill {display:inline-flex; align-items:center; justify-content:center; padding:8px 16px; background-color:var(--color-main); border-radius:var(--button-radius); font-size:var(--fs-subheading); font-weight:500; line-height:var(--lh-subheading); letter-spacing:-0.4px; color:var(--color-white);}
.badge-pill--accent {background-color:var(--color-accent);}
.badge-pill--light {background-color:rgba(255, 255, 255, 0.16); border:1px solid rgba(255, 255, 255, 0.45); color:var(--color-white);}
.badge-pill--green {background-color:var(--color-sub-green); color:var(--color-white);}
.hero-nav {display:flex;}
.hero-nav__group {display:flex; align-items:center; padding:4px; background:rgba(255, 255, 255, 0.1); border:1px solid rgba(255, 255, 255, 0.22); border-radius:100px; backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);}
.hero-nav__divider {width:1px; height:22px; background:rgba(255, 255, 255, 0.18); flex-shrink:0;}
.hero-nav__btn {display:flex; align-items:center; justify-content:center; width:48px; height:48px; border-radius:50%; background-color:transparent; color:rgba(255, 255, 255, 0.92); transition:background-color 0.25s ease, color 0.25s ease, transform 0.2s ease; cursor:pointer; border: none; }
.hero-nav__btn:hover, .hero-nav__btn:focus-visible {background-color:var(--color-sub-green); color:var(--color-white);}
.hero-nav__btn:active {transform:scale(0.96);}
.hero-nav__icon {display:flex; width:22px; height:22px;}
.hero-nav__icon svg {display:block; width:100%; height:100%;}
.hero-nav__btn--next .hero-nav__icon {transform:rotate(180deg);}
.top-btn {position:fixed; right:20px; bottom:calc(var(--cta-bar-offset) + 16px); z-index:160; display:block; width:48px; height:48px;}
.top-btn img {width:100%; height:100%;}
.logo {position:relative; display:block; overflow:hidden;}
.logo--header {width:158px; height:40px;}
.logo--footer {width:132px; height:34px;}
.logo__part {position:absolute;}
.logo--header .logo__text {inset:12.54% 0 9.4% 31.11%;}
.logo--header .logo__mark-1 {inset:0 76.91% 31.93% 0;}
.logo--header .logo__mark-2 {inset:41.18% 86.24% 0 9.33%;}
.logo--footer .logo__text {inset:12.54% 0 9.4% 31.11%;}
.logo--footer .logo__mark-1 {inset:0 76.91% 31.93% 0;}
.logo--footer .logo__mark-2 {inset:41.18% 86.24% 0 9.33%;}
.logo__text-img--dark {display:none;}
#header.move .logo__text-img--light {display:none;}
#header.move .logo__text-img--dark {display:block;}
.logo__part img {width:100%; height:100%; max-width:none; object-fit:fill;}
.contact-phone {display:flex; align-items:center; gap:8px;}
.contact-phone__label {font-size:var(--fs-body); line-height:var(--lh-body); letter-spacing:-0.32px; color:var(--color-main);}
.contact-phone__number {color:var(--color-main);}
.contact-phone--hero .contact-phone__label, .contact-phone--hero .contact-phone__number {color:#E4007F;}
.contact-phone--hero .contact-phone__number {font-size:var(--fs-cta-phone-hero); line-height:var(--lh-cta-phone-hero);}
.contact-phone--footer .contact-phone__number {font-size:var(--fs-cta-phone-footer); line-height:var(--lh-cta-phone-footer);}
/* --- site-main.css --- */
/* ===== main.css ===== */
/* Hero — Figma main_visual #20119:386 + dense full layout */
.hero {position:relative; width:100%; max-width:100%; margin-left:0; margin-right:0; height:var(--hero-height); overflow:hidden;}
.hero--full {height:auto; min-height:var(--hero-height); padding-bottom:132px;}
/* Hero — classic main visual (orbit bowl + bottom ticker) */
.hero--classic {height:100vh; height:100dvh; min-height:640px; padding-bottom:0; overflow:hidden;}
.hero--classic .hero__bg-dim {z-index:2; pointer-events:none; background:rgba(0, 0, 0, 0.48);}
.hero--classic .hero__content {display:flex; flex-direction:column; align-items:center; justify-content:flex-start; gap:10px; min-height:100%; padding:100px 0 16px; overflow:visible;}
.hero__head {display:flex; flex-direction:column; align-items:center; gap:10px; margin-top:52px; text-align:center;}
.hero__eyebrow {font-family:var(--font-display); font-size:clamp(24px, 2vw, 32px); font-weight:700; line-height:1.35em; letter-spacing:-0.02em; color:var(--color-white);}
.hero__title--green {font-family:var(--font-display); font-style:italic; font-weight:900; line-height:1.08em; letter-spacing:-0.02em; color:var(--color-sub-green); -webkit-text-stroke:1px var(--color-sub-green); paint-order:stroke fill;}
.hero__title-dot {font-family:var(--font-primary); font-style:normal; font-weight:900; display:inline-block; margin:0 0.12em;}
.hero__visual {position:relative; display:flex; align-items:center; justify-content:center; width:min(820px, 90vw); height:min(820px, 90vw); margin-top:0; overflow:visible;}
.hero__stage {position:relative; width:100%; height:100%; transform:translateY(100px); overflow:visible;}
.hero__orbit {position:absolute; top:50%; left:50%; width:132%; height:132%; z-index:1; pointer-events:none; transform:translate(-50%, -50%); animation:hero-orbit-spin 24s linear infinite;}
.hero__orbit-svg {display:block; width:100%; height:100%; overflow:visible;}
.hero__orbit-text {fill:#ffffff; font-family:var(--font-primary); font-size:16px; font-weight:600; letter-spacing:0.06em;}
.hero__bowl {position:absolute; top:50%; left:50%; z-index:2; width:92%; height:92%; border-radius:50%; overflow:visible; background:transparent; transform:translate(-50%, -50%);}
.hero__bowl img {display:block; width:100%; height:100%; object-fit:contain; object-position:center center; transform:scale(1.12); filter:drop-shadow(0 28px 64px rgba(0, 0, 0, 0.52));}
.hero__ticker {position:absolute; left:0; right:0; bottom:0; z-index:5; width:100%; max-width:none; margin:0;}
.hero__ticker.rolling-banner--dark {background-color:var(--color-sub-green);}
.hero--classic .hero__nav {bottom:calc(var(--cta-bar-offset) + 24px); top:auto;}
@keyframes hero-orbit-spin {from {transform:translate(-50%, -50%) rotate(0deg);} to {transform:translate(-50%, -50%) rotate(-360deg);}}
.hero__bg {position:absolute; inset:0; z-index:0; }
.hero__bg-base {position:absolute; inset:0; overflow:hidden;}
.hero__bg-base img, .hero__bg-video, .hero__bg-fallback {position:absolute; width:100%; height:100%; inset:0; max-width:none; object-fit:cover;}
.hero__bg-video {z-index:1;}
.hero__bg-fallback {z-index:0;}
.hero--classic .hero__bg-base:has(.hero__bg-video) .hero__bg-fallback {opacity:0; visibility:hidden;}
.hero__bg-base.is-video-paused .hero__bg-video {opacity:0; visibility:hidden;}
.hero__bg-base.is-video-paused .hero__bg-fallback {opacity:1; visibility:visible;}
.hero__bg-cover {position:absolute; inset:0; width:100%; height:100%; max-width:none; object-fit:cover; opacity:0.35;}
.hero__bg-dim {position:absolute; inset:0; background:linear-gradient(180deg, rgba(0, 0, 0, 0.55) 0%, rgba(0, 0, 0, 0.72) 45%, rgba(0, 0, 0, 0.88) 100%), radial-gradient(ellipse 55% 70% at 50% 42%, rgba(0, 0, 0, 0.15) 0%, rgba(0, 0, 0, 0.75) 100%);}
.hero__food {position:absolute; z-index:1; display:flex; align-items:center; top:32px; bottom:168px; pointer-events:none;}
.hero__food--left {left:max(-80px, calc((100vw - var(--width-gnb)) / 2 - 40px)); width:min(680px, 42vw);}
.hero__food--right {right:max(-96px, calc((100vw - var(--width-gnb)) / 2 - 64px)); width:min(680px, 42vw); transform:translateX(80px);}
.hero__food img {width:100%; height:100%; object-fit:contain; object-position:center center; filter:drop-shadow(0 32px 64px rgba(0, 0, 0, 0.58));}
.hero__food--right img {width:78%; height:78%; object-position:center center;}
.hero__content {position:relative; z-index:2; display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:calc(var(--hero-height) - 132px); padding:120px 0 48px; text-align:center;}
.hero__center {display:flex; flex-direction:column; align-items:center; gap:20px; max-width:920px; color:var(--color-white);}
.hero__badge {font-size:var(--fs-body); font-weight:700; line-height:var(--lh-body); letter-spacing:0.12em; color:var(--color-accent);}
.hero__hook {font-size:clamp(22px, 2.2vw, 32px); font-weight:700; line-height:1.35em; letter-spacing:-0.02em; color:var(--color-hero-hook);}
.hero__title {font-size:clamp(40px, 5.3vw, 100px); line-height:1.12em; letter-spacing:-0.02em;}
.hero__title.hero__title--green {font-size:clamp(66px, calc(4.8vw + 22px), 94px); line-height:1.08em;}
.hero__title em {font-style:normal; color:var(--color-accent);}
.hero__highlight {display:flex; flex-direction:column; align-items:center; gap:8px; margin-top:8px; padding:28px 56px; border:2px solid var(--color-accent); background-color:rgba(0, 0, 0, 0.55); backdrop-filter:blur(6px);}
.hero__highlight-label {font-size:var(--fs-subheading); font-weight:600; line-height:var(--lh-subheading); letter-spacing:-0.02em; color:rgba(255, 255, 255, 0.88);}
.hero__highlight-value {font-size:clamp(44px, 5vw, 64px); line-height:1.1em; letter-spacing:-0.02em; color:var(--color-accent);}
.hero__note {max-width:720px; font-size:var(--fs-body); font-weight:500; line-height:var(--lh-body); letter-spacing:-0.02em; color:rgba(255, 255, 255, 0.72);}
.hero__strip {position:absolute; left:50%; bottom:0; z-index:3; display:flex; gap:12px; width:100%; max-width:var(--width-hero-content); padding-bottom:24px; transform:translateX(-50%);}
.hero-strip__card {flex:1; min-width:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; min-height:108px; padding:16px 12px; border:1px solid var(--color-accent); background-color:rgba(0, 0, 0, 0.72); backdrop-filter:blur(8px);}
.hero-strip__value {font-size:clamp(18px, 1.6vw, 24px); line-height:1.25em; letter-spacing:-0.02em; color:var(--color-white); text-align:center;}
.hero-strip__accent {color:var(--color-accent);}
.hero-strip__store {display:inline-flex; align-items:center; justify-content:center; min-width:88px; padding:4px 12px; border:1px solid rgba(255, 255, 255, 0.35); font-size:13px; font-weight:500; line-height:1.25em; letter-spacing:-0.02em; color:rgba(255, 255, 255, 0.9); white-space:nowrap;}
/* legacy hero card (unused in hero--full, kept for reference) */
.hero__title-wrap {display:flex; flex-direction:column; align-items:flex-start; gap:40px; color:var(--color-white);}
.hero__sub {font-size:var(--fs-hero-sub); font-weight:600; line-height:var(--lh-hero-sub); letter-spacing:2.4px; color:var(--color-accent);}
.hero__cards {display:flex; gap:16px; justify-content:flex-start; width:100%;}
.hero-card {display:flex; flex-direction:column; align-items:flex-start; gap:16px; width:500px; max-width:calc(50vw - 40px); padding:40px; border-radius:80px 24px 80px 24px; backdrop-filter:blur(5px);}
.hero-card--light {background-color:rgba(255, 255, 255, 0.94); color:var(--color-heading);}
.hero-card--light .hero-card__value {color:var(--color-heading);}
.hero-card--light .hero-card__accent {color:var(--color-accent);}
.hero-card--accent {background-color:rgba(255, 90, 0, 0.94); color:var(--color-white);}
.hero-card--green {background-color:rgba(255, 90, 0, 0.94); color:var(--color-white);}
.hero-card__label {font-size:var(--fs-body); font-weight:500; line-height:var(--lh-body); letter-spacing:-0.32px;}
.hero-card__value {font-size:var(--fs-card-title); line-height:var(--lh-card-title);}
.hero-card__desc {font-size:18px; font-weight:500; line-height:1.75em; letter-spacing:-0.36px;}
.hero__nav {position:absolute; right:max(40px, calc((100vw - var(--width-gnb)) / 2 + 40px)); bottom:148px; z-index:4;}
/* Bottom CTA Bar — Figma #20048:1156 */
.cta-bar {position:fixed; left:0; right:0; bottom:0; z-index:150; display:flex; align-items:center; flex-wrap:nowrap; gap:20px; min-height:90px; padding:16px var(--cta-padding-x); background-color:var(--color-white); box-shadow:0 -4px 24px rgba(0,0,0,.04);}
.cta-bar__form {position:relative; display:flex; flex:1; align-items:center; gap:16px; min-width:0;}
.cta-bar__fields {display:grid; flex:1; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:8px; min-width:0;}
.cta-bar .form-field {width:100%; max-width:none; min-width:0; gap:8px; padding:0 12px;}
.cta-bar .form-field--fixed {width:100%;}
.cta-bar .form-field__input {width:100%; height: 100%; }
.cta-bar .form-check {grid-column:1 / -1; flex-wrap:wrap; gap:8px;}
.cta-bar .contact-phone__number {font-size:clamp(20px, 1.6vw, 30px); white-space:nowrap;}
.cta-bar .contact-phone__label {font-size:14px;}
.cta-bar .btn--main {background-color:#E4007F;}
.cta-bar .btn--main:hover {background-color:#c20069;}
.cta-bar .btn--main-lg {min-width:120px; padding-inline:20px;}
.cta-bar .form-field__required {color:var(--color-sub-green);}
.cta-bar__mobile-link {display:none;}
.form-check__box, .inquiry2__checkbox {appearance:auto; -webkit-appearance:checkbox; accent-color:var(--color-sub-green); cursor:pointer;}
.form-status {font-size:14px; color:#a52b14;}
.cta-bar__form .form-status {position:absolute; bottom:calc(100% + 20px); left:0; padding:16px; background:#fff; box-shadow:0 4px 20px rgba(0,0,0,.13); border-radius:8px;}
/* Opening — 개설 절차 (hero 하단 첫 섹션) */
.opening {padding:clamp(96px, 10vw, 150px) 0; background-color:var(--color-white);}
.opening__inner {display:flex; flex-direction:column; align-items:center; gap:clamp(56px, 6vw, 80px);}
.opening__head {width:100%;}
.opening__title {display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:12px 18px; margin:0; font-family:var(--font-display); font-size:clamp(40px, 4.8vw, 72px); font-weight:700; line-height:1.15em; letter-spacing:-0.02em; color:var(--color-sub-green); text-align:center;}
.opening__logo {display:inline-flex; align-items:center; gap:4px; padding:10px 28px 10px 14px; border:2px solid var(--color-sub-green); border-radius:999px; background-color:var(--color-white); vertical-align:middle;}
.logo--opening {position:relative; display:inline-block; width:158px; height:40px;}
.logo--opening .logo__text {inset:12.54% 0 9.4% 31.11%;}
.logo--opening .logo__mark-1 {inset:0 76.91% 31.93% 0;}
.logo--opening .logo__mark-2 {inset:41.18% 86.24% 0 9.33%;}
.logo--opening .logo__text-img--dark {display:block;}
.opening__logo-mark {width:36px; height:auto;}
.opening__logo-mark--2 {width:28px; margin-left:-8px;}
.opening__logo-text {width:clamp(108px, 10vw, 136px); height:auto;}
.opening__process {width:100%; display:flex; flex-direction:column; align-items:center; gap:40px;}
.opening__flow {position:relative; width:100%; max-width:1120px; margin:0 auto;}
.opening__track {position:absolute; left:calc(100% / 12); right:calc(100% / 12); top:calc(clamp(72px, 6vw, 96px) / 2 - 1px); height:3px; background-color:rgba(89, 162, 73, 0.15); border-radius:99px; z-index:0; overflow:hidden;}
.opening__track-active {display:block; width:0%; height:100%; background:linear-gradient(90deg, rgba(89, 162, 73, 0.5) 0%, var(--color-sub-green) 100%); border-radius:99px; transition:width 0.1s linear;}
.opening__flow.is-animating .opening__track-active {animation:none;}
.opening__steps {position:relative; z-index:1; display:grid; grid-template-columns:repeat(6, minmax(0, 1fr)); gap:16px; list-style:none; margin:0; padding:0;}
.opening-step {--opening-step-tone:rgba(89, 162, 73, 0.18); --opening-step-badge:rgba(22, 61, 32, 0.22); --opening-step-stem:rgba(89, 162, 73, 0.15); display:flex; flex-direction:column; align-items:center; gap:20px; text-align:center; opacity:0.38; transform:translateY(6px); transition:opacity 0.45s ease, transform 0.45s ease;}
.opening-step.is-active {--opening-step-tone:var(--color-sub-green); --opening-step-badge:#163d20; --opening-step-stem:rgba(89, 162, 73, 0.72); opacity:1; transform:translateY(0);}
.opening-step.is-active .opening-step__icon {background-color:var(--color-sub-green); box-shadow:0 0 0 10px rgba(89, 162, 73, 0.12); transform:scale(1.08);}
.opening-step.is-active .opening-step__badge {background-color:#163d20;}
.opening-step.is-active .opening-step__num {color:#163d20;}
.opening-step.is-active .opening-step__label {color:var(--color-heading); font-weight:600;}
.opening-step__icon {display:flex; align-items:center; justify-content:center; width:clamp(72px, 6vw, 96px); height:clamp(72px, 6vw, 96px); border-radius:50%; background-color:var(--opening-step-tone); transition:transform 0.35s ease, box-shadow 0.35s ease, background-color 0.35s ease;}
.opening-step__icon img {width:clamp(40px, 3.8vw, 56px); height:clamp(40px, 3.8vw, 56px); object-fit:contain; filter:brightness(0) invert(1);}
.opening-step__stem {width:0; height:64px; border-left:2px dashed var(--opening-step-stem); transition:border-color 0.35s ease;}
.opening-step__badge {position:relative; z-index:2; display:grid; place-items:center; width:40px; height:40px; flex-shrink:0; margin-top:0; border-radius:50%; background-color:var(--opening-step-badge); font-family:var(--font-primary); font-size:13px; font-weight:700; line-height:1em; font-variant-numeric:tabular-nums; letter-spacing:0; color:var(--color-white); box-sizing:border-box; transition:transform 0.35s ease, box-shadow 0.35s ease, background-color 0.35s ease;}
.opening-step__num {margin:0; font-family:var(--font-display); font-size:18px; font-weight:700; line-height:1.2em; letter-spacing:-0.02em; color:var(--color-heading); transition:color 0.35s ease;}
.opening-step__label {margin:0; max-width:220px; font-size:clamp(16px, 1.4vw, 18px); font-weight:500; line-height:1.55em; letter-spacing:-0.02em; color:var(--color-body); transition:color 0.35s ease, font-weight 0.35s ease;}
/* scroll-driven 방식으로 교체 — is-animating 펄스 비활성화 */
.opening__tagline {margin:0; font-family:var(--font-display); font-size:clamp(36px, 4.2vw, 56px); font-style:italic; font-weight:900; line-height:1.25em; letter-spacing:-0.02em; color:var(--color-sub-green); text-align:center;}
.opening__tagline-mark {font-style:italic; color:inherit; background:linear-gradient(transparent 58%, var(--color-hero-hook) 58%); box-decoration-break:clone; -webkit-box-decoration-break:clone;}
/* Stats — Figma #20119:407 */
.stats {position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:88px; min-height:980px; padding:var(--section-py) 0; overflow:hidden;}
.stats__bg {position:absolute; inset:0; z-index:0;}
.stats__bg-photo {position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.stats__bg-overlay {position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0.08;}
.stats__bg-tint {position:absolute; inset:0; background-color:rgba(255, 255, 255, 0.66);}
.stats--impact .stats__bg-tint {background:linear-gradient(180deg, rgba(0, 0, 0, 0.82) 0%, rgba(18, 18, 18, 0.88) 100%);}
.stats--impact .stats__bg-overlay {opacity:0.04;}
.stats--impact .stats__deco {opacity:0.35;}
.stats__inner {position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; gap:88px; width:100%;}
.stats--impact .stats__inner {align-items:flex-start; gap:64px;}
.stats__deco {position:absolute; left:0; top:0; width:868px; max-width:45%; height:100%; pointer-events:none;}
.stats__deco img {width:100%; height:100%; object-fit:contain; object-position:left center;}
.stats__head {position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; gap:24px; max-width:1440px; text-align:center;}
.stats--impact .stats__head {align-items:flex-start; max-width:none; width:100%; text-align:left;}
.stats__title {font-size:var(--fs-section); line-height:var(--lh-section); color:var(--color-heading);}
.stats--impact .stats__title {font-size:56px; line-height:1.18em; color:var(--color-white);}
.stats__title em {font-style:normal; color:var(--color-main);}
.stats--impact .stats__title em {color:var(--color-accent);}
.stats__grid {position:relative; z-index:1; display:flex; align-items:center; gap:24px; width:100%; max-width:var(--width-content); text-align:center;}
.stats__item {flex:1; display:flex; flex-direction:column; align-items:center; gap:24px;}
.stats__item-label {font-size:var(--fs-stat-label); line-height:var(--lh-stat-label); color:var(--color-heading);}
.stats--impact .stats__item-label {color:rgba(255, 255, 255, 0.88);}
.stats__item-value {font-size:var(--fs-stat); line-height:var(--lh-stat); color:var(--color-main);}
.stats--impact .stats__item-value {font-size:72px; line-height:1.14em; color:var(--color-accent);}
.stats__note {position:relative; z-index:1; max-width:var(--width-content); font-size:var(--fs-caption); line-height:var(--lh-caption); letter-spacing:-0.3px; text-align:center; color:var(--color-muted);}
.stats--impact .stats__note {width:100%; text-align:left; color:rgba(255, 255, 255, 0.55);}
.stats--impact .stats__grid {align-items:flex-end;}
/* Stats — figures grid (cream BG + green metrics) */
.stats--figures {gap:64px; padding:clamp(120px, 10vw, 180px) 0 40px;}
.stats--figures .stats__inner {flex:1; align-items:center; gap:64px;}
.stats--figures .stats__head {gap:20px;}
.stats--figures .stats__bg-photo {opacity:0.18;}
.stats--figures .stats__bg-overlay {opacity:0.05;}
.stats--figures .stats__bg-tint {background-color:rgba(255, 255, 255, 0.74);}
.stats--figures .stats__deco {opacity:0.52;}
.stats--figures .stats__title {font-family:var(--font-display); font-size:clamp(32px, 3.6vw, 48px); line-height:calc(1.28em + 4px); letter-spacing:-0.02em; color:#2F5E28;}
.stats--figures .stats__title em {color:#FFD200; font-weight:700;}
.stats--figures .stats__title-line {display:inline-block; font-size:calc(1em + 16px); line-height:1.2em;}
.stats--figures .stats__item-value {font-family:var(--font-display); font-size:clamp(48px, 5vw, 64px); line-height:1.08em; letter-spacing:-0.02em; color:var(--color-sub-green);}
.stats--figures .stats__item-label {color:var(--color-heading);}
.stats--figures .stats__note {width:100%; margin-top:auto;}
/* Stats — packed (miari-style saturated BG + circular callouts) */
.stats.stats--packed {overflow:visible;}
.stats--packed .stats__inner {overflow:visible;}
.stats--packed .stats__bg-tint {background-color:#E8470A; background-image:radial-gradient(circle at 16% 46%, rgba(0, 0, 0, 0.2) 0%, transparent 40%), radial-gradient(circle at 84% 44%, rgba(0, 0, 0, 0.2) 0%, transparent 40%), radial-gradient(circle at 50% 88%, rgba(0, 0, 0, 0.24) 0%, transparent 44%), repeating-linear-gradient( 0deg, rgba(255, 255, 255, 0.05) 0, rgba(255, 255, 255, 0.05) 1px, transparent 1px, transparent 52px ), repeating-linear-gradient( 90deg, rgba(255, 255, 255, 0.05) 0, rgba(255, 255, 255, 0.05) 1px, transparent 1px, transparent 52px ), linear-gradient(180deg, #FF6A1A 0%, #E8470A 50%, #D63D00 100%);}
.stats--packed .stats__bg-rings {position:absolute; left:50%; bottom:6%; width:min(760px, 78vw); aspect-ratio:1; transform:translateX(-50%); border-radius:50%; border:2px solid rgba(255, 255, 255, 0.32); box-shadow:0 0 0 20px rgba(255, 255, 255, 0.07), 0 0 0 40px rgba(255, 255, 255, 0.04), 0 0 0 60px rgba(255, 90, 0, 0.22); pointer-events:none;}
.stats--packed .stats__bg-rings::before, .stats--packed .stats__bg-rings::after {content:""; position:absolute; border-radius:50%; border:1px solid rgba(255, 255, 255, 0.18);}
.stats--packed .stats__bg-rings::before {inset:-44px;}
.stats--packed .stats__bg-rings::after {inset:-88px; border-color:rgba(255, 255, 255, 0.1);}
.stats--impact.stats--packed .stats__inner {align-items:center; gap:64px; padding-top:48px; padding-bottom:48px; overflow:visible;}
.stats--impact.stats--packed .stats__head {align-items:center; text-align:center; gap:16px; position:relative; z-index:4;}
.stats--packed .stats__title {font-size:52px; line-height:1.19em; letter-spacing:-1px;}
.stats--packed .stats__title .stats__em-hook, .stats--impact.stats--packed .stats__title em.stats__em-hook {color:var(--color-hero-hook);}
.stats--packed .stats__lead {font-size:22px; line-height:1.45em; color:rgba(255, 255, 255, 0.92);}
.stats--packed .stats__lead em {font-style:normal; font-weight:700; color:var(--color-white);}
.stats__stage {position:relative; width:100%; max-width:1240px; min-height:720px; margin-top:0; overflow:visible; isolation:isolate;}
.stats-ring {position:absolute; z-index:2; display:flex; flex-direction:column; align-items:center; justify-content:center; width:min(340px, 30vw); height:min(340px, 30vw); border-radius:50%; text-align:center; border:3px solid rgba(255, 255, 255, 0.88); background-color:#C4380C; background-image:repeating-linear-gradient( 45deg, rgba(255, 255, 255, 0.07) 0, rgba(255, 255, 255, 0.07) 2px, transparent 2px, transparent 16px ), radial-gradient(circle at 50% 50%, rgba(0, 0, 0, 0.08) 0%, rgba(0, 0, 0, 0.38) 100%); box-shadow:inset 0 0 48px rgba(0, 0, 0, 0.28), 0 12px 40px rgba(0, 0, 0, 0.22);}
.stats-ring::before {content:""; position:absolute; inset:14px; border-radius:50%; border:1px solid rgba(255, 255, 255, 0.22); background:repeating-linear-gradient( 0deg, rgba(255, 255, 255, 0.06) 0, rgba(255, 255, 255, 0.06) 1px, transparent 1px, transparent 26px ), repeating-linear-gradient( 90deg, rgba(255, 255, 255, 0.06) 0, rgba(255, 255, 255, 0.06) 1px, transparent 1px, transparent 26px ); pointer-events:none;}
.stats-ring--left {left:0; top:0;}
.stats-ring--right {right:0; top:0;}
.stats-ring--center {left:50%; top:0; transform:translateX(-50%); z-index:2;}
.stats-ring__label {position:relative; z-index:1; font-size:18px; line-height:1.625em; color:rgba(255, 255, 255, 0.92);}
.stats-ring__value {position:relative; z-index:1; margin-top:24px; font-family:var(--font-display); font-size:72px; line-height:1em; color:var(--color-white); letter-spacing:-2px;}
.stats-ring--right .stats-ring__value {font-size:56px;}
.stats-ring__sub {position:relative; z-index:1; margin-top:8px; font-size:15px; line-height:1.375em; color:rgba(255, 255, 255, 0.72);}
.stats--packed .stats__food {position:absolute; top:0; bottom:0; left:50%; z-index:0; width:100vw; max-width:100vw; height:100%; overflow:visible; pointer-events:none; padding-top:min(170px, 15vw); transform:translateX(-50%);}
.stats__food-track {display:flex; align-items:center; justify-content:center; gap:min(160px, 12vw); width:max-content; height:auto; margin:calc(-1 * min(170px, 15vw)) auto 0; animation:stats-food-flow 36s linear infinite; will-change:transform;}
.stats__food-track img {width:min(920px, 68vw); height:auto; max-height:780px; object-fit:contain; object-position:center center; flex-shrink:0; filter:drop-shadow(0 20px 40px rgba(0, 0, 0, 0.28));}
@keyframes stats-food-flow {0% {transform:translateX(0);} 100% {transform:translateX(-50%);}}
.stats--packed .stats__stage {min-height:560px;}
.stats--impact.stats--packed .stats__note {position:relative; z-index:4; margin-top:0; text-align:center; color:rgba(255, 255, 255, 0.55); max-width:920px;}
/* Rolling banner — Figma #20048:2340, infinite scroll annotation */
.rolling-banner {width:100vw; max-width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); height:140px; overflow:hidden; background-color:var(--color-white);}
.rolling-banner--dark {background-color:var(--color-sub-green);}
.rolling-banner--black {background-color:var(--color-black);}
.rolling-banner--ticker {height:80px;}
.rolling-banner--ticker .rolling-banner__track {gap:clamp(40px, 5vw, 72px); padding:0 24px; animation-duration:28s;}
.rolling-banner__unit {display:flex; flex-shrink:0; align-items:center; gap:14px;}
.rolling-banner__phrase {font-family:var(--font-display); font-size:clamp(28px, 2.8vw, 40px); line-height:1em; letter-spacing:-0.02em; color:var(--color-white); white-space:nowrap;}
.rolling-banner__chev {flex-shrink:0; display:block; border-radius:50%;}
.rolling-banner__chev--outline {width:16px; height:16px; border:2px solid rgba(255, 255, 255, 0.55); background-color:transparent;}
.rolling-banner__chev--solid {width:10px; height:10px; background-color:var(--color-white);}
.rolling-banner__badge {flex-shrink:0; width:40px; height:40px; object-fit:contain;}
.rolling-banner__track {display:flex; align-items:center; gap:80px; width:max-content; height:100%; padding:24px 16px; animation:rolling-banner 40s linear infinite;}
.rolling-banner__item {flex-shrink:0;}
.rolling-banner__food {position:relative; flex-shrink:0; height:92px; overflow:hidden;}
.rolling-banner__food--narrow {width:116px;}
.rolling-banner__food:not(.rolling-banner__food--crop-01):not(.rolling-banner__food--crop-03):not(.rolling-banner__food--crop-02b) {width:117px;}
.rolling-banner__food--crop-02b {width:150px;}
.rolling-banner__food--short {height:92px;}
/* 단일 음식 — 잘리지 않게 전체 노출 */
.rolling-banner__food--crop-01, .rolling-banner__food--crop-03 {display:flex; align-items:center; justify-content:center; width:auto; overflow:visible;}
.rolling-banner__food--crop-01 img, .rolling-banner__food--crop-03 img {position:static; display:block; height:92px; width:auto; max-width:none;}
/* rolling-food-02 스프라이트 — 2x2 분할 */
.rolling-banner__food--crop-02 img, .rolling-banner__food--crop-02b img {position:absolute; display:block; width:200%; height:200%; max-width:none;}
.rolling-banner__food--crop-02 img {left:-100%; top:0;}
.rolling-banner__food--crop-02b img {left:0; top:-100%;}
.rolling-banner__text {width:69.726px; height:20px;}
.rolling-banner__text img {width:100%; height:100%;}
@keyframes rolling-banner {0% {transform:translateX(0);} 100% {transform:translateX(-50%);}}
/* Brand satisfaction — Figma #20119:427 */
.brand {position:relative; display:flex; flex-direction:column; align-items:center; gap:64px; padding:200px 0; overflow:hidden;}
.brand--impact {padding:160px 0 200px;}
.brand--award {padding:140px 0 180px;}
.brand--award .brand__bg {background-color:#0e0a08; overflow:hidden;}
.brand--award .brand__bg-laurel {display:block; opacity:0.28; width:min(240px, 16vw);}
.brand__bg-silk {position:absolute; inset:0; z-index:1; background:linear-gradient(180deg, rgba(6, 4, 3, 0.62) 0%, rgba(6, 4, 3, 0.28) 42%, rgba(6, 4, 3, 0.68) 100%), url("/images/all/brand-award-ceremony-bg.png") center center / cover no-repeat;}
.brand--award .brand__bg .brand__bg-photo {inset:0; width:100%; height:100%; min-width:100%; min-height:100%; max-width:none; top:0; left:0; object-fit:cover; object-position:center center; transform:none; opacity:0; visibility:hidden;}
.brand__bg-pattern {position:absolute; inset:0; z-index:2; opacity:0.03; background-image:url("/images/all/stats-pattern.png"); background-size:640px 640px; mix-blend-mode:soft-light; pointer-events:none;}
.brand__bg-glow {position:absolute; inset:0; z-index:3; background:radial-gradient(circle at 50% 18%, rgba(255, 215, 120, 0.1) 0%, transparent 42%); pointer-events:none;}
.brand__bg-spotlight {position:absolute; inset:0; z-index:4; background:radial-gradient(ellipse 42% 28% at 50% 0%, rgba(255, 230, 140, 0.12) 0%, transparent 100%); pointer-events:none;}
.brand__bg-laurel {position:absolute; top:50%; z-index:5; width:min(200px, 12vw); height:auto; opacity:0.72; pointer-events:none; filter:drop-shadow(0 0 28px rgba(245, 215, 120, 0.22));}
.brand__bg-laurel--left {left:clamp(20px, 4vw, 72px); transform:translateY(-52%);}
.brand__bg-laurel--right {right:clamp(20px, 4vw, 72px); transform:translateY(-52%) scaleX(-1);}
.brand--award .brand__bg::after {background:none;}
.brand__award-wall {display:flex; flex-direction:column; gap:56px; width:100%; overflow:visible;}
.brand__award-head {display:flex; flex-direction:column; align-items:center; gap:20px; text-align:center;}
.brand__title-wrap {display:flex; align-items:center; justify-content:center; gap:24px; width:100%;}
.brand__laurel {flex-shrink:0; width:auto; height:clamp(72px, 7.5vw, 104px); object-fit:contain;}
.brand__pill--gold {border:1px solid rgba(255, 223, 140, 0.9); background:linear-gradient(180deg, #FFE566 0%, #E8C547 38%, #D4AF37 68%, #B8941F 100%); box-shadow:0 0 28px rgba(255, 215, 120, 0.38), inset 0 1px 0 rgba(255, 255, 255, 0.42); color:#3D2A08; letter-spacing:0.08em;}
.brand__title--gold {font-size:clamp(40px, 4vw, 56px); line-height:1.18em; text-align:center; white-space:normal; background:linear-gradient(180deg, #FFF8DC 0%, #F5D76E 28%, #E8C547 55%, #FFE566 78%, #C9A227 100%); -webkit-background-clip:text; background-clip:text; color:transparent; filter:drop-shadow(0 2px 12px rgba(245, 215, 120, 0.35));}
.brand__title--gold em {font-style:normal; background:linear-gradient(180deg, #FFFFFF 0%, #FFE566 40%, #F5D76E 100%); -webkit-background-clip:text; background-clip:text; color:transparent;}
.brand__award-hook {font-family:var(--font-display); font-size:clamp(24px, 2.4vw, 36px); line-height:1.35em; letter-spacing:-0.02em; color:rgba(255, 255, 255, 0.95);}
.brand__award-hook strong {font-family:inherit; font-weight:inherit; color:#FFE566;}
.brand--award .brand__desc {max-width:820px; color:rgba(255, 255, 255, 0.72); text-align:center;}
.brand__award-cards {display:flex; flex-direction:row; align-items:stretch; gap:16px; width:100%; list-style:none; overflow:visible;}
.brand__award-cards--impact {gap:clamp(10px, 1.2vw, 16px); padding-top:28px; overflow:visible;}
.brand__award-card {position:relative; flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; min-width:0; min-height:168px; padding:40px 14px 44px; border:2px solid var(--color-sub-green); border-radius:0; background-color:var(--color-white); text-align:center; box-shadow:0 10px 28px rgba(0, 0, 0, 0.28); overflow:visible;}
.brand__award-card::after {content:""; position:absolute; right:0; bottom:0; left:0; height:40px; border-radius:0; background-color:#f5f5f5; background-image:radial-gradient(circle at 50% 0, transparent 10px, rgba(89, 162, 73, 0.12) 10px, rgba(89, 162, 73, 0.12) 11px, transparent 11px); background-size:22px 22px; background-position:center bottom; pointer-events:none;}
.brand__award-sticker {position:absolute; top:-22px; left:50%; z-index:2; display:inline-flex; align-items:center; justify-content:center; min-width:52px; padding:7px 16px; font-family:var(--font-display); font-size:clamp(18px, 1.6vw, 22px); line-height:1em; letter-spacing:-0.02em; white-space:nowrap; transform:translateX(-50%) rotate(-8deg); box-shadow:0 4px 12px rgba(0, 0, 0, 0.18);}
.brand__award-sticker--outline {border:2px solid var(--color-sub-green); background-color:var(--color-white); color:var(--color-sub-green);}
.brand__award-sticker--solid {border:2px solid var(--color-sub-green); background-color:var(--color-sub-green); color:var(--color-white);}
.brand__award-card-label {position:relative; z-index:1; margin:0; font-family:var(--font-display); font-size:clamp(14px, 1.2vw, 17px); line-height:1.35em; letter-spacing:-0.02em; color:var(--color-heading); word-break:keep-all;}
.brand__award-card-value {position:relative; z-index:1; margin:0; font-size:clamp(15px, 1.3vw, 18px); font-weight:700; line-height:1.4em; letter-spacing:-0.03em; color:var(--color-heading); word-break:keep-all;}
.brand--award .chart-card {border:1px solid var(--color-sub-green); background:linear-gradient(180deg, rgba(255, 255, 255, 0.05) 0%, rgba(0, 0, 0, 0.45) 100%), rgba(0, 0, 0, 0.35); box-shadow:0 16px 48px rgba(0, 0, 0, 0.28);}
.brand--award .brand__note {color:rgba(255, 255, 255, 0.5);}
.brand__bg {position:absolute; inset:0; z-index:0; overflow:hidden;}
.brand__bg img {position:absolute; width:100%; height:292.74%; top:-140.42%; left:0; max-width:none; object-fit:cover;}
.brand__bg::after {content:""; position:absolute; inset:0; background:linear-gradient(0deg, #454545 0%, rgba(21, 21, 21, 0.5) 100%);}
.brand--impact .brand__bg::after {background:linear-gradient(180deg, rgba(0, 0, 0, 0.55) 0%, rgba(0, 0, 0, 0.88) 100%);}
.brand--impact.brand--award .brand__bg::after {background:none;}
.brand__inner {position:relative; z-index:1; display:flex; flex-direction:column; gap:80px; width:100%; max-width: 1780px;}
.brand__award {display:flex; flex-direction:column; align-items:flex-start; gap:20px; width:100%; color:var(--color-white);}
.brand__pill {display:inline-flex; align-items:center; padding:10px 20px; border-radius:var(--button-radius); background-color:var(--color-accent); font-size:var(--fs-body); font-weight:700; line-height:var(--lh-body); letter-spacing:-0.02em; color:var(--color-white);}
.brand__mega {font-size:var(--fs-brand-mega); line-height:var(--lh-brand-mega); color:var(--color-white);}
.brand__rank {color:var(--color-accent);}
.brand__highlight {font-size:var(--fs-section); line-height:var(--lh-section); color:var(--color-white);}
.brand__head {position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; gap:24px; max-width:var(--width-content); text-align:center; color:var(--color-white);}
.brand__title {font-size:var(--fs-section); line-height:var(--lh-section); white-space:nowrap;}
.brand--impact .brand__title {font-size:56px; line-height:1.18em; white-space:nowrap;}
.brand__desc {max-width:900px; font-size:var(--fs-subheading); font-weight:500; line-height:var(--lh-subheading); letter-spacing:-0.4px; color:rgba(255, 255, 255, 0.82);}
.brand__charts {position:relative; z-index:1; width:100%;}
.brand__charts-row {display:flex; gap:24px;}
.chart-card {display:flex; flex-direction:column; gap:56px; padding:48px; border-radius:16px; background-color:rgba(0, 0, 0, 0.4); backdrop-filter:blur(15px);}
.chart-card--wide {width:1000px; max-width:59.5%; flex-shrink:0;}
.chart-card--narrow {flex:1; min-width:0;}
.chart-card__head {display:flex; flex-direction:column; gap:10px; color:var(--color-white);}
.chart-card__title {font-size:var(--fs-chart-title); line-height:var(--lh-chart-title); white-space:nowrap;}
.chart-card__sub {font-size:var(--fs-body); line-height:var(--lh-body); letter-spacing:-0.32px;}
.chart-bars {display:flex; align-items:flex-end; justify-content:space-between; width:100%;}
.chart-bar {display:flex; flex-direction:column; align-items:center; gap:8px; min-width:64px;}
.chart-bar__badge {padding:2px 10px; border-radius:8px; background-color:var(--color-main); font-size:18px; font-weight:600; line-height:1.438em; letter-spacing:-0.72px; color:var(--color-white);}
.brand--impact .chart-bar__badge {background-color:var(--color-sub-green);}
.brand--impact .chart-bar__column--main {box-shadow:0 0 24px rgba(89, 162, 73, 0.35);}
.brand--award .chart-bar__column--expect {background:linear-gradient(180deg, #66b456 0%, var(--color-sub-green) 100%);}
.brand--award .chart-bar__column--main {background:linear-gradient(180deg, var(--color-sub-green) 0%, #7bc46e 100%);}
.chart-bar__badge-wrap {display:flex; flex-direction:column; align-items:center; margin-bottom:-3px;}
.chart-bar__arrow {width:7px; height:10px; transform:rotate(180deg);}
.chart-bar__fail {padding:0 10px; border-radius:100px; background-color:rgba(255, 255, 255, 0.2); font-size:14px; line-height:1.375em; letter-spacing:-0.56px; color:rgba(255, 255, 255, 0.8);}
.chart-bar__score {font-size:var(--fs-caption); font-weight:400; line-height:var(--lh-caption); letter-spacing:-0.6px; color:var(--color-white); text-align:center;}
.chart-bar__score--main {font-weight:600; color:var(--color-main);}
.brand--impact .chart-bar__score--main {color:var(--color-sub-green);}
.chart-bar__column {width:64px; border-radius:16px 16px 0 0;}
.chart-bar__column--expect {height:210px; background:linear-gradient(180deg, var(--color-main) 0%, var(--color-accent-light) 100%);}
.chart-bar__column--main {height:200px; background:linear-gradient(180deg, var(--color-main) 0%, var(--gradient-main-end) 100%);}
.chart-bar__column--fail {background-color:var(--color-chart-gray);}
.chart-bar__column--h120 {height:120px;}
.chart-bar__column--h100 {height:100px;}
.chart-bar__column--h90 {height:90px;}
.chart-bar__column--h77 {height:77px;}
.chart-bar__column--h70 {height:70px;}
.chart-bar__column--h60 {height:60px;}
.chart-bar__column--h48 {height:48px;}
.chart-bar__name {font-size:var(--fs-caption); font-weight:700; line-height:var(--lh-caption); letter-spacing:-0.6px; text-align:center; color:var(--color-white);}
.chart-bar__name--main {color:var(--color-main);}
.brand--impact .chart-bar__name--main {color:var(--color-sub-green);}
.brand--impact .chart-bar__column--fail {opacity:0.55;}
.brand--impact .chart-bar__fail {background-color:rgba(255, 255, 255, 0.12); color:rgba(255, 255, 255, 0.55);}
.chart-bar__name--fail {font-weight:500; color:var(--color-chart-label);}
.brand__note {margin-top:24px; font-size:var(--fs-caption); line-height:var(--lh-caption); letter-spacing:-0.3px; color:var(--color-muted); text-align:right;}
.brand--impact .brand__note {color:rgba(255, 255, 255, 0.5);}
/* Profit — Figma #20025:2559 */
.profit {position:relative; display:flex; flex-direction:column; align-items:center; gap:64px; padding:200px 0; overflow:hidden;}
.profit--money {padding:180px 0 200px;}
.profit__bg {position:absolute; inset:0; z-index:0; overflow:hidden;}
.profit__bg-video {position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transform:scale(1.08); filter:blur(1px) brightness(0.72) saturate(0.95); pointer-events:none;}
.profit__bg-dim {display:none;}
.profit__bg-glow {position:absolute; inset:0; z-index:1; background:radial-gradient(circle at 18% 22%, rgba(255, 215, 120, 0.12) 0%, transparent 28%), radial-gradient(circle at 82% 68%, rgba(255, 90, 0, 0.1) 0%, transparent 32%); pointer-events:none;}
.profit__bg::after {display:none;}
.profit--money .profit__inner {z-index:3;}
.profit__inner {position:relative; z-index:2; display:flex; flex-direction:column; gap:64px; width:100%; max-width:var(--width-content);}
.profit--money .profit__title {text-shadow:0 4px 24px rgba(0, 0, 0, 0.45);}
.profit--money .profit__title em {color:#FFE566; filter:drop-shadow(0 0 12px rgba(255, 90, 0, 0.45));}
.profit--money .profit__panel {border:1px solid rgba(255, 255, 255, 0.12); border-radius:16px; padding:32px; background:rgba(0, 0, 0, 0.42); backdrop-filter:blur(12px); box-shadow:0 24px 64px rgba(0, 0, 0, 0.35);}
.profit__head {display:flex; flex-direction:column; align-items:center; gap:24px; text-align:center; color:var(--color-white);}
.profit__title {font-size:var(--fs-section); line-height:var(--lh-section); white-space:nowrap;}
.profit__title em {font-style:normal; color:var(--color-accent);}
.profit__desc {font-size:var(--fs-subheading); font-weight:500; line-height:var(--lh-subheading); letter-spacing:-0.02em;}
.profit__body {display:flex; flex-direction:column; gap:24px; width:100%;}
.profit__panel {display:flex; align-items:center; justify-content:center; gap:80px; width:100%;}
.profit-table {flex:1; min-width:0;}
.profit-table__row {display:flex; height:72px;}
.profit-table__row--head {border-top:1px solid var(--color-white);}
.profit-table__cell {flex:1; display:flex; align-items:center; justify-content:center; padding:16px 40px; font-size:18px; line-height:1.75em; text-align:center; color:var(--color-white); white-space:nowrap;}
.profit-table__row--head .profit-table__cell {font-weight:600;}
.profit-table__row:not(.profit-table__row--head):not(.profit-table__row--highlight) .profit-table__cell {border-top:1px solid rgba(221, 221, 221, 0.3); font-weight:400; letter-spacing:-0.02em;}
.profit-table__row:not(.profit-table__row--head) .profit-table__cell {border-bottom:1px solid rgba(221, 221, 221, 0.3);}
.profit-table__row--highlight .profit-table__cell {background-color:var(--color-sub-green); font-family:var(--font-display); font-size:24pt; line-height:1.2em; font-weight:400; letter-spacing:-0.02em;}
.profit-chart {position:relative; width:500px; height:500px; flex-shrink:0;}
.profit-chart__graphic {position:absolute; left:-99px; top:-99px; width:698px; height:698px; pointer-events:none;}
.profit-chart__graphic img {width:100%; height:100%; max-width:none;}
.profit-chart__center {position:absolute; left:50%; top:calc(50% - 10px); transform:translate(-50%, -50%); display:flex; flex-direction:column; align-items:center; gap:8px; width:178px; text-align:center; color:var(--color-white);}
.profit-chart__center-label {font-size:var(--fs-body); font-weight:600; line-height:var(--lh-body); letter-spacing:-0.02em;}
.profit-chart__center-value {font-size:30px; line-height:1.33em; letter-spacing:-0.02em;}
.profit-chart__label {position:absolute; transform:translateX(-50%); font-size:var(--fs-body); line-height:1.5em; letter-spacing:-0.05em; text-align:center; color:var(--color-white); white-space:nowrap;}
.profit-chart__label--material {left:79%; top:19%;}
.profit-chart__label--expense {left:28.8%; top:15%;}
.profit-chart__label--labor {left:12%; top:45.8%;}
.profit-chart__label--rent {left:37.6%; top:81.6%;}
.profit-chart__profit-label {left:78.1%; top:70.4%; font-size:20px; line-height:1.75em; letter-spacing:-0.05em;}
.profit__note {font-size:var(--fs-caption); line-height:var(--lh-caption); letter-spacing:-0.02em; color:var(--color-muted);}
/* System — showcase panels with hover reveal */
.system {position:relative; display:flex; flex-direction:column; align-items:stretch; gap:0; padding:0; overflow:hidden; background-color:var(--color-black);}
.system--showcase {width:100vw; max-width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw);}
.system__head {position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; gap:28px; padding:88px 24px 72px; background-color:var(--color-black); text-align:center;}
.system__head-line {display:block; width:min(1680px, 92vw); height:3px; background-color:var(--color-sub-green);}
.system__title {display:flex; flex-wrap:wrap; justify-content:center; align-items:baseline; gap:0.28em; margin:0; font-family:var(--font-display); font-size:clamp(40px, 4.2vw, 64px); font-style:italic; font-weight:700; font-synthesis:style; line-height:1.12em; letter-spacing:-0.02em;}
.system__title-stroke {display:inline-block; font-style:italic; font-synthesis:style; transform:skewX(-8deg); color:transparent; -webkit-text-stroke:2px var(--color-sub-green); paint-order:stroke fill;}
.system__title-fill {display:inline-block; font-style:italic; font-synthesis:style; transform:skewX(-8deg); color:var(--color-sub-green);}
.system__panels {position:relative; z-index:1; display:flex; width:100%; min-height:720px;}
.system-panel {position:relative; flex:1; min-width:0; min-height:720px; overflow:hidden; cursor:pointer;}
.system-panel__bg {position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center center; transform:scale(1); transition:transform 0.45s ease;}
.system-panel__dim {position:absolute; inset:0; background:rgba(0, 0, 0, 0.58); transition:background-color 0.35s ease;}
.system-panel__body {position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:720px; padding:48px 28px; text-align:center;}
.system-panel__num {font-family:var(--font-display); font-size:clamp(76px, 8vw, 116px); font-style:italic; font-weight:700; line-height:1em; color:var(--color-sub-green); transition:color 0.35s ease;}
.system-panel__name {margin:28px 0 0; font-family:var(--font-display); font-size:clamp(24px, 2.2vw, 36px); font-style:normal; font-weight:700; line-height:1.25em; letter-spacing:-0.02em; color:var(--color-sub-green); transition:color 0.35s ease;}
.system-panel__divider {display:block; width:56px; height:3px; margin-top:24px; background-color:var(--color-white); opacity:0; transform:scaleX(0.4); transition:opacity 0.35s ease, transform 0.35s ease;}
.system-panel__desc {max-width:300px; margin:18px 0 0; font-size:clamp(15px, 1.2vw, 18px); font-weight:500; line-height:1.65em; letter-spacing:-0.02em; color:var(--color-white); opacity:0; transform:translateY(10px); transition:opacity 0.35s ease, transform 0.35s ease;}
.system-panel:hover .system-panel__bg, .system-panel:focus-within .system-panel__bg {transform:scale(1.06);}
.system-panel:hover .system-panel__dim, .system-panel:focus-within .system-panel__dim {background:rgba(89, 162, 73, 0.84);}
.system-panel:hover .system-panel__num, .system-panel:focus-within .system-panel__num {color:var(--color-white);}
.system-panel:hover .system-panel__name, .system-panel:focus-within .system-panel__name {color:var(--color-white);}
.system-panel:hover .system-panel__divider, .system-panel:focus-within .system-panel__divider {opacity:1; transform:scaleX(1);}
.system-panel:hover .system-panel__desc, .system-panel:focus-within .system-panel__desc {opacity:1; transform:translateY(0);}
/* Cook — Figma #20018:1337 */
.cook {position:relative; display:flex; flex-direction:column; align-items:center; gap:64px; padding:200px 0; overflow:hidden; background-color:var(--color-sub-green);}
.cook__bg {display:none;}
.cook__head {position:relative; z-index:1; width:100%;}
.cook__intro {display:flex; flex-direction:column; align-items:center; justify-content:center; gap:20px; width:100vw; max-width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); padding:clamp(40px, 5vw, 64px) 24px 0; background-color:transparent; text-align:center;}
.cook__title {font-size:var(--fs-section); line-height:var(--lh-section); color:var(--color-white); white-space:nowrap;}
.cook__title--hook {display:inline-flex; align-items:center; gap:0.08em; margin:0; font-family:var(--font-display); font-size:clamp(60px, 7vw, 96px); font-style:italic; font-weight:700; line-height:1.08em; letter-spacing:-0.03em; color:var(--color-hero-hook); white-space:nowrap;}
.cook__quote {font-size:1.2em; line-height:1em;}
.cook__desc {margin:0; font-family:var(--font-display); font-size:clamp(24px, 2.8vw, 36px); font-weight:700; font-style:normal; line-height:1.35em; letter-spacing:-0.02em; color:var(--color-heading); animation:cook-desc-blink 0.35s ease-in-out infinite alternate;}
@keyframes cook-desc-blink {from {opacity:1;} to {opacity:0;}}
.cook__steps {position:relative; z-index:1; display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); justify-content:center; max-width:none; margin:0 auto;}
.cook-step {position:relative; flex:1 1 0; min-width:0; width:100%; max-width:none; height:clamp(380px, 36vw, 720px); overflow:hidden; opacity:0; transform:translateY(48px); transition:opacity 0.7s ease, transform 0.7s ease;}
.cook__steps.is-visible .cook-step {opacity:1; transform:translateY(0);}
.cook__steps.is-visible .cook-step--01 {transition-delay:0s;}
.cook__steps.is-visible .cook-step--02 {transition-delay:0.15s;}
.cook__steps.is-visible .cook-step--03 {transition-delay:0.3s;}
.cook-step__bg {position:absolute; inset:0;}
.cook-step__bg img {position:absolute; max-width:none; object-fit:cover;}
.cook-step__bg::after {content:""; position:absolute; inset:0;}
.cook-step--01 .cook-step__bg img {width:100%; height:100%; inset:0; object-position:center center;}
.cook-step--01 .cook-step__bg::after {background:linear-gradient(180deg, #171717 10.909%, rgba(23, 23, 23, 0) 100%);}
.cook-step--02 .cook-step__bg img {width:100%; height:100%; inset:0;}
.cook-step--02 .cook-step__bg::after {background:linear-gradient(180deg, #090909 1.894%, rgba(23, 23, 23, 0) 38.409%);}
.cook-step--03 .cook-step__bg img {width:100%; height:100%; inset:0;}
.cook-step--03 .cook-step__bg::after {background:linear-gradient(180deg, #7C7268 2.045%, rgba(124, 114, 104, 0) 44.242%);}
.cook-step__content {position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; justify-content:flex-start; height:100%; padding:64px; color:var(--color-white); text-align:center;}
.cook-step__label {margin-bottom:30px; font-size:20px; line-height:1.875em; letter-spacing:-0.02em; white-space:nowrap;}
.cook__steps.is-visible .cook-step__label {animation:cook-step-label-blink 1.8s ease-in-out infinite;}
.cook__steps.is-visible .cook-step--02 .cook-step__label {animation-delay:0.25s;}
.cook__steps.is-visible .cook-step--03 .cook-step__label {animation-delay:0.5s;}
@keyframes cook-step-label-blink {0%, 100% {opacity:1;} 50% {opacity:0.28;}}
.cook-step__title {font-size:var(--fs-card-title); line-height:var(--lh-card-title); letter-spacing:-0.02em; white-space:nowrap;}
/* --- site-franchise.css --- */
/* Startup guide — Figma #20048:311 */
.startup {position:relative; display:flex; flex-direction:column; align-items:center; gap:64px; padding:200px 0; overflow:clip; background-color:var(--color-sub-green);}
.startup__bg {position:absolute; inset:0; z-index:0; overflow:hidden;}
.startup__bg-base {position:absolute; inset:0; background:radial-gradient(ellipse 88% 62% at 50% -10%, rgba(255, 255, 255, 0.14) 0%, transparent 58%), radial-gradient(ellipse 72% 48% at 50% 108%, rgba(0, 0, 0, 0.08) 0%, transparent 52%), linear-gradient(180deg, #66b456 0%, var(--color-sub-green) 42%, #4f943f 100%);}
.startup__bg-pattern {position:absolute; inset:0; overflow:hidden; pointer-events:none;}
.startup__bg-pattern-band {position:absolute; left:-8%; width:116%; overflow:hidden; transform:rotate(-10deg); transform-origin:center center;}
.startup__bg-pattern-band--top {top:clamp(8px, 2vw, 36px);}
.startup__bg-pattern-band--bottom {bottom:clamp(8px, 2vw, 36px);}
.startup__bg-pattern-band__track {display:flex; flex-wrap:nowrap; align-items:center; gap:clamp(36px, 6vw, 96px); width:max-content; animation:startup-bg-pattern-flow 46s linear infinite; will-change:transform;}
.startup__bg-pattern-band--bottom .startup__bg-pattern-band__track {animation-direction:reverse; animation-duration:52s;}
@keyframes startup-bg-pattern-flow {0% {transform:translateX(0);} 100% {transform:translateX(-50%);}}
.startup__bg-pattern-word {flex-shrink:0; font-family:var(--font-display); font-size:clamp(72px, 9.5vw, 148px); font-weight:700; line-height:1em; letter-spacing:-0.03em; white-space:nowrap; color:transparent; -webkit-text-stroke:2px rgba(198, 240, 53, 0.72); paint-order:stroke fill; user-select:none;}
.startup__bg-glow {position:absolute; inset:0; background:radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.06) 0%, transparent 58%); pointer-events:none;}
.startup__head {position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; gap:40px; }
.startup__badge {display:block; width:100px; height:100px;}
.startup__badge img {width:100%; height:100%;}
.startup__head-text {display:flex; flex-direction:column; align-items:center; gap:24px; text-align:center;}
.startup__title {font-family:var(--font-display); font-size:72px; font-weight:400; line-height:1.16em; letter-spacing:-0.02em; color:var(--color-white); font-synthesis:none;}
.startup__lead {font-size:var(--fs-subheading); font-weight:500; line-height:var(--lh-subheading); letter-spacing:-0.02em; color:rgba(255, 255, 255, 0.82);}
.startup__cost-table {position:relative; z-index:1; display:flex; flex-direction:column; width:80%; max-width:none; margin-inline:auto; padding-left:0; padding-right:0; overflow:visible;}
.startup__model-tabs {display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:8px; width:100%; padding-top:28px;}
.startup-model-tab {position:relative; flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:clamp(34px, 1.2vw, 40px); min-width:0; min-height:clamp(344px, 12vw, 380px); padding:clamp(32px, 3.2vw, 44px) 16px clamp(28px, 2.8vw, 36px); background-color:var(--color-white); border:2px solid var(--color-sub-green); border-radius:0; box-shadow:0 10px 28px rgba(0, 0, 0, 0.18); overflow:visible; text-align:center; cursor:pointer; transition:background 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease, border-color 0.25s ease; outline:none; }
.startup-model-tab::after {content:""; position:absolute; right:0; bottom:0; left:0; height:36px; background-color:#f5f5f5; background-image:radial-gradient(circle at 50% 0, transparent 10px, rgba(89, 162, 73, 0.12) 10px, rgba(89, 162, 73, 0.12) 11px, transparent 11px); background-size:22px 22px; background-position:center bottom; pointer-events:none;}
.startup-model-tab:hover {background-color:#f0faf0; border-color:#3d8a2e; box-shadow:0 20px 48px rgba(89, 162, 73, 0.22), 0 4px 16px rgba(0, 0, 0, 0.12); transform:translateY(-6px);}
.startup-model-tab.is-active, .startup-model-tab.is-selected { border-color:var(--color-sub-green); box-shadow:0 10px 28px rgba(89, 162, 73, 0.38);}
.startup-model-tab.is-active::after, .startup-model-tab.is-selected::after {background-color:rgba(0, 0, 0, 0.08); background-image:radial-gradient(circle at 50% 0, transparent 10px, rgba(255, 255, 255, 0.15) 10px, rgba(255, 255, 255, 0.15) 11px, transparent 11px);}
.startup-model-tab.is-active .startup-model-tab__badge, .startup-model-tab.is-selected .startup-model-tab__badge {background-color:var(--color-hero-hook); border-color:var(--color-hero-hook); color:var(--color-heading); box-shadow:0 4px 12px rgba(0, 0, 0, 0.18);}
.startup-model-tab.is-active .startup-model-tab__icon, .startup-model-tab.is-selected .startup-model-tab__icon {opacity:1;}
.startup-model-tab.is-active .startup-model-tab__name, .startup-model-tab.is-selected .startup-model-tab__name {color:var(--color-white);}
.startup-model-tab__badge {position:absolute; top:-22px; left:50%; transform:translateX(-50%) rotate(-6deg); display:inline-flex; align-items:center; justify-content:center; min-width:90px; padding:10px 26px; font-family:var(--font-display); font-size:clamp(24px, 2.2vw, 30px); font-weight:400; line-height:1em; letter-spacing:-0.02em; white-space:nowrap; color:var(--color-heading); background-color:var(--color-hero-hook); border:2px solid var(--color-hero-hook); border-radius:4px; box-shadow:0 4px 12px rgba(0, 0, 0, 0.18); font-synthesis:none;}
.startup-model-tab__name {margin:0; font-family:var(--font-display); font-size:clamp(24px, 2.4vw, 36px); font-weight:400; line-height:1.15em; letter-spacing:-0.02em; color:var(--color-heading); font-synthesis:none;}
.startup-model-tab__icon {display:flex; align-items:center; justify-content:center; opacity:1;}
.startup-model-tab__icon-img {display:block; width:100px; height:100px; object-fit:contain;}
.startup-model-tab__size, .startup-model-tab__label, .startup-model-tab__description, .startup-model-tab__action > span:not(.startup-model-tab__arrow) {font-family:var(--font-display); font-weight:400; letter-spacing:var(--ls-display); font-synthesis:none;}
.startup-cost-table {width:100%; overflow:hidden; border-radius:0 0 8px 8px; background-color:rgba(10, 10, 10, 0.72); box-shadow:0 24px 64px rgba(0, 0, 0, 0.28);}
.startup-cost-table__grid {width:100%; border-collapse:collapse; table-layout:fixed;}
.startup-cost-table__grid th, .startup-cost-table__grid td {padding:clamp(14px, 1.4vw, 20px) clamp(16px, 1.8vw, 28px); border:1px solid rgba(255, 255, 255, 0.14); font-family:var(--font-primary); font-size:16px; font-weight:500; line-height:1.55em; letter-spacing:-0.02em; text-align:center; vertical-align:middle; color:rgba(255, 255, 255, 0.92);}
.startup-cost-table__grid thead th {background-color:rgba(0, 0, 0, 0.35); font-family:var(--font-primary); font-size:18px; font-weight:700; color:var(--color-white);}
.startup-cost-table__grid tbody th[scope="row"] {width:14%; font-weight:600; color:var(--color-white); background-color:rgba(255, 255, 255, 0.03);}
.startup-cost-table__grid tbody td:nth-child(2) {width:28%;}
.startup-cost-table__grid tbody td:last-child {width:44%;}
.startup-cost-table__row--accent td {color:var(--color-hero-hook); font-weight:700;}
.startup-cost-table__row--blink > th,
.startup-cost-table__row--blink > td {position:relative;}
.startup-cost-table__row--blink > th::after,
.startup-cost-table__row--blink > td::after {content:""; position:absolute; z-index:1; pointer-events:none; top:0; right:0; bottom:0; left:0; border-top:3px solid var(--color-hero-hook); border-bottom:3px solid var(--color-hero-hook); box-sizing:border-box; animation:startup-cost-row-blink 0.35s ease-in-out infinite alternate;}
.startup-cost-table__row--blink > :first-child::after {border-left:3px solid var(--color-hero-hook);}
.startup-cost-table__row--blink > :last-child::after {border-right:3px solid var(--color-hero-hook);}
@keyframes startup-cost-row-blink {from {opacity:1;} to {opacity:0;}}
.startup-cost-table__cta {margin:0; padding:clamp(18px, 2vw, 24px) 24px; background-color:var(--color-hero-hook); font-family:var(--font-display); font-size:28px; font-weight:400; line-height:1.25em; letter-spacing:-0.02em; text-align:center; color:var(--color-heading); font-synthesis:none;}
/* ── 가맹비용 탭: 비용보기 버튼 ── */
.startup-model-tab__cta {position:relative; z-index:1; display:inline-flex; align-items:center; justify-content:center; gap:6px; width:auto; max-width:calc(100% - 32px); margin-top:4px; padding:15px 92px; box-sizing:border-box; font-family:var(--font-display); font-size:clamp(14px, 1.2vw, 18px); font-weight:400; line-height:1.2em; letter-spacing:-0.01em; white-space:nowrap; overflow:visible; color:var(--color-heading); background-color:var(--color-hero-hook); border:none; border-radius:999px; cursor:pointer; font-synthesis:none; transition:background-color 0.18s ease, transform 0.18s ease;}
.startup-model-tab__cta-arrow {font-family:var(--font-primary); font-size:1.15em; font-weight:700; line-height:1em; display:inline-block; transition:transform 0.18s ease;}
.startup-model-tab__cta:hover .startup-model-tab__cta-arrow {transform:translateX(4px);}
.startup-model-tab__cta:hover {background-color:#f0d000; transform:translateY(-1px);}
/* 가맹비용 상세 패널 */
.startup-detail__dialog {position:relative; z-index:1; width:100%; max-height:none; overflow:hidden; background:#1a1a1a; border-radius:16px; box-shadow:0 16px 40px rgba(0, 0, 0, 0.16);}
.startup-detail__header {display:flex; align-items:center; justify-content:space-between; padding:24px 28px 20px; border-bottom:1px solid rgba(255, 255, 255, 0.1); gap:16px;}
.startup-detail__header-info {display:flex; align-items:center; gap:14px; flex-wrap:wrap;}
.startup-detail__badge {display:inline-flex; align-items:center; padding:5px 14px; font-family:var(--font-primary); font-size:14px; font-weight:700; letter-spacing:-0.01em; color:var(--color-heading); background-color:var(--color-hero-hook); border-radius:999px;}
.startup-detail__title {margin:0; font-family:var(--font-display); font-size:28px; font-weight:400; line-height:1.2em; letter-spacing:-0.02em; color:var(--color-white); font-synthesis:none;}
.startup-detail__body {padding:0;}
.startup-detail__body [data-cost-panel] {display:none;}
.startup-detail__body [data-cost-panel].is-active {display:block;}
.startup__steps {position:relative; z-index:1; display:flex; align-items:center; justify-content:center; gap:40px;}
.startup__step-arrow {flex-shrink:0; display:flex; align-items:center; justify-content:center; width:56px; height:56px;}
.startup__step-arrow img {width:56px; height:auto; display:block;}
.startup-step {position:relative; width:600px; height:300px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:24px; overflow:hidden; background-color:var(--color-white); border-radius:64px 64px 1000px 1000px; text-align:center;}
.startup-step__bg {position:absolute; inset:0; z-index:0; overflow:hidden;}
.startup-step__bg img {position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.startup-step:nth-of-type(1) .startup-step__bg img {opacity:0.05;}
.startup-step:nth-of-type(2) .startup-step__bg img {opacity:0.1;}
.startup-step__num {position:relative; z-index:1; font-size:18px; line-height:1.75em; letter-spacing:-0.02em; color:var(--color-main);}
.startup-step__title {position:relative; z-index:1; font-size:24px; line-height:1.875em; letter-spacing:-0.02em; color:var(--color-heading);}
.startup-step__desc {position:relative; z-index:1; font-size:18px; line-height:1.75em; letter-spacing:-0.02em; color:var(--color-body);}
.startup__panel {position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; gap:40px; padding:64px; overflow:hidden; background-color:var(--color-black); border-radius:16px;}
.startup__panel-bg {position:absolute; inset:0; z-index:0; overflow:hidden;}
.startup__panel-bg-photo {position:absolute; left:0; top:-104.46%; width:100%; height:257.42%; max-width:none; object-fit:cover;}
.startup__panel-bg::after {content:""; position:absolute; inset:0; background:linear-gradient(180deg, #000000 0%, rgba(0, 0, 0, 0.6) 100%);}
.startup__panel-bg-pattern {position:absolute; left:-58.21%; top:-14.87%; width:165.75%; height:122.05%; max-width:none; opacity:0.16;}
.startup__panel-head {position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; gap:8px; text-align:center; color:var(--color-white);}
.startup__panel-title {font-size:var(--fs-card-title); line-height:var(--lh-card-title); letter-spacing:-0.02em;}
.startup__panel-desc {font-size:var(--fs-subheading); font-weight:500; line-height:var(--lh-subheading); letter-spacing:-0.02em;}
.startup__models {position:relative; z-index:1; display:flex; align-items:stretch; gap:24px; width:100%;}
.startup-model {flex:1; min-width:0; display:flex; flex-direction:column; align-items:center; gap:24px; padding:48px 20px 20px; background-color:#2F2F2F; border-radius:16px; text-align:center;}
.startup-model__badge {display:inline-flex; align-items:center; justify-content:center; padding:4px 12px; font-size:var(--fs-body); font-weight:700; line-height:var(--lh-body); letter-spacing:-0.02em; color:var(--color-body); background-color:var(--color-white); border-radius:var(--button-radius);}
.startup-model__name {font-size:24px; line-height:1.42em; letter-spacing:-0.02em; color:var(--color-white);}
.startup-model__card {display:flex; flex-direction:column; align-items:center; gap:20px; width:100%; padding:24px; background-color:#191919; border-radius:16px;}
.startup-model__icon {display:block; width:40px; height:40px;}
.startup-model__icon img {width:100%; height:100%;}
.startup-model__price {font-size:24px; line-height:1.42em; letter-spacing:-0.02em;}
.startup-model__price--cream {color:var(--color-sub-cream);}
.startup-model__price--green {color:var(--color-sub-green);}
.startup-model__price--accent {color:var(--color-accent);}
.startup-model__vat {font-family:var(--font-primary); font-size:var(--fs-body); font-weight:400; line-height:var(--lh-body); letter-spacing:-0.02em;}
.startup-model__detail {font-size:18px; line-height:1.875em; letter-spacing:-0.02em; color:var(--color-white);}
.startup__cost-notes {position:relative; z-index:1; display:flex; flex-direction:column; align-items:flex-start; gap:24px; width:100%;}
.startup__benefit {width:100%;}
.startup__benefit-text {font-size:var(--fs-body); line-height:var(--lh-body);}
.startup__benefit-highlight {font-size:24px; line-height:1.42em; letter-spacing:-0.02em; color:var(--color-main);}
.startup__benefit-mark {position:relative; color:inherit; background:none; font:inherit;}
.startup__benefit-mark::before {content:""; position:absolute; left:0; right:0; bottom:-2px; height:14px; z-index:-1; background-color:rgba(255, 90, 0, 0.4);}
.startup__benefit-note {font-size:var(--fs-body); font-weight:500; line-height:var(--lh-body); letter-spacing:-0.02em; color:var(--color-main);}
.startup__extra {position:relative; z-index:1; display:flex; flex-direction:column; align-items:flex-start; gap:12px; width:100%;}
.startup__extra-badge {display:inline-flex; align-items:center; justify-content:center; padding:0 10px; font-size:var(--fs-body); line-height:var(--lh-body); color:var(--color-white); background-color:var(--color-main); border-radius:var(--button-radius);}
.startup__extra-text {font-size:var(--fs-body); line-height:var(--lh-body); letter-spacing:-0.02em; color:var(--color-white);}
.startup__notes {display:flex; flex-direction:column; gap:0;}
.startup__notes li {font-size:var(--fs-caption); line-height:var(--lh-caption); letter-spacing:-0.02em; color:var(--color-muted);}
.startup__notes li::before {content:"* ";}
/* --- site-gallery.css --- */
/* Gallery (인테리어/시즌메뉴/마케팅) — Figma #20128:1771 */
.gallery {display:flex; flex-direction:column; align-items:center; gap:64px; padding:200px 0; overflow:hidden; background-color:var(--color-white);}
.gallery--interior {position:relative; gap:clamp(40px, 4vw, 64px); padding:clamp(120px, 10vw, 160px) 0 clamp(140px, 12vw, 200px); background-color:var(--color-white); overflow-x:clip;}
.gallery--interior .gallery-interior__bg {position:absolute; inset:0; z-index:0; overflow:hidden; pointer-events:none;}
.gallery--interior .gallery-interior__bg-photo {position:absolute; inset:0; background:linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.08) 32%, rgba(255, 255, 255, 0.55) 62%, rgba(255, 255, 255, 0.94) 100%), url("/images/all/interior-storefront-bg.png") center 18% / cover no-repeat; filter:grayscale(0) saturate(0.95) brightness(1.04) contrast(1.1); opacity:0.82;}
.gallery--interior .gallery-interior__bg-base {position:absolute; inset:0; background:radial-gradient(ellipse 72% 52% at 50% -6%, rgba(89, 162, 73, 0.05) 0%, transparent 58%), radial-gradient(ellipse 40% 36% at 92% 88%, rgba(89, 162, 73, 0.04) 0%, transparent 52%), linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.28) 48%, #ffffff 72%, #fafafa 100%);}
.gallery--interior .gallery-interior__bg-pattern {position:absolute; inset:0; background-image:url("/images/all/stats-pattern.png"); background-size:680px 680px; opacity:0.04; mix-blend-mode:multiply;}
.gallery--interior .gallery-interior__bg-glow {position:absolute; inset:0; background:radial-gradient(circle at 50% 100%, rgba(89, 162, 73, 0.05) 0%, transparent 46%), linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(250, 250, 250, 0.22) 100%);}
.gallery--interior .gallery__head, .gallery--interior .gallery__body {position:relative; z-index:1;}
.gallery--interior .gallery__head {gap:clamp(16px, 2vw, 24px); max-width:1680px; padding-top:clamp(24px, 3vw, 40px);}
.gallery--interior .gallery__title.interior-head__title {margin:0; font-family:var(--font-display); font-size:clamp(40px, calc(7.5vw - 8px), 104px); font-weight:700; line-height:1.12em; letter-spacing:-0.02em; color:var(--color-sub-green);}
.interior-head__lead {margin:0; max-width:920px; font-family:var(--font-display); font-size:clamp(18px, 2.4vw, 28px); font-weight:400; line-height:1.45em; letter-spacing:-0.02em;}
.interior-head__accent {color:var(--color-sub-green);}
.interior-head__base {color:var(--color-heading);}
.gallery--interior .gallery-card {border-radius:24px; overflow:hidden; background-color:var(--color-white); box-shadow:0 12px 40px rgba(0, 0, 0, 0.08);}
.gallery--interior .gallery-card__img {border-radius:24px 24px 0 0;}
.gallery--interior .gallery-card__info {background-color:var(--color-white);}
.gallery--interior .gallery__body[data-carousel-flow] .gallery__track {animation-duration:55s;}
.gallery--interior .gallery__viewport {width:100vw; max-width:none; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw);}
.gallery-interior__flow {position:relative; z-index:1; width:100vw; max-width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); min-height:clamp(72px, 7.2vw, 104px); padding:12px 0 8px; overflow-x:hidden; overflow-y:visible; pointer-events:none; background-color:#E8470A; background-image:repeating-linear-gradient( 0deg, rgba(255, 255, 255, 0.05) 0, rgba(255, 255, 255, 0.05) 1px, transparent 1px, transparent 52px ), repeating-linear-gradient( 90deg, rgba(255, 255, 255, 0.05) 0, rgba(255, 255, 255, 0.05) 1px, transparent 1px, transparent 52px ), linear-gradient(180deg, #FF6A1A 0%, #E8470A 50%, #D63D00 100%); -webkit-mask-image:linear-gradient(90deg, transparent 0%, #000 4%, #000 96%, transparent 100%); mask-image:linear-gradient(90deg, transparent 0%, #000 4%, #000 96%, transparent 100%);}
.gallery-interior__flow-track {display:flex; flex-direction:row; align-items:center; gap:clamp(20px, 2.5vw, 40px); width:max-content; min-height:clamp(56px, 5.6vw, 80px); animation:gallery-interior-flow 30s linear infinite; will-change:transform;}
@keyframes gallery-interior-flow {0% {transform:translateX(0);} 100% {transform:translateX(-50%);}}
.gallery-interior__flow-unit {display:flex; flex-shrink:0; align-items:center; gap:clamp(14px, 1.8vw, 28px);}
.gallery-interior__flow-word {flex-shrink:0; display:block; margin:0; padding:4px 0; font-family:var(--font-display); font-size:clamp(36px, 3.6vw, 64px); line-height:1.12em; white-space:nowrap; color:transparent; -webkit-text-stroke:1.5px rgba(255, 255, 255, 0.52); paint-order:stroke fill; user-select:none;}
.gallery-interior__flow-badge {flex-shrink:0; width:clamp(28px, 2.8vw, 40px); height:clamp(28px, 2.8vw, 40px); object-fit:contain; opacity:0.95; filter:drop-shadow(0 6px 12px rgba(0, 0, 0, 0.18));}
.gallery-interior__flow-badge--leaf {width:clamp(32px, 3.2vw, 48px); height:clamp(32px, 3.2vw, 48px);}
.gallery--interior .gallery__head {position:relative; z-index:1; gap:20px; max-width:1680px; padding-top:clamp(64px, 6vw, 96px);}
.gallery--interior .gallery__title--sentence {display:flex; flex-direction:column; align-items:center; gap:8px; font-family:var(--font-display); font-size:clamp(36px, 3.6vw, 48px); line-height:1.28em; letter-spacing:-0.02em;}
.gallery--interior .gallery__title-accent {color:var(--color-accent);}
.gallery--interior .gallery__title-main {color:var(--color-white);}
.gallery--interior .gallery__desc {color:rgba(255, 255, 255, 0.62); font-size:clamp(18px, 1.6vw, 20px); font-weight:500; line-height:1.5em;}
.interior-cards {display:flex; flex-direction:row; align-items:stretch; gap:clamp(10px, 1.2vw, 16px); width:100%; margin:0; padding:28px 0 0; list-style:none; overflow:visible;}
.interior-card {position:relative; flex:1; display:flex; flex-direction:column; align-items:stretch; min-width:0; padding:40px 14px 44px; border:2px solid var(--color-accent); border-radius:12px; background-color:var(--color-white); text-align:center; box-shadow:0 10px 28px rgba(0, 0, 0, 0.28); overflow:visible;}
.interior-card::after {content:""; position:absolute; right:0; bottom:0; left:0; height:40px; border-radius:0 0 10px 10px; background-color:#f5f5f5; background-image:radial-gradient(circle at 50% 0, transparent 10px, rgba(255, 90, 0, 0.1) 10px, rgba(255, 90, 0, 0.1) 11px, transparent 11px); background-size:22px 22px; background-position:center bottom; pointer-events:none;}
.interior-card__sticker {position:absolute; top:-22px; left:50%; z-index:2; display:inline-flex; align-items:center; justify-content:center; min-width:52px; padding:7px 16px; font-family:var(--font-display); font-size:clamp(18px, 1.6vw, 22px); line-height:1em; letter-spacing:-0.02em; white-space:nowrap; transform:translateX(-50%) rotate(-8deg); box-shadow:0 4px 12px rgba(0, 0, 0, 0.18);}
.interior-card__sticker--outline {border:2px solid var(--color-accent); background-color:var(--color-white); color:var(--color-accent);}
.interior-card__sticker--solid {border:2px solid var(--color-accent); background-color:var(--color-accent); color:var(--color-white);}
.interior-card__media {position:relative; z-index:1; overflow:hidden; aspect-ratio:4 / 3; margin-bottom:14px; border-radius:8px; background-color:#ececec;}
.interior-card__media img {width:100%; height:100%; object-fit:cover; object-position:center center; display:block; image-rendering:auto;}
.interior-card__label {position:relative; z-index:1; margin:0; font-family:var(--font-display); font-size:28pt; line-height:1.35em; letter-spacing:-0.02em; color:var(--color-heading); word-break:keep-all;}
.interior-card__value {position:relative; z-index:1; margin:6px 0 0; font-size:clamp(14px, 1.2vw, 16px); font-weight:700; line-height:1.4em; letter-spacing:-0.02em; color:var(--color-body); word-break:keep-all;}
.gallery__title--multi {font-family:var(--font-display); font-size:clamp(32px, 3.8vw, 56px); font-weight:800; line-height:1.28em; letter-spacing:-0.03em; color:var(--color-white);}
.gallery__title-highlight {color:var(--color-white);}
.multi-sales {display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:clamp(12px, 1.5vw, 20px); width:100%; margin:0; padding:0; list-style:none;}
.multi-sales__item {min-width:0;}
.multi-sales__card {display:flex; flex-direction:column; height:auto; min-height:0; border-radius:16px; overflow:hidden;}
.multi-sales__media {flex:0 0 auto; height:clamp(200px, 27.7vw, 414px); min-height:0; overflow:hidden; background-color:#1a1a1a;}
.multi-sales__media--accent {background-color:#d81818;}
.multi-sales__media--poster {display:flex; align-items:center; justify-content:center; background-color:#2a2520;}
.multi-sales__media--press {display:flex; align-items:center; justify-content:center; background-color:#f4f4f4;}
.multi-sales__media--poster img {width:auto; height:100%; max-width:100%; min-height:0; object-fit:contain; object-position:center center;}
.multi-sales__media--press img {width:auto; height:100%; max-width:100%; min-height:0; object-fit:contain; object-position:center top;}
.multi-sales__media img {width:100%; height:100%; min-height:0; object-fit:cover; object-position:center center; display:block;}
.multi-sales__caption {flex:0 0 auto; padding:clamp(20px, 2vw, 28px) clamp(16px, 1.6vw, 24px); background-color:var(--color-white);}
.multi-sales__name {font-family:var(--font-display); font-size:clamp(22px, 2vw, 28px); font-weight:800; line-height:1.3em; letter-spacing:-0.02em; color:var(--color-heading);}
.multi-sales__desc {margin-top:8px; font-size:clamp(14px, 1.2vw, 16px); font-weight:500; line-height:1.5em; letter-spacing:-0.02em; color:var(--color-body);}
.gallery--season {position:relative; background-color:var(--color-white); overflow-x:clip;}
.gallery-season__bg {position:absolute; inset:0; z-index:0; overflow:hidden; pointer-events:none;}
.gallery-season__bg-base {position:absolute; inset:0; background:radial-gradient(ellipse 72% 52% at 50% -6%, rgba(89, 162, 73, 0.08) 0%, transparent 58%), radial-gradient(ellipse 40% 36% at 8% 92%, rgba(89, 162, 73, 0.06) 0%, transparent 52%), linear-gradient(180deg, #ffffff 0%, #fafafa 48%, #f5f5f5 100%);}
.gallery-season__bg-noodle {position:absolute; inset:-8% -4%; background-image:url("/images/all/startup-step2-pattern.png"); background-size:min(860px, 54vw) auto; background-repeat:repeat; background-position:center; opacity:0.035; mix-blend-mode:multiply; filter:grayscale(1) brightness(1.1);}
.gallery-season__bg-pattern {position:absolute; inset:0; background-image:url("/images/all/stats-pattern.png"); background-size:680px 680px; opacity:0.04; mix-blend-mode:multiply;}
.gallery-season__bg-glow {position:absolute; inset:0; background:radial-gradient(circle at 50% 100%, rgba(89, 162, 73, 0.06) 0%, transparent 46%), radial-gradient(circle at 22% 38%, rgba(89, 162, 73, 0.04) 0%, transparent 32%), linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(250, 250, 250, 0.72) 100%);}
.gallery--season .gallery__head, .gallery--season .gallery__body {position:relative; z-index:1;}
.gallery--season .gallery__viewport {width:100vw; max-width:none; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw);}
.gallery--season .gallery__head {gap:clamp(12px, 1.4vw, 18px);}
.season-head__lead {margin:0; font-family:var(--font-display); font-size:clamp(24px, 2.4vw, 34px); font-weight:400; line-height:1.45em; letter-spacing:-0.02em;}
.season-head__accent {color:var(--color-sub-green);}
.season-head__base {color:var(--color-heading);}
.gallery--season .season-head__base {color:var(--color-heading);}
.season-head__title {margin:0; font-family:var(--font-display); font-size:clamp(52px, 6.2vw, 96px); font-weight:700; line-height:1.12em; letter-spacing:-0.02em;}
.gallery--season .gallery__title.season-head__title {color:var(--color-sub-green); font-size:clamp(52px, 7.5vw, 100px); line-height:1.12em;}
.gallery--season .gallery__title:not(.season-head__title) {color:var(--color-white);}
.gallery--season .gallery__desc {color:rgba(255, 255, 255, 0.78);}
.gallery--season .tag-pill {background-color:var(--color-sub-green);}
.gallery__head {display:flex; flex-direction:column; align-items:center; gap:24px; max-width:1440px; text-align:center;}
.gallery__title {font-size:var(--fs-section); line-height:var(--lh-section); color:var(--color-heading);}
.gallery__desc {font-size:var(--fs-subheading); font-weight:500; line-height:var(--lh-subheading); letter-spacing:-0.02em; color:var(--color-body);}
.gallery__body {display:flex; flex-direction:column; align-items:center; gap:40px; width:100%;}
.gallery__viewport {overflow-x:hidden; width:100%;}
.gallery__track {display:flex; gap:24px; transition:transform 0.4s ease;}
.gallery__body[data-carousel-autoplay] .gallery__track {transition:transform 1s ease;}
.gallery__body[data-carousel-flow] .gallery__track {width:max-content; transition:none; animation:gallery-flow 50s linear infinite;}
.gallery__body[data-carousel-flow].is-flow-paused .gallery__track {animation-play-state:paused;}
.gallery--season .gallery__body[data-carousel-flow] .gallery__track {animation-duration:55s;}
@keyframes gallery-flow {0% {transform:translateX(0);} 100% {transform:translateX(-50%);}}
.gallery--season .gallery__body[data-carousel-flow] .gallery__track {animation-duration:55s;}
.tag-pill {display:inline-flex; align-items:center; justify-content:center; padding:0 10px; background-color:var(--color-main); border-radius:var(--button-radius); font-size:var(--fs-body); line-height:var(--lh-body); color:var(--color-white); white-space:nowrap;}
.tag-pill--green {background-color:var(--color-sub-green);}
.gallery-card {flex-shrink:0; border-radius:16px; overflow:hidden;}
.gallery-card--interior, .gallery-card--menu {display:flex; flex-direction:column;}
.gallery-card--interior {width:480px; height:492px;}
.gallery-card--menu {width:600px;}
.gallery--marketing {position:relative; gap:clamp(40px, 4vw, 64px); padding:clamp(120px, 10vw, 160px) 0 clamp(140px, 12vw, 200px); background-color:#0a1008;}
.gallery--marketing .gallery-interior__bg-sparks {background:radial-gradient(circle at 8% 88%, rgba(89, 162, 73, 0.62) 0%, transparent 7%), radial-gradient(circle at 18% 72%, rgba(140, 200, 90, 0.48) 0%, transparent 5%), radial-gradient(circle at 32% 94%, rgba(71, 145, 58, 0.55) 0%, transparent 6%), radial-gradient(circle at 44% 78%, rgba(120, 185, 80, 0.4) 0%, transparent 4%), radial-gradient(circle at 56% 92%, rgba(89, 162, 73, 0.5) 0%, transparent 5%), radial-gradient(circle at 68% 76%, rgba(160, 215, 100, 0.36) 0%, transparent 4%), radial-gradient(circle at 78% 88%, rgba(65, 130, 52, 0.52) 0%, transparent 6%), radial-gradient(circle at 90% 70%, rgba(130, 190, 75, 0.42) 0%, transparent 5%), radial-gradient(circle at 24% 58%, rgba(89, 162, 73, 0.24) 0%, transparent 3%), radial-gradient(circle at 62% 62%, rgba(100, 170, 72, 0.2) 0%, transparent 3%), radial-gradient(circle at 84% 52%, rgba(75, 145, 60, 0.18) 0%, transparent 3%); opacity:0.85;}
.gallery--marketing .gallery-interior__bg-pattern {opacity:0.1; mix-blend-mode:soft-light;}
.gallery--marketing .gallery-interior__bg-glow {background:radial-gradient(ellipse 90% 55% at 50% -6%, rgba(89, 162, 73, 0.48) 0%, transparent 58%), radial-gradient(ellipse 46% 42% at 16% 6%, rgba(140, 200, 90, 0.3) 0%, transparent 54%), radial-gradient(ellipse 46% 42% at 84% 4%, rgba(71, 145, 58, 0.28) 0%, transparent 52%), radial-gradient(circle at 18% 22%, rgba(180, 230, 120, 0.1) 0%, transparent 28%), radial-gradient(circle at 82% 78%, rgba(89, 162, 73, 0.14) 0%, transparent 32%), radial-gradient(ellipse 80% 50% at 50% 100%, rgba(89, 162, 73, 0.2) 0%, transparent 62%), radial-gradient(ellipse 55% 40% at 20% 85%, rgba(120, 185, 80, 0.14) 0%, transparent 55%), radial-gradient(ellipse 55% 40% at 80% 80%, rgba(65, 130, 52, 0.12) 0%, transparent 55%), repeating-linear-gradient( 118deg, rgba(255, 255, 255, 0.018) 0, rgba(255, 255, 255, 0.018) 1px, transparent 1px, transparent 52px ), linear-gradient(180deg, rgba(89, 162, 73, 0.32) 0%, rgba(71, 145, 58, 0.14) 18%, rgba(10, 16, 8, 0.62) 48%, rgba(8, 12, 6, 0.94) 100%);}
.gallery-interior__bg {position:absolute; inset:0; z-index:0; overflow:hidden; pointer-events:none;}
.gallery-interior__bg-sparks {position:absolute; inset:0; background:radial-gradient(circle at 8% 88%, rgba(255, 90, 0, 0.72) 0%, transparent 7%), radial-gradient(circle at 18% 72%, rgba(255, 160, 40, 0.55) 0%, transparent 5%), radial-gradient(circle at 32% 94%, rgba(255, 70, 0, 0.65) 0%, transparent 6%), radial-gradient(circle at 44% 78%, rgba(255, 120, 30, 0.48) 0%, transparent 4%), radial-gradient(circle at 56% 92%, rgba(255, 90, 0, 0.58) 0%, transparent 5%), radial-gradient(circle at 68% 76%, rgba(255, 180, 60, 0.42) 0%, transparent 4%), radial-gradient(circle at 78% 88%, rgba(255, 60, 0, 0.62) 0%, transparent 6%), radial-gradient(circle at 90% 70%, rgba(255, 140, 20, 0.5) 0%, transparent 5%), radial-gradient(circle at 24% 58%, rgba(255, 90, 0, 0.28) 0%, transparent 3%), radial-gradient(circle at 62% 62%, rgba(255, 110, 20, 0.24) 0%, transparent 3%), radial-gradient(circle at 84% 52%, rgba(255, 80, 0, 0.22) 0%, transparent 3%); opacity:0.85;}
.gallery-interior__bg-pattern {position:absolute; inset:0; z-index:1; opacity:0.08; background-image:url("/images/all/stats-pattern.png"); background-size:640px 640px; mix-blend-mode:soft-light; pointer-events:none;}
.gallery-interior__bg-glow {position:absolute; inset:0; background:radial-gradient(ellipse 80% 50% at 50% 100%, rgba(255, 90, 0, 0.18) 0%, transparent 62%), radial-gradient(ellipse 55% 40% at 20% 85%, rgba(255, 140, 40, 0.12) 0%, transparent 55%), radial-gradient(ellipse 55% 40% at 80% 80%, rgba(255, 60, 0, 0.1) 0%, transparent 55%), linear-gradient(180deg, rgba(10, 10, 10, 0.35) 0%, rgba(10, 10, 10, 0.72) 55%, rgba(10, 10, 10, 0.92) 100%);}
.gallery--marketing .gallery__head, .gallery--marketing .marketing-grid {position:relative; z-index:1;}
.gallery--marketing .gallery__head {gap:0; max-width:1680px;}
.marketing-title {position:relative; display:flex; align-items:center; justify-content:center; width:min(860px, 100%); margin-inline:auto;}
.marketing-title__text {position:relative; display:flex; align-items:center; justify-content:center; margin:0; padding:clamp(10px, 1.6vw, 18px) clamp(20px, 3vw, 40px); font-family:var(--font-display); font-size:clamp(40px, 4vw, 60px); font-weight:400; line-height:1.15em; letter-spacing:-0.02em; color:#ffffff; -webkit-text-fill-color:#ffffff; text-shadow:none; -webkit-text-stroke:0 transparent; text-align:center;}
.marketing-grid {position:relative; width:100%; max-width:var(--width-content); margin-inline:auto;}
.marketing-grid__panels {display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); grid-template-rows:repeat(2, minmax(0, 1fr)); gap:0; margin:0; padding:0; list-style:none;}
.marketing-panel {position:relative; overflow:hidden; min-height:clamp(280px, 26vw, 480px);}
.marketing-panel__bg {position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center center; display:block;}
.marketing-panel--press .marketing-panel__bg {object-fit:cover; object-position:center top;}
.marketing-panel--materials .marketing-panel__bg {object-position:center center;}
.marketing-panel__dim {position:absolute; inset:0; z-index:1; background:rgba(0, 0, 0, 0.42); pointer-events:none;}
.marketing-panel--press .marketing-panel__dim {background:linear-gradient(180deg, rgba(0, 0, 0, 0.18) 0%, rgba(0, 0, 0, 0.52) 100%);}
.marketing-panel--sns .marketing-panel__dim {background:linear-gradient(180deg, rgba(0, 0, 0, 0.28) 0%, rgba(0, 0, 0, 0.58) 100%);}
.marketing-panel__title {position:absolute; top:50%; left:50%; z-index:2; width:calc(100% - clamp(32px, 6vw, 64px)); margin:0; font-family:var(--font-display); font-size:clamp(30px, 3.4vw, 54px); font-style:normal; font-weight:700; line-height:1.12em; letter-spacing:-0.02em; text-align:center; color:#FFEB3B; transform:translate(-50%, -50%);}
.marketing-panel--shoot .marketing-panel__title, .marketing-panel--press .marketing-panel__title, .marketing-panel--sns .marketing-panel__title, .marketing-panel--materials .marketing-panel__title {top:50%; left:50%; right:auto; bottom:auto; transform:translate(-50%, -50%); text-align:center;}
.marketing-grid__center {position:absolute; top:50%; left:50%; z-index:3; width:clamp(220px, 26vw, 380px); transform:translate(-50%, -50%); pointer-events:none; filter:drop-shadow(0 24px 48px rgba(0, 0, 0, 0.55));}
.marketing-grid__center img {display:block; width:100%; height:auto;}
.gallery--marketing .gallery__title--multi {color:var(--color-white);}
/* Marketing — 1×4 horizontal row layout */
.marketing-row {width:100%; margin-inline:auto;}
.marketing-row__list {display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:0; list-style:none; margin:0; padding:0;}
.marketing-row__item {position:relative; overflow:hidden; height:clamp(360px, 36vw, 560px); cursor:default;}
.marketing-row__item .marketing-panel__bg {position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; transition:transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);}
.marketing-row__item:hover .marketing-panel__bg {transform:scale(1.06);}
/* Keep the SNS crop focused on the food, including on hover. */
.marketing-row__item.marketing-panel--sns .marketing-panel__bg {object-position:center 65%; transform:scale(1.45); transform-origin:center bottom;}
.marketing-row__item.marketing-panel--sns:hover .marketing-panel__bg {transform:scale(1.51);}
.marketing-row__item .marketing-panel__dim {position:absolute; inset:0; z-index:1; background:linear-gradient(180deg, rgba(0,0,0,0.08) 0%, rgba(0,0,0,0.72) 100%); transition:background 0.4s ease;}
.marketing-row__item:hover .marketing-panel__dim {background:linear-gradient(180deg, rgba(0,0,0,0.18) 0%, rgba(0,0,0,0.82) 100%);}
.marketing-row__body {position:absolute; left:0; right:0; bottom:0; z-index:2; padding:clamp(16px, 2.4vw, 36px); display:flex; flex-direction:column; gap:8px;}
.marketing-row__num {font-family:var(--font-display); font-size:clamp(13px, 1.1vw, 16px); font-weight:400; letter-spacing:0.08em; color:rgba(255, 255, 255, 0.52);}
.marketing-row__title {margin:0; font-family:var(--font-display); font-size:clamp(22px, 2.2vw, 34px); font-weight:400; line-height:1.2em; letter-spacing:-0.02em; color:var(--color-white);}
.marketing-row__desc {margin:0; font-size:clamp(13px, 1.1vw, 15px); font-weight:400; line-height:1.55em; color:rgba(255, 255, 255, 0.68); transform:translateY(4px); opacity:0; transition:opacity 0.35s ease, transform 0.35s ease;}
.marketing-row__item:hover .marketing-row__desc {opacity:1; transform:translateY(0);}
/* 카드 사이 구분선 */
.marketing-row__item + .marketing-row__item::before {content:""; position:absolute; left:0; top:10%; bottom:10%; width:1px; background:rgba(255, 255, 255, 0.12); z-index:2;}
.gallery-card--marketing {position:relative; width:800px; height:533px;}
.gallery-card__img {position:relative; flex:1; min-height:0;}
.gallery-card--menu .gallery-card__img {flex:none; height:360px; overflow:hidden;}
.gallery-card__img img, .gallery-card--marketing img {width:100%; height:100%; object-fit:cover; display:block;}
.gallery--interior .gallery-card__img img[alt="4인석 부스 좌석"] {object-position:center bottom;}

.gallery-card__info {display:flex; flex-direction:column; align-items:flex-start; gap:16px; padding:24px; background-color:#FAFAFA;}
.gallery-card--interior .gallery-card__info {height:192px;}
.gallery-card__title {font-size:24px; font-weight:700; line-height:1.42em; letter-spacing:-0.02em; color:var(--color-heading);}
.gallery-card__desc {font-size:var(--fs-body); line-height:var(--lh-body); letter-spacing:-0.02em; color:var(--color-body);}
.carousel-nav {display:flex; align-items:center; justify-content:center; gap:8px;}
body#main .carousel-nav__btn {display:flex; align-items:center; justify-content:center; flex-shrink:0; width:58px; height:58px; padding:0; background-color:var(--color-white); border:1px solid var(--color-border); border-radius:50%; box-sizing:border-box; cursor:pointer; transition:background-color 0.2s, border-color 0.2s;}
body#main .carousel-nav__btn:hover, body#main .carousel-nav__btn:focus-visible, body#main .carousel-nav__btn.is-active {background-color:var(--color-sub-green); border-color:var(--color-sub-green);}
.carousel-nav__icon {display:grid; width:24px; height:24px;}
.carousel-nav__icon img {grid-area:1 / 1; width:100%; height:100%; object-fit:contain; transition:opacity 0.2s;}
.carousel-nav__icon-active {opacity:0;}
body#main .carousel-nav__btn:hover .carousel-nav__icon-default, body#main .carousel-nav__btn:focus-visible .carousel-nav__icon-default, body#main .carousel-nav__btn.is-active .carousel-nav__icon-default {opacity:0;}
body#main .carousel-nav__btn:hover .carousel-nav__icon-active, body#main .carousel-nav__btn:focus-visible .carousel-nav__icon-active, body#main .carousel-nav__btn.is-active .carousel-nav__icon-active {opacity:1;}
.carousel-nav__btn--next .carousel-nav__icon {transform:rotate(180deg);}

/* Testimonial — Figma #20035:178 */
.testimonial {position:relative; display:flex; flex-direction:column; align-items:center; padding:200px 0; overflow:hidden;}
.testimonial__bg {position:absolute; inset:0; z-index:0;}
.testimonial__bg img {width:100%; height:100%; object-fit:cover;}
.testimonial__bg-tint {position:absolute; inset:0; background:linear-gradient(90deg, rgba(250, 247, 232, 0.4) 0%, rgba(250, 247, 232, 0.4) 100%), linear-gradient(90deg, rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0.9) 100%);}
.testimonial--frame {background-color:var(--color-white);}
.testimonial__frame {display:none;}
.testimonial__inner {position:relative; z-index:3; display:flex; align-items:center; justify-content:space-between; gap:64px; width:100%;}
.testimonial__title {display:flex; flex:1; flex-direction:column; align-items:flex-start; min-width:0; max-width:560px; font-size:48px; line-height:1.33em; letter-spacing:-0.02em; text-align:left; color:var(--color-heading);}
.testimonial__title em {font-style:normal; color:var(--color-sub-green);}
.testimonial__media {flex-shrink:0; width:min(1000px, 58%); aspect-ratio:1000 / 563; border-radius:16px; overflow:hidden;}
.testimonial__media img {width:100%; height:100%; object-fit:cover; display:block;}

/* --- site-contact.css --- */
/* Locator — Figma #20026:3394 */
.locator {position:relative; display:flex; flex-direction:column; align-items:center; gap:64px; padding:200px 0; overflow:hidden; background-color:#101010;}
.locator__bg {position:absolute; inset:0; z-index:0; overflow:hidden; pointer-events:none;}
.locator__bg-base {position:absolute; inset:0; background:radial-gradient(ellipse 88% 70% at 50% -6%, rgba(89, 162, 73, 0.38) 0%, transparent 58%), radial-gradient(ellipse 52% 46% at 6% 92%, rgba(89, 162, 73, 0.16) 0%, transparent 54%), radial-gradient(ellipse 48% 42% at 94% 68%, rgba(79, 148, 63, 0.2) 0%, transparent 50%), linear-gradient(180deg, #141a14 0%, #101010 46%, #121612 100%);}
.locator__bg-pattern {position:absolute; inset:0; opacity:0.08; background-image:url("/images/all/stats-pattern.png"); background-size:640px 640px; mix-blend-mode:soft-light;}
.locator__bg-glow {position:absolute; inset:0; background:radial-gradient(circle at 18% 22%, rgba(198, 240, 53, 0.1) 0%, transparent 28%), radial-gradient(circle at 82% 78%, rgba(89, 162, 73, 0.12) 0%, transparent 32%), repeating-linear-gradient( 118deg, rgba(255, 255, 255, 0.018) 0, rgba(255, 255, 255, 0.018) 1px, transparent 1px, transparent 52px );}
.locator__head, .locator__panel {position:relative; z-index:1;}
.locator__head {display:flex; flex-direction:column; align-items:center; gap:24px; max-width:none; text-align:center; padding-left:0; padding-right:0;}
.locator__title {font-family:var(--font-display); font-size:48px; font-weight:400; line-height:1.21em; letter-spacing:-0.02em; color:var(--color-white); font-synthesis:none;}
.locator__desc {font-family:var(--font-primary); font-size:20px; font-weight:500; line-height:1.5em; letter-spacing:-0.02em; color:rgba(255, 255, 255, 0.72);}
.locator__panel {display:flex; align-items:flex-start; justify-content:center; gap:24px; width:100%; padding-left:0; padding-right:0;}
.locator-search {flex-shrink:0; width:42%; min-width:0; height:720px; display:flex; flex-direction:column; padding:24px; background-color:var(--color-white); border:1px solid rgba(255, 255, 255, 0.08); border-radius:16px; box-shadow:0 24px 64px rgba(0, 0, 0, 0.42), 0 0 0 1px rgba(255, 255, 255, 0.06) inset;}
.locator-search__top {display:flex; flex-direction:column; gap:16px; padding-bottom:16px; border-bottom:1px solid var(--color-border);}
.locator-search__tabs {display:flex; height:64px;}
.locator-search__tab {flex:1; display:flex; align-items:center; justify-content:center; padding:14px 22px; background-color:#FAFAFA; border:1px solid var(--color-border); font-family:var(--font-primary); font-size:16px; font-weight:600; line-height:1.5em; letter-spacing:-0.02em; color:var(--color-body); cursor:pointer;}
.locator-search__tab:first-child {border-radius:8px 0 0 8px;}
.locator-search__tab:last-child {border-radius:0 8px 8px 0; margin-left:-1px;}
.locator-search__tab.is-active {background-color:var(--color-sub-green); border:none; color:var(--color-white);}
.locator-search__filters--keyword {display:block;}
.locator-search__filters--region {display:none; gap:10px;}
.locator-search.is-region .locator-search__filters--keyword {display:none;}
.locator-search.is-region .locator-search__filters--region {display:flex;}
.locator-search__box {display:flex; align-items:center; gap:8px; height:64px; padding:6px 24px; background-color:#FAFAFA; border:1px solid var(--color-border); border-radius:8px;}
.locator-search__box input {flex:1; min-width:0; font-size:var(--fs-body); font-weight:600; letter-spacing:-0.02em; color:var(--color-muted);}
.locator-search__box input:not(:placeholder-shown) {color:#242424;}
.locator-search__box input::placeholder {color:var(--color-muted);}
.locator-search__box img {width:24px; height:24px; flex-shrink:0;}
.locator-search__select {position:relative; flex:1; min-width:0; height:64px; background-color:#FAFAFA; border:1px solid var(--color-border); border-radius:8px; overflow:hidden;}
.locator-search__select:focus-within {border-color:var(--color-black);}
.locator-search__select select {width:100%; height:100%; padding:0 44px 0 24px; appearance:none; -webkit-appearance:none; -moz-appearance:none; background:transparent; border:none; font-size:var(--fs-body); font-weight:600; line-height:1.5em; letter-spacing:-0.03em; color:#8F8F8F; cursor:pointer;}
.locator-search__select.is-selected select {color:#242424;}
.locator-search__select select:focus {outline:none;}
.locator-search__select select::-ms-expand {display:none;}
.locator-search__select-arrow {position:absolute; right:24px; top:50%; transform:translateY(-50%); width:14px; height:14px; pointer-events:none;}
.locator-search__count {font-size:var(--fs-body); font-weight:600; letter-spacing:-0.02em; color:#242424;}
.locator-search__count strong {color:var(--color-sub-green);}
.locator-search__list-wrap {display:flex; gap:6px; align-items:stretch; margin-top:16px; flex:1; min-height:0;}
.locator-search__list {display:flex; flex-direction:column; gap:8px; flex:1; min-width:0; overflow-y:auto; scrollbar-width:none; -ms-overflow-style:none;}
.locator-search__list::-webkit-scrollbar {display:none;}
.locator-search__scrollbar {position:relative; flex-shrink:0; width:6px;}
.locator-search__scrollbar-thumb {position:absolute; top:0; left:0; width:6px; min-height:40px; background-color:#c3c3c3; border-radius:8px;}
.locator-search__item {flex-shrink:0; padding:16px; border:1px solid var(--color-border); border-radius:16px; cursor:pointer;}
.locator-search__item.is-active {border-color:var(--color-sub-green);}
.locator-search__name {font-family:var(--font-primary); font-size:18px; font-weight:600; line-height:1.63em; letter-spacing:-0.02em; color:var(--color-heading);}
.locator-search__addr {margin-top:12px; font-family:var(--font-primary); font-size:16px; font-weight:400; line-height:1.5em; letter-spacing:-0.02em; color:var(--color-body);}
.locator-search__phone {margin-top:4px; font-family:var(--font-primary); font-size:16px; font-weight:500; line-height:1.5em; letter-spacing:-0.02em; color:var(--color-muted);}
.locator-map {position:relative; flex:1; min-width:0; max-width:100%; height:720px; border:1px solid rgba(255, 255, 255, 0.08); border-radius:16px; overflow:hidden; box-shadow:0 24px 64px rgba(0, 0, 0, 0.42), 0 0 0 1px rgba(255, 255, 255, 0.06) inset;}
.locator-map__img {width:100%; height:100%; object-fit:cover; display:block;}
.locator-map__pin {position:absolute; width:5.8%; min-width:36px; height:auto; aspect-ratio:1; padding:0; background:none; border:none; cursor:pointer;}
.locator-map__pin img {display:block; width:100%; height:auto;}
.locator-map__pin--01 {left:8.35%; top:77.92%;}
.locator-map__pin--02 {left:76.8%; top:70.83%;}
.locator-map__popup {position:absolute; left:31.34%; top:23.47%; width:37.3%; min-width:220px; height:auto;}
.locator-map__popup-bg {position:absolute; top:0; left:0; z-index:0; display:block; width:100%; height:auto;}
.locator-map__popup-body {position:relative; z-index:1; display:flex; flex-direction:column; align-items:flex-start; height:auto; padding:clamp(14px, 1.6vw, 24px); box-sizing:border-box;}
.locator-map__popup-pin {position:absolute; left:50%; bottom:-4px; z-index:1; display:block; width:15.5%; min-width:36px; height:auto; transform:translateX(-50%);}
.locator-map__popup-name {margin-bottom:16px; font-family:var(--font-primary); font-size:20px; font-weight:600; line-height:1.5em; letter-spacing:-0.02em; color:var(--color-heading);}
.locator-map__popup-addr {margin-bottom:8px; font-family:var(--font-primary); font-size:16px; font-weight:400; line-height:1.63em; letter-spacing:-0.02em; color:var(--color-body);}
.locator-map__popup-row {display:flex; align-items:center; justify-content:space-between; width:100%;}
.locator-map__popup-phone {font-size:var(--fs-body); font-weight:500; line-height:1.625em; letter-spacing:-0.02em; color:var(--color-muted);}
.locator-map__popup-close {flex-shrink:0; font-size:14px; line-height:1.5em; letter-spacing:-0.02em; color:var(--color-body); background:none; border:none; cursor:pointer;}

/* Inquiry (가맹문의) — Figma #20026:3043 */
.inquiry2 {position:relative; display:block; padding:200px 0; overflow:hidden; background-color:var(--color-white);}
.inquiry2__bg {position:absolute; inset:0; z-index:0; background-color:var(--color-white); overflow:hidden;}
.inquiry2__bg::before {content:""; position:absolute; inset:0; background-image:url("/images/all/inquiry-bg-pattern.png"); background-repeat:repeat; background-position:top left; background-size:491.52px 491.52px; opacity:0.42; filter:hue-rotate(88deg) saturate(1.05); pointer-events:none;}
.inquiry2__bg::after {content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(255, 255, 255, 0.88) 0%, rgba(255, 255, 255, 0.88) 100%); pointer-events:none;}
.inquiry2__inner {position:relative; z-index:1; display:flex; align-items:flex-start; justify-content:space-between; gap:64px; width:100%; padding-left:0; padding-right:0;}
.inquiry2__info {display:flex; flex-direction:column; align-items:flex-start; gap:64px; flex-shrink:0;}
.inquiry2__icon {display:block; width:80px;}
.inquiry2__icon img {width:100%; height:auto;}
.inquiry2__info-text {display:flex; flex-direction:column; gap:24px; text-align:left;}
.inquiry2__title {font-family:var(--font-display); font-size:48px; font-weight:400; line-height:1.21em; letter-spacing:-0.02em; color:var(--color-heading); font-synthesis:none;}
.inquiry2__desc {font-family:var(--font-primary); font-size:20px; font-weight:500; line-height:1.5em; letter-spacing:-0.02em; color:var(--color-body);}
.inquiry2__phone {display:flex; align-items:center; gap:24px; padding:16px 32px; background-color:var(--color-white); border:1px solid var(--color-sub-green); border-radius:var(--button-radius);}
.inquiry2__phone-icon {display:flex; align-items:center; justify-content:center; width:56px; height:56px; flex-shrink:0; background-color:var(--color-sub-green); border-radius:50%;}
.inquiry2__phone-icon img {width:24px; height:24px;}
.inquiry2__phone-text {display:flex; flex-direction:column; gap:8px; text-align:left;}
.inquiry2__phone-label {font-family:var(--font-primary); font-size:16px; font-weight:600; line-height:1.5em; letter-spacing:-0.02em; color:var(--color-muted);}
.inquiry2__phone-number {font-family:var(--font-display); font-size:30px; font-weight:400; line-height:1.33em; letter-spacing:-0.02em; color:var(--color-sub-green); font-synthesis:none;}
.inquiry2__form {flex:1; min-width:0; max-width:960px; display:flex; flex-direction:column; align-items:stretch; gap:16px; padding:clamp(24px, 2vw, 32px); background-color:#F9F9F9; border:1px solid #ECECEC; border-radius:16px;}
.inquiry2__row {display:flex; gap:20px; width:100%;}
.inquiry2__field {flex:1; min-width:0; display:flex; flex-direction:column; gap:10px; width:100%;}
.inquiry2__label {font-family:var(--font-primary); font-size:16px; font-weight:700; line-height:1.5em; letter-spacing:-0.02em; color:var(--color-heading);}
.inquiry2__required {color:var(--color-sub-green);}
.inquiry2__field input, .inquiry2__field textarea, .inquiry2__captcha-row input {width:100%; min-height:48px; padding:12px 16px; background-color:var(--color-white); border:1px solid var(--color-border); border-radius:8px; font-size:15px; font-weight:500; line-height:1.45em; letter-spacing:-0.02em; color:var(--color-heading); font-family:var(--font-primary);}
.inquiry2__field input:focus, .inquiry2__field textarea:focus, .inquiry2__captcha-row input:focus {outline:none; border-color:var(--color-sub-green);}
.inquiry2__field input::placeholder, .inquiry2__field textarea::placeholder, .inquiry2__captcha-row input::placeholder {font-weight:400; color:var(--color-muted);}
.inquiry2__field textarea {min-height:120px; padding:12px 16px; resize:vertical; font-family:var(--font-primary);}
.inquiry2__captcha {display:flex; flex-direction:column; gap:10px; width:100%;}
.inquiry2__captcha-row {display:flex; gap:8px; width:100%;}
.inquiry2__captcha-row img { border-radius: 10px; cursor: pointer;}
.inquiry2__bottom {display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px 24px; width:100%; margin-top:4px;}
.inquiry2__agree {display:flex; align-items:center; flex-wrap:wrap; gap:8px; min-width:0; flex:1;}
.inquiry2__checkbox {width:20px; height:20px; flex-shrink:0; background-color:var(--color-white); border:1px solid var(--color-border); border-radius:4px;}
.inquiry2__agree-label {font-family:var(--font-primary); font-size:16px; font-weight:400; line-height:1.5em; letter-spacing:-0.02em; color:var(--color-heading); white-space:nowrap;}
.inquiry2__agree-more {padding:6px 10px; background-color:var(--color-white); border:1px solid var(--color-border); border-radius:6px; font-family:var(--font-primary); font-size:12px; font-weight:500; letter-spacing:-0.02em; color:var(--color-body); cursor:pointer;}
.inquiry2__submit {flex-shrink:0; width:min(240px, 40%); min-width:180px; padding:0 24px; height:52px; display:flex; align-items:center; justify-content:center; background-color:var(--color-sub-green); color:var(--color-white); border:none; border-radius:var(--button-radius); font-family:var(--font-primary); font-size:16px; font-weight:600; letter-spacing:-0.02em; cursor:pointer; transition:opacity 0.2s;}
.inquiry2__submit:hover {opacity:0.92;}

/* footer */
#footer {width:100%; padding:72px var(--footer-padding-x); background-color:var(--color-white); color:var(--color-heading); text-align:left; box-sizing:border-box;}
#footer .contain {display:flex; align-items:flex-start; justify-content:space-between; gap:48px; width:100%; max-width:none; padding-left:0; padding-right:0;}
#footer .contain::after {content:none;}
#footer .footer__left, #footer .footer__right {min-width:0;}
#footer .logo--footer .logo__text img {filter:none; opacity:1;}
.footer__left {display:flex; flex-direction:column; gap:48px;}
.footer__info {display:flex; flex-direction:column; gap:24px; font-family:var(--font-primary); font-size:15px; font-weight:400; letter-spacing:-0.3px;}
.footer__info-rows {display:flex; flex-direction:column; gap:4px;}
.footer__info-row {display:flex; flex-wrap:wrap; gap:32px; line-height:1.73em;}
.footer__info-item {display:flex; gap:8px; line-height:1.73em;}
.footer__info-item dt {font-weight:500; color:var(--color-heading);}
.footer__info-item dd {font-weight:400; color:var(--color-body);}
.footer__bottom {display:flex; flex-wrap:wrap; align-items:flex-end; gap:32px; color:var(--color-muted); line-height:1.53em;}
.footer__copy {font-family:var(--font-primary); font-size:15px; line-height:1.53em; color:var(--color-muted);}
.footer__legal {display:flex; gap:16px; line-height:1.53em;}
.footer__legal a {font-family:var(--font-primary); font-size:15px; color:var(--color-muted);}
.footer__right {display:flex; flex-direction:column; align-items:flex-end; justify-content:space-between; align-self:stretch; flex-shrink:0;}
.footer__right .btn--main {background-color:var(--color-sub-green); font-family:var(--font-primary); font-size:14px; font-weight:600;}
.contact-phone--footer .contact-phone__label {font-family:var(--font-primary); font-size:16px; font-weight:400; color:var(--color-sub-green);}
.contact-phone--footer .contact-phone__number {font-family:var(--font-display); font-size:48px; font-weight:400; line-height:1.21em; color:var(--color-sub-green); font-synthesis:none;}
/* --- site-refinements.css --- */
/* Opening process: reference-style pinned horizontal progression. */
.opening-step {opacity:1; transform:none;}
.opening-step__label {color:var(--color-heading);}
.opening-step.is-active .opening-step__icon {box-shadow:none; transform:none;}
.opening__track-active {background:var(--color-sub-green); transition:none;}
/* Blend the cooking story into marketing without a hard section edge. */
#cook {padding-bottom:clamp(88px, 9vw, 144px); background-image:linear-gradient(to bottom, transparent, #386a32); background-size:100% clamp(180px, 20vw, 300px); background-position:center bottom; background-repeat:no-repeat;}
#marketing {padding-top:clamp(64px, 7vw, 112px); background:linear-gradient(180deg, #386a32 0, #284b25 160px, #142510 340px, #0a1008 520px);}
#marketing .gallery-interior__bg {-webkit-mask-image:linear-gradient(to bottom, transparent, #000 360px); mask-image:linear-gradient(to bottom, transparent, #000 360px);}
#marketing .gallery-interior__bg-glow {background:radial-gradient(ellipse at 50% 85%, rgba(89, 162, 73, 0.13), transparent 65%);}
/* Inline costs share the banner width and follow the normal page flow. */
.startup-cost-details {width:100%; margin-top:clamp(32px, 4vw, 56px); position:relative; z-index:1;}
.startup-cost-details .startup-detail__dialog {width:100%; max-height:none; overflow:hidden; animation:none; box-shadow:0 16px 40px rgba(0, 0, 0, 0.16);}
.startup-cost-details [data-cost-panel][hidden] {display:none;}
.startup-model-tab.is-selected {outline:3px solid var(--color-hero-hook); outline-offset:5px;}
.startup-model-tab.is-active .startup-model-tab__cta, .startup-model-tab.is-selected .startup-model-tab__cta, .startup-model-tab__cta[aria-pressed="true"] {background:#163d20; color:#fff;}
.startup-model-tab.is-active .startup-model-tab__cta:hover, .startup-model-tab.is-selected .startup-model-tab__cta:hover, .startup-model-tab__cta[aria-pressed="true"]:hover {background:#0f2a16; color:#fff;}
.startup-model-tab__cta:focus-visible {outline:3px solid #163d20; outline-offset:4px;}
#startup .startup__cost-table, #store .locator__head, #store .locator__panel, #inquiry .inquiry2__inner {width:80%; max-width:none; margin-inline:auto; padding-left:0; padding-right:0;}

.locator__panel .find-store-wrap {width:100%; height:720px; border:none; border-radius:16px; overflow:hidden; box-shadow:0 24px 64px rgba(0, 0, 0, 0.42), 0 0 0 1px rgba(255, 255, 255, 0.06) inset;}
.find-store-wrap {position:relative; display:flex; height:720px; background-color:var(--color-white);}
.find-store-list {display:flex; flex-direction:column; position:relative; z-index:10; width:42%; min-width:240px; background:var(--color-white); border-right:1px solid var(--color-border); overflow:hidden;}
.find-store-list .search-wrap {padding:24px 24px 0; border-bottom:1px solid var(--color-border);}
.find-store-list .tab-area {margin-bottom:16px;}
.find-store-list .tab-area .tabs {display:flex; height:64px;}
.find-store-list .tab-area .tabs li {width:50%;}
.find-store-list .tab-area .tabs li a {display:flex; justify-content:center; align-items:center; width:100%; height:64px; padding:14px 22px; background-color:#FAFAFA; border:1px solid var(--color-border); font-family:var(--font-primary); font-size:16px; font-weight:600; line-height:1.5em; letter-spacing:-0.02em; color:var(--color-body); text-align:center;}
.find-store-list .tab-area .tabs li:first-child a {border-radius:8px 0 0 8px;}
.find-store-list .tab-area .tabs li:last-child a {border-radius:0 8px 8px 0; margin-left:-1px;}
.find-store-list .tab-area .tabs li.active a {background-color:var(--color-sub-green); border-color:var(--color-sub-green); color:var(--color-white);}
.find-store-list .search-area {position:relative; display:flex; gap:10px; margin:0 0 16px;}
.find-store-list .search-area .input {display:block; width:100%; height:64px; padding:6px 24px; color:#242424; font-family:var(--font-primary); font-size:16px; font-weight:600; letter-spacing:-0.02em; background-color:#FAFAFA; border:1px solid var(--color-border); border-radius:8px;}
.find-store-list .search-area .input[type=search] {padding-right:48px;}
.find-store-list .search-area .input::placeholder {font-weight:400; color:var(--color-muted);}
.find-store-list .search-area select.input {padding-right:24px; appearance:none; -webkit-appearance:none; color:#8F8F8F;}
.find-store-list .search-area .submit {position:absolute; top:50%; right:12px; transform:translateY(-50%); width:32px; height:32px; padding:0; border:0; background:none;}
.find-store-list .total {padding:0 0 16px; color:var(--color-heading); font-family:var(--font-primary); font-size:16px; font-weight:600; line-height:1.5em; letter-spacing:-0.02em;}
.find-store-list .total strong {color:var(--color-sub-green);}
.find-store-list .list-area {position:relative; overflow:auto; flex:1 1 auto; min-height:0; height:1%; padding:16px 24px 24px;}
.find-store-list .list-area::-webkit-scrollbar {width:6px; height:6px; border-radius:8px; background-color:transparent;}
.find-store-list .list-area::-webkit-scrollbar-thumb {background:#c3c3c3; border-radius:8px;}
.find-store-list .list-area ul {display:flex; flex-direction:column; gap:8px;}
.find-store-list .list-area ul li {display:grid; gap:4px 0; padding:16px; border:1px solid var(--color-border); border-radius:16px; font-family:var(--font-primary); font-size:16px; line-height:1.5em; letter-spacing:-0.02em; color:var(--color-body); cursor:pointer;}
.find-store-list .list-area ul li.active {border-color:var(--color-sub-green); background-color:#f8f8f8;}
.find-store-list .list-area .name {margin-bottom:8px; font-size:18px; font-weight:600; line-height:1.63em; letter-spacing:-0.02em; color:var(--color-heading);}
.find-store-list .list-area .name strong {font-weight:600;}
.find-store-list .list-area .addr {font-weight:400; color:var(--color-body);}
.find-store-list .list-area .tel {font-weight:500; color:var(--color-muted);}
.find-store-map {position:relative; overflow:hidden; flex:1; min-width:0; background-color:#ececec;}
.find-store-map #map {position:relative; width:100%; height:100%;}
.customoverlay {position:absolute; bottom:75px; left:0; z-index:20; width:300px; margin-left:-150px; padding:20px; background:var(--color-white); border:2px solid var(--color-sub-green); border-radius:16px; box-shadow:0 6px 36px rgba(0, 0, 0, 0.12); font-size:15px; line-height:1.33em; letter-spacing:-0.04em; color:var(--color-body); white-space:normal;}
.customoverlay .inner {position:relative; display:grid; gap:8px;}
.customoverlay .name {margin-bottom:4px; font-size:18px; font-weight:700; line-height:1.33em; letter-spacing:-0.04em; color:var(--color-heading);}
.customoverlay .tel {font-weight:500; color:var(--color-muted);}
.customoverlay .close {position:absolute; bottom:0; right:0; color:var(--color-body); font-weight:500; font-size:12px; line-height:1.5em; cursor:pointer;}
.btn-get-position {position:absolute; bottom:20px; right:20px; z-index:10; display:flex; align-items:center; justify-content:center; width:48px; height:48px; padding:0; background:var(--color-white); border:1px solid var(--color-border); border-radius:12px;}
.btn-view-map {display:none;}
.btn-view-list {display:none;}
