:root{--font-display:"Italiana",serif;--font-sans:"DM Sans",sans-serif}
:root{--background:oklch(.105 .005 70);--foreground:oklch(.94 .012 88);--card:oklch(.145 .008 70);--primary:oklch(.73 .095 77);--primary-foreground:oklch(.11 .005 70);--secondary:oklch(.19 .012 70);--muted:oklch(.22 .01 70);--muted-foreground:oklch(.66 .02 75);--accent:oklch(.56 .13 25);--border:oklch(.3 .018 70);--radius:.25rem}
*{box-sizing:border-box;border-color:var(--border)}html{scroll-behavior:smooth;overflow-x:hidden}body{margin:0;overflow-x:hidden;background:var(--background);color:var(--foreground);font-family:var(--font-sans);letter-spacing:0}button,input,select,textarea{font:inherit}button,a{color:inherit}button{cursor:pointer}a{text-decoration:none}small{letter-spacing:.19em;font-size:.68rem}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--font-display);font-weight:400;letter-spacing:0}em{color:var(--primary);font-style:italic}svg{stroke-width:1.4}
.announcement{height:30px;display:grid;place-items:center;background:var(--primary);color:var(--primary-foreground);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase}.site-header{height:76px;position:sticky;top:0;z-index:40;display:grid;grid-template-columns:auto 1fr auto;align-items:center;padding:0 4vw;background:color-mix(in oklab,var(--background) 92%,transparent);backdrop-filter:blur(18px);border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:.85rem}.brand span,.footer-brand span{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--primary);color:var(--primary);font-family:var(--font-display);font-size:.9rem}.brand b{font-family:var(--font-display);font-weight:400;letter-spacing:.18em;font-size:1.1rem}.nav{justify-self:center;display:flex;gap:2.1vw}.nav a{font-size:.7rem;text-transform:uppercase;letter-spacing:.13em;color:var(--muted-foreground);padding:30px 0;position:relative}.nav a:after{content:"";position:absolute;bottom:20px;left:0;width:0;height:1px;background:var(--primary);transition:.3s}.nav a:hover,.nav a.active{color:var(--foreground)}.nav a.active:after{width:100%}.header-actions{display:flex;align-items:center;gap:1rem}.header-actions a,.header-actions button,.icon-button{border:0;background:none;padding:.35rem;position:relative}.header-actions svg,.icon-button svg{width:19px}.header-actions i{position:absolute;right:-4px;top:-5px;width:15px;height:15px;border-radius:50%;display:grid;place-items:center;background:var(--primary);color:var(--primary-foreground);font-size:.56rem;font-style:normal}.menu{display:none}
.hero{height:calc(100vh - 106px);min-height:620px;max-height:900px;position:relative;overflow:hidden}.hero>img{width:100%;height:100%;object-fit:cover;object-position:center}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,color-mix(in oklab,var(--background) 95%,transparent) 0%,color-mix(in oklab,var(--background) 56%,transparent) 42%,transparent 70%)}.hero-content{position:absolute;z-index:1;left:7vw;top:50%;transform:translateY(-47%);max-width:650px}.hero-content small,.page-intro small,.statement small,.section-heading small,.craft small,.custom-controls>small,.about-story>small{color:var(--primary)}.hero h1{font-size:clamp(3.8rem,7vw,7.5rem);line-height:.91;margin:1.5rem 0}.hero p{max-width:440px;font-size:1rem;color:var(--muted-foreground);line-height:1.8}.hero-content>div{display:flex;align-items:center;gap:2rem;margin-top:2.4rem}.gold-button{display:inline-flex;align-items:center;justify-content:center;gap:.8rem;border:1px solid var(--primary);background:var(--primary);color:var(--primary-foreground);padding:1rem 1.5rem;text-transform:uppercase;letter-spacing:.12em;font-size:.68rem}.gold-button svg,.text-link svg,.section-heading a svg,.service-grid a svg,.about-story a svg{width:16px}.text-link{display:inline-flex;align-items:center;gap:.65rem;border-bottom:1px solid var(--primary);padding:.5rem 0;text-transform:uppercase;letter-spacing:.13em;font-size:.68rem}.scroll-note{position:absolute;z-index:2;right:3vw;bottom:45px;writing-mode:vertical-rl;font-size:.6rem;letter-spacing:.18em;color:var(--muted-foreground)}
.statement{text-align:center;padding:10rem 5vw;max-width:1100px;margin:auto}.statement h2{font-size:clamp(2.5rem,5vw,5rem);line-height:1.15;margin:1.4rem 0 2rem}.statement p{max-width:640px;margin:auto;color:var(--muted-foreground);line-height:1.8}.featured,.shop-tools{padding:0 5vw 9rem}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:2.2rem}.section-heading h2{font-size:3.2rem;margin:.5rem 0 0}.section-heading a,.service-grid a,.about-story a{display:flex;align-items:center;gap:.5rem;color:var(--primary);font-size:.72rem;text-transform:uppercase;letter-spacing:.12em}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}.product-image{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--card)}.product-image>img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.product-card:hover .product-image>img{transform:scale(1.025)}.wish{position:absolute;top:1rem;right:1rem;width:38px;height:38px;border:1px solid color-mix(in oklab,var(--foreground) 25%,transparent);background:color-mix(in oklab,var(--background) 55%,transparent);display:grid;place-items:center}.wish svg{width:17px}.wish.liked{color:var(--primary);border-color:var(--primary)}.quick-add{position:absolute;bottom:0;left:0;right:0;height:48px;border:0;background:color-mix(in oklab,var(--background) 92%,transparent);text-transform:uppercase;letter-spacing:.12em;font-size:.67rem;display:flex;align-items:center;justify-content:center;gap:.5rem;transform:translateY(100%);transition:.3s}.quick-add svg{width:15px}.product-card:hover .quick-add{transform:none}.product-info{display:flex;justify-content:space-between;align-items:start;padding-top:1.2rem}.product-info small{color:var(--primary)}.product-info h3{font-family:var(--font-display);font-size:1.5rem;font-weight:400;margin:.4rem 0}.product-info p,.rating{font-size:.73rem;color:var(--muted-foreground)}.product-info strong{font-size:.78rem;font-weight:400;white-space:nowrap}.rating{display:flex;align-items:center;gap:.3rem}.rating svg{width:12px;color:var(--primary)}.rating span{opacity:.7}.craft{min-height:650px;padding:7vw;display:flex;align-items:center;background:linear-gradient(90deg,color-mix(in oklab,var(--background) 97%,transparent),color-mix(in oklab,var(--background) 20%,transparent)),url('./assets/case-bordeaux.jpg') center 58%/cover}.craft>div{max-width:520px}.craft h2{font-size:clamp(3rem,5vw,5rem);margin:1rem 0}.craft p{color:var(--muted-foreground);line-height:1.8;margin-bottom:2rem}.values{display:grid;grid-template-columns:repeat(3,1fr);padding:6rem 6vw;gap:5vw;border-bottom:1px solid var(--border)}.values div{text-align:center}.values svg{color:var(--primary);margin-bottom:1rem}.values h3{font-family:var(--font-display);font-weight:400;font-size:1.35rem}.values p{color:var(--muted-foreground);line-height:1.7;font-size:.8rem}
.page-intro{padding:8rem 5vw 5rem;text-align:center;border-bottom:1px solid var(--border)}.page-intro h1{font-size:clamp(3.5rem,7vw,6.5rem);margin:1rem 0}.page-intro p{color:var(--muted-foreground);max-width:620px;margin:auto;line-height:1.8}.shop-tools{padding-top:3rem}.search-box{max-width:600px;margin:0 auto 2rem;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;border-bottom:1px solid var(--border);padding:1rem 0}.search-box svg{width:18px;color:var(--primary)}.search-box input,.search-box button{border:0;background:transparent;color:var(--foreground);outline:none}.filter-row{display:flex;align-items:center;gap:.75rem;overflow:auto;padding-bottom:1rem}.filter-row svg{width:17px}.filter-row span{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;margin-right:.7rem}.filter-row button{border:1px solid var(--border);background:none;padding:.55rem 1rem;font-size:.72rem;white-space:nowrap}.filter-row button.selected{background:var(--foreground);color:var(--background)}.results{display:flex;justify-content:space-between;color:var(--muted-foreground);font-size:.7rem;margin:1.5rem 0}.empty-results{text-align:center;padding:6rem}.collection-list{padding:5vw}.collection-list article{display:grid;grid-template-columns:1fr 1fr;min-height:600px;border-bottom:1px solid var(--border)}.collection-list article:nth-child(even) img{order:2}.collection-list img{width:100%;height:100%;max-height:700px;object-fit:cover}.collection-list article>div{padding:8vw;display:flex;flex-direction:column;justify-content:center;align-items:start}.collection-list small{color:var(--primary)}.collection-list h2{font-size:clamp(3rem,5vw,5rem);margin:1rem 0}.collection-list p{color:var(--muted-foreground);line-height:1.8}.collection-list a{display:flex;align-items:center;gap:.5rem;border-bottom:1px solid var(--primary);padding-bottom:.4rem;margin-top:2rem;text-transform:uppercase;letter-spacing:.12em;font-size:.68rem}.collection-list a svg{width:16px}
.custom-page{display:grid;grid-template-columns:1.1fr .9fr;min-height:calc(100vh - 106px)}.custom-preview{position:sticky;top:76px;height:calc(100vh - 76px);overflow:hidden}.custom-preview img{width:100%;height:100%;object-fit:cover}.custom-preview span{position:absolute;left:50%;top:67%;transform:translate(-50%,-50%);font-family:var(--font-display);color:var(--primary);font-size:1.2rem}.custom-controls{padding:7vw;align-self:center}.custom-controls h1{font-size:clamp(3.5rem,6vw,5.5rem);margin:1rem 0}.custom-controls>p{color:var(--muted-foreground);line-height:1.7}.step{padding:1.6rem 0;border-top:1px solid var(--border)}.step label{display:block;margin-bottom:1rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.14em}.step select,.step>input,.contact-layout input,.contact-layout select,.contact-layout textarea{width:100%;background:var(--card);border:1px solid var(--border);color:var(--foreground);padding:.9rem;outline:none}.step>small{display:block;color:var(--muted-foreground);margin-top:.7rem;letter-spacing:.05em}.swatches{display:flex;gap:.7rem;flex-wrap:wrap}.swatches button{display:flex;align-items:center;gap:.6rem;border:1px solid var(--border);background:none;padding:.6rem .8rem;font-size:.72rem}.swatches button.active{border-color:var(--primary)}.swatches i{width:18px;height:18px;border-radius:50%;background:var(--background);border:1px solid var(--border)}.swatches .bordeaux i{background:var(--accent)}.swatches .ivory i{background:var(--foreground)}.swatches svg{width:13px;color:var(--primary)}.custom-total{display:flex;justify-content:space-between;align-items:center;margin:1.5rem 0}.custom-total span,.custom-total strong{display:block;font-size:.7rem}.custom-total strong{color:var(--muted-foreground);margin-top:.3rem;font-weight:400}.custom-total b{font-family:var(--font-display);font-size:1.5rem}.custom-controls>.gold-button{width:100%}.lead-time{text-align:center;font-size:.68rem;margin-top:1rem}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);margin:5vw}.service-grid article{background:var(--background);padding:4vw;min-height:400px;display:flex;flex-direction:column;align-items:start}.service-grid article>svg{color:var(--primary);width:30px;height:30px;margin-bottom:4rem}.service-grid small{color:var(--primary)}.service-grid h2{font-size:2.2rem;margin:1rem 0}.service-grid p{color:var(--muted-foreground);line-height:1.8;flex:1}
.about-hero{position:relative;height:75vh;min-height:600px}.about-hero img{width:100%;height:100%;object-fit:cover}.about-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--background),transparent 75%)}.about-hero>div{position:absolute;z-index:1;left:7vw;top:50%;transform:translateY(-50%)}.about-hero small{color:var(--primary)}.about-hero h1{font-size:clamp(3.4rem,6vw,6.5rem);line-height:1.05;margin-top:1rem}.about-story{display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding:9rem 8vw}.about-story h2{font-size:clamp(2.7rem,4vw,4rem)}.about-story div p{color:var(--muted-foreground);line-height:1.9}.about-story a{margin-top:2rem}.manifesto{text-align:center;padding:10rem 2rem;background:var(--secondary)}.manifesto blockquote{font-family:var(--font-display);font-size:clamp(3rem,6vw,6rem);margin:0 0 2rem}.manifesto span{font-size:.68rem;letter-spacing:.16em;color:var(--primary)}.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;padding:6rem 10vw}.contact-details>div{display:grid;grid-template-columns:auto 1fr;gap:.3rem 1rem;margin-bottom:2rem}.contact-details svg{grid-row:1/3;color:var(--primary);width:20px}.contact-details span{font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted-foreground)}.contact-details strong{font-weight:400;line-height:1.6}.contact-details>p{margin-top:4rem;color:var(--muted-foreground);font-size:.75rem;line-height:1.8}.contact-layout form>div{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.contact-layout label{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:1.2rem}.contact-layout input,.contact-layout select,.contact-layout textarea{display:block;margin-top:.6rem;resize:none}.sent{text-align:center;padding:5rem 2rem;border:1px solid var(--border)}.sent svg{color:var(--primary);width:40px;height:40px}.sent h2{font-size:3rem;margin:1.5rem 0}.sent p{color:var(--muted-foreground)}
.drawer-wrap{position:fixed;inset:0;z-index:100;pointer-events:none}.drawer-wrap.visible{pointer-events:auto}.drawer-backdrop{position:absolute;inset:0;border:0;background:color-mix(in oklab,var(--background) 70%,transparent);opacity:0;transition:.3s}.visible .drawer-backdrop{opacity:1}.drawer{position:absolute;right:0;top:0;width:min(440px,100%);height:100%;background:var(--card);padding:2rem;transform:translateX(100%);transition:.35s;display:flex;flex-direction:column}.visible .drawer{transform:none}.drawer-head{display:flex;justify-content:space-between;align-items:start;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.drawer-head small{color:var(--primary)}.drawer-head h2{font-size:2rem;margin:.4rem 0}.empty{margin:auto;text-align:center;color:var(--muted-foreground)}.empty svg{width:36px;height:36px;color:var(--primary)}.empty p{color:var(--foreground);font-family:var(--font-display);font-size:1.5rem;margin:1rem 0}.empty span{font-size:.78rem}.cart-items{overflow:auto;flex:1}.cart-item{display:grid;grid-template-columns:80px 1fr;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--border)}.cart-item img{width:80px;height:100px;object-fit:cover}.cart-item h4{font-family:var(--font-display);font-weight:400;margin:.5rem 0}.cart-item p{font-size:.7rem;color:var(--muted-foreground)}.cart-item strong{font-size:.8rem}.cart-total{border-top:1px solid var(--border);padding-top:1.5rem;display:grid;grid-template-columns:1fr auto;gap:1rem}.cart-total .gold-button,.cart-total small{grid-column:1/3}.cart-total small{text-align:center;color:var(--muted-foreground)}
footer{display:grid;grid-template-columns:1.6fr .7fr 1fr 1.3fr;gap:5vw;padding:6rem 5vw 2rem;position:relative}footer h4{font-size:.68rem;text-transform:uppercase;letter-spacing:.16em;color:var(--primary);margin-bottom:1.5rem}footer>div:not(.footer-brand){display:flex;flex-direction:column;gap:.7rem}footer a,footer p{font-size:.75rem;color:var(--muted-foreground);margin:0}.footer-brand h2{font-size:2.3rem;margin:1.5rem 0}.newsletter p{line-height:1.6}.newsletter label{display:grid;grid-template-columns:1fr auto;border-bottom:1px solid var(--border);margin-top:.7rem;padding-bottom:.6rem}.newsletter input{background:none;border:0;outline:none;color:var(--foreground)}.newsletter svg{width:17px}.copyright{grid-column:1/-1;border-top:1px solid var(--border);padding-top:1.5rem;margin-top:3rem;color:var(--muted-foreground);letter-spacing:.06em}.not-found{height:70vh;display:grid;place-content:center;text-align:center}.not-found h1{font-size:6rem;margin:0}.not-found a,.not-found button{color:var(--primary)}
@media(max-width:900px){.site-header{grid-template-columns:minmax(0,1fr) auto}.brand b{font-size:.95rem}.nav{display:none;position:absolute;left:0;right:0;top:76px;background:var(--background);padding:2rem;flex-direction:column;border-bottom:1px solid var(--border)}.nav.open{display:flex;max-width:100vw;overflow:hidden}.nav a{padding:.7rem 0;font-size:.85rem}.nav a:after{display:none}.menu{display:block!important}.hero{min-height:600px}.hero>img{object-position:65% center}.hero:after{background:linear-gradient(90deg,color-mix(in oklab,var(--background) 92%,transparent),color-mix(in oklab,var(--background) 35%,transparent))}.hero-content{left:6vw;right:6vw}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.values,.service-grid{grid-template-columns:1fr}.service-grid article{min-height:320px}.service-grid article>svg{margin-bottom:2rem}.collection-list article{min-height:auto}.custom-page{grid-template-columns:1fr}.custom-preview{position:relative;top:0;height:65vh}.about-story{grid-template-columns:1fr}.contact-layout{grid-template-columns:1fr}.footer{grid-template-columns:1fr 1fr}.custom-controls{padding:5rem 8vw}}
@media(max-width:600px){.announcement{font-size:.55rem}.site-header{height:64px;padding:0 1rem}.nav{top:64px}.header-actions{gap:.35rem}.hero{height:calc(100svh - 94px);min-height:550px}.hero h1{font-size:3.35rem}.hero-content>div{align-items:flex-start;flex-direction:column;gap:.7rem;margin-top:1.5rem}.hero p{font-size:.86rem}.scroll-note{display:none}.statement{padding:6rem 1.3rem}.featured,.shop-tools{padding-left:1rem;padding-right:1rem}.product-grid{grid-template-columns:1fr;gap:3rem}.quick-add{transform:none}.section-heading h2{font-size:2.5rem}.section-heading{align-items:start}.craft{min-height:600px;padding:2rem;background-position:62% center}.values{padding:5rem 2rem}.page-intro{padding:5rem 1.2rem 3rem}.page-intro h1{font-size:3.3rem}.collection-list{padding:1rem}.collection-list article{grid-template-columns:1fr}.collection-list article:nth-child(even) img{order:0}.collection-list article>div{padding:3rem 1rem 4rem}.collection-list img{aspect-ratio:4/5}.custom-preview{height:55vh}.custom-controls{padding:4rem 1.2rem}.service-grid{margin:1rem}.service-grid article{padding:2rem}.about-hero{height:72vh}.about-hero h1{font-size:3rem}.about-story{padding:5rem 1.2rem}.manifesto{padding:7rem 1rem}.contact-layout{padding:4rem 1.2rem}.contact-layout form>div{grid-template-columns:1fr}.footer{display:grid;grid-template-columns:1fr;padding:4rem 1.5rem 2rem}.copyright{grid-column:1}.product-info h3{font-size:1.35rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
