@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600;700&display=swap');
:root {
  --ink:#171510;
  --black:#100f0b;
  --gold:#b98210;
  --gold-light:#e3bb55;
  --gold-dark:#80520a;
  --cream:#fffaf2;
  --line:#ead9be;
  --muted:#6d665c;
  --shadow:0 12px 30px rgba(58,38,10,.09);
  --serif:'Playfair Display',Georgia,serif;
  --sans:'DM Sans',Arial,sans-serif
}
* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth
}
body {
  margin:0;
  background:#fff;
  color:var(--ink);
  font:15px/1.6 var(--sans)
}
a {
  color:inherit;
  text-decoration:none
}
button,input,textarea,select {
  font:inherit
}
.site-header {
  position:relative;
  z-index:5;
  min-height:82px;
  padding:12px clamp(20px,5vw,76px);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  background:var(--black);
  color:#fff;
  border-bottom:1px solid rgba(226,177,70,.6)
}
.brand {
  display:flex;
  align-items:center;
  gap:11px;
  min-width:210px;
  color:var(--gold-light)
}
.brand-mark {
  position:relative;
  width:53px;
  height:53px;
  display:grid;
  place-items:center;
  border:1px solid var(--gold);
  border-radius:50%;
  font:600 23px var(--serif);
  color:var(--gold-light);
  box-shadow:inset 0 0 0 3px rgba(217,165,48,.15)
}
.brand-mark span {
  position:absolute;
  font-size:19px;
  transform:translate(5px,4px);
  color:#fff1b7;
  text-shadow:0 0 6px #b07d1e
}
.brand-copy {
  display:grid;
  line-height:1.04;
  letter-spacing:.13em
}
.brand-copy strong {
  font:500 24px/1 var(--serif);
  letter-spacing:.07em
}
.brand-copy>span {
  font:500 12px var(--serif);
  letter-spacing:.16em
}
.brand-copy small {
  font-size:9px;
  letter-spacing:.3em;
  margin-top:3px
}
.main-nav {
  display:flex;
  align-items:center;
  gap:clamp(7px,2vw,28px)
}
.main-nav a {
  padding:9px 15px;
  border-radius:30px;
  font-size:13px;
  transition:background .2s,color .2s
}
.main-nav a:hover,.main-nav a.active {
  background:linear-gradient(135deg,#f9df92,#d69a24);
  color:#18130a
}
.header-social {
  display:flex;
  gap:9px
}
.header-social a {
  height:30px;
  width:30px;
  border:1px solid rgba(255,255,255,.55);
  border-radius:50%;
  display:grid;
  place-items:center;
  font-weight:700;
  font-size:15px
}
.menu-toggle {
  display:none;
  background:none;
  border:0;
  color:white
}
.hero {
  position:relative;
  isolation:isolate;
  overflow:hidden
}
.hero-home {
  min-height:470px;
  padding:60px clamp(24px,8vw,120px);
  display:grid;
  grid-template-columns:1fr 1.15fr;
  align-items:center;
  background:radial-gradient(ellipse at 77% 55%,#5a3c12 0,#251d11 37%,#110f0b 76%);
  color:white
}
.hero-home:before,.page-hero:before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:radial-gradient(ellipse at 90% 5%,rgba(226,175,63,.18),transparent 25%),linear-gradient(105deg,rgba(8,8,7,.25),transparent 65%)
}
.hero-content {
  max-width:530px;
  position:relative;
  z-index:1
}
.eyebrow {
  text-transform:uppercase;
  letter-spacing:.17em;
  font-size:10px;
  font-weight:700;
  color:var(--gold-dark);
  margin:0 0 11px
}
.hero .eyebrow,.page-hero .eyebrow,.why-band .eyebrow,.journey-band .eyebrow,.range-note .eyebrow,.inquiry-form .eyebrow {
  color:var(--gold-light)
}
h1,h2,h3,p {
  margin-top:0
}
h1,h2 {
  font-family:var(--serif);
  line-height:1.08
}
.hero h1,.page-hero h1 {
  font-size:clamp(40px,5.1vw,68px);
  margin:0;
  color:#f8d884;
  font-weight:600;
  letter-spacing:-.03em
}
.hero h1 span {
  display:block;
  color:white;
  font-size:.57em;
  letter-spacing:0;
  font-weight:500;
  margin-top:7px
}
.hero-script {
  font:italic 31px/1.05 var(--serif);
  margin:22px 0 15px
}
.hero-description {
  max-width:390px;
  color:#e5dfd3;
  font-size:14px;
  line-height:1.65
}
.hero-actions {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:25px
}
.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  border:1px solid transparent;
  border-radius:999px;
  padding:12px 21px;
  font-weight:700;
  font-size:13px;
  transition:transform .2s,box-shadow .2s,background .2s;
  cursor:pointer
}
.button:hover {
  transform:translateY(-2px);
  box-shadow:0 7px 18px rgba(173,117,18,.2)
}
.button-gold {
  background:linear-gradient(135deg,#ffe6a1,#d99c27);
  color:#201708
}
.button-outline {
  border-color:var(--gold);
  background:rgba(255,255,255,.03);
  color:inherit
}
.button-dark {
  background:var(--black);
  color:#fff;
  border-color:var(--gold)
}
.hero-art {
  min-height:350px;
  position:relative;
  display:grid;
  place-items:center
}
.product-scene {
  position:relative;
  z-index:1;
  width:min(100%,520px);
  height:330px;
  display:flex;
  align-items:end;
  justify-content:center;
  gap:17px;
  padding-bottom:35px
}
.product-plinth {
  position:absolute;
  bottom:15px;
  left:2%;
  right:2%;
  height:34px;
  background:linear-gradient(#fff4d5,#c6a579);
  border-radius:50%;
  box-shadow:0 15px 20px rgba(0,0,0,.4)
}
.pack {
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:end;
  flex:none;
  width:111px;
  height:200px;
  border-radius:16px 16px 20px 20px;
  background:linear-gradient(90deg,#d9bd98,#fff8eb 24%,#fffdfa 70%,#d1b695);
  box-shadow:inset -8px 0 13px rgba(109,74,25,.1),0 15px 22px rgba(0,0,0,.2);
  color:#33230d
}
.pack-label {
  width:78%;
  height:62%;
  margin-bottom:13px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  border:1px solid rgba(175,129,49,.46);
  font:10px/1.2 var(--serif);
  padding:4px
}
.pack-label b {
  width:29px;
  height:29px;
  display:grid;
  place-items:center;
  border:1px solid #ba8c36;
  border-radius:50%;
  font:11px var(--serif);
  margin-bottom:8px;
  color:#a26b14
}
.pack-label strong {
  font:600 12px/1.15 var(--serif)
}
.pack-label small {
  font:7px var(--sans);
  margin-top:4px
}
.pack-cap {
  position:absolute;
  top:-31px;
  width:35px;
  height:34px;
  border-radius:7px 7px 2px 2px;
  background:linear-gradient(90deg,#9f6b17,#ffe08a 40%,#ba8116 70%,#f8d777);
  box-shadow:inset 0 0 0 1px rgba(105,65,4,.35)
}
.pack-cap:before {
  content:"";
  position:absolute;
  top:-12px;
  left:10px;
  width:15px;
  height:12px;
  border-radius:4px 4px 0 0;
  background:linear-gradient(90deg,#b77d1d,#ffe294,#b77d1d)
}
.pack-jar {
  height:142px;
  width:155px;
  border-radius:7px 7px 22px 22px;
  background:linear-gradient(90deg,#070706,#29251a 35%,#090908);
  color:#efc962
}
.pack-jar .pack-cap {
  top:-22px;
  width:100%;
  height:25px;
  border-radius:4px 4px 2px 2px
}
.pack-jar .pack-label {
  height:75%;
  width:79%;
  margin-bottom:7px;
  border-color:#96762d
}
.pack-dark .pack-label b {
  color:#f3ce68;
  border-color:#a47e25
}
.pack-dark .pack-label strong {
  font-size:12px
}
.pack-dropper {
  height:191px;
  width:105px;
  border-radius:15px 15px 17px 17px
}
.pack-dropper .pack-cap {
  top:-42px;
  width:23px;
  height:46px;
  border-radius:10px 10px 4px 4px
}
.pack-dropper .pack-cap:before {
  top:-27px;
  left:8px;
  width:7px;
  height:28px;
  border-radius:4px;
  background:linear-gradient(90deg,#d9d4c8,#fff,#d5c9b3)
}
.pack-dropper .pack-neck {
  position:absolute;
  top:-10px;
  width:43px;
  height:16px;
  background:linear-gradient(90deg,#b47b19,#ffe28a,#b47b19);
  border-radius:3px
}
.pack-dropper .pack-label {
  height:60%
}
.pack-lotion {
  height:225px;
  width:120px;
  border-radius:22px 22px 25px 25px
}
.pack-lotion .pack-cap {
  top:-33px;
  width:39px;
  height:35px
}
.pack-lotion .pack-neck {
  position:absolute;
  top:-18px;
  width:52px;
  height:15px;
  background:linear-gradient(90deg,#a66c14,#ffe18a,#bb801d);
  border-radius:3px
}
.pack-lotion .pack-label {
  height:58%;
  width:77%
}
.pack-oil {
  height:174px;
  width:63px;
  background:linear-gradient(90deg,#17130a,#70480e 25%,#a56d13 48%,#261906);
  color:#f6d77f
}
.pack-oil .pack-cap {
  top:-22px;
  height:26px;
  width:25px
}
.pack-oil .pack-cap:before {
  display:none
}
.pack-oil .pack-neck {
  position:absolute;
  top:-11px;
  width:27px;
  height:11px;
  background:linear-gradient(90deg,#a66c14,#ffe18a,#bb801d)
}
.pack-oil .pack-label {
  height:76%;
  border-color:#d6aa4c
}
.pack-tub {
  width:126px;
  height:92px;
  margin-top:72px;
  border-radius:19px 19px 25px 25px;
  background:linear-gradient(90deg,#e1d7c8,#fff 25%,#f9f2e7 72%,#d4c7b5)
}
.pack-tub .pack-cap {
  height:19px;
  top:-17px;
  width:100%;
  background:linear-gradient(#fdfbf8,#d6cdc0);
  border-radius:7px 7px 2px 2px
}
.pack-tub .pack-label {
  height:68%;
  width:80%;
  margin-bottom:5px
}
.pack-tub .pack-label strong {
  font-size:9px
}
.pack-tub.cream-tub .pack-label {
  background:#fffaf0
}
.mini {
  transform:scale(.75);
  transform-origin:center bottom;
  margin-bottom:0
}
.mini.pack-jar {
  transform:scale(.82)
}
.mini.pack-oil {
  transform:scale(.82)
}
.mini.pack-tub {
  transform:scale(.9);
  margin-top:45px
}
.mini.butter .pack-label {
  background:linear-gradient(90deg,#16130d,#352813)
}
.hero-note {
  position:absolute;
  z-index:2;
  right:3%;
  bottom:8%;
  color:#f7d67f;
  font:italic 14px var(--serif)
}
.hero-note span {
  font-size:22px
}
.leaf {
  position:absolute;
  width:135px;
  height:42px;
  border-radius:100% 0 100% 0;
  background:linear-gradient(135deg,#315523,#88a64a);
  transform:rotate(-25deg);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.15)
}
.leaf:after {
  content:"";
  position:absolute;
  left:12%;
  top:50%;
  width:80%;
  height:1px;
  background:rgba(231,218,156,.7);
  transform:rotate(-7deg)
}
.leaf-one {
  top:12%;
  right:4%
}
.leaf-two {
  bottom:13%;
  left:0;
  transform:rotate(25deg) scale(.8)
}
.trust-strip {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  margin:-1px auto 0;
  padding:20px clamp(20px,7vw,100px);
  background:#fff;
  border-bottom:1px solid var(--line);
  box-shadow:0 6px 16px rgba(0,0,0,.04)
}
.trust-strip>div {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  border-right:1px solid var(--line)
}
.trust-strip>div:last-child {
  border:0
}
.trust-strip p {
  margin:0;
  font-size:12px;
  line-height:1.35
}
.trust-strip p b {
  font-weight:600
}
.trust-icon,.stat-icon {
  font-size:27px;
  color:var(--gold-dark)
}
.section {
  padding:70px clamp(20px,6vw,92px)
}
.section-heading {
  text-align:center;
  margin:0 auto 34px
}
.section-heading h2 {
  font-size:39px;
  margin:0 0 9px
}
h2 em,h1 em {
  font-style:normal;
  color:var(--gold-dark)
}
.section-heading>p:last-child {
  color:var(--muted);
  margin:0
}
.product-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px
}
.product-grid-five {
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:13px
}
.product-card {
  position:relative;
  padding:14px 14px 17px;
  text-align:center;
  border:1px solid #eee3d2;
  border-radius:18px;
  background:linear-gradient(145deg,#fff,#fffaf3);
  box-shadow:0 5px 15px rgba(70,50,21,.045);
  transition:transform .2s,box-shadow .2s
}
.product-card:hover {
  transform:translateY(-4px);
  box-shadow:var(--shadow)
}
.product-visual {
  height:160px;
  display:grid;
  place-items:center;
  position:relative;
  overflow:hidden;
  border-radius:13px;
  background:radial-gradient(ellipse at 50% 85%,#f0e2cb,transparent 58%),linear-gradient(145deg,#fff,#fffaf1)
}
.product-grid-five .product-visual {
  height:138px
}
.product-visual:after {
  content:"";
  position:absolute;
  bottom:18px;
  left:13%;
  right:13%;
  height:9px;
  border-radius:50%;
  background:#c9b18b;
  filter:blur(7px)
}
.product-visual .pack {
  z-index:1
}
.product-card h3 {
  font:600 17px/1.2 var(--serif);
  margin:10px 0 5px
}
.product-card p {
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
  margin:0 auto 11px;
  max-width:220px
}
.text-link {
  font-size:12px;
  font-weight:700;
  color:#7a4c08;
  border-bottom:1px solid #dcb35b;
  padding-bottom:2px
}
.text-link span {
  margin-left:7px
}
.why-band,.journey-band,.range-note,.review-cta {
  margin:0 clamp(20px,4vw,60px);
  padding:28px clamp(24px,5vw,70px);
  border-radius:24px;
  background:radial-gradient(ellipse at 90% 0,#493313,#17140d 52%,#0d0c09);
  color:white;
  display:flex;
  align-items:center;
  gap:30px
}
.years-badge {
  flex:none;
  width:115px;
  height:115px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border:2px solid #d8a535;
  border-radius:50%;
  color:#ffdc76;
  text-align:center;
  line-height:1
}
.years-badge span {
  font:58px/.86 var(--serif)
}
.years-badge b {
  font:20px var(--serif)
}
.years-badge small {
  margin-top:5px;
  text-transform:uppercase;
  font-size:9px;
  letter-spacing:.15em
}
.why-title {
  min-width:210px
}
.why-title h2,.journey-band h2,.range-note h2,.review-cta h2 {
  font-size:30px;
  margin:0
}
.why-title h2 em,.journey-band h2 em,.range-note h2 em {
  color:#f6ce66
}
.why-title .eyebrow {
  margin-bottom:5px
}
.check-list {
  list-style:none;
  padding:0;
  margin:0 auto;
  display:grid;
  gap:8px;
  color:#eee7dc;
  font-size:13px
}
.check-list li:before {
  content:"✓";
  color:#e5b441;
  font-size:19px;
  margin-right:10px
}
.why-band>.button {
  flex:none
}
.closing-cta {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:52px clamp(24px,8vw,120px)
}
.closing-cta h2 {
  font-size:28px;
  margin:0
}
.closing-cta .eyebrow {
  margin-bottom:7px
}
.site-footer {
  background:#11100c;
  color:#eee8db;
  padding:35px clamp(20px,6vw,92px);
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:18px 30px
}
.site-footer p {
  margin:0;
  color:#b9b1a3;
  font-size:12px
}
.site-footer nav {
  display:flex;
  gap:20px;
  font-size:12px
}
.site-footer>small {
  grid-column:1/-1;
  border-top:1px solid #39342a;
  padding-top:13px;
  color:#aaa08d;
  font-size:11px
}
.brand-footer {
  min-width:0
}
.brand-footer .brand-mark {
  width:43px;
  height:43px;
  font-size:19px
}
.brand-footer .brand-copy strong {
  font-size:19px
}
.brand-footer .brand-copy>span {
  font-size:10px
}
.page-hero {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:305px;
  padding:45px clamp(24px,8vw,120px);
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  background:radial-gradient(ellipse at 78% 50%,#4a3415,#1e1911 45%,#11100c 78%);
  color:#fff
}
.page-hero h1 {
  font-size:clamp(43px,5vw,65px)
}
.page-hero>div:first-child>p:last-child {
  max-width:460px;
  margin:14px 0 0;
  color:#e9e1d5
}
.page-hero-art {
  min-height:220px;
  display:grid;
  place-items:center
}
.hero-product {
  position:relative;
  width:100%;
  height:225px;
  display:flex;
  justify-content:center;
  align-items:end;
  gap:4px;
  padding-bottom:18px
}
.hero-product:after {
  content:"";
  position:absolute;
  bottom:5px;
  left:10%;
  right:10%;
  height:22px;
  background:linear-gradient(#fff0cc,#c9ad84);
  border-radius:50%;
  z-index:0
}
.hero-product .pack {
  transform:scale(.82);
  transform-origin:bottom center
}
.hero-product .pack-jar {
  transform:scale(.8);
  margin-right:-12px
}
.hero-product .pack-lotion {
  transform:scale(.86);
  margin-left:-8px
}
.about-hero {
  min-height:300px
}
.section-split {
  display:grid;
  grid-template-columns:.92fr 1.08fr;
  align-items:center;
  gap:32px
}
.story-image {
  min-height:260px;
  position:relative;
  overflow:hidden;
  border-radius:22px;
  background:radial-gradient(ellipse at 70% 22%,rgba(217,169,66,.5),transparent 19%),linear-gradient(120deg,#24351c,#0b0c08 45%,#57401d);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  color:#eac45c;
  box-shadow:var(--shadow)
}
.story-image:before,.story-image:after {
  content:"";
  position:absolute;
  width:180px;
  height:70px;
  border-radius:100% 0 100% 0;
  background:linear-gradient(135deg,#263f19,#82934a);
  opacity:.8;
  transform:rotate(34deg);
  left:-30px;
  top:15px
}
.story-image:after {
  left:auto;
  top:auto;
  right:-30px;
  bottom:10px;
  transform:rotate(-25deg)
}
.story-seal {
  position:relative;
  z-index:1;
  width:84px;
  height:84px;
  border:2px solid #d6aa38;
  border-radius:50%;
  display:grid;
  place-items:center;
  font:36px var(--serif);
  text-shadow:0 0 10px #c28e20
}
.story-seal span {
  position:absolute;
  font-size:28px;
  transform:translate(10px,8px)
}
.story-image p {
  position:relative;
  z-index:1;
  margin:13px 0 0;
  font:19px var(--serif);
  letter-spacing:.08em;
  text-align:center
}
.story-image small {
  display:block;
  font:9px var(--sans);
  letter-spacing:.24em;
  margin-top:4px
}
.story-copy h2 {
  font-size:38px;
  margin-bottom:16px
}
.story-copy>p:not(.eyebrow) {
  color:var(--muted);
  font-size:14px
}
.story-copy .text-link {
  display:inline-block;
  margin-top:4px
}
.stats-row,.hours-row {
  display:grid;
  grid-template-columns:repeat(5,1fr);
  margin:0 clamp(20px,4vw,60px);
  padding:21px 16px;
  border:1px solid var(--line);
  border-radius:19px;
  background:#fffdfa;
  box-shadow:0 8px 20px rgba(63,41,9,.05)
}
.stats-row>div,.hours-row>div {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:4px 9px;
  border-right:1px solid #e8d6b7
}
.stats-row>div:last-child,.hours-row>div:last-child {
  border:0
}
.stats-row p,.hours-row p {
  margin:0;
  font-size:11px;
  line-height:1.4
}
.stats-row strong,.hours-row strong {
  display:block;
  font-size:13px;
  color:var(--ink)
}
.stat-icon {
  font-size:30px
}
.values-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  padding-top:38px;
  padding-bottom:38px
}
.value-card {
  display:flex;
  gap:14px;
  align-items:flex-start;
  padding:22px;
  border:1px solid #eee1cf;
  border-radius:20px;
  background:#fffdfa;
  box-shadow:var(--shadow)
}
.value-icon {
  flex:none;
  width:52px;
  height:52px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#17140e;
  color:#efc55c;
  font-size:28px;
  border:1px solid #d7a93f
}
.value-card h3 {
  font:600 21px var(--serif);
  margin:0 0 7px
}
.value-card p,.plain-checks {
  font-size:12px;
  color:var(--muted);
  margin:0
}
.plain-checks {
  padding:0;
  list-style:none;
  display:grid;
  gap:4px
}
.plain-checks li:before {
  content:"✓";
  color:#bd8319;
  margin-right:7px
}
.journey-band {
  margin-top:0;
  margin-bottom:55px;
  min-height:210px
}
.journey-band>div:last-child {
  max-width:620px
}
.journey-band h2 {
  margin-bottom:9px
}
.journey-band>div:last-child>p:last-child {
  color:#e5ddd0;
  font-size:13px;
  margin:0
}
.products-hero {
  min-height:275px
}
.catalog {
  padding-top:25px
}
.filter-bar {
  display:flex;
  justify-content:center;
  gap:0;
  overflow:auto;
  margin:0 auto 24px;
  padding:7px;
  width:max-content;
  max-width:100%;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fffdf9;
  box-shadow:0 5px 15px rgba(69,46,15,.07)
}
.filter-button {
  white-space:nowrap;
  border:0;
  background:transparent;
  color:var(--ink);
  padding:11px 20px;
  border-right:1px solid #eadbc5;
  font-size:12px;
  cursor:pointer
}
.filter-button:last-child {
  border-right:0
}
.filter-button.active {
  border-radius:999px;
  background:linear-gradient(130deg,#ffe4a0,#dda32b);
  font-weight:700;
  border-right-color:transparent
}
.catalog-grid {
  grid-template-columns:repeat(4,minmax(0,1fr))
}
.catalog-grid .product-card {
  padding:11px 13px 13px
}
.catalog-grid .product-visual {
  height:165px
}
.product-tag {
  position:absolute;
  z-index:2;
  left:10px;
  top:10px;
  color:#7a581b;
  background:#fff8e9;
  border:1px solid #eddbb6;
  border-radius:20px;
  padding:3px 9px;
  font-size:9px
}
.button-small {
  padding:7px 14px;
  font-size:11px;
  margin:0 auto 7px;
  color:var(--ink);
  width:max-content
}
.whatsapp-link {
  display:block;
  width:max-content;
  margin:auto;
  padding:5px 12px;
  background:#12833c;
  color:white;
  border-radius:30px;
  font-size:10px;
  font-weight:700
}
.range-note {
  margin-top:25px;
  margin-bottom:0;
  padding:23px 32px;
  justify-content:space-between
}
.range-note h2 {
  font-size:27px
}
.range-note>p {
  max-width:370px;
  margin:0;
  color:#e7dfd1;
  font-size:12px
}
.range-note .button {
  font-size:11px
}
.reviews-hero {
  min-height:276px
}
.review-hero-mark {
  justify-self:center;
  display:grid;
  gap:9px;
  padding:22px 28px;
  border:1px solid #b98c30;
  border-radius:20px;
  background:rgba(7,7,5,.36);
  text-align:center;
  transform:rotate(2deg)
}
.review-hero-mark span,.stars {
  color:#e6ac24;
  letter-spacing:3px;
  font-size:22px
}
.review-hero-mark b {
  font:600 18px var(--serif);
  color:#fff0c1
}
.review-stats {
  grid-template-columns:repeat(4,1fr);
  margin-top:16px
}
.review-section {
  padding-top:48px
}
.review-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px
}
.review-grid-secondary {
  grid-template-columns:repeat(2,1fr);
  max-width:800px;
  margin:16px auto 0
}
.review-card {
  position:relative;
  min-height:220px;
  padding:25px 22px 20px 80px;
  border:1px solid #ecdfcc;
  border-radius:20px;
  background:linear-gradient(145deg,#fff,#fffaf2);
  box-shadow:var(--shadow)
}
.review-avatar {
  position:absolute;
  left:20px;
  top:24px;
  width:46px;
  height:46px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:radial-gradient(circle at 30% 30%,#fff5cd,#c68f2a);
  border:2px solid white;
  box-shadow:0 0 0 1px #d5ab4d;
  color:#44300f;
  font:600 19px var(--serif)
}
.reviewer h3 {
  font:600 17px var(--serif);
  margin:0
}
.stars {
  display:block;
  font-size:16px;
  letter-spacing:2px
}
.review-card blockquote {
  margin:18px 0 15px;
  color:#39342b;
  font:italic 15px/1.55 var(--serif)
}
.review-card>small {
  font-size:10px;
  color:#8e7c5e
}
.review-cta {
  margin-top:0;
  margin-bottom:55px
}
.review-bubble {
  flex:none;
  width:90px;
  height:62px;
  border:2px solid #e5ba58;
  border-radius:18px;
  color:#f5ce6c;
  display:grid;
  place-items:center;
  font-size:15px;
  letter-spacing:2px;
  position:relative
}
.review-bubble span {
  position:absolute;
  right:-12px;
  bottom:-17px;
  font-size:32px
}
.review-cta>div:nth-child(2) {
  flex:1
}
.review-cta h2 {
  margin-bottom:7px
}
.review-cta>div:nth-child(2)>p:last-child {
  color:#e1d8c8;
  font-size:13px;
  margin:0
}
.contact-hero {
  min-height:270px
}
.contact-hero-art {
  height:240px;
  display:flex;
  align-items:end;
  justify-content:center;
  gap:10px;
  padding-bottom:13px
}
.contact-hero-art:after {
  content:"";
  position:absolute;
  right:7%;
  bottom:28px;
  width:44%;
  height:27px;
  border-radius:50%;
  background:linear-gradient(#fff0cf,#c4a579)
}
.contact-hero-art .pack {
  transform:scale(.82);
  transform-origin:bottom center
}
.contact-hero-art .pack-jar {
  transform:scale(.8)
}
.contact-layout {
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:30px;
  padding-top:48px;
  padding-bottom:38px
}
.contact-info h2,.inquiry-form h2 {
  font-size:34px;
  margin-bottom:10px
}
.contact-intro,.inquiry-form>p:not(.eyebrow) {
  color:var(--muted);
  font-size:13px
}
.contact-card {
  display:flex;
  align-items:center;
  gap:14px;
  padding:13px 15px;
  margin-top:10px;
  border:1px solid #ebddc8;
  border-radius:15px;
  background:#fffdfa;
  box-shadow:0 4px 12px rgba(73,51,13,.045)
}
.contact-icon {
  width:43px;
  height:43px;
  flex:none;
  display:grid;
  place-items:center;
  background:#fff0cc;
  border-radius:13px;
  color:#895b13;
  font-size:23px
}
.contact-card>span:nth-child(2) {
  display:grid;
  line-height:1.35
}
.contact-card small {
  color:#74695b;
  font-size:10px
}
.contact-card strong {
  font:600 16px var(--serif)
}
.contact-arrow {
  margin-left:auto;
  color:#a16c17
}
.social-card {
  margin-top:18px;
  padding:17px;
  border-radius:17px;
  background:#fffaf1;
  border:1px solid #eadcc4
}
.social-card h3 {
  font:600 20px var(--serif);
  margin:0
}
.social-card>p {
  margin:3px 0 12px;
  color:var(--muted);
  font-size:11px
}
.social-links {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px
}
.social-links a {
  display:flex;
  align-items:center;
  gap:7px;
  padding:9px;
  background:#fff;
  border:1px solid #f0e5d4;
  border-radius:10px;
  font-weight:700;
  color:#6b4610
}
.social-links a span {
  font-size:10px;
  color:#342e24;
  font-weight:500
}
.social-links a b {
  margin-left:auto
}
.inquiry-form {
  padding:27px;
  border-radius:20px;
  background:radial-gradient(ellipse at 100% 0,#403319,#12110d 46%);
  color:white;
  box-shadow:0 15px 35px rgba(30,24,12,.14)
}
.inquiry-form>p:not(.eyebrow) {
  color:#d8d0c2
}
.inquiry-form h2 em {
  color:#f0c75d
}
.form-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:11px
}
.form-grid label {
  display:grid;
  gap:5px;
  color:#f6ecd9;
  font-size:11px;
  font-weight:700
}
.form-grid label span {
  color:#e5af39
}
.form-grid input,.form-grid select,.form-grid textarea {
  width:100%;
  min-width:0;
  border:1px solid #d9c9ad;
  border-radius:8px;
  padding:11px 12px;
  background:#fffaf2;
  color:#29241c;
  font-size:12px;
  outline:none
}
.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus {
  border-color:#e1ae3b;
  box-shadow:0 0 0 3px rgba(225,174,59,.18)
}
.form-grid textarea {
  resize:vertical;
  min-height:86px
}
.form-wide {
  grid-column:1/-1
}
.form-submit {
  display:flex;
  width:80%;
  margin:16px auto 7px
}
.form-note {
  text-align:center;
  font-size:10px!important;
  margin:6px 0 0
}
.hours-row {
  grid-template-columns:repeat(3,1fr);
  margin-bottom:35px
}
.toast {
  position:fixed;
  z-index:10;
  bottom:20px;
  left:50%;
  transform:translate(-50%,20px);
  padding:12px 20px;
  border-radius:30px;
  background:#17140e;
  color:white;
  box-shadow:var(--shadow);
  opacity:0;
  pointer-events:none;
  transition:opacity .2s,transform .2s
}
.toast.visible {
  opacity:1;
  transform:translate(-50%,0)
}
[hidden] {
  display:none!important
}
@media(max-width:1000px) {
  .site-header {
    padding-inline:24px
  }
  .brand {
    min-width:180px
  }
  .brand-copy strong {
    font-size:20px
  }
  .main-nav {
    gap:2px
  }
  .main-nav a {
    padding:8px 10px;
    font-size:12px
  }
  .header-social {
    gap:5px
  }
  .product-grid-five {
    grid-template-columns:repeat(3,1fr)
  }
  .why-band {
    gap:20px
  }
  .why-band>.button {
    padding-inline:15px
  }
  .catalog-grid {
    grid-template-columns:repeat(3,1fr)
  }
}
@media(max-width:760px) {
  .site-header {
    min-height:70px;
    padding:9px 19px;
    gap:10px
  }
  .brand {
    min-width:0
  }
  .brand-mark {
    width:45px;
    height:45px;
    font-size:21px
  }
  .brand-copy strong {
    font-size:19px
  }
  .brand-copy>span {
    font-size:10px
  }
  .brand-copy small {
    font-size:8px
  }
  .menu-toggle {
    display:grid;
    gap:5px;
    padding:10px
  }
  .menu-toggle span {
    display:block;
    width:23px;
    height:2px;
    background:#f6d984
  }
  .main-nav {
    display:none;
    position:absolute;
    top:69px;
    left:0;
    right:0;
    padding:12px 18px 18px;
    background:#11100c;
    border-top:1px solid #493a1e;
    flex-direction:column;
    align-items:stretch
  }
  .main-nav.open {
    display:flex
  }
  .main-nav a {
    padding:12px 14px
  }
  .header-social {
    display:none
  }
  .hero-home {
    min-height:0;
    padding:50px 24px 23px;
    grid-template-columns:1fr
  }
  .hero-content {
    max-width:580px
  }
  .hero h1 {
    font-size:47px
  }
  .hero-script {
    font-size:27px
  }
  .hero-description {
    font-size:13px
  }
  .hero-art {
    min-height:290px
  }
  .product-scene {
    height:280px;
    transform:scale(.88)
  }
  .trust-strip {
    grid-template-columns:1fr 1fr;
    gap:16px 5px;
    padding:19px 14px
  }
  .trust-strip>div {
    justify-content:flex-start;
    padding-left:9px;
    border-right:0
  }
  .trust-strip p {
    font-size:11px
  }
  .section {
    padding:53px 20px
  }
  .section-heading h2 {
    font-size:33px
  }
  .product-grid-five {
    grid-template-columns:repeat(2,1fr)
  }
  .product-grid-five article:last-child {
    display:none
  }
  .product-grid-five .product-visual {
    height:130px
  }
  .why-band,.journey-band,.range-note,.review-cta {
    margin-inline:16px;
    padding:23px;
    flex-wrap:wrap;
    gap:18px
  }
  .years-badge {
    width:92px;
    height:92px
  }
  .years-badge span {
    font-size:48px
  }
  .years-badge b {
    font-size:17px
  }
  .why-title {
    min-width:0;
    flex:1
  }
  .why-title h2,.journey-band h2 {
    font-size:26px
  }
  .check-list {
    flex-basis:100%
  }
  .why-band>.button {
    margin-left:auto
  }
  .closing-cta {
    padding:38px 23px;
    align-items:flex-start;
    flex-direction:column
  }
  .closing-cta h2 {
    font-size:25px
  }
  .site-footer {
    grid-template-columns:auto 1fr;
    gap:14px
  }
  .site-footer p {
    grid-column:1/-1;
    grid-row:2
  }
  .site-footer nav {
    grid-column:1/-1;
    flex-wrap:wrap;
    gap:14px
  }
  .site-footer>small {
    grid-column:1/-1
  }
  .page-hero {
    min-height:0;
    padding:40px 24px 20px;
    grid-template-columns:1fr
  }
  .page-hero h1 {
    font-size:48px
  }
  .page-hero-art {
    min-height:200px
  }
  .hero-product {
    height:205px
  }
  .section-split {
    grid-template-columns:1fr;
    gap:23px
  }
  .story-image {
    min-height:220px
  }
  .story-copy h2 {
    font-size:33px
  }
  .stats-row {
    grid-template-columns:repeat(2,1fr);
    gap:8px;
    margin-inline:16px
  }
  .stats-row>div {
    justify-content:flex-start;
    border:0;
    border-bottom:1px solid #eee1cf;
    padding:8px
  }
  .stats-row>div:last-child {
    border:0
  }
  .values-grid {
    grid-template-columns:1fr;
    padding-block:28px
  }
  .journey-band {
    margin-bottom:38px
  }
  .filter-bar {
    justify-content:flex-start;
    width:100%;
    border-radius:15px
  }
  .filter-button {
    padding:10px 14px
  }
  .catalog-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px
  }
  .catalog-grid .product-visual {
    height:142px
  }
  .catalog-grid .product-card {
    padding:8px
  }
  .catalog-grid .product-card h3 {
    font-size:15px
  }
  .catalog-grid .product-card p {
    font-size:11px;
    min-height:34px
  }
  .product-tag {
    font-size:8px;
    left:6px;
    top:7px
  }
  .range-note>div,.range-note>p {
    flex:1 1 40%
  }
  .range-note>.button {
    margin-left:auto
  }
  .review-stats {
    grid-template-columns:repeat(2,1fr)
  }
  .review-grid,.review-grid-secondary {
    grid-template-columns:1fr;
    max-width:none
  }
  .review-card {
    min-height:190px
  }
  .review-cta .button {
    margin-left:auto
  }
  .contact-layout {
    grid-template-columns:1fr;
    padding:38px 20px 28px
  }
  .contact-hero-art {
    height:200px
  }
  .contact-hero-art .pack {
    transform:scale(.68);
    transform-origin:bottom center
  }
  .contact-hero-art .pack-jar {
    transform:scale(.66)
  }
  .contact-hero-art:after {
    width:80%;
    right:10%;
    bottom:19px
  }
  .hours-row {
    grid-template-columns:1fr;
    margin-inline:16px;
    gap:5px
  }
  .hours-row>div {
    justify-content:flex-start;
    border:0;
    border-bottom:1px solid #eee1cf;
    padding:10px 16px
  }
  .hours-row>div:last-child {
    border:0
  }
}
@media(max-width:430px) {
  .hero-actions .button {
    font-size:11px;
    padding:11px 13px
  }
  .hero-art {
    min-height:250px
  }
  .product-scene {
    transform:scale(.76);
    width:125%;
    margin-left:-12.5%
  }
  .trust-strip .trust-icon {
    font-size:23px
  }
  .trust-strip p {
    font-size:10px
  }
  .product-grid-five .product-card {
    padding:9px
  }
  .product-grid-five .product-card p {
    font-size:10px
  }
  .product-grid-five .product-card h3 {
    font-size:14px
  }
  .product-grid-five .product-visual {
    height:112px
  }
  .product-grid-five .mini {
    transform:scale(.62)
  }
  .product-grid-five .mini.pack-jar {
    transform:scale(.7)
  }
  .product-grid-five .mini.pack-oil {
    transform:scale(.7)
  }
  .page-hero h1 {
    font-size:42px
  }
  .hero-product .pack {
    transform:scale(.68);
    transform-origin:bottom center;
    margin-inline:-9px
  }
  .hero-product .pack-jar {
    transform:scale(.68)
  }
  .hero-product .pack-lotion {
    transform:scale(.72)
  }
  .filter-button {
    font-size:10px;
    padding:9px 11px
  }
  .catalog-grid .mini {
    transform:scale(.65)
  }
  .catalog-grid .mini.pack-jar {
    transform:scale(.7)
  }
  .catalog-grid .mini.pack-oil {
    transform:scale(.68)
  }
  .form-grid {
    grid-template-columns:1fr
  }
  .form-wide {
    grid-column:auto
  }
  .inquiry-form {
    padding:21px 17px
  }
  .social-links {
    grid-template-columns:1fr
  }
  .range-note {
    display:grid
  }
  .range-note>div,.range-note>p {
    width:100%
  }
  .range-note>.button {
    margin:0
  }
  .review-cta {
    align-items:flex-start
  }
  .review-cta .button {
    margin:0
  }
  .contact-info h2,.inquiry-form h2 {
    font-size:30px
  }
}
.page-hero h1 em {
  color:var(--gold-light)
}
@media(max-width:760px) {
  .product-grid-five article:last-child {
    display:block
  }
}
.hero-home>* {
  min-width:0
}
@media(max-width:760px) {
  .product-grid-five {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
}
.brand-mark {
  overflow:hidden;
  padding:0;
  border:0;
  box-shadow:none
}
.brand-mark img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:50%
}
.care-section {
  padding-top:55px;
  padding-bottom:65px;
  background:#fff
}
.care-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  max-width:1100px;
  margin:0 auto
}
.care-card {
  display:flex;
  align-items:flex-start;
  gap:15px;
  padding:22px;
  border:1px solid #eadfcf;
  border-radius:18px;
  background:linear-gradient(145deg,#fff,#fffaf2);
  box-shadow:0 7px 22px rgba(58,38,10,.06);
  transition:transform .2s,box-shadow .2s
}
.care-card:hover {
  transform:translateY(-3px);
  box-shadow:var(--shadow)
}
.care-icon {
  display:grid;
  place-items:center;
  flex:none;
  width:48px;
  height:48px;
  border:1px solid #b78a34;
  border-radius:50%;
  background:var(--black);
  color:var(--gold-light);
  font-size:24px
}
.care-copy {
  display:grid;
  gap:5px
}
.care-copy strong {
  font:600 19px/1.2 var(--serif)
}
.care-copy small {
  color:var(--muted);
  font-size:12px;
  line-height:1.5
}
.care-copy .text-link {
  width:max-content;
  margin-top:5px
}
@media(max-width:760px) {
  .care-grid {
    grid-template-columns:1fr;
    gap:11px
  }
  .care-card {
    padding:17px
  }
}
body {
  min-height:100vh;
  display:flex;
  flex-direction:column
}
body>main {
  flex:1 0 auto
}
body>.site-footer {
  margin-top:auto
}
.home-page,.inner-page {
  width:100%
}
.hero-home h1 {
  max-width:540px
}
.hero-home .hero-description {
  max-width:460px
}
.hero-product-grid {
  position:relative;
  z-index:1;
  width:min(100%,560px);
  min-height:255px;
  padding:22px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:stretch;
  gap:12px;
  border:1px solid rgba(233,194,103,.38);
  border-radius:20px;
  background:linear-gradient(145deg,rgba(8,8,7,.82),rgba(67,47,19,.78));
  box-shadow:0 20px 60px #0007
}
.hero-product-photo {
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:14px;
  text-align:center
}
.hero-product-photo>strong {
  color:#fff1ce;
  font:500 13px var(--serif)
}
.product-placeholder {
  width:100%;
  min-height:155px;
  display:grid;
  align-content:center;
  justify-items:center;
  gap:9px;
  overflow:hidden;
  border:1px dashed #c9a95d;
  border-radius:13px;
  background:radial-gradient(ellipse at center,#342817,#17140e 72%);
  color:#edca76;
  text-align:center
}
.placeholder-monogram {
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border:1px solid #d5aa45;
  border-radius:50%;
  font:18px var(--serif)
}
.product-placeholder small {
  font-size:9px;
  letter-spacing:.06em;
  color:#e4d7b6
}
.product-visual>.product-placeholder {
  position:absolute;
  inset:8px;
  width:auto;
  min-height:0;
  z-index:1;
  border-color:#e6d5b6;
  background:radial-gradient(ellipse at center,#fff9ed,#f2e7d5);
  color:#9a6513
}
.product-visual>.product-placeholder .placeholder-monogram {
  color:#9a6513
}
.product-visual>.product-placeholder small {
  color:#74695b
}
.product-visual>img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  z-index:1;
  object-fit:cover;
  border-radius:13px
}
.hero-product-photo>.product-placeholder {
  flex:1;
  min-height:155px
}
.hero-product-photo>.product-placeholder img {
  width:100%;
  height:100%;
  object-fit:cover
}
.content-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px
}
.content-card {
  padding:26px;
  border:1px solid #eee3d2;
  border-radius:18px;
  background:linear-gradient(145deg,#fff,#fffaf2);
  box-shadow:0 8px 24px rgba(58,38,10,.055)
}
.content-card .eyebrow {
  margin-bottom:8px
}
.content-card h2 {
  margin:0 0 11px;
  font:600 24px/1.2 var(--serif)
}
.content-card>p:last-child {
  margin:0;
  color:var(--muted);
  font-size:14px
}
.team-photo {
  width:min(100%,330px);
  aspect-ratio:4/5;
  padding:10px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border:1px solid #cfa549;
  border-radius:20px;
  background:linear-gradient(145deg,#fff9ea,#73531d);
  color:#fff3d4;
  text-align:center
}
.team-photo img {
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:13px
}
.team-photo span {
  font:italic 16px var(--serif)
}
.team-content {
  grid-template-columns:1fr;
  max-width:900px;
  margin:auto
}
.team-content .content-card:first-child {
  padding:36px
}
.product-page-mark,.gallery-mark {
  width:230px;
  height:230px;
  display:grid;
  align-content:center;
  justify-items:center;
  gap:10px;
  border:1px solid #d6aa46;
  border-radius:50%;
  background:radial-gradient(circle,#523b16,#17140e 69%);
  color:#f6d984;
  box-shadow:inset 0 0 0 8px #d6aa4622,0 16px 35px #0004
}
.product-page-mark span {
  font:600 92px/.9 var(--serif)
}
.product-page-mark small,.gallery-mark small {
  font-size:10px;
  letter-spacing:.15em
}
.gallery-mark span {
  font:600 82px/.9 var(--serif)
}
.catalog-grid .product-placeholder {
  position:absolute;
  inset:7px;
  min-height:0;
  background:radial-gradient(ellipse at center,#fffaf0,#f1e4ce)
}
.catalog-grid .product-placeholder .placeholder-monogram {
  color:#976717
}
.catalog-grid .product-placeholder small {
  color:#776446
}
.product-visual img:not(.product-placeholder img) {
  position:absolute;
  inset:0;
  z-index:1;
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:13px
}
.product-option {
  color:#785817!important;
  font-size:10px!important;
  margin:0 auto 5px!important
}
.product-price {
  color:#211d15!important;
  font-weight:700;
  font-size:13px!important
}
.catalog-grid>.content-card {
  grid-column:1/-1;
  margin-top:14px
}
.gallery-intro {
  margin-bottom:28px
}
.gallery-grid {
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:12px
}
.gallery-item {
  margin:0;
  aspect-ratio:1/1;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:13px;
  background:#fffaf1
}
.gallery-item>img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .35s ease
}
.gallery-item:hover>img {
  transform:scale(1.05)
}
.gallery-placeholder {
  width:100%;
  height:100%;
  display:grid;
  align-content:center;
  justify-items:center;
  gap:7px;
  background:linear-gradient(145deg,#fff,#f8efdf);
  color:#997a46
}
.gallery-placeholder span {
  font:600 32px var(--serif)
}
.gallery-placeholder small {
  font-size:10px;
  letter-spacing:.08em
}
.review-hero-mark span {
  font:600 58px/1 var(--serif);
  color:var(--gold-light)
}
.review-section+.content-card {
  margin:0 clamp(20px,6vw,92px) 25px
}
.contact-hero-mark {
  display:grid;
  justify-items:center;
  gap:11px;
  color:#fff3d1;
  font:italic 14px var(--serif)
}
.contact-hero-mark img {
  width:min(100%,210px);
  aspect-ratio:1/1;
  object-fit:cover;
  border-radius:50%;
  box-shadow:0 12px 30px #0008
}
.map-section {
  display:grid;
  grid-template-columns:.75fr 1.25fr;
  gap:25px;
  align-items:center;
  margin:0 clamp(20px,5vw,70px) 35px;
  padding:24px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fffdf9
}
.map-section h2 {
  font:600 27px/1.2 var(--serif);
  margin:0 0 10px
}
.map-section>div>p:last-child {
  margin:0;
  color:var(--muted);
  font-size:13px
}
.map-section iframe {
  width:100%;
  min-height:280px;
  border:0;
  border-radius:12px;
  background:#f3eee4
}
.why-copy {
  flex:1;
  max-width:450px;
  margin:0 auto;
  color:#e5ddd0;
  font-size:13px
}
.error-page {
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:24px;
  background:#fff
}
.error-content {
  width:min(100%,620px);
  padding:45px;
  border:1px solid var(--line);
  border-radius:20px
}
.error-content h1 {
  font:600 42px/1.1 var(--serif)
}
.error-content>p:not(.eyebrow) {
  color:var(--muted)
}
@media(max-width:1000px) {
  .gallery-grid {
    grid-template-columns:repeat(4,minmax(0,1fr))
  }
}
@media(max-width:760px) {
  .hero-product-grid {
    min-height:0;
    padding:13px;
    gap:8px
  }
  .hero-product-photo>.product-placeholder {
    min-height:100px
  }
  .content-grid {
    grid-template-columns:1fr;
    padding-top:38px;
    padding-bottom:38px
  }
  .content-card {
    padding:20px
  }
  .team-content .content-card:first-child {
    padding:24px
  }
  .product-page-mark,.gallery-mark {
    width:190px;
    height:190px
  }
  .gallery-grid {
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px
  }
  .map-section {
    grid-template-columns:1fr;
    margin-inline:16px;
    padding:18px
  }
  .map-section iframe {
    min-height:240px
  }
  .why-band .why-copy {
    flex-basis:100%
  }
}
@media(max-width:430px) {
  .hero-product-grid {
    padding:9px;
    gap:6px
  }
  .hero-product-photo {
    gap:9px
  }
  .hero-product-photo>strong {
    font-size:10px
  }
  .gallery-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .product-page-mark,.gallery-mark {
    width:165px;
    height:165px
  }
}
.site-header {
  position:sticky;
  top:0
}
.gallery-trigger {
  display:block;
  width:100%;
  height:100%;
  padding:0;
  overflow:hidden;
  border:0;
  background:transparent;
  cursor:zoom-in
}
.gallery-trigger>img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .35s ease
}
.gallery-trigger:hover>img {
  transform:scale(1.06)
}
.reveal-on-scroll {
  opacity:0;
  transform:translateY(15px);
  transition:opacity .55s ease,transform .55s ease
}
.reveal-on-scroll.in-view {
  opacity:1;
  transform:translateY(0)
}
.floating-whatsapp {
  position:fixed;
  z-index:6;
  right:22px;
  bottom:22px;
  display:flex;
  align-items:center;
  gap:9px;
  padding:11px 16px;
  border:1px solid #46a75d;
  border-radius:999px;
  background:#12833c;
  color:white;
  font-size:12px;
  font-weight:700;
  box-shadow:0 10px 24px #071a0b38;
  transition:transform .2s ease,box-shadow .2s ease
}
.floating-whatsapp:hover {
  transform:translateY(-3px);
  box-shadow:0 13px 28px #071a0b55
}
.floating-whatsapp::first-letter {
  font-size:18px
}
.back-to-top {
  position:fixed;
  z-index:6;
  right:28px;
  bottom:83px;
  width:39px;
  height:39px;
  display:grid;
  place-items:center;
  border:1px solid var(--gold);
  border-radius:50%;
  background:#17140e;
  color:var(--gold-light);
  font-size:20px;
  cursor:pointer;
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  transition:opacity .2s,visibility .2s,transform .2s
}
.back-to-top.visible {
  opacity:1;
  visibility:visible;
  transform:translateY(0)
}
.image-modal {
  position:fixed;
  max-width:min(94vw,1100px);
  max-height:92vh;
  padding:15px;
  border:1px solid #d5aa45;
  border-radius:17px;
  background:#11100c;
  color:white;
  box-shadow:0 20px 70px #000b
}
.image-modal::backdrop {
  background:#0b0a08d9;
  backdrop-filter:blur(5px)
}
.image-modal>img {
  display:block;
  max-width:calc(94vw - 30px);
  max-height:80vh;
  object-fit:contain;
  border-radius:9px
}
.image-modal>p {
  margin:10px 35px 0 0;
  color:#e4d7b6;
  font-size:12px
}
.image-modal form {
  position:absolute;
  z-index:1;
  top:10px;
  right:10px
}
.image-modal-close {
  width:36px;
  height:36px;
  border:1px solid #d5aa45;
  border-radius:50%;
  background:#11100ce8;
  color:#ffe3a0;
  font-size:23px;
  cursor:pointer
}
.product-card,.care-card,.review-card,.value-card,.content-card {
  transition:transform .24s ease,box-shadow .24s ease
}
.product-card:hover,.care-card:hover,.review-card:hover,.value-card:hover,.content-card:hover {
  box-shadow:0 15px 34px rgba(58,38,10,.12)
}
.product-visual>img:hover {
  transform:scale(1.035);
  transition:transform .35s ease
}
.button:focus-visible,.main-nav a:focus-visible,.text-link:focus-visible,.filter-button:focus-visible,.floating-whatsapp:focus-visible,.back-to-top:focus-visible {
  outline:3px solid #b9811b;
  outline-offset:3px
}
@media(max-width:760px) {
  .site-header {
    position:sticky
  }
  .floating-whatsapp {
    right:12px;
    bottom:12px;
    padding:10px 13px
  }
  .back-to-top {
    right:18px;
    bottom:66px
  }
}
@media(min-width:761px) and (max-width:840px) {
  .site-header {
    padding:9px 20px;
    gap:10px
  }
  .brand {
    min-width:0
  }
  .menu-toggle {
    display:grid;
    gap:5px;
    padding:10px
  }
  .menu-toggle span {
    display:block;
    width:23px;
    height:2px;
    background:#f6d984
  }
  .main-nav {
    display:none;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    padding:12px 18px 18px;
    background:#11100c;
    border-top:1px solid #493a1e;
    flex-direction:column;
    align-items:stretch
  }
  .main-nav.open {
    display:flex
  }
  .main-nav a {
    padding:12px 14px
  }
  .header-social {
    display:none
  }
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after {
    scroll-behavior:auto!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important
  }
}
/* Home hero: photographic black and gold design. */
.home-page:has(.hero-photo) { background:#fff8ec }
.hero-home.hero-photo {
  display:flex;
  align-items:center;
  min-height:480px;
  height:40vw;
  max-height:720px;
  padding:30px 6.5% 65px;
  background:#171109;
}
.hero-photo::before { display:none }
.hero-background {
  position:absolute;
  inset:0;
  z-index:-1;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.hero-photo .hero-content { width:45%; max-width:650px }
.hero-home.hero-photo h1 {
  max-width:none;
  font-size:clamp(30px,3.5vw,60px);
  line-height:1.15;
  letter-spacing:-.025em;
  color:#f4d279;
}
.hero-photo .hero-script {
  margin:12px 0 0 24px;
  font:italic 600 clamp(30px,3.25vw,54px)/1.08 var(--serif);
  color:#fff;
  letter-spacing:-.02em;
}
.hero-flourish {
  display:block;
  width:200px;
  height:23px;
  margin:6px 0 14px 60px;
  color:#e6b552;
}
.hero-home.hero-photo .hero-description {
  max-width:420px;
  margin:0 0 0 16px;
  font-size:clamp(14px,1.4vw,20px);
  line-height:1.35;
  color:#fff;
}
.hero-photo .hero-actions { gap:14px; margin-top:22px; flex-wrap:nowrap }
.hero-photo .button {
  min-height:48px;
  padding:10px 18px;
  gap:9px;
  white-space:nowrap;
  border-radius:999px;
  font-size:clamp(12px,1.3vw,18px);
  font-weight:700;
  line-height:1.2;
}
.hero-photo .button svg { width:24px; height:24px; flex-shrink:0 }
.hero-photo .button-gold {
  color:#100d07;
  border:1px solid #f6cd75;
  background:linear-gradient(110deg,#e3ad3e,#ffe29a 48%,#e8ad3b);
  box-shadow:0 5px 18px #0005;
}
.hero-photo .button-outline {
  color:#fff;
  border:1.5px solid #d4ab55;
  background:#0b0b09b8;
  box-shadow:inset 0 0 0 1px #f4d88b22,0 5px 18px #0004;
}
.hero-photo .button:hover { filter:brightness(1.1); transform:translateY(-2px) }
.trust-strip.hero-trust {
  position:relative;
  z-index:2;
  width:92%;
  margin:-38px auto 0;
  padding:18px 22px;
  gap:0;
  border:1px solid #d7b363;
  border-radius:23px;
  background:linear-gradient(110deg,#151208,#080909 65%,#11100c);
  color:#fff;
  box-shadow:0 8px 22px #73481c17;
}
.hero-trust>div { padding:0 16px; gap:16px; border-right:1px solid #ad9054 }
.hero-trust>div:last-child { border-right:0 }
.hero-trust .trust-icon { display:flex; color:#e9c372; flex-shrink:0 }
.hero-trust .trust-icon svg { width:44px; height:44px }
.hero-trust p { font-size:clamp(12px,1.3vw,18px); line-height:1.3 }
@media (min-width:761px) and (max-width:1050px) {
  .hero-home.hero-photo { min-height:440px; padding-left:4%; padding-right:4% }
  .hero-photo .hero-content { width:49% }
  .hero-photo .hero-actions { gap:8px }
  .hero-photo .button { padding:10px 12px }
  .hero-trust>div { padding:0 9px; gap:9px }
  .hero-trust .trust-icon svg { width:34px; height:34px }
}
@media (max-width:760px) {
  .hero-home.hero-photo {
    display:block;
    height:auto;
    max-height:none;
    min-height:0;
    padding:32px 24px 340px;
    background:#171109;
  }
  .hero-photo .hero-background {
    inset:auto 0 0;
    height:310px;
    object-fit:cover;
    object-position:right center;
  }
  .hero-photo .hero-content { width:100%; max-width:540px; margin:auto }
  .hero-home.hero-photo h1 { font-size:clamp(27px,6.4vw,43px) }
  .hero-photo .hero-script { font-size:clamp(31px,7vw,42px); margin-left:10px }
  .hero-flourish { margin-left:40px; margin-bottom:16px; width:180px }
  .hero-home.hero-photo .hero-description { margin-left:0; max-width:480px; font-size:15px; line-height:1.5 }
  .hero-photo .hero-actions { gap:10px; flex-wrap:wrap; margin-top:20px }
  .hero-photo .button { font-size:13px; min-height:46px; padding:10px 14px }
  .hero-photo .button svg { width:21px; height:21px }
  .trust-strip.hero-trust { width:calc(100% - 28px); margin-top:-25px; padding:18px 12px; gap:18px 0; border-radius:19px }
  .hero-trust>div { padding:0 9px; gap:9px; justify-content:flex-start; border:0 }
  .hero-trust>div:nth-child(odd) { border-right:1px solid #ad9054 }
  .hero-trust .trust-icon svg { width:31px; height:31px }
  .hero-trust p { font-size:11px; line-height:1.4 }
}
/* Featured products: compact ivory cards on a warm champagne background. */
.featured-products {
  position:relative;
  padding:32px 4% 34px;
  background:radial-gradient(ellipse at 50% 0,#fff9eeaa,transparent 65%),radial-gradient(ellipse at 0 100%,#dfb97166,transparent 34%),linear-gradient(110deg,#efddc2,#f9ecda 50%,#ecd5b9);
}
.featured-products .featured-heading { margin:0 auto 16px }
.featured-heading h2 {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:20px;
  margin:0;
  color:#12100c;
  font:700 clamp(27px,3vw,42px)/1.15 var(--serif);
  letter-spacing:-.035em;
}
.featured-heading h2::before,.featured-heading h2::after {
  content:"";
  width:48px;
  height:5px;
  flex-shrink:0;
  background:radial-gradient(circle at calc(100% - 2px) 50%,#ba8b2f 0 2px,transparent 2.5px),linear-gradient(90deg,transparent,#d8ae53) left center/calc(100% - 4px) 1px no-repeat;
}
.featured-heading h2::after { transform:rotate(180deg) }
.featured-products .product-grid-five { grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; max-width:1440px; margin:auto }
.featured-products .featured-card {
  display:flex;
  flex-direction:column;
  align-items:center;
  min-width:0;
  padding:0 10px 13px;
  border:1px solid #fff8ec88;
  border-radius:18px;
  background:linear-gradient(155deg,#fffaf1eb,#fff5e6b8);
  box-shadow:0 2px 12px #b28b4d08;
  overflow:hidden;
}
.featured-products .product-visual {
  flex-shrink:0;
  width:calc(100% + 12px);
  height:clamp(132px,12.5vw,186px);
  border-radius:14px 14px 0 0;
  background:radial-gradient(ellipse at 50% 92%,#e6d5b8aa,transparent 62%);
}
.featured-products .product-visual::after { bottom:11px; opacity:.45 }
.featured-products .product-visual>img { object-fit:contain; border-radius:0; mix-blend-mode:multiply }
.featured-products .product-visual .pack {
  position:absolute;
  bottom:12px;
  margin:0;
  transform-origin:center bottom;
}
.featured-products .product-visual .pack-jar { transform:scale(.72) }
.featured-products .product-visual .pack-dropper { transform:scale(.48) }
.featured-products .product-visual .pack-lotion { transform:scale(.5) }
.featured-products .product-visual .pack-oil { transform:scale(.65) }
.featured-products .featured-card h3 {
  margin:4px 0 7px;
  color:#14120f;
  font:700 clamp(14px,1.5vw,20px)/1.2 var(--sans);
  letter-spacing:-.035em;
}
.featured-products .featured-card p {
  margin:0 auto 10px;
  max-width:205px;
  color:#25221c;
  font-size:clamp(12px,1.12vw,15px);
  line-height:1.3;
}
.featured-product-link {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  margin-top:auto;
  min-height:31px;
  padding:5px 15px;
  border:1.5px solid #dda735;
  border-radius:999px;
  background:linear-gradient(#fffaf1,#faedda);
  color:#18150f;
  font-size:12px;
  font-weight:700;
  line-height:1.2;
  transition:background .2s,box-shadow .2s;
}
.featured-product-link svg { width:13px; height:13px; flex-shrink:0 }
.featured-product-link:hover { background:#f8dda4; box-shadow:0 3px 10px #b88a2922 }
.featured-product-link:focus-visible,.featured-card h3 a:focus-visible,.featured-card .product-visual:focus-visible { outline:3px solid #a57016; outline-offset:3px }
.catalog-grid .product-card[id] { scroll-margin-top:110px }
@media (min-width:1500px) {
  .featured-products .product-visual .pack-jar { transform:scale(.9) }
  .featured-products .product-visual .pack-dropper { transform:scale(.6) }
  .featured-products .product-visual .pack-lotion { transform:scale(.62) }
  .featured-products .product-visual .pack-oil { transform:scale(.8) }
}
@media (min-width:761px) and (max-width:1000px) {
  .featured-products { padding-left:3%; padding-right:3% }
  .featured-products .product-grid-five { gap:9px }
  .featured-products .featured-card { padding-left:7px; padding-right:7px }
  .featured-product-link { padding:6px 10px; font-size:11px }
}
@media (max-width:760px) {
  .featured-products { padding:30px 18px }
  .featured-products .featured-heading { margin-bottom:20px }
  .featured-heading h2 { gap:10px; font-size:28px }
  .featured-heading h2::before,.featured-heading h2::after { width:28px }
  .featured-products .product-grid-five { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px }
  .featured-products .featured-card { padding-bottom:15px }
  .featured-products .product-visual { height:150px }
  .featured-products .featured-card h3 { font-size:15px; margin-top:8px }
  .featured-products .featured-card p { font-size:12px; margin-bottom:13px }
  .featured-product-link { min-height:36px; font-size:12px }
}
@media (max-width:359px) {
  .featured-products { padding-left:12px; padding-right:12px }
  .featured-heading h2 { font-size:25px }
  .featured-heading h2::before,.featured-heading h2::after { width:18px }
  .featured-products .product-grid-five { gap:10px }
  .featured-products .featured-card h3 { font-size:14px }
}
/* About Us photographic hero. */
.page-hero.about-photo-hero {
  display:flex;
  align-items:center;
  height:33.333vw;
  min-height:330px;
  max-height:560px;
  padding:30px 8.5%;
  background:#100e09;
}
.about-photo-hero::before { display:none }
.about-hero-background {
  position:absolute;
  inset:0;
  z-index:-1;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:right center;
}
.about-photo-hero .about-hero-copy { position:relative; width:48%; max-width:650px }
.about-photo-hero h1 {
  margin:0 0 2px;
  font:600 clamp(52px,6.4vw,94px)/1.08 var(--serif);
  letter-spacing:-.035em;
  color:#f6d783;
  background:linear-gradient(#fff2b8,#ebbd55);
  background-clip:text;
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
}
.about-photo-hero .about-hero-brand {
  margin:0;
  color:#f5dfa2;
  font:500 clamp(26px,3.2vw,48px)/1.2 var(--serif);
  letter-spacing:-.035em;
}
.about-hero-rule {
  display:block;
  width:195px;
  height:3px;
  margin:18px 0 21px 42px;
  background:linear-gradient(90deg,transparent,#f3d17b 25%,#daa842 70%,transparent);
  border-radius:50%;
}
.about-photo-hero .about-hero-copy .about-hero-intro {
  max-width:470px;
  margin:0;
  color:#fffaf0;
  font:italic 500 clamp(19px,2vw,28px)/1.25 var(--serif);
  text-wrap:pretty;
}
@media (min-width:761px) and (max-width:1000px) {
  .page-hero.about-photo-hero { padding-left:6%; padding-right:6% }
  .about-photo-hero .about-hero-copy { width:50% }
  .about-photo-hero .about-hero-brand { font-size:29px }
}
@media (max-width:760px) {
  .page-hero.about-photo-hero {
    display:block;
    height:auto;
    min-height:0;
    max-height:none;
    padding:32px 24px 285px;
  }
  .about-photo-hero .about-hero-copy { width:100%; max-width:520px; margin:auto }
  .about-photo-hero h1 { font-size:clamp(48px,11vw,72px) }
  .about-photo-hero .about-hero-brand { font-size:clamp(25px,5.6vw,36px) }
  .about-hero-rule { width:170px; margin:17px 0 19px 25px }
  .about-photo-hero .about-hero-copy .about-hero-intro { font-size:21px; max-width:460px }
  .about-hero-background { inset:auto 0 0; height:260px; object-fit:cover; object-position:right center }
}
/* About company overview, facts and purpose cards. */
.about-details {
  padding:24px 2.1% 30px;
  background:radial-gradient(ellipse at 90% 20%,#fffdf8aa,transparent 60%),linear-gradient(125deg,#f3e5d1,#fff9f0 55%,#f2e3cf);
}
.about-details .company-overview {
  display:grid;
  grid-template-columns:40% minmax(0,1fr);
  align-items:center;
  gap:30px;
  margin:0;
  padding:0 2.6% 24px;
}
.company-overview-image {
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:2/1;
  object-fit:cover;
  border-radius:26px;
}
.company-overview .story-copy h2 {
  display:flex;
  align-items:center;
  gap:24px;
  margin:0 0 22px;
  color:#100e0b;
  font:700 clamp(25px,3.2vw,44px)/1.15 var(--serif);
  letter-spacing:-.035em;
}
.company-overview .story-copy h2::after {
  content:"";
  flex:0 1 120px;
  min-width:35px;
  height:2px;
  background:linear-gradient(90deg,#a56d16,#e4ba62,transparent);
}
.company-overview .story-copy p {
  max-width:720px;
  margin:0;
  color:#171510;
  font-size:clamp(14px,1.6vw,21px);
  line-height:1.4;
}
.about-details .company-facts {
  display:grid;
  grid-template-columns:1fr 1.12fr .95fr 1.13fr 1.35fr;
  align-items:stretch;
  gap:0;
  margin:0;
  padding:20px 14px;
  border:1px solid #dbc39a;
  border-radius:27px;
  background:#fffaf1aa;
  box-shadow:inset 0 1px 1px #fff,0 3px 4px #bc90572b;
}
.company-facts>div {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:13px;
  padding:0 14px;
  border:0;
  border-right:1px solid #d6a34e;
}
.company-facts>div:last-child { border:0 }
.company-facts .stat-icon { display:flex; flex-shrink:0; color:#d7a130 }
.company-facts .stat-icon svg { width:49px; height:49px }
.company-facts p { margin:0; color:#14120e; font-size:14px; font-weight:700; line-height:1.3 }
.company-facts p strong { display:block; margin-top:3px; color:#14120e; font-size:15px; font-weight:600; line-height:1.3 }
.company-facts p .fact-year { font-size:24px; font-weight:700 }
.fact-anniversary { position:relative; display:block; width:82px; height:76px; flex-shrink:0; color:#b9811c; text-align:center }
.fact-anniversary svg { position:absolute; inset:0; width:100%; height:100% }
.fact-anniversary b { position:relative; display:block; font:600 55px/.95 var(--serif) }
.fact-anniversary small { position:relative; display:block; font:700 18px/1 var(--serif); color:#16120b }
.about-details .company-values {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin:0;
  padding:23px 0 0;
}
.company-values .value-card {
  display:flex;
  align-items:flex-start;
  gap:17px;
  min-width:0;
  padding:21px 19px 24px;
  border:1px solid #ead7bb;
  border-top-color:#fff;
  border-radius:29px;
  background:linear-gradient(125deg,#fffdf6c9,#fff8eede);
  box-shadow:inset 0 1px 1px #fff,0 4px 5px #a9793f25;
}
.company-values .value-card>div { min-width:0 }
.company-values .value-icon {
  display:grid;
  place-items:center;
  flex-shrink:0;
  width:80px;
  height:80px;
  margin:0;
  border:2px solid #ceaa50;
  border-radius:50%;
  color:#e6bc55;
  background:radial-gradient(ellipse at 25% 12%,#4c3e1e,#15140f 60%,#080807);
  box-shadow:0 5px 12px #b88c4c30;
}
.company-values .value-icon svg { width:43px; height:43px }
.company-values .value-card h3 { margin:0 0 9px; color:#100f0c; font:700 clamp(20px,2.15vw,30px)/1.2 var(--serif); letter-spacing:-.035em }
.company-values .value-card p,.company-values .value-card li { margin:0; color:#171510; font-size:clamp(13px,1.35vw,18px); line-height:1.4 }
.company-values ul { list-style:none; margin:0; padding:0 }
.company-values .value-card li { display:flex; align-items:flex-start; gap:7px; margin-bottom:10px }
.company-values li svg { flex-shrink:0; width:20px; height:20px; margin-top:2px; color:#d0a03a }
@media (min-width:761px) and (max-width:1100px) {
  .company-facts>div { gap:8px; padding:0 9px }
  .company-facts .stat-icon svg { width:36px; height:36px }
  .company-facts p,.company-facts p strong { font-size:12px }
  .fact-anniversary { width:60px; height:66px }
  .fact-anniversary b { font-size:46px }
  .fact-anniversary small { font-size:14px }
  .company-values .value-card { padding:18px 13px; gap:12px }
  .company-values .value-icon { width:58px; height:58px }
  .company-values .value-icon svg { width:34px; height:34px }
  .company-overview .story-copy h2 { margin-bottom:15px; gap:15px }
}
@media (max-width:760px) {
  .about-details { padding:22px 16px 26px }
  .about-details .company-overview { grid-template-columns:1fr; padding:0 3px 24px; gap:21px }
  .company-overview-image { border-radius:22px }
  .company-overview .story-copy h2 { font-size:30px; margin-bottom:13px; gap:16px }
  .company-overview .story-copy p { font-size:15px; line-height:1.55 }
  .about-details .company-facts { grid-template-columns:repeat(2,minmax(0,1fr)); padding:8px 12px; border-radius:22px }
  .company-facts>div { justify-content:flex-start; gap:12px; padding:15px 8px; border:0; border-bottom:1px solid #ddc49c }
  .company-facts>div:nth-child(odd):not(:last-child) { border-right:1px solid #ddc49c }
  .company-facts>div:last-child { grid-column:1/-1; justify-content:center; padding-top:17px; border:0 }
  .company-facts .stat-icon svg { width:36px; height:36px }
  .company-facts p,.company-facts p strong { font-size:12px }
  .company-facts p .fact-year { font-size:21px }
  .about-details .company-values { grid-template-columns:1fr; padding-top:20px; gap:14px }
  .company-values .value-card { padding:22px; gap:18px; border-radius:25px }
  .company-values .value-icon { width:68px; height:68px }
  .company-values .value-icon svg { width:36px; height:36px }
  .company-values .value-card h3 { font-size:25px }
  .company-values .value-card p,.company-values .value-card li { font-size:15px }
}
/* About anniversary banner. */
.journey-band.journey-photo {
  position:relative;
  isolation:isolate;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:32px;
  height:clamp(200px,17vw,270px);
  min-height:200px;
  margin:0 2.1% 30px;
  padding:18px 32px;
  border:1px solid #d6b458;
  border-radius:30px;
  overflow:hidden;
  background:#100e08;
  color:#f4cf6a;
}
.journey-background {
  position:absolute;
  top:0;
  right:0;
  z-index:-2;
  width:auto;
  max-width:none;
  height:100%;
}
.journey-photo::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(90deg,#100e0820 0%,#100e0838 58%,transparent 78%);
}
.journey-photo .journey-anniversary {
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  align-self:stretch;
  flex:0 0 190px;
  padding:0 26px 20px 0;
  border-right:1px solid #b88d34;
}
.journey-wreath { position:absolute; left:0; top:50%; width:164px; height:164px; transform:translateY(-50%); color:#e7bc4f }
.journey-number { position:relative; font:600 98px/.85 var(--serif); color:#f2ce6d; letter-spacing:-.06em }
.journey-years { position:relative; margin-top:0; font:600 25px/1 var(--serif); color:#ebc25d }
.journey-ribbon {
  position:absolute;
  bottom:2px;
  left:0;
  display:block;
  width:164px;
  padding:6px 12px;
  background:linear-gradient(105deg,#d5a22d,#ffe798 48%,#d5a22d);
  clip-path:polygon(0 0,13% 7%,50% 0,87% 7%,100% 0,95% 50%,100% 100%,50% 92%,0 100%,5% 50%);
  color:#201505;
  font:700 17px/1.1 var(--serif);
  text-align:center;
}
.journey-photo .journey-copy { flex:0 1 49%; max-width:650px; padding:0; border:0 }
.journey-photo .journey-copy h2 { margin:0 0 9px; color:#f3cf75; font:600 clamp(29px,3.3vw,48px)/1.1 var(--serif); letter-spacing:-.025em }
.journey-photo .journey-copy p { margin:0; color:#fff9ed; font-size:clamp(14px,1.5vw,20px); line-height:1.4; text-wrap:pretty }
@media (min-width:761px) and (max-width:1000px) {
  .journey-band.journey-photo { padding-left:20px; gap:22px }
  .journey-photo .journey-anniversary { flex-basis:165px; padding-right:21px }
  .journey-wreath,.journey-ribbon { width:140px }
  .journey-number { font-size:88px }
  .journey-ribbon { font-size:15px }
  .journey-photo .journey-copy { flex-basis:51% }
}
@media (max-width:760px) {
  .journey-band.journey-photo {
    display:grid;
    grid-template-columns:110px minmax(0,1fr);
    height:auto;
    min-height:0;
    gap:18px;
    margin:0 16px 26px;
    padding:24px 18px 190px;
    border-radius:24px;
    background:#100e08;
  }
  .journey-background { top:auto; bottom:0; height:190px }
  .journey-photo::before { background:linear-gradient(#100e08 0%,#100e08 55%,transparent 80%) }
  .journey-photo .journey-anniversary { min-height:132px; padding:0 12px 23px 0; border-right:1px solid #b88d34 }
  .journey-wreath { width:100px; height:124px }
  .journey-number { font-size:72px }
  .journey-years { font-size:20px }
  .journey-ribbon { width:100px; font-size:11px; padding:5px 4px; bottom:2px }
  .journey-photo .journey-copy { max-width:none }
  .journey-photo .journey-copy h2 { font-size:29px }
  .journey-photo .journey-copy p { font-size:14px; line-height:1.45 }
}
@media (max-width:380px) {
  .journey-band.journey-photo { grid-template-columns:90px minmax(0,1fr); gap:12px; padding-left:12px; padding-right:12px }
  .journey-wreath,.journey-ribbon { width:80px }
  .journey-photo .journey-copy h2 { font-size:25px }
  .journey-photo .journey-copy p { font-size:13px }
}
/* Home Why Choose Us: CSS colours and shapes only. */
.why-band.home-why {
  display:grid;
  grid-template-columns:175px 205px minmax(0,1fr);
  align-items:center;
  gap:25px;
  min-height:180px;
  margin:0 2.1% 24px;
  padding:12px 4%;
  border:1px solid #ac8338;
  border-radius:27px;
  background:radial-gradient(ellipse at 10% 5%,#4a381a66,transparent 55%),linear-gradient(105deg,#241d10,#15130d 72%,#201b10);
  color:#f1c75e;
  box-shadow:0 4px 12px #8d66251a;
}
.home-why .why-anniversary {
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  width:175px;
  height:150px;
  padding-top:4px;
  text-align:center;
}
.why-number { position:relative; font:600 94px/.88 var(--serif); color:#f2ce6c; letter-spacing:-.06em }
.why-years { position:relative; margin-top:1px; color:#efca69; font:600 26px/1 var(--serif) }
.why-laurel { position:absolute; top:0; left:4px; width:70px; height:127px; pointer-events:none }
.why-laurel::before {
  content:"";
  position:absolute;
  top:7px;
  left:13px;
  width:51px;
  height:112px;
  border-left:2px solid #d5ad4b;
  border-radius:70% 0 0 70%;
  transform:rotate(-14deg);
}
.why-laurel i {
  position:absolute;
  top:var(--leaf-y);
  left:var(--leaf-x);
  width:9px;
  height:18px;
  border-radius:100% 0 100% 0;
  background:linear-gradient(140deg,#ffe797,#bc8d2b);
  transform:rotate(var(--leaf-angle));
}
.why-laurel i::after {
  content:"";
  position:absolute;
  width:8px;
  height:15px;
  top:7px;
  left:10px;
  border-radius:0 100% 0 100%;
  background:linear-gradient(140deg,#ffdf80,#b78929);
  transform:rotate(30deg);
}
.why-laurel-right { left:auto; right:4px; transform:scaleX(-1) }
.why-ribbon {
  position:absolute;
  left:7px;
  bottom:3px;
  width:161px;
  padding:6px 8px;
  clip-path:polygon(0 0,13% 7%,50% 0,87% 7%,100% 0,95% 50%,100% 100%,50% 92%,0 100%,5% 50%);
  background:linear-gradient(100deg,#cc962a,#ffe599 50%,#d3a13a);
  color:#221705;
  font:700 16px/1.1 var(--serif);
}
.home-why .why-title { min-width:0; padding:0 0 0 24px; border-left:1px solid #937031 }
.home-why .why-title h2 {
  max-width:185px;
  margin:0;
  color:#f0cb70;
  font:600 34px/1.05 var(--serif);
  letter-spacing:-.025em;
  text-wrap:balance;
}
.home-why .check-list { display:grid; gap:10px; margin:0; padding:0; color:#fff8ed; font-size:clamp(13px,1.3vw,18px); line-height:1.25 }
.home-why .check-list li { position:relative; padding-left:40px }
.home-why .check-list li::before {
  content:"";
  position:absolute;
  left:3px;
  top:2px;
  width:22px;
  height:22px;
  margin:0;
  border:1px solid #b48b3540;
  border-radius:50%;
  background:linear-gradient(135deg,#3a3017,#1b180f);
}
.home-why .check-list li::after {
  content:"";
  position:absolute;
  left:9px;
  top:3px;
  width:10px;
  height:17px;
  border:solid #eabb4d;
  border-width:0 3px 3px 0;
  transform:rotate(42deg);
}
@media (min-width:761px) and (max-width:1050px) {
  .why-band.home-why { grid-template-columns:175px 165px minmax(0,1fr); gap:17px; padding-left:3%; padding-right:3% }
  .home-why .why-title { padding-left:18px }
  .home-why .why-title h2 { font-size:31px }
  .home-why .check-list { font-size:14px }
}
@media (max-width:760px) {
  .why-band.home-why { grid-template-columns:175px minmax(0,1fr); gap:18px 12px; margin:0 16px 24px; padding:20px; border-radius:24px }
  .home-why .why-title { padding-left:18px }
  .home-why .why-title h2 { font-size:31px }
  .home-why .check-list { grid-column:1/-1; gap:16px; font-size:15px; line-height:1.4; padding:4px 0 3px }
}
@media (max-width:390px) {
  .why-band.home-why { grid-template-columns:150px minmax(0,1fr); padding:18px 12px; gap:16px 8px }
  .home-why .why-anniversary { transform:scale(.86); transform-origin:left center; width:175px; margin-right:-25px }
  .home-why .why-title { padding-left:12px }
  .home-why .why-title h2 { font-size:26px }
}
/* Products hero and category selector. */
.page-hero.products-photo-hero {
  display:flex;
  align-items:center;
  height:30vw;
  min-height:310px;
  max-height:470px;
  padding:30px 6% 48px;
  background:#171107;
}
.products-photo-hero::before { display:none }
.products-hero-background { position:absolute; inset:0; z-index:-1; width:100%; height:100%; object-fit:cover; object-position:right center }
.products-photo-hero .products-hero-copy { width:49%; max-width:720px }
.products-photo-hero h1 {
  margin:0 0 14px;
  font:600 clamp(46px,6.2vw,92px)/1.07 var(--serif);
  letter-spacing:-.035em;
  color:#f3d582;
  background:linear-gradient(#fff1af,#e4b34c);
  background-clip:text;
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
}
.products-photo-hero .products-hero-copy p { margin:0 0 0 6px; max-width:570px; color:#fffaf0; font:italic 500 clamp(20px,2.25vw,32px)/1.25 var(--serif); text-wrap:pretty }
.products-hero-flourish { display:block; width:225px; height:25px; margin:15px 0 0 40px; color:#e8b346 }
.catalog.product-catalog { position:relative; padding-top:0; background:linear-gradient(#f9eddd,#fffaf4 300px) }
.product-category-filter.filter-bar {
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:0;
  width:100%;
  max-width:1440px;
  margin:-18px auto 30px;
  padding:12px;
  overflow:visible;
  border:1px solid #f6e6d0;
  border-radius:999px;
  background:linear-gradient(110deg,#fffaf1,#fcf3e9);
  box-shadow:0 4px 5px #9f703c22,inset 0 1px 0 #fff;
}
.product-category-filter .filter-button {
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  min-width:0;
  min-height:62px;
  padding:8px 12px;
  border:0;
  border-radius:999px;
  color:#161510;
  background:transparent;
  font-size:clamp(13px,1.4vw,20px);
  font-weight:700;
  line-height:1.2;
  cursor:pointer;
  transition:background .2s,box-shadow .2s;
}
.product-category-filter .filter-button svg { width:40px; height:40px; flex-shrink:0 }
.product-category-filter .filter-button:not(:last-child)::after { content:""; position:absolute; right:-1px; top:20%; width:1px; height:60%; background:#dabb86 }
.product-category-filter .filter-button.active { background:linear-gradient(#ffdd78,#f4c044 55%,#dca024); box-shadow:inset 0 1px 1px #fff3bd,0 2px 3px #ae741c18 }
.product-category-filter .filter-button.active::after { display:none }
.product-category-filter .filter-button.active svg { stroke-width:2.8 }
.product-category-filter .filter-button:hover:not(.active) { background:#f3e4cb }
.product-category-filter .filter-button:focus-visible { outline:3px solid #a87518; outline-offset:3px; z-index:1 }
.product-catalog .catalog-grid>[hidden] { display:none!important }
@media (min-width:761px) and (max-width:1000px) {
  .product-category-filter .filter-button { gap:9px; padding:8px; font-size:13px }
  .product-category-filter .filter-button svg { width:33px; height:33px }
}
@media (max-width:760px) {
  .page-hero.products-photo-hero { display:block; height:auto; min-height:0; max-height:none; padding:30px 24px 295px }
  .products-photo-hero .products-hero-copy { width:100%; max-width:540px; margin:auto }
  .products-photo-hero h1 { font-size:clamp(43px,9vw,65px); margin-bottom:14px }
  .products-photo-hero .products-hero-copy p { font-size:23px; max-width:510px; margin-left:0 }
  .products-hero-flourish { width:195px; margin-left:25px }
  .products-hero-background { inset:auto 0 0; height:265px; object-position:right center }
  .product-category-filter.filter-bar { display:flex; width:100%; margin-top:-18px; margin-bottom:24px; padding:8px; overflow-x:auto; border-radius:26px; scrollbar-width:thin; scrollbar-color:#d9b86c transparent; scroll-padding-inline:8px }
  .product-category-filter .filter-button { flex:0 0 auto; min-height:51px; padding:8px 16px; gap:9px; font-size:14px }
  .product-category-filter .filter-button svg { width:31px; height:31px }
}
/* Customer Reviews hero and cream highlights bar. */
.page-hero.reviews-photo-hero {
  display:flex;
  align-items:center;
  height:30vw;
  min-height:290px;
  max-height:460px;
  padding:28px 5.6% 32px;
  background:#171108;
}
.reviews-photo-hero::before { display:none }
.reviews-hero-background { position:absolute; inset:0; z-index:-1; width:100%; height:100%; object-fit:cover; object-position:center }
.reviews-photo-hero .reviews-hero-copy { width:46%; max-width:720px }
.reviews-photo-hero h1 {
  margin:0 0 15px;
  color:#f3d581;
  font:600 clamp(38px,4.5vw,72px)/1.12 var(--serif);
  letter-spacing:-.04em;
  background:linear-gradient(#fff2b9,#e5b54d);
  background-clip:text;
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
}
.reviews-photo-hero .reviews-hero-copy p { margin:0 0 0 7px; max-width:520px; color:#fffaf1; font:italic 500 clamp(22px,2.5vw,36px)/1.2 var(--serif) }
.reviews-hero-flourish { display:block; width:235px; height:25px; margin:14px 0 0 45px; color:#e7b23d }
.review-highlights-area { padding:0 2.3% 18px; background:linear-gradient(#f9eddf,#f4e6d2) }
.stats-row.review-highlights {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
  width:100%;
  max-width:1600px;
  margin:0 auto;
  padding:20px 14px;
  border:1px solid #f4e6d4;
  border-top:0;
  border-radius:0 0 27px 27px;
  background:linear-gradient(110deg,#fff8ec,#f9eddf);
  box-shadow:0 4px 5px #ae80412b;
}
.review-highlights>div { display:flex; align-items:center; justify-content:center; gap:17px; padding:0 14px; border:0; border-right:1px solid #c9a468 }
.review-highlights>div:last-child { border:0 }
.review-highlights .stat-icon { display:flex; color:#ad7b19; flex-shrink:0 }
.review-highlights .stat-icon svg { width:49px; height:49px }
.review-highlights p { margin:0; color:#181610; font-size:clamp(13px,1.45vw,20px); font-weight:700; line-height:1.25; letter-spacing:-.025em }
@media (min-width:761px) and (max-width:1000px) {
  .review-highlights>div { gap:10px; padding:0 10px }
  .review-highlights .stat-icon svg { width:38px; height:38px }
}
@media (max-width:760px) {
  .page-hero.reviews-photo-hero { display:block; height:auto; min-height:0; max-height:none; padding:30px 24px 280px }
  .reviews-photo-hero .reviews-hero-copy { width:100%; max-width:540px; margin:auto }
  .reviews-photo-hero h1 { font-size:clamp(36px,8vw,55px); margin-bottom:15px }
  .reviews-photo-hero .reviews-hero-copy p { margin-left:0; font-size:26px }
  .reviews-hero-flourish { width:200px; margin-left:25px }
  .reviews-hero-background { inset:auto 0 0; height:250px; object-position:right center }
  .review-highlights-area { padding:0 14px 16px }
  .stats-row.review-highlights { grid-template-columns:repeat(2,minmax(0,1fr)); padding:8px 12px; border-radius:0 0 22px 22px }
  .review-highlights>div { justify-content:flex-start; padding:16px 7px; gap:10px; border:0 }
  .review-highlights>div:nth-child(odd) { border-right:1px solid #d4b681 }
  .review-highlights>div:nth-child(-n+2) { border-bottom:1px solid #ddc8a7 }
  .review-highlights .stat-icon svg { width:34px; height:34px }
  .review-highlights p { font-size:12px; line-height:1.35 }
}
/* Review videos and customer feedback. */
.reviews-showcase { padding:20px 3.3% 28px; background:radial-gradient(ellipse at center,#fffaf1,#f3e1c9); color:#17140e }
.showcase-heading { text-align:center; margin:0 auto 18px }
.showcase-heading h2 { display:flex; align-items:center; justify-content:center; gap:12px; margin:0 0 4px; font:700 clamp(26px,3vw,40px)/1.15 var(--serif); color:#100f0b; letter-spacing:-.025em }
.showcase-heading h2::before,.showcase-heading h2::after { content:""; width:75px; height:2px; flex-shrink:0; background:linear-gradient(90deg,transparent,#b5811e) }
.showcase-heading h2::after { transform:rotate(180deg) }
.showcase-heading p { margin:0; color:#1b1812; font-size:clamp(13px,1.3vw,17px); line-height:1.4 }
.heading-play { position:relative; display:block; flex-shrink:0; width:34px; height:34px; border-radius:50%; background:linear-gradient(145deg,#f2c65b,#a86b05); box-shadow:inset 0 1px 2px #ffe9a9 }
.heading-play::after { content:""; position:absolute; top:9px; left:13px; border-left:12px solid #fff8e9; border-top:8px solid transparent; border-bottom:8px solid transparent }
.heading-chat { width:40px; height:36px; color:#a97410; flex-shrink:0 }
.video-carousel { position:relative; padding:0 34px }
.video-track { display:flex; gap:15px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; overscroll-behavior-x:contain }
.video-track::-webkit-scrollbar { display:none }
.video-review-card { flex:0 0 calc((100% - 30px)/3); min-width:0; scroll-snap-align:start; border-radius:13px; background:#18140d; overflow:hidden; box-shadow:0 5px 12px #9f742524 }
.video-review-card iframe { display:block; width:100%; aspect-ratio:16/10; border:0; background:#17140e }
.video-platform-link { display:flex; align-items:center; justify-content:space-between; padding:6px 10px; color:#f9e2a1; font-size:11px; line-height:1.3 }
.video-arrow { position:absolute; z-index:1; top:calc(50% - 18px); display:grid; place-items:center; width:34px; height:34px; padding:0; border:1px solid #f8d780; border-radius:50%; background:linear-gradient(#ffe899,#edb02b); color:#30200b; box-shadow:0 3px 6px #b98a3444; cursor:pointer; font:34px/1 Arial,sans-serif }
.video-arrow span { margin-top:-3px }
.video-prev { left:-5px }
.video-next { right:-5px }
.video-arrow:disabled { opacity:.5; cursor:default }
.video-dots { display:flex; justify-content:center; gap:8px; padding:15px 0 0 }
.video-dot { width:9px; height:9px; padding:0; border:0; border-radius:50%; background:#e8cfa1; cursor:pointer }
.video-dot.active { background:linear-gradient(#e3ae2d,#ac720b) }
.customer-feedback { padding-top:23px }
.customer-feedback .showcase-heading { margin-bottom:17px }
.customer-feedback-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px }
.customer-feedback-card { padding:10px 19px 18px; border:1px solid #fffdf9; border-radius:21px; background:linear-gradient(140deg,#fffaf2d9,#fbefdf); box-shadow:0 5px 8px #b8894733 }
.customer-feedback-card header { display:flex; align-items:center; gap:14px; margin-bottom:8px }
.customer-feedback-card header img { flex-shrink:0; width:52px; height:52px; object-fit:cover; border-radius:50%; border:1px solid #dcba67; box-shadow:0 2px 4px #a6732c33 }
.customer-feedback-card h3 { margin:0 0 2px; color:#17140f; font:700 15px/1.2 var(--sans) }
.feedback-stars { color:#e7a10a; letter-spacing:0; font-size:21px; line-height:1 }
.customer-feedback-card blockquote { position:relative; margin:0; padding-left:32px; color:#17140f; font-size:14px; line-height:1.55; overflow-wrap:anywhere }
.customer-feedback-card blockquote::before { content:"\201c"; position:absolute; left:0; top:-6px; color:#b57b0b; font:bold 52px/1 Georgia,serif }
.video-arrow:focus-visible,.video-dot:focus-visible,.video-platform-link:focus-visible,.video-track:focus-visible { outline:3px solid #a16b0b; outline-offset:3px }
@media(max-width:760px) {
 .reviews-showcase { padding:22px 18px }
 .showcase-heading h2 { font-size:26px; gap:8px }
 .showcase-heading h2::before,.showcase-heading h2::after { width:28px }
 .showcase-heading p { font-size:13px }
 .heading-play { width:28px; height:28px }
 .heading-play::after { top:7px; left:11px; border-left-width:10px; border-top-width:7px; border-bottom-width:7px }
 .heading-chat { width:31px; height:30px }
 .video-carousel { padding:0 24px }
 .video-track { gap:12px }
 .video-review-card { flex-basis:100% }
 .video-arrow { width:30px; height:30px }
 .customer-feedback-grid { grid-template-columns:1fr; gap:15px }
 .customer-feedback-card { padding:14px 20px 19px }
 .customer-feedback-card blockquote { font-size:15px }
}
/* Reviews invitation banner. */
.review-invite-wrap { padding:2px 1% 24px; background:linear-gradient(#f6e6d0,#fff7ea) }
.review-cta.review-invite {
 position:relative;
 isolation:isolate;
 display:grid;
 grid-template-columns:165px minmax(0,1fr) auto;
 align-items:center;
 gap:28px;
 min-height:145px;
 margin:0;
 padding:18px 4%;
 border:1px solid #d5a439;
 border-radius:26px;
 background:radial-gradient(ellipse at 100% 0,#88602144,transparent 40%),linear-gradient(110deg,#19160d,#0e0d09 60%,#261d0d);
 box-shadow:inset 0 1px 2px #e8bd6433,0 3px 6px #ad79231a;
 overflow:hidden;
 color:#f3d482;
}
.review-invite::after { content:""; position:absolute; z-index:-1; inset:0; pointer-events:none; border-radius:inherit; box-shadow:inset 0 -1px 0 #ecc35b,inset -10px 0 17px -17px #ffd76a }
.invite-symbol { display:grid; place-items:center; align-self:stretch; padding-right:26px; border-right:1px solid #b68d32; color:#efd47b }
.invite-symbol svg { display:block; width:132px; height:94px }
.review-invite .invite-copy { min-width:0; position:relative; z-index:1 }
.review-invite .invite-copy h2 { margin:0 0 5px; color:#f2d685; font:700 clamp(25px,2.8vw,40px)/1.15 var(--serif); letter-spacing:-.025em }
.review-invite .invite-copy p { margin:0; color:#eee8df; font-size:clamp(14px,1.55vw,20px); line-height:1.4 }
.review-invite .invite-whatsapp { position:relative; z-index:1; display:flex; align-items:center; justify-content:center; gap:14px; min-height:68px; margin:0; padding:9px 28px; border:1px solid #eac16a; border-radius:999px; color:#120f07; background:linear-gradient(#ffe69a,#f4c748 55%,#e6a10a); box-shadow:inset 0 1px 1px #fff5cb,0 4px 13px #0003; font-size:clamp(15px,1.6vw,21px); font-weight:700; line-height:1.15; text-align:center; white-space:nowrap }
.invite-whatsapp svg { width:43px; height:43px; flex-shrink:0 }
.review-invite .invite-whatsapp:hover { filter:brightness(1.08); transform:translateY(-2px) }
.invite-leaves { position:absolute; bottom:-7px; width:72px; height:67px; pointer-events:none; z-index:0 }
.invite-leaves-left { left:-20px }
.invite-leaves-right { right:-17px; transform:scaleX(-1) }
.invite-leaves i { position:absolute; width:65px; height:24px; border-radius:100% 0 100% 0; background:linear-gradient(155deg,#adc444,#628b0d 50%,#254605); box-shadow:inset 0 1px #d2df7044; transform-origin:left bottom }
.invite-leaves i::after { content:""; position:absolute; top:48%; left:5px; width:53px; height:1px; transform:rotate(-17deg); background:#c3d86b66 }
.invite-leaves i:nth-child(1) { bottom:5px; left:8px; transform:rotate(-7deg) }
.invite-leaves i:nth-child(2) { bottom:15px; left:5px; transform:rotate(-37deg) }
.invite-leaves i:nth-child(3) { bottom:0; left:14px; transform:rotate(19deg) }
@media(min-width:761px) and (max-width:1100px) {
 .review-cta.review-invite { grid-template-columns:140px minmax(0,1fr) auto; gap:20px; padding-left:3%; padding-right:3% }
 .invite-symbol { padding-right:18px }
 .invite-symbol svg { width:115px }
 .review-invite .invite-whatsapp { padding:10px 20px; gap:10px }
 .invite-whatsapp svg { width:37px; height:37px }
}
@media(max-width:760px) {
 .review-invite-wrap { padding:0 16px 24px }
 .review-cta.review-invite { grid-template-columns:80px minmax(0,1fr); padding:22px 18px 26px; gap:20px 15px; border-radius:23px }
 .invite-symbol { padding-right:12px }
 .invite-symbol svg { width:72px; height:72px }
 .review-invite .invite-copy h2 { font-size:27px }
 .review-invite .invite-copy p { font-size:14px; line-height:1.45 }
 .review-invite .invite-whatsapp { grid-column:1/-1; justify-self:center; min-height:62px; padding:10px 27px; font-size:17px }
 .invite-whatsapp svg { width:36px; height:36px }
}
/* Contact page: ivory cards, gold accents and live map. */
.page-hero.contact-photo-hero { display:flex; align-items:center; height:28vw; min-height:290px; max-height:450px; padding:28px 7%; background:#171107 }
.contact-photo-hero::before { display:none }
.contact-hero-background { position:absolute; inset:0; z-index:-1; width:100%; height:100%; object-fit:cover; object-position:right center }
.contact-photo-hero .contact-hero-copy { width:40%; max-width:560px }
.contact-photo-hero h1 { margin:0; color:#f3d485; font:500 clamp(45px,6vw,88px)/1.12 var(--serif); letter-spacing:-.035em }
.contact-title-rule { display:block; width:80px; height:2px; margin:8px 0 12px; background:linear-gradient(90deg,#e5b54b,transparent) }
.contact-photo-hero .contact-hero-copy p { max-width:370px; margin:0; color:#fff8e9; font:400 clamp(16px,1.7vw,24px)/1.35 var(--serif) }
.contact-design { padding:24px 3% 30px; background:radial-gradient(ellipse at center,#fffaf2,#f1e0c6) }
.contact-main-grid { display:grid; grid-template-columns:1fr 1.08fr; gap:25px; align-items:stretch }
.contact-info-panel { position:relative; padding-bottom:0 }
.contact-panel-heading { margin:0 0 17px }
.contact-panel-heading h2 { display:flex; align-items:center; gap:10px; margin:0 0 2px; color:#17130c; font:600 clamp(24px,2.6vw,38px)/1.2 var(--serif); letter-spacing:-.03em }
.contact-panel-heading h2>i { color:#b58114; font-size:.8em }
.contact-panel-heading p { margin:0 0 0 36px; color:#3d3220; font:italic 400 clamp(12px,1.2vw,17px)/1.35 var(--serif) }
.contact-detail-row { display:flex; align-items:center; gap:15px; min-height:75px; margin:0 0 10px; padding:10px 16px; border:1px solid #e9d7bc; border-top-color:#fffdf7; border-radius:12px; background:linear-gradient(110deg,#fffaf2,#fff7eb); box-shadow:0 3px 5px #bc935527 }
.contact-detail-row:last-of-type { margin-bottom:0 }
.detail-icon { display:grid; place-items:center; flex:0 0 47px; width:47px; height:47px; border-radius:12px; color:#6d4b0d; background:linear-gradient(135deg,#faebca,#f0d696); font-size:23px }
.contact-detail-row>div { min-width:0 }
.contact-detail-row small { display:block; margin-bottom:1px; color:#2d2415; font-size:12px; font-weight:600; line-height:1.3 }
.contact-detail-row strong { display:block; color:#17120a; font:700 clamp(15px,1.7vw,23px)/1.2 var(--serif); overflow-wrap:anywhere }
.contact-detail-row p { margin:0; color:#20190d; font:500 clamp(14px,1.35vw,19px)/1.25 var(--serif) }
.contact-chat-button { display:inline-flex; align-items:center; justify-content:center; gap:6px; margin-left:auto; padding:8px 10px; border:1px solid #d4ac51; border-radius:999px; color:#251b07; background:linear-gradient(#ffe9a0,#d9aa3a); font-size:11px; font-weight:700; white-space:nowrap }
.contact-chat-button i { font-size:19px }
.contact-gold-leaves { position:absolute; right:-9px; bottom:-8px; color:#cfb36d80; font-size:80px; transform:rotate(-35deg); pointer-events:none }
.inquiry-form.contact-inquiry { margin:0; padding:19px 20px 16px; border:1px solid #c1a05c; border-radius:17px; background:radial-gradient(ellipse at top right,#5f481c55,transparent 45%),linear-gradient(120deg,#19170e,#090a07); color:#f5dfa6; box-shadow:0 5px 9px #b18b4c22 }
.contact-inquiry .contact-panel-heading { margin-bottom:13px }
.contact-inquiry .contact-panel-heading h2 { color:#f2d88b; font-size:clamp(23px,2.3vw,34px) }
.contact-inquiry .contact-panel-heading h2>i { color:#d7b352 }
.contact-inquiry .contact-panel-heading p { color:#fff4db; font-size:clamp(11px,1.1vw,15px) }
.contact-inquiry .form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px }
.contact-inquiry .contact-field { display:flex; align-items:flex-start; gap:10px; margin:0; padding:8px 10px; border:1px solid #e7d8be; border-radius:8px; background:linear-gradient(#fffaf0,#f5ead9); color:#20190b }
.contact-inquiry .form-wide { grid-column:1/-1 }
.field-icon { display:block; flex:0 0 17px; padding-top:4px; color:#5c491e; font-size:17px }
.field-content { display:block; min-width:0; flex:1 }
.contact-inquiry .field-label { display:block; margin:0 0 2px; color:#211b11; font-size:12px; font-weight:700; line-height:1.2 }
.contact-inquiry .field-label b { color:#af3524 }
.contact-inquiry input,.contact-inquiry select,.contact-inquiry textarea { display:block; width:100%; min-width:0; margin:0; padding:6px 7px; border:1px solid #dfd3be; border-radius:4px; background:#fffcf64d; color:#211b12; font:400 12px/1.4 var(--sans); box-shadow:none }
.contact-inquiry input,.contact-inquiry select { min-height:31px }
.contact-inquiry textarea { min-height:88px; resize:vertical }
.contact-inquiry input:focus,.contact-inquiry select:focus,.contact-inquiry textarea:focus { outline:2px solid #bd8d28; outline-offset:1px }
.contact-inquiry .form-submit { display:flex; justify-content:center; align-items:center; gap:10px; width:82%; min-height:42px; margin:14px auto 0; padding:9px 20px; border:1px solid #e6c574; border-radius:999px; background:linear-gradient(#ffe8a4,#dfb54f 60%,#bb8c24); color:#161208; font:700 17px/1.2 var(--serif) }
.contact-bottom-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin-top:25px }
.contact-bottom-card { min-width:0; padding:17px 17px 15px; border:1px solid #ead9bf; border-top-color:#fff; border-radius:18px; background:linear-gradient(135deg,#fffbf3,#fcf0dd); box-shadow:0 4px 7px #bd914f25 }
.contact-bottom-card h2 { display:flex; align-items:center; gap:8px; margin:0 0 5px; color:#21180c; font:600 clamp(18px,1.8vw,26px)/1.2 var(--serif); letter-spacing:-.035em }
.contact-bottom-card h2>i { color:#b5801b; font-size:.85em }
.bottom-card-intro { margin:0 0 11px 27px; color:#382b18; font:italic 400 13px/1.3 var(--serif) }
.contact-social-list { display:grid; gap:9px }
.contact-social-link { display:flex; align-items:center; gap:12px; padding:9px 10px; border:1px solid #ecd9ba; border-radius:9px; background:#fffaf2a3 }
.social-brand-icon { display:grid; place-items:center; flex:0 0 31px; width:31px; height:31px; border-radius:50%; background:#1571e7; color:white; font-size:21px }
.social-instagram .social-brand-icon { border-radius:8px; background:radial-gradient(circle at 25% 95%,#ffdc6d,#ec2553 48%,#9b33bc 78%,#435ad6) }
.social-tiktok .social-brand-icon { border-radius:7px; background:#111; text-shadow:-1px 0 #25e5d9,1px 0 #fd4260 }
.contact-social-link strong { display:block; color:#241a0b; font:600 14px/1.2 var(--serif) }
.contact-social-link small { display:block; color:#4c3a21; font:italic 12px/1.2 var(--serif) }
.contact-social-link>i:last-child { margin-left:auto; color:#a37016; font-size:12px }
.contact-live-map { display:flex; flex-direction:column; padding:16px 12px 12px }
.contact-live-map h2 { justify-content:center; font-size:25px }
.contact-live-map .bottom-card-intro { margin:0 5px 10px; text-align:center }
.contact-live-map iframe { display:block; flex:1; width:100%; min-height:175px; border:1px solid #ddc69e; border-radius:10px }
.contact-map-link { display:flex; align-items:center; justify-content:center; gap:6px; padding-top:8px; color:#865b12; font-size:12px; font-weight:600 }
.contact-hours-panel h2 { margin-bottom:16px }
.business-hours-item { display:flex; gap:13px; margin-top:11px; padding:13px 10px; border-radius:11px; background:linear-gradient(100deg,#f8e9cc,#f4e4c7) }
.business-hours-item>i { flex-shrink:0; margin-top:3px; color:#9c6c14; font-size:22px }
.business-hours-item h3 { margin:0 0 3px; color:#21180c; font:600 16px/1.2 var(--serif) }
.business-hours-item p { margin:0; color:#332714; font:italic 400 14px/1.25 var(--serif) }
.contact-chat-button:focus-visible,.contact-social-link:focus-visible,.contact-map-link:focus-visible { outline:3px solid #a27012; outline-offset:3px }
@media(min-width:761px) and (max-width:1100px) {
 .contact-main-grid { gap:18px; grid-template-columns:1fr 1.08fr }
 .contact-detail-row { padding:10px; gap:10px }
 .detail-icon { flex-basis:38px; width:38px; height:40px; font-size:20px }
 .whatsapp-detail { flex-wrap:wrap }
 .contact-chat-button { margin-left:48px }
 .inquiry-form.contact-inquiry { padding:17px 14px }
 .contact-bottom-grid { gap:14px }
 .contact-bottom-card { padding-left:13px; padding-right:13px }
}
@media(max-width:760px) {
 .page-hero.contact-photo-hero { display:block; height:auto; min-height:0; max-height:none; padding:30px 24px 280px }
 .contact-photo-hero .contact-hero-copy { width:100%; max-width:540px; margin:auto }
 .contact-photo-hero h1 { font-size:55px }
 .contact-photo-hero .contact-hero-copy p { max-width:350px; font-size:20px }
 .contact-hero-background { inset:auto 0 0; height:260px; object-position:right center }
 .contact-design { padding:24px 16px }
 .contact-main-grid,.contact-bottom-grid { grid-template-columns:1fr; gap:22px }
 .contact-panel-heading h2 { font-size:29px }
 .contact-panel-heading p { font-size:14px }
 .contact-detail-row strong { font-size:19px }
 .contact-detail-row p { font-size:16px }
 .contact-detail-row small { font-size:11px }
 .contact-detail-row { padding:11px 12px; gap:12px }
 .detail-icon { flex-basis:40px; width:40px; height:42px; font-size:21px }
 .whatsapp-detail { flex-wrap:wrap }
 .contact-chat-button { margin-left:52px; padding:7px 12px }
 .inquiry-form.contact-inquiry { padding:20px 16px }
 .contact-inquiry .contact-panel-heading h2 { font-size:28px }
 .contact-inquiry .contact-panel-heading p { font-size:13px }
 .contact-inquiry .form-grid { grid-template-columns:1fr }
 .contact-inquiry input,.contact-inquiry select,.contact-inquiry textarea { font-size:16px }
 .contact-inquiry .field-label { font-size:12px }
 .contact-inquiry .form-submit { min-height:46px; font-size:18px }
 .contact-bottom-grid { margin-top:22px }
 .contact-bottom-card { padding:20px }
 .contact-bottom-card h2 { font-size:25px }
 .bottom-card-intro { font-size:14px }
 .contact-live-map iframe { min-height:280px }
 .business-hours-item h3 { font-size:18px }
 .business-hours-item p { font-size:15px }
}
/* Transparent logo in the shared header and footer. */
.site-header .brand-mark,.site-footer .brand-mark {
  flex-shrink:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.site-header .brand-mark { width:76px; height:76px }
.site-footer .brand-mark { width:70px; height:70px }
.site-header .brand-mark img,.site-footer .brand-mark img { display:block; width:100%; height:100%; object-fit:contain; border-radius:0 }
.site-header .brand { gap:12px }
.site-header .brand-copy strong { font-size:32px }
.site-header .brand-copy>span { font-size:15px }
.site-header .brand-copy small { font-size:10px }
.site-footer .brand-copy strong { font-size:26px }
.site-footer .brand-copy>span { font-size:13px }
@media(max-width:840px) {
  .site-header .brand-mark { width:58px; height:58px }
  .site-header .brand { gap:9px }
  .site-header .brand-copy strong { font-size:25px }
  .site-header .brand-copy>span { font-size:12px }
  .site-header .brand-copy small { font-size:8px }
  .site-footer .brand-mark { width:60px; height:60px }
}
.footer-contact-links { grid-column:1/-1; display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:12px 26px; padding:10px 0 0 }
.footer-contact-links a { display:inline-flex; align-items:center; gap:8px; color:#e5d3a9; font-size:13px; overflow-wrap:anywhere }
.footer-contact-links i { color:#e6bd60; font-size:17px }
.footer-contact-links a:hover { color:#ffe3a0 }
.footer-contact-links a:focus-visible { outline:2px solid #d7ae54; outline-offset:4px }
@media(max-width:760px) { .footer-contact-links { justify-content:flex-start; gap:13px 20px } .footer-contact-links a:first-child { flex-basis:100% } }
/* Products catalogue: ivory cards and compact gold / green actions. */
.product-catalog .catalog-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; align-items:stretch }
.catalog-grid .catalog-product-card {
 display:flex;
 flex-direction:column;
 align-items:center;
 min-width:0;
 padding:0 13px 13px;
 border:1px solid #fffaf2;
 border-radius:19px;
 background:linear-gradient(135deg,#fffaf3,#fff7ed);
 box-shadow:0 3px 5px #b68a4933;
 overflow:hidden;
 text-align:center;
}
.catalog-product-card .product-visual { position:relative; flex-shrink:0; width:calc(100% + 16px); height:clamp(145px,15.5vw,225px); margin:0; border-radius:14px 14px 0 0; background:radial-gradient(ellipse at 50% 95%,#e8d5b477,transparent 65%) }
.catalog-product-card .product-visual>img { object-fit:contain; border-radius:0; mix-blend-mode:multiply }
.catalog-product-card .product-visual::after { bottom:11px; opacity:.3 }
.catalog-product-card .product-visual .pack { position:absolute; bottom:12px; margin:0; transform-origin:center bottom }
.catalog-product-card .product-visual .pack-jar { transform:scale(.8) }
.catalog-product-card .product-visual .pack-dropper { transform:scale(.55) }
.catalog-product-card .product-visual .pack-lotion { transform:scale(.57) }
.catalog-product-card .product-visual .pack-oil { transform:scale(.72) }
.catalog-product-card .product-visual .pack-tub { transform:scale(.85) }
.catalog-grid .catalog-product-card h3 { margin:4px 0 5px; color:#14120e; font:700 clamp(15px,1.5vw,21px)/1.15 var(--sans); letter-spacing:-.035em }
.catalog-grid .catalog-product-card p { max-width:270px; margin:0 auto 7px; color:#221e17; font-size:clamp(12px,1.1vw,15px); line-height:1.3 }
.catalog-grid .catalog-product-card .product-option { margin-bottom:5px!important; color:#5e4a28!important; font-size:11px!important; line-height:1.25 }
.catalog-card-actions { display:flex; flex-direction:column; align-items:center; gap:6px; width:100%; margin-top:auto; padding-top:3px }
.catalog-details-button { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:29px; padding:4px 20px; border:1.5px solid #d59817; border-radius:999px; background:linear-gradient(#fffdf8,#fcf1df); color:#15110b; font-size:12px; font-weight:700; line-height:1.15 }
.catalog-details-button i { font-size:9px }
.catalog-whatsapp-button { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:31px; max-width:100%; padding:5px 14px; border:1px solid #239c28; border-radius:999px; background:linear-gradient(#149b1d,#007c12); box-shadow:inset 0 1px 0 #69c95755; color:#fff; font-size:12px; font-weight:600; line-height:1.15; white-space:nowrap }
.catalog-whatsapp-button i { font-size:18px }
.catalog-details-button:hover { background:#f7e2b5 }
.catalog-whatsapp-button:hover { background:linear-gradient(#168d1d,#00670c) }
.catalog-details-button:focus-visible,.catalog-whatsapp-button:focus-visible { outline:3px solid #bb8c26; outline-offset:3px }
@media(min-width:1500px) {
 .catalog-product-card .product-visual .pack-jar { transform:scale(1) }
 .catalog-product-card .product-visual .pack-dropper { transform:scale(.68) }
 .catalog-product-card .product-visual .pack-lotion { transform:scale(.7) }
 .catalog-product-card .product-visual .pack-oil { transform:scale(.9) }
}
@media(max-width:760px) {
 .product-catalog .catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px }
 .catalog-grid .catalog-product-card { padding:0 10px 13px; border-radius:17px }
 .catalog-product-card .product-visual { height:155px }
 .catalog-grid .catalog-product-card h3 { font-size:15px; margin-top:7px }
 .catalog-grid .catalog-product-card p { font-size:12px; line-height:1.35 }
 .catalog-details-button { min-height:33px; padding:5px 14px }
 .catalog-whatsapp-button { min-height:35px; padding:6px 10px; font-size:11px; gap:5px }
 .catalog-whatsapp-button i { font-size:17px }
}
@media(max-width:359px) {
 .catalog-grid .catalog-product-card { padding-left:7px; padding-right:7px }
 .catalog-whatsapp-button { white-space:normal; font-size:10px; padding-left:7px; padding-right:7px }
}
/* Additional product range banner. */
.products-range-wrap { padding:0 1% 24px; background:#fcf1df }
.products-range-banner {
 position:relative;
 isolation:isolate;
 display:grid;
 grid-template-columns:minmax(160px,1fr) minmax(0,2.7fr) minmax(220px,1.2fr);
 align-items:center;
 gap:25px;
 min-height:190px;
 padding:24px 3%;
 border:1px solid #cfa342;
 border-radius:36px;
 background:radial-gradient(ellipse at 100% 0,#b97b2077,transparent 34%),radial-gradient(ellipse at 2% 100%,#8c5e1733,transparent 45%),linear-gradient(105deg,#16140c,#10100b 66%,#241a0b);
 box-shadow:inset 0 1px 2px #f9df9a44;
 color:#fff9ee;
 overflow:hidden;
}
.products-range-banner h2 { position:relative; z-index:1; margin:0; color:#f2d079; font:700 clamp(27px,2.65vw,40px)/1.2 var(--serif); letter-spacing:-.03em }
.products-range-lists { position:relative; display:grid; grid-template-columns:1fr 1.12fr 1.12fr; gap:17px; padding:0 25px; border-left:1px solid #9e772c; border-right:1px solid #9e772c }
.products-range-lists ul { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px }
.products-range-lists li { display:flex; align-items:flex-start; gap:9px; color:#fff9ee; font-size:clamp(12px,1.16vw,18px); line-height:1.25 }
.products-range-lists li i { flex-shrink:0; color:#e3b348; font-size:22px; margin-top:-1px }
.products-range-order { position:relative; z-index:1; display:flex; align-items:center; justify-content:center; gap:14px; padding:14px 18px; border:1px solid #e4bb56; border-radius:999px; color:#171105; background:linear-gradient(#ffe89b,#f0c247 60%,#dda124); box-shadow:inset 0 1px 1px #fff3c0; font-size:clamp(15px,1.4vw,22px); font-weight:700; line-height:1.15; white-space:nowrap }
.products-range-order>i { flex-shrink:0; font-size:48px }
.products-range-order strong { display:block; margin-top:2px; font-size:clamp(22px,2.1vw,33px); letter-spacing:-.04em }
.products-range-order:hover { filter:brightness(1.08) }
.products-range-order:focus-visible { outline:3px solid #f4d78b; outline-offset:4px }
@media(min-width:761px) and (max-width:1150px) {
 .products-range-banner { grid-template-columns:160px minmax(0,1fr); gap:20px; padding:22px 3%; border-radius:28px }
 .products-range-banner h2 { font-size:28px }
 .products-range-lists { padding:0 0 0 20px; border-right:0; gap:14px }
 .products-range-lists li { font-size:14px }
 .products-range-order { grid-column:1/-1; justify-self:center; padding:10px 25px; font-size:17px }
 .products-range-order>i { font-size:38px }
 .products-range-order strong { font-size:26px }
}
@media(max-width:760px) {
 .products-range-wrap { padding:0 16px 24px }
 .products-range-banner { grid-template-columns:1fr; gap:20px; padding:25px 20px 30px; border-radius:25px }
 .products-range-banner h2 { font-size:31px; text-align:center }
 .products-range-banner h2 br { display:none }
 .products-range-lists { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 15px; padding:19px 0; border:0; border-top:1px solid #9e772c; border-bottom:1px solid #9e772c }
 .products-range-lists li { font-size:13px; gap:7px }
 .products-range-lists li i { font-size:19px }
 .products-range-order { justify-self:center; max-width:100%; gap:11px; padding:12px 20px; font-size:17px }
 .products-range-order>i { font-size:40px }
 .products-range-order strong { font-size:26px }
}
/* Product details dialog. */
html.product-dialog-open { overflow:hidden }
.product-details-modal { position:fixed; inset:0; width:min(820px,calc(100% - 32px)); max-width:none; max-height:calc(100dvh - 40px); margin:auto; padding:36px 28px 28px; overflow:auto; border:1px solid #d3a74f; border-radius:24px; background:linear-gradient(130deg,#fffaf1,#f7ead6); color:#21190d; box-shadow:0 25px 100px #0007 }
.product-details-modal::backdrop { background:#100c07bd; backdrop-filter:blur(5px) }
.product-modal-close { position:absolute; top:11px; right:12px; display:grid; place-items:center; width:34px; height:34px; padding:0; border:1px solid #d7bb81; border-radius:50%; background:#fff9ed; color:#5e4213; font-size:20px; cursor:pointer }
.product-modal-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); align-items:center; gap:28px }
.product-modal-media { min-width:0 }
.product-modal-media .product-visual { width:100%; height:320px; margin:0; border-radius:17px; background:radial-gradient(ellipse at 50% 90%,#e5d0aa66,transparent 65%) }
.product-modal-media .product-visual>img { object-fit:contain; border-radius:12px; mix-blend-mode:multiply }
.product-modal-media .product-visual::after { display:none }
.product-modal-media .product-visual .pack { position:absolute; bottom:28px; margin:0; transform:scale(1); transform-origin:center bottom }
.product-modal-category { margin:0 0 7px; color:#946310; font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase }
.product-modal-copy h2 { margin:0 0 15px; font:700 clamp(26px,3vw,38px)/1.15 var(--serif); color:#1c160c; overflow-wrap:anywhere }
#product-details-description { margin:0 0 18px; color:#4f412a; font-size:15px; line-height:1.65; white-space:pre-line }
.product-modal-facts { display:grid; gap:9px; margin:0 0 22px }
.product-modal-facts>div { padding:9px 12px; border:1px solid #e6d1aa; border-radius:9px; background:#fffaf1aa }
.product-modal-facts dt { margin:0 0 3px; color:#8f641b; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.05em }
.product-modal-facts dd { margin:0; color:#2c2315; font-size:14px; white-space:pre-line }
.product-modal-facts[hidden],.product-modal-facts>div[hidden] { display:none }
.product-modal-order { min-height:42px; padding:10px 18px; font-size:14px }
.product-modal-close:hover { background:#f4dfb3 }
.product-modal-close:focus-visible { outline:3px solid #a9771a; outline-offset:3px }
@media(max-width:600px) {
 .product-details-modal { padding:35px 20px 23px; border-radius:20px; max-height:calc(100dvh - 24px) }
 .product-modal-layout { grid-template-columns:1fr; gap:13px }
 .product-modal-media .product-visual { height:220px }
 .product-modal-media .product-visual .pack { bottom:12px; transform:scale(.72) }
 .product-modal-copy h2 { font-size:28px }
 #product-details-description { font-size:14px }
 .product-modal-order { width:100% }
}
.feedback-initial { display:grid; place-items:center; width:52px; height:52px; flex-shrink:0; border:1px solid #dbb969; border-radius:50%; background:linear-gradient(145deg,#f5dfaa,#d6b669); color:#5e4214; font:700 23px/1 var(--serif) }
/* Customer feedback: three visible cards with a seamless rotating track. */
.feedback-carousel { position:relative; padding:0 34px }
.feedback-viewport { --feedback-columns:3; width:100%; overflow:hidden; padding-bottom:9px; touch-action:pan-y; border-radius:20px }
.customer-feedback-grid.feedback-track { display:flex; gap:15px; align-items:stretch; width:100%; will-change:transform }
.feedback-track>.customer-feedback-card { flex:0 0 var(--feedback-card-width,calc((100% - 30px)/3)); min-width:0; height:auto; margin:0; box-sizing:border-box }
.feedback-track .customer-feedback-card blockquote { white-space:normal }
.feedback-prev { left:-5px }
.feedback-next { right:-5px }
.feedback-controls { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:14px; min-height:36px; margin-top:4px }
.feedback-controls .video-dots { padding:0; flex-wrap:wrap; max-width:80% }
.feedback-autoplay { display:inline-flex; align-items:center; justify-content:center; gap:6px; padding:6px 10px; border:1px solid #e1c897; border-radius:999px; background:#fff8eb; color:#876017; font-size:11px; line-height:1.2; cursor:pointer }
.feedback-autoplay:hover { background:#f5e4bf }
.feedback-autoplay i { width:11px; text-align:center }
.feedback-carousel [hidden],.feedback-controls[hidden],.feedback-controls [hidden] { display:none!important }
.feedback-autoplay:focus-visible,.feedback-viewport:focus-visible { outline:3px solid #aa7618; outline-offset:3px }
@media(min-width:601px) and (max-width:1000px) {
 .feedback-viewport { --feedback-columns:2 }
 .feedback-track>.customer-feedback-card { flex-basis:var(--feedback-card-width,calc((100% - 15px)/2)) }
}
@media(max-width:600px) {
 .feedback-carousel { padding:0 24px }
 .feedback-viewport { --feedback-columns:1 }
 .feedback-track>.customer-feedback-card { flex-basis:var(--feedback-card-width,100%) }
 .feedback-prev { left:-5px }
 .feedback-next { right:-5px }
}
@media(prefers-reduced-motion:reduce) { .feedback-track { transition:none!important; will-change:auto } }
/* White page backgrounds across the public website. */
body,
.home-page:has(.hero-photo),
.inner-page,
.featured-products,
.about-details,
.catalog.product-catalog,
.products-range-wrap,
.review-highlights-area,
.reviews-showcase,
.review-invite-wrap,
.contact-design {
  background:#fff;
}
/* Prices in featured and catalogue cards. */
.featured-products .featured-card .product-price,
.catalog-grid .catalog-product-card .product-price {
  margin:5px 0 10px!important;
  padding:4px 10px;
  border-radius:7px;
  background:#f7ecd2;
  color:#81550d!important;
  font:700 16px/1.3 var(--sans)!important;
}
@media(max-width:760px) {
  .featured-products .featured-card .product-price,
  .catalog-grid .catalog-product-card .product-price { font-size:14px!important }
}
/* White contact information cards with gentle depth. */
.contact-detail-row {
  background:#fff;
  border-color:#eee8de;
  box-shadow:0 4px 14px rgba(45,34,14,.09),0 1px 3px rgba(45,34,14,.04);
}
/* White surfaces throughout the contact page. */
.contact-bottom-card,
.inquiry-form.contact-inquiry {
  background:#fff;
  border-color:#eee8de;
  box-shadow:0 4px 14px rgba(45,34,14,.09),0 1px 3px rgba(45,34,14,.04);
}
.contact-inquiry .contact-panel-heading h2 { color:#17130c }
.contact-inquiry .contact-panel-heading h2>i { color:#b58114 }
.contact-inquiry .contact-panel-heading p { color:#3d3220 }
.contact-inquiry .contact-field,
.contact-social-link,
.business-hours-item {
  background:#fff;
  border:1px solid #eee8de;
  box-shadow:0 3px 10px rgba(45,34,14,.06);
}
.contact-inquiry input,
.contact-inquiry select,
.contact-inquiry textarea {
  background:#fff;
  border-color:#e5dfd4;
}
/* White product cards with soft shadows. */
.featured-products .featured-card,
.catalog-grid .catalog-product-card {
  background:#fff;
  border-color:#eee8de;
  box-shadow:0 4px 14px rgba(45,34,14,.09),0 1px 3px rgba(45,34,14,.04);
}
.featured-products .featured-card:hover,
.catalog-grid .catalog-product-card:hover {
  box-shadow:0 8px 22px rgba(45,34,14,.12),0 2px 5px rgba(45,34,14,.04);
}
.featured-products .featured-card .product-visual,
.catalog-grid .catalog-product-card .product-visual {
  background:#fff;
}
/* Matching white surfaces for the remaining public cards and bars. */
.about-details .company-facts,
.company-values .value-card,
.product-category-filter.filter-bar,
.stats-row.review-highlights,
.customer-feedback-card {
  background:#fff;
  border-color:#eee8de;
  box-shadow:0 4px 14px rgba(45,34,14,.09),0 1px 3px rgba(45,34,14,.04);
}
/* White home category cards. */
.care-card {
  background:#fff;
  border-color:#eee8de;
  box-shadow:0 4px 14px rgba(45,34,14,.09),0 1px 3px rgba(45,34,14,.04);
}
.care-card:hover {
  box-shadow:0 8px 22px rgba(45,34,14,.12),0 2px 5px rgba(45,34,14,.04);
}
/* White price labels and product detail buttons. */
.featured-products .featured-card .product-price,
.catalog-grid .catalog-product-card .product-price,
.catalog-details-button {
  background:#fff;
  border:1px solid #eee8de;
  box-shadow:0 3px 10px rgba(45,34,14,.08);
}
.catalog-details-button:hover {
  background:#fff;
  box-shadow:0 5px 14px rgba(45,34,14,.12);
}
/* Richer gold accents, coordinated with the brand logo. */
:root {
  --brand-gold-deep:#80520a;
  --brand-gold:#b98210;
  --brand-gold-highlight:#e3bb55;
}
.eyebrow,.text-link,
.featured-products .featured-card .product-price,
.catalog-grid .catalog-product-card .product-price,
.company-facts .stat-icon,
.contact-panel-heading h2>i,
.contact-bottom-card h2>i,
.contact-social-link>i:last-child,
.contact-map-link,
.business-hours-item>i,
.review-highlights .stat-icon,
.heading-chat,
.customer-feedback-card blockquote::before,
.product-modal-category,
.product-modal-facts dt,
.product-category-filter .filter-button:not(.active):hover {
  color:var(--brand-gold-deep)!important;
}
.feedback-stars { color:var(--brand-gold) }
.company-values li svg { color:var(--brand-gold) }
.detail-icon {
  color:var(--brand-gold-deep);
  background:linear-gradient(135deg,#f3dc9f,#d5ac4d);
}
.hero-home.hero-photo h1,
.contact-photo-hero h1,
.about-photo-hero .about-hero-brand,
.journey-photo .journey-copy h2,
.home-why .why-title h2,
.review-invite .invite-copy h2,
.products-range-banner h2,
.site-header .brand-copy,
.site-footer .brand-copy {
  color:var(--brand-gold-highlight);
}
.about-photo-hero h1,
.products-photo-hero h1,
.reviews-photo-hero h1 {
  background:linear-gradient(#ebcd7b,#bc8514);
  background-clip:text;
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
}
.button-gold,
.hero-photo .button-gold,
.review-invite .invite-whatsapp,
.products-range-order,
.contact-inquiry .form-submit,
.contact-chat-button,
.product-category-filter .filter-button.active,
.main-nav a.active,
.main-nav a:hover,
.video-arrow {
  background:linear-gradient(115deg,#e7c15f,#d5a32e 55%,#b98210);
  border-color:#b98210;
  color:#1d1508;
}
.hero-flourish,.products-hero-flourish,.reviews-hero-flourish,
.company-values .value-icon,.invite-symbol,
.home-why .check-list li::after,
.products-range-lists li i,.footer-contact-links i {
  color:var(--brand-gold-highlight);
}
.hero-trust .trust-icon { color:var(--brand-gold-highlight) }
.fact-anniversary { color:var(--brand-gold) }
.hero-photo .button-outline,
.company-values .value-icon,
.journey-band.journey-photo,
.why-band.home-why,
.review-cta.review-invite,
.products-range-banner {
  border-color:var(--brand-gold);
}
.home-why .check-list li::after { border-color:var(--brand-gold-highlight) }
.video-dot.active { background:var(--brand-gold) }
.feedback-initial { background:linear-gradient(140deg,#efd58f,#c89b34); color:var(--brand-gold-deep) }
.feedback-autoplay { color:var(--brand-gold-deep) }
/* Newest four products, using the same white product card design. */
.new-arrivals .new-arrivals-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px }
.new-arrivals .new-arrivals-intro { margin:9px 0 0; color:#6d665c; font-size:14px; line-height:1.5 }
.new-arrivals-footer { display:flex; justify-content:center; margin-top:23px }
.new-arrivals-footer .featured-product-link { min-height:40px; padding:9px 22px; background:#fff; border-color:#eee8de; box-shadow:0 3px 10px rgba(45,34,14,.08); color:var(--brand-gold-deep) }
.new-arrivals .featured-product-link i { font-size:11px; margin-left:5px }
@media(max-width:760px) { .new-arrivals .new-arrivals-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px } }
/* One product per row on mobile across home and catalogue. */
@media(max-width:760px) {
  .featured-products .product-grid-five,
  .new-arrivals .new-arrivals-grid,
  .product-catalog .catalog-grid {
    grid-template-columns:minmax(0,1fr);
  }
}
/* White View Product buttons on the home page. */
.home-page .featured-product-link {
  background:#fff;
  border-color:#eee8de;
  box-shadow:0 3px 10px rgba(45,34,14,.08);
}
.home-page .featured-product-link:hover {
  background:#fff;
  box-shadow:0 5px 14px rgba(45,34,14,.12);
}

/* Portrait TikTok players, retaining the existing responsive video carousel. */
.tiktok-review-card iframe { aspect-ratio:9/16; width:100%; height:100%; }
.video-platform-link i { margin-right:5px; }
/* Load TikTok players only after a visitor chooses a video. */
.tiktok-stage { position:relative; width:100%; aspect-ratio:9/16; background:radial-gradient(ellipse at top,#493717,#15140e 65%); overflow:hidden }
.tiktok-load-button { display:flex; align-items:center; justify-content:center; flex-direction:column; gap:22px; width:100%; height:100%; padding:30px 20px; border:0; background:transparent; color:#f2d489; cursor:pointer; text-align:center }
.tiktok-load-button>i { font-size:56px; color:#fff; text-shadow:-2px 0 #25e5d9,2px 0 #fd4260 }
.tiktok-load-button strong { font:600 21px/1.35 var(--serif) }
.tiktok-play-label { display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:12px 20px; border:1px solid #d8b55d; border-radius:999px; background:linear-gradient(110deg,#e3bc5c,#b98210); color:#171107; font-size:14px; font-weight:700 }
.tiktok-direct-note { color:#d6c7a5; font-size:12px }
.tiktok-load-button:hover .tiktok-play-label { filter:brightness(1.08) }
.tiktok-load-button:focus-visible { outline:3px solid #e3bb55; outline-offset:-5px }
