


*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: auto; }
body { margin: 0; font-family: 'Montserrat', sans-serif; font-weight: 400; line-height: 1.7; color: #111111; background: #ffffff; }




[data-mm-header]{position:relative}
[data-mm-toggle]{display:flex;flex-direction:column;justify-content:center;gap:5px;background:none;border:none;cursor:pointer;padding:8px;z-index:1001}
[data-mm-toggle] span{display:block;width:24px;height:2px;background:#f2f2f2;border-radius:1px}
[data-mm-menu]{position:fixed;top:0;right:0;width:280px;max-width:85vw;height:100vh;height:100dvh;background:#111111;transform:translateX(100%);z-index:1100;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;padding:60px 24px 24px}
[data-mm-menu].mm-open{transform:translateX(0)}
[data-mm-menu] ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}
[data-mm-menu] ul li a{display:block;padding:14px 0;color:#f2f2f2;text-decoration:none;font-size:16px;border-bottom:1px solid rgba(255,255,255,0.14);font-family:'Cormorant Garamond',serif;letter-spacing:0.02em}
[data-mm-menu] ul li a:hover{color:#ffffff;text-decoration:underline;text-underline-offset:3px}
[data-mm-close]{position:absolute;top:16px;right:16px;background:none;border:none;font-size:28px;line-height:1;cursor:pointer;color:#ffffff;padding:4px 8px}
[data-mm-overlay]{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.6);opacity:0;visibility:hidden;z-index:1050}
[data-mm-overlay].mm-visible{opacity:1;visibility:visible}
@media(min-width:768px){
  [data-mm-toggle]{display:none!important}
  [data-mm-menu]{position:static!important;width:auto!important;max-width:none!important;height:auto!important;background:transparent!important;transform:none!important;padding:0!important;overflow:visible!important;flex-direction:row!important}
  [data-mm-menu] ul{flex-direction:row;gap:0;align-items:center}
  [data-mm-menu] ul li a{padding:8px 16px;border-bottom:none;font-size:inherit}
  [data-mm-close]{display:none!important}
  [data-mm-overlay]{display:none!important}
}





.cc-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.cc-banner {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 99999;
  background: #ffffff;
  box-shadow: 0 -4px 20px rgba(0,0,0,0.25);
  transform: translateY(100%);
  opacity: 0;
  visibility: hidden;
  font-family: 'Montserrat', sans-serif;
  font-size: 16px;
  line-height: 1.5;
  color: #111111;
}

.cc-banner.cc-visible {
  transform: translateY(0);
  opacity: 1;
  visibility: visible;
}

.cc-banner-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 1.5rem 2rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
}

.cc-banner-content {
  flex: 1 1 auto;
  min-width: 280px;
  max-width: 700px;
}

.cc-title {
  font-size: 1.125rem;
  font-weight: 600;
  margin: 0 0 0.5rem 0;
  color: #111111;
}

.cc-description {
  margin: 0;
  font-size: 0.9375rem;
  color: #555555;
  line-height: 1.6;
}

.cc-link {
  color: #111111;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.cc-link:hover {
  text-decoration: none;
}

.cc-banner-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  flex-shrink: 0;
}

.cc-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.85rem 1.75rem;
  font-size: 0.9375rem;
  font-weight: 600;
  border-radius: 2px;
  cursor: pointer;
  text-decoration: none;
  border: 2px solid transparent;
  min-height: 48px;
  line-height: 1.2;
  font-family: inherit;
}

.cc-btn:focus-visible {
  outline: 2px solid #111111;
  outline-offset: 2px;
}

.cc-btn-primary {
  background: #111111;
  color: #ffffff;
  border-color: #111111;
}

.cc-btn-primary:hover {
  background: #000000;
  border-color: #000000;
}

.cc-btn-secondary {
  background: #ffffff;
  color: #111111;
  border-color: #d1d5db;
}

.cc-btn-secondary:hover {
  background: #f3f4f6;
  border-color: #111111;
}

.cc-btn-link {
  background: transparent;
  color: #111111;
  border-color: transparent;
  padding: 0.75rem 1rem;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.cc-btn-link:hover {
  text-decoration: none;
  background: #1111111A;
}

.cc-settings-modal {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 100000;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  font-family: 'Montserrat', sans-serif;
  font-size: 16px;
  line-height: 1.5;
  color: #111111;
}

.cc-settings-modal.cc-visible {
  opacity: 1;
  visibility: visible;
}

.cc-settings-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.6);
  cursor: pointer;
}

