.elementor-599 .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-599 .elementor-element.elementor-element-df8d256.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-599 .elementor-element.elementor-element-b0ba649{width:100%;max-width:100%;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-599 .elementor-element.elementor-element-df8d256{--width:100%;}}/* Start custom CSS */body{
background:#f4f7fb !important;
font-family:'Poppins',sans-serif;
color:#120046;
overflow-x:hidden;
margin:0;
padding:0;
}

/* =========================================================
GLOBAL
========================================================= */

*{
box-sizing:border-box;
}

.services-page{
background:#f4f7fb;
}

.container{
width:100%;
max-width:1240px;
margin:0 auto;
padding:0 24px;
position:relative;
z-index:2;
}

.narrow-container{
max-width:920px;
}

section{
position:relative;
overflow: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;

pointer-events:none;
z-index:1;
}

.has-logo-bg > *{
position:relative;
z-index:2;
}

/* =========================================================
HERO
========================================================= */

.alvo-services-hero{
padding:140px 0 120px;
background:
linear-gradient(
135deg,
#07002f 0%,
#120046 45%,
#1a0b5c 100%
);
border-radius:0 0 48px 48px;
text-align:center;
}

.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%;
}

.mini-title{
display:inline-flex;
align-items:center;
justify-content:center;
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.2rem);
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.15rem;
line-height:1.9;
color:rgba(255,255,255,.84);
max-width:860px;
margin:0 auto;
}

.hero-buttons{
display:flex;
justify-content:center;
gap:18px;
margin-top:42px;
flex-wrap:wrap;
}

/* =========================================================
BUTTONS
========================================================= */

.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);
}

.light-secondary-btn{
display:inline-flex;
align-items:center;
justify-content:center;
padding:18px 34px;
background:#fff;
border:1px solid rgba(18,0,70,.12);
color:#120046;
font-weight:600;
border-radius:18px;
text-decoration:none;
transition:.3s ease;
box-shadow:0 10px 30px rgba(18,0,70,.06);
}

.light-secondary-btn:hover{
transform:translateY(-4px);
background:#f7f8fc;
}

/* =========================================================
INTRO SECTION
========================================================= */

.services-intro-section{
padding:120px 0;
background:#f4f7fb;
}

.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;
transition:.35s ease;
}

.strategic-card::before{
content:'';
position:absolute;
left:0;
top:0;
width:6px;
height:100%;
background:linear-gradient(to bottom,#ff8c00,#ffae42);
border-radius:20px 0 0 20px;
}

.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;
}

/* =========================================================
CONTENT SECTION
========================================================= */

.web-design-content-section{
padding:120px 0;
background:#ffffff;
}

.web-design-section.alt{
background:#f4f7fb;
}

.web-design-content{
max-width:980px;
margin:0 auto;
}

.web-design-content h2{
font-size:3rem;
line-height:1.1;
font-weight:800;
letter-spacing:-2px;
color:#120046;
margin-bottom:30px;
}

.web-design-content h3{
font-size:1.8rem;
line-height:1.2;
font-weight:700;
color:#120046;
margin-top:50px;
margin-bottom:20px;
}

.web-design-content p{
font-size:1.08rem;
line-height:1.95;
color:#5f6783;
margin-bottom:22px;
}

.web-design-content ul{
padding-left:24px;
margin:30px 0;
}

.web-design-content li{
font-size:1.02rem;
line-height:1.9;
color:#5f6783;
margin-bottom:12px;
}

/* =========================================================
SERVICES GRID
========================================================= */

.services-grid-section{
padding:40px 0 120px;
background:#f4f7fb;
}

.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;
}

.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: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;
}

/* =========================================================
Web Design  CARD GRID
========================================================= */

.web-design-grid{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:28px;
margin-top:50px;
}

.web-design-card{
background:#fff;
padding:36px;
border-radius:28px;
border:1px solid rgba(18,0,70,.06);
box-shadow:0 18px 45px rgba(18,0,70,.06);
transition:.35s ease;
}

.web-design-card:hover{
transform:translateY(-8px);
box-shadow:0 28px 60px rgba(18,0,70,.10);
}

.web-design-card h3{
margin-top:0;
margin-bottom:16px;
font-size:1.4rem;
}
/* =========================================================
   Web Design CONTENT SECTION
========================================================= */

.web-design-content-section{
padding:120px 0;
background:#ffffff;
}

.content-intro{
max-width:900px;
margin:0 auto 70px;
text-align:center;
}

.content-intro h2{
font-size:clamp(3rem,5vw,4.4rem);
line-height:1.05;
font-weight:800;
letter-spacing:-2px;
color:#120046;
margin-bottom:28px;
}

