.sub-page {
  --sub-hero-eyebrow: 16px;
  --sub-hero-title: 68px;
  --sub-hero-body: 20px;
  --sub-hero-stack: 24px;
  --sub-section-title: 52px;
  --sub-panel-title: 46px;
  --sub-block-title: 42px;
  --sub-card-title: 28px;
  --sub-subhead: 24px;
  --sub-lead: 24px;
  --sub-body: 20px;
  --sub-body-sm: 17px;
  --sub-label: 14px;
}
.sub-page main {
  font-family: "Noto Sans KR", "SUIT", sans-serif;
}
.sub-page .sub-hero-content {
  display: flex;
  flex-direction: column;
  gap: var(--sub-hero-stack);
  align-items: center;
}
.sub-page .sub-hero .eyebrow {
  color: #fff;
  font-family: "Inter", sans-serif;
  font-size: var(--sub-hero-eyebrow);
  font-weight: 600;
  letter-spacing: 0.08em;
}
.sub-page .sub-hero h1 {
  margin: 0;
  font-size: var(--sub-hero-title);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.045em;
}
.sub-page .sub-hero-content > p:last-child {
  margin: 0;
  max-width: 800px;
  color: rgb(255 255 255/0.86);
  font-size: var(--sub-hero-body);
  line-height: 1.6;
}
.sub-page .eyebrow {
  font-size: var(--sub-label);
}
.sub-page .sub-intro .eyebrow,
.sub-page .story-copy .eyebrow,
.sub-page .history-header > .eyebrow,
.sub-page .vision-section .eyebrow,
.sub-page .tech-summary .eyebrow,
.sub-page .quality-pledge .eyebrow,
.sub-page .space-approach-panel .eyebrow,
.sub-page .space-band .eyebrow {
  font-family: "Noto Sans KR", "SUIT", sans-serif;
  font-weight: 500;
  letter-spacing: 0;
}
.sub-page .tech-summary .eyebrow,
.sub-page .quality-pledge .eyebrow,
.sub-page .space-band .eyebrow {
  color: rgb(255 255 255/0.8);
}
.sub-page .space-approach-panel .eyebrow {
  color: #fff;
}
.sub-page .space-connect .eyebrow,
.sub-page .space-heading .eyebrow,
.sub-page .space-editorial-copy .eyebrow,
.sub-page .space-value .eyebrow,
.sub-page .zerosum-lineup-heading .eyebrow,
.sub-page .zerosum-principle-grid .eyebrow,
.sub-page .zerosum-product-card .eyebrow {
  font-family: "Noto Sans KR", "SUIT", sans-serif;
  font-weight: 500;
  letter-spacing: 0;
}
.sub-page[data-page="company"] .sub-hero {
  background:
    linear-gradient(rgb(0 0 0/0.5), rgb(0 0 0/0.5)),
    var(--sub-image) center/100% 158.06% no-repeat;
}
.sub-intro {
  padding: 160px 0;
}
.sub-intro-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 120px;
  align-items: start;
  margin-top: 34px;
}
.sub-intro h2,
.section-heading h2 {
  margin: 0;
  font-size: var(--sub-section-title);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -0.045em;
}
.sub-intro-copy {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.sub-intro-copy .lead {
  margin: 0;
  font-size: var(--sub-lead);
  font-weight: 700;
  line-height: 1.4;
}
.sub-intro-copy p {
  margin: 0;
  font-size: var(--sub-body);
  color: var(--muted);
  line-height: 1.55;
}
.sub-intro-copy .quote {
  padding-top: 28px;
  border-top: 1px solid var(--line);
  color: var(--ink);
}
.section-heading {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 120px;
  align-items: start;
}
.section-heading p {
  margin: 0;
  font-size: var(--sub-body);
  color: var(--muted);
  line-height: 1.55;
}
.company-narrative {
  padding: 160px 0;
  background: var(--soft);
}
.company-narrative .section-heading {
  margin-bottom: 72px;
  height: 170px;
}
.business-story {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 100px;
  align-items: center;
}
.business-story + .business-story {
  margin-top: 72px;
}
.business-story:nth-of-type(2) .story-copy {
  order: -1;
}
.business-story figure {
  margin: 0;
  aspect-ratio: 900/560;
  border-radius: 20px;
  overflow: hidden;
}
.business-story img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s;
}
.business-story:hover img {
  transform: scale(1.035);
}
.story-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
}
.story-copy h3 {
  margin: 0;
  font-size: var(--sub-block-title);
  line-height: 1.35;
}
.story-copy p {
  margin: 0;
  font-size: var(--sub-body);
  color: var(--muted);
  line-height: 1.55;
}
.circle-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--brand);
  font-size: 16px;
  font-weight: 500;
}
.circle-link i {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--brand);
  color: #fff;
  display: grid;
  place-items: center;
  font-style: normal;
}
.circle-link i img {
  width: 18px;
  height: 18px;
  max-width: none;
}
.company-overview {
  padding: 160px 0;
}
.overview-panel {
  min-height: 535px;
  padding: 100px 120px;
  border-radius: 20px;
  color: #fff;
  background:
    linear-gradient(rgb(9 28 82/0.72), rgb(9 28 82/0.72)),
    url("../images/sub/company-overview.png") center bottom/100% 175.78% no-repeat;
}
.overview-heading {
  display: grid;
  grid-template-columns: 620px 650px;
  justify-content: space-between;
  gap: 0;
  align-items: end;
  height: 140px;
}
.overview-heading h2 {
  margin: 0;
  font-size: var(--sub-panel-title);
  line-height: 1.3;
}
.overview-heading p {
  margin: 0;
  font-size: var(--sub-body);
  line-height: 1.55;
}
.overview-data {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-top: 80px;
  border-top: 1px solid rgb(255 255 255/0.32);
}
.overview-data div {
  padding: 38px 28px 0 34px;
  border-left: 1px solid rgb(255 255 255/0.22);
}
.overview-data div:first-child {
  padding-left: 0;
  border: 0;
}
.overview-data span {
  font-size: 14px;
  color: rgb(255 255 255/0.5);
}
.overview-data strong {
  display: block;
  margin-top: 22px;
  font-size: 24px;
  line-height: 1.4;
}
.overview-data div:nth-child(2) strong {
  font-size: 20px;
  font-weight: 500;
  line-height: 1.55;
}
.sub-page[data-page="history"] .sub-hero,
.sub-page[data-page="technology"] .sub-hero,
.sub-page[data-page^="space"] .sub-hero,
.sub-page[data-page^="zerosum"] .sub-hero,
.sub-page[data-page^="project"] .sub-hero,
.sub-page[data-page^="store"] .sub-hero,
.sub-page[data-page^="contact"] .sub-hero,
.sub-page[data-page^="policy"] .sub-hero,
.sub-page[data-page^="member"] .sub-hero {
  background:
    linear-gradient(rgb(0 0 0/0.38), rgb(0 0 0/0.38)),
    var(--sub-image) center/cover;
}
.history-section {
  padding: 160px 0;
}
.history-section > .container {
  display: flex;
  flex-direction: column;
  gap: 72px;
}
.history-header {
  display: flex;
  flex-direction: column;
  gap: 34px;
  margin-bottom: 0;
}
.history-header .section-heading {
  margin-top: 0;
  gap: 34px;
}
.history-header .section-heading p {
  font-weight: 500;
}
.history-filter {
  display: flex;
  gap: 10px;
  margin-bottom: 0;
}
.history-filter button {
  flex-shrink: 0;
  height: 54px;
  padding: 0 22px;
  border: 1px solid #dadada;
  border-radius: 27px;
  background: #fff;
  color: var(--brand);
  font-family: "Noto Sans KR", "SUIT", sans-serif;
  font-size: 14px;
  font-weight: 500;
  white-space: nowrap;
  cursor: pointer;
}
.history-filter button.is-active {
  color: #fff;
  background: var(--brand);
  border-color: var(--brand);
}
.history-row {
  display: grid;
  grid-template-columns: 430px 1fr;
  gap: 80px;
  padding: 52px 0;
  border-top: 1px solid #dadada;
}
.history-era {
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.history-era strong {
  display: block;
  color: #000;
  font-size: var(--sub-block-title);
  font-weight: 700;
  line-height: 1.35;
}
.history-era span {
  display: block;
  margin-top: 0;
  color: var(--brand);
  font-size: var(--sub-label);
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.5;
}
.milestones {
  display: flex;
  flex-direction: column;
  gap: 30px;
}
.milestone {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 40px;
  align-items: start;
}
.milestone b {
  color: var(--brand);
  font:
    500 20px/1.55 "Inter",
    sans-serif;
}
.milestone p {
  margin: 0;
  color: var(--ink);
  font-size: var(--sub-body-sm);
  font-weight: 400;
  line-height: 1.65;
}
.vision-section {
  padding: 160px 0;
  background: var(--brand);
  color: #fff;
}
.vision-section .eyebrow {
  color: rgb(255 255 255/0.8);
}
.vision-header {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 100px;
  margin-top: 20px;
}
.vision-header h2 {
  margin: 0;
  font-size: var(--sub-panel-title);
  font-weight: 700;
  line-height: 1.3;
}
.vision-header p {
  margin: 0;
  color: rgb(255 255 255/0.8);
  font-size: var(--sub-body);
  font-weight: 500;
  line-height: 1.55;
}
.values-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 40px;
}
.value {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 20px 50px;
  border-left: 1px solid rgb(255 255 255/0.28);
}
.value:first-child {
  padding: 20px 50px 20px 0;
  border: 0;
}
.value span {
  font:
    500 14px/1.5 "Inter",
    sans-serif;
  color: rgb(255 255 255/0.8);
}
.value strong {
  display: block;
  margin: 0;
  font-size: var(--sub-card-title);
  font-weight: 700;
  line-height: 1.4;
}
.value p {
  margin: 0;
  color: rgb(255 255 255/0.8);
  font-size: var(--sub-body-sm);
  font-weight: 400;
  line-height: 1.65;
}
.tech-overview {
  padding: 160px 0;
}
.tech-feature {
  display: grid;
  grid-template-columns: minmax(0, 920fr) minmax(0, 736fr);
  gap: 24px;
  align-items: stretch;
}
.tech-feature figure {
  margin: 0;
  width: 100%;
  min-width: 0;
  min-height: 580px;
  height: 100%;
  border-radius: 20px;
  overflow: hidden;
}
.tech-feature img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.tech-summary {
  display: flex;
  flex-direction: column;
  gap: 24px;
  min-width: 0;
  min-height: 580px;
  height: 100%;
  padding: 54px 58px 48px;
  border-radius: 20px;
  background: var(--brand);
  color: #fff;
}
.tech-summary h2 {
  margin: 0;
  font-size: var(--sub-block-title);
  line-height: 1.35;
}
.tech-summary > p {
  margin: 0;
  font-size: var(--sub-body-sm);
  color: rgb(255 255 255/0.82);
  line-height: 1.65;
}
.process-list {
  margin: 0;
  width: 100%;
}
.process-row {
  display: grid;
  grid-template-columns: auto auto 1fr;
  align-items: center;
  gap: 24px;
  min-height: 74px;
  padding: 16px 0;
  border-top: 1px solid rgb(255 255 255/0.5);
}
.process-row span {
  font-family: "Inter", sans-serif;
  font-size: var(--sub-label);
  font-weight: 500;
}
.process-row b {
  font-size: var(--sub-body-sm);
  font-weight: 400;
  line-height: 1.65;
}
.process-row p {
  margin: 0;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.5;
  color: rgb(255 255 255/0.72);
}
.certificates {
  display: flex;
  flex-direction: column;
  gap: 72px;
  padding: 160px 0;
  background: var(--soft);
  overflow: hidden;
}
.certificates .section-heading {
  margin-bottom: 0;
}
.certificate-swiper {
  width: 100%;
  overflow: hidden;
}
.certificate-swiper .swiper-slide {
  width: 316.8px;
  height: auto;
}
.certificate-card {
  width: 100%;
}
.certificate-card figure {
  margin: 0;
  aspect-ratio: 402/578;
  border-radius: 20px;
  overflow: hidden;
  background: #fcfcfa;
}
.certificate-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.certificate-card h3 {
  margin: 24px 0 0;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.55;
}
.certificate-card p {
  margin: 12px 0 0;
  color: var(--brand);
  font-size: var(--sub-label);
  font-weight: 500;
}
.certificate-note {
  margin: 0 auto;
  width: min(var(--max), var(--width));
  color: var(--muted);
  font-size: 15px;
}
.core-tech {
  padding: 160px 0;
}
.core-tech .section-heading {
  margin-bottom: 72px;
}
.tech-index-row {
  display: grid;
  grid-template-columns: 150px 500px 1fr;
  gap: 50px;
  padding: 40px 0;
  border-top: 1px solid #dcdcdc;
}
.tech-index-row > strong {
  color: var(--brand);
  font:
    600 42px/1.35 "Inter",
    sans-serif;
}
.tech-index-title span {
  color: var(--brand);
  font-size: var(--sub-label);
}
.tech-index-title h3 {
  margin: 8px 0 0;
  font-size: var(--sub-subhead);
}
.tech-index-row > p {
  margin: 0;
  color: var(--muted);
  font-size: var(--sub-body-sm);
  line-height: 1.65;
}
.quality-pledge {
  padding: 160px 0;
  background: var(--brand);
  color: #fff;
}
.quality-pledge .container {
  display: flex;
  flex-direction: column;
  gap: 72px;
}
.quality-copy {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.quality-pledge h2 {
  margin: 0;
  font-size: var(--sub-panel-title);
  line-height: 1.3;
}
.quality-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  align-items: start;
}
.quality-card figure {
  margin: 0;
  width: 100%;
  height: auto;
  aspect-ratio: 544/620;
  border-radius: 20px;
  overflow: hidden;
}
.quality-card:nth-child(2) figure {
  aspect-ratio: 544/500;
}
.quality-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.quality-card h3 {
  margin: 16px 0 0;
  font-size: var(--sub-card-title);
}
.quality-card p {
  margin: 8px 0 0;
  color: var(--muted);
  font-size: var(--sub-body-sm);
  line-height: 1.5;
}
.quality-card span {
  display: block;
  margin: 16px 0 0;
  color: var(--brand);
  font-size: var(--sub-label);
  font-weight: 500;
  letter-spacing: 0.08em;
}
.space-types .quality-card h3 {
  margin-top: 8px;
}
.space-band .quality-card h3 {
  color: #fff;
}
.space-band .quality-card p {
  color: rgb(255 255 255/0.8);
}
.space-icon {
  display: grid;
  flex: none;
  width: 48px;
  height: 48px;
  place-items: center;
  overflow: hidden;
  border: 2px solid var(--brand);
  border-radius: 50%;
  font-style: normal;
}
.space-icon img {
  width: 24px;
  height: 24px;
  max-width: none;
  object-fit: contain;
}
.space-heading {
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.space-heading h2,
.space-approach-panel h2,
.space-connect h2,
.space-editorial-copy h2,
.space-manifesto-band h2,
.space-quality-copy h2,
.zerosum-lineup-heading h2 {
  margin: 0;
  font-size: var(--sub-section-title);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -0.045em;
}
.space-approach-panel h2 {
  font-size: var(--sub-panel-title);
}
.space-heading p,
.space-connect > p,
.space-editorial-copy > p,
.space-quality-copy > p,
.zerosum-lineup-heading p {
  margin: 0;
  font-size: var(--sub-body-sm);
  line-height: 1.65;
}
.space-approach,
.space-editorial,
.space-care,
.space-value,
.space-standard {
  padding: 160px 0;
}
.space-process,
.space-principles,
.space-facility,
.space-strategy {
  padding: 160px 0;
  background: var(--soft);
}
.space-types {
  padding: 160px 0;
}
.space-band {
  padding: 160px 0;
  background: var(--brand);
  color: #fff;
}
.space-approach-grid,
.space-editorial-grid,
.space-split,
.space-care-grid,
.space-strategy-grid,
.space-value-grid,
.space-manifesto-band {
  display: grid;
  gap: 72px;
  align-items: start;
}
.space-approach-grid {
  grid-template-columns: minmax(0, 600fr) minmax(0, 1000fr);
  align-items: center;
}
.space-editorial-grid {
  grid-template-columns: minmax(0, 860fr) minmax(0, 748fr);
  align-items: center;
}
.space-split {
  grid-template-columns: minmax(0, 760fr) minmax(0, 800fr);
  align-items: start;
}
.space-care-grid {
  grid-template-columns: minmax(0, 0.42fr) minmax(0, 1fr);
}
.space-strategy-grid,
.space-manifesto-band {
  grid-template-columns: minmax(0, 0.38fr) minmax(0, 1fr);
  gap: clamp(48px, 12vw, 220px);
}
.space-value-grid {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 80px;
}
.space-value > .container {
  display: flex;
  flex-direction: column;
  gap: 34px;
}
.space-manifesto-band {
  padding: 80px 0;
  align-items: start;
}
.space-approach-panel {
  display: flex;
  flex-direction: column;
  gap: 28px;
  min-width: 0;
  min-height: 650px;
  padding: 56px;
  border-radius: 20px;
  background: var(--brand);
  color: #fff;
}
.space-approach-panel > p:not(.eyebrow):not(.space-approach-flow) {
  margin: 0;
  color: rgb(255 255 255/0.78);
  font-size: var(--sub-body-sm);
  line-height: 1.65;
}
.space-approach-flow {
  margin: auto 0 0;
  padding-top: 28px;
  border-top: 1px solid rgb(255 255 255/0.28);
  color: rgb(255 255 255/0.72);
  font-size: var(--sub-label);
  line-height: 1.5;
}
.space-connect {
  display: flex;
  flex-direction: column;
  gap: 24px;
  min-width: 0;
  padding-top: 12px;
}
.space-capability {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 40px;
  padding-top: 8px;
}
.space-capability article {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 8px 18px;
  align-items: center;
  padding: 22px 0 30px;
  border-top: 1px solid var(--line);
}
.space-capability span {
  font-family: "Inter", sans-serif;
  font-size: var(--sub-label);
  font-weight: 500;
  color: var(--brand);
}
.space-capability h3 {
  margin: 0;
  font-size: var(--sub-subhead);
  line-height: 1.4;
}
.space-capability p {
  grid-column: 1 / -1;
  margin: 6px 0 0;
  color: var(--muted);
  font-size: var(--sub-body-sm);
  line-height: 1.5;
}
.space-process .space-heading,
.space-principles .space-heading,
.space-scope .space-heading,
.space-types .space-heading,
.space-performance .space-heading,
.space-facility .space-heading,
.space-standard .space-heading {
  margin-bottom: 72px;
}
.space-process-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 24px;
}
.space-process-card,
.space-principle-card,
.space-facility-card {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-width: 0;
  height: 100%;
  padding: 28px 24px 32px;
  border-radius: 20px;
  background: #fff;
}
.space-process-card span {
  font-family: "Inter", sans-serif;
  font-size: var(--sub-label);
  font-weight: 500;
  letter-spacing: 0.08em;
  color: var(--brand);
}
.space-process-card h3,
.space-principle-card h3,
.space-facility-card h3 {
  margin: 0;
  font-size: var(--sub-body);
  font-weight: 500;
  line-height: 1.55;
}
.space-principle-card h3,
.space-facility-card h3 {
  font-size: var(--sub-subhead);
  font-weight: 700;
  line-height: 1.4;
}
.space-process-card p,
.space-principle-card p,
.space-facility-card p {
  margin: 0;
  color: var(--muted);
  font-size: var(--sub-body-sm);
  line-height: 1.5;
}
.space-principle-card p {
  color: var(--ink);
}
.space-principle-grid,
.space-facility-grid,
.space-outcome-grid {
  display: grid;
  gap: 24px;
}
.space-principle-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.space-facility-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 20px;
}
.space-principle-card,
.space-facility-card {
  gap: 20px;
  padding: 36px 34px 38px;
}
.space-facility-card {
  padding: 30px 24px 34px;
}
.space-editorial-grid figure,
.space-split figure {
  margin: 0;
  min-width: 0;
  width: 100%;
  border-radius: 20px;
  overflow: hidden;
}
.space-editorial-grid figure {
  aspect-ratio: 860/580;
}
.space-split figure {
  aspect-ratio: 760/560;
}
.space-editorial-grid img,
.space-split img,
.space-manifesto-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.space-editorial-copy {
  display: flex;
  flex-direction: column;
  gap: 24px;
  min-width: 0;
}
.space-scope-note {
  padding-top: 24px;
  border-top: 1px solid var(--line);
  color: var(--ink);
  font-size: var(--sub-body-sm);
  line-height: 1.5;
}
.space-timeline {
  min-width: 0;
}
.space-timeline-row {
  display: grid;
  grid-template-columns: minmax(auto, 6rem) minmax(0, 16rem) minmax(0, 1fr);
  gap: 28px 40px;
  align-items: start;
  padding: 28px 0;
  border-top: 1px solid var(--line);
}
.space-timeline-row:last-child {
  border-bottom: 1px solid var(--line);
}
.space-strategy .space-timeline-row,
.space-value .space-timeline-row {
  gap: 26px 28px;
  padding: 30px 0;
}
.space-value .space-timeline-row:last-child {
  border-bottom: 0;
}
.space-timeline-row > strong {
  color: var(--brand);
  font-family: "Inter", sans-serif;
  font-size: var(--sub-card-title);
  font-weight: 600;
  line-height: 1.35;
}
.space-timeline-title {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}
.space-timeline-title span {
  color: var(--brand);
  font-size: var(--sub-label);
  font-weight: 500;
}
.space-timeline-title h3 {
  margin: 0;
  font-size: var(--sub-subhead);
  line-height: 1.4;
}
.space-timeline-row > p {
  margin: 0;
  color: var(--ink);
  font-size: var(--sub-body-sm);
  line-height: 1.5;
}
.space-manifesto-visual {
  margin: 0;
  width: 100%;
  aspect-ratio: 1920/760;
  overflow: hidden;
}
.space-manifesto-band p {
  margin: 0;
  font-size: var(--sub-body-sm);
  line-height: 1.65;
}
.space-outcome-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.space-outcome {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 18px;
  min-width: 0;
  padding: 48px 26px;
  border-radius: 20px;
  background: var(--brand-dark);
}
.space-outcome h3 {
  margin: 0;
  font-size: var(--sub-body);
  font-weight: 500;
  line-height: 1.55;
}
.space-outcome p {
  margin: 0;
  color: rgb(255 255 255/0.8);
  font-size: var(--sub-body-sm);
  line-height: 1.5;
}
.space-quality-copy {
  display: flex;
  flex-direction: column;
  gap: 34px;
  min-width: 0;
}
.space-quality-copy h2 {
  font-size: var(--sub-section-title);
}
.space-rule-list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.space-rule-list li {
  padding: 22px 0;
  border-top: 1px solid rgb(255 255 255/0.28);
  color: rgb(255 255 255/0.8);
  font-size: var(--sub-body-sm);
  line-height: 1.5;
}
.space-rule-list b {
  font-weight: 700;
  color: #fff;
}
.space-table-wrap {
  overflow-x: auto;
}
.space-table {
  width: 100%;
  min-width: 720px;
  border-collapse: separate;
  border-spacing: 0 8px;
  text-align: left;
}
.space-table th,
.space-table td {
  padding: 22px 24px;
  vertical-align: top;
  font-size: var(--sub-body-sm);
  font-weight: 400;
  line-height: 1.5;
}
.space-table thead th {
  background: var(--brand);
  color: #fff;
  font-weight: 600;
}
.space-table thead th:first-child {
  border-radius: 10px 0 0 10px;
}
.space-table thead th:last-child {
  border-radius: 0 10px 10px 0;
}
.space-table tbody th {
  color: var(--ink);
  font-weight: 500;
  line-height: 1.65;
}
.space-table tbody td {
  color: var(--muted);
}
.space-table tbody tr:nth-child(even) th,
.space-table tbody tr:nth-child(even) td {
  background: var(--soft);
}
.space-table tbody tr:nth-child(odd) th,
.space-table tbody tr:nth-child(odd) td {
  background: #fff;
}
.space-table tbody th:first-child,
.space-table tbody td:first-child {
  border-radius: 20px 0 0 20px;
}
.space-table tbody td:last-child {
  border-radius: 0 20px 20px 0;
}
.space-band .space-heading h2,
.space-band .space-heading p {
  color: #fff;
}
.space-band .space-heading p {
  color: rgb(255 255 255/0.8);
}
.zerosum-principles,
.zerosum-lineup,
.zerosum-method,
.zerosum-sectors,
.zerosum-supply,
.zerosum-safe {
  padding: 160px 0;
}
.zerosum-principles,
.zerosum-method,
.zerosum-sectors,
.zerosum-supply {
  background: var(--soft);
}
.zerosum-principles > .container,
.zerosum-lineup > .container,
.zerosum-method > .container,
.zerosum-sectors > .container,
.zerosum-supply > .container,
.zerosum-promise > .container {
  display: flex;
  flex-direction: column;
  gap: 72px;
}
.zerosum-safe > .container {
  display: flex;
  flex-direction: column;
  gap: 64px;
}
.zerosum-policy > .container {
  display: flex;
  flex-direction: column;
  gap: 80px;
}
.zerosum-lineup-heading {
  display: flex;
  flex-direction: column;
  gap: 34px;
}
.zerosum-lineup-heading > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 34px;
  align-items: start;
}
.zerosum-principle-grid,
.zerosum-product-grid,
.zerosum-step-grid,
.zerosum-sector-grid,
.zerosum-supply-grid,
.zerosum-promise-grid,
.zerosum-check-grid,
.zerosum-policy-grid,
.zerosum-safe-grid,
.zerosum-checklist-grid {
  display: grid;
  gap: 24px;
  min-width: 0;
}
.zerosum-principle-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 40px;
}
.zerosum-principle-grid article {
  display: flex;
  flex-direction: column;
  gap: 18px;
  min-width: 0;
  padding-top: 20px;
  border-top: 1px solid var(--line);
}
.zerosum-principle-grid span,
.zerosum-step-grid span,
.zerosum-check-grid span,
.zerosum-policy-grid span {
  font-family: "Inter", sans-serif;
  font-size: var(--sub-label);
  font-weight: 500;
  color: var(--brand);
}
.zerosum-principle-grid h3,
.zerosum-product-card h3,
.zerosum-step-grid h3,
.zerosum-check-grid h3,
.zerosum-sector-grid h3,
.zerosum-supply-grid h3,
.zerosum-policy-grid h3 {
  margin: 0;
  font-size: var(--sub-subhead);
  font-weight: 700;
  line-height: 1.4;
}
.zerosum-principle-grid p,
.zerosum-product-card p,
.zerosum-step-grid p,
.zerosum-check-grid p,
.zerosum-sector-grid p,
.zerosum-supply-grid p,
.zerosum-policy-grid p {
  margin: 0;
  color: var(--ink);
  font-size: var(--sub-body-sm);
  line-height: 1.5;
}
.zerosum-product-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.zerosum-product-card {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-width: 0;
}
.zerosum-product-card figure {
  margin: 0 0 20px;
  aspect-ratio: 1;
  overflow: hidden;
  border-radius: 20px;
}
.zerosum-product-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.zerosum-step-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.zerosum-step-grid article,
.zerosum-check-grid article,
.zerosum-sector-grid article,
.zerosum-supply-grid article {
  display: flex;
  flex-direction: column;
  gap: 18px;
  min-width: 0;
  padding: 32px 28px;
  border-radius: 20px;
  background: #fff;
}
.zerosum-step-grid .is-accent,
.zerosum-supply-grid .is-accent {
  background: var(--brand);
  color: #fff;
}
.zerosum-step-grid .is-accent span,
.zerosum-supply-grid .is-accent h3 {
  color: #fff;
}
.zerosum-step-grid .is-accent p,
.zerosum-supply-grid .is-accent p {
  color: rgb(255 255 255/0.8);
}
.zerosum-context {
  padding-bottom: 160px;
}
.zerosum-check-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
}
.zerosum-check-grid .reveal.is-visible {
  border-top: 1px solid var(--line);
}
.zerosum-check-grid article {
  background: transparent;
  padding: 34px 40px;
  border-radius: 0;
}
.zerosum-safe-grid {
  grid-template-columns: minmax(0, 700fr) minmax(0, 910fr);
  gap: 72px;
  align-items: center;
}
.zerosum-safe-grid figure {
  margin: 0;
  min-width: 0;
  aspect-ratio: 700/440;
  overflow: hidden;
  border-radius: 20px;
}
.zerosum-safe-grid img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.zerosum-safe-grid .space-timeline-row {
  grid-template-columns: 7.5rem max-content minmax(0, 1fr);
  gap: 0 20px;
  padding: 30px 0;
}
.zerosum-safe-grid .space-timeline-row > strong {
  font-size: var(--sub-label);
  font-weight: 600;
  letter-spacing: 0.08em;
}
.zerosum-safe-grid .space-timeline-row > p {
  margin-left: 60px;
}
.zerosum-policy-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
}
.zerosum-policy-grid article {
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-width: 0;
  padding: 20px 50px 20px 0;
  border-right: 1px solid rgb(255 255 255/0.28);
}
.zerosum-policy-grid article:last-child {
  border-right: 0;
  padding-right: 0;
}
.zerosum-policy-grid article:not(:first-child) {
  padding-left: 50px;
}
.zerosum-policy-grid span,
.zerosum-policy-grid h3 {
  color: #fff;
}
.zerosum-policy-grid p {
  color: rgb(255 255 255/0.78);
}
.zerosum-sector-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 20px;
}
.zerosum-sector-grid article {
  gap: 20px;
  padding: 28px 22px 32px;
}
.zerosum-sector-grid p {
  color: var(--muted);
}
.zerosum-supply-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 32px;
}
.zerosum-supply-grid article {
  gap: 18px;
  padding: 34px 30px 36px;
}
.zerosum-supply-grid .space-scope-note {
  padding-top: 18px;
  color: inherit;
  border-color: var(--line);
}
.zerosum-supply-grid .is-accent .space-scope-note {
  border-color: rgb(255 255 255/0.25);
  color: rgb(255 255 255/0.82);
}
.zerosum-promise-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.zerosum-checklist-grid {
  grid-template-columns: minmax(0, 590fr) minmax(0, 1000fr);
  gap: 72px;
  align-items: start;
}
.zerosum-checklist .space-timeline-row {
  grid-template-columns: 15rem minmax(0, 1fr);
  gap: 28px;
  padding: 22px 0;
}
.zerosum-moments .space-care-grid {
  grid-template-columns: minmax(0, 407fr) minmax(0, 1053fr);
  gap: clamp(48px, 12vw, 220px);
}
.zerosum-moments .space-timeline-row {
  grid-template-columns: 7.5rem 16.25rem minmax(0, 1fr);
  gap: 26px 36px;
  padding: 26px 0;
}
.zerosum-process .space-heading {
  margin-bottom: 72px;
}
.zerosum-process .space-timeline-row {
  grid-template-columns: 10rem 22.5rem minmax(0, 1fr);
  gap: 24px 30px;
  padding: 24px 0;
}
.zerosum-moments .space-timeline-row:last-child,
.zerosum-process .space-timeline-row:last-child,
.zerosum-checklist .space-timeline-row:last-child {
  border-bottom: 0;
}
.zerosum-guide .space-heading {
  margin-bottom: 64px;
}
.zerosum-guide .space-table {
  border-spacing: 0;
}
.zerosum-guide .space-table thead th:first-child,
.zerosum-guide .space-table thead th:last-child,
.zerosum-guide .space-table tbody th:first-child,
.zerosum-guide .space-table tbody td:first-child,
.zerosum-guide .space-table tbody td:last-child {
  border-radius: 0;
}
.zerosum-routine figure {
  aspect-ratio: 760/520;
}
.zerosum-routine .space-quality-copy {
  gap: 22px;
}
.zerosum-promise .space-outcome {
  background: #041a53;
}
.zerosum-checklist .space-timeline-title h3,
.zerosum-checklist .space-timeline-row > p {
  color: #fff;
}
.zerosum-checklist .space-timeline-row > p {
  color: rgb(255 255 255/0.8);
}
.project-board,
.project-article {
  padding: 160px 0;
}
.project-board > .container,
.project-article > .container {
  display: flex;
  flex-direction: column;
  gap: 72px;
}
.project-board-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
}
.project-board-head h2,
.project-article-head h2 {
  margin: 0;
  font-size: var(--sub-panel-title);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -0.045em;
}
.project-search {
  position: relative;
  width: 380px;
  max-width: 100%;
}
.project-search input {
  width: 100%;
  height: 52px;
  padding: 0 52px 0 20px;
  border: 1px solid #ccc;
  border-radius: 8px;
  background: #fff;
  color: var(--ink);
  font-family: inherit;
  font-size: var(--sub-body-sm);
  appearance: none;
}
.project-search input:focus-visible {
  outline: 2px solid var(--brand);
  outline-offset: 2px;
}
.project-search input::placeholder {
  color: #999;
}
.project-search-submit {
  position: absolute;
  top: 0;
  right: 0;
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}
.project-search-submit img {
  width: 24px;
  height: 24px;
  object-fit: contain;
}
.project-board-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 60px;
  row-gap: 72px;
}
.project-board-card {
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-width: 0;
}
.project-board-thumb {
  margin: 0;
  overflow: hidden;
  aspect-ratio: 520 / 348;
  border-radius: var(--radius);
  background: #f6f6f6;
}
.project-board-thumb img,
.project-cover img,
.project-gallery img,
.project-gallery-wide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.project-board-thumb.is-empty {
  display: grid;
  place-items: center;
  background: #f6f6f6;
}
.project-board-thumb.is-empty img {
  width: 88px;
  height: 84px;
  object-fit: cover;
  opacity: 0.3;
  filter: brightness(0) invert(0);
}
.project-board-copy {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.project-board-copy span,
.project-article-label,
.project-nav em {
  margin: 0;
  color: var(--brand);
  font-family: "Inter", sans-serif;
  font-size: var(--sub-label);
  font-style: normal;
  font-weight: 600;
  letter-spacing: 0.02em;
}
.project-board-copy h3 {
  margin: 0;
  font-size: var(--sub-subhead);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: -0.045em;
}
.project-board-copy p {
  margin: 0;
  color: var(--muted);
  font-size: var(--sub-body-sm);
}
.project-pager {
  display: flex;
  justify-content: center;
  gap: 10px;
}
.project-pager a {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background: var(--soft);
  color: var(--brand);
  font-family: "Inter", sans-serif;
  font-size: var(--sub-label);
  font-weight: 500;
  line-height: 1.5;
}
.project-pager img {
  width: 7px;
  height: 15px;
  object-fit: contain;
}
.project-pager-next img {
  transform: scaleX(-1);
}
.project-pager a.is-current {
  background: var(--brand);
  color: #fff;
}
.sub-page .blind {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}
.store-catalog,
.store-commerce,
.store-flow,
.store-complete {
  padding: 160px 0;
}
.store-commerce {
  padding-bottom: 120px;
}
.store-snapshot {
  padding: 0 0 100px;
}
.store-story,
.store-reviews,
.store-qa {
  padding: 120px 0;
}
.store-guide {
  padding: 0 0 120px;
}
.store-inquiry-guide {
  padding: 104px 0;
  background: #f6f7f9;
}
.store-inquiry-guide > .store-stage {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
.store-inquiry-guide h2 {
  margin: 0;
  font-size: var(--sub-block-title);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: -0.045em;
  word-break: keep-all;
}
.store-inquiry-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}
.store-inquiry-cards article {
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: 32px;
  border: 1px solid #dbdfe8;
  border-radius: 12px;
  background: #fff;
}
.store-inquiry-cards span {
  margin: 0;
  color: #0e2d7d;
  font-size: 13px;
  font-weight: 700;
  line-height: normal;
}
.store-inquiry-cards h3 {
  margin: 0;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.55;
  letter-spacing: -0.045em;
  word-break: keep-all;
}
.store-inquiry-cards p {
  margin: 0;
  color: var(--muted);
  font-size: var(--sub-body-sm);
  line-height: 1.6875;
  word-break: keep-all;
}
[data-page="store-view"] .store-reviews {
  background: #fff;
}
[data-page="store-view"] .store-chip:not(.is-active) {
  background: #f6f6f6;
}
[data-page="store-view"] .store-review-avatar {
  background: #f6f6f6;
}
[data-page="store-view"] .store-review-tags span {
  background: #f6f6f6;
}
.store-catalog > .container,
.store-flow > .store-stage {
  display: flex;
  flex-direction: column;
  gap: 72px;
}
.store-complete > .store-stage {
  display: flex;
  flex-direction: column;
  gap: 48px;
}
[data-page="store-cart"] .store-flow > .store-stage,
[data-page="store-order"] .store-flow > .store-stage {
  gap: 32px;
}
.store-commerce > .store-stage {
  display: flex;
  flex-direction: column;
  gap: 56px;
}
.store-snapshot > .store-stage,
.store-story > .store-stage,
.store-qa > .store-stage {
  display: flex;
  flex-direction: column;
  gap: 32px;
}
.store-story > .store-stage {
  gap: 64px;
}
.store-guide > .store-stage {
  display: flex;
  flex-direction: column;
  gap: 36px;
}
.store-stage {
  max-width: 1440px;
}
.store-catalog-top {
  display: flex;
  flex-direction: column;
  gap: 28px;
  width: 100%;
}
.store-catalog-head,
.store-reviews-head,
.store-qa-head,
.store-snapshot-head,
.store-flow-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
}
.store-reviews-head {
  gap: 48px;
}
.store-qa-head {
  gap: 40px;
}
.store-snapshot-head {
  gap: 32px;
  width: 100%;
}
.store-reviews-head > div:first-child,
.store-snapshot-head > div:first-child,
.store-flow-head > div:first-child {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 12px;
  min-width: 0;
}
[data-page="store-cart"] .store-flow-head,
[data-page="store-order"] .store-flow-head {
  gap: 40px;
}
[data-page="store-cart"] .store-flow-head > div:first-child,
[data-page="store-order"] .store-flow-head > div:first-child {
  gap: 10px;
}
.store-qa-head > div:first-child {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 10px;
  min-width: 0;
}
.store-catalog-head h2,
.store-reviews-head h2,
.store-qa-head h2,
.store-flow-head h2,
.store-complete-msg h2 {
  margin: 0;
  font-size: var(--sub-panel-title);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -0.045em;
}
.store-buy-title,
.store-story-intro h2,
.store-guide h2,
.store-snapshot-head h2 {
  margin: 0;
  font-size: var(--sub-block-title);
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: -0.045em;
  word-break: keep-all;
}
.store-story-intro h2,
.store-guide h2,
.store-snapshot-head h2 {
  line-height: 1.4;
}
.store-catalog-count {
  margin: 0;
  padding-top: 22px;
  border-top: 1px solid #ccc;
  color: var(--ink);
  font-size: var(--sub-body-sm);
  font-weight: 700;
}
.store-catalog-count strong {
  margin-left: 8px;
  font-weight: 700;
}
.store-catalog-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 24px;
  row-gap: 72px;
}
.store-product-card {
  display: flex;
  flex-direction: column;
  gap: 32px;
  min-width: 0;
}
.store-product-thumb,
.store-gallery-main,
.store-story-visual,
.store-review-photo,
.store-snapshot-card figure,
.store-cart-product > a,
.store-order-item img,
.store-complete-product img {
  margin: 0;
  overflow: hidden;
}
.store-product-thumb {
  aspect-ratio: 1 / 1;
  border-radius: var(--radius);
  background: var(--soft);
}
.store-product-thumb img,
.store-gallery-main img,
.store-story-visual img,
.store-review-photo img,
.store-snapshot-card img,
.store-thumb img,
.store-cart-product img,
.store-order-item img,
.store-complete-product img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.store-product-copy {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.store-product-copy span,
.store-story-intro .eyebrow,
.store-reviews-head .eyebrow,
.store-qa-head .eyebrow,
.store-snapshot-head .eyebrow,
.store-flow-head .eyebrow,
.store-complete-msg .eyebrow,
.store-buy-badge,
.store-cart-product span,
.store-order-item span,
.store-complete-product span,
.store-facts span,
.store-post-guide span {
  margin: 0;
  color: var(--brand);
  font-size: var(--sub-label);
  font-weight: 700;
}
.store-product-copy h3,
.store-facts h3,
.store-cart-product h3,
.store-summary h3,
.store-form-section h3,
.store-complete-card h3,
.store-cart-guide h3,
.store-layer-head h3 {
  margin: 0;
  font-size: var(--sub-subhead);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: -0.045em;
}
.store-product-copy p,
.store-reviews-head p,
.store-qa-head p,
.store-snapshot-head p,
.store-facts p,
.store-qa-card p,
.store-complete-msg > p:nth-of-type(3) {
  margin: 0;
  color: var(--muted);
  font-size: var(--sub-body-sm);
  line-height: 1.6;
}
.store-buy-summary {
  margin: 0;
  color: var(--muted);
  font-size: var(--sub-body-sm);
  line-height: 1.65;
}
.store-snapshot-head p {
  line-height: 1.55;
}
.store-crumb {
  margin: 0;
  color: var(--muted);
  font-size: var(--sub-label);
  font-weight: 500;
  white-space: pre-wrap;
}
.store-commerce-grid,
.store-cart-grid,
.store-complete-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 126px;
  align-items: start;
}
.store-cart-grid,
.store-complete-grid {
  grid-template-columns: minmax(0, 940fr) minmax(0, 468fr);
  gap: 32px;
  align-items: start;
}
.store-gallery,
.store-buy,
.store-checkout-col {
  display: flex;
  flex-direction: column;
  gap: 20px;
  min-width: 0;
}
.store-checkout-col {
  gap: 28px;
}
.store-buy {
  padding-top: 8px;
}
.store-gallery-main {
  aspect-ratio: 1 / 1;
  border-radius: var(--radius);
  background: var(--soft);
}
.store-thumbs {
  display: flex;
  gap: 14px;
}
.store-thumb {
  flex: none;
  width: 120px;
  aspect-ratio: 1 / 1;
  padding: 0;
  border: 1px solid #e0e3e8;
  border-radius: 10px;
  background: var(--soft);
  overflow: hidden;
  cursor: pointer;
}
.store-thumb.is-active {
  border: 2px solid var(--brand);
}
.store-thumb.is-empty {
  cursor: default;
}
.store-buy-badge {
  letter-spacing: 0;
  white-space: pre-wrap;
}
.store-price {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0;
}
.store-price-now {
  color: var(--ink);
  font-size: var(--sub-block-title);
  font-weight: 700;
  line-height: 1.35;
}
.store-total strong {
  color: var(--brand);
  font-size: var(--sub-card-title);
}
.store-complete-info div:last-child dd,
.store-complete-pay div:last-child dd {
  color: var(--brand);
  font-size: var(--sub-body);
  font-weight: 700;
}
.store-price s,
.store-cart-price s,
.store-order-qty s {
  color: var(--muted);
  font-size: var(--sub-body-sm);
  font-weight: 400;
}
.store-info-table {
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 18px 0;
  border-top: 1px solid #e0e3e8;
  border-bottom: 1px solid #e0e3e8;
}
.store-info-table div,
.store-guide-table tr {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr);
  gap: 20px;
  align-items: start;
  padding: 8px 0;
}
.store-guide-table {
  width: 100%;
  border-collapse: collapse;
  border-top: 1px solid #e0e3e8;
}
.store-guide-table th,
.store-guide-table td {
  padding: 24px 0;
  color: var(--muted);
  font-size: var(--sub-body-sm);
  font-weight: 500;
  text-align: left;
  vertical-align: top;
}
.store-info-table dt,
.store-complete-info dt,
.store-complete-pay dt {
  color: var(--muted);
  font-size: var(--sub-body-sm);
  font-weight: 500;
  text-align: left;
  vertical-align: top;
}
.store-complete-info dt,
.store-complete-pay dt {
  padding: 0;
}
.store-info-table dt,
.store-info-table dd {
  padding: 0;
  line-height: 1.55;
}
.store-guide-table td,
.store-info-table dd,
.store-complete-info dd,
.store-complete-pay dd {
  margin: 0;
  color: var(--ink);
  font-size: var(--sub-body-sm);
  font-weight: 400;
  line-height: 1.6;
}
.store-info-table dd {
  line-height: 1.55;
}
.store-guide-table td {
  color: var(--muted);
  padding-left: 40px;
}
.store-guide-table th {
  width: 180px;
  color: var(--ink);
  font-weight: 700;
}
.store-guide-table tr {
  display: table-row;
}
.store-guide-table th,
.store-guide-table td {
  border-bottom: 1px solid #e0e3e8;
}
.store-option {
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: 12px 0;
}
.store-option > p {
  margin: 0;
  color: var(--muted);
  font-size: var(--sub-body-sm);
  font-weight: 500;
}
.store-option-box,
.store-qty-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 20px;
  border-radius: 10px;
  background: var(--soft);
}
.store-option-box span,
.store-option-box b {
  font-size: var(--sub-body-sm);
  font-weight: 500;
}
.store-option-box span {
  flex: 1;
  min-width: 0;
}
.store-option-box b,
.store-qty-bar b {
  font-weight: 700;
}
.store-stepper {
  display: flex;
  overflow: hidden;
  border: 1px solid #e0e3e8;
  border-radius: 6px;
  background: #fff;
}
.store-stepper button,
.store-stepper strong {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 0;
  background: #fff;
  color: var(--muted);
  font-size: var(--sub-body-sm);
  font-weight: 500;
}
.store-stepper strong {
  width: 44px;
  border-left: 1px solid #e0e3e8;
  border-right: 1px solid #e0e3e8;
  color: var(--ink);
  font-weight: 700;
}
.store-stepper button {
  cursor: pointer;
}
.store-total {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-height: 63px;
  font-size: var(--sub-body-sm);
  font-weight: 500;
}
.store-buy-actions,
.store-complete-actions,
.store-compose-actions {
  display: flex;
  gap: 12px;
}
.store-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 64px;
  padding: 0 24px;
  border: 1px solid var(--brand);
  border-radius: 8px;
  font-size: var(--sub-body-sm);
  font-weight: 500;
  text-align: center;
}
.store-btn-sm {
  min-height: 56px;
  min-width: 150px;
}
.store-btn-line {
  background: #fff;
  color: var(--brand);
}
.store-btn-solid {
  background: var(--brand);
  color: #fff;
}
.store-buy-actions .store-btn,
.store-summary .store-btn,
.store-compose-actions .store-btn,
.store-layer-foot .store-btn {
  flex: 1;
}
.store-summary .store-btn {
  min-height: 60px;
  width: 100%;
}
.store-tabs {
  position: sticky;
  top: var(--header);
  z-index: 4;
  background: #fff;
  border-top: 1px solid #e0e3e8;
  border-bottom: 1px solid #e0e3e8;
}
.store-tabs .store-stage {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.store-tabs a,
.store-tabs button {
  display: grid;
  place-items: center;
  height: 84px;
  color: var(--muted);
  font-size: var(--sub-body-sm);
  font-weight: 500;
  border-bottom: 3px solid transparent;
}
.store-tabs button {
  border-top: 0;
  border-right: 0;
  border-left: 0;
  background: none;
  cursor: pointer;
  font-family: inherit;
}
.store-tabs a.is-active,
.store-tabs button.is-active {
  color: var(--brand);
  border-bottom-color: var(--brand);
}
.store-snapshot-nav {
  display: flex;
  flex: none;
  gap: 10px;
}
.store-snapshot-nav button {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  padding: 0;
  border: 1px solid #e0e3e8;
  border-radius: 999px;
  background: #fff;
  cursor: pointer;
}
.store-snapshot-viewport {
  width: 100%;
  overflow: hidden;
}
.store-snapshot-track {
  display: flex;
  gap: 18px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}
.store-snapshot-track::-webkit-scrollbar {
  display: none;
}
.store-snapshot-card {
  display: flex;
  flex: none;
  gap: 20px;
  align-items: flex-start;
  width: calc((100% - 36px) / 3);
  min-width: 280px;
  padding: 20px 22px 20px 20px;
  border: 1px solid #e0e3e8;
  border-radius: 12px;
  background: #f7f7f7;
  scroll-snap-align: start;
}
.store-snapshot-card figure {
  flex: none;
  width: 112px;
  aspect-ratio: 1 / 1;
  border-radius: 8px;
}
.store-snapshot-card > div {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 9px;
  min-width: 0;
}
.store-snapshot-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin: 0;
  color: var(--muted);
  font-size: var(--sub-label);
}
.store-snapshot-meta em {
  color: #f2522e;
  font-size: var(--sub-body-sm);
  font-style: normal;
  font-weight: 700;
}
.store-snapshot-card > div > p:not(.store-snapshot-meta) {
  display: -webkit-box;
  margin: 0;
  overflow: hidden;
  color: var(--ink);
  font-size: var(--sub-body-sm);
  line-height: 1.55;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.store-snapshot-card span {
  color: var(--muted);
  font-size: var(--sub-label);
}
.store-story,
.store-reviews,
.store-qa {
  scroll-margin-top: calc(var(--header) + 84px);
}
.store-story-intro {
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.store-story-intro > div {
  display: grid;
  grid-template-columns: minmax(0, 570fr) minmax(0, 770fr);
  gap: 100px;
  align-items: start;
}
.store-story-intro h2 {
  max-width: 570px;
}
.store-story-intro > div > p {
  font-size: var(--sub-body);
  line-height: 1.65;
}
.store-story-visual {
  aspect-ratio: 1440 / 480;
  border-radius: var(--radius);
}
.store-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.store-facts article {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 28px 32px 0 0;
  border-top: 1px solid #e0e3e8;
}
.store-reviews {
  background: #f5f5f5;
}
.store-review-score {
  display: flex;
  flex-direction: column;
  gap: 6px;
  align-items: flex-end;
}
.store-review-score strong {
  color: var(--brand);
  font-size: var(--sub-body);
}
.store-review-score b {
  font-size: var(--sub-card-title);
  line-height: 1.4;
}
.store-review-score span {
  color: var(--muted);
  font-size: var(--sub-label);
  font-weight: 500;
}
.store-review-tools {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 44px 0 24px;
}
.store-review-tools p {
  flex: 1;
  margin: 0;
  font-size: var(--sub-body-sm);
  font-weight: 700;
}
.store-chip-row,
.store-review-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.store-chip {
  padding: 11px 18px;
  border: 0;
  border-radius: 999px;
  background: #fff;
  color: var(--muted);
  font-size: var(--sub-label);
  font-weight: 500;
  cursor: pointer;
}
.store-review-tags span {
  padding: 7px 12px;
  border: 0;
  border-radius: 999px;
  background: #fff;
  color: var(--muted);
  font-size: var(--sub-label);
  font-weight: 500;
}
.store-chip.is-active {
  background: var(--brand);
  color: #fff;
}
.store-text-link {
  padding: 0;
  border: 0;
  background: none;
  color: var(--brand);
  font-size: var(--sub-label);
  font-weight: 500;
  cursor: pointer;
}
.store-review {
  display: flex;
  gap: 24px;
  align-items: flex-start;
  padding: 36px 0;
  border-top: 1px solid #e0e3e8;
}
.store-review-avatar {
  display: grid;
  flex: none;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: #fff;
  color: var(--brand);
  font-size: var(--sub-body-sm);
  font-weight: 700;
}
.store-review-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 12px;
  min-width: 0;
}
.store-review-body > p {
  margin:0;
}
.store-review-meta,
.store-qa-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin: 0;
  font-size: var(--sub-label);
}
.store-qa-meta {
  width: 100%;
}
.store-review-meta em,
.store-cart-price em,
.store-summary em {
  color: #f2522e;
  font-style: normal;
  font-weight: 700;
}
.store-review-meta em {
  font-size: var(--sub-body-sm);
}
.store-review-item,
.store-review-meta time,
.store-qa-meta time {
  color: #878c96;
}
.store-review-body > p:last-child {
  color: var(--ink);
  font-size: var(--sub-body-sm);
  line-height: 1.65;
}
.store-review-photo {
  position: relative;
  flex: none;
  width: 176px;
  aspect-ratio: 1 / 1;
  border-radius: 12px;
}
.store-review-photo b {
  position: absolute;
  right: 0;
  bottom: 0;
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 15px 0 12px;
  background: rgb(0 0 0 / 0.5);
  color: #fff;
  font-size: var(--sub-label);
}
.store-review-pager {
  display: flex;
  justify-content: center;
  gap: 8px;
  padding-top: 40px;
}
.store-review-pager a {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 1px solid #e0e3e8;
  border-radius: 50%;
  background: #fff;
  color: var(--muted);
  font-size: var(--sub-label);
}
.store-review-pager a.is-current {
  border-color: var(--brand);
  background: var(--brand);
  color: #fff;
}
.store-qa-track {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.store-qa-card {
  display: flex;
  flex-direction: column;
  gap: 13px;
  min-width: 0;
  padding: 24px;
  border: 1px solid #e0e3e8;
  border-radius: 12px;
  background: #fff;
}
.store-qa-card h3 {
  margin: 0;
  font-size: var(--sub-body-sm);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -0.045em;
  word-break: keep-all;
}
.store-qa-meta span {
  padding: 7px 12px;
  border-radius: 999px;
  background: #eef2fa;
  color: var(--brand);
  font-size: var(--sub-label);
  font-weight: 700;
}
.store-qa-meta b {
  flex: 1;
  color: var(--muted);
  font-weight: 500;
}
.store-qa-more {
  width: 320px;
  max-width: 100%;
  min-height: 56px;
  margin: 0 auto;
  gap: 10px;
}
.store-qa-more img,
.store-snapshot-nav img {
  width: 20px;
  height: 20px;
  object-fit: contain;
}
.store-steps {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
  color: #878c96;
  font-size: var(--sub-body-sm);
}
.store-steps li {
  display: flex;
  align-items: center;
  gap: 18px;
}
.store-steps li:not(:last-child)::after {
  content: "›";
  color: #ccc;
  font-size: var(--sub-subhead);
  line-height: 1;
}
.store-steps .is-current {
  color: var(--ink);
  font-weight: 700;
}
.store-dest,
.store-seller,
.store-cart-tools {
  display: flex;
  align-items: center;
  gap: 10px;
}
.store-dest {
  flex-wrap: wrap;
  width: 100%;
  padding: 20px 24px;
  border: 1px solid #e0e3e8;
  border-radius: 10px;
  word-break: keep-all;
}
.store-dest img {
  width: 16px;
  height: 21px;
  flex: none;
}
.store-dest strong {
  font-size: var(--sub-body-sm);
}
.store-dest span {
  font-weight: 400;
}
.store-dest a {
  margin-left: auto;
  color: #767676;
  font-size: var(--sub-body-sm);
}
.store-cart {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
}
.store-cart-tools {
  justify-content: space-between;
}
.store-cart-tools .store-check {
  font-weight: 600;
}
.store-check {
  display: inline-flex;
  align-items: flex-start;
  gap: 10px;
  font-size: var(--sub-body-sm);
  font-weight: 700;
  word-break: keep-all;
}
.store-check input {
  width: 24px;
  height: 24px;
  margin: 0;
  accent-color: var(--brand);
  flex: none;
}
.store-delete {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  height: 37px;
  padding: 8px 12px;
  border: 1px solid #ccc;
  border-radius: 8px;
  background: #fff;
  color: #222;
  font-size: var(--sub-label);
  font-weight: 500;
  cursor: pointer;
}
.store-delete img {
  width: 16px;
  height: 16px;
  object-fit: contain;
}
.store-cart-items,
.store-complete-card,
.store-summary,
.store-form-section {
  min-width: 0;
  border: 1px solid #e0e3e8;
  border-radius: 12px;
  background: #fff;
}
.store-cart-items {
  overflow: hidden;
}
.store-seller {
  justify-content: space-between;
  min-height: 84px;
  padding: 24px 28px;
  border-bottom: 1px solid #e0e3e8;
}
[data-page="store-cart"] .store-seller {
  justify-content: center;
}
.store-seller .store-check {
  font-size: var(--sub-body);
  font-weight: 600;
}
.store-seller span {
  display: inline-flex;
  align-items: center;
  flex: none;
  height: 36px;
  padding: 8px 16px;
  border-radius: 999px;
  background: #f6f6f6;
  color: var(--brand);
  font-size: var(--sub-label);
  font-weight: 700;
  line-height: 1.5;
}
.store-quick {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  align-items: center;
  margin: 0;
  padding: 16px 28px;
  background: #f6f6f6;
  color: var(--ink);
  font-size: var(--sub-body-sm);
  word-break: keep-all;
}
.store-quick b {
  color: var(--brand);
  font-weight: 700;
}
.store-cart-row {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  gap: 16px;
  padding: 30px 28px;
  border-bottom: 1px solid #e0e3e8;
}
.store-cart-row:last-of-type {
  border-bottom: 0;
}
.store-cart-product {
  display: grid;
  grid-template-columns: 170px minmax(0, 1fr);
  gap: 24px;
  align-items: center;
}
.store-cart-product > a {
  aspect-ratio: 1 / 1;
  width: 100%;
  border-radius: 12px;
  background: var(--soft);
}
.store-cart-product h3 {
  font-size: var(--sub-body);
  line-height: 1.5;
  word-break: keep-all;
}
.store-cart-product > div {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}
.store-cart-product > div > p:not(.store-cart-price) {
  margin: 0;
  color: #5e5e5e;
  font-size: var(--sub-body-sm);
  line-height: 1.5;
  word-break: keep-all;
}
.store-cart-price {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin: 0;
}
.store-cart-price strong {
  font-size: var(--sub-subhead);
  line-height: 1.5;
}
.store-qty-bar {
  grid-column: 2;
  gap: 12px;
  margin-top: 24px;
  padding: 16px;
  border-radius: 6px;
  background: #f6f6f6;
}
.store-qty-bar p {
  display: flex;
  gap: 12px;
  align-items: center;
  margin: 0;
  color: var(--ink);
  font-size: var(--sub-body);
}
.store-qty-bar button[aria-label="Remove"] {
  padding: 0;
  border: 0;
  background: none;
  color: #878c96;
  font-size: var(--sub-subhead);
  line-height: 1;
  cursor: pointer;
}
.store-ship-sum,
.store-summary,
.store-complete-pay {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.store-ship-sum {
  gap: 6px;
  padding: 26px 28px;
  border-top: 1px solid #e0e3e8;
}
.store-ship-sum p,
.store-summary p,
.store-complete-pay div {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  margin: 0;
  color: var(--muted);
  font-size: var(--sub-body-sm);
}
.store-summary {
  position: sticky;
  top: calc(var(--header) + 24px);
  gap: 16px;
  padding: 32px;
  box-shadow: 0 4px 10px rgb(0 0 0 / 0.05);
}
.store-summary-rule {
  width: 100%;
  height: 1px;
  margin: 0;
  border: 0;
  background: #e0e3e8;
}
.store-summary-total,
.store-ship-sum p:last-child {
  color: var(--ink);
  font-weight: 700;
}
.store-summary-total strong {
  color: var(--brand);
  font-size: var(--sub-subhead);
}
.store-ship-sum strong {
  color: var(--ink);
  font-size: var(--sub-subhead);
}
.store-cart-note {
  color: var(--muted);
  font-size: var(--sub-label);
  font-weight: 400;
  line-height: 1.65;
}
.store-cart-guide {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
  padding: 30px 32px;
  border-radius: 12px;
  background: #f6f6f6;
}
.store-cart-guide h3 {
  font-size: var(--sub-body);
  line-height: 1.5;
  letter-spacing: 0;
}
.store-cart-guide ul {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
  color: var(--muted);
  font-size: var(--sub-body-sm);
  line-height: 1.6;
}
.store-cart-guide li::before {
  content: "·  ";
}
.store-form-section {
  padding: 36px 32px;
}
.store-form-section + .store-form-section {
  margin-top: 0;
}
.store-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}
.store-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 20px 0 0;
}
.store-fields .store-field {
  margin-top: 0;
}
.store-field span {
  color: var(--muted);
  font-size: var(--sub-body-sm);
  font-weight: 500;
}
.store-field input,
.store-field select,
.store-field textarea,
.store-compose select {
  width: 100%;
  height: 54px;
  padding: 0 18px;
  border: 1px solid #ccd1da;
  border-radius: 4px;
  background: #fff;
  color: var(--ink);
  font: inherit;
  font-size: var(--sub-body-sm);
}
.store-field textarea {
  height: 238px;
  padding: 14px 16px 36px;
  resize: vertical;
}
.store-field input:focus-visible,
.store-field select:focus-visible,
.store-field textarea:focus-visible,
.store-compose select:focus-visible {
  outline: 2px solid var(--brand);
  outline-offset: 2px;
}
.store-order-block {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
}
.store-order-item {
  display: grid;
  grid-template-columns: 140px minmax(0, 1fr);
  gap: 20px;
  align-items: center;
  margin-top: 24px;
}
.store-order-item img {
  aspect-ratio: 1 / 1;
  border-radius: 10px;
  background: var(--soft);
}
.store-order-item > div {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}
.store-order-item strong {
  font-size: var(--sub-body);
  font-weight: 700;
  line-height: 1.5;
  word-break: keep-all;
}
.store-order-item p {
  margin: 0;
  color: #5e5e5e;
  font-size: var(--sub-body-sm);
  line-height: 1.5;
  word-break: keep-all;
}
.store-order-qty {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  margin: 16px 0 0;
  padding: 16px;
  border-radius: 6px;
  background: #f6f6f6;
  font-size: var(--sub-body-sm);
}
.store-order-count {
  display: inline-flex;
  gap: 10px;
  align-items: center;
  color: var(--ink);
}
.store-order-count span {
  padding: 5px 8px;
  border: 1px solid #ddd;
  border-radius: 6px;
  background: #fff;
  font-weight: 400;
  line-height: 1;
}
.store-order-price {
  display: inline-flex;
  gap: 12px;
  align-items: center;
}
.store-order-qty b {
  color: var(--ink);
  font-size: var(--sub-body);
  font-weight: 700;
}
.store-pay {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 24px;
}
.store-pay label {
  display: inline-flex;
  align-items: center;
  min-height: 55px;
  padding: 0 18px;
  border: 1px solid #e0e3e8;
  border-radius: 8px;
  font-size: var(--sub-body-sm);
  cursor: pointer;
}
.store-pay label.is-active {
  border-color: var(--brand);
  color: var(--brand);
  font-weight: 700;
}
.store-pay input {
  margin-right: 8px;
  accent-color: var(--brand);
}
.store-agree {
  margin-top: 24px;
  font-weight: 400;
}
[data-page="store-order"] .store-form-section {
  display: flex;
  flex-direction: column;
  gap: 26px;
  width: 100%;
  border-color: #dbdbdb;
  border-radius: 16px;
}
[data-page="store-order"] .store-form-section h3 {
  letter-spacing: -0.045em;
  word-break: keep-all;
}
[data-page="store-order"] .store-field {
  margin: 0;
  gap: 10px;
  width: 100%;
}
[data-page="store-order"] .store-field span {
  font-weight: 400;
}
[data-page="store-order"] .store-field input,
[data-page="store-order"] .store-field select {
  border: 1px solid #ccc;
  border-radius: 8px;
}
[data-page="store-order"] .store-field select {
  padding-right: 44px;
  appearance: none;
  background: #fff url("../images/store/icon-select-chevron.svg") no-repeat right 16px center;
  background-size: 18px 18px;
}
[data-page="store-order"] .store-order-item,
[data-page="store-order"] .store-order-qty,
[data-page="store-order"] .store-pay,
[data-page="store-order"] .store-agree {
  margin: 0;
}
[data-page="store-order"] .store-pay label {
  position: relative;
  padding: 16px 26px;
  border: 0;
  background: var(--soft);
  color: var(--muted);
  font-weight: 400;
}
[data-page="store-order"] .store-pay label.is-active {
  background: var(--brand);
  color: #fff;
  font-weight: 400;
}
[data-page="store-order"] .store-pay input {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}
[data-page="store-order"] .store-agree {
  align-items: flex-start;
  width: 100%;
  color: var(--muted);
  word-break: keep-all;
}
.store-complete-msg {
  display: flex;
  flex-direction: column;
  gap: 18px;
  align-items: center;
  max-width: 656px;
  margin: 0 auto;
  text-align: center;
}
.store-complete-msg h2 {
  word-break: keep-all;
}
.store-check-icon {
  display: grid;
  place-items: center;
  width: 88px;
  height: 88px;
  margin: 0;
  border-radius: 50%;
  background: var(--brand);
  color: #fff;
  font-size: var(--sub-block-title);
  font-weight: 700;
  line-height: 1.2;
}
.store-order-no {
  display: inline-flex;
  gap: 16px;
  align-items: center;
  margin: 0;
  padding: 14px 24px;
  border-radius: 999px;
  background: #f2f5fb;
  color: var(--muted);
  font-size: var(--sub-label);
  font-weight: 500;
}
.store-order-no strong {
  color: var(--brand);
  font-size: var(--sub-body-sm);
}
.store-complete-head,
.store-complete-side-head {
  display: flex;
  gap: 20px;
  align-items: flex-start;
  justify-content: space-between;
  padding: 28px 32px;
  background: #f9f9fa;
}
.store-complete-side-head {
  flex-direction: column;
  gap: 8px;
  padding: 28px 30px 24px;
}
.store-complete-side-head p {
  margin: 0;
  color: var(--muted);
  font-size: var(--sub-label);
  font-weight: 400;
  line-height: 1.55;
}
.store-complete-head b {
  color: var(--brand);
  font-size: var(--sub-label);
  font-weight: 700;
}
.store-complete-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.store-complete-info {
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0 32px;
}
.store-complete-info div {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  gap: 28px;
  align-items: start;
  padding: 20px 0;
  border-bottom: 1px solid #e0e3e8;
}
.store-complete-info div:last-child {
  border: 0;
}
.store-complete-info div:last-child dt {
  font-weight: 700;
}
.store-complete-card .store-complete-sub {
  margin: 0;
  padding: 28px 32px 20px;
  border-top: 1px solid #e0e3e8;
  font-size: var(--sub-body);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -0.045em;
  word-break: keep-all;
}
.store-complete-products {
  display: flex;
  flex-direction: column;
  width: 100%;
}
.store-complete-product {
  display: grid;
  grid-template-columns: 128px minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
  padding: 8px 32px;
}
.store-complete-product + .store-complete-product {
  border-top: 1px solid #e0e3e8;
}
.store-complete-product:last-child {
  padding-bottom: 32px;
}
.store-complete-product img {
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  border-radius: 10px;
  background: var(--soft);
}
.store-complete-product > div {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}
.store-complete-product strong {
  font-size: var(--sub-body);
  font-weight: 700;
  line-height: 1.5;
  word-break: keep-all;
}
.store-complete-product p {
  margin: 0;
  color: #5e5e5e;
  font-size: var(--sub-body-sm);
  line-height: 1.5;
}
.store-complete-product b {
  font-size: var(--sub-body);
  font-weight: 700;
}
.store-complete-ship {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 26px 30px;
  color: var(--muted);
  font-size: var(--sub-body-sm);
  line-height: 1.65;
}
.store-complete-ship > p {
  margin:0;
}
.store-complete-ship strong {
  color: var(--ink);
  font-size: var(--sub-body-sm);
  line-height: 1.55;
}
.store-complete-inquiry-follow {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 26px 30px;
}
.store-complete-inquiry-follow h4 {
  margin: 0;
  font-size: var(--sub-body-sm);
  font-weight: 700;
  line-height: 1.55;
  word-break: keep-all;
}
.store-complete-inquiry-follow > p {
  margin: 0;
  color: var(--muted);
  font-size: var(--sub-body-sm);
  line-height: 1.65;
  word-break: keep-all;
}
.store-complete-inquiry-contact {
  font-size: var(--sub-label);
  line-height: 1.6;
}
.store-complete-pay {
  gap: 16px;
  margin: 0;
  padding: 24px 30px 28px;
  border-top: 1px solid #e0e3e8;
  border-bottom: 0;
}
.store-complete-pay div {
  display: flex;
  grid-template-columns: none;
  justify-content: space-between;
  align-items: flex-start;
  padding: 0;
  border: 0;
}
.store-complete-pay div:last-child dt {
  font-weight: 700;
}
.store-complete-pay .store-summary-rule {
  flex: none;
  width: 100%;
}
.store-complete-actions {
  justify-content: center;
}
.store-complete-actions .store-btn {
  min-width: 240px;
  min-height: 58px;
}
.store-post-guide {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: 100%;
  background: #f9f9fa;
  border-radius: 12px;
}
.store-post-guide article {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 26px 28px;
}
.store-post-guide article + article {
  border-left: 1px solid #e0e3e8;
}
.store-post-guide h3 {
  margin: 0;
  font-size: var(--sub-body);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0;
  word-break: keep-all;
}
.store-post-guide p {
  margin: 0;
  color: var(--muted);
  font-size: var(--sub-label);
  line-height: 1.6;
}
.store-layer {
  position: fixed;
  inset: 0;
  z-index: 1100;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px 0;
  overflow: auto;
}
.store-layer[hidden] {
  display: none;
}
.store-layer-dim {
  position: absolute;
  inset: 0;
  background: rgb(0 0 0 / 0.45);
}
.store-layer-panel {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  width: min(1440px, 94%);
  max-height: 90vh;
  overflow: auto;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 16px 44px rgb(5 10 20 / 0.22);
}
.store-layer-compose {
  width: min(720px, 94%);
  max-height: 90vh;
  overflow: hidden;
}
.store-layer-compose .store-layer-head {
  height: 84px;
  min-height: 84px;
  padding: 0 28px 0 32px;
  border-bottom: 1px solid #e3e5e9;
}
.store-layer-compose .store-layer-head h3 {
  font-weight: 500;
}
.store-layer-compose .store-layer-head button {
  width: 26px;
  height: 26px;
}
.store-layer-head,
.store-layer-foot {
  display: flex;
  flex: none;
  align-items: center;
  justify-content: space-between;
  min-height: 84px;
  padding: 0 32px;
  border-bottom: 1px solid #e3e5e9;
}
.store-layer-foot {
  justify-content: center;
  border-bottom: 0;
  border-top: 1px solid #e3e5e9;
}
.store-layer-head button {
  width: 26px;
  height: 26px;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
}
.store-layer-head img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.store-layer-body {
  padding: 8px 32px 32px;
}
.store-layer-body .store-review,
.store-layer-body .store-qa-card {
  background: transparent;
}
.store-layer[data-store-layer="review"] {
  align-items: flex-start;
  padding: 0;
}
.store-layer[data-store-layer="review"] .store-layer-dim {
  background: rgb(9 12 19 / 0.62);
}
.store-layer-review {
  width: min(1440px, 100%);
  height: 100vh;
  max-height: 100vh;
  overflow: hidden;
  border-radius: 0;
  box-shadow: 0 18px 50px rgb(5 10 20 / 0.18);
}
.store-layer-review .store-layer-head {
  gap: 16px;
  min-height: 92px;
  padding: 0 30px;
  border-bottom-color: #e3e5eb;
}
.store-layer-review .store-layer-head h3 {
  font-weight: 500;
}
.store-layer-review .store-layer-head button {
  width: 28px;
  height: 28px;
}
.store-layer-title {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  min-width: 0;
}
.store-layer-title p {
  margin: 0;
  color: #6b6b73;
  font-size: var(--sub-label);
  font-weight: 400;
  line-height: 1.45;
  word-break: keep-all;
}
.store-layer-review .store-layer-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 28px;
  min-height: 0;
  padding: 0 30px 40px;
  overflow-x: hidden;
  overflow-y: auto;
}
.store-layer-rating {
  display: flex;
  flex: none;
  align-items: center;
  padding: 38px 0;
  border-bottom: 1px solid #e2e4e8;
}
.store-layer-score {
  display: flex;
  flex: none;
  flex-direction: column;
  gap: 6px;
  align-items: center;
  justify-content: center;
  width: 420px;
}
.store-layer-score-line {
  display: flex;
  gap: 12px;
  align-items: center;
  margin: 0;
}
.store-layer-score-line img {
  flex: none;
  width: 38px;
  height: 38px;
}
.store-layer-score-line strong {
  font-family: Inter, sans-serif;
  font-size: var(--sub-section-title);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -0.03em;
}
.store-layer-score-line span {
  color: #8a8b90;
  font-family: Inter, sans-serif;
  font-size: var(--sub-body-sm);
  font-weight: 400;
  line-height: 1.5;
}
.store-layer-score > p:last-child {
  margin: 0;
  color: #5e5e63;
  font-size: var(--sub-label);
  line-height: 1.5;
  word-break: keep-all;
}
.store-layer-bars {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 13px;
  justify-content: center;
  min-width: 0;
  min-height: 142px;
  padding-left: 64px;
  border-left: 1px solid #e2e4e8;
}
.store-layer-bar {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr) 44px;
  gap: 16px;
  align-items: center;
  min-height: 30px;
}
.store-layer-bar span,
.store-layer-bar em {
  font-size: var(--sub-label);
  font-style: normal;
  line-height: 1.5;
}
.store-layer-bar span {
  color: #55565c;
}
.store-layer-bar p {
  height: 8px;
  margin: 0;
  overflow: hidden;
  border-radius: 4px;
  background: #edf0f4;
}
.store-layer-bar i {
  display: block;
  height: 100%;
  border-radius: 4px;
  background: var(--brand);
  font-style: normal;
}
.store-layer-bar em {
  font-family: Inter, sans-serif;
  font-weight: 600;
  text-align: right;
}
.store-layer-tools {
  display: flex;
  flex: none;
  align-items: center;
  justify-content: space-between;
  min-height: 64px;
  gap: 16px;
}
.store-layer-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.store-layer-tabs .store-chip {
  min-width: 92px;
  height: 42px;
  padding: 0 16px;
  background: #f3f4f6;
  color: #5e5e63;
}
.store-layer-tabs .store-chip.is-active {
  min-width: 100px;
  background: var(--brand);
  color: #fff;
}
.store-layer-sort {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.store-layer-sort button {
  padding: 0;
  border: 0;
  background: none;
  color: #767676;
  font-size: var(--sub-label);
  font-weight: 400;
  line-height: 1.5;
  cursor: pointer;
}
.store-layer-sort button.is-active {
  color: #000;
  font-weight: 600;
}
.store-layer-sort button + button::before {
  content: " ˙ ";
  color: #767676;
  font-weight: 400;
}
.store-layer-list {
  display: flex;
  flex-direction: column;
}
.store-layer-item {
  display: flex;
  gap: 24px;
  align-items: center;
  justify-content: space-between;
  padding: 28px 0;
  border-bottom: 1px solid #e5e7eb;
}
.store-layer-item-copy {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 12px;
  min-width: 0;
}
.store-layer-item-meta {
  display: flex;
  gap: 12px;
  align-items: center;
}
.store-layer-avatar {
  display: grid;
  flex: none;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: #eef2fa;
  color: var(--brand);
  font-size: var(--sub-label);
  font-weight: 500;
}
.store-layer-avatar.is-muted {
  background: #f1f1f2;
  color: #5d5958;
}
.store-layer-item-meta > div {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.store-layer-stars {
  display: flex;
  gap: 8px;
  align-items: center;
  margin: 0;
  line-height: 1.65;
}
.store-layer-stars em {
  color: #f47a35;
  font-size: var(--sub-body-sm);
  font-style: normal;
  font-weight: 500;
}
.store-layer-stars b {
  font-family: Inter, sans-serif;
  font-size: var(--sub-label);
  font-weight: 600;
}
.store-layer-item-meta p:last-child {
  margin: 0;
  color: #85868c;
  font-size: var(--sub-label);
  line-height: 1.65;
  white-space: pre;
}
.store-layer-item-option {
  margin: 0;
  color: #77787e;
  font-size: var(--sub-label);
  line-height: 1.65;
  word-break: keep-all;
}
.store-layer-item-copy > p:last-child {
  margin: 0;
  color: #33343a;
  font-size: var(--sub-body-sm);
  line-height: 1.65;
  word-break: keep-all;
}
.store-layer-photo {
  position: relative;
  flex: none;
  width: 160px;
  aspect-ratio: 1 / 1;
  margin: 0;
  overflow: hidden;
  border-radius: 10px;
}
.store-layer-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.store-layer-photo b {
  position: absolute;
  right: 0;
  bottom: 0;
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 15px 0;
  background: rgb(0 0 0 / 0.5);
  color: #fff;
  font-size: var(--sub-label);
  font-weight: 700;
}
.store-layer[data-store-layer="qa"] {
  align-items: flex-start;
  padding: 0;
}
.store-layer[data-store-layer="qa"] .store-layer-dim {
  background: rgb(9 12 19 / 0.62);
}
.store-layer-qa {
  width: min(1440px, 100%);
  height: 100vh;
  max-height: 100vh;
  overflow: hidden;
  border-radius: 0;
  box-shadow: 0 18px 50px rgb(5 10 20 / 0.18);
}
.store-layer-qa .store-layer-head {
  gap: 16px;
  min-height: 92px;
  padding: 0 36px 0 44px;
  border-bottom-color: #e3e5eb;
}
.store-layer-qa .store-layer-head h3 {
  font-weight: 500;
}
.store-layer-qa .store-layer-head button {
  width: 28px;
  height: 28px;
}
.store-layer-qa .store-layer-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 24px;
  min-height: 0;
  padding: 32px 44px;
  overflow-x: hidden;
  overflow-y: auto;
}
.store-layer-qa .store-layer-tools {
  min-height: 56px;
}
.store-layer-qa .store-layer-tabs .store-chip,
.store-layer-qa .store-layer-tabs .store-chip.is-active {
  min-width: 92px;
}
.store-layer-note {
  margin: 0;
  color: #77787e;
  font-size: var(--sub-label);
  line-height: 1.55;
  word-break: keep-all;
}
.store-layer-board {
  width: 100%;
  overflow-x: auto;
}
.store-layer-board table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}
.store-layer-board thead {
  border-top: 2px solid var(--brand);
  background: #f6f7f9;
}
.store-layer-board th,
.store-layer-board td {
  height: 82px;
  padding: 0 8px;
  border-bottom: 1px solid #e5e7eb;
  font-size: var(--sub-label);
  font-weight: 400;
  line-height: 1.55;
  text-align: center;
  vertical-align: middle;
  word-break: keep-all;
}
.store-layer-board th {
  height: 58px;
  color: #36373c;
  font-weight: 500;
}
.store-layer-board th:nth-child(1),
.store-layer-board td:nth-child(1) {
  width: 80px;
}
.store-layer-board th:nth-child(2),
.store-layer-board td:nth-child(2) {
  width: 130px;
}
.store-layer-board th:nth-child(3),
.store-layer-board td:nth-child(3) {
  width: 120px;
}
.store-layer-board th:nth-child(4),
.store-layer-board td:nth-child(4) {
  width: auto;
  padding: 0 16px 0 22px;
  text-align: left;
}
.store-layer-board th:nth-child(5),
.store-layer-board td:nth-child(5) {
  width: 140px;
}
.store-layer-board th:nth-child(6),
.store-layer-board td:nth-child(6) {
  width: 172px;
}
.store-layer-board td:nth-child(1),
.store-layer-board td:nth-child(6) {
  color: #85868c;
}
.store-layer-board td:nth-child(3),
.store-layer-board td:nth-child(5) {
  color: #6b6c72;
}
.store-qa-subject {
  min-width: 0;
}
.store-layer-board td:nth-child(4) p {
  margin: 0;
  color: #27272c;
  font-size: var(--sub-body-sm);
  line-height: 1.55;
  white-space: nowrap;
}
.store-qa-subject img {
  display: inline-block;
  margin-left: 6px;
  vertical-align: middle;
}
.store-layer-board td.is-secret p {
  color: #77787e;
  white-space: pre;
}
.store-qa-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 88px;
  height: 34px;
  border-radius: 17px;
  background: #eef2fa;
  color: var(--brand);
  font-size: var(--sub-label);
  font-weight: 500;
}
.store-qa-status.is-wait {
  background: #f3f4f5;
  color: #686970;
}
.store-qa-lock {
  flex: none;
  width: 24px;
  height: 24px;
}
.store-qa-reply {
  flex: none;
  width: 22px;
  height: 22px;
}
.store-layer-qa .store-layer-foot {
  min-height: 92px;
  padding: 0 44px;
  border-top-color: #e3e5eb;
}
.store-layer-qa .store-layer-foot .store-btn {
  flex: none;
  width: 300px;
  min-height: 52px;
  border-radius: 4px;
}
.store-compose {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-height: 0;
  padding: 0;
}
.store-compose-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 18px;
  min-height: 0;
  padding: 28px 32px 24px;
  overflow-x: hidden;
  overflow-y: auto;
}
.store-compose .store-field {
  position: relative;
  gap: 8px;
  margin: 0;
}
.store-compose .store-field span {
  color: #5e5e63;
  font-size: var(--sub-label);
  font-weight: 500;
}
.store-compose .store-field select {
  height: 50px;
  padding: 0 40px 0 16px;
  border-color: #ccd1da;
  appearance: none;
  background: #fff url("../images/store/icon-select-chevron.svg") no-repeat right 14px center / 18px 18px;
  font-size: var(--sub-label);
}
.store-compose .store-field textarea {
  height: 238px;
  padding: 14px 16px 36px;
  border-color: #ccd1da;
}
.store-compose .store-field textarea::placeholder {
  color: #98999e;
}
.store-compose .store-field b {
  position: absolute;
  right: 16px;
  bottom: 15px;
  color: #85868c;
  font-size: var(--sub-label);
  font-weight: 400;
}
.store-compose-options {
  display: flex;
  flex-wrap: wrap;
  gap: 28px;
  align-items: center;
}
.store-compose-options label {
  display: inline-flex;
  gap: 9px;
  align-items: center;
  color: #27272c;
  font-size: var(--sub-label);
  line-height: 1.55;
  cursor: pointer;
}
.store-compose-options input[type="checkbox"] {
  flex: none;
  width: 22px;
  height: 22px;
  margin: 0;
  appearance: none;
  border: 1px solid #c9ced7;
  border-radius: 4px;
  background: #fff;
  cursor: pointer;
}
.store-compose-options input[type="checkbox"]:checked {
  border-color: var(--brand);
  background: var(--brand) url("../images/store/icon-check.svg") no-repeat center / 14px 14px;
}
.store-compose-options input[type="checkbox"]:focus-visible {
  outline: 2px solid var(--brand);
  outline-offset: 2px;
}
.store-compose-notice {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 18px;
  border-radius: 4px;
  background: #f7f8fa;
}
.store-compose-notice strong {
  display: block;
  margin: 0;
  color: #27272c;
  font-size: var(--sub-body-sm);
  font-weight: 700;
  line-height: 1.55;
  word-break: keep-all;
}
.store-compose-notice p {
  margin: 0;
  color: #6a6b70;
  font-size: var(--sub-label);
  line-height: 1.55;
  word-break: keep-all;
}
.store-layer-compose .store-compose-actions {
  flex: none;
  gap: 10px;
  align-items: center;
  height: 90px;
  min-height: 90px;
  padding: 0 32px;
  border-top: 1px solid #e3e5e9;
}
.store-layer-compose .store-compose-actions .store-btn {
  min-height: 50px;
  height: 50px;
  border-radius: 4px;
  font-size: var(--sub-body-sm);
  font-weight: 500;
}
.store-layer-compose .store-btn-line {
  border-color: #c9ced7;
  color: #27272c;
}
body.store-layer-open {
  overflow: hidden;
}
.project-article-head {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.project-article-head p:last-child {
  margin: 0;
  max-width: 920px;
  color: var(--muted);
  font-size: var(--sub-body);
  line-height: 1.6;
}
.project-meta {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}
.project-meta div {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 72px;
}
.project-meta dt,
.project-meta dd {
  margin: 0;
  color: var(--brand);
  font-size: var(--sub-label);
  font-weight: 500;
}
.project-cover {
  margin: 0;
  overflow: hidden;
  aspect-ratio: 1680 / 920;
  border-radius: var(--radius);
}
.project-intro {
  display: grid;
  grid-template-columns: minmax(0, 500fr) minmax(0, 980fr);
  gap: 100px;
  align-items: start;
}
.project-intro h3,
.project-gallery-block h3 {
  margin: 0;
  font-size: var(--sub-block-title);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -0.045em;
}
.project-intro-copy {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.project-intro-copy p {
  margin: 0;
  color: var(--muted);
  font-size: var(--sub-body);
  line-height: 1.65;
}
.project-gallery-block {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
.project-gallery {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 40px;
}
.project-gallery figure,
.project-gallery-wide {
  margin: 0;
  overflow: hidden;
  border-radius: var(--radius);
}
.project-gallery figure {
  aspect-ratio: 820 / 620;
}
.project-gallery-wide {
  aspect-ratio: 1680 / 760;
}
.project-list-btn {
  display: flex;
  justify-content: center;
  margin: 0;
}
.project-list-btn a {
  display: grid;
  place-items: center;
  min-width: 160px;
  min-height: 54px;
  padding: 0 36px;
  border-radius: 28px;
  color: #fff;
  background: var(--brand);
  font-size: var(--sub-body-sm);
  font-weight: 500;
}
.project-nav a {
  display: grid;
  grid-template-columns: 4rem 10rem minmax(0, 1fr);
  align-items: center;
  gap: 36px;
  min-height: 80px;
  border-top: 1px solid #ccc;
}
.project-nav a:last-child {
  border-bottom: 1px solid #ccc;
}
.project-nav span,
.project-nav strong {
  font-size: var(--sub-body-sm);
  font-weight: 500;
}
.project-nav strong {
  font-weight: 700;
  letter-spacing: -0.03em;
}
@media (hover: hover) and (min-width: 1101px) {
  .space-editorial-grid figure img,
  .space-split figure img,
  .space-manifesto-visual img,
  .zerosum-product-card img,
  .zerosum-safe-grid figure img,
  .project-board-card .project-board-thumb img,
  .project-cover img,
  .project-gallery img,
  .project-gallery-wide img,
  .store-product-thumb img,
  .store-gallery-main img,
  .store-story-visual img {
    transition: transform 0.6s;
  }
  .space-editorial-grid:hover img,
  .space-split:hover img,
  .space-manifesto-visual:hover img,
  .zerosum-product-card:hover img,
  .zerosum-safe-grid:hover img,
  .project-board-card:hover .project-board-thumb:not(.is-empty) img,
  .project-cover:hover img,
  .project-gallery figure:hover img,
  .project-gallery-wide:hover img,
  .store-product-card:hover .store-product-thumb img,
  .store-gallery-main:hover img,
  .store-story-visual:hover img {
    transform: scale(1.035);
  }
}
.contact-board,
.contact-article,
.contact-inquiry,
.contact-faq,
.policy-doc {
  padding: 160px 0;
}
.policy-doc {
  --policy-lead: 20px;
  --policy-copy: 18px;
  --policy-meta: 16px;
}
.sub-page[data-page^="policy"] .local-nav a {
  font-size: 15px;
}
.contact-board .container,
.contact-article .container,
.contact-inquiry .container,
.contact-faq .container {
  display: flex;
  flex-direction: column;
  gap: 48px;
}
.contact-board .container,
.contact-article .container {
  gap: 72px;
}
.contact-intro {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
}
.contact-intro-stack,
.contact-intro-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
}
.contact-intro .eyebrow,
.contact-guide .eyebrow {
  margin: 0;
  color: var(--brand);
  font-family: "Inter", sans-serif;
  font-weight: 600;
  letter-spacing: 0;
}
.contact-intro h2 {
  margin: 0;
  font-size: var(--sub-section-title);
  font-weight: 700;
  line-height: 1.55;
  letter-spacing: -0.045em;
  word-break: keep-all;
}
.contact-intro p {
  margin: 0;
  color: var(--muted);
  font-size: var(--sub-body-sm);
  line-height: 1.55;
  word-break: keep-all;
}
.contact-table-wrap {
  overflow-x: auto;
}
.contact-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}
.contact-table caption {
  position: absolute;
}
.contact-col-no {
  width: 6%;
}
.contact-col-type {
  width: 8%;
}
.contact-col-title {
  width: auto;
}
.contact-col-date {
  width: 11%;
}
.contact-col-view {
  width: 12%;
}
.contact-table thead th {
  height: 64px;
  border-top: 2px solid var(--brand);
  background: #f6f7f9;
  color: #38393e;
  font-size: var(--sub-body-sm);
  font-weight: 500;
}
.contact-table th,
.contact-table td {
  padding: 0 12px;
  text-align: center;
  vertical-align: middle;
  word-break: keep-all;
}
.contact-table th:nth-child(3),
.contact-table td:nth-child(3) {
  padding-left: 22px;
  text-align: left;
}
.contact-table tbody td {
  height: 78px;
  border-bottom: 1px solid #e5e7eb;
  color: var(--muted);
  font-size: var(--sub-label);
}
.contact-table td a {
  color: var(--ink);
  font-size: var(--sub-body-sm);
  font-weight: 400;
}
.contact-table td a:hover {
  color: var(--brand);
}
.contact-table .is-pin td:first-child,
.contact-table .is-pin a {
  color: var(--brand);
  font-weight: 500;
}
.contact-board .project-pager {
  padding-top: 0;
}
.contact-article-head {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.contact-article-head h2 {
  margin: 0;
  font-size: var(--sub-panel-title);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -0.045em;
  word-break: keep-all;
}
.contact-meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}
.contact-meta div {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  min-height: 72px;
  padding: 0 8px;
}
.contact-meta div + div {
  border-left: 1px solid #ccc;
  padding-left: 28px;
}
.contact-meta dt,
.contact-meta dd {
  margin: 0;
  font-size: 14px;
  font-weight: 500;
}
.contact-meta dt {
  color: var(--muted);
}
.contact-meta dd {
  color: var(--ink);
}
.contact-article-body {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.contact-article-body p {
  margin: 0;
  color: var(--muted);
  font-size: var(--sub-body);
  line-height: 1.65;
  word-break: keep-all;
}
.contact-article-body a {
  color: var(--brand);
  font-weight: 500;
}
.contact-list-btn {
  display: flex;
  justify-content: center;
  margin: 0;
}
.contact-list-btn a {
  display: grid;
  place-items: center;
  min-width: 160px;
  min-height: 54px;
  padding: 0 36px;
  border-radius: 28px;
  color: #fff;
  background: var(--brand);
  font-size: var(--sub-body-sm);
  font-weight: 500;
}
.contact-post-nav a,
.contact-post-nav .is-empty {
  display: grid;
  grid-template-columns: 4rem 10rem minmax(0, 1fr);
  align-items: center;
  gap: 36px;
  min-height: 80px;
  margin: 0;
  border-top: 1px solid #ccc;
}
.contact-post-nav .is-empty,
.contact-post-nav a:last-child {
  border-bottom: 1px solid #ccc;
}
.contact-post-nav span,
.contact-post-nav strong {
  font-size: var(--sub-body-sm);
  font-weight: 500;
}
.contact-post-nav em {
  margin: 0;
  color: var(--brand);
  font-family: "Inter", sans-serif;
  font-size: var(--sub-label);
  font-style: normal;
  font-weight: 600;
  letter-spacing: 0.02em;
}
.contact-post-nav strong {
  font-weight: 700;
  letter-spacing: -0.03em;
  word-break: keep-all;
}
.contact-post-nav .is-empty {
  color: var(--muted);
}
.contact-post-nav .is-empty strong {
  font-weight: 500;
}
.contact-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  background: #f7f8fa;
  border-radius: var(--radius);
}
.contact-summary > div {
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-width: 0;
  padding: 25px 28px;
}
.contact-summary > div + div {
  border-left: 1px solid #e1e4e9;
}
.contact-summary span,
.contact-guide dt span {
  color: var(--brand);
  font-family: "Inter", sans-serif;
  font-size: var(--sub-label);
  font-weight: 600;
}
.contact-summary em {
  color: var(--muted);
  font-family: "Inter", sans-serif;
  font-size: var(--sub-label);
  font-style: normal;
  font-weight: 600;
}
.contact-summary strong {
  color: var(--ink);
  font-size: var(--sub-subhead);
  font-weight: 500;
  word-break: keep-all;
}
.contact-summary p,
.contact-guide dd {
  margin: 0;
  color: var(--muted);
  font-size: var(--sub-label);
  line-height: 1.6;
  word-break: keep-all;
}
.contact-layout {
  display: grid;
  grid-template-columns: minmax(0, 1120fr) minmax(0, 500fr);
  gap: 60px;
  align-items: start;
}
.contact-form,
.contact-guide {
  min-width: 0;
}
.contact-form {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.contact-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.contact-field {
  display: flex;
  flex-direction: column;
  gap: 9px;
  min-width: 0;
}
.contact-field > span {
  color: var(--ink);
  font-size: var(--sub-label);
  font-weight: 500;
}
.contact-field input:not([type="file"]):not([type="checkbox"]),
.contact-field select,
.contact-field textarea {
  width: 100%;
  height: 54px;
  padding: 0 17px;
  border: 1px solid #c9ced7;
  border-radius: 4px;
  background: #fff;
  color: var(--ink);
  font: inherit;
  font-size: var(--sub-label);
}
.contact-field select {
  padding-right: 44px;
  appearance: none;
  background: #fff url("../images/contact/icon-select.svg") no-repeat right 17px center / 18px 18px;
}
.contact-field textarea {
  height: 230px;
  padding: 15px 17px;
  resize: vertical;
}
.contact-field input:not([type="file"]):focus-visible,
.contact-field select:focus-visible,
.contact-field textarea:focus-visible,
.contact-file:focus-within {
  outline: 2px solid var(--brand);
  outline-offset: 2px;
}
.contact-file {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  height: 54px;
  padding: 0 9px 0 17px;
  border: 1px solid #c9ced7;
  border-radius: 4px;
  background: #fff;
}
.contact-file input {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}
.contact-file span {
  overflow: hidden;
  color: #929399;
  font-size: var(--sub-label);
  font-weight: 400;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.contact-file em {
  display: grid;
  flex: 0 0 100px;
  place-items: center;
  width: 100px;
  height: 36px;
  background: #f3f4f6;
  color: var(--ink);
  font-size: var(--sub-label);
  font-style: normal;
  font-weight: 500;
  pointer-events: none;
}
.contact-agree {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}
.contact-agree label {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #55565c;
  font-size: var(--sub-label);
}
.contact-agree input {
  width: 22px;
  height: 22px;
  margin: 0;
  accent-color: var(--brand);
}
.contact-agree button {
  padding: 0;
  border: 0;
  background: none;
  color: var(--muted);
  font: inherit;
  font-size: var(--sub-label);
  text-decoration: underline;
  cursor: pointer;
}
.contact-privacy {
  padding: 16px 18px;
  border-radius: 8px;
  background: #f7f8fa;
}
.contact-privacy p,
.contact-done {
  margin: 0;
  color: var(--muted);
  font-size: var(--sub-label);
  line-height: 1.6;
  word-break: keep-all;
}
.contact-submit {
  width: 240px;
  max-width: 100%;
  height: 54px;
  border: 0;
  border-radius: 8px;
  background: var(--brand);
  color: #fff;
  font: inherit;
  font-size: var(--sub-body-sm);
  font-weight: 500;
  cursor: pointer;
}
.contact-guide {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 30px;
  border-radius: var(--radius);
  background: #f7f8fa;
}
.contact-guide h3 {
  margin: 0;
  font-size: var(--sub-card-title);
  font-weight: 700;
  line-height: 1.6;
  word-break: keep-all;
}
.contact-guide > p {
  margin: 0;
  color: var(--muted);
  font-size: var(--sub-body-sm);
  line-height: 1.6;
  word-break: keep-all;
}
.contact-guide dl {
  display: flex;
  flex-direction: column;
  margin: 12px 0 0;
}
.contact-guide dl > div {
  padding: 18px 0;
  border-top: 1px solid #dde0e6;
}
.contact-guide dt {
  display: flex;
  flex-direction: column;
  gap: 5px;
  margin-bottom: 5px;
  font-size: var(--sub-body-sm);
  font-weight: 500;
}
.contact-cats {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.contact-cats button {
  min-height: 44px;
  padding: 0 28px;
  border: 1px solid #d5d9e0;
  border-radius: 22px;
  background: #fff;
  color: #55565c;
  font: inherit;
  font-size: var(--sub-label);
  font-weight: 500;
  cursor: pointer;
}
.contact-cats button.is-active {
  border-color: var(--brand);
  background: var(--brand);
  color: #fff;
}
.contact-faq-list {
  border-top: 2px solid var(--brand);
}
.contact-faq-item summary {
  display: flex;
  align-items: center;
  gap: 22px;
  min-height: 84px;
  padding: 18px 22px 18px 24px;
  border-bottom: 1px solid #e3e5e9;
  cursor: pointer;
  list-style: none;
}
.contact-faq-item summary::-webkit-details-marker,
.contact-faq-item summary::marker {
  display: none;
  content: "";
}
.contact-faq-item summary span {
  flex: 0 0 auto;
  color: var(--brand);
  font-family: "Inter", sans-serif;
  font-size: var(--sub-body-sm);
  font-weight: 600;
}
.contact-faq-item summary em {
  display: grid;
  place-items: center;
  min-height: 34px;
  padding: 0 18px;
  border-radius: 17px;
  background: #f2f4f8;
  color: #333;
  font-size: var(--sub-label);
  font-style: normal;
  font-weight: 500;
  white-space: nowrap;
}
.contact-faq-item summary strong {
  flex: 1 1 auto;
  min-width: 0;
  font-size: var(--sub-body);
  font-weight: 500;
  line-height: 1.6;
  word-break: keep-all;
}
.contact-faq-item summary i {
  display: grid;
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
}
.contact-faq-item summary img {
  width: 22px;
  height: 22px;
  object-fit: contain;
}
.contact-faq-item .contact-faq-opened,
.contact-faq-item[open] .contact-faq-closed {
  display: none;
}
.contact-faq-item[open] .contact-faq-opened {
  display: block;
}
.contact-faq-item p {
  margin: 0;
  padding: 28px 54px 28px 178px;
  background: #f7f8fa;
  color: #55565c;
  font-size: var(--sub-body-sm);
  line-height: 1.6;
  word-break: keep-all;
}
.contact-faq-empty {
  margin: 0;
  padding: 48px 0;
  color: var(--muted);
  font-size: var(--sub-body-sm);
  text-align: center;
}
.contact-support {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 132px;
  padding: 34px 30px;
  border-radius: var(--radius);
  background: var(--brand);
  color: #fff;
}
.contact-support strong {
  display: block;
  font-size: var(--sub-subhead);
  font-weight: 700;
  word-break: keep-all;
}
.contact-support p {
  margin: 5px 0 0;
  color: #dde5fa;
  font-size: var(--sub-label);
  word-break: keep-all;
}
.contact-support a {
  display: grid;
  place-items: center;
  width: 160px;
  height: 48px;
  flex: 0 0 160px;
  border-radius: 4px;
  background: #fff;
  color: var(--brand);
  font-size: var(--sub-label);
  font-weight: 500;
}
.policy-doc .container {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.policy-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
}
.policy-head-copy {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 10px;
  min-width: 0;
}
.policy-lead,
.policy-intro,
.policy-note,
.policy-posted {
  margin: 0;
  word-break: keep-all;
}
.policy-lead {
  color: var(--ink);
  font-size: var(--policy-lead);
  font-weight: 600;
  line-height: 1.6;
}
.policy-intro {
  color: var(--ink);
  font-size: var(--policy-copy);
  font-weight: 600;
  line-height: 1.6;
}
.policy-note {
  color: var(--ink);
  font-size: var(--policy-copy);
  font-weight: 400;
  line-height: 1.6;
}
.policy-posted {
  color: var(--muted);
  font-size: var(--policy-meta);
  line-height: 1.6;
}
.policy-version {
  flex: 0 0 auto;
}
.policy-version select {
  width: 167px;
  height: 52px;
  padding: 0 44px 0 20px;
  border: 1px solid #ddd;
  border-radius: 6px;
  appearance: none;
  background: #fff url("../images/contact/icon-select.svg") no-repeat right 16px center / 18px 18px;
  color: var(--ink);
  font: inherit;
  font-size: var(--policy-meta);
}
.policy-version select:focus-visible {
  outline: 2px solid var(--brand);
  outline-offset: 2px;
}
.policy-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.policy-item {
  overflow: hidden;
  border: 1px solid #ddd;
  border-radius: 8px;
  background: #fff;
}
.policy-item[open] {
  box-shadow: 0 2px 8px rgb(0 0 0 / 0.1);
}
.policy-item summary {
  display: flex;
  align-items: center;
  gap: 16px;
  min-height: 80px;
  padding: 20px 24px;
  cursor: pointer;
  list-style: none;
}
.policy-item[open] summary {
  background: #f9fafb;
}
.policy-item summary::-webkit-details-marker,
.policy-item summary::marker {
  display: none;
  content: "";
}
.policy-item summary span {
  display: grid;
  flex: 0 0 40px;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 6px;
  background: #111;
  color: #fff;
  font-family: "Inter", sans-serif;
  font-size: var(--policy-meta);
  font-weight: 700;
  letter-spacing: 0.02em;
}
.policy-item summary strong {
  flex: 1 1 auto;
  min-width: 0;
  font-size: var(--policy-copy);
  font-weight: 600;
  line-height: 1.4;
  word-break: keep-all;
}
.policy-item summary i {
  display: grid;
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
}
.policy-item summary img {
  width: 22px;
  height: 22px;
  object-fit: contain;
}
.policy-item .policy-toggle-opened,
.policy-item[open] .policy-toggle-closed {
  display: none;
}
.policy-item[open] .policy-toggle-opened {
  display: block;
}
.policy-item-body {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 34px 24px;
}
.policy-item-body p {
  margin: 0;
  color: var(--ink);
  font-size: var(--policy-copy);
  line-height: 1.6;
  word-break: keep-all;
}
@media (max-width: 1600px) {
  .overview-heading {
    grid-template-columns: 1fr 1fr;
    gap: clamp(60px, 8vw, 120px);
    height: auto;
  }
}
@media (max-width: 1100px) {
  .sub-page {
    --sub-hero-eyebrow: 14px;
    --sub-hero-title: 52px;
    --sub-hero-body: 18px;
    --sub-section-title: 44px;
    --sub-panel-title: 40px;
    --sub-block-title: 36px;
    --sub-card-title: 24px;
    --sub-subhead: 22px;
    --sub-lead: 22px;
    --sub-body: 18px;
    --sub-body-sm: 16px;
    --sub-label: 13px;
  }
  .history-row {
    grid-template-columns: 250px 1fr;
    gap: 40px;
  }
  .milestone {
    grid-template-columns: 80px 1fr;
    gap: 20px;
  }
  .sub-intro-grid,
  .section-heading,
  .overview-heading,
  .vision-header {
    gap: 60px;
  }
  .business-story {
    gap: 50px;
  }
  .company-narrative .section-heading,
  .overview-heading {
    height: auto;
  }
  .overview-heading {
    grid-template-columns: 1fr 1fr;
    justify-content: normal;
  }
  .overview-panel {
    padding: 80px 60px;
  }
  .overview-data {
    grid-template-columns: 1fr 1fr;
  }
  .tech-feature {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .tech-feature figure,
  .tech-summary {
    min-height: 0;
    height: auto;
  }
  .tech-feature figure {
    aspect-ratio: 920/580;
  }
  .tech-index-row {
    grid-template-columns: 100px 320px 1fr;
  }
  .certificate-swiper {
    padding:0 1.5rem;
  }
  .space-approach-grid,
  .space-editorial-grid,
  .space-split,
  .space-care-grid,
  .space-strategy-grid,
  .space-value-grid,
  .space-manifesto-band,
  .zerosum-lineup-heading > div,
  .zerosum-safe-grid,
  .zerosum-checklist-grid,
  .zerosum-moments .space-care-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .project-board-head,
  .project-intro,
  .project-gallery,
  .project-gallery-block {
    gap: 28px;
  }
  .project-board-head {
    flex-direction: column;
    align-items: stretch;
  }
  .project-search {
    width: 100%;
  }
  .contact-intro,
  .policy-head {
    flex-direction: column;
    align-items: stretch;
  }
  .policy-version select {
    width: 100%;
  }
  .contact-summary,
  .contact-layout,
  .contact-fields {
    grid-template-columns: 1fr;
  }
  .contact-inquiry .contact-layout {
    gap: 32px;
  }
  .contact-summary > div + div {
    border-top: 1px solid #e1e4e9;
    border-left: 0;
  }
  .contact-table .contact-col-view,
  .contact-table th:nth-child(5),
  .contact-table td:nth-child(5) {
    display: none;
  }
  .contact-faq-item p {
    padding: 24px 20px 24px 24px;
  }
  .project-board-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 28px;
    row-gap: 48px;
  }
  .store-catalog-head,
  .store-reviews-head,
  .store-qa-head,
  .store-snapshot-head,
  .store-flow-head {
    flex-direction: column;
    align-items: stretch;
  }
  .store-review-score,
  .store-steps {
    align-items: flex-start;
  }
  .store-catalog-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 24px;
    row-gap: 48px;
  }
  .store-commerce-grid,
  .store-cart-grid,
  .store-complete-grid,
  .store-story-intro > div,
  .store-qa-track,
  .store-facts,
  .store-fields,
  .store-post-guide {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  [data-page="store-cart"] .store-flow-head,
  [data-page="store-order"] .store-flow-head {
    gap: 16px;
    align-items: flex-start;
  }
  [data-page="store-cart"] .store-cart-grid,
  [data-page="store-order"] .store-cart-grid {
    gap: 24px;
  }
  [data-page="store-complete"] .store-complete-grid {
    gap: 24px;
  }
  [data-page="store-complete"] .store-post-guide {
    gap: 0;
  }
  [data-page="store-complete"] .store-post-guide article + article {
    border-left: 0;
    border-top: 1px solid #e0e3e8;
  }
  [data-page="store-complete"] .store-complete-head,
  [data-page="store-complete"] .store-complete-sub,
  [data-page="store-complete"] .store-complete-product {
    padding-left: 20px;
    padding-right: 20px;
  }
  [data-page="store-complete"] .store-complete-info {
    padding: 0 20px;
  }
  [data-page="store-complete"] .store-complete-side-head,
  [data-page="store-complete"] .store-complete-ship,
  [data-page="store-complete"] .store-complete-pay,
  [data-page="store-complete"] .store-complete-inquiry-follow {
    padding-left: 20px;
    padding-right: 20px;
  }
  [data-page="store-order"] .store-fields {
    gap: 16px;
  }
  [data-page="store-order"] .store-form-section {
    padding: 28px 20px;
    gap: 20px;
  }
  .store-summary {
    position: static;
  }
  .store-seller,
  .store-quick,
  .store-cart-row,
  .store-ship-sum {
    padding-left: 20px;
    padding-right: 20px;
  }
  .store-cart-guide {
    padding: 24px 20px;
  }
  .store-cart-product,
  .store-order-item {
    grid-template-columns: 120px minmax(0, 1fr);
  }
  [data-page="store-complete"] .store-complete-product {
    grid-template-columns: 120px minmax(0, 1fr) auto;
  }
  .store-tabs a,
  .store-tabs button {
    height: 64px;
  }
  .store-snapshot-nav {
    align-self: flex-start;
  }
  .store-snapshot-card {
    width: min(420px, 78vw);
    min-width: min(420px, 78vw);
  }
  .store-commerce {
    padding: 80px 0 72px;
  }
  .store-commerce > .store-stage {
    gap: 32px;
  }
  .store-commerce-grid {
    gap: 32px;
  }
  .store-gallery,
  .store-buy {
    gap: 16px;
  }
  .store-snapshot {
    padding: 0 0 56px;
  }
  .store-snapshot > .store-stage,
  .store-qa > .store-stage {
    gap: 24px;
  }
  .store-story,
  .store-reviews,
  .store-qa {
    padding: 72px 0;
  }
  .store-story > .store-stage {
    gap: 40px;
  }
  .store-story-intro {
    gap: 12px;
  }
  .store-story-intro > div {
    gap: 24px;
  }
  .store-guide {
    padding: 0 0 72px;
  }
  .store-inquiry-guide {
    padding: 72px 0;
  }
  .store-inquiry-cards {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .store-guide > .store-stage {
    gap: 24px;
  }
  .store-reviews-head,
  .store-qa-head,
  .store-snapshot-head {
    gap: 16px;
  }
  .store-reviews-head > div:first-child,
  .store-snapshot-head > div:first-child,
  .store-qa-head > div:first-child {
    gap: 8px;
  }
  .store-facts article {
    padding: 20px 0 0;
  }
  .store-facts {
    gap: 0;
  }
  .store-review-tools {
    padding: 28px 0 16px;
  }
  .store-review {
    gap: 16px;
    padding: 24px 0;
  }
  .store-review-body {
    gap: 8px;
  }
  .store-review-photo {
    width: 140px;
  }
  .store-review-pager {
    padding-top: 28px;
  }
  .store-chip {
    padding: 8px 14px;
  }
  .store-qa-track {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }
  .store-qa-card {
    padding: 18px;
    gap: 10px;
  }
  .store-guide-table th,
  .store-guide-table td {
    padding: 16px 0;
  }
  .store-guide-table td {
    padding-left: 24px;
  }
  .store-total {
    min-height: 0;
  }
  .store-dest {
    flex-wrap: wrap;
  }
  .store-dest a {
    margin-left: 0;
    width: 100%;
    text-align: right;
  }
  .store-post-guide article + article {
    border-left: 0;
    border-top: 1px solid #e0e3e8;
  }
  .store-layer-review .store-layer-head {
    min-height: 80px;
    padding: 0 24px;
  }
  .store-layer-review .store-layer-body {
    gap: 20px;
    padding: 0 24px 32px;
  }
  .store-layer-rating {
    flex-direction: column;
    align-items: stretch;
    gap: 24px;
    padding: 28px 0;
  }
  .store-layer-score {
    width: 100%;
  }
  .store-layer-bars {
    min-height: 0;
    padding-left: 0;
    padding-top: 24px;
    border-left: 0;
    border-top: 1px solid #e2e4e8;
  }
  .store-layer-bar {
    grid-template-columns: 40px minmax(0, 1fr) 44px;
  }
  .store-layer-tools {
    flex-wrap: wrap;
    min-height: 0;
    gap: 12px;
    align-items: flex-start;
  }
  .store-layer-item {
    gap: 16px;
    padding: 24px 0;
  }
  .store-layer-photo {
    width: 120px;
  }
  .store-layer-qa .store-layer-head {
    min-height: 80px;
    padding: 0 24px;
  }
  .store-layer-qa .store-layer-body {
    gap: 20px;
    padding: 24px;
  }
  .store-layer-qa .store-layer-foot {
    padding: 0 24px;
  }
  .store-layer-qa .store-layer-tools {
    flex-wrap: wrap;
    min-height: 0;
    gap: 12px;
  }
  .store-layer-compose .store-layer-head {
    padding: 0 20px 0 24px;
  }
  .store-compose-body {
    padding: 24px;
  }
  .store-layer-compose .store-compose-actions {
    padding: 0 24px;
  }
  .store-layer-board {
    overflow: visible;
  }
  .store-layer-board table {
    display: block;
    width: 100%;
    min-width: 0;
    border-collapse: separate;
    border-spacing: 0;
  }
  .store-layer-board thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    border: 0;
  }
  .store-layer-board tbody {
    display: flex;
    flex-direction: column;
    gap: 12px;
  }
  .store-layer-board tr {
    display: grid;
    grid-template-columns: auto auto 1fr;
    grid-template-areas:
      "status category ."
      "title title title"
      "author date date";
    gap: 10px 6px;
    align-items: center;
    min-width: 0;
    padding: 18px;
    border: 1px solid #e0e3e8;
    border-radius: 12px;
    background: #fff;
  }
  .store-layer-board th,
  .store-layer-board td {
    display: block;
    width: auto;
    height: auto;
    padding: 0;
    border: 0;
    text-align: left;
  }
  .store-layer-board td:nth-child(1),
  .store-layer-board td:nth-child(2),
  .store-layer-board td:nth-child(3),
  .store-layer-board td:nth-child(4),
  .store-layer-board td:nth-child(5),
  .store-layer-board td:nth-child(6),
  .store-layer-board .store-qa-num {
    width: auto;
  }
  .store-layer-board td:nth-child(1),
  .store-layer-board .store-qa-num {
    display: none;
  }
  .store-layer-board td:nth-child(2) {
    grid-area: status;
    justify-self: start;
  }
  .store-layer-board td:nth-child(3) {
    grid-area: category;
    justify-self: start;
  }
  .store-layer-board td:nth-child(4) {
    grid-area: title;
    justify-self: stretch;
    width: 100%;
    padding: 2px 0 0;
  }
  .store-layer-board td:nth-child(4) p {
    display: inline;
    white-space: normal;
    font-weight: 500;
  }
  .store-layer-board td:nth-child(5) {
    grid-area: author;
  }
  .store-layer-board td:nth-child(6) {
    grid-area: date;
    justify-self: end;
  }
  .store-qa-status {
    width: auto;
    min-width: 0;
    padding: 0 12px;
  }
  .store-layer-board td.is-secret p {
    white-space: normal;
  }
  .project-intro,
  .project-gallery {
    grid-template-columns: 1fr;
  }
  .project-meta {
    grid-template-columns: 1fr 1fr;
  }
  .project-nav a,
  .contact-post-nav a,
  .contact-post-nav .is-empty {
    grid-template-columns: 3.5rem 8rem minmax(0, 1fr);
    gap: 16px;
  }
  .space-approach-panel {
    min-height: 0;
    padding: 48px 40px;
  }
  .space-capability {
    grid-template-columns: 1fr;
  }
  .space-process-grid,
  .space-facility-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .space-principle-grid,
  .space-outcome-grid,
  .zerosum-principle-grid,
  .zerosum-product-grid,
  .zerosum-promise-grid,
  .zerosum-supply-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .zerosum-step-grid,
  .zerosum-check-grid,
  .zerosum-policy-grid,
  .zerosum-sector-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .zerosum-policy-grid article,
  .zerosum-policy-grid article:not(:first-child) {
    padding: 20px 24px 20px 0;
    border-right: 0;
    border-bottom: 1px solid rgb(255 255 255/0.28);
  }
  .zerosum-safe-grid .space-timeline-row {
    grid-template-columns: 72px minmax(0, 1fr);
  }
  .zerosum-safe-grid .space-timeline-row > p {
    grid-column: 2;
    margin-left: 0;
  }
  .zerosum-moments .space-timeline-row,
  .zerosum-process .space-timeline-row,
  .zerosum-checklist .space-timeline-row {
    grid-template-columns: 72px minmax(0, 1fr);
  }
  .zerosum-guide .space-heading {
    margin-bottom: 52px;
  }
  .space-value > .container {
    gap: 24px;
  }
  .space-timeline-row {
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 12px 20px;
  }
  .space-timeline-row > p {
    grid-column: 2;
  }
  .space-manifesto-band {
    padding: 56px 0;
    gap: 28px;
  }
  .project-meta {
    padding:1rem 0;
  }
  .project-meta div,
  .contact-meta div {
    min-height: 36px;
  }
}
@media (max-width: 767px) {
  .sub-page[data-page="history"] .sub-hero,
  .sub-page[data-page="technology"] .sub-hero,
  .sub-page[data-page^="space"] .sub-hero,
  .sub-page[data-page^="zerosum"] .sub-hero,
  .sub-page[data-page^="project"] .sub-hero,
  .sub-page[data-page^="store"] .sub-hero,
  .sub-page[data-page^="contact"] .sub-hero,
  .sub-page[data-page^="policy"] .sub-hero,
  .sub-page[data-page^="member"] .sub-hero {
    background:
      linear-gradient(rgb(0 0 0/0.38), rgb(0 0 0/0.38)),
      var(--sub-image) center/cover;
  }
  .sub-intro,
  .company-narrative,
  .company-overview,
  .history-section,
  .vision-section,
  .tech-overview,
  .certificates,
  .core-tech,
  .quality-pledge,
  .space-approach,
  .space-process,
  .space-band,
  .space-editorial,
  .space-principles,
  .space-care,
  .space-strategy,
  .space-types,
  .space-value,
  .space-facility,
  .space-standard,
  .zerosum-principles,
  .zerosum-lineup,
  .zerosum-method,
  .zerosum-sectors,
  .zerosum-supply,
  .zerosum-safe,
  .project-board,
  .project-article,
  .store-catalog,
  .store-commerce,
  .store-story,
  .store-reviews,
  .store-qa,
  .store-flow,
  .store-complete,
  .contact-board,
  .contact-article,
  .contact-inquiry,
  .contact-faq,
  .policy-doc {
    padding: 96px 0;
  }
  .zerosum-context {
    padding: 0 0 96px;
  }
  .sub-intro-grid,
  .section-heading,
  .business-story,
  .overview-heading,
  .vision-header {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .company-narrative .section-heading,
  .core-tech .section-heading {
    margin-bottom: 52px;
  }
  .certificates {
    gap: 52px;
  }
  .certificates .section-heading {
    margin-bottom: 0;
  }
  .business-story {
    gap: 28px;
  }
  .business-story + .business-story {
    margin-top: 72px;
  }
  .business-story:nth-of-type(2) .story-copy {
    order: 0;
  }
  .overview-panel {
    padding: 58px 6vw;
  }
  .overview-data {
    grid-template-columns: 1fr;
    margin-top: 50px;
  }
  .overview-data div,
  .overview-data div:first-child {
    padding: 24px 0;
    border-left: 0;
    border-top: 1px solid rgb(255 255 255/0.2);
  }
  .history-header {
    margin-bottom: 0;
  }
  .history-filter {
    overflow-x: auto;
    gap: 6px;
    padding-bottom: 8px;
  }
  .history-filter button {
    flex: none;
    height: 34px;
    padding: 0 12px;
    border-radius: 17px;
    font-size: 11px;
  }
  .history-row {
    grid-template-columns: 1fr;
    gap: 28px;
    padding: 38px 0;
  }
  .milestone {
    grid-template-columns: 48px 1fr;
    gap: 10px;
  }
  .milestone b {
    font-size: 13px;
    line-height: 1.5;
  }
  .values-grid {
    grid-template-columns: 1fr;
  }
  .value,
  .value:first-child {
    padding: 28px 0;
    border-left: 0;
    border-top: 1px solid rgb(255 255 255/0.28);
  }
  .tech-summary {
    padding: 42px 6vw;
  }
  .process-row {
    grid-template-columns: 32px 1fr;
    min-height: 0;
    gap: 12px 24px;
  }
  .process-row p {
    grid-column: 2;
  }
  .certificate-swiper .swiper-slide {
    width: 72vw;
  }
  .quality-pledge .container {
    gap: 52px;
  }
  .tech-index-row {
    grid-template-columns: 60px 1fr;
    gap: 15px;
  }
  .tech-index-row > p {
    grid-column: 2;
  }
  .quality-grid {
    grid-template-columns: 1fr;
  }
  .quality-card figure,
  .quality-card:nth-child(2) figure {
    height: auto;
    aspect-ratio: 544/310;
  }
  .space-process-grid,
  .space-principle-grid,
  .space-facility-grid,
  .space-outcome-grid,
  .zerosum-principle-grid,
  .zerosum-product-grid,
  .zerosum-step-grid,
  .zerosum-check-grid,
  .zerosum-policy-grid,
  .zerosum-sector-grid,
  .zerosum-supply-grid,
  .zerosum-promise-grid {
    grid-template-columns: 1fr;
  }
  .space-process .space-heading,
  .space-principles .space-heading,
  .space-scope .space-heading,
  .space-types .space-heading,
  .space-performance .space-heading,
  .space-facility .space-heading,
  .space-standard .space-heading {
    margin-bottom: 52px;
  }
  .space-approach-panel {
    padding: 36px 6vw;
  }
  .space-principle-card,
  .space-facility-card,
  .space-process-card {
    padding: 28px 24px;
  }
  .space-icon {
    width: 40px;
    height: 40px;
  }
  .space-icon img {
    width: 20px;
    height: 20px;
  }
  .space-timeline-row {
    grid-template-columns: 44px minmax(0, 1fr);
    padding: 20px 0;
  }
  .zerosum-moments .space-timeline-row,
  .zerosum-process .space-timeline-row,
  .zerosum-checklist .space-timeline-row,
  .zerosum-safe-grid .space-timeline-row {
    grid-template-columns: 64px minmax(0, 1fr);
    padding: 20px 0;
    gap:10px;
  }
  .zerosum-principle-grid article {
    gap:10px;
  }
  .zerosum-process .space-heading,
  .zerosum-guide .space-heading {
    margin-bottom: 52px;
  }
  .space-strategy .space-timeline-row, 
  .space-value .space-timeline-row {
    gap:10px;
  }
  .space-manifesto-band {
    padding: 36px 0 0;
  }
}

/* Compact mobile rhythm */
@media (max-width: 767px) {
  .sub-page {
    --sub-hero-eyebrow: 10px;
    --sub-hero-title: 22px;
    --sub-hero-body: 13px;
    --sub-hero-stack: 10px;
    --sub-section-title: 20px;
    --sub-panel-title: 18px;
    --sub-block-title: 17px;
    --sub-card-title: 16px;
    --sub-subhead: 15px;
    --sub-lead: 16px;
    --sub-body: 15px;
    --sub-body-sm: 14px;
    --sub-label: 11px;
  }
  .sub-intro,
  .company-narrative,
  .company-overview,
  .history-section,
  .vision-section,
  .tech-overview,
  .certificates,
  .core-tech,
  .quality-pledge,
  .space-approach,
  .space-process,
  .space-band,
  .space-editorial,
  .space-principles,
  .space-care,
  .space-strategy,
  .space-types,
  .space-value,
  .space-facility,
  .space-standard,
  .zerosum-principles,
  .zerosum-lineup,
  .zerosum-method,
  .zerosum-sectors,
  .zerosum-supply,
  .zerosum-safe,
  .project-board,
  .project-article,
  .store-catalog,
  .store-commerce,
  .store-story,
  .store-reviews,
  .store-qa,
  .store-flow,
  .store-complete,
  .contact-board,
  .contact-article,
  .contact-inquiry,
  .contact-faq,
  .policy-doc {
    padding: 56px 0;
  }
  .store-snapshot {
    padding: 0 0 40px;
  }
  .store-guide {
    padding: 0 0 56px;
  }
  .store-inquiry-guide {
    padding: 56px 0;
  }
  .store-inquiry-cards article {
    padding: 24px;
  }
  .zerosum-context {
    padding: 0 0 56px;
  }
  .project-board > .container,
  .project-article > .container,
  .project-gallery-block {
    gap: 28px;
  }
  .project-board-head,
  .project-intro,
  .project-gallery {
    gap: 20px;
  }
  .project-board-grid {
    grid-template-columns: 1fr;
    row-gap: 36px;
  }
  .store-catalog > .container,
  .store-flow > .store-stage,
  .store-complete > .store-stage {
    gap: 28px;
  }
  [data-page="store-complete"] .store-complete > .store-stage {
    gap: 24px;
  }
  [data-page="store-cart"] .store-flow > .store-stage,
  [data-page="store-order"] .store-flow > .store-stage {
    gap: 24px;
  }
  [data-page="store-cart"] .store-cart {
    gap: 12px;
  }
  [data-page="store-cart"] .store-cart-grid,
  [data-page="store-order"] .store-cart-grid {
    gap: 20px;
  }
  [data-page="store-order"] .store-checkout-col {
    gap: 16px;
  }
  .store-commerce {
    padding: 56px 0 40px;
  }
  .store-commerce > .store-stage,
  .store-snapshot > .store-stage,
  .store-qa > .store-stage,
  .store-guide > .store-stage {
    gap: 20px;
  }
  .store-story > .store-stage {
    gap: 24px;
  }
  .store-commerce-grid,
  .store-gallery,
  .store-buy,
  .store-buy-actions {
    gap: 12px;
  }
  .store-buy {
    padding-top: 0;
  }
  .store-snapshot {
    padding: 0 0 32px;
  }
  .store-story,
  .store-reviews,
  .store-qa {
    padding: 56px 0;
  }
  .store-guide {
    padding: 0 0 40px;
  }
  .store-story-intro {
    gap: 8px;
  }
  .store-story-intro > div,
  .store-facts {
    gap: 16px;
  }
  .store-facts article {
    gap: 10px;
    padding: 16px 0 0;
  }
  .store-reviews-head,
  .store-qa-head,
  .store-snapshot-head {
    gap: 12px;
  }
  .store-review-tools {
    flex-wrap: wrap;
    padding: 16px 0 8px;
  }
  .store-review {
    gap: 12px;
    padding: 16px 0;
  }
  .store-review-body {
    gap: 8px;
  }
  .store-review-avatar {
    width: 40px;
    height: 40px;
  }
  .store-review-photo {
    width: 96px;
    max-width: 96px;
  }
  .store-review-pager {
    padding-top: 20px;
  }
  .store-chip {
    padding: 7px 12px;
  }
  .store-info-table {
    padding: 12px 0;
  }
  .store-info-table > div {
    gap: 8px;
  }
  .store-option {
    padding: 8px 0;
  }
  .store-option-box {
    padding: 14px;
  }
  .store-guide-table th {
    width: 96px;
  }
  .store-guide-table th,
  .store-guide-table td {
    padding: 12px 0;
  }
  .store-guide-table td {
    padding-left: 12px;
  }
  .store-snapshot-card {
    width: 82%;
    min-width: 82%;
    gap: 12px;
    padding: 14px;
  }
  .store-snapshot-card figure {
    width: 80px;
  }
  .store-qa-card {
    padding: 16px;
    gap: 10px;
  }
  .store-qa-track {
    gap: 12px;
  }
  .store-qa-more {
    min-height: 48px;
    width: 100%;
    max-width: 280px;
  }
  .store-catalog-grid,
  .store-qa-track,
  .store-buy-actions,
  .store-complete-actions,
  .store-compose-actions {
    grid-template-columns: 1fr;
    flex-direction: column;
  }
  .store-thumb {
    width: 72px;
    max-width: none;
  }
  .store-review,
  .store-cart-row,
  .store-cart-product,
  .store-order-item,
  .store-complete-product,
  .store-complete-info div,
  .store-info-table div {
    grid-template-columns: 1fr;
    flex-direction: column;
  }
  [data-page="store-cart"] .store-cart-row {
    grid-template-columns: 22px minmax(0, 1fr);
    gap: 12px;
    padding: 20px 16px;
  }
  [data-page="store-cart"] .store-cart-product {
    grid-template-columns: 96px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
  }
  [data-page="store-complete"] .store-complete-product {
    grid-template-columns: 96px minmax(0, 1fr);
    column-gap: 12px;
    row-gap: 6px;
    align-items: start;
    padding: 16px;
  }
  [data-page="store-complete"] .store-complete-product img {
    grid-row: 1 / span 2;
  }
  [data-page="store-complete"] .store-complete-product:last-child {
    padding-bottom: 20px;
  }
  [data-page="store-complete"] .store-complete-product b {
    grid-column: 2;
    grid-row: 2;
  }
  [data-page="store-complete"] .store-complete-info div {
    grid-template-columns: 96px minmax(0, 1fr);
    gap: 12px;
  }
  [data-page="store-complete"] .store-complete-head,
  [data-page="store-complete"] .store-complete-side-head {
    padding: 20px 16px;
  }
  [data-page="store-complete"] .store-complete-info,
  [data-page="store-complete"] .store-complete-ship,
  [data-page="store-complete"] .store-complete-pay {
    padding-left: 16px;
    padding-right: 16px;
  }
  [data-page="store-complete"] .store-complete-sub {
    padding: 20px 16px 12px;
  }
  [data-page="store-complete"] .store-post-guide article {
    padding: 20px 16px;
  }
  [data-page="store-complete"] .store-complete-msg {
    gap: 12px;
  }
  [data-page="store-complete"] .store-check-icon {
    width: 64px;
    height: 64px;
    font-size: var(--sub-subhead);
  }
  [data-page="store-complete"] .store-order-no {
    flex-wrap: wrap;
    justify-content: center;
    padding: 12px 16px;
  }
  [data-page="store-complete"] .store-complete-actions {
    width: 100%;
    gap: 8px;
  }
  [data-page="store-order"] .store-order-item {
    grid-template-columns: 96px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
  }
  [data-page="store-order"] .store-form-section {
    padding: 20px 16px;
    gap: 16px;
    border-radius: 12px;
  }
  [data-page="store-order"] .store-order-qty {
    padding: 12px;
    flex-wrap: wrap;
  }
  [data-page="store-order"] .store-pay label {
    min-height: 48px;
    padding: 12px 16px;
  }
  [data-page="store-order"] .store-summary {
    padding: 20px 16px;
    box-shadow: none;
  }
  [data-page="store-order"] .store-fields {
    gap: 16px;
  }
  [data-page="store-cart"] .store-qty-bar {
    grid-column: 1 / -1;
    margin-top: 12px;
    padding: 12px;
  }
  [data-page="store-cart"] .store-dest {
    padding: 16px;
    gap: 8px;
    margin:0;
  }
  [data-page="store-cart"] .store-dest a {
    width: 100%;
    margin-left: 0;
    text-align: right;
  }
  [data-page="store-cart"] .store-seller {
    min-height: 0;
    padding: 16px;
    gap: 8px;
    align-items: flex-start;
    justify-content: center;
  }
  [data-page="store-cart"] .store-quick {
    padding: 12px 16px;
    gap: 8px;
  }
  [data-page="store-cart"] .store-ship-sum {
    padding: 16px;
  }
  [data-page="store-cart"] .store-summary {
    padding: 20px 16px;
    box-shadow: none;
    gap: 12px;
  }
  [data-page="store-cart"] .store-cart-guide {
    padding: 20px 16px;
    gap: 10px;
  }
  .store-steps,
  .store-steps li {
    gap: 8px;
  }
  .store-review .store-review-body > p {
    margin:0;
  }
  .store-review-photo {
    width: 96px;
    max-width: 96px;
  }
  .store-qty-bar,
  .store-option-box {
    flex-wrap: wrap;
  }
  .store-layer {
    align-items: flex-end;
    padding: 0;
  }
  .store-layer-panel,
  .store-layer-compose {
    width: 100%;
    max-height: 92vh;
    border-radius: 16px 16px 0 0;
  }
  .store-layer-compose .store-layer-head {
    height: 72px;
    min-height: 72px;
    padding: 0 16px 0 20px;
  }
  .store-compose-body {
    gap: 14px;
    padding: 20px 20px 16px;
  }
  .store-compose .store-field textarea {
    height: 180px;
  }
  .store-compose-options {
    gap: 16px 20px;
  }
  .store-compose-notice {
    padding: 16px;
  }
  .store-layer-compose .store-compose-actions {
    flex-direction: row;
    gap: 8px;
    height: 80px;
    min-height: 80px;
    padding: 0 20px;
  }
  .store-layer-compose .store-compose-actions .store-btn {
    min-height: 48px;
    height: 48px;
  }
  .store-layer[data-store-layer="review"] {
    align-items: flex-end;
  }
  .store-layer-review {
    width: 100%;
    height: auto;
    max-height: 92vh;
    border-radius: 16px 16px 0 0;
  }
  .store-layer[data-store-layer="qa"] {
    align-items: flex-end;
  }
  .store-layer-qa {
    width: 100%;
    height: auto;
    max-height: 92vh;
    border-radius: 16px 16px 0 0;
  }
  .store-layer-qa .store-layer-head {
    min-height: 72px;
    padding: 0 20px;
  }
  .store-layer-qa .store-layer-body {
    gap: 16px;
    padding: 20px;
  }
  .store-layer-qa .store-layer-foot {
    min-height: 80px;
    padding: 0 20px;
  }
  .store-layer-qa .store-layer-foot .store-btn {
    width: min(300px, 100%);
  }
  .store-layer-board tbody {
    gap: 10px;
  }
  .store-layer-board tr {
    padding: 16px;
    gap: 8px;
  }
  .store-layer-review .store-layer-head {
    min-height: 72px;
    padding: 0 20px;
  }
  .store-layer-title {
    flex-direction: column;
    gap: 4px;
    align-items: flex-start;
  }
  .store-layer-review .store-layer-body {
    gap: 16px;
    padding: 0 20px 28px;
  }
  .store-layer-rating {
    gap: 16px;
    padding: 20px 0;
  }
  .store-layer-bars {
    gap: 10px;
    padding-top: 16px;
  }
  .store-layer-item {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
    padding: 20px 0;
  }
  .store-layer-photo {
    width: 96px;
  }
  .store-complete-actions .store-btn {
    min-width: 0;
    width: 100%;
  }
  .project-meta {
    grid-template-columns: 1fr;
    padding:1rem 0;
  }
  .project-meta div,
  .contact-meta div {
    min-height: 24px;
  }
  .contact-meta {
    grid-template-columns: 1fr;
    padding: 1rem 0;
  }
  .contact-meta div {
    padding: 0;
  }
  .contact-meta div + div {
    border-left: 0;
    padding-left: 0;
  }
  .project-pager {
    gap: 6px;
  }
  .project-pager a {
    width: 40px;
    height: 40px;
  }
  .contact-board .container,
  .contact-article .container,
  .contact-inquiry .container,
  .contact-faq .container {
    gap: 28px;
  }
  .contact-board .contact-intro-copy {
    gap: 8px;
  }
  .contact-board .contact-intro h2 {
    line-height: 1.3;
  }
  .contact-board .contact-intro p {
    font-size: var(--sub-body);
    line-height: 1.6;
  }
  .contact-table-wrap {
    overflow: visible;
  }
  .contact-table,
  .contact-table colgroup,
  .contact-table tbody {
    display: block;
    width: 100%;
  }
  .contact-table colgroup,
  .contact-table thead {
    display: none;
  }
  .contact-table tbody {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  .contact-table tbody tr {
    display: grid;
    grid-template-columns: auto auto 1fr;
    grid-template-areas:
      "no type date"
      "title title title";
    align-items: center;
    column-gap: 8px;
    row-gap: 10px;
    padding: 16px;
    border: 0;
    border-radius: 16px;
    background: #f7f8fa;
  }
  .contact-table tbody td {
    display: block;
    width: auto;
    height: auto;
    padding: 0;
    border: 0;
    text-align: left;
    font-size: var(--sub-body-sm);
    line-height: 1.45;
  }
  .contact-table tbody td::before {
    content: none;
  }
  .contact-table tbody td:nth-child(1) {
    grid-area: no;
    color: var(--ink);
    font-weight: 600;
  }
  .contact-table tbody td:nth-child(2) {
    grid-area: type;
    padding: 3px 10px;
    border-radius: 14px;
    background: #fff;
    color: var(--muted);
    font-weight: 500;
  }
  .contact-table tbody td:nth-child(3) {
    grid-area: title;
    padding: 0;
  }
  .contact-table tbody td:nth-child(4) {
    grid-area: date;
    justify-self: end;
    color: var(--muted);
  }
  .contact-table tbody td:nth-child(5) {
    display: none;
  }
  .contact-table td a {
    display: block;
    font-size: var(--sub-body);
    font-weight: 500;
    line-height: 1.45;
    word-break: keep-all;
  }
  .contact-table .is-pin td:nth-child(1),
  .contact-table .is-pin a {
    color: var(--brand);
  }
  .contact-faq-item summary {
    flex-wrap: wrap;
    gap: 10px 12px;
    padding: 16px 0;
  }
  .contact-faq-item summary i {
    margin-left: auto;
  }
  .contact-faq-item summary strong {
    flex: 1 1 100%;
    order: 1;
    font-size: var(--sub-body);
    line-height: 1.45;
  }
  .contact-faq .contact-intro-copy {
    gap: 8px;
  }
  .contact-faq .contact-intro h2 {
    line-height: 1.3;
  }
  .contact-faq .contact-intro p {
    font-size: var(--sub-body);
    line-height: 1.6;
  }
  .contact-faq .contact-cats {
    gap: 6px;
  }
  .contact-faq .contact-cats button {
    min-height: 40px;
    padding: 0 14px;
    font-size: var(--sub-body-sm);
  }
  .contact-faq-item summary {
    min-height: 0;
    gap: 8px 10px;
    padding: 14px 0;
  }
  .contact-faq-item summary span,
  .contact-faq-item summary em,
  .contact-faq-item p,
  .contact-faq-empty {
    font-size: var(--sub-body-sm);
  }
  .contact-faq-item summary em {
    min-height: 28px;
    padding: 0 10px;
  }
  .contact-faq-item p {
    padding: 12px 0 18px;
  }
  .contact-faq .contact-support {
    gap: 12px;
    min-height: 0;
    padding: 20px;
    border-radius: 16px;
  }
  .contact-faq .contact-support strong {
    font-size: var(--sub-card-title);
    line-height: 1.35;
  }
  .contact-faq .contact-support p {
    margin-top: 6px;
    font-size: var(--sub-body-sm);
  }
  .contact-faq .contact-support a {
    height: 44px;
  }
  .contact-support {
    flex-direction: column;
    align-items: stretch;
    padding: 28px 20px;
  }
  .contact-support a {
    width: 100%;
    flex: none;
  }
  .contact-submit {
    width: 100%;
  }
  .contact-inquiry .contact-intro-stack {
    gap: 8px;
  }
  .contact-inquiry .contact-intro h2 {
    line-height: 1.3;
  }
  .contact-inquiry .contact-intro p {
    font-size: var(--sub-body);
    line-height: 1.6;
  }
  .contact-inquiry .contact-layout {
    gap: 20px;
  }
  .contact-inquiry .contact-form {
    gap: 16px;
  }
  .contact-inquiry .contact-fields {
    gap: 12px;
  }
  .contact-inquiry .contact-field {
    gap: 8px;
  }
  .contact-inquiry .contact-field > span,
  .contact-inquiry .contact-field input:not([type="file"]):not([type="checkbox"]),
  .contact-inquiry .contact-field select,
  .contact-inquiry .contact-field textarea,
  .contact-inquiry .contact-file span,
  .contact-inquiry .contact-file em,
  .contact-inquiry .contact-agree label,
  .contact-inquiry .contact-agree button,
  .contact-inquiry .contact-privacy p,
  .contact-inquiry .contact-done {
    font-size: var(--sub-body-sm);
  }
  .contact-inquiry .contact-field input:not([type="file"]):not([type="checkbox"]),
  .contact-inquiry .contact-field select {
    height: 48px;
    padding: 0 14px;
  }
  .contact-inquiry .contact-field select {
    padding-right: 40px;
    background-position: right 12px center;
    background-size: 16px 16px;
  }
  .contact-inquiry .contact-field textarea {
    height: 168px;
    padding: 12px 14px;
  }
  .contact-inquiry .contact-file {
    height: auto;
    min-height: 48px;
    padding: 8px;
    gap: 8px;
  }
  .contact-inquiry .contact-file span {
    flex: 1 1 auto;
    min-width: 0;
    white-space: normal;
    line-height: 1.45;
  }
  .contact-inquiry .contact-file em {
    flex: 0 0 auto;
    width: auto;
    min-width: 84px;
    height: 36px;
    padding: 0 12px;
  }
  .contact-inquiry .contact-summary {
    border-radius: 16px;
  }
  .contact-inquiry .contact-summary > div {
    gap: 4px;
    padding: 16px 18px;
  }
  .contact-inquiry .contact-summary span,
  .contact-inquiry .contact-summary em,
  .contact-inquiry .contact-summary p {
    font-size: var(--sub-body-sm);
  }
  .contact-inquiry .contact-summary strong {
    font-size: var(--sub-card-title);
    line-height: 1.4;
    word-break: break-word;
    overflow-wrap: anywhere;
  }
  .contact-inquiry .contact-guide {
    gap: 12px;
    padding: 20px;
    border-radius: 16px;
  }
  .contact-inquiry .contact-guide h3 {
    line-height: 1.35;
  }
  .contact-inquiry .contact-guide > p,
  .contact-inquiry .contact-guide dt,
  .contact-inquiry .contact-guide dt span,
  .contact-inquiry .contact-guide dd {
    font-size: var(--sub-body-sm);
  }
  .contact-inquiry .contact-guide dl {
    margin-top: 4px;
  }
  .contact-inquiry .contact-guide dl > div {
    padding: 14px 0;
  }
  .contact-inquiry .contact-agree {
    gap: 8px;
  }
  .contact-inquiry .contact-agree input {
    width: 20px;
    height: 20px;
  }
  .contact-inquiry .contact-privacy {
    padding: 12px 14px;
  }
  .contact-inquiry .contact-submit {
    height: 48px;
  }
  .policy-doc .container {
    gap: 16px;
  }
  .policy-head-copy {
    gap: 8px;
  }
  .policy-lead,
  .policy-intro,
  .policy-note,
  .policy-posted,
  .policy-item summary strong,
  .policy-item summary span,
  .policy-item-body p,
  .policy-version select {
    font-size: var(--sub-body-sm);
    line-height: 1.6;
  }
  .sub-page[data-page^="policy"] .local-nav a {
    font-size: 14px;
  }
  .policy-version select {
    height: 48px;
    padding: 0 40px 0 14px;
    background-position: right 12px center;
    background-size: 16px 16px;
  }
  .policy-list {
    gap: 8px;
  }
  .policy-item summary {
    min-height: 0;
    gap: 12px;
    padding: 14px 16px;
  }
  .policy-item summary span {
    flex-basis: 32px;
    width: 32px;
    height: 32px;
  }
  .policy-item-body {
    gap: 8px;
    padding: 16px;
  }
  .project-nav a,
  .contact-post-nav a,
  .contact-post-nav .is-empty {
    grid-template-columns: 2rem minmax(0, 1fr);
    gap: 0 8px;
    min-height: auto;
    padding:0.5rem 0;
  }
  .project-nav em,
  .contact-post-nav em {
    grid-column: 2;
  }
  .project-nav strong,
  .contact-post-nav strong {
    grid-column: 2;
    grid-row: 2;
  }
  .contact-post-nav .is-empty strong {
    grid-row: 1;
  }
  .project-list-btn a,
  .contact-list-btn a {
    min-width: 0;
    width: 100%;
    max-width: 200px;
    min-height: 48px;
  }
  .zerosum-principles > .container,
  .zerosum-lineup > .container,
  .zerosum-method > .container,
  .zerosum-sectors > .container,
  .zerosum-supply > .container,
  .zerosum-promise > .container,
  .zerosum-safe > .container,
  .zerosum-policy > .container {
    gap: 28px;
  }
  .zerosum-lineup-heading,
  .zerosum-lineup-heading > div,
  .zerosum-moments .space-care-grid,
  .zerosum-safe-grid,
  .zerosum-checklist-grid {
    gap: 20px;
  }
  .zerosum-principle-grid,
  .zerosum-product-grid,
  .zerosum-step-grid,
  .zerosum-sector-grid,
  .zerosum-supply-grid,
  .zerosum-promise-grid {
    gap: 20px;
  }
  .zerosum-process .space-heading,
  .zerosum-guide .space-heading {
    margin-bottom: 28px;
  }
  .zerosum-step-grid article,
  .zerosum-sector-grid article,
  .zerosum-supply-grid article {
    padding: 28px 24px;
    gap:10px;
  }
  .zerosum-check-grid article {
    padding: 20px 0;
    gap:10px;
  }
  .zerosum-check-grid {
    gap: 20px;
    margin-top:40px;
  }
  .zerosum-policy-grid article,
  .zerosum-policy-grid article:not(:first-child) {
    padding: 16px 0;
    gap:10px;
  }
  .sub-page[data-page^="zerosum"] .space-editorial-copy,
  .sub-page[data-page^="zerosum"] .space-quality-copy {
    gap: 16px;
  }
  .sub-intro-grid {
    margin-top: 16px;
  }
  .history-section > .container {
    gap: 28px;
  }
  .history-header {
    gap: 16px;
    margin-bottom: 0;
  }
  .history-header .section-heading {
    margin-top: 0;
    gap: 20px;
  }
  .vision-header {
    margin-top: 12px;
  }
  .sub-intro-grid,
  .section-heading,
  .business-story,
  .overview-heading,
  .vision-header {
    gap: 20px;
  }
  .sub-intro h2,
  .section-heading h2 {
    line-height: 1.3;
  }
  .company-narrative .section-heading,
  .core-tech .section-heading {
    margin-bottom: 28px;
  }
  .certificates {
    gap: 28px;
  }
  .certificates .section-heading {
    margin-bottom: 0;
  }
  .business-story {
    gap: 16px;
  }
  .business-story + .business-story {
    margin-top: 44px;
  }
  .story-copy {
    gap: 14px;
  }
  .circle-link {
    font-size: 14px;
  }
  .overview-panel {
    padding: 36px 5vw;
  }
  .overview-data {
    margin-top: 28px;
  }
  .overview-data div,
  .overview-data div:first-child {
    padding: 16px 0;
  }
  .overview-data strong {
    margin-top: 10px;
    font-size: 18px;
  }
  .history-filter {
    gap: 6px;
    padding-bottom: 8px;
  }
  .history-filter button {
    height: 32px;
    padding: 0 10px;
    border-radius: 16px;
    font-size: 11px;
  }
  .history-row {
    gap: 16px;
    padding: 24px 0;
  }
  .milestones {
    gap: 10px;
  }
  .milestone {
    grid-template-columns: 44px 1fr;
    gap: 8px;
  }
  .milestone b {
    font-size: 13px;
    line-height: 1.5;
  }
  .values-grid {
    margin-top: 28px;
    grid-template-columns: 1fr;
  }
  .value,
  .value:first-child {
    padding: 18px 0;
  }
  .tech-summary {
    padding: 28px 5vw;
  }
  .process-row {
    padding: 14px 0;
  }
  .certificate-swiper .swiper-slide {
    width: 68vw;
  }
  .certificate-card h3 {
    margin-top: 14px;
    font-size: 16px;
  }
  .tech-index-row {
    padding: 22px 0;
  }
  .tech-index-row > strong {
    font-size: 18px;
  }
  .quality-pledge .container {
    gap: 36px;
  }
  .quality-pledge h2 {
    margin-bottom: 0;
  }
  .quality-grid {
    gap: 28px;
  }
  .space-process .space-heading,
  .space-principles .space-heading,
  .space-scope .space-heading,
  .space-types .space-heading,
  .space-performance .space-heading,
  .space-facility .space-heading,
  .space-standard .space-heading {
    margin-bottom: 28px;
  }
  .space-capability h3 {
    margin: 0;
  }
  .space-approach-panel {
    padding: 28px 5vw;
    gap: 16px;
  }
}

/* MEMBER */
.member-stage {
  --member-title: var(--sub-card-title);
  --member-body: 15px;
  --member-label: 16px;
  --member-btn: 18px;
  --member-radius: 6px;
  padding: 160px calc((100% - var(--width)) / 2);
  display: flex;
  justify-content: center;
}
.member-panel {
  width: min(100%, 580px);
  display: flex;
  flex-direction: column;
  gap: 40px;
  margin: 0 auto;
  word-break: keep-all;
}
.member-brand {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 30px;
}
.member-brand img {
  width: 148px;
  height: auto;
  object-fit: contain;
}
.member-divider {
  display: flex;
  align-items: center;
  gap: 15px;
  width: 100%;
  margin: 0;
  color: var(--ink);
  font-size: var(--member-label);
  line-height: 1.4;
}
.member-divider:before,
.member-divider:after {
  content: "";
  flex: 1;
  height: 1px;
  background: #ccc;
}
.member-form {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.member-form[hidden] {
  display: none;
}
.member-input,
.member-select {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 60px;
  border: 1px solid #000;
  border-radius: var(--member-radius);
  background: #fff;
}
.member-recover-panel .member-input,
.member-recover-panel .member-select,
.member-join-panel .member-input,
.member-join-panel .member-select {
  border-color: #d4d6db;
  border-radius: 4px;
  min-height: 52px;
}
.member-input input,
.member-select select {
  width: 100%;
  min-width: 0;
  height: 100%;
  min-height: inherit;
  padding: 0 19px;
  border: 0;
  background: transparent;
  color: var(--ink);
  font: inherit;
  font-size: var(--member-body);
  outline: none;
}
.member-input input::placeholder {
  color: #6e6e75;
}
.member-input-password {
  padding-right: 44px;
}
.member-eye {
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  display: inline-flex;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
}
.member-eye img {
  width: 20px;
  height: 20px;
  object-fit: contain;
}
.member-login-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 8px;
}
.member-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 64px;
  padding: 0 19px;
  border: 1px solid transparent;
  border-radius: var(--member-radius);
  font: inherit;
  font-size: var(--member-btn);
  font-weight: 500;
  line-height: 1.4;
  text-decoration: none;
  cursor: pointer;
  word-break: keep-all;
}
.member-btn img {
  width: 24px;
  height: 24px;
  object-fit: contain;
  flex: none;
}
.member-btn-naver img {
  width: 16px;
  height: 16px;
}
.member-btn-brand {
  background: var(--brand);
  border-color: var(--brand);
  color: #fff;
  font-weight: 700;
}
.member-btn-google {
  background: #fff;
  border-color: #000;
  color: #181600;
}
.member-btn-naver {
  background: #03c75a;
  border-color: #03c75a;
  color: #fff;
}
.member-btn-kakao {
  background: #fee500;
  border-color: #fee500;
  color: #181600;
}
.member-btn-dark {
  min-height: 52px;
  background: #27272c;
  border-color: #27272c;
  color: #fff;
  font-size: var(--member-body);
}
.member-btn-line {
  min-height: 52px;
  background: #fff;
  border-color: #d4d6db;
  color: var(--ink);
  font-size: var(--member-body);
}
.member-btn-block {
  width: 100%;
  min-height: 57px;
}
.member-btn-code {
  width: 170px;
  flex: none;
  min-height: 60px;
}
.member-links {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.member-links a {
  color: var(--ink);
  font-size: var(--member-label);
  text-decoration: none;
}
.member-link-join {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}
.member-link-join img {
  width: 20px;
  height: 20px;
}
.member-join-panel {
  gap: 30px;
}
.member-process {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.member-process-bar {
  position: relative;
  display: block;
  width: 100%;
  height: 1px;
  background: #e5e5e5;
}
.member-process-bar:before {
  content: "";
  position: absolute;
  left: 0;
  top: -1px;
  height: 3px;
  background: var(--brand);
}
.member-process[data-step="1"] .member-process-bar:before {
  width: 33.333%;
}
.member-process[data-step="2"] .member-process-bar:before {
  width: 66.666%;
}
.member-process strong {
  font-size: var(--member-title);
  font-weight: 700;
  line-height: 1.3;
}
.member-check {
  display: inline-flex;
  align-items: flex-start;
  gap: 9px;
  color: var(--ink);
  font-size: var(--member-label);
  line-height: 1.4;
  cursor: pointer;
}
.member-check input {
  width: 28px;
  height: 28px;
  margin: 0;
  flex: none;
  accent-color: var(--brand);
}
.member-check em {
  font-style: normal;
}
.member-check-all {
  font-weight: 600;
}
.member-agree-block {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.member-scrollbox {
  max-height: 200px;
  overflow: auto;
  padding: 15px;
  border: 1px solid #111;
  color: #444;
  font-size: 14px;
  line-height: 1.6;
  background: #fff;
}
.member-scrollbox p {
  margin: 0 0 10px;
}
.member-scrollbox p:last-child {
  margin-bottom: 0;
}
.member-agree-plain {
  gap: 12px;
}
.member-note {
  margin: 0;
  color: #666;
  font-size: 14px;
  line-height: 1.6;
}
.member-field {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.member-field > span,
.member-field-title {
  color: var(--ink);
  font-size: var(--member-label);
  font-weight: 500;
  line-height: 1.4;
}
.member-field i {
  color: #d11;
  font-style: normal;
}
.member-field small {
  color: #888;
  font-size: 13px;
  font-weight: 400;
}
.member-input-valid {
  position: relative;
}
.member-valid {
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--brand);
  font-style: normal;
  font-size: 18px;
  line-height: 1;
}
.member-phone-row,
.member-inline-row {
  display: grid;
  gap: 8px;
  align-items: stretch;
}
.member-phone-row {
  grid-template-columns: 120px 1fr 1fr 120px;
}
.member-inline-row {
  grid-template-columns: minmax(0, 1fr) 120px;
}
.member-select select {
  appearance: none;
  background-image: url("../images/contact/icon-select.svg");
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 16px;
  padding-right: 40px;
}
.member-hint {
  margin: 0;
  color: #6e6e75;
  font-size: 14px;
  font-style: normal;
  line-height: 1.55;
}
.member-robot {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  width: fit-content;
  min-height: 76px;
  padding: 0 24px;
  border: 1px solid #d4d6db;
  border-radius: 4px;
  background: #f9fafb;
  color: var(--ink);
  font-size: var(--member-label);
  cursor: pointer;
}
.member-robot input {
  width: 22px;
  height: 22px;
  accent-color: #1fa463;
}
.member-complete-visual {
  margin: 0;
  overflow: hidden;
  border-radius: 20px;
  aspect-ratio: 580 / 280;
}
.member-complete-visual img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.member-complete-copy {
  margin: 0;
  text-align: center;
  color: var(--ink);
  font-size: var(--sub-body);
  line-height: 1.4;
}
.member-recover-panel {
  gap: 28px;
}
.member-recover-head h3 {
  margin: 0 0 12px;
  font-size: var(--member-title);
  font-weight: 700;
  line-height: 1.55;
}
.member-recover-head p {
  margin: 0;
  color: #6e6e75;
  font-size: var(--member-body);
  line-height: 1.55;
}
.member-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.member-tabs a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  border: 1px solid #d4d6db;
  border-radius: 4px;
  background: #fff;
  color: var(--ink);
  font-size: var(--member-label);
  font-weight: 500;
  text-decoration: none;
}
.member-tabs a.is-active {
  background: var(--brand);
  border-color: var(--brand);
  color: #fff;
}
.member-step-bar {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.member-step-bar button {
  min-height: 51px;
  padding: 0;
  border: 0;
  border-bottom: 1px solid #ccc;
  background: none;
  color: #232323;
  font: inherit;
  font-size: var(--member-body);
  cursor: pointer;
}
.member-step-bar button.is-active {
  border-bottom: 2px solid var(--brand);
  color: var(--brand);
  font-weight: 600;
}
.member-guide {
  padding: 22px 24px;
  border-radius: 10px;
  background: #f8f8f8;
}
.member-guide strong {
  display: block;
  margin-bottom: 8px;
  color: var(--ink);
  font-size: var(--member-body);
}
.member-guide p {
  margin: 0;
  color: #6e6e75;
  font-size: 14px;
  line-height: 1.55;
}
.member-guide-links {
  display: flex;
  gap: 16px;
  margin-top: 12px !important;
}
.member-guide-links a {
  color: var(--brand);
  font-weight: 600;
  text-decoration: none;
}
.member-result {
  margin: 0;
  padding: 18px 20px;
  border-radius: 8px;
  background: #eef2fb;
  color: var(--ink);
  font-size: var(--member-label);
  text-align: center;
}
@media (max-width: 1100px) {
  .member-stage {
    --member-title: var(--sub-card-title);
    --member-body: 15px;
    --member-label: 15px;
    --member-btn: 16px;
    padding-block: 100px;
  }
  .member-panel {
    gap: 32px;
  }
  .member-brand {
    gap: 20px;
  }
  .member-brand img {
    width: 128px;
  }
  .member-input,
  .member-select {
    min-height: 56px;
  }
  .member-recover-panel .member-input,
  .member-recover-panel .member-select,
  .member-join-panel .member-input,
  .member-join-panel .member-select {
    min-height: 50px;
  }
  .member-btn {
    min-height: 56px;
  }
  .member-btn-block {
    min-height: 52px;
  }
  .member-btn-code,
  .member-btn-dark,
  .member-btn-line {
    min-height: 50px;
  }
  .member-phone-row {
    grid-template-columns: 100px 1fr 1fr;
  }
  .member-phone-row .member-btn {
    grid-column: 1 / -1;
  }
  .member-scrollbox {
    max-height: 160px;
  }
}
@media (max-width: 767px) {
  .member-stage {
    --member-title: 18px;
    --member-body: 14px;
    --member-label: 14px;
    --member-btn: 15px;
    padding-block: 56px;
  }
  .member-panel,
  .member-join-panel,
  .member-recover-panel {
    width: 100%;
    gap: 24px;
  }
  .member-brand {
    gap: 16px;
  }
  .member-brand img {
    width: 96px;
  }
  .member-divider {
    gap: 10px;
    font-size: var(--member-label);
  }
  .member-form {
    gap: 10px;
  }
  .member-input,
  .member-select,
  .member-recover-panel .member-input,
  .member-recover-panel .member-select,
  .member-join-panel .member-input,
  .member-join-panel .member-select {
    min-height: 48px;
  }
  .member-input input,
  .member-select select {
    padding: 0 14px;
    font-size: var(--member-body);
  }
  .member-input-password {
    padding-right: 40px;
  }
  .member-eye {
    right: 12px;
  }
  .member-login-actions {
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-top: 4px;
  }
  .member-btn {
    min-height: 48px;
    padding: 0 12px;
    gap: 6px;
    font-size: var(--member-btn);
  }
  .member-btn img {
    width: 18px;
    height: 18px;
  }
  .member-btn-naver img {
    width: 14px;
    height: 14px;
  }
  .member-btn-block {
    min-height: 48px;
  }
  .member-btn-dark,
  .member-btn-line {
    min-height: 48px;
    font-size: var(--member-body);
  }
  .member-btn-code {
    width: 100%;
    min-height: 48px;
  }
  .member-links {
    gap: 12px;
    flex-wrap: wrap;
  }
  .member-links a,
  .member-link-join {
    font-size: var(--member-label);
  }
  .member-process {
    gap: 12px;
  }
  .member-process strong {
    font-size: var(--member-title);
    line-height: 1.35;
  }
  .member-check {
    gap: 8px;
    font-size: var(--member-label);
    line-height: 1.45;
  }
  .member-check input {
    width: 22px;
    height: 22px;
    margin-top: 1px;
  }
  .member-agree-block {
    gap: 8px;
  }
  .member-scrollbox {
    max-height: 140px;
    padding: 12px;
    font-size: 13px;
    line-height: 1.55;
  }
  .member-note,
  .member-hint {
    font-size: 12px;
    line-height: 1.55;
  }
  .member-field {
    gap: 8px;
  }
  .member-field > span,
  .member-field-title {
    font-size: var(--member-label);
  }
  .member-field small {
    display: block;
    margin-top: 2px;
    font-size: 12px;
    line-height: 1.45;
  }
  .member-phone-row {
    grid-template-columns: 84px minmax(0, 1fr) minmax(0, 1fr);
    gap: 6px;
  }
  .member-phone-row .member-btn {
    grid-column: 1 / -1;
  }
  .member-inline-row {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .member-select select {
    padding-right: 36px;
    background-position: right 12px center;
    background-size: 14px;
  }
  .member-robot {
    width: 100%;
    min-height: 56px;
    padding: 0 16px;
    font-size: var(--member-label);
  }
  .member-complete-visual {
    aspect-ratio: 580 / 220;
    border-radius: 14px;
  }
  .member-complete-copy {
    font-size: var(--sub-body);
    line-height: 1.5;
  }
  .member-recover-head h3 {
    margin-bottom: 8px;
    font-size: var(--member-title);
  }
  .member-recover-head p {
    font-size: var(--member-body);
  }
  .member-tabs {
    grid-template-columns: 1fr 1fr;
    gap: 6px;
  }
  .member-tabs a {
    min-height: 44px;
    font-size: var(--member-label);
  }
  .member-step-bar {
    grid-template-columns: 1fr 1fr;
  }
  .member-step-bar button {
    min-height: 44px;
    font-size: 13px;
  }
  .member-guide {
    padding: 16px 18px;
    border-radius: 8px;
  }
  .member-guide strong {
    margin-bottom: 6px;
    font-size: var(--member-label);
  }
  .member-guide p {
    font-size: 12px;
  }
  .member-guide-links {
    gap: 12px;
    margin-top: 10px !important;
  }
  .member-result {
    padding: 14px 16px;
    font-size: var(--member-label);
  }
  .member-valid {
    right: 12px;
    font-size: 16px;
  }
}

/* My Page */
.mypage-stage {
  --mypage-title: 32px;
  --mypage-body: 15px;
  --mypage-label: 14px;
  width: var(--width);
  max-width: 1440px;
  margin: 0 auto;
  padding-block: 140px;
  display: flex;
  flex-direction: column;
  gap: 48px;
}
.mypage-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 168px;
  padding: 0 44px;
  border: 1px solid #ddd;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 4px 10px rgb(0 0 0 / 0.05);
}
.mypage-identity {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}
.mypage-avatar {
  width: 76px;
  height: 76px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}
.mypage-identity strong {
  display: block;
  font-size: 30px;
  font-weight: 700;
  line-height: 1.2;
  color: var(--ink);
  word-break: keep-all;
}
.mypage-identity p {
  margin-top: 8px;
  font-size: var(--mypage-label);
  line-height: 1.55;
  color: #6e6e75;
}
.mypage-metrics {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
}
.mypage-metrics li {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  width: 180px;
  border-left: 1px solid #e6e7eb;
}
.mypage-metrics strong {
  font-size: 28px;
  font-weight: 700;
  line-height: 1.55;
  color: var(--brand);
}
.mypage-metrics span {
  font-size: var(--mypage-label);
  font-weight: 500;
  line-height: 1.55;
  color: #6e6e75;
}
.mypage-nav {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border-bottom: 1px solid #dee0e5;
}
.mypage-nav-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.mypage-nav a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 76px;
  padding: 0 10px;
  border-bottom: 1px solid transparent;
  margin-bottom: -1px;
  font-size: 14px;
  font-weight: 500;
  color: var(--ink);
  text-align: center;
  text-decoration: none;
  word-break: normal;
}
.mypage-nav a.is-active {
  border-bottom-width: 3px;
  border-bottom-color: var(--brand);
  font-weight: 700;
  color: var(--brand);
}
.mypage-panel {
  display: flex;
  flex-direction: column;
  gap: 28px;
}
.mypage-section-head {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.mypage-section-head-row {
  flex-direction: row;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
}
.mypage-section-head-row > div:first-child {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}
.mypage-section-head .mypage-chips {
  flex-shrink: 0;
}
.mypage-eyebrow {
  font-size: 13px;
  font-weight: 700;
  line-height: 1.55;
  color: var(--brand);
}
.mypage-section-head h3 {
  margin: 0;
  font-size: var(--mypage-title);
  font-weight: 700;
  line-height: 1.25;
  color: var(--ink);
  word-break: keep-all;
}
.mypage-section-head p,
.mypage-section-head-row > p {
  margin: 0;
  font-size: var(--mypage-body);
  line-height: 1.65;
  color: #6e6e75;
  word-break: keep-all;
}
.mypage-count {
  font-size: 15px;
  font-weight: 700;
  font-style: normal;
  color: var(--brand);
  white-space: nowrap;
}
.mypage-order-filter {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
}
.mypage-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.mypage-chips button,
.mypage-order-filter .mypage-chips button {
  min-height: 46px;
  padding: 0 18px;
  border: 1px solid #dee0e5;
  border-radius: 4px;
  background: #fff;
  font-size: var(--mypage-label);
  font-weight: 500;
  color: var(--ink);
  cursor: pointer;
}
.mypage-chips button.is-active {
  border-color: var(--brand);
  background: var(--brand);
  font-weight: 700;
  color: #fff;
}
.mypage-panel > .mypage-chips button,
.mypage-toolbar .mypage-chips button,
.mypage-section-head .mypage-chips button {
  min-height: 0;
  padding: 10px 18px;
  border-radius: 999px;
  border-color: #e0e3e8;
}
.mypage-date-range {
  display: flex;
  align-items: center;
  gap: 18px;
  min-height: 46px;
  padding: 0 16px;
  border: 1px solid #dee0e5;
  background: #fff;
  font-size: var(--mypage-label);
  color: #6e6e75;
}
.mypage-filter-submit {
  width: 110px;
  min-height: 46px;
}
.mypage-order-list {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.mypage-order-card {
  border: 1px solid #dee0e5;
  border-radius: 6px;
  overflow: hidden;
}
.mypage-order-card header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 68px;
  padding: 0 24px;
  background: #f8f8f8;
}
.mypage-order-card header > div {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  align-items: center;
}
.mypage-order-card header strong {
  font-size: 15px;
  font-weight: 700;
  color: var(--ink);
}
.mypage-order-card header span {
  font-size: var(--mypage-label);
  color: #6e6e75;
}
.mypage-order-card header em {
  font-size: 15px;
  font-weight: 700;
  font-style: normal;
  color: var(--brand);
  white-space: nowrap;
}
.mypage-order-body {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 24px;
}
.mypage-order-product {
  display: flex;
  align-items: center;
  gap: 24px;
  min-width: 0;
  flex: 1;
  color: inherit;
  text-decoration: none;
}
.mypage-order-product img {
  width: 140px;
  height: 140px;
  border-radius: 12px;
  object-fit: cover;
  flex-shrink: 0;
  background: #f5f5f5;
}
.mypage-order-product span {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}
.mypage-order-product small {
  font-size: 13px;
  font-weight: 700;
  color: var(--brand);
}
.mypage-order-product strong {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
  color: var(--ink);
  word-break: keep-all;
}
.mypage-order-product span > span {
  font-size: var(--mypage-label);
  color: #6e6e75;
}
.mypage-order-product b {
  font-size: 22px;
  font-weight: 700;
  color: var(--ink);
}
.mypage-order-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
  flex-shrink: 0;
}
.mypage-order-actions .member-btn {
  min-width: 150px;
  min-height: 48px;
  padding: 0 16px;
  font-size: var(--mypage-label);
}
.mypage-order-actions .member-btn:disabled {
  cursor: default;
  opacity: 0.72;
}
.mypage-review-layer {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px 0;
}
.mypage-review-layer[hidden] {
  display: none;
}
.mypage-review-dim {
  position: absolute;
  inset: 0;
  background: rgb(0 0 0 / 0.45);
}
.mypage-review-panel {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  width: min(720px, 94%);
  max-height: 90vh;
  overflow: hidden;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 16px 44px rgb(5 10 20 / 0.22);
}
.mypage-review-head {
  display: flex;
  flex: none;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 84px;
  padding: 0 28px 0 32px;
  border-bottom: 1px solid #e3e5e9;
}
.mypage-review-head h3 {
  margin: 0;
  font-size: var(--mypage-title);
  font-weight: 700;
  color: var(--ink);
  word-break: keep-all;
}
.mypage-review-head button {
  width: 28px;
  height: 28px;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
}
.mypage-review-head img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.mypage-review-form {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-height: 0;
}
.mypage-review-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 20px;
  min-height: 0;
  padding: 28px 32px 24px;
  overflow: auto;
}
.mypage-review-product {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 0;
}
.mypage-review-thumb {
  flex: none;
  width: 88px;
  height: 88px;
  margin: 0;
  overflow: hidden;
  border-radius: 12px;
  background: #f5f5f5;
}
.mypage-review-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.mypage-review-product-copy {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}
.mypage-review-product-copy small {
  font-size: var(--mypage-label);
  color: #6e6e75;
}
.mypage-review-product-copy strong {
  font-size: var(--mypage-body);
  font-weight: 700;
  color: var(--ink);
  word-break: keep-all;
}
.mypage-review-stars {
  margin: 0;
  padding: 0;
  border: 0;
}
.mypage-review-stars legend {
  margin-bottom: 10px;
  font-size: var(--mypage-label);
  font-weight: 500;
  color: #5e5e63;
}
.mypage-review-stars legend i {
  color: var(--brand);
  font-style: normal;
}
.mypage-review-stars div {
  display: flex;
  gap: 4px;
}
.mypage-review-stars button {
  width: 40px;
  height: 40px;
  padding: 0;
  border: 0;
  background: none;
  color: #d5d8df;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
}
.mypage-review-stars button.is-on {
  color: var(--brand);
}
.mypage-review-stars button:focus-visible {
  outline: 2px solid var(--brand);
  outline-offset: 2px;
}
.mypage-review-form .member-field {
  position: relative;
  gap: 8px;
}
.mypage-review-message {
  width: 100%;
  min-height: 180px;
  padding: 14px 16px 36px;
  border: 1px solid #ccd1da;
  border-radius: 6px;
  background: #fff;
  color: var(--ink);
  font: inherit;
  font-size: var(--mypage-label);
  line-height: 1.6;
  resize: vertical;
}
.mypage-review-message:focus-visible {
  outline: 2px solid var(--brand);
  outline-offset: 2px;
}
.mypage-review-form .member-field > b {
  position: absolute;
  right: 16px;
  bottom: 14px;
  color: #85868c;
  font-size: var(--mypage-label);
  font-weight: 400;
}
.mypage-review-photos {
  gap: 12px;
}
.mypage-review-photos-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.mypage-review-photos-head em {
  font-size: var(--mypage-label);
  font-style: normal;
  font-weight: 500;
  color: #6e6e75;
}
.mypage-review-photo-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.mypage-review-photo-row {
  display: flex;
  align-items: center;
  gap: 8px;
}
.mypage-review-photo-row .contact-file {
  flex: 1;
  min-width: 0;
}
.mypage-review-photo-controls {
  display: none;
  flex: none;
  gap: 6px;
}
.mypage-review-photo-controls.is-active {
  display: flex;
}
.mypage-review-photo-controls button {
  display: inline-grid;
  place-items: center;
  width: 42px;
  height: 42px;
  padding: 0;
  border: 1px solid #ccd1da;
  border-radius: 6px;
  background: #fff;
  color: var(--ink);
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
}
.mypage-review-photo-controls button:hover:not(:disabled) {
  border-color: var(--brand);
  color: var(--brand);
}
.mypage-review-photo-controls button:disabled {
  cursor: default;
  opacity: 0.4;
}
.mypage-review-photo-controls button:focus-visible {
  outline: 2px solid var(--brand);
  outline-offset: 2px;
}
.mypage-review-notice {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 18px;
  border-radius: 4px;
  background: #f7f8fa;
}
.mypage-review-notice strong {
  font-size: var(--mypage-label);
  font-weight: 700;
  color: var(--ink);
  word-break: keep-all;
}
.mypage-review-notice p {
  margin: 0;
  font-size: var(--mypage-label);
  line-height: 1.55;
  color: #6a6b70;
  word-break: keep-all;
}
.mypage-review-actions {
  display: flex;
  flex: none;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  min-height: 90px;
  padding: 0 32px;
  border-top: 1px solid #e3e5e9;
}
.mypage-review-actions .member-btn {
  min-width: 120px;
  min-height: 48px;
  font-size: var(--mypage-label);
}
body.mypage-review-open {
  overflow: hidden;
}
.mypage-pager {
  justify-content: center;
  padding-top: 10px;
}
.mypage-pager a {
  width: 42px;
  height: 42px;
  border: 1px solid #d7dbe2;
  border-radius: 21px;
  background: #fff;
}
.mypage-pager a.is-current {
  border-color: var(--brand);
  background: var(--brand);
  color: #fff;
}
.mypage-quick {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-top: 20px;
}
.mypage-quick-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.mypage-quick-grid a {
  display: flex;
  flex-direction: column;
  gap: 9px;
  min-height: 100%;
  padding: 26px;
  border-radius: 4px;
  background: #f8f8f8;
  color: inherit;
  text-decoration: none;
}
.mypage-quick-grid strong {
  font-size: 16px;
  font-weight: 700;
  color: var(--ink);
  word-break: keep-all;
}
.mypage-quick-grid span {
  font-size: var(--mypage-label);
  color: #6e6e75;
}
.mypage-quick-grid em {
  margin-top: auto;
  font-size: var(--mypage-label);
  font-weight: 500;
  font-style: normal;
  color: var(--brand);
}
.mypage-process {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
}
.mypage-process li {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 24px 26px;
  background: #f7f8fa;
}
.mypage-process li.is-accent {
  background: #f4f7ff;
  border-radius: 8px 0 0 8px;
}
.mypage-process li:last-child {
  border-radius: 0 8px 8px 0;
}
.mypage-process strong {
  font-size: 16px;
  font-weight: 700;
  color: var(--ink);
  word-break: keep-all;
}
.mypage-process li.is-accent strong {
  color: var(--brand);
}
.mypage-process span {
  font-size: var(--mypage-label);
  line-height: 1.55;
  color: #6e7380;
  word-break: keep-all;
}
.mypage-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.mypage-toolbar .member-btn {
  min-width: 132px;
  min-height: 48px;
  font-size: 15px;
  border-radius: 6px;
}
.mypage-table-wrap {
  width: 100%;
  overflow-x: auto;
}
.mypage-table {
  width: 100%;
  min-width: 960px;
  border-collapse: collapse;
  border-top: 2px solid var(--brand);
}
.mypage-table th,
.mypage-table td {
  padding: 18px 12px;
  border-bottom: 1px solid #e0e3e8;
  font-size: 14px;
  line-height: 1.45;
  text-align: center;
  vertical-align: middle;
  word-break: keep-all;
}
.mypage-table thead th {
  background: #f7f8fa;
  font-size: 15px;
  font-weight: 500;
  color: #222;
}
.mypage-table tbody td {
  color: #21242b;
}
.mypage-table tbody td:first-child,
.mypage-table tbody td:last-child {
  color: #6e7380;
}
.mypage-table td a {
  color: inherit;
  text-decoration: none;
}
.mypage-table td a:hover {
  color: var(--brand);
  text-decoration: underline;
}
.mypage-table-product {
  display: flex;
  align-items: center;
  gap: 10px;
  text-align: left;
}
.mypage-table-product img {
  width: 54px;
  height: 54px;
  border-radius: 10px;
  object-fit: cover;
  flex-shrink: 0;
  background: #f5f5f5;
}
.mypage-table-product span {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}
.mypage-table-product strong {
  font-size: 16px;
  font-weight: 700;
  color: var(--ink);
}
.mypage-table-product small {
  font-size: 13px;
  color: #5e5e5e;
}
.mypage-table-inquiry {
  min-width: 0;
  table-layout: fixed;
  border-top: 0;
}
.mypage-table-inquiry thead th {
  height: 64px;
  border-top: 2px solid var(--brand);
  background: #f6f7f9;
  color: #38393e;
  font-size: var(--sub-body-sm);
  font-weight: 500;
}
.mypage-table-inquiry th,
.mypage-table-inquiry td {
  padding: 0 12px;
  border-bottom: 0;
}
.mypage-table-inquiry tbody td {
  height: 78px;
  border-bottom: 1px solid #e5e7eb;
  color: var(--muted);
  font-size: var(--sub-label);
}
.mypage-table-inquiry th:nth-child(3),
.mypage-table-inquiry td:nth-child(3) {
  padding-left: 22px;
  text-align: left;
}
.mypage-table-inquiry td a {
  color: var(--ink);
  font-size: var(--sub-body-sm);
  font-weight: 400;
  text-decoration: none;
}
.mypage-table-inquiry td a:hover {
  color: var(--brand);
  text-decoration: none;
}
.mypage-table-inquiry tbody td:last-child {
  color: inherit;
}
.mypage-table-qna td:nth-child(4) {
  text-align: left;
}
.mypage-table td:has(.mypage-reply-icon),
.mypage-table td:has(.mypage-lock-icon) {
  text-align: left;
}
.mypage-reply-icon,
.mypage-lock-icon {
  display: inline-block;
  margin-left: 6px;
  vertical-align: -3px;
}
.mypage-badge {
  display: inline-flex;
  align-items: center;
  padding: 7px 12px;
  border-radius: 999px;
  background: #f4f7ff;
  font-size: 13px;
  font-weight: 500;
  color: var(--brand);
  white-space: nowrap;
}
.mypage-badge.is-done {
  background: #f0fbf5;
  color: #177a4a;
}
.mypage-badge.is-received {
  background: #f4f7ff;
  color: var(--brand);
}
.mypage-badge.is-review {
  background: #fff8e8;
  color: #a56b00;
}
.mypage-table-quote {
  min-width: 1100px;
}
.mypage-table-quote tbody td:nth-child(2),
.mypage-table-quote tbody td:nth-child(3) {
  text-align: left;
  color: #21242b;
}
.mypage-table-quote tbody td:nth-child(3) {
  color: #6e7380;
}
.mypage-quote-review-btn {
  min-width: 95px;
  min-height: 42px;
  padding: 0 20px;
  font-size: 14px;
  border-radius: 6px;
}
.mypage-quote-review-btn.member-btn-brand {
  color: #fff;
}
.mypage-quote-review-btn.member-btn-brand:hover,
.mypage-quote-review-btn.member-btn-brand:focus-visible {
  color: #fff;
  text-decoration: none;
  background: var(--brand);
  border-color: var(--brand);
}
.mypage-quote-review-btn.is-disabled,
.mypage-quote-review-btn:disabled {
  border-color: #e0e3e8;
  background: #fff;
  color: #b2b5bd;
  cursor: default;
  pointer-events: none;
}
.mypage-quote-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 2px solid var(--brand);
  background: #f7f8fa;
}
.mypage-quote-summary > div {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-height: 98px;
  padding: 20px 24px;
  border-bottom: 1px solid #ddd;
  background: #fff;
}
.mypage-quote-summary span {
  font-size: 13px;
  line-height: 1.45;
  color: #6e7380;
}
.mypage-quote-summary strong {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.45;
  color: #21242b;
  word-break: keep-all;
}
.mypage-quote-review-form {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.mypage-quote-rating {
  margin: 0;
  padding: 0;
  border: 0;
}
.mypage-quote-rating legend {
  margin-bottom: 10px;
  font-size: 16px;
  font-weight: 500;
  color: #21242b;
}
.mypage-quote-rating legend i {
  color: var(--brand);
  font-style: normal;
}
.mypage-quote-rating-options {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.mypage-quote-rating-options label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 53px;
  padding: 14px 20px;
  border: 1px solid #e0e3e8;
  border-radius: 6px;
  background: #fff;
  cursor: pointer;
}
.mypage-quote-rating-options label.is-active {
  border-color: var(--brand);
  background: #f5f7ff;
}
.mypage-quote-rating-options input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.mypage-quote-stars {
  font-size: 17px;
  line-height: 1;
  letter-spacing: 1px;
  color: #b2b5bd;
}
.mypage-quote-stars.is-gold {
  color: #e3a300;
}
.mypage-quote-rating-options em {
  font-size: 14px;
  font-style: normal;
  color: #21242b;
}
.mypage-quote-review-message {
  width: 100%;
  min-height: 210px;
  padding: 16px 20px;
  border: 1px solid #e0e3e8;
  border-radius: 6px;
  font: inherit;
  font-size: 15px;
  line-height: 1.65;
  color: var(--ink);
  resize: vertical;
}
.mypage-quote-review-message:focus-visible {
  outline: 2px solid var(--brand);
  outline-offset: 2px;
}
.mypage-quote-photo.mypage-review-photos {
  gap: 10px;
}
.mypage-quote-photo .mypage-review-photo-row .contact-file {
  min-height: 58px;
}
.mypage-quote-consent {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  min-height: 60px;
  padding: 18px 20px;
  border-radius: 6px;
  background: #f7f8fa;
  cursor: pointer;
}
.mypage-quote-consent input {
  width: 24px;
  height: 24px;
  margin: 0;
  flex-shrink: 0;
  accent-color: var(--brand);
}
.mypage-quote-consent span {
  font-size: 15px;
  line-height: 1.45;
  color: #21242b;
  word-break: keep-all;
}
.mypage-quote-consent span i {
  color: var(--brand);
  font-style: normal;
}
.mypage-quote-review-actions {
  display: flex;
  justify-content: center;
  gap: 10px;
}
.mypage-quote-review-actions .member-btn {
  min-width: 124px;
  min-height: 52px;
  padding: 0 48px;
  font-size: 15px;
  border-radius: 6px;
}
[data-mypage-inquiry-list] {
  display: flex;
  flex-direction: column;
  gap: 28px;
  width: 100%;
}
[data-mypage-inquiry-list][hidden],
.mypage-inquiry-view[hidden],
.mypage-inquiry-edit[hidden],
.mypage-inquiry-answer[hidden] {
  display: none !important;
}
.mypage-inquiry-view,
.mypage-inquiry-edit {
  display: flex;
  flex-direction: column;
  gap: 36px;
  width: 100%;
}
.mypage-inquiry-view-head {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.mypage-inquiry-view-head h3 {
  margin: 0;
  font-size: var(--mypage-title);
  font-weight: 700;
  line-height: 1.3;
  color: var(--ink);
  word-break: keep-all;
}
.mypage-inquiry-meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}
.mypage-inquiry-meta div {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  min-height: 72px;
  padding: 0 8px;
}
.mypage-inquiry-meta div + div {
  border-left: 1px solid #ccc;
  padding-left: 28px;
}
.mypage-inquiry-meta dt,
.mypage-inquiry-meta dd {
  margin: 0;
  font-size: 14px;
  font-weight: 500;
}
.mypage-inquiry-meta dt {
  color: var(--muted);
}
.mypage-inquiry-meta dd {
  color: var(--ink);
}
.mypage-inquiry-view-body {
  display: flex;
  flex-direction: column;
  gap: 28px;
}
.mypage-inquiry-block {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.mypage-inquiry-block > strong {
  font-size: var(--mypage-label);
  font-weight: 700;
  color: var(--ink);
}
.mypage-inquiry-block > div {
  color: var(--muted);
  font-size: var(--mypage-body);
  line-height: 1.65;
  word-break: keep-all;
  white-space: pre-line;
}
.mypage-inquiry-answer {
  padding: 24px 28px;
  border-radius: 12px;
  background: #f7f8fa;
}
.mypage-inquiry-answer > strong {
  color: var(--brand);
}
.mypage-inquiry-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  padding-top: 8px;
}
.mypage-inquiry-actions .member-btn {
  min-width: 120px;
  min-height: 48px;
  border-color: #dee0e5;
  border-radius: 6px;
  background: #fff;
  color: var(--ink);
  font-size: 15px;
}
.mypage-inquiry-actions .member-btn-brand {
  border-color: var(--brand);
  background: var(--brand);
  color: #fff;
}
.mypage-inquiry-actions .member-btn[hidden] {
  display: none !important;
}
.mypage-inquiry-edit .member-field {
  gap: 12px;
}
.mypage-inquiry-edit-message {
  width: 100%;
  min-height: 220px;
  padding: 16px 18px;
  border: 1px solid #ddd;
  border-radius: 6px;
  background: #fff;
  color: var(--ink);
  font: inherit;
  font-size: 15px;
  line-height: 1.6;
  resize: vertical;
}
.mypage-inquiry-edit-message:focus-visible {
  outline: 2px solid var(--brand);
  outline-offset: 2px;
}
.mypage-eligible {
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: 28px 32px;
  border-radius: 8px;
  background: #f7f8fa;
}
.mypage-eligible-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 18px;
  border-bottom: 1px solid #e0e3e8;
}
.mypage-eligible-head strong {
  font-size: 20px;
  font-weight: 700;
  color: var(--ink);
}
.mypage-eligible-head span {
  font-size: var(--mypage-label);
  color: #6e7380;
}
.mypage-eligible-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.mypage-eligible-row small {
  display: block;
  margin-bottom: 6px;
  font-size: 13px;
  color: #6e7380;
}
.mypage-eligible-row p {
  margin: 0;
  font-size: 16px;
  font-weight: 500;
  color: var(--ink);
  word-break: keep-all;
}
.mypage-eligible-row .member-btn {
  min-width: 160px;
  min-height: 48px;
}
.mypage-notice {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 24px 28px;
  border: 1px solid #e0e3e8;
  border-radius: 8px;
}
.mypage-notice strong {
  font-size: 16px;
  font-weight: 700;
  color: var(--ink);
}
.mypage-notice ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.mypage-notice li {
  font-size: var(--mypage-label);
  line-height: 1.75;
  color: #6e7380;
  word-break: keep-all;
}
.mypage-notice li::before {
  content: "· ";
}
[data-page="member-mypage-profile"] .mypage-panel {
  gap: 32px;
}
[data-page="member-mypage-profile"] .mypage-section-head h3 {
  font-size: 34px;
  color: #21242b;
}
[data-page="member-mypage-profile"] .mypage-section-head p {
  font-size: 16px;
  color: #6e7380;
}
.mypage-profile-form {
  display: flex;
  flex-direction: column;
  gap: 36px;
  width: 100%;
}
.mypage-profile-form > .member-field {
  max-width: none;
  width: 100%;
  gap: 8px;
}
.mypage-profile-form .member-field > span,
.mypage-profile-form .member-field-title {
  font-size: 18px;
  font-weight: 500;
  color: #000;
}
.mypage-profile-form .member-field small {
  color: #444;
  font-size: 14px;
}
.mypage-profile-form .member-input,
.mypage-profile-form .member-select {
  min-height: 52px;
  border: 1px solid #ddd;
  border-radius: 6px;
  background: #fff;
}
.mypage-profile-form .member-input input,
.mypage-profile-form .member-select select {
  padding: 0 20px;
  font-size: 16px;
  color: #444;
}
.mypage-profile-form .member-input-readonly {
  background: #f5f5f5;
}
.mypage-profile-form .member-input-readonly input {
  background: transparent;
  color: #444;
}
.mypage-profile-form .member-input-valid {
  padding-right: 44px;
}
.mypage-profile-form .member-valid {
  right: 18px;
  width: 24px;
  height: 24px;
  border: 1.5px solid #8b5cf6;
  border-radius: 50%;
  color: #8b5cf6;
  font-size: 12px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transform: translateY(-50%);
}
.mypage-profile-form .member-phone-row {
  grid-template-columns: 120px minmax(0, 1fr) minmax(0, 1fr) 120px;
  gap: 6px;
}
.mypage-profile-form .member-phone-row .member-btn {
  grid-column: auto;
  width: 120px;
  min-width: 120px;
  min-height: 52px;
}
.mypage-profile-form .member-inline-row {
  grid-template-columns: minmax(0, 1fr) 120px;
  gap: 6px;
}
.mypage-profile-form .member-btn-dark,
.mypage-profile-form .member-btn-line {
  width: 120px;
  min-width: 120px;
  min-height: 52px;
  border-radius: 6px;
  font-size: 16px;
  font-weight: 400;
}
.mypage-profile-form .member-btn-dark {
  background: #222;
  border-color: #222;
}
.mypage-profile-form .member-btn-line {
  border-color: #222;
  color: #222;
}
.mypage-profile-form .member-check {
  margin-top: 4px;
  font-size: 16px;
  color: #232323;
}
.member-hint-warn {
  color: #c72429;
  font-size: 14px;
}
.mypage-consent {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}
.mypage-consent > span {
  font-size: 18px;
  font-weight: 500;
  color: #21242b;
}
.mypage-consent-box {
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: 64px;
  padding: 0 18px;
  border: 1px solid #dbdee3;
  border-radius: 6px;
  background: #fff;
  cursor: pointer;
}
.mypage-consent-box input {
  width: 24px;
  height: 24px;
  border-radius: 6px;
  accent-color: var(--brand);
  flex-shrink: 0;
}
.mypage-consent-box span {
  font-size: 16px;
  line-height: 1.5;
  color: #21242b;
  word-break: keep-all;
}
.mypage-consent > p {
  margin: 0;
  font-size: 14px;
  line-height: 1.5;
  color: #6e7380;
  word-break: keep-all;
}
.mypage-profile-actions {
  display: flex;
  justify-content: center;
  gap: 10px;
  width: 100%;
}
.mypage-profile-actions .member-btn {
  min-height: 48px;
  border-radius: 6px;
  font-size: 15px;
  font-weight: 500;
}
.mypage-profile-actions .member-btn-line {
  min-width: 160px;
  border-color: #e0e3e8;
  color: #21242b;
}
.mypage-profile-actions .member-btn-brand {
  min-width: 200px;
}
.mypage-withdraw {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  width: 100%;
  padding: 28px 32px;
  border-radius: 16px;
  background: #fff6f6;
}
.mypage-withdraw strong {
  display: block;
  margin-bottom: 6px;
  font-size: 17px;
  font-weight: 700;
  color: #c72429;
}
.mypage-withdraw p {
  margin: 0;
  max-width: 60rem;
  font-size: 13px;
  line-height: 1.6;
  color: #6e7380;
  word-break: keep-all;
}
.mypage-btn-danger {
  min-width: 150px;
  min-height: 48px;
  border: 1px solid #c72429;
  border-radius: 6px;
  background: #fff;
  color: #c72429;
  font-size: 15px;
  font-weight: 500;
}
@media (max-width: 1100px) {
  .mypage-stage {
    --mypage-title: 28px;
    padding-block: 100px;
    gap: 36px;
  }
  .mypage-summary {
    flex-direction: column;
    align-items: stretch;
    min-height: 0;
    padding: 28px 24px;
  }
  .mypage-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .mypage-metrics li {
    width: auto;
    padding: 8px 0;
  }
  .mypage-metrics li:first-child {
    border-left: 0;
  }
  .mypage-nav a {
    min-height: 64px;
    font-size: 14px;
  }
  .mypage-profile-form .member-phone-row {
    grid-template-columns: 100px minmax(0, 1fr) minmax(0, 1fr) 120px;
  }
  .mypage-profile-form .member-phone-row .member-btn {
    grid-column: auto;
  }
  .mypage-order-filter {
    justify-content: flex-start;
  }
  .mypage-section-head-row {
    flex-direction: column;
    align-items: flex-start;
  }
  .mypage-order-body {
    flex-direction: column;
    align-items: stretch;
  }
  .mypage-order-actions {
    justify-content: flex-start;
  }
  .mypage-quick-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .mypage-process {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .mypage-process li,
  .mypage-process li.is-accent,
  .mypage-process li:last-child {
    border-radius: 0;
  }
  .mypage-process li:nth-child(1) {
    border-radius: 8px 0 0 0;
  }
  .mypage-process li:nth-child(2) {
    border-radius: 0 8px 0 0;
  }
  .mypage-process li:nth-child(3) {
    border-radius: 0 0 0 8px;
  }
  .mypage-process li:nth-child(4) {
    border-radius: 0 0 8px 0;
  }
  .mypage-withdraw {
    flex-direction: column;
    align-items: flex-start;
  }
}
@media (max-width: 767px) {
  .mypage-stage {
    --mypage-title: 22px;
    --mypage-body: 14px;
    --mypage-label: 13px;
    width: var(--width);
    padding-block: 56px;
    gap: 28px;
  }
  .mypage-summary {
    padding: 20px 16px;
    border-radius: 14px;
    gap: 18px;
  }
  .mypage-avatar {
    width: 56px;
    height: 56px;
  }
  .mypage-identity strong {
    font-size: 20px;
  }
  .mypage-identity p {
    margin-top: 4px;
    font-size: 12px;
  }
  .mypage-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    border-top: 1px solid #eee;
    padding-top: 12px;
  }
  .mypage-metrics li {
    padding: 10px 0;
    border-left: 0;
    border-top: 1px solid #eee;
  }
  .mypage-metrics li:nth-child(-n + 2) {
    border-top: 0;
  }
  .mypage-metrics li:nth-child(odd) {
    border-right: 1px solid #eee;
  }
  .mypage-metrics strong {
    font-size: 22px;
  }
  .mypage-metrics span {
    font-size: 12px;
  }
  .mypage-nav {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    overflow: visible;
  }
  .mypage-nav a {
    min-width: 0;
    width: 100%;
    min-height: 48px;
    padding: 0 8px;
    font-size: 13px;
    text-align: center;
  }
  .mypage-panel {
    gap: 20px;
  }
  [data-mypage-inquiry-list] {
    gap: 20px;
  }
  .mypage-section-head h3 {
    font-size: var(--mypage-title);
  }
  .mypage-section-head p {
    font-size: var(--mypage-body);
  }
  .mypage-chips {
    gap: 6px;
  }
  .mypage-chips button,
  .mypage-order-filter .mypage-chips button {
    min-height: 40px;
    padding: 0 12px;
    font-size: 13px;
  }
  .mypage-panel > .mypage-chips button,
  .mypage-toolbar .mypage-chips button,
  .mypage-section-head .mypage-chips button {
    padding: 8px 12px;
  }
  .mypage-date-range {
    width: 100%;
    justify-content: space-between;
    gap: 10px;
    min-height: 44px;
  }
  .mypage-filter-submit {
    width: 100%;
    min-height: 44px;
  }
  .mypage-order-card header {
    flex-direction: column;
    align-items: flex-start;
    min-height: 0;
    padding: 14px 16px;
    gap: 6px;
  }
  .mypage-order-card header > div {
    gap: 8px;
  }
  .mypage-order-body {
    padding: 16px;
    gap: 16px;
  }
  .mypage-order-product {
    gap: 14px;
  }
  .mypage-order-product img {
    width: 88px;
    height: 88px;
    border-radius: 10px;
  }
  .mypage-order-product strong {
    font-size: 16px;
  }
  .mypage-order-product b {
    font-size: 18px;
  }
  .mypage-order-actions {
    width: 100%;
  }
  .mypage-order-actions .member-btn {
    flex: 1 1 calc(50% - 5px);
    min-width: 0;
    min-height: 44px;
  }
  .mypage-review-layer {
    align-items: flex-end;
    padding: 0;
  }
  .mypage-review-panel {
    width: 100%;
    max-height: 92vh;
    border-radius: 16px 16px 0 0;
  }
  .mypage-review-head,
  .mypage-review-actions {
    min-height: 72px;
    padding: 0 20px;
  }
  .mypage-review-body {
    padding: 20px;
    gap: 16px;
  }
  .mypage-review-message {
    min-height: 140px;
  }
  .mypage-review-product {
    gap: 12px;
  }
  .mypage-review-thumb {
    width: 72px;
    height: 72px;
    border-radius: 10px;
  }
  .mypage-review-photo-row {
    align-items: stretch;
  }
  .mypage-review-photo-controls button {
    width: 40px;
    height: 40px;
  }
  .mypage-review-actions .member-btn {
    flex: 1;
    min-width: 0;
  }
  .mypage-pager a {
    width: 40px;
    height: 40px;
  }
  .mypage-quick-grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .mypage-quick-grid a {
    padding: 18px;
  }
  .mypage-process {
    grid-template-columns: 1fr;
  }
  .mypage-process li {
    padding: 16px 18px;
  }
  .mypage-process li:nth-child(n) {
    border-radius: 0;
  }
  .mypage-process li:first-child {
    border-radius: 8px 8px 0 0;
  }
  .mypage-process li:last-child {
    border-radius: 0 0 8px 8px;
  }
  .mypage-toolbar {
    flex-direction: column;
    align-items: stretch;
  }
  .mypage-toolbar .member-btn {
    width: 100%;
  }
  .mypage-table:not(.mypage-table-inquiry):not(.mypage-table-qna):not(.mypage-table-claim),
  .mypage-table:not(.mypage-table-inquiry):not(.mypage-table-qna):not(.mypage-table-claim) thead,
  .mypage-table:not(.mypage-table-inquiry):not(.mypage-table-qna):not(.mypage-table-claim) tbody,
  .mypage-table:not(.mypage-table-inquiry):not(.mypage-table-qna):not(.mypage-table-claim) tr,
  .mypage-table:not(.mypage-table-inquiry):not(.mypage-table-qna):not(.mypage-table-claim) th,
  .mypage-table:not(.mypage-table-inquiry):not(.mypage-table-qna):not(.mypage-table-claim) td {
    display: block;
    width: 100%;
    min-width: 0;
  }
  .mypage-table:not(.mypage-table-inquiry):not(.mypage-table-qna):not(.mypage-table-claim) {
    border-top: 0;
  }
  .mypage-table:not(.mypage-table-inquiry):not(.mypage-table-qna):not(.mypage-table-claim) thead {
    display: none;
  }
  .mypage-table:not(.mypage-table-inquiry):not(.mypage-table-qna):not(.mypage-table-claim) tbody tr {
    margin-bottom: 12px;
    padding: 16px;
    border: 1px solid #e0e3e8;
    border-radius: 8px;
  }
  .mypage-table:not(.mypage-table-inquiry):not(.mypage-table-qna):not(.mypage-table-claim) th,
  .mypage-table:not(.mypage-table-inquiry):not(.mypage-table-qna):not(.mypage-table-claim) td {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 0;
    border-bottom: 0;
    text-align: left;
  }
  .mypage-table:not(.mypage-table-inquiry):not(.mypage-table-qna):not(.mypage-table-claim) td::before {
    content: attr(data-label);
    flex: 0 0 5.5rem;
    font-weight: 600;
    color: #6e7380;
  }
  .mypage-table:not(.mypage-table-inquiry):not(.mypage-table-qna):not(.mypage-table-claim) td:has(.mypage-table-product) {
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
  }
  .mypage-table:not(.mypage-table-inquiry):not(.mypage-table-qna):not(.mypage-table-claim) td:has(.mypage-table-product)::before {
    flex: none;
  }
  .mypage-table-product {
    flex: 1;
  }
  .mypage-table-wrap:has(.mypage-table-inquiry),
  .mypage-table-wrap:has(.mypage-table-qna),
  .mypage-table-wrap:has(.mypage-table-claim),
  .mypage-table-wrap:has(.mypage-table-quote) {
    overflow: visible;
  }
  .mypage-table-quote,
  .mypage-table-quote colgroup,
  .mypage-table-quote tbody {
    display: block;
    width: 100%;
    min-width: 0;
  }
  .mypage-table-quote colgroup,
  .mypage-table-quote thead {
    display: none;
  }
  .mypage-table-quote tbody {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  .mypage-table-quote tbody tr {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-areas:
      "no status"
      "product product"
      "note note"
      "date review";
    gap: 8px;
    margin: 0;
    padding: 16px;
    border: 0;
    border-radius: 16px;
    background: #f7f8fa;
  }
  .mypage-table-quote tbody td {
    display: block;
    width: auto;
    padding: 0;
    border: 0;
    text-align: left;
    font-size: var(--sub-body-sm);
  }
  .mypage-table-quote tbody td::before {
    content: none;
  }
  .mypage-table-quote tbody td:nth-child(1) {
    grid-area: no;
    font-weight: 600;
    color: var(--ink);
  }
  .mypage-table-quote tbody td:nth-child(2) {
    grid-area: product;
    color: var(--ink);
  }
  .mypage-table-quote tbody td:nth-child(3) {
    grid-area: note;
    color: var(--muted);
  }
  .mypage-table-quote tbody td:nth-child(4) {
    grid-area: status;
    justify-self: end;
  }
  .mypage-table-quote tbody td:nth-child(5) {
    grid-area: date;
    color: var(--muted);
  }
  .mypage-table-quote tbody td:nth-child(6) {
    grid-area: review;
    justify-self: start;
  }
  .mypage-quote-summary {
    grid-template-columns: 1fr;
  }
  .mypage-quote-rating-options {
    flex-direction: column;
  }
  .mypage-quote-rating-options label {
    width: 100%;
  }
  .mypage-quote-review-actions {
    flex-direction: column;
  }
  .mypage-quote-review-actions .member-btn {
    width: 100%;
  }
  .mypage-table-inquiry,
  .mypage-table-inquiry colgroup,
  .mypage-table-inquiry tbody {
    display: block;
    width: 100%;
    min-width: 0;
  }
  .mypage-table-inquiry colgroup,
  .mypage-table-inquiry thead {
    display: none;
  }
  .mypage-table-inquiry tbody {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  .mypage-table-inquiry tbody tr {
    display: grid;
    grid-template-columns: auto auto 1fr auto;
    grid-template-areas:
      "no type date date"
      "title title title status";
    align-items: center;
    column-gap: 8px;
    row-gap: 10px;
    margin: 0;
    padding: 16px;
    border: 0;
    border-radius: 16px;
    background: #f7f8fa;
  }
  .mypage-table-inquiry tbody td {
    display: block;
    width: auto;
    height: auto;
    padding: 0;
    border: 0;
    text-align: left;
    font-size: var(--sub-body-sm);
    line-height: 1.45;
  }
  .mypage-table-inquiry tbody td::before {
    content: none;
  }
  .mypage-table-inquiry tbody td:nth-child(1) {
    grid-area: no;
    color: var(--ink);
    font-weight: 600;
  }
  .mypage-table-inquiry tbody td:nth-child(2) {
    grid-area: type;
    padding: 3px 10px;
    border-radius: 14px;
    background: #fff;
    color: var(--muted);
    font-weight: 500;
  }
  .mypage-table-inquiry tbody td:nth-child(3) {
    grid-area: title;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 8px;
    padding: 0;
  }
  .mypage-table-inquiry tbody td:nth-child(4) {
    grid-area: date;
    justify-self: end;
    color: var(--muted);
  }
  .mypage-table-inquiry tbody td:nth-child(5) {
    grid-area: status;
  }
  .mypage-table-inquiry .mypage-badge {
    padding: 3px 10px;
    font-size: 12px;
  }
  .mypage-table-inquiry td a {
    display: inline;
    font-size: var(--sub-body);
    font-weight: 500;
    line-height: 1.45;
    word-break: keep-all;
  }
  .mypage-table-qna,
  .mypage-table-qna thead,
  .mypage-table-qna tbody {
    display: block;
    width: 100%;
    min-width: 0;
  }
  .mypage-table-qna {
    border-top:0;
  }
  .mypage-table-qna thead {
    display: none;
  }
  .mypage-table-qna tbody {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  .mypage-table-qna tbody tr {
    display: grid;
    grid-template-columns: auto auto 1fr auto;
    grid-template-areas:
      "product product product product"
      "no type date date"
      "title title title status";
    align-items: center;
    column-gap: 8px;
    row-gap: 10px;
    margin: 0;
    padding: 16px;
    border: 0;
    border-radius: 16px;
    background: #f7f8fa;
  }
  .mypage-table-qna tbody td {
    display: block;
    width: auto;
    height: auto;
    padding: 0;
    border: 0;
    text-align: left;
    font-size: var(--sub-body-sm);
    line-height: 1.45;
  }
  .mypage-table-qna tbody td::before {
    content: none;
  }
  .mypage-table-qna tbody td:nth-child(1) {
    grid-area: no;
    color: var(--ink);
    font-weight: 600;
  }
  .mypage-table-qna tbody td:nth-child(2) {
    grid-area: product;
    padding-bottom: 4px;
    border-bottom: 1px solid #e8eaee;
  }
  .mypage-table-qna tbody td:nth-child(3) {
    grid-area: type;
    padding: 3px 10px;
    border-radius: 14px;
    background: #fff;
    color: var(--muted);
    font-weight: 500;
  }
  .mypage-table-qna tbody td:nth-child(4) {
    grid-area: title;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 8px;
    padding: 0;
    text-align: left;
  }
  .mypage-table-qna tbody td:nth-child(5) {
    grid-area: status;
  }
  .mypage-table-qna tbody td:nth-child(6) {
    grid-area: date;
    justify-self: end;
    color: var(--muted);
  }
  .mypage-table-qna .mypage-table-product {
    gap: 12px;
  }
  .mypage-table-qna .mypage-table-product img {
    width: 48px;
    height: 48px;
    border-radius: 8px;
  }
  .mypage-table-qna .mypage-table-product strong {
    font-size: var(--sub-body-sm);
    font-weight: 600;
    line-height: 1.4;
    word-break: keep-all;
  }
  .mypage-table-qna .mypage-table-product small {
    font-size: 12px;
    color: var(--muted);
  }
  .mypage-table-qna .mypage-badge {
    padding: 3px 10px;
    font-size: 12px;
  }
  .mypage-table-qna td a {
    display: inline;
    font-size: var(--sub-body);
    font-weight: 500;
    line-height: 1.45;
    word-break: keep-all;
  }
  .mypage-table-claim,
  .mypage-table-claim thead,
  .mypage-table-claim tbody {
    display: block;
    width: 100%;
    min-width: 0;
  }
  .mypage-table-claim {
    border-top:0;
  }
  .mypage-table-claim thead {
    display: none;
  }
  .mypage-table-claim tbody {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  .mypage-table-claim tbody tr {
    display: grid;
    grid-template-columns: auto 1fr auto;
    grid-template-areas:
      "product product product"
      "type date date"
      "reason reason status"
      "detail detail detail";
    align-items: center;
    column-gap: 8px;
    row-gap: 10px;
    margin: 0;
    padding: 16px;
    border: 0;
    border-radius: 16px;
    background: #f7f8fa;
  }
  .mypage-table-claim tbody td {
    display: block;
    width: auto;
    height: auto;
    padding: 0;
    border: 0;
    text-align: left;
    font-size: var(--sub-body-sm);
    line-height: 1.45;
  }
  .mypage-table-claim tbody td::before {
    content: none;
  }
  .mypage-table-claim tbody td:nth-child(1) {
    grid-area: date;
    justify-self: end;
    color: var(--muted);
  }
  .mypage-table-claim tbody td:nth-child(2) {
    grid-area: type;
    padding: 3px 10px;
    border-radius: 14px;
    background: #fff;
    color: var(--muted);
    font-weight: 500;
  }
  .mypage-table-claim tbody td:nth-child(3) {
    grid-area: product;
    padding-bottom: 4px;
    border-bottom: 1px solid #e8eaee;
  }
  .mypage-table-claim tbody td:nth-child(4) {
    grid-area: reason;
    color: var(--ink);
    font-size: var(--sub-body);
    font-weight: 500;
    word-break: keep-all;
  }
  .mypage-table-claim tbody td:nth-child(5) {
    grid-area: status;
  }
  .mypage-table-claim tbody td:nth-child(6) {
    grid-area: detail;
    justify-self: end;
    padding-top: 2px;
  }
  .mypage-table-claim .mypage-table-product {
    gap: 12px;
  }
  .mypage-table-claim .mypage-table-product img {
    width: 48px;
    height: 48px;
    border-radius: 8px;
  }
  .mypage-table-claim .mypage-table-product strong {
    font-size: var(--sub-body-sm);
    font-weight: 600;
    line-height: 1.4;
    word-break: keep-all;
  }
  .mypage-table-claim .mypage-table-product small {
    font-size: 12px;
    color: var(--muted);
  }
  .mypage-table-claim .mypage-badge {
    padding: 3px 10px;
    font-size: 12px;
  }
  .mypage-table-claim td a {
    display: inline;
    color: var(--brand);
    font-size: var(--sub-body-sm);
    font-weight: 500;
    line-height: 1.45;
    text-decoration: none;
    word-break: keep-all;
  }
  .mypage-order-filter {
    width: 100%;
  }
  .mypage-order-filter .mypage-chips {
    width: 100%;
  }
  .mypage-eligible,
  .mypage-notice,
  .mypage-withdraw {
    padding: 18px 16px;
  }
  .mypage-eligible-head,
  .mypage-eligible-row {
    flex-direction: column;
    align-items: flex-start;
  }
  .mypage-eligible-row .member-btn,
  .mypage-btn-danger,
  .mypage-profile-actions .member-btn {
    width: 100%;
  }
  .mypage-inquiry-view,
  .mypage-inquiry-edit {
    gap: 24px;
  }
  .mypage-inquiry-view-head {
    gap: 16px;
  }
  .mypage-inquiry-meta {
    grid-template-columns: 1fr;
    padding: 1rem 0;
  }
  .mypage-inquiry-meta div {
    min-height: 24px;
    padding: 0;
  }
  .mypage-inquiry-meta div + div {
    border-left: 0;
    padding-left: 0;
  }
  .mypage-inquiry-answer {
    padding: 18px 16px;
  }
  .mypage-inquiry-actions {
    flex-direction: column;
  }
  .mypage-inquiry-actions .member-btn {
    width: 100%;
  }
  [data-page="member-mypage-profile"] .mypage-section-head h3 {
    font-size: 22px;
  }
  [data-page="member-mypage-profile"] .mypage-section-head p {
    font-size: 14px;
  }
  .mypage-profile-form {
    gap: 20px;
  }
  .mypage-profile-form .member-field > span,
  .mypage-profile-form .member-field-title {
    font-size: 15px;
  }
  .mypage-profile-form .member-phone-row {
    grid-template-columns: 84px minmax(0, 1fr) minmax(0, 1fr);
    gap: 6px;
  }
  .mypage-profile-form .member-phone-row .member-btn {
    grid-column: 1 / -1;
    width: 100%;
    min-width: 0;
  }
  .mypage-profile-form .member-inline-row {
    grid-template-columns: 1fr;
  }
  .mypage-profile-form .member-btn-dark,
  .mypage-profile-form .member-btn-line {
    width: 100%;
    min-width: 0;
  }
  .mypage-consent > span {
    font-size: 15px;
  }
  .mypage-consent-box {
    align-items: flex-start;
    min-height: 0;
    padding: 14px;
  }
  .mypage-consent-box span {
    font-size: 14px;
  }
  .mypage-profile-actions {
    flex-direction: column;
  }
  .mypage-profile-actions .member-btn-line,
  .mypage-profile-actions .member-btn-brand {
    width: 100%;
    min-width: 0;
  }
}
