/* =========================
NAVIGATION
========================= */
/* Prevent long nav labels from wrapping (use className "no-wrap" on links) */
.wp-block-navigation .no-wrap a {
	white-space: nowrap;
}

/* Dropdown styling */
.wp-block-navigation .wp-block-navigation__submenu-container {
	min-width: 18rem;
	padding: .5rem 0;
	border-radius: 6px;
	box-shadow: 0 6px 16px rgba(0,0,0,.12);
	background: #fff;
}

.wp-block-navigation .wp-block-navigation__submenu-container a {
	display: block;
	padding: .6rem 1rem;
	white-space: nowrap;
	color: #222;
	text-decoration: none;
	transition: background .25s ease, color .25s ease;
}

.wp-block-navigation .wp-block-navigation__submenu-container a:hover,
.wp-block-navigation .wp-block-navigation__submenu-container a:focus {
	background: #BBBBBB;
	color: #fff;
	border-radius: 4px;
}

/* Transparent header bar (keeps dropdowns white) */
header,
.wp-site-blocks > header,
.wp-block-template-part[class*="header"],
header .wp-block-navigation,
header .wp-block-navigation__container,
header .wp-block-navigation__responsive-container,
header .wp-block-navigation__responsive-container-content,
header .wp-block-group.has-background,
header [class*="has-"][class*="-background-color"] {
	background: transparent !important;
	background-image: none !important;
}

/* Mobile overlay background for open menu */
@media (max-width:782px) {
	.wp-block-navigation__responsive-container.is-menu-open
			  .wp-block-navigation__responsive-container-content {
		background: #fff;
	}
}

/* =========================
GENERIC ACCORDION (+ / –)
========================= */
details summary {
	cursor: pointer;
	padding: 1rem 0;
	font-weight: 600;
	border-top: 1px solid #ccc;
	display: flex;
	justify-content: space-between;
	align-items: center;
	list-style: none;
}

details summary::-webkit-details-marker {
	display: none;
}

details summary::after {
	content: "+";
	font-size: 1.2rem;
	line-height: 1;
	margin-left: 1rem;
	transition: transform .2s ease;
}

details[open] summary::after {
	content: "–";
	font-size: 1.2rem;
}

/* =========================
APPROACH SECTION (scoped)
========================= */
.approach-section h1 {
	margin: 0 0 .4rem;
	font-weight: 800;
	letter-spacing: .2px;
	line-height: 1.15;
	position: relative;
}

.approach-section h1::after {
	content: "";
	display: block;
	width: 72px;
	height: 3px;
	margin-top: 12px;
	background: #111;
	opacity: .15;
	border-radius: 2px;
}

.approach-section p {
	color: rgba(0,0,0,.78);
	line-height: 1.65;
	margin: 0 0 1.2rem;
}

.approach-section details {
	padding: .6rem 0;
	border-top: 1px solid rgba(0,0,0,.12);
}

.approach-section details:last-of-type {
	border-bottom: 1px solid rgba(0,0,0,.12);
}

.approach-section details summary {
	padding: .9rem 0;
	font-weight: 600;
	display: flex;
	align-items: center;
	justify-content: space-between;
	color: #111;
}

.approach-section details summary::-webkit-details-marker {
	display: none;
}

.approach-section details summary::after {
	content: "+";
	font-size: 1.25rem;
	line-height: 1;
	margin-left: 1rem;
	transition: transform .2s ease, color .2s ease;
	color: #111;
	opacity: .7;
}

.approach-section details[open] summary::after {
	content: "–";
	opacity: 1;
}

.approach-section details > :not(summary) {
	animation: approach-fade .22s ease;
}

@keyframes approach-fade {
	from {
		opacity: 0;
		transform: translateY(-2px);
	}
	
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.approach-section details summary:hover {
	color: #000;
}

/* =========================
HOME PAGE (scoped)
========================= */
.home-section h1 {
	margin: 0 0 .4rem;
	font-weight: 800;
	letter-spacing: .2px;
	line-height: 1.12;
	position: relative;
}

.home-section h1::after {
	content: "";
	display: block;
	width: 72px;
	height: 3px;
	margin-top: 12px;
	background: #111;
	opacity: .15;
	border-radius: 2px;
}

.home-section h3 {
	margin: 0 0 .4rem;
	font-weight: 750;
	letter-spacing: .2px;
}

/* Hero */
.home-hero .chip {
	display: inline-block;
	font-weight: 600;
	padding: .35rem .7rem;
	border-radius: 999px;
	border: 1px solid rgba(0,0,0,.15);
	color: #111;
	background: rgba(0,0,0,.03);
	margin: 0 0 .6rem;
}

.home-hero p {
	color: rgba(0,0,0,.78);
	line-height: 1.65;
}

.home-hero .hero-image img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 14px;
	box-shadow: 0 12px 28px rgba(0,0,0,.12);
}

/* Buttons */
.home-section .wp-block-button.is-style-fill .wp-block-button__link {
	background: #111;
	color: #fff;
	border-radius: 12px;
	padding: .8rem 1.1rem;
	transition: transform .15s ease, box-shadow .2s ease, background .2s ease;
}

