.bpc-guide {
	--guide-night: #07100f;
	--guide-night-2: #101b18;
	--guide-paper: #f4eedf;
	--guide-paper-muted: rgba(244, 238, 223, .7);
	--guide-gold: #f2c84b;
	--guide-gold-soft: #ffe8a0;
	--guide-silver: #cbd2d4;
	--guide-silver-soft: #eef3f4;
	--guide-line: rgba(255, 232, 160, .22);
	--guide-green: #1f5a46;
	background: var(--guide-night);
	color: var(--guide-paper);
	overflow: hidden;
}

.bpc-guide *,
.bpc-guide *::before,
.bpc-guide *::after { box-sizing: border-box; }
.bpc-guide a { color: inherit; }
.bpc-guide h1,
.bpc-guide h2,
.bpc-guide h3 { color: var(--guide-paper); font-family: var(--bpc-serif, Georgia, serif); }

.bpc-guide-kicker {
	margin: 0 0 .7rem;
	color: var(--guide-gold-soft);
	font-family: var(--bpc-sans, sans-serif);
	font-size: .7rem;
	font-weight: 850;
	letter-spacing: .16em;
	line-height: 1.35;
	text-transform: uppercase;
}

.bpc-guide-hero {
	padding-top: calc(var(--bpc-header-h, 74px) + clamp(2.5rem, 6vw, 6rem));
	background:
		radial-gradient(circle at 74% 8%, rgba(56, 129, 103, .23), transparent 32rem),
		linear-gradient(180deg, #091513, var(--guide-night));
}

.bpc-guide-hero__copy {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: clamp(1rem, 2.5vw, 1.8rem);
	padding-bottom: clamp(2rem, 4vw, 4rem);
	text-align: center;
}

.bpc-guide-hero h1 {
	max-width: 13ch;
	margin: 0;
	font-size: clamp(3.25rem, 8vw, 8.7rem);
	font-weight: 400;
	letter-spacing: -.072em;
	line-height: .88;
}

.bpc-guide-hero__lead {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: .55rem 1.25rem;
	max-width: 58rem;
	margin: 0;
	color: var(--guide-paper-muted);
	font-size: clamp(1rem, 1.45vw, 1.23rem);
	line-height: 1.75;
	text-align: center;
}
.bpc-guide-hero__lead span { display: inline-flex; align-items: center; gap: .45rem; }
.bpc-guide-hero__lead span::before { content: '★'; font-size: .9em; }
.bpc-guide-hero__lead .is-gold::before { color: var(--guide-gold); }
.bpc-guide-hero__lead .is-silver::before { color: var(--guide-silver); }

.bpc-guide-map-frame {
	position: relative;
	width: min(100% - clamp(1rem, 4vw, 4rem), 1720px);
	min-height: clamp(38rem, 74vh, 58rem);
	margin: 0 auto;
	border: 1px solid var(--guide-line);
	border-radius: clamp(1.2rem, 2.4vw, 2.2rem);
	box-shadow: 0 2rem 7rem rgba(0, 0, 0, .52);
	overflow: hidden;
	isolation: isolate;
}

.bpc-guide-map {
	position: absolute;
	inset: 0;
	min-height: inherit;
	background:
		radial-gradient(circle at 42% 48%, rgba(47, 117, 91, .34), transparent 24rem),
		linear-gradient(145deg, #142620, #07161a);
}

.bpc-guide-map__loading,
.bpc-guide-map__error {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	align-content: center;
	gap: .9rem;
	padding: 2rem;
	color: var(--guide-paper-muted);
	font-weight: 700;
	letter-spacing: .04em;
	text-align: center;
}

.bpc-guide-map__loading span { color: var(--guide-gold); }
.bpc-guide-map__loading svg { width: 3rem; animation: bpc-guide-pulse 2.4s ease-in-out infinite; }
.bpc-guide-map__error { background: rgba(7, 16, 15, .82); }

.bpc-guide-map-toolbar {
	position: absolute;
	top: 1rem;
	left: 50%;
	z-index: 5;
	display: flex;
	gap: .25rem;
	padding: .35rem;
	background: rgba(7, 16, 15, .88);
	border: 1px solid var(--guide-line);
	border-radius: 999px;
	box-shadow: 0 .8rem 2rem rgba(0, 0, 0, .28);
	backdrop-filter: blur(16px);
	transform: translateX(-50%);
}

.bpc-guide-map-toolbar button {
	min-height: 2.65rem;
	padding: .65rem 1rem;
	color: var(--guide-paper-muted);
	background: transparent;
	border: 0;
	border-radius: 999px;
	font: 750 .72rem/1 var(--bpc-sans, sans-serif);
	letter-spacing: .07em;
	text-transform: uppercase;
	cursor: pointer;
}

.bpc-guide-map-toolbar button:hover,
.bpc-guide-map-toolbar button:focus-visible { color: var(--guide-paper); outline: 2px solid var(--guide-gold); outline-offset: 2px; }
.bpc-guide-map-toolbar button.is-active { color: #16160d; background: var(--guide-gold); }
.bpc-guide-map-toolbar button[data-bpc-guide-layer="must_visit"].is-active { background: var(--guide-silver); }

.bpc-guide-map-legend {
	position: absolute;
	top: 1rem;
	left: 1rem;
	z-index: 4;
	width: min(19rem, calc(100% - 2rem));
	max-height: calc(100% - 2rem);
	padding: 1rem;
	background: rgba(8, 17, 16, .9);
	border: 1px solid var(--guide-line);
	border-radius: 1rem;
	box-shadow: 0 1rem 3rem rgba(0, 0, 0, .32);
	backdrop-filter: blur(18px);
	overflow: auto;
}

.bpc-guide-map-legend > strong { display: block; margin-bottom: .8rem; font-family: var(--bpc-serif, Georgia, serif); font-size: 1.2rem; font-weight: 400; }
.bpc-guide-map-legend__items { display: grid; grid-template-columns: 1fr 1fr; gap: .15rem .5rem; }
.bpc-guide-map-legend button { display: flex; align-items: center; gap: .42rem; min-width: 0; padding: .27rem 0; color: rgba(244, 238, 223, .74); background: none; border: 0; font: 600 .68rem/1.25 var(--bpc-sans, sans-serif); text-align: left; cursor: pointer; }
.bpc-guide-map-legend button:hover,
.bpc-guide-map-legend button:focus-visible { color: #fff; outline: none; text-decoration: underline; text-decoration-color: var(--guide-gold); text-underline-offset: .2em; }
.bpc-guide-map-legend i { flex: 0 0 .58rem; width: .58rem; height: .58rem; background: var(--region-color); border-radius: 50%; box-shadow: 0 0 0 2px rgba(255,255,255,.16); }
.bpc-guide-map-legend > p { margin: .8rem 0 0; padding-top: .7rem; color: rgba(244, 238, 223, .48); border-top: 1px solid rgba(255,255,255,.1); font-size: .64rem; line-height: 1.45; }

.bpc-guide-map-card {
	position: absolute;
	right: 1rem;
	bottom: 1rem;
	z-index: 6;
	display: grid;
	width: min(22rem, calc(100% - 2rem));
	padding: 1rem;
	background: rgba(9, 18, 17, .95);
	border: 1px solid var(--guide-line);
	border-radius: 1.1rem;
	box-shadow: 0 1.5rem 4rem rgba(0, 0, 0, .48);
	backdrop-filter: blur(18px);
}
.bpc-guide-map-card[hidden] { display: none; }
.bpc-guide-map-card img { width: 100%; aspect-ratio: 16/9; margin-bottom: .8rem; border-radius: .7rem; object-fit: cover; }
.bpc-guide-map-card > p { margin: 0 2rem .35rem 0; color: var(--guide-gold-soft); font-size: .66rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.bpc-guide-map-card > strong { font-family: var(--bpc-serif, Georgia, serif); font-size: 1.45rem; font-weight: 400; line-height: 1.08; }
.bpc-guide-map-card__copy { margin-top: .65rem; color: var(--guide-paper-muted); font-size: .84rem; line-height: 1.5; }
.bpc-guide-map-card__close { position: absolute; top: .65rem; right: .65rem; width: 2rem; height: 2rem; padding: 0; color: #fff; background: rgba(0,0,0,.48); border: 1px solid rgba(255,255,255,.2); border-radius: 50%; font-size: 1.2rem; cursor: pointer; }
.bpc-guide-map-card__star { display: grid; place-items: center; width: 3.2rem; height: 3.2rem; margin-bottom: .7rem; color: #1a180a; background: var(--guide-gold); border-radius: 50%; font-size: 1.6rem; }
.bpc-guide-map-card__star.is-silver { background: var(--guide-silver); }
.bpc-guide-map-card__region { width: 100%; height: .45rem; margin-bottom: .8rem; background: var(--region-color); border-radius: 999px; }
.bpc-guide-map-card__actions { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; margin-top: .9rem; }
.bpc-guide-map-card__actions a { padding: .7rem .65rem; color: #15170f; background: var(--guide-gold); border: 1px solid var(--guide-gold); border-radius: .55rem; font-size: .7rem; font-weight: 850; text-align: center; text-decoration: none; text-transform: uppercase; }
.bpc-guide-map-card__actions a + a { color: var(--guide-paper); background: transparent; border-color: var(--guide-line); }

.bpc-guide-section { padding: clamp(5rem, 10vw, 10rem) 0; }
.bpc-guide-section__head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(16rem, .55fr); gap: 2rem 5rem; align-items: end; margin-bottom: clamp(2.5rem, 5vw, 5rem); }
.bpc-guide-section__head h2 { max-width: 13ch; margin: 0; font-size: clamp(2.6rem, 6vw, 6.5rem); font-weight: 400; letter-spacing: -.06em; line-height: .92; }
.bpc-guide-section__head > p { max-width: 32rem; margin: 0; color: var(--guide-paper-muted); line-height: 1.7; }

.bpc-guide-must-visit { background: linear-gradient(180deg, var(--guide-night), #0c1714); }
.bpc-guide-place-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 2rem); }
.bpc-guide-place-card { min-width: 0; background: rgba(244, 238, 223, .045); border: 1px solid var(--guide-line); border-radius: 1.2rem; overflow: hidden; transition: transform .25s ease, border-color .25s ease; }
.bpc-guide-place-card:hover { border-color: rgba(242, 200, 75, .62); transform: translateY(-5px); }
.bpc-guide-place-card.is-tier-must_visit:hover { border-color: rgba(203, 210, 212, .72); }
.bpc-guide-place-card__visual { position: relative; display: block; min-height: clamp(14rem, 22vw, 23rem); background: radial-gradient(circle at 55% 45%, rgba(242,200,75,.11), transparent 28%), linear-gradient(135deg, #173228, #081311); overflow: hidden; }
.bpc-guide-place-card.has-image .bpc-guide-place-card__visual { background-image: linear-gradient(180deg, transparent 35%, rgba(3,9,8,.8)), var(--place-image); background-position: center; background-size: cover; }
.bpc-guide-place-card__visual::after { content: ''; position: absolute; inset: 0; opacity: .18; background-image: linear-gradient(rgba(255,255,255,.14) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.14) 1px, transparent 1px); background-size: 42px 42px; mask-image: linear-gradient(to bottom, #000, transparent); }
.bpc-guide-place-card__number { position: absolute; top: 1rem; left: 1rem; z-index: 2; color: rgba(244,238,223,.62); font: 700 .74rem/1 var(--bpc-sans, sans-serif); letter-spacing: .12em; }
.bpc-guide-place-card__star { position: absolute; top: 50%; left: 50%; z-index: 2; display: grid; place-items: center; width: clamp(5rem, 8vw, 7rem); height: clamp(5rem, 8vw, 7rem); color: var(--guide-gold); filter: drop-shadow(0 1rem 1.4rem rgba(0,0,0,.45)); transform: translate(-50%, -50%) rotate(-5deg); transition: transform .3s ease; }
.bpc-guide-place-card.is-tier-must_visit .bpc-guide-place-card__star { color: var(--guide-silver); }
.bpc-guide-place-card__star svg { width: 100%; }
.bpc-guide-place-card:hover .bpc-guide-place-card__star { transform: translate(-50%, -50%) rotate(2deg) scale(1.08); }
.bpc-guide-place-card.has-image .bpc-guide-place-card__star { top: auto; right: 1rem; bottom: 1rem; left: auto; width: 3rem; height: 3rem; transform: none; }
.bpc-guide-place-card__body { display: grid; align-content: start; min-height: 17rem; padding: clamp(1.2rem, 2vw, 1.8rem); }
.bpc-guide-place-card__body > p { margin: 0 0 .6rem; color: var(--guide-gold-soft); font-size: .66rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.bpc-guide-place-card h3 { margin: 0 0 .9rem; font-size: clamp(1.45rem, 2.2vw, 2.15rem); font-weight: 400; letter-spacing: -.035em; line-height: 1.05; }
.bpc-guide-place-card h3 a { text-decoration: none; }
.bpc-guide-place-card__body > div { color: var(--guide-paper-muted); font-size: .93rem; line-height: 1.62; }
.bpc-guide-text-link { display: inline-flex; gap: .5rem; align-items: center; justify-self: start; margin-top: auto; padding-top: 1.2rem; color: var(--guide-gold-soft) !important; font-size: .74rem; font-weight: 850; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.bpc-guide-text-link span { transition: transform .2s ease; }
.bpc-guide-text-link:hover span { transform: translate(.2rem, -.2rem); }

.bpc-guide-regions { background: #e8e1d2; color: #16201c; }
.bpc-guide-regions h2,
.bpc-guide-regions h3 { color: #16201c; }
.bpc-guide-regions .bpc-guide-kicker { color: #6a4f12; }
.bpc-guide-regions .bpc-guide-section__head > p { color: rgba(22,32,28,.68); }
.bpc-guide-region-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); border-top: 1px solid rgba(22,32,28,.2); border-left: 1px solid rgba(22,32,28,.2); }
.bpc-guide-region-card { position: relative; display: grid; grid-template-rows: auto 1fr; background: rgba(255,255,255,.22); border-right: 1px solid rgba(22,32,28,.2); border-bottom: 1px solid rgba(22,32,28,.2); overflow: hidden; }
.bpc-guide-region-card__visual { display:block; position:relative; aspect-ratio:16/9; overflow:hidden; background:#173a2d; border-bottom:4px solid var(--region-color); }
.bpc-guide-region-card__visual img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.bpc-guide-region-card:hover .bpc-guide-region-card__visual img { transform:scale(1.035); }
.bpc-guide-region-card__body { display:flex; flex-direction:column; align-items:flex-start; padding:1.5rem; }
.bpc-guide-region-card h3 { margin: 0 0 .8rem; font-size: clamp(1.45rem, 2vw, 2.15rem); font-weight: 400; letter-spacing: -.035em; line-height: 1.04; }
.bpc-guide-region-card p { margin: 0; color: rgba(22,32,28,.7); font-size: .9rem; line-height: 1.55; }
.bpc-guide-region-card__body > a { margin-top:auto; padding-top:1.3rem; color:#17201c; font-size:.7rem; font-weight:850; letter-spacing:.08em; text-decoration:none; text-transform:uppercase; }
.bpc-guide-region-card a:focus-visible { outline:3px solid #6a4f12; outline-offset:-4px; }

.bpc-guide-gate { min-height: 100svh; }
.bpc-guide-gate__stage { position: relative; min-height: 100svh; padding: calc(var(--bpc-header-h, 74px) + 3rem) 0 4rem; display: grid; align-items: center; background: radial-gradient(circle at 18% 45%, rgba(42,109,81,.35), transparent 34rem), linear-gradient(120deg,#07100f,#0e1b18); }
.bpc-guide-gate__inner { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0,1.25fr) minmax(21rem,.65fr); gap: clamp(2rem, 8vw, 9rem); align-items: center; }
.bpc-guide-gate__intro h1 { max-width: 12ch; margin: 0 0 1.6rem; font-size: clamp(3.3rem, 7vw, 7.6rem); font-weight: 400; letter-spacing: -.07em; line-height: .89; }
.bpc-guide-gate__intro > p:last-child { max-width: 37rem; color: var(--guide-paper-muted); font-size: 1.05rem; line-height: 1.75; }
.bpc-guide-gate__card { position: relative; padding: clamp(1.5rem,4vw,3rem); background: rgba(244,238,223,.96); border: 1px solid rgba(255,255,255,.45); border-radius: 1.5rem; box-shadow: 0 2rem 7rem rgba(0,0,0,.45); color: #18201c; }
.bpc-guide-gate__card h2 { margin: 0 0 1.5rem; color: #18201c; font-size: clamp(2rem,3vw,3.2rem); font-weight: 400; letter-spacing: -.05em; line-height: .95; }
.bpc-guide-gate__card .bpc-guide-kicker { color: #755b15; }
.bpc-guide-gate__seal { position: absolute; top: -1.7rem; right: 1.5rem; display: grid; place-items: center; width: 4.5rem; height: 4.5rem; padding: .9rem; color: #191508; background: var(--guide-gold); border: 6px solid #0d1815; border-radius: 50%; transform: rotate(7deg); }
.bpc-guide-code-form { display: grid; gap: .55rem; }
.bpc-guide-code-form label { font-size: .7rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.bpc-guide-code-form__row { display: grid; grid-template-columns: 1fr auto; }
.bpc-guide-code-form input { min-width: 0; min-height: 3.5rem; padding: 0 1rem; color: #18201c; background: #fff; border: 1px solid rgba(24,32,28,.28); border-radius: .65rem 0 0 .65rem; font: inherit; }
.bpc-guide-code-form button { min-height: 3.5rem; padding: 0 1.2rem; color: #17170d; background: var(--guide-gold); border: 1px solid #b8942d; border-radius: 0 .65rem .65rem 0; font: 850 .72rem/1 var(--bpc-sans,sans-serif); letter-spacing: .06em; text-transform: uppercase; cursor: pointer; }
.bpc-guide-code-form input:focus-visible,
.bpc-guide-code-form button:focus-visible,
.bpc-guide-account-button:focus-visible { outline: 3px solid #1f7a5d; outline-offset: 3px; }
.bpc-guide-gate__divider { display: grid; grid-template-columns: 1fr auto 1fr; gap: .7rem; align-items: center; margin: 1.2rem 0; color: rgba(24,32,28,.5); font-size: .74rem; }
.bpc-guide-gate__divider::before,
.bpc-guide-gate__divider::after { content:''; height: 1px; background: rgba(24,32,28,.18); }
.bpc-guide-account-button { display: block; padding: .95rem 1rem; color: #18201c !important; border: 1px solid rgba(24,32,28,.28); border-radius: .65rem; font-size: .76rem; font-weight: 850; letter-spacing: .06em; text-align: center; text-decoration: none; text-transform: uppercase; }
.bpc-guide-gate__note { margin: 1rem 0 0; color: rgba(24,32,28,.62); font-size: .76rem; line-height: 1.5; text-align: center; }
.bpc-guide-alert { margin-bottom: 1rem; padding: .75rem .85rem; color: #721d1d; background: #f9dede; border: 1px solid #db8c8c; border-radius: .55rem; font-size: .82rem; line-height: 1.45; }
.bpc-guide-gate__map { position: absolute; inset: 0; opacity: .55; pointer-events: none; }
.bpc-guide-gate__map::before { content:''; position:absolute; inset:0; background-image: linear-gradient(rgba(244,238,223,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(244,238,223,.055) 1px,transparent 1px); background-size: 54px 54px; mask-image: radial-gradient(circle at 20% 45%, #000, transparent 55%); }
.bpc-guide-gate__island { position:absolute; left:-5%; top:22%; width:47vw; height:55vh; background:#235c47; opacity:.45; clip-path:polygon(4% 62%,12% 40%,27% 37%,37% 19%,52% 25%,59% 13%,78% 19%,94% 39%,88% 55%,70% 61%,61% 82%,41% 77%,29% 91%,17% 75%); filter:drop-shadow(0 2rem 4rem rgba(0,0,0,.38)); transform:rotate(-7deg); }
.bpc-guide-gate__star { position:absolute; color:var(--guide-gold); filter:drop-shadow(0 .7rem 1rem rgba(0,0,0,.55)); }
.bpc-guide-gate__star svg { width:100%; }
.bpc-guide-gate__star--one { left:12%; top:32%; width:4rem; transform:rotate(-8deg); }
.bpc-guide-gate__star--two { left:29%; top:57%; width:2.8rem; transform:rotate(9deg); }
.bpc-guide-gate__star--three { left:19%; top:69%; width:2rem; transform:rotate(-4deg); }

.bpc-guide-place-hero { position:relative; min-height:80svh; padding:calc(var(--bpc-header-h,74px) + 2.5rem) 0 4rem; display:grid; align-items:end; background:radial-gradient(circle at 75% 40%,rgba(49,114,87,.32),transparent 30rem),linear-gradient(135deg,#10231d,#07100f); }
.bpc-guide-place-hero.has-image { background-image:linear-gradient(90deg,rgba(5,11,10,.96) 0%,rgba(5,11,10,.68) 48%,rgba(5,11,10,.22)),var(--place-image); background-size:cover; background-position:center; }
.bpc-guide-place-hero__wash { position:absolute; inset:0; background:linear-gradient(180deg,transparent 35%,rgba(7,16,15,.9)); }
.bpc-guide-place-hero__inner { position:relative; z-index:2; }
.bpc-guide-back { display:inline-flex; margin-bottom:clamp(2rem,6vw,6rem); color:var(--guide-gold-soft)!important; font-size:.72rem; font-weight:800; letter-spacing:.08em; text-decoration:none; text-transform:uppercase; }
.bpc-guide-place-hero__title { display:grid; grid-template-columns:auto minmax(0,1fr); gap:clamp(1.2rem,4vw,3.5rem); align-items:start; }
.bpc-guide-place-hero__star { width:clamp(4rem,8vw,7rem); color:var(--guide-gold); filter:drop-shadow(0 1rem 1rem rgba(0,0,0,.4)); transform:rotate(-5deg); }
.bpc-guide.is-tier-must_visit .bpc-guide-place-hero__star,
.bpc-guide.is-tier-must_visit .bpc-guide-why > span { color:var(--guide-silver); }
.bpc-guide-place-hero__star svg { width:100%; }
.bpc-guide-place-hero h1 { max-width:15ch; margin:0 0 1rem; font-size:clamp(3.5rem,8vw,9rem); font-weight:400; letter-spacing:-.075em; line-height:.85; }
.bpc-guide-place-hero__title > div > p:last-child { max-width:46rem; margin:0; color:var(--guide-paper-muted); font-size:clamp(1rem,1.5vw,1.25rem); line-height:1.6; }
.bpc-guide-route-button { display:inline-flex; gap:.6rem; align-items:center; margin-top:2rem; padding:.9rem 1.2rem; color:#17170d!important; background:var(--guide-gold); border:1px solid var(--guide-gold); border-radius:.65rem; font-size:.72rem; font-weight:850; letter-spacing:.07em; text-decoration:none; text-transform:uppercase; }
.bpc-guide-route-button svg { width:1.1rem; }
.bpc-guide-place-story { padding:clamp(4rem,9vw,9rem) 0; background:#ebe5d7; color:#16201c; }
.bpc-guide-place-story__grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(18rem,.65fr); gap:clamp(3rem,9vw,10rem); align-items:start; }
.bpc-guide-prose { max-width:47rem; font-family:var(--bpc-serif,Georgia,serif); font-size:clamp(1.2rem,2vw,1.7rem); line-height:1.58; }
.bpc-guide-prose p { margin:0 0 1.4em; color:#16201c; }
.bpc-guide-why { display:grid; grid-template-columns:auto 1fr; gap:1.2rem; margin-top:3rem; padding:1.5rem 0; border-top:1px solid rgba(22,32,28,.25); border-bottom:1px solid rgba(22,32,28,.25); }
.bpc-guide-why > span { width:2.8rem; color:#b98e17; }
.bpc-guide-why svg { width:100%; }
.bpc-guide-why .bpc-guide-kicker { color:#715710; }
.bpc-guide-why strong { display:block; color:#16201c; font-family:var(--bpc-serif,Georgia,serif); font-size:clamp(1.3rem,2vw,2rem); font-weight:400; line-height:1.2; }
.bpc-guide-place-story__media { position:sticky; top:calc(var(--bpc-header-h,74px) + 2rem); }
.bpc-guide-place-story__media video,
.bpc-guide-reel-link,
.bpc-guide-reel-empty { width:100%; min-height:34rem; aspect-ratio:9/16; border-radius:1.2rem; box-shadow:0 2rem 5rem rgba(22,32,28,.22); object-fit:cover; }
.bpc-guide-reel-link,
.bpc-guide-reel-empty { display:grid; place-items:center; align-content:center; gap:1rem; padding:2rem; color:var(--guide-paper)!important; background:radial-gradient(circle at 50% 40%,rgba(242,200,75,.2),transparent 11rem),linear-gradient(145deg,#173228,#081311); text-align:center; text-decoration:none; }
.bpc-guide-reel-link span,
.bpc-guide-reel-empty span { width:5rem; color:var(--guide-gold); }
.bpc-guide-reel-link svg,
.bpc-guide-reel-empty svg { width:100%; }
.bpc-guide-place-map-section { padding:clamp(4rem,9vw,8rem) 0; background:#0a1412; }
.bpc-guide-place-map-section .bpc-guide-map-frame { width:100%; min-height:clamp(28rem,60vh,45rem); }
.bpc-guide-place-map-section .bpc-guide-section__head { margin-bottom:2rem; }
.bpc-guide-place-region { padding:clamp(4rem,9vw,8rem) 0; background:#173a2d; }
.bpc-guide-place-region h2 { max-width:15ch; margin:0 0 1rem; font-size:clamp(3rem,7vw,7rem); font-weight:400; letter-spacing:-.06em; line-height:.92; }
.bpc-guide-place-region p:not(.bpc-guide-kicker) { max-width:47rem; color:var(--guide-paper-muted); font-size:1.05rem; line-height:1.7; }

.bpc-guide-region-hero { position:relative; padding:calc(var(--bpc-header-h,74px) + clamp(4rem,9vw,9rem)) 0 clamp(4rem,8vw,8rem); background:linear-gradient(125deg,color-mix(in srgb,var(--region-color) 45%,#07100f),#07100f 70%); }
.bpc-guide-region-hero::after { content:''; position:absolute; right:-8vw; bottom:-15vw; width:44vw; height:44vw; border:1px solid color-mix(in srgb,var(--region-color) 65%,transparent); border-radius:50%; box-shadow:0 0 0 4vw color-mix(in srgb,var(--region-color) 10%,transparent),0 0 0 9vw color-mix(in srgb,var(--region-color) 7%,transparent); }
.bpc-guide-region-hero.has-image { isolation:isolate; overflow:hidden; background:#07100f; min-height:80svh; }
.bpc-guide-region-hero__image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; z-index:-2; }
.bpc-guide-region-hero.has-image::after { inset:0; width:auto; height:auto; border:0; border-radius:0; box-shadow:none; background:linear-gradient(90deg,rgba(5,11,10,.88),rgba(5,11,10,.64) 42%,rgba(5,11,10,.12)),linear-gradient(0deg,rgba(5,11,10,.64),transparent 45%); z-index:-1; }
.bpc-guide-region-hero__caption { position:absolute; right:clamp(1rem,4vw,4rem); bottom:1rem; z-index:2; color:#f4eedf; font:500 .65rem/1.4 var(--bpc-sans,sans-serif); letter-spacing:.04em; text-shadow:0 1px 5px #000; }
.bpc-guide-region-hero .container { position:relative; z-index:2; }
.bpc-guide-region-hero h1 { max-width:12ch; margin:0 0 1.4rem; font-size:clamp(4rem,10vw,10rem); font-weight:400; letter-spacing:-.075em; line-height:.84; }
.bpc-guide-region-hero__description { max-width:52rem; color:var(--guide-paper-muted); font-family:var(--bpc-serif,Georgia,serif); font-size:clamp(1.2rem,2vw,1.7rem); line-height:1.55; }
.bpc-guide-region-hero__description p { color:inherit; }
.bpc-guide-empty { padding:2rem; color:var(--guide-paper-muted); border:1px solid var(--guide-line); border-radius:1rem; }

@keyframes bpc-guide-pulse { 0%,100%{transform:scale(.9) rotate(-4deg);opacity:.65}50%{transform:scale(1.08) rotate(4deg);opacity:1} }

@media (max-width: 1100px) {
	.bpc-guide-place-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.bpc-guide-region-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
	.bpc-guide-map-legend { top:auto; bottom:1rem; max-height:17rem; }
}

@media (max-width: 780px) {
	.bpc-guide-hero__copy,
	.bpc-guide-section__head,
	.bpc-guide-gate__inner,
	.bpc-guide-place-story__grid { grid-template-columns:1fr; }
	.bpc-guide-hero h1 { font-size:clamp(3.25rem,16vw,6rem); }
	.bpc-guide-map-frame { min-height:70svh; border-radius:1rem; }
	.bpc-guide-map-toolbar { top:.65rem; width:max-content; max-width:calc(100% - 1rem); }
	.bpc-guide-map-toolbar button { min-height:2.45rem; padding:.55rem .75rem; font-size:.64rem; }
	.bpc-guide-map-legend { display:none; }
	.bpc-guide-map-card { right:.5rem; bottom:.5rem; left:.5rem; width:auto; border-radius:1rem; }
	.bpc-guide-map-card__actions { grid-template-columns:1fr; }
	.bpc-guide-place-grid { grid-template-columns:1fr; }
	.bpc-guide-place-card__visual { min-height:17rem; }
	.bpc-guide-place-card__body { min-height:14rem; }
	.bpc-guide-region-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.bpc-guide-region-card__body { padding:1.15rem; }
	.bpc-guide-region-hero.has-image { padding-top:calc(var(--bpc-header-h,74px) + 3rem); }
	.bpc-guide-region-hero.has-image::after { background:linear-gradient(0deg,rgba(5,11,10,.92),rgba(5,11,10,.64) 65%,rgba(5,11,10,.38)); }
	.bpc-guide-region-hero h1 { font-size:clamp(3rem,11vw,6rem); overflow-wrap:anywhere; }
	.bpc-guide-gate__intro h1 { font-size:clamp(3rem,14vw,5.5rem); }
	.bpc-guide-gate__island { left:-20%; top:12%; width:95vw; height:44vh; }
	.bpc-guide-gate__card { margin-top:1rem; }
	.bpc-guide-place-hero { min-height:72svh; }
	.bpc-guide-place-hero__title { grid-template-columns:1fr; }
	.bpc-guide-place-hero__star { width:4rem; }
	.bpc-guide-place-hero h1 { font-size:clamp(3.4rem,15vw,6.3rem); }
	.bpc-guide-place-story__media { position:static; max-width:25rem; margin:auto; }
}

@media (max-width: 520px) {
	.bpc-guide-hero { padding-top:calc(var(--bpc-header-h,74px) + 2rem); }
	.bpc-guide-region-grid { grid-template-columns:1fr; }
	.bpc-guide-code-form__row { grid-template-columns:1fr; gap:.5rem; }
	.bpc-guide-code-form input,
	.bpc-guide-code-form button { border-radius:.65rem; }
	.bpc-guide-map-frame { width:calc(100% - .8rem); }
}

@media (prefers-reduced-motion: reduce) {
	.bpc-guide *,
	.bpc-guide *::before,
	.bpc-guide *::after { scroll-behavior:auto!important; animation:none!important; transition:none!important; }
}
