:root {
  --ink: #222825;
  --ink-soft: #363d39;
  --night: #202522;
  --night-2: #303632;
  --ivory: #f7f3eb;
  --paper: #e8decc;
  --white: #fffefa;
  --gold: #a98a58;
  --gold-light: #d7c39f;
  --wine: #2a302d;
  --sea: #6aafa4;
  --line: rgba(32, 37, 34, .16);
  --shadow: 0 24px 58px rgba(32, 37, 34, .14);
}

body {
  color: var(--ink);
  background: var(--ivory) url('../images/ppt-image-01.webp') center top / 1600px auto repeat-y;
  background-attachment: fixed;
}

.site-header {
  color: var(--ink);
  border-color: rgba(32,37,34,.12);
  background: rgba(247,243,235,.92);
  box-shadow: 0 8px 30px rgba(32,37,34,.045);
}
.site-header.is-scrolled { background: rgba(247,243,235,.97); }
.brand small { color: rgba(32,37,34,.6); }
.main-nav a { color: rgba(32,37,34,.66); }
.main-nav a:hover, .main-nav a.active { color: var(--ink); }
.main-nav a::after { background: var(--sea); }
.main-nav .nav-inquiry { color: var(--ink); border-color: rgba(32,37,34,.5); }
.main-nav .nav-inquiry:hover { color: var(--ivory); background: var(--ink); }
.lang-switch a { color: var(--ink); }
.lang-switch a.active { color: var(--sea); }
.menu-toggle { color: var(--ink); }

.eyebrow, .contact-form label span, .sku-product-hero .eyebrow { color: var(--sea); }
.button.primary:hover { border-color: var(--sea); color: var(--ink); background: var(--sea); }

.page-hero, .slide-concept, .sku-product-hero, .sku-slide, .contact-form-section {
  background: rgba(247,243,235,.74) url('../images/ppt-image-01.webp') center / cover;
}
.page-hero > img {
  margin: clamp(32px,4vw,70px) clamp(32px,5vw,84px) clamp(32px,4vw,70px) 0;
  width: calc(100% - clamp(32px,5vw,84px));
  min-height: 610px;
  border: 1px solid rgba(32,37,34,.14);
  box-shadow: var(--shadow);
  filter: saturate(.68) contrast(1.02);
}
.slide-concept-images { gap: clamp(10px,1.2vw,20px); }
.slide-concept-images img {
  border: 1px solid rgba(32,37,34,.12);
  box-shadow: 0 18px 42px rgba(32,37,34,.12);
}

.brand-dna-panel, .author-message, .sku-pyramid {
  position: relative;
  overflow: hidden;
  color: var(--ivory);
  background: var(--night);
}
.brand-dna-panel::before, .author-message::before, .sku-pyramid::before, .contact-details::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .1;
  background: url('../images/ppt-image-01.webp') center / cover;
  mix-blend-mode: screen;
}
.brand-dna-panel > *, .sku-pyramid > * { position: relative; z-index: 1; }
.brand-dna-image { background: radial-gradient(circle, rgba(106,175,164,.15), transparent 58%); }

.contact-details {
  position: relative;
  overflow: hidden;
  background: radial-gradient(circle at 50% 20%, rgba(106,175,164,.2), transparent 37%), var(--night);
}
.contact-details > * { position: relative; z-index: 1; }
.contact-form-section > div:last-child {
  border: 1px solid rgba(32,37,34,.14);
  background: rgba(255,254,250,.5);
  box-shadow: 0 20px 52px rgba(32,37,34,.1);
}

.sku-product-hero { color: var(--ink); }
.sku-product-hero h1 { color: var(--ink); }
.fragrance-subtitle { color: var(--ink-soft) !important; }
.sku-product-hero > div > p:last-child { color: rgba(32,37,34,.72); }
.sku-product-hero figure {
  margin: clamp(34px,4vw,70px) clamp(32px,6vw,105px) clamp(34px,4vw,70px) 0;
  min-height: 610px;
  border: 1px solid rgba(32,37,34,.14);
  background: linear-gradient(145deg, rgba(106,175,164,.14), rgba(215,195,159,.24));
  box-shadow: var(--shadow);
}
.sku-product-hero figure::before { border-color: rgba(106,175,164,.3); }
.sku-product-hero figure img { filter: drop-shadow(0 34px 30px rgba(32,37,34,.22)); }
.sku-story-image { padding: 0 0 28px 28px; background: transparent; box-shadow: none; }
.sku-story-image::before { display: block; background: rgba(106,175,164,.15); }
.sku-story-image img { border: 1px solid rgba(32,37,34,.12); box-shadow: var(--shadow); }
.sku-pyramid-product::before { background: radial-gradient(circle, rgba(215,195,159,.2), transparent 64%); }
.sku-related { background: rgba(232,222,204,.75) url('../images/ppt-image-01.webp') center / cover; }
.sku-related-card {
  grid-template-columns: 120px 1fr;
  padding: 0;
  border: 1px solid rgba(32,37,34,.12);
  background: rgba(255,254,250,.52);
  box-shadow: none;
}
.sku-related-card:hover { transform: translateY(-5px); border-color: rgba(106,175,164,.4); box-shadow: 0 23px 48px rgba(32,37,34,.13); }
.sku-related-card img { height: 150px; }

