/* =========================================================================
 * The final CTA “Ready to Get Started?” — a shared block (inc/final-cta.php).
 *
 * A dark section in the style of the service frame: on the left the heading,
 * the description and a solid teal CONTACT US button, on the right the cards
 * with regional phone numbers (tel: links). The background is soft teal “orbs”
 * and a ring; the movement is CSS only (the orbs breathing, a card lifting on
 * hover) and with prefers-reduced-motion there is none. Sizes come from
 * --ms-scale, and on narrow screens the section takes its natural height.
 * ====================================================================== */

.lmx-fc-inner{position:relative;width:100%;min-height:100vh;background:#050708 !important;color:#fff;font-family:var(--lmx-ms-font,'Hanken Grotesk',Helvetica,Arial,sans-serif);padding:0 var(--lmx-section-padding-x);box-sizing:border-box;overflow:hidden;--ms-scale:1;--fc-accent:#52C7C6;--fc-accent-hi:#83DAD9;--fc-on-accent:#04211F;--fc-line:rgba(255,255,255,.10);--fc-text:rgba(255,255,255,.78);--fc-muted:rgba(255,255,255,.55)}
.lmx-fc-inner *{box-sizing:border-box;min-width:0}

/* --- background -------------------------------------------------------------- */
.lmx-fc-bg{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.lmx-fc-bg::before{content:'';position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(65% 60% at 50% 50%,#000 10%,transparent 100%);mask-image:radial-gradient(65% 60% at 50% 50%,#000 10%,transparent 100%)}
/* The glow was halved at the client's request (2026-09-23): the orbs were too
   noticeable and pulled attention away from the text and the buttons. The
   opacity, the size and the amplitude of the breathing were all reduced. */
.lmx-fc-orb{position:absolute;border-radius:50%;filter:blur(60px);opacity:.26}
.lmx-fc-orb--a{left:-8%;top:-20%;width:32vw;height:32vw;max-width:440px;max-height:440px;background:radial-gradient(circle,rgba(82,199,198,.20),rgba(82,199,198,0) 68%);animation:lmx-fc-breathe 9s ease-in-out infinite}
.lmx-fc-orb--b{right:-10%;bottom:-30%;width:36vw;height:36vw;max-width:500px;max-height:500px;background:radial-gradient(circle,rgba(82,199,198,.13),rgba(82,199,198,0) 66%);animation:lmx-fc-breathe 11s ease-in-out infinite reverse}
.lmx-fc-ring{position:absolute;right:6%;top:50%;width:min(44vw,560px);height:min(44vw,560px);transform:translateY(-50%);border-radius:50%;border:1px solid rgba(82,199,198,.14);box-shadow:inset 0 0 80px rgba(82,199,198,.06)}
.lmx-fc-ring::after{content:'';position:absolute;inset:14%;border-radius:50%;border:1px dashed rgba(82,199,198,.16)}
@keyframes lmx-fc-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}

/* --- grid -------------------------------------------------------------------- */
/* Two equal columns: the phone panel needs enough width for two numbers in a
   row (fix of 2026-09-16 — at 1.15fr/.85fr and 1366px the number
   “+61.288.805.198” spilled out of its tile onto the next one). */
.lmx-fc-wrap{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:max(28px,calc(64px * var(--ms-scale,1)));max-width:1400px;margin:0 auto;padding:max(40px,calc(70px * var(--ms-scale,1))) 0}

.lmx-fc-eyebrow{margin:0 0 max(10px,calc(18px * var(--ms-scale,1))) !important;font-family:var(--lmx-ms-font) !important;font-weight:600;font-size:max(11px,calc(13px * var(--ms-scale,1))) !important;letter-spacing:.34em;text-transform:uppercase;color:var(--fc-accent) !important;line-height:1.4 !important}
.lmx-fc-title{margin:0 !important;font-family:var(--lmx-ms-display,'Outfit','Poppins',sans-serif) !important;font-weight:300 !important;font-size:max(38px,calc(76px * var(--ms-scale,1))) !important;line-height:1.02 !important;letter-spacing:-.025em;color:#fff !important;max-width:12ch;text-wrap:balance}
.lmx-fc-desc{margin:max(14px,calc(26px * var(--ms-scale,1))) 0 0 !important;max-width:560px;font-family:var(--lmx-ms-font) !important;font-weight:300;font-size:max(16px,calc(19px * var(--ms-scale,1))) !important;line-height:1.6 !important;color:var(--fc-text) !important}
.lmx-fc-ctas{position:relative;margin-top:max(22px,calc(40px * var(--ms-scale,1)))}
/* The glow behind the button: a soft pulse (CSS), no rAF. */
.lmx-fc-ctas::before{content:'';position:absolute;left:0;top:50%;width:max(200px,calc(260px * var(--ms-scale,1)));height:max(60px,calc(80px * var(--ms-scale,1)));transform:translateY(-50%);border-radius:999px;background:radial-gradient(ellipse at center,rgba(82,199,198,.35),rgba(82,199,198,0) 70%);filter:blur(14px);pointer-events:none;animation:lmx-fc-glow 3.6s ease-in-out infinite}
@keyframes lmx-fc-glow{0%,100%{opacity:.55}50%{opacity:1}}
.lmx-fc-btn{position:relative;gap:12px;height:max(50px,calc(60px * var(--ms-scale,1)));padding:0 max(24px,calc(34px * var(--ms-scale,1)));font-weight:700;letter-spacing:.22em;font-size:max(12px,calc(14px * var(--ms-scale,1))) !important}
.lmx-fc-btn-arrow{display:inline-flex;width:18px;height:18px}
.lmx-fc-btn-arrow svg{width:100%;height:100%}

/* --- phone numbers ----------------------------------------------------------- */
.lmx-fc-contacts{position:relative;padding:max(18px,calc(28px * var(--ms-scale,1)));border:1px solid var(--fc-line);border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.015));box-shadow:0 1px 0 rgba(255,255,255,.04) inset,0 30px 70px rgba(0,0,0,.45);backdrop-filter:blur(6px)}
.lmx-fc-contacts-label{display:flex;align-items:center;gap:10px;margin:0 0 max(12px,calc(18px * var(--ms-scale,1))) !important;font-family:var(--lmx-ms-font) !important;font-weight:600;font-size:max(11px,calc(12px * var(--ms-scale,1))) !important;letter-spacing:.3em;text-transform:uppercase;color:var(--fc-muted) !important;line-height:1.3 !important}
.lmx-fc-contacts-icon{display:inline-flex;width:max(28px,calc(34px * var(--ms-scale,1)));height:max(28px,calc(34px * var(--ms-scale,1)));align-items:center;justify-content:center;border-radius:50%;border:1px solid rgba(82,199,198,.5);color:var(--fc-accent)}
.lmx-fc-contacts-icon svg{width:55%;height:55%}
/* As many columns as there is room for 250px tiles (a number of up to 16
   characters plus the region); a narrow panel gets one column, and the number
   never wraps and is never squeezed. */
.lmx-fc-phones{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:max(8px,calc(12px * var(--ms-scale,1)))}
.lmx-fc-phones[data-count="5"] .lmx-fc-phone-item:first-child,
.lmx-fc-phones[data-count="3"] .lmx-fc-phone-item:first-child,
.lmx-fc-phones[data-count="1"] .lmx-fc-phone-item:first-child{grid-column:1 / -1}
.lmx-fc-phone-item{margin:0}
.lmx-fc-phone{display:flex;align-items:center;gap:max(10px,calc(14px * var(--ms-scale,1)));padding:max(10px,calc(14px * var(--ms-scale,1))) max(12px,calc(16px * var(--ms-scale,1)));border:1px solid var(--fc-line);border-radius:14px;background:rgba(255,255,255,.02);color:#fff !important;text-decoration:none !important;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease,background .25s ease}
.lmx-fc-phone:hover,.lmx-fc-phone:focus-visible{transform:translateY(-3px);border-color:rgba(82,199,198,.6);background:rgba(82,199,198,.06);box-shadow:0 0 0 1px rgba(82,199,198,.3),0 14px 34px rgba(0,0,0,.45),0 0 28px rgba(82,199,198,.14)}
.lmx-fc-phone:focus{outline:none}
.lmx-fc-phone:focus-visible{outline:2px solid var(--fc-accent);outline-offset:3px}
.lmx-fc-phone-region{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-width:max(36px,calc(44px * var(--ms-scale,1)));height:max(26px,calc(30px * var(--ms-scale,1)));padding:0 8px;border-radius:8px;background:rgba(82,199,198,.14);color:var(--fc-accent);font-family:var(--lmx-ms-font);font-weight:700;font-size:max(10px,calc(11px * var(--ms-scale,1)));letter-spacing:.2em;text-transform:uppercase}
.lmx-fc-phone-num{font-family:var(--lmx-ms-display,'Outfit','Poppins',sans-serif);font-weight:400;font-size:max(15px,calc(18px * var(--ms-scale,1)));letter-spacing:.01em;line-height:1.2;white-space:nowrap;font-variant-numeric:tabular-nums lining-nums}

/* --- desktop: the section fits the window exactly --------------------------- */
@media (min-width:1025px){
.lmx-fc-inner{display:grid;align-content:center;height:100%;min-height:100%}
}

/* --- narrow screens ---------------------------------------------------------- */
@media (max-width:1024px){
.lmx-fc-inner{display:block !important;height:auto !important;min-height:0 !important;padding:90px var(--lmx-section-padding-x) 70px}
.lmx-fc-wrap{grid-template-columns:minmax(0,1fr);gap:36px;padding:0}
.lmx-fc-title{font-size:48px !important}
.lmx-fc-ring{display:none}
}
@media (max-width:640px){
.lmx-fc-inner{padding:70px var(--lmx-section-padding-x) 50px}
.lmx-fc-title{font-size:38px !important}
.lmx-fc-phones{grid-template-columns:minmax(0,1fr)}
.lmx-fc-ctas .lmx-fc-btn{width:100%;justify-content:center}
.lmx-fc-phone-num{font-size:17px;white-space:normal}
}
@media (prefers-reduced-motion:reduce){
.lmx-fc-orb,.lmx-fc-ctas::before{animation:none}
.lmx-fc-phone{transition:none}
.lmx-fc-phone:hover,.lmx-fc-phone:focus-visible{transform:none}
}
