:root{--ink:#17221b;--cream:#f8f5ee;--green:#264c36;--sage:#dce4d5;--gold:#c79653;--line:#dedbd2}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif}.nav{height:82px;padding:0 6vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(248,245,238,.94);backdrop-filter:blur(12px);z-index:10}.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}.brand span{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--green);border-radius:50%;font-family:'Playfair Display';font-size:17px}.brand strong{font-family:'Playfair Display';font-size:19px}.nav nav{display:flex;gap:34px}.nav nav a{color:var(--ink);text-decoration:none;font-size:14px}.cart-button,.primary,.checkout{border:0;background:var(--green);color:white;padding:13px 20px;border-radius:2px;font-weight:600;cursor:pointer}.cart-button b{background:#fff;color:var(--green);border-radius:50%;padding:2px 7px;margin-left:8px}.hero{min-height:620px;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:60px 9vw;background:linear-gradient(115deg,#f8f5ee 58%,#dfe5d8 58%)}.hero-copy{max-width:620px}.eyebrow{font-size:12px;letter-spacing:2.5px;font-weight:700;color:#75816f;margin:0 0 18px}.hero h1{font:700 clamp(52px,6.2vw,92px)/.96 'Playfair Display';margin:0 0 28px;letter-spacing:-3px}.hero h1 em{color:var(--gold);font-weight:600}.hero-copy>p:not(.eyebrow){font-size:18px;line-height:1.7;max-width:520px;color:#5f685f}.primary{display:inline-flex;gap:34px;text-decoration:none;margin-top:18px;padding:17px 23px}.hero-art{position:relative;display:flex;justify-content:center}.arch{height:500px;width:min(390px,80%);border-radius:200px 200px 12px 12px;overflow:hidden;background:#becab8;box-shadow:25px 25px 0 #cbd5c4}.arch img{width:100%;height:100%;object-fit:cover}.stamp{position:absolute;bottom:15px;left:8%;display:grid;place-items:center;width:100px;height:100px;border-radius:50%;background:var(--gold);color:white;text-align:center;font-size:11px;letter-spacing:2px;transform:rotate(-8deg)}.benefits{display:grid;grid-template-columns:repeat(3,1fr);padding:25px 9vw;background:var(--green);color:white}.benefits>div{display:flex;align-items:center;justify-content:center;gap:17px;border-right:1px solid #ffffff30}.benefits>div:last-child{border:0}.benefits b{font-size:27px;color:#d9b57c}.benefits span{display:flex;flex-direction:column}.benefits small{color:#bdc9c0;margin-top:3px}.collection{padding:95px 7vw}.section-head{display:flex;align-items:end;justify-content:space-between}.section-head h2,.story h2,.cart h2,.modal h2{font:700 clamp(34px,4vw,54px) 'Playfair Display';margin:0}.search{border-bottom:1px solid #888;padding:10px 4px;color:#777}.search input{border:0;outline:0;background:transparent;width:220px;font:inherit}.filters{display:flex;gap:9px;overflow:auto;margin:35px 0}.filters button{white-space:nowrap;border:1px solid var(--line);border-radius:30px;padding:10px 17px;background:transparent;cursor:pointer}.filters button.active{background:var(--ink);color:white}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}.product{min-width:0}.product-image{height:330px;background:#e8e3d9;position:relative;overflow:hidden}.product-image img,.placeholder{width:100%;height:100%;object-fit:cover;transition:.5s}.placeholder{display:grid;place-items:center;font:700 60px 'Playfair Display';color:#b9b3a8}.product:hover img{transform:scale(1.04)}.product-image span{position:absolute;left:13px;top:13px;padding:7px 10px;background:#f9f7f1dd;font-size:10px;text-transform:uppercase;letter-spacing:1px}.product-info{display:flex;justify-content:space-between;gap:10px;padding:17px 2px 12px}.product-info h3{margin:0 0 5px;font:600 20px 'Playfair Display'}.product-info p{margin:0;color:#7a7e79;font-size:13px}.product-info>strong{color:var(--green)}.add{width:100%;border:1px solid var(--green);background:transparent;padding:12px;display:flex;justify-content:space-between;cursor:pointer;color:var(--green);font-weight:600}.add:hover{background:var(--green);color:#fff}.empty{display:none;text-align:center;padding:50px}.story{text-align:center;padding:100px 20px;background:#e5e8de}.story>p:last-child{max-width:570px;margin:20px auto;color:#637064;line-height:1.8}.cart{position:fixed;z-index:30;top:0;right:0;width:min(440px,100%);height:100%;background:#faf8f3;transform:translateX(105%);transition:.35s;display:flex;flex-direction:column;padding:28px}.cart.open{transform:none}.overlay{position:fixed;z-index:20;inset:0;background:#1119;opacity:0;visibility:hidden;transition:.3s}.overlay.open{opacity:1;visibility:visible}.cart-head{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:22px}.cart-head h2{font-size:34px}.cart-head button,.modal-close{border:0;background:none;font-size:32px;cursor:pointer}.cart-items{flex:1;overflow:auto}.cart-empty{text-align:center;color:#777;margin-top:90px}.cart-row{display:grid;grid-template-columns:1fr auto;gap:12px;padding:20px 0;border-bottom:1px solid var(--line)}.cart-row h4{margin:0 0 5px}.cart-row p{margin:0;color:#777;font-size:13px}.qty{display:flex;align-items:center;gap:10px;margin-top:11px}.qty button{width:28px;height:28px;border:1px solid var(--line);background:white;cursor:pointer}.remove{border:0;background:none;color:#9b5949;cursor:pointer}.cart-bottom{border-top:1px solid var(--line);padding-top:20px}.total{display:flex;justify-content:space-between;font-size:20px}.cart-bottom>p{font-size:12px;color:#777}.checkout{width:100%;padding:16px}.modal{position:fixed;z-index:40;left:50%;top:50%;width:min(570px,calc(100% - 28px));max-height:90vh;overflow:auto;background:#faf8f3;padding:38px;transform:translate(-50%,-45%) scale(.96);opacity:0;visibility:hidden;transition:.25s;box-shadow:0 30px 80px #0005}.modal.open{opacity:1;visibility:visible;transform:translate(-50%,-50%) scale(1)}.modal-close{position:absolute;right:22px;top:14px}.modal h2{font-size:40px}.modal>p:not(.eyebrow){color:#6f766f;line-height:1.6}form label{display:flex;flex-direction:column;gap:7px;margin:17px 0;font-size:13px;font-weight:600}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}input,textarea{font:inherit;padding:13px;border:1px solid #cbc8bf;background:#fff}textarea{height:80px;resize:vertical}.form-message{text-align:center;font-size:14px}.form-message.success{color:#287343}.form-message.error{color:#a23d30}footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:38px 7vw;background:var(--ink);color:#d6dbd5;font-size:13px}footer .brand span{border-color:#d6dbd5}@media(max-width:900px){.nav nav{display:none}.hero{grid-template-columns:1fr;gap:55px;padding:70px 7vw;background:linear-gradient(150deg,#f8f5ee 65%,#dfe5d8 65%)}.hero-art{order:-1}.arch{height:360px;width:280px}.hero h1{letter-spacing:-2px}.grid{grid-template-columns:repeat(2,1fr)}.benefits{grid-template-columns:1fr;gap:22px}.benefits>div{border:0;justify-content:start}.section-head{align-items:start;flex-direction:column;gap:25px}footer{flex-direction:column;text-align:center}}@media(max-width:520px){.nav{height:70px;padding:0 18px}.brand strong{max-width:140px;font-size:15px}.hero{padding:45px 22px}.hero h1{font-size:49px}.grid{grid-template-columns:1fr}.product-image{height:390px}.collection{padding:70px 20px}.form-row{grid-template-columns:1fr}.modal{padding:30px 22px}.search,.search input{width:100%}}
.payment-options{border:0;padding:0;margin:16px 0}.payment-options legend{font-weight:700;margin-bottom:8px}.payment-options label{display:flex!important;align-items:flex-start;gap:10px;border:1px solid #d8d8d0;padding:12px;margin:8px 0;cursor:pointer}.payment-options input{width:auto!important;margin-top:4px}.payment-options span{display:flex;flex-direction:column}.payment-options small{color:#68716a;margin-top:2px}
/* Home hero carousel */
.hero-carousel .hero-slides{position:relative;aspect-ratio:2/1}
.hero-carousel .hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;visibility:hidden;transition:opacity .7s ease,visibility .7s ease}
.hero-carousel .hero-slide.active{opacity:1;visibility:visible}
.carousel-control{position:absolute;z-index:4;top:50%;width:46px;height:46px;transform:translateY(-50%);border:1px solid #ffffff80;border-radius:50%;background:#102b1db3;color:#fff;font-size:30px;line-height:1;cursor:pointer}
.carousel-control:hover,.carousel-control:focus-visible{background:#075426;outline:2px solid #fff;outline-offset:2px}
.carousel-prev{left:20px}.carousel-next{right:20px}
.carousel-dots{position:absolute;z-index:4;left:50%;bottom:22px;display:flex;gap:9px;transform:translateX(-50%)}
.carousel-dot{width:11px;height:11px;padding:0;border:2px solid #fff;border-radius:50%;background:transparent;cursor:pointer;box-shadow:0 1px 5px #0008}
.carousel-dot.active{background:#ffca16;border-color:#ffca16}
@media(max-width:700px){.hero-carousel .hero-slides{height:480px;aspect-ratio:auto}.hero-carousel .hero-slide{height:100%;aspect-ratio:auto;object-position:center}.hero-carousel:after{z-index:1;pointer-events:none}.carousel-control{width:38px;height:38px;font-size:25px}.carousel-prev{left:10px}.carousel-next{right:10px}.carousel-dots{left:auto;right:16px;bottom:37px;transform:none}}
@media(prefers-reduced-motion:reduce){.hero-carousel .hero-slide{transition:none}}
