:root{--ink:#172a32;--deep:#102129;--gold:#c9a247;--soft-gold:#e2c878;--ivory:#f5f1e8;--sand:#e9e1d2;--muted:#70756f;--line:#d8d0c3}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:"DM Sans",sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}.utility-bar{height:30px;padding:0 8.3%;display:flex;justify-content:space-between;align-items:center;background:var(--deep);color:#d7d2c5;font-size:9px;letter-spacing:.13em;text-transform:uppercase}.site-header{height:84px;padding:0 8.3%;display:flex;align-items:center;gap:38px;background:rgba(245,241,232,.94);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10;transition:.35s}.site-header.scrolled{box-shadow:0 8px 25px #12252b12}.brand-lockup{display:flex;align-items:center;gap:20px;min-width:320px}.brand-lockup img{width:122px;height:72px;object-fit:contain;filter:contrast(1.08)}.brand-lockup span{display:flex;flex-direction:column;gap:4px;color:var(--gold);font-size:9px;letter-spacing:.17em}.desktop-nav{display:flex;gap:28px;align-items:center;flex:1}.desktop-nav a,.category-bar a{font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.desktop-nav a:hover,.category-bar a:hover{color:var(--gold)}.header-actions{display:flex;gap:18px;align-items:center}.icon-button{position:relative;border:0;background:none;color:var(--ink);cursor:pointer;padding:5px}.icon-button i{position:absolute;top:-5px;right:-8px;display:none;width:15px;height:15px;border-radius:50%;background:var(--gold);color:white;font-size:9px;font-style:normal;align-items:center;justify-content:center}.icon-button i.visible{display:flex}.search-icon{display:block;width:16px;height:16px;border:1.8px solid currentColor;border-radius:50%;position:relative}.search-icon:after{content:"";position:absolute;width:7px;height:1.8px;background:currentColor;right:-5px;bottom:-2px;transform:rotate(48deg)}.user-icon{display:block;width:15px;height:15px;border:1.6px solid currentColor;border-radius:50% 50% 45% 45%;clip-path:polygon(35% 0,65% 0,100% 38%,100% 100%,0 100%,0 38%);opacity:.9}.heart-icon{font-size:27px;line-height:12px}.bag-icon{display:block;width:15px;height:15px;border:1.6px solid currentColor;border-radius:2px;position:relative}.bag-icon:before{content:"";position:absolute;width:7px;height:5px;border:1.5px solid currentColor;border-bottom:0;border-radius:6px 6px 0 0;left:2.5px;top:-6px}.menu-button{display:none}.category-bar{height:40px;padding:0 8.3%;display:flex;align-items:center;gap:34px;background:#eee8dd;border-bottom:1px solid var(--line)}.category-bar a{font-size:9px;color:#59615e}.category-bar small{margin-left:auto;font-size:10px;color:#9c834a}.hero{height:calc(100vh - 154px);min-height:620px;background:var(--deep);position:relative;overflow:hidden;color:#f7f2e8}.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1s ease}.hero-slide.active{opacity:1}.hero-slide>img{width:100%;height:100%;object-fit:cover;object-position:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,28,36,.94) 0%,rgba(11,28,36,.72) 39%,rgba(11,28,36,.12) 82%),linear-gradient(0deg,#0b1f26a6,#0000 35%)}.hero-copy{position:absolute;top:15%;left:8.3%;max-width:610px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--soft-gold)}.eyebrow.dark{color:#a07b35}.hero h1,h2{font-family:"Playfair Display",serif;font-weight:500;letter-spacing:-.05em}.hero h1{font-size:clamp(56px,6.3vw,104px);line-height:.93;margin:32px 0 28px}.hero-description{max-width:390px;color:#d9d9d0;font-size:14px;line-height:1.8;margin-bottom:34px}.button{display:inline-flex;align-items:center;gap:22px;padding:17px 27px;font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;transition:.3s}.button:hover{transform:translateY(-3px)}.button-gold{background:var(--gold);color:var(--deep)}.button-outline{border:1px solid #c9a247;color:#f6f1e7}.button-outline:hover{background:var(--gold);color:var(--deep)}.hero-controls{position:absolute;bottom:28px;right:8.3%;display:flex;align-items:center;gap:18px;font-size:10px;letter-spacing:.14em;color:#e5d4a3}.hero-arrow{border:0;background:none;color:#eee9df;font-size:21px;cursor:pointer}.hero-dots{display:flex;gap:6px}.dot{width:8px;height:3px;border:0;background:#a9a497;cursor:pointer}.dot.active{width:48px;background:var(--gold)}.trust-strip{padding:34px 8.3%;display:grid;grid-template-columns:repeat(4,1fr);gap:30px;background:#eee8dd;border-bottom:1px solid var(--line)}.trust-strip>div{display:flex;gap:14px}.trust-strip b{color:var(--gold);font:500 16px "Playfair Display"}.trust-strip span{display:flex;flex-direction:column;gap:7px}.trust-strip strong{font-size:11px;letter-spacing:.13em;text-transform:uppercase}.trust-strip small{font-size:11px;color:var(--muted)}.section{padding:120px 8.3%}.intro{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.intro-copy{max-width:500px}.intro h2,.section-heading h2,.feature-copy h2,.newsletter h2{font-size:clamp(48px,5vw,82px);line-height:.97;margin:22px 0 30px}.intro h2 em,.section-heading h2 em,.feature-copy h2 em,.newsletter h2 em{color:#a4803d;font-style:italic}.intro-copy>p:not(.eyebrow){font-size:16px;line-height:1.8;color:#6c716d;max-width:420px}.text-link{display:inline-flex;gap:13px;margin-top:30px;border-bottom:1px solid var(--gold);padding-bottom:9px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.intro-image{height:580px;overflow:hidden}.intro-image img{width:100%;height:100%;object-fit:cover;transition:1s}.intro-image:hover img{transform:scale(1.05)}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:54px}.section-heading h2{margin-bottom:0}.collection-grid{display:grid;grid-template-columns:1.1fr .9fr .9fr;gap:16px}.collection-card{position:relative;height:470px;overflow:hidden;background:var(--deep);color:#fff}.collection-card.tall{height:580px}.collection-card img{width:100%;height:100%;object-fit:cover;transition:.8s}.collection-card:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(0deg,#0e242cdd,#0000)}.collection-card:hover img{transform:scale(1.06)}.collection-card span{position:absolute;left:28px;right:28px;bottom:25px;z-index:1;display:grid;gap:9px}.collection-card small{color:#e3c87b;font-size:10px;letter-spacing:.15em;text-transform:uppercase}.collection-card b{font:500 40px "Playfair Display"}.collection-card i{position:absolute;right:0;bottom:0;color:#ebd285;font-size:22px;font-style:normal}.feature-band{padding:110px 8.3%;display:grid;grid-template-columns:1.2fr .8fr;gap:10%;background:var(--deep);color:#f4f0e6}.feature-image{height:620px;overflow:hidden}.feature-image img{width:100%;height:100%;object-fit:cover;transition:1s}.feature-image:hover img{transform:scale(1.04)}.feature-copy{align-self:center;max-width:430px}.feature-copy h2{font-size:clamp(58px,6vw,95px)}.feature-copy>p:not(.eyebrow){font-size:15px;line-height:1.8;color:#b8c0b9}.feature-copy ul{padding:10px 0 25px;margin:0;list-style:none;border-top:1px solid #52636a}.feature-copy li{padding:14px 0;border-bottom:1px solid #52636a;font-size:12px;letter-spacing:.1em;text-transform:uppercase}.product-tabs{display:flex;gap:21px;align-items:center}.product-tabs button{padding:0 0 8px;border:0;border-bottom:1px solid transparent;background:none;color:#85847a;font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;cursor:pointer}.product-tabs button.active{border-color:var(--gold);color:var(--ink)}.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.product-card{position:relative}.product-image{height:360px;overflow:hidden;background:#e8e1d5;position:relative;margin-bottom:19px}.product-image img{width:100%;height:100%;object-fit:cover;transition:.6s}.product-card:hover .product-image img{transform:scale(1.04)}.product-heart{position:absolute;top:14px;right:14px;width:38px;height:38px;border:0;border-radius:50%;background:#f6f1e6de;font-size:24px;color:var(--ink);cursor:pointer}.product-heart.active{background:var(--gold);color:white}.product-card .eyebrow{font-size:9px}.product-card h3{font:500 22px "Playfair Display";margin:8px 0;color:var(--ink)}.product-card>strong{font-size:13px}.add-button{display:flex;justify-content:space-between;align-items:center;width:100%;border:0;border-bottom:1px solid var(--line);background:none;padding:17px 0 10px;margin-top:15px;color:var(--ink);font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;cursor:pointer}.add-button:hover{color:#a17b32}.add-button span{font-size:22px;font-weight:400}.newsletter{padding:90px 8.3%;display:flex;justify-content:space-between;align-items:end;background:#d2a84e;color:var(--deep)}.newsletter h2{margin:17px 0 0;font-size:clamp(48px,5vw,72px)}.newsletter h2 em{color:#f9efd0}.newsletter form{width:38%;min-width:310px}.newsletter label{display:block;font-size:10px;letter-spacing:.15em;text-transform:uppercase;margin-bottom:10px}.newsletter form>div{display:flex;border-bottom:1px solid var(--deep)}.newsletter input{flex:1;border:0;background:none;outline:0;padding:13px 0;color:var(--deep)}.newsletter button{border:0;background:none;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}.newsletter small{display:block;margin-top:10px}.newsletter .eyebrow{color:var(--deep)}footer{padding:74px 8.3% 28px;background:var(--deep);color:#ece9df}.footer-main{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:10%;padding-bottom:70px}.footer-main img{width:145px;height:90px;object-fit:contain;object-position:left center;filter:brightness(0) invert(1)}.footer-main p:not(.eyebrow),.footer-main span,.footer-main a{display:block;max-width:300px;margin-top:18px;color:#bbc1bc;font-size:13px;line-height:1.8}.footer-main a:hover{color:var(--soft-gold)}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #405159;padding-top:22px;color:#8f9b98;font-size:10px;letter-spacing:.14em;text-transform:uppercase}.mobile-menu{position:fixed;inset:0;background:var(--deep);z-index:30;color:#f4f0e6;padding:30px 28px;transform:translateX(-100%);transition:.5s;display:none}.mobile-menu.open{transform:translateX(0)}.mobile-menu>img{width:145px;height:82px;object-fit:contain;filter:brightness(0) invert(1)}.close-menu{position:absolute;right:24px;top:24px;border:0;background:none;color:white;font-size:32px}.mobile-menu nav{display:grid;gap:20px;margin-top:60px}.mobile-menu nav a{font:500 36px "Playfair Display"}.mobile-menu p{position:absolute;bottom:35px;color:#cbb366;font-size:10px;letter-spacing:.15em;text-transform:uppercase}.toast{position:fixed;right:25px;bottom:25px;padding:15px 20px;background:var(--deep);color:#eee;transform:translateY(100px);opacity:0;transition:.3s;z-index:50;font-size:12px}.toast.show{transform:translateY(0);opacity:1}.reveal{opacity:0;transform:translateY(30px);transition:.8s}.reveal.visible{opacity:1;transform:none}@media(max-width:900px){.utility-bar{padding:0 20px}.utility-bar span:last-child{display:none}.site-header{height:76px;padding:0 20px;justify-content:space-between;gap:0}.menu-button{display:block}.menu-button span{display:block;width:17px;height:1px;background:var(--ink);margin:5px}.brand-lockup{min-width:0}.brand-lockup img{width:112px;height:65px}.brand-lockup span,.desktop-nav,.category-bar{display:none}.header-actions{gap:11px}.header-actions .user-icon{display:none}.hero{height:calc(100svh - 106px);min-height:620px}.hero-copy{left:20px;right:20px;top:17%}.hero h1{font-size:clamp(49px,14vw,72px)}.hero-description{font-size:13px;max-width:310px}.hero-controls{right:20px;bottom:22px}.hero-arrow{display:none}.trust-strip{padding:25px 20px;grid-template-columns:1fr 1fr;gap:22px 13px}.trust-strip strong{font-size:9px}.trust-strip small{font-size:9px}.section{padding:75px 20px}.intro{grid-template-columns:1fr;gap:38px}.intro h2,.section-heading h2{font-size:55px}.intro-image{height:390px}.section-heading{display:block;margin-bottom:32px}.section-heading>.text-link{margin-top:22px}.collection-grid{grid-template-columns:1fr;gap:12px}.collection-card,.collection-card.tall{height:390px}.collection-card b{font-size:34px}.feature-band{padding:75px 20px;grid-template-columns:1fr;gap:45px}.feature-image{height:420px}.feature-copy h2{font-size:60px}.product-tabs{margin-top:26px;overflow:auto;gap:20px}.product-grid{grid-template-columns:1fr 1fr;gap:25px 12px}.product-image{height:240px}.product-card h3{font-size:18px}.add-button{font-size:8px}.newsletter{padding:70px 20px;display:block}.newsletter form{width:100%;min-width:0;margin-top:45px}.footer-main{grid-template-columns:1fr 1fr;gap:45px 25px}.footer-main>div:first-child{grid-column:1/-1}.footer-bottom{display:block;line-height:2}.mobile-menu{display:block}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
/* ---------- Shop, product, cart & checkout pages ---------- */
.page-hero{padding:64px 8.3% 40px;border-bottom:1px solid var(--line)}
.page-hero .eyebrow{margin-bottom:14px}
.page-hero h1{font:500 clamp(38px,4.4vw,58px) "Playfair Display",serif;letter-spacing:-.03em;margin:0 0 12px}
.page-hero p{color:var(--muted);font-size:14px;max-width:520px;margin:0}
.crumb{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.crumb a{color:var(--muted)}
.crumb a:hover{color:var(--gold)}

.shop-layout{display:grid;grid-template-columns:230px 1fr;gap:56px;padding:56px 8.3% 120px}
.filter-panel{align-self:start;position:sticky;top:100px}
.filter-group{padding:22px 0;border-bottom:1px solid var(--line)}
.filter-group:first-child{padding-top:0}
.filter-group h4{margin:0 0 16px;font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--ink)}
.filter-row{display:flex;align-items:center;gap:10px;padding:7px 0;font-size:13px;color:#4c514d;cursor:pointer}
.filter-row input{accent-color:var(--gold);width:14px;height:14px}
.filter-row span{margin-left:auto;color:#9a9d95;font-size:11px}
.price-inputs{display:flex;align-items:center;gap:10px;margin-top:4px}
.price-inputs input{width:100%;border:1px solid var(--line);background:none;padding:9px 10px;font-size:12px}
.clear-filters{background:none;border:0;padding:0;margin-top:18px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);cursor:pointer}

.shop-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;gap:20px}
.result-count{font-size:12px;color:var(--muted)}
.sort-select{border:1px solid var(--line);background:var(--ivory);padding:10px 14px;font-size:12px;letter-spacing:.04em}
.shop-layout .product-grid{grid-template-columns:repeat(3,1fr)}
.empty-state{padding:70px 0;text-align:center;color:var(--muted)}
.empty-state strong{display:block;margin-bottom:8px;font:500 22px "Playfair Display",serif;color:var(--ink)}

/* Product detail */
.product-detail{display:grid;grid-template-columns:1fr 1fr;gap:8%;padding:56px 8.3% 100px;align-items:start}
.product-gallery img{width:100%;height:600px;object-fit:cover;background:#e8e1d5}
.product-info{position:sticky;top:110px}
.product-info h1{font:500 clamp(30px,3.4vw,44px) "Playfair Display",serif;margin:12px 0 14px;letter-spacing:-.02em}
.product-price{font-size:19px;margin:0 0 20px}
.product-tagline{color:#6c716d;font-size:14px;line-height:1.75;margin:0 0 28px;max-width:440px}
.qty-row{display:flex;align-items:center;gap:22px;margin-bottom:22px}
.qty-stepper{display:flex;align-items:center;border:1px solid var(--line)}
.qty-stepper button{width:38px;height:42px;border:0;background:none;font-size:16px;cursor:pointer}
.qty-stepper span{width:36px;text-align:center;font-size:13px}
.product-actions{display:flex;gap:12px;margin-bottom:36px}
.product-actions .button{flex:1;justify-content:center}
.product-actions .icon-button{border:1px solid var(--line);width:52px;height:52px;justify-content:center;display:flex;align-items:center}
.product-meta{border-top:1px solid var(--line);padding-top:26px}
.product-meta dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:10px 18px;font-size:13px}
.product-meta dt{color:var(--muted)}
.product-meta dd{margin:0}
.feature-tick{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:10px}
.feature-tick li{font-size:13px;color:#4c514d;padding-left:20px;position:relative}
.feature-tick li:before{content:"—";position:absolute;left:0;color:var(--gold)}
.related-heading{padding:0 8.3%;margin-bottom:30px}
.related-heading h2{font:500 clamp(30px,3vw,42px) "Playfair Display",serif;margin:10px 0 0}
.related-section{padding-bottom:110px}
.related-section .product-grid{padding:0 8.3%;grid-template-columns:repeat(4,1fr)}

/* Cart */
.cart-layout{display:grid;grid-template-columns:1.6fr 1fr;gap:8%;padding:56px 8.3% 120px;align-items:start}
.cart-row{display:grid;grid-template-columns:110px 1fr auto auto;gap:22px;align-items:center;padding:26px 0;border-bottom:1px solid var(--line)}
.cart-row img{width:110px;height:110px;object-fit:cover;background:#e8e1d5}
.cart-row h3{font:500 18px "Playfair Display",serif;margin:0 0 6px}
.cart-row .eyebrow{margin-bottom:8px}
.cart-item-price{font-size:12px;color:var(--muted)}
.cart-remove{background:none;border:0;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);cursor:pointer;margin-top:10px;padding:0}
.cart-remove:hover{color:#a13b2f}
.cart-line-total{font-size:14px;font-weight:600;text-align:right;min-width:90px}
.cart-summary{border:1px solid var(--line);padding:32px;position:sticky;top:110px}
.cart-summary h3{font:500 22px "Playfair Display",serif;margin:0 0 24px}
.summary-row{display:flex;justify-content:space-between;padding:11px 0;font-size:13px;color:#4c514d;border-bottom:1px solid var(--line)}
.summary-row.total{border-bottom:0;padding-top:18px;font-size:16px;font-weight:600;color:var(--ink)}
.cart-summary .button{width:100%;justify-content:center;margin-top:22px}
.empty-cart{padding:110px 8.3%;text-align:center}
.empty-cart strong{display:block;font:500 30px "Playfair Display",serif;margin-bottom:14px}
.empty-cart p{color:var(--muted);margin-bottom:26px}

/* Checkout */
.checkout-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:8%;padding:56px 8.3% 120px;align-items:start}
.checkout-form{display:grid;gap:20px}
.form-row{display:grid;gap:8px}
.form-row.two{grid-template-columns:1fr 1fr;gap:16px}
.form-row label{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}
.form-row input,.form-row textarea,.form-row select{border:1px solid var(--line);background:none;padding:13px 14px;font-size:14px;width:100%}
.form-row textarea{resize:vertical;min-height:90px}
.payment-options{display:grid;gap:10px}
.payment-option{display:flex;align-items:center;gap:12px;border:1px solid var(--line);padding:14px 16px;font-size:13px;cursor:pointer}
.payment-option input{accent-color:var(--gold)}
.checkout-summary{border:1px solid var(--line);padding:32px;position:sticky;top:110px}
.checkout-summary h3{font:500 20px "Playfair Display",serif;margin:0 0 22px}
.checkout-line{display:flex;justify-content:space-between;gap:14px;font-size:13px;padding:10px 0;border-bottom:1px solid var(--line);color:#4c514d}
.checkout-line b{color:var(--ink);font-weight:500}
.order-note{font-size:11px;color:var(--muted);margin-top:18px;line-height:1.7}

@media(max-width:900px){
  .shop-layout{grid-template-columns:1fr;padding:40px 20px 80px;gap:30px}
  .filter-panel{position:static}
  .shop-layout .product-grid{grid-template-columns:1fr 1fr}
  .page-hero{padding:44px 20px 30px}
  .product-detail{grid-template-columns:1fr;padding:40px 20px 70px;gap:30px}
  .product-gallery img{height:380px}
  .product-info{position:static}
  .related-section .product-grid{grid-template-columns:1fr 1fr;padding:0 20px}
  .related-heading{padding:0 20px}
  .cart-layout{grid-template-columns:1fr;padding:40px 20px 80px;gap:36px}
  .cart-row{grid-template-columns:80px 1fr;grid-template-areas:"img info" "img total";gap:14px}
  .cart-row img{grid-area:img;width:80px;height:80px}
  .cart-row>div:first-of-type{grid-area:info}
  .cart-line-total{grid-area:total;text-align:left}
  .cart-summary{position:static}
  .checkout-layout{grid-template-columns:1fr;padding:40px 20px 80px;gap:36px}
  .checkout-summary{position:static}
  .form-row.two{grid-template-columns:1fr}
}

/* Stock badges */
.stock-badge{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:4px 9px;border-radius:3px;margin-bottom:8px}
.stock-badge.out{background:#f4e3e0;color:#a13b2f}
.stock-badge.low{background:#fbeecb;color:#93590c}
.add-button:disabled,.button:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}
