@charset "utf-8";
:root{--brand:#8a5a34;--brand-dark:#3d2b1f;--ink:#1c1a17;--muted:#6f6a63;--bg:#ffffff;--bg-alt:#f6f4f1;--line:#e5e1db;--brand-tint:#efe8e3;--radius:10px;--container:1200px;--post-max:860px;--header-h:72px;--font-sans:-apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-serif:Georgia, "Times New Roman", serif;--space-1:8px;--space-2:16px;--space-3:24px;--space-4:48px;--space-5:80px;--shadow-sm:0 1px 2px rgba(28, 26, 23, .05);--shadow-md:0 12px 28px rgba(28, 26, 23, .10);}/* custom: home-v2 */
/* type: home-v2 — NSEE / HK Eastcome brand tokens + homepage blocks */

/* Brand palette derived from the NSEE mark (deep navy). Overrides the theme
   defaults once, here, so every page keeps reading the same tokens. */
html:root {
	--brand: #0b3481;
	--brand-dark: #072253;
	--ink: #14181f;
	--muted: #5c6472;
	--bg: #ffffff;
	--bg-alt: #f3f6fb;
	--line: #e1e6ef;
	--brand-tint: #e9eef9;
	--font-serif: -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

/* ---- Site logo (header part is site-wide) ---- */
.logo { display: flex; align-items: center; }
.logo img { display: block; height: 42px; width: auto; }

/* Phones: the sticky header's backdrop-filter becomes the containing block for
   position:fixed children, which collapses the theme's full-screen nav drawer
   down to header height. Dropping the blur on phones restores a viewport-sized
   drawer (and saves a blur pass on mobile GPUs). */
@media (max-width: 600px) {
	.site-header {
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
		background: #fff;
	}
}

/* ---- Header nav (site-wide header) ----
   Self-contained on purpose: the theme's own `.site-nav` relies on the plugin
   wrapping the <ul> in a closed <details class="nav-toggle">. A closed <details>
   hides its content at the UA layer, and that hiding also applies layout
   containment — the list measures 0px wide and is not hit-testable, so the whole
   desktop nav collapses and the links can't be hovered or clicked. These classes
   give the header a nav that doesn't depend on that behaviour, while keeping a
   real <details> drawer for phones. */
.hdr-nav { margin-left: auto; }
.hdr-menu { display: flex; align-items: center; gap: 26px; margin: 0; padding: 0; list-style: none; }
.hdr-menu li { position: relative; }
.hdr-menu a {
	display: inline-block;
	position: relative;
	padding: 6px 2px;
	color: var(--ink);
	font-size: 15px;
	font-weight: 500;
	white-space: nowrap;
	transition: color .18s ease;
}
.hdr-menu a:hover { color: var(--brand); text-decoration: none; }
.hdr-menu > li > a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 2px;
	background: var(--brand);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .22s ease;
}
.hdr-menu > li > a:hover::after { transform: scaleX(1); }
body.home .hdr-nav > .hdr-menu > li:first-child > a { color: var(--brand); }
body.home .hdr-nav > .hdr-menu > li:first-child > a::after { transform: scaleX(1); }

/* Desktop: hidden drawer */
.hdr-drawer { display: none; }

/* Second level */
.hdr-nav .has-dropdown > a .caret {
	display: inline-block;
	width: 6px;
	height: 6px;
	margin-left: 6px;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: translateY(-2px) rotate(45deg);
	transition: transform .18s ease;
}
/* Invisible bridge under the parent link: the panel must not close on the way down. */
.hdr-nav .has-dropdown::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	height: 12px;
}

@media (min-width: 601px) {
	.hdr-nav .has-dropdown > .sub-menu {
		position: absolute;
		top: calc(100% + 8px);
		left: 50%;
		transform: translateX(-50%);
		display: none;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		min-width: 214px;
		margin: 0;
		padding: 8px 0;
		list-style: none;
		background: #fff;
		border: 1px solid var(--line);
		border-radius: var(--radius);
		box-shadow: var(--shadow-md);
		z-index: 120;
	}
	.hdr-nav .has-dropdown:hover > .sub-menu,
	.hdr-nav .has-dropdown:focus-within > .sub-menu { display: flex; }
	.hdr-nav .has-dropdown:hover > a .caret { transform: translateY(0) rotate(-135deg); }
	.hdr-nav .has-dropdown > .sub-menu > li { display: block; width: 100%; }
	.hdr-nav .has-dropdown > .sub-menu a { display: block; padding: 11px 20px; font-size: 14.5px; color: var(--ink); }
	.hdr-nav .has-dropdown > .sub-menu a::after { display: none; }
	.hdr-nav .has-dropdown > .sub-menu a:hover { background: var(--brand-tint); color: var(--brand); text-decoration: none; }
}

