/** Shopify CDN: Minification failed

Line 656:0 Unexpected "0"
Line 656:65 Unterminated string token
Line 1246:0 Unexpected "0"
Line 1246:65 Unterminated string token
Line 1499:0 Unexpected "0"
Line 1499:65 Unterminated string token
Line 2300:0 Unexpected "0"
Line 2300:65 Unterminated string token
Line 2521:0 Unexpected "0"
Line 2521:65 Unterminated string token

**/
:root {
  --charcoal: #1c1c1e;
  --graphite: #2e2e30;
  --terra: #b8965a;
  --terra-light: #ccaa72;
  --cream: #f5f0ea;
  --warm-white: #faf8f5;
  --stone: #9e8e82;
  --sand: #e8ddd4;
  --gold: #b8965a;
  --sage: #7a9e8a;
  --mid: #6b6058;
}

* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  background: var(--warm-white);
  color: var(--charcoal);
  font-family: 'DM Sans', sans-serif;
  font-weight: 300;
  overflow-x: hidden;
}

/* ANNOUNCEMENT BAR */
.announcement-bar {
  background: var(--terra);
  color: white;
  text-align: center;
  padding: 10px 20px;
  font-size: 11px;
  letter-spacing: 0.25em;
  text-transform: uppercase;
}

/* HEADER */
.site-header {
  background: var(--warm-white);
  border-bottom: 1px solid var(--sand);
  position: sticky;
  top: 0;
  z-index: 100;
  padding: 0 48px;
}
.header-inner {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  height: 72px;
}
.header-nav { display: flex; gap: 36px; align-items: center; }
.header-nav a {
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--charcoal);
  font-weight: 400;
  transition: color 0.2s;
}
.header-nav a:hover { color: var(--terra); }
.site-logo {
  text-align: center;
  text-decoration: none;
}
.logo-main {
  font-family: 'Playfair Display', serif;
  font-size: 22px;
  font-weight: 500;
  letter-spacing: 0.08em;
  color: var(--charcoal);
  display: block;
  text-transform: uppercase;
}
.logo-sub {
  font-size: 8px;
  letter-spacing: 0.5em;
  text-transform: uppercase;
  color: var(--stone);
  display: block;
  margin-top: 2px;
}
.header-actions {
  display: flex;
  gap: 20px;
  align-items: center;
  justify-content: flex-end;
}
.header-actions a {
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--charcoal);
  text-decoration: none;
  font-family: 'DM Sans', sans-serif;
}
.header-cart {
  background: var(--charcoal);
  color: white !important;
  padding: 9px 22px;
}

/* HERO */
.hero-section {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 92vh;
  overflow: hidden;
  width: 100%;
}
.hero-left {
  background: var(--charcoal);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: 80px 64px 80px 80px;
  position: relative;
  overflow: hidden;
  max-width: 100%;
}
.hero-left::before {
  content: '';
  position: absolute;
  top: -200px; right: -200px;
  width: 500px; height: 500px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(200,96,58,0.15) 0%, transparent 65%);
}
.hero-eyebrow {
  font-size: 10px;
  letter-spacing: 0.45em;
  text-transform: uppercase;
  color: var(--terra);
  margin-bottom: 28px;
  display: flex;
  align-items: center;
  gap: 12px;
  animation: fadeUp 0.9s ease forwards;
  opacity: 0;
}
.hero-eyebrow::before { content: ''; width: 32px; height: 1px; background: var(--terra); }
.hero-title {
  font-family: 'Playfair Display', serif;
  font-size: clamp(48px, 6vw, 88px);
  font-weight: 400;
  line-height: 1.05;
  color: white;
  margin-bottom: 32px;
  animation: fadeUp 0.9s ease 0.15s forwards;
  opacity: 0;
}
.hero-title em { font-style: italic; color: var(--terra-light); display: block; }
.hero-title .outline { -webkit-text-stroke: 1px rgba(255,255,255,0.3); color: transparent; display: block; }
.hero-sub {
  font-size: 14px;
  line-height: 1.85;
  color: rgba(255,255,255,0.45);
  max-width: 360px;
  margin-bottom: 48px;
  animation: fadeUp 0.9s ease 0.3s forwards;
  opacity: 0;
}
.hero-buttons {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  animation: fadeUp 0.9s ease 0.45s forwards;
  opacity: 0;
}
.hero-right {
  position: relative;
  overflow: hidden;
  background: var(--cream);
}
.hero-right img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hero-right-placeholder {
  width: 100%;
  height: 100%;
  min-height: 500px;
  background: linear-gradient(145deg, var(--sand) 0%, var(--cream) 50%, #d4c5b8 100%);
  display: flex;
  align-items: center;
  justify-content: center;
}
.hero-floating-card {
  position: absolute;
  bottom: 48px;
  left: -28px;
  background: white;
  padding: 20px 24px;
  box-shadow: 0 20px 60px rgba(28,28,30,0.15);
  z-index: 10;
  min-width: 200px;
}
.floating-label {
  font-size: 9px;
  letter-spacing: 0.35em;
  text-transform: uppercase;
  color: var(--terra);
  display: block;
  margin-bottom: 6px;
}
.floating-text {
  font-family: 'Playfair Display', serif;
  font-size: 16px;
  font-style: italic;
  color: var(--charcoal);
}
.hero-tag {
  position: absolute;
  top: 40px;
  right: 40px;
  background: var(--terra);
  color: white;
  font-size: 10px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  padding: 8px 16px;
}

/* TRUST BAR */
.trust-bar {
  background: var(--charcoal);
  padding: 16px 48px;
}
.trust-inner {
  max-width: 1280px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  gap: 56px;
  flex-wrap: wrap;
}
.trust-item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.5);
}
.trust-item .trust-icon { color: var(--terra); font-size: 14px; }

/* COLLECTIONS */
.collections-section {
  padding: 88px 48px;
  max-width: 1280px;
  margin: 0 auto;
}
.section-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 44px;
}
.section-eyebrow {
  font-size: 10px;
  letter-spacing: 0.4em;
  text-transform: uppercase;
  color: var(--terra);
  display: block;
  margin-bottom: 10px;
}
.section-title {
  font-family: 'Playfair Display', serif;
  font-size: clamp(28px, 3.5vw, 44px);
  font-weight: 400;
  line-height: 1.15;
}
.section-title em { font-style: italic; color: var(--terra); }
.view-all {
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--terra);
  text-decoration: none;
  border-bottom: 1px solid var(--terra);
  padding-bottom: 2px;
  white-space: nowrap;
}
.collections-grid {
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr;
  grid-template-rows: 280px 280px;
  gap: 10px;
}
.col-card {
  position: relative;
  overflow: hidden;
  cursor: pointer;
  display: block;
  text-decoration: none;
}
.col-card:first-child { grid-row: 1 / 3; }
.col-bg {
  width: 100%;
  height: 100%;
  transition: transform 0.6s ease;
  object-fit: cover;
}
.col-bg-placeholder {
  width: 100%;
  height: 100%;
  transition: transform 0.6s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 48px;
}
.col-card:hover .col-bg,
.col-card:hover .col-bg-placeholder { transform: scale(1.05); }
.col-overlay {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  background: linear-gradient(to top, rgba(28,28,30,0.85) 0%, transparent 100%);
  padding: 32px 28px 28px;
}
.col-name {
  font-family: 'Playfair Display', serif;
  font-size: 20px;
  font-style: italic;
  color: white;
  display: block;
  margin-bottom: 6px;
}
.col-desc {
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.6);
}
.col-tag {
  position: absolute;
  top: 20px; left: 20px;
  background: var(--terra);
  color: white;
  font-size: 9px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  padding: 5px 12px;
}

/* PRODUCTS */
.products-section {
  background: var(--cream);
  padding: 88px 48px;
}
.products-inner { max-width: 1280px; margin: 0 auto; }
.products-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin-top: 44px;
}
.product-card {
  background: white;
  cursor: pointer;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  text-decoration: none;
  color: inherit;
  display: block;
}
.product-card:hover { transform: translateY(-6px); box-shadow: 0 20px 48px rgba(28,28,30,0.1); }
.product-image {
  aspect-ratio: 3/4;
  position: relative;
  overflow: hidden;
}
.product-image img { width: 100%; height: 100%; object-fit: cover; }
.product-image-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 36px;
  background: var(--sand);
}
.p-badge {
  position: absolute;
  top: 14px; left: 14px;
  background: var(--charcoal);
  color: white;
  font-size: 9px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  padding: 5px 10px;
}
.p-badge.hot { background: var(--terra); }
.product-info { padding: 18px 16px 16px; }
.p-category {
  font-size: 9px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--terra);
  display: block;
  margin-bottom: 6px;
}
.p-name {
  font-family: 'Playfair Display', serif;
  font-size: 16px;
  font-style: italic;
  color: var(--charcoal);
  margin-bottom: 10px;
  display: block;
}
.p-meta { display: flex; justify-content: space-between; align-items: center; }
.p-price { font-size: 15px; font-weight: 500; color: var(--charcoal); }
.p-add {
  width: 100%;
  background: var(--charcoal);
  color: white;
  border: none;
  padding: 12px;
  font-family: 'DM Sans', sans-serif;
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  cursor: pointer;
  opacity: 0;
  transform: translateY(4px);
  transition: opacity 0.2s, transform 0.2s, background 0.2s;
  margin-top: 14px;
  font-weight: 500;
  width: 100%;
}
.product-card:hover .p-add { opacity: 1; transform: translateY(0); }
.p-add:hover { background: var(--terra); }

/* BRAND STATEMENT */
.brand-statement {
  background: var(--terra);
  padding: 72px 48px;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.brand-statement::before {
  content: '"';
  font-family: 'Playfair Display', serif;
  font-size: 300px;
  color: rgba(255,255,255,0.06);
  position: absolute;
  top: -60px; left: 50%;
  transform: translateX(-50%);
  line-height: 1;
  pointer-events: none;
}
.brand-statement-inner { max-width: 720px; margin: 0 auto; position: relative; }
.bs-title {
  font-family: 'Playfair Display', serif;
  font-size: clamp(28px, 4vw, 52px);
  font-weight: 400;
  font-style: italic;
  color: white;
  line-height: 1.3;
  margin-bottom: 20px;
}
.bs-sub {
  font-size: 13px;
  color: rgba(255,255,255,0.7);
  line-height: 1.8;
  margin-bottom: 32px;
}

/* BUTTONS */
.btn-primary {
  background: var(--terra);
  color: white;
  border: none;
  padding: 15px 36px;
  font-family: 'DM Sans', sans-serif;
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 0.25s;
  text-decoration: none;
  display: inline-block;
  font-weight: 500;
}
.btn-primary:hover { background: var(--terra-light); }
.btn-ghost {
  background: transparent;
  color: rgba(255,255,255,0.55);
  border: 1px solid rgba(255,255,255,0.18);
  padding: 15px 36px;
  font-family: 'DM Sans', sans-serif;
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.25s;
  text-decoration: none;
  display: inline-block;
}
.btn-ghost:hover { border-color: var(--terra); color: var(--terra); }
.btn-white {
  background: white;
  color: var(--terra);
  border: none;
  padding: 15px 36px;
  font-family: 'DM Sans', sans-serif;
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.2s;
  text-decoration: none;
  display: inline-block;
  font-weight: 500;
}
.btn-white:hover { background: var(--charcoal); color: white; }

/* TESTIMONIALS */
.testimonials { padding: 88px 48px; background: var(--sand); }
.testimonials-inner { max-width: 1280px; margin: 0 auto; }
.testimonials-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; margin-top: 44px; }
.testimonial-card { background: white; padding: 32px 28px; }
.stars { color: var(--terra); font-size: 13px; letter-spacing: 2px; margin-bottom: 18px; display: block; }
.t-text { font-family: 'Playfair Display', serif; font-size: 17px; font-style: italic; line-height: 1.75; color: var(--charcoal); margin-bottom: 20px; }
.t-author { font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--terra); display: block; }
.t-location { font-size: 11px; color: var(--stone); }

/* PHOTO REVIEWS */
.photo-reviews { background: var(--warm-white); padding: 88px 48px; }
.photo-reviews-inner { max-width: 1280px; margin: 0 auto; }
.reviews-header { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 48px; }
.reviews-rating-block { text-align: right; }
.reviews-big-number { font-family: 'Playfair Display', serif; font-size: 48px; font-style: italic; color: var(--charcoal); line-height: 1; display: block; }
.reviews-stars { color: var(--gold); font-size: 16px; letter-spacing: 2px; margin: 4px 0; display: block; }
.reviews-count { font-size: 11px; letter-spacing: 0.15em; text-transform: uppercase; color: var(--stone); }
.photo-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; margin-bottom: 48px; }
.review-photo { position: relative; overflow: hidden; cursor: pointer; }
.review-photo.featured { grid-row: span 2; aspect-ratio: 2/3; }
.review-photo:not(.featured) { aspect-ratio: 1/1; }
.review-photo-bg { width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s ease; }
.review-photo:hover .review-photo-bg { transform: scale(1.04); }
.review-photo-overlay {
  position: absolute; bottom: 0; left: 0; right: 0;
  background: linear-gradient(to top, rgba(28,28,30,0.9) 0%, transparent 100%);
  padding: 24px 20px 20px;
}
.review-photo-stars { color: var(--gold); font-size: 10px; letter-spacing: 2px; margin-bottom: 8px; display: block; }
.review-photo-text { font-family: 'Playfair Display', serif; font-size: 13px; font-style: italic; color: white; line-height: 1.6; margin-bottom: 8px; }
.review-photo-author { font-size: 10px; letter-spacing: 0.15em; text-transform: uppercase; color: var(--terra-light); display: block; }
.verified-badge {
  position: absolute; top: 14px; left: 14px;
  background: var(--terra); color: white;
  font-size: 9px; letter-spacing: 0.2em;
  text-transform: uppercase; padding: 5px 10px;
}
.reviews-footer { display: flex; justify-content: space-between; align-items: center; padding-top: 32px; border-top: 1px solid var(--sand); flex-wrap: wrap; gap: 16px; }
.reviews-stats { display: flex; gap: 32px; flex-wrap: wrap; }
.reviews-stat { text-align: center; }
.stat-number { font-family: 'Playfair Display', serif; font-size: 28px; font-style: italic; color: var(--terra); display: block; line-height: 1; }
.stat-label { font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--stone); }

