/*!
Theme Name: Sigma Technology
Theme URI: https://thesigmatech.com/
Author: Sigma Technology
Description: Bespoke theme for Sigma Technology — a premium international software development agency site. Hand-built, no page builder.
Version: 1.1.4
Requires PHP: 7.4
Text Domain: sigma
*/

/* ============ Design Tokens ============ */
:root{
	--c-blue:#2451FF;
	--c-blue-600:#1B3ECC;
	--c-blue-dark:#0B1230;
	--c-black:#0A0B0F;
	--c-ink:#10131C;
	--c-white:#FFFFFF;
	--c-gray-50:#F6F7FB;
	--c-gray-100:#EEF0F6;
	--c-gray-200:#E3E6EF;
	--c-gray-300:#D3D7E3;
	--c-gray-500:#7B8299;
	--c-gray-600:#5B6472;
	--c-gray-700:#3C4250;

	--font-heading:'Sora', 'Segoe UI', Arial, sans-serif;
	--font-body:'Inter', 'Segoe UI', Arial, sans-serif;

	--radius-sm:10px;
	--radius-md:16px;
	--radius-lg:24px;
	--radius-full:999px;

	--shadow-sm:0 2px 10px rgba(10,11,15,.06);
	--shadow-md:0 12px 30px rgba(10,11,15,.10);
	--shadow-lg:0 24px 60px rgba(10,11,15,.16);

	--ease:cubic-bezier(.22,.61,.36,1);
	--header-h:76px;
}

/* ============ Reset ============ */
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;overflow-x:hidden;}
body{
	margin:0;
	font-family:var(--font-body);
	color:var(--c-ink);
	background:var(--c-white);
	line-height:1.6;
	-webkit-font-smoothing:antialiased;
	overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{margin:0;padding:0;list-style:none;}
button{font-family:inherit;cursor:pointer;background:none;border:none;color:inherit;}
h1,h2,h3,h4{font-family:var(--font-heading);margin:0 0 .5em;line-height:1.15;font-weight:700;letter-spacing:-.01em;}
p{margin:0 0 1em;}
.screen-reader-text{position:absolute;left:-9999px;}
.skip-link:focus{left:1rem;top:1rem;position:fixed;background:var(--c-white);padding:.5rem 1rem;border-radius:8px;z-index:9999;}

.container{max-width:1220px;margin:0 auto;padding:0 24px;}

@media (prefers-reduced-motion: reduce){
	*{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important;}
}

/* ============ Reveal-on-scroll ============ */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease), transform .7s var(--ease);}
.reveal.is-visible{opacity:1;transform:translateY(0);}

/* Staggered reveal delays for grid/list items — rows cascade in left to right */
.stats__grid .stat:nth-child(4n+2),
.services__grid .service-card:nth-child(3n+2),
.work__grid .work-card:nth-child(3n+2),
.process__steps .process-step:nth-child(5n+2),
.industries__grid .industry-chip:nth-child(4n+2){transition-delay:.08s;}

.stats__grid .stat:nth-child(4n+3),
.services__grid .service-card:nth-child(3n+3),
.work__grid .work-card:nth-child(3n+3),
.process__steps .process-step:nth-child(5n+3),
.industries__grid .industry-chip:nth-child(4n+3){transition-delay:.16s;}

.stats__grid .stat:nth-child(4n+4),
.process__steps .process-step:nth-child(5n+4),
.industries__grid .industry-chip:nth-child(4n){transition-delay:.24s;}

.process__steps .process-step:nth-child(5n+5){transition-delay:.32s;}

