/* ============================================================
   PAGE EXPERTISES
============================================================ */

.exp-hero {
min-height: 80vh;
display: flex;
align-items: center;
background-color: var(--color-dark);
position: relative;
overflow: hidden;
}

.exp-hero__bg-text {
position: absolute;
right: -5%;
bottom: -8%;
font-family: var(--font-display);
font-size: clamp(10rem, 25vw, 22rem);
color: rgba(234,229,224,.02);
line-height: 1;
pointer-events: none;
user-select: none;
white-space: nowrap;
}

.exp-hero__content {
position: relative;
z-index: 2;
padding-inline: var(--container-px);
max-width: var(--container-max);
margin-inline: auto;
width: 100%;
}

.exp-hero__title {
font-family: var(--font-display);
font-size: clamp(3.5rem, 9vw, 8rem);
color: var(--color-cream);
line-height: 1;
letter-spacing: -0.025em;
}

.exp-hero__title em {
font-style: italic;
color: var(--color-olive);
display: block;
}

.exp-hero__desc {
font-size: clamp(1rem, 1.5vw, 1.2rem);
color: rgba(234,229,224,.6);
max-width: 44ch;
margin-top: 2rem;
}

.exp-tabs {
padding-block: var(--section-py);
}

.exp-tabs__nav {
display: flex;
gap: 0;
border-bottom: 1px solid var(--color-border);
margin-bottom: clamp(3rem, 6vw, 6rem);
overflow-x: auto;
scrollbar-width: none;
}

.exp-tabs__nav::-webkit-scrollbar {
display: none;
}

.exp-tab-btn {
position: relative;
padding: 1rem 2rem;
font-family: var(--font-ui);
font-size: 0.9rem;
font-weight: 600;
color: var(--color-text-muted);
white-space: nowrap;
transition: color var(--transition-fast);
}

.exp-tab-btn::after {
content: '';
position: absolute;
bottom: -1px;
left: 0;
right: 0;
height: 2px;
background-color: var(--color-olive);
transform: scaleX(0);
transition: transform var(--transition-base);
}

.exp-tab-btn.is-active {
color: var(--color-dark);
}

.exp-tab-btn.is-active::after {
transform: scaleX(1);
}

.exp-tab-btn:hover {
color: var(--color-dark);
}

.exp-panels {}

.exp-panel {
display: none;
}

.exp-panel.is-active {
display: block;
}

.exp-panel__grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: clamp(3rem, 7vw, 9rem);
align-items: center;
}

.exp-panel__image {
position: relative;
border-radius: var(--radius-xl);
overflow: hidden;
aspect-ratio: 4/5;
}

.exp-panel__image img {
width: 100%;
height: 100%;
object-fit: cover;
transition: transform 0.9s var(--ease-out), border-radius 1s var(--ease-out);
}

.exp-panel__image:hover img {
transform: scale(1.04);
}

.exp-panel__image-tag {
position: absolute;
bottom: 1.5rem;
left: 1.5rem;
padding: 0.6rem 1.25rem;
background-color: var(--color-cream);
border-radius: 100px;
font-family: var(--font-ui);
font-size: 0.75rem;
font-weight: 700;
color: var(--color-dark);
}

.exp-panel__number {
font-family: var(--font-display);
font-size: 6rem;
color: rgba(42,61,45,.06);
line-height: 1;
margin-bottom: -1rem;
}

.exp-panel__title {
font-family: var(--font-display);
font-size: clamp(2.5rem, 5vw, 4.5rem);
line-height: 1.05;
margin-bottom: 1.5rem;
}

.exp-panel__title em {
font-style: italic;
color: var(--color-olive);
}

.exp-panel__text {
font-size: 1rem;
line-height: 1.8;
color: var(--color-text-muted);
margin-bottom: 2.5rem;
}

.exp-panel__services {
display: flex;
flex-wrap: wrap;
gap: 0.5rem;
margin-bottom: 3rem;
}

.exp-panel__service-tag {
padding: 0.45rem 1rem;
border-radius: 100px;
border: 1.5px solid var(--color-border);
font-family: var(--font-ui);
font-size: 0.8rem;
font-weight: 500;
color: var(--color-text);
transition: background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), border-radius var(--transition-slow);
}

.exp-panel__service-tag:hover {
background-color: var(--color-olive);
border-color: var(--color-olive);
color: var(--color-white);
border-radius: var(--radius-organic-3);
}

.exp-process {
padding-block: var(--section-py);
background-color: var(--color-dark);
color: var(--color-cream);
}

.exp-process__header {
max-width: 54ch;
margin-bottom: clamp(3rem, 6vw, 6rem);
}

.process-steps {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 0;
border: 1px solid rgba(234,229,224,.1);
border-radius: var(--radius-lg);
overflow: hidden;
}

.process-step {
padding: 2.5rem;
border-right: 1px solid rgba(234,229,224,.1);
position: relative;
transition: background-color var(--transition-base);
}

.process-step:last-child {
border-right: none;
}

.process-step:hover {
background-color: rgba(155,172,109,.08);
}

.process-step__num {
font-family: var(--font-display);
font-size: 3rem;
color: rgba(155,172,109,.25);
line-height: 1;
margin-bottom: 1rem;
}

.process-step__title {
font-family: var(--font-display);
font-size: 1.25rem;
color: var(--color-cream);
margin-bottom: 0.75rem;
}

.process-step__text {
font-size: 0.85rem;
line-height: 1.7;
color: rgba(234,229,224,.5);
}

.exp-cta {
padding-block: clamp(5rem, 10vw, 10rem);
text-align: center;
position: relative;
overflow: hidden;
}

.exp-cta__blob-1 {
position: absolute;
width: 400px;
height: 400px;
top: -10%;
left: -5%;
background: radial-gradient(circle, rgba(155,172,109,.08) 0%, transparent 70%);
border-radius: var(--radius-organic);
animation: morphBlob 9s ease-in-out infinite alternate;
pointer-events: none;
}

.exp-cta__blob-2 {
position: absolute;
width: 350px;
height: 350px;
bottom: -10%;
right: -5%;
background: radial-gradient(circle, rgba(42,61,45,.05) 0%, transparent 70%);
border-radius: var(--radius-organic-2);
animation: morphBlob 7s ease-in-out infinite alternate-reverse;
pointer-events: none;
}

.exp-cta__content {
position: relative;
z-index: 2;
}

.exp-cta__title {
font-family: var(--font-display);
font-size: clamp(2.5rem, 5vw, 5rem);
margin-bottom: 2rem;
}

.exp-cta__title em {
font-style: italic;
color: var(--color-olive);
}

.exp-cta__group {
display: flex;
justify-content: center;
gap: 1rem;
flex-wrap: wrap;
}

@media (max-width: 900px) {
.process-steps {
grid-template-columns: repeat(2, 1fr);
}
.process-step:nth-child(2) {
border-right: none;
}
.process-step {
border-bottom: 1px solid rgba(234,229,224,.1);
}
.process-step:nth-child(3),
.process-step:nth-child(4) {
border-bottom: none;
}
}

@media (max-width: 768px) {
.exp-panel__grid {
grid-template-columns: 1fr;
}
.exp-panel__image {
display: none;
}
.process-steps {
grid-template-columns: 1fr;
}
.process-step {
border-right: none;
border-bottom: 1px solid rgba(234,229,224,.1);
}
.process-step:last-child {
border-bottom: none;
}
}
