/* =============================================================================
   Pure-OX Theme — assets/css/responsive.css
   Responsive overrides for all four breakpoints:
     Mobile:  320px – 767px
     Tablet:  768px – 1023px
     Desktop: 1024px – 1279px
     Wide:    1280px+
   ============================================================================= */

/* =============================================================================
   WIDE SCREENS  (≥ 1280px)
   ============================================================================= */

@media (min-width: 1280px) {

	/* Wider container */
	.container--wide {
		padding-inline: 40px;
	}

	/* Hero layout gets extra breathing room */
	.home-hero {
		min-height: 92vh;
		padding-block: 120px 100px;
	}

	/* Larger stat numbers */
	.hero-stat__value { font-size: 48px; }

	/* 4-column grids tighten up nicely at wide */
	.grid-4 { gap: var(--gap-lg); }

	/* Footer wider gap */
	.footer-grid { gap: 64px; }
}

/* =============================================================================
   DESKTOP  (1024px – 1279px)
   ============================================================================= */

@media (min-width: 1024px) and (max-width: 1279px) {

	:root {
		--section-py: 80px;
	}

	.home-hero__inner {
		gap: 48px;
	}

	.home-hero__title {
		font-size: clamp(36px, 4vw, 56px);
	}

	.footer-grid {
		grid-template-columns: 1.4fr 1fr 1fr 1fr;
		gap: 32px;
	}

	/* Slightly tighter nav on mid-wide screens */
	.nav-link {
		padding: 8px 12px;
		font-size: 15px;
	}
}

/* =============================================================================
   TABLET  (768px – 1023px)
   ============================================================================= */

