:root{--green:#123c2f;--ivory:#f6f2ea;--ink:#16130f;--gold:#b08d57;--red:#9b1c1c;--line:#d9d2c3;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Jost',system-ui,sans-serif}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);font-weight:300;background:var(--ivory);color:var(--ink);line-height:1.6}
a{color:inherit;text-decoration:none}
button,select,input{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.announce{background:var(--green);color:var(--ivory);text-align:center;font-size:.8rem;padding:.5rem}
.nav{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:1rem 2rem;background:var(--ivory)}
.logo{font-family:var(--serif);font-size:1.9rem;font-weight:500;letter-spacing:.04em}
.links{display:flex;gap:1.8rem;font-size:.9rem}
.links a:hover{color:var(--gold)}
.actions{display:flex;gap:1.2rem;justify-content:flex-end}
.icon-btn{background:none;border:0;cursor:pointer;font-size:.9rem}
.icon-btn span{display:inline-grid;place-items:center;min-width:1.3rem;height:1.3rem;margin-left:.2rem;background:var(--green);color:var(--ivory);border-radius:50%;font-size:.7rem}
.menu-btn{display:none;justify-self:start}
.stripe{height:6px;background:linear-gradient(var(--green) 0 33%,var(--red) 33% 66%,var(--green) 66%)}
.hero{display:grid;place-items:center;text-align:center;min-height:84vh;color:var(--ivory);background:linear-gradient(rgba(10,30,22,.5),rgba(10,30,22,.5)),url(images/hero.jpg) center/cover no-repeat,var(--green)}
.hero-text{display:flex;flex-direction:column;align-items:center;gap:1.4rem;padding:4rem 5vw}
.season{color:#e3c88f}.hero .btn{align-self:center;background:var(--ivory);color:var(--green);border-color:var(--ivory)}.hero .btn:hover{background:transparent;color:var(--ivory)}.photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.item .sw{position:relative;overflow:hidden}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.05}
h1{font-size:clamp(3rem,7vw,6rem);max-width:12ch}
h2{font-size:clamp(2rem,4vw,3rem)}
.lede{max-width:38ch;font-size:1.1rem}
.btn{display:inline-block;align-self:flex-start;background:var(--green);color:var(--ivory);border:1px solid var(--green);padding:.9rem 2rem;cursor:pointer;transition:background .25s,color .25s}
.btn:hover{background:transparent;color:var(--green)}
.btn.full{width:100%;text-align:center}
.hero-art{background:var(--green);display:grid;place-items:center;position:relative;overflow:hidden;animation:rise 1.2s ease both}
.hero-art span{font-family:var(--serif);font-size:min(36vw,28rem);color:transparent;-webkit-text-stroke:1px var(--gold);line-height:1}
.hero-art::after{content:"";position:absolute;inset:0 auto 0 50%;width:14px;background:linear-gradient(90deg,var(--red) 0 100%);transform:translateX(-50%);opacity:.9}
@keyframes rise{from{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0)}}
.section{padding:5rem 5vw}
.head{display:flex;flex-wrap:wrap;gap:1.2rem 2rem;align-items:center;justify-content:space-between;margin-bottom:2.5rem}
.filters{display:flex;flex-wrap:wrap;gap:.5rem}
.chip{background:none;border:1px solid var(--line);padding:.4rem 1rem;cursor:pointer;border-radius:99px;transition:.2s}
.chip:hover{border-color:var(--green)}
.chip.active{background:var(--green);color:var(--ivory);border-color:var(--green)}
.sort select{background:none;border:0;border-bottom:1px solid var(--ink);padding:.2rem}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:2rem 1.5rem}
.card{display:flex;flex-direction:column;gap:.6rem}
.thumb{position:relative;aspect-ratio:3/4;display:grid;place-items:center;overflow:hidden;background:#e8e1d2}
.garment{width:78%;height:auto;filter:drop-shadow(0 10px 12px rgba(0,0,0,.18));transition:transform .5s}
.card:hover .garment{width:78%;height:auto;filter:drop-shadow(0 10px 12px rgba(0,0,0,.18));transition:transform .5s}
.heart{position:absolute;top:.7rem;right:.7rem;width:2.4rem;height:2.4rem;border-radius:50%;border:0;background:rgba(246,242,234,.9);cursor:pointer;font-size:1.2rem;color:var(--ink)}
.heart.on{color:var(--red)}
.add{position:absolute;left:0;right:0;bottom:0;border:0;background:var(--ivory);padding:.8rem;cursor:pointer;transform:translateY(100%);transition:transform .3s}
.card:hover .add,.add:focus-visible{transform:none}
@media(hover:none){.add{transform:none}}
.card h3{font-size:1.5rem}
.meta{display:flex;justify-content:space-between;font-size:.9rem}
.empty{text-align:center;padding:3rem}
.band{background:var(--green);color:var(--ivory);padding:6rem 5vw;display:grid;gap:1.5rem;justify-items:center;text-align:center}
.band p{max-width:60ch}
.facts{display:flex;flex-wrap:wrap;gap:3rem;justify-content:center;margin-top:1.5rem}
.facts dt{font-family:var(--serif);font-size:2.6rem;color:var(--gold)}
.posts{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:2rem;margin-top:2rem}
.posts article{border-top:3px solid var(--red);padding-top:1rem}
.posts h3{font-size:1.6rem;margin-bottom:.4rem}
.news{text-align:center;padding:5rem 5vw;display:grid;gap:1rem;justify-items:center;background:#ebe5d8}
.news form{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center}
.news input{padding:.9rem 1rem;border:1px solid var(--ink);background:transparent;min-width:280px}
.msg{min-height:1.5rem}
.msg.err{color:var(--red)}
footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;padding:2rem 5vw;font-size:.85rem;border-top:1px solid var(--line)}
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);opacity:0;pointer-events:none;transition:.3s;z-index:30}
.overlay.show{opacity:1;pointer-events:auto}
.drawer{position:fixed;top:0;right:0;height:100%;width:min(420px,100%);background:var(--ivory);z-index:40;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .35s}
.drawer.open{transform:none}
.drawer-head{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--line)}
.drawer-body{flex:1;overflow:auto;padding:1rem 1.5rem}
.drawer-foot{padding:1.5rem;border-top:1px solid var(--line);display:grid;gap:.8rem}
.row{display:flex;justify-content:space-between}
.small{font-size:.8rem}
.item{display:grid;grid-template-columns:64px 1fr auto;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--line);align-items:center}
.item .sw{width:64px;height:80px;background:#e8e1d2;display:grid;place-items:center}.item .sw .garment{width:90%;filter:none}
.qty{display:inline-flex;align-items:center;gap:.6rem;border:1px solid var(--line);margin-top:.3rem}
.qty button{background:none;border:0;width:1.8rem;height:1.8rem;cursor:pointer}
.rm{background:none;border:0;text-decoration:underline;cursor:pointer;font-size:.8rem}
.toast{position:fixed;left:50%;bottom:1.5rem;transform:translate(-50%,200%);background:var(--ink);color:var(--ivory);padding:.8rem 1.4rem;z-index:50;transition:transform .35s}
.toast.show{transform:translate(-50%,0)}
@media(max-width:820px){
  .nav{grid-template-columns:auto 1fr auto;padding:1rem}
  .menu-btn{display:block}
  .logo{justify-self:center;font-size:1.5rem}
  .links{position:absolute;top:100%;left:0;right:0;flex-direction:column;background:var(--ivory);padding:1rem;gap:1rem;border-bottom:1px solid var(--line);display:none}
  .links.open{display:flex}
  .hero{grid-template-columns:1fr}
  .hero-art{min-height:40vh;order:-1}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}html{scroll-behavior:auto}}
