@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap');
:root{--ink:#1b1917;--paper:#fbf8f2;--sand:#f2ede5;--line:#e7dfd2;--gold:#d59b38;--sage:#e7f0ec;--muted:#756c62}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}.container{width:min(1200px,calc(100% - 48px));margin:0 auto}.announcement{padding:9px 16px;background:var(--sage);color:#3f6257;text-align:center;font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.site-header{position:sticky;top:0;z-index:10;background:#fbf8f2e8;border-bottom:1px solid #eee5d9cc;backdrop-filter:blur(16px)}.header-inner{display:flex;align-items:center;justify-content:space-between;padding:20px 0}.brand{display:flex;align-items:center;gap:12px}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--ink);color:var(--paper);font:italic 20px 'Playfair Display',serif}.brand-mark.small{width:24px;height:24px;font-size:14px}.brand-name{font:22px 'Playfair Display',serif}.desktop-nav{display:flex;gap:32px;color:var(--muted);font-size:10px;letter-spacing:.16em;text-transform:uppercase}.header-actions{display:flex;align-items:center;gap:10px}.header-cta,.button-primary{display:inline-flex;align-items:center;gap:10px;border:0;border-radius:999px;background:var(--ink);color:var(--paper);padding:15px 22px;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:transform .18s ease,background .18s ease}.header-cta:hover,.button-primary:hover{background:#3d3935;transform:translateY(-1px)}.cart-button{border:1px solid #ddd3c6;border-radius:999px;padding:12px 16px;font-size:10px;letter-spacing:.1em;text-transform:uppercase}.cart-count{color:var(--gold);font-weight:700}.hero{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;padding:80px 0 112px}.hero-copy{position:relative;z-index:1}.eyebrow{display:flex;align-items:center;gap:14px;color:#8a8178;font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.eyebrow span{display:block;width:40px;height:1px;background:var(--gold)}h1,h2,h3,.hero h1,.product-info h2,.story-copy h2,.reviews-heading h2,.faq-heading h2{font-family:'Playfair Display',Georgia,serif;font-weight:500;letter-spacing:-.05em;line-height:.95}h1{font-size:clamp(58px,7vw,104px);margin:34px 0 30px}h1 em,h2 em{font-style:italic}.hero-copy>p{max-width:500px;color:#665e55;font-size:18px;line-height:1.75}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px;margin-top:34px}.rating,.review-row,.review-summary{display:flex;align-items:center;gap:12px}.rating span,.review-row span,.review-summary span,.review-grid figure>span{color:var(--gold);letter-spacing:2px}.rating small,.review-row small,.review-summary small{color:var(--muted);font-size:11px}.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);max-width:500px;border-top:1px solid var(--line);gap:20px;margin-top:54px;padding-top:18px}.hero-stats strong{display:block;font:26px 'Playfair Display',serif}.hero-stats strong small{font-size:14px}.hero-stats span{display:block;margin-top:5px;color:#8b8176;font-size:10px;letter-spacing:.14em;text-transform:uppercase}.hero-visual{position:relative}.hero-visual>img{position:relative;display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:40px;box-shadow:0 24px 80px #5642281f}.hero-glow{position:absolute;right:-30px;top:30px;width:230px;height:230px;border-radius:50%;background:var(--sage);filter:blur(42px)}.hero-caption{position:absolute;bottom:-20px;left:-20px;border-radius:16px;background:var(--ink);color:var(--paper);padding:16px 20px;box-shadow:0 15px 30px #1b191733}.hero-caption span,.hero-caption strong{display:block}.hero-caption span{color:#d9c8b2;font-size:9px;letter-spacing:.16em;text-transform:uppercase}.hero-caption strong{margin-top:6px;font:18px 'Playfair Display',serif}.benefits-band{background:var(--sand);border-block:1px solid var(--line);padding:80px 0}.section-intro{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;align-items:end}.section-intro h2,.story-copy h2,.reviews-heading h2{max-width:560px;font-size:54px;margin:18px 0 0}.section-intro>p{max-width:560px;color:#6e665d;line-height:1.9}.benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;margin-top:56px}.benefit-grid article{border-top:1px solid #ded4c6;padding-top:22px}.benefit-grid article>span{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:var(--paper);color:#638a79;font-size:20px}.benefit-grid h3{font-size:29px;margin:20px 0 10px}.benefit-grid p,.product-description,.story-copy p,.faq-list p{color:#756c62;line-height:1.8}.product-section{display:grid;grid-template-columns:1fr .82fr;gap:72px;padding:112px 0}.gallery-main{overflow:hidden;border-radius:32px;background:#eee7dc}.gallery-main img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}.gallery-thumbs{display:flex;gap:12px;margin-top:14px}.gallery-thumbs button{padding:0;border:2px solid transparent;border-radius:14px;overflow:hidden;background:none;cursor:pointer}.gallery-thumbs button:hover{border-color:var(--ink)}.gallery-thumbs img{display:block;width:74px;height:74px;object-fit:cover}.product-info{align-self:center}.product-info h2{font-size:54px;margin:18px 0 26px}.price-row{display:flex;align-items:center;gap:15px}.price{font:32px 'Playfair Display',serif}.pill{border-radius:999px;background:var(--sage);color:#3f6257;padding:7px 11px;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.review-row{margin-top:16px}.product-description{max-width:520px;margin:28px 0;font-size:16px;line-height:1.9}.check-list{padding:0;margin:0;list-style:none;color:#4e4841;line-height:2}.product-form{margin-top:28px}.quantity-row{display:flex;align-items:center;gap:15px;margin-bottom:14px;color:var(--muted);font-size:12px}.quantity-row input{width:72px;border:1px solid var(--line);border-radius:999px;background:transparent;padding:11px 14px}.add-button{width:100%;justify-content:center}.shopify-payment-button{margin-top:10px}.secure-note{display:flex;justify-content:center;gap:6px;color:#8a8178;font-size:10px;letter-spacing:.1em;text-align:center;text-transform:uppercase}.story-section{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:center;padding-bottom:112px}.story-image img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:32px}.story-copy{padding-left:28px}.story-copy h2{margin-bottom:28px}.story-steps{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;border-top:1px solid var(--line);margin-top:30px;padding-top:20px}.story-steps strong,.story-steps span{display:block;font-size:13px}.story-steps span{margin-top:9px;color:#83796f;font-size:12px}.reviews-section{background:var(--ink);color:var(--paper);padding:96px 0}.reviews-heading{display:flex;justify-content:space-between;align-items:end;gap:24px}.reviews-heading h2{margin-bottom:0}.reviews-heading .eyebrow{color:#d9c8b2}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:54px}.review-grid figure{margin:0;padding:28px;border:1px solid #ffffff1a;border-radius:24px;background:#ffffff0a}.review-grid blockquote{margin:28px 0 32px;font:26px/1.15 'Playfair Display',serif}.review-grid figcaption{border-top:1px solid #ffffff1a;padding-top:18px}.review-grid figcaption strong,.review-grid figcaption small{display:block}.review-grid figcaption small{margin-top:6px;color:#ffffff73;font-size:11px}.faq-section{padding:96px 0}.faq-heading{text-align:center}.faq-heading h2{font-size:52px;margin:18px 0 50px}.faq-list{max-width:760px;margin:0 auto;border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:22px 0}summary{display:flex;justify-content:space-between;gap:20px;list-style:none;font:24px 'Playfair Display',serif;cursor:pointer}summary::-webkit-details-marker{display:none}summary span{font:26px 'DM Sans',sans-serif;color:var(--muted)}details p{max-width:700px;margin:14px 0 0}.site-footer{border-top:1px solid var(--line);padding:30px 0}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:18px;color:#8a8178;font-size:11px}.footer-inner .brand-name{font-size:18px;color:var(--ink)}.footer-links{display:flex;gap:20px}.footer-links a:hover{color:var(--ink)}
@media(max-width:900px){.desktop-nav{display:none}.hero,.product-section,.story-section{grid-template-columns:1fr;gap:44px;padding-top:58px;padding-bottom:80px}.hero h1{font-size:clamp(56px,14vw,88px)}.hero-copy>p{font-size:16px}.hero-visual{max-width:620px;margin:0 auto;width:100%}.section-intro{grid-template-columns:1fr;gap:20px}.section-intro h2,.story-copy h2,.reviews-heading h2,.product-info h2,.faq-heading h2{font-size:45px}.benefit-grid,.review-grid{grid-template-columns:1fr;gap:28px}.story-copy{padding-left:0}.footer-inner{flex-wrap:wrap}}
@media(max-width:560px){.container{width:min(100% - 40px,1200px)}.header-inner{padding:15px 0}.header-cta{display:none}.brand-name{font-size:20px}.hero{padding-top:52px}.hero-actions{align-items:flex-start;flex-direction:column}.hero-stats{margin-top:42px}.hero-caption{left:12px}.benefits-band,.reviews-section,.faq-section{padding:70px 0}.product-section{padding:78px 0}.gallery-thumbs img{width:62px;height:62px}.footer-inner{align-items:flex-start;flex-direction:column}}

.page-section{padding:96px 0 120px}.page-heading{max-width:820px;margin:0 auto 48px;text-align:center}.page-heading h1{font-size:clamp(52px,7vw,88px);margin:22px 0 0}.page-content{max-width:760px;margin:0 auto;color:#756c62;font-size:16px;line-height:1.9}.page-content h2,.page-content h3{color:var(--ink);font-size:32px;line-height:1.1;margin:42px 0 14px}.page-content p{margin:0 0 20px}.page-content ul,.page-content ol{padding-left:22px;margin:18px 0 24px}.page-content a{text-decoration:underline;text-underline-offset:3px;color:var(--ink)}.rte table{width:100%;border-collapse:collapse;margin:24px 0}.rte th,.rte td{border-bottom:1px solid var(--line);padding:12px;text-align:left}

@media(max-width:560px){.page-section{padding:64px 0 80px}.page-heading{margin-bottom:32px}.page-heading h1{font-size:52px}.page-content{font-size:15px;line-height:1.75}.page-content h2,.page-content h3{font-size:28px;margin-top:32px}.footer-links{flex-wrap:wrap;gap:12px 18px;line-height:1.5}}

.option-label{display:block;margin:24px 0 8px;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.pack-select{width:100%;appearance:none;border:1px solid var(--line);border-radius:14px;background:var(--paper);color:var(--ink);padding:14px 16px;cursor:pointer}.pack-select:focus{outline:2px solid var(--gold);outline-offset:2px}.quantity-row{margin-top:16px}

.cart-section{padding:96px 0 120px}.cart-form{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:56px;align-items:start}.cart-lines{border-top:1px solid var(--line)}.cart-line{display:grid;grid-template-columns:96px minmax(0,1fr) 78px auto;gap:20px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line)}.cart-line-image{display:block;aspect-ratio:1/1;overflow:hidden;background:#eee5d9;border-radius:12px}.cart-line-image img{width:100%;height:100%;object-fit:cover}.cart-line-info{display:grid;gap:7px}.cart-line-title{color:var(--ink);font-weight:700;text-decoration:none}.cart-line-option{color:var(--muted);font-size:13px}.cart-line-price{color:var(--ink);font-weight:700}.cart-quantity{display:grid;gap:7px;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.cart-quantity input{width:72px;border:1px solid var(--line);border-radius:10px;background:var(--paper);padding:11px}.cart-remove{color:var(--muted);font-size:12px;text-decoration:underline;text-underline-offset:3px}.cart-summary{padding:28px;border:1px solid var(--line);border-radius:18px;background:#fffaf4;display:grid;gap:14px}.cart-summary>div{display:flex;justify-content:space-between;gap:20px;color:var(--muted)}.cart-summary strong{color:var(--ink);font-size:24px}.cart-summary p{margin:0;color:var(--muted);font-size:13px;line-height:1.6}.cart-summary button{width:100%}.cart-empty{text-align:center;max-width:480px;margin:0 auto;padding:40px 0;color:var(--muted)}.cart-empty .button-primary{display:inline-flex;margin-top:18px}@media(max-width:760px){.cart-section{padding:64px 0 80px}.cart-form{grid-template-columns:1fr;gap:32px}.cart-line{grid-template-columns:72px minmax(0,1fr) auto;gap:12px}.cart-quantity{grid-column:2}.cart-remove{grid-column:3;grid-row:2;align-self:end}.cart-line-price{font-size:14px}}

/* Mobile comfort and overflow protection */
img{max-width:100%;height:auto}html,body{max-width:100%;overflow-x:hidden}.rte{overflow-wrap:anywhere}.rte table{display:block;max-width:100%;overflow-x:auto}
@media(max-width:760px){
  .container{width:calc(100% - 32px);max-width:100%}
  .announcement{padding:8px 12px;font-size:9px;letter-spacing:.12em;line-height:1.45}
  .site-header{position:sticky}.header-inner{min-width:0;gap:12px}.brand{min-width:0}.brand-name{white-space:nowrap}.desktop-nav{display:none}.header-actions{margin-left:auto}.cart-button{padding:10px 12px;white-space:nowrap}
  .hero{display:flex;flex-direction:column;gap:32px;padding:48px 0 68px}.hero-copy{width:100%}.hero h1{font-size:clamp(48px,15vw,72px);line-height:.94;margin:24px 0 22px;overflow-wrap:anywhere}.hero-copy>p{max-width:100%;font-size:15px;line-height:1.65}.hero-actions{width:100%;gap:14px;margin-top:26px}.hero-actions .button-primary{width:100%;justify-content:center}.rating{width:100%;justify-content:flex-start}.hero-stats{width:100%;gap:10px;margin-top:34px}.hero-stats strong{font-size:22px}.hero-stats span{font-size:8px;letter-spacing:.08em}.hero-visual{width:100%;max-width:none}.hero-visual>img{border-radius:24px}.hero-glow{right:-10px;top:8px;width:130px;height:130px}.hero-caption{left:10px;bottom:-14px;padding:12px 14px}.hero-caption strong{font-size:16px}
  .benefits-band,.reviews-section,.faq-section{padding:60px 0}.section-intro h2,.story-copy h2,.reviews-heading h2,.product-info h2,.faq-heading h2{font-size:clamp(38px,11vw,52px);line-height:.98;overflow-wrap:anywhere}.benefit-grid{margin-top:36px;gap:24px}.benefit-grid h3{font-size:26px}.product-section{display:flex;flex-direction:column;gap:34px;padding:68px 0}.gallery-main{border-radius:22px}.gallery-thumbs{max-width:100%;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.gallery-thumbs::-webkit-scrollbar{display:none}.gallery-thumbs button{flex:0 0 auto}.product-info{width:100%}.product-info h2{margin:14px 0 20px}.product-description{font-size:15px;line-height:1.75;margin:22px 0}.check-list{font-size:14px;line-height:1.85}.price{font-size:28px}.product-form{margin-top:24px}.pack-select,.quantity-row input{min-height:48px}.add-button,.shopify-payment-button{min-height:50px}.secure-note{font-size:9px;line-height:1.5}.story-section{display:flex;flex-direction:column;gap:34px;padding-bottom:72px}.story-image img{border-radius:22px}.story-copy{width:100%}.story-steps{grid-template-columns:1fr;gap:16px}.reviews-heading{display:block}.reviews-heading h2{margin-top:16px}.review-grid{margin-top:34px;gap:16px}.review-grid figure{padding:22px}.review-grid blockquote{font-size:23px;margin:22px 0}.faq-heading h2{margin:16px 0 36px}summary{font-size:20px;line-height:1.2}.footer-inner{gap:16px}.footer-links{width:100%;display:flex;flex-wrap:wrap;gap:10px 16px;line-height:1.5}
  .page-section,.cart-section{padding:60px 0 76px}.page-heading{margin-bottom:30px}.page-heading h1{font-size:clamp(44px,13vw,64px);overflow-wrap:anywhere}.page-content{font-size:15px;line-height:1.75}.cart-form{display:flex;flex-direction:column;gap:28px}.cart-line{grid-template-columns:64px minmax(0,1fr);gap:12px}.cart-line-info{min-width:0}.cart-line-title{overflow-wrap:anywhere}.cart-quantity{grid-column:2}.cart-remove{grid-column:2;grid-row:auto;justify-self:start}.cart-summary{width:100%;padding:22px}.cart-summary strong{font-size:22px}
}
@media(max-width:360px){.container{width:calc(100% - 24px)}.brand-name{font-size:18px}.cart-button{padding:9px 10px;font-size:9px}.hero h1{font-size:46px}.hero-stats{gap:6px}.hero-stats strong{font-size:19px}.hero-stats span{font-size:7px}}
