:root {
--ivory:#f7f3eb;
  --black:#1c1b1a;
  --gold:#c9a227;
  --sand:#e4d5b7;
  --accent:#8c6239;
  --taupe:#a9855f;
  --olive:#7d7f53;
  --line:#cec3b2;
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Josefin Sans',Arial,sans-serif;
}

* {
box-sizing:border-box;
}

html {
scroll-behavior:smooth;
  scroll-padding-top:24px;
}

body {
margin:0;
  color:var(--black);
  background:var(--ivory);
  font:400 17px/1.65 var(--sans);
}

button,input {
font:inherit;
}

button,a {
-webkit-tap-highlight-color:transparent;
}

button {
color:inherit;
  cursor:pointer;
}

a {
color:inherit;
  text-decoration:none;
}

button {
border:0;
  background:none;
}

img {
display:block;
  max-width:100%;
  height:auto;
}

h1,h2,h3,p {
margin:0;
}

h1,h2,h3 {
font-family:var(--serif);
  font-weight:500;
  line-height:1.05;
}

h2 {
font-size:clamp(42px,4.2vw,66px);
  letter-spacing:-1.2px;
}

p {
max-width:65ch;
}

p+p {
margin-top:20px;
}

a:focus-visible,button:focus-visible,input:focus-visible,[tabindex]:focus-visible {
outline:2px solid var(--accent);
  outline-offset:5px;
}

.header :focus-visible,.footer :focus-visible,.difference :focus-visible {
outline-color:var(--accent);
}

.skip {
position:fixed;
  top:-80px;
  left:10px;
  padding:10px;
  background:var(--ivory);
  z-index:100;
}

.skip:focus {
top:8px;
}

.skip:not(:focus) {
  clip-path:inset(50%);
}

.announcement {
height:32px;
  display:grid;
  place-items:center;
  background:var(--sand);
  color:var(--black);
  font-size:12px;
  letter-spacing:.4px;
}

.header nav {
display:flex;
  gap:28px;
  align-items:center;
  font-size:14px;
  line-height:1.2;
}

.nav-right {
justify-content:flex-end;
}

.nav-link {
padding:0;
}

.header a:not(.brand):hover,.nav-link:hover {
color:var(--accent);
}

.icon-button {
display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:44px;
  padding:9px;
  flex-shrink:0;
}

.icon-button svg {
width:24px;
  height:24px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.25;
}

.menu-toggle {
display:none;
}

.mobile-menu[hidden] {
display:none;
}

.mobile-menu {
background:var(--ivory);
  color:var(--black);
  border-bottom:1px solid var(--line);
  padding:22px;
  display:grid;
  gap:20px;
}

.mobile-menu button {
text-align:left;
  padding:0;
}

.button {
display:inline-flex;
  justify-content:center;
  align-items:center;
  min-height:52px;
  padding:15px 30px;
  line-height:1.35;
  background:var(--accent);
  color:var(--ivory);
  font-size:14px;
  border:1px solid var(--accent);
  transition:background .15s;
}

.button:hover {
background:#6f4929;
}

.quiet-link:hover {
text-decoration:underline;
  text-underline-offset:5px;
}

.image-caption {
position:absolute;
  bottom:25px;
  left:28px;
  color:#fff5df;
  font-size:12px;
  letter-spacing:.4px;
  text-shadow:0 1px 8px #000;
}

.section {
padding:100px 5.5vw;
}

.section-heading {
display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:30px;
  margin-bottom:42px;
}

.section-heading h2 {
margin-bottom:20px;
}

.section-heading p {
max-width:590px;
}

.text-link {
display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:25px;
  min-height:44px;
  border-bottom:1px solid currentColor;
  padding:10px 0 7px;
  font-size:14px;
  line-height:1.4;
  text-align:left;
}

.text-link:hover {
color:var(--accent);
}

.section-heading>.text-link {
flex-shrink:0;
}

.product-grid {
display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:23px;
}

.product { display:flex; flex-direction:column; min-width:0; }

.product-step {
display:grid;
  grid-template-columns:30px minmax(0,1fr);
  align-items:baseline;
  gap:10px;
  font-size:12px;
  border-bottom:1px solid var(--line);
  padding-bottom:14px;
  line-height:1.4;
}

.product-step>.step-number {
font-family:var(--serif);
  font-size:24px;
  line-height:1;
  font-variant-numeric:lining-nums tabular-nums;
  font-feature-settings:"lnum" 1,"tnum" 1;
  color:var(--accent);
}

