{"id":12,"date":"2026-08-04T09:45:30","date_gmt":"2026-08-04T09:45:30","guid":{"rendered":"https:\/\/hannyscakes.co.uk\/?page_id=12"},"modified":"2026-08-04T10:11:25","modified_gmt":"2026-08-04T10:11:25","slug":"home","status":"publish","type":"page","link":"https:\/\/hannyscakes.co.uk\/","title":{"rendered":"Home"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"12\" class=\"elementor elementor-12\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c755db4 e-con-full e-flex e-con e-parent\" data-id=\"c755db4\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-cc7f1a9 elementor-widget elementor-widget-html\" data-id=\"cc7f1a9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!--\r\n  HANNY'S CAKES \u2014 Homepage v3 (image slider hero + scroll animation)\r\n  ====================================================================\r\n  HOMEPAGE ONLY \u2014 no header \/ no footer, those wrap around this in\r\n  Elementor's Theme Builder.\r\n\r\n  v3.1 FIX \u2014 mobile hero readability\r\n  - Slider arrows were vertically centered at all breakpoints, but on\r\n    mobile the text block is bottom-anchored, so the arrows landed\r\n    right on top of the headline. Arrows now sit at the TOP of the\r\n    hero on mobile instead.\r\n  - Strengthened the mobile overlay gradient and added a soft light\r\n    text-shadow glow behind the eyebrow \/ headline \/ lede so the text\r\n    stays legible regardless of how bright or dark the photo is at\r\n    that spot (desktop is untouched \u2014 it already had enough contrast\r\n    from the wider cream gradient).\r\n\r\n  WHAT CHANGED FROM v2\r\n  - Hero is now a 4-slide auto-playing image slider (Ken-Burns zoom,\r\n    crossfade, arrows + dots, pauses on hover). Each slide has its own\r\n    headline \/ subtext \/ CTA so you can tell a different story per slide\r\n    (e.g. wedding cakes, birthdays, cupcakes, custom).\r\n  - Request-a-Quote button restyled \u2014 was misaligned\/plain before,\r\n    now a proper filled button with a hover shine, matching the rest\r\n    of the brand.\r\n  - Real photos wired in for the Hero slider, About section and the\r\n    Featured Creations teaser, using the images you sent over. Since\r\n    only 5 photos were provided, a couple are reused between the\r\n    slider and the teaser grid \u2014 swap in fresh shots any time by\r\n    editing the src values (search \"PHOTO:\" to find each one).\r\n  - Scroll animation added site-wide using the same safety pattern as\r\n    the Sabi Chef build: everything is 100% visible in plain CSS with\r\n    no JS at all, and IntersectionObserver just LAYERS a subtle\r\n    fade-up on top once JS loads. If JS fails, nothing breaks.\r\n\r\n  FONTS \u2014 Elementor > Site Settings > Custom Fonts:\r\n  https:\/\/fonts.googleapis.com\/css2?family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,400;0,9..144,500;0,9..144,600;1,9..144,500&family=Mrs+Saint+Delafield&family=Inter:wght@400;500;600;700&display=swap\r\n  ====================================================================\r\n-->\r\n<!DOCTYPE html>\r\n<html lang=\"en\">\r\n<head>\r\n<meta charset=\"UTF-8\">\r\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n<title>Hanny's Cakes \u2014 Homepage v3<\/title>\r\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\r\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\r\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,400;0,9..144,500;0,9..144,600;1,9..144,500&family=Mrs+Saint+Delafield&family=Inter:wght@400;500;600;700&display=swap\" rel=\"stylesheet\">\r\n<\/head>\r\n<body style=\"margin:0;\">\r\n\r\n<div class=\"hh-page\">\r\n<style>\r\n  .hh-page{\r\n    --hh-white:#FFFFFF;\r\n    --hh-cream:#FFFDFB;\r\n    --hh-pink-mist:#FCEEF2;\r\n    --hh-pink-soft:#F5D6E0;\r\n    --hh-pink:#E9AFC4;\r\n    --hh-pink-deep:#C77E98;\r\n    --hh-rose-btn:#B96A85;   \/* button gradient end *\/\r\n    --hh-gold:#C9A227;\r\n    --hh-gold-soft:#E4C878;\r\n    --hh-ink:#2B2027;\r\n    --hh-ink-soft:#7A6B72;\r\n    --hh-line:rgba(43,32,39,.10);\r\n    font-family:'Inter',sans-serif;\r\n    color:var(--hh-ink);\r\n    background:var(--hh-white);\r\n    -webkit-font-smoothing:antialiased;\r\n  }\r\n  .hh-page *,.hh-page *::before,.hh-page *::after{ box-sizing:border-box; }\r\n  .hh-page h1,.hh-page h2,.hh-page h3,.hh-page p,.hh-page ul{ margin:0; padding:0; }\r\n  .hh-page a{ text-decoration:none; color:inherit; }\r\n  .hh-page ul{ list-style:none; }\r\n  .hh-page img{ max-width:100%; display:block; }\r\n  .hh-page button{ font-family:inherit; }\r\n  .hh-page svg{ display:block; }\r\n  .hh-ic{ width:20px;height:20px; stroke:currentColor; fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; flex:none; }\r\n\r\n  @media (prefers-reduced-motion: reduce){\r\n    .hh-page *{ animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }\r\n  }\r\n\r\n  \/* ===== shared layout ===== *\/\r\n  .hh-section{ padding:100px 40px; position:relative; }\r\n  .hh-wrap{ max-width:1180px; margin:0 auto; }\r\n  .hh-wrap--narrow{ max-width:720px; margin:0 auto; }\r\n  .hh-center{ text-align:center; }\r\n\r\n  .hh-eyebrow{\r\n    display:inline-flex; align-items:center; gap:10px;\r\n    font-size:11.5px; font-weight:700; letter-spacing:.22em; text-transform:uppercase;\r\n    color:var(--hh-pink-deep);\r\n  }\r\n  .hh-eyebrow::before{ content:\"\"; width:20px; height:1px; background:var(--hh-gold); }\r\n\r\n  .hh-h2{\r\n    font-family:'Fraunces',serif; font-weight:400; font-style:normal;\r\n    font-size:clamp(28px,3.2vw,40px); line-height:1.18; letter-spacing:-.01em;\r\n    margin-top:16px; color:var(--hh-ink);\r\n  }\r\n  .hh-h2 em{ font-style:italic; color:var(--hh-pink-deep); font-weight:400; }\r\n  .hh-lede{ font-size:15.5px; line-height:1.8; color:var(--hh-ink-soft); margin-top:16px; max-width:480px; }\r\n  .hh-center .hh-lede{ margin-left:auto; margin-right:auto; }\r\n\r\n  \/* ===== buttons ===== *\/\r\n  .hh-btn{\r\n    position:relative; overflow:hidden; display:inline-flex; align-items:center; gap:9px; padding:16px 30px;\r\n    font-weight:700; font-size:12.5px; letter-spacing:.1em; text-transform:uppercase; border-radius:3px;\r\n    transition:transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s ease, background .3s ease, border-color .3s ease;\r\n    cursor:pointer; border:1px solid transparent; white-space:nowrap;\r\n  }\r\n  .hh-btn .hh-ic{ width:15px;height:15px; transition:transform .3s ease; }\r\n  .hh-btn--primary{\r\n    background:linear-gradient(135deg, var(--hh-pink-deep) 0%, var(--hh-rose-btn) 100%);\r\n    color:var(--hh-white);\r\n    box-shadow:0 12px 24px -12px rgba(185,106,133,.65);\r\n  }\r\n  .hh-btn--primary::after{\r\n    content:\"\"; position:absolute; top:0; left:-60%; width:40%; height:100%;\r\n    background:linear-gradient(120deg,transparent,rgba(255,255,255,.5),transparent);\r\n    transform:skewX(-20deg); transition:left .7s ease;\r\n  }\r\n  .hh-btn--primary:hover{ transform:translateY(-3px); box-shadow:0 16px 28px -10px rgba(185,106,133,.7); }\r\n  .hh-btn--primary:hover::after{ left:130%; }\r\n  .hh-btn--primary:hover .hh-ic{ transform:translateX(3px); }\r\n  .hh-btn--outline{ background:rgba(255,255,255,.7); backdrop-filter:blur(2px); color:var(--hh-ink); border-color:var(--hh-line); }\r\n  .hh-btn--outline:hover{ border-color:var(--hh-gold); background:var(--hh-white); transform:translateY(-3px); }\r\n\r\n  .hh-textlink{ display:inline-flex; align-items:center; gap:7px; font-size:12.5px; font-weight:700; letter-spacing:.02em; color:var(--hh-pink-deep); }\r\n  .hh-textlink .hh-ic{ width:13px;height:13px; transition:transform .3s ease; }\r\n  .hh-textlink:hover .hh-ic{ transform:translateX(3px); }\r\n\r\n  .hh-frame{\r\n    position:relative; overflow:hidden; border-radius:3px;\r\n    background:linear-gradient(155deg, var(--hh-pink-mist) 0%, var(--hh-cream) 100%);\r\n    border:1px solid var(--hh-line);\r\n  }\r\n  .hh-frame img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .8s cubic-bezier(.2,.7,.2,1); }\r\n  .hh-frame:hover img{ transform:scale(1.05); }\r\n\r\n  \/* ===== scroll-reveal (JS-optional, safe by default) ===== *\/\r\n  .hh-observe{ opacity:1; transform:none; }\r\n  html.js-anim .hh-observe{\r\n    opacity:0; transform:translateY(26px);\r\n    transition:opacity .8s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.2,.7,.2,1);\r\n  }\r\n  html.js-anim .hh-observe.in-view{ opacity:1; transform:translateY(0); }\r\n  html.js-anim .hh-stagger > *{ transition-delay:calc(var(--i,0) * 90ms); }\r\n\r\n  \/* ============================================================\r\n     1. HERO SLIDER\r\n     ============================================================ *\/\r\n  .hh-hero{ position:relative; height:min(86vh,720px); min-height:560px; overflow:hidden; background:var(--hh-cream); }\r\n  .hh-slide{\r\n    position:absolute; inset:0; opacity:0; visibility:hidden; z-index:1;\r\n    transition:opacity 1.2s ease, visibility 0s linear 1.2s;\r\n  }\r\n  .hh-slide.is-active{ opacity:1; visibility:visible; z-index:2; transition:opacity 1.2s ease; }\r\n  .hh-slide-media{\r\n    position:absolute; inset:0; overflow:hidden;\r\n  }\r\n  .hh-slide-media img{\r\n    width:100%; height:100%; object-fit:cover; object-position:center;\r\n    transform:scale(1.12); transition:transform 7s linear;\r\n  }\r\n  .hh-slide.is-active .hh-slide-media img{ transform:scale(1); }\r\n  .hh-slide-overlay{\r\n    position:absolute; inset:0;\r\n    background:\r\n      linear-gradient(90deg, var(--hh-cream) 0%, rgba(255,253,251,.94) 26%, rgba(255,253,251,.62) 46%, rgba(255,253,251,0) 68%),\r\n      radial-gradient(ellipse 40% 60% at 10% 100%, rgba(201,162,39,.10) 0%, transparent 70%);\r\n  }\r\n  .hh-slide-content{\r\n    position:relative; z-index:3; height:100%; max-width:620px;\r\n    padding:0 6vw; display:flex; flex-direction:column; justify-content:center;\r\n  }\r\n  .hh-slide-eyebrow{ opacity:0; transform:translateY(12px); }\r\n  .hh-slide.is-active .hh-slide-eyebrow{ opacity:1; transform:translateY(0); transition:opacity .8s ease .35s, transform .8s cubic-bezier(.2,.7,.2,1) .35s; }\r\n  .hh-slide-h1{\r\n    margin-top:16px; opacity:0; transform:translateY(16px);\r\n  }\r\n  .hh-slide.is-active .hh-slide-h1{ opacity:1; transform:translateY(0); transition:opacity .9s ease .48s, transform .9s cubic-bezier(.2,.7,.2,1) .48s; }\r\n  .hh-slide-h1 .hh-line1{\r\n    display:block; font-family:'Fraunces',serif; font-weight:500; font-size:clamp(32px,4.4vw,50px);\r\n    line-height:1.08; letter-spacing:-.01em; color:var(--hh-ink);\r\n  }\r\n  .hh-slide-h1 .hh-line2{\r\n    display:block; font-family:'Mrs Saint Delafield',cursive; font-weight:400; font-size:clamp(38px,5.6vw,64px);\r\n    line-height:1; color:var(--hh-pink-deep); margin-top:2px;\r\n  }\r\n  .hh-slide-lede{ margin-top:18px; opacity:0; transform:translateY(14px); font-size:15.5px; line-height:1.75; color:var(--hh-ink-soft); max-width:420px; }\r\n  .hh-slide.is-active .hh-slide-lede{ opacity:1; transform:translateY(0); transition:opacity .9s ease .6s, transform .9s cubic-bezier(.2,.7,.2,1) .6s; }\r\n  .hh-slide-ctas{ display:flex; flex-wrap:wrap; gap:14px; margin-top:32px; opacity:0; transform:translateY(14px); }\r\n  .hh-slide.is-active .hh-slide-ctas{ opacity:1; transform:translateY(0); transition:opacity .9s ease .72s, transform .9s cubic-bezier(.2,.7,.2,1) .72s; }\r\n  .hh-slide-divider{\r\n    display:flex; align-items:center; gap:12px; margin-top:34px; max-width:180px;\r\n    opacity:0; transform:translateY(10px); color:var(--hh-gold);\r\n  }\r\n  .hh-slide.is-active .hh-slide-divider{ opacity:1; transform:translateY(0); transition:opacity .9s ease .84s, transform .9s ease .84s; }\r\n  .hh-slide-divider span{ flex:1; height:1px; background:var(--hh-line); }\r\n  .hh-slide-divider .hh-ic{ width:14px; height:14px; }\r\n\r\n  .hh-slider-dots{ position:absolute; z-index:4; left:6vw; bottom:34px; display:flex; gap:10px; }\r\n  .hh-slider-dot{ width:26px; height:3px; border-radius:2px; background:rgba(43,32,39,.2); border:none; padding:0; cursor:pointer; transition:background .3s ease, width .3s ease; }\r\n  .hh-slider-dot.is-active{ background:var(--hh-gold); width:40px; }\r\n\r\n  .hh-slider-count{\r\n    position:absolute; z-index:4; right:6vw; bottom:38px; font-size:11.5px; font-weight:700; letter-spacing:.08em;\r\n    color:var(--hh-ink-soft); display:flex; align-items:center; gap:6px;\r\n  }\r\n  .hh-slider-count b{ color:var(--hh-ink); font-size:13px; }\r\n\r\n  \/* ============================================================\r\n     2. ABOUT\r\n     ============================================================ *\/\r\n  .hh-about{ background:var(--hh-cream); }\r\n  .hh-about-grid{ display:grid; grid-template-columns:.9fr 1.1fr; gap:70px; align-items:center; }\r\n  .hh-about-frame{ aspect-ratio:4\/5; }\r\n  .hh-about-rule{ width:38px; height:1px; background:var(--hh-gold); margin:26px 0 0; }\r\n\r\n  \/* ============================================================\r\n     3. FEATURED CREATIONS\r\n     ============================================================ *\/\r\n  .hh-head-row{ display:flex; align-items:flex-end; justify-content:space-between; gap:24px; flex-wrap:wrap; }\r\n  .hh-feat-grid{ margin-top:50px; display:grid; grid-template-columns:1.15fr 1fr 1fr; grid-auto-rows:220px; gap:20px; }\r\n  .hh-feat-grid .hh-frame:first-child{ grid-row:span 2; }\r\n  .hh-feat-cap{\r\n    position:absolute; bottom:0; left:0; right:0; padding:16px 18px; font-size:11.5px; font-weight:600;\r\n    letter-spacing:.02em; background:linear-gradient(0deg, rgba(43,32,39,.65), transparent 70%); color:#fff;\r\n    opacity:0; transition:opacity .35s ease;\r\n  }\r\n  .hh-frame:hover .hh-feat-cap{ opacity:1; }\r\n\r\n  \/* ============================================================\r\n     4. WHAT WE BAKE\r\n     ============================================================ *\/\r\n  .hh-bake{ background:var(--hh-pink-mist); }\r\n  .hh-bake-grid{ margin-top:54px; display:grid; grid-template-columns:repeat(3,1fr); gap:0; }\r\n  .hh-bake-col{ padding:0 30px; text-align:center; position:relative; }\r\n  .hh-bake-col + .hh-bake-col::before{ content:\"\"; position:absolute; left:0; top:6px; bottom:6px; width:1px; background:var(--hh-line); }\r\n  .hh-bake-ic{ width:44px; height:44px; border-radius:50%; border:1px solid var(--hh-gold); display:flex; align-items:center; justify-content:center; margin:0 auto; color:var(--hh-pink-deep); }\r\n  .hh-bake-col h3{ font-family:'Fraunces',serif; font-weight:400; font-size:19px; margin-top:20px; }\r\n  .hh-bake-col p{ font-size:13.5px; color:var(--hh-ink-soft); line-height:1.7; margin-top:10px; max-width:240px; margin-left:auto; margin-right:auto; }\r\n\r\n  \/* ============================================================\r\n     5. TESTIMONIAL\r\n     ============================================================ *\/\r\n  .hh-quote{ font-family:'Fraunces',serif; font-weight:400; font-style:italic; font-size:clamp(20px,2.4vw,27px); line-height:1.5; color:var(--hh-ink); max-width:680px; margin:14px auto 0; }\r\n  .hh-quote-stars{ display:flex; gap:4px; justify-content:center; margin-bottom:6px; color:var(--hh-gold); }\r\n  .hh-quote-stars .hh-ic{ width:13px; height:13px; fill:var(--hh-gold); stroke:none; }\r\n  .hh-quote-who{ margin-top:26px; font-size:12.5px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--hh-ink-soft); }\r\n\r\n  \/* ============================================================\r\n     6. CLOSING CTA\r\n     ============================================================ *\/\r\n  .hh-cta{ background:var(--hh-ink); color:var(--hh-cream); text-align:center; }\r\n  .hh-cta .hh-eyebrow{ color:var(--hh-gold-soft); }\r\n  .hh-cta .hh-eyebrow::before{ background:var(--hh-gold-soft); }\r\n  .hh-cta .hh-h2{ color:var(--hh-cream); max-width:560px; margin-left:auto; margin-right:auto; }\r\n  .hh-cta .hh-lede{ color:rgba(255,253,251,.62); margin-left:auto; margin-right:auto; }\r\n  .hh-cta-ctas{ display:flex; flex-wrap:wrap; gap:14px; justify-content:center; margin-top:34px; }\r\n  .hh-cta .hh-btn--outline{ border-color:rgba(255,253,251,.3); color:var(--hh-cream); background:transparent; }\r\n  .hh-cta .hh-btn--outline:hover{ border-color:var(--hh-gold-soft); background:rgba(255,253,251,.06); }\r\n\r\n  \/* ============ responsive ============ *\/\r\n  @media (max-width:900px){\r\n    .hh-about-grid{ grid-template-columns:1fr; gap:40px; }\r\n    .hh-about-frame{ max-width:360px; margin:0 auto; }\r\n    .hh-feat-grid{ grid-template-columns:1fr 1fr; grid-auto-rows:200px; }\r\n    .hh-feat-grid .hh-frame:first-child{ grid-column:span 2; grid-row:span 1; aspect-ratio:16\/9; }\r\n    .hh-bake-grid{ grid-template-columns:1fr; gap:40px; }\r\n    .hh-bake-col + .hh-bake-col::before{ display:none; }\r\n\r\n    \/* HERO \u2014 boost contrast behind the bottom-anchored text so it\r\n       reads cleanly over any photo. *\/\r\n    .hh-slide-overlay{\r\n      background:\r\n        linear-gradient(180deg, rgba(255,253,251,.32) 0%, rgba(255,253,251,.62) 40%, var(--hh-cream) 82%),\r\n        linear-gradient(90deg, rgba(255,253,251,.6) 0%, rgba(255,253,251,.28) 60%);\r\n    }\r\n    .hh-slide-content{ max-width:100%; justify-content:flex-end; padding-bottom:86px; }\r\n    .hh-slide-eyebrow,\r\n    .hh-slide-h1 .hh-line1,\r\n    .hh-slide-h1 .hh-line2,\r\n    .hh-slide-lede{\r\n      text-shadow:0 2px 18px rgba(255,253,251,.95), 0 1px 3px rgba(255,253,251,.9);\r\n    }\r\n  }\r\n  @media (max-width:640px){\r\n    .hh-section{ padding:70px 22px; }\r\n    .hh-hero{ height:min(92vh,640px); }\r\n    .hh-feat-grid{ grid-template-columns:1fr; }\r\n    .hh-feat-grid .hh-frame:first-child{ grid-column:span 1; }\r\n    .hh-head-row{ flex-direction:column; align-items:flex-start; }\r\n    .hh-slider-count{ display:none; }\r\n  }\r\n<\/style>\r\n\r\n<!-- ============================================================ -->\r\n<!-- 1. HERO SLIDER \u2014 4 slides, autoplay, arrows + dots           -->\r\n<!-- ============================================================ -->\r\n<section id=\"hh-home\" class=\"hh-hero\" data-hh-slider>\r\n\r\n  <!-- SLIDE 1 -->\r\n  <div class=\"hh-slide is-active\">\r\n    <div class=\"hh-slide-media\">\r\n      <!-- PHOTO: slide 1 -->\r\n      <img decoding=\"async\" src=\"https:\/\/hannyscakes.co.uk\/wp-content\/uploads\/2026\/08\/99105fee5304ca146d378364c9e32421.jpg\" alt=\"Pastel celebration cake with fresh flowers, by Hanny's Cakes\" loading=\"eager\">\r\n    <\/div>\r\n    <div class=\"hh-slide-overlay\"><\/div>\r\n    <div class=\"hh-slide-content\">\r\n      <span class=\"hh-eyebrow hh-slide-eyebrow\">Handmade &middot; Baked to Order<\/span>\r\n      <h1 class=\"hh-slide-h1\"><span class=\"hh-line1\">Made with love,<\/span><span class=\"hh-line2\">just for you<\/span><\/h1>\r\n      <p class=\"hh-slide-lede\">Every cake hand-iced in soft pink and gold, from scratch, one order at a time.<\/p>\r\n      <div class=\"hh-slide-ctas\">\r\n        <a href=\"\/enquiry\" class=\"hh-btn hh-btn--primary\">Request a Quote\r\n          <svg class=\"hh-ic\" viewBox=\"0 0 24 24\"><path d=\"M5 12h14M13 6l6 6-6 6\"\/><\/svg>\r\n        <\/a>\r\n        <a href=\"\/gallery\" class=\"hh-btn hh-btn--outline\">View Gallery<\/a>\r\n      <\/div>\r\n      <div class=\"hh-slide-divider\"><span><\/span><svg class=\"hh-ic\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M12 21s-7.5-4.6-10-9.1C.5 8.4 2.3 5 6 5c2 0 3.4 1 4 2.3C10.6 6 12 5 14 5c3.7 0 5.5 3.4 4 6.9C19.5 16.4 12 21 12 21z\"\/><\/svg><span><\/span><\/div>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <!-- SLIDE 2 -->\r\n  <div class=\"hh-slide\">\r\n    <div class=\"hh-slide-media\">\r\n      <!-- PHOTO: slide 2 -->\r\n      <img decoding=\"async\" src=\"https:\/\/hannyscakes.co.uk\/wp-content\/uploads\/2026\/08\/fcdd5a1c7b9e660bcf3b42271acd8db9.jpg\" alt=\"Elegant tiered wedding cake by Hanny's Cakes\" loading=\"lazy\">\r\n    <\/div>\r\n    <div class=\"hh-slide-overlay\"><\/div>\r\n    <div class=\"hh-slide-content\">\r\n      <span class=\"hh-eyebrow hh-slide-eyebrow\">Two-Tier &middot; Three-Tier &middot; Bespoke<\/span>\r\n      <h1 class=\"hh-slide-h1\"><span class=\"hh-line1\">Wedding cakes,<\/span><span class=\"hh-line2\">built for the day<\/span><\/h1>\r\n      <p class=\"hh-slide-lede\">Tiered designs built around your colour palette, with a complimentary tasting consultation.<\/p>\r\n      <div class=\"hh-slide-ctas\">\r\n        <a href=\"\/enquiry\" class=\"hh-btn hh-btn--primary\">Request a Quote\r\n          <svg class=\"hh-ic\" viewBox=\"0 0 24 24\"><path d=\"M5 12h14M13 6l6 6-6 6\"\/><\/svg>\r\n        <\/a>\r\n        <a href=\"\/services\" class=\"hh-btn hh-btn--outline\">Wedding Cakes<\/a>\r\n      <\/div>\r\n      <div class=\"hh-slide-divider\"><span><\/span><svg class=\"hh-ic\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M12 21s-7.5-4.6-10-9.1C.5 8.4 2.3 5 6 5c2 0 3.4 1 4 2.3C10.6 6 12 5 14 5c3.7 0 5.5 3.4 4 6.9C19.5 16.4 12 21 12 21z\"\/><\/svg><span><\/span><\/div>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <!-- SLIDE 3 -->\r\n  <div class=\"hh-slide\">\r\n    <div class=\"hh-slide-media\">\r\n      <!-- PHOTO: slide 3 -->\r\n      <img decoding=\"async\" src=\"https:\/\/hannyscakes.co.uk\/wp-content\/uploads\/2026\/08\/bafd533e-5726-441f-a85d-a2deffc98587.png\" alt=\"Birthday cake, hand decorated by Hanny's Cakes\" loading=\"lazy\">\r\n    <\/div>\r\n    <div class=\"hh-slide-overlay\"><\/div>\r\n    <div class=\"hh-slide-content\">\r\n      <span class=\"hh-eyebrow hh-slide-eyebrow\">Birthdays &middot; Milestones<\/span>\r\n      <h1 class=\"hh-slide-h1\"><span class=\"hh-line1\">A cake designed<\/span><span class=\"hh-line2\">around the honouree<\/span><\/h1>\r\n      <p class=\"hh-slide-lede\">From first birthdays to milestone years, hand-decorated to match the celebration.<\/p>\r\n      <div class=\"hh-slide-ctas\">\r\n        <a href=\"\/enquiry\" class=\"hh-btn hh-btn--primary\">Request a Quote\r\n          <svg class=\"hh-ic\" viewBox=\"0 0 24 24\"><path d=\"M5 12h14M13 6l6 6-6 6\"\/><\/svg>\r\n        <\/a>\r\n        <a href=\"\/gallery\" class=\"hh-btn hh-btn--outline\">See Birthday Cakes<\/a>\r\n      <\/div>\r\n      <div class=\"hh-slide-divider\"><span><\/span><svg class=\"hh-ic\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M12 21s-7.5-4.6-10-9.1C.5 8.4 2.3 5 6 5c2 0 3.4 1 4 2.3C10.6 6 12 5 14 5c3.7 0 5.5 3.4 4 6.9C19.5 16.4 12 21 12 21z\"\/><\/svg><span><\/span><\/div>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <!-- SLIDE 4 -->\r\n  <div class=\"hh-slide\">\r\n    <div class=\"hh-slide-media\">\r\n      <!-- PHOTO: slide 4 -->\r\n      <img decoding=\"async\" src=\"https:\/\/hannyscakes.co.uk\/wp-content\/uploads\/2026\/08\/292c1a41-bf43-4d82-9dcd-f7652a84c0e5.png\" alt=\"Boxed cupcakes and dessert favours by Hanny's Cakes\" loading=\"lazy\">\r\n    <\/div>\r\n    <div class=\"hh-slide-overlay\"><\/div>\r\n    <div class=\"hh-slide-content\">\r\n      <span class=\"hh-eyebrow hh-slide-eyebrow\">Cupcakes &middot; Favours &middot; Gifting<\/span>\r\n      <h1 class=\"hh-slide-h1\"><span class=\"hh-line1\">Little bakes,<\/span><span class=\"hh-line2\">boxed with care<\/span><\/h1>\r\n      <p class=\"hh-slide-lede\">Boxed by the dozen in coordinating flavours \u2014 perfect for showers, favours and office parties.<\/p>\r\n      <div class=\"hh-slide-ctas\">\r\n        <a href=\"\/enquiry\" class=\"hh-btn hh-btn--primary\">Request a Quote\r\n          <svg class=\"hh-ic\" viewBox=\"0 0 24 24\"><path d=\"M5 12h14M13 6l6 6-6 6\"\/><\/svg>\r\n        <\/a>\r\n        <a href=\"\/services\" class=\"hh-btn hh-btn--outline\">Cupcakes &amp; Favours<\/a>\r\n      <\/div>\r\n      <div class=\"hh-slide-divider\"><span><\/span><svg class=\"hh-ic\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M12 21s-7.5-4.6-10-9.1C.5 8.4 2.3 5 6 5c2 0 3.4 1 4 2.3C10.6 6 12 5 14 5c3.7 0 5.5 3.4 4 6.9C19.5 16.4 12 21 12 21z\"\/><\/svg><span><\/span><\/div>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <div class=\"hh-slider-dots\" data-hh-dots>\r\n    <button class=\"hh-slider-dot is-active\" data-hh-goto=\"0\" aria-label=\"Slide 1\"><\/button>\r\n    <button class=\"hh-slider-dot\" data-hh-goto=\"1\" aria-label=\"Slide 2\"><\/button>\r\n    <button class=\"hh-slider-dot\" data-hh-goto=\"2\" aria-label=\"Slide 3\"><\/button>\r\n    <button class=\"hh-slider-dot\" data-hh-goto=\"3\" aria-label=\"Slide 4\"><\/button>\r\n  <\/div>\r\n\r\n  <div class=\"hh-slider-count\"><b data-hh-current>01<\/b>&nbsp;\/&nbsp;04<\/div>\r\n<\/section>\r\n\r\n<!-- ============================================================ -->\r\n<!-- 2. ABOUT                                                      -->\r\n<!-- ============================================================ -->\r\n<section id=\"hh-about\" class=\"hh-section hh-about\">\r\n  <div class=\"hh-wrap hh-about-grid\">\r\n    <div class=\"hh-frame hh-about-frame hh-observe\">\r\n      <!-- PHOTO: about -->\r\n      <img decoding=\"async\" src=\"https:\/\/hannyscakes.co.uk\/wp-content\/uploads\/2026\/08\/7172a7a5-6d20-4e1f-8ce2-a07693d0142f.png\" alt=\"Hanny hand-decorating a cake in the studio\" loading=\"lazy\">\r\n    <\/div>\r\n    <div class=\"hh-observe\">\r\n      <span class=\"hh-eyebrow\">Our Story<\/span>\r\n      <h2 class=\"hh-h2\">Baked by Hanny, for moments <em>that matter.<\/em><\/h2>\r\n      <p class=\"hh-lede\" style=\"max-width:460px\">What started as birthday cakes for family has grown, one referral at a time, into a studio trusted for life's biggest days \u2014 still baked in small batches with proper butter, real vanilla and good chocolate.<\/p>\r\n      <div class=\"hh-about-rule\"><\/div>\r\n      <a href=\"\/about\" class=\"hh-textlink\" style=\"margin-top:20px; display:inline-flex;\">Read our full story\r\n        <svg class=\"hh-ic\" viewBox=\"0 0 24 24\"><path d=\"M5 12h14M13 6l6 6-6 6\"\/><\/svg>\r\n      <\/a>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<!-- ============================================================ -->\r\n<!-- 3. FEATURED CREATIONS                                         -->\r\n<!-- ============================================================ -->\r\n<section id=\"hh-featured\" class=\"hh-section\">\r\n  <div class=\"hh-wrap\">\r\n    <div class=\"hh-head-row hh-observe\">\r\n      <div>\r\n        <span class=\"hh-eyebrow\">Our Work<\/span>\r\n        <h2 class=\"hh-h2\">A few recent favourites<\/h2>\r\n      <\/div>\r\n      <a href=\"\/gallery\" class=\"hh-textlink\">View full gallery\r\n        <svg class=\"hh-ic\" viewBox=\"0 0 24 24\"><path d=\"M5 12h14M13 6l6 6-6 6\"\/><\/svg>\r\n      <\/a>\r\n    <\/div>\r\n    <div class=\"hh-feat-grid hh-stagger\">\r\n      <div class=\"hh-frame hh-observe\" style=\"--i:0\">\r\n        <!-- PHOTO: featured 1 -->\r\n        <img decoding=\"async\" src=\"https:\/\/hannyscakes.co.uk\/wp-content\/uploads\/2026\/08\/fcdd5a1c7b9e660bcf3b42271acd8db9.jpg\" alt=\"Wedding Cake \u2014 Three Tier Ivory\" loading=\"lazy\">\r\n        <span class=\"hh-feat-cap\">Wedding Cake \u2014 Three Tier Ivory<\/span>\r\n      <\/div>\r\n      <div class=\"hh-frame hh-observe\" style=\"--i:1\">\r\n        <!-- PHOTO: featured 2 -->\r\n        <img decoding=\"async\" src=\"https:\/\/hannyscakes.co.uk\/wp-content\/uploads\/2026\/08\/bafd533e-5726-441f-a85d-a2deffc98587.png\" alt=\"Birthday Cake \u2014 Blush and Gold\" loading=\"lazy\">\r\n        <span class=\"hh-feat-cap\">Birthday Cake \u2014 Blush &amp; Gold<\/span>\r\n      <\/div>\r\n      <div class=\"hh-frame hh-observe\" style=\"--i:2\">\r\n        <!-- PHOTO: featured 3 -->\r\n        <img decoding=\"async\" src=\"https:\/\/hannyscakes.co.uk\/wp-content\/uploads\/2026\/08\/292c1a41-bf43-4d82-9dcd-f7652a84c0e5.png\" alt=\"Cupcakes \u2014 Boxed Set\" loading=\"lazy\">\r\n        <span class=\"hh-feat-cap\">Cupcakes \u2014 Boxed Set<\/span>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<!-- ============================================================ -->\r\n<!-- 4. WHAT WE BAKE                                               -->\r\n<!-- ============================================================ -->\r\n<section id=\"hh-bake\" class=\"hh-section hh-bake hh-center\">\r\n  <div class=\"hh-wrap\">\r\n    <span class=\"hh-eyebrow\">What We Bake<\/span>\r\n    <h2 class=\"hh-h2 hh-observe\">Three ways to celebrate<\/h2>\r\n\r\n    <div class=\"hh-bake-grid hh-stagger\">\r\n      <div class=\"hh-bake-col hh-observe\" style=\"--i:0\">\r\n        <div class=\"hh-bake-ic\"><svg class=\"hh-ic\" viewBox=\"0 0 24 24\"><path d=\"M4 21v-6a2 2 0 012-2h12a2 2 0 012 2v6\"\/><path d=\"M4 21h16\"\/><path d=\"M8 13V8a4 4 0 118 0v5\"\/><path d=\"M12 4V2\"\/><\/svg><\/div>\r\n        <h3>Celebration Cakes<\/h3>\r\n        <p>Birthdays, milestones and everyday joy \u2014 designed around the guest of honour.<\/p>\r\n      <\/div>\r\n      <div class=\"hh-bake-col hh-observe\" style=\"--i:1\">\r\n        <div class=\"hh-bake-ic\"><svg class=\"hh-ic\" viewBox=\"0 0 24 24\"><path d=\"M12 3l2.6 5.9 6.4.6-4.8 4.3 1.4 6.2L12 16.9 6.4 20l1.4-6.2L3 9.5l6.4-.6L12 3z\"\/><\/svg><\/div>\r\n        <h3>Wedding Cakes<\/h3>\r\n        <p>Elegant tiered cakes built around your colours, with a tasting consultation.<\/p>\r\n      <\/div>\r\n      <div class=\"hh-bake-col hh-observe\" style=\"--i:2\">\r\n        <div class=\"hh-bake-ic\"><svg class=\"hh-ic\" viewBox=\"0 0 24 24\"><path d=\"M6 10c0-3.3 2.7-6 6-6s6 2.7 6 6l-1.4 8.4a2 2 0 01-2 1.6h-5.2a2 2 0 01-2-1.6L6 10z\"\/><path d=\"M9 10h6\"\/><\/svg><\/div>\r\n        <h3>Cupcakes &amp; Favours<\/h3>\r\n        <p>Boxed by the dozen \u2014 perfect for gifting, showers and office parties.<\/p>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <a href=\"\/services\" class=\"hh-textlink hh-observe\" style=\"margin-top:48px; justify-content:center;\">See all services &amp; pricing\r\n      <svg class=\"hh-ic\" viewBox=\"0 0 24 24\"><path d=\"M5 12h14M13 6l6 6-6 6\"\/><\/svg>\r\n    <\/a>\r\n  <\/div>\r\n<\/section>\r\n\r\n<!-- ============================================================ -->\r\n<!-- 5. TESTIMONIAL                                                -->\r\n<!-- ============================================================ -->\r\n<section id=\"hh-testimonial\" class=\"hh-section hh-center\">\r\n  <div class=\"hh-wrap--narrow hh-observe\">\r\n    <div class=\"hh-quote-stars\">\r\n      <svg class=\"hh-ic\" viewBox=\"0 0 24 24\"><path d=\"M12 3l2.6 5.9 6.4.6-4.8 4.3 1.4 6.2L12 16.9 6.4 20l1.4-6.2L3 9.5l6.4-.6L12 3z\"\/><\/svg>\r\n      <svg class=\"hh-ic\" viewBox=\"0 0 24 24\"><path d=\"M12 3l2.6 5.9 6.4.6-4.8 4.3 1.4 6.2L12 16.9 6.4 20l1.4-6.2L3 9.5l6.4-.6L12 3z\"\/><\/svg>\r\n      <svg class=\"hh-ic\" viewBox=\"0 0 24 24\"><path d=\"M12 3l2.6 5.9 6.4.6-4.8 4.3 1.4 6.2L12 16.9 6.4 20l1.4-6.2L3 9.5l6.4-.6L12 3z\"\/><\/svg>\r\n      <svg class=\"hh-ic\" viewBox=\"0 0 24 24\"><path d=\"M12 3l2.6 5.9 6.4.6-4.8 4.3 1.4 6.2L12 16.9 6.4 20l1.4-6.2L3 9.5l6.4-.6L12 3z\"\/><\/svg>\r\n      <svg class=\"hh-ic\" viewBox=\"0 0 24 24\"><path d=\"M12 3l2.6 5.9 6.4.6-4.8 4.3 1.4 6.2L12 16.9 6.4 20l1.4-6.2L3 9.5l6.4-.6L12 3z\"\/><\/svg>\r\n    <\/div>\r\n    <p class=\"hh-quote\">\"More beautiful than I imagined, and it tasted even better. Hanny made the whole process feel effortless.\"<\/p>\r\n    <p class=\"hh-quote-who\">Tife &amp; Dami \u2014 Wedding Cake<\/p>\r\n  <\/div>\r\n<\/section>\r\n\r\n<!-- ============================================================ -->\r\n<!-- 6. CLOSING CTA                                                -->\r\n<!-- ============================================================ -->\r\n<section id=\"hh-cta\" class=\"hh-section hh-cta\">\r\n  <div class=\"hh-wrap--narrow hh-observe\">\r\n    <span class=\"hh-eyebrow\">Let's Get Baking<\/span>\r\n    <h2 class=\"hh-h2\">Tell us about your occasion<\/h2>\r\n    <p class=\"hh-lede\">We'll come back to you within 48 hours with a personalised quote.<\/p>\r\n    <div class=\"hh-cta-ctas\">\r\n      <a href=\"\/enquiry\" class=\"hh-btn hh-btn--primary\">Request a Quote\r\n        <svg class=\"hh-ic\" viewBox=\"0 0 24 24\"><path d=\"M5 12h14M13 6l6 6-6 6\"\/><\/svg>\r\n      <\/a>\r\n      <a href=\"\/contact\" class=\"hh-btn hh-btn--outline\">Contact Us<\/a>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<script>\r\n(function(){\r\n  \/* ---------- 1. Scroll-reveal (safe: page works with JS off) ---------- *\/\r\n  document.documentElement.classList.add('js-anim');\r\n  var targets = document.querySelectorAll('.hh-observe');\r\n  if('IntersectionObserver' in window){\r\n    var io = new IntersectionObserver(function(entries){\r\n      entries.forEach(function(e){\r\n        if(e.isIntersecting){ e.target.classList.add('in-view'); io.unobserve(e.target); }\r\n      });\r\n    }, { threshold:.16, rootMargin:'0px 0px -6% 0px' });\r\n    targets.forEach(function(t){ io.observe(t); });\r\n  } else {\r\n    targets.forEach(function(t){ t.classList.add('in-view'); });\r\n  }\r\n\r\n  \/* ---------- 2. Hero slider ---------- *\/\r\n  var root = document.querySelector('[data-hh-slider]');\r\n  if(!root) return;\r\n  var slides = root.querySelectorAll('.hh-slide');\r\n  var dots   = root.querySelectorAll('[data-hh-goto]');\r\n  var counter = root.querySelector('[data-hh-current]');\r\n  var i = 0, total = slides.length, timer = null, AUTOPLAY_MS = 6000;\r\n\r\n  function go(n){\r\n    i = (n + total) % total;\r\n    slides.forEach(function(s, idx){ s.classList.toggle('is-active', idx === i); });\r\n    dots.forEach(function(d, idx){ d.classList.toggle('is-active', idx === i); });\r\n    if(counter) counter.textContent = String(i+1).padStart(2,'0');\r\n  }\r\n  function next(){ go(i+1); }\r\n  function prev(){ go(i-1); }\r\n  function play(){ stop(); timer = setInterval(next, AUTOPLAY_MS); }\r\n  function stop(){ if(timer) clearInterval(timer); }\r\n\r\n  dots.forEach(function(d){\r\n    d.addEventListener('click', function(){ go(parseInt(d.getAttribute('data-hh-goto'),10)); play(); });\r\n  });\r\n  root.addEventListener('mouseenter', stop);\r\n  root.addEventListener('mouseleave', play);\r\n\r\n  go(0);\r\n  play();\r\n})();\r\n<\/script>\r\n\r\n<\/div>\r\n<\/body>\r\n<\/html>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Hanny&#8217;s Cakes \u2014 Homepage v3 Handmade &middot; Baked to Order Made with love,just for you Every cake hand-iced in soft [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"site-sidebar-layout":"no-sidebar","site-content-layout":"","ast-site-content-layout":"full-width-container","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-12","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/hannyscakes.co.uk\/index.php?rest_route=\/wp\/v2\/pages\/12","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hannyscakes.co.uk\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/hannyscakes.co.uk\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/hannyscakes.co.uk\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/hannyscakes.co.uk\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=12"}],"version-history":[{"count":7,"href":"https:\/\/hannyscakes.co.uk\/index.php?rest_route=\/wp\/v2\/pages\/12\/revisions"}],"predecessor-version":[{"id":33,"href":"https:\/\/hannyscakes.co.uk\/index.php?rest_route=\/wp\/v2\/pages\/12\/revisions\/33"}],"wp:attachment":[{"href":"https:\/\/hannyscakes.co.uk\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=12"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}