@media (min-width: 768px) and (max-width: 1023px) {

	:root {
		--section-py: 64px;
		--container-px: 100px;
		--card-p: 28px;
		--gap-md: 24px;
		--gap-lg: 32px;
	}

	/* ── Header (tablet) ────────────────────────────────────────────── */

	/* Hide desktop nav; show hamburger instead */
	.site-header__nav    { display: none; }
	.site-header__hamburger { display: flex; }

	/* CTA hidden on tablet — appears inside mobile drawer */
	.site-header__cta    { display: none; }
	.site-header__search-btn { display: none; }

	/* Mobile drawer is always rendered, hidden via transform */
	/* (styles live in main.css .mobile-drawer block) */

	/* ── Home Hero ───────────────────────────────────────────────────── */
	.home-hero {
		min-height: auto;
		padding-block: 80px 60px;
	}

	.home-hero__inner {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	.home-hero__title { font-size: clamp(32px, 5vw, 48px); }

	.home-hero__stats {
		grid-template-columns: repeat(4, 1fr);
	}

	/* ── Grids ───────────────────────────────────────────────────────── */
	.grid-2 { grid-template-columns: 1fr 1fr; }
	.grid-3 { grid-template-columns: 1fr 1fr; }
	.grid-4 { grid-template-columns: 1fr 1fr; }

	.posts-grid { grid-template-columns: 1fr 1fr; }

	/* ── Sections ────────────────────────────────────────────────────── */
	.section { padding-block: 64px; }

	/* ── Footer ──────────────────────────────────────────────────────── */
	.footer-grid {
		grid-template-columns: 1fr 1fr;
		gap: 40px;
	}

	.footer-main { padding-block: 64px 0; }

	/* ── Post ────────────────────────────────────────────────────────── */
	.post-featured-image__img { height: 360px; }

	.post-navigation { grid-template-columns: 1fr; gap: 20px; }
	.post-navigation__next { text-align: left; }

	/* ── Author box ──────────────────────────────────────────────────── */
	.author-box { flex-direction: column; gap: 16px; }

	/* ── CTA strip ───────────────────────────────────────────────────── */
	.cta-strip__inner {
		flex-direction: column;
		align-items: flex-start;
	}

	/* ── 404 ─────────────────────────────────────────────────────────── */
	.error-404__graphic { gap: 8px; }

	/* ── Home: Split Hero ────────────────────────────────────────────── */
	.split-hero { height: 80vh; }
	.split-hero__trust { gap: 0; }
	.split-hero__trust-item { padding: 0 16px; }
	.split-hero__actions { flex-direction: column; align-items: center; }
	.split-hero__btn { width: 280px; justify-content: center; }

	/* ── Home: Industries Bar ────────────────────────────────────────── */
	.industries-bar__heading { display: none; }
	.industries-bar__items { justify-content: center; flex-wrap: nowrap; }
	.industries-bar__item { padding: 8px 10px; flex: 1; justify-content: center; }

	/* ── Home: Divisions ─────────────────────────────────────────────── */
	.div-services-grid { grid-template-columns: repeat(2, 1fr); }
	.division-featured-card--wide,
	.division-featured-card--wide-reverse { flex-direction: column; }
	.division-featured-card--wide .division-featured-card__image,
	.division-featured-card--wide-reverse .division-featured-card__image { height: 240px; min-height: unset; flex: none; }

	/* ── Home: Why Choose ────────────────────────────────────────────── */
	.why-section__top { grid-template-columns: 1fr; gap: 24px; margin-bottom: 36px; }
	.why-stats { grid-template-columns: repeat(2, 1fr); }
	.why-stat { border-right: none; border-bottom: 1px solid rgba(255, 255, 255, 0.1); }
	.why-stat:nth-child(odd) { border-right: 1px solid rgba(255, 255, 255, 0.1); }
	.why-stat:nth-last-child(-n+2) { border-bottom: none; }
	.why-features { grid-template-columns: repeat(3, 1fr); }

	/* ── Home: Projects ──────────────────────────────────────────────── */
	.projects-showcase__grid { grid-template-columns: 1fr 1fr; }
	.projects-showcase__header { flex-direction: column; align-items: flex-start; }

	/* ── Home: CTA Banner ────────────────────────────────────────────── */
	.cta-banner { padding: 60px 48px; }
}

/* =============================================================================
   MOBILE  (≤ 767px)
   ============================================================================= */

@media (max-width: 767px) {

	:root {
		--section-py: var(--section-py-sm);
		--container-px: 20px;
		--card-p: var(--card-p-sm);
		--gap-md: 20px;
		--gap-lg: 24px;
		--header-height: 64px;
	}

	/* ── Header (mobile) ────────────────────────────────────────────── */

	/* Collapse desktop nav — mobile drawer handles navigation */
	.site-header__nav       { display: none; }
	.site-header__hamburger { display: flex; }
	.site-header__cta       { display: none; }
	.site-header__search-btn { display: none; }

	/* Drawer narrower on small screens */
	.mobile-drawer { width: 100vw; }

	/* Mobile logo size */
	.site-header__logo img { height: 36px; }
	.site-header__wordmark { font-size: 20px; }
	.site-header__gem svg  { width: 22px; height: 25px; }

	/* Search panel full-width on mobile */
	.site-header__search-panel { padding: 12px 0; }
	.site-header__search-form  { gap: 8px; }

	/* ── Home Hero ───────────────────────────────────────────────────── */
	.home-hero {
		min-height: auto;
		padding-block: 60px 48px;
		align-items: flex-start;
	}

	.home-hero__inner {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.home-hero__title {
		font-size: clamp(30px, 8vw, 40px);
		margin-bottom: 16px;
	}

	.home-hero__subtitle {
		font-size: var(--fs-body);
		margin-bottom: 28px;
	}

	.home-hero__actions {
		flex-direction: column;
	}

	.home-hero__actions .btn {
		width: 100%;
		justify-content: center;
	}

	.home-hero__stats {
		grid-template-columns: 1fr 1fr;
		gap: 12px;
	}

	.hero-stat {
		padding: 20px 16px;
	}

	.hero-stat__value { font-size: clamp(28px, 7vw, 36px); }

	/* ── Page Hero ───────────────────────────────────────────────────── */
	.page-hero {
		padding-block: 48px 40px;
	}

	.page-hero__title {
		font-size: clamp(24px, 7vw, 36px);
	}

	/* ── Post Hero ───────────────────────────────────────────────────── */
	.post-hero {
		padding-block: 48px 40px;
	}

	.post-hero__title {
		font-size: clamp(22px, 6vw, 30px);
	}

	.post-hero__meta {
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
	}

	/* ── Grids ───────────────────────────────────────────────────────── */
	.grid-2,
	.grid-3,
	.grid-4 {
		grid-template-columns: 1fr;
	}

	.posts-grid          { grid-template-columns: 1fr; }
	.divisions-grid      { gap: 16px; }
	.projects-grid       { gap: 20px; }
	.testimonials-grid   { gap: 20px; }
	.team-grid           { grid-template-columns: 1fr 1fr; gap: 16px; }

	/* ── Sections ────────────────────────────────────────────────────── */
	.section { padding-block: 48px; }
	.section--sm { padding-block: 36px; }

	.section-heading { margin-bottom: 28px; }

	.section-title {
		font-size: clamp(24px, 6vw, 32px);
	}

	.section-subtitle { font-size: var(--fs-body); }

	/* ── Cards ───────────────────────────────────────────────────────── */
	.division-card { padding: 24px 20px; }
	.testimonial-card { padding: 24px; }

	.post-card__body { padding: 20px; }

	/* ── Author box ──────────────────────────────────────────────────── */
	.author-box {
		flex-direction: column;
		padding: 24px;
		gap: 16px;
	}

	/* ── Post navigation ─────────────────────────────────────────────── */
	.post-navigation {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.post-navigation__next { text-align: left; }

	/* ── Post footer ─────────────────────────────────────────────────── */
	.post-footer {
		flex-direction: column;
		gap: 16px;
	}

	/* ── Featured image ──────────────────────────────────────────────── */
	.post-featured-image__img { height: 220px; }

	/* ── CTA strip ───────────────────────────────────────────────────── */
	.cta-strip { padding-block: 48px; }

	.cta-strip__inner {
		flex-direction: column;
		align-items: flex-start;
		gap: 24px;
	}

	.cta-strip__actions {
		flex-direction: column;
		width: 100%;
	}

	.cta-strip__actions .btn {
		width: 100%;
		justify-content: center;
	}

	/* ── Footer ──────────────────────────────────────────────────────── */
	.footer-grid {
		grid-template-columns: 1fr;
		gap: 36px;
	}

	.footer-main { padding-block: 56px 0; }

	/* ── Search result ───────────────────────────────────────────────── */
	.search-result-item {
		flex-direction: column;
		gap: 16px;
	}

	.search-result-item__thumb {
		width: 100%;
		height: 180px;
	}

	.search-hero-form {
		flex-direction: column;
	}

	/* ── 404 page ────────────────────────────────────────────────────── */
	.error-404__graphic { gap: 4px; }
	.error-404__number  { font-size: clamp(60px, 18vw, 100px); }

	.error-404__links {
		flex-direction: column;
	}

	.error-404__links .btn {
		width: 100%;
		justify-content: center;
	}

	.error-404__search-form { flex-direction: column; }

	/* ── Breadcrumbs ─────────────────────────────────────────────────── */
	.breadcrumbs { display: none; }

	/* ── Site content ────────────────────────────────────────────────── */
	.site-content-wrapper { padding-top: var(--header-height); }

	/* ── Buttons ─────────────────────────────────────────────────────── */
	.btn--lg {
		padding: 14px 24px;
		font-size: var(--fs-body);
	}

	/* ── No results ──────────────────────────────────────────────────── */
	.no-results { padding: 48px 0; }

	.no-results__actions {
		flex-direction: column;
	}

	.no-results__actions .btn {
		width: 100%;
		justify-content: center;
	}

	/* ── Pagination ──────────────────────────────────────────────────── */
	.pagination ul { flex-wrap: wrap; gap: 6px; }

	/* ── Comments ────────────────────────────────────────────────────── */
	.comment-respond { margin-top: 32px; }

	/* ── Header logo ─────────────────────────────────────────────────── */
	.site-header__logo img { height: 36px; }

	.site-header__wordmark { font-size: 20px; }

	/* ── Home: Split Hero ────────────────────────────────────────────── */
	.split-hero {
		height: auto;
		min-height: auto;
		max-height: none;
	}

	.split-hero__panels {
		position: static;
		flex-direction: column;
	}

	.split-hero__panel {
		min-height: 50vh;
	}

	/* On mobile, content sits below panels naturally */
	.split-hero__body {
		position: static;
		background: var(--color-primary);
		padding: 48px var(--container-px);
	}

	.split-hero__title { font-size: 32px; }
	.split-hero__subtitle { font-size: 15px; }
	.split-hero__trust { flex-wrap: wrap; gap: 16px; border-top: none; padding-top: 24px; margin-top: 32px; }
	.split-hero__trust-item { border-right: none; padding: 0 12px; flex: 1 0 40%; }

	.split-hero__actions { flex-direction: column; }

	.split-hero__btn {
		width: 100%;
		justify-content: center;
	}

	/* ── Home: Industries Bar ────────────────────────────────────────── */
	.industries-bar__inner { flex-direction: column; gap: 20px; }
	.industries-bar__heading { border-right: none; padding-right: 0; text-align: center; }
	.industries-bar__items { justify-content: center; flex-wrap: wrap; gap: 8px; }
	.industries-bar__item { border-right: none; padding: 10px 16px; }

	/* ── Home: Divisions ─────────────────────────────────────────────── */
	.divisions-showcase { padding: 56px 0; }
	.division-block { margin-bottom: 48px; }
	.div-services-grid { grid-template-columns: 1fr; gap: 16px; }
	.division-featured-card__body { padding: 28px; }

	/* ── Home: Why Choose ────────────────────────────────────────────── */
	.why-section { padding: 56px 0; }
	.why-section__top { grid-template-columns: 1fr; gap: 16px; margin-bottom: 28px; }
	.why-stats { grid-template-columns: repeat(2, 1fr); margin-bottom: 24px; }
	.why-stat { padding: 24px 20px; }
	.why-features { grid-template-columns: 1fr; gap: 16px; }
	.why-card { padding: 24px; }

	/* ── Home: Projects ──────────────────────────────────────────────── */
	.projects-showcase { padding: 56px 0; }
	.projects-showcase__grid { grid-template-columns: 1fr; }
	.projects-showcase__header { flex-direction: column; align-items: flex-start; gap: 12px; }
	.project-image-card { aspect-ratio: auto; min-height: 260px; }

	/* ── Home: CTA Banner ────────────────────────────────────────────── */
	.cta-banner-section { padding: 48px 0; }

	.cta-banner {
		padding: 48px 28px;
		border-radius: 16px;
	}

	.cta-banner__heading { font-size: 28px; }
	.cta-banner__text { font-size: 16px; }

	.cta-banner__actions { flex-direction: column; align-items: stretch; }

	.cta-banner__btn {
		justify-content: center;
		padding: 14px 28px;
		font-size: 16px;
	}
}

/* =============================================================================
   TINY MOBILE  (≤ 400px) — extra polish for small devices
   ============================================================================= */

@media (max-width: 400px) {

	:root { --container-px: 16px; }

	.home-hero__title { font-size: 28px; }

	.team-grid { grid-template-columns: 1fr; }

	.hero-stat__value { font-size: 26px; }

	.home-hero__stats { gap: 10px; }

	.footer-logo__text { font-size: 22px; }
}

/* =============================================================================
   ABOUT US PAGE — RESPONSIVE OVERRIDES
   ============================================================================= */

/* ── Desktop (1024–1279px) ───────────────────────────────────────────── */
@media (min-width: 1024px) and (max-width: 1279px) {

	.about-hero__heading { font-size: 52px; }
	.about-who__grid     { gap: 48px; }
	.about-cta-card      { padding: 60px; }
	.about-cta-card__heading { font-size: 40px; }
}

/* ── Tablet (768–1023px) ─────────────────────────────────────────────── */
@media (min-width: 768px) and (max-width: 1023px) {

	/* Hero */
	.about-hero__heading { font-size: 48px; }
	.about-hero__sub     { font-size: 16px; }
	.about-hero__content { padding-bottom: 48px; }

	/* Who We Are */
	.about-who__grid { gap: 40px; }

	/* Stats */
	.about-stats__grid   { grid-template-columns: 1fr 1fr; gap: 32px; }
	.about-stats__number { font-size: 48px; }

	/* Core Strengths */
	.about-strengths__grid { grid-template-columns: 1fr 1fr; }

	/* CTA */
	.about-cta-card {
		flex-direction: column;
		align-items: center;
		text-align: center;
		padding: 60px 48px;
	}

	.about-cta-card__sub { margin-inline: auto; }

	.about-cta-card__actions {
		flex-direction: column;
		width: 100%;
	}

	.about-cta-card__btn { text-align: center; }

	.about-cta-card__heading { font-size: 36px; }
}

/* ── Mobile (≤ 767px) ────────────────────────────────────────────────── */
@media (max-width: 767px) {

	/* Hero — auto height, min 380px */
	.about-hero {
		height: auto;
		min-height: 380px;
	}

	.about-hero__heading { font-size: 32px; }
	.about-hero__sub     { font-size: 15px; }
	.about-hero__content { padding-bottom: 40px; }

	/* Who We Are — stack vertically */
	.about-who__grid     { grid-template-columns: 1fr; }
	.about-who__heading  { font-size: clamp(26px, 6vw, 34px); }
	.about-who__body     { font-size: 16px; }
	.about-mv-card       { padding: 24px; }
	.about-mv-card--vision { margin-top: 20px; }

	/* Stats — 2-column */
	.about-stats__grid   { grid-template-columns: 1fr 1fr; gap: 28px; }
	.about-stats__number { font-size: 44px; }

	/* Core Strengths — single column */
	.about-strengths__grid { grid-template-columns: 1fr; gap: 20px; }
	.about-strength-card   { padding: 24px; }
	.about-strengths__intro { margin-bottom: 40px; }

	/* CTA */
	.about-cta-card {
		flex-direction: column;
		align-items: flex-start;
		padding: 40px 28px;
		border-radius: 16px;
		gap: 32px;
	}

	.about-cta-card__heading { font-size: 28px; }
	.about-cta-card__sub     { font-size: 16px; }

	.about-cta-card__actions {
		flex-direction: column;
		width: 100%;
	}

	.about-cta-card__btn {
		padding: 14px 28px;
		font-size: 16px;
		text-align: center;
	}
}

/* =============================================================================
   SERVICES & DIVISIONS PAGE — RESPONSIVE OVERRIDES
   ============================================================================= */

/* ── Desktop (1024–1279px) ───────────────────────────────────────────── */
@media (min-width: 1024px) and (max-width: 1279px) {

	.services-hero__heading { font-size: 48px; }
	.services-cta__heading  { font-size: 40px; }
	.services-cta__card     { padding: 60px; }
}

/* ── Tablet (768–1023px) ─────────────────────────────────────────────── */
@media (min-width: 768px) and (max-width: 1023px) {

	/* Hero */
	.services-hero__grid       { flex-direction: column; text-align: center; }
	.services-hero__body       { max-width: 100%; margin-inline: auto; }
	.services-hero__actions    { justify-content: center; }
	.services-hero__heading    { font-size: 44px; }
	.services-hero__image-card { flex: none; width: 100%; height: 320px; }

	/* Certifications */
	.services-certs__grid { gap: 32px; }
	.services-certs__label { font-size: 16px; }

	/* Division headers */
	.services-division__header { flex-direction: column; align-items: flex-start; }
	.services-division__grid   { grid-template-columns: 1fr 1fr; }

	/* Timeline — 3-col on tablet, hide connecting line */
	.services-timeline__grid { grid-template-columns: repeat(3, 1fr); gap: 32px; }
	.services-timeline__grid::before { display: none; }
	.services-timeline__card { padding: 48px 32px; }

	/* CTA */
	.services-cta__card    { padding: 60px 40px; }
	.services-cta__heading { font-size: 36px; }
	.services-cta__btn     { font-size: 16px; padding: 14px 24px; }
}

/* ── Mobile (≤ 767px) ────────────────────────────────────────────────── */
@media (max-width: 767px) {

	/* Hero */
	.services-hero           { padding-bottom: 48px; }
	.services-hero__grid     { flex-direction: column; text-align: center; }
	.services-hero__body     { max-width: 100%; margin-inline: auto; font-size: 16px; }
	.services-hero__actions  { justify-content: center; flex-direction: column; align-items: stretch; }
	.services-hero__btn      { justify-content: center; }
	.services-hero__heading  { font-size: 36px; }
	.services-hero__image-card { flex: none; width: 100%; height: 260px; }

	/* Certifications */
	.services-certs { margin-bottom: 56px; }
	.services-certs__grid  { gap: 24px; }
	.services-certs__label { font-size: 15px; }

	/* Division */
	.services-division         { margin-bottom: 56px; }
	.services-division__header { flex-direction: column; align-items: flex-start; }
	.services-division__grid   { grid-template-columns: 1fr; gap: 20px; }
	.service-card              { padding: 24px; }

	/* Timeline — 2-col, hide connecting line */
	.services-timeline        { margin-bottom: 56px; }
	.services-timeline__card  { padding: 40px 20px; }
	.services-timeline__grid  { grid-template-columns: 1fr 1fr; gap: 32px; }
	.services-timeline__grid::before { display: none; }
	.services-timeline__title { font-size: 26px; }
	.services-timeline__step-title { font-size: 15px; }

	/* CTA */
	.services-cta__card     { padding: 40px 24px; border-radius: 12px; }
	.services-cta__heading  { font-size: 28px; }
	.services-cta__body     { font-size: 16px; }
	.services-cta__btn      { font-size: 16px; padding: 14px 24px; width: 100%; justify-content: center; }
}

/* =============================================================================
   PRINT — handled in style.css
   ============================================================================= */

/* =============================================================================
   REDUCED MOTION — ensure graceful degradation of animations
   ============================================================================= */

@media (prefers-reduced-motion: reduce) {

	.site-header,
	.site-header__nav,
	.sub-menu,
	.mobile-nav-overlay,
	.post-card__img,
	.project-card__img,
	.team-card__img,
	.nav-link,
	.btn {
		transition: none !important;
		animation: none !important;
	}

	.fade-in-up,
	.fade-in {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}
}

/* =============================================================================
   HIGH CONTRAST MODE
   ============================================================================= */

@media (forced-colors: active) {

	.site-header {
		border-bottom: 1px solid ButtonText;
	}

	.btn {
		border: 2px solid ButtonText;
		forced-color-adjust: none;
	}

	.tag-badge {
		border: 1px solid ButtonText;
		forced-color-adjust: none;
	}

	.section-divider {
		forced-color-adjust: none;
		background: Highlight;
	}
}

/* =============================================================================
   CONTACT PAGE — RESPONSIVE
   ============================================================================= */

/* Desktop narrow (1024–1279px) */
@media (min-width: 1024px) and (max-width: 1279px) {

	.contact-form-card {
		padding: 36px;
	}
}

/* Tablet (768–1023px) */
@media (min-width: 768px) and (max-width: 1023px) {

	.contact-grid {
		grid-template-columns: 1fr;
	}

	.contact-form-card {
		padding: 36px;
	}

	.contact-sidebar {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 16px;
	}

	/* ── Supplier card — tablet ───────────────────────────────────── */
	.supplier-persons-grid { grid-template-columns: 1fr 1fr; }
	.supplier-address { flex: 1 1 100%; border-right: none; border-bottom: 1px solid #e8edf5; }
	.supplier-address:last-child { border-bottom: none; }

	.contact-hours-card {
		grid-column: 1 / -1;
	}

	.contact-sidebar-img {
		grid-column: 1 / -1;
	}

	.contact-map-section {
		margin-top: 48px;
	}
}

/* Mobile (≤767px) */
@media (max-width: 767px) {

	.contact-header {
		padding-top: 32px;
		padding-bottom: 40px;
	}

	.contact-header--has-image {
		padding-top: 60px;
		padding-bottom: 72px;
	}

	.contact-grid {
		grid-template-columns: 1fr;
	}

	/* ── Supplier card — mobile ───────────────────────────────────── */
	.supplier-contact-section { padding: 48px 0; }
	.supplier-persons-grid { grid-template-columns: 1fr; gap: 16px; }
	.supplier-card__persons-wrap { padding: 24px 20px; }
	.supplier-address { padding: 20px; }

	.contact-form-card {
		padding: 24px 20px;
	}

	.contact-form__row {
		grid-template-columns: 1fr;
	}

	.contact-form__submit {
		font-size: 15px;
	}

	.contact-map-section {
		margin-top: 48px;
	}

	.contact-map-section__inner {
		height: 350px;
	}
}

/* =============================================================================
   PORTFOLIO PAGE — RESPONSIVE
   ============================================================================= */

/* Desktop narrow (1024–1279px) */
@media (min-width: 1024px) and (max-width: 1279px) {

	.pf-metrics__card {
		padding: 48px;
	}

	.pf-cta-card {
		padding: 56px 48px;
	}

	.pf-industries__grid {
		grid-template-columns: repeat(5, 1fr);
	}

	.pf-filter-tabs {
		gap: 2px;
	}

	.pf-filter-tab {
		padding: 8px 14px;
		font-size: 13px;
	}
}

/* Tablet (768–1023px) */
@media (min-width: 768px) and (max-width: 1023px) {

	/* Hero */
	.pf-hero__grid {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	.pf-hero__stats {
		flex-direction: row;
		align-self: auto;
		gap: 32px;
	}

	.pf-hero__stat {
		text-align: left;
	}

	/* Filter bar */
	.pf-filter-bar {
		height: auto;
		padding: 12px 0;
	}

	.pf-filter-bar__inner {
		flex-wrap: wrap;
		gap: 12px;
	}

	.pf-filter-tabs {
		flex-wrap: wrap;
	}

	/* Featured card */
	.pf-featured-card {
		height: 420px;
	}

	.pf-featured-card__content {
		padding: 32px;
	}

	.pf-featured-card__heading {
		font-size: 26px;
	}

	.pf-featured-card__cta {
		bottom: 32px;
		right: 32px;
	}

	/* Grids */
	.portfolio-grid--3 {
		grid-template-columns: 1fr 1fr;
	}

	.portfolio-grid--2 {
		grid-template-columns: 1fr 1fr;
	}

	/* Metrics */
	.pf-metrics__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 32px;
	}

	.pf-metrics__card {
		padding: 40px 32px;
	}

	/* Industries */
	.pf-industries__grid {
		grid-template-columns: repeat(3, 1fr);
	}

	/* Testimonial */
	.pf-testi-card {
		grid-template-columns: 1fr;
		padding: 40px;
	}

	.pf-iso-card {
		min-width: unset;
	}

	/* CTA */
	.pf-cta-card {
		padding: 48px 32px;
	}
}

/* Mobile (≤767px) */
@media (max-width: 767px) {

	/* Hero */
	.pf-hero {
		padding: 48px 0 40px;
	}

	.pf-hero__grid {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.pf-hero__stats {
		flex-direction: row;
		gap: 24px;
	}

	.pf-hero__stat {
		text-align: left;
	}

	.pf-hero__stat-num {
		font-size: 32px;
	}

	/* Filter bar */
	.pf-filter-bar {
		height: auto;
		padding: 12px 0;
		top: 60px;
	}

	.pf-filter-bar__inner {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
	}

	.pf-filter-tabs {
		flex-wrap: wrap;
		gap: 4px;
	}

	.pf-filter-tab {
		padding: 6px 14px;
		font-size: 13px;
	}

	.pf-filter-bar__controls {
		width: 100%;
		justify-content: space-between;
	}

	/* Featured card */
	.pf-featured-card {
		height: 380px;
	}

	.pf-featured-card__content {
		padding: 24px;
		max-width: 100%;
	}

	.pf-featured-card__heading {
		font-size: 20px;
	}

	.pf-featured-card__desc {
		display: none;
	}

	.pf-featured-card__cta {
		display: none;
	}

	.pf-featured-card__badge {
		top: 16px;
		right: 16px;
		font-size: 10px;
	}

	/* Grids */
	.portfolio-grid--3,
	.portfolio-grid--2 {
		grid-template-columns: 1fr;
	}

	/* List view cancel on mobile */
	.portfolio-grid--list .project-card {
		flex-direction: column;
	}

	.portfolio-grid--list .project-card__img-wrap {
		width: 100%;
	}

	.portfolio-grid--list .project-card__footer {
		border-top: 1px solid rgba(10, 31, 67, 0.08);
		border-left: none;
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		padding: 16px 24px;
	}

	/* Metrics */
	.pf-metrics__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 24px;
	}

	.pf-metrics__card {
		padding: 32px 24px;
	}

	.pf-metrics__number {
		font-size: 40px;
	}

	/* Industries */
	.pf-industries__grid {
		grid-template-columns: repeat(2, 1fr);
	}

	/* Testimonial */
	.pf-testi-card {
		grid-template-columns: 1fr;
		padding: 32px 24px;
		margin-bottom: 48px;
	}

	.pf-testi-card__blockquote p {
		font-size: 17px;
	}

	/* CTA */
	.pf-cta-card {
		padding: 40px 24px;
	}
}

/* =============================================================================
   ABOUT INNER PAGES — responsive
   ============================================================================= */

/* Tablet (≤1023px) */
@media (max-width: 1023px) {

	.about-inner-hero { height: 300px; }

	.about-inner-hero__heading { font-size: 36px; }

}

/* Mobile (≤767px) */
@media (max-width: 767px) {

	.about-inner-hero {
		height: auto;
		padding-top: 60px;
		padding-bottom: 0;
		align-items: flex-start;
	}

	.about-inner-hero__content { padding-bottom: 36px; }

	.about-inner-hero__heading { font-size: 28px; }

	.about-inner-content { padding: 48px 0; }

	.entry-content h2 { font-size: 22px; }

}

/* =============================================================================
   SINGLE PORTFOLIO — responsive
   ============================================================================= */

/* Tablet (≤1023px) */
@media (max-width: 1023px) {

	.portfolio-single-hero { padding: 100px 0 48px; }

	.portfolio-single-hero__title { font-size: 36px; }

	.portfolio-meta-band__item { min-width: 140px; }

}

/* Mobile (≤767px) */
@media (max-width: 767px) {

	.portfolio-single-hero { padding: 90px 0 40px; }

	.portfolio-single-hero__title { font-size: 26px; }

	.portfolio-single-thumb__img { max-height: 260px; }

	.portfolio-meta-band { padding-bottom: 48px; }

	.portfolio-meta-band__item {
		padding: 18px 20px;
		min-width: 140px;
	}

}

/* =============================================================================
   SERVICES SLIDER — responsive
   ============================================================================= */

/* Mobile (≤767px) */
@media (max-width: 767px) {

	.svc-projects { padding: 60px 0; }

	.svc-projects__title { font-size: 26px; }

	.svc-projects__header { margin-bottom: 36px; }

}