/* EMAIL */
.email-section { padding: 100px 48px; text-align: center; background: var(--warm-white); }
.email-inner { max-width: 520px; margin: 0 auto; }
.email-title { font-family: 'Playfair Display', serif; font-size: clamp(32px,5vw,52px); font-weight: 400; line-height: 1.15; margin-bottom: 16px; }
.email-title em { font-style: italic; color: var(--terra); }
.email-sub { font-size: 14px; color: var(--mid); margin-bottom: 36px; line-height: 1.8; }
.email-form { display: flex; max-width: 440px; margin: 0 auto; }
.email-input { flex: 1; padding: 15px 20px; border: 1px solid var(--sand); border-right: none; font-family: 'DM Sans', sans-serif; font-size: 13px; background: white; color: var(--charcoal); outline: none; }
.email-input:focus { border-color: var(--terra); }
.email-input::placeholder { color: var(--stone); }
.email-submit { background: var(--terra); color: white; border: none; padding: 15px 28px; font-family: 'DM Sans', sans-serif; font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase; cursor: pointer; transition: background 0.2s; white-space: nowrap; font-weight: 500; }
.email-submit:hover { background: var(--charcoal); }
.email-note { font-size: 11px; color: var(--stone); margin-top: 14px; }

/* INSTAGRAM */
.instagram-section { padding: 64px 48px 88px; background: var(--cream); }
.instagram-inner { max-width: 1280px; margin: 0 auto; text-align: center; }
.insta-handle { font-family: 'Playfair Display', serif; font-size: 18px; font-style: italic; color: var(--terra); margin: 12px 0 36px; display: block; text-decoration: none; }
.instagram-grid { display: grid; grid-template-columns: repeat(6,1fr); gap: 8px; }
.insta-tile { aspect-ratio: 1; overflow: hidden; cursor: pointer; position: relative; }
.insta-tile img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s ease; }
.insta-tile:hover img { transform: scale(1.07); }
.insta-overlay { position: absolute; inset: 0; background: rgba(28,28,30,0.4); display: flex; align-items: center; justify-content: center; opacity: 0; transition: opacity 0.3s; }
.insta-tile:hover .insta-overlay { opacity: 1; }
.insta-overlay span { color: white; font-size: 18px; }

/* FOOTER */
.site-footer { background: var(--charcoal); color: rgba(255,255,255,0.5); padding: 64px 48px 32px; }
.footer-inner { max-width: 1280px; margin: 0 auto; }
.footer-top { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 48px; margin-bottom: 48px; padding-bottom: 48px; border-bottom: 1px solid rgba(255,255,255,0.07); }
.footer-logo { display: block; margin-bottom: 16px; text-decoration: none; }
.footer-logo .logo-main { color: white; font-size: 20px; text-align: left; }
.footer-logo .logo-sub { color: rgba(255,255,255,0.3); }
.footer-tagline { font-size: 13px; line-height: 1.8; margin-bottom: 24px; max-width: 260px; }
.footer-social { display: flex; gap: 12px; }
.social-link { width: 36px; height: 36px; border: 1px solid rgba(255,255,255,0.12); display: flex; align-items: center; justify-content: center; text-decoration: none; color: rgba(255,255,255,0.5); font-size: 11px; transition: all 0.2s; font-weight: 500; }
.social-link:hover { border-color: var(--terra); color: var(--terra); }
.footer-col h4 { font-size: 10px; letter-spacing: 0.35em; text-transform: uppercase; color: white; margin-bottom: 20px; }
.footer-col ul { list-style: none; }
.footer-col li { margin-bottom: 10px; }
.footer-col a { font-size: 13px; color: rgba(255,255,255,0.45); text-decoration: none; transition: color 0.2s; }
.footer-col a:hover { color: var(--terra); }
.footer-bottom { display: flex; justify-content: space-between; align-items: center; font-size: 11px; flex-wrap: wrap; gap: 12px; }
.payment-badges { display: flex; gap: 8px; }
.pay-badge { background: rgba(255,255,255,0.07); padding: 4px 10px; font-size: 10px; letter-spacing: 0.1em; color: rgba(255,255,255,0.4); }

/* ANIMATIONS */
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}

/* MOBILE */
@media(max-width: 900px) {
  .site-header { padding: 0 20px; }
  .header-nav { display: none; }
  .header-inner { grid-template-columns: 1fr auto; }
  .hero-section { grid-template-columns: 1fr; min-height: auto; }
  .hero-left { padding: 56px 24px; }
  .hero-right { min-height: 380px; }
  .collections-section, .products-section, .testimonials, .photo-reviews, .email-section, .instagram-section { padding: 56px 20px; }
  .collections-grid { grid-template-columns: 1fr 1fr; grid-template-rows: auto; }
  .col-card:first-child { grid-row: auto; }
  .products-grid { grid-template-columns: repeat(2, 1fr); }
  .testimonials-grid { grid-template-columns: 1fr; }
  .photo-grid { grid-template-columns: 1fr 1fr; }
  .review-photo.featured { grid-row: auto; aspect-ratio: 1/1; }
  .instagram-grid { grid-template-columns: repeat(3,1fr); }
  .footer-top { grid-template-columns: 1fr 1fr; gap: 32px; }
  .site-footer { padding: 48px 20px 24px; }
  .email-form { flex-direction: column; }
  .email-input { border-right: 1px solid var(--sand); border-bottom: none; }
  .trust-inner { gap: 20px; }
}

0,500;1,400;1,500&family=DM+Sans:wght@300;400;500&display=swap');

.lp-wrap * { box-sizing: border-box; margin: 0; padding: 0; }

.lp-wrap {
  font-family: 'DM Sans', sans-serif;
  font-weight: 300;
  color: #1c1c1e;
  background: #faf8f5;
}

