* {
	box-sizing:border-box;
}

html {
	scroll-behavior:smooth;
	overflow-x:hidden;
}

body {
	margin:0;
	background:#ffffff;
	overflow-x:hidden;
}

img,
video {
	max-width:100%;
}

button,
a {
	-webkit-tap-highlight-color:transparent;
}

button:focus-visible,
a:focus-visible {
	outline:3px dotted #a307fc;
	outline-offset:4px;
}

.jbc-skip-link {
	position:fixed;
	left:-10000px;
	top:12px;
	z-index:5000;
	padding:12px 16px;
	background:#000000;
	color:#ffffff;
	font-family:"Montserrat",Arial,sans-serif;
	font-size:15px;
	font-weight:700;
	text-decoration:none;
}

.jbc-skip-link:focus {
	left:12px;
}

/* =========================================================
   HEADER
   ========================================================= */

.jbc-site-header {
	position:fixed;
	top:0;
	left:0;
	z-index:1000;
	width:100%;
	background:#000000e8;
	border-bottom:1px solid #ffffff26;
	backdrop-filter:blur(14px);
	-webkit-backdrop-filter:blur(14px);
}

.jbc-header-inner {
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:22px;
	width:min(1500px,94%);
	min-height:82px;
	margin:0 auto;
}

.jbc-header-brand {
	display:flex;
	flex-direction:column;
	flex:0 0 auto;
	color:#ffffff;
	font-family:"Cormorant Garamond",Georgia,serif;
	font-size:27px;
	font-weight:600;
	line-height:24px;
	letter-spacing:.01em;
	text-decoration:none;
}

.jbc-header-brand span {
	margin-top:5px;
	color:#ffffff;
	font-family:"Montserrat",Arial,sans-serif;
	font-size: .45em;
	font-weight:600;
	line-height:12px;
	letter-spacing:.19em;
	text-transform:uppercase;
}

.jbc-primary-nav {
	display:flex;
	align-items:center;
	justify-content:flex-end;
	gap:6px;
}

a.jbc-nav-link {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:44px;
	padding:10px 13px;
	border-radius:999px;
	font-family:"Montserrat",Arial,sans-serif;
	font-size:12px;
	font-weight:600;
	line-height:18px;
	letter-spacing:.03em;
	text-decoration:none;
	white-space:nowrap;
}
a.jbc-nav-link:focus {
color:#ffffff;
outline: 3px dotted #ab06ce;
background-color: #ab06ce;
outline-offset: 3px;
}
.jbc-nav-reserve {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:44px;
	padding:10px 13px;
	border-radius:999px;
	font-family:"Montserrat",Arial,sans-serif;
	font-size:12px;
	font-weight:600;
	line-height:18px;
	letter-spacing:.03em;
	text-decoration:none;
	white-space:nowrap;
}
.jbc-nav-link {
	border:1px solid transparent;
	color:#ffffff;
}

.jbc-nav-link:hover {
	border-color:#ffffff66;
	background:#ffffff0f;
	color:#ffffff;
}

.jbc-nav-reserve {
	border:1px solid #ffffff;
	background:#ffffff;
	color:#000000;
}

.jbc-nav-reserve:hover {
	border-color:#ffffff;
	background:#000000;
	color:#ffffff;
}

.jbc-menu-toggle {
	display:none;
	min-width:82px;
	min-height:44px;
	padding:10px 16px;
	border:1px solid #ffffff;
	border-radius:999px;
	background:#000000;
	color:#ffffff;
	font-family:"Montserrat",Arial,sans-serif;
	font-size:13px;
	font-weight:700;
	line-height:18px;
	cursor:pointer;
}

/* =========================================================
   HERO / VIDEO PARALLAX
   ========================================================= */

.jbc-hero-section {
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
	height:88vh;
	min-height:690px;
	max-height:940px;
	overflow:hidden;
	background:#000000;
}

.jbc-hero-parallax {
	position:absolute;
	top:-12%;
	left:0;
	z-index:0;
	width:100%;
	height:124%;
	will-change:transform;
}

.jbc-hero-video {
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center;
}

