/*
 * sb3 site styles. Brand tokens come from theme.json presets
 * (--wp--preset--color--*, --wp--preset--font-family--*).
 * Section classes (sb-*) are set on core blocks in /patterns.
 */
:root {
	--sb-navy: var(--wp--preset--color--navy);
	--sb-navy-3: var(--wp--preset--color--navy-3);
	--sb-teal: var(--wp--preset--color--teal);
	--sb-teal-bright: var(--wp--preset--color--teal-bright);
	--sb-gold: var(--wp--preset--color--gold);
	--sb-gold-light: var(--wp--preset--color--gold-light);
	--sb-line: var(--wp--preset--color--line);
	--sb-muted: var(--wp--preset--color--muted);
	--sb-sora: var(--wp--preset--font-family--sora);
	--sb-mono: var(--wp--preset--font-family--mono);
	--sb-shadow: 0 18px 50px rgba(4, 18, 31, .12);
	--sb-section: clamp(72px, 8vw, 112px);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
img { max-width: 100%; height: auto; }
:focus-visible { outline: 2px solid var(--sb-teal-bright); outline-offset: 3px; }
[id] { scroll-margin-top: 90px; }

/* Remove the default block gap between header / main / footer and between sections */
.wp-site-blocks > * { margin-block: 0; }
.sb-main.sb-main > .alignfull,
.sb-main .wp-block-post-content > .alignfull { margin-block: 0; }
.sb-grid.sb-grid > * { margin-block: 0; }

/* ---------- Shared type ---------- */
.sb-eyebrow {
	font: 600 11px/1.4 var(--sb-mono);
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--sb-teal);
}
.sb-eyebrow::after,
.sb-ruled::after {
	content: "";
	display: block;
	width: 56px;
	height: 3px;
	background: var(--sb-gold);
	margin-top: 18px;
}
.sb-ruled::after { margin-bottom: -4px; }
.sb-tag {
	font: 600 10px/1.3 var(--sb-mono);
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--sb-teal);
}
.sb-lede { font-size: var(--wp--preset--font-size--lg); line-height: 1.68; }
.sb-section { padding-block: var(--sb-section); }

/* ---------- Icons ---------- */
.sb-i::before {
	content: "";
	display: block;
	width: 30px;
	height: 30px;
	background-color: currentColor;
	-webkit-mask: var(--sb-icon) center / contain no-repeat;
	mask: var(--sb-icon) center / contain no-repeat;
}