/* ============ Buttons ============ */
.btn{
	display:inline-flex;align-items:center;gap:.5em;
	font-family:var(--font-body);font-weight:600;font-size:.95rem;
	padding:.85em 1.6em;border-radius:var(--radius-full);
	transition:transform .25s var(--ease), box-shadow .25s var(--ease), background .25s var(--ease), color .25s var(--ease);
	white-space:nowrap;
}
.btn--primary{background:var(--c-blue);color:var(--c-white);box-shadow:0 8px 20px rgba(36,81,255,.28);}
.btn--primary:hover{background:var(--c-blue-600);transform:translateY(-2px);box-shadow:0 12px 26px rgba(36,81,255,.36);}
.btn--ghost{background:transparent;color:var(--c-ink);border:1.5px solid var(--c-gray-300);}
.btn--ghost:hover{border-color:var(--c-ink);transform:translateY(-2px);}
.btn--on-dark{color:var(--c-white);border-color:rgba(255,255,255,.35);}
.btn--on-dark:hover{border-color:#fff;background:rgba(255,255,255,.08);}
.btn--large{padding:1.05em 2em;font-size:1rem;}
.btn--small{padding:.6em 1.3em;font-size:.85rem;}
.btn--full{width:100%;justify-content:center;}

/* ============ Section heading ============ */
.eyebrow{
	display:inline-block;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
	color:var(--c-blue);margin-bottom:.75em;
}
.section-heading{max-width:640px;margin:0 auto 2.75rem;text-align:center;}
.section-heading--left{max-width:none;text-align:left;margin-bottom:0;}
.section-heading h2{font-size:clamp(1.6rem,3vw,2.4rem);letter-spacing:-.01em;}
.section-heading__text{color:var(--c-gray-600);font-size:1.05rem;}
.section-heading .eyebrow,.page-hero .eyebrow{display:inline-flex;align-items:center;gap:.55rem;}
.section-heading .eyebrow::before,.page-hero .eyebrow::before{content:"";width:22px;height:2px;border-radius:2px;background:var(--c-blue);display:inline-block;flex-shrink:0;}
.section-heading--left .eyebrow{justify-content:flex-start;}
.section-heading--light .eyebrow::before{background:#8FA6FF;}
.section-heading--light .eyebrow{color:#8FA6FF;}
.section-heading--light h2{color:#fff;}
.section-heading--light .section-heading__text{color:#B7BFDA;}

/* ============ Header ============ */
.site-header{
	position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.85);
	backdrop-filter:blur(14px);border-bottom:1px solid transparent;
	transition:border-color .3s, box-shadow .3s, background .3s;
}
.site-header.is-scrolled{border-color:var(--c-gray-200);box-shadow:var(--shadow-sm);}
.site-header__inner{position:relative;display:flex;align-items:center;justify-content:space-between;height:var(--header-h);gap:1.5rem;}

.brand{display:flex;align-items:center;gap:.6rem;flex-shrink:0;}
.brand__mark{width:46px;height:46px;}
.brand--footer img{width:42px;height:42px;}
.brand__word{font-family:var(--font-heading);font-weight:800;font-size:1.28rem;color:var(--c-ink);line-height:1;}
.brand__word span{display:block;font-family:var(--font-body);font-weight:500;font-size:.62rem;letter-spacing:.16em;color:var(--c-gray-500);text-transform:uppercase;margin-top:2px;}

.main-nav{display:flex;flex:1;justify-content:center;}
.nav-menu{display:flex;align-items:center;gap:.25rem;}
.menu-item{position:relative;}
.menu-link{display:flex;align-items:center;gap:.3rem;padding:.7rem .9rem;border-radius:var(--radius-full);font-weight:600;font-size:.92rem;color:var(--c-ink);transition:background .2s,color .2s;}
.menu-link:hover{background:var(--c-gray-50);color:var(--c-blue);}
.menu-caret{width:14px;height:14px;transition:transform .25s var(--ease);}
.menu-item--has-dropdown:hover .menu-caret{transform:rotate(180deg);}

.menu-item--has-dropdown .sub-menu{
	position:absolute;top:100%;left:0;min-width:280px;background:var(--c-white);
	border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:.6rem;
	opacity:0;visibility:hidden;transform:translateY(8px);
	transition:opacity .2s var(--ease), transform .2s var(--ease), visibility .2s;
	border:1px solid var(--c-gray-100);
}
.menu-item--has-dropdown:hover .sub-menu,
.menu-item--has-dropdown:focus-within .sub-menu{opacity:1;visibility:visible;transform:translateY(4px);}
.sub-menu .menu-item{width:100%;}
.sub-menu .menu-link{width:100%;padding:.7rem .9rem;border-radius:var(--radius-sm);font-weight:500;}
.sub-menu .menu-link:hover{background:var(--c-blue-light,#EDF1FF);color:var(--c-blue);}

/* ---- Mega menu (Services / Solutions / Industries) ---- */
@media (min-width:981px){
	.menu-item--mega{position:static;}
	.menu-item--has-dropdown .sub-menu.mega-menu{
		left:50%;min-width:0;width:min(940px, calc(100vw - 48px));padding:0;overflow:hidden;
		transform:translate(-50%,8px);
	}
	.menu-item--has-dropdown:hover .sub-menu.mega-menu,
	.menu-item--has-dropdown:focus-within .sub-menu.mega-menu{transform:translate(-50%,4px);}
	.mega-menu__inner{display:grid;grid-template-columns:230px 1fr;}
	.mega-menu__intro{
		background:var(--c-gray-50);padding:1.8rem 1.5rem;display:flex;flex-direction:column;gap:.5rem;
		border-right:1px solid var(--c-gray-100);
	}
	.mega-menu__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.2rem;padding:.9rem;max-height:min(60vh,520px);overflow-y:auto;}
}
.mega-menu__eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--c-blue);margin:0;}
.mega-menu__intro h4{font-size:1.1rem;margin:.1rem 0 0;line-height:1.3;}
.mega-menu__viewall{margin-top:1rem;display:inline-flex;align-items:center;gap:.4rem;font-weight:700;font-size:.85rem;color:var(--c-blue);}
.mega-menu__viewall .icon{width:15px;height:15px;transition:transform .25s var(--ease);}
.mega-menu__viewall:hover .icon{transform:translateX(4px);}
.mega-menu__item{display:flex;align-items:flex-start;gap:.7rem;padding:.7rem .75rem;border-radius:var(--radius-sm);transition:background .2s;}
.mega-menu__item:hover{background:var(--c-gray-50);}
.mega-menu__icon{color:var(--c-blue);flex-shrink:0;margin-top:.1rem;}
.mega-menu__icon .icon{width:20px;height:20px;}
.mega-menu__text{display:flex;flex-direction:column;gap:.15rem;}
.mega-menu__text strong{font-size:.9rem;font-weight:700;color:var(--c-ink);}
.mega-menu__desc{font-size:.78rem;color:var(--c-gray-500);line-height:1.4;}

.mobile-nav .mega-menu__inner{display:block;}
.mobile-nav .mega-menu__intro{border-right:none;border-bottom:1px solid var(--c-gray-100);padding:1rem .25rem;background:transparent;}
.mobile-nav .mega-menu__viewall{margin-top:.75rem;}
.mobile-nav .mega-menu__grid{grid-template-columns:1fr;max-height:none;overflow:visible;padding:0;}
.mobile-nav .mega-menu__item{padding:.85rem .25rem;border-bottom:1px solid var(--c-gray-100);border-radius:0;}

.site-header__actions{display:flex;align-items:center;gap:.9rem;flex-shrink:0;}
.header-cta{display:inline-flex;}
.nav-toggle{display:none;width:42px;height:42px;align-items:center;justify-content:center;border-radius:50%;}
.nav-toggle svg{width:22px;height:22px;}
.nav-toggle__close{display:none;}
.nav-toggle[aria-expanded="true"] .nav-toggle__open{display:none;}
.nav-toggle[aria-expanded="true"] .nav-toggle__close{display:block;}

.menu-item--cta{display:none;}

.mobile-nav{
	position:fixed;top:var(--header-h);left:0;right:0;height:calc(100vh - var(--header-h));
	background:var(--c-white);
	transform:translateX(100%);transition:transform .35s var(--ease);
	overflow-y:auto;z-index:999;
}
.mobile-nav.is-open{transform:translateX(0);}
.mobile-nav__inner{padding:1.5rem 24px 3rem;}
.mobile-nav .nav-menu{flex-direction:column;align-items:stretch;gap:0;}
.mobile-nav .menu-link{padding:1rem .25rem;border-bottom:1px solid var(--c-gray-100);border-radius:0;justify-content:space-between;}
.mobile-nav .sub-menu{position:static;box-shadow:none;opacity:1;visibility:visible;transform:none;display:none;background:var(--c-gray-50);}
.mobile-nav .menu-item--has-dropdown.is-open .sub-menu{display:block;}
.mobile-nav .menu-item--cta{display:block;margin-top:1rem;}
.mobile-nav__cta{margin-top:1.5rem;}

@media (max-width:980px){
	.main-nav,.header-cta{display:none;}
	.nav-toggle{display:flex;}
}

/* ============ Hero ============ */
.hero{position:relative;min-height:calc(100vh - var(--header-h));overflow:hidden;background:var(--c-black);}
.hero__slides{position:relative;height:100%;}
.hero__slide{
	position:absolute;inset:0;display:flex;align-items:center;
	opacity:0;visibility:hidden;transition:opacity .8s var(--ease), visibility .8s;
	min-height:calc(100vh - var(--header-h));
}
.hero__slide.is-active{opacity:1;visibility:visible;position:relative;}
.hero__slide:not(.is-active){position:absolute;}

.hero__slide--blue{background:radial-gradient(circle at 20% 20%, #14225C 0%, var(--c-black) 60%);}
.hero__slide--black{background:radial-gradient(circle at 80% 30%, #1a1a24 0%, var(--c-black) 65%);}
.hero__slide--gradient{background:linear-gradient(135deg,#0B1230 0%,#241B5C 45%,#0A0B0F 100%);}

.hero__bg{position:absolute;inset:0;overflow:hidden;transition:transform .5s var(--ease);will-change:transform;}
.hero__blob{position:absolute;border-radius:50%;filter:blur(70px);opacity:.55;}
.hero__blob--a{width:480px;height:480px;background:var(--c-blue);top:-120px;right:-100px;animation:float1 14s ease-in-out infinite;}
.hero__blob--b{width:360px;height:360px;background:#7A5CFF;bottom:-140px;left:-80px;animation:float2 16s ease-in-out infinite;}
.hero__grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:44px 44px;mask-image:radial-gradient(circle at 60% 40%, black, transparent 70%);}

@keyframes float1{0%,100%{transform:translate(0,0);}50%{transform:translate(-40px,40px);}}
@keyframes float2{0%,100%{transform:translate(0,0);}50%{transform:translate(30px,-30px);}}

.hero__content{position:relative;z-index:2;max-width:1600px;padding:6rem clamp(24px,5vw,64px) 8rem;}
.hero__eyebrow{color:#9DB2FF;font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:.85rem;margin-bottom:1rem;}
.hero__title{color:#fff;font-size:clamp(2.2rem,5vw,3.6rem);margin-bottom:1rem;max-width:820px;}
.hero__text{color:#C4CAE0;font-size:1.15rem;max-width:560px;margin-bottom:2rem;}
.hero__actions{display:flex;gap:1rem;flex-wrap:wrap;}

@keyframes heroContentIn{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:translateY(0);}}
.hero__slide.is-active .hero__eyebrow{animation:heroContentIn .6s var(--ease) both;}
.hero__slide.is-active .hero__title{animation:heroContentIn .6s var(--ease) .08s both;}
.hero__slide.is-active .hero__text{animation:heroContentIn .6s var(--ease) .16s both;}
.hero__slide.is-active .hero__actions{animation:heroContentIn .6s var(--ease) .24s both;}

.hero__controls{position:absolute;bottom:2.2rem;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:1.5rem;z-index:3;}
.hero__arrow{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.25);display:flex;align-items:center;justify-content:center;color:#fff;transition:background .2s,border-color .2s;}
.hero__arrow:hover{background:rgba(255,255,255,.12);border-color:#fff;}
.hero__arrow--prev svg{transform:rotate(180deg);}
.hero__arrow svg{width:16px;height:16px;}
.hero__dots{display:flex;gap:.5rem;}
.hero__dot{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.3);transition:background .3s,width .3s;}
.hero__dot.is-active{background:#fff;width:26px;border-radius:5px;}
.hero__scroll-cue{position:absolute;bottom:2.2rem;right:2.4rem;width:26px;height:42px;border:1.5px solid rgba(255,255,255,.35);border-radius:20px;display:none;}
.hero__scroll-cue span{display:block;width:4px;height:8px;background:#fff;border-radius:3px;margin:7px auto;animation:scrollcue 2s infinite;}
@keyframes scrollcue{0%{transform:translateY(0);opacity:1;}70%{transform:translateY(14px);opacity:0;}100%{opacity:0;}}
@media (min-width:1200px){.hero__scroll-cue{display:block;}}

/* ============ Ticker ============ */
.ticker{background:var(--c-gray-50);border-top:1px solid var(--c-gray-100);border-bottom:1px solid var(--c-gray-100);overflow:hidden;padding:1.2rem 0;}
.ticker__track{display:flex;width:max-content;}
.ticker__row{display:flex;gap:3rem;padding-right:3rem;animation:ticker-scroll 32s linear infinite;white-space:nowrap;}
.ticker:hover .ticker__row{animation-play-state:paused;}
.ticker__row li{font-family:var(--font-heading);font-weight:700;font-size:1.1rem;color:var(--c-gray-500);letter-spacing:.02em;}
@keyframes ticker-scroll{from{transform:translateX(0);}to{transform:translateX(-100%);}}

/* ============ Stats ============ */
.stats{padding:3rem 0;background:var(--c-white);}
.stats__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;text-align:center;}
.stat{padding:1rem;border-radius:var(--radius-md);transition:background .3s var(--ease), transform .3s var(--ease);}
.stat:hover{background:var(--c-gray-50);transform:translateY(-3px);}
.stat__value{display:block;font-family:var(--font-heading);font-size:clamp(2rem,4vw,3rem);font-weight:800;color:var(--c-blue);}
.stat__label{display:block;color:var(--c-gray-600);font-weight:600;margin-top:.4rem;}
@media (max-width:768px){.stats__grid{grid-template-columns:repeat(2,1fr);gap:2rem 1rem;}}

/* ============ Services ============ */
.services{padding:4rem 0;}
.services__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
.service-card{
	background:var(--c-white);border:1px solid var(--c-gray-100);border-radius:var(--radius-lg);
	padding:2.2rem;display:flex;flex-direction:column;gap:.9rem;
	transition:transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s, background .35s var(--ease);
	position:relative;overflow:hidden;
}
.service-card::before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(135deg,rgba(36,81,255,.06),transparent 60%);opacity:0;transition:opacity .3s;}
.service-card:hover{transform:translateY(-6px);box-shadow:0 20px 44px rgba(0,0,0,.28);border-color:var(--c-ink);background:var(--c-ink);}
.service-card:hover::before{opacity:0;}
.service-card__icon{width:52px;height:52px;border-radius:var(--radius-sm);background:var(--c-gray-50);display:flex;align-items:center;justify-content:center;color:var(--c-blue);transition:background .35s,color .35s;}
.service-card__icon .icon{width:26px;height:26px;}
.service-card:hover .service-card__icon{background:rgba(255,255,255,.16);color:#fff;}
.service-card h3{font-size:1.2rem;margin-bottom:.2rem;transition:color .35s;}
.service-card:hover h3{color:#fff;}
.service-card p{color:var(--c-gray-600);font-size:.95rem;margin-bottom:0;transition:color .35s;}
.service-card:hover p{color:rgba(255,255,255,.75);}
.service-card__link{margin-top:auto;padding-top:.8rem;font-weight:700;color:var(--c-blue);display:flex;align-items:center;gap:.4rem;font-size:.92rem;transition:color .35s;}
.service-card:hover .service-card__link{color:#fff;}
.service-card__link .icon{width:16px;height:16px;transition:transform .25s var(--ease);}
.service-card:hover .service-card__link .icon{transform:translateX(4px);}

@media (max-width:980px){.services__grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:640px){.services__grid{grid-template-columns:1fr;}}

/* ============ Industries ============ */
.industries{padding:3.5rem 0;background:var(--c-gray-50);}
.industries__grid{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;}
.industry-chip{
	display:flex;align-items:center;gap:.6rem;background:var(--c-white);border:1px solid var(--c-gray-200);
	border-radius:var(--radius-full);padding:.8rem 1.4rem;font-weight:600;font-size:.95rem;
	transition:transform .25s var(--ease), box-shadow .25s var(--ease), border-color .25s;
}
.industry-chip:hover{transform:translateY(-3px);box-shadow:var(--shadow-sm);border-color:var(--c-blue);color:var(--c-blue);}
.industry-chip__icon{color:var(--c-blue);display:flex;}
.industry-chip__icon .icon{width:20px;height:20px;}
.industry-chip--large{padding:1.1rem 1.8rem;font-size:1.05rem;}
.industries__grid--large{gap:1.2rem;}

/* ============ Featured Work ============ */
.featured-work{padding:4.5rem 0;background:var(--c-ink);}
.work__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;}
.work-card{
	background:#171A26;border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column;
	transition:transform .35s var(--ease), box-shadow .35s var(--ease);border:1px solid #262B3C;
}
.work-card:hover{transform:translateY(-8px);box-shadow:0 30px 60px rgba(0,0,0,.35);}
.work-card__media{position:relative;overflow:hidden;aspect-ratio:4/3;background:#0d0f18;}
.work-card__media img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .5s var(--ease);}
.work-card:hover .work-card__media img{transform:scale(1.06);}
.work-card__tag{position:absolute;top:14px;left:14px;background:rgba(10,11,15,.7);color:#fff;font-size:.72rem;font-weight:700;padding:.4em .8em;border-radius:var(--radius-full);backdrop-filter:blur(6px);}
.work-card__body{padding:1.6rem;}
.work-card__body h3{color:#fff;font-size:1.25rem;}
.work-card__body p{color:#A9AFC4;font-size:.92rem;}
.work-card__link{color:#8FA6FF;font-weight:700;font-size:.9rem;display:flex;align-items:center;gap:.4rem;}
.work-card__link .icon{width:15px;height:15px;transition:transform .25s var(--ease);}
.work-card:hover .work-card__link .icon{transform:translateX(4px);}
.work__more{text-align:center;margin-top:3rem;}

.work-card--light{background:var(--c-white);border-color:var(--c-gray-200);}
.work-card--light:hover{box-shadow:var(--shadow-lg);}
.work-card--light .work-card__body h3{color:var(--c-ink);}
.work-card--light .work-card__body p{color:var(--c-gray-600);}
.work-card--light .work-card__link{color:var(--c-blue);}

@media (max-width:980px){.work__grid{grid-template-columns:1fr;}}

.work__grid--portfolio{grid-template-columns:repeat(4,1fr);}
.work-card--portfolio .work-card__body{padding:1.1rem 1.4rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;}
.work-card--portfolio .work-card__body h3{margin:0;font-size:1.05rem;}
@media (max-width:1080px){.work__grid--portfolio{grid-template-columns:repeat(3,1fr);}}
@media (max-width:640px){.work__grid--portfolio{grid-template-columns:1fr 1fr;}}

/* ============ Process ============ */
.process{padding:4rem 0;}
.process__steps{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:1.5rem;}
.process__line{position:absolute;top:26px;left:5%;right:5%;height:2px;background:var(--c-gray-200);z-index:0;}
.process-step{position:relative;z-index:1;text-align:center;transition:transform .3s var(--ease);}
.process-step:hover{transform:translateY(-4px);}
.process-step__num{
	display:flex;align-items:center;justify-content:center;width:52px;height:52px;margin:0 auto 1.2rem;
	border-radius:50%;background:var(--c-blue);color:#fff;font-family:var(--font-heading);font-weight:800;
	box-shadow:0 0 0 8px var(--c-white);
	transition:box-shadow .3s var(--ease), transform .3s var(--ease);
}
.process-step:hover .process-step__num{transform:scale(1.08);box-shadow:0 0 0 8px var(--c-white),0 10px 24px rgba(36,81,255,.35);}
.process-step h3{font-size:1.05rem;}
.process-step p{color:var(--c-gray-600);font-size:.9rem;}
@media (max-width:980px){
	.process__steps{grid-template-columns:1fr;gap:2rem;text-align:left;}
	.process__line{display:none;}
	.process-step{display:flex;gap:1rem;text-align:left;align-items:flex-start;}
	.process-step__num{margin:0;flex-shrink:0;}
}

/* ============ Brands ============ */
.brands{padding:2.5rem 0;background:var(--c-gray-50);border-top:1px solid var(--c-gray-100);border-bottom:1px solid var(--c-gray-100);}
.brands__label{text-align:center;color:var(--c-gray-500);font-weight:600;margin-bottom:1.6rem;}
.brands__row{display:flex;justify-content:center;flex-wrap:wrap;gap:1.2rem;}
.brand-chip{padding:.7rem 1.6rem;border:1px solid var(--c-gray-300);border-radius:var(--radius-full);font-family:var(--font-heading);font-weight:700;color:var(--c-gray-500);transition:color .25s,border-color .25s;}
.brand-chip:hover{color:var(--c-blue);border-color:var(--c-blue);}

/* ============ Testimonials ============ */
.testimonials{padding:4rem 0 4.5rem;background:var(--c-white);overflow:hidden;}
.testimonial-slider{position:relative;max-width:760px;margin:0 auto;padding:0 24px;}
.testimonial-slider__track{position:relative;min-height:280px;}
.testimonial-card{
	position:absolute;inset:0;background:#fff;border:1px solid var(--c-gray-200);border-radius:var(--radius-lg);
	padding:2.6rem;box-shadow:var(--shadow-md);opacity:0;visibility:hidden;transform:scale(.97);
	transition:opacity .5s var(--ease), transform .5s var(--ease), visibility .5s;
}
.testimonial-card.is-active{opacity:1;visibility:visible;position:relative;transform:scale(1);}
.testimonial-card:not(.is-active){position:absolute;}
.testimonial-card__quote{color:var(--c-blue);opacity:.18;display:block;margin-bottom:.5rem;}
.testimonial-card__quote .icon{width:34px;height:34px;}
.testimonial-card__stars{display:flex;gap:.2rem;color:#FFB13C;margin-bottom:.9rem;}
.testimonial-card__stars .icon{width:16px;height:16px;}
.testimonial-card__text{font-size:1.15rem;color:var(--c-ink);margin-bottom:1.4rem;}
.testimonial-card__author{display:flex;align-items:center;gap:.8rem;}
.testimonial-card__avatar{width:44px;height:44px;border-radius:50%;background:var(--c-blue);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0;}
.testimonial-card__author div{display:flex;flex-direction:column;}
.testimonial-card__author span{color:var(--c-gray-500);font-size:.85rem;}

.testimonial-slider__controls{display:flex;align-items:center;justify-content:center;gap:1.4rem;margin-top:2rem;padding:0;}
.testimonial-slider__arrow{width:40px;height:40px;border-radius:50%;border:1px solid var(--c-gray-300);display:flex;align-items:center;justify-content:center;transition:border-color .2s,background .2s;}
.testimonial-slider__arrow:hover{border-color:var(--c-blue);background:var(--c-gray-50);}
.testimonial-slider__arrow--prev .icon{transform:rotate(180deg);}
.testimonial-slider__arrow .icon{width:15px;height:15px;}
.testimonial-slider__dots{display:flex;gap:.45rem;}
.testimonial-slider__dot{width:8px;height:8px;border-radius:50%;background:var(--c-gray-300);transition:background .3s,width .3s;}
.testimonial-slider__dot.is-active{background:var(--c-blue);width:22px;border-radius:4px;}

@media (max-width:640px){
	.testimonial-card{padding:1.8rem;}
	.testimonial-card__text{font-size:1.02rem;}
}

/* ============ FAQ ============ */
.faq{padding:4rem 0;background:var(--c-gray-50);}
.faq__inner{display:grid;grid-template-columns:.8fr 1.2fr;gap:3rem;align-items:start;}
.faq__inner--full{grid-template-columns:1fr;max-width:760px;}
.faq__list{display:flex;flex-direction:column;gap:.8rem;}
.faq-item{background:#fff;border:1px solid var(--c-gray-200);border-radius:var(--radius-md);overflow:hidden;}
.faq-item__question{width:100%;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.3rem 1.6rem;font-weight:700;text-align:left;font-size:1rem;}
.faq-item__caret{width:18px;height:18px;flex-shrink:0;transition:transform .3s var(--ease);color:var(--c-blue);}
.faq-item.is-open .faq-item__caret{transform:rotate(180deg);}
.faq-item__answer{max-height:0;overflow:hidden;transition:max-height .35s var(--ease);}
.faq-item.is-open .faq-item__answer{max-height:400px;}
.faq-item__answer p{padding:0 1.6rem 1.4rem;color:var(--c-gray-600);margin:0;}
.faq__inner .eyebrow, .faq__inner h2{margin-bottom:.5em;}
.faq__inner a{color:var(--c-blue);font-weight:700;}

@media (max-width:900px){.faq__inner{grid-template-columns:1fr;}}

/* ============ CTA band ============ */
.cta-band{position:relative;padding:4rem 0;overflow:hidden;background:var(--c-black);}
.cta-band__bg{position:absolute;inset:0;background:linear-gradient(120deg,#0B1230,#241B5C 55%,#0A0B0F);}
.cta-band__bg::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 20%, rgba(36,81,255,.35), transparent 55%);}
.cta-band__inner{position:relative;z-index:1;text-align:center;max-width:640px;margin:0 auto;}
.cta-band__inner h2{color:#fff;font-size:clamp(1.7rem,3.4vw,2.4rem);}
.cta-band__inner p{color:#C4CAE0;font-size:1.05rem;}
.cta-band__actions{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap;margin-top:1.5rem;}

/* ============ Footer ============ */
.site-footer{background:var(--c-ink);color:#B7BFDA;padding:3.5rem 0 2rem;}
.site-footer__grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr 1.1fr;gap:2rem;padding-bottom:3rem;border-bottom:1px solid #262B3C;}
.site-footer .brand__word{color:#fff;}
.site-footer .brand__word span{color:#7B8299;}
.site-footer__tagline{margin-top:1rem;max-width:320px;color:#8890A6;font-size:.92rem;}
.site-footer__socials{display:flex;gap:1rem;margin-top:1.2rem;}
.site-footer__socials a{color:#B7BFDA;font-weight:600;font-size:.85rem;display:flex;align-items:center;}
.site-footer__socials .icon{width:20px;height:20px;}
.site-footer h4{color:#fff;font-size:.95rem;margin-bottom:1.2rem;}
.site-footer__col ul{display:flex;flex-direction:column;gap:.7rem;}
.site-footer__col a{color:#9BA2B8;font-size:.92rem;transition:color .2s;}
.site-footer__col a:hover{color:#fff;}
.site-footer__contact li a,.site-footer__contact li span{display:flex;align-items:center;gap:.6rem;}
.site-footer__contact .icon{width:16px;height:16px;flex-shrink:0;color:var(--c-blue);}
.site-footer__bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem .5rem;padding-top:1.6rem;font-size:.85rem;color:#6B7288;}
.site-footer__legal{display:flex;align-items:center;gap:.5rem;}
.site-footer__legal a{color:#9BA2B8;transition:color .2s;}
.site-footer__legal a:hover{color:#fff;}

@media (max-width:1080px){.site-footer__grid{grid-template-columns:1fr 1fr 1fr;}}
@media (max-width:640px){.site-footer__grid{grid-template-columns:1fr 1fr;}}
@media (max-width:420px){.site-footer__grid{grid-template-columns:1fr;}}

/* ============ Generic page hero ============ */
.page-hero{padding:calc(var(--header-h) + 2.25rem) 0 2.75rem;background:var(--c-gray-50);text-align:center;}
.page-hero h1{font-size:clamp(2rem,4.4vw,3rem);max-width:820px;margin:0 auto .6em;}
.page-hero__lead{max-width:640px;margin:0 auto 1.4em;color:var(--c-gray-600);font-size:1.1rem;}
.page-hero--case-study,.page-hero--service{text-align:left;}
.page-hero--case-study .container,.page-hero--service .container{max-width:820px;}
.page-hero--404{min-height:60vh;display:flex;align-items:center;}

/* ============ Service detail ============ */
.service-detail{padding:1.5rem 0 3.5rem;}
.service-detail__grid{display:grid;grid-template-columns:1.6fr 1fr;gap:3rem;}
.check-list{display:flex;flex-direction:column;gap:1rem;}
.check-list li{display:flex;gap:.8rem;align-items:flex-start;}
.check-list .icon{width:20px;height:20px;color:var(--c-blue);flex-shrink:0;margin-top:.15em;}
.check-list--compact{gap:.7rem;margin-bottom:1.4rem;}
.check-list--compact li{font-size:.92rem;}
.tag-list{display:flex;flex-wrap:wrap;gap:.6rem;margin:1rem 0 1.6rem;}
.tag{background:var(--c-gray-100);color:var(--c-gray-700);font-weight:600;font-size:.85rem;padding:.5em 1em;border-radius:var(--radius-full);}
.service-detail__aside{background:var(--c-gray-50);border-radius:var(--radius-lg);padding:2rem;align-self:start;}
@media (max-width:900px){.service-detail__grid{grid-template-columns:1fr;}}

/* ============ Case study ============ */
.case-study-media{padding:0 0 4rem;}
.case-study-media img{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;}
.case-study-stats{padding-bottom:4rem;}
.case-study-body{background:var(--c-gray-50);padding:3rem 0;}
.case-study-body__grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;}
.case-study-body__num{display:inline-flex;color:var(--c-blue);margin-bottom:.6rem;}
.case-study-body__num .icon{width:30px;height:30px;}
.case-study-body h3{font-size:1.3rem;}
.case-study-body p{color:var(--c-gray-600);}
.case-study-features{padding:3.5rem 0;}
.case-study-features__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem 2rem;}
.feature-line{display:flex;gap:.8rem;align-items:flex-start;}
.feature-line .icon{width:20px;height:20px;color:var(--c-blue);flex-shrink:0;margin-top:.2em;}
.feature-line p{margin:0;color:var(--c-gray-700);}
.other-projects{padding:0 0 6rem;}
@media (max-width:900px){.case-study-body__grid,.case-study-features__grid{grid-template-columns:1fr;}}

/* ============ Contact ============ */
.contact{padding:1.5rem 0 4rem;}
.contact__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:3rem;}
.contact__list{display:flex;flex-direction:column;gap:1rem;margin:1.5rem 0;}
.contact__list a,.contact__list span{display:flex;align-items:center;gap:.7rem;font-weight:600;}
.contact__list .icon{width:20px;height:20px;color:var(--c-blue);}
.contact__note{color:var(--c-gray-600);}
.contact__form-wrap{background:var(--c-gray-50);border-radius:var(--radius-lg);padding:2.2rem;}
.contact-form__honeypot{position:absolute;left:-9999px;top:-9999px;}
.form-row{margin-bottom:1.2rem;}
.form-row label{display:block;font-weight:600;font-size:.9rem;margin-bottom:.4rem;}
.form-row input,.form-row select,.form-row textarea{
	width:100%;padding:.85em 1em;border:1px solid var(--c-gray-300);border-radius:var(--radius-sm);
	font-family:inherit;font-size:.95rem;background:#fff;transition:border-color .2s,box-shadow .2s;
}
.form-row input:focus,.form-row select:focus,.form-row textarea:focus{outline:none;border-color:var(--c-blue);box-shadow:0 0 0 3px rgba(36,81,255,.15);}
.form-notice{padding:1em 1.2em;border-radius:var(--radius-sm);margin-bottom:1.4rem;font-weight:600;font-size:.92rem;}
.form-notice--success{background:#E7F7EE;color:#1E7E45;}
.form-notice--error{background:#FDEDEC;color:#B3261E;}
@media (max-width:900px){.contact__grid{grid-template-columns:1fr;}}

/* ============ About ============ */
.our-story{padding:2.75rem 0 1.5rem;}
.our-story__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:3.5rem;align-items:start;}
.our-story__age{background:var(--c-blue-dark);border-radius:var(--radius-lg);padding:3rem 2rem;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:.8rem;position:sticky;top:calc(var(--header-h) + 2rem);}
.our-story__age-number{font-family:var(--font-display,inherit);font-size:6rem;line-height:1;font-weight:700;color:#fff;background:linear-gradient(135deg,#fff,#8FA6FF);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.our-story__age-label{color:var(--c-gray-300);font-size:.95rem;max-width:220px;}
.our-story p{color:var(--c-gray-600);}
.our-story__closing{font-weight:600;color:var(--c-ink);font-size:1.1rem;}
@media (max-width:900px){.our-story__grid{grid-template-columns:1fr;}.our-story__age{position:static;padding:2rem;}}

.about-story{padding:.5rem 0 3.5rem;}
.about-story__grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;}
.about-story p{color:var(--c-gray-600);}
.about-story__links{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.5rem;}
@media (max-width:900px){.about-story__grid{grid-template-columns:1fr;}}

/* ============ Generic content / blog ============ */
.generic-content{padding:3rem 0 4rem;}
.generic-content__inner{max-width:760px;margin:0 auto;}
.blog-post{padding-bottom:2.5rem;margin-bottom:2.5rem;border-bottom:1px solid var(--c-gray-200);}
.blog-post__meta{color:var(--c-gray-500);font-size:.85rem;margin-bottom:.5rem;}

/* ============ Body scroll lock when mobile nav open ============ */
body.nav-open{overflow:hidden;}