/* STICKY BAR */
.lp-sticky {
  position: fixed;
  bottom: 0; left: 0; right: 0;
  background: #1c1c1e;
  padding: 14px 32px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  z-index: 999;
  box-shadow: 0 -8px 40px rgba(0,0,0,0.3);
}
.lp-sticky-left { display: flex; align-items: center; gap: 16px; }
.lp-sticky-name { font-family: 'Playfair Display', serif; font-size: 16px; font-style: italic; color: white; display: block; }
.lp-sticky-price { font-size: 13px; color: #b8965a; }
.lp-sticky-btn {
  background: #b8965a;
  color: white;
  border: none;
  padding: 14px 36px;
  font-family: 'DM Sans', sans-serif;
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  cursor: pointer;
  font-weight: 500;
  transition: background 0.2s;
  white-space: nowrap;
}
.lp-sticky-btn:hover { background: #ccaa72; }

/* HERO */
.lp-hero {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 90vh;
  background: #1c1c1e;
}
.lp-hero-img {
  background: linear-gradient(145deg, #2e2e30, #b8965a30);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 80px;
  position: relative;
  overflow: hidden;
  min-height: 500px;
}
.lp-hero-img::before {
  content: '';
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 40% 40%, rgba(184,150,90,0.2) 0%, transparent 60%);
}
.lp-img-note {
  position: absolute;
  bottom: 20px; left: 20px; right: 20px;
  background: rgba(0,0,0,0.6);
  color: rgba(255,255,255,0.5);
  font-size: 11px;
  padding: 10px 14px;
  text-align: center;
  letter-spacing: 0.1em;
}
.lp-hero-content {
  padding: 60px 52px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.lp-hero-eyebrow {
  font-size: 10px;
  letter-spacing: 0.4em;
  text-transform: uppercase;
  color: #b8965a;
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.lp-hero-eyebrow::before { content: ''; width: 28px; height: 1px; background: #b8965a; }
.lp-hero-content h1 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(32px, 4vw, 52px);
  font-weight: 400;
  line-height: 1.1;
  color: white;
  margin-bottom: 16px;
}
.lp-hero-content h1 em { font-style: italic; color: #ccaa72; display: block; }
.lp-hero-sub {
  font-size: 15px;
  line-height: 1.8;
  color: rgba(255,255,255,0.45);
  margin-bottom: 32px;
  max-width: 400px;
}
.lp-price-row {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 20px 0;
  border-top: 1px solid rgba(255,255,255,0.08);
  border-bottom: 1px solid rgba(255,255,255,0.08);
  margin-bottom: 24px;
}
.lp-price {
  font-family: 'Playfair Display', serif;
  font-size: 42px;
  font-weight: 500;
  color: white;
}
.lp-was {
  font-size: 18px;
  color: rgba(255,255,255,0.3);
  text-decoration: line-through;
}
.lp-save {
  background: #b8965a;
  color: white;
  font-size: 10px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  padding: 6px 14px;
  font-weight: 500;
}
.lp-sizes {
  display: flex;
  gap: 8px;
  margin-bottom: 20px;
  flex-wrap: wrap;
}
.lp-size-btn {
  padding: 10px 20px;
  border: 1px solid rgba(255,255,255,0.15);
  background: transparent;
  color: rgba(255,255,255,0.6);
  font-family: 'DM Sans', sans-serif;
  font-size: 12px;
  cursor: pointer;
  transition: all 0.2s;
  letter-spacing: 0.1em;
}
.lp-size-btn:hover, .lp-size-btn.active {
  border-color: #b8965a;
  color: #b8965a;
}
.lp-colors {
  display: flex;
  gap: 10px;
  margin-bottom: 24px;
  align-items: center;
}
.lp-color-label {
  font-size: 11px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.4);
}
.lp-color-dot {
  width: 28px; height: 28px;
  border-radius: 50%;
  cursor: pointer;
  border: 2px solid transparent;
  transition: border-color 0.2s;
}
.lp-color-dot:hover, .lp-color-dot.active { border-color: #b8965a; }
.lp-buy-btn {
  width: 100%;
  background: #b8965a;
  color: white;
  border: none;
  padding: 18px;
  font-family: 'DM Sans', sans-serif;
  font-size: 12px;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  cursor: pointer;
  font-weight: 500;
  transition: background 0.2s;
  margin-bottom: 12px;
}
.lp-buy-btn:hover { background: #ccaa72; }
.lp-wish-btn {
  width: 100%;
  background: transparent;
  color: rgba(255,255,255,0.45);
  border: 1px solid rgba(255,255,255,0.12);
  padding: 14px;
  font-family: 'DM Sans', sans-serif;
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.2s;
  margin-bottom: 24px;
}
.lp-wish-btn:hover { border-color: #b8965a; color: #b8965a; }
.lp-trust-mini {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}
.lp-trust-mini-item {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  color: rgba(255,255,255,0.3);
  letter-spacing: 0.05em;
}
.lp-trust-mini-item b { color: #b8965a; }

/* BENEFITS STRIP */
.lp-benefits {
  background: #b8965a;
  padding: 20px 48px;
}
.lp-benefits-inner {
  max-width: 1100px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  gap: 48px;
  flex-wrap: wrap;
}
.lp-benefit-item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: white;
  font-weight: 500;
}

/* PROBLEM */
.lp-problem {
  background: #1c1c1e;
  padding: 80px 48px;
  text-align: center;
}
.lp-problem-inner { max-width: 1100px; margin: 0 auto; }
.lp-eyebrow {
  font-size: 10px;
  letter-spacing: 0.4em;
  text-transform: uppercase;
  color: #b8965a;
  display: block;
  margin-bottom: 16px;
}
.lp-problem-inner h2 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(28px, 3.5vw, 44px);
  font-weight: 400;
  color: white;
  margin-bottom: 16px;
}
.lp-problem-inner h2 em { font-style: italic; color: #ccaa72; }
.lp-problem-inner > p {
  font-size: 15px;
  color: rgba(255,255,255,0.4);
  max-width: 600px;
  margin: 0 auto 52px;
  line-height: 1.85;
}
.lp-problem-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  text-align: left;
}
.lp-problem-card {
  border: 1px solid rgba(255,255,255,0.07);
  background: rgba(255,255,255,0.02);
  padding: 28px 24px;
}
.lp-problem-icon { font-size: 28px; margin-bottom: 14px; display: block; }
.lp-problem-title { font-size: 13px; font-weight: 500; color: white; display: block; margin-bottom: 10px; letter-spacing: 0.05em; }
.lp-problem-desc { font-size: 13px; color: rgba(255,255,255,0.35); line-height: 1.7; }

/* HOW IT WORKS */
.lp-how {
  padding: 80px 48px;
  background: #f5f0ea;
}
.lp-how-inner { max-width: 1100px; margin: 0 auto; }
.lp-how-inner h2 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(28px, 3.5vw, 44px);
  font-weight: 400;
  text-align: center;
  margin-bottom: 52px;
}
.lp-how-inner h2 em { font-style: italic; color: #b8965a; }
.lp-steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
.lp-step { text-align: center; padding: 0 12px; }
.lp-step-num {
  width: 60px; height: 60px;
  border-radius: 50%;
  background: #b8965a;
  color: white;
  font-family: 'Playfair Display', serif;
  font-size: 22px;
  font-style: italic;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 18px;
}
.lp-step-title { font-size: 14px; font-weight: 500; margin-bottom: 8px; color: #1c1c1e; }
.lp-step-desc { font-size: 13px; color: #6b6058; line-height: 1.7; }

/* RESULTS */
.lp-results {
  padding: 80px 48px;
  background: #faf8f5;
}
.lp-results-inner {
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 72px;
  align-items: center;
}
.lp-results-img {
  aspect-ratio: 4/5;
  background: linear-gradient(145deg, #e8ddd4, #b8965a50);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 72px;
  opacity: 0.4;
}
.lp-results-content h2 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(28px, 3.5vw, 44px);
  font-weight: 400;
  line-height: 1.2;
  margin-bottom: 20px;
}
.lp-results-content h2 em { font-style: italic; color: #b8965a; }
.lp-results-content p { font-size: 14px; color: #6b6058; line-height: 1.85; margin-bottom: 16px; }
.lp-benefits-list { list-style: none; margin-top: 24px; }
.lp-benefits-list li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 14px;
  color: #6b6058;
  padding: 10px 0;
  border-bottom: 1px solid #e8ddd4;
  line-height: 1.6;
}
.lp-benefits-list li::before { content: '✦'; color: #b8965a; font-size: 10px; margin-top: 4px; flex-shrink: 0; }
.lp-benefits-list li:last-child { border-bottom: none; }

/* REVIEWS */
.lp-reviews {
  background: #1c1c1e;
  padding: 80px 48px;
}
.lp-reviews-inner { max-width: 1100px; margin: 0 auto; }
.lp-reviews-inner h2 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(28px, 3.5vw, 44px);
  font-weight: 400;
  color: white;
  text-align: center;
  margin-bottom: 48px;
}
.lp-reviews-inner h2 em { font-style: italic; color: #ccaa72; }
.lp-reviews-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.lp-review {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.07);
  padding: 28px 24px;
}
.lp-review-stars { color: #b8965a; font-size: 13px; letter-spacing: 2px; margin-bottom: 14px; display: block; }
.lp-review-text {
  font-family: 'Playfair Display', serif;
  font-size: 16px;
  font-style: italic;
  color: rgba(255,255,255,0.85);
  line-height: 1.7;
  margin-bottom: 18px;
}
.lp-review-author { font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; color: #b8965a; display: block; }
.lp-review-verified { font-size: 10px; color: #7a9e8a; margin-top: 4px; display: block; }

/* BEFORE AFTER */
.lp-ba {
  padding: 80px 48px;
  background: #e8ddd4;
  text-align: center;
}
.lp-ba-inner { max-width: 1100px; margin: 0 auto; }
.lp-ba-inner h2 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(28px, 3.5vw, 44px);
  font-weight: 400;
  margin-bottom: 48px;
}
.lp-ba-inner h2 em { font-style: italic; color: #b8965a; }
.lp-ba-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  text-align: center;
}
.lp-ba-card {
  background: white;
  padding: 36px 24px;
  border-top: 3px solid #b8965a;
}
.lp-ba-icon { font-size: 36px; display: block; margin-bottom: 16px; }
.lp-ba-title {
  font-family: 'Playfair Display', serif;
  font-size: 20px;
  font-style: italic;
  color: #1c1c1e;
  display: block;
  margin-bottom: 10px;
}
.lp-ba-desc { font-size: 13px; color: #6b6058; line-height: 1.7; }

/* GUARANTEE */
.lp-guarantee {
  padding: 72px 48px;
  background: #faf8f5;
  text-align: center;
}
.lp-guarantee-inner { max-width: 680px; margin: 0 auto; }
.lp-guarantee-badge {
  width: 96px; height: 96px;
  border-radius: 50%;
  background: #b8965a;
  color: white;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin: 0 auto 28px;
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-weight: 500;
  line-height: 1.4;
}
.lp-guarantee-badge span { font-size: 28px; display: block; margin-bottom: 2px; }
.lp-guarantee-inner h2 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(24px, 3vw, 36px);
  font-weight: 400;
  margin-bottom: 16px;
}
.lp-guarantee-inner h2 em { font-style: italic; color: #b8965a; }
.lp-guarantee-inner p { font-size: 15px; color: #6b6058; line-height: 1.85; margin-bottom: 36px; }
.lp-guarantee-btn {
  display: inline-block;
  background: #b8965a;
  color: white;
  border: none;
  padding: 16px 48px;
  font-family: 'DM Sans', sans-serif;
  font-size: 12px;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  cursor: pointer;
  font-weight: 500;
  transition: background 0.2s;
  text-decoration: none;
}
.lp-guarantee-btn:hover { background: #1c1c1e; }

/* FINAL CTA */
.lp-final {
  background: #b8965a;
  padding: 80px 48px;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.lp-final::before {
  content: '';
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 50% 50%, rgba(255,255,255,0.08) 0%, transparent 60%);
}
.lp-final-inner { max-width: 600px; margin: 0 auto; position: relative; }
.lp-final-inner h2 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(32px, 5vw, 56px);
  font-weight: 400;
  font-style: italic;
  color: white;
  line-height: 1.2;
  margin-bottom: 16px;
}
.lp-final-inner p { font-size: 15px; color: rgba(255,255,255,0.75); line-height: 1.8; margin-bottom: 32px; }
.lp-final-btn {
  display: inline-block;
  background: white;
  color: #b8965a;
  border: none;
  padding: 18px 48px;
  font-family: 'DM Sans', sans-serif;
  font-size: 12px;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  cursor: pointer;
  font-weight: 500;
  transition: all 0.2s;
  text-decoration: none;
}
.lp-final-btn:hover { background: #1c1c1e; color: white; }
.lp-urgency { font-size: 12px; color: rgba(255,255,255,0.6); margin-top: 16px; letter-spacing: 0.1em; }

/* FAQ */
.lp-faq {
  padding: 80px 48px;
  background: #faf8f5;
}
.lp-faq-inner { max-width: 720px; margin: 0 auto; }
.lp-faq-inner h2 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(26px, 3vw, 38px);
  font-weight: 400;
  text-align: center;
  margin-bottom: 48px;
}
.lp-faq-inner h2 em { font-style: italic; color: #b8965a; }
.lp-faq-item {
  border-bottom: 1px solid #e8ddd4;
  padding: 22px 0;
  cursor: pointer;
}
.lp-faq-q {
  font-size: 15px;
  font-weight: 500;
  color: #1c1c1e;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  user-select: none;
}
.lp-faq-q::after { content: '+'; color: #b8965a; font-size: 22px; flex-shrink: 0; transition: transform 0.2s; }
.lp-faq-item.open .lp-faq-q::after { content: '−'; }
.lp-faq-a { font-size: 14px; color: #6b6058; line-height: 1.8; margin-top: 14px; display: none; }
.lp-faq-item.open .lp-faq-a { display: block; }

/* MOBILE */
@media(max-width: 768px) {
  .lp-hero { grid-template-columns: 1fr; }
  .lp-hero-img { min-height: 300px; }
  .lp-hero-content { padding: 36px 20px; }
  .lp-benefits { padding: 16px 20px; }
  .lp-benefits-inner { gap: 16px; }
  .lp-problem, .lp-how, .lp-results, .lp-reviews, .lp-ba, .lp-guarantee, .lp-final, .lp-faq { padding: 56px 20px; }
  .lp-problem-grid { grid-template-columns: 1fr; }
  .lp-steps { grid-template-columns: 1fr 1fr; }
  .lp-results-inner { grid-template-columns: 1fr; gap: 40px; }
  .lp-results-img { display: none; }
  .lp-reviews-grid { grid-template-columns: 1fr; }
  .lp-ba-grid { grid-template-columns: 1fr; }
  .lp-sticky { padding: 12px 16px; }
  .lp-sticky-left { display: none; }
}


0,500;1,400;1,500&family=DM+Sans:wght@300;400;500&display=swap');

.sh-wrap * { box-sizing: border-box; margin: 0; padding: 0; }
.sh-wrap {
  font-family: 'DM Sans', sans-serif;
  font-weight: 300;
  color: #1c1c1e;
  background: #faf8f5;
}

/* STICKY BAR */
.sh-sticky {
  position: fixed;
  bottom: 0; left: 0; right: 0;
  background: #1c1c1e;
  padding: 14px 32px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  z-index: 999;
  box-shadow: 0 -8px 40px rgba(0,0,0,0.3);
}
.sh-sticky-left { display: flex; align-items: center; gap: 16px; }
.sh-sticky-name { font-family: 'Playfair Display', serif; font-size: 16px; font-style: italic; color: white; display: block; }
.sh-sticky-price { font-size: 13px; color: #b8965a; }
.sh-sticky-btn {
  background: #b8965a; color: white; border: none;
  padding: 14px 36px; font-family: 'DM Sans', sans-serif;
  font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase;
  cursor: pointer; font-weight: 500; transition: background 0.2s; white-space: nowrap;
}
.sh-sticky-btn:hover { background: #ccaa72; }

/* HERO */
.sh-hero {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 90vh;
  background: #1c1c1e;
}
.sh-hero-img {
  background: linear-gradient(145deg, #2e2e30, #b8965a30);
  display: flex; align-items: center; justify-content: center;
  font-size: 80px; position: relative; overflow: hidden; min-height: 500px;
}
.sh-hero-img::before {
  content: ''; position: absolute; inset: 0;
  background: radial-gradient(ellipse at 40% 60%, rgba(184,150,90,0.2) 0%, transparent 60%);
}
.sh-img-note {
  position: absolute; bottom: 20px; left: 20px; right: 20px;
  background: rgba(0,0,0,0.6); color: rgba(255,255,255,0.5);
  font-size: 11px; padding: 10px 14px; text-align: center; letter-spacing: 0.1em;
}
.sh-hero-content {
  padding: 60px 52px; display: flex; flex-direction: column; justify-content: center;
}
.sh-eyebrow {
  font-size: 10px; letter-spacing: 0.4em; text-transform: uppercase;
  color: #b8965a; margin-bottom: 20px; display: flex; align-items: center; gap: 10px;
}
.sh-eyebrow::before { content: ''; width: 28px; height: 1px; background: #b8965a; }
.sh-hero-content h1 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(30px, 4vw, 50px); font-weight: 400;
  line-height: 1.1; color: white; margin-bottom: 16px;
}
.sh-hero-content h1 em { font-style: italic; color: #ccaa72; display: block; }
.sh-hero-sub {
  font-size: 15px; line-height: 1.8; color: rgba(255,255,255,0.45);
  margin-bottom: 32px; max-width: 400px;
}
.sh-price-row {
  display: flex; align-items: center; gap: 16px;
  padding: 20px 0;
  border-top: 1px solid rgba(255,255,255,0.08);
  border-bottom: 1px solid rgba(255,255,255,0.08);
  margin-bottom: 24px;
}
.sh-price { font-family: 'Playfair Display', serif; font-size: 42px; font-weight: 500; color: white; }
.sh-was { font-size: 18px; color: rgba(255,255,255,0.3); text-decoration: line-through; }
.sh-save { background: #b8965a; color: white; font-size: 10px; letter-spacing: 0.15em; text-transform: uppercase; padding: 6px 14px; font-weight: 500; }

/* BUNDLE */
.sh-bundle {
  display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 20px;
}
.sh-bundle-opt {
  border: 1px solid rgba(255,255,255,0.12); background: transparent;
  padding: 14px 10px; cursor: pointer; transition: all 0.2s; text-align: center; position: relative;
}
.sh-bundle-opt:hover, .sh-bundle-opt.active { border-color: #b8965a; background: rgba(184,150,90,0.08); }
.sh-bundle-qty { font-size: 13px; font-weight: 500; color: white; display: block; margin-bottom: 4px; }
.sh-bundle-price { font-size: 12px; color: #b8965a; display: block; margin-bottom: 2px; }
.sh-bundle-save { font-size: 10px; color: rgba(255,255,255,0.35); letter-spacing: 0.1em; text-transform: uppercase; }
.sh-popular-tag {
  position: absolute; top: -8px; left: 50%; transform: translateX(-50%);
  background: #b8965a; color: white; font-size: 9px; padding: 2px 10px;
  letter-spacing: 0.15em; text-transform: uppercase; white-space: nowrap;
}

.sh-sizes { display: flex; gap: 8px; margin-bottom: 20px; flex-wrap: wrap; }
.sh-size-btn {
  padding: 10px 20px; border: 1px solid rgba(255,255,255,0.15);
  background: transparent; color: rgba(255,255,255,0.6);
  font-family: 'DM Sans', sans-serif; font-size: 12px; cursor: pointer;
  transition: all 0.2s; letter-spacing: 0.1em;
}
.sh-size-btn:hover, .sh-size-btn.active { border-color: #b8965a; color: #b8965a; }

.sh-colours { display: flex; gap: 10px; align-items: center; margin-bottom: 24px; }
.sh-colour-label { font-size: 11px; letter-spacing: 0.15em; text-transform: uppercase; color: rgba(255,255,255,0.4); }
.sh-colour-dot { width: 28px; height: 28px; border-radius: 50%; cursor: pointer; border: 2px solid transparent; transition: border-color 0.2s; }
.sh-colour-dot:hover, .sh-colour-dot.active { border-color: #b8965a; }

.sh-buy-btn {
  width: 100%; background: #b8965a; color: white; border: none; padding: 18px;
  font-family: 'DM Sans', sans-serif; font-size: 12px; letter-spacing: 0.25em;
  text-transform: uppercase; cursor: pointer; font-weight: 500; transition: background 0.2s; margin-bottom: 12px;
}
.sh-buy-btn:hover { background: #ccaa72; }
.sh-wish-btn {
  width: 100%; background: transparent; color: rgba(255,255,255,0.45);
  border: 1px solid rgba(255,255,255,0.12); padding: 14px;
  font-family: 'DM Sans', sans-serif; font-size: 11px; letter-spacing: 0.2em;
  text-transform: uppercase; cursor: pointer; transition: all 0.2s; margin-bottom: 24px;
}
.sh-wish-btn:hover { border-color: #b8965a; color: #b8965a; }
.sh-trust { display: flex; gap: 16px; flex-wrap: wrap; }
.sh-trust-item { display: flex; align-items: center; gap: 6px; font-size: 11px; color: rgba(255,255,255,0.3); }
.sh-trust-item b { color: #b8965a; }

/* STRIP */
.sh-strip { background: #b8965a; padding: 18px 48px; }
.sh-strip-inner { max-width: 1100px; margin: 0 auto; display: flex; justify-content: center; gap: 48px; flex-wrap: wrap; }
.sh-strip-item { display: flex; align-items: center; gap: 10px; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: white; font-weight: 500; }

/* BUNDLE UPSELL */
.sh-upsell { background: #f5f0ea; padding: 64px 48px; text-align: center; }
.sh-upsell-inner { max-width: 900px; margin: 0 auto; }
.sh-upsell h2 { font-family: 'Playfair Display', serif; font-size: clamp(26px,3.5vw,40px); font-weight: 400; margin-bottom: 12px; }
.sh-upsell h2 em { font-style: italic; color: #b8965a; }
.sh-upsell p { font-size: 14px; color: #6b6058; margin-bottom: 36px; line-height: 1.8; }
.sh-upsell-cards { display: grid; grid-template-columns: 1fr auto 1fr; gap: 20px; align-items: center; margin-bottom: 28px; }
.sh-upsell-card { background: white; border: 1px solid #e8ddd4; padding: 24px; text-align: center; }
.sh-upsell-card.featured { border-color: #b8965a; border-width: 2px; }
.sh-upsell-icon { font-size: 32px; display: block; margin-bottom: 10px; }
.sh-upsell-name { font-family: 'Playfair Display', serif; font-size: 16px; font-style: italic; color: #1c1c1e; display: block; margin-bottom: 6px; }
.sh-upsell-price { font-size: 18px; font-weight: 500; color: #b8965a; display: block; }
.sh-upsell-plus { font-family: 'Playfair Display', serif; font-size: 40px; font-style: italic; color: #b8965a; text-align: center; }
.sh-upsell-total { background: #b8965a; color: white; padding: 16px 40px; border: none; font-family: 'DM Sans', sans-serif; font-size: 12px; letter-spacing: 0.22em; text-transform: uppercase; cursor: pointer; font-weight: 500; display: inline-block; }

/* SHARED SECTION STYLES */
.sh-section { padding: 80px 48px; max-width: 1100px; margin: 0 auto; }
.sh-section-dark { background: #1c1c1e; padding: 80px 48px; }
.sh-section-dark-inner { max-width: 1100px; margin: 0 auto; }
.sh-section-cream { background: #f5f0ea; padding: 80px 48px; }
.sh-section-cream-inner { max-width: 1100px; margin: 0 auto; }
.sh-section-sand { background: #e8ddd4; padding: 80px 48px; }
.sh-section-sand-inner { max-width: 1100px; margin: 0 auto; }

.sh-label { font-size: 10px; letter-spacing: 0.4em; text-transform: uppercase; color: #b8965a; display: block; margin-bottom: 16px; }
.sh-label-light { font-size: 10px; letter-spacing: 0.4em; text-transform: uppercase; color: #b8965a; display: block; margin-bottom: 16px; }

/* BENEFITS */
.sh-benefits-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; margin-top: 40px; }
.sh-benefit-card { background: white; padding: 32px 24px; border-top: 3px solid #b8965a; text-align: center; }
.sh-benefit-icon { font-size: 32px; display: block; margin-bottom: 14px; }
.sh-benefit-title { font-family: 'Playfair Display', serif; font-size: 20px; font-style: italic; color: #1c1c1e; display: block; margin-bottom: 8px; }
.sh-benefit-desc { font-size: 13px; color: #6b6058; line-height: 1.7; }

/* RESULTS */
.sh-results-inner { max-width: 1100px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: center; }
.sh-results-img { aspect-ratio: 4/5; background: linear-gradient(145deg, #e8ddd4, #b8965a50); display: flex; align-items: center; justify-content: center; font-size: 72px; opacity: 0.4; }
.sh-results-content h2 { font-family: 'Playfair Display', serif; font-size: clamp(28px,3.5vw,44px); font-weight: 400; line-height: 1.2; margin-bottom: 20px; }
.sh-results-content h2 em { font-style: italic; color: #b8965a; }
.sh-results-content p { font-size: 14px; color: #6b6058; line-height: 1.85; margin-bottom: 16px; }
.sh-list { list-style: none; margin-top: 20px; }
.sh-list li { display: flex; align-items: flex-start; gap: 12px; font-size: 14px; color: #6b6058; padding: 10px 0; border-bottom: 1px solid #e8ddd4; line-height: 1.6; }
.sh-list li::before { content: '✦'; color: #b8965a; font-size: 10px; margin-top: 4px; flex-shrink: 0; }
.sh-list li:last-child { border-bottom: none; }

/* REVIEWS */
.sh-reviews-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; margin-top: 40px; }
.sh-review { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.07); padding: 28px 24px; }
.sh-review-stars { color: #b8965a; font-size: 13px; letter-spacing: 2px; margin-bottom: 14px; display: block; }
.sh-review-text { font-family: 'Playfair Display', serif; font-size: 16px; font-style: italic; color: rgba(255,255,255,0.85); line-height: 1.7; margin-bottom: 18px; }
.sh-review-author { font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; color: #b8965a; display: block; }
.sh-review-verified { font-size: 10px; color: #7a9e8a; margin-top: 4px; display: block; }

/* COMPARISON */
.sh-comparison { max-width: 900px; margin: 40px auto 0; }
.sh-comparison-table { width: 100%; border-collapse: collapse; border: 1px solid rgba(255,255,255,0.08); overflow: hidden; }
.sh-comparison-table th { padding: 16px; font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; }
.sh-comparison-table td { padding: 14px 20px; font-size: 13px; border-bottom: 1px solid rgba(255,255,255,0.06); }
.sh-th-us { background: #b8965a; color: white; }
.sh-th-comp { background: rgba(255,255,255,0.02); color: rgba(255,255,255,0.3); }
.sh-th-empty { background: rgba(255,255,255,0.04); }
.sh-td-label { color: rgba(255,255,255,0.5); }
.sh-td-us { background: rgba(184,150,90,0.05); color: #b8965a; font-weight: 500; text-align: center; }
.sh-td-comp { color: rgba(255,255,255,0.35); text-align: center; }

/* GUARANTEE */
.sh-guarantee { padding: 72px 48px; background: #faf8f5; text-align: center; }
.sh-guarantee-inner { max-width: 680px; margin: 0 auto; }
.sh-guarantee-badge { width: 96px; height: 96px; border-radius: 50%; background: #b8965a; color: white; display: flex; flex-direction: column; align-items: center; justify-content: center; margin: 0 auto 28px; font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 500; line-height: 1.4; }
.sh-guarantee-badge span { font-size: 28px; display: block; margin-bottom: 2px; }
.sh-guarantee-inner h2 { font-family: 'Playfair Display', serif; font-size: clamp(24px,3vw,36px); font-weight: 400; margin-bottom: 16px; }
.sh-guarantee-inner h2 em { font-style: italic; color: #b8965a; }
.sh-guarantee-inner p { font-size: 15px; color: #6b6058; line-height: 1.85; margin-bottom: 36px; }
.sh-guarantee-btn { display: inline-block; background: #b8965a; color: white; border: none; padding: 16px 48px; font-family: 'DM Sans', sans-serif; font-size: 12px; letter-spacing: 0.25em; text-transform: uppercase; cursor: pointer; font-weight: 500; transition: background 0.2s; text-decoration: none; }
.sh-guarantee-btn:hover { background: #1c1c1e; }

/* FINAL CTA */
.sh-final { background: #b8965a; padding: 80px 48px; text-align: center; position: relative; overflow: hidden; }
.sh-final::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 50%, rgba(255,255,255,0.08) 0%, transparent 60%); }
.sh-final-inner { max-width: 600px; margin: 0 auto; position: relative; }
.sh-final-inner h2 { font-family: 'Playfair Display', serif; font-size: clamp(32px,5vw,52px); font-weight: 400; font-style: italic; color: white; line-height: 1.2; margin-bottom: 16px; }
.sh-final-inner p { font-size: 15px; color: rgba(255,255,255,0.75); line-height: 1.8; margin-bottom: 32px; }
.sh-final-btn { display: inline-block; background: white; color: #b8965a; border: none; padding: 18px 48px; font-family: 'DM Sans', sans-serif; font-size: 12px; letter-spacing: 0.25em; text-transform: uppercase; cursor: pointer; font-weight: 500; transition: all 0.2s; text-decoration: none; }
.sh-final-btn:hover { background: #1c1c1e; color: white; }
.sh-urgency { font-size: 12px; color: rgba(255,255,255,0.6); margin-top: 16px; letter-spacing: 0.1em; }

/* FAQ */
.sh-faq { padding: 80px 48px; background: #faf8f5; }
.sh-faq-inner { max-width: 720px; margin: 0 auto; }
.sh-faq-inner h2 { font-family: 'Playfair Display', serif; font-size: clamp(26px,3vw,38px); font-weight: 400; text-align: center; margin-bottom: 48px; }
.sh-faq-inner h2 em { font-style: italic; color: #b8965a; }
.sh-faq-item { border-bottom: 1px solid #e8ddd4; padding: 22px 0; cursor: pointer; }
.sh-faq-q { font-size: 15px; font-weight: 500; color: #1c1c1e; display: flex; justify-content: space-between; align-items: center; gap: 20px; user-select: none; }
.sh-faq-q::after { content: '+'; color: #b8965a; font-size: 22px; flex-shrink: 0; }
.sh-faq-item.open .sh-faq-q::after { content: '−'; }
.sh-faq-a { font-size: 14px; color: #6b6058; line-height: 1.8; margin-top: 14px; display: none; }
.sh-faq-item.open .sh-faq-a { display: block; }

/* MOBILE */
@media(max-width:768px) {
  .sh-hero { grid-template-columns: 1fr; }
  .sh-hero-img { min-height: 280px; }
  .sh-hero-content { padding: 36px 20px; }
  .sh-strip { padding: 14px 20px; }
  .sh-strip-inner { gap: 16px; }
  .sh-section-dark, .sh-section-cream, .sh-section-sand, .sh-guarantee, .sh-final, .sh-faq, .sh-upsell { padding: 56px 20px; }
  .sh-benefits-grid, .sh-reviews-grid { grid-template-columns: 1fr; }
  .sh-results-inner { grid-template-columns: 1fr; }
  .sh-results-img { display: none; }
  .sh-upsell-cards { grid-template-columns: 1fr; }
  .sh-upsell-plus { display: none; }
  .sh-sticky { padding: 12px 16px; }
  .sh-sticky-left { display: none; }
}


0,500;1,400;1,500&family=DM+Sans:wght@300;400;500&display=swap');

.au-wrap * { box-sizing: border-box; margin: 0; padding: 0; }

.au-wrap {
  font-family: 'DM Sans', sans-serif;
  font-weight: 300;
  color: #1c1c1e;
  background: #faf8f5;
}

/* STICKY BAR */
.au-sticky {
  position: fixed;
  bottom: 0; left: 0; right: 0;
  background: #1c1c1e;
  padding: 14px 32px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  z-index: 999;
  box-shadow: 0 -8px 40px rgba(0,0,0,0.3);
}
.au-sticky-left { display: flex; align-items: center; gap: 16px; }
.au-sticky-name { font-family: 'Playfair Display', serif; font-size: 16px; font-style: italic; color: white; display: block; }
.au-sticky-price { font-size: 13px; color: #b8965a; }
.au-sticky-btn {
  background: #b8965a;
  color: white;
  border: none;
  padding: 14px 36px;
  font-family: 'DM Sans', sans-serif;
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  cursor: pointer;
  font-weight: 500;
  transition: background 0.2s;
  white-space: nowrap;
}
.au-sticky-btn:hover { background: #ccaa72; }

/* HERO */
.au-hero {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 90vh;
  background: #faf8f5;
}
.au-hero-img {
  background: linear-gradient(145deg, #f5f0ea, #e8ddd4);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 80px;
  position: relative;
  overflow: hidden;
  min-height: 500px;
}
.au-hero-img::before {
  content: '';
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 60% 40%, rgba(184,150,90,0.12) 0%, transparent 60%);
}
.au-img-note {
  position: absolute;
  bottom: 20px; left: 20px; right: 20px;
  background: rgba(28,28,30,0.5);
  color: rgba(255,255,255,0.6);
  font-size: 11px;
  padding: 10px 14px;
  text-align: center;
  letter-spacing: 0.1em;
}
.au-hero-content {
  padding: 60px 52px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: #1c1c1e;
}
.au-hero-eyebrow {
  font-size: 10px;
  letter-spacing: 0.4em;
  text-transform: uppercase;
  color: #b8965a;
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.au-hero-eyebrow::before { content: ''; width: 28px; height: 1px; background: #b8965a; }
.au-hero-content h1 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(30px, 4vw, 50px);
  font-weight: 400;
  line-height: 1.1;
  color: white;
  margin-bottom: 16px;
}
.au-hero-content h1 em { font-style: italic; color: #ccaa72; display: block; }
.au-hero-sub {
  font-size: 15px;
  line-height: 1.8;
  color: rgba(255,255,255,0.45);
  margin-bottom: 32px;
  max-width: 400px;
}
.au-price-row {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 20px 0;
  border-top: 1px solid rgba(255,255,255,0.08);
  border-bottom: 1px solid rgba(255,255,255,0.08);
  margin-bottom: 24px;
}
.au-price {
  font-family: 'Playfair Display', serif;
  font-size: 42px;
  font-weight: 500;
  color: white;
}
.au-was { font-size: 18px; color: rgba(255,255,255,0.3); text-decoration: line-through; }
.au-save { background: #b8965a; color: white; font-size: 10px; letter-spacing: 0.15em; text-transform: uppercase; padding: 6px 14px; font-weight: 500; }

/* BUNDLE */
.au-bundle {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-bottom: 24px;
}
.au-bundle-opt {
  border: 1px solid rgba(255,255,255,0.12);
  background: transparent;
  padding: 14px 10px;
  cursor: pointer;
  transition: all 0.2s;
  text-align: center;
}
.au-bundle-opt:hover, .au-bundle-opt.active { border-color: #b8965a; background: rgba(184,150,90,0.08); }
.au-bundle-qty { font-size: 13px; font-weight: 500; color: white; display: block; margin-bottom: 4px; }
.au-bundle-price { font-size: 12px; color: #b8965a; display: block; margin-bottom: 4px; }
.au-bundle-save { font-size: 10px; color: rgba(255,255,255,0.35); letter-spacing: 0.1em; text-transform: uppercase; }

.au-colours {
  display: flex;
  gap: 10px;
  align-items: center;
  margin-bottom: 24px;
}
.au-colour-label { font-size: 11px; letter-spacing: 0.15em; text-transform: uppercase; color: rgba(255,255,255,0.4); }
.au-colour-dot { width: 28px; height: 28px; border-radius: 50%; cursor: pointer; border: 2px solid transparent; transition: border-color 0.2s; }
.au-colour-dot:hover, .au-colour-dot.active { border-color: #b8965a; }

.au-buy-btn {
  width: 100%;
  background: #b8965a;
  color: white;
  border: none;
  padding: 18px;
  font-family: 'DM Sans', sans-serif;
  font-size: 12px;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  cursor: pointer;
  font-weight: 500;
  transition: background 0.2s;
  margin-bottom: 12px;
}
.au-buy-btn:hover { background: #ccaa72; }
.au-wish-btn {
  width: 100%;
  background: transparent;
  color: rgba(255,255,255,0.45);
  border: 1px solid rgba(255,255,255,0.12);
  padding: 14px;
  font-family: 'DM Sans', sans-serif;
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.2s;
  margin-bottom: 24px;
}
.au-wish-btn:hover { border-color: #b8965a; color: #b8965a; }
.au-trust-mini { display: flex; gap: 16px; flex-wrap: wrap; }
.au-trust-item { display: flex; align-items: center; gap: 6px; font-size: 11px; color: rgba(255,255,255,0.3); }
.au-trust-item b { color: #b8965a; }

/* BENEFITS STRIP */
.au-strip { background: #b8965a; padding: 18px 48px; }
.au-strip-inner { max-width: 1100px; margin: 0 auto; display: flex; justify-content: center; gap: 48px; flex-wrap: wrap; }
.au-strip-item { display: flex; align-items: center; gap: 10px; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: white; font-weight: 500; }

/* PROBLEM */
.au-problem { background: #1c1c1e; padding: 80px 48px; text-align: center; }
.au-problem-inner { max-width: 1100px; margin: 0 auto; }
.au-eyebrow { font-size: 10px; letter-spacing: 0.4em; text-transform: uppercase; color: #b8965a; display: block; margin-bottom: 16px; }
.au-problem-inner h2 { font-family: 'Playfair Display', serif; font-size: clamp(28px,3.5vw,44px); font-weight: 400; color: white; margin-bottom: 16px; }
.au-problem-inner h2 em { font-style: italic; color: #ccaa72; }
.au-problem-inner > p { font-size: 15px; color: rgba(255,255,255,0.4); max-width: 600px; margin: 0 auto 52px; line-height: 1.85; }
.au-problem-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; text-align: left; }
.au-problem-card { border: 1px solid rgba(255,255,255,0.07); background: rgba(255,255,255,0.02); padding: 28px 24px; }
.au-problem-icon { font-size: 28px; margin-bottom: 14px; display: block; }
.au-problem-title { font-size: 13px; font-weight: 500; color: white; display: block; margin-bottom: 10px; letter-spacing: 0.05em; }
.au-problem-desc { font-size: 13px; color: rgba(255,255,255,0.35); line-height: 1.7; }

/* SOLUTION */
.au-solution { padding: 80px 48px; background: #f5f0ea; }
.au-solution-inner { max-width: 1100px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: center; }
.au-solution-img { aspect-ratio: 1; background: linear-gradient(145deg, #e8ddd4, #b8965a40); display: flex; align-items: center; justify-content: center; font-size: 80px; opacity: 0.4; }
.au-solution-content h2 { font-family: 'Playfair Display', serif; font-size: clamp(28px,3.5vw,44px); font-weight: 400; line-height: 1.2; margin-bottom: 20px; }
.au-solution-content h2 em { font-style: italic; color: #b8965a; }
.au-solution-content p { font-size: 14px; color: #6b6058; line-height: 1.85; margin-bottom: 16px; }
.au-features { list-style: none; margin-top: 24px; }
.au-features li { display: flex; align-items: flex-start; gap: 12px; font-size: 14px; color: #6b6058; padding: 10px 0; border-bottom: 1px solid #e8ddd4; line-height: 1.6; }
.au-features li::before { content: '✦'; color: #b8965a; font-size: 10px; margin-top: 4px; flex-shrink: 0; }
.au-features li:last-child { border-bottom: none; }

/* WHO ITS FOR */
.au-who { padding: 80px 48px; background: #faf8f5; text-align: center; }
.au-who-inner { max-width: 1100px; margin: 0 auto; }
.au-who-inner h2 { font-family: 'Playfair Display', serif; font-size: clamp(28px,3.5vw,44px); font-weight: 400; margin-bottom: 48px; }
.au-who-inner h2 em { font-style: italic; color: #b8965a; }
.au-who-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.au-who-card { background: white; border: 1px solid #e8ddd4; padding: 28px 20px; text-align: center; border-top: 3px solid #b8965a; }
.au-who-icon { font-size: 32px; display: block; margin-bottom: 14px; }
.au-who-title { font-family: 'Playfair Display', serif; font-size: 18px; font-style: italic; color: #1c1c1e; display: block; margin-bottom: 8px; }
.au-who-desc { font-size: 12px; color: #9e8e82; line-height: 1.7; }

/* REVIEWS */
.au-reviews { background: #1c1c1e; padding: 80px 48px; }
.au-reviews-inner { max-width: 1100px; margin: 0 auto; }
.au-reviews-inner h2 { font-family: 'Playfair Display', serif; font-size: clamp(28px,3.5vw,44px); font-weight: 400; color: white; text-align: center; margin-bottom: 48px; }
.au-reviews-inner h2 em { font-style: italic; color: #ccaa72; }
.au-reviews-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.au-review { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.07); padding: 28px 24px; }
.au-review-stars { color: #b8965a; font-size: 13px; letter-spacing: 2px; margin-bottom: 14px; display: block; }
.au-review-text { font-family: 'Playfair Display', serif; font-size: 16px; font-style: italic; color: rgba(255,255,255,0.85); line-height: 1.7; margin-bottom: 18px; }
.au-review-author { font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; color: #b8965a; display: block; }
.au-review-verified { font-size: 10px; color: #7a9e8a; margin-top: 4px; display: block; }

/* DISCREET */
.au-discreet { padding: 80px 48px; background: #e8ddd4; }
.au-discreet-inner { max-width: 1100px; margin: 0 auto; display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; text-align: center; }
.au-discreet-card { background: white; padding: 36px 24px; }
.au-discreet-icon { font-size: 36px; display: block; margin-bottom: 16px; }
.au-discreet-title { font-family: 'Playfair Display', serif; font-size: 20px; font-style: italic; color: #1c1c1e; display: block; margin-bottom: 10px; }
.au-discreet-desc { font-size: 13px; color: #6b6058; line-height: 1.7; }
.au-discreet-header { grid-column: 1/-1; text-align: center; margin-bottom: 16px; }
.au-discreet-header h2 { font-family: 'Playfair Display', serif; font-size: clamp(28px,3.5vw,44px); font-weight: 400; }
.au-discreet-header h2 em { font-style: italic; color: #b8965a; }

/* GUARANTEE */
.au-guarantee { padding: 72px 48px; background: #faf8f5; text-align: center; }
.au-guarantee-inner { max-width: 680px; margin: 0 auto; }
.au-guarantee-badge { width: 96px; height: 96px; border-radius: 50%; background: #b8965a; color: white; display: flex; flex-direction: column; align-items: center; justify-content: center; margin: 0 auto 28px; font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 500; line-height: 1.4; }
.au-guarantee-badge span { font-size: 28px; display: block; margin-bottom: 2px; }
.au-guarantee-inner h2 { font-family: 'Playfair Display', serif; font-size: clamp(24px,3vw,36px); font-weight: 400; margin-bottom: 16px; }
.au-guarantee-inner h2 em { font-style: italic; color: #b8965a; }
.au-guarantee-inner p { font-size: 15px; color: #6b6058; line-height: 1.85; margin-bottom: 36px; }
.au-guarantee-btn { display: inline-block; background: #b8965a; color: white; border: none; padding: 16px 48px; font-family: 'DM Sans', sans-serif; font-size: 12px; letter-spacing: 0.25em; text-transform: uppercase; cursor: pointer; font-weight: 500; transition: background 0.2s; text-decoration: none; }
.au-guarantee-btn:hover { background: #1c1c1e; }

/* FINAL CTA */
.au-final { background: #b8965a; padding: 80px 48px; text-align: center; position: relative; overflow: hidden; }
.au-final::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 50%, rgba(255,255,255,0.08) 0%, transparent 60%); }
.au-final-inner { max-width: 600px; margin: 0 auto; position: relative; }
.au-final-inner h2 { font-family: 'Playfair Display', serif; font-size: clamp(32px,5vw,52px); font-weight: 400; font-style: italic; color: white; line-height: 1.2; margin-bottom: 16px; }
.au-final-inner p { font-size: 15px; color: rgba(255,255,255,0.75); line-height: 1.8; margin-bottom: 32px; }
.au-final-btn { display: inline-block; background: white; color: #b8965a; border: none; padding: 18px 48px; font-family: 'DM Sans', sans-serif; font-size: 12px; letter-spacing: 0.25em; text-transform: uppercase; cursor: pointer; font-weight: 500; transition: all 0.2s; text-decoration: none; }
.au-final-btn:hover { background: #1c1c1e; color: white; }
.au-urgency { font-size: 12px; color: rgba(255,255,255,0.6); margin-top: 16px; letter-spacing: 0.1em; }

/* FAQ */
.au-faq { padding: 80px 48px; background: #faf8f5; }
.au-faq-inner { max-width: 720px; margin: 0 auto; }
.au-faq-inner h2 { font-family: 'Playfair Display', serif; font-size: clamp(26px,3vw,38px); font-weight: 400; text-align: center; margin-bottom: 48px; }
.au-faq-inner h2 em { font-style: italic; color: #b8965a; }
.au-faq-item { border-bottom: 1px solid #e8ddd4; padding: 22px 0; cursor: pointer; }
.au-faq-q { font-size: 15px; font-weight: 500; color: #1c1c1e; display: flex; justify-content: space-between; align-items: center; gap: 20px; user-select: none; }
.au-faq-q::after { content: '+'; color: #b8965a; font-size: 22px; flex-shrink: 0; }
.au-faq-item.open .au-faq-q::after { content: '−'; }
.au-faq-a { font-size: 14px; color: #6b6058; line-height: 1.8; margin-top: 14px; display: none; }
.au-faq-item.open .au-faq-a { display: block; }

/* MOBILE */
@media(max-width: 768px) {
  .au-hero { grid-template-columns: 1fr; }
  .au-hero-img { min-height: 280px; }
  .au-hero-content { padding: 36px 20px; }
  .au-strip { padding: 14px 20px; }
  .au-strip-inner { gap: 16px; }
  .au-problem, .au-solution, .au-who, .au-reviews, .au-discreet, .au-guarantee, .au-final, .au-faq { padding: 56px 20px; }
  .au-problem-grid { grid-template-columns: 1fr; }
  .au-solution-inner { grid-template-columns: 1fr; gap: 40px; }
  .au-solution-img { display: none; }
  .au-who-grid { grid-template-columns: 1fr 1fr; }
  .au-reviews-grid { grid-template-columns: 1fr; }
  .au-discreet-inner { grid-template-columns: 1fr; }
  .au-bundle { grid-template-columns: 1fr; }
  .au-sticky { padding: 12px 16px; }
  .au-sticky-left { display: none; }
}


  :root {
    --charcoal: #1c1c1e; --graphite: #2e2e30; --terra: #b8965a;
    --terra-light: #ccaa72; --cream: #f5f0ea; --warm-white: #faf8f5;
    --stone: #9e8e82; --sand: #e8ddd4; --gold: #b8965a;
    --sage: #7a9e8a; --mid: #6b6058;
  }
  * { margin:0; padding:0; box-sizing:border-box; }
  html { scroll-behavior:smooth; }
  body { background:var(--warm-white); color:var(--charcoal); font-family:'DM Sans',sans-serif; font-weight:300; }

  /* NAV */
  .top-nav {
    background: var(--warm-white);
    border-bottom: 1px solid var(--sand);
    padding: 0 48px;
    position: sticky;
    top: 0;
    z-index: 100;
  }
  .nav-inner {
    max-width: 1280px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 72px;
  }
  .nav-logo {
    font-family: 'Playfair Display', serif;
    font-size: 20px;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-decoration: none;
    color: var(--charcoal);
  }
  .nav-back {
    font-size: 11px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--terra);
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 8px;
  }

  /* HERO */
  .about-hero {
    background: var(--charcoal);
    padding: 100px 48px;
    position: relative;
    overflow: hidden;
    text-align: center;
  }

  .about-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 30% 50%, rgba(200,96,58,0.2) 0%, transparent 55%),
                radial-gradient(ellipse at 80% 80%, rgba(184,150,90,0.1) 0%, transparent 50%);
  }

  .about-hero-inner { max-width: 720px; margin: 0 auto; position: relative; }

  .hero-eyebrow {
    font-size: 10px;
    letter-spacing: 0.45em;
    text-transform: uppercase;
    color: var(--terra);
    display: block;
    margin-bottom: 24px;
    animation: fadeUp 0.8s ease forwards;
    opacity: 0;
  }

  .about-hero h1 {
    font-family: 'Playfair Display', serif;
    font-size: clamp(40px, 6vw, 76px);
    font-weight: 400;
    color: white;
    line-height: 1.1;
    margin-bottom: 28px;
    animation: fadeUp 0.8s ease 0.15s forwards;
    opacity: 0;
  }

  .about-hero h1 em { font-style: italic; color: var(--terra-light); }

  .about-hero p {
    font-size: 16px;
    line-height: 1.85;
    color: rgba(255,255,255,0.5);
    animation: fadeUp 0.8s ease 0.3s forwards;
    opacity: 0;
  }

  @keyframes fadeUp {
    from { opacity:0; transform:translateY(18px); }
    to { opacity:1; transform:translateY(0); }
  }

  /* STORY */
  .story-section {
    padding: 96px 48px;
    max-width: 1280px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center;
  }

  .story-image {
    aspect-ratio: 4/5;
    background: linear-gradient(145deg, var(--sand), var(--terra) 80%);
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 72px;
    opacity: 0.5;
  }

  .story-image::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 40%;
    background: linear-gradient(to top, rgba(28,28,30,0.4), transparent);
  }

  .story-content {}

  .section-eyebrow {
    font-size: 10px;
    letter-spacing: 0.4em;
    text-transform: uppercase;
    color: var(--terra);
    display: block;
    margin-bottom: 16px;
  }

  .story-content h2 {
    font-family: 'Playfair Display', serif;
    font-size: clamp(30px, 3.5vw, 46px);
    font-weight: 400;
    line-height: 1.2;
    margin-bottom: 28px;
  }

  .story-content h2 em { font-style: italic; color: var(--terra); }

  .story-content p {
    font-size: 15px;
    line-height: 1.9;
    color: var(--mid);
    margin-bottom: 20px;
  }

  /* MISSION */
  .mission-section {
    background: var(--terra);
    padding: 80px 48px;
    text-align: center;
    position: relative;
    overflow: hidden;
  }

  .mission-section::before {
    content: '"';
    font-family: 'Playfair Display', serif;
    font-size: 320px;
    color: rgba(255,255,255,0.06);
    position: absolute;
    top: -80px;
    left: 50%;
    transform: translateX(-50%);
    line-height: 1;
    pointer-events: none;
  }

  .mission-inner { max-width: 760px; margin: 0 auto; position: relative; }

  .mission-inner h2 {
    font-family: 'Playfair Display', serif;
    font-size: clamp(28px, 4vw, 52px);
    font-weight: 400;
    font-style: italic;
    color: white;
    line-height: 1.3;
    margin-bottom: 24px;
  }

  .mission-inner p {
    font-size: 15px;
    color: rgba(255,255,255,0.7);
    line-height: 1.85;
  }

  /* VALUES */
  .values-section {
    padding: 96px 48px;
    background: var(--cream);
  }

  .values-inner { max-width: 1280px; margin: 0 auto; }

  .values-inner h2 {
    font-family: 'Playfair Display', serif;
    font-size: clamp(30px, 3.5vw, 46px);
    font-weight: 400;
    margin-bottom: 52px;
    text-align: center;
  }

  .values-inner h2 em { font-style: italic; color: var(--terra); }

  .values-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
  }

  .value-card {
    background: white;
    padding: 36px 32px;
    border-top: 3px solid var(--terra);
  }

  .value-icon { font-size: 32px; margin-bottom: 20px; display: block; }

  .value-title {
    font-family: 'Playfair Display', serif;
    font-size: 22px;
    font-style: italic;
    color: var(--charcoal);
    margin-bottom: 14px;
    display: block;
  }

  .value-desc {
    font-size: 14px;
    line-height: 1.85;
    color: var(--mid);
  }

  /* SUSTAINABILITY */
  .sustain-section {
    padding: 96px 48px;
    background: var(--charcoal);
    position: relative;
    overflow: hidden;
  }

  .sustain-section::before {
    content: '';
    position: absolute;
    top: -200px;
    right: -200px;
    width: 600px;
    height: 600px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(122,158,138,0.12) 0%, transparent 65%);
  }

  .sustain-inner {
    max-width: 1280px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center;
    position: relative;
  }

  .sustain-content .section-eyebrow { color: var(--sage); }

  .sustain-content h2 {
    font-family: 'Playfair Display', serif;
    font-size: clamp(30px, 3.5vw, 46px);
    font-weight: 400;
    color: white;
    line-height: 1.2;
    margin: 14px 0 24px;
  }

  .sustain-content h2 em { font-style: italic; color: var(--sage); }

  .sustain-content p {
    font-size: 15px;
    line-height: 1.9;
    color: rgba(255,255,255,0.45);
    margin-bottom: 20px;
  }

  .sustain-pledges {
    margin-top: 36px;
    display: flex;
    flex-direction: column;
    gap: 16px;
  }

  .pledge-item {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 18px 20px;
    border: 1px solid rgba(255,255,255,0.08);
    background: rgba(255,255,255,0.02);
  }

  .pledge-icon { font-size: 20px; flex-shrink: 0; margin-top: 2px; }

  .pledge-text {}
  .pledge-title {
    font-size: 13px;
    font-weight: 500;
    color: white;
    letter-spacing: 0.05em;
    display: block;
    margin-bottom: 4px;
  }
  .pledge-desc { font-size: 12px; color: rgba(255,255,255,0.4); line-height: 1.6; }

  .sustain-visual {
    aspect-ratio: 1;
    background: linear-gradient(145deg, #1c3028, #7a9e8a40);
    border: 1px solid rgba(122,158,138,0.2);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 20px;
    padding: 40px;
  }

  .sustain-stat {
    text-align: center;
    padding: 20px;
    border-bottom: 1px solid rgba(122,158,138,0.15);
    width: 100%;
  }

  .sustain-stat:last-child { border-bottom: none; }

  .sustain-number {
    font-family: 'Playfair Display', serif;
    font-size: 40px;
    font-style: italic;
    color: var(--sage);
    display: block;
    line-height: 1;
    margin-bottom: 6px;
  }

  .sustain-label {
    font-size: 10px;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.35);
  }

  /* VISION */
  .vision-section {
    padding: 96px 48px;
    max-width: 1280px;
    margin: 0 auto;
  }

  .vision-inner { max-width: 760px; margin: 0 auto; text-align: center; }

  .vision-inner h2 {
    font-family: 'Playfair Display', serif;
    font-size: clamp(30px, 3.5vw, 46px);
    font-weight: 400;
    line-height: 1.2;
    margin-bottom: 28px;
  }

  .vision-inner h2 em { font-style: italic; color: var(--terra); }

  .vision-inner p {
    font-size: 15px;
    line-height: 1.9;
    color: var(--mid);
    margin-bottom: 20px;
  }

  .coming-soon-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-top: 56px;
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
  }

  .cs-card {
    padding: 28px 24px;
    border: 1px solid var(--sand);
    text-align: center;
    position: relative;
    overflow: hidden;
  }

  .cs-card::before {
    content: 'Coming Soon';
    position: absolute;
    top: 12px;
    right: -20px;
    background: var(--terra);
    color: white;
    font-size: 8px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    padding: 4px 28px;
    transform: rotate(45deg);
    transform-origin: center;
  }

  .cs-icon { font-size: 32px; display: block; margin-bottom: 14px; }

  .cs-title {
    font-family: 'Playfair Display', serif;
    font-size: 18px;
    font-style: italic;
    color: var(--charcoal);
    display: block;
    margin-bottom: 8px;
  }

  .cs-desc { font-size: 12px; color: var(--stone); line-height: 1.6; }

  /* CTA */
  .about-cta {
    background: var(--sand);
    padding: 80px 48px;
    text-align: center;
  }

  .about-cta-inner { max-width: 560px; margin: 0 auto; }

  .about-cta h2 {
    font-family: 'Playfair Display', serif;
    font-size: clamp(28px, 4vw, 48px);
    font-weight: 400;
    margin-bottom: 16px;
  }

  .about-cta h2 em { font-style: italic; color: var(--terra); }

  .about-cta p {
    font-size: 14px;
    color: var(--mid);
    line-height: 1.8;
    margin-bottom: 32px;
  }

  .btn-primary {
    background: var(--terra);
    color: white;
    border: none;
    padding: 15px 40px;
    font-family: 'DM Sans', sans-serif;
    font-size: 11px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    cursor: pointer;
    text-decoration: none;
    display: inline-block;
    font-weight: 500;
    transition: background 0.2s;
  }

  .btn-primary:hover { background: var(--charcoal); }

  @media(max-width:900px) {
    .top-nav, .about-hero, .mission-section, .values-section, .sustain-section, .vision-section, .about-cta { padding-left: 20px; padding-right: 20px; }
    .story-section { grid-template-columns: 1fr; gap: 40px; padding: 56px 20px; }
    .story-image { display: none; }
    .values-grid { grid-template-columns: 1fr; }
    .sustain-inner { grid-template-columns: 1fr; gap: 40px; }
    .sustain-visual { display: none; }
    .coming-soon-grid { grid-template-columns: 1fr 1fr; }
  }


0,500;1,400;1,500&family=DM+Sans:wght@300;400;500&display=swap');

.sg-wrap * { box-sizing: border-box; margin: 0; padding: 0; }
.sg-wrap {
  font-family: 'DM Sans', sans-serif;
  font-weight: 300;
  color: #1c1c1e;
  background: #faf8f5;
}

/* HEADER */
.sg-header {
  background: #1c1c1e;
  padding: 64px 48px;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.sg-header::before {
  content: '';
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 50% 50%, rgba(184,150,90,0.12) 0%, transparent 60%);
}
.sg-header-inner { max-width: 600px; margin: 0 auto; position: relative; }
.sg-eyebrow { font-size: 10px; letter-spacing: 0.45em; text-transform: uppercase; color: #b8965a; display: block; margin-bottom: 16px; }
.sg-header h1 { font-family: 'Playfair Display', serif; font-size: clamp(32px,5vw,56px); font-weight: 400; color: white; line-height: 1.1; margin-bottom: 16px; }
.sg-header h1 em { font-style: italic; color: #ccaa72; }
.sg-header p { font-size: 14px; color: rgba(255,255,255,0.45); line-height: 1.8; }

/* TABS */
.sg-tabs {
  background: #f5f0ea;
  padding: 0 48px;
  border-bottom: 1px solid #e8ddd4;
  position: sticky;
  top: 0;
  z-index: 50;
}
.sg-tabs-inner {
  max-width: 1000px;
  margin: 0 auto;
  display: flex;
  gap: 0;
  overflow-x: auto;
}
.sg-tab {
  padding: 18px 28px;
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #9e8e82;
  cursor: pointer;
  border-bottom: 2px solid transparent;
  white-space: nowrap;
  transition: all 0.2s;
  background: none;
  border-top: none;
  border-left: none;
  border-right: none;
  font-family: 'DM Sans', sans-serif;
}
.sg-tab:hover { color: #b8965a; }
.sg-tab.active { color: #b8965a; border-bottom-color: #b8965a; }

/* HOW TO MEASURE */
.sg-measure {
  padding: 64px 48px;
  background: #faf8f5;
}
.sg-measure-inner { max-width: 1000px; margin: 0 auto; }
.sg-section-label { font-size: 10px; letter-spacing: 0.4em; text-transform: uppercase; color: #b8965a; display: block; margin-bottom: 14px; }
.sg-measure h2 { font-family: 'Playfair Display', serif; font-size: clamp(24px,3vw,36px); font-weight: 400; margin-bottom: 40px; }
.sg-measure h2 em { font-style: italic; color: #b8965a; }
.sg-measure-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 20px; }
.sg-measure-card { background: white; border: 1px solid #e8ddd4; padding: 24px; text-align: center; border-top: 3px solid #b8965a; }
.sg-measure-icon { font-size: 32px; display: block; margin-bottom: 12px; }
.sg-measure-title { font-family: 'Playfair Display', serif; font-size: 16px; font-style: italic; color: #1c1c1e; display: block; margin-bottom: 8px; }
.sg-measure-desc { font-size: 12px; color: #6b6058; line-height: 1.7; }

/* SIZE TABLES */
.sg-table-section {
  padding: 64px 48px;
}
.sg-table-section:nth-child(even) { background: #f5f0ea; }
.sg-table-inner { max-width: 1000px; margin: 0 auto; }
.sg-table-inner h2 { font-family: 'Playfair Display', serif; font-size: clamp(22px,2.5vw,32px); font-weight: 400; margin-bottom: 8px; }
.sg-table-inner h2 em { font-style: italic; color: #b8965a; }
.sg-table-inner > p { font-size: 13px; color: #9e8e82; margin-bottom: 28px; line-height: 1.7; }

.sg-unit-toggle {
  display: flex;
  gap: 0;
  margin-bottom: 24px;
  border: 1px solid #e8ddd4;
  width: fit-content;
}
.sg-unit-btn {
  padding: 8px 20px;
  font-size: 11px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  cursor: pointer;
  border: none;
  background: white;
  color: #9e8e82;
  font-family: 'DM Sans', sans-serif;
  transition: all 0.2s;
}
.sg-unit-btn.active { background: #b8965a; color: white; }

.sg-table-wrap { overflow-x: auto; margin-bottom: 20px; }
.sg-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 600px;
}
.sg-table th {
  background: #1c1c1e;
  color: white;
  padding: 14px 16px;
  font-size: 10px;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  text-align: center;
  font-weight: 400;
}
.sg-table th:first-child { text-align: left; background: #b8965a; }
.sg-table td {
  padding: 14px 16px;
  font-size: 13px;
  color: #1c1c1e;
  text-align: center;
  border-bottom: 1px solid #e8ddd4;
}
.sg-table td:first-child {
  text-align: left;
  font-weight: 500;
  color: #1c1c1e;
  background: rgba(184,150,90,0.05);
  border-right: 2px solid #e8ddd4;
}
.sg-table tr:hover td { background: rgba(184,150,90,0.04); }
.sg-table tr:hover td:first-child { background: rgba(184,150,90,0.1); }
.sg-table tr:last-child td { border-bottom: none; }

.sg-size-label {
  display: inline-block;
  background: #1c1c1e;
  color: white;
  font-size: 10px;
  letter-spacing: 0.15em;
  padding: 3px 10px;
  margin-right: 8px;
}

.sg-uk-label {
  font-size: 11px;
  color: #9e8e82;
}

/* FIT NOTES */
.sg-fit-note {
  background: rgba(184,150,90,0.08);
  border-left: 3px solid #b8965a;
  padding: 16px 20px;
  margin-top: 16px;
  font-size: 13px;
  color: #6b6058;
  line-height: 1.7;
}

/* TIPS */
.sg-tips {
  padding: 64px 48px;
  background: #1c1c1e;
}
.sg-tips-inner { max-width: 1000px; margin: 0 auto; }
.sg-tips h2 { font-family: 'Playfair Display', serif; font-size: clamp(22px,2.5vw,32px); font-weight: 400; color: white; margin-bottom: 32px; }
.sg-tips h2 em { font-style: italic; color: #ccaa72; }
.sg-tips-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.sg-tip-card { border: 1px solid rgba(255,255,255,0.08); background: rgba(255,255,255,0.02); padding: 24px; }
.sg-tip-icon { font-size: 24px; margin-bottom: 12px; display: block; }
.sg-tip-title { font-size: 12px; font-weight: 500; color: white; letter-spacing: 0.08em; display: block; margin-bottom: 8px; }
.sg-tip-desc { font-size: 12px; color: rgba(255,255,255,0.4); line-height: 1.7; }

/* HELP */
.sg-help {
  padding: 56px 48px;
  background: #f5f0ea;
  text-align: center;
}
.sg-help-inner { max-width: 560px; margin: 0 auto; }
.sg-help h2 { font-family: 'Playfair Display', serif; font-size: clamp(22px,2.5vw,32px); font-weight: 400; margin-bottom: 12px; }
.sg-help h2 em { font-style: italic; color: #b8965a; }
.sg-help p { font-size: 14px; color: #6b6058; line-height: 1.8; margin-bottom: 24px; }
.sg-help-btn {
  display: inline-block;
  background: #1c1c1e;
  color: white;
  border: none;
  padding: 14px 36px;
  font-family: 'DM Sans', sans-serif;
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  cursor: pointer;
  font-weight: 500;
  text-decoration: none;
  transition: background 0.2s;
}
.sg-help-btn:hover { background: #b8965a; }

/* MOBILE */
@media(max-width:768px) {
  .sg-header, .sg-measure, .sg-table-section, .sg-tips, .sg-help { padding: 48px 20px; }
  .sg-tabs { padding: 0 20px; }
  .sg-measure-grid { grid-template-columns: 1fr 1fr; }
  .sg-tips-grid { grid-template-columns: 1fr; }
}


0,500;1,400;1,500&family=DM+Sans:wght@300;400;500&display=swap');

.fp-wrap * { box-sizing: border-box; margin: 0; padding: 0; }
.fp-wrap {
  font-family: 'DM Sans', sans-serif;
  font-weight: 300;
  color: #1c1c1e;
  background: #faf8f5;
}

/* HERO PRODUCT */
.fp-hero {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 85vh;
  background: #faf8f5;
}

/* IMAGE SIDE */
.fp-images {
  position: relative;
  background: #f5f0ea;
  overflow: hidden;
}

.fp-main-image {
  width: 100%;
  height: 100%;
  min-height: 600px;
  object-fit: cover;
  display: block;
}

.fp-main-placeholder {
  width: 100%;
  height: 100%;
  min-height: 600px;
  background: linear-gradient(155deg, #e8ddd4 0%, #f5f0ea 50%, #d4c5b8 100%);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  position: relative;
}

.fp-main-placeholder::before {
  content: '';
  position: absolute;
  inset: 0;
  background: url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23b8965a' fill-opacity='0.04'%3E%3Cpath d='M20 20.5V18H0v-2h20v-2H0v-2h20v-2H0V8h20V6H0V4h20V2H0V0h22v20h2V0h2v20h2V0h2v20h2V0h2v22H20v-1.5z'/%3E%3C/g%3E%3C/svg%3E");
}

.fp-placeholder-icon { font-size: 56px; opacity: 0.25; position: relative; }
.fp-placeholder-text {
  font-family: 'Playfair Display', serif;
  font-size: 14px;
  font-style: italic;
  color: #9e8e82;
  text-align: center;
  position: relative;
  padding: 0 24px;
}

.fp-collection-tag {
  position: absolute;
  top: 24px;
  left: 24px;
  background: #1c1c1e;
  color: white;
  font-size: 9px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  padding: 6px 14px;
  z-index: 10;
}

.fp-new-tag {
  position: absolute;
  top: 24px;
  right: 24px;
  background: #b8965a;
  color: white;
  font-size: 9px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  padding: 6px 14px;
  z-index: 10;
}

/* THUMBNAILS */
.fp-thumbs {
  display: flex;
  gap: 8px;
  padding: 12px;
  background: #f5f0ea;
  overflow-x: auto;
}

.fp-thumb {
  width: 72px;
  height: 88px;
  object-fit: cover;
  cursor: pointer;
  flex-shrink: 0;
  border: 2px solid transparent;
  transition: border-color 0.2s;
  opacity: 0.6;
}

.fp-thumb:hover, .fp-thumb.active { border-color: #b8965a; opacity: 1; }

.fp-thumb-placeholder {
  width: 72px;
  height: 88px;
  flex-shrink: 0;
  border: 2px solid transparent;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  transition: border-color 0.2s;
  opacity: 0.5;
}

.fp-thumb-placeholder:hover { border-color: #b8965a; opacity: 1; }

/* PRODUCT INFO SIDE */
.fp-info {
  padding: 56px 52px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: #faf8f5;
  position: relative;
}

.fp-info::before {
  content: '';
  position: absolute;
  top: 0; bottom: 0; left: 0;
  width: 1px;
  background: linear-gradient(to bottom, transparent, #e8ddd4, transparent);
}

.fp-breadcrumb {
  font-size: 10px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: #b8965a;
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.fp-breadcrumb span { color: #9e8e82; }

.fp-title {
  font-family: 'Playfair Display', serif;
  font-size: clamp(28px, 3.5vw, 44px);
  font-weight: 400;
  line-height: 1.15;
  color: #1c1c1e;
  margin-bottom: 8px;
}

.fp-title em { font-style: italic; color: #b8965a; }

.fp-subtitle {
  font-size: 14px;
  color: #9e8e82;
  letter-spacing: 0.1em;
  margin-bottom: 24px;
}

.fp-rating {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 24px;
  padding-bottom: 24px;
  border-bottom: 1px solid #e8ddd4;
}

.fp-stars { color: #b8965a; font-size: 14px; letter-spacing: 2px; }
.fp-rating-count { font-size: 12px; color: #9e8e82; }
.fp-rating-link { font-size: 12px; color: #b8965a; text-decoration: underline; cursor: pointer; }

.fp-price-row {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 28px;
}

.fp-price {
  font-family: 'Playfair Display', serif;
  font-size: 36px;
  font-weight: 500;
  color: #1c1c1e;
}

.fp-was {
  font-size: 18px;
  color: #9e8e82;
  text-decoration: line-through;
}

.fp-save {
  background: #b8965a;
  color: white;
  font-size: 10px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  padding: 5px 12px;
  font-weight: 500;
}

/* COLOUR SELECTOR */
.fp-option-label {
  font-size: 10px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: #1c1c1e;
  display: block;
  margin-bottom: 12px;
  font-weight: 500;
}

.fp-colours {
  display: flex;
  gap: 10px;
  margin-bottom: 24px;
  flex-wrap: wrap;
}

.fp-colour-opt {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  cursor: pointer;
}

.fp-colour-swatch {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 2px solid transparent;
  transition: border-color 0.2s;
  position: relative;
}

.fp-colour-opt:hover .fp-colour-swatch,
.fp-colour-opt.active .fp-colour-swatch { border-color: #b8965a; }

.fp-colour-name {
  font-size: 9px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #9e8e82;
  text-align: center;
}

/* SIZE SELECTOR */
.fp-sizes {
  display: flex;
  gap: 8px;
  margin-bottom: 8px;
  flex-wrap: wrap;
}

.fp-size-btn {
  width: 52px;
  height: 52px;
  border: 1px solid #e8ddd4;
  background: white;
  font-family: 'DM Sans', sans-serif;
  font-size: 12px;
  cursor: pointer;
  transition: all 0.2s;
  letter-spacing: 0.05em;
  display: flex;
  align-items: center;
  justify-content: center;
}

.fp-size-btn:hover, .fp-size-btn.active {
  border-color: #b8965a;
  color: #b8965a;
  background: rgba(184,150,90,0.05);
}

.fp-size-guide {
  font-size: 11px;
  color: #b8965a;
  text-decoration: underline;
  cursor: pointer;
  margin-bottom: 28px;
  display: inline-block;
}

/* BUTTONS */
.fp-add-btn {
  width: 100%;
  background: #1c1c1e;
  color: white;
  border: none;
  padding: 18px;
  font-family: 'DM Sans', sans-serif;
  font-size: 12px;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  cursor: pointer;
  font-weight: 500;
  transition: background 0.2s;
  margin-bottom: 12px;
}

.fp-add-btn:hover { background: #b8965a; }

.fp-wish-btn {
  width: 100%;
  background: transparent;
  color: #6b6058;
  border: 1px solid #e8ddd4;
  padding: 16px;
  font-family: 'DM Sans', sans-serif;
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.2s;
  margin-bottom: 28px;
}

.fp-wish-btn:hover { border-color: #b8965a; color: #b8965a; }

/* TRUST */
.fp-trust {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin-bottom: 28px;
  padding: 20px 0;
  border-top: 1px solid #e8ddd4;
  border-bottom: 1px solid #e8ddd4;
}

.fp-trust-item {
  text-align: center;
}

.fp-trust-icon { font-size: 18px; display: block; margin-bottom: 4px; }
.fp-trust-label { font-size: 9px; letter-spacing: 0.15em; text-transform: uppercase; color: #9e8e82; }

/* ACCORDION */
.fp-accordion { border-top: 1px solid #e8ddd4; }

.fp-accordion-item { border-bottom: 1px solid #e8ddd4; }

.fp-accordion-trigger {
  width: 100%;
  background: none;
  border: none;
  padding: 18px 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  font-family: 'DM Sans', sans-serif;
  font-size: 12px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #1c1c1e;
  font-weight: 400;
}

.fp-accordion-trigger::after {
  content: '+';
  color: #b8965a;
  font-size: 18px;
  flex-shrink: 0;
}

.fp-accordion-item.open .fp-accordion-trigger::after { content: '−'; }

.fp-accordion-content {
  display: none;
  padding: 0 0 20px;
  font-size: 13px;
  color: #6b6058;
  line-height: 1.8;
}

.fp-accordion-item.open .fp-accordion-content { display: block; }

.fp-accordion-content ul { list-style: none; }
.fp-accordion-content ul li { padding: 4px 0; display: flex; gap: 10px; align-items: flex-start; }
.fp-accordion-content ul li::before { content: '✦'; color: #b8965a; font-size: 9px; margin-top: 4px; flex-shrink: 0; }

/* DESCRIPTION SECTION */
.fp-description {
  background: #f5f0ea;
  padding: 72px 48px;
}

.fp-description-inner {
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 72px;
  align-items: center;
}

.fp-desc-image {
  aspect-ratio: 3/4;
  background: linear-gradient(145deg, #e8ddd4, #b8965a30);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 64px;
  opacity: 0.4;
  position: relative;
  overflow: hidden;
}

.fp-desc-content {}

.fp-desc-eyebrow {
  font-size: 9px;
  letter-spacing: 0.4em;
  text-transform: uppercase;
  color: #b8965a;
  display: block;
  margin-bottom: 14px;
}

.fp-desc-content h2 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(26px, 3vw, 38px);
  font-weight: 400;
  line-height: 1.2;
  margin-bottom: 20px;
}

.fp-desc-content h2 em { font-style: italic; color: #b8965a; }

.fp-desc-content p {
  font-size: 14px;
  color: #6b6058;
  line-height: 1.9;
  margin-bottom: 14px;
}

.fp-features {
  list-style: none;
  margin-top: 20px;
}

.fp-features li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 13px;
  color: #6b6058;
  padding: 9px 0;
  border-bottom: 1px solid #e8ddd4;
  line-height: 1.6;
}

.fp-features li::before {
  content: '✦';
  color: #b8965a;
  font-size: 9px;
  margin-top: 4px;
  flex-shrink: 0;
}

.fp-features li:last-child { border-bottom: none; }

/* YOU MAY ALSO LIKE */
.fp-related {
  padding: 72px 48px;
  background: #faf8f5;
}

.fp-related-inner { max-width: 1100px; margin: 0 auto; }

.fp-related h2 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(24px, 3vw, 36px);
  font-weight: 400;
  margin-bottom: 40px;
}

.fp-related h2 em { font-style: italic; color: #b8965a; }

.fp-related-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

.fp-related-card {
  cursor: pointer;
  transition: transform 0.3s ease;
  text-decoration: none;
  color: inherit;
}

.fp-related-card:hover { transform: translateY(-4px); }

.fp-related-image {
  aspect-ratio: 3/4;
  margin-bottom: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  overflow: hidden;
}

.ri1 { background: linear-gradient(155deg, #e8ddd4, #c4956a); }
.ri2 { background: linear-gradient(155deg, #1c1c1e, #4a3a30); }
.ri3 { background: linear-gradient(155deg, #7a9e8a, #d4e8dc); }
.ri4 { background: linear-gradient(155deg, #c8908a, #f2e4dc); }

.fp-related-cat {
  font-size: 9px;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: #b8965a;
  display: block;
  margin-bottom: 4px;
}

.fp-related-name {
  font-family: 'Playfair Display', serif;
  font-size: 15px;
  font-style: italic;
  color: #1c1c1e;
  display: block;
  margin-bottom: 6px;
}

.fp-related-price {
  font-size: 14px;
  font-weight: 500;
  color: #1c1c1e;
}

/* REVIEWS STRIP */
.fp-reviews-strip {
  background: #1c1c1e;
  padding: 56px 48px;
}

.fp-reviews-strip-inner {
  max-width: 1100px;
  margin: 0 auto;
}

.fp-reviews-strip h2 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(22px, 2.5vw, 32px);
  font-weight: 400;
  color: white;
  margin-bottom: 32px;
}

.fp-reviews-strip h2 em { font-style: italic; color: #ccaa72; }

.fp-reviews-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.fp-review-mini {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.07);
  padding: 22px;
}

.fp-review-mini-stars { color: #b8965a; font-size: 12px; letter-spacing: 2px; margin-bottom: 10px; display: block; }
.fp-review-mini-text { font-family: 'Playfair Display', serif; font-size: 14px; font-style: italic; color: rgba(255,255,255,0.8); line-height: 1.6; margin-bottom: 12px; }
.fp-review-mini-author { font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase; color: #b8965a; }

/* MOBILE */
@media(max-width: 900px) {
  .fp-hero { grid-template-columns: 1fr; }
  .fp-info { padding: 36px 20px; }
  .fp-trust { grid-template-columns: repeat(2, 1fr); }
  .fp-description { padding: 56px 20px; }
  .fp-description-inner { grid-template-columns: 1fr; gap: 40px; }
  .fp-desc-image { display: none; }
  .fp-related { padding: 56px 20px; }
  .fp-related-grid { grid-template-columns: 1fr 1fr; }
  .fp-reviews-strip { padding: 48px 20px; }
  .fp-reviews-row { grid-template-columns: 1fr; }
  .fp-colours { gap: 8px; }
}


/* ============================================
   PRODUCT TEMPLATES — SHARED STYLES
   ============================================ */

/* SHARED */
.pt-wrap { font-family:'DM Sans',sans-serif; font-weight:300; color:#1c1c1e; background:#faf8f5; }
.pt-sticky { position:fixed; bottom:0; left:0; right:0; background:#1c1c1e; padding:14px 32px; display:flex; justify-content:space-between; align-items:center; z-index:999; box-shadow:0 -8px 40px rgba(0,0,0,0.3); }
.pt-sticky-left { display:flex; flex-direction:column; }
.pt-sticky-name { font-family:'Playfair Display',serif; font-size:15px; font-style:italic; color:white; }
.pt-sticky-price { font-size:12px; color:#b8965a; }
.pt-sticky-btn { background:#b8965a; color:white; border:none; padding:13px 28px; font-family:'DM Sans',sans-serif; font-size:11px; letter-spacing:0.2em; text-transform:uppercase; cursor:pointer; font-weight:500; white-space:nowrap; }

/* HERO */
.pt-hero { display:grid; grid-template-columns:1fr 1fr; min-height:90vh; background:#1c1c1e; }
.pt-hero-img { position:relative; background:linear-gradient(145deg,#2e2e30,#b8965a20); display:flex; align-items:center; justify-content:center; min-height:500px; overflow:hidden; flex-direction:column; }
.pt-hero-placeholder { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; width:100%; height:100%; min-height:400px; }
.pt-new-tag { position:absolute; top:24px; right:24px; background:#b8965a; color:white; font-size:9px; letter-spacing:0.3em; text-transform:uppercase; padding:6px 14px; }
.pt-thumbs { display:flex; gap:8px; padding:12px; background:rgba(0,0,0,0.3); width:100%; overflow-x:auto; }
.pt-thumb { width:64px; height:80px; object-fit:cover; cursor:pointer; border:2px solid transparent; opacity:0.6; flex-shrink:0; }
.pt-thumb.active, .pt-thumb:hover { border-color:#b8965a; opacity:1; }
.pt-hero-content { padding:48px 52px; display:flex; flex-direction:column; justify-content:center; }
.pt-eyebrow { font-size:10px; letter-spacing:0.4em; text-transform:uppercase; color:#b8965a; margin-bottom:16px; display:flex; align-items:center; gap:10px; }
.pt-eyebrow::before { content:''; width:24px; height:1px; background:#b8965a; }
.pt-title { font-family:'Playfair Display',serif; font-size:clamp(28px,4vw,48px); font-weight:400; line-height:1.1; color:white; margin-bottom:8px; font-style:italic; }
.pt-subtitle { font-size:12px; letter-spacing:0.15em; color:rgba(255,255,255,0.4); margin-bottom:20px; text-transform:uppercase; }
.pt-rating-row { display:flex; align-items:center; gap:10px; margin-bottom:24px; padding-bottom:24px; border-bottom:1px solid rgba(255,255,255,0.08); }
.pt-stars { color:#b8965a; font-size:14px; letter-spacing:2px; }
.pt-rating-text { font-size:12px; color:rgba(255,255,255,0.4); }
.pt-price-row { display:flex; align-items:center; gap:14px; padding:18px 0; border-top:1px solid rgba(255,255,255,0.08); border-bottom:1px solid rgba(255,255,255,0.08); margin-bottom:24px; }
.pt-price { font-family:'Playfair Display',serif; font-size:38px; font-weight:500; color:white; }
.pt-was { font-size:17px; color:rgba(255,255,255,0.3); text-decoration:line-through; }
.pt-save-tag { background:#b8965a; color:white; font-size:10px; letter-spacing:0.15em; text-transform:uppercase; padding:5px 12px; font-weight:500; }
.pt-option-label { font-size:10px; letter-spacing:0.25em; text-transform:uppercase; color:rgba(255,255,255,0.4); display:block; margin-bottom:12px; }
.pt-selected-val { color:#b8965a; }
.pt-colours { display:flex; gap:10px; flex-wrap:wrap; }
.pt-colour-dot { width:28px; height:28px; border-radius:50%; cursor:pointer; border:2px solid transparent; transition:border-color 0.2s; }
.pt-colour-dot.active, .pt-colour-dot:hover { border-color:#b8965a; }
.pt-sizes { display:flex; gap:8px; flex-wrap:wrap; }
.pt-size-btn { padding:10px 18px; border:1px solid rgba(255,255,255,0.15); background:transparent; color:rgba(255,255,255,0.6); font-family:'DM Sans',sans-serif; font-size:12px; cursor:pointer; transition:all 0.2s; }
.pt-size-btn.active, .pt-size-btn:hover { border-color:#b8965a; color:#b8965a; }
.pt-bundle-row { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.pt-bundle-opt { border:1px solid rgba(255,255,255,0.12); background:transparent; padding:14px 10px; cursor:pointer; text-align:center; position:relative; transition:all 0.2s; }
.pt-bundle-opt.active { border-color:#b8965a; background:rgba(184,150,90,0.08); }
.pt-bundle-qty { font-size:13px; font-weight:500; color:white; display:block; margin-bottom:4px; }
.pt-bundle-price { font-size:12px; color:#b8965a; display:block; margin-bottom:2px; }
.pt-bundle-save { font-size:10px; color:rgba(255,255,255,0.35); text-transform:uppercase; letter-spacing:0.1em; }
.pt-buy-btn { width:100%; background:#b8965a; color:white; border:none; padding:17px; font-family:'DM Sans',sans-serif; font-size:12px; letter-spacing:0.22em; text-transform:uppercase; cursor:pointer; font-weight:500; margin-bottom:12px; transition:background 0.2s; }
.pt-buy-btn:hover { background:#ccaa72; }
.pt-trust-row { display:flex; gap:14px; flex-wrap:wrap; margin-bottom:24px; padding:16px 0; border-top:1px solid rgba(255,255,255,0.08); }
.pt-trust-item { display:flex; align-items:center; gap:6px; font-size:11px; color:rgba(255,255,255,0.3); }
.pt-trust-item b { color:#b8965a; }
.pt-accordion { border-top:1px solid rgba(255,255,255,0.08); }
.pt-accordion-item { border-bottom:1px solid rgba(255,255,255,0.08); }
.pt-accordion-trigger { width:100%; background:none; border:none; padding:16px 0; display:flex; justify-content:space-between; align-items:center; cursor:pointer; font-family:'DM Sans',sans-serif; font-size:11px; letter-spacing:0.2em; text-transform:uppercase; color:rgba(255,255,255,0.5); font-weight:400; }
.pt-accordion-trigger::after { content:'+'; color:#b8965a; font-size:18px; }
.pt-accordion-item.open .pt-accordion-trigger::after { content:'−'; }
.pt-accordion-content { display:none; padding:0 0 18px; font-size:13px; color:rgba(255,255,255,0.4); line-height:1.8; }
.pt-accordion-item.open .pt-accordion-content { display:block; }

/* STRIP */
.pt-strip { background:#b8965a; padding:16px 48px; }
.pt-strip-inner { max-width:1100px; margin:0 auto; display:flex; justify-content:center; gap:40px; flex-wrap:wrap; }
.pt-strip-item { display:flex; align-items:center; gap:8px; font-size:11px; letter-spacing:0.18em; text-transform:uppercase; color:white; font-weight:500; }

/* SECTIONS */
.pt-problem { background:#1c1c1e; padding:72px 48px; text-align:center; }
.pt-how { padding:72px 48px; background:#f5f0ea; }
.pt-reviews { background:#1c1c1e; padding:72px 48px; }
.pt-guarantee { padding:64px 48px; background:#faf8f5; text-align:center; }
.pt-final { background:#b8965a; padding:72px 48px; text-align:center; }
.pt-faq { padding:72px 48px; background:#faf8f5; }
.pt-section-inner { max-width:1100px; margin:0 auto; }
.pt-section-eyebrow { font-size:10px; letter-spacing:0.4em; text-transform:uppercase; color:#b8965a; display:block; margin-bottom:14px; }
.pt-section-title { font-family:'Playfair Display',serif; font-size:clamp(26px,3.5vw,42px); font-weight:400; margin-bottom:16px; color:#1c1c1e; line-height:1.2; }
.pt-section-title em { font-style:italic; color:#b8965a; }
.pt-section-title.light { color:white; }
.pt-section-title.light em { color:#ccaa72; }
.pt-section-sub { font-size:14px; color:rgba(255,255,255,0.4); max-width:600px; margin:0 auto 48px; line-height:1.85; }
.pt-three-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:40px; }
.pt-four-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.pt-dark-card { border:1px solid rgba(255,255,255,0.07); background:rgba(255,255,255,0.02); padding:26px 22px; text-align:left; }
.pt-card-icon { font-size:26px; margin-bottom:12px; display:block; }
.pt-card-title { font-size:13px; font-weight:500; color:white; display:block; margin-bottom:8px; }
.pt-card-desc { font-size:12px; color:rgba(255,255,255,0.35); line-height:1.7; }
.pt-step { text-align:center; }
.pt-step-num { width:56px; height:56px; border-radius:50%; background:#b8965a; color:white; font-family:'Playfair Display',serif; font-size:20px; font-style:italic; display:flex; align-items:center; justify-content:center; margin:0 auto 16px; }
.pt-step-title { font-size:13px; font-weight:500; margin-bottom:8px; color:#1c1c1e; }
.pt-step-desc { font-size:12px; color:#6b6058; line-height:1.7; }
.pt-review-card { background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.07); padding:24px 20px; }
.pt-review-stars { color:#b8965a; font-size:12px; letter-spacing:2px; margin-bottom:12px; display:block; }
.pt-review-text { font-family:'Playfair Display',serif; font-size:15px; font-style:italic; color:rgba(255,255,255,0.85); line-height:1.7; margin-bottom:14px; }
.pt-review-author { font-size:11px; letter-spacing:0.18em; text-transform:uppercase; color:#b8965a; display:block; }
.pt-review-verified { font-size:10px; color:#7a9e8a; margin-top:3px; display:block; }
.pt-guarantee-inner { max-width:640px; margin:0 auto; }
.pt-guarantee-badge { width:88px; height:88px; border-radius:50%; background:#b8965a; color:white; display:flex; flex-direction:column; align-items:center; justify-content:center; margin:0 auto 24px; font-size:10px; letter-spacing:0.1em; text-transform:uppercase; font-weight:500; line-height:1.4; }
.pt-guarantee-badge span { font-size:24px; display:block; margin-bottom:2px; }
.pt-final-inner { max-width:560px; margin:0 auto; }
.pt-final-btn { display:inline-block; background:white; color:#b8965a; border:none; padding:16px 44px; font-family:'DM Sans',sans-serif; font-size:12px; letter-spacing:0.22em; text-transform:uppercase; cursor:pointer; font-weight:500; transition:all 0.2s; }
.pt-final-btn:hover { background:#1c1c1e; color:white; }
.pt-faq-inner { max-width:700px; margin:0 auto; }
.pt-faq-item { border-bottom:1px solid #e8ddd4; padding:20px 0; cursor:pointer; }
.pt-faq-q { font-size:14px; font-weight:500; color:#1c1c1e; display:flex; justify-content:space-between; align-items:center; gap:16px; user-select:none; }
.pt-faq-q::after { content:'+'; color:#b8965a; font-size:20px; flex-shrink:0; }
.pt-faq-item.open .pt-faq-q::after { content:'−'; }
.pt-faq-a { font-size:13px; color:#6b6058; line-height:1.8; margin-top:12px; display:none; }
.pt-faq-item.open .pt-faq-a { display:block; }
.pt-features-list { list-style:none; margin-top:20px; }
.pt-features-list li { display:flex; align-items:flex-start; gap:10px; font-size:13px; color:#6b6058; padding:9px 0; border-bottom:1px solid #e8ddd4; line-height:1.6; }
.pt-features-list li::before { content:'✦'; color:#b8965a; font-size:9px; margin-top:4px; flex-shrink:0; }
.pt-features-list li:last-child { border-bottom:none; }

/* FASHION TEMPLATE SPECIFIC */
.pt-fashion-hero { display:grid; grid-template-columns:1fr 1fr; min-height:85vh; background:#faf8f5; }
.pt-fashion-images { position:relative; background:#f5f0ea; overflow:hidden; }
.pt-fashion-main-img { width:100%; height:100%; min-height:550px; object-fit:cover; display:block; }
.pt-fashion-placeholder { width:100%; min-height:550px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; background:linear-gradient(145deg,#e8ddd4,#f5f0ea); }
.pt-fashion-thumbs { display:flex; gap:8px; padding:10px; background:#f5f0ea; overflow-x:auto; }
.pt-fashion-thumb { width:64px; height:80px; object-fit:cover; cursor:pointer; border:2px solid transparent; flex-shrink:0; opacity:0.6; }
.pt-fashion-thumb.active, .pt-fashion-thumb:hover { border-color:#b8965a; opacity:1; }
.pt-fashion-collection-tag { position:absolute; top:20px; left:20px; background:#1c1c1e; color:white; font-size:9px; letter-spacing:0.3em; text-transform:uppercase; padding:5px 12px; }
.pt-fashion-info { padding:52px 48px; display:flex; flex-direction:column; justify-content:center; background:#faf8f5; position:relative; }
.pt-fashion-info::before { content:''; position:absolute; top:0; bottom:0; left:0; width:1px; background:linear-gradient(to bottom,transparent,#e8ddd4,transparent); }
.pt-fashion-breadcrumb { font-size:10px; letter-spacing:0.3em; text-transform:uppercase; color:#b8965a; margin-bottom:18px; display:flex; align-items:center; gap:8px; }
.pt-fashion-breadcrumb span { color:#9e8e82; }
.pt-fashion-title { font-family:'Playfair Display',serif; font-size:clamp(26px,3.5vw,42px); font-weight:400; line-height:1.15; color:#1c1c1e; margin-bottom:6px; }
.pt-fashion-subtitle { font-size:13px; color:#9e8e82; letter-spacing:0.1em; margin-bottom:20px; }
.pt-fashion-rating { display:flex; align-items:center; gap:10px; margin-bottom:20px; padding-bottom:20px; border-bottom:1px solid #e8ddd4; }
.pt-fashion-price-row { display:flex; align-items:center; gap:12px; margin-bottom:24px; }
.pt-fashion-price { font-family:'Playfair Display',serif; font-size:34px; font-weight:500; color:#1c1c1e; }
.pt-fashion-was { font-size:16px; color:#9e8e82; text-decoration:line-through; }
.pt-fashion-option-label { font-size:10px; letter-spacing:0.28em; text-transform:uppercase; color:#1c1c1e; display:block; margin-bottom:10px; font-weight:500; }
.pt-fashion-colours { display:flex; gap:10px; flex-wrap:wrap; }
.pt-fashion-colour-opt { display:flex; flex-direction:column; align-items:center; gap:5px; cursor:pointer; }
.pt-fashion-colour-swatch { width:34px; height:34px; border-radius:50%; border:2px solid transparent; transition:border-color 0.2s; }
.pt-fashion-colour-opt.active .pt-fashion-colour-swatch, .pt-fashion-colour-opt:hover .pt-fashion-colour-swatch { border-color:#b8965a; }
.pt-fashion-colour-name { font-size:9px; letter-spacing:0.1em; text-transform:uppercase; color:#9e8e82; }
.pt-fashion-sizes { display:flex; gap:8px; flex-wrap:wrap; }
.pt-fashion-size-btn { width:50px; height:50px; border:1px solid #e8ddd4; background:white; font-family:'DM Sans',sans-serif; font-size:12px; cursor:pointer; transition:all 0.2s; display:flex; align-items:center; justify-content:center; }
.pt-fashion-size-btn.active, .pt-fashion-size-btn:hover { border-color:#b8965a; color:#b8965a; }
.pt-fashion-buy-btn { width:100%; background:#1c1c1e; color:white; border:none; padding:17px; font-family:'DM Sans',sans-serif; font-size:12px; letter-spacing:0.22em; text-transform:uppercase; cursor:pointer; font-weight:500; margin-bottom:10px; transition:background 0.2s; }
.pt-fashion-buy-btn:hover { background:#b8965a; }
.pt-fashion-wish-btn { width:100%; background:transparent; color:#6b6058; border:1px solid #e8ddd4; padding:14px; font-family:'DM Sans',sans-serif; font-size:11px; letter-spacing:0.2em; text-transform:uppercase; cursor:pointer; margin-bottom:24px; transition:all 0.2s; }
.pt-fashion-wish-btn:hover { border-color:#b8965a; color:#b8965a; }
.pt-fashion-trust { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-bottom:24px; padding:16px 0; border-top:1px solid #e8ddd4; border-bottom:1px solid #e8ddd4; }
.pt-fashion-trust-item { text-align:center; display:flex; flex-direction:column; align-items:center; gap:4px; font-size:10px; letter-spacing:0.1em; text-transform:uppercase; color:#9e8e82; }
.pt-fashion-feature { background:#f5f0ea; padding:72px 48px; }
.pt-fashion-feature-inner { max-width:1100px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.pt-fashion-feature-img { aspect-ratio:3/4; background:linear-gradient(145deg,#e8ddd4,#b8965a30); display:flex; align-items:center; justify-content:center; font-size:64px; opacity:0.35; }
.pt-accordion-trigger { color:rgba(255,255,255,0.5); }
.pt-fashion-info .pt-accordion-trigger { color:#6b6058; }
.pt-fashion-info .pt-accordion-item { border-bottom:1px solid #e8ddd4; }
.pt-fashion-info .pt-accordion-trigger::after { color:#b8965a; }
.pt-fashion-info .pt-accordion-content { color:#6b6058; }
.pt-fashion-info .pt-accordion { border-top:1px solid #e8ddd4; }

/* MOBILE */
@media(max-width:900px) {
  .pt-hero, .pt-fashion-hero { grid-template-columns:1fr; }
  .pt-hero-img, .pt-fashion-images { min-height:300px; }
  .pt-hero-content, .pt-fashion-info { padding:32px 20px; }
  .pt-problem, .pt-how, .pt-reviews, .pt-guarantee, .pt-final, .pt-faq { padding:52px 20px; }
  .pt-three-grid { grid-template-columns:1fr; }
  .pt-four-grid { grid-template-columns:1fr 1fr; }
  .pt-strip { padding:12px 20px; }
  .pt-strip-inner { gap:14px; }
  .pt-sticky { padding:10px 16px; }
  .pt-sticky-left { display:none; }
  .pt-bundle-row { grid-template-columns:repeat(3,1fr); }
  .pt-fashion-feature { padding:52px 20px; }
  .pt-fashion-feature-inner { grid-template-columns:1fr; gap:32px; }
  .pt-fashion-feature-img { display:none; }
  .pt-fashion-trust { grid-template-columns:repeat(2,1fr); }
}
