:root{--ink:#202220;--muted:#747872;--paper:#f7f5f1;--white:#fff;--sage:#cdd7c7;--rose:#dfb0a3;--line:#dcded8;--accent:#244638;--radius:28px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif}button,a{font:inherit}button{color:inherit}.announcement{background:var(--accent);color:#f7fff8;text-align:center;padding:9px 20px;font-size:12px;letter-spacing:.09em;text-transform:uppercase}.site-header{height:92px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(247,245,241,.92);backdrop-filter:blur(16px);z-index:20}.brand{display:flex;align-items:center;gap:11px;color:var(--ink);text-decoration:none;font-family:Manrope,sans-serif;font-weight:700;line-height:1.05}.brand small{font-size:10px;letter-spacing:.13em;text-transform:uppercase;font-weight:500}.brand-mark{width:42px;height:42px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-size:13px;letter-spacing:.05em}.site-header nav{display:flex;gap:34px}.site-header nav a{color:var(--ink);text-decoration:none;font-size:14px;position:relative}.site-header nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:1px;background:var(--ink);transition:.25s}.site-header nav a:hover:after{right:0}.bag-button{border:1px solid var(--ink);background:transparent;border-radius:999px;padding:10px 14px;cursor:pointer}.bag-button span{display:inline-grid;place-items:center;background:var(--ink);color:#fff;width:23px;height:23px;border-radius:50%;margin-left:7px;font-size:11px}.hero{min-height:calc(100vh - 125px);display:grid;grid-template-columns:1fr 1.05fr;align-items:center;padding:5vw;overflow:hidden}.hero-copy{max-width:590px;position:relative;z-index:2}.eyebrow,.section-index{text-transform:uppercase;letter-spacing:.13em;font-size:11px;font-weight:600}.hero h1{font-family:Manrope,sans-serif;font-size:clamp(58px,7vw,108px);line-height:.92;letter-spacing:-.065em;margin:26px 0}.hero h1 em{font-family:Georgia,serif;font-weight:400;color:var(--accent)}.hero-text{font-size:18px;line-height:1.65;color:var(--muted);max-width:480px;margin-bottom:34px}.primary-button{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;background:var(--ink);color:#fff;border:none;border-radius:999px;padding:15px 18px 15px 22px;text-decoration:none;cursor:pointer}.primary-button span{font-size:20px}.hero-visual{height:min(70vw,700px);position:relative;display:grid;place-items:center}.hero-visual:before{content:"";position:absolute;width:75%;height:75%;border-radius:50%;background:#e4d8d0}.hero-visual img{position:relative;width:77%;height:77%;object-fit:contain;mix-blend-mode:multiply;filter:drop-shadow(0 32px 28px rgba(53,45,40,.13));animation:float 6s ease-in-out infinite}.hero-orbit{position:absolute;border:1px solid rgba(36,70,56,.28);border-radius:50%;transform:rotate(-22deg)}.orbit-one{width:97%;height:54%}.orbit-two{width:76%;height:90%;transform:rotate(40deg)}.hero-note{position:absolute;background:rgba(255,255,255,.86);backdrop-filter:blur(10px);border:1px solid #fff;border-radius:999px;padding:10px 15px;font-size:12px}.note-one{left:1%;top:24%}.note-two{right:2%;bottom:22%}@keyframes float{50%{transform:translateY(-14px) rotate(1deg)}}.intro{display:grid;grid-template-columns:1fr 2fr;gap:40px;background:var(--accent);color:#fff;padding:100px 7vw}.intro>div{max-width:780px}.intro h2,.collection h2,.contact h2{font-family:Manrope,sans-serif;font-size:clamp(40px,5.2vw,72px);line-height:1.04;letter-spacing:-.045em;margin:0 0 28px}.intro div p{color:#d2dfd7;font-size:18px;line-height:1.7;max-width:670px}.collection{padding:110px 5vw}.collection-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:50px}.collection-heading h2{margin:12px 0 0}.filters{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.filter{border:1px solid var(--line);background:transparent;border-radius:999px;padding:10px 16px;cursor:pointer}.filter.active,.filter:hover{background:var(--ink);color:#fff;border-color:var(--ink)}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.product-card{background:#eeece7;border-radius:var(--radius);overflow:hidden;position:relative;transition:transform .3s}.product-card:hover{transform:translateY(-6px)}.product-image{aspect-ratio:1;background:#fff;display:grid;place-items:center;overflow:hidden;cursor:pointer}.product-image img{width:88%;height:88%;object-fit:contain;mix-blend-mode:multiply;transition:transform .45s}.product-card:hover img{transform:scale(1.045)}.product-info{padding:22px}.product-meta{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.product-info h3{font:600 18px/1.35 Manrope,sans-serif;margin:0;max-width:78%}.price{font-weight:600;white-space:nowrap}.category{margin:7px 0 20px;color:var(--muted);font-size:13px}.card-action{width:100%;display:flex;align-items:center;justify-content:space-between;border:none;border-top:1px solid #d6d3cd;padding:16px 0 0;background:none;cursor:pointer;font-weight:600}.card-action:hover{color:var(--accent)}.service-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr);padding:0 5vw}.service-strip article{padding:62px 7%;border-right:1px solid var(--line)}.service-strip article:last-child{border:0}.service-strip span{font-size:11px;color:var(--muted)}.service-strip h3{font:600 21px Manrope,sans-serif;margin:20px 0 12px}.service-strip p{color:var(--muted);line-height:1.6;margin:0}.contact{display:grid;grid-template-columns:1.4fr 1fr;gap:50px;padding:120px 7vw;background:#d9a999}.contact h2{font-size:clamp(48px,6vw,88px);max-width:760px;margin-top:20px}.contact-details{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:16px}.contact-details a{font:600 22px Manrope,sans-serif;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--ink)}.contact-details p{line-height:1.7}footer{padding:55px 5vw;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:end;gap:30px}footer>p{margin:0;color:var(--muted);font-size:13px}footer>p:last-child{text-align:right}.product-dialog{border:0;padding:0;border-radius:30px;max-width:900px;width:90%;background:var(--paper);box-shadow:0 25px 100px #0004}.product-dialog::backdrop{background:#15231db5;backdrop-filter:blur(5px)}.dialog-close{position:absolute;z-index:2;right:20px;top:18px;width:38px;height:38px;border:0;border-radius:50%;background:#fff;cursor:pointer;font-size:22px}.dialog-body{display:grid;grid-template-columns:1fr 1fr}.dialog-image{background:#fff;min-height:560px;display:grid;place-items:center}.dialog-image img{width:90%;height:90%;object-fit:contain;mix-blend-mode:multiply}.dialog-copy{padding:70px 45px;display:flex;flex-direction:column;justify-content:center}.dialog-copy h2{font:600 38px/1.1 Manrope,sans-serif;letter-spacing:-.03em;margin:14px 0}.dialog-copy .dialog-price{font-size:22px;font-weight:600}.dialog-copy p{color:var(--muted);line-height:1.65}.dialog-copy ul{padding-left:18px;line-height:1.8}.bag{position:fixed;right:0;top:0;height:100%;width:min(470px,100%);background:var(--paper);z-index:40;transform:translateX(105%);transition:.35s;display:flex;flex-direction:column;padding:30px}.bag.open{transform:translateX(0)}.overlay{position:fixed;inset:0;background:#14231db0;z-index:30;opacity:0;pointer-events:none;transition:.3s}.overlay.open{opacity:1;pointer-events:auto}.bag-header{display:flex;justify-content:space-between}.bag-header h2{font:600 36px Manrope,sans-serif;margin:5px 0 20px}.bag-header button,.bag-remove{border:0;background:none;cursor:pointer;font-size:27px}.bag-items{flex:1;overflow:auto}.bag-empty{color:var(--muted);margin-top:30px}.bag-item{display:grid;grid-template-columns:82px 1fr auto;gap:15px;padding:18px 0;border-bottom:1px solid var(--line);align-items:center}.bag-item img{width:82px;height:82px;object-fit:contain;background:#fff;border-radius:14px}.bag-item h4{font:600 14px/1.4 Manrope,sans-serif;margin:0 0 5px}.bag-item p{margin:0;font-size:13px;color:var(--muted)}.bag-remove{font-size:18px}.bag-footer{border-top:1px solid var(--line);padding-top:22px}.bag-footer>div{display:flex;justify-content:space-between;margin-bottom:20px}.bag-footer strong{font-size:24px}.bag-footer .primary-button{width:100%}.primary-button.disabled{opacity:.4;pointer-events:none}.bag-footer small{display:block;color:var(--muted);line-height:1.4;margin-top:13px}.toast{position:fixed;left:50%;bottom:30px;transform:translate(-50%,40px);background:var(--ink);color:#fff;padding:13px 20px;border-radius:999px;z-index:60;opacity:0;transition:.3s}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:900px){.site-header nav{display:none}.hero{grid-template-columns:1fr;min-height:auto;padding-top:80px}.hero-visual{height:560px}.intro{grid-template-columns:1fr}.collection-heading{align-items:flex-start;flex-direction:column}.filters{justify-content:flex-start}.product-grid{grid-template-columns:repeat(2,1fr)}.contact{grid-template-columns:1fr}.dialog-body{grid-template-columns:1fr}.dialog-image{min-height:370px}.dialog-copy{padding:38px}.service-strip{grid-template-columns:1fr}.service-strip article{border-right:0;border-bottom:1px solid var(--line)}}
@media(max-width:580px){.site-header{height:76px;padding:0 20px}.brand-mark{width:36px;height:36px}.bag-button{font-size:0}.bag-button:before{content:"Bag";font-size:13px}.hero{padding:70px 22px 30px}.hero h1{font-size:58px}.hero-visual{height:430px}.hero-note{font-size:10px}.intro,.collection,.contact{padding:75px 22px}.product-grid{grid-template-columns:1fr}.filters{gap:6px}.filter{padding:8px 12px;font-size:12px}.service-strip{padding:0 22px}.service-strip article{padding:45px 0}.contact-details a{font-size:18px}footer{grid-template-columns:1fr;align-items:start;padding:45px 22px}footer>p:last-child{text-align:left}.product-dialog{width:95%;max-height:90vh}.dialog-image{min-height:300px}.dialog-copy{padding:30px 24px}.dialog-copy h2{font-size:29px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-visual img{animation:none}*{transition:none!important}}
