/* Park Lane Orthodontics - Back to school children's offer landing page.
   Upper sections: header, hero + enquiry form, USP strip, reviews,
   photo break, the £1,130 savings package, and the parent-worries block.
   Layout/spacing classes are inherited from the signed-off template;
   only the copy and brand treatment change. */
(function () {
  const { useState, useEffect, useRef } = React;
  const { Btn, Stars, useScrolled, useParallax } = window;
  const Icon = window.Icon;

  /* Shared section header (same markup as the signed-off template) */
  const SHead = ({ eyebrow, title, sub, center, onDark }) =>
    React.createElement("div", { className: "shead" + (center ? " shead--center" : "") },
      eyebrow && React.createElement("span", { className: "eyebrow" + (onDark ? " on-dark" : "") }, eyebrow),
      React.createElement("h2", { className: "h2" }, title),
      sub && React.createElement("p", { className: "lead" }, sub));

  /* Official Google "G" mark - review credibility */
  const GoogleG = ({ size = 18 }) => React.createElement("svg", {
    viewBox: "0 0 48 48", width: size, height: size, "aria-hidden": "true", style: { flex: "none", display: "block" },
    dangerouslySetInnerHTML: { __html:
      '<path fill="#4285F4" d="M45.12 24.5c0-1.56-.14-3.06-.4-4.5H24v8.51h11.84c-.51 2.75-2.06 5.08-4.39 6.64v5.52h7.11c4.16-3.83 6.56-9.47 6.56-16.17z"/>' +
      '<path fill="#34A853" d="M24 46c5.94 0 10.92-1.97 14.56-5.33l-7.11-5.52c-1.97 1.32-4.49 2.1-7.45 2.1-5.73 0-10.58-3.87-12.31-9.07H4.34v5.7C7.96 41.07 15.4 46 24 46z"/>' +
      '<path fill="#FBBC05" d="M11.69 28.18c-.44-1.32-.69-2.73-.69-4.18s.25-2.86.69-4.18v-5.7H4.34A21.99 21.99 0 0 0 2 24c0 3.55.85 6.91 2.34 9.88l7.35-5.7z"/>' +
      '<path fill="#EA4335" d="M24 10.75c3.23 0 6.13 1.11 8.41 3.29l6.31-6.31C34.91 4.18 29.93 2 24 2 15.4 2 7.96 6.93 4.34 14.12l7.35 5.7c1.73-5.2 6.58-9.07 12.31-9.07z"/>'
    },
  });

  const PLHeader = ({ cfg }) => {
    const scrolled = useScrolled(40);
    const nav = [["The offer", "#package"], ["Our specialists", "#specialists"], ["Why us", "#benefits"], ["Treatments", "#treatments"], ["FAQs", "#faq"]];
    return React.createElement("header", { className: "site-header header-dark" + (scrolled ? " is-stuck" : "") },
      React.createElement("div", { className: "site-header__row" },
        React.createElement("a", { className: "brand", href: "#top", "aria-label": cfg.practice },
          React.createElement("img", { src: "assets/pl-logo-horizontal.jpg", alt: cfg.practice })),
        React.createElement("nav", { className: "site-nav" }, nav.map(([l, h], i) => React.createElement("a", { key: i, href: h }, l))),
        React.createElement("div", { className: "site-header__cta" },
          React.createElement("a", { className: "header-phone", href: "tel:" + cfg.tel },
            React.createElement(Icon, { name: "phone" }), React.createElement("span", null, cfg.phone)),
          React.createElement("a", { className: "header-callbtn", href: "tel:" + cfg.tel, "aria-label": "Call us on " + cfg.phone },
            React.createElement(Icon, { name: "phone" })),
          React.createElement(Btn, { variant: "teal", href: "#book" },
            React.createElement("span", { className: "lbl-long" }, "Book their consultation"),
            React.createElement("span", { className: "lbl-short" }, "Book")))),
    );
  };

  /* First-touch UTM capture for the form's hidden utm_* fields below.
     Cached in sessionStorage so a later page (e.g. after an internal link
     click) keeps attributing to the campaign that actually brought the visitor in. */
  const UTM_KEYS = ["utm_source", "utm_medium", "utm_campaign", "utm_term", "utm_content"];
  const UTM_PREFIX = "utm.";

  const captureUtmParams = () => {
    const params = new URLSearchParams(window.location.search);
    UTM_KEYS.forEach((k) => {
      const val = params.get(k);
      if (val && !sessionStorage.getItem(UTM_PREFIX + k)) sessionStorage.setItem(UTM_PREFIX + k, val);
    });
  };

  const populateUtmFields = (root) => {
    UTM_KEYS.forEach((k) => {
      const val = sessionStorage.getItem(UTM_PREFIX + k);
      if (!val) return;
      root.querySelectorAll(`[data-name="${k}"]`).forEach((field) => {
        field.value = val;
        field.setAttribute("value", val);
      });
    });
  };

  /* Real ActiveCampaign CRM form (u=6A67637C841C4, f=31). Static markup only -
     the <script> tags from the AC embed can't run via dangerouslySetInnerHTML,
     so they're recreated in PLForm's useEffect below. */
  const AC_FORM_31_HTML = `
<div class="_form_31"><style>@import url(https://fonts.bunny.net/css?family=inter:400|outfit:400,700);</style><style>
#_form_6A67637C841C4_{font-size:14px;line-height:1.6;font-family:arial, helvetica, sans-serif;margin:0;box-shadow:none}._form_hide{display:none;visibility:hidden}._form_show{display:block;visibility:visible}#_form_6A67637C841C4_._form-top{top:0}#_form_6A67637C841C4_._form-bottom{bottom:0}#_form_6A67637C841C4_._form-left{left:0}#_form_6A67637C841C4_._form-right{right:0}#_form_6A67637C841C4_ input[type="text"],#_form_6A67637C841C4_ input[type="tel"],#_form_6A67637C841C4_ input[type="date"],#_form_6A67637C841C4_ textarea{padding:8px;height:auto;border:#979797 1px solid;border-radius:4px;color:#000 !important;font-size:14px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#_form_6A67637C841C4_ textarea{resize:none}#_form_6A67637C841C4_ input::placeholder{color:#142341}#_form_6A67637C841C4_ ._submit{cursor:pointer;font-family:arial, sans-serif;font-size:14px;text-align:center;background:#916f45 !important;border:0 !important;-moz-border-radius:38px !important;-webkit-border-radius:38px !important;border-radius:38px !important;color:#ffffff !important;padding:16px !important}#_form_6A67637C841C4_ ._submit:disabled{cursor:not-allowed;opacity:0.4}#_form_6A67637C841C4_ ._submit.processing{position:relative}#_form_6A67637C841C4_ ._submit.processing::before{content:"";width:1em;height:1em;position:absolute;z-index:1;top:50%;left:50%;border:double 3px transparent;border-radius:50%;background-image:linear-gradient(#916f45, #916f45), conic-gradient(#916f45, #ffffff);background-origin:border-box;background-clip:content-box, border-box;animation:1200ms ease 0s infinite normal none running _spin}#_form_6A67637C841C4_ ._submit.processing::after{content:"";position:absolute;top:0;bottom:0;left:0;right:0}@keyframes _spin{0%{transform:translate(-50%, -50%) rotate(90deg)}100%{transform:translate(-50%, -50%) rotate(450deg)}}#_form_6A67637C841C4_ ._close-icon{cursor:pointer;background-image:url("https://d226aj4ao1t61q.cloudfront.net/esfkyjh1u_forms-close-dark.png");background-repeat:no-repeat;background-size:14.2px 14.2px;position:absolute;display:block;top:11px;right:9px;overflow:hidden;width:16.2px;height:16.2px}#_form_6A67637C841C4_ ._close-icon:before{position:relative}#_form_6A67637C841C4_ ._form-body{font-family:Inter;font-size:13px;font-weight:400;color:#333;margin-bottom:30px}#_form_6A67637C841C4_ ._form-image-left{width:150px;float:left}#_form_6A67637C841C4_ ._form-content-right{margin-left:164px}#_form_6A67637C841C4_ ._form-branding{color:#fff;font-size:10px;clear:both;text-align:left;margin-top:30px;font-weight:100}#_form_6A67637C841C4_ ._form-branding ._logo{display:block;width:130px;height:14px;margin-top:6px;background-image:url("https://d226aj4ao1t61q.cloudfront.net/hh9ujqgv5_aclogo_li.png");background-size:130px auto;background-repeat:no-repeat}#_form_6A67637C841C4_ .form-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}#_form_6A67637C841C4_ ._form-label,#_form_6A67637C841C4_ ._form_element ._form-label{font-weight:bold;margin-bottom:5px;display:block}#_form_6A67637C841C4_._dark ._form-branding{color:#333}#_form_6A67637C841C4_._dark ._form-branding ._logo{background-image:url("https://d226aj4ao1t61q.cloudfront.net/jftq2c8s_aclogo_dk.png")}#_form_6A67637C841C4_ ._form_element{position:relative;margin-bottom:10px;max-width:100%}#_form_6A67637C841C4_ ._form_element *{font-size:14px}#_form_6A67637C841C4_ ._form_element._clear{clear:both;width:100%;float:none}#_form_6A67637C841C4_ ._form_element._clear:after{clear:left}#_form_6A67637C841C4_ ._form_element :is(textarea, select, input[type="text"], input[type="date"], input[type="phone"], input[type="email"]),#_form_6A67637C841C4_ ._form-element :is(textarea, select, input[type="text"], input[type="date"], input[type="phone"], input[type="email"]){background:white;color:#142341 !important;border-top:1px solid #cccccc;border-left:1px solid #cccccc;border-right:1px solid #cccccc;border-bottom:1px solid #cccccc;border-radius:0px}#_form_6A67637C841C4_ ._form_element input[type="text"],#_form_6A67637C841C4_ ._form_element input[type="date"],#_form_6A67637C841C4_ ._form_element select,#_form_6A67637C841C4_ ._form_element textarea:not(.g-recaptcha-response){display:block;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;font-family:inherit}#_form_6A67637C841C4_ ._field-wrapper{position:relative}#_form_6A67637C841C4_ ._inline-style{float:left}#_form_6A67637C841C4_ ._inline-style input[type="text"]{width:150px}#_form_6A67637C841C4_ ._inline-style:not(._clear){margin-right:20px}#_form_6A67637C841C4_ ._form_element img._form-image{max-width:100%}#_form_6A67637C841C4_ ._form_element ._form-fieldset{border:0;padding:0.01em 0 0 0;margin:0;min-width:0}#_form_6A67637C841C4_ ._clear-element{clear:left}#_form_6A67637C841C4_ ._full_width{width:100%}#_form_6A67637C841C4_ ._form_full_field{display:block;width:100%;margin-bottom:10px}#_form_6A67637C841C4_ input[type="text"]._has_error,#_form_6A67637C841C4_ textarea._has_error{border:#F37C7B 1px solid}#_form_6A67637C841C4_ input[type="checkbox"]._has_error{outline:#F37C7B 1px solid}#_form_6A67637C841C4_ ._show_be_error{float:left}#_form_6A67637C841C4_ ._error{display:block;position:absolute;font-size:14px;z-index:10000001}#_form_6A67637C841C4_ ._error._above{padding-bottom:4px;bottom:39px;right:0}#_form_6A67637C841C4_ ._error._below{padding-top:8px;top:100%;right:0}#_form_6A67637C841C4_ ._error._above ._error-arrow{bottom:-4px;right:15px;border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid #FFDDDD}#_form_6A67637C841C4_ ._error._below ._error-arrow{top:0;right:15px;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:8px solid #FFDDDD}#_form_6A67637C841C4_ ._error-inner{padding:12px 12px 12px 36px;background-color:#FFDDDD;background-image:url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M16 8C16 12.4183 12.4183 16 8 16C3.58172 16 0 12.4183 0 8C0 3.58172 3.58172 0 8 0C12.4183 0 16 3.58172 16 8ZM9 3V9H7V3H9ZM9 13V11H7V13H9Z' fill='%23CA0000'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:12px center;font-size:14px;font-family:arial, sans-serif;font-weight:600;line-height:16px;color:#000;text-align:center;text-decoration:none;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;box-shadow:0 1px 4px rgba(31, 33, 41, 0.298295)}@media only screen and (max-width:319px){#_form_6A67637C841C4_ ._error-inner{padding:7px 7px 7px 25px;font-size:12px;line-height:12px;background-position:4px center;max-width:100px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}#_form_6A67637C841C4_ ._error-inner._form_error{margin-bottom:5px;text-align:left}#_form_6A67637C841C4_ ._button-wrapper ._error-inner._form_error{position:static}#_form_6A67637C841C4_ ._error-inner._no_arrow{margin-bottom:10px}#_form_6A67637C841C4_ ._error-arrow{position:absolute;width:0;height:0}#_form_6A67637C841C4_ ._error-html{margin-bottom:10px}.pika-single{z-index:10000001 !important}#_form_6A67637C841C4_ input[type="text"].datetime_date{width:69%;display:inline}#_form_6A67637C841C4_ select.datetime_time{width:29%;display:inline;height:32px}#_form_6A67637C841C4_ input[type="date"].datetime_date{width:69%;display:inline-flex}#_form_6A67637C841C4_ input[type="time"].datetime_time{width:29%;display:inline-flex}#_form_6A67637C841C4_ ._form-title,#_form_6A67637C841C4_ ._html-code :is(h1, h2, h3, h4, h5, h6){font-family:Inter;font-size:22px;font-weight:400;color:#333}@media (min-width:320px) and (max-width:667px){::-webkit-scrollbar{display:none}#_form_6A67637C841C4_{margin:0;width:100%;min-width:100%;max-width:100%;box-sizing:border-box}#_form_6A67637C841C4_ *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;font-size:1em}#_form_6A67637C841C4_ ._form-content{margin:0;width:100%}#_form_6A67637C841C4_ ._form-inner{display:block;min-width:100%}#_form_6A67637C841C4_ ._form-title,#_form_6A67637C841C4_ ._inline-style{margin-top:0;margin-right:0;margin-left:0}#_form_6A67637C841C4_ ._form-title{font-size:1.2em}#_form_6A67637C841C4_ ._form_element{margin:0 0 20px;padding:0;width:100%}#_form_6A67637C841C4_ ._form-element,#_form_6A67637C841C4_ ._inline-style,#_form_6A67637C841C4_ input[type="text"],#_form_6A67637C841C4_ label,#_form_6A67637C841C4_ p,#_form_6A67637C841C4_ textarea:not(.g-recaptcha-response){float:none;display:block;width:100%}#_form_6A67637C841C4_ ._row._checkbox-radio label{display:inline}#_form_6A67637C841C4_ ._row,#_form_6A67637C841C4_ p,#_form_6A67637C841C4_ label{margin-bottom:0.7em;width:100%}#_form_6A67637C841C4_ ._row input[type="checkbox"],#_form_6A67637C841C4_ ._row input[type="radio"]{margin:0 !important;vertical-align:middle !important}#_form_6A67637C841C4_ ._row input[type="checkbox"]+span label{display:inline}#_form_6A67637C841C4_ ._row span label{margin:0 !important;width:initial !important;vertical-align:middle !important}#_form_6A67637C841C4_ ._form-image{max-width:100%;height:auto !important}#_form_6A67637C841C4_ input[type="text"]{padding-left:10px;padding-right:10px;font-size:16px;line-height:1.3em}#_form_6A67637C841C4_ input[type="radio"],#_form_6A67637C841C4_ input[type="checkbox"]{display:inline-block;width:1.3em;height:1.3em;font-size:1em;margin:0 0.3em 0 0;vertical-align:baseline}#_form_6A67637C841C4_ button[type="submit"]{padding:20px;font-size:1.5em}#_form_6A67637C841C4_ ._inline-style{margin:20px 0 0 !important}#_form_6A67637C841C4_ ._inline-style input[type="text"]{width:100%}}#_form_6A67637C841C4_ .sms_consent_checkbox{position:relative;width:100%;display:flex;align-items:flex-start;padding:20px 0}#_form_6A67637C841C4_ .sms_consent_checkbox input[type="checkbox"]{float:left;margin:5px 10px 10px 0}#_form_6A67637C841C4_ .sms_consent_checkbox .sms_consent_message{display:inline;float:left;text-align:left;margin-bottom:10px;font-size:14px;color:#7D8799}#_form_6A67637C841C4_ .sms_consent_checkbox .sms_consent_message.sms_consent_mini{width:90%}#_form_6A67637C841C4_ .sms_consent_checkbox ._error._above{right:auto;bottom:0}#_form_6A67637C841C4_ .sms_consent_checkbox ._error._above ._error-arrow{right:auto;left:5px}@media (min-width:320px) and (max-width:667px){#_form_6A67637C841C4_ .sms_consent_checkbox ._error._above{top:-30px;left:0;bottom:auto}}#_form_6A67637C841C4_ .field-required{color:#FF0000}#_form_6A67637C841C4_{position:relative;text-align:left;margin:25px auto 0;padding:20px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;background:white !important;border-top:0px solid #b0b0b0 !important;border-right:0px solid #b0b0b0 !important;border-bottom:0px solid #b0b0b0 !important;border-left:0px solid #b0b0b0 !important;max-width:800px;-moz-border-radius:0px !important;-webkit-border-radius:0px !important;border-radius:0px !important;color:#EDEDED}#_form_6A67637C841C4_ ._show_be_error{min-width:100%}#_form_6A67637C841C4_._inline-form,#_form_6A67637C841C4_._inline-form ._form-content{font-family:Inter;font-size:13px;font-weight:400}#_form_6A67637C841C4_._inline-form ._row span:not(.field-required),#_form_6A67637C841C4_._inline-form ._row label{font-family:Inter;font-size:14px;font-weight:400;line-height:1.6em;color:#333}#_form_6A67637C841C4__inlineform input[type="text"],#_form_6A67637C841C4__inlineform input[type="date"],#_form_6A67637C841C4__inlineform input[type="tel"],#_form_6A67637C841C4__inlineform select,#_form_6A67637C841C4__inlineform textarea:not(.g-recaptcha-response){font-family:Inter;font-size:14px;font-weight:400;font-color:#000000;line-height:1.6em}#_form_6A67637C841C4_._inline-form ._html-code,#_form_6A67637C841C4_._inline-form .sms_consent_message,#_form_6A67637C841C4_._inline-form ._form-thank-you{font-family:Inter;font-size:13px;font-weight:400;color:#333}#_form_6A67637C841C4_._inline-form ._form-label,#_form_6A67637C841C4_._inline-form ._form-emailidentifier,#_form_6A67637C841C4_._inline-form ._form-checkbox-option-label{font-family:Inter;font-size:14px;font-weight:700;line-height:1.6em;color:#333}#_form_6A67637C841C4_._inline-form ._submit{margin-top:12px;font-family:Inter;font-size:14px;font-weight:400}#_form_6A67637C841C4_._inline-form ._html-code h1,#_form_6A67637C841C4_._inline-form ._html-code h2,#_form_6A67637C841C4_._inline-form ._html-code h3,#_form_6A67637C841C4_._inline-form ._html-code h4,#_form_6A67637C841C4_._inline-form ._html-code h5,#_form_6A67637C841C4_._inline-form ._html-code h6,#_form_6A67637C841C4_._inline-form ._form-title{margin-bottom:0;display:block}#_form_6A67637C841C4_._inline-form ._form-branding{font-family:"IBM Plex Sans", Helvetica, sans-serif;font-size:13px;font-weight:100;font-style:normal;text-decoration:none}#_form_6A67637C841C4_:before,#_form_6A67637C841C4_:after{content:" ";display:table}#_form_6A67637C841C4_:after{clear:both}#_form_6A67637C841C4_._inline-style{width:auto;display:inline-block}#_form_6A67637C841C4_._inline-style input[type="text"],#_form_6A67637C841C4_._inline-style input[type="date"]{padding:10px 12px}#_form_6A67637C841C4_._inline-style button._inline-style{position:relative;top:27px}#_form_6A67637C841C4_._inline-style p{margin:0}#_form_6A67637C841C4_._inline-style ._button-wrapper{position:relative;margin:16px 12.5px 0 20px}#_form_6A67637C841C4_._inline-style ._button-wrapper:not(._clear){margin-left:0}#_form_6A67637C841C4_ ._form-thank-you{position:relative;left:0;right:0;text-align:center;font-size:18px}#_form_6A67637C841C4_ ._form-pc-confirmation ._submit{margin-top:16px}@media (min-width:320px) and (max-width:667px){#_form_6A67637C841C4_._inline-form._inline-style ._inline-style._button-wrapper{margin-top:20px !important;margin-left:0 !important}}#_form_6A67637C841C4_ .iti{width:100%}#_form_6A67637C841C4_ .iti.iti--allow-dropdown.iti--separate-dial-code{width:100%}#_form_6A67637C841C4_ .iti input{width:100%;border:#979797 1px solid;border-radius:4px}#_form_6A67637C841C4_ .iti--separate-dial-code .iti__selected-flag{background-color:#FFFFFF;border-radius:4px}#_form_6A67637C841C4_ .iti--separate-dial-code .iti__selected-flag:hover{background-color:rgba(0, 0, 0, 0.05)}#_form_6A67637C841C4_ .iti__country-list{border-radius:4px;margin-top:4px;min-width:460px}#_form_6A67637C841C4_ .iti__country-list--dropup{margin-bottom:4px}#_form_6A67637C841C4_ .phone-error-hidden{display:none}#_form_6A67637C841C4_ .phone-error{color:#E40E49}#_form_6A67637C841C4_ .phone-input-error{border:1px solid #E40E49 !important}#_form_6A67637C841C4_._inline-form ._form-content ._form-list-subscriptions-field fieldset{margin:0;margin-bottom:1.1428571429em;border:none;padding:0}#_form_6A67637C841C4_._inline-form ._form-content ._form-list-subscriptions-field fieldset:last-child{margin-bottom:0}#_form_6A67637C841C4_._inline-form ._form-content ._form-list-subscriptions-field legend{margin-bottom:1.1428571429em}#_form_6A67637C841C4_._inline-form ._form-content ._form-list-subscriptions-field label{display:flex;align-items:flex-start;justify-content:flex-start;margin-bottom:0.8571428571em}#_form_6A67637C841C4_._inline-form ._form-content ._form-list-subscriptions-field label:last-child{margin-bottom:0}#_form_6A67637C841C4_._inline-form ._form-content ._form-list-subscriptions-field input{margin:0;margin-right:8px}#_form_6A67637C841C4_._inline-form ._form-content ._form-list-subscriptions-field ._form-checkbox-option-label{display:block;font-weight:400;margin-top:-4px}#_form_6A67637C841C4_._inline-form ._form-content ._form-list-subscriptions-field ._form-checkbox-option-label-with-description{display:block;font-weight:700;margin-top:-4px}#_form_6A67637C841C4_._inline-form ._form-content ._form-list-subscriptions-field ._form-checkbox-option-description{margin:0;font-size:0.8571428571em}#_form_6A67637C841C4_._inline-form ._form-content ._form-list-subscriptions-field ._form-subscriptions-unsubscribe-all-description{line-height:normal;margin-top:-2px}
#_form_6A67637C841C4_{}#_form_6A67637C841C4_._form{font:var(--_form-properties---size--primary-font-family);margin:0px !important;padding:0px !important;color:var(--_form-properties---primary--form-text-color) !IMPORTANT}#_form_6A67637C841C4_ ._form_element{margin-bottom:10px !important}#_form_6A67637C841C4_ .crm_form-header{font-size:1.25rem !important}#_form_6A67637C841C4_ ._form-label{display:none !important;color:var(--_form-properties---primary--form-text-color) !IMPORTANT}#_form_6A67637C841C4_ ._form-label,#_form_6A67637C841C4_ ._inline-form ._form-label{position:absolute;color:var(--_form-properties---primary--form-input-text-color) !IMPORTANT;top:8px;z-index:999;font-size:12px !important;left:21px;font-weight:400 !important}#_form_6A67637C841C4_ ._form_23 ._form_element ._form-label{color:var(--_form-properties---primary--form-input-text-color) !IMPORTANT}#_form_6A67637C841C4_ input,#_form_6A67637C841C4_ input[type="text"]{height:60px !IMPORTANT;width:100%;display:block;padding:12px !IMPORTANT;border-radius:3px !IMPORTANT;border-color:#F4EFE1 !IMPORTANT;font-size:16px !IMPORTANT;background-color:#FFFCF4 !IMPORTANT;font-weight:300 !IMPORTANT;color:var(--_form-properties---primary--form-input-text-color) !IMPORTANT;letter-spacing:0.6px !IMPORTANT;padding-left:20px !IMPORTANT;padding-right:20px !IMPORTANT;margin-bottom:10px !IMPORTANT}#_form_6A67637C841C4_ input::placeholder{color:var(--_form-properties---primary--form-input-text-color) !IMPORTANT;font-weight:200 !important;letter-spacing:1px !IMPORTANT}#_form_6A67637C841C4_ input.focused_input::placeholder{color:var(--_form-properties---primary--form-input-text-color) !important;opacity:0}#_form_6A67637C841C4_ input.focused_input,#_form_6A67637C841C4_ input.has_input{padding-top:23px !important;padding-bottom:7px !important}#_form_6A67637C841C4_ input.focused_input::-ms-input-placeholder,#_form_6A67637C841C4_ input.focused_input:-ms-input-placeholder{color:var(--_form-properties---primary--form-input-text-color) !important}#_form_6A67637C841C4_ textarea{height:150px !IMPORTANT;background-color:var(--_form-properties---primary--form-input-background-color) !IMPORTANT;font-size:16px !IMPORTANT;font-weight:300 !IMPORTANT;color:var(--_form-properties---primary--form-input-text-color) !IMPORTANT;border-radius:var(--_form-properties---size--form-input-area-border-radius);letter-spacing:0.6px !IMPORTANT;padding:20px !IMPORTANT;margin-bottom:-10px !IMPORTANT}#_form_6A67637C841C4_ textarea::placeholder{color:var(--_form-properties---primary--form-input-text-color) !IMPORTANT;font-weight:200 !important;letter-spacing:1px !IMPORTANT}#_form_6A67637C841C4_ textarea.focused_input::placeholder{color:var(--_form-properties---primary--form-input-text-color) !important;opacity:0}#_form_6A67637C841C4_ textarea.focused_input,#_form_6A67637C841C4_ textarea.has_input{padding-top:23px !important;padding-bottom:7px !important}#_form_6A67637C841C4_ textarea.focused_input::-ms-input-placeholder,#_form_6A67637C841C4_ textarea.focused_input:-ms-input-placeholder{color:var(--_form-properties---primary--form-input-text-color) !important}#_form_6A67637C841C4_ p.p-disclaimer a{color:var(--_form-properties---primary--form-text-color) !important;text-decoration:underline !important;transition:opacity 0.3s ease}#_form_6A67637C841C4_ p.p-disclaimer a:hover{opacity:0.7}#_form_6A67637C841C4_ ._submit{width:100%;font-size:1rem !IMPORTANT;height:auto !IMPORTANT;transition:0.2s;color:#fff !IMPORTANT;border-radius:3px !IMPORTANT;padding-top:0.9rem !important;padding-bottom:0.9rem !important;background-color:#916F45}#_form_6A67637C841C4_ ._submit:hover{opacity:80%;transition:0.2s}#_form_6A67637C841C4_ ._form-fieldset{display:grid;grid-template-columns:1fr 1fr}#_form_6A67637C841C4_ ._checkbox-radio{position:relative !IMPORTANT;display:inline-block;margin-bottom:8px}#_form_6A67637C841C4_ ._checkbox-radio input[type="radio"]{display:none}#_form_6A67637C841C4_ ._checkbox-radio label:before{content:" ";display:inline-block;position:relative !important;top:1px;margin:0 8px 0 0;width:10px;min-width:10px;height:10px;border-radius:50%;border:1px solid #0B2240;background-color:transparent}#_form_6A67637C841C4_ ._checkbox-radio input[type=radio]:checked+span>label:after{border-radius:50%;width:8px;height:8px;position:absolute;content:" ";top:7px;display:block;background:#0B2240;margin-left:2px}@media screen and (max-width:568px){#_form_6A67637C841C4_ ._checkbox-radio input[type=radio]:checked+span>label:after{top:8px}#_form_6A67637C841C4_ ._form-fieldset{display:flex !important;flex-direction:column !IMPORTANT;gap:0.5rem !IMPORTANT}}</style>
<form method="POST" action="https://parklaneorthodontics.activehosted.com/proc.php" id="_form_6A67637C841C4_" class="_form _form_31 _inline-form  _dark" novalidate="" data-styles-version="5">
    <input type="hidden" name="u" value="6A67637C841C4" data-name="u">
    <input type="hidden" name="f" value="31" data-name="f">
    <input type="hidden" name="s" data-name="s">
    <input type="hidden" name="c" value="0" data-name="c">
    <input type="hidden" name="m" value="0" data-name="m">
    <input type="hidden" name="act" value="sub" data-name="act">
    <input type="hidden" name="v" value="2" data-name="v">
    <input type="hidden" name="or" value="55fc0ee5-75cd-4b41-9d06-776f11a74f45" data-name="or">
    <div class="_form-content">
                            <div class="_form_element _x77725025 _full_width ">
                            <label for="fullname" class="_form-label">
                                            Full Name<span class="field-required">*</span>                                    </label>
                <div class="_field-wrapper">
                    <input type="text" id="fullname" name="fullname" placeholder="Full name *" required="" data-name="fullname">
                </div>
                    </div>
                            <div class="_form_element _x40634254 _full_width ">
                            <label for="email" class="_form-label">
                                            Email<span class="field-required">*</span>                                    </label>
                <div class="_field-wrapper">
                    <input type="text" id="email" name="email" placeholder="Email address *" required="" data-name="email">
                </div>
                    </div>
                            <div class="_form_element _x77686142 _full_width ">
                            <label for="phone" class="_form-label">
                                            Phone<span class="field-required">*</span>                                    </label>
                <div class="_field-wrapper">
                    <input type="text" id="phone" name="phone" placeholder="Phone number *" required="" data-name="phone">
                </div>
                    </div>
                            <div class="_form_element _x98414999 _full_width _clear">
                            <div class="_html-code"><div class="crm_form-header">How would you prefer us to contact you?</div></div>
                    </div>
                            <div class="_form_element _x96438366 _full_width ">
                            <fieldset class="_form-fieldset">
                    <legend class="_form-label">
                                                    How would you prefer us to contact you?<span class="field-required">*</span>                                            </legend>
                                                                    <div class="_row _checkbox-radio">
                                <input id="field_39Phone" type="radio" name="field[39]" value="Phone" required="" data-name="how_would_you_prefer_us_to_contact_you">
                                <span><label for="field_39Phone">Phone</label></span>
                            </div>
                                                    <div class="_row _checkbox-radio">
                                <input id="field_39WhatsApp" type="radio" name="field[39]" value="WhatsApp" data-name="how_would_you_prefer_us_to_contact_you">
                                <span><label for="field_39WhatsApp">WhatsApp</label></span>
                            </div>
                                                            </fieldset>
                    </div>
                            <div class="_form_element _x29085608 _full_width ">
                            <input type="hidden" name="field[124]" value="" data-name="utm_medium">
                    </div>
                            <div class="_form_element _x16431276 _full_width ">
                            <input type="hidden" name="field[126]" value="" data-name="utm_campaign">
                    </div>
                            <div class="_form_element _x66422244 _full_width ">
                            <input type="hidden" name="field[125]" value="" data-name="utm_term">
                    </div>
                            <div class="_form_element _x94118998 _full_width ">
                            <input type="hidden" name="field[128]" value="" data-name="utm_source">
                    </div>
                            <div class="_form_element _x12311102 _full_width ">
                            <input type="hidden" name="field[127]" value="" data-name="utm_content">
                    </div>
                            <div class="_form_element _field2 _full_width ">
                            <input type="hidden" name="field[2]" value="" data-name="spam">
                    </div>
                            <div class="_form_element _x72122738 _full_width _clear">
                            <div class="_html-code">Your details are safe with us and never shared.</div>
                    </div>

                                    <div class="_button-wrapper _full_width">
                <button id="_form_31_submit" class="_submit" type="submit">REQUEST MY CONSULTATION</button>
            </div>
                <div class="_clear-element"></div>
    </div>
    <div class="_form-thank-you" style="display:none;"></div>
    </form>
</div>
<style>
  /* Remove the shadow and border from all ActiveCampaign forms */
  [id^="form"],
  ._form {
    box-shadow: none !important;
    border: none !important;
  }

  /* Specific fix for the form container background, if needed */
  ._form-inner {
    box-shadow: none !important;
  }
</style>`;

  const PLForm = ({ cfg }) => {
    useEffect(() => {
      const formEl = document.getElementById("_form_6A67637C841C4_");
      if (!formEl) return;

      captureUtmParams();
      populateUtmFields(formEl);

      /* jQuery + the AC embed script are dynamic dependencies of the pasted
         CRM form and can't run via dangerouslySetInnerHTML, so they're loaded
         and re-implemented here once, after the static markup above has mounted. */
      const $ = window.jQuery;
      if (!$) return;

      document.querySelectorAll("label").forEach((label) => {
        if (label.textContent.includes("Name") || label.textContent.includes("Email*") || label.textContent.includes("Phone*")) {
          label.style.display = "none";
        }
      });

      document.querySelectorAll("._form-fieldset").forEach((fieldset) => {
        if (fieldset.children.length <= 4) {
          fieldset.style.display = "flex";
          fieldset.style.flexDirection = "row";
          fieldset.style.gap = "2rem";
        }
      });

      $("#_form_6A67637C841C4_ input, #_form_6A67637C841C4_ textarea").on("focus", function () {
        $(this).addClass("focused_input").parents("._field-wrapper").siblings("label._form-label").attr("style", "display: block !important;");
      }).on("focusout", function () {
        $(this).removeClass("focused_input");
        const label = $(this).parents("._field-wrapper").siblings("label._form-label");
        if ($(this).val() !== "") {
          label.attr("style", "display: block !important;");
          $(this).addClass("has_input");
        } else {
          label.attr("style", "display: none !important;");
          $(this).removeClass("has_input");
        }
      });

      $('#_form_6A67637C841C4_ input[name="fullname"]').attr("autocomplete", "name");
      $('#_form_6A67637C841C4_ input[name="email"]').attr("autocomplete", "email");
      $('#_form_6A67637C841C4_ input[name="phone"]').attr("autocomplete", "tel");

      $("#_form_6A67637C841C4_").on("click", function () {
        $('input[name="fullname"]', this).attr("type", "text");
        $('input[name="email"]', this).attr("type", "text");
        $('input[name="phone"]', this).attr("type", "text");
      });

      $("#_form_6A67637C841C4_").on("submit", function () {
        $('input[name="fullname"]', this).attr("type", "text");
        $('input[name="email"]', this).attr("type", "email");
        $('input[name="phone"]', this).attr("type", "tel");

        // Fallback redirect for the rare case a native submit does fire (e.g.
        // Enter-key submit, or the AC embed script failing to load) - the
        // primary redirect below covers AC's normal click-intercepted AJAX flow.
        const errors = $(this).find("._error-inner").length;
        if (errors === 0) {
          setTimeout(() => { window.location.href = "thank-you.html"; }, 500);
        }
      });

      /* The AC embed script intercepts the submit *button's* click (not the
         form's submit event) to run its own validation/AJAX, so success can
         only be detected by watching for the thank-you box it reveals. */
      const thankYou = document.querySelector("#_form_6A67637C841C4_ ._form-thank-you");
      if (thankYou) {
        const observer = new MutationObserver(() => {
          if (getComputedStyle(thankYou).display !== "none") {
            observer.disconnect();
            setTimeout(() => { window.location.href = "thank-you.html"; }, 500);
          }
        });
        observer.observe(thankYou, { attributes: true, attributeFilter: ["style", "class"] });
      }
    }, []);

    return React.createElement("div", { className: "t3-formcard", id: "book" },
      cfg.dateline && React.createElement("span", { className: "hero-dateline" },
        React.createElement("span", { className: "hero-dateline__flash" }, "Limited time offer"),
        React.createElement("span", { className: "hero-dateline__date" },
          React.createElement(Icon, { name: "calendar" }), cfg.dateline)),
      React.createElement("p", { className: "lead-form__note" }, "Leave your details and we will call you back to arrange a time that suits."),
      React.createElement("div", { className: "pl-crm-form", dangerouslySetInnerHTML: { __html: AC_FORM_31_HTML } }),
      React.createElement("div", { className: "lead-form__foot" },
        React.createElement(Icon, { name: "lock" }),
        React.createElement("span", null, "Your details are only used to arrange your child's consultation.")),
      React.createElement("div", { className: "t3-gbox" },
        React.createElement(GoogleG, { size: 26 }),
        React.createElement("div", { className: "t3-gbox__txt" },
          React.createElement("div", { className: "t3-gbox__top" },
            React.createElement(Stars, null),
            React.createElement("b", null, cfg.rating)),
          React.createElement("div", { className: "t3-gbox__sub" }, "from over ", cfg.reviewCount, " Google reviews"))),
    );
  };

  const PLHero = ({ cfg }) => React.createElement("section", { className: "t3-hero", id: "top" },
    React.createElement("div", { className: "t3-hero__inner" },
      React.createElement("div", { className: "t3-showcase" },
        React.createElement("img", { src: "assets/pl-hero-shivani-child.jpg", alt: "Shivani Patel, specialist orthodontist at Park Lane Orthodontics, with a young patient holding a model of fixed braces" }),
        React.createElement("div", { className: "t3-showcase__grad" }),
        React.createElement("div", { className: "hero-blob" },
          React.createElement("span", null, "Limited", React.createElement("br"), "time offer")),
        React.createElement("div", { className: "t3-showcase__copy" },
          React.createElement("div", { className: "t3-chip t3-chip--apex" },
            React.createElement("div", { className: "t3-chip__ic" }, React.createElement(Icon, { name: "shield" })),
            React.createElement("div", null,
              React.createElement("div", { className: "t3-chip__t" }, "Specialist orthodontists"),
              React.createElement("div", { className: "t3-chip__s" }, "Diamond Invisalign provider"))),
          React.createElement("h1", null, cfg.headline),
          React.createElement("p", null, cfg.subline))),
      React.createElement(PLForm, { cfg })),
  );

  /* ---- Four USP bullets, directly under the hero ---- */
  const PLUspStrip = ({ cfg }) => {
    const items = [
      ["shield", "Two specialist orthodontists", "Both registered with the GDC, so your child is treated by a specialist from the first appointment."],
      ["star", "A Diamond Invisalign provider", "Among the most experienced Invisalign providers in the country."],
      ["scan", "See their new smile before it starts", "A 3D iTero scan shows the plan, and where suitable a preview of the finished smile."],
      ["users", "Rated " + cfg.rating + " on Google", "From over " + cfg.reviewCount + " reviews by families across Reading."],
    ];
    return React.createElement("section", { className: "section section--tight white" },
      React.createElement("div", { className: "wrap" },
        React.createElement("div", { className: "values__grid" },
          items.map(([ic, t, s], i) =>
            React.createElement("div", { className: "value reveal", key: i },
              React.createElement("div", { className: "value__ic" }, React.createElement(Icon, { name: ic })),
              React.createElement("h3", { className: "value__t" }, t),
              React.createElement("p", { className: "value__s" }, s))))),
    );
  };

  /* ---- Reviews. Replace PLACEHOLDER_REVIEWS with the practice's real
         Google reviews, verbatim - snippets only, wording unaltered. ---- */
  const PLACEHOLDER_REVIEWS = [
    ["[Real five-star Google review to be pasted here, word for word. Choose one that mentions a child or teenager's treatment if possible - a longer one works best in this featured position.]", "Reviewer name", "Google review", true],
    ["[Real five-star Google review to be pasted here, word for word.]", "Reviewer name", "Google review", false],
    ["[Real five-star Google review to be pasted here, word for word.]", "Reviewer name", "Google review", false],
  ];

  const PLReviews = ({ cfg }) => {
    const data = cfg.reviews && cfg.reviews.length ? cfg.reviews : PLACEHOLDER_REVIEWS;
    const isPlaceholder = !(cfg.reviews && cfg.reviews.length);
    const initials = (n) => n.split(" ").map(p => p[0]).join("").slice(0, 2);
    return React.createElement("section", { className: "section paper", id: "reviews" },
      React.createElement("div", { className: "wrap" },
        React.createElement(SHead, { center: true, eyebrow: "Our reviews", title: "What Reading families say about us" }),
        isPlaceholder && React.createElement("div", { className: "rev-note" },
          React.createElement(Icon, { name: "quote" }),
          React.createElement("span", null, "For the developer: paste two or three genuine five-star Google reviews into these cards exactly as written - select snippets only, do not reword.")),
        React.createElement("div", { className: "rev-grid" },
          data.map(([q, n, m, feat], i) =>
            React.createElement("div", { className: "revcard reveal" + (feat ? " revcard--feat" : ""), key: i },
              React.createElement("div", { className: "revcard__src" },
                React.createElement(GoogleG, { size: 18 }),
                React.createElement("span", null, "Posted on Google"),
                React.createElement("span", { className: "revcard__stars" }, React.createElement(Stars, null))),
              React.createElement("p", { className: "revcard__q" }, "\u201C", q, "\u201D"),
              React.createElement("div", { className: "revcard__by" },
                React.createElement("div", { className: "revcard__av" }, initials(n)),
                React.createElement("div", null,
                  React.createElement("div", { className: "revcard__n" }, n),
                  React.createElement("div", { className: "revcard__m" }, m)))))),
      ),
    );
  };

  const PhotoBreak = ({ src, alt, pos, award, twoThirds, parallax }) => {
    const imgRef = useRef(null);
    useParallax(imgRef, { enabled: !!parallax });
    return React.createElement("section", { className: "photobreak" + (twoThirds ? " photobreak--twothirds" : "") + (parallax ? " photobreak--parallax" : ""), "aria-hidden": alt ? undefined : "true", "aria-label": alt || undefined },
      React.createElement("img", { ref: imgRef, src, alt: alt || "", style: pos ? { objectPosition: pos } : undefined }),
      award && React.createElement("div", { className: "photobreak__award" },
        React.createElement("img", { src: award, alt: "Dentistry Clinical Case Awards 2022 winner - Orthodontics: Child/Teenager Fixed" })));
  };

  /* ---- What's included: the savings package ---- */
  const PLPackage = ({ cfg }) => React.createElement("section", { className: "section white", id: "package" },
    React.createElement("div", { className: "wrap" },
      React.createElement("div", { className: "shead shead--center" },
        React.createElement("span", { className: "eyebrow" }, "The August offer"),
        React.createElement("h2", { className: "h2" }, "What's included - a savings package worth £", cfg.packageValue),
        React.createElement("p", { className: "lead" }, "Start any of our children's treatments in August and everything below is included, for £", cfg.discount, " less than the usual cost.")),
      React.createElement("div", { className: "t3-grid" },
        React.createElement("div", { className: "t3-card t3-card--media" },
          React.createElement("img", { src: "assets/pl-child-brace-colours.jpg", alt: "A young patient at Park Lane Orthodontics choosing her brace colours" }),
          React.createElement("div", { className: "t3-card__grad" }),
          React.createElement("div", { className: "t3-card__label" },
            React.createElement("h3", null, "£", cfg.discount, " off their treatment"),
            React.createElement("p", null, "The same braces or aligners, five hundred pounds lighter, when treatment starts in August."))),
        React.createElement("div", { className: "t3-card t3-card--feat" },
          React.createElement("span", { className: "t3-card__val" }, "£", cfg.consultPrice, " · usually £", cfg.consultUsual),
          React.createElement("h3", null, "Their first specialist consultation for £", cfg.consultPrice),
          React.createElement("p", null, "This one appointment includes a 3D iTero scan, any x-rays, and a full treatment plan drawn up by Shivani Patel, the specialist orthodontist leading this offer.")),
        React.createElement("div", { className: "t3-card t3-card--sm" },
          React.createElement("span", { className: "t3-card__val" }, "Worth £", cfg.retainerValue),
          React.createElement("h3", null, "Removable retainers"),
          React.createElement("p", null, "To hold the new smile in place once treatment finishes.")),
        React.createElement("div", { className: "t3-card t3-card--sm" },
          React.createElement("span", { className: "t3-card__val" }, "Worth £", cfg.reviewValue),
          React.createElement("h3", null, "A review retainer and check appointment"),
          React.createElement("p", null, "So we keep an eye on everything after the braces come off."))),
      React.createElement("div", { className: "package__cta" },
        React.createElement(Btn, { variant: "teal", size: "lg", href: "#book" }, "Book their consultation"))),
  );

  /* ---- The four questions parents actually ask ---- */
  const PLWhyParents = () => React.createElement("section", { className: "section paper", id: "whyparents" },
    React.createElement("div", { className: "wrap" },
      React.createElement("div", { className: "shead shead--center" },
        React.createElement("span", { className: "eyebrow" }, "For parents"),
        React.createElement("h2", { className: "h2" }, "Why parents across Reading start their child's treatment here"),
        React.createElement("p", { className: "lead" }, "Most parents come to us with the same few worries, and we would rather answer them plainly than gloss over them.")),
      React.createElement("div", { className: "worth-prose" },
        React.createElement("p", null,
          React.createElement("span", { className: "wq" }, "Will it be obvious at school?"),
          "For a lot of children it barely shows. Clear aligners like Invisalign and Angel Aligners are almost invisible and lift out to eat and brush, and where fixed braces are the right choice, ceramic brackets are far more discreet than the metal ones parents remember."),
        React.createElement("p", null,
          React.createElement("span", { className: "wq" }, "Will it actually work?"),
          "Every child here is treated by a specialist orthodontist, not a general dentist, and we are a Diamond Invisalign provider. Difficult cases - crowding, gaps, teeth that have come through in the wrong place - are exactly what our team plans for."),
        React.createElement("p", null,
          React.createElement("span", { className: "wq" }, "Will it take over family life?"),
          "Treatment does take time, which is the honest reason to begin in the quieter summer weeks rather than mid-term. We also run Thursday appointments until 6.30pm, so many check-ups happen after school without a day off lessons."),
        React.createElement("p", null,
          React.createElement("span", { className: "wq" }, "And what happens once it is finished?"),
          "We look after the smile for a full year after the braces come off. If a retainer needs adjusting or a bonded retainer plays up in that time, we put it right at no extra cost."))),
  );

  Object.assign(window, { SHead, GoogleG, PLHeader, PLHero, PLUspStrip, PLReviews, PhotoBreak, PLPackage, PLWhyParents });
})();
