@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,600;0,700;1,600;1,700&display=swap');

:root{--ink:#201714;--cream:#fff9f0;--paper:#f6eadc;--accent:#c96e45;--muted:#806f64;--line:rgba(32,23,20,.13)}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'DM Sans',Arial,sans-serif;background:var(--cream);color:var(--ink);overflow-x:hidden}
button,a{font:inherit}.announcement{height:30px;background:var(--ink);color:#fff8ed;display:flex;justify-content:center;align-items:center;gap:12px;font-size:10px;letter-spacing:1.6px;font-weight:700}
.site-header{height:82px;padding:0 6%;display:flex;align-items:center;border-bottom:1px solid var(--line);background:rgba(255,249,240,.92);backdrop-filter:blur(16px);position:sticky;top:0;z-index:30}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-weight:800;font-size:20px;letter-spacing:-.7px;margin-right:auto}.brand>span:last-child>span{font-weight:400}.brand-mark{width:34px;height:34px;border:1.5px solid var(--ink);border-radius:50%;display:grid;place-items:center;font-family:'Playfair Display',serif;font-style:italic}
nav{display:flex;gap:32px;margin-right:42px}nav a{text-decoration:none;color:var(--ink);font-size:13px;font-weight:600}
.header-cart{border:1px solid var(--ink);background:transparent;border-radius:999px;padding:9px 12px 9px 15px;display:flex;gap:9px;align-items:center;cursor:pointer}.header-cart b{width:22px;height:22px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-size:11px}
.hero{min-height:690px;padding:70px 9%;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;position:relative;overflow:hidden;background:linear-gradient(135deg,#fffaf3 0%,#f8eadb 100%)}.hero-copy{position:relative;z-index:3;max-width:680px}.eyebrow{font-size:10px;letter-spacing:3px;font-weight:800;margin-bottom:22px;color:var(--muted)}
.hero h1{font-size:clamp(58px,7.2vw,108px);line-height:.89;letter-spacing:-5px;margin-bottom:30px}.hero h1 i,h2 i{font-family:'Playfair Display',serif;font-weight:600;letter-spacing:-3px}
.hero-lede{font-size:17px;line-height:1.7;color:#66574f;max-width:550px;margin-bottom:32px}.hero-actions{display:flex;align-items:center;gap:25px}.dark-button{border:0;background:var(--ink);color:white;padding:16px 21px;border-radius:999px;font-weight:700;cursor:pointer;transition:.25s}.dark-button span,.light-button span{margin-left:25px}.dark-button:hover,.light-button:hover{transform:translateY(-3px)}
.text-link{color:var(--ink);font-size:13px;font-weight:700;text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:4px}.text-link span{margin-left:10px}
.hero-visual{height:540px;position:relative;display:grid;place-items:center}.blob{position:absolute;width:430px;height:430px;border-radius:47% 53% 58% 42%;background:#d98b68;transform:rotate(17deg);opacity:.9}.hero-card{position:absolute;width:320px;height:420px;border-radius:180px 180px 22px 22px;overflow:hidden;box-shadow:0 28px 60px rgba(45,25,15,.2)}.hero-card-back{background:#ead0b8;transform:rotate(9deg) translate(38px,4px)}.hero-card-main{transform:rotate(-5deg);border:9px solid var(--cream)}.hero-card-main img{width:100%;height:100%;object-fit:cover}.hero-tag{position:absolute;left:18px;bottom:18px;background:var(--cream);padding:12px 14px;font-size:9px;font-weight:800;letter-spacing:2px}.floating-pill{position:absolute;right:0;top:65px;background:var(--ink);color:#fff;border-radius:100px;padding:20px 14px;text-align:center;font-size:9px;letter-spacing:2px;line-height:1.7;box-shadow:0 20px 40px rgba(0,0,0,.18)}.scribble{position:absolute;left:4px;bottom:55px;font-family:'Playfair Display',serif;font-style:italic;font-weight:700;font-size:29px;line-height:.9;transform:rotate(-8deg)}
.marquee{height:48px;background:var(--accent);color:#fff;overflow:hidden;display:flex;align-items:center;white-space:nowrap;font-size:12px;letter-spacing:2.5px;font-weight:800}.marquee div{animation:marquee 22s linear infinite}@keyframes marquee{to{transform:translateX(-50%)}}
.shop{padding:115px 7%}.shop-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:55px;gap:40px}.shop h2,.story h2,.cta h2{font-size:clamp(50px,6vw,84px);line-height:.92;letter-spacing:-4px}.shop-side{max-width:280px;color:var(--muted);font-size:13px;line-height:1.6}.filter-button{margin-top:18px;border:0;border-bottom:1px solid var(--ink);background:none;padding:0 0 5px;cursor:pointer;font-weight:700}
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:42px 22px}.product-card{min-width:0}.product-photo{height:390px;border-radius:22px;overflow:hidden;background:#eadfd2;position:relative}.product-photo img{width:100%;height:100%;object-fit:cover;transition:.5s}.product-card:hover .product-photo img{transform:scale(1.06)}.product-number{position:absolute;top:14px;left:15px;background:rgba(255,249,240,.88);backdrop-filter:blur(8px);padding:7px 9px;border-radius:99px;font-size:10px;font-weight:800}.quick-add{position:absolute;right:15px;bottom:15px;width:49px;height:49px;border:0;border-radius:50%;background:var(--ink);color:white;font-size:28px;cursor:pointer;box-shadow:0 10px 25px rgba(0,0,0,.2);transition:.25s}.quick-add:hover{transform:rotate(90deg)}.product-details{padding:17px 4px}.product-meta{display:flex;justify-content:space-between;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin-bottom:9px}.product-details h3{font-size:23px;line-height:1.05;text-transform:capitalize;margin-bottom:8px}.product-details p{font-size:13px;color:var(--muted);line-height:1.5;margin-bottom:16px}.add-wide{border:0;border-bottom:1px solid var(--ink);background:none;padding:0 0 5px;font-size:12px;font-weight:800;cursor:pointer}.add-wide span{margin-left:18px}
.story{padding:110px 9%;background:var(--paper);display:grid;grid-template-columns:.9fr 1.1fr;gap:100px;align-items:center}.story-image{height:570px;border-radius:230px 230px 20px 20px;overflow:hidden;transform:rotate(-3deg)}.story-image img{width:100%;height:100%;object-fit:cover}.story-copy>p:not(.eyebrow){font-size:18px;line-height:1.8;color:#66574f;max-width:540px;margin:30px 0}.story-points{border-top:1px solid var(--line)}.story-points div{display:flex;gap:25px;padding:18px 0;border-bottom:1px solid var(--line);font-size:14px}.story-points b{font-size:10px;color:var(--accent)}
.cta{padding:105px 9%;background:var(--ink);color:#fff8ed;display:flex;align-items:end;justify-content:space-between;gap:30px}.cta .eyebrow{color:#bdaea4}.light-button{border:1px solid #fff8ed;background:#fff8ed;color:var(--ink);padding:16px 21px;border-radius:999px;font-weight:800;cursor:pointer;transition:.25s}
footer{padding:65px 7% 25px;background:#17110f;color:#fff8ed}.footer-top{display:flex;justify-content:space-between;gap:40px;padding-bottom:60px}.footer-brand{color:#fff8ed}.footer-brand .brand-mark{border-color:#fff8ed}.footer-top p{color:#b9aaa1;font-size:13px;margin-top:18px}.footer-links{display:flex;gap:28px;align-items:start}.footer-links a{color:#fff8ed;text-decoration:none;font-size:13px}.footer-bottom{border-top:1px solid rgba(255,255,255,.15);padding-top:20px;display:flex;justify-content:space-between;color:#8f8179;font-size:10px;letter-spacing:.5px}
.cart-overlay{position:fixed;inset:0;background:rgba(20,12,8,.52);z-index:100;opacity:0;pointer-events:none;transition:.3s}.cart-overlay.open{opacity:1;pointer-events:auto}.cart-panel{position:absolute;right:0;top:0;height:100%;width:min(480px,100%);background:var(--cream);padding:30px;display:flex;flex-direction:column;transform:translateX(100%);transition:.35s}.cart-overlay.open .cart-panel{transform:translateX(0)}.cart-top{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:18px}.cart-top h2{font-family:'Playfair Display',serif;font-size:39px}.x{border:0;background:none;font-size:38px;cursor:pointer}.cart-items{flex:1;overflow:auto}.cart-item{display:grid;grid-template-columns:64px 1fr auto;gap:13px;padding:17px 0;border-bottom:1px solid var(--line);align-items:center}.cart-item img{width:64px;height:64px;object-fit:cover;border-radius:12px}.cart-item h4{font-size:14px;text-transform:capitalize}.cart-item p{font-size:11px;color:var(--muted);margin-top:5px}.qty{display:flex;align-items:center;gap:8px;margin-top:7px}.qty button{width:23px;height:23px;border:0;background:#eadfd2;border-radius:6px;cursor:pointer}.empty{text-align:center;padding:60px 10px;color:var(--muted);line-height:1.7}.cart-bottom{border-top:1px solid var(--line);padding-top:20px}.total{display:flex;justify-content:space-between;font-size:20px;margin-bottom:16px}.checkout{width:100%}.tiny{text-align:center;color:var(--muted);font-size:10px;margin-top:11px}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,30px);background:var(--ink);color:#fff;padding:12px 18px;border-radius:999px;font-size:12px;opacity:0;pointer-events:none;transition:.3s;z-index:150}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:900px){nav{display:none}.hero{grid-template-columns:1fr;padding:65px 7%}.hero-visual{height:470px}.product-grid{grid-template-columns:repeat(2,1fr)}.story{grid-template-columns:1fr;gap:55px}.story-image{height:480px;max-width:430px}.cta{align-items:start;flex-direction:column}.footer-top{flex-direction:column}.footer-links{flex-wrap:wrap}}
@media(max-width:600px){.announcement{font-size:8px}.site-header{height:70px;padding:0 5%}.brand{font-size:17px}.brand-mark{width:29px;height:29px}.header-cart span{display:none}.hero{min-height:auto;padding:60px 6% 30px}.hero h1{font-size:62px;letter-spacing:-3px}.hero-actions{align-items:start;flex-direction:column}.hero-visual{height:420px}.blob{width:320px;height:320px}.hero-card{width:245px;height:330px}.floating-pill{right:0;top:35px}.scribble{left:0;bottom:35px;font-size:23px}.shop{padding:80px 5%}.shop-heading{align-items:start;flex-direction:column}.product-grid{grid-template-columns:1fr;gap:45px}.product-photo{height:380px}.story{padding:80px 6%}.story-image{height:430px}.cta{padding:80px 6%}.footer-links{gap:18px}.footer-bottom{flex-direction:column;gap:8px}}