.product-step>.step-label { font-family:var(--sans); font-size:inherit; line-height:1.4; }
.quiet-link { text-decoration:underline; text-underline-offset:5px; text-decoration-thickness:1px; }
.product h3 a:hover { color:var(--accent); }
.search-price { display:block; margin-top:7px; font-size:12px; color:#715332; }

.product-photo {
display:block;
  flex-shrink:0;
width:100%;
  aspect-ratio:4/5;
  overflow:hidden;
  padding:0;
  margin:16px 0 23px;
  background:var(--sand);
}

.product-photo img {
width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .35s;
  object-position:center;
}

.product-photo:hover img {
transform:scale(1.035);
}

.creme-photo img {
object-position:50% 50%;
}

.product h3 {
font-size:29px;
  min-height:64px;
  letter-spacing:-.35px;
  margin-bottom:12px;
}

.product>p {
font-size:15px;
  line-height:1.6;
  min-height:76px;
}

.product-link {
font-size:12px;
  gap:8px;
  display:flex;
  width:100%;
  margin-top:12px;
  min-height:51px;
}

.product-link>span {
flex-shrink:0;
  font-size:16px;
}

.experiences {
background:#eee6d8;
  display:grid;
  grid-template-columns:1fr 1.15fr;
  gap:10vw;
  padding-top:85px;
  padding-bottom:85px;
}

.experience-intro h2 {
margin-bottom:22px;
}

.experience-intro>p {
max-width:400px;
  font-size:16px;
}

.experience-intro .text-link {
margin-top:19px;
}

.experience-quote {
position:relative;
  padding:20px 0 0 25px;
  align-self:center;
}

.quote-mark {
font:110px/.6 var(--serif);
  color:var(--taupe);
  display:block;
  margin-bottom:20px;
}

.experience-quote blockquote {
font:400 clamp(30px,3vw,46px)/1.17 var(--serif);
  margin:0 0 25px;
  max-width:450px;
}

.quote-author {
font-size:16px;
}

.asset-label {
font-size:11px;
  line-height:1.6;
  color:#6c5c4d;
}

.experience-quote .asset-label {
margin-top:16px;
}

.difference {
background:#eae0cf;
  color:var(--black);
  display:grid;
  grid-template-columns:46% 54%;
}

.difference-image {
position:relative;
  min-height:790px;
}

.difference-image>img {
position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:52% 65%;
}

.difference-copy {
padding:80px 5.5vw 80px 6vw;
}

.difference-copy h2 {
margin-bottom:28px;
  font-size:clamp(42px,4.1vw,65px);
}

.difference-copy>p {
font-size:16px;
  line-height:1.8;
  max-width:540px;
}

.process-details {
padding:0;
  list-style:none;
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:20px;
  border-top:1px solid #c8b99e;
  margin:32px 0;
}

.process-details li {
font-size:12px;
  line-height:1.5;
  padding-top:20px;
  max-width:145px;
}

.process-details span {
font:400 27px/1.1 var(--serif);
  display:block;
  color:var(--accent);
  margin-bottom:10px;
}

.button-light {
background:var(--ivory);
  color:var(--accent);
  border-color:var(--ivory);
}

.button-light:hover {
background:var(--sand);
}

.family {
display:grid;
  grid-template-columns:1fr 1fr;
  gap:9vw;
  align-items:center;
  padding-top:110px;
  padding-bottom:110px;
}

.family h2 {
margin-bottom:30px;
}

.family p {
font-size:16px;
  line-height:1.85;
}

.family .family-lead {
font-size:19px;
  line-height:1.7;
}

.family .text-link {
margin-top:22px;
}

.family-photo {
position:relative;
  aspect-ratio:4/4.6;
  min-height:450px;
  background:var(--sand);
  overflow:hidden;
}

.family-photo>img {
width:100%;
  height:100%;
  object-fit:cover;
  position:absolute;
  inset:0;
}

.portrait-reserve {
position:absolute;
  inset:25px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  border:1px solid #8c62393d;
  background:#f7f3eb26;
}

.portrait-reserve p {
font:400 43px/1.1 var(--serif);
  margin:25px 0;
}

.portrait-line {
display:block;
  width:100px;
  height:125px;
  border:1px solid #a9855f78;
  border-radius:50% 50% 0 0;
  position:relative;
}

.portrait-line:before {
content:'';
  display:block;
  position:absolute;
  width:38px;
  height:44px;
  border:1px solid #a9855f78;
  border-radius:50%;
  top:18px;
  left:30px;
}

.portrait-line:after {
content:'';
  position:absolute;
  width:65px;
  height:40px;
  border:1px solid #a9855f78;
  border-bottom:0;
  border-radius:50% 50% 0 0;
  bottom:12px;
  left:17px;
}

.botanicals {
background:#ebe5d8;
}

.botanical-heading {
max-width:850px;
  margin:auto;
  text-align:center;
}

.botanical-heading h2 {
font-size:clamp(39px,3.8vw,58px);
  margin-bottom:25px;
}

.botanical-heading>p {
margin:0 auto;
  max-width:700px;
  font-size:16px;
}

.botanical-heading>p+p {
margin-top:16px;
}

.footer {
background:#ede3d2;
  color:var(--black);
  padding:75px 5.5vw 20px;
}

.footer-top {
display:flex;
  justify-content:space-between;
  gap:80px;
}

.footer-letter {
width:430px;
  max-width:100%;
}

.footer h2 {
font-size:52px;
}

.footer-letter>p {
font-size:14px;
  margin-top:20px;
}

.email-line {
display:flex;
  border-bottom:1px solid #bfb4a3;
  margin-top:28px;
}

.email-line input {
background:transparent;
  border:0;
  color:var(--ivory);
  width:100%;
  min-width:0;
  padding:14px 0;
  font-size:14px;
}

.email-line input::placeholder {
color:#c6baaa;
}

.email-line button {
padding:0 8px 0 20px;
  font-size:14px;
  white-space:nowrap;
}

.email-line button span {
margin-left:10px;
}

.newsletter-note {
font-size:10px;
  opacity:.7;
  line-height:1.5;
  margin-top:12px;
}

.footer-links {
display:flex;
  gap:90px;
  padding-top:10px;
}

.footer-links>div {
display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:12px;
}

.footer-links h3 {
font-family:var(--sans);
  font-size:13px;
  color:var(--accent);
  margin-bottom:8px;
}

.footer-links a,.footer-links button {
font-size:13px;
  padding:0;
  line-height:1.6;
  text-align:left;
}

.footer-links a:hover,.footer-links button:hover {
text-decoration:underline;
  text-underline-offset:4px;
}

.footer-bottom {
border-top:1px solid #cbbda4;
  margin-top:60px;
  padding-top:25px;
  display:flex;
  align-items:center;
  gap:40px;
  font-size:11px;
}

.footer-brand {
margin-right:auto;
}

.footer-bottom>a:last-child {
margin-left:15px;
}

.review-tools {
position:fixed;
  bottom:14px;
  left:16px;
  background:var(--ivory);
  box-shadow:0 2px 15px #0002;
  z-index:20;
  display:flex;
  align-items:center;
  gap:16px;
  padding:6px 8px 6px 15px;
  font-size:11px;
  line-height:1.3;
  border:1px solid var(--line);
}

.review-tools>span {
color:#665a4d;
}

.review-tools>button {
padding:7px 3px;
  color:var(--accent);
}

.review-tools #hide-review {
font-size:20px;
  line-height:1;
  width:24px;
  padding:2px;
}

