:root {
  --black: #111;
  --white: #fff;
  --red: #f01818;
  --line: #999;
  --placeholder: #f7f7f7;
}

/* Opening soon */
.opening-body { min-height:100svh; overflow-x:hidden; color:#171310; background:#fff; }
.opening-page { position:relative; min-height:100svh; display:flex; flex-direction:column; isolation:isolate; overflow:hidden; }
.opening-page::before { content:""; position:absolute; z-index:-2; top:-18vw; right:-12vw; width:min(68vw,900px); aspect-ratio:1; border:1px solid rgba(92,18,30,.16); border-radius:50%; }
.opening-page::after { content:""; position:absolute; z-index:-2; bottom:-32vw; left:-18vw; width:min(70vw,940px); aspect-ratio:1; border:1px solid rgba(92,18,30,.12); border-radius:50%; }
.opening-page__grain { position:absolute; z-index:-1; inset:0; opacity:.25; pointer-events:none; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.16'/%3E%3C/svg%3E"); }
.opening-header { width:100%; display:flex; align-items:center; justify-content:space-between; padding:34px clamp(24px,5vw,76px); }
.opening-brand img { display:block; width:clamp(190px,20vw,280px); height:auto; }
.opening-header p { margin:0; font-size:10px; letter-spacing:.22em; }
.opening-hero { position:relative; width:min(100%,1500px); min-height:620px; flex:1; display:grid; grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr); align-items:center; gap:7vw; margin:0 auto; padding:50px clamp(24px,9vw,140px) 80px; }
.opening-hero__copy { position:relative; z-index:2; }
.opening-eyebrow { margin:0 0 29px; color:#741526; font-family:Georgia,"Times New Roman",serif; font-size:12px; font-weight:700; letter-spacing:.36em; }
.opening-hero h1 { margin:0; font-family:Georgia,"Times New Roman","Noto Serif KR",serif; font-weight:400; letter-spacing:-.045em; line-height:1.16; }
.opening-hero h1 span { display:block; font-size:clamp(34px,4.2vw,70px); }
.opening-hero h1 em { display:block; margin-top:8px; color:#741526; font-size:clamp(36px,4.8vw,78px); font-weight:400; }
.opening-intro { margin:35px 0 0; color:#524b44; font-size:clamp(14px,1.2vw,17px); letter-spacing:.02em; line-height:1.9; }
.opening-status { width:max-content; display:grid; grid-template-columns:auto auto; align-items:center; gap:4px 10px; margin-top:52px; padding-top:17px; border-top:1px solid rgba(23,19,16,.35); }
.opening-status__dot { grid-row:1 / 3; width:8px; height:8px; border-radius:50%; background:#741526; box-shadow:0 0 0 0 rgba(116,21,38,.4); animation:opening-pulse 2.2s ease-out infinite; }
.opening-status strong { font-family:Georgia,"Times New Roman",serif; font-size:13px; letter-spacing:.18em; }
.opening-status span:last-child { color:#746c64; font-size:11px; letter-spacing:.08em; }
.opening-emblem { position:relative; width:min(34vw,490px); aspect-ratio:1; display:grid; place-items:center; justify-self:center; }
.opening-emblem::before,.opening-emblem::after,.opening-emblem__ring { content:""; position:absolute; border:1px solid rgba(23,19,16,.26); border-radius:50%; }
.opening-emblem::before { inset:0; }
.opening-emblem::after { inset:7%; border-color:rgba(116,21,38,.35); }
.opening-emblem__ring { inset:14%; }
.opening-emblem img { position:relative; z-index:1; width:48%; height:auto; mix-blend-mode:multiply; animation:opening-reveal 1.2s cubic-bezier(.2,.7,.2,1) both; }
.opening-emblem p { position:absolute; bottom:8%; margin:0; padding:0 8px; background:#fff; font-family:Georgia,"Times New Roman",serif; font-size:10px; letter-spacing:.32em; }
.opening-contact { display:flex; align-items:center; gap:8px; margin-top:27px; }
.opening-contact a,.opening-contact button { width:43px; height:43px; flex:0 0 43px; display:grid; place-items:center; padding:0; border:1px solid rgba(23,19,16,.42); border-radius:50%; color:#171310; background:#fff; cursor:pointer; transition:color .2s,background .2s,border-color .2s,transform .2s; }
.opening-contact a:hover,.opening-contact a:focus-visible,.opening-contact button:hover,.opening-contact button:focus-visible { border-color:#741526; color:#fff; background:#741526; outline:0; transform:translateY(-2px); }
.opening-contact svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.opening-contact .instagram-link svg { width:24px; height:24px; }
.opening-contact svg.fill-icon { fill:currentColor; stroke:none; }
.opening-contact .facebook-icon { width:22px; height:22px; fill:currentColor; stroke:none; }
.opening-contact svg .icon-dot { fill:currentColor; stroke:none; }
.opening-contact .kakao-link img { display:block; width:23px; height:auto; filter:grayscale(1) brightness(0); transition:filter .2s; }
.opening-contact .kakao-link:hover img,.opening-contact .kakao-link:focus-visible img { filter:grayscale(1) brightness(0) invert(1); }
.opening-contact .share-link svg,.opening-contact .phone-link svg { width:20px; height:20px; }
.opening-share-feedback { min-height:18px; margin:10px 0 0; color:#741526; font-size:11px; font-weight:700; letter-spacing:.04em; opacity:0; transform:translateY(-3px); transition:opacity .2s,transform .2s; }
.opening-share-feedback.is-visible { opacity:1; transform:translateY(0); }
.opening-side-note { position:absolute; right:34px; top:50%; margin:0; font-family:Georgia,"Times New Roman",serif; font-size:9px; letter-spacing:.32em; writing-mode:vertical-rl; transform:translateY(-50%); }
.opening-footer { display:flex; justify-content:space-between; gap:20px; padding:25px clamp(24px,5vw,76px) 30px; border-top:1px solid rgba(23,19,16,.16); color:#6d655d; font-size:10px; letter-spacing:.12em; }
.opening-footer p { margin:0; }
@keyframes opening-pulse { 70% { box-shadow:0 0 0 9px rgba(116,21,38,0); } 100% { box-shadow:0 0 0 0 rgba(116,21,38,0); } }
@keyframes opening-reveal { from { opacity:0; transform:scale(.88) rotate(-4deg); } to { opacity:1; transform:scale(1) rotate(0); } }
@media (max-width:800px) {
  .opening-header { padding-top:25px; }
  .opening-header p { display:none; }
  .opening-hero { min-height:auto; grid-template-columns:1fr; align-content:center; gap:54px; padding-top:48px; padding-bottom:70px; }
  .opening-hero__copy { text-align:center; }
  .opening-eyebrow { margin-bottom:22px; }
  .opening-intro { margin-top:27px; }
  .opening-status { margin:40px auto 0; text-align:left; }
  .opening-contact { justify-content:center; }
  .opening-share-feedback { text-align:center; }
  .opening-emblem { width:min(72vw,350px); grid-row:1; }
  .opening-side-note { display:none; }
}
@media (max-width:460px) {
  .opening-brand img { width:185px; }
  .opening-hero { gap:38px; padding-inline:20px; padding-top:28px; }
  .opening-hero h1 span { font-size:31px; }
  .opening-hero h1 em { font-size:34px; }
  .opening-intro { font-size:13px; }
  .opening-emblem { width:min(66vw,280px); }
  .opening-footer { flex-direction:column; align-items:center; gap:8px; text-align:center; }
}
@media (prefers-reduced-motion:reduce) {
  .opening-status__dot,.opening-emblem img { animation:none; }
}

* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; }
body {
  color: var(--black);
  background: var(--white);
  font-family: Arial, "Helvetica Neue", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
button { color: inherit; font: inherit; }

.site-header { position:sticky; z-index:20; top:0; width:100%; background:var(--white); }
.brand-row {
  position: relative;
  height: 54px;
  display: grid;
  place-items: center;
}
.member-menu { position:absolute; top:50%; right:12px; display:flex; align-items:center; gap:9px; transform:translateY(-50%); }
.member-menu span,.member-menu a { color:#777; font-size:9px; white-space:nowrap; }
.member-menu a { text-decoration:underline; text-underline-offset:2px; }
.member-menu .kakao-login-link { padding:7px 9px; border-radius:3px; color:#191919; background:#fee500; font-weight:700; text-decoration:none; }
.brand {
  display: inline-flex;
  align-items: center;
  transform: translateY(4px);
}
.brand img { display: block; width: auto; height: 17px; }
.category-nav {
  min-height: 42px;
  display: block;
  padding: 0;
  border-bottom: 1px solid #e8e8e8;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  white-space: nowrap;
}
.category-nav::-webkit-scrollbar { display: none; }
.category-nav__inner {
  width: max-content;
  min-width: 100%;
  min-height: 41px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: nowrap;
  gap: 14px;
  padding: 4px 16px;
}
.category-nav a {
  position: relative;
  flex: 0 0 auto;
  font-size: 13px;
  font-weight: 400;
  letter-spacing: .025em;
  line-height: 27px;
}
.category-nav .category-new { color: var(--red); }
.category-nav a::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -4px;
  left: 0;
  height: 2px;
  background: transparent;
}
.category-nav a.is-active::after { background: var(--black); }

.shop-page { width: 100%; padding-bottom: 50px; }
.sort-nav {
  position:sticky;
  z-index:19;
  top:96px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 13px;
  border-bottom:1px solid #eee;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(8px);
}
.sort-nav button {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 3px 0 2px;
  border: 0;
  background: transparent;
  font-size: 13px;
  font-weight: 400;
  letter-spacing: .035em;
  line-height: 1;
  cursor: pointer;
}
.sort-nav button b { display: none; font-size: 8px; font-weight: 400; transform: translateY(-1px); }
.sort-nav button.is-active b { display: inline; }

.product-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 14px;
  padding: 0 8px;
}
.product-card { min-width: 0; text-align: center; }
.product-card[hidden] { display:none; }
.product-load-more { display:grid; place-items:center; padding:42px 16px 0; }
.product-load-more[hidden] { display:none; }
.product-load-more button { min-width:190px; height:48px; padding:0 24px; border:1px solid #111; color:#111; background:#fff; font-size:12px; font-weight:700; letter-spacing:.04em; cursor:pointer; transition:color .2s,background .2s; }
.product-load-more button:focus-visible { outline:2px solid #111; outline-offset:3px; }
@media (hover:hover) and (pointer:fine) {
  .product-load-more button:hover { color:#fff; background:#111; }
}
@keyframes product-loading { to { transform:rotate(360deg); } }
.product-card[hidden] { display: none; }
.product-empty { margin: 70px 20px; color: #888; font-size: 13px; text-align: center; }
.product-gallery {
  position: relative;
  width: 100%;
  aspect-ratio: .85;
  border: 1px solid var(--line);
  background: var(--placeholder);
  overflow: hidden;
  outline: none;
}
.product-gallery:focus-visible { outline: 2px solid var(--black); outline-offset: 2px; }
.product-slides { width: 100%; height: 100%; display: flex; transition: transform .35s ease; }
.product-slide { flex: 0 0 100%; width: 100%; height: 100%; margin: 0; }
.product-slide img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.product-slide img { cursor: zoom-in; }
.gallery-arrow {
  position: absolute;
  top: 50%;
  z-index: 2;
  width: 30px;
  height: 42px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  background: rgba(255,255,255,.72);
  font-size: 25px;
  line-height: 1;
  cursor: pointer;
  transform: translateY(-50%);
}
.gallery-prev { left: 0; }
.gallery-next { right: 0; }
.gallery-dots { position: absolute; z-index: 2; bottom: 8px; left: 50%; display: flex; gap: 5px; transform: translateX(-50%); }
.gallery-dots button { width: 6px; height: 6px; padding: 0; border: 1px solid #333; border-radius: 50%; background: rgba(255,255,255,.75); cursor: pointer; }
.gallery-dots button[aria-current="true"] { background: #111; }
.product-flags { position:absolute; z-index:3; top:8px; left:8px; display:flex; flex-direction:row; align-items:center; gap:4px; pointer-events:none; }
.product-flags span { display:block; padding:5px 7px 4px; color:#fff; background:#111; font-size:9px; font-weight:700; letter-spacing:.08em; line-height:1; }
.product-flags .is-hot { background:#b3282d; }
.product-flags .is-steady { background:#263f68; }
.product-flags .is-new { color:#111; background:#fff; }

@media (max-width: 1199px) {
  .category-nav { scroll-behavior: smooth; }
}

@media (max-width: 1199px) {
  .product-gallery .gallery-arrow,
  .image-modal__arrow { display: none; }
}

body.has-image-modal { overflow: hidden; }
.image-modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 18px;
}
.image-modal.is-open { display: flex; }
.image-modal__backdrop { position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; border: 0; background: rgba(0,0,0,.82); cursor: zoom-out; }
.image-modal__panel { position: relative; z-index: 1; width: min(92vw, 820px); height: min(92vh, 980px); display: flex; flex-direction: column; }
.image-modal__stage { position: relative; min-height: 0; flex: 1; display: grid; place-items: center; overflow: hidden; background: #f4f2ef; }
.image-modal__image { display: block; width: 100%; height: 100%; object-fit: contain; }
.image-modal__close {
  position: absolute;
  top: -14px;
  right: -14px;
  z-index: 3;
  width: 38px;
  height: 38px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #fff;
  font-size: 26px;
  font-weight: 300;
  line-height: 1;
  cursor: pointer;
}
.image-modal__arrow {
  position: absolute;
  top: 50%;
  z-index: 2;
  width: 42px;
  height: 58px;
  padding: 0;
  border: 0;
  background: rgba(255,255,255,.78);
  font-size: 34px;
  font-weight: 300;
  cursor: pointer;
  transform: translateY(-50%);
}
.image-modal__prev { left: 0; }
.image-modal__next { right: 0; }
.image-modal__details { padding: 15px 18px 12px; background: #fff; text-align: left; }
.image-modal__name { margin: 0; font-size: 16px; font-weight: 700; line-height: 1.3; }
.image-modal__description { margin: 6px 0 0; color: #555; font-size: 13px; line-height: 1.55; white-space: pre-line; }
.image-modal__price { margin: 9px 0 0; font-size: 14px; line-height: 1.3; }
.image-modal__price del { margin-right: 5px; color: #777; font-size: 12px; }
.image-modal__price strong { font-weight: 600; }
.image-modal__price em { margin-left: 5px; color: var(--red); font-size: 12px; font-style: normal; }
.image-modal__footer { min-height: 42px; display: flex; align-items: center; justify-content: center; gap: 16px; background: #fff; }
.image-modal__counter { font-size: 12px; letter-spacing: .08em; }
.image-modal__dots { display: flex; gap: 7px; }
.image-modal__dots button { width: 7px; height: 7px; padding: 0; border: 1px solid #222; border-radius: 50%; background: #fff; cursor: pointer; }
.image-modal__dots button[aria-current="true"] { background: #111; }
.product-info { min-height: 67px; padding: 5px 1px 0; }
.product-name, .product-summary, .product-price { margin: 0; }
.product-name { font-size: 15px; font-weight: 800; line-height: 1.1; }
.product-summary { font-size: 14px; line-height: 1.2; }
.product-price { margin-top: 2px; font-size: 13px; line-height: 1.2; white-space: nowrap; }
.product-price strong { font-weight: 500; }
.product-price--sale { display: flex; align-items: baseline; justify-content: center; gap: 3px; }
.product-price--sale del { font-size: 11px; }
.product-price--sale em { color: var(--red); font-size: 12px; font-style: normal; }
.product-slide--empty { display: grid; place-items: center; background: var(--placeholder); color: #999; font-size: 11px; }
.gallery-soldout { position: absolute; inset: 0; z-index: 2; display: grid; place-items: center; color: #fff; background: rgba(0,0,0,.38); font-size: 14px; font-weight: 700; pointer-events: none; }

.site-footer { margin-top:56px; color:#fff; background:#111; }
.site-footer__inner { display:grid; gap:34px; padding:42px 24px 34px; }
.site-footer__brand img { display:block; width:min(100%,270px); height:auto; filter:invert(1); }
.site-footer__brand a img { margin-inline:auto; }
.site-footer__brand .site-footer__symbol { display:block; width:56px; margin:0 auto 18px; }
.site-footer__brand p { margin:18px 0 0; color:#aaa; font-size:11px; letter-spacing:.11em; line-height:1.8; text-align:center; }
.site-footer__company h2 { margin:0 0 15px; font-size:11px; letter-spacing:.14em; }
.site-footer__company dl { display:grid; gap:7px; margin:0; color:#aaa; font-size:10px; line-height:1.5; }
.site-footer__company dl div { display:flex; gap:12px; }
.site-footer__company dt { flex:0 0 86px; color:#ddd; }
.site-footer__company dd { margin:0; }
.site-footer__contact { display:flex; align-items:center; justify-content:center; gap:8px; }
.site-footer__contact a,.site-footer__contact button { width:54px; height:54px; flex:0 0 54px; display:grid; place-items:center; padding:0; border:1px solid #6f6f6f; border-radius:0; color:#aaa; background:#111; cursor:pointer; transition:border-color .2s,background .2s,color .2s; }
.site-footer__contact a:hover,.site-footer__contact a:focus-visible,.site-footer__contact button:hover,.site-footer__contact button:focus-visible { border-color:#fff; color:#fff; background:#181818; outline:0; }
.site-footer__contact svg { width:28px; height:28px; fill:none; stroke:currentColor; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; }
.site-footer__contact .instagram-link svg { width:35px; height:35px; }
.site-footer__contact svg.fill-icon { fill:currentColor; stroke:none; }
.site-footer__contact .facebook-inverse { fill:currentColor; stroke:none; }
.site-footer__contact .facebook-inverse path { fill:#111; }
.site-footer__contact .facebook-icon { width:25px; height:25px; fill:currentColor; stroke:none; }
.site-footer__contact svg .icon-dot { fill:currentColor; stroke:none; }
.site-footer__contact .kakao-link img { display:block; width:31px; height:auto; filter:grayscale(1) brightness(0) invert(1); transition:filter .2s; }
.site-footer__contact :is(.share-link,.phone-link) svg { width:25px; height:25px; }
.site-footer__share-feedback { min-height:16px; margin:-22px 0 0; color:#fff; font-size:11px; letter-spacing:.04em; text-align:center; opacity:0; transform:translateY(-3px); transition:opacity .2s,transform .2s; }
.site-footer__share-feedback.is-visible { opacity:1; transform:translateY(0); }
.site-footer__bottom { padding:18px 24px; border-top:1px solid #292929; }
.site-footer__bottom p { margin:0; color:#777; font-size:9px; letter-spacing:.08em; text-align:center; }

.install-banner { position:fixed; right:12px; bottom:14px; left:12px; z-index:50; max-width:520px; margin:0 auto; color:#5f5e5e; }
.install-banner[hidden],.install-banner [hidden] { display:none !important; }
.install-banner__inner { display:flex; align-items:center; gap:12px; padding:12px 13px; border:1px solid #eee; border-radius:12px; background:#fff; box-shadow:0 10px 24px rgba(0,0,0,.16); }
.install-banner__icon { width:55px; height:55px; flex:0 0 55px; object-fit:contain; padding:8px; border-radius:10px; background:#f5f5f5; }
.install-banner__content { min-width:0; flex:1; }
.install-banner__content > div { align-items:center; gap:12px; }
.install-banner__content > div:not([hidden]) { display:flex; }
.install-banner__content strong { color:#1a1c1c; }
.install-banner__content [data-install-android] strong { flex:1; font-size:14px; line-height:1.25; }
.install-banner__content button { padding:5px; border:0; color:#111; background:transparent; font-weight:700; cursor:pointer; }
.install-banner__content [data-install-action] { font-size:13px; text-decoration:underline; text-underline-offset:3px; }
.install-banner__content p { min-width:0; flex:1; margin:0; font-size:13px; line-height:1.45; }
.install-banner__close { flex:0 0 auto; color:#999 !important; font-size:23px; font-weight:300 !important; line-height:1; }

@media (min-width: 768px) {
  .install-banner { display:none !important; }
}

@media (min-width: 768px) {
  .brand-row { height: 70px; }
  .brand img { height: 22px; }
  .member-menu { right:24px; gap:12px; }.member-menu span,.member-menu a { font-size:10px; }
  .category-nav { min-height: 52px; }
  .category-nav__inner { min-height: 51px; gap: 24px; padding-top: 0; padding-bottom: 0; }
  .category-nav a { display: flex; align-items: center; font-size: 15px; line-height: 52px; }
  .category-nav a::after { bottom: 0; }
  .sort-nav { top:122px; height:52px; gap:22px; }
  .sort-nav button { font-size: 14px; }
  .product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px 18px; padding: 0 24px; }
  .site-footer { margin-top:80px; }
  .site-footer__inner { grid-template-columns:1.15fr 1fr; padding:52px 48px 42px; }
  .site-footer__contact { grid-column:1 / -1; }
  .site-footer__contact { gap:14px; }
  .site-footer__contact a,.site-footer__contact button { width:64px; height:64px; flex-basis:64px; }
  .site-footer__contact svg { width:32px; height:32px; }
  .site-footer__contact .kakao-link img { width:34px; }
  .site-footer__contact :is(.share-link,.phone-link) svg { width:28px; height:28px; }
  .site-footer__contact .instagram-link svg { width:39px; height:39px; }
}

@media (min-width: 1200px) {
  .brand-row { height:80px; }
  .brand { transform:translateY(6px); }
  .brand img { height:27px; }
  .member-menu { right:32px; }
  .category-nav { min-height: 60px; }
  .category-nav__inner { min-height: 59px; gap: 34px; }
  .category-nav a { font-size: 16px; line-height: 60px; }
  .sort-nav { top:140px; height:64px; }
  .product-grid {
    width: min(1680px, calc(100% - 64px));
    margin: 0 auto;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 38px 20px;
    padding: 0;
  }
  .product-info { min-height: 82px; padding-top: 8px; }
  .product-name { font-size: 16px; }
  .product-summary { font-size: 15px; }
  .product-price { font-size: 14px; }
  .gallery-arrow { opacity: 0; transition: opacity .2s ease; }
  .product-gallery:hover .gallery-arrow,
  .product-gallery:focus-within .gallery-arrow { opacity: 1; }
  .site-footer { margin-top:110px; }
  .site-footer__inner { width:min(1500px,calc(100% - 96px)); margin:0 auto; grid-template-columns:.85fr 1.05fr 1.4fr; align-items:start; gap:50px; padding:70px 0 58px; }
  .site-footer__brand img { width:320px; }
  .site-footer__brand .site-footer__symbol { display:block; width:72px; margin-bottom:24px; }
  .site-footer__contact { grid-column:auto; gap:28px; }
  .site-footer__contact a,.site-footer__contact button { width:92px; height:92px; flex-basis:92px; }
  .site-footer__contact svg { width:38px; height:38px; stroke-width:2.2; }
  .site-footer__contact .kakao-link img { width:40px; }
  .site-footer__contact :is(.share-link,.phone-link) svg { width:33px; height:33px; }
  .site-footer__contact .instagram-link svg { width:46px; height:46px; }
  .site-footer__bottom p { width:min(1500px,calc(100% - 96px)); margin:0 auto; text-align:left; }
}