/* Collapsible footer: quiet when closed, useful when opened. */
.site-footer {
  display: block;
  padding: 0 clamp(24px,4vw,68px);
  color: var(--ivory);
  background: var(--night);
}
.footer-accordion { width: 100%; }
.footer-accordion summary {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 25px;
  min-height: 92px;
  list-style: none;
  cursor: pointer;
}
.footer-accordion summary::-webkit-details-marker { display: none; }
.footer-accordion summary > span:first-child {
  color: var(--ivory);
  font-family: var(--serif);
  font-size: clamp(20px,1.7vw,27px);
  font-weight: 400;
  letter-spacing: -.025em;
  text-transform: none;
}
.footer-summary-note { color: rgba(247,243,235,.48) !important; text-align: center; }
.footer-toggle {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border: 1px solid rgba(106,175,164,.45);
  border-radius: 50%;
  color: var(--sea) !important;
  font-size: 20px !important;
  line-height: 1 !important;
  transition: transform .25s ease, background .25s ease;
}
.footer-accordion[open] .footer-toggle { transform: rotate(45deg); background: rgba(106,175,164,.08); }
.footer-panel {
  display: grid;
  grid-template-columns: minmax(240px,.8fr) minmax(260px,1fr) auto;
  gap: clamp(34px,6vw,100px);
  align-items: end;
  padding: 28px 0 56px;
  border-top: 1px solid rgba(247,243,235,.14);
}
.footer-brand { display: grid; gap: 12px; }
.footer-brand strong { color: var(--ivory); font-size: 24px; }
.footer-brand p { max-width: 360px; margin: 0; color: rgba(247,243,235,.55); font: 14px/1.65 var(--sans); }
.footer-links { justify-content: center; }
.footer-contact { display: grid; gap: 10px; text-align: right; }
.footer-contact a { color: rgba(247,243,235,.72); font: 11px/1.4 var(--sans); text-decoration: none; }
.footer-links a:hover, .footer-contact a:hover { color: var(--sea); }

@media (max-width: 1180px) {
  .main-nav { background: rgba(247,243,235,.985); border-color: var(--line); }
}
@media (max-width: 900px) {
  .page-hero > img, .sku-product-hero figure {
    margin: 0 clamp(24px,7vw,70px) clamp(55px,8vw,90px);
    width: calc(100% - 2 * clamp(24px,7vw,70px));
  }
  .footer-panel { grid-template-columns: 1fr 1fr; }
  .footer-contact { grid-column: 1 / -1; text-align: left; }
}
@media (max-width: 640px) {
  body { background-attachment: scroll; background-size: 1100px auto; }
  .page-hero > img, .sku-product-hero figure {
    margin: 0 18px 54px;
    width: calc(100% - 36px);
    min-height: 420px;
  }
  .sku-story-image { padding: 0 0 18px 18px; }
  .site-footer { padding: 0 18px; }
  .footer-accordion summary { grid-template-columns: 1fr auto; gap: 14px; min-height: 82px; }
  .footer-summary-note { display: none; }
  .footer-panel { grid-template-columns: 1fr; gap: 28px; padding: 24px 0 42px; }
  .footer-links { justify-content: flex-start; }
  .footer-contact { grid-column: auto; }
}
.contact-brand-block{display:grid;gap:16px;margin-top:38px;padding:30px;border:1px solid rgba(45,108,111,.22);color:#173431;background:linear-gradient(145deg,rgba(101,216,208,.14),rgba(255,255,255,.48))}
.contact-brand-block p,.contact-brand-block strong{margin:0}
.contact-brand-block p{font:700 9px/1.5 var(--sans);letter-spacing:.14em;text-transform:uppercase}
.contact-brand-block strong{font:400 clamp(24px,2.3vw,38px)/.95 var(--serif);letter-spacing:-.02em}

/* Company address on the visible footer and contact card. */
.footer-accordion summary { padding:16px 0; }
.footer-identity { display:flex;flex-direction:column;align-items:flex-start;gap:5px; }
.footer-identity b { font-weight:400; }
.footer-identity small { color:rgba(247,243,235,.67);font:400 11px/1.45 var(--sans);letter-spacing:.015em;text-transform:none; }
.contact-brand-block .company-address { font:600 11px/1.55 var(--sans);letter-spacing:.035em;text-transform:none; }
@media(max-width:640px){.footer-identity small{font-size:10px;max-width:28ch}.footer-accordion summary{min-height:88px}}
