*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0 }
html { scroll-behavior: smooth; -webkit-font-smoothing: antialiased }
body { font-family: 'DM Sans', sans-serif; color: #283433; font-weight: 300; font-size: 16px; line-height: 1.7; overflow-x: hidden; background: #fff }
body.no-scroll { overflow: hidden }
h1, h2, h3, h4 { font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 400; line-height: 1.2 }
img { display: block; max-width: 100%; height: auto }
a { color: inherit; text-decoration: none }
button { font-family: inherit; cursor: pointer }
.hp-field { position: absolute; left: -9999px; opacity: 0 }

.reveal-up { opacity: 0; transform: translateY(28px); transition: opacity .7s cubic-bezier(.23,1,.32,1), transform .7s cubic-bezier(.23,1,.32,1) }
.reveal-up.revealed { opacity: 1; transform: translateY(0) }

.section-wrap { max-width: 1200px; margin: 0 auto; padding: 0 24px }
.section-label { display: block; font-size: 11px; font-weight: 500; letter-spacing: .25em; text-transform: uppercase; color: #A3A9AA; margin-bottom: 12px }
.section-heading { font-size: 2.5rem; margin-bottom: 3.5rem; color: #283433 }

.site-hdr { position: fixed; top: 0; left: 0; right: 0; z-index: 500; background: rgba(255,255,255,.96); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-bottom: 1px solid rgba(40,52,51,.06) }
.hdr-inner { max-width: 1200px; margin: 0 auto; padding: 0 24px; height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 2rem }
.hdr-logo img { height: 20px; width: auto }
.hdr-nav { display: flex; gap: 2.5rem }
.hdr-nav a { font-size: .8125rem; font-weight: 400; letter-spacing: .04em; color: #4D5C4D; transition: color .2s }
.hdr-nav a:hover { color: #283433 }
.cart-toggle { position: relative; background: none; border: none; font-size: 1.25rem; color: #283433; padding: 4px }
.cart-count { position: absolute; top: -4px; right: -8px; background: #283433; color: #fff; font-size: 10px; font-weight: 500; width: 18px; height: 18px; border-radius: 50%; display: flex; align-items: center; justify-content: center; line-height: 1 }
.mobile-burger { display: none; background: none; border: none; width: 28px; height: 20px; position: relative; flex-direction: column; justify-content: space-between }
.mobile-burger span { display: block; width: 100%; height: 1.5px; background: #283433; transition: transform .3s, opacity .3s }
.mobile-burger.active span:first-child { transform: translateY(9.25px) rotate(45deg) }
.mobile-burger.active span:last-child { transform: translateY(-9.25px) rotate(-45deg) }
.mobile-menu { display: none; position: fixed; top: 72px; left: 0; right: 0; background: #fff; padding: 2rem 24px; flex-direction: column; gap: 1.5rem; border-bottom: 1px solid rgba(40,52,51,.08); z-index: 499 }
.mobile-menu a { font-size: 1.125rem; font-weight: 400; color: #283433 }
.mobile-menu.open { display: flex }

.hero-section { position: relative; width: 100%; height: 100vh; min-height: 560px; display: flex; align-items: center; justify-content: center; overflow: hidden }
.hero-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover }
.hero-overlay { position: absolute; inset: 0; background: rgba(40,52,51,.42) }
.hero-inner { position: relative; z-index: 2; text-align: center; color: #fff; padding: 0 24px; max-width: 640px }
.hero-logo-img { margin: 0 auto 2.5rem; opacity: .9 }
.hero-inner h1 { font-size: 3rem; font-weight: 400; margin-bottom: 1.25rem; letter-spacing: .02em }
.hero-sub { font-size: 1rem; font-weight: 300; opacity: .85; margin-bottom: 2.5rem }
.btn-main { display: inline-block; padding: 14px 40px; border: 1px solid rgba(255,255,255,.7); color: #fff; font-size: .8125rem; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; transition: all .35s }
.btn-main:hover { background: #fff; color: #283433 }

.about-section { position: relative; min-height: 80vh; display: flex; align-items: center; overflow: hidden; padding: 120px 0 }
.about-bg-wrap { position: absolute; inset: 0 }
.about-bg-img { width: 100%; height: 100%; object-fit: cover }
.about-bg-overlay { position: absolute; inset: 0; background: rgba(255,255,255,.88) }
.about-content { position: relative; z-index: 2; max-width: 1200px; margin: 0 auto; padding: 0 24px; display: grid; grid-template-columns: 1fr 340px; gap: 80px; align-items: start }
.about-label { display: block; font-size: 11px; font-weight: 500; letter-spacing: .25em; text-transform: uppercase; color: #A3A9AA; margin-bottom: 12px }
.about-text-block h2 { font-size: 2.5rem; margin-bottom: 2rem; color: #283433 }
.about-text-block p { font-size: .9375rem; line-height: 1.85; color: #4D5C4D; margin-bottom: 1.25rem }
.about-portrait { position: sticky; top: 120px }
.about-portrait img { width: 100%; aspect-ratio: 3/4; object-fit: cover }
.about-caption { display: block; margin-top: 14px; font-size: .8125rem; color: #A3A9AA }

.blog-section { padding: 140px 0 120px }
.blog-list { display: flex; flex-direction: column; gap: 3.5rem }
.blog-item { display: grid; grid-template-columns: 380px 1fr; gap: 3rem; align-items: start; transition: opacity .3s }
.blog-item:hover { opacity: .85 }
.blog-img-wrap { overflow: hidden; aspect-ratio: 16/10 }
.blog-img-wrap img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.23,1,.32,1) }
.blog-item:hover .blog-img-wrap img { transform: scale(1.04) }
.blog-text { padding-top: 8px }
.blog-text time { font-size: .75rem; font-weight: 500; letter-spacing: .1em; color: #A3A9AA; display: block; margin-bottom: 12px }
.blog-text h3 { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.5rem; font-weight: 400; margin-bottom: 1rem; line-height: 1.4; color: #283433 }
.blog-text p { font-size: .875rem; line-height: 1.75; color: #4D5C4D }

.products-section { padding: 0 0 140px }
.product-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2rem }
.product-card { display: flex; flex-direction: column }
.product-img-wrap { overflow: hidden; aspect-ratio: 4/5; background: #F4F4F4; margin-bottom: 1.25rem }
.product-img-wrap img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s cubic-bezier(.23,1,.32,1) }
.product-card:hover .product-img-wrap img { transform: scale(1.05) }
.product-info { flex: 1; display: flex; flex-direction: column }
.product-info h3 { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.1875rem; font-weight: 500; margin-bottom: 8px; color: #283433 }
.product-desc { font-size: .8125rem; line-height: 1.65; color: #4D5C4D; margin-bottom: auto; padding-bottom: 1.25rem }
.product-bottom { display: flex; align-items: center; justify-content: space-between; gap: 12px }
.product-price { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.25rem; font-weight: 500; color: #283433 }
.btn-add-cart { background: none; border: 1px solid #283433; color: #283433; padding: 9px 18px; font-size: .75rem; font-weight: 500; letter-spacing: .05em; transition: all .25s }
.btn-add-cart:hover { background: #283433; color: #fff }

.reviews-section { padding: 140px 0; background: #F4F4F4 }
.review-list { display: flex; flex-direction: column; gap: 4rem }
.review-item { display: grid; grid-template-columns: 1fr 1fr; gap: 3.5rem; align-items: center }
.review-item--flip { direction: rtl }
.review-item--flip > * { direction: ltr }
.review-product-img { overflow: hidden; aspect-ratio: 4/3 }
.review-product-img img { width: 100%; height: 100%; object-fit: cover }
.review-stars { color: #283433; font-size: .875rem; margin-bottom: 1rem; display: flex; gap: 3px }
.review-body p { font-size: .9375rem; line-height: 1.85; color: #4D5C4D; font-style: italic; margin-bottom: 1.25rem }
.review-author { font-size: .75rem; font-weight: 500; letter-spacing: .08em; color: #A3A9AA }

.faq-section { padding: 140px 0 }
.faq-list { max-width: 760px }
.faq-item { border-bottom: 1px solid rgba(40,52,51,.1) }
.faq-question { width: 100%; background: none; border: none; text-align: left; padding: 1.5rem 0; font-size: 1rem; font-weight: 400; color: #283433; display: flex; justify-content: space-between; align-items: center; gap: 1rem }
.faq-question i { font-size: 1.125rem; transition: transform .3s; color: #A3A9AA; flex-shrink: 0 }
.faq-item.open .faq-question i { transform: rotate(45deg) }
.faq-answer { max-height: 0; overflow: hidden; transition: max-height .4s cubic-bezier(.23,1,.32,1) }
.faq-item.open .faq-answer { max-height: 300px }
.faq-answer p { padding: 0 0 1.5rem; font-size: .875rem; line-height: 1.75; color: #4D5C4D }

.contact-section { padding: 140px 0; background: #283433; color: #fff }
.contact-section .section-label { color: rgba(184,200,186,.6) }
.contact-section .section-heading { color: #fff }
.contact-intro { font-size: .9375rem; color: rgba(255,255,255,.6); margin-top: -2rem; margin-bottom: 3rem }
.contact-form { max-width: 640px }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; margin-bottom: 1.5rem }
.form-field { display: flex; flex-direction: column; gap: 8px; margin-bottom: 1.5rem }
.form-row .form-field { margin-bottom: 0 }
.form-field label { font-size: .75rem; font-weight: 500; letter-spacing: .08em; color: rgba(255,255,255,.5) }
.form-field input, .form-field textarea { background: transparent; border: none; border-bottom: 1px solid rgba(255,255,255,.2); color: #fff; font-family: inherit; font-size: 1rem; font-weight: 300; padding: 10px 0; outline: none; transition: border-color .3s; resize: vertical }
.form-field input::placeholder, .form-field textarea::placeholder { color: rgba(255,255,255,.25) }
.form-field input:focus, .form-field textarea:focus { border-color: #B8C8BA }
.btn-submit { background: transparent; border: 1px solid rgba(255,255,255,.4); color: #fff; padding: 14px 48px; font-size: .8125rem; font-weight: 500; letter-spacing: .1em; transition: all .3s; margin-top: 1rem }
.btn-submit:hover { background: #fff; color: #283433 }

.site-footer { background: #283433; color: rgba(245,245,245,.7); padding: 80px 0 0 }
.footer-inner { max-width: 1200px; margin: 0 auto; padding: 0 24px; display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: 3rem }
.footer-brand p { font-size: .8125rem; line-height: 1.7; margin-top: 1.25rem; color: rgba(245,245,245,.5) }
.footer-logo { height: 20px; width: auto; filter: brightness(0) invert(1); opacity: .8 }
.footer-heading { display: block; font-size: 11px; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; color: #B8C8BA; margin-bottom: 1rem }
.footer-col { display: flex; flex-direction: column; gap: 10px }
.footer-col a { font-size: .8125rem; transition: color .2s }
.footer-col a:hover { color: #fff }
.footer-contact-col span { font-size: .8125rem; line-height: 1.6 }
.footer-bottom { max-width: 1200px; margin: 0 auto; padding: 40px 24px 30px; border-top: 1px solid rgba(245,245,245,.08); margin-top: 60px; font-size: .75rem; color: rgba(245,245,245,.35) }

.cart-overlay { position: fixed; inset: 0; z-index: 1000; background: rgba(40,52,51,.5); backdrop-filter: blur(4px); display: flex; align-items: flex-start; justify-content: center; opacity: 0; pointer-events: none; transition: opacity .3s }
.cart-overlay.open { opacity: 1; pointer-events: all }
.cart-popup { background: #fff; width: 100%; max-width: 680px; max-height: 100vh; display: flex; flex-direction: column; transform: translateY(-30px); transition: transform .35s cubic-bezier(.23,1,.32,1); overflow: hidden }
.cart-overlay.open .cart-popup { transform: translateY(0) }
.cart-header { display: flex; justify-content: space-between; align-items: center; padding: 28px 32px 20px; border-bottom: 1px solid rgba(40,52,51,.08) }
.cart-header h2 { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.5rem; font-weight: 400 }
.cart-close { background: none; border: none; font-size: 1.25rem; color: #283433; padding: 4px }
.cart-body { flex: 1; overflow-y: auto; padding: 24px 32px }
.cart-empty { text-align: center; color: #A3A9AA; font-size: .875rem; padding: 3rem 0 }
.cart-item { display: grid; grid-template-columns: 64px 1fr auto auto; gap: 16px; align-items: center; padding: 16px 0; border-bottom: 1px solid rgba(40,52,51,.06) }
.cart-item-img { width: 64px; height: 64px; object-fit: cover; background: #F4F4F4 }
.cart-item-info { display: flex; flex-direction: column; gap: 2px }
.cart-item-name { font-size: .875rem; font-weight: 400; color: #283433 }
.cart-item-price { font-size: .8125rem; color: #A3A9AA }
.cart-item-controls { display: flex; align-items: center; gap: 8px }
.qty-btn { width: 28px; height: 28px; border: 1px solid rgba(40,52,51,.15); background: none; font-size: .875rem; color: #283433; display: flex; align-items: center; justify-content: center; transition: background .2s }
.qty-btn:hover { background: #F4F4F4 }
.qty-val { font-size: .875rem; min-width: 20px; text-align: center }
.cart-item-remove { background: none; border: none; color: #A3A9AA; font-size: .875rem; padding: 4px; transition: color .2s }
.cart-item-remove:hover { color: #283433 }
.cart-footer { padding: 20px 32px 28px; border-top: 1px solid rgba(40,52,51,.08) }
.cart-footer-hidden { display: none }
.cart-total-row { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.25rem; font-size: 1rem }
.cart-total-row span:last-child { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.5rem; font-weight: 500 }
.cart-actions { display: flex; gap: 12px }
.btn-clear-cart { flex: 1; background: none; border: 1px solid rgba(40,52,51,.15); color: #283433; padding: 12px; font-size: .75rem; font-weight: 500; letter-spacing: .05em; transition: all .2s }
.btn-clear-cart:hover { border-color: #283433 }
.btn-order { flex: 1; background: #283433; border: 1px solid #283433; color: #fff; padding: 12px; font-size: .75rem; font-weight: 500; letter-spacing: .05em; transition: all .2s }
.btn-order:hover { background: #4D5C4D; border-color: #4D5C4D }

.order-modal { position: fixed; inset: 0; z-index: 1100; background: rgba(40,52,51,.6); display: flex; align-items: center; justify-content: center; opacity: 0; pointer-events: none; transition: opacity .3s }
.order-modal.open { opacity: 1; pointer-events: all }
.order-modal-box { background: #fff; padding: 40px 36px; max-width: 480px; width: 90%; max-height: 90vh; overflow-y: auto }
.order-modal-box h3 { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.5rem; margin-bottom: 2rem }
.order-modal-box .form-field { margin-bottom: 1.25rem }
.order-modal-box .form-field label { font-size: .75rem; font-weight: 500; letter-spacing: .08em; color: #A3A9AA }
.order-modal-box .form-field input { background: transparent; border: none; border-bottom: 1px solid rgba(40,52,51,.15); color: #283433; font-family: inherit; font-size: 1rem; font-weight: 300; padding: 10px 0; width: 100%; outline: none; transition: border-color .3s }
.order-modal-box .form-field input:focus { border-color: #283433 }
.order-summary { padding: 1.25rem 0; font-size: .875rem; line-height: 1.8; color: #4D5C4D; border-top: 1px solid rgba(40,52,51,.08); margin-top: 8px }
.order-btns { display: flex; gap: 12px; margin-top: 1.5rem }
.btn-cancel-order { flex: 1; background: none; border: 1px solid rgba(40,52,51,.15); color: #283433; padding: 12px; font-size: .75rem; font-weight: 500; transition: all .2s }
.btn-confirm-order { flex: 1; background: #283433; border: 1px solid #283433; color: #fff; padding: 12px; font-size: .75rem; font-weight: 500; transition: all .2s }
.btn-confirm-order:hover { background: #4D5C4D }

.thankyou-popup { position: fixed; inset: 0; z-index: 1200; background: rgba(40,52,51,.5); display: flex; align-items: center; justify-content: center; opacity: 0; pointer-events: none; transition: opacity .3s }
.thankyou-popup.open { opacity: 1; pointer-events: all }
.thankyou-box { background: #fff; padding: 48px 40px; text-align: center; max-width: 360px; width: 90% }
.thankyou-box i { font-size: 2.5rem; color: #4D5C4D; margin-bottom: 1rem; display: block }
.thankyou-box p { font-size: 1rem; color: #283433; margin-bottom: 1.5rem }
.btn-thankyou-close { background: none; border: 1px solid rgba(40,52,51,.2); color: #283433; padding: 10px 32px; font-size: .8125rem; font-weight: 500; transition: all .2s }
.btn-thankyou-close:hover { border-color: #283433 }

.cookie-banner { position: fixed; bottom: 24px; right: 24px; z-index: 900; background: #fff; border: 1px solid rgba(40,52,51,.08); box-shadow: 0 8px 40px rgba(0,0,0,.1); max-width: 440px; width: calc(100% - 48px); transform: translateY(120%); transition: transform .5s cubic-bezier(.23,1,.32,1); overflow: hidden }
.cookie-banner.show { transform: translateY(0) }
.cookie-inner { padding: 24px 28px; display: flex; flex-direction: column; gap: 16px }
.cookie-text p { font-size: .8125rem; line-height: 1.6; color: #283433 }
.cookie-links { display: flex; gap: 1rem; margin-top: 6px }
.cookie-links a { font-size: .6875rem; color: #A3A9AA; text-decoration: underline; text-underline-offset: 2px }
.cookie-buttons { display: flex; gap: 8px }
.cookie-btn { padding: 9px 16px; font-size: .75rem; font-weight: 500; border: none; transition: all .2s }
.cookie-btn--settings { background: none; color: #A3A9AA; border: 1px solid rgba(40,52,51,.12) }
.cookie-btn--decline { background: none; color: #283433; border: 1px solid rgba(40,52,51,.2) }
.cookie-btn--decline:hover { border-color: #283433 }
.cookie-btn--accept { background: #283433; color: #fff }
.cookie-btn--accept:hover { background: #4D5C4D }
.cookie-settings-panel { max-height: 0; overflow: hidden; transition: max-height .4s; padding: 0 28px }
.cookie-settings-panel.open { max-height: 200px; padding: 0 28px 20px }
.cookie-settings-panel label { display: flex; align-items: center; gap: 8px; font-size: .8125rem; color: #4D5C4D; padding: 6px 0 }
.cookie-settings-panel input[type="checkbox"] { accent-color: #283433 }
.cookie-btn--save { background: #283433; color: #fff; margin-top: 10px; width: 100% }

.pg-hero-mini { padding: 160px 0 60px; text-align: center }
.pg-hero-mini .pg-label { display: block; font-size: 11px; font-weight: 500; letter-spacing: .25em; text-transform: uppercase; color: #A3A9AA; margin-bottom: 10px }
.pg-hero-mini h1 { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 2.5rem; font-weight: 400; color: #283433 }
.pg-body { max-width: 1200px; margin: 0 auto; padding: 0 24px 120px }
.pg-content { max-width: 720px }
.pg-date { font-size: .75rem; color: #A3A9AA; margin-bottom: 2.5rem; letter-spacing: .05em }
.pg-content h2 { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.375rem; font-weight: 500; color: #283433; margin: 2.5rem 0 .75rem; padding-top: 1.5rem; border-top: 1px solid rgba(40,52,51,.07) }
.pg-content h2:first-of-type { border-top: none; padding-top: 0 }
.pg-content p { font-size: .9375rem; line-height: 1.85; color: #4D5C4D; margin-bottom: .75rem }

.blog-pg-body { max-width: 1200px; margin: 0 auto; padding: 0 24px 120px }
.blog-pg-entry { display: grid; grid-template-columns: 420px 1fr; gap: 3.5rem; align-items: start; padding: 4rem 0; border-bottom: 1px solid rgba(40,52,51,.07) }
.blog-pg-entry:first-child { padding-top: 1rem }
.blog-pg-entry:last-child { border-bottom: none }
.blog-pg-entry--alt { grid-template-columns: 1fr 420px }
.blog-pg-entry--alt .blog-pg-img { order: 2 }
.blog-pg-entry--alt .blog-pg-text { order: 1 }
.blog-pg-img { overflow: hidden; aspect-ratio: 16/11 }
.blog-pg-img img { width: 100%; height: 100%; object-fit: cover }
.blog-pg-text time { font-size: .75rem; font-weight: 500; letter-spacing: .1em; color: #A3A9AA; display: block; margin-bottom: 14px }
.blog-pg-text h2 { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.625rem; font-weight: 400; line-height: 1.4; color: #283433; margin-bottom: 1.25rem }
.blog-pg-text p { font-size: .9375rem; line-height: 1.85; color: #4D5C4D; margin-bottom: 1rem }

@media (max-width: 1024px) {
  .about-content { grid-template-columns: 1fr; gap: 3rem }
  .about-portrait { position: static; max-width: 340px }
  .blog-item { grid-template-columns: 280px 1fr; gap: 2rem }
  .product-grid { grid-template-columns: repeat(2, 1fr) }
  .review-item, .review-item--flip { grid-template-columns: 1fr; gap: 2rem }
  .review-item--flip { direction: ltr }
  .footer-inner { grid-template-columns: 1fr 1fr; gap: 2.5rem }
  .blog-pg-entry, .blog-pg-entry--alt { grid-template-columns: 1fr; gap: 1.5rem }
  .blog-pg-entry--alt .blog-pg-img { order: 0 }
  .blog-pg-entry--alt .blog-pg-text { order: 0 }
}

@media (max-width: 768px) {
  .hdr-nav { display: none }
  .mobile-burger { display: flex }
  .hero-inner h1 { font-size: 2rem }
  .hero-logo-img { width: 140px }
  .section-heading { font-size: 2rem; margin-bottom: 2.5rem }
  .about-section { padding: 80px 0 }
  .about-text-block h2 { font-size: 2rem }
  .blog-section { padding: 80px 0 }
  .blog-item { grid-template-columns: 1fr; gap: 1.25rem }
  .blog-img-wrap { aspect-ratio: 16/9 }
  .products-section { padding: 0 0 80px }
  .product-grid { grid-template-columns: 1fr 1fr; gap: 1.25rem }
  .product-desc { font-size: .75rem }
  .product-bottom { flex-direction: column; align-items: flex-start; gap: 8px }
  .reviews-section { padding: 80px 0 }
  .faq-section { padding: 80px 0 }
  .contact-section { padding: 80px 0 }
  .form-row { grid-template-columns: 1fr }
  .footer-inner { grid-template-columns: 1fr; gap: 2rem; text-align: center }
  .footer-col { align-items: center }
  .cart-popup { max-width: 100%; height: 100vh }
  .cart-header { padding: 20px 20px 16px }
  .cart-body { padding: 16px 20px }
  .cart-footer { padding: 16px 20px 24px }
  .cart-item { grid-template-columns: 48px 1fr auto auto; gap: 10px }
  .cart-item-img { width: 48px; height: 48px }
  .order-modal-box { padding: 28px 24px }
  .cookie-banner { max-width: 100%; right: 0; bottom: 0; width: 100% }
  .pg-hero-mini { padding: 120px 0 40px }
  .pg-hero-mini h1 { font-size: 1.875rem }
  .pg-body { padding: 0 24px 80px }
  .blog-pg-body { padding: 0 24px 80px }
  .blog-pg-entry { padding: 2.5rem 0 }
  .blog-pg-text h2 { font-size: 1.375rem }
}

@media (max-width: 480px) {
  .product-grid { grid-template-columns: 1fr }
  .hero-inner h1 { font-size: 1.625rem }
  .cart-actions { flex-direction: column }
  .order-btns { flex-direction: column }
}