.jbc-hero-shade {
	position:absolute;
	inset:0;
	z-index:1;
	background:linear-gradient(180deg,#000000b8 0%,#00000075 43%,#0000008f 100%);
}

.jbc-hero-content {
	position:relative;
	z-index:2;
	width:min(1120px,90%);
	padding:135px 20px 80px;
	text-align:center;
}

.jbc-hero-eyebrow {
	margin: 0 auto 1.25em auto;
	color:#ffffff;
	font-family:"Montserrat",Arial,sans-serif;
	font-size:1em;
	font-weight:700;
	line-height:20px;
	letter-spacing:.22em;
	text-transform:uppercase;
}

.jbc-hero-title {
	max-width:1050px;
	margin:0 auto;
	color:#ffffff;
	font-family:"Cormorant Garamond",Georgia,serif;
	font-size:clamp(58px,6vw,104px);
	font-weight:600;
	line-height:.95;
	letter-spacing:-.025em;
	text-wrap:balance;
}

.jbc-hero-lead {
	max-width:820px;
	margin:28px auto 0;
	color:#ffffff;
	font-family:"Montserrat",Arial,sans-serif;
	font-size:18px;
	font-weight:400;
	line-height:31px;
	text-wrap:balance;
}

.jbc-hero-actions {
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	gap:12px;
	margin-top:32px;
}

.jbc-hero-button-primary,
.jbc-hero-button-secondary {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:50px;
	padding:13px 22px;
	border-radius:999px;
	font-family:"Montserrat",Arial,sans-serif;
	font-size:13px;
	font-weight:700;
	line-height:18px;
	letter-spacing:.03em;
	text-decoration:none;
}

.jbc-hero-button-primary {
	border:1px solid #ffffff;
	background:#ffffff;
	color:#000000;
}

.jbc-hero-button-primary:hover {
	background:#000000;
	color:#ffffff;
}
.jbc-hero-button-primary:focus {
color:#ffffff;
outline: 3px dotted #ab06ce;
background-color: #ab06ce;
outline-offset: 3px;
}
.jbc-hero-button-secondary {
	border:1px solid #ffffff;
	background:#00000066;
	color:#ffffff;
}

.jbc-hero-button-secondary:hover {
	background:#ffffff;
	color:#000000;
}
.jbc-hero-button-secondary:focus {
color:#ffffff;
outline: 3px dotted #ab06ce;
background-color: #ab06ce;
outline-offset: 3px;
}
.jbc-hero-motion {
	position:absolute;
	right:24px;
	bottom:136px;
	z-index:3;
	min-width:104px;
	min-height:44px;
	padding:10px 14px;
	border:1px solid #ffffff;
	border-radius:999px;
	background:#000000c7;
	color:#ffffff;
	font-family:"Montserrat",Arial,sans-serif;
	font-size:12px;
	font-weight:700;
	line-height:18px;
	cursor:pointer;
}
.jbc-hero-motion:focus {
color:#ffffff;
outline: 3px dotted #ab06ce;
background-color: #ab06ce;
outline-offset: 3px;
}

@media screen and (max-width:980px) {
	.jbc-hero-motion {
		bottom:108px;
	}
}

@media screen and (max-width:736px) {
	.jbc-hero-motion {
		bottom:82px;
	}
}

@media screen and (max-width:550px) {
.jbc-hero-eyebrow {
max-width: 275px;
}
}
/* =========================================================
   STORY
   ========================================================= */

.jbc-story-section {
	position:relative;
	display:block;
	padding:62px 0 76px;
	overflow:hidden;
	background:#fbfaf7;
}

.jbc-story-pattern {
	position:absolute;
	inset:0;
	z-index:0;
	background-image:radial-gradient(circle at 1px 1px,#0000000d 1px,transparent 0);
	background-size:24px 24px;
	mask-image:linear-gradient(90deg,#000000 0%,transparent 38%,transparent 100%);
	-webkit-mask-image:linear-gradient(90deg,#000000 0%,transparent 38%,transparent 100%);
	pointer-events:none;
}

.jbc-story-shell {
	position:relative;
	z-index:1;
	display:grid;
	grid-template-columns:minmax(420px,.9fr) minmax(0,1.5fr);
	align-items:stretch;
	gap:72px;
	margin:0 auto;
	width:min(1320px,90%);
}

.jbc-story-copy {
	display:flex;
	flex-direction:column;
	min-height:536px;
}

.jbc-story-title {
	margin:0 0 32px;
	color:#000000;
	font-family:"Cormorant Garamond",Georgia,serif;
	font-size:clamp(52px,4.6vw,78px);
	font-weight:500;
	line-height:1;
	letter-spacing:-.02em;
}

.jbc-story-lead {
	margin:0 0 14px;
	color:#000000;
	font-family:"Montserrat",Arial,sans-serif;
	font-size:18px;
	font-weight:400;
	line-height:31px;
}

.jbc-story-text {
	margin:0 0 14px;
	color:#000000;
	font-family:"Montserrat",Arial,sans-serif;
	font-size:16px;
	font-weight:400;
	line-height:29px;
}

a.jbc-story-link {
	display:block;
	box-sizing:border-box;
	text-align:center;
	margin-top:auto;
	padding:18px 32px;
	border:1px solid #d9d9d9;
	border-radius:999px;
	color:#ffffff;
	background:#000000;
	box-shadow:0 3px 16px #00000012;
	font-family:"Montserrat",Arial,sans-serif;
	font-size:14px;
	font-weight:700;
	line-height:22px;
	letter-spacing:.22em;
	text-decoration:none;
	text-transform:uppercase;
	max-width:520px;
}

a.jbc-story-link:hover {
	color:#000000;
	background:#ffffff;
}

a.jbc-story-link:focus {
	color:#ffffff;
	outline:3px dotted #ab06ce;
	background-color:#ab06ce;
	outline-offset:3px;
}

.jbc-story-media {
	position:relative;
	display:block;
	margin:0;
	background:transparent;
	box-shadow:none;
	width:100%;
}

/* =========================================================
   MENU
   ========================================================= */

.jbc-menu-section {
	position:relative;
	z-index:2;
	padding:118px 0 132px;
	background-color:#ffffff;
	background-image:linear-gradient(45deg, rgba(111, 116, 40, .025) 25%, transparent 25%, transparent 75%, rgba(111, 116, 40, .025) 75%, rgba(111, 116, 40, .025)), linear-gradient(45deg, rgba(111, 116, 40, .025) 25%, transparent 25%, transparent 75%, rgba(111, 116, 40, .025) 75%, rgba(111, 116, 40, .025));
	background-position:0 0, 14px 14px;
	background-size:28px 28px;
}

.jbc-menu-section::before {
	content:"";
	position:absolute;
	top:-140px;
	left:0;
	z-index:0;
	pointer-events:none;
	background-color:#ffffff;
	background-image:linear-gradient(45deg, rgba(111, 116, 40, .025) 25%, transparent 25%, transparent 75%, rgba(111, 116, 40, .025) 75%, rgba(111, 116, 40, .025)), linear-gradient(45deg, rgba(111, 116, 40, .025) 25%, transparent 25%, transparent 75%, rgba(111, 116, 40, .025) 75%, rgba(111, 116, 40, .025));
	background-position:0 0, 14px 14px;
	background-size:28px 28px;
	-webkit-clip-path:polygon(0.00% 30.00%, 1.32% 31.78%, 2.63% 33.78%, 3.93% 35.98%, 5.22% 38.34%, 6.50% 40.85%, 7.78% 43.48%, 9.06% 46.21%, 10.34% 49.02%, 11.62% 51.88%, 12.92% 54.76%, 14.23% 57.65%, 15.56% 60.52%, 16.90% 63.34%, 18.26% 66.10%, 19.65% 68.77%, 21.07% 71.33%, 22.52% 73.74%, 24.00% 76.00%, 25.18% 77.42%, 26.40% 78.67%, 27.65% 79.75%, 28.93% 80.67%, 30.23% 81.42%, 31.56% 82.00%, 32.90% 82.42%, 34.26% 82.67%, 35.62% 82.75%, 37.00% 82.67%, 38.39% 82.42%, 39.78% 82.00%, 41.17% 81.42%, 42.55% 80.67%, 43.93% 79.75%, 45.30% 78.67%, 46.66% 77.42%, 48.00% 76.00%, 49.66% 74.06%, 51.30% 71.91%, 52.92% 69.58%, 54.53% 67.08%, 56.12% 64.42%, 57.70% 61.63%, 59.27% 58.72%, 60.83% 55.71%, 62.38% 52.62%, 63.91% 49.47%, 65.44% 46.27%, 66.96% 43.04%, 68.48% 39.79%, 69.99% 36.55%, 71.50% 33.34%, 73.00% 30.16%, 74.50% 27.04%, 76.00% 24.00%, 77.34% 21.79%, 78.70% 19.81%, 80.07% 18.06%, 81.45% 16.55%, 82.83% 15.26%, 84.22% 14.19%, 85.61% 13.33%, 87.00% 12.69%, 88.38% 12.25%, 89.74% 12.02%, 91.10% 11.99%, 92.44% 12.15%, 93.77% 12.50%, 95.07% 13.04%, 96.35% 13.77%, 97.60% 14.67%, 98.82% 15.75%, 100.00% 17.00%, 100% 100%, 0 100%);
	clip-path:polygon(0.00% 30.00%, 1.32% 31.78%, 2.63% 33.78%, 3.93% 35.98%, 5.22% 38.34%, 6.50% 40.85%, 7.78% 43.48%, 9.06% 46.21%, 10.34% 49.02%, 11.62% 51.88%, 12.92% 54.76%, 14.23% 57.65%, 15.56% 60.52%, 16.90% 63.34%, 18.26% 66.10%, 19.65% 68.77%, 21.07% 71.33%, 22.52% 73.74%, 24.00% 76.00%, 25.18% 77.42%, 26.40% 78.67%, 27.65% 79.75%, 28.93% 80.67%, 30.23% 81.42%, 31.56% 82.00%, 32.90% 82.42%, 34.26% 82.67%, 35.62% 82.75%, 37.00% 82.67%, 38.39% 82.42%, 39.78% 82.00%, 41.17% 81.42%, 42.55% 80.67%, 43.93% 79.75%, 45.30% 78.67%, 46.66% 77.42%, 48.00% 76.00%, 49.66% 74.06%, 51.30% 71.91%, 52.92% 69.58%, 54.53% 67.08%, 56.12% 64.42%, 57.70% 61.63%, 59.27% 58.72%, 60.83% 55.71%, 62.38% 52.62%, 63.91% 49.47%, 65.44% 46.27%, 66.96% 43.04%, 68.48% 39.79%, 69.99% 36.55%, 71.50% 33.34%, 73.00% 30.16%, 74.50% 27.04%, 76.00% 24.00%, 77.34% 21.79%, 78.70% 19.81%, 80.07% 18.06%, 81.45% 16.55%, 82.83% 15.26%, 84.22% 14.19%, 85.61% 13.33%, 87.00% 12.69%, 88.38% 12.25%, 89.74% 12.02%, 91.10% 11.99%, 92.44% 12.15%, 93.77% 12.50%, 95.07% 13.04%, 96.35% 13.77%, 97.60% 14.67%, 98.82% 15.75%, 100.00% 17.00%, 100% 100%, 0 100%);
	width:100%;
	height:141px;
}

@media screen and (max-width:980px) {
	.jbc-menu-section::before {
		top:-112px;
		height:113px;
	}
}

@media screen and (max-width:736px) {
	.jbc-menu-section::before {
		top:-84px;
		height:85px;
	}
}

.jbc-menu-shell {
	position:relative;
	z-index:1;
	box-sizing:border-box;
	margin:0 auto 0 auto;
	width:min(1320px,90%);
}

.jbc-menu-heading {
	max-width:890px;
	margin:0 auto 56px;
	text-align:center;
}

.jbc-menu-eyebrow {
	margin:0 0 13px;
	color:#000000;
	font-family:"Montserrat",Arial,sans-serif;
	font-size:1em;
	font-weight:700;
	line-height:18px;
	letter-spacing:.20em;
	text-transform:uppercase;
}

.jbc-menu-title {
	margin:0;
	color:#000000;
	font-family:"Cormorant Garamond",Georgia,serif;
	font-size:clamp(46px,4.5vw,76px);
	font-weight:600;
	line-height:1;
	letter-spacing:-.02em;
	text-wrap:balance;
}

.jbc-menu-intro {
	max-width:860px;
	margin:22px auto 0;
	color:#000000;
	font-family:"Montserrat",Arial,sans-serif;
	font-size:16px;
	font-weight:400;
	line-height:29px;
}

.jbc-menu-grid {
	display:grid;
	grid-template-columns:minmax(0,1fr) minmax(320px,.8fr) minmax(0,1fr);
	align-items:stretch;
	gap:18px;
}

.jbc-menu-card {
	position:relative;
	min-height:510px;
	margin:0;
	overflow:visible;
	background:#151515;
}

.jbc-menu-card-one::after,
.jbc-menu-card-two::after {
	content:"";
	position:absolute;
	top:21px;
	bottom:-21px;
	z-index:0;
	border:2px solid #1f1f1f;
	pointer-events:none;
}

.jbc-menu-card-one::after {
	right:-21px;
	left:21px;
}

.jbc-menu-card-two::after {
	right:21px;
	left:-21px;
}

.jbc-menu-image {
	position:relative;
	z-index:1;
	display:block;
	width:100%;
	height:100%;
	min-height:510px;
	object-fit:cover;
}

.jbc-menu-card:hover .jbc-menu-image {
	transform:none;
}

.jbc-menu-caption {
	position:absolute;
	left:18px;
	bottom:18px;
	z-index:3;
	padding:10px 13px;
	background:#ffffffe8;
	color:#000000;
	font-family:"Montserrat",Arial,sans-serif;
	font-size:12px;
	font-weight:700;
	line-height:18px;
	letter-spacing:.04em;
}

.jbc-menu-card-one .jbc-menu-caption {
	right:18px;
	left:auto;
}

.jbc-menu-copy-card {
	display:flex;
	flex-direction:column;
	justify-content:center;
	min-height:510px;
	padding:46px 38px;
	background:#ffffff;
}

.jbc-menu-copy-title {
	margin:0 0 22px;
	color:#000000;
	font-family:"Cormorant Garamond",Georgia,serif;
	font-size:38px;
	font-weight:600;
	line-height:1.04;
}

.jbc-menu-copy-text {
	margin:0;
	color:#000000;
	font-family:"Montserrat",Arial,sans-serif;
	font-size:15px;
	font-weight:400;
	line-height:28px;
}

.jbc-menu-button {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	align-self:flex-start;
	min-height:46px;
	margin-top:28px;
	padding:11px 18px;
	border:1px solid #000000;
	border-radius:999px;
	background:#000000;
	color:#ffffff;
	font-family:"Montserrat",Arial,sans-serif;
	font-size:12px;
	font-weight:700;
	line-height:18px;
	text-decoration:none;
}

.jbc-menu-button:hover {
	background:#ffffff;
	color:#000000;
}
.jbc-menu-button:focus {
color:#ffffff;
outline: 3px dotted #ab06ce;
background-color: #ab06ce;
outline-offset: 3px;
}

/* =========================================================
   CONTINUOUS CENTER-FOCUS GALLERY
   ========================================================= */

.jbc-gallery-section {
	padding:110px 0 94px;
	background:#f7f3ed;
	overflow:hidden;
}

.jbc-gallery-heading {
	width:min(1000px,90%);
	margin:0 auto 1em auto;
	text-align:center;
}

.jbc-gallery-eyebrow {
	margin:0 0 13px;
	color:#000000;
	font-family:"Montserrat",Arial,sans-serif;
	font-size:1em;
	font-weight:700;
	line-height:18px;
	letter-spacing:.20em;
	text-transform:uppercase;
}

.jbc-gallery-title {
	color:#000000;
	font-family:"Cormorant Garamond",Georgia,serif;
	font-size:clamp(44px,4.2vw,70px);
	font-weight:600;
	line-height:1;
	letter-spacing:-.02em;
	margin: 0 auto;
	max-width: 900px;
}

.jbc-gallery-intro {
	max-width:1000px;
	margin:20px auto 0;
	color:#000000;
	font-family:"Montserrat",Arial,sans-serif;
	font-size:15px;
	font-weight:400;
	line-height:28px;
}

.jbc-gallery-browse,
.jbc-gallery-skip,
.jbc-gallery-return {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:46px;
	padding:10px 18px;
	border:1px solid #000000;
	border-radius:999px;
	background:#000000;
	color:#ffffff;
	font-family:"Montserrat",Arial,sans-serif;
	font-size:12px;
	font-weight:700;
	line-height:18px;
	text-align:center;
	text-decoration:none;
	cursor:pointer;
}
.jbc-gallery-browse:hover,
.jbc-gallery-skip:hover,
.jbc-gallery-return:hover {
	background:#ffffff;
	color:#000000;
}
.jbc-gallery-browse:focus,
.jbc-gallery-skip:focus,
.jbc-gallery-return:focus,
.jbc-gallery-browse:focus {
color:#ffffff;
outline: 3px dotted #ab06ce;
background-color: #ab06ce;
outline-offset: 3px;	
}
.jbc-gallery-skip,
.jbc-gallery-return {
	display:flex;
	width:max-content;
	max-width:calc(100% - 40px);
	margin-left:auto;
	margin-right:auto;
}

.jbc-gallery-skip {
	margin-bottom: 0;
}

.jbc-gallery-return {
	margin-top:22px;
}



.jbc-gallery-instructions {
	max-width: 900px;
	margin:18px auto 0;
	color:#000000;
	font-family:"Montserrat",Arial,sans-serif;
	font-size:14px;
	font-weight:400;
	line-height:25px;
}

.jbc-gallery-viewport {
	position:relative;
	width:min(1320px,90%);
	height:590px;
	margin:0 auto;
	overflow:hidden;
	background:#f7f3ed;
	box-sizing:border-box;
}

.jbc-gallery-track {
	position:absolute;
	left:0;
	top:0;
	display:flex;
	align-items:flex-end;
	width:max-content;
	height:100%;
	will-change:transform;
}

.jbc-gallery-group {
	display:flex;
	align-items:flex-end;
	gap:0;
	flex:0 0 auto;
	padding:0;
}

.jbc-gallery-slide {
	position:relative;
	flex:0 0 350px;
	width:350px;
	margin:0 -40px 0 0;
	background:transparent;
	transform-origin:center 450px;
	will-change:transform;
}

.jbc-gallery-image {
	display:block;
	width:350px;
	height:450px;
	object-fit:cover;
}

.jbc-gallery-slide > a {
	display:block;
	width:350px;
	color:#000000;
	text-decoration:none;
}

.jbc-gallery-slide:focus-within {
	z-index:200 !important;
}

.jbc-gallery-slide > a:focus,
.jbc-gallery-slide > a:focus-visible {
	outline:none;
}

.jbc-gallery-slide > a:focus .jbc-gallery-image,
.jbc-gallery-slide > a:focus-visible .jbc-gallery-image {
	outline:4px dotted #a307fc;
	outline-offset:-8px;
}

.jbc-gallery-caption {
	display:block;
	width:350px;
	box-sizing:border-box;
	padding:10px 8px 0;
	background:transparent;
	color:#000000;
	font-family:"Montserrat",Arial,sans-serif;
	font-size:11px;
	font-weight:700;
	line-height:16px;
	text-align:center;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
}
.jbc-gallery-controls-title {
	text-align:center;
	font-size:1.35em;
	margin:0 auto;
}

.jbc-gallery-controls {
    position: relative;
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	gap:10px;
	margin-top: 1em;
}

.jbc-gallery-control {
	min-width:112px;
	min-height:46px;
	padding:10px 15px;
	border:1px solid #ffffff;
	border-radius:999px;
	background:#000000;
	color:#ffffff;
	font-family:"Montserrat",Arial,sans-serif;
	font-size:12px;
	font-weight:700;
	line-height:18px;
	cursor:pointer;
}

.jbc-gallery-control:hover,
.jbc-gallery-pause[aria-pressed="true"] {
	background:#ffffff;
	color:#000000;
	border:1px solid #000000;
}
.jbc-gallery-control:focus {
color:#ffffff;
outline: 3px dotted #ab06ce;
background-color: #ab06ce;
outline-offset: 3px;
}
/* =========================================================
   SECOND PARALLAX
   ========================================================= */

.jbc-dining-parallax-section {
	position:relative;
	display:flex;
	align-items:center;
	min-height:700px;
	overflow:hidden;
	background:#000000;
}

.jbc-dining-parallax-media {
	position:absolute;
	top:-25%;
	left:0;
	z-index:0;
	width:100%;
	height:150%;
	background-image:url('images/skillet.jpg');
	background-position:center;
	background-size:cover;
	background-repeat:no-repeat;
	will-change:transform;
}

.jbc-dining-parallax-shade {
	position:absolute;
	inset:0;
	z-index:1;
	background:linear-gradient(90deg,#000000d6 0%,#0000009e 48%,#00000047 100%);
}

.jbc-dining-parallax-content {
	position:relative;
	z-index:2;
	width:min(1280px,90%);
	margin:0 auto;
	padding:90px 0;
}

.jbc-dining-parallax-eyebrow {
	max-width:660px;
	margin:0 0 14px;
	color:#ffffff;
	font-family:"Montserrat",Arial,sans-serif;
	font-size:1em;
	font-weight:700;
	line-height:18px;
	letter-spacing:.20em;
	text-transform:uppercase;
}

.jbc-dining-parallax-title {
	max-width:760px;
	margin:0;
	color:#ffffff;
	font-family:"Cormorant Garamond",Georgia,serif;
	font-size:clamp(50px,5vw,84px);
	font-weight:600;
	line-height:.98;
	letter-spacing:-.02em;
}

.jbc-dining-parallax-text {
	max-width:690px;
	margin:22px 0 0;
	color:#ffffff;
	font-family:"Montserrat",Arial,sans-serif;
	font-size:17px;
	font-weight:400;
	line-height:31px;
}
@media screen and (max-width:1280px) {
.jbc-dining-parallax-section {
	min-height:550px;
}
}
/* =========================================================
   COFFEE & HOMEMADE GOODNESS
   ========================================================= */

.jbc-coffee-section {
	padding:118px 0;
	background:#ffffff;
}

.jbc-coffee-shell {
	display:grid;
	grid-template-columns:minmax(0,.9fr) minmax(460px,1.1fr);
	align-items:center;
	gap:80px;
	box-sizing:border-box;
	margin:0 auto;
	width:min(1320px,90%);
}

.jbc-coffee-copy {
	min-width:0;
}

.jbc-coffee-eyebrow {
	margin:0 0 13px;
	color:#000000;
	font-family:"Montserrat",Arial,sans-serif;
	font-size:1em;
	font-weight:700;
	line-height:18px;
	letter-spacing:.20em;
	text-transform:uppercase;
}

.jbc-coffee-title {
	margin:0 0 24px;
	color:#000000;
	font-family:"Cormorant Garamond",Georgia,serif;
	font-size:clamp(46px,4.3vw,72px);
	font-weight:600;
	line-height:1;
	letter-spacing:-.02em;
}

.jbc-coffee-text {
	margin:0 0 16px;
	color:#000000;
	font-family:"Montserrat",Arial,sans-serif;
	font-size:16px;
	font-weight:400;
	line-height:29px;
}

.jbc-coffee-images {
	display:block;
	min-width:0;
}

.jbc-coffee-image-large {
	display:block;
	max-width:none;
	width:100%;
	height:auto;
}

/* =========================================================
   SPECIALS
   ========================================================= */

.jbc-specials-section {
	position:relative;
	padding:112px 0;
	overflow:hidden;
	background-color:#f2ece3;
	background-image:linear-gradient(45deg, rgba(111, 116, 40, .025) 25%, transparent 25%, transparent 75%, rgba(111, 116, 40, .025) 75%, rgba(111, 116, 40, .025)), linear-gradient(45deg, rgba(111, 116, 40, .025) 25%, transparent 25%, transparent 75%, rgba(111, 116, 40, .025) 75%, rgba(111, 116, 40, .025));
	background-position:0 0, 14px 14px;
	background-size:28px 28px;
}

.jbc-specials-pattern {
	display:none;
}

.jbc-specials-shell {
	position:relative;
	z-index:1;
	display:grid;
	grid-template-columns:minmax(0,.8fr) minmax(420px,1.2fr);
	align-items:center;
	gap:70px;
    box-sizing:border-box;
	margin: 0 auto 0 auto;
	width:min(1320px,90%);
}

.jbc-specials-eyebrow {
	margin:0 0 13px;
	color:#000000;
	font-family:"Montserrat",Arial,sans-serif;
	font-size:1em;
	font-weight:700;
	line-height:18px;
	letter-spacing:.20em;
	text-transform:uppercase;
}

.jbc-specials-title {
	margin:0 0 22px;
	color:#000000;
	font-family:"Cormorant Garamond",Georgia,serif;
	font-size:clamp(46px,4.3vw,72px);
	font-weight:600;
	line-height:1;
	letter-spacing:-.02em;
}

.jbc-specials-headline {
	margin:0 0 10px;
	color:#000000;
	font-family:"Montserrat",Arial,sans-serif;
	font-size:20px;
	font-weight:700;
	line-height:29px;
}

.jbc-specials-description {
	margin:0;
	color:#000000;
	font-family:"Montserrat",Arial,sans-serif;
	font-size:16px;
	font-weight:400;
	line-height:29px;
}

.jbc-specials-image-wrap {
	background:#ffffff;
	box-shadow:20px 20px 0 #000000;
}

.jbc-specials-image {
	display:block;
	width:100%;
	height:auto;
}

/* =========================================================
   PRIVATE EVENTS
   ========================================================= */

.jbc-events-section {
	padding:120px 0;
	background:#ffffff;
}

.jbc-events-shell {
	display:grid;
	grid-template-columns:minmax(460px,1.15fr) minmax(0,.85fr);
	align-items:center;
	gap:76px;
	box-sizing:border-box;
	margin: 0 auto 0 auto;
	width:min(1320px,90%);
}

.jbc-events-image-wrap {
	position:relative;
}

.jbc-events-image-wrap::after {
	content:"";
	position:absolute;
	right:-20px;
	bottom:-20px;
	z-index:0;
	width:54%;
	height:54%;
	border:1px solid #000000;
}

.jbc-events-image {
	position:relative;
	z-index:1;
	display:block;
	width:100%;
	height:560px;
	object-fit:cover;
}

.jbc-events-eyebrow {
	margin:0 0 13px;
	color:#000000;
	font-family:"Montserrat",Arial,sans-serif;
	font-size:1em;
	font-weight:700;
	line-height:18px;
	letter-spacing:.20em;
	text-transform:uppercase;
}

.jbc-events-title {
	margin:0 0 24px;
	color:#000000;
	font-family:"Cormorant Garamond",Georgia,serif;
	font-size:clamp(46px,4.2vw,70px);
	font-weight:600;
	line-height:1;
	letter-spacing:-.02em;
}

.jbc-events-text {
	margin:0 0 16px;
	color:#000000;
	font-family:"Montserrat",Arial,sans-serif;
	font-size:16px;
	font-weight:400;
	line-height:29px;
}

.jbc-events-phone {
	color:#000000;
	font-family:"Montserrat",Arial,sans-serif;
	font-size:16px;
	font-weight:700;
	line-height:29px;
	text-decoration:underline;
	text-underline-offset:4px;
}
.jbc-events-phone:focus {
color:#ffffff;
outline: 3px dotted #ab06ce;
background-color: #ab06ce;
outline-offset: 3px;
}
.jbc-events-button {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:48px;
	margin-top:16px;
	padding:12px 19px;
	border:1px solid #000000;
	border-radius:999px;
	background:#000000;
	color:#ffffff;
	font-family:"Montserrat",Arial,sans-serif;
	font-size:12px;
	font-weight:700;
	line-height:18px;
	text-decoration:none;
}

.jbc-events-button:hover {
	background:#ffffff;
	color:#000000;
}
.jbc-events-button:focus {
color:#ffffff;
outline: 3px dotted #ab06ce;
background-color: #ab06ce;
outline-offset: 3px;
}
/* =========================================================
   VISIT
   ========================================================= */

.jbc-visit-section {
	padding:95px 0;
	background:#000000;
}

.jbc-visit-shell {
	display:grid;
	grid-template-columns:minmax(0,1.1fr) minmax(260px,.7fr) minmax(260px,.7fr);
	align-items:center;
	gap:56px;
    box-sizing:border-box;
	margin: 0 auto 0 auto;
	width:min(1320px,90%);
}

.jbc-visit-eyebrow {
	margin:0 0 13px;
	color:#ffffff;
	font-family:"Montserrat",Arial,sans-serif;
	font-size:1em;
	font-weight:700;
	line-height:18px;
	letter-spacing:.20em;
	text-transform:uppercase;
}

.jbc-visit-title {
	margin:0 0 18px;
	color:#ffffff;
	font-family:"Cormorant Garamond",Georgia,serif;
	font-size:clamp(42px,4vw,66px);
	font-weight:600;
	line-height:1;
	letter-spacing:-.02em;
}

.jbc-visit-text {
	margin:0;
	color:#ffffff;
	font-family:"Montserrat",Arial,sans-serif;
	font-size:15px;
	font-weight:400;
	line-height:27px;
}

.jbc-visit-parking {
	margin:8px 0 0;
	color:#ffffff;
	font-family:"Montserrat",Arial,sans-serif;
	font-size:13px;
	font-weight:700;
	line-height:20px;
	letter-spacing:.08em;
	text-transform:uppercase;
}

.jbc-visit-hours-title {
	margin:0 0 10px;
	color:#ffffff;
	font-family:"Montserrat",Arial,sans-serif;
	font-size:14px;
	font-weight:700;
	line-height:21px;
	text-transform:uppercase;
}

.jbc-visit-hours {
	margin:0 0 12px;
	color:#ffffff;
	font-family:"Montserrat",Arial,sans-serif;
	font-size:14px;
	font-weight:400;
	line-height:26px;
}

.jbc-visit-phone {
	color:#ffffff;
	font-family:"Montserrat",Arial,sans-serif;
	font-size:18px;
	font-weight:700;
	line-height:26px;
	text-decoration:none;
}
.jbc-visit-phone:focus {
color:#ffffff;
outline: 3px dotted #ab06ce;
background-color: #ab06ce;
outline-offset: 3px;
}
.jbc-visit-actions {
	display:grid;
	gap:10px;
}

.jbc-visit-action-primary,
.jbc-visit-action-secondary {
	display:flex;
	align-items:center;
	justify-content:center;
	min-height:48px;
	padding:11px 16px;
	border-radius:999px;
	font-family:"Montserrat",Arial,sans-serif;
	font-size:12px;
	font-weight:700;
	line-height:18px;
	text-align:center;
	text-decoration:none;
}

.jbc-visit-action-primary {
	border:1px solid #ffffff;
	background:#ffffff;
	color:#000000;
}

.jbc-visit-action-primary:hover {
	background:#000000;
	color:#ffffff;
}
.jbc-visit-action-primary:focus {
color:#ffffff;
outline: 3px dotted #ab06ce;
background-color: #ab06ce;
outline-offset: 3px;
}
.jbc-visit-action-secondary {
	border:1px solid #ffffff;
	background:#000000;
	color:#ffffff;
}

.jbc-visit-action-secondary:hover {
	background:#ffffff;
	color:#000000;
}
.jbc-visit-action-secondary:focus {
color:#ffffff;
outline: 3px dotted #ab06ce;
background-color: #ab06ce;
outline-offset: 3px;
}
/* =========================================================
   FOOTER
   ========================================================= */

.jbc-footer-section {
	padding:76px 0 42px;
	background:#f4efe7;
}

.jbc-footer-shell {
	box-sizing:border-box;
	margin: 0 auto 0 auto;
	width:min(1320px,90%);
}

.jbc-footer-top {
	display:grid;
	grid-template-columns:1.15fr 1fr .8fr;
	gap:60px;
	padding-bottom:42px;
	border-bottom:1px solid #0000002b;
}

.jbc-footer-brand {
	display:block;
	margin:0;
	color:#000000;
	font-family:"Cormorant Garamond",Georgia,serif;
	font-size:38px;
	font-weight:600;
	line-height:42px;
}

.jbc-footer-tagline {
	max-width:390px;
	margin:10px 0 0;
	color:#000000;
	font-family:"Montserrat",Arial,sans-serif;
	font-size:14px;
	font-weight:400;
	line-height:25px;
}

.jbc-footer-contact-title {
	margin:0 0 10px;
	color:#000000;
	font-family:"Montserrat",Arial,sans-serif;
	font-size:14px;
	font-weight:700;
	line-height:22px;
	text-transform:uppercase;
}

.jbc-footer-address {
	margin:0 0 8px;
	color:#000000;
	font-family:"Montserrat",Arial,sans-serif;
	font-size:14px;
	font-weight:400;
	line-height:24px;
}

.jbc-footer-phone,
.jbc-footer-email,
.jbc-footer-link {
	color:#000000;
	font-family:"Montserrat",Arial,sans-serif;
	font-size:13px;
	font-weight:600;
	line-height:22px;
	text-decoration:none;
}

.jbc-footer-phone,
.jbc-footer-email {
	display:block;
	margin-top:6px;
}

.jbc-footer-links {
	display:grid;
	align-content:start;
	gap:8px;
}

.jbc-footer-phone:hover,
.jbc-footer-email:hover,
.jbc-footer-link:hover {
	text-decoration:underline;
	text-underline-offset:4px;
}
.jbc-footer-phone:focus,
.jbc-footer-email:focus,
.jbc-footer-link:focus {
color:#ffffff;
outline: 3px dotted #ab06ce;
background-color: #ab06ce;
outline-offset: 3px;
}
.jbc-footer-accessibility {
	padding:38px 0 30px;
	border-bottom:1px solid #0000002b;
}

.jbc-accessibility-title {
	margin:0 0 10px;
	color:#000000;
	font-family:"Montserrat",Arial,sans-serif;
	font-size:15px;
	font-weight:700;
	line-height:23px;
}

.jbc-accessibility-text {
	margin:0;
	color:#000000;
	font-family:"Montserrat",Arial,sans-serif;
	font-size:13px;
	font-weight:400;
	line-height:24px;
}

.jbc-accessibility-link {
	color:#000000;
	font-family:"Montserrat",Arial,sans-serif;
	font-size:13px;
	font-weight:700;
	line-height:24px;
	text-decoration:underline;
	text-underline-offset:4px;
}

.jbc-accessibility-link:focus {
color:#ffffff;
outline: 3px dotted #ab06ce;
background-color: #ab06ce;
outline-offset: 3px;
}
.jbc-footer-bottom {
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	width:100%;
	margin:0 auto;
	padding:1em 0;
	text-align:center;
}

.jbc-footer-copyright {
	display:block;
	margin:1em 0;
	color:#000000;
	font-family:"Montserrat",Arial,sans-serif;
	font-size:22px;
	font-weight:700;
	line-height:28px;
	text-align:center;
}

.jbc-footer-top-link {
	display:block;
	width:125px;
	height:44px;
	margin:1em 0;
	border:1px solid #000000;
	border-radius:999px;
	background:#000000;
	color:#ffffff;
	font-family:"Montserrat",Arial,sans-serif;
	font-size:11px;
	font-weight:700;
	line-height:42px;
	text-align:center;
	text-decoration:none;
}

.jbc-footer-top-link:hover {
	background:#ffffff;
	color:#000000;
}
.jbc-footer-top-link:focus {
color:#ffffff;
outline: 3px dotted #ab06ce;
background-color: #ab06ce;
outline-offset: 3px;
}
.jbc-footer-credit {
	display:block;
	margin:1em 0;
}
a.jbc-footer-credit:focus {
color:#ffffff;
outline: 3px dotted #ab06ce;
background-color: #ab06ce;
outline-offset: 3px;
}
.jbc-footer-credit-image {
	display:block;
	width:200px;
	height:auto;
	margin:0 auto;
}
@media screen and (max-width:1580px) {

.jbc-gallery-title {
	max-width: 700px;
}
}

/* OUR BEGINNINGS RESPONSIVE LAYOUT */
@media screen and (max-width:1180px) {
	.jbc-story-shell {
		grid-template-columns:minmax(390px,.9fr) minmax(0,1.35fr);
		gap:58px;
	}
}

@media screen and (max-width:860px) {
	.jbc-story-shell {
		grid-template-columns:1fr;
		gap:48px;
		max-width:760px;
	}

	.jbc-story-media,
	.jbc-beginnings-photos {
		position:relative;
		margin:0 auto;
		max-width:536px;
		width:100%;
		height:280px;
	}

	.jbc-beginnings-photo {
		top:0;
		bottom:auto;
		width:280px;
		height:280px;
	}

	.jbc-beginnings-photo-one {
		left:0;
		right:auto;
	}

	.jbc-beginnings-photo-two {
		left:auto;
		right:0;
	}

	.jbc-story-copy {
		display:block;
		min-height:0;
		text-align:center;
	}

	a.jbc-story-link {
		margin:34px auto 0;
		max-width:520px;
	}
}

@media screen and (max-width:700px) {
	.jbc-beginnings-photos {
		height:calc((90vw + 24px) / 2);
	}

	.jbc-beginnings-photo {
		width:calc((100% + 24px) / 2);
		height:auto;
		aspect-ratio:1 / 1;
	}
}

@media screen and (max-width:580px) {
	.jbc-story-shell {
		gap:34px;
	}

	.jbc-beginnings-photo {
		border-width:5px;
		box-shadow:10px 10px 0 #efe8dd;
	}

	.jbc-story-title {
		margin-bottom:28px;
		font-size:44px;
	}

	.jbc-story-lead,
	.jbc-story-text {
		font-size:15px;
		line-height:27px;
	}

	a.jbc-story-link {
		padding:15px 20px;
		font-size:12px;
		letter-spacing:.16em;
	}
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media screen and (max-width:1180px) {
	
	.jbc-gallery-title {
	max-width: 600px;
}
	.jbc-header-inner {
		min-height:74px;
	}

	.jbc-menu-toggle {
		display:inline-flex;
		align-items:center;
		justify-content:center;
	}

	.jbc-primary-nav {
		position:absolute;
		top:74px;
		right:3%;
		display:none;
		width:min(370px,94vw);
		padding:16px;
		background:#000000;
		border:1px solid #ffffff33;
	}

	.jbc-primary-nav.is-open {
		display:grid;
		gap:4px;
	}

	.jbc-nav-link,
	.jbc-nav-reserve {
		justify-content:flex-start;
		width:100%;
		border-radius:3px;
	}


	.jbc-coffee-shell {
		grid-template-columns:1fr;
		gap:52px;
		width:min(1120px,90%);
	}

	.jbc-coffee-copy {
		max-width:900px;
	}

	.jbc-coffee-images {
		width:100%;
	}

	.jbc-events-shell {
		grid-template-columns:1fr 1fr;
		gap:50px;
	}
	.jbc-visit-shell {
		grid-template-columns:1fr 1fr;
	}

	.jbc-visit-actions {
		grid-column:1 / -1;
		grid-template-columns:repeat(3,1fr);
	}

}

@media screen and (max-width:860px) {
	.jbc-hero-section {
		height:78vh;
		min-height:620px;
	}

	.jbc-hero-content {
		padding-top:120px;
	}

	.jbc-story-section,
	.jbc-menu-section,
	.jbc-coffee-section,
	.jbc-specials-section,
	.jbc-events-section {
		padding-top:82px;
		padding-bottom:82px;
	}

	.jbc-coffee-shell,
	.jbc-specials-shell,
	.jbc-events-shell,
	.jbc-visit-shell,
	.jbc-footer-top {
		grid-template-columns:1fr;
	}


	.jbc-menu-grid {
		grid-template-columns:1fr;
	}

	.jbc-menu-copy-card {
		grid-column:auto;
	}

	.jbc-menu-card,
	.jbc-menu-image {
		min-height:420px;
	}

   .jbc-gallery-viewport {
		height: 460px;
	}

	.jbc-gallery-slide {
		flex-basis:240px;
		width:240px;
		transform-origin:center 309px;
	}

	.jbc-gallery-image {
		width:240px;
		height:309px;
	}

	.jbc-gallery-caption {
		width:240px;
	}
	.jbc-events-image {
		height:480px;
	}

	.jbc-visit-actions {
		grid-column:auto;
		grid-template-columns:1fr;
	}

	.jbc-footer-bottom {
		grid-template-columns:1fr;
		justify-items:center;
		text-align:center;
	}

	.jbc-footer-credit {
		justify-self:center;
	}
}

@media screen and (max-width:580px) {

.jbc-hero-eyebrow, .jbc-story-eyebrow, .jbc-menu-eyebrow,
.jbc-gallery-eyebrow, .jbc-dining-parallax-eyebrow, 
.jbc-coffee-eyebrow, .jbc-specials-eyebrow, .jbc-visit-eyebrow,
.jbc-specials-eyebrow, .jbc-events-eyebrow {
font-size: .8em;
}

   	.jbc-gallery-title {
   	font-size: clamp(34px, 4.2vw, 70px);
	max-width: 450px;
}

	.jbc-header-inner {
		width:92%;
		min-height:68px;
	}
	.jbc-header-brand {
		font-size:23px;
		line-height:22px;
	}

	.jbc-header-brand span {
		font-size:9px;
		line-height:11px;
	}

	.jbc-primary-nav {
		top:68px;
		right:4%;
	}

	.jbc-hero-section {
		height:76vh;
		min-height:600px;
	}

	.jbc-hero-content {
		width:94%;
		padding:110px 10px 82px;
	}

	.jbc-hero-title {
		font-size: 36px;
		line-height:.98;
	}

	.jbc-hero-lead {
		font-size:15px;
		line-height:26px;
	}

	.jbc-hero-actions {
		align-items:center;
		flex-direction:column;
	}

	.jbc-hero-button-primary,
	.jbc-hero-button-secondary {
		width:min(310px,100%);
	}

	.jbc-hero-motion {
		right:14px;
		bottom:82px;
	}

	.jbc-story-shell,
	.jbc-menu-shell,
	.jbc-coffee-shell,
	.jbc-specials-shell,
	.jbc-events-shell,
	.jbc-visit-shell,
	.jbc-footer-shell {
		width:90%;
	}

	.jbc-story-title,
	.jbc-menu-title,
	.jbc-coffee-title,
	.jbc-specials-title,
	.jbc-events-title,
	.jbc-visit-title {
		font-size: 34px;
		line-height:1;
	}

	.jbc-story-lead {
		font-size:17px;
		line-height:29px;
	}

	.jbc-story-text,
	.jbc-menu-intro,
	.jbc-menu-copy-text,
	.jbc-gallery-intro,
	.jbc-coffee-text,
	.jbc-specials-description,
	.jbc-events-text {
		font-size:15px;
		line-height:27px;
	}

	.jbc-menu-card,
	.jbc-menu-image {
		min-height:360px;
	}

	.jbc-menu-copy-card {
		padding:34px 26px;
	}

	.jbc-menu-copy-title {
		font-size:34px;
		line-height:1.05;
	}

	.jbc-gallery-section {
		padding:78px 0 70px;
	}

	.jbc-gallery-viewport {
		width:92%;
		height: 350px;
	}
 
	.jbc-gallery-slide {
		flex-basis:160px;
		width:160px;
		transform-origin:center 206px;
	}

	.jbc-gallery-image {
		width:160px;
		height:206px;
	}

	.jbc-gallery-caption {
		width:160px;
	}

	.jbc-gallery-control {
		min-width:96px;
		font-size:11px;
	}

	.jbc-dining-parallax-section {
		min-height:520px;
	}

	.jbc-dining-parallax-content {
		width:90%;
		padding:70px 0;
	}

	.jbc-dining-parallax-title {
		font-size:34px;
		line-height:1;
	}

	.jbc-dining-parallax-text {
		font-size:15px;
		line-height:27px;
	}

	.jbc-specials-image-wrap {
		box-shadow:10px 10px 0 #000000;
	}

	.jbc-events-image-wrap::after {
		right:-10px;
		bottom:-10px;
	}

	.jbc-events-image {
		height:360px;
	}

	.jbc-footer-section {
		padding-top:58px;
	}

	.jbc-footer-top {
		gap:34px;
	}

	.jbc-footer-brand {
		font-size:34px;
		line-height:38px;
	}
}

@media (prefers-reduced-motion:reduce) {
	html {
		scroll-behavior:auto;
	}

	.jbc-hero-parallax,
	.jbc-dining-parallax-media,
	.jbc-gallery-track,
	.jbc-menu-image {
		transform:none !important;
		transition:none !important;
	}
}


/* =========================================================
   JBC FEATURED ARTICLE SLIDESHOW
   Replaces Belle's continuous center-focus gallery for JBC.
   ========================================================= */

.jbc-feature-shell {
	margin:0 auto;
	width:min(1320px,90%);
}

.jbc-gallery-controls {
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	gap:10px;
	margin:30px auto 26px;
}

.jbc-gallery-control {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:46px;
	min-width:180px;
	padding:10px 18px;
	border:1px solid #000000;
	border-radius:999px;
	background:#000000;
	color:#ffffff;
	font-family:"Montserrat",Arial,sans-serif;
	font-size:12px;
	font-weight:700;
	line-height:18px;
	cursor:pointer;
}

.jbc-gallery-control:hover {
	background:#ffffff;
	color:#000000;
}

.jbc-gallery-control:focus {
	color:#ffffff;
	outline:3px dotted #ab06ce;
	background-color:#ab06ce;
	outline-offset:3px;
}

.jbc-feature-viewport {
	position:relative;
	min-height:610px;
	margin:0 auto;
	overflow:hidden;
	background:#ffffff;
	box-shadow:24px 24px 0 #e8dfd3;
}

.jbc-feature-slide {
	position:absolute;
	inset:0;
	z-index:0;
	display:grid;
	grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
	min-height:610px;
	opacity:0;
	visibility:hidden;
	transform:translate3d(12px,0,0);
	transition:opacity .85s ease-in-out,transform .85s cubic-bezier(.22,.61,.36,1),visibility 0s linear .85s;
	will-change:opacity,transform;
	pointer-events:none;
}

.jbc-feature-slide.is-active {
	z-index:1;
	opacity:1;
	visibility:visible;
	transform:translate3d(0,0,0);
	transition:opacity .85s ease-in-out,transform .85s cubic-bezier(.22,.61,.36,1);
	pointer-events:auto;
}

.jbc-feature-image-wrap {
	position:relative;
	min-height:610px;
	overflow:hidden;
	background:#000000;
}

.jbc-feature-image {
	display:block;
	object-fit:cover;
	object-position:center;
	width:100%;
	height:100%;
}

.jbc-feature-copy {
	display:flex;
	flex-direction:column;
	justify-content:center;
	padding:58px 54px;
	background:#ffffff;
}

.jbc-feature-count {
	margin:0 0 18px;
	color:#000000;
	font-family:"Montserrat",Arial,sans-serif;
	font-size:12px;
	font-weight:700;
	line-height:18px;
	letter-spacing:.14em;
	text-transform:uppercase;
}

.jbc-feature-eyebrow {
	margin:0 0 13px;
	color:#000000;
	font-family:"Montserrat",Arial,sans-serif;
	font-size:13px;
	font-weight:700;
	line-height:18px;
	letter-spacing:.20em;
	text-transform:uppercase;
}

.jbc-feature-title {
	margin:0 0 22px;
	color:#000000;
	font-family:"Cormorant Garamond",Georgia,serif;
	font-size:clamp(44px,4vw,66px);
	font-weight:600;
	line-height:.98;
	letter-spacing:-.02em;
}

.jbc-feature-text {
	margin:0 0 18px;
	color:#000000;
	font-family:"Montserrat",Arial,sans-serif;
	font-size:16px;
	font-weight:400;
	line-height:29px;
}

.jbc-feature-link {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	align-self:flex-start;
	min-height:48px;
	margin-top:8px;
	padding:11px 20px;
	border:1px solid #000000;
	border-radius:999px;
	background:#000000;
	color:#ffffff;
	font-family:"Montserrat",Arial,sans-serif;
	font-size:12px;
	font-weight:700;
	line-height:18px;
	text-decoration:none;
}

.jbc-feature-link:hover {
	background:#ffffff;
	color:#000000;
}

.jbc-feature-link:focus {
	color:#ffffff;
	outline:3px dotted #ab06ce;
	background-color:#ab06ce;
	outline-offset:3px;
}

.jbc-feature-status {
	position:absolute;
	left:-10000px;
	width:1px;
	height:1px;
	overflow:hidden;
}

/* Existing JBC content retained from the original site. */
.jbc-beginnings-photos {
	position:relative;
	display:block;
	align-self:start;
	margin:0;
	box-shadow:none;
	width:100%;
	height:536px;
}

.jbc-beginnings-photo {
	position:absolute;
	display:block;
	border:8px solid #ffffff;
	border-radius:50%;
	object-fit:cover;
	box-shadow:16px 16px 0 #efe8dd;
	width:280px;
	height:280px;
}

.jbc-beginnings-photo-one {
	top:0;
	left:0;
}

.jbc-beginnings-photo-two {
	right:0;
	bottom:0;
	z-index:2;
}

.jbc-award-row {
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:center;
	gap:22px;
	margin-top:28px;
}

.jbc-award-row img {
	display:block;
	width:118px;
	height:auto;
}

.jbc-specials-image.special {
	width:100%;
	height:auto;
}

.jbc-footer-social {
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	grid-column:1 / -1;
	gap:8px;
	margin:24px auto 0;
	width:100%;
}

.itag {
	position:relative;
	display:block;
	max-width:100%;
	padding:1em .5em;
	margin:0;
	border-radius:.25em;
	background:rgba(255,255,255,.1);
	box-shadow:0 3px 8px rgba(0,0,0,.15);
	text-align:center;
	width:90px;
}

.icon {
	position:relative;
	display:block;
	max-width:35px;
	margin-right:auto;
	margin-left:auto;
	border-bottom:none;
}

.icon img {
	width:100%;
}

.icon:hover {
	opacity:.85;
}

.itag a {
	color:#000000;
	font-family:"Montserrat",Arial,sans-serif;
	font-size:.75em;
	line-height:1.5em;
	text-decoration:none;
	cursor:pointer;
}

.itag a:visited {
	color:#000000;
}

.itag a:hover {
	color:#000000;
}

.itag a:focus {
	color:#ffffff;
	outline:3px dotted #a307fc;
	background:#d004fc;
}

.by {
	position:relative;
	display:block;
	max-width:100%;
	padding:1em;
	margin:1em auto 2em;
	text-align:center;
	width:200px;
}

.by img {
	position:relative;
	display:block;
	padding:0;
	width:100%;
}

#jbc-footer .by a {
	display:block;
	border:none;
}

.by a:focus {
	position:relative;
	display:block;
	max-width:100%;
	color:#ffffff;
	outline:3px dotted #a307fc;
	background:#d004fc;
}

/* =========================================================
   JBC ARTICLE PAGES
   ========================================================= */

.jbc-article-main {
	padding-top:82px;
	background:#ffffff;
}

.jbc-article-hero {
	padding:92px 0 48px;
	background:#f7f3ed;
}

.jbc-article-shell {
	margin:0 auto;
	width:min(1080px,90%);
}

.jbc-article-eyebrow {
	margin:0 0 13px;
	color:#000000;
	font-family:"Montserrat",Arial,sans-serif;
	font-size:13px;
	font-weight:700;
	line-height:18px;
	letter-spacing:.20em;
	text-align:center;
	text-transform:uppercase;
}

.jbc-article-title {
	max-width:900px;
	margin:0 auto;
	color:#000000;
	font-family:"Cormorant Garamond",Georgia,serif;
	font-size:clamp(52px,6vw,82px);
	font-weight:600;
	line-height:.96;
	letter-spacing:-.02em;
	text-align:center;
	text-wrap:balance;
}

.jbc-article-image {
	display:block;
	margin:46px auto 0;
	object-fit:cover;
	width:100%;
	height:auto;
}

.jbc-article-body {
	padding:64px 0 96px;
	background:#ffffff;
}

.jbc-article-copy {
	max-width:820px;
	margin:0 auto;
}

.jbc-article-copy p {
	margin:0 0 22px;
	color:#000000;
	font-family:"Montserrat",Arial,sans-serif;
	font-size:17px;
	font-weight:400;
	line-height:31px;
}

.jbc-article-actions {
	display:flex;
	flex-wrap:wrap;
	gap:12px;
	margin-top:34px;
}

.jbc-article-button,
.jbc-return-gallery {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:48px;
	padding:11px 20px;
	border:1px solid #000000;
	border-radius:999px;
	font-family:"Montserrat",Arial,sans-serif;
	font-size:12px;
	font-weight:700;
	line-height:18px;
	text-decoration:none;
}

.jbc-article-button {
	background:#000000;
	color:#ffffff;
}

.jbc-return-gallery {
	background:#ffffff;
	color:#000000;
}

.jbc-article-button:hover,
.jbc-return-gallery:hover {
	background:#f1eadf;
	color:#000000;
}

.jbc-article-button:focus,
.jbc-return-gallery:focus {
	color:#ffffff;
	outline:3px dotted #ab06ce;
	background-color:#ab06ce;
	outline-offset:3px;
}

@media screen and (max-width:1180px) {
	.jbc-feature-viewport,
	.jbc-feature-slide,
	.jbc-feature-image-wrap {
		min-height:560px;
	}

	.jbc-feature-slide {
		grid-template-columns:minmax(0,1fr) minmax(330px,.9fr);
	}

	.jbc-feature-copy {
		padding:46px 38px;
	}
}

@media screen and (max-width:980px) {
	.jbc-feature-viewport {
		min-height:850px;
	}

	.jbc-feature-slide {
		grid-template-columns:1fr;
		grid-template-rows:470px 1fr;
		min-height:850px;
	}

	.jbc-feature-image-wrap {
		min-height:470px;
	}

	.jbc-feature-copy {
		padding:38px 42px 44px;
	}

}

@media screen and (max-width:580px) {
	.jbc-feature-shell {
		width:92%;
	}

	.jbc-gallery-controls {
		gap:8px;
		margin-top:24px;
	}

	.jbc-gallery-control {
		min-width:165px;
		padding:9px 13px;
		font-size:11px;
	}

	.jbc-feature-viewport {
		min-height:760px;
		box-shadow:14px 14px 0 #e8dfd3;
	}

	.jbc-feature-slide {
		grid-template-rows:340px 1fr;
		min-height:760px;
	}

	.jbc-feature-image-wrap {
		min-height:340px;
	}

	.jbc-feature-copy {
		padding:30px 26px 34px;
	}

	.jbc-feature-count {
		margin-bottom:12px;
	}

	.jbc-feature-eyebrow {
		font-size:11px;
	}

	.jbc-feature-title {
		font-size:38px;
	}

	.jbc-feature-text {
		font-size:15px;
		line-height:27px;
	}


	.jbc-article-main {
		padding-top:68px;
	}

	.jbc-article-hero {
		padding:70px 0 36px;
	}

	.jbc-article-body {
		padding:46px 0 72px;
	}

	.jbc-article-copy p {
		font-size:15px;
		line-height:28px;
	}
}

@media (prefers-reduced-motion:reduce) {
	.jbc-feature-slide {
		transition:none;
	}
}

@media screen and (max-width:580px) {
	.jbc-story-title {
		font-size:44px;
	}
}

/* =========================================================
   BEST BREAKFAST / AWARDS PAGE
   ========================================================= */

.jbc-awards-hero {
	padding:150px 0 110px;
	background-color:#ffffff;
	background-image:linear-gradient(45deg,rgba(111,116,40,.025) 25%,transparent 25%,transparent 75%,rgba(111,116,40,.025) 75%,rgba(111,116,40,.025)),linear-gradient(45deg,rgba(111,116,40,.025) 25%,transparent 25%,transparent 75%,rgba(111,116,40,.025) 75%,rgba(111,116,40,.025));
	background-position:0 0,14px 14px;
	background-size:28px 28px;
}

.jbc-awards-shell {
	display:grid;
	grid-template-columns:minmax(0,.9fr) minmax(520px,1.1fr);
	align-items:center;
	gap:76px;
	box-sizing:border-box;
	margin:0 auto;
	width:min(1320px,90%);
}

.jbc-awards-eyebrow {
	margin:0 0 14px;
	color:#000000;
	font-family:"Montserrat",Arial,sans-serif;
	font-size:1em;
	font-weight:700;
	line-height:18px;
	letter-spacing:.20em;
	text-transform:uppercase;
}

.jbc-awards-title {
	max-width:700px;
	margin:0;
	color:#000000;
	font-family:"Cormorant Garamond",Georgia,serif;
	font-size:clamp(58px,5.3vw,88px);
	font-weight:600;
	line-height:.96;
	letter-spacing:-.025em;
}

.jbc-awards-lead {
	max-width:650px;
	margin:30px 0 0;
	color:#000000;
	font-family:"Montserrat",Arial,sans-serif;
	font-size:18px;
	font-weight:400;
	line-height:31px;
}

.jbc-awards-button {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:50px;
	margin-top:30px;
	padding:13px 22px;
	border:1px solid #000000;
	border-radius:999px;
	background:#000000;
	color:#ffffff;
	font-family:"Montserrat",Arial,sans-serif;
	font-size:13px;
	font-weight:700;
	line-height:18px;
	text-decoration:none;
}

.jbc-awards-button:hover {
	background:#ffffff;
	color:#000000;
}

.jbc-awards-button:focus {
	color:#ffffff;
	outline:3px dotted #ab06ce;
	background-color:#ab06ce;
	outline-offset:3px;
}

.jbc-awards-visual {
	position:relative;
	padding:0 0 46px 46px;
}

.jbc-awards-visual::after {
	content:"";
	position:absolute;
	right:-22px;
	bottom:20px;
	z-index:0;
	border:2px solid #1f1f1f;
	width:76%;
	height:72%;
}

.jbc-awards-photo {
	position:relative;
	z-index:1;
	display:block;
	object-fit:cover;
	object-position:center center;
	width:100%;
	height:560px;
}


.jbc-awards-story {
	padding:118px 0;
	background:#ffffff;
}

.jbc-awards-story-shell {
	grid-template-columns:minmax(0,1fr) minmax(500px,1fr);
}

.jbc-awards-subtitle {
	margin:0 0 28px;
	color:#000000;
	font-family:"Cormorant Garamond",Georgia,serif;
	font-size:clamp(48px,4.4vw,74px);
	font-weight:600;
	line-height:1;
	letter-spacing:-.02em;
}

.jbc-awards-story-copy p,
.jbc-awards-cta-shell > p {
	margin:0 0 18px;
	color:#000000;
	font-family:"Montserrat",Arial,sans-serif;
	font-size:16px;
	font-weight:400;
	line-height:29px;
}

.jbc-awards-story-media {
	position:relative;
}

.jbc-awards-story-media::after {
	content:"";
	position:absolute;
	left:-22px;
	bottom:-22px;
	z-index:0;
	border:2px solid #1f1f1f;
	width:72%;
	height:72%;
}

.jbc-awards-story-media img {
	position:relative;
	z-index:1;
	dis:block;
	object-fit:cover;
	object-position:center 28%;
	width:100%;
	height:520px;
}

.jbc-awards-cta {
	padding:108px 0;
	background:#f2ece3;
	background-image:linear-gradient(45deg,rgba(111,116,40,.025) 25%,transparent 25%,transparent 75%,rgba(111,116,40,.025) 75%,rgba(111,116,40,.025)),linear-gradient(45deg,rgba(111,116,40,.025) 25%,transparent 25%,transparent 75%,rgba(111,116,40,.025) 75%,rgba(111,116,40,.025));
	background-position:0 0,14px 14px;
	background-size:28px 28px;
}

.jbc-awards-cta-shell {
	box-sizing:border-box;
	margin:0 auto;
	text-align:center;
	width:min(1000px,90%);
}

.jbc-awards-cta-shell .jbc-awards-subtitle {
	max-width:850px;
	margin-right:auto;
	margin-left:auto;
}

.jbc-awards-cta-shell > p {
	max-width:760px;
	margin-right:auto;
	margin-left:auto;
}

.jbc-awards-actions {
	dis:flex;
	flex-wrap:wrap;
	justify-content:center;
	gap:12px;
}

.jbc-awards-button-light {
	background:#ffffff;
	color:#000000;
}

.jbc-awards-button-light:hover {
	background:#000000;
	color:#ffffff;
}

@media screen and (max-width:980px) {
	.jbc-awards-shell,
	.jbc-awards-story-shell {
		grid-template-columns:1fr;
		gap:52px;
	}

	.jbc-awards-visual,
	.jbc-awards-story-media {
		max-width:760px;
		margin:0 auto;
		width:100%;
	}

	.jbc-awards-photo,
	.jbc-awards-story-media img {
		height:auto;
	}
}

@media screen and (max-width:580px) {
	.jbc-awards-hero {
		padding:118px 0 76px;
	}

	.jbc-awards-story,
	.jbc-awards-cta {
		padding:76px 0;
	}

	.jbc-awards-title {
		font-size:46px;
	}

	.jbc-awards-lead,
	.jbc-awards-story-copy p,
	.jbc-awards-cta-shell > p {
		font-size:15px;
		line-height:27px;
	}

	.jbc-awards-visual {
		padding:0 0 32px 24px;
	}

}

/* OUR BEGINNINGS - FINAL RESPONSIVE OVERRIDES */
@media screen and (max-width:860px) {
	.jbc-story-shell {
		grid-template-columns:1fr;
		gap:48px;
		max-width:760px;
	}

	.jbc-story-media.jbc-beginnings-photos {
		position:relative;
		display:block;
		margin:0 auto;
		max-width:536px;
		width:100%;
		height:280px;
	}

	.jbc-beginnings-photo {
		position:absolute;
		top:0;
		bottom:auto;
		width:280px;
		height:280px;
	}

	.jbc-beginnings-photo-one {
		left:0;
		right:auto;
	}

	.jbc-beginnings-photo-two {
		left:auto;
		right:0;
		bottom:auto;
	}

	.jbc-story-copy {
		display:block;
		min-height:0;
		text-align:center;
	}

	a.jbc-story-link {
		margin:34px auto 0;
		max-width:520px;
	}
}

@media screen and (max-width:700px) {
	.jbc-story-media.jbc-beginnings-photos {
		width:100%;
		height:calc((100% + 24px) / 2);
		aspect-ratio:calc(2 - (24 / 1000)) / 1;
	}

	.jbc-beginnings-photo {
		width:calc((100% + 24px) / 2);
		height:auto;
		aspect-ratio:1 / 1;
	}
}

@media screen and (max-width:580px) {
	.jbc-story-shell {
		gap:34px;
	}

	.jbc-beginnings-photo {
		border-width:5px;
		box-shadow:10px 10px 0 #efe8dd;
	}

	.jbc-story-title {
		margin-bottom:28px;
		font-size:44px;
	}

	.jbc-story-lead,
	.jbc-story-text {
		font-size:15px;
		line-height:27px;
	}

	a.jbc-story-link {
		padding:15px 20px;
		font-size:12px;
		letter-spacing:.16em;
	}
}

/* =========================================================
   OUR BEGINNINGS - COPIED FROM OLD JBC SITE
   Current class names mapped to the old-site featured section.
   ========================================================= */

.jbc-story-section {
position: relative;
text-align: center;
background-image: linear-gradient(to right, rgba(206, 189, 167, .2), rgba(247, 241, 226, .2), rgba(206, 189, 167, .2));
padding: 2em 1em 1em 1em;
}

.jbc-story-pattern {
display: none;
}

.jbc-story-shell {
text-align: left;
display: inline-flex;
flex-direction: row;
align-items: center;
background-color: transparent;
padding: 6em 0;
margin: 0;
width: auto;
}

.jbc-story-media.jbc-beginnings-photos {
display: block;
position: relative;
margin: 0 4em 2em 0;
max-width: none;
width: 21em;
height: auto;
}

.jbc-beginnings-photo {
position: relative;
top: auto;
right: auto;
bottom: auto;
left: auto;
display: block;
border: 0;
border-radius: 50%;
box-shadow: none;
object-fit: cover;
width: 65%;
height: auto;
aspect-ratio: auto;
}

.jbc-beginnings-photo-one {
margin-left: 3em;
margin-top: 3em;
z-index: 3;
}

.jbc-beginnings-photo-two {
margin-top: -6em;
margin-left: 8em;
z-index: 3;
}

.jbc-story-copy {
display: block;
text-align: left;
min-height: 0;
}

.jbc-story-title {
text-align: left;
font-size: 3em;
color: #000000;
margin-top: 0;
}

.jbc-story-lead,
.jbc-story-text {
font-size: 1em;
margin: 0 0 1.5em 0;
max-width: 800px;
}

@media screen and (max-width: 1400px) {
.jbc-story-lead,
.jbc-story-text {
max-width: 670px;
}
}

@media screen and (max-width: 1280px) {
.jbc-story-shell {
padding: 0;
}

.jbc-story-lead,
.jbc-story-text {
max-width: 570px;
}
}

@media screen and (max-width: 1100px) {
.jbc-story-lead,
.jbc-story-text {
max-width: 420px;
}
}

@media screen and (max-width: 980px) {
.jbc-beginnings-photo-one {
margin-left: -9em;
margin-top: 3em;
margin-bottom: -1.7em;
display: inline-block;
}

.jbc-beginnings-photo-two {
margin-top: -11em;
margin-left: 8em;
display: inline-block;
}

.jbc-story-shell {
display: block;
text-align: center;
max-width: none;
}

.jbc-story-media.jbc-beginnings-photos {
margin: 0 auto 3em auto;
width: 18em;
height: auto;
}

.jbc-story-copy {
text-align: center;
}

.jbc-story-title {
text-align: center;
font-size: 3em;
margin-top: -1em;
}

.jbc-story-lead,
.jbc-story-text {
padding: 0 4em;
margin: 0 0 2em 0;
max-width: 100%;
}

.jbc-story-link {
margin-left: auto;
margin-right: auto;
}
}

@media screen and (max-width: 736px) {
.jbc-beginnings-photo-one {
margin-left: -7em;
margin-bottom: -1.7em;
}

.jbc-beginnings-photo-two {
margin-left: 6em;
}

.jbc-story-media.jbc-beginnings-photos {
margin: 0 auto 2.5em auto;
width: 13em;
}

.jbc-story-title {
font-size: 2em;
margin-top: -1em;
}

.jbc-story-lead,
.jbc-story-text {
text-align: justify;
padding: 0 .5em;
margin: 0 0 2em 0;
}
}

@media screen and (max-width: 575px) {
.jbc-story-lead,
.jbc-story-text {
text-align: justify;
font-size: .85em;
}
}

@media screen and (max-width: 360px) {
.jbc-story-media.jbc-beginnings-photos {
margin: 0 auto 2em auto;
width: 11em;
}
}

/* =========================================================
   FOOTER ACCESSIBILITY TYPOGRAPHY
   ========================================================= */

.jbc-footer-brand {
	font-weight:600;
}

.jbc-footer-tagline,
.jbc-footer-contact-title,
.jbc-footer-address,
.jbc-footer-phone,
.jbc-footer-email,
.jbc-footer-link,
.jbc-accessibility-title,
.jbc-accessibility-text,
.jbc-accessibility-link,
.jbc-footer-top-link,
.itag a {
	font-size:1em;
	font-weight:600;
}

