:root{
  --black:#0a0a0a;
  --ink:#151515;
  --white:#f8f8f4;
  --paper:#efeee8;
  --line:#d9d8d1;
  --muted:#77766f;
  --accent:#b8a57b;
  --max:1320px;
  --radius:2px;
  --shadow:0 20px 60px rgba(0,0,0,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--white);
  color:var(--ink);
  font-family:Arial,Helvetica,sans-serif;
  line-height:1.5;
}
body.lock{overflow:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit}
.announcement{
  background:var(--black);color:#fff;text-align:center;
  padding:9px 15px;font-size:10px;letter-spacing:.18em;font-weight:700;
}
.site-header{
  position:sticky;top:0;z-index:50;background:rgba(248,248,244,.92);
  backdrop-filter:blur(14px);border-bottom:1px solid rgba(0,0,0,.08);
  min-height:78px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;gap:30px;
}
.brand{display:flex;align-items:center;gap:13px;font-size:15px;font-weight:900;letter-spacing:.08em;line-height:.85}
.brand small{font-size:8px;letter-spacing:.25em}
.brand-logo{display:flex;align-items:center;justify-content:center;width:118px;height:34px;overflow:hidden}
.brand-logo img{width:118px;height:auto;object-fit:contain;display:block;filter:invert(1);}
.brand-caption{display:none}
.contact-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
.button-outline{background:transparent;color:#000;border-color:#000}
.button-outline:hover{background:#000;color:#fff}
.desktop-nav{display:flex;gap:30px;font-size:12px;text-transform:uppercase;letter-spacing:.12em}
.desktop-nav a:hover,.footer-links a:hover{text-decoration:underline}
.cart-button{
  border:1px solid var(--black);background:transparent;padding:10px 14px;cursor:pointer;
  text-transform:uppercase;font-size:11px;letter-spacing:.12em;
}
.cart-button span{display:inline-grid;place-items:center;background:var(--black);color:#fff;border-radius:50%;min-width:20px;height:20px;margin-left:5px}
.hero{
  min-height:calc(100vh - 120px);display:grid;grid-template-columns:1fr 1fr;
  background:var(--black);color:#fff;overflow:hidden;
}
.hero-copy{padding:9vw 6vw;display:flex;flex-direction:column;justify-content:center}
.eyebrow{font-size:10px;letter-spacing:.22em;text-transform:uppercase;font-weight:800;margin:0 0 16px}
.hero h1{font-size:clamp(56px,8vw,120px);line-height:.84;margin:0 0 28px;letter-spacing:-.055em}
.hero h1 em,.story h2 em{font-family:Georgia,serif;font-weight:400}
.hero-text{max-width:450px;color:#c8c8c2;font-size:15px;margin-bottom:34px}
.button{
  display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 22px;
  border:1px solid transparent;text-transform:uppercase;letter-spacing:.13em;font-size:10px;font-weight:800;cursor:pointer;
}
.button-light{background:#fff;color:#000}
.button-dark{background:#000;color:#fff}
.button:hover{transform:translateY(-1px)}
.hero-visual{position:relative;display:flex;align-items:center;justify-content:center;background:#151515}
.presentation-gallery{position:relative;overflow:hidden;min-height:620px}
.presentation-track{display:flex;width:100%;height:100%;transition:transform .65s cubic-bezier(.22,.61,.36,1);will-change:transform}
.presentation-slide{flex:0 0 100%;width:100%;height:100%;min-height:620px;background:#151515}
.presentation-slide img{width:100%;height:100%;min-height:620px;object-fit:cover;object-position:center;display:block}
.presentation-slide:nth-child(2) img,.presentation-slide:nth-child(3) img,.presentation-slide:nth-child(4) img{object-fit:contain;padding:10%;box-sizing:border-box}
.presentation-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:42px;height:42px;border:1px solid rgba(255,255,255,.75);border-radius:50%;background:rgba(0,0,0,.45);color:#fff;font-size:30px;line-height:1;display:grid;place-items:center;cursor:pointer;backdrop-filter:blur(4px);transition:.2s}
.presentation-arrow:hover{background:rgba(0,0,0,.7)}
.presentation-prev{left:16px}.presentation-next{right:16px}
.presentation-dots{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);display:flex;gap:7px;z-index:3}
.presentation-dot{width:8px;height:8px;border-radius:50%;border:0;padding:0;background:rgba(255,255,255,.55);cursor:pointer;transition:.25s}
.presentation-dot.active{background:#fff;transform:scale(1.25)}
.hero-stamp{
  position:absolute;right:30px;bottom:30px;border:1px solid #fff;color:#fff;
  width:86px;height:86px;border-radius:50%;display:grid;place-items:center;text-align:center;
  font-size:9px;line-height:1.1;letter-spacing:.14em
}
.hero-stamp strong{font-size:25px}
.marquee{overflow:hidden;background:var(--accent);color:#000;padding:12px 0;white-space:nowrap}
.marquee div{font-size:11px;font-weight:900;letter-spacing:.17em;animation:marquee 22s linear infinite}
@keyframes marquee{to{transform:translateX(-35%)}}
.shop-section{max-width:var(--max);margin:auto;padding:100px 5vw}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:38px}
h2{font-size:clamp(38px,5vw,70px);line-height:.95;letter-spacing:-.04em;margin:0}
.filters{display:flex;flex-wrap:wrap;gap:8px}
.filter{background:transparent;border:1px solid var(--line);padding:9px 14px;cursor:pointer;font-size:10px;text-transform:uppercase;letter-spacing:.12em}
.filter.active,.filter:hover{background:#000;color:#fff;border-color:#000}
.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.product-card{min-width:0}
.product-media{position:relative;background:#e8e7e1;overflow:hidden;aspect-ratio:4/5}
.product-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.product-card:hover .product-media img{transform:scale(1.035)}
.product-badge{
  position:absolute;left:12px;top:12px;background:#fff;color:#000;padding:7px 9px;
  font-size:8px;letter-spacing:.13em;text-transform:uppercase;font-weight:800
}
.product-info{padding:13px 1px 28px}
.product-name{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;margin:0 0 5px}
.product-meta{font-size:11px;color:var(--muted);margin:0 0 10px}
.product-bottom{display:flex;justify-content:space-between;gap:10px;align-items:center}
.product-price{font-size:12px;font-weight:900}
.product-actions{display:flex;gap:7px}
.small-button{border:1px solid #111;background:#111;color:#fff;padding:8px 10px;font-size:9px;text-transform:uppercase;letter-spacing:.1em;cursor:pointer}
.small-button.alt{background:transparent;color:#111}
.collections{display:grid;grid-template-columns:1fr 1fr}
.collection-card{min-height:420px;padding:55px;display:flex;flex-direction:column;justify-content:space-between}
.collection-dark{background:#111;color:#fff}
.collection-light{background:#dddcd4;color:#111}
.collection-card h3{font-size:clamp(45px,6vw,85px);line-height:.82;letter-spacing:-.05em;margin:0}
.collection-card p:not(.eyebrow){max-width:280px;color:inherit;opacity:.75}
.text-link{text-transform:uppercase;font-size:10px;font-weight:800;letter-spacing:.14em}
.story{max-width:var(--max);margin:auto;padding:110px 5vw;display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:center}
.story-image{background:#ddd;aspect-ratio:4/5;overflow:hidden}
.story-image img{width:100%;height:100%;object-fit:cover}

.vision-gallery{position:relative;background:#fff;overflow:hidden}
.vision-track{display:flex;width:100%;height:100%;transition:transform .65s cubic-bezier(.22,.61,.36,1);will-change:transform}
.vision-slide{flex:0 0 100%;width:100%;height:100%}
.vision-gallery img{width:100%;height:100%;min-height:520px;object-fit:cover;display:block}
.vision-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:42px;height:42px;border:1px solid rgba(255,255,255,.75);border-radius:50%;background:rgba(0,0,0,.45);color:#fff;font-size:30px;line-height:1;display:grid;place-items:center;cursor:pointer;backdrop-filter:blur(4px);transition:.2s}
.vision-arrow:hover{background:rgba(0,0,0,.7)}
.vision-prev{left:16px}.vision-next{right:16px}
.vision-dots{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);display:flex;gap:7px;z-index:3}
.vision-dot{width:8px;height:8px;border-radius:50%;border:0;padding:0;background:rgba(255,255,255,.55);cursor:pointer;transition:.25s}
.vision-dot.active{background:#fff;transform:scale(1.25)}

.story-copy p:not(.eyebrow):not(.quote):not(.reference){max-width:540px;color:#595850;margin:25px 0}
.quote{font-family:Georgia,serif;font-size:25px;line-height:1.15;margin:38px 0 10px}
.reference{font-size:10px;text-transform:uppercase;letter-spacing:.16em;font-weight:800}
.size-section{background:#e8e7df;padding:70px 5vw;display:flex;justify-content:space-between;gap:30px;align-items:center}
.size-section p:not(.eyebrow){color:#666;max-width:500px}
.sizes{display:flex;gap:7px;flex-wrap:wrap}
.sizes span{width:52px;height:52px;border:1px solid #bbb9af;display:grid;place-items:center;font-size:11px;font-weight:800}
.contact{text-align:center;padding:120px 5vw;background:#b8a57b}
.contact p:not(.eyebrow){margin:20px auto 30px;max-width:550px}
footer{background:#000;color:#fff;padding:50px 5vw;display:flex;justify-content:space-between;gap:30px;align-items:end}
footer p{color:#999;font-size:11px}
.footer-links{display:flex;gap:20px;text-transform:uppercase;font-size:10px;letter-spacing:.12em}
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:70}
.cart-drawer{
  position:fixed;right:0;top:0;width:min(470px,100%);height:100dvh;background:#fff;z-index:80;
  transform:translateX(100%);transition:transform .3s ease;display:flex;flex-direction:column;
}
.cart-drawer.open{transform:translateX(0)}
.cart-head{padding:22px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}
.cart-head h2{font-size:30px}
.icon-button,.modal-close{border:0;background:transparent;font-size:30px;cursor:pointer;line-height:1}
.cart-items{padding:18px 22px;overflow:auto;flex:1}
.cart-row{display:grid;grid-template-columns:80px 1fr auto;gap:13px;padding:15px 0;border-bottom:1px solid var(--line);align-items:start}
.cart-row img{width:80px;height:100px;object-fit:cover;background:#eee}
.cart-row h4{margin:0 0 5px;font-size:11px;text-transform:uppercase}
.cart-row p{margin:0 0 8px;color:#777;font-size:10px}
.qty{display:flex;align-items:center;gap:7px}
.qty button{width:25px;height:25px;border:1px solid #ccc;background:#fff;cursor:pointer}
.remove{border:0;background:none;color:#777;font-size:10px;text-decoration:underline;cursor:pointer}
.cart-empty{text-align:center;padding:50px 20px;color:#777}
.cart-empty a{text-decoration:underline;font-size:12px}
.cart-footer{border-top:1px solid var(--line);padding:20px 22px}
.cart-total{display:flex;justify-content:space-between;margin-bottom:15px}
.cart-total strong{font-size:18px}
.full{width:100%}
.cart-footer small{display:block;color:#888;margin-top:10px;font-size:9px}
.product-modal{border:0;padding:0;width:min(950px,92vw);max-height:90vh;box-shadow:var(--shadow)}
.product-modal::backdrop{background:rgba(0,0,0,.65)}
.modal-close{position:absolute;right:15px;top:12px;z-index:2}
.modal-product{display:grid;grid-template-columns:1fr 1fr}
.modal-image{background:#eee;min-height:560px}
.modal-image img{width:100%;height:100%;object-fit:cover}
.modal-details{padding:50px 38px;display:flex;flex-direction:column;justify-content:center}
.modal-details h3{font-size:34px;line-height:.95;margin:0 0 10px}
.modal-details .price{font-weight:900;margin:10px 0 25px}
.modal-details label{font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:800}
.modal-details select{margin:8px 0 20px;padding:12px;border:1px solid #ccc;background:#fff}
.modal-details .description{font-size:12px;color:#666;margin-bottom:25px}
.toast{
  position:fixed;left:50%;bottom:25px;transform:translate(-50%,20px);opacity:0;
  background:#000;color:#fff;padding:12px 17px;font-size:10px;letter-spacing:.08em;z-index:100;transition:.25s;
}
.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:1000px){
  .product-grid{grid-template-columns:repeat(3,1fr)}
  .hero{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .desktop-nav{display:none}
  .hero{grid-template-columns:1fr;min-height:auto}
  .hero-copy{padding:70px 7vw}
  .hero-visual{min-height:65vh}
  .presentation-gallery{min-height:65vh}
  .presentation-slide{min-height:65vh}
  .presentation-slide img{min-height:65vh}
  .section-heading{align-items:start;flex-direction:column}
  .product-grid{grid-template-columns:repeat(2,1fr);gap:10px}
  .collections{grid-template-columns:1fr}
  .collection-card{min-height:350px;padding:35px}
  .story{grid-template-columns:1.15fr .85fr;padding:75px 5vw}
  .size-section{flex-direction:column;align-items:flex-start}
  footer{flex-direction:column;align-items:flex-start}
  .modal-product{grid-template-columns:1fr}
  .modal-image{min-height:360px}
  .modal-details{padding:35px 25px}
}
@media(max-width:430px){
  .product-grid{grid-template-columns:1fr 1fr}
  .vision-gallery img{min-height:300px}
  .vision-arrow{width:36px;height:36px;font-size:25px}
  .vision-prev{left:10px}.vision-next{right:10px}
  .product-name{font-size:11px}
  .product-bottom{display:block}
  .product-actions{margin-top:8px}
  .cart-button{padding:8px 10px}
}
