/* PA-HFORM-20261015 Front page only: existing 2-step lead form as a full-width hero and navy section; sticky right-hand column beside the other sections (>=1100px), hidden while the navy section is in view; in-flow below that. */
.hf-side .pa-enquiry{padding:0!important;background:transparent!important}
.hf-side .pa-enquiry__grid{display:block!important;padding:0!important;max-width:none!important;background:transparent!important;box-shadow:none!important}
.hf-side .pa-enquiry__intro{display:none!important}
.hf-side .pa-enquiry__form{padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
.hf-side .pa-fx{background:#fff;border-radius:24px;box-shadow:0 30px 60px -30px rgba(5,8,40,.55);padding:18px 20px!important;border-top:6px solid var(--pa-red,#ff3131);overflow:hidden}
.hf-side .pa-fx-photo{display:none!important}
.hf-side .elementor-form,.hf-side .pa-fx-form{padding:0!important;border:0!important;box-shadow:none!important;background:transparent!important}
.hf-side .elementor-field-group{margin-bottom:8px!important}
.hf-side{padding:0!important;background:transparent!important}
@media (min-width:1100px){
	/* Rows set explicitly so the side form (one instance) can span every row while the hero and the navy section run full width. */
	.home :is(.elementor-83,.elementor-530){display:grid;grid-template-columns:minmax(0,1fr) 400px max(0px,calc((100vw - 1440px)/2));column-gap:28px;align-items:start}
	.home :is(.elementor-83,.elementor-530)>.e-con{grid-column:1;min-width:0}
	.home :is(.elementor-83,.elementor-530)>.e-con:first-child{grid-column:1/-1;grid-row:1}
	.home :is(.elementor-83,.elementor-530)>.elementor-element-455a8a4{grid-column:1/-1}
	.home :is(.elementor-83,.elementor-530)>.e-con:nth-child(3){grid-row:2}
	.home :is(.elementor-83,.elementor-530)>.e-con:nth-child(4){grid-row:3}
	.home :is(.elementor-83,.elementor-530)>.e-con:nth-child(5){grid-row:4}
	.home :is(.elementor-83,.elementor-530)>.e-con:nth-child(6){grid-row:5}
	.home :is(.elementor-83,.elementor-530)>.e-con:nth-child(7){grid-row:6}
	.home :is(.elementor-83,.elementor-530)>.e-con:nth-child(8){grid-row:7}
	.home :is(.elementor-83,.elementor-530)>.e-con:nth-child(9){grid-row:8}
	.home :is(.elementor-83,.elementor-530)>.e-con:nth-child(10){grid-row:9}
	.home :is(.elementor-83,.elementor-530)>.e-con:nth-child(11){grid-row:10}
	.home :is(.elementor-83,.elementor-530)>.e-con:nth-child(12){grid-row:11}
	.home :is(.elementor-83,.elementor-530)>.e-con:nth-child(13){grid-row:12}
	.home :is(.elementor-83,.elementor-530)>.e-con:nth-child(14){grid-row:13}
	/* PA-NOSTICK-20261025 The side form card flows with the page by default, so scrolling can never get stuck on it.
	   It is allowed to stay pinned ONLY when pure CSS can prove it fits: a tall screen, and the compact first step.
	   Step 2, error messages, small screens, zoom: it simply scrolls with the page. No JavaScript decides this. */
	.home :is(.elementor-83,.elementor-530)>.hf-side{grid-column:2;grid-row:2/span 13;position:relative;top:auto;align-self:start;z-index:5;margin-top:32px!important;width:400px;max-height:none;overflow:visible;transition:opacity .35s ease,visibility 0s linear .35s}
	.home :is(.elementor-83,.elementor-530)>.hf-side.hf-flow{position:relative;top:auto}
	.home :is(.elementor-83,.elementor-530)>.hf-side.hf-hide{opacity:0;visibility:hidden;pointer-events:none}
	.home :is(.elementor-83,.elementor-530)>.hf-side:not(.hf-hide){transition:opacity .35s ease,visibility 0s}
}
@media (max-width:1099px){.hf-side{max-width:560px;margin:16px auto 0!important;padding:0 10px!important}}
@media (max-width:921px){.pa-hero .hf-side{margin:14px 0 6px!important;padding:0!important;max-width:none;width:100%}}
@media (min-width:1100px) and (min-height:980px){.home :is(.elementor-83,.elementor-530)>.hf-side:not(.hf-flow):has(form[data-step="1"]):not(:has(.pa-form-status:not(:empty))){position:sticky;top:calc(var(--pa-header-h,82px) + 16px)}}

/* PA-FLOATDOCK-20261015 Floating buttons docked in a row under the form card (desktop, sticky form visible). */
.hf-dock{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:12px}
.hf-dock .pa-float{position:static!important;display:flex!important;flex-direction:row;gap:12px}
.hf-dock .pa-cc__fab{position:static!important;inset:auto!important;margin:0!important}
/* Docked row: ~40px buttons; WhatsApp keeps its green icon and pulses a PA red/blue glow (off with reduced motion). */
.hf-dock .pa-float__btn,.hf-dock .pa-cc__fab{width:40px!important;height:40px!important;min-width:0!important;padding:0!important}
.hf-dock .pa-float__btn svg{width:20px;height:20px}
.hf-dock .pa-float__ring{display:none}
@keyframes hf-glow{0%,100%{box-shadow:0 0 0 0 rgba(255,49,49,.55),0 0 14px 2px rgba(255,49,49,.45)}50%{box-shadow:0 0 0 6px rgba(0,18,255,0),0 0 16px 4px rgba(0,18,255,.55)}}
.hf-dock .pa-float__btn--wa{animation:hf-glow 2s ease-in-out infinite}
@media (prefers-reduced-motion:reduce){.hf-dock .pa-float__btn--wa{animation:none}}
.hf-dock .pa-float__btn--wa{width:44px!important;height:44px!important}
.hf-dock .pa-float__btn--wa svg{width:22px;height:22px}
/* PA-CTAFIX-20261015 Bottom CTA sits on blue: the theme's white pill/ghost-button background hid the white text. Use the theme's own on-dark colours (pa.css .pa-on-dark rules). */
.home .pa-cta .pa-eyebrow{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.28);color:var(--pa-white)}
.home .pa-cta .pa-btn--ghost{background:transparent;color:var(--pa-white);border-color:rgba(255,255,255,.6)}
.home .pa-cta .pa-btn--ghost:hover{background:var(--pa-white);color:var(--pa-deep)}
/* PA-CTABTN-20261015 Approved: bottom CTA primary button in red so it stands out on the blue panel (home only). */
.home .pa-cta .pa-btn--primary{background:#c81e1e;border-color:#c81e1e;color:#fff}
.home .pa-cta .pa-btn--primary:hover,.home .pa-cta .pa-btn--primary:focus-visible{background:#a81818;border-color:#a81818;color:#fff}

/* PA-FORMS-CFG-20261025 Pinned "Book counselling" button: only on short laptop screens, where the form is not pinned. No change on tall screens or phones. */
.hf-pin{display:none}
@media (min-width:1100px) and (max-height:979px){
	.home :is(.elementor-83,.elementor-530)>.hf-pin{display:block;grid-column:2;grid-row:2/span 13;align-self:stretch;pointer-events:none;z-index:4;width:400px}
	.hf-pin__btn{display:none;pointer-events:auto;position:sticky;top:calc(var(--pa-header-h,82px) + 16px);align-items:center;gap:8px;padding:11px 18px;border-radius:99px;background:var(--pa-red,#ff3131);color:#fff!important;font-weight:700;font-size:.95rem;text-decoration:none;box-shadow:0 10px 24px rgba(255,49,49,.3)}
	.hf-pin.is-on .hf-pin__btn{display:inline-flex}
	.hf-pin__btn:focus-visible{outline:none;box-shadow:0 0 0 3px #fff,0 0 0 6px var(--pa-blue,#0012ff)}
}