.home-section .wp-block-button.is-style-fill .wp-block-button__link:hover {
	transform: translateY(-1px);
	box-shadow: 0 10px 20px rgba(0,0,0,.12);
}

.home-section .wp-block-button.is-style-outline .wp-block-button__link {
	border: 1px solid rgba(0,0,0,.22);
	color: #111;
	border-radius: 12px;
	padding: .8rem 1.1rem;
}

.home-section .wp-block-button.is-style-outline .wp-block-button__link:hover {
	background: rgba(0,0,0,.04);
}

.home-section p {
	margin: 0 0 1rem;
}

/* =========================
SERVICE CARDS — CENTERED GRID + EQUAL HEIGHT
========================= */
.service-grid {
/* this is your Columns block */
	display: grid !important;
/* override Gutenberg flex */
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
	margin-left: auto;
/* keep it centered */
	margin-right: auto;
/* keep it centered */
	align-items: stretch;
}

/* Each WP column becomes a grid item that lets the card stretch */
.service-grid .wp-block-column {
	margin: 0 !important;
/* remove leftover column margins */
	display: flex;
/* so the card can fill height */
}

/* Card styling */
.service-grid .card {
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	border: 1px solid rgba(0,0,0,.12);
	border-radius: 14px;
	padding: 20px 22px;
	background: #f9f9f9;
	box-shadow: 0 4px 10px rgba(0,0,0,.06);
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease;
}

.service-grid .card:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 28px rgba(0,0,0,.16);
	border-color: rgba(0,0,0,.2);
	background: #fff;
}

/* Card headings: allow up to 2 lines, keep same start line for paragraphs */
.service-grid .card h4 {
	margin: 0 0 .6rem;
	font-weight: 700;
/* readable two-line clamp */
	line-height: 1.35;
	display: -webkit-box;
/* show up to 2 lines */
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: normal;
/* ===== Fix Home services on mobile ===== */
/* Hero: stack columns */
	gap: 16px;
	flex-wrap: wrap;
}

.home-hero .wp-block-column {
	flex-basis: 100% !important;
}

.home-hero .hero-image img {
	width: 100%;
	height: auto;
}

/* Services grid: 1 per row, no flex squeeze */
.service-grid {
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 14px !important;
}

.service-grid .wp-block-column {
	flex: 1 1 100% !important;
	max-width: 100% !important;
	display: block !important;
/* stop equal-height flex on mobile */
}

.service-grid .card {
	padding: 16px 18px !important;
	border-radius: 12px !important;
}

/* Allow long titles to wrap; remove the desktop min-height */
.service-grid .card h4 {
	white-space: normal !important;
	min-height: 0 !important;
	margin-bottom: .35rem !important;
}

/* Tighter spacing so the section doesn’t feel crowded */
.home-section.home-services {
	padding-top: 16px !important;
	padding-bottom: 0 !important;
}

.home-section.value-props {
	padding-top: 28px !important;
}	
}

/* Optional: tablet layout (2-up) */
@media (min-width: 783px) and (max-width: 1100px) {
	.service-grid {
		display: grid !important;
		grid-template-columns: 1fr 1fr !important;
		gap: 18px !important;
	}
	
	.service-grid .wp-block-column {
		display: block !important;
	}
}

/* ===== Mobile nav dropdown fix ===== */
@media (max-width: 782px) {
	.wp-block-navigation__submenu-container {
		background: #fff !important;
	/* solid background */
		border-radius: 6px;
	/* optional rounding */
		padding: 6px 0;
		box-shadow: 0 6px 16px rgba(0,0,0,0.08);
	/* subtle shadow so it "floats" */
	}
	
	.wp-block-navigation__submenu-container a {
		color: #111 !important;
	/* dark text */
		padding: 10px 16px;
		display: block;
	}
	
	.wp-block-navigation__submenu-container a:hover {
		background: #f4f4f4;
	/* highlight on hover/tap */
	}
}

