:root{--bg:#f6f2ec;--paper:#fffdf9;--ink:#1d1b19;--muted:#6f6a63;--navy:#1f2a44;--line:#e2dcd2;--serif:"Fraunces",Georgia,serif;--sans:"DM Sans",system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}h1,h2,h3{margin:0;font-weight:400}em{font-style:italic}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.wrap{width:min(100% - 48px,1280px);margin-inline:auto}.kicker{margin:0 0 18px;font-size:.76rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;height:52px;padding:0 30px;border:0;font:600 .86rem var(--sans);letter-spacing:.06em;cursor:pointer}.btn-dark{background:var(--navy);color:#fff}.btn-dark:hover{background:#2c3a5e}.btn-link{height:auto;padding:0;background:none;color:var(--ink);text-decoration:underline;text-underline-offset:5px}.topbar{margin:0;padding:10px;background:var(--navy);color:#fff;text-align:center;font-size:.8rem;letter-spacing:.04em}.header{background:var(--paper);border-bottom:1px solid var(--line)}.header-inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:82px}.nav{display:flex;gap:30px;font-size:.9rem}.logo{font-family:var(--serif);font-size:1.9rem;letter-spacing:.32em;padding-left:.32em}.tools{display:flex;gap:22px;justify-content:flex-end}.cart{position:relative}.cart span{position:absolute;right:-9px;top:-6px;display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--navy);color:#fff;font-size:.66rem;font-weight:600}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:760px}.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:80px max(48px,calc((100vw - 1280px) / 2));padding-right:80px}.hero h1{font-family:var(--serif);font-size:clamp(3rem,5.4vw,5.2rem);line-height:1.02;letter-spacing:-.02em;margin-bottom:26px}.lead{max-width:460px;color:var(--muted);font-size:1.08rem}.actions{display:flex;align-items:center;gap:30px;margin-top:36px}.hero-visual{position:relative}.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:center 20%}.tag{position:absolute;left:32px;bottom:32px;padding:12px 18px;background:var(--paper);font-size:.86rem;font-weight:500}.categories{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:90px 0 40px}.cat{position:relative;overflow:hidden}.cat img{width:100%;aspect-ratio:4 / 5;object-fit:cover;transition:transform .8s}.cat:hover img{transform:scale(1.04)}.cat::after{content:"";position:absolute;left:0;right:0;bottom:0;height:45%;background:linear-gradient(0deg,rgba(0,0,0,.5),transparent);pointer-events:none}.cat span{z-index:1;position:absolute;left:24px;bottom:22px;font-family:var(--serif);font-size:2rem;color:#fff;text-shadow:0 2px 20px rgba(0,0,0,.35)}.products{padding:60px 0 100px}.section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:30px}.section-head h2,.story h2,.newsletter h2{font-family:var(--serif);font-size:clamp(2.2rem,3.6vw,3rem);letter-spacing:-.01em}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.ph{position:relative;background:var(--paper);margin-bottom:16px}.ph img{width:100%;aspect-ratio:3 / 4;object-fit:cover}.badge{position:absolute;left:12px;top:12px;padding:4px 10px;background:var(--paper);font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.fav{position:absolute;right:12px;top:12px;display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:50%;background:var(--paper);cursor:pointer}.fav svg{width:18px;height:18px}.product h3{font-size:1rem;font-weight:500}.price{margin:2px 0 10px;color:var(--muted)}.price s{margin-right:6px}.swatches{display:flex;gap:6px;margin:0}.swatches i{width:14px;height:14px;border-radius:50%;background:var(--c);box-shadow:inset 0 0 0 1px rgba(0,0,0,.15)}.story{position:relative}.story img{width:100%;height:640px;object-fit:cover}.story-card{position:absolute;right:max(24px,calc((100vw - 1280px) / 2));top:50%;transform:translateY(-50%);width:460px;padding:48px;background:var(--paper)}.story-card h2{margin-bottom:18px}.story-card p:not(.kicker){color:var(--muted);margin:0 0 28px}.promises{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;padding:90px 0}.promises svg{width:30px;height:30px;color:var(--navy);margin-bottom:14px}.promises h3{font-family:var(--serif);font-size:1.3rem}.promises p{margin:4px 0 0;color:var(--muted);font-size:.94rem}.newsletter{background:var(--navy);color:#fff;padding:70px 0}.news-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}.newsletter p{margin:8px 0 0;color:#c5cbe0}.news-form{display:flex;width:min(100%,520px)}.news-form input{flex:1;height:54px;padding:0 18px;border:1px solid rgba(255,255,255,.3);background:transparent;color:#fff;font:400 1rem var(--sans)}.news-form input::placeholder{color:#9aa3c0}.news-form .btn{height:54px;background:var(--bg);color:var(--navy)}.footer{padding:70px 0 30px;background:var(--paper)}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}.footer h4{margin:0 0 14px;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase}.footer-grid a:not(.logo){display:block;margin-bottom:8px;color:var(--muted);font-size:.94rem}.footer-grid p{color:var(--muted);font-size:.94rem}.pay{display:flex;flex-wrap:wrap;gap:8px}.pay span{padding:4px 10px;border:1px solid var(--line);font-size:.78rem}.demo-note{margin-top:50px;padding-top:24px;border-top:1px solid var(--line);color:var(--muted);font-size:.8rem}@media (max-width:900px){.nav{display:none}.header-inner{grid-template-columns:auto 1fr}.hero{grid-template-columns:1fr}.hero-copy{padding:60px 24px}.hero-visual img{height:560px}.categories,.grid,.promises{grid-template-columns:1fr 1fr}.story-card{position:static;transform:none;width:auto}.news-inner{flex-direction:column;align-items:flex-start}.footer-grid{grid-template-columns:1fr 1fr}}
