/* Nyakaps — component styles that theme.json can't express. */

:root {
	--nyk-curve: 280px; /* signature curved corner (hero, covers) */
	--nyk-radius: 14px;
	--nyk-radius-sm: 4px;
	--nyk-hdr-h: 84px;
	--nyk-line: var(--wp--preset--color--border);
}

.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px,1px,1px,1px); white-space: nowrap; }

/* =========================================================
   Header
   ========================================================= */
.nyk-site-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: var(--wp--preset--color--base);
	box-shadow: 0 1px 0 var(--nyk-line);
}
.admin-bar .nyk-site-header { top: 32px; }

.nyk-overlay-header .nyk-site-header {
	position: fixed;
	left: 0;
	right: 0;
	top: 0;
	background: transparent;
	box-shadow: none;
	color: #fff;
}
.admin-bar.nyk-overlay-header .nyk-site-header { top: 32px; }
@media (max-width: 782px) {
	.admin-bar .nyk-site-header { top: 0; }
	.admin-bar.nyk-overlay-header .nyk-site-header { top: 46px; }
}

.nyk-hdr {
	display: flex;
	align-items: stretch;
	justify-content: space-between;
	gap: 1.5rem;
	height: var(--nyk-hdr-h);
	padding-left: clamp(1rem, 2.5vw, 2rem);
}
.nyk-hdr a, .nyk-hdr button { color: inherit; text-decoration: none; }

.nyk-hdr__logo { display: flex; align-items: center; }
.nyk-hdr__logo img { display: block; height: 50px; width: auto; }
.nyk-overlay-header .nyk-hdr__logo img {
	background: #fff;
	padding: 5px 9px;
	border-radius: 6px;
	height: 56px;
}

.nyk-hdr__primary {
	display: flex;
	align-items: center;
	gap: clamp(1.25rem, 2.5vw, 2.5rem);
	font-family: var(--wp--preset--font-family--heading);
	font-size: 0.78rem;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}
.nyk-hdr__primary a { padding: .4rem 0; border-bottom: 2px solid transparent; }
.nyk-hdr__primary a:hover { border-bottom-color: currentColor; }

.nyk-hdr__tools { display: flex; align-items: stretch; }
.nyk-hdr__tools > button {
	display: flex;
	align-items: center;
	gap: .6rem;
	background: none;
	border: 0;
	padding: 0 1rem;
	cursor: pointer;
	font: 500 0.78rem/1 var(--wp--preset--font-family--heading);
	letter-spacing: .14em;
	text-transform: uppercase;
}
.nyk-hdr__search { border-left: 1px solid currentColor !important; border-left-color: color-mix(in srgb, currentColor 30%, transparent) !important; margin: 1.6rem 0; padding: 0 1.1rem !important; }
.nyk-burger { display: inline-grid; gap: 4px; width: 18px; }
.nyk-burger i { display: block; height: 2px; background: currentColor; border-radius: 2px; }

.nyk-hdr__login {
	display: flex;
	align-items: center;
	gap: .6rem;
	padding: 0 1.5rem;
	margin-left: .5rem;
	background: var(--wp--preset--color--primary);
	color: #fff !important;
	font: 700 0.72rem/1.15 var(--wp--preset--font-family--heading);
	letter-spacing: .08em;
	text-transform: uppercase;
	transition: background .2s ease;
}
.nyk-hdr__login:hover { background: var(--wp--preset--color--primary-dark); }

