:root{
  --navy:#062f53;
  --navy-2:#07385f;
  --teal:#10b5b6;
  --teal-dark:#0a7885;
  --coral:#ff5c63;
  --yellow:#ffc51c;
  --paper:#fbfaf6;
  --ink:#083254;
  --muted:#4d6375;
  --white:#fff;
  --shadow:0 14px 34px rgba(4,47,80,.12);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ink);
  background:var(--paper);
  font-family:Arial,Helvetica,sans-serif;
  line-height:1.4;
  overflow-x:hidden;
}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
button,input,textarea,select{font:inherit}

.paper-section{
  position:relative;
  background-color:var(--paper);
  background-image:linear-gradient(rgba(255,255,255,.2),rgba(255,255,255,.2)),url('assets/paper-texture.jpg');
  background-size:auto,256px 256px;
}

/* HEADER */
.site-header{
  position:sticky;
  top:0;
  z-index:50;
  background:var(--navy);
  min-height:106px;
  box-shadow:0 2px 0 rgba(0,0,0,.08);
}
.header-inner{
  width:91.5vw;
  max-width:none;
  min-height:106px;
  margin:0 auto;
  display:grid;
  grid-template-columns:230px 1fr 205px;
  align-items:center;
  gap:22px;
}
.brand{
  display:inline-flex;
  flex-direction:column;
  align-items:flex-start;
  color:#fff;
  line-height:.82;
  width:max-content;
}
.brand-line{
  font-family:Impact,'Arial Black','Arial Narrow',sans-serif;
  font-size:36px;
  letter-spacing:.6px;
}
.brand-line b{font-style:normal;color:var(--teal);margin-left:2px}
.brand-smile{display:flex;gap:2px;margin-top:6px}
.brand-smile i{
  font-family:Impact,'Arial Black','Arial Narrow',sans-serif;
  font-style:normal;
  font-size:36px;
  letter-spacing:1.1px;
}
.brand-smile i:nth-child(1),.brand-smile i:nth-child(5){color:var(--coral)}
.brand-smile i:nth-child(2){color:var(--teal)}
.brand-smile i:nth-child(3){color:var(--yellow)}
.brand-smile i:nth-child(4){color:#7bd5d0}
.brand small{
  margin-top:8px;
  font-size:9px;
  letter-spacing:2.3px;
  font-weight:900;
}
.main-nav{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(24px,2.65vw,54px);
  color:#fff;
  font-family:Impact,'Arial Black','Arial Narrow',sans-serif;
  font-size:15px;
  letter-spacing:.38px;
}
.main-nav a{padding:38px 0 32px;white-space:nowrap}
.main-nav a:hover{color:#88e0df}
.nav-item{position:relative}
.chev{font-family:Arial,sans-serif;font-size:17px;margin-left:5px}
.dropdown{
  display:none;
  position:absolute;
  top:82px;
  left:-18px;
  min-width:190px;
  padding:10px 16px;
  background:#fff;
  color:var(--navy);
  border-radius:0 0 18px 18px;
  box-shadow:var(--shadow);
  font-family:Arial,sans-serif;
  font-weight:700;
  font-size:13px;
}
.dropdown a{display:block;padding:9px 3px}
.has-dropdown:hover .dropdown{display:block}
.header-cta{
  justify-self:end;
  min-width:190px;
  text-align:center;
  background:var(--coral);
  color:#fff;
  font-family:Impact,'Arial Black','Arial Narrow',sans-serif;
  letter-spacing:.4px;
  font-size:15px;
  padding:19px 27px;
  border-radius:15px 18px 14px 17px;
  box-shadow:0 8px 20px rgba(255,93,100,.25);
  transform:rotate(.35deg);
}
.header-cta span{margin-left:8px}
.nav-toggle{display:none}

/* HERO */
.hero{
  display:grid;
  grid-template-columns:43% 57%;
  min-height:800px;
  overflow:hidden;
}
.hero-copy{
  position:relative;
  z-index:2;
  padding:72px 1.4vw 34px 6.1vw;
}
.hero-eyebrow{
  display:flex;
  gap:13px;
  align-items:flex-start;
  color:var(--coral);
  font-family:Impact,'Arial Black','Arial Narrow',sans-serif;
  font-size:clamp(18px,1.25vw,25px);
  letter-spacing:.55px;
  line-height:1.34;
}
.sun-doodle{color:var(--yellow);font-size:34px;line-height:.9;transform:rotate(-10deg)}
.hero h1{
  margin:15px 0 18px;
  font-family:Impact,'Arial Black','Arial Narrow',sans-serif;
  font-weight:900;
  line-height:.92;
  letter-spacing:.8px;
  text-transform:uppercase;
  width:max-content;
  max-width:none;
}
.hero h1 span,.hero h1 strong{display:block;white-space:nowrap}
.hero h1 span{
  color:var(--navy);
  font-size:clamp(64px,4.8vw,98px);
  transform:rotate(-.75deg);
}
.hero h1 strong{
  color:var(--coral);
  font-size:clamp(58px,4.35vw,89px);
  font-weight:900;
  transform:rotate(-.25deg);
}
.hero-copy>p{
  margin:0;
  max-width:570px;
  color:#243e54;
  font-size:clamp(17px,1.22vw,24px);
  line-height:1.5;
}
.brush-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:24px;
  border:0;
  cursor:pointer;
  font-family:Impact,'Arial Black','Arial Narrow',sans-serif;
  letter-spacing:.4px;
  text-transform:uppercase;
  font-size:clamp(15px,1.02vw,20px);
  position:relative;
}
.teal-btn{
  margin-top:29px;
  padding:13px 27px 14px;
  min-width:300px;
  color:#fff;
  background:linear-gradient(90deg,#17b7b6,#05a6ab);
  clip-path:polygon(2% 8%,97% 1%,100% 82%,96% 96%,3% 100%,0 22%);
  box-shadow:0 12px 26px rgba(15,181,185,.2);
}
.brush-btn span{font-family:Arial,sans-serif;font-size:28px;line-height:1}
.hero-trust{
  margin-top:42px;
  max-width:645px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:22px;
}
.trust-item{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  min-width:0;
  color:var(--navy);
}
.trust-icon{
  width:56px;height:56px;border-radius:50%;
  display:grid;place-items:center;
  border:2px solid rgba(15,181,185,.34);
  background:#fbfcfa;
  box-shadow:0 6px 10px rgba(4,47,80,.05);
  margin-bottom:8px;
}
.trust-icon svg{width:32px;height:32px;fill:none;stroke:var(--navy);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.flag-icon span{font-size:27px}
.trust-item b{font-family:Impact,'Arial Black','Arial Narrow',sans-serif;font-size:13px;letter-spacing:.3px}
.trust-item small{font-size:10px;font-weight:800;line-height:1.25;margin-top:2px}
.triangle-doodle{position:absolute;right:1.3vw;width:0;height:0;border-style:solid;transform:rotate(-12deg)}
.triangle-doodle.one{bottom:78px;border-width:0 0 28px 25px;border-color:transparent transparent var(--teal) transparent}
.triangle-doodle.two{bottom:113px;right:3.7vw;border-width:0 0 20px 18px;border-color:transparent transparent var(--teal) transparent;transform:rotate(15deg)}
.hero-photo{
  position:relative;
  min-height:800px;
  overflow:hidden;
  clip-path:polygon(0 0,100% 0,100% 100%,31% 100%);
  z-index:1;
}
.hero-photo:before{
  content:"";
  position:absolute;
  z-index:3;
  left:18.7%;
  top:-2%;
  width:3.2%;
  height:106%;
  background:rgba(251,250,246,.93);
  transform:rotate(-16.5deg);
  filter:blur(.2px);
  clip-path:polygon(20% 0,100% 0,68% 5%,100% 11%,69% 17%,100% 24%,63% 31%,100% 38%,68% 45%,100% 52%,62% 59%,100% 67%,66% 74%,100% 82%,64% 90%,100% 100%,0 100%,25% 92%,0 84%,30% 76%,0 68%,28% 60%,0 52%,30% 44%,0 35%,24% 27%,0 18%,30% 10%,0 0);
}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:53% 48%}
.hero-photo:after{
  content:"";
  position:absolute;
  right:-65px;bottom:-48px;
  width:350px;height:200px;
  border-radius:70% 4% 0 0;
  background-color:var(--yellow);
  transform:rotate(-7deg);
  opacity:.99;
  background-image:repeating-linear-gradient(130deg,transparent 0 21px,rgba(255,255,255,.92) 21px 24px,transparent 24px 42px);
  background-size:82px 72px;
}
.coral-orbit{position:absolute;left:2%;top:-12px;width:126px;height:126px;border:16px solid rgba(255,93,100,.82);border-radius:50%;transform:rotate(18deg)}

/* SHARED WRAP */
.section-wrap{width:92.5vw;max-width:none;margin:0 auto;position:relative;z-index:2}
.section-heading h2,.bring-blob h2,.how-blob h2,.enquiry-blob h2,.faq-block h2{
  margin:0;
  font-family:Impact,'Arial Black','Arial Narrow',sans-serif;
  letter-spacing:.45px;
  color:var(--navy);
  text-transform:uppercase;
}
.section-heading h2{font-size:clamp(25px,1.9vw,38px)}
.section-heading.compact{margin:0 0 21px 0}
.scribble{display:block;width:68px;height:10px;margin-top:4px;border-top:5px solid;border-radius:50%;transform:rotate(-3deg)}
.scribble.yellow{border-color:var(--yellow)}
.scribble.coral{border-color:var(--coral)}
.scribble.short{width:50px}

/* EXPERIENCES */
.experiences{padding:22px 0 34px;overflow:hidden}
.experiences:before{content:"〰";position:absolute;left:.5vw;top:48%;font:bold 47px Arial;color:var(--coral);transform:rotate(-22deg)}
.experiences:after{content:"〰";position:absolute;right:1.6vw;top:22%;font:bold 45px Arial;color:var(--coral);transform:rotate(-18deg)}
.experience-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:19px;align-items:center}
.party-card{
  aspect-ratio:1.13/1;
  min-height:0;
  display:grid;
  grid-template-columns:48% 52%;
  overflow:hidden;
  color:#fff;
  box-shadow:0 12px 24px rgba(4,47,80,.08);
  transform-origin:center;
}
.party-card:nth-child(1){border-radius:62px 34px 42px 58px / 48px 66px 55px 75px;transform:rotate(-1.25deg) translateY(6px)}
.party-card:nth-child(2){border-radius:49px 62px 50px 37px / 64px 48px 66px 45px;transform:rotate(.7deg) translateY(-1px)}
.party-card:nth-child(3){border-radius:56px 40px 66px 43px / 48px 70px 48px 64px;transform:rotate(-.55deg) translateY(5px)}
.party-card:nth-child(4){border-radius:45px 70px 42px 65px / 62px 48px 70px 50px;transform:rotate(1.05deg) translateY(-3px)}
.card-teal{background:#18b8b9}
.card-coral{background:var(--coral)}
.card-yellow{background:var(--yellow)}
.card-deep-teal{background:#0d7380}
.card-copy{padding:29px 18px 25px 25px;display:flex;flex-direction:column;justify-content:flex-end}
.card-copy h3{font-family:Impact,'Arial Black','Arial Narrow',sans-serif;font-size:clamp(20px,1.55vw,31px);line-height:1.04;margin:9px 0 12px;letter-spacing:.35px}
.card-copy p{font-size:clamp(13px,.94vw,18px);line-height:1.38;margin:0;color:#fff}
.dark-copy{color:#fff}
.card-doodle{font-size:28px;line-height:.8;opacity:.96;min-height:42px}
.card-doodle.bubbles{display:flex;gap:5px;align-items:end}.card-doodle.bubbles i{display:block;border:2px solid #fff;border-radius:50%}.card-doodle.bubbles i:nth-child(1){width:29px;height:29px}.card-doodle.bubbles i:nth-child(2){width:19px;height:19px}.card-doodle.bubbles i:nth-child(3){width:12px;height:12px}
.card-photo{overflow:hidden}
.card-photo img{width:100%;height:100%;object-fit:cover}
.party-card:nth-child(1) .card-photo img{object-position:49% 50%}
.party-card:nth-child(2) .card-photo img{object-position:55% 50%}
.party-card:nth-child(3) .card-photo img{object-position:55% 50%}
.party-card:nth-child(4) .card-photo img{object-position:50% 46%}

/* WHAT WE BRING / HOW IT WORKS */
.bring-how{padding:27px 0 28px;position:relative;overflow:hidden}
.bring-how-grid{display:grid;grid-template-columns:44% 56%;gap:18px;align-items:stretch}
.bring-blob,.how-blob{position:relative;overflow:hidden;box-shadow:0 13px 25px rgba(4,47,80,.085);min-height:315px}
.bring-blob{
  background:var(--navy);
  color:#fff;
  padding:39px 43px 34px;
  border-radius:77px 52px 84px 48px / 58px 76px 61px 88px;
  transform:rotate(-.45deg);
}
.bring-blob:before{content:"";position:absolute;right:-82px;bottom:-78px;width:245px;height:245px;border:20px solid rgba(255,198,29,.07);border-radius:50%}
.bring-blob h2{color:#fff;font-size:clamp(27px,2.2vw,44px)}
.bring-list{margin-top:18px;display:grid;grid-template-columns:1fr 1fr;gap:13px 27px;font-weight:700;font-size:clamp(13px,.98vw,18px)}
.bring-list div{display:flex;gap:10px;align-items:flex-start}
.bring-list span{width:20px;height:20px;flex:0 0 20px;border-radius:50%;display:grid;place-items:center;background:var(--teal);font-size:13px;color:#fff;margin-top:1px}
.how-blob{
  background:var(--coral);
  color:#fff;
  padding:37px 35px 31px 42px;
  border-radius:61px 84px 67px 87px / 73px 54px 89px 64px;
  transform:rotate(.35deg);
}
.how-blob:after{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(rgba(255,255,255,.18) 1px,transparent 1px);background-size:10px 10px;opacity:.25}
.how-title-row{display:flex;align-items:center;gap:14px;position:relative;z-index:2}
.how-blob h2{color:#fff;font-size:clamp(27px,2.2vw,44px)}
.white-wave{font-size:36px;letter-spacing:-5px;color:#fff;transform:rotate(-2deg)}
.steps-grid{position:relative;z-index:2;margin-top:19px;display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;gap:7px;align-items:center}
.step-card{position:relative;background:#fff;color:var(--ink);min-height:195px;border-radius:36px 44px 37px 32px;padding:43px 15px 18px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}
.step-no{position:absolute;left:10px;top:-14px;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--teal);color:#fff;font-family:Impact,'Arial Black',sans-serif;font-size:17px;box-shadow:0 4px 0 rgba(6,46,82,.12)}
.step-icon{font-size:31px;color:var(--navy);height:40px}
.step-card h3{font-family:Impact,'Arial Black','Arial Narrow',sans-serif;font-size:clamp(16px,1.04vw,21px);margin:7px 0 7px}
.step-card p{font-size:clamp(11px,.72vw,14px);line-height:1.35;margin:0;color:#43576a}
.step-plus{color:#fff;font-size:25px;font-weight:900}
.paper-plane{position:absolute;right:1.7vw;bottom:7px;font-size:44px;color:var(--teal-dark);transform:rotate(-26deg)}

/* HIGHLIGHTS */
.highlights{padding:10px 0 33px;overflow:hidden}
.highlights:before{content:"•  ✦  •";position:absolute;left:1.1vw;top:62px;color:var(--yellow);font-size:16px;letter-spacing:10px}
.highlights:after{content:"•  ✦";position:absolute;right:1.2vw;top:85px;color:var(--coral);font-size:15px;letter-spacing:7px}
.highlight-strip{display:grid;grid-template-columns:1.06fr .94fr 1.16fr 1.03fr .92fr 1.1fr;gap:12px;align-items:end;padding:0 6px 12px}
.highlight-strip figure{position:relative;margin:0;height:205px;background:#fff;padding:5px;border-radius:5px;box-shadow:0 10px 18px rgba(4,47,80,.15)}
.highlight-strip figure:nth-child(1){transform:rotate(-1.4deg) translateY(5px)}
.highlight-strip figure:nth-child(2){transform:rotate(1.6deg) translateY(10px)}
.highlight-strip figure:nth-child(3){transform:rotate(-1deg) translateY(2px)}
.highlight-strip figure:nth-child(4){transform:rotate(1.2deg) translateY(5px)}
.highlight-strip figure:nth-child(5){transform:rotate(-.8deg) translateY(8px)}
.highlight-strip figure:nth-child(6){transform:rotate(1.7deg)}
.highlight-strip img{width:100%;height:100%;object-fit:cover;border-radius:3px}
.tape{position:absolute;top:-10px;left:40%;width:58px;height:16px;z-index:3;opacity:.82;transform:rotate(-5deg)}
.coral-tape{background:#ff958f}.yellow-tape{background:#ffd65e}

/* FAQ + FORM */
.contact-section{padding:12px 0 0;position:relative;overflow:hidden}
.contact-grid{display:grid;grid-template-columns:34% 66%;gap:32px;align-items:stretch;padding-bottom:0}
.faq-block{padding:11px 0 35px 20px}
.faq-block .section-heading{margin-left:0}
.faq-list{display:grid;gap:12px}
details{background:#fff;border-radius:5px;box-shadow:0 7px 17px rgba(4,47,80,.08);overflow:hidden}
summary{list-style:none;display:grid;grid-template-columns:34px 1fr 25px;align-items:center;gap:8px;padding:16px 16px;cursor:pointer;font-family:Impact,'Arial Black','Arial Narrow',sans-serif;font-size:clamp(12px,.87vw,16px);color:var(--navy)}
summary::-webkit-details-marker{display:none}
.qmark{width:23px;height:23px;border-radius:50%;display:grid;place-items:center;background:var(--teal);color:#fff;font-family:Arial,sans-serif;font-weight:900}
.plus{font-family:Arial,sans-serif;font-size:22px;color:var(--teal);transition:transform .2s ease}
details[open] .plus{transform:rotate(45deg)}
details p{margin:0;padding:0 18px 16px 58px;color:#536576;font-size:13px}
.enquiry-blob{
  position:relative;
  min-height:425px;
  background:linear-gradient(145deg,#12b7b5,#0aa8ab 68%,#13b6b6);
  color:#fff;
  border-radius:58px 73px 0 0 / 54px 65px 0 0;
  padding:31px 43px 35px;
  display:grid;
  grid-template-columns:27% 73%;
  gap:20px;
  overflow:hidden;
}
.enquiry-blob:before{content:"";position:absolute;right:-72px;bottom:-84px;width:220px;height:220px;background:var(--navy);border-radius:65% 0 0 0;transform:rotate(-7deg)}
.enquiry-blob:after{content:"";position:absolute;left:-88px;bottom:-116px;width:180px;height:205px;background:var(--teal);border-radius:0 77% 0 0;transform:rotate(8deg);border-top:4px solid rgba(255,255,255,.18)}
.enquiry-intro{position:relative;z-index:2;padding-top:1px}
.enquiry-blob h2{color:#fff;font-size:clamp(28px,2.25vw,45px)}
.enquiry-intro p{font-size:clamp(13px,.95vw,17px);line-height:1.5;margin:9px 0 0;max-width:235px}
.form-arrow{display:block;font-size:61px;font-family:Arial,sans-serif;margin:2px 0 0 74%;transform:rotate(12deg);line-height:1}
.enquiry-form{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:10px 12px;align-content:start}
.enquiry-form label{display:block;background:#fff;border-radius:3px;padding:5px 9px 5px;color:var(--navy);min-height:52px;overflow:hidden}
.enquiry-form label.wide{grid-column:1/-1}
.enquiry-form label span{display:block;font-family:Impact,'Arial Black','Arial Narrow',sans-serif;font-size:9px;line-height:1.1;letter-spacing:.2px;margin-bottom:4px}
.enquiry-form input,.enquiry-form textarea,.enquiry-form select{display:block;width:100%;border:0;outline:0;background:transparent;color:#334b60;padding:0;font-size:14px;line-height:1.25;min-height:21px}
.enquiry-form textarea{resize:none;min-height:42px}
.enquiry-form select{-webkit-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,#0aa8ab 50%),linear-gradient(135deg,#0aa8ab 50%,transparent 50%);background-position:calc(100% - 13px) 9px,calc(100% - 8px) 9px;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:24px}
.submit-btn{grid-column:1/-1;justify-self:center;margin-top:3px;min-width:225px;padding:11px 27px;color:var(--navy);background:var(--yellow);clip-path:polygon(2% 4%,98% 0,100% 80%,96% 100%,3% 96%,0 20%);font-size:15px;box-shadow:0 9px 15px rgba(0,0,0,.12)}
.submit-btn span{font-size:22px}
.form-status{grid-column:1/-1;text-align:center;margin:0;font-size:12px;min-height:14px;font-weight:700}
.blob-dots{position:absolute;bottom:16px;width:62px;height:45px;background-image:repeating-linear-gradient(110deg,transparent 0 11px,rgba(255,255,255,.86) 11px 14px,transparent 14px 25px);opacity:.9;z-index:2}
.blob-dots.left{left:8px;transform:rotate(-12deg)}
.blob-dots.right{right:8px;transform:rotate(12deg)}

/* FOOTER */
.site-footer{position:relative;background:var(--navy);color:#fff;padding:31px 0 16px}
.footer-inner{width:89.5vw;max-width:none;margin:0 auto;display:grid;grid-template-columns:1.04fr .72fr 1fr 1.05fr;gap:64px;align-items:start}
.footer-brand .brand-line,.footer-brand .brand-smile i{font-size:29px}
.footer-brand-col p{font-size:13px;max-width:270px;color:#e2edf3;line-height:1.5}
.socials{display:flex;gap:12px;margin-top:18px}.socials a{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--coral);font-weight:900;font-size:21px}
.footer-col{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#e2edf3;position:relative}
.footer-col h3{font-family:Impact,'Arial Black','Arial Narrow',sans-serif;color:#fff;margin:4px 0 9px;font-size:17px;letter-spacing:.4px}
.footer-col p{margin:0 0 4px;line-height:1.45}
.footer-col a:hover{color:#78d8d4}
.get-in-touch{padding-right:80px}
.balloons{position:absolute;right:0;bottom:-3px;width:82px;height:112px}
.balloon{position:absolute;width:32px;height:45px;border:3px solid;border-radius:50%;background:transparent}
.balloon:after{content:"";position:absolute;left:15px;top:44px;width:1.5px;height:58px;background:currentColor;transform:rotate(8deg);transform-origin:top}
.teal-balloon{color:var(--teal);left:5px;top:0;transform:rotate(-8deg)}
.coral-balloon{color:var(--coral);right:2px;top:23px;transform:rotate(8deg)}
.footer-bottom{width:89.5vw;max-width:none;margin:27px auto 0;border-top:1px solid rgba(255,255,255,.12);padding-top:13px;display:flex;justify-content:space-between;font-size:11px;color:#a9c1d0}

/* TABLET */
@media (max-width:1100px){
  .header-inner{width:94vw;grid-template-columns:178px 1fr 150px;gap:12px;min-height:88px}
  .site-header{min-height:88px}
  .brand-line,.brand-smile i{font-size:27px}.brand small{font-size:7px}
  .main-nav{gap:15px;font-size:11px}.main-nav a{padding:31px 0 27px}.header-cta{min-width:145px;padding:14px 14px;font-size:12px}
  .hero{grid-template-columns:46% 54%;min-height:680px}.hero-photo{min-height:680px}.hero-copy{padding:55px 1vw 28px 5vw}.hero h1 span{font-size:clamp(53px,6.1vw,68px)}.hero h1 strong{font-size:clamp(47px,5.5vw,61px)}.hero-copy>p{font-size:17px}.hero-trust{gap:10px}.trust-item b{font-size:10px}.trust-item small{font-size:8px}.trust-icon{width:48px;height:48px}.hero-photo{clip-path:polygon(0 0,100% 0,100% 100%,29% 100%)}
  .section-wrap{width:93vw}.experience-grid{gap:12px}.party-card{aspect-ratio:1.04/1}.card-copy{padding:20px 11px 18px 15px}.card-copy h3{font-size:19px}.card-copy p{font-size:12px}
  .bring-how-grid{gap:12px}.bring-blob,.how-blob{min-height:270px;padding:30px 25px}.bring-list{font-size:12px;gap:10px 15px}.step-card{min-height:168px;padding:39px 8px 12px}.step-card p{font-size:10px}.step-card h3{font-size:15px}.how-blob h2,.bring-blob h2{font-size:30px}
  .highlight-strip figure{height:165px}
  .contact-grid{gap:20px}.faq-block{padding-left:0}.enquiry-blob{min-height:380px;padding:25px 28px;grid-template-columns:25% 75%;gap:15px}.enquiry-blob h2{font-size:31px}.enquiry-intro p{font-size:12px}.footer-inner{gap:30px}
}

@media (max-width:820px){
  .site-header{min-height:78px}.header-inner{min-height:78px;grid-template-columns:1fr auto auto;width:92vw}.brand-line,.brand-smile i{font-size:24px}.brand small{font-size:7px}.header-cta{font-size:12px;padding:13px 15px;min-width:0}.nav-toggle{display:flex;width:40px;height:40px;border:0;background:transparent;flex-direction:column;gap:5px;justify-content:center;align-items:center}.nav-toggle span{width:25px;height:2px;background:#fff}.main-nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--navy);flex-direction:column;gap:0;padding:12px 6vw 18px;align-items:flex-start}.main-nav.open{display:flex}.main-nav a{padding:10px 0}.dropdown{position:static;display:none;box-shadow:none;border-radius:0;background:transparent;color:#fff;padding:0 0 0 12px}.has-dropdown:hover .dropdown{display:none}.has-dropdown.open .dropdown{display:block}
  .hero{grid-template-columns:1fr;min-height:auto}.hero-copy{padding:45px 7vw 31px}.hero-photo{min-height:510px;clip-path:polygon(0 12%,100% 0,100% 100%,0 100%)}.hero-photo:before{display:none}.hero h1{width:auto}.hero h1 span,.hero h1 strong{font-size:clamp(50px,11vw,80px);white-space:normal}.triangle-doodle{display:none}.hero-trust{max-width:none}.hero-copy>p{font-size:18px}
  .section-wrap{width:90vw}.experience-grid{grid-template-columns:1fr 1fr;gap:18px}.party-card{aspect-ratio:1.05/1}.party-card:nth-child(n){transform:none}
  .bring-how-grid{grid-template-columns:1fr}.bring-blob,.how-blob{transform:none;min-height:0}.highlight-strip{grid-template-columns:repeat(3,1fr);gap:17px}.highlight-strip figure{height:180px}.highlight-strip figure:nth-child(n){transform:none}
  .contact-grid{grid-template-columns:1fr;gap:10px}.faq-block{padding-left:0}.enquiry-blob{border-radius:45px 45px 0 0;grid-template-columns:1fr;padding:26px 32px}.enquiry-intro{display:grid;grid-template-columns:auto 1fr;gap:10px}.enquiry-intro p{max-width:none}.form-arrow{display:none}.footer-inner{grid-template-columns:1fr 1fr;gap:34px}.footer-bottom{gap:15px;flex-wrap:wrap}
}

@media (max-width:620px){
  .header-cta{display:none}.header-inner{grid-template-columns:1fr auto}.hero-copy{padding-top:37px}.hero-eyebrow{font-size:17px}.hero h1{margin-top:12px}.hero h1 span,.hero h1 strong{font-size:clamp(47px,14vw,72px)}.teal-btn{min-width:0;width:100%;max-width:330px}.hero-trust{grid-template-columns:1fr 1fr}.hero-photo{min-height:390px}
  .experiences{padding-top:12px}.section-heading.compact{margin-left:0}.experience-grid{grid-template-columns:1fr}.party-card{aspect-ratio:1.15/1}.party-card:nth-child(odd){transform:rotate(-.5deg)}.party-card:nth-child(even){transform:rotate(.5deg)}
  .bring-blob,.how-blob{padding:30px 24px}.bring-list{grid-template-columns:1fr}.steps-grid{grid-template-columns:1fr 1fr;gap:12px}.step-plus{display:none}.step-card{min-height:175px}.paper-plane{display:none}
  .highlight-strip{grid-template-columns:1fr 1fr;gap:16px}.highlight-strip figure{height:150px}
  .enquiry-blob{padding:26px 18px 35px}.enquiry-intro{display:block}.enquiry-form{grid-template-columns:1fr}.enquiry-form label,.enquiry-form label.wide,.submit-btn,.form-status{grid-column:1}.footer-inner{grid-template-columns:1fr}.get-in-touch{padding-right:90px}
}

/* final desktop refinements against the supplied reference */
@media (min-width:1101px){
  .hero{height:820px;min-height:820px}
  .hero-copy{height:820px}
  .hero-photo{height:820px;min-height:820px}
  .hero-photo img{position:absolute;inset:0}
  .hero-photo:before{display:none}
  .brand-line,.brand-smile i{font-size:39px}
}
.step-icon svg{width:34px;height:34px;fill:none;stroke:var(--navy);stroke-width:2.7;stroke-linecap:round;stroke-linejoin:round}
.socials a svg{width:20px;height:20px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.socials a[aria-label="Facebook"] svg{fill:#fff;stroke:none}
.socials .fill-dot{fill:#fff;stroke:none}
.enquiry-form input::placeholder,.enquiry-form textarea::placeholder{color:#9aa9b7;opacity:1}
@media (min-width:1101px){
  .hero{grid-template-columns:40% 60%}
  .hero-photo{clip-path:polygon(0 0,100% 0,100% 100%,33% 100%)}
  .hero-photo img{object-position:53% 43%}
}


/* HERO EXACT MATCH BLOCK */
.visually-hidden{
  position:absolute !important;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
.site-header{
  min-height:102px;
  box-shadow:none;
}
.header-inner{
  min-height:102px;
  width:92.5vw;
  grid-template-columns:240px 1fr 210px;
}
.main-nav{gap:clamp(22px,2.25vw,44px);font-size:14px}
.main-nav a{padding:37px 0 31px}
.header-cta{transform:none;border-radius:16px;padding:18px 26px}
.hero-reference{
  position:relative;
  background:#fff;
}
.hero-reference-inner{
  position:relative;
  width:100%;
  line-height:0;
}
.hero-reference-image{
  display:block;
  width:100%;
  height:auto;
}
.hero-reference-cta{
  position:absolute;
  left:6.75%;
  top:63.4%;
  width:25.7%;
  height:12.7%;
  z-index:2;
}
@media (max-width: 900px){
  .hero-reference-cta{display:none}
}


/* block1 requested fixes */
.nav-item.has-dropdown > a{
  display:inline-flex;
  align-items:center;
  gap:6px;
  transform:none !important;
}
.chev{
  margin-left:0;
  line-height:1;
  position:relative;
  top:-1px;
}
.header-cta,
.hero-reference-cta,
.brush-btn{
  cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease, background-color .18s ease;
}
.header-cta:hover,
.header-cta:focus-visible{
  filter:brightness(1.05);
  box-shadow:0 12px 28px rgba(255,93,100,.32);
  transform:translateY(-1px);
}
.hero-reference-cta:hover,
.hero-reference-cta:focus-visible{
  filter:brightness(1.04);
}
.hero-reference-image{
  width:100%;
  max-width:none;
  image-rendering:auto;
}


/* user-requested header and hero fixes */
.main-nav{
  gap:clamp(26px,3vw,56px);
}
.main-nav a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transform:none !important;
}
.nav-item,.dropdown,.chev{display:none !important;}
.header-cta{
  cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.header-cta:hover,
.header-cta:focus-visible{
  filter:brightness(1.06);
  box-shadow:0 14px 28px rgba(255,93,100,.30);
  transform:translateY(-1px);
}
.hero-reference{
  background:#fff;
}
.hero-reference-image{
  width:100%;
  height:auto;
  image-rendering:auto;
}
.hero-reference-cta{
  position:absolute;
  left:6.55%;
  top:62.5%;
  width:25.9%;
  height:13.4%;
  border-radius:12px;
  cursor:pointer;
  transition:filter .18s ease, transform .18s ease, box-shadow .18s ease, background-color .18s ease;
}
.hero-reference-cta:hover,
.hero-reference-cta:focus-visible{
  background:rgba(255,255,255,.06);
  box-shadow:0 0 0 2px rgba(255,255,255,.28) inset;
}


/* icon crop + stronger Lets Plan hover */
.hero-reference-cta{
  left:6.55%;
  top:62.1%;
  width:25.9%;
  height:12.2%;
  border-radius:14px;
}
.hero-reference-cta:hover,
.hero-reference-cta:focus-visible{
  background:rgba(16,181,182,.12);
  box-shadow:0 0 0 3px rgba(255,255,255,.34) inset, 0 12px 24px rgba(16,181,182,.28);
  transform:translateY(-1px) scale(1.01);
}


/* user final text clarity and spacing tweaks */
html,body{
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:geometricPrecision;
}
.main-nav{
  gap:clamp(34px,3.2vw,62px) !important;
  font-size:17px !important;
  letter-spacing:.18px !important;
}
.main-nav a{
  padding:36px 0 30px !important;
  font-weight:900;
  text-shadow:0 0 .01px rgba(255,255,255,.9);
}
.header-cta{
  min-width:220px;
  font-size:18px !important;
  padding:20px 30px !important;
  letter-spacing:.2px;
  text-shadow:0 0 .01px rgba(255,255,255,.9);
}
.header-cta span{
  margin-left:6px !important;
  font-size:.92em;
  position:relative;
  top:-1px;
}
.hero-reference-image{
  image-rendering:auto;
}
.hero-reference-cta{
  cursor:pointer;
}
.hero-reference-cta:hover,
.hero-reference-cta:focus-visible{
  background:rgba(16,181,182,.13);
  box-shadow:0 0 0 3px rgba(255,255,255,.34) inset, 0 13px 28px rgba(16,181,182,.32);
  transform:translateY(-1px) scale(1.012);
}
.experiences{
  padding-top:40px !important;
}
.section-heading.compact{
  margin-top:8px;
}
h1,h2,h3,p,a,button,summary,b,small,span{
  text-rendering:geometricPrecision;
}


/* final brand color + button hit-area fix */
.brand small{
  color:#0b3558 !important;
  text-shadow:none !important;
}
.hero-reference-cta{
  left:6.85% !important;
  top:61.9% !important;
  width:25.35% !important;
  height:8.6% !important;
  border-radius:34px !important;
  background:transparent !important;
}
.hero-reference-cta:hover,
.hero-reference-cta:focus-visible{
  background:transparent !important;
  box-shadow:0 0 0 2px rgba(255,255,255,.16) inset, 0 8px 18px rgba(16,181,182,.22) !important;
  transform:translateY(-1px) !important;
}


/* final restore logo + correct green button click area */
.brand small{
  color:#ffffff !important;
  opacity:.96;
  text-shadow:0 0 .01px rgba(255,255,255,.95) !important;
}
.hero-reference-cta{
  left:6.6% !important;
  top:53.2% !important;
  width:25.0% !important;
  height:9.8% !important;
  border-radius:22px !important;
  background:transparent !important;
}
.hero-reference-cta:hover,
.hero-reference-cta:focus-visible{
  background:transparent !important;
  box-shadow:0 0 0 2px rgba(255,255,255,.14) inset, 0 8px 18px rgba(16,181,182,.18) !important;
  transform:translateY(-1px) !important;
}


/* fix green button hit area */
.hero-reference-cta{
  left:6.7% !important;
  top:64.4% !important;
  width:23.6% !important;
  height:8.2% !important;
  border-radius:20px !important;
  background:transparent !important;
}
.hero-reference-cta:hover,
.hero-reference-cta:focus-visible{
  background:transparent !important;
  box-shadow:0 0 0 2px rgba(255,255,255,.14) inset, 0 8px 18px rgba(16,181,182,.18) !important;
  transform:translateY(-1px) !important;
}


/* final clean fix for green button overlay */
.hero-reference-cta{
  left:6.72% !important;
  top:64.52% !important;
  width:23.15% !important;
  height:6.55% !important;
  border-radius:18px !important;
  background:transparent !important;
  box-shadow:none !important;
  outline:none !important;
  -webkit-tap-highlight-color: transparent;
}
.hero-reference-cta:hover,
.hero-reference-cta:focus,
.hero-reference-cta:focus-visible,
.hero-reference-cta:active{
  background:transparent !important;
  box-shadow:none !important;
  outline:none !important;
  transform:none !important;
}


/* final precise invisible hit-area for Lets Plan button */
.hero-reference-cta{
  position:absolute !important;
  left:6.8% !important;
  top:63.7% !important;
  width:21.4% !important;
  height:10.4% !important;
  display:block !important;
  border:none !important;
  border-radius:18px !important;
  background:transparent !important;
  box-shadow:none !important;
  outline:none !important;
  opacity:0 !important;
  cursor:pointer !important;
  z-index:5 !important;
  pointer-events:auto !important;
  -webkit-tap-highlight-color: transparent;
}
.hero-reference-cta:hover,
.hero-reference-cta:focus,
.hero-reference-cta:focus-visible,
.hero-reference-cta:active,
.hero-reference-cta:visited{
  background:transparent !important;
  box-shadow:none !important;
  outline:none !important;
  transform:none !important;
  opacity:0 !important;
}


/* top transition refined to match reference */
.hero-reference{
  position:relative !important;
  overflow:hidden !important;
  margin-top:-1px;
}
.hero-reference::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:104px;
  z-index:3;
  pointer-events:none;
  background:linear-gradient(90deg,#041934 0%, #072347 18%, #0b3558 36%, #0b3558 100%);
  clip-path:polygon(0 0,100% 0,100% 74%,0 100%);
}
.hero-reference::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:54px;
  height:42px;
  z-index:4;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(0,0,0,.66) 0%, rgba(2,20,48,.60) 18%, rgba(6,35,72,.28) 37%, rgba(6,35,72,0) 55%);
  clip-path:polygon(0 10%,100% 0,100% 46%,0 92%);
}
.hero-reference-image{
  position:relative;
  z-index:1;
}


/* corrected header-to-hero transition: one navy wedge, no extra bands */
.hero-reference::before,
.hero-reference::after{
  display:none !important;
  content:none !important;
}
.hero-reference{
  margin-top:-1px !important;
  background:#fff !important;
}


/* exact reference replacement for experiences block */
.experiences-reference{
  background:#fff;
  padding:12px 0 24px;
}
.experiences-reference-inner{
  width:min(94vw, 2048px);
  margin:0 auto;
}
.experiences-reference-image{
  display:block;
  width:100%;
  height:auto;
}
@media (max-width: 900px){
  .experiences-reference{padding:6px 0 18px;}
  .experiences-reference-inner{width:96vw;}
}


/* remove visible top/right borders around experiences screenshot */
.experiences-reference{
  background:#fff !important;
  padding:0 !important;
  margin-top:0 !important;
  overflow:hidden !important;
}
.experiences-reference-inner{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  line-height:0 !important;
}
.experiences-reference-image{
  display:block !important;
  width:100% !important;
  height:auto !important;
  margin:0 !important;
}


/* blend experiences screenshot seamlessly with surrounding blocks */
.experiences-reference{
  background:#f7f6f2 !important;
  padding:0 !important;
  margin-top:-8px !important;
  margin-bottom:-10px !important;
  position:relative !important;
  z-index:2 !important;
  overflow:hidden !important;
}
.experiences-reference-inner{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  line-height:0 !important;
  background:#f7f6f2 !important;
}
.experiences-reference-image{
  display:block !important;
  width:100% !important;
  height:auto !important;
  margin:0 !important;
}
.bring-how{
  padding-top:34px !important;
  margin-top:0 !important;
}


/* final high-quality experiences rendering */
.experiences-reference{
  background:#f7f6f2 !important;
  padding:0 !important;
  margin-top:-8px !important;
  margin-bottom:-10px !important;
  overflow:hidden !important;
}
.experiences-reference-inner{
  width:min(100%, 2048px) !important;
  max-width:2048px !important;
  margin:0 auto !important;
  line-height:0 !important;
  background:#f7f6f2 !important;
}
.experiences-reference-image{
  display:block !important;
  width:100% !important;
  height:auto !important;
  margin:0 !important;
  image-rendering:auto !important;
}


/* =========================================
   UPDATED PARTY EXPERIENCES BLOCK
   ========================================= */
.section-wrap-wide{
  width:min(1520px,95vw);
  margin:0 auto;
}

.party-experiences{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:82px 0 96px;
  background:
    radial-gradient(circle at 3% 11%, rgba(255,197,33,.10), transparent 16%),
    radial-gradient(circle at 97% 84%, rgba(16,181,182,.08), transparent 17%),
    var(--paper);
}

.party-experiences::before{
  content:"";
  position:absolute;
  z-index:0;
  width:180px;
  height:180px;
  left:-70px;
  bottom:54px;
  border:4px solid rgba(255,92,99,.18);
  border-radius:48% 52% 56% 44% / 56% 44% 58% 42%;
  transform:rotate(-18deg);
}

.party-experiences::after{
  content:"";
  position:absolute;
  z-index:0;
  width:140px;
  height:140px;
  right:-52px;
  top:80px;
  background:rgba(16,181,182,.07);
  border-radius:57% 43% 38% 62% / 47% 62% 38% 53%;
  transform:rotate(18deg);
}

.party-experiences__inner{
  position:relative;
  z-index:1;
}

.party-experiences__eyebrow{
  margin:0 auto 11px;
  width:max-content;
  max-width:100%;
  color:var(--coral);
  font-family:Impact,'Arial Black','Arial Narrow',sans-serif;
  font-size:13px;
  letter-spacing:.14em;
  text-align:center;
}

.party-experiences__heading-wrap{
  position:relative;
  width:max-content;
  max-width:100%;
  margin:0 auto 54px;
  padding:0 42px 14px;
}

.party-experiences__heading-wrap h2{
  position:relative;
  z-index:2;
  margin:0;
  color:var(--navy);
  font-family:Impact,'Arial Black','Arial Narrow',sans-serif;
  font-size:clamp(38px,4.15vw,68px);
  line-height:.92;
  letter-spacing:-.03em;
  text-align:center;
}

.marker{
  position:absolute;
  z-index:1;
  left:21%;
  right:8%;
  bottom:2px;
  height:15px;
  background:var(--yellow);
  border-radius:50% 42% 48% 52%;
  transform:rotate(-1.1deg);
  clip-path:polygon(0 35%, 9% 21%, 22% 30%, 37% 14%, 55% 25%, 69% 10%, 83% 20%, 100% 6%, 97% 74%, 84% 69%, 69% 82%, 52% 71%, 37% 88%, 22% 73%, 6% 89%);
}

.burst{
  position:absolute;
  width:42px;
  height:42px;
  opacity:.9;
}

.burst::before,
.burst::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(var(--coral),var(--coral)) center top/3px 11px no-repeat,
    linear-gradient(var(--coral),var(--coral)) center bottom/3px 11px no-repeat,
    linear-gradient(90deg,var(--coral),var(--coral)) left center/11px 3px no-repeat,
    linear-gradient(90deg,var(--coral),var(--coral)) right center/11px 3px no-repeat;
}

.burst::after{transform:rotate(45deg) scale(.78)}
.burst--left{left:0;top:4px;transform:rotate(-8deg)}
.burst--right{right:0;bottom:2px;transform:scale(.74) rotate(12deg)}

.party-grid{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  align-items:start;
  gap:22px;
  position:relative;
}

.party-grid::before{
  content:"";
  position:absolute;
  width:70px;
  height:15px;
  right:26.5%;
  top:-18px;
  border-top:5px solid var(--coral);
  border-radius:50%;
  transform:rotate(8deg);
  opacity:.85;
}

.party-card{
  position:relative;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  min-width:0;
  filter:drop-shadow(0 18px 24px rgba(29,50,64,.08));
  transition:transform .28s ease, filter .28s ease;
}

.party-card img{
  display:block;
  width:100%;
  height:auto;
  user-select:none;
  -webkit-user-drag:none;
}

.party-card--1{
  grid-column:1 / span 3;
  transform:rotate(-1.1deg) translateY(8px);
}
.party-card--2{
  grid-column:4 / span 3;
  transform:rotate(.8deg) translateY(-6px);
}
.party-card--3{
  grid-column:7 / span 3;
  transform:rotate(-.65deg) translateY(13px);
}
.party-card--4{
  grid-column:10 / span 3;
  width:118%;
  justify-self:center;
  transform:rotate(1.1deg) translate(-4%,56px);
}

.party-card:hover{
  z-index:5;
  filter:drop-shadow(0 24px 28px rgba(29,50,64,.13));
}
.party-card--1:hover{transform:rotate(-.3deg) translateY(0) scale(1.018)}
.party-card--2:hover{transform:rotate(.2deg) translateY(-12px) scale(1.018)}
.party-card--3:hover{transform:rotate(-.15deg) translateY(5px) scale(1.018)}
.party-card--4:hover{transform:rotate(.3deg) translate(-4%,45px) scale(1.018)}

.party-note{
  margin:82px auto 0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  color:rgba(8,50,84,.72);
  font-size:13px;
  font-weight:800;
  letter-spacing:.07em;
  text-transform:uppercase;
  text-align:center;
}

.party-note__line{
  width:56px;
  height:2px;
  background:var(--teal);
  border-radius:99px;
  opacity:.55;
}

@media (max-width:1180px){
  .party-grid{gap:16px}
  .party-card--4{width:116%; transform:rotate(1deg) translate(-4%,42px)}
  .party-note{margin-top:65px}
}

@media (max-width:860px){
  .party-experiences{padding:64px 0 76px}
  .party-experiences__heading-wrap{margin-bottom:36px;padding-inline:28px}
  .party-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px 14px;
  }
  .party-card--1,
  .party-card--2,
  .party-card--3,
  .party-card--4{
    grid-column:auto;
    width:100%;
    transform:none;
  }
  .party-card--1{transform:rotate(-.8deg) translateY(5px)}
  .party-card--2{transform:rotate(.65deg)}
  .party-card--3{transform:rotate(-.55deg) translateY(3px)}
  .party-card--4{
    grid-column:1 / -1;
    width:min(76%,700px);
    justify-self:center;
    transform:rotate(.5deg);
  }
  .party-card:hover{transform:none}
  .party-note{margin-top:44px}
}

@media (max-width:560px){
  .party-experiences{padding:52px 0 62px}
  .party-experiences__eyebrow{font-size:11px;letter-spacing:.11em}
  .party-experiences__heading-wrap{
    padding:0 8px 12px;
    margin-bottom:28px;
  }
  .party-experiences__heading-wrap h2{
    font-size:clamp(32px,11vw,48px);
    line-height:.94;
  }
  .burst{display:none}
  .marker{left:13%;right:4%;height:11px}
  .party-grid{
    grid-template-columns:1fr;
    gap:10px;
  }
  .party-card--1,
  .party-card--2,
  .party-card--3,
  .party-card--4{
    grid-column:auto;
    width:100%;
    transform:none;
  }
  .party-card--4{margin-top:4px}
  .party-note{
    margin-top:28px;
    gap:9px;
    font-size:10px;
    letter-spacing:.045em;
  }
  .party-note__line{width:26px}
}


/* =========================================
   PARTY EXPERIENCES — TEXT CROP FIX
   ========================================= */
.party-experiences .party-card{
  aspect-ratio:auto !important;
  min-height:0 !important;
  overflow:visible !important;
  grid-template-columns:none !important;
  border-radius:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}

.party-experiences .party-card img{
  width:100% !important;
  height:auto !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center !important;
  border-radius:0 !important;
}

.party-experiences .party-card--1,
.party-experiences .party-card--2,
.party-experiences .party-card--3,
.party-experiences .party-card--4{
  overflow:visible !important;
}


/* =========================================
   PARTY EXPERIENCES — CARD 4 ALIGNMENT FIX
   ========================================= */
.party-experiences .party-card--4{
  width:103% !important;
  justify-self:center !important;
  transform:rotate(.9deg) translate(-1.5%, 10px) !important;
}
.party-experiences .party-card--4:hover{
  transform:rotate(.4deg) translate(-1.5%, 4px) scale(1.018) !important;
}

@media (max-width:1180px){
  .party-experiences .party-card--4{
    width:102% !important;
    transform:rotate(.85deg) translate(-1%, 8px) !important;
  }
}


/* exact reference replacement for what we bring / how it works block */
.bringhow-reference{
  background:#f7f6f2 !important;
  padding:8px 0 12px !important;
  margin-top:-4px !important;
  margin-bottom:2px !important;
  position:relative !important;
  z-index:2 !important;
  overflow:hidden !important;
}
.bringhow-reference-inner{
  width:min(100%, 2048px) !important;
  max-width:2048px !important;
  margin:0 auto !important;
  line-height:0 !important;
  background:#f7f6f2 !important;
}
.bringhow-reference-image{
  display:block !important;
  width:100% !important;
  height:auto !important;
  margin:0 !important;
  image-rendering:auto !important;
}
@media (max-width: 900px){
  .bringhow-reference{padding:4px 0 10px !important;}
  .bringhow-reference-inner{width:100% !important;}
}


/* =========================================================
   REFERENCE-MATCH REFRESH: PARTY HIGHLIGHTS + FAQ + ENQUIRY
   Keeps FAQ accordion and form fully clickable.
   ========================================================= */
.highlights{
  position:relative;
  padding:10px 0 18px;
  overflow:hidden;
}
.highlights .section-wrap,
.contact-section .section-wrap{
  width:min(95vw, 1680px);
}
.highlights::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 2.6% 16%, rgba(255,200,41,.95) 0 3px, transparent 4px),
    radial-gradient(circle at 3.2% 22%, rgba(15,188,190,.8) 0 4px, transparent 5px),
    radial-gradient(circle at 97.4% 16%, rgba(255,200,41,.95) 0 3px, transparent 4px),
    radial-gradient(circle at 98.2% 22%, rgba(255,92,99,.9) 0 3px, transparent 4px);
  opacity:.95;
}
.highlights .section-heading.compact{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:10px;
  margin:0 0 18px 0;
}
.highlights .section-heading.compact h2,
.contact-section .section-heading.compact h2,
.enquiry-blob h2{
  letter-spacing:.02em;
}
.highlights .scribble.coral{
  width:74px;
  height:9px;
  margin:0;
  border-bottom:5px solid var(--coral);
  border-radius:50% 50% 60% 40%;
}
.highlight-strip{
  position:relative;
  display:grid;
  grid-template-columns:1.12fr .92fr 1.12fr 1fr .86fr 1.14fr;
  gap:14px;
  align-items:end;
  padding:6px 6px 6px;
}
.highlight-strip::before,
.highlight-strip::after{
  content:"";
  position:absolute;
  pointer-events:none;
}
.highlight-strip::before{
  right:-4px;
  top:-10px;
  width:60px;
  height:34px;
  background:
    radial-gradient(circle at 12px 9px, #ffd158 0 2px, transparent 3px),
    radial-gradient(circle at 40px 22px, #ff6360 0 2px, transparent 3px),
    radial-gradient(circle at 54px 9px, #0fbcbe 0 2px, transparent 3px),
    linear-gradient(135deg, transparent 0 33px, var(--coral) 33px 37px, transparent 37px 100%);
  opacity:.95;
}
.highlight-strip::after{
  left:-8px;
  top:-2px;
  width:52px;
  height:30px;
  background:
    radial-gradient(circle at 10px 6px, #0fbcbe 0 2px, transparent 3px),
    radial-gradient(circle at 30px 18px, #ffd158 0 2px, transparent 3px),
    radial-gradient(circle at 47px 8px, #ff6360 0 2px, transparent 3px);
}
.highlight-strip figure{
  position:relative;
  margin:0;
  aspect-ratio:1.06/0.8;
  background:#fff;
  padding:9px;
  border-radius:14px;
  box-shadow:0 10px 18px rgba(7,53,88,.12);
  overflow:visible;
}
.highlight-strip figure::before{
  content:"";
  position:absolute;
  top:-9px;
  left:50%;
  transform:translateX(-50%) rotate(-5deg);
  width:66px;
  height:18px;
  border-radius:3px;
  background:#9be6dc;
  opacity:.9;
}
.highlight-strip figure:nth-child(2)::before,
.highlight-strip figure:nth-child(4)::before{background:#ffada6}
.highlight-strip figure:nth-child(3)::before,
.highlight-strip figure:nth-child(6)::before{background:#ffe28a}
.highlight-strip figure:nth-child(1)::before,
.highlight-strip figure:nth-child(5)::before{display:none}
.highlight-strip figure:nth-child(1){transform:rotate(-1.2deg) translateY(9px)}
.highlight-strip figure:nth-child(2){transform:rotate(2deg) translateY(3px)}
.highlight-strip figure:nth-child(3){transform:rotate(-1deg) translateY(1px)}
.highlight-strip figure:nth-child(4){transform:rotate(1.7deg) translateY(4px)}
.highlight-strip figure:nth-child(5){transform:rotate(.2deg) translateY(0)}
.highlight-strip figure:nth-child(6){transform:rotate(2deg) translateY(8px)}
.highlight-strip img{
  width:100%;
  height:100%;
  border-radius:10px;
  object-fit:cover;
  display:block;
}
.highlight-strip figure:hover{
  transform:translateY(-2px) rotate(0deg);
  transition:transform .25s ease, box-shadow .25s ease;
  box-shadow:0 18px 24px rgba(7,53,88,.16);
  z-index:4;
}

.contact-section{
  position:relative;
  padding:22px 0 10px;
  overflow:hidden;
}
.contact-section::before{
  content:"";
  position:absolute;
  left:-90px;
  bottom:-80px;
  width:230px;
  height:210px;
  background:#14c2c3;
  border-radius:50% 50% 0 0 / 65% 70% 0 0;
  opacity:.94;
}
.contact-section::after{
  content:"";
  position:absolute;
  right:-82px;
  bottom:-74px;
  width:255px;
  height:214px;
  background:var(--navy);
  border-radius:58% 0 0 0;
}
.contact-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(310px, 31.5%) minmax(0, 68.5%);
  gap:28px;
  align-items:start;
}
.faq-block{
  padding:0 0 24px 0;
}
.faq-block .section-heading.compact{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:8px;
  margin:4px 0 22px;
}
.faq-block .scribble.yellow{
  width:62px;
  height:10px;
  margin:0;
  border-bottom:5px solid var(--yellow);
  border-radius:50% 50% 60% 40%;
}
.faq-list{
  display:grid;
  gap:14px;
}
.faq-list details{
  background:#fff;
  border-radius:14px;
  box-shadow:0 8px 18px rgba(5,47,80,.08);
  overflow:hidden;
}
.faq-list summary{
  display:grid;
  grid-template-columns:42px 1fr 26px;
  gap:14px;
  align-items:center;
  min-height:74px;
  padding:0 18px;
  color:var(--navy);
  font-size:clamp(13px, .95vw, 18px);
  letter-spacing:.01em;
}
.faq-list .qmark{
  width:34px;
  height:34px;
  border-radius:50%;
  background:var(--teal);
  font-size:22px;
  line-height:1;
}
.faq-list .plus{
  font-size:34px;
  line-height:1;
  color:#1cbfc1;
  transform-origin:center;
}
.faq-list details p{
  padding:0 22px 18px 74px;
  font-size:14px;
  line-height:1.5;
}

.enquiry-blob{
  position:relative;
  min-height:530px;
  padding:30px 28px 26px 34px;
  border-radius:68px 68px 52px 52px / 56px 56px 32px 32px;
  background:linear-gradient(145deg, #20ced0 0%, #12babb 50%, #07aeb1 100%);
  box-shadow:0 16px 32px rgba(6,58,85,.1);
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(220px, 28%) minmax(0, 72%);
  gap:22px;
}
.enquiry-blob::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 22% 20%, rgba(255,255,255,.16), transparent 28%);
  pointer-events:none;
}
.enquiry-blob::after{
  content:"";
  position:absolute;
  right:-54px;
  bottom:-42px;
  width:210px;
  height:172px;
  background:var(--navy);
  border-radius:70% 0 0 0;
}
.enquiry-intro{
  position:relative;
  z-index:2;
  padding:10px 2px 0 10px;
}
.enquiry-blob h2{
  color:#fff;
  font-size:clamp(34px, 2.7vw, 52px);
  line-height:.95;
}
.enquiry-intro p{
  max-width:250px;
  margin:14px 0 0;
  font-size:clamp(13px, 1vw, 18px);
  line-height:1.45;
  color:#efffff;
}
.form-arrow{
  display:block;
  margin:18px 0 0 74%;
  font-size:96px;
  line-height:.7;
  color:#fff;
  transform:rotate(-12deg);
}
.enquiry-form{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px 14px;
  align-content:start;
  padding-top:2px;
}
.enquiry-form label{
  display:block;
  min-height:66px;
  padding:9px 14px 8px;
  border-radius:7px;
  background:#fff;
  box-shadow:0 3px 0 rgba(5,47,80,.05);
}
.enquiry-form label.wide{grid-column:1 / -1}
.enquiry-form label span{
  display:block;
  margin-bottom:7px;
  font-family:Impact, 'Arial Black', 'Arial Narrow', sans-serif;
  color:var(--navy);
  font-size:11px;
  line-height:1;
  letter-spacing:.04em;
}
.enquiry-form input,
.enquiry-form textarea,
.enquiry-form select{
  width:100%;
  border:0;
  outline:0;
  background:transparent;
  color:#335468;
  font-size:15px;
  min-height:26px;
}
.enquiry-form textarea{
  resize:vertical;
  min-height:42px;
}
.enquiry-form select{
  -webkit-appearance:none;
  appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,#12babb 50%),linear-gradient(135deg,#12babb 50%,transparent 50%);
  background-position:calc(100% - 16px) 13px,calc(100% - 10px) 13px;
  background-size:6px 6px,6px 6px;
  background-repeat:no-repeat;
  padding-right:28px;
}
.submit-btn{
  grid-column:1 / -1;
  justify-self:center;
  margin-top:8px;
  min-width:250px;
  min-height:62px;
  padding:14px 30px;
  background:#ffcb1f;
  color:var(--navy);
  clip-path:polygon(3% 8%, 97% 5%, 100% 78%, 96% 100%, 3% 95%, 0 22%);
  box-shadow:0 12px 20px rgba(0,0,0,.12);
  font-size:18px;
}
.submit-btn span{font-size:28px}
.form-status{
  grid-column:1 / -1;
  text-align:center;
  color:#fff;
  font-size:13px;
  font-weight:700;
  min-height:18px;
}
.blob-dots{
  position:absolute;
  z-index:2;
  width:72px;
  height:52px;
  bottom:18px;
  background-image:repeating-linear-gradient(104deg, transparent 0 13px, rgba(255,255,255,.95) 13px 16px, transparent 16px 28px);
}
.blob-dots.left{
  left:16px;
  transform:rotate(-12deg);
}
.blob-dots.right{
  right:18px;
  transform:rotate(10deg);
  background-image:repeating-linear-gradient(104deg, transparent 0 14px, rgba(255,210,71,.95) 14px 18px, transparent 18px 30px);
}

@media (max-width: 1200px){
  .highlight-strip{grid-template-columns:repeat(6, minmax(0,1fr)); gap:12px}
  .highlight-strip figure{aspect-ratio:1 / .82}
  .contact-grid{grid-template-columns:33% 67%; gap:22px}
  .enquiry-blob{grid-template-columns:30% 70%; min-height:500px}
  .faq-list summary{min-height:68px; font-size:13px}
}

@media (max-width: 980px){
  .highlight-strip{grid-template-columns:repeat(3, 1fr); gap:16px}
  .highlight-strip figure:nth-child(n){transform:none}
  .contact-grid{grid-template-columns:1fr; gap:18px}
  .faq-block{order:2}
  .enquiry-blob{order:1; min-height:0; grid-template-columns:1fr; padding:28px 22px 30px}
  .enquiry-intro{padding:2px 4px 0}
  .enquiry-intro p{max-width:none}
  .form-arrow{display:none}
}

@media (max-width: 620px){
  .highlights{padding:8px 0 10px}
  .highlights .section-wrap,
  .contact-section .section-wrap{width:92vw}
  .highlight-strip{grid-template-columns:1fr 1fr; gap:14px}
  .highlight-strip figure{padding:7px; border-radius:12px}
  .faq-list summary{grid-template-columns:34px 1fr 24px; gap:10px; min-height:66px; padding:0 14px; font-size:12px}
  .faq-list .qmark{width:28px;height:28px;font-size:18px}
  .faq-list details p{padding:0 16px 16px 52px; font-size:13px}
  .enquiry-blob{padding:24px 16px 28px; border-radius:42px 42px 32px 32px / 38px 38px 28px 28px}
  .enquiry-blob h2{font-size:32px}
  .enquiry-form{grid-template-columns:1fr}
  .enquiry-form label,.enquiry-form label.wide,.submit-btn,.form-status{grid-column:1}
  .submit-btn{min-width:220px; min-height:56px; font-size:16px}
  .blob-dots{width:52px; height:40px}
}


/* =========================================================
   HOTFIX V2 — restore closer reference layout for highlights,
   FAQ and enquiry block while keeping everything clickable.
   ========================================================= */
.highlights,
.contact-section{
  position:relative;
}
.highlights .section-wrap,
.contact-section .section-wrap{
  width:min(96vw, 1700px) !important;
}

.highlights{
  padding:0 0 16px !important;
  margin-top:-4px !important;
}
.highlights .section-heading.compact{
  margin:0 0 14px 0 !important;
}
.highlights .section-heading.compact h2{
  font-size:clamp(42px, 2.65vw, 60px) !important;
}
.highlights .scribble.coral{
  width:76px !important;
  height:8px !important;
  border-bottom-width:5px !important;
}
.highlight-strip{
  display:grid !important;
  grid-template-columns:1.05fr .92fr 1.06fr 1.03fr .92fr 1.06fr !important;
  gap:16px !important;
  align-items:end !important;
  padding:0 8px 4px !important;
}
.highlight-strip figure{
  height:215px !important;
  aspect-ratio:auto !important;
  padding:10px !important;
  border-radius:14px !important;
  box-shadow:0 8px 20px rgba(7,53,88,.10) !important;
}
.highlight-strip img{border-radius:9px !important;}
.highlight-strip figure:nth-child(1){transform:rotate(-1.1deg) translateY(6px) !important}
.highlight-strip figure:nth-child(2){transform:rotate(2deg) translateY(10px) !important}
.highlight-strip figure:nth-child(3){transform:rotate(-.8deg) translateY(4px) !important}
.highlight-strip figure:nth-child(4){transform:rotate(1.7deg) translateY(8px) !important}
.highlight-strip figure:nth-child(5){transform:rotate(0deg) translateY(4px) !important}
.highlight-strip figure:nth-child(6){transform:rotate(2deg) translateY(11px) !important}
.highlight-strip figure::before{
  top:-10px !important;
  width:62px !important;
  height:16px !important;
}
.highlight-strip figure:nth-child(1)::before{display:none !important}
.highlight-strip figure:nth-child(5)::before{display:none !important}
.highlight-strip::before,
.highlight-strip::after,
.highlights::before,
.highlights::after{
  pointer-events:none !important;
}

.contact-section{
  padding:10px 0 0 !important;
}
.contact-grid{
  display:grid !important;
  grid-template-columns:minmax(320px, 31.5%) minmax(0, 68.5%) !important;
  gap:28px !important;
  align-items:start !important;
  padding-bottom:0 !important;
}
.faq-block{
  padding:0 !important;
}
.faq-block .section-heading.compact{
  margin:2px 0 18px !important;
}
.faq-block .section-heading.compact h2{
  font-size:clamp(40px, 2.5vw, 56px) !important;
}
.faq-block .scribble.yellow{
  width:68px !important;
  height:9px !important;
  border-bottom-width:5px !important;
}
.faq-list{gap:14px !important}
.faq-list details{
  border-radius:14px !important;
  box-shadow:0 7px 18px rgba(6,47,80,.08) !important;
}
.faq-list summary{
  grid-template-columns:38px 1fr 24px !important;
  gap:12px !important;
  min-height:74px !important;
  padding:0 16px !important;
  font-size:clamp(12px, .88vw, 17px) !important;
}
.faq-list .qmark{
  width:34px !important;
  height:34px !important;
  font-size:21px !important;
}
.faq-list .plus{
  font-size:33px !important;
}
.faq-list details p{
  padding:0 18px 18px 66px !important;
  font-size:14px !important;
  line-height:1.5 !important;
}

.enquiry-blob{
  min-height:520px !important;
  border-radius:64px 64px 44px 44px / 50px 50px 30px 30px !important;
  padding:28px 30px 22px 34px !important;
  grid-template-columns:minmax(230px, 28%) minmax(0, 72%) !important;
  gap:20px !important;
  overflow:hidden !important;
}
.enquiry-blob::before,
.enquiry-blob::after,
.contact-section::before,
.contact-section::after{
  pointer-events:none !important;
}
.enquiry-blob::after{
  right:-68px !important;
  bottom:-56px !important;
  width:230px !important;
  height:186px !important;
  border-radius:72% 0 0 0 !important;
}
.enquiry-intro{
  padding:6px 2px 0 12px !important;
}
.enquiry-blob h2{
  font-size:clamp(52px, 3.55vw, 72px) !important;
  line-height:.93 !important;
}
.enquiry-intro p{
  margin-top:12px !important;
  max-width:280px !important;
  font-size:clamp(14px, 1vw, 18px) !important;
}
.form-arrow{
  font-size:86px !important;
  margin:14px 0 0 66% !important;
  transform:rotate(-8deg) !important;
  line-height:.7 !important;
}
.enquiry-form{
  grid-template-columns:1fr 1fr !important;
  gap:12px 14px !important;
}
.enquiry-form label{
  min-height:68px !important;
  padding:8px 14px 8px !important;
  border-radius:7px !important;
}
.enquiry-form label.wide{grid-column:1/-1 !important}
.enquiry-form label span{
  font-size:11px !important;
  margin-bottom:7px !important;
}
.enquiry-form input,
.enquiry-form textarea,
.enquiry-form select{
  font-size:15px !important;
}
.enquiry-form textarea{
  min-height:44px !important;
  resize:vertical !important;
}
.submit-btn{
  grid-column:1/-1 !important;
  justify-self:center !important;
  min-width:252px !important;
  min-height:58px !important;
  margin-top:10px !important;
  font-size:17px !important;
}
.submit-btn span{font-size:26px !important}
.form-status{grid-column:1/-1 !important}
.blob-dots.left{
  left:18px !important;
  bottom:16px !important;
}
.blob-dots.right{
  right:18px !important;
  bottom:24px !important;
}

@media (max-width: 1100px){
  .highlight-strip{grid-template-columns:repeat(3,1fr) !important; gap:16px !important}
  .highlight-strip figure{height:185px !important}
  .highlight-strip figure:nth-child(n){transform:none !important}
  .contact-grid{grid-template-columns:1fr !important; gap:18px !important}
  .faq-block{order:2 !important}
  .enquiry-blob{order:1 !important; min-height:0 !important; grid-template-columns:1fr !important; padding:26px 20px 28px !important}
  .enquiry-intro{padding:0 2px !important}
  .enquiry-intro p{max-width:none !important}
  .form-arrow{display:none !important}
}
@media (max-width: 620px){
  .highlight-strip{grid-template-columns:1fr 1fr !important; gap:14px !important}
  .highlight-strip figure{height:150px !important}
  .faq-list summary{min-height:66px !important; font-size:12px !important}
  .enquiry-blob{padding:22px 16px 26px !important; border-radius:40px 40px 30px 30px / 32px 32px 26px 26px !important}
  .enquiry-blob h2{font-size:34px !important}
  .enquiry-form{grid-template-columns:1fr !important}
  .enquiry-form label,.enquiry-form label.wide,.submit-btn,.form-status{grid-column:1 !important}
}


/* =========================================================
   FINAL REFERENCE MATCH — highlights + FAQ + enquiry form
   closer to supplied reference, with working FAQ and form.
   ========================================================= */
.highlights{
  position:relative !important;
  padding:18px 0 14px !important;
  margin-top:0 !important;
  overflow:visible !important;
}
.highlights .section-wrap,
.contact-section .section-wrap{
  width:min(96vw, 1710px) !important;
}
.highlights .section-heading.compact{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:10px !important;
  margin:0 0 18px 6px !important;
}
.highlights .section-heading.compact h2{
  font-size:clamp(36px,2.15vw,52px) !important;
  line-height:.98 !important;
  letter-spacing:.01em !important;
}
.highlights .scribble.coral{
  width:84px !important;
  height:10px !important;
  margin:0 !important;
  border-bottom:5px solid var(--coral) !important;
  border-radius:50% 50% 60% 40% !important;
}
.highlights::before,
.highlights::after{
  content:"" !important;
  position:absolute !important;
  pointer-events:none !important;
}
.highlights::before{
  left:14px !important;
  top:68px !important;
  width:48px !important;
  height:70px !important;
  background:
    radial-gradient(circle at 11px 10px, #ffd158 0 2px, transparent 3px),
    radial-gradient(circle at 20px 38px, #15c8cb 0 3px, transparent 4px),
    radial-gradient(circle at 39px 49px, #ff6a66 0 2px, transparent 3px),
    radial-gradient(circle at 9px 63px, #15c8cb 0 4px, transparent 5px);
}
.highlights::after{
  right:10px !important;
  top:78px !important;
  width:64px !important;
  height:80px !important;
  background:
    radial-gradient(circle at 6px 58px, #ffd158 0 2px, transparent 3px),
    radial-gradient(circle at 54px 7px, #ffd158 0 2px, transparent 3px),
    radial-gradient(circle at 40px 31px, #15c8cb 0 3px, transparent 4px),
    radial-gradient(circle at 53px 28px, #ff6a66 0 3px, transparent 4px),
    linear-gradient(135deg, transparent 0 36px, #ff6a66 36px 40px, transparent 40px 100%),
    linear-gradient(45deg, transparent 0 40px, #ff6a66 40px 44px, transparent 44px 100%);
  opacity:.9 !important;
}
.highlight-strip{
  display:grid !important;
  grid-template-columns:1.08fr .96fr 1.08fr 1fr .9fr 1.08fr !important;
  gap:16px !important;
  align-items:end !important;
  padding:4px 12px 4px !important;
  overflow:visible !important;
}
.highlight-strip figure{
  position:relative !important;
  margin:0 !important;
  height:212px !important;
  background:#fff !important;
  padding:10px !important;
  border-radius:14px !important;
  box-shadow:0 10px 18px rgba(6,46,82,.10) !important;
  overflow:visible !important;
}
.highlight-strip figure::before{
  content:"" !important;
  position:absolute !important;
  top:-11px !important;
  left:50% !important;
  transform:translateX(-50%) rotate(-5deg) !important;
  width:62px !important;
  height:17px !important;
  border-radius:2px !important;
  background:#ffada6 !important;
  opacity:.92 !important;
}
.highlight-strip figure:nth-child(1)::before,
.highlight-strip figure:nth-child(5)::before{display:none !important}
.highlight-strip figure:nth-child(3)::before,
.highlight-strip figure:nth-child(6)::before{background:#ffe28a !important}
.highlight-strip figure:nth-child(1){transform:rotate(-1deg) translateY(6px) !important}
.highlight-strip figure:nth-child(2){transform:rotate(1.8deg) translateY(10px) !important}
.highlight-strip figure:nth-child(3){transform:rotate(-.7deg) translateY(3px) !important}
.highlight-strip figure:nth-child(4){transform:rotate(1.5deg) translateY(9px) !important}
.highlight-strip figure:nth-child(5){transform:rotate(0deg) translateY(4px) !important}
.highlight-strip figure:nth-child(6){transform:rotate(1.8deg) translateY(9px) !important}
.highlight-strip img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  border-radius:10px !important;
  display:block !important;
}

.contact-section{
  position:relative !important;
  padding:18px 0 4px !important;
  overflow:hidden !important;
}
.contact-section::before,
.contact-section::after{
  content:"" !important;
  position:absolute !important;
  pointer-events:none !important;
  z-index:0 !important;
}
.contact-section::before{
  left:-84px !important;
  bottom:-76px !important;
  width:230px !important;
  height:185px !important;
  background:#1fc8cb !important;
  border-radius:58% 56% 0 0 / 82% 80% 0 0 !important;
}
.contact-section::after{
  right:-78px !important;
  bottom:-72px !important;
  width:258px !important;
  height:196px !important;
  background:var(--navy) !important;
  border-radius:62% 0 0 0 !important;
}
.contact-grid{
  position:relative !important;
  z-index:1 !important;
  display:grid !important;
  grid-template-columns:minmax(320px, 31.2%) minmax(0, 68.8%) !important;
  gap:34px !important;
  align-items:start !important;
  padding-bottom:0 !important;
}
.faq-block{
  padding:2px 0 0 !important;
}
.faq-block .section-heading.compact{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:8px !important;
  margin:2px 0 18px 6px !important;
}
.faq-block .section-heading.compact h2{
  font-size:clamp(36px,2.05vw,48px) !important;
  line-height:1 !important;
}
.faq-block .scribble.yellow{
  width:64px !important;
  height:9px !important;
  margin:0 !important;
  border-bottom:5px solid var(--yellow) !important;
  border-radius:50% 50% 60% 40% !important;
}
.faq-list{
  display:grid !important;
  gap:14px !important;
}
.faq-list details{
  background:#fff !important;
  border-radius:12px !important;
  box-shadow:0 7px 16px rgba(5,47,80,.08) !important;
  overflow:hidden !important;
}
.faq-list summary{
  list-style:none !important;
  display:grid !important;
  grid-template-columns:40px 1fr 24px !important;
  gap:14px !important;
  align-items:center !important;
  min-height:78px !important;
  padding:0 18px !important;
  font-size:clamp(13px,.86vw,17px) !important;
  color:var(--navy) !important;
}
.faq-list .qmark{
  width:32px !important;
  height:32px !important;
  border-radius:50% !important;
  background:var(--teal) !important;
  color:#fff !important;
  font-size:20px !important;
}
.faq-list .plus{
  color:#27c9cb !important;
  font-size:32px !important;
}
.faq-list details p{
  padding:0 18px 18px 72px !important;
  font-size:14px !important;
  color:#526577 !important;
}

.enquiry-blob{
  position:relative !important;
  min-height:500px !important;
  padding:26px 28px 22px 32px !important;
  display:grid !important;
  grid-template-columns:minmax(235px, 27%) minmax(0, 73%) !important;
  gap:22px !important;
  overflow:hidden !important;
  background:linear-gradient(145deg,#22cfd0 0%, #13bdbe 45%, #08b2b5 100%) !important;
  border-radius:62px 62px 46px 46px / 52px 52px 28px 28px !important;
  box-shadow:0 14px 28px rgba(8,57,84,.1) !important;
}
.enquiry-blob::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:radial-gradient(circle at 14% 12%, rgba(255,255,255,.18), transparent 24%) !important;
  pointer-events:none !important;
}
.enquiry-blob::after{
  content:"" !important;
  position:absolute !important;
  right:-48px !important;
  bottom:-32px !important;
  width:214px !important;
  height:154px !important;
  background:var(--navy) !important;
  border-radius:74% 0 0 0 !important;
  transform:rotate(0deg) !important;
  pointer-events:none !important;
}
.enquiry-intro{
  position:relative !important;
  z-index:2 !important;
  padding:4px 0 0 6px !important;
}
.enquiry-blob h2{
  color:#fff !important;
  font-size:clamp(42px,2.65vw,56px) !important;
  line-height:1 !important;
  letter-spacing:.01em !important;
}
.enquiry-intro p{
  max-width:260px !important;
  margin:14px 0 0 !important;
  font-size:clamp(13px,.94vw,17px) !important;
  line-height:1.45 !important;
  color:#f5ffff !important;
}
.form-arrow{
  display:block !important;
  margin:2px 0 0 72% !important;
  font-size:80px !important;
  line-height:.75 !important;
  color:#fff !important;
  transform:rotate(-6deg) !important;
}
.enquiry-form{
  position:relative !important;
  z-index:2 !important;
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:12px 14px !important;
  align-content:start !important;
}
.enquiry-form label{
  display:block !important;
  background:#fff !important;
  min-height:56px !important;
  padding:8px 12px 8px !important;
  border-radius:5px !important;
  box-shadow:none !important;
}
.enquiry-form label.wide{grid-column:1/-1 !important}
.enquiry-form label span{
  display:block !important;
  margin-bottom:6px !important;
  font-size:10px !important;
  line-height:1 !important;
  letter-spacing:.02em !important;
  color:var(--navy) !important;
}
.enquiry-form input,
.enquiry-form textarea,
.enquiry-form select{
  width:100% !important;
  border:0 !important;
  outline:0 !important;
  background:transparent !important;
  color:#4d6174 !important;
  font-size:15px !important;
  min-height:22px !important;
}
.enquiry-form textarea{
  min-height:42px !important;
  resize:none !important;
}
.enquiry-form select{
  -webkit-appearance:none !important;
  appearance:none !important;
  background-image:linear-gradient(45deg,transparent 50%,#12babb 50%),linear-gradient(135deg,#12babb 50%,transparent 50%) !important;
  background-position:calc(100% - 16px) 11px,calc(100% - 10px) 11px !important;
  background-size:6px 6px,6px 6px !important;
  background-repeat:no-repeat !important;
  padding-right:28px !important;
}
.enquiry-form input[type="date"]{
  color:#4d6174 !important;
}
.submit-btn{
  grid-column:1/-1 !important;
  justify-self:center !important;
  margin-top:8px !important;
  min-width:250px !important;
  min-height:58px !important;
  padding:13px 30px !important;
  background:#ffcf28 !important;
  color:var(--navy) !important;
  font-size:17px !important;
  clip-path:polygon(3% 8%,97% 4%,100% 80%,96% 100%,3% 95%,0 22%) !important;
  box-shadow:0 10px 16px rgba(0,0,0,.12) !important;
}
.submit-btn span{font-size:25px !important}
.form-status{grid-column:1/-1 !important}
.blob-dots{
  position:absolute !important;
  z-index:2 !important;
  width:68px !important;
  height:48px !important;
  background-image:repeating-linear-gradient(104deg, transparent 0 14px, rgba(255,255,255,.94) 14px 17px, transparent 17px 28px) !important;
}
.blob-dots.left{
  left:12px !important;
  bottom:16px !important;
  transform:rotate(-10deg) !important;
  display:none !important;
}
.blob-dots.right{
  right:18px !important;
  bottom:18px !important;
  transform:rotate(10deg) !important;
  background-image:repeating-linear-gradient(104deg, transparent 0 14px, rgba(255,210,71,.98) 14px 18px, transparent 18px 30px) !important;
}

@media (max-width: 1100px){
  .highlight-strip{grid-template-columns:repeat(3,1fr) !important; gap:16px !important}
  .highlight-strip figure{height:182px !important}
  .highlight-strip figure:nth-child(n){transform:none !important}
  .contact-grid{grid-template-columns:1fr !important; gap:20px !important}
  .faq-block{order:2 !important}
  .enquiry-blob{order:1 !important; min-height:0 !important; grid-template-columns:1fr !important; padding:26px 22px 28px !important}
  .enquiry-intro{padding:0 2px !important}
  .enquiry-intro p{max-width:none !important}
  .form-arrow{display:none !important}
}
@media (max-width: 620px){
  .highlights{padding-top:12px !important}
  .highlights .section-wrap,
  .contact-section .section-wrap{width:92vw !important}
  .highlight-strip{grid-template-columns:1fr 1fr !important; gap:14px !important}
  .highlight-strip figure{height:150px !important}
  .faq-list summary{min-height:66px !important; font-size:12px !important; padding:0 14px !important}
  .faq-list .qmark{width:28px !important; height:28px !important; font-size:18px !important}
  .faq-list details p{padding:0 14px 16px 52px !important}
  .enquiry-blob{padding:22px 16px 24px !important; border-radius:40px 40px 30px 30px / 34px 34px 24px 24px !important}
  .enquiry-blob h2{font-size:34px !important}
  .enquiry-form{grid-template-columns:1fr !important}
  .enquiry-form label,.enquiry-form label.wide,.submit-btn,.form-status{grid-column:1 !important}
}


/* =========================================================
   FINAL CONTACT + FOOTER REFINEMENT
   Closer to the latest reference while keeping FAQ and form functional.
   ========================================================= */
.contact-section{
  position:relative !important;
  padding:8px 0 0 !important;
  overflow:hidden !important;
  background:transparent !important;
}
.contact-section::before{
  left:-72px !important;
  bottom:-66px !important;
  width:215px !important;
  height:160px !important;
  background:#23cfd1 !important;
  border-radius:62% 55% 0 0 / 88% 82% 0 0 !important;
}
.contact-section::after{
  right:-88px !important;
  bottom:-84px !important;
  width:270px !important;
  height:190px !important;
  background:var(--navy) !important;
  border-radius:70% 0 0 0 !important;
}
.contact-grid{
  width:min(96vw, 1710px) !important;
  grid-template-columns:minmax(330px, 31.5%) minmax(0, 68.5%) !important;
  gap:30px !important;
  align-items:start !important;
  position:relative !important;
  z-index:1 !important;
}

.faq-block{
  padding:6px 0 0 0 !important;
}
.faq-block .section-heading.compact{
  margin:0 0 18px 4px !important;
}
.faq-block .section-heading.compact h2{
  font-size:clamp(40px, 2.2vw, 54px) !important;
  line-height:.96 !important;
  letter-spacing:.01em !important;
}
.faq-block .scribble.yellow{
  width:70px !important;
  height:10px !important;
  border-bottom-width:5px !important;
}
.faq-list{gap:14px !important;}
.faq-list details{
  border-radius:12px !important;
  box-shadow:0 8px 16px rgba(7,53,88,.07) !important;
}
.faq-list summary{
  min-height:76px !important;
  grid-template-columns:36px 1fr 24px !important;
  gap:14px !important;
  padding:0 18px !important;
  font-size:clamp(12px, .9vw, 17px) !important;
}
.faq-list .qmark{
  width:32px !important;
  height:32px !important;
  font-size:20px !important;
}
.faq-list details p{
  padding:0 18px 18px 68px !important;
  font-size:14px !important;
}

.enquiry-blob{
  min-height:474px !important;
  padding:30px 28px 22px 28px !important;
  border-radius:58px 58px 42px 42px / 42px 42px 28px 28px !important;
  background:linear-gradient(145deg, #23d0d2 0%, #12bdbe 52%, #09b2b5 100%) !important;
  grid-template-columns:minmax(235px, 28%) minmax(0, 72%) !important;
  gap:22px !important;
  overflow:hidden !important;
  box-shadow:0 14px 28px rgba(7,53,88,.10) !important;
}
.enquiry-blob::before{
  inset:0 !important;
  background:radial-gradient(circle at 12% 15%, rgba(255,255,255,.18), transparent 22%) !important;
}
.enquiry-blob::after{
  right:-60px !important;
  bottom:-36px !important;
  width:228px !important;
  height:160px !important;
  background:var(--navy) !important;
  border-radius:78% 0 0 0 !important;
}
.enquiry-intro{
  padding:2px 0 0 10px !important;
}
.enquiry-blob h2{
  font-size:clamp(36px, 2.25vw, 48px) !important;
  line-height:.97 !important;
  letter-spacing:.01em !important;
}
.enquiry-intro p{
  max-width:250px !important;
  margin:14px 0 0 !important;
  font-size:clamp(13px, .92vw, 16px) !important;
  line-height:1.42 !important;
}
.form-arrow{
  display:block !important;
  margin:8px 0 0 72% !important;
  font-size:86px !important;
  line-height:.7 !important;
  transform:rotate(-8deg) !important;
}
.enquiry-form{
  grid-template-columns:1fr 1fr !important;
  gap:12px 14px !important;
  align-content:start !important;
  padding-top:2px !important;
}
.enquiry-form label{
  min-height:58px !important;
  border-radius:5px !important;
  padding:7px 12px 8px !important;
  background:#fff !important;
  box-shadow:none !important;
}
.enquiry-form label.wide{grid-column:1/-1 !important;}
.enquiry-form label span{
  font-size:10px !important;
  line-height:1 !important;
  margin-bottom:6px !important;
  letter-spacing:.02em !important;
}
.enquiry-form input,
.enquiry-form textarea,
.enquiry-form select{
  font-size:14px !important;
  min-height:24px !important;
  color:#52677a !important;
}
.enquiry-form textarea{
  min-height:42px !important;
  resize:none !important;
}
.submit-btn{
  grid-column:1/-1 !important;
  justify-self:center !important;
  min-width:250px !important;
  min-height:54px !important;
  margin-top:10px !important;
  padding:13px 28px !important;
  background:#ffcf28 !important;
  font-size:17px !important;
  box-shadow:none !important;
}
.submit-btn span{font-size:24px !important;}
.blob-dots.left{display:none !important;}
.blob-dots.right{
  right:18px !important;
  bottom:18px !important;
  width:64px !important;
  height:46px !important;
}

.site-footer{
  position:relative !important;
  margin-top:0 !important;
  padding:26px 0 14px !important;
  background:var(--navy) !important;
  color:#fff !important;
}
.site-footer::before{
  content:"" !important;
  position:absolute !important;
  inset:auto 0 0 0 !important;
  height:0 !important;
  border-top:none !important;
}
.footer-inner{
  width:min(96vw, 1710px) !important;
  margin:0 auto !important;
  display:grid !important;
  grid-template-columns:1.12fr .7fr 1fr 1.05fr !important;
  gap:52px !important;
  align-items:start !important;
}
.footer-brand .brand-line,
.footer-brand .brand-smile i{
  font-size:31px !important;
}
.footer-brand small{
  font-size:7px !important;
  letter-spacing:.16em !important;
}
.footer-brand-col p{
  margin:14px 0 0 !important;
  max-width:300px !important;
  font-size:13px !important;
  line-height:1.48 !important;
  color:#dfedf5 !important;
}
.socials{
  display:flex !important;
  gap:14px !important;
  margin-top:20px !important;
}
.socials a{
  width:46px !important;
  height:46px !important;
  border-radius:50% !important;
  background:var(--coral) !important;
  display:grid !important;
  place-items:center !important;
}
.socials svg{width:22px !important;height:22px !important;}
.footer-col{
  display:flex !important;
  flex-direction:column !important;
  gap:6px !important;
  font-size:13px !important;
  color:#e3edf5 !important;
}
.footer-col h3{
  margin:5px 0 12px !important;
  font-size:18px !important;
  letter-spacing:.02em !important;
}
.footer-col a,
.footer-col span,
.footer-col p{
  color:#e3edf5 !important;
  line-height:1.45 !important;
}
.service-col p{max-width:300px !important; margin:0 0 4px !important;}
.get-in-touch{
  padding-right:92px !important;
}
.get-in-touch span{display:block !important; margin-bottom:6px !important;}
.balloons{
  right:8px !important;
  bottom:4px !important;
  width:88px !important;
  height:120px !important;
}
.balloon{
  width:32px !important;
  height:46px !important;
  border-width:3px !important;
}
.balloon:after{height:60px !important; top:45px !important;}
.footer-bottom{
  width:min(96vw, 1710px) !important;
  margin:26px auto 0 !important;
  padding-top:13px !important;
  border-top:1px solid rgba(255,255,255,.14) !important;
  display:flex !important;
  justify-content:space-between !important;
  gap:20px !important;
  font-size:11px !important;
  color:#a9c1d0 !important;
}

@media (max-width: 1100px){
  .contact-grid{grid-template-columns:1fr !important; gap:20px !important;}
  .faq-block{order:2 !important;}
  .enquiry-blob{order:1 !important; grid-template-columns:1fr !important; min-height:0 !important; padding:24px 20px 28px !important;}
  .enquiry-intro{padding:0 2px !important;}
  .enquiry-intro p{max-width:none !important;}
  .form-arrow{display:none !important;}
  .footer-inner{grid-template-columns:1fr 1fr !important; gap:34px !important;}
  .footer-bottom{flex-wrap:wrap !important;}
}
@media (max-width: 620px){
  .contact-grid{width:92vw !important;}
  .faq-list summary{min-height:66px !important; padding:0 14px !important;}
  .faq-list .qmark{width:28px !important;height:28px !important;font-size:18px !important;}
  .enquiry-blob{padding:22px 16px 24px !important; border-radius:40px 40px 28px 28px / 30px 30px 22px 22px !important;}
  .enquiry-blob h2{font-size:34px !important;}
  .enquiry-form{grid-template-columns:1fr !important;}
  .enquiry-form label,.enquiry-form label.wide,.submit-btn,.form-status{grid-column:1 !important;}
  .footer-inner{grid-template-columns:1fr !important; gap:28px !important;}
  .get-in-touch{padding-right:86px !important;}
}


/* =========================================================
   FOOTER HOTFIX V4 — clean lower edge + crisp social/contact icons
   ========================================================= */
.contact-section{
  margin-bottom:-1px !important;
}
.enquiry-blob::before{
  left:0 !important;
  top:0 !important;
  right:0 !important;
  bottom:0 !important;
  width:auto !important;
  height:auto !important;
  border-radius:inherit !important;
  transform:none !important;
}
.enquiry-blob::after{
  left:auto !important;
  top:auto !important;
  right:-42px !important;
  bottom:-24px !important;
  width:220px !important;
  height:150px !important;
  border-radius:78% 0 0 0 !important;
  transform:none !important;
  background:var(--navy) !important;
  opacity:1 !important;
}
.contact-section::before{
  left:-66px !important;
  right:auto !important;
  top:auto !important;
  bottom:-74px !important;
  width:230px !important;
  height:174px !important;
  border-radius:62% 54% 0 0 / 88% 82% 0 0 !important;
  transform:none !important;
  background:#25cfd1 !important;
}
.contact-section::after{
  display:none !important;
}
.site-footer{
  margin-top:-1px !important;
  padding:28px 0 14px !important;
  border-top:0 !important;
  box-shadow:none !important;
}
.footer-inner{
  width:min(94vw, 1680px) !important;
  grid-template-columns:1.08fr .72fr 1.03fr 1.12fr !important;
  gap:58px !important;
}
.footer-brand-col{
  padding-left:4px !important;
}
.footer-brand .brand-line,
.footer-brand .brand-smile i{
  font-size:34px !important;
}
.footer-brand small{
  margin-top:7px !important;
  font-size:7.5px !important;
  letter-spacing:.18em !important;
}
.footer-brand-col p{
  max-width:285px !important;
  margin-top:14px !important;
  font-size:13px !important;
}
.socials{
  display:flex !important;
  gap:13px !important;
  margin-top:19px !important;
}
.socials a{
  width:46px !important;
  height:46px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:50% !important;
  background:#ff6266 !important;
  color:#fff !important;
  box-shadow:0 7px 14px rgba(0,0,0,.12) !important;
  border:1px solid rgba(255,255,255,.16) !important;
  transition:transform .18s ease, filter .18s ease, box-shadow .18s ease !important;
}
.socials a:hover,
.socials a:focus-visible{
  transform:translateY(-2px) scale(1.04) !important;
  filter:brightness(1.06) !important;
  box-shadow:0 10px 18px rgba(0,0,0,.16) !important;
  outline:none !important;
}
.socials a svg{
  width:22px !important;
  height:22px !important;
  display:block !important;
}
.social-facebook svg,
.social-tiktok svg{
  fill:currentColor !important;
  stroke:none !important;
}
.social-instagram svg{
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:2 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}
.social-instagram .ig-dot{
  fill:currentColor !important;
  stroke:none !important;
}
.footer-col h3{
  margin:5px 0 13px !important;
  font-size:18px !important;
}
.footer-col{
  gap:7px !important;
  font-size:13px !important;
}
.service-col p{
  max-width:275px !important;
  margin-bottom:5px !important;
}
.area-item{
  position:relative !important;
  display:block !important;
  padding-left:18px !important;
}
.area-item::before{
  content:"" !important;
  position:absolute !important;
  left:1px !important;
  top:.43em !important;
  width:8px !important;
  height:8px !important;
  border:2px solid #fff !important;
  border-radius:50% 50% 50% 0 !important;
  transform:rotate(-45deg) !important;
  opacity:.95 !important;
}
.get-in-touch{
  padding-right:110px !important;
}
.contact-line{
  display:flex !important;
  align-items:center !important;
  gap:9px !important;
  min-height:24px !important;
  margin:0 !important;
}
.contact-line > svg{
  width:18px !important;
  height:18px !important;
  flex:0 0 18px !important;
  fill:none !important;
  stroke:#21c9cc !important;
  stroke-width:1.8 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}
.contact-line > span{
  color:#e8f1f6 !important;
  margin:0 !important;
}
.balloons{
  position:absolute !important;
  right:4px !important;
  bottom:-1px !important;
  width:92px !important;
  height:124px !important;
}
.balloon{
  position:absolute !important;
  width:34px !important;
  height:47px !important;
  border:3px solid currentColor !important;
  border-radius:52% 48% 48% 52% / 58% 58% 42% 42% !important;
  background:transparent !important;
}
.balloon::before{
  content:"" !important;
  position:absolute !important;
  left:13px !important;
  bottom:-7px !important;
  width:0 !important;
  height:0 !important;
  border-left:4px solid transparent !important;
  border-right:4px solid transparent !important;
  border-top:7px solid currentColor !important;
}
.balloon::after{
  content:"" !important;
  position:absolute !important;
  left:16px !important;
  top:48px !important;
  width:2px !important;
  height:65px !important;
  background:currentColor !important;
  transform-origin:top !important;
}
.get-in-touch .teal-balloon{
  color:#20c8ca !important;
  left:5px !important;
  top:0 !important;
  transform:rotate(-7deg) !important;
}
.get-in-touch .teal-balloon::after{
  transform:rotate(3deg) !important;
}
.get-in-touch .coral-balloon{
  color:#ff6266 !important;
  right:0 !important;
  top:25px !important;
  transform:rotate(7deg) !important;
}
.get-in-touch .coral-balloon::after{
  transform:rotate(15deg) !important;
}
.footer-bottom{
  width:min(94vw, 1680px) !important;
  margin-top:24px !important;
  padding-top:12px !important;
}
@media (max-width:1100px){
  .footer-inner{grid-template-columns:1fr 1fr !important; gap:34px 44px !important;}
  .get-in-touch{padding-right:104px !important;}
}
@media (max-width:620px){
  .footer-inner{grid-template-columns:1fr !important; gap:28px !important;}
  .get-in-touch{padding-right:96px !important; min-height:128px !important;}
  .footer-bottom{width:92vw !important; gap:8px !important;}
}


/* =========================================================
   V5 — form + footer closer to reference, FAQ unchanged
   ========================================================= */
.contact-section{
  padding:6px 0 0 !important;
  overflow:hidden !important;
}
.contact-section::before{
  content:"" !important;
  position:absolute !important;
  left:-78px !important;
  bottom:-64px !important;
  width:230px !important;
  height:145px !important;
  background:#22cfd1 !important;
  border-radius:60% 52% 0 0 / 92% 84% 0 0 !important;
  z-index:0 !important;
  pointer-events:none !important;
}
.contact-section::after{
  content:"" !important;
  position:absolute !important;
  right:-92px !important;
  bottom:-76px !important;
  width:284px !important;
  height:190px !important;
  background:var(--navy) !important;
  border-radius:78% 0 0 0 !important;
  z-index:0 !important;
  pointer-events:none !important;
}
.contact-grid{
  width:min(96vw, 1710px) !important;
  grid-template-columns:minmax(330px, 31.5%) minmax(0, 68.5%) !important;
  gap:28px !important;
  align-items:end !important;
  position:relative !important;
  z-index:1 !important;
}
.enquiry-blob{
  min-height:446px !important;
  padding:22px 24px 18px 24px !important;
  border-radius:44px 44px 34px 34px / 32px 32px 24px 24px !important;
  background:linear-gradient(145deg,#24d1d3 0%, #16c2c3 50%, #0fb5b8 100%) !important;
  grid-template-columns:minmax(248px, 28%) minmax(0, 72%) !important;
  gap:18px !important;
  box-shadow:none !important;
  overflow:hidden !important;
}
.enquiry-blob::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:radial-gradient(circle at 14% 12%, rgba(255,255,255,.15), transparent 22%) !important;
  pointer-events:none !important;
}
.enquiry-blob::after{
  display:none !important;
}
.enquiry-intro{
  padding:6px 0 0 12px !important;
  z-index:2 !important;
}
.enquiry-blob h2{
  font-size:clamp(32px, 2.15vw, 42px) !important;
  line-height:.98 !important;
  letter-spacing:.01em !important;
  color:#fff !important;
}
.enquiry-intro p{
  max-width:250px !important;
  margin:16px 0 0 !important;
  font-size:clamp(12px, .9vw, 16px) !important;
  line-height:1.45 !important;
  color:#f1ffff !important;
}
.form-arrow{
  display:block !important;
  margin:14px 0 0 72% !important;
  font-size:78px !important;
  line-height:.7 !important;
  color:#fff !important;
  transform:rotate(-7deg) !important;
}
.enquiry-form{
  grid-template-columns:1fr 1fr !important;
  gap:11px 12px !important;
  align-content:start !important;
  z-index:2 !important;
}
.enquiry-form label{
  min-height:53px !important;
  padding:7px 11px 7px !important;
  border-radius:4px !important;
  background:#fff !important;
  box-shadow:none !important;
}
.enquiry-form label.wide{grid-column:1 / -1 !important;}
.enquiry-form label span{
  margin-bottom:6px !important;
  font-size:9.5px !important;
  letter-spacing:.02em !important;
  color:var(--navy) !important;
}
.enquiry-form input,
.enquiry-form textarea,
.enquiry-form select{
  font-size:13px !important;
  min-height:20px !important;
  color:#5a6e81 !important;
}
.enquiry-form textarea{
  min-height:38px !important;
  resize:none !important;
}
.enquiry-form select{
  background-position:calc(100% - 14px) 10px, calc(100% - 9px) 10px !important;
  background-size:5px 5px, 5px 5px !important;
  padding-right:24px !important;
}
.submit-btn{
  grid-column:1 / -1 !important;
  justify-self:center !important;
  min-width:256px !important;
  min-height:48px !important;
  margin-top:10px !important;
  padding:10px 28px !important;
  background:#ffcf28 !important;
  color:var(--navy) !important;
  font-size:16px !important;
  clip-path:polygon(3% 8%,97% 4%,100% 80%,96% 100%,3% 95%,0 22%) !important;
  box-shadow:none !important;
}
.submit-btn span{font-size:24px !important;}
.blob-dots.left{display:none !important;}
.blob-dots.right{
  right:18px !important;
  bottom:20px !important;
  width:58px !important;
  height:42px !important;
  background-image:repeating-linear-gradient(104deg, transparent 0 15px, rgba(255,210,71,.98) 15px 18px, transparent 18px 30px) !important;
  transform:rotate(12deg) !important;
}

.site-footer{
  background:var(--navy) !important;
  color:#fff !important;
  padding:22px 0 10px !important;
  margin-top:0 !important;
  position:relative !important;
}
.site-footer::before{display:none !important;}
.footer-inner{
  width:min(96vw, 1710px) !important;
  margin:0 auto !important;
  display:grid !important;
  grid-template-columns:1.1fr .72fr 1fr 1.05fr !important;
  gap:42px !important;
  align-items:start !important;
}
.footer-brand{display:inline-flex !important; flex-direction:column !important; align-items:flex-start !important; text-decoration:none !important;}
.footer-brand .brand-line,
.footer-brand .brand-smile i{font-size:30px !important;}
.footer-brand small{font-size:7px !important; letter-spacing:.14em !important;}
.footer-brand-col p{
  margin:14px 0 0 !important;
  max-width:280px !important;
  font-size:12px !important;
  line-height:1.45 !important;
  color:#dbe9f2 !important;
}
.socials{display:flex !important; gap:14px !important; margin-top:18px !important;}
.socials a{
  width:44px !important;
  height:44px !important;
  border-radius:50% !important;
  display:grid !important;
  place-items:center !important;
  background:var(--coral) !important;
  transition:transform .2s ease, filter .2s ease !important;
}
.socials a:hover,
.socials a:focus-visible{transform:translateY(-2px) !important; filter:brightness(1.03) !important;}
.socials svg{width:20px !important; height:20px !important;}
.footer-col{font-size:12px !important; color:#dfeaf2 !important;}
.footer-col h3{
  margin:2px 0 14px !important;
  font-size:17px !important;
  letter-spacing:.02em !important;
  color:#fff !important;
}
.footer-col a,
.footer-col span,
.footer-col p{color:#dfeaf2 !important; line-height:1.52 !important; text-decoration:none !important;}
.footer-col a{display:block !important; margin:0 0 3px !important;}
.service-col p{margin:0 0 6px !important; max-width:285px !important;}
.area-item{
  display:block !important;
  position:relative !important;
  padding-left:14px !important;
  margin:0 0 3px !important;
}
.area-item::before{
  content:"•" !important;
  position:absolute !important;
  left:0 !important;
  top:0 !important;
  color:#dfeaf2 !important;
}
.get-in-touch{padding-right:90px !important; position:relative !important;}
.contact-line{
  display:flex !important;
  align-items:flex-start !important;
  gap:8px !important;
  margin:0 0 8px !important;
}
.contact-line svg{
  width:16px !important;
  height:16px !important;
  margin-top:2px !important;
  flex:0 0 auto !important;
  stroke:#25d0d2 !important;
  fill:none !important;
  stroke-width:2 !important;
}
.contact-line span{line-height:1.5 !important;}
.balloons{
  position:absolute !important;
  right:8px !important;
  bottom:4px !important;
  width:84px !important;
  height:116px !important;
}
.balloon{
  position:absolute !important;
  width:30px !important;
  height:44px !important;
  border-radius:50% !important;
  background:transparent !important;
  border:3px solid currentColor !important;
}
.teal-balloon{color:#22cfd1 !important; left:2px !important; top:14px !important;}
.coral-balloon{color:#ff6d6a !important; right:0 !important; top:34px !important;}
.balloon::after{
  content:"" !important;
  position:absolute !important;
  top:42px !important;
  left:50% !important;
  width:2px !important;
  height:58px !important;
  background:currentColor !important;
}
.footer-bottom{
  width:min(96vw, 1710px) !important;
  margin:18px auto 0 !important;
  padding-top:10px !important;
  border-top:1px solid rgba(255,255,255,.12) !important;
  display:flex !important;
  justify-content:space-between !important;
  gap:20px !important;
  font-size:11px !important;
  color:#a9c1d0 !important;
}

@media (max-width: 1100px){
  .contact-grid{grid-template-columns:1fr !important; gap:18px !important; align-items:start !important;}
  .enquiry-blob{grid-template-columns:1fr !important; min-height:0 !important; padding:24px 20px 24px !important;}
  .enquiry-intro{padding:0 2px !important;}
  .enquiry-intro p{max-width:none !important;}
  .form-arrow{display:none !important;}
  .footer-inner{grid-template-columns:1fr 1fr !important; gap:32px 38px !important;}
}
@media (max-width: 620px){
  .contact-grid{width:92vw !important;}
  .enquiry-blob{padding:22px 16px 22px !important; border-radius:34px 34px 26px 26px / 28px 28px 22px 22px !important;}
  .enquiry-blob h2{font-size:32px !important;}
  .enquiry-form{grid-template-columns:1fr !important;}
  .enquiry-form label,.enquiry-form label.wide,.submit-btn,.form-status{grid-column:1 !important;}
  .footer-inner{grid-template-columns:1fr !important; gap:24px !important;}
  .get-in-touch{padding-right:82px !important;}
}


/* =========================================================
   V6 — ACTUAL reference layout for enquiry + footer.
   FAQ markup/styles intentionally left unchanged.
   ========================================================= */

/* Contact section bottom artwork */
.contact-section{
  position:relative !important;
  padding:8px 0 0 !important;
  overflow:hidden !important;
}
.contact-section::before{
  content:"" !important;
  position:absolute !important;
  left:-78px !important;
  bottom:-66px !important;
  width:242px !important;
  height:160px !important;
  background:#22cfd1 !important;
  border-radius:58% 48% 0 0 / 88% 78% 0 0 !important;
  z-index:0 !important;
  pointer-events:none !important;
}
.contact-section::after{
  content:"" !important;
  position:absolute !important;
  right:-95px !important;
  bottom:-74px !important;
  width:294px !important;
  height:186px !important;
  background:var(--navy) !important;
  border-radius:76% 0 0 0 !important;
  z-index:2 !important;
  pointer-events:none !important;
}
.contact-grid{
  width:min(96vw,1710px) !important;
  position:relative !important;
  z-index:1 !important;
  display:grid !important;
  grid-template-columns:minmax(320px,31.5%) minmax(0,68.5%) !important;
  gap:28px !important;
  align-items:end !important;
}

/* Enquiry panel — intro on top, form below exactly like reference */
.enquiry-blob{
  position:relative !important;
  display:block !important;
  min-height:0 !important;
  padding:28px 54px 24px !important;
  background:linear-gradient(145deg,#17c5c7 0%,#0eb6b8 58%,#0aa8ab 100%) !important;
  border-radius:64px 64px 0 0 / 50px 50px 0 0 !important;
  box-shadow:none !important;
  overflow:hidden !important;
}
.enquiry-blob::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:radial-gradient(circle at 16% 15%,rgba(255,255,255,.12),transparent 24%) !important;
  pointer-events:none !important;
}
.enquiry-blob::after{display:none !important;}
.enquiry-intro{
  position:relative !important;
  z-index:2 !important;
  padding:0 !important;
  width:47% !important;
}
.enquiry-blob h2{
  margin:0 !important;
  color:#fff !important;
  font-size:clamp(30px,2.05vw,42px) !important;
  line-height:1 !important;
  letter-spacing:.015em !important;
}
.enquiry-intro p{
  margin:14px 0 0 !important;
  max-width:275px !important;
  color:#efffff !important;
  font-size:clamp(12px,.9vw,16px) !important;
  line-height:1.42 !important;
}
.form-arrow{
  position:absolute !important;
  left:58% !important;
  top:24px !important;
  margin:0 !important;
  display:block !important;
  color:#fff !important;
  font-size:74px !important;
  line-height:.8 !important;
  transform:rotate(-8deg) !important;
}
.enquiry-form{
  position:relative !important;
  z-index:2 !important;
  width:92% !important;
  margin:26px auto 0 !important;
  padding:0 !important;
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:10px 12px !important;
  align-content:start !important;
}
.enquiry-form label{
  min-height:47px !important;
  padding:6px 10px 6px !important;
  background:#fff !important;
  border-radius:3px !important;
  box-shadow:none !important;
  overflow:hidden !important;
}
.enquiry-form label.wide{grid-column:1/-1 !important;}
.enquiry-form label span{
  display:block !important;
  margin:0 0 5px !important;
  color:var(--navy) !important;
  font-family:Impact,'Arial Black','Arial Narrow',sans-serif !important;
  font-size:9px !important;
  line-height:1 !important;
  letter-spacing:.025em !important;
}
.enquiry-form input,
.enquiry-form textarea,
.enquiry-form select{
  display:block !important;
  width:100% !important;
  min-height:20px !important;
  padding:0 !important;
  border:0 !important;
  outline:0 !important;
  background:transparent !important;
  color:#576e81 !important;
  font-size:13px !important;
  line-height:1.2 !important;
}
.enquiry-form textarea{
  min-height:34px !important;
  resize:none !important;
}
.enquiry-form select{
  -webkit-appearance:none !important;
  appearance:none !important;
  background-image:linear-gradient(45deg,transparent 50%,#10b6b8 50%),linear-gradient(135deg,#10b6b8 50%,transparent 50%) !important;
  background-position:calc(100% - 14px) 9px,calc(100% - 9px) 9px !important;
  background-size:5px 5px,5px 5px !important;
  background-repeat:no-repeat !important;
  padding-right:24px !important;
}
.submit-btn{
  grid-column:1/-1 !important;
  justify-self:center !important;
  min-width:225px !important;
  min-height:48px !important;
  margin:8px 0 0 !important;
  padding:10px 26px !important;
  background:#ffd02b !important;
  color:var(--navy) !important;
  font-size:15px !important;
  clip-path:polygon(4% 7%,96% 3%,100% 79%,96% 98%,4% 96%,0 22%) !important;
  box-shadow:none !important;
}
.submit-btn span{font-size:22px !important;}
.form-status{
  grid-column:1/-1 !important;
  min-height:12px !important;
  margin:0 !important;
  color:#fff !important;
  font-size:11px !important;
  text-align:center !important;
}
.blob-dots.left{display:none !important;}
.blob-dots.right{
  right:20px !important;
  bottom:15px !important;
  width:58px !important;
  height:42px !important;
  background-image:repeating-linear-gradient(104deg,transparent 0 15px,rgba(255,207,43,.98) 15px 18px,transparent 18px 30px) !important;
  transform:rotate(12deg) !important;
}

/* Compact reference-style footer */
.site-footer{
  position:relative !important;
  background:var(--navy) !important;
  color:#fff !important;
  padding:20px 0 18px !important;
  margin-top:0 !important;
}
.site-footer::before{display:none !important;}
.footer-inner{
  width:min(92vw,1600px) !important;
  margin:0 auto !important;
  display:grid !important;
  grid-template-columns:1.02fr .72fr 1fr 1.08fr !important;
  gap:48px !important;
  align-items:start !important;
}
.footer-brand .brand-line,
.footer-brand .brand-smile i{font-size:27px !important;}
.footer-brand small{font-size:6.5px !important; letter-spacing:.15em !important;}
.footer-brand-col p{
  margin:12px 0 0 !important;
  max-width:250px !important;
  color:#e0edf4 !important;
  font-size:11.5px !important;
  line-height:1.45 !important;
}
.socials{
  display:flex !important;
  gap:12px !important;
  margin-top:16px !important;
}
.socials a{
  width:38px !important;
  height:38px !important;
  border-radius:50% !important;
  background:var(--coral) !important;
  display:grid !important;
  place-items:center !important;
}
.socials a svg{width:18px !important;height:18px !important;}
.footer-col{
  display:flex !important;
  flex-direction:column !important;
  gap:4px !important;
  color:#e0edf4 !important;
  font-size:11.5px !important;
}
.footer-col h3{
  margin:2px 0 10px !important;
  color:#fff !important;
  font-size:15px !important;
  letter-spacing:.02em !important;
}
.footer-col a,
.footer-col span,
.footer-col p{
  color:#e0edf4 !important;
  line-height:1.45 !important;
}
.footer-col a{margin:0 0 2px !important;}
.service-col p{margin:0 0 5px !important;max-width:245px !important;}
.area-item{padding-left:13px !important;margin:0 0 1px !important;}
.area-item::before{content:"•" !important;color:#fff !important;}
.get-in-touch{padding-right:96px !important;}
.contact-line{
  display:flex !important;
  align-items:flex-start !important;
  gap:7px !important;
  margin:0 0 5px !important;
}
.contact-line svg{
  width:14px !important;
  height:14px !important;
  margin-top:1px !important;
  stroke:#27d1d3 !important;
  fill:none !important;
  stroke-width:2 !important;
  flex:0 0 auto !important;
}
.balloons{
  right:2px !important;
  bottom:-2px !important;
  width:80px !important;
  height:104px !important;
}
.balloon{
  width:28px !important;
  height:41px !important;
  border-width:2.5px !important;
}
.teal-balloon{color:#24cdd0 !important;left:4px !important;top:2px !important;}
.coral-balloon{color:#ff6966 !important;right:0 !important;top:24px !important;}
.balloon::after{top:40px !important;height:52px !important;width:1.5px !important;}
.footer-bottom{display:none !important;}

@media (max-width:1100px){
  .contact-grid{grid-template-columns:1fr !important;gap:16px !important;align-items:start !important;}
  .enquiry-blob{padding:24px 22px 24px !important;border-radius:44px 44px 0 0 / 36px 36px 0 0 !important;}
  .enquiry-intro{width:100% !important;}
  .form-arrow{display:none !important;}
  .enquiry-form{width:100% !important;}
  .footer-inner{grid-template-columns:1fr 1fr !important;gap:28px 34px !important;}
}
@media (max-width:620px){
  .contact-grid{width:92vw !important;}
  .enquiry-blob{padding:22px 16px 20px !important;}
  .enquiry-form{grid-template-columns:1fr !important;}
  .enquiry-form label,.enquiry-form label.wide,.submit-btn,.form-status{grid-column:1 !important;}
  .footer-inner{grid-template-columns:1fr !important;gap:22px !important;}
  .get-in-touch{padding-right:82px !important;}
}


/* =========================================================
   V8 target match — closer to provided screenshot/reference.
   FAQ untouched. Reworked enquiry + footer styling.
   ========================================================= */
.contact-section{
  position:relative !important;
  padding:8px 0 0 !important;
  overflow:hidden !important;
}
.contact-section::before{
  content:"" !important;
  position:absolute !important;
  left:-82px !important;
  bottom:-54px !important;
  width:246px !important;
  height:132px !important;
  background:#2acfd1 !important;
  border-radius:62% 54% 0 0 / 92% 84% 0 0 !important;
  z-index:0 !important;
}
.contact-section::after{display:none !important;}
.contact-grid{
  width:min(96vw, 1710px) !important;
  grid-template-columns:minmax(330px,31%) minmax(0,69%) !important;
  gap:28px !important;
  align-items:end !important;
  position:relative !important;
  z-index:1 !important;
}
.enquiry-blob{
  position:relative !important;
  min-height:456px !important;
  padding:18px 24px 18px 24px !important;
  border-radius:0 42px 34px 34px / 0 30px 24px 24px !important;
  background:linear-gradient(145deg,#34d7d9 0%, #1fc9cb 42%, #13b9bc 100%) !important;
  grid-template-columns:1fr !important;
  gap:10px !important;
  overflow:hidden !important;
  box-shadow:none !important;
}
.enquiry-blob::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:radial-gradient(circle at 12% 10%, rgba(255,255,255,.14), transparent 26%) !important;
  pointer-events:none !important;
}
.enquiry-blob::after{display:none !important;}
.enquiry-intro{
  position:relative !important;
  z-index:2 !important;
  display:grid !important;
  grid-template-columns:290px 1fr !important;
  align-items:start !important;
  padding:0 0 2px 16px !important;
}
.enquiry-blob h2{
  grid-column:1 !important;
  margin:0 !important;
  font-family:Impact,'Arial Black','Arial Narrow',sans-serif !important;
  font-size:clamp(36px,2.25vw,48px) !important;
  line-height:.96 !important;
  letter-spacing:.01em !important;
  color:#fff !important;
  text-shadow:0 1px 0 rgba(255,255,255,.08) !important;
}
.enquiry-intro p{
  grid-column:1 !important;
  margin:14px 0 0 !important;
  max-width:255px !important;
  font-family:Arial,Helvetica,sans-serif !important;
  font-size:clamp(12px,.95vw,16px) !important;
  line-height:1.4 !important;
  color:#f7ffff !important;
}
.form-arrow{
  position:absolute !important;
  right:240px !important;
  top:24px !important;
  display:block !important;
  width:116px !important;
  height:82px !important;
  font-size:0 !important;
  line-height:0 !important;
  transform:none !important;
}
.form-arrow::before,
.form-arrow::after{
  content:"" !important;
  position:absolute !important;
  box-sizing:border-box !important;
}
.form-arrow::before{
  left:0 !important;
  top:0 !important;
  width:102px !important;
  height:74px !important;
  border-top:6px solid #fff !important;
  border-right:6px solid #fff !important;
  border-radius:0 42px 0 0 !important;
  transform:rotate(14deg) !important;
}
.form-arrow::after{
  right:4px !important;
  top:43px !important;
  width:26px !important;
  height:26px !important;
  border-right:6px solid #fff !important;
  border-bottom:6px solid #fff !important;
  transform:rotate(45deg) !important;
}
.enquiry-form{
  position:relative !important;
  z-index:2 !important;
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:10px 12px !important;
}
.enquiry-form label{
  min-height:54px !important;
  background:#fff !important;
  border-radius:4px !important;
  padding:8px 12px 7px !important;
  box-shadow:none !important;
}
.enquiry-form label.wide{grid-column:1 / -1 !important;}
.enquiry-form label span{
  display:block !important;
  margin-bottom:5px !important;
  font-family:Impact,'Arial Black','Arial Narrow',sans-serif !important;
  font-size:9.5px !important;
  line-height:1 !important;
  letter-spacing:.02em !important;
  color:#083a66 !important;
}
.enquiry-form input,
.enquiry-form textarea,
.enquiry-form select{
  font-family:Arial,Helvetica,sans-serif !important;
  font-size:13px !important;
  line-height:1.2 !important;
  color:#5a6f82 !important;
  border:0 !important;
  outline:0 !important;
  background:transparent !important;
}
.enquiry-form input::placeholder,
.enquiry-form textarea::placeholder{color:#9aa9b6 !important; opacity:1 !important;}
.enquiry-form textarea{min-height:40px !important; resize:none !important;}
.enquiry-form select{
  -webkit-appearance:none !important;
  appearance:none !important;
  background-image:linear-gradient(45deg, transparent 50%, #15bcc0 50%), linear-gradient(135deg, #15bcc0 50%, transparent 50%) !important;
  background-position:calc(100% - 15px) 11px, calc(100% - 10px) 11px !important;
  background-size:5px 5px, 5px 5px !important;
  background-repeat:no-repeat !important;
  padding-right:26px !important;
}
.submit-btn{
  grid-column:1 / -1 !important;
  justify-self:center !important;
  min-width:278px !important;
  min-height:48px !important;
  margin-top:12px !important;
  padding:10px 26px !important;
  background:#ffcf28 !important;
  color:#07395f !important;
  font-family:Impact,'Arial Black','Arial Narrow',sans-serif !important;
  font-size:16px !important;
  letter-spacing:.02em !important;
  clip-path:polygon(4% 7%,96% 2%,100% 79%,96% 100%,4% 94%,0 20%) !important;
  box-shadow:none !important;
}
.submit-btn span{font-size:23px !important; margin-left:7px !important;}
.blob-dots.left{display:none !important;}
.blob-dots.right{
  position:absolute !important;
  right:20px !important;
  bottom:20px !important;
  width:64px !important;
  height:44px !important;
  background-image:repeating-linear-gradient(116deg, transparent 0 16px, rgba(255,211,67,.98) 16px 20px, transparent 20px 32px) !important;
  transform:rotate(8deg) !important;
}

/* white doodle lines on left hill */
.faq-block{position:relative !important; z-index:1 !important;}
.faq-block::after{
  content:"" !important;
  position:absolute !important;
  left:-14px !important;
  bottom:-10px !important;
  width:78px !important;
  height:56px !important;
  background-image:repeating-linear-gradient(102deg, transparent 0 14px, rgba(255,255,255,.95) 14px 17px, transparent 17px 28px) !important;
  transform:rotate(7deg) !important;
  pointer-events:none !important;
}

.site-footer{
  position:relative !important;
  background:#083a66 !important;
  color:#fff !important;
  padding:18px 0 10px !important;
  margin-top:0 !important;
}
.site-footer::before{display:none !important;}
.footer-inner{
  width:min(96vw, 1710px) !important;
  margin:0 auto !important;
  display:grid !important;
  grid-template-columns:1.1fr .7fr 1fr 1.05fr !important;
  gap:38px !important;
  align-items:start !important;
}
.footer-brand-col p{
  max-width:270px !important;
  margin:12px 0 0 !important;
  font-family:Arial,Helvetica,sans-serif !important;
  font-size:12px !important;
  line-height:1.42 !important;
  color:#dbe9f2 !important;
}
.footer-col{font-family:Arial,Helvetica,sans-serif !important; font-size:12px !important; color:#dfeaf2 !important;}
.footer-col h3{
  margin:2px 0 12px !important;
  font-family:Impact,'Arial Black','Arial Narrow',sans-serif !important;
  font-size:18px !important;
  letter-spacing:.01em !important;
  color:#fff !important;
}
.footer-col a, .footer-col span, .footer-col p{color:#dfeaf2 !important; text-decoration:none !important; line-height:1.52 !important;}
.footer-col a{display:block !important; margin:0 0 3px !important;}
.socials{
  display:flex !important;
  gap:16px !important;
  margin-top:18px !important;
}
.socials a{
  width:44px !important;
  height:44px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:50% !important;
  background:#ff6c6f !important;
  box-shadow:none !important;
}
.socials a svg{width:21px !important; height:21px !important;}
.socials a[aria-label="Facebook"] svg path,
.socials a[aria-label="TikTok"] svg path{fill:#fff !important;}
.socials a[aria-label="Instagram"] svg rect,
.socials a[aria-label="Instagram"] svg circle{stroke:#fff !important; fill:none !important; stroke-width:2 !important;}
.socials a[aria-label="Instagram"] svg .ig-dot{fill:#fff !important;}
.service-col p{margin:0 0 5px !important; max-width:280px !important;}
.area-item{
  display:block !important;
  position:relative !important;
  padding-left:14px !important;
  margin:0 0 3px !important;
}
.area-item::before{
  content:"\25E6" !important;
  position:absolute !important;
  left:0 !important;
  top:0 !important;
  font-size:15px !important;
}
.get-in-touch{position:relative !important; padding-right:96px !important;}
.contact-line{
  display:flex !important;
  align-items:flex-start !important;
  gap:8px !important;
  margin:0 0 8px !important;
}
.contact-line svg{
  width:16px !important;
  height:16px !important;
  margin-top:2px !important;
  flex:0 0 auto !important;
  fill:none !important;
  stroke:#27d0d1 !important;
  stroke-width:2 !important;
}
.balloons{
  position:absolute !important;
  right:8px !important;
  bottom:0 !important;
  width:96px !important;
  height:120px !important;
}
.balloon{
  position:absolute !important;
  width:31px !important;
  height:43px !important;
  border-radius:52% 48% 50% 50% / 58% 58% 42% 42% !important;
  border:3px solid currentColor !important;
  background:transparent !important;
}
.teal-balloon{left:8px !important; top:18px !important; color:#27d0d1 !important; transform:rotate(-5deg) !important;}
.coral-balloon{right:2px !important; top:44px !important; color:#ff6c6f !important; transform:rotate(4deg) !important;}
.balloon::before{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  bottom:-7px !important;
  width:7px !important;
  height:7px !important;
  margin-left:-4px !important;
  border-right:3px solid currentColor !important;
  border-bottom:3px solid currentColor !important;
  transform:rotate(45deg) !important;
}
.balloon::after{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  top:42px !important;
  width:2px !important;
  height:62px !important;
  margin-left:-1px !important;
  background:currentColor !important;
}
.footer-bottom{
  width:min(96vw,1710px) !important;
  margin:16px auto 0 !important;
  padding-top:10px !important;
  border-top:1px solid rgba(255,255,255,.12) !important;
  display:flex !important;
  justify-content:space-between !important;
  gap:20px !important;
  font-family:Arial,Helvetica,sans-serif !important;
  font-size:11px !important;
  color:#a8c0d0 !important;
}

@media (max-width:1100px){
  .contact-grid{grid-template-columns:1fr !important; gap:18px !important; align-items:start !important;}
  .enquiry-blob{min-height:0 !important; grid-template-columns:1fr !important;}
  .enquiry-intro{grid-template-columns:1fr !important; padding:0 0 2px 4px !important;}
  .form-arrow{display:none !important;}
  .footer-inner{grid-template-columns:1fr 1fr !important; gap:32px !important;}
}
@media (max-width:620px){
  .contact-grid{width:92vw !important;}
  .enquiry-blob{padding:18px 16px 18px !important; border-radius:0 28px 24px 24px / 0 22px 20px 20px !important;}
  .enquiry-blob h2{font-size:32px !important;}
  .enquiry-form{grid-template-columns:1fr !important;}
  .footer-inner{grid-template-columns:1fr !important; gap:24px !important;}
}


/* =========================================================
   V9 — reference-like form and footer (sharp text, neat icons)
   ========================================================= */
.contact-section{padding:8px 0 0 !important;overflow:hidden !important;position:relative !important;}
.contact-grid{width:min(95vw,1710px) !important;grid-template-columns:minmax(330px,31%) minmax(0,69%) !important;gap:26px !important;align-items:end !important;position:relative !important;z-index:1 !important;}
.contact-section::before{
  content:"" !important;position:absolute !important;left:-68px !important;bottom:-40px !important;width:208px !important;height:120px !important;
  background:#2cd1d2 !important;border-radius:64% 58% 0 0 / 92% 88% 0 0 !important;z-index:0 !important;
}
.contact-section::after{display:none !important;}
.faq-block::after{
  content:"" !important;position:absolute !important;left:-4px !important;bottom:-6px !important;width:82px !important;height:56px !important;pointer-events:none !important;
  background-image:repeating-linear-gradient(102deg, transparent 0 14px, rgba(255,255,255,.98) 14px 17px, transparent 17px 29px) !important;
  transform:rotate(8deg) !important;
}
.enquiry-blob{
  position:relative !important;overflow:hidden !important;box-shadow:none !important;
  min-height:420px !important;padding:22px 22px 18px 22px !important;
  border-radius:38px 38px 28px 28px !important;
  background:linear-gradient(145deg,#2fd4d5 0%, #21c7c8 42%, #0fb8bb 100%) !important;
  display:block !important;
}
.enquiry-blob::before{
  content:"" !important;position:absolute !important;inset:0 !important;pointer-events:none !important;
  background:radial-gradient(circle at 12% 14%, rgba(255,255,255,.13), transparent 24%) !important;
}
.enquiry-blob::after{
  content:"" !important;position:absolute !important;right:-72px !important;bottom:-56px !important;width:236px !important;height:160px !important;
  background:var(--navy) !important;border-radius:68% 0 0 0 !important;transform:rotate(-2deg) !important;pointer-events:none !important;
}
.enquiry-intro{
  position:relative !important;z-index:2 !important;padding:4px 0 8px 18px !important;
}
.enquiry-blob h2{
  margin:0 !important;font-family:Impact,'Arial Black','Arial Narrow',sans-serif !important;
  font-size:clamp(36px,2.1vw,44px) !important;line-height:.98 !important;letter-spacing:.01em !important;color:#fff !important;
}
.enquiry-intro p{
  margin:12px 0 0 !important;max-width:280px !important;font-family:Arial,Helvetica,sans-serif !important;
  font-size:13px !important;line-height:1.45 !important;color:#f7ffff !important;
}
.form-arrow{
  position:absolute !important;right:300px !important;top:26px !important;width:126px !important;height:86px !important;display:block !important;font-size:0 !important;line-height:0 !important;
  background-repeat:no-repeat !important;background-size:contain !important;background-position:center !important;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 80'><path d='M10 12 C55 14, 78 14, 85 34 C92 53, 84 65, 70 74' fill='none' stroke='white' stroke-width='5.5' stroke-linecap='round' stroke-linejoin='round'/><path d='M59 58 L70 74 L86 60' fill='none' stroke='white' stroke-width='5.5' stroke-linecap='round' stroke-linejoin='round'/></svg>") !important;
  transform:rotate(2deg) !important;
}
.enquiry-form{
  position:relative !important;z-index:2 !important;width:90% !important;margin:2px auto 0 !important;
  display:grid !important;grid-template-columns:1fr 1fr !important;gap:10px 12px !important;
}
.enquiry-form label{
  min-height:50px !important;background:#fff !important;border-radius:4px !important;padding:7px 12px 6px !important;box-shadow:none !important;
}
.enquiry-form label.wide{grid-column:1 / -1 !important;}
.enquiry-form label span{
  display:block !important;margin-bottom:5px !important;color:#073b62 !important;font-family:Impact,'Arial Black','Arial Narrow',sans-serif !important;
  font-size:9px !important;letter-spacing:.02em !important;line-height:1 !important;
}
.enquiry-form input,.enquiry-form textarea,.enquiry-form select{
  font-family:Arial,Helvetica,sans-serif !important;font-size:12px !important;line-height:1.2 !important;color:#5f7386 !important;background:transparent !important;border:0 !important;outline:0 !important;
}
.enquiry-form input::placeholder,.enquiry-form textarea::placeholder{color:#9dacb9 !important;opacity:1 !important;}
.enquiry-form textarea{min-height:36px !important;resize:none !important;}
.enquiry-form input[type="date"]{padding-right:28px !important;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><rect x='3.5' y='5' width='17' height='15' rx='2' fill='none' stroke='%2389cfd0' stroke-width='2'/><path d='M7 3.8v3.2M17 3.8v3.2M3.5 9h17' fill='none' stroke='%2389cfd0' stroke-width='2'/></svg>") no-repeat right 6px center / 16px 16px !important;}
.enquiry-form select{
  -webkit-appearance:none !important;appearance:none !important;padding-right:26px !important;
  background-image:linear-gradient(45deg, transparent 50%, #22bfc2 50%), linear-gradient(135deg, #22bfc2 50%, transparent 50%) !important;
  background-position:calc(100% - 14px) 10px, calc(100% - 9px) 10px !important;background-size:5px 5px, 5px 5px !important;background-repeat:no-repeat !important;
}
.submit-btn{
  grid-column:1 / -1 !important;justify-self:center !important;margin-top:8px !important;min-width:270px !important;min-height:48px !important;
  padding:10px 24px !important;background:#ffd234 !important;color:#083b62 !important;box-shadow:none !important;
  font-family:Impact,'Arial Black','Arial Narrow',sans-serif !important;font-size:15px !important;letter-spacing:.02em !important;
  clip-path:polygon(3% 8%,97% 2%,100% 82%,96% 100%,4% 95%,0 18%) !important;
}
.submit-btn span{font-size:24px !important;margin-left:8px !important;vertical-align:middle !important;}
.blob-dots.left{display:none !important;}
.blob-dots.right{
  position:absolute !important;right:24px !important;bottom:24px !important;width:72px !important;height:48px !important;
  background-image:repeating-linear-gradient(112deg, transparent 0 16px, rgba(255,212,74,.98) 16px 20px, transparent 20px 32px) !important;
  transform:rotate(8deg) !important;pointer-events:none !important;
}

.site-footer{
  position:relative !important;background:#073b63 !important;color:#fff !important;padding:18px 0 10px !important;margin-top:0 !important;
}
.site-footer::before{display:none !important;}
.footer-inner{
  width:min(95vw,1710px) !important;margin:0 auto !important;display:grid !important;
  grid-template-columns:1.05fr .7fr .95fr 1.08fr !important;gap:34px !important;align-items:start !important;
}
.footer-brand{display:inline-flex !important;flex-direction:column !important;align-items:flex-start !important;text-decoration:none !important;}
.footer-brand .brand-line,.footer-brand .brand-smile i{font-size:30px !important;}
.footer-brand small{font-size:7px !important;letter-spacing:.12em !important;}
.footer-brand-col p{
  max-width:250px !important;margin:12px 0 0 !important;font-family:Arial,Helvetica,sans-serif !important;font-size:12px !important;line-height:1.38 !important;color:#dbe8f1 !important;
}
.footer-col{font-family:Arial,Helvetica,sans-serif !important;font-size:12px !important;color:#dce8f0 !important;}
.footer-col h3{
  margin:2px 0 12px !important;font-family:Impact,'Arial Black','Arial Narrow',sans-serif !important;font-size:17px !important;letter-spacing:.01em !important;color:#fff !important;
}
.footer-col a,.footer-col span,.footer-col p{color:#dce8f0 !important;line-height:1.48 !important;text-decoration:none !important;}
.footer-col a{display:block !important;margin:0 0 4px !important;}
.socials{display:flex !important;gap:14px !important;margin-top:18px !important;}
.socials a{width:44px !important;height:44px !important;border-radius:50% !important;display:grid !important;place-items:center !important;background:#ff6f70 !important;box-shadow:none !important;}
.socials a svg{width:20px !important;height:20px !important;}
.socials a[aria-label="Facebook"] svg path,.socials a[aria-label="TikTok"] svg path{fill:#fff !important;stroke:none !important;}
.socials a[aria-label="Instagram"] svg rect,.socials a[aria-label="Instagram"] svg circle{stroke:#fff !important;fill:none !important;stroke-width:2 !important;}
.socials a[aria-label="Instagram"] svg .ig-dot{fill:#fff !important;stroke:none !important;}
.service-col p{margin:0 0 6px !important;max-width:260px !important;}
.area-item{display:block !important;position:relative !important;padding-left:14px !important;margin:0 0 3px !important;}
.area-item::before{content:"\25E6" !important;position:absolute !important;left:0 !important;top:0 !important;font-size:15px !important;}
.get-in-touch{position:relative !important;padding-right:88px !important;}
.contact-line{display:flex !important;align-items:flex-start !important;gap:8px !important;margin:0 0 8px !important;}
.contact-line svg{width:16px !important;height:16px !important;margin-top:2px !important;flex:0 0 auto !important;fill:none !important;stroke:#27d0d1 !important;stroke-width:2 !important;}
.balloons{position:absolute !important;right:0 !important;bottom:0 !important;width:92px !important;height:112px !important;}
.balloon{position:absolute !important;width:30px !important;height:42px !important;border:3px solid currentColor !important;border-radius:52% 48% 50% 50% / 58% 58% 42% 42% !important;background:transparent !important;}
.teal-balloon{left:4px !important;top:14px !important;color:#29d3d4 !important;transform:rotate(-4deg) !important;}
.coral-balloon{right:0 !important;top:40px !important;color:#ff6f70 !important;transform:rotate(4deg) !important;}
.balloon::before{content:"" !important;position:absolute !important;left:50% !important;bottom:-7px !important;width:7px !important;height:7px !important;margin-left:-4px !important;border-right:3px solid currentColor !important;border-bottom:3px solid currentColor !important;transform:rotate(45deg) !important;}
.balloon::after{content:"" !important;position:absolute !important;left:50% !important;top:41px !important;width:2px !important;height:58px !important;margin-left:-1px !important;background:currentColor !important;}
.footer-bottom{width:min(95vw,1710px) !important;margin:14px auto 0 !important;padding-top:10px !important;border-top:1px solid rgba(255,255,255,.11) !important;display:flex !important;justify-content:space-between !important;gap:20px !important;font-family:Arial,Helvetica,sans-serif !important;font-size:11px !important;color:#a7bfce !important;}

@media (max-width:1100px){
  .contact-grid{grid-template-columns:1fr !important;gap:18px !important;align-items:start !important;}
  .enquiry-form{width:100% !important;}
  .form-arrow{display:none !important;}
  .footer-inner{grid-template-columns:1fr 1fr !important;gap:28px !important;}
}
@media (max-width:620px){
  .contact-grid{width:92vw !important;}
  .enquiry-blob{padding:18px 16px 18px !important;min-height:0 !important;border-radius:28px !important;}
  .enquiry-form{grid-template-columns:1fr !important;}
  .enquiry-form label,.enquiry-form label.wide,.submit-btn,.form-status{grid-column:1 !important;}
  .footer-inner{grid-template-columns:1fr !important;gap:24px !important;}
}


/* =========================================================
   V10 — fix FAQ overlap bug at bottom-left.
   Cause: decorative pseudo-elements were layered above/beside
   the last FAQ card. Move them lower and place behind content.
   ========================================================= */
.contact-section::before{
  left:-92px !important;
  bottom:-74px !important;
  width:230px !important;
  height:118px !important;
  z-index:0 !important;
}
.faq-block{
  position:relative !important;
  z-index:2 !important;
}
.faq-block::after{
  left:-18px !important;
  bottom:-34px !important;
  width:86px !important;
  height:54px !important;
  z-index:0 !important;
}
.faq-list,
.faq-list details,
.faq-list summary,
.faq-block .section-heading{
  position:relative !important;
  z-index:2 !important;
}


/* =========================================================
   V11 — enquiry form matched closer to reference image 2
   ========================================================= */
.enquiry-blob{
  min-height:432px !important;
  padding:20px 22px 22px !important;
  border-radius:40px !important;
  background:linear-gradient(145deg,#2fd4d5 0%, #20c8c9 43%, #11babd 100%) !important;
}
.enquiry-blob::after{
  right:-86px !important;
  bottom:-74px !important;
  width:290px !important;
  height:182px !important;
  border-radius:74% 0 0 0 !important;
  transform:rotate(0deg) !important;
}
.enquiry-intro{
  padding:2px 0 2px 16px !important;
}
.enquiry-blob h2{
  font-size:clamp(34px,2vw,42px) !important;
  line-height:.98 !important;
}
.enquiry-intro p{
  max-width:290px !important;
  margin-top:10px !important;
  font-size:13px !important;
  line-height:1.42 !important;
}
.form-arrow{
  right:325px !important;
  top:32px !important;
  width:96px !important;
  height:72px !important;
  transform:rotate(0deg) !important;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 74'><path d='M9 12 C42 13, 59 17, 69 31 C76 42, 74 56, 64 68' fill='none' stroke='white' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'/><path d='M52 56 L64 68 L76 55' fill='none' stroke='white' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'/></svg>") !important;
}
.enquiry-form{
  width:92% !important;
  margin:10px auto 0 !important;
  gap:10px 12px !important;
}
.enquiry-form label{
  min-height:52px !important;
  padding:8px 12px 7px !important;
  border-radius:4px !important;
}
.enquiry-form label.wide textarea{min-height:42px !important;}
.enquiry-form label span{
  font-size:8.8px !important;
  letter-spacing:.015em !important;
}
.enquiry-form input,
.enquiry-form textarea,
.enquiry-form select{
  font-size:12px !important;
  line-height:1.2 !important;
}
.submit-btn{
  justify-self:center !important;
  min-width:258px !important;
  min-height:46px !important;
  margin-top:12px !important;
  font-size:14px !important;
  clip-path:polygon(4% 9%,96% 3%,100% 82%,96% 100%,4% 95%,0 20%) !important;
}
.submit-btn span{font-size:22px !important;}
.blob-dots.right{
  right:22px !important;
  bottom:18px !important;
  width:78px !important;
  height:56px !important;
  background-image:repeating-linear-gradient(116deg, transparent 0 18px, rgba(255,212,74,.98) 18px 22px, transparent 22px 36px) !important;
}
@media (max-width:1100px){
  .form-arrow{display:none !important;}
  .enquiry-form{width:100% !important;}
}


/* =========================================================
   V12 — premium enquiry form refresh
   Goal: clean, expensive look, larger crisp typography,
   sharp fields, stronger CTA, keep everything clickable.
   ========================================================= */
.contact-section{
  padding:8px 0 0 !important;
}
.enquiry-blob{
  position:relative !important;
  overflow:hidden !important;
  min-height:506px !important;
  padding:28px 30px 28px !important;
  border-radius:34px !important;
  background:
    radial-gradient(circle at 18% 12%, rgba(255,255,255,.18) 0, rgba(255,255,255,0) 18%),
    linear-gradient(135deg, #39d8d8 0%, #27cfd0 30%, #19c4c6 68%, #11b8bb 100%) !important;
  box-shadow:0 18px 42px rgba(3, 47, 71, .16), inset 0 1px 0 rgba(255,255,255,.18) !important;
}
.enquiry-blob::before{
  content:"" !important;
  position:absolute !important;
  right:-56px !important;
  bottom:-38px !important;
  width:265px !important;
  height:165px !important;
  background:#083b63 !important;
  border-radius:68% 0 0 0 !important;
  transform:rotate(0deg) !important;
  opacity:1 !important;
}
.enquiry-blob::after{
  display:none !important;
}
.enquiry-intro{
  position:relative !important;
  z-index:3 !important;
  display:block !important;
  width:100% !important;
  padding:0 0 14px 8px !important;
}
.enquiry-blob h2{
  margin:0 !important;
  color:#ffffff !important;
  font-family:Impact, "Arial Black", "Arial Narrow", sans-serif !important;
  font-size:clamp(46px, 3vw, 60px) !important;
  line-height:.92 !important;
  letter-spacing:.01em !important;
  text-shadow:0 1px 0 rgba(0,0,0,.08) !important;
}
.enquiry-intro p{
  margin:14px 0 0 !important;
  max-width:360px !important;
  color:rgba(255,255,255,.96) !important;
  font-family:Arial, Helvetica, sans-serif !important;
  font-size:18px !important;
  line-height:1.4 !important;
  font-weight:500 !important;
  text-wrap:balance !important;
}
.form-arrow{
  position:absolute !important;
  top:8px !important;
  right:270px !important;
  width:156px !important;
  height:104px !important;
  display:block !important;
  font-size:0 !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:contain !important;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 156 104'><path d='M8 14 C40 16, 67 18, 84 28 C106 42, 108 66, 91 86' fill='none' stroke='white' stroke-width='5.4' stroke-linecap='round' stroke-linejoin='round'/><path d='M41 28 C74 30, 94 32, 107 41 C123 53, 125 69, 111 85' fill='none' stroke='white' stroke-width='5.4' stroke-linecap='round' stroke-linejoin='round'/><path d='M97 72 L111 86 L126 71' fill='none' stroke='white' stroke-width='5.4' stroke-linecap='round' stroke-linejoin='round'/></svg>") !important;
  transform:none !important;
  opacity:.98 !important;
  pointer-events:none !important;
}
.enquiry-form{
  position:relative !important;
  z-index:3 !important;
  width:100% !important;
  margin:4px 0 0 !important;
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:14px 14px !important;
}
.enquiry-form label{
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  min-height:72px !important;
  background:#ffffff !important;
  border:1px solid rgba(6, 69, 95, .08) !important;
  border-radius:12px !important;
  padding:11px 16px 10px !important;
  box-shadow:0 8px 22px rgba(6, 69, 95, .10) !important;
  overflow:hidden !important;
  transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease !important;
}
.enquiry-form label.wide{grid-column:1 / -1 !important;}
.enquiry-form label:hover{
  transform:translateY(-1px) !important;
  box-shadow:0 10px 24px rgba(6, 69, 95, .13) !important;
}
.enquiry-form label:focus-within{
  border-color:#0ebdc0 !important;
  box-shadow:0 0 0 3px rgba(14,189,192,.16), 0 12px 24px rgba(6,69,95,.12) !important;
}
.enquiry-form label span{
  display:block !important;
  margin:0 0 6px !important;
  color:#073b62 !important;
  font-family:Impact, "Arial Black", "Arial Narrow", sans-serif !important;
  font-size:11px !important;
  line-height:1 !important;
  letter-spacing:.03em !important;
}
.enquiry-form input,
.enquiry-form textarea,
.enquiry-form select{
  display:block !important;
  width:100% !important;
  border:0 !important;
  outline:0 !important;
  background:transparent !important;
  color:#29465d !important;
  font-family:Arial, Helvetica, sans-serif !important;
  font-size:18px !important;
  line-height:1.3 !important;
  font-weight:500 !important;
  min-height:28px !important;
  padding:0 !important;
}
.enquiry-form input::placeholder,
.enquiry-form textarea::placeholder{
  color:#a3b2be !important;
  opacity:1 !important;
}
.enquiry-form textarea{
  resize:vertical !important;
  min-height:58px !important;
}
.enquiry-form select{
  -webkit-appearance:none !important;
  appearance:none !important;
  padding-right:34px !important;
  background-image:linear-gradient(45deg, transparent 50%, #11bbbe 50%), linear-gradient(135deg, #11bbbe 50%, transparent 50%) !important;
  background-position:calc(100% - 18px) 14px, calc(100% - 12px) 14px !important;
  background-size:6px 6px, 6px 6px !important;
  background-repeat:no-repeat !important;
}
.enquiry-form input[type="date"]{
  padding-right:36px !important;
  background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><rect x='3.5' y='5' width='17' height='15' rx='2.3' fill='none' stroke='%2396d5d6' stroke-width='2'/><path d='M7 3.8v3.3M17 3.8v3.3M3.5 9h17' fill='none' stroke='%2396d5d6' stroke-width='2'/></svg>") no-repeat right 10px center / 18px 18px !important;
}
.submit-btn{
  grid-column:1 / -1 !important;
  justify-self:center !important;
  align-self:start !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:14px !important;
  min-width:310px !important;
  min-height:62px !important;
  margin-top:10px !important;
  padding:14px 28px !important;
  border:0 !important;
  border-radius:0 !important;
  background:linear-gradient(180deg, #ffd84a 0%, #ffcf29 100%) !important;
  color:#073b62 !important;
  font-family:Impact, "Arial Black", "Arial Narrow", sans-serif !important;
  font-size:22px !important;
  line-height:1 !important;
  letter-spacing:.02em !important;
  text-transform:uppercase !important;
  cursor:pointer !important;
  clip-path:polygon(3% 10%, 95% 4%, 100% 82%, 96% 100%, 4% 94%, 0 18%) !important;
  box-shadow:0 14px 24px rgba(97, 76, 0, .22), inset 0 1px 0 rgba(255,255,255,.45) !important;
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease !important;
}
.submit-btn:hover{
  transform:translateY(-2px) !important;
  filter:saturate(1.03) brightness(1.01) !important;
  box-shadow:0 18px 28px rgba(97, 76, 0, .28), inset 0 1px 0 rgba(255,255,255,.45) !important;
}
.submit-btn:active{
  transform:translateY(0) !important;
}
.submit-btn:focus-visible{
  outline:3px solid rgba(255,255,255,.85) !important;
  outline-offset:2px !important;
}
.submit-btn span{
  font-size:28px !important;
  line-height:1 !important;
  margin-left:2px !important;
}
.form-status{
  grid-column:1 / -1 !important;
  justify-self:center !important;
  margin:2px 0 0 !important;
  color:#ffffff !important;
  font-size:14px !important;
  font-family:Arial, Helvetica, sans-serif !important;
}
.blob-dots.right{
  position:absolute !important;
  right:26px !important;
  bottom:24px !important;
  width:86px !important;
  height:62px !important;
  background-image:repeating-linear-gradient(118deg, transparent 0 18px, rgba(255,212,74,.98) 18px 23px, transparent 23px 38px) !important;
  transform:rotate(8deg) !important;
}

@media (max-width:1400px){
  .form-arrow{right:220px !important; width:138px !important;}
}
@media (max-width:1100px){
  .enquiry-blob{min-height:0 !important; padding:26px 24px !important;}
  .form-arrow{display:none !important;}
  .enquiry-form{grid-template-columns:1fr !important;}
  .enquiry-form label,.enquiry-form label.wide,.submit-btn,.form-status{grid-column:1 !important;}
}
@media (max-width:680px){
  .enquiry-blob{padding:22px 16px 22px !important; border-radius:28px !important;}
  .enquiry-blob h2{font-size:38px !important;}
  .enquiry-intro p{font-size:16px !important;}
  .enquiry-form label{min-height:66px !important; padding:10px 14px !important;}
  .enquiry-form input,.enquiry-form textarea,.enquiry-form select{font-size:16px !important;}
  .submit-btn{min-width:250px !important; min-height:56px !important; font-size:18px !important;}
  .submit-btn span{font-size:24px !important;}
}


/* =========================================================
   V13 — size/proportion correction for enquiry form block
   Match reference proportions more closely.
   ========================================================= */
.contact-section::before,
.contact-section::after{
  display:none !important;
}
.contact-grid{
  align-items:start !important;
}
.enquiry-blob{
  min-height:428px !important;
  padding:22px 24px 20px !important;
  border-radius:40px !important;
  box-shadow:0 12px 28px rgba(3,47,71,.12), inset 0 1px 0 rgba(255,255,255,.14) !important;
}
.enquiry-blob::before{
  right:-28px !important;
  bottom:-18px !important;
  width:190px !important;
  height:128px !important;
  border-radius:76% 0 0 0 !important;
  background:#0a3b63 !important;
}
.enquiry-blob::after{
  display:none !important;
}
.enquiry-intro{
  padding:0 0 8px 8px !important;
}
.enquiry-blob h2{
  font-size:clamp(34px,2.35vw,44px) !important;
  line-height:.96 !important;
}
.enquiry-intro p{
  max-width:300px !important;
  margin-top:10px !important;
  font-size:13px !important;
  line-height:1.4 !important;
  font-weight:500 !important;
}
.form-arrow{
  width:92px !important;
  height:74px !important;
  top:14px !important;
  right:300px !important;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 108 78'><path d='M10 13 C39 16, 55 18, 69 28 C83 38, 85 52, 74 66' fill='none' stroke='white' stroke-width='4.6' stroke-linecap='round' stroke-linejoin='round'/><path d='M30 23 C55 25, 71 27, 81 36 C92 46, 94 56, 86 66' fill='none' stroke='white' stroke-width='4.6' stroke-linecap='round' stroke-linejoin='round'/><path d='M74 55 L86 66 L98 54' fill='none' stroke='white' stroke-width='4.6' stroke-linecap='round' stroke-linejoin='round'/></svg>") !important;
}
.enquiry-form{
  width:100% !important;
  gap:11px 12px !important;
  margin-top:2px !important;
}
.enquiry-form label{
  min-height:56px !important;
  padding:8px 13px 8px !important;
  border-radius:6px !important;
  box-shadow:none !important;
}
.enquiry-form label.wide textarea{
  min-height:46px !important;
}
.enquiry-form label span{
  font-size:8.8px !important;
  margin-bottom:4px !important;
}
.enquiry-form input,
.enquiry-form textarea,
.enquiry-form select{
  font-size:13px !important;
  line-height:1.2 !important;
  min-height:22px !important;
}
.enquiry-form input[type="date"]{
  background-size:15px 15px !important;
  background-position:right 9px center !important;
}
.enquiry-form select{
  background-position:calc(100% - 14px) 10px, calc(100% - 9px) 10px !important;
  background-size:5px 5px, 5px 5px !important;
  padding-right:28px !important;
}
.submit-btn{
  min-width:252px !important;
  min-height:42px !important;
  margin-top:8px !important;
  padding:10px 22px !important;
  font-size:15px !important;
  box-shadow:0 8px 18px rgba(97,76,0,.2) !important;
}
.submit-btn span{
  font-size:22px !important;
}
.blob-dots.right{
  right:18px !important;
  bottom:14px !important;
  width:72px !important;
  height:50px !important;
}
@media (max-width:1400px){
  .form-arrow{right:260px !important;}
}
@media (max-width:1100px){
  .enquiry-blob{min-height:0 !important;padding:22px 20px 22px !important;}
  .form-arrow{display:none !important;}
}


/* === Final enquiry form override to match approved reference === */

.sr-only{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}

.enquiry-blob{
  position:relative !important;
  background:linear-gradient(135deg,#0c9eb7 0%, #20bfc9 46%, #12c4cc 100%) !important;
  border-radius:42px !important;
  padding:34px 42px 38px !important;
  min-height:auto !important;
  display:block !important;
  box-shadow:0 18px 34px rgba(14,67,94,.13) !important;
  overflow:hidden !important;
}
.enquiry-blob::before{display:none !important;}
.enquiry-blob::after{
  content:"" !important;
  position:absolute !important;
  right:-16px !important;
  bottom:-22px !important;
  width:205px !important;
  height:170px !important;
  background:#083b73 !important;
  border-radius:120px 0 42px 0 !important;
  z-index:0 !important;
  display:block !important;
}
.enquiry-blob .blob-dots.left{display:none !important;}
.enquiry-blob .blob-dots.right{
  display:block !important;
  position:absolute !important;
  right:28px !important;
  bottom:34px !important;
  width:86px !important;
  height:60px !important;
  z-index:2 !important;
  background:
    radial-gradient(circle at 8px 8px,#ffce2f 0 4px,transparent 4.8px),
    radial-gradient(circle at 34px 6px,#ffce2f 0 4px,transparent 4.8px),
    radial-gradient(circle at 60px 14px,#ffce2f 0 4px,transparent 4.8px),
    radial-gradient(circle at 18px 30px,#ffce2f 0 4px,transparent 4.8px),
    radial-gradient(circle at 45px 31px,#ffce2f 0 4px,transparent 4.8px),
    radial-gradient(circle at 71px 38px,#ffce2f 0 4px,transparent 4.8px),
    radial-gradient(circle at 8px 50px,#ffce2f 0 4px,transparent 4.8px),
    radial-gradient(circle at 34px 53px,#ffce2f 0 4px,transparent 4.8px),
    radial-gradient(circle at 60px 56px,#ffce2f 0 4px,transparent 4.8px) !important;
}

.enquiry-intro{
  position:relative !important;
  z-index:2 !important;
  display:block !important;
  margin:0 0 24px !important;
}
.enquiry-blob h2{
  margin:0 0 14px !important;
  color:#fff !important;
  font-family:Impact,'Arial Black','Anton','Bebas Neue',sans-serif !important;
  font-size:68px !important;
  line-height:.95 !important;
  letter-spacing:.5px !important;
  text-shadow:0 4px 10px rgba(0,0,0,.12) !important;
}
.enquiry-intro p{
  margin:0 !important;
  max-width:450px !important;
  color:#eefcfd !important;
  font-size:22px !important;
  line-height:1.32 !important;
  font-weight:500 !important;
}
.form-arrow{
  position:absolute !important;
  left:640px !important;
  top:20px !important;
  width:120px !important;
  height:110px !important;
  display:block !important;
  transform:none !important;
  margin:0 !important;
  font-size:0 !important;
  z-index:2 !important;
}
.form-arrow::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  border-top:7px solid #fff !important;
  border-right:7px solid #fff !important;
  border-radius:0 72px 0 0 !important;
  transform:rotate(32deg) !important;
}
.form-arrow::after{
  content:"" !important;
  position:absolute !important;
  right:13px !important;
  bottom:7px !important;
  width:26px !important;
  height:26px !important;
  border-right:7px solid #fff !important;
  border-bottom:7px solid #fff !important;
  transform:rotate(45deg) !important;
}

.enquiry-form.enquiry-form-ref{
  position:relative !important;
  z-index:2 !important;
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:18px 24px !important;
  width:100% !important;
}
.enquiry-form.enquiry-form-ref .field-card{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  min-height:0 !important;
  background:none !important;
  overflow:visible !important;
}
.enquiry-form.enquiry-form-ref .field-card.wide{grid-column:1 / -1 !important;}
.enquiry-form.enquiry-form-ref input,
.enquiry-form.enquiry-form-ref textarea,
.enquiry-form.enquiry-form-ref select{
  width:100% !important;
  height:74px !important;
  border:0 !important;
  border-radius:14px !important;
  background:#ffffff !important;
  box-shadow:0 9px 18px rgba(16,85,106,.18) !important;
  font-size:22px !important;
  font-weight:600 !important;
  color:#304761 !important;
  padding:0 28px !important;
  outline:none !important;
  -webkit-appearance:none !important;
  appearance:none !important;
}
.enquiry-form.enquiry-form-ref input::placeholder,
.enquiry-form.enquiry-form-ref textarea::placeholder{color:#304761 !important; opacity:1 !important; font-weight:600 !important;}
.enquiry-form.enquiry-form-ref .field-message textarea{
  height:92px !important;
  padding-top:20px !important;
  resize:none !important;
}
.enquiry-form.enquiry-form-ref .field-select select{
  padding-right:56px !important;
  background-image:linear-gradient(45deg,transparent 50%,#0c9eb7 50%),linear-gradient(135deg,#0c9eb7 50%,transparent 50%) !important;
  background-position:calc(100% - 32px) 33px,calc(100% - 22px) 33px !important;
  background-size:10px 10px,10px 10px !important;
  background-repeat:no-repeat !important;
}
.enquiry-form.enquiry-form-ref .field-date{position:relative !important;}
.enquiry-form.enquiry-form-ref .field-date::after{
  content:"" !important;
  position:absolute !important;
  right:24px !important;
  top:50% !important;
  width:26px !important;
  height:26px !important;
  transform:translateY(-50%) !important;
  background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><rect x='3' y='4.5' width='18' height='16.5' rx='2.4' fill='none' stroke='%230c9eb7' stroke-width='2.4'/><path d='M7 2.9v4M17 2.9v4M3 9h18' fill='none' stroke='%230c9eb7' stroke-width='2.4' stroke-linecap='round'/></svg>") center/contain no-repeat !important;
  pointer-events:none !important;
}
.enquiry-form.enquiry-form-ref .submit-btn{
  grid-column:1 / -1 !important;
  justify-self:center !important;
  margin-top:4px !important;
  min-width:540px !important;
  height:86px !important;
  padding:0 44px !important;
  border:0 !important;
  border-radius:18px !important;
  background:#ffcf20 !important;
  color:#0a376a !important;
  font-family:Impact,'Arial Black','Anton','Bebas Neue',sans-serif !important;
  font-size:34px !important;
  letter-spacing:.6px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:18px !important;
  clip-path:none !important;
  box-shadow:0 8px 0 #dfa610, 0 18px 26px rgba(0,0,0,.16) !important;
  cursor:pointer !important;
  transition:transform .18s ease, box-shadow .18s ease !important;
}
.enquiry-form.enquiry-form-ref .submit-btn:hover{transform:translateY(-2px) !important; box-shadow:0 10px 0 #dfa610,0 20px 30px rgba(0,0,0,.18) !important;}
.enquiry-form.enquiry-form-ref .submit-btn span{
  font-size:42px !important;
  line-height:1 !important;
  margin-left:2px !important;
}
.form-status{
  grid-column:1 / -1 !important;
  justify-self:center !important;
  margin:4px 0 0 !important;
  color:#fff !important;
  font-weight:600 !important;
  font-size:16px !important;
}

@media (max-width: 1380px){
  .form-arrow{left:56% !important; top:20px !important; transform:scale(.88) !important; transform-origin:top left !important;}
  .enquiry-blob h2{font-size:58px !important;}
  .enquiry-intro p{font-size:19px !important;}
  .enquiry-form.enquiry-form-ref input,
  .enquiry-form.enquiry-form-ref textarea,
  .enquiry-form.enquiry-form-ref select{font-size:19px !important; height:68px !important;}
  .enquiry-form.enquiry-form-ref .field-message textarea{height:84px !important;}
  .enquiry-form.enquiry-form-ref .submit-btn{min-width:460px !important; height:78px !important; font-size:30px !important;}
}
@media (max-width: 980px){
  .enquiry-blob{padding:28px 22px 30px !important;}
  .enquiry-intro{margin-bottom:18px !important;}
  .enquiry-blob h2{font-size:46px !important;}
  .enquiry-intro p{font-size:17px !important; max-width:none !important;}
  .form-arrow{display:none !important;}
  .enquiry-form.enquiry-form-ref{grid-template-columns:1fr !important; gap:14px !important;}
  .enquiry-form.enquiry-form-ref .submit-btn{min-width:300px !important; width:100% !important; max-width:400px !important;}
}


/* === V14 fine-tune: form size + arrow correction === */
.enquiry-blob{
  padding:26px 34px 30px !important;
  border-radius:38px !important;
}
.enquiry-blob::after{
  width:184px !important;
  height:148px !important;
  right:-12px !important;
  bottom:-18px !important;
  border-radius:110px 0 38px 0 !important;
}
.enquiry-blob .blob-dots.right{
  right:24px !important;
  bottom:30px !important;
  width:72px !important;
  height:50px !important;
}
.enquiry-intro{
  margin:0 0 18px !important;
}
.enquiry-blob h2{
  font-size:58px !important;
  line-height:.96 !important;
  margin:0 0 10px !important;
}
.enquiry-intro p{
  font-size:18px !important;
  line-height:1.3 !important;
  max-width:390px !important;
}
.form-arrow{
  left:655px !important;
  top:14px !important;
  width:100px !important;
  height:88px !important;
}
.form-arrow::before,
.form-arrow::after{
  content:none !important;
}
.form-arrow{
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 100'><path d='M18 16 C58 18, 79 28, 89 50 C96 66, 92 77, 81 87' fill='none' stroke='white' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'/><path d='M10 32 C45 34, 68 40, 82 57' fill='none' stroke='white' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'/><path d='M69 76 L82 87 L95 74' fill='none' stroke='white' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'/></svg>") !important;
  background-repeat:no-repeat !important;
  background-size:contain !important;
  background-position:center !important;
}
.enquiry-form.enquiry-form-ref{
  gap:16px 20px !important;
}
.enquiry-form.enquiry-form-ref input,
.enquiry-form.enquiry-form-ref textarea,
.enquiry-form.enquiry-form-ref select{
  height:64px !important;
  border-radius:12px !important;
  font-size:18px !important;
  padding:0 24px !important;
}
.enquiry-form.enquiry-form-ref .field-message textarea{
  height:82px !important;
  padding-top:17px !important;
}
.enquiry-form.enquiry-form-ref .field-select select{
  background-position:calc(100% - 28px) 29px, calc(100% - 19px) 29px !important;
  background-size:9px 9px, 9px 9px !important;
  padding-right:50px !important;
}
.enquiry-form.enquiry-form-ref .field-date::after{
  right:20px !important;
  width:24px !important;
  height:24px !important;
}
.enquiry-form.enquiry-form-ref .submit-btn{
  min-width:420px !important;
  height:72px !important;
  font-size:30px !important;
  border-radius:16px !important;
  box-shadow:0 7px 0 #dfa610, 0 14px 22px rgba(0,0,0,.14) !important;
}
.enquiry-form.enquiry-form-ref .submit-btn span{
  font-size:36px !important;
}
@media (max-width: 1380px){
  .form-arrow{left:58% !important; top:12px !important; transform:scale(.84) !important; transform-origin:top left !important;}
  .enquiry-blob h2{font-size:50px !important;}
  .enquiry-intro p{font-size:16px !important;}
}
@media (max-width: 980px){
  .enquiry-blob{padding:24px 20px 28px !important;}
  .enquiry-blob h2{font-size:42px !important;}
  .enquiry-form.enquiry-form-ref input,
  .enquiry-form.enquiry-form-ref textarea,
  .enquiry-form.enquiry-form-ref select{font-size:16px !important;height:58px !important;}
  .enquiry-form.enquiry-form-ref .field-message textarea{height:76px !important;}
  .enquiry-form.enquiry-form-ref .submit-btn{min-width:280px !important; height:64px !important; font-size:24px !important;}
}


/* === V15 balance fix: FAQ larger + form/arrow proportion tune === */
.contact-grid{
  width:min(95vw,1710px) !important;
  grid-template-columns:minmax(470px,32%) minmax(0,68%) !important;
  gap:26px !important;
  align-items:stretch !important;
}
.faq-block{
  padding:6px 0 0 18px !important;
}
.faq-block .section-heading.compact,
.faq-block .section-heading{
  margin:0 0 16px 0 !important;
}
.faq-block .section-heading.compact h2,
.faq-block .section-heading h2{
  font-size:58px !important;
  line-height:.92 !important;
}
.faq-block .scribble.yellow{
  width:74px !important;
  margin-top:8px !important;
}
.faq-list{
  gap:16px !important;
}
.faq-list details{
  border-radius:18px !important;
  overflow:hidden !important;
}
.faq-list summary{
  min-height:82px !important;
  padding:0 22px !important;
  grid-template-columns:40px 1fr 28px !important;
  gap:16px !important;
  font-size:18px !important;
  line-height:1.2 !important;
  border-radius:18px !important;
}
.faq-list .qmark{
  width:36px !important;
  height:36px !important;
  font-size:22px !important;
}
.faq-list .plus{
  font-size:28px !important;
}
.faq-list details p{
  padding:0 24px 18px 78px !important;
  font-size:15px !important;
  line-height:1.45 !important;
}

.enquiry-blob{
  padding:30px 34px 34px !important;
  border-radius:40px !important;
}
.enquiry-blob h2{
  font-size:60px !important;
  line-height:.95 !important;
  margin:0 0 12px !important;
}
.enquiry-intro{
  margin:0 0 20px !important;
}
.enquiry-intro p{
  font-size:18px !important;
  line-height:1.34 !important;
  max-width:420px !important;
}
.form-arrow{
  left:675px !important;
  top:30px !important;
  width:96px !important;
  height:82px !important;
}
.enquiry-form.enquiry-form-ref{
  gap:16px 18px !important;
}
.enquiry-form.enquiry-form-ref input,
.enquiry-form.enquiry-form-ref textarea,
.enquiry-form.enquiry-form-ref select{
  height:68px !important;
  border-radius:14px !important;
  font-size:19px !important;
  padding:0 26px !important;
}
.enquiry-form.enquiry-form-ref .field-message textarea{
  height:94px !important;
  padding-top:20px !important;
}
.enquiry-form.enquiry-form-ref label span{
  font-size:11px !important;
  margin-bottom:6px !important;
}
.enquiry-form.enquiry-form-ref .field-select select{
  background-position:calc(100% - 30px) 31px, calc(100% - 20px) 31px !important;
  background-size:9px 9px, 9px 9px !important;
  padding-right:54px !important;
}
.enquiry-form.enquiry-form-ref .field-date::after{
  right:22px !important;
  width:24px !important;
  height:24px !important;
}
.enquiry-form.enquiry-form-ref .submit-btn{
  min-width:438px !important;
  height:74px !important;
  margin-top:4px !important;
  font-size:31px !important;
  border-radius:18px !important;
}
.enquiry-form.enquiry-form-ref .submit-btn span{
  font-size:38px !important;
}

@media (max-width: 1450px){
  .contact-grid{grid-template-columns:minmax(410px,33%) minmax(0,67%) !important; gap:22px !important;}
  .faq-block .section-heading.compact h2,
  .faq-block .section-heading h2{font-size:52px !important;}
  .faq-list summary{font-size:16px !important; min-height:76px !important;}
  .enquiry-blob h2{font-size:54px !important;}
  .form-arrow{left:61% !important; top:24px !important;}
}
@media (max-width: 1100px){
  .contact-grid{grid-template-columns:1fr !important; gap:20px !important;}
  .faq-block{padding:0 !important;}
  .faq-block .section-heading.compact h2,
  .faq-block .section-heading h2{font-size:46px !important;}
  .faq-list summary{min-height:72px !important; font-size:15px !important;}
  .enquiry-blob{padding:26px 22px 28px !important;}
  .enquiry-blob h2{font-size:48px !important;}
  .enquiry-intro p{font-size:16px !important;}
  .form-arrow{display:none !important;}
  .enquiry-form.enquiry-form-ref .submit-btn{min-width:320px !important; height:68px !important; font-size:26px !important;}
}
@media (max-width: 680px){
  .faq-block .section-heading.compact h2,
  .faq-block .section-heading h2{font-size:38px !important;}
  .faq-list summary{min-height:66px !important; padding:0 16px !important; grid-template-columns:34px 1fr 24px !important; gap:10px !important; font-size:14px !important;}
  .faq-list .qmark{width:30px !important; height:30px !important; font-size:18px !important;}
  .faq-list details p{padding:0 16px 14px 56px !important; font-size:14px !important;}
  .enquiry-blob{padding:22px 16px 24px !important;}
  .enquiry-blob h2{font-size:40px !important;}
  .enquiry-form.enquiry-form-ref input,
  .enquiry-form.enquiry-form-ref textarea,
  .enquiry-form.enquiry-form-ref select{height:60px !important; font-size:17px !important; padding:0 18px !important;}
  .enquiry-form.enquiry-form-ref .field-message textarea{height:82px !important;}
  .enquiry-form.enquiry-form-ref .submit-btn{min-width:100% !important; height:64px !important; font-size:24px !important;}
}


/* === V16 blue match + no cropped decorative elements === */
:root{
  --navy:#083b73;
  --navy-2:#083b73;
}
.site-footer{
  background:var(--navy) !important;
}
.enquiry-blob::after{
  background:var(--navy) !important;
  right:0 !important;
  bottom:0 !important;
  width:176px !important;
  height:136px !important;
  border-radius:118px 0 0 0 !important;
  transform:none !important;
}
.enquiry-blob .blob-dots.right{
  right:18px !important;
  bottom:20px !important;
}
.contact-section::before{
  left:-34px !important;
  bottom:0 !important;
  width:150px !important;
  height:86px !important;
}
.faq-block::after{
  left:14px !important;
  bottom:-2px !important;
  width:64px !important;
  height:40px !important;
  transform:rotate(0deg) !important;
}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.10) !important;
}
@media (max-width:980px){
  .enquiry-blob::after{
    width:148px !important;
    height:118px !important;
  }
  .contact-section::before{
    width:120px !important;
    height:72px !important;
    left:-24px !important;
  }
}


/* === V17 arrow + footer polish === */
.enquiry-blob{
  overflow:hidden !important;
}
.form-arrow{
  left:auto !important;
  right:250px !important;
  top:36px !important;
  width:118px !important;
  height:88px !important;
  transform:none !important;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 130 96'><path d='M20 14 C55 16, 82 26, 96 49 C105 63, 103 76, 90 87' fill='none' stroke='white' stroke-width='5.5' stroke-linecap='round' stroke-linejoin='round'/><path d='M10 28 C40 30, 66 37, 85 52' fill='none' stroke='white' stroke-width='5.5' stroke-linecap='round' stroke-linejoin='round'/><path d='M76 70 L90 87 L107 72' fill='none' stroke='white' stroke-width='5.5' stroke-linecap='round' stroke-linejoin='round'/></svg>") !important;
  background-repeat:no-repeat !important;
  background-size:contain !important;
  background-position:center !important;
}
.enquiry-blob::after{
  background:#083b73 !important;
  right:-6px !important;
  bottom:-2px !important;
  width:184px !important;
  height:142px !important;
  border-radius:132px 0 0 0 !important;
  transform:none !important;
}
.enquiry-blob .blob-dots.right{
  right:24px !important;
  bottom:28px !important;
}
.site-footer{
  background:#083b73 !important;
  padding-top:24px !important;
  padding-bottom:16px !important;
  margin-top:0 !important;
  position:relative !important;
  z-index:1 !important;
}
.site-footer .footer-inner{
  position:relative !important;
  z-index:2 !important;
}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.12) !important;
  margin-top:20px !important;
  padding-top:14px !important;
}
.contact-section::before{
  left:-26px !important;
  bottom:0 !important;
  width:134px !important;
  height:78px !important;
  border-radius:100px 100px 0 0 !important;
}
.faq-block::after{
  left:18px !important;
  bottom:-2px !important;
  width:56px !important;
  height:34px !important;
  transform:rotate(-2deg) !important;
}
@media (max-width:1380px){
  .form-arrow{right:220px !important; top:34px !important; width:108px !important; height:82px !important;}
}
@media (max-width:980px){
  .form-arrow{display:none !important;}
  .enquiry-blob::after{width:146px !important;height:112px !important;}
  .contact-section::before{width:114px !important;height:66px !important;left:-18px !important;}
}

/* ===== Footer update v18 ===== */
.site-footer.site-footer--refined{
  position:relative;
  background:linear-gradient(180deg,#073a74 0%, #063668 100%) !important;
  color:#fff;
  padding:36px 0 18px !important;
  overflow:hidden;
}
.site-footer.site-footer--refined::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 12% 18%, rgba(255,255,255,.08), transparent 34%),
             radial-gradient(circle at 88% 22%, rgba(0,255,255,.05), transparent 26%),
             radial-gradient(circle at 50% 100%, rgba(255,255,255,.04), transparent 30%);
  pointer-events:none;
}
.site-footer--refined .footer-inner{
  position:relative;
  z-index:1;
  width:min(94vw, 1820px) !important;
  margin:0 auto;
  display:grid;
  grid-template-columns:1.05fr .7fr 1fr 1.14fr !important;
  gap:42px !important;
  align-items:start;
}
.site-footer--refined .footer-brand-col{padding-top:2px;}
.site-footer--refined .footer-brand{display:inline-flex;flex-direction:column;align-items:flex-start;text-decoration:none;}
.site-footer--refined .footer-brand .brand-line,
.site-footer--refined .footer-brand .brand-smile i{
  font-size:31px !important;
  line-height:.95;
}
.site-footer--refined .footer-brand small{
  font-size:8px !important;
  letter-spacing:.16em;
  margin-top:6px;
}
.site-footer--refined .footer-brand-col p{
  margin:22px 0 0;
  max-width:360px;
  font-size:16px !important;
  font-weight:700;
  line-height:1.38;
  color:#ffffff;
}
.site-footer--refined .socials{
  display:flex;
  gap:16px;
  margin-top:24px;
}
.site-footer--refined .socials a{
  width:54px !important;
  height:54px !important;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:linear-gradient(180deg,#ff736e 0%, #ff5b67 100%) !important;
  box-shadow:0 8px 16px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.28);
  transition:transform .22s ease, box-shadow .22s ease, filter .22s ease;
}
.site-footer--refined .socials a:hover,
.site-footer--refined .socials a:focus-visible{
  transform:translateY(-3px) scale(1.02);
  filter:brightness(1.04);
  box-shadow:0 12px 20px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.34);
}
.site-footer--refined .socials svg{
  width:24px !important;
  height:24px !important;
  fill:none;
  stroke:#fff;
  stroke-width:2.4;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.site-footer--refined .socials a[aria-label="Facebook"] svg,
.site-footer--refined .socials .ig-dot{fill:#fff;stroke:none;}
.site-footer--refined .footer-col{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:7px;
  font-size:16px !important;
  color:#fff;
}
.site-footer--refined .footer-col h3{
  margin:6px 0 14px;
  font-family:Impact,'Arial Black','Arial Narrow',sans-serif;
  letter-spacing:.02em;
  font-size:27px !important;
  color:#fff !important;
}
.site-footer--refined .footer-col p,
.site-footer--refined .footer-col span,
.site-footer--refined .footer-col a{
  color:#fff !important;
  line-height:1.42;
  text-decoration:none;
  font-weight:700;
}
.site-footer--refined .footer-links-col a{
  display:block;
  margin-bottom:6px;
  font-size:17px;
}
.site-footer--refined .footer-links-col a:hover,
.site-footer--refined .footer-links-col a:focus-visible,
.site-footer--refined .contact-line:hover,
.site-footer--refined .contact-line:focus-visible{
  color:#a9f4f1 !important;
}
.site-footer--refined .service-col p{max-width:360px;margin:0 0 6px;font-size:17px;}
.site-footer--refined .area-item{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin-bottom:4px;
  font-size:17px;
}
.site-footer--refined .area-item::before{
  content:"📍";
  font-size:15px;
  line-height:1.3;
  transform:translateY(1px);
}
.site-footer--refined .get-in-touch{padding-right:150px;min-height:230px;}
.site-footer--refined .contact-line{
  display:flex;
  align-items:center;
  gap:16px;
  margin-bottom:14px;
  font-size:17px;
}
.site-footer--refined .contact-line svg{
  width:30px;
  min-width:30px;
  height:30px;
  stroke:#15d6e2;
  fill:none;
  stroke-width:2.1;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.site-footer--refined .footer-balloons{
  position:absolute;
  right:8px;
  bottom:-2px;
  width:150px;
  height:230px;
  pointer-events:none;
}
.site-footer--refined .footer-balloons svg{width:100%;height:100%;overflow:visible;}
.site-footer--refined .balloon-outline,
.site-footer--refined .balloon-tie,
.site-footer--refined .balloon-shine,
.site-footer--refined .balloon-string{
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.site-footer--refined .balloon-group-teal{color:#18d8e0;animation:balloonFloatA 4.8s ease-in-out infinite;transform-origin:center;}
.site-footer--refined .balloon-group-coral{color:#ff6d73;animation:balloonFloatB 5.8s ease-in-out infinite 0.5s;transform-origin:center;}
.site-footer--refined .balloon-group .balloon-outline{stroke:currentColor;stroke-width:4;}
.site-footer--refined .balloon-group .balloon-tie{stroke:currentColor;stroke-width:4;}
.site-footer--refined .balloon-group .balloon-shine{stroke:rgba(255,255,255,.9);stroke-width:4;}
.site-footer--refined .balloon-group .balloon-string{stroke:rgba(255,255,255,.95);stroke-width:3;}
@keyframes balloonFloatA{
  0%,100%{transform:translateY(0) rotate(-2deg);}50%{transform:translateY(-10px) rotate(2deg);}
}
@keyframes balloonFloatB{
  0%,100%{transform:translateY(0) rotate(2deg);}50%{transform:translateY(-14px) rotate(-2deg);}
}
.site-footer--refined .footer-bottom{
  position:relative;
  z-index:1;
  width:min(94vw, 1820px) !important;
  margin:28px auto 0 !important;
  padding-top:18px !important;
  border-top:1px solid rgba(255,255,255,.18) !important;
  display:flex;
  justify-content:space-between;
  gap:16px;
  font-size:15px !important;
  color:#fff;
}
.site-footer--refined .footer-bottom span,
.site-footer--refined .footer-bottom a{
  color:#fff !important;
  font-weight:700;
  text-decoration:none;
}
.site-footer--refined .footer-bottom b{margin:0 10px;color:rgba(255,255,255,.8);}

@media (max-width: 1180px){
  .site-footer--refined .footer-inner{grid-template-columns:1fr 1fr !important;gap:34px !important;}
  .site-footer--refined .get-in-touch{padding-right:120px;}
}
@media (max-width: 720px){
  .site-footer--refined .footer-inner{grid-template-columns:1fr !important;gap:28px !important;width:92vw !important;}
  .site-footer--refined .get-in-touch{padding-right:110px;min-height:210px;}
  .site-footer--refined .footer-bottom{width:92vw !important;flex-wrap:wrap;font-size:13px !important;}
  .site-footer--refined .footer-col h3{font-size:24px !important;}
  .site-footer--refined .footer-brand-col p,
  .site-footer--refined .footer-links-col a,
  .site-footer--refined .service-col p,
  .site-footer--refined .area-item,
  .site-footer--refined .contact-line{font-size:15px !important;}
}

/* =========================================================
   V19 — fix white gap on right, larger animated balloons,
   cleaner footer join with enquiry block.
   ========================================================= */

/* tighter join between enquiry block and footer */
.contact-section{
  padding-bottom:0 !important;
  margin-bottom:0 !important;
}
.enquiry-blob{
  margin-bottom:-1px !important;
}
.enquiry-blob::after{
  right:-88px !important;
  bottom:-74px !important;
  width:270px !important;
  height:205px !important;
  background:#073b63 !important;
  border-radius:76% 0 0 0 !important;
  transform:none !important;
}

/* remove visible white break on the right between blocks */
.site-footer{
  position:relative !important;
  margin-top:-1px !important;
  padding-top:22px !important;
  overflow:hidden !important;
  background:#073b63 !important;
}
.site-footer::before{
  display:block !important;
  content:"" !important;
  position:absolute !important;
  top:-78px !important;
  right:-10px !important;
  width:310px !important;
  height:125px !important;
  background:#073b63 !important;
  border-radius:88% 0 0 0 !important;
  z-index:0 !important;
}
.site-footer .footer-inner,
.site-footer .footer-bottom{
  position:relative !important;
  z-index:2 !important;
}

/* richer footer typography */
.site-footer--refined .footer-col h3{
  font-size:18px !important;
}
.site-footer--refined .footer-col,
.site-footer--refined .footer-col a,
.site-footer--refined .footer-col span,
.site-footer--refined .footer-col p,
.site-footer--refined .footer-brand-col p{
  font-weight:700 !important;
}

/* larger, more lively balloons */
.site-footer--refined .get-in-touch{
  padding-right:190px !important;
  min-height:260px !important;
}
.site-footer--refined .footer-balloons{
  right:-6px !important;
  bottom:-4px !important;
  width:190px !important;
  height:280px !important;
}
.site-footer--refined .footer-balloons svg{
  width:100% !important;
  height:100% !important;
  overflow:visible !important;
}
.site-footer--refined .balloon-group-teal{
  animation:balloonDriftTeal 4.8s ease-in-out infinite !important;
  transform-origin:50% 100% !important;
}
.site-footer--refined .balloon-group-coral{
  animation:balloonDriftCoral 5.6s ease-in-out infinite .25s !important;
  transform-origin:50% 100% !important;
}
.site-footer--refined .balloon-group .balloon-outline{stroke-width:4.2 !important;}
.site-footer--refined .balloon-group .balloon-tie{stroke-width:4.2 !important;}
.site-footer--refined .balloon-group .balloon-shine{stroke-width:4 !important;}
.site-footer--refined .balloon-group .balloon-string{stroke-width:3.2 !important;}

@keyframes balloonDriftTeal{
  0%,100%{transform:translate3d(0,0,0) rotate(-4deg);}
  25%{transform:translate3d(-3px,-8px,0) rotate(-2deg);}
  50%{transform:translate3d(4px,-18px,0) rotate(2deg);}
  75%{transform:translate3d(-2px,-10px,0) rotate(-1deg);}
}
@keyframes balloonDriftCoral{
  0%,100%{transform:translate3d(0,0,0) rotate(5deg);}
  25%{transform:translate3d(4px,-9px,0) rotate(3deg);}
  50%{transform:translate3d(-5px,-20px,0) rotate(-2deg);}
  75%{transform:translate3d(3px,-11px,0) rotate(2deg);}
}

@media (max-width:1100px){
  .site-footer::before{
    width:250px !important;
    height:100px !important;
    top:-62px !important;
  }
  .site-footer--refined .get-in-touch{
    padding-right:150px !important;
    min-height:230px !important;
  }
  .site-footer--refined .footer-balloons{
    width:150px !important;
    height:230px !important;
  }
}
@media (max-width:620px){
  .site-footer::before{
    display:none !important;
  }
  .site-footer--refined .get-in-touch{
    padding-right:110px !important;
    min-height:200px !important;
  }
  .site-footer--refined .footer-balloons{
    width:120px !important;
    height:180px !important;
    right:-8px !important;
  }
}

/* =========================================================
   V20 — keep larger balloons, restore gentler animation,
   and unify blue color on form blob + footer.
   ========================================================= */

/* use one matching deep blue everywhere around footer join */
.enquiry-blob::after{
  background:#083b73 !important;
  right:-86px !important;
  bottom:-74px !important;
  width:272px !important;
  height:206px !important;
  border-radius:78% 0 0 0 !important;
}
.site-footer,
.site-footer::before{
  background:#083b73 !important;
}
.site-footer::before{
  top:-76px !important;
  right:-8px !important;
  width:308px !important;
  height:124px !important;
  border-radius:86% 0 0 0 !important;
}

/* keep current balloon size, but return to softer previous motion */
.site-footer--refined .get-in-touch{
  padding-right:190px !important;
  min-height:260px !important;
}
.site-footer--refined .footer-balloons{
  right:2px !important;
  bottom:-2px !important;
  width:190px !important;
  height:280px !important;
}
.site-footer--refined .balloon-group-teal{
  animation:balloonFloatA 4.8s ease-in-out infinite !important;
  transform-origin:center bottom !important;
}
.site-footer--refined .balloon-group-coral{
  animation:balloonFloatB 5.8s ease-in-out infinite .5s !important;
  transform-origin:center bottom !important;
}

@keyframes balloonFloatA{
  0%,100%{transform:translateY(0) rotate(-2deg);}
  50%{transform:translateY(-10px) rotate(2deg);}
}
@keyframes balloonFloatB{
  0%,100%{transform:translateY(0) rotate(2deg);}
  50%{transform:translateY(-14px) rotate(-2deg);}
}

@media (max-width:1100px){
  .site-footer--refined .get-in-touch{
    padding-right:150px !important;
    min-height:230px !important;
  }
  .site-footer--refined .footer-balloons{
    width:150px !important;
    height:230px !important;
  }
}
@media (max-width:620px){
  .site-footer--refined .get-in-touch{
    padding-right:110px !important;
    min-height:200px !important;
  }
  .site-footer--refined .footer-balloons{
    width:120px !important;
    height:180px !important;
    right:-8px !important;
  }
}

/* =========================================================
   V21 — high-quality SERVICE AREAS / GET IN TOUCH block
   based on approved generated footer reference.
   ========================================================= */
.site-footer--refined{
  background:linear-gradient(180deg,#073b73 0%,#063563 100%) !important;
}
.site-footer--refined .footer-inner{
  width:min(95vw,1840px) !important;
  grid-template-columns:1.05fr .68fr 1.16fr 1.38fr !important;
  gap:38px !important;
}
.site-footer--refined .footer-info-hq h3{
  margin:2px 0 18px !important;
  color:#fff !important;
  font-family:Impact,'Arial Black','Arial Narrow',sans-serif !important;
  font-size:26px !important;
  letter-spacing:.025em !important;
  line-height:1 !important;
}
.site-footer--refined .service-intro{
  max-width:350px !important;
  margin:0 0 12px !important;
  color:#fff !important;
  font-size:17px !important;
  font-weight:700 !important;
  line-height:1.42 !important;
}
.site-footer--refined .service-list{
  display:flex !important;
  flex-direction:column !important;
  gap:8px !important;
}
.site-footer--refined .service-row{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  color:#fff !important;
  font-size:17px !important;
  font-weight:800 !important;
  line-height:1.25 !important;
}
.site-footer--refined .service-row svg{
  width:23px !important;
  height:23px !important;
  min-width:23px !important;
  fill:none !important;
  stroke:#17d6df !important;
  stroke-width:2.6 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
  filter:drop-shadow(0 0 2px rgba(23,214,223,.18)) !important;
}
.site-footer--refined .contact-list{
  display:flex !important;
  flex-direction:column !important;
  gap:14px !important;
}
.site-footer--refined .contact-line-hq{
  display:grid !important;
  grid-template-columns:34px minmax(0,1fr) !important;
  align-items:center !important;
  gap:14px !important;
  margin:0 !important;
  color:#fff !important;
  font-size:17px !important;
  font-weight:800 !important;
  line-height:1.25 !important;
  text-decoration:none !important;
  min-width:0 !important;
}
.site-footer--refined .contact-line-hq svg{
  width:31px !important;
  height:31px !important;
  min-width:31px !important;
  fill:none !important;
  stroke:#17d6df !important;
  stroke-width:2.45 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
  filter:drop-shadow(0 0 2px rgba(23,214,223,.2)) !important;
}
.site-footer--refined .contact-line-hq span{
  min-width:0 !important;
  color:#fff !important;
  font-weight:800 !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
}
.site-footer--refined .contact-line-hq:hover span,
.site-footer--refined .contact-line-hq:focus-visible span{
  color:#b9ffff !important;
}
.site-footer--refined .contact-line-hq:hover svg,
.site-footer--refined .contact-line-hq:focus-visible svg{
  stroke:#73f6fb !important;
  transform:translateY(-1px) scale(1.03) !important;
}
.site-footer--refined .contact-line-hq svg{
  transition:stroke .18s ease,transform .18s ease !important;
}
.site-footer--refined .get-in-touch{
  padding-right:190px !important;
  min-height:260px !important;
}
.site-footer--refined .footer-balloons{
  right:0 !important;
  bottom:-4px !important;
  width:184px !important;
  height:270px !important;
}
.site-footer--refined .footer-bottom{
  width:min(95vw,1840px) !important;
}
@media (max-width:1400px){
  .site-footer--refined .footer-inner{
    grid-template-columns:.95fr .68fr 1.08fr 1.28fr !important;
    gap:28px !important;
  }
  .site-footer--refined .footer-info-hq h3{font-size:23px !important;}
  .site-footer--refined .service-intro,
  .site-footer--refined .service-row,
  .site-footer--refined .contact-line-hq{font-size:15.5px !important;}
  .site-footer--refined .get-in-touch{padding-right:160px !important;}
  .site-footer--refined .footer-balloons{width:160px !important;height:240px !important;}
}
@media (max-width:1180px){
  .site-footer--refined .footer-inner{grid-template-columns:1fr 1fr !important;gap:34px !important;}
  .site-footer--refined .get-in-touch{padding-right:150px !important;}
}
@media (max-width:720px){
  .site-footer--refined .footer-inner{grid-template-columns:1fr !important;}
  .site-footer--refined .get-in-touch{padding-right:105px !important;}
  .site-footer--refined .footer-info-hq h3{font-size:24px !important;}
  .site-footer--refined .service-intro,
  .site-footer--refined .service-row,
  .site-footer--refined .contact-line-hq{font-size:15px !important;}
  .site-footer--refined .footer-balloons{width:120px !important;height:180px !important;}
}

/* ===== v24: logo replacement, stronger hero bubbles, neon butterflies ===== */
/* Replace text logos with image logos while keeping navy background */
.brand--logo{
  display:flex !important;
  align-items:center;
  justify-content:flex-start;
  text-decoration:none;
}
.brand-logo-image{
  display:block;
  width:auto;
  max-width:100%;
  height:auto;
  filter:drop-shadow(0 6px 16px rgba(0,0,0,.16));
}
.site-header .brand--logo{max-width:170px;}
.site-header .brand--logo .brand-logo-image{height:72px;width:auto;}
.site-footer--refined .footer-brand--logo{max-width:178px;}
.site-footer--refined .footer-logo-image{height:118px;width:auto;}

/* Hero cleanup + expressive bubble overlay */
.hero-reference{position:relative !important; overflow:hidden !important; margin-top:-1px !important; background:#fff !important;}
.hero-reference::before,.hero-reference::after{display:none !important; content:none !important;}
.hero-reference-inner{position:relative;overflow:hidden;}
.hero-reference-inner::before{
  content:"";
  position:absolute;
  top:0; left:0;
  width:168px; height:86px;
  background:#fff;
  clip-path:polygon(0 0,100% 0,78% 24%,0 40%);
  z-index:3;
  pointer-events:none;
}
.hero-reference-image{position:relative;z-index:1;display:block;width:100%;height:auto;}
.hero-bubbles{
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  mix-blend-mode:screen;
}
.hero-bubble{
  position:absolute;
  border-radius:50%;
  border:2.5px solid rgba(255,255,255,.82);
  background:
    radial-gradient(circle at 32% 28%, rgba(255,255,255,.98) 0 8%, rgba(255,255,255,.48) 9%, rgba(255,255,255,.12) 36%, rgba(255,255,255,.03) 58%, transparent 70%),
    radial-gradient(circle at 68% 72%, rgba(61,244,255,.18), transparent 45%);
  box-shadow:inset -10px -10px 22px rgba(255,255,255,.10),0 0 0 1px rgba(255,255,255,.12),0 0 24px rgba(174,246,255,.28);
  opacity:.96;
  animation:bubbleRise linear infinite;
}
.hero-bubble::before,.hero-bubble::after{
  content:"";
  position:absolute;
  border-radius:50%;
  background:rgba(255,255,255,.82);
}
.hero-bubble::before{top:14%;left:18%;width:12%;height:12%;filter:blur(.3px);}
.hero-bubble::after{top:24%;left:26%;width:20%;height:20%;background:rgba(255,255,255,.95);filter:blur(.3px);}
.hero-bubble--1{width:56px;height:56px;left:8%;top:66%;animation-duration:10s;animation-delay:-2s;}
.hero-bubble--2{width:26px;height:26px;left:16%;top:74%;animation-duration:8.6s;animation-delay:-5.3s;}
.hero-bubble--3{width:48px;height:48px;left:25%;top:58%;animation-duration:11.5s;animation-delay:-1s;}
.hero-bubble--4{width:22px;height:22px;left:44%;top:68%;animation-duration:8.1s;animation-delay:-6s;}
.hero-bubble--5{width:66px;height:66px;left:72%;top:60%;animation-duration:12s;animation-delay:-4.2s;}
.hero-bubble--6{width:36px;height:36px;left:78%;top:72%;animation-duration:9.3s;animation-delay:-2.8s;}
.hero-bubble--7{width:28px;height:28px;left:88%;top:66%;animation-duration:8.8s;animation-delay:-6.5s;}
.hero-bubble--8{width:18px;height:18px;left:83%;top:52%;animation-duration:7.7s;animation-delay:-1.6s;}
.hero-bubble--9{width:42px;height:42px;left:58%;top:74%;animation-duration:10.8s;animation-delay:-8.4s;}
.hero-bubble--10{width:24px;height:24px;left:67%;top:48%;animation-duration:7.8s;animation-delay:-3.4s;}
.hero-bubble--11{width:30px;height:30px;left:92%;top:42%;animation-duration:9.4s;animation-delay:-5.7s;}
.hero-bubble--12{width:20px;height:20px;left:12%;top:52%;animation-duration:7.2s;animation-delay:-4.4s;}
@keyframes bubbleRise{
  0%{transform:translate3d(0,0,0) scale(.88);opacity:0;}
  8%{opacity:.95;}
  25%{transform:translate3d(18px,-48px,0) scale(1.02);}
  50%{transform:translate3d(-10px,-105px,0) scale(1.1);}
  75%{transform:translate3d(14px,-155px,0) scale(1.04);opacity:.88;}
  100%{transform:translate3d(-6px,-210px,0) scale(.92);opacity:0;}
}

/* Neon butterflies on the right bottom of experiences block */
.party-experiences{overflow:hidden;position:relative;}
.party-experience-butterflies{
  position:absolute;
  right:74px;
  bottom:40px;
  display:flex;
  align-items:flex-end;
  gap:16px;
  z-index:3;
  pointer-events:none;
}
.neon-butterfly{
  position:relative;
  display:block;
  width:56px;
  height:44px;
  color:#3eeeff;
  filter:drop-shadow(0 0 6px currentColor) drop-shadow(0 0 14px rgba(255,255,255,.22));
  animation:neonButterflyFloat 3.4s ease-in-out infinite;
}
.neon-butterfly--2{width:42px;height:34px;color:#ff7b8e;margin-bottom:8px;animation-delay:1.1s;}
.nb-wing{
  position:absolute;
  top:8px;
  width:23px;
  height:28px;
  border:3px solid currentColor;
  border-radius:80% 20% 76% 24% / 62% 22% 78% 38%;
  background:rgba(255,255,255,.02);
}
.nb-wing--left{left:2px;transform-origin:100% 56%;animation:neonFlapLeft .34s ease-in-out infinite alternate;}
.nb-wing--right{right:2px;transform-origin:0% 56%;transform:scaleX(-1);animation:neonFlapRight .34s ease-in-out infinite alternate;}
.nb-body{
  position:absolute;
  left:50%;top:9px;transform:translateX(-50%);
  width:6px;height:24px;border-radius:20px;background:currentColor;box-shadow:0 0 10px currentColor;
}
.neon-butterfly::before,.neon-butterfly::after{
  content:"";position:absolute;top:2px;width:10px;height:12px;border-top:2px solid currentColor;
}
.neon-butterfly::before{left:20px;transform:rotate(-28deg);border-radius:8px 0 0 0;}
.neon-butterfly::after{right:20px;transform:rotate(28deg);border-radius:0 8px 0 0;}
@keyframes neonFlapLeft{from{transform:rotate(24deg) scaleX(1);}to{transform:rotate(-22deg) scaleX(.94);}}
@keyframes neonFlapRight{from{transform:scaleX(-1) rotate(24deg);}to{transform:scaleX(-1) rotate(-22deg);}}
@keyframes neonButterflyFloat{0%,100%{transform:translateY(0) rotate(-2deg);}50%{transform:translateY(-7px) rotate(3deg);}}

/* remove add-ons link in footer gracefully by tightening spacing */
.site-footer--refined .footer-links a{display:block;}

@media (max-width:1024px){
  .site-header .brand--logo .brand-logo-image{height:64px;}
  .site-footer--refined .footer-logo-image{height:104px;}
  .party-experience-butterflies{right:34px;bottom:28px;}
}
@media (max-width:860px){
  .site-header .brand--logo{max-width:132px;}
  .site-header .brand--logo .brand-logo-image{height:58px;}
  .site-footer--refined .footer-logo-image{height:94px;}
  .hero-reference-inner::before{width:92px;height:44px;clip-path:polygon(0 0,100% 0,68% 26%,0 52%);}
  .party-experience-butterflies{right:18px;bottom:18px;gap:10px;}
  .neon-butterfly{width:40px;height:34px;}
  .neon-butterfly--2{width:32px;height:28px;}
  .nb-wing{width:18px;height:22px;top:7px;border-width:2px;}
  .nb-body{height:18px;top:9px;}
}
@media (max-width:640px){
  .hero-bubble--1,.hero-bubble--3,.hero-bubble--5,.hero-bubble--9,.hero-bubble--11{display:none;}
  .party-experience-butterflies{display:none;}
}

/* ===== v25 fixes: hero defect removed, bubbles over full hero, larger premium butterflies ===== */
/* Remove visible defect at the top-left of hero under the header */
.hero-reference{
  position: relative !important;
  overflow: hidden !important;
  background: #fff !important;
}
.hero-reference::before{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 340px;
  height: 110px;
  background: #fff;
  clip-path: polygon(0 0, 100% 0, 72% 42%, 0 64%);
  z-index: 6;
  pointer-events: none;
}
.hero-reference::after{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 90px;
  height: 26px;
  background: #fff;
  z-index: 7;
  pointer-events: none;
}
.hero-reference-inner::before{
  content: none !important;
  display: none !important;
}
.hero-reference-image{
  position: relative;
  z-index: 1;
}

/* More visible bubble animation across the whole first screen */
.hero-bubbles{
  position: absolute;
  inset: 0;
  z-index: 4;
  pointer-events: none;
  overflow: hidden;
}
.hero-bubble{
  position: absolute;
  border-radius: 50%;
  border: 2.5px solid rgba(255,255,255,.88);
  background:
    radial-gradient(circle at 30% 26%, rgba(255,255,255,.96) 0 9%, rgba(255,255,255,.48) 10%, rgba(255,255,255,.12) 36%, rgba(255,255,255,.03) 60%, transparent 73%),
    radial-gradient(circle at 70% 70%, rgba(66,246,255,.22), transparent 44%);
  box-shadow:
    inset -10px -10px 22px rgba(255,255,255,.10),
    0 0 0 1px rgba(255,255,255,.14),
    0 0 26px rgba(171,242,255,.32);
  opacity: 0;
  mix-blend-mode: screen;
  animation: heroBubbleFloat linear infinite;
}
.hero-bubble::before,
.hero-bubble::after{
  content: "";
  position: absolute;
  border-radius: 50%;
}
.hero-bubble::before{
  top: 16%;
  left: 20%;
  width: 14%;
  height: 14%;
  background: rgba(255,255,255,.96);
}
.hero-bubble::after{
  top: 25%;
  left: 28%;
  width: 20%;
  height: 20%;
  background: rgba(255,255,255,.55);
}

.hero-bubble--1{width:62px;height:62px;left:7%;top:72%;animation-duration:12s;animation-delay:-1.2s;}
.hero-bubble--2{width:24px;height:24px;left:12%;top:63%;animation-duration:8.2s;animation-delay:-4.6s;}
.hero-bubble--3{width:40px;height:40px;left:18%;top:78%;animation-duration:10.8s;animation-delay:-7.4s;}
.hero-bubble--4{width:28px;height:28px;left:27%;top:57%;animation-duration:8.7s;animation-delay:-2.8s;}
.hero-bubble--5{width:56px;height:56px;left:35%;top:74%;animation-duration:11.3s;animation-delay:-5.4s;}
.hero-bubble--6{width:20px;height:20px;left:44%;top:49%;animation-duration:7.4s;animation-delay:-3.2s;}
.hero-bubble--7{width:44px;height:44px;left:51%;top:81%;animation-duration:10.2s;animation-delay:-6.8s;}
.hero-bubble--8{width:26px;height:26px;left:58%;top:62%;animation-duration:8.5s;animation-delay:-1.6s;}
.hero-bubble--9{width:68px;height:68px;left:65%;top:76%;animation-duration:12.3s;animation-delay:-4.1s;}
.hero-bubble--10{width:30px;height:30px;left:71%;top:55%;animation-duration:8.4s;animation-delay:-7.1s;}
.hero-bubble--11{width:22px;height:22px;left:76%;top:34%;animation-duration:7.6s;animation-delay:-2.1s;}
.hero-bubble--12{width:48px;height:48px;left:80%;top:70%;animation-duration:10.5s;animation-delay:-5.8s;}
.hero-bubble--13{width:24px;height:24px;left:84%;top:50%;animation-duration:7.8s;animation-delay:-6.2s;}
.hero-bubble--14{width:36px;height:36px;left:89%;top:79%;animation-duration:9.9s;animation-delay:-3.8s;}
.hero-bubble--15{width:18px;height:18px;left:92%;top:60%;animation-duration:6.9s;animation-delay:-1.7s;}
.hero-bubble--16{width:34px;height:34px;left:22%;top:43%;animation-duration:8.8s;animation-delay:-5.1s;}
.hero-bubble--17{width:52px;height:52px;left:60%;top:44%;animation-duration:11.1s;animation-delay:-8.2s;}
.hero-bubble--18{width:26px;height:26px;left:95%;top:28%;animation-duration:7.2s;animation-delay:-4.9s;}

@keyframes heroBubbleFloat {
  0%   { transform: translate3d(0, 18px, 0) scale(.84); opacity: 0; }
  8%   { opacity: .97; }
  30%  { transform: translate3d(18px, -55px, 0) scale(1.02); }
  55%  { transform: translate3d(-10px, -125px, 0) scale(1.12); }
  80%  { transform: translate3d(12px, -190px, 0) scale(1.02); opacity: .84; }
  100% { transform: translate3d(-8px, -245px, 0) scale(.90); opacity: 0; }
}

/* Larger, more premium neon butterflies */
.party-experiences{
  position: relative;
  overflow: hidden;
}
.party-experience-butterflies{
  position: absolute;
  right: 54px;
  bottom: 44px;
  display: flex;
  align-items: flex-end;
  gap: 18px;
  z-index: 4;
  pointer-events: none;
}
.neon-butterfly{
  position: relative;
  display: block;
  width: 88px;
  height: 70px;
  color: #47ecff;
  filter: drop-shadow(0 0 10px rgba(71,236,255,.9)) drop-shadow(0 0 22px rgba(255,255,255,.24));
  animation: premiumButterflyFloat 4s ease-in-out infinite;
}
.neon-butterfly--2{
  width: 72px;
  height: 58px;
  color: #ff7e9e;
  margin-bottom: 8px;
  animation-delay: 1.1s;
}
.neon-butterfly--3{
  width: 58px;
  height: 46px;
  color: #9efcff;
  margin-bottom: 20px;
  animation-delay: 2.1s;
}
.neon-butterfly .nb-wing{
  position: absolute;
  top: 12px;
  width: 36px;
  height: 42px;
  border: 4px solid currentColor;
  background: rgba(255,255,255,.03);
  box-shadow: inset 0 0 12px rgba(255,255,255,.08);
}
.neon-butterfly .nb-wing--left{
  left: 5px;
  border-radius: 78% 22% 74% 26% / 62% 24% 76% 38%;
  transform-origin: 100% 58%;
  animation: premiumFlapLeft .42s ease-in-out infinite alternate;
}
.neon-butterfly .nb-wing--right{
  right: 5px;
  border-radius: 22% 78% 26% 74% / 24% 62% 38% 76%;
  transform-origin: 0% 58%;
  animation: premiumFlapRight .42s ease-in-out infinite alternate;
}
.neon-butterfly .nb-body{
  position: absolute;
  left: 50%;
  top: 14px;
  transform: translateX(-50%);
  width: 8px;
  height: 38px;
  border-radius: 30px;
  background: currentColor;
  box-shadow: 0 0 12px currentColor;
}
.neon-butterfly::before,
.neon-butterfly::after{
  content: "";
  position: absolute;
  top: 4px;
  width: 14px;
  height: 16px;
  border-top: 3px solid currentColor;
}
.neon-butterfly::before{
  left: 31px;
  transform: rotate(-34deg);
  border-radius: 10px 0 0 0;
}
.neon-butterfly::after{
  right: 31px;
  transform: rotate(34deg);
  border-radius: 0 10px 0 0;
}

@keyframes premiumFlapLeft {
  from { transform: rotate(28deg) scaleX(1); }
  to   { transform: rotate(-24deg) scaleX(.95); }
}
@keyframes premiumFlapRight {
  from { transform: rotate(-28deg) scaleX(1); }
  to   { transform: rotate(24deg) scaleX(.95); }
}
@keyframes premiumButterflyFloat {
  0%,100% { transform: translateY(0) rotate(-2deg); }
  50%     { transform: translateY(-10px) rotate(4deg); }
}

@media (max-width: 1200px) {
  .hero-reference::before{ width: 280px; height: 92px; }
  .party-experience-butterflies{ right: 32px; bottom: 34px; }
  .neon-butterfly{ width: 74px; height: 60px; }
  .neon-butterfly--2{ width: 60px; height: 48px; }
  .neon-butterfly--3{ width: 48px; height: 38px; }
  .neon-butterfly .nb-wing{ width: 30px; height: 36px; }
}

@media (max-width: 860px) {
  .hero-reference::before{ width: 160px; height: 58px; }
  .hero-reference::after{ width: 56px; height: 18px; }
  .hero-bubble--1,.hero-bubble--5,.hero-bubble--9,.hero-bubble--12,.hero-bubble--17{width:34px;height:34px;}
  .hero-bubble--3,.hero-bubble--7,.hero-bubble--14{width:24px;height:24px;}
  .party-experience-butterflies{ right: 18px; bottom: 20px; gap: 10px; }
  .neon-butterfly{ width: 54px; height: 44px; }
  .neon-butterfly--2{ width: 46px; height: 36px; }
  .neon-butterfly--3{ width: 34px; height: 28px; }
  .neon-butterfly .nb-wing{ width: 22px; height: 26px; border-width: 3px; top: 8px; }
  .neon-butterfly .nb-body{ width: 6px; height: 24px; top: 10px; }
  .neon-butterfly::before,.neon-butterfly::after{ width: 10px; height: 12px; top: 2px; }
  .neon-butterfly::before{ left: 18px; }
  .neon-butterfly::after{ right: 18px; }
}

@media (max-width: 640px) {
  .hero-reference::before{ width: 112px; height: 42px; }
  .hero-reference::after{ display:none; }
  .hero-bubble--5,.hero-bubble--9,.hero-bubble--11,.hero-bubble--15,.hero-bubble--18{display:none;}
  .party-experience-butterflies{ display: none; }
}


/* ===== v26 fixes: remove hero defect, stronger full-screen bubbles, premium SVG butterflies ===== */
.hero-reference{
  position: relative !important;
  overflow: hidden !important;
  background: #fff !important;
}
.hero-reference::before,
.hero-reference::after,
.hero-reference-inner::before{
  content: none !important;
  display: none !important;
}
.hero-reference-image{position:relative;z-index:1;display:block;width:100%;height:auto;}
.hero-bubbles{position:absolute;inset:0;z-index:4;pointer-events:none;overflow:hidden;}
.hero-bubble{position:absolute;border-radius:50%;border:2px solid rgba(255,255,255,.92);background:
  radial-gradient(circle at 30% 24%, rgba(255,255,255,.96) 0 9%, rgba(255,255,255,.50) 10%, rgba(255,255,255,.15) 34%, rgba(255,255,255,.03) 58%, transparent 74%),
  radial-gradient(circle at 70% 72%, rgba(79,241,255,.24), transparent 42%);
  box-shadow:inset -9px -9px 18px rgba(255,255,255,.08), 0 0 0 1px rgba(255,255,255,.14), 0 0 28px rgba(176,245,255,.34);
  opacity:0;mix-blend-mode:screen;animation:heroBubbleFloat linear infinite;}
.hero-bubble::before,.hero-bubble::after{content:"";position:absolute;border-radius:50%;}
.hero-bubble::before{top:15%;left:18%;width:13%;height:13%;background:rgba(255,255,255,.95);} 
.hero-bubble::after{top:24%;left:27%;width:20%;height:20%;background:rgba(255,255,255,.56);} 
.hero-bubble.dynamic{width:var(--size);height:var(--size);left:var(--left);top:var(--top);animation-duration:var(--dur);animation-delay:var(--delay);} 
@keyframes heroBubbleFloat{
  0%{transform:translate3d(0,26px,0) scale(.82);opacity:0;}
  10%{opacity:.98;}
  32%{transform:translate3d(18px,-62px,0) scale(1.02);}
  58%{transform:translate3d(-12px,-148px,0) scale(1.12);}
  82%{transform:translate3d(15px,-236px,0) scale(1.02);opacity:.84;}
  100%{transform:translate3d(-9px,-325px,0) scale(.9);opacity:0;}
}

.party-experiences{position:relative;overflow:visible;}
.party-experience-butterflies{
  position:absolute;right:34px;bottom:34px;display:flex;align-items:flex-end;gap:18px;z-index:5;pointer-events:none;
}
.neon-butterfly-svg{position:relative;display:block;filter:drop-shadow(0 0 10px rgba(108,220,255,.32)) drop-shadow(0 0 18px rgba(255,120,176,.18));animation:butterflyFloat 4.8s ease-in-out infinite;}
.neon-butterfly-svg svg{display:block;width:100%;height:auto;overflow:visible;}
.neon-butterfly-svg .outer,
.neon-butterfly-svg .body,
.neon-butterfly-svg .antenna{fill:none;stroke:#f39ac8;stroke-width:5.2;stroke-linecap:round;stroke-linejoin:round;}
.neon-butterfly-svg .inner{fill:none;stroke:#67dff1;stroke-width:3.6;stroke-linecap:round;stroke-linejoin:round;opacity:.82;}
.neon-butterfly-svg .body{stroke-width:5.4;}
.neon-butterfly-svg .wing{transform-box:fill-box;transform-origin:center;}
.neon-butterfly-svg .wing-left{animation:wingLeft .38s ease-in-out infinite alternate;}
.neon-butterfly-svg .wing-right{animation:wingRight .38s ease-in-out infinite alternate;}
.butterfly-a{width:118px;transform:rotate(-8deg);animation-delay:0s;}
.butterfly-b{width:92px;transform:translateY(8px) rotate(6deg);animation-delay:1s;}
.butterfly-c{width:76px;transform:translateY(2px) rotate(-3deg);animation-delay:2s;opacity:.96;}
@keyframes wingLeft{from{transform:translateX(2px) scaleX(1) rotate(0deg);}to{transform:translateX(-5px) scaleX(.92) rotate(-8deg);}}
@keyframes wingRight{from{transform:translateX(-2px) scaleX(1) rotate(0deg);}to{transform:translateX(5px) scaleX(.92) rotate(8deg);}}
@keyframes butterflyFloat{0%,100%{transform:translateY(0) rotate(var(--rot,0deg));}50%{transform:translateY(-10px) rotate(calc(var(--rot,0deg) + 2deg));}}
.butterfly-a{--rot:-8deg;}
.butterfly-b{--rot:6deg;}
.butterfly-c{--rot:-3deg;}

@media (max-width:1200px){
  .party-experience-butterflies{right:26px;bottom:26px;gap:12px;}
  .butterfly-a{width:96px;}
  .butterfly-b{width:78px;}
  .butterfly-c{width:64px;}
}
@media (max-width:860px){
  .hero-bubble.dynamic:nth-child(n+20){display:none;}
  .party-experience-butterflies{right:14px;bottom:18px;gap:10px;}
  .butterfly-a{width:74px;}
  .butterfly-b{width:60px;}
  .butterfly-c{width:48px;}
}
@media (max-width:640px){
  .party-experience-butterflies{display:none;}
}


/* === v27 butterfly refinement === */
.party-experience-butterflies{
  position:absolute;
  right:38px;
  bottom:52px;
  display:flex;
  align-items:flex-end;
  gap:18px;
  z-index:4;
  pointer-events:none;
}
.neon-butterfly-custom{
  position:relative;
  display:block;
  transform-origin:center center;
  filter:drop-shadow(0 0 8px rgba(111,226,240,.16)) drop-shadow(0 0 18px rgba(247,160,202,.18));
}
.neon-butterfly-custom svg{display:block;width:100%;height:auto;overflow:visible;}
.neon-butterfly-custom .bf-outline,
.neon-butterfly-custom .bf-core,
.neon-butterfly-custom .bf-antenna{
  fill:none;
  stroke:#f3a6cb;
  stroke-width:5.2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.neon-butterfly-custom .bf-inner{
  fill:none;
  stroke:#84deea;
  stroke-width:3.2;
  stroke-linecap:round;
  stroke-linejoin:round;
  opacity:.88;
}
.neon-butterfly-custom .bf-inner.faint{opacity:.62;}
.neon-butterfly-custom .bf-core{stroke:#82e0ea;stroke-width:4.6;}
.neon-butterfly-custom .bf-antenna{stroke:#f3a6cb;stroke-width:3.8;opacity:.9;}
.butterfly-side{width:120px;animation:butterflySideFloat 5.6s ease-in-out infinite;}
.butterfly-front{width:84px;animation:butterflyFrontFloat 4.7s ease-in-out infinite .4s;}
.butterfly-front .wing{transform-box:fill-box;transform-origin:center 58%;}
.butterfly-front .wing-left{animation:frontWingLeft .42s ease-in-out infinite alternate;}
.butterfly-front .wing-right{animation:frontWingRight .42s ease-in-out infinite alternate;}
.butterfly-side .bf-side{transform-box:fill-box;transform-origin:40% 58%;animation:sideFlutter .9s ease-in-out infinite alternate;}
@keyframes butterflySideFloat{
  0%,100%{transform:translateY(0) rotate(-5deg);}
  50%{transform:translateY(-10px) rotate(-2deg);}
}
@keyframes butterflyFrontFloat{
  0%,100%{transform:translateY(0) rotate(6deg);}
  50%{transform:translateY(-8px) rotate(2deg);}
}
@keyframes frontWingLeft{from{transform:rotate(8deg) scaleY(1);}to{transform:rotate(-10deg) scaleY(.97);}}
@keyframes frontWingRight{from{transform:rotate(-8deg) scaleY(1);}to{transform:rotate(10deg) scaleY(.97);}}
@keyframes sideFlutter{from{transform:rotate(0deg) scale(1);}to{transform:rotate(2deg) scale(1.02,.98);}}
@media (max-width:1100px){
  .party-experience-butterflies{right:26px;bottom:36px;gap:14px;}
  .butterfly-side{width:100px;}
  .butterfly-front{width:72px;}
}
@media (max-width:767px){
  .party-experience-butterflies{right:14px;bottom:18px;gap:10px;}
  .butterfly-side{width:76px;}
  .butterfly-front{width:56px;}
}
@media (max-width:560px){
  .party-experience-butterflies{display:none;}
}

/* ===== v28 — three requested fixes applied separately ===== */
/* 1) Clean top-left/header-to-hero join: no masks, bumps or mismatched patches. */
.site-header{
  background:#062f53 !important;
  box-shadow:none !important;
}
.hero-reference,
.hero-reference-inner{
  background:#062f53 !important;
}
.hero-reference{
  margin-top:0 !important;
  overflow:hidden !important;
}
.hero-reference::before,
.hero-reference::after,
.hero-reference-inner::before,
.hero-reference-inner::after{
  content:none !important;
  display:none !important;
}
.hero-reference-image{
  display:block !important;
  width:100% !important;
  height:auto !important;
  margin:0 !important;
  position:relative !important;
  z-index:1 !important;
}

/* 2) The hero keeps exactly the same HTML structure and image placement;
      only the source image now contains the sharper/brighter approved text. */
.hero-reference-cta{
  left:6.2% !important;
  top:65.6% !important;
  width:22.7% !important;
  height:7.0% !important;
}

/* 3) Approved neon butterflies — separately added below/right of OUR PARTY EXPERIENCES. */
.party-experiences{
  overflow:hidden !important;
}
.party-experience-butterflies{
  position:relative !important;
  inset:auto !important;
  width:min(420px,36vw) !important;
  height:142px !important;
  margin:-8px 3.5% -42px auto !important;
  display:flex !important;
  align-items:flex-end !important;
  justify-content:flex-end !important;
  gap:2px !important;
  z-index:5 !important;
  pointer-events:none !important;
}
.neon-butterfly-art{
  display:block !important;
  width:auto !important;
  max-width:none !important;
  object-fit:contain !important;
  transform-origin:center !important;
  will-change:transform,filter !important;
  filter:drop-shadow(0 0 7px rgba(51,226,255,.42)) drop-shadow(0 0 14px rgba(255,103,191,.34)) !important;
}
.butterfly-art--large{
  height:136px !important;
  animation:v28ButterflyLarge 3.9s ease-in-out infinite !important;
}
.butterfly-art--small{
  height:92px !important;
  margin:0 0 8px -10px !important;
  animation:v28ButterflySmall 3.35s ease-in-out .45s infinite !important;
}
@keyframes v28ButterflyLarge{
  0%,100%{transform:translate3d(0,0,0) rotate(-5deg) scaleX(1);filter:drop-shadow(0 0 7px rgba(51,226,255,.42)) drop-shadow(0 0 14px rgba(255,103,191,.34));}
  35%{transform:translate3d(-4px,-8px,0) rotate(-1deg) scaleX(.96);}
  55%{transform:translate3d(2px,-13px,0) rotate(2deg) scaleX(1.02);filter:drop-shadow(0 0 11px rgba(51,226,255,.54)) drop-shadow(0 0 18px rgba(255,103,191,.42));}
  78%{transform:translate3d(5px,-6px,0) rotate(-2deg) scaleX(.98);}
}
@keyframes v28ButterflySmall{
  0%,100%{transform:translate3d(0,0,0) rotate(7deg) scaleX(1);}
  30%{transform:translate3d(4px,-6px,0) rotate(3deg) scaleX(.94);}
  60%{transform:translate3d(-3px,-11px,0) rotate(10deg) scaleX(1.03);}
  82%{transform:translate3d(2px,-4px,0) rotate(5deg) scaleX(.97);}
}
.party-note{
  margin-top:74px !important;
}
@media (max-width:1100px){
  .party-experience-butterflies{width:min(330px,42vw) !important;height:112px !important;margin:-2px 2.5% -28px auto !important;}
  .butterfly-art--large{height:106px !important;}
  .butterfly-art--small{height:72px !important;}
  .party-note{margin-top:60px !important;}
}
@media (max-width:767px){
  .party-experience-butterflies{width:240px !important;height:94px !important;margin:6px 2% -20px auto !important;}
  .butterfly-art--large{height:86px !important;}
  .butterfly-art--small{height:58px !important;}
  .party-note{margin-top:48px !important;}
}
@media (max-width:560px){
  .party-experience-butterflies{display:flex !important;width:190px !important;height:76px !important;margin:8px 0 -14px auto !important;}
  .butterfly-art--large{height:70px !important;}
  .butterfly-art--small{height:46px !important;}
  .party-note{margin-top:38px !important;}
}

/* v28 butterfly artwork refinement — keep the generated neon look but retain real wing animation. */
.party-experience-butterflies .neon-butterfly-custom{
  filter:
    drop-shadow(0 0 4px rgba(255,255,255,.95))
    drop-shadow(0 0 8px rgba(70,235,255,.82))
    drop-shadow(0 0 17px rgba(255,108,200,.62))
    drop-shadow(0 0 28px rgba(99,225,255,.32)) !important;
}
.party-experience-butterflies .neon-butterfly-custom .bf-outline,
.party-experience-butterflies .neon-butterfly-custom .bf-antenna{
  stroke:#ff9bd2 !important;
  stroke-width:5.6 !important;
}
.party-experience-butterflies .neon-butterfly-custom .bf-core{
  stroke:#66efff !important;
  stroke-width:5.2 !important;
}
.party-experience-butterflies .neon-butterfly-custom .bf-inner{
  stroke:#72e8ff !important;
  stroke-width:3.7 !important;
  opacity:.96 !important;
}
.party-experience-butterflies .butterfly-side{
  width:154px !important;
  animation:v28SideFloat 4.4s ease-in-out infinite !important;
}
.party-experience-butterflies .butterfly-front{
  width:104px !important;
  margin:0 0 10px -8px !important;
  animation:v28FrontFloat 3.8s ease-in-out .5s infinite !important;
}
@keyframes v28SideFloat{
  0%,100%{transform:translate3d(0,0,0) rotate(-7deg) scale(1);}
  35%{transform:translate3d(-4px,-7px,0) rotate(-3deg) scale(.985,1.015);}
  60%{transform:translate3d(3px,-14px,0) rotate(1deg) scale(1.015,.985);}
  82%{transform:translate3d(5px,-6px,0) rotate(-3deg) scale(.99,1.01);}
}
@keyframes v28FrontFloat{
  0%,100%{transform:translate3d(0,0,0) rotate(7deg);}
  40%{transform:translate3d(4px,-8px,0) rotate(2deg);}
  70%{transform:translate3d(-3px,-12px,0) rotate(9deg);}
}
@media (max-width:1100px){
  .party-experience-butterflies .butterfly-side{width:124px !important;}
  .party-experience-butterflies .butterfly-front{width:84px !important;}
}
@media (max-width:767px){
  .party-experience-butterflies .butterfly-side{width:96px !important;}
  .party-experience-butterflies .butterfly-front{width:66px !important;}
}
@media (max-width:560px){
  .party-experience-butterflies .butterfly-side{width:76px !important;}
  .party-experience-butterflies .butterfly-front{width:52px !important;}
}


/* v29 sharper hero badges + new butterfly duo */
.hero-reference-inner{position:relative !important;}
.hero-badges-overlay{position:absolute;left:3.2%;bottom:1.55%;width:min(48.2%, 760px);height:auto;z-index:4;pointer-events:none;display:block;}

.party-experience-butterflies{position:absolute !important;right:34px !important;bottom:18px !important;width:min(300px, 22vw) !important;height:auto !important;display:block !important;margin:0 !important;z-index:8 !important;pointer-events:none;}
.party-experience-butterflies .neon-butterfly-custom,.party-experience-butterflies svg{display:none !important;}
.party-butterfly-duo{display:block;width:100%;height:auto;filter:drop-shadow(0 0 10px rgba(105,229,255,.14)) drop-shadow(0 0 18px rgba(245,130,220,.10));animation:partyButterflyFloat 5.6s ease-in-out infinite;}

@keyframes partyButterflyFloat{
  0%{transform:translate3d(0,0,0) rotate(0deg);}
  50%{transform:translate3d(0,-8px,0) rotate(1.2deg);}
  100%{transform:translate3d(0,0,0) rotate(0deg);}
}

@media (max-width: 1200px){
  .hero-badges-overlay{left:3.5%;bottom:1.2%;width:min(50%, 640px);}
  .party-experience-butterflies{right:20px !important;bottom:12px !important;width:min(240px, 24vw) !important;}
}

@media (max-width: 900px){
  .hero-badges-overlay{left:4%;bottom:.8%;width:54%;}
  .party-experience-butterflies{right:14px !important;bottom:8px !important;width:180px !important;}
}

@media (max-width: 640px){
  .hero-badges-overlay{left:4.5%;bottom:.5%;width:58%;}
  .party-experience-butterflies{right:10px !important;bottom:-2px !important;width:150px !important;}
}


/* v30 hero button preserved + contour-free badges + new purple butterflies */
.hero-reference-inner{position:relative !important;overflow:hidden !important;}
.hero-badges-overlay{
  position:absolute !important;
  left:3.35% !important;
  bottom:2.15% !important;
  width:min(44.3%, 708px) !important;
  height:auto !important;
  z-index:3 !important;
  display:block !important;
  pointer-events:none !important;
  background:transparent !important;
}
.hero-reference-cta{z-index:7 !important;}

@media (max-width:1200px){
  .hero-badges-overlay{left:3.7% !important;bottom:1.6% !important;width:min(46%, 620px) !important;}
}
@media (max-width:900px){
  .hero-badges-overlay{left:4.1% !important;bottom:1.1% !important;width:50% !important;}
}
@media (max-width:640px){
  .hero-badges-overlay{left:4.4% !important;bottom:.5% !important;width:55.5% !important;}
}

.party-experience-butterflies{
  position:relative !important;
  inset:auto !important;
  width:min(285px, 22vw) !important;
  height:128px !important;
  margin:-8px 3.4% -26px auto !important;
  display:flex !important;
  align-items:flex-end !important;
  justify-content:flex-end !important;
  gap:8px !important;
  z-index:7 !important;
  pointer-events:none !important;
}
.party-butterfly-duo{display:none !important;}
.butterfly-v30{display:block;flex:0 0 auto;transform-origin:center bottom;filter:drop-shadow(0 0 7px rgba(175,82,255,.42)) drop-shadow(0 0 15px rgba(151,43,255,.28));will-change:transform;}
.butterfly-v30 svg{display:block;width:100%;height:auto;overflow:visible;}
.butterfly-v30--side{width:164px;animation:v30FloatSide 4.8s ease-in-out infinite;}
.butterfly-v30--front{width:102px;margin:0 0 5px -4px;animation:v30FloatFront 4.2s ease-in-out .35s infinite;}

.butterfly-v30 .wing-fill{fill:rgba(198,49,255,.38);stroke:#ffe8ff;stroke-width:4.6;stroke-linecap:round;stroke-linejoin:round;}
.butterfly-v30 .wing-fill.lower{fill:rgba(176,36,236,.35);}
.butterfly-v30 .wing-line,.butterfly-v30 .body-core,.butterfly-v30 .antenna-line{fill:none;stroke:#f9ebff;stroke-width:4.1;stroke-linecap:round;stroke-linejoin:round;}
.butterfly-v30 .wing-line{stroke-width:3.4;opacity:.96;}
.butterfly-v30 .antenna-line{stroke-width:3.1;opacity:.92;}

.butterfly-v30--front .front-wing{transform-box:fill-box;transform-origin:50% 68%;}
.butterfly-v30--front .front-wing--left{animation:v30FrontLeft .42s ease-in-out infinite alternate;}
.butterfly-v30--front .front-wing--right{animation:v30FrontRight .42s ease-in-out infinite alternate;}
.butterfly-v30--side .side-wing{transform-box:fill-box;transform-origin:76% 72%;}
.butterfly-v30--side .side-wing--upper{animation:v30SideUpper .5s ease-in-out infinite alternate;}
.butterfly-v30--side .side-wing--lower{animation:v30SideLower .5s ease-in-out infinite alternate;}

@keyframes v30FrontLeft{0%{transform:rotate(0deg) scaleX(1);}100%{transform:rotate(-14deg) scaleX(.9);}}
@keyframes v30FrontRight{0%{transform:rotate(0deg) scaleX(1);}100%{transform:rotate(14deg) scaleX(.9);}}
@keyframes v30SideUpper{0%{transform:rotate(0deg) scale(1);}100%{transform:rotate(-12deg) scale(.92,1.02);}}
@keyframes v30SideLower{0%{transform:rotate(0deg) scale(1);}100%{transform:rotate(8deg) scale(.95,1.02);}}
@keyframes v30FloatSide{0%,100%{transform:translate3d(0,0,0) rotate(-5deg);}50%{transform:translate3d(0,-8px,0) rotate(-2deg);}}
@keyframes v30FloatFront{0%,100%{transform:translate3d(0,0,0) rotate(5deg);}50%{transform:translate3d(0,-6px,0) rotate(2deg);}}

.party-note{margin-top:52px !important;}
@media (max-width:1100px){
  .party-experience-butterflies{width:min(240px,24vw) !important;height:108px !important;margin:-4px 2.5% -20px auto !important;}
  .butterfly-v30--side{width:136px;}
  .butterfly-v30--front{width:84px;}
  .party-note{margin-top:42px !important;}
}
@media (max-width:767px){
  .party-experience-butterflies{width:188px !important;height:84px !important;margin:4px 2% -12px auto !important;}
  .butterfly-v30--side{width:106px;}
  .butterfly-v30--front{width:66px;}
  .party-note{margin-top:34px !important;}
}
@media (max-width:560px){
  .party-experience-butterflies{width:150px !important;height:68px !important;margin:6px 0 -10px auto !important;}
  .butterfly-v30--side{width:84px;}
  .butterfly-v30--front{width:54px;}
  .party-note{margin-top:28px !important;}
}


/* v31 fix: remove hero overlap, keep CTA clickable, and force butterflies visible */
.hero-reference-inner{position:relative !important;overflow:hidden !important;}
.hero-badges-cover{
  position:absolute !important;
  left:2.8% !important;
  bottom:0.25% !important;
  width:43.8% !important;
  height:23.5% !important;
  background:rgba(247,247,246,.985) !important;
  border-radius:0 !important;
  z-index:2 !important;
  pointer-events:none !important;
}
.hero-badges-overlay{
  left:3.6% !important;
  bottom:2.1% !important;
  width:min(43.4%, 690px) !important;
  z-index:5 !important;
  pointer-events:none !important;
}
.hero-reference-cta{z-index:9 !important;}
@media (max-width:1200px){
  .hero-badges-cover{left:3.1% !important;width:45% !important;height:22.8% !important;}
  .hero-badges-overlay{left:3.8% !important;bottom:1.8% !important;width:min(45.2%, 620px) !important;}
}
@media (max-width:900px){
  .hero-badges-cover{left:3.4% !important;width:48% !important;height:22.2% !important;}
  .hero-badges-overlay{left:4.1% !important;bottom:1.2% !important;width:49.5% !important;}
}
@media (max-width:640px){
  .hero-badges-cover{left:3.7% !important;width:53% !important;height:21.8% !important;}
  .hero-badges-overlay{left:4.4% !important;bottom:.8% !important;width:55.2% !important;}
}

.party-experiences{overflow:visible !important;position:relative !important;}
.party-experience-butterflies{
  position:absolute !important;
  right:2.4% !important;
  bottom:44px !important;
  width:min(275px, 18vw) !important;
  height:126px !important;
  margin:0 !important;
  display:flex !important;
  align-items:flex-end !important;
  justify-content:flex-end !important;
  gap:8px !important;
  z-index:20 !important;
  pointer-events:none !important;
}
.party-experience-butterflies svg{display:block !important;overflow:visible !important;}
.butterfly-v30{display:block !important;opacity:1 !important;visibility:visible !important;}
.butterfly-v30 svg{display:block !important;width:100% !important;height:auto !important;overflow:visible !important;}
.butterfly-v30--side{width:160px !important;}
.butterfly-v30--front{width:96px !important;margin:0 0 3px -2px !important;}
.party-note{margin-top:24px !important;}
@media (max-width:1100px){
  .party-experience-butterflies{right:2.2% !important;bottom:34px !important;width:min(228px, 20vw) !important;height:102px !important;}
  .butterfly-v30--side{width:130px !important;}
  .butterfly-v30--front{width:78px !important;}
}
@media (max-width:767px){
  .party-experience-butterflies{right:1.8% !important;bottom:28px !important;width:176px !important;height:82px !important;}
  .butterfly-v30--side{width:100px !important;}
  .butterfly-v30--front{width:60px !important;}
}
@media (max-width:560px){
  .party-experience-butterflies{right:10px !important;bottom:20px !important;width:142px !important;height:64px !important;}
  .butterfly-v30--side{width:82px !important;}
  .butterfly-v30--front{width:50px !important;}
}


/* v32 — enquiry arrow closer + animated, bottom-right blob closer to reference */
.enquiry-blob{
  overflow:hidden !important;
  border-radius:42px 42px 0 0 / 34px 34px 0 0 !important;
}
.enquiry-intro{
  position:relative !important;
  padding:6px 0 10px 18px !important;
}
.form-arrow{
  display:block !important;
  position:absolute !important;
  left:clamp(230px, 36%, 365px) !important;
  right:auto !important;
  top:8px !important;
  width:112px !important;
  height:74px !important;
  transform:rotate(-2deg) !important;
  transform-origin:center !important;
  opacity:.98 !important;
  filter:drop-shadow(0 0 0 rgba(255,255,255,0));
  animation:enquireArrowFloat 2.8s ease-in-out infinite, enquireArrowPulse 2.8s ease-in-out infinite !important;
}
.form-arrow::before,
.form-arrow::after{content:none !important;}
@keyframes enquireArrowFloat{
  0%,100%{transform:translate3d(0,0,0) rotate(-2deg);}
  25%{transform:translate3d(-4px,-2px,0) rotate(-6deg);}
  55%{transform:translate3d(0,5px,0) rotate(1deg);}
  75%{transform:translate3d(3px,1px,0) rotate(-1deg);}
}
@keyframes enquireArrowPulse{
  0%,100%{filter:drop-shadow(0 0 0 rgba(255,255,255,0));}
  45%{filter:drop-shadow(0 0 8px rgba(255,255,255,.42));}
}

.enquiry-blob::after{
  right:-36px !important;
  bottom:-18px !important;
  width:248px !important;
  height:132px !important;
  background:#083b63 !important;
  border-radius:92px 0 0 0 / 74px 0 0 0 !important;
  transform:none !important;
  z-index:1 !important;
}
.blob-dots.right{
  right:28px !important;
  bottom:26px !important;
  width:82px !important;
  height:54px !important;
  background-image:repeating-linear-gradient(105deg, transparent 0 15px, rgba(255,211,73,.98) 15px 20px, transparent 20px 31px) !important;
  transform:rotate(9deg) !important;
  opacity:1 !important;
  z-index:3 !important;
}

.site-footer--refined .footer-balloons{
  right:6px !important;
  bottom:-8px !important;
}

@media (max-width:1100px){
  .form-arrow{left:clamp(220px, 42%, 310px) !important; top:10px !important; width:96px !important; height:66px !important;}
  .enquiry-blob::after{right:-28px !important; width:218px !important; height:116px !important;}
  .blob-dots.right{right:24px !important; bottom:22px !important; width:72px !important; height:46px !important;}
}
@media (max-width:900px){
  .form-arrow{display:none !important;}
}
@media (max-width:620px){
  .enquiry-blob{border-radius:28px 28px 0 0 / 24px 24px 0 0 !important;}
  .enquiry-blob::after{right:-22px !important; bottom:-14px !important; width:164px !important; height:92px !important;}
  .blob-dots.right{right:18px !important; bottom:18px !important; width:58px !important; height:38px !important;}
}


/* v33 — refine enquiry bottom-right hill to match reference + stronger footer socials */
.enquiry-blob{
  overflow:hidden !important;
}
.enquiry-blob::after{
  right:-54px !important;
  bottom:-8px !important;
  width:346px !important;
  height:164px !important;
  background:#0a3d69 !important;
  border-radius:180px 0 0 0 / 118px 0 0 0 !important;
  transform:none !important;
  z-index:1 !important;
  box-shadow:none !important;
}
.blob-dots.right{
  right:30px !important;
  bottom:34px !important;
  width:92px !important;
  height:62px !important;
  background-image:repeating-linear-gradient(107deg, transparent 0 14px, rgba(255,214,79,.99) 14px 20px, transparent 20px 30px) !important;
  background-size:100% 100% !important;
  transform:rotate(10deg) !important;
  opacity:1 !important;
  z-index:4 !important;
}

/* make the footer social icons bolder and cleaner */
.socials{
  gap:16px !important;
  margin-top:20px !important;
}
.socials a{
  width:56px !important;
  height:56px !important;
  border-radius:50% !important;
  background:#ff6f70 !important;
  box-shadow:0 6px 16px rgba(0,0,0,.14) !important;
}
.socials a svg{
  width:25px !important;
  height:25px !important;
  transform:scale(1.1) !important;
  transform-origin:center !important;
  shape-rendering:geometricPrecision !important;
}
.socials a[aria-label="Facebook"] svg path,
.socials a[aria-label="TikTok"] svg path{
  fill:#fff !important;
}
.socials a[aria-label="Instagram"] svg rect,
.socials a[aria-label="Instagram"] svg circle{
  stroke:#fff !important;
  stroke-width:2.6 !important;
}
.socials a:hover{
  transform:translateY(-1px) !important;
}

@media (max-width:1100px){
  .enquiry-blob::after{
    right:-40px !important;
    bottom:-6px !important;
    width:286px !important;
    height:140px !important;
    border-radius:150px 0 0 0 / 100px 0 0 0 !important;
  }
  .blob-dots.right{
    right:24px !important;
    bottom:28px !important;
    width:78px !important;
    height:54px !important;
  }
  .socials a{
    width:52px !important;
    height:52px !important;
  }
}
@media (max-width:620px){
  .enquiry-blob::after{
    right:-26px !important;
    bottom:-6px !important;
    width:190px !important;
    height:98px !important;
    border-radius:110px 0 0 0 / 72px 0 0 0 !important;
  }
  .blob-dots.right{
    right:18px !important;
    bottom:18px !important;
    width:56px !important;
    height:38px !important;
  }
  .socials a{
    width:50px !important;
    height:50px !important;
  }
  .socials a svg{
    width:23px !important;
    height:23px !important;
  }
}


/* v34 — remove white strip on the right side of the enquiry hill */
.enquiry-blob{
  overflow:hidden !important;
  position:relative !important;
}
.enquiry-blob::after{
  right:-88px !important;
  bottom:-10px !important;
  width:420px !important;
  height:176px !important;
  border-radius:220px 0 0 0 / 126px 0 0 0 !important;
}
.blob-dots.right{
  right:34px !important;
}
@media (max-width:1100px){
  .enquiry-blob::after{
    right:-64px !important;
    width:330px !important;
    height:150px !important;
    border-radius:180px 0 0 0 / 108px 0 0 0 !important;
  }
}
@media (max-width:620px){
  .enquiry-blob::after{
    right:-36px !important;
    width:220px !important;
    height:104px !important;
    border-radius:130px 0 0 0 / 78px 0 0 0 !important;
  }
}


/* v35 — real fix for the right white strip on the enquiry block */
.contact-section,
.contact-grid{
  overflow:visible !important;
}
.enquiry-blob{
  position:relative !important;
  justify-self:stretch !important;
  width:calc(100% + 56px) !important;
  margin-right:-56px !important;
  padding-right:74px !important;
}
.enquiry-blob::after{
  right:-18px !important;
  bottom:-10px !important;
  width:372px !important;
  height:170px !important;
  border-radius:190px 0 0 0 / 122px 0 0 0 !important;
}
.blob-dots.right{
  right:46px !important;
}

@media (max-width:1100px){
  .enquiry-blob{
    width:calc(100% + 44px) !important;
    margin-right:-44px !important;
    padding-right:58px !important;
  }
  .enquiry-blob::after{
    right:-16px !important;
    width:300px !important;
    height:148px !important;
    border-radius:165px 0 0 0 / 102px 0 0 0 !important;
  }
  .blob-dots.right{right:36px !important;}
}

@media (max-width:900px){
  .contact-section .section-wrap,
  .contact-grid{
    width:100vw !important;
    max-width:none !important;
  }
  .enquiry-blob{
    width:calc(100% + 30px) !important;
    margin-right:-30px !important;
    padding-right:38px !important;
  }
  .enquiry-blob::after{
    right:-12px !important;
    width:236px !important;
    height:124px !important;
    border-radius:132px 0 0 0 / 84px 0 0 0 !important;
  }
  .blob-dots.right{right:24px !important;}
}

@media (max-width:620px){
  .contact-section .section-wrap,
  .contact-grid{
    width:100vw !important;
    max-width:none !important;
    margin:0 !important;
  }
  .enquiry-blob{
    width:calc(100% + 26px) !important;
    margin-right:-26px !important;
    padding-right:34px !important;
  }
  .enquiry-blob::after{
    right:-10px !important;
    bottom:-8px !important;
    width:204px !important;
    height:108px !important;
    border-radius:118px 0 0 0 / 72px 0 0 0 !important;
  }
  .blob-dots.right{right:20px !important;}
}


/* v36 — make enquiry bottom-right hill exactly the same blue as footer */
.enquiry-blob::after{
  background:#083b73 !important;
}


/* v37 — match the main light background to the inserted image background tone */
:root{
  --paper:#f7f5f4 !important;
}
body,
.paper-section,
.party-experiences,
.highlights,
.contact-section,
.about-section,
.services-section,
.how-section,
.faq-block{
  background-color:#f7f5f4 !important;
}
.paper-section{
  background-image:linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)),url('assets/paper-texture.jpg') !important;
}

/* =========================================================
   V38 — dedicated mobile layout (does not alter desktop)
   ========================================================= */
.hero-mobile,
.bringhow-mobile{display:none;}

@media (max-width:767px){
  html,body{width:100%;max-width:100%;overflow-x:hidden !important;}
  body{background:#f7f5f4 !important;}
  main,section,footer{max-width:100vw !important;}
  img{max-width:100%;}

  /* Header: logo left, burger genuinely right */
  .site-header{
    min-height:92px !important;
    height:92px !important;
    position:sticky !important;
    top:0 !important;
    background:#062f53 !important;
  }
  .header-inner{
    width:100% !important;
    height:92px !important;
    min-height:92px !important;
    margin:0 !important;
    padding:8px 18px 7px 20px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:0 !important;
  }
  .brand--logo{width:auto !important;max-width:none !important;}
  .brand-logo-image{height:76px !important;width:auto !important;max-width:132px !important;object-fit:contain !important;}
  .header-cta{display:none !important;}
  .nav-toggle{
    display:flex !important;
    position:relative !important;
    inset:auto !important;
    margin:0 0 0 auto !important;
    width:50px !important;
    height:50px !important;
    flex:0 0 50px !important;
    align-items:center !important;
    justify-content:center !important;
    flex-direction:column !important;
    gap:6px !important;
    border:0 !important;
    background:transparent !important;
  }
  .nav-toggle span{display:block !important;width:30px !important;height:3px !important;border-radius:2px !important;background:#fff !important;}
  .main-nav{
    display:none !important;
    position:absolute !important;
    top:92px !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    padding:10px 22px 18px !important;
    background:#062f53 !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:0 !important;
    box-shadow:0 12px 24px rgba(0,0,0,.14) !important;
  }
  .main-nav.open{display:flex !important;}
  .main-nav a{width:100% !important;padding:11px 0 !important;font-size:18px !important;}

  /* Desktop hero off; mobile hero is built from real text + photo */
  .hero-reference{display:none !important;}
  .hero-mobile{
    display:block !important;
    background:#f7f5f4 !important;
    overflow:hidden !important;
    border-bottom:1px solid rgba(6,47,83,.05) !important;
  }
  .hero-mobile__copy{
    padding:30px 24px 24px !important;
    position:relative !important;
    background:#f7f5f4 !important;
  }
  .hero-mobile__eyebrow{
    color:#ff565d !important;
    font-family:Impact,'Arial Black','Arial Narrow',sans-serif !important;
    font-size:18px !important;
    line-height:1.12 !important;
    letter-spacing:.025em !important;
    margin:0 0 13px !important;
  }
  .hero-mobile h1{
    margin:0 !important;
    font-family:Impact,'Arial Black','Arial Narrow',sans-serif !important;
    font-size:clamp(52px,14vw,68px) !important;
    line-height:.87 !important;
    letter-spacing:.005em !important;
  }
  .hero-mobile h1 span,.hero-mobile h1 strong{display:block !important;font-weight:inherit !important;}
  .hero-mobile h1 span{color:#073b73 !important;}
  .hero-mobile h1 strong{color:#ff565d !important;margin-top:8px !important;}
  .hero-mobile__copy p{
    margin:20px 0 20px !important;
    max-width:360px !important;
    color:#173b5a !important;
    font-size:16px !important;
    line-height:1.45 !important;
    font-weight:600 !important;
  }
  .hero-mobile__cta{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:14px !important;
    min-height:52px !important;
    padding:12px 20px !important;
    background:#17afb2 !important;
    color:#fff !important;
    font-family:Impact,'Arial Black','Arial Narrow',sans-serif !important;
    font-size:17px !important;
    letter-spacing:.02em !important;
    border-radius:7px 12px 8px 10px !important;
    box-shadow:0 6px 0 rgba(5,118,127,.17) !important;
  }
  .hero-mobile__cta span{font-family:Arial,sans-serif !important;font-size:28px !important;line-height:1 !important;}
  .hero-mobile__photo{
    width:100% !important;
    height:390px !important;
    overflow:hidden !important;
    background:#13aeb4 !important;
  }
  .hero-mobile__photo img{
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    object-fit:cover !important;
    object-position:61% 48% !important;
    transform:scale(1.04) !important;
  }
  .hero-mobile__trust{
    padding:18px 15px 22px !important;
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:15px 10px !important;
    background:#f7f5f4 !important;
  }
  .mobile-trust-item{text-align:center !important;min-width:0 !important;}
  .mobile-trust-icon{
    width:58px !important;height:58px !important;margin:0 auto 7px !important;
    display:grid !important;place-items:center !important;border:2px solid #9be1e5 !important;border-radius:50% !important;
    color:#073b73 !important;background:#fff !important;
  }
  .mobile-trust-icon svg{width:38px !important;height:38px !important;fill:#073b73 !important;stroke:#fff !important;stroke-width:4 !important;stroke-linecap:round !important;stroke-linejoin:round !important;}
  .mobile-trust-icon svg text{fill:#fff !important;stroke:none !important;font-size:11px !important;font-weight:900 !important;font-family:Arial,sans-serif !important;}
  .mobile-trust-icon--uk{font-size:32px !important;line-height:1 !important;}
  .mobile-trust-item b{display:block !important;color:#073b73 !important;font-family:Impact,'Arial Black','Arial Narrow',sans-serif !important;font-size:14px !important;line-height:1.12 !important;letter-spacing:.01em !important;}

  /* Party experience section */
  .party-experiences{
    padding:58px 0 48px !important;
    overflow:hidden !important;
    background:#f7f5f4 !important;
  }
  .party-experiences__inner{width:100% !important;max-width:100% !important;padding:0 16px !important;margin:0 !important;}
  .party-experiences__eyebrow{font-size:13px !important;letter-spacing:.12em !important;margin-bottom:9px !important;}
  .party-experiences__heading-wrap{margin:0 auto 32px !important;padding:0 4px !important;width:100% !important;}
  .party-experiences__heading-wrap h2{
    font-size:clamp(48px,13vw,64px) !important;
    line-height:.9 !important;
    max-width:350px !important;
    margin:0 auto !important;
    text-align:center !important;
  }
  .party-experiences__heading-wrap .marker{width:82% !important;left:9% !important;bottom:-14px !important;}
  .party-grid{
    width:100% !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:24px !important;
    padding:12px 0 0 !important;
    margin:0 !important;
  }
  .party-experiences .party-card,
  .party-experiences .party-card--1,
  .party-experiences .party-card--2,
  .party-experiences .party-card--3,
  .party-experiences .party-card--4{
    width:min(100%,520px) !important;
    max-width:520px !important;
    height:auto !important;
    margin:0 auto !important;
    padding:0 !important;
    transform:none !important;
    overflow:visible !important;
  }
  .party-experiences .party-card img{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    margin:0 !important;
    transform:none !important;
    object-fit:contain !important;
  }
  .party-experience-butterflies{
    position:relative !important;
    inset:auto !important;
    width:150px !important;
    height:72px !important;
    margin:8px 4px -2px auto !important;
    right:auto !important;bottom:auto !important;
  }
  .butterfly-v30--side{width:84px !important;}
  .butterfly-v30--front{width:52px !important;}
  .party-note{margin:16px 0 0 !important;padding:0 5px !important;font-size:10px !important;gap:8px !important;white-space:nowrap !important;}

  /* Replace tiny desktop image with real mobile content */
  .bringhow-reference{padding:42px 16px 44px !important;background:#f7f5f4 !important;}
  .bringhow-reference-inner{width:100% !important;max-width:100% !important;margin:0 !important;padding:0 !important;}
  .bringhow-reference-image{display:none !important;}
  .bringhow-mobile{display:grid !important;gap:18px !important;width:100% !important;}
  .bring-mobile-card,.how-mobile-card{
    border-radius:25px !important;
    padding:25px 20px 24px !important;
    overflow:hidden !important;
    box-shadow:0 11px 24px rgba(5,47,83,.08) !important;
  }
  .bring-mobile-card{background:#073b73 !important;color:#fff !important;}
  .how-mobile-card{background:#ff5f66 !important;color:#fff !important;}
  .bringhow-mobile h2{
    margin:0 0 20px !important;
    color:#fff !important;
    font-family:Impact,'Arial Black','Arial Narrow',sans-serif !important;
    font-size:34px !important;
    line-height:1 !important;
    letter-spacing:.02em !important;
  }
  .bring-mobile-list{display:grid !important;grid-template-columns:1fr 1fr !important;gap:14px 12px !important;}
  .bring-mobile-list>div{display:grid !important;grid-template-columns:24px 1fr !important;gap:7px !important;align-items:start !important;font-size:13px !important;line-height:1.3 !important;font-weight:600 !important;}
  .bring-mobile-list span{width:22px !important;height:22px !important;display:grid !important;place-items:center !important;background:#18c5c8 !important;color:#fff !important;border-radius:50% !important;font-weight:900 !important;font-size:13px !important;}
  .how-mobile-grid{display:grid !important;grid-template-columns:1fr 1fr !important;gap:12px !important;}
  .how-mobile-step{position:relative !important;background:#fff !important;color:#073b73 !important;border-radius:18px !important;padding:26px 10px 14px !important;min-height:154px !important;text-align:center !important;}
  .how-mobile-step i{position:absolute !important;top:-8px !important;left:10px !important;width:34px !important;height:34px !important;display:grid !important;place-items:center !important;background:#18bfc3 !important;color:#fff !important;border-radius:50% !important;font-style:normal !important;font-family:Impact,'Arial Black',sans-serif !important;font-size:18px !important;}
  .how-mobile-step b{display:block !important;margin:9px 0 8px !important;font-family:Impact,'Arial Black','Arial Narrow',sans-serif !important;font-size:20px !important;line-height:1 !important;}
  .how-mobile-step p{margin:0 !important;font-size:11.5px !important;line-height:1.35 !important;color:#38556d !important;}

  /* Highlights: clean 2-column mobile grid */
  .highlights{padding:42px 16px 44px !important;background:#f7f5f4 !important;overflow:hidden !important;}
  .highlights .section-wrap{width:100% !important;max-width:100% !important;margin:0 !important;padding:0 !important;}
  .highlights .section-heading.compact{margin-bottom:25px !important;}
  .highlights .section-heading.compact h2{font-size:43px !important;line-height:.95 !important;}
  .highlight-strip{display:grid !important;grid-template-columns:1fr 1fr !important;gap:15px !important;width:100% !important;margin:0 !important;overflow:visible !important;}
  .highlight-strip figure{width:100% !important;min-width:0 !important;margin:0 !important;transform:none !important;}
  .highlight-strip figure img{width:100% !important;height:auto !important;aspect-ratio:1.18/1 !important;object-fit:cover !important;}

  /* Form and FAQ: no overflow, tighter and ordered */
  .contact-section{padding:0 !important;background:#f7f5f4 !important;overflow:hidden !important;}
  .contact-section .section-wrap,.contact-grid{
    width:100% !important;max-width:100% !important;margin:0 !important;padding:0 !important;
    display:flex !important;flex-direction:column !important;gap:0 !important;overflow:hidden !important;
  }
  .enquiry-blob{
    order:1 !important;width:100% !important;max-width:100% !important;margin:0 !important;
    padding:30px 16px 30px !important;border-radius:28px 28px 0 0 !important;min-height:0 !important;
    overflow:hidden !important;background:linear-gradient(145deg,#2fd4d5,#16b9bc) !important;
  }
  .enquiry-intro{padding:0 8px 15px !important;}
  .enquiry-blob h2{font-size:48px !important;line-height:.95 !important;}
  .enquiry-intro p{margin-top:10px !important;font-size:15px !important;line-height:1.4 !important;max-width:320px !important;}
  .form-arrow{display:none !important;}
  .enquiry-form{
    width:100% !important;max-width:100% !important;margin:0 !important;padding:0 !important;
    display:grid !important;grid-template-columns:1fr !important;gap:11px !important;
  }
  .enquiry-form label,.enquiry-form label.wide{
    grid-column:1 !important;width:100% !important;min-height:62px !important;padding:9px 15px !important;border-radius:15px !important;
  }
  .enquiry-form .field-message{min-height:92px !important;}
  .enquiry-form input,.enquiry-form textarea,.enquiry-form select{font-size:15px !important;font-weight:700 !important;min-height:42px !important;}
  .submit-btn{
    grid-column:1 !important;width:100% !important;max-width:100% !important;min-width:0 !important;min-height:62px !important;
    margin:5px 0 0 !important;font-size:20px !important;border-radius:16px !important;clip-path:none !important;
  }
  .enquiry-blob::after{right:-36px !important;bottom:-10px !important;width:190px !important;height:92px !important;}
  .blob-dots.right{right:16px !important;bottom:16px !important;width:54px !important;height:34px !important;}
  .faq-block{
    order:2 !important;width:100% !important;max-width:100% !important;margin:0 !important;padding:38px 16px 34px !important;background:#f7f5f4 !important;
  }
  .faq-block .section-heading.compact h2{font-size:48px !important;}
  .faq-list{display:grid !important;gap:12px !important;}
  .faq-list details{border-radius:16px !important;}
  .faq-list summary{min-height:72px !important;padding:13px 14px !important;grid-template-columns:42px 1fr 28px !important;gap:9px !important;font-size:13px !important;}
  .faq-list details p{padding:0 18px 17px 64px !important;font-size:13px !important;line-height:1.45 !important;}

  /* Compact, actually mobile footer */
  .site-footer.site-footer--refined{
    padding:28px 18px 16px !important;margin:0 !important;background:#083b73 !important;overflow:hidden !important;
  }
  .site-footer--refined .footer-inner{
    width:100% !important;max-width:100% !important;margin:0 !important;padding:0 !important;
    display:grid !important;grid-template-columns:1fr 1fr !important;gap:26px 20px !important;align-items:start !important;
  }
  .footer-brand-col{grid-column:1/-1 !important;display:grid !important;grid-template-columns:105px 1fr !important;column-gap:18px !important;align-items:center !important;}
  .site-footer--refined .footer-brand--logo{max-width:105px !important;width:105px !important;}
  .site-footer--refined .footer-logo-image{height:auto !important;width:105px !important;max-width:105px !important;}
  .site-footer--refined .footer-brand-col p{margin:0 !important;max-width:none !important;font-size:13px !important;line-height:1.35 !important;}
  .site-footer--refined .socials{grid-column:1/-1 !important;margin:3px 0 0 !important;gap:10px !important;}
  .site-footer--refined .socials a{width:42px !important;height:42px !important;box-shadow:none !important;}
  .site-footer--refined .socials a svg{width:19px !important;height:19px !important;transform:none !important;}
  .site-footer--refined .footer-col{font-size:13px !important;min-width:0 !important;}
  .site-footer--refined .footer-col h3{font-size:21px !important;margin:0 0 12px !important;}
  .site-footer--refined .footer-links-col a{font-size:13px !important;margin:0 0 7px !important;}
  .site-footer--refined .service-intro{font-size:12px !important;line-height:1.35 !important;margin-bottom:8px !important;}
  .site-footer--refined .service-list{gap:5px !important;}
  .site-footer--refined .service-row{font-size:11.5px !important;line-height:1.3 !important;gap:5px !important;}
  .site-footer--refined .service-row svg{width:14px !important;height:14px !important;flex:0 0 14px !important;}
  .site-footer--refined .get-in-touch{
    grid-column:1/-1 !important;padding:2px 92px 0 0 !important;min-height:128px !important;position:relative !important;
  }
  .site-footer--refined .contact-list{display:grid !important;gap:8px !important;}
  .site-footer--refined .contact-line-hq{font-size:12px !important;gap:8px !important;margin:0 !important;min-width:0 !important;}
  .site-footer--refined .contact-line-hq svg{width:18px !important;height:18px !important;flex:0 0 18px !important;}
  .site-footer--refined .contact-line-hq span{font-size:12px !important;line-height:1.3 !important;overflow-wrap:anywhere !important;}
  .site-footer--refined .footer-balloons{width:86px !important;height:120px !important;right:-2px !important;bottom:0 !important;}
  .site-footer--refined .footer-bottom{
    width:100% !important;max-width:100% !important;margin:20px 0 0 !important;padding:13px 0 0 !important;
    display:flex !important;flex-wrap:wrap !important;justify-content:space-between !important;gap:7px 14px !important;
    font-size:10.5px !important;line-height:1.3 !important;
  }
  .site-footer--refined .footer-bottom span,.site-footer--refined .footer-bottom a{font-size:10.5px !important;}
}

@media (max-width:390px){
  .hero-mobile h1{font-size:50px !important;}
  .hero-mobile__photo{height:355px !important;}
  .party-experiences__heading-wrap h2{font-size:46px !important;}
  .bring-mobile-list{grid-template-columns:1fr !important;}
  .how-mobile-step{min-height:146px !important;}
  .footer-brand-col{grid-template-columns:88px 1fr !important;column-gap:12px !important;}
  .site-footer--refined .footer-brand--logo,.site-footer--refined .footer-logo-image{width:88px !important;max-width:88px !important;}
}

/* v39 mobile polish: hero cleanup + one-line trust icons + irregular bring/how cards */
@media (max-width:767px){
  .hero-mobile__copy{
    padding:26px 24px 18px !important;
  }
  .hero-mobile__copy p{
    margin:18px 0 18px !important;
  }
  .hero-mobile__cta{
    min-height:56px !important;
    padding:14px 22px !important;
    border-radius:14px !important;
    gap:16px !important;
    justify-content:space-between !important;
    box-shadow:0 7px 0 rgba(7,59,115,.13) !important;
    font-size:16px !important;
    line-height:1 !important;
  }
  .hero-mobile__photo{
    height:455px !important;
    background:#19b7bb !important;
  }
  .hero-mobile__photo img{
    object-position:52% 47% !important;
    transform:scale(1.18) !important;
  }
  .hero-mobile__trust{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:14px 8px !important;
    padding:18px 10px 22px !important;
  }
  .mobile-trust-icon{
    width:48px !important;
    height:48px !important;
    margin:0 auto 8px !important;
  }
  .mobile-trust-icon svg{width:31px !important;height:31px !important;}
  .mobile-trust-icon--uk{font-size:27px !important;}
  .mobile-trust-item b{
    font-size:11px !important;
    line-height:1.08 !important;
    letter-spacing:.015em !important;
  }

  .bringhow-mobile{
    gap:24px !important;
  }
  .bring-mobile-card,.how-mobile-card{
    padding:26px 18px 24px !important;
    border-radius:54px 38px 58px 42px / 28px 40px 34px 50px !important;
    box-shadow:0 12px 22px rgba(5,47,83,.10) !important;
    transform:rotate(-.4deg) !important;
    position:relative !important;
  }
  .how-mobile-card{
    border-radius:42px 56px 48px 60px / 36px 30px 52px 40px !important;
    transform:rotate(.35deg) !important;
  }
  .bring-mobile-card::after,
  .how-mobile-card::after{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    pointer-events:none !important;
    border-radius:inherit !important;
    background-image:radial-gradient(rgba(255,255,255,.16) .9px, transparent 1px) !important;
    background-size:10px 10px !important;
    opacity:.18 !important;
  }
  .bringhow-mobile h2{
    margin:0 0 18px !important;
    font-size:32px !important;
    position:relative !important;
    z-index:1 !important;
  }
  .bring-mobile-list,
  .how-mobile-grid{
    position:relative !important;
    z-index:1 !important;
  }
  .bring-mobile-list{
    gap:15px 12px !important;
  }
  .bring-mobile-list>div{
    font-size:13.5px !important;
    line-height:1.26 !important;
  }
  .how-mobile-step{
    border-radius:28px 30px 26px 24px !important;
    min-height:164px !important;
    padding:28px 10px 14px !important;
  }
  .how-mobile-step b{font-size:19px !important;}
  .how-mobile-step p{font-size:11.5px !important;line-height:1.32 !important;}
}

@media (max-width:390px){
  .hero-mobile__photo{
    height:420px !important;
  }
  .hero-mobile__photo img{
    object-position:52% 47% !important;
    transform:scale(1.2) !important;
  }
  .hero-mobile__trust{
    gap:12px 6px !important;
    padding:16px 8px 20px !important;
  }
  .mobile-trust-icon{
    width:44px !important;
    height:44px !important;
  }
  .mobile-trust-icon svg{width:28px !important;height:28px !important;}
  .mobile-trust-icon--uk{font-size:24px !important;}
  .mobile-trust-item b{
    font-size:10px !important;
  }
  .bring-mobile-list{grid-template-columns:1fr !important;}
}
