@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&family=Playfair+Display:ital,wght@0,700;1,700&display=swap');
:root{--ink:#182526;--paper:#fffaf1;--coral:#ee5b47;--aqua:#2da6a4;--line:#ded8cc}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}.announcement{background:var(--ink);color:white;text-align:center;padding:9px;font-size:12px;letter-spacing:.12em;text-transform:uppercase}.site-header{height:80px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;border-bottom:1px solid var(--line);background:rgba(255,250,241,.94);position:sticky;top:0;z-index:10}.brand{font:700 26px 'DM Sans';color:var(--ink);text-decoration:none;letter-spacing:-.08em}.brand span{color:var(--coral)}nav{display:flex;gap:32px}nav a,.cart,footer a{color:inherit;text-decoration:none}.cart strong{background:var(--coral);color:white;border-radius:20px;padding:3px 8px}.hero{min-height:68vh;padding:9vw 8vw;background:radial-gradient(circle at 76% 35%,#f5b8ad 0 9%,transparent 9.5%),radial-gradient(circle at 82% 45%,#6dc5c3 0 17%,transparent 17.5%),linear-gradient(120deg,#fffaf1 58%,#f6dfbb 58%);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:700;color:var(--aqua)}h1,h2{font-family:'Playfair Display',serif;margin:.2em 0;line-height:.98}h1{font-size:clamp(52px,7vw,104px);max-width:800px}h1 em{color:var(--coral)}.hero>p:not(.eyebrow){font-size:18px;max-width:520px;line-height:1.7}.button{display:inline-block;background:var(--coral);color:white;border:0;padding:16px 26px;text-decoration:none;font-weight:700;margin-top:18px;cursor:pointer}.button:disabled{background:#a8a39a}.catalog{padding:90px 5vw}.section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:40px}.section-head h2,.story h2{font-size:clamp(38px,5vw,64px)}form{display:flex}input{padding:13px;border:1px solid var(--line);background:white;min-width:230px}form button{border:0;background:var(--ink);color:white;padding:0 18px}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:42px 24px}.product-image{display:block;aspect-ratio:4/5;background:#eee;overflow:hidden;position:relative}.product-image img{width:100%;height:100%;object-fit:cover;transition:.4s}.product-card:hover img{transform:scale(1.035)}.badge{position:absolute;top:12px;left:12px;background:var(--paper);padding:7px 10px;font-size:12px}.product-type{color:var(--aqua);font-size:11px;text-transform:uppercase;letter-spacing:.1em;margin:15px 0 5px}.product-card h3{margin:0;font:700 22px 'Playfair Display'}.product-card h3 a{color:inherit;text-decoration:none}.price{font-weight:700}.story{margin:30px 5vw 100px;padding:8vw;background:var(--aqua);color:white}.story .eyebrow{color:#ffe1d9}.story p:last-child{max-width:680px;font-size:19px;line-height:1.7}.product-detail{display:grid;grid-template-columns:1.25fr .75fr;gap:6vw;padding:60px 5vw 100px}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:12px}.gallery img{width:100%;background:#eee}.gallery img:first-child{grid-column:1/-1}.product-copy{position:sticky;top:130px;align-self:start}.product-copy h1{font-size:60px}.detail-price{font-size:26px;font-weight:700}.description{line-height:1.7}.back{color:var(--ink)}.benefits{padding:20px 0;list-style:none;border-top:1px solid var(--line)}.benefits li{padding:8px 0}footer{background:var(--ink);color:white;padding:60px 5vw;display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px}.brand--light{color:white}footer div{display:flex;flex-direction:column;gap:10px}footer h3{margin:0 0 10px}@media(max-width:800px){nav{display:none}.hero{min-height:70vh}.section-head{align-items:start;gap:25px;flex-direction:column}.product-grid{grid-template-columns:1fr 1fr}.product-detail{grid-template-columns:1fr}.product-copy{position:static}.gallery{grid-template-columns:1fr}footer{grid-template-columns:1fr}}@media(max-width:500px){.product-grid{grid-template-columns:1fr}.catalog{padding:60px 18px}.site-header{padding:0 18px}}
