:root{--cream:#fffaf5;--paper:#fffdf9;--wine:#68283d;--rose:#d86182;--ink:#281d20;--muted:#75686a;--line:#eaded8}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",sans-serif}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}
.site-header{height:88px;padding:0 clamp(24px,6vw,110px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(255,250,245,.96);position:sticky;top:0;z-index:20}
.brand{display:flex;align-items:center;gap:12px;font:600 22px "Playfair Display",serif;color:var(--wine)}.brand img{width:54px;height:54px;object-fit:contain;border-radius:50%}.nav{display:flex;align-items:center;gap:30px;font-size:14px}.nav a:hover{color:var(--rose)}.pill{background:var(--wine);color:#fff!important;padding:12px 22px;border-radius:999px}.menu-button{display:none;background:none;border:0;font:600 14px inherit}
.hero{max-width:1500px;margin:auto;min-height:720px;padding:70px clamp(24px,7vw,120px);display:grid;grid-template-columns:.82fr 1.18fr;gap:70px;align-items:center}.eyebrow{font-size:12px;letter-spacing:2.4px;font-weight:700;color:#a84663}.hero h1,.section h2,.feature h2,.order h2{font:600 clamp(54px,6.3vw,98px)/.94 "Playfair Display",serif;margin:22px 0}.hero h1 em,.section h2 em,.feature h2 em{color:var(--rose);font-weight:600}.lede{font-size:18px;line-height:1.7;color:var(--muted);max-width:560px}.actions{display:flex;gap:12px;margin-top:30px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;padding:15px 22px;border-radius:999px;font-weight:700;font-size:14px;border:1px solid var(--wine);cursor:pointer;background:transparent}.primary{background:var(--wine);color:#fff}.secondary{color:var(--wine)}.button:hover{transform:translateY(-1px)}
.hero-grid{height:600px;display:grid;grid-template-columns:1.5fr .85fr;grid-template-rows:1fr 1fr;gap:14px}.hero-grid img{width:100%;height:100%;object-fit:cover;border-radius:26px}.hero-main{grid-row:1/3}
.marquee{overflow:hidden;background:var(--wine);color:#fff;padding:15px 0}.marquee>div{display:flex;width:max-content;animation:scroll 28s linear infinite}.marquee span{font-size:12px;letter-spacing:2px;font-weight:700;white-space:nowrap}@keyframes scroll{to{transform:translateX(-50%)}}
.section{max-width:1320px;margin:auto;padding:110px clamp(24px,5vw,70px)}.section h2,.feature h2{font-size:clamp(44px,5vw,72px);line-height:1.02}.intro>p:not(.eyebrow){max-width:720px;font-size:18px;color:var(--muted);line-height:1.7}.categories{display:grid;grid-template-columns:repeat(4,1fr);margin-top:65px;border-top:1px solid var(--line)}.categories article{padding:30px 26px 20px 0;border-right:1px solid var(--line)}.categories article+article{padding-left:26px}.categories span{font-size:12px;color:var(--rose);font-weight:700}.categories h3{font:600 25px "Playfair Display",serif;margin:16px 0 8px}.categories p{font-size:14px;color:var(--muted);line-height:1.6}
.gallery-section{padding-top:70px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:45px}.section-heading h2{margin-bottom:0}.section-heading>p{max-width:300px;color:var(--muted)}.gallery{columns:4 240px;column-gap:16px}.gallery figure{break-inside:avoid;margin:0 0 16px;overflow:hidden;border-radius:18px;background:#eee}.gallery img{width:100%;height:auto;transition:transform .35s}.gallery figure:hover img{transform:scale(1.025)}.load-more{display:flex;margin:35px auto 0}
.feature{max-width:1320px;margin:20px auto 100px;padding:0 clamp(24px,5vw,70px);display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.feature img{width:100%;height:650px;object-fit:cover;border-radius:30px}.feature p{color:var(--muted);line-height:1.75;font-size:17px}.text-link{display:inline-block;margin-top:12px;color:var(--wine);font-weight:700}
.about{display:grid;grid-template-columns:1.1fr .9fr;gap:90px;border-top:1px solid var(--line)}.about p{font-size:18px;line-height:1.75;color:var(--muted)}
.order{text-align:center;background:var(--wine);color:#fff;padding:100px 24px}.order .eyebrow{color:#f3b8c9}.order h2{font-size:clamp(48px,6vw,82px);margin:18px 0}.order>p:not(.eyebrow){max-width:660px;margin:0 auto;color:#f4dfe5;line-height:1.7}.center{justify-content:center}.light{background:#fff;color:var(--wine);border-color:#fff}.outline-light{color:#fff;border-color:#fff}.order small{display:block;margin-top:35px;color:#e8cbd4}
footer{padding:35px clamp(24px,6vw,110px);display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}footer .brand img{width:44px;height:44px}
@media(max-width:900px){.site-header{height:76px}.brand span{font-size:19px}.brand img{width:46px;height:46px}.menu-button{display:block}.nav{display:none;position:absolute;top:76px;left:0;right:0;padding:25px;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start}.nav.open{display:flex}.hero{grid-template-columns:1fr;padding-top:50px}.hero-grid{height:560px}.categories{grid-template-columns:1fr 1fr}.feature,.about{grid-template-columns:1fr}.feature img{height:auto}.section-heading{display:block}.section-heading>p{max-width:none}.about{gap:20px}footer{flex-direction:column;text-align:center}}
@media(max-width:560px){.hero{min-height:auto;gap:45px}.hero h1{font-size:58px}.hero-grid{height:480px;grid-template-columns:1fr 1fr;grid-template-rows:1.4fr .8fr}.hero-main{grid-column:1/3;grid-row:auto}.categories{grid-template-columns:1fr}.categories article,.categories article+article{padding:24px 0;border-right:0;border-bottom:1px solid var(--line)}.section{padding-top:80px;padding-bottom:80px}.gallery{columns:2 145px}.feature{gap:35px;margin-bottom:70px}.order{padding:80px 24px}}.footer-right{text-align:right}.policy-links{display:flex;gap:16px;justify-content:flex-end;flex-wrap:wrap;margin-bottom:7px}.policy-links a:hover{color:var(--wine);text-decoration:underline}.policy-page{max-width:900px;margin:0 auto;padding:80px 24px 110px}.policy-page h1{font:600 clamp(46px,6vw,72px)/1 "Playfair Display",serif;margin:18px 0 24px}.policy-page h2{font:600 26px "Playfair Display",serif;margin:38px 0 12px;color:var(--wine)}.policy-page p,.policy-page li{color:var(--muted);line-height:1.75}.policy-page .notice{padding:20px 22px;border:1px solid var(--line);border-radius:16px;background:var(--paper);color:var(--ink);font-weight:600}.policy-back{display:inline-block;margin-top:36px;color:var(--wine);font-weight:700}@media(max-width:900px){.footer-right{text-align:center}.policy-links{justify-content:center}}

/* Mobile polish — preserves the V2 desktop design */
@media(max-width:700px){
  html,body{width:100%;overflow-x:hidden}
  .site-header{padding:0 18px}
  .brand{gap:8px}.brand img{width:42px;height:42px}.brand span{font-size:18px}
  .menu-button{padding:10px 0;color:var(--wine)}
  .nav{padding:22px 20px;gap:20px;box-shadow:0 10px 24px rgba(40,29,32,.08)}
  .nav a{width:100%;font-size:16px}.nav .pill{width:auto}
  .hero{padding:42px 20px 55px;gap:34px}
  .hero h1{font-size:clamp(48px,15vw,64px);line-height:.94;margin:18px 0}
  .lede{font-size:16px;line-height:1.65}
  .actions{gap:10px}.actions .button{flex:1 1 180px;min-height:50px;padding:14px 16px}
  .hero-grid{height:auto;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:9px}
  .hero-grid img{height:180px;border-radius:18px}.hero-grid .hero-main{grid-column:1/3;height:min(112vw,430px)}
  .marquee{padding:13px 0}.marquee span{font-size:11px;letter-spacing:1.6px}
  .section{padding:72px 20px}.section h2,.feature h2{font-size:clamp(40px,12vw,56px)}
  .categories{margin-top:42px}
  .section-heading{margin-bottom:30px}
  .gallery{columns:2;column-gap:10px}.gallery figure{margin-bottom:10px;border-radius:14px}
  .feature{padding:0 20px;margin:10px auto 72px;gap:28px}.feature img{border-radius:20px;max-height:520px}
  .about{padding-top:72px;gap:12px}.about p{font-size:16px}
  .order{padding:72px 20px}.order h2{font-size:clamp(44px,12vw,60px)}.order .actions{display:grid;grid-template-columns:1fr;width:100%;max-width:420px;margin:28px auto 0}.order .button{width:100%}
  footer{padding:30px 20px;gap:18px}.policy-links{gap:10px 16px}.footer-right{width:100%}
  .policy-page{padding:55px 20px 80px}.policy-page h1{font-size:clamp(42px,12vw,58px)}
}
@media(max-width:380px){
  .brand span{font-size:16px}.brand img{width:38px;height:38px}
  .hero{padding-left:16px;padding-right:16px}.hero h1{font-size:46px}
  .gallery{columns:1}.hero-grid img{height:150px}.hero-grid .hero-main{height:105vw}
}