.visually-hidden {
position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
}

dialog {
padding:0;
  border:0;
  max-height:90dvh;
  width:min(850px,calc(100% - 36px));
  background:var(--ivory);
  color:var(--black);
  box-shadow:0 25px 100px #0005;
}

dialog::backdrop {
background:#1c1b1a99;
  backdrop-filter:blur(4px);
}

.modal-close {
position:absolute;
  top:12px;
  right:12px;
  z-index:1;
  background:var(--ivory);
}

.modal-body {
padding:60px;
}

.modal-body h2 {
font-size:46px;
  line-height:1.1;
  margin-bottom:25px;
  max-width:90%;
}

.modal-body h3 {
font-size:29px;
  margin:30px 0 14px;
}

.modal-body p,.modal-body li {
font-size:15px;
  line-height:1.8;
}

.modal-body a {
color:var(--accent);
  text-decoration:underline;
  text-underline-offset:3px;
}

.modal-body ul {
padding-left:20px;
}

.modal-eyebrow {
font-size:12px;
  display:block;
  color:#6c5c4d;
  margin-bottom:18px;
}

.modal-product {
display:grid;
  grid-template-columns:1fr 1fr;
}

.modal-product>img {
width:100%;
  height:100%;
  min-height:490px;
  object-fit:cover;
}

.modal-product .modal-body {
padding:65px 32px 40px;
}

.modal-product h2 {
font-size:38px;
}

.modal-product .button {
margin-top:25px;
}

.preview-note {
font-size:12px!important;
  color:#6c5c4d;
  margin-top:22px;
}

.modal-body .source-review {
max-width:260px;
  margin-top:20px;
}

.search-input {
width:100%;
  background:transparent;
  border:0;
  border-bottom:1px solid var(--line);
  padding:12px 0;
  margin-bottom:22px;
}

.search-results {
display:grid;
  gap:10px;
}

.search-result {
display:flex;
  align-items:center;
  gap:20px;
  width:100%;
  text-align:left;
  padding:10px 0;
  border-bottom:1px solid var(--line);
}

.search-result img {
width:60px;
  height:75px;
  object-fit:cover;
}

.search-result span {
font:500 24px/1.2 var(--serif);
}

.notes-list li {
margin-bottom:12px;
}

.screen-lock {
overflow:hidden;
}

.review-tools[hidden] {
display:none;
}

.modal-tags {
display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin:22px 0;
}

.modal-tags span {
font-size:12px;
  border:1px solid var(--line);
  padding:5px 9px;
}

@media(min-width:1700px) {
.section {
padding-left:8vw;
    padding-right:8vw;
}
}

@media(max-width:1150px) {
.header nav {
gap:18px;
    font-size:13px;
}

.section {
padding:75px 4.5vw;
}

.product-grid {
gap:16px;
}

.product h3 {
font-size:25px;
    min-height:57px;
}

.product>p {
min-height:95px;
}

.product-link {
min-height:62px;
}

.difference-copy {
padding:65px 4vw;
}

.difference-image {
min-height:770px;
}

.difference-copy>p {
font-size:15px;
}

.process-details {
gap:12px;
}

.process-details span {
font-size:23px;
}

.family {
gap:6vw;
}

.footer-links {
gap:50px;
}
}