/* Phones: one-row header + full-screen drawer */
@media (max-width: 600px) {
	.header-inner { flex-wrap: nowrap; min-height: 64px; padding-bottom: 0; gap: 16px; }
	.hdr-nav { width: auto; margin-left: auto; }
	.hdr-nav > .hdr-menu { display: none; }
	.hdr-drawer { display: block; }

	.hdr-drawer > summary.burger-icon {
		display: flex;
		flex-direction: column;
		justify-content: center;
		gap: 5px;
		width: 44px;
		height: 44px;
		padding: 10px;
		list-style: none;
		cursor: pointer;
		user-select: none;
		position: relative;
		z-index: 300;
	}
	.hdr-drawer > summary::-webkit-details-marker { display: none; }
	.hdr-drawer > summary::marker { content: none; }
	.hdr-drawer .burger-bar {
		display: block;
		height: 2px;
		width: 100%;
		background: var(--ink);
		border-radius: 2px;
		transition: transform .18s ease, opacity .18s ease;
	}
	.hdr-drawer[open] .burger-bar--top { transform: translateY(7px) rotate(45deg); }
	.hdr-drawer[open] .burger-bar--mid { opacity: 0; }
	.hdr-drawer[open] .burger-bar--bot { transform: translateY(-7px) rotate(-45deg); }

	.hdr-drawer > .hdr-menu {
		position: fixed;
		inset: 0;
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
		align-items: stretch;
		gap: 0;
		width: auto;
		margin: 0;
		padding: calc(var(--header-h) + var(--space-3)) var(--space-4) var(--space-4);
		background: var(--bg);
		overflow-y: auto;
		z-index: 200;
	}
	.hdr-drawer > .hdr-menu > li { border-bottom: 1px solid var(--line); }
	.hdr-drawer > .hdr-menu > li > a { display: block; padding: 14px 0; font-size: 18px; }
	/* Second level sits inside the drawer as an indented list, always visible. */
	.hdr-drawer .has-dropdown > .sub-menu {
		position: static;
		display: flex;
		flex-direction: column;
		gap: 0;
		min-width: 0;
		margin: 0 0 8px;
		padding: 0 0 4px 16px;
		list-style: none;
		background: transparent;
		border: 0;
		border-left: 2px solid var(--line);
		border-radius: 0;
		box-shadow: none;
	}
	.hdr-drawer .has-dropdown > .sub-menu > li { border-bottom: 0; }
	.hdr-drawer .has-dropdown > .sub-menu a { display: block; padding: 9px 0 9px 12px; font-size: 15px; }
	.hdr-drawer .has-dropdown > a .caret { transform: translateY(-1px) rotate(45deg); }
	html:has(.hdr-drawer[open]) { overflow: hidden; }
}

/* ---- Footer: four columns, contact rows ---- */
/* Scoped to desktop only: the theme's own <=900px rule must keep winning below. */
@media (min-width: 901px) {
	.footer-inner { grid-template-columns: 1.5fr .85fr 1fr 1.45fr; }
}
.footer-contact li { line-height: 1.55; }
.footer-contact .k {
	display: inline-block;
	min-width: 78px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .52);
}

/* ============================================================
   Homepage blocks (scoped to body.home so other pages are untouched)
   ============================================================ */
