:root{--pink:#e91e63;--deep:#4a272d;--ink:#251b1e;--cream:#fff7f2;--soft:#f5ebe7;--line:#eaded9;--white:#fff;--muted:#74666a}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"DM Sans",sans-serif;color:var(--ink);background:#fff;line-height:1.6}img{display:block;max-width:100%}a{text-decoration:none;color:inherit}.container{width:min(1160px,calc(100% - 36px));margin:auto}
.header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.nav{height:82px;display:flex;align-items:center;justify-content:space-between}.brand img{width:105px;height:68px;object-fit:contain}.nav nav{display:flex;align-items:center;gap:28px;font-weight:700}.pill{background:var(--pink);color:#fff;padding:11px 18px;border-radius:99px}.menu{display:none;border:0;background:none;font-size:28px}
.hero{min-height:680px;position:relative;display:flex;align-items:center;overflow:hidden;background:#351c21}.hero-photo{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center}.shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(31,12,16,.88),rgba(31,12,16,.55) 50%,rgba(31,12,16,.15))}.hero-copy{position:relative;z-index:2;color:#fff}.eyebrow{letter-spacing:.18em;font-size:.78rem;font-weight:800}.pink{color:var(--pink)}.light{color:#ffd3e2}.hero h1,.heading h2,.about h2,.designer h2{font-family:"Playfair Display",serif;line-height:1.04;margin:8px 0 20px;letter-spacing:-.035em}.hero h1{font-size:clamp(3.4rem,7vw,6.7rem);max-width:780px}.hero h1 span{color:#ffc4d7}.hero p:not(.eyebrow){font-size:1.12rem;max-width:650px;color:#f5e8ec}.actions{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}.btn{display:inline-flex;justify-content:center;align-items:center;border:0;border-radius:99px;padding:14px 22px;font-weight:800;cursor:pointer}.primary{background:var(--pink);color:#fff}.glass{border:1px solid rgba(255,255,255,.55);background:rgba(255,255,255,.08);color:#fff}.dark{background:var(--deep);color:#fff}.soft{background:#f3dce4;color:var(--deep)}
.promise{background:var(--cream);border-bottom:1px solid var(--line)}.promise-grid{display:grid;grid-template-columns:repeat(3,1fr)}.promise-grid div{padding:21px 26px;border-right:1px solid var(--line)}.promise-grid div:last-child{border:0}.promise-grid b,.promise-grid span{display:block}.promise-grid span{font-size:.86rem;color:var(--muted)}
.section{padding:100px 0}.heading{text-align:center;max-width:700px;margin:0 auto 45px}.heading.left{text-align:left;margin-left:0}.heading h2,.about h2,.designer h2{font-size:clamp(2.5rem,5vw,4.4rem)}.heading>p:last-child,.about p{color:var(--muted)}
.dessert-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.dessert-grid article,.dessert-grid .dessert-card{padding:26px;border:1px solid var(--line);border-radius:20px;background:#fff;transition:.2s;display:block;color:inherit;text-decoration:none}.dessert-grid article:hover,.dessert-grid .dessert-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(80,40,50,.1)}.dessert-grid article.accent,.dessert-grid .dessert-card.accent{background:var(--deep);color:#fff;border-color:var(--deep)}.dessert-grid span{font-size:2rem}.dessert-grid h3{font-family:"Playfair Display",serif;font-size:1.45rem;margin:12px 0 6px}.dessert-grid p{margin:0;color:var(--muted);font-size:.92rem}.dessert-grid .accent p{color:#e8dadd}.flavour-note{margin-top:22px;background:var(--cream);border-radius:16px;padding:20px 24px;display:flex;gap:18px;align-items:center}.flavour-note strong{color:var(--pink)}
.gallery-section{background:#f8f2ef}.gallery{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:180px;gap:12px}.g{padding:0;border:0;border-radius:18px;overflow:hidden;cursor:zoom-in;background:#ddd}.g img{width:100%;height:100%;object-fit:cover;transition:.3s}.g:hover img{transform:scale(1.035)}.g1{grid-column:span 5;grid-row:span 2}.g2{grid-column:span 3;grid-row:span 2}.g3{grid-column:span 4;grid-row:span 2}.g4,.g5,.g6{grid-column:span 4;grid-row:span 2}
.about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center}.logo-card{background:var(--cream);border-radius:36px;min-height:460px;display:grid;place-items:center;padding:60px}.logo-card img{width:330px}.about p{font-size:1.05rem}.about .btn{margin-top:12px}
.designer{background:var(--deep);color:#fff}.designer-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:60px;align-items:start}.designer-intro>p:not(.eyebrow),.designer-intro li{color:#eadcdf}.designer-intro ul{padding-left:20px}.phone-note{margin-top:25px;padding:13px 15px;border:1px solid rgba(255,255,255,.16);border-radius:12px}
.chat-card{background:#fff;color:var(--ink);border-radius:26px;overflow:hidden;box-shadow:0 25px 80px rgba(0,0,0,.2)}.chat-head{display:flex;align-items:center;gap:12px;padding:17px 20px;border-bottom:1px solid var(--line)}.chat-head>div:nth-child(2){flex:1}.chat-head b,.chat-head span{display:block}.chat-head span{font-size:.78rem;color:var(--muted)}.bot-dot{width:42px;height:42px;border-radius:50%;display:grid!important;place-items:center;background:var(--pink);color:#fff;font-weight:800}.chat-head button{border:0;background:#f3eeee;border-radius:50%;width:36px;height:36px;cursor:pointer}
.messages{height:390px;overflow:auto;padding:20px;background:#fcfaf9}.bubble{max-width:82%;padding:11px 14px;border-radius:16px;margin:7px 0;white-space:pre-wrap}.bot{background:#f1e8e5;border-bottom-left-radius:5px}.user{background:var(--pink);color:#fff;margin-left:auto;border-bottom-right-radius:5px}.quick{padding:0 18px 12px;display:flex;gap:7px;flex-wrap:wrap}.quick button{border:1px solid #ecc8d5;background:#fff;color:var(--pink);border-radius:99px;padding:7px 11px;cursor:pointer;font-size:.86rem}.chat-input{display:flex;border-top:1px solid var(--line);padding:12px}.chat-input input{flex:1;border:0;outline:0;padding:10px;font:inherit}.chat-input button{width:42px;height:42px;border:0;border-radius:50%;background:var(--pink);color:#fff;font-size:18px;cursor:pointer}.final-actions{padding:0 14px 14px;display:flex;gap:8px}
footer{background:#1f1719;color:#fff;padding:45px 0 20px}.footer{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:40px;align-items:center}.footer img{width:100px;background:#fff;border-radius:12px}.footer b,.footer span{display:block}.footer span{color:#bbaeb1}.copyright{border-top:1px solid rgba(255,255,255,.1);margin-top:35px;padding-top:18px;color:#8d7f82;font-size:.9rem}
dialog{border:0;padding:0;background:transparent;max-width:90vw;max-height:90vh}dialog::backdrop{background:rgba(20,10,12,.85)}dialog img{max-height:86vh;border-radius:16px}#closeLightbox{position:fixed;top:22px;right:25px;width:42px;height:42px;border-radius:50%;border:0;background:white;font-size:27px;cursor:pointer}
@media(max-width:900px){.dessert-grid{grid-template-columns:repeat(2,1fr)}.about-grid,.designer-grid{grid-template-columns:1fr}.gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:220px}.g{grid-column:span 1!important;grid-row:span 1!important}.nav nav{display:none;position:absolute;top:82px;left:0;right:0;background:#fff;padding:22px;flex-direction:column}.nav nav.open{display:flex}.menu{display:block}}
@media(max-width:600px){.container{width:min(100% - 26px,1160px)}.hero{min-height:620px}.hero h1{font-size:3.4rem}.promise-grid,.dessert-grid,.footer{grid-template-columns:1fr}.promise-grid div{border-right:0;border-bottom:1px solid var(--line);padding-left:0}.section{padding:74px 0}.gallery{grid-auto-rows:180px}.flavour-note{align-items:flex-start;flex-direction:column;gap:3px}.logo-card{min-height:320px;padding:35px}.messages{height:360px}.final-actions{flex-direction:column}}
.call{background:#fff;color:var(--deep);border:1px solid rgba(255,255,255,.75)}
.call:hover{background:#fff1f6}
.footer-call{display:block;color:#ffd8e5;font-weight:700;margin-top:4px}
.floating-call{
  position:fixed;right:18px;bottom:18px;z-index:45;
  background:#159447;color:#fff;padding:13px 18px;border-radius:999px;
  font-weight:800;box-shadow:0 12px 34px rgba(21,148,71,.28)
}
@media(max-width:600px){
  .floating-call{right:14px;bottom:14px;padding:12px 15px}
}


.custom-link{cursor:pointer;position:relative}
.custom-link:hover{background:#5c323a!important}
.custom-cta{display:block;margin-top:14px;color:#ffd2e1;font-size:.86rem}

.flavour-showcase{
  margin-top:34px;
  padding:34px;
  border-radius:26px;
  background:linear-gradient(135deg,#fff8f3,#fff);
  border:1px solid var(--line)
}
.flavour-title{max-width:720px;margin-bottom:24px}
.flavour-title h3{
  font-family:"Playfair Display",serif;
  font-size:2rem;
  margin:4px 0 8px
}
.flavour-title p:last-child{margin:0;color:var(--muted)}
.flavour-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.flavour-box{
  background:#fff;
  border:1px solid var(--line);
  border-radius:20px;
  padding:22px
}
.flavour-box-head{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.flavour-box-head>span{font-size:1.8rem}
.flavour-box-head b,.flavour-box-head small{display:block}
.flavour-box-head b{font-family:"Playfair Display",serif;font-size:1.25rem}
.flavour-box-head small{color:var(--muted);margin-top:1px}
.flavour-chips{display:flex;flex-wrap:wrap;gap:8px}
.flavour-chips span{
  background:#fff0f5;
  color:#8d294d;
  border:1px solid #f1cad8;
  border-radius:999px;
  padding:7px 11px;
  font-size:.82rem;
  font-weight:700
}
@media(max-width:760px){
  .flavour-columns{grid-template-columns:1fr}
  .flavour-showcase{padding:24px 18px}
}


.hero-slogan{
  font-family:"Playfair Display",serif;
  font-size:clamp(1.55rem,3vw,2.35rem)!important;
  font-weight:700;
  color:#ffd0df!important;
  margin:6px 0 10px!important;
  letter-spacing:-.015em;
}
.about-slogan{
  font-family:"Playfair Display",serif;
  font-size:1.6rem!important;
  font-weight:700;
  color:var(--pink)!important;
  margin:0 0 18px!important;
}
.footer-slogan{
  color:#ffd0df!important;
  font-weight:800;
  margin-bottom:4px;
}


.promise-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
.hero-photo{object-position:center center;}

.reviews{background:linear-gradient(180deg,#fff7fb 0%,#ffffff 100%);}
.reviews-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
  margin-top:28px;
}
.review-card{
  background:#fff;
  border:1px solid rgba(226,118,164,.18);
  border-radius:26px;
  padding:26px;
  box-shadow:0 12px 30px rgba(75,37,58,.06);
}
.review-card.featured{
  grid-column:span 2;
  background:linear-gradient(135deg,#fff 0%,#fff4f8 100%);
}
.review-top{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
}
.review-card h3{margin:8px 0 10px; font-size:1.35rem;}
.review-card p{margin:0 0 14px; color:#5c4b55;}
.stars{letter-spacing:2px; color:#f5b400; font-size:1.05rem; margin-bottom:6px;}
.source-pill{
  background:#ffe4ee;
  color:#bb4d7f;
  border-radius:999px;
  padding:8px 12px;
  font-size:.84rem;
  font-weight:700;
  white-space:nowrap;
}
.review-meta{display:flex; justify-content:space-between; gap:12px; font-size:.95rem; color:#7b6b74;}
.reviews-cta{
  margin-top:28px;
  background:#2a1722;
  color:#fff;
  border-radius:28px;
  padding:28px;
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:center;
}
.reviews-cta h3{margin:4px 0 8px; font-size:2rem; color:#fff;}
.reviews-cta p{margin:0; color:#f8dfe8;}
.review-buttons{display:flex; gap:12px; flex-wrap:wrap;}
.review-buttons .btn.soft{background:#fff0f6; color:#8e3460;}

@media (max-width: 900px){
  .reviews-grid{grid-template-columns:1fr;}
  .review-card.featured{grid-column:auto;}
  .reviews-cta{flex-direction:column; align-items:flex-start;}
}
@media (max-width: 700px){
  .promise-grid{grid-template-columns:1fr;}
}


/* v10 hero redesign: avoids stretching a small image across the full screen */
.hero.hero-split{
  min-height:640px;
  background:
    radial-gradient(circle at 12% 18%,rgba(233,30,99,.18),transparent 32%),
    linear-gradient(135deg,#351b24 0%,#1f1118 100%);
  color:#fff;
  display:flex;
  align-items:center;
  overflow:hidden;
}
.hero-layout{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:60px;
  align-items:center;
  padding:70px 0;
}
.hero.hero-split .hero-copy{
  position:relative;
  z-index:2;
  padding:0;
}
.hero-visual{
  position:relative;
  min-height:520px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.hero-visual-backdrop{
  position:absolute;
  width:88%;
  height:88%;
  border-radius:38px;
  background:linear-gradient(145deg,#f5c0d3,#f9e2ea);
  transform:rotate(4deg);
  box-shadow:0 30px 80px rgba(0,0,0,.28);
}
.hero-visual img{
  position:relative;
  z-index:2;
  width:min(430px,92%);
  max-height:520px;
  object-fit:cover;
  border-radius:30px;
  box-shadow:0 28px 60px rgba(0,0,0,.28);
}
.hero-badge{
  position:absolute;
  z-index:3;
  right:2%;
  bottom:8%;
  background:#fff;
  color:#442432;
  padding:12px 18px;
  border-radius:999px;
  font-weight:800;
  box-shadow:0 10px 28px rgba(0,0,0,.18);
}
.hero.hero-split .glass{background:transparent;}

.reviews-heading-row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;max-width:none;}
.reviews-source-btn{
  display:inline-flex;align-items:center;justify-content:center;
  background:#2a1722;color:#fff;padding:12px 18px;border-radius:999px;font-weight:800;white-space:nowrap;
}
.review-link{display:inline-block;margin-top:12px;color:#b2366e;font-weight:800;font-size:.9rem;}
.reviews-grid-more{grid-template-columns:repeat(3,minmax(0,1fr));}
.reviews-grid-more .featured{grid-column:span 3;}

@media(max-width:980px){
  .hero-layout{grid-template-columns:1fr;gap:28px;padding:55px 0;}
  .hero-visual{min-height:430px;}
  .hero-visual img{max-height:430px;}
  .reviews-grid-more{grid-template-columns:repeat(2,minmax(0,1fr));}
  .reviews-grid-more .featured{grid-column:span 2;}
}
@media(max-width:700px){
  .hero-visual{min-height:360px;}
  .hero-visual img{max-height:360px;width:min(320px,92%);}
  .hero-badge{right:4%;bottom:5%;}
  .reviews-heading-row{align-items:flex-start;flex-direction:column;}
  .reviews-grid-more{grid-template-columns:1fr;}
  .reviews-grid-more .featured{grid-column:auto;}
}

.reviews-heading{
  display:flex;justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:34px
}
.reviews-heading h2{
  font-family:"Playfair Display",serif;
  font-size:clamp(2.5rem,5vw,4.4rem);
  line-height:1.05;
  margin:4px 0 10px
}
.reviews-heading p:last-child{margin:0;color:var(--muted)}
.google-summary{
  display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);
  padding:14px 18px;border-radius:18px;box-shadow:0 12px 30px rgba(70,35,45,.06);
  min-width:270px
}
.google-logo,.google-g{
  display:grid;place-items:center;font-weight:800;color:#4285f4;background:#f5f8ff;border-radius:50%
}
.google-logo{width:42px;height:42px;font-size:1.3rem}
.google-summary strong{display:block;color:#f4b400;letter-spacing:2px}
.google-summary small{display:block;color:var(--muted);margin-top:3px}
.google-reviews-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px
}
.google-review-card{
  background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px;
  box-shadow:0 12px 30px rgba(75,37,58,.055);
  display:flex;flex-direction:column;min-height:260px
}
.google-review-header{display:flex;align-items:center;gap:11px}
.review-avatar{
  width:42px;height:42px;border-radius:50%;display:grid;place-items:center;
  background:linear-gradient(135deg,#f9b5cc,#ef6c9c);color:#fff;font-weight:800
}
.reviewer{flex:1}
.reviewer strong,.reviewer span{display:block}
.reviewer span{font-size:.82rem;color:var(--muted)}
.google-g{width:28px;height:28px;font-size:.9rem}
.google-stars{color:#f4b400;letter-spacing:2px;margin:14px 0 8px}
.google-review-card p{color:#55484c;margin:0 0 18px;flex:1}
.review-source{font-size:.88rem;font-weight:700;color:var(--pink)}
.reviews-more{text-align:center;margin-top:30px}
@media(max-width:950px){
  .google-reviews-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .reviews-heading{align-items:flex-start;flex-direction:column}
}
@media(max-width:620px){
  .google-reviews-grid{grid-template-columns:1fr}
  .google-summary{width:100%}
}

/* V14: new high-resolution FoodyPie photography */
.hero-visual img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}

.gallery-new{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  grid-auto-rows:250px;
  gap:14px;
}
.gallery-card{
  position:relative;
  border:0;
  padding:0;
  border-radius:20px;
  overflow:hidden;
  background:#eee;
  cursor:zoom-in;
  min-height:0;
}
.gallery-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .35s ease, filter .35s ease;
}
.gallery-card span{
  position:absolute;
  left:0;right:0;bottom:0;
  padding:26px 14px 12px;
  color:#fff;
  font-weight:700;
  text-align:left;
  background:linear-gradient(transparent,rgba(22,10,15,.75));
  opacity:0;
  transition:opacity .25s ease;
}
.gallery-card:hover img{transform:scale(1.035)}
.gallery-card:hover span{opacity:1}
.gallery-card.wide{grid-column:span 2}
.gallery-card.portrait{grid-row:span 2}

@media(max-width:900px){
  .gallery-new{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:230px}
}
@media(max-width:600px){
  .gallery-new{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:180px;gap:10px}
  .gallery-card.wide{grid-column:span 2}
  .gallery-card.portrait{grid-row:span 2}
}