@media(max-width:800px) {
h2 {
font-size:43px;
    letter-spacing:-.7px;
}

.announcement {
font-size:10px;
    height:30px;
}

.header .nav-left {
display:none;
}

.menu-toggle {
display:inline-flex;
}

.nav-right>a,.nav-right>.nav-link {
display:none;
}

.header nav.nav-right {
gap:4px;
}

.button {
font-size:13px;
    padding:14px 22px;
}

.section-heading {
align-items:flex-start;
    flex-direction:column;
    gap:16px;
    margin-bottom:30px;
}

.section-heading h2 {
margin-bottom:18px;
}

.section-heading p {
font-size:15px;
}

.product-grid {
grid-template-columns:1fr 1fr;
    gap:38px 20px;
}

.product h3 {
font-size:29px;
    min-height:62px;
}

.product>p {
min-height:75px;
}

.product-link {
min-height:48px;
}

.product-step {
font-size:12px;
}

.experiences {
grid-template-columns:1fr 1fr;
    gap:6vw;
}

.experience-intro>p {
font-size:15px;
}

.experience-quote {
padding-left:0;
}

.experience-quote blockquote {
font-size:33px;
}

.difference {
grid-template-columns:40% 60%;
}

.difference-copy {
padding:55px 4vw;
}

.difference-copy h2 {
font-size:41px;
}

.difference-image {
min-height:760px;
}

.process-details {
grid-template-columns:1fr;
    gap:12px;
    margin:25px 0;
}

.process-details li {
max-width:none;
    display:flex;
    align-items:baseline;
    gap:13px;
    padding-top:10px;
}

.process-details span {
font-size:22px;
    min-width:115px;
    margin:0;
}

.family {
grid-template-columns:1fr 1fr;
    gap:5vw;
}

.family h2 {
font-size:41px;
}

.family p {
font-size:14px;
    line-height:1.8;
}

.family .family-lead {
font-size:17px;
}

.family-photo {
min-height:470px;
}

.portrait-reserve {
inset:15px;
}

.portrait-reserve p {
font-size:34px;
}

.botanical-heading h2 {
font-size:42px;
}

.footer-top {
gap:40px;
}

.footer-links {
gap:30px;
}

.footer h2 {
font-size:45px;
}

.footer-bottom {
gap:20px;
}

.footer-bottom>a:last-child {
margin-left:0;
}

.modal-body {
padding:50px 30px;
}

.modal-product .modal-body {
padding:65px 25px 30px;
}
}

@media(max-width:600px) {
body {
font-size:16px;
}

.image-caption {
left:22px;
    bottom:20px;
}

.section {
padding:62px 22px;
}

.section-heading {
margin-bottom:30px;
}

.section-heading>.text-link {
font-size:13px;
}

.product-grid {
gap:35px 15px;
}

.product-step {
font-size:10px;
    gap:8px;
    min-height:43px;
    padding-bottom:8px;
}

.product-step>.step-number {
font-size:18px;
}

.product-photo {
margin-top:12px;
    margin-bottom:18px;
    aspect-ratio:3/4;
}

.product h3 {
font-size:23px;
    line-height:1.1;
    min-height:77px;
    margin-bottom:8px;
}

.product>p {
font-size:13px;
    line-height:1.6;
    min-height:105px;
}

.product-link {
font-size:11px;
    line-height:1.5;
    min-height:65px;
    align-items:flex-start;
    gap:6px;
    margin-top:6px;
}

.experiences {
grid-template-columns:1fr;
    gap:43px;
}

.experience-intro h2 {
font-size:45px;
}

.experience-intro>p {
font-size:16px;
}

.experience-quote {
padding:0 5px 0 20px;
    border-left:1px solid var(--taupe);
}

.quote-mark {
font-size:80px;
    margin:6px 0 15px;
}

.experience-quote blockquote {
font-size:35px;
    margin-bottom:20px;
}

.difference {
display:flex;
    flex-direction:column;
}

.difference-image {
min-height:0;
    aspect-ratio:1/1.06;
    order:1;
}

.difference-image>img {
object-position:center 57%;
}

.difference-copy {
padding:60px 25px;
    order:0;
}

.difference-copy h2 {
font-size:46px;
    letter-spacing:-.8px;
}

.difference-copy>p {
font-size:15px;
    line-height:1.85;
}

.process-details {
gap:14px;
    margin:30px 0;
}

.process-details li {
font-size:12px;
    padding-top:8px;
}

.process-details span {
font-size:26px;
    min-width:140px;
}

.difference-copy .button {
width:100%;
}

.family {
grid-template-columns:1fr;
    gap:36px;
}

.family h2 {
font-size:46px;
}

.family p {
font-size:15px;
}

.family .family-lead {
font-size:18px;
}

.family-photo {
min-height:0;
    aspect-ratio:1/1.05;
}

.portrait-reserve {
inset:24px;
}

.portrait-reserve p {
font-size:43px;
}

.botanical-heading {
text-align:left;
}

.botanical-heading h2 {
font-size:41px;
}

.botanical-heading>p {
font-size:15px;
}

.footer {
padding:60px 25px 20px;
}

.footer-top {
flex-direction:column;
    gap:50px;
}

.footer h2 {
font-size:49px;
}

.footer-letter {
width:100%;
}

.footer-links {
gap:40px;
    justify-content:space-between;
    padding-right:0;
}

.footer-links>div {
max-width:48%;
}

.footer-links a,.footer-links button {
font-size:12px;
}

.footer-bottom {
flex-wrap:wrap;
    justify-content:space-between;
    gap:18px;
    font-size:10px;
    margin-top:45px;
    padding-bottom:40px;
}

.footer-brand {
width:100%;
    margin-right:0;
    margin-bottom:15px;
}

.footer-bottom>a:last-child {
margin:0;
}

.review-tools {
bottom:10px;
    left:10px;
    font-size:10px;
    padding:5px 5px 5px 10px;
    gap:10px;
}

.modal-product {
grid-template-columns:1fr;
}

.modal-product>img {
height:260px;
    min-height:0;
    object-position:center 54%;
}

.modal-product .modal-body {
padding:30px 25px;
}

.modal-body {
padding:50px 25px 35px;
}

.modal-body h2 {
font-size:36px;
}

.modal-body p,.modal-body li {
font-size:14px;
}

.modal-close {
top:8px;
    right:8px;
}

.modal-product .modal-close {
background:var(--ivory);
}
}

