.elementor-407 .elementor-element.elementor-element-df8d256{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-407 .elementor-element.elementor-element-ccc1c3b{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}:root{--page-title-display:none;}/* Start custom CSS */body{
background:#f4f7fb !important;
font-family:'Poppins',sans-serif;
color:#120046;
overflow-x:hidden;
}

/* FADED LOGO BACKGROUND */

.has-logo-bg{
position:relative;
overflow:hidden;
}

.has-logo-bg::after{
content:'';
position:absolute;

inset:0;

background-image:url('https://www.alvodigital.co.uk/wp-content/uploads/2026/05/alvo-orange-logo-big-.png');
background-repeat:no-repeat;
background-position:center;
background-size:1200px;

opacity:0.30;
filter:blur(0.5px);

pointer-events:none;

z-index:1;
}

.has-logo-bg > *{
position:relative;
z-index:2;
}

/* GLOBAL */
.container{
width:100%;
max-width:1240px;
margin:0 auto;
padding:0 24px;
}

.narrow-container{
max-width:920px;
}

section{
position:relative;
z-index:1;
}

/* REMOVE BLACK BACKGROUNDS */
.services-page,
.services-page section,
.services-page div{
background-color:transparent;
}

/* =========================================================
   HERO SECTION
========================================================= */

.alvo-services-hero{
padding:140px 0 120px;
background:
linear-gradient(135deg,#07002f 0%,#120046 45%,#1a0b5c 100%);
overflow:hidden;
position:relative;
border-radius:0 0 48px 48px;
}

.alvo-services-hero::before{
content:'';
position:absolute;
top:-120px;
right:-120px;
width:420px;
height:420px;
background:rgba(255,140,0,.12);
filter:blur(20px);
border-radius:50%;
}

.has-logo-bg::before{
content:'';
position:absolute;

top:50%;
left:50%;

transform:translate(-50%,-50%);

width:700px;
height:700px;

background-image:url('https://www.alvodigital.co.uk/wp-content/uploads/2026/05/alvo-orange-logo-big-.png');
background-repeat:no-repeat;
background-position:center;
background-size:contain;

opacity:0.05;

pointer-events:none;

z-index:1;
}

.alvo-services-hero .container{
position:relative;
z-index:2;
text-align:center;
}

.mini-title{
display:inline-flex;
align-items:center;
gap:10px;
padding:10px 20px;
border-radius:100px;
background:rgba(255,255,255,.08);
border:1px solid rgba(255,255,255,.12);
font-size:.78rem;
font-weight:700;
letter-spacing:2px;
text-transform:uppercase;
color:#ff8c00;
margin-bottom:28px;
}

.alvo-services-hero h1{
font-size:clamp(3.8rem,8vw,6.4rem);
line-height:1;
font-weight:800;
letter-spacing:-3px;
color:#fff;
margin-bottom:34px;
max-width:1050px;
margin-inline:auto;
}

.hero-text{
font-size:1.18rem;
line-height:1.9;
color:rgba(255,255,255,.84);
max-width:860px;
margin:0 auto 18px;
}

.hero-buttons{
display:flex;
justify-content:center;
gap:18px;
margin-top:42px;
flex-wrap:wrap;
}

.primary-btn{
display:inline-flex;
align-items:center;
justify-content:center;
padding:18px 34px;
background:#ff8c00;
color:#fff;
font-weight:700;
border-radius:18px;
text-decoration:none;
transition:.3s ease;
box-shadow:0 14px 40px rgba(255,140,0,.25);
}

.primary-btn:hover{
transform:translateY(-4px);
}

.secondary-btn{
display:inline-flex;
align-items:center;
justify-content:center;
padding:18px 34px;
background:rgba(255,255,255,.08);
border:1px solid rgba(255,255,255,.14);
color:#fff;
font-weight:600;
border-radius:18px;
text-decoration:none;
backdrop-filter:blur(12px);
transition:.3s ease;
}

.secondary-btn:hover{
background:rgba(255,255,255,.14);
transform:translateY(-4px);
}

/* =========================================================
   STRATEGIC SECTION
========================================================= */

.services-intro-section{
padding:120px 0;
background:#f4f7fb !important;
}

.strategic-layout{
display:grid;
grid-template-columns:1.1fr .9fr;
gap:70px;
align-items:start;
}

.strategic-left h2{
font-size:3rem;
line-height:1.1;
font-weight:800;
color:#120046;
margin-bottom:28px;
letter-spacing:-1.5px;
}

.strategic-left p{
font-size:1.08rem;
line-height:1.9;
color:#4f5573;
margin-bottom:20px;
}

.strategic-right{
display:flex;
flex-direction:column;
gap:24px;
}

.strategic-card{
background:#fff;
padding:34px;
border-radius:28px;
box-shadow:0 20px 50px rgba(18,0,70,.08);
border:1px solid rgba(18,0,70,.06);
position:relative;
overflow:hidden;
transition:.35s ease;
}

.strategic-card::before{
content:'';
position:absolute;
left:0;
top:0;
width:6px;
height:100%;
background:linear-gradient(to bottom,#ff8c00,#ffae42);
}

.strategic-card:hover{
transform:translateY(-8px);
}

.strategic-card h3{
font-size:1.35rem;
font-weight:700;
color:#120046;
margin-bottom:14px;
}

.strategic-card p{
color:#5d647f;
line-height:1.8;
font-size:1rem;
}

/* =========================================================
   SERVICES GRID
========================================================= */

.services-grid-section{
padding:40px 0 120px;
background:#f4f7fb !important;
}

.services-grid{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:34px;
}

.service-box{
background:#fff;
padding:48px;
border-radius:34px;
position:relative;
overflow:hidden;
transition:.4s ease;
box-shadow:0 22px 55px rgba(18,0,70,.08);
border:1px solid rgba(18,0,70,.06);
}

.service-box::before{
content:'';
position:absolute;
top:-120px;
right:-120px;
width:240px;
height:240px;
background:linear-gradient(
135deg,
rgba(255,140,0,.12),
rgba(26,11,92,.08)
);
border-radius:50%;
}

.service-box:hover{
transform:translateY(-10px);
box-shadow:0 35px 80px rgba(18,0,70,.12);
}

.service-tag{
display:inline-flex;
padding:10px 18px;
background:#fff3e6;
border-radius:100px;
font-size:.78rem;
font-weight:700;
letter-spacing:1.4px;
text-transform:uppercase;
color:#ff8c00;
margin-bottom:26px;
}

.service-box h3{
font-size:2rem;
line-height:1.2;
font-weight:800;
color:#120046;
margin-bottom:24px;
letter-spacing:-1px;
}

.service-box p{
font-size:1.03rem;
line-height:1.9;
color:#5c627d;
margin-bottom:18px;
}

.service-link{
display:inline-flex;
align-items:center;
gap:10px;
margin-top:18px;
font-size:1rem;
font-weight:700;
text-decoration:none;
color:#ff8c00;
transition:.3s ease;
}

.service-link:hover{
gap:16px;
}

/* =========================================================
   CONSULTANCY SECTION
========================================================= */

.consultancy-section{
padding:130px 0;
background:
linear-gradient(135deg,#120046 0%,#1a0b5c 100%) !important;
position:relative;
overflow:hidden;
border-radius:48px;
margin:0 24px;
}

.consultancy-section::before{
content:'';
position:absolute;
right:-160px;
top:-100px;
width:420px;
height:420px;
background:rgba(255,140,0,.08);
border-radius:50%;
}

.consultancy-layout{
display:grid;
grid-template-columns:1fr .85fr;
gap:70px;
align-items:center;
}

.consultancy-left h2{
font-size:3rem;
line-height:1.1;
font-weight:800;
color:#fff;
margin-bottom:28px;
}

.consultancy-left p{
color:rgba(255,255,255,.82);
line-height:1.9;
font-size:1.06rem;
margin-bottom:20px;
}

.consultancy-panel{
background:rgba(255,255,255,.08);
backdrop-filter:blur(14px);
padding:42px;
border-radius:30px;
border:1px solid rgba(255,255,255,.12);
}

.consultancy-panel h3{
font-size:1.5rem;
font-weight:700;
color:#fff;
margin-bottom:26px;
}

.consultancy-panel ul{
padding:0;
margin:0;
list-style:none;
display:flex;
flex-direction:column;
gap:18px;
}

.consultancy-panel li{
color:rgba(255,255,255,.84);
padding-left:28px;
position:relative;
line-height:1.6;
}

.consultancy-panel li::before{
content:'';
position:absolute;
left:0;
top:10px;
width:10px;
height:10px;
border-radius:50%;
background:#ff8c00;
}
/* =========================================================
   SUSTAINABLE SECTION
========================================================= */

.sustainable-section{
padding:40px 0 110px;
background:#ffffff !important;
margin-top:-20px;
}

.sustainable-content{
max-width:860px;
margin:0 auto;
text-align:center;
}

.sustainable-content .mini-title{
margin-bottom:22px;
}

.sustainable-content h2{
font-size:clamp(3rem,5vw,4.4rem);
line-height:1.02;
font-weight:800;
letter-spacing:-2px;
color:#120046;
margin-bottom:34px;
}

.sustainable-content p{
font-size:1.08rem;
line-height:1.95;
color:#5f6783;
margin-bottom:24px;
}

/* MOBILE */

@media(max-width:768px){

.sustainable-section{
padding:90px 0;
}

.sustainable-content h2{
font-size:2.2rem;
letter-spacing:-1px;
}

.sustainable-content p{
font-size:1rem;
line-height:1.8;
}

}

/* =========================================================
   WHY SECTION
========================================================= */

.why-section{
padding-top:0 !important;
padding-bottom:120px;
margin-top:-40px;
background:#ffffff !important;
}

.section-heading{
text-align:center;
max-width:860px;
margin:0 auto 70px;
}

.section-heading h2{
font-size:3.4rem;
line-height:1.1;
font-weight:800;
color:#120046;
letter-spacing:-2px;
}

.why-grid{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:30px;
}

.why-card{
background:#f8f9ff;
padding:42px;
border-radius:30px;
border:1px solid rgba(18,0,70,.06);
transition:.35s ease;
position:relative;
overflow:hidden;
}

.why-card::before{
content:'';
position:absolute;
top:0;
left:0;
width:100%;
height:5px;
background:linear-gradient(90deg,#ff8c00,#ffb347);
}

.why-card:hover{
transform:translateY(-8px);
background:#fff;
box-shadow:0 25px 60px rgba(18,0,70,.08);
}

.why-card h3{
font-size:1.45rem;
font-weight:700;
color:#120046;
margin-bottom:18px;
}

.why-card p{
color:#5f6783;
line-height:1.9;
}

/* =========================================================
   FINAL CTA
========================================================= */

.services-final-cta{
padding:130px 0;
background:
linear-gradient(135deg,#07002f 0%,#120046 100%) !important;
text-align:center;
border-radius:48px 48px 0 0;
overflow:hidden;
position:relative;
}

.services-final-cta h2{
font-size:4rem;
font-weight:800;
line-height:1;
color:#fff;
margin-bottom:28px;
}

.services-final-cta p{
max-width:760px;
margin:0 auto 18px;
font-size:1.1rem;
line-height:1.9;
color:rgba(255,255,255,.84);
}

.cta-small-text{
font-size:1rem;
font-weight:600;
color:#ff8c00 !important;
margin-bottom:40px !important;
}

/* =========================================================
   FAQ SECTION
========================================================= */

.faq-section{
padding:120px 0;
background:#f4f7fb !important;
}

.faq-wrapper{
max-width:980px;
margin:0 auto;
display:flex;
flex-direction:column;
gap:24px;
}

.faq-item{
background:#fff;
border-radius:24px;
overflow:hidden;
border:1px solid rgba(18,0,70,.06);
box-shadow:0 18px 45px rgba(18,0,70,.05);
transition:.3s ease;
}

.faq-item.active{
box-shadow:0 24px 55px rgba(18,0,70,.08);
}

.faq-question{
width:100%;
padding:30px 34px;
background:none;
border:none;
display:flex;
justify-content:space-between;
align-items:center;
text-align:left;
cursor:pointer;
font-size:1.15rem;
font-weight:700;
color:#120046;
}

.faq-question::after{
content:'+';
font-size:1.6rem;
color:#ff8c00;
}

.faq-item.active .faq-question::after{
content:'−';
}

.faq-answer{
max-height:0;
overflow:hidden;
transition:max-height .4s ease;
}

.faq-item.active .faq-answer{
max-height:500px;
}

.faq-answer p{
padding:0 34px 34px;
margin:0;
font-size:1rem;
line-height:1.9;
color:#5f6783;
}

/* =========================================================
   MOBILE
========================================================= */

@media(max-width:992px){

.strategic-layout,
.consultancy-layout,
.services-grid,
.why-grid{
grid-template-columns:1fr;
}

.alvo-services-hero h1{
font-size:4rem;
}

.section-heading h2,
.consultancy-left h2,
.services-final-cta h2,
.strategic-left h2{
font-size:2.5rem;
}

.service-box{
padding:38px;
}

.consultancy-section{
margin:0;
border-radius:0;
}

}

@media(max-width:768px){

.alvo-services-hero{
padding:110px 0 90px;
}

.alvo-services-hero h1{
font-size:3rem;
letter-spacing:-1px;
}

.hero-text{
font-size:1rem;
}

.section-heading h2,
.consultancy-left h2,
.services-final-cta h2,
.strategic-left h2{
font-size:2rem;
}

.primary-btn,
.secondary-btn{
width:100%;
}

.hero-buttons{
flex-direction:column;
}

.service-box,
.why-card,
.consultancy-panel{
padding:30px;
}

}
/* FAQ MOBILE FIX */

@media(max-width:768px){

.faq-question{
font-size:1rem;
line-height:1.5;
padding:24px 22px;
padding-right:60px;
word-break:break-word;
white-space:normal;
}

.faq-answer p{
padding:0 22px 28px;
font-size:0.98rem;
line-height:1.8;
}

}/* End custom CSS */