:root { --ink:#24352d; --muted:#65756c; --cream:#fbfaf5; --paper:#fffefa; --line:#e7e5dc; --sage:#dce7dc; --accent:#b7a176; --dark:#24352d; --shadow:0 18px 45px rgb(36 53 45 / .08); font-family:"DM Sans",Arial,sans-serif; color:var(--ink); background:var(--cream); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--cream); min-width:320px; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
.shipping-bar { padding:9px 20px; background:#e8eee6; color:#44594e; text-align:center; text-transform:uppercase; font-size:11px; font-weight:700; letter-spacing:.11em; }
.shipping-bar span { padding:0 9px; color:#9b865d; }
.site-header { max-width:1440px; margin:auto; height:82px; padding:0 24px; display:flex; align-items:center; justify-content:space-between; gap:18px; }
.brand { display:inline-flex; align-items:center; gap:10px; font-size:13px; font-weight:700; letter-spacing:.2em; }
.brand img { width:39px; height:39px; object-fit:contain; }
.desktop-nav { display:flex; align-items:center; gap:16px; flex:1; justify-content:center; white-space:nowrap; font-size:11px; font-weight:600; color:#53645b; }.desktop-nav>a,.nav-item>a { padding:33px 0; display:block; }.desktop-nav a:hover { color:var(--ink); }.nav-item { position:relative; }.has-dropdown:hover .mega-menu,.has-dropdown:focus-within .mega-menu { visibility:visible; opacity:1; transform:translateY(0); }.mega-menu { position:absolute; z-index:10; top:78px; left:-20px; visibility:hidden; opacity:0; transform:translateY(8px); transition:.16s; background:#fffef9; box-shadow:0 18px 42px rgb(36 53 45 / .16); border:1px solid var(--line); padding:21px; }.mega-menu:before { content:""; position:absolute; height:14px; top:-14px; left:0; right:0; }.category-menu { width:620px; display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }.category-menu section { min-width:0; }.category-menu ul { list-style:none; padding:9px 0 0; margin:0; }.category-menu li { margin:0 0 8px; }.category-menu li a { color:#6a786f; line-height:1.4; white-space:normal; font-size:11px; }.mega-title { color:var(--ink); font-size:12px; font-weight:700; white-space:normal; }.brand-menu { width:430px; left:-120px; display:grid; grid-template-columns:repeat(3,1fr); gap:10px 15px; }.brand-menu a { color:#64736a; font-size:11px; overflow:hidden; text-overflow:ellipsis; }.header-actions { display:flex; align-items:center; gap:14px; }.header-search label { display:flex; align-items:center; gap:5px; padding:7px 8px; border-bottom:1px solid #bbc3bc; color:#6b796f; }.header-search span { font-size:16px; transform:rotate(-20deg); }.header-search input { width:76px; border:0; outline:0; background:transparent; font:11px "DM Sans",sans-serif; }.cart-link { font-size:11px; font-weight:700; white-space:nowrap; }.cart-link span { display:inline-grid; place-items:center; width:17px; height:17px; border-radius:50%; background:#dfe9df; color:#40574b; font-size:9px; }.mobile-nav { display:none; position:relative; }.mobile-nav summary { list-style:none; font-size:12px; font-weight:700; cursor:pointer; }.mobile-nav summary::-webkit-details-marker { display:none; }.mobile-nav>div { position:absolute; z-index:20; right:0; top:29px; width:210px; padding:14px; background:#fffef9; box-shadow:var(--shadow); }.mobile-nav a { display:block; padding:10px 2px; border-bottom:1px solid var(--line); font-size:13px; }.mobile-nav a:last-child { border:0; }
.hero { min-height:570px; max-width:1240px; margin:0 auto; padding:58px 28px 72px; display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:center; }
.hero-banner { max-width:1440px; margin:0 auto; position:relative; overflow:hidden; min-height:540px; background:#e6e8df; }.banner-slides,.banner-slide { min-height:540px; }.banner-slide { position:absolute; inset:0; opacity:0; pointer-events:none; transition:opacity .65s ease; }.banner-slide.is-active { opacity:1; pointer-events:auto; }.banner-slide img { width:100%; height:540px; object-fit:cover; }.banner-copy { position:absolute; z-index:2; top:50%; left:max(7vw,30px); transform:translateY(-50%); max-width:580px; }.banner-copy h1 { font:500 clamp(43px,5.4vw,75px)/1.05 "Playfair Display",Georgia,serif; letter-spacing:-.05em; margin:0; }.banner-copy h1 em { color:#a08d69; font-weight:500; }.banner-copy>p:not(.kicker) { color:#607066; font-size:16px; line-height:1.75; max-width:430px; margin:20px 0 28px; }.banner-dots { position:absolute; z-index:3; display:flex; gap:8px; left:max(7vw,30px); bottom:31px; }.banner-dots button { width:27px; height:3px; padding:0; border:0; background:#a9b2a9; cursor:pointer; }.banner-dots button.is-active { background:#31483b; }
.kicker { color:#8b7955; letter-spacing:.16em; text-transform:uppercase; font-size:11px; font-weight:700; margin:0 0 15px; }
.hero h1,.product-info h1,.checkout-intro h1,.success-card h1 { font-family:"Playfair Display",Georgia,serif; font-weight:500; letter-spacing:-.045em; line-height:1.04; margin:0; }
.hero h1 { font-size:clamp(48px,6.2vw,78px); max-width:680px; }
.hero h1 em { color:#a08d69; font-weight:500; }
.hero-description { color:var(--muted); max-width:470px; font-size:17px; line-height:1.75; margin:26px 0 31px; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:22px; border:0; cursor:pointer; border-radius:0; padding:16px 22px; font:700 13px/1 "DM Sans",Arial,sans-serif; transition:transform .2s,background .2s; }
.button:hover { transform:translateY(-2px); }
.button-dark { background:var(--dark); color:#fff; }
.button-dark span { font-size:20px; font-weight:400; line-height:.7; }
.button-soft { background:#e8eee6; color:var(--ink); }
.button-wide { width:100%; }
.button-disabled { display:block; background:#deddd5; color:#777; cursor:default; text-align:center; }
.hero-art { position:relative; min-height:410px; background:#e5ebe2; overflow:hidden; display:flex; align-items:center; justify-content:center; }
.hero-orb { position:absolute; border-radius:50%; filter:blur(.2px); }
.orb-one { width:320px; height:320px; top:-100px; right:-90px; background:#cedbcf; }
.orb-two { width:250px; height:250px; bottom:-130px; left:-80px; background:#f3e9d5; }
.hero-bottle { z-index:1; width:160px; height:253px; padding-top:100px; position:relative; background:linear-gradient(100deg,#fbfbf5,#ded9cb 52%,#fffef9); border-radius:8px 8px 28px 28px; box-shadow:20px 24px 35px rgb(39 55 45 / .16); text-align:center; color:#4c5a51; transform:rotate(-8deg); }
.hero-bottle:before { content:""; position:absolute; top:-62px; left:47px; width:66px; height:64px; border-radius:4px 4px 0 0; background:#b8a881; }
.hero-bottle span { display:block; font-size:17px; font-weight:700; letter-spacing:.18em; }.hero-bottle small { font-family:"Playfair Display"; color:#967f55; }
.hero-art>p { position:absolute; bottom:22px; right:26px; margin:0; color:#65756c; font:italic 17px "Playfair Display",serif; }
.trust-row { max-width:1184px; margin:0 auto; padding:30px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); display:grid; grid-template-columns:repeat(3,1fr); }
.trust-row div { padding:4px 34px; display:flex; align-items:center; gap:15px; border-right:1px solid var(--line); }.trust-row div:last-child { border:0; }.trust-row strong { color:#aa9368; font:500 29px "Playfair Display",serif; }.trust-row span { color:#68766e; font-size:13px; line-height:1.45; }
.catalog-section { max-width:1240px; margin:0 auto; padding:104px 28px; }.section-heading { display:flex; justify-content:space-between; gap:30px; align-items:end; margin-bottom:27px; }.section-heading h2 { font:500 clamp(34px,4vw,52px)/1.08 "Playfair Display",Georgia,serif; letter-spacing:-.04em; margin:0; }.section-heading>p { color:var(--muted); max-width:260px; margin:0 0 4px; line-height:1.55; font-size:14px; }
.catalog-search { display:flex; gap:10px; margin-bottom:22px; }.search-field { flex:1; max-width:490px; display:flex; align-items:center; gap:10px; background:var(--paper); border:1px solid var(--line); padding:0 14px; }.search-field span { font-size:22px; transform:rotate(-20deg); }.search-field input { width:100%; padding:15px 0; border:0; outline:0; background:transparent; font:14px "DM Sans",sans-serif; }
.brand-chips { display:flex; flex-wrap:wrap; gap:8px; padding:0 0 22px; }.chip { flex:0 0 auto; padding:9px 13px; background:#f1f0eb; color:#647067; font-size:12px; border:1px solid transparent; }.chip.is-selected,.chip:hover { border-color:#b4c0b1; background:#e6eee5; color:var(--ink); }
.product-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:27px 18px; }.product-card { min-width:0; }.product-image,.product-visual { position:relative; display:flex; overflow:hidden; align-items:center; justify-content:center; background:linear-gradient(145deg,#edf1e8,#e5e0d5); aspect-ratio:1 / 1.13; }.product-image:nth-child(3n) { background:linear-gradient(145deg,#eee8dc,#dce8e0); }.product-image img,.product-visual img { height:100%; width:100%; object-fit:cover; transition:transform .35s; }.product-card:hover img { transform:scale(1.045); }.product-monogram { z-index:1; color:#748277; font:500 83px "Playfair Display",Georgia,serif; opacity:.8; }.product-glow { position:absolute; height:56%; width:56%; border-radius:50%; background:#fffdf6; opacity:.4; filter:blur(16px); }.brand-tag { position:absolute; top:12px; left:12px; z-index:2; background:rgb(255 255 251 / .8); padding:6px 8px; font-size:10px; text-transform:uppercase; letter-spacing:.08em; }.product-content { padding:15px 2px 0; }.product-brand { color:#88928b; font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; margin:0 0 7px; }.product-content h3 { font-size:14px; line-height:1.48; font-weight:600; margin:0; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }.price { font-size:14px; font-weight:700; margin:12px 0 0; }.sold-out { color:#929b95; font-size:13px; margin:12px 0 0; }.empty-state { padding:80px 20px; grid-column:1/-1; text-align:center; background:#f1f0eb; }.empty-state a { text-decoration:underline; }
.site-footer { max-width:1184px; margin:auto; border-top:1px solid var(--line); padding:40px 0 50px; display:flex; justify-content:space-between; gap:25px; color:#718077; font-size:12px; }.footer-brand { display:flex; align-items:center; gap:12px; }.footer-brand img { width:45px; height:45px; object-fit:contain; }.footer-brand p { margin:0; max-width:260px; line-height:1.5; }.site-footer>p { margin:0; align-self:center; }.information-page { min-height:60vh; max-width:760px; padding:110px 28px; margin:auto; }.information-page h1,.blog-page>h1,.article-page h1 { margin:0; font:500 clamp(42px,6vw,70px)/1.05 "Playfair Display",Georgia,serif; letter-spacing:-.04em; }.information-content { color:var(--muted); max-width:590px; font-size:17px; line-height:1.75; margin:24px 0 30px; }.floating-hotline { position:fixed; z-index:20; right:22px; bottom:22px; display:flex; align-items:center; gap:8px; color:#fff; background:#294538; padding:11px 15px; border-radius:99px; box-shadow:0 12px 25px rgb(36 53 45 / .25); }.floating-hotline span { display:grid; place-items:center; width:25px; height:25px; border-radius:50%; background:#dce8d9; color:#294538; }.floating-hotline small { font-size:10px; text-transform:uppercase; letter-spacing:.08em; }.floating-hotline strong { font-size:13px; }.blog-page,.article-page { max-width:1184px; margin:auto; padding:88px 28px; }.blog-intro,.article-excerpt { max-width:580px; color:var(--muted); font-size:17px; line-height:1.75; margin:22px 0 45px; }.blog-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }.blog-card { background:#fffefa; padding-bottom:23px; }.blog-image { aspect-ratio:1.45/1; display:grid; place-items:center; overflow:hidden; background:#e5eadf; color:#879286; text-align:center; font:500 28px "Playfair Display",serif; }.blog-image img { width:100%; height:100%; object-fit:cover; }.blog-image small { font:12px "DM Sans"; letter-spacing:.15em; }.blog-card>p,.blog-card>h2,.blog-card>div,.read-more { margin-left:20px; margin-right:20px; }.blog-card>p { color:#a18d67; font-size:11px; letter-spacing:.08em; }.blog-card h2 { font:500 25px/1.2 "Playfair Display",serif; }.blog-card>div { color:var(--muted); font-size:13px; line-height:1.65; }.read-more { display:inline-block; margin-top:19px; border-bottom:1px solid var(--ink); font-size:12px; font-weight:700; }.article-page { max-width:850px; }.article-page h1 { font-size:clamp(42px,5.5vw,68px); }.article-cover { width:100%; max-height:530px; object-fit:cover; margin:30px 0; }.article-content { color:#4d5e54; font-size:17px; line-height:1.85; }.article-content p { margin:0 0 20px; }
.product-page,.checkout-page { max-width:1184px; margin:auto; padding:38px 28px 90px; }.back-link { color:#6e7d73; font-size:13px; display:inline-block; margin-bottom:28px; }.product-layout { display:grid; grid-template-columns:1.03fr .97fr; gap:76px; align-items:start; }.product-visual-large { aspect-ratio:1/1.08; }.product-info { padding-top:20px; }.product-info h1 { font-size:clamp(34px,4.4vw,58px); line-height:1.12; }.detail-price { font-size:24px; font-weight:700; margin:27px 0; }.product-description { border-top:1px solid var(--line); padding:19px 0 7px; color:#637168; line-height:1.7; font-size:14px; max-height:210px; overflow:auto; }.benefit-panel { display:flex; gap:14px; align-items:center; padding:16px; margin:22px 0; background:#edf2ea; }.benefit-panel>span { color:#9a865f; font-size:20px; }.benefit-panel p { margin:0; color:#607066; font-size:13px; line-height:1.5; }.benefit-panel strong { color:var(--ink); }
.checkout-page { min-height:calc(100vh - 190px); }.checkout-layout { display:grid; grid-template-columns:.82fr 1.18fr; gap:72px; }.checkout-intro { padding-top:40px; }.checkout-intro h1 { font-size:clamp(37px,4.3vw,56px); }.checkout-intro>p:not(.kicker) { color:var(--muted); line-height:1.75; max-width:340px; margin:24px 0; }.secure-note { color:#42594b; font-size:13px; font-weight:700; }.order-form { display:grid; grid-template-columns:1fr 1fr; gap:17px; padding:33px; background:var(--paper); box-shadow:var(--shadow); }.order-form h2 { grid-column:1/-1; font:500 25px/1.25 "Playfair Display",Georgia,serif; margin:0 0 5px; }.form-row { min-width:0; }.form-row-full,.cod-callout,.order-form button,.form-fineprint { grid-column:1/-1; }.form-row label { display:block; margin-bottom:7px; color:#5c695f; font-size:12px; font-weight:700; }.form-control { width:100%; resize:vertical; border:1px solid #dcdcd3; background:#fff; padding:12px; color:var(--ink); outline:none; font:14px "DM Sans",Arial,sans-serif; border-radius:0; }.form-control:focus { border-color:#879d88; box-shadow:0 0 0 3px rgb(135 157 136 / .12); }.form-error { color:#b84a3d; font-size:12px; margin:5px 0 0; }.cod-callout { background:#f0f3ec; padding:13px; display:flex; justify-content:space-between; gap:20px; font-size:13px; }.cod-callout span { color:#6d7a70; }.form-fineprint { margin:0; color:#89938b; font-size:11px; text-align:center; line-height:1.5; }
.success-page { min-height:calc(100vh - 190px); display:flex; align-items:center; justify-content:center; padding:65px 22px; }.success-card { max-width:600px; padding:50px; background:var(--paper); box-shadow:var(--shadow); text-align:center; }.success-check { width:45px; height:45px; margin:0 auto 22px; display:grid; place-items:center; border-radius:50%; background:#dce8da; color:#3f5c49; font-size:22px; }.success-card h1 { font-size:52px; }.success-card>p:not(.kicker) { color:var(--muted); line-height:1.7; margin:20px auto; }.success-summary { text-align:left; margin:28px 0; border-top:1px solid var(--line); }.success-summary>div { display:flex; justify-content:space-between; gap:20px; padding:12px 0; border-bottom:1px solid var(--line); font-size:13px; }.summary-total { font-size:15px!important; }
@media(max-width:1100px) { .desktop-nav { gap:10px; font-size:10px; }.desktop-nav>a,.nav-item>a { padding:33px 0; }.header-search { display:none; } }
@media(max-width:780px) { .shipping-bar { font-size:9px; padding:8px; }.site-header { height:70px; padding:0 18px; }.brand span,.desktop-nav,.header-actions { display:none; }.mobile-nav { display:block; }.hero,.hero-banner,.banner-slides,.banner-slide { min-height:470px; }.banner-slide img { height:470px; object-position:62% center; }.banner-copy { top:48%; left:20px; right:20px; }.banner-copy h1 { font-size:48px; }.banner-copy>p:not(.kicker) { font-size:14px; max-width:300px; }.hero h1 { font-size:51px; }.hero-art { min-height:300px; }.hero-bottle { transform:scale(.8) rotate(-8deg); }.trust-row { margin:0 20px; grid-template-columns:1fr; padding:14px 0; }.trust-row div { border:0; border-bottom:1px solid var(--line); padding:13px 0; }.trust-row div:last-child { border-bottom:0; }.catalog-section { padding:65px 20px; }.section-heading { display:block; }.section-heading>p { margin-top:14px; }.catalog-search { flex-direction:column; }.catalog-search .button { width:100%; }.product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px 12px; }.product-content h3 { font-size:13px; }.site-footer { margin:0 20px; padding:30px 0; display:block; }.site-footer>p { margin-top:20px; }.product-page,.checkout-page { padding:28px 20px 60px; }.product-layout,.checkout-layout { grid-template-columns:1fr; gap:28px; }.product-info { padding-top:0; }.product-info h1 { font-size:39px; }.checkout-intro { padding:0; }.order-form { padding:22px; grid-template-columns:1fr; }.success-card { padding:38px 23px; }.success-card h1 { font-size:43px; }.floating-hotline { right:14px; bottom:14px; }.floating-hotline small { display:none; }.blog-page,.article-page { padding:58px 20px; }.blog-grid { grid-template-columns:1fr; } }

/* Navigation hierarchy and responsive shell */
.category-menu { width:min(920px,calc(100vw - 48px)); grid-template-columns:repeat(3,minmax(0,1fr)); max-height:calc(100vh - 120px); overflow:auto; }
.category-menu section { padding-right:14px; }
.category-menu li { margin-bottom:9px; }
.category-menu .menu-level-two>a { display:block; color:#4e6256; font-weight:700; }
.category-menu .menu-level-three { margin:5px 0 11px; padding:0 0 0 10px; border-left:1px solid #dce3d9; }
.category-menu .menu-level-three li { margin:0 0 5px; }
.category-menu .menu-level-three a { color:#7b887f; font-size:10px; line-height:1.35; }
.site-footer { max-width:1184px; margin:0 auto; padding:52px 0 38px; display:grid; grid-template-columns:1.35fr .8fr .9fr; gap:35px; align-items:start; }
.footer-brand { align-items:flex-start; }.footer-brand p { max-width:290px; }.footer-links,.footer-contact { display:flex; flex-direction:column; align-items:flex-start; gap:9px; font-size:12px; line-height:1.45; }.footer-links h2,.footer-contact h2 { color:var(--ink); font-size:11px; margin:0 0 4px; font-weight:700; letter-spacing:.11em; text-transform:uppercase; }.footer-links a:hover,.footer-contact a:hover { color:var(--ink); text-decoration:underline; }.footer-contact p { margin:0; max-width:230px; }.footer-legal { grid-column:1/-1; margin:10px 0 0!important; padding-top:17px; border-top:1px solid var(--line); font-size:11px; line-height:1.6; }

@media(max-width:1150px) {
  .site-header { height:74px; padding:0 28px; }.desktop-nav,.header-actions { display:none; }.mobile-nav { display:block; }
  .mobile-nav summary { width:40px; height:40px; display:grid; align-content:center; gap:5px; padding:9px; border:1px solid var(--line); background:#fffefa; cursor:pointer; }.mobile-nav summary span { display:block; width:20px; height:1px; margin:auto; background:var(--ink); }.mobile-nav[open] summary { background:#e6eee5; }
  .mobile-menu-panel { position:absolute; z-index:30; top:48px; right:0; width:min(390px,calc(100vw - 28px)); max-height:calc(100vh - 96px); overflow:auto; padding:17px 18px 20px; border:1px solid var(--line); background:#fffefa; box-shadow:0 20px 45px rgb(36 53 45 / .18); }
  .mobile-menu-panel>a,.mobile-category>summary { display:block; padding:13px 2px; border-bottom:1px solid var(--line); color:#34463b; font-size:14px; font-weight:600; }.mobile-menu-panel>a:last-child { border-bottom:0; }
  .mobile-search { display:flex; margin-bottom:7px; border:1px solid #d9dfd5; }.mobile-search input { min-width:0; flex:1; border:0; padding:12px; outline:0; font:13px "DM Sans",sans-serif; }.mobile-search button { width:42px; border:0; background:#e6eee5; color:var(--ink); font-size:19px; }
  .mobile-category>summary,.mobile-category-list details>summary { list-style:none; cursor:pointer; }.mobile-category>summary::-webkit-details-marker,.mobile-category-list details>summary::-webkit-details-marker { display:none; }.mobile-category>summary:after,.mobile-category-list details>summary:after { content:"+"; float:right; color:#819084; }.mobile-category[open]>summary:after,.mobile-category-list details[open]>summary:after { content:"−"; }
  .mobile-category-list { padding:2px 0 10px; }.mobile-category-list details { border-bottom:1px solid #edf0ea; }.mobile-category-list details>summary { padding:11px 3px; color:#52655a; font-size:13px; font-weight:700; }.mobile-category-list details>div { padding:0 0 8px; }.mobile-category-list a { display:block; padding:8px 5px; font-size:12px; color:#627168; }.mobile-category-list .mobile-level-three { padding-left:20px; color:#879286; font-size:11px; }
  .product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }.site-footer { margin-left:28px; margin-right:28px; }
}

@media(max-width:780px) {
  .shipping-bar { padding:8px 14px; font-size:9px; line-height:1.45; letter-spacing:.075em; }.site-header { height:68px; padding:0 18px; }.brand img { width:36px; height:36px; }.brand span { display:inline; font-size:11px; letter-spacing:.15em; }
  .hero-banner { min-height:calc(56.25vw + 272px); }.banner-slides,.banner-slide { min-height:calc(56.25vw + 272px); }.banner-slide { display:flex; flex-direction:column; }.banner-slide img { position:static; width:100%; height:56.25vw; max-height:none; object-fit:cover; object-position:center; }.banner-copy { position:static; transform:none; flex:1; max-width:none; padding:23px 20px 56px; background:#e6e8df; }.banner-copy h1 { font-size:clamp(34px,10vw,48px); line-height:1.08; letter-spacing:-.045em; }.banner-copy>p:not(.kicker) { margin:13px 0 18px; font-size:13px; line-height:1.6; max-width:350px; }.banner-copy .button { padding:13px 16px; }.banner-dots { left:20px; bottom:23px; }
  .trust-row { margin:0 20px; }.catalog-section { padding:58px 20px; }.product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 12px; }.product-image,.product-visual { aspect-ratio:1/1.2; }.product-content { padding-top:11px; }.product-content h3 { -webkit-line-clamp:3; font-size:12px; }.product-brand,.brand-tag { font-size:9px; }.brand-tag { top:8px; left:8px; }.price,.sold-out { margin-top:8px; font-size:12px; }
  .site-footer { margin:0 20px; padding:34px 0 28px; grid-template-columns:1fr 1fr; gap:28px 20px; }.footer-brand { grid-column:1/-1; }.footer-brand img { width:42px; height:42px; }.footer-brand p { max-width:300px; }.footer-legal { margin-top:0!important; }.floating-hotline { padding:10px; width:46px; height:46px; justify-content:center; }.floating-hotline strong,.floating-hotline small { display:none; }
}

/* Editable beauty-service and appointment pages. */
.beauty-hero { min-height:400px; padding:98px max(28px,calc((100vw - 1184px)/2)); display:flex; flex-direction:column; align-items:flex-start; justify-content:center; color:#f9f7ef; background:linear-gradient(105deg,rgb(31 53 42 / .94),rgb(48 78 61 / .68)),radial-gradient(circle at 75% 35%,#91aa94 0,transparent 26%),#314f40; }.beauty-hero .kicker { color:#c7b27f; }.beauty-hero h1,.appointment-copy h2,.appointment-success h1 { max-width:700px; margin:0; font:500 clamp(42px,5.5vw,70px)/1.03 "Playfair Display",Georgia,serif; letter-spacing:-.05em; }.beauty-hero h1 em,.appointment-copy h2 em,.appointment-success h1 em { color:#c8b181; }.beauty-hero>p:not(.kicker) { max-width:480px; margin:20px 0 26px; color:#d9e0d7; line-height:1.65; }
.beauty-section { max-width:1184px; margin:0 auto; padding:90px 0; }.beauty-service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; }.beauty-service-card { min-height:248px; padding:28px; background:#edf1eb; border:1px solid #dce4d9; display:flex; flex-direction:column; }.beauty-service-card>span { color:#ab9360; font:500 26px "Playfair Display",Georgia,serif; }.beauty-service-card h3 { margin:36px 0 10px; color:#263d30; font:500 25px/1.1 "Playfair Display",Georgia,serif; }.beauty-service-card p { margin:0; color:#66756b; font-size:13px; line-height:1.6; }.beauty-service-card>div { display:flex; justify-content:space-between; gap:10px; margin-top:auto; padding-top:20px; color:#748177; font-size:11px; }.beauty-service-card strong { color:#486452; font-size:11px; }
.appointment-section { display:grid; grid-template-columns:minmax(0,.9fr) minmax(370px,1.1fr); gap:76px; padding:90px max(28px,calc((100vw - 1100px)/2)); background:#e8eee7; }.appointment-copy h2 { color:#2b4335; margin-top:12px; }.appointment-copy>p:not(.kicker) { max-width:410px; color:#617066; line-height:1.65; }.appointment-copy ul { padding:0; margin:30px 0 0; list-style:none; color:#526257; font-size:13px; line-height:2; }.appointment-copy li:before { content:"✓"; margin-right:9px; color:#9d8355; font-weight:700; }.appointment-form { padding:30px; background:#fffef9; border:1px solid #d8e0d5; box-shadow:0 14px 35px rgb(39 61 48 / .08); }.appointment-form .form-field { margin-bottom:15px; }.appointment-form label { display:block; margin-bottom:6px; color:#4d5d53; font-size:12px; font-weight:700; }.appointment-form label em { margin-left:3px; color:#a65a4d; font-style:normal; }.appointment-form .form-control { box-sizing:border-box; width:100%; padding:12px 13px; border:1px solid #d5ddd3; background:#fff; color:var(--ink); font:13px "DM Sans",sans-serif; outline-color:#849d87; }.appointment-form textarea.form-control { resize:vertical; }.appointment-form .has-error .form-control { border-color:#b96a5e; }.form-error { display:block; margin-top:5px; color:#a85b50; font-size:11px; }.appointment-form .button { width:100%; justify-content:center; border:0; cursor:pointer; }.appointment-note { margin:14px 0 0; color:#839087; font-size:11px; text-align:center; }.appointment-success { max-width:900px; min-height:60vh; margin:auto; padding:120px 28px; }.appointment-success>p:not(.kicker) { max-width:520px; color:#65736a; line-height:1.65; margin:24px 0; }

@media(max-width:780px) { .beauty-hero { min-height:350px; padding:68px 24px; }.beauty-hero h1,.appointment-copy h2,.appointment-success h1 { font-size:40px; }.beauty-section { padding:60px 18px; }.beauty-service-grid { grid-template-columns:1fr; }.beauty-service-card { min-height:210px; }.appointment-section { grid-template-columns:1fr; gap:36px; padding:58px 18px; }.appointment-form { padding:20px; }.appointment-success { padding:78px 24px; } }

@media(max-width:390px) { .brand span { display:none; }.site-header { padding:0 14px; }.mobile-menu-panel { width:calc(100vw - 20px); }.site-footer { grid-template-columns:1fr; }.footer-brand { grid-column:auto; } }

/* Compact filters and a full-width, readable mobile menu. */
.brand-filter-more { margin:0 0 24px; }.brand-filter-more summary { display:inline-flex; align-items:center; gap:9px; padding:9px 0; color:#56685d; font-size:12px; font-weight:700; cursor:pointer; list-style:none; }.brand-filter-more summary::-webkit-details-marker { display:none; }.brand-filter-more summary span { display:inline-grid; place-items:center; width:18px; height:18px; border:1px solid #c7d1c6; border-radius:50%; font-size:15px; font-weight:400; }.brand-filter-more[open] summary span { transform:rotate(45deg); }.brand-chips-more { padding:7px 0 0; }
@media(max-width:1150px) { .mobile-nav > div.mobile-menu-panel { top:48px; right:0; left:auto; width:min(420px,calc(100vw - 28px)); min-width:300px; padding:18px; }.mobile-menu-panel .mobile-category>summary { width:100%; min-height:46px; padding:13px 2px; line-height:1.35; white-space:normal; }.mobile-menu-panel>a { min-height:46px; line-height:1.35; }.mobile-category-list details>summary { padding-right:24px; line-height:1.35; }.mobile-category-list a { line-height:1.45; }.mobile-category-list .mobile-level-three { padding-left:18px; } }
@media(max-width:780px) { .brand-filter { padding-bottom:4px; }.brand-chips { gap:7px; padding-bottom:5px; }.chip { padding:9px 11px; font-size:11px; }.brand-filter-more { margin:0 0 21px; }.brand-chips-more { padding-top:8px; }.mobile-nav > div.mobile-menu-panel { width:calc(100vw - 32px); min-width:0; max-height:calc(100vh - 92px); }.mobile-menu-panel .mobile-category>summary,.mobile-menu-panel>a { font-size:14px; }.mobile-category-list details>summary { font-size:13px; }.mobile-category-list a { font-size:12px; } }

.mobile-category-list .mobile-subcategory { border-bottom:1px solid #edf0ea; }.mobile-category-list .mobile-subcategory>summary { position:relative; list-style:none; padding:10px 24px 10px 5px; color:#55675c; font-size:12px; font-weight:700; cursor:pointer; }.mobile-category-list .mobile-subcategory>summary::-webkit-details-marker { display:none; }.mobile-category-list .mobile-subcategory>summary:after { content:"+"; position:absolute; right:5px; color:#819084; }.mobile-category-list .mobile-subcategory[open]>summary:after { content:"−"; }.mobile-category-list .mobile-subcategory>div { padding:0 0 6px; background:#fafaf6; }.mobile-category-list .mobile-level-two { font-weight:700; color:#55675c; }

/* Full-screen video opening for the storefront home page. */
.video-landing { position:relative; min-height:min(790px,calc(100vh - 112px)); overflow:hidden; display:flex; align-items:center; isolation:isolate; background:#dce6d9; }.landing-video { position:absolute; z-index:-3; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }.video-landing-shade { position:absolute; z-index:-2; inset:0; background:linear-gradient(90deg,rgb(250 249 244 / .9) 0%,rgb(250 249 244 / .68) 31%,rgb(250 249 244 / .08) 65%,rgb(33 49 40 / .1) 100%); }.video-landing-copy { max-width:620px; margin-left:max(7vw,30px); padding:58px 0 74px; }.video-landing-copy h1 { margin:0; color:#23362c; font:500 clamp(50px,6.2vw,88px)/1.01 "Playfair Display",Georgia,serif; letter-spacing:-.06em; }.video-landing-copy h1 em { color:#9c8660; font-weight:500; }.video-landing-copy>p:not(.kicker) { max-width:430px; margin:22px 0 29px; color:#53655a; font-size:16px; line-height:1.75; }.video-scroll-hint { position:absolute; bottom:27px; left:max(7vw,30px); display:flex; align-items:center; gap:10px; color:#506156; font-size:10px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }.video-scroll-hint span { display:block; width:1px; height:34px; background:#63766a; }
@media(max-width:780px) { .video-landing { min-height:calc(100svh - 100px); align-items:flex-end; background:#dce6d9; }.landing-video { object-position:center top; }.video-landing-shade { background:linear-gradient(180deg,rgb(243 246 239 / .04) 0%,rgb(243 246 239 / .12) 35%,rgb(244 245 238 / .87) 63%,#f3f4ed 100%); }.video-landing-copy { width:100%; margin:0; padding:38px 20px 72px; text-align:center; }.video-landing-copy h1 { font-size:clamp(45px,12vw,64px); }.video-landing-copy>p:not(.kicker) { margin:16px auto 23px; font-size:14px; line-height:1.65; }.video-landing-copy .button { padding:15px 19px; }.video-scroll-hint { bottom:20px; left:50%; transform:translateX(-50%); white-space:nowrap; }.video-scroll-hint span { height:22px; } }

/* Only the outer summary is the hamburger button. Nested category summaries must keep their full row width. */
@media(max-width:1150px) { .mobile-nav .mobile-category summary,.mobile-nav .mobile-category-list details>summary { width:100%; height:auto; min-height:0; display:block; align-content:normal; gap:0; border:0; background:transparent; }.mobile-nav .mobile-category[open]>summary,.mobile-nav .mobile-category-list details[open]>summary { background:transparent; } }

/* Keep the wide desktop category panel centred in the viewport while hidden or open. */
@media(min-width:1151px) { .category-menu { position:fixed; top:82px; left:50%; transform:translateX(-50%) translateY(8px); }.has-dropdown:hover .category-menu,.has-dropdown:focus-within .category-menu { transform:translateX(-50%) translateY(0); } }

/* The logo is a transparent PNG so it sits cleanly on every page background. */
.brand img { width:62px; height:62px; }.footer-brand img { width:58px; height:58px; object-fit:contain; }.brand span { color:#20362a; font-weight:700; }
@media(max-width:780px) { .brand img { width:56px; height:56px; }.footer-brand img { width:48px; height:48px; }.brand span { font-size:11px; letter-spacing:.17em; } }

/* Five compact, editable commitments beneath the opening video. */
.trust-row { grid-template-columns:repeat(5,minmax(0,1fr)); }.trust-row div { padding:5px 20px; }.trust-row span { max-width:135px; }

/* Keep store locations and marketplace links readable without making the footer tall. */
.footer-branches { display:grid; gap:9px; margin-top:5px; }.footer-branch { padding-left:10px; border-left:2px solid #cbb886; }.footer-branch strong,.footer-marketplaces h3 { color:#52655a; font-size:10px; letter-spacing:.09em; text-transform:uppercase; }.footer-branch p { margin:3px 0 0; }.footer-marketplaces { margin-top:7px; }.footer-marketplaces h3 { margin:0 0 6px; font-weight:700; }.footer-marketplaces p { display:flex; flex-wrap:wrap; gap:6px; margin:0; }.footer-marketplaces a { padding:5px 7px; border:1px solid #d9dfd6; font-size:10px; font-weight:700; }.footer-marketplaces a:hover { background:#edf2eb; text-decoration:none; }

/* Crop the transparent original more effectively and give its fine gold strokes enough contrast. */
.brand img,.footer-brand img { filter:contrast(1.58) saturate(1.35) brightness(.9); }

@media(max-width:780px) {
  .video-landing { align-items:flex-end; }
  .video-landing-copy { width:calc(100% - 24px); margin:0 12px 16px; padding:19px 20px 18px; text-align:left; background:rgb(250 249 244 / .91); border:1px solid rgb(255 255 255 / .7); box-shadow:0 12px 30px rgb(42 57 46 / .14); }
  .video-landing-copy .kicker { margin-bottom:8px; font-size:9px; letter-spacing:.14em; }
  .video-landing-copy h1 { max-width:280px; font-size:clamp(34px,9.8vw,42px); line-height:1.03; letter-spacing:-.05em; }
  .video-landing-copy>p:not(.kicker) { margin:10px 0 15px; max-width:305px; font-size:12px; line-height:1.55; }
  .video-landing-copy .button { padding:12px 15px; font-size:12px; }
  .trust-row { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; padding:9px 0; }
  .trust-row div { min-height:58px; padding:11px 10px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
  .trust-row div:nth-child(2n) { border-right:0; }.trust-row div:nth-last-child(2) { border-bottom:0; }.trust-row div:last-child { grid-column:1/-1; justify-content:center; border-right:0; border-bottom:0; }
  .trust-row strong { font-size:25px; }.trust-row span { max-width:145px; font-size:11px; }
}

@media(max-width:390px) { .brand span { display:inline; }.brand img { width:58px; height:58px; } }

/* Home-page commitments and credibility metrics. */
.trust-row { padding:22px 0; }
.trust-row .trust-icon { display:grid; flex:0 0 auto; place-items:center; width:34px; height:34px; color:#9a8152; background:#f4f1e9; border-radius:50%; }
.trust-row .trust-icon svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; }
.credibility-section { max-width:1184px; margin:0 auto; padding:58px 0 14px; border-bottom:1px solid var(--line); }
.credibility-section>.kicker { margin:0 0 19px; }
.credibility-stats { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); }
.credibility-stats article { min-width:0; padding:4px 20px 23px; border-right:1px solid var(--line); }
.credibility-stats article:first-child { padding-left:0; }.credibility-stats article:last-child { border-right:0; }
.credibility-stats strong { display:block; color:#263d30; font:500 clamp(25px,2.4vw,35px)/1 "Playfair Display",Georgia,serif; letter-spacing:-.04em; white-space:nowrap; }
.credibility-stats span { display:block; margin-top:8px; color:#748077; font-size:11px; line-height:1.45; }

/* Direct consultation chat: visitor and staff messages are retained on the website. */
.floating-chat { position:fixed; z-index:22; right:22px; bottom:22px; display:flex; align-items:center; gap:8px; padding:11px 15px; border:0; border-radius:99px; color:#fff; background:#294538; box-shadow:0 12px 25px rgb(36 53 45 / .25); font:600 12px "DM Sans",sans-serif; cursor:pointer; }
.floating-chat svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.chat-unread-badge { position:absolute; top:-5px; right:-5px; display:grid; place-items:center; min-width:18px; height:18px; padding:0 3px; border:2px solid #fffef9; border-radius:99px; color:#fff; background:#bf604f; font:700 9px "DM Sans",sans-serif; }
.floating-hotline { bottom:76px; }
.website-chat-panel { position:fixed; z-index:23; right:22px; bottom:132px; width:min(348px,calc(100vw - 28px)); padding:20px; color:var(--ink); background:#fffef9; border:1px solid #d8dfd4; box-shadow:0 20px 50px rgb(26 43 34 / .22); }
.website-chat-panel[hidden] { display:none; }
.website-chat-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; padding-bottom:15px; border-bottom:1px solid var(--line); }.website-chat-heading p { margin:0 0 4px; color:#9a8152; font-size:9px; font-weight:700; letter-spacing:.15em; }.website-chat-heading h2 { margin:0; font:500 22px/1.1 "Playfair Display",Georgia,serif; }.website-chat-heading button { width:28px; height:28px; border:0; background:#eef2eb; color:#31473a; font-size:22px; line-height:1; cursor:pointer; }
.website-chat-intro { margin:14px 0; color:#708078; font-size:12px; line-height:1.55; }.website-chat-messages { max-height:250px; margin:0 -3px 14px; padding:2px 3px 2px 0; overflow-y:auto; }.chat-message { max-width:84%; margin:8px 0; padding:9px 11px; background:#edf1eb; color:#334a3b; border-radius:2px 12px 12px 12px; }.chat-message.is-visitor { margin-left:auto; color:#fff; background:#294538; border-radius:12px 2px 12px 12px; }.chat-message p { margin:0; font-size:12px; line-height:1.45; white-space:pre-wrap; }.chat-message small { display:block; margin-top:5px; opacity:.68; font-size:9px; }.website-chat-panel label { display:block; margin:11px 0; color:#53645a; font-size:12px; font-weight:600; }.website-chat-panel label small { color:#8a958e; font-weight:400; }.website-chat-panel label em { color:#a5684f; font-style:normal; }.website-chat-panel input,.website-chat-panel textarea { box-sizing:border-box; width:100%; margin-top:6px; padding:10px 11px; border:1px solid #d5ddd3; background:#fff; color:var(--ink); font:13px "DM Sans",sans-serif; outline-color:#809886; resize:vertical; }.website-chat-panel .button { width:100%; justify-content:center; border:0; cursor:pointer; }.website-chat-panel .button:disabled { opacity:.6; cursor:wait; }.website-chat-feedback { min-height:18px; margin:10px 0; color:#a4654d; font-size:12px; line-height:1.4; }.website-chat-feedback.is-success { color:#3e7255; }.website-chat-feedback.is-error { color:#a65549; }

@media(max-width:780px) {
  .trust-row .trust-icon { width:29px; height:29px; }.trust-row .trust-icon svg { width:17px; height:17px; }.trust-row div { gap:9px; }
  .credibility-section { margin:0 18px; padding:39px 0 2px; }.credibility-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }.credibility-stats article { padding:15px 12px; border-bottom:1px solid var(--line); }.credibility-stats article:nth-child(2n) { border-right:0; }.credibility-stats article:nth-last-child(-n+2) { border-bottom:0; }.credibility-stats article:first-child { padding-left:12px; }.credibility-stats strong { font-size:28px; }.credibility-stats span { font-size:10px; }
  /* Keep the fixed CTAs above mobile browser controls and display cut-outs. */
  .floating-chat { right:max(14px,env(safe-area-inset-right)); bottom:calc(26px + env(safe-area-inset-bottom, 0px)); width:48px; height:48px; justify-content:center; padding:0; }.floating-chat span { display:none; }.floating-hotline { right:max(14px,env(safe-area-inset-right)); bottom:calc(82px + env(safe-area-inset-bottom, 0px)); }.website-chat-panel { right:max(14px,env(safe-area-inset-right)); bottom:calc(134px + env(safe-area-inset-bottom, 0px)); padding:17px; }
}

/* Give the fine-line gold logo a dedicated, higher-contrast header treatment. */
.site-header { background:#edf2ea; }.brand { padding:5px 12px 5px 6px; border:1px solid #b7c6b5; background:#dce8da; box-shadow:0 3px 10px rgb(47 72 56 / .09); }.brand img { padding-right:5px; border-right:1px solid rgb(135 112 67 / .35); }.brand span { color:#1f382b; }
@media(max-width:780px) { .site-header { background:#edf2ea; }.brand { padding:4px 10px 4px 5px; } }

/* Restore the editorial type treatment, shifted below the visual focus instead of centred over it. */
@media(max-width:780px) {
  .video-landing-copy { width:min(80vw,325px); margin:0 0 74px 20px; padding:0; text-align:left; background:transparent; border:0; box-shadow:none; }
  .video-landing-copy .kicker { margin-bottom:10px; font-size:10px; letter-spacing:.15em; }
  .video-landing-copy h1 { max-width:310px; font-size:clamp(42px,11vw,52px); line-height:1.02; letter-spacing:-.055em; }
  .video-landing-copy>p:not(.kicker) { margin:14px 0 20px; max-width:300px; font-size:13px; line-height:1.62; }
  .video-landing-copy .button { padding:14px 17px; font-size:12px; }
}

/* Header mark: the original logo redrawn as a stronger one-colour silhouette at small sizes. */
.site-header { background:var(--cream); }.brand { padding:0; border:0; background:transparent; box-shadow:none; }.brand img { width:66px; height:66px; padding:0; border:0; filter:none; }.brand span { display:none!important; }
@media(max-width:780px) { .site-header { background:var(--cream); }.brand img { width:60px; height:60px; } }

/* Editorial copy returns to the video itself, anchored in its open top-left area. */
@media(max-width:780px) {
  .video-landing { align-items:flex-start; }
  .video-landing-shade { background:linear-gradient(125deg,rgb(23 46 36 / .53) 0%,rgb(23 46 36 / .24) 32%,rgb(243 246 239 / .03) 58%,rgb(244 245 238 / .52) 100%); }
  .video-landing-copy { width:min(79vw,300px); margin:67px 0 0 21px; padding:0; }
  .video-landing-copy .kicker { color:#e2c387; text-shadow:0 1px 7px rgb(18 38 30 / .5); }
  .video-landing-copy h1 { max-width:295px; color:#fbf8ed; font-size:clamp(41px,10.8vw,50px); text-shadow:0 2px 15px rgb(17 35 28 / .36); }
  .video-landing-copy h1 em { color:#dfbd7f; }
  .video-landing-copy>p:not(.kicker) { color:#f5f4ec; text-shadow:0 1px 10px rgb(17 35 28 / .42); }
  .video-landing-copy .button { color:#20382c; background:#faf8ef; box-shadow:0 7px 18px rgb(15 31 24 / .22); }
}

/* Split the opening message into two light editorial touchpoints on mobile. */
.video-landing-action p { max-width:430px; margin:22px 0 29px; color:#53655a; font-size:16px; line-height:1.75; }
@media(max-width:780px) {
  .brand img { filter:none; }
  .video-landing-copy>p:not(.kicker) { margin:0; }
  .video-landing-action { position:absolute; z-index:1; left:21px; bottom:48px; width:min(77vw,290px); }
  .video-landing-action p { margin:0 0 15px; color:#294237; font-size:13px; line-height:1.62; text-shadow:0 1px 8px rgb(255 255 255 / .38); }
  .video-landing-action .button { padding:14px 17px; color:#fffdf5; background:#20382c; box-shadow:0 7px 18px rgb(15 31 24 / .22); }
}

/* Product selection and a compact COD cart. */
.add-to-cart-form { display:grid; grid-template-columns:1fr; gap:8px; margin:24px 0 12px; }.add-to-cart-form>label,.add-to-cart-controls>label { color:#5c695f; font-size:12px; font-weight:700; }.add-to-cart-controls { display:grid; grid-template-columns:78px 1fr auto; align-items:end; gap:9px; }.add-to-cart-controls>label { grid-column:1/-1; }.add-to-cart-controls .form-control { min-width:0; }
.cart-page { max-width:1184px; margin:auto; padding:62px 28px 90px; }.cart-heading { display:flex; justify-content:space-between; align-items:end; gap:40px; margin-bottom:34px; }.cart-heading h1 { margin:0; font-size:clamp(42px,5vw,68px); line-height:1.03; }.cart-heading>p { max-width:310px; margin:0 0 8px; color:#68776d; line-height:1.65; font-size:14px; }.cart-layout { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:40px; align-items:start; }.cart-lines { border-top:1px solid var(--line); }.cart-line { display:grid; grid-template-columns:108px minmax(0,1fr) 140px 105px; gap:18px; align-items:center; padding:20px 0; border-bottom:1px solid var(--line); }.cart-line>img,.cart-placeholder { width:108px; height:108px; object-fit:cover; background:#edf1e9; }.cart-placeholder { display:grid; place-items:center; color:#8c9a8d; font:32px "Playfair Display",serif; }.cart-line-info h2 { margin:4px 0 7px; font:500 19px/1.3 "Playfair Display",serif; }.cart-line-info>p:not(.product-brand) { margin:0 0 8px; color:#78857c; font-size:12px; }.cart-line-info strong,.cart-line-total { color:#23382d; font-size:14px; }.cart-line-update { display:grid; gap:5px; }.cart-line-update label,.cart-line-update small { color:#718077; font-size:10px; }.cart-line-update .form-control { padding:8px; }.cart-line-update button { justify-self:start; padding:0; border:0; background:none; color:#4b6554; font:700 11px "DM Sans",sans-serif; cursor:pointer; }.cart-line-total { text-align:right; }.cart-summary { padding:26px; background:#eff3ed; }.cart-summary>div { display:flex; justify-content:space-between; gap:15px; padding:13px 0; border-top:1px solid #d8e0d5; font-size:13px; }.cart-summary>div strong { color:#243a2d; }.cart-summary>p:not(.kicker) { margin:16px 0 22px; color:#68766c; font-size:12px; line-height:1.6; }.cart-continue { display:block; margin-top:17px; color:#506358; font-size:12px; text-align:center; }.cart-empty { max-width:570px; padding:48px; background:#eff3ed; text-align:center; }.cart-empty h2 { margin:8px 0 12px; font-size:38px; }.cart-empty>p:not(.kicker) { margin:0 0 25px; color:#66756b; line-height:1.65; }
@media(max-width:780px) { .add-to-cart-controls { grid-template-columns:72px 1fr; }.add-to-cart-controls .button { grid-column:1/-1; }.cart-page { padding:45px 20px 64px; }.cart-heading { display:block; margin-bottom:28px; }.cart-heading>p { margin-top:15px; }.cart-layout { grid-template-columns:1fr; gap:25px; }.cart-line { grid-template-columns:76px minmax(0,1fr); gap:12px; position:relative; }.cart-line>img,.cart-placeholder { width:76px; height:76px; }.cart-line-info h2 { font-size:16px; }.cart-line-update { grid-column:2; grid-template-columns:1fr auto; align-items:end; }.cart-line-update label,.cart-line-update small { grid-column:1/-1; }.cart-line-update .form-control { width:75px; }.cart-line-total { position:absolute; right:0; top:20px; font-size:12px; }.cart-empty { padding:37px 22px; }.cart-empty h2 { font-size:32px; } }

/* Product variants, sale prices and the delivery-address experience. */
.product-gallery { min-width:0; }.product-thumbnails { display:flex; flex-wrap:wrap; gap:9px; margin-top:10px; }.product-thumb { width:70px; aspect-ratio:1; padding:0; overflow:hidden; border:1px solid var(--line); background:#eef2ec; cursor:pointer; }.product-thumb.is-active { border:2px solid #506b57; }.product-thumb img { width:100%; height:100%; object-fit:cover; }.detail-prices { display:flex; align-items:baseline; gap:10px; margin:17px 0; }.regular-price,.card-prices del { color:#89958c; font-size:14px; text-decoration:line-through; text-decoration-thickness:1px; }.regular-price.is-hidden { display:none; }.card-prices { display:flex; align-items:baseline; flex-wrap:wrap; gap:7px; margin:8px 0 0; }.card-prices .price { margin:0; color:#a35e46; font-weight:700; }.variant-count { margin:6px 0 0; color:#7b887e; font-size:11px; }
.cart-grand-total { color:#23382d; font-size:15px!important; font-weight:700; }.delivery-methods { display:grid; gap:9px; margin:14px 0 4px; padding:0; border:0; }.delivery-methods legend { margin:0 0 4px; color:#516258; font-size:12px; font-weight:700; }.shipping-option { display:flex; align-items:flex-start; gap:10px; padding:13px; border:1px solid var(--line); background:#fbfcf9; cursor:pointer; }.shipping-option:has(input:checked) { border-color:#9dad9d; background:#eff5ee; }.shipping-option input { margin:3px 0 0; accent-color:#284435; }.shipping-option span { display:grid; gap:4px; }.shipping-option strong { font-size:13px; }.shipping-option small { color:#68776d; font-size:11px; line-height:1.5; }.express-map-panel { margin-top:4px; padding:14px; background:#eff4ed; }.express-map-panel strong { font-size:13px; }.express-map-panel p { margin:5px 0 12px; color:#68776d; font-size:11px; line-height:1.5; }.express-map-panel #delivery-map { height:260px; border:1px solid #d7e1d5; }.map-location-status { margin-bottom:0!important; color:#405d4b!important; font-weight:700; }.order-form .form-row:has(#province-select),.order-form .form-row:has(#ward-select) { min-width:0; }
.express-map-panel #delivery-map.map-fallback { display:grid; place-items:center; padding:20px; background:linear-gradient(135deg,#dae6d9,#f8faf5); text-align:center; }.map-fallback div { max-width:290px; }.map-fallback p { margin:8px 0 14px!important; }.map-fallback button,.map-fallback a { display:inline-block; margin:4px; padding:9px 11px; border:0; background:#284435; color:#fff; font:700 11px "DM Sans",sans-serif; cursor:pointer; }.map-fallback a { background:#fffefa; color:#385344; border:1px solid #b9cab7; }
.map-reference-row { display:grid; gap:6px; margin:13px 0; }.map-reference-row label { color:#516258; font-size:12px; font-weight:700; }
@media(min-width:781px) { .checkout-layout .order-form { grid-template-columns:repeat(2,minmax(0,1fr)); }.checkout-layout .order-form>h2,.checkout-layout .order-form>.form-row-full,.checkout-layout .order-form>.delivery-methods,.checkout-layout .order-form>.express-map-panel,.checkout-layout .order-form>.cod-callout,.checkout-layout .order-form>.button,.checkout-layout .order-form>.form-fineprint { grid-column:1/-1; } }
@media(max-width:780px) { .product-thumbnails { gap:7px; }.product-thumb { width:56px; }.detail-prices { margin:13px 0; }.express-map-panel #delivery-map { height:220px; }.shipping-option { padding:12px; } }

/* Lightweight 3D product experience. */
.experience-3d { min-height:calc(100vh - 124px); overflow:hidden; position:relative; display:grid; grid-template-columns:minmax(0,.92fr) minmax(430px,1.08fr); align-items:center; gap:34px; padding:clamp(54px,8vw,112px) max(7vw,28px); background:radial-gradient(circle at 69% 50%,#e7efe5 0, #dbe5d8 25%,transparent 49%),linear-gradient(130deg,#f8f7f0 0%,#f1f2e9 46%,#dde7dc 100%); }.experience-copy { position:relative; z-index:2; max-width:590px; }.experience-copy h1 { margin:0; font:500 clamp(52px,6.4vw,94px)/.98 "Playfair Display",Georgia,serif; letter-spacing:-.06em; }.experience-copy h1 em { color:#9b8762; font-weight:500; }.experience-copy>p:not(.kicker) { max-width:440px; color:#617166; font-size:16px; line-height:1.75; margin:25px 0 29px; }.experience-actions { display:flex; align-items:center; flex-wrap:wrap; gap:20px; }.experience-text-link { border-bottom:1px solid #66796b; padding-bottom:3px; color:#506257; font-size:12px; font-weight:700; }.three-d-stage { --rotate-x:0deg; --rotate-y:0deg; position:relative; min-height:590px; display:grid; place-items:center; perspective:1200px; isolation:isolate; }.three-d-product { position:relative; z-index:3; width:min(100%,590px); filter:drop-shadow(0 38px 25px rgb(48 70 53 / .22)); transform:rotateX(var(--rotate-x)) rotateY(var(--rotate-y)); transform-style:preserve-3d; transition:transform .35s ease; animation:three-d-float 6s ease-in-out infinite; }.three-d-glow { position:absolute; z-index:0; width:72%; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle,#fffef8 0%,rgb(255 255 252 / .58) 31%,transparent 68%); filter:blur(3px); }.three-d-orbit { position:absolute; z-index:1; width:78%; aspect-ratio:1; border:1px solid rgb(112 138 114 / .28); border-radius:50%; transform:rotateX(68deg) rotateZ(-20deg); }.orbit-two { width:60%; transform:rotateX(70deg) rotateZ(50deg); border-color:rgb(173 148 102 / .35); }.three-d-note { position:absolute; bottom:20px; z-index:4; color:#738278; font-size:11px; letter-spacing:.1em; text-transform:uppercase; }.experience-steps { max-width:1184px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:0; padding:42px 0 65px; }.experience-steps article { padding:15px 34px; border-right:1px solid var(--line); }.experience-steps article:last-child { border:0; }.experience-steps strong { color:#ab956b; font:500 30px "Playfair Display",serif; }.experience-steps h2 { margin:8px 0 5px; font:500 25px "Playfair Display",serif; }.experience-steps p { margin:0; color:#6b7a70; font-size:13px; line-height:1.5; } @keyframes three-d-float { 0%,100% { translate:0 0; } 50% { translate:0 -14px; } }
@media(max-width:780px) { .experience-3d { min-height:0; grid-template-columns:1fr; gap:0; padding:54px 20px 24px; }.experience-copy { text-align:center; margin:auto; }.experience-copy h1 { font-size:clamp(48px,13vw,64px); }.experience-copy>p:not(.kicker) { margin:18px auto 23px; font-size:14px; }.experience-actions { justify-content:center; gap:17px; }.three-d-stage { min-height:390px; margin-top:17px; }.three-d-product { width:min(100%,390px); }.three-d-note { bottom:2px; font-size:9px; }.experience-steps { margin:0 20px; grid-template-columns:1fr; padding:22px 0 38px; }.experience-steps article { display:grid; grid-template-columns:42px 1fr; column-gap:13px; padding:17px 0; border-right:0; border-bottom:1px solid var(--line); }.experience-steps article:last-child { border-bottom:0; }.experience-steps strong { grid-row:span 2; }.experience-steps h2 { margin:0; font-size:22px; }.experience-steps p { align-self:start; } }
/* Rich article formatting created from the trusted Blog API's Markdown. */
.article-content h2,.article-content h3 { color:var(--ink); font-family:"Playfair Display",Georgia,serif; line-height:1.2; margin:42px 0 16px; }
.article-content img { display:block; width:100%; max-width:760px; height:auto; border-radius:2px; margin:30px auto; }
.article-content a { color:var(--ink); text-decoration:underline; text-underline-offset:3px; }

/* Editorial proof-point panel: rich but restrained movement for the home page. */
.credibility-section { position:relative; overflow:hidden; max-width:none; margin:0; padding:82px max(28px,calc((100vw - 1184px) / 2)) 58px; border:0; color:#f8f5ed; background:linear-gradient(118deg,#18392e 0%,#254a3c 46%,#607866 100%); }
.credibility-section:before,.credibility-section:after { content:""; position:absolute; pointer-events:none; border-radius:50%; }
.credibility-section:before { width:520px; height:520px; top:-310px; right:3%; border:1px solid rgb(225 205 156 / .38); box-shadow:0 0 0 42px rgb(225 205 156 / .06),0 0 0 94px rgb(225 205 156 / .04); animation:credibility-orbit 18s linear infinite; }
.credibility-section:after { width:310px; height:310px; left:-150px; bottom:-185px; background:radial-gradient(circle,rgb(209 185 128 / .26),transparent 67%); filter:blur(3px); }
.credibility-heading,.credibility-stats { position:relative; z-index:1; max-width:1184px; margin-left:auto; margin-right:auto; }
.credibility-heading { display:flex; align-items:end; justify-content:space-between; gap:38px; margin-bottom:42px; }
.credibility-heading .kicker { margin:0 0 15px; color:#d9bd83; }
.credibility-heading h2 { margin:0; color:#fffdf7; font:500 clamp(33px,4vw,54px)/1.02 "Playfair Display",Georgia,serif; letter-spacing:-.05em; }
.credibility-heading h2 em { color:#dcc08a; font-weight:500; }
.credibility-heading>p { max-width:318px; margin:0 0 3px; color:#e1e9df; font-size:13px; line-height:1.68; }
.credibility-stats { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); border-top:1px solid rgb(245 239 220 / .32); }
.credibility-stats article { position:relative; min-height:142px; overflow:hidden; padding:28px 20px 18px; border-right:1px solid rgb(245 239 220 / .23); border-bottom:1px solid rgb(245 239 220 / .23); background:linear-gradient(145deg,rgb(255 255 255 / .055),rgb(255 255 255 / 0)); isolation:isolate; opacity:0; transform:translateY(24px); transition:opacity .58s ease calc(var(--stat-index) * 90ms),transform .58s cubic-bezier(.2,.8,.25,1) calc(var(--stat-index) * 90ms),background .25s ease; }
.credibility-stats article:first-child { padding-left:20px; }.credibility-stats article:last-child { border-right:0; }
.credibility-stats.is-visible article { opacity:1; transform:translateY(0); }
.credibility-stats article:hover { background:rgb(255 255 255 / .10); }
.credibility-stats strong { position:relative; z-index:1; display:block; color:#fffdf7; font:500 clamp(28px,2.8vw,42px)/1 "Playfair Display",Georgia,serif; letter-spacing:-.055em; white-space:nowrap; }
.credibility-stats .stat-label { position:relative; z-index:1; display:block; margin-top:10px; color:#dfe7df; font-size:11px; line-height:1.48; }
.stat-orbit { position:absolute; z-index:0; width:92px; height:92px; top:-48px; right:-43px; border:1px solid rgb(230 205 151 / .36); border-radius:50%; transition:transform .45s ease; }
.stat-orbit:after { content:""; position:absolute; width:6px; height:6px; left:13px; bottom:7px; border-radius:50%; background:#e1c588; box-shadow:0 0 14px #e1c588; }
.credibility-stats article:hover .stat-orbit { transform:scale(1.25) rotate(38deg); }
@keyframes credibility-orbit { to { transform:rotate(360deg); } }
@media(max-width:780px) {
  .credibility-section { margin:0; padding:52px 20px 32px; }.credibility-heading { display:block; margin-bottom:28px; }.credibility-heading h2 { font-size:clamp(32px,9vw,43px); }.credibility-heading>p { margin-top:16px; font-size:12px; }.credibility-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }.credibility-stats article { min-height:112px; padding:20px 13px 14px; }.credibility-stats article:nth-child(2n) { border-right:0; }.credibility-stats article:last-child { border-right:0; }.credibility-stats strong { font-size:30px; }.credibility-stats .stat-label { margin-top:7px; font-size:10px; }.credibility-section:before { width:330px; height:330px; top:-235px; right:-130px; }
}
@media(prefers-reduced-motion:reduce) { .credibility-section:before { animation:none; }.credibility-stats article { transition:none; opacity:1; transform:none; }.stat-orbit { transition:none; } }
.article-content blockquote { border-left:2px solid #b99c68; margin:28px 0; padding:4px 0 4px 20px; color:#697a70; font-style:italic; }
