*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#FFFCF8;color:#222222;font-family:"DM Sans",sans-serif;line-height:1.65}.wrap{width:min(1180px,92%);margin:auto}.topbar{background:#111111;color:#FFF8F1;font-size:12px}.topbar-in{height:34px;display:flex;justify-content:space-between;align-items:center}.topbar a{color:#FFF8F1;text-decoration:none}header{height:86px;background:rgba(251,248,244,.95);backdrop-filter:blur(12px);position:sticky;top:0;z-index:20;border-bottom:1px solid #F0E0D2}.nav{height:100%;display:flex;align-items:center;justify-content:space-between}.brand{font-family:"Playfair Display",serif;text-decoration:none;color:#111111;font-size:28px;font-weight:700;position:relative;display:inline-block;padding-right:35px;line-height:1}.brand span{color:#FF8700}.brand small{font-family:"DM Sans";font-size:12px;color:#6F6258}.brand i{display:block;font:600 8px "DM Sans";letter-spacing:1.6px;color:#6F6258;margin-top:7px;font-style:normal}nav{display:flex;align-items:center;gap:27px}nav a{font-size:13px;color:#333333;text-decoration:none;font-weight:600}.nav-wa{background:#FF8700;color:white!important;padding:11px 17px;border-radius:99px}.hamb{display:none;border:0;background:none;font-size:26px}.hero{padding:88px 0 80px;background:radial-gradient(circle at 82% 32%,#FFE6CC 0,#FFFCF8 32%)}.hero-grid{display:grid;grid-template-columns:1fr .83fr;gap:75px;align-items:center}.kicker{font-size:10px;letter-spacing:2.5px;font-weight:800;color:#FF8700;margin-bottom:14px}.hero h1{font:600 clamp(50px,6vw,80px)/.99 "Playfair Display",serif;letter-spacing:-2px;margin:0 0 24px}.hero h1 em{font-style:italic;color:#FF8700}.lead{font-size:18px;max-width:620px;color:#5E5148}.actions{display:flex;gap:12px;margin:30px 0}.btn{border:0;padding:14px 22px;border-radius:99px;text-decoration:none;font-weight:700;display:inline-block;cursor:pointer;font-family:inherit}.dark{background:#111111;color:white}.outline{border:1px solid #D9C4AE;color:#3A3028;background:transparent}.mini-proof{display:flex;gap:35px;margin-top:40px}.mini-proof div{display:flex;flex-direction:column}.mini-proof b{font:600 20px "Playfair Display",serif}.mini-proof span{font-size:11px;color:#78685C}.hero-photo{height:560px;position:relative;border-radius:260px 260px 24px 24px;overflow:hidden;background:#FFE6CC;box-shadow:0 30px 70px #00000018}.hero-photo img{width:100%;height:100%;object-fit:cover}.hero-photo img.bad-image{display:none}.photo-fallback{position:absolute;inset:0;display:grid;place-content:center;text-align:center;color:#9A5A1A;background:linear-gradient(145deg,#FFE6D0,#FFE0C2)}.photo-fallback span{font:italic 38px "Playfair Display",serif}.photo-fallback b{font-size:16px;margin-top:8px}.photo-fallback small{font-size:10px;margin-top:20px;opacity:.7}.hero-badge{position:absolute;bottom:30px;left:-20px;background:white;padding:18px 22px;display:flex;gap:15px;align-items:center;box-shadow:0 15px 35px #00000018;border-radius:14px}.hero-badge span{font-size:10px;color:#FF8700}.hero-badge b{font:600 17px/1.15 "Playfair Display",serif}.intro,.gallery,.about,.instagram{padding:100px 0}.section-head{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:42px}.section-head h2,.services h2,.about h2,.geo h2,.reviews h2,.contact h2{font:600 48px/1.05 "Playfair Display",serif;margin:0;letter-spacing:-1px}.section-head>p{max-width:390px;color:#75665B;font-size:14px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.cards article{padding:28px;background:#fff;border:1px solid #F0E1D4;min-height:270px}.icon{font-size:28px;color:#FF8700}.cards h3{font:600 24px "Playfair Display",serif}.cards p{font-size:13px;color:#75665B}.cards a,.cake a,.text-btn{font-size:12px;color:#D96F00;text-decoration:none;font-weight:800}.statement{padding:105px 0;background:#111111;color:white;text-align:center}.statement p{font-size:10px;letter-spacing:3px;color:#FFB45C}.statement h2{font:500 clamp(42px,6vw,70px)/1.02 "Playfair Display",serif;margin:12px auto 25px;max-width:850px}.statement span{font-size:13px;color:#D8C7B8}.line{height:1px;width:70px;background:#FF8700;margin:0 auto 25px}.gallery{background:#FFF4E8}.gallery-grid{column-count:4;column-gap:18px}.cake{background:#fff;padding-bottom:18px;margin:0 0 18px;break-inside:avoid;page-break-inside:avoid;display:inline-block;width:100%;vertical-align:top}.cake-img{height:auto;min-height:0;position:relative;background:#FFE4CC;overflow:hidden}.cake-img img{width:100%;height:auto;display:block;object-fit:contain}.img-fallback{position:absolute;inset:0;display:grid;place-content:center;text-align:center;background:linear-gradient(150deg,#FFE5CF,#FFDDB8);color:#9A5A1A}.img-fallback span{font:italic 24px "Playfair Display",serif}.img-fallback b{font-size:12px;margin-top:8px}.cake-img img:not([style*="display: none"])~.img-fallback{display:none}.cat{position:absolute;top:12px;left:12px;background:#fff;padding:6px 9px;font-size:9px;letter-spacing:1px;text-transform:uppercase}.cake h3{font:600 19px "Playfair Display",serif;margin:17px 17px 8px}.cake a{margin-left:17px}.center{text-align:center;margin-top:38px}.services{padding:110px 0;background:#fff}.two{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.services p,.about p,.geo p,.reviews p,.contact p{color:#74655e;font-size:15px}.service-list{border-top:1px solid #F1DFCF}.service-list div{display:grid;grid-template-columns:35px 1fr;padding:21px 0;border-bottom:1px solid #F1DFCF}.service-list b{color:#FF8700;font-size:11px}.service-list span{font:600 20px "Playfair Display",serif}.service-list p{grid-column:2;margin:3px 0 0;font-size:12px}.about-grid{grid-template-columns:.8fr 1.2fr}.about-art{height:470px;background:#FFDDB8;display:grid;place-content:center;text-align:center}.about-art span{font:600 150px "Playfair Display",serif;color:#D96F00}.about-art small{font-size:9px;letter-spacing:4px;color:#8B5D3A}.facts{display:flex;gap:45px;margin-top:30px}.facts div{display:flex;flex-direction:column}.facts b{font:600 20px "Playfair Display",serif}.facts span{font-size:11px;color:#78685C}.geo{padding:100px 0;background:#FFE5CC}.geo h2{max-width:800px}.geo p{max-width:850px;color:#5B4635}.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:25px}.chips span{background:#FFF1DF;border:1px solid #E9C79F;padding:8px 13px;border-radius:99px;font-size:11px}.reviews{padding:100px 0;background:#fff}.reviews-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.review-card{padding:50px;background:#FFF4E8;text-align:center}.stars{letter-spacing:4px;color:#FF8700}.review-card blockquote{font:500 30px/1.2 "Playfair Display",serif}.review-card small{color:#78685C}.instagram{background:#FFF4E8}.ig-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.ig-grid div{aspect-ratio:1;background:#FFE3C7;display:grid;place-content:center;text-align:center;font:600 18px "Playfair Display",serif;color:#9A5A1A}.contact{padding:100px 0;background:#111111;color:white}.contact h2{max-width:650px}.contact p{color:#D7C5B6}.contact a{color:#FFC47A}.contact-grid{display:grid;grid-template-columns:1fr .8fr;gap:90px}.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:35px}.contact-details p{padding:18px;border:1px solid #4A4039}.enquiry{background:#fff;padding:26px;display:grid;gap:11px}.enquiry input,.enquiry select,.enquiry textarea{border:1px solid #E9D7C4;padding:13px;font:inherit;background:#FFFCF8;color:#2A2521}.foot{padding:55px 0;display:grid;grid-template-columns:1.3fr .7fr 1fr;gap:50px}.foot a:not(.brand){display:block;color:#75665B;text-decoration:none;font-size:13px;margin:8px 0}.foot p{font-size:12px;color:#75665B}.copyright{text-align:center;border-top:1px solid #F0E0D2;padding:16px;font-size:10px;color:#998980}.floating-wa{position:fixed;right:22px;bottom:22px;width:57px;height:57px;border-radius:50%;display:grid;place-content:center;background:#25d366;color:white;text-decoration:none;font-size:27px;box-shadow:0 10px 30px #0002;z-index:30}@media(max-width:900px){.blog-grid{grid-template-columns:1fr 1fr}nav{display:none}nav.open{display:flex;position:absolute;left:0;right:0;top:120px;background:#FFFCF8;padding:20px;flex-direction:column;border-bottom:1px solid #F1DFCF}.hamb{display:block}.hero-grid,.two,.reviews-grid,.contact-grid{grid-template-columns:1fr}.hero-photo{height:500px}.cards{grid-template-columns:repeat(2,1fr)}
.gallery-grid{column-count:2}.section-head{display:block}.section-head>p{margin-top:15px}.ig-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:550px){.blog-grid{grid-template-columns:1fr}.topbar-in{font-size:10px}.hero{padding-top:55px}.hero h1{font-size:50px}.actions{flex-direction:column}.mini-proof{gap:15px;flex-wrap:wrap}.hero-photo{height:420px}.cards{grid-template-columns:1fr}
.gallery-grid{column-count:1}.section-head h2,.services h2,.about h2,.geo h2,.reviews h2,.contact h2{font-size:38px}.facts,.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:12px}.foot{grid-template-columns:1fr}.brand{font-size:25px}}
.hero-image {
    background: #FFE5CC;
    border-radius: 250px 250px 28px 28px;
    overflow: hidden;
    min-height: 500px;
}

