:root{--anthracite:#202322;--anthracite-2:#303432;--green:#449443;--green-light:#87cf86;--grey:#9c9c9c;--ink:#252a27;--muted:#69706c;--cream:#f4f5f2;--line:#dde1de;--content:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font:16px/1.6 Arial,Helvetica,sans-serif}img{max-width:100%;height:auto}a{color:inherit;text-decoration:none}em{font-style:normal;color:var(--green)}.skip-link{position:fixed;left:1rem;top:-100px;z-index:999;background:#fff;color:#111;padding:.75rem 1rem}.skip-link:focus{top:1rem}.site-header{height:88px;padding:0 clamp(24px,5vw,80px);display:flex;align-items:center;gap:44px;background:var(--anthracite);color:#fff;border-bottom:1px solid #ffffff18;position:relative;z-index:50}.brand{display:flex;align-items:center;background:#fff;padding:7px 10px;line-height:0}.site-header>.brand{margin-right:auto}.site-header .brand img{width:clamp(170px,15vw,218px)}.site-navigation ul{display:flex;align-items:center;gap:31px;list-style:none;margin:0;padding:0}.site-navigation a{font-size:14px;opacity:.78;transition:.2s}.site-navigation a:hover,.site-navigation .active>a{opacity:1;color:var(--green-light)}.header-cta{border:1px solid #ffffff40;padding:12px 17px;font-size:13px;display:flex;gap:18px;align-items:center}.header-cta span{color:var(--green-light)}.nav-toggle{display:none}
.component-area:not(.has-hero){max-width:var(--content);min-height:55vh;margin:auto;padding:90px 28px}.component-area.has-hero,.home .component-area,.component-area:has(.hero){padding:0}.home .component-area,.component-area:has(.hero){max-width:none}.home .com-content-article__body,.component-area:has(.hero) .com-content-article__body{display:block}.component-area.has-hero>div:not(.com-content-article){max-width:var(--content);margin:auto}.item-page h1,.com-content-article h1{font-size:clamp(42px,5vw,70px);line-height:1.03;letter-spacing:-.045em;margin:0 0 30px}.item-page h2,.com-content-article h2{font-size:clamp(30px,3vw,46px);line-height:1.1;letter-spacing:-.035em;margin:60px 0 20px}.item-page h3,.com-content-article h3{font-size:25px;line-height:1.25}.item-page p,.com-content-article p{color:var(--muted);max-width:850px}.home .hero p,.home .bc-section p,.home .contact p,.component-area:has(.hero) .hero p,.component-area:has(.hero) .bc-section p,.component-area:has(.hero) .contact p{max-width:initial}.page-header h1{font-size:clamp(42px,5vw,70px);line-height:1.03}.article-info{font-size:13px;color:var(--grey)}.pager{display:flex;justify-content:space-between;margin-top:50px}
.hero{min-height:720px;background:radial-gradient(circle at 72% 35%,#39523c 0,#303432 27%,#202322 62%);color:#fff;display:grid;grid-template-columns:minmax(0,1fr) minmax(400px,.8fr);padding:100px max(24px,calc((100vw - 1260px)/2)) 75px;overflow:hidden}.hero-copy{max-width:730px;position:relative;z-index:2}.eyebrow{font-size:12px;letter-spacing:.22em;font-weight:700;color:#c3c7c4;display:flex;align-items:center;gap:12px}.eyebrow span{width:28px;height:2px;background:var(--green)}.eyebrow.dark{color:#69706c}.hero h1{font-size:clamp(58px,6vw,92px);line-height:.94;letter-spacing:-.055em;margin:34px 0 30px}.hero-intro{max-width:635px;font-size:19px;line-height:1.65;color:#d0d3d1}.hero-actions{display:flex;align-items:center;gap:35px;margin-top:42px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:17px 21px;font-weight:700;font-size:14px}.button.primary{background:var(--green);color:#172018}.text-link{font-size:14px;border-bottom:1px solid #ffffff35;padding-bottom:7px}.trust-row{display:flex;gap:38px;margin-top:60px;padding-top:27px;border-top:1px solid #ffffff1f;color:#a7ada9;font-size:12px;line-height:1.45}.trust-row span{padding-right:34px;border-right:1px solid #ffffff1f}.trust-row span:last-child{border:0}.trust-row b{color:#fff}.hero-visual{position:relative;min-height:520px;align-self:center}.grid-glow{position:absolute;inset:2% -18% -8% 0;background-image:linear-gradient(#78bd770e 1px,transparent 1px),linear-gradient(90deg,#78bd770e 1px,transparent 1px);background-size:42px 42px;transform:perspective(600px) rotateX(55deg) rotateZ(-16deg);mask-image:radial-gradient(ellipse,#000 10%,transparent 68%)}.orbit{position:absolute;border:1px solid #72bb7145;border-radius:50%;left:50%;top:42%;transform:translate(-50%,-50%)}.orbit-one{width:390px;height:390px}.orbit-two{width:270px;height:270px}.orbit:after,.orbit:before{content:"";position:absolute;background:var(--green);border-radius:50%;box-shadow:0 0 18px #66b665}.orbit:before{width:8px;height:8px;top:15%;left:17%}.orbit:after{width:5px;height:5px;bottom:12%;right:20%}.core{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);width:170px;height:170px;border:1px solid #75c274a8;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#29342b99;box-shadow:0 0 70px #44944340}.core small{color:#aeb5b0;font-size:11px}.core strong{font-size:19px;line-height:1.15;margin-top:6px}.data-card{position:absolute;background:#282d29e8;border:1px solid #76bd753d;padding:13px 17px;font-size:12px;color:#edf1ed;box-shadow:0 10px 35px #0004}.data-card i{display:inline-block;width:7px;height:7px;background:var(--green);border-radius:50%;margin-right:9px}.card-a{top:12%;left:8%}.card-b{top:32%;right:-2%}.card-c{bottom:17%;left:7%}.visual-caption{position:absolute;bottom:2%;right:1%;font-size:12px;color:#a3aaa5;text-align:right}
.rexom-section{padding:110px max(24px,calc((100vw - 1260px)/2))}.section-heading h2,.bc-panel h2,.contact h2{font-size:clamp(42px,4vw,64px);line-height:1.05;letter-spacing:-.045em;margin:24px 0}.section-heading>p:last-child{max-width:600px;color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:60px}.service-card{border:1px solid var(--line);padding:32px;min-height:400px;position:relative;display:flex;flex-direction:column;transition:.25s}.service-card:hover{transform:translateY(-6px);border-color:var(--green);box-shadow:0 18px 50px #252a2714}.service-number{position:absolute;right:25px;top:22px;color:var(--grey);font-size:12px}.service-icon{width:55px;height:55px;display:grid;place-items:center;background:#edf6ec;color:var(--green);font-size:25px;margin-bottom:28px}.service-card h3{font-size:26px;line-height:1.15;margin:0 0 17px}.service-card p{color:var(--muted);font-size:15px}.tag-row{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.tag-row span{background:#f0f2ef;padding:7px 9px;font-size:10px;color:#636a66}.service-card>a{margin-top:auto;font-size:13px;font-weight:700;border-top:1px solid #e5e8e5;padding-top:20px;display:flex;justify-content:space-between}.bc-section{display:grid;grid-template-columns:1.2fr .8fr;background:var(--anthracite);color:#fff}.bc-panel,.quote-panel{padding:100px max(35px,calc((100vw - 1260px)/2))}.bc-panel{background:linear-gradient(125deg,#303432,#202322)}.bc-panel>p:not(.eyebrow){max-width:660px;color:#c8cdca}.bc-panel ul{display:grid;grid-template-columns:1fr 1fr;list-style:none;padding:0;margin:35px 0;gap:17px;font-size:14px}.bc-panel li b{color:#78c377;margin-right:10px}.quote-panel{background:var(--green);color:#172018;display:flex;flex-direction:column;justify-content:center}.quote-mark{font:100px/.6 Georgia,serif;opacity:.35}.quote-panel blockquote{font:700 clamp(28px,2.7vw,42px)/1.25 Georgia,serif;margin:30px 0}.split{display:grid;grid-template-columns:1fr .55fr;align-items:end;gap:80px}.phase-list{margin-top:65px;border-top:1px solid var(--line)}.phase-list article{display:grid;grid-template-columns:75px .5fr 1fr;gap:35px;align-items:center;padding:29px 8px;border-bottom:1px solid var(--line)}.phase-list span{color:var(--green);font-size:12px;font-weight:700}.phase-list h3{font-size:24px;margin:0}.phase-list p{color:var(--muted);margin:0}.contact{background:linear-gradient(125deg,#303432,#202322);color:#fff;padding:90px max(24px,calc((100vw - 1260px)/2));display:grid;grid-template-columns:1fr .75fr;gap:80px;align-items:center}.contact-box{border-left:1px solid #ffffff2a;padding-left:60px}.contact-box p{color:#c6cbc8;max-width:500px}.button.light{background:#fff;color:#252a27;margin-top:18px}.phone{display:block;color:var(--green-light);margin-top:22px}
.site-footer{padding:45px clamp(24px,7vw,110px);display:grid;grid-template-columns:1fr auto 1fr auto;gap:38px;align-items:center;background:#171918;color:var(--grey);font-size:12px}.footer-brand .brand{width:max-content}.footer-brand img{width:175px}.footer-brand p{margin:12px 0 0}.partner-logo{width:132px;background:#fff;padding:6px 8px}.footer-modules ul{list-style:none;display:flex;gap:20px;padding:0;margin:0}.footer-contact{display:flex;flex-direction:column}.footer-contact a:hover,.footer-modules a:hover{color:#fff}.copyright{grid-column:1/-1;border-top:1px solid #ffffff18;padding-top:18px}.error-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 70% 30%,#39523c,#202322 65%);color:#fff;padding:30px}.error-page main{max-width:760px}.error-page h1{font-size:clamp(52px,8vw,100px);line-height:.95}.error-page p{color:#c3c7c4}.content-only{padding:30px}
@media(max-width:1000px){.header-cta{margin-left:auto}.nav-toggle{display:flex;flex-direction:column;gap:5px;background:none;border:0;color:#fff;padding:10px;order:3}.nav-toggle span{width:24px;height:2px;background:#fff}.nav-toggle b{position:absolute;width:1px;height:1px;overflow:hidden}.site-navigation{display:none;position:absolute;left:0;right:0;top:72px;background:var(--anthracite);padding:24px}.nav-open .site-navigation{display:block}.site-navigation ul{flex-direction:column;align-items:flex-start}.hero{grid-template-columns:1fr}.hero-visual{min-height:470px}.service-grid,.bc-section,.split,.contact{grid-template-columns:1fr}.contact-box{border-left:0;border-top:1px solid #ffffff2a;padding:30px 0 0}.site-footer{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.site-header{height:72px;padding:0 16px;gap:10px}.site-header .brand{padding:5px 7px}.site-header .brand img{width:140px}.header-cta{font-size:0;padding:10px}.header-cta span{font-size:20px}.hero{padding-top:65px}.hero h1{font-size:52px}.hero-intro{font-size:16px}.hero-actions{align-items:flex-start;flex-direction:column}.trust-row{gap:20px;flex-wrap:wrap}.trust-row span{border:0;padding-right:0}.hero-visual{min-height:390px;transform:scale(.82);margin:-20px -60px}.rexom-section{padding-top:75px;padding-bottom:75px}.bc-panel,.quote-panel{padding:70px 28px}.bc-panel ul{grid-template-columns:1fr}.phase-list article{grid-template-columns:42px 1fr}.phase-list p{grid-column:2}.contact{padding-top:70px;padding-bottom:70px}.site-footer{grid-template-columns:1fr}.footer-modules ul{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.service-card{transition:none}}

/* 1.0.5 – Joomla integration polish */
.home .hero .hero-intro,.component-area:has(.hero) .hero .hero-intro{color:#d0d3d1}
.hero .eyebrow{color:#d6dad7}
.hero .trust-row{color:#c2c8c4}
.hero .core small{color:#c2c8c4}
.hero .visual-caption{color:#c0c6c2}
.home .pager{display:none}
.site-footer{color:#b8bdb9}

/* 1.0.6 – wide-screen layout */
:root{--content:1600px}
.hero,.rexom-section,.contact{
	padding-left:max(24px,calc((100vw - 1600px)/2));
	padding-right:max(24px,calc((100vw - 1600px)/2))
}

/* 1.0.7 – break the Joomla article wrapper on the home page */
.home main,
.home .component-area,
.home .item-page,
.home .com-content-article,
.home .com-content-article__body,
.component-area:has(.hero),
.component-area:has(.hero) .item-page,
.component-area:has(.hero) .com-content-article,
.component-area:has(.hero) .com-content-article__body{
	width:100%;
	max-width:none;
	margin-left:0;
	margin-right:0;
	padding-left:0;
	padding-right:0
}
.home .item-page,
.home .com-content-article,
.home .com-content-article__body,
.component-area:has(.hero) .item-page,
.component-area:has(.hero) .com-content-article,
.component-area:has(.hero) .com-content-article__body{
	overflow:visible
}
.home .hero,
.home .rexom-section,
.home .bc-section,
.home .contact,
.component-area:has(.hero) .hero,
.component-area:has(.hero) .rexom-section,
.component-area:has(.hero) .bc-section,
.component-area:has(.hero) .contact{
	position:relative;
	left:50%;
	width:100vw;
	max-width:100vw;
	margin-left:-50vw;
	margin-right:-50vw
}
