:root{
  --blush:#F7E9EC;--rose:#D98BA0;--deep-rose:#A8546B;--plum:#4A2531;
  --cream:#FDF8F5;--paper:#FBF1EE;--gold:#B08D57;--ink:#3D2A30;--muted:#8A6E74;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Jost',sans-serif;background:var(--cream);color:var(--ink);line-height:1.7;font-weight:300;overflow-x:hidden}
h1,h2,h3,.display{font-family:'Cormorant Garamond',serif;font-weight:500;line-height:1.1}
a{text-decoration:none;color:inherit}
img{display:block;width:100%;height:100%;object-fit:cover}
.ill{display:block;width:100%;height:100%}
.wrap{max-width:1240px;margin:0 auto;padding:0 32px}
.eyebrow{font-family:'Jost',sans-serif;font-size:.72rem;letter-spacing:4px;text-transform:uppercase;color:var(--deep-rose);font-weight:400}

/* nav */
nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:22px 48px;transition:all .4s}
nav.scrolled{background:rgba(253,248,245,.94);backdrop-filter:blur(12px);padding:16px 48px;box-shadow:0 1px 0 rgba(168,84,107,.1)}
nav.top{background:rgba(252,237,240,.55);backdrop-filter:blur(6px)}
.logo{font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-weight:600;color:var(--plum);letter-spacing:1px}
.logo .amp{color:var(--gold);font-style:italic}
.nav-links{display:flex;gap:38px;align-items:center}
.nav-links a{font-size:.74rem;letter-spacing:2px;text-transform:uppercase;color:var(--plum);transition:color .25s;font-weight:400}
.nav-links a:hover{color:var(--gold)}
.nav-cta{border:1px solid var(--gold);padding:9px 24px;font-size:.7rem!important;color:var(--gold)!important;transition:all .3s}
.nav-cta:hover{background:var(--gold);color:var(--cream)!important}
.burger{display:none;font-size:1.4rem;color:var(--plum);cursor:pointer;background:none;border:none}

/* buttons */
.btn{padding:15px 34px;font-size:.74rem;letter-spacing:2.5px;text-transform:uppercase;cursor:pointer;transition:all .3s;display:inline-block;font-weight:400;border:1px solid transparent}
.btn-primary{background:var(--gold);color:var(--cream);border-color:var(--gold)}
.btn-primary:hover{background:transparent;color:var(--plum)}
.btn-ghost{background:transparent;color:var(--plum);border-color:var(--deep-rose)}
.btn-ghost:hover{background:var(--deep-rose);color:var(--cream)}

