/**
 * Shreedev Blocks – front-end + editor preview styles.
 * Tokens fall back to sensible values when the Shreedev theme is not active.
 */

:root {
	--sd-navy: var(--wp--preset--color--navy, #0b2545);
	--sd-navy-deep: var(--wp--preset--color--navy-deep, #061a33);
	--sd-blue: var(--wp--preset--color--blue, #1565d8);
	--sd-blue-light: var(--wp--preset--color--blue-light, #2e8bf0);
	--sd-orange: var(--wp--preset--color--orange, #f26b1d);
	--sd-orange-dark: #db5a0f;
	--sd-text: var(--wp--preset--color--text, #1c2b3a);
	--sd-muted: var(--wp--preset--color--muted, #5b6b7f);
	--sd-border: var(--wp--preset--color--border, #e3e9f1);
	--sd-light: var(--wp--preset--color--light, #f4f7fb);
	--sd-white: #fff;
	--sd-font-head: var(--wp--preset--font-family--heading, "Plus Jakarta Sans", system-ui, sans-serif);
	--sd-font-body: var(--wp--preset--font-family--body, "Inter", system-ui, sans-serif);
	--sd-radius: 10px;
	--sd-radius-lg: 14px;
	--sd-shadow: 0 10px 30px rgba(11, 37, 69, 0.08);
	--sd-shadow-lg: 0 20px 50px rgba(11, 37, 69, 0.16);
	--sd-container: 1240px;
	--sd-gap: 24px;
	--sd-section: clamp(48px, 6vw, 80px);
}

/* ---------------------------------------------------------------- Base */
.sd-container {
	width: 100%;
	max-width: var(--sd-container);
	margin-inline: auto;
	padding-inline: 20px;
	box-sizing: border-box;
}
.sd-section {
	position: relative;
	padding-block: var(--sd-section);
	font-family: var(--sd-font-body);
	color: var(--sd-text);
	overflow: hidden;
}
.sd-section *,
.sd-hero *,
.sd-cta *,
.sd-footer *,
.sd-modal *,
.sd-qform, .sd-qform *,
.sd-contact-info *,
.sd-promo, .sd-promo *,
.sd-plist *,
.sd-stats * { box-sizing: border-box; }
.sd-section img,
.sd-hero img,
.sd-modal img,
.sd-footer img { max-width: 100%; display: block; }
.sd-bg--light { background: var(--sd-light); }
.sd-bg--gradient { background: linear-gradient(180deg, #f6f9fd 0%, #fff 100%); }
.sd-bg--gradient::before {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(60% 80% at 100% 0%, rgba(46, 139, 240, 0.08), transparent 60%), radial-gradient(40% 60% at 0% 100%, rgba(242, 107, 29, 0.05), transparent 60%);
	pointer-events: none;
}
.sd-svg { width: 1em; height: 1em; flex: none; }
.sd-form [hidden],
.sd-modal [hidden],
.sd-section [hidden] { display: none !important; }
.sd-hl { color: var(--sd-orange); }
.sd-empty {
	padding: 24px;
	border: 1px dashed var(--sd-border);
	border-radius: var(--sd-radius);
	color: var(--sd-muted);
	text-align: center;
	font-size: 14px;
	background: #fff;
}
.screen-reader-text:not(:focus) {
	position: absolute !important;
	width: 1px; height: 1px; overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
}

/* ------------------------------------------------------------- Headings */
.sd-heading { margin-bottom: 32px; max-width: 760px; }
.sd-eyebrow {
	margin: 0 0 8px;
	font: 700 12px/1.4 var(--sd-font-body);
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--sd-orange);
}
.sd-title {
	margin: 0;
	font: 800 clamp(26px, 3vw, 36px)/1.18 var(--sd-font-head);
	color: var(--sd-navy);
	letter-spacing: -0.01em;
}
.sd-title--sm { font-size: clamp(20px, 2vw, 26px); }
.sd-desc,
.sd-heading p:not(.sd-eyebrow) {
	margin: 12px 0 0;
	color: var(--sd-muted);
	font-size: 15px;
	line-height: 1.7;
}
.sd-head-row {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 28px;
}
.sd-head-row .sd-heading { margin-bottom: 0; }
.sd-head-row__aside { display: flex; align-items: center; gap: 16px; flex: none; }

/* ------------------------------------------------------------- Buttons */
.sd-btns { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; margin-top: 28px; }
.sd-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 13px 24px;
	border: 2px solid var(--sd-orange);
	border-radius: 6px;
	background: var(--sd-orange);
	color: #fff !important;
	font: 700 14px/1.2 var(--sd-font-body);
	text-decoration: none !important;
	cursor: pointer;
	transition: background 0.2s, border-color 0.2s, transform 0.2s, box-shadow 0.2s;
	box-shadow: 0 8px 20px rgba(242, 107, 29, 0.25);
}
.sd-btn:hover { background: var(--sd-orange-dark); border-color: var(--sd-orange-dark); transform: translateY(-1px); }
.sd-btn:focus-visible { outline: 3px solid rgba(242, 107, 29, 0.4); outline-offset: 2px; }
.sd-btn .sd-svg { font-size: 16px; }
.sd-btn__arrow { transition: transform 0.2s; }
.sd-btn:hover .sd-btn__arrow { transform: translateX(3px); }
.sd-btn--sm { padding: 9px 16px; font-size: 13px; }
.sd-btn--lg { padding: 16px 30px; font-size: 16px; }
.sd-btn--block { display: flex; width: 100%; }
.sd-btn--navy { background: var(--sd-navy); border-color: var(--sd-navy); box-shadow: none; }
.sd-btn--navy:hover { background: var(--sd-navy-deep); border-color: var(--sd-navy-deep); }
.sd-btn--outline { background: transparent; color: var(--sd-blue) !important; border-color: var(--sd-blue); box-shadow: none; }
.sd-btn--outline:hover { background: var(--sd-blue); color: #fff !important; border-color: var(--sd-blue); }
.sd-btn--outline-light { background: transparent; border-color: rgba(255, 255, 255, 0.7); box-shadow: none; }
.sd-btn--outline-light:hover { background: #fff; color: var(--sd-navy) !important; border-color: #fff; }
.sd-btn--white { background: #fff; color: var(--sd-orange) !important; border-color: #fff; }
.sd-btn--white:hover { background: var(--sd-navy); color: #fff !important; border-color: var(--sd-navy); }
.sd-btn--ghost { background: transparent; color: var(--sd-navy) !important; border-color: var(--sd-border); box-shadow: none; }
.sd-btn[disabled] { opacity: 0.6; pointer-events: none; }
.sd-heading + .sd-btn,
.sd-checks + .sd-btn,
.sd-features__items + .sd-btn { margin-top: 24px; }

.sd-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--sd-orange) !important;
	font: 700 13px/1.3 var(--sd-font-body);
	text-decoration: none !important;
}
.sd-link:hover .sd-svg { transform: translateX(3px); }
.sd-link .sd-svg { transition: transform 0.2s; }
.sd-circle {
	display: inline-grid;
	place-items: center;
	width: 34px; height: 34px;
	border: 1px solid var(--sd-border);
	border-radius: 50%;
	color: var(--sd-navy);
	transition: 0.2s;
}
.sd-circle:hover { background: var(--sd-orange); border-color: var(--sd-orange); color: #fff; }

.sd-arrows { display: flex; gap: 8px; }
.sd-arrows[hidden] { display: none; }
.sd-arrow {
	display: grid;
	place-items: center;
	width: 38px; height: 38px;
	border: 1px solid var(--sd-border);
	border-radius: 50%;
	background: #fff;
	color: var(--sd-navy);
	cursor: pointer;
	box-shadow: var(--sd-shadow);
	transition: 0.2s;
}
.sd-arrow:hover:not(:disabled) { background: var(--sd-orange); color: #fff; border-color: var(--sd-orange); }
.sd-arrow:disabled { opacity: 0.4; cursor: default; }

/* ---------------------------------------------------------------- Icons */
.sd-ic {
	--c: var(--sd-orange);
	--bg: rgba(242, 107, 29, 0.1);
	display: inline-grid;
	place-items: center;
	flex: none;
	width: 46px; height: 46px;
	border-radius: 50%;
	background: var(--bg);
	color: var(--c);
	font-size: 22px;
}
.sd-ic--blue { --c: var(--sd-blue); --bg: rgba(21, 101, 216, 0.1); }
.sd-ic--purple { --c: #7c4dff; --bg: rgba(124, 77, 255, 0.1); }
.sd-ic--green { --c: #12b886; --bg: rgba(18, 184, 134, 0.1); }
.sd-ic--teal { --c: #0ea5b7; --bg: rgba(14, 165, 183, 0.1); }
.sd-ic--pink { --c: #e64980; --bg: rgba(230, 73, 128, 0.1); }
.sd-ic--navy { --c: var(--sd-navy); --bg: rgba(11, 37, 69, 0.08); }
.sd-ic--solid { background: var(--c); color: #fff; box-shadow: 0 8px 18px color-mix(in srgb, var(--c) 35%, transparent); }
.sd-ic--lg { width: 72px; height: 72px; font-size: 32px; }
.sd-ic--ring { width: 64px; height: 64px; font-size: 28px; background: #fff; border: 2px solid var(--c); box-shadow: 0 0 0 6px var(--bg); }
.sd-ic--sq { border-radius: 8px; width: 40px; height: 40px; font-size: 20px; }

.sd-ring {
	display: inline-grid;
	place-items: center;
	width: 40px; height: 40px;
	border: 2px solid rgba(255, 255, 255, 0.5);
	border-radius: 50%;
	font-size: 20px;
	flex: none;
}

/* -------------------------------------------------------------- Checks */
.sd-checks { list-style: none; margin: 20px 0 0; padding: 0; display: grid; gap: 12px; }
.sd-checks li { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; color: var(--sd-text); }
.sd-checks .sd-svg { color: #fff; background: var(--sd-orange); border-radius: 50%; font-size: 18px; padding: 2px; stroke-width: 2.4; }
.sd-checks .sd-svg circle { display: none; }
.sd-checks--2col { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 24px; }
.sd-checks--sm { gap: 6px; margin-top: 8px; }
.sd-checks--sm li { font-size: 13px; }
.sd-checks--sm .sd-svg { font-size: 15px; }
.sd-dots { list-style: none; padding: 0; margin: 16px 0 24px; display: grid; gap: 10px; }
.sd-dots li { position: relative; padding-left: 18px; font-size: 14px; }
.sd-dots li::before { content: ""; position: absolute; left: 0; top: 0.5em; width: 8px; height: 8px; border-radius: 50%; background: var(--sd-blue-light); box-shadow: 0 0 0 3px rgba(46, 139, 240, 0.25); }

/* ------------------------------------------------------- Scroll tracks */
.sd-track.is-scroller {
	display: grid !important;
	grid-auto-flow: column;
	grid-template-columns: none !important;
	grid-auto-columns: calc((100% - (var(--sd-cols, 4) - 1) * var(--sd-gap)) / var(--sd-cols, 4));
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	padding-bottom: 6px;
}
.sd-track.is-scroller::-webkit-scrollbar { display: none; }
.sd-track.is-scroller > * { scroll-snap-align: start; }

/* ================================================================= HERO */
.sd-hero {
	position: relative;
	isolation: isolate;
	display: flex;
	align-items: center;
	min-height: 300px;
	padding-block: 56px 72px;
	background: var(--sd-navy-deep);
	color: #fff;
	font-family: var(--sd-font-body);
	overflow: hidden;
}
.sd-hero__bg {
	position: absolute;
	inset: 0 0 0 30%;
	z-index: -2;
	background-size: cover;
	background-position: center;
}
.sd-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background:
		linear-gradient(90deg, var(--sd-navy-deep) 30%, rgba(6, 26, 51, 0.85) 48%, rgba(6, 26, 51, 0.25) 75%, rgba(6, 26, 51, 0.1) 100%),
		linear-gradient(0deg, rgba(6, 26, 51, 0.5), transparent 40%);
}
.sd-hero__lines {
	position: absolute;
	inset: 0;
	z-index: -1;
	background:
		linear-gradient(115deg, transparent 0 8%, rgba(46, 139, 240, 0.55) 8.2%, transparent 8.6%),
		linear-gradient(115deg, transparent 0 11%, rgba(46, 139, 240, 0.25) 11.1%, transparent 11.4%),
		radial-gradient(40% 70% at 0% 50%, rgba(21, 101, 216, 0.45), transparent 70%);
	pointer-events: none;
}
.sd-hero__inner {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 40px;
}
.sd-hero__content { max-width: 620px; }
.sd-hero .sd-eyebrow { color: #c9d8ee; letter-spacing: 0.24em; }
.sd-hero__title {
	margin: 0;
	font: 800 clamp(34px, 4.6vw, 56px)/1.08 var(--sd-font-head);
	color: #fff;
	letter-spacing: -0.02em;
}
.sd-hero__sub { margin: 16px 0 0; font-size: 18px; font-weight: 500; color: #fff; }
.sd-hero__desc { margin: 16px 0 0; color: #d3dceb; font-size: 16px; line-height: 1.7; max-width: 560px; }
.sd-hero__feats { list-style: none; margin: 32px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 14px 28px; }
.sd-hero__feats li { display: flex; align-items: center; gap: 10px; font-size: 13px; font-weight: 600; line-height: 1.3; max-width: 150px; }
.sd-hero__card {
	list-style: none;
	margin: 0;
	padding: 14px;
	display: grid;
	gap: 4px;
	min-width: 230px;
	background: rgba(255, 255, 255, 0.96);
	border-radius: var(--sd-radius-lg);
	box-shadow: var(--sd-shadow-lg);
	color: var(--sd-navy);
	align-self: start;
}
.sd-hero__card li { display: flex; align-items: center; gap: 12px; padding: 8px; border-bottom: 1px solid var(--sd-border); }
.sd-hero__card li:last-child { border-bottom: 0; }
.sd-hero__card strong { display: block; font-size: 13px; }
.sd-hero__card span { font-size: 12px; color: var(--sd-muted); line-height: 1.35; }
.sd-hero__card .sd-ic { width: 40px; height: 40px; font-size: 18px; }
.sd-hero__card li:nth-child(even) .sd-ic { --c: var(--sd-blue); --bg: rgba(21, 101, 216, 0.1); }
.sd-hero--home { min-height: 520px; padding-bottom: 110px; }
.sd-hero--home .sd-hero__title { font-size: clamp(36px, 5vw, 60px); }
.sd-hero__play { position: absolute; left: 62%; top: 50%; transform: translate(-50%, -50%); }

.sd-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 18px; font-size: 13px; color: #c9d8ee; }
.sd-breadcrumb a { color: #fff; text-decoration: none; }
.sd-breadcrumb a:hover { color: var(--sd-orange); }
.sd-breadcrumb .sd-svg { font-size: 12px; opacity: 0.7; }

.sd-play { display: inline-flex; align-items: center; gap: 14px; color: #fff !important; text-decoration: none !important; font-weight: 600; font-size: 14px; }
.sd-play__btn {
	display: grid;
	place-items: center;
	width: 64px; height: 64px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.18);
	border: 2px solid rgba(255, 255, 255, 0.8);
	backdrop-filter: blur(4px);
	font-size: 22px;
	color: #fff;
	box-shadow: 0 0 0 10px rgba(255, 255, 255, 0.08);
	transition: transform 0.2s;
}
.sd-play:hover .sd-play__btn { transform: scale(1.08); }
.sd-play__btn .sd-svg { margin-left: 3px; }
.sd-play__label { max-width: 150px; line-height: 1.35; }
.sd-play--center { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); flex-direction: column; text-align: center; gap: 8px; }
.sd-play--center .sd-play__btn { background: var(--sd-blue); border-color: #fff; }

/* ================================================================ STATS */
.sd-stats { position: relative; z-index: 3; font-family: var(--sd-font-body); }
.sd-stats--overlap { margin-top: -44px; }
.sd-stats__row {
	list-style: none;
	margin: 0;
	padding: 18px 10px;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
	background: #fff;
	border: 1px solid var(--sd-border);
	border-radius: var(--sd-radius-lg);
	box-shadow: var(--sd-shadow);
}
.sd-stats__item { display: flex; align-items: center; gap: 14px; padding: 6px 20px; border-right: 1px solid var(--sd-border); }
.sd-stats__item:last-child { border-right: 0; }
.sd-stats__item strong { display: block; font: 800 22px/1.1 var(--sd-font-head); color: var(--sd-navy); white-space: nowrap; }
.sd-stats__item small { display: block; font-size: 12.5px; color: var(--sd-muted); margin-top: 2px; }

/* ============================================================= PRODUCTS */
.sd-pgrid { display: grid; grid-template-columns: repeat(var(--sd-cols, 4), minmax(0, 1fr)); gap: var(--sd-gap); }
.sd-products__body.has-side { display: grid; grid-template-columns: minmax(0, 1fr) 260px; gap: var(--sd-gap); align-items: stretch; }
.sd-pcard {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--sd-border);
	border-radius: var(--sd-radius);
	overflow: hidden;
	box-shadow: 0 4px 14px rgba(11, 37, 69, 0.05);
	transition: transform 0.25s, box-shadow 0.25s;
}
.sd-pcard:hover { transform: translateY(-4px); box-shadow: var(--sd-shadow-lg); }
.sd-pcard__img { display: block; aspect-ratio: 16 / 10; background: #f2f4f7; overflow: hidden; }
.sd-pcard__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s; }
.sd-pcard:hover .sd-pcard__img img { transform: scale(1.05); }
.sd-pcard__body { display: flex; flex-direction: column; flex: 1; padding: 16px 18px 18px; }
.sd-pcard__title { margin: 0; font: 700 16px/1.3 var(--sd-font-head); }
.sd-pcard__title a { color: var(--sd-navy); text-decoration: none; }
.sd-pcard__title a:hover { color: var(--sd-orange); }
.sd-pcard__text { margin: 6px 0 0; font-size: 13.5px; line-height: 1.55; color: var(--sd-muted); }
.sd-pcard__foot { display: flex; align-items: center; justify-content: space-between; margin-top: auto; padding-top: 14px; }
.sd-pcard__actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: auto; padding-top: 14px; }
.sd-pcard__actions .sd-btn { padding-inline: 8px; box-shadow: none; white-space: nowrap; font-size: 12.5px; }
.sd-pcard__actions .sd-btn__arrow { display: none; }
.sd-chips { list-style: none; display: flex; flex-wrap: wrap; gap: 6px; margin: 12px 0 0; padding: 0; }
.sd-chips li { display: inline-flex; align-items: center; gap: 5px; padding: 4px 9px; font-size: 11.5px; color: var(--sd-muted); background: var(--sd-light); border: 1px solid var(--sd-border); border-radius: 4px; }

.sd-dark-card {
	position: relative;
	isolation: isolate;
	padding: 28px 24px;
	border-radius: var(--sd-radius-lg);
	color: #fff;
	background: var(--sd-navy);
	overflow: hidden;
}
.sd-dark-card::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(180deg, rgba(6, 26, 51, 0.92), rgba(11, 37, 69, 0.85)), var(--sd-card-img) center / cover;
}
.sd-dark-card h3 { margin: 0; font: 800 22px/1.25 var(--sd-font-head); color: #fff; }
.sd-dark-card .sd-dots li { color: #dbe5f3; }

/* related products: smaller cards */
.sd-products--related .sd-pcard__img { aspect-ratio: 16 / 9; }

/* catalog */
.sd-catalog { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 28px; align-items: start; }
.sd-catalog__side { display: grid; gap: 20px; position: sticky; top: 110px; }
.sd-catalog__main .sd-pgrid { --sd-cols: 3; }
.sd-box { background: #fff; border: 1px solid var(--sd-border); border-radius: var(--sd-radius); overflow: hidden; box-shadow: 0 4px 14px rgba(11, 37, 69, 0.04); }
.sd-box__title { margin: 0; padding: 14px 18px; background: var(--sd-navy); color: #fff; font: 700 15px/1.3 var(--sd-font-head); }
.sd-box__head { margin: 0 0 8px; font: 700 16px/1.3 var(--sd-font-head); color: var(--sd-navy); }
.sd-cats { list-style: none; margin: 0; padding: 10px; }
.sd-cats a {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 9px 10px;
	border-bottom: 1px solid var(--sd-border);
	color: var(--sd-text);
	font-size: 13.5px;
	text-decoration: none;
	border-radius: 4px;
}
.sd-cats li:last-child a { border-bottom: 0; }
.sd-cats a:hover { color: var(--sd-orange); }
.sd-cats .is-active a { background: var(--sd-orange); color: #fff; font-weight: 600; justify-content: space-between; border-bottom: 0; }
.sd-cats a .sd-svg { font-size: 12px; }
.sd-filters { padding: 18px; }
.sd-filter { border-top: 1px solid var(--sd-border); padding: 12px 0; }
.sd-filter summary { display: flex; justify-content: space-between; align-items: center; cursor: pointer; font-weight: 700; font-size: 14px; color: var(--sd-navy); list-style: none; }
.sd-filter summary::-webkit-details-marker { display: none; }
.sd-filter[open] summary .sd-svg { transform: rotate(180deg); }
.sd-check { display: flex; align-items: center; gap: 8px; margin-top: 8px; font-size: 13px; color: var(--sd-text); cursor: pointer; }
.sd-check input { accent-color: var(--sd-orange); width: 15px; height: 15px; }
.sd-check em { color: var(--sd-muted); font-style: normal; }
.sd-filters .sd-btn { margin-top: 12px; }
.sd-side-promo {
	padding: 24px 20px;
	border-radius: var(--sd-radius);
	background: linear-gradient(160deg, var(--sd-navy) 0%, var(--sd-blue) 140%);
	color: #fff;
}
.sd-side-promo h3 { margin: 0 0 8px; color: #fff; font: 800 20px/1.25 var(--sd-font-head); }
.sd-side-promo p { margin: 0 0 16px; font-size: 13px; color: #d3dceb; }
.sd-toolbar { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 20px; }
.sd-search { position: relative; flex: 1 1 280px; display: flex; }
.sd-search input {
	width: 100%;
	padding: 11px 46px 11px 14px;
	border: 1px solid var(--sd-border);
	border-radius: 6px;
	font: 14px var(--sd-font-body);
	background: #fff;
}
.sd-search button { position: absolute; right: 4px; top: 4px; bottom: 4px; width: 38px; border: 0; background: none; color: var(--sd-navy); cursor: pointer; font-size: 18px; }
.sd-sort { display: flex; align-items: center; gap: 8px; padding: 0 12px; border: 1px solid var(--sd-border); border-radius: 6px; background: #fff; font-size: 13px; color: var(--sd-muted); }
.sd-sort select { border: 0; padding: 10px 4px; font: 600 13px var(--sd-font-body); color: var(--sd-navy); background: transparent; }
.sd-view-toggle { display: flex; gap: 6px; }
.sd-view-toggle button { width: 42px; border: 1px solid var(--sd-border); border-radius: 6px; background: #fff; color: var(--sd-navy); cursor: pointer; font-size: 18px; display: grid; place-items: center; }
.sd-view-toggle .is-active { background: var(--sd-navy); color: #fff; border-color: var(--sd-navy); }
.sd-pgrid.is-list { grid-template-columns: 1fr; }
.sd-pgrid.is-list .sd-pcard { flex-direction: row; }
.sd-pgrid.is-list .sd-pcard__img { width: 260px; flex: none; aspect-ratio: auto; }
.sd-pager { display: flex; justify-content: center; gap: 8px; margin-top: 32px; }
.sd-pager a { display: grid; place-items: center; min-width: 36px; height: 36px; padding: 0 6px; border: 1px solid var(--sd-border); border-radius: 50%; color: var(--sd-navy); text-decoration: none; font-size: 14px; background: #fff; }
.sd-pager a.is-active, .sd-pager a:hover { background: var(--sd-navy); color: #fff; border-color: var(--sd-navy); }

/* ================================================================ ABOUT */
.sd-about__grid { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: 48px; align-items: center; }
.sd-about.is-reverse .sd-about__text { order: 2; }
.sd-about__media { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; }
.sd-about__img { position: relative; border-radius: var(--sd-radius-lg); overflow: hidden; min-height: 320px; box-shadow: var(--sd-shadow); }
.sd-about__img > img { width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; }
.sd-about__list { list-style: none; margin: 0; padding: 0; }
.sd-about--panel .sd-about__list {
	display: grid;
	align-content: center;
	padding: 20px 24px;
	background: var(--sd-navy);
	border-radius: 0 var(--sd-radius-lg) var(--sd-radius-lg) 0;
	margin-left: -12px;
	color: #fff;
}
.sd-about--panel .sd-about__img { border-radius: var(--sd-radius-lg) 0 0 var(--sd-radius-lg); }
.sd-about--panel .sd-about__list li { display: flex; align-items: center; gap: 12px; padding: 12px 0; border-bottom: 1px solid rgba(255, 255, 255, 0.12); font-size: 14px; font-weight: 600; }
.sd-about--panel .sd-about__list li:last-child { border-bottom: 0; }
.sd-about--panel .sd-about__list .sd-ic { --c: #fff; --bg: transparent; border: 1.5px solid rgba(255, 255, 255, 0.4); width: 38px; height: 38px; font-size: 17px; }
.sd-about--card .sd-about__media { grid-template-columns: 1fr; }
.sd-about--card .sd-about__img { min-height: 380px; }
.sd-about--card .sd-about__list {
	position: absolute;
	right: 16px;
	top: 16px;
	display: grid;
	gap: 2px;
	padding: 12px 16px;
	background: rgba(255, 255, 255, 0.97);
	border-radius: var(--sd-radius);
	box-shadow: var(--sd-shadow-lg);
	min-width: 190px;
}
.sd-about--card .sd-about__list li { display: flex; gap: 10px; align-items: center; padding: 8px 0; border-bottom: 1px solid var(--sd-border); font-size: 13px; font-weight: 600; color: var(--sd-navy); }
.sd-about--card .sd-about__list li:last-child { border-bottom: 0; }
.sd-about--card .sd-about__list .sd-ic { width: 34px; height: 34px; font-size: 16px; }
.sd-about__badges { position: absolute; left: 12px; bottom: 12px; right: 12px; list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.sd-about__badges li { display: flex; gap: 10px; align-items: center; padding: 12px 16px; background: rgba(6, 26, 51, 0.92); border-radius: 8px; color: #fff; font-size: 12px; }
.sd-about__badges .sd-svg { font-size: 24px; }
.sd-about__badges strong { display: block; font-size: 14px; }
.sd-chipstats { list-style: none; margin: 32px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 12px; }
.sd-chipstats li { display: flex; align-items: center; gap: 10px; padding: 12px 16px; background: #fff; border: 1px solid var(--sd-border); border-radius: var(--sd-radius); box-shadow: 0 4px 14px rgba(11, 37, 69, 0.05); }
.sd-chipstats strong { display: block; font: 800 20px/1.1 var(--sd-font-head); color: var(--sd-navy); }
.sd-chipstats small { font-size: 11px; color: var(--sd-muted); }

/* ============================================================= FEATURES */
.sd-features__items { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(var(--sd-cols, 4), minmax(0, 1fr)); gap: var(--sd-gap); }
.sd-feature__title { margin: 0; font: 700 15.5px/1.3 var(--sd-font-head); color: var(--sd-navy); }
.sd-feature__text { margin-top: 6px; font-size: 13.5px; line-height: 1.6; color: var(--sd-muted); }
.sd-feature__text p { margin: 0; }
/* row */
.sd-features--row .sd-feature,
.sd-features--media .sd-feature,
.sd-features--dark .sd-feature { display: flex; gap: 14px; align-items: flex-start; }
.sd-features--row .sd-features__items { padding: 22px; background: #fff; border: 1px solid var(--sd-border); border-radius: var(--sd-radius-lg); box-shadow: var(--sd-shadow); }
.sd-features--row .sd-feature + .sd-feature { border-left: 1px solid var(--sd-border); padding-left: var(--sd-gap); margin-left: calc(var(--sd-gap) * -1 + 1px); }
.sd-features--row .sd-feature__title { font-size: 14.5px; }
/* cards & split */
.sd-features--cards .sd-feature,
.sd-features--split .sd-feature {
	padding: 26px 20px;
	text-align: center;
	background: #fff;
	border: 1px solid var(--sd-border);
	border-radius: var(--sd-radius-lg);
	box-shadow: 0 6px 18px rgba(11, 37, 69, 0.05);
	transition: transform 0.25s, box-shadow 0.25s;
}
.sd-features--cards .sd-feature:hover,
.sd-features--split .sd-feature:hover { transform: translateY(-4px); box-shadow: var(--sd-shadow-lg); }
.sd-features--cards .sd-ic, .sd-features--split .sd-ic { margin: 0 auto 16px; }
.sd-features--cards .sd-checks, .sd-features--split .sd-checks { text-align: left; }
.sd-features--cards.has-image .sd-features__wrap { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: var(--sd-gap); align-items: stretch; }
.sd-features--cards .sd-feature { text-align: left; }
.sd-features--cards .sd-feature .sd-ic { margin: 0 0 14px; }
.sd-features__side { border-radius: var(--sd-radius-lg); overflow: hidden; }
.sd-features__side img { width: 100%; height: 100%; object-fit: cover; }
.sd-features__split { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: 48px; align-items: center; }
.sd-features--split .sd-features__items { --sd-cols: 4; }
.sd-features--split .sd-feature { padding: 22px 14px; }
.sd-features--media .sd-features__split { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.sd-features--media .sd-features__items { --sd-cols: 3; margin-top: 8px; }
.sd-features__media { position: relative; margin: 0; border-radius: var(--sd-radius-lg); overflow: hidden; min-height: 300px; }
.sd-features__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.sd-features__media figcaption { position: absolute; left: 24px; bottom: 24px; color: #fff; font: 800 22px/1.25 var(--sd-font-head); max-width: 260px; }
.sd-features__media figcaption::after { content: ""; display: block; width: 44px; height: 3px; margin-top: 12px; background: var(--sd-orange); }
.sd-features__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(6, 26, 51, 0.75), transparent 70%); }
.sd-features__media figcaption { z-index: 1; }
/* dark band */
.sd-features--dark { background: var(--sd-navy-deep); color: #fff; }
.sd-features--dark .sd-title, .sd-features--dark .sd-feature__title { color: #fff; }
.sd-features--dark .sd-feature__text, .sd-features--dark .sd-desc { color: #c4d1e4; }
.sd-features__bg { position: absolute; inset: 0 0 0 64%; background-size: cover; background-position: center; opacity: 0.55; mask-image: linear-gradient(90deg, transparent, #000 40%); }
.sd-features--dark .sd-container { position: relative; }
.sd-features--dark .sd-features__items { max-width: 960px; }

/* =============================================================== PROCESS */
.sd-process__deco { position: absolute; top: 0; right: 0; width: 45%; height: 70%; background-size: cover; background-position: center; opacity: 0.35; mask-image: linear-gradient(90deg, transparent, #000 60%); }
.sd-process .sd-container { position: relative; }
.sd-process__steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(var(--sd-cols, 5), minmax(0, 1fr)); gap: 20px; }
.sd-step-item { position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; min-width: 0; }
.sd-step-item:not(:last-child)::after {
	content: "";
	position: absolute;
	top: 32px;
	left: calc(50% + 44px);
	right: 6px;
	height: 2px;
	background: linear-gradient(90deg, var(--sd-blue-light), var(--sd-orange));
	opacity: 0.55;
}
.sd-step-item__num { position: absolute; left: 0; top: 18px; font: 800 24px/1 var(--sd-font-head); color: var(--sd-orange); }
.sd-step-item h3 { margin: 14px 0 4px; font: 700 14.5px/1.3 var(--sd-font-head); color: var(--sd-navy); }
.sd-step-item p { margin: 0; font-size: 13px; line-height: 1.5; color: var(--sd-muted); }

/* ============================================================ INDUSTRIES */
.sd-ind-grid { display: grid; grid-template-columns: repeat(var(--sd-cols, 6), minmax(0, 1fr)); gap: var(--sd-gap); }
.sd-ind { position: relative; }
.sd-ind__img { display: block; border-radius: var(--sd-radius); overflow: hidden; aspect-ratio: 4 / 3; background: var(--sd-light); }
.sd-ind__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s; }
.sd-ind:hover .sd-ind__img img { transform: scale(1.06); }
.sd-ind__label { margin: 12px 0 0; font: 700 14px/1.3 var(--sd-font-head); }
.sd-ind__label a, .sd-ind h3 a { color: var(--sd-navy); text-decoration: none; }
.sd-ind h3 a:hover { color: var(--sd-orange); }
.sd-industries--cards .sd-ind-grid { --sd-cols: 3; gap: var(--sd-gap); }
.sd-industries--cards .sd-ind { background: #fff; border: 1px solid var(--sd-border); border-radius: var(--sd-radius-lg); overflow: hidden; box-shadow: 0 6px 18px rgba(11, 37, 69, 0.05); }
.sd-industries--cards .sd-ind__img { border-radius: 0; aspect-ratio: 16 / 7; }
.sd-ind__icon { position: absolute; left: 20px; top: calc((100vw * 0) + 0px); margin-top: -28px; width: 56px !important; height: 56px !important; background: #fff !important; box-shadow: var(--sd-shadow); font-size: 24px !important; }
.sd-industries--cards .sd-ind__icon { position: relative; top: auto; left: 20px; margin-top: -28px; }
.sd-ind__body { padding: 8px 22px 22px; }
.sd-ind__body h3 { margin: 0; font: 700 18px/1.3 var(--sd-font-head); }
.sd-ind__body p { margin: 8px 0 12px; font-size: 13.5px; line-height: 1.6; color: var(--sd-muted); }

/* ======================================================== MEDIA CHECKLIST */
.sd-mcheck__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; align-items: center; }
.sd-mcheck--img-left .sd-mcheck__media { order: -1; }
.sd-mcheck.has-side-gallery .sd-mcheck__grid { grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.7fr) minmax(0, 1fr); gap: 28px; }
.sd-mcheck.has-side-gallery .sd-mcheck__media { order: 0; }
.sd-mcheck__media { border-radius: var(--sd-radius-lg); overflow: hidden; box-shadow: var(--sd-shadow); min-height: 300px; position: relative; }
.sd-mcheck__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.sd-mcheck.is-bleed .sd-mcheck__media { margin-left: calc((100vw - min(100vw, var(--sd-container))) / -2 - 20px); border-radius: 0 var(--sd-radius-lg) var(--sd-radius-lg) 0; }
.sd-mcheck.is-bleed.sd-mcheck--img-right .sd-mcheck__media { margin-left: 0; margin-right: calc((100vw - min(100vw, var(--sd-container))) / -2 - 20px); border-radius: var(--sd-radius-lg) 0 0 var(--sd-radius-lg); }
.sd-mcheck__gtitle { margin: 0 0 14px; font: 800 20px/1.3 var(--sd-font-head); color: var(--sd-navy); }
.sd-mcheck__gallery ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.sd-mcheck__gallery li { position: relative; border-radius: var(--sd-radius); overflow: hidden; aspect-ratio: 4 / 3; }
.sd-mcheck__gallery img { width: 100%; height: 100%; object-fit: cover; }
.sd-mcheck__gallery span { position: absolute; left: 0; right: 0; bottom: 0; padding: 8px 10px; background: linear-gradient(0deg, rgba(6, 26, 51, 0.9), transparent); color: #fff; font-size: 12px; font-weight: 600; }
.sd-container > .sd-mcheck__gallery { margin-top: 28px; }
.sd-container > .sd-mcheck__gallery ul { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
.sd-container > .sd-mcheck__gallery li { aspect-ratio: 16 / 9; }

/* ======================================================== CERTIFICATIONS */
.sd-certs.has-image .sd-certs__grid { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: 48px; align-items: center; }
.sd-certs__media { border-radius: 0 var(--sd-radius-lg) var(--sd-radius-lg) 0; overflow: hidden; min-height: 300px; position: relative; margin-left: calc((100vw - min(100vw, var(--sd-container))) / -2 - 20px); }
.sd-certs__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.sd-certs__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); }
.sd-certs__list li { display: flex; flex-direction: column; align-items: center; text-align: center; padding: 8px 12px; border-right: 1px solid var(--sd-border); }
.sd-certs__list li:last-child { border-right: 0; }
.sd-certs__list strong { margin-top: 12px; font-size: 13px; color: var(--sd-navy); }
.sd-certs__list small { font-size: 12px; color: var(--sd-muted); line-height: 1.4; }
.sd-badge {
	--b: var(--sd-blue);
	display: grid;
	place-items: center;
	width: 78px; height: 78px;
	border-radius: 50%;
	border: 3px solid var(--b);
	color: var(--b);
	font: 900 20px/1 var(--sd-font-head);
	letter-spacing: -0.02em;
	background: radial-gradient(circle, #fff 60%, color-mix(in srgb, var(--b) 8%, #fff));
	box-shadow: inset 0 0 0 4px #fff, inset 0 0 0 5px color-mix(in srgb, var(--b) 30%, #fff);
}
.sd-badge--green { --b: #2f9e44; }
.sd-badge--navy { --b: var(--sd-navy); }
.sd-badge--orange { --b: var(--sd-orange); }
.sd-badge--img { border: 0; box-shadow: none; background: none; }
.sd-badge--img img { max-width: 100%; max-height: 100%; object-fit: contain; }
.sd-certs--compact .sd-badge { width: 60px; height: 60px; font-size: 15px; }
.sd-certs--compact .sd-certs__list li { border: 0; }

/* =========================================================== TESTIMONIALS */
.sd-quotes { display: grid; grid-template-columns: repeat(var(--sd-cols, 3), minmax(0, 1fr)); gap: var(--sd-gap); }
.sd-quote { position: relative; margin: 0; padding: 24px 24px 22px 70px; background: #fff; border: 1px solid var(--sd-border); border-radius: var(--sd-radius); box-shadow: 0 6px 18px rgba(11, 37, 69, 0.05); display: flex; flex-direction: column; }
.sd-quote__mark { position: absolute; left: 22px; top: 12px; font: 900 58px/1 Georgia, serif; color: var(--sd-orange); }
.sd-quote blockquote { margin: 0 0 18px; padding: 0; border: 0; font-size: 14px; line-height: 1.65; color: var(--sd-text); flex: 1; }
.sd-quote blockquote::before { content: "\201C"; }
.sd-quote blockquote::after { content: "\201D"; }
.sd-quote figcaption { display: flex; align-items: center; gap: 12px; }
.sd-quote figcaption img, .sd-avatar { width: 42px; height: 42px; border-radius: 50%; object-fit: cover; flex: none; }
.sd-avatar { display: grid; place-items: center; background: linear-gradient(135deg, var(--sd-blue), var(--sd-navy)); color: #fff; font-weight: 700; font-size: 14px; }
.sd-quote strong { display: block; font-size: 14px; color: var(--sd-navy); }
.sd-quote small { font-size: 12px; color: var(--sd-muted); }
.sd-testimonials--dark { background: var(--sd-navy-deep) radial-gradient(60% 100% at 50% 0%, rgba(21, 101, 216, 0.35), transparent); }
.sd-testimonials--dark .sd-title { color: #fff; }
.sd-testimonials--dark .sd-desc { color: #c4d1e4; }

/* =================================================================== CTA */
.sd-cta { position: relative; isolation: isolate; padding-block: 40px; color: #fff; font-family: var(--sd-font-body); overflow: hidden; }
.sd-cta--navy { background: var(--sd-navy-deep); }
.sd-cta--orange { background: linear-gradient(90deg, var(--sd-orange) 0%, #f7883b 45%, var(--sd-navy) 85%); }
.sd-cta__bg { position: absolute; inset: -12px; z-index: -2; background-size: cover; background-position: center; opacity: 0.3; filter: blur(4px); }
.sd-cta--navy::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(6, 26, 51, 0.95) 30%, rgba(6, 26, 51, 0.6)), radial-gradient(40% 120% at 0% 50%, rgba(21, 101, 216, 0.5), transparent); }
.sd-cta--orange .sd-cta__bg { left: 50%; opacity: 0.5; mix-blend-mode: luminosity; }
.sd-cta__inner { display: flex; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap; }
.sd-cta__text { max-width: 620px; }
.sd-cta h2 { margin: 0; font: 800 clamp(22px, 2.6vw, 30px)/1.2 var(--sd-font-head); color: #fff; }
.sd-cta p { margin: 8px 0 0; color: #dbe5f3; font-size: 15px; }
.sd-cta .sd-btns { margin-top: 0; }
.sd-cta__actions { display: flex; flex-direction: column; align-items: flex-end; gap: 18px; }
.sd-cta__badges { list-style: none; margin: 0; padding: 0; display: flex; gap: 22px; flex-wrap: wrap; }
.sd-cta__badges li { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 600; max-width: 140px; line-height: 1.3; }
.sd-phone-btn { display: inline-flex; align-items: center; gap: 12px; padding: 10px 20px; border: 1.5px solid rgba(255, 255, 255, 0.6); border-radius: 6px; color: #fff !important; text-decoration: none !important; transition: 0.2s; }
.sd-phone-btn:hover { background: #fff; color: var(--sd-navy) !important; }
.sd-phone-btn .sd-svg { font-size: 24px; color: var(--sd-orange); }
.sd-phone-btn strong { display: block; font-size: 16px; }
.sd-phone-btn small { font-size: 12px; opacity: 0.85; }

/* ================================================================= FORMS */
.sd-form { font-family: var(--sd-font-body); }
.sd-grid-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 20px; }
.sd-field { display: grid; gap: 6px; }
.sd-field--full { grid-column: 1 / -1; }
.sd-field > label { font-size: 13.5px; font-weight: 600; color: var(--sd-navy); }
.sd-req { color: #e03131; }
.sd-field input:not([type=file]),
.sd-field select,
.sd-field textarea {
	width: 100%;
	padding: 11px 14px;
	border: 1px solid var(--sd-border);
	border-radius: 6px;
	background: #fff;
	font: 14px/1.4 var(--sd-font-body);
	color: var(--sd-text);
	transition: border-color 0.2s, box-shadow 0.2s;
}
.sd-field textarea { resize: vertical; min-height: 96px; }
.sd-field input:focus, .sd-field select:focus, .sd-field textarea:focus { outline: 0; border-color: var(--sd-blue); box-shadow: 0 0 0 3px rgba(21, 101, 216, 0.12); }
.sd-field.has-error input, .sd-field.has-error select, .sd-field.has-error textarea { border-color: #e03131; }
.sd-drop { display: flex; align-items: center; justify-content: center; gap: 14px; padding: 18px; border: 1.5px dashed #b8c6da; border-radius: 8px; background: #f8fbff; cursor: pointer; text-align: left; }
.sd-drop:hover { border-color: var(--sd-blue); }
.sd-drop .sd-svg { font-size: 32px; color: var(--sd-blue); }
.sd-drop strong { display: block; font-size: 14px; color: var(--sd-navy); }
.sd-drop small { font-size: 12px; color: var(--sd-muted); }
.sd-drop input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.sd-hp { position: absolute !important; left: -9999px; }
.sd-form__msg { margin: 14px 0 0; font-size: 14px; }
.sd-form__msg:empty { display: none; }
.sd-form__msg.is-success { padding: 12px 14px; border-radius: 6px; background: #ebfbee; color: #2b8a3e; }
.sd-form__msg.is-error { padding: 12px 14px; border-radius: 6px; background: #fff5f5; color: #c92a2a; }
.sd-form > .sd-btn { margin-top: 20px; }
.sd-trust { list-style: none; margin: 16px 0 0; padding: 0; display: flex; gap: 14px; flex-wrap: wrap; }
.sd-trust li { display: flex; align-items: center; gap: 8px; font-size: 12px; color: var(--sd-muted); line-height: 1.3; }
.sd-trust .sd-svg { font-size: 26px; color: var(--sd-blue); }
.sd-qform--full { padding: 32px; background: #fff; border: 1px solid var(--sd-border); border-radius: var(--sd-radius-lg); box-shadow: var(--sd-shadow); font-family: var(--sd-font-body); }
.sd-qform--compact { padding: 24px; background: var(--sd-light); border: 1px solid var(--sd-border); border-radius: var(--sd-radius-lg); font-family: var(--sd-font-body); }
.sd-qform--compact .sd-grid-2 { grid-template-columns: 1fr; gap: 12px; }
.sd-qform--compact .sd-heading { margin-bottom: 18px; }
.sd-qform--compact .sd-trust { justify-content: space-between; }
.sd-qform--compact .sd-trust li { flex-direction: column; text-align: center; font-size: 11px; }
.sd-qform--compact .sd-trust .sd-svg { font-size: 22px; }

/* ========================================================= CONTACT INFO */
.sd-contact-info { font-family: var(--sd-font-body); }
.sd-cinfo { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.sd-cinfo__card { display: flex; gap: 14px; padding: 20px; background: #fff; border: 1px solid var(--sd-border); border-radius: var(--sd-radius); box-shadow: 0 4px 14px rgba(11, 37, 69, 0.04); }
.sd-cinfo__card h3 { margin: 0 0 6px; font: 700 16px/1.3 var(--sd-font-head); color: var(--sd-navy); }
.sd-cinfo__card a:not(.sd-link) { display: block; color: var(--sd-text); text-decoration: none; font-weight: 600; font-size: 14px; }
.sd-cinfo__card p { margin: 0 0 6px; font-size: 14px; line-height: 1.55; }
.sd-cinfo__card small { display: block; margin-top: 8px; font-size: 12.5px; color: var(--sd-muted); }
.sd-map { position: relative; margin-top: 16px; border-radius: var(--sd-radius); overflow: hidden; border: 1px solid var(--sd-border); height: 220px; }
.sd-map iframe { width: 100%; height: 100%; border: 0; display: block; }
.sd-map__link { position: absolute; right: 12px; bottom: 12px; display: inline-flex; gap: 6px; align-items: center; padding: 8px 12px; border-radius: 6px; background: #fff; color: var(--sd-orange); font-size: 13px; font-weight: 700; text-decoration: none; box-shadow: var(--sd-shadow); }

/* ============================================================ IMAGE CARDS */
.sd-icards__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(var(--sd-cols, 4), minmax(0, 1fr)); gap: var(--sd-gap); }
.sd-icard__inner { display: block; height: 100%; color: inherit; text-decoration: none; }
.sd-icard__img { display: block; border-radius: var(--sd-radius); overflow: hidden; aspect-ratio: 4 / 3; background: var(--sd-light); }
.sd-icard__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s; }
.sd-icard:hover .sd-icard__img img { transform: scale(1.05); }
.sd-icards--caption .sd-icard__cap { display: flex; gap: 10px; margin-top: 12px; }
.sd-icards--caption strong { display: block; font: 700 14.5px/1.3 var(--sd-font-head); color: var(--sd-navy); }
.sd-icards--caption small { display: block; margin-top: 4px; font-size: 13px; color: var(--sd-muted); }
.sd-icards--overlay .sd-icard__inner { position: relative; border-radius: var(--sd-radius); overflow: hidden; }
.sd-icards--overlay .sd-icard__img { border-radius: 0; aspect-ratio: 4 / 3; }
.sd-icards--overlay .sd-icard__cap { position: absolute; left: 0; right: 0; bottom: 0; display: flex; align-items: center; gap: 12px; padding: 14px; background: linear-gradient(0deg, rgba(6, 26, 51, 0.95), rgba(6, 26, 51, 0.6) 70%, transparent); color: #fff; }
.sd-icards--overlay strong { display: block; font: 700 15px/1.3 var(--sd-font-head); }
.sd-icards--overlay small { display: block; font-size: 12px; color: #c9d6ea; line-height: 1.4; margin-top: 2px; }
.sd-icard__icon { display: grid; place-items: center; width: 42px; height: 42px; border: 1.5px solid rgba(255, 255, 255, 0.6); border-radius: 50%; font-size: 20px; flex: none; }
.sd-icards--caption .sd-icard__icon { color: var(--sd-orange); border-color: var(--sd-border); }
.sd-icards.is-feature-first .sd-icards__grid { grid-template-columns: 1.8fr repeat(calc(var(--sd-cols, 4) - 1), minmax(0, 1fr)); }
.sd-icards.is-feature-first .sd-icard:first-child .sd-icard__img { aspect-ratio: auto; height: calc(100% - 34px); min-height: 180px; }

/* ============================================================== TIMELINE */
.sd-timeline { background: var(--sd-navy-deep) radial-gradient(60% 100% at 80% 0%, rgba(21, 101, 216, 0.35), transparent); color: #fff; }
.sd-timeline .sd-title { color: #fff; }
.sd-timeline__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(var(--sd-cols, 6), minmax(0, 1fr)); gap: 24px; }
.sd-timeline__list li { position: relative; }
.sd-timeline__list li:not(:last-child)::after { content: ""; position: absolute; top: 20px; left: 52px; right: -16px; height: 2px; background: linear-gradient(90deg, rgba(46, 139, 240, 0.9), rgba(46, 139, 240, 0.3)); }
.sd-timeline__dot { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; font-size: 18px; color: #fff; box-shadow: 0 0 0 6px rgba(255, 255, 255, 0.08); }
.sd-timeline__dot--orange { background: var(--sd-orange); }
.sd-timeline__dot--blue { background: var(--sd-blue); }
.sd-timeline__year { display: block; margin-top: 18px; font-weight: 700; color: #c9d8ee; font-size: 14px; }
.sd-timeline h3 { margin: 4px 0 6px; font: 700 15px/1.3 var(--sd-font-head); color: #fff; }
.sd-timeline__list p { margin: 0; font-size: 13px; line-height: 1.55; color: #b9c7db; }

/* ============================================================== DOCUMENTS */
.sd-docs--dark { background: var(--sd-navy-deep) radial-gradient(50% 120% at 100% 0%, rgba(21, 101, 216, 0.35), transparent); color: #fff; }
.sd-docs--dark .sd-title { color: #fff; }
.sd-docs--dark .sd-desc { color: #c4d1e4 !important; }
.sd-docs--light .sd-btn--outline-light { color: var(--sd-navy) !important; border-color: var(--sd-navy); }
.sd-docs__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 16px; }
.sd-docs__list a { height: 100%; display: flex; align-items: center; gap: 14px; padding: 16px 18px; background: #fff; border-radius: var(--sd-radius); color: var(--sd-navy); text-decoration: none; transition: transform 0.2s, box-shadow 0.2s; border: 1px solid var(--sd-border); }
.sd-docs__list a:hover { transform: translateY(-3px); box-shadow: var(--sd-shadow-lg); }
.sd-docs__icon { position: relative; color: #e03131; font-size: 34px; display: grid; place-items: center; }
.sd-docs__icon em { position: absolute; bottom: 4px; font-style: normal; font-size: 8px; font-weight: 800; background: #e03131; color: #fff; padding: 1px 3px; border-radius: 2px; }
.sd-docs__text { flex: 1; }
.sd-docs__text strong { display: block; font-size: 14px; }
.sd-docs__text small { font-size: 12px; color: var(--sd-muted); }
.sd-docs__dl { font-size: 18px; color: var(--sd-navy); }

/* =================================================================== FAQ */
.sd-faq__grid { position: relative; }
.sd-faq--split .sd-faq__grid { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: 48px; align-items: start; }
.sd-faq--stacked .sd-faq__list { max-width: 640px; }
.sd-faq--stacked.has-image .sd-faq__list { max-width: 56%; }
.sd-faq--split.has-image .sd-faq__grid { padding-right: 30%; gap: 40px; }
.sd-faq__list { display: grid; gap: 10px; }
.sd-faq__item { border: 1px solid var(--sd-border); border-radius: 6px; background: #fff; }
.sd-faq__item summary { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 13px 16px; cursor: pointer; font-weight: 600; font-size: 14px; color: var(--sd-navy); list-style: none; }
.sd-faq__item summary::-webkit-details-marker { display: none; }
.sd-faq__item summary .sd-svg { transition: transform 0.2s; font-size: 16px; }
.sd-faq__item[open] summary .sd-svg { transform: rotate(45deg); color: var(--sd-orange); }
.sd-faq__answer { padding: 0 16px 14px; font-size: 14px; line-height: 1.65; color: var(--sd-muted); }
.sd-faq__answer p { margin: 0; }
.sd-faq__deco { position: absolute; right: 0; top: 0; bottom: 0; width: 34%; background-size: cover; background-position: center; mask-image: linear-gradient(90deg, transparent, #000 40%); }
.sd-faq--dark { background: var(--sd-navy-deep) radial-gradient(50% 120% at 0% 0%, rgba(21, 101, 216, 0.4), transparent); color: #fff; }
.sd-faq--dark .sd-title { color: #fff; }
.sd-faq--dark .sd-desc { color: #c4d1e4 !important; }
.sd-faq--dark .sd-faq__item { background: rgba(255, 255, 255, 0.04); border-color: rgba(255, 255, 255, 0.25); }
.sd-faq--dark .sd-faq__item summary { color: #fff; }
.sd-faq--dark .sd-faq__answer { color: #c4d1e4; }

/* ========================================================== CASE STUDIES */
.sd-cases__grid { display: grid; grid-template-columns: repeat(var(--sd-cols, 3), minmax(0, 1fr)); gap: var(--sd-gap); }
.sd-case { background: #fff; border: 1px solid var(--sd-border); border-radius: var(--sd-radius); overflow: hidden; box-shadow: 0 4px 14px rgba(11, 37, 69, 0.05); }
.sd-cases--row .sd-case { display: grid; grid-template-columns: 38% 1fr; }
.sd-case__img { display: block; aspect-ratio: 16 / 10; overflow: hidden; }
.sd-cases--row .sd-case__img { aspect-ratio: auto; }
.sd-case__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s; }
.sd-case:hover .sd-case__img img { transform: scale(1.05); }
.sd-case__body { padding: 16px 18px; }
.sd-case__tag { display: block; margin-bottom: 4px; font-size: 11px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: var(--sd-orange); }
.sd-case h3 { margin: 0; font: 700 15.5px/1.3 var(--sd-font-head); }
.sd-case h3 a { color: var(--sd-navy); text-decoration: none; }
.sd-case p { margin: 6px 0 10px; font-size: 13px; line-height: 1.55; color: var(--sd-muted); }

/* ============================================================ POSTS LIST */
.sd-plist { font-family: var(--sd-font-body); }
.sd-plist .sd-head-row { margin-bottom: 18px; }
.sd-plist__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.sd-plist__list a { display: flex; align-items: center; gap: 14px; padding: 10px; border: 1px solid var(--sd-border); border-radius: var(--sd-radius); background: #fff; color: var(--sd-navy); text-decoration: none; }
.sd-plist__list a:hover { border-color: var(--sd-orange); }
.sd-plist__list img { width: 72px; height: 54px; object-fit: cover; border-radius: 6px; flex: none; }
.sd-plist__list span { flex: 1; }
.sd-plist__list strong { display: block; font-size: 14px; line-height: 1.35; }
.sd-plist__list small { color: var(--sd-muted); font-size: 12px; }
.sd-plist__list .sd-svg { color: var(--sd-orange); }

/* ================================================================ VIDEOS */
.sd-videos__grid { --sd-cols: 4; list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--sd-gap); }
.sd-video a { display: block; color: var(--sd-navy); text-decoration: none; }
.sd-video__thumb { position: relative; display: block; border-radius: var(--sd-radius); overflow: hidden; aspect-ratio: 16 / 9; margin-bottom: 12px; }
.sd-video__thumb img { width: 100%; height: 100%; object-fit: cover; }
.sd-video__thumb .sd-play__btn { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 54px; height: 54px; background: rgba(255, 255, 255, 0.95); color: var(--sd-navy); font-size: 18px; }
.sd-video__thumb em { position: absolute; right: 8px; bottom: 8px; padding: 2px 8px; border-radius: 4px; background: rgba(6, 26, 51, 0.85); color: #fff; font-size: 12px; font-style: normal; font-weight: 700; }
.sd-video strong { display: block; font: 700 16px/1.3 var(--sd-font-head); }
.sd-video small { display: block; margin-top: 4px; font-size: 13.5px; color: var(--sd-muted); }

/* ========================================================== RESOURCE HUB */
.sd-rhub__grid { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 28px; align-items: start; }
.sd-rhub__featured { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 24px; align-items: center; padding: 32px; margin-bottom: 32px; border-radius: var(--sd-radius-lg); background: linear-gradient(120deg, #f6f9fd, #eaf2fd); }
.sd-rhub__featured .sd-heading { margin-bottom: 20px; }
.sd-rhub__book { position: relative; display: grid; gap: 8px; max-width: 300px; margin-left: auto; padding: 24px; border-radius: 6px 12px 12px 6px; background: linear-gradient(160deg, var(--sd-navy), var(--sd-navy-deep)); color: #fff; box-shadow: -10px 16px 30px rgba(6, 26, 51, 0.35); transform: perspective(900px) rotateY(-10deg); }
.sd-rhub__brand { font-size: 12px; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; color: #9fc3f5; }
.sd-rhub__book strong { font: 800 26px/1.15 var(--sd-font-head); text-transform: uppercase; }
.sd-rhub__book img { border-radius: 6px; aspect-ratio: 4 / 3; object-fit: cover; margin-top: 8px; }
.sd-dl-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 16px; }
.sd-dl { display: flex; flex-direction: column; gap: 4px; padding: 14px; background: #fff; border: 1px solid var(--sd-border); border-radius: var(--sd-radius); }
.sd-dl__top { display: flex; gap: 10px; align-items: flex-start; margin-bottom: 8px; }
.sd-dl__top img { flex: 1; min-width: 0; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 6px; }
.sd-dl strong { font-size: 14.5px; color: var(--sd-navy); }
.sd-dl small { font-size: 12px; color: var(--sd-muted); margin-bottom: 8px; }
.sd-dl .sd-btn { margin-top: auto; box-shadow: none; }

/* ================================================================== TABS */
.sd-tabs__nav { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 24px; }
.sd-tabs__nav [role=tab] { display: inline-flex; align-items: center; gap: 10px; padding: 12px 18px; border: 1px solid var(--sd-border); border-radius: 6px; background: #fff; color: var(--sd-navy); font: 600 13.5px var(--sd-font-body); cursor: pointer; transition: 0.2s; }
.sd-tabs__nav [role=tab] .sd-svg { font-size: 18px; }
.sd-tabs__nav [aria-selected=true] { background: var(--sd-navy); border-color: var(--sd-navy); color: #fff; }
.sd-tabs__panel { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 36px; align-items: start; animation: sdFade 0.3s ease; }
.sd-tabs__panel[hidden] { display: none; }
@keyframes sdFade { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.sd-tabs__media > img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--sd-radius-lg); }
.sd-tabs__thumbs { list-style: none; margin: 12px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.sd-tabs__thumbs li:nth-child(n+5) { display: none; }
.sd-tabs__thumbs button { display: block; width: 100%; padding: 0; border: 0; border-radius: 6px; overflow: hidden; cursor: pointer; aspect-ratio: 16 / 10; }
.sd-tabs__thumbs img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s; }
.sd-tabs__thumbs button:hover img { transform: scale(1.08); }
.sd-tabs__body.has-side { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr); gap: 16px; align-items: end; }
.sd-tabs__side { width: 100%; border-radius: var(--sd-radius); }
.sd-tabs__body .sd-btn { margin-top: 24px; }

/* ================================================================ PROMOS */
.sd-psplit { padding-block: 0; }
.sd-psplit__grid { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.4fr); align-items: stretch; }
.sd-psplit__text { padding: 40px 40px 40px max(20px, (100vw - var(--sd-container)) / 2 + 20px); align-self: center; }
.sd-psplit__text .sd-desc { margin-bottom: 24px; }
.sd-psplit__panel { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 0.7fr); align-items: center; gap: 24px; padding: 36px 0 36px 80px; background: var(--sd-navy-deep); clip-path: polygon(8% 0, 100% 0, 100% 100%, 0 100%); color: #fff; }
.sd-psplit__panel ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.sd-psplit__panel li { display: flex; gap: 12px; }
.sd-psplit__icon { font-size: 30px; color: var(--sd-orange); flex: none; }
.sd-psplit__panel strong { display: block; font-size: 14.5px; }
.sd-psplit__panel small { font-size: 12.5px; color: #b9c7db; }
.sd-psplit__img { height: 100%; width: 100%; object-fit: cover; max-height: 220px; mask-image: linear-gradient(90deg, transparent, #000 30%); }

.sd-promo { position: relative; isolation: isolate; display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); align-items: center; gap: 20px; padding: 32px; border-radius: var(--sd-radius-lg); overflow: hidden; font-family: var(--sd-font-body); }
.sd-promo--light { background: linear-gradient(120deg, #f4f8fd, #e9f1fc); }
.sd-promo--dark { background: var(--sd-navy-deep); color: #fff; grid-template-columns: 1fr; }
.sd-promo--dark .sd-title { color: #fff; }
.sd-promo--dark .sd-desc { color: #c4d1e4; }
.sd-promo--dark .sd-checks li { color: #fff; }
.sd-promo__bg { position: absolute; inset: 0; z-index: -1; background-size: cover; background-position: center; opacity: 0.35; }
.sd-promo--dark::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(120deg, rgba(6, 26, 51, 0.95) 40%, rgba(6, 26, 51, 0.5)); }
.sd-promo__body .sd-btn { margin-top: 20px; }
.sd-promo__img { width: 100%; max-width: 240px; justify-self: end; border-radius: var(--sd-radius); mix-blend-mode: multiply; }

/* ======================================================= PRODUCT SINGLE */
.sd-psum__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px; align-items: start; }
.sd-psum.has-form .sd-psum__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 320px; grid-template-rows: auto 1fr; }
.sd-psum__gallery { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 12px; }
.sd-psum__thumbs { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; align-content: start; max-height: 420px; overflow: auto; }
.sd-psum__thumbs button { display: block; width: 100%; padding: 0; border: 2px solid var(--sd-border); border-radius: 6px; overflow: hidden; background: #fff; cursor: pointer; aspect-ratio: 1; }
.sd-psum__thumbs button.is-active { border-color: var(--sd-orange); }
.sd-psum__thumbs img { width: 100%; height: 100%; object-fit: cover; }
.sd-psum__main { border: 1px solid var(--sd-border); border-radius: var(--sd-radius-lg); background: #f4f5f7; overflow: hidden; aspect-ratio: 1; }
.sd-psum__main img { width: 100%; height: 100%; object-fit: contain; }
.sd-psum__title { margin: 0; font: 800 clamp(26px, 2.8vw, 34px)/1.15 var(--sd-font-head); color: var(--sd-navy); }
.sd-psum__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 12px; font-size: 13px; color: var(--sd-muted); }
.sd-psum__meta strong { color: var(--sd-navy); }
.sd-psum__code { padding-left: 10px; border-left: 1px solid var(--sd-border); }
.sd-stars { position: relative; display: inline-block; font-size: 16px; letter-spacing: 2px; line-height: 1; }
.sd-stars::before { content: "★★★★★"; color: #dde3ea; }
.sd-stars::after { content: "★★★★★"; position: absolute; left: 0; top: 0; width: var(--sd-rating); overflow: hidden; color: #f59f00; white-space: nowrap; }
.sd-psum__excerpt { margin: 16px 0 0; font-size: 15px; line-height: 1.7; color: var(--sd-muted); }
.sd-psum__specs { grid-column: 1 / 3; list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); border: 1px solid var(--sd-border); border-radius: var(--sd-radius); background: #fff; }
.sd-psum__specs li { display: flex; gap: 10px; padding: 14px 12px; border-right: 1px solid var(--sd-border); font-size: 12px; color: var(--sd-muted); line-height: 1.4; }
.sd-psum__specs li:last-child { border-right: 0; }
.sd-psum__specs .sd-svg { font-size: 22px; color: var(--sd-blue); }
.sd-psum__specs strong { display: block; color: var(--sd-navy); font-size: 13px; }
.sd-psum__form { grid-column: 3; grid-row: 1 / 3; }

.sd-ptabs { padding-top: 0; }
.sd-ptabs__box { border: 1px solid var(--sd-border); border-radius: var(--sd-radius-lg); background: #fff; overflow: hidden; }
.sd-ptabs__nav { display: flex; flex-wrap: wrap; border-bottom: 1px solid var(--sd-border); background: var(--sd-light); }
.sd-ptabs__nav [role=tab], .sd-ptabs__link { padding: 14px 22px; border: 0; border-right: 1px solid var(--sd-border); background: transparent; color: var(--sd-navy); font: 600 13.5px var(--sd-font-body); cursor: pointer; text-decoration: none; }
.sd-ptabs__nav [aria-selected=true] { background: var(--sd-navy); color: #fff; }
.sd-ptabs__panel { display: block; padding: 28px; }
.sd-ptabs__overview { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 36px; }
.sd-prose { font-size: 15px; line-height: 1.75; color: var(--sd-muted); }
.sd-prose .sd-title { margin-bottom: 12px; }
.sd-ptabs__h { margin: 0 0 12px; font: 700 17px/1.3 var(--sd-font-head); color: var(--sd-navy); }
.sd-spec { width: 100%; border-collapse: collapse; font-size: 13.5px; border: 1px solid var(--sd-border); }
.sd-spec th, .sd-spec td { padding: 9px 14px; border-bottom: 1px solid var(--sd-border); text-align: left; vertical-align: top; }
.sd-spec th { width: 38%; font-weight: 700; color: var(--sd-navy); background: var(--sd-light); }
.sd-ptabs__sub { margin: 40px 0 18px; }
.sd-ptabs__gallery { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 14px; }
.sd-ptabs__gallery li { border: 1px solid var(--sd-border); border-radius: var(--sd-radius); overflow: hidden; aspect-ratio: 4 / 3; background: #f4f5f7; }
.sd-ptabs__gallery img { width: 100%; height: 100%; object-fit: cover; }
.sd-apps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; }
.sd-apps li { display: flex; align-items: center; gap: 10px; padding: 12px; border: 1px solid var(--sd-border); border-radius: var(--sd-radius); font-size: 13px; font-weight: 600; color: var(--sd-navy); background: #fff; }
.sd-apps .sd-ic { width: 38px; height: 38px; font-size: 18px; }

/* ============================================================ QUOTE BUTTON */
.sd-quote-btn .sd-btn { white-space: nowrap; }

/* ================================================================== LOGO */
.sd-logo { display: inline-flex; align-items: center; gap: 10px; text-decoration: none !important; }
.sd-logo__mark { width: 46px; height: 46px; flex: none; }
.sd-logo__img { max-height: 56px; width: auto; }
.sd-logo__text { display: grid; line-height: 1; }
.sd-logo__text strong { font: 900 24px/1 var(--sd-font-head); letter-spacing: 0.01em; color: var(--sd-navy); }
.sd-logo__text small { margin-top: 4px; font: 700 8.5px/1 var(--sd-font-body); letter-spacing: 0.08em; color: var(--sd-navy); white-space: nowrap; }
.sd-logo--light .sd-logo__text strong, .sd-logo--light .sd-logo__text small { color: #fff; }

/* ======================================================== HEADER CONTACTS */
.sd-cstrip { list-style: none; margin: 0; padding: 0; display: flex; gap: 28px; font-family: var(--sd-font-body); }
.sd-cstrip a { display: flex; align-items: center; gap: 10px; color: var(--sd-navy); text-decoration: none; }
.sd-cstrip .sd-ic { width: 38px; height: 38px; font-size: 17px; }
.sd-cstrip strong { display: block; font-size: 13px; }
.sd-cstrip small { font-size: 11.5px; color: var(--sd-muted); }

/* ================================================================ FOOTER */
.sd-footer { position: relative; background: var(--sd-navy-deep); color: #c4d1e4; font-family: var(--sd-font-body); padding-top: 56px; }
.sd-footer__grid { display: grid; grid-template-columns: 1.4fr 0.8fr 1fr 1.2fr 0.9fr; gap: 32px; padding-bottom: 40px; }
.sd-footer__brand p { margin: 18px 0; font-size: 13.5px; line-height: 1.7; }
.sd-footer h2 { margin: 0 0 16px; font: 700 15px/1.3 var(--sd-font-head); color: #fff; }
.sd-footer ul { list-style: none; margin: 0; padding: 0; }
.sd-footer__col li { margin-bottom: 9px; font-size: 13.5px; }
.sd-footer a { color: #c4d1e4; text-decoration: none; transition: color 0.2s; }
.sd-footer a:hover { color: var(--sd-orange); }
.sd-footer__contact li { display: flex; gap: 10px; align-items: flex-start; line-height: 1.55; }
.sd-footer__contact .sd-svg { font-size: 17px; color: var(--sd-orange); margin-top: 2px; }
.sd-social { display: flex; gap: 10px; }
.sd-social a { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: rgba(255, 255, 255, 0.08); color: #fff; font-size: 16px; }
.sd-social a:hover { background: var(--sd-orange); color: #fff; }
.sd-footer__map { position: relative; isolation: isolate; display: grid; align-content: end; gap: 6px; min-height: 150px; padding: 16px; border-radius: var(--sd-radius); background: #fff; color: var(--sd-navy) !important; overflow: hidden; }
.sd-footer__mapbg { position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, #fff 30%, transparent), repeating-linear-gradient(35deg, #e9eef5 0 2px, transparent 2px 26px), repeating-linear-gradient(-55deg, #edf1f6 0 3px, transparent 3px 34px), #f7f9fc; }
.sd-footer__pin { position: absolute; top: 18px; left: 50%; transform: translateX(-50%); font-size: 30px; color: var(--sd-orange); }
.sd-footer__map strong { display: block; font-size: 14px; }
.sd-footer__map small { font-size: 12px; color: var(--sd-muted); }
.sd-footer__map em { display: inline-flex; gap: 4px; align-items: center; font-style: normal; font-size: 12.5px; font-weight: 700; color: var(--sd-orange); }
.sd-footer__bottom { border-top: 1px solid rgba(255, 255, 255, 0.08); padding: 18px 0; font-size: 12.5px; }
.sd-footer__bottom .sd-container { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.sd-footer__bottom p { margin: 0; }
.sd-footer__bottom ul { display: flex; gap: 0; }
.sd-footer__bottom li + li::before { content: "|"; margin: 0 12px; opacity: 0.4; }
.sd-totop { position: fixed; right: 22px; bottom: 22px; z-index: 50; display: grid; place-items: center; width: 46px; height: 46px; border: 0; border-radius: 50%; background: var(--sd-orange); color: #fff; font-size: 20px; cursor: pointer; box-shadow: 0 8px 20px rgba(242, 107, 29, 0.4); opacity: 0; transform: translateY(12px); pointer-events: none; transition: 0.25s; }
.sd-totop .sd-svg { transform: rotate(180deg); }
.sd-totop.is-visible { opacity: 1; transform: none; pointer-events: auto; }

/* ================================================================= MODAL */
.sd-modal { position: fixed; inset: 0; z-index: 99999; display: grid; place-items: center; padding: 20px; font-family: var(--sd-font-body); }
.sd-modal[hidden] { display: none; }
.sd-modal__backdrop { position: absolute; inset: 0; background: rgba(6, 26, 51, 0.65); backdrop-filter: blur(3px); opacity: 0; transition: opacity 0.25s; }
.sd-modal.is-open .sd-modal__backdrop { opacity: 1; }
.sd-modal__dialog { position: relative; display: grid; grid-template-columns: 380px minmax(0, 1fr); width: min(1080px, 100%); max-height: calc(100vh - 40px); border-radius: 16px; overflow: hidden; background: #fff; box-shadow: 0 30px 80px rgba(0, 0, 0, 0.4); transform: translateY(16px) scale(0.98); opacity: 0; transition: 0.25s; }
.sd-modal.is-open .sd-modal__dialog { transform: none; opacity: 1; }
.sd-modal__side { display: flex; flex-direction: column; padding: 32px; background: linear-gradient(180deg, var(--sd-navy), var(--sd-navy-deep)); color: #fff; overflow: auto; }
.sd-modal__product { margin: 0; font: 800 28px/1.15 var(--sd-font-head); color: #fff; }
.sd-modal__side p:not(.sd-eyebrow) { margin: 12px 0 0; font-size: 14px; line-height: 1.6; color: #c4d1e4; }
.sd-modal__img { margin: 20px 0; border-radius: 12px; overflow: hidden; aspect-ratio: 4 / 3; background: rgba(255, 255, 255, 0.05); }
.sd-modal__img img { width: 100%; height: 100%; object-fit: cover; }
.sd-modal__perks { list-style: none; margin: auto 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.sd-modal__perks li { display: grid; gap: 2px; font-size: 12px; color: #b9c7db; }
.sd-modal__perks .sd-svg { font-size: 26px; color: var(--sd-orange); margin-bottom: 4px; }
.sd-modal__perks strong { color: #fff; font-size: 13.5px; }
.sd-modal__main { position: relative; padding: 32px; overflow: auto; }
.sd-modal__close { position: absolute; right: 18px; top: 18px; display: grid; place-items: center; width: 36px; height: 36px; border: 0; border-radius: 50%; background: var(--sd-light); color: var(--sd-navy); font-size: 20px; cursor: pointer; }
.sd-modal__close:hover { background: var(--sd-orange); color: #fff; }
.sd-modal__title { margin: 0; font: 800 30px/1.2 var(--sd-font-head); color: var(--sd-navy); }
.sd-modal__lead { margin: 6px 0 20px; color: var(--sd-muted); font-size: 14.5px; }
.sd-steps { list-style: none; margin: 0 0 22px; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); border-bottom: 1px solid var(--sd-border); }
.sd-steps li { display: flex; align-items: center; gap: 10px; padding: 12px 6px; font-size: 14px; font-weight: 600; color: var(--sd-muted); border-bottom: 3px solid transparent; margin-bottom: -1px; }
.sd-steps span { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: #dfe5ee; color: var(--sd-muted); font-size: 13px; flex: none; }
.sd-steps .is-active { color: var(--sd-orange); border-bottom-color: var(--sd-orange); }
.sd-steps .is-active span, .sd-steps .is-done span { background: var(--sd-orange); color: #fff; }
.sd-step { border: 0; margin: 0; padding: 0; min-width: 0; }
.sd-form__foot { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-top: 22px; flex-wrap: wrap; }
.sd-form__foot .sd-trust { margin: 0; }
.sd-form__actions { display: flex; gap: 10px; }
html.sd-modal-open { overflow: hidden; }

.sd-lightbox { position: fixed; inset: 0; z-index: 100000; display: grid; place-items: center; padding: 20px; background: rgba(0, 0, 0, 0.85); }
.sd-lightbox__frame { width: min(1000px, 100%); aspect-ratio: 16 / 9; background: #000; }
.sd-lightbox__frame iframe, .sd-lightbox__frame video { width: 100%; height: 100%; border: 0; }
.sd-lightbox__close { position: absolute; top: 16px; right: 20px; border: 0; background: none; color: #fff; font-size: 40px; line-height: 1; cursor: pointer; }

/* ============================================================ RESPONSIVE */
@media (max-width: 1200px) {
	.sd-footer__grid { grid-template-columns: 1.4fr 1fr 1fr 1.3fr; }
	.sd-footer__map { display: none; }
	.sd-psum.has-form .sd-psum__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
	.sd-psum__form { grid-column: 1 / -1; grid-row: auto; }
	.sd-psum__specs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.sd-psum__specs li:nth-child(3) { border-right: 0; }
	.sd-psum__specs li:nth-child(-n+3) { border-bottom: 1px solid var(--sd-border); }
	.sd-cstrip li:nth-child(3) { display: none; }
}
@media (max-width: 1024px) {
	.sd-pgrid, .sd-features__items, .sd-ind-grid, .sd-icards__grid, .sd-quotes, .sd-cases__grid, .sd-videos__grid { --sd-cols: 3 !important; grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.sd-track.is-scroller { --sd-cols: 2.4; }
	.sd-hero__card { display: none; }
	.sd-hero__inner { grid-template-columns: 1fr; }
	.sd-hero__bg { inset: 0; }
	.sd-hero__play { position: static; transform: none; margin-top: 28px; }
	.sd-products__body.has-side { grid-template-columns: 1fr; }
	.sd-catalog, .sd-rhub__grid { grid-template-columns: 1fr; }
	.sd-catalog__side { position: static; }
	.sd-about__grid, .sd-mcheck__grid, .sd-mcheck.has-side-gallery .sd-mcheck__grid, .sd-features__split, .sd-certs.has-image .sd-certs__grid, .sd-faq--split .sd-faq__grid, .sd-tabs__panel, .sd-ptabs__overview, .sd-psplit__grid { grid-template-columns: 1fr; }
	.sd-about.is-reverse .sd-about__text, .sd-mcheck--img-left .sd-mcheck__media { order: 0; }
	.sd-mcheck.is-bleed .sd-mcheck__media, .sd-certs__media { margin-inline: 0 !important; border-radius: var(--sd-radius-lg); }
	.sd-features--cards.has-image .sd-features__wrap { grid-template-columns: 1fr; }
	.sd-features--row .sd-feature + .sd-feature { border-left: 0; padding-left: 0; margin-left: 0; }
	.sd-process__steps { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 32px; }
	.sd-step-item::after { display: none !important; }
	.sd-timeline__list { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 32px; }
	.sd-timeline__list li::after { display: none; }
	.sd-psplit__text { padding: 40px 20px; }
	.sd-psplit__panel { clip-path: none; padding: 32px 20px; }
	.sd-faq--stacked.has-image .sd-faq__list { max-width: none; }
	.sd-faq__deco { display: none; }
	.sd-faq--split.has-image .sd-faq__grid { padding-right: 20px; }
	.sd-modal__dialog { grid-template-columns: 1fr; }
	.sd-modal__side { display: none; }
	.sd-footer__grid { grid-template-columns: 1fr 1fr; }
	.sd-cstrip { display: none; }
}
@media (max-width: 782px) {
	.sd-section { padding-block: 48px; }
	.sd-head-row { flex-direction: column; align-items: flex-start; }
	.sd-pgrid, .sd-features__items, .sd-ind-grid, .sd-icards__grid, .sd-quotes, .sd-cases__grid, .sd-videos__grid, .sd-features--split .sd-features__items, .sd-features--media .sd-features__items { --sd-cols: 2 !important; grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.sd-track.is-scroller { --sd-cols: 1.3; }
	.sd-stats__row { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 10px; }
	.sd-stats__item { border-right: 0; padding: 10px; }
	.sd-stats--overlap { margin-top: -28px; }
	.sd-hero { padding-block: 44px 64px; }
	.sd-hero::before { background: linear-gradient(90deg, rgba(6, 26, 51, 0.95), rgba(6, 26, 51, 0.7)); }
	.sd-checks--2col, .sd-grid-2, .sd-cinfo { grid-template-columns: 1fr; }
	.sd-about--panel .sd-about__media { grid-template-columns: 1fr; }
	.sd-about--panel .sd-about__img { border-radius: var(--sd-radius-lg) var(--sd-radius-lg) 0 0; }
	.sd-about--panel .sd-about__list { margin: -12px 0 0; border-radius: 0 0 var(--sd-radius-lg) var(--sd-radius-lg); }
	.sd-about--card .sd-about__list { position: static; margin-top: 12px; }
	.sd-process__steps, .sd-timeline__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.sd-cases--row .sd-case { grid-template-columns: 1fr; }
	.sd-psum__grid, .sd-psum.has-form .sd-psum__grid { grid-template-columns: 1fr; }
	.sd-psum__specs { grid-column: auto; grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.sd-psum__specs li { border-bottom: 1px solid var(--sd-border); }
	.sd-psum__specs li:nth-child(odd) { border-right: 1px solid var(--sd-border) !important; }
	.sd-psum__specs li:nth-child(even) { border-right: 0; }
	.sd-rhub__featured { grid-template-columns: 1fr; padding: 24px; }
	.sd-rhub__book { margin: 0 auto; }
	.sd-psplit__panel { grid-template-columns: 1fr; }
	.sd-psplit__panel ul { grid-template-columns: 1fr; }
	.sd-promo { grid-template-columns: 1fr; }
	.sd-promo__img { display: none; }
	.sd-cta__inner, .sd-cta__actions { flex-direction: column; align-items: flex-start; }
	.sd-certs__list li { border-right: 0; }
	.sd-pgrid.is-list .sd-pcard { flex-direction: column; }
	.sd-pgrid.is-list .sd-pcard__img { width: auto; aspect-ratio: 16 / 10; }
	.sd-steps li { font-size: 12px; flex-direction: column; text-align: center; gap: 4px; }
	.sd-modal { padding: 0; }
	.sd-modal__dialog { max-height: 100vh; height: 100%; border-radius: 0; }
	.sd-modal__main { padding: 24px 20px; }
	.sd-form__foot { flex-direction: column-reverse; align-items: stretch; }
	.sd-form__actions .sd-btn { flex: 1; }
	.sd-qform--full { padding: 22px; }
	.sd-footer__grid { grid-template-columns: 1fr; }
	.sd-footer__bottom .sd-container { flex-direction: column; }
}
@media (max-width: 480px) {
	.sd-pgrid, .sd-features__items, .sd-ind-grid, .sd-icards__grid, .sd-quotes, .sd-cases__grid, .sd-videos__grid, .sd-features--split .sd-features__items, .sd-features--media .sd-features__items { --sd-cols: 1 !important; grid-template-columns: 1fr; }
	.sd-ind-grid, .sd-icards__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.sd-stats__row { grid-template-columns: 1fr 1fr; }
	.sd-process__steps, .sd-timeline__list { grid-template-columns: 1fr; }
	.sd-tabs__nav [role=tab] { flex: 1 1 45%; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) {
	.sd-section *, .sd-modal * { transition: none !important; animation: none !important; }
}
