/* NetKennel 5 shared public theme layer */

html { scroll-behavior: smooth; }

body.nk-theme {
	margin: 0;
	--nk-ui-primary: var(--nk-primary);
	--nk-ui-secondary: var(--nk-secondary);
	--nk-ui-surface: var(--nk-surface);
	--nk-ui-text: var(--nk-text);
	--nk-ui-muted: var(--nk-muted);
	--nk-ui-border: color-mix(in srgb,var(--nk-text),transparent 84%);
	--nk-ui-radius: var(--nk-radius);
	--nk-ui-focus: 0 0 0 4px color-mix(in srgb,var(--nk-primary),transparent 82%);
	background: var(--nk-background);
	color: var(--nk-text);
	font-family: var(--nk-body-font);
	font-size: 16px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

/* Public hunt availability and booking */
.nk-public-hunts-intro { max-width: 760px; margin-bottom: clamp(28px,5vw,58px); }
.nk-public-hunts-intro h2, .nk-public-rate-section h2, .nk-public-booking h2 { margin: 5px 0 12px; font-family: var(--nk-heading-font); }
.nk-public-hunt-grid { display: grid; gap: 18px; }
.nk-public-hunt-card { display: grid; grid-template-columns: 92px minmax(0,1fr); gap: 22px; padding: clamp(20px,3vw,30px); border: 1px solid color-mix(in srgb,var(--nk-primary) 16%,transparent); border-radius: var(--nk-radius); background: var(--nk-surface); box-shadow: 0 16px 40px rgba(20,35,26,.07); }
.nk-public-hunt-date { align-self: start; padding: 12px 8px; border-radius: calc(var(--nk-radius) * .75); background: var(--nk-primary); color: #fff; text-align: center; }
.nk-public-hunt-date strong, .nk-public-hunt-date span, .nk-public-hunt-date small { display: block; }
.nk-public-hunt-date strong { font-size: .7rem; letter-spacing: .13em; text-transform: uppercase; }
.nk-public-hunt-date span { font: 700 2rem/1 var(--nk-heading-font); }
.nk-public-hunt-card h3 { margin: 4px 0 8px; font-family: var(--nk-heading-font); font-size: clamp(1.25rem,2.6vw,1.75rem); }
.nk-public-hunt-card dl { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin: 18px 0; }
.nk-public-hunt-card dl div { min-width: 0; }
.nk-public-hunt-card dt { color: var(--nk-muted); font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.nk-public-hunt-card dd { margin: 3px 0 0; overflow-wrap: anywhere; }
.nk-public-rate-section { margin-top: clamp(46px,7vw,84px); }
.nk-public-rate-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(210px,1fr)); gap: 14px; }
.nk-public-rate-grid article { padding: 20px; border-top: 4px solid var(--nk-accent); border-radius: var(--nk-radius); background: var(--nk-surface); box-shadow: 0 12px 32px rgba(20,35,26,.06); }
.nk-public-rate-grid article > span, .nk-public-rate-grid small { display: block; color: var(--nk-muted); font-size: .7rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.nk-public-rate-grid h3 { margin: 7px 0; font-size: 1rem; }
.nk-public-rate-grid strong { display: block; color: var(--nk-primary); font: 700 1.65rem/1.1 var(--nk-heading-font); }
.nk-public-booking { display: grid; grid-template-columns: minmax(240px,.7fr) minmax(320px,1.3fr); gap: clamp(28px,6vw,72px); margin-top: clamp(46px,7vw,84px); padding: clamp(24px,5vw,52px); border-radius: var(--nk-radius); background: color-mix(in srgb,var(--nk-primary) 7%,var(--nk-surface)); }
.nk-public-booking form, .nk-public-booking label { display: grid; gap: 7px; }
.nk-public-booking form { gap: 16px; }
.nk-public-booking input, .nk-public-booking textarea { width: 100%; padding: 12px 13px; border: 1px solid color-mix(in srgb,var(--nk-primary) 22%,transparent); border-radius: 8px; background: var(--nk-surface); color: var(--nk-text); font: inherit; }
.nk-public-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.nk-public-check { display: flex !important; grid-template-columns: none; align-items: flex-start; }
.nk-public-check input { width: 20px; flex: 0 0 20px; margin-top: 2px; }
.nk-public-form-note { color: var(--nk-muted); font-size: .82rem; }
.nk-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.nk-public-booking-success, .nk-public-hunt-empty { margin: 20px 0 34px; padding: 24px; border-radius: var(--nk-radius); background: color-mix(in srgb,var(--nk-accent) 14%,var(--nk-surface)); }
.nk-public-booking-success h3, .nk-public-hunt-empty h3 { margin-top: 0; }
@media (max-width: 760px) { .nk-public-hunt-card { grid-template-columns: 70px minmax(0,1fr); gap: 14px; } .nk-public-hunt-card dl { grid-template-columns: repeat(2,minmax(0,1fr)); } .nk-public-booking { grid-template-columns: 1fr; } }
@media (max-width: 480px) { .nk-public-hunt-card { grid-template-columns: 1fr; } .nk-public-hunt-date { width: 72px; } .nk-public-form-grid, .nk-public-hunt-card dl { grid-template-columns: 1fr; } }

/* Public event calendar mirrors the Hunt Calendar interaction and layout. */
.nk-public-calendar-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 20px; }
.nk-public-calendar-heading h2 { margin: 4px 0 7px; }
.nk-public-calendar-heading p:last-child { margin-bottom: 0; color: var(--nk-muted); }
.nk-page-events .nk-calendar-nav { margin-bottom: 14px; display: flex; justify-content: space-between; gap: 10px; }
.nk-page-events .nk-calendar-nav a { padding: 9px 13px; border: 1px solid color-mix(in srgb,var(--nk-text) 16%,transparent); border-radius: calc(var(--nk-radius) * .7); background: var(--nk-surface); color: var(--nk-primary); font-size: .78rem; font-weight: 700; text-decoration: none; }
.nk-page-events .nk-hunt-calendar { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); border-top: 1px solid color-mix(in srgb,var(--nk-text) 16%,transparent); border-left: 1px solid color-mix(in srgb,var(--nk-text) 16%,transparent); background: var(--nk-surface); box-shadow: 0 16px 42px rgba(20,35,26,.07); }
.nk-page-events .nk-calendar-weekday { padding: 10px; border-right: 1px solid color-mix(in srgb,var(--nk-text) 16%,transparent); border-bottom: 1px solid color-mix(in srgb,var(--nk-text) 16%,transparent); background: color-mix(in srgb,var(--nk-primary) 8%,var(--nk-surface)); color: var(--nk-muted); font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-align: center; text-transform: uppercase; }
.nk-page-events .nk-calendar-day { min-width: 0; min-height: 132px; padding: 8px; border-right: 1px solid color-mix(in srgb,var(--nk-text) 16%,transparent); border-bottom: 1px solid color-mix(in srgb,var(--nk-text) 16%,transparent); }
.nk-page-events .nk-calendar-empty { background: color-mix(in srgb,var(--nk-background) 78%,var(--nk-surface)); }
.nk-page-events .nk-calendar-number { width: 28px; height: 28px; margin-bottom: 5px; display: grid; place-items: center; border-radius: 50%; font-size: .75rem; font-weight: 800; }
.nk-page-events .nk-calendar-today .nk-calendar-number { background: var(--nk-primary); color: #fff; }
.nk-page-events .nk-calendar-event { margin-top: 5px; padding: 7px; display: block; border-left: 3px solid var(--nk-secondary); border-radius: 5px; background: color-mix(in srgb,var(--nk-secondary) 11%,var(--nk-surface)); color: var(--nk-text); font-size: .68rem; line-height: 1.25; text-decoration: none; overflow: hidden; }
.nk-page-events .nk-calendar-event:hover { background: color-mix(in srgb,var(--nk-secondary) 18%,var(--nk-surface)); color: var(--nk-text); }
.nk-page-events .nk-calendar-event b, .nk-page-events .nk-calendar-event span, .nk-page-events .nk-calendar-event small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nk-page-events .nk-calendar-event b { font-size: .58rem; letter-spacing: .03em; text-transform: uppercase; }
.nk-page-events .nk-calendar-event small { color: var(--nk-muted); }
.nk-page-events .nk-calendar-agenda { display: none; }
.nk-public-event-list { margin-top: clamp(38px,6vw,72px); }
.nk-public-event-list article { display: grid; grid-template-columns: 64px minmax(0,1fr) auto; align-items: center; gap: 18px; padding: 18px 0; border-top: 1px solid color-mix(in srgb,var(--nk-text) 15%,transparent); }
.nk-public-event-list article > time { width: 60px; min-height: 62px; display: grid; place-content: center; border-radius: calc(var(--nk-radius) * .65); background: var(--nk-primary); color: #fff; text-align: center; }
.nk-public-event-list article > time strong, .nk-public-event-list article > time span { display: block; }
.nk-public-event-list article > time strong { font-size: .63rem; letter-spacing: .1em; text-transform: uppercase; }
.nk-public-event-list article > time span { font: 700 1.55rem/1 var(--nk-heading-font); }
.nk-public-event-list h3, .nk-public-event-list p { margin: 0; }
.nk-public-event-list h3 { font-size: 1.2rem; }
.nk-public-calendar-empty { padding: 24px; display: grid; gap: 3px; border: 1px solid color-mix(in srgb,var(--nk-text) 15%,transparent); border-radius: var(--nk-radius); background: var(--nk-surface); }
.nk-public-calendar-empty span { color: var(--nk-muted); }
@media (max-width: 760px) {
	.nk-page-events .nk-hunt-calendar { display: none; }
	.nk-page-events .nk-calendar-agenda { display: grid; gap: 8px; }
	.nk-page-events .nk-calendar-agenda h3 { margin-top: 12px; }
	.nk-page-events .nk-calendar-agenda > a { padding: 13px; display: grid; grid-template-columns: 125px minmax(0,1fr); gap: 12px; border: 1px solid color-mix(in srgb,var(--nk-text) 15%,transparent); border-radius: calc(var(--nk-radius) * .7); background: var(--nk-surface); color: var(--nk-text); text-decoration: none; }
	.nk-page-events .nk-calendar-agenda time { color: var(--nk-muted); font-size: .72rem; font-weight: 700; }
	.nk-page-events .nk-calendar-agenda strong, .nk-page-events .nk-calendar-agenda small { display: block; }
	.nk-page-events .nk-calendar-agenda small { color: var(--nk-muted); }
}
@media (max-width: 520px) {
	.nk-page-events .nk-calendar-agenda > a { grid-template-columns: 1fr; gap: 4px; }
	.nk-public-event-list article { grid-template-columns: 58px minmax(0,1fr); }
	.nk-public-event-list article > .nk-button { grid-column: 1/-1; justify-self: start; }
}

.nk-theme *, .nk-theme *::before, .nk-theme *::after { box-sizing: border-box; }
.nk-theme img { max-width: 100%; height: auto; }
.nk-theme a { color: var(--nk-secondary); text-underline-offset: 3px; }
.nk-theme a:hover { color: var(--nk-primary); }
.nk-theme h1, .nk-theme h2, .nk-theme h3, .nk-theme h4, .nk-theme h5, .nk-theme h6 {
	color: var(--nk-text);
	font-family: var(--nk-heading-font);
	font-weight: 600;
	line-height: 1.12;
}
.nk-theme h1 { margin: 0 0 1.3rem; font-size: clamp(2.25rem, 5vw, 4.75rem); }
.nk-theme h2 { margin: 2rem 0 1rem; font-size: clamp(1.75rem, 3vw, 3rem); }
.nk-theme h3 { font-size: clamp(1.35rem, 2vw, 2rem); }
.nk-theme p { margin: 0 0 1.25rem; }
.nk-theme hr { margin: 2rem 0; border-color: color-mix(in srgb, var(--nk-text), transparent 82%); opacity: 1; }

.nk-skip-link {
	position: fixed;
	top: 10px;
	left: 10px;
	z-index: 9999;
	padding: 12px 16px;
	background: var(--nk-surface);
	color: var(--nk-text);
	transform: translateY(-150%);
}
.nk-skip-link:focus { transform: translateY(0); }

.nk-site-header {
	position: relative;
	z-index: 100;
	background: var(--nk-surface);
	box-shadow: 0 1px 0 color-mix(in srgb, var(--nk-text), transparent 88%);
}

.nk-topline {
	min-height: 34px;
	padding: 8px max(20px, calc((100% - var(--nk-page-width)) / 2));
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	background: var(--nk-primary);
	color: color-mix(in srgb, var(--nk-surface), transparent 8%);
	font-size: .69rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
}
.nk-topline a { color:inherit; text-decoration:none; }
.nk-topline a:hover, .nk-topline a:focus-visible { color:inherit; text-decoration:underline; text-underline-offset:3px; }

.nk-navigation {
	width: min(calc(100% - 40px), var(--nk-page-width));
	min-height: 82px;
	margin: auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 28px;
}

.nk-brand {
	display: flex;
	align-items: center;
	gap: 13px;
	color: var(--nk-text) !important;
	font-family: var(--nk-heading-font);
	font-size: clamp(1.2rem, 2vw, 1.7rem);
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
}
.nk-brand img { width: 52px; height: 52px; object-fit: contain; }

.nk-nav-links {
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	gap: clamp(14px, 2.2vw, 34px);
	list-style: none;
}
.nk-nav-links a,
.nk-nav-submenu-toggle {
	color: var(--nk-text);
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .035em;
	text-decoration: none;
}
.nk-nav-links a:hover, .nk-nav-links a:focus-visible,
.nk-nav-submenu-toggle:hover, .nk-nav-submenu-toggle:focus-visible { color: var(--nk-secondary); }

.nk-nav-dog-menu { position: relative; }
.nk-nav-links .nk-nav-submenu-toggle {
	margin: 0;
	padding: 8px 0;
	display: inline-flex;
	align-items: center;
	gap: .45em;
	border: 0;
	border-radius: 0;
	appearance: none;
	background: transparent;
	color: inherit;
	font: inherit;
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .035em;
	line-height: inherit;
	text-align: inherit;
	cursor: pointer;
}
.nk-nav-submenu-toggle i { width: 0; height: 0; border-top: .32em solid; border-right: .28em solid transparent; border-left: .28em solid transparent; transition: transform .18s ease; }
.nk-nav-submenu-toggle[aria-expanded="true"] i { transform: rotate(180deg); }
.nk-nav-submenu {
	position: absolute;
	top: calc(100% + 14px);
	right: 0;
	z-index: 20;
	min-width: 240px;
	max-height: min(70vh, 560px);
	margin: 0;
	padding: 10px;
	display: block;
	overflow-y: auto;
	border: 1px solid color-mix(in srgb, var(--nk-text), transparent 82%);
	border-radius: var(--nk-radius);
	background: var(--nk-surface);
	box-shadow: 0 18px 44px rgba(0,0,0,.16);
	list-style: none;
}
.nk-nav-submenu[hidden] { display: none !important; }
.nk-nav-links .nk-nav-submenu a { padding: 9px 10px; display: block; border-radius: calc(var(--nk-radius) * .6); color: var(--nk-text) !important; font-size: .86rem; letter-spacing: 0; }
.nk-nav-links .nk-nav-submenu a:hover, .nk-nav-links .nk-nav-submenu a:focus-visible { background: color-mix(in srgb, var(--nk-primary), transparent 90%); color: var(--nk-secondary) !important; }
.nk-theme .nk-nav-links .nk-nav-submenu a { color: var(--nk-text) !important; }
.nk-theme .nk-nav-links .nk-nav-submenu a:hover, .nk-theme .nk-nav-links .nk-nav-submenu a:focus-visible { background: color-mix(in srgb, var(--nk-primary), transparent 88%); color: var(--nk-text) !important; }
.nk-nav-submenu-heading { padding: 10px 10px 5px; color: var(--nk-muted); font-size: .68rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }

.nk-menu-button {
	display: none;
	width: 48px;
	height: 48px;
	padding: 10px;
	border: 1px solid color-mix(in srgb, var(--nk-text), transparent 78%);
	border-radius: var(--nk-radius);
	background: transparent;
	color: var(--nk-text);
}
.nk-menu-button span { display: block; width: 22px; height: 2px; margin: 4px auto; background: currentColor; }
.nk-menu-button b { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }

.nk-hero {
	position: relative;
	display: flex;
	align-items: flex-end;
	background-color: var(--nk-primary);
	background-image: linear-gradient(110deg, var(--nk-primary), color-mix(in srgb, var(--nk-primary), #000 35%));
	background-position: center;
	background-size: cover;
	color: #fff;
}
.nk-hero-home { min-height: clamp(500px, 67vh, 760px); }
.nk-hero-inner { min-height: clamp(260px, 34vh, 390px); }
.nk-hero-content {
	width: min(calc(100% - 40px), var(--nk-page-width));
	margin: 0 auto;
	padding: clamp(58px, 8vw, 110px) 0;
}
.nk-hero h1 { max-width: 850px; margin: 0; color: #fff; text-wrap: balance; }
.nk-hero-home h1 { font-size: clamp(3.2rem, 8vw, 7.4rem); letter-spacing: -.045em; }
.nk-hero-summary { max-width: 650px; margin: 20px 0 0; color: rgba(255,255,255,.86); font-family: var(--nk-heading-font); font-size: clamp(1.15rem, 2vw, 1.55rem); line-height: 1.5; }
.nk-eyebrow { margin: 0 0 14px; color: var(--nk-accent); font-size: .69rem; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.nk-hero-actions { margin-top: 30px; display: flex; flex-wrap: wrap; gap: 12px; }

.nk-button, .nk-theme .btn {
	min-height: 46px;
	padding: 12px 20px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid transparent;
	border-radius: var(--nk-radius);
	font-size: .73rem;
	font-weight: 800;
	letter-spacing: .07em;
	line-height: 1.2;
	text-decoration: none;
	text-transform: uppercase;
	transition: transform .18s ease, background-color .18s ease, color .18s ease;
}
.nk-button:hover, .nk-theme .btn:hover { transform: translateY(-1px); }
.nk-button-primary, .nk-theme .btn-primary { background: var(--nk-accent); color: color-mix(in srgb, var(--nk-primary), #000 25%); }
.nk-button-primary:hover, .nk-theme .btn-primary:hover { background: color-mix(in srgb, var(--nk-accent), #fff 16%); color: var(--nk-primary); }
.nk-button-outline { border-color: color-mix(in srgb, var(--nk-secondary), transparent 22%); color: var(--nk-secondary); }
.nk-button-outline:hover { border-color: var(--nk-secondary); background: var(--nk-secondary); color: #fff; }
.nk-button-secondary { border-color: rgba(255,255,255,.55); color: #fff; }
.nk-button-secondary:hover { border-color: #fff; background: #fff; color: var(--nk-primary); }

.nk-page-shell {
	width: min(calc(100% - 40px), var(--nk-page-width));
	margin: 0 auto;
	padding: clamp(46px, 7vw, 96px) 0;
}
.nk-page-shell.nk-has-sidebar { display: grid; grid-template-columns: minmax(210px, 270px) minmax(0, 1fr); gap: clamp(28px, 5vw, 72px); }
.nk-content { min-width: 0; outline: 0; }
.nk-content > :first-child { margin-top: 0; }
.nk-content > h1:first-child, .nk-content > div > h1:first-child { margin-top: 0; }
.nk-page-index .nk-content > h1:first-of-type { font-size: clamp(2.4rem, 5vw, 4.5rem); }

.nk-sidebar {
	padding: 24px;
	align-self: start;
	border-radius: var(--nk-radius);
	background: var(--nk-surface);
	box-shadow: 0 14px 50px color-mix(in srgb, var(--nk-primary), transparent 91%);
}
.nk-sidebar .navbar-nav { padding: 0 !important; }
.nk-sidebar .nav-link { padding: 8px 0; color: var(--nk-text); }

/* Existing Version 4 content becomes responsive without controller changes. */
.nk-content table { width: 100% !important; max-width: 100%; border-color: color-mix(in srgb, var(--nk-text), transparent 85%); }
.nk-content .table { --bs-table-bg: var(--nk-surface); --bs-table-color: var(--nk-text); --bs-table-striped-bg: color-mix(in srgb, var(--nk-primary), transparent 94%); }
.nk-content th { color: var(--nk-text); font-size: .78rem; letter-spacing: .045em; text-transform: uppercase; }
.nk-content td, .nk-content th { padding: 13px 12px; vertical-align: middle; }
.nk-content .row { row-gap: 20px; }
.nk-content .card {
	height: 100%;
	border: 0;
	border-radius: var(--nk-radius);
	background: var(--nk-surface);
	color: var(--nk-text);
	overflow: hidden;
	box-shadow: 0 14px 50px color-mix(in srgb, var(--nk-primary), transparent 90%);
}
.nk-content .card-body { padding: clamp(18px, 3vw, 28px); }
.nk-content .card-title { color: var(--nk-text); font-family: var(--nk-heading-font); }
.nk-content .card-img-top { aspect-ratio: 4 / 3; object-fit: cover; }
.nk-lightbox-link:has(.card-img-top) { display: block; cursor: zoom-in; overflow: hidden; }
.nk-lightbox-link .card-img-top { transition: transform .22s ease, filter .22s ease; }
.nk-lightbox-link:hover .card-img-top, .nk-lightbox-link:focus-visible .card-img-top { transform: scale(1.015); filter: brightness(.94); }
.nk-content .gallery .row { align-items: stretch; }
.nk-content .gallery .row > .col { display: flex; }
.nk-content .gallery .row > .col > .card { width: 100%; }
.nk-content .gallery .card-body { display: flex; flex-direction: column; }
.nk-content .gallery .card-body .card-text:last-child { margin-top: auto; }

html.nk-lightbox-open { overflow: hidden; }
.nk-lightbox-dialog {
	width: min(94vw, 1440px);
	max-width: none;
	height: min(92vh, 1000px);
	max-height: none;
	padding: 0;
	border: 0;
	border-radius: min(var(--nk-radius), 18px);
	background: #111713;
	color: #fff;
	overflow: hidden;
	box-shadow: 0 32px 100px rgba(0,0,0,.55);
}
.nk-lightbox-dialog[open] { display: flex; flex-direction: column; }
.nk-lightbox-dialog::backdrop { background: rgba(5,10,7,.86); backdrop-filter: blur(8px); }
.nk-lightbox-stage { min-height: 0; flex: 1; display: grid; place-items: center; background: #0a0e0b; overflow: hidden; }
.nk-lightbox-stage img { max-width: 100%; max-height: 100%; display: block; object-fit: contain; }
.nk-lightbox-caption { min-height: 82px; padding: 16px 74px 18px; background: #111713; text-align: center; }
.nk-lightbox-caption h2 { margin: 0; color: #fff; font-family: var(--nk-heading-font); font-size: clamp(1.1rem, 2vw, 1.55rem); }
.nk-lightbox-caption p { margin: 5px auto 0; max-width: 72ch; color: rgba(255,255,255,.7); font-size: .88rem; line-height: 1.45; }
.nk-lightbox-close, .nk-lightbox-previous, .nk-lightbox-next {
	position: absolute;
	z-index: 2;
	width: 46px;
	height: 46px;
	display: grid;
	place-items: center;
	border: 1px solid rgba(255,255,255,.28);
	border-radius: 50%;
	background: rgba(10,14,11,.72);
	color: #fff;
	font: inherit;
	font-size: 1.45rem;
	line-height: 1;
	cursor: pointer;
	backdrop-filter: blur(6px);
}
.nk-lightbox-close:hover, .nk-lightbox-close:focus-visible, .nk-lightbox-previous:hover, .nk-lightbox-previous:focus-visible, .nk-lightbox-next:hover, .nk-lightbox-next:focus-visible { border-color: #fff; background: var(--nk-secondary); }
.nk-lightbox-close { top: 16px; right: 16px; }
.nk-lightbox-previous, .nk-lightbox-next { top: 50%; transform: translateY(-50%); }
.nk-lightbox-previous { left: 16px; }
.nk-lightbox-next { right: 16px; }
.nk-lightbox-counter { position: absolute; left: 18px; bottom: 18px; margin: 0; color: rgba(255,255,255,.72); font-size: .72rem; font-weight: 800; letter-spacing: .06em; }
.nk-content .page_photo, .nk-content .kennel_photo, .nk-content .litter_photo {
	max-width: 100% !important;
	height: auto !important;
	border: 0 !important;
	border-radius: var(--nk-radius);
	box-shadow: 0 14px 50px color-mix(in srgb, var(--nk-primary), transparent 88%);
}
.nk-content #pictureContainer, .nk-content #pictureContainer2 { max-width: 100%; }
.nk-content .status { color: var(--nk-secondary); font-weight: 700; }

/* Dog profile */
.nk-page-dog .nk-page-shell { padding-top: clamp(34px, 5vw, 70px); }
.nk-dog-profile { display: grid; gap: clamp(28px, 5vw, 64px); }
.nk-dog-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 9px; }
.nk-dog-action { padding: 10px 14px; border: 1px solid color-mix(in srgb, var(--nk-text), transparent 78%); border-radius: 999px; color: var(--nk-text); font-size: .72rem; font-weight: 800; letter-spacing: .035em; text-decoration: none; }
.nk-dog-action:hover, .nk-dog-action:focus-visible { border-color: var(--nk-secondary); background: var(--nk-secondary); color: #fff; }
.nk-dog-action-back { margin-right: auto; border-color: transparent; padding-left: 0; }
.nk-dog-action-back:hover, .nk-dog-action-back:focus-visible { padding-left: 14px; }
.nk-dog-profile-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(320px, .65fr); align-items: stretch; gap: clamp(22px, 4vw, 48px); }
.nk-dog-gallery, .nk-dog-summary, .nk-dog-description, .nk-dog-performance, .nk-dog-pedigree { min-width: 0; border: 1px solid color-mix(in srgb, var(--nk-text), transparent 86%); border-radius: var(--nk-radius); background: var(--nk-surface); box-shadow: 0 18px 55px color-mix(in srgb, var(--nk-primary), transparent 90%); overflow: hidden; }
.nk-dog-gallery { min-height: 480px; display: grid; grid-template-rows: auto minmax(0, 1fr); background: color-mix(in srgb, var(--nk-primary), transparent 94%); }
.nk-dog-gallery-heading { padding: 20px clamp(22px, 3vw, 34px); border-bottom: 1px solid color-mix(in srgb, var(--nk-text), transparent 86%); background: var(--nk-surface); }
.nk-dog-gallery-heading p { margin: 0 0 5px; color: var(--nk-secondary); font-size: .66rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.nk-dog-gallery-heading h2 { margin: 0; font-size: clamp(1.25rem, 2.1vw, 1.85rem); line-height: 1.15; overflow-wrap: anywhere; }
.nk-dog-gallery-media { min-height: 0; display: grid; place-items: center; overflow: hidden; }
.nk-dog-gallery .page_photo, .nk-dog-gallery .nk-dog-main-photo { width: 100% !important; height: 100% !important; min-height: 480px; display: block; object-fit: cover; border-radius: 0; box-shadow: none; }
.nk-dog-gallery #GallerySlides { width: 100% !important; height: 100%; margin: 0 !important; }
.nk-dog-gallery #GallerySlides .carousel-inner, .nk-dog-gallery #GallerySlides .carousel-item { height: 100%; }
.nk-dog-gallery #GallerySlides img { width: 100%; height: 100%; min-height: 480px; object-fit: cover; }
.nk-dog-embed { width: 100%; }
.nk-dog-photo-empty { min-height: 360px; padding: 30px; display: grid; place-items: center; align-content: center; gap: 12px; color: var(--nk-muted); text-align: center; }
.nk-dog-photo-empty span { font-size: 3rem; }
.nk-dog-summary { padding: clamp(24px, 3.5vw, 40px); }
.nk-dog-summary-heading { padding-bottom: 24px; display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; border-bottom: 1px solid color-mix(in srgb, var(--nk-text), transparent 86%); }
.nk-dog-summary-heading p, .nk-dog-kicker { margin: 0 0 7px; color: var(--nk-secondary); font-size: .66rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.nk-dog-summary-heading h2 { margin: 0; font-size: clamp(1.8rem, 3vw, 2.75rem); }
.nk-dog-summary-heading > div > span { margin-top: 7px; display: block; color: var(--nk-muted); }
.nk-dog-status { width: max-content; max-width: 100%; padding: 7px 10px; display: inline-flex; border-radius: 999px; background: color-mix(in srgb, var(--nk-text), transparent 92%); color: var(--nk-text); font-size: .68rem; font-weight: 900; letter-spacing: .045em; text-transform: uppercase; }
.nk-dog-summary-heading > .nk-dog-status { flex: 0 0 auto; align-self: flex-start; margin-top: 23px; white-space: nowrap; }
.nk-dog-status.is-available { background: color-mix(in srgb, #2d7a45, transparent 88%); color: #256338; }
.nk-dog-status.is-sold { background: color-mix(in srgb, var(--nk-secondary), transparent 86%); color: var(--nk-secondary); }
.nk-dog-facts { margin: 8px 0 0; }
.nk-dog-facts > div { padding: 15px 0; display: grid; grid-template-columns: minmax(105px, .8fr) minmax(0, 1.2fr); gap: 16px; border-bottom: 1px solid color-mix(in srgb, var(--nk-text), transparent 89%); }
.nk-dog-facts > div:last-child { border-bottom: 0; }
.nk-dog-facts dt { color: var(--nk-muted); font-size: .72rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.nk-dog-facts dd { margin: 0; font-weight: 650; overflow-wrap: anywhere; }
.nk-dog-description { padding: clamp(26px, 5vw, 58px); }
.nk-dog-description h2 { margin: 0 0 18px; font-size: clamp(1.9rem, 4vw, 3.4rem); }
.nk-dog-description > div { max-width: 74ch; font-size: 1.05rem; line-height: 1.8; }
.nk-dog-performance { padding: clamp(26px, 5vw, 58px); }
.nk-dog-performance-link { padding: 10px 15px; border: 1px solid color-mix(in srgb, var(--nk-text), transparent 78%); border-radius: 999px; color: var(--nk-text); font-size: .72rem; font-weight: 850; text-decoration: none; }
.nk-dog-performance-link:hover, .nk-dog-performance-link:focus-visible { border-color: var(--nk-secondary); background: var(--nk-secondary); color: #fff; }
.nk-dog-performance-periods { margin-top: 28px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.nk-dog-performance-periods > article { padding: clamp(20px, 3vw, 30px); border: 1px solid color-mix(in srgb, var(--nk-text), transparent 87%); border-radius: calc(var(--nk-radius) * .75); background: color-mix(in srgb, var(--nk-primary), transparent 96%); }
.nk-dog-performance-periods article > p { margin: 0 0 10px; color: var(--nk-secondary); font-size: .67rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.nk-dog-performance-periods article > strong { color: var(--nk-primary); font-size: clamp(2rem, 4vw, 3.3rem); line-height: 1; }
.nk-dog-performance-periods article > strong small { color: var(--nk-muted); font-size: .78rem; }
.nk-dog-performance-periods dl { margin: 22px 0 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; border-radius: calc(var(--nk-radius) * .5); background: color-mix(in srgb, var(--nk-text), transparent 85%); overflow: hidden; }
.nk-dog-performance-periods dl div { padding: 11px; background: var(--nk-surface); }
.nk-dog-performance-periods dt { color: var(--nk-muted); font-size: .62rem; text-transform: uppercase; }
.nk-dog-performance-periods dd { margin: 3px 0 0; font-weight: 850; }
.nk-dog-performance-history { margin-top: 34px; }
.nk-dog-performance-history h3 { margin: 0 0 14px; font-size: 1.15rem; }
.nk-dog-performance-history .table-responsive { border: 1px solid color-mix(in srgb, var(--nk-text), transparent 86%); border-radius: calc(var(--nk-radius) * .65); }
.nk-dog-performance-history table { width: 100%; margin: 0; border-collapse: collapse; background: var(--nk-surface); }
.nk-dog-performance-history th { padding: 12px 14px; background: color-mix(in srgb, var(--nk-primary), transparent 93%); color: var(--nk-muted); font-size: .65rem; letter-spacing: .05em; text-align: left; text-transform: uppercase; white-space: nowrap; }
.nk-dog-performance-history td { padding: 13px 14px; border-top: 1px solid color-mix(in srgb, var(--nk-text), transparent 89%); font-size: .76rem; vertical-align: top; }
.nk-dog-performance-history td:first-child { min-width: 210px; }
.nk-dog-performance-history td:first-child small { margin-top: 4px; display: block; color: var(--nk-muted); font-size: .64rem; }
.nk-dog-performance-note { margin: 12px 0 0; color: var(--nk-muted); font-size: .7rem; }
.nk-dog-performance-empty { margin-top: 28px; padding: 24px; border: 1px dashed color-mix(in srgb, var(--nk-text), transparent 76%); border-radius: calc(var(--nk-radius) * .65); color: var(--nk-muted); text-align: center; }
.nk-dog-pedigree { padding: clamp(26px, 5vw, 58px); }
.nk-dog-section-heading { display: flex; align-items: flex-end; justify-content: space-between; flex-wrap: wrap; gap: 20px; }
.nk-dog-section-heading h2 { margin: 0; font-size: clamp(2rem, 4vw, 3.5rem); }
.nk-dog-generation-links { display: flex; align-items: center; gap: 6px; }
.nk-dog-generation-links span { margin-right: 4px; color: var(--nk-muted); font-size: .7rem; font-weight: 800; text-transform: uppercase; }
.nk-dog-generation-links a { width: 32px; height: 32px; display: grid; place-items: center; border: 1px solid color-mix(in srgb, var(--nk-text), transparent 78%); border-radius: 50%; color: var(--nk-text); font-size: .72rem; font-weight: 850; text-decoration: none; }
.nk-dog-generation-links a:hover, .nk-dog-generation-links a:focus-visible { border-color: var(--nk-secondary); background: var(--nk-secondary); color: #fff; }
.nk-dog-pedigree-disclosure { margin-top: 28px; border-top: 1px solid color-mix(in srgb, var(--nk-text), transparent 84%); }
.nk-dog-pedigree-disclosure summary { padding: 18px 0; cursor: pointer; color: var(--nk-primary); font-weight: 850; }
.nk-dog-pedigree-scroll { max-width: 100%; overflow: auto; }
.nk-dog-pedigree-scroll table { min-width: 900px; background: transparent !important; }
.nk-dog-pedigree-empty { margin-top: 28px; padding: 26px; display: grid; gap: 5px; border-radius: calc(var(--nk-radius) * .7); background: color-mix(in srgb, var(--nk-primary), transparent 94%); color: var(--nk-muted); }
.nk-dog-pedigree-empty strong { color: var(--nk-text); }
.nk-dog-pedigree-button, .nk-dog-pedigree-mobile { width: max-content; margin-top: 26px; padding: 12px 17px; display: inline-flex; border-radius: 999px; background: var(--nk-primary); color: #fff; font-size: .75rem; font-weight: 850; text-decoration: none; }
.nk-dog-pedigree-mobile { display: none; }
.nk-content .form-control, .nk-content .form-select {
	min-height: 48px;
	border-color: color-mix(in srgb, var(--nk-text), transparent 72%);
	border-radius: calc(var(--nk-radius) * .65);
	background-color: var(--nk-surface);
	color: var(--nk-text);
}
.nk-content textarea.form-control { min-height: 150px; }
.nk-content .form-control:focus, .nk-content .form-select:focus { border-color: var(--nk-secondary); box-shadow: 0 0 0 4px color-mix(in srgb, var(--nk-secondary), transparent 82%); }
.nk-content .pagination { flex-wrap: wrap; gap: 5px; }
.nk-content .page-link { border: 0; border-radius: calc(var(--nk-radius) * .6); background: var(--nk-surface); color: var(--nk-text); }
.nk-content .current_page .page-link, .nk-content .active > .page-link { background: var(--nk-primary); color: #fff; }
.nk-content iframe { max-width: 100%; }

.nk-dog-pagination { width: 100%; margin: 16px 0 0; }
.nk-dog-list-card { width: 100%; max-width: none; }
.nk-dog-pagination-summary { width: 100%; min-height: 58px; padding: 15px 18px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-top: 1px solid color-mix(in srgb, var(--nk-text), transparent 86%); border-bottom: 1px solid color-mix(in srgb, var(--nk-text), transparent 86%); background: color-mix(in srgb, var(--nk-primary), transparent 94%); }
.nk-dog-pagination-summary span:last-child { text-align: right; }
.nk-dog-pagination-links { width: 100%; padding-top: 12px; }
.nk-dog-pagination-links .pagination { margin: 0; }

/* Editorial treatment for custom pages created in Website > Manage Pages. */
.nk-custom-page { width: 100%; display: grid; gap: clamp(24px, 4vw, 46px); }
.nk-custom-page-feature { width: min(100%, 1120px); margin: 0 auto; overflow: hidden; border-radius: var(--nk-radius); background: color-mix(in srgb, var(--nk-primary), transparent 94%); box-shadow: 0 24px 70px color-mix(in srgb, var(--nk-primary), transparent 84%); }
.nk-custom-page-feature:empty { display: none; }
.nk-custom-page-feature #pictureContainer, .nk-custom-page-feature .carousel { width: 100% !important; margin: 0 !important; }
.nk-custom-page-feature .page_photo, .nk-custom-page-feature img { width: 100% !important; max-height: 720px; display: block; object-fit: cover; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; }
.nk-custom-page-title, .nk-custom-page-subtitle, .nk-custom-page-copy { width: min(100%, 82rem); margin-right: auto; margin-left: auto; }
.nk-custom-page-title { margin-top: 0 !important; margin-bottom: -18px !important; }
.nk-custom-page-subtitle { margin-top: -14px !important; margin-bottom: 0 !important; color: var(--nk-muted); font-size: clamp(1.1rem, 2vw, 1.45rem); }
.nk-custom-page-copy { max-width: 78ch; font-size: clamp(1rem, .96rem + .18vw, 1.08rem); line-height: 1.85; }
.nk-custom-page-copy > p { margin: 0 0 1.55em; }
.nk-custom-page-copy > p:first-child { color: color-mix(in srgb, var(--nk-text), var(--nk-primary) 18%); font-size: 1.08em; }
.nk-custom-page-copy > :last-child { margin-bottom: 0; }
.nk-custom-page-copy h2, .nk-custom-page-copy h3, .nk-custom-page-copy h4 { margin-top: 1.7em; margin-bottom: .65em; }
.nk-custom-page-copy ul, .nk-custom-page-copy ol { margin: 1.25em 0 1.7em; padding-left: 1.4em; }
.nk-custom-page-copy li + li { margin-top: .55em; }
.nk-custom-page-copy blockquote { margin: 1.8em 0; padding: 4px 0 4px 22px; border-left: 4px solid var(--nk-accent); color: var(--nk-muted); font-family: var(--nk-heading-font); font-size: 1.25em; }
.nk-custom-page-copy img { margin: 1.75em auto; display: block; border-radius: calc(var(--nk-radius) * .75); box-shadow: 0 16px 44px color-mix(in srgb, var(--nk-primary), transparent 87%); }
.nk-page-cards { width: 100%; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 270px), 1fr)); gap: clamp(18px, 2.5vw, 28px); align-items: stretch; }
.nk-page-card { min-height: 300px; }
.nk-page-card .card-body { min-height: 100%; display: flex; flex-direction: column; align-items: flex-start; }
.nk-page-card .card-title { margin: 0 0 16px; font-size: clamp(1.7rem, 2.8vw, 2.55rem); line-height: 1.08; text-wrap: balance; }
.nk-page-card .card-text { margin: 0 0 24px; line-height: 1.65; }
.nk-page-card .nk-button { margin-top: auto; }
.nk-custom-page-gallery { width: 100%; margin-top: 8px; }
.nk-custom-page-gallery #pictureContainer2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 20px; }
.nk-custom-page-gallery .page_photo { width: 100% !important; height: auto !important; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--nk-radius); }
.nk-custom-page-gallery p { margin: -10px 0 10px; color: var(--nk-muted); font-size: .9rem; text-align: center; }

.nk-preview-palette {
	margin: 26px 0;
	display: grid;
	grid-template-columns: repeat(3,minmax(0,1fr));
	gap: 10px;
}
.nk-preview-palette span {
	min-height: 112px;
	padding: 56px 16px 14px;
	position: relative;
	border: 1px solid color-mix(in srgb,var(--nk-text),transparent 84%);
	border-radius: calc(var(--nk-radius) * .65);
	background: var(--nk-surface);
	overflow: hidden;
}
.nk-preview-palette span::before { content:""; position:absolute; inset:0 0 auto; height:44px; background:var(--swatch); }
.nk-preview-palette b, .nk-preview-palette small { display:block; }
.nk-preview-palette small { color:var(--nk-muted); font-size:.72rem; text-transform:uppercase; }

.nk-contact-band {
	padding: clamp(52px, 7vw, 90px) max(20px, calc((100% - var(--nk-page-width)) / 2));
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
	background: var(--nk-primary);
	color: #fff;
}
.nk-contact-band h2 { max-width: 760px; margin: 0; color: #fff; text-wrap: balance; }
.nk-contact-band .nk-button { flex: 0 0 auto; }

.nk-footer { background: color-mix(in srgb, var(--nk-primary), #000 25%); color: rgba(255,255,255,.72); }
.nk-footer-main {
	width: min(calc(100% - 40px), var(--nk-page-width));
	margin: auto;
	padding: 54px 0;
	display: grid;
	grid-template-columns: minmax(0,1.25fr) minmax(240px,.75fr);
	gap: 40px;
}
.nk-footer-brand { display:flex; align-items:flex-start; gap:18px; min-width:0; }
.nk-footer-brand > img { width:auto; max-width:110px; height:auto; max-height:72px; object-fit:contain; flex:0 0 auto; }
.nk-footer-brand > div { min-width:0; }
.nk-footer-brand-details { margin-top:12px; display:flex; align-items:flex-start; flex-direction:column; gap:3px; }
.nk-footer-brand-details a { overflow-wrap:anywhere; }
.nk-footer strong { color: #fff; font-family: var(--nk-heading-font); font-size: 1.5rem; }
.nk-footer p { margin: 7px 0 0; }
.nk-footer a { display: block; color: rgba(255,255,255,.78); }
.nk-footer a:hover { color: #fff; }
.nk-footer-links .nav { display: block; }
.nk-footer-links .navbar-brand { color: #fff !important; font-family: var(--nk-body-font); font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; }
.nk-footer-links .navbar-nav { padding: 0 !important; display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 4px 18px; }
.nk-footer-links .nav-link { padding: 3px 0; }
.nk-footer-links { justify-self:end; min-width:220px; text-align:right; }

/* Selectable footer layouts */
.nk-footer-layout-showcase .nk-footer-main { grid-template-columns:repeat(2,minmax(0,1fr)); }
.nk-footer-layout-showcase .nk-footer-brand { grid-column:1/-1; padding-bottom:28px; border-bottom:1px solid rgba(255,255,255,.16); }
.nk-footer-layout-showcase .nk-footer-links { grid-column:2; }

.nk-footer-layout-centered .nk-footer-main { max-width:820px; grid-template-columns:1fr; justify-items:center; text-align:center; }
.nk-footer-layout-centered .nk-footer-brand { align-items:center; flex-direction:column; }
.nk-footer-layout-centered .nk-footer-links .navbar-nav { display:flex; justify-content:center; flex-wrap:wrap; gap:8px 26px; }
.nk-footer-layout-centered .nk-footer-brand-details { align-items:center; }
.nk-footer-layout-centered .nk-footer-links { justify-self:center; min-width:0; text-align:center; }

.nk-footer-layout-compact .nk-footer-main { padding:30px 0; grid-template-columns:auto minmax(220px,1fr); align-items:center; gap:28px; }
.nk-footer-layout-compact .nk-footer-brand > img { max-width:78px; max-height:52px; }
.nk-footer-layout-compact .nk-footer strong { font-size:1.18rem; }
.nk-footer-layout-compact .nk-footer p { margin-top:3px; }
.nk-footer-layout-compact .nk-footer-links .navbar-brand { display:none; }
.nk-footer-layout-compact .nk-footer-links .navbar-nav { display:flex; justify-content:center; flex-wrap:wrap; gap:5px 20px; }
.nk-credit {
	width: min(calc(100% - 40px), var(--nk-page-width));
	margin: auto;
	padding: 18px 0;
	display: flex;
	justify-content: space-between;
	gap: 20px;
	border-top: 1px solid rgba(255,255,255,.13);
	font-size: .67rem;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
}

/* Theme family variations: one shared engine, eight visibly different designs. */
.nk-theme-heritage-sporting .nk-site-header { border-bottom: 5px solid var(--nk-accent); }
.nk-theme-heritage-sporting .nk-navigation { min-height: 92px; }
.nk-theme-heritage-sporting .nk-hero-content { border-left: 2px solid var(--nk-accent); padding-left: clamp(24px,4vw,54px); }
.nk-theme-heritage-sporting .nk-content .card { border: 1px solid color-mix(in srgb,var(--nk-secondary),transparent 65%); box-shadow: 8px 8px 0 color-mix(in srgb,var(--nk-accent),transparent 55%); }
.nk-theme-heritage-sporting .nk-contact-band { border-top: 6px solid var(--nk-accent); }

.nk-theme-modern-breeder { background-image:radial-gradient(circle at 8% 28%,color-mix(in srgb,var(--nk-accent),transparent 84%) 0 110px,transparent 112px); }
.nk-theme-modern-breeder .nk-topline { background:var(--nk-secondary); }
.nk-theme-modern-breeder .nk-hero { margin:0 max(14px,3vw); border-radius:0 0 64px 64px; overflow:hidden; }
.nk-theme-modern-breeder .nk-hero h1 { font-weight:800; }
.nk-theme-modern-breeder .nk-content .card { border:1px solid color-mix(in srgb,var(--nk-primary),transparent 86%); box-shadow:0 20px 60px color-mix(in srgb,var(--nk-secondary),transparent 88%); }
.nk-theme-modern-breeder .nk-content .card:nth-child(2n), .nk-theme-modern-breeder .nk-content .col:nth-child(2n) .card { transform:translateY(16px); }
.nk-theme-modern-breeder .nk-content .gallery .col:nth-child(2n) .card { transform:none; }
.nk-theme-modern-breeder .nk-contact-band { margin:0 max(14px,3vw) 30px; border-radius:42px; background:var(--nk-secondary); }

.nk-theme-rustic-field { background-image:repeating-linear-gradient(120deg,transparent 0,transparent 18px,rgba(87,64,40,.035) 19px); }
.nk-theme-rustic-field .nk-site-header, .nk-theme-rustic-field .nk-navigation { background:var(--nk-primary); }
.nk-theme-rustic-field .nk-brand, .nk-theme-rustic-field .nk-nav-links a, .nk-theme-rustic-field .nk-nav-submenu-toggle { color:#fff !important; }
.nk-theme-rustic-field .nk-hero { margin:22px auto 0; width:min(calc(100% - 40px),var(--nk-page-width)); border:10px solid var(--nk-surface); box-shadow:0 0 0 1px color-mix(in srgb,var(--nk-secondary),transparent 35%); }
.nk-theme-rustic-field .nk-content .card { border:1px solid rgba(80,57,36,.22); border-left:7px solid var(--nk-secondary); box-shadow:5px 7px 0 color-mix(in srgb,var(--nk-secondary),transparent 76%); }
.nk-theme-rustic-field .nk-button { letter-spacing:.11em; }
.nk-theme-rustic-field .nk-contact-band { background:var(--nk-secondary); }

.nk-theme-editorial .nk-topline { display:none; }
.nk-theme-editorial .nk-navigation { min-height:118px; border-bottom:1px solid var(--nk-text); }
.nk-theme-editorial .nk-brand { font-size:clamp(1.7rem,3vw,3rem); }
.nk-theme-editorial .nk-nav-links a, .nk-theme-editorial .nk-nav-submenu-toggle { font-weight:500; text-transform:uppercase; letter-spacing:.12em; }
.nk-theme-editorial .nk-hero-home { min-height:min(820px,78vh); }
.nk-theme-editorial .nk-hero-content { width:min(calc(100% - 64px),var(--nk-page-width)); display:grid; grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr); align-items:end; gap:clamp(28px,4vw,64px); overflow:hidden; }
.nk-theme-editorial .nk-hero-home h1 { min-width:0; max-width:100%; font-size:clamp(4rem,8vw,8.5rem); font-weight:500; overflow-wrap:break-word; }
.nk-theme-editorial .nk-hero-summary { padding-left:24px; border-left:1px solid var(--nk-accent); }
.nk-theme-editorial .nk-content p { font-family:var(--nk-heading-font); font-size:1.17rem; }
.nk-theme-editorial .nk-content .card { border-top:6px solid var(--nk-secondary); box-shadow:none; }
.nk-theme-editorial .nk-contact-band { background:var(--nk-surface); color:var(--nk-text); border-block:1px solid var(--nk-text); }
.nk-theme-editorial .nk-contact-band h2 { color:var(--nk-text); }

.nk-theme-luxury .nk-site-header, .nk-theme-luxury .nk-navigation { background:#101311; }
.nk-theme-luxury .nk-topline { background:var(--nk-accent); color:#101311; }
.nk-theme-luxury .nk-brand, .nk-theme-luxury .nk-nav-links a, .nk-theme-luxury .nk-nav-submenu-toggle { color:#f7f2e7 !important; }
.nk-theme-luxury .nk-brand { letter-spacing:.11em; text-transform:uppercase; }
.nk-theme-luxury .nk-nav-links a, .nk-theme-luxury .nk-nav-submenu-toggle, .nk-theme-luxury .nk-button { letter-spacing:.17em; }
.nk-theme-luxury .nk-hero-content { text-align:center; }
.nk-theme-luxury .nk-hero h1, .nk-theme-luxury .nk-hero-summary { margin-inline:auto; font-weight:400; letter-spacing:.01em; }
.nk-theme-luxury .nk-hero-actions { justify-content:center; }
.nk-theme-luxury .nk-page-shell { padding-top:clamp(80px,11vw,150px); padding-bottom:clamp(80px,11vw,150px); }
.nk-theme-luxury .nk-content .card { border:1px solid color-mix(in srgb,var(--nk-accent),transparent 58%); box-shadow:none; }
.nk-theme-luxury .nk-contact-band { background:var(--nk-secondary); text-align:center; flex-direction:column; }

.nk-theme-family-friendly { background-image:radial-gradient(circle at 90% 18%,color-mix(in srgb,var(--nk-accent),transparent 75%) 0 150px,transparent 152px); }
.nk-theme-family-friendly .nk-topline { background:var(--nk-secondary); }
.nk-theme-family-friendly .nk-navigation { min-height:90px; }
.nk-theme-family-friendly .nk-hero { border-radius:0 0 18px 18px; overflow:hidden; }
.nk-theme-family-friendly .nk-hero h1 { font-weight:800; letter-spacing:-.035em; }
.nk-theme-family-friendly .nk-button { font-weight:800; }
.nk-theme-family-friendly .nk-content .card { border-top:6px solid var(--nk-accent); box-shadow:0 18px 50px color-mix(in srgb,var(--nk-secondary),transparent 84%); }
.nk-theme-family-friendly .nk-contact-band { background:var(--nk-secondary); border-top:6px solid var(--nk-accent); }

.nk-theme-minimal .nk-topline { display:none; }
.nk-theme-minimal .nk-site-header { box-shadow:none; }
.nk-theme-minimal .nk-navigation { min-height:108px; border-bottom:1px solid color-mix(in srgb,var(--nk-text),transparent 72%); }
.nk-theme-minimal .nk-hero { width:min(calc(100% - 40px),var(--nk-page-width)); min-height:440px; margin:40px auto 0; align-items:center; background-color:var(--nk-primary); border:1px solid color-mix(in srgb,var(--nk-text),transparent 70%); overflow:hidden; }
.nk-theme-minimal .nk-hero h1 { color:#fff; }
.nk-theme-minimal .nk-hero-summary { color:rgba(255,255,255,.88); }
.nk-theme-minimal .nk-hero-home h1 { font-size:clamp(3rem,7vw,6.5rem); }
.nk-theme-minimal .nk-content .card { border:0; border-top:1px solid var(--nk-text); border-radius:0; box-shadow:none; }
.nk-theme-minimal .nk-contact-band { background:transparent; color:var(--nk-text); border-block:1px solid var(--nk-text); }
.nk-theme-minimal .nk-contact-band h2 { color:var(--nk-text); }
.nk-theme-minimal .nk-footer { background:var(--nk-text); }

.nk-theme-dark-performance .nk-site-header, .nk-theme-dark-performance .nk-navigation { background:var(--nk-surface); }
.nk-theme-dark-performance .nk-topline { background:var(--nk-accent); color:#101717; }
.nk-theme-dark-performance .nk-brand, .nk-theme-dark-performance .nk-nav-links a, .nk-theme-dark-performance .nk-nav-submenu-toggle { color:var(--nk-text) !important; }
.nk-theme-dark-performance .nk-hero { border-bottom:10px solid var(--nk-accent); }
.nk-theme-dark-performance .nk-hero h1 { font-weight:700; letter-spacing:-.015em; text-transform:uppercase; }
.nk-theme-dark-performance .nk-content .card { border:1px solid color-mix(in srgb,var(--nk-accent),transparent 55%); border-radius:0 24px 0 24px; box-shadow:10px 10px 0 color-mix(in srgb,var(--nk-accent),transparent 72%); }
.nk-theme-dark-performance .nk-content .form-control, .nk-theme-dark-performance .nk-content .form-select { color-scheme:dark; }
.nk-theme-dark-performance .nk-contact-band { background:var(--nk-accent); color:#101717; }
.nk-theme-dark-performance .nk-contact-band h2, .nk-theme-dark-performance .nk-contact-band .nk-eyebrow { color:#101717; }
.nk-theme-dark-performance .nk-contact-band .nk-button { background:#101717; color:#fff; }

.nk-theme-prairie-sky .nk-topline { background:var(--nk-accent); color:var(--nk-primary); }
.nk-theme-prairie-sky .nk-site-header { box-shadow:0 12px 40px color-mix(in srgb,var(--nk-primary),transparent 90%); }
.nk-theme-prairie-sky .nk-hero { margin:0 0 34px; clip-path:polygon(0 0,100% 0,100% 91%,70% 100%,0 92%); }
.nk-theme-prairie-sky .nk-hero-content { padding-bottom:clamp(90px,11vw,150px); }
.nk-theme-prairie-sky .nk-hero h1 { max-width:1050px; }
.nk-theme-prairie-sky .nk-content .card { border:0; border-bottom:7px solid var(--nk-secondary); box-shadow:0 20px 60px color-mix(in srgb,var(--nk-primary),transparent 86%); }
.nk-theme-prairie-sky .nk-contact-band { background:linear-gradient(105deg,var(--nk-primary),var(--nk-secondary)); }

.nk-theme-preserve-lodge { background-image:linear-gradient(90deg,rgba(64,48,30,.028) 1px,transparent 1px),linear-gradient(rgba(64,48,30,.028) 1px,transparent 1px); background-size:26px 26px; }
.nk-theme-preserve-lodge .nk-site-header, .nk-theme-preserve-lodge .nk-navigation { background:var(--nk-primary); }
.nk-theme-preserve-lodge .nk-topline { background:var(--nk-secondary); }
.nk-theme-preserve-lodge .nk-brand, .nk-theme-preserve-lodge .nk-nav-links a, .nk-theme-preserve-lodge .nk-nav-submenu-toggle { color:#fff !important; }
.nk-theme-preserve-lodge .nk-hero { width:min(calc(100% - 48px),var(--nk-page-width)); margin:24px auto 0; border:1px solid var(--nk-accent); }
.nk-theme-preserve-lodge .nk-hero-content { padding-left:clamp(28px,6vw,90px); }
.nk-theme-preserve-lodge .nk-content .card { border:1px solid color-mix(in srgb,var(--nk-primary),transparent 55%); box-shadow:none; }
.nk-theme-preserve-lodge .nk-content .card::after { content:""; position:absolute; inset:9px; border:1px solid color-mix(in srgb,var(--nk-accent),transparent 35%); pointer-events:none; }
.nk-theme-preserve-lodge .nk-contact-band { border-block:8px double var(--nk-accent); }

.nk-theme-sporting-club .nk-topline { background:var(--nk-secondary); }
.nk-theme-sporting-club .nk-navigation { min-height:126px; flex-direction:column; justify-content:center; gap:16px; }
.nk-theme-sporting-club .nk-brand { font-size:clamp(1.7rem,3vw,2.8rem); }
.nk-theme-sporting-club .nk-nav-links { padding-top:14px; border-top:1px solid var(--nk-accent); }
.nk-theme-sporting-club .nk-hero { border-block:8px double var(--nk-accent); }
.nk-theme-sporting-club .nk-hero-content { text-align:center; }
.nk-theme-sporting-club .nk-hero h1, .nk-theme-sporting-club .nk-hero-summary { margin-inline:auto; }
.nk-theme-sporting-club .nk-hero-actions { justify-content:center; }
.nk-theme-sporting-club .nk-content .card { border:1px solid var(--nk-primary); border-bottom:6px solid var(--nk-secondary); box-shadow:none; }
.nk-theme-sporting-club .nk-contact-band { background:var(--nk-secondary); }

.nk-theme-clean-slate .nk-topline { background:var(--nk-secondary); }
.nk-theme-clean-slate .nk-navigation { min-height:76px; }
.nk-theme-clean-slate .nk-brand { font-weight:700; }
.nk-theme-clean-slate .nk-hero { margin:18px; min-height:calc(clamp(500px,67vh,760px) - 18px); border-radius:var(--nk-radius); }
.nk-theme-clean-slate .nk-hero-content { display:grid; grid-template-columns:minmax(0,1fr) minmax(240px,.38fr); align-items:end; gap:50px; }
.nk-theme-clean-slate .nk-hero-actions { align-self:end; justify-content:flex-end; }
.nk-theme-clean-slate .nk-content .card { border:2px solid color-mix(in srgb,var(--nk-primary),transparent 75%); box-shadow:8px 8px 0 var(--nk-accent); }
.nk-theme-clean-slate .nk-contact-band { margin:0 18px 18px; border-radius:var(--nk-radius); background:var(--nk-primary); }

@media (max-width: 991.98px) {
	body.nk-menu-open { overflow: hidden; }
	.nk-menu-button { position: relative; z-index: 102; display: block; }
	.nk-nav-links {
		position: fixed;
		top: 0;
		right: 0;
		z-index: 101;
		width: min(88vw, 390px);
		height: 100dvh;
		padding: 100px 28px 36px;
		display: block;
		background: var(--nk-surface);
		box-shadow: -18px 0 60px rgba(0,0,0,.22);
		transform: translateX(105%);
		transition: transform .25s ease;
		overflow-y: auto;
	}
	body.nk-menu-open .nk-nav-links { transform: translateX(0); }
	.nk-nav-links li { border-bottom: 1px solid color-mix(in srgb, var(--nk-text), transparent 88%); }
	.nk-nav-links a { min-height: 54px; padding: 15px 4px; display: block; font-size: 1rem; }
	.nk-nav-links .nk-nav-submenu-toggle { width: 100%; min-height: 54px; padding: 15px 4px; justify-content: space-between; font-size: 1rem; }
	.nk-theme-rustic-field .nk-nav-links > li > a,
	.nk-theme-rustic-field .nk-nav-links > li > .nk-nav-submenu-toggle { color:var(--nk-text) !important; }
	.nk-theme-rustic-field .nk-nav-links > li > a:hover,
	.nk-theme-rustic-field .nk-nav-links > li > a:focus-visible,
	.nk-theme-rustic-field .nk-nav-links > li > .nk-nav-submenu-toggle:hover,
	.nk-theme-rustic-field .nk-nav-links > li > .nk-nav-submenu-toggle:focus-visible { color:var(--nk-secondary) !important; }
	.nk-nav-submenu { position: static; min-width: 0; max-height: none; padding: 0 0 12px 14px; overflow: visible; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
	.nk-nav-submenu li { border-bottom: 0; }
	.nk-nav-links .nk-nav-submenu a { min-height: 42px; padding: 10px 8px; font-size: .94rem; }
	.nk-nav-submenu-heading { padding-left: 8px; }
	.nk-page-shell.nk-has-sidebar { grid-template-columns: 1fr; }
	.nk-sidebar { order: 2; }
	.nk-footer-main { grid-template-columns: 1fr 1fr; }
	.nk-footer-layout-centered .nk-footer-main { grid-template-columns:1fr; }
	.nk-footer-layout-compact .nk-footer-main { grid-template-columns:1fr 1fr; align-items:start; }
	.nk-theme-editorial .nk-hero-content { display:block; }
	.nk-theme-editorial .nk-hero-summary { margin-top:24px; }
	.nk-theme-clean-slate .nk-hero-content { display:block; }
	.nk-theme-clean-slate .nk-hero-actions { justify-content:flex-start; }
	.nk-theme-sporting-club .nk-navigation { min-height:82px; flex-direction:row; }
	.nk-dog-profile-grid { grid-template-columns: 1fr; gap: 20px; }
}

@media (max-width: 767.98px) {
	.nk-topline { justify-content: center; text-align: center; }
	.nk-topline span:first-child { display: none; }
	.nk-navigation { width: min(calc(100% - 28px), var(--nk-page-width)); min-height: 70px; }
	.nk-brand { max-width: calc(100% - 64px); font-size: 1.15rem; }
	.nk-brand img { width: 42px; height: 42px; }
	.nk-hero-home { min-height: 520px; }
	.nk-hero-inner { min-height: 230px; }
	.nk-hero-content { width: min(calc(100% - 32px), var(--nk-page-width)); padding: 48px 0; }
	.nk-hero-home h1 { font-size: clamp(2.8rem, 15vw, 4.8rem); }
	.nk-page-shell { width: min(calc(100% - 32px), var(--nk-page-width)); padding: 48px 0; }
	.nk-content { overflow-wrap: anywhere; }
	.nk-content .table-responsive, .nk-content > table, .nk-content > form > table { display: block; width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
	.nk-content td, .nk-content th { min-width: 112px; }
	.nk-dog-pagination-summary { padding-inline: 12px; }
	.nk-custom-page { gap: 24px; }
	.nk-custom-page-feature { border-radius: calc(var(--nk-radius) * .7); }
	.nk-custom-page-feature .page_photo, .nk-custom-page-feature img { max-height: none; aspect-ratio: auto; }
	.nk-custom-page-title { margin-bottom: -8px !important; }
	.nk-custom-page-copy { font-size: 1rem; line-height: 1.75; }
	.nk-custom-page-gallery #pictureContainer2 { grid-template-columns: 1fr; }
	.nk-content img[align="left"], .nk-content img[align="right"] { float: none; margin: 0 auto 20px; }
	.nk-lightbox-dialog { width: 100vw; height: 100dvh; border-radius: 0; }
	.nk-lightbox-close, .nk-lightbox-previous, .nk-lightbox-next { width: 42px; height: 42px; }
	.nk-lightbox-close { top: 10px; right: 10px; }
	.nk-lightbox-previous { left: 8px; }
	.nk-lightbox-next { right: 8px; }
	.nk-lightbox-caption { min-height: 92px; padding: 14px 48px 18px; }
	.nk-lightbox-counter { left: 12px; bottom: 12px; }
	.nk-page-dog .nk-page-shell { padding-top: 26px; }
	.nk-dog-profile { gap: 24px; }
	.nk-dog-actions { justify-content: flex-start; }
	.nk-dog-action { padding: 9px 11px; }
	.nk-dog-action-back { width: 100%; margin: 0 0 2px; padding-left: 0; }
	.nk-dog-profile-grid { gap: 16px; }
	.nk-dog-gallery { min-height: 0; }
	.nk-dog-gallery-heading { padding: 18px 22px; }
	.nk-dog-gallery .page_photo, .nk-dog-gallery .nk-dog-main-photo, .nk-dog-gallery #GallerySlides img { min-height: 0; aspect-ratio: 4 / 3; object-fit: cover; }
	.nk-dog-summary { padding: 22px; }
	.nk-dog-summary-heading { display: grid; }
	.nk-dog-summary-heading > .nk-dog-status { margin-top: 0; }
	.nk-dog-facts > div { grid-template-columns: 105px minmax(0, 1fr); gap: 10px; }
	.nk-dog-description, .nk-dog-performance, .nk-dog-pedigree { padding: 25px 22px; }
	.nk-dog-performance-periods { grid-template-columns: 1fr; }
	.nk-dog-performance-periods dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.nk-dog-section-heading { align-items: flex-start; }
	.nk-dog-generation-links { width: 100%; flex-wrap: wrap; }
	.nk-dog-generation-links span { width: 100%; }
	.nk-dog-pedigree-disclosure { display: none; }
	.nk-dog-pedigree-mobile { display: inline-flex; }
	.nk-contact-band { align-items: flex-start; flex-direction: column; }
	.nk-footer-main { padding: 42px 0; grid-template-columns: 1fr; }
	.nk-footer-main > :first-child { grid-column: auto; }
	.nk-footer-layout-showcase .nk-footer-main,
	.nk-footer-layout-compact .nk-footer-main { grid-template-columns:1fr; }
	.nk-footer-layout-showcase .nk-footer-brand,
	.nk-footer-layout-compact .nk-footer-brand { grid-column:auto; }
	.nk-footer-layout-showcase .nk-footer-links { grid-column:auto; }
	.nk-footer-links { justify-self:start; min-width:0; text-align:left; }
	.nk-credit { flex-direction: column; }
	.nk-theme-minimal .nk-hero { width: 100%; }
	.nk-theme-modern-breeder .nk-content .card:nth-child(2n), .nk-theme-modern-breeder .nk-content .col:nth-child(2n) .card { transform:none; }
}

@media (max-width: 480px) {
	.nk-hero-actions, .nk-hero-actions .nk-button, .nk-contact-band .nk-button { width: 100%; }
	.nk-footer-brand { align-items:flex-start; flex-direction:column; }
	.nk-footer-links .navbar-nav { grid-template-columns: 1fr; }
	.nk-preview-palette { grid-template-columns:1fr; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.nk-theme *, .nk-theme *::before, .nk-theme *::after { scroll-behavior: auto !important; transition: none !important; animation-duration: .01ms !important; }
}

@media print {
	.nk-site-header, .nk-hero, .nk-contact-band, .nk-footer { display: none !important; }
	body.nk-theme { background: #fff !important; color: #000 !important; }
	.nk-page-shell, .nk-page-shell.nk-has-sidebar { width: 100%; padding: 0; display: block; }
	.nk-sidebar { display: none; }
	.nk-content { width: 100%; }
	.nk-content a { color: #000; text-decoration: none; }
}