/* hero */
.hero{min-height:100vh;position:relative;display:flex;align-items:center;color:var(--plum);padding-top:90px;
  background:radial-gradient(circle at 82% 28%,rgba(217,139,160,.32),transparent 46%),radial-gradient(circle at 8% 85%,rgba(176,141,87,.14),transparent 42%),linear-gradient(160deg,#FCEDF0,#F7E2E7)}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center;width:100%}
.hero .eyebrow{color:var(--deep-rose);margin-bottom:26px;display:block;opacity:0;animation:fadeUp .9s .2s forwards}
.hero h1{font-size:clamp(3rem,6.5vw,5.4rem);font-weight:400;margin-bottom:28px;color:var(--plum);opacity:0;animation:fadeUp .9s .35s forwards}
.hero h1 em{font-style:italic;color:var(--deep-rose)}
.hero p{font-size:1.15rem;max-width:460px;margin-bottom:40px;opacity:0;font-weight:300;animation:fadeUp .9s .5s forwards;color:var(--ink)}
.btn-row{display:flex;gap:18px;flex-wrap:wrap;opacity:0;animation:fadeUp .9s .65s forwards}
@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.hero-visual{position:relative;opacity:0;animation:fadeUp .9s .55s forwards}
.hero-visual .hv-main{aspect-ratio:4/5;overflow:hidden;box-shadow:0 30px 70px rgba(168,84,107,.28)}
.hero-visual .hv-accent{position:absolute;bottom:-34px;left:-34px;width:46%;aspect-ratio:1;overflow:hidden;border:8px solid #FCEDF0;box-shadow:0 18px 40px rgba(168,84,107,.22)}
.hero-visual .hv-main .ill,.hero-visual .hv-main img{transition:transform .9s ease}
.hero-visual:hover .hv-main .ill,.hero-visual:hover .hv-main img{transform:scale(1.05)}

/* sections */
section{padding:120px 0}
.sec-head{text-align:center;max-width:620px;margin:0 auto 70px}
.sec-head .eyebrow{display:block;margin-bottom:16px}
.sec-head h2{font-size:clamp(2.4rem,4.5vw,3.6rem);color:var(--plum);font-weight:400}
.sec-head h2 em{font-style:italic;color:var(--deep-rose)}
.sec-head p{margin-top:18px;color:var(--muted);font-size:1.05rem}
.divider{width:48px;height:1px;background:var(--gold);margin:22px auto 0}

/* intro */
.intro{background:var(--paper);text-align:center;padding:90px 0}
.intro p{font-family:'Cormorant Garamond',serif;font-size:clamp(1.5rem,3vw,2.2rem);font-style:italic;color:var(--plum);max-width:840px;margin:0 auto;line-height:1.5;font-weight:400}
.intro .signoff{font-family:'Jost',sans-serif;font-style:normal;font-size:.8rem;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-top:24px;display:block}

/* menu / products */
.menu{background:var(--cream)}
.prod-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px 36px}
.card{transition:transform .4s}
.card:hover{transform:translateY(-6px)}
.card-img{height:330px;overflow:hidden;margin-bottom:22px;position:relative;background:var(--blush)}
.card-img .ill,.card-img img{transition:transform .7s ease}
.card:hover .card-img .ill,.card:hover .card-img img{transform:scale(1.06)}
.card-tag{position:absolute;top:16px;left:16px;background:rgba(253,248,245,.94);color:var(--deep-rose);font-size:.62rem;letter-spacing:2px;text-transform:uppercase;padding:6px 12px;font-weight:400;z-index:2}
.card-head{display:flex;justify-content:space-between;align-items:baseline;gap:14px;margin-bottom:6px}
.card-head h3{font-size:1.7rem;color:var(--plum);font-weight:500}
.card-head .price{font-family:'Cormorant Garamond',serif;font-size:1.4rem;color:var(--gold);font-weight:600;white-space:nowrap}
.card p{font-size:.95rem;color:var(--muted)}

/* about */
.about{background:var(--paper)}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.about-visual{position:relative}
.about-visual .main-img{aspect-ratio:4/5;overflow:hidden;background:var(--rose)}
.about-visual .accent-img{position:absolute;bottom:-40px;right:-30px;width:48%;aspect-ratio:1;overflow:hidden;border:8px solid var(--paper);background:var(--blush)}
.about-text .eyebrow{display:block;margin-bottom:16px}
.about-text h2{font-size:clamp(2.2rem,4vw,3.2rem);color:var(--plum);margin-bottom:26px;font-weight:400}
.about-text h2 em{font-style:italic;color:var(--deep-rose)}
.about-text p{margin-bottom:18px;color:var(--ink)}
.stats{display:flex;gap:50px;margin-top:38px;padding-top:38px;border-top:1px solid rgba(176,141,87,.3)}
.stat .num{font-family:'Cormorant Garamond',serif;font-size:2.8rem;color:var(--deep-rose);font-weight:600;line-height:1}
.stat .lbl{font-size:.7rem;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-top:6px}

/* gallery */
.gallery{background:var(--cream)}
.gal-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;gap:14px}
.gal-item{overflow:hidden;position:relative;background:var(--blush)}
.gal-item .ill,.gal-item img{transition:transform .7s ease}
.gal-item:hover .ill,.gal-item:hover img{transform:scale(1.07)}
.gal-item.tall{grid-row:span 2}
.gal-item.wide{grid-column:span 2}

/* blog */
.blog{background:var(--paper)}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.post-card{background:var(--cream);overflow:hidden;transition:transform .4s,box-shadow .4s}
.post-card:hover{transform:translateY(-6px);box-shadow:0 24px 50px rgba(168,84,107,.16)}
.post-card .pc-img{height:220px;overflow:hidden;background:var(--blush)}
.post-card .pc-body{padding:26px}
.post-card h3{font-size:1.5rem;color:var(--plum);margin-bottom:10px}
.post-card p{font-size:.92rem;color:var(--muted);margin-bottom:14px}
.post-card .read{font-size:.72rem;letter-spacing:2px;text-transform:uppercase;color:var(--deep-rose)}
.article{max-width:760px;margin:0 auto;padding-top:60px}
.article h1{font-size:clamp(2.2rem,5vw,3.4rem);color:var(--plum);margin-bottom:18px}
.article .meta{color:var(--muted);font-size:.85rem;letter-spacing:1px;margin-bottom:30px}
.article .hero-img{aspect-ratio:16/9;overflow:hidden;margin-bottom:36px;background:var(--blush)}
.article .body{font-size:1.08rem;color:var(--ink)}
.article .body p{margin-bottom:20px}

/* contact / order */
.contact{position:relative;color:var(--plum);text-align:center;padding:130px 0;background:radial-gradient(circle at 50% 0%,rgba(217,139,160,.2),transparent 55%),var(--blush)}
.contact .eyebrow{color:var(--deep-rose);display:block;margin-bottom:18px}
.contact h2{font-size:clamp(2.4rem,5vw,4rem);font-weight:400;margin-bottom:22px;color:var(--plum)}
.contact h2 em{font-style:italic;color:var(--deep-rose)}
.contact>.wrap>p{max-width:540px;margin:0 auto 44px;color:var(--ink)}
.contact-info{display:flex;gap:64px;justify-content:center;flex-wrap:wrap;margin-bottom:46px}
.ci-item .ci-lbl{font-size:.68rem;letter-spacing:3px;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.ci-item .ci-val{font-family:'Cormorant Garamond',serif;font-size:1.35rem;font-weight:500;color:var(--plum)}

/* order form */
.order-wrap{max-width:620px;margin:0 auto;background:var(--cream);padding:48px;box-shadow:0 24px 60px rgba(168,84,107,.12);text-align:left}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.field{margin-bottom:20px}
.field label{display:block;font-size:.72rem;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.field input,.field textarea,.field select{width:100%;padding:13px 15px;border:1px solid #E3C4cd;background:var(--cream);font-family:'Jost',sans-serif;font-size:1rem;color:var(--ink)}
.field textarea{min-height:120px;resize:vertical}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--deep-rose)}

/* flash */
.flash{max-width:1240px;margin:90px auto 0;padding:14px 22px;border-radius:8px;font-size:.95rem}
.flash.success{background:#E3F3E8;color:#2c6b41}
.flash.error{background:#FBE0E4;color:#9c3050}

/* footer */
footer{background:var(--deep-rose);color:var(--blush);padding:54px 0 36px;text-align:center}
footer .logo{color:var(--cream);margin-bottom:14px;display:inline-block;font-size:1.6rem}
footer .fnav{display:flex;gap:30px;justify-content:center;margin:20px 0 26px;flex-wrap:wrap}
footer .fnav a{font-size:.74rem;letter-spacing:2px;text-transform:uppercase;color:rgba(247,233,236,.8);transition:color .25s}
footer .fnav a:hover{color:var(--cream)}
footer p{font-size:.78rem;opacity:.6;letter-spacing:1px}

/* reveal */
.reveal{opacity:0;transform:translateY(34px);transition:opacity .8s ease,transform .8s ease}
.reveal.show{opacity:1;transform:none}

/* empty state */
.empty{text-align:center;color:var(--muted);padding:40px;font-style:italic}

@media(max-width:900px){
  nav{padding:18px 24px}nav.scrolled{padding:14px 24px}
  .hero-grid{grid-template-columns:1fr;gap:50px;text-align:center}
  .hero p{margin-left:auto;margin-right:auto}.btn-row{justify-content:center}
  .hero-visual{max-width:420px;margin:0 auto;order:-1}
  .about-grid{grid-template-columns:1fr;gap:60px}
  .about-visual{max-width:440px;margin:0 auto}.about-visual .accent-img{right:0}
  .prod-grid,.blog-grid{grid-template-columns:repeat(2,1fr);gap:30px 22px}
  .gal-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:180px}
  .nav-links{display:none}.burger{display:block}
  .nav-links.open{display:flex;flex-direction:column;position:absolute;top:60px;right:20px;background:var(--cream);padding:26px 34px;gap:20px;box-shadow:0 20px 50px rgba(74,37,49,.25)}
}
@media(max-width:560px){
  section{padding:80px 0}
  .prod-grid,.blog-grid{grid-template-columns:1fr}
  .card-img{height:280px}.contact-info{gap:36px}.stats{gap:32px}
  .form-row{grid-template-columns:1fr}.order-wrap{padding:30px}
}