.content-intro p{
font-size:1.08rem;
line-height:1.95;
color:#5f6783;
margin-bottom:22px;
}

/* FEATURE GRID */

.web-design-feature-grid{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:30px;
margin-bottom:60px;
}

.feature-card{
background:#f8f9ff;
padding:38px;
border-radius:28px;
border:1px solid rgba(18,0,70,.06);
transition:.35s ease;
}

.web-design-feature-card:hover{
transform:translateY(-6px);
background:#fff;
box-shadow:0 24px 60px rgba(18,0,70,.08);
}

.web-design-feature-card h3{
font-size:1.4rem;
font-weight:700;
color:#120046;
margin-bottom:16px;
}

.web-design-feature-card p{
font-size:1rem;
line-height:1.85;
color:#5f6783;
margin:0;
}

/* TABLE */

.web-design-table{
background:#fff;
border-radius:30px;
overflow:hidden;
border:1px solid rgba(18,0,70,.06);
box-shadow:0 20px 55px rgba(18,0,70,.06);
margin-bottom:60px;
}

.table-row{
display:grid;
grid-template-columns:.9fr 1.4fr;
padding:28px 34px;
border-bottom:1px solid rgba(18,0,70,.06);
}

.table-row:last-child{
border-bottom:none;
}

.table-title{
font-weight:700;
color:#120046;
font-size:1rem;
}

.table-text{
color:#5f6783;
line-height:1.8;
font-size:1rem;
}

/* CLOSING */

.content-closing{
max-width:860px;
margin:0 auto;
text-align:center;
}

.content-closing p{
font-size:1.08rem;
line-height:1.95;
color:#5f6783;
}

/* MOBILE */

@media(max-width:768px){

.web-design-content-section{
padding:90px 0;
}

.content-intro h2{
font-size:2.2rem;
letter-spacing:-1px;
}

.web-design-feature-grid{
grid-template-columns:1fr;
}

.table-row{
grid-template-columns:1fr;
gap:10px;
padding:24px;
}

.web-design-feature-card{
padding:30px;
}

}

/* =========================================================
FAQ SECTION
========================================================= */

.faq-section{
padding:120px 0;
background:#f4f7fb;
}

.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-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;
flex-shrink:0;
margin-left:20px;
}

.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;
}

/* =========================================================
FINAL CTA
========================================================= */

.services-final-cta{
padding:130px 0;
background:
linear-gradient(
135deg,
#07002f 0%,
#120046 100%
);
text-align:center;
border-radius:48px 48px 0 0;
}

.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;
}

/* =========================================================
MOBILE
========================================================= */

@media(max-width:992px){

.strategic-layout,
.services-grid,
.seo-card-grid{
grid-template-columns:1fr;
}

.alvo-services-hero h1{
font-size:4rem;
}

.section-heading h2,
.services-final-cta h2,
.strategic-left h2,
.seo-content h2{
font-size:2.5rem;
}

}

@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,
.services-final-cta h2,
.strategic-left h2,
.seo-content h2{
font-size:2rem;
letter-spacing:-1px;
}

.hero-buttons{
flex-direction:column;
}

.primary-btn,
.secondary-btn,
.light-secondary-btn{
width:100%;
}

.service-box,
.strategic-card,
.seo-card{
padding:30px;
}

.faq-question{
font-size:1rem;
line-height:1.5;
padding:24px 22px;
padding-right:60px;
}

.faq-answer p{
padding:0 22px 28px;
font-size:.98rem;
line-height:1.8;
}

.services-final-cta{
padding:100px 0;
}

.services-final-cta h2{
font-size:2.3rem;
}

.has-logo-bg::after{
background-size:700px;
opacity:0.30;
}

}
/* FAQ MOBILE FIX */

@media(max-width:768px){

.faq-question{
display:flex;
align-items:flex-start;
justify-content:space-between;

gap:18px;

font-size:0.98rem;
line-height:1.6;

padding:24px 22px;

white-space:normal;
word-break:break-word;

text-align:left;
}

.faq-question::after{
margin-left:0;
margin-top:2px;
flex-shrink:0;
font-size:1.3rem;
line-height:1;
}

.faq-answer p{
padding:0 22px 28px;
font-size:0.96rem;
line-height:1.8;
}

}
/* HERO MOBILE FIX */

@media(max-width:768px){

.alvo-services-hero h1{
font-size:clamp(2.6rem,10vw,3.6rem);
line-height:1;
letter-spacing:-2px;

max-width:340px;
margin:0 auto 26px;

word-break:normal;
overflow-wrap:normal;
hyphens:none;
}

}/* End custom CSS */