.cc-settings-container {
  position: relative;
  background: #ffffff;
  border-radius: 2px;
  max-width: 600px;
  width: 90%;
  max-height: 90vh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
  transform: scale(0.95);
}

.cc-settings-modal.cc-visible .cc-settings-container {
  transform: scale(1);
}

.cc-settings-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.5rem;
  border-bottom: 1px solid rgba(0,0,0,0.12);
}

.cc-settings-title {
  font-size: 1.25rem;
  font-weight: 600;
  margin: 0;
  color: #111111;
}

.cc-settings-close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background: transparent;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  color: #555555;
}

.cc-settings-close:hover {
  background: #f3f4f6;
  color: #111111;
}

.cc-settings-close:focus {
  outline: 2px solid #111111;
  outline-offset: 2px;
}

.cc-settings-body {
  flex: 1;
  overflow-y: auto;
  padding: 1.5rem;
}

.cc-settings-description {
  margin: 0 0 1.5rem 0;
  font-size: 0.9375rem;
  color: #555555;
}

.cc-settings-footer {
  padding: 1.5rem;
  border-top: 1px solid rgba(0,0,0,0.12);
  display: flex;
  justify-content: flex-end;
  gap: 0.75rem;
}

.cc-category {
  padding: 1rem 0;
  border-bottom: 1px solid rgba(0,0,0,0.12);
}

.cc-category:last-child {
  border-bottom: none;
}

.cc-category-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.cc-category-info {
  flex: 1;
}

.cc-category-title {
  font-size: 1rem;
  font-weight: 600;
  margin: 0 0 0.25rem 0;
  color: #111111;
}

.cc-category-description {
  font-size: 0.875rem;
  color: #555555;
  margin: 0;
  line-height: 1.5;
}

.cc-toggle {
  flex-shrink: 0;
}

.cc-toggle input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

.cc-toggle-label {
  display: block;
  width: 52px;
  height: 28px;
  background: #d1d5db;
  border-radius: 14px;
  position: relative;
  cursor: pointer;
}

.cc-toggle-label::after {
  content: '';
  position: absolute;
  top: 3px;
  left: 3px;
  width: 22px;
  height: 22px;
  background: #ffffff;
  border-radius: 50%;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
}

.cc-toggle input:checked + .cc-toggle-label {
  background: #111111;
}

.cc-toggle input:checked + .cc-toggle-label::after {
  transform: translateX(24px);
}

.cc-toggle input:focus-visible + .cc-toggle-label {
  box-shadow: 0 0 0 3px #1111114D;
}

.cc-toggle-disabled .cc-toggle-label {
  opacity: 0.7;
  cursor: not-allowed;
}

.cc-toggle-disabled input:checked + .cc-toggle-label {
  background: #111111;
}

.cc-footer-link {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
  opacity: 0.8;
  cursor: pointer;
  font-size: 0.875rem;
}

.cc-footer-link:hover {
  opacity: 1;
}

.cc-footer-separator {
  opacity: 0.5;
}

