/*!********************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!./tokens.css ***!
  \********************************************************************************************************************************************************************************************************************************************************/
/* BHD Trekking · Summit Pass token layer
 * Palette and type come from refer/branding/BHD - BRANDING - LOGO IDEA.pdf:
 * blue #2564b0, orange #f0492c, sky #6dc8f2, white. Every colour below is a
 * role, not a decoration; components reference these names, never raw hex. */
:root {
  --font-display: var(--font-barlow), 'Barlow Condensed', system-ui, sans-serif;
  --font-body: var(--font-bvp), 'Be Vietnam Pro', system-ui, sans-serif;

  /* Field colours — large regions */
  --bhd-navy: #0b2545;
  --bhd-navy-soft: #14355c;
  --bhd-blue: #2564b0;
  --bhd-blue-strong: #1c4f8e;
  --bhd-blue-soft: #e8f1fb;

  /* Air + action */
  --bhd-sky: #6dc8f2;
  --bhd-sky-soft: #d9f0fc;
  --bhd-orange: #f0492c;
  --bhd-orange-deep: #d33a1f; /* 4.8:1 with white — the only action fill */
  --bhd-orange-soft: #fdebe7;

  /* Paper + ink */
  --bhd-paper: #f2f5fa;
  --bhd-white: #ffffff;
  --bhd-ink: #0b1d33;
  --bhd-ink-soft: #4a5f79;
  --bhd-line: #d9e2ee;

  /* Shared aliases used by checkout surfaces */
  --color-blue: var(--bhd-blue);
  --color-blue-hover: var(--bhd-blue-strong);
  --color-orange: var(--bhd-orange);
  --color-action: var(--bhd-orange-deep);
  --color-action-hover: #b83017;
  --color-navy: var(--bhd-navy);
  --color-ink: var(--bhd-ink);
  --color-white: var(--bhd-white);
  --color-accent-ink: var(--bhd-blue);
  --color-focus: var(--bhd-orange);
  --color-scrim: rgb(8 24 44 / 62%);
  --color-hero-shade: rgb(8 24 44 / 80%);
  --color-hero-clear: rgb(8 24 44 / 0%);
  --color-tab-track: rgb(255 255 255 / 26%);

  --color-easy-bg: #e6f6ee;
  --color-easy-text: #0f6b48;
  --color-medium-bg: #fff2e0;
  --color-medium-text: #8a420f;
  --color-hard-bg: #fdeaea;
  --color-hard-text: #9b1f2e;

  --space-xs: 4px;
  --space-sm: 8px;
  --space-md: 16px;
  --space-lg: 24px;
  --space-xl: 32px;
  --space-2xl: 48px;
  --space-section: 88px;

  --radius-card: 14px;
  --radius-control: 10px;
  --radius-pill: 999px;

  --dur-fast: 160ms;
  --dur-base: 280ms;
  --ease-out: cubic-bezier(.16, 1, .3, 1);

  --header-height: 64px;
  --content-max: 1440px;

  --shadow-card: 0 1px 2px rgb(11 37 69 / 6%), 0 12px 28px -18px rgb(11 37 69 / 45%);
  --shadow-lift: 0 2px 6px rgb(11 37 69 / 8%), 0 22px 44px -24px rgb(11 37 69 / 55%);
}

@media (min-width: 1024px) {
  :root { --header-height: 72px; }
}

/*!*************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!./app/globals.css ***!
  \*************************************************************************************************************************************************************************************************************************************************************/
*, ::before, ::after{
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

::backdrop{
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/

/*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/

*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  border-width: 0; /* 2 */
  border-style: solid; /* 2 */
  border-color: #e5e7eb; /* 2 */
}

::before,
::after {
  --tw-content: '';
}

/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/

html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  font-family: var(--font-body), system-ui, sans-serif; /* 4 */
  font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}

/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/

body {
  margin: 0; /* 1 */
  line-height: inherit; /* 2 */
}

/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/

hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}

/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/

abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

/*
Remove the default font size and weight for headings.
*/

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

/*
Reset links to optimize for opt-in styling instead of opt-out.
*/

a {
  color: inherit;
  text-decoration: inherit;
}

/*
Add the correct font weight in Edge and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; /* 1 */
  font-feature-settings: normal; /* 2 */
  font-variation-settings: normal; /* 3 */
  font-size: 1em; /* 4 */
}

/*
Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/

table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}

/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  font-size: 100%; /* 1 */
  font-weight: inherit; /* 1 */
  line-height: inherit; /* 1 */
  letter-spacing: inherit; /* 1 */
  color: inherit; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 3 */
}

/*
Remove the inheritance of text transform in Edge and Firefox.
*/

button,
select {
  text-transform: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/

button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
  -webkit-appearance: button; /* 1 */
  background-color: transparent; /* 2 */
  background-image: none; /* 2 */
}

/*
Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
  outline: auto;
}

/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

:-moz-ui-invalid {
  box-shadow: none;
}

/*
Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/*
Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/

[type='search'] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/*
Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/*
Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/*
Removes the default spacing and border for appropriate elements.
*/

blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

/*
Reset default styling for dialogs.
*/

dialog {
  padding: 0;
}

/*
Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/

input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

input::placeholder,
textarea::placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

/*
Set the default cursor for buttons.
*/

button,
[role="button"] {
  cursor: pointer;
}

/*
Make sure disabled buttons don't get the pointer cursor.
*/

:disabled {
  cursor: default;
}

/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}

/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

img,
video {
  max-width: 100%;
  height: auto;
}

/* Make elements with the HTML hidden attribute stay hidden by default */

[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}

:root {
    --background: 216 40% 96%;
    --background-accent: 214 44% 98%;
    --foreground: 213 66% 12%;
    --surface: 0 0% 100%;
    --surface-elevated: 214 44% 98%;
    --surface-muted: 216 28% 93%;
    --surface-foreground: 213 66% 10%;
    --muted: 216 28% 93%;
    --muted-foreground: 213 24% 38%;
    --border: 214 30% 89%;
    --ring: 11 87% 56%;
    --primary: 213 65% 42%;
    --primary-foreground: 0 0% 100%;
    --secondary: 213 40% 94%;
    --secondary-foreground: 213 55% 20%;
    --danger: 357 68% 42%;
    --shadow-soft: var(--shadow-card);
    --shadow-strong: var(--shadow-lift);
  }

.dark {
    --background: 213 55% 8%;
    --background-accent: 213 50% 10%;
    --foreground: 210 40% 96%;
    --surface: 214 48% 12%;
    --surface-elevated: 214 44% 15%;
    --surface-muted: 214 34% 18%;
    --surface-foreground: 210 40% 97%;
    --muted: 214 34% 18%;
    --muted-foreground: 212 22% 70%;
    --border: 214 30% 24%;
    --ring: 11 87% 62%;
    --primary: 208 78% 64%;
    --primary-foreground: 213 60% 10%;
    --secondary: 214 34% 18%;
    --secondary-foreground: 210 40% 94%;
    --danger: 0 70% 66%;
    --color-accent-ink: var(--bhd-sky);
    --shadow-soft: 0 1px 2px rgb(0 0 0 / 45%), 0 10px 24px -18px rgb(0 0 0 / 80%);
    --shadow-strong: 0 2px 8px rgb(0 0 0 / 50%), 0 24px 48px -26px rgb(0 0 0 / 85%);
  }

* { border-color: hsl(var(--border)); }

html { scroll-behavior: smooth; }

body {
    background-color: hsl(var(--background));
    color: hsl(var(--foreground));
    font-family: var(--font-body);
    font-feature-settings: "ss01" 1;
    min-height: 100vh;
    position: relative;
    -webkit-font-smoothing: antialiased;
  }

::-moz-selection {
    background: var(--bhd-orange);
    color: var(--bhd-white);
  }

::selection {
    background: var(--bhd-orange);
    color: var(--bhd-white);
  }