@media(max-width:360px) {
.product-grid {
gap:30px 12px;
}

.product h3 {
font-size:21px;
    min-height:73px;
}

.product>p {
min-height:125px;
}

.product-step {
font-size:9px;
}

.product-link {
font-size:10px;
}

.process-details span {
min-width:125px;
    font-size:24px;
}

.section {
padding-left:18px;
    padding-right:18px;
}
}

.family {
grid-template-columns:minmax(0,1fr) minmax(0,1fr);
}

.family-photo {
width:100%;
  min-width:0;
}

@media(max-width:600px) {
.family {
grid-template-columns:minmax(0,1fr);
}
}

.header {
height:96px;
  padding:0 5.5vw;
  background:var(--ivory);
  color:var(--black);
  border-bottom:1px solid #e3d9c9;
  display:grid;
  grid-template-columns:76px minmax(0,1fr) 96px;
  align-items:center;
  column-gap:24px;
}

.brand {
width:52px; padding:0;
}

.brand img {
width:52px; height:auto;
}

.header .nav-left {
justify-content:center;
}

.header .nav-right {
gap:8px;
}

.footer-brand img {
width:52px; height:auto;
}

.hero {
position:relative;
  display:grid;
  align-items:center;
  min-height:620px;
  height:min(760px,calc(100svh - 128px));
  isolation:isolate;
  color:var(--ivory);
  background:#74330d;
}

.hero-image {
position:absolute; inset:0; overflow:hidden; z-index:-1;
}

.hero-image::after {
content:''; position:absolute; inset:0; background:rgba(28,27,26,.43);
}

.hero-image>img {
width:100%; height:100%; object-fit:cover; object-position:50% 54%;
}

.hero .image-caption {
left:auto; right:30px; z-index:1; text-shadow:none;
}

.hero-copy {
padding:62px 0;
  margin-left:6vw;
  width:min(43%,620px);
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}

.hero h1 {
font-size:clamp(62px,5.15vw,94px);
  line-height:1.06;
  letter-spacing:-1.6px;
  color:var(--ivory);
  margin-bottom:26px;
  white-space:nowrap;
}

.hero-copy p {
font-size:17px; line-height:1.8; max-width:435px; margin-bottom:28px;
}

.hero-copy .button {
color:var(--black); background:var(--ivory); border-color:var(--ivory); min-width:180px;
}

.hero-copy .button:hover {
background:var(--sand); border-color:var(--sand);
}

.hero :focus-visible {
outline-color:var(--ivory);
}

.quiet-link {
font-size:13px; margin-top:20px; display:inline-flex; align-items:center; gap:18px;
}

@media(min-width:1700px) {
.header {
padding-left:8vw; padding-right:8vw;
}

.hero-copy {
margin-left:8vw;
}
}

@media(min-width:801px) and (max-width:1150px) {
.header {
padding:0 4vw; gap:16px; grid-template-columns:60px minmax(0,1fr) 90px;
}

.header nav {
gap:20px; font-size:12px;
}

.hero {
min-height:600px;
}

.hero-copy {
width:43%; margin-left:5vw;
}

.hero h1 {
font-size:5.15vw;
}

.hero-copy p {
font-size:16px; line-height:1.8;
}
}

@media(max-width:800px) {
.announcement {
height:28px; font-size:10px;
}

.header {
height:80px; padding:0 22px; grid-template-columns:minmax(0,1fr) auto auto; gap:7px;
}

.brand,.brand img {
width:42px;
}

.header .nav-right {
gap:2px;
}

.menu-toggle {
grid-column:3;
}

.hero {
display:flex; flex-direction:column; height:auto; min-height:0; color:var(--black); background:var(--ivory);
}

.hero-image {
position:relative; inset:auto; width:100%; aspect-ratio:5/4; z-index:0;
}

.hero-image::after {
display:none;
}

.hero-image>img {
position:absolute; inset:0; object-position:50% 57%;
}

.hero .image-caption {
right:22px; bottom:18px; text-shadow:0 1px 8px #000;
}

.hero-copy {
width:100%; margin:0; padding:44px 6vw 50px;
}

.hero h1 {
color:var(--black); font-size:clamp(48px,7.5vw,65px); letter-spacing:-1.1px; margin-bottom:22px;
}

.hero-copy p {
font-size:16px; line-height:1.8; max-width:540px; margin-bottom:25px;
}

.hero-copy .button {
background:var(--accent); border-color:var(--accent); color:var(--ivory);
}

.hero-copy .button:hover {
background:#6f4929; border-color:#6f4929;
}

.hero :focus-visible {
outline-color:var(--accent);
}

.quiet-link {
font-size:12px; gap:14px; margin-top:19px;
}

.footer-brand img {
width:42px;
}
}

@media(max-width:600px) {
.hero-image {
aspect-ratio:1/1;
}

.hero-copy {
padding:38px 25px 47px;
}

.hero h1 {
font-size:clamp(44px,11.3vw,62px);
}

.hero-copy .button {
width:auto; min-width:190px;
}
}

@media(max-width:360px) {
.header {
padding:0 18px;
}

.hero-copy {
padding-left:22px; padding-right:22px;
}

.hero h1 {
font-size:40px;
}
}