/* Scrolled state (body.nyk-scrolled set by theme.js): solid, compact, shadowed. */
.nyk-site-header,
.nyk-hdr,
.nyk-hdr__logo img { transition: background-color .25s ease, color .25s ease, box-shadow .25s ease, height .25s ease, padding .25s ease; }
.nyk-scrolled .nyk-site-header,
.nyk-scrolled.nyk-overlay-header .nyk-site-header {
	background: var(--wp--preset--color--secondary-dark);
	color: #fff;
	box-shadow: 0 8px 28px rgba(12,40,20,.28);
}
.nyk-scrolled .nyk-hdr { height: 68px; }
/* Logo keeps a white chip on the green bar. */
.nyk-scrolled .nyk-hdr__logo img,
.nyk-scrolled.nyk-overlay-header .nyk-hdr__logo img { height: 46px; padding: 4px 8px; background: #fff; border-radius: 6px; }
.nyk-scrolled .nyk-hdr__primary a:hover,
.nyk-scrolled .nyk-hdr__primary a[aria-current="page"] { border-bottom-color: var(--wp--preset--color--accent); }

@media (max-width: 960px) {
	.nyk-hdr__primary { display: none; }
}
@media (max-width: 600px) {
	:root { --nyk-hdr-h: 68px; }
	.nyk-hdr { gap: .5rem; }
	.nyk-hdr__logo img, .nyk-overlay-header .nyk-hdr__logo img { height: 44px; }
	.nyk-hdr__explore > span:first-child, .nyk-hdr__login span { display: none; }
	.nyk-hdr__search { display: none !important; }
	.nyk-hdr__login { padding: 0 1rem; margin: 0; }
}

/* Explore overlay menu */
.nyk-explore {
	position: fixed;
	inset: 0;
	z-index: 1000;
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contrast);
	overflow-y: auto;
	animation: nyk-fade .18s ease;
}
.nyk-explore[hidden] { display: none; }
@keyframes nyk-fade { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
.admin-bar .nyk-explore { top: 32px; }
@media (max-width: 782px) { .admin-bar .nyk-explore { top: 46px; } }
.nyk-explore__inner { max-width: 1140px; margin: 0 auto; padding: 1.5rem clamp(1rem, 4vw, 2rem) 3rem; }
.nyk-explore__top { display: flex; gap: 1rem; align-items: center; margin-bottom: 2.5rem; }
.nyk-explore__search { flex: 1; display: flex; border-bottom: 2px solid var(--wp--preset--color--primary); }
.nyk-explore__search input { flex: 1; border: 0; font: 500 1.35rem var(--wp--preset--font-family--heading); padding: .9rem 0; background: none; outline: none; min-width: 0; }
.nyk-explore__search button { border: 0; background: none; color: var(--wp--preset--color--primary); font: 600 .9rem var(--wp--preset--font-family--heading); cursor: pointer; }
.nyk-explore__close { width: 48px; height: 48px; border-radius: 50%; border: 1px solid var(--nyk-line); background: #fff; font-size: 1.8rem; line-height: 1; cursor: pointer; }
.nyk-explore__cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 2rem; }
.nyk-explore__cols h2 { font-size: .8rem; letter-spacing: .14em; text-transform: uppercase; color: var(--wp--preset--color--secondary); margin: 0 0 1rem; }
.nyk-explore__cols ul { list-style: none; margin: 0; padding: 0; }
.nyk-explore__cols li { margin-bottom: .7rem; }
.nyk-explore__cols a { color: var(--wp--preset--color--contrast); text-decoration: none; font: 500 1.05rem var(--wp--preset--font-family--heading); }
.nyk-explore__cols a:hover { color: var(--wp--preset--color--primary); }
.nyk-explore__cta { display: flex; flex-wrap: wrap; align-items: center; gap: 1.5rem; margin-top: 3rem; padding-top: 2rem; border-top: 1px solid var(--nyk-line); }
.nyk-explore__cta .wp-element-button { background: var(--wp--preset--color--primary); color: #fff; text-decoration: none; padding: .85rem 1.6rem; border-radius: 999px; font: 600 .95rem var(--wp--preset--font-family--heading); }
.nyk-explore__cta a:not(.wp-element-button) { color: var(--wp--preset--color--contrast); font-weight: 600; text-decoration: none; }
body.nyk-explore-open { overflow: hidden; }

/* =========================================================
   Hero — photo with curved lower edge + "Get Started" tab
   ========================================================= */
.nyk-hero-cover {
	overflow: hidden;
	min-height: min(86vh, 860px) !important;
	/* single circular corner, bottom-right only — measured 280px on the reference */
	border-radius: 0 0 var(--nyk-curve) 0;
}
.nyk-hero-cover .wp-block-cover__inner-container { position: static; max-width: 900px; margin: 0 auto; z-index: 2; }
.nyk-hero-cover .wp-block-cover__inner-container > * { position: relative; z-index: 2; }
.nyk-hero-cover h1 { font-size: clamp(2.3rem, 5vw, 4rem); text-shadow: 0 2px 24px rgba(0,0,0,.25); }
.nyk-hero-tab { position: absolute !important; left: 50%; bottom: 0; transform: translateX(-50%); z-index: 3 !important; margin: 0 !important; }
.nyk-hero-tab .wp-block-button__link {
	background: #fff;
	color: var(--wp--preset--color--secondary);
	border-radius: 4px 4px 0 0;
	padding: 1.25rem 2.5rem;
	font-size: .95rem;
	box-shadow: 0 -8px 24px rgba(0,0,0,.08);
}
.nyk-hero-tab .wp-block-button__link::before { content: "»"; margin-right: .6rem; font-size: 1.2em; }
.nyk-hero-tab .wp-block-button__link:hover { background: #fff; color: var(--wp--preset--color--primary); }

/* =========================================================
   Quick services — photo + tile grid
   ========================================================= */
.nyk-services { align-items: stretch !important; }
.nyk-services__photo .wp-block-image,
.nyk-services__photo img { height: 100%; margin: 0; }
.nyk-services__photo img { width: 100%; object-fit: cover; }

.nyk-tiles { display: grid; grid-template-columns: repeat(6, 1fr); gap: 1rem; height: 100%; }
.nyk-tiles > * { margin: 0 !important; }
.nyk-tile {
	grid-column: span 2;
	position: relative;
	min-height: 112px;
	padding: 0 1.25rem;
	gap: .9rem !important;
	align-items: center !important;
	border: 1px solid var(--nyk-line);
	border-radius: var(--nyk-radius-sm);
	background: #fff;
	transition: border-color .2s ease, box-shadow .2s ease;
}
.nyk-tiles > .nyk-tile:nth-child(n+7) { grid-column: span 3; }
.nyk-tile .nyk-icon { flex: none; width: 30px; height: 30px; color: var(--wp--preset--color--primary); }
.nyk-tile p { margin: 0; line-height: 1.3; }
.nyk-tile a { color: var(--wp--preset--color--contrast); text-decoration: none; font: 600 .9rem var(--wp--preset--font-family--heading); }
.nyk-tile a::after { content: ""; position: absolute; inset: 0; }
.nyk-tile:hover { border-color: var(--wp--preset--color--primary); box-shadow: 0 8px 22px rgba(130,21,52,.1); }
.nyk-tile:hover a { color: var(--wp--preset--color--primary); }
.nyk-tile:has(:focus-visible) { outline: 2px solid var(--wp--preset--color--accent); outline-offset: 2px; }

@media (max-width: 781px) {
	.nyk-services__photo { display: none; }
	.nyk-tiles { grid-template-columns: 1fr 1fr; gap: .75rem; }
	.nyk-tile, .nyk-tiles > .nyk-tile:nth-child(n+7) { grid-column: span 1; min-height: 92px; padding: 0 .9rem; }
}

/* =========================================================
   Kicker + "Learn more" link
   ========================================================= */
.nyk-kicker { color: var(--wp--preset--color--secondary); font: 600 1.1rem var(--wp--preset--font-family--heading); margin-bottom: .25rem !important; }
.nyk-more a { color: var(--wp--preset--color--secondary); text-decoration: none; font-weight: 500; }
.nyk-more a::after { content: " →"; display: inline-block; transition: transform .2s ease; }
.nyk-more a:hover::after { transform: translateX(4px); }

/* =========================================================
   Phone mockup
   ========================================================= */
.nyk-phones { position: relative; height: 500px; max-width: 460px; margin: 0 auto; }
.nyk-phone {
	position: absolute;
	left: 34%;
	top: 0;
	width: 240px;
	height: 490px;
	padding: 9px;
	border-radius: 38px;
	background: #151515;
	box-shadow: 0 30px 60px rgba(0,0,0,.22), inset 0 0 0 2px #333;
}
.nyk-phone--back { left: 6%; top: 40px; transform: scale(.86) rotate(-4deg); opacity: .9; filter: saturate(.9); }
.nyk-phone__screen { height: 100%; border-radius: 30px; overflow: hidden; background: #f4f5f3; display: flex; flex-direction: column; font-family: var(--wp--preset--font-family--body); color: var(--wp--preset--color--contrast); }
.nyk-app__status { display: flex; justify-content: space-between; font-size: 9px; font-weight: 600; padding: 8px 18px 4px; background: var(--wp--preset--color--secondary); color: #fff; }
.nyk-app__bar { display: flex; justify-content: space-between; align-items: center; padding: 8px 14px 34px; background: var(--wp--preset--color--secondary); color: #fff; font-size: 11px; }
.nyk-phone--back .nyk-app__bar { padding: 40px 14px 50px; }
.nyk-app__avatar { width: 24px; height: 24px; border-radius: 50%; background: #fff3; display: grid; place-items: center; font-size: 9px; font-weight: 700; }
.nyk-app__balance { margin: -26px 12px 0; background: #fff; border-radius: 12px; padding: 10px 12px; box-shadow: 0 6px 16px rgba(0,0,0,.08); }
.nyk-app__balance small { display: block; font-size: 9px; color: var(--wp--preset--color--muted); }
.nyk-app__balance b { display: block; font: 700 17px var(--wp--preset--font-family--heading); color: var(--wp--preset--color--primary); margin: 2px 0 8px; }
.nyk-app__balance div { display: flex; gap: 6px; }
.nyk-app__balance span { flex: 1; text-align: center; font-size: 9px; font-weight: 600; padding: 6px 0; border-radius: 6px; background: var(--wp--preset--color--tint-secondary); color: var(--wp--preset--color--secondary); }
.nyk-app__balance span + span { background: var(--wp--preset--color--tint-primary); color: var(--wp--preset--color--primary); }
.nyk-app__label { display: flex; justify-content: space-between; font-size: 10px; font-weight: 600; padding: 12px 14px 6px; }
.nyk-app__label em { font-style: normal; color: var(--wp--preset--color--secondary); font-size: 9px; }
.nyk-app__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; padding: 0 12px; }
.nyk-app__grid div { background: #fff; border-radius: 10px; padding: 8px 4px; text-align: center; font-size: 8.5px; font-weight: 500; }
.nyk-app__grid i { display: block; width: 24px; height: 24px; margin: 0 auto 4px; border-radius: 8px; background: var(--wp--preset--color--tint-primary); border: 5px solid #fff; box-shadow: inset 0 0 0 2px var(--wp--preset--color--primary); }
.nyk-app__grid div:nth-child(even) i { background: var(--wp--preset--color--tint-secondary); box-shadow: inset 0 0 0 2px var(--wp--preset--color--secondary); }
.nyk-app__loan { margin: 10px 12px 0; padding: 9px 12px; border-radius: 10px; background: var(--wp--preset--color--primary); color: #fff; display: flex; justify-content: space-between; font-size: 9px; }
.nyk-app__nav { margin-top: auto; display: flex; justify-content: space-around; align-items: center; padding: 10px 8px 14px; background: #fff; }
.nyk-app__nav i { width: 14px; height: 14px; border-radius: 4px; background: #d8d6d2; }
.nyk-app__nav i.is-main { width: 30px; height: 30px; border-radius: 50%; background: var(--wp--preset--color--accent); }
.nyk-app__skeleton { padding: 16px 14px; display: grid; gap: 10px; }
.nyk-app__skeleton i { display: block; height: 34px; border-radius: 8px; background: #fff; }
@media (max-width: 600px) {
	.nyk-phones { height: 430px; transform: scale(.86); transform-origin: top center; margin-bottom: -60px; }
}

/* =========================================================
   Featured products — photo mosaic
   ========================================================= */
.nyk-bento { display: grid; grid-template-columns: repeat(12, 1fr); gap: 12px; }
.nyk-bento > * { margin: 0 !important; }
.nyk-span-3 { grid-column: span 3; } .nyk-span-5 { grid-column: span 5; } .nyk-span-6 { grid-column: span 6; } .nyk-span-7 { grid-column: span 7; }
.nyk-bento__card { min-height: 380px !important; border-radius: var(--nyk-radius-sm); overflow: hidden; padding: 1.75rem !important; }
.nyk-bento__card .wp-block-cover__background { background: linear-gradient(to top, rgba(20,10,12,.82) 0%, rgba(20,10,12,.35) 45%, rgba(20,10,12,0) 70%) !important; opacity: 1 !important; }
.nyk-bento__card .wp-block-cover__image-background { transition: transform .6s ease; }
.nyk-bento__card:hover .wp-block-cover__image-background { transform: scale(1.05); }
.nyk-bento__card .wp-block-cover__inner-container { position: static; }
.nyk-bento__card h3 { font-size: 1.2rem; margin: 0 0 .35rem; }
.nyk-bento__card h3 a { color: #fff; text-decoration: none; }
.nyk-bento__card h3 a::after { content: ""; position: absolute; inset: 0; z-index: 2; }
.nyk-bento__card p { margin: 0; opacity: .88; max-width: 42ch; line-height: 1.5; }
.nyk-bento__card:has(:focus-visible) { outline: 3px solid var(--wp--preset--color--accent); outline-offset: 2px; }
@media (max-width: 900px) {
	.nyk-span-3, .nyk-span-5, .nyk-span-6, .nyk-span-7 { grid-column: span 6; }
	.nyk-bento > :last-child { grid-column: span 12; }
}
@media (max-width: 600px) {
	.nyk-span-3, .nyk-span-5, .nyk-span-6, .nyk-span-7 { grid-column: span 12; }
	.nyk-bento__card { min-height: 280px !important; }
}

/* =========================================================
   Tablet mockup (online banking)
   ========================================================= */
.nyk-tablet-stage { perspective: 1800px; padding: 1rem 0; margin: -2rem 0 -4rem; }
.nyk-tablet {
	width: min(720px, 92%);
	margin: 0 auto;
	aspect-ratio: 4 / 3;
	padding: 16px;
	border-radius: 30px;
	background: linear-gradient(145deg, #fafafa, #e3e3e3);
	box-shadow: 0 1px 0 #fff inset, 30px 60px 80px rgba(0,0,0,.18);
	transform: rotateX(46deg) rotateZ(-22deg);
	transform-style: preserve-3d;
}
.nyk-tablet__screen { height: 100%; border-radius: 14px; overflow: hidden; background: #fff; display: flex; flex-direction: column; font-family: var(--wp--preset--font-family--body); }
.nyk-dash__top { display: flex; align-items: center; gap: 1rem; padding: 12px 18px; background: var(--wp--preset--color--secondary); color: #fff; font-size: 13px; }
.nyk-dash__top span { opacity: .8; margin-left: auto; font-size: 11px; }
.nyk-dash__top i { width: 26px; height: 26px; border-radius: 50%; background: #fff4; }
.nyk-dash__body { flex: 1; display: flex; min-height: 0; }
.nyk-dash__side { width: 52px; background: #f4f5f3; display: flex; flex-direction: column; align-items: center; gap: 14px; padding: 18px 0; }
.nyk-dash__side i { width: 18px; height: 18px; border-radius: 5px; background: #d8d6d2; }
.nyk-dash__side i.is-on { background: var(--wp--preset--color--primary); }
.nyk-dash__main { flex: 1; padding: 16px; display: flex; flex-direction: column; gap: 14px; }
.nyk-dash__cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.nyk-dash__cards div { border: 1px solid var(--nyk-line); border-radius: 10px; padding: 10px 12px; }
.nyk-dash__cards small { display: block; font-size: 10px; color: var(--wp--preset--color--muted); }
.nyk-dash__cards b { font: 700 14px var(--wp--preset--font-family--heading); color: var(--wp--preset--color--secondary); }
.nyk-dash__cards .is-loan b { color: var(--wp--preset--color--primary); }
.nyk-dash__chart { flex: 1; border: 1px solid var(--nyk-line); border-radius: 10px; padding: 10px; min-height: 0; }
.nyk-dash__chart svg { width: 100%; height: 100%; display: block; }
.nyk-dash__rows { display: grid; gap: 8px; }
.nyk-dash__rows i { display: block; height: 14px; border-radius: 4px; background: #efeeec; }
.nyk-dash__rows i:nth-child(2) { width: 80%; } .nyk-dash__rows i:nth-child(3) { width: 60%; }
@media (max-width: 600px) {
	.nyk-tablet { padding: 9px; border-radius: 18px; }
	.nyk-dash__cards b { font-size: 10px; }
	.nyk-tablet-stage { margin: -1rem 0 -2rem; }
}

/* =========================================================
   Footer — skyline + columns
   ========================================================= */
.nyk-skyline { color: var(--wp--preset--color--secondary-dark); line-height: 0; margin-top: var(--wp--preset--spacing--40); margin-bottom: -2px; position: relative; }
.nyk-skyline svg { display: block; width: 100%; height: max(56px, 6.63vw); }
.wp-site-blocks > footer { margin-top: 0; }
.nyk-footer a { color: inherit; text-decoration: none; opacity: .85; }
.nyk-footer a:hover { opacity: 1; text-decoration: underline; }
.nyk-footer__cols { display: grid; grid-template-columns: repeat(5, 1fr); gap: 2rem; padding: var(--wp--preset--spacing--30) 0 var(--wp--preset--spacing--20); }
.nyk-footer__cols h2 { color: #fff; font-size: .95rem; font-weight: 600; margin: 0 0 1rem; }
.nyk-footer__cols ul { list-style: none; margin: 0; padding: 0; font-size: .85rem; }
.nyk-footer__cols li { margin-bottom: .55rem; }
.nyk-footer__logo { display: flex; justify-content: center; width: 100%; max-width: none !important; margin: .75rem auto !important; }
.nyk-footer__logo a { display: block; opacity: 1 !important; line-height: 0; }
.nyk-footer__logo img { display: block; background: #fff; padding: .5rem .8rem; border-radius: 6px; height: 58px; width: auto; }
@media (max-width: 900px) { .nyk-footer__cols { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 600px) { .nyk-footer__cols { grid-template-columns: 1fr 1fr; gap: 1.5rem 1rem; } }

/* =========================================================
   Shared components (used by the extra patterns)
   ========================================================= */
.is-style-eyebrow {
	font-family: var(--wp--preset--font-family--body) !important;
	font-size: var(--wp--preset--font-size--x-small) !important;
	font-weight: 600 !important;
	letter-spacing: .12em !important;
	text-transform: uppercase;
	color: var(--wp--preset--color--secondary);
}
.nyk-hero { position: relative; overflow: hidden; }
.nyk-hero::after {
	content: "";
	position: absolute;
	right: -12vw;
	top: 50%;
	width: 60vw;
	max-width: 780px;
	aspect-ratio: 1;
	transform: translateY(-50%);
	border-radius: 50%;
	background: repeating-radial-gradient(circle, rgba(255,255,255,.07) 0 2px, transparent 2px 46px);
	pointer-events: none;
}
.nyk-hero > * { position: relative; z-index: 1; }
.nyk-hero a { color: #fff; text-decoration: none; }
.nyk-hero .wp-block-post-terms { opacity: .85; }
.nyk-hero a:hover { text-decoration: underline; }

.is-style-card {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--nyk-line);
	border-radius: var(--nyk-radius);
	box-shadow: var(--wp--preset--shadow--card);
	transition: transform .2s ease, box-shadow .2s ease;
}
.is-style-card:hover { transform: translateY(-3px); box-shadow: var(--wp--preset--shadow--lift); }

.is-style-service-tile { position: relative; background: #fff; border: 1px solid var(--nyk-line); border-radius: var(--nyk-radius); height: 100%; }
.is-style-service-tile:hover { border-color: var(--wp--preset--color--primary); background: var(--wp--preset--color--tint-primary); }
.is-style-service-tile p { margin: 0; }
.is-style-service-tile a { color: var(--wp--preset--color--contrast); text-decoration: none; font-weight: 600; }
.is-style-service-tile a::after { content: ""; position: absolute; inset: 0; }

.nyk-icon-badge { display: inline-flex; }
.nyk-icon-badge span { display: inline-grid; place-items: center; width: 52px; height: 52px; border-radius: 12px; background: var(--wp--preset--color--tint-secondary); color: var(--wp--preset--color--secondary); }
.nyk-icon-badge.is-maroon span { background: var(--wp--preset--color--tint-primary); color: var(--wp--preset--color--primary); }
.nyk-icon-badge.is-light span { background: rgba(255,255,255,.14); color: #fff; }

.is-style-checks { list-style: none; padding-left: 0; }
.is-style-checks li { position: relative; padding-left: 1.8rem; margin-bottom: .5rem; }
.is-style-checks li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .35em;
	width: 1.1rem;
	height: 1.1rem;
	border-radius: 50%;
	background: var(--wp--preset--color--secondary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5 9-10'/%3E%3C/svg%3E") center / 65% no-repeat;
}
.is-style-links { list-style: none; padding-left: 0; }
.is-style-links li { padding: .85rem 0; border-bottom: 1px solid var(--nyk-line); }
.is-style-links li:last-child { border-bottom: 0; }
.is-style-links a { color: var(--wp--preset--color--contrast); text-decoration: none; font-weight: 500; display: flex; justify-content: space-between; gap: 1rem; }
.is-style-links a::after { content: "→"; color: var(--wp--preset--color--primary); }

.wp-block-button.is-style-ghost-light .wp-block-button__link { background: transparent; color: #fff; box-shadow: inset 0 0 0 2px rgba(255,255,255,.7); }
.wp-block-button.is-style-ghost-light .wp-block-button__link:hover { background: #fff; color: var(--wp--preset--color--primary); }
.wp-block-button.is-style-secondary .wp-block-button__link { background: var(--wp--preset--color--secondary); }

.nyk-notice { border-left: 4px solid var(--wp--preset--color--accent); }
.wp-block-post-featured-image img { border-radius: var(--nyk-radius); }
.wp-block-post-template .wp-block-post-featured-image img { aspect-ratio: 16 / 10; object-fit: cover; }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; animation: none !important; }
}

/* =========================================================
   Newsroom — immersive magazine
   Photo-overlay cards, full-bleed covers, dark slider, sticky reading rail.
   ========================================================= */
:root {
	--nyk-ink: #1d1a18;
	--nyk-night: #141110;
	--nyk-rule: #e6dfd4;
}

/* ---------- Photo-overlay card ---------- */
.nyk-mcard {
	position: relative;
	isolation: isolate;
	height: 100%;
	min-height: 440px;
	margin: 0 !important;
	border-radius: 6px;
	overflow: hidden;
	background: #2a2320;
	color: #fff;
}
.nyk-mcard > * { margin: 0 !important; }
.nyk-mcard__img { position: absolute !important; inset: 0; z-index: -2; width: 100% !important; height: 100% !important; }
.nyk-mcard__img a { display: block; height: 100%; }
.nyk-mcard__img img { width: 100%; height: 100% !important; object-fit: cover; border-radius: 0 !important; aspect-ratio: auto !important; transition: transform 1.2s cubic-bezier(.2,.7,.2,1); }
.nyk-mcard::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(180deg, rgba(12,9,8,.25) 0%, rgba(12,9,8,0) 28%, rgba(12,9,8,.5) 58%, rgba(12,9,8,.92) 100%);
	transition: background .4s ease;
}
.nyk-mcard::before {
	content: "";
	position: absolute;
	top: 1.1rem;
	right: 1.1rem;
	z-index: 2;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d1a18' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M8 7h9v9'/%3E%3C/svg%3E") center / 18px no-repeat;
	opacity: 0;
	transform: scale(.7);
	transition: opacity .3s ease, transform .3s ease;
	pointer-events: none;
}
.nyk-mcard:hover .nyk-mcard__img img { transform: scale(1.06); }
.nyk-mcard:hover::before { opacity: 1; transform: scale(1); }
.nyk-mcard:has(:focus-visible) { outline: 3px solid var(--wp--preset--color--accent); outline-offset: 3px; }

.nyk-mcard__cat { position: absolute !important; top: 1.1rem; left: 1.1rem; z-index: 3; display: flex; gap: .35rem; }
.nyk-mcard__cat a {
	display: inline-block;
	padding: .42rem .8rem;
	border-radius: 999px;
	background: rgba(255,255,255,.16);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	color: #fff;
	text-decoration: none;
	font: 600 .66rem/1 var(--wp--preset--font-family--body);
	letter-spacing: .14em;
	text-transform: uppercase;
	transition: background .2s ease;
}
.nyk-mcard__cat a:hover { background: var(--wp--preset--color--primary); }
.nyk-mcard__cat a ~ a, .nyk-mcard__cat .wp-block-post-terms__separator { display: none; }

.nyk-mcard__body { position: absolute !important; left: 0; right: 0; bottom: 0; padding: 1.5rem 1.5rem 1.65rem; display: flex; flex-direction: column; gap: .6rem; }
.nyk-mcard__body > * { margin: 0 !important; }
.nyk-mcard__meta { display: flex; gap: .45rem; font: 500 .78rem/1.2 var(--wp--preset--font-family--body); color: rgba(255,255,255,.72); }
.nyk-mcard__title { color: #fff !important; font-size: clamp(1.25rem, 1.55vw, 1.5rem) !important; line-height: 1.18 !important; font-weight: 600 !important; letter-spacing: -.012em; text-wrap: balance; }
.nyk-mcard__title a { color: #fff; text-decoration: none; }
.nyk-mcard__title a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.nyk-readtime__sep { opacity: .6; }

/* ---------- Dark slider ---------- */
.nyk-mslider { background: var(--nyk-night); color: #fff; overflow: hidden; }
.nyk-mslider__head { margin-bottom: 2.5rem !important; gap: 1.5rem; align-items: flex-end !important; }
.nyk-kicker-light { margin: 0; font: 600 .74rem/1.2 var(--wp--preset--font-family--body); letter-spacing: .22em; text-transform: uppercase; color: var(--wp--preset--color--accent); }
.nyk-kicker-light a { color: inherit; text-decoration: none; }
.nyk-mslider__title { color: #fff !important; margin: 0; font-size: clamp(2.1rem, 4.2vw, 3.6rem) !important; font-weight: 400 !important; line-height: 1.04 !important; letter-spacing: -.03em; }
.nyk-mslider__title em, .nyk-archive-title em { font-style: normal; font-weight: 650; color: var(--wp--preset--color--accent); }
.nyk-mslider__ctrl { display: flex; align-items: center; gap: .6rem; }
.nyk-mslider__all { margin-right: .9rem; padding-bottom: 4px; border-bottom: 1px solid rgba(255,255,255,.4); color: #fff; text-decoration: none; font: 600 .78rem/1 var(--wp--preset--font-family--body); letter-spacing: .14em; text-transform: uppercase; }
.nyk-mslider__all:hover { border-bottom-color: #fff; }
.nyk-mslider__btn { width: 50px; height: 50px; border-radius: 50%; border: 1px solid rgba(255,255,255,.3); background: transparent; color: #fff; display: grid; place-items: center; cursor: pointer; transition: all .2s ease; }
.nyk-mslider__btn:hover:not(:disabled) { background: #fff; color: var(--nyk-ink); border-color: #fff; }
.nyk-mslider__btn:disabled { opacity: .3; cursor: default; }
.nyk-mslider__query { margin-top: 0 !important; }
.nyk-mtrack {
	--nyk-gutter: max(1.5rem, calc((100vw - 1140px) / 2));
	display: flex !important;
	gap: 1.25rem;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scroll-padding-inline: var(--nyk-gutter);
	list-style: none;
	margin: 0;
	padding: 0 var(--nyk-gutter) .25rem;
	scrollbar-width: none;
}
.nyk-mtrack::-webkit-scrollbar { display: none; }
.nyk-mtrack > li { flex: 0 0 clamp(270px, 25vw, 350px); scroll-snap-align: start; margin: 0 !important; }
.nyk-mtrack > li:first-child { flex-basis: clamp(300px, 42vw, 580px); }
.nyk-mtrack > li:first-child .nyk-mcard__title { font-size: clamp(1.5rem, 2.3vw, 2.1rem) !important; max-width: 20ch; }
.nyk-mtrack .nyk-mcard { min-height: 500px; }

/* ---------- Full-bleed covers ---------- */
.nyk-lead { margin-top: 0 !important; }
.nyk-lead .wp-block-post-template { margin: 0; }
.nyk-cover { padding: 0 !important; color: #fff; margin-top: 0 !important; }
.nyk-cover .wp-block-cover__background {
	background: linear-gradient(180deg, rgba(12,9,8,.6) 0%, rgba(12,9,8,.12) 26%, rgba(12,9,8,.3) 55%, rgba(12,9,8,.92) 100%) !important;
	opacity: 1 !important;
}
.nyk-cover:not(:has(.wp-block-cover__image-background)) .wp-block-cover__background {
	background: radial-gradient(circle at 80% 20%, rgba(227,168,43,.25), transparent 45%), linear-gradient(135deg, #3d0918 0%, #821534 55%, #154a23 100%) !important;
}
.nyk-cover { min-height: min(88vh, 900px) !important; }
.nyk-cover--article { min-height: min(92vh, 940px) !important; }
.nyk-cover.has-custom-content-position .wp-block-cover__inner-container { width: 100% !important; margin: 0 !important; padding: 0 var(--wp--preset--spacing--30) clamp(3rem, 9vh, 6.5rem); }
.nyk-cover__inner { max-width: 1140px; margin-inline: auto !important; display: flex; flex-direction: column; align-items: flex-start; gap: 1.3rem; }
.nyk-cover__inner > * { margin: 0 !important; max-width: none; }
.nyk-cover__tags { gap: .45rem !important; }
.nyk-cover__title { color: #fff !important; font-size: clamp(2.4rem, 5.2vw, 4.6rem) !important; line-height: 1.02 !important; letter-spacing: -.028em; font-weight: 600 !important; max-width: 17ch !important; text-wrap: balance; }
.nyk-cover__title--xl { font-size: clamp(2.6rem, 6.2vw, 5.6rem) !important; max-width: 16ch !important; }
.nyk-cover__title a { color: #fff; text-decoration: none; }
.nyk-cover__excerpt p { margin: 0; color: rgba(255,255,255,.82); font-size: 1.15rem; line-height: 1.6; max-width: 56ch; }
.nyk-cover__excerpt .wp-block-post-excerpt__more-text { display: none; }
.nyk-cover__foot { gap: 1.75rem !important; margin-top: .4rem !important; }
.nyk-cover__meta { display: flex; gap: .5rem; color: rgba(255,255,255,.8); font: 500 .9rem/1.2 var(--wp--preset--font-family--body); }

p.nyk-pill, .nyk-pill a {
	display: inline-block;
	margin: 0;
	padding: .48rem .9rem;
	border-radius: 999px;
	border: 1px solid rgba(255,255,255,.38);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	color: #fff;
	text-decoration: none;
	font: 600 .7rem/1 var(--wp--preset--font-family--body);
	letter-spacing: .14em;
	text-transform: uppercase;
}
p.nyk-pill a { display: inline; padding: 0; border: 0; backdrop-filter: none; -webkit-backdrop-filter: none; color: inherit; }
div.nyk-pill { display: flex; flex-wrap: wrap; gap: .45rem; }
div.nyk-pill .wp-block-post-terms__separator { display: none; }
.nyk-pill a:hover { background: rgba(255,255,255,.15); }
.nyk-pill--solid { background: var(--wp--preset--color--primary); border-color: var(--wp--preset--color--primary) !important; }

a.nyk-btn-light, .nyk-btn-light {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	padding: .95rem 1.6rem;
	border-radius: 999px;
	background: #fff;
	color: var(--nyk-ink);
	text-decoration: none;
	font: 600 .9rem/1 var(--wp--preset--font-family--body);
	transition: background .2s ease;
}
a.nyk-btn-light::after { content: "→"; }
a.nyk-btn-light:hover { background: var(--wp--preset--color--accent); color: var(--nyk-ink); }

.nyk-scrollcue { display: inline-flex; align-items: center; gap: .6rem; color: #fff; text-decoration: none; opacity: .85; font: 600 .74rem/1 var(--wp--preset--font-family--body); letter-spacing: .16em; text-transform: uppercase; }
.nyk-scrollcue span { display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; border: 1px solid rgba(255,255,255,.45); animation: nyk-bob 2s ease-in-out infinite; }
@keyframes nyk-bob { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(5px); } }

/* ---------- Reading progress ---------- */
.nyk-progress { position: fixed; left: 0; right: 0; top: 0; z-index: 1001; height: 3px; pointer-events: none; }
.admin-bar .nyk-progress { top: 32px; }
@media (max-width: 782px) { .admin-bar .nyk-progress { top: 46px; } }
.nyk-progress span { display: block; width: 0; height: 100%; background: linear-gradient(90deg, var(--wp--preset--color--accent), var(--wp--preset--color--primary)); }

/* ---------- Article body + sticky rail ---------- */
html { scroll-padding-top: 90px; }
.nyk-story-cols { align-items: flex-start !important; margin-block: 0 !important; }
.nyk-rail { position: sticky; top: 104px; align-self: flex-start; }
.admin-bar .nyk-rail { top: 136px; }
.nyk-rail__inner { gap: 1.75rem !important; padding-top: 1.25rem; border-top: 2px solid var(--nyk-ink); }
.nyk-rail__item { gap: .4rem !important; }
.nyk-rail__item > * { margin: 0 !important; }
.nyk-rail__label { font: 600 .68rem/1 var(--wp--preset--font-family--body); letter-spacing: .18em; text-transform: uppercase; color: var(--wp--preset--color--muted); }
.nyk-rail__value { display: flex; flex-direction: column; gap: .2rem; font: 500 .95rem/1.35 var(--wp--preset--font-family--body); color: var(--nyk-ink); }
.nyk-rail__value .nyk-readtime__sep { display: none; }
.nyk-rail__value .nyk-readtime__val { color: var(--wp--preset--color--muted); font-size: .85rem; }
.nyk-rail__terms { flex-direction: row; flex-wrap: wrap; gap: .3rem .5rem; }
.nyk-rail__terms a { color: var(--wp--preset--color--primary); text-decoration: none; font-weight: 600; }
.nyk-rail__terms .wp-block-post-terms__separator { color: var(--nyk-rule); }
.nyk-share { display: flex; flex-wrap: wrap; gap: .45rem; list-style: none; margin: 0; padding: 0; }
.nyk-share a { display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid var(--nyk-rule); border-radius: 50%; color: var(--nyk-ink); transition: all .2s ease; }
.nyk-share a:hover { background: var(--wp--preset--color--primary); border-color: var(--wp--preset--color--primary); color: #fff; }

.nyk-story-main { max-width: 720px; }
.nyk-prose { font-size: 1.14rem; line-height: 1.85; color: #2b2622; }
.nyk-prose > * { margin-block: 0 1.4em; }
.nyk-prose > p:first-of-type { font-size: clamp(1.3rem, 1.9vw, 1.5rem); line-height: 1.55; color: var(--nyk-ink); letter-spacing: -.005em; }
.nyk-prose h2, .nyk-prose h3, .nyk-prose h4 { color: var(--nyk-ink); font-weight: 600; letter-spacing: -.015em; line-height: 1.2; margin-top: 2.2em; margin-bottom: .6em; }
.nyk-prose h2 { font-size: clamp(1.6rem, 2.4vw, 2rem); }
.nyk-prose h3 { font-size: 1.45rem; }
.nyk-prose a { color: var(--wp--preset--color--primary); text-decoration-thickness: 1px; text-underline-offset: 3px; }
.nyk-prose strong { color: var(--nyk-ink); }
.nyk-prose ul, .nyk-prose ol { padding-left: 1.2em; }
.nyk-prose li { margin-bottom: .4em; }
.nyk-prose li::marker { color: var(--wp--preset--color--primary); }
.nyk-prose blockquote, .nyk-prose .wp-block-quote {
	position: relative;
	margin: 2.4em 0;
	padding: 0 0 0 1.6rem;
	border-left: 4px solid var(--wp--preset--color--primary);
	font-size: clamp(1.5rem, 2.5vw, 2.1rem);
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: -.015em;
	color: var(--nyk-ink);
}
.nyk-prose blockquote cite { display: block; margin-top: .8rem; font-size: .9rem; font-style: normal; color: var(--wp--preset--color--muted); letter-spacing: 0; }
.nyk-prose figure, .nyk-prose .wp-block-image { margin-block: 2.4em; }
.nyk-prose img { border-radius: 6px !important; height: auto; }
.nyk-prose figcaption { margin-top: .7em; font-size: .85rem; line-height: 1.5; color: var(--wp--preset--color--muted); text-align: left; }
.nyk-prose .wp-block-gallery { gap: .75rem; }

.nyk-signoff { gap: 1.25rem !important; margin-top: 3rem !important; padding-top: 1.75rem; border-top: 1px solid var(--nyk-rule); }
.nyk-signoff__logo { flex: none; width: 120px; height: auto; display: block; }
.nyk-signoff p { margin: 0; font-size: .95rem; color: var(--wp--preset--color--muted); }
.nyk-signoff strong { color: var(--nyk-ink); }

/* ---------- Mixed photo grid (news page, archives) ---------- */
.nyk-mgrid-head { gap: 1.25rem; margin-bottom: 2.25rem !important; }
.nyk-mgrid-title { margin: 0; color: var(--nyk-ink); font-size: clamp(1.9rem, 3.2vw, 2.8rem) !important; font-weight: 400 !important; letter-spacing: -.03em; line-height: 1.06 !important; }
.nyk-mgrid-title em { font-style: normal; font-weight: 650; color: var(--wp--preset--color--primary); }
.nyk-mgrid { display: grid !important; grid-template-columns: repeat(3, 1fr); grid-auto-rows: 430px; gap: 1.25rem; list-style: none; margin: 0; padding: 0; }
.nyk-mgrid > li { margin: 0 !important; }
.nyk-mgrid > li:nth-child(4n+1), .nyk-mgrid > li:nth-child(4n+4) { grid-column: span 2; }
.nyk-mgrid > li:nth-child(4n+1) .nyk-mcard__title, .nyk-mgrid > li:nth-child(4n+4) .nyk-mcard__title { font-size: clamp(1.6rem, 2.4vw, 2.15rem) !important; max-width: 22ch; }
.nyk-mgrid .nyk-mcard { min-height: 0; }

.nyk-chips { list-style: none; display: flex; flex-wrap: wrap; gap: .45rem; padding: 0; margin: 0 !important; }
.nyk-chips li { margin: 0; }
.nyk-chips a { display: inline-block; padding: .5rem 1.05rem; border: 1px solid var(--nyk-rule); border-radius: 999px; background: #fff; color: var(--nyk-ink); text-decoration: none; font: 500 .82rem/1 var(--wp--preset--font-family--body); transition: all .2s ease; }
.nyk-chips a:hover, .nyk-chips .current-cat a { background: var(--nyk-ink); border-color: var(--nyk-ink); color: #fff; }
.nyk-chips--dark { margin-top: 1.75rem !important; }
.nyk-chips--dark a { background: transparent; color: #fff; border-color: rgba(255,255,255,.3); }
.nyk-chips--dark a:hover, .nyk-chips--dark .current-cat a { background: #fff; color: var(--nyk-ink); border-color: #fff; }

.nyk-pagination { margin-top: 3rem !important; gap: .4rem; font: 500 .85rem var(--wp--preset--font-family--body); }
.nyk-pagination a, .nyk-pagination .page-numbers { color: var(--nyk-ink); text-decoration: none; }
.nyk-pagination .page-numbers { display: inline-grid; place-items: center; min-width: 2.6rem; height: 2.6rem; border-radius: 50%; border: 1px solid var(--nyk-rule); }
.nyk-pagination .page-numbers.current { background: var(--nyk-ink); color: #fff; border-color: var(--nyk-ink); }

.nyk-archive-head { background: var(--nyk-night); color: #fff; }
.nyk-archive-title { color: #fff !important; margin-block: .6rem 0 !important; font-size: clamp(2.4rem, 5vw, 4.2rem) !important; font-weight: 600 !important; letter-spacing: -.025em; line-height: 1.02 !important; }
.nyk-archive-desc { color: rgba(255,255,255,.75); max-width: 60ch; }

/* ---------- Newsroom: small screens ---------- */
@media (max-width: 900px) {
	.nyk-mgrid { grid-template-columns: 1fr 1fr; grid-auto-rows: 400px; }
}
@media (max-width: 781px) {
	.nyk-rail { position: static; }
	.nyk-rail__inner { flex-direction: row !important; flex-wrap: wrap; gap: 1.25rem 2rem !important; }
	.nyk-story-main { max-width: none; }
	.nyk-mtrack > li { flex-basis: 78vw; }
	.nyk-mtrack > li:first-child { flex-basis: 86vw; }
	.nyk-mtrack .nyk-mcard { min-height: 440px; }
	.nyk-mslider__all { display: none; }
	.nyk-cover__foot { gap: 1rem !important; }
	.nyk-cover .wp-block-cover__background { background: linear-gradient(180deg, rgba(12,9,8,.55) 0%, rgba(12,9,8,.25) 22%, rgba(12,9,8,.7) 50%, rgba(12,9,8,.95) 100%) !important; }
	.nyk-cover__excerpt { display: none; }
}
@media (max-width: 600px) {
	.nyk-mgrid { grid-template-columns: 1fr; grid-auto-rows: 380px; }
	.nyk-mgrid > li:nth-child(4n+1), .nyk-mgrid > li:nth-child(4n+4) { grid-column: auto; }
	.nyk-mslider__btn { width: 44px; height: 44px; }
}

/* ---------- Press & media band (light, sits above the green footer) ---------- */
.nyk-media-band { border-top: 1px solid var(--nyk-rule); }
.nyk-media-band__cols { margin-block: 0 !important; }
.nyk-media-band__kicker { margin: 0 0 .6rem !important; font: 600 .72rem/1 var(--wp--preset--font-family--body); letter-spacing: .2em; text-transform: uppercase; color: var(--wp--preset--color--primary); }
.nyk-media-band__title { margin: 0 !important; color: var(--nyk-ink) !important; font-size: clamp(1.8rem, 3.2vw, 2.7rem) !important; font-weight: 400 !important; letter-spacing: -.03em; line-height: 1.08 !important; }
.nyk-media-band__title em { font-style: normal; font-weight: 650; color: var(--wp--preset--color--primary); }
.nyk-media-band__text { margin: .9rem 0 0 !important; color: var(--wp--preset--color--muted); max-width: 52ch; font-size: 1.02rem; line-height: 1.65; }
.nyk-media-band__actions .wp-block-button__link { padding: 1rem 1.8rem; }
.nyk-media-band__actions .wp-block-button__link::after { content: " →"; }
/* Let the footer skyline sit directly on the band's ivory instead of a white strip. */
.nyk-media-band + * { margin-top: 0 !important; }
body:has(.nyk-media-band) .nyk-skyline { margin-top: 0; background: var(--wp--preset--color--ivory); }
@media (max-width: 781px) {
	.nyk-media-band__actions { justify-content: flex-start !important; }
}

/* ---------- Light slider variant (articles: sits right above the footer) ---------- */
.nyk-mslider--light { background: var(--wp--preset--color--ivory); color: var(--nyk-ink); border-top: 1px solid var(--nyk-rule); }
.nyk-mslider--light .nyk-kicker-light { color: var(--wp--preset--color--primary); }
.nyk-mslider--light .nyk-mslider__title { color: var(--nyk-ink) !important; }
.nyk-mslider--light .nyk-mslider__title em { color: var(--wp--preset--color--primary); }
.nyk-mslider--light .nyk-mslider__all { color: var(--nyk-ink); border-bottom-color: rgba(29,26,24,.35); }
.nyk-mslider--light .nyk-mslider__all:hover { border-bottom-color: var(--nyk-ink); }
.nyk-mslider--light .nyk-mslider__btn { color: var(--nyk-ink); border-color: rgba(29,26,24,.25); }
.nyk-mslider--light .nyk-mslider__btn:hover:not(:disabled) { background: var(--nyk-ink); color: #fff; border-color: var(--nyk-ink); }
body:has(.nyk-mslider--light) .nyk-skyline { margin-top: 0; background: var(--wp--preset--color--ivory); }

/* ---------- Covers for posts without a featured image (logo fallback) ---------- */
.nyk-cover--fallback .wp-block-cover__background { background: linear-gradient(180deg, rgba(12,9,8,.3) 0%, rgba(12,9,8,0) 35%, rgba(12,9,8,.45) 100%) !important; }
.nyk-cover__logo { margin: 0 0 .6rem !important; line-height: 0; }
.nyk-cover__logo img { display: block; height: clamp(64px, 7vw, 92px); width: auto; padding: .75rem 1rem; background: #fff; border-radius: 10px; box-shadow: 0 18px 40px -18px rgba(0,0,0,.5); }

/* =========================================================
   Team directory
   ========================================================= */
.nyk-team-hero { background: var(--nyk-night); color: #fff; padding: calc(var(--nyk-hdr-h) + clamp(3rem, 7vw, 6rem)) var(--wp--preset--spacing--30) clamp(3rem, 6vw, 5rem); position: relative; overflow: hidden; }
.nyk-team-hero::after { content: ""; position: absolute; right: -10vw; top: 50%; width: 55vw; max-width: 760px; aspect-ratio: 1; transform: translateY(-50%); border-radius: 50%; background: repeating-radial-gradient(circle, rgba(255,255,255,.05) 0 1.5px, transparent 1.5px 44px); pointer-events: none; }
.nyk-team-hero__inner { position: relative; z-index: 1; max-width: 1140px; margin: 0 auto; }
.nyk-team-hero__title { color: #fff; margin: .9rem 0 0; font-size: clamp(2.6rem, 6vw, 5rem); font-weight: 400; letter-spacing: -.035em; line-height: 1.02; max-width: 14ch; }
.nyk-team-hero__title em { font-style: normal; font-weight: 650; color: var(--wp--preset--color--accent); }
.nyk-team-hero__lede { margin: 1.25rem 0 0; max-width: 54ch; color: rgba(255,255,255,.75); font-size: 1.1rem; line-height: 1.65; }
.nyk-team-hero__stats { display: flex; flex-wrap: wrap; gap: 0; list-style: none; margin: clamp(2.5rem, 5vw, 3.5rem) 0 0; padding: 0; }
.nyk-team-hero__stats li { display: flex; flex-direction: column; gap: .35rem; padding: 0 clamp(1.25rem, 3vw, 2.5rem); border-left: 1px solid rgba(255,255,255,.18); }
.nyk-team-hero__stats li:first-child { padding-left: 0; border-left: 0; }
.nyk-team-hero__stats strong { font-size: clamp(2.4rem, 4.5vw, 3.6rem); font-weight: 300; line-height: 1; letter-spacing: -.03em; }
.nyk-team-hero__stats span { font: 600 .72rem/1.3 var(--wp--preset--font-family--body); letter-spacing: .16em; text-transform: uppercase; color: rgba(255,255,255,.6); }

.nyk-team__tabs { position: sticky; top: 68px; z-index: 50; background: rgba(255,255,255,.94); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); border-bottom: 1px solid var(--nyk-rule); }
.admin-bar .nyk-team__tabs { top: 100px; }
.nyk-team__tabs-inner { max-width: 1140px; margin: 0 auto; padding: .85rem var(--wp--preset--spacing--30); display: flex; gap: .5rem; overflow-x: auto; scrollbar-width: none; }
.nyk-team__tabs-inner::-webkit-scrollbar { display: none; }
.nyk-team__tabs button { flex: none; display: inline-flex; align-items: center; gap: .55rem; padding: .6rem 1.1rem; border: 1px solid var(--nyk-rule); border-radius: 999px; background: #fff; color: var(--nyk-ink); cursor: pointer; font: 500 .88rem/1 var(--wp--preset--font-family--body); transition: all .2s ease; }
.nyk-team__tabs button span { font-size: .75rem; color: var(--wp--preset--color--muted); }
.nyk-team__tabs button:hover { border-color: var(--nyk-ink); }
.nyk-team__tabs button.is-active { background: var(--nyk-ink); border-color: var(--nyk-ink); color: #fff; }
.nyk-team__tabs button.is-active span { color: rgba(255,255,255,.65); }

.nyk-team__group { max-width: 1140px; margin: 0 auto; padding: clamp(3rem, 6vw, 5rem) var(--wp--preset--spacing--30) 0; scroll-margin-top: 140px; }
.nyk-team__group:last-of-type { padding-bottom: clamp(3.5rem, 7vw, 6rem); }
.nyk-team__group[hidden] { display: none; }
.nyk-team__ghead { display: grid; grid-template-columns: auto 1fr; gap: clamp(1rem, 3vw, 2.5rem); align-items: start; margin-bottom: 2.25rem; padding-bottom: 1.5rem; border-bottom: 1px solid var(--nyk-rule); }
.nyk-team__gnum { font-size: clamp(2.6rem, 5vw, 4rem); font-weight: 300; line-height: .9; letter-spacing: -.04em; color: var(--wp--preset--color--primary); }
.nyk-team__ghead h2 { margin: 0; color: var(--nyk-ink); font-size: clamp(1.8rem, 3vw, 2.5rem); font-weight: 500; letter-spacing: -.025em; line-height: 1.1; }
.nyk-team__ghead p { margin: .6rem 0 0; max-width: 60ch; color: var(--wp--preset--color--muted); }

.nyk-team__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 2.25rem 1.25rem; }
.nyk-tcard-wrap { margin: 0; }
.nyk-tcard { display: flex; flex-direction: column; gap: 1rem; height: 100%; color: var(--nyk-ink); text-decoration: none; }
.nyk-tcard__media { position: relative; display: block; aspect-ratio: 4 / 5; overflow: hidden; border-radius: 6px; background: #ece9f5; }
.nyk-tcard__media .nyk-portrait { width: 100%; height: 100%; object-fit: cover; object-position: 50% 12%; display: block; transition: transform 1s cubic-bezier(.2,.7,.2,1); }
.nyk-tcard__media::after { content: "+"; position: absolute; right: .9rem; bottom: .9rem; width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; background: #fff; color: var(--nyk-ink); font-size: 1.4rem; font-weight: 300; line-height: 1; box-shadow: 0 8px 20px rgba(0,0,0,.18); transform: scale(.7); opacity: 0; transition: all .3s ease; }
.nyk-tcard:hover .nyk-tcard__media .nyk-portrait { transform: scale(1.05); }
.nyk-tcard:hover .nyk-tcard__media::after, .nyk-tcard:focus-visible .nyk-tcard__media::after { transform: scale(1); opacity: 1; }
.nyk-tcard:focus-visible { outline: 3px solid var(--wp--preset--color--accent); outline-offset: 4px; border-radius: 8px; }
.nyk-tcard__body { display: flex; flex-direction: column; gap: .35rem; }
.nyk-tcard__role { font: 600 .68rem/1.35 var(--wp--preset--font-family--body); letter-spacing: .14em; text-transform: uppercase; color: var(--wp--preset--color--primary); }
.nyk-tcard__name { font-size: 1.15rem; font-weight: 600; letter-spacing: -.012em; line-height: 1.25; }
.nyk-tcard__more { display: none; }

/* Lead card (Chairperson / General Manager): horizontal feature. */
.nyk-tcard-wrap.is-lead { grid-column: span 2; }
.is-lead .nyk-tcard { flex-direction: row; gap: 0; background: var(--nyk-night); color: #fff; border-radius: 6px; overflow: hidden; }
.is-lead .nyk-tcard__media { flex: 0 0 48%; aspect-ratio: auto; min-height: 100%; border-radius: 0; }
.is-lead .nyk-tcard__body { flex: 1; justify-content: flex-end; gap: .6rem; padding: clamp(1.25rem, 2.5vw, 2rem); }
.is-lead .nyk-tcard__role { color: var(--wp--preset--color--accent); }
.is-lead .nyk-tcard__name { font-size: clamp(1.4rem, 2vw, 1.75rem); color: #fff; }
.is-lead .nyk-tcard__quote { margin-top: .4rem; color: rgba(255,255,255,.72); font-size: .95rem; line-height: 1.55; }
.is-lead .nyk-tcard__more { display: inline-flex; margin-top: .9rem; align-self: flex-start; padding-bottom: 3px; border-bottom: 1px solid rgba(255,255,255,.45); font: 600 .75rem/1 var(--wp--preset--font-family--body); letter-spacing: .14em; text-transform: uppercase; }
.is-lead .nyk-tcard__more::after { content: "  →"; white-space: pre; }
.is-lead .nyk-tcard__media::after { display: none; }

/* Initials monogram when there is no portrait. */
.nyk-portrait--mono { display: grid !important; place-items: center; width: 100%; height: 100%; background: radial-gradient(circle at 75% 20%, rgba(227,168,43,.28), transparent 45%), linear-gradient(145deg, #5c0e24, #821534 60%, #206832); color: #fff; }
.nyk-portrait--mono span { font-size: clamp(2.4rem, 5vw, 3.6rem); font-weight: 300; letter-spacing: .04em; }

/* Slide-in profile drawer. */
.nyk-drawer { position: fixed; inset: 0 0 0 auto; width: min(560px, 100vw); max-width: 100vw; height: 100dvh; max-height: 100dvh; margin: 0 0 0 auto; padding: 0; border: 0; background: #fff; color: var(--nyk-ink); overflow-y: auto; box-shadow: -30px 0 80px rgba(0,0,0,.25); }
.nyk-drawer[open] { animation: nyk-drawer-in .38s cubic-bezier(.2,.7,.2,1); }
@keyframes nyk-drawer-in { from { transform: translateX(100%); } to { transform: none; } }
.nyk-drawer::backdrop { background: rgba(20,17,16,.55); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
.nyk-drawer__bar { position: sticky; top: 0; z-index: 2; display: flex; justify-content: space-between; align-items: center; padding: .8rem 1rem; background: rgba(255,255,255,.92); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border-bottom: 1px solid var(--nyk-rule); }
.nyk-drawer__nav { display: flex; align-items: center; gap: .5rem; }
.nyk-drawer__nav button, .nyk-drawer__close { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid var(--nyk-rule); border-radius: 50%; background: #fff; color: var(--nyk-ink); cursor: pointer; transition: all .2s ease; }
.nyk-drawer__nav button:hover:not(:disabled), .nyk-drawer__close:hover { background: var(--nyk-ink); border-color: var(--nyk-ink); color: #fff; }
.nyk-drawer__nav button:disabled { opacity: .35; cursor: default; }
.nyk-drawer__count { min-width: 4.5rem; text-align: center; font: 500 .8rem/1 var(--wp--preset--font-family--body); color: var(--wp--preset--color--muted); }
.nyk-drawer__media { aspect-ratio: 5 / 4; background: #ece9f5; overflow: hidden; }
.nyk-drawer__media .nyk-portrait { width: 100%; height: 100%; object-fit: cover; object-position: 50% 15%; display: block; }
.nyk-drawer__body { padding: clamp(1.5rem, 4vw, 2.25rem); }
.nyk-drawer__full { display: inline-flex; margin-top: 1.75rem; padding-bottom: 4px; border-bottom: 1px solid currentColor; color: var(--nyk-ink); text-decoration: none; font: 600 .76rem/1 var(--wp--preset--font-family--body); letter-spacing: .14em; text-transform: uppercase; }
.nyk-drawer__full::after { content: "  →"; white-space: pre; }
body.nyk-drawer-open { overflow: hidden; }

/* Profile content (drawer + profile page). */
.nyk-profile__group { margin: 0; font: 600 .7rem/1.4 var(--wp--preset--font-family--body); letter-spacing: .16em; text-transform: uppercase; color: var(--wp--preset--color--muted); }
.nyk-profile__name { margin: .5rem 0 0; color: var(--nyk-ink); font-size: clamp(1.8rem, 3vw, 2.4rem); font-weight: 600; letter-spacing: -.028em; line-height: 1.08; }
.nyk-profile__role { margin: .45rem 0 0; color: var(--wp--preset--color--primary); font-size: 1.05rem; font-weight: 500; }
.nyk-profile__quote { margin: 1.75rem 0 0; padding: 0 0 0 1.25rem; border-left: 3px solid var(--wp--preset--color--accent); }
.nyk-profile__quote p { margin: 0; font-size: 1.15rem; line-height: 1.55; color: var(--nyk-ink); }
.nyk-profile__bio { margin-top: 1.5rem; color: #3a342f; line-height: 1.8; }
.nyk-profile__bio p { margin: 0 0 1em; }
.nyk-profile__soon { color: var(--wp--preset--color--muted); padding: 1rem 1.1rem; background: var(--wp--preset--color--ivory); border-radius: 6px; font-size: .95rem; }
.nyk-profile__contact { list-style: none; margin: 1.75rem 0 0; padding: 0; border-top: 1px solid var(--nyk-rule); }
.nyk-profile__contact li { display: flex; justify-content: space-between; gap: 1rem; padding: .85rem 0; border-bottom: 1px solid var(--nyk-rule); font-size: .95rem; }
.nyk-profile__contact span { color: var(--wp--preset--color--muted); }
.nyk-profile__contact a { color: var(--nyk-ink); font-weight: 500; text-decoration: none; }
.nyk-profile__contact a:hover { color: var(--wp--preset--color--primary); }

/* Full profile page. */
.nyk-profile-page { background: var(--wp--preset--color--ivory); padding: calc(clamp(3rem, 6vw, 5rem)) var(--wp--preset--spacing--30) clamp(3.5rem, 7vw, 6rem); }
.nyk-profile-page__inner { max-width: 1140px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(2rem, 6vw, 5rem); align-items: start; }
.nyk-profile-page__media { position: sticky; top: 100px; aspect-ratio: 4 / 5; border-radius: 6px; overflow: hidden; background: #ece9f5; }
.nyk-profile-page__media .nyk-portrait { width: 100%; height: 100%; object-fit: cover; object-position: 50% 12%; display: block; }
.nyk-profile-page__back { display: inline-flex; margin-bottom: 2rem; color: var(--wp--preset--color--muted); text-decoration: none; font: 600 .74rem/1 var(--wp--preset--font-family--body); letter-spacing: .16em; text-transform: uppercase; }
.nyk-profile-page__back::before { content: "←  "; white-space: pre; }
.nyk-profile-page__back:hover { color: var(--nyk-ink); }
.nyk-profile-page .nyk-profile__name { font-size: clamp(2.4rem, 5vw, 4rem); letter-spacing: -.035em; line-height: 1.02; }
.nyk-profile-page .nyk-profile__quote p { font-size: clamp(1.2rem, 1.8vw, 1.45rem); }

.nyk-peers { padding: clamp(3rem, 6vw, 4.5rem) var(--wp--preset--spacing--30); border-top: 1px solid var(--nyk-rule); }
.nyk-peers__inner { max-width: 1140px; margin: 0 auto; }
.nyk-peers__title { margin: 0 0 1.75rem; color: var(--nyk-ink); font-size: clamp(1.5rem, 2.4vw, 2rem); font-weight: 400; letter-spacing: -.025em; }
.nyk-peers__title em { font-style: normal; font-weight: 650; color: var(--wp--preset--color--primary); }
.nyk-peers__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: .75rem; }
.nyk-peers__list a { display: flex; align-items: center; gap: .9rem; padding: .7rem; border: 1px solid var(--nyk-rule); border-radius: 999px; color: var(--nyk-ink); text-decoration: none; transition: all .2s ease; }
.nyk-peers__list a:hover { border-color: var(--nyk-ink); background: var(--wp--preset--color--ivory); }
.nyk-peers__ph { flex: none; width: 52px; height: 52px; border-radius: 50%; overflow: hidden; background: #ece9f5; }
.nyk-peers__ph .nyk-portrait { width: 100%; height: 100%; object-fit: cover; object-position: 50% 15%; display: block; }
.nyk-peers__ph .nyk-portrait--mono span { font-size: 1rem; }
.nyk-peers__list strong { display: block; font-weight: 600; font-size: .95rem; }
.nyk-peers__list em { display: block; font-style: normal; font-size: .8rem; color: var(--wp--preset--color--muted); }

@media (max-width: 1024px) {
	.nyk-team__grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 781px) {
	.nyk-team__grid { grid-template-columns: repeat(2, 1fr); gap: 1.75rem 1rem; }
	.nyk-tcard-wrap.is-lead { grid-column: 1 / -1; }
	.is-lead .nyk-tcard { flex-direction: column; }
	.is-lead .nyk-tcard__media { aspect-ratio: 4 / 3; flex: none; }
	.nyk-team__ghead { grid-template-columns: 1fr; gap: .5rem; }
	.nyk-profile-page__inner { grid-template-columns: 1fr; }
	.nyk-profile-page__media { position: static; max-width: 420px; }
	.nyk-team-hero__stats li { padding: 0 1.1rem; }
	.nyk-tcard__name { font-size: 1.02rem; }
}
.nyk-profile-page .nyk-profile__soon { background: #fff; border: 1px solid var(--nyk-rule); }
@media (max-width: 781px) {
	.is-lead .nyk-tcard__media { min-height: 0; }
	.nyk-team-hero__stats { display: grid; grid-template-columns: repeat(3, 1fr); }
	.nyk-team-hero__stats li { padding: 0 .75rem; }
	.nyk-team-hero__stats li:first-child { padding-left: 0; }
	.nyk-team-hero__stats span { font-size: .62rem; letter-spacing: .1em; }
}

/* =========================================================
   Page header — one classic header for all inner pages
   ========================================================= */
.nyk-pagehead { background: var(--wp--preset--color--ivory); padding: clamp(2.5rem, 5vw, 4.25rem) var(--wp--preset--spacing--30) clamp(2rem, 4vw, 3rem); margin-block: 0 !important; }
.nyk-pagehead--ruled { border-bottom: 1px solid var(--nyk-rule); }
.nyk-pagehead__inner { max-width: 1140px; margin: 0 auto; }
.nyk-crumb { display: flex; flex-wrap: wrap; align-items: center; gap: .55rem; margin: 0; font: 500 .8rem/1.4 var(--wp--preset--font-family--body); color: var(--wp--preset--color--muted); }
.nyk-crumb a { color: var(--wp--preset--color--muted); text-decoration: none; }
.nyk-crumb a:hover { color: var(--nyk-ink); text-decoration: underline; text-underline-offset: 3px; }
.nyk-crumb [aria-current] { color: var(--nyk-ink); }
.nyk-crumb span[aria-hidden] { color: #c9c1b4; }
.nyk-pagehead__row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(1.5rem, 6vw, 5rem); align-items: end; margin-top: clamp(1.5rem, 3vw, 2.25rem); }
.nyk-pagehead__row--single { grid-template-columns: 1fr; }
.nyk-pagehead__title { margin: 0 !important; color: var(--nyk-ink) !important; font-size: clamp(2.6rem, 5.5vw, 4.4rem) !important; font-weight: 500 !important; letter-spacing: -.035em; line-height: 1 !important; }
.nyk-pagehead__intro { margin: 0; max-width: 50ch; color: var(--wp--preset--color--muted); font-size: 1.06rem; line-height: 1.7; }

/* Team: tabs continue the header's ivory and carry the rule. */
.nyk-team__tabs { background: rgba(250,247,241,.94); }
.nyk-team__tabs-inner { padding-top: .25rem; padding-bottom: 1.1rem; }
.nyk-team__tabs button { background: transparent; }
.nyk-team__tabs button.is-active { background: var(--nyk-ink); }

/* Profile page: breadcrumb spacing. */
.nyk-profile-page__body > .nyk-crumb { margin-bottom: 2rem; }

@media (max-width: 781px) {
	.nyk-pagehead__row { grid-template-columns: 1fr; gap: 1rem; }
}

/* =========================================================
   Signature curve — the homepage hero's bottom-right corner, reused on
   every photo hero: page heroes, the news lead cover and article covers.
   ========================================================= */
.nyk-sighero,
.nyk-cover { border-radius: 0 0 var(--nyk-curve) 0; overflow: hidden; }
@media (max-width: 781px) { :root { --nyk-curve: 140px; } }
@media (max-width: 480px) { :root { --nyk-curve: 96px; } }

/* Page hero (pages with a featured image). */
.nyk-sighero { min-height: min(62vh, 620px) !important; margin-top: 0 !important; padding: 0 !important; color: #fff; }
.nyk-sighero .wp-block-cover__background { background: linear-gradient(180deg, rgba(12,9,8,.55) 0%, rgba(12,9,8,.1) 35%, rgba(12,9,8,.65) 100%) !important; opacity: 1 !important; }
.nyk-sighero.has-custom-content-position .wp-block-cover__inner-container { width: 100% !important; margin: 0 !important; padding: 0 var(--wp--preset--spacing--30) clamp(2.5rem, 6vw, 4.5rem); }
.nyk-sighero__inner { max-width: 1140px; margin: 0 auto !important; }
.nyk-sighero__inner > * { margin: 0 !important; }
.nyk-sighero__title { margin-top: 1.1rem !important; color: #fff !important; font-size: clamp(2.6rem, 5.5vw, 4.6rem) !important; font-weight: 500 !important; letter-spacing: -.035em; line-height: 1 !important; max-width: 18ch; }
.nyk-crumb--light, .nyk-crumb--light a { color: rgba(255,255,255,.78); }
.nyk-crumb--light a:hover { color: #fff; }
.nyk-crumb--light span[aria-hidden] { color: rgba(255,255,255,.45); }

/* Team page photo hero (same signature curve as the cover-based heroes). */
.nyk-sighero--team { position: relative; isolation: isolate; display: flex; align-items: flex-end; min-height: min(62vh, 620px); padding: calc(var(--nyk-hdr-h) + 2rem) var(--wp--preset--spacing--30) clamp(2.5rem, 6vw, 4.5rem); color: #fff; }
.nyk-sighero__img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: 50% 40%; }
.nyk-sighero--team::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(12,9,8,.55) 0%, rgba(12,9,8,.15) 35%, rgba(12,9,8,.78) 100%); }
.nyk-sighero--team .nyk-sighero__inner { width: 100%; }
.nyk-sighero--team .nyk-sighero__title { margin: 0 !important; }
.nyk-sighero__intro { margin: 0; max-width: 50ch; color: rgba(255,255,255,.85); font-size: 1.06rem; line-height: 1.7; }
.nyk-sighero--team .nyk-pagehead__row { margin-top: 1.1rem; }
/* Below a photo hero the tabs sit on white, so the curve's cut-out and the tab bar match. */
.nyk-sighero--team ~ .nyk-team .nyk-team__tabs { background: rgba(255,255,255,.94); }
.nyk-sighero--team ~ .nyk-team .nyk-team__tabs-inner { padding-top: 1.1rem; }
.nyk-crumb--light [aria-current] { color: #fff; }
.nyk-sighero.nyk-sighero--team { padding: calc(var(--nyk-hdr-h) + 2rem) var(--wp--preset--spacing--30) clamp(2.5rem, 6vw, 4.5rem) !important; }

/* Footer base bar — one compact row: logo · legal · social. */
.nyk-footer.nyk-footer__base {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	column-gap: clamp(1rem, 2.5vw, 2rem);
	row-gap: .75rem;
	padding: 1rem max(var(--wp--preset--spacing--30), calc((100% - 1240px) / 2)) !important;
}
.nyk-footer__base > * { max-width: none !important; margin: 0 !important; }
.nyk-footer__base .nyk-footer__logo { order: 1; text-align: left; }
.nyk-footer__base .nyk-footer__logo img { height: 40px; padding: .3rem .5rem; border-radius: 5px; }
.nyk-footer__base > p:not(.nyk-footer__logo) { order: 2; text-align: left !important; line-height: 1.55; }
.nyk-footer__base .wp-block-social-links { order: 3; gap: .9rem; }
@media (max-width: 781px) {
	.nyk-footer.nyk-footer__base { grid-template-columns: 1fr; justify-items: center; padding-block: 1.25rem !important; }
	.nyk-footer__base > p:not(.nyk-footer__logo) { text-align: center !important; }
}

/* Motion layer: until animations.js runs, keep only the hero text hidden (prevents a flash before the entrance). */
.nyk-anim-pending .nyk-hero-cover .wp-block-cover__inner-container > h1,
.nyk-anim-pending .nyk-hero-cover .wp-block-cover__inner-container > p,
.nyk-anim-pending .nyk-hero-tab,
.nyk-anim-pending .nyk-cover__inner,
.nyk-anim-pending .nyk-sighero__inner,
.nyk-anim-pending .nyk-pagehead__inner { visibility: hidden; }

/* =========================================================
   Member Login gateway (routes to real channels — no credential form)
   ========================================================= */
.nyk-login { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); min-height: calc(100vh - var(--nyk-hdr-h)); min-height: calc(100dvh - var(--nyk-hdr-h)); background: var(--wp--preset--color--ivory); }
.admin-bar .nyk-login { min-height: calc(100dvh - var(--nyk-hdr-h) - 32px); }
/* Full-screen gateway: no footer, the panel fills the page. */
body.page-template-page-member-login { background: var(--wp--preset--color--ivory); }
.nyk-login-slot { margin-block: 0 !important; }
.nyk-login__visual { position: relative; isolation: isolate; overflow: hidden; display: flex; align-items: flex-end; min-height: 560px; padding: clamp(2rem, 5vw, 4rem); color: #fff; border-radius: 0 0 var(--nyk-curve) 0; }
.nyk-login__img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; }
.nyk-login__visual::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(12,9,8,.18) 0%, rgba(12,9,8,.12) 30%, rgba(12,9,8,.55) 58%, rgba(12,9,8,.88) 100%), linear-gradient(90deg, rgba(12,9,8,.35) 0%, rgba(12,9,8,0) 65%); }
.nyk-login__tagline, .nyk-login__visual .nyk-crumb { text-shadow: 0 1px 18px rgba(0,0,0,.25); }
.nyk-login__visual-inner { max-width: 520px; padding-bottom: 2rem; }
.nyk-login__tagline { margin: 1.25rem 0 0; font-size: clamp(2rem, 3.6vw, 3.1rem); font-weight: 500; letter-spacing: -.032em; line-height: 1.05; max-width: 14ch; }
.nyk-login__points { list-style: none; margin: 1.75rem 0 0; padding: 0; display: grid; gap: .6rem; }
.nyk-login__points li { position: relative; padding-left: 1.7rem; color: rgba(255,255,255,.88); }
.nyk-login__points li::before { content: ""; position: absolute; left: 0; top: .3em; width: 1.05rem; height: 1.05rem; border-radius: 50%; background: rgba(255,255,255,.18) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12 4 4 8-8'/%3E%3C/svg%3E") center / 62% no-repeat; }

.nyk-login__panel { display: flex; align-items: center; padding: clamp(2.5rem, 5vw, 4.5rem) clamp(1.5rem, 5vw, 4.5rem); }
.nyk-login__panel-inner { width: 100%; max-width: 500px; }
.nyk-login__title { margin: 0; color: var(--nyk-ink); font-size: clamp(2.2rem, 4vw, 3.2rem); font-weight: 500; letter-spacing: -.035em; line-height: 1; }
.nyk-login__lede { margin: .75rem 0 0; color: var(--wp--preset--color--muted); font-size: 1.05rem; }

.nyk-channels { list-style: none; margin: 2rem 0 0; padding: 0; display: grid; gap: .75rem; }
.nyk-channel { display: grid; grid-template-columns: auto 1fr; gap: 1rem; padding: 1.2rem 1.25rem; border: 1px solid var(--nyk-rule); border-radius: 12px; background: #fff; transition: border-color .2s ease, box-shadow .2s ease; }
.nyk-channel:not(.is-soon):hover { border-color: var(--nyk-ink); box-shadow: 0 16px 36px -24px rgba(29,26,24,.35); }
.nyk-channel__icon { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 12px; background: var(--wp--preset--color--tint-primary); color: var(--wp--preset--color--primary); }
.nyk-channel.is-soon .nyk-channel__icon { background: #f1eee9; color: var(--wp--preset--color--muted); }
.nyk-channel__body h2 { margin: 0; color: var(--nyk-ink); font-size: 1.1rem; font-weight: 600; letter-spacing: -.01em; }
.nyk-channel__body > p { margin: .25rem 0 0; color: var(--wp--preset--color--muted); font-size: .92rem; line-height: 1.55; }
.nyk-channel__cta { display: inline-flex; align-items: center; gap: .45rem; margin-top: .9rem; padding: .75rem 1.25rem; border-radius: 999px; background: var(--wp--preset--color--primary); color: #fff; text-decoration: none; font-weight: 600; font-size: .92rem; }
.nyk-channel__cta::after { content: "↗"; }
.nyk-channel__cta:hover { background: var(--wp--preset--color--primary-dark); color: #fff; }
.nyk-channel__note { margin: .55rem 0 0; font-size: .8rem; color: var(--wp--preset--color--muted); }
.nyk-channel__note strong { color: var(--nyk-ink); }
.nyk-channel__badge { display: inline-block; margin-top: .75rem; padding: .35rem .75rem; border-radius: 999px; background: #f1eee9; color: var(--wp--preset--color--muted); font: 600 .7rem/1 var(--wp--preset--font-family--body); letter-spacing: .12em; text-transform: uppercase; }
.nyk-channel__stores { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .9rem; }
.nyk-channel__stores a { padding: .6rem 1rem; border-radius: 999px; border: 1px solid var(--nyk-ink); color: var(--nyk-ink); text-decoration: none; font-size: .85rem; font-weight: 600; }
.nyk-channel__stores a:hover { background: var(--nyk-ink); color: #fff; }
.nyk-channel__ussd { display: inline-flex; gap: .4rem; margin-top: .8rem; color: var(--nyk-ink); text-decoration: none; font-size: .95rem; }
.nyk-channel__ussd strong { color: var(--wp--preset--color--primary); font-size: 1.35rem; font-weight: 650; letter-spacing: .02em; line-height: 1; }

.nyk-login__safety { display: flex; gap: .85rem; align-items: flex-start; margin-top: 1.5rem; padding: 1rem 1.1rem; border-left: 3px solid var(--wp--preset--color--secondary); border-radius: 10px; background: #fff; }
.nyk-login__safety-icon { flex: none; color: var(--wp--preset--color--secondary); }
.nyk-login__safety p { margin: 0; font-size: .88rem; line-height: 1.55; color: var(--wp--preset--color--muted); }
.nyk-login__safety strong { color: var(--nyk-ink); }
.nyk-login__help { list-style: none; margin: 1.5rem 0 0; padding: 0; display: grid; gap: .4rem; font-size: .9rem; color: var(--wp--preset--color--muted); }
.nyk-login__help a { color: var(--wp--preset--color--primary); font-weight: 600; text-decoration: none; }
.nyk-login__help a:hover { text-decoration: underline; }

@media (max-width: 900px) {
	.nyk-login { grid-template-columns: 1fr; min-height: 0; }
	.nyk-login__visual { min-height: 320px; }
	.nyk-login__visual-inner { padding-bottom: .5rem; }
	.nyk-login__points { display: none; }
}

/* =========================================================
   Back-to-top button
   ========================================================= */
.nyk-totop {
	position: fixed;
	right: clamp(1rem, 2.5vw, 2rem);
	bottom: clamp(1rem, 2.5vw, 2rem);
	z-index: 90;
	display: grid;
	place-items: center;
	width: 52px;
	height: 52px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--wp--preset--color--primary);
	color: #fff;
	cursor: pointer;
	box-shadow: 0 14px 30px -12px rgba(92,14,36,.55);
	opacity: 0;
	visibility: hidden;
	transform: translateY(12px) scale(.92);
	transition: opacity .3s ease, transform .3s ease, visibility .3s, background .2s ease;
}
.nyk-totop.is-visible { opacity: 1; visibility: visible; transform: none; }
.nyk-totop:hover { background: var(--wp--preset--color--primary-dark); }
.nyk-totop:focus-visible { outline: 2px solid var(--wp--preset--color--accent); outline-offset: 3px; }
.nyk-totop__arrow { position: relative; transition: transform .2s ease; }
.nyk-totop:hover .nyk-totop__arrow { transform: translateY(-2px); }
.nyk-totop__ring { position: absolute; inset: 0; width: 100%; height: 100%; transform: rotate(-90deg); }
.nyk-totop__ring circle { fill: none; stroke: var(--wp--preset--color--accent); stroke-width: 2.5; stroke-linecap: round; stroke-dasharray: 100; stroke-dashoffset: 100; opacity: .95; }
body.nyk-drawer-open .nyk-totop, body.nyk-explore-open .nyk-totop { opacity: 0; visibility: hidden; }
@media (max-width: 600px) { .nyk-totop { width: 46px; height: 46px; } }
@media (prefers-reduced-motion: reduce) { .nyk-totop, .nyk-totop__arrow { transition: none; } }

/* =========================================================
   Logo versions: coloured on light backgrounds, reversed (white lettering) on dark ones.
   ========================================================= */
.nyk-hdr__logo .nyk-logo-img--dark { display: none; }
.nyk-overlay-header .nyk-hdr__logo .nyk-logo-img--light,
.nyk-scrolled .nyk-hdr__logo .nyk-logo-img--light { display: none; }
.nyk-overlay-header .nyk-hdr__logo .nyk-logo-img--dark,
.nyk-scrolled .nyk-hdr__logo .nyk-logo-img--dark { display: block; }
/* The reversed logo sits straight on photos and green — no white chip. */
.nyk-overlay-header .nyk-hdr__logo img,
.nyk-scrolled .nyk-hdr__logo img,
.nyk-scrolled.nyk-overlay-header .nyk-hdr__logo img { background: none; padding: 0; border-radius: 0; }
.nyk-hdr__logo img, .nyk-overlay-header .nyk-hdr__logo img { height: 52px; width: auto; }
.nyk-scrolled .nyk-hdr__logo img, .nyk-scrolled.nyk-overlay-header .nyk-hdr__logo img { height: 44px; }
.nyk-overlay-header .nyk-hdr__logo .nyk-logo-img--dark { filter: drop-shadow(0 1px 8px rgba(0,0,0,.25)); }
.nyk-footer__logo img, .nyk-footer__base .nyk-footer__logo img { background: none; padding: 0; border-radius: 0; height: 46px; }
.nyk-cover__logo img { background: none; padding: 0; box-shadow: none; }
@media (max-width: 600px) {
	.nyk-hdr__logo img, .nyk-overlay-header .nyk-hdr__logo img, .nyk-scrolled .nyk-hdr__logo img { height: 40px; }
}

/* =========================================================
   Loans — product cards, product page, application form
   ========================================================= */
.nyk-lgrid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.nyk-lcard { display: flex; flex-direction: column; margin: 0; border: 1px solid var(--nyk-rule); border-radius: 14px; overflow: hidden; background: #fff; transition: border-color .2s ease, box-shadow .25s ease, transform .25s ease; }
.nyk-lcard:hover { border-color: var(--nyk-ink); box-shadow: 0 24px 48px -32px rgba(29,26,24,.45); transform: translateY(-2px); }
.nyk-lcard__media { position: relative; display: block; aspect-ratio: 16 / 10; overflow: hidden; background: #ece7df; border-radius: 0 0 clamp(40px, 6vw, 64px) 0; }
.nyk-lcard__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s cubic-bezier(.2,.7,.2,1); }
.nyk-lcard:hover .nyk-lcard__media img { transform: scale(1.05); }
.nyk-lcard__ph { display: block; width: 100%; height: 100%; background: linear-gradient(135deg, #5c0e24, #821534 60%, #206832); }
.nyk-lcard__body { position: relative; flex: 1; display: flex; flex-direction: column; gap: .55rem; padding: 2rem 1.4rem 1.4rem; }
.nyk-lcard__icon { position: absolute; top: -26px; left: 1.4rem; display: grid; place-items: center; width: 52px; height: 52px; border-radius: 14px; background: var(--wp--preset--color--primary); color: #fff; box-shadow: 0 12px 24px -12px rgba(92,14,36,.6); }
.nyk-lcard__icon svg { width: 24px; height: 24px; }
.nyk-lcard__title { margin: .35rem 0 0 !important; font-size: 1.25rem !important; font-weight: 600 !important; letter-spacing: -.015em; color: var(--nyk-ink) !important; }
.nyk-lcard__title a { color: inherit; text-decoration: none; }
.nyk-lcard__title a:hover { color: var(--wp--preset--color--primary); }
.nyk-lcard__summary { margin: 0; color: var(--wp--preset--color--muted); font-size: .93rem; line-height: 1.55; }
.nyk-lcard__facts { display: grid; gap: .35rem; margin: .5rem 0 0; padding: .85rem 0 0; border-top: 1px solid var(--nyk-rule); }
.nyk-lcard__facts div { display: flex; justify-content: space-between; gap: 1rem; font-size: .85rem; }
.nyk-lcard__facts dt { color: var(--wp--preset--color--muted); }
.nyk-lcard__facts dd { margin: 0; color: var(--nyk-ink); font-weight: 600; text-align: right; }
.nyk-lcard__actions { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: auto; padding-top: 1rem; }
.nyk-lcard__more { color: var(--nyk-ink); font-weight: 600; font-size: .9rem; text-decoration: none; }
.nyk-lcard__more::after { content: " →"; transition: margin .2s ease; }
.nyk-lcard__more:hover { color: var(--wp--preset--color--primary); }
.nyk-lcard__apply { padding: .55rem 1.1rem; border-radius: 999px; border: 1px solid var(--wp--preset--color--primary); color: var(--wp--preset--color--primary); font-weight: 600; font-size: .85rem; text-decoration: none; transition: all .2s ease; }
.nyk-lcard__apply:hover { background: var(--wp--preset--color--primary); color: #fff; }
.nyk-lgrid__empty { color: var(--wp--preset--color--muted); }

/* Requirement lists */
.nyk-lreqs { list-style: none; margin: 0; padding: 0; display: grid; gap: .7rem; }
.nyk-lreqs li { display: flex; gap: .7rem; align-items: flex-start; margin: 0; line-height: 1.5; color: var(--nyk-ink); }
.nyk-lreqs svg { flex: none; width: 20px; height: 20px; margin-top: .1rem; padding: 3px; border-radius: 50%; background: var(--wp--preset--color--tint-secondary); color: var(--wp--preset--color--secondary); box-sizing: content-box; }
.nyk-lreqs--lead li { font-size: 1.05rem; }
.nyk-lreqs--lead svg { background: var(--wp--preset--color--tint-primary); color: var(--wp--preset--color--primary); }

/* Product page */
.nyk-lhero .nyk-sighero__title { max-width: 14ch; }
.nyk-lfacts { max-width: 1140px; margin: 0 auto; padding: clamp(2rem, 4vw, 3rem) var(--wp--preset--spacing--30) 0; }
.nyk-lfacts__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 1px; margin: 0; background: var(--nyk-rule); border: 1px solid var(--nyk-rule); border-radius: 14px; overflow: hidden; }
.nyk-lfact { padding: 1.25rem 1.4rem; background: #fff; }
.nyk-lfact dt { font: 600 .68rem/1.3 var(--wp--preset--font-family--body); letter-spacing: .16em; text-transform: uppercase; color: var(--wp--preset--color--muted); }
.nyk-lfact dd { margin: .45rem 0 0; color: var(--nyk-ink); font-size: 1.12rem; font-weight: 600; letter-spacing: -.01em; line-height: 1.3; }
.nyk-lfact--max dd { color: var(--wp--preset--color--primary); font-size: 1.3rem; }
.nyk-ldetail { max-width: 1140px; margin: 0 auto; padding: clamp(2.5rem, 5vw, 4rem) var(--wp--preset--spacing--30) clamp(3rem, 6vw, 5rem); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: clamp(2rem, 5vw, 4rem); align-items: start; }
.nyk-ldetail__block + .nyk-ldetail__block { margin-top: 2.5rem; padding-top: 2.5rem; border-top: 1px solid var(--nyk-rule); }
.nyk-ldetail__block h2 { margin: .3rem 0 1.25rem; color: var(--nyk-ink); font-size: clamp(1.5rem, 2.4vw, 1.9rem); font-weight: 500; letter-spacing: -.025em; }
.nyk-ldetail__icon { display: inline-grid; place-items: center; width: 30px; height: 30px; margin-right: .5rem; border-radius: 8px; background: var(--wp--preset--color--tint-primary); color: var(--wp--preset--color--primary); vertical-align: middle; }
.nyk-ldetail__icon svg { width: 17px; height: 17px; }
.nyk-ldetail__form { position: sticky; top: 92px; }
.admin-bar .nyk-ldetail__form { top: 124px; }
.nyk-lmore { background: var(--wp--preset--color--ivory); border-top: 1px solid var(--nyk-rule); padding: clamp(3rem, 6vw, 4.5rem) var(--wp--preset--spacing--30); }
.nyk-lmore__inner { max-width: 1140px; margin: 0 auto; }
.nyk-lmore__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 1rem; margin-bottom: 2rem; }
.nyk-lmore__head h2 { margin: 0; color: var(--nyk-ink); font-size: clamp(1.7rem, 3vw, 2.4rem); font-weight: 400; letter-spacing: -.03em; }
.nyk-lmore__head h2 em { font-style: normal; font-weight: 650; color: var(--wp--preset--color--primary); }
body:has(.nyk-lmore) .nyk-skyline { margin-top: 0; background: var(--wp--preset--color--ivory); }

/* Application form */
.nyk-lapply { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, .85fr); gap: clamp(1.5rem, 4vw, 3rem); align-items: start; scroll-margin-top: 100px; }
.nyk-lapply--solo, .nyk-lapply--compact { grid-template-columns: 1fr; }
.nyk-lapply__panel { padding: clamp(1.5rem, 4vw, 2.5rem); border-radius: 16px; background: var(--wp--preset--color--ivory); }
.nyk-lapply--compact .nyk-lapply__panel { background: #fff; border: 1px solid var(--nyk-rule); box-shadow: 0 30px 60px -45px rgba(29,26,24,.45); }
.nyk-lapply__title { margin: 0; color: var(--nyk-ink) !important; font-size: clamp(1.7rem, 3vw, 2.4rem) !important; font-weight: 400 !important; letter-spacing: -.03em; line-height: 1.08 !important; }
.nyk-lapply__title em { font-style: normal; font-weight: 650; color: var(--wp--preset--color--primary); }
.nyk-lapply--compact .nyk-lapply__title { font-size: 1.6rem !important; }
.nyk-lapply__intro { margin: .7rem 0 0; color: var(--wp--preset--color--muted); line-height: 1.65; }
.nyk-lapply__aside { padding: clamp(1.5rem, 3vw, 2rem); border-left: 3px solid var(--wp--preset--color--secondary); }
.nyk-lapply__aside h3 { margin: .3rem 0 1.25rem; color: var(--nyk-ink); font-size: 1.35rem; font-weight: 600; }
.nyk-lapply__kicker { margin: 0; font: 600 .7rem/1.3 var(--wp--preset--font-family--body); letter-spacing: .16em; text-transform: uppercase; color: var(--wp--preset--color--secondary); }
.nyk-lapply__note { margin: 1.5rem 0 0; font-size: .88rem; color: var(--wp--preset--color--muted); }
.nyk-lf { margin-top: 1.5rem; display: grid; gap: 1.25rem; }
.nyk-lf__group { margin: 0; padding: 0; border: 0; display: grid; gap: 1rem; min-width: 0; }
.nyk-lf__group legend { padding: 0 0 .25rem; font: 600 .7rem/1.3 var(--wp--preset--font-family--body); letter-spacing: .16em; text-transform: uppercase; color: var(--wp--preset--color--primary); }
.nyk-lf__row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.nyk-lf__field { margin: 0; display: flex; flex-direction: column; gap: .4rem; min-width: 0; }
.nyk-lf__field > label, .nyk-lf__label { font-size: .85rem; font-weight: 600; color: var(--nyk-ink); }
.nyk-lf__field label em { font-style: normal; font-weight: 400; color: var(--wp--preset--color--muted); }
.nyk-lf__field label span, .nyk-lf__label span { color: var(--wp--preset--color--primary); }
.nyk-lf__field label small { display: block; font-weight: 400; color: var(--wp--preset--color--muted); }
.nyk-lf input[type="text"], .nyk-lf input[type="tel"], .nyk-lf input[type="email"], .nyk-lf select, .nyk-lf textarea {
	width: 100%; box-sizing: border-box; padding: .8rem .95rem; border: 1px solid var(--nyk-rule); border-radius: 10px; background: #fff;
	font: inherit; font-size: 1rem; color: var(--nyk-ink); transition: border-color .15s ease, box-shadow .15s ease;
}
.nyk-lf select { appearance: none; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235f5a55' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right .85rem center / 16px no-repeat; padding-right: 2.5rem; }
.nyk-lf textarea { resize: vertical; min-height: 96px; }
.nyk-lf input:focus, .nyk-lf select:focus, .nyk-lf textarea:focus { outline: none; border-color: var(--wp--preset--color--primary); box-shadow: 0 0 0 3px rgba(130,21,52,.14); }
.nyk-lf [aria-invalid="true"] { border-color: #b3261e; }
.nyk-lf__err { font-size: .82rem; color: #b3261e; }
.nyk-lf__err:empty { display: none; }
.nyk-lf__radio { flex-direction: row; flex-wrap: wrap; align-items: center; gap: .5rem 1.1rem; }
.nyk-lf__radio .nyk-lf__label { flex-basis: 100%; }
.nyk-lf__radio label { display: inline-flex; align-items: center; gap: .45rem; font-size: .95rem; font-weight: 500; }
.nyk-lf__radio input, .nyk-lf__check input { width: 18px; height: 18px; accent-color: var(--wp--preset--color--primary); }
.nyk-lf__radio .nyk-lf__err { flex-basis: 100%; }
.nyk-lf__check label { display: flex; gap: .6rem; align-items: flex-start; font-weight: 400; font-size: .9rem; color: var(--wp--preset--color--muted); }
.nyk-lf__check input { margin-top: .15rem; flex: none; }
.nyk-lf__hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.nyk-lf__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; }
.nyk-lf__submit { padding: 1rem 2rem; border: 0; border-radius: 999px; background: var(--wp--preset--color--primary); color: #fff; font: 600 .95rem/1 var(--wp--preset--font-family--body); cursor: pointer; transition: background .2s ease; }
.nyk-lf__submit:hover { background: var(--wp--preset--color--primary-dark); }
.nyk-lf__submit:focus-visible { outline: 2px solid var(--wp--preset--color--accent); outline-offset: 3px; }
.nyk-lf__submit.is-busy { opacity: .7; cursor: progress; }
.nyk-lf__safe { margin: 0; display: flex; align-items: center; gap: .45rem; font-size: .82rem; color: var(--wp--preset--color--muted); }
.nyk-lf__safe svg { width: 16px; height: 16px; flex: none; color: var(--wp--preset--color--secondary); }
.nyk-lf__status { margin-top: 1.25rem; padding: .95rem 1.1rem; border-radius: 10px; font-size: .95rem; line-height: 1.5; }
.nyk-lf__status.is-ok { background: var(--wp--preset--color--tint-secondary); color: #154a23; border-left: 3px solid var(--wp--preset--color--secondary); }
.nyk-lf__status.is-error { background: #fdecea; color: #8a1c14; border-left: 3px solid #b3261e; }

@media (max-width: 1024px) {
	.nyk-lgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.nyk-ldetail { grid-template-columns: 1fr; }
	.nyk-ldetail__form { position: static; }
}
@media (max-width: 781px) {
	.nyk-lapply { grid-template-columns: 1fr; }
	.nyk-lapply__aside { border-left: 0; border-top: 3px solid var(--wp--preset--color--secondary); padding: 1.5rem 0 0; }
	.nyk-lf__row { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
	.nyk-lgrid { grid-template-columns: 1fr; }
}
.nyk-lcard__facts dt { flex: none; white-space: nowrap; }

/* =========================================================
   Accounts (reuse the loan card/page/form styles)
   ========================================================= */
.nyk-agrid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.nyk-acard__price { margin: .25rem 0 0; padding: .75rem 0 .1rem; border-top: 1px solid var(--nyk-rule); color: var(--wp--preset--color--primary); font-size: 1.15rem; font-weight: 650; letter-spacing: -.01em; }
.nyk-acard__price span { display: block; margin-bottom: .15rem; font: 600 .66rem/1.3 var(--wp--preset--font-family--body); letter-spacing: .16em; text-transform: uppercase; color: var(--wp--preset--color--muted); }
.nyk-lreqs--compact { gap: .4rem; margin-top: .35rem; }
.nyk-lreqs--compact li { font-size: .88rem; }
.nyk-lreqs--compact svg { width: 14px; height: 14px; padding: 2px; }
.nyk-asteps { list-style: none; counter-reset: nyk-step; margin: 0; padding: 0; display: grid; gap: 1.1rem; }
.nyk-asteps li { counter-increment: nyk-step; display: grid; grid-template-columns: 40px 1fr; column-gap: .9rem; margin: 0; }
.nyk-asteps li::before { content: counter(nyk-step); grid-row: span 2; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--wp--preset--color--primary); color: #fff; font-weight: 650; }
.nyk-asteps strong { color: var(--nyk-ink); font-weight: 600; }
.nyk-asteps span { color: var(--wp--preset--color--muted); font-size: .92rem; line-height: 1.5; }
@media (max-width: 1100px) { .nyk-agrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .nyk-agrid { grid-template-columns: 1fr; } }

/* =========================================================
   Opportunities (careers & tenders)
   ========================================================= */
.nyk-opps__tabs { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1.5rem; }
.nyk-opps__tabs button { display: inline-flex; align-items: center; gap: .5rem; padding: .55rem 1.05rem; border: 1px solid var(--nyk-rule); border-radius: 999px; background: #fff; color: var(--nyk-ink); font: 500 .88rem/1 var(--wp--preset--font-family--body); cursor: pointer; }
.nyk-opps__tabs button span { font-size: .75rem; color: var(--wp--preset--color--muted); }
.nyk-opps__tabs button.is-active { background: var(--nyk-ink); border-color: var(--nyk-ink); color: #fff; }
.nyk-opps__tabs button.is-active span { color: rgba(255,255,255,.65); }
.nyk-opps__list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--nyk-ink); }
.nyk-opp { margin: 0; border-bottom: 1px solid var(--nyk-rule); }
.nyk-opp[hidden] { display: none; }
.nyk-opp__link { display: grid; grid-template-columns: 9.5rem minmax(0, 1fr) auto; gap: 1.5rem; align-items: center; padding: 1.5rem .5rem; color: var(--nyk-ink); text-decoration: none; transition: background .2s ease; }
.nyk-opp__link:hover { background: var(--wp--preset--color--ivory); }
.nyk-opp__badges { display: flex; flex-wrap: wrap; gap: .4rem; margin: 0; }
.nyk-opp__type, .nyk-opp__status { display: inline-block; padding: .3rem .65rem; border-radius: 999px; font: 600 .66rem/1.2 var(--wp--preset--font-family--body); letter-spacing: .12em; text-transform: uppercase; }
.nyk-opp__type { background: var(--wp--preset--color--tint-primary); color: var(--wp--preset--color--primary); }
.nyk-opp__type--tender { background: #fbf1dc; color: #8a5a00; }
.nyk-opp__type--internship { background: var(--wp--preset--color--tint-secondary); color: var(--wp--preset--color--secondary); }
.nyk-opp__status { background: #f1eee9; color: var(--wp--preset--color--muted); }
.nyk-opp__status.is-open { background: var(--wp--preset--color--tint-secondary); color: var(--wp--preset--color--secondary); }
.nyk-opp__main { display: flex; flex-direction: column; gap: .3rem; min-width: 0; }
.nyk-opp__title { font-size: 1.2rem; font-weight: 600; letter-spacing: -.01em; }
.nyk-opp__link:hover .nyk-opp__title { color: var(--wp--preset--color--primary); }
.nyk-opp__meta { font-size: .88rem; color: var(--wp--preset--color--muted); }
.nyk-opp__summary { font-size: .92rem; color: var(--wp--preset--color--muted); }
.nyk-opp__side { display: flex; align-items: center; gap: 1rem; white-space: nowrap; }
.nyk-opp__date { font-size: .85rem; color: var(--wp--preset--color--muted); }
.nyk-opp__arrow { font-size: 1.2rem; color: var(--wp--preset--color--primary); transition: transform .2s ease; }
.nyk-opp__link:hover .nyk-opp__arrow { transform: translateX(4px); }
.nyk-opp.is-closed .nyk-opp__title, .nyk-opp.is-closed .nyk-opp__meta { color: var(--wp--preset--color--muted); }
.nyk-opps__empty { padding: 1.5rem; border: 1px dashed var(--nyk-rule); border-radius: 12px; color: var(--wp--preset--color--muted); text-align: center; }
.nyk-opphead__badges { margin-top: 1.5rem !important; }
.nyk-opphead__title { margin-top: .9rem !important; max-width: 20ch; font-size: clamp(2.2rem, 4.6vw, 3.6rem) !important; }
.nyk-opphead__intro { margin-top: 1rem !important; }
.nyk-oppbody { max-width: 1140px; margin: 0 auto; padding: clamp(2.5rem, 5vw, 4rem) var(--wp--preset--spacing--30) clamp(3rem, 6vw, 5rem); display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 4rem); align-items: start; }
.nyk-oppbody__main > :first-child { margin-top: 0; }
.nyk-oppbody__main.nyk-prose > p:first-of-type { font-size: inherit; color: inherit; }
.nyk-oppbody__aside { position: sticky; top: 92px; }
.admin-bar .nyk-oppbody__aside { top: 124px; }
.nyk-oppcard { padding: clamp(1.5rem, 3vw, 2rem); border: 1px solid var(--nyk-rule); border-radius: 16px; background: #fff; box-shadow: 0 30px 60px -45px rgba(29,26,24,.4); }
.nyk-oppcard__facts { margin: 0; display: grid; }
.nyk-oppcard__facts div { display: flex; justify-content: space-between; gap: 1rem; padding: .7rem 0; border-bottom: 1px solid var(--nyk-rule); font-size: .92rem; }
.nyk-oppcard__facts dt { color: var(--wp--preset--color--muted); }
.nyk-oppcard__facts dd { margin: 0; color: var(--nyk-ink); font-weight: 600; text-align: right; }
.nyk-oppcard__facts dd.is-open { color: var(--wp--preset--color--secondary); }
.nyk-oppcard__title { margin: 1.5rem 0 .9rem; color: var(--nyk-ink); font-size: 1.2rem; font-weight: 600; }
.nyk-oppcard__steps { margin: 0 0 1.5rem; padding-left: 1.2rem; display: grid; gap: .6rem; color: var(--nyk-ink); line-height: 1.55; font-size: .94rem; }
.nyk-oppcard__steps li::marker { color: var(--wp--preset--color--primary); font-weight: 700; }
.nyk-oppcard__closed { margin: 0 0 1.5rem; color: var(--wp--preset--color--muted); }
@media (max-width: 900px) {
	.nyk-oppbody { grid-template-columns: 1fr; }
	.nyk-oppbody__aside { position: static; }
	.nyk-opp__link { grid-template-columns: 1fr; gap: .6rem; }
	.nyk-opp__side { justify-content: space-between; }
}