/* ---------- Buttons ---------- */
.wp-block-button .wp-block-button__link { transition: background-color .2s ease, transform .2s ease, border-color .2s ease; border: 1px solid transparent; }
.wp-block-button .wp-block-button__link:hover { transform: translateY(-1px); }
.wp-block-button.is-style-outline-light .wp-block-button__link {
	background: rgba(6, 20, 32, .15);
	color: #fff;
	border-color: rgba(255, 255, 255, .48);
}
.wp-block-button.is-style-outline-light .wp-block-button__link:hover { background: rgba(255, 255, 255, .1); color: #fff; }
.wp-block-button.is-style-navy .wp-block-button__link { background: var(--sb-navy); color: #fff; }
.wp-block-button.is-style-text-arrow .wp-block-button__link { background: none; color: var(--sb-teal); padding: 0; }
.wp-block-button.is-style-text-arrow .wp-block-button__link::after { content: " →"; }
.sb-actions { gap: 12px; }

/* ---------- Header ---------- */
.sb-header {
	background: var(--sb-navy);
	border-bottom: 1px solid rgba(255, 255, 255, .13);
	color: #fff;
	position: relative;
	z-index: 20;
}
.home .sb-header {
	position: absolute;
	top: var(--wp-admin--admin-bar--height, 0px);
	left: 0;
	right: 0;
	background: transparent;
}
.sb-nav { min-height: 76px; gap: 24px; }
.sb-brand { gap: 12px; }
.sb-brand-mark img { border-radius: 10px; display: block; }
.sb-brand-name { gap: 6px; }
.sb-brand-name > * { margin: 0; }
.sb-brand-title { font: 600 17px/1 var(--sb-sora); }
.sb-brand-title a { color: #fff; text-decoration: none; }
.sb-brand-sub { font: 500 8px/1 var(--sb-mono); letter-spacing: .12em; text-transform: uppercase; color: rgba(255, 255, 255, .58); }
.sb-nav-right { gap: 25px; }
.sb-menu { font-size: 13px; font-weight: 700; gap: 25px; }
.sb-menu .wp-block-navigation-item__content { color: rgba(255, 255, 255, .82); text-decoration: none; }
.sb-menu .wp-block-navigation-item__content:hover { color: #fff; }
.sb-menu .wp-block-navigation__responsive-container-open,
.sb-menu .wp-block-navigation__responsive-container-close { color: #fff; }
.sb-menu .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--sb-navy-3);
	color: #fff;
	padding: 28px clamp(20px, 4.5vw, 64px);
}
.sb-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 22px; font-family: var(--sb-sora); color: #fff; padding: 6px 0; }
.sb-phone .wp-block-button__link { padding: 9px 12px; font-size: 12px; border-color: rgba(201, 153, 36, .75); }

/* ---------- Hero ---------- */
.sb-hero {
	position: relative;
	background: #071522;
	color: #fff;
	overflow: hidden;
}
.sb-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(90deg, rgba(4, 15, 27, .99) 0%, rgba(4, 15, 27, .91) 32%, rgba(4, 15, 27, .42) 57%, rgba(4, 15, 27, .07) 100%),
		linear-gradient(0deg, rgba(4, 15, 27, .68), rgba(4, 15, 27, 0) 52%),
		url("../images/hero-background.webp");
	background-size: cover;
	background-position: center;
}
.sb-hero-inner {
	position: relative;
	z-index: 2;
	min-height: 785px;
	padding: 146px 0 28px;
	display: grid;
	grid-template-rows: 1fr auto;
	align-items: center;
}
.sb-hero-inner > * { margin-block: 0; }
.sb-hero-copy { max-width: 620px; }
.sb-hero .sb-eyebrow { color: #E1C271; }
.sb-hero h1 { color: #fff; max-width: 13ch; margin-top: 22px; }
.sb-hero-sub { margin-top: 24px; color: rgba(255, 255, 255, .78); font-size: var(--wp--preset--font-size--lg); line-height: 1.68; }
.sb-hero-sub strong { color: #fff; font-weight: 750; }
.sb-hero .sb-actions { margin-top: 30px; }
.sb-local { display: flex; align-items: center; gap: 10px; margin-top: 20px; font-size: 12px; color: rgba(255, 255, 255, .66); }
.sb-dot { width: 3px; height: 3px; border-radius: 50%; background: var(--sb-gold); display: inline-block; }
.sb-proof-row {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	margin-top: 30px;
	border-top: 1px solid rgba(255, 255, 255, .17);
	background: linear-gradient(90deg, rgba(5, 20, 33, .42), rgba(5, 20, 33, .72));
}
.sb-proof-row > * { margin: 0; }
.sb-proof {
	position: relative;
	padding: 20px 18px 20px 64px;
	color: rgba(255, 255, 255, .65);
	font-size: 11px;
	line-height: 1.45;
}
.sb-proof + .sb-proof { border-left: 1px solid rgba(255, 255, 255, .11); }
.sb-proof::before { position: absolute; left: 20px; top: 20px; width: 28px; height: 28px; color: var(--sb-teal-bright); }
.sb-proof strong { display: block; color: #fff; font-size: 13px; margin-bottom: 2px; }

/* ---------- Who I work with ---------- */
.sb-who { background: #fff; border-bottom: 1px solid var(--sb-line); }
.sb-who .sb-split { margin-bottom: 34px; }
.sb-who h2 { margin-top: 22px; }
.sb-who-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.sb-who-card { position: relative; padding: 26px 24px; border: 1px solid var(--sb-line); background: var(--wp--preset--color--paper); color: var(--sb-navy); }
.sb-who-card::before { position: absolute; left: 24px; top: 25px; width: 28px; height: 28px; }
.sb-who-card h3 { font-size: 18px; min-height: 28px; display: flex; align-items: center; padding-left: 42px; margin: 0; }
.sb-who-card p { font-size: 14px; color: var(--sb-muted); margin-top: 12px; }
.sb-who-card--more { background: var(--sb-navy); border-color: var(--sb-navy); }
.sb-who-card--more h3 { padding-left: 0; color: #fff; }
.sb-who-card--more p { color: #B8C7D3; }
.sb-who-card--more .sb-who-link a { color: var(--sb-gold-light); font-weight: 800; text-decoration: none; }
.sb-who-card--more .sb-who-link a:hover { color: #fff; }

/* ---------- Services ---------- */
.sb-services { background: var(--sb-navy); color: #ADC0CD; }
.sb-services h2, .sb-services h3 { color: #fff; }
.sb-services .sb-eyebrow { color: #D7B66B; }
.sb-split { display: grid; grid-template-columns: .8fr 1.2fr; gap: 50px; align-items: end; }
.sb-services .sb-split { margin-bottom: 34px; }
.sb-services h2 { margin-top: 22px; }
.sb-card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.sb-card {
	padding: 24px 22px;
	background: linear-gradient(180deg, #102A42, #0D2337);
	border: 1px solid rgba(255, 255, 255, .14);
}
.sb-card::before { color: var(--sb-teal-bright); margin-bottom: 18px; }
.sb-card h3 { font-size: 17px; letter-spacing: -.02em; margin: 0; }
.sb-card p { font-size: 13.5px; margin-top: 10px; color: #9FB0BD; }
.sb-card-link a { color: var(--sb-teal-bright); font-weight: 700; text-decoration: none; }
.sb-card-link a:hover { color: #fff; }
/* At three columns a tenth card would sit alone — let it run the full width */
@media (min-width: 1051px) {
	.sb-card-grid > .sb-card:last-child:nth-child(3n + 1) { grid-column: 1 / -1; }
}

.sb-scan-band {
	display: flex;
	align-items: center;
	gap: 22px;
	margin-top: 12px;
	padding: 22px 24px;
	border: 1px solid rgba(18, 199, 207, .35);
	background: rgba(18, 199, 207, .06);
}
.sb-scan-band > * { margin: 0; }
.sb-scan-band::before { flex: 0 0 30px; color: var(--sb-teal-bright); }
.sb-scan-text { flex: 1; font-size: 14px; }
.sb-scan-text strong { color: #fff; }

/* ---------- Agents ---------- */
.sb-agents { background: var(--wp--preset--color--paper); }
.sb-agent-wrap { display: grid; grid-template-columns: .7fr 1.3fr; gap: 52px; align-items: start; }
.sb-agent-wrap h2 { margin-top: 22px; }
.sb-agent-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.sb-agent { background: #fff; border: 1px solid var(--sb-line); padding: 26px; }
.sb-agent h3 { margin-top: 14px; font-size: 18px; }
.sb-agent p { font-size: 13px; color: var(--sb-muted); margin-top: 9px; }
.sb-agent ul { padding-left: 17px; margin-top: 16px; font-size: 13px; }
.sb-agent li { margin: 8px 0; }

/* ---------- Receptionist ---------- */
.sb-receptionist { background: linear-gradient(120deg, #0A2C55 0%, #072248 55%, #0F4F5A 120%); color: #C9D6DE; }
.sb-receptionist h2 { color: #fff; margin-top: 22px; }
.sb-receptionist .sb-eyebrow { color: #D7B66B; }
.sb-receptionist-grid { align-items: center; }
.sb-receptionist .sb-lede a { color: var(--sb-gold-light); font-weight: 700; }
.sb-receptionist .sb-actions { margin-top: 28px; }
.sb-panel { border: 1px solid rgba(255, 255, 255, .16); background: rgba(255, 255, 255, .04); padding: 30px; }
.sb-panel .sb-tag { color: var(--sb-teal-bright); }

/* ---------- Browser call card (sb-core [sb_web_call]) ---------- */
.sb-webcall { margin-top: 26px; padding: 18px; border: 1px solid rgba(255, 255, 255, .16); background: rgba(255, 255, 255, .04); max-width: 460px; }
.sb-webcall-who { display: flex; align-items: center; gap: 14px; margin-bottom: 14px; }
.sb-webcall-avatar { position: relative; flex: 0 0 72px; width: 72px; height: 72px; border-radius: 50%; box-shadow: 0 0 0 2px var(--sb-teal-bright); transition: box-shadow .25s ease; }
.sb-webcall-avatar img { display: block; width: 72px; height: 72px; border-radius: 50%; object-fit: cover; }
.sb-webcall-ai { position: absolute; right: -4px; bottom: -2px; font: 700 10px/1 var(--sb-mono); letter-spacing: .08em; padding: 4px 6px; border-radius: 999px; background: var(--sb-gold); color: var(--sb-navy); border: 2px solid var(--sb-navy); }
.sb-webcall-id { display: grid; gap: 3px; }
.sb-webcall-id strong { font: 700 20px/1.1 var(--sb-sora); letter-spacing: -.02em; }
.sb-webcall-id span { font-size: 13px; opacity: .75; }
.sb-webcall[data-state="live"] .sb-webcall-avatar { animation: sb-ring 2s ease-in-out infinite; }
.sb-webcall.is-speaking .sb-webcall-avatar { box-shadow: 0 0 0 3px var(--sb-gold-light), 0 0 0 9px rgba(224, 179, 74, .25); animation: none; }
.sb-webcall-btn {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	padding: 10px 20px 10px 10px;
	border-radius: 999px;
	border: 1px solid rgba(18, 199, 207, .55);
	background: rgba(18, 199, 207, .08);
	color: inherit;
	font: 700 15px/1.2 var(--wp--preset--font-family--manrope);
	cursor: pointer;
	transition: background-color .2s ease, border-color .2s ease;
}
.sb-webcall-btn:hover { background: rgba(18, 199, 207, .16); }
.sb-webcall-btn:disabled { cursor: progress; opacity: .8; }
.sb-webcall-dot {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: radial-gradient(circle at 35% 35%, #7EE6EA 0%, var(--sb-teal-bright) 35%, var(--sb-teal) 60%, var(--sb-navy) 100%);
	transition: transform .25s ease;
}
.sb-webcall[data-state="connecting"] .sb-webcall-dot { animation: sb-pulse 1.1s ease-in-out infinite; }
.sb-webcall[data-state="live"] .sb-webcall-btn { border-color: rgba(201, 153, 36, .8); background: rgba(201, 153, 36, .12); }
.sb-webcall[data-state="live"] .sb-webcall-dot { animation: sb-pulse 2s ease-in-out infinite; }
.sb-webcall.is-speaking .sb-webcall-dot { transform: scale(1.25); animation-duration: .7s; }
.sb-webcall-status { margin: 8px 0 0; font-size: 12px; opacity: .7; }
.sb-receptionist .sb-webcall-btn, .sb-receptionist .sb-webcall-id strong { color: #fff; }
.sb-webcall-btn { width: 100%; justify-content: center; }
@keyframes sb-ring {
	0%, 100% { box-shadow: 0 0 0 2px var(--sb-teal-bright), 0 0 0 0 rgba(18, 199, 207, .5); }
	50% { box-shadow: 0 0 0 2px var(--sb-teal-bright), 0 0 0 10px rgba(18, 199, 207, 0); }
}
@keyframes sb-pulse {
	0%, 100% { box-shadow: 0 0 0 0 rgba(18, 199, 207, .55); }
	50% { box-shadow: 0 0 0 10px rgba(18, 199, 207, 0); }
}
@media (prefers-reduced-motion: reduce) {
	.sb-webcall-dot, .sb-webcall-avatar { animation: none !important; transition: none; }
}

/* ---------- Starlink recommendation ---------- */
.sb-starlink { background: var(--wp--preset--color--paper); }
.sb-starlink-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 52px; align-items: start; }
.sb-starlink h1 { font-size: clamp(34px, 3.8vw, 50px); margin-top: 22px; }
.sb-starlink .sb-checks li::before { color: var(--sb-teal); }
.sb-starlink .sb-actions { margin-top: 26px; }
.sb-starlink .sb-panel { background: #fff; border-color: var(--sb-line); }
.sb-starlink .sb-panel .sb-tag { color: var(--sb-teal); }
.sb-fineprint { margin-top: 18px; font-size: 12.5px; line-height: 1.6; color: var(--sb-muted); }
.sb-receptionist .sb-fineprint { color: rgba(255, 255, 255, .55); }

/* ---------- Work ---------- */
.sb-work { background: var(--wp--preset--color--paper); }
.sb-work .sb-split { margin-bottom: 34px; }
.sb-work h1 { font-size: clamp(34px, 3.8vw, 52px); margin-top: 22px; }
.sb-work-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.sb-work-card { background: #fff; border: 1px solid var(--sb-line); padding: 26px 24px; }
.sb-work-card h3 { font-size: 19px; margin-top: 12px; }
.sb-work-card p { font-size: 14px; color: var(--sb-muted); margin-top: 12px; }
.sb-work-card .sb-card-link a { color: var(--sb-teal); font-weight: 700; text-decoration: none; }
.sb-work-cta { margin-top: 32px; padding: 26px 28px; background: var(--sb-navy); color: #fff; display: flex; align-items: center; justify-content: space-between; gap: 28px; flex-wrap: wrap; }
.sb-work-cta p { margin: 0; max-width: 560px; font-size: 15px; color: #C7D4DE; }
.sb-work-cta strong { color: #fff; }
.sb-work-cta .sb-actions { margin: 0; }

/* ---------- FAQ ---------- */
.sb-faq-section { background: #fff; }
.sb-faq-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 52px; align-items: start; }
.sb-faq-intro h1 { font-size: clamp(34px, 3.6vw, 48px); margin-top: 22px; }
.sb-faq-item { border-bottom: 1px solid var(--sb-line); }
.sb-faq-item summary {
	cursor: pointer;
	list-style: none;
	padding: 18px 40px 18px 0;
	position: relative;
	font: 650 17px/1.35 var(--sb-sora);
	color: var(--sb-navy);
	letter-spacing: -.02em;
}
.sb-faq-item summary::-webkit-details-marker { display: none; }
.sb-faq-item summary::after {
	content: "";
	position: absolute;
	right: 6px;
	top: 26px;
	width: 10px;
	height: 10px;
	border-right: 2px solid var(--sb-teal);
	border-bottom: 2px solid var(--sb-teal);
	transform: rotate(45deg);
	transition: transform .2s ease;
}
.sb-faq-item[open] summary::after { transform: rotate(-135deg); }
.sb-faq-item summary:hover { color: var(--sb-teal); }
.sb-faq-answer p { margin: 0 0 20px; font-size: 15px; color: var(--sb-slate, #33485E); max-width: 62ch; }

/* ---------- Check lists ---------- */
.sb-checks { list-style: none; padding: 0; margin: 0; }
.sb-checks li { display: flex; gap: 10px; margin: 12px 0; }
.sb-checks li::before { content: "✓"; color: var(--sb-teal-bright); font-weight: 800; }
.sb-receptionist .sb-checks li { color: #fff; font-size: 15px; }

/* ---------- Local brand ---------- */
.sb-local-brand { background: #fff; border-block: 1px solid var(--sb-line); padding-block: clamp(48px, 6vw, 72px); }
.sb-local-grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: 42px; align-items: center; }
.sb-local-grid h2 { font-size: clamp(27px, 3vw, 40px); margin-top: 22px; }
.sb-local-art { border: 1px solid var(--sb-line); box-shadow: var(--sb-shadow); overflow: hidden; background: var(--sb-navy); }
.sb-local-art img { display: block; width: 100%; aspect-ratio: 2033 / 774; object-fit: cover; }

/* ---------- Founder ---------- */
.sb-founder { background: var(--sb-navy-3); color: #AEBECA; position: relative; overflow: hidden; }
.sb-founder::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(21, 152, 166, .08), transparent 30%), repeating-linear-gradient(0deg, transparent 0 74px, rgba(255, 255, 255, .018) 75px);
}
.sb-founder-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 220px 1.2fr .8fr; gap: 38px; align-items: center; padding-block: clamp(44px, 6vw, 72px); }
.sb-founder .sb-eyebrow { color: #D7B66B; }
.sb-founder h2 { color: #fff; font-size: clamp(28px, 3vw, 40px); margin-top: 22px; }
.sb-founder-photo { border: 1px solid rgba(255, 255, 255, .15); background: #06152D; box-shadow: var(--sb-shadow); overflow: hidden; border-radius: 8px; }
.sb-founder-photo img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; }
.sb-founder-press { margin-top: 14px; font-size: 14px; color: #B8C7D3; }
.sb-founder-press a { color: var(--sb-gold-light); font-weight: 700; }
.sb-creds { list-style: none; padding: 0; margin-top: 18px; display: flex; flex-wrap: wrap; gap: 8px; font-size: 12px; }
.sb-creds li { border: 1px solid rgba(255, 255, 255, .16); padding: 6px 10px; border-radius: 3px; color: #C3CFD7; }
.sb-quote { border: 1px solid rgba(255, 255, 255, .16); padding: 24px; background: #0A2134; }
.sb-quote-text { color: #fff; font-size: 16px; line-height: 1.55; }
.sb-quote-text::before { content: "\201C"; display: block; font: 700 36px/1 var(--sb-sora); color: var(--sb-gold); margin-bottom: 6px; }
.sb-quote-by { margin-top: 18px; color: #879CAB; font-size: 12px; }

/* ---------- CTA ---------- */
.sb-cta { background: linear-gradient(120deg, #0F5F66, #0B3945); color: #fff; }
.sb-cta-grid { display: grid; grid-template-columns: 1.1fr .8fr .75fr; gap: 44px; align-items: center; padding-block: clamp(42px, 5vw, 64px); }
.sb-cta h2 { color: #fff; font-size: clamp(28px, 3.3vw, 43px); }
.sb-cta .sb-checks { font-size: 14px; color: #D2E0E3; }
.sb-cta .sb-checks li::before { color: #fff; }
.sb-cta-alt { margin-top: 12px; font-size: 13px; color: #D5E4E6; }
.sb-cta-alt a { color: #fff; font-weight: 700; }

/* ---------- Footer ---------- */
.sb-footer { background: var(--wp--preset--color--ink); color: #77909F; padding-block: 40px 24px; font-size: 13px; }
.sb-foot { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 28px; }
.sb-foot p { margin: 0; }
.sb-foot p + p { margin-top: 8px; }
.sb-foot-title { font: 600 16px/1.2 var(--sb-sora); color: #fff; }
.sb-foot-head { font: 600 10px/1 var(--sb-mono); letter-spacing: .12em; text-transform: uppercase; color: #D7B66B; }
.sb-footer a { color: #A9BBC6; text-decoration: none; }
.sb-footer a:hover { color: #fff; }
.sb-copyright { margin-top: 28px; padding-top: 18px; border-top: 1px solid rgba(255, 255, 255, .08); font-size: 12px; }

/* ---------- Contact ---------- */
.sb-contact { background: var(--wp--preset--color--paper); }
.sb-contact-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 56px; align-items: start; }
.sb-contact-copy h1 { font-size: clamp(38px, 4.4vw, 58px); margin-top: 22px; }
.sb-contact-copy .sb-checks li::before { color: var(--sb-teal); }
.sb-contact-call { margin-top: 32px; padding: 20px 22px; border-left: 3px solid var(--sb-gold); background: #fff; }
.sb-contact-call p { margin: 0; }
.sb-contact-call p + p { margin-top: 8px; }
.sb-contact-form { background: #fff; border: 1px solid var(--sb-line); box-shadow: var(--sb-shadow); padding: clamp(22px, 3vw, 36px); }

/* ---------- Booking ---------- */
.sb-book { background: var(--wp--preset--color--paper); }
/* Intro across the top, calendar full width below so Cal.com uses its roomy
   three-column layout (details | month | time slots) instead of the compact one. */
.sb-book-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 20px 48px; align-items: end; }
.sb-book-copy { display: contents; }
.sb-book-copy > .sb-eyebrow, .sb-book-copy > h1, .sb-book-copy > .sb-lede { grid-column: 1; }
.sb-book-copy > .sb-checks { grid-column: 2; grid-row: 2 / span 2; align-self: center; margin: 0; }
.sb-book-copy > .sb-contact-call { grid-column: 2; grid-row: 1; margin: 0; }
.sb-book-copy h1 { font-size: clamp(36px, 4vw, 54px); margin-top: 0; }
.sb-book-cal { grid-column: 1 / -1; margin-top: 16px; background: #fff; border: 1px solid var(--sb-line); box-shadow: var(--sb-shadow); padding: 8px; }
.sb-booking-embed { width: 100%; min-height: 620px; overflow: auto; }
.sb-booking-fallback { margin: 10px 12px 6px; font-size: 13px; color: var(--sb-muted); }

/* ---------- Form (sb-core [sb_contact_form]) ---------- */
.sb-form { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.sb-form > .sb-field--full, .sb-form > .sb-form-submit { grid-column: 1 / -1; }
.sb-field { display: grid; gap: 6px; margin: 0; border: 0; padding: 0; min-width: 0; }
.sb-field > span, .sb-choices legend { font-size: 13px; font-weight: 700; color: var(--sb-navy); padding: 0; }
.sb-field em { color: var(--sb-gold); font-style: normal; }
.sb-form input[type="text"], .sb-form input[type="email"], .sb-form input[type="tel"], .sb-form input[type="date"], .sb-form select, .sb-form textarea {
	width: 100%;
	font: inherit;
	font-size: 15px;
	color: var(--wp--preset--color--slate);
	background: var(--wp--preset--color--paper);
	border: 1px solid var(--sb-line);
	border-radius: 4px;
	padding: 11px 12px;
}
.sb-form textarea { resize: vertical; min-height: 130px; }
.sb-form input:focus, .sb-form select:focus, .sb-form textarea:focus { outline: 2px solid var(--sb-teal); outline-offset: 0; border-color: var(--sb-teal); background: #fff; }
.sb-consent { display: flex; align-items: flex-start; gap: 10px; font-size: 13px; line-height: 1.5; color: var(--sb-muted); }
.sb-consent input { margin-top: 3px; flex: 0 0 auto; }
.sb-consent > span { font-weight: 500; font-size: 13px; color: var(--sb-muted); }
.sb-consent a { color: var(--sb-teal); }
.sb-choices { display: flex; flex-wrap: wrap; gap: 8px 20px; }
.sb-choices legend { margin-bottom: 8px; width: 100%; }
.sb-choices label { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; }
.sb-form-submit { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.sb-form button { cursor: pointer; border: 0; min-width: 140px; }
.sb-form-privacy { margin: 0; font-size: 12px; color: var(--sb-muted); flex: 1; min-width: 200px; }
.sb-form-privacy a { color: var(--sb-teal); }
.sb-hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.sb-form-notice { padding: 16px 18px; border-radius: 4px; margin-bottom: 18px; font-size: 15px; }
.sb-form-notice strong { display: block; margin-bottom: 4px; }
.sb-form-notice--ok { background: #E6F6F4; border: 1px solid #9ED9D2; color: #114B45; }
.sb-form-notice--error { background: #FDF3E1; border: 1px solid #E8C77E; color: #6B4A06; }

/* ---------- Inner pages ---------- */
.sb-page { padding-block: clamp(48px, 7vw, 88px); }
.sb-page-title { margin-bottom: 28px; }
/* Document-style pages (privacy, articles): calmer heading scale than the landing sections */
.sb-page .wp-block-post-content h2 { font-size: clamp(24px, 2.4vw, 30px); letter-spacing: -.02em; margin-top: 48px; }
.sb-page .wp-block-post-content h3 { font-size: 18px; letter-spacing: -.01em; margin-top: 28px; }
.sb-page .wp-block-post-content h2 + *, .sb-page .wp-block-post-content h3 + * { margin-top: 10px; }
.sb-eyebrow-plain { font: 600 11px/1 var(--sb-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--sb-teal); }
.sb-post-card { background: #fff; border: 1px solid var(--sb-line); padding: 20px; height: 100%; }
.sb-post-card h3 a { color: var(--sb-navy); text-decoration: none; }

/* ---------- Responsive ---------- */
@media (max-width: 1050px) {
	/* Hamburger menu below 1050px (core switches at 600px by default) */
	.sb-menu .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.sb-menu .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }

	.sb-hero::before { background-position: 60% center; }
	.sb-card-grid { grid-template-columns: repeat(2, 1fr); }
	.sb-card-grid > .sb-card:last-child:nth-child(odd) { grid-column: 1 / -1; }
	.sb-who-grid { grid-template-columns: repeat(2, 1fr); }
	.sb-split, .sb-agent-wrap, .sb-local-grid, .sb-contact-grid, .sb-starlink-grid, .sb-faq-grid { grid-template-columns: 1fr; gap: 28px; }
	.sb-work-grid { grid-template-columns: repeat(2, 1fr); }
	.sb-book-grid { grid-template-columns: 1fr; }
	.sb-book-copy > * { grid-column: 1 !important; grid-row: auto !important; }
	.sb-founder-grid { grid-template-columns: 180px 1fr; }
	.sb-quote { grid-column: 1 / -1; }
	.sb-cta-grid { grid-template-columns: 1fr 1fr; }
	.sb-cta-actions { grid-column: 1 / -1; }
}

@media (max-width: 720px) {
	.sb-brand-sub { display: none; }
	.sb-nav .sb-phone { display: none; }
	.sb-hero-inner { min-height: 0; padding-top: 125px; grid-template-rows: auto auto; }
	.sb-hero::before {
		background-position: 69% center;
		background-image: linear-gradient(180deg, rgba(4, 15, 27, .96) 0%, rgba(4, 15, 27, .85) 52%, rgba(4, 15, 27, .2) 100%), url("../images/hero-background.webp");
	}
	.sb-hero-copy { align-self: start; }
	.sb-proof-row { grid-template-columns: 1fr 1fr; margin-top: 48px; }
	.sb-proof { padding-left: 54px; }
	.sb-proof::before { left: 16px; }
	.sb-proof:nth-child(3) { border-left: 0; }
	.sb-proof:nth-child(n+3) { border-top: 1px solid rgba(255, 255, 255, .11); }
	.sb-who-grid, .sb-card-grid, .sb-agent-grid, .sb-cta-grid, .sb-foot, .sb-work-grid { grid-template-columns: 1fr; }
	.sb-scan-band { flex-direction: column; align-items: flex-start; }
	.sb-form { grid-template-columns: 1fr; }
	.sb-founder-grid { grid-template-columns: 1fr; }
	.sb-founder-photo { max-width: 240px; }
	.sb-actions { flex-direction: column; align-items: stretch; }
	.sb-actions .wp-block-button, .sb-actions .wp-block-button__link { width: 100%; text-align: center; }
}
/* Icons: CSS masks so any block can carry one via class "sb-i sb-i-<name>" */
.sb-i-shield{--sb-icon:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.65%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 3 5 6v5c0 4.5 2.5 7.7 7 10 4.5-2.3 7-5.5 7-10V6l-7-3Z%22/%3E%3Cpath d=%22m9 12 2 2 4-5%22/%3E%3C/svg%3E")}
.sb-i-globe{--sb-icon:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.65%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%229%22/%3E%3Cpath d=%22M3 12h18M12 3c2.5 2.4 4 5.4 4 9s-1.5 6.6-4 9c-2.5-2.4-4-5.4-4-9s1.5-6.6 4-9Z%22/%3E%3C/svg%3E")}
.sb-i-monitor{--sb-icon:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.65%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%223%22 y=%224%22 width=%2218%22 height=%2213%22 rx=%221%22/%3E%3Cpath d=%22M8 21h8M12 17v4%22/%3E%3C/svg%3E")}
.sb-i-lock{--sb-icon:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.65%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%225%22 y=%2210%22 width=%2214%22 height=%2210%22 rx=%221%22/%3E%3Cpath d=%22M8 10V7a4 4 0 0 1 8 0v3M12 14v2%22/%3E%3C/svg%3E")}
.sb-i-mail{--sb-icon:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.65%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%223%22 y=%225%22 width=%2218%22 height=%2214%22 rx=%221%22/%3E%3Cpath d=%22m4 7 8 6 8-6%22/%3E%3C/svg%3E")}
.sb-i-calendar{--sb-icon:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.65%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%223%22 y=%225%22 width=%2218%22 height=%2216%22 rx=%221%22/%3E%3Cpath d=%22M7 3v4M17 3v4M3 10h18M7 14h3M14 14h3M7 18h3%22/%3E%3C/svg%3E")}
.sb-i-clipboard{--sb-icon:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.65%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%225%22 y=%224%22 width=%2214%22 height=%2217%22 rx=%221%22/%3E%3Cpath d=%22M9 4V3h6v1M9 10h6M9 14h6M9 18h3%22/%3E%3C/svg%3E")}
.sb-i-bot{--sb-icon:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.65%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%225%22 y=%226%22 width=%2214%22 height=%2212%22 rx=%222%22/%3E%3Cpath d=%22M9 3h6M12 3v3M8 11h.01M16 11h.01M8 15h8%22/%3E%3C/svg%3E")}
.sb-i-phone{--sb-icon:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.65%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2Z%22/%3E%3C/svg%3E")}
.sb-i-network{--sb-icon:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.65%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%229%22 y=%222%22 width=%226%22 height=%225%22 rx=%221%22/%3E%3Crect x=%222%22 y=%2217%22 width=%226%22 height=%225%22 rx=%221%22/%3E%3Crect x=%2216%22 y=%2217%22 width=%226%22 height=%225%22 rx=%221%22/%3E%3Cpath d=%22M12 7v5M5 17v-5h14v5%22/%3E%3C/svg%3E")}
.sb-i-coach{--sb-icon:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.65%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%228%22 cy=%227%22 r=%223%22/%3E%3Cpath d=%22M2 20c.5-3.5 2.5-5.5 6-5.5 1.5 0 2.7.4 3.6 1.1M12 4h9v9h-7M16 13l2 5%22/%3E%3C/svg%3E")}
.sb-i-gavel{--sb-icon:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.65%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22m14 4 6 6M13 5l6 6M5 19l6-6M8 7l9 9M3 21h7%22/%3E%3Cpath d=%22m12 4 3-3 8 8-3 3z%22/%3E%3C/svg%3E")}
.sb-i-tooth{--sb-icon:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.65%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M8 3c-3 0-5 2-5 5 0 2 1 4 2 6l2 6c.3 1 1 1 1.5.2L10 14c.4-1.7 3.6-1.7 4 0l1.5 6.2c.5.8 1.2.8 1.5-.2l2-6c1-2 2-4 2-6 0-3-2-5-5-5-2 0-2.5 1-4 1s-2-1-4-1Z%22/%3E%3C/svg%3E")}
.sb-i-people{--sb-icon:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.65%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%229%22 cy=%228%22 r=%223%22/%3E%3Ccircle cx=%2217%22 cy=%229%22 r=%222.3%22/%3E%3Cpath d=%22M3 20c.5-4 2.5-6 6-6s5.5 2 6 6M15 14c3 0 5 1.7 5.5 5%22/%3E%3C/svg%3E")}
.sb-i-search{--sb-icon:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.65%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2211%22 cy=%2211%22 r=%227%22/%3E%3Cpath d=%22m20 20-4-4%22/%3E%3C/svg%3E")}
.sb-i-wrench{--sb-icon:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.65%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M14.7 6.3a4 4 0 0 0-5.4 5.2L3 17.8V21h3.2l6.3-6.3a4 4 0 0 0 5.2-5.4l-2.6 2.6-2.4-.6-.6-2.4 2.6-2.6Z%22/%3E%3C/svg%3E")}
.sb-i-store{--sb-icon:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.65%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M4 10v10h16V10%22/%3E%3Cpath d=%22M3 10 5 4h14l2 6%22/%3E%3Cpath d=%22M3 10a3 3 0 0 0 6 0 3 3 0 0 0 6 0 3 3 0 0 0 6 0%22/%3E%3Cpath d=%22M10 20v-5h4v5%22/%3E%3C/svg%3E")}
.sb-i-dish{--sb-icon:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.65%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M4 20 9 15%22/%3E%3Cpath d=%22M5.5 13.5a6 6 0 0 1 8-8l-8 8Z%22/%3E%3Cpath d=%22M12.5 12.5 16 16%22/%3E%3Cpath d=%22M14 4a7 7 0 0 1 6 6%22/%3E%3Cpath d=%22M14.5 7.5a3.5 3.5 0 0 1 2.5 2.5%22/%3E%3C/svg%3E")}