.button { border-radius:999px; padding-left:30px; padding-right:30px; }
.button-outline,.button-light { background:transparent; color:var(--accent); border-color:var(--accent); }
.button-outline:hover,.button-light:hover { background:#e2d4ba; color:#6f4929; }
.button-outline>span { margin-left:20px; }
.icon-button { border-radius:50%; }
.header .icon-button:hover,.modal-close:hover { background:#e9dfcf; }
.header .nav-left { gap:32px; }
.header .nav-left>a,.header .nav-left>.nav-link { padding:12px 0; }
.header a:not(.brand):hover,.header .nav-link:hover { color:var(--accent); }
.mobile-menu { background:var(--ivory); color:var(--black); border-bottom:1px solid var(--line); }
.email-line { border:1px solid #c8b99f; background:var(--ivory); border-radius:999px; padding:5px; }
.email-line input { color:var(--black); padding:12px 16px; }
.email-line input::placeholder { color:#736555; }
.email-line button { border-radius:999px; min-height:44px; padding:0 20px; background:var(--accent); color:var(--ivory); }
.email-line button:hover { background:#6f4929; }
.email-line input:focus-visible { outline-offset:0; border-radius:999px; }
.botanical-spread { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); align-items:stretch; gap:5vw; margin-top:54px; }
.botanical-photo { position:relative; overflow:hidden; border-radius:18px; min-height:540px; }
.botanical-photo img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 76%; }
.botanical-benefits { align-self:center; padding:8px 0; }
.ingredient-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:31px 34px; margin:0 0 38px; }
.ingredient-list>div { padding-bottom:22px; border-bottom:1px solid #cbbfa9; }
.ingredient-list dt { font:500 32px/1.12 var(--serif); margin-bottom:12px; }
.ingredient-list dd { font-size:15px; line-height:1.65; margin:0; }
.finder { padding-top:105px; padding-bottom:110px; }
.finder-intro { max-width:760px; margin:0 auto 45px; text-align:center; }
.finder-intro h2 { margin-bottom:24px; font-size:clamp(42px,4vw,62px); }
.finder-intro p { margin:0 auto; max-width:620px; font-size:17px; }
.finder-body { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:5vw; align-items:start; }
.concerns { padding:0; margin:0; border:0; min-width:0; }
.concerns legend { font-size:15px; padding:0 0 23px; line-height:1.5; }
.concern-choices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }
.concerns label { display:flex; position:relative; align-items:center; justify-content:space-between; gap:12px; min-height:86px; border:1px solid #cdbb9f; padding:17px 18px; border-radius:28px; font-size:14px; line-height:1.45; cursor:pointer; background:transparent; }
.concerns label:hover { background:#eee3d1; }
.concerns label:has(input:checked) { background:var(--accent); border-color:var(--accent); color:var(--ivory); }
.concerns label:has(input:focus-visible) { outline:2px solid var(--accent); outline-offset:4px; }
.concerns input { position:absolute; opacity:0; width:1px; height:1px; }
.choice-check { opacity:0; font-size:15px; width:16px; flex-shrink:0; }
.concerns label:has(input:checked) .choice-check { opacity:1; }
.recommendation { padding:30px; border-radius:20px; background:#eee5d6; min-width:0; }
.recommendation-label { font-size:12px; color:#725237; }
.recommendation h3 { font-size:34px; line-height:1.1; margin:13px 0 14px; }
.recommendation>p { font-size:15px; line-height:1.65; }
.recommendation-products { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:25px; }
.recommendation-product { min-width:0; padding:0; text-align:left; display:flex; flex-direction:column; align-items:flex-start; }
.recommendation-product img { width:100%; aspect-ratio:1/1; object-fit:cover; object-position:50% 57%; border-radius:12px; }
.recommendation-product-name { font:500 23px/1.15 var(--serif); margin:15px 0 13px; }
.product-action { font-size:12px; line-height:1.5; display:flex; justify-content:space-between; width:100%; border-bottom:1px solid #b5a38c; padding:5px 0; margin-top:auto; }
.product-action>span { margin-left:12px; }
.recommendation-product:hover .product-action { color:var(--accent); }
.single-product img { max-height:240px; aspect-ratio:16/9; }
.single-product { grid-template-columns:minmax(0,1fr); }
@media(min-width:601px) {
  .recommendation-products:has(>.recommendation-product:nth-child(3)) { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:1150px) {
  .header .nav-left { gap:20px; }
  .botanical-spread { gap:4vw; }
  .ingredient-list { gap:25px; }
  .ingredient-list dt { font-size:29px; }
  .ingredient-list dd { font-size:14px; }
  .finder-body { gap:4vw; }
  .concerns label { padding:15px; font-size:13px; min-height:92px; }
  .recommendation { padding:25px; }
  .recommendation h3 { font-size:31px; }
  .recommendation-product-name { font-size:21px; }
}
@media(max-width:800px) {
  .header { border-bottom:1px solid #e3d9c9; }
  .botanical-spread { grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr); gap:28px; }
  .botanical-photo { min-height:570px; }
  .ingredient-list { gap:22px 20px; }
  .ingredient-list dt { font-size:28px; }
  .finder { padding-top:75px; padding-bottom:75px; }
  .finder-intro h2 { font-size:46px; }
  .finder-body { grid-template-columns:minmax(0,1fr); gap:30px; }
  .concerns label { min-height:68px; font-size:14px; padding:15px 20px; border-radius:999px; }
  .recommendation { padding:30px; }
  .recommendation-products { gap:24px; }
  .recommendation-product img { max-height:260px; aspect-ratio:5/4; }
  .recommendation-product-name { font-size:26px; }
  .single-product img { aspect-ratio:16/9; }
}
@media(max-width:600px) {
  .botanical-spread { display:block; margin-top:35px; }
  .botanical-photo { display:none; }
  .ingredient-list { gap:24px 22px; margin-bottom:30px; }
  .ingredient-list>div { padding-bottom:16px; }
  .ingredient-list dt { font-size:27px; }
  .ingredient-list dd { font-size:14px; }
  .botanical-benefits { padding:0; }
  .botanical-benefits .button { font-size:12px; min-height:50px; padding:14px 23px; }
  .finder { padding-top:65px; padding-bottom:65px; }
  .finder-intro { text-align:left; margin-bottom:30px; }
  .finder-intro h2 { font-size:45px; max-width:350px; }
  .finder-intro p { font-size:16px; }
  .concerns legend { font-size:13px; padding-bottom:18px; }
  .concern-choices { gap:10px; }
  .concerns label { font-size:12px; min-height:82px; padding:13px 14px; border-radius:25px; gap:7px; }
  .choice-check { width:12px; font-size:13px; }
  .recommendation { padding:24px 20px; border-radius:18px; }
  .recommendation h3 { font-size:32px; }
  .recommendation>p { font-size:14px; }
  .recommendation-products { gap:14px; margin-top:22px; }
  .recommendation-product img { aspect-ratio:1/1.12; }
  .recommendation-product-name { font-size:23px; margin-top:13px; }
  .product-action { font-size:11px; }
  .single-product img { aspect-ratio:16/9; }
  .email-line input { padding-left:13px; font-size:13px; }
  .email-line button { padding:0 17px; font-size:12px; }
}
@media(max-width:360px) {
  .ingredient-list { gap:22px 16px; }
  .ingredient-list dt { font-size:25px; }
  .ingredient-list dd { font-size:13px; }
  .concerns label { font-size:11px; padding:12px; }
  .recommendation { padding:22px 16px; }
  .recommendation-product-name { font-size:20px; }
}

.hero-category { font-size:13px; line-height:1.5; margin-bottom:20px; }
.hero-copy p { max-width:420px; }
.brand-facts { padding:28px 5.5vw; border-bottom:1px solid #ddcfb7; background:#efe5d4; }
.brand-facts ul { list-style:none; padding:0; margin:0 auto; max-width:1150px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.brand-facts li { display:flex; align-items:center; justify-content:center; gap:15px; padding:4px 20px; border-right:1px solid #ccbda5; line-height:1.4; }
.brand-facts li:last-child { border-right:0; }
.brand-facts strong { font:500 23px/1.15 var(--serif); white-space:nowrap; }
.brand-facts li>span { font-size:12px; }
.product-photo { border-radius:10px; }
.product .product-price { min-height:0; font-size:17px; line-height:1.4; margin-top:auto; padding-top:12px; }
.product-price>span,.gift-price>span,.modal-price>span { font-size:11px; margin-left:5px; }
.product .product-link { justify-content:center; min-height:48px; font-size:13px; margin-top:18px; }
.difference-image { min-height:710px; }
.difference-copy { padding-top:62px; padding-bottom:62px; }
.difference-copy>.button { margin-top:25px; }
.family-note { border-top:1px solid #c8b99e; margin-top:34px; padding-top:28px; scroll-margin-top:30px; }
.family-note h3 { font-size:31px; line-height:1.08; margin-bottom:15px; }
.family-note p { font-size:14px; line-height:1.75; max-width:510px; }
.family-note .text-link { font-size:12px; margin-top:12px; }
.finder { padding-top:90px; padding-bottom:95px; }
.experiences { padding-top:65px; padding-bottom:65px; }
.botanical-heading { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:8vw; text-align:left; align-items:center; max-width:none; }
.botanical-heading h2 { margin:0; font-size:clamp(43px,4.1vw,62px); }
.botanical-heading>p { margin:0; font-size:17px; max-width:570px; }
.botanical-spread { display:block; margin-top:45px; }
.botanical-benefits { padding:0; }
.ingredient-list { grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px 42px; margin-bottom:32px; }
.ingredient-list dt { font-size:31px; }
.recommendation-price { font-size:13px; margin:0 0 12px; }
.gifting { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:7vw; align-items:center; background:#f1e9db; }
.gift-image { overflow:hidden; border-radius:18px; }
.gift-image img { width:100%; aspect-ratio:3/2; object-fit:cover; }
.gift-copy h2 { font-size:clamp(44px,4.3vw,65px); margin-bottom:24px; }
.gift-copy>p { font-size:17px; max-width:330px; }
.gift-copy h3 { font-family:var(--sans); font-weight:400; font-size:16px; line-height:1.5; margin-top:28px; }
.gift-copy .gift-price { font-size:20px; margin:8px 0 25px; }
.questions { display:grid; grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr); gap:8vw; }
.questions-intro h2 { font-size:clamp(43px,4vw,61px); margin-bottom:24px; }
.questions-intro p { font-size:16px; max-width:280px; }
.question-list details { border-top:1px solid #cdbc9f; }
.question-list details:last-child { border-bottom:1px solid #cdbc9f; }
.question-list summary { list-style:none; cursor:pointer; font-size:17px; line-height:1.5; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:23px 0; }
.question-list summary::-webkit-details-marker { display:none; }
.question-list summary::after { content:'+'; font-size:25px; font-weight:400; flex-shrink:0; }
.question-list details[open] summary::after { content:'−'; }
.question-list details>div { padding:0 30px 24px 0; }
.question-list details p { font-size:15px; line-height:1.8; }
.question-list details .text-link { font-size:13px; margin-top:10px; }
[data-bag] { position:relative; }
.bag-count { position:absolute; top:0; right:0; width:18px; height:18px; border-radius:50%; font-size:10px; background:var(--accent); color:var(--ivory); display:grid; place-items:center; }
.bag-count[hidden] { display:none; }
.modal-price { font-size:22px!important; margin:-9px 0 20px; }
.product-options { display:flex; align-items:end; flex-wrap:wrap; gap:18px; margin-top:20px; }
.product-options label { display:flex; flex-direction:column; gap:8px; font-size:12px; }
.product-options input,.product-options select { background:transparent; color:var(--black); border:1px solid #c4b397; border-radius:10px; height:45px; padding:9px 12px; font-size:15px; max-width:170px; }
.product-options input { width:85px; }
.modal-product [data-add-product] { width:100%; }
.bag-line { display:grid; grid-template-columns:76px minmax(0,1fr) auto; gap:20px; padding:23px 0; border-bottom:1px solid var(--line); align-items:start; }
.bag-line>img { width:76px; height:95px; object-fit:cover; border-radius:9px; }
.bag-line h3 { font-size:25px; line-height:1.1; margin:0 0 12px; }
.bag-line p { font-size:12px; }
.bag-line .text-link { font-size:11px; min-height:32px; padding:4px 0; margin-top:9px; }
.bag-line>strong { font-size:14px; font-weight:400; white-space:nowrap; }
.bag-total { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:25px 0; font-size:18px; }
.bag-total strong { font-weight:500; }
@media(max-width:1150px) {
  .brand-facts li { gap:10px; padding-left:14px; padding-right:14px; }
  .brand-facts strong { font-size:21px; }
  .brand-facts li>span { font-size:11px; }
  .difference-image { min-height:740px; }
  .ingredient-list { gap:25px 30px; }
  .ingredient-list dt { font-size:28px; }
}
@media(max-width:800px) {
  .brand-facts { padding:23px 4vw; }
  .brand-facts li { flex-direction:column; gap:7px; padding:0 10px; text-align:center; }
  .brand-facts strong { font-size:22px; }
  .brand-facts li>span { font-size:11px; }
  .difference-copy { padding:50px 4vw; }
  .difference-image { min-height:790px; }
  .botanical-heading { grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:5vw; }
  .botanical-heading>p { font-size:15px; }
  .ingredient-list { gap:24px; }
  .ingredient-list dt { font-size:27px; }
  .ingredient-list dd { font-size:13px; }
  .gifting { gap:5vw; }
  .gift-copy h2 { font-size:43px; }
  .gift-copy>p { font-size:15px; }
  .questions { gap:5vw; }
}
@media(max-width:600px) {
  .hero-category { margin-bottom:16px; font-size:12px; }
  .brand-facts { padding:24px 14px; }
  .brand-facts li { gap:6px; padding:0 8px; }
  .brand-facts strong { font-size:19px; white-space:normal; }
  .brand-facts li>span { font-size:10px; line-height:1.5; }
  .product .product-price { font-size:15px; margin-top:auto; padding-top:8px; }
  .product .product-link { font-size:12px; min-height:45px; padding:12px 14px; }
  .difference-copy { padding:56px 25px; }
  .difference-image { min-height:0; }
  .family-note h3 { font-size:32px; }
  .family-note p { font-size:14px; }
  .finder { padding-top:62px; padding-bottom:62px; }
  .experiences { padding-top:58px; padding-bottom:58px; }
  .botanical-heading { display:block; }
  .botanical-heading h2 { font-size:43px; margin-bottom:24px; }
  .botanical-heading>p { font-size:15px; }
  .botanical-spread { margin-top:32px; }
  .ingredient-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:23px 22px; }
  .ingredient-list dt { font-size:27px; }
  .ingredient-list dd { font-size:14px; }
  .recommendation-price { font-size:12px; }
  .gifting { grid-template-columns:minmax(0,1fr); gap:32px; }
  .gift-copy h2 { font-size:48px; }
  .gift-copy>p { font-size:16px; }
  .gift-copy h3 { margin-top:24px; font-size:15px; }
  .gift-copy .button { min-width:210px; }
  .questions { grid-template-columns:minmax(0,1fr); gap:30px; }
  .questions-intro h2 { font-size:47px; }
  .questions-intro p { max-width:340px; }
  .question-list summary { font-size:16px; padding:21px 0; }
  .question-list details p { font-size:14px; }
  .bag-line { grid-template-columns:60px minmax(0,1fr); gap:16px; }
  .bag-line>img { width:60px; height:80px; }
  .bag-line>strong { grid-column:2; margin-top:-8px; }
  .bag-line h3 { font-size:24px; }
}
@media(max-width:360px) {
  .brand-facts strong { font-size:18px; }
  .brand-facts li>span { font-size:9px; }
  .ingredient-list dt { font-size:25px; }
  .ingredient-list dd { font-size:13px; }
}

@media(max-width:600px) {
  .brand-facts li>span { font-size:11px; }
  .concerns label { font-size:14px; min-height:76px; }
}
@media(max-width:360px) {
  .concerns label { font-size:13px; }
}

@media(prefers-reduced-motion:reduce) {
html {
scroll-behavior:auto;
}

*,*::before,*::after {
transition:none!important;
    animation:none!important;
}
}

@media print {
.header,.announcement,.review-tools,dialog,.footer {
display:none!important;
}

.section,.hero,.difference {
break-inside:avoid;
}

body {
print-color-adjust:exact;
    -webkit-print-color-adjust:exact;
}
}