.hero-image img {
    width: 100%;
    height: 100%;
    min-height: 500px;
    object-fit: cover;
    display: block;
}
.story-image {
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.story-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.blog{padding:100px 0;background:#fff}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.blog-card{padding:30px;background:#FFFCF8;border:1px solid #F0E1D4;min-height:245px}
.blog-cat{display:inline-block;color:#FF8700;font-size:10px;font-weight:800;letter-spacing:1.8px;text-transform:uppercase;margin-bottom:12px}
.blog-card h3{font:600 25px/1.15 "Playfair Display",serif;margin:0 0 12px}
.blog-card p{font-size:13px;color:#75665B;margin-bottom:22px}
.blog-card a{font-size:12px;color:#D96F00;text-decoration:none;font-weight:800}


/* Full article view */
.article-page{background:#fff}
.article-hero{padding:82px 0 48px;background:linear-gradient(180deg,#FFF8F1 0%,#fff 100%)}
.article-wrap{max-width:860px;margin:0 auto;padding:0 24px}
.article-meta{font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#FF8700;margin-bottom:14px}
.article-title{font-family:'Playfair Display',serif;font-size:clamp(38px,6vw,68px);line-height:1.05;margin:0 0 18px;color:#171717}
.article-intro{font-size:20px;line-height:1.7;color:#555;max-width:760px}
.article-body{padding:48px 0 80px}
.article-body h2{font-family:'Playfair Display',serif;font-size:30px;margin:38px 0 12px;color:#171717}
.article-body p,.article-body li{font-size:17px;line-height:1.85;color:#444}
.article-body ul{padding-left:25px}
.article-body strong{color:#222}
.article-back{display:inline-block;margin-top:30px;text-decoration:none;font-weight:700;color:#171717}
.article-cta{margin-top:50px;padding:28px;border-radius:16px;background:#FFF4E8;border:1px solid #FFDDB5}
.article-cta h3{font-family:'Playfair Display',serif;font-size:27px;margin:0 0 8px}
@media(max-width:700px){.article-hero{padding:55px 0 30px}.article-body{padding-top:30px}.article-body p,.article-body li{font-size:16px}}

.blog-thumb{display:block;height:190px;margin:-30px -30px 22px;overflow:hidden;background:#FFE4CC}.blog-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}.blog-thumb:hover img{transform:scale(1.04)}
.article-feature{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:20px;display:block;margin:0 0 38px;box-shadow:0 18px 45px #00000018}.article-inline-image{width:100%;max-height:560px;object-fit:cover;border-radius:16px;display:block;margin:32px 0 38px}.article-image-caption{font-size:12px;color:#78685C;margin:-27px 0 32px;text-align:center}

/* Premium Service Directory */
.services{padding:110px 0;background:#fff}
.service-wrap{max-width:1220px}
.service-intro{display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:end;margin-bottom:45px}
.service-intro h2{max-width:700px}
.service-intro p{margin:0 0 22px;max-width:520px}
.service-categories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.service-category{position:relative;background:#FFFCF8;border:1px solid #F0E1D4;border-radius:22px;padding:25px 25px 23px;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.service-category:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(70,45,35,.10);border-color:#d9b8a8}
.service-category.featured{grid-column:span 2;background:#111111;color:#fff}
.service-number{position:absolute;right:18px;top:14px;font:600 42px/1 'Playfair Display',serif;color:#E9C79F22}
.service-category.featured .service-number{color:#fff1eb18}
.service-title{position:relative;padding-right:45px;margin-bottom:18px}
.service-title h3{margin:0;font:600 25px/1.1 'Playfair Display',serif}
.service-title span{display:block;margin-top:7px;font-size:11px;letter-spacing:.4px;color:#6F6258}
.service-category.featured .service-title span{color:#d9c5bc}
.service-category ul{display:flex;flex-wrap:wrap;gap:7px;margin:0;padding:0;list-style:none}
.service-category li{padding:7px 10px;border:1px solid #e4d6ce;border-radius:99px;background:#fff;font-size:11px;line-height:1.25;color:#4A4039}
.service-category.featured li{background:#3a302c;border-color:#4A4039;color:#FFF3E6}
.service-category li:hover{border-color:#FF8700}
@media(max-width:900px){.service-intro{grid-template-columns:1fr;gap:15px}.service-categories{grid-template-columns:repeat(2,minmax(0,1fr))}.service-category.featured{grid-column:span 2}}
@media(max-width:550px){.service-intro{margin-bottom:30px}.service-categories{grid-template-columns:1fr}.service-category.featured{grid-column:span 1}.service-category{padding:21px}.service-title h3{font-size:22px}}


/* =========================================================
   Gallery – supplied reference style
   ========================================================= */
.gallery{
  background:#FFF4E8;
  padding:96px 0 110px;
}
.gallery .section-head{
  margin-bottom:42px;
  align-items:end;
}
.gallery .section-head h2{
  font-size:clamp(46px,5.4vw,76px);
  line-height:.98;
  letter-spacing:-2.4px;
  font-weight:500;
  margin-top:8px;
}
.gallery .section-head>p{
  max-width:330px;
  padding-left:24px;
  border-left:1px solid #cfc1b8;
  line-height:1.65;
  color:#806f65;
}
.gallery-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  column-count:initial;
}
.gallery-grid .cake{
  margin:0;
  padding:0;
  background:transparent;
  border:0;
  width:auto;
  display:block;
  break-inside:auto;
  border-radius:18px;
  overflow:hidden;
}
.gallery-card-link{
  display:block;
  text-decoration:none;
  color:inherit;
}
.gallery .cake-img{
  position:relative;
  height:360px;
  min-height:0;
  background:#dfd1c8;
  overflow:hidden;
  border-radius:18px;
}
.gallery .cake-img img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
  transition:transform .55s cubic-bezier(.2,.65,.25,1),filter .55s ease;
}
.gallery .cake:hover .cake-img img{
  transform:scale(1.045);
  filter:saturate(1.04);
}
.gallery .cat{
  position:absolute;
  top:14px;
  left:14px;
  z-index:2;
  background:rgba(255,255,255,.94);
  color:#4A4039;
  padding:8px 11px;
  font-size:8px;
  line-height:1;
  letter-spacing:1.45px;
  font-weight:700;
  text-transform:uppercase;
  border-radius:0;
}
.gallery .img-fallback{
  position:absolute;
  inset:0;
  display:grid;
  place-content:center;
  text-align:center;
  background:linear-gradient(150deg,#FFE5CF,#FFDDB8);
  color:#9A5A1A;
}
.gallery .img-fallback span{
  font:italic 24px "Playfair Display",serif;
}
.gallery .img-fallback b{
  font-size:12px;
  margin-top:8px;
}
.gallery .cake-img img:not([style*="display: none"])~.img-fallback{
  display:none;
}
.gallery .center{
  margin-top:38px;
}

/* Subtle height rhythm to resemble the supplied editorial gallery. */
.gallery-grid .cake:nth-child(2),
.gallery-grid .cake:nth-child(5),
.gallery-grid .cake:nth-child(8),
.gallery-grid .cake:nth-child(11){
  transform:translateY(18px);
}
.gallery-grid .cake:nth-child(3),
.gallery-grid .cake:nth-child(6),
.gallery-grid .cake:nth-child(9),
.gallery-grid .cake:nth-child(12){
  transform:translateY(0);
}

@media(max-width:900px){
  .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
  .gallery .cake-img{height:330px}
  .gallery-grid .cake:nth-child(2),
  .gallery-grid .cake:nth-child(5),
  .gallery-grid .cake:nth-child(8),
  .gallery-grid .cake:nth-child(11){transform:none}
}
@media(max-width:550px){
  .gallery{padding:72px 0 82px}
  .gallery .section-head h2{font-size:44px;letter-spacing:-1.5px}
  .gallery .section-head>p{padding-left:0;border-left:0;margin-top:16px}
  .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .gallery .cake-img{height:245px;border-radius:14px}
  .gallery .cat{top:9px;left:9px;padding:6px 8px;font-size:7px}
}

/* WonderCakes brand palette — derived from the supplied logo */
:root{--brand-orange:#FF8700;--brand-black:#111111;--brand-cream:#FFFCF8;--brand-soft:#FFF4E8}
.brand-logo{height:54px;width:auto;display:block;object-fit:contain}
header .brand,.foot .brand{padding-right:0;line-height:0}
header .brand small,header .brand i,.foot .brand small,.foot .brand i{display:none}
@media(max-width:550px){.brand-logo{height:45px}}