/* ===== Force solid background on mobile menu ===== */
@media (max-width: 782px) {
	/* Entire mobile menu panel */
	.wp-block-navigation__responsive-container.is-menu-open 
		  .wp-block-navigation__responsive-container-content {
		background: #fff !important;
	/* solid white */
		padding: 10px;
	}
	
	/* Submenu containers */
	.wp-block-navigation__submenu-container {
		background: #fff !important;
	/* solid background for dropdowns */
		border-radius: 6px;
		box-shadow: 0 4px 12px rgba(0,0,0,0.08);
	}
	
	/* Links */
	.wp-block-navigation__submenu-container a {
		color: #111 !important;
		padding: 12px 16px;
		display: block;
	}
	
	/* Hover / tap */
	.wp-block-navigation__submenu-container a:hover,
		  .wp-block-navigation__submenu-container a:focus {
		background: #f2f2f2 !important;
	}
	
	/* === Cybersecurity Page Helpers === */
	/* Hero tag line chip */
	.chip {
		display: inline-block;
		background: #e0f2fe;
		color: #075985;
		font-weight: 600;
		padding: 4px 10px;
		border-radius: 20px;
		font-size: 13px;
		margin-bottom: 10px;
	}
	
	/* Feature + mini cards */
	.feature-grid .mini-card,
	.mini-card {
		border: 1px solid #e5e7eb;
		border-radius: 12px;
		padding: 18px;
		background: #ffffff;
		transition: transform .2s ease, box-shadow .2s ease;
	}
	
	.feature-grid .mini-card:hover,
	.mini-card:hover {
		transform: translateY(-3px);
		box-shadow: 0 8px 20px rgba(0,0,0,0.08);
	}
	
	/* Buttons */
	.wp-block-button__link {
		white-space: nowrap;
		font-weight: 600;
	}
	
	/* FAQ details */
	.wp-block-freeform details {
		margin-bottom: 12px;
		border: 1px solid #e5e7eb;
		border-radius: 8px;
		padding: 10px 14px;
		background: #f9fafb;
	}
	
	.wp-block-freeform summary {
		cursor: pointer;
		font-weight: 600;
		color: #0f172a;
	}
	
	.wp-block-freeform p {
		margin-top: 8px;
		margin-bottom: 0;
	}
	
	/* Section headings */
	.cyber-section h3.wp-block-heading {
		margin-top: 0;
		margin-bottom: 12px;
		font-size: 1.25rem;
	}
	
	/* =========================
	   CSS (Additional CSS area)
	   ========================= */
	/* Hero tagline chip */
	.chip {
		display: inline-block;
		background: #e0f2fe;
		color: #075985;
		font-weight: 600;
		padding: 4px 10px;
		border-radius: 20px;
		font-size: 13px;
		margin-bottom: 10px;
	}
	
	/* Card + mini-cards */
	.card,
	.mini-card {
		border: 1px solid #e5e7eb;
		border-radius: 12px;
		padding: 18px;
		background: #ffffff;
		transition: transform .2s ease, box-shadow .2s ease;
	}
	
	.mini-card:hover {
		transform: translateY(-3px);
		box-shadow: 0 8px 20px rgba(0,0,0,.08);
	}
	
	/* Buttons: keep to one line */
	.wp-block-button__link {
		white-space: nowrap;
		font-weight: 600;
	}
	
	/* FAQ details styling */
	.wp-block-freeform details {
		margin-bottom: 12px;
		border: 1px solid #e5e7eb;
		border-radius: 8px;
		padding: 10px 14px;
		background: #f9fafb;
	}
	
	.wp-block-freeform summary {
		cursor: pointer;
		font-weight: 600;
		color: #0f172a;
	}
	
	.wp-block-freeform p {
		margin-top: 8px;
		margin-bottom: 0;
	}
	
	/* Section heading spacing */
	.cyber-section h3.wp-block-heading {
		margin-top: 0;
		margin-bottom: 12px;
		font-size: 1.25rem;
	}
	
	/* ===== Center the trio ("Why / What you get / Who it's for") ===== */
	.triple-center .wp-block-columns {
		justify-content: center;
	/* center the three columns as a group */
		gap: 32px;
		text-align: center;
	/* center text inside */
		max-width: 1080px;
	/* keep readable line length */
	}
	
	.triple-center .wp-block-column {
		flex: 0 1 300px;
	/* equal-ish widths that wrap nicely */
	}
	
	/* Mobile tweaks */
	@media (max-width: 781px) {
	.triple-center .wp-block-column {
		flex-basis: 100%;
	}
	
	.feature-grid .wp-block-column {
		margin-bottom: 12px;
	}
/* Service cards — clean, consistent, clickable feel */
.services-grid .svc-card{
  text-align:center;
  box-shadow:0 4px 12px rgba(0,0,0,.04);
  transition:transform .2s ease, box-shadow .2s ease;
}
.services-grid .svc-card:hover{
  transform:translateY(-3px);
  box-shadow:0 10px 28px rgba(0,0,0,.10);
}

/* Tighten headings and paragraphs inside cards */
.services-grid .svc-card h3{ margin:6px 0 2px; }
.services-grid .svc-card p{ margin:0; }

/* Make buttons stay on one line and feel primary */
.wp-block-button__link{ white-space:nowrap; font-weight:600; }
.hero-section {
  background: 
    linear-gradient(rgba(0, 40, 70, 0.7), rgba(0, 40, 70, 0.7)), 
    url('tech-background.jpg') center/cover no-repeat;
  color: white;
}
.hero-section {
  background: 
    linear-gradient(rgba(0, 40, 70, 0.7), rgba(0, 40, 70, 0.7)),
    url('A_digital_image_showcases_a_dark_blue_abstract_bac.png') center/cover no-repeat;
  color: white;
}
.hero-section {
  background: 
    linear-gradient(rgba(0, 40, 70, 0.7), rgba(0, 40, 70, 0.7)),
    url('A_digital_image_showcases_a_dark_blue_abstract_bac.png') center/cover no-repeat;
  color: white;
  padding: 120px 20px; /* adjust height/padding */
  text-align: center;
}