:root {
  --cocoa:#1A1A1A; --caramel:#F5C800; --blush:#FFFBE6; --cream:#FFFFFF;
  --off-white:#FFFDF0; --mid:#555555; --white:#FFFFFF; --border:rgba(200,160,0,.18);
  --shadow:0 6px 32px rgba(200,160,0,.14); --r:12px;
  --ff-display:'Playfair Display', Georgia, serif; --ff-body:'DM Sans', system-ui, sans-serif;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;font-size:16px;}
body{font-family:var(--ff-body);background:var(--cream);color:var(--cocoa);line-height:1.65;overflow-x:hidden;}
img{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
button{cursor:pointer;font-family:var(--ff-body);}
.announce-bar{background:var(--cocoa);color:var(--blush);text-align:center;font-size:.82rem;font-weight:700;padding:9px 16px;letter-spacing:.04em;}
nav{position:sticky;top:0;z-index:1000;background:rgba(255,254,245,.97);backdrop-filter:blur(14px);border-bottom:1px solid var(--border);padding:0 24px;display:flex;align-items:center;justify-content:space-between;height:64px;box-shadow:0 2px 16px rgba(180,130,0,.08);}
.nav-logo{font-family:var(--ff-display);font-size:1.32rem;font-weight:700;color:var(--cocoa);}
.nav-logo span{color:var(--caramel);}
.nav-links{display:flex;gap:2px;align-items:center;}
.nav-links a{padding:8px 10px;border-radius:24px;font-size:.82rem;font-weight:600;color:var(--mid);transition:background .2s,color .2s;}
.nav-links a:hover,.nav-links a.active{background:var(--cocoa);color:var(--white);}
.nav-cart{display:flex;align-items:center;gap:6px;background:var(--caramel);color:var(--white);border:none;padding:9px 16px;border-radius:24px;font-size:.84rem;font-weight:800;}
.cart-count{background:var(--white);color:var(--caramel);border-radius:50%;width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:800;}
.hamburger-btn{display:none;background:none;border:none;padding:4px;flex-direction:column;gap:5px;}
.hamburger-btn span{width:24px;height:2px;background:var(--cocoa);display:block;border-radius:2px;}
.mobile-nav-menu{display:none;}
.hero{min-height:370px;background:linear-gradient(120deg,rgba(26,26,26,.84),rgba(26,26,26,.34)),var(--hero-img) center/cover;display:flex;align-items:center;padding:76px 40px;}
.hero-inner{max-width:1160px;margin:0 auto;width:100%;}
.hero-tag{display:inline-block;background:rgba(245,200,0,.24);border:1px solid rgba(245,200,0,.5);color:var(--blush);font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;padding:6px 16px;border-radius:24px;margin-bottom:16px;}
.hero h1{font-family:var(--ff-display);color:var(--white);font-size:clamp(2rem,4vw,3.3rem);line-height:1.08;max-width:620px;margin-bottom:14px;}
.hero h1 em{color:var(--caramel);font-style:italic;}
.hero p{color:rgba(255,255,255,.78);font-size:.98rem;line-height:1.7;max-width:560px;}
.shop-section{padding:58px 40px;background:var(--off-white);}
.shop-head{max-width:1160px;margin:0 auto 28px;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;border-bottom:1px solid var(--border);padding-bottom:18px;}
.shop-head h2{font-family:var(--ff-display);font-size:clamp(1.45rem,2.5vw,2rem);}
.shop-head p{color:var(--mid);font-size:.9rem;max-width:480px;text-align:right;}
.products-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;max-width:1160px;margin:0 auto;}
.product-card{background:var(--white);border-radius:var(--r);border:1px solid var(--border);overflow:hidden;transition:transform .2s,box-shadow .2s;}
.product-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);}
.product-img{position:relative;aspect-ratio:1;overflow:hidden;background:var(--cream);}
.product-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.product-card:hover .product-img img{transform:scale(1.06);}
.product-badge{position:absolute;top:10px;left:10px;background:var(--caramel);color:#1A1A1A;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;padding:4px 10px;border-radius:20px;}
.product-info{padding:14px 14px 16px;}
.product-info h3{font-size:.94rem;font-weight:800;line-height:1.35;margin-bottom:6px;}
.product-desc{font-size:.8rem;color:var(--mid);line-height:1.5;min-height:38px;margin-bottom:8px;}
.product-price{font-family:var(--ff-display);font-size:1.06rem;font-weight:800;color:var(--caramel);margin-bottom:12px;}
.product-price .from{font-size:.75rem;font-weight:400;color:var(--mid);}
.add-to-cart{width:100%;padding:10px;border-radius:24px;background:var(--cocoa);color:var(--white);border:none;font-size:.83rem;font-weight:800;}
.add-to-cart:hover{background:var(--caramel);}
.note-band{padding:54px 40px;background:var(--cream);}
.note-card{max-width:1160px;margin:0 auto;background:var(--cocoa);border:2px solid var(--caramel);border-radius:16px;padding:28px 32px;color:rgba(255,255,255,.68);display:flex;justify-content:space-between;align-items:center;gap:20px;}
.note-card h3{font-family:var(--ff-display);font-size:1.45rem;color:var(--caramel);margin-bottom:4px;}
.note-card a{background:var(--caramel);color:#1A1A1A;border-radius:24px;padding:10px 20px;font-weight:800;white-space:nowrap;}
.modal-overlay,.cart-overlay{position:fixed;inset:0;background:rgba(0,0,0,.48);opacity:0;pointer-events:none;transition:opacity .25s;}
.modal-overlay{z-index:3000;display:flex;align-items:center;justify-content:center;padding:20px;}
.modal-overlay.open,.cart-overlay.open{opacity:1;pointer-events:all;}
.modal{background:var(--white);border-radius:16px;width:100%;max-width:420px;padding:32px;box-shadow:0 24px 80px rgba(0,0,0,.2);}
.modal h3{font-family:var(--ff-display);font-size:1.35rem;margin-bottom:6px;}
.modal-sub{color:var(--mid);font-size:.88rem;margin-bottom:22px;}
.option-grid{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:24px;}
.option-card{border:2px solid var(--border);border-radius:10px;padding:13px 14px;cursor:pointer;display:flex;justify-content:space-between;gap:12px;align-items:center;}
.option-card:hover,.option-card.selected{border-color:var(--caramel);background:var(--blush);}
.option-card strong{font-size:.95rem;}
.option-card span{font-family:var(--ff-display);font-weight:800;color:var(--caramel);}
.modal-actions{display:flex;gap:12px;}
.modal-cancel,.modal-add{padding:13px;border-radius:32px;font-weight:800;font-size:.9rem;}
.modal-cancel{flex:1;background:transparent;border:1.5px solid var(--border);color:var(--mid);}
.modal-add{flex:2;background:var(--caramel);color:var(--white);border:none;}
.cart-overlay{z-index:2000;}
.cart-drawer{position:fixed;right:0;top:0;bottom:0;width:390px;max-width:100vw;background:var(--white);z-index:2001;transform:translateX(100%);transition:transform .32s;display:flex;flex-direction:column;}
.cart-drawer.open{transform:translateX(0);}
.cart-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border);}
.cart-header h3{font-family:var(--ff-display);font-size:1.2rem;}
.cart-close{background:none;border:none;font-size:1.4rem;color:var(--mid);}
.cart-items{flex:1;overflow:auto;padding:16px 24px;}
.cart-empty{text-align:center;padding:60px 20px;color:var(--mid);}
.cart-item{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid var(--border);}
.cart-item-img{width:64px;height:64px;border-radius:8px;object-fit:cover;background:var(--off-white);}
.cart-item-info{flex:1;}
.cart-item-info h4{font-size:.88rem;margin-bottom:4px;}
.choice{font-size:.78rem;color:var(--mid);margin-bottom:8px;}
.cart-item-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.qty-btn{width:26px;height:26px;border-radius:50%;border:1.5px solid var(--border);background:transparent;font-weight:800;}
.cart-item-price{font-family:var(--ff-display);font-weight:800;color:var(--caramel);}
.cart-remove{background:none;border:none;color:#aaa;font-size:.75rem;margin-left:auto;}
.cart-footer{padding:20px 24px;border-top:1px solid var(--border);}
.cart-subtotal{display:flex;justify-content:space-between;font-weight:800;margin-bottom:16px;}
.cart-subtotal span:last-child{font-family:var(--ff-display);color:var(--caramel);}
.checkout-btn{width:100%;padding:15px;border-radius:32px;background:var(--caramel);color:var(--white);border:none;font-weight:800;}
footer{background:var(--cocoa);padding:42px 40px 24px;color:rgba(255,255,255,.5);}
.footer-inner{max-width:1160px;margin:0 auto;display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;}
.footer-brand{font-family:var(--ff-display);font-size:1.35rem;color:var(--white);font-weight:700;}
.footer-brand span{color:var(--caramel);}
.footer-links{display:flex;gap:16px;flex-wrap:wrap;font-size:.88rem;}
.footer-links a:hover{color:var(--caramel);}
@media(max-width:1050px){.products-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:900px){.products-grid{grid-template-columns:1fr 1fr;}.shop-head{align-items:flex-start;flex-direction:column;}.shop-head p{text-align:left;}.note-card{align-items:flex-start;flex-direction:column;}.nav-links{display:none;}.hamburger-btn{display:flex;}.mobile-nav-menu{position:fixed;top:64px;left:0;right:0;background:var(--white);border-bottom:2px solid var(--caramel);padding:16px;display:none;flex-direction:column;gap:4px;z-index:999;box-shadow:0 8px 32px rgba(0,0,0,.1);}.mobile-nav-menu.open{display:flex;}.mobile-nav-menu a{padding:13px 18px;border-radius:10px;font-weight:700;border-bottom:1px solid var(--border);}}
@media(max-width:600px){nav{height:56px;padding:0 16px;}.mobile-nav-menu{top:56px;}.hero{min-height:310px;padding:58px 20px;}.shop-section,.note-band{padding:42px 18px;}.products-grid{gap:14px;}.product-info{padding:12px;}.product-info h3{font-size:.84rem;}.product-desc{min-height:auto;}.add-to-cart{padding:8px;font-size:.75rem;}.cart-drawer{width:100%;}.modal{padding:22px 18px;}}
@media(max-width:380px){.products-grid{grid-template-columns:1fr;}}
