 :root{
   --bg: #FCFAF6;
   --surface: #FFFFFF;
   --ink: #14110E;
   --ink-2: #5A554D;
   --ink-3: #8A8275;
   --line: #E8E2D6;
   --line-2: #D8D1C2;
   --gold: #B8956A;
   --gold-deep: #95724A;
   --shadow: 0 1px 2px rgba(20,17,14,.04), 0 8px 24px rgba(20,17,14,.06);
   --radius: 2px;
   --max: 1320px;
   --gutter: clamp(20px, 4vw, 48px);
   --serif: 'Cormorant Garamond', 'Times New Roman', Georgia, serif;
   --sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
 }
 *,*::before,*::after{box-sizing:border-box}
 html,body{margin:0;padding:0}
 html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
 body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}
 img,svg{max-width:100%;display:block}
 a{color:inherit;text-decoration:none}
 button{font:inherit;cursor:pointer;border:0;background:transparent;color:inherit}
 h1,h2,h3,h4{font-family:var(--serif);font-weight:500;letter-spacing:0;line-height:1.1;margin:0}
 h1{font-size:clamp(40px,6vw,84px)}
 h2{font-size:clamp(28px,3.5vw,48px)}
 h3{font-size:clamp(20px,2vw,26px)}
 p{margin:0 0 1em}
 .skip{position:absolute;left:-9999px}
 .skip:focus{left:1rem;top:1rem;background:#000;color:#fff;padding:.5rem 1rem;z-index:99}
 .site-header{position:sticky;top:0;background:rgba(252,250,246,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);z-index:50}
 .bar{max-width:var(--max);margin:0 auto;padding:18px var(--gutter);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px}
 .logo{font-family:var(--serif);font-weight:700;font-size:22px;letter-spacing:.05em;text-transform:uppercase}
 .bar nav{display:flex;gap:28px;justify-content:center;font-size:13px;letter-spacing:.08em;text-transform:uppercase}
 .bar nav a{position:relative;padding:4px 0}
 .bar nav a:hover{color:var(--gold-deep)}
 .bar nav a[aria-current="page"]{color:var(--gold-deep)}
 .bar nav a[aria-current="page"]::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:var(--gold)}
 .bar-actions{display:flex;align-items:center;gap:16px}
 .lang-toggle{font-size:12px;letter-spacing:.1em;color:var(--ink-2)}
 .lang-toggle:hover{color:var(--ink)}
 .cart-link{position:relative;padding:6px;display:flex;align-items:center}
 .cart-count{position:absolute;top:-4px;right:-6px;background:var(--ink);color:#fff;font-size:10px;border-radius:10px;padding:1px 6px;min-width:18px;text-align:center;line-height:1.4}
 .btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 28px;font-size:13px;letter-spacing:.12em;text-transform:uppercase;border-radius:var(--radius);transition:all .2s;font-family:var(--sans);font-weight:500}
 .btn-primary{background:var(--ink);color:#fff}
 .btn-primary:hover{background:var(--gold-deep)}
 .btn-primary:disabled{opacity:.5;cursor:not-allowed}
 .btn-ghost{border:1px solid var(--ink);color:var(--ink)}
 .btn-ghost:hover{background:var(--ink);color:#fff}
 .eyebrow{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);margin:0 0 16px;font-weight:500}
 .lede{font-size:clamp(16px,1.5vw,18px);color:var(--ink-2);max-width:560px;line-height:1.5}
 .hero{padding:clamp(40px,8vw,120px) var(--gutter) clamp(60px,10vw,140px);max-width:var(--max);margin:0 auto}
 .hero-inner{max-width:760px}
 .hero h1{margin:0 0 24px}
 .hero .lede{margin-bottom:36px}
 .hero-cta{display:flex;flex-wrap:wrap;gap:12px}
 .section{padding:clamp(60px,8vw,120px) var(--gutter);max-width:var(--max);margin:0 auto}
 .section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:48px;flex-wrap:wrap}
 .section-head h2{margin:0}
 .section-head .link{font-size:13px;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:2px}
 .grid{display:grid;gap:32px}
 .grid-4{grid-template-columns:repeat(4,1fr)}
 .grid-3{grid-template-columns:repeat(3,1fr)}
 .grid-2{grid-template-columns:repeat(2,1fr)}
 @media (max-width:980px){.grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}}
 @media (max-width:640px){.grid-4,.grid-3,.grid-2{grid-template-columns:1fr}}
 .card{background:var(--surface);border:1px solid var(--line);overflow:hidden;transition:transform .25s,box-shadow .25s;display:block;color:inherit;position:relative}
 .card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
 .card-media{aspect-ratio:4/5;background:#F0EBE0;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}
 .card-media img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
 .card:hover .card-media img{transform:scale(1.04)}
 .card-media .placeholder-tag{position:absolute;top:12px;left:12px;background:var(--surface);border:1px solid var(--line);color:var(--ink-2);font-size:10px;letter-spacing:.14em;text-transform:uppercase;padding:4px 8px}
 .card-body{padding:20px 22px}
 .card-cat{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);margin:0 0 6px;font-weight:500}
 .card-title{font-family:var(--serif);font-size:20px;margin:0 0 8px;line-height:1.2}
 .card-price{font-size:14px;color:var(--ink-2);margin:0}
 .split{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(32px,5vw,80px);align-items:center}
 @media (max-width:880px){.split{grid-template-columns:1fr}}
 .split-media{aspect-ratio:4/5;background:#F0EBE0;display:flex;align-items:center;justify-content:center;overflow:hidden}
 .split-media img{width:100%;height:100%;object-fit:cover}
 .banner{background:var(--ink);color:#fff;padding:clamp(48px,7vw,96px) var(--gutter);text-align:center}
 .banner h2{color:#fff;margin-bottom:16px}
 .banner p{color:rgba(255,255,255,.7);max-width:560px;margin:0 auto 32px}
 .banner .btn-ghost{border-color:#fff;color:#fff}
 .banner .btn-ghost:hover{background:#fff;color:var(--ink)}
 .site-footer{background:#0E0C09;color:#fff;padding:clamp(60px,7vw,100px) var(--gutter) 32px}
 .footer-grid{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:48px}
 @media (max-width:880px){.footer-grid{grid-template-columns:1fr 1fr}}
 @media (max-width:520px){.footer-grid{grid-template-columns:1fr}}
 .footer-grid h4{font-family:var(--sans);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.5);margin:0 0 16px;font-weight:500}
 .footer-grid ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px;font-size:14px}
 .footer-grid a:hover{color:var(--gold)}
 .footer-grid .logo{color:#fff;margin-bottom:16px;display:block}
 .footer-tag{color:rgba(255,255,255,.6);font-size:14px;line-height:1.6;max-width:300px}
 .footer-address{color:rgba(255,255,255,.55);font-size:13px;line-height:1.7;margin-top:16px}
 .footer-meta{max-width:var(--max);margin:48px auto 0;padding-top:24px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12px;color:rgba(255,255,255,.5)}
 .form{display:grid;gap:18px;max-width:560px}
 .field{display:flex;flex-direction:column;gap:6px}
 .field label{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);font-weight:500}
 .field input,.field textarea,.field select{padding:14px 16px;border:1px solid var(--line);background:#fff;font:inherit;border-radius:var(--radius);color:var(--ink);transition:border-color .15s}
 .field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--ink)}
 .field textarea{resize:vertical;min-height:140px}
 .form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
 @media (max-width:640px){.form-row{grid-template-columns:1fr}}
 .form-status{margin:0;font-size:14px;color:var(--ink-2);min-height:1.2em}
 .form-status.success{color:#2d6a3f}
 .form-status.error{color:#a13030}
 .product-detail{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(32px,5vw,80px);padding:clamp(32px,5vw,64px) var(--gutter);max-width:var(--max);margin:0 auto}
 @media (max-width:880px){.product-detail{grid-template-columns:1fr}}
 .product-detail .gallery .main{aspect-ratio:4/5;background:#F0EBE0;display:flex;align-items:center;justify-content:center;overflow:hidden}
 .product-detail .gallery .main img{width:100%;height:100%;object-fit:cover}
 .product-detail .gallery .thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:12px}
 .product-detail .gallery .thumbs div{aspect-ratio:1;background:#F0EBE0;overflow:hidden;cursor:pointer;border:1px solid transparent;transition:border-color .15s}
 .product-detail .gallery .thumbs div:hover{border-color:var(--ink-3)}
 .product-detail .gallery .thumbs img{width:100%;height:100%;object-fit:cover}
 .product-info h1{margin:0 0 12px;font-size:clamp(28px,3vw,44px)}
 .product-info .price{font-size:24px;margin-bottom:24px;font-family:var(--serif)}
 .product-info .desc{color:var(--ink-2);margin-bottom:32px}
 .product-info .meta{font-size:13px;color:var(--ink-3);letter-spacing:.04em;margin-bottom:32px;border-top:1px solid var(--line);padding-top:24px;display:flex;flex-direction:column;gap:8px}
 .cart-wrap{display:grid;grid-template-columns:1.6fr 1fr;gap:48px;padding:clamp(32px,5vw,64px) var(--gutter);max-width:var(--max);margin:0 auto}
 @media (max-width:880px){.cart-wrap{grid-template-columns:1fr}}
 .cart-row{display:grid;grid-template-columns:96px 1fr auto;gap:16px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line)}
 .cart-row .thumb{aspect-ratio:1;background:#F0EBE0;display:flex;align-items:center;justify-content:center;overflow:hidden}
 .cart-row .name{font-family:var(--serif);font-size:18px;margin:0 0 4px}
 .cart-row .price{font-size:14px;color:var(--ink-2);margin:0}
 .cart-row .qty{display:flex;align-items:center;gap:8px;font-size:14px;margin-top:12px;color:var(--ink-2)}
 .cart-row .qty button{width:28px;height:28px;border:1px solid var(--line);background:#fff;font-size:14px;line-height:1}
 .cart-row .qty button:hover{border-color:var(--ink)}
 .cart-row .remove{font-size:12px;color:var(--ink-3);background:none;padding:0;text-decoration:underline}
 .cart-row .remove:hover{color:var(--ink)}
 .cart-summary{background:#fff;border:1px solid var(--line);padding:28px;align-self:start;position:sticky;top:88px}
 .cart-summary h3{font-size:18px;margin:0 0 16px;font-family:var(--serif)}
 .cart-summary .line{display:flex;justify-content:space-between;padding:10px 0;font-size:14px}
 .cart-summary .total{border-top:1px solid var(--line);margin-top:12px;padding-top:16px;font-weight:500;font-size:18px}
 .filters{display:flex;flex-wrap:wrap;gap:24px;padding:0 var(--gutter);max-width:var(--max);margin:0 auto 32px;align-items:center}
 .filters .group{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
 .filters .group-label{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);margin-right:8px;align-self:center}
 .filters .chip{padding:8px 16px;border:1px solid var(--line);background:#fff;font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-family:var(--sans);transition:all .15s;cursor:pointer}
 .filters .chip:hover{border-color:var(--ink-2)}
 .filters .chip.active{background:var(--ink);color:#fff;border-color:var(--ink)}
 .process{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
 @media (max-width:880px){.process{grid-template-columns:repeat(2,1fr)}}
 .process .step{padding:28px 24px;border:1px solid var(--line);background:#fff}
 .process .num{font-family:var(--serif);font-size:36px;color:var(--gold);margin-bottom:8px;line-height:1}
 .process h3{margin:0 0 8px;font-size:18px;font-family:var(--serif)}
 .process p{margin:0;color:var(--ink-2);font-size:14px}
 .faq details{border-bottom:1px solid var(--line);padding:18px 0}
 .faq summary{cursor:pointer;font-family:var(--serif);font-size:18px;display:flex;justify-content:space-between;align-items:center;list-style:none}
 .faq summary::-webkit-details-marker{display:none}
 .faq summary::after{content:'+';font-size:24px;color:var(--ink-3);transition:transform .2s;font-family:var(--sans);line-height:1}
 .faq details[open] summary::after{transform:rotate(45deg)}
 .faq p{padding-top:12px;color:var(--ink-2);margin:0}
 .empty{padding:80px 24px;text-align:center;color:var(--ink-2)}
 .empty h2{margin-bottom:12px}
 .notice{padding:14px 16px;background:#F7F2E5;border:1px solid var(--gold);font-size:14px;color:var(--ink-2);margin-bottom:24px}
 .toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;padding:14px 20px;font-size:14px;border-radius:var(--radius);box-shadow:var(--shadow);z-index:100;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}
 .toast.show{opacity:1;transform:translateX(-50%) translateY(-8px)}
 .info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:clamp(32px,4vw,64px) var(--gutter);max-width:var(--max);margin:0 auto}
 @media (max-width:760px){.info-grid{grid-template-columns:1fr}}
 .info-card{padding:28px;border:1px solid var(--line);background:var(--surface)}
 .info-card h3{margin:0 0 12px;font-size:18px;font-family:var(--serif)}
 .info-card p{margin:0 0 8px;font-size:14px;color:var(--ink-2);line-height:1.6}
