/*
 * Origins / Budget Bubbles public website experience · 2026 edition
 * Presentation-only, deliberately scoped to public React containers.
 * The CMS, event enquiry submitters, forms, theme variables and page builder
 * remain the source of truth. No DOM structure or app code is replaced.
 */
:root { color-scheme: light; }
html { scroll-padding-top: 96px; }
body { overflow-x: clip; }
:where(.site-wrapper,.bb-page) :where(button,a,input,select,textarea):focus-visible {
  outline: 3px solid #ddac60; outline-offset: 3px;
}
:where(.site-wrapper,.bb-page) :where(img,video) { max-width:100%; }
@media (prefers-reduced-motion: reduce) {
  html {scroll-behavior:auto !important;}
  :where(.site-wrapper,.bb-page) *, :where(.site-wrapper,.bb-page) *::before,
  :where(.site-wrapper,.bb-page) *::after {animation-duration:.01ms !important;transition-duration:.01ms !important;scroll-behavior:auto !important;}
}

/* ────────────────── ORIGINS : EDITORIAL CELEBRATIONS ────────────────── */
.site-wrapper {
  --oe-dark:var(--green-dark,#14251f); --oe-ink:#23332b; --oe-paper:var(--cream,#fcfaf5);
  --oe-border:#e5ded0; --oe-shadow:0 24px 70px rgba(24,39,31,.12);
  background:var(--oe-paper); color:var(--oe-ink);
}
.site-wrapper .container {width:min(91.5%,1300px);}
.site-wrapper .site-header {transition:background .25s ease,box-shadow .25s ease;}
.site-wrapper .site-header:not(.scrolled) {
  background:linear-gradient(180deg,rgba(8,21,16,.75),rgba(8,21,16,.12));
  border-color:rgba(255,255,255,.12);
}
.site-wrapper .site-header.scrolled {
  background:rgba(252,249,242,.96);border-color:#e9e1d2;
  box-shadow:0 14px 45px rgba(20,37,31,.09);
}
@supports (backdrop-filter:blur(12px)) {
  .site-wrapper .site-header.scrolled {backdrop-filter:blur(18px);}
}
.site-wrapper .nav-inner {min-height:88px;gap:20px;}
.site-wrapper .site-header.scrolled .nav-inner {min-height:73px;}
.site-wrapper .brand {gap:11px;}
.site-wrapper .brand-logo {width:50px;height:50px;object-fit:cover;box-shadow:0 0 0 4px rgba(255,255,255,.11);}
.site-wrapper .brand-text strong {font-size:1.65rem;letter-spacing:-.03em;line-height:1;}
.site-wrapper .brand-text small {letter-spacing:.2em;margin-top:6px;font-size:.57rem;}
.site-wrapper .nav {gap:clamp(12px,1.6vw,25px);}
.site-wrapper .nav a {font-size:.81rem;letter-spacing:.015em;}
.site-wrapper .nav .nav-cta {border:0;padding:11px 20px;min-height:46px;border-radius:999px;
  background:color-mix(in srgb,var(--gold,#c9a24b) 55%,#fff4d4);color:#203229 !important;font-weight:750;box-shadow:0 8px 25px #050b0840;}
.site-wrapper .site-header.scrolled .nav .nav-cta {box-shadow:0 7px 20px #17251a1c;}
.site-wrapper .nav .nav-cta:hover {background:#f7dca6;transform:translateY(-2px);}
.site-wrapper .hero {
  isolation:isolate;min-height:min(900px,100svh);min-height:750px;
  background-color:#1c2b22; background-position:center 58%;
}
.site-wrapper .hero-overlay {
  background:linear-gradient(90deg,rgba(8,24,19,.93) 0%,rgba(9,25,19,.79) 33%,rgba(9,25,19,.3) 71%,rgba(9,25,19,.1)),
    linear-gradient(0deg,rgba(8,23,17,.67) 0%,transparent 40%),
    linear-gradient(180deg,rgba(8,23,17,.4),transparent 23%);
}
.site-wrapper .hero-content {width:min(91.5%,1300px);max-width:none;padding:clamp(160px,16vw,215px) 0 45px;}
.site-wrapper .hero-main {grid-template-columns:minmax(0,1.3fr) minmax(175px,.4fr);gap:32px;}
.site-wrapper .hero-copy {padding:30px 0 52px;}
.site-wrapper .hero .eyebrow {
  display:inline-flex;max-width:fit-content;align-items:center;gap:10px;
  margin-bottom:26px;padding:10px 16px 10px 13px;
  border:1px solid #f8e6bd5e;border-radius:100px;background:rgba(250,235,199,.1);
  color:#f9e1ad;letter-spacing:.18em;font-size:.7rem;
}
.site-wrapper .hero .eyebrow::before {width:16px;height:16px;border-radius:50%;background:#f6d99b;
  box-shadow:inset 0 0 0 5px #18392b,0 0 0 1px #f6d99b;}
.site-wrapper .hero h1 {max-width:930px;margin-bottom:29px;font-size:clamp(3.65rem,6.7vw,7.55rem);
  font-weight:500;letter-spacing:-.055em;line-height:.99;text-wrap:balance;}
.site-wrapper .hero h1 span {color:#f1d39a;}
.site-wrapper .hero-sub {max-width:560px;color:#f6f4eadf;font-size:clamp(.98rem,1.3vw,1.15rem);line-height:1.83;margin-bottom:32px;}
.site-wrapper .hero-actions {gap:20px;}
.site-wrapper .hero-primary {min-height:55px;border-radius:100px;padding:13px 24px;
  background:color-mix(in srgb,var(--gold,#c9a24b) 58%,#fff0cb);border-color:var(--gold,#c9a24b);color:#17342b;font-size:.91rem;font-weight:700;
  box-shadow:0 10px 25px #0003;}
.site-wrapper .hero-primary:hover {background:#ffe0a7;border-color:#ffe0a7;box-shadow:0 15px 34px #0004;}
.site-wrapper .hero-secondary {color:#fff;font-weight:600;border-bottom:1px solid #ebd6afab;padding-bottom:6px;}
.site-wrapper .hero-note {justify-self:end;align-self:center;margin:5px 0 44px;padding:23px 24px 27px;
  max-width:245px;border-radius:3px 55px 3px 3px;border:1px solid #f9e2b25c;
  background:rgba(11,28,22,.58);backdrop-filter:blur(9px);}
.site-wrapper .hero-note p {font-size:clamp(1.7rem,2.4vw,2.4rem);color:#fff9ed;line-height:1.14;}
.site-wrapper .hero-note-caption {font-size:.66rem;letter-spacing:.13em;}
.site-wrapper .hero-stats {max-width:760px;padding-top:19px;margin-top:7px;border-top:1px solid #fff5d66e;}
.site-wrapper .hero-stats strong {font-size:clamp(1.5rem,2.4vw,2.05rem);color:#f8d99d;}
.site-wrapper .hero-stats div>span {font-size:.7rem;line-height:1.5;letter-spacing:.02em;}
.site-wrapper .hero-category-links {max-width:850px;gap:8px;margin-top:18px;color:#ffedca;}
.site-wrapper .hero-category-links>span {font-style:normal;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;}
.site-wrapper .hero-category-links button {padding:7px 11px;border:1px solid #fff6d052;border-radius:40px;
  background:#fff6d00d;font-size:.78rem;transition:background .2s,color .2s;}
.site-wrapper .hero-category-links button:hover {background:#ffe0a7;color:#24352a;}
.site-wrapper .scroll-cue {bottom:40px;}
.site-wrapper .section {padding:clamp(68px,7.4vw,110px) 0;}
.site-wrapper .section-alt {background:#f1eee6;}
.site-wrapper .eyebrow {letter-spacing:.22em;font-size:.7rem;color:#95733a;}
.site-wrapper :is(.section-head h2,.services-heading h2,.process-heading h2,.contact-info h2,.faq-heading h2) {
  color:#1e3529;font-size:clamp(2.5rem,4.3vw,4.5rem);font-weight:500;line-height:1.08;
  letter-spacing:-.042em;text-wrap:balance;
}
.site-wrapper .section-lead {color:#617064;font-size:1.01rem;line-height:1.8;}
.site-wrapper .services-heading {grid-template-columns:1.1fr .75fr;gap:45px;margin-bottom:32px;align-items:end;}
.site-wrapper .services-intro .section-lead {font-size:1.02rem;}
.site-wrapper .services-cta,.site-wrapper .process-link {font-weight:700;color:#2c503e;}
.site-wrapper .service-picker {margin:0 0 26px;}
.site-wrapper .service-categories {display:flex;flex-wrap:wrap;gap:10px;}
.site-wrapper .service-category {border:1px solid #ded6c7;border-radius:999px;padding:10px 18px;
  background:#fffdf9;color:#465a4d;font-size:.85rem;font-weight:600;min-height:43px;
  box-shadow:0 2px 5px #1a261711;}
.site-wrapper .service-category:hover {border-color:#af975f;background:#f8f1e3;}
.site-wrapper .service-category.active {background:var(--green,#254d3c);color:#fff;border-color:var(--green,#254d3c);box-shadow:0 6px 15px #244a3b22;}
.site-wrapper .services-grid {gap:19px;grid-template-rows:repeat(4,minmax(205px,17vw));}
.site-wrapper .service {border-radius:23px;box-shadow:0 8px 23px #283a3020;transition:transform .3s,box-shadow .3s;}
.site-wrapper .service:hover {transform:translateY(-5px);box-shadow:0 22px 46px #283a3033;}
.site-wrapper .service:after {background:linear-gradient(180deg,#0e21191a,#0e211935 34%,#0e2119ed 100%);}
.site-wrapper .service-content {padding:24px 25px 24px;}
.site-wrapper .service:nth-child(-n+2) .service-content {padding:33px;}
.site-wrapper .service-meta {gap:10px;}
.site-wrapper .service-number {font-size:1.25rem;color:#fff4dc;}
.site-wrapper .service-icon {background:#fff3dfe9;box-shadow:0 6px 13px #0002;width:47px;height:47px;}
.site-wrapper .service h3 {font-size:clamp(1.35rem,1.8vw,2.3rem);font-weight:500;line-height:1.13;letter-spacing:-.02em;}
.site-wrapper .service:nth-child(-n+2) h3 {font-size:clamp(1.65rem,2.5vw,2.8rem);}
.site-wrapper .service p {max-width:410px;font-size:.87rem;line-height:1.6;}
.site-wrapper .service-link {min-height:27px;font-size:.85rem;color:#f5d390;text-decoration:underline;text-decoration-color:#fff4cc66;text-underline-offset:5px;}
.site-wrapper .services-grid.services-filtered {grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto;}
.site-wrapper .services-grid.services-filtered .service {min-height:355px;}
.site-wrapper #process {background:#eaece3;}
.site-wrapper .process-heading {margin-bottom:38px;}
.site-wrapper .steps {gap:14px;}
.site-wrapper .steps:before {display:none;}
.site-wrapper .step,.site-wrapper .step:not(:first-child) {padding:26px 24px 28px;min-height:245px;
  background:#fffcf6;border:1px solid #dce0d5;border-radius:20px;box-shadow:0 10px 25px #2444360c;}
.site-wrapper .step-num {width:50px;height:50px;margin-bottom:26px;background:#ecf1e8;border-color:#cad4c1;color:#2e563e;font-size:1.35rem;}
.site-wrapper .step h3 {font-size:clamp(1.4rem,2vw,2rem);font-weight:500;}
.site-wrapper .step-description {font-size:.87rem;color:#617165;}
.site-wrapper .gallery {gap:13px;}
.site-wrapper .g-item {border-radius:20px;}
.site-wrapper .faq-heading {border-radius:27px;background:#f5eee0;box-shadow:none;}
.site-wrapper .faq-item {border:1px solid #e2e5dd;border-radius:14px;margin-bottom:4px;background:#fff;}
.site-wrapper .faq-question {font-size:1.02rem;}
.site-wrapper .contact-grid {gap:60px;}
.site-wrapper .contact-form {background:#fff;border:1px solid #e8e1d5;border-radius:25px;
  padding:clamp(23px,3vw,38px);box-shadow:var(--oe-shadow);}
.site-wrapper :is(.field input,.field select,.field textarea,.quote-field input,.quote-field select) {
  min-height:48px;border-color:#dfe3d9;background:#fbfcf9;border-radius:11px;}
.site-wrapper .field textarea {min-height:118px;}
.site-wrapper .contact-form .btn {border-radius:50px;background:var(--green,#284e3b);color:#fff;min-height:52px;}
.site-wrapper .form-intro {border-radius:13px;}
.site-wrapper .quotation-section {background:#f5f2ea;}
.site-wrapper .quotation-builder {border-radius:25px;background:#fff;box-shadow:0 16px 43px #24352811;}
.site-wrapper .quote-add-button {border-radius:100px;}
.site-wrapper .testimonial-card {border-radius:23px;}
.site-wrapper .float-cta {box-shadow:0 10px 30px #1b54387a;}

/* ────────────────── BUDGET BUBBLES : HAPPY, EASY, AFFORDABLE ────────────────── */
.bb-page {
  --bb-pop:color-mix(in srgb,var(--bb-rose,#d49a94) 57%,#bc4936);--bb-lilac:#efe8fb;--bb-peach:#fff0e7;
  --bb-sun:#ffda87;--bb-stroke:#efe1d9;--bb-strong:#293e37;
  color:#304239;background:#fffdf8;
  font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
}
.bb-page .bb-header {position:relative;width:min(92%,1260px);min-height:90px;gap:20px;}
.bb-page::before {content:"";display:block;height:5px;background:linear-gradient(90deg,#ec8572 0 24%,#ffd782 24% 49%,#86bd9e 49% 75%,#c5b4f0 75%);}
.bb-page .bb-brand {gap:12px;}
.bb-page .bb-brand img {width:53px;height:53px;border:2px solid #fff;border-radius:15px;
  box-shadow:0 6px 20px #774d361b;}
.bb-page .bb-brand strong {color:#294d3b;font-size:1.22rem;font-weight:800;letter-spacing:-.045em;}
.bb-page .bb-brand small {letter-spacing:.01em;color:#847c70;font-size:.67rem;}
.bb-page .bb-nav {gap:clamp(10px,1.8vw,25px);color:#46554a;font-size:.87rem;font-weight:650;}
.bb-page .bb-nav>a:not(.bb-nav-cta) {transition:color .2s;}
.bb-page .bb-nav>a:not(.bb-nav-cta):hover {color:#d45e4b;}
.bb-page .bb-nav .bb-nav-cta {display:inline-flex;align-items:center;justify-content:center;
  min-height:47px;padding:10px 21px;border:0;border-radius:100px;
  background:var(--bb-green,#2d6449);color:#fff;font-weight:800;box-shadow:0 8px 22px #24573d24;}
.bb-page .bb-nav .bb-nav-cta:hover {background:#21503a;transform:translateY(-2px);}
.bb-page .bb-hero {position:relative;isolation:isolate;width:min(92%,1260px);
  grid-template-columns:minmax(0,1fr) minmax(0,.89fr);gap:clamp(32px,5.5vw,86px);
  min-height:650px;margin:14px auto 20px;padding:58px clamp(2px,1.1vw,14px) 64px;}
.bb-page .bb-hero::before {content:"";position:absolute;z-index:-2;inset:0 max(-4.35vw,-68px) -18px;
  border-radius:45px;background:
  radial-gradient(circle at 85% 4%,#ffdfb7 0 7%,transparent 28%),
  radial-gradient(circle at 7% 91%,#e3f4df 0 12%,transparent 35%),
  linear-gradient(120deg,#fff2eb 4%,#fffaf2 51%,#f5eaff 100%);}
.bb-page .bb-hero::after {content:"✳";position:absolute;z-index:-1;left:49%;top:21px;
  color:#edac86;font-size:85px;line-height:1;opacity:.55;transform:rotate(-18deg);pointer-events:none;}
.bb-page .bb-hero-copy {position:relative;max-width:660px;padding:0 0 0 7px;}
.bb-page .bb-eyebrow {display:inline-flex;align-items:center;gap:7px;
  border-radius:100px;padding:9px 14px;background:#ffded0;color:#9c483a;
  font:750 .73rem/1.4 ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  text-transform:uppercase;letter-spacing:.09em;}
.bb-page .bb-hero h1 {max-width:670px;margin:18px 0 22px;color:#264738;
  font-family:Georgia,"Times New Roman",serif;font-weight:600;
  font-size:clamp(3.2rem,5.6vw,6.05rem);line-height:1.01;letter-spacing:-.058em;
  text-wrap:balance;}
.bb-page .bb-hero h1 em {font-style:italic;color:var(--bb-pop);}
.bb-page .bb-hero-lead {max-width:490px;font-size:1.05rem;line-height:1.75;color:#5a695b;margin-bottom:17px;}
.bb-page .bb-price-note {display:inline-flex;align-items:center;gap:9px;margin:0 0 11px;
  border-radius:100px;background:#fff8ea;border:1px solid #f3dcb3;
  padding:9px 15px;color:#715b3d;font-size:.82rem;box-shadow:0 4px 14px #d9a36d15;}
.bb-page .bb-price-note strong {color:#2e5a42;}
.bb-page .bb-price-note i {color:#e77d66;}
.bb-page .bb-quick-enquiry {position:relative;z-index:1;max-width:535px;
  margin:22px 0 14px;padding:23px;gap:14px 17px;border:1px solid #f3ddd0;border-radius:23px;
  background:#fffefa;box-shadow:0 20px 45px #ad7b5b22;}
.bb-page .bb-quick-heading strong {color:#324c3d;font-size:1.03rem;}
.bb-page .bb-quick-heading small {color:#777b72;}
.bb-page :is(.bb-quick-field select,.bb-budget-field input,.bb-booking-form .bb-quick-field input,.bb-booking-form .bb-quick-field textarea) {
  border-radius:12px;min-height:48px;border:1px solid #e5ded4;background:#fff;color:#394f42;}
.bb-page .bb-quick-cta {min-height:47px;padding:10px 20px;border-radius:999px;
  background:var(--bb-pop);color:#fff!important;border-color:var(--bb-pop);font-weight:760;
  box-shadow:0 6px 16px #e9746052;}
.bb-page .bb-quick-cta:hover {background:#cd5947;border-color:#cd5947;transform:translateY(-2px);}
.bb-page .bb-primary {border-radius:100px;min-height:50px;padding:11px 23px;
  border:1px solid #315f48;background:var(--bb-green,#315f48);color:#fff!important;font-weight:750;}
.bb-page .bb-hero-photo {position:relative;z-index:1;width:100%;height:min(510px,40vw);
  max-height:none;min-height:370px;border:11px solid #fff;border-radius:32px 32px 125px 32px;
  background:#f2e0d5;box-shadow:0 32px 70px #6d655037;transform:rotate(2deg);}
.bb-page .bb-hero-photo::before {content:"";position:absolute;inset:-26px -29px 24px 21px;
  z-index:-1;border:2px dashed #e3a18e;border-radius:40px 40px 140px 40px;transform:rotate(3deg);pointer-events:none;}
.bb-page .bb-hero-photo :is(img,video) {border-radius:22px 22px 115px 22px;object-fit:cover;}
.bb-page .bb-photo-stamp {right:-30px;bottom:-25px;width:125px;height:125px;
  border:6px solid #fff;background:#ffd677;color:#6b442c;
  box-shadow:0 10px 30px #6e5d3538;transform:rotate(9deg);font-family:Georgia,serif;}
.bb-page .bb-photo-stamp strong {font-size:1.15rem;}
.bb-page .bb-price-disclaimer {max-width:510px;line-height:1.7;color:#857f75;}
.bb-page .bb-occasions {margin-top:16px;padding:clamp(65px,7vw,95px) max(4%,calc((100% - 1260px)/2)) clamp(70px,7vw,100px);
  background:#fff9f5;border-top:1px solid #f4e7db;}
.bb-page .bb-section-heading {max-width:710px;margin-bottom:36px;}
.bb-page .bb-section-heading h2,.bb-page .bb-how h2 {
  font-family:Georgia,"Times New Roman",serif;color:#264c3b;
  font-size:clamp(2.6rem,4.4vw,4.4rem);font-weight:600;letter-spacing:-.05em;line-height:1.1;text-wrap:balance;}
.bb-page .bb-section-heading>p:last-child {max-width:570px;margin:16px auto 0;font-size:1rem;line-height:1.75;color:#6b776a;}
.bb-page .bb-category-grid {gap:22px;grid-template-columns:repeat(4,minmax(0,1fr));}
.bb-page .bb-category-card {position:relative;display:flex;flex-direction:column;
  background:#fff;border:1px solid #efebe3;border-radius:25px;
  box-shadow:0 10px 26px #8b786015;transform:translateY(0);}
.bb-page .bb-category-card:hover {box-shadow:0 20px 42px #8b786035;transform:translateY(-7px);}
.bb-page .bb-card-image {height:240px;background:#f6ebdf;overflow:hidden;}
.bb-page .bb-category-card:nth-child(4n+1) .bb-card-image {background:#f1dfed;}
.bb-page .bb-category-card:nth-child(4n+2) .bb-card-image {background:#e5efe4;}
.bb-page .bb-category-card:nth-child(4n+3) .bb-card-image {background:#fde9d8;}
.bb-page .bb-card-image :is(img,video) {object-fit:cover;}
.bb-page .bb-card-number {width:38px;height:38px;top:14px;left:14px;
  color:#305841;background:#fff;border-radius:14px;box-shadow:0 4px 12px #554c4326;font-weight:800;}
.bb-page .bb-card-copy {display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:22px 21px 24px;}
.bb-page .bb-card-copy h3 {color:#2c503c;font:700 1.18rem/1.32 ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;letter-spacing:-.03em;}
.bb-page .bb-card-copy p {min-height:auto;flex:1;margin:10px 0 20px;color:#6c786b;font-size:.88rem;line-height:1.67;}
.bb-page .bb-card-link {min-height:36px;padding:8px 12px;border-radius:100px;background:#ffeddf;color:#a64e43;font-size:.83rem;font-weight:800;}
.bb-page .bb-category-card:hover .bb-card-link {background:#ed735f;color:#fff;}
.bb-page .bb-budget-strip {width:min(92%,1080px);border:0;margin:60px auto 38px;padding:29px 34px;
  border-radius:23px;background:var(--bb-green,#304f3e);box-shadow:0 15px 30px #38503a29;gap:20px;}
.bb-page .bb-budget-icon {width:53px;height:53px;flex-basis:53px;background:#f9d89f;color:#614e36;font-size:1.5rem;}
.bb-page .bb-budget-strip p {color:#eff5e9;font-size:.98rem;line-height:1.6;}
.bb-page .bb-budget-strip p strong {color:#ffe1a9;}
.bb-page .bb-budget-strip>a {display:inline-flex;align-items:center;justify-content:center;
  padding:11px 18px;border-radius:100px;background:#ffe0a4;color:#304b39;font-weight:800;}
.bb-page .bb-how {width:min(92%,1080px);margin-bottom:64px;padding:36px 0 0;border-color:#e7ded7;gap:30px;}
.bb-page .bb-how>p {font-size:1rem;line-height:1.75;}
.bb-page .bb-kids-game {width:min(92%,1080px);margin-bottom:50px;border-radius:28px;
  border:1px solid #ecdfda;background:#fcf3fa;box-shadow:0 12px 36px #64485c0d;}
.bb-page .bb-kids-game-copy h2 {font-family:Georgia,serif;font-size:clamp(2rem,3.7vw,3.5rem);font-weight:600;color:#354939;}
.bb-page .bb-kids-game-field {border-radius:21px;border-color:#e9dce5;}
.bb-page .bb-event-planner {width:min(92%,1080px);border:1px solid #f0e2cf;border-radius:27px;
  background:#fef6e5;}
.bb-page .bb-planner-check {border-radius:14px;background:#fff;border:1px solid #f0e5d4;}
.bb-page .bb-planner-check input {accent-color:#2d7350;}
.bb-page .bb-planner-share {padding:10px 19px;border-radius:100px;background:#315f48;}
.bb-page .bb-footer {min-height:140px;background:#2b4738;border:0;gap:22px;}
.bb-page .bb-footer>p,.bb-page .bb-footer>a:last-child {color:#fff7e3;font-size:.87rem;line-height:1.7;}
.bb-page .bb-footer a:hover {color:#ffe0a4!important;}
.bb-page .bb-floating-chat {box-shadow:0 9px 25px #225f4259;}

@media(max-width:1100px) {
  .site-wrapper .nav {gap:13px;}
  .site-wrapper .nav a {font-size:.75rem;}
  .site-wrapper .nav .nav-cta {padding:10px 13px;}
  .site-wrapper .hero h1 {font-size:clamp(3.5rem,7vw,6.7rem);}
  .site-wrapper .services-heading {grid-template-columns:1fr .8fr;}
  .bb-page .bb-hero {gap:32px;}
  .bb-page .bb-category-grid {gap:15px;}
  .bb-page .bb-card-image {height:205px;}
}
@media(max-width:900px) {
  .site-wrapper .hero {min-height:720px;}
  .site-wrapper .hero-note {max-width:188px;padding:18px;}
  .site-wrapper .hero-note p {font-size:1.65rem;}
  .site-wrapper .services-grid.services-filtered {grid-template-columns:repeat(2,minmax(0,1fr));}
  .site-wrapper .steps {grid-template-columns:repeat(2,minmax(0,1fr));}
  .site-wrapper .step {min-height:212px;}
  .bb-page .bb-hero {grid-template-columns:1fr .76fr;gap:23px;min-height:0;}
  .bb-page .bb-hero h1 {font-size:clamp(2.8rem,5.5vw,4.3rem);}
  .bb-page .bb-hero-photo {height:400px;min-height:320px;}
  .bb-page .bb-category-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
  .bb-page .bb-card-image {height:260px;}
}
@media(max-width:760px) {
  html {scroll-padding-top:77px;}
  .site-wrapper .container {width:min(91%,620px);}
  .site-wrapper .nav-inner {min-height:75px;padding:11px 0;}
  .site-wrapper .brand-logo {width:43px;height:43px;}
  .site-wrapper .brand-text strong {font-size:1.4rem;}
  .site-wrapper .hero {min-height:min(860px,100svh);min-height:730px;background-position:55% center;}
  .site-wrapper .hero-overlay {background:linear-gradient(90deg,#0c211ad9,#11261e91),linear-gradient(0deg,#0c211ae8,transparent 80%);}
  .site-wrapper .hero-content {padding:132px 0 35px;width:min(91%,620px);}
  .site-wrapper .hero-main {display:block;}
  .site-wrapper .hero-copy {padding:20px 0 45px;max-width:100%;}
  .site-wrapper .hero .eyebrow {font-size:.61rem;letter-spacing:.12em;}
  .site-wrapper .hero h1 {font-size:clamp(3.1rem,11.6vw,5.7rem);max-width:650px;line-height:1.01;}
  .site-wrapper .hero-sub {font-size:.99rem;line-height:1.72;}
  .site-wrapper .hero-note {display:none;}
  .site-wrapper .hero-stats {max-width:100%;}
  .site-wrapper .hero-stats div+div {margin-left:20px;padding-left:20px;}
  .site-wrapper .hero-category-links {gap:7px;margin-top:18px;}
  .site-wrapper .hero-category-links button {font-size:.72rem;}
  .site-wrapper .scroll-cue {display:none;}
  .site-wrapper :is(.section-head h2,.services-heading h2,.process-heading h2,.contact-info h2,.faq-heading h2) {font-size:clamp(2.5rem,8vw,3.8rem);}
  .site-wrapper .services-heading,.site-wrapper .process-heading {display:grid;grid-template-columns:1fr;gap:16px;}
  .site-wrapper .services-intro,.site-wrapper .process-intro {justify-self:start;max-width:620px;}
  .site-wrapper .services-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:minmax(300px,auto);gap:12px;}
  .site-wrapper .service:nth-child(n),.site-wrapper .services-grid.services-filtered .service:nth-child(n) {grid-column:auto;grid-row:auto;min-height:290px;}
  .site-wrapper .service:nth-child(-n+2) .service-content {padding:22px;}
  .site-wrapper .service-content {padding:20px;}
  .site-wrapper .service h3,.site-wrapper .service:nth-child(-n+2) h3 {font-size:1.65rem;}
  .site-wrapper .service .service-includes {display:none;}
  .site-wrapper .service p {font-size:.81rem;}
  .site-wrapper .contact-grid {grid-template-columns:1fr;gap:27px;}
  .bb-page .bb-header {min-height:74px;width:min(92%,620px);}
  .bb-page .bb-brand img {width:44px;height:44px;}
  .bb-page .bb-brand strong {font-size:1.06rem;}
  .bb-page .bb-nav {gap:12px;}
  .bb-page .bb-nav .bb-nav-cta {min-height:40px;padding:8px 13px;}
  .bb-page .bb-hero {width:min(92%,620px);display:grid;grid-template-columns:1fr;gap:35px;padding:36px 0 48px;margin-top:7px;}
  .bb-page .bb-hero::before {inset:0 -4.4vw 4px;border-radius:25px;}
  .bb-page .bb-hero::after {left:auto;right:10px;top:8px;font-size:50px;}
  .bb-page .bb-hero-copy {max-width:none;padding:0 5px;}
  .bb-page .bb-hero h1 {max-width:620px;font-size:clamp(3rem,9vw,4.9rem);}
  .bb-page .bb-hero-photo {width:min(91%,480px);height:360px;min-height:0;justify-self:center;transform:rotate(1deg);}
  .bb-page .bb-occasions {padding:65px 4% 80px;}
  .bb-page .bb-section-heading h2,.bb-page .bb-how h2 {font-size:clamp(2.5rem,7.5vw,3.6rem);}
  .bb-page .bb-budget-strip {margin-top:38px;}
}
@media(max-width:520px) {
  .site-wrapper .hero {min-height:790px;}
  .site-wrapper .hero h1 {font-size:clamp(3rem,12.7vw,4.1rem);}
  .site-wrapper .hero-primary {min-height:52px;padding:11px 17px;}
  .site-wrapper .hero-actions {gap:14px;}
  .site-wrapper .hero-sub {font-size:.93rem;}
  .site-wrapper .hero-stats div+div {margin-left:13px;padding-left:13px;}
  .site-wrapper .hero-stats strong {font-size:1.43rem;}
  .site-wrapper .hero-stats div>span {font-size:.57rem;}
  .site-wrapper .services-grid,.site-wrapper .services-grid.services-filtered {grid-template-columns:1fr;grid-auto-rows:minmax(330px,auto);}
  .site-wrapper .service:nth-child(n),.site-wrapper .services-grid.services-filtered .service:nth-child(n) {min-height:325px;}
  .site-wrapper .steps {grid-template-columns:1fr;}
  .site-wrapper .step,.site-wrapper .step:not(:first-child) {min-height:0;padding:23px;}
  .site-wrapper .step-num {margin-bottom:14px;}
  .site-wrapper .service-categories {gap:8px;}
  .site-wrapper .service-category {min-height:38px;padding:9px 12px;font-size:.76rem;}
  .site-wrapper .contact-form {padding:18px;}
  .bb-page .bb-nav>a:not(.bb-nav-cta) {display:none;}
  .bb-page .bb-brand small {font-size:.6rem;}
  .bb-page .bb-eyebrow {font-size:.65rem;}
  .bb-page .bb-hero h1 {font-size:clamp(2.8rem,12.3vw,3.8rem);}
  .bb-page .bb-hero-lead {font-size:.97rem;}
  .bb-page .bb-quick-enquiry {padding:18px;margin-top:17px;grid-template-columns:1fr;}
  .bb-page .bb-quick-heading {grid-column:1;}
  .bb-page .bb-hero-photo {height:285px;border-width:7px;border-radius:24px 24px 80px 24px;}
  .bb-page .bb-hero-photo :is(img,video) {border-radius:17px 17px 68px 17px;}
  .bb-page .bb-photo-stamp {width:103px;height:103px;right:-15px;bottom:-15px;}
  .bb-page .bb-category-grid {grid-template-columns:1fr;gap:17px;}
  .bb-page .bb-card-image {height:270px;}
  .bb-page .bb-card-copy {padding:20px;}
  .bb-page .bb-card-copy p {margin-bottom:12px;}
  .bb-page .bb-budget-strip {flex-wrap:wrap;align-items:flex-start;padding:22px;}
  .bb-page .bb-budget-icon {width:42px;height:42px;flex-basis:42px;}
  .bb-page .bb-budget-strip p {flex-basis:calc(100% - 65px);}
  .bb-page .bb-budget-strip>a {margin:0;width:100%;}
  .bb-page .bb-how {flex-direction:column;align-items:flex-start;}
  .bb-page .bb-kids-game,.bb-page .bb-event-planner {padding:20px;border-radius:21px;}
}
