/* Lexvia CMS v1.2.5 — reference-design implementation */
:root{--lx-ink:#0e2740;--lx-blue:#3A6F8F;--lx-soft:#f4f9fc;--lx-line:#d6e5ee;--lx-muted:#607b8e;--lx-card:#ffffff}
body{background:#fff;color:var(--lx-ink)}
.container{width:min(1280px,calc(100% - 48px))}
.site-header{height:84px;background:rgba(255,255,255,.97);border-bottom:1px solid #e6eef3;box-shadow:none}
.nav-wrap{height:84px}
.brand{gap:12px;align-items:flex-start}
.brand-mark{width:42px;height:42px;border-radius:11px;margin-top:1px}
.brand-copy{display:flex;flex-direction:column;line-height:1.05;margin-top:2px}
.brand-copy strong{font-size:1.02rem;color:var(--navy);letter-spacing:.01em}
.brand-copy small{margin-top:7px;font-size:.55rem;letter-spacing:.24em;color:var(--primary);font-weight:800;text-transform:uppercase;white-space:nowrap}
.main-nav{gap:28px}
.main-nav a{position:relative;padding:30px 0 27px;font-weight:650;color:#20394c}
.main-nav a:not(.nav-cta)::after{content:"";position:absolute;left:50%;right:50%;bottom:18px;height:2px;background:var(--primary);transition:left .18s ease,right .18s ease}
.main-nav a.is-active:not(.nav-cta)::after,.main-nav a:hover:not(.nav-cta)::after{left:0;right:0}
.main-nav .nav-cta{padding:12px 18px;border-radius:10px;background:#132d41;color:#fff!important;margin-left:2px}

/* Shared reference hero */
.lx-hero{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(104deg,#fbfdfe 0%,#f3f9fc 58%,#f8fcfe 100%);border-bottom:1px solid #e8f1f5}
.lx-hero::after{content:"";position:absolute;left:-6%;right:-6%;bottom:-38px;height:82px;background:#fff;border-radius:50% 50% 0 0/70% 70% 0 0;z-index:20;pointer-events:none}
.lx-hero-inner{position:relative;z-index:12;min-height:610px;padding-top:60px;padding-bottom:84px;display:flex;align-items:center}
.lx-hero-copy{width:min(620px,48%);position:relative;z-index:15}
.lx-hero .eyebrow{font-size:.72rem;letter-spacing:.22em;color:#28739e}
.lx-hero h1{font-size:clamp(3.2rem,5.15vw,var(--hero-heading-size,72px));line-height:1.05;letter-spacing:-.048em;margin:18px 0 22px;color:#0d2440;max-width:680px}
.lx-hero .lead{font-size:var(--hero-intro-size,19px);line-height:1.58;color:#60798d;max-width:610px;margin:0}
.lx-hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.lx-hero-actions .btn{min-height:52px;padding:0 24px;border-radius:10px;box-shadow:none}
.lx-hero-actions .btn-ghost{background:rgba(255,255,255,.78);border-color:#8eb0c5;color:#12304a}
.lx-world{position:absolute;z-index:1;inset:0;background:url('../img/hero-grid-dots.svg') 58% 40%/min(1040px,72vw) auto no-repeat;opacity:.62;pointer-events:none;animation:lxWorld 18s ease-in-out infinite alternate}
.lx-globe{position:absolute;z-index:2;right:12%;top:2%;width:52%;height:78%;opacity:.055;mix-blend-mode:multiply;pointer-events:none}
.lx-landmarks{position:absolute;z-index:4;right:-2%;bottom:3%;width:min(48vw,760px);opacity:.72;mix-blend-mode:multiply;pointer-events:none}
.lx-model{position:absolute;z-index:7;right:11%;bottom:5px;width:min(36vw,530px);max-height:570px;object-fit:contain;object-position:bottom center;pointer-events:none;filter:drop-shadow(0 22px 34px rgba(20,45,70,.10)) saturate(.98) contrast(1.01)}
.lx-model-services{right:7%;width:min(43vw,650px);max-height:560px}
.lx-model-contact{right:23%;width:min(35vw,480px);max-height:410px;bottom:22px}
.lx-australia{position:absolute;z-index:3;right:21%;top:18%;width:min(37vw,540px);opacity:.62;pointer-events:none;mix-blend-mode:multiply}
.lx-reception{position:absolute;z-index:1;right:0;top:0;width:44%;height:100%;background:url('../img/reception-dots.svg') center/cover no-repeat;opacity:.74;pointer-events:none}
.lx-hero-fade{position:absolute;inset:0;z-index:9;background:linear-gradient(90deg,rgba(251,253,254,.995) 0%,rgba(251,253,254,.97) 35%,rgba(251,253,254,.42) 52%,rgba(251,253,254,.04) 72%);pointer-events:none}
.lx-side-copy{position:absolute;z-index:11;right:3.2%;top:19%;font-size:.68rem;line-height:1.65;letter-spacing:.22em;font-weight:800;text-transform:uppercase;color:#34769c}
.lx-side-copy::after{content:"";display:block;width:38px;height:1px;background:#6fa0bb;margin-top:10px}
.lx-side-list{position:absolute;z-index:11;right:2.4%;top:17%;display:grid;gap:15px;font-size:.65rem;letter-spacing:.17em;text-transform:uppercase;color:#34769c;font-weight:800}
.lx-side-list span{display:flex;align-items:center;gap:10px}.lx-side-list span::before{content:"";width:6px;height:6px;border-radius:50%;background:#34769c;box-shadow:0 0 0 5px rgba(58,111,143,.07)}
.lx-sydney{position:absolute;z-index:11;right:8.5%;top:43%;display:flex;align-items:center;gap:10px;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;font-weight:800;color:#266f98}
.lx-sydney::before{content:"";width:14px;height:14px;border:3px solid var(--primary);border-radius:50%;box-shadow:0 0 0 6px rgba(58,111,143,.12),0 0 0 10px rgba(58,111,143,.05);animation:lexviaPulse 2.8s ease-in-out infinite}
.lx-vertical-label{position:absolute;z-index:11;left:42%;top:14%;font-size:.68rem;line-height:1.58;letter-spacing:.22em;text-transform:uppercase;font-weight:800;color:#33769d}
.lx-vertical-label::after{content:"";display:block;width:44px;height:1px;background:#6d9fba;margin-top:10px}

.lx-values{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:34px;max-width:680px}
.lx-value{display:flex;gap:11px;align-items:center;padding-right:17px;margin-right:17px;border-right:1px solid #cbdde8;min-width:0}
.lx-value:last-child{border-right:0;margin-right:0;padding-right:0}
.lx-value i{color:var(--primary);font-size:1.55rem;flex:0 0 auto}
.lx-value strong{display:block;color:#0f2b43;font-size:.78rem;line-height:1.15}
.lx-value small{display:block;color:#7390a1;font-size:.63rem;line-height:1.3;margin-top:4px;text-transform:uppercase;letter-spacing:.07em}

/* Homepage approach */
.lx-approach{padding:74px 0 88px;background:#fff}
.lx-approach-head{display:grid;grid-template-columns:1.05fr .8fr auto;gap:44px;align-items:center;margin-bottom:26px}
.lx-approach-head h2{font-size:clamp(2.3rem,3.6vw,3.5rem);letter-spacing:-.04em;margin:10px 0 0;line-height:1.06}
.lx-approach-head p{margin:0;color:#657f8f;line-height:1.65}
.lx-outline-link{display:inline-flex;align-items:center;justify-content:center;gap:15px;padding:13px 22px;border:1px solid #7da7c0;border-radius:7px;color:#226b93;font-weight:750;white-space:nowrap;background:#fff}
.lx-work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.lx-work-card{position:relative;min-height:205px;padding:26px 28px;border:1px solid #dce8ef;border-radius:18px;background:linear-gradient(180deg,#fff,#f9fcfd);box-shadow:0 12px 30px rgba(28,61,81,.045);overflow:hidden}
.lx-work-card::after{content:"";position:absolute;right:18px;top:24px;width:70px;height:70px;background-image:radial-gradient(circle,#74b2d3 1.4px,transparent 1.6px);background-size:10px 10px;opacity:.28}
.lx-work-icon{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#edf6fa;color:#1f79a6;font-size:1.28rem;margin-bottom:18px}
.lx-work-card h3{font-size:1.2rem;margin:0 0 8px}.lx-work-card p{color:#69808f;max-width:310px;margin:0}.lx-work-card a{display:inline-flex;margin-top:18px;color:#1d74a0}

/* About body matching reference */
.lx-belief{padding:66px 0 82px}
.lx-belief-grid{display:grid;grid-template-columns:.8fr 1.1fr;gap:70px;align-items:start}
.lx-belief h2{font-size:clamp(2.6rem,4vw,4rem);line-height:1.04;letter-spacing:-.045em;margin:10px 0 0}
.lx-belief-copy p{font-size:1.05rem;color:#5f7888;line-height:1.65;margin:6px 0 22px}
.lx-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:24px}
.lx-step{display:flex;align-items:center;gap:10px;color:#4f7186;font-size:.76rem;line-height:1.25}.lx-step i{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#edf7fb;color:#2079a4;font-size:1.1rem}.lx-step:not(:last-child)::after{content:"\f054";font-family:"Font Awesome 6 Free";font-weight:900;color:#3e86a9;margin-left:auto}

/* Services body */
.lx-services-core{padding:58px 0 84px}
.lx-services-intro{display:grid;grid-template-columns:.85fr 1.2fr auto;gap:38px;align-items:center;margin-bottom:26px}
.lx-services-intro h2{font-size:clamp(2.3rem,3.5vw,3.5rem);line-height:1.05;letter-spacing:-.04em;margin:9px 0 0}.lx-services-intro p{color:#617c8d;line-height:1.6;margin:0}
.lx-service-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.lx-service-card{position:relative;min-height:190px;padding:24px 62px 24px 105px;border:1px solid #dbe7ee;border-radius:14px;background:#fff;box-shadow:0 10px 26px rgba(34,67,87,.04)}
.lx-service-card .ico{position:absolute;left:22px;top:20px;width:60px;height:60px;border-radius:50%;display:grid;place-items:center;background:#edf7fb;color:#2179a5;font-size:1.35rem}.lx-service-card h3{margin:4px 0 2px;font-size:1.06rem}.lx-service-card h4{margin:0 0 10px;color:#1975a5;font-size:.82rem}.lx-service-card p{font-size:.82rem;line-height:1.55;color:#637b8b;margin:0}.lx-service-card .go{position:absolute;right:18px;bottom:19px;width:42px;height:42px;border-radius:50%;border:1px solid #2e80aa;display:grid;place-items:center;color:#2e80aa}

/* Contact */
.lx-contact-hero .lx-hero-inner{min-height:345px;padding-top:38px;padding-bottom:56px;align-items:center}.lx-contact-hero .lx-hero-copy{width:min(600px,47%)}.lx-contact-hero h1{font-size:clamp(3.1rem,5vw,4.9rem)}.lx-contact-hero .lx-vertical-label{left:40%;top:14%}
.lx-contact-shell{padding:34px 0 70px;background:#f7fbfd}
.lx-contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:18px;align-items:stretch}
.lx-contact-panel{position:relative;border:1px solid #d9e7ef;border-radius:18px;background:#fff;padding:25px 28px;box-shadow:0 12px 28px rgba(35,68,88,.045);overflow:hidden}
.lx-contact-panel h2{font-size:2rem;margin:7px 0 10px}.lx-contact-panel .section-tag{margin-bottom:4px}.lx-contact-intro{color:#61798a;max-width:600px;margin-bottom:22px}
.lx-contact-details{display:grid;gap:17px;max-width:440px}.lx-contact-detail{display:grid;grid-template-columns:32px 112px 1fr;gap:10px;align-items:start;color:#3f5e71}.lx-contact-detail i{font-size:1.35rem;color:#1e78a4}.lx-contact-detail strong{color:#17344b}.lx-contact-landmarks{position:absolute;right:-25px;bottom:0;width:42%;opacity:.65;mix-blend-mode:multiply}
.lx-contact-form-wrap{display:grid;grid-template-columns:1fr 165px;gap:20px}.lx-contact-form-title h2{margin-bottom:2px}.lx-contact-form-title p{margin:0 0 16px;color:#698091}
.lx-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.lx-form-grid label{display:grid;gap:5px;font-size:.72rem;font-weight:700;color:#38566a}.lx-form-grid input,.lx-form-grid textarea,.lx-form-grid select{width:100%;border:1px solid #bad0dd;border-radius:7px;padding:10px 11px;font:inherit;background:#fff;color:#16334b}.lx-form-grid textarea{resize:vertical}.lx-form-grid .full{grid-column:1/-1}.lx-form-grid .checkbox{display:flex;align-items:flex-start;gap:8px;font-size:.7rem;font-weight:500}.lx-form-grid .checkbox input{width:auto;margin-top:3px}.lx-form-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.lx-form-actions .btn{min-height:46px;border-radius:7px}.lx-contact-values{border-left:1px solid #d8e5ec;padding-left:22px;display:grid;align-content:center;gap:24px}.lx-contact-value i{font-size:1.65rem;color:#1f78a4}.lx-contact-value strong{display:block;margin-top:7px;color:#14324a}.lx-contact-value small{display:block;margin-top:3px;font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:#4e8aab;line-height:1.45}
.lx-commitment{display:grid;grid-template-columns:1fr repeat(4,auto);gap:28px;align-items:center;margin-top:26px;padding:0 4px}.lx-commitment strong{font-size:1.35rem}.lx-commitment .lx-mini{display:flex;align-items:center;gap:10px;font-size:.68rem;color:#456b82}.lx-commitment .lx-mini i{font-size:1.45rem;color:#1f78a4}

/* Insights harmonised with new visual system */
.lx-insights-hero{min-height:340px}.lx-insights-hero .lx-hero-inner{min-height:340px;padding-top:44px;padding-bottom:54px}.lx-insights-hero .lx-world{opacity:.4}.lx-insights-hero .lx-hero-copy{width:min(650px,60%)}

@keyframes lxWorld{from{transform:translate3d(-6px,1px,0) scale(1)}to{transform:translate3d(8px,-4px,0) scale(1.018)}}

@media(max-width:1100px){
 .lx-model{right:2%;width:min(42vw,500px)}.lx-model-services{right:0;width:min(49vw,600px)}.lx-australia{right:15%;opacity:.46}.lx-side-copy,.lx-side-list{right:1%}.lx-values{grid-template-columns:repeat(2,1fr);gap:14px}.lx-value{border-right:0;margin-right:0}.lx-hero-copy{width:53%}.lx-approach-head,.lx-services-intro{grid-template-columns:1fr 1fr}.lx-approach-head .lx-outline-link,.lx-services-intro .lx-outline-link{grid-column:1/-1;justify-self:start}.lx-contact-grid{grid-template-columns:1fr}
}
@media(max-width:820px){
 .site-header{height:76px}.nav-wrap{height:76px}.main-nav{top:76px}.brand-copy small{display:none}
 .lx-hero-inner{min-height:690px;align-items:flex-start;padding-top:54px;padding-bottom:310px}.lx-hero-copy{width:100%;max-width:680px}.lx-hero-fade{background:linear-gradient(180deg,rgba(251,253,254,.995) 0%,rgba(251,253,254,.96) 55%,rgba(251,253,254,.38) 82%,rgba(251,253,254,.06) 100%)}
 .lx-model{right:-55px;bottom:-20px;width:430px;opacity:.48}.lx-model-services{width:500px;right:-100px}.lx-model-contact{width:380px;right:-40px;bottom:5px}.lx-world{background-position:70% 80%;background-size:850px auto;opacity:.4}.lx-landmarks{right:-120px;width:650px;opacity:.45}.lx-australia{right:-55px;top:auto;bottom:75px;width:360px;opacity:.28}.lx-reception{width:62%;opacity:.38}.lx-side-copy,.lx-side-list,.lx-sydney,.lx-vertical-label{display:none}
 .lx-values{max-width:520px}.lx-approach-head,.lx-services-intro,.lx-belief-grid{grid-template-columns:1fr;gap:22px}.lx-work-grid,.lx-service-cards{grid-template-columns:1fr 1fr}.lx-steps{grid-template-columns:1fr 1fr}.lx-contact-hero .lx-hero-inner{min-height:510px;padding-bottom:210px}.lx-contact-form-wrap{grid-template-columns:1fr}.lx-contact-values{border-left:0;border-top:1px solid #d8e5ec;padding:18px 0 0;grid-template-columns:repeat(3,1fr)}.lx-commitment{grid-template-columns:1fr 1fr}.lx-contact-landmarks{opacity:.32}
}
@media(max-width:580px){
 .container{width:min(100% - 28px,1280px)}.lx-hero-inner{min-height:690px;padding-top:44px;padding-bottom:280px}.lx-hero h1{font-size:clamp(2.6rem,11vw,4rem)}.lx-hero .lead{font-size:min(var(--hero-intro-size,19px),18px)}.lx-values{grid-template-columns:1fr 1fr;gap:12px}.lx-value small{display:none}.lx-model{width:360px;right:-80px;opacity:.38}.lx-model-services{width:430px;right:-130px}.lx-model-contact{width:330px;right:-70px}.lx-landmarks{width:520px;right:-180px}.lx-work-grid,.lx-service-cards,.lx-steps{grid-template-columns:1fr}.lx-service-card{padding-left:92px}.lx-contact-panel{padding:22px 18px}.lx-contact-detail{grid-template-columns:28px 1fr}.lx-contact-detail strong{grid-column:2}.lx-contact-detail span:last-child{grid-column:2}.lx-form-grid{grid-template-columns:1fr}.lx-form-grid .full{grid-column:auto}.lx-form-actions{grid-template-columns:1fr}.lx-contact-values{grid-template-columns:1fr}.lx-commitment{grid-template-columns:1fr}.lx-contact-landmarks{display:none}.lx-approach,.lx-belief,.lx-services-core{padding-top:50px;padding-bottom:64px}
}
@media(prefers-reduced-motion:reduce){.lx-world,.lx-sydney::before{animation:none}}

/* Lexvia CMS v1.2.7 — real portrait hero correction */
.brand-copy small{letter-spacing:.18em;text-transform:none;font-size:.58rem;color:var(--primary);font-weight:800}
@media(max-width:640px){.brand-copy small{font-size:.52rem;letter-spacing:.12em}}

/* Lexvia CMS v1.3.3 — keep the white fade on background graphics only */
.lx-hero-fade{z-index:5}
.lx-model{z-index:8}