body.home .hm-hero {
	background-image: linear-gradient(125deg, #072253 0%, #0b3481 58%, #14459e 100%);
	color: #fff;
	padding: 76px 0 80px;
}
body.home .hm-hero-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 52px; align-items: center; }
body.home .hm-kicker {
	display: inline-block;
	margin-bottom: 14px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 2.4px;
	text-transform: uppercase;
	color: #9dbbf2;
}
body.home .hm-kicker-dark { color: var(--brand); }
body.home .hm-hero h1 {
	color: #fff;
	font-size: 44px;
	line-height: 1.14;
	letter-spacing: -.6px;
	margin-bottom: 18px;
	max-width: 15em;
}
body.home .hm-hero p {
	color: #d5e1f7;
	font-size: 17px;
	line-height: 1.65;
	max-width: 34em;
	margin-bottom: 28px;
}
body.home .hm-hero-cta { display: flex; flex-wrap: wrap; gap: 12px; }
body.home .hm-btn-light { background: #fff; border-color: #fff; color: var(--brand-dark); }
body.home .hm-btn-light:hover { background: #e9eef9; border-color: #e9eef9; color: var(--brand-dark); }
body.home .hm-btn-ghost { background: transparent; border-color: rgba(255, 255, 255, .55); color: #fff; }
body.home .hm-btn-ghost:hover { background: rgba(255, 255, 255, .14); border-color: #fff; color: #fff; }

body.home .hm-hero-art {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: 1fr 1fr;
	gap: 12px;
	height: 372px;
}
body.home .hm-hero-art figure {
	margin: 0;
	background: #fff;
	border-radius: var(--radius);
	padding: 12px;
	overflow: hidden;
	box-shadow: 0 14px 30px rgba(3, 16, 44, .28);
}
body.home .hm-hero-art img { width: 100%; height: 100%; object-fit: contain; }
body.home .hm-hero-art .hm-art-tall { grid-row: span 2; }

body.home .hm-about { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; }
body.home .hm-about h2 { margin-bottom: var(--space-2); }
body.home .hm-about p { color: var(--muted); font-size: 16px; }
body.home .hm-about-media img {
	width: 100%;
	height: auto;
	border-radius: calc(var(--radius) + 4px);
	box-shadow: var(--shadow-md);
}

/* Product photos are cut-outs on white: contain, never crop. */
body.home .hm-products .card-media,
body.home .hm-series .card-media { object-fit: contain; background: #fff; padding: 18px; }
body.home .hm-products .card:hover .card-media,
body.home .hm-series .card:hover .card-media { transform: none; }
body.home .hm-products .card-body h3,
body.home .hm-series .card-body h3 { font-size: 16px; letter-spacing: .2px; }

body.home .hm-values { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; }
body.home .hm-value { padding-left: 18px; border-left: 2px solid var(--brand); }
body.home .hm-value h3 { font-size: 16px; margin-bottom: 6px; }
body.home .hm-value p { font-size: 14.5px; color: var(--muted); margin: 0; }

body.home .hm-cta { background-image: linear-gradient(120deg, #072253, #0b3481); color: #fff; padding: 64px 0; }
body.home .hm-cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 40px; flex-wrap: wrap; }
body.home .hm-cta h2 { color: #fff; margin-bottom: 8px; }
body.home .hm-cta p { color: #cfdcf3; margin: 0; max-width: 42em; }
body.home .hm-cta-actions { display: flex; gap: 12px; flex-wrap: wrap; }

@media (max-width: 960px) {
	body.home .hm-hero { padding: 56px 0 60px; }
	body.home .hm-hero-grid { grid-template-columns: 1fr; gap: 36px; }
	body.home .hm-hero h1 { font-size: 34px; max-width: none; }
	body.home .hm-hero-art { height: 300px; }
	body.home .hm-about { grid-template-columns: 1fr; gap: 32px; }
	body.home .hm-values { grid-template-columns: 1fr 1fr; gap: 24px; }
}

@media (max-width: 600px) {
	body.home .hm-hero { padding: 44px 0 48px; }
	body.home .hm-hero h1 { font-size: 28px; }
	body.home .hm-hero p { font-size: 15.5px; }
	body.home .hm-hero-art { height: auto; }
	body.home .hm-hero-art figure { aspect-ratio: 1 / 1; }
	body.home .hm-hero-art .hm-art-tall { grid-row: span 1; }
	body.home .hm-values { grid-template-columns: 1fr; gap: 20px; }
	body.home .hm-cta { padding: 48px 0; }
	.logo img { height: 34px; }
	.footer-inner { grid-template-columns: 1fr; }
}

/* custom: about-v1 */
/* type: about-v1 — About page blocks. Scoped to body.page-id-3 so the rest of
   the site is untouched. Shares the tokens set up by the home-v2 section. */

/* Current-page marker for the custom header nav (the theme only knows .site-nav). */
body.page-id-3 .hdr-nav .hdr-menu > li > a[href="/about/"] { color: var(--brand); }
body.page-id-3 .hdr-nav .hdr-menu > li > a[href="/about/"]::after { transform: scaleX(1); }

/* ---- Hero ---- */
body.page-id-3 .ab-hero {
	background-image: linear-gradient(118deg, #072253 0%, #0b3481 62%, #123f96 100%);
	padding: 78px 0 72px;
}
body.page-id-3 .ab-kicker {
	display: block;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--brand);
	margin-bottom: 14px;
}
body.page-id-3 .ab-kicker-light { color: #a8bdf0; }
body.page-id-3 .ab-hero h1 {
	color: #fff;
	font-size: 46px;
	line-height: 1.16;
	letter-spacing: -.6px;
	margin: 0 0 20px;
	max-width: 20em;
}
body.page-id-3 .ab-hero h1 em { font-style: normal; color: #ffd66b; }
body.page-id-3 .ab-lead {
	font-size: 17.5px;
	line-height: 1.75;
	color: #cfdcf3;
	max-width: 62ch;
	margin: 0 0 30px;
}
body.page-id-3 .ab-tags {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
	padding: 0;
}
body.page-id-3 .ab-tags li {
	font-size: 13px;
	line-height: 1;
	padding: 10px 16px;
	border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, .3);
	color: #eef1ff;
	background: rgba(255, 255, 255, .06);
}

/* ---- Two-column blocks ---- */
body.page-id-3 .ab-two {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 64px;
	align-items: center;
}
body.page-id-3 .ab-copy h2 {
	font-size: 32px;
	line-height: 1.32;
	letter-spacing: -.3px;
	margin: 0 0 20px;
}
body.page-id-3 .ab-copy p {
	font-size: 16.5px;
	line-height: 1.85;
	color: var(--muted);
	margin: 0 0 18px;
}
body.page-id-3 .ab-copy p:last-child { margin-bottom: 0; }
body.page-id-3 .ab-copy strong { color: var(--brand); }
body.page-id-3 .ab-media { margin: 0; }
body.page-id-3 .ab-media img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 14px;
	box-shadow: 0 18px 44px rgba(7, 34, 83, .14);
}
body.page-id-3 .ab-media figcaption {
	font-size: 13px;
	color: var(--muted);
	margin-top: 12px;
	text-align: center;
}

/* ---- Fact list ---- */
body.page-id-3 .ab-facts {
	list-style: none;
	margin: 28px 0 0;
	padding: 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 18px 24px;
}
body.page-id-3 .ab-facts li { padding-left: 16px; border-left: 2px solid var(--brand); }
body.page-id-3 .ab-facts b {
	display: block;
	font-size: 15px;
	color: var(--ink);
	margin-bottom: 4px;
}
body.page-id-3 .ab-facts span { font-size: 13.5px; line-height: 1.5; color: var(--muted); }

/* ---- Closing CTA ---- */
body.page-id-3 .ab-cta {
	background-image: linear-gradient(118deg, #072253, #0b3481);
	padding: 60px 0;
}
body.page-id-3 .ab-cta-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
	flex-wrap: wrap;
}
body.page-id-3 .ab-cta h2 { color: #fff; font-size: 27px; line-height: 1.3; margin: 0 0 10px; }
body.page-id-3 .ab-cta p { color: #cfdcf3; margin: 0; max-width: 44em; }
body.page-id-3 .ab-cta-actions { display: flex; gap: 12px; flex-wrap: wrap; }
body.page-id-3 .ab-cta .btn-light:hover { background: #e9eef9; }
/* .btn-ghost is brand-on-white by default; on the navy band it must invert. */
body.page-id-3 .ab-cta .btn-ghost { color: #fff; border-color: rgba(255, 255, 255, .55); }
body.page-id-3 .ab-cta .btn-ghost:hover { background: rgba(255, 255, 255, .14); border-color: #fff; color: #fff; }

/* ---- Responsive ---- */
@media (max-width: 960px) {
	body.page-id-3 .ab-hero { padding: 60px 0 56px; }
	body.page-id-3 .ab-hero h1 { font-size: 36px; }
	body.page-id-3 .ab-two { grid-template-columns: 1fr; gap: 36px; }
	body.page-id-3 .ab-flip .ab-media { order: 2; }
	body.page-id-3 .ab-copy h2 { font-size: 27px; }
}
@media (max-width: 600px) {
	body.page-id-3 .ab-hero { padding: 44px 0 44px; }
	body.page-id-3 .ab-hero h1 { font-size: 28px; line-height: 1.24; }
	body.page-id-3 .ab-lead { font-size: 15.5px; margin-bottom: 24px; }
	body.page-id-3 .ab-copy h2 { font-size: 22px; }
	body.page-id-3 .ab-copy p { font-size: 15.5px; }
	body.page-id-3 .ab-facts { grid-template-columns: 1fr; gap: 14px; }
	body.page-id-3 .ab-cta { padding: 44px 0; }
	body.page-id-3 .ab-cta h2 { font-size: 21px; }
	body.page-id-3 .ab-media img { border-radius: 10px; }
}

/* custom: contact-v1 */
/* type: contact-v1 — Contact page blocks. Scoped to body.page-id-44 so the rest
   of the site is untouched. Colours follow the approved contact demo. */

/* Current-page marker for the custom header nav (the theme only knows .site-nav). */
body.page-id-44 .hdr-nav .hdr-menu > li > a[href="/contact/"] { color: var(--brand); }
body.page-id-44 .hdr-nav .hdr-menu > li > a[href="/contact/"]::after { transform: scaleX(1); }

/* ---- Hero ---- */
body.page-id-44 .ct-hero {
	background-image: linear-gradient(118deg, #0a1145 0%, #1d2088 62%, #2a2fb0 100%);
	color: #fff; padding: 104px 0 96px;
}
body.page-id-44 .ct-container { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
body.page-id-44 .ct-kicker {
	font-family: Poppins-Bold, Poppins, sans-serif;
	font-size: 12.5px; letter-spacing: .18em; text-transform: uppercase;
	color: #1d2088; margin: 0 0 14px;
}
body.page-id-44 .ct-kicker-light { color: #9fb0ff; }
body.page-id-44 .ct-hero h1 {
	font-family: Poppins-Bold, Poppins, sans-serif;
	font-size: 50px; line-height: 1.18; letter-spacing: -.5px;
	color: #fff; margin: 0 0 22px; max-width: 18em;
}
body.page-id-44 .ct-lead {
	font-size: 18px; line-height: 1.75; color: #d6dcf7;
	max-width: 62ch; margin: 0 0 30px;
}
body.page-id-44 .ct-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 0 0 26px; }
body.page-id-44 .ct-btn {
	display: inline-block; font-family: Poppins-Bold, Poppins, sans-serif;
	font-size: 15px; padding: 13px 30px; border-radius: 35px;
	background: #fff; color: #1d2088; text-decoration: none;
	border: 1px solid #fff; transition: .2s;
}
body.page-id-44 .ct-btn:hover { background: #e9ecff; border-color: #e9ecff; }
body.page-id-44 .ct-btn-ghost { background: transparent; color: #fff; border-color: rgba(255, 255, 255, .55); }
body.page-id-44 .ct-btn-ghost:hover { background: rgba(255, 255, 255, .14); border-color: #fff; color: #fff; }

/* ---- Direct lines ---- */
body.page-id-44 .ct-lines { padding: 96px 0 72px; }
body.page-id-44 .ct-lines h2 {
	font-family: Poppins-Bold, Poppins, sans-serif;
	font-size: 33px; line-height: 1.32; letter-spacing: -.3px;
	color: #16203c; margin: 0 0 14px;
}
body.page-id-44 .ct-person { font-size: 16px; color: #4d545e; margin: 0 0 34px; }
body.page-id-44 .ct-person strong { color: #1d2088; }

body.page-id-44 .ct-cards {
	display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px;
}
body.page-id-44 .ct-card {
	border: 1px solid #e4e7f2; border-radius: 16px;
	padding: 26px 24px 22px; background: #fbfcff;
	box-shadow: 0 10px 26px rgba(14, 22, 63, .05);
}
body.page-id-44 .ct-card-k {
	font-family: Poppins-Bold, Poppins, sans-serif;
	font-size: 12.5px; letter-spacing: .16em; text-transform: uppercase;
	color: #8b929c; margin: 0 0 10px;
}
body.page-id-44 .ct-card-v {
	font-family: Poppins-Bold, Poppins, sans-serif;
	font-size: 17.5px; color: #16203c; margin: 0 0 14px;
	word-break: break-all;
}
body.page-id-44 .ct-card a {
	font-size: 14.5px; color: #1d2088; text-decoration: none;
	font-family: Poppins-Bold, Poppins, sans-serif;
}
body.page-id-44 .ct-card a:hover { text-decoration: underline; }

/* WeChat QR card */
body.page-id-44 .ct-qr {
	display: block; width: 150px; height: 150px; object-fit: contain;
	margin: 2px 0 12px; border: 1px solid #eceef6; border-radius: 10px;
	background: #fff; padding: 6px; box-sizing: border-box;
}
body.page-id-44 .ct-qr-hint {
	font-family: Poppins-Bold, Poppins, sans-serif;
	font-size: 14.5px; color: #1d2088; margin: 0;
}

/* ---- Where we are ---- */
body.page-id-44 .ct-place { padding: 24px 0 96px; }
body.page-id-44 .ct-two {
	display: grid; grid-template-columns: 1.1fr .9fr;
	gap: 64px; align-items: start;
}
body.page-id-44 .ct-copy h2 {
	font-family: Poppins-Bold, Poppins, sans-serif;
	font-size: 33px; line-height: 1.32; letter-spacing: -.3px;
	color: #16203c; margin: 0 0 22px;
}
body.page-id-44 .ct-copy p {
	font-size: 16.5px; line-height: 1.88; color: #4d545e; margin: 0 0 18px;
}
body.page-id-44 .ct-copy p:last-child { margin-bottom: 0; }

body.page-id-44 .ct-address {
	border: 1px solid #e4e7f2; border-radius: 16px;
	padding: 30px 28px; background: #fbfcff;
	box-shadow: 0 10px 26px rgba(14, 22, 63, .05);
}
body.page-id-44 .ct-address-v {
	font-family: Poppins-Bold, Poppins, sans-serif;
	font-size: 16px; line-height: 1.7; color: #16203c;
	margin: 0 0 22px;
}
body.page-id-44 .ct-facts {
	list-style: none; margin: 0; padding: 0;
	border-top: 1px solid #eceef6; padding-top: 18px;
	display: grid; grid-template-columns: 1fr 1fr; gap: 14px 20px;
}
body.page-id-44 .ct-facts li { padding-left: 12px; border-left: 2px solid #1d2088; }
body.page-id-44 .ct-facts b {
	display: block; font-family: Poppins-Bold, Poppins, sans-serif;
	font-size: 13.5px; color: #16203c; margin-bottom: 3px;
}
body.page-id-44 .ct-facts span { font-size: 13px; color: #7d848e; word-break: break-all; }

/* ---- CTA ---- */
body.page-id-44 .ct-cta {
	background-image: linear-gradient(118deg, #0a1145, #1d2088);
	color: #fff; padding: 64px 0;
}
body.page-id-44 .ct-cta-inner {
	display: flex; align-items: center; justify-content: space-between;
	gap: 40px; flex-wrap: wrap;
}
body.page-id-44 .ct-cta h2 {
	font-family: Poppins-Bold, Poppins, sans-serif;
	font-size: 28px; line-height: 1.3; color: #fff; margin: 0 0 10px;
}
body.page-id-44 .ct-cta p { margin: 0; color: #c9d1f6; font-size: 15.5px; }
body.page-id-44 .ct-cta-actions { display: flex; gap: 12px; flex-wrap: wrap; }

/* ---- Responsive ---- */
@media screen and (max-width: 1000px) {
	body.page-id-44 .ct-hero { padding: 76px 0 68px; }
	body.page-id-44 .ct-hero h1 { font-size: 38px; }
	body.page-id-44 .ct-lead { font-size: 16.5px; }
	body.page-id-44 .ct-cards { grid-template-columns: 1fr 1fr; }
	body.page-id-44 .ct-two { grid-template-columns: 1fr; gap: 38px; }
	body.page-id-44 .ct-lines { padding: 64px 0 52px; }
	body.page-id-44 .ct-place { padding-bottom: 64px; }
	body.page-id-44 .ct-lines h2, body.page-id-44 .ct-copy h2 { font-size: 27px; }
}

@media screen and (max-width: 640px) {
	body.page-id-44 .ct-container { padding: 0 18px; }
	body.page-id-44 .ct-hero { padding: 56px 0 52px; }
	body.page-id-44 .ct-hero h1 { font-size: 30px; line-height: 1.24; }
	body.page-id-44 .ct-lead { font-size: 15.5px; margin-bottom: 24px; }
	body.page-id-44 .ct-cards { grid-template-columns: 1fr; gap: 14px; }
	body.page-id-44 .ct-lines h2, body.page-id-44 .ct-copy h2 { font-size: 23px; }
	body.page-id-44 .ct-copy p { font-size: 15.5px; line-height: 1.82; }
	body.page-id-44 .ct-facts { grid-template-columns: 1fr; gap: 12px; }
	body.page-id-44 .ct-cta { padding: 46px 0; }
	body.page-id-44 .ct-cta h2 { font-size: 22px; }
}

/* custom: product-tweaks */
/* Hide internal SKU slug everywhere it leaks to visitors.
   Breadcrumb carries the series; card meta just shows the internal slug. */
.product-hero .card-meta { display: none; }
.card .card-meta { display: none; }