@media (max-width: 768px) {
  .cc-banner-container {
    flex-direction: column;
    align-items: stretch;
    padding: 1.25rem 1rem;
    gap: 1.25rem;
  }
  
  .cc-banner-content {
    max-width: 100%;
    min-width: auto;
  }
  
  .cc-title {
    font-size: 1rem;
  }
  
  .cc-description {
    font-size: 0.875rem;
  }
  
  .cc-banner-actions {
    flex-direction: column;
    gap: 0.5rem;
  }
  
  .cc-btn {
    width: 100%;
    justify-content: center;
  }
  
  .cc-btn-primary,
  .cc-btn-secondary {
    order: 0;
  }
  
  .cc-btn-link {
    order: 1;
  }
  
  .cc-settings-container {
    width: 100%;
    max-width: 100%;
    height: 100%;
    max-height: 100%;
    border-radius: 0;
  }
  
  .cc-settings-body {
    padding: 1rem;
  }
  
  .cc-category-header {
    flex-direction: column;
    gap: 0.75rem;
  }
  
  .cc-toggle {
    align-self: flex-start;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cc-banner,
  .cc-settings-modal,
  .cc-settings-container,
  .cc-btn,
  .cc-toggle-label,
  .cc-toggle-label::after,
  .cc-settings-close {
  }
}

@media print {
  .cc-banner,
  .cc-settings-modal {
    display: none !important;
  }
}




h1, h2, h3, h4 { font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 600; margin: 0 0 1rem; color: #111111; }
h1 { font-size: clamp(2.4rem, 5vw, 4rem); line-height: 1.12; }
h2 { font-size: clamp(1.7rem, 3vw, 2.1rem); }
h3 { font-size: 1.4rem; }
p { font-size: 1rem; line-height: 1.7; margin: 0 0 0.75rem; }
a { color: inherit; }
img { max-width: 100%; display: block; }
ul { margin: 0; padding: 0; }
li { list-style: none; }


body { display: flex; flex-direction: column; min-height: 100vh; }
.main { display: flex; flex-direction: column; gap: 0; flex: 1; }


.container { width: min(92%, 1200px); margin: 0 auto; }


.d-flex { display: flex; }
.d-grid { display: grid; }
.flex-col { flex-direction: column; }
.ai-center { align-items: center; }
.ai-start { align-items: flex-start; }
.jc-between { justify-content: space-between; }
.jc-center { justify-content: center; }
.flex-wrap { flex-wrap: wrap; }
.gap-1 { gap: 0.5rem; }
.gap-2 { gap: max(1rem, 2vw); }
.gap-3 { gap: 1.5rem; }
.gap-4 { gap: 2rem; }
.p-2 { padding: 0.5rem; }
.p-3 { padding: 1rem; }
.p-4 { padding: 1.5rem; }
.p-6 { padding: 2rem; }
.px-3 { padding-left: 1rem; padding-right: 1rem; }
.py-2 { padding-top: 0.75rem; padding-bottom: 0.75rem; }
.py-6 { padding-top: 2rem; padding-bottom: 2rem; }
.mt-2 { margin-top: 0.75rem; }
.mt-4 { margin-top: 1.5rem; }
.mb-2 { margin-bottom: 0.75rem; }
.mb-4 { margin-bottom: 1.5rem; }
.w-full { width: 100%; }
.max-w-sm { max-width: 480px; }
.max-w-md { max-width: 640px; }
.text-center { text-align: center; }
.text-left { text-align: left; }
.fw-bold { font-weight: 700; }
.fw-semibold { font-weight: 600; }
.fs-sm { font-size: 0.875rem; }
.fs-lg { font-size: 1.125rem; }
.rounded { border-radius: 3px; }
.bg-dark { background: #111111; color: #ffffff; }
.bg-light { background: #f5f5f5; }
.text-white { color: #ffffff; }
.text-muted { color: #666666; }
.u-eyebrow { text-transform: uppercase; letter-spacing: 0.14em; font-size: 0.75rem; font-weight: 700; color: #666666; }
.u-eyebrow--on-dark { color: #cfcfcf; }


.section { padding: 2rem 1rem; flex: 1 1 auto; }
.section--pad-lg { padding: 3rem 1rem; }


.section:nth-of-type(odd) { background: #f5f5f5; }
.section:nth-of-type(even) { background: #ffffff; }
.shop-banner, .customer-service, .shop-footer { background: #111111; color: #ffffff; }
.section.shop-banner, .section.customer-service { background: #111111; color: #ffffff; }


.u-step { border-radius: 2.5rem 2.5rem 0 0; margin-top: -2.25rem; position: relative; }


.shop-header { position: sticky; top: 0; z-index: 500; background: #111111; border-bottom: 1px solid rgba(255,255,255,0.08); }
.shop-header__inner { display: flex; align-items: center; justify-content: space-between; padding: 0.85rem 0; }
.shop-header__brand { display: flex; align-items: center; gap: 0.6rem; text-decoration: none; }
.shop-header__logo { height: 2rem; width: auto; }
.shop-header__nav ul { display: flex; align-items: center; }
.shop-header__nav-item { position: relative; }
.shop-header__nav-item > a { color: #f2f2f2; text-decoration: none; font-size: 0.95rem; letter-spacing: 0.02em; }
.shop-header__nav-item > a:hover { text-decoration: underline; text-underline-offset: 3px; }
.mega-drop { display: none; position: absolute; top: 100%; left: 0; background: #ffffff; color: #111111; min-width: 320px; padding: 1.25rem; border-radius: 0 0 6px 6px; box-shadow: 0 12px 24px rgba(0,0,0,0.18); grid-template-columns: repeat(2, 1fr); gap: 0.75rem 1.5rem; }
.shop-header__nav-item:hover .mega-drop,
.shop-header__nav-item:focus-within .mega-drop { display: grid; }
.mega-drop a { display: block; font-size: 0.9rem; color: #111111; text-decoration: none; padding: 0.35rem 0; border-bottom: 1px solid rgba(0,0,0,0.08); }
.mega-drop a:hover { text-decoration: underline; }
.shop-header__phone { color: #ffffff; font-weight: 600; text-decoration: none; font-size: 0.9rem; border-bottom: 1px solid rgba(255,255,255,0.4); }
@media (max-width: 767px) { .mega-drop { position: static; box-shadow: none; grid-template-columns: 1fr; margin: 0.35rem 0 0.75rem 0; padding: 0 0 0 0.75rem; display: none; } .shop-header__nav-item.is-open .mega-drop { display: grid; } }


.shop-banner { position: relative; min-height: 78vh; overflow: hidden; }
.hero-carousel { position: absolute; inset: 0; }
.hero-slide { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: 0; }
.hero-slide.is-active { opacity: 1; }
.hero-panel { position: relative; z-index: 2; min-height: 78vh; display: flex; align-items: center; }
.hero-panel::before { content: ''; position: absolute; inset: 0 32% 0 -6%; background: rgba(17,17,17,0.86); clip-path: polygon(0 0, 100% 0, 78% 100%, 0 100%); z-index: -1; }
.hero-panel__inner { max-width: 620px; padding: 2.5rem 1rem; }
.hero-panel__inner h1 { color: #ffffff; }
.hero-panel__inner .hero-alt { color: #ffffff; font-family: 'Cormorant Garamond', serif; font-weight: 600; font-size: 1.5rem; margin: 0 0 1rem; }
.hero-panel__lede { color: #e6e6e6; font-size: 1.05rem; max-width: 500px; }
.hero-price { display: flex; align-items: baseline; gap: 0.75rem; margin: 1.25rem 0; }
.hero-price__now { font-size: 2.2rem; font-family: 'Cormorant Garamond', serif; font-weight: 700; color: #ffffff; }
.hero-price__old { font-size: 1.1rem; color: #9a9a9a; text-decoration: line-through; }
.hero-price__save { font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.08em; color: #ffffff; border: 1px solid rgba(255,255,255,0.5); padding: 0.2rem 0.6rem; border-radius: 2px; }
.hero-badges { display: flex; flex-wrap: wrap; gap: 0.75rem 1.25rem; margin: 1.5rem 0; padding: 0; }
.hero-badges li { color: #e6e6e6; font-size: 0.85rem; padding-left: 1.1rem; position: relative; }
.hero-badges li::before { content: '—'; position: absolute; left: 0; color: #ffffff; }
.hero-dots { position: absolute; bottom: 1.5rem; left: 50%; transform: translateX(-50%); display: flex; gap: 0.6rem; z-index: 3; }
.hero-dot { width: 44px; height: 44px; border: none; background: transparent; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.hero-dot::before { content: ''; width: 9px; height: 9px; border-radius: 50%; background: rgba(255,255,255,0.45); display: block; }
.hero-dot.is-active::before { background: #ffffff; }


.cta-link { display: inline-block; background: none; border: none; border-bottom: 2px solid #ffffff; color: #ffffff; font-weight: 700; font-size: 1.15rem; letter-spacing: 0.03em; padding: 0.4rem 0.1rem; cursor: pointer; text-decoration: none; font-family: 'Montserrat', sans-serif; }
.cta-link:hover { border-bottom-color: #cfcfcf; }
.cta-link--dark { color: #111111; border-bottom-color: #111111; }
.cta-link--dark:hover { border-bottom-color: #666666; }
.cta-link--lg { font-size: 1.5rem; padding: 1.5rem 3rem; }


.shba, .whbu, .cabr, .cuse, .hece { scroll-margin-top: 5.5rem; }


.cta-section { padding: 4rem 2rem; }


.context-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: max(1rem, 2vw); margin-top: 1.5rem; padding: 0; counter-reset: ctx; }
.context-list li { counter-increment: ctx; padding-left: 0; }
.context-list li::before { content: counter(ctx, decimal-leading-zero); display: block; font-family: 'Cormorant Garamond', serif; font-size: 1.8rem; font-weight: 700; color: #111111; margin-bottom: 0.35rem; }


.offer-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: max(1rem, 2vw); margin-top: 1.5rem; }
.offer-card { position: relative; margin-top: 14px; padding: 2rem 1.5rem 1.5rem; border-radius: 3px; background: #ffffff; box-shadow: 0 4px 14px rgba(0,0,0,.08); }
.offer-card__badge { position: absolute; top: -14px; left: 50%; transform: translateX(-50%); background: #111111; color: #ffffff; padding: 0.3rem 1rem; border-radius: 999px; font-size: 0.72rem; letter-spacing: 0.04em; white-space: nowrap; }
.offer-card h3 { font-size: 1.2rem; margin-bottom: 0.5rem; }
.offer-card p { color: #333333; font-size: 0.92rem; margin-bottom: 0; }


.compo-layout { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: max(1.5rem, 3vw); align-items: start; margin-top: 1.5rem; }
.compo-list { padding: 0; }
.compo-list li { padding: 0.85rem 0; border-bottom: 1px solid rgba(0,0,0,0.1); }
.compo-list li strong { display: block; font-family: 'Cormorant Garamond', serif; font-size: 1.05rem; }
.compo-list li span { color: #555555; font-size: 0.9rem; }
.product-photo-box { border: 1px solid rgba(0,0,0,0.12); padding: 1.25rem; border-radius: 3px; background: #ffffff; }
.product-photo-box img { width: 100%; border-radius: 2px; }
.product-photo-box figcaption { font-size: 0.82rem; color: #666666; margin-top: 0.6rem; }
.compo-format { margin-top: 1.25rem; display: flex; gap: 1.5rem; flex-wrap: wrap; }
.compo-format div { font-size: 0.85rem; color: #555555; }
.compo-format strong { display: block; font-family: 'Cormorant Garamond', serif; font-size: 1.1rem; color: #111111; }


.assurance-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: max(1rem, 2vw); margin-top: 1.5rem; }


.ritual-steps { display: flex; gap: max(1rem, 2vw); margin-top: 1.5rem; counter-reset: rit; flex-wrap: wrap; }
.ritual-steps li { flex: 1 1 220px; counter-increment: rit; padding: 1.5rem; background: #ffffff; border-radius: 3px; box-shadow: 0 4px 14px rgba(0,0,0,.06); }
.ritual-steps li::before { content: counter(rit); display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 50%; background: #111111; color: #ffffff; font-weight: 700; margin-bottom: 0.75rem; }


.customer-service .container { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: max(1.5rem, 3vw); align-items: start; }
.order-steps { padding: 0; margin: 1.25rem 0 0; }
.order-steps li { padding: 0.6rem 0 0.6rem 1.75rem; position: relative; color: #e6e6e6; font-size: 0.92rem; }
.order-steps li::before { content: '›'; position: absolute; left: 0; color: #ffffff; font-weight: 700; }
.order-form-panel { background: #ffffff; color: #111111; border-radius: 3px; padding: 1.75rem; position: sticky; top: 5.5rem; }
.order-form-panel h3 { margin-bottom: 0.35rem; }
.order-form-panel .fs-sm { display: block; margin-bottom: 1rem; }
.order-form .form-row { margin-bottom: 1rem; }
.order-form label { display: block; font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.06em; color: #555555; margin-bottom: 0.35rem; }
.order-form input[type="text"], .order-form input[type="tel"] { width: 100%; padding: 0.85rem 0.9rem; border: 1px solid #cccccc; border-radius: 2px; font-size: 1rem; font-family: inherit; }
.order-form input:focus { outline: 2px solid #111111; outline-offset: 1px; }
.order-form .form-check { display: flex; align-items: flex-start; gap: 0.5rem; font-size: 0.8rem; color: #555555; }
.order-form .form-check input { margin-top: 0.2rem; }
.order-form__submit { width: 100%; background: #111111; color: #ffffff; border: none; padding: 1rem; font-size: 1.05rem; font-weight: 700; border-radius: 2px; cursor: pointer; font-family: 'Montserrat', sans-serif; }
.order-form__submit:hover { background: #000000; }
.order-form__note { font-size: 0.75rem; color: #777777; margin-top: 0.75rem; }
.order-success { background: #eef7ee; border: 1px solid #a9d6a9; padding: 1.25rem; border-radius: 3px; }
.order-error { color: #9c2b2b; font-size: 0.8rem; margin-top: 0.35rem; }


.faq-pills { display: flex; gap: 0.6rem; flex-wrap: wrap; justify-content: center; margin-bottom: 1.75rem; padding: 0; }
.faq-pills button { border: 1px solid #cccccc; border-radius: 999px; padding: 0.5rem 1.15rem; background: #ffffff; cursor: pointer; font-family: inherit; font-size: 0.85rem; }
.faq-pills button.is-active { background: #111111; color: #ffffff; border-color: #111111; }
.faq-group { display: none; max-width: 760px; margin: 0 auto; }
.faq-group.is-active { display: block; }
.faq-item { border-bottom: 1px solid rgba(0,0,0,0.12); }
.faq-item__q { width: 100%; text-align: left; background: none; border: none; padding: 1.1rem 1.75rem 1.1rem 0; font-size: 1rem; font-family: 'Cormorant Garamond', serif; font-weight: 600; cursor: pointer; position: relative; color: #111111; }
.faq-item__q::after { content: '+'; position: absolute; right: 0; top: 1.05rem; font-size: 1.2rem; }
.faq-item.is-open .faq-item__q::after { content: '\2212'; }
.faq-item__a { display: none; padding: 0 1.75rem 1.1rem 0; color: #444444; font-size: 0.92rem; }
.faq-item.is-open .faq-item__a { display: block; }


.shop-footer { text-align: center; padding: 3rem 1rem 2rem; }
.shop-footer .social { display: flex; gap: 1rem; justify-content: center; margin: 1.25rem 0; padding: 0; }
.shop-footer .social a { width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: #1f1f1f; color: #ffffff; }
.shop-footer .social a:hover { background: #2c2c2c; }
.footer-links { display: flex; gap: 1rem; flex-wrap: wrap; justify-content: center; padding: 0; font-size: 0.82rem; margin: 1rem 0; }
.footer-links a { color: #cfcfcf; text-decoration: none; }
.footer-links a:hover { text-decoration: underline; }
.footer-disclaimer { max-width: 640px; margin: 1rem auto; font-size: 0.78rem; color: #999999; line-height: 1.6; }
.footer-copy { font-size: 0.78rem; color: #777777; }


@media (max-width: 768px) {
  .is-collapsible .is-collapsible__head { cursor: pointer; position: relative; padding-right: 2rem; }
  .is-collapsible .is-collapsible__head::after { content: '+'; position: absolute; right: 0; top: 0; font-size: 1.4rem; }
  .is-collapsible.is-open .is-collapsible__head::after { content: '\2212'; }
  .is-collapsible__body { max-height: 0; overflow: hidden; }
  .is-collapsible.is-open .is-collapsible__body { max-height: 2000px; }
  .compo-layout, .customer-service .container { grid-template-columns: 1fr; }
  .context-list { grid-template-columns: 1fr; }
  .order-form-panel { position: static; }
}


@media (max-width: 1024px) {
  .container { width: min(94%, 1200px); }
  .hero-panel::before { inset: 0 12% 0 -6%; }
  
}
@media (max-width: 768px) {
  .shop-header__nav ul { flex-direction: column; align-items: flex-start; gap: 0; }
  .hero-panel::before { inset: 0 4% 0 -4%; clip-path: none; background: rgba(17,17,17,0.82); }
  .hero-panel__inner { max-width: 100%; }
  h1 { font-size: 2.4rem; }
  .ritual-steps { flex-direction: column; }
}
