@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Serif+KR:wght@400;500;600;700&display=swap');

:root {
  color-scheme: light;
  --cream: #f6f3eb;
  --paper: #fbfaf6;
  --ink: #24352b;
  --green: #294436;
  --muted: #777c70;
  --line: rgba(36, 53, 43, .17);
  --citrus: #bd7846;
  --serif: 'Noto Serif KR', 'Batang', Georgia, serif;
  --sans: 'DM Sans', 'Apple SD Gothic Neo', 'Malgun Gothic', sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 90px; }
body { margin: 0; background: var(--cream); color: var(--ink); font-family: var(--sans); -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
img { display: block; max-width: 100%; }
em { font-style: normal; }
::selection { color: var(--paper); background: var(--green); }
.skip-link { position: fixed; z-index: 20; top: 12px; left: 12px; padding: 12px 16px; background: var(--green); color: white; transform: translateY(-160%); }
.skip-link:focus { transform: translateY(0); }

.site-header { height: 92px; padding: 0 7.1%; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); position: relative; z-index: 10; background: var(--cream); }
.brand { display: inline-flex; align-items: center; gap: 10px; }
.brand-mark { width: 39px; height: 39px; display: grid; place-items: center; color: var(--green); }
.brand-mark svg { width: 100%; height: 100%; }
.brand-copy { display: flex; flex-direction: column; gap: 3px; }
.brand-name { font-family: var(--serif); font-size: 21px; font-weight: 600; letter-spacing: -.06em; }
.brand-caption { font-size: 9px; letter-spacing: .2em; color: var(--muted); }
.primary-nav { display: flex; gap: clamp(24px, 4vw, 62px); margin-left: 5%; }
.primary-nav a, .header-cta { letter-spacing: .02em; transition: color .2s ease; }
.primary-nav a { color: #26352c; font-size: 17px; font-weight: 600; }
.header-cta { font-size: 13px; }
.primary-nav a:hover, .header-cta:hover { color: var(--citrus); }
.header-cta { border: 1px solid var(--line); padding: 6px 18px; }
.header-cta { display: flex; align-items: center; gap: 10px; white-space: nowrap; }
.header-delivery-courier { display: block; width: 78px; height: 78px; flex: 0 0 78px; object-fit: contain; transform: scale(1.08); }
.header-delivery-info { display: flex; flex-direction: column; align-items: center; gap: 2px; }
.header-delivery-service { max-width: 240px; color: var(--green); font-size: 14px; line-height: 1.25; font-weight: 600; letter-spacing: -.02em; white-space: nowrap; }
.header-delivery-info strong { color: var(--ink); font-size: 14px; font-weight: 600; letter-spacing: .03em; }
.header-cta .header-cta-arrow { color: var(--citrus); margin-left: 0; font-size: 12px; }
.menu-toggle { display: none; }

.hero { min-height: min(690px, calc(100svh - 92px)); display: grid; grid-template-columns: 47% 53%; padding: 0 7.1%; position: relative; overflow: hidden; }
.hero-copy { padding: clamp(90px, 12vw, 166px) 0 90px 5%; position: relative; z-index: 1; }
.eyebrow { margin: 0; color: var(--muted); font-family: var(--sans); font-size: 9px; letter-spacing: .21em; font-weight: 600; }
.eyebrow-dot { width: 6px; height: 6px; display: inline-block; vertical-align: 1px; border-radius: 50%; background: var(--citrus); margin-right: 10px; }
.hero h1, .story h2, .fruit-heading h2, .visit-copy h2 { font-family: var(--serif); font-weight: 400; letter-spacing: -.075em; }
.hero h1 { margin: 31px 0 20px; font-size: clamp(49px, 6vw, 82px); line-height: 1.34; }
.hero h1 em, .story h2 em, .fruit-heading h2 em, .visit-copy h2 em { color: var(--citrus); font-weight: 400; }
.hero-intro { margin: 0; font-family: var(--serif); font-size: clamp(14px, 1.5vw, 18px); letter-spacing: -.04em; }
.hero-note { color: var(--muted); margin: 15px 0 28px; font-size: 12px; line-height: 1.9; }
.text-link, .underlined-link { display: inline-flex; align-items: center; gap: 17px; font-size: 11px; letter-spacing: .02em; }
.text-link { border-bottom: 1px solid var(--ink); padding-bottom: 9px; }
.text-link span, .underlined-link span { color: var(--citrus); transition: transform .2s ease; }
.text-link:hover span, .underlined-link:hover span { transform: translateX(4px); }
.hero-index { position: absolute; left: 5%; bottom: 47px; display: flex; align-items: center; gap: 12px; color: var(--muted); font-size: 9px; letter-spacing: .17em; }
.hero-index i { width: 40px; height: 1px; background: var(--citrus); }
.hero-visual { align-self: stretch; margin: 48px 0 52px 0; position: relative; background: #e9e3d5; min-height: 470px; }
.hero-visual > img { width: 100%; height: 100%; min-height: 470px; object-fit: cover; }
.hero-stamp { position: absolute; right: -23px; top: 52px; width: 114px; height: 114px; border-radius: 50%; background: var(--green); color: var(--cream); display: flex; flex-direction: column; align-items: center; justify-content: center; outline: 1px solid rgba(246,243,235,.55); outline-offset: -6px; }
.stamp-top { font-size: 8px; letter-spacing: .12em; }
.stamp-bottom { font-family: var(--serif); font-size: 10px; letter-spacing: -.04em; }
.stamp-fruit { font-size: 23px; line-height: 1.3; color: #ddaa76; }
.image-caption { position: absolute; bottom: -29px; left: 0; margin: 0; color: var(--muted); font-size: 9px; letter-spacing: .03em; }
.image-caption span { color: var(--citrus); margin-right: 8px; }
.hero-side-label { position: absolute; right: 2.5%; top: 46%; writing-mode: vertical-rl; color: var(--muted); font-size: 8px; letter-spacing: .18em; }

.section-shell { padding-left: 11.8%; padding-right: 11.8%; }
.story { padding-top: 125px; padding-bottom: 132px; }
.section-kicker { display: flex; align-items: center; gap: 13px; color: var(--muted); font-size: 8px; letter-spacing: .18em; }
.section-kicker i { width: 35px; height: 1px; background: var(--citrus); }
.story-layout { display: grid; grid-template-columns: 1.1fr .9fr; align-items: end; column-gap: 8%; margin-top: 55px; }
.story h2, .fruit-heading h2, .visit-copy h2 { margin: 0; font-size: clamp(36px, 4vw, 54px); line-height: 1.52; }
.story-text { max-width: 370px; padding-bottom: 9px; }
.story-lead { font-family: var(--serif); font-size: 16px; letter-spacing: -.045em; margin: 0 0 12px; }
.story-text > p:not(.story-lead) { color: var(--muted); font-size: 12px; line-height: 2.05; margin: 0 0 23px; word-break: keep-all; }
.underlined-link { border-bottom: 1px solid var(--line); padding-bottom: 8px; }
.promise-list { margin-top: 73px; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.promise-card { min-height: 188px; padding: 21px 26px 22px 0; position: relative; }
.promise-card + .promise-card { border-left: 1px solid var(--line); padding-left: 30px; }
.promise-num { color: var(--citrus); font-size: 8px; letter-spacing: .15em; }
.promise-icon { position: absolute; right: 18px; top: 20px; color: var(--citrus); font-size: 19px; }
.promise-card h3 { margin: 31px 0 9px; font-family: var(--serif); font-size: 16px; letter-spacing: -.05em; font-weight: 500; }
.promise-card p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.8; }

.fruit-section { background: var(--paper); padding: 112px 0 112px; }
.fruit-heading { margin: 43px 0 56px; display: flex; justify-content: space-between; align-items: end; }
.fruit-heading .eyebrow { margin-bottom: 12px; }
.fruit-heading h2 { font-size: clamp(36px, 4vw, 52px); line-height: 1.4; }
.fruit-heading > p { margin: 0 2px 9px 0; color: var(--muted); font-size: 11px; line-height: 1.9; }
.fruit-gallery { display: grid; grid-template-columns: 1.18fr .88fr .88fr; gap: 22px; align-items: start; }
.fruit-card-offset { margin-top: 60px; }
.fruit-card-last { margin-top: 115px; }
.fruit-image-wrap { position: relative; overflow: hidden; background: #ece7dd; aspect-ratio: 4 / 4.7; }
.fruit-card-offset .fruit-image-wrap { aspect-ratio: 4 / 5.3; }
.fruit-card-last .fruit-image-wrap { aspect-ratio: 4 / 5.3; }
.fruit-image-wrap img { width: 100%; height: 100%; object-fit: cover; transition: transform .65s cubic-bezier(.2,.7,.2,1); }
.fruit-card:hover img { transform: scale(1.045); }
.fruit-number { position: absolute; right: 13px; bottom: 12px; color: var(--paper); text-shadow: 0 1px 8px rgba(0,0,0,.4); font-size: 9px; letter-spacing: .18em; }
.fruit-card-caption { display: flex; justify-content: space-between; align-items: center; padding-top: 13px; border-bottom: 1px solid var(--line); padding-bottom: 12px; }
.fruit-card-caption h3 { margin: 0; font-family: var(--serif); font-size: 17px; font-weight: 500; letter-spacing: -.05em; }
.fruit-card-caption span { color: var(--muted); font-size: 7px; letter-spacing: .13em; }
.fruit-footnote { margin: 28px 0 0; color: var(--muted); font-size: 9px; text-align: right; }

.visit-section { padding-top: 121px; padding-bottom: 124px; position: relative; overflow: hidden; }
.visit-ornament { position: absolute; right: 9%; top: 105px; font-size: 130px; line-height: 1; font-weight: 200; color: rgba(189,120,70,.1); }
.visit-layout { display: grid; grid-template-columns: 1fr .83fr; gap: 10%; align-items: center; margin-top: 49px; }
.visit-copy .eyebrow { margin-bottom: 20px; }
.visit-copy h2 { font-size: clamp(36px, 4.2vw, 56px); }
.visit-copy > p:not(.eyebrow) { color: var(--muted); font-size: 11px; line-height: 1.9; margin: 15px 0 24px; }
.visit-link { display: inline-flex; gap: 18px; align-items: center; border-bottom: 1px solid var(--ink); padding-bottom: 8px; font-size: 10px; }
.visit-link span { color: var(--citrus); }
.visit-card { padding: 28px 31px 25px; background: var(--green); color: var(--cream); }
.visit-card-head { display: flex; justify-content: space-between; padding-bottom: 22px; border-bottom: 1px solid rgba(246,243,235,.27); color: #d9d4c9; font-size: 8px; letter-spacing: .19em; }
.open-dot { width: 6px; height: 6px; border-radius: 50%; background: #d7a36c; }
.visit-detail { padding: 18px 0 15px; border-bottom: 1px solid rgba(246,243,235,.19); }
.detail-label { color: #d5b798; font-size: 7px; letter-spacing: .19em; }
.visit-detail p { margin: 8px 0 0; color: rgba(246,243,235,.88); font-family: var(--serif); font-size: 13px; letter-spacing: -.03em; }
.visit-contact-note { padding-top: 17px; color: rgba(246,243,235,.62); font-size: 9px; line-height: 1.8; }

.site-footer { min-height: 150px; padding: 24px 7.1%; display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 6%; border-top: 1px solid var(--line); }
.footer-brand .brand-mark { color: var(--green); }
.footer-brand { justify-self: start; }
.footer-details { width: min(740px, 100%); display: flex; flex-direction: column; align-items: flex-end; justify-self: end; text-align: right; }
.footer-address-phone { width: 100%; display: flex; align-items: center; justify-content: flex-end; gap: 16px; padding: 11px 0 12px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.footer-address { margin: 0; color: var(--ink); font-size: 13px; font-style: normal; line-height: 1.5; white-space: nowrap; }
.footer-phone { padding-left: 16px; border-left: 1px solid var(--line); color: var(--green); font-size: 14px; font-weight: 600; letter-spacing: .05em; white-space: nowrap; }
.footer-hours { display: flex; align-items: center; justify-content: flex-end; gap: 12px; margin: 12px 0 0; color: var(--muted); font-size: 11px; letter-spacing: .04em; }
.footer-hours span { padding-left: 12px; border-left: 1px solid var(--line); color: var(--green); font-weight: 600; }
.footer-since { width: 100%; margin: 12px 0 0; padding-top: 10px; border-top: 1px solid var(--line); color: var(--green); font-size: 11px; font-weight: 600; letter-spacing: .09em; text-align: right; }
.footer-since span { margin-left: 5px; color: var(--citrus); letter-spacing: .02em; }

@media (min-width: 1500px) {
  .hero { padding-left: max(7.1%, calc((100vw - 1360px) / 2)); padding-right: max(7.1%, calc((100vw - 1360px) / 2)); }
  .section-shell { padding-left: max(11.8%, calc((100vw - 1120px) / 2)); padding-right: max(11.8%, calc((100vw - 1120px) / 2)); }
}

@media (max-width: 900px) {
  .site-header { padding: 0 3%; }
  .primary-nav { gap: clamp(10px, 2vw, 18px); margin-left: 1%; }
  .header-cta { padding: 7px 7px; gap: 5px; }
  .header-delivery-courier { width: 56px; height: 56px; flex-basis: 56px; }
  .header-delivery-info { flex-direction: column; align-items: center; gap: 2px; }
  .header-delivery-service { max-width: none; font-size: 12px; line-height: 1.2; white-space: nowrap; }
  .header-delivery-info strong { align-self: center; font-size: 11px; }
  .header-cta .header-cta-arrow { font-size: 10px; }
  .hero { padding: 0 5%; grid-template-columns: 48% 52%; }
  .hero-copy { padding-left: 1%; }
  .hero-side-label { right: 1%; }
  .section-shell { padding-left: 8%; padding-right: 8%; }
  .story-layout { column-gap: 5%; }
  .visit-layout { gap: 6%; }
}

@media (min-width: 901px) and (max-width: 1200px) {
  .site-header { padding: 0 4%; }
  .primary-nav { gap: clamp(12px, 2vw, 20px); margin-left: 2%; }
  .header-cta { padding: 9px 10px; gap: 8px; }
  .header-delivery-courier { width: 64px; height: 64px; flex-basis: 64px; }
  .header-delivery-info { flex-direction: column; align-items: center; gap: 2px; }
  .header-delivery-service { font-size: 13px; }
  .header-delivery-info strong { align-self: center; font-size: 12px; }
  .header-cta .header-cta-arrow { font-size: 11px; }
}

@media (max-width: 640px) {
  html { scroll-padding-top: 75px; }
  .site-header { height: 72px; padding: 0 14px; }
  .brand-mark { width: 34px; height: 34px; }
  .brand-name { font-size: 19px; }
  .brand-caption { font-size: 8px; letter-spacing: .14em; white-space: nowrap; }
  .menu-toggle { width: 34px; height: 38px; padding: 10px 5px; border: 0; background: transparent; display: flex; flex-direction: column; justify-content: center; gap: 6px; margin-left: auto; margin-right: 8px; cursor: pointer; }
  .menu-toggle span { width: 23px; height: 1px; background: var(--ink); transition: transform .2s ease; }
  .menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(3.5px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-3.5px) rotate(-45deg); }
  .primary-nav { display: none; position: absolute; top: 71px; left: 0; right: 0; margin: 0; padding: 12px 23px 22px; background: var(--cream); border-bottom: 1px solid var(--line); flex-direction: column; gap: 0; }
  .primary-nav.is-open { display: flex; }
  .primary-nav a { padding: 15px 0; border-bottom: 1px solid var(--line); color: #26352c; font-size: 17px; font-weight: 600; }
  .primary-nav a:last-child { border-bottom: 0; }
  .header-cta { padding: 4px 3px; gap: 4px; font-size: 10px; white-space: nowrap; flex-shrink: 0; }
  .header-delivery-courier { width: 48px; height: 48px; flex-basis: 48px; }
  .header-delivery-info { flex-direction: column; align-items: center; gap: 2px; }
  .header-delivery-service { max-width: none; font-size: 12px; line-height: 1.25; white-space: nowrap; }
  .header-delivery-info strong { align-self: center; font-size: 11px; }
  .header-cta .header-cta-arrow { display: none; }
  .hero { min-height: auto; padding: 0 21px 40px; display: flex; flex-direction: column; }
  .hero-copy { padding: 65px 0 31px; }
  .eyebrow { font-size: 8px; }
  .hero h1 { margin: 24px 0 12px; font-size: clamp(48px, 13vw, 68px); line-height: 1.29; }
  .hero-intro { font-size: 16px; line-height: 1.6; word-break: keep-all; }
  .hero-note { font-size: 11px; margin: 11px 0 19px; }
  .desktop-break { display: none; }
  .text-link { font-size: 10px; }
  .hero-index, .hero-side-label { display: none; }
  .hero-visual { min-height: 0; margin: 0 9px 20px 0; height: min(72vw, 360px); }
  .hero-visual > img { min-height: 0; }
  .hero-stamp { width: 94px; height: 94px; right: -12px; top: 20px; }
  .stamp-top { font-size: 7px; }
  .stamp-bottom { font-size: 10px; }
  .stamp-fruit { font-size: 18px; }
  .image-caption { bottom: -19px; font-size: 8px; }
  .section-shell { padding-left: 22px; padding-right: 22px; }
  .story { padding-top: 81px; padding-bottom: 82px; }
  .story-layout { display: block; margin-top: 33px; }
  .story h2, .fruit-heading h2, .visit-copy h2 { font-size: 35px; }
  .story-text { margin-top: 21px; }
  .story-lead { font-size: 14px; }
  .story-text > p:not(.story-lead) { font-size: 11px; }
  .promise-list { margin-top: 40px; grid-template-columns: 1fr; }
  .promise-card, .promise-card + .promise-card { min-height: 0; padding: 18px 5px 18px 0; border-left: 0; border-top: 1px solid var(--line); }
  .promise-card:first-child { border-top: 0; }
  .promise-card h3 { margin: 10px 0 5px; font-size: 14px; }
  .promise-card p { font-size: 10px; }
  .promise-icon { top: 23px; right: 8px; }
  .fruit-section { padding: 80px 0 75px; }
  .fruit-heading { margin: 32px 0 31px; display: block; }
  .fruit-heading .eyebrow { margin-bottom: 8px; }
  .fruit-heading h2 { font-size: 35px; }
  .fruit-heading > p { margin-top: 10px; font-size: 10px; }
  .fruit-gallery { grid-template-columns: 1fr 1fr; gap: 24px 12px; }
  .fruit-card-main { grid-column: 1 / -1; }
  .fruit-card-main .fruit-image-wrap { aspect-ratio: 1.16 / 1; }
  .fruit-card-offset, .fruit-card-last { margin-top: 0; }
  .fruit-card-offset .fruit-image-wrap, .fruit-card-last .fruit-image-wrap { aspect-ratio: 4 / 4.8; }
  .fruit-card-caption { padding-top: 10px; padding-bottom: 9px; }
  .fruit-card-caption h3 { font-size: 14px; }
  .fruit-card-caption span { font-size: 6px; letter-spacing: .08em; }
  .fruit-footnote { margin-top: 18px; text-align: left; font-size: 8px; line-height: 1.7; }
  .visit-section { padding-top: 81px; padding-bottom: 81px; }
  .visit-ornament { font-size: 90px; top: 75px; right: 4%; }
  .visit-layout { display: flex; flex-direction: column; align-items: stretch; gap: 34px; margin-top: 35px; }
  .visit-copy .eyebrow { font-size: 7px; margin-bottom: 15px; }
  .visit-copy h2 { font-size: 36px; }
  .visit-copy > p:not(.eyebrow) { font-size: 10px; }
  .visit-card { padding: 23px 20px 21px; }
  .site-footer { min-height: 0; padding: 16px; display: grid; grid-template-columns: max-content minmax(0, 1fr); align-items: center; gap: 10px; }
  .footer-brand { justify-self: start; }
  .footer-brand .brand-mark { width: 30px; height: 30px; }
  .footer-brand .brand-name { font-size: 14px; }
  .footer-brand .brand-caption { font-size: 7px; }
  .footer-details { grid-column: 2; grid-row: 1; width: 100%; align-items: flex-end; text-align: right; }
  .footer-address-phone { justify-content: flex-end; gap: 5px; padding: 6px 0; }
  .footer-address { font-size: clamp(8px, 2.4vw, 9px); letter-spacing: -.04em; }
  .footer-phone { padding-left: 5px; font-size: clamp(9px, 2.6vw, 10px); letter-spacing: .01em; }
  .footer-hours { justify-content: flex-end; gap: 5px; margin-top: 6px; font-size: clamp(8px, 2.4vw, 9px); }
  .footer-hours span { padding-left: 5px; }
  .footer-since { margin-top: 6px; padding-top: 6px; font-size: clamp(8px, 2.4vw, 9px); letter-spacing: .04em; text-align: right; }
  .footer-since span { margin-left: 3px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}


/* 용도별 과일 선택과 즉시 배달 안내 */
.category-section { padding-top: 94px; padding-bottom: 108px; }
.category-heading { margin: 36px 0 36px; display: flex; justify-content: space-between; align-items: end; gap: 30px; }
.category-heading .eyebrow { margin-bottom: 11px; }
.category-heading h2 { margin: 0; font-family: var(--serif); font-size: clamp(34px, 4vw, 48px); line-height: 1.45; font-weight: 400; letter-spacing: -.075em; }
.category-heading h2 em { color: var(--citrus); font-weight: 400; }
.category-heading > p { margin: 0 0 8px; color: var(--muted); font-size: 10px; line-height: 1.9; }
.category-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.category-tile { min-height: 178px; padding: 20px 17px 20px 0; position: relative; transition: background .25s ease, padding .25s ease; }
.category-tile + .category-tile { border-left: 1px solid var(--line); padding-left: 19px; }
.category-tile:hover { background: rgba(255,255,255,.42); padding-top: 24px; }
.category-index { color: var(--muted); font-size: 7px; letter-spacing: .15em; }
.category-icon { position: absolute; top: 18px; right: 15px; color: var(--citrus); font-size: 17px; }
.category-tile h3 { margin: 32px 0 5px; font-family: var(--serif); font-size: 19px; font-weight: 500; letter-spacing: -.06em; }
.category-tile p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.7; }
.category-arrow { position: absolute; right: 15px; bottom: 17px; color: var(--citrus); font-size: 13px; transition: transform .2s ease; }
.category-tile:hover .category-arrow { transform: translate(2px,-2px); }
.delivery-band { min-height: 190px; padding: 32px 7.1%; display: flex; align-items: center; justify-content: center; gap: 0; background: #f1ede2; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); position: relative; overflow: hidden; }
.delivery-band::after { content: ''; position: absolute; width: 300px; height: 300px; right: 17%; top: -215px; border-radius: 50%; background: radial-gradient(circle, rgba(255,255,255,.65), rgba(255,255,255,0) 68%); pointer-events: none; }
.delivery-call { min-width: 197px; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 15px 16px; background: var(--green); color: var(--cream); font-size: 9px; }
.delivery-call strong { font-size: 12px; letter-spacing: .03em; }
.delivery-call span:last-child { color: #d7a36c; }

@media (max-width: 900px) {
  .category-section { padding-left: 8%; padding-right: 8%; }
  .category-tile { padding-right: 10px; }
  .category-tile + .category-tile { padding-left: 12px; }
  .delivery-band { padding-left: 8%; padding-right: 8%; }
}
@media (max-width: 640px) {
  .category-section { padding-top: 72px; padding-bottom: 77px; }
  .category-heading { margin: 28px 0 25px; display: block; }
  .category-heading h2 { font-size: 34px; }
  .category-heading > p { margin-top: 9px; font-size: 9px; }
  .category-grid { grid-template-columns: 1fr 1fr; }
  .category-tile { min-height: 142px; padding: 15px 10px 16px 0; }
  .category-tile + .category-tile { padding-left: 12px; }
  .category-tile:nth-child(3) { border-left: 0; padding-left: 0; border-top: 1px solid var(--line); }
  .category-tile:nth-child(4) { border-top: 1px solid var(--line); }
  .category-tile h3 { margin-top: 29px; font-size: 16px; }
  .category-tile p { max-width: 125px; font-size: 8px; }
  .category-index { font-size: 6px; }
  .category-icon { top: 15px; right: 10px; }
  .category-arrow { bottom: 13px; right: 10px; }
  .delivery-band { min-height: 0; padding: 24px 14px; gap: 0; flex-wrap: nowrap; }
}


/* 카테고리 선택 카드 — 맞춤 과일 사진 */
.category-tile { min-height: 304px; padding: 18px 16px 22px 0; }
.category-tile + .category-tile { padding-left: 16px; }
.category-tile:hover { padding-top: 18px; }
.category-tile-label { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 18px; margin-bottom: 12px; }
.category-tile-label .category-icon { position: static; font-size: 15px; line-height: 1; }
.category-image-wrap { display: block; width: 100%; aspect-ratio: 1.2 / 1; overflow: hidden; background: #eae4d7; }
.category-tile-image { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .55s cubic-bezier(.2,.7,.2,1); }
.category-tile:hover .category-tile-image { transform: scale(1.045); }
.category-tile h3 { margin: 13px 0 5px; font-size: 22px; }
.category-tile p { max-width: 190px; padding-right: 13px; font-size: 10px; line-height: 1.65; }
.category-tile p .category-copy-line { display: inline-block; white-space: nowrap; }
.category-arrow { right: 14px; bottom: 18px; }
.delivery-call strong { white-space: nowrap; }
.hero h1 { font-size: clamp(54px, 6.4vw, 88px); }
.category-heading h2 { font-size: clamp(40px, 4.5vw, 56px); }
  .category-tile h3 { color: #26352c; font-size: 26px; font-weight: 600; }
.category-heading > p { font-size: 13px; }
.category-tile p { font-size: 12px; }
@media (max-width: 900px) {
  .category-tile { min-height: 286px; padding-right: 11px; }
  .category-tile + .category-tile { padding-left: 12px; }
}
@media (max-width: 640px) {
  .hero h1 { font-size: clamp(51px, 14vw, 70px); }
  .category-heading h2 { font-size: 39px; }
  .category-heading > p { font-size: 12px; }
  .category-tile h3 { font-size: 23px; }
  .category-tile p { font-size: 10px; }
  .category-tile p .category-copy-line { font-size: clamp(8px, 2.5vw, 10px); }
  .delivery-copy h2 { font-size: 19px; }
  .delivery-copy > p:last-child { font-size: 10px; }
  .delivery-call { gap: 5px; flex-wrap: wrap; }
  .delivery-call strong { font-size: 13px; }
  .header-cta { font-size: 10px; padding: 8px 5px; }
  .header-cta .header-cta-arrow { margin-left: 0; }
  .category-tile { min-height: 0; padding: 14px 9px 20px 0; }
  .category-tile + .category-tile { padding-left: 11px; }
  .category-tile:hover { padding-top: 14px; }
  .category-tile:nth-child(3) { padding-left: 0; }
  .category-tile-label { min-height: 16px; margin-bottom: 9px; }
  .category-tile-label .category-icon { font-size: 13px; }
  .category-image-wrap { aspect-ratio: 1.12 / 1; }
  .category-tile h3 { margin-top: 10px; font-size: 23px; }
  .category-tile p { max-width: 145px; padding-right: 8px; font-size: 10px; line-height: 1.6; }
  .category-tile p .category-copy-line { font-size: clamp(8px, 2.5vw, 10px); letter-spacing: -.06em; }
  .category-arrow { right: 9px; bottom: 13px; }
}


/* 강조 문구는 색상으로 구분하고, 기울임꼴은 사용하지 않는다. */
em, i { font-style: normal; }

#hero-title { font-size: clamp(42px, 5vw, 62px); }

@media (max-width: 640px) {
  #hero-title { font-size: clamp(38px, 12vw, 54px); }
  .delivery-call { flex-wrap: nowrap; margin-left: 0; }
}

@media (max-width: 360px) {
  .site-header { padding: 0 12px; }
  .brand { gap: 7px; }
  .brand-mark { width: 28px; height: 28px; }
  .brand-name { font-size: 16px; }
  .brand-caption { display: none; }
  .menu-toggle { width: 28px; margin-left: 0; margin-right: 4px; padding: 8px 3px; }
  .menu-toggle span { width: 20px; }
  .header-cta { padding: 4px 3px; gap: 4px; font-size: 9px; }
  .header-delivery-courier { width: 40px; height: 40px; flex-basis: 40px; }
  .header-delivery-service { max-width: none; font-size: 11px; line-height: 1.15; white-space: nowrap; }
  .header-delivery-info strong { align-self: center; font-size: 10px; }
  .header-cta .header-cta-arrow { display: none; }
}

/* 노안에도 읽기 편하도록 보조·안내 글씨를 한 단계 키운다. */
.eyebrow { font-size: 10px; }
.section-kicker { font-size: 10px; }
.image-caption { font-size: 10px; }
.category-index { font-size: 9px; }
.footer-hours, .footer-since { font-size: 12px; }
@media (max-width: 640px) {
  .eyebrow { font-size: 9px; }
  .section-kicker { font-size: 9px; }
  .image-caption { font-size: 9px; }
  .category-index { font-size: 8px; }
  .category-tile p { font-size: 10px; }
  .category-tile p .category-copy-line { font-size: clamp(9px, 2.5vw, 10px); }
  .footer-brand .brand-name { font-size: 15px; }
  .footer-brand .brand-caption { font-size: 8px; }
  .footer-address { font-size: clamp(9px, 2.6vw, 10px); letter-spacing: -.04em; }
  .footer-phone { font-size: clamp(10px, 2.8vw, 11px); letter-spacing: 0; }
  .footer-hours, .footer-since { font-size: clamp(9px, 2.8vw, 10px); }
}

.footer-hours-text { white-space: nowrap; }
@media (max-width: 360px) {
  .footer-hours { gap: 3px; font-size: 8.5px; letter-spacing: -.04em; }
  .footer-hours span { padding-left: 3px; white-space: nowrap; }
}

/* 전국 택배·인근 배달 안내와 작은 배달 일러스트 */
.delivery-band .delivery-action { width: min(620px, 100%); display: flex; flex: 0 1 620px; align-items: center; justify-content: center; gap: clamp(20px, 4vw, 48px); position: relative; z-index: 1; }
.delivery-band .delivery-call { width: auto; min-width: 0; max-width: 420px; flex: 1 1 420px; padding: 22px 24px; }
.delivery-action { display: flex; flex: 0 0 auto; align-items: center; gap: 12px; }
.delivery-courier { display: block; width: 150px; max-height: 128px; flex: 0 0 150px; object-fit: contain; }
.delivery-call { min-width: 250px; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 8px 12px; }
.delivery-service-text { grid-column: 1 / -1; color: var(--cream); font-size: 13px; font-weight: 600; line-height: 1.45; letter-spacing: -.025em; white-space: nowrap; }
.delivery-call strong { grid-column: 1; font-size: 15px; white-space: nowrap; }
.delivery-call > span[aria-hidden="true"] { grid-column: 2; grid-row: 2; }
.category-call { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 8px 12px; }
.category-call .delivery-service-text { color: #f5d5b5; }
.category-call strong { grid-column: 1; font-size: 15px; white-space: nowrap; }
.category-call > span[aria-hidden="true"] { grid-column: 2; grid-row: 2; }
@media (max-width: 640px) {
  .delivery-action { width: 100%; gap: 8px; }
  .delivery-courier { width: 98px; max-height: 104px; flex-basis: 98px; }
  .delivery-call { width: auto; min-width: 0; flex: 1; margin-left: 0; padding: 11px 10px; }
  .delivery-band .delivery-action { width: 100%; flex: 1 1 auto; gap: 8px; }
  .delivery-band .delivery-courier { width: 98px; max-height: 104px; flex: 0 0 98px; }
  .delivery-band .delivery-call { width: auto; min-width: 0; max-width: none; flex: 1 1 0; margin-left: 0; padding: 14px 11px; }
  .delivery-service-text { font-size: 11px; white-space: normal; }
  .delivery-call strong, .category-call strong { font-size: 13px; }
  .category-call .delivery-service-text { font-size: 11px; white-space: normal; }
}


/* 매장 정보와 배달 문의를 하나로 묶은 아이보리 푸터 */
.site-footer {
  min-height: 200px;
  padding: 26px 7.1%;
  display: grid;
  grid-template-columns: max-content minmax(360px, 1fr) minmax(360px, 390px);
  align-items: center;
  gap: 22px;
  border-top: 1px solid var(--line);
  background: #f1ede2;
}
.site-footer .footer-brand { grid-column: 1; grid-row: 1; }
.site-footer .footer-details {
  grid-column: 2;
  grid-row: 1;
  width: 100%;
  max-width: 740px;
  align-items: flex-end;
  justify-self: stretch;
}
.footer-delivery {
  grid-column: 3;
  grid-row: 1;
  width: 100%;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}
.footer-delivery .delivery-courier {
  width: 150px;
  max-height: 128px;
  flex: 0 0 150px;
}
.footer-delivery .delivery-call {
  width: auto;
  min-width: 0;
  max-width: none;
  flex: 1 1 0;
  margin: 0;
  padding: 16px 14px;
}

@media (max-width: 1100px) {
  .site-footer {
    min-height: 0;
    padding: 24px 5%;
    grid-template-columns: max-content minmax(0, 1fr);
    gap: 18px 24px;
  }
  .site-footer .footer-brand { grid-column: 1; grid-row: 1; }
  .site-footer .footer-details {
    grid-column: 2;
    grid-row: 1;
    max-width: none;
  }
  .footer-delivery {
    grid-column: 1 / -1;
    grid-row: 2;
    width: min(620px, 100%);
    justify-self: center;
    margin-top: 6px;
    padding-top: 16px;
    border-top: 1px solid var(--line);
  }
}

@media (max-width: 640px) {
  .site-footer {
    min-height: 0;
    padding: 18px 16px;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
  }
  .site-footer .footer-brand { grid-column: 1; grid-row: 1; }
  .site-footer .footer-details {
    grid-column: 1;
    grid-row: 2;
    width: 100%;
    align-items: stretch;
    text-align: right;
  }
  .site-footer .footer-address-phone { justify-content: space-between; gap: 8px; padding: 8px 0; }
  .site-footer .footer-address { font-size: clamp(8.5px, 2.6vw, 10px); }
  .site-footer .footer-phone { padding-left: 8px; font-size: clamp(10px, 3vw, 12px); }
  .site-footer .footer-hours { justify-content: flex-end; margin-top: 8px; font-size: clamp(9px, 2.6vw, 10px); }
  .site-footer .footer-since { margin-top: 8px; padding-top: 8px; font-size: 9px; }
  .footer-delivery {
    grid-column: 1;
    grid-row: 3;
    width: 100%;
    justify-self: stretch;
    justify-content: center;
    gap: 8px;
    margin-top: 4px;
    padding-top: 14px;
  }
  .footer-delivery .delivery-courier { width: 98px; max-height: 104px; flex-basis: 98px; }
  .footer-delivery .delivery-call { width: auto; min-width: 0; max-width: 360px; flex: 1 1 0; padding: 14px 11px; }
}


/* 메인 푸터: 주소·운영시간 / 배달 문의 / 전통 연혁의 세 줄 구성 */
.site-footer {
  min-height: 0;
  padding: 24px 7.1%;
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  grid-template-rows: auto auto auto;
  align-items: center;
  gap: 12px 5%;
  background: #f1ede2;
}
.site-footer .footer-brand { grid-column: 1; grid-row: 1 / 4; align-self: center; }
.footer-topline {
  grid-column: 2;
  grid-row: 1;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 0 0 10px;
  border-bottom: 1px solid var(--line);
}
.footer-topline .footer-address { font-size: 13px; }
.footer-topline .footer-hours { margin: 0; gap: 9px; font-size: 11px; white-space: nowrap; }
.footer-topline .footer-hours span { padding-left: 9px; }
.site-footer .footer-delivery {
  grid-column: 2;
  grid-row: 2;
  width: min(520px, 100%);
  justify-self: center;
  margin: 0;
  padding: 2px 0;
  border: 0;
}
.site-footer .footer-delivery .delivery-courier { width: 140px; max-height: 115px; flex-basis: 140px; }
.site-footer .footer-delivery .delivery-call { min-width: 260px; }
.site-footer .footer-since {
  grid-column: 2;
  grid-row: 3;
  width: 100%;
  margin: 0;
  padding: 9px 0 0;
  border-top: 1px solid var(--line);
  text-align: right;
  font-size: 12px;
}
.site-footer .footer-since span { display: inline-block; margin-left: 8px; font-size: clamp(18px, 2vw, 22px); font-weight: 700; letter-spacing: -.04em; }
@media (max-width: 1100px) {
  .site-footer { grid-template-columns: max-content minmax(0, 1fr); gap: 12px 20px; }
  .site-footer .footer-brand { grid-column: 1; grid-row: 1 / 4; }
  .footer-topline { grid-column: 2; grid-row: 1; gap: 8px; }
  .site-footer .footer-delivery { grid-column: 1 / -1; grid-row: 2; width: min(560px, 100%); }
  .site-footer .footer-since { grid-column: 1 / -1; grid-row: 3; text-align: center; }
}
@media (max-width: 640px) {
  .site-footer { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto auto auto auto; gap: 10px; padding: 18px 16px; }
  .site-footer .footer-brand { grid-column: 1; grid-row: 1; }
  .footer-topline { grid-column: 1; grid-row: 2; min-width: 0; gap: 4px; padding-bottom: 8px; }
  .footer-topline .footer-address { font-size: clamp(8px, 2.5vw, 10px); letter-spacing: -.055em; }
  .footer-topline .footer-hours { gap: 3px; font-size: clamp(7.5px, 2.25vw, 9px); letter-spacing: -.055em; }
  .footer-topline .footer-hours span { padding-left: 3px; }
  .site-footer .footer-delivery { grid-column: 1; grid-row: 3; width: 100%; gap: 8px; padding: 0; }
  .site-footer .footer-delivery .delivery-courier { width: 98px; max-height: 104px; flex-basis: 98px; }
  .site-footer .footer-delivery .delivery-call { width: auto; min-width: 0; max-width: 360px; flex: 1 1 0; padding: 14px 11px; }
  .site-footer .footer-since { grid-column: 1; grid-row: 4; text-align: center; padding-top: 8px; font-size: 11px; }
  .site-footer .footer-since span { font-size: clamp(18px, 5vw, 22px); }
}


/* 카테고리 상세 화면은 여유 높이를 본문에 배분해 매장 정보를 하단에 둔다 */
body.category-body { min-height: 100vh; min-height: 100svh; display: flex; flex-direction: column; }
body.category-body .category-page { flex: 1 0 auto; padding-bottom: 12px; }
body.category-body .site-footer { flex-shrink: 0; }

/* 메인페이지 밖(카테고리 상세)의 기존 푸터 레이아웃은 그대로 유지 */
.category-page ~ .site-footer {
  height: 160px;
  min-height: 160px;
  box-sizing: border-box;
  padding: 14px 7.1%;
  grid-template-columns: max-content minmax(0, 1fr);
  grid-template-rows: auto;
  gap: 16px;
  background: #f1ede2;
}
.category-page ~ .site-footer .footer-brand { grid-column: 1; grid-row: 1; align-self: center; }
.category-page ~ .site-footer .footer-brand .brand-mark { width: 52px; height: 52px; }
.category-page ~ .site-footer .footer-brand .brand-name { font-size: 24px; }
.category-page ~ .site-footer .footer-brand .brand-caption { font-size: 10px; }
.category-page ~ .site-footer .footer-details { grid-column: 2; grid-row: 1; width: 100%; max-width: none; align-items: flex-end; justify-self: stretch; }
.category-page ~ .site-footer .footer-address-phone { width: max-content; max-width: 100%; margin-left: auto; border-top: 0; padding: 0 0 4px; align-items: flex-end; transform: translateY(6px); }
.category-page ~ .site-footer .footer-address { font-size: 15px; }
.category-page ~ .site-footer .footer-phone-courier { width: 82px; height: 82px; flex-basis: 82px; }
.category-page ~ .site-footer .footer-phone-action { gap: 8px; }
.category-page ~ .site-footer .footer-phone-action .footer-phone { padding: 8px 12px; gap: 4px; }
.category-page ~ .site-footer .footer-phone-service { font-size: 12px; }
.category-page ~ .site-footer .footer-phone-action .footer-phone strong { font-size: 19px; }
.category-page ~ .site-footer .footer-hours { margin-top: 8px; font-size: 13px; }
.category-page ~ .site-footer .footer-since { width: 100%; margin: 8px 0 0; padding: 6px 0 0; border-top: 1px solid var(--line); font-size: 13px; text-align: right; }
.category-page ~ .site-footer .footer-since span { display: inline; margin-left: 5px; font-size: inherit; font-weight: inherit; letter-spacing: .02em; }
@media (max-width: 1100px) {
  .category-page ~ .site-footer { height: 160px; min-height: 160px; padding: 14px 5%; grid-template-columns: max-content minmax(0, 1fr); gap: 14px 20px; }
  .category-page ~ .site-footer .footer-brand { grid-column: 1; grid-row: 1; }
  .category-page ~ .site-footer .footer-details { grid-column: 2; grid-row: 1; max-width: none; }
}
@media (max-width: 640px) {
  .category-page ~ .site-footer { height: 144px; min-height: 144px; padding: 8px 16px; grid-template-columns: minmax(0, 1fr); grid-template-rows: auto auto; gap: 5px; }
  .category-page ~ .site-footer .footer-brand { grid-column: 1; grid-row: 1; }
  .category-page ~ .site-footer .footer-brand .brand-mark { width: 34px; height: 34px; }
  .category-page ~ .site-footer .footer-brand .brand-name { font-size: 17px; }
  .category-page ~ .site-footer .footer-brand .brand-caption { font-size: 8px; }
  .category-page ~ .site-footer .footer-details { grid-column: 1; grid-row: 2; width: 100%; align-items: stretch; text-align: right; }
  .category-page ~ .site-footer .footer-address-phone { justify-content: flex-end; flex-wrap: wrap; gap: 8px; padding: 0 0 4px; }
  .category-page ~ .site-footer .footer-address { font-size: clamp(10px, 3vw, 12px); }
  .category-page ~ .site-footer .footer-phone { padding-left: 8px; font-size: clamp(11px, 3.2vw, 13px); }
  .category-page ~ .site-footer .footer-phone-courier { width: 58px; height: 58px; flex-basis: 58px; }
  .category-page ~ .site-footer .footer-phone-action { gap: 6px; }
  .category-page ~ .site-footer .footer-phone-action .footer-phone { padding: 7px 9px; gap: 3px; }
  .category-page ~ .site-footer .footer-phone-service { font-size: clamp(9px, 2.8vw, 10px); }
  .category-page ~ .site-footer .footer-phone-action .footer-phone strong { font-size: clamp(13px, 3.8vw, 15px); }
  .category-page ~ .site-footer .footer-hours { justify-content: flex-end; margin-top: 4px; font-size: clamp(10px, 3vw, 12px); }
  .category-page ~ .site-footer .footer-since { margin-top: 4px; padding-top: 4px; font-size: 10px; }
}

@media (max-width: 640px) {
  .home-footer { padding-right: 10px; padding-left: 10px; }
  .home-footer .footer-topline .footer-address { font-size: clamp(8.5px, 2.65vw, 10px); letter-spacing: -.06em; }
  .home-footer .footer-topline .footer-hours { font-size: clamp(7.8px, 2.4vw, 9px); letter-spacing: -.06em; }
}


/* 푸터의 정보 세 줄은 오른쪽 끝에 나란히 정렬하고 문의 박스는 내용 크기에 맞춤 */
.home-footer .footer-topline { justify-content: flex-end; text-align: right; }
.home-footer .footer-topline .footer-hours { justify-content: flex-end; }
.home-footer .footer-delivery { width: 100%; justify-self: end; justify-content: flex-end; gap: 14px; }
.home-footer .footer-delivery .delivery-call {
  width: max-content;
  min-width: 0;
  max-width: 100%;
  flex: 0 1 auto;
  padding: 16px 18px;
}
.home-footer .footer-delivery .delivery-service-text { font-size: 15px; }
.home-footer .footer-delivery .delivery-call strong { font-size: 17px; }
.home-footer .footer-since { text-align: right; }
@media (max-width: 1100px) {
  .home-footer .footer-delivery { justify-self: end; width: 100%; }
  .home-footer .footer-since { text-align: right; }
}
@media (max-width: 640px) {
  .home-footer .footer-topline { justify-content: flex-end; }
  .home-footer .footer-delivery { justify-content: flex-end; gap: 8px; }
  .home-footer .footer-delivery .delivery-call { width: max-content; max-width: calc(100vw - 144px); padding: 12px 10px; }
  .home-footer .footer-delivery .delivery-service-text { font-size: 13px; }
  .home-footer .footer-delivery .delivery-call strong { font-size: 15px; }
  .home-footer .footer-since { text-align: right; }
}




/* 전화 문의 공통 표현: 배달원 그림은 박스 바깥, 안내와 번호는 초록 박스 안 */
.header-cta { padding: 0; border: 0; gap: 8px; background: transparent; color: var(--cream); }
.header-cta:hover { color: var(--cream); }
.header-delivery-courier { width: 76px; height: 76px; flex: 0 0 76px; transform: none; }
.header-delivery-panel { position: relative; display: flex; align-items: center; padding: 12px 34px 12px 16px; background: var(--green); color: var(--cream); }
.header-delivery-info { align-items: flex-end; gap: 4px; text-align: right; }
.header-delivery-service { color: #f5d5b5; font-size: 16px; font-weight: 700; letter-spacing: -.025em; text-align: right; }
.header-delivery-info strong { align-self: auto; color: var(--cream); font-size: 17px; font-weight: 700; letter-spacing: .04em; text-align: right; }
.header-cta .header-cta-arrow { position: absolute; right: 11px; bottom: 11px; margin: 0; color: #d7a36c; font-size: 13px; }
.home-footer .footer-brand .brand-mark { width: 56px; height: 56px; }
.home-footer .footer-brand .brand-name { font-size: 27px; }
.home-footer .footer-brand .brand-caption { font-size: 10px; }
.home-footer .footer-topline .footer-address { font-size: 15px; }
.home-footer .footer-topline .footer-hours { font-size: 13px; }
.home-footer .footer-delivery .delivery-call {
  position: relative;
  grid-template-columns: minmax(0, 1fr);
  width: max-content;
  min-width: 0;
  padding: 16px 42px 16px 18px;
  text-align: right;
}
.home-footer .footer-delivery .delivery-service-text { grid-column: 1; font-size: 17px; text-align: right; }
.home-footer .footer-delivery .delivery-call strong { grid-column: 1; justify-self: stretch; font-size: 18px; text-align: right; }
.home-footer .footer-delivery .delivery-call > span[aria-hidden="true"] { position: absolute; right: 12px; bottom: 14px; grid-column: auto; grid-row: auto; }
.home-footer .footer-since { font-size: 14px; }
.home-footer .footer-since span { font-size: clamp(20px, 2.2vw, 24px); }

.phone-delivery-action { width: 100%; display: flex; align-items: center; gap: 12px; }
.category-phone-action { max-width: 430px; margin-top: 24px; }
.category-phone-action .delivery-courier { width: 118px; height: 100px; max-height: 100px; flex: 0 0 118px; }
.category-detail-copy .category-call {
  position: relative;
  width: max-content;
  max-width: 100%;
  min-width: 0;
  flex: 1 1 auto;
  margin: 0;
  padding: 14px 42px 14px 16px;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 7px;
  text-align: right;
}
.category-detail-copy .category-call .delivery-service-text { grid-column: 1; color: #f5d5b5; font-size: 16px; text-align: right; }
.category-detail-copy .category-call strong { grid-column: 1; justify-self: stretch; color: var(--cream); font-size: 18px; text-align: right; }
.category-detail-copy .category-call > span[aria-hidden="true"] { position: absolute; right: 12px; bottom: 14px; grid-column: auto; grid-row: auto; }
.category-bottom-call > p { display: none; }
.category-bottom-action { width: min(500px, 100%); margin: 0 auto; justify-content: center; }
.category-bottom-action .delivery-courier { width: 120px; height: 100px; max-height: 100px; flex: 0 0 120px; }
.category-bottom-action .delivery-call { position: relative; grid-template-columns: minmax(0, 1fr); width: max-content; min-width: 0; max-width: 100%; flex: 1 1 auto; padding: 15px 42px 15px 16px; text-align: right; }
.category-bottom-action .delivery-service-text { grid-column: 1; font-size: 16px; text-align: right; }
.category-bottom-action .delivery-call strong { grid-column: 1; justify-self: stretch; font-size: 18px; text-align: right; }
.category-bottom-action .delivery-call > span[aria-hidden="true"] { position: absolute; right: 12px; bottom: 14px; grid-column: auto; grid-row: auto; }
.footer-phone-action { display: flex; align-items: center; gap: 6px; }
.footer-phone-courier { width: 48px; height: 48px; flex: 0 0 48px; object-fit: contain; }
.footer-phone-action .footer-phone { min-height: 0; padding: 8px 11px; border: 0; display: flex; flex-direction: column; align-items: flex-end; gap: 4px; background: var(--green); color: var(--cream); text-align: right; }
.footer-phone-service { color: #f5d5b5; font-size: 10px; font-weight: 700; white-space: nowrap; }
.footer-phone-action .footer-phone strong { color: var(--cream); font-size: 15px; letter-spacing: .04em; }

@media (max-width: 1100px) {
  .header-delivery-courier { width: 58px; height: 58px; flex-basis: 58px; }
  .header-delivery-panel { padding: 9px 30px 9px 12px; }
  .header-delivery-service { font-size: 13px; }
  .header-delivery-info strong { font-size: 14px; }
  .home-footer .footer-brand .brand-mark { width: 52px; height: 52px; }
  .home-footer .footer-brand .brand-name { font-size: 25px; }
}
@media (max-width: 640px) {
  .header-cta { padding: 0; gap: 4px; }
  .header-delivery-courier { width: 45px; height: 45px; flex-basis: 45px; }
  .header-delivery-panel { padding: 7px 8px; }
  .header-delivery-info { align-items: flex-end; gap: 2px; }
  .header-delivery-service { font-size: 10px; line-height: 1.2; }
  .header-delivery-info strong { font-size: 11px; }
  .header-cta .header-cta-arrow { display: none; }
  .home-footer .footer-brand .brand-mark { width: 46px; height: 46px; }
  .home-footer .footer-brand .brand-name { font-size: 21px; }
  .home-footer .footer-brand .brand-caption { font-size: 9px; }
  .home-footer .footer-topline .footer-address { font-size: clamp(9px, 2.8vw, 10.5px); }
  .home-footer .footer-topline .footer-hours { font-size: clamp(8px, 2.5vw, 9.5px); }
  .home-footer .footer-delivery .delivery-service-text { font-size: 14px; }
  .home-footer .footer-delivery .delivery-call strong { font-size: 16px; }
  .category-phone-action { gap: 7px; margin-top: 20px; }
  .category-phone-action .delivery-courier { width: 74px; height: 68px; max-height: 68px; flex-basis: 74px; }
  .category-detail-copy .category-call { padding: 11px 35px 11px 10px; gap: 5px; }
  .category-detail-copy .category-call .delivery-service-text { font-size: 12px; }
  .category-detail-copy .category-call strong { font-size: 14px; }
  .category-detail-copy .category-call > span[aria-hidden="true"] { right: 9px; bottom: 11px; }
  .category-bottom-action { gap: 7px; }
  .category-bottom-action .delivery-courier { width: 72px; height: 65px; max-height: 65px; flex-basis: 72px; }
  .category-bottom-action .delivery-call { padding: 11px 35px 11px 10px; }
  .category-bottom-action .delivery-service-text { font-size: 12px; white-space: normal; }
  .category-bottom-action .delivery-call strong { font-size: 14px; }
  .category-bottom-action .delivery-call > span[aria-hidden="true"] { right: 9px; bottom: 11px; }
  .footer-phone-courier { width: 35px; height: 35px; flex-basis: 35px; }
  .footer-phone-action .footer-phone { padding: 6px 8px; gap: 2px; }
  .footer-phone-service { font-size: 8px; }
  .footer-phone-action .footer-phone strong { font-size: 11px; }
}
@media (max-width: 360px) {
  .header-delivery-courier { width: 39px; height: 39px; flex-basis: 39px; }
  .header-delivery-panel { padding: 5px 6px; }
  .header-delivery-service { font-size: 8.5px; }
  .header-delivery-info strong { font-size: 10px; }
  .home-footer .footer-brand .brand-mark { width: 42px; height: 42px; }
  .home-footer .footer-brand .brand-name { font-size: 19px; }
}


/* 히어로 배지: 진한 녹색 대신 사진에 부드럽게 어울리는 아이보리 톤 */
.hero-stamp { background: rgba(246, 243, 235, .94); color: #766d60; outline-color: rgba(129, 111, 83, .32); box-shadow: 0 8px 20px rgba(43, 35, 24, .10); }
.stamp-top { color: #827865; }
.stamp-bottom { color: #6f6658; }
.stamp-fruit { color: #aa8960; }

/* 전화번호를 확대하고 상단 안내문과 오른쪽 끝을 맞춤 */
.header-delivery-courier { width: 92px; height: 92px; flex-basis: 92px; }
.header-delivery-info strong { font-size: 20px; }
.home-footer .footer-delivery .delivery-courier { width: 160px; max-height: 132px; flex-basis: 160px; }
.home-footer .footer-delivery .delivery-call strong { font-size: 22px; }
.category-phone-action .delivery-courier { width: 134px; height: 110px; max-height: 110px; flex-basis: 134px; }
.category-detail-copy .category-call strong { font-size: 22px; }
.category-bottom-action .delivery-courier { width: 136px; height: 110px; max-height: 110px; flex-basis: 136px; }
.category-bottom-action .delivery-call strong { font-size: 22px; }
.footer-phone-courier { width: 70px; height: 70px; flex-basis: 70px; }
  .footer-phone-action .footer-phone strong { font-size: 17px; letter-spacing: .04em; }
.home-footer .footer-brand .brand-mark { width: 60px; height: 60px; }
.home-footer .footer-brand .brand-name { font-size: 30px; }
.home-footer .footer-topline .footer-address { font-size: 17px; }
.home-footer .footer-topline .footer-hours { font-size: 14px; }
@media (max-width: 1100px) {
  .header-delivery-courier { width: 70px; height: 70px; flex-basis: 70px; }
  .header-delivery-info strong { font-size: 17px; }
  .home-footer .footer-delivery .delivery-courier { width: 154px; flex-basis: 154px; }
  .category-phone-action .delivery-courier { width: 126px; flex-basis: 126px; }
  .category-bottom-action .delivery-courier { width: 128px; flex-basis: 128px; }
}
@media (max-width: 640px) {
  .header-delivery-courier { width: 50px; height: 50px; flex-basis: 50px; }
  .header-delivery-info strong { font-size: 12px; }
  .home-footer .footer-delivery .delivery-courier { width: 110px; max-height: 110px; flex-basis: 110px; }
  .home-footer .footer-delivery .delivery-call strong { font-size: 17px; }
  .home-footer .footer-brand .brand-mark { width: 49px; height: 49px; }
  .home-footer .footer-brand .brand-name { font-size: 23px; }
  .home-footer .footer-topline .footer-address { font-size: clamp(9.5px, 2.9vw, 11px); }
  .home-footer .footer-topline .footer-hours { font-size: clamp(8.5px, 2.6vw, 10px); }
  .category-phone-action .delivery-courier { width: 84px; height: 75px; max-height: 75px; flex-basis: 84px; }
  .category-detail-copy .category-call strong { font-size: 16px; }
  .category-bottom-action .delivery-courier { width: 82px; height: 74px; max-height: 74px; flex-basis: 82px; }
  .category-bottom-action .delivery-call strong { font-size: 16px; }
  .footer-phone-courier { width: 48px; height: 48px; flex-basis: 48px; }
  .footer-phone-action .footer-phone strong { font-size: 13px; }
}
@media (max-width: 360px) {
  .header-delivery-courier { width: 44px; height: 44px; flex-basis: 44px; }
  .header-delivery-info strong { font-size: 11px; }
  .home-footer .footer-brand .brand-mark { width: 45px; height: 45px; }
  .home-footer .footer-brand .brand-name { font-size: 21px; }
}


/* 카테고리 상세 페이지의 헤더 문의만 아이보리 계열로 낮춰 중복되는 녹색 블록을 피함 */
.category-site-header .header-delivery-panel {
  border: 1px solid var(--line);
  background: #f1ede2;
  color: var(--ink);
  box-shadow: 0 4px 12px rgba(57, 47, 33, .05);
}
.category-site-header .header-delivery-service { color: #7d715f; }
.category-site-header .header-delivery-info strong { color: #425247; }
.category-site-header .header-cta-arrow { color: #aa8960; }

/* 카테고리 구역은 한 화면에서 네 카드를 볼 수 있게 세로 간격을 줄이고 첫 화면 히어로는 유지 */
.category-section { padding-top: 94px; padding-bottom: 24px; }
.category-heading { margin: 36px 0 18px; }
.category-tile { min-height: 278px; padding-bottom: 14px; }
.category-tile-label { margin-bottom: 8px; }
.category-image-wrap { aspect-ratio: 1.3 / 1; }
.category-tile h3 { margin: 10px 0 4px; }
@media (max-width: 900px) {
  .category-tile { min-height: 250px; }
}
@media (max-width: 640px) {
  .category-section { padding-top: 72px; padding-bottom: 14px; }
  .category-heading { margin: 28px 0 14px; }
  .category-tile { min-height: 0; padding: 12px 9px 12px 0; }
  .category-tile + .category-tile { padding-left: 11px; }
  .category-tile:nth-child(3) { padding-left: 0; }
  .category-tile-label { margin-bottom: 7px; }
  .category-image-wrap { aspect-ratio: 1.22 / 1; }
  .category-tile h3 { margin: 8px 0 4px; }
  .category-tile p { line-height: 1.45; }
}


/* 첫 화면에서 네 가지 용도와 매장 정보를 함께 보여주는 간결한 바로가기 */
.hero { min-height: 0; align-items: center; }
.hero-copy { padding: 34px 0 28px 5%; }
.hero h1 { margin: 14px 0 12px; font-size: clamp(46px, 5.2vw, 64px); line-height: 1.18; }
.hero-visual { height: clamp(300px, 31vw, 380px); min-height: 0; margin: 18px 0 28px; }
.hero-visual > img { min-height: 0; }
.image-caption { bottom: -20px; }
.hero-index { bottom: 20px; }

.home-first-screen { min-height: calc(100vh - 92px); min-height: calc(100svh - 92px); display: flex; flex-direction: column; }
.first-screen-summary { margin-top: auto; flex: 0 0 auto; padding: 0 7.1% 18px; }
.quick-category-nav {
  width: min(1180px, 100%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.quick-category {
  min-width: 0;
  padding: 9px 13px;
  display: flex;
  align-items: center;
  gap: 12px;
}
.quick-category + .quick-category { border-left: 1px solid var(--line); }
.quick-category img { width: 68px; height: 58px; flex: 0 0 68px; object-fit: cover; background: #eae4d7; }
.quick-category span { font-family: var(--serif); font-size: 15px; font-weight: 600; letter-spacing: -.04em; white-space: nowrap; }
.quick-store-line {
  width: min(1180px, 100%);
  margin: 0 auto;
  padding: 11px 2px 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  justify-items: end;
  align-items: end;
  gap: 4px;
  text-align: right;
  color: var(--ink);
}
.quick-store-address, .quick-store-hours, .quick-store-since { margin: 0; font-size: 14px; line-height: 1.4; white-space: normal; }
.quick-store-address { font-style: normal; }
.quick-store-hours { display: flex; align-items: center; justify-content: flex-end; gap: 8px; color: var(--muted); }
.quick-store-hours span + span { padding-left: 8px; border-left: 1px solid var(--line); color: var(--green); font-weight: 600; }
.quick-store-phone { color: var(--green); font-size: 17px; font-weight: 700; letter-spacing: .04em; white-space: nowrap; }
.quick-store-since { color: var(--green); font-weight: 600; letter-spacing: .05em; }
.quick-store-since strong { color: var(--citrus); font-size: 16px; letter-spacing: 0; }

@media (min-width: 1101px) {
  .first-screen-summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 290px);
    align-items: stretch;
    gap: 18px;
  }
  .quick-category-nav {
    width: 100%;
    margin: 0;
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .quick-store-line {
    width: 100%;
    margin: 0;
    padding: 8px 0 8px 16px;
    border-left: 1px solid var(--line);
    align-self: stretch;
    align-content: center;
  }
}

@media (max-width: 900px) {
  .first-screen-summary { padding-right: 5%; padding-left: 5%; }
  .quick-category { gap: 8px; padding-right: 9px; padding-left: 9px; }
  .quick-category img { width: 58px; height: 50px; flex-basis: 58px; }
  .quick-category span { font-size: 14px; }
  .quick-store-line { gap: 4px; }
  .quick-store-address, .quick-store-hours, .quick-store-since { font-size: 12px; }
  .quick-store-phone, .quick-store-since strong { font-size: 14px; }
}

@media (max-width: 640px) {
  .home-first-screen { min-height: calc(100vh - 72px); min-height: calc(100svh - 72px); }
  .hero { padding: 0 18px 8px; }
  .hero-copy { padding: 22px 0 13px; }
  .hero h1 { margin: 11px 0 8px; font-size: clamp(39px, 10.6vw, 44px); line-height: 1.18; }
  .hero-intro { font-size: 13px; line-height: 1.4; }
  .hero-visual { width: 100%; height: min(54vw, 184px); margin: 0 5px 12px 0; }
  .hero-stamp { width: 76px; height: 76px; top: 10px; right: -8px; }
  .stamp-top { font-size: 6px; }
  .stamp-bottom { font-size: 8px; }
  .stamp-fruit { font-size: 15px; }
  .image-caption { bottom: -17px; font-size: 7px; }
  .first-screen-summary { padding: 0 18px 14px; }
  .quick-category { padding: 7px 2px; flex-direction: column; justify-content: center; gap: 4px; text-align: center; }
  .quick-category img { width: 48px; height: 42px; flex-basis: 42px; }
  .quick-category span { font-size: 11px; letter-spacing: -.06em; }
  .quick-store-line { padding: 8px 0 0; grid-template-columns: minmax(0, 1fr); gap: 3px; justify-items: end; }
  .quick-store-address, .quick-store-hours, .quick-store-since { white-space: normal; font-size: 11px; }
  .quick-store-hours { gap: 5px; flex-wrap: wrap; justify-content: flex-end; }
  .quick-store-hours span + span { padding-left: 5px; }
  .quick-store-phone, .quick-store-since strong { font-size: 13px; }
  .quick-store-since { text-align: right; }
}

@media (max-width: 360px) {
  .hero { padding-right: 15px; padding-left: 15px; }
  .hero-copy { padding-top: 18px; padding-bottom: 10px; }
  .hero h1 { font-size: 37px; }
  .hero-visual { height: 166px; }
  .first-screen-summary { padding-right: 14px; padding-left: 14px; }
  .quick-category img { width: 44px; height: 38px; flex-basis: 38px; }
  .quick-category span { font-size: 10.5px; }
  .quick-store-line { gap: 3px; }
  .quick-store-address, .quick-store-hours, .quick-store-since { font-size: 10.5px; }
  .quick-store-phone, .quick-store-since strong { font-size: 12.5px; }
}

@media (min-width: 981px) {
  .primary-nav { gap: clamp(7px, .9vw, 12px); margin-left: 2%; }
}
@media (min-width: 981px) and (max-width: 1200px) {
  .primary-nav { flex: 0 0 auto; gap: 8px; margin-left: 1%; }
  .primary-nav a { flex: 0 0 auto; font-size: 15px; white-space: nowrap; }
  .primary-nav-info-tabs { gap: 4px; }
  .primary-nav .nav-info-tab { padding: 6px 7px; font-size: 12px; }
}
.primary-nav-info-tabs { display: flex; align-items: center; gap: 6px; flex: 0 0 auto; }
.primary-nav .nav-info-tab {
  min-height: 38px;
  padding: 7px 9px;
  border: 1px solid #d4c3aa;
  border-radius: 999px;
  background: #efe7d8;
  color: var(--green);
  font: inherit;
  font-size: clamp(12px, 1.05vw, 14px);
  font-style: normal;
  font-weight: 700;
  line-height: 1.3;
  white-space: nowrap;
  cursor: pointer;
  transition: background-color .18s ease, color .18s ease, border-color .18s ease;
}
.primary-nav .nav-info-tab[aria-expanded="true"] { border-color: var(--green); background: var(--green); color: var(--cream); }
.primary-nav .nav-info-tab:focus-visible, .home-info-close:focus-visible { outline: 3px solid #c49459; outline-offset: 3px; }
.home-info-popover[hidden], .home-info-panel[hidden] { display: none !important; }
.home-info-popover {
  position: fixed;
  z-index: 30;
  top: 104px;
  right: max(16px, 7.1vw);
  width: min(790px, calc(100vw - 32px));
  max-height: calc(100vh - 124px);
  max-height: calc(100svh - 124px);
  overflow: auto;
  padding: 18px;
  border: 1px solid #d8cbb7;
  border-radius: 18px;
  background: var(--cream);
  box-shadow: 0 20px 60px rgba(29, 46, 35, .2);
}
.home-info-close {
  min-height: 38px;
  margin: 0 0 8px auto;
  padding: 5px 8px 5px 12px;
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid #d8cbb7;
  border-radius: 999px;
  background: #f4f0e7;
  color: #314639;
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}
.home-info-close span { font-size: 22px; line-height: 1; }
.home-info-title { margin: 0 0 12px; color: #26382d; font-family: var(--serif); font-size: clamp(20px, 2.3vw, 28px); font-style: normal; font-weight: 600; line-height: 1.35; }
.home-delivery-layout { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(250px, .85fr); align-items: stretch; gap: 12px; padding: 10px; border: 1px solid var(--line); border-radius: 16px; background: #f4f0e7; }
.home-delivery-scene { position: relative; min-width: 0; min-height: 230px; margin: 0; overflow: hidden; aspect-ratio: 16 / 9; border-radius: 11px; background: #ece7dd; }
.home-delivery-scene img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; }
.home-delivery-scene figcaption { position: absolute; right: 10px; bottom: 10px; left: 10px; width: fit-content; max-width: calc(100% - 20px); padding: 7px 10px; border-radius: 999px; background: rgba(27, 54, 42, .9); color: var(--cream); font-size: 12px; font-weight: 600; }
.home-shipping-label { align-self: center; padding: 14px; border: 1px solid #e1d7c8; border-radius: 12px; background: #fffefa; color: #344239; box-shadow: 0 8px 20px rgba(48, 49, 35, .06); }
.home-shipping-label-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 7px; margin-bottom: 11px; padding-bottom: 9px; border-bottom: 1px solid #e9e1d5; }
.home-shipping-label-head strong { color: var(--green); font-size: 15px; }
.home-shipping-label-head > span { color: #47564a; font-size: 12px; font-weight: 700; }
.home-shipping-label-body { display: grid; gap: 10px; }
.home-shipping-sender { display: grid; gap: 4px; font-size: 14px; line-height: 1.5; word-break: keep-all; }
.home-shipping-caption { color: #56655a; font-size: 12px; font-weight: 700; }
.home-shipping-sender > strong { color: #253a2e; font-size: 17px; }
.home-shipping-sender > a { width: fit-content; color: var(--green); font-size: 16px; font-weight: 700; letter-spacing: .02em; }
.home-shipping-recipient { display: grid; gap: 5px; padding-top: 9px; border-top: 1px dashed #d9d0c3; }
.home-shipping-blur { width: fit-content; max-width: 100%; overflow: hidden; color: #5d665e; font-size: 14px; filter: blur(3px); white-space: nowrap; user-select: none; }
.home-shipping-privacy { color: #59635a; font-size: 12px; }
.home-voucher-content { min-height: 126px; display: flex; align-items: center; gap: 20px; padding: 22px; border: 1px solid #dfd4c3; border-radius: 16px; background: #f4f0e7; color: #26382d; }
.home-voucher-mark { width: 62px; height: 62px; flex: 0 0 62px; display: grid; place-items: center; border: 1px solid #c4ad8a; border-radius: 50%; color: #674b32; font-size: 14px; font-weight: 700; }
.home-voucher-content p { margin: 0; font-family: var(--serif); font-size: 20px; font-style: normal; font-weight: 600; line-height: 1.55; }

@media (min-width: 641px) and (max-width: 980px) {
  .site-header { height: 84px; padding: 0 3%; }
  .menu-toggle { width: 34px; height: 38px; padding: 10px 5px; margin-left: auto; margin-right: 8px; display: flex; flex-direction: column; justify-content: center; gap: 6px; border: 0; background: transparent; cursor: pointer; }
  .menu-toggle span { width: 23px; height: 1px; background: var(--ink); transition: transform .2s ease; }
  .menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(3.5px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-3.5px) rotate(-45deg); }
  .primary-nav { position: absolute; top: 83px; right: 0; left: 0; z-index: 11; display: none; margin: 0; padding: 12px 23px 22px; flex-direction: column; gap: 0; border-bottom: 1px solid var(--line); background: var(--cream); }
  .primary-nav.is-open { display: flex; }
  .primary-nav a { padding: 14px 0; border-bottom: 1px solid var(--line); font-size: 16px; }
  .primary-nav-info-tabs { width: 100%; padding-top: 10px; flex-direction: column; align-items: stretch; gap: 8px; border-top: 1px solid var(--line); }
  .primary-nav .nav-info-tab { width: 100%; min-height: 44px; padding: 9px 12px; border-radius: 8px; font-size: 15px; text-align: left; white-space: normal; }
  .home-info-popover { top: 94px; right: 16px; max-height: calc(100svh - 110px); }
}
@media (max-width: 640px) {
  .primary-nav-info-tabs { width: 100%; padding-top: 10px; display: flex; flex-direction: column; align-items: stretch; gap: 8px; border-top: 1px solid var(--line); }
  .primary-nav .nav-info-tab { width: 100%; min-height: 44px; padding: 9px 12px; border-radius: 8px; font-size: 15px; text-align: left; white-space: normal; }
  .home-info-popover { top: 82px; right: 12px; width: calc(100vw - 24px); max-height: calc(100vh - 94px); max-height: calc(100svh - 94px); padding: 12px; border-radius: 15px; }
  .home-info-close { min-height: 40px; margin-bottom: 7px; font-size: 14px; }
  .home-info-title { margin-bottom: 10px; font-size: 21px; }
  .home-delivery-layout { grid-template-columns: minmax(0, 1fr); gap: 9px; padding: 8px; }
  .home-delivery-scene { min-height: 0; height: clamp(132px, 43vw, 180px); aspect-ratio: auto; }
  .home-delivery-scene figcaption { right: 7px; bottom: 7px; left: 7px; max-width: calc(100% - 14px); padding: 6px 8px; font-size: 11px; }
  .home-shipping-label { padding: 12px; }
  .home-shipping-label-head { margin-bottom: 9px; }
  .home-shipping-label-head strong { font-size: 14px; }
  .home-shipping-label-head > span { font-size: 11px; }
  .home-shipping-sender { font-size: 14px; }
  .home-shipping-sender > strong { font-size: 17px; }
  .home-shipping-sender > a { font-size: 16px; }
  .home-voucher-content { min-height: 100px; gap: 14px; padding: 16px; }
  .home-voucher-mark { width: 52px; height: 52px; flex-basis: 52px; font-size: 12px; }
  .home-voucher-content p { font-size: 18px; }
}

/* 메인 여섯 카드: 첫 화면 바로가기와 상세 서비스 카드 */
@media (min-width: 1201px) {
  .primary-nav { gap: clamp(24px, 4vw, 62px); margin-left: 5%; }
}
.quick-category-nav { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.quick-category {
  min-width: 0;
  min-height: 70px;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
}
.quick-category:not(:nth-child(6n + 1)) { border-left: 1px solid var(--line); }
.quick-category:nth-child(6n + 1) { border-left: 0; }
.quick-category span { white-space: normal; line-height: 1.3; }
.quick-category-voucher-art {
  width: 68px;
  height: 58px;
  flex: 0 0 68px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  background: #eae4d7;
  border: 1px solid #d8cbb7;
  color: var(--green);
}
.quick-category-voucher-art span { display: block; font-family: var(--sans); font-size: 10px; font-weight: 700; letter-spacing: 0; line-height: 1.1; }
.quick-category-voucher-art span:first-child { padding: 2px 5px; border-radius: 999px; background: var(--green); color: var(--cream); }
.quick-category:focus-visible { outline: 3px solid #c49459; outline-offset: -3px; }

.category-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.category-tile + .category-tile { border-left: 0; padding-left: 0; }
.category-tile:not(:nth-child(3n + 1)) { border-left: 1px solid var(--line); padding-left: 16px; }
.category-tile:nth-child(3n + 1) { border-left: 0; padding-left: 0; }
.category-tile:nth-child(n + 4) { border-top: 1px solid var(--line); }
.category-image-wrap { position: relative; }
.service-category-tile { cursor: pointer; text-decoration: none; }
.service-category-tile h3 { padding-right: 8px; }
.category-tile p.service-category-copy { max-width: none; padding-right: 10px; font-size: 12px; line-height: 1.6; word-break: normal; }
.service-category-copy strong { color: var(--ink); }
.service-category-copy a { color: var(--green); font-weight: 700; white-space: nowrap; }
.voucher-image-wrap {
  display: grid;
  place-items: center;
  background: radial-gradient(circle at 50% 46%, #fbfaf6 0 21%, #eee8da 21.5% 100%);
}
.voucher-image-wrap .voucher-card-image {
  max-width: 120px;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  filter: drop-shadow(0 6px 10px rgba(48, 49, 35, .16));
}
.voucher-ticket {
  width: min(78%, 230px);
  min-height: 72%;
  padding: 12px 14px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border: 1px solid #b9a47e;
  border-radius: 8px;
  background: #fbfaf6;
  color: #34493b;
  box-shadow: 0 7px 18px rgba(48, 49, 35, .1);
  text-align: center;
}
.voucher-ticket-kicker { color: #746e60; font-size: 10px; letter-spacing: .08em; }
.voucher-ticket-mark { width: 50px; height: 50px; display: grid; place-items: center; border-radius: 50%; background: var(--green); color: var(--cream); font-family: var(--serif); font-size: 15px; font-weight: 600; }
.voucher-ticket strong { font-size: 13px; font-weight: 700; }

@media (max-width: 900px) {
  .quick-category-nav { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .quick-category:not(:nth-child(3n + 1)) { border-left: 1px solid var(--line); }
  .quick-category:nth-child(3n + 1) { border-left: 0; }
  .quick-category:nth-child(n + 4) { border-top: 1px solid var(--line); }
  .quick-category img, .quick-category-voucher-art { width: 58px; height: 50px; flex-basis: 58px; }
  .quick-category span { font-size: 14px; }
  .category-tile:not(:nth-child(3n + 1)) { padding-left: 12px; }
}
@media (max-width: 640px) {
  .quick-category-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .quick-category:not(:nth-child(2n + 1)) { border-left: 1px solid var(--line); }
  .quick-category:nth-child(2n + 1) { border-left: 0; }
  .quick-category:nth-child(n + 3) { border-top: 1px solid var(--line); }
  .quick-category { min-height: 58px; padding: 7px 6px; flex-direction: row; justify-content: flex-start; gap: 8px; text-align: left; }
  .quick-category img, .quick-category-voucher-art { width: 44px; height: 38px; flex-basis: 44px; }
  .quick-category span { font-size: 12px; line-height: 1.25; letter-spacing: -.03em; }
  .quick-category-voucher-art span { font-size: 8px; letter-spacing: 0; line-height: 1.1; }
  .category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .category-tile + .category-tile { border-left: 0; padding-left: 9px; }
  .category-tile:nth-child(2n + 1) { border-left: 0; padding-left: 9px; }
  .category-tile:nth-child(2n) { border-left: 1px solid var(--line); padding-left: 11px; }
  .category-tile:nth-child(n + 3) { border-top: 1px solid var(--line); }
  .category-tile p { font-size: 12px; line-height: 1.55; }
  .category-tile p .category-copy-line { font-size: 12px; white-space: normal; }
  .category-tile p.service-category-copy { max-width: none; padding-right: 4px; font-size: 12px; }
  .voucher-ticket { width: 84%; padding: 8px; gap: 5px; }
  .voucher-ticket-mark { width: 40px; height: 40px; font-size: 13px; }
  .voucher-ticket strong { font-size: 11px; }
}
@media (max-width: 360px) {
  .quick-category { padding-right: 4px; padding-left: 4px; gap: 6px; }
  .quick-category img, .quick-category-voucher-art { width: 40px; height: 36px; flex-basis: 40px; }
  .quick-category span { font-size: 12px; }
  .quick-category-voucher-art span { font-size: 8px; }
}
@media (min-width: 901px) and (max-width: 1200px) {
  .quick-category-nav { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .quick-category:not(:nth-child(3n + 1)) { border-left: 1px solid var(--line); }
  .quick-category:nth-child(3n + 1) { border-left: 0; }
  .quick-category:nth-child(n + 4) { border-top: 1px solid var(--line); }
  .quick-category img, .quick-category-voucher-art { width: 58px; height: 50px; flex-basis: 58px; }
  .quick-category span { font-size: 14px; }
}
em { font-style: normal; }
.six-nav-header { justify-content: flex-start; gap: clamp(135px, 10vw, 145px); }
.six-nav-header .primary-nav { flex: 1 1 auto; min-width: 0; align-items: center; justify-content: space-between; gap: 0; margin-left: 0; }
.primary-nav-main-links { display: flex; flex: 1 1 auto; min-width: 0; align-items: center; justify-content: center; gap: clamp(24px, 3vw, 42px); }
.six-nav-header .primary-nav a { font-size: clamp(15px, 1.35vw, 17px); font-weight: 600; letter-spacing: -.015em; white-space: nowrap; }
.six-nav-header .primary-nav a[href="/delivery.html"] { display: inline-flex; flex: 0 0 auto; flex-direction: row; align-items: center; justify-content: center; gap: 14px; margin-left: clamp(16px, 2vw, 28px); padding: 10px 18px; border-radius: 20px; background: var(--green); color: var(--cream); font-weight: 700; box-shadow: 0 4px 12px rgba(41, 68, 54, .14); transition: background-color .2s ease, transform .2s ease; }
.six-nav-header .primary-nav a[href="/delivery.html"]:hover { background: #365944; color: var(--cream); transform: translateY(-1px); }
.shipping-service-lines { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 4px; }
.shipping-service-line { display: inline-flex; align-items: center; justify-content: flex-start; gap: 8px; line-height: 1.1; white-space: nowrap; }
.shipping-service-line span { font-size: 15px; }
.shipping-service-line:last-child span { font-size: 16px; }
.shipping-phone { padding-left: 14px; border-left: 1px solid rgba(246,243,235,.4); color: var(--cream); font-size: 15px; font-weight: 700; letter-spacing: .02em; white-space: nowrap; }
.shipping-tab-icon { display: block; width: 36px; height: 26px; flex: 0 0 36px; animation: shipping-tab-bob 2.2s ease-in-out infinite; }
.motorcycle-tab-icon { display: block; width: 38px; height: 26px; flex: 0 0 38px; transform-origin: center; animation: motorcycle-ride 1.8s ease-in-out infinite; }
@keyframes shipping-tab-bob { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-4px); } }
@keyframes motorcycle-ride { 0%, 100% { transform: translate(0, 0) rotate(0); } 50% { transform: translate(3px, -1px) rotate(2deg); } }
@media (prefers-reduced-motion: reduce) { .shipping-tab-icon, .motorcycle-tab-icon { animation: none; } }

@media (min-width: 1201px) {
  .site-header { padding-left: 4%; padding-right: 4%; }
  .primary-nav { gap: clamp(6px, .7vw, 10px); margin-left: 0; }
  .primary-nav a { font-size: 14px; letter-spacing: -.025em; white-space: nowrap; }
  .primary-nav a:focus-visible { outline: 2px solid #bd7846; outline-offset: 4px; }
  .six-nav-header { gap: clamp(135px, 10vw, 145px); }
  .six-nav-header .primary-nav { max-width: none; gap: 0; }
  .primary-nav-main-links { gap: clamp(32px, 4.2vw, 60px); }
  .six-nav-header .primary-nav a { font-size: 16px; }
}

@media (min-width: 1201px) and (max-width: 1249px) {
  .six-nav-header { gap: clamp(96px, 8vw, 100px); }
  .primary-nav-main-links { gap: clamp(32px, 2.7vw, 34px); }
}

@media (min-width: 1250px) and (max-width: 1349px) {
  .six-nav-header { gap: clamp(100px, 8vw, 108px); }
  .primary-nav-main-links { gap: clamp(36px, 3.6vw, 48px); }
}

@media (min-width: 1001px) and (max-width: 1200px) {
  .six-nav-header { padding: 0 3%; gap: clamp(96px, 8.5vw, 104px); }
  .six-nav-header .primary-nav { max-width: none; gap: 0; }
  .primary-nav-main-links { gap: clamp(8px, 1.8vw, 22px); }
  .six-nav-header .primary-nav a[href="/delivery.html"] { margin-left: 10px; padding-left: 12px; padding-right: 12px; }
  .six-nav-header .primary-nav a { font-size: clamp(15px, 1.35vw, 16px); }
}

@media (max-width: 1000px) {
  .site-header { padding: 0 4%; }
  .six-nav-header { gap: 0; }
  .six-nav-header .primary-nav { flex: initial; align-items: stretch; justify-content: flex-start; gap: 0; margin-left: 0; }
  .primary-nav-main-links { flex: initial; flex-direction: column; align-items: stretch; justify-content: flex-start; gap: 0; }
  .six-nav-header .primary-nav a { font-size: 17px; }
  .six-nav-header .primary-nav a[href="/delivery.html"] { align-self: flex-start; width: auto; max-width: 100%; margin: 2px 0; }
  .menu-toggle { width: 34px; height: 38px; padding: 10px 5px; border: 0; background: transparent; display: flex; flex-direction: column; justify-content: center; gap: 6px; margin-left: auto; margin-right: 8px; cursor: pointer; }
  .menu-toggle span { width: 23px; height: 1px; background: var(--ink); transition: transform .2s ease; }
  .menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(3.5px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-3.5px) rotate(-45deg); }
  .primary-nav { display: none; position: absolute; top: 91px; left: 0; right: 0; margin: 0; padding: 12px 23px 22px; background: var(--cream); border-bottom: 1px solid var(--line); flex-direction: column; gap: 0; }
  .primary-nav.is-open { display: flex; }
  .primary-nav a { padding: 13px 0; border-bottom: 1px solid var(--line); color: #26352c; font-size: 17px; font-weight: 600; white-space: normal; }
  .primary-nav a:last-child { border-bottom: 0; }
}

@media (max-width: 640px) {
  .site-header { padding: 0 14px; }
  .six-nav-header { padding: 0 14px; gap: 0; }
  .primary-nav { top: 71px; }
}

@media (max-width: 360px) {
  .six-nav-header .primary-nav a[href="/delivery.html"] { flex-wrap: wrap; justify-content: flex-start; gap: 6px 14px; padding: 10px 14px; }
  .six-nav-header .primary-nav a[href="/delivery.html"] .shipping-phone { margin-left: 52px; padding-left: 0; border-left: 0; font-size: 14px; }
}

.service-page-main { width: min(1160px, calc(100% - 64px)); margin: 0 auto; padding: 26px 0 76px; }
.service-breadcrumb { display: flex; align-items: center; gap: 9px; color: var(--muted); font-size: 13px; }
.service-breadcrumb a { color: var(--green); text-decoration: none; }
.service-page-heading { max-width: 810px; margin: 36px auto 42px; text-align: center; }
.delivery-page-content { width: 100%; display: flex; flex-direction: column; align-items: center; gap: 24px; }
.service-eyebrow { margin: 0 0 12px; color: #73806b; font-size: 12px; font-weight: 700; letter-spacing: .12em; }
.service-page-heading h1, .voucher-page-copy h1 { margin: 0 0 17px; color: var(--green); font-family: var(--serif); font-size: clamp(38px, 5.2vw, 58px); font-weight: 600; line-height: 1.35; letter-spacing: -.055em; word-break: keep-all; }
.service-page-heading > p:last-child { max-width: 760px; margin: 0 auto; color: #48564b; font-size: 18px; line-height: 1.85; word-break: keep-all; }
.service-delivery-layout { display: grid; grid-template-columns: minmax(0, 1fr); justify-items: center; align-items: center; gap: 25px; }
.service-delivery-figure { position: relative; width: min(760px, 100%); min-width: 0; margin: 0; overflow: hidden; aspect-ratio: 16 / 9; border-radius: 14px; background: #ece7dd; }
.service-delivery-figure > img { display: block; width: 100%; height: 100%; object-fit: cover; }
.service-delivery-details { display: grid; gap: 16px; }
.service-label-card { padding: 23px; border: 1px solid var(--line); border-radius: 12px; background: #fffefa; }
.service-label-card .service-eyebrow { margin-bottom: 7px; }
.service-label-card h2, .service-carrier-panel h2 { margin: 0 0 15px; color: var(--green); font-size: 23px; font-weight: 700; }
.service-sender-details { margin: 0; }
.service-sender-details > div { display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.service-sender-details > div:last-child { border-bottom: 0; }
.service-sender-details dt { color: var(--muted); font-size: 14px; }
.service-sender-details dd { min-width: 0; margin: 0; color: var(--ink); font-size: 16px; font-weight: 600; line-height: 1.55; overflow-wrap: anywhere; }
.service-sender-details dd a { color: var(--green); text-decoration: none; }
.service-sender-details dd small { display: block; margin-top: 4px; color: var(--muted); font-size: 12px; font-weight: 400; }
.service-blurred-recipient { display: inline-block; filter: blur(4px); user-select: none; }
.service-carrier-panel { padding: 20px 23px; border-radius: 12px; background: #edf0e8; }
.service-carrier-panel h2 { margin-bottom: 12px; font-size: 20px; }
.service-carrier-list { display: flex; flex-wrap: wrap; gap: 9px; }
.service-carrier-list span { padding: 8px 13px; border: 1px solid rgba(57, 77, 60, .18); border-radius: 99px; background: #fffefa; color: var(--green); font-size: 15px; font-weight: 700; }
.service-carrier-panel p { margin: 13px 0 8px; color: #536052; font-size: 14px; line-height: 1.65; }
.service-contact-link { color: var(--green); font-size: 18px; font-weight: 700; text-decoration: none; }
.voucher-page-layout { min-height: 465px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(340px, .9fr); align-items: center; gap: clamp(28px, 7vw, 86px); padding: 46px 4% 32px; }
.voucher-page-copy { max-width: 570px; }
.voucher-page-copy .service-eyebrow { margin-bottom: 17px; }
.voucher-page-copy h1 { font-size: clamp(38px, 4.8vw, 55px); }
.voucher-page-subtitle { margin: 20px 0 12px; color: var(--green); font-family: var(--serif); font-size: 24px; font-weight: 600; line-height: 1.5; }
.voucher-page-lead { margin: 0; color: #48564b; font-size: 20px; line-height: 1.85; word-break: keep-all; }
.voucher-page-lead + .voucher-page-lead { margin-top: 10px; }
.voucher-page-art { min-height: 360px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; padding: 22px; border: 1px solid var(--line); border-radius: 16px; background: radial-gradient(circle at 50% 42%, #fffdf6 0, #f2eee3 66%, #eae5d8 100%); }
.voucher-illustration-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: center; justify-items: center; gap: clamp(6px, 1vw, 14px); width: 100%; flex: 1; }
.voucher-illustration-card { display: flex; align-items: center; justify-content: center; width: 100%; height: clamp(180px, 28vh, 255px); margin: 0; }
.voucher-illustration-card img { display: block; max-width: 100%; max-height: 100%; object-fit: contain; border-radius: 6px; filter: drop-shadow(0 8px 12px rgba(30, 43, 31, .16)); }
.voucher-page-image-credit { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.45; text-align: center; }
.voucher-page-image-credit a { color: var(--green); font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
.service-site-footer { grid-template-columns: minmax(220px, .65fr) minmax(0, 1.35fr); align-items: center; gap: 24px; }
.service-site-footer address { font-style: normal; }
.service-footer-details { display: flex; flex-direction: column; align-items: flex-end; gap: 7px; color: var(--muted); text-align: right; }
.service-footer-details address, .service-footer-details p { margin: 0; font-size: 14px; line-height: 1.6; }
.service-footer-phone { color: var(--green); font-size: 18px; font-weight: 700; text-decoration: none; }
.service-footer-since { color: var(--green); font-weight: 700; }
@media (max-width: 900px) {
  .service-delivery-layout { grid-template-columns: 1fr; }
  .service-delivery-figure { aspect-ratio: 16 / 9; }
  .service-delivery-details { grid-template-columns: minmax(0, 1.15fr) minmax(250px, .85fr); align-items: stretch; }
  .voucher-page-layout { grid-template-columns: minmax(0, 1fr) minmax(280px, .9fr); gap: 28px; padding-right: 0; padding-left: 0; }
}
@media (max-width: 640px) {
  .service-page-main { width: calc(100% - 32px); padding: 17px 0 48px; }
  .service-breadcrumb { gap: 7px; font-size: 12px; }
  .service-page-heading { margin: 25px auto 24px; }
  .delivery-page .delivery-page-content { gap: 24px; }
  .delivery-page .service-page-heading { margin: 0; }
  .service-page-heading h1, .voucher-page-copy h1 { margin-bottom: 12px; font-size: clamp(32px, 9vw, 40px); line-height: 1.32; }
  .delivery-page .service-page-heading h1 { margin-bottom: 16px; font-size: clamp(20px, 5.6vw, 29px); line-height: 1.2; white-space: nowrap; }
  .service-page-heading > p:last-child { font-size: 16px; line-height: 1.75; }
  .service-delivery-layout { gap: 15px; }
  .service-delivery-figure { aspect-ratio: 16 / 9; border-radius: 10px; }
  .service-delivery-details { grid-template-columns: 1fr; gap: 12px; }
  .service-label-card { padding: 17px; }
  .service-label-card h2 { font-size: 21px; }
  .service-sender-details > div { grid-template-columns: 76px minmax(0, 1fr); gap: 8px; padding: 10px 0; }
  .service-sender-details dt { font-size: 13px; }
  .service-sender-details dd { font-size: 15px; }
  .service-carrier-panel { padding: 17px; }
  .voucher-page-layout { min-height: 0; grid-template-columns: 1fr; gap: 24px; padding: 36px 0 8px; }
  .voucher-page-lead { font-size: 17px; line-height: 1.75; }
  .voucher-page-art { min-height: 245px; padding: 16px; }
  .voucher-page-art .voucher-ticket { width: min(100%, 300px); min-height: 205px; padding: 14px; gap: 10px; }
  .voucher-page-art .voucher-ticket-mark { width: 62px; height: 62px; font-size: 17px; }
  .voucher-page-art .voucher-ticket strong { font-size: 17px; }
  .service-site-footer { grid-template-columns: 1fr; gap: 18px; }
  .service-footer-details { align-items: flex-start; text-align: left; }
  .service-footer-details address, .service-footer-details p { font-size: 13px; }
}
@media (max-width: 360px) {
  .service-page-main { width: calc(100% - 24px); }
  .service-page-heading h1, .voucher-page-copy h1 { font-size: 31px; }
  .service-sender-details > div { grid-template-columns: 68px minmax(0, 1fr); }
}

.motorcycle-tab-icon { width: 44px; height: 30px; flex-basis: 44px; }


/* Site-wide header: the service graphic is informational, while delivery stays a normal tab. */
.home-main-header { gap: clamp(85px, 9.4vw, 135px); }
.home-main-header .primary-nav { max-width: none; gap: 0; }
.home-main-header .primary-nav-main-links { gap: clamp(5px, .75vw, 10px); }
.home-main-header #primary-nav .primary-nav-main-links > a.main-delivery-tab { display: block; flex: 0 0 auto; align-self: auto; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; color: #26352c; font-weight: 600; box-shadow: none; transition: color .2s ease; }
.home-main-header #primary-nav .primary-nav-main-links > a.main-delivery-tab:hover { background: transparent; color: var(--green); transform: none; }
.home-main-header #primary-nav > .delivery-static-pill { display: inline-flex; flex: 0 0 auto; flex-direction: row; align-items: center; justify-content: center; gap: 14px; margin-left: clamp(8px, 1.2vw, 16px); padding: 10px 18px; border-radius: 20px; background: #294436; color: var(--cream); font-weight: 700; box-shadow: 0 4px 12px rgba(41, 68, 54, .14); }
.home-main-header .primary-nav-main-links > a[aria-current="page"] { color: var(--green); }

.about-page-layout { min-height: 465px; display: flex; align-items: flex-start; justify-content: space-between; gap: clamp(36px, 7vw, 88px); padding: 48px 4% 38px; }
.about-page-copy { max-width: 650px; }
.about-page-copy .service-eyebrow { margin-bottom: 18px; }
.about-page-copy h1 { margin: 0 0 18px; color: var(--green); font-family: var(--serif); font-size: clamp(42px, 5.5vw, 64px); font-weight: 600; line-height: 1.28; letter-spacing: -.055em; }
.about-page-lead { margin: 0; color: #48564b; font-size: clamp(18px, 1.5vw, 20px); line-height: 1.8; word-break: keep-all; }
.about-page-lead + .about-page-lead { margin-top: 16px; }
.about-page-lead-highlight { color: var(--green); font-weight: 700; }
.about-page-promise { width: min(430px, 40%); min-height: 0; display: flex; flex: 0 0 auto; flex-direction: column; align-items: stretch; padding: 0; overflow: hidden; border: 1px solid rgba(57,77,60,.12); border-radius: 16px; background: #fffdf6; box-shadow: 0 14px 38px rgba(41,68,54,.08); }
.about-page-store-photo { width: 100%; margin: 0; overflow: hidden; aspect-ratio: 3 / 2; background: #ece7dd; }
.about-page-store-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.about-page-promise-copy { width: 100%; padding: 24px 28px 0; }
.about-page-promise-kicker { color: #73806b; font-size: 12px; font-weight: 700; letter-spacing: .14em; }
.about-page-promise-copy > p { margin: 17px 0; color: var(--green); font-family: var(--serif); font-size: clamp(23px, 2.35vw, 29px); font-weight: 600; line-height: 1.6; word-break: keep-all; }
.about-page-promise-copy > p strong { color: #a8673d; }
.about-page-promise-since { display: block; padding-top: 14px; border-top: 1px solid var(--line); color: var(--muted); font-size: 13px; font-weight: 700; letter-spacing: .05em; }
.about-page-store-info { display: grid; gap: 8px; width: 100%; margin: 0; padding: 17px 28px 25px; border-top: 1px solid var(--line); color: var(--muted); font-size: 15px; line-height: 1.6; }
.about-page-store-info h2, .about-page-store-info p { margin: 0; }
.about-page-store-info h2 { color: var(--green); font-size: 16px; font-weight: 700; }
.about-page-store-info address { font-style: normal; }
.about-page-store-info a { color: var(--green); font-size: 18px; font-weight: 700; text-decoration: none; }

@media (max-width: 640px) {
  .voucher-page-art { min-height: 0; gap: 8px; padding: 14px 12px; }
  .voucher-illustration-row { gap: 5px; }
  .voucher-illustration-card { height: min(24vh, 180px); min-height: 132px; }
  .voucher-page-image-credit { font-size: 11px; }
}

@media (max-width: 360px) {
  .voucher-illustration-row { gap: 2px; }
  .voucher-illustration-card { height: min(22vh, 165px); min-height: 120px; }
  .voucher-page-image-credit { font-size: 10px; }
}

@media (min-width: 1201px) {
  .home-main-header #primary-nav .primary-nav-main-links > a { font-size: 15px; letter-spacing: -.025em; }
  .home-main-header .primary-nav-main-links { gap: clamp(5px, .75vw, 11px); }
}
@media (min-width: 1250px) {
  .home-main-header { gap: clamp(100px, 8vw, 108px); }
  .home-main-header .primary-nav-main-links { gap: clamp(8px, 1vw, 12px); }
}
@media (min-width: 1350px) {
  .home-main-header { gap: clamp(110px, 9.4vw, 135px); }
  .home-main-header .primary-nav-main-links { gap: clamp(10px, 1.2vw, 17px); }
}
@media (min-width: 1001px) and (max-width: 1249px) {
  .home-main-header { gap: 26px; }
  .home-main-header #primary-nav > .delivery-static-pill { margin-left: 8px; padding-left: 12px; padding-right: 12px; }
}
@media (min-width: 1001px) and (max-width: 1200px) {
  .home-main-header { gap: 16px; padding-right: 3%; padding-left: 3%; }
  .home-main-header #primary-nav .primary-nav-main-links { justify-content: center; gap: clamp(8px, 1vw, 12px); }
  .home-main-header #primary-nav .primary-nav-main-links > a { font-size: 13.5px; letter-spacing: -.03em; }
}
@media (max-width: 1000px) {
  .home-main-header { gap: 0; }
  .home-main-header .primary-nav-main-links { flex: initial; flex-direction: column; align-items: stretch; justify-content: flex-start; gap: 0; }
  .home-main-header #primary-nav .primary-nav-main-links > a.main-delivery-tab { display: block; width: auto; max-width: 100%; margin: 0; padding: 13px 0; border-bottom: 1px solid var(--line); background: transparent; color: #26352c; font-size: 17px; letter-spacing: normal; }
  .home-main-header #primary-nav > .delivery-static-pill { align-self: flex-start; flex-wrap: wrap; justify-content: flex-start; max-width: 100%; margin: 2px 0; padding: 10px 14px; }
  .about-page-layout { min-height: 0; flex-direction: column; align-items: stretch; gap: 28px; padding: 34px 0 12px; }
  .about-page-promise { width: auto; min-height: 0; }
}
@media (max-width: 360px) {
  .home-main-header #primary-nav > .delivery-static-pill { gap: 6px 14px; }
  .home-main-header #primary-nav > .delivery-static-pill .shipping-phone { margin-left: 52px; padding-left: 0; border-left: 0; font-size: 14px; }
  .about-page-promise-copy, .about-page-store-info { padding-left: 20px; padding-right: 20px; }
}


/* 카테고리 상단 배송 안내를 메인과 같은 초록색으로 맞춤 */
.category-site-header.home-main-header #primary-nav > .delivery-static-pill {
  border: 1px solid rgba(246, 243, 235, .24);
  background: var(--green);
  color: var(--cream);
  box-shadow: 0 4px 12px rgba(41, 68, 54, .14);
}
.category-site-header.home-main-header #primary-nav > .delivery-static-pill .shipping-phone {
  border-left-color: rgba(246, 243, 235, .4);
  color: var(--cream);
}
.category-site-header.home-main-header #primary-nav > .delivery-static-pill .shipping-tab-icon,
.category-site-header.home-main-header #primary-nav > .delivery-static-pill .motorcycle-tab-icon {
  width: 44px;
  height: auto;
  flex: 0 0 44px;
}

/* 짧은 데스크톱 화면에서 배송·매장 소개 내용과 가게 정보를 한 화면에 배치 */
@media (min-width: 1001px) and (max-height: 900px) {
  .service-body.delivery-page-body,
  .service-body.about-page-body { min-height: 100vh; min-height: 100svh; display: flex; flex-direction: column; }
  .service-page-main.delivery-page,
  .service-page-main.about-page-main { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; padding-top: 8px; padding-bottom: 8px; }
  .delivery-page .service-breadcrumb,
  .about-page-main .service-breadcrumb { flex: 0 0 auto; margin-bottom: 4px; font-size: 11px; }

  .delivery-page .delivery-page-content {
    flex: 1 1 auto;
    width: 100%;
    min-height: 0;
    display: grid;
    grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
    align-items: center;
    gap: clamp(28px, 4vw, 54px);
  }
  .delivery-page .service-page-heading { grid-column: 1; grid-row: 1; width: 100%; max-width: none; margin: 0; text-align: left; }
  .delivery-page .service-page-heading .service-eyebrow { margin-bottom: 4px; font-size: 10px; }
  .delivery-page .service-page-heading h1 { margin: 0; font-size: clamp(27px, 2.3vw, 33px); line-height: 1.2; white-space: nowrap; }
  .delivery-page .service-page-heading > p:last-child { max-width: none; margin: 18px 0 0; font-size: 16px; line-height: 1.65; }
  .delivery-page .service-delivery-layout { grid-column: 2; grid-row: 1; width: 100%; min-height: 0; margin: 0; display: flex; justify-content: flex-end; align-items: center; }
  .delivery-page .service-delivery-figure { flex: 0 1 auto; width: min(660px, 75vh, 100%); height: auto; min-height: 0; aspect-ratio: 16 / 9; }

  .about-page-main .about-page-layout { flex: 1 1 auto; min-height: 0; align-items: center; gap: clamp(20px, 2.8vw, 38px); padding: 8px 2.5% 6px; }
  .about-page-main .about-page-copy { flex: 1 1 auto; max-width: 680px; }
  .about-page-main .about-page-copy .service-eyebrow { margin-bottom: 5px; font-size: 10px; }
  .about-page-main .about-page-copy h1 { margin-bottom: 8px; font-size: clamp(34px, 3.2vw, 44px); line-height: 1.16; }
  .about-page-main .about-page-lead { font-size: 14px; line-height: 1.45; }
  .about-page-main .about-page-lead + .about-page-lead { margin-top: 8px; }
  .about-page-main .about-page-promise { width: min(400px, 38%); }
  .about-page-main .about-page-store-photo { height: clamp(160px, 26vh, 185px); aspect-ratio: auto; }
  .about-page-main .about-page-promise-copy { padding: 10px 14px 0; }
  .about-page-main .about-page-promise-kicker { font-size: 10px; }
  .about-page-main .about-page-promise-copy > p { margin: 6px 0; font-size: clamp(18px, 1.55vw, 21px); line-height: 1.35; }
  .about-page-main .about-page-promise-since { padding-top: 6px; font-size: 11px; }
  .about-page-main .about-page-store-info { gap: 4px; padding: 10px 14px 12px; font-size: 12px; line-height: 1.35; }
  .about-page-main .about-page-store-info h2 { font-size: 14px; }
  .about-page-main .about-page-store-info a { font-size: 15px; }

  .delivery-page-body > .service-site-footer,
  .about-page-body > .service-site-footer { flex: 0 0 auto; min-height: 128px; padding: 8px 4%; gap: 12px; }
  .delivery-page-body > .service-site-footer .footer-brand .brand-mark,
  .about-page-body > .service-site-footer .footer-brand .brand-mark { width: 44px; height: 44px; }
  .delivery-page-body > .service-site-footer .footer-brand .brand-name,
  .about-page-body > .service-site-footer .footer-brand .brand-name { font-size: 20px; }
  .delivery-page-body > .service-site-footer .footer-brand .brand-caption,
  .about-page-body > .service-site-footer .footer-brand .brand-caption { font-size: 9px; }
  .delivery-page-body > .service-site-footer .service-footer-details,
  .about-page-body > .service-site-footer .service-footer-details { gap: 3px; }
  .delivery-page-body > .service-site-footer .service-footer-details address,
  .delivery-page-body > .service-site-footer .service-footer-details p,
  .about-page-body > .service-site-footer .service-footer-details address,
  .about-page-body > .service-site-footer .service-footer-details p { font-size: 13px; line-height: 1.25; }
  .delivery-page-body > .service-site-footer .service-footer-phone,
  .about-page-body > .service-site-footer .service-footer-phone { font-size: 15px; }
}

@media (min-width: 1001px) and (min-height: 560px) {
  .service-body.delivery-page-body { height: 100vh; height: 100svh; overflow-y: hidden; }
}

@media (min-width: 1001px) {
  .service-body.delivery-page-body { display: flex; flex-direction: column; }
  .service-page-main.delivery-page { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; width: min(1320px, calc(100% - 64px)); padding: 12px 0 14px; }
  .delivery-page .service-breadcrumb { flex: 0 0 auto; margin-bottom: 6px; }
  .delivery-page .delivery-page-content { flex: 1 1 auto; width: 100%; min-height: 0; display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); align-items: center; gap: clamp(24px, 3vw, 48px); }
  .delivery-page .service-page-heading { grid-column: 1; grid-row: 1; width: 100%; max-width: none; margin: 0; text-align: left; }
  .delivery-page .service-page-heading .service-eyebrow { margin: 0 0 8px; font-size: 12px; }
  .delivery-page .service-page-heading h1 { margin: 0; font-size: clamp(32px, 3.7vw, 48px); line-height: 1.2; white-space: normal; }
  .delivery-page .service-page-heading > p:last-child { max-width: none; margin: 18px 0 0; font-size: clamp(16px, 1.35vw, 18px); line-height: 1.7; }
  .delivery-page .service-delivery-layout { grid-column: 2; grid-row: 1; width: 100%; min-height: 0; margin: 0; display: flex; justify-content: flex-end; align-items: center; }
  .delivery-page .service-delivery-figure { flex: 0 1 auto; width: min(100%, 72vh); height: auto; min-height: 0; aspect-ratio: 16 / 9; }
}

@media (min-width: 1001px) and (max-height: 700px) {
  .service-page-main.delivery-page,
  .service-page-main.about-page-main { padding-top: 4px; padding-bottom: 4px; }
  .delivery-page .service-page-heading { margin-top: 4px; margin-bottom: 6px; }
  .delivery-page .service-page-heading .service-eyebrow { margin-bottom: 3px; }
  .delivery-page .service-page-heading h1 { font-size: 30px; line-height: 1.1; }
  .delivery-page .service-page-heading > p:last-child { font-size: 13px; line-height: 1.35; }
  .about-page-main .about-page-layout { padding-top: 4px; padding-bottom: 4px; }
  .about-page-main .about-page-store-photo { height: clamp(140px, 23vh, 165px); }
}

@media (min-width: 320px) and (max-width: 1000px) {
  .service-body.delivery-page-body { min-height: 100vh; min-height: 100svh; display: flex; flex-direction: column; }
  .service-page-main.delivery-page { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; width: calc(100% - 32px); padding: 8px 0; }
  .delivery-page .service-breadcrumb { flex: 0 0 auto; margin-bottom: 4px; font-size: 11px; }
  .delivery-page .delivery-page-content { flex: 1 1 auto; width: 100%; min-height: 0; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); align-items: center; gap: clamp(10px, 2vw, 20px); }
  .delivery-page .service-page-heading { grid-column: 1; grid-row: 1; width: 100%; max-width: none; margin: 0; text-align: left; }
  .delivery-page .service-page-heading .service-eyebrow { margin-bottom: 4px; font-size: 10px; }
  .delivery-page .service-page-heading h1 { margin: 0; font-size: clamp(16px, 2.7vw, 28px); line-height: 1.18; white-space: normal; }
  .delivery-page .service-page-heading > p:last-child { max-width: none; margin: 12px 0 0; font-size: clamp(12.5px, 1.65vw, 15px); line-height: 1.5; }
  .delivery-page .service-delivery-layout { grid-column: 2; grid-row: 1; width: 100%; min-height: 0; margin: 0; display: flex; justify-content: center; align-items: center; }
  .delivery-page .service-delivery-figure { flex: 0 1 auto; width: min(100%, 72vh); height: auto; min-height: 0; aspect-ratio: 16 / 9; }
}

@media (min-width: 320px) and (max-width: 1000px) and (min-height: 560px) {
  .service-body.delivery-page-body { height: 100vh; height: 100svh; overflow-y: hidden; }
}

/* 온누리 상품권 페이지의 본문·매장 정보 푸터를 한 화면에 정돈 */
.voucher-page-body { min-height: 100vh; min-height: 100svh; display: flex; flex-direction: column; }
.service-page-main.voucher-page { flex: 1 1 auto; display: flex; flex-direction: column; padding-top: clamp(12px, 2vh, 22px); padding-bottom: clamp(12px, 2vh, 20px); }
.voucher-page .service-breadcrumb { flex: 0 0 auto; margin: 0 0 10px; }
.voucher-page-layout { flex: 1 1 auto; min-height: 0; padding: 14px 4%; }
.voucher-page-art { height: clamp(260px, 46vh, 360px); min-height: 0; }
.voucher-page-body > .service-site-footer { flex: 0 0 auto; min-height: 148px; padding-top: 14px; padding-bottom: 14px; }
@media (max-height: 760px) and (min-width: 641px) {
  .service-page-main.voucher-page { padding-top: 12px; padding-bottom: 12px; }
  .voucher-page .service-breadcrumb { margin-bottom: 6px; }
  .voucher-page-layout { padding: 8px 3%; gap: 20px; }
  .voucher-page-art { height: min(44vh, 320px); }
  .voucher-page-body > .service-site-footer { min-height: 136px; padding-top: 11px; padding-bottom: 11px; }
}
@media (max-width: 640px) {
  .service-page-main.voucher-page { padding: 12px 0; }
  .voucher-page-layout { padding: 14px 0 0; gap: 14px; }
  .voucher-page-art { height: auto; min-height: 220px; }
  .voucher-page-body > .service-site-footer { min-height: 0; padding: 12px 16px; gap: 10px; }
}
@media (max-width: 640px) and (max-height: 760px) {
  .service-page-main.voucher-page { padding-top: 10px; padding-bottom: 10px; }
  .voucher-page .service-breadcrumb { margin-bottom: 4px; }
  .voucher-page-layout { padding-top: 8px; gap: 11px; }
  .voucher-page-copy .service-eyebrow { margin-bottom: 6px; font-size: 10px; }
  .voucher-page-copy h1 { margin-bottom: 6px; font-size: 31px; line-height: 1.2; }
  .voucher-page-subtitle { margin: 7px 0 6px; font-size: 20px; }
  .voucher-page-lead { font-size: 16px; line-height: 1.5; }
  .voucher-page-lead + .voucher-page-lead { margin-top: 6px; }
  .voucher-page-art { min-height: 170px; padding: 10px; }
  .voucher-page-art .voucher-ticket { min-height: 145px; padding: 10px; gap: 8px; }
  .voucher-page-art .voucher-ticket-mark { width: 54px; height: 54px; font-size: 15px; }
  .voucher-page-art .voucher-ticket strong { font-size: 16px; }
  .voucher-page-body > .service-site-footer { padding-top: 10px; padding-bottom: 10px; }
}


/* Final refinements: home shortcuts, full storefront photo, and compact service copy. */
@media (min-width: 1001px) {
  .home-first-screen .quick-category-nav {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .home-first-screen .quick-category {
    min-height: 96px;
    padding: 8px 6px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    text-align: center;
  }
  .home-first-screen .quick-category > img,
  .home-first-screen .quick-category > .quick-category-voucher-art {
    width: 66px;
    height: 46px;
    flex: 0 0 46px;
  }
  .home-first-screen .quick-category > span:not(.quick-category-voucher-art) {
    font-size: 13.5px;
    line-height: 1.25;
    white-space: normal;
    text-align: center;
  }
}

.hero-visual .hero-stamp {
  left: clamp(18px, 2.6vw, 32px);
  right: auto;
  top: clamp(18px, 2.6vw, 32px);
  bottom: auto;
  width: clamp(86px, 8.7vw, 122px);
  height: clamp(86px, 8.7vw, 122px);
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: rgba(41, 68, 54, .98);
  outline: none;
  outline-offset: 0;
  box-shadow: none;
  display: grid;
  place-items: center;
  text-align: center;
  transform: rotate(-7deg);
  opacity: .9;
  mix-blend-mode: multiply;
}
.hero-visual .hero-stamp-art {
  position: absolute;
  inset: -3%;
  width: 106%;
  height: 106%;
  overflow: visible;
  color: currentColor;
  pointer-events: none;
}
.hero-visual .hero-stamp-ink {
  stroke-linecap: round;
  stroke-linejoin: round;
}
@media (max-width: 640px) {
  .hero-visual .hero-stamp {
    left: 12px;
    right: auto;
    top: 10px;
    bottom: auto;
    width: 76px;
    height: 76px;
    padding: 0;
  }
  .hero-visual .hero-stamp-ink text:first-of-type { font-size: 14px; }
  .hero-visual .hero-stamp-ink text:last-of-type { font-size: 14px; }
}

.about-page-main .about-page-store-photo {
  width: 100%;
  height: auto;
  min-height: 0;
  aspect-ratio: 3 / 2;
}
.about-page-main .about-page-store-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
@media (min-width: 641px) {
  .about-page-main .about-page-copy h1 { margin-bottom: 24px; }
  .about-page-main .about-page-copy .about-page-lead + .about-page-lead { margin-top: 20px; }
  .about-page-main .about-page-copy .about-page-lead.about-page-lead-highlight { margin-top: 26px; }
  .about-page-main .about-page-copy .about-page-lead.about-page-shipping { margin-top: 22px; }
}
@media (max-width: 640px) {
  .about-page-main .about-page-copy h1 { margin-bottom: 14px; }
  .about-page-main .about-page-copy .about-page-lead + .about-page-lead { margin-top: 12px; }
  .about-page-main .about-page-copy .about-page-lead.about-page-lead-highlight,
  .about-page-main .about-page-copy .about-page-lead.about-page-shipping { margin-top: 15px; }
}

@media (min-width: 1001px) {
  .about-page-main .about-page-promise { width: min(470px, 42%); }
}
@media (min-width: 1001px) and (min-height: 701px) and (max-height: 900px) {
  .about-page-main .about-page-store-photo { height: clamp(190px, 28vh, 220px); }
}
@media (min-width: 1001px) and (max-height: 700px) {
  .about-page-main .about-page-promise { width: min(430px, 40%); }
}

.voucher-page-copy h1 + .voucher-page-lead { margin-top: 22px; }
.voucher-page-copy .voucher-page-lead { font-size: 18px; line-height: 1.65; }
.voucher-page-copy .voucher-page-lead + .voucher-page-lead { margin-top: 12px; }
@media (max-width: 900px) {
  .voucher-page-copy .voucher-page-lead { font-size: 16px; line-height: 1.55; }
}
@media (max-width: 640px) {
  .voucher-page-copy h1 + .voucher-page-lead { margin-top: 14px; }
  .voucher-page-copy .voucher-page-lead { font-size: 15px; line-height: 1.5; }
}

/* 메인 하단 바로가기: 실제 온누리상품권 앞면 이미지를 온전히 표시 */
.home-first-screen .quick-category > img.quick-category-voucher-image {
  width: 68px;
  height: 58px;
  flex: 0 0 68px;
  object-fit: cover;
  object-position: center 70%;
  border: 1px solid #d8cbb7;
  border-radius: 3px;
  background: #eae4d7;
}
@media (max-width: 900px) {
  .home-first-screen .quick-category > img.quick-category-voucher-image {
    width: 58px;
    height: 50px;
    flex-basis: 58px;
  }
}
@media (max-width: 640px) {
  .home-first-screen .quick-category > img.quick-category-voucher-image {
    width: 44px;
    height: 38px;
    flex-basis: 44px;
  }
}
@media (max-width: 360px) {
  .home-first-screen .quick-category > img.quick-category-voucher-image {
    width: 40px;
    height: 36px;
    flex-basis: 40px;
  }
}


/* Main header links: subtle, clearly clickable tab buttons on desktop. */
@media (min-width: 1001px) {
  .home-main-header .primary-nav-main-links > a {
    position: relative;
    z-index: 0;
    border-radius: 8px;
  }
  .home-main-header .primary-nav-main-links > a::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: -5px -5px;
    border: 1px solid rgba(41, 68, 54, .15);
    border-radius: 8px;
    background: rgba(255, 255, 255, .38);
    transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease;
  }
  .home-main-header .primary-nav-main-links > a:hover::before,
  .home-main-header .primary-nav-main-links > a:focus-visible::before {
    border-color: rgba(41, 68, 54, .32);
    background: rgba(41, 68, 54, .055);
    box-shadow: 0 2px 5px rgba(41, 68, 54, .06);
  }
}

@media (min-width: 1201px) {
  .home-main-header .primary-nav-main-links { gap: clamp(18px, 1.5vw, 21px); }
}
@media (min-width: 1001px) and (max-width: 1200px) {
  .home-main-header .primary-nav-main-links { gap: clamp(14px, 1.2vw, 16px); }
  .home-main-header .primary-nav-main-links > a::before { inset: -4px -3px; }
}


/* Align the two delivery labels and enlarge the truck in the homepage's green header box. */
@media (min-width: 1001px) {
  .home-main-header:not(.category-site-header) #primary-nav > .delivery-static-pill .shipping-tab-icon {
    width: 44px;
    height: auto;
    flex: 0 0 44px;
  }
  .home-main-header:not(.category-site-header) #primary-nav > .delivery-static-pill .motorcycle-tab-icon {
    width: 44px;
    height: auto;
    flex: 0 0 44px;
  }
}


/* 홈페이지 이미지 파일 다운로드 갤러리 */
.home-footer-download { display: inline-flex; align-items: center; margin-left: 18px; padding-bottom: 2px; border-bottom: 1px solid currentColor; color: var(--green); font-size: 14px; font-weight: 700; text-decoration: none; white-space: nowrap; }
.home-footer-download:hover { color: #49684e; }
.home-footer-download:focus-visible, .image-download-main a:focus-visible { outline: 3px solid #c49459; outline-offset: 3px; }
.downloads-page-body { min-height: 100vh; min-height: 100svh; display: flex; flex-direction: column; }
.image-download-main { flex: 1 0 auto; width: min(1360px, 92vw); margin: 0 auto; padding: 20px 0 48px; }
.image-download-intro { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 16px 30px; margin: 0 0 22px; padding: 8px 0 18px; border-bottom: 1px solid var(--line); }
.image-download-intro-copy { min-width: 0; }
.image-download-intro-copy .service-eyebrow { margin: 0 0 8px; color: #7b816f; font-size: 12px; font-weight: 700; letter-spacing: .13em; }
.image-download-intro-copy h1 { margin: 0; color: #26382d; font-family: var(--serif); font-size: clamp(28px, 3.2vw, 42px); font-style: normal; font-weight: 600; line-height: 1.25; word-break: keep-all; }
.image-download-lead { margin: 8px 0 0; color: #596258; font-size: 16px; line-height: 1.6; word-break: keep-all; }
.image-download-all { display: grid; justify-items: end; gap: 6px; }
.image-download-zip { min-width: 235px; display: grid; gap: 3px; padding: 12px 16px; border: 1px solid #294436; border-radius: 9px; background: #294436; color: #f6f3eb; text-decoration: none; transition: background .2s ease, transform .2s ease; }
.image-download-zip:hover { background: #365944; transform: translateY(-1px); }
.image-download-zip > span { font-size: 13px; font-weight: 600; }
.image-download-zip > strong { display: flex; justify-content: space-between; align-items: center; font-size: 17px; }
.image-download-all > p { margin: 0; color: #677064; font-size: 12px; }
.image-download-ai-note { grid-column: 1 / -1; margin: 0; padding: 9px 12px; border-left: 3px solid #b99a6a; background: #f0ece2; color: #535a50; font-size: 13px; line-height: 1.55; }
.image-download-ai-note strong { color: #294436; }
.image-download-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.image-download-card { min-width: 0; overflow: hidden; border: 1px solid #e3ddd1; border-radius: 13px; background: #fffefa; box-shadow: 0 5px 16px rgba(48, 49, 35, .045); }
.image-download-preview { height: 190px; margin: 0; display: grid; place-items: center; overflow: hidden; background: #f3efe6; }
.image-download-preview img { display: block; width: 100%; height: 100%; object-fit: contain; }
.image-download-card-copy { padding: 13px 14px 14px; }
.image-download-index { margin: 0 0 5px; color: #808373; font-family: var(--sans); font-size: 10px; font-weight: 700; letter-spacing: .12em; }
.image-download-card h2 { margin: 0; color: #2d3f33; font-family: var(--serif); font-size: 18px; font-style: normal; font-weight: 600; line-height: 1.35; }
.image-download-description { min-height: 40px; margin: 5px 0 12px; color: #5f675c; font-size: 13px; line-height: 1.5; word-break: keep-all; }
.image-format-links { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; }
.image-format-link { min-height: 39px; display: inline-flex; align-items: center; justify-content: center; gap: 5px; border: 1px solid #c9d0c4; border-radius: 7px; background: #f6f7f1; color: #294436; font-family: var(--sans); font-size: 13px; font-weight: 700; text-decoration: none; transition: background .15s ease, border-color .15s ease; }
.image-format-link:hover { border-color: #789078; background: #e9eee5; }
.format-download-mark { color: #7a875f; font-size: 16px; line-height: 1; }

@media (max-width: 960px) {
  .image-download-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .image-download-preview { height: 210px; }
}
@media (max-width: 640px) {
  .home-footer-download { margin-left: 10px; font-size: 12px; }
  .image-download-main { width: calc(100% - 32px); padding: 14px 0 32px; }
  .image-download-intro { grid-template-columns: minmax(0, 1fr); gap: 12px; margin-bottom: 16px; padding-bottom: 14px; }
  .image-download-intro-copy h1 { font-size: 28px; }
  .image-download-lead { font-size: 15px; }
  .image-download-all { justify-items: stretch; }
  .image-download-zip { min-width: 0; }
  .image-download-all > p { font-size: 12px; }
  .image-download-grid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .image-download-preview { height: clamp(170px, 56vw, 250px); }
  .image-download-card-copy { padding: 13px; }
  .image-download-card h2 { font-size: 18px; }
  .image-download-description { min-height: 0; font-size: 14px; }
  .image-format-links { gap: 6px; }
  .image-format-link { min-height: 42px; font-size: 14px; }
}

/* 메인 배송 안내는 선명한 딥 그린, 첫 화면 매장 정보는 카테고리와 같은 높이로 정돈합니다. */
.home-main-header:not(.category-site-header) #primary-nav > .delivery-static-pill {
  background-color: #234C35;
  box-shadow: 0 4px 12px rgba(35, 76, 53, .22);
}
.home-footer {
  grid-template-columns: max-content minmax(0, 1fr);
  grid-template-rows: auto;
  align-items: center;
  gap: 12px 5%;
}
.home-footer .footer-brand { grid-column: 1; grid-row: 1; align-self: center; }
.home-footer-details {
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
  width: min(740px, 100%);
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-self: end;
  gap: 5px;
}
.home-footer .footer-topline {
  grid-column: auto;
  grid-row: auto;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: flex-start;
  gap: 4px;
  padding: 0;
  border: 0;
}
.home-footer .footer-topline .footer-address { font-size: 15px; text-align: right; white-space: normal; }
.home-footer .footer-topline .footer-hours { justify-content: flex-end; margin: 0; font-size: 13px; }
.home-footer .footer-delivery {
  grid-column: auto;
  grid-row: auto;
  width: max-content;
  max-width: 100%;
  justify-self: end;
  align-self: flex-end;
  gap: 14px;
  margin: 0;
}
.home-footer .footer-since {
  grid-column: auto;
  grid-row: auto;
  width: 100%;
  margin: 0;
  padding: 5px 0 0;
  text-align: right;
}
.home-footer-search-context {
  grid-column: 1 / -1;
  width: 100%;
  max-width: 1180px;
  margin: 14px auto 0;
  padding-top: 10px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  text-align: left;
}
.home-footer-search-context p {
  margin: 0;
  font-style: normal;
}
.home-footer-search-summary {
  font-size: 14px;
  line-height: 1.55;
}
.home-footer-search-terms {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 6px;
  margin-top: 8px;
  font-size: 13px;
  line-height: 1.6;
}
.home-footer-search-row {
  display: grid;
  grid-template-columns: 104px minmax(0, 1fr);
  align-items: start;
  column-gap: 12px;
}
.home-footer-search-label { color: var(--green); font-size: inherit; font-weight: 600; white-space: nowrap; }
.home-footer-search-items {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 3px 0;
  margin: 0;
  padding: 0;
  color: var(--muted);
  list-style: none;
}
.home-footer-search-items li { display: inline-flex; white-space: nowrap; }
.home-footer-search-items li:not(:last-child)::after { content: "·"; margin: 0 8px; color: rgba(36, 53, 43, .38); }
.home-footer-search-primary { padding-bottom: 6px; border-bottom: 1px solid var(--line); }
@media (max-width: 1100px) {
  .home-footer { gap: 12px 20px; }
  .home-footer-details { width: 100%; }
  .home-footer .footer-topline .footer-address { font-size: 13px; }
  .home-footer .footer-topline .footer-hours { font-size: 12px; }
}
@media (max-width: 640px) {
  .home-footer {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto;
    gap: 10px;
    padding: 18px 16px;
  }
  .home-footer .footer-brand { grid-column: 1; grid-row: 1; }
  .home-footer-details { grid-column: 1; grid-row: 2; width: 100%; gap: 4px; }
  .home-footer .footer-topline .footer-address { font-size: clamp(11px, 3.1vw, 13px); }
  .home-footer .footer-topline .footer-hours { font-size: clamp(10px, 2.9vw, 12px); flex-wrap: wrap; }
  .home-footer .footer-delivery { gap: 8px; }
  .home-footer .footer-since { font-size: 12px; }
  .home-footer-search-row { grid-template-columns: 100px minmax(0, 1fr); column-gap: 8px; }
}

@keyframes home-brand-name-gentle {
  0%, 100% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-4px) scale(1.035); }
}
.home-main-header:not(.category-site-header) .brand-name {
  font-size: clamp(24px, 2.35vw, 30px);
  transform-origin: left center;
  animation: home-brand-name-gentle 3s ease-in-out infinite;
}
@media (prefers-reduced-motion: reduce) {
  .home-main-header:not(.category-site-header) .brand-name { animation: none; }
}

/* 가정용 라탄 바구니는 메인 카드에서도 과일과 바구니 전체를 보여줍니다. */
a.quick-category[href="/category.html?type=household"] img,
a.category-tile[href="/category.html?type=household"] .category-tile-image {
  object-fit: contain;
  background: #ece7dd;
}


/* Small, low-emphasis local search context on the store introduction page. */
.about-page-search-context {
  max-width: 650px;
  margin-top: 18px;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.55;
}
.about-page-search-label {
  margin: 0 0 4px;
  color: rgba(35, 76, 53, .62);
  font-size: 9px;
  font-weight: 600;
}
.about-page-search-list {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 0;
}
.about-page-search-list li { white-space: nowrap; }
.about-page-search-list li:not(:last-child)::after {
  content: "·";
  display: inline-block;
  margin: 0 6px;
  color: rgba(57, 77, 60, .4);
}
@media (min-width: 1001px) and (max-height: 900px) {
  .about-page-search-context { margin-top: 8px; font-size: 9px; line-height: 1.4; }
  .about-page-search-label { margin-bottom: 2px; font-size: 8px; }
}
@media (max-width: 1000px) {
  .about-page-search-context { margin-top: 13px; }
}
@media (max-width: 640px) {
  .about-page-search-context { margin-top: 11px; font-size: 10px; line-height: 1.45; }
}