.container{
  width: 100%;
}
@media (min-width: 640px){

  .container{
    max-width: 640px;
  }
}
@media (min-width: 768px){

  .container{
    max-width: 768px;
  }
}
@media (min-width: 1024px){

  .container{
    max-width: 1024px;
  }
}
@media (min-width: 1280px){

  .container{
    max-width: 1280px;
  }
}
@media (min-width: 1536px){

  .container{
    max-width: 1536px;
  }
}
.prose{
  color: var(--tw-prose-body);
  max-width: 65ch;
}
.prose :where(p):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 1.25em;
  margin-bottom: 1.25em;
}
.prose :where([class~="lead"]):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  color: var(--tw-prose-lead);
  font-size: 1.25em;
  line-height: 1.6;
  margin-top: 1.2em;
  margin-bottom: 1.2em;
}
.prose :where(a):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  color: var(--tw-prose-links);
  text-decoration: underline;
  font-weight: 500;
}
.prose :where(strong):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  color: var(--tw-prose-bold);
  font-weight: 600;
}
.prose :where(a strong):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  color: inherit;
}
.prose :where(blockquote strong):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  color: inherit;
}
.prose :where(thead th strong):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  color: inherit;
}
.prose :where(ol):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  list-style-type: decimal;
  margin-top: 1.25em;
  margin-bottom: 1.25em;
  padding-inline-start: 1.625em;
}
.prose :where(ol[type="A"]):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  list-style-type: upper-alpha;
}
.prose :where(ol[type="a"]):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  list-style-type: lower-alpha;
}
.prose :where(ol[type="A" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  list-style-type: upper-alpha;
}
.prose :where(ol[type="a" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  list-style-type: lower-alpha;
}
.prose :where(ol[type="I"]):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  list-style-type: upper-roman;
}
.prose :where(ol[type="i"]):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  list-style-type: lower-roman;
}
.prose :where(ol[type="I" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  list-style-type: upper-roman;
}
.prose :where(ol[type="i" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  list-style-type: lower-roman;
}
.prose :where(ol[type="1"]):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  list-style-type: decimal;
}
.prose :where(ul):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  list-style-type: disc;
  margin-top: 1.25em;
  margin-bottom: 1.25em;
  padding-inline-start: 1.625em;
}
.prose :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *))::marker{
  font-weight: 400;
  color: var(--tw-prose-counters);
}
.prose :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *))::marker{
  color: var(--tw-prose-bullets);
}
.prose :where(dt):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  color: var(--tw-prose-headings);
  font-weight: 600;
  margin-top: 1.25em;
}
.prose :where(hr):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  border-color: var(--tw-prose-hr);
  border-top-width: 1px;
  margin-top: 3em;
  margin-bottom: 3em;
}
.prose :where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  font-weight: 500;
  font-style: italic;
  color: var(--tw-prose-quotes);
  border-inline-start-width: 0.25rem;
  border-inline-start-color: var(--tw-prose-quote-borders);
  quotes: "\201C""\201D""\2018""\2019";
  margin-top: 1.6em;
  margin-bottom: 1.6em;
  padding-inline-start: 1em;
}
.prose :where(blockquote p:first-of-type):not(:where([class~="not-prose"],[class~="not-prose"] *))::before{
  content: open-quote;
}
.prose :where(blockquote p:last-of-type):not(:where([class~="not-prose"],[class~="not-prose"] *))::after{
  content: close-quote;
}
.prose :where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  color: var(--tw-prose-headings);
  font-weight: 800;
  font-size: 2.25em;
  margin-top: 0;
  margin-bottom: 0.8888889em;
  line-height: 1.1111111;
}
.prose :where(h1 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  font-weight: 900;
  color: inherit;
}
.prose :where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  color: var(--tw-prose-headings);
  font-weight: 700;
  font-size: 1.5em;
  margin-top: 2em;
  margin-bottom: 1em;
  line-height: 1.3333333;
}
.prose :where(h2 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  font-weight: 800;
  color: inherit;
}
.prose :where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  color: var(--tw-prose-headings);
  font-weight: 600;
  font-size: 1.25em;
  margin-top: 1.6em;
  margin-bottom: 0.6em;
  line-height: 1.6;
}
.prose :where(h3 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  font-weight: 700;
  color: inherit;
}
.prose :where(h4):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  color: var(--tw-prose-headings);
  font-weight: 600;
  margin-top: 1.5em;
  margin-bottom: 0.5em;
  line-height: 1.5;
}
.prose :where(h4 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  font-weight: 700;
  color: inherit;
}
.prose :where(img):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 2em;
  margin-bottom: 2em;
}
.prose :where(picture):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  display: block;
  margin-top: 2em;
  margin-bottom: 2em;
}
.prose :where(video):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 2em;
  margin-bottom: 2em;
}
.prose :where(kbd):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  font-weight: 500;
  font-family: inherit;
  color: var(--tw-prose-kbd);
  box-shadow: 0 0 0 1px var(--tw-prose-kbd-shadows), 0 3px 0 var(--tw-prose-kbd-shadows);
  font-size: 0.875em;
  border-radius: 0.3125rem;
  padding-top: 0.1875em;
  padding-inline-end: 0.375em;
  padding-bottom: 0.1875em;
  padding-inline-start: 0.375em;
}
.prose :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  color: var(--tw-prose-code);
  font-weight: 600;
  font-size: 0.875em;
}
.prose :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))::before{
  content: "`";
}
.prose :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))::after{
  content: "`";
}
.prose :where(a code):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  color: inherit;
}
.prose :where(h1 code):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  color: inherit;
}
.prose :where(h2 code):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  color: inherit;
  font-size: 0.875em;
}
.prose :where(h3 code):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  color: inherit;
  font-size: 0.9em;
}
.prose :where(h4 code):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  color: inherit;
}
.prose :where(blockquote code):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  color: inherit;
}
.prose :where(thead th code):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  color: inherit;
}
.prose :where(pre):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  color: var(--tw-prose-pre-code);
  background-color: var(--tw-prose-pre-bg);
  overflow-x: auto;
  font-weight: 400;
  font-size: 0.875em;
  line-height: 1.7142857;
  margin-top: 1.7142857em;
  margin-bottom: 1.7142857em;
  border-radius: 0.375rem;
  padding-top: 0.8571429em;
  padding-inline-end: 1.1428571em;
  padding-bottom: 0.8571429em;
  padding-inline-start: 1.1428571em;
}
.prose :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  background-color: transparent;
  border-width: 0;
  border-radius: 0;
  padding: 0;
  font-weight: inherit;
  color: inherit;
  font-size: inherit;
  font-family: inherit;
  line-height: inherit;
}
.prose :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *))::before{
  content: none;
}
.prose :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *))::after{
  content: none;
}
.prose :where(table):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  width: 100%;
  table-layout: auto;
  margin-top: 2em;
  margin-bottom: 2em;
  font-size: 0.875em;
  line-height: 1.7142857;
}
.prose :where(thead):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  border-bottom-width: 1px;
  border-bottom-color: var(--tw-prose-th-borders);
}
.prose :where(thead th):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  color: var(--tw-prose-headings);
  font-weight: 600;
  vertical-align: bottom;
  padding-inline-end: 0.5714286em;
  padding-bottom: 0.5714286em;
  padding-inline-start: 0.5714286em;
}
.prose :where(tbody tr):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  border-bottom-width: 1px;
  border-bottom-color: var(--tw-prose-td-borders);
}
.prose :where(tbody tr:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  border-bottom-width: 0;
}
.prose :where(tbody td):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  vertical-align: baseline;
}
.prose :where(tfoot):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  border-top-width: 1px;
  border-top-color: var(--tw-prose-th-borders);
}
.prose :where(tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  vertical-align: top;
}
.prose :where(th, td):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  text-align: start;
}
.prose :where(figure > *):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 0;
  margin-bottom: 0;
}
.prose :where(figcaption):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  color: var(--tw-prose-captions);
  font-size: 0.875em;
  line-height: 1.4285714;
  margin-top: 0.8571429em;
}
.prose{
  --tw-prose-body: #374151;
  --tw-prose-headings: #111827;
  --tw-prose-lead: #4b5563;
  --tw-prose-links: #111827;
  --tw-prose-bold: #111827;
  --tw-prose-counters: #6b7280;
  --tw-prose-bullets: #d1d5db;
  --tw-prose-hr: #e5e7eb;
  --tw-prose-quotes: #111827;
  --tw-prose-quote-borders: #e5e7eb;
  --tw-prose-captions: #6b7280;
  --tw-prose-kbd: #111827;
  --tw-prose-kbd-shadows: rgb(17 24 39 / 10%);
  --tw-prose-code: #111827;
  --tw-prose-pre-code: #e5e7eb;
  --tw-prose-pre-bg: #1f2937;
  --tw-prose-th-borders: #d1d5db;
  --tw-prose-td-borders: #e5e7eb;
  --tw-prose-invert-body: #d1d5db;
  --tw-prose-invert-headings: #fff;
  --tw-prose-invert-lead: #9ca3af;
  --tw-prose-invert-links: #fff;
  --tw-prose-invert-bold: #fff;
  --tw-prose-invert-counters: #9ca3af;
  --tw-prose-invert-bullets: #4b5563;
  --tw-prose-invert-hr: #374151;
  --tw-prose-invert-quotes: #f3f4f6;
  --tw-prose-invert-quote-borders: #374151;
  --tw-prose-invert-captions: #9ca3af;
  --tw-prose-invert-kbd: #fff;
  --tw-prose-invert-kbd-shadows: rgb(255 255 255 / 10%);
  --tw-prose-invert-code: #fff;
  --tw-prose-invert-pre-code: #d1d5db;
  --tw-prose-invert-pre-bg: rgb(0 0 0 / 50%);
  --tw-prose-invert-th-borders: #4b5563;
  --tw-prose-invert-td-borders: #374151;
  font-size: 1rem;
  line-height: 1.75;
}
.prose :where(picture > img):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 0;
  margin-bottom: 0;
}
.prose :where(li):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}
.prose :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  padding-inline-start: 0.375em;
}
.prose :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  padding-inline-start: 0.375em;
}
.prose :where(.prose > ul > li p):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 0.75em;
  margin-bottom: 0.75em;
}
.prose :where(.prose > ul > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 1.25em;
}
.prose :where(.prose > ul > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-bottom: 1.25em;
}
.prose :where(.prose > ol > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 1.25em;
}
.prose :where(.prose > ol > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-bottom: 1.25em;
}
.prose :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 0.75em;
  margin-bottom: 0.75em;
}
.prose :where(dl):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 1.25em;
  margin-bottom: 1.25em;
}
.prose :where(dd):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 0.5em;
  padding-inline-start: 1.625em;
}
.prose :where(hr + *):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 0;
}
.prose :where(h2 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 0;
}
.prose :where(h3 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 0;
}
.prose :where(h4 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 0;
}
.prose :where(thead th:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  padding-inline-start: 0;
}
.prose :where(thead th:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  padding-inline-end: 0;
}
.prose :where(tbody td, tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  padding-top: 0.5714286em;
  padding-inline-end: 0.5714286em;
  padding-bottom: 0.5714286em;
  padding-inline-start: 0.5714286em;
}
.prose :where(tbody td:first-child, tfoot td:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  padding-inline-start: 0;
}
.prose :where(tbody td:last-child, tfoot td:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  padding-inline-end: 0;
}
.prose :where(figure):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 2em;
  margin-bottom: 2em;
}
.prose :where(.prose > :first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 0;
}
.prose :where(.prose > :last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-bottom: 0;
}
.prose-lg{
  font-size: 1.125rem;
  line-height: 1.7777778;
}
.prose-lg :where(p):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 1.3333333em;
  margin-bottom: 1.3333333em;
}
.prose-lg :where([class~="lead"]):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  font-size: 1.2222222em;
  line-height: 1.4545455;
  margin-top: 1.0909091em;
  margin-bottom: 1.0909091em;
}
.prose-lg :where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 1.6666667em;
  margin-bottom: 1.6666667em;
  padding-inline-start: 1em;
}
.prose-lg :where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  font-size: 2.6666667em;
  margin-top: 0;
  margin-bottom: 0.8333333em;
  line-height: 1;
}
.prose-lg :where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  font-size: 1.6666667em;
  margin-top: 1.8666667em;
  margin-bottom: 1.0666667em;
  line-height: 1.3333333;
}
.prose-lg :where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  font-size: 1.3333333em;
  margin-top: 1.6666667em;
  margin-bottom: 0.6666667em;
  line-height: 1.5;
}
.prose-lg :where(h4):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 1.7777778em;
  margin-bottom: 0.4444444em;
  line-height: 1.5555556;
}
.prose-lg :where(img):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 1.7777778em;
  margin-bottom: 1.7777778em;
}
.prose-lg :where(picture):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 1.7777778em;
  margin-bottom: 1.7777778em;
}
.prose-lg :where(picture > img):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 0;
  margin-bottom: 0;
}
.prose-lg :where(video):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 1.7777778em;
  margin-bottom: 1.7777778em;
}
.prose-lg :where(kbd):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  font-size: 0.8888889em;
  border-radius: 0.3125rem;
  padding-top: 0.2222222em;
  padding-inline-end: 0.4444444em;
  padding-bottom: 0.2222222em;
  padding-inline-start: 0.4444444em;
}
.prose-lg :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  font-size: 0.8888889em;
}
.prose-lg :where(h2 code):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  font-size: 0.8666667em;
}
.prose-lg :where(h3 code):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  font-size: 0.875em;
}
.prose-lg :where(pre):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  font-size: 0.8888889em;
  line-height: 1.75;
  margin-top: 2em;
  margin-bottom: 2em;
  border-radius: 0.375rem;
  padding-top: 1em;
  padding-inline-end: 1.5em;
  padding-bottom: 1em;
  padding-inline-start: 1.5em;
}
.prose-lg :where(ol):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 1.3333333em;
  margin-bottom: 1.3333333em;
  padding-inline-start: 1.5555556em;
}
.prose-lg :where(ul):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 1.3333333em;
  margin-bottom: 1.3333333em;
  padding-inline-start: 1.5555556em;
}
.prose-lg :where(li):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 0.6666667em;
  margin-bottom: 0.6666667em;
}
.prose-lg :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  padding-inline-start: 0.4444444em;
}
.prose-lg :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  padding-inline-start: 0.4444444em;
}
.prose-lg :where(.prose-lg > ul > li p):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 0.8888889em;
  margin-bottom: 0.8888889em;
}
.prose-lg :where(.prose-lg > ul > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 1.3333333em;
}
.prose-lg :where(.prose-lg > ul > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-bottom: 1.3333333em;
}
.prose-lg :where(.prose-lg > ol > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 1.3333333em;
}
.prose-lg :where(.prose-lg > ol > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-bottom: 1.3333333em;
}
.prose-lg :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 0.8888889em;
  margin-bottom: 0.8888889em;
}
.prose-lg :where(dl):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 1.3333333em;
  margin-bottom: 1.3333333em;
}
.prose-lg :where(dt):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 1.3333333em;
}
.prose-lg :where(dd):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 0.6666667em;
  padding-inline-start: 1.5555556em;
}
.prose-lg :where(hr):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 3.1111111em;
  margin-bottom: 3.1111111em;
}
.prose-lg :where(hr + *):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 0;
}
.prose-lg :where(h2 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 0;
}
.prose-lg :where(h3 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 0;
}
.prose-lg :where(h4 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 0;
}
.prose-lg :where(table):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  font-size: 0.8888889em;
  line-height: 1.5;
}
.prose-lg :where(thead th):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  padding-inline-end: 0.75em;
  padding-bottom: 0.75em;
  padding-inline-start: 0.75em;
}
.prose-lg :where(thead th:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  padding-inline-start: 0;
}
.prose-lg :where(thead th:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  padding-inline-end: 0;
}
.prose-lg :where(tbody td, tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  padding-top: 0.75em;
  padding-inline-end: 0.75em;
  padding-bottom: 0.75em;
  padding-inline-start: 0.75em;
}
.prose-lg :where(tbody td:first-child, tfoot td:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  padding-inline-start: 0;
}
.prose-lg :where(tbody td:last-child, tfoot td:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  padding-inline-end: 0;
}
.prose-lg :where(figure):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 1.7777778em;
  margin-bottom: 1.7777778em;
}
.prose-lg :where(figure > *):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 0;
  margin-bottom: 0;
}
.prose-lg :where(figcaption):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  font-size: 0.8888889em;
  line-height: 1.5;
  margin-top: 1em;
}
.prose-lg :where(.prose-lg > :first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 0;
}
.prose-lg :where(.prose-lg > :last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-bottom: 0;
}
.container-custom{
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  padding-left: 1rem;
  padding-right: 1rem;
}
@media (min-width: 640px){

  .container-custom{
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}
@media (min-width: 1024px){

  .container-custom{
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }
}
.section-padding{
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}
@media (min-width: 768px){

  .section-padding{
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
  }
}
@media (min-width: 1024px){

  .section-padding{
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}
.heading-2 {
    font-family: var(--font-display);
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: .005em;
    text-transform: uppercase;
    font-size: clamp(1.5rem, 2.6vw, 2.25rem);
  }
.heading-3 {
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: -.01em;
    font-size: 1.125rem;
  }
.text-gradient { color: hsl(var(--primary)); font-weight: 700; }
/* One action colour across the product: the deep brand orange. */
.btn-primary{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  font-weight: 600;
}
.btn-primary:focus-visible{
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.btn-primary {
    border-radius: var(--radius-control);
    min-height: 44px;
    font-family: var(--font-body);
    transition: background-color var(--dur-fast) var(--ease-out),
                border-color var(--dur-fast) var(--ease-out),
                transform var(--dur-fast) var(--ease-out);
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
    background-color: var(--color-action);
    color: var(--bhd-white);
    border: 1px solid var(--color-action);
  }
.btn-primary:hover { background-color: var(--color-action-hover); border-color: var(--color-action-hover); }
.btn-primary:active { transform: translateY(1px); }
.btn-outline{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  font-weight: 600;
}
.btn-outline:focus-visible{
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.btn-outline {
    border-radius: var(--radius-control);
    min-height: 44px;
    font-family: var(--font-body);
    transition: background-color var(--dur-fast) var(--ease-out),
                border-color var(--dur-fast) var(--ease-out),
                transform var(--dur-fast) var(--ease-out);
    border-width: 1px;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
    border-color: hsl(var(--border));
    color: hsl(var(--foreground));
    background-color: hsl(var(--surface));
  }
.btn-outline:hover { border-color: var(--bhd-blue); color: hsl(var(--foreground)); }
.card {
    background-color: hsl(var(--surface));
    border: 1px solid hsl(var(--border));
    border-radius: var(--radius-card);
    box-shadow: none;
    overflow: hidden;
  }
.card:hover { border-color: color-mix(in srgb, var(--bhd-blue) 38%, hsl(var(--border))); }
.panel {
    border-radius: var(--radius-card);
    border: 1px solid hsl(var(--border));
    background-color: hsl(var(--surface));
    padding: clamp(1.25rem, 2.6vw, 2rem);
  }
/* Typography prose styles */
.prose {
    --tw-prose-body: hsl(var(--muted-foreground));
    --tw-prose-headings: hsl(var(--foreground));
    --tw-prose-lead: hsl(var(--muted-foreground));
    --tw-prose-links: hsl(var(--primary));
    --tw-prose-bold: hsl(var(--foreground));
    --tw-prose-counters: hsl(var(--muted-foreground));
    --tw-prose-bullets: hsl(var(--muted-foreground));
    --tw-prose-hr: hsl(var(--border));
    --tw-prose-quotes: hsl(var(--foreground));
    --tw-prose-quote-borders: hsl(var(--primary));
    --tw-prose-captions: hsl(var(--muted-foreground));
    --tw-prose-code: hsl(var(--foreground));
    --tw-prose-pre-code: hsl(var(--foreground));
    --tw-prose-pre-bg: hsl(var(--surface-elevated));
    --tw-prose-th-borders: hsl(var(--border));
    --tw-prose-td-borders: hsl(var(--border));
  }
.prose h2 {
    font-family: var(--font-display);
    font-size: 1.4rem;
    font-weight: 800;
    letter-spacing: .005em;
    text-transform: uppercase;
    color: hsl(var(--foreground));
    margin-top: 2.5rem;
    margin-bottom: 1.25rem;
  }
@media (min-width: 768px) {
    .prose h2 { font-size: 1.75rem; }
  }
.prose h3 {
    font-size: 1.2rem;
    font-weight: 700;
    color: hsl(var(--foreground));
    margin-top: 2rem;
    margin-bottom: 0.75rem;
  }
.prose p {
    color: hsl(var(--muted-foreground));
    line-height: 1.75;
    margin-bottom: 1.4rem;
  }
.prose ul {
    list-style-type: disc;
    margin-left: 1.3rem;
    margin-bottom: 1.4rem;
    color: hsl(var(--muted-foreground));
  }
.prose ol {
    list-style-type: decimal;
    margin-left: 1.3rem;
    margin-bottom: 1.4rem;
    color: hsl(var(--muted-foreground));
  }
.prose li { margin-block: 0.4rem; }
.prose strong { font-weight: 700; color: hsl(var(--foreground)); }
.prose a { color: hsl(var(--primary)); text-decoration: none; }
.prose a:hover { text-decoration: underline; text-underline-offset: 3px; }
.prose blockquote {
    border-left-width: 3px;
    border-left-color: var(--bhd-orange);
    padding-left: 1rem;
    color: hsl(var(--muted-foreground));
  }
.prose img { border-radius: var(--radius-card); }
.prose code {
    background-color: hsl(var(--surface-elevated));
    padding: 0.125rem 0.375rem;
    border-radius: 4px;
    font-size: 0.875rem;
  }
.prose pre {
    background-color: hsl(var(--surface-elevated));
    padding: 1rem;
    border-radius: var(--radius-control);
    overflow-x: auto;
  }
.sr-only{
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}
.pointer-events-none{
  pointer-events: none;
}
.pointer-events-auto{
  pointer-events: auto;
}
.visible{
  visibility: visible;
}
.collapse{
  visibility: collapse;
}
.static{
  position: static;
}
.fixed{
  position: fixed;
}
.absolute{
  position: absolute;
}
.relative{
  position: relative;
}
.sticky{
  position: sticky;
}
.inset-0{
  inset: 0px;
}
.inset-x-0{
  left: 0px;
  right: 0px;
}
.bottom-0{
  bottom: 0px;
}
.bottom-24{
  bottom: 6rem;
}
.bottom-3{
  bottom: 0.75rem;
}
.bottom-4{
  bottom: 1rem;
}
.bottom-6{
  bottom: 1.5rem;
}
.bottom-8{
  bottom: 2rem;
}
.left-0{
  left: 0px;
}
.left-1\/2{
  left: 50%;
}
.left-2{
  left: 0.5rem;
}
.left-3{
  left: 0.75rem;
}
.left-3\.5{
  left: 0.875rem;
}
.left-4{
  left: 1rem;
}
.left-6{
  left: 1.5rem;
}
.right-0{
  right: 0px;
}
.right-0\.5{
  right: 0.125rem;
}
.right-1{
  right: 0.25rem;
}
.right-2{
  right: 0.5rem;
}
.right-3{
  right: 0.75rem;
}
.right-4{
  right: 1rem;
}
.right-6{
  right: 1.5rem;
}
.right-full{
  right: 100%;
}
.top-0{
  top: 0px;
}
.top-0\.5{
  top: 0.125rem;
}
.top-1{
  top: 0.25rem;
}
.top-1\.5{
  top: 0.375rem;
}
.top-1\/2{
  top: 50%;
}
.top-2{
  top: 0.5rem;
}
.top-20{
  top: 5rem;
}
.top-3{
  top: 0.75rem;
}
.top-6{
  top: 1.5rem;
}
.z-0{
  z-index: 0;
}
.z-10{
  z-index: 10;
}
.z-20{
  z-index: 20;
}
.z-30{
  z-index: 30;
}
.z-40{
  z-index: 40;
}
.z-50{
  z-index: 50;
}
.z-\[100\]{
  z-index: 100;
}
.order-1{
  order: 1;
}
.order-10{
  order: 10;
}
.order-11{
  order: 11;
}
.order-12{
  order: 12;
}
.order-2{
  order: 2;
}
.order-3{
  order: 3;
}
.order-4{
  order: 4;
}
.order-5{
  order: 5;
}
.order-6{
  order: 6;
}
.order-7{
  order: 7;
}
.order-8{
  order: 8;
}
.order-9{
  order: 9;
}
.order-\[13\]{
  order: 13;
}
.order-\[14\]{
  order: 14;
}
.order-last{
  order: 9999;
}
.-mx-4{
  margin-left: -1rem;
  margin-right: -1rem;
}
.mx-auto{
  margin-left: auto;
  margin-right: auto;
}
.my-2{
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
.my-8{
  margin-top: 2rem;
  margin-bottom: 2rem;
}
.-mb-\[1px\]{
  margin-bottom: -1px;
}
.mb-0\.5{
  margin-bottom: 0.125rem;
}
.mb-1{
  margin-bottom: 0.25rem;
}
.mb-1\.5{
  margin-bottom: 0.375rem;
}
.mb-10{
  margin-bottom: 2.5rem;
}
.mb-2{
  margin-bottom: 0.5rem;
}
.mb-3{
  margin-bottom: 0.75rem;
}
.mb-4{
  margin-bottom: 1rem;
}
.mb-5{
  margin-bottom: 1.25rem;
}
.mb-6{
  margin-bottom: 1.5rem;
}
.mb-8{
  margin-bottom: 2rem;
}
.ml-0\.5{
  margin-left: 0.125rem;
}
.ml-1{
  margin-left: 0.25rem;
}
.ml-2{
  margin-left: 0.5rem;
}
.mr-1{
  margin-right: 0.25rem;
}
.mr-2{
  margin-right: 0.5rem;
}
.mt-0{
  margin-top: 0px;
}
.mt-0\.5{
  margin-top: 0.125rem;
}
.mt-1{
  margin-top: 0.25rem;
}
.mt-2{
  margin-top: 0.5rem;
}
.mt-3{
  margin-top: 0.75rem;
}
.mt-4{
  margin-top: 1rem;
}
.mt-6{
  margin-top: 1.5rem;
}
.mt-8{
  margin-top: 2rem;
}
.mt-auto{
  margin-top: auto;
}
.line-clamp-1{
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
.line-clamp-2{
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.block{
  display: block;
}
.inline-block{
  display: inline-block;
}
.inline{
  display: inline;
}
.flex{
  display: flex;
}
.inline-flex{
  display: inline-flex;
}
.table{
  display: table;
}
.grid{
  display: grid;
}
.contents{
  display: contents;
}
.hidden{
  display: none;
}
.aspect-\[4\/3\]{
  aspect-ratio: 4/3;
}
.aspect-square{
  aspect-ratio: 1 / 1;
}
.h-1{
  height: 0.25rem;
}
.h-1\.5{
  height: 0.375rem;
}
.h-10{
  height: 2.5rem;
}
.h-11{
  height: 2.75rem;
}
.h-12{
  height: 3rem;
}
.h-16{
  height: 4rem;
}
.h-2{
  height: 0.5rem;
}
.h-2\.5{
  height: 0.625rem;
}
.h-20{
  height: 5rem;
}
.h-24{
  height: 6rem;
}
.h-3{
  height: 0.75rem;
}
.h-3\.5{
  height: 0.875rem;
}
.h-32{
  height: 8rem;
}
.h-4{
  height: 1rem;
}
.h-40{
  height: 10rem;
}
.h-44{
  height: 11rem;
}
.h-5{
  height: 1.25rem;
}
.h-56{
  height: 14rem;
}
.h-6{
  height: 1.5rem;
}
.h-64{
  height: 16rem;
}
.h-7{
  height: 1.75rem;
}
.h-8{
  height: 2rem;
}
.h-9{
  height: 2.25rem;
}
.h-96{
  height: 24rem;
}
.h-\[calc\(100vh-64px\)\]{
  height: calc(100vh - 64px);
}
.h-auto{
  height: auto;
}
.h-full{
  height: 100%;
}
.h-px{
  height: 1px;
}
.max-h-96{
  max-height: 24rem;
}
.max-h-\[82vh\]{
  max-height: 82vh;
}
.max-h-\[90vh\]{
  max-height: 90vh;
}
.min-h-11{
  min-height: 2.75rem;
}
.min-h-6{
  min-height: 1.5rem;
}
.min-h-\[2\.5rem\]{
  min-height: 2.5rem;
}
.min-h-screen{
  min-height: 100vh;
}
.w-0\.5{
  width: 0.125rem;
}
.w-1\/2{
  width: 50%;
}
.w-1\/3{
  width: 33.333333%;
}
.w-10{
  width: 2.5rem;
}
.w-11{
  width: 2.75rem;
}
.w-12{
  width: 3rem;
}
.w-16{
  width: 4rem;
}
.w-2{
  width: 0.5rem;
}
.w-2\.5{
  width: 0.625rem;
}
.w-2\/3{
  width: 66.666667%;
}
.w-20{
  width: 5rem;
}
.w-24{
  width: 6rem;
}
.w-3{
  width: 0.75rem;
}
.w-3\.5{
  width: 0.875rem;
}
.w-3\/4{
  width: 75%;
}
.w-4{
  width: 1rem;
}
.w-5{
  width: 1.25rem;
}
.w-6{
  width: 1.5rem;
}
.w-64{
  width: 16rem;
}
.w-7{
  width: 1.75rem;
}
.w-72{
  width: 18rem;
}
.w-8{
  width: 2rem;
}
.w-80{
  width: 20rem;
}
.w-9{
  width: 2.25rem;
}
.w-\[280px\]{
  width: 280px;
}
.w-auto{
  width: auto;
}
.w-full{
  width: 100%;
}
.min-w-0{
  min-width: 0px;
}
.min-w-8{
  min-width: 2rem;
}
.min-w-\[104px\]{
  min-width: 104px;
}
.min-w-\[264px\]{
  min-width: 264px;
}
.min-w-max{
  min-width: -moz-max-content;
  min-width: max-content;
}
.max-w-2xl{
  max-width: 42rem;
}
.max-w-3xl{
  max-width: 48rem;
}
.max-w-4xl{
  max-width: 56rem;
}
.max-w-\[95vw\]{
  max-width: 95vw;
}
.max-w-lg{
  max-width: 32rem;
}
.max-w-md{
  max-width: 28rem;
}
.max-w-none{
  max-width: none;
}
.max-w-sm{
  max-width: 24rem;
}
.max-w-xl{
  max-width: 36rem;
}
.flex-1{
  flex: 1 1 0%;
}
.flex-none{
  flex: none;
}
.flex-shrink-0{
  flex-shrink: 0;
}
.shrink-0{
  flex-shrink: 0;
}
.flex-grow{
  flex-grow: 1;
}
.-translate-x-1\/2{
  --tw-translate-x: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-y-1\/2{
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-\[2px\]{
  --tw-translate-y: 2px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.scale-100{
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.scale-75{
  --tw-scale-x: .75;
  --tw-scale-y: .75;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.transform{
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
@keyframes pulse{

  50%{
    opacity: .5;
  }
}
.animate-pulse{
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
@keyframes spin{

  to{
    transform: rotate(360deg);
  }
}
.animate-spin{
  animation: spin 1s linear infinite;
}
.cursor-e-resize{
  cursor: e-resize;
}
.cursor-grab{
  cursor: grab;
}
.cursor-grabbing{
  cursor: grabbing;
}
.cursor-not-allowed{
  cursor: not-allowed;
}
.cursor-pointer{
  cursor: pointer;
}
.cursor-w-resize{
  cursor: w-resize;
}
.cursor-wait{
  cursor: wait;
}
.cursor-zoom-in{
  cursor: zoom-in;
}
.select-none{
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.resize{
  resize: both;
}
.snap-x{
  scroll-snap-type: x var(--tw-scroll-snap-strictness);
}
.snap-mandatory{
  --tw-scroll-snap-strictness: mandatory;
}
.snap-start{
  scroll-snap-align: start;
}
.snap-center{
  scroll-snap-align: center;
}
.list-none{
  list-style-type: none;
}
.grid-cols-1{
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.grid-cols-2{
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.grid-cols-\[1fr_1fr_1\.5rem_1fr_1fr\]{
  grid-template-columns: 1fr 1fr 1.5rem 1fr 1fr;
}
.flex-col{
  flex-direction: column;
}
.flex-wrap{
  flex-wrap: wrap;
}
.items-start{
  align-items: flex-start;
}
.items-end{
  align-items: flex-end;
}
.items-center{
  align-items: center;
}
.items-stretch{
  align-items: stretch;
}
.justify-center{
  justify-content: center;
}
.justify-between{
  justify-content: space-between;
}
.gap-1{
  gap: 0.25rem;
}
.gap-1\.5{
  gap: 0.375rem;
}
.gap-10{
  gap: 2.5rem;
}
.gap-12{
  gap: 3rem;
}
.gap-2{
  gap: 0.5rem;
}
.gap-2\.5{
  gap: 0.625rem;
}
.gap-3{
  gap: 0.75rem;
}
.gap-4{
  gap: 1rem;
}
.gap-5{
  gap: 1.25rem;
}
.gap-6{
  gap: 1.5rem;
}
.gap-8{
  gap: 2rem;
}
.gap-x-5{
  -moz-column-gap: 1.25rem;
       column-gap: 1.25rem;
}
.gap-y-3{
  row-gap: 0.75rem;
}
.space-y-0 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0px * var(--tw-space-y-reverse));
}
.space-y-1 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
}
.space-y-1\.5 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(0.375rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.375rem * var(--tw-space-y-reverse));
}
.space-y-10 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(2.5rem * var(--tw-space-y-reverse));
}
.space-y-2 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
}
.space-y-2\.5 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(0.625rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.625rem * var(--tw-space-y-reverse));
}
.space-y-3 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));
}
.space-y-4 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1rem * var(--tw-space-y-reverse));
}
.space-y-5 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.25rem * var(--tw-space-y-reverse));
}
.space-y-6 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));
}
.space-y-8 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(2rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(2rem * var(--tw-space-y-reverse));
}
.self-center{
  align-self: center;
}
.overflow-hidden{
  overflow: hidden;
}
.overflow-x-auto{
  overflow-x: auto;
}
.overflow-y-auto{
  overflow-y: auto;
}
.truncate{
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.whitespace-nowrap{
  white-space: nowrap;
}
.break-all{
  word-break: break-all;
}
.rounded{
  border-radius: 0.25rem;
}
.rounded-2xl{
  border-radius: 1rem;
}
.rounded-3xl{
  border-radius: 1.5rem;
}
.rounded-full{
  border-radius: 9999px;
}
.rounded-lg{
  border-radius: 0.5rem;
}
.rounded-md{
  border-radius: 0.375rem;
}
.rounded-sm{
  border-radius: 0.125rem;
}
.rounded-xl{
  border-radius: 0.75rem;
}
.rounded-t-3xl{
  border-top-left-radius: 1.5rem;
  border-top-right-radius: 1.5rem;
}
.border{
  border-width: 1px;
}
.border-2{
  border-width: 2px;
}
.border-4{
  border-width: 4px;
}
.border-b{
  border-bottom-width: 1px;
}
.border-b-2{
  border-bottom-width: 2px;
}
.border-l-4{
  border-left-width: 4px;
}
.border-t{
  border-top-width: 1px;
}
.border-t-2{
  border-top-width: 2px;
}
.border-dashed{
  border-style: dashed;
}
.border-none{
  border-style: none;
}
.border-\[var\(--bhd-orange-deep\)\]{
  border-color: var(--bhd-orange-deep);
}
.border-amber-300{
  --tw-border-opacity: 1;
  border-color: rgb(252 211 77 / var(--tw-border-opacity, 1));
}
.border-amber-500\/25{
  border-color: rgb(245 158 11 / 0.25);
}
.border-background{
  border-color: hsl(var(--background));
}
.border-blue-200{
  --tw-border-opacity: 1;
  border-color: rgb(191 219 254 / var(--tw-border-opacity, 1));
}
.border-border{
  border-color: hsl(var(--border));
}
.border-border\/50{
  border-color: hsl(var(--border) / 0.5);
}
.border-border\/60{
  border-color: hsl(var(--border) / 0.6);
}
.border-border\/70{
  border-color: hsl(var(--border) / 0.7);
}
.border-current{
  border-color: currentColor;
}
.border-green-200{
  --tw-border-opacity: 1;
  border-color: rgb(187 247 208 / var(--tw-border-opacity, 1));
}
.border-primary{
  border-color: hsl(var(--primary));
}
.border-primary\/20{
  border-color: hsl(var(--primary) / 0.2);
}
.border-red-200{
  --tw-border-opacity: 1;
  border-color: rgb(254 202 202 / var(--tw-border-opacity, 1));
}
.border-secondary\/20{
  border-color: hsl(var(--secondary) / 0.2);
}
.border-slate-300{
  --tw-border-opacity: 1;
  border-color: rgb(203 213 225 / var(--tw-border-opacity, 1));
}
.border-slate-400{
  --tw-border-opacity: 1;
  border-color: rgb(148 163 184 / var(--tw-border-opacity, 1));
}
.border-transparent{
  border-color: transparent;
}
.border-white\/20{
  border-color: rgb(255 255 255 / 0.2);
}
.border-white\/25{
  border-color: rgb(255 255 255 / 0.25);
}
.border-white\/50{
  border-color: rgb(255 255 255 / 0.5);
}
.border-yellow-200{
  --tw-border-opacity: 1;
  border-color: rgb(254 240 138 / var(--tw-border-opacity, 1));
}
.border-l-amber-400{
  --tw-border-opacity: 1;
  border-left-color: rgb(251 191 36 / var(--tw-border-opacity, 1));
}
.border-l-blue-400{
  --tw-border-opacity: 1;
  border-left-color: rgb(96 165 250 / var(--tw-border-opacity, 1));
}
.border-l-emerald-400{
  --tw-border-opacity: 1;
  border-left-color: rgb(52 211 153 / var(--tw-border-opacity, 1));
}
.border-l-rose-400{
  --tw-border-opacity: 1;
  border-left-color: rgb(251 113 133 / var(--tw-border-opacity, 1));
}
.border-t-transparent{
  border-top-color: transparent;
}
.bg-\[var\(--bhd-blue\)\]{
  background-color: var(--bhd-blue);
}
.bg-\[var\(--bhd-orange-deep\)\]{
  background-color: var(--bhd-orange-deep);
}
.bg-amber-100{
  --tw-bg-opacity: 1;
  background-color: rgb(254 243 199 / var(--tw-bg-opacity, 1));
}
.bg-amber-50{
  --tw-bg-opacity: 1;
  background-color: rgb(255 251 235 / var(--tw-bg-opacity, 1));
}
.bg-amber-500{
  --tw-bg-opacity: 1;
  background-color: rgb(245 158 11 / var(--tw-bg-opacity, 1));
}
.bg-amber-500\/10{
  background-color: rgb(245 158 11 / 0.1);
}
.bg-amber-500\/90{
  background-color: rgb(245 158 11 / 0.9);
}
.bg-background{
  background-color: hsl(var(--background));
}
.bg-black{
  --tw-bg-opacity: 1;
  background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));
}
.bg-black\/10{
  background-color: rgb(0 0 0 / 0.1);
}
.bg-black\/30{
  background-color: rgb(0 0 0 / 0.3);
}
.bg-black\/50{
  background-color: rgb(0 0 0 / 0.5);
}
.bg-black\/60{
  background-color: rgb(0 0 0 / 0.6);
}
.bg-black\/70{
  background-color: rgb(0 0 0 / 0.7);
}
.bg-black\/95{
  background-color: rgb(0 0 0 / 0.95);
}
.bg-blue-50{
  --tw-bg-opacity: 1;
  background-color: rgb(239 246 255 / var(--tw-bg-opacity, 1));
}
.bg-blue-500{
  --tw-bg-opacity: 1;
  background-color: rgb(59 130 246 / var(--tw-bg-opacity, 1));
}
.bg-border{
  background-color: hsl(var(--border));
}
.bg-border\/50{
  background-color: hsl(var(--border) / 0.5);
}
.bg-emerald-50{
  --tw-bg-opacity: 1;
  background-color: rgb(236 253 245 / var(--tw-bg-opacity, 1));
}
.bg-emerald-500{
  --tw-bg-opacity: 1;
  background-color: rgb(16 185 129 / var(--tw-bg-opacity, 1));
}
.bg-emerald-500\/90{
  background-color: rgb(16 185 129 / 0.9);
}
.bg-foreground{
  background-color: hsl(var(--foreground));
}
.bg-gray-100{
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}
.bg-green-50{
  --tw-bg-opacity: 1;
  background-color: rgb(240 253 244 / var(--tw-bg-opacity, 1));
}
.bg-muted{
  background-color: hsl(var(--muted));
}
.bg-muted-foreground\/30{
  background-color: hsl(var(--muted-foreground) / 0.3);
}
.bg-muted\/20{
  background-color: hsl(var(--muted) / 0.2);
}
.bg-muted\/30{
  background-color: hsl(var(--muted) / 0.3);
}
.bg-muted\/40{
  background-color: hsl(var(--muted) / 0.4);
}
.bg-muted\/50{
  background-color: hsl(var(--muted) / 0.5);
}
.bg-neutral-300{
  --tw-bg-opacity: 1;
  background-color: rgb(212 212 212 / var(--tw-bg-opacity, 1));
}
.bg-primary{
  background-color: hsl(var(--primary));
}
.bg-primary\/10{
  background-color: hsl(var(--primary) / 0.1);
}
.bg-primary\/20{
  background-color: hsl(var(--primary) / 0.2);
}
.bg-primary\/5{
  background-color: hsl(var(--primary) / 0.05);
}
.bg-primary\/90{
  background-color: hsl(var(--primary) / 0.9);
}
.bg-purple-500{
  --tw-bg-opacity: 1;
  background-color: rgb(168 85 247 / var(--tw-bg-opacity, 1));
}
.bg-red-50{
  --tw-bg-opacity: 1;
  background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));
}
.bg-red-500{
  --tw-bg-opacity: 1;
  background-color: rgb(239 68 68 / var(--tw-bg-opacity, 1));
}
.bg-rose-50{
  --tw-bg-opacity: 1;
  background-color: rgb(255 241 242 / var(--tw-bg-opacity, 1));
}
.bg-rose-500{
  --tw-bg-opacity: 1;
  background-color: rgb(244 63 94 / var(--tw-bg-opacity, 1));
}
.bg-secondary{
  background-color: hsl(var(--secondary));
}
.bg-secondary\/10{
  background-color: hsl(var(--secondary) / 0.1);
}
.bg-slate-200{
  --tw-bg-opacity: 1;
  background-color: rgb(226 232 240 / var(--tw-bg-opacity, 1));
}
.bg-slate-300{
  --tw-bg-opacity: 1;
  background-color: rgb(203 213 225 / var(--tw-bg-opacity, 1));
}
.bg-surface{
  background-color: hsl(var(--surface));
}
.bg-surface-muted{
  background-color: hsl(var(--surface-muted));
}
.bg-surface\/40{
  background-color: hsl(var(--surface) / 0.4);
}
.bg-surface\/50{
  background-color: hsl(var(--surface) / 0.5);
}
.bg-surface\/60{
  background-color: hsl(var(--surface) / 0.6);
}
.bg-surface\/85{
  background-color: hsl(var(--surface) / 0.85);
}
.bg-surface\/90{
  background-color: hsl(var(--surface) / 0.9);
}
.bg-surface\/95{
  background-color: hsl(var(--surface) / 0.95);
}
.bg-transparent{
  background-color: transparent;
}
.bg-white{
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.bg-white\/10{
  background-color: rgb(255 255 255 / 0.1);
}
.bg-white\/90{
  background-color: rgb(255 255 255 / 0.9);
}
.bg-white\/95{
  background-color: rgb(255 255 255 / 0.95);
}
.bg-yellow-50{
  --tw-bg-opacity: 1;
  background-color: rgb(254 252 232 / var(--tw-bg-opacity, 1));
}
.bg-gradient-to-b{
  background-image: linear-gradient(to bottom, var(--tw-gradient-stops));
}
.bg-gradient-to-br{
  background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));
}
.bg-gradient-to-r{
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
}
.bg-gradient-to-t{
  background-image: linear-gradient(to top, var(--tw-gradient-stops));
}
.from-background{
  --tw-gradient-from: hsl(var(--background)) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--background) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-background\/60{
  --tw-gradient-from: hsl(var(--background) / 0.6) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--background) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-black\/60{
  --tw-gradient-from: rgb(0 0 0 / 0.6) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-black\/70{
  --tw-gradient-from: rgb(0 0 0 / 0.7) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-black\/80{
  --tw-gradient-from: rgb(0 0 0 / 0.8) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-emerald-900\/40{
  --tw-gradient-from: rgb(6 78 59 / 0.4) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(6 78 59 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.via-background\/80{
  --tw-gradient-to: hsl(var(--background) / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), hsl(var(--background) / 0.8) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-black\/40{
  --tw-gradient-to: rgb(0 0 0 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(0 0 0 / 0.4) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-transparent{
  --tw-gradient-to: rgb(0 0 0 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), transparent var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.to-black\/20{
  --tw-gradient-to: rgb(0 0 0 / 0.2) var(--tw-gradient-to-position);
}
.to-cyan-900\/30{
  --tw-gradient-to: rgb(22 78 99 / 0.3) var(--tw-gradient-to-position);
}
.to-transparent{
  --tw-gradient-to: transparent var(--tw-gradient-to-position);
}
.fill-amber-500{
  fill: #f59e0b;
}
.fill-yellow-500{
  fill: #eab308;
}
.object-contain{
  -o-object-fit: contain;
     object-fit: contain;
}
.object-cover{
  -o-object-fit: cover;
     object-fit: cover;
}
.object-center{
  -o-object-position: center;
     object-position: center;
}
.p-0{
  padding: 0px;
}
.p-1{
  padding: 0.25rem;
}
.p-1\.5{
  padding: 0.375rem;
}
.p-2{
  padding: 0.5rem;
}
.p-2\.5{
  padding: 0.625rem;
}
.p-3{
  padding: 0.75rem;
}
.p-3\.5{
  padding: 0.875rem;
}
.p-4{
  padding: 1rem;
}
.p-5{
  padding: 1.25rem;
}
.p-6{
  padding: 1.5rem;
}
.px-0\.5{
  padding-left: 0.125rem;
  padding-right: 0.125rem;
}
.px-1\.5{
  padding-left: 0.375rem;
  padding-right: 0.375rem;
}
.px-14{
  padding-left: 3.5rem;
  padding-right: 3.5rem;
}
.px-2{
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.px-2\.5{
  padding-left: 0.625rem;
  padding-right: 0.625rem;
}
.px-3{
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}
.px-3\.5{
  padding-left: 0.875rem;
  padding-right: 0.875rem;
}
.px-4{
  padding-left: 1rem;
  padding-right: 1rem;
}
.px-6{
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
.px-7{
  padding-left: 1.75rem;
  padding-right: 1.75rem;
}
.px-8{
  padding-left: 2rem;
  padding-right: 2rem;
}
.py-0\.5{
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
}
.py-1{
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}
.py-1\.5{
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}
.py-12{
  padding-top: 3rem;
  padding-bottom: 3rem;
}
.py-16{
  padding-top: 4rem;
  padding-bottom: 4rem;
}
.py-2{
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
.py-2\.5{
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
}
.py-3{
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}
.py-4{
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.py-6{
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}
.py-8{
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.pb-1{
  padding-bottom: 0.25rem;
}
.pb-16{
  padding-bottom: 4rem;
}
.pb-2{
  padding-bottom: 0.5rem;
}
.pb-3{
  padding-bottom: 0.75rem;
}
.pb-4{
  padding-bottom: 1rem;
}
.pl-0{
  padding-left: 0px;
}
.pl-10{
  padding-left: 2.5rem;
}
.pl-12{
  padding-left: 3rem;
}
.pr-2{
  padding-right: 0.5rem;
}
.pr-4{
  padding-right: 1rem;
}
.pt-1{
  padding-top: 0.25rem;
}
.pt-1\.5{
  padding-top: 0.375rem;
}
.pt-2{
  padding-top: 0.5rem;
}
.pt-20{
  padding-top: 5rem;
}
.pt-24{
  padding-top: 6rem;
}
.pt-3{
  padding-top: 0.75rem;
}
.pt-4{
  padding-top: 1rem;
}
.text-left{
  text-align: left;
}
.text-center{
  text-align: center;
}
.text-right{
  text-align: right;
}
.font-display{
  font-family: var(--font-display), system-ui, sans-serif;
}
.font-mono{
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}
.font-sans{
  font-family: var(--font-body), system-ui, sans-serif;
}
.text-2xl{
  font-size: 1.5rem;
  line-height: 2rem;
}
.text-3xl{
  font-size: 1.875rem;
  line-height: 2.25rem;
}
.text-4xl{
  font-size: 2.25rem;
  line-height: 2.5rem;
}
.text-5xl{
  font-size: 3rem;
  line-height: 1;
}
.text-\[10px\]{
  font-size: 10px;
}
.text-\[11px\]{
  font-size: 11px;
}
.text-base{
  font-size: 1rem;
  line-height: 1.5rem;
}
.text-lg{
  font-size: 1.125rem;
  line-height: 1.75rem;
}
.text-sm{
  font-size: 0.875rem;
  line-height: 1.25rem;
}
.text-xl{
  font-size: 1.25rem;
  line-height: 1.75rem;
}
.text-xs{
  font-size: 0.75rem;
  line-height: 1rem;
}
.font-black{
  font-weight: 900;
}
.font-bold{
  font-weight: 700;
}
.font-light{
  font-weight: 300;
}
.font-medium{
  font-weight: 500;
}
.font-normal{
  font-weight: 400;
}
.font-semibold{
  font-weight: 600;
}
.uppercase{
  text-transform: uppercase;
}
.capitalize{
  text-transform: capitalize;
}
.tabular-nums{
  --tw-numeric-spacing: tabular-nums;
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}
.leading-\[1\.1\]{
  line-height: 1.1;
}
.leading-relaxed{
  line-height: 1.625;
}
.leading-snug{
  line-height: 1.375;
}
.leading-tight{
  line-height: 1.25;
}
.tracking-\[0\.25em\]{
  letter-spacing: 0.25em;
}
.tracking-\[0\.35em\]{
  letter-spacing: 0.35em;
}
.tracking-\[0\.3em\]{
  letter-spacing: 0.3em;
}
.tracking-tight{
  letter-spacing: -0.025em;
}
.tracking-wide{
  letter-spacing: 0.025em;
}
.tracking-wider{
  letter-spacing: 0.05em;
}
.text-amber-400{
  --tw-text-opacity: 1;
  color: rgb(251 191 36 / var(--tw-text-opacity, 1));
}
.text-amber-500{
  --tw-text-opacity: 1;
  color: rgb(245 158 11 / var(--tw-text-opacity, 1));
}
.text-amber-600{
  --tw-text-opacity: 1;
  color: rgb(217 119 6 / var(--tw-text-opacity, 1));
}
.text-amber-700{
  --tw-text-opacity: 1;
  color: rgb(180 83 9 / var(--tw-text-opacity, 1));
}
.text-amber-800{
  --tw-text-opacity: 1;
  color: rgb(146 64 14 / var(--tw-text-opacity, 1));
}
.text-amber-900{
  --tw-text-opacity: 1;
  color: rgb(120 53 15 / var(--tw-text-opacity, 1));
}
.text-amber-950{
  --tw-text-opacity: 1;
  color: rgb(69 26 3 / var(--tw-text-opacity, 1));
}
.text-background{
  color: hsl(var(--background));
}
.text-blue-800{
  --tw-text-opacity: 1;
  color: rgb(30 64 175 / var(--tw-text-opacity, 1));
}
.text-blue-900{
  --tw-text-opacity: 1;
  color: rgb(30 58 138 / var(--tw-text-opacity, 1));
}
.text-danger{
  color: hsl(var(--danger));
}
.text-emerald-500{
  --tw-text-opacity: 1;
  color: rgb(16 185 129 / var(--tw-text-opacity, 1));
}
.text-emerald-800{
  --tw-text-opacity: 1;
  color: rgb(6 95 70 / var(--tw-text-opacity, 1));
}
.text-emerald-900{
  --tw-text-opacity: 1;
  color: rgb(6 78 59 / var(--tw-text-opacity, 1));
}
.text-foreground{
  color: hsl(var(--foreground));
}
.text-foreground\/70{
  color: hsl(var(--foreground) / 0.7);
}
.text-green-500{
  --tw-text-opacity: 1;
  color: rgb(34 197 94 / var(--tw-text-opacity, 1));
}
.text-green-800{
  --tw-text-opacity: 1;
  color: rgb(22 101 52 / var(--tw-text-opacity, 1));
}
.text-muted-foreground{
  color: hsl(var(--muted-foreground));
}
.text-muted-foreground\/30{
  color: hsl(var(--muted-foreground) / 0.3);
}
.text-primary{
  color: hsl(var(--primary));
}
.text-primary-foreground{
  color: hsl(var(--primary-foreground));
}
.text-primary\/50{
  color: hsl(var(--primary) / 0.5);
}
.text-red-400{
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}
.text-red-500{
  --tw-text-opacity: 1;
  color: rgb(239 68 68 / var(--tw-text-opacity, 1));
}
.text-red-800{
  --tw-text-opacity: 1;
  color: rgb(153 27 27 / var(--tw-text-opacity, 1));
}
.text-rose-500{
  --tw-text-opacity: 1;
  color: rgb(244 63 94 / var(--tw-text-opacity, 1));
}
.text-rose-600{
  --tw-text-opacity: 1;
  color: rgb(225 29 72 / var(--tw-text-opacity, 1));
}
.text-rose-700{
  --tw-text-opacity: 1;
  color: rgb(190 18 60 / var(--tw-text-opacity, 1));
}
.text-rose-900{
  --tw-text-opacity: 1;
  color: rgb(136 19 55 / var(--tw-text-opacity, 1));
}
.text-secondary{
  color: hsl(var(--secondary));
}
.text-secondary-foreground{
  color: hsl(var(--secondary-foreground));
}
.text-slate-400{
  --tw-text-opacity: 1;
  color: rgb(148 163 184 / var(--tw-text-opacity, 1));
}
.text-slate-500{
  --tw-text-opacity: 1;
  color: rgb(100 116 139 / var(--tw-text-opacity, 1));
}
.text-slate-800{
  --tw-text-opacity: 1;
  color: rgb(30 41 59 / var(--tw-text-opacity, 1));
}
.text-white{
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.text-white\/70{
  color: rgb(255 255 255 / 0.7);
}
.text-white\/80{
  color: rgb(255 255 255 / 0.8);
}
.text-yellow-500{
  --tw-text-opacity: 1;
  color: rgb(234 179 8 / var(--tw-text-opacity, 1));
}
.text-yellow-800{
  --tw-text-opacity: 1;
  color: rgb(133 77 14 / var(--tw-text-opacity, 1));
}
.underline{
  text-decoration-line: underline;
}
.line-through{
  text-decoration-line: line-through;
}
.underline-offset-2{
  text-underline-offset: 2px;
}
.opacity-0{
  opacity: 0;
}
.opacity-100{
  opacity: 1;
}
.opacity-50{
  opacity: 0.5;
}
.opacity-60{
  opacity: 0.6;
}
.opacity-90{
  opacity: 0.9;
}
.shadow{
  --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-2xl{
  --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
  --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_8px_24px_-12px_rgb\(0_0_0\/0\.45\)\]{
  --tw-shadow: 0 8px 24px -12px rgb(0 0 0/0.45);
  --tw-shadow-colored: 0 8px 24px -12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-lg{
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-md{
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-sm{
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-xl{
  --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-amber-500\/40{
  --tw-shadow-color: rgb(245 158 11 / 0.4);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-emerald-500\/40{
  --tw-shadow-color: rgb(16 185 129 / 0.4);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-primary\/20{
  --tw-shadow-color: hsl(var(--primary) / 0.2);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-primary\/30{
  --tw-shadow-color: hsl(var(--primary) / 0.3);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-primary\/40{
  --tw-shadow-color: hsl(var(--primary) / 0.4);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-rose-500\/40{
  --tw-shadow-color: rgb(244 63 94 / 0.4);
  --tw-shadow: var(--tw-shadow-colored);
}
.outline-none{
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.blur{
  --tw-blur: blur(8px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.drop-shadow-lg{
  --tw-drop-shadow: drop-shadow(0 10px 8px rgb(0 0 0 / 0.04)) drop-shadow(0 4px 3px rgb(0 0 0 / 0.1));
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.filter{
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.backdrop-blur{
  --tw-backdrop-blur: blur(8px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-md{
  --tw-backdrop-blur: blur(12px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-sm{
  --tw-backdrop-blur: blur(4px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-xl{
  --tw-backdrop-blur: blur(24px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.transition{
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-all{
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-colors{
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-opacity{
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-transform{
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.duration-100{
  transition-duration: 100ms;
}
.duration-150{
  transition-duration: 150ms;
}
.duration-200{
  transition-duration: 200ms;
}
.duration-300{
  transition-duration: 300ms;
}
.ease-linear{
  transition-timing-function: linear;
}
.ease-out{
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}
.scrollbar-hide::-webkit-scrollbar { display: none; }
.scrollbar-hide { -ms-overflow-style: none; scrollbar-width: none; }

/* Browser surfaces themed from the palette: scrollbar, caret, selection. */
::-webkit-scrollbar { width: 12px; height: 12px; }
::-webkit-scrollbar-track { background: hsl(var(--surface-muted)); }
::-webkit-scrollbar-thumb {
  background: color-mix(in srgb, var(--bhd-blue) 55%, hsl(var(--surface-muted)));
  border: 3px solid hsl(var(--surface-muted));
  border-radius: 999px;
}
::-webkit-scrollbar-thumb:hover { background: var(--bhd-blue); }
* { scrollbar-color: color-mix(in srgb, var(--bhd-blue) 55%, hsl(var(--surface-muted))) hsl(var(--surface-muted)); }

input, textarea, select { caret-color: var(--bhd-orange); }

@keyframes spin { to { transform: rotate(360deg); } }
@keyframes shimmer {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* MapLibre GL overrides */
.maplibregl-map { font-family: inherit; }

.maplibregl-ctrl-group {
  border: none !important;
  box-shadow: 0 4px 16px rgb(11 37 69 / 18%) !important;
  border-radius: var(--radius-control) !important;
  overflow: hidden;
}

.maplibregl-ctrl-group button {
  background: hsl(var(--surface)) !important;
  color: hsl(var(--foreground)) !important;
  border-color: hsl(var(--border)) !important;
  width: 36px !important;
  height: 36px !important;
}

.maplibregl-ctrl-group button:hover {
  background: var(--bhd-blue) !important;
  color: var(--bhd-white) !important;
}

.maplibregl-ctrl-group button + button { border-top: 1px solid hsl(var(--border)) !important; }

.maplibre-custom-marker {
  display: flex;
  flex-direction: column;
  align-items: center;
  cursor: pointer;
  transition: transform var(--dur-base) var(--ease-out);
}

.maplibre-custom-marker:hover { transform: translateY(-3px); z-index: 1000 !important; }

.marker-card {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 4px;
  padding-right: 10px;
  border-radius: var(--radius-control);
  background: hsl(var(--surface));
  border: 1px solid hsl(var(--border));
  box-shadow: var(--shadow-card);
  max-width: 168px;
}

.marker-card:hover { border-color: var(--bhd-blue); }
.marker-urgent { border-color: var(--bhd-orange); }
.marker-img { width: 36px; height: 36px; border-radius: 6px; -o-object-fit: cover; object-fit: cover; flex-shrink: 0; }
.marker-img-placeholder { background: hsl(var(--surface-muted)); }
.marker-info { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.marker-name {
  font-size: 11px;
  font-weight: 600;
  color: hsl(var(--foreground));
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.2;
}
.marker-price { font-size: 12px; font-weight: 700; color: var(--bhd-orange-deep); line-height: 1.2; }
.marker-stem { width: 2px; height: 12px; background: var(--bhd-blue); }
.marker-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--bhd-blue); }
.marker-dot-urgent { background: var(--bhd-orange); }

@media (prefers-reduced-motion: reduce) {
  .maplibre-custom-marker, .marker-card { transition: none; }
}

.dark\:prose-invert:is(.dark *){
  --tw-prose-body: var(--tw-prose-invert-body);
  --tw-prose-headings: var(--tw-prose-invert-headings);
  --tw-prose-lead: var(--tw-prose-invert-lead);
  --tw-prose-links: var(--tw-prose-invert-links);
  --tw-prose-bold: var(--tw-prose-invert-bold);
  --tw-prose-counters: var(--tw-prose-invert-counters);
  --tw-prose-bullets: var(--tw-prose-invert-bullets);
  --tw-prose-hr: var(--tw-prose-invert-hr);
  --tw-prose-quotes: var(--tw-prose-invert-quotes);
  --tw-prose-quote-borders: var(--tw-prose-invert-quote-borders);
  --tw-prose-captions: var(--tw-prose-invert-captions);
  --tw-prose-kbd: var(--tw-prose-invert-kbd);
  --tw-prose-kbd-shadows: var(--tw-prose-invert-kbd-shadows);
  --tw-prose-code: var(--tw-prose-invert-code);
  --tw-prose-pre-code: var(--tw-prose-invert-pre-code);
  --tw-prose-pre-bg: var(--tw-prose-invert-pre-bg);
  --tw-prose-th-borders: var(--tw-prose-invert-th-borders);
  --tw-prose-td-borders: var(--tw-prose-invert-td-borders);
}

@media (min-width: 768px){

  .md\:prose-xl{
    font-size: 1.25rem;
    line-height: 1.8;
  }

  .md\:prose-xl :where(p):not(:where([class~="not-prose"],[class~="not-prose"] *)){
    margin-top: 1.2em;
    margin-bottom: 1.2em;
  }

  .md\:prose-xl :where([class~="lead"]):not(:where([class~="not-prose"],[class~="not-prose"] *)){
    font-size: 1.2em;
    line-height: 1.5;
    margin-top: 1em;
    margin-bottom: 1em;
  }

  .md\:prose-xl :where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *)){
    margin-top: 1.6em;
    margin-bottom: 1.6em;
    padding-inline-start: 1.0666667em;
  }

  .md\:prose-xl :where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *)){
    font-size: 2.8em;
    margin-top: 0;
    margin-bottom: 0.8571429em;
    line-height: 1;
  }

  .md\:prose-xl :where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *)){
    font-size: 1.8em;
    margin-top: 1.5555556em;
    margin-bottom: 0.8888889em;
    line-height: 1.1111111;
  }

  .md\:prose-xl :where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *)){
    font-size: 1.5em;
    margin-top: 1.6em;
    margin-bottom: 0.6666667em;
    line-height: 1.3333333;
  }

  .md\:prose-xl :where(h4):not(:where([class~="not-prose"],[class~="not-prose"] *)){
    margin-top: 1.8em;
    margin-bottom: 0.6em;
    line-height: 1.6;
  }

  .md\:prose-xl :where(img):not(:where([class~="not-prose"],[class~="not-prose"] *)){
    margin-top: 2em;
    margin-bottom: 2em;
  }

  .md\:prose-xl :where(picture):not(:where([class~="not-prose"],[class~="not-prose"] *)){
    margin-top: 2em;
    margin-bottom: 2em;
  }

  .md\:prose-xl :where(picture > img):not(:where([class~="not-prose"],[class~="not-prose"] *)){
    margin-top: 0;
    margin-bottom: 0;
  }

  .md\:prose-xl :where(video):not(:where([class~="not-prose"],[class~="not-prose"] *)){
    margin-top: 2em;
    margin-bottom: 2em;
  }

  .md\:prose-xl :where(kbd):not(:where([class~="not-prose"],[class~="not-prose"] *)){
    font-size: 0.9em;
    border-radius: 0.3125rem;
    padding-top: 0.25em;
    padding-inline-end: 0.4em;
    padding-bottom: 0.25em;
    padding-inline-start: 0.4em;
  }

  .md\:prose-xl :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *)){
    font-size: 0.9em;
  }

  .md\:prose-xl :where(h2 code):not(:where([class~="not-prose"],[class~="not-prose"] *)){
    font-size: 0.8611111em;
  }

  .md\:prose-xl :where(h3 code):not(:where([class~="not-prose"],[class~="not-prose"] *)){
    font-size: 0.9em;
  }

  .md\:prose-xl :where(pre):not(:where([class~="not-prose"],[class~="not-prose"] *)){
    font-size: 0.9em;
    line-height: 1.7777778;
    margin-top: 2em;
    margin-bottom: 2em;
    border-radius: 0.5rem;
    padding-top: 1.1111111em;
    padding-inline-end: 1.3333333em;
    padding-bottom: 1.1111111em;
    padding-inline-start: 1.3333333em;
  }

  .md\:prose-xl :where(ol):not(:where([class~="not-prose"],[class~="not-prose"] *)){
    margin-top: 1.2em;
    margin-bottom: 1.2em;
    padding-inline-start: 1.6em;
  }

  .md\:prose-xl :where(ul):not(:where([class~="not-prose"],[class~="not-prose"] *)){
    margin-top: 1.2em;
    margin-bottom: 1.2em;
    padding-inline-start: 1.6em;
  }

  .md\:prose-xl :where(li):not(:where([class~="not-prose"],[class~="not-prose"] *)){
    margin-top: 0.6em;
    margin-bottom: 0.6em;
  }

  .md\:prose-xl :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *)){
    padding-inline-start: 0.4em;
  }

  .md\:prose-xl :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *)){
    padding-inline-start: 0.4em;
  }

  .md\:prose-xl :where(.md\:prose-xl > ul > li p):not(:where([class~="not-prose"],[class~="not-prose"] *)){
    margin-top: 0.8em;
    margin-bottom: 0.8em;
  }

  .md\:prose-xl :where(.md\:prose-xl > ul > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){
    margin-top: 1.2em;
  }

  .md\:prose-xl :where(.md\:prose-xl > ul > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){
    margin-bottom: 1.2em;
  }

  .md\:prose-xl :where(.md\:prose-xl > ol > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){
    margin-top: 1.2em;
  }

  .md\:prose-xl :where(.md\:prose-xl > ol > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){
    margin-bottom: 1.2em;
  }

  .md\:prose-xl :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"],[class~="not-prose"] *)){
    margin-top: 0.8em;
    margin-bottom: 0.8em;
  }

  .md\:prose-xl :where(dl):not(:where([class~="not-prose"],[class~="not-prose"] *)){
    margin-top: 1.2em;
    margin-bottom: 1.2em;
  }

  .md\:prose-xl :where(dt):not(:where([class~="not-prose"],[class~="not-prose"] *)){
    margin-top: 1.2em;
  }

  .md\:prose-xl :where(dd):not(:where([class~="not-prose"],[class~="not-prose"] *)){
    margin-top: 0.6em;
    padding-inline-start: 1.6em;
  }

  .md\:prose-xl :where(hr):not(:where([class~="not-prose"],[class~="not-prose"] *)){
    margin-top: 2.8em;
    margin-bottom: 2.8em;
  }

  .md\:prose-xl :where(hr + *):not(:where([class~="not-prose"],[class~="not-prose"] *)){
    margin-top: 0;
  }

  .md\:prose-xl :where(h2 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)){
    margin-top: 0;
  }

  .md\:prose-xl :where(h3 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)){
    margin-top: 0;
  }

  .md\:prose-xl :where(h4 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)){
    margin-top: 0;
  }

  .md\:prose-xl :where(table):not(:where([class~="not-prose"],[class~="not-prose"] *)){
    font-size: 0.9em;
    line-height: 1.5555556;
  }

  .md\:prose-xl :where(thead th):not(:where([class~="not-prose"],[class~="not-prose"] *)){
    padding-inline-end: 0.6666667em;
    padding-bottom: 0.8888889em;
    padding-inline-start: 0.6666667em;
  }

  .md\:prose-xl :where(thead th:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){
    padding-inline-start: 0;
  }

  .md\:prose-xl :where(thead th:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){
    padding-inline-end: 0;
  }

  .md\:prose-xl :where(tbody td, tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)){
    padding-top: 0.8888889em;
    padding-inline-end: 0.6666667em;
    padding-bottom: 0.8888889em;
    padding-inline-start: 0.6666667em;
  }

  .md\:prose-xl :where(tbody td:first-child, tfoot td:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){
    padding-inline-start: 0;
  }

  .md\:prose-xl :where(tbody td:last-child, tfoot td:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){
    padding-inline-end: 0;
  }

  .md\:prose-xl :where(figure):not(:where([class~="not-prose"],[class~="not-prose"] *)){
    margin-top: 2em;
    margin-bottom: 2em;
  }

  .md\:prose-xl :where(figure > *):not(:where([class~="not-prose"],[class~="not-prose"] *)){
    margin-top: 0;
    margin-bottom: 0;
  }

  .md\:prose-xl :where(figcaption):not(:where([class~="not-prose"],[class~="not-prose"] *)){
    font-size: 0.9em;
    line-height: 1.5555556;
    margin-top: 1em;
  }

  .md\:prose-xl :where(.md\:prose-xl > :first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){
    margin-top: 0;
  }

  .md\:prose-xl :where(.md\:prose-xl > :last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){
    margin-bottom: 0;
  }
}

.last\:pb-0:last-child{
  padding-bottom: 0px;
}

.hover\:h-2\.5:hover{
  height: 0.625rem;
}

.hover\:scale-110:hover{
  --tw-scale-x: 1.1;
  --tw-scale-y: 1.1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.hover\:border-border:hover{
  border-color: hsl(var(--border));
}

.hover\:border-muted-foreground:hover{
  border-color: hsl(var(--muted-foreground));
}

.hover\:border-primary:hover{
  border-color: hsl(var(--primary));
}

.hover\:border-primary\/50:hover{
  border-color: hsl(var(--primary) / 0.5);
}

.hover\:bg-\[\#0068ff\]:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(0 104 255 / var(--tw-bg-opacity, 1));
}

.hover\:bg-\[\#0084ff\]:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(0 132 255 / var(--tw-bg-opacity, 1));
}

.hover\:bg-\[\#1877f2\]:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(24 119 242 / var(--tw-bg-opacity, 1));
}

.hover\:bg-\[\#c13584\]:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(193 53 132 / var(--tw-bg-opacity, 1));
}

.hover\:bg-\[\#ff0000\]:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(255 0 0 / var(--tw-bg-opacity, 1));
}

.hover\:bg-black\/5:hover{
  background-color: rgb(0 0 0 / 0.05);
}

.hover\:bg-black\/70:hover{
  background-color: rgb(0 0 0 / 0.7);
}

.hover\:bg-black\/80:hover{
  background-color: rgb(0 0 0 / 0.8);
}

.hover\:bg-foreground:hover{
  background-color: hsl(var(--foreground));
}

.hover\:bg-muted:hover{
  background-color: hsl(var(--muted));
}

.hover\:bg-muted\/40:hover{
  background-color: hsl(var(--muted) / 0.4);
}

.hover\:bg-primary:hover{
  background-color: hsl(var(--primary));
}

.hover\:bg-primary\/20:hover{
  background-color: hsl(var(--primary) / 0.2);
}

.hover\:bg-primary\/90:hover{
  background-color: hsl(var(--primary) / 0.9);
}

.hover\:bg-white\/15:hover{
  background-color: rgb(255 255 255 / 0.15);
}

.hover\:bg-white\/20:hover{
  background-color: rgb(255 255 255 / 0.2);
}

.hover\:text-foreground:hover{
  color: hsl(var(--foreground));
}

.hover\:text-primary:hover{
  color: hsl(var(--primary));
}

.hover\:text-primary-foreground:hover{
  color: hsl(var(--primary-foreground));
}

.hover\:text-primary\/80:hover{
  color: hsl(var(--primary) / 0.8);
}

.hover\:text-white:hover{
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.hover\:underline:hover{
  text-decoration-line: underline;
}

.hover\:opacity-90:hover{
  opacity: 0.9;
}

.hover\:shadow-lg:hover{
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hover\:shadow-primary\/5:hover{
  --tw-shadow-color: hsl(var(--primary) / 0.05);
  --tw-shadow: var(--tw-shadow-colored);
}

.hover\:brightness-110:hover{
  --tw-brightness: brightness(1.1);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.focus\:border-primary:focus{
  border-color: hsl(var(--primary));
}

.focus\:ring-2:focus{
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.focus\:ring-primary\/30:focus{
  --tw-ring-color: hsl(var(--primary) / 0.3);
}

.focus-visible\:opacity-100:focus-visible{
  opacity: 1;
}

.focus-visible\:outline-none:focus-visible{
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.focus-visible\:ring-2:focus-visible{
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.focus-visible\:ring-ring:focus-visible{
  --tw-ring-color: hsl(var(--ring));
}

.active\:h-2\.5:active{
  height: 0.625rem;
}

.active\:scale-95:active{
  --tw-scale-x: .95;
  --tw-scale-y: .95;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.active\:cursor-grabbing:active{
  cursor: grabbing;
}

.disabled\:cursor-not-allowed:disabled{
  cursor: not-allowed;
}

.disabled\:opacity-40:disabled{
  opacity: 0.4;
}

.disabled\:opacity-50:disabled{
  opacity: 0.5;
}

.group:hover .group-hover\:scale-105{
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group:hover .group-hover\:gap-2\.5{
  gap: 0.625rem;
}

.group:hover .group-hover\:border-primary{
  border-color: hsl(var(--primary));
}

.group:hover .group-hover\:bg-muted-foreground\/60{
  background-color: hsl(var(--muted-foreground) / 0.6);
}

.group:hover .group-hover\:bg-primary{
  background-color: hsl(var(--primary));
}

.group:hover .group-hover\:bg-surface-muted\/80{
  background-color: hsl(var(--surface-muted) / 0.8);
}

.group:hover .group-hover\:text-primary{
  color: hsl(var(--primary));
}

.group:hover .group-hover\:text-white{
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.group\/gallery:hover .group-hover\/gallery\:opacity-100{
  opacity: 1;
}

.group:hover .group-hover\:opacity-100{
  opacity: 1;
}

.dark\:border-amber-800:is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(146 64 14 / var(--tw-border-opacity, 1));
}

.dark\:border-amber-800\/50:is(.dark *){
  border-color: rgb(146 64 14 / 0.5);
}

.dark\:border-blue-800:is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(30 64 175 / var(--tw-border-opacity, 1));
}

.dark\:border-green-800:is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(22 101 52 / var(--tw-border-opacity, 1));
}

.dark\:border-red-800:is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(153 27 27 / var(--tw-border-opacity, 1));
}

.dark\:border-yellow-800:is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(133 77 14 / var(--tw-border-opacity, 1));
}

.dark\:border-l-amber-600:is(.dark *){
  --tw-border-opacity: 1;
  border-left-color: rgb(217 119 6 / var(--tw-border-opacity, 1));
}

.dark\:border-l-blue-600:is(.dark *){
  --tw-border-opacity: 1;
  border-left-color: rgb(37 99 235 / var(--tw-border-opacity, 1));
}

.dark\:border-l-emerald-600:is(.dark *){
  --tw-border-opacity: 1;
  border-left-color: rgb(5 150 105 / var(--tw-border-opacity, 1));
}

.dark\:border-l-rose-600:is(.dark *){
  --tw-border-opacity: 1;
  border-left-color: rgb(225 29 72 / var(--tw-border-opacity, 1));
}

.dark\:bg-amber-950:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(69 26 3 / var(--tw-bg-opacity, 1));
}

.dark\:bg-amber-950\/20:is(.dark *){
  background-color: rgb(69 26 3 / 0.2);
}

.dark\:bg-amber-950\/30:is(.dark *){
  background-color: rgb(69 26 3 / 0.3);
}

.dark\:bg-amber-950\/40:is(.dark *){
  background-color: rgb(69 26 3 / 0.4);
}

.dark\:bg-black\/80:is(.dark *){
  background-color: rgb(0 0 0 / 0.8);
}

.dark\:bg-black\/90:is(.dark *){
  background-color: rgb(0 0 0 / 0.9);
}

.dark\:bg-blue-950:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(23 37 84 / var(--tw-bg-opacity, 1));
}

.dark\:bg-blue-950\/20:is(.dark *){
  background-color: rgb(23 37 84 / 0.2);
}

.dark\:bg-emerald-950\/20:is(.dark *){
  background-color: rgb(2 44 34 / 0.2);
}

.dark\:bg-emerald-950\/40:is(.dark *){
  background-color: rgb(2 44 34 / 0.4);
}

.dark\:bg-gray-800:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}

.dark\:bg-green-950:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(5 46 22 / var(--tw-bg-opacity, 1));
}

.dark\:bg-neutral-700:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(64 64 64 / var(--tw-bg-opacity, 1));
}

.dark\:bg-red-950:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(69 10 10 / var(--tw-bg-opacity, 1));
}

.dark\:bg-rose-950\/20:is(.dark *){
  background-color: rgb(76 5 25 / 0.2);
}

.dark\:bg-rose-950\/40:is(.dark *){
  background-color: rgb(76 5 25 / 0.4);
}

.dark\:bg-white\/10:is(.dark *){
  background-color: rgb(255 255 255 / 0.1);
}

.dark\:bg-yellow-950:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(66 32 6 / var(--tw-bg-opacity, 1));
}

.dark\:text-amber-100:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(254 243 199 / var(--tw-text-opacity, 1));
}

.dark\:text-amber-200:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(253 230 138 / var(--tw-text-opacity, 1));
}

.dark\:text-amber-400:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(251 191 36 / var(--tw-text-opacity, 1));
}

.dark\:text-blue-100:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(219 234 254 / var(--tw-text-opacity, 1));
}

.dark\:text-blue-200:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(191 219 254 / var(--tw-text-opacity, 1));
}

.dark\:text-emerald-100:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(209 250 229 / var(--tw-text-opacity, 1));
}

.dark\:text-green-200:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(187 247 208 / var(--tw-text-opacity, 1));
}

.dark\:text-red-200:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(254 202 202 / var(--tw-text-opacity, 1));
}

.dark\:text-rose-100:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(255 228 230 / var(--tw-text-opacity, 1));
}

.dark\:text-rose-200:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(254 205 211 / var(--tw-text-opacity, 1));
}

.dark\:text-slate-200:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(226 232 240 / var(--tw-text-opacity, 1));
}

.dark\:text-yellow-200:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(254 240 138 / var(--tw-text-opacity, 1));
}

.dark\:hover\:bg-white\/10:hover:is(.dark *){
  background-color: rgb(255 255 255 / 0.1);
}

@media (min-width: 640px){

  .sm\:block{
    display: block;
  }

  .sm\:inline{
    display: inline;
  }

  .sm\:hidden{
    display: none;
  }

  .sm\:max-h-\[85vh\]{
    max-height: 85vh;
  }

  .sm\:w-72{
    width: 18rem;
  }

  .sm\:max-w-xl{
    max-width: 36rem;
  }

  .sm\:flex-row{
    flex-direction: row;
  }

  .sm\:items-center{
    align-items: center;
  }

  .sm\:gap-2{
    gap: 0.5rem;
  }

  .sm\:rounded-2xl{
    border-radius: 1rem;
  }

  .sm\:border{
    border-width: 1px;
  }

  .sm\:p-4{
    padding: 1rem;
  }

  .sm\:p-5{
    padding: 1.25rem;
  }

  .sm\:text-5xl{
    font-size: 3rem;
    line-height: 1;
  }

  .sm\:text-base{
    font-size: 1rem;
    line-height: 1.5rem;
  }

  .sm\:text-lg{
    font-size: 1.125rem;
    line-height: 1.75rem;
  }

  .sm\:text-sm{
    font-size: 0.875rem;
    line-height: 1.25rem;
  }

  .sm\:text-xl{
    font-size: 1.25rem;
    line-height: 1.75rem;
  }
}

@media (min-width: 768px){

  .md\:left-4{
    left: 1rem;
  }

  .md\:right-4{
    right: 1rem;
  }

  .md\:mt-6{
    margin-top: 1.5rem;
  }

  .md\:h-\[calc\(100vh-80px\)\]{
    height: calc(100vh - 80px);
  }

  .md\:grid-cols-2{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .md\:grid-cols-4{
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .md\:gap-4{
    gap: 1rem;
  }

  .md\:gap-6{
    gap: 1.5rem;
  }

  .md\:rounded-3xl{
    border-radius: 1.5rem;
  }

  .md\:p-5{
    padding: 1.25rem;
  }

  .md\:p-6{
    padding: 1.5rem;
  }

  .md\:px-6{
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  .md\:py-24{
    padding-top: 6rem;
    padding-bottom: 6rem;
  }

  .md\:text-3xl{
    font-size: 1.875rem;
    line-height: 2.25rem;
  }

  .md\:text-xl{
    font-size: 1.25rem;
    line-height: 1.75rem;
  }
}

@media (min-width: 1024px){

  .lg\:col-span-1{
    grid-column: span 1 / span 1;
  }

  .lg\:col-span-2{
    grid-column: span 2 / span 2;
  }

  .lg\:col-span-3{
    grid-column: span 3 / span 3;
  }

  .lg\:block{
    display: block;
  }

  .lg\:inline-flex{
    display: inline-flex;
  }

  .lg\:hidden{
    display: none;
  }

  .lg\:grid-cols-2{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .lg\:grid-cols-3{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .lg\:grid-cols-5{
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .lg\:gap-12{
    gap: 3rem;
  }

  .lg\:gap-8{
    gap: 2rem;
  }

  .lg\:px-8{
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .lg\:text-6xl{
    font-size: 3.75rem;
    line-height: 1;
  }
}

@media print{

  .print\:hidden{
    display: none;
  }
}

.\[\&\>p\]\:my-0>p{
  margin-top: 0px;
  margin-bottom: 0px;
}

/*!*********************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!./app/bhd.css ***!
  \*********************************************************************************************************************************************************************************************************************************************************/
/* BHD Trekking · Summit Pass chrome.
 * Blue brand field, white type, orange only for the action that books a seat.
 * Palette and font roles live in tokens.css; surfaces in globals.css. */

html, body { overflow-x: clip; }
body { font-family: var(--font-body); }
h1, h2, h3 { text-wrap: balance; overflow-wrap: anywhere; min-width: 0; }
a, button, input, select, summary { -webkit-tap-highlight-color: transparent; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, summary:focus-visible {
  outline: 3px solid var(--color-focus); outline-offset: 3px;
}
button, a { touch-action: manipulation; }
button { cursor: pointer; }
button:disabled { cursor: not-allowed; opacity: .55; }
#main-content { scroll-margin-top: calc(var(--header-height) + 16px); }

.bhd-home { padding-top: var(--header-height); }
/* ---------------------------------------------------- Follow the Trail
 * A finite CSS timeline works before hydration and without JavaScript. Leave
 * the hidden server DOM intact; no timers, layout mutation or inert gate. */
.bhd-opening {
  display: none !important;
}
/* The gate shortens the 6s safety ceiling once the page is usable. */
html[data-bhd-ready='true'] .bhd-opening { animation-delay: 0s; animation-duration: calc(250ms * var(--opening-pace)); }
/* Never cancel the exit clock on focus: blur must not replay the opening. */
body:has([data-app-shell]:focus-within) .bhd-opening { visibility: hidden; pointer-events: none; opacity: 0 !important; }
.bhd-opening-atmosphere { position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, var(--bhd-navy), var(--bhd-navy-soft)); }
.bhd-opening-atmosphere::before { content: ''; position: absolute; inset: 35% 0 0; background: radial-gradient(ellipse at 72% 60%, var(--opening-light), transparent 64%); }
.bhd-opening-terrain { position: absolute; inset: auto 0 0; display: block; width: 100%; height: auto; }
.bhd-opening-terrain--narrow { display: none; }
.bhd-opening-sun { fill: var(--bhd-sky); opacity: .12; transform-box: fill-box; transform-origin: center; animation: bhd-opening-sunrise calc(700ms * var(--opening-pace)) var(--ease-out) calc(150ms * var(--opening-pace)) backwards; }
.bhd-opening-ridge { transform: none; opacity: var(--ridge-opacity, 1); animation: bhd-opening-ridge-in calc(480ms * var(--opening-pace)) var(--ease-out) backwards; }
.bhd-opening-ridge--far { --ridge-opacity: .5; fill: var(--bhd-blue); animation-delay: calc(150ms * var(--opening-pace)); }
.bhd-opening-ridge--mid { --ridge-opacity: 1; fill: var(--bhd-navy-soft); animation-delay: calc(210ms * var(--opening-pace)); }
.bhd-opening-ridge--hero { fill: var(--bhd-ink); animation-delay: calc(270ms * var(--opening-pace)); }
.bhd-opening-contours { fill: none; stroke: var(--bhd-sky); stroke-width: 1; opacity: .13; }
.bhd-opening-route-glow, .bhd-opening-route { fill: none; stroke: var(--bhd-orange); stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 1; stroke-dashoffset: 0; animation: bhd-opening-route-draw calc(850ms * var(--opening-pace)) cubic-bezier(.4, 0, .2, 1) calc(400ms * var(--opening-pace)) backwards; }
.bhd-opening-route-glow { stroke-width: 10; opacity: .14; }
.bhd-opening-route { stroke-width: 3; }
.bhd-opening-summit { fill: var(--bhd-paper); stroke: var(--bhd-orange); stroke-width: 2; animation: bhd-opening-summit-in calc(160ms * var(--opening-pace)) var(--ease-out) calc(1250ms * var(--opening-pace)) backwards; }
.bhd-opening-summit-pulse { fill: none; stroke: var(--bhd-orange); stroke-width: 2; opacity: 0; transform-box: fill-box; transform-origin: center; animation: bhd-opening-summit-pulse calc(350ms * var(--opening-pace)) var(--ease-out) calc(1250ms * var(--opening-pace)) backwards; }
.bhd-opening-lockup { position: absolute; top: max(env(safe-area-inset-top, 0px), 18%); left: 50%; transform: translateX(-50%); display: grid; justify-items: center; width: min(calc(100% - 32px), 400px); }
.bhd-opening-mark { width: clamp(56px, 6vw, 82px); aspect-ratio: 1; margin-bottom: 18px; padding: 9px; border-radius: 15px; background: var(--bhd-white); animation: bhd-opening-lockup-in calc(450ms * var(--opening-pace)) var(--ease-out) calc(750ms * var(--opening-pace)) backwards; }
.bhd-opening-mark svg { display: block; width: 100%; height: 100%; }
.bhd-opening-wordmark { margin: 0; color: var(--bhd-white); font-family: var(--font-display); font-size: clamp(72px, 9vw, 128px); font-weight: 800; line-height: .9; letter-spacing: -.035em; animation: bhd-opening-lockup-in calc(450ms * var(--opening-pace)) var(--ease-out) calc(850ms * var(--opening-pace)) backwards; }
.bhd-opening-descriptor { margin: 12px 0 0; padding-left: .36em; color: var(--bhd-sky); font-size: clamp(11px, 1.2vw, 14px); font-weight: 700; letter-spacing: .36em; line-height: 1.5; animation: bhd-opening-lockup-in calc(350ms * var(--opening-pace)) var(--ease-out) calc(1000ms * var(--opening-pace)) backwards; }
.bhd-opening-live { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@keyframes bhd-opening-lockup-in { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@keyframes bhd-opening-ridge-in { from { opacity: 0; transform: translateY(16px); } to { opacity: var(--ridge-opacity, 1); transform: none; } }
@keyframes bhd-opening-route-draw { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
@keyframes bhd-opening-sunrise { from { opacity: 0; transform: scale(.92); } to { opacity: .12; transform: none; } }
@keyframes bhd-opening-summit-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes bhd-opening-summit-pulse { 0% { opacity: .65; transform: scale(.8); } 100% { opacity: 0; transform: scale(2.2); } }
@keyframes bhd-opening-exit { to { opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(-2%); } }
@keyframes bhd-opening-fade { to { opacity: 0; visibility: hidden; pointer-events: none; } }
@media (max-width: 640px) {
  .bhd-opening { --opening-pace: .82; }
  .bhd-opening-terrain--wide { display: none; }
  .bhd-opening-terrain--narrow { display: block; }
  .bhd-opening-lockup { top: max(env(safe-area-inset-top, 0px), 16%); }
  .bhd-opening-wordmark { font-size: clamp(70px, 19vw, 100px); }
}
@media (max-width: 360px) {
  .bhd-opening { --opening-pace: .72; }
  .bhd-opening-terrain--narrow .bhd-opening-ridge--mid { display: none; }
}
@media (max-height: 540px) and (orientation: landscape) {
  .bhd-opening-lockup { top: max(24px, env(safe-area-inset-top, 0px)); left: 30%; width: 220px; }
  .bhd-opening-mark { width: 48px; margin-bottom: 12px; padding: 6px; }
  .bhd-opening-wordmark { font-size: 64px; }
}
@media (prefers-reduced-motion: reduce) {
  /* Reduced motion removes travel, not the brand moment: hold the finished
   * artwork briefly, then fade. A 120ms frame here is invisible in practice.
   * The gate must not shorten this hold either, so no data-ready override. */
  .bhd-opening { animation-name: bhd-opening-fade; animation-delay: 1400ms !important; animation-duration: 150ms !important; }
  .bhd-opening *, .bhd-opening *::before, .bhd-opening *::after { animation: none !important; }
  .bhd-opening-summit-pulse { display: none; }
}
.bhd-container { width: min(calc(100% - 80px), var(--content-max)); margin-inline: auto; }

/* One action colour. The legacy variant names stay because markup calls them. */
.bhd-button { display: inline-flex; justify-content: center; align-items: center; gap: 10px; min-height: 48px; max-width: 100%; padding: 12px 22px; border: 1px solid transparent; border-radius: var(--radius-control); font-size: 14px; font-weight: 700; line-height: 1.5; text-align: center; transition: background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out); }
.bhd-button-yellow, .bhd-button-green { background: var(--bhd-orange-deep); color: var(--bhd-white); border-color: var(--bhd-orange-deep); }
.bhd-button-yellow:hover, .bhd-button-green:hover { background: var(--color-action-hover); border-color: var(--color-action-hover); }
.bhd-button-yellow:active, .bhd-button-green:active { transform: translateY(1px); }
.bhd-button-light { background: var(--bhd-white); color: var(--bhd-navy); }
.bhd-button-light:hover { background: var(--bhd-sky-soft); }
.bhd-button-outline { background: hsl(var(--surface)); color: hsl(var(--foreground)); border-color: hsl(var(--border)); }
.bhd-button-outline:hover { border-color: var(--color-accent-ink); color: hsl(var(--foreground)); }
.bhd-button-danger { color: hsl(var(--danger)); border-color: hsl(var(--danger)); background: transparent; }
.bhd-button-danger:hover { background: hsl(var(--danger) / 8%); }
.bhd-icon-button { width: 44px; height: 44px; min-height: 44px; border: 1px solid hsl(var(--border)); border-radius: var(--radius-control); display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; transition: background-color var(--dur-fast) var(--ease-out); }
.bhd-icon-button:hover { background: hsl(var(--surface-muted)); }

/* ---------------------------------------------------------------- Header */
.bhd-header { position: fixed; inset: 0 0 auto; height: var(--header-height); z-index: 50; background: var(--bhd-blue); color: var(--bhd-white); border-bottom: 1px solid rgb(255 255 255 / 18%); }
.bhd-nav { display: flex; align-items: center; justify-content: space-between; gap: 20px; height: 100%; }
.bhd-logo { display: inline-flex; align-items: center; gap: 10px; flex-shrink: 0; color: var(--bhd-white); }
.bhd-logo img { width: 48px; height: 48px; -o-object-fit: contain; object-fit: contain; background: var(--bhd-white); padding: 4px; border-radius: 8px; }
.bhd-brand-wordmark { display: grid; gap: 3px; font-family: var(--font-display); text-transform: uppercase; line-height: .9; color: inherit; }
.bhd-brand-wordmark strong { font-size: 29px; font-weight: 800; letter-spacing: .05em; }
.bhd-brand-wordmark > span { font-size: 12px; font-weight: 700; letter-spacing: .16em; color: var(--bhd-sky-soft); }
.bhd-desktop-nav { display: flex; align-items: center; gap: 24px; height: 100%; }
.bhd-desktop-nav a { position: relative; display: flex; align-items: center; height: 100%; font-size: 14px; font-weight: 600; white-space: nowrap; color: rgb(255 255 255 / 88%); transition: color var(--dur-fast) var(--ease-out); }
.bhd-desktop-nav a:hover { color: var(--bhd-white); }
.bhd-desktop-nav a[aria-current='page'] { color: var(--bhd-white); }
.bhd-desktop-nav a[aria-current='page']::after { content: ''; position: absolute; inset: auto 0 0; height: 3px; background: var(--bhd-orange); }
.bhd-nav-actions { display: flex; gap: 10px; align-items: center; }
.bhd-nav-book { font-size: 13px; padding-inline: 16px; }

/* Display mode control: icon-only in the bar, labelled inside the menu. */
.bhd-theme-toggle { display: inline-flex; align-items: center; gap: 2px; padding: 3px; border: 1px solid hsl(var(--border)); border-radius: 10px; background: hsl(var(--surface)); }
.bhd-theme-toggle button { width: 36px; height: 36px; border-radius: 7px; display: inline-flex; align-items: center; justify-content: center; color: hsl(var(--foreground)); transition: background-color var(--dur-fast) var(--ease-out); }
.bhd-theme-toggle button:hover { background: hsl(var(--surface-muted)); }
.bhd-theme-toggle button[aria-pressed='true'] { background: var(--bhd-blue); color: var(--bhd-white); }
.bhd-header .bhd-theme-toggle { border-color: rgb(255 255 255 / 28%); background: transparent; }
.bhd-header .bhd-theme-toggle button { color: var(--bhd-white); }
.bhd-header .bhd-theme-toggle button:hover { background: rgb(255 255 255 / 14%); }
.bhd-header .bhd-theme-toggle button[aria-pressed='true'] { background: var(--bhd-white); color: var(--bhd-blue); }
.bhd-theme-toggle-labelled { width: 100%; padding: 6px; gap: 6px; }
.bhd-theme-toggle-labelled button { width: auto; flex: 1; height: 44px; gap: 8px; padding-inline: 8px; font-size: 13px; font-weight: 600; }
.bhd-search-trigger { display: flex; align-items: center; justify-content: center; gap: 10px; width: 44px; height: 44px; padding: 10px; border: 1px solid rgb(255 255 255 / 28%); border-radius: var(--radius-control); background: rgb(255 255 255 / 8%); color: var(--bhd-white); transition: background-color var(--dur-fast) var(--ease-out); }
.bhd-search-trigger:hover { background: rgb(255 255 255 / 18%); }
.bhd-search-trigger span { display: none; }
.bhd-menu-trigger { display: none; align-items: center; justify-content: center; width: 44px; height: 44px; border: 1px solid rgb(255 255 255 / 28%); border-radius: var(--radius-control); }
.bhd-menu-trigger:hover { background: rgb(255 255 255 / 14%); }

/* Checkout keeps a paper bar so the payment form owns the colour. */
.bhd-checkout-header { background: hsl(var(--surface)); color: hsl(var(--foreground)); border-bottom: 1px solid hsl(var(--border)); }
.bhd-checkout-progress { display: flex; align-items: center; justify-content: center; gap: 12px; font-size: 13px; }
.bhd-checkout-progress li { display: flex; align-items: center; gap: 8px; white-space: nowrap; }
.step-dot { background: hsl(var(--surface-muted)); color: hsl(var(--foreground)); width: 30px; height: 30px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-weight: 700; }
.step-dot.is-current { background: var(--bhd-orange-deep); color: var(--bhd-white); }
.bhd-checkout-progress .step-line { width: 28px; height: 2px; background: hsl(var(--border)); }
.bhd-support-link { font-size: 13px; font-weight: 600; color: var(--color-accent-ink); }
.bhd-support-link:hover { text-decoration: underline; text-underline-offset: 4px; }

.bhd-skip-link { position: fixed; top: 4px; left: 16px; transform: translateY(-180%); z-index: 110; background: var(--bhd-white); color: var(--bhd-navy); padding: 12px 16px; border-radius: var(--radius-control); font-weight: 600; }
.bhd-skip-link:focus { transform: none; }

/* ------------------------------------------------------ Menu and search */
.bhd-overlay { position: fixed; inset: 0; z-index: 100; background: var(--color-scrim); display: flex; align-items: flex-start; justify-content: center; overflow-y: auto; padding: 88px 16px 24px; }
.bhd-dialog { width: min(100%, 620px); max-height: calc(100dvh - 112px); overflow-y: auto; border-radius: var(--radius-card); background: hsl(var(--surface)); color: hsl(var(--foreground)); padding: 24px; box-shadow: var(--shadow-strong); }
.bhd-dialog-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 20px; padding-bottom: 16px; border-bottom: 1px solid hsl(var(--border)); }
.bhd-dialog-heading h2 { font-family: var(--font-display); font-size: 26px; font-weight: 800; text-transform: uppercase; line-height: 1.04; }
.bhd-dialog-heading img { width: 44px; height: 44px; -o-object-fit: contain; object-fit: contain; }
.bhd-dialog-heading .bhd-logo { color: hsl(var(--foreground)); }
.bhd-dialog-heading .bhd-brand-wordmark span { color: hsl(var(--muted-foreground)); }
.bhd-menu-links { display: flex; flex-direction: column; gap: 4px; }
.bhd-menu-links > a:not(.bhd-button) { display: block; padding: 14px 4px; border-bottom: 1px solid hsl(var(--border)); font-family: var(--font-display); font-size: 23px; font-weight: 700; text-transform: uppercase; line-height: 1.12; }
.bhd-menu-links > a.bhd-button { margin-top: 16px; }
.bhd-menu-links > .bhd-theme-toggle { margin-top: 12px; }
.bhd-search-form { display: flex; gap: 10px; align-items: center; min-width: 0; padding: 4px 8px 4px 14px; border: 1px solid hsl(var(--border)); border-radius: var(--radius-control); background: hsl(var(--surface)); }
.bhd-search-form:focus-within { border-color: var(--color-accent-ink); }
.bhd-search-form input { width: 100%; min-width: 0; min-height: 44px; background: transparent; color: hsl(var(--foreground)); outline-offset: 0; }
.bhd-search-results { padding-top: 20px; }
.bhd-search-results h3 { font-family: var(--font-display); font-size: 20px; font-weight: 700; text-transform: uppercase; margin-bottom: 8px; }
.bhd-search-results > p { font-size: 14px; color: hsl(var(--muted-foreground)); }
.bhd-search-result { display: flex; gap: 14px; align-items: center; padding: 10px 0; border-top: 1px solid hsl(var(--border)); }
.bhd-search-result img { width: 64px; height: 64px; -o-object-fit: cover; object-fit: cover; border-radius: 8px; flex: 0 0 auto; }
.bhd-search-result span { min-width: 0; }
.bhd-search-result strong, .bhd-search-result small { display: block; }
.bhd-search-result strong { font-weight: 600; }
.bhd-search-result small { color: hsl(var(--muted-foreground)); margin-top: 3px; font-size: 12px; }

/* ---------------------------------------------------------------- Footer */
.bhd-footer { background: var(--bhd-blue); color: var(--bhd-white); border-top: 6px solid var(--bhd-sky); }
.bhd-footer-main { padding-block: 64px; display: grid; grid-template-columns: 1.2fr .85fr 1.15fr 1fr; gap: 40px; }
.bhd-footer-main > div { min-width: 0; }
.bhd-footer h2 { font-family: var(--font-display); font-size: 21px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; margin-bottom: 18px; }
.bhd-footer p, .bhd-footer li { font-size: 13px; line-height: 1.8; color: rgb(255 255 255 / 86%); }
.bhd-footer ul { display: grid; gap: 10px; }
.bhd-footer a { display: inline-flex; align-items: center; min-height: 24px; overflow-wrap: anywhere; }
.bhd-footer a:hover { text-decoration: underline; text-underline-offset: 5px; }
.bhd-footer-brand { display: flex; align-items: center; gap: 12px; margin-bottom: 20px; font-family: var(--font-display); font-size: 26px; line-height: 1; text-transform: uppercase; font-weight: 800; color: var(--bhd-white); }
.bhd-footer-brand img { width: 56px; height: 56px; -o-object-fit: contain; object-fit: contain; background: var(--bhd-white); border-radius: 10px; padding: 4px; }
.bhd-socials { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.bhd-socials a { min-width: 44px; min-height: 44px; display: flex; justify-content: center; align-items: center; border: 1px solid rgb(255 255 255 / 32%); border-radius: 10px; }
.bhd-socials a:hover { background: rgb(255 255 255 / 12%); }
.bhd-footer-bottom { background: var(--bhd-navy); color: var(--bhd-white); padding-block: 18px; }
.bhd-footer-bottom > div { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.bhd-footer-bottom p { font-size: 12px; color: rgb(255 255 255 / 78%); }
.bhd-footer-lang-theme { display: flex; align-items: center; gap: 16px; }
.bhd-lang { display: flex; align-items: center; gap: 4px; }
.bhd-lang a { display: inline-flex; align-items: center; min-height: 44px; padding: 6px 12px; border-radius: 8px; font-size: 12px; font-weight: 600; color: var(--bhd-white); text-decoration: none; transition: background-color var(--dur-fast) var(--ease-out); }
.bhd-lang a:hover { background: rgb(255 255 255 / 12%); }
.bhd-lang a[aria-current="true"] { background: var(--bhd-white); color: var(--bhd-navy); }
.bhd-lang a[aria-current="true"]:hover { background: var(--bhd-sky-soft); }

/* Floating hold-ticket resume: fixed chrome, so it lives with the shell. */
.bhd-resume-booking { position: fixed; right: max(16px, env(safe-area-inset-right)); bottom: max(16px, env(safe-area-inset-bottom)); z-index: 39; }
.bhd-resume-trigger { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 18px; border: 0; border-radius: var(--radius-control); background: var(--bhd-orange-deep); color: var(--bhd-white); font-size: 13px; font-weight: 700; text-decoration: none; box-shadow: var(--shadow-lift); transition: background-color var(--dur-fast) var(--ease-out); }
.bhd-resume-trigger:hover { background: var(--color-action-hover); }
.bhd-resume-panel { position: absolute; right: 0; bottom: calc(100% + 12px); min-width: min(300px, calc(100vw - 32px)); padding: 18px; border: 1px solid hsl(var(--border)); border-top: 1px solid var(--bhd-orange-deep); border-radius: var(--radius-card); background: hsl(var(--surface)); color: hsl(var(--foreground)); box-shadow: var(--shadow-lift); }
.bhd-resume-title { margin-bottom: 6px; color: var(--color-accent-ink); font-size: 13px; font-weight: 700; }
.bhd-resume-time { display: flex; align-items: center; gap: 8px; margin-top: 10px; color: var(--color-accent-ink); font-size: 14px; font-weight: 700; font-variant-numeric: tabular-nums; }

@media (max-width: 1279px) {
  .bhd-container { width: min(calc(100% - 64px), var(--content-max)); }
  .bhd-nav { gap: 16px; }
  .bhd-desktop-nav { gap: 14px; }
  .bhd-desktop-nav a { font-size: 13px; }
  .bhd-nav-actions { gap: 8px; }
  /* The bar keeps logo, routes, search, CTA and menu; the theme choice moves
     into the menu overlay, where it is labelled. */
  .bhd-theme-toggle-compact { display: none; }
  .bhd-menu-trigger { display: inline-flex; }
}
/* Six routes plus wordmark and actions stop fitting well before 1024px, so the
   bar collapses to the menu sheet at 1152px instead of squeezing the links. */
@media (max-width: 1151px) {
  .bhd-desktop-nav, .bhd-nav-book { display: none; }
  .bhd-menu-trigger { display: inline-flex; }
}
@media (max-width: 1023px) {
  .bhd-footer-main { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 639px) {
  .bhd-container { width: calc(100% - 32px); }
  .bhd-nav { gap: 8px; }
  .bhd-logo img { width: 44px; height: 44px; }
  .bhd-checkout-header .bhd-brand-wordmark { display: none; }
  .bhd-brand-wordmark strong { font-size: 24px; }
  .bhd-brand-wordmark > span { font-size: 10px; letter-spacing: .13em; }
  .bhd-search-trigger { border: 0; background: transparent; }
  .bhd-footer-main { grid-template-columns: minmax(0, 1fr); gap: 32px; padding-block: 40px; }
  .bhd-footer-bottom > div { flex-direction: column; align-items: flex-start; }
  .bhd-overlay { padding-top: 16px; }
  .bhd-dialog { padding: 16px; max-height: calc(100dvh - 32px); }
  .bhd-checkout-progress { gap: 8px; font-size: 12px; }
  .bhd-checkout-progress .step-line { width: 16px; }
}
@media (max-width: 559px) {
  .bhd-footer li a { display: inline-flex; align-items: center; min-height: 44px; }
  .bhd-footer ul { gap: 4px; }
  .bhd-footer-main { gap: 28px; padding-block: 36px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .bhd-resume-trigger, .bhd-resume-panel { transition: none; }
}

/* Shared public structures; page-level appearance is in public-journey.css. */

.bhd-routes-hero { position: relative; overflow: hidden; background: var(--bhd-navy); color: var(--color-white); padding-block: 40px 56px; }
.bhd-routes-hero-bg { position: absolute; inset: 0; }
.bhd-routes-hero-bg img { width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; }
.bhd-routes-hero-bg::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgb(11 37 69 / 92%), rgb(37 100 176 / 64%) 60%, rgb(11 37 69 / 76%)); }
.bhd-routes-hero-inner { position: relative; display: grid; grid-template-columns: 1.35fr 1fr; gap: 48px; align-items: center; }

.bhd-calendar { width: 100%; table-layout: fixed; border-collapse: separate; border-spacing: 4px; }
.bhd-calendar th { font-size: 13px; font-weight: 700; color: hsl(var(--foreground)); text-align: center; padding-bottom: 8px; }
.bhd-calendar td { vertical-align: top; }
.bhd-cal-cell { width: 100%; min-height: 66px; border: 1px solid hsl(var(--border)); border-radius: 10px; background: hsl(var(--surface)); display: grid; gap: 4px; justify-items: start; align-content: start; padding: 8px; font-size: 13px; text-align: left; transition: background-color var(--dur-fast), border-color var(--dur-fast); box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04); }
.bhd-cal-cell:disabled { background: hsl(var(--surface) / 0.5); border-color: hsl(var(--border) / 0.4); color: hsl(var(--muted-foreground)); opacity: .7; cursor: default; box-shadow: none; }
.bhd-cal-cell:not(:disabled) { border-color: hsl(var(--border)); background: hsl(var(--surface)); cursor: pointer; }
.bhd-cal-cell:not(:disabled):hover { border-color: var(--bhd-blue); transform: translateY(-1px); box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08); }
.bhd-cal-cell.is-active { border-color: var(--bhd-sky); border-width: 2px; background: color-mix(in srgb, var(--bhd-sky) 22%, hsl(var(--surface))); box-shadow: 0 2px 8px color-mix(in srgb, var(--bhd-sky) 25%, transparent); }
.bhd-cal-day { font-weight: 700; font-variant-numeric: tabular-nums; color: hsl(var(--foreground)); }
.bhd-cal-cell:disabled .bhd-cal-day { color: hsl(var(--muted-foreground)); font-weight: 500; }
.bhd-cal-count { font-size: 11px; font-weight: 600; color: var(--color-easy-text); }
.bhd-cal-empty { display: block; min-height: 66px; }
.bhd-day-list { display: grid; gap: 2px; margin-block: 8px; }
.bhd-day-list a { display: flex; align-items: center; gap: 10px; padding: 8px 0; }
.bhd-day-list li + li { border-top: 1px solid hsl(var(--border)); }
.bhd-day-list img { width: 40px; height: 40px; border-radius: 8px; -o-object-fit: cover; object-fit: cover; flex: 0 0 auto; }
.bhd-day-list span { min-width: 0; flex: 1; }
.bhd-day-list strong { display: block; font-size: 13px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bhd-day-list small { display: block; font-size: 11px; color: hsl(var(--muted-foreground)); }
.bhd-day-list b { font-size: 13px; font-weight: 600; color: var(--color-accent-ink); white-space: nowrap; }
.dark .bhd-day-list b { color: var(--bhd-sky); }
.bhd-hero-eyebrow { display: inline-flex; align-items: center; gap: 8px; padding: 6px 14px; border-radius: 999px; background: rgb(255 255 255 / 16%); font-size: 14px; font-weight: 500; }
.bhd-routes-hero h1 { font-size: clamp(26px, 3.1vw, 44px); font-weight: 600; line-height: 1.12; letter-spacing: -.03em; margin-top: 20px; max-width: 20ch; }
.bhd-nearest { background: hsl(var(--surface)); color: hsl(var(--foreground)); border-radius: 16px; padding: 20px; box-shadow: var(--shadow-strong); }
.bhd-nearest-title { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; margin-bottom: 12px; }
.bhd-nearest ul { display: grid; gap: 4px; }
.bhd-nearest li + li { border-top: 1px solid hsl(var(--border)); }
.bhd-nearest a { display: flex; align-items: center; gap: 12px; padding: 10px 0; }
.bhd-nearest img { width: 48px; height: 48px; border-radius: 8px; -o-object-fit: cover; object-fit: cover; flex: 0 0 auto; }
.bhd-nearest-info { min-width: 0; flex: 1; }
.bhd-nearest-info strong { display: block; font-size: 14px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bhd-nearest-info small { display: block; font-size: 12px; color: hsl(var(--muted-foreground)); margin-top: 2px; }
.bhd-nearest-price { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 600; color: var(--color-accent-ink); white-space: nowrap; }
.dark .bhd-nearest-price { color: var(--bhd-sky); }
.bhd-week { background: linear-gradient(180deg, hsl(var(--surface-elevated)), hsl(var(--surface))); padding-block: 40px 8px; }
.bhd-week-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.bhd-week-head h2, .bhd-group-title { display: flex; align-items: center; gap: 10px; font-size: 23px; font-weight: 700; color: var(--bhd-navy); }
.dark .bhd-week-head h2, .dark .bhd-group-title { color: hsl(var(--foreground)); }
.bhd-week-head p, .bhd-group-note { font-size: 14px; color: hsl(var(--muted-foreground)); margin-top: 6px; }
.bhd-month-nav { display: flex; align-items: center; gap: 12px; font-weight: 600; }
.bhd-month-nav button { width: 36px; height: 36px; border: 1px solid hsl(var(--border)); border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: hsl(var(--surface)); }
.bhd-month-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.bhd-week-body { display: grid; grid-template-columns: 2fr 1fr; gap: 24px; margin-top: 20px; align-items: stretch; }

.bhd-day-summary { border: 1px solid hsl(var(--border)); border-radius: 16px; background: hsl(var(--surface)); padding: 20px; display: grid; align-content: center; gap: 6px; }
.bhd-day-summary-date { font-size: 18px; font-weight: 700; text-transform: capitalize; }
.bhd-day-summary-count { color: var(--color-accent-ink); font-weight: 600; }
.dark .bhd-day-summary-count { color: var(--bhd-sky); }
.bhd-day-summary-note { font-size: 13px; color: hsl(var(--muted-foreground)); }
.bhd-week-empty { margin-top: 20px; font-size: 14px; color: hsl(var(--muted-foreground)); }
.bhd-week-legend { display: flex; gap: 20px; margin-top: 16px; padding-bottom: 24px; font-size: 13px; color: hsl(var(--muted-foreground)); }
.bhd-week-legend span { display: inline-flex; align-items: center; gap: 8px; }
.bhd-week-legend .dot { width: 10px; height: 10px; border-radius: 50%; background: var(--bhd-blue); }
.bhd-week-legend .square { width: 10px; height: 10px; border-radius: 2px; background: var(--bhd-sky); }
.bhd-group + .bhd-group { margin-top: 48px; }
.bhd-group-title { margin-bottom: 4px; }
.bhd-group .bhd-route-grid { margin-top: 20px; }

.bhd-detail-body { padding-block: 48px 96px; }
.bhd-detail-head { background: hsl(var(--surface)); padding-block: 24px 0; }
.bhd-breadcrumb { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; font-size: 14px; color: hsl(var(--muted-foreground)); }
.bhd-breadcrumb a { text-decoration: underline; text-underline-offset: 3px; }
.bhd-breadcrumb span[aria-current] { color: var(--color-accent-ink); font-weight: 600; }
.dark .bhd-breadcrumb span[aria-current] { color: var(--bhd-sky); }
.bhd-detail-titlebar { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; margin-block: 16px 24px; }
.bhd-detail-titlebar h1 { font-size: clamp(24px, 2.8vw, 38px); font-weight: 700; line-height: 1.15; letter-spacing: -.03em; display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.bhd-title-badge { font-size: 12px; font-weight: 600; padding: 4px 12px; border-radius: 999px; background: var(--color-easy-bg); color: var(--color-easy-text); border: 1px solid currentColor; }
.bhd-share { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 10px 20px; border: 1px solid hsl(var(--border)); border-radius: 999px; background: hsl(var(--surface)); font-size: 14px; font-weight: 600; white-space: nowrap; }
.bhd-gallery { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 16px; margin-bottom: 24px; align-items: start; }
.bhd-gallery-single { grid-template-columns: minmax(0, 1fr); }
.bhd-gallery-pair { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.bhd-gallery-main { position: relative; border-radius: 16px; overflow: hidden; background: hsl(var(--surface-muted)); aspect-ratio: 4 / 3; }
.bhd-gallery-main img { position: absolute; inset: 0; width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; -o-object-position: center; object-position: center; }
.bhd-gallery-nav { position: absolute; top: 50%; transform: translateY(-50%); width: 44px; height: 44px; border-radius: 50%; background: rgb(255 255 255 / 92%); color: var(--color-ink); display: flex; align-items: center; justify-content: center; box-shadow: var(--shadow-soft); }
.bhd-gallery-nav.prev { left: 16px; }
.bhd-gallery-nav.next { right: 16px; }
.bhd-gallery-side { display: grid; grid-template-rows: repeat(2, minmax(0, 1fr)); gap: 16px; position: relative; min-width: 0; min-height: 0; aspect-ratio: 2 / 3; align-self: start; }
.bhd-gallery-side-single { grid-template-rows: minmax(0, 1fr); aspect-ratio: 4 / 3; }
.bhd-gallery-side img { width: 100%; height: 100%; min-height: 0; -o-object-fit: cover; object-fit: cover; -o-object-position: center; object-position: center; border-radius: 16px; }
.bhd-gallery-more { position: absolute; right: 12px; bottom: 12px; padding: 8px 16px; border-radius: 999px; background: var(--color-white); color: var(--color-ink); font-size: 14px; font-weight: 600; }
.bhd-facts { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; margin-bottom: 40px; }
.bhd-facts li { display: grid; justify-items: center; gap: 10px; padding: 20px 12px; border: 1px solid hsl(var(--border)); border-radius: 16px; background: hsl(var(--surface)); text-align: center; font-size: 14px; font-weight: 500; }
.bhd-facts li svg { color: var(--color-accent-ink); }
.dark .bhd-facts li svg { color: var(--bhd-sky); }
.bhd-eyebrow-label { font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--color-accent-ink); margin-bottom: 8px; }
.dark .bhd-eyebrow-label { color: var(--bhd-sky); }
.bhd-book-card, .bhd-departures { border: 1px solid hsl(var(--border)); border-radius: 16px; background: hsl(var(--surface)); padding: 24px; }
.bhd-book-price { font-size: 25px; font-weight: 700; color: var(--color-accent-ink); font-variant-numeric: tabular-nums; }
.dark .bhd-book-price { color: var(--bhd-sky); }
.bhd-book-price span { font-size: 14px; font-weight: 500; margin-left: 6px; }
.bhd-book-note { font-size: 13px; color: hsl(var(--muted-foreground)); margin-block: 8px 20px; }
.bhd-book-card .bhd-button { width: 100%; }
.bhd-book-call { display: block; text-align: center; margin-top: 12px; padding: 10px; border-radius: 999px; border: 1px solid hsl(var(--border)); font-size: 14px; font-weight: 600; }
.bhd-book-empty, .bhd-departures-empty { font-size: 14px; color: hsl(var(--muted-foreground)); }
.bhd-departures h2 { font-size: 16px; font-weight: 600; margin-bottom: 4px; }
.bhd-departures ul { margin-top: 8px; }
.bhd-departures li { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 0; border-top: 1px solid hsl(var(--border)); }.bhd-departures strong { display: block; font-weight: 600; font-variant-numeric: tabular-nums; }
.bhd-departures small { display: block; font-size: 12px; color: hsl(var(--muted-foreground)); margin-top: 2px; }
.bhd-departure-book { display: grid; gap: 8px; justify-items: end; }
.bhd-departure-book span { font-size: 13px; font-weight: 600; color: var(--color-easy-text); white-space: nowrap; }
.bhd-departure-book span.is-low { color: var(--color-medium-text); }
.bhd-departure-quick { min-height: 44px; padding: 10px 18px; font-size: 14px; }
@media (max-width: 1023px) {
  .bhd-gallery { grid-template-columns: minmax(0, 1fr); }
  .bhd-gallery-main { width: 100%; }
  .bhd-gallery-side { grid-template-rows: none; grid-template-columns: repeat(2, minmax(0, 1fr)); aspect-ratio: auto; }
  .bhd-gallery-side-single { grid-template-columns: minmax(0, 1fr); }
  .bhd-gallery-side img { aspect-ratio: 4 / 3; height: auto; }
  .bhd-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}


.bhd-faq-title { font-size: 20px; font-weight: 600; padding-bottom: 16px; border-bottom: 1px solid hsl(var(--border)); }
.bhd-faq-list { display: grid; }
.bhd-faq-list > li + li { border-top: 1px solid hsl(var(--border)); }
.bhd-faq-question { display: flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%; min-height: 56px; padding-block: 16px; text-align: left; font-size: 16px; font-weight: 600; color: hsl(var(--foreground)); }
.bhd-faq-question.is-open { color: var(--color-accent-ink); }
.dark .bhd-faq-question.is-open { color: var(--bhd-sky); }
.bhd-faq-question.is-static { color: hsl(var(--muted-foreground)); cursor: default; }
.bhd-faq-question > svg { flex: 0 0 auto; color: hsl(var(--muted-foreground)); transition: transform var(--dur-fast) var(--ease-out); }
.bhd-faq-question.is-open > svg { transform: rotate(180deg); color: inherit; }
.bhd-faq-question.is-link:hover { color: var(--color-accent-ink); }
.dark .bhd-faq-question.is-link:hover { color: var(--bhd-sky); }
.bhd-faq-answer { padding-bottom: 20px; font-size: 15px; line-height: 1.65; color: hsl(var(--muted-foreground)); }
.bhd-faq-answer[hidden] { display: none; }
.bhd-policy-card { border: 1px solid hsl(var(--border)); border-radius: 16px; background: hsl(var(--surface)); padding: 24px; }
.bhd-policy-lead { font-size: 15px; font-weight: 600; margin-bottom: 12px; }
.bhd-policy-links { display: grid; gap: 8px; }
.bhd-policy-links a { font-size: 14px; color: var(--color-accent-ink); text-decoration: underline; text-underline-offset: 3px; }
.dark .bhd-policy-links a { color: var(--bhd-sky); }
.bhd-route-flag { position: absolute; top: 12px; left: 12px; z-index: 1; display: inline-flex; align-items: center; gap: 4px; padding: 4px 10px; border-radius: 99px; background: var(--bhd-sky); color: var(--color-ink); font-size: 12px; font-weight: 600; }
@media (max-width: 639px) {
  .bhd-faq-title { font-size: 18px; padding-bottom: 12px; }
  .bhd-faq-question { font-size: 15px; min-height: 48px; }
  .bhd-policy-card { padding: 16px; }
  .bhd-route-flag { top: 8px; left: 8px; font-size: 10px; padding: 3px 8px; }
}
.bhd-booking-column { position: sticky; top: calc(var(--header-height) + 24px); display: grid; gap: 24px; }
@media (max-width: 1023px) {
  .bhd-booking-column { position: static; }
  .bhd-detail-body { padding-bottom: 120px; }
}

.bhd-page-hero { background: var(--bhd-navy); color: var(--color-white); padding-block: 56px; }
.bhd-page-hero h1 { font-size: clamp(24px, 2.6vw, 38px); font-weight: 600; letter-spacing: -.03em; }
.bhd-page-hero p { margin-top: 12px; max-width: 60ch; color: rgb(255 255 255 / 82%); }


.bhd-post-head { background: hsl(var(--surface)); padding-block: 24px 16px; }
.bhd-post-head .bhd-breadcrumb span { min-width: 0; overflow-wrap: anywhere; }
.bhd-post-title { font-size: clamp(24px, 3vw, 38px); font-weight: 700; line-height: 1.15; letter-spacing: -.03em; margin-top: 16px; max-width: 24ch; }
.bhd-post-date { display: inline-flex; align-items: center; gap: 8px; margin-top: 12px; font-size: 14px; color: hsl(var(--muted-foreground)); }
.bhd-post-body { padding-block: 32px 96px; }
.bhd-post-layout { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 48px; align-items: start; }
.bhd-post-article { min-width: 0; }

.bhd-post-article :is(h2, h3) { scroll-margin-top: calc(var(--header-height) + 24px); }
.bhd-post-lead { font-size: 18px; line-height: 1.7; color: hsl(var(--muted-foreground)); }
.bhd-post-cover { width: 100%; height: auto; aspect-ratio: 5 / 2; -o-object-fit: cover; object-fit: cover; border-radius: var(--radius-card); margin-block: 4px 32px; background: hsl(var(--surface-muted)); }
.bhd-post-aside { display: grid; gap: 24px; min-width: 0; }
.bhd-post-card { border: 1px solid hsl(var(--border)); border-radius: var(--radius-card); background: hsl(var(--surface)); padding: 20px; }
.bhd-toc-title { font-size: 18px; font-weight: 700; color: var(--bhd-navy); margin-bottom: 12px; }
.dark .bhd-toc-title { color: hsl(var(--foreground)); }
.bhd-toc-list { list-style: decimal; padding-left: 20px; display: grid; gap: 10px; }
.bhd-toc-list > li::marker { color: var(--color-accent-ink); font-weight: 600; }
.bhd-toc-sublist { list-style: none; display: grid; gap: 6px; margin-top: 6px; padding-left: 4px; }
.bhd-toc-link { display: block; font-size: 14px; line-height: 1.5; color: hsl(var(--muted-foreground)); overflow-wrap: anywhere; }
.bhd-toc-link.is-sub { font-size: 13px; }
.bhd-toc-link:hover { color: var(--color-accent-ink); text-decoration: underline; text-underline-offset: 3px; }
.dark .bhd-toc-link:hover { color: var(--bhd-sky); }
.bhd-toc-closing { margin-top: 16px; font-size: 14px; font-weight: 600; }
.bhd-toc-closing + .bhd-post-share { margin-top: 16px; padding-top: 16px; border-top: 1px solid hsl(var(--border)); }
.bhd-post-share { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.bhd-post-share-label { font-size: 14px; font-weight: 600; }
.bhd-post-share-actions { display: flex; gap: 8px; }
.bhd-post-share-link { width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid hsl(var(--border)); border-radius: 50%; background: hsl(var(--surface)); color: var(--bhd-navy); transition: border-color var(--dur-fast) var(--ease-out); }
.bhd-post-share-link:hover { border-color: var(--bhd-navy); }
.dark .bhd-post-share-link { color: hsl(var(--foreground)); }
.bhd-author { display: flex; align-items: center; gap: 16px; }
.bhd-author-avatar { flex: 0 0 auto; width: 56px; height: 56px; border-radius: 50%; background: var(--bhd-sky); color: var(--color-ink); display: inline-flex; align-items: center; justify-content: center; font-size: 18px; font-weight: 700; }
.bhd-author-info { min-width: 0; }
.bhd-author-name { font-size: 16px; font-weight: 700; overflow-wrap: anywhere; }
.bhd-author-link { display: inline-block; margin-top: 4px; font-size: 14px; font-weight: 600; color: var(--color-accent-ink); text-decoration: underline; text-underline-offset: 3px; }
.dark .bhd-author-link { color: var(--bhd-sky); }
.bhd-post-related { background: hsl(var(--surface-elevated)); padding-block: 64px 96px; }
.bhd-post-related .bhd-section-title { margin-bottom: 24px; }
.bhd-post-read { display: inline-flex; align-items: center; gap: 6px; margin-top: auto; font-size: 14px; font-weight: 600; color: var(--color-accent-ink); }
.dark .bhd-post-read { color: var(--bhd-sky); }

.bhd-post-teaser { display: flex; flex-direction: column; height: 100%; }
.bhd-post-teaser-media { aspect-ratio: 4 / 3; overflow: hidden; border-radius: var(--radius-card); background: hsl(var(--surface-muted)); }
.bhd-post-teaser-media img { width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; transition: transform var(--dur-fast) var(--ease-out); }
.bhd-post-teaser:hover .bhd-post-teaser-media img { transform: scale(1.03); }
.bhd-post-teaser-meta { margin-top: 16px; }
.bhd-post-teaser-meta span { min-width: 0; }
.bhd-post-teaser-title { margin-top: 8px; font-size: 16px; font-weight: 600; line-height: 1.35; overflow-wrap: anywhere; }
@media (prefers-reduced-motion: reduce) {
  .bhd-post-teaser:hover .bhd-post-teaser-media img { transform: none; }
}

.bhd-month-nav button { width: 44px; height: 44px; }
.bhd-gallery-more { min-height: 44px; display: inline-flex; align-items: center; }
.bhd-book-call { min-height: 44px; display: flex; align-items: center; justify-content: center; }

.bhd-newsletter { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 32px; padding: 40px; border-radius: var(--radius-card); background: var(--bhd-blue); color: var(--bhd-white); }
.bhd-newsletter-copy { flex: 1 1 320px; min-width: 0; }
.bhd-newsletter-copy h2 { font-size: clamp(21px, 2.6vw, 31px); font-weight: 700; line-height: 1.18; color: var(--bhd-white); }
.bhd-newsletter-copy p { margin-top: 12px; max-width: 60ch; font-size: 16px; color: rgb(255 255 255 / 92%); }
.bhd-newsletter-form { flex: 1 1 360px; display: flex; flex-direction: column; gap: 8px; max-width: 560px; }
.bhd-newsletter-form label { font-size: 14px; font-weight: 600; color: var(--bhd-white); }
.bhd-newsletter-field { display: flex; align-items: center; gap: 12px; }
.bhd-newsletter-field input { flex: 1 1 auto; min-width: 0; min-height: 48px; padding: 12px 20px; border: 1px solid var(--bhd-ink-soft); border-radius: var(--radius-control); background: var(--color-white); color: var(--color-ink); font-size: 16px; }
.bhd-newsletter-field input::-moz-placeholder { color: var(--bhd-ink-soft); }
.bhd-newsletter-field input::placeholder { color: var(--bhd-ink-soft); }
.bhd-newsletter-field .bhd-button { flex: 0 0 auto; }
.bhd-newsletter-feedback { font-size: 14px; color: var(--bhd-white); }
.bhd-newsletter-feedback.is-error { align-self: flex-start; padding: 8px 12px; border-radius: 8px; background: var(--color-white); color: hsl(var(--danger)); font-weight: 600; }
.bhd-newsletter-feedback.is-success { color: var(--bhd-white); font-weight: 600; }
.bhd-newsletter-spinner { flex: 0 0 auto; width: 16px; height: 16px; border-radius: 50%; border: 2px solid rgb(255 255 255 / 35%); border-top-color: var(--bhd-white); animation: bhd-newsletter-spin .7s linear infinite; }
@keyframes bhd-newsletter-spin { to { transform: rotate(360deg); } }


.bhd-modal-cal { width: 100%; table-layout: fixed; border-collapse: separate; border-spacing: 4px; }
.bhd-modal-cal th { font-size: 12px; font-weight: 700; color: hsl(var(--foreground)); text-align: center; padding-bottom: 6px; }
.bhd-modal-cal td { vertical-align: top; }
.bhd-modal-cal-cell {
  width: 100%;
  min-height: 52px;
  border: 1px solid hsl(var(--border));
  border-radius: 8px;
  background: hsl(var(--surface));
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 4px 2px;
  font-size: 13px;
  transition: background-color var(--dur-fast), border-color var(--dur-fast);
  cursor: pointer;
}
.bhd-modal-cal-cell:disabled {
  background: hsl(var(--surface) / 0.4);
  border-color: hsl(var(--border) / 0.3);
  color: hsl(var(--muted-foreground));
  opacity: 0.6;
  cursor: not-allowed;
}
.bhd-modal-cal-cell:not(:disabled):hover {
  border-color: var(--bhd-blue);
  transform: translateY(-1px);
}
.bhd-modal-cal-cell.is-active {
  border-color: var(--bhd-sky);
  border-width: 2px;
  background: color-mix(in srgb, var(--bhd-sky) 22%, hsl(var(--surface)));
  box-shadow: 0 2px 8px color-mix(in srgb, var(--bhd-sky) 25%, transparent);
}
.bhd-modal-cal-day {
  font-weight: 700;
  font-size: 14px;
  font-variant-numeric: tabular-nums;
  color: hsl(var(--foreground));
}
.bhd-modal-cal-cell:disabled .bhd-modal-cal-day {
  color: hsl(var(--muted-foreground));
  font-weight: 500;
}
.bhd-modal-cal-count {
  font-size: 10px;
  font-weight: 600;
  color: var(--color-easy-text);
  line-height: 1.1;
  margin-top: 2px;
  text-align: center;
  white-space: nowrap;
}
.bhd-modal-cal-count.is-low {
  color: var(--color-medium-text);
}
.bhd-modal-cal-count.is-soldout {
  color: hsl(var(--muted-foreground));
  text-decoration: line-through;
}
.bhd-modal-cal-empty {
  display: block;
  min-height: 52px;
}

.bhd-filters, .bhd-filter-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.bhd-chip { font-weight: 600; color: hsl(var(--foreground)); }
.bhd-advanced-filters summary { cursor: pointer; }
.bhd-advanced-filters > div { display: flex; align-items: flex-end; flex-wrap: wrap; gap: 16px; padding-block: 16px; }
.bhd-advanced-filters label { display: grid; gap: 8px; font-size: 13px; }
.bhd-advanced-filters select { background: hsl(var(--surface)); color: hsl(var(--foreground)); border: 1px solid hsl(var(--border)); }
.bhd-route-meta { display: flex; color: hsl(var(--muted-foreground)); }
.bhd-route-departure { color: hsl(var(--muted-foreground)); }
.bhd-route-price { color: var(--color-accent-ink); font-variant-numeric: tabular-nums; }
.bhd-difficulty.easy { background: var(--bhd-sky-soft); color: var(--bhd-navy); }
.bhd-difficulty.medium { background: var(--color-medium-bg); color: var(--color-medium-text); }
.bhd-difficulty.hard { background: var(--color-hard-bg); color: var(--color-hard-text); }
.bhd-how-intro, .bhd-how-step p { color: hsl(var(--muted-foreground)); }
.bhd-content-notice { margin-block: 24px 0; max-width: 72ch; padding: 12px 16px; border: 1px solid hsl(var(--border)); background: hsl(var(--surface-muted)); font-size: 13px; line-height: 1.7; color: hsl(var(--muted-foreground)); }
.bhd-hero-scrim { position: absolute; inset: 0; }
.bhd-pay-back { display: inline-flex; align-items: center; justify-content: center; gap: 8px; font-size: 14px; color: hsl(var(--muted-foreground)); padding: 10px; }
.bhd-pay-back:hover { color: hsl(var(--foreground)); }
.bhd-checkout-header .bhd-logo { color: hsl(var(--foreground)); }
.bhd-checkout-header .bhd-brand-wordmark > span { color: var(--color-accent-ink); }
.bhd-modal-cal-cell.is-active { background: var(--bhd-orange-deep); border-color: var(--bhd-orange-deep); box-shadow: none; }
.bhd-modal-cal-cell.is-active :is(.bhd-modal-cal-day, .bhd-modal-cal-count) { color: var(--bhd-white); }
.bhd-modal-cal-cell:not(:disabled):hover { transform: none; }
.bhd-post-share-link { width: 44px; height: 44px; }
.bhd-newsletter-feedback.is-error { color: var(--color-hard-text); }
@media (max-width: 1023px) {
  .bhd-routes-hero-inner, .bhd-week-body, .bhd-post-layout { grid-template-columns: minmax(0, 1fr); }
  .bhd-post-layout { gap: 32px; }
}
@media (max-width: 639px) {
  .bhd-calendar { border-spacing: 2px; }
  .bhd-cal-cell { padding: 5px 2px; justify-items: center; }
  .bhd-cal-count { width: 6px; height: 6px; border-radius: 50%; overflow: hidden; text-indent: -9999px; white-space: nowrap; background: var(--color-accent-ink); }
  .bhd-public .bhd-cal-cell.is-active .bhd-cal-count { background: var(--bhd-white); }
  .bhd-cal-empty { min-height: 56px; }
  .bhd-facts li:last-child:nth-child(odd) { grid-column: span 2; }
  .bhd-detail-titlebar { flex-direction: column; }
  .bhd-newsletter-field { flex-wrap: wrap; }
  .bhd-newsletter-field .bhd-button { width: 100%; }
  .bhd-post-cover { aspect-ratio: 4 / 3; }
  .bhd-post-share-link { width: 44px; height: 44px; }
}
@media (prefers-reduced-motion: reduce) {
  .bhd-faq-question > svg, .bhd-modal-cal-cell { transition: none; }
  .bhd-newsletter-spinner { animation: none; }
  .bhd-post-teaser:hover .bhd-post-teaser-media img { transform: none; }
}


/*!********************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!./app/public-journey.css ***!
  \********************************************************************************************************************************************************************************************************************************************************************/
/* BHD Trekking · Summit Pass public compositions.
 * A blue route desk beside real photography; normal document scrolling throughout. */
.bhd-public { background: hsl(var(--background)); color: hsl(var(--foreground)); }
.bhd-public .bhd-container { width: min(calc(100% - 80px), var(--content-max)); }
.bhd-public :is(.bhd-section-title, .bhd-page-hero h1, .bhd-routes-hero h1, .bhd-detail-titlebar h1, .bhd-post-title, .bhd-group-title, .bhd-week-head h2, .bhd-newsletter h2, .bhd-booking-head h1) { font-family: var(--font-display); font-weight: 800; text-transform: uppercase; letter-spacing: .005em; line-height: 1.04; }
.bhd-public .bhd-section-title { font-size: clamp(27px, 3.1vw, 44px); color: hsl(var(--foreground)); }
.bhd-public .bhd-content-notice { border-left: 3px solid var(--bhd-sky); border-radius: 0 8px 8px 0; }

/* Full-bleed stage with a vertical departure index. The photograph owns the
   whole viewport; the index is the only chrome, so the first screen reads like
   the front of an expedition board rather than a marketing split. */
.bhd-public .bhd-hero { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(288px, 372px); grid-template-areas: none; align-items: stretch; width: 100%; max-width: none; height: auto; margin: 0; min-height: clamp(560px, calc(100svh - var(--header-height)), 940px); overflow: hidden; isolation: isolate; background: var(--bhd-navy); color: var(--bhd-white); }
.bhd-public .bhd-hero-media { position: absolute; inset: 0; z-index: -1; grid-area: auto; min-height: 0; overflow: hidden; background: var(--bhd-navy-soft); }
.bhd-public .bhd-hero-media img { width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; -o-object-position: center; object-position: center; }
.bhd-public .bhd-hero-scrim { position: absolute; inset: 0; background: linear-gradient(90deg, rgb(8 24 44 / 92%) 0%, rgb(8 24 44 / 62%) 42%, rgb(8 24 44 / 12%) 76%), linear-gradient(0deg, rgb(8 24 44 / 78%) 0%, rgb(8 24 44 / 0%) 52%); }
.bhd-public .bhd-hero-content { grid-area: auto; position: relative; display: flex; flex-direction: column; justify-content: flex-end; align-items: flex-start; width: auto; max-width: none; min-width: 0; margin: 0; padding: clamp(32px, 4vw, 56px) clamp(24px, 3vw, 48px) clamp(36px, 5vw, 76px) max(40px, calc((100vw - var(--content-max)) / 2)); background: none; border: 0; border-radius: 0; box-shadow: none; }
.bhd-public .bhd-hero-kicker { display: flex; align-items: center; gap: 10px; font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--bhd-sky); margin-bottom: 18px; }
.bhd-public .bhd-hero-kicker::before { content: ''; width: 28px; height: 3px; background: var(--bhd-orange); }
.bhd-public .bhd-hero h1 { font-family: var(--font-display); font-size: clamp(34px, 4.6vw, 78px); font-weight: 800; line-height: 1.02; letter-spacing: -.005em; text-transform: uppercase; max-width: min(14ch, 100%); overflow-wrap: anywhere; }
.bhd-public .bhd-hero-description { font-size: 15px; line-height: 1.7; max-width: 42ch; margin: 18px 0 0; color: rgb(255 255 255 / 88%); }
.bhd-public .bhd-hero-facts { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
.bhd-public .bhd-hero-facts > span { display: inline-flex; align-items: center; gap: 6px; min-width: 0; max-width: 100%; overflow-wrap: anywhere; border-radius: 4px; padding: 6px 9px; font-size: 11px; font-weight: 600; background: rgb(255 255 255 / 12%); color: var(--bhd-white); border: 1px solid rgb(255 255 255 / 22%); }
.bhd-public .bhd-hero-facts > .bhd-difficulty { background: var(--bhd-white); color: var(--bhd-navy); border-color: var(--bhd-white); }
.bhd-public .bhd-hero-price { font-family: var(--font-display); font-size: clamp(30px, 3vw, 46px); font-weight: 700; line-height: 1.04; margin-top: 26px; font-variant-numeric: tabular-nums; }
.bhd-public .bhd-hero-price small { font-family: var(--font-body); font-size: 12px; font-weight: 400; color: rgb(255 255 255 / 85%); }
.bhd-public .bhd-hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.bhd-public .bhd-hero-actions .bhd-button { min-height: 50px; }

/* Route index: numbered rows, not tabs. Active row flips to paper. */
.bhd-public .bhd-hero-index { grid-area: auto; align-self: stretch; display: flex; flex-direction: column; justify-content: flex-end; min-width: 0; max-width: 100%; margin: 0; padding: 0; list-style: none; background: var(--bhd-navy); border-left: 1px solid rgb(255 255 255 / 16%); overscroll-behavior: contain; }
.bhd-public .bhd-hero-index li { border-top: 1px solid rgb(255 255 255 / 12%); }
.bhd-public .bhd-hero-index button { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; align-items: center; gap: 12px; width: 100%; min-height: 88px; padding: 16px 20px; text-align: left; color: rgb(255 255 255 / 76%); border-left: 4px solid transparent; transition: background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out); }
.bhd-public .bhd-hero-index button:focus-visible { outline-offset: -5px; }
.bhd-public .bhd-hero-index button:hover { background: rgb(255 255 255 / 8%); color: var(--bhd-white); }
.bhd-public .bhd-hero-index button.is-active { background: var(--bhd-white); color: var(--bhd-navy); border-left-color: var(--bhd-orange); }
.bhd-public .bhd-hero-index-num { font-family: var(--font-display); font-size: 20px; font-weight: 700; line-height: 1; font-variant-numeric: tabular-nums; color: var(--bhd-sky); }
.bhd-public .bhd-hero-index button.is-active .bhd-hero-index-num { color: var(--bhd-orange-deep); }
.bhd-public .bhd-hero-index-name { min-width: 0; font-family: var(--font-display); font-size: 18px; font-weight: 700; text-transform: uppercase; line-height: 1.1; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.bhd-public .bhd-hero-index-date { min-width: 0; max-width: 12ch; overflow-wrap: anywhere; font-size: 12px; font-weight: 600; font-variant-numeric: tabular-nums; }
.bhd-public .bhd-hero-empty { display: block; grid-template-areas: none; min-height: 0; }
.bhd-public .bhd-hero-empty .bhd-hero-content { padding-block: clamp(56px, 8vw, 96px); max-width: 1000px; }
.bhd-public .bhd-hero-empty p { margin-block: 24px; }
.bhd-public .bhd-hero-empty .bhd-button { align-self: flex-start; }
.bhd-public .bhd-hero.animate-pulse { min-height: 570px; background: var(--bhd-blue-soft); }

/* Route desk: filters are controls, photographs are the catalogue. */
.bhd-public .bhd-catalogue { padding-block: clamp(48px, 6vw, 88px); scroll-margin-top: calc(var(--header-height) + 24px); }
.bhd-public .bhd-filter-heading { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 24px; margin-bottom: 20px; }
.bhd-public .bhd-filter-heading .bhd-section-title { max-width: 22ch; }
.bhd-public .bhd-filter-count { margin-top: 10px; font-size: 13px; color: hsl(var(--muted-foreground)); }
.bhd-public .bhd-filters { justify-content: flex-end; gap: 12px; }
.bhd-public .bhd-filter-chips { gap: 6px; }
.bhd-public .bhd-chip { min-height: 44px; border: 1px solid hsl(var(--border)); border-radius: 8px; padding: 10px 14px; font-size: 12px; background: hsl(var(--surface)); }
.bhd-public .bhd-chip:hover { border-color: var(--color-accent-ink); }
.bhd-public .bhd-chip[aria-pressed='true'] { background: var(--bhd-blue); border-color: var(--bhd-blue); color: var(--bhd-white); }
.bhd-public .bhd-search-form input { font-size: 14px; min-height: 44px; }
.bhd-public .bhd-advanced-filters { padding-block: 0 20px; margin-bottom: 28px; border-bottom: 1px solid hsl(var(--border)); }
.bhd-public .bhd-advanced-filters summary { min-height: 44px; font-size: 13px; font-weight: 600; color: var(--color-accent-ink); }
.bhd-public .bhd-advanced-filters select { min-height: 44px; border-radius: 8px; padding-inline: 12px; }
.bhd-public .bhd-route-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px 24px; }
.bhd-public .bhd-route-grid > article { min-width: 0; }
.bhd-public .bhd-route-card { display: flex; flex-direction: column; height: 100%; border: 1px solid hsl(var(--border)); border-radius: 12px; overflow: hidden; background: hsl(var(--surface)); transition: border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out); }
.bhd-public .bhd-route-card:hover { border-color: var(--color-accent-ink); box-shadow: var(--shadow-card); }
.bhd-public .bhd-route-card-media { position: relative; aspect-ratio: 4 / 3; height: auto; overflow: hidden; border-radius: 0; background: hsl(var(--surface-muted)); }
.bhd-public .bhd-route-card-media img { width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; transition: transform var(--dur-base) var(--ease-out); }
.bhd-public .bhd-route-card:hover .bhd-route-card-media img { transform: scale(1.04); }
.bhd-public .bhd-route-card .bhd-difficulty { position: absolute; inset: auto auto 12px 12px; padding: 5px 9px; border-radius: 5px; max-width: calc(100% - 24px); font-size: 11px; line-height: 1.4; }
.bhd-public .bhd-route-flag { background: var(--bhd-white); color: var(--bhd-navy); border-radius: 5px; font-size: 10px; padding: 5px 9px; }
.bhd-public .bhd-route-card-body { display: flex; flex-direction: column; flex: 1; gap: 10px; padding: 20px; margin: 0; border: 0; }
.bhd-public .bhd-route-card h3 { font-family: var(--font-display); font-size: clamp(21px, 1.8vw, 27px); font-weight: 700; line-height: 1.12; letter-spacing: .005em; text-transform: uppercase; }
.bhd-public .bhd-route-meta { font-size: 12px; line-height: 1.6; align-items: flex-start; gap: 6px; }
.bhd-public .bhd-route-meta svg { flex: 0 0 auto; margin-top: 2px; color: var(--color-accent-ink); }
.bhd-public .bhd-route-departure { font-size: 12px; line-height: 1.7; }
.bhd-public .bhd-route-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px; font-size: 17px; font-weight: 700; line-height: 1.5; margin-top: auto; padding-top: 16px; border-top: 1px solid hsl(var(--border)); }
.bhd-public .bhd-route-price small, .bhd-public .bhd-route-price > span.text-xs { display: block; font-size: 11px; font-weight: 400; color: hsl(var(--muted-foreground)); }
.bhd-public .bhd-route-price > .bhd-route-arrow { display: inline-flex; align-items: center; justify-content: center; margin-left: auto; align-self: center; width: 34px; height: 34px; border-radius: 50%; background: hsl(var(--surface-muted)); color: var(--color-accent-ink); }
.bhd-public .bhd-route-card-placeholder { display: flex; align-items: center; justify-content: center; height: 100%; background: hsl(var(--surface-muted)); color: var(--color-accent-ink); }
.bhd-public .bhd-route-card-facts { display: grid; gap: 6px; }
.bhd-public .bhd-route-card-facts div { display: flex; justify-content: space-between; gap: 12px; font-size: 12px; }
.bhd-public .bhd-route-card-facts dt { color: hsl(var(--muted-foreground)); }
.bhd-public .bhd-route-card-facts dd { text-align: right; font-weight: 600; }
.bhd-grid-empty { padding: 56px 24px; border: 1px dashed hsl(var(--border)); border-radius: 12px; text-align: center; background: hsl(var(--surface)); }
.bhd-grid-empty svg { margin: 0 auto 20px; color: var(--color-accent-ink); }
.bhd-grid-empty h3 { font-family: var(--font-display); text-transform: uppercase; font-size: 26px; font-weight: 700; }
.bhd-grid-empty p { margin-top: 8px; font-size: 14px; color: hsl(var(--muted-foreground)); }
.bhd-catalogue-actions { display: flex; justify-content: center; margin-top: 36px; }

/* Home catalogue: a departure board. Rows are tabular and hairline-separated,
   so the home list cannot be mistaken for the photo-card grid on /routes. */
.bhd-public .bhd-route-list { border-top: 3px solid hsl(var(--foreground)); }
.bhd-public .bhd-route-list > article { border-bottom: 1px solid hsl(var(--border)); }
.bhd-public .bhd-route-row { display: grid; grid-template-columns: 72px 140px minmax(0, 1fr) 152px 180px 48px; align-items: center; gap: 24px; padding: 22px 12px; color: inherit; transition: background-color var(--dur-fast) var(--ease-out); }
.bhd-public .bhd-route-row:hover { background: hsl(var(--surface)); }
.bhd-public .bhd-route-row:focus-visible { outline: 3px solid var(--color-focus); outline-offset: -2px; }
.bhd-public .bhd-route-row-num { font-family: var(--font-display); font-size: clamp(23px, 1.9vw, 30px); font-weight: 800; line-height: .9; letter-spacing: .02em; color: hsl(var(--muted-foreground)); font-variant-numeric: tabular-nums; }
.bhd-public .bhd-route-row:hover .bhd-route-row-num { color: var(--bhd-orange-deep); }
.bhd-public .bhd-route-row-thumb { display: block; width: 140px; height: 96px; overflow: hidden; border-radius: 8px; background: hsl(var(--surface-muted)); }
.bhd-public .bhd-route-row-thumb img { width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; transition: transform var(--dur-base) var(--ease-out); }
.bhd-public .bhd-route-row:hover .bhd-route-row-thumb img { transform: scale(1.05); }
.bhd-public .bhd-route-row-thumb-empty { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; color: var(--color-accent-ink); }
.bhd-public .bhd-route-row-body { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.bhd-public .bhd-route-row-title { display: flex; align-items: center; gap: 8px; min-width: 0; }
.bhd-public .bhd-route-row-title h3 { min-width: 0; font-family: var(--font-display); font-size: clamp(23px, 2.2vw, 34px); font-weight: 700; line-height: 1.02; letter-spacing: .005em; text-transform: uppercase; overflow-wrap: anywhere; }
.bhd-public .bhd-route-row-title svg { flex: 0 0 auto; color: var(--bhd-orange); }
.bhd-public .bhd-route-row-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; font-size: 12.5px; color: hsl(var(--muted-foreground)); }
.bhd-public .bhd-route-row-meta .bhd-difficulty { padding: 3px 7px; border-radius: 4px; font-size: 10px; font-weight: 700; }
.bhd-public .bhd-route-row-when, .bhd-public .bhd-route-row-price { display: flex; flex-direction: column; gap: 3px; min-width: 0; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.bhd-public .bhd-route-row-label { font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: hsl(var(--muted-foreground)); }
.bhd-public .bhd-route-row-when strong { font-size: 17px; font-weight: 700; line-height: 1.25; color: hsl(var(--foreground)); }
.bhd-public .bhd-route-row-seats { font-size: 11px; font-weight: 600; color: hsl(var(--muted-foreground)); }
.bhd-public .bhd-route-row-price strong { font-family: var(--font-display); font-size: clamp(20px, 1.7vw, 27px); font-weight: 800; line-height: 1.05; color: hsl(var(--foreground)); }
.bhd-public .bhd-route-row-unit { font-size: 11px; color: hsl(var(--muted-foreground)); }
.bhd-public .bhd-route-row-go { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 1px solid hsl(var(--border)); border-radius: 50%; color: hsl(var(--foreground)); transition: background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out); }
.bhd-public .bhd-route-row:hover .bhd-route-row-go { background: var(--bhd-orange-deep); border-color: var(--bhd-orange-deep); color: var(--bhd-white); }
.bhd-skeleton { display: block; border-radius: 4px; background: hsl(var(--surface-muted)); }
.bhd-skeleton-lg { height: 22px; width: 68%; }
.bhd-skeleton-md { height: 18px; width: 90px; }
.bhd-skeleton-sm { height: 12px; width: 52%; }

/* The process reads as a trail rather than four identical cards: numbered
   stations sit on a dashed route line and each station's copy steps down
   beneath it like an elevation profile. Scoped to .bhd-how-grid because the
   About page reuses .bhd-how-step for its own values block. */
.bhd-public .bhd-how { padding-block: clamp(48px, 6vw, 88px); background: hsl(var(--surface-elevated)); border-block: 1px solid hsl(var(--border)); }
.bhd-public .bhd-how-intro { max-width: 62ch; margin-top: 14px; line-height: 1.8; }
.bhd-public .bhd-how-step { position: relative; padding: 0; border: 0; border-radius: 0; background: none; }
.bhd-public .bhd-how-step h3 { font-family: var(--font-display); text-transform: uppercase; font-size: 23px; line-height: 1.18; margin-bottom: 12px; }
.bhd-public .bhd-how-step p { font-size: 13px; line-height: 1.8; text-wrap: pretty; }
.bhd-public .bhd-how-grid { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; margin-top: 56px; padding: 0; list-style: none; }
.bhd-public .bhd-how-grid::before { content: ''; position: absolute; top: 26px; left: 0; right: 0; border-top: 2px dashed hsl(var(--border)); }
.bhd-public .bhd-how-grid > .bhd-how-step { display: flex; flex-direction: column; padding-top: 68px; }
.bhd-public .bhd-how-grid > .bhd-how-step:nth-child(2) { padding-top: 100px; }
.bhd-public .bhd-how-grid > .bhd-how-step:nth-child(3) { padding-top: 132px; }
.bhd-public .bhd-how-grid > .bhd-how-step:nth-child(4) { padding-top: 164px; }
.bhd-public .bhd-how-grid > .bhd-how-step::after { content: ''; position: absolute; top: 52px; left: 25px; width: 0; height: 16px; border-left: 2px dashed hsl(var(--border)); }
.bhd-public .bhd-how-grid > .bhd-how-step:nth-child(2)::after { height: 48px; }
.bhd-public .bhd-how-grid > .bhd-how-step:nth-child(3)::after { height: 80px; }
.bhd-public .bhd-how-grid > .bhd-how-step:nth-child(4)::after { height: 112px; }
.bhd-public .bhd-how-grid .bhd-how-index { position: absolute; top: 0; left: 0; display: inline-flex; align-items: center; justify-content: center; width: 52px; height: 52px; margin: 0; border: 2px solid var(--color-accent-ink); border-radius: 50%; background: hsl(var(--surface-elevated)); color: var(--color-accent-ink); font-family: var(--font-display); font-size: 26px; font-weight: 800; line-height: 1; font-variant-numeric: tabular-nums; }
.bhd-public .bhd-how-grid .bhd-how-step h3 { margin: 0 0 10px; padding-top: 16px; border-top: 3px solid var(--color-accent-ink); font-size: clamp(20px, 1.7vw, 25px); }
.bhd-public .bhd-how-grid .bhd-how-step p { max-width: 34ch; }

/* Route calendar: sky marks an available day, orange marks the chosen day. */
.bhd-public .bhd-routes-hero { padding-block: clamp(40px, 5vw, 72px); background: var(--bhd-blue); }
.bhd-public .bhd-routes-hero-inner { gap: 56px; align-items: center; }
.bhd-public .bhd-routes-hero h1 { max-width: 19ch; font-size: clamp(34px, 4.1vw, 57px); }
.bhd-public .bhd-hero-eyebrow { font-size: 11px; text-transform: uppercase; letter-spacing: .1em; font-weight: 600; padding: 7px 10px; border-radius: 4px; }
.bhd-public .bhd-nearest { padding: 24px; border-radius: 12px; border-top: 4px solid var(--bhd-orange); box-shadow: none; }
.bhd-public .bhd-nearest-title { font-family: var(--font-display); font-size: 21px; text-transform: uppercase; }
.bhd-public .bhd-nearest a { padding-block: 14px; }
.bhd-public .bhd-week { background: hsl(var(--surface-elevated)); border-bottom: 1px solid hsl(var(--border)); padding-block: 48px 24px; }
.bhd-public .bhd-week-head h2 { font-size: 32px; color: hsl(var(--foreground)); }
.bhd-public .bhd-month-nav button { width: 44px; height: 44px; border-radius: 8px; }
.bhd-public .bhd-month-nav button:hover { border-color: var(--color-accent-ink); }
.bhd-public .bhd-week-body { gap: 32px; }
.bhd-public .bhd-cal-cell { min-height: 74px; border-radius: 8px; box-shadow: none; transition: background-color var(--dur-fast), border-color var(--dur-fast); }
.bhd-public .bhd-cal-cell:not(:disabled) { background: color-mix(in srgb, var(--bhd-sky) 12%, hsl(var(--surface))); }
.bhd-public .bhd-cal-cell:not(:disabled):hover { transform: none; border-color: var(--color-accent-ink); box-shadow: none; }
.bhd-public .bhd-cal-cell.is-active { background: var(--bhd-orange-deep); border-color: var(--bhd-orange-deep); box-shadow: none; }
.bhd-public .bhd-cal-cell.is-active :is(.bhd-cal-day, .bhd-cal-count) { color: var(--bhd-white); }
.bhd-public .bhd-cal-count { color: var(--color-accent-ink); }
.bhd-public .bhd-day-summary { align-content: start; padding: 24px; border-radius: 12px; border-top: 4px solid var(--bhd-blue); }
.bhd-public .bhd-day-summary-date { font-family: var(--font-display); font-size: 24px; line-height: 1.2; }
.bhd-public .bhd-day-summary-count { font-size: 13px; margin-block: 6px 10px; }
.bhd-public .bhd-week-legend { flex-wrap: wrap; }
.bhd-public .bhd-week-legend .dot { background: var(--bhd-blue); }
.bhd-public .bhd-week-legend .square { background: var(--bhd-orange-deep); }
.bhd-public .bhd-group { border-top: 1px solid hsl(var(--border)); padding-top: 28px; }
.bhd-public .bhd-group + .bhd-group { margin-top: 48px; }
.bhd-public .bhd-group-title { font-size: 27px; color: hsl(var(--foreground)); }

/* Detail reads like a route guide, with a clearly separate booking desk. */
.bhd-public .bhd-detail-head { padding-top: 32px; border-bottom: 1px solid hsl(var(--border)); }
.bhd-public .bhd-detail-titlebar { margin-block: 24px 32px; }
.bhd-public .bhd-detail-titlebar h1 { font-size: clamp(32px, 3.9vw, 54px); }
.bhd-public .bhd-title-badge { font-family: var(--font-body); font-size: 11px; line-height: 1.5; letter-spacing: 0; background: var(--bhd-sky-soft); color: var(--bhd-navy); border: 0; }
.bhd-public .bhd-gallery { gap: 12px; }
.bhd-public .bhd-gallery-main, .bhd-public .bhd-gallery-side img { border-radius: 12px; }
.bhd-public .bhd-gallery-side { gap: 12px; }
.bhd-public .bhd-facts { gap: 0; border-block: 1px solid hsl(var(--border)); margin-block: 32px; }
.bhd-public .bhd-facts li { border: 0; border-right: 1px solid hsl(var(--border)); border-radius: 0; padding: 24px 16px; background: transparent; font-size: 13px; }
.bhd-public .bhd-facts li:last-child { border-right: 0; }
.bhd-public .bhd-detail-body { padding-block: 48px 88px; }
.bhd-public .bhd-detail-body .card, .bhd-public .bhd-detail-body .bhd-faq { border: 0; border-top: 1px solid hsl(var(--border)); border-radius: 0; background: transparent; padding: 24px 0 0; box-shadow: none; }
.bhd-public .bhd-detail-body .heading-3 { font-family: var(--font-display); text-transform: uppercase; font-size: 26px; font-weight: 700; line-height: 1.18; }
.bhd-public .bhd-faq-title { font-family: var(--font-display); font-size: 26px; text-transform: uppercase; }
.bhd-public .bhd-policy-card { border: 0; border-left: 3px solid var(--bhd-sky); border-radius: 0; background: hsl(var(--surface-elevated)); padding: 24px; }
.bhd-public .bhd-book-card { border: 1px solid hsl(var(--border)); border-top: 5px solid var(--bhd-orange-deep); border-radius: 12px; padding: 28px; box-shadow: var(--shadow-card); }
.bhd-public .bhd-book-price { font-family: var(--font-display); font-size: 38px; font-weight: 700; line-height: 1.15; margin-bottom: 24px; }
.bhd-public .bhd-book-price span { font-family: var(--font-body); font-size: 12px; }
.bhd-public .bhd-book-call { border-radius: 8px; font-size: 12px; }
.bhd-public .bhd-book-call:hover { border-color: var(--color-accent-ink); }
.bhd-public .bhd-departures { border-radius: 12px; padding: 24px; }
.bhd-public .bhd-departures h2 { font-family: var(--font-display); text-transform: uppercase; font-size: 22px; }
.bhd-public .bhd-related .bhd-route-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.bhd-public .bhd-eyebrow-label { letter-spacing: .1em; }
.bhd-public .bhd-newsletter { border-radius: 12px; background: var(--bhd-blue) url('/brand/contours.svg') center / cover; color: var(--bhd-white); padding: 36px; }
.bhd-public .bhd-newsletter-copy h2 { color: var(--bhd-white); font-size: 32px; }
.bhd-public .bhd-newsletter-copy p { font-size: 14px; line-height: 1.75; }
.bhd-public .bhd-newsletter-form label, .bhd-public .bhd-newsletter-feedback.is-success { color: var(--bhd-white); }
.bhd-public .bhd-newsletter-field input { border-color: transparent; border-radius: 8px; }
.bhd-public .bhd-newsletter-spinner { border-color: rgb(255 255 255 / 35%); border-top-color: var(--bhd-white); }

/* Editorial and policy pages use long-form proportions, not the tour grid. */
.bhd-public .bhd-page-hero { background: var(--bhd-blue) url('/brand/contours.svg') center / cover; color: var(--bhd-white); padding-block: clamp(48px, 6vw, 88px); }
.bhd-public .bhd-page-hero h1 { max-width: 22ch; font-size: clamp(35px, 4.5vw, 64px); }
.bhd-public .bhd-page-hero .bhd-hero-eyebrow + h1 { margin-top: 20px; }
.bhd-public .bhd-page-hero p { max-width: 62ch; }
.bhd-public .bhd-public-list { border-top: 1px solid hsl(var(--border)); }
.bhd-public .bhd-public-list > li { display: grid; grid-template-columns: minmax(140px, 240px) minmax(0, 1fr); gap: 8px 40px; padding-block: 24px; border-bottom: 1px solid hsl(var(--border)); }
.bhd-public .bhd-public-list h3 { font-family: var(--font-display); text-transform: uppercase; font-size: 23px; font-weight: 700; line-height: 1.18; }
.bhd-public .bhd-public-list p { font-size: 15px; line-height: 1.8; color: hsl(var(--muted-foreground)); overflow-wrap: anywhere; }
.bhd-public .bhd-public-list-plain > li { grid-template-columns: minmax(0, 1fr); }
.bhd-public .bhd-public-list-plain > li p { color: hsl(var(--foreground)); }
.bhd-public .bhd-public-cta { border: 1px solid hsl(var(--border)); border-top: 4px solid var(--bhd-orange); border-radius: 12px; padding: 28px; background: hsl(var(--surface)); }
.bhd-public .bhd-public-contact { display: grid; border-top: 1px solid hsl(var(--border)); }
.bhd-public .bhd-public-contact > div { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px 24px; padding: 20px 0; border-bottom: 1px solid hsl(var(--border)); font-size: 14px; }
.bhd-public .bhd-public-contact dt { color: hsl(var(--muted-foreground)); }
.bhd-public .bhd-public-contact dd, .bhd-public .bhd-public-contact dd a { font-weight: 600; overflow-wrap: anywhere; }
.bhd-public .bhd-public-contact dd a { text-decoration: underline; text-underline-offset: 4px; }
.bhd-public .bhd-policy-article { border: 0; border-top: 4px solid var(--bhd-blue); border-radius: 0; background: transparent; padding-top: 28px; }
.bhd-public .bhd-policy-article .prose { max-width: 74ch; }
.bhd-public .bhd-policy-meta { border-top: 1px solid hsl(var(--border)); margin-top: 40px; padding-top: 20px; }
.bhd-public .bhd-post-head { border-bottom: 1px solid hsl(var(--border)); padding-block: 32px; }
.bhd-public .bhd-post-title { max-width: 24ch; font-size: clamp(34px, 3.7vw, 54px); }
.bhd-public .bhd-post-lead { font-size: 18px; line-height: 1.8; }
.bhd-public .bhd-post-card { border-radius: 12px; box-shadow: none; border-top: 3px solid var(--bhd-blue); }
.bhd-public .bhd-post-related { border-top: 1px solid hsl(var(--border)); }
.bhd-public .bhd-post-teaser-media { border-radius: 10px; }
.bhd-public .bhd-post-teaser-title { font-family: var(--font-display); font-size: 24px; font-weight: 700; text-transform: uppercase; line-height: 1.18; }
.bhd-public .bhd-post-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
.bhd-public .bhd-post-index { border-top: 1px solid hsl(var(--border)); }
.bhd-public .bhd-post-index > li { padding-block: 32px; border-bottom: 1px solid hsl(var(--border)); }
.bhd-public .bhd-post-row { display: grid; grid-template-columns: minmax(0, 360px) minmax(0, 1fr); gap: 32px; align-items: start; }
.bhd-public .bhd-post-row .bhd-post-teaser-media { aspect-ratio: 3 / 2; }
.bhd-public .bhd-post-row-body { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; }
.bhd-public .bhd-post-row-body .bhd-post-read { padding-top: 24px; }

/* Public booking introduction; transactional forms remain in booking-journey.css. */
.bhd-public .bhd-booking-head { background: hsl(var(--surface)); color: hsl(var(--foreground)); }
.bhd-public .bhd-booking-media { height: clamp(220px, 32vw, 440px); overflow: hidden; background: hsl(var(--surface-muted)); }
.bhd-public .bhd-booking-media img { width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; }
.bhd-public .bhd-booking-head-inner { padding-block: 32px 40px; }
.bhd-public .bhd-booking-head h1 { font-size: clamp(32px, 4vw, 54px); }
.bhd-public .bhd-booking-head p { margin-top: 16px; max-width: 64ch; }
.bhd-public .bhd-booking-back { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; margin-bottom: 12px; font-size: 13px; font-weight: 600; }
.bhd-public .bhd-booking-facts { display: flex; flex-wrap: wrap; gap: 12px 24px; margin-top: 24px; font-size: 13px; }
.bhd-public .bhd-booking-facts > * { display: inline-flex; align-items: center; gap: 8px; }
.bhd-public .bhd-booking-facts .bhd-booking-price { font-size: 22px; font-weight: 700; }
.bhd-public .bhd-booking-thumbs { display: flex; gap: 8px; margin-top: 20px; overflow-x: auto; padding-bottom: 4px; }
.bhd-public .bhd-booking-thumbs button { flex: none; width: 64px; height: 64px; border: 3px solid hsl(var(--border)); border-radius: 8px; overflow: hidden; }
.bhd-public .bhd-booking-thumbs button[aria-pressed='true'] { border-color: var(--bhd-orange); }
.bhd-public .bhd-booking-thumbs img { width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; }
.bhd-public .bhd-booking-content { padding-block: clamp(32px, 5vw, 64px); }
.bhd-public .bhd-booking-content .card { border: 0; border-top: 1px solid hsl(var(--border)); border-radius: 0; background: transparent; padding: 24px 0 0; box-shadow: none; }
.bhd-public .bhd-booking-content h2 { letter-spacing: 0; }
.bhd-public .bhd-booking-section { border-top: 1px solid hsl(var(--border)); padding-top: 24px; }
.bhd-public .bhd-booking-sidebar { position: sticky; top: calc(var(--header-height) + 24px); }
.bhd-public .bhd-booking-trip { border: 1px solid hsl(var(--border)); border-radius: 10px; padding: 18px; }
.bhd-public .bhd-booking-trip:hover { border-color: var(--color-accent-ink); box-shadow: none; }
.bhd-public .bhd-booking-gallery img { border-radius: 10px; }

/* The real departure poster stays legible inside an operator-style blue frame. */
.bhd-public .bhd-schedule { padding-block: clamp(48px, 6vw, 88px); background: var(--bhd-navy) url('/brand/contours.svg') center / cover; color: var(--bhd-white); }
.bhd-public .bhd-schedule-heading { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 16px 32px; margin-bottom: 32px; }
.bhd-public .bhd-schedule-heading h2 { color: var(--bhd-white); }
.bhd-public .bhd-schedule-heading p { grid-column: 1 / -1; max-width: 62ch; font-size: 14px; color: rgb(255 255 255 / 80%); }
.bhd-public .bhd-schedule-viewer { position: relative; }
.bhd-public .bhd-schedule-frame { overflow: hidden; border: 1px solid rgb(255 255 255 / 24%); border-radius: 12px; background: var(--bhd-white); }
.bhd-public .bhd-schedule-frame img, .bhd-public .bhd-schedule-lightbox img { border-radius: 0; }
.bhd-public .bhd-schedule-actions { position: absolute; top: 12px; right: 12px; z-index: 20; display: flex; align-items: center; gap: 8px; }
.bhd-public .bhd-schedule-counter { display: inline-flex; align-items: center; gap: 6px; padding: 8px 12px; border-radius: 8px; background: var(--bhd-navy); color: var(--bhd-white); font-size: 12px; font-weight: 600; }
.bhd-public .bhd-schedule-control { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 8px; border: 1px solid rgb(255 255 255 / 40%); background: var(--bhd-navy); color: var(--bhd-white); transition: background-color var(--dur-fast); }
.bhd-public .bhd-schedule-control:hover { background: var(--bhd-blue); }
.bhd-public .bhd-schedule-prev, .bhd-public .bhd-schedule-next { position: absolute; top: 50%; z-index: 30; transform: translateY(-50%); }
.bhd-public .bhd-schedule-prev { left: 12px; }
.bhd-public .bhd-schedule-next { right: 12px; }
.bhd-public .bhd-schedule-pagination { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; margin-top: 20px; }
.bhd-public .bhd-schedule-pagination .text-muted-foreground { color: rgb(255 255 255 / 80%); }

@media (max-width: 1279px) {
  .bhd-public .bhd-route-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .bhd-public .bhd-filter-heading { grid-template-columns: minmax(0, 1fr); }
  .bhd-public .bhd-filters { justify-content: flex-start; }
  .bhd-public .bhd-hero-content { padding-left: 32px; padding-right: 28px; }
  .bhd-public .bhd-route-row { grid-template-columns: 60px 128px minmax(0, 1fr) 132px 156px 44px; gap: 18px; }
  .bhd-public .bhd-route-row-thumb { width: 128px; height: 88px; }
}
@media (max-width: 1023px) {
  .bhd-public .bhd-container { width: calc(100% - 48px); }
  .bhd-public .bhd-hero { grid-template-columns: minmax(0, 1fr) minmax(228px, 272px); }
  .bhd-public .bhd-hero-content { padding: 32px 22px 40px; }
  .bhd-public .bhd-hero h1 { font-size: clamp(30px, 5vw, 52px); }
  .bhd-public .bhd-route-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bhd-public .bhd-route-row { grid-template-columns: 52px 116px minmax(0, 1fr) 44px; grid-template-areas: 'num thumb body go' '. thumb when when' '. thumb price price'; align-items: start; gap: 12px 18px; padding: 18px 8px; }
  .bhd-public .bhd-route-row-num { grid-area: num; }
  .bhd-public .bhd-route-row-thumb { grid-area: thumb; align-self: start; width: 116px; height: 80px; }
  .bhd-public .bhd-route-row-body { grid-area: body; }
  .bhd-public .bhd-route-row-price { grid-area: price; }
  .bhd-public .bhd-route-row-go { grid-area: go; }
  .bhd-public .bhd-route-row-when { grid-area: when; flex-direction: row; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; }
  .bhd-public .bhd-how-grid { grid-template-columns: minmax(0, 1fr); gap: 36px; margin-top: 40px; }
  .bhd-public .bhd-how-grid::before { top: 26px; bottom: 0; left: 26px; right: auto; border-top: 0; border-left: 2px dashed hsl(var(--border)); }
  .bhd-public .bhd-how-grid > .bhd-how-step { padding-top: 0; padding-left: 76px; }
  .bhd-public .bhd-how-grid > .bhd-how-step:is(:nth-child(1), :nth-child(2), :nth-child(3), :nth-child(4)) { padding-top: 0; }
  .bhd-public .bhd-how-grid > .bhd-how-step:is(:nth-child(1), :nth-child(2), :nth-child(3), :nth-child(4))::after { top: 25px; left: 52px; width: 16px; height: 0; border-left: 0; border-top: 2px dashed hsl(var(--border)); }
  .bhd-public .bhd-how-grid .bhd-how-step p { max-width: 58ch; }
  .bhd-public .bhd-routes-hero-inner { gap: 32px; }
  .bhd-public .bhd-post-row { grid-template-columns: minmax(0, 240px) minmax(0, 1fr); gap: 24px; }
  .bhd-public .bhd-booking-sidebar { position: static; }
  .bhd-public .bhd-detail-body { padding-bottom: 64px; }
}
@media (max-width: 767px) {
  .bhd-public .bhd-container { width: calc(100% - 32px); }
  .bhd-public .bhd-hero { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto auto; align-content: end; min-height: calc(100svh - var(--header-height)); }
  .bhd-public .bhd-hero-content { padding: 24px 16px 28px; }
  .bhd-public .bhd-hero h1 { font-size: clamp(30px, 8.4vw, 39px); max-width: min(15ch, 100%); }
  .bhd-public .bhd-hero-kicker { margin-bottom: 10px; }
  .bhd-public .bhd-hero-description { display: -webkit-box; margin-top: 12px; font-size: 14px; line-height: 1.6; overflow: hidden; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
  .bhd-public .bhd-hero-facts { gap: 6px; margin-top: 16px; }
  .bhd-public .bhd-hero-price { font-size: 26px; margin-top: 14px; }
  .bhd-public .bhd-hero-actions { width: 100%; gap: 8px; margin-top: 14px; }
  .bhd-public .bhd-hero-actions .bhd-button { flex: 1 1 116px; min-height: 46px; padding-inline: 14px; font-size: 13px; }
  .bhd-public .bhd-hero-index { flex-direction: row; justify-content: flex-start; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x proximity; overscroll-behavior-x: contain; scrollbar-width: none; border-left: 0; border-top: 1px solid rgb(255 255 255 / 16%); }
  .bhd-public .bhd-hero-index::-webkit-scrollbar { display: none; }
  .bhd-public .bhd-hero-index li { flex: 0 0 clamp(184px, 58vw, 248px); border-top: 0; border-right: 1px solid rgb(255 255 255 / 12%); scroll-snap-align: start; }
  .bhd-public .bhd-hero-index button { grid-template-columns: 28px minmax(0, 1fr); grid-template-areas: 'num name' 'num date'; -moz-column-gap: 10px; column-gap: 10px; row-gap: 2px; min-height: 68px; padding: 10px 12px; border-left: 0; border-bottom: 3px solid transparent; }
  .bhd-public .bhd-hero-index-num { grid-area: num; align-self: center; font-size: 19px; }
  .bhd-public .bhd-hero-index-name { grid-area: name; font-size: 16px; -webkit-line-clamp: 2; white-space: normal; overflow-wrap: anywhere; }
  .bhd-public .bhd-hero-index-date { grid-area: date; }
  .bhd-public .bhd-hero-index button.is-active { border-left: 0; border-bottom-color: var(--bhd-orange); }
  .bhd-public .bhd-hero-empty .bhd-hero-content { padding: 56px 24px; }
  .bhd-public .bhd-hero.animate-pulse { min-height: 520px; }
  .bhd-public .bhd-filter-chips { flex-wrap: wrap; }
  .bhd-public .bhd-route-row { grid-template-columns: 72px minmax(0, 1fr); grid-template-areas: 'thumb body' 'when when' 'price price'; align-items: start; gap: 14px; padding: 20px 0; }
  .bhd-public .bhd-route-row-num { display: none; }
  .bhd-public .bhd-route-row-thumb { grid-area: thumb; align-self: start; width: 72px; height: 72px; }
  .bhd-public .bhd-route-row-body { grid-area: body; }
  .bhd-public .bhd-route-row-when { grid-area: when; flex-direction: row; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; }
  .bhd-public .bhd-route-row-price { grid-area: price; flex-direction: row; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; }
  .bhd-public .bhd-route-row-go { display: none; }
  .bhd-public .bhd-route-row-title h3 { font-size: clamp(19px, 6vw, 24px); }
  .bhd-public .bhd-filters, .bhd-public .bhd-filters .bhd-search-form { width: 100%; }
  .bhd-public .bhd-route-grid { gap: 20px 16px; }
  .bhd-public .bhd-route-card-body { padding: 16px; }
  .bhd-public .bhd-route-card h3 { font-size: 22px; }
  .bhd-public .bhd-route-price { font-size: 16px; }
  .bhd-public .bhd-how-grid { gap: 28px; }
  .bhd-public .bhd-how-grid .bhd-how-step h3 { font-size: 21px; }
  .bhd-public .bhd-routes-hero h1 { font-size: clamp(28px, 7.6vw, 34px); }
  .bhd-public .bhd-nearest { padding: 20px; }
  .bhd-public .bhd-week-head h2 { font-size: 27px; }
  .bhd-public .bhd-cal-cell { min-height: 56px; padding: 5px 2px; }
  .bhd-public .bhd-day-summary { padding: 20px; }
  .bhd-public .bhd-detail-titlebar h1 { font-size: clamp(28px, 7.6vw, 33px); }
  .bhd-public .bhd-facts li { padding: 18px 12px; font-size: 12px; border-bottom: 1px solid hsl(var(--border)); }
  .bhd-public .bhd-facts li:nth-child(even) { border-right: 0; }
  .bhd-public .bhd-book-card, .bhd-public .bhd-departures { padding: 20px; }
  .bhd-public .bhd-newsletter { padding: 28px 22px; }
  .bhd-public .bhd-newsletter-copy h2 { font-size: 28px; }
  .bhd-public .bhd-public-list > li { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .bhd-public .bhd-post-row, .bhd-public .bhd-post-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .bhd-public .bhd-post-title { font-size: clamp(28px, 7.4vw, 32px); }
  .bhd-public .bhd-schedule-heading { grid-template-columns: minmax(0, 1fr); }
  .bhd-public .bhd-schedule-actions { top: 8px; right: 8px; gap: 4px; }
  .bhd-public .bhd-schedule-prev { left: 8px; }
  .bhd-public .bhd-schedule-next { right: 8px; }
}
@media (max-width: 559px) {
  .bhd-public .bhd-route-grid, .bhd-public .bhd-related .bhd-route-grid { grid-template-columns: minmax(0, 1fr); }
  .bhd-public .bhd-route-card-media { aspect-ratio: 16 / 10; }
  .bhd-public .bhd-hero-content { padding: 20px 16px 24px; }
  .bhd-public .bhd-hero-description { -webkit-line-clamp: 2; }
  .bhd-public .bhd-hero-facts > span { padding: 5px 8px; font-size: 11px; }
  .bhd-public .bhd-hero-price { font-size: 26px; margin-top: 12px; }
  .bhd-public .bhd-hero-actions { gap: 8px; }
  .bhd-public .bhd-hero-actions .bhd-button { flex: 1 1 132px; min-width: 0; min-height: 46px; padding-inline: 12px; font-size: 13px; }
  .bhd-public .bhd-hero-index li { flex-basis: clamp(168px, 62vw, 232px); }
  .bhd-public .bhd-public-contact > div { flex-direction: column; align-items: flex-start; }
  .bhd-public .bhd-newsletter { padding: 24px 18px; }
  .bhd-public .bhd-newsletter-field { flex-wrap: wrap; }
  .bhd-public .bhd-newsletter-field .bhd-button { width: 100%; }
  .bhd-public .bhd-post-related { padding-block: 48px 64px; }
  .bhd-public .bhd-how-grid { gap: 24px; }
  .bhd-public .bhd-book-card, .bhd-public .bhd-departures { padding: 18px; }
  .bhd-public .bhd-cal-count { background: var(--color-accent-ink); }
  .bhd-public .bhd-cal-cell.is-active .bhd-cal-count { background: var(--bhd-white); }
}

/* Short landscape viewports: drop the forced hero height so the copy, price and
   index grow the page and scroll instead of being squeezed into the frame. */
@media (max-height: 560px) and (orientation: landscape) {
  .bhd-public .bhd-hero { min-height: 0; }
  .bhd-public .bhd-hero.animate-pulse { min-height: 320px; }
  .bhd-public .bhd-hero-content { padding-block: 22px 26px; }
  .bhd-public .bhd-hero-description { display: block; overflow: visible; }
  .bhd-public .bhd-hero-index button { min-height: 64px; }
}
@media (prefers-reduced-motion: reduce) {
  .bhd-public *, .bhd-public *::before, .bhd-public *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .bhd-public .bhd-route-card:hover .bhd-route-card-media img, .bhd-public .bhd-route-row:hover .bhd-route-row-thumb img { transform: none; }
}

/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[2].use[1]!./node_modules/next/dist/build/webpack/loaders/next-font-loader/index.js??ruleSet[1].rules[15].oneOf[2].use[2]!./node_modules/next/font/google/target.css?{"path":"app/layout.tsx","import":"Barlow_Condensed","arguments":[{"subsets":["latin","vietnamese"],"weight":["700","800"],"variable":"--font-barlow","display":"swap"}],"variableName":"barlow"} ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* vietnamese */
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/8599be8653318abe-s.p.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/3352fdb488e19d84-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/437e5f23c97e320c-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/_next/static/media/bd4099f982a70777-s.p.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/_next/static/media/adc67d25e358ad72-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/_next/static/media/79f0f365efbf4f90-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}@font-face {font-family: 'Barlow Condensed Fallback';src: local("Arial");ascent-override: 130.73%;descent-override: 26.15%;line-gap-override: 0.00%;size-adjust: 76.49%
}.__className_4d76a8 {font-family: 'Barlow Condensed', 'Barlow Condensed Fallback';font-style: normal
}.__variable_4d76a8 {--font-barlow: 'Barlow Condensed', 'Barlow Condensed Fallback'
}

/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[2].use[1]!./node_modules/next/dist/build/webpack/loaders/next-font-loader/index.js??ruleSet[1].rules[15].oneOf[2].use[2]!./node_modules/next/font/google/target.css?{"path":"app/layout.tsx","import":"Be_Vietnam_Pro","arguments":[{"subsets":["latin","vietnamese"],"weight":["400","500","600","700"],"variable":"--font-bvp","display":"swap"}],"variableName":"beVietnamPro"} ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* vietnamese */
@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/cd79e1ff94fa521b-s.p.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/89362aa296165c6d-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/e11f95d95ac59fa4-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/00f4982f357db61e-s.p.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/62a3c74fa0e47362-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/8201559e247ad180-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/2173e4bb28c315da-s.p.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/c6f81e539d11fc99-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/25ab8995c98996d7-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/9ddf1512dbee9c99-s.p.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/8247d8d2a376ae43-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/e270c9fc4fe96f5a-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}@font-face {font-family: 'Be Vietnam Pro Fallback';src: local("Arial");ascent-override: 90.61%;descent-override: 24.01%;line-gap-override: 0.00%;size-adjust: 110.36%
}.__className_021202 {font-family: 'Be Vietnam Pro', 'Be Vietnam Pro Fallback';font-style: normal
}.__variable_021202 {--font-bvp: 'Be Vietnam Pro', 'Be Vietnam Pro Fallback'
}

