*, ::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.18 | 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: Inter, 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;
}
.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;
  }
}
.pointer-events-none {
  pointer-events: none;
}
.visible {
  visibility: visible;
}
.static {
  position: static;
}
.fixed {
  position: fixed;
}
.absolute {
  position: absolute;
}
.relative {
  position: relative;
}
.sticky {
  position: sticky;
}
.-inset-4 {
  inset: -1rem;
}
.inset-0 {
  inset: 0px;
}
.inset-x-0 {
  left: 0px;
  right: 0px;
}
.-bottom-1 {
  bottom: -0.25rem;
}
.-right-1 {
  right: -0.25rem;
}
.-right-\[5\%\] {
  right: -5%;
}
.-top-1 {
  top: -0.25rem;
}
.-top-3 {
  top: -0.75rem;
}
.-top-6 {
  top: -1.5rem;
}
.bottom-0 {
  bottom: 0px;
}
.bottom-2 {
  bottom: 0.5rem;
}
.bottom-3 {
  bottom: 0.75rem;
}
.bottom-4 {
  bottom: 1rem;
}
.bottom-6 {
  bottom: 1.5rem;
}
.bottom-\[12\%\] {
  bottom: 12%;
}
.bottom-\[20\%\] {
  bottom: 20%;
}
.bottom-full {
  bottom: 100%;
}
.left-0 {
  left: 0px;
}
.left-1\/2 {
  left: 50%;
}
.left-3 {
  left: 0.75rem;
}
.left-4 {
  left: 1rem;
}
.left-6 {
  left: 1.5rem;
}
.left-\[12\%\] {
  left: 12%;
}
.left-\[15\%\] {
  left: 15%;
}
.left-\[18\%\] {
  left: 18%;
}
.left-\[20\%\] {
  left: 20%;
}
.left-\[45\%\] {
  left: 45%;
}
.left-\[70\%\] {
  left: 70%;
}
.left-\[85\%\] {
  left: 85%;
}
.left-\[calc\(12\%\+1\.5rem\)\] {
  left: calc(12% + 1.5rem);
}
.right-0 {
  right: 0px;
}
.right-2 {
  right: 0.5rem;
}
.right-3 {
  right: 0.75rem;
}
.right-4 {
  right: 1rem;
}
.right-6 {
  right: 1.5rem;
}
.right-\[18\%\] {
  right: 18%;
}
.right-\[20\%\] {
  right: 20%;
}
.right-\[calc\(12\%\+1\.5rem\)\] {
  right: calc(12% + 1.5rem);
}
.top-0 {
  top: 0px;
}
.top-1\/2 {
  top: 50%;
}
.top-28 {
  top: 7rem;
}
.top-3 {
  top: 0.75rem;
}
.top-3\.5 {
  top: 0.875rem;
}
.top-4 {
  top: 1rem;
}
.top-6 {
  top: 1.5rem;
}
.top-\[15\%\] {
  top: 15%;
}
.top-\[20\%\] {
  top: 20%;
}
.top-\[28\%\] {
  top: 28%;
}
.top-\[32\%\] {
  top: 32%;
}
.top-\[3rem\] {
  top: 3rem;
}
.top-\[40\%\] {
  top: 40%;
}
.top-\[48\%\] {
  top: 48%;
}
.top-\[58\%\] {
  top: 58%;
}
.top-\[60px\] {
  top: 60px;
}
.top-\[62\%\] {
  top: 62%;
}
.top-full {
  top: 100%;
}
.-z-10 {
  z-index: -10;
}
.z-0 {
  z-index: 0;
}
.z-10 {
  z-index: 10;
}
.z-20 {
  z-index: 20;
}
.z-30 {
  z-index: 30;
}
.z-50 {
  z-index: 50;
}
.z-\[1\] {
  z-index: 1;
}
.order-1 {
  order: 1;
}
.order-2 {
  order: 2;
}
.col-span-1 {
  grid-column: span 1 / span 1;
}
.col-span-2 {
  grid-column: span 2 / span 2;
}
.col-span-full {
  grid-column: 1 / -1;
}
.m-0 {
  margin: 0px;
}
.mx-2 {
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}
.mx-auto {
  margin-left: auto;
  margin-right: auto;
}
.my-10 {
  margin-top: 2.5rem;
  margin-bottom: 2.5rem;
}
.my-12 {
  margin-top: 3rem;
  margin-bottom: 3rem;
}
.my-2 {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
.my-4 {
  margin-top: 1rem;
  margin-bottom: 1rem;
}
.my-6 {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}
.my-8 {
  margin-top: 2rem;
  margin-bottom: 2rem;
}
.-mb-32 {
  margin-bottom: -8rem;
}
.-ml-32 {
  margin-left: -8rem;
}
.-mr-10 {
  margin-right: -2.5rem;
}
.-mr-32 {
  margin-right: -8rem;
}
.-mt-10 {
  margin-top: -2.5rem;
}
.-mt-16 {
  margin-top: -4rem;
}
.-mt-32 {
  margin-top: -8rem;
}
.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-12 {
  margin-bottom: 3rem;
}
.mb-16 {
  margin-bottom: 4rem;
}
.mb-2 {
  margin-bottom: 0.5rem;
}
.mb-20 {
  margin-bottom: 5rem;
}
.mb-24 {
  margin-bottom: 6rem;
}
.mb-3 {
  margin-bottom: 0.75rem;
}
.mb-32 {
  margin-bottom: 8rem;
}
.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-11 {
  margin-left: 2.75rem;
}
.ml-2 {
  margin-left: 0.5rem;
}
.ml-4 {
  margin-left: 1rem;
}
.ml-\[50px\] {
  margin-left: 50px;
}
.ml-auto {
  margin-left: auto;
}
.mr-1 {
  margin-right: 0.25rem;
}
.mr-1\.5 {
  margin-right: 0.375rem;
}
.mr-2 {
  margin-right: 0.5rem;
}
.mt-0\.5 {
  margin-top: 0.125rem;
}
.mt-1 {
  margin-top: 0.25rem;
}
.mt-1\.5 {
  margin-top: 0.375rem;
}
.mt-10 {
  margin-top: 2.5rem;
}
.mt-12 {
  margin-top: 3rem;
}
.mt-16 {
  margin-top: 4rem;
}
.mt-2 {
  margin-top: 0.5rem;
}
.mt-3 {
  margin-top: 0.75rem;
}
.mt-4 {
  margin-top: 1rem;
}
.mt-5 {
  margin-top: 1.25rem;
}
.mt-6 {
  margin-top: 1.5rem;
}
.mt-7 {
  margin-top: 1.75rem;
}
.mt-8 {
  margin-top: 2rem;
}
.mt-auto {
  margin-top: auto;
}
.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 !important;
}
.table {
  display: table;
}
.grid {
  display: grid;
}
.contents {
  display: contents;
}
.hidden {
  display: none;
}
.aspect-\[21\/9\] {
  aspect-ratio: 21/9;
}
.aspect-\[4\/5\] {
  aspect-ratio: 4/5;
}
.aspect-square {
  aspect-ratio: 1 / 1;
}
.aspect-video {
  aspect-ratio: 16 / 9;
}
.h-0\.5 {
  height: 0.125rem;
}
.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-14 {
  height: 3.5rem;
}
.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-48 {
  height: 12rem;
}
.h-5 {
  height: 1.25rem;
}
.h-6 {
  height: 1.5rem;
}
.h-64 {
  height: 16rem;
}
.h-8 {
  height: 2rem;
}
.h-80 {
  height: 20rem;
}
.h-9 {
  height: 2.25rem;
}
.h-\[10px\] {
  height: 10px;
}
.h-\[180px\] {
  height: 180px;
}
.h-\[18px\] {
  height: 18px;
}
.h-\[24px\] {
  height: 24px;
}
.h-\[340px\] {
  height: 340px;
}
.h-\[350px\] {
  height: 350px;
}
.h-\[450px\] {
  height: 450px;
}
.h-\[60\%\] {
  height: 60%;
}
.h-\[600px\] {
  height: 600px;
}
.h-\[85\%\] {
  height: 85%;
}
.h-\[8px\] {
  height: 8px;
}
.h-\[95\%\] {
  height: 95%;
}
.h-auto {
  height: auto;
}
.h-fit {
  height: -moz-fit-content;
  height: fit-content;
}
.h-full {
  height: 100%;
}
.h-px {
  height: 1px;
}
.max-h-0 {
  max-height: 0px;
}
.max-h-12 {
  max-height: 3rem;
}
.max-h-60 {
  max-height: 15rem;
}
.max-h-\[800px\] {
  max-height: 800px;
}
.max-h-full {
  max-height: 100%;
}
.min-h-0 {
  min-height: 0px;
}
.min-h-\[10rem\] {
  min-height: 10rem;
}
.min-h-\[12rem\] {
  min-height: 12rem;
}
.min-h-\[300px\] {
  min-height: 300px;
}
.min-h-\[44px\] {
  min-height: 44px;
}
.min-h-\[500px\] {
  min-height: 500px;
}
.min-h-\[560px\] {
  min-height: 560px;
}
.min-h-\[700px\] {
  min-height: 700px;
}
.w-1 {
  width: 0.25rem;
}
.w-1\.5 {
  width: 0.375rem;
}
.w-1\/2 {
  width: 50%;
}
.w-1\/5 {
  width: 20%;
}
.w-10 {
  width: 2.5rem;
}
.w-11 {
  width: 2.75rem;
}
.w-12 {
  width: 3rem;
}
.w-14 {
  width: 3.5rem;
}
.w-16 {
  width: 4rem;
}
.w-2 {
  width: 0.5rem;
}
.w-2\.5 {
  width: 0.625rem;
}
.w-2\/5 {
  width: 40%;
}
.w-20 {
  width: 5rem;
}
.w-24 {
  width: 6rem;
}
.w-3 {
  width: 0.75rem;
}
.w-3\.5 {
  width: 0.875rem;
}
.w-32 {
  width: 8rem;
}
.w-4 {
  width: 1rem;
}
.w-48 {
  width: 12rem;
}
.w-5 {
  width: 1.25rem;
}
.w-6 {
  width: 1.5rem;
}
.w-64 {
  width: 16rem;
}
.w-8 {
  width: 2rem;
}
.w-80 {
  width: 20rem;
}
.w-9 {
  width: 2.25rem;
}
.w-\[10px\] {
  width: 10px;
}
.w-\[18px\] {
  width: 18px;
}
.w-\[280px\] {
  width: 280px;
}
.w-\[28px\] {
  width: 28px;
}
.w-\[60\%\] {
  width: 60%;
}
.w-\[72px\] {
  width: 72px;
}
.w-\[85\%\] {
  width: 85%;
}
.w-\[8px\] {
  width: 8px;
}
.w-\[90\%\] {
  width: 90%;
}
.w-\[95\%\] {
  width: 95%;
}
.w-auto {
  width: auto;
}
.w-fit {
  width: -moz-fit-content;
  width: fit-content;
}
.w-full {
  width: 100%;
}
.w-px {
  width: 1px;
}
.min-w-0 {
  min-width: 0px;
}
.min-w-\[100px\] {
  min-width: 100px;
}
.min-w-\[280px\] {
  min-width: 280px;
}
.min-w-\[80px\] {
  min-width: 80px;
}
.min-w-full {
  min-width: 100%;
}
.max-w-12 {
  max-width: 3rem;
}
.max-w-14 {
  max-width: 3.5rem;
}
.max-w-16 {
  max-width: 4rem;
}
.max-w-20 {
  max-width: 5rem;
}
.max-w-24 {
  max-width: 6rem;
}
.max-w-2xl {
  max-width: 42rem;
}
.max-w-3xl {
  max-width: 48rem;
}
.max-w-4xl {
  max-width: 56rem;
}
.max-w-5xl {
  max-width: 64rem;
}
.max-w-6xl {
  max-width: 72rem;
}
.max-w-7xl {
  max-width: 80rem;
}
.max-w-\[1200px\] {
  max-width: 1200px;
}
.max-w-\[120px\] {
  max-width: 120px;
}
.max-w-\[200px\] {
  max-width: 200px;
}
.max-w-\[240px\] {
  max-width: 240px;
}
.max-w-\[30px\] {
  max-width: 30px;
}
.max-w-\[480px\] {
  max-width: 480px;
}
.max-w-\[800px\] {
  max-width: 800px;
}
.max-w-full {
  max-width: 100%;
}
.max-w-lg {
  max-width: 32rem;
}
.max-w-md {
  max-width: 28rem;
}
.max-w-none {
  max-width: none;
}
.max-w-screen-md {
  max-width: 768px;
}
.max-w-screen-xl {
  max-width: 1280px;
}
.max-w-xl {
  max-width: 36rem;
}
.max-w-xs {
  max-width: 20rem;
}
.flex-1 {
  flex: 1 1 0%;
}
.flex-shrink {
  flex-shrink: 1;
}
.flex-shrink-0 {
  flex-shrink: 0;
}
.shrink {
  flex-shrink: 1;
}
.shrink-0 {
  flex-shrink: 0;
}
.flex-grow {
  flex-grow: 1;
}
.border-collapse {
  border-collapse: collapse;
}
.border-separate {
  border-collapse: separate;
}
.border-spacing-y-3 {
  --tw-border-spacing-y: 0.75rem;
  border-spacing: var(--tw-border-spacing-x) var(--tw-border-spacing-y);
}
.origin-top {
  transform-origin: top;
}
.origin-top-right {
  transform-origin: top right;
}
.-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-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));
}
.rotate-180 {
  --tw-rotate: 180deg;
  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-90 {
  --tw-scale-x: .9;
  --tw-scale-y: .9;
  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 why-us-bounce-slow {

  0%, 100% {
    transform: translateY(-5%);
  }

  50% {
    transform: translateY(0);
  }
}
.animate-bounce-slow {
  animation: why-us-bounce-slow 3s infinite;
}
@keyframes ping {

  75%, 100% {
    transform: scale(2);
    opacity: 0;
  }
}
.animate-ping {
  animation: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
}
@keyframes pulse {

  50% {
    opacity: .5;
  }
}
.animate-pulse {
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
.cursor-not-allowed {
  cursor: not-allowed;
}
.cursor-pointer {
  cursor: pointer;
}
.touch-manipulation {
  touch-action: manipulation;
}
.select-none {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.resize {
  resize: both;
}
.scroll-mt-24 {
  scroll-margin-top: 6rem;
}
.scroll-mt-28 {
  scroll-margin-top: 7rem;
}
.list-outside {
  list-style-position: outside;
}
.list-disc {
  list-style-type: disc;
}
.list-none {
  list-style-type: none;
}
.auto-rows-fr {
  grid-auto-rows: minmax(0, 1fr);
}
.grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.grid-cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.grid-cols-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.grid-cols-7 {
  grid-template-columns: repeat(7, minmax(0, 1fr));
}
.flex-row {
  flex-direction: row;
}
.flex-col {
  flex-direction: column;
}
.flex-wrap {
  flex-wrap: wrap;
}
.flex-nowrap {
  flex-wrap: nowrap;
}
.items-start {
  align-items: flex-start;
}
.items-end {
  align-items: flex-end;
}
.items-center {
  align-items: center;
}
.items-baseline {
  align-items: baseline;
}
.items-stretch {
  align-items: stretch;
}
.justify-start {
  justify-content: flex-start;
}
.justify-end {
  justify-content: flex-end;
}
.justify-center {
  justify-content: center;
}
.justify-between {
  justify-content: space-between;
}
.justify-items-center {
  justify-items: center;
}
.gap-0 {
  gap: 0px;
}
.gap-0\.5 {
  gap: 0.125rem;
}
.gap-1 {
  gap: 0.25rem;
}
.gap-1\.5 {
  gap: 0.375rem;
}
.gap-10 {
  gap: 2.5rem;
}
.gap-12 {
  gap: 3rem;
}
.gap-16 {
  gap: 4rem;
}
.gap-2 {
  gap: 0.5rem;
}
.gap-2\.5 {
  gap: 0.625rem;
}
.gap-20 {
  gap: 5rem;
}
.gap-3 {
  gap: 0.75rem;
}
.gap-4 {
  gap: 1rem;
}
.gap-5 {
  gap: 1.25rem;
}
.gap-6 {
  gap: 1.5rem;
}
.gap-8 {
  gap: 2rem;
}
.gap-\[4px\] {
  gap: 4px;
}
.gap-x-12 {
  -moz-column-gap: 3rem;
       column-gap: 3rem;
}
.gap-x-4 {
  -moz-column-gap: 1rem;
       column-gap: 1rem;
}
.gap-x-6 {
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
}
.gap-x-8 {
  -moz-column-gap: 2rem;
       column-gap: 2rem;
}
.gap-y-1 {
  row-gap: 0.25rem;
}
.gap-y-12 {
  row-gap: 3rem;
}
.gap-y-2 {
  row-gap: 0.5rem;
}
.gap-y-3 {
  row-gap: 0.75rem;
}
.gap-y-4 {
  row-gap: 1rem;
}
.gap-y-6 {
  row-gap: 1.5rem;
}
.gap-y-8 {
  row-gap: 2rem;
}
.-space-x-2 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(-0.5rem * var(--tw-space-x-reverse));
  margin-left: calc(-0.5rem * calc(1 - var(--tw-space-x-reverse)));
}
.-space-x-4 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(-1rem * var(--tw-space-x-reverse));
  margin-left: calc(-1rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-x-2 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(0.5rem * var(--tw-space-x-reverse));
  margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-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-12 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(3rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(3rem * 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-24 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(6rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(6rem * 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));
}
.divide-y > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-y-reverse: 0;
  border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
  border-bottom-width: calc(1px * var(--tw-divide-y-reverse));
}
.divide-gray-50 > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-opacity: 1;
  border-color: rgb(249 250 251 / var(--tw-divide-opacity, 1));
}
.self-start {
  align-self: flex-start;
}
.justify-self-auto {
  justify-self: auto;
}
.overflow-auto {
  overflow: auto;
}
.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-words {
  overflow-wrap: break-word;
}
.break-all {
  word-break: break-all;
}
.\!rounded-\[12px\] {
  border-radius: 12px !important;
}
.\!rounded-\[4px\] {
  border-radius: 4px !important;
}
.rounded {
  border-radius: 0.25rem;
}
.rounded-2xl {
  border-radius: 1rem;
}
.rounded-3xl {
  border-radius: 1.5rem;
}
.rounded-\[12px\] {
  border-radius: 12px;
}
.rounded-\[2\.5rem\] {
  border-radius: 2.5rem;
}
.rounded-\[3px\] {
  border-radius: 3px;
}
.rounded-\[3rem\] {
  border-radius: 3rem;
}
.rounded-full {
  border-radius: 9999px;
}
.rounded-lg {
  border-radius: 0.5rem;
}
.rounded-md {
  border-radius: 0.375rem;
}
.rounded-xl {
  border-radius: 0.75rem;
}
.rounded-r-lg {
  border-top-right-radius: 0.5rem;
  border-bottom-right-radius: 0.5rem;
}
.rounded-t-xl {
  border-top-left-radius: 0.75rem;
  border-top-right-radius: 0.75rem;
}
.rounded-bl-lg {
  border-bottom-left-radius: 0.5rem;
}
.rounded-tr-lg {
  border-top-right-radius: 0.5rem;
}
.rounded-tr-sm {
  border-top-right-radius: 0.125rem;
}
.border {
  border-width: 1px;
}
.border-2 {
  border-width: 2px;
}
.border-4 {
  border-width: 4px;
}
.border-y {
  border-top-width: 1px;
  border-bottom-width: 1px;
}
.border-b {
  border-bottom-width: 1px;
}
.border-b-2 {
  border-bottom-width: 2px;
}
.border-l-2 {
  border-left-width: 2px;
}
.border-l-4 {
  border-left-width: 4px;
}
.border-t {
  border-top-width: 1px;
}
.border-dashed {
  border-style: dashed;
}
.border-\[\#E2E8F0\] {
  --tw-border-opacity: 1;
  border-color: rgb(226 232 240 / var(--tw-border-opacity, 1));
}
.border-action-100 {
  --tw-border-opacity: 1;
  border-color: rgb(255 237 213 / var(--tw-border-opacity, 1));
}
.border-action-500 {
  --tw-border-opacity: 1;
  border-color: rgb(245 158 11 / var(--tw-border-opacity, 1));
}
.border-amber-100 {
  --tw-border-opacity: 1;
  border-color: rgb(254 243 199 / var(--tw-border-opacity, 1));
}
.border-blue-100 {
  --tw-border-opacity: 1;
  border-color: rgb(219 234 254 / var(--tw-border-opacity, 1));
}
.border-blue-200 {
  --tw-border-opacity: 1;
  border-color: rgb(191 219 254 / var(--tw-border-opacity, 1));
}
.border-blue-200\/50 {
  border-color: rgb(191 219 254 / 0.5);
}
.border-blue-800 {
  --tw-border-opacity: 1;
  border-color: rgb(30 64 175 / var(--tw-border-opacity, 1));
}
.border-brand-blue\/5 {
  border-color: rgb(27 59 111 / 0.05);
}
.border-brand-orange {
  --tw-border-opacity: 1;
  border-color: rgb(245 158 11 / var(--tw-border-opacity, 1));
}
.border-brand-orange\/50 {
  border-color: rgb(245 158 11 / 0.5);
}
.border-critical-500 {
  --tw-border-opacity: 1;
  border-color: rgb(239 68 68 / var(--tw-border-opacity, 1));
}
.border-gray-100 {
  --tw-border-opacity: 1;
  border-color: rgb(243 244 246 / var(--tw-border-opacity, 1));
}
.border-gray-200 {
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
}
.border-gray-50 {
  --tw-border-opacity: 1;
  border-color: rgb(249 250 251 / var(--tw-border-opacity, 1));
}
.border-green-100 {
  --tw-border-opacity: 1;
  border-color: rgb(220 252 231 / var(--tw-border-opacity, 1));
}
.border-green-100\/50 {
  border-color: rgb(220 252 231 / 0.5);
}
.border-green-500\/30 {
  border-color: rgb(34 197 94 / 0.3);
}
.border-nordic-100 {
  --tw-border-opacity: 1;
  border-color: rgb(224 238 255 / var(--tw-border-opacity, 1));
}
.border-nordic-50 {
  --tw-border-opacity: 1;
  border-color: rgb(240 247 255 / var(--tw-border-opacity, 1));
}
.border-nordic-700 {
  --tw-border-opacity: 1;
  border-color: rgb(45 74 111 / var(--tw-border-opacity, 1));
}
.border-nordic-800 {
  --tw-border-opacity: 1;
  border-color: rgb(30 64 175 / var(--tw-border-opacity, 1));
}
.border-nordic-900 {
  --tw-border-opacity: 1;
  border-color: rgb(27 59 111 / var(--tw-border-opacity, 1));
}
.border-nordic-900\/10 {
  border-color: rgb(27 59 111 / 0.1);
}
.border-red-100 {
  --tw-border-opacity: 1;
  border-color: rgb(254 226 226 / var(--tw-border-opacity, 1));
}
.border-red-500 {
  --tw-border-opacity: 1;
  border-color: rgb(239 68 68 / var(--tw-border-opacity, 1));
}
.border-transparent {
  border-color: transparent;
}
.border-trust-500 {
  --tw-border-opacity: 1;
  border-color: rgb(16 185 129 / var(--tw-border-opacity, 1));
}
.border-white {
  --tw-border-opacity: 1;
  border-color: rgb(255 255 255 / var(--tw-border-opacity, 1));
}
.border-white\/10 {
  border-color: rgb(255 255 255 / 0.1);
}
.border-white\/20 {
  border-color: rgb(255 255 255 / 0.2);
}
.border-white\/30 {
  border-color: rgb(255 255 255 / 0.3);
}
.border-white\/40 {
  border-color: rgb(255 255 255 / 0.4);
}
.border-white\/50 {
  border-color: rgb(255 255 255 / 0.5);
}
.border-white\/60 {
  border-color: rgb(255 255 255 / 0.6);
}
.border-yellow-200 {
  --tw-border-opacity: 1;
  border-color: rgb(254 240 138 / var(--tw-border-opacity, 1));
}
.\!bg-\[rgb\(248\2c 250\2c 252\)\] {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(248 250 252 / var(--tw-bg-opacity, 1)) !important;
}
.\!bg-\[rgba\(1\2c 46\2c 158\2c 1\)\] {
  background-color: rgba(1,46,158,1) !important;
}
.\!bg-\[rgba\(10\2c 69\2c 143\2c 0\.1\)\] {
  background-color: rgba(10,69,143,0.1) !important;
}
.\!bg-\[rgba\(10\2c 69\2c 143\2c 1\)\] {
  background-color: rgba(10,69,143,1) !important;
}
.\!bg-\[rgba\(244\2c 244\2c 244\2c 1\)\] {
  background-color: rgba(244,244,244,1) !important;
}
.\!bg-\[rgba\(249\2c 250\2c 251\2c 1\)\] {
  background-color: rgba(249,250,251,1) !important;
}
.bg-\[\#00b67a\] {
  --tw-bg-opacity: 1;
  background-color: rgb(0 182 122 / var(--tw-bg-opacity, 1));
}
.bg-\[\#10b981\] {
  --tw-bg-opacity: 1;
  background-color: rgb(16 185 129 / var(--tw-bg-opacity, 1));
}
.bg-\[\#4285F4\] {
  --tw-bg-opacity: 1;
  background-color: rgb(66 133 244 / var(--tw-bg-opacity, 1));
}
.bg-\[\#D1FAE5\] {
  --tw-bg-opacity: 1;
  background-color: rgb(209 250 229 / var(--tw-bg-opacity, 1));
}
.bg-\[\#DBEAFE\] {
  --tw-bg-opacity: 1;
  background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1));
}
.bg-\[\#F5F7FA\] {
  --tw-bg-opacity: 1;
  background-color: rgb(245 247 250 / var(--tw-bg-opacity, 1));
}
.bg-\[\#F8FAFC\] {
  --tw-bg-opacity: 1;
  background-color: rgb(248 250 252 / var(--tw-bg-opacity, 1));
}
.bg-\[\#FEF3C7\] {
  --tw-bg-opacity: 1;
  background-color: rgb(254 243 199 / var(--tw-bg-opacity, 1));
}
.bg-\[\#f0f5ff\] {
  --tw-bg-opacity: 1;
  background-color: rgb(240 245 255 / var(--tw-bg-opacity, 1));
}
.bg-\[rgb\(221\2c 221\2c 221\)\] {
  --tw-bg-opacity: 1;
  background-color: rgb(221 221 221 / var(--tw-bg-opacity, 1));
}
.bg-\[rgba\(10\2c 69\2c 143\2c 0\.1\)\] {
  background-color: rgba(10,69,143,0.1);
}
.bg-\[rgba\(10\2c 69\2c 143\2c 1\)\] {
  background-color: rgba(10,69,143,1);
}
.bg-\[rgba\(244\2c 244\2c 244\2c 1\)\] {
  background-color: rgba(244,244,244,1);
}
.bg-\[rgba\(245\2c 247\2c 250\2c 1\)\] {
  background-color: rgba(245,247,250,1);
}
.bg-action-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(255 237 213 / var(--tw-bg-opacity, 1));
}
.bg-action-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(255 251 235 / var(--tw-bg-opacity, 1));
}
.bg-action-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(245 158 11 / var(--tw-bg-opacity, 1));
}
.bg-action-500\/10 {
  background-color: rgb(245 158 11 / 0.1);
}
.bg-action-500\/5 {
  background-color: rgb(245 158 11 / 0.05);
}
.bg-amber-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 243 199 / var(--tw-bg-opacity, 1));
}
.bg-amber-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(251 191 36 / 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-50\/50 {
  background-color: rgb(255 251 235 / 0.5);
}
.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-black\/10 {
  background-color: rgb(0 0 0 / 0.1);
}
.bg-black\/70 {
  background-color: rgb(0 0 0 / 0.7);
}
.bg-black\/80 {
  background-color: rgb(0 0 0 / 0.8);
}
.bg-blue-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1));
}
.bg-blue-100\/50 {
  background-color: rgb(219 234 254 / 0.5);
}
.bg-blue-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(239 246 255 / var(--tw-bg-opacity, 1));
}
.bg-blue-900\/10 {
  background-color: rgb(30 58 138 / 0.1);
}
.bg-brand-lightblue {
  --tw-bg-opacity: 1;
  background-color: rgb(240 247 255 / var(--tw-bg-opacity, 1));
}
.bg-brand-orange\/20 {
  background-color: rgb(245 158 11 / 0.2);
}
.bg-emerald-500\/10 {
  background-color: rgb(16 185 129 / 0.1);
}
.bg-gray-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
}
.bg-gray-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}
.bg-gray-50\/50 {
  background-color: rgb(249 250 251 / 0.5);
}
.bg-green-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));
}
.bg-green-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(187 247 208 / var(--tw-bg-opacity, 1));
}
.bg-green-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(74 222 128 / var(--tw-bg-opacity, 1));
}
.bg-green-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(240 253 244 / var(--tw-bg-opacity, 1));
}
.bg-green-50\/50 {
  background-color: rgb(240 253 244 / 0.5);
}
.bg-green-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(34 197 94 / var(--tw-bg-opacity, 1));
}
.bg-green-500\/20 {
  background-color: rgb(34 197 94 / 0.2);
}
.bg-nordic-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(224 238 255 / var(--tw-bg-opacity, 1));
}
.bg-nordic-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(240 247 255 / var(--tw-bg-opacity, 1));
}
.bg-nordic-50\/95 {
  background-color: rgb(240 247 255 / 0.95);
}
.bg-nordic-800 {
  --tw-bg-opacity: 1;
  background-color: rgb(30 64 175 / var(--tw-bg-opacity, 1));
}
.bg-nordic-900 {
  --tw-bg-opacity: 1;
  background-color: rgb(27 59 111 / var(--tw-bg-opacity, 1));
}
.bg-nordic-900\/90 {
  background-color: rgb(27 59 111 / 0.9);
}
.bg-orange-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(255 237 213 / var(--tw-bg-opacity, 1));
}
.bg-orange-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(251 146 60 / var(--tw-bg-opacity, 1));
}
.bg-purple-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(243 232 255 / var(--tw-bg-opacity, 1));
}
.bg-purple-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(250 245 255 / var(--tw-bg-opacity, 1));
}
.bg-red-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(248 113 113 / 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-50\/50 {
  background-color: rgb(254 242 242 / 0.5);
}
.bg-red-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(239 68 68 / var(--tw-bg-opacity, 1));
}
.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\/20 {
  background-color: rgb(255 255 255 / 0.2);
}
.bg-white\/5 {
  background-color: rgb(255 255 255 / 0.05);
}
.bg-white\/60 {
  background-color: rgb(255 255 255 / 0.6);
}
.bg-white\/85 {
  background-color: rgb(255 255 255 / 0.85);
}
.bg-white\/90 {
  background-color: rgb(255 255 255 / 0.9);
}
.bg-white\/95 {
  background-color: rgb(255 255 255 / 0.95);
}
.bg-yellow-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(250 204 21 / var(--tw-bg-opacity, 1));
}
.bg-yellow-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 252 232 / var(--tw-bg-opacity, 1));
}
.bg-gradient-to-br {
  background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));
}
.bg-gradient-to-l {
  background-image: linear-gradient(to left, 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));
}
.bg-gradient-to-tr {
  background-image: linear-gradient(to top right, var(--tw-gradient-stops));
}
.from-amber-500 {
  --tw-gradient-from: #f59e0b var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(245 158 11 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-black\/20 {
  --tw-gradient-from: rgb(0 0 0 / 0.2) 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\/40 {
  --tw-gradient-from: rgb(0 0 0 / 0.4) 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\/50 {
  --tw-gradient-from: rgb(0 0 0 / 0.5) 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-blue-100\/40 {
  --tw-gradient-from: rgb(219 234 254 / 0.4) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(219 234 254 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-emerald-500 {
  --tw-gradient-from: #10b981 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(16 185 129 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-nordic-50\/50 {
  --tw-gradient-from: rgb(240 247 255 / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(240 247 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-nordic-900 {
  --tw-gradient-from: #1B3B6F var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(27 59 111 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-nordic-900\/95 {
  --tw-gradient-from: rgb(27 59 111 / 0.95) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(27 59 111 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-red-100 {
  --tw-gradient-from: #fee2e2 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(254 226 226 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-red-500 {
  --tw-gradient-from: #ef4444 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(239 68 68 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.via-nordic-900\/80 {
  --tw-gradient-to: rgb(27 59 111 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(27 59 111 / 0.8) 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-amber-600 {
  --tw-gradient-to: #d97706 var(--tw-gradient-to-position);
}
.to-emerald-600 {
  --tw-gradient-to: #059669 var(--tw-gradient-to-position);
}
.to-nordic-900\/40 {
  --tw-gradient-to: rgb(27 59 111 / 0.4) var(--tw-gradient-to-position);
}
.to-nordic-900\/60 {
  --tw-gradient-to: rgb(27 59 111 / 0.6) var(--tw-gradient-to-position);
}
.to-red-200 {
  --tw-gradient-to: #fecaca var(--tw-gradient-to-position);
}
.to-red-600 {
  --tw-gradient-to: #dc2626 var(--tw-gradient-to-position);
}
.to-transparent {
  --tw-gradient-to: transparent var(--tw-gradient-to-position);
}
.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;
}
.object-left {
  -o-object-position: left;
     object-position: left;
}
.p-0\.5 {
  padding: 0.125rem;
}
.p-1 {
  padding: 0.25rem;
}
.p-1\.5 {
  padding: 0.375rem;
}
.p-10 {
  padding: 2.5rem;
}
.p-12 {
  padding: 3rem;
}
.p-2 {
  padding: 0.5rem;
}
.p-3 {
  padding: 0.75rem;
}
.p-4 {
  padding: 1rem;
}
.p-5 {
  padding: 1.25rem;
}
.p-6 {
  padding: 1.5rem;
}
.p-8 {
  padding: 2rem;
}
.p-\[2px\] {
  padding: 2px;
}
.px-1 {
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}
.px-1\.5 {
  padding-left: 0.375rem;
  padding-right: 0.375rem;
}
.px-10 {
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}
.px-12 {
  padding-left: 3rem;
  padding-right: 3rem;
}
.px-2 {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.px-3 {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}
.px-4 {
  padding-left: 1rem;
  padding-right: 1rem;
}
.px-5 {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}
.px-6 {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
.px-8 {
  padding-left: 2rem;
  padding-right: 2rem;
}
.px-\[28px\] {
  padding-left: 28px;
  padding-right: 28px;
}
.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-20 {
  padding-top: 5rem;
  padding-bottom: 5rem;
}
.py-24 {
  padding-top: 6rem;
  padding-bottom: 6rem;
}
.py-3 {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}
.py-3\.5 {
  padding-top: 0.875rem;
  padding-bottom: 0.875rem;
}
.py-4 {
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.py-5 {
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}
.py-6 {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}
.py-8 {
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.py-\[10px\] {
  padding-top: 10px;
  padding-bottom: 10px;
}
.py-\[15px\] {
  padding-top: 15px;
  padding-bottom: 15px;
}
.py-\[2px\] {
  padding-top: 2px;
  padding-bottom: 2px;
}
.py-\[30px\] {
  padding-top: 30px;
  padding-bottom: 30px;
}
.pb-0\.5 {
  padding-bottom: 0.125rem;
}
.pb-1 {
  padding-bottom: 0.25rem;
}
.pb-12 {
  padding-bottom: 3rem;
}
.pb-16 {
  padding-bottom: 4rem;
}
.pb-2 {
  padding-bottom: 0.5rem;
}
.pb-20 {
  padding-bottom: 5rem;
}
.pb-3 {
  padding-bottom: 0.75rem;
}
.pb-32 {
  padding-bottom: 8rem;
}
.pb-4 {
  padding-bottom: 1rem;
}
.pb-6 {
  padding-bottom: 1.5rem;
}
.pb-8 {
  padding-bottom: 2rem;
}
.pl-1 {
  padding-left: 0.25rem;
}
.pl-3 {
  padding-left: 0.75rem;
}
.pl-4 {
  padding-left: 1rem;
}
.pl-6 {
  padding-left: 1.5rem;
}
.pl-7 {
  padding-left: 1.75rem;
}
.pl-8 {
  padding-left: 2rem;
}
.pl-\[50px\] {
  padding-left: 50px;
}
.pr-10 {
  padding-right: 2.5rem;
}
.pr-2 {
  padding-right: 0.5rem;
}
.pr-8 {
  padding-right: 2rem;
}
.pt-0 {
  padding-top: 0px;
}
.pt-0\.5 {
  padding-top: 0.125rem;
}
.pt-1 {
  padding-top: 0.25rem;
}
.pt-10 {
  padding-top: 2.5rem;
}
.pt-12 {
  padding-top: 3rem;
}
.pt-16 {
  padding-top: 4rem;
}
.pt-2 {
  padding-top: 0.5rem;
}
.pt-24 {
  padding-top: 6rem;
}
.pt-3 {
  padding-top: 0.75rem;
}
.pt-4 {
  padding-top: 1rem;
}
.pt-40 {
  padding-top: 10rem;
}
.pt-5 {
  padding-top: 1.25rem;
}
.pt-6 {
  padding-top: 1.5rem;
}
.pt-8 {
  padding-top: 2rem;
}
.text-left {
  text-align: left;
}
.text-center {
  text-align: center;
}
.text-right {
  text-align: right;
}
.text-start {
  text-align: start;
}
.text-end {
  text-align: end;
}
.align-top {
  vertical-align: top;
}
.font-mono {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}
.font-sans {
  font-family: Inter, sans-serif;
}
.font-serif {
  font-family: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
}
.\!text-\[10px\] {
  font-size: 10px !important;
}
.\!text-\[12px\] {
  font-size: 12px !important;
}
.\!text-\[14px\] {
  font-size: 14px !important;
}
.\!text-xs {
  font-size: 0.75rem !important;
  line-height: 1rem !important;
}
.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-6xl {
  font-size: 3.75rem;
  line-height: 1;
}
.text-\[10px\] {
  font-size: 10px;
}
.text-\[11px\] {
  font-size: 11px;
}
.text-\[7px\] {
  font-size: 7px;
}
.text-\[8px\] {
  font-size: 8px;
}
.text-\[9px\] {
  font-size: 9px;
}
.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-medium {
  font-weight: 500 !important;
}
.\!font-normal {
  font-weight: 400 !important;
}
.\!font-semibold {
  font-weight: 600 !important;
}
.font-black {
  font-weight: 900;
}
.font-bold {
  font-weight: 700;
}
.font-extrabold {
  font-weight: 800;
}
.font-medium {
  font-weight: 500;
}
.font-normal {
  font-weight: 400;
}
.font-semibold {
  font-weight: 600;
}
.uppercase {
  text-transform: uppercase;
}
.lowercase {
  text-transform: lowercase;
}
.italic {
  font-style: italic;
}
.not-italic {
  font-style: normal;
}
.leading-none {
  line-height: 1;
}
.leading-relaxed {
  line-height: 1.625;
}
.leading-snug {
  line-height: 1.375;
}
.leading-tight {
  line-height: 1.25;
}
.tracking-\[0\.2em\] {
  letter-spacing: 0.2em;
}
.tracking-tight {
  letter-spacing: -0.025em;
}
.tracking-tighter {
  letter-spacing: -0.05em;
}
.tracking-wide {
  letter-spacing: 0.025em;
}
.tracking-wider {
  letter-spacing: 0.05em;
}
.tracking-widest {
  letter-spacing: 0.1em;
}
.\!text-\[black\] {
  --tw-text-opacity: 1 !important;
  color: rgb(0 0 0 / var(--tw-text-opacity, 1)) !important;
}
.\!text-\[rgb\(133\2c 133\2c 133\)\] {
  --tw-text-opacity: 1 !important;
  color: rgb(133 133 133 / var(--tw-text-opacity, 1)) !important;
}
.\!text-\[rgb\(239\2c 68\2c 68\)\] {
  --tw-text-opacity: 1 !important;
  color: rgb(239 68 68 / var(--tw-text-opacity, 1)) !important;
}
.\!text-\[rgba\(10\2c 69\2c 143\2c 1\)\] {
  color: rgba(10,69,143,1) !important;
}
.\!text-\[rgba\(23\2c 23\2c 23\2c 0\.6\)\] {
  color: rgba(23,23,23,0.6) !important;
}
.\!text-\[rgba\(23\2c 23\2c 23\2c 1\)\] {
  color: rgba(23,23,23,1) !important;
}
.\!text-red-500 {
  --tw-text-opacity: 1 !important;
  color: rgb(239 68 68 / var(--tw-text-opacity, 1)) !important;
}
.\!text-white {
  --tw-text-opacity: 1 !important;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1)) !important;
}
.text-\[\#0077b5\] {
  --tw-text-opacity: 1;
  color: rgb(0 119 181 / var(--tw-text-opacity, 1));
}
.text-\[\#cbd5e1\] {
  --tw-text-opacity: 1;
  color: rgb(203 213 225 / var(--tw-text-opacity, 1));
}
.text-\[rgb\(133\2c 133\2c 133\)\] {
  --tw-text-opacity: 1;
  color: rgb(133 133 133 / var(--tw-text-opacity, 1));
}
.text-\[rgb\(23\2c 23\2c 23\)\] {
  --tw-text-opacity: 1;
  color: rgb(23 23 23 / var(--tw-text-opacity, 1));
}
.text-\[rgba\(10\2c 69\2c 143\2c 1\)\] {
  color: rgba(10,69,143,1);
}
.text-\[rgba\(23\2c 23\2c 23\2c 0\.6\)\] {
  color: rgba(23,23,23,0.6);
}
.text-action-500 {
  --tw-text-opacity: 1;
  color: rgb(245 158 11 / var(--tw-text-opacity, 1));
}
.text-action-600 {
  --tw-text-opacity: 1;
  color: rgb(217 119 6 / 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-black {
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity, 1));
}
.text-blue-100 {
  --tw-text-opacity: 1;
  color: rgb(219 234 254 / var(--tw-text-opacity, 1));
}
.text-blue-200 {
  --tw-text-opacity: 1;
  color: rgb(191 219 254 / var(--tw-text-opacity, 1));
}
.text-blue-300 {
  --tw-text-opacity: 1;
  color: rgb(147 197 253 / var(--tw-text-opacity, 1));
}
.text-blue-400 {
  --tw-text-opacity: 1;
  color: rgb(96 165 250 / var(--tw-text-opacity, 1));
}
.text-blue-600 {
  --tw-text-opacity: 1;
  color: rgb(37 99 235 / var(--tw-text-opacity, 1));
}
.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-brand-blue {
  --tw-text-opacity: 1;
  color: rgb(27 59 111 / var(--tw-text-opacity, 1));
}
.text-brand-blue\/60 {
  color: rgb(27 59 111 / 0.6);
}
.text-brand-blue\/80 {
  color: rgb(27 59 111 / 0.8);
}
.text-brand-gray {
  --tw-text-opacity: 1;
  color: rgb(100 116 139 / var(--tw-text-opacity, 1));
}
.text-brand-gray\/70 {
  color: rgb(100 116 139 / 0.7);
}
.text-brand-green {
  --tw-text-opacity: 1;
  color: rgb(16 185 129 / var(--tw-text-opacity, 1));
}
.text-brand-orange {
  --tw-text-opacity: 1;
  color: rgb(245 158 11 / var(--tw-text-opacity, 1));
}
.text-gray-300 {
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}
.text-gray-500 {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}
.text-gray-600 {
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}
.text-gray-700 {
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}
.text-gray-800 {
  --tw-text-opacity: 1;
  color: rgb(31 41 55 / var(--tw-text-opacity, 1));
}
.text-gray-900 {
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}
.text-green-300 {
  --tw-text-opacity: 1;
  color: rgb(134 239 172 / var(--tw-text-opacity, 1));
}
.text-green-500 {
  --tw-text-opacity: 1;
  color: rgb(34 197 94 / var(--tw-text-opacity, 1));
}
.text-green-600 {
  --tw-text-opacity: 1;
  color: rgb(22 163 74 / var(--tw-text-opacity, 1));
}
.text-green-700 {
  --tw-text-opacity: 1;
  color: rgb(21 128 61 / var(--tw-text-opacity, 1));
}
.text-green-800 {
  --tw-text-opacity: 1;
  color: rgb(22 101 52 / var(--tw-text-opacity, 1));
}
.text-green-900 {
  --tw-text-opacity: 1;
  color: rgb(20 83 45 / var(--tw-text-opacity, 1));
}
.text-neutral-500 {
  --tw-text-opacity: 1;
  color: rgb(115 115 115 / var(--tw-text-opacity, 1));
}
.text-neutral-900 {
  --tw-text-opacity: 1;
  color: rgb(23 23 23 / var(--tw-text-opacity, 1));
}
.text-nordic-700 {
  --tw-text-opacity: 1;
  color: rgb(45 74 111 / var(--tw-text-opacity, 1));
}
.text-nordic-800 {
  --tw-text-opacity: 1;
  color: rgb(30 64 175 / var(--tw-text-opacity, 1));
}
.text-nordic-900 {
  --tw-text-opacity: 1;
  color: rgb(27 59 111 / var(--tw-text-opacity, 1));
}
.text-nordic-900\/70 {
  color: rgb(27 59 111 / 0.7);
}
.text-nordic-900\/80 {
  color: rgb(27 59 111 / 0.8);
}
.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-600 {
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}
.text-red-700 {
  --tw-text-opacity: 1;
  color: rgb(185 28 28 / var(--tw-text-opacity, 1));
}
.text-red-800 {
  --tw-text-opacity: 1;
  color: rgb(153 27 27 / var(--tw-text-opacity, 1));
}
.text-trust-500 {
  --tw-text-opacity: 1;
  color: rgb(16 185 129 / var(--tw-text-opacity, 1));
}
.text-trust-600 {
  --tw-text-opacity: 1;
  color: rgb(5 150 105 / var(--tw-text-opacity, 1));
}
.text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.text-white\/95 {
  color: rgb(255 255 255 / 0.95);
}
.text-yellow-600 {
  --tw-text-opacity: 1;
  color: rgb(202 138 4 / var(--tw-text-opacity, 1));
}
.underline {
  text-decoration-line: underline;
}
.no-underline {
  text-decoration-line: none;
}
.decoration-action-500 {
  text-decoration-color: #F59E0B;
}
.decoration-blue-200\/50 {
  text-decoration-color: rgb(191 219 254 / 0.5);
}
.decoration-2 {
  text-decoration-thickness: 2px;
}
.underline-offset-2 {
  text-underline-offset: 2px;
}
.underline-offset-4 {
  text-underline-offset: 4px;
}
.opacity-0 {
  opacity: 0;
}
.opacity-100 {
  opacity: 1;
}
.opacity-20 {
  opacity: 0.2;
}
.opacity-30 {
  opacity: 0.3;
}
.opacity-40 {
  opacity: 0.4;
}
.opacity-50 {
  opacity: 0.5;
}
.opacity-60 {
  opacity: 0.6;
}
.opacity-70 {
  opacity: 0.7;
}
.opacity-75 {
  opacity: 0.75;
}
.opacity-80 {
  opacity: 0.8;
}
.opacity-90 {
  opacity: 0.9;
}
.opacity-\[0\.15\] {
  opacity: 0.15;
}
.mix-blend-multiply {
  mix-blend-mode: multiply;
}
.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_20px_0_rgba\(11\2c 11\2c 11\2c 0\.04\)\] {
  --tw-shadow: 0 8px 20px 0 rgba(11,11,11,0.04);
  --tw-shadow-colored: 0 8px 20px 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-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-soft {
  --tw-shadow: 0 4px 20px -2px rgba(27, 59, 111, 0.1);
  --tw-shadow-colored: 0 4px 20px -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-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);
}
.outline {
  outline-style: solid;
}
.ring-1 {
  --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(1px + 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);
}
.ring-2 {
  --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);
}
.ring-4 {
  --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(4px + 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);
}
.\!ring-red-500 {
  --tw-ring-opacity: 1 !important;
  --tw-ring-color: rgb(239 68 68 / var(--tw-ring-opacity, 1)) !important;
}
.ring-\[rgba\(244\2c 244\2c 244\2c 1\)\] {
  --tw-ring-color: rgba(244,244,244,1);
}
.ring-red-500 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(239 68 68 / var(--tw-ring-opacity, 1));
}
.ring-transparent {
  --tw-ring-color: transparent;
}
.ring-white {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(255 255 255 / var(--tw-ring-opacity, 1));
}
.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);
}
.blur-3xl {
  --tw-blur: blur(64px);
  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);
}
.brightness-0 {
  --tw-brightness: brightness(0);
  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);
}
.invert {
  --tw-invert: invert(100%);
  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);
}
.sepia {
  --tw-sepia: sepia(100%);
  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-\[2px\] {
  --tw-backdrop-blur: blur(2px);
  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-\[box-shadow\2c border-color\] {
  transition-property: box-shadow,border-color;
  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-shadow {
  transition-property: box-shadow;
  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-200 {
  transition-duration: 200ms;
}
.duration-300 {
  transition-duration: 300ms;
}
.duration-500 {
  transition-duration: 500ms;
}
.duration-700 {
  transition-duration: 700ms;
}
.ease-in-out {
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.\[--anchor-gap\:--spacing\(2\)\] {
  --anchor-gap: var(--spacing(2));
}

* {
    box-sizing: border-box;
    margin: 0px;
    padding: 0px;
}

.benefit-section-shadow {
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}
/* Benefit bar icons – exact colors via CSS filter */
.benefit-icon {
    display: block;
}
.benefit-icon-globe {
    filter: brightness(0) saturate(100%) invert(38%) sepia(46%) saturate(2068%) hue-rotate(14deg) brightness(109%) contrast(95%);
}
.benefit-icon-chat {
    filter: brightness(0) saturate(100%) invert(28%) sepia(79%) saturate(3626%) hue-rotate(217deg) brightness(96%) contrast(91%);
}
.benefit-icon-watch {
    filter: brightness(0) saturate(100%) invert(47%) sepia(24%) saturate(4923%) hue-rotate(131deg) brightness(96%) contrast(103%);
}

/* Expert guides page – icon filters (moved from inline styles) */
.expert-guides-icon-video {
    filter: invert(58%) sepia(98%) saturate(500%) hue-rotate(1deg);
}
.expert-guides-icon-passenger-car {
    filter: invert(58%) sepia(98%) saturate(500%);
}
.expert-guides-icon-circle-checked {
    filter: invert(52%) sepia(78%) saturate(500%) hue-rotate(120deg);
}
.expert-guides-icon-circle-checked-invert {
    filter: invert(1) sepia(78%) saturate(500%) hue-rotate(120deg);
}
.expert-guides-icon-arrows-rotate {
    filter: brightness(0) saturate(100%) invert(48%) sepia(69%) saturate(4064%) hue-rotate(203deg) brightness(101%) contrast(93%);
}
.expert-guides-icon-nordic {
    filter: invert(28%) sepia(79%) saturate(3626%);
}
.expert-guides-icon-download {
    filter: invert(58%) sepia(98%) saturate(500%);
}
/* Download section – icon filters and hover (icon turns white when card hovered) */
.expert-guides-download-icon-nordic {
    filter: brightness(0) saturate(100%) invert(16%) sepia(69%) saturate(3795%) hue-rotate(225deg) brightness(91%) contrast(91%);
    transition: filter 0.2s ease;
}
.expert-guides-download-icon-package {
    filter: brightness(0) saturate(100%) invert(57%) sepia(66%) saturate(4717%) hue-rotate(11deg) brightness(98%) contrast(95%);
    transition: filter 0.2s ease;
}
.group:hover .expert-guides-download-icon-nordic,
.group:hover .expert-guides-download-icon-package {
    filter: brightness(0) saturate(100%) invert(1);
}
.expert-guides-download-link-icon {
    filter: brightness(0) saturate(100%) invert(58%) sepia(75%) saturate(622%) hue-rotate(358deg) brightness(99%) contrast(93%);
}
/* Card grid "Read Guide" arrow – matches text-action-500 */
.expert-guides-read-guide-arrow {
    filter: brightness(0) saturate(100%) invert(60%) sepia(86%) saturate(531%) hue-rotate(352deg) brightness(96%) contrast(100%);
}
/* Trust section "Why Trust Our Guides?" – single filter for all grid icons */
.expert-guides-trust-grid img[src*="icons/"] {
    filter: brightness(0) saturate(100%) invert(18%) sepia(16%) saturate(5628%) hue-rotate(197deg) brightness(91%) contrast(91%);
}

body {
    font-family: 'Inter', sans-serif;
    padding-top: 100px;
    background-color: #F8FAFC;
}
@media (max-width: 767px) {
    body {
        padding-top: 72px;
    }
}
.cta-button {
    background-color: #F59E0B;
    font-size: 14px;
    font-weight: 700;
}
.status-container {
    border: 1px solid #22C55E4D;
    border-radius: 16px;
    background-color: #22C55E33;
    padding: 3px 12px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.status-dot {
    width: 7px;
    height: 7px;
    background-color: #86EFAC;
    border-radius: 50%;
    display: inline-block;
}
.status-text {
    color: #86EFAC;
    font-size: 14px;
}
.fixed-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    width: 100%;
}

/* ——— Mobile-site header: slide-in drawer from the right ——— */
.header-mobile-overlay {
    position: fixed;
    inset: 0;
    z-index: 1001;
    background-color: rgba(15, 23, 42, 0.45);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}
.header-mobile-overlay.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}
.header-mobile-drawer {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 1002;
    height: 100%;
    height: 100dvh;
    width: 100%;
    max-width: 100%;
    background-color: #fff;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    box-shadow: -8px 0 24px rgba(15, 23, 42, 0.12);
    transform: translateX(100%);
    visibility: hidden;
    transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1), visibility 0.3s ease;
}
@media (min-width: 768px) {
    .header-mobile-drawer {
        width: 50vw;
        max-width: 50vw;
        border-top-left-radius: 1rem;
        border-bottom-left-radius: 1rem;
    }
}
.header-mobile-drawer.is-open {
    transform: translateX(0);
    visibility: visible;
}
body.header-mobile-drawer-open {
    overflow: hidden;
}
/* Mobile header — icon-only menu control (no “button chrome”) */
.header-mobile-burger {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0.5rem;
    border: none;
    background: transparent;
    box-shadow: none;
    color: #1b3b6f;
    cursor: pointer;
    border-radius: 0.25rem;
    -webkit-tap-highlight-color: transparent;
}
.header-mobile-burger:hover {
    opacity: 0.85;
}
.header-mobile-burger:focus {
    outline: none;
}
.header-mobile-burger:focus-visible {
    outline: 2px solid #1b3b6f;
    outline-offset: 2px;
}
.header-mobile-burger .lucide-menu {
    display: block;
}
.header-mobile-drawer-inner {
    display: flex;
    flex-direction: column;
    gap: 0;
    height: 100%;
    padding: 0 0 1.25rem;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}
.header-mobile-drawer-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 1rem 1.25rem 0.75rem;
}
.header-mobile-drawer-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
.header-mobile-drawer-head-brand {
    display: flex;
    align-items: center;
    min-width: 0;
    flex: 1;
}
.header-mobile-drawer-logo-link {
    display: block;
    min-width: 0;
    max-width: 100%;
    text-decoration: none;
}
.header-mobile-drawer-logo {
    display: block;
    height: 28px;
    width: auto;
    max-width: 100%;
    -o-object-fit: contain;
       object-fit: contain;
    -o-object-position: left center;
       object-position: left center;
}
.header-mobile-drawer-close {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    padding: 0.375rem;
    margin: 0;
    border: none;
    border-radius: 0.375rem;
    background: transparent;
    color: #1b3b6f;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}
.header-mobile-drawer-close:hover {
    opacity: 0.75;
}
.header-mobile-drawer-close:focus {
    outline: none;
}
.header-mobile-drawer-close:focus-visible {
    outline: 2px solid #1b3b6f;
    outline-offset: 2px;
}
.header-mobile-drawer-status {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0.25rem 0 0;
    padding: 0.75rem 1.25rem;
    background-color: #ecfdf5;
    color: #166534;
    font-size: 0.875rem;
    font-weight: 700;
}
.header-mobile-drawer-status-dot {
    flex-shrink: 0;
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 9999px;
    background-color: #22c55e;
}
.header-mobile-drawer-nav {
    display: flex;
    flex-direction: column;
    padding: 0 1.25rem;
    border-top: 1px solid #f1f5f9;
}
.header-mobile-drawer-link {
    display: block;
    padding: 1rem 0;
    font-size: 1rem;
    font-weight: 600;
    color: #1b3b6f;
    text-decoration: none;
    border-bottom: 1px solid #f1f5f9;
    transition: background-color 0.15s ease, color 0.15s ease;
}
.header-mobile-drawer-link:last-child {
    border-bottom: none;
}
.header-mobile-drawer-link:hover {
    color: #0f172a;
}
.header-mobile-drawer-tools {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 0.75rem;
    margin-top: 0.5rem;
    padding: 1rem 1.25rem 0;
    border-top: 1px solid #e2e8f0;
}
.header-mobile-drawer-tools .header-nav-dropdown-divider {
    width: 1px;
    height: auto;
    min-height: 2.75rem;
    align-self: center;
    flex-shrink: 0;
}
.header-mobile-drawer-tools .header-currency-trigger,
.header-mobile-drawer-tools .header-lang-trigger {
    flex: 1;
    min-width: 0;
    width: auto;
    justify-content: center;
}
.header-mobile-drawer-tools el-dropdown {
    display: block;
    flex: 1;
    min-width: 0;
}
.top-bar-bg {
    background-color: #1B3B6F;
}
.top-bar-icon {
    display: inline-block;
    width: 14px;
    height: 14px;
    vertical-align: middle;
}
/* Header left part icons – always white via filter (works with any icon you swap in later) */
.top-bar-bg .top-bar-left-icon {
    filter: brightness(0) invert(1);
}
.top-bar-text {
    color: #DBEAFE;
    font-size: 14px;
    font-weight: 400;
}
.reviews-link {
    color: #FBBF24;
}
/* Header right: star icon – force color #FBBF24 via filter (works with any icon you swap in) */
.reviews-star {
    filter: brightness(0) saturate(100%) invert(88%) sepia(12%) saturate(3603%) hue-rotate(337deg) brightness(100%) contrast(97%);
}

/* Header — vertical rule between currency and language dropdowns */
.header-nav-dropdown-divider {
    display: block;
    width: 1px;
    height: 1.25rem;
    flex-shrink: 0;
    background-color: #e2e8f0;
}

/* Header — currency & language dropdown triggers (same chrome + hover) */
.header-currency-trigger,
.header-lang-trigger {
    align-items: center;
    gap: 0.5rem;
    padding: 0.2rem 0.75rem;
    border-radius: 0.2rem;
    border: 1px solid transparent;
    box-shadow: none;
    font-size: 0.875rem;
    font-weight: 600;
    color: #0f172a;
    background: #fff;
    cursor: pointer;
}
.header-currency-trigger:hover,
.header-lang-trigger:hover {
    border-color: #e2e8f0;
}
/* Chevron in header dropdown triggers — rotates when el-menu is open (Tailwind Plus sets [open] / :popover-open) */
.header-dropdown-chevron {
    display: block;
    flex-shrink: 0;
    transition: transform 0.2s ease;
}
el-dropdown:has(el-menu[open]) .header-dropdown-chevron,
el-dropdown:has(el-menu:popover-open) .header-dropdown-chevron {
    transform: rotate(180deg);
}
/* ~3:2 flag icon — same in currency & language triggers */
.header-currency-trigger-flag,
.header-lang-trigger-flag {
    width: 1.5rem;
    height: 1rem;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
    border-radius: 2px;
    flex-shrink: 0;
}
.header-currency-panel,
.header-lang-panel {
    border-radius: 0.5rem;
    border: 1px solid #e2e8f0;
    box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.08), 0 4px 6px -2px rgba(15, 23, 42, 0.04);
    overflow: hidden;
    background: #fff;
    padding: 0;
}
.header-lang-panel {
    min-width: 17.5rem;
    max-width: 22rem;
}
/* Two-column row-major grid (1–2 / 3–4 / …); wider than single-column language panel */
.header-currency-panel {
    min-width: 22rem;
    max-width: 30rem;
}
.header-currency-panel__title,
.header-lang-panel__title {
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #94a3b8;
    padding: 0.75rem 1rem 0.625rem;
    border-bottom: 1px solid #f1f5f9;
    line-height: 1.2;
}
.header-lang-panel__list {
    padding: 0.25rem 0 0.5rem;
    max-height: min(70vh, 22rem);
    overflow-y: auto;
}
/* Row-major: fill across then down (not column-count column-first order) */
.header-currency-panel__list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-flow: row;
    -moz-column-gap: 0.5rem;
         column-gap: 0.5rem;
    row-gap: 0;
    padding: 0.375rem 0.75rem 0.625rem;
    max-height: min(70vh, 20rem);
    overflow-y: auto;
    align-items: stretch;
}
.header-currency-row {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0.5rem;
    text-decoration: none;
    color: inherit;
    transition: background-color 0.15s ease;
}
.header-currency-row:hover {
    background-color: #f8fafc;
}
.header-currency-row:focus-visible {
    outline: 2px solid #1b3b6f;
    outline-offset: -2px;
}
.header-currency-row--current {
    background-color: #f1f5f9;
}
.header-currency-row__flag {
    width: 1.75rem;
    height: 1.25rem;
    -o-object-fit: cover;
       object-fit: cover;
    border-radius: 2px;
    flex-shrink: 0;
}
.header-currency-row__text {
    flex: 1;
    min-width: 0;
    text-align: left;
}
.header-currency-row__code {
    display: block;
    font-size: 0.875rem;
    font-weight: 700;
    color: #1b3b6f;
    line-height: 1.2;
}
.header-currency-row__name {
    display: block;
    font-size: 0.75rem;
    color: #64748b;
    margin-top: 0.125rem;
    line-height: 1.25;
}
.header-currency-row__check {
    width: 1.125rem;
    height: 1.125rem;
    flex-shrink: 0;
    color: #f59e0b;
}
.header-currency-row__check-spacer {
    width: 1.125rem;
    height: 1.125rem;
    flex-shrink: 0;
}

/* Header — language dropdown rows (flag + label + check; matches SELECT LANGUAGE design) */
.header-lang-row {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.625rem 1rem;
    text-decoration: none;
    color: inherit;
    transition: background-color 0.15s ease;
}
.header-lang-row:hover {
    background-color: #f8fafc;
}
.header-lang-row:focus-visible {
    outline: 2px solid #1b3b6f;
    outline-offset: -2px;
}
.header-lang-row--current {
    background-color: #f1f5f9;
}
.header-lang-row__flag {
    width: 1.75rem;
    height: 1.25rem;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
    border-radius: 2px;
    flex-shrink: 0;
}
.header-lang-row__label {
    flex: 1;
    min-width: 0;
    text-align: left;
    font-size: 0.875rem;
    font-weight: 500;
    color: #475569;
    line-height: 1.25;
}
.header-lang-row__check {
    width: 1.125rem;
    height: 1.125rem;
    flex-shrink: 0;
    color: #f59e0b;
}
.header-lang-row__check-spacer {
    width: 1.125rem;
    height: 1.125rem;
    flex-shrink: 0;
}

.nav-link {
    color: #475569;
}
.currency-select {
    color: #1B3B6F;
}
.language-select {
    color: #475569;
}
.hero-gradient {
    background: #112E5D;
    background: linear-gradient(90deg, rgba(17, 46, 93, 1) 0%, rgba(27, 59, 111, 1) 50%, rgba(27, 59, 111, 1) 100%);
}
.hero-margin {
    padding-top: 105px; /* clear fixed header (top bar + nav) */
}
@media (max-width: 767px) {
    .hero-margin {
        padding-top: 72px; /* nav only on mobile when top bar hidden */
    }
}
.trip-selector-bg {
    background-color: #F8FAFC;
}
.single-trip-btn {
    background-color: #1B3B6F;
    font-size: 14px;
}
.price-box-bg {
    background-color: #F8FAFC;
}
.section-title-blue {
    color: #1B3B6F;
}
.section-text-slate {
    color: #475569;
}
.section-bg {
    background-color: #F8FAFC;
}
.process-line {
    background-color: #CBD5E1;
    height: 2px;
}
.process-circle-border {
    border: 2px solid #F8FAFC;
}
/* 3-step process icons – exact colors via CSS filter */
.process-step-icon {
    display: block;
}
.process-step-icon-cursor {
    filter: brightness(0) saturate(100%) invert(22%) sepia(16%) saturate(2289%) hue-rotate(177deg) brightness(96%) contrast(99%);
}
.process-step-icon-payment {
    filter: brightness(0) saturate(100%) invert(45%) sepia(99%) saturate(1111%) hue-rotate(5deg) brightness(91%) contrast(95%);
}
.process-step-icon-vehicle {
    filter: brightness(0) saturate(100%) invert(34%) sepia(28%) saturate(6952%) hue-rotate(146deg) brightness(95%) contrast(96%);
}
/* CTA button arrow – white via filter */
.cta-arrow-icon {
    filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(0%) hue-rotate(108deg) brightness(104%) contrast(104%);
    vertical-align: middle;
}
.table-row-bg {
    background-color: #F8FAFC;
}

/* Official Site vs. Theoresundbridge.com comparison section */
.comparison-section {
    background-color: #ffffff;
    padding-top: 5.25rem;
    padding-bottom: 5.25rem;
}
.comparison-title {
    color: #1B3B6F;
    font-size: 2.25rem;
    font-weight: 700;
    text-align: center;
    margin-bottom: 0.5rem;
}
.comparison-subtitle {
    color: #475569;
    text-align: center;
    margin-bottom: 2rem;
}
.comparison-table-wrapper {
    border: 1px solid #E2E8F0;
    border-radius: 16px;
    overflow: hidden;
}
.comparison-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}
.comparison-table thead tr {
    background-color: rgba(239, 246, 255, 0.5);
}
.comparison-table thead th {
    padding: 1rem 1.5rem;
    text-align: left;
    font-size: 12px;
    color: #475569;
}
.comparison-table thead th:first-child {
    text-align: left;
}
.comparison-table thead th:nth-child(2),
.comparison-table thead th:nth-child(3) {
    text-align: center;
}
.comparison-table thead th:last-child {
    color: #1B3B6F;
    font-size: 14px;
}
.comparison-table tbody tr {
    background-color: #ffffff;
}
.comparison-table tbody td {
    padding: 1rem 1.5rem;
    border-top: 1px solid #E2E8F0;
}
.comparison-table tbody td:first-child {
    font-size: 16px;
    color: #1B3B6F;
    text-align: left;
}
.comparison-table tbody td:nth-child(2) {
    font-size: 13px;
    color: #64748B;
    text-align: center;
}
.comparison-table tbody td.comparison-col-3 {
    font-size: 16px;
    color: #1B3B6F;
    text-align: center;
    background-color: rgba(239, 246, 255, 0.3);
}
.comparison-check {
    color: #10B981;
    margin-left: 0.25rem;
}
.comparison-table tfoot tr {
    background-color: #F8FAFC;
}
.comparison-table tfoot td {
    border-top: 1px solid #E2E8F0;
    padding: 1rem 1.5rem;
}
.comparison-foot-cell {
    text-align: center;
}
.comparison-foot-link {
    color: #D97706;
    text-decoration: none;
    font-weight: 500;
}
.comparison-foot-link:hover {
    text-decoration: underline;
}
.comparison-foot-link .comparison-foot-arrow {
    display: inline-block;
    vertical-align: middle;
    margin-left: 0.25rem;
    filter: brightness(0) saturate(100%) invert(59%) sepia(44%) saturate(6766%) hue-rotate(12deg) brightness(99%) contrast(95%);
}

/* Free Øresund Bridge Guides section */
.guides-section {
    background-color: #F8FAFC;
    padding-top: 5.25rem;
    padding-bottom: 5.25rem;
}
.guides-section .guides-title {
    color: #1B3B6F;
    font-size: 2.25rem;
    font-weight: 700;
    text-align: left;
    margin-bottom: 0.5rem;
}
.guides-section .guides-subtitle {
    color: #475569;
    font-size: 18px;
    text-align: left;
    margin-bottom: 2rem;
}
.guides-grid {
    gap: 1.3125rem; /* 21px */
}
.guides-card-link {
    display: block;
    text-decoration: none;
    color: inherit;
    border-radius: 16px;
    border: 1px solid #E2E8F0;
    overflow: hidden;
    box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.05);
    transition: box-shadow 0.2s ease;
}
.guides-card-link:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}
.guides-card-image-wrap {
    position: relative;
    width: 100%;
    height: 200px;
    max-height: 200px;
    overflow: hidden;
    border-radius: 16px 16px 0 0;
}
.guides-card-image-wrap img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    display: block;
}
.guides-card-category {
    position: absolute;
    top: 0;
    left: 0;
    margin: 12px;
    padding: 6px 12px;
    background-color: rgba(27, 59, 111, 0.9);
    color: #ffffff;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    border-radius: 8px;
    border: none;
}
.guides-card-content {
    background-color: #ffffff;
    border-radius: 0 0 16px 16px;
    padding: 1rem 1.25rem;
}
.guides-card-content h3 {
    color: #1B3B6F;
    font-size: 1.125rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
    line-height: 1.3;
}
.guides-card-readmore {
    color: #D97706;
    font-size: 0.875rem;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}
.guides-card-readmore .arrow {
    color: #D97706;
}
.guides-card-readmore .guides-card-readmore-icon {
    display: inline-block;
    vertical-align: middle;
    margin-left: 0.25rem;
    filter: brightness(0) saturate(100%) invert(56%) sepia(31%) saturate(7036%) hue-rotate(10deg) brightness(96%) contrast(95%);
}

/* Bridge News & Travel Updates section */
.news-section {
    background-color: #EBF4FF;
}
.news-tagline {
    color: #D97706;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 0.25rem;
}
.news-section .news-title {
    color: #1B3B6F;
    font-size: 2.25rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
}
.news-section .news-description {
    color: #475569;
    font-size: 18px;
    margin-bottom: 0;
}
.news-header-blocks {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
    margin-bottom: 2rem;
}
@media (min-width: 768px) {
    .news-header-blocks {
        grid-template-columns: 1fr 1fr;
    }
}
.news-header-left {
    min-width: 0;
}
.news-header-right {
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
}
.news-view-all-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.2rem 1.25rem;
    background-color: #ffffff;
    color: #1B3B6F;
    font-weight: 600;
    text-decoration: none;
    border: 1px solid #E2E8F0;
    border-radius: 16px;
    box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.05);
    transition: box-shadow 0.2s ease;
}
.news-view-all-btn:hover {
    color: #1B3B6F;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}
.news-view-all-btn .news-view-all-arrow {
    display: inline-block;
    vertical-align: middle;
    filter: brightness(0) saturate(100%) invert(14%) sepia(99%) saturate(1290%) hue-rotate(201deg) brightness(97%) contrast(88%);
}
.news-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.3125rem;
}
@media (min-width: 768px) {
    .news-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}
.news-card-link {
    display: flex;
    flex-direction: column;
    height: 100%;
    text-decoration: none;
    color: inherit;
    background-color: #ffffff;
    border: 1px solid #F1F5F9;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.05);
    transition: box-shadow 0.2s ease;
}
.news-card-link:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}
.news-card-image-wrap {
    position: relative;
    width: 100%;
    height: 200px;
    max-height: 200px;
    overflow: hidden;
    flex-shrink: 0;
}
.news-card-image-wrap img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    display: block;
}
.news-card-category-link {
    position: absolute;
    top: 12px;
    left: 12px;
    padding: 6px 12px;
    background-color: rgba(255, 255, 255, 0.9);
    color: #1B3B6F;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    text-decoration: none;
    border-radius: 16px;
    border: 1px solid #F1F5F9;
    box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.05);
    backdrop-filter: blur(12px);
}
.news-card-category-link:hover {
    color: #1B3B6F;
}
.news-card-category-tag {
    position: absolute;
    top: 12px;
    left: 12px;
    padding: 6px 12px;
    background-color: rgba(255, 255, 255, 0.9);
    color: #1B3B6F;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    border-radius: 16px;
    border: 1px solid #F1F5F9;
    box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.05);
    backdrop-filter: blur(12px);
}
.news-card-content {
    padding: 1.5rem 1.25rem;
    flex: 1;
    display: flex;
    flex-direction: column;
}
.news-card-meta {
    color: #94A3B8;
    font-size: 0.8125rem;
    margin-bottom: 1rem;
}
.news-card-content h3 {
    color: #1B3B6F;
    font-size: 1.125rem;
    font-weight: 700;
    margin-bottom: 1rem;
    line-height: 1.3;
    flex-shrink: 0;
}
.news-card-excerpt {
    color: #475569;
    font-size: 13px;
    line-height: 1.5;
    margin-bottom: 1rem;
    flex: 1;
    min-height: 0;
}
.news-card-readmore {
    color: #D97706;
    font-size: 0.875rem;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    margin-top: auto;
    padding-top: 1rem;
    margin-top: 1rem;
    border-top: 1px solid #F8FAFC;
}
.news-card-readmore .news-card-readmore-icon {
    display: inline-block;
    vertical-align: middle;
    margin-left: 0.25rem;
    filter: brightness(0) saturate(100%) invert(51%) sepia(18%) saturate(4159%) hue-rotate(6deg) brightness(93%) contrast(95%);
}

/* Frequently Asked Questions section */
.faq-section {
    background-color: #ffffff;
    padding-top: 5.25rem;
    padding-bottom: 5.25rem;
}
.faq-section .faq-icon-wrap {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background-color: #F0FDF4;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1rem;
}
.faq-section .faq-icon-wrap .faq-icon {
    display: block;
    filter: brightness(0) saturate(100%) invert(16%) sepia(18%) saturate(6104%) hue-rotate(201deg) brightness(97%) contrast(88%);
}
.faq-section .faq-title {
    color: #1B3B6F;
    font-size: 2.25rem;
    font-weight: 700;
    text-align: center;
    margin-bottom: 0.5rem;
}
.faq-section .faq-description {
    color: #475569;
    text-align: center;
    margin-bottom: 2rem;
}
.faq-accordion {
    background-color: #ffffff;
    border: 1px solid #F1F5F9;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}
.faq-item {
    border-bottom: 1px solid #F1F5F9;
}
.faq-item:last-child {
    border-bottom: none;
}
.faq-item summary {
    list-style: none;
    cursor: pointer;
    padding: 1rem 1.25rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}
.faq-item summary::-webkit-details-marker {
    display: none;
}
.faq-item summary h3 {
    color: #1B3B6F;
    font-size: 16px;
    font-weight: 700;
    margin: 0;
    flex: 1;
}
.faq-item .faq-arrow-wrap {
    width: 30px;
    height: 30px;
    min-width: 30px;
    border-radius: 50%;
    background-color: #F1F5F9;
    display: flex;
    align-items: center;
    justify-content: center;
}
.faq-item .faq-arrow-wrap .faq-arrow-icon {
    display: block;
    transition: transform 0.2s ease;
    filter: brightness(0) saturate(100%) invert(66%) sepia(12%) saturate(519%) hue-rotate(175deg) brightness(97%) contrast(86%);
}
.faq-item[open] .faq-arrow-wrap .faq-arrow-icon {
    transform: rotate(180deg);
}
.faq-item .faq-answer {
    padding: 0 1.25rem 1rem;
    color: #475569;
    font-size: 0.9375rem;
    line-height: 1.5;
}
.faq-item .faq-answer p {
    margin: 0 0 0 0;
    padding-left: 0;
}
.faq-cta-wrap {
    margin-top: 2rem;
    padding-top: 2rem;
}
.faq-cta-text {
    text-align: center;
    color: #475569;
    margin-top: 0;
    margin-bottom: 1rem;
}
.faq-chat-wrap {
    margin-top: 0.5rem;
}
.faq-chat-link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: #D97706;
    font-weight: 600;
    text-decoration: none;
}
.faq-chat-link:hover {
    color: #B45309;
}
.faq-chat-link .faq-chat-icon {
    display: inline-block;
    vertical-align: middle;
    filter: brightness(0) saturate(100%) invert(41%) sepia(68%) saturate(1326%) hue-rotate(11deg) brightness(101%) contrast(95%);
}

/* Your Purchase is Protected section */
.protected-section {
    background-color: #F8FAFC;
    padding-top: 5.25rem;
    padding-bottom: 5.25rem;
}
.protected-section .protected-title {
    color: #1B3B6F;
    font-size: 2.25rem;
    font-weight: 700;
    text-align: center;
    margin-bottom: 3rem;
}
.protected-cards {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
    margin-bottom: 3rem;
}
@media (min-width: 768px) {
    .protected-cards {
        grid-template-columns: repeat(3, 1fr);
    }
}
.protected-card {
    background-color: #ffffff;
    border-radius: 16px;
    padding: 2rem;
    text-align: center;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}
.protected-card-icon-wrap {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background-color: #F0FDF4;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1.25rem;
}
.protected-card-icon-wrap .protected-card-icon {
    display: block;
    filter: brightness(0) saturate(100%) invert(18%) sepia(19%) saturate(3836%) hue-rotate(192deg) brightness(100%) contrast(94%);
}
.protected-card h3 {
    color: #1B3B6F;
    font-size: 1.25rem;
    font-weight: 700;
    margin-bottom: 0.75rem;
}
.protected-card p {
    color: #475569;
    font-size: 0.9375rem;
    line-height: 1.5;
    margin: 0;
}
.protected-payment-logos {
    text-align: center;
    margin-bottom: 2.5rem;
}
.protected-payment-logos img {
    display: block;
    max-height: 32px;
    max-width: 100%;
    width: auto;
    margin-left: auto;
    margin-right: auto;
    -o-object-fit: contain;
       object-fit: contain;
}
.protected-cta-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background-color: #F59E0B;
    color: #ffffff;
    font-size: 1rem;
    font-weight: 600;
    padding: 1rem 1.5rem;
    border-radius: 8px;
    text-decoration: none;
    border: none;
    cursor: pointer;
    box-shadow: 0px 4px 6px -4px rgba(0, 0, 0, 0.1);
}
.protected-cta-btn .protected-cta-arrow {
    display: inline-block;
    vertical-align: middle;
    filter: brightness(0) saturate(100%) invert(100%) sepia(68%) saturate(2%) hue-rotate(108deg) brightness(110%) contrast(101%);
}

/* Hero left content */
.hero-trust-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background-color: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 16px;
    padding: 0.5rem 1rem;
    font-size: 11px;
    font-weight: 500;
    color: #FBBF24;
    text-decoration: none;
}
/* Hero left: icon base + filters by color */
.hero-icon {
    display: inline-block;
    vertical-align: middle;
}
.hero-trust-badge .hero-trust-star {
    filter: brightness(0) saturate(100%) invert(91%) sepia(29%) saturate(5182%) hue-rotate(337deg) brightness(99%) contrast(100%);
}
.hero-h1 {
    font-size: 52px;
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 1.5rem;
}
.hero-h1-white {
    color: white;
}
.hero-h1-gradient {
    background: linear-gradient(90deg, #FBBF24 0%, #FB923C 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}
.hero-desc {
    font-size: 18px;
    color: #DBEAFE;
    line-height: 1.6;
    margin-bottom: 1.5rem;
}
.hero-feature-block {
    border: 1px solid rgba(255, 255, 255, 0.2);
    background-color: rgba(27, 59, 111, 0.5);
    border-radius: 16px;
    padding: 0.5rem 1rem;
    font-size: 13px;
    font-weight: 500;
    color: white;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.hero-feature-block .hero-shield-icon {
    filter: brightness(0) saturate(100%) invert(100%) sepia(31%) saturate(5280%) hue-rotate(77deg) brightness(97%) contrast(69%);
}
.hero-feature-block .hero-globe-icon {
    filter: brightness(0) saturate(100%) invert(61%) sepia(24%) saturate(2483%) hue-rotate(188deg) brightness(101%) contrast(96%);
}
/*
 * Home hero (desktop): shrink ticket card visually. transform does not change layout height,
 * so margin-bottom pulls the grid row up roughly in proportion to the scale factor.
 */
@media (min-width: 768px) {
    .home-hero-ticket-card-scale {
        --home-hero-ticket-scale: 0.9;
        transform: scale(var(--home-hero-ticket-scale));
        transform-origin: top right;
        justify-self: end;
        width: 100%;
        max-width: 100%;
        margin-bottom: clamp(-5.5rem, -14vh, -3.5rem);
    }
}
/* Hero ticket card */
.hero-ticket-card {
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 16px;
    overflow: hidden;
}
.hero-ticket-card-header {
    background-color: #1B3B6F;
    padding: 1rem 1.5rem;
    text-align: center;
}
.hero-ticket-card-header-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}
.hero-ticket-card-icon {
    display: inline-block;
    vertical-align: middle;
    filter: brightness(0) saturate(100%) invert(65%) sepia(61%) saturate(1431%) hue-rotate(355deg) brightness(97%) contrast(97%);;
}
.hero-ticket-calendar-icon {
    display: inline-block;
    vertical-align: middle;
    margin-right: 0.25rem;
    filter: brightness(0) saturate(100%) invert(80%) sepia(15%) saturate(500%) hue-rotate(180deg) brightness(95%) contrast(90%);
}
.hero-ticket-label-with-icon {
    display: inline-flex;
    align-items: center;
}
.hero-ticket-check-icon,
.hero-ticket-shield-icon {
    display: inline-block;
    vertical-align: middle;
    margin-right: 0.25rem;
    filter: brightness(0) saturate(100%) invert(74%) sepia(57%) saturate(4883%) hue-rotate(116deg) brightness(89%) contrast(87%);
}
.hero-ticket-card-title {
    font-size: 16px;
    font-weight: 700;
    color: white;
    margin: 0;
}
.hero-ticket-card-subtitle {
    font-size: 11px;
    color: #DBEAFE;
    margin-top: 0.25rem;
    margin-bottom: 0;
}
.hero-ticket-card-body {
    background: white;
    padding: 1.5rem;
}
.hero-ticket-switch {
    background-color: #F1F5F9;
    border-radius: 16px;
    padding: 4px;
    display: flex;
    gap: 4px;
    margin-bottom: 1.5rem;
}
/* Shared geometry: equal halves, fixed min-height, content always centered */
.hero-ticket-switch > button {
    flex: 1 1 0%;
    min-width: 0;
    min-height: 44px;
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.375rem;
    padding: 10px 0.75rem;
    border-radius: 12px;
    border: none;
    cursor: pointer;
    font-size: 14px;
    font-weight: 600;
    text-align: center;
}
.hero-ticket-switch-btn-active {
    background: #ffffff;
    color: #1B3B6F !important;
}
.hero-ticket-switch-btn-active .hero-ticket-switch-icon {
    display: block;
    flex-shrink: 0;
    filter: brightness(0) saturate(100%) invert(20%) sepia(40%) saturate(2000%) hue-rotate(195deg) brightness(0.65) contrast(1.05);
}
.hero-ticket-switch-btn {
    background: transparent;
    color: #64748B !important;
}
.hero-ticket-switch-btn .hero-ticket-switch-icon {
    display: block;
    flex-shrink: 0;
    filter: brightness(0) saturate(100%) invert(50%) sepia(14%) saturate(727%) hue-rotate(176deg) brightness(85%) contrast(83%);
}
.hero-ticket-switch-btn-placeholder {
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}
.hero-ticket-label {
    color: #1B3B6F;
    font-size: 13px;
    font-weight: 600;
    display: block;
    margin-bottom: 0.5rem;
}
.hero-ticket-input {
    width: 100%;
    border: 1px solid #CBD5E1;
    border-radius: 16px;
    padding: 0.75rem 1rem;
    font-size: 14px;
    background-color: white;
    color: #1E293B;
    cursor: pointer;
    -moz-appearance: auto;
         appearance: auto;
    -webkit-appearance: menulist;
}
.hero-ticket-input::-moz-placeholder {
    color: #1E293B;
}
.hero-ticket-input::placeholder {
    color: #1E293B;
}
.hero-ticket-input option {
    color: #1E293B;
}
/*
 * Hero card selects: hide native arrow (not styleable) and use a custom chevron.
 * Position: inset from the right by 0.75rem + 5px (matches earlier layout request).
 */
.hero-ticket-card-body select.hero-ticket-input {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding-right: 2.5rem;
    background-color: #ffffff;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none'%3E%3Cpath stroke='%2364748B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right calc(0.75rem + 5px) center;
    background-size: 12px 12px;
}
.hero-ticket-card-body select.hero-ticket-input::-ms-expand {
    display: none;
}
.hero-ticket-card-body select.hero-ticket-input:focus {
    outline: none;
    border-color: #1B3B6F;
    box-shadow: 0 0 0 2px rgba(27, 59, 111, 0.15);
}
.hero-ticket-date-hint {
    font-size: 11px;
    color: #64748B;
    margin-top: 0.25rem;
}
/* Home hero: Step1 travel date (Vuetify picker) matches hero inputs */
.hero-ticket-card-body .hero-ticket-travel-field .book-ticket-travel-date-wrap {
    border-radius: 16px;
    position: relative;
}
.hero-ticket-card-body .hero-ticket-travel-field .book-ticket-calendar-icon {
    position: absolute;
    left: 0.75rem;
    top: 50%;
    transform: translateY(-50%);
    width: 1.25rem;
    height: 1.25rem;
    pointer-events: none;
    z-index: 1;
}
.hero-ticket-card-body .hero-ticket-travel-field .book-ticket-input.book-ticket-date-input {
    width: 100%;
    border: 1px solid #CBD5E1;
    border-radius: 16px;
    padding: 0.75rem 1rem 0.75rem 2.75rem;
    font-size: 14px;
    background-color: white;
    color: #1E293B;
    cursor: pointer;
    box-sizing: border-box;
}
.hero-ticket-card-body .hero-ticket-travel-field label.block {
    color: #1B3B6F !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    display: block;
    margin-bottom: 0.5rem;
}
.hero-ticket-card-body .hero-ticket-travel-field .book-ticket-datepicker-dropdown {
    z-index: 60;
}
/* Space above currency row (override space-y-4 for last row) */
.hero-ticket-card-body .hero-ticket-inputs > .hero-ticket-last-input-wrap {
    margin-top: 10px;
}
.hero-ticket-price-block {
    background-color: #F1F5F9;
    border-radius: 16px;
    padding: 1rem;
    margin-top: 1.5rem;
    margin-bottom: 1rem;
}
.hero-ticket-price-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.hero-ticket-price-right {
    text-align: right;
}
.hero-ticket-price-label {
    font-size: 14px;
    color: #475569;
}
.hero-ticket-price-value {
    font-size: 27px;
    font-weight: 700;
    color: #1B3B6F;
}
.hero-ticket-price-hint {
    font-size: 14px;
    color: #059669;
    margin-top: 0.25rem;
}
.hero-ticket-last-input-wrap {
    margin-bottom: 2rem;
}
.hero-ticket-cta-btn {
    width: 100%;
    background-color: #F59E0B;
    color: white;
    font-size: 16px;
    font-weight: 700;
    border-radius: 16px;
    padding: 1rem;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}
.angle-right-icon {
    display: inline-block;
    vertical-align: middle;
    margin-left: 0.25rem;
    filter: brightness(0) saturate(100%) invert(47%) sepia(91%) saturate(1073%) hue-rotate(3deg) brightness(90%) contrast(95%);
}
.hero-ticket-cta-btn .angle-right-icon {
    filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(0%) hue-rotate(161deg) brightness(114%) contrast(101%);
}
.vignette-cta-btn .angle-right-icon {
    filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(7409%) hue-rotate(252deg) brightness(100%) contrast(105%);
}
.hero-ticket-divider {
    border-top: 1px solid #F1F5F9;
    margin-top: 1rem;
    padding-top: 1rem;
}
.hero-ticket-payment-text {
    text-align: center;
    font-size: 14px;
    color: #64748B;
    margin-bottom: 0.75rem;
}
.hero-ticket-payment-icons {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.75rem;
    margin-bottom: 1rem;
}
.hero-ticket-footer {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    font-size: 14px;
    color: #64748B;
}
.hero-ticket-footer i.fa-check {
    color: #059669;
}
.hero-ticket-footer i.fa-shield-alt {
    color: #059669;
}
/* Prices 2026 section */
.prices-section-wrap {
    background-color: white;
    padding-top: 84px;
    padding-bottom: 84px;
}
.currency-switcher {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: center;
    margin-bottom: 1.5rem;
    background-color: #F1F5F9;
    padding: 0.5rem;
    border-radius: 16px;
    width: -moz-fit-content;
    width: fit-content;
}
.currency-switcher-btn {
    padding: 0.5rem 1rem;
    border-radius: 16px;
    font-size: 14px;
    font-weight: 500;
    background: transparent;
    color: #64748B;
    border: none;
    cursor: pointer;
}
.currency-switcher-btn.active {
    background-color: white;
    color: #1B3B6F;
    border-radius: 8px;
}
.prices-table-wrap {
    width: 80%;
    margin-left: auto;
    margin-right: auto;
    border-radius: 16px;
    border: 1px solid #E2E8F0;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    overflow: hidden;
}
.prices-table thead tr {
    background-color: #1B3B6F;
    color: white;
}
.prices-table {
    table-layout: fixed;
    width: 100%;
}
.prices-table thead th {
    padding: 1rem 1.5rem;
    text-align: left;
    font-weight: 600;
}
.prices-table thead th:nth-child(1) {
    width: 60%;
}
.prices-table thead th:nth-child(2),
.prices-table thead th:nth-child(3) {
    width: 20%;
    text-align: center;
}
.prices-table tbody td {
    padding: 1rem 1.5rem;
    color: #1B3B6F;
    border-bottom: 1px solid #E2E8F0;
}
.prices-table tbody td:nth-child(2),
.prices-table tbody td:nth-child(3) {
    text-align: center;
}
.prices-table tbody td:nth-child(2) {
    font-size: 18px;
    font-weight: bold;
}
.prices-table tbody tr:last-child td {
    border-bottom: none;
}
.prices-buy-btn {
    background-color: #F59E0B;
    color: white;
    padding: 0.5rem 1rem;
    border-radius: 16px;
    font-size: 14px;
    font-weight: 600;
    border: none;
    cursor: pointer;
}
a.prices-buy-btn {
    text-decoration: none;
    display: inline-block;
}
.prices-notification {
    width: 80%;
    margin-left: auto;
    margin-right: auto;
    background-color: #F1F5F9;
    border: 1px solid #FEF3C7;
    border-radius: 16px;
    padding: 1rem 1.25rem;
    margin-top: 1.5rem;
}
.prices-notification p {
    font-size: 14px;
    color: #94A3B8;
    margin: 0;
}
.prices-notification .prices-notification-icon {
    display: inline-block;
    vertical-align: middle;
    margin-right: 0.25rem;
    filter: brightness(0) saturate(100%) invert(66%) sepia(42%) saturate(1282%) hue-rotate(352deg) brightness(96%) contrast(100%);
}
.prices-valid-text {
    font-size: 14px;
    color: #94A3B8;
    margin-top: 0.875rem;
    margin-bottom: 0.5rem;
}
.prices-footer-link-wrap {
    margin-bottom: 1.75rem;
}
.prices-currency-link {
    color: #D97706;
    font-weight: 500;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}
.prices-currency-link:hover {
    color: #B45309;
}
.prices-tab-panel {
    display: none;
}
.prices-tab-panel.active {
    display: block;
}
/* Vignette section */
.vignette-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    align-items: start;
}
@media (max-width: 767px) {
    .vignette-grid {
        grid-template-columns: 1fr;
    }
}
.vignette-about-badge {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    color: #1B3B6F;
    padding: 4px 12px;
    background-color: #F0FDF4;
    border: 1px solid #DBEAFE;
    border-radius: 9999px;
    margin-bottom: 1rem;
}
.vignette-title {
    color: #1B3B6F;
    font-size: 2.25rem;
    font-weight: 700;
    margin-bottom: 1rem;
}
.vignette-body {
    color: #475569;
    font-size: 1rem;
    line-height: 1.6;
    margin-bottom: 1rem;
}
.vignette-body strong {
    color: #1B3B6F;
}
.vignette-why-title {
    color: #1B3B6F;
    font-size: 1.25rem;
    font-weight: 700;
    margin-top: 1.5rem;
    margin-bottom: 1rem;
}
.vignette-why-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    margin-bottom: 1.5rem;
}
.vignette-why-block {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
}
.vignette-why-block .vignette-why-icon {
    flex-shrink: 0;
    display: block;
    font-size: 1.25rem;
}
.vignette-why-block .vignette-why-icon-star {
    filter: brightness(0) saturate(100%) invert(85%) sepia(98%) saturate(3832%) hue-rotate(332deg) brightness(100%) contrast(97%);
}
.vignette-why-block .vignette-why-icon-shield {
    filter: brightness(0) saturate(100%) invert(54%) sepia(71%) saturate(458%) hue-rotate(109deg) brightness(92%) contrast(103%);
}
.vignette-why-block .vignette-why-icon-globe {
    filter: brightness(0) saturate(100%) invert(38%) sepia(78%) saturate(1066%) hue-rotate(194deg) brightness(101%) contrast(93%);
}
.vignette-why-block .vignette-why-icon-chat {
    filter: brightness(0) saturate(100%) invert(56%) sepia(60%) saturate(5975%) hue-rotate(243deg) brightness(95%) contrast(104%);
}
.vignette-why-heading {
    color: #1B3B6F;
    font-weight: 700;
    font-size: 0.9375rem;
}
.vignette-why-desc {
    color: #64748B;
    font-size: 0.875rem;
    margin-top: 0.25rem;
}
.vignette-cta-btn {
    background-color: #1B3B6F;
    color: white;
    padding: 0.75rem 1.5rem;
    border-radius: 0.5rem;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    border: none;
    cursor: pointer;
    text-decoration: none;
}
.vignette-review-card {
    background: white;
    border: 1px solid #E2E8F0;
    border-radius: 16px;
    padding: 1.5rem;
    box-shadow: 0 8px 10px -6px rgba(0, 0, 0, 0.1);
    height: -moz-fit-content;
    height: fit-content;
}
.vignette-review-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.25rem;
}
.vignette-review-brand {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-weight: 700;
    color: #1B3B6F;
    font-size: 1.125rem;
}
.vignette-review-rating {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.875rem;
    color: #64748B;
}
.vignette-review-rating .stars {
    color: #00B67A;
    display: flex;
}
.vignette-review-rating .stars img {
    background-color: #00B67A;
    padding: 3px;
    border-radius: 3px;
    margin: 0 2px;
}
.vignette-review-item {
    padding-bottom: 1rem;
    margin-bottom: 1rem;
    border-bottom: 1px solid #E2E8F0;
}
.vignette-review-item:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}
.vignette-review-stars {
    color: #00B67A;
    font-size: 0.75rem;
    margin-bottom: 0.25rem;
    display: flex;
}
.vignette-review-stars img {
    background-color: #00B67A;
    padding: 3px;
    border-radius: 3px;
    margin: 0 2px;
}
.vignette-review-title {
    font-weight: 700;
    color: #0F172A;
    font-size: 0.9375rem;
    margin-bottom: 0.25rem;
}
.vignette-review-quote {
    font-size: 0.875rem;
    color: #475569;
    font-style: italic;
    line-height: 1.5;
    margin-bottom: 0.5rem;
}
.vignette-review-meta {
    font-size: 0.75rem;
    color: #94A3B8;
}

/* Footer */
.bg-nordic-900{
    background-color: #1b3b6f;
}
.text-nordic-900{
    color: #1b3b6f;
}
.site-footer {
    background-color: #1B3B6F;
    color: #ffffff;
    padding-top: 3rem;
    padding-bottom: 2rem;
}
.site-footer .footer-title {
    color: #ffffff;
    font-size: 1rem;
    font-weight: 700;
    margin-bottom: 1rem;
}
.site-footer .footer-icon {
    width: 1rem;
    display: inline-block;
    vertical-align: middle;
    margin-right: 0.5rem;
    filter: brightness(0) saturate(100%) invert(81%) sepia(8%) saturate(1659%) hue-rotate(187deg) brightness(104%) contrast(99%);
}
.site-footer ul li {
    margin-bottom: 0.5rem;
}
.site-footer .footer-link {
    color: #BFDBFE;
    text-decoration: none;
    font-size: 0.9375rem;
}
.site-footer .footer-link:hover {
    color: #ffffff;
}
.site-footer .footer-text {
    color: #BFDBFE;
    font-size: 0.9375rem;
    line-height: 1.6;
}
.site-footer .footer-logo-text {
    color: #ffffff;
    font-size: 1.25rem;
    font-weight: 700;
}
.site-footer .footer-social-btn {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background-color: #1E40AF;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}
.site-footer .footer-social-btn .footer-social-icon {
    display: block;
    filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(7481%) hue-rotate(317deg) brightness(106%) contrast(104%);
}
.footer-trust-widget {
    background-color: rgba(30, 58, 138, 0.5);
    border-radius: 8px;
    padding: 1rem;
    text-align: center;
}
.footer-trust-widget .footer-trust-stars .footer-trust-star {
    display: inline-block;
    vertical-align: middle;
    filter: brightness(0) saturate(100%) invert(84%) sepia(36%) saturate(6703%) hue-rotate(356deg) brightness(98%) contrast(96%);
}
.footer-trust-widget .footer-trust-rating {
    color: #ffffff;
    font-weight: 600;
    font-size: 0.9375rem;
}
.footer-trust-widget .footer-trust-reviews {
    color: #BFDBFE;
    font-size: 0.8125rem;
}
.footer-flags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: center;
    margin-top: 1rem;
}
.footer-flags img {
    width: 24px;
    height: auto;
    -o-object-fit: contain;
       object-fit: contain;
    display: block;
}
/* Footer icons from images/icons (contact + social + stars) */
footer .footer-contact-icon {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    display: block;
    filter: brightness(0) saturate(100%) invert(48%) sepia(79%) saturate(2476%) hue-rotate(196deg) brightness(98%) contrast(101%);
}
footer .footer-social-icon-img {
    width: 20px;
    height: 20px;
    display: block;
    filter: brightness(0) saturate(100%) invert(100%) sepia(17%) saturate(2%) hue-rotate(257deg) brightness(115%) contrast(101%);
}
footer a:hover .footer-social-icon-img {
    filter: brightness(0) invert(1);
}
footer .footer-star-icon {
    width: 20px;
    height: 20px;
    display: block;
    filter: brightness(0) saturate(100%) invert(70%) sepia(70%) saturate(2000%) hue-rotate(10deg) brightness(98%) contrast(95%);
}
/* Footer flag tiles (index + pricing-calculator, no inline style) */
.footer-flag-bg {
    background-size: cover;
    background-position: center;
}

/* Footer main grid: 1-[2-3-4]-5 (25% / 50% / 25%) from 776px; compact two-col ≤775px; single col on small phones */
.site-footer-responsive .footer-main-grid {
    display: grid;
    align-items: start;
    gap: 2rem;
}

/* ≥776px: three outer columns; middle column holds three menu blocks as one unit */
@media (min-width: 776px) {
    .site-footer-responsive .footer-main-grid {
        grid-template-columns: minmax(0, 1fr) minmax(0, 2fr) minmax(0, 1fr);
    }

    .site-footer-responsive .footer-main-grid__menus {
        display: grid;
        gap: 1.5rem;
        min-width: 0;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .site-footer-responsive .footer-main-grid__brand {
        grid-column: 1;
        grid-row: 1;
    }

    .site-footer-responsive .footer-main-grid__menus {
        grid-column: 2;
        grid-row: 1;
    }

    .site-footer-responsive .footer-main-grid__trust {
        grid-column: 3;
        grid-row: 1;
    }
}

/* 776–991px: wrap inner menus 2+1 (2 cols, third full width) inside the middle column */
@media (min-width: 776px) and (max-width: 991px) {
    .site-footer-responsive .footer-main-grid__menus {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .site-footer-responsive .footer-main-grid__menus > .footer-main-grid__menu-col:last-child {
        grid-column: 1 / -1;
    }
}

/* ≤775px: same layout as mobile partial — [1|2] / [3|4] / [5 full] */
@media (max-width: 775px) {
    .site-footer-responsive .footer-main-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        -moz-column-gap: 1rem;
             column-gap: 1rem;
        row-gap: 2rem;
        grid-template-areas:
            "brand cs"
            "purchase resources"
            "trust trust";
    }

    .site-footer-responsive .footer-main-grid__menus {
        display: contents;
    }

    .site-footer-responsive .footer-main-grid__brand {
        grid-area: brand;
    }

    .site-footer-responsive .footer-main-grid__menu-col:nth-child(1) {
        grid-area: cs;
    }

    .site-footer-responsive .footer-main-grid__menu-col:nth-child(2) {
        grid-area: purchase;
    }

    .site-footer-responsive .footer-main-grid__menu-col:nth-child(3) {
        grid-area: resources;
    }

    .site-footer-responsive .footer-main-grid__trust {
        grid-area: trust;
    }
}

/* Small phones: stack 1–5 vertically */
@media (max-width: 479px) {
    .site-footer-responsive .footer-main-grid {
        grid-template-columns: 1fr;
        grid-template-areas:
            "brand"
            "cs"
            "purchase"
            "resources"
            "trust";
    }
}
/* Trustpilot icon color (moved from inline style) */
.trustpilot-icon {
    color: #00B67A;
}
.footer-bottom {
    border-top: 1px solid #1E40AF;
    padding-top: 1.5rem;
    margin-top: 2rem;
}
.footer-bottom .footer-copy,
.footer-bottom .footer-disclaimer {
    color: #BFDBFE;
    font-size: 0.875rem;
}
.chat-float-btn {
    background-color: #F59E0B;
}
.chat-float-btn:hover {
    background-color: #D97706;
}
.chat-float-btn .chat-float-btn-icon {
    display: block;
    filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(7452%) hue-rotate(28deg) brightness(115%) contrast(107%);
}

/* ==========================================================================
   PRICE CALCULATOR PAGE (pricing-calculator.html)
   ========================================================================== */

/* Hide Vue template until mounted */
[v-cloak] {
    display: none;
}

/* Scrollbar – price calculator / general */
.calc-scrollbar-hide::-webkit-scrollbar,
.price-calculator-page ::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}
.price-calculator-page ::-webkit-scrollbar-track {
    background: #f1f1f1;
}
.price-calculator-page ::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 4px;
}
.price-calculator-page ::-webkit-scrollbar-thumb:hover {
    background: #94a3b8;
}
.calc-scrollbar-hide {
    -ms-overflow-style: none;
    scrollbar-width: none;
}
.calc-scrollbar-hide::-webkit-scrollbar {
    display: none;
}

/* ----- Calculator widget container ----- */
.calc-widget {
    background-color: #fff;
    border-radius: 1rem;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    border: 1px solid #e2e8f0;
    overflow: hidden;
    max-width: 480px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    z-index: 10;
}
/* Vue calculator + Vuetify datepicker must not clip the calendar popover */
.calc-widget-vue {
    overflow: visible;
}
.calc-widget-vue .calc-widget-header {
    border-radius: 16px 16px 0 0;
}
/* Trip type switch (Single / Return / Multiple) */
.calc-trip-switch-row {
    display: flex;
    align-items: center;
    padding: 0.25rem;
    border-radius: 0.5rem;
    background-color: #f1f5f9;
}
.calc-trip-switch-row .calc-trip-btn {
    flex: 1;
    min-width: 0;
    border: none;
    background: transparent;
    cursor: pointer;
}
/* Wins over `.calc-trip-btn { background: transparent }` — same specificity as active class */
.calc-trip-switch-row .calc-trip-btn.calc-trip-active,
.calc-trip-switch-row .calc-trip-multiple-wrap.calc-trip-active {
    background-color: #1b3b6f !important;
}
.calc-trip-multiple-wrap {
    flex: 1.2;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    border-radius: 0.375rem;
    transition: all 0.2s;
    cursor: pointer;
}
.calc-trip-multiple-label {
    font-size: 0.875rem;
    font-weight: 500;
    white-space: nowrap;
}
.calc-trip-inactive .calc-trip-multiple-label {
    color: #64748b !important;
}
.calc-trip-active .calc-trip-multiple-label {
    color: #ffffff !important;
}
.calc-widget-travel-wrap .book-ticket-input.book-ticket-date-input {
    width: 100%;
    background-color: #fff;
    border: 1px solid #cbd5e1;
    border-radius: 0.5rem;
    padding: 0.75rem 1rem 0.75rem 2.5rem;
    color: #334155;
    font-size: 0.875rem;
    box-sizing: border-box;
}
.calc-widget-travel-wrap .book-ticket-travel-date-wrap {
    border-radius: 0.5rem;
}
.calc-widget-travel-wrap .book-ticket-calendar-icon {
    left: 0.75rem;
    width: 1.25rem;
    height: 1.25rem;
}
.calc-widget-travel-wrap label.block {
    color: #0f172a !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    margin-bottom: 0.5rem !important;
}
.calc-widget-travel-wrap .book-ticket-datepicker-dropdown {
    z-index: 200;
}

/* ----- Calculator form controls ----- */
.calc-select {
    width: 100%;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    background-color: #fff;
    border: 1px solid #cbd5e1;
    border-radius: 0.5rem;
    padding: 0.75rem 1rem;
    padding-right: 2.5rem;
    color: #334155;
    font-size: 0.875rem;
    cursor: pointer;
    outline: none;
    transition: box-shadow 0.2s, border-color 0.2s;
}
.calc-select:focus {
    box-shadow: 0 0 0 2px #1e40af;
    border-color: transparent;
}

.calc-btn-active {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 0.5rem;
    border-radius: 0.5rem;
    border: 1px solid #1e40af;
    background-color: #f0f7ff;
    color: #1b3b6f;
    font-size: 0.75rem;
    font-weight: 500;
    transition: all 0.2s;
}
.calc-btn-inactive {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 0.5rem;
    border-radius: 0.5rem;
    border: 1px solid #e2e8f0;
    background-color: #fff;
    color: #64748b;
    font-size: 0.75rem;
    font-weight: 500;
    transition: all 0.2s;
}
.calc-btn-inactive:hover {
    border-color: #cbd5e1;
}

.calc-trip-active {
    background-color: #1b3b6f !important;
    color: #ffffff !important;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    padding: 0.5rem;
    border-radius: 0.375rem;
    font-size: 0.875rem;
    font-weight: 500;
    transition: all 0.2s;
}
.calc-trip-active span {
    color: #ffffff !important;
}
button.calc-trip-active,
div.calc-trip-active {
    color: #ffffff !important;
}
.calc-trip-inactive {
    color: #64748b !important;
    padding: 0.5rem;
    border-radius: 0.375rem;
    font-size: 0.875rem;
    font-weight: 500;
    transition: all 0.2s;
}
.calc-trip-inactive:hover {
    color: #334155 !important;
}
.calc-multi-input {
    width: 3rem;
    text-align: center;
    font-size: 0.875rem;
    border-radius: 0.25rem;
    background-color: #fff;
    color: #0f172a;
    padding: 0.125rem 0.25rem;
    border: 1px solid #cbd5e1;
    outline: none;
}

.calc-input {
    width: 100%;
    background-color: #fff;
    border: 1px solid #cbd5e1;
    border-radius: 0.5rem;
    padding: 0.75rem 1rem;
    color: #334155;
    font-size: 0.875rem;
    outline: none;
    cursor: pointer;
    transition: box-shadow 0.2s, border-color 0.2s;
}
.calc-input:focus {
    box-shadow: 0 0 0 2px #1e40af;
    border-color: transparent;
}
.calc-input::-moz-placeholder {
    color: #94a3b8;
}
.calc-input::placeholder {
    color: #94a3b8;
}

/* ----- Date picker dropdown ----- */
.calc-date-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    margin-top: 0.5rem;
    width: 100%;
    background-color: #fff;
    border-radius: 0.75rem;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    border: 1px solid rgba(0, 0, 0, 0.05);
    padding: 1rem;
    z-index: 100;
    animation: calc-fade-in 0.2s ease;
}
.calc-day {
    height: 2rem;
    width: 2rem;
    border-radius: 9999px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.875rem;
    color: #334155;
    background: transparent;
    border: none;
    cursor: pointer;
    transition: background-color 0.2s, color 0.2s;
}
.calc-day:hover {
    background-color: #f1f5f9;
}
.calc-day-selected {
    height: 2rem;
    width: 2rem;
    border-radius: 9999px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.875rem;
    font-weight: 700;
    color: #fff;
    background-color: #1b3b6f;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
    border: none;
    cursor: pointer;
}

/* ----- Currency dropdown ----- */
.calc-currency-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    margin-top: 0.5rem;
    width: 100%;
    background-color: #fff;
    border-radius: 0.75rem;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    border: 1px solid rgba(0, 0, 0, 0.05);
    z-index: 50;
    overflow: hidden;
    max-height: 280px;
    overflow-y: auto;
    animation: calc-fade-in 0.2s ease;
}
.calc-currency-pill {
    padding: 0.25rem 0.75rem;
    border-radius: 9999px;
    font-size: 0.75rem;
    font-weight: 600;
    border: 1px solid #e2e8f0;
    background-color: #fff;
    color: #475569;
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    transition: border-color 0.2s, background-color 0.2s, color 0.2s;
}
.calc-currency-pill:hover {
    border-color: #cbd5e1;
}
.calc-currency-pill-active {
    padding: 0.25rem 0.75rem;
    border-radius: 9999px;
    font-size: 0.75rem;
    font-weight: 600;
    border: 1px solid #f59e0b;
    background-color: #f59e0b;
    color: #ffffff !important;
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
}
button.calc-currency-pill.calc-currency-pill-active {
    color: #ffffff !important;
}

/* ----- SMS opt-in (pricing calculator) — custom checkbox; avoid Tailwind bg-* conflicts ----- */
.calc-sms-opt-row:focus {
    outline: none;
}
.calc-sms-opt-row:focus-visible .calc-sms-checkbox {
    box-shadow: 0 0 0 2px #fff, 0 0 0 4px #1b3b6f;
}
.calc-sms-checkbox {
    box-sizing: border-box;
    width: 1.25rem;
    height: 1.25rem;
    min-width: 1.25rem;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #cbd5e1;
    border-radius: 4px;
    background-color: #fff;
    transition: border-color 0.2s, background-color 0.2s, box-shadow 0.2s;
}
.calc-sms-opt-row:hover .calc-sms-checkbox {
    border-color: #94a3b8;
}
.calc-sms-checkbox--checked {
    background-color: #1b3b6f;
    border-color: #1b3b6f;
}
.calc-sms-checkbox-mark {
    width: 4px;
    height: 8px;
    margin-top: -2px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
    opacity: 0;
    transition: opacity 0.15s;
}
.calc-sms-checkbox--checked .calc-sms-checkbox-mark {
    opacity: 1;
}

/* ----- Buy button ----- */
.calc-buy-btn {
    width: 100%;
    background-color: #f59e0b;
    color: #fff;
    font-weight: 700;
    padding: 1rem 1.5rem;
    border-radius: 0.75rem;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
    border: none;
    font-size: 1.125rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    transition: background-color 0.2s, transform 0.2s;
}
.calc-buy-btn:hover {
    background-color: #d97706;
    transform: translateY(-1px);
}

/* ----- Payment icons strip ----- */
.calc-payment-icons img {
    height: 22px;
    width: auto;
    -o-object-fit: contain;
       object-fit: contain;
}

/* ----- Pricing table currency tabs ----- */
.calc-currency-tabs {
    scrollbar-width: none;
}
.calc-currency-tabs::-webkit-scrollbar {
    display: none;
}

/* CMS block: currency-pricing-table — pill row visible; selection syncs Vuex (same as header). */
.pricing-currency-table-wrap .currency_buttons,
.pricing-currency-table-wrap .currency-buttons {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1rem;
}
.pricing-currency-table-wrap .currency_buttons button,
.pricing-currency-table-wrap .currency_buttons a,
.pricing-currency-table-wrap .currency-buttons button,
.pricing-currency-table-wrap .currency-buttons a {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.35rem 0.75rem;
    border-radius: 9999px;
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1.25;
    border: 1px solid #e2e8f0;
    background-color: #fff;
    color: #475569;
    cursor: pointer;
    overflow: visible;
    transition: border-color 0.2s, background-color 0.2s, color 0.2s;
    text-decoration: none;
    box-sizing: border-box;
}
.pricing-currency-table-wrap .currency_buttons a:visited,
.pricing-currency-table-wrap .currency-buttons a:visited {
    color: #475569;
}
.pricing-currency-table-wrap .currency_buttons button:hover,
.pricing-currency-table-wrap .currency_buttons a:hover,
.pricing-currency-table-wrap .currency-buttons button:hover,
.pricing-currency-table-wrap .currency-buttons a:hover {
    border-color: #cbd5e1;
}
.pricing-currency-table-wrap .currency_buttons button.is-active,
.pricing-currency-table-wrap .currency_buttons a.is-active,
.pricing-currency-table-wrap .currency_buttons button.calc-currency-pill-active,
.pricing-currency-table-wrap .currency_buttons a.calc-currency-pill-active,
.pricing-currency-table-wrap .currency-buttons button.is-active,
.pricing-currency-table-wrap .currency-buttons a.is-active,
.pricing-currency-table-wrap .currency-buttons button.calc-currency-pill-active,
.pricing-currency-table-wrap .currency-buttons a.calc-currency-pill-active {
    border-color: #f59e0b;
    background-color: #f59e0b;
    color: #fff;
}
.pricing-currency-table-wrap .currency_buttons a.is-active:visited,
.pricing-currency-table-wrap .currency_buttons a.calc-currency-pill-active:visited,
.pricing-currency-table-wrap .currency-buttons a.is-active:visited,
.pricing-currency-table-wrap .currency-buttons a.calc-currency-pill-active:visited {
    color: #fff;
}
/* Flag icons: !important wins over Tailwind base img + any CMS inline width/height */
[data-pricing-currency-table] .currency_buttons button img,
[data-pricing-currency-table] .currency_buttons a img,
[data-pricing-currency-table] .currency-buttons button img,
[data-pricing-currency-table] .currency-buttons a img,
.pricing-currency-table-wrap .currency_buttons button img,
.pricing-currency-table-wrap .currency_buttons a img,
.pricing-currency-table-wrap .currency-buttons button img,
.pricing-currency-table-wrap .currency-buttons a img {
    width: 1.25rem !important;
    height: 1.25rem !important;
    min-width: 1.25rem !important;
    min-height: 1.25rem !important;
    max-width: none !important;
    -o-object-fit: contain !important;
       object-fit: contain !important;
    -o-object-position: center;
       object-position: center;
    flex-shrink: 0 !important;
    display: block !important;
    filter: none !important;
    opacity: 1 !important;
    visibility: visible !important;
}
.pricing-currency-table-wrap .currency_buttons button.is-active img,
.pricing-currency-table-wrap .currency_buttons a.is-active img,
.pricing-currency-table-wrap .currency_buttons button.calc-currency-pill-active img,
.pricing-currency-table-wrap .currency_buttons a.calc-currency-pill-active img,
.pricing-currency-table-wrap .currency-buttons button.is-active img,
.pricing-currency-table-wrap .currency-buttons a.is-active img,
.pricing-currency-table-wrap .currency-buttons button.calc-currency-pill-active img,
.pricing-currency-table-wrap .currency-buttons a.calc-currency-pill-active img {
    filter: none !important;
    opacity: 1 !important;
}
.pricing-currency-table-wrap .content_table,
.pricing-currency-table-wrap .content-table {
    overflow-x: auto;
    border-radius: 0.5rem;
    border: 1px solid #e2e8f0;
    background-color: #fff;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}
.pricing-currency-table-wrap .content_table thead td,
.pricing-currency-table-wrap .content-table thead td {
    font-weight: 700;
}
.pricing-currency-table-wrap .content_table tbody td,
.pricing-currency-table-wrap .content-table tbody td {
    padding: 15px;
    font-weight: 700;
    border-bottom: 1px solid #e5e7eb;
}
.pricing-currency-table-wrap .content_table table,
.pricing-currency-table-wrap .content-table table {
    border-collapse: collapse;
    width: 100%;
}
.pricing-currency-table-wrap .content_table tbody td:nth-child(3),
.pricing-currency-table-wrap .content-table tbody td:nth-child(3) {
    background-color: rgba(248, 250, 252, 0.9);
    color: #d97706;
}
.pricing-currency-table-wrap .content_table tbody td button,
.pricing-currency-table-wrap .content_table tbody td a,
.pricing-currency-table-wrap .content-table tbody td button,
.pricing-currency-table-wrap .content-table tbody td a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #f59e0b;
    color: #fff;
    border: none;
    border-radius: 30px;
    padding: 0.5rem 1rem;
    font-weight: 700;
    cursor: pointer;
    transition: background-color 0.2s ease;
    text-decoration: none;
    box-sizing: border-box;
}
.pricing-currency-table-wrap .content_table tbody td a:visited,
.pricing-currency-table-wrap .content-table tbody td a:visited {
    color: #fff;
}
.pricing-currency-table-wrap .content_table tbody td button:hover,
.pricing-currency-table-wrap .content_table tbody td a:hover,
.pricing-currency-table-wrap .content-table tbody td button:hover,
.pricing-currency-table-wrap .content-table tbody td a:hover {
    background-color: #b45309;
}

/* Mobile-site pricing table block: pills = horizontal swipe, no scrollbar; table = min 750px + visible h-scroll */
.pricing-currency-table-wrap--mobile-site .currency_buttons,
.pricing-currency-table-wrap--mobile-site .currency-buttons {
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    touch-action: pan-x pinch-zoom;
    scrollbar-width: none;
    -ms-overflow-style: none;
}
.pricing-currency-table-wrap--mobile-site .currency_buttons::-webkit-scrollbar,
.pricing-currency-table-wrap--mobile-site .currency-buttons::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
}
.pricing-currency-table-wrap--mobile-site .currency_buttons button,
.pricing-currency-table-wrap--mobile-site .currency_buttons a,
.pricing-currency-table-wrap--mobile-site .currency-buttons button,
.pricing-currency-table-wrap--mobile-site .currency-buttons a {
    flex-shrink: 0;
}
.pricing-currency-table-wrap--mobile-site .content_table,
.pricing-currency-table-wrap--mobile-site .content-table {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-x pan-y;
}
.pricing-currency-table-wrap--mobile-site .content_table table,
.pricing-currency-table-wrap--mobile-site .content-table table {
    min-width: 750px;
    width: 100%;
}

.calc-tab-active {
    flex: 1;
    min-width: 0;
    padding: 0.75rem 0.25rem;
    border-radius: 0.5rem;
    font-size: 0.75rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.375rem;
    border: 1px solid #1b3b6f;
    background-color: #1b3b6f;
    color: #fff;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    transition: all 0.2s;
}
.calc-tab-inactive {
    flex: 1;
    min-width: 0;
    padding: 0.75rem 0.25rem;
    border-radius: 0.5rem;
    font-size: 0.75rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.375rem;
    border: 1px solid #e2e8f0;
    background-color: #fff;
    color: #475569;
    transition: all 0.2s;
}
.calc-tab-inactive:hover {
    border-color: #cbd5e1;
    background-color: #f8fafc;
}

@keyframes calc-fade-in {
    from {
        opacity: 0;
        transform: translateY(-4px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ========== Toll Guide Page ========== */
.toll-guide-breadcrumb {
    background-color: #F0F7FF;
    border-bottom: 1px solid #DBEAFE;
    padding: 0.5rem 0;
    min-height: 2.25rem;
    display: flex;
    align-items: center;
}
.toll-guide-breadcrumb .max-w-7xl {
    flex: 1;
}
.toll-guide-breadcrumb-link {
    color: #64748b;
    transition: color 0.2s;
}
.toll-guide-breadcrumb-link:hover {
    color: #1B3B6F;
}
.toll-guide-breadcrumb-chevron {
    margin: 0 0.5rem;
    opacity: 0.7;
    filter: brightness(0) saturate(100%) invert(43%) sepia(21%) saturate(477%) hue-rotate(176deg) brightness(98%) contrast(87%);
}
.toll-guide-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.25rem 0.75rem;
    background-color: #D1FAE5;
    color: #059669;
    border-radius: 9999px;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 1.5rem;
}
.toll-guide-avatar {
    min-width: 2rem;
    min-height: 2rem;
}
.toll-guide-verified {
    background-color: #EFF6FF;
    padding: 0.25rem 0.75rem;
    border-radius: 9999px;
    border: 1px solid #BFDBFE;
}
.toll-guide-verified-icon {
    filter: brightness(0) saturate(100%) invert(42%) sepia(96%) saturate(2022%) hue-rotate(202deg) brightness(98%) contrast(96%);
}
.toll-guide-meta-video-icon {
    filter: brightness(0) saturate(100%) invert(45%) sepia(5%) saturate(1844%) hue-rotate(176deg) brightness(97%) contrast(89%);
}
.toll-guide-action-icon {
    filter: brightness(0) saturate(100%) invert(13%) sepia(74%) saturate(2088%) hue-rotate(206deg) brightness(96%) contrast(85%);
}
.toll-guide-secure-icon {
    filter: brightness(0) saturate(100%) invert(100%) sepia(100%) saturate(402%) hue-rotate(274deg) brightness(112%) contrast(102%);
}
.toll-guide-action-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    background-color: #F0F7FF;
    color: #1B3B6F;
    font-weight: 600;
    font-size: 0.875rem;
    border-radius: 0.5rem;
    border: none;
    cursor: pointer;
    transition: background-color 0.2s;
}
.toll-guide-action-btn:hover {
    background-color: #DBEAFE;
}
.toll-guide-action-btn-secondary {
    background-color: transparent;
    color: #64748b;
    margin-left: auto;
}
.toll-guide-action-btn-secondary:hover {
    background-color: #F1F5F9;
}

/* Video block */
.toll-guide-video-block {
    position: relative;
    aspect-ratio: 16/9;
    background-color: #0F172A;
    border-radius: 1rem;
    overflow: hidden;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
    margin-bottom: 2.5rem;
    cursor: pointer;
}
.toll-guide-video-inner {
    position: relative;
    width: 100%;
    height: 100%;
}
.toll-guide-video-img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    opacity: 0.85;
    transition: opacity 0.2s;
}
.toll-guide-video-block:hover .toll-guide-video-img {
    opacity: 0.7;
}
.toll-guide-video-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
.toll-guide-play-btn {
    width: 4rem;
    height: 4rem;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(4px);
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.2s;
}
@media (min-width: 768px) {
    .toll-guide-play-btn {
        width: 5rem;
        height: 5rem;
    }
}
.toll-guide-video-block:hover .toll-guide-play-btn {
    transform: scale(1.1);
}
.toll-guide-play-icon {
    color: #F59E0B;
    font-size: 1.5rem;
    margin-left: 0.2rem;
}
@media (min-width: 768px) {
    .toll-guide-play-icon {
        font-size: 1.75rem;
    }
}
.toll-guide-video-caption {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 1.5rem;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.8), transparent);
}

/* Quick answer box */
.toll-guide-quick-answer {
    background-color: #F0F7FF;
    border-left: 4px solid #10B981;
    padding: 1.5rem;
    border-radius: 0 0.5rem 0.5rem 0;
    margin-bottom: 2.5rem;
}
.toll-guide-quick-answer-icon {
    background-color: #10B981;
    border-radius: 50%;
    padding: 0.25rem;
    flex-shrink: 0;
    margin-top: 0.125rem;
}
.toll-guide-quick-answer-check {
    filter: brightness(0) invert(1);
    display: block;
}

/* Lane cards */
.toll-guide-lane-card {
    position: relative;
    border-radius: 0.75rem;
    overflow: hidden;
    transition: box-shadow 0.3s;
    border: 2px solid;
}
.toll-guide-lane-card-major {
    border-width: 3px;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
}
.toll-guide-lane-card-major:hover {
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
}
.toll-guide-lane-card[data-lane="green"] {
    border-color: #10B981;
    background-color: #ECFDF5;
}
.toll-guide-lane-card[data-lane="blue"] {
    border-color: #3B82F6;
    background-color: #EFF6FF;
}
.toll-guide-lane-card[data-lane="yellow"] {
    border-color: #EAB308;
    background-color: #FEFCE8;
}
.toll-guide-lane-card[data-lane="red"] {
    border-color: #EF4444;
    background-color: #FEF2F2;
}
.toll-guide-lane-card[data-lane="orange"] {
    border-color: #F97316;
    background-color: #FFF7ED;
}
.toll-guide-lane-card:hover {
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}
.toll-guide-lane-badge {
    background-color: #F59E0B;
    color: white;
    font-size: 0.75rem;
    font-weight: 700;
    padding: 0.375rem 1rem;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.toll-guide-lane-badge-star {
    filter: brightness(0) invert(1);
}
.toll-guide-lane-card-inner {
    padding: 1.25rem;
}
.toll-guide-lane-card-major .toll-guide-lane-card-inner {
    padding-top: 2.5rem;
}
@media (min-width: 768px) {
    .toll-guide-lane-card-major .toll-guide-lane-card-inner {
        display: flex;
        align-items: flex-start;
        gap: 1.5rem;
    }
    .toll-guide-lane-card-major .toll-guide-lane-left {
        width: 33.333333%;
        flex-shrink: 0;
    }
    .toll-guide-lane-card-major .toll-guide-lane-right {
        flex: 1;
    }
}
.toll-guide-lane-left {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}
.toll-guide-lane-title {
    color: #1B3B6F;
    font-size: 1.125rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.toll-guide-lane-dot {
    width: 0.75rem;
    height: 0.75rem;
    border-radius: 50%;
    display: inline-block;
}
.toll-guide-lane-dot-green { background-color: #10B981; }
.toll-guide-lane-dot-blue { background-color: #3B82F6; }
.toll-guide-lane-dot-yellow { background-color: #EAB308; }
.toll-guide-lane-dot-red { background-color: #EF4444; }
.toll-guide-lane-dot-orange { background-color: #F97316; }
.toll-guide-lane-sign {
    height: 8rem;
    width: 100%;
    max-width: 200px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin-bottom: 1rem;
}
.toll-guide-lane-sign-circle {
    width: 5rem;
    height: 5rem;
    border-radius: 50%;
    border: 4px solid;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.3);
    backdrop-filter: blur(4px);
    margin-bottom: 0.25rem;
    z-index: 1;
}
.toll-guide-lane-sign-green .toll-guide-lane-sign-circle { border-color: #10B981; }
.toll-guide-lane-sign-blue .toll-guide-lane-sign-circle { border-color: #3B82F6; }
.toll-guide-lane-sign-yellow .toll-guide-lane-sign-circle { border-color: #EAB308; }
.toll-guide-lane-sign-red .toll-guide-lane-sign-circle { border-color: #EF4444; }
.toll-guide-lane-sign-orange .toll-guide-lane-sign-circle { border-color: #F97316; }
.toll-guide-lane-icon-green { filter: brightness(0) saturate(100%) invert(52%) sepia(98%) saturate(500%) hue-rotate(131deg) brightness(95%) contrast(96%); }
.toll-guide-lane-icon-blue { filter: brightness(0) saturate(100%) invert(40%) sepia(90%) saturate(1500%) hue-rotate(210deg) brightness(95%) contrast(95%); }
.toll-guide-lane-icon-yellow { filter: brightness(0) saturate(100%) invert(80%) sepia(50%) saturate(1000%) hue-rotate(5deg) brightness(95%) contrast(95%); }
.toll-guide-lane-icon-red { filter: brightness(0) saturate(100%) invert(30%) sepia(90%) saturate(2000%) hue-rotate(350deg) brightness(95%) contrast(95%); }
.toll-guide-lane-icon-orange { filter: brightness(0) saturate(100%) invert(55%) sepia(90%) saturate(1500%) hue-rotate(15deg) brightness(95%) contrast(95%); }
.toll-guide-lane-glow {
    height: 0.5rem;
    width: 4rem;
    border-radius: 9999px;
    margin-top: 0.25rem;
    animation: toll-guide-glow-pulse 2s ease-in-out infinite;
}
.toll-guide-lane-glow-green { background-color: #10B981; box-shadow: 0 0 12px rgba(16, 185, 129, 0.4); }
.toll-guide-lane-glow-blue { background-color: #3B82F6; box-shadow: 0 0 12px rgba(59, 130, 246, 0.4); }
.toll-guide-lane-glow-yellow { background-color: #EAB308; box-shadow: 0 0 12px rgba(234, 179, 8, 0.4); }
.toll-guide-lane-glow-red { background-color: #EF4444; box-shadow: 0 0 12px rgba(239, 68, 68, 0.4); }
.toll-guide-lane-glow-orange { background-color: #F97316; box-shadow: 0 0 12px rgba(249, 115, 22, 0.4); }
@keyframes toll-guide-glow-pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.7; }
}
.toll-guide-lane-for-title {
    color: #1B3B6F;
    font-size: 0.875rem;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 0.5rem;
}
.toll-guide-lane-list,
.toll-guide-lane-how {
    list-style: none;
    padding: 0;
    margin: 0 0 1.5rem 0;
}
.toll-guide-lane-list li,
.toll-guide-lane-how li {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    font-size: 0.875rem;
    color: #334155;
    margin-bottom: 0.5rem;
}
.toll-guide-lane-list-icon {
    flex-shrink: 0;
    margin-top: 0.125rem;
}
.toll-guide-lane-list-icon-green { filter: brightness(0) saturate(100%) invert(52%) sepia(98%) saturate(500%) hue-rotate(131deg); }
.toll-guide-lane-list-icon-blue { filter: brightness(0) saturate(100%) invert(40%) sepia(90%) saturate(1500%) hue-rotate(210deg); }
.toll-guide-lane-list-icon-yellow { filter: brightness(0) saturate(100%) invert(80%) sepia(50%) saturate(1000%); }
.toll-guide-lane-list-icon-red { filter: brightness(0) saturate(100%) invert(30%) sepia(90%) saturate(2000%) hue-rotate(350deg); }
.toll-guide-lane-list-icon-orange { filter: brightness(0) saturate(100%) invert(55%) sepia(90%) saturate(1500%) hue-rotate(15deg); }
.toll-guide-lane-arrow {
    flex-shrink: 0;
    margin-top: 0.25rem;
    opacity: 0.7;
}
.toll-guide-lane-tip {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.75rem;
    border-radius: 0.25rem;
    font-size: 0.875rem;
    margin-top: 0.5rem;
    background: rgba(255, 255, 255, 0.5);
}
.toll-guide-lane-tip p {
    margin: 0;
    color: #334155;
    font-style: italic;
}
.toll-guide-lane-tip-green { border: 1px solid #10B981; }
.toll-guide-lane-tip-yellow { border: 1px solid #EAB308; }
.toll-guide-lane-warning {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    background-color: #FEE2E2;
    padding: 0.75rem;
    border-radius: 0.25rem;
    color: #991B1B;
    font-size: 0.875rem;
    font-weight: 700;
    border: 1px solid #FECACA;
    margin-bottom: 1rem;
}
.toll-guide-lane-warning-icon {
    flex-shrink: 0;
    margin-top: 0.125rem;
    filter: brightness(0) saturate(100%) invert(25%) sepia(90%) saturate(2000%) hue-rotate(350deg);
}
.toll-guide-lane-card-single .toll-guide-lane-left {
    margin-bottom: 1rem;
}

/* Warning box (wrong lane) */
.toll-guide-warning-box {
    background-color: #FEFCE8;
    border-left: 4px solid #EAB308;
    padding: 1.5rem;
    border-radius: 0 0.5rem 0.5rem 0;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
}
.toll-guide-warning-box-icon {
    flex-shrink: 0;
    margin-top: 0.25rem;
    filter: brightness(0) saturate(100%) invert(80%) sepia(50%) saturate(1000%) hue-rotate(5deg);
}

/* FAQ items */
.toll-guide-faq-item {
    border: 1px solid #E2E8F0;
    border-radius: 0.5rem;
    padding: 1.25rem;
    background-color: #fff;
    transition: border-color 0.2s;
}
.toll-guide-faq-item:hover {
    border-color: #BFDBFE;
}

/* Author box */
.toll-guide-author-box {
    background-color: #F8FAFC;
    border-radius: 0.75rem;
    padding: 2rem;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.5rem;
    border: 1px solid #F1F5F9;
}
@media (min-width: 768px) {
    .toll-guide-author-box {
        flex-direction: row;
        align-items: flex-start;
    }
}
.toll-guide-author-avatar {
    width: 5rem;
    height: 5rem;
    border-radius: 50%;
    -o-object-fit: cover;
       object-fit: cover;
    border: 2px solid white;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}

/* Sidebar TOC */
.toll-guide-toc-title {
    font-size: 0.75rem;
    font-weight: 700;
    color: #94A3B8;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 1rem;
}
.toll-guide-toc-nav {
    position: relative;
    border-left: 1px solid #E2E8F0;
}
.toll-guide-toc-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.toll-guide-toc-list > li {
    padding-left: 1rem;
    margin-bottom: 1rem;
    position: relative;
}
.toll-guide-toc-list > li:hover::before {
    background-color: #3B82F6;
}
.toll-guide-toc-list > li::before {
    content: '';
    position: absolute;
    left: -1px;
    top: 0;
    bottom: 0;
    width: 2px;
    background-color: transparent;
    transition: background-color 0.2s;
}
.toll-guide-toc-link,
.toll-guide-toc-sublink {
    display: block;
    font-size: 0.875rem;
    font-weight: 500;
    color: #64748b;
    transition: color 0.2s;
    text-decoration: none;
}
.toll-guide-toc-link:hover,
.toll-guide-toc-sublink:hover {
    color: #3B82F6;
}
.toll-guide-toc-link {
    color: #475569;
}
.toll-guide-toc-link:hover {
    color: #1B3B6F;
}
.toll-guide-toc-sublist {
    list-style: none;
    padding-left: 0.75rem;
    margin-top: 0.5rem;
    margin-bottom: 0;
    border-left: 2px solid #F1F5F9;
}
.toll-guide-toc-sublist li {
    margin-bottom: 0.5rem;
}
.toll-guide-toc-sublink {
    font-size: 0.75rem;
    color: #64748b;
}
.toll-guide-toc-cta {
    margin-top: 2rem;
    padding: 1rem;
    background-color: #F0F7FF;
    border-radius: 0.5rem;
    border: 1px solid #BFDBFE;
}
.toll-guide-toc-download-btn {
    width: 100%;
    padding: 0.5rem;
    background-color: #fff;
    border: 1px solid #1B3B6F;
    color: #1B3B6F;
    font-size: 0.75rem;
    font-weight: 700;
    border-radius: 0.25rem;
    cursor: pointer;
    transition: background-color 0.2s;
}
.toll-guide-toc-download-btn:hover {
    background-color: #F8FAFC;
}

/* Mobile TOC */
.toll-guide-toc-mobile {
    border: 1px solid #E2E8F0;
    border-radius: 0.5rem;
    background-color: #fff;
    overflow: hidden;
}
.toll-guide-toc-mobile-btn {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem;
    background-color: #F8FAFC;
    color: #1B3B6F;
    font-weight: 600;
    border: none;
    cursor: pointer;
    font-size: 1rem;
}
.toll-guide-toc-mobile-chevron {
    transition: transform 0.2s;
}
.toll-guide-toc-mobile-btn[aria-expanded="true"] .toll-guide-toc-mobile-chevron {
    transform: rotate(180deg);
}
.toll-guide-toc-mobile-content {
    padding: 1rem;
    background-color: #fff;
    border-top: 1px solid #F1F5F9;
}
.toll-guide-toc-mobile-nav {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}
.toll-guide-toc-mobile-link {
    font-size: 0.875rem;
    font-weight: 500;
    color: #475569;
    text-decoration: none;
    transition: color 0.2s;
}
.toll-guide-toc-mobile-link:hover {
    color: #3B82F6;
}
.toll-guide-toc-mobile-sublink {
    font-size: 0.8125rem;
    color: #64748b;
    padding-left: 1rem;
    border-left: 2px solid #F1F5F9;
    text-decoration: none;
    transition: color 0.2s;
}
.toll-guide-toc-mobile-sublink:hover {
    color: #3B82F6;
}
.toll-guide-related-item {
    text-decoration: none;
    color: inherit;
}

/* Expert Guides page */
.expert-guide-flag {
    width: 20px;
    height: 14px;
    border-radius: 2px;
    border: 1px solid #e2e8f0;
    -o-object-fit: cover;
       object-fit: cover;
    flex-shrink: 0;
    display: block;
    box-shadow: 0 1px 2px rgba(0,0,0,0.05);
}
.expert-guide-dropdown {
    animation: expert-guide-fade-in 0.1s ease-out;
}
@keyframes expert-guide-fade-in {
    from { opacity: 0; transform: scale(0.95); }
    to { opacity: 1; transform: scale(1); }
}
.expert-guide-scrollbar-hide {
    -ms-overflow-style: none;
    scrollbar-width: none;
}
.expert-guide-scrollbar-hide::-webkit-scrollbar {
    display: none;
}
.expert-guide-hero-img {
    transition: transform 0.7s ease;
}
.group:hover .expert-guide-hero-img {
    transform: scale(1.05);
}
.expert-guide-bounce-slow {
    animation: expert-guide-bounce-slow 2s ease-in-out infinite;
}
@keyframes expert-guide-bounce-slow {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-6px); }
}
.expert-guide-line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.expert-guide-faq-content {
    max-height: 0;
    opacity: 0;
    transition: max-height 0.3s ease-in-out, opacity 0.3s ease-in-out;
}
.expert-guide-faq-content.is-open,
.expert-guide-faq-item .expert-guide-faq-content.is-open {
    max-height: 500px;
    opacity: 1;
}
.expert-guide-faq-item .expert-guide-faq-chevron.is-open {
    transform: rotate(180deg);
}
.expert-guide-sticky-bar {
    position: sticky;
}
@media (max-width: 767px) {
    .expert-guide-sticky-bar {
        top: 0;
    }
}
.page-expert-guides {
    padding-top: 0;
}
.expert-guides-main {
    padding-top: 100px;
}

/* ============================================
   Reviews Page (reviews.html)
   ============================================ */
.reviews-page {
    padding-top: 0;
}
.reviews-main {
    padding-top: 105px; /* clear fixed header (top bar + nav) */
}
@media (max-width: 767px) {
    .reviews-main {
        padding-top: 72px; /* nav only on mobile */
    }
}
.reviews-trust-bar {
    background-color: #F0F7FF;
    border-bottom: 1px solid #DBEAFE;
}
/* Trust summary bar – circle-check icon color */
.reviews-trust-bar-circle-check {
    filter: brightness(0) saturate(100%) invert(31%) sepia(79%) saturate(1278%) hue-rotate(133deg) brightness(104%) contrast(96%);
}
/* Trust summary bar – bolt icon color */
.reviews-trust-bar-bolt {
    filter: brightness(0) saturate(100%) invert(44%) sepia(99%) saturate(446%) hue-rotate(352deg) brightness(96%) contrast(104%);
}
/* Trust summary bar – Trustpilot label star (star-full asset) */
.reviews-trust-bar-trustpilot-star {
    filter: brightness(0) saturate(100%) invert(62%) sepia(45%) saturate(4372%) hue-rotate(121deg) brightness(94%) contrast(87%);
}
/* Trust summary bar – 5-star rating rows (Trustpilot & Google) */
.reviews-trust-bar-rating-star {
    filter: brightness(0) saturate(100%) invert(71%) sepia(30%) saturate(4493%) hue-rotate(9deg) brightness(105%) contrast(94%);
}
/* Conversion CTA block – icon filters */
.reviews-cta-icon-wallet {
    filter: brightness(0) saturate(100%) invert(70%) sepia(66%) saturate(7281%) hue-rotate(118deg) brightness(94%) contrast(83%);
}
.reviews-cta-icon-watch {
    filter: brightness(0) saturate(100%) invert(32%) sepia(24%) saturate(6024%) hue-rotate(212deg) brightness(93%) contrast(99%);
}
.reviews-cta-icon-headphones {
    filter: brightness(0) saturate(100%) invert(38%) sepia(96%) saturate(3857%) hue-rotate(10deg) brightness(105%) contrast(91%);
}
.reviews-cta-icon-car {
    filter: brightness(0) saturate(100%) invert(22%) sepia(93%) saturate(2877%) hue-rotate(263deg) brightness(93%) contrast(96%);
}
.reviews-cta-icon-arrow {
    filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(7500%) hue-rotate(127deg) brightness(104%) contrast(101%);
}
.reviews-shadow-soft {
    box-shadow: 0 4px 20px -2px rgba(27, 59, 111, 0.1);
}
.reviews-line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.reviews-scrollbar::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}
.reviews-scrollbar::-webkit-scrollbar-track {
    background: #f1f1f1;
}
.reviews-scrollbar::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 3px;
}
.reviews-scrollbar::-webkit-scrollbar-thumb:hover {
    background: #94a3b8;
}
.reviews-hide-scrollbar::-webkit-scrollbar {
    display: none;
}
.reviews-hide-scrollbar {
    -ms-overflow-style: none;
    scrollbar-width: none;
}
.reviews-stat-bar {
    transition: width 0.3s ease;
}
/* Reviews statistics – breakdown star icon and bar track */
.reviews-stat-star {
    filter: brightness(0) saturate(100%) invert(66%) sepia(24%) saturate(267%) hue-rotate(175deg) brightness(95%) contrast(85%);
}
.reviews-stat-bar-track {
    background-color: #e2e8f0;
}
/* Critical feedback – empty star as star-full with muted filter */
.reviews-critical-star-empty {
    filter: brightness(0) saturate(100%) invert(92%) sepia(4%) saturate(899%) hue-rotate(190deg) brightness(104%) contrast(88%);
}
.reviews-stat-bar-w89 { width: 89%; }
.reviews-stat-bar-w7 { width: 7%; }
.reviews-stat-bar-w2 { width: 2%; }
.reviews-stat-bar-w1 { width: 1%; }
.reviews-filter-btn-active {
    background-color: #1B3B6F;
    color: white;
    border-color: #1B3B6F;
    box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1);
}
.reviews-filter-btn {
    transition: all 0.2s;
}
.reviews-filter-btn:hover {
    border-color: #1B3B6F;
    color: #1B3B6F;
}
.reviews-cta-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
}
.reviews-video-card:hover {
    box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
}
.reviews-play-icon-wrap:hover {
    transform: scale(1.1);
}
.reviews-flag-img {
    width: 20px;
    height: 14px;
    border-radius: 2px;
    border: 1px solid #e2e8f0;
    -o-object-fit: cover;
       object-fit: cover;
    flex-shrink: 0;
}
.reviews-avatar-flag {
    width: 20px;
    height: 20px;
    border-radius: 9999px;
    -o-object-fit: cover;
       object-fit: cover;
    border: 1px solid #e2e8f0;
}
.reviews-footer-flag-bg {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

/* ========== Payment Options Page ========== */
.payment-options-page {
    background-color: #F0F7FF;
}
/* Background for payment-options when sections are included (no body class) */
.payment-options-page-bg {
    background-color: #F0F7FF;
}
.payment-options-page-main {
    width: 100%;
    box-sizing: border-box;
    min-height: 50vh;
}
.payment-options-section-content {
    box-sizing: border-box;
    width: 100%;
}
html {
    scroll-behavior: smooth;
}
.payment-options-card {
    background-color: #fff;
    border-radius: 0.75rem;
    border: 1px solid #e2e8f0;
    box-shadow: 0 4px 20px -2px rgba(27, 59, 111, 0.1);
}
.payment-options-intro-card {
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
    border-top: 4px solid #1B3B6F;
}
.payment-options-stat-box {
    background-color: #f8fafc;
    padding: 1rem;
    border-radius: 0.5rem;
    text-align: center;
    border: 1px solid #f1f5f9;
}
.payment-options-trust-icon {
    display: block;
    flex-shrink: 0;
}
.payment-options-trust-icon-green {
    filter: brightness(0) saturate(100%) invert(52%) sepia(78%) saturate(500%) hue-rotate(120deg) brightness(95%) contrast(90%);
}
.payment-options-trust-icon-nordic {
    filter: brightness(0) saturate(100%) invert(18%) sepia(50%) saturate(3000%) hue-rotate(210deg) brightness(91%) contrast(91%);
}
.payment-options-icon-wrap {
    padding: 0.5rem;
    border-radius: 9999px;
}
.payment-options-icon-nordic {
    display: block;
    filter: brightness(0) saturate(100%) invert(18%) sepia(50%) saturate(3000%) hue-rotate(210deg) brightness(91%) contrast(91%);
}
.payment-options-logo-cell {
    height: 3rem;
    padding: 0 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.25rem;
    border: 1px solid #e2e8f0;
    background: #fff;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}
.payment-options-logo-img {
    width: auto;
    max-height: 28px;
    -o-object-fit: contain;
       object-fit: contain;
}
.payment-options-logo-visa { max-width: 38px; }
.payment-options-logo-mc { max-width: 28px; }
.payment-options-logo-ideal { max-width: 28px; }
.payment-options-logo-amex { max-width: 22px; }
.payment-options-logo-paypal { max-width: 62px; }
.payment-options-logo-apple { max-width: 48px; }
.payment-options-logo-google { max-width: 82px; }
.payment-options-logo-revolut { max-width: 62px; }
.payment-options-badge-no-fees {
    background-color: #dcfce7;
    color: #10B981;
    font-size: 0.75rem;
    font-weight: 700;
    padding: 0.25rem 0.5rem;
    border-radius: 0.25rem;
    margin-left: auto;
}
.payment-options-flag {
    width: 24px;
    height: 24px;
    border-radius: 9999px;
    -o-object-fit: cover;
       object-fit: cover;
    flex-shrink: 0;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}
.payment-options-flag-currency {
    width: 24px;
    height: 24px;
}
.payment-options-bullet {
    width: 6px;
    height: 6px;
    background-color: #94a3b8;
    border-radius: 9999px;
    flex-shrink: 0;
}
.payment-options-currencies-section {
    background-color: rgba(255, 255, 255, 0.5);
    margin-left: -1rem;
    margin-right: -1rem;
    padding-left: 1rem;
    padding-right: 1rem;
    border-radius: 0.75rem;
    border: 1px solid #f1f5f9;
}
@media (min-width: 768px) {
    .payment-options-currencies-section {
        margin-left: -1.5rem;
        margin-right: -1.5rem;
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }
}
.payment-options-currency-cell {
    background: #fff;
    padding: 1rem;
    border-radius: 0.5rem;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    border: 1px solid #f1f5f9;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    transition: transform 0.2s;
}
.payment-options-currency-cell:hover {
    transform: translateY(-4px);
}
.payment-options-step-num {
    background-color: #1B3B6F;
    color: #fff;
    width: 2rem;
    height: 2rem;
    border-radius: 9999px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    flex-shrink: 0;
}
.payment-options-fee-box {
    background-color: #f8fafc;
    padding: 1rem 1.5rem;
    border-radius: 0.5rem;
    border: 1px solid #f1f5f9;
    text-align: right;
}
.payment-options-saves-box {
    background-color: #f0fdf4;
    border: 1px solid #bbf7d0;
    border-radius: 0.75rem;
    padding: 1.5rem;
    display: flex;
    gap: 1rem;
    align-items: flex-start;
}
.payment-options-saves-icon {
    filter: brightness(0) saturate(100%) invert(52%) sepia(78%) saturate(500%) hue-rotate(120deg);
    flex-shrink: 0;
    margin-top: 0.25rem;
}
.payment-options-saves-title {
    color: #166534;
}
.payment-options-saves-text {
    color: #14532d;
}
.payment-options-shield-icon {
    filter: brightness(0) saturate(100%) invert(18%) sepia(50%) saturate(3000%) hue-rotate(210deg) brightness(91%) contrast(91%);
}
.payment-options-badge-tag {
    font-size: 0.75rem;
    border: 1px solid #e2e8f0;
    padding: 0.25rem 0.5rem;
    border-radius: 0.25rem;
    background-color: #f8fafc;
}
.payment-options-security-item {
    display: flex;
    align-items: center;
    gap: 1rem;
    background: #fff;
    padding: 1rem;
    border-radius: 0.5rem;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    border: 1px solid #f1f5f9;
}
.payment-options-security-check {
    background-color: #dcfce7;
    padding: 0.5rem;
    border-radius: 9999px;
    color: #10B981;
    flex-shrink: 0;
}
.payment-options-checkout-section {
    background: #fff;
    border-radius: 1rem;
    padding: 2rem;
    border: 1px solid #e2e8f0;
    box-shadow: 0 4px 20px -2px rgba(27, 59, 111, 0.1);
}
.payment-options-checkout-line {
    display: none;
}
@media (min-width: 768px) {
    .payment-options-checkout-line {
        display: block;
        position: absolute;
        top: 50%;
        left: 0;
        width: 100%;
        height: 4px;
        background-color: #f1f5f9;
        z-index: 0;
        transform: translateY(-50%);
    }
}
.payment-options-checkout-step-circle {
    width: 4rem;
    height: 4rem;
    border-radius: 9999px;
    background-color: #F0F7FF;
    color: #1B3B6F;
    border: 4px solid #fff;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
}
.payment-options-arrow-mobile {
    filter: brightness(0) saturate(100%) invert(80%) sepia(10%) saturate(500%) hue-rotate(190deg);
}
.payment-options-refund-card {
    border-left: 4px solid #10B981;
}
.payment-options-refund-icon {
    filter: brightness(0) saturate(100%) invert(52%) sepia(78%) saturate(500%) hue-rotate(120deg);
}
.payment-options-cancel-note {
    border-left: 4px solid #f59e0b;
    background-color: rgba(254, 243, 199, 0.3);
}
.payment-options-alert-icon {
    filter: brightness(0) saturate(100%) invert(70%) sepia(80%) saturate(500%) hue-rotate(10deg);
}
.payment-options-comparison {
    border-radius: 0.75rem;
    border: 1px solid #e2e8f0;
    box-shadow: 0 4px 20px -2px rgba(27, 59, 111, 0.1);
}
.payment-options-comparison-header {
    padding: 1.5rem;
    text-align: center;
}
.payment-options-comparison-us {
    background: #fff;
    border-bottom: 1px solid #e2e8f0;
}
@media (min-width: 768px) {
    .payment-options-comparison-us {
        border-bottom: 0;
        border-right: 1px solid #e2e8f0;
    }
}
.payment-options-comparison-them {
    background-color: #f8fafc;
    padding: 1.5rem;
}
.payment-options-comparison-header-icon {
    filter: brightness(0) saturate(100%) invert(18%) sepia(50%) saturate(3000%) hue-rotate(210deg);
}
.payment-options-comparison-them-icon {
    filter: brightness(0) saturate(100%) invert(70%) sepia(10%) saturate(500%) hue-rotate(190deg);
}
.payment-options-x-icon {
    filter: brightness(0) saturate(100%) invert(40%) sepia(80%) saturate(500%) hue-rotate(330deg);
}
.payment-options-faq-item {
    background: #fff;
    border-radius: 0.5rem;
    border: 1px solid #e2e8f0;
    overflow: hidden;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}
.payment-options-faq-btn {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.25rem 1.5rem;
    text-align: left;
    font-weight: 700;
    color: #1B3B6F;
    cursor: pointer;
    list-style: none;
    transition: background-color 0.2s;
}
.payment-options-faq-btn:hover {
    background-color: #f8fafc;
}
.payment-options-faq-btn::-webkit-details-marker {
    display: none;
}
.payment-options-faq-chevron {
    flex-shrink: 0;
    transition: transform 0.2s;
    filter: brightness(0) saturate(100%) invert(70%) sepia(10%) saturate(500%) hue-rotate(190deg);
}
.payment-options-faq-item[open] .payment-options-faq-chevron {
    transform: rotate(180deg);
}
.payment-options-faq-answer {
    padding: 0 1.5rem 1.25rem;
    padding-top: 0;
    color: #475569;
    line-height: 1.6;
    border-top: 1px solid #f1f5f9;
    background-color: rgba(248, 250, 252, 0.5);
}
.payment-options-cta-section {
    background: #fff;
    border-top: 1px solid #dbeafe;
    padding: 4rem 0;
    text-align: center;
}
.payment-options-cta-btn {
    display: inline-block;
    background-color: #F59E0B;
    color: #fff;
    font-size: 1.125rem;
    font-weight: 700;
    padding: 1rem 2.5rem;
    border-radius: 9999px;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
    transition: all 0.2s;
    transform: translateY(0);
}
.payment-options-cta-btn:hover {
    background-color: #D97706;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
    transform: translateY(-4px);
}
.payment-options-cta-check {
    display: block;
    filter: brightness(0) saturate(100%) invert(16%) sepia(18%) saturate(6263%) hue-rotate(202deg) brightness(93%) contrast(88%);
}

/* ========== Company Info Page ========== */
.company-info-page {
    background-color: #F0F7FF;
    min-height: 100vh;
    padding-bottom: 0;
}
.company-info-breadcrumb-wrap {
    background-color: rgba(248, 250, 252, 0.5);
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.5);
}

/* ----- Company Info — Page Header & Introduction ----- */
.company-info-section-wrap {
    background-color: #fff;
    padding-top: 4rem;
    padding-bottom: 2rem;
    border-bottom: 1px solid #f3f4f6;
}
.company-info-section-wrap--no-border {
    border-bottom: none;
}
@media (min-width: 640px) {
    .company-info-section-wrap {
        padding-top: 5rem;
        padding-bottom: 2.5rem;
    }
}
@media (min-width: 768px) {
    .company-info-section-wrap {
        padding-top: 6rem;
        padding-bottom: 3rem;
    }
}
/* When main content section follows header block, use smaller top padding */
.company-info-section-wrap + .company-info-section-wrap {
    padding-top: 2rem;
}
@media (min-width: 768px) {
    .company-info-section-wrap + .company-info-section-wrap {
        padding-top: 2.5rem;
    }
}

.company-info-page-header {
    margin-bottom: 2rem;
    text-align: center;
}
@media (min-width: 768px) {
    .company-info-page-header {
        text-align: left;
        margin-bottom: 2.5rem;
    }
}
.company-info-page-title {
    font-size: 1.75rem;
    line-height: 1.2;
    font-weight: 700;
    color: #1B3B6F;
    margin-bottom: 0.75rem;
}
@media (min-width: 640px) {
    .company-info-page-title {
        font-size: 2rem;
    }
}
@media (min-width: 768px) {
    .company-info-page-title {
        font-size: 3rem;
        margin-bottom: 1rem;
    }
}
.company-info-page-subtitle {
    font-size: 1rem;
    color: #64748b;
    line-height: 1.5;
}
@media (min-width: 768px) {
    .company-info-page-subtitle {
        font-size: 1.125rem;
    }
}

.company-info-intro-card {
    background: #fff;
    border-radius: 1rem;
    padding: 1.25rem 1.5rem;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.05);
    border: 1px solid #f1f5f9;
    position: relative;
    overflow: hidden;
}
@media (min-width: 640px) {
    .company-info-intro-card {
        padding: 1.5rem 1.75rem;
    }
}
@media (min-width: 768px) {
    .company-info-intro-card {
        padding: 1.5rem 2rem;
    }
}
.company-info-intro-accent {
    position: absolute;
    top: 0;
    right: 0;
    width: 8rem;
    height: 8rem;
    background-color: #ffedd5;
    border-radius: 0 0 0 100%;
    margin-right: -4rem;
    margin-top: -4rem;
    opacity: 0.5;
}
.company-info-intro-body {
    position: relative;
    z-index: 10;
}
.company-info-intro-card .company-info-intro-body p,
.company-info-intro-card p {
    color: #334155;
    font-size: 1rem;
    line-height: 1.625;
}
@media (min-width: 768px) {
    .company-info-intro-card .company-info-intro-body p,
    .company-info-intro-card p {
        font-size: 1.125rem;
    }
}
.company-info-intro-card .company-info-intro-body p strong,
.company-info-intro-card p strong {
    color: #1B3B6F;
}
.company-info-intro-card .company-info-intro-body p + p,
.company-info-intro-card p + p,
.company-info-intro-secondary {
    margin-top: 1rem;
    color: #475569;
    max-width: 48rem;
}
.company-info-card {
    background: #fff;
    border-radius: 0.75rem;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.08), 0 1px 2px -1px rgba(0, 0, 0, 0.08);
    border: 1px solid #e2e8f0;
    overflow: hidden;
}
.company-info-card-header {
    background-color: #F0F7FF;
    padding: 1rem 1.5rem;
    border-bottom: 1px solid #e2e8f0;
    display: flex;
    align-items: center;
    gap: 0.75rem;
}
.company-info-card-header h2 {
    font-weight: 700;
    color: #1B3B6F;
    text-transform: uppercase;
    font-size: 0.875rem;
    letter-spacing: 0.05em;
}
.company-info-trust-section {
    background-color: rgba(16, 185, 129, 0.05);
    border-radius: 1rem;
    padding: 1.5rem 2.5rem;
    border: 1px solid rgba(16, 185, 129, 0.2);
}
.company-info-cta-card {
    background: #fff;
    border-radius: 1.5rem;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    border: 1px solid #e2e8f0;
}
.company-info-cta-right-pattern {
    background-image: url('https://www.transparenttextures.com/patterns/cubes.png');
    opacity: 0.1;
    position: absolute;
    inset: 0;
    background-repeat: repeat;
}
.company-info-icon-nordic {
    color: #1B3B6F;
}
.company-info-icon-action {
    color: #F59E0B;
}
.company-info-icon-trust {
    color: #059669;
}
.company-info-careers-card {
    background: linear-gradient(to bottom right, #1E40AF, #1B3B6F);
    border-radius: 0.75rem;
    padding: 1.5rem;
    color: #fff;
    text-align: center;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
}
.company-info-response-time {
    color: #059669;
}
/* Company info icon colors (for SVGs) */
.company-info-icon-nordic {
    color: #1B3B6F;
    filter: brightness(0) saturate(100%) invert(16%) sepia(69%) saturate(3795%) hue-rotate(225deg) brightness(91%) contrast(91%);
}
.company-info-icon-action {
    color: #F59E0B;
    filter: brightness(0) saturate(100%) invert(58%) sepia(98%) saturate(500%) hue-rotate(1deg) brightness(99%) contrast(93%);
}
.company-info-icon-trust {
    color: #059669;
    filter: brightness(0) saturate(100%) invert(52%) sepia(78%) saturate(500%) hue-rotate(120deg) brightness(95%) contrast(88%);
}
.company-info-careers-card .company-info-icon-action {
    filter: brightness(0) saturate(100%) invert(58%) sepia(98%) saturate(500%) hue-rotate(1deg) brightness(99%) contrast(93%);
}

/* Company info – icon filters (moved from inline styles) */
.company-info-icon-ticket-blue {
    filter: brightness(0) saturate(100%) invert(26%) sepia(93%) saturate(1980%) hue-rotate(214deg) brightness(95%) contrast(94%);
}
.company-info-icon-globe-green {
    filter: brightness(0) saturate(100%) invert(39%) sepia(83%) saturate(898%) hue-rotate(104deg) brightness(99%) contrast(83%);
}
.company-info-icon-banknote-amber {
    filter: brightness(0) saturate(100%) invert(60%) sepia(57%) saturate(6089%) hue-rotate(13deg) brightness(100%) contrast(95%);
}
.company-info-icon-bolt-purple {
    filter: brightness(0) saturate(100%) invert(37%) sepia(92%) saturate(6119%) hue-rotate(264deg) brightness(94%) contrast(95%);
}
.company-info-icon-award {
    filter: brightness(0) saturate(100%) invert(47%) sepia(18%) saturate(507%) hue-rotate(176deg) brightness(90%) contrast(93%);
}
.company-info-icon-envelop {
    filter: brightness(0) saturate(100%) invert(27%) sepia(46%) saturate(4105%) hue-rotate(216deg) brightness(97%) contrast(90%);
}
.company-info-icon-phone {
    filter: brightness(0) saturate(100%) invert(40%) sepia(82%) saturate(3638%) hue-rotate(125deg) brightness(100%) contrast(83%);
}
.company-info-icon-chat {
    filter: brightness(0) saturate(100%) invert(48%) sepia(50%) saturate(3955%) hue-rotate(14deg) brightness(100%) contrast(95%);
}
.company-info-icon-slate {
    filter: brightness(0) saturate(100%) invert(66%) sepia(16%) saturate(381%) hue-rotate(175deg) brightness(96%) contrast(86%);
}
.company-info-icon-cta-check {
    filter: brightness(0) saturate(100%) invert(65%) sepia(71%) saturate(5561%) hue-rotate(12deg) brightness(98%) contrast(95%);
}
.company-info-icon-ticket-white {
    filter: brightness(0) invert(1);
}
.company-info-page .legal-doc-link img {
    transition: filter 0.2s ease;
}
.company-info-page .legal-doc-link:hover img {
    filter: brightness(0) saturate(100%) invert(63%) sepia(87%) saturate(1189%) hue-rotate(354deg) brightness(97%) contrast(98%) !important;
}

/* Company info: enforce two-column layout (wide left + narrow right sidebar) like company.html */
.company-info-section-wrap .company-info-main-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
}
@media (min-width: 1024px) {
    .company-info-section-wrap .company-info-main-grid {
        grid-template-columns: repeat(12, minmax(0, 1fr));
    }
    .company-info-section-wrap .company-info-main-col {
        grid-column: span 8;
    }
    .company-info-section-wrap .company-info-sidebar-col {
        grid-column: span 4;
    }
}

/* ========== About Us page (from theoresundbridge.com---about-us design) ========== */
.about-us-page {
    padding-top: 0;
}
.about-us-breadcrumb-chevron {
    filter: brightness(0) saturate(100%) invert(75%) sepia(10%) saturate(500%) hue-rotate(175deg);
}
/* Timeline */
.about-us-timeline-line {
    display: none;
}
@media (min-width: 1024px) {
    .about-us-timeline-line {
        display: block;
        position: absolute;
        left: 50%;
        top: 0;
        bottom: 0;
        width: 1px;
        background-color: #e2e8f0;
        transform: translateX(-50%);
    }
}
.about-us-timeline-dot {
    display: none;
}
@media (min-width: 1024px) {
    .about-us-timeline-dot {
        display: flex;
        flex-shrink: 0;
        width: 3rem;
        height: 3rem;
        background: #fff;
        border: 4px solid #1B3B6F;
        border-radius: 9999px;
        align-items: center;
        justify-content: center;
        z-index: 10;
        box-shadow: 0 0 0 8px rgba(245, 158, 11, 0.2);
    }
    .about-us-timeline-dot::after {
        content: '';
        width: 0.5rem;
        height: 0.5rem;
        background: #F59E0B;
        border-radius: 9999px;
    }
}
.about-us-timeline-placeholder {
    background: #e2e8f0;
    border: 2px dashed #cbd5e1;
    border-radius: 0.75rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
    text-align: center;
}
.about-us-timeline-placeholder-label {
    font-size: 0.875rem;
    font-weight: 500;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
/* Mission section icons (amber) */
.about-us-mission-icon {
    filter: brightness(0) saturate(100%) invert(58%) sepia(98%) saturate(500%) hue-rotate(1deg) brightness(99%) contrast(93%);
}
/* Team section placeholder avatars */
.about-us-team-avatar-icon {
    filter: brightness(0) saturate(100%) invert(66%) sepia(16%) saturate(381%) hue-rotate(175deg) brightness(96%) contrast(86%);
}
/* Context section small icons (amber) */
.about-us-context-icon {
    filter: brightness(0) saturate(100%) invert(58%) sepia(98%) saturate(500%) hue-rotate(1deg) brightness(99%) contrast(93%);
}
/* Company card icons (amber on dark) */
.about-us-company-card-icon {
    filter: brightness(0) saturate(100%) invert(58%) sepia(98%) saturate(500%) hue-rotate(1deg) brightness(99%) contrast(93%);
}
/* Globe / Global Coverage (from about-us-extracted GlobeVisual) */
.about-us-globe-section {
    background: #fff;
    overflow: hidden;
}
/* Orbit radius: fallback for browsers without container queries */
.about-us-globe-visual {
    position: relative;
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
    --globe-orbit-radius: min(38vw, 267px);
}
/* Match wrapper width (e.g. 800×800): flags sit at ~⅓ of side — same proportion as 200px @ 600px */
@supports (container-type: inline-size) {
    .about-us-globe-visual {
        container-type: inline-size;
        --globe-orbit-radius: min(33.33cqw, 267px);
    }
}
/* Orbit: ring rotates 360deg in 60s */
@keyframes globe-orbit {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}
/* Counter-orbit: flags stay upright */
@keyframes globe-counter-orbit {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(-360deg); }
}
@keyframes globe-drift {
    0% { background-position: 0% 0%; }
    100% { background-position: 200% 0%; }
}
.about-us-globe-visual .globe-orbit-ring {
    position: absolute;
    inset: 0;
    z-index: 30;
    animation: globe-orbit 60s linear infinite;
}
.about-us-globe-visual:hover .globe-orbit-ring,
.about-us-globe-visual:hover .globe-counter-rotate {
    animation-play-state: paused;
}
.about-us-globe-visual .globe-counter-rotate {
    animation: globe-counter-orbit 60s linear infinite;
}
/* Central globe: gradient, drift overlay, lighting, shadow */
.about-us-globe-center {
    position: relative;
    width: 35%;
    height: 35%;
    border-radius: 9999px;
    box-shadow: 0 20px 50px -12px rgba(27, 59, 111, 0.25);
    z-index: 20;
    overflow: hidden;
    background: #1B3B6F;
}
.about-us-globe-center::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom right, #2a5298, #1e3c72);
    z-index: 0;
}
.about-us-globe-center .globe-drift {
    position: absolute;
    inset: 0;
    opacity: 0.4;
    z-index: 1;
    background-image: url("data:image/svg+xml,%3Csvg width='200' height='100' viewBox='0 0 200 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23ffffff' d='M20,50 Q30,40 50,55 T90,50 T130,60 T170,40 M40,20 Q60,10 80,25 T140,20 M60,80 Q90,90 120,75' stroke='none'/%3E%3C/svg%3E");
    background-size: 200% 100%;
    animation: globe-drift 20s linear infinite;
}
.about-us-globe-center .globe-lighting {
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 30% 30%, rgba(255,255,255,0.4), transparent 60%);
    z-index: 2;
    pointer-events: none;
}
.about-us-globe-center .globe-shadow {
    position: absolute;
    inset: 0;
    box-shadow: inset -10px -10px 30px rgba(0,0,0,0.5);
    border-radius: 9999px;
    z-index: 3;
    pointer-events: none;
}
.about-us-globe-center .globe-logo {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 4;
    font-weight: 800;
    color: #fff;
    font-size: clamp(1.5rem, 5vw, 3rem);
    letter-spacing: -0.05em;
    text-shadow: 0 2px 10px rgba(0,0,0,0.3);
    opacity: 0.9;
}
/* Orbit item: positioned at angle, line + flag */
.about-us-globe-visual .globe-orbit-item {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    transform-origin: 0 0;
    z-index: 1;
}
/* Lift entire spoke (line + flag + tooltip) above other flags/lines while hovering */
.about-us-globe-visual .globe-orbit-item:has(.globe-flag-wrapper:hover) {
    z-index: 200;
}
.about-us-globe-visual .globe-orbit-line {
    position: absolute;
    left: 0;
    width: var(--globe-orbit-radius);
    height: 1px;
    background: #e2e8f0;
    transform-origin: left center;
}
.about-us-globe-visual .globe-flag-wrapper {
    position: absolute;
    left: var(--globe-orbit-radius);
    top: 0;
    transform: translate(-50%, -50%);
    cursor: pointer;
}
.about-us-globe-visual .globe-flag-circle {
    position: relative;
    z-index: 1;
    width: 30px;
    height: 30px;
    border-radius: 9999px;
    padding: 1px;
    background: #fff;
    border: 1px solid #e2e8f0;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
    transition: transform 0.3s, border-color 0.3s, box-shadow 0.3s;
    overflow: hidden;
}
.about-us-globe-visual .globe-flag-wrapper:hover .globe-flag-circle {
    transform: scale(1.12);
    border-color: #F59E0B;
    box-shadow: 0 4px 12px rgba(245, 158, 11, 0.2);
}
.about-us-globe-visual .globe-flag-circle img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    border-radius: 9999px;
}
.about-us-globe-visual .globe-flag-tooltip {
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%);
    margin-bottom: 0.75rem;
    background: #1B3B6F;
    color: #fff;
    font-size: 0.75rem;
    padding: 0.375rem 0.75rem;
    border-radius: 0.5rem;
    box-shadow: 0 10px 25px rgba(0,0,0,0.15);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s;
    z-index: 3;
    white-space: nowrap;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.about-us-globe-visual .globe-flag-tooltip::after {
    content: '';
    position: absolute;
    bottom: -4px;
    left: 50%;
    transform: translateX(-50%) rotate(45deg);
    width: 8px;
    height: 8px;
    background: #1B3B6F;
}
.about-us-globe-visual .globe-flag-wrapper:hover .globe-flag-tooltip {
    opacity: 1;
}
.about-us-globe-visual .globe-flag-tooltip span:last-child {
    font-size: 0.5625rem;
    color: #cbd5e1;
    font-family: ui-monospace, monospace;
    letter-spacing: 0.05em;
}

/* Closing CTA – arrow icon: max 18px, white */
.closing-cta-arrow-icon {
    width: 18px;
    height: 18px;
    max-width: 18px;
    max-height: 18px;
    filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(0%) hue-rotate(5deg) brightness(102%) contrast(102%);
}
/* ========== Timeline Section – maps and animations (from about-us-extracted) ========== */
/* Central line: visible on desktop only, truly centered */
.about-us-timeline .timeline-central-line {
    display: none;
}
@media (min-width: 1024px) {
    .about-us-timeline .timeline-central-line {
        display: block;
        position: absolute;
        left: 50%;
        top: 0;
        bottom: 0;
        width: 1px;
        background-color: #e2e8f0;
        transform: translateX(-50%);
        z-index: 0;
    }
}
/* Center dot (desktop): white circle with nordic border and amber inner dot */
.about-us-timeline .timeline-dot {
    display: none;
}
@media (min-width: 1024px) {
    .about-us-timeline .timeline-dot {
        display: flex;
        flex-shrink: 0;
        width: 3rem;
        height: 3rem;
        background: #fff;
        border: 4px solid #1B3B6F;
        border-radius: 9999px;
        align-items: center;
        justify-content: center;
        z-index: 10;
        box-shadow: 0 0 0 8px rgba(245, 158, 11, 0.2);
    }
    .about-us-timeline .timeline-dot::after {
        content: '';
        width: 0.5rem;
        height: 0.5rem;
        background: #F59E0B;
        border-radius: 9999px;
    }
}
/* Dash animation for journey paths (Wiesbaden, European road trip) */
@keyframes timeline-dash {
    to { stroke-dashoffset: -100; }
}
.about-us-timeline .animate-dash {
    animation: timeline-dash 20s linear infinite;
}
/* Border run truck animation (2018) */
@keyframes timeline-border-run {
    0% { left: 15%; transform: translateX(-50%) translateY(-50%) scaleX(1); }
    45% { left: 85%; transform: translateX(-50%) translateY(-50%) scaleX(1); }
    50% { left: 85%; transform: translateX(-50%) translateY(-50%) scaleX(1); }
    51% { left: 85%; transform: translateX(-50%) translateY(-50%) scaleX(-1); }
    95% { left: 15%; transform: translateX(-50%) translateY(-50%) scaleX(-1); }
    100% { left: 15%; transform: translateX(-50%) translateY(-50%) scaleX(1); }
}
.about-us-timeline .animate-border-run {
    animation: timeline-border-run 6s ease-in-out infinite;
}
/* Traffic flow on Øresund map (2025) */
@keyframes timeline-traffic {
    to { stroke-dashoffset: -100; }
}
.about-us-timeline .animate-traffic-3 {
    animation: timeline-traffic 3s linear infinite;
}
.about-us-timeline .animate-traffic-4 {
    animation: timeline-traffic 4s linear infinite;
}
/* Float for localization bubbles */
@keyframes timeline-float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-8px); }
}
.about-us-timeline .animate-float-5 { animation: timeline-float 5s ease-in-out infinite; }
.about-us-timeline .animate-float-6 { animation: timeline-float 6s ease-in-out infinite 2s; }
.about-us-timeline .animate-float-7 { animation: timeline-float 7s ease-in-out infinite 1s; }
.about-us-timeline .animate-float-8 { animation: timeline-float 8s ease-in-out infinite 0.5s; }
/* Timeline map icons (nordic/action tint) */
.about-us-timeline .timeline-icon-nordic {
    filter: brightness(0) saturate(100%) invert(16%) sepia(69%) saturate(3795%) hue-rotate(225deg) brightness(91%) contrast(91%);
}
.about-us-timeline .timeline-icon-action {
    filter: brightness(0) saturate(100%) invert(58%) sepia(98%) saturate(500%) hue-rotate(1deg) brightness(99%) contrast(93%);
}
.about-us-timeline .timeline-icon-slate {
    filter: brightness(0) saturate(100%) invert(66%) sepia(16%) saturate(381%) hue-rotate(175deg) brightness(96%) contrast(86%);
}

/* ========== Team Profile (Mattijs) page ========== */
.team-profile-page {
    padding-top: 100px;
    background-color: #F8FAFC;
}
.team-profile-breadcrumb {
    background-color: #F0F7FF;
    border-bottom: 1px solid rgba(100, 116, 139, 0.1);
}
.team-profile-no-scrollbar {
    scrollbar-width: none;
    -ms-overflow-style: none;
}
.team-profile-no-scrollbar::-webkit-scrollbar {
    display: none;
}
.team-profile-breadcrumb-chevron {
    flex-shrink: 0;
    opacity: 0.5;
    filter: brightness(0) saturate(100%) invert(66%) sepia(16%) saturate(381%) hue-rotate(175deg);
}
.team-profile-header {
    background: #fff;
    border-bottom: 1px solid rgba(100, 116, 139, 0.1);
}
.team-profile-header .team-profile-name,
.team-profile-header .team-profile-role {
    text-align: left;
}
.team-profile-photo-wrap {
    width: 140px;
    height: 140px;
    border-radius: 1rem;
    overflow: hidden;
    border: 4px solid #F0F7FF;
    box-shadow: 0 10px 25px -8px rgba(27, 59, 111, 0.18), 0 4px 12px -4px rgba(15, 23, 42, 0.12);
    margin-left: 0;
    margin-right: 0;
    background: #F0F7FF;
}
@media (min-width: 768px) {
    .team-profile-photo-wrap {
        width: 220px;
        height: 220px;
        border-radius: 1.5rem;
        margin-left: 0;
        margin-right: 0;
    }
}
.team-profile-name {
    font-size: 1.875rem;
    font-weight: 700;
    color: #1B3B6F;
    margin-bottom: 0.25rem;
}
@media (min-width: 768px) {
    .team-profile-name { font-size: 2.5rem; line-height: 1.15; margin-bottom: 0.375rem; }
}
.team-profile-role {
    font-size: 1.125rem;
    color: #64748B;
    font-weight: 500;
    margin-bottom: 1rem;
}
@media (min-width: 768px) {
    .team-profile-role { font-size: 1.25rem; margin-bottom: 1.5rem; }
}
.team-profile-credentials {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    gap: 0.5rem;
    overflow-x: auto;
    padding-bottom: 1rem;
    margin-bottom: 1rem;
    margin-top: 0.25rem;
    -webkit-overflow-scrolling: touch;
}
@media (min-width: 768px) {
    .team-profile-credentials { flex-wrap: wrap; overflow: visible; padding-bottom: 0; margin-top: 0; }
}
.team-profile-cred-pill {
    flex-shrink: 0;
    background: rgba(240, 247, 255, 0.5);
    color: #1B3B6F;
    font-size: 0.75rem;
    font-weight: 500;
    padding: 0.375rem 0.75rem;
    border-radius: 9999px;
    border: 1px solid #DBEAFE;
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
}
@media (min-width: 768px) {
    .team-profile-cred-pill { font-size: 0.875rem; }
}
.team-profile-cred-icon {
    margin-right: 0.375rem;
    flex-shrink: 0;
    opacity: 0.7;
    filter: brightness(0) saturate(100%) invert(16%) sepia(69%) saturate(3795%) hue-rotate(225deg) brightness(91%) contrast(91%);
}
.team-profile-verified-badge {
    background: #10B981;
    color: #fff;
    border-radius: 0.75rem;
    padding: 1rem 1.25rem;
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.5rem;
    margin-top: 0.25rem;
    margin-left: 0;
    margin-right: auto;
    width: 100%;
    max-width: 100%;
    align-self: stretch;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}
@media (min-width: 768px) {
    .team-profile-verified-badge {
        width: -moz-fit-content;
        width: fit-content;
        max-width: 100%;
        align-self: flex-start;
        margin-bottom: 0;
        padding: 1.125rem 1.5rem;
    }
}
.team-profile-verified-icon-wrap {
    background: rgba(255, 255, 255, 0.2);
    border-radius: 9999px;
    padding: 0.25rem;
    flex-shrink: 0;
}
.team-profile-verified-check {
    filter: brightness(0) invert(1);
}
.team-profile-verified-label {
    font-size: 0.8125rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    opacity: 0.9;
}
.team-profile-verified-text {
    font-size: 0.9375rem;
    font-weight: 400;
    line-height: 1.35;
    opacity: 0.98;
}
.team-profile-contact-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.5rem;
    background: #f9fafb;
    border-radius: 9999px;
    transition: color 0.2s, background 0.2s;
}
.team-profile-contact-icon:hover { background: #eff6ff; }
.team-profile-linkedin:hover { color: #0077b5; }
.team-profile-linkedin img { color: #0077b5; }
.team-profile-linkedin:hover img { filter: brightness(0) saturate(100%) invert(32%) sepia(95%) saturate(1200%) hue-rotate(190deg); }
.team-profile-email:hover { color: #F59E0B; }
.team-profile-email:hover img { filter: brightness(0) saturate(100%) invert(58%) sepia(98%) saturate(500%) hue-rotate(1deg); }
.team-profile-section-white { background: #fff; }
.team-profile-section-tint { background: rgba(240, 247, 255, 0.3); }
.team-profile-section-gray { background: #f9fafb; }
.team-profile-section-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: #1B3B6F;
    margin-bottom: 1.5rem;
    position: relative;
    padding-bottom: 0.75rem;
}
@media (min-width: 768px) {
    .team-profile-section-title { font-size: 1.875rem; margin-bottom: 2rem; }
}
.team-profile-section-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 4rem;
    height: 4px;
    background: #F59E0B;
    border-radius: 9999px;
}
.team-profile-prose {
    color: rgba(100, 116, 139, 0.8);
    line-height: 1.625;
    font-size: 1.125rem;
}
.team-profile-card {
    background: #fff;
    padding: 1.5rem;
    border-radius: 0.75rem;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    border: 1px solid rgba(100, 116, 139, 0.1);
    transition: border-color 0.2s;
    height: 100%;
}
.team-profile-card:hover {
    border-color: rgba(27, 59, 111, 0.3);
}
.team-profile-card-icon-wrap {
    padding: 0.5rem;
    background: #DBEAFE;
    border-radius: 0.5rem;
    color: #1B3B6F;
}
.team-profile-card-icon-img {
    display: block;
    filter: brightness(0) saturate(100%) invert(16%) sepia(69%) saturate(3795%) hue-rotate(225deg) brightness(91%) contrast(91%);
}
.team-profile-card-heading {
    font-weight: 700;
    color: #1B3B6F;
    font-size: 1.125rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.team-profile-timeline-item {
    position: relative;
    padding-left: 1rem;
    border-left: 2px solid rgba(27, 59, 111, 0.2);
}
.team-profile-timeline-item::before {
    content: '';
    position: absolute;
    left: -5px;
    top: 6px;
    width: 8px;
    height: 8px;
    border-radius: 9999px;
    background: #1B3B6F;
}
.team-profile-timeline-dot-muted::before {
    background: rgba(100, 116, 139, 0.4);
}
.team-profile-tag {
    padding: 0.375rem 0.75rem;
    border-radius: 9999px;
    font-size: 0.75rem;
    font-weight: 700;
    border: 1px solid;
}
.team-profile-tag-blue {
    background: #F0F7FF;
    color: #1B3B6F;
    border-color: #DBEAFE;
}
.team-profile-tag-green {
    background: rgba(16, 185, 129, 0.1);
    color: #10B981;
    border-color: rgba(16, 185, 129, 0.2);
}
.team-profile-tag-freek {
    display: inline-block;
    padding: 0.375rem 0.75rem;
    border-radius: 9999px;
    font-size: 0.75rem;
    font-weight: 700;
    color: #1b3b6f;
    background: #F0F7FF;
    border: 1px solid #DBEAFE;
}
.team-profile-figure {
    border-radius: 0.75rem;
    overflow: hidden;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
    border: 1px solid rgba(100, 116, 139, 0.1);
}
.team-profile-figure-img-wrap { position: relative; overflow: hidden; }
.team-profile-figure-tall { height: 16rem; }
@media (min-width: 768px) {
    .team-profile-figure-tall { height: 20rem; }
}
.team-profile-img-hover {
    transition: transform 0.5s ease;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}
.team-profile-figure:hover .team-profile-img-hover {
    transform: scale(1.05);
}
.team-profile-figure-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.6), transparent);
    opacity: 0.6;
}
.team-profile-figure-caption-inner {
    position: absolute;
    bottom: 0;
    left: 0;
    padding: 1rem;
    color: #fff;
}
.team-profile-figure-label {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.team-profile-figure-label-icon {
    filter: brightness(0) saturate(100%) invert(58%) sepia(98%) saturate(500%) hue-rotate(1deg);
}
.team-profile-figcaption {
    font-size: 0.75rem;
    padding: 0.75rem 1rem;
    font-weight: 500;
}
@media (min-width: 768px) {
    .team-profile-figcaption { font-size: 0.875rem; }
}
.team-profile-figcaption-dark {
    background: #1B3B6F;
    color: #fff;
}
.team-profile-figcaption-light {
    background: #f9fafb;
    color: #64748B;
    border-top: 1px solid #f3f4f6;
    display: flex;
    align-items: center;
}
.team-profile-highlight-box {
    border-radius: 0 0.75rem 0.75rem 0;
    padding: 1.5rem;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}
.team-profile-highlight-green {
    background: #F0F7FF;
    border-left: 4px solid #10B981;
}
.team-profile-highlight-orange {
    background: #F0F7FF;
    border-left: 4px solid #F59E0B;
}
.team-profile-highlight-title {
    font-size: 1.25rem;
    font-weight: 700;
    color: #1B3B6F;
    display: flex;
    align-items: center;
    margin-bottom: 1.5rem;
}
.team-profile-crossing-item {
    position: relative;
    padding-left: 1.5rem;
    border-left: 2px solid rgba(27, 59, 111, 0.1);
    padding-bottom: 0.5rem;
}
.team-profile-crossing-item:last-child { padding-bottom: 0; }
.team-profile-crossing-dot {
    position: absolute;
    left: -9px;
    top: 0;
    width: 1rem;
    height: 1rem;
    border-radius: 9999px;
    background: #fff;
    border: 2px solid #10B981;
}
.team-profile-crossing-item.team-profile-crossing-dot-orange::before {
    content: '';
    position: absolute;
    left: -9px;
    top: 0.25rem;
    width: 1rem;
    height: 1rem;
    border-radius: 9999px;
    background: #fff;
    border: 2px solid #F59E0B;
}
.team-profile-list-check {
    flex-shrink: 0;
    margin-right: 0.5rem;
    margin-top: 2px;
    filter: brightness(0) saturate(100%) invert(52%) sepia(78%) saturate(500%) hue-rotate(120deg);
}
.team-profile-quote-box {
    background: rgba(245, 158, 11, 0.05);
    border-left: 4px solid #F59E0B;
    padding: 1.5rem;
    border-radius: 0 0.75rem 0.75rem 0;
}
.team-profile-flag-card {
    background: #fff;
    border: 1px solid rgba(100, 116, 139, 0.1);
    padding: 0.75rem;
    border-radius: 0.5rem;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    transition: border-color 0.2s;
}
.team-profile-flag-card:hover {
    border-color: rgba(27, 59, 111, 0.3);
}
.team-profile-flag-card .mb-1 { margin-bottom: 0.25rem; }
.team-profile-role-card {
    background: #fff;
    padding: 1.5rem;
    border-radius: 0.75rem;
    border: 1px solid rgba(100, 116, 139, 0.1);
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}
.team-profile-role-icon {
    width: 3rem;
    height: 3rem;
    border-radius: 9999px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1rem;
}
.team-profile-role-icon-blue { background: #F0F7FF; }
.team-profile-role-icon-green { background: rgba(16, 185, 129, 0.1); }
.team-profile-icon-nordic {
    filter: brightness(0) saturate(100%) invert(16%) sepia(69%) saturate(3795%) hue-rotate(225deg) brightness(91%) contrast(91%);
}
.team-profile-icon-green {
    filter: brightness(0) saturate(100%) invert(52%) sepia(78%) saturate(500%) hue-rotate(120deg);
}
.team-profile-icon-orange {
    filter: brightness(0) saturate(100%) invert(58%) sepia(98%) saturate(500%) hue-rotate(1deg);
}
.team-profile-badge-explainer {
    background: #fff;
    border-radius: 0.75rem;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    border: 1px solid rgba(16, 185, 129, 0.3);
}
.team-profile-badge-explainer-header {
    background: rgba(16, 185, 129, 0.1);
    padding: 0.75rem 1rem;
    border-bottom: 1px solid rgba(16, 185, 129, 0.1);
}
.team-profile-origin-timeline {
    position: relative;
}
.team-profile-origin-timeline::before {
    content: '';
    position: absolute;
    left: 11px;
    top: 0.5rem;
    bottom: 0.5rem;
    width: 2px;
    background: rgba(100, 116, 139, 0.2);
}
@media (min-width: 768px) {
    .team-profile-origin-timeline::before { left: 15px; }
}
.team-profile-origin-item {
    position: relative;
    padding-left: 2.5rem;
    margin-bottom: 3rem;
}
@media (min-width: 768px) {
    .team-profile-origin-item { padding-left: 3rem; }
}
.team-profile-origin-item:last-child { margin-bottom: 0; }
.team-profile-origin-dot {
    position: absolute;
    left: 0;
    top: 0.25rem;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 9999px;
    background: #1B3B6F;
    border: 4px solid #fff;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    z-index: 10;
}
@media (min-width: 768px) {
    .team-profile-origin-dot { width: 2rem; height: 2rem; }
}
.team-profile-origin-dot-green {
    background: #10B981;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
    border: 4px solid #fff;
    outline: 4px solid #f0fdf4;
}
.team-profile-origin-year {
    display: inline-block;
    padding: 0.25rem 0.75rem;
    background: #1B3B6F;
    color: #fff;
    font-size: 0.75rem;
    font-weight: 700;
    border-radius: 9999px;
    margin-bottom: 0.5rem;
}
@media (min-width: 768px) {
    .team-profile-origin-year { font-size: 0.875rem; }
}
.team-profile-origin-year-green {
    background: #10B981;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}
.team-profile-origin-highlight-box {
    background: rgba(240, 247, 255, 0.5);
    border: 1px solid #F0F7FF;
    border-radius: 0.75rem;
    padding: 1.25rem;
    margin-top: -0.5rem;
}
.team-profile-quotes-section {
    background: rgba(240, 247, 255, 0.2);
}
.team-profile-quote-card {
    background: #fff;
    padding: 2rem;
    border-radius: 0.75rem;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    display: flex;
    flex-direction: column;
    border-left: 4px solid;
}
.team-profile-quote-card-orange { border-left-color: #F59E0B; }
.team-profile-quote-card-blue { border-left-color: #1B3B6F; }
.team-profile-quote-card-green { border-left-color: #10B981; }
.team-profile-quote-icon {
    display: block;
    opacity: 0.2;
}
.team-profile-quote-icon-orange { filter: brightness(0) saturate(100%) invert(58%) sepia(98%) saturate(500%) hue-rotate(1deg); }
.team-profile-quote-icon-blue { filter: brightness(0) saturate(100%) invert(16%) sepia(69%) saturate(3795%) hue-rotate(225deg); }
.team-profile-quote-icon-green { filter: brightness(0) saturate(100%) invert(52%) sepia(78%) saturate(500%) hue-rotate(120deg); }
.team-profile-quote-card-dark {
    background: #1B3B6F;
    padding: 2rem;
    border-radius: 0.75rem;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
    border: 1px solid #1e3a5f;
    transform: translateY(-0.5rem);
}
@media (min-width: 768px) {
    .team-profile-quote-card-dark { transform: translateY(-0.5rem); }
}
.team-profile-lang-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    background: #fff;
    border-radius: 9999px;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    transition: box-shadow 0.2s;
}
.team-profile-lang-pill:hover {
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}
.team-profile-verified-intro {
    background: rgba(16, 185, 129, 0.05);
    border-left: 4px solid #10B981;
    padding: 1.5rem;
    border-radius: 0 0.75rem 0.75rem 0;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
@media (min-width: 768px) {
    .team-profile-verified-intro { flex-direction: row; align-items: flex-start; align-items: center; }
}
.team-profile-verified-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    background: rgba(16, 185, 129, 0.1);
    padding: 0.375rem 0.75rem;
    border-radius: 0.25rem;
    color: #10B981;
    font-weight: 700;
    font-size: 0.75rem;
    border: 1px solid rgba(16, 185, 129, 0.2);
}
.team-profile-article-card {
    background: #fff;
    border-radius: 0.75rem;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    border: 1px solid rgba(100, 116, 139, 0.1);
    transition: box-shadow 0.2s;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    height: 100%;
    text-decoration: none;
    color: inherit;
}
.team-profile-article-card:hover {
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}
.team-profile-article-img {
    transition: transform 0.5s ease;
}
.team-profile-article-card:hover .team-profile-article-img {
    transform: scale(1.05);
}
.team-profile-article-badge {
    position: absolute;
    top: 0.75rem;
    left: 0.75rem;
    display: inline-flex;
    align-items: center;
    padding: 0.25rem 0.5rem;
    border-radius: 0.25rem;
    background: #10B981;
    color: #fff;
    font-size: 0.75rem;
    font-weight: 700;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}
.team-profile-article-arrow {
    display: inline-block;
    transition: transform 0.2s;
    filter: brightness(0) saturate(100%) invert(16%) sepia(69%) saturate(3795%) hue-rotate(225deg) brightness(91%) contrast(91%);
}
.group:hover .team-profile-article-arrow {
    transform: translateX(4px);
}
.team-profile-outline-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.75rem 1.5rem;
    border: 1px solid rgba(100, 116, 139, 0.2);
    border-radius: 9999px;
    color: #1B3B6F;
    font-weight: 700;
    transition: all 0.2s;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    text-decoration: none;
}
.team-profile-outline-btn:hover {
    background: #1B3B6F;
    color: #fff;
}
.team-profile-connect-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 2rem;
    border-radius: 0.75rem;
    border: 1px solid rgba(100, 116, 139, 0.1);
    transition: all 0.2s;
    background: #fff;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    text-decoration: none;
    color: inherit;
}
.team-profile-connect-card:hover {
    border-color: rgba(27, 59, 111, 0.5);
    background: rgba(240, 247, 255, 0.2);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}
.team-profile-connect-icon-wrap {
    width: 5rem;
    height: 5rem;
    border-radius: 9999px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.5rem;
    transition: transform 0.2s;
}
.team-profile-connect-card:hover .team-profile-connect-icon-wrap {
    transform: scale(1.1);
}
.team-profile-connect-linkedin-icon {
    background: rgba(0, 119, 181, 0.1);
    color: #0077b5;
}
.team-profile-connect-linkedin-icon img {
    filter: brightness(0) saturate(100%) invert(32%) sepia(95%) saturate(1200%) hue-rotate(190deg);
}
.team-profile-connect-email-icon {
    background: rgba(100, 116, 139, 0.1);
    color: #64748B;
}
.team-profile-connect-email-icon img {
    filter: brightness(0) saturate(100%) invert(66%) sepia(16%) saturate(381%) hue-rotate(175deg);
}
.team-profile-connect-arrow {
    display: inline-block;
    transition: transform 0.2s;
}
.team-profile-connect-card:hover .team-profile-connect-arrow {
    transform: translateX(4px);
}
.team-profile-team-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: #1B3B6F;
    position: relative;
    padding-bottom: 0.5rem;
}
@media (min-width: 768px) {
    .team-profile-team-title { padding-bottom: 0; }
}
.team-profile-team-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 3rem;
    height: 4px;
    background: #F59E0B;
    border-radius: 9999px;
}
@media (min-width: 768px) {
    .team-profile-team-title::after { display: none; }
}
.team-profile-team-arrow {
    transition: transform 0.2s;
}
.team-profile-team-card:hover .team-profile-team-arrow {
    transform: translateX(4px);
}
.team-profile-team-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    background: #fff;
    padding: 1.5rem;
    border-radius: 0.75rem;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    border: 1px solid rgba(100, 116, 139, 0.1);
    transition: all 0.2s;
    cursor: pointer;
    text-decoration: none;
    color: inherit;
}
.team-profile-team-card:hover {
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
    border-color: rgba(27, 59, 111, 0.3);
}
.team-profile-company-box {
    display: inline-block;
    padding: 2rem;
    border-radius: 1rem;
    background: #f3f4f6;
    border: 1px solid #e5e7eb;
    max-width: 48rem;
    width: 100%;
}
.team-profile-company-heading {
    font-size: 0.75rem;
    font-weight: 700;
    color: #64748B;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
}
.team-profile-cta-section {
    background: #F0F7FF;
    text-align: center;
    position: relative;
    overflow: hidden;
}
.team-profile-cta-title {
    font-size: 1.875rem;
    font-weight: 700;
    margin-bottom: 1.5rem;
    color: #1B3B6F;
    line-height: 1.2;
}
@media (min-width: 768px) {
    .team-profile-cta-title { font-size: 3rem; }
}
.team-profile-cta-features {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    margin-bottom: 2.5rem;
    background: rgba(255, 255, 255, 0.5);
    padding: 1rem 2rem;
    border-radius: 0.75rem;
    border: 1px solid rgba(255, 255, 255, 0.6);
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}
@media (max-width: 767px) {
    .team-profile-cta-features {
        flex-wrap: wrap;
        gap: 0.75rem;
        padding: 0.75rem 1rem;
        font-size: 0.875rem;
    }
}
.team-profile-cta-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #F59E0B;
    color: #fff;
    font-weight: 700;
    padding: 1.25rem 2.5rem;
    border-radius: 0.75rem;
    box-shadow: 0 10px 15px -3px rgba(245, 158, 11, 0.2);
    font-size: 1.125rem;
    transition: all 0.2s;
    min-width: 300px;
    width: 100%;
    text-decoration: none;
}
@media (min-width: 768px) {
    .team-profile-cta-btn { width: auto; font-size: 1.25rem; }
}
.team-profile-cta-btn:hover {
    background: #D97706;
    transform: translateY(-2px);
}
.team-profile-cta-btn-icon {
    filter: brightness(0) invert(1);
}
.team-profile-chat-bubble {
    animation: team-profile-bounce-slow 3s infinite;
}
@keyframes team-profile-bounce-slow {
    0%, 100% { transform: translateY(-5%); animation-timing-function: cubic-bezier(0.8, 0, 1, 1); }
    50% { transform: translateY(0); animation-timing-function: cubic-bezier(0, 0, 0.2, 1); }
}
.team-profile-mobile-cta {
    box-shadow: 0 -4px 6px -1px rgba(0, 0, 0, 0.1);
}
.team-profile-animate-on-scroll {
    opacity: 0;
    transform: translateY(12px);
    transition: opacity 0.4s ease, transform 0.4s ease;
}
.team-profile-animate-on-scroll.team-profile-visible {
    opacity: 1;
    transform: translateY(0);
}

/* ========== Contact Page ========== */
.contact-main {
    padding-top: 105px; /* clear fixed header */
}
@media (max-width: 767px) {
    .contact-main { padding-top: 72px; }
}
.contact-page-body {
    font-family: 'Inter', sans-serif;
    background-color: #F0F7FF;
    color: #1B3B6F;
}
.contact-hero {
    text-align: center;
    padding: 70px 1rem 1rem;
    background-color: #F0F7FF;
}
.contact-hero-title {
    font-size: 1.875rem;
    font-weight: 700;
    color: #1B3B6F;
    margin-bottom: 1rem;
    letter-spacing: -0.025em;
}
@media (min-width: 768px) {
    .contact-hero-title { font-size: 2.25rem; }
}
@media (min-width: 1024px) {
    .contact-hero-title { font-size: 3rem; }
}
.contact-hero-desc {
    font-size: 1.125rem;
    color: #475569;
    max-width: 48rem;
    margin-left: auto;
    margin-right: auto;
    line-height: 1.625;
}
@media (min-width: 768px) {
    .contact-hero-desc { font-size: 1.25rem; }
}

/* Contact cards */
.contact-card {
    background: #fff;
    border-radius: 0.75rem;
    box-shadow: 0 4px 20px -2px rgba(27, 59, 111, 0.08);
    border: 1px solid #f1f5f9;
    padding: 1.5rem;
    transition: box-shadow 0.3s, transform 0.2s;
}
.contact-card:hover {
    box-shadow: 0 10px 25px -5px rgba(27, 59, 111, 0.12);
}
.contact-card-primary {
    position: relative;
    overflow: hidden;
    padding: 2rem;
    border: 2px solid rgba(245, 158, 11, 0.1);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.contact-card-badge {
    position: absolute;
    top: 0;
    right: 0;
    background: #F59E0B;
    color: #fff;
    font-size: 0.75rem;
    font-weight: 700;
    padding: 0.375rem 1rem;
    border-radius: 0 0 0 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}
.contact-card-icon-wrap {
    background: #EFF6FF;
    border-radius: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
}
.contact-card-icon-wrap-lg {
    width: 4rem;
    height: 4rem;
    margin-bottom: 1.5rem;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
}
.contact-card-icon-wrap-lg:hover {
    transform: scale(1.05);
    transition: transform 0.2s;
}
.contact-card-icon-lg {
    filter: brightness(0) saturate(100%) invert(13%) sepia(74%) saturate(2088%) hue-rotate(206deg) brightness(96%) contrast(85%);
}
.contact-card-title {
    font-size: 1.875rem;
    font-weight: 700;
    color: #1B3B6F;
    margin-bottom: 0.5rem;
}
.contact-card-subtitle {
    color: #F59E0B;
    font-weight: 500;
    font-size: 1.125rem;
    margin-bottom: 1rem;
}
.contact-card-text {
    color: #475569;
    font-size: 1.125rem;
    margin-bottom: 2rem;
    max-width: 32rem;
    line-height: 1.625;
}
.contact-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.875rem;
    font-weight: 600;
    padding: 0.375rem 0.75rem;
    border-radius: 0.5rem;
    border: 1px solid;
}
.contact-badge-green {
    color: #059669;
    background: #ECFDF5;
    border-color: #A7F3D0;
}
.contact-badge-blue {
    color: #2563EB;
    background: #EFF6FF;
    border-color: #BFDBFE;
}
.contact-badge-gray {
    background: #f1f5f9;
    color: #475569;
    font-size: 0.625rem;
    font-weight: 700;
    padding: 0.25rem 0.5rem;
    border-radius: 9999px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.contact-badge-icon {
    flex-shrink: 0;
    filter: brightness(0) saturate(100%) invert(42%) sepia(96%) saturate(2022%) hue-rotate(142deg) brightness(98%) contrast(96%);
}
.contact-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    font-weight: 700;
    padding: 1rem 2rem;
    border-radius: 0.75rem;
    transition: all 0.2s;
    border: none;
    cursor: pointer;
    text-decoration: none;
}
.contact-btn-primary {
    background: #F59E0B;
    color: #fff;
    font-size: 1.125rem;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1);
}
.contact-btn-primary:hover {
    background: #D97706;
    box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1);
}
.contact-btn-primary:active {
    transform: scale(0.98);
}
.contact-btn-arrow {
    filter: brightness(0) invert(1);
}
.contact-card-blur {
    position: absolute;
    bottom: -6rem;
    right: -6rem;
    width: 16rem;
    height: 16rem;
    background: rgba(245, 158, 11, 0.05);
    border-radius: 50%;
    filter: blur(48px);
    pointer-events: none;
}
.contact-card-secondary {
    display: flex;
    flex-direction: column;
    height: 100%;
}
.contact-card-icon-wrap-md {
    width: 3rem;
    height: 3rem;
    background: #EFF6FF;
    border-radius: 0.75rem;
    display: flex;
    align-items: center;
    justify-content: center;
}
.contact-card-icon-md {
    filter: brightness(0) saturate(100%) invert(13%) sepia(74%) saturate(2088%) hue-rotate(206deg) brightness(96%) contrast(85%);
}
.contact-card-heading {
    font-size: 1.25rem;
    font-weight: 700;
    color: #1B3B6F;
    margin-bottom: 0.25rem;
}
.contact-card-meta {
    color: #64748b;
    font-weight: 500;
    font-size: 0.875rem;
    margin-bottom: 0.75rem;
}
.contact-check-icon {
    filter: brightness(0) saturate(100%) invert(42%) sepia(96%) saturate(2022%) hue-rotate(142deg) brightness(98%) contrast(96%);
}
.contact-btn-outline {
    width: 100%;
    background: #fff;
    border: 2px solid #1B3B6F;
    color: #1B3B6F;
    padding: 0.75rem 1rem;
    font-size: 1rem;
}
.contact-btn-outline:hover {
    background: #1B3B6F;
    color: #fff;
}
.contact-btn-arrow-sm {
    filter: brightness(0) saturate(100%) invert(13%) sepia(74%) saturate(2088%) hue-rotate(206deg) brightness(96%) contrast(85%);
    transition: transform 0.2s;
}
.contact-btn-outline:hover .contact-btn-arrow-sm {
    filter: brightness(0) invert(1);
    transform: translateX(4px);
}
.contact-card-icon-wrap-sm {
    width: 2.5rem;
    height: 2.5rem;
    background: #EFF6FF;
    border-radius: 0.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.contact-card-icon-sm {
    filter: brightness(0) saturate(100%) invert(13%) sepia(74%) saturate(2088%) hue-rotate(206deg) brightness(96%) contrast(85%);
}
.contact-card-heading-sm {
    font-size: 1.125rem;
    font-weight: 700;
    color: #1B3B6F;
    line-height: 1.25;
}
.contact-card-meta-sm {
    color: #64748b;
    font-size: 0.75rem;
    font-weight: 500;
}
.contact-link-inline {
    color: #F59E0B;
    font-weight: 600;
    font-size: 0.875rem;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    text-decoration: none;
}
.contact-link-inline:hover {
    text-decoration: underline;
}
.contact-link-arrow {
    filter: brightness(0) saturate(100%) invert(62%) sepia(98%) saturate(1000%) hue-rotate(360deg) brightness(102%) contrast(101%);
}
.contact-email-bar {
    background: #f8fafc;
    border-radius: 0.75rem;
    border: 1px solid #e2e8f0;
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}
@media (min-width: 768px) {
    .contact-email-bar {
        flex-direction: row;
    }
}
.contact-email-icon-wrap {
    width: 2.5rem;
    height: 2.5rem;
    background: #fff;
    border-radius: 50%;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
    display: flex;
    align-items: center;
    justify-content: center;
}
.contact-email-icon {
    filter: brightness(0) saturate(100%) invert(75%) sepia(10%) saturate(500%) hue-rotate(175deg);
}
.contact-email-link {
    color: #1B3B6F;
    font-weight: 600;
    background: #fff;
    padding: 0.5rem 1rem;
    border-radius: 0.5rem;
    border: 1px solid #e2e8f0;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    transition: box-shadow 0.2s, color 0.2s;
}
.contact-email-link:hover {
    color: #F59E0B;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1);
}

/* Contact FAQ */
.contact-faq-section {
    background: #fff;
    border-radius: 0.75rem;
    box-shadow: 0 4px 20px -2px rgba(27, 59, 111, 0.08);
    border: 1px solid #f1f5f9;
    overflow: hidden;
}
.contact-faq-header {
    padding: 2rem 2.5rem;
    border-bottom: 1px solid #f1f5f9;
    background: linear-gradient(to right, #fff, rgba(239, 246, 255, 0.3));
}
@media (min-width: 768px) {
    .contact-faq-header { padding: 2.5rem; }
}
.contact-faq-header-icon {
    filter: brightness(0) saturate(100%) invert(62%) sepia(98%) saturate(1000%) hue-rotate(360deg) brightness(102%) contrast(101%);
}
.contact-faq-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: #1B3B6F;
}
.contact-faq-desc {
    color: #475569;
    margin-left: 2.25rem;
}
.contact-faq-list {
    padding: 0 2rem;
}
@media (min-width: 768px) {
    .contact-faq-list { padding: 0 2.5rem; }
}
.contact-faq-item {
    border-bottom: 1px solid #f1f5f9;
}
.contact-faq-item:last-child {
    border-bottom: 0;
}
/* Summary styled like the previous button (contact-faq-question) - keeps contact look */
.contact-faq-summary {
    width: 100%;
    text-align: left;
    padding: 1.25rem 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    cursor: pointer;
    font-size: 1.125rem;
    font-weight: 500;
    color: #1B3B6F;
    transition: color 0.2s;
    list-style: none;
}
.contact-faq-summary::-webkit-details-marker {
    display: none;
}
.contact-faq-summary::-moz-list-bullet {
    list-style-type: none;
}
.contact-faq-summary:hover {
    color: #F59E0B;
}
.contact-faq-question {
    width: 100%;
    text-align: left;
    padding: 1.25rem 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 1.125rem;
    font-weight: 500;
    color: #1B3B6F;
    transition: color 0.2s;
}
.contact-faq-question:hover {
    color: #F59E0B;
}
.contact-faq-chevron {
    padding: 0.5rem;
    border-radius: 50%;
    color: #94a3b8;
    transition: color 0.2s, background 0.2s, transform 0.2s;
}
/* Native details open state - same as previous .is-open */
.contact-faq-item[open] .contact-faq-chevron {
    background: #EFF6FF;
    color: #1B3B6F;
    transform: rotate(180deg);
}
.contact-faq-item.is-open .contact-faq-chevron {
    background: #EFF6FF;
    color: #1B3B6F;
    transform: rotate(180deg);
}
.contact-faq-answer {
    display: none;
    padding-bottom: 1.5rem;
    padding-right: 2rem;
}
.contact-faq-item[open] .contact-faq-answer {
    display: block;
}
.contact-faq-item.is-open .contact-faq-answer {
    display: block;
}
.contact-faq-answer p {
    color: #475569;
    line-height: 1.625;
    margin-bottom: 0.75rem;
}
.contact-faq-readmore {
    color: #F59E0B;
    font-weight: 600;
    font-size: 0.875rem;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    text-decoration: none;
}
.contact-faq-readmore:hover {
    gap: 0.5rem;
    transition: gap 0.2s;
}
.contact-faq-footer {
    padding: 1.5rem;
    background: #f8fafc;
    text-align: center;
    border-top: 1px solid #f1f5f9;
}
.contact-faq-visit {
    color: #1B3B6F;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    text-decoration: none;
}
.contact-faq-visit:hover {
    color: #F59E0B;
}

/* Contact Business section */
.contact-business-section {
    background: #fff;
    border-radius: 1rem;
    padding: 2rem 2.5rem;
    box-shadow: 0 4px 20px -2px rgba(27, 59, 111, 0.08);
    border: 1px solid #f1f5f9;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    position: relative;
    overflow: hidden;
}
@media (min-width: 768px) {
    .contact-business-section {
        flex-direction: row;
        padding: 2.5rem;
    }
}
.contact-business-accent {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 0.5rem;
    background: #1B3B6F;
}
.contact-business-icon {
    filter: brightness(0) saturate(100%) invert(62%) sepia(98%) saturate(1000%) hue-rotate(360deg) brightness(102%) contrast(101%);
}
.contact-business-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: #1B3B6F;
}
.contact-business-text {
    color: #475569;
    line-height: 1.625;
    max-width: 42rem;
}
.contact-business-actions {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    white-space: nowrap;
}
@media (min-width: 768px) {
    .contact-business-actions {
        align-items: flex-end;
    }
}
.contact-business-email {
    color: #1B3B6F;
    font-weight: 700;
    font-size: 1.125rem;
    text-decoration: none;
}
.contact-business-email:hover {
    color: #F59E0B;
    transition: color 0.2s;
}
.contact-business-link {
    color: #F59E0B;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    text-decoration: none;
}
.contact-business-link:hover {
    gap: 0.75rem;
    transition: gap 0.2s;
}

/* Contact Offices */
.contact-office-section-icon {
    filter: brightness(0) saturate(100%) invert(62%) sepia(98%) saturate(1000%) hue-rotate(360deg) brightness(102%) contrast(101%);
}
.contact-office-section-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: #1B3B6F;
}
.contact-office-card {
    background: #fff;
    border-radius: 1rem;
    box-shadow: 0 4px 20px -2px rgba(27, 59, 111, 0.08);
    border: 1px solid #f1f5f9;
    padding: 1.5rem;
    display: flex;
    gap: 1.25rem;
    transition: border-color 0.2s;
}
.contact-office-card:hover {
    border-color: rgba(245, 158, 11, 0.3);
}
.contact-office-flag {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    -o-object-fit: cover;
       object-fit: cover;
    flex-shrink: 0;
    border: 2px solid #fff;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}
.contact-office-card-title {
    font-size: 1.25rem;
    font-weight: 700;
    color: #1B3B6F;
}
.contact-office-badge {
    background: #FFF7ED;
    color: #F59E0B;
    font-size: 0.625rem;
    font-weight: 800;
    padding: 0.125rem 0.5rem;
    border-radius: 0.25rem;
    border: 1px solid #FFEDD5;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.contact-office-address {
    color: #64748b;
    font-size: 0.875rem;
    line-height: 1.5;
}
.contact-office-meta-box {
    background: #f8fafc;
    padding: 0.5rem 0.75rem;
    border-radius: 0.5rem;
    border: 1px solid #e2e8f0;
    cursor: copy;
    transition: background 0.2s;
}
.contact-office-meta-box:hover {
    background: #f1f5f9;
}
.contact-office-meta-icon {
    filter: brightness(0) saturate(100%) invert(62%) sepia(98%) saturate(1000%) hue-rotate(360deg) brightness(102%) contrast(101%);
}
.contact-map-wrap {
    position: relative;
    min-height: 450px;
    background: #f1f5f9;
    border-radius: 1rem;
    overflow: hidden;
    box-shadow: 0 4px 20px -2px rgba(27, 59, 111, 0.08);
    border: 1px solid #e2e8f0;
}
.contact-map-inner {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 10;
    outline: none;
}
.contact-map-zoom {
    position: absolute;
    bottom: 1.25rem;
    right: 1.25rem;
    z-index: 20;
    display: flex;
    flex-direction: column;
    box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1);
    border-radius: 0.5rem;
    overflow: hidden;
    border: 1px solid #e2e8f0;
}
.contact-map-zoom-btn {
    width: 2.25rem;
    height: 2.25rem;
    background: #fff;
    border: none;
    border-bottom: 1px solid #f1f5f9;
    color: #475569;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.2s;
}
.contact-map-zoom-btn:last-child {
    border-bottom: none;
}
.contact-map-zoom-btn:hover {
    background: #f8fafc;
}
.contact-map-zoom-btn:active {
    background: #f1f5f9;
}
.contact-map-loading {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    background: #f8fafc;
    z-index: 0;
    pointer-events: none;
}
.contact-map-loading.hidden {
    display: none;
}
.contact-map-loading-spinner {
    width: 1.5rem;
    height: 1.5rem;
    border: 2px solid #e2e8f0;
    border-top-color: #F59E0B;
    border-radius: 50%;
    animation: contact-spin 0.8s linear infinite;
}
@keyframes contact-spin {
    to { transform: rotate(360deg); }
}
.contact-map-loading span {
    color: #94a3b8;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.leaflet-container .contact-map-inner {
    font: inherit;
}
.contact-cta-section {
    text-align: center;
    padding: 4rem 1rem;
    background: linear-gradient(to bottom, transparent, rgba(239, 246, 255, 0.5));
    border-radius: 1.5rem;
}
.contact-cta-title {
    font-size: 1.875rem;
    font-weight: 700;
    margin-bottom: 1rem;
    color: #1B3B6F;
}
.contact-cta-desc {
    color: #475569;
    font-size: 1.125rem;
    margin-bottom: 2rem;
    max-width: 36rem;
    margin-left: auto;
    margin-right: auto;
}
.contact-cta-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background: #F59E0B;
    color: #fff;
    padding: 1rem 2.5rem;
    border-radius: 0.75rem;
    font-weight: 700;
    font-size: 1.125rem;
    text-decoration: none;
    box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1);
    transition: background 0.2s, box-shadow 0.2s, transform 0.2s;
}
.contact-cta-btn:hover {
    background: #D97706;
    box-shadow: 0 20px 25px -5px rgba(0,0,0,0.1);
    transform: translateY(-2px);
}
.contact-cta-arrow {
    filter: brightness(0) invert(1);
}
/* Leaflet custom pin (no default icon border) */
.contact-page-body .leaflet-div-icon {
    background: transparent !important;
    border: none !important;
}

/* ========== News & Blogs page (archive design) ========== */
.breaking-news-bar {
    background-color: #1B3B6F;
    color: #fff;
    border-bottom: 1px solid #1E40AF;
    position: relative;
    z-index: 40;
    animation: news-slide-down 0.5s ease-out forwards;
}
.breaking-news-bar.is-hidden {
    display: none;
}
@keyframes news-slide-down {
    0% { transform: translateY(-100%); opacity: 0; }
    100% { transform: translateY(0); opacity: 1; }
}
.breaking-news-icon-wrap {
    flex-shrink: 0;
    color: #F59E0B;
    animation: pulse 2s infinite;
}
.breaking-news-icon {
    width: 1.25rem;
    height: 1.25rem;
}
.breaking-news-badge {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-right: 0.5rem;
    padding: 2px 8px;
    border: 1px solid rgba(245, 158, 11, 0.3);
    border-radius: 9999px;
    background: rgba(245, 158, 11, 0.1);
    color: #F59E0B;
}
.breaking-news-close-btn {
    color: #93C5FD;
    padding: 4px;
    border-radius: 9999px;
    transition: color 0.2s, background 0.2s;
    flex-shrink: 0;
}
.breaking-news-close-btn:hover {
    color: #fff;
    background: rgba(255, 255, 255, 0.1);
}
.breaking-news-arrow {
    filter: brightness(0) invert(1);
    opacity: 0.8;
}

/* News page search */
.news-search-wrap {
    position: relative;
    width: 100%;
    max-width: 16rem;
}
.news-search-icon {
    position: absolute;
    left: 0.875rem;
    top: 50%;
    transform: translateY(-50%);
    color: #94A3B8;
    pointer-events: none;
}
.news-search-input {
    width: 100%;
    padding: 0.5rem 1rem 0.5rem 2.5rem;
    border: 1px solid #E2E8F0;
    border-radius: 9999px;
    font-size: 0.875rem;
    transition: border-color 0.2s, box-shadow 0.2s;
}
.news-search-input:focus {
    outline: none;
    border-color: #1B3B6F;
    box-shadow: 0 0 0 1px #1B3B6F;
}

/* News category filter pills */
.news-category-filter-wrap {
    margin-bottom: 2rem;
    overflow-x: auto;
    padding-bottom: 1rem;
}
.news-category-filter-wrap .flex {
    min-width: -moz-max-content;
    min-width: max-content;
}
@media (min-width: 768px) {
    .news-category-filter-wrap .flex { min-width: 0; }
}
.news-category-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.625rem 1.25rem;
    border-radius: 9999px;
    font-size: 0.875rem;
    font-weight: 500;
    white-space: nowrap;
    transition: all 0.3s;
    border: 1px solid #E2E8F0;
    background: #fff;
    color: #475569;
    cursor: pointer;
}
.news-category-pill:hover {
    border-color: #1B3B6F;
    color: #1B3B6F;
    background: #F8FAFC;
}
.news-category-pill-active {
    background: #1B3B6F !important;
    color: #fff !important;
    border-color: #1B3B6F !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
    transform: scale(1.05);
}
.news-category-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
}
.news-category-dot-nordic { background: #2563EB; }
.news-category-dot-trust { background: #10B981; }
.news-category-dot-rose { background: #E11D48; }
.news-category-dot-action { background: #F59E0B; }

/* News page hero (featured article) */
.news-page-hero-link {
    display: block;
    text-decoration: none;
    color: inherit;
}
.news-page-hero {
    position: relative;
    border-radius: 1rem;
    overflow: hidden;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
    transition: box-shadow 0.3s;
}
.news-page-hero-link:hover .news-page-hero {
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.15);
}
.news-page-hero-img {
    width: 100%;
    height: 400px;
    -o-object-fit: cover;
       object-fit: cover;
    display: block;
    transition: transform 0.7s;
}
@media (min-width: 768px) {
    .news-page-hero-img { height: 500px; }
}
.news-page-hero-link:hover .news-page-hero-img {
    transform: scale(1.05);
}
.news-page-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(27, 59, 111, 0.9) 0%, rgba(27, 59, 111, 0.4) 50%, transparent 100%);
    z-index: 1;
}
.news-page-hero-content {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 1.5rem 2.5rem;
    z-index: 2;
    color: #fff;
}
@media (min-width: 768px) {
    .news-page-hero-content { padding: 2.5rem; }
}
.news-page-hero-badge-featured {
    background: #F59E0B;
    color: #fff;
    font-size: 0.75rem;
    font-weight: 700;
    padding: 4px 12px;
    border-radius: 9999px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.news-page-hero-badge-cat {
    background: rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(8px);
    color: #fff;
    font-size: 0.75rem;
    font-weight: 500;
    padding: 4px 12px;
    border-radius: 9999px;
    border: 1px solid rgba(255, 255, 255, 0.2);
}
.news-page-hero-title {
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 1rem;
    line-height: 1.2;
    color: #fff;
    transition: color 0.2s;
}
@media (min-width: 768px) {
    .news-page-hero-title { font-size: 2.25rem; }
}
@media (min-width: 1024px) {
    .news-page-hero-title { font-size: 3rem; }
}
.news-page-hero-link:hover .news-page-hero-title {
    color: #F59E0B;
}
.news-page-hero-excerpt {
    color: #E5E7EB;
    font-size: 0.875rem;
    margin-bottom: 1.5rem;
    max-width: 42rem;
    line-height: 1.5;
}
@media (min-width: 768px) {
    .news-page-hero-excerpt { font-size: 1.125rem; }
}
.news-page-hero-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1.5rem;
    font-size: 0.875rem;
}
.news-page-hero-avatar {
    border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, 0.2);
    -o-object-fit: cover;
       object-fit: cover;
}
.news-page-hero-verified {
    display: flex;
    align-items: center;
    gap: 2px;
    font-size: 0.75rem;
    color: #10B981;
}
.news-page-hero-verified img {
    filter: brightness(0) saturate(100%) invert(58%) sepia(65%) saturate(450%) hue-rotate(115deg);
}
.news-page-hero-meta-icon {
    opacity: 0.7;
    filter: brightness(0) invert(1);
}
.news-page-hero-arrow {
    transition: transform 0.2s;
    filter: brightness(0) invert(1);
}
.news-page-hero-link:hover .news-page-hero-arrow {
    transform: translateX(4px);
}

/* Latest in [Category] heading */
.news-latest-heading {
    font-size: 1.25rem;
    font-weight: 700;
    color: #1B3B6F;
    margin-bottom: 1.5rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.news-latest-heading-line {
    flex: 1;
    height: 1px;
    background: #E2E8F0;
    margin-left: 1rem;
}

/* News article cards (grid) */
.news-article-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: #fff;
    border-radius: 0.75rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
    border: 1px solid #F1F5F9;
    overflow: hidden;
    transition: box-shadow 0.3s, transform 0.3s;
}
.news-article-card:hover {
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
    transform: translateY(-4px);
}
.news-article-card a {
    text-decoration: none;
    color: inherit;
    flex: 1;
    display: flex;
    flex-direction: column;
}
.news-article-card-image-wrap {
    position: relative;
    height: 12rem;
    overflow: hidden;
}
.news-article-card-image-wrap img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    transition: transform 0.5s;
}
.news-article-card:hover .news-article-card-image-wrap img {
    transform: scale(1.1);
}
.news-article-card-category {
    position: absolute;
    top: 0.75rem;
    left: 0.75rem;
    color: #fff;
    font-size: 0.75rem;
    font-weight: 700;
    padding: 4px 12px;
    border-radius: 9999px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}
.news-article-card-category-nordic { background: #2563EB; }
.news-article-card-category-trust { background: #10B981; }
.news-article-card-category-rose { background: #E11D48; }
.news-article-card-category-action { background: #F59E0B; }
.news-article-card-body {
    padding: 1.25rem;
    flex: 1;
    display: flex;
    flex-direction: column;
}
.news-article-card-meta {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.75rem;
    color: #94A3B8;
    margin-bottom: 0.75rem;
}
.news-article-card-meta img {
    opacity: 0.8;
    flex-shrink: 0;
}
.news-article-card-title {
    font-size: 1.25rem;
    font-weight: 700;
    color: #1E293B;
    margin-bottom: 0.75rem;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    transition: color 0.2s;
}
.news-article-card:hover .news-article-card-title {
    color: #1B3B6F;
}
.news-article-card-excerpt {
    font-size: 0.875rem;
    color: #64748B;
    margin-bottom: 1rem;
    flex: 1;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 1.5;
}
.news-article-card-author {
    padding-top: 1rem;
    border-top: 1px solid #F1F5F9;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

/* Load more button */
.news-load-more-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 20rem;
    padding: 0.75rem 2rem;
    background: #fff;
    border: 1px solid #E2E8F0;
    color: #1B3B6F;
    font-weight: 700;
    border-radius: 9999px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
    cursor: pointer;
    transition: box-shadow 0.2s, border-color 0.2s;
}
.news-load-more-btn:hover:not(:disabled) {
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
    border-color: #1B3B6F;
}
.news-load-more-btn:disabled {
    opacity: 0.7;
    cursor: not-allowed;
}
.news-load-more-arrow {
    transition: transform 0.2s;
    filter: brightness(0) saturate(100%) invert(14%) sepia(99%) saturate(1290%) hue-rotate(201deg);
}
.news-load-more-btn:hover:not(:disabled) .news-load-more-arrow {
    transform: translateX(4px);
}

/* News sidebar */
.news-sidebar-sticky {
    position: sticky;
    top: 7rem;
    display: flex;
    flex-direction: column;
    gap: 2rem;
}
.news-sidebar-box {
    background: #fff;
    border-radius: 0.75rem;
    border: 1px solid #E2E8F0;
    padding: 1.5rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}
.news-sidebar-newsletter {
    background: #1B3B6F;
    border: none;
    color: #fff;
    position: relative;
    overflow: hidden;
}
.news-sidebar-newsletter-glow {
    position: absolute;
    top: 0;
    right: 0;
    width: 8rem;
    height: 8rem;
    background: #2563EB;
    border-radius: 50%;
    filter: blur(40px);
    margin: -4rem -4rem 0 0;
    opacity: 0.5;
}
.news-sidebar-newsletter-icon-wrap {
    width: 2.5rem;
    height: 2.5rem;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 0.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1rem;
}
.news-sidebar-newsletter-icon {
    filter: brightness(0) invert(1);
    opacity: 0.9;
}
.news-sidebar-form .news-sidebar-input {
    width: 100%;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 0.5rem;
    padding: 0.625rem 1rem;
    font-size: 0.875rem;
    color: #fff;
    margin-bottom: 0.75rem;
}
.news-sidebar-form .news-sidebar-input::-moz-placeholder {
    color: #BFDBFE;
}
.news-sidebar-form .news-sidebar-input::placeholder {
    color: #BFDBFE;
}
.news-sidebar-form .news-sidebar-input:focus {
    outline: none;
    border-color: #F59E0B;
    box-shadow: 0 0 0 2px rgba(245, 158, 11, 0.3);
}
.news-sidebar-cta-btn {
    width: 100%;
    background: #F59E0B;
    color: #fff;
    font-weight: 700;
    padding: 0.625rem 1rem;
    border-radius: 0.5rem;
    font-size: 0.875rem;
    border: none;
    cursor: pointer;
    transition: background 0.2s;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}
.news-sidebar-cta-btn:hover {
    background: #D97706;
}
.news-sidebar-status {
    background: #ECFDF5;
    border: 1px solid #BBF7D0;
    border-radius: 0.75rem;
    padding: 1rem;
}
.news-sidebar-status-bar {
    transition: width 0.3s;
}

/* News article card hidden (filter) */
.news-article-card.is-hidden {
    display: none;
}

/* ========== Why Us Page (from archive design) ========== */
.why-us-perspective { perspective: 1000px; }
.why-us-hero-image-blur {
    position: absolute;
    inset: -0.5rem;
    background: linear-gradient(to right, #93c5fd, #cbd5e1);
    border-radius: 1.5rem;
    filter: blur(1rem);
    opacity: 0.4;
    transition: opacity 0.5s;
}
.why-us-perspective:hover .why-us-hero-image-blur { opacity: 0.6; }
.why-us-hero-image-wrap { transition: transform 0.5s; }
.why-us-perspective:hover .why-us-hero-image-wrap { transform: scale(1.01); }
.why-us-badge-problem {
    background: rgba(239, 68, 68, 0.9);
    color: white;
    font-size: 10px;
    font-weight: 700;
    padding: 0.125rem 0.5rem;
    border-radius: 0.25rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    box-shadow: 0 1px 2px rgba(0,0,0,0.05);
}
.why-us-img-hover { transition: transform 0.7s; }
.group:hover .why-us-img-hover { transform: scale(1.05); }
.why-us-stat-box {
    background: #F0F7FF;
    padding: 1rem;
    border-radius: 0.75rem;
    text-align: center;
    border: 1px solid rgba(27, 59, 111, 0.1);
}
.why-us-stat-icon {
    display: block;
    margin: 0 auto 0.5rem;
    filter: brightness(0) saturate(100%) invert(18%) sepia(16%) saturate(5628%) hue-rotate(197deg) brightness(91%) contrast(91%);
}
.why-us-map-overlay { mix-blend-mode: multiply; }
.why-us-badge-firsthand {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.25rem 0.75rem;
    border-radius: 9999px;
    background: #1B3B6F;
    color: white;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    box-shadow: 0 1px 2px rgba(0,0,0,0.05);
}
.why-us-badge-car-icon { filter: brightness(0) invert(1); }
.why-us-link-guides {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: #D97706;
    font-weight: 700;
    font-size: 1.125rem;
    transition: color 0.2s;
}
.why-us-link-guides:hover { color: #F59E0B; }
.why-us-link-arrow { transition: transform 0.2s; }
.why-us-link-guides:hover .why-us-link-arrow { transform: translateX(0.25rem); }
.why-us-recent-blur {
    position: absolute;
    width: 8rem;
    height: 8rem;
    border-radius: 9999px;
    filter: blur(3rem);
    z-index: -1;
}
.why-us-recent-blur-green { background: rgba(16, 185, 129, 0.1); top: -1.5rem; right: -1.5rem; }
.why-us-recent-blur-amber { background: rgba(245, 158, 11, 0.1); bottom: -1.5rem; left: -1.5rem; }
.why-us-mini-card {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    background: white;
    padding: 1rem;
    border-radius: 0.75rem;
    box-shadow: 0 1px 2px rgba(0,0,0,0.05);
    border: 1px solid #f3f4f6;
    transition: transform 0.2s;
}
.why-us-mini-card:hover { transform: translateY(-0.25rem); }
.why-us-mini-icon {
    flex-shrink: 0;
    filter: brightness(0) saturate(100%) invert(18%) sepia(16%) saturate(5628%) hue-rotate(197deg) brightness(91%) contrast(91%);
}
.why-us-problem-icon-wrap {
    flex-shrink: 0;
    width: 3rem;
    height: 3rem;
    background: white;
    border-radius: 9999px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1);
    border: 1px solid #f3f4f6;
}
.why-us-problem-icon {
    display: block;
    filter: brightness(0) saturate(100%) invert(18%) sepia(16%) saturate(5628%) hue-rotate(197deg) brightness(91%) contrast(91%);
}
.why-us-problem-image-deco {
    position: absolute;
    top: 1rem;
    left: 1rem;
    right: 1rem;
    bottom: 1rem;
    background: #1B3B6F;
    border-radius: 1rem;
    transform: rotate(3deg);
    opacity: 0.1;
}
.why-us-benefit-card {
    background: white;
    padding: 2rem;
    border-radius: 1rem;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1);
    border: 1px solid #f3f4f6;
    transition: all 0.3s;
    height: 100%;
    display: flex;
    flex-direction: column;
}
.why-us-benefit-card:hover {
    box-shadow: 0 20px 25px -5px rgba(0,0,0,0.1);
    transform: translateY(-0.25rem);
}
.why-us-benefit-icon-wrap {
    width: 3rem;
    height: 3rem;
    background: #F0F7FF;
    border-radius: 0.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.5rem;
}
.why-us-benefit-icon {
    display: block;
    filter: brightness(0) saturate(100%) invert(18%) sepia(16%) saturate(5628%) hue-rotate(197deg) brightness(91%) contrast(91%);
}
.why-us-benefit-icon-star { filter: brightness(0) saturate(100%) invert(88%) sepia(12%) saturate(3603%) hue-rotate(337deg) brightness(100%) contrast(97%); }
.why-us-stat-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
    background: white;
    border-radius: 0.75rem;
    box-shadow: 0 1px 2px rgba(0,0,0,0.05);
    border: 1px solid #f3f4f6;
    transition: transform 0.3s;
}
.why-us-stat-item:hover { transform: translateY(-0.25rem); }
.why-us-stat-item-icon {
    padding: 0.75rem;
    background: #F0F7FF;
    color: #1B3B6F;
    border-radius: 9999px;
    margin-bottom: 0.75rem;
}
.why-us-stat-item-img {
    display: block;
    filter: brightness(0) saturate(100%) invert(18%) sepia(16%) saturate(5628%) hue-rotate(197deg) brightness(91%) contrast(91%);
}
.why-us-stat-item-star { filter: brightness(0) saturate(100%) invert(88%) sepia(12%) saturate(3603%) hue-rotate(337deg) brightness(100%) contrast(97%); }
.why-us-trustpilot-star { filter: brightness(0) saturate(100%) invert(88%) sepia(12%) saturate(3603%) hue-rotate(337deg) brightness(100%) contrast(97%); }
/* Book ticket — step 4 (thank you / payment confirmation) */
.step4-form-root h1 {
    color: #0f172a;
}
.step-4-success-icon-wrap {
    background-color: #10b981;
}
.step-4-success-icon-img {
    filter: brightness(0) saturate(100%) invert(93%) sepia(0%) saturate(7497%) hue-rotate(74deg) brightness(108%) contrast(101%);
}
.step4-payment-checking-spinner {
    width: 52px;
    height: 52px;
    border: 3px solid rgba(10, 69, 143, 0.12);
    border-top-color: rgba(10, 69, 143, 1);
    border-radius: 50%;
    animation: step4-checking-spin 0.85s linear infinite;
}
@keyframes step4-checking-spin {
    to {
        transform: rotate(360deg);
    }
}
.step4-activation-pending-panel {
    color: #92400e;
    background-color: #fef3c7;
    border: 2px solid #fde68a;
}
.step4-activation-pending-spinner {
    width: 32px;
    height: 32px;
    border: 3px solid #fde68a;
    border-top-color: #92400e;
    border-radius: 50%;
    animation: step4-checking-spin 0.85s linear infinite;
}
.step-4-trustpilot-star {
    filter: brightness(0) saturate(100%) invert(55%) sepia(25%) saturate(6240%) hue-rotate(126deg) brightness(93%) contrast(101%);
}
.step-4-processing-title {
    color: #1e3a8a;
}
.step-4-processing-text {
    color: #1e40af;
}
.step-4-processing-box {
    background-color: #eff6ff;
    border-color: #dbeafe;
}
.step-4-processing-watch-icon {
    filter: brightness(0) saturate(100%) invert(32%) sepia(86%) saturate(2969%) hue-rotate(214deg) brightness(92%) contrast(100%);
    animation: step4-processing-watch-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
@keyframes step4-processing-watch-pulse {
    0%,
    100% {
        opacity: 1;
    }
    50% {
        opacity: 0.5;
    }
}
.step-4-download-main-icon {
    filter: brightness(0) saturate(100%) invert(100%) sepia(99%) saturate(2%) hue-rotate(197deg) brightness(107%) contrast(101%);
}
.step4-payment-checking {
    z-index: 200;
}
.step-4-order-summary-label {
    display: block;
    font-size: 0.75rem;
    line-height: 1rem;
    font-weight: 700;
    color: #94a3b8;
    text-transform: uppercase;
}
.step-4-order-plate-chip {
    display: inline-block;
    width: -moz-fit-content;
    width: fit-content;
    max-width: 100%;
    box-sizing: border-box;
    padding: 0.375rem 15px;
    border-radius: 0.25rem;
    border: 1px solid #e2e8f0;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 700;
    color: #0f172a;
    background-color: #f1f5f9;
    text-transform: uppercase;
    letter-spacing: 0.025em;
}
.step-4-pending-badge--pending {
    color: #92400e;
    background-color: #fef3c7;
    border-color: #fde68a;
}
.step-4-pending-badge--processed {
    color: #166534;
    background-color: #f0fdf4;
    border-color: #bbf7d0;
}
.step-4-pending-badge--canceled,
.step-4-pending-badge--cancelled {
    color: #991b1b;
    background-color: #fef2f2;
    border-color: #fecaca;
}
.step-4-pending-badge--failed {
    color: #7f1d1d;
    background-color: #fef2f2;
    border-color: #fca5a5;
}
.step-4-pending-badge--refunded {
    color: #5b21b6;
    background-color: #f5f3ff;
    border-color: #ddd6fe;
}
.step-4-pending-badge--default {
    color: #1e3a5f;
    background-color: #f1f5f9;
    border-color: #e2e8f0;
}
.step-4-pending-badge-dot--pending {
    background-color: #d97706;
    animation: step4-pending-badge-dot-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
.step-4-pending-badge-dot--processed {
    background-color: #16a34a;
}
.step-4-pending-badge-dot--canceled,
.step-4-pending-badge-dot--cancelled {
    background-color: #dc2626;
}
.step-4-pending-badge-dot--failed {
    background-color: #b91c1c;
}
.step-4-pending-badge-dot--refunded {
    background-color: #7c3aed;
}
.step-4-pending-badge-dot--default {
    background-color: #64748b;
}
@keyframes step4-pending-badge-dot-pulse {
    0%,
    100% {
        opacity: 1;
    }
    50% {
        opacity: 0.45;
    }
}
.step-4-support-footer-icon {
    display: block;
    filter: brightness(0) saturate(100%) invert(30%) sepia(11%) saturate(1126%) hue-rotate(176deg) brightness(98%) contrast(86%);
}
.why-us-review-card {
    background: #f9fafb;
    padding: 1.5rem;
    border-radius: 0.75rem;
    border: 1px solid #f3f4f6;
    position: relative;
}
.why-us-review-quote {
    position: absolute;
    top: 1rem;
    right: 1rem;
    width: 2rem;
    height: 2rem;
    color: #e5e7eb;
    opacity: 0.9;
}
.why-us-review-star { filter: brightness(0) saturate(100%) invert(88%) sepia(12%) saturate(3603%) hue-rotate(337deg) brightness(100%) contrast(97%); }
.why-us-payment-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    padding: 2rem;
    background: white;
    border-radius: 1.5rem;
    border: 1px solid #f3f4f6;
    transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
    height: 200px;
    cursor: default;
}
.why-us-payment-card:hover {
    transform: translateY(-0.5rem);
    box-shadow: 0 20px 50px rgba(0,0,0,0.08);
    border-color: #F0F7FF;
}
.why-us-payment-card:hover span { color: #374151; }
.why-us-payment-logo-wrap { flex-grow: 1; display: flex; align-items: center; justify-content: center; width: 100%; }
.why-us-security-badge {
    display: inline-flex;
    align-items: center;
    gap: 1rem;
    background: white;
    border: 1px solid #e2e8f0;
    padding: 1rem 2rem;
    border-radius: 9999px;
    box-shadow: 0 1px 2px rgba(0,0,0,0.05);
    transition: all 0.3s;
    cursor: default;
}
.why-us-security-badge:hover {
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1);
    border-color: #bbf7d0;
}
.why-us-security-badge-icon {
    background: #f0fdf4;
    padding: 0.5rem;
    border-radius: 9999px;
    transition: background 0.2s;
}
.why-us-security-badge:hover .why-us-security-badge-icon { background: #dcfce7; }
.why-us-security-badge-icon img { filter: none; }
.why-us-security-badge .why-us-security-badge-icon img { filter: brightness(0) saturate(100%) invert(34%) sepia(98%) saturate(500%) hue-rotate(120deg); }
.why-us-cta-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    background: #F59E0B;
    color: white;
    padding: 1.25rem 2rem;
    border-radius: 0.75rem;
    font-weight: 700;
    font-size: 1.125rem;
    box-shadow: 0 20px 25px -5px rgba(0,0,0,0.2);
    transition: all 0.2s;
}
.why-us-cta-primary:hover { background: #D97706; transform: scale(1.05); }
.why-us-cta-arrow { filter: brightness(0) invert(1); }
.why-us-cta-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    background: transparent;
    color: white;
    border: 2px solid rgba(255,255,255,0.3);
    padding: 1.25rem 2rem;
    border-radius: 0.75rem;
    font-weight: 700;
    font-size: 1.125rem;
    transition: all 0.2s;
}
.why-us-cta-secondary:hover { background: rgba(255,255,255,0.1); }
.why-us-chat-float { animation: why-us-bounce-slow 3s infinite; }
@keyframes why-us-bounce-slow {
    0%, 100% { transform: translateY(-5%); }
    50% { transform: translateY(0); }
}

/* ========== Editorial Policy Page ========== */
.editorial-policy-page .fixed-header { position: fixed; top: 0; left: 0; right: 0; z-index: 40; }
.editorial-hero-margin { padding-top: 6rem; }
@media (min-width: 768px) { .editorial-hero-margin { padding-top: 7rem; } }
.editorial-hero-blur {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 120%;
    height: 120%;
    background: linear-gradient(to top right, #EFF6FF, #DBEAFE);
    border-radius: 9999px;
    filter: blur(40px);
    z-index: 0;
    opacity: 0.6;
}
.editorial-hero-img { position: relative; z-index: 10; }
.editorial-accuracy-badge {
    position: absolute;
    bottom: -1.5rem;
    left: -1.5rem;
    background: white;
    padding: 1rem;
    border-radius: 0.5rem;
    box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -2px rgba(0,0,0,0.05);
    border: 1px solid #F1F5F9;
    z-index: 20;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    animation: editorial-bounce-slow 3s ease-in-out infinite;
}
@keyframes editorial-bounce-slow {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-4px); }
}
.editorial-toc { position: sticky; }
.editorial-toc-link { transition: background-color 0.2s, color 0.2s; display: block; border-left: 4px solid transparent; }
.editorial-toc-link:hover { background-color: #F8FAFC; color: #1B3B6F; }
.editorial-mobile-toc-dropdown {
    background: white;
    border: 1px solid #E2E8F0;
    border-top: 0;
    border-radius: 0 0 0.5rem 0.5rem;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
    overflow: hidden;
    margin-top: 0.25rem;
}
.editorial-mobile-toc-item:hover { background-color: #F8FAFC; }
.editorial-card {
    background: white;
    padding: 1.5rem;
    border-radius: 0.5rem;
    border: 1px solid #E2E8F0;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
}
.editorial-process-icon-box {
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.editorial-process-num {
    position: absolute;
    left: -3rem;
    top: 0;
    background: #EFF6FF;
    border: 2px solid #1B3B6F;
    color: #1B3B6F;
    width: 2rem;
    height: 2rem;
    border-radius: 9999px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 0.875rem;
}
.editorial-bridge-img { filter: grayscale(1) contrast(1.1); }
.editorial-flag { transition: transform 0.2s; }
.editorial-flag:hover { transform: scale(1.1); }
.editorial-report-btn {
    background: #1B3B6F;
    color: white;
    font-weight: 700;
    padding: 0.75rem 2rem;
    border-radius: 0.5rem;
    transition: background-color 0.2s;
}
.editorial-report-btn:hover { background: #1E40AF; }
.editorial-signature { font-family: ui-serif, Georgia, serif; }

/* Editorial Policy – hero icons (local SVGs) */
.editorial-hero-icon-action {
    filter: brightness(0) saturate(100%) invert(57%) sepia(100%) saturate(486%) hue-rotate(355deg) brightness(98%) contrast(97%);
}
.editorial-hero-icon-trust {
    filter: brightness(0) saturate(100%) invert(54%) sepia(49%) saturate(807%) hue-rotate(111deg) brightness(94%) contrast(87%);
}
.editorial-accuracy-check-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
}
.editorial-accuracy-check {
    filter: brightness(0) saturate(100%) invert(46%) sepia(31%) saturate(4573%) hue-rotate(114deg) brightness(92%) contrast(83%);
}

/* Editorial Policy – main content icons (nordic-900 / #1B3B6F) */
.editorial-icon-nordic {
    filter: brightness(0) saturate(100%) invert(23%) sepia(45%) saturate(1200%) hue-rotate(195deg) brightness(92%) contrast(90%);
}
/* nordic-800 */
.editorial-icon-nordic-800 {
    filter: brightness(0) saturate(100%) invert(35%) sepia(65%) saturate(800%) hue-rotate(195deg) brightness(95%) contrast(88%);
}
/* trust/green */
.editorial-icon-trust {
    filter: brightness(0) saturate(100%) invert(54%) sepia(49%) saturate(807%) hue-rotate(111deg) brightness(94%) contrast(87%);
}
.editorial-icon-green {
    filter: brightness(0) saturate(100%) invert(46%) sepia(31%) saturate(4573%) hue-rotate(114deg) brightness(92%) contrast(83%);
}
/* red */
.editorial-icon-red {
    filter: brightness(0) saturate(100%) invert(27%) sepia(95%) saturate(2500%) hue-rotate(350deg) brightness(95%) contrast(90%);
}
/* action/orange */
.editorial-icon-action {
    filter: brightness(0) saturate(100%) invert(57%) sepia(100%) saturate(486%) hue-rotate(355deg) brightness(98%) contrast(97%);
}
/* Contact cards: icon nordic by default, white on hover */
.editorial-contact-icon {
    filter: brightness(0) saturate(100%) invert(23%) sepia(45%) saturate(1200%) hue-rotate(195deg) brightness(92%) contrast(90%);
    transition: filter 0.2s;
}
.group:hover .editorial-contact-icon {
    filter: brightness(0) invert(1);
}
/* Report button: white arrow on dark background */
.editorial-report-arrow {
    filter: brightness(0) invert(1);
}
/* Mobile TOC chevron rotation */
.editorial-mobile-toc-chevron {
    transition: transform 0.2s;
}

/* ========== Traffic Info Page ========== */
.traffic-info-status-card {
    background: linear-gradient(135deg, #F0F7FF 0%, #EFF6FF 100%);
    border: 1px solid #DBEAFE;
    border-radius: 1rem;
    padding: 1.5rem 1.75rem;
    box-shadow: 0 1px 3px rgba(30, 64, 175, 0.06);
}
.traffic-info-status-header {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 1rem;
}
.traffic-info-status-icon {
    flex-shrink: 0;
    filter: brightness(0) saturate(100%) invert(42%) sepia(96%) saturate(2022%) hue-rotate(202deg) brightness(98%) contrast(96%);
}
.traffic-info-status-title {
    font-size: 1.25rem;
    font-weight: 700;
    color: #1B3B6F;
    margin: 0;
}
.traffic-info-status-subtitle {
    font-size: 0.875rem;
    color: #64748b;
    margin: 0.25rem 0 0 0;
}
.traffic-info-status-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.375rem 0.75rem;
    border-radius: 9999px;
    font-size: 0.8125rem;
    font-weight: 700;
    margin-left: auto;
}
.traffic-info-status-badge-open {
    background-color: rgba(16, 185, 129, 0.2);
    color: #059669;
    border: 1px solid rgba(16, 185, 129, 0.4);
}
.traffic-info-status-dot {
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 50%;
    background-color: #10B981;
    animation: traffic-info-pulse 1.5s ease-in-out infinite;
}
@keyframes traffic-info-pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.5; }
}
.traffic-info-status-desc {
    color: #475569;
    font-size: 0.9375rem;
    line-height: 1.6;
    margin: 0 0 1rem 0;
}
.traffic-info-status-meta {
    padding-top: 0.5rem;
    border-top: 1px solid rgba(219, 234, 254, 0.8);
}
.traffic-info-meta-icon {
    opacity: 0.8;
    filter: brightness(0) saturate(100%) invert(55%) sepia(10%) saturate(1800%) hue-rotate(176deg);
}
.traffic-info-section {
    margin-bottom: 2rem;
}
.traffic-info-flow-grid {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}
.traffic-info-flow-item {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-rows: auto auto;
    gap: 0.25rem 1rem;
    align-items: center;
}
.traffic-info-flow-label {
    font-size: 0.875rem;
    color: #475569;
    grid-column: 1;
}
.traffic-info-flow-bar-wrap {
    grid-column: 1 / -1;
    height: 0.5rem;
    background-color: #E2E8F0;
    border-radius: 9999px;
    overflow: hidden;
}
.traffic-info-flow-bar {
    height: 100%;
    border-radius: 9999px;
    transition: width 0.3s ease;
}
.traffic-info-flow-bar-low {
    background: linear-gradient(90deg, #10B981, #34D399);
}
.traffic-info-flow-bar-mid {
    background: linear-gradient(90deg, #F59E0B, #FBBF24);
}
.traffic-info-flow-bar-high {
    background: linear-gradient(90deg, #EF4444, #F87171);
}
.traffic-info-flow-caption {
    font-size: 0.75rem;
    font-weight: 600;
    color: #64748b;
}
.traffic-info-tips {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.traffic-info-tip {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 1rem 1.25rem;
    background-color: #F8FAFC;
    border: 1px solid #E2E8F0;
    border-radius: 0.75rem;
}
.traffic-info-tip-icon {
    flex-shrink: 0;
    margin-top: 0.125rem;
    filter: brightness(0) saturate(100%) invert(42%) sepia(96%) saturate(2022%) hue-rotate(202deg) brightness(98%) contrast(96%);
}
.traffic-info-tip p {
    margin: 0;
    font-size: 0.9375rem;
    color: #475569;
    line-height: 1.55;
}
.traffic-info-hero-img-wrap {
    border-radius: 0.75rem;
    overflow: hidden;
    border: 1px solid #E2E8F0;
    background-color: #F8FAFC;
}
.traffic-info-hero-img {
    width: 100%;
    height: auto;
    display: block;
    -o-object-fit: cover;
       object-fit: cover;
}
.traffic-info-hero-caption {
    display: block;
    padding: 0.5rem 1rem;
    font-size: 0.8125rem;
    color: #64748b;
    background-color: #F1F5F9;
}
.traffic-info-updates {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}
.traffic-info-update {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    padding: 1rem 1.25rem;
    border-radius: 0.75rem;
    border: 1px solid #E2E8F0;
}
.traffic-info-update-ok {
    background-color: #F0FDF4;
    border-color: #BBF7D0;
}
.traffic-info-update-icon {
    flex-shrink: 0;
    filter: brightness(0) saturate(100%) invert(42%) sepia(96%) saturate(2022%) hue-rotate(202deg) brightness(98%) contrast(96%);
}
.traffic-info-sidebar-card {
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-radius: 0.75rem;
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.5rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}
.traffic-info-sidebar-title {
    font-size: 1rem;
    font-weight: 700;
    color: #1B3B6F;
    margin: 0 0 1rem 0;
}
.traffic-info-sidebar-links {
    list-style: none;
    margin: 0;
    padding: 0;
}
.traffic-info-sidebar-links li {
    margin: 0;
    padding: 0;
}
.traffic-info-sidebar-link {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0;
    font-size: 0.9375rem;
    color: #475569;
    text-decoration: none;
    transition: color 0.2s;
}
.traffic-info-sidebar-link:hover {
    color: #1B3B6F;
}
.traffic-info-sidebar-chevron {
    flex-shrink: 0;
    opacity: 0.7;
    filter: brightness(0) saturate(100%) invert(43%) sepia(21%) saturate(477%) hue-rotate(176deg) brightness(98%) contrast(87%);
}
.traffic-info-external-link {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    font-size: 0.9375rem;
    font-weight: 600;
    color: #1E40AF;
    text-decoration: none;
    transition: color 0.2s;
}
.traffic-info-external-link:hover {
    color: #1B3B6F;
}
.traffic-info-external-icon {
    opacity: 0.8;
    filter: brightness(0) saturate(100%) invert(30%) sepia(80%) saturate(1500%) hue-rotate(206deg);
}
.traffic-info-breadcrumb-wrap {
    padding-top: 6rem;
}
@media (min-width: 768px) {
    .traffic-info-breadcrumb-wrap {
        padding-top: 7rem;
    }
}
.traffic-info-breadcrumb-margin {
    padding-top: 5px;
}

/* Traffic info page shell + heat scale (used by traffic-info-section1.blade.php) */
.traffic-info-page {
    background-color: #f0f7ff;
}
:root {
    --traffic-archive-heat-low: #10b981;
    --traffic-archive-heat-med: #f59e0b;
    --traffic-archive-heat-high: #ef4444;
}
.traffic-archive-text-micro {
    font-size: 0.625rem;
    line-height: 1rem;
}
.traffic-archive-legend-sq {
    width: 0.75rem;
    height: 0.75rem;
    border-radius: 0.25rem;
}
.traffic-archive-legend-sq--low {
    background: var(--traffic-archive-heat-low);
}
.traffic-archive-legend-sq--med {
    background: var(--traffic-archive-heat-med);
}
.traffic-archive-legend-sq--high {
    background: var(--traffic-archive-heat-high);
}
.traffic-archive-hcell {
    height: 1.5rem;
    border-radius: 0.125rem;
}
.traffic-archive-hcell--g80 {
    background: var(--traffic-archive-heat-low);
    opacity: 0.8;
}
.traffic-archive-hcell--a80 {
    background: var(--traffic-archive-heat-med);
    opacity: 0.8;
}
.traffic-archive-hcell--a90 {
    background: var(--traffic-archive-heat-med);
    opacity: 0.9;
}
.traffic-archive-hcell--r100 {
    background: var(--traffic-archive-heat-high);
}
.traffic-archive-hcell--r100-ring {
    background: var(--traffic-archive-heat-high);
    border: 2px solid rgba(15, 23, 42, 0.1);
}
.traffic-archive-foot-dot {
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 9999px;
}
.traffic-archive-foot-dot--low {
    background: var(--traffic-archive-heat-low);
}
.traffic-archive-foot-dot--med {
    background: var(--traffic-archive-heat-med);
}
.traffic-archive-foot-dot--high {
    background: var(--traffic-archive-heat-high);
}
.traffic-archive-table-dot {
    display: inline-block;
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 9999px;
    margin-right: 0.5rem;
    vertical-align: middle;
}
.traffic-archive-table-dot--low {
    background: var(--traffic-archive-heat-low);
}
.traffic-archive-table-dot--med {
    background: var(--traffic-archive-heat-med);
}
.traffic-archive-table-dot--high {
    background: var(--traffic-archive-heat-high);
}
.traffic-archive-rec-text--low {
    color: var(--traffic-archive-heat-low);
    font-weight: 700;
}
.traffic-archive-rec-text--med {
    color: var(--traffic-archive-heat-med);
    font-weight: 700;
}
.traffic-archive-rec-text--high {
    color: var(--traffic-archive-heat-high);
    font-weight: 700;
}
.traffic-archive-tr-peak {
    background-color: rgba(254, 242, 242, 0.3);
    border-left: 4px solid var(--traffic-archive-heat-high);
}
.traffic-archive-map-wrap {
    position: relative;
    overflow: hidden;
    border-radius: 0.5rem;
    border: 1px solid #e2e8f0;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    height: 16rem;
    background: #f1f5f9;
}
.traffic-archive-map-caption {
    position: absolute;
    bottom: 0.5rem;
    left: 50%;
    transform: translateX(-50%);
    pointer-events: none;
}
.traffic-archive-map-caption-inner {
    display: inline-block;
    background: rgba(0, 0, 0, 0.55);
    color: #fff;
    font-size: 0.75rem;
    font-weight: 700;
    padding: 0.375rem 0.75rem;
    border-radius: 0.375rem;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
}
.traffic-archive-video-play-icon {
    width: 3.5rem;
    height: 3.5rem;
    -o-object-fit: contain;
       object-fit: contain;
    filter: brightness(0) invert(1);
}
.traffic-archive-video-duration {
    position: absolute;
    bottom: 0.5rem;
    right: 0.5rem;
    background: rgba(0, 0, 0, 0.7);
    color: #fff;
    font-size: 0.625rem;
    padding: 0.125rem 0.375rem;
    border-radius: 0.25rem;
}

/* ========== Traffic Info Page (Archive Design) ========== */
@keyframes traffic-pulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.5; transform: scale(1.05); }
}
.traffic-archive-status-widget {
    width: 100%;
    background: #fff;
    border-radius: 1rem;
    box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -2px rgba(0,0,0,0.05);
    border: 1px solid #f1f5f9;
    overflow: hidden;
    position: relative;
}
.traffic-archive-status-accent {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 8px;
    background: #10B981;
}
.traffic-archive-status-icon-wrap {
    flex-shrink: 0;
    border-radius: 9999px;
    padding: 1rem;
    background: #10B981;
    box-shadow: 0 10px 15px -3px rgba(0,0,0,0.2);
    position: relative;
    animation: traffic-pulse 3s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
.traffic-archive-status-icon-img {
    display: block;
    filter: brightness(0) invert(1);
}
.traffic-archive-status-icon-ping {
    position: absolute;
    inset: 0;
    border-radius: 9999px;
    background: #fff;
    opacity: 0.2;
    animation: ping 1.5s cubic-bezier(0, 0, 0.2, 1) infinite;
}
@keyframes ping {
    75%, 100% { transform: scale(1.5); opacity: 0; }
}
.traffic-archive-live-badge {
    background: #dcfce7;
    color: #15803d;
    font-size: 0.75rem;
    font-weight: 700;
    padding: 0.25rem 0.5rem;
    border-radius: 9999px;
    border: 1px solid #bbf7d0;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}
.traffic-archive-live-dot {
    position: relative;
    display: inline-flex;
    height: 8px;
    width: 8px;
}
.traffic-archive-live-dot::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background: #22c55e;
    animation: ping 1.5s infinite;
}
.traffic-archive-live-dot::after {
    content: '';
    position: relative;
    display: inline-flex;
    height: 8px;
    width: 8px;
    border-radius: 50%;
    background: #22c55e;
}
.traffic-archive-stat-card {
    background: #f8fafc;
    padding: 0.75rem;
    border-radius: 0.5rem;
    border: 1px solid #f1f5f9;
    transition: all 0.2s;
}
.traffic-archive-stat-card:hover {
    background: #fff;
    box-shadow: 0 1px 3px rgba(0,0,0,0.08);
}
.traffic-archive-stat-icon {
    opacity: 0.8;
    filter: brightness(0) saturate(100%) invert(55%) sepia(10%) saturate(1800%) hue-rotate(176deg);
}
.traffic-archive-cta-panel {
    background: #f8fafc;
    border-top: 1px solid #f1f5f9;
    padding: 2rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    position: relative;
    overflow: hidden;
}
@media (min-width: 1024px) {
    .traffic-archive-cta-panel {
        border-top: none;
        border-left: 1px solid #f1f5f9;
    }
}
.traffic-archive-livecam {
    position: absolute;
    top: 0;
    right: 0;
    padding: 1rem;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 8rem;
    height: 5rem;
    margin-left: auto;
    margin-right: 1rem;
    background: rgba(226, 232, 240, 0.8);
    backdrop-filter: blur(4px);
    border-radius: 0.25rem;
    border: 1px solid #cbd5e1;
    box-shadow: 0 1px 2px rgba(0,0,0,0.05);
}
.traffic-archive-livecam-icon {
    margin-bottom: 0.25rem;
    opacity: 0.7;
    filter: brightness(0) saturate(100%) invert(55%) sepia(10%) saturate(1800%);
}
.traffic-archive-cta-inner {
    position: relative;
    z-index: 10;
    margin-top: 5rem;
    width: 100%;
    max-width: 18rem;
}
@media (min-width: 1024px) {
    .traffic-archive-cta-inner {
        margin-top: 0;
    }
}
.traffic-archive-cta-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    background: #F59E0B;
    color: #fff;
    font-weight: 700;
    padding: 1rem 1.5rem;
    border-radius: 0.5rem;
    box-shadow: 0 10px 15px -3px rgba(0,0,0,0.2);
    transition: all 0.2s;
    text-decoration: none;
}
.traffic-archive-cta-btn:hover {
    background: #D97706;
    transform: scale(1.02);
}
.traffic-archive-cta-arrow {
    filter: brightness(0) invert(1);
    transition: transform 0.2s;
}
.traffic-archive-cta-btn:hover .traffic-archive-cta-arrow {
    transform: translateX(4px);
}
.traffic-archive-quick-answer {
    background: #ecfdf5;
    border-radius: 1rem;
    border: 1px solid #a7f3d0;
    padding: 1.5rem;
    margin-bottom: 3rem;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
}
.traffic-archive-qa-icon {
    background: #10B981;
    border-radius: 9999px;
    padding: 0.5rem;
    color: #fff;
    flex-shrink: 0;
    margin-top: 0.25rem;
}
.traffic-archive-qa-check {
    filter: brightness(0) invert(1);
}
.traffic-archive-condition-card {
    background: #fff;
    padding: 1.5rem;
    border-radius: 1rem;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
    border: 1px solid #f1f5f9;
    transition: box-shadow 0.2s;
}
.traffic-archive-condition-card:hover {
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1);
}
.traffic-archive-condition-icon {
    filter: brightness(0) saturate(100%) invert(13%) sepia(74%) saturate(2088%) hue-rotate(206deg);
}
.traffic-archive-condition-icon-amber {
    filter: brightness(0) saturate(100%) invert(45%) sepia(90%) saturate(800%) hue-rotate(10deg);
}
.traffic-archive-forecast {
    background: #fff;
    border-radius: 1rem;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1);
    padding: 1.5rem 2rem;
    border: 1px solid #f1f5f9;
    margin-bottom: 3rem;
}
@media (min-width: 1024px) {
    .traffic-archive-forecast {
        padding: 2rem;
    }
}
.traffic-archive-forecast-clock {
    filter: brightness(0) saturate(100%) invert(45%) sepia(90%) saturate(800%) hue-rotate(10deg);
}
.traffic-archive-heatmap {
    width: 100%;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 0.5rem;
    padding: 1rem;
    position: relative;
    overflow: hidden;
}
.traffic-archive-heatmap-grid {
    display: grid;
    grid-template-columns: auto repeat(7, 1fr);
    gap: 2px 4px;
    font-size: 0.75rem;
}
.traffic-archive-closure-item {
    background: #fff;
    border-radius: 1rem;
    border: 1px solid #e2e8f0;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
}
.traffic-archive-closure-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 1.25rem;
    text-align: left;
    cursor: pointer;
    list-style: none;
    transition: background 0.2s;
}
.traffic-archive-closure-summary::-webkit-details-marker {
    display: none;
}
.traffic-archive-closure-summary:hover {
    background: #f8fafc;
}
.traffic-archive-closure-detail {
    padding: 0 1.25rem 1.25rem;
    border-top: 1px solid #f1f5f9;
    background: rgba(248, 250, 252, 0.5);
}
.traffic-archive-closure-item[open] .traffic-archive-chevron {
    transform: rotate(180deg);
}
.traffic-archive-chevron {
    flex-shrink: 0;
    transition: transform 0.2s;
    filter: brightness(0) saturate(100%) invert(55%) sepia(10%) saturate(1800%);
}
.traffic-archive-keyfact {
    background: #fffbeb;
    border-left: 4px solid #F59E0B;
    padding: 0.75rem 1rem;
    font-size: 0.875rem;
    color: #92400e;
    border-radius: 0 0.25rem 0.25rem 0;
}
.traffic-archive-emergency {
    background: #fff;
    border-radius: 1rem;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1);
    border: 1px solid #f1f5f9;
    overflow: hidden;
}
.traffic-archive-emergency-header {
    background: #1B3B6F;
    padding: 1.5rem 1.5rem 0;
}
.traffic-archive-tabs {
    display: flex;
    gap: 0.5rem;
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
}
.traffic-archive-tabs::-webkit-scrollbar {
    display: none;
}
.traffic-archive-tab {
    padding: 0.75rem 1rem;
    font-weight: 700;
    font-size: 0.875rem;
    border-radius: 0.5rem 0.5rem 0 0;
    transition: all 0.2s;
    white-space: nowrap;
    border: none;
    background: #1E40AF;
    color: #bfdbfe;
    cursor: pointer;
}
.traffic-archive-tab:hover {
    background: #1e3a8a;
    color: #fff;
}
.traffic-archive-tab-active {
    background: #fff;
    color: #1B3B6F;
}
.traffic-archive-emergency-body {
    padding: 1.5rem 2rem;
    min-height: 400px;
}
@media (min-width: 768px) {
    .traffic-archive-emergency-body {
        padding: 2rem;
    }
}
.traffic-archive-img-placeholder {
    width: 100%;
    height: 16rem;
    background: #e2e8f0;
    border: 2px dashed #cbd5e1;
    border-radius: 0.5rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    color: #64748b;
    font-weight: 700;
    font-size: 0.875rem;
    position: relative;
}
.traffic-archive-placeholder-icon {
    opacity: 0.5;
    filter: brightness(0) saturate(100%) invert(55%) sepia(10%) saturate(1800%);
}
.traffic-archive-video-placeholder {
    width: 100%;
    height: 12rem;
    background: #1e293b;
    border-radius: 0.5rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    position: relative;
    cursor: pointer;
}
.traffic-archive-emergency-icon-w {
    filter: brightness(0) invert(1);
}
.traffic-archive-intl-card {
    background: #fff;
    padding: 1.5rem;
    border-radius: 1rem;
    border: 1px solid #e2e8f0;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
    transition: box-shadow 0.2s;
}
.traffic-archive-intl-card:hover {
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1);
}
.traffic-archive-sidebar-card {
    background: #fff;
    border-radius: 1rem;
    border: 1px solid #e2e8f0;
    padding: 1.25rem 1.5rem;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
}
.traffic-archive-sidebar-sticky {
    position: sticky;
    top: 7rem;
    align-self: start;
}
.traffic-archive-sidebar-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 0.875rem;
    color: #475569;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid #f8fafc;
    text-decoration: none;
    transition: color 0.2s;
}
.traffic-archive-sidebar-link:hover {
    color: #F59E0B;
}
.traffic-archive-sidebar-link:hover .traffic-archive-ext-icon {
    opacity: 1;
}
.traffic-archive-sidebar-link-last {
    border-bottom: none;
}
.traffic-archive-ext-icon {
    filter: brightness(0) saturate(100%) invert(45%) sepia(90%) saturate(800%);
}
.traffic-archive-faq-summary {
    display: block;
    padding: 1rem;
    font-weight: 500;
    color: #0f172a;
    cursor: pointer;
    list-style: none;
    transition: background 0.2s;
}
.traffic-archive-faq-summary::-webkit-details-marker {
    display: none;
}
.traffic-archive-faq-summary:hover {
    background: #f8fafc;
}
.traffic-archive-author-trust {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 1rem;
    padding: 1.5rem;
    margin-bottom: 3rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
    text-align: left;
}
@media (min-width: 640px) {
    .traffic-archive-author-trust {
        flex-direction: row;
        align-items: flex-start;
    }
}
.traffic-archive-author-trust .traffic-archive-condition-icon {
    filter: brightness(0) saturate(100%) invert(42%) sepia(96%) saturate(2022%) hue-rotate(202deg);
}
.traffic-archive-conversion-cta {
    position: relative;
    width: 100%;
    border-radius: 1rem;
    overflow: hidden;
    box-shadow: 0 25px 50px -12px rgba(0,0,0,0.25);
    margin-bottom: 3rem;
    background: #1B3B6F;
}
.traffic-archive-conversion-cta::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to right, #1B3B6F, transparent);
    opacity: 0.9;
    pointer-events: none;
}
.traffic-archive-conversion-inner {
    position: relative;
    z-index: 10;
    padding: 2rem 1rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    color: #fff;
}
@media (min-width: 768px) {
    .traffic-archive-conversion-inner {
        padding: 4rem 2rem;
    }
}
.traffic-archive-cta-check {
    filter: brightness(0) saturate(100%) invert(70%) sepia(90%) saturate(800%) hue-rotate(10deg);
}
.traffic-archive-conversion-btn {
    display: inline-block;
    background: #F59E0B;
    color: #fff;
    font-weight: 700;
    padding: 1rem 2.5rem;
    border-radius: 0.5rem;
    box-shadow: 0 10px 15px -3px rgba(0,0,0,0.2);
    transition: all 0.2s;
    text-decoration: none;
    font-size: 1.125rem;
}
.traffic-archive-conversion-btn:hover {
    background: #D97706;
    transform: scale(1.05);
}
.traffic-archive-mobile-cta {
    box-shadow: 0 -4px 6px -1px rgba(0,0,0,0.1);
}

/* ========== Book Ticket Page ========== */
.book-ticket-step-bar {
    background-color: #FFFFFF;
    border-bottom: 1px solid #E2E8F0;
    box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.05);
    margin-top: 5px;
}
.book-ticket-step-bar .step-1-main,
.book-ticket-step-bar .max-w-screen-xl {
    flex-wrap: wrap;
    gap: 0.5rem 0;
    justify-content: space-between;
}
.book-ticket-step-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    font-size: 13px;
    font-weight: 600;
    color: #94A3B8;
}
.book-ticket-step-item.active {
    color: #334155;
}
.book-ticket-step-item.active .book-ticket-step-label {
    color: #334155;
}
.book-ticket-step-item .book-ticket-step-label {
    color: #94A3B8;
}
.book-ticket-step-num {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    border: 2px solid #CBD5E1;
    background: transparent;
    color: #94A3B8;
    font-size: 13px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.book-ticket-step-item.active .book-ticket-step-num {
    background: #334155;
    border-color: #334155;
    color: #ffffff;
}
.book-ticket-step-connector {
    flex: 1;
    min-width: 1.5rem;
    max-width: 8rem;
    margin: 0 4px;
    display: flex;
    align-items: center;
    align-self: center;
}
.book-ticket-step-connector::after {
    content: '';
    display: block;
    width: 100%;
    height: 2px;
    background: #E2E8F0;
}
.step-1-main {
    max-width: 56rem; /* 896px – wider than default */
}
main.step-1-main {
    background-color: #F8FAFC;
}
.book-ticket-card {
    background: #F8FAFC;
    border-radius: 12px;
    box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.05);
    border: 1px solid #E2E8F0;
}
.book-ticket-card h1 {
    color: #334155;
}
.book-ticket-card h1 + p {
    color: #64748B;
}
.book-ticket-card label {
    color: #334155;
}
.book-ticket-card p {
    color: #64748B;
}
.book-ticket-badge {
    background: transparent;
    border: none;
    border-radius: 0;
    padding: 0;
    color: #1E40AF;
    font-size: 14px;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
}
.book-ticket-badge img.book-ticket-badge-icon {
    flex-shrink: 0;
}
.book-ticket-badge:nth-child(1) img.book-ticket-badge-icon {
    filter: brightness(0) saturate(100%) invert(76%) sepia(62%) saturate(1520%) hue-rotate(359deg) brightness(102%) contrast(92%);
}
.book-ticket-badge:nth-child(2) img.book-ticket-badge-icon {
    filter: brightness(0) saturate(100%) invert(28%) sepia(79%) saturate(3626%) hue-rotate(217deg) brightness(96%) contrast(91%);
}
.book-ticket-badge:nth-child(3) img.book-ticket-badge-icon {
    filter: brightness(0) saturate(100%) invert(52%) sepia(78%) saturate(500%) hue-rotate(120deg) brightness(101%) contrast(101%);
}
.book-ticket-date-chevron-left {
    transform: rotate(180deg);
}
.book-ticket-menu-icon {
    display: block;
}
.book-ticket-match-ok-icon {
    vertical-align: middle;
}
.book-ticket-select {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23475569' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    padding-right: 36px;
}
/* Crossing wrap: same design as pricing-calculator "2. Trips" */
.book-ticket-crossing-wrap {
    display: flex;
    background-color: #FFFFFF;
    padding: 0.25rem;
    border-radius: 0.5rem;
    align-items: center;
}
.book-ticket-crossing-wrap .book-ticket-crossing-btn {
    flex: 1;
    border: none;
    border-radius: 0.375rem;
    padding: 0.5rem 0.75rem;
    font-size: 0.875rem;
    font-weight: 500;
    color: #334155;
    background: transparent;
    cursor: pointer;
    transition: all 0.2s;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.125rem;
    box-shadow: none;
}
.book-ticket-crossing-wrap .book-ticket-crossing-btn .book-ticket-crossing-sub {
    font-size: 0.75rem;
    font-weight: 400;
    color: #64748B;
}
.book-ticket-crossing-wrap .book-ticket-crossing-btn:hover {
    color: #334155;
}
.book-ticket-crossing-wrap .book-ticket-crossing-btn:hover .book-ticket-crossing-sub {
    color: #64748B;
}
.book-ticket-crossing-wrap .book-ticket-crossing-btn.active {
    background-color: #1B3B6F;
    color: #fff;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}
.book-ticket-crossing-wrap .book-ticket-crossing-btn.active .book-ticket-crossing-sub {
    color: #fff;
}
.book-ticket-multiple-trips {
    margin-top: 0.75rem;
    background-color: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-radius: 0.5rem;
    padding: 0.75rem 1rem;
    box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.05);
}
.book-ticket-multiple-trips.hidden {
    display: none;
}
.book-ticket-multiple-trips-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}
.book-ticket-multiple-trips-label {
    font-size: 0.875rem;
    font-weight: 500;
    color: #334155;
}
.book-ticket-trip-stepper {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.book-ticket-stepper-btn {
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    border: 1px solid #E2E8F0;
    background: #FFFFFF;
    color: #334155;
    font-size: 0.75rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.2s, border-color 0.2s, color 0.2s;
}
.book-ticket-stepper-btn:hover:not(:disabled) {
    background: #F1F5F9;
    border-color: #CBD5E1;
}
.book-ticket-stepper-btn-disabled,
.book-ticket-stepper-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}
.book-ticket-trip-count {
    font-size: 1rem;
    font-weight: 700;
    color: #334155;
    min-width: 1.5rem;
    text-align: center;
}
.book-ticket-crossing-btn {
    border: 1px solid #E2E8F0;
    border-radius: 8px;
    padding: 12px 20px;
    font-weight: 600;
    font-size: 14px;
    color: #64748B;
    background: #FFFFFF;
    cursor: pointer;
    transition: all 0.2s;
}
.book-ticket-crossing-btn:hover {
    border-color: #1B3B6F;
    color: #1B3B6F;
}
.book-ticket-crossing-btn.active {
    background: #1B3B6F;
    color: #FFFFFF;
    border-color: #1B3B6F;
}
.book-ticket-input {
    border: 1px solid #E2E8F0;
    border-radius: 8px;
    padding: 12px 14px;
    font-size: 14px;
    width: 100%;
}
.book-ticket-input:focus {
    outline: none;
    border-color: #1B3B6F;
    box-shadow: 0 0 0 2px rgba(27, 59, 111, 0.15);
}
/* Country dropdown: full-width with flag per option */
.book-ticket-country-dropdown {
    position: relative;
    width: 100%;
}
.book-ticket-country-trigger {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 1rem;
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-radius: 0.5rem;
    font-size: 0.875rem;
    color: #334155;
    text-align: left;
    cursor: pointer;
    transition: border-color 0.2s, box-shadow 0.2s;
}
.book-ticket-country-trigger:hover {
    border-color: #CBD5E1;
}
.book-ticket-country-trigger:focus {
    outline: none;
    border-color: #1B3B6F;
    box-shadow: 0 0 0 2px rgba(27, 59, 111, 0.15);
}
.book-ticket-country-trigger-flag {
    flex-shrink: 0;
    width: 1.5rem;
    height: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}
.book-ticket-country-trigger-flag:empty,
.book-ticket-country-trigger-flag .book-ticket-country-flag[src=""],
.book-ticket-country-trigger-flag-empty {
    display: none;
}
.book-ticket-country-flag {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}
.book-ticket-country-trigger-text {
    flex: 1;
}
.book-ticket-country-chevron {
    flex-shrink: 0;
    font-size: 0.75rem;
    color: #64748B;
    transition: transform 0.2s;
}
.book-ticket-country-dropdown.is-open .book-ticket-country-chevron {
    transform: rotate(180deg);
}
.book-ticket-country-list {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    margin-top: 0.25rem;
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-radius: 0.5rem;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
    max-height: 14rem;
    overflow-y: auto;
    z-index: 100;
}
.book-ticket-country-list.hidden {
    display: none;
}
.book-ticket-country-option {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.625rem 1rem;
    font-size: 0.875rem;
    color: #334155;
    cursor: pointer;
    transition: background-color 0.15s;
}
.book-ticket-country-option:hover {
    background-color: #F0F9FF;
}
.book-ticket-country-option-flag {
    flex-shrink: 0;
    width: 1.5rem;
    height: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}
.book-ticket-country-option-flag img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}
.book-ticket-country-option-flag:empty {
    display: none;
}
/* License plate: integrated region (EU stars + code) + input as one unit */
.book-ticket-plate-wrap {
    display: flex;
    align-items: stretch;
    height: 60px;
    width: 80%;
    margin-left: auto;
    margin-right: auto;
}
.book-ticket-plate-hint {
    width: 80%;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}
/* Error: color each half’s visible borders red; inner seam stays 0-width (no red between region + input) */
.book-ticket-plate-wrap.book-ticket-plate-wrap-error .book-ticket-plate-region {
    border-color: #ef4444;
}
.book-ticket-plate-wrap.book-ticket-plate-wrap-error .book-ticket-plate-input {
    border-color: #ef4444;
}
.book-ticket-plate-region {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.25rem;
    height: 60px;
    min-height: 60px;
    box-sizing: border-box;
    background: #1E40AF;
    padding: 0.5rem 0.75rem;
    min-width: 3.5rem;
    flex-shrink: 0;
    border-radius: 8px 0 0 8px;
    border: 2px solid #000000;
    border-right: 0;
}
.book-ticket-plate-eu-stars {
    width: 1.25rem;
    height: 0.85rem;
    -o-object-fit: contain;
       object-fit: contain;
    display: block;
}
.book-ticket-plate-code {
    font-weight: 700;
    font-size: 14px;
    color: #fff;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}
.book-ticket-plate-input {
    flex: 1;
    min-width: 0;
    height: 100%;
    border: none;
    border-radius: 0 8px 8px 0;
    padding: 0 14px;
    font-weight: 600;
    color: #0f172a;
    background: #fff;
    outline: none;
    box-sizing: border-box;
    border: 2px solid #000000;
    border-left: 0;
    text-align: center;
    font-size: 30px;
}
.book-ticket-plate-input::-moz-placeholder {
    color: #94a3b8;
    font-weight: 500;
}
.book-ticket-plate-input::placeholder {
    color: #94a3b8;
    font-weight: 500;
}
.book-ticket-plate-input:focus {
    outline: none;
}
.book-ticket-plate-wrap-confirm {
    align-items: center;
}
.book-ticket-plate-match-icon {
    flex-shrink: 0;
    padding: 0 0.75rem;
    color: #10B981;
    font-size: 1.25rem;
}
.book-ticket-plate-match-icon.hidden {
    display: none;
}
.book-ticket-footer-bar {
    background: #F8F8F8;
    border-top: 1px solid #E2E8F0;
    padding: 1rem 1.5rem;
}
.book-ticket-footer-bar-inner {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
/* Row 1: BRIDGE TICKET | sep | SERVICE FEE | sep | (spacer) | SECURE */
.book-ticket-footer-bar-row {
    display: flex;
    align-items: center;
    width: 100%;
}
.book-ticket-footer-bar-row-info {
    flex-wrap: wrap;
    gap: 0.5rem 0.75rem;
}
.book-ticket-footer-bar-text {
    color: #334155;
    font-size: 0.875rem;
    font-weight: 500;
}
.book-ticket-footer-bar-vsep {
    width: 1px;
    height: 1rem;
    background: #94A3B8;
    flex-shrink: 0;
    opacity: 0.7;
}
.book-ticket-footer-bar-spacer {
    flex: 1;
    min-width: 0.5rem;
}
.book-ticket-footer-bar-secure {
    display: inline-flex !important;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.375rem;
    font-size: 0.75rem;
    font-weight: 600;
    color: #334155;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    margin-left: auto;
    white-space: nowrap;
    flex-shrink: 0;
}
.book-ticket-footer-bar-secure img,
.book-ticket-footer-bar-secure span {
    display: inline-block;
    flex-shrink: 0;
}
.book-ticket-footer-bar-lock {
    flex-shrink: 0;
    display: inline-block;
    vertical-align: middle;
    filter: brightness(0) saturate(100%) invert(26%) sepia(28%) saturate(1200%) hue-rotate(195deg) brightness(92%) contrast(91%);
}
/* Row 2: TOTAL AMOUNT + value (left) | Continue button full width (right) */
.book-ticket-footer-bar-row-action {
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
}
.book-ticket-footer-bar-total-wrap {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
    flex-shrink: 0;
}
.book-ticket-footer-bar-total-label {
    font-size: 0.75rem;
    color: #94A3B8;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}
.book-ticket-footer-bar-total-value {
    font-size: 1.25rem;
    font-weight: 700;
    color: #334155;
}
.book-ticket-continue-btn {
    flex: 1;
    min-width: 0;
    justify-content: center;
    background: #F59E0B;
    color: #FFFFFF;
    font-weight: 700;
    font-size: 15px;
    padding: 14px 28px;
    border-radius: 8px;
    border: none;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: background 0.2s;
    text-decoration: none;
}
.book-ticket-continue-btn:hover {
    background: #D97706;
}
.book-ticket-continue-arrow {
    flex-shrink: 0;
    filter: brightness(0) invert(1);
}
/* Step-1: price bar sticky only until footer (scrolls away with content) */
.step-1-sticky-wrapper .book-ticket-footer-bar.step-1-price-bar {
    position: sticky;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 50;
}
.book-ticket-match-ok {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.375rem;
    color: #10b981 !important;
    font-size: 13px;
    font-weight: 500;
    white-space: nowrap;
}
.book-ticket-match-ok .book-ticket-match-ok-icon {
    flex-shrink: 0;
    margin-right: 0;
    filter: brightness(0) saturate(100%) invert(51%) sepia(84%) saturate(400%) hue-rotate(109deg) brightness(93%) contrast(102%);
}
.plate-bot-match-text {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.375rem;
    color: #ef4444 !important;
    font-size: 13px;
    font-weight: 500;
    white-space: nowrap;
}
.plate-bot-match-text .plate-bot-match-icon {
    flex-shrink: 0;
    filter: brightness(0) saturate(100%) invert(35%) sepia(50%) saturate(4566%) hue-rotate(340deg) brightness(102%) contrast(87%);
}
.book-ticket-main-top {
    padding-top: 105px;
}
@media (max-width: 767px) {
    .book-ticket-main-top {
        padding-top: 72px;
    }
}

/* Vue app: keep in content flow so header/footer stay visible */
.book-ticket-page-content {
    overflow: visible;
    min-height: 0;
}
.book-ticket-vue-root {
    min-height: 0;
    overflow: visible;
}
.book-ticket-vue-app {
    display: block;
    overflow: visible;
}
/* Form content inside card: use step-1 look, reset conflicting Vue/lib styles */
.book-ticket-card-vue .book-ticket-step-content {
    background: transparent;
    border: none;
    box-shadow: none;
    padding: 0;
    border-radius: 0;
}
.book-ticket-card-vue .book-ticket-step-content input[type="text"],
.book-ticket-card-vue .book-ticket-step-content input[type="email"],
.book-ticket-card-vue .book-ticket-step-content select {
    border: 1px solid #E2E8F0;
    border-radius: 8px;
    padding: 12px 14px;
    font-size: 14px;
    width: 100%;
}
.book-ticket-card-vue .book-ticket-step-content input:focus,
.book-ticket-card-vue .book-ticket-step-content select:focus {
    outline: none;
    border-color: #1B3B6F;
    box-shadow: 0 0 0 2px rgba(27, 59, 111, 0.15);
}
.book-ticket-card-vue .book-ticket-step-content label {
    color: #334155;
    font-weight: 600;
    font-size: 0.875rem;
}
/* Travel Date: same icon/style as pricing-calculator "3. Date" */
.book-ticket-travel-date-wrap .book-ticket-calendar-icon {
    position: absolute;
    left: 0.75rem;
    top: 50%;
    transform: translateY(-50%);
    width: 1.25rem;
    height: 1.25rem;
    pointer-events: none;
    transition: filter 0.2s;
    filter: brightness(0) saturate(100%) invert(49%) sepia(11%) saturate(1003%) hue-rotate(176deg) brightness(86%) contrast(80%);
}
.book-ticket-travel-date-wrap.group:hover .book-ticket-calendar-icon {
    filter: brightness(0) saturate(100%) invert(28%) sepia(95%) saturate(2000%) hue-rotate(217deg) brightness(95%) contrast(91%);
}
.book-ticket-travel-date-wrap .book-ticket-date-input {
    padding-left: 2.5rem;
}
.book-ticket-calendar-icon {
    pointer-events: none;
}

/* ========== Step 2 – Your Details ========== */
/* Completed step (green checkmark, green label, green connector) */
.book-ticket-step-item.completed {
    color: #059669;
}
.book-ticket-step-item.completed .book-ticket-step-label {
    color: #059669;
}
.book-ticket-step-item.completed .book-ticket-step-num {
    background: #D1FAE5;
    border-color: #10B981;
    color: #059669;
    padding: 0;
}
.step-2-step-check {
    display: block;
    filter: brightness(0) saturate(100%) invert(52%) sepia(78%) saturate(500%) hue-rotate(120deg);
}
.book-ticket-step-connector.completed::after {
    background: #334155;
}
.step-2-back-link {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    color: #64748B;
    font-size: 0.875rem;
    font-weight: 500;
    text-decoration: none;
    margin-bottom: 1rem;
    transition: color 0.2s;
}
.step-2-back-link:hover {
    color: #334155;
}
.step-2-back-chevron {
    transform: rotate(180deg);
    flex-shrink: 0;
    filter: brightness(0) saturate(100%) invert(55%) sepia(15%) saturate(800%) hue-rotate(195deg);
}
.step-2-page-title {
    font-size: 1.875rem;
    font-weight: 700;
    color: #334155;
    margin-bottom: 1.5rem;
}
.step-2-section-card {
    background: #FFFFFF;
    border-radius: 12px;
    border: 1px solid #E2E8F0;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    padding: 1.5rem 1.5rem;
    margin-bottom: 1rem;
}
.step-2-section-title {
    font-size: 1rem;
    font-weight: 600;
    color: #334155;
    margin-bottom: 1.25rem;
}
.step-2-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem 1.25rem;
    margin-bottom: 1.25rem;
}
@media (max-width: 640px) {
    .step-2-form-grid {
        grid-template-columns: 1fr;
    }
}
.step-2-label {
    display: block;
    font-size: 0.875rem;
    font-weight: 600;
    color: #334155;
    margin-bottom: 0.5rem;
}
.step-2-input {
    width: 100%;
    font-size: 0.875rem;
    color: #334155;
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-radius: 8px;
    padding: 0.625rem 0.75rem;
    transition: border-color 0.2s, box-shadow 0.2s;
}
.step-2-input::-moz-placeholder {
    color: #94A3B8;
}
.step-2-input::placeholder {
    color: #94A3B8;
}
.step-2-input:focus {
    outline: none;
    border-color: #1E40AF;
    box-shadow: 0 0 0 3px rgba(30, 64, 175, 0.15);
}
.step-2-input.step-2-input-invalid,
.step-2-sms-country-trigger.step-2-input-invalid,
.step-2-invoice-country-trigger.step-2-input-invalid {
    border-color: #ef4444;
    box-shadow: 0 0 0 1px #ef4444;
}
.step-2-input.step-2-input-invalid:focus,
.step-2-sms-country-trigger.step-2-input-invalid:focus,
.step-2-invoice-country-trigger.step-2-input-invalid:focus {
    border-color: #ef4444;
    box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.2);
}
.step-2-field-wrap {
    margin-bottom: 1.25rem;
}
.step-2-field-wrap:last-child {
    margin-bottom: 0;
}
.step-2-input-with-icon {
    position: relative;
}
.step-2-input-icon {
    position: absolute;
    left: 0.75rem;
    top: 50%;
    transform: translateY(-50%);
    width: 1.125rem;
    height: 1.125rem;
    pointer-events: none;
    filter: brightness(0) saturate(100%) invert(49%) sepia(11%) saturate(1003%) hue-rotate(176deg) brightness(86%) contrast(80%);
}
.step-2-input-has-icon {
    padding-left: 2.5rem;
}
.step-2-helper {
    font-size: 0.75rem;
    color: #64748B;
    margin-top: 0.375rem;
}
.step-2-toggle-card {
    padding: 1rem 1.5rem;
}
.step-2-sms-card.is-active {
    background-color: #F0FDF4;
    border: 1px solid #10B981;
    border-radius: 10px;
}
.step-2-sms-icon-wrap,
.step-2-toggle-icon-wrap {
    width: 40px;
    height: 40px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #F1F5F9;
    border-radius: 50%;
}
.step-2-sms-card.is-active .step-2-sms-icon-wrap {
    background-color: #10B981;
}
.step-2-sms-icon {
    filter: brightness(0) saturate(100%) invert(45%) sepia(15%) saturate(800%) hue-rotate(195deg);
}
.step-2-toggle-icon-wrap .step-2-toggle-icon {
    display: block;
}
.step-2-sms-card.is-active .step-2-sms-icon {
    filter: brightness(0) invert(1);
}
.step-2-toggle-row {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
}
.step-2-toggle-icon {
    flex-shrink: 0;
    filter: brightness(0) saturate(100%) invert(45%) sepia(15%) saturate(800%) hue-rotate(195deg);
}
.step-2-toggle-text-wrap {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
    flex: 1;
    min-width: 0;
}
.step-2-toggle-title {
    font-size: 0.9375rem;
    font-weight: 600;
    color: #334155;
}
.step-2-toggle-desc {
    font-size: 0.8125rem;
    color: #64748B;
}
.step-2-toggle-price {
    font-size: 0.875rem;
    font-weight: 600;
    color: #334155;
}
.step-2-sms-price-switch-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.375rem;
    flex-shrink: 0;
}
.step-2-sms-card .step-2-toggle-price {
    color: #1E293B;
    font-weight: 700;
}
.step-2-switch {
    position: relative;
    display: inline-block;
    width: 44px;
    height: 24px;
    flex-shrink: 0;
}
.step-2-switch-input {
    opacity: 0;
    width: 0;
    height: 0;
}
.step-2-switch-slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #CBD5E1;
    border-radius: 24px;
    transition: background-color 0.2s;
}
.step-2-switch-slider::before {
    position: absolute;
    content: '';
    height: 18px;
    width: 18px;
    left: 3px;
    bottom: 3px;
    background-color: #FFFFFF;
    border-radius: 50%;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
    transition: transform 0.2s;
}
.step-2-switch-input:checked + .step-2-switch-slider {
    background-color: #10B981;
}
.step-2-switch-input:checked + .step-2-switch-slider::before {
    transform: translateX(20px);
}
.step-2-sms-phone-wrap {
    margin-top: 1.25rem;
    padding-top: 1.25rem;
    border-top: 1px solid rgba(52, 199, 89, 0.3);
}
.step-2-sms-phone-wrap.hidden {
    display: none !important;
}
.step-2-sms-phone-wrap .step-2-label {
    margin-bottom: 0.5rem;
}
.step-2-sms-phone-row {
    display: flex;
    gap: 0.75rem;
    align-items: stretch;
}
.step-2-sms-phone-row .step-2-sms-country-trigger,
.step-2-sms-phone-row .step-2-input {
    min-height: 2.75rem;
    box-sizing: border-box;
}
.step-2-sms-country-dropdown {
    position: relative;
    min-width: 110px;
}
.step-2-sms-country-trigger {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    width: 100%;
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-radius: 8px;
    padding: 0.625rem 0.75rem;
    font-size: 0.875rem;
    font-weight: 500;
    color: #334155;
    cursor: pointer;
    transition: border-color 0.2s, box-shadow 0.2s;
    text-align: left;
}
.step-2-sms-country-trigger:hover {
    border-color: #CBD5E1;
}
.step-2-sms-country-dropdown.is-open .step-2-sms-country-trigger {
    border-color: #10B981;
    box-shadow: 0 0 0 1px #10B981;
    outline: none;
}
.step-2-sms-country-trigger .step-2-sms-flag {
    flex-shrink: 0;
    display: block;
    -o-object-fit: cover;
       object-fit: cover;
}
.step-2-sms-code-text {
    flex: 1;
    min-width: 0;
}
.step-2-sms-country-trigger .step-2-sms-chevron {
    flex-shrink: 0;
    opacity: 0.7;
    filter: brightness(0) saturate(100%) invert(45%) sepia(15%) saturate(800%) hue-rotate(195deg);
    transition: transform 0.2s;
}
.step-2-sms-country-dropdown.is-open .step-2-sms-chevron {
    transform: rotate(180deg);
}
.step-2-sms-country-panel {
    position: absolute;
    left: 0;
    top: 100%;
    margin-top: 4px;
    min-width: 100%;
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    max-height: 280px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    z-index: 100;
}
.step-2-sms-country-panel.hidden {
    display: none !important;
}
.step-2-sms-country-search-wrap {
    padding: 0.5rem 0.5rem;
    background: #FFFFFF;
    border-bottom: 1px solid #E2E8F0;
    flex-shrink: 0;
}
.step-2-sms-country-search {
    width: 100%;
    padding: 0.5rem 0.75rem;
    font-size: 0.875rem;
    color: #334155;
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-radius: 6px;
    outline: none;
    transition: border-color 0.2s, box-shadow 0.2s;
}
.step-2-sms-country-search::-moz-placeholder {
    color: #94A3B8;
}
.step-2-sms-country-search::placeholder {
    color: #94A3B8;
}
.step-2-sms-country-search:focus {
    border-color: #10B981;
    box-shadow: 0 0 0 1px #10B981;
}
.step-2-sms-country-list {
    padding: 0.25rem 0;
    overflow-y: auto;
    max-height: 220px;
}
.step-2-sms-country-option {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0.75rem;
    font-size: 0.875rem;
    font-weight: 500;
    color: #334155;
    cursor: pointer;
    transition: background-color 0.15s;
}
.step-2-sms-country-option:hover {
    background-color: #F1F5F9;
}
.step-2-sms-country-option-flag {
    width: 24px;
    height: 18px;
    -o-object-fit: cover;
       object-fit: cover;
    flex-shrink: 0;
}
.step-2-sms-number-input {
    flex: 1;
    min-width: 0;
}
.step-2-footer-actions {
    display: flex;
    align-items: stretch;
    gap: 0.75rem;
    flex: 1;
    min-width: 0;
    justify-content: flex-end;
}
.step-2-footer-back-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 8px;
    border: 1px solid #E2E8F0;
    background: #F8FAFC;
    color: #94A3B8;
    transition: background-color 0.2s, border-color 0.2s;
    flex-shrink: 0;
}
.step-2-footer-back-btn:hover {
    background: #F1F5F9;
    border-color: #CBD5E1;
}
.step-2-footer-back-btn .step-2-back-chevron {
    filter: brightness(0) saturate(100%) invert(72%) sepia(18%) saturate(1200%) hue-rotate(195deg) brightness(92%);
}
.book-ticket-footer-bar-sms.hidden {
    display: none !important;
}
.step-2-footer-actions .book-ticket-continue-btn {
    flex: 1;
    min-width: 140px;
    height: 44px;
    min-height: 44px;
    padding-top: 0;
    padding-bottom: 0;
    box-sizing: border-box;
}
.step-2-continue-btn.step-2-continue-disabled {
    background: #E2E8F0;
    color: #94A3B8;
    cursor: not-allowed;
    pointer-events: none;
}
.step-2-continue-btn.step-2-continue-disabled .book-ticket-continue-arrow {
    filter: brightness(0) saturate(100%) invert(72%) sepia(18%) saturate(1200%) hue-rotate(195deg) brightness(92%);
}
.step-2-continue-btn:not(.step-2-continue-disabled) {
    background: #FBBC04;
    color: #FFFFFF;
}
.step-2-continue-btn:not(.step-2-continue-disabled):hover {
    background: #F9A825;
    color: #FFFFFF;
}
.step-2-continue-btn:not(.step-2-continue-disabled) .book-ticket-continue-arrow {
    filter: brightness(0) invert(1);
}

/* ========== Step 2 – Invoice section (expanded) ========== */
.step-2-invoice-fields {
    margin-top: 1.25rem;
    padding-top: 1.25rem;
    border-top: 1px solid #E2E8F0;
}
.step-2-invoice-fields.hidden {
    display: none !important;
}
.step-2-invoice-card.is-active {
    background-color: #F0F7FF;
    border: 1px solid #334155;
    box-shadow: none;
}
.step-2-invoice-card.is-active .step-2-toggle-icon-wrap {
    background-color: #334155;
}
.step-2-invoice-card.is-active .step-2-toggle-icon {
    filter: brightness(0) invert(1);
}
.step-2-invoice-card .step-2-switch-input:checked + .step-2-switch-slider {
    background-color: #334155;
}
.step-2-invoice-vat-box {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    background-color: #F0F7FF;
    border: 1px solid #DBEAFE;
    border-radius: 8px;
    padding: 1rem 1rem;
    margin-bottom: 1.25rem;
}
.step-2-invoice-vat-icon {
    flex-shrink: 0;
    margin-top: 0.125rem;
    filter: brightness(0) saturate(100%) invert(18%) sepia(50%) saturate(3000%) hue-rotate(215deg) brightness(92%);
}
.step-2-invoice-vat-title,
.step-2-invoice-vat-list {
    color: #1E3A8A;
}
.step-2-invoice-vat-title {
    font-size: 0.875rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
}
.step-2-invoice-vat-list {
    font-size: 0.8125rem;
    line-height: 1.5;
    margin: 0;
    padding-left: 1.25rem;
}
.step-2-invoice-vat-list li {
    margin-bottom: 0.25rem;
}
.step-2-invoice-vat-list li:last-child {
    margin-bottom: 0;
}
.step-2-invoice-form {
    display: flex;
    flex-direction: column;
    gap: 0;
}
.step-2-invoice-form .step-2-field-wrap {
    margin-bottom: 1.25rem;
}
.step-2-invoice-form .step-2-field-wrap:last-child,
.step-2-invoice-form .step-2-invoice-row .step-2-field-wrap:last-child {
    margin-bottom: 0;
}
.step-2-invoice-form .step-2-input,
.step-2-invoice-form .step-2-invoice-country-trigger {
    background-color: #FFFFFF;
}
.step-2-invoice-row-postal-city {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem 1.25rem;
}
@media (max-width: 640px) {
    .step-2-invoice-row-postal-city {
        grid-template-columns: 1fr;
    }
}
.step-2-invoice-country-dropdown {
    position: relative;
}
.step-2-invoice-country-trigger {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    width: 100%;
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-radius: 8px;
    padding: 0.5rem 0.75rem;
    font-size: 0.875rem;
    font-weight: 500;
    color: #334155;
    cursor: pointer;
    transition: border-color 0.2s, box-shadow 0.2s;
    text-align: left;
}
.step-2-invoice-country-trigger:hover {
    border-color: #CBD5E1;
}
.step-2-invoice-country-dropdown.is-open .step-2-invoice-country-trigger {
    border-color: #10B981;
    box-shadow: 0 0 0 1px #10B981;
    outline: none;
}
.step-2-invoice-country-trigger img:first-of-type {
    width: 24px;
    height: 18px;
    -o-object-fit: cover;
       object-fit: cover;
    flex-shrink: 0;
}
.step-2-invoice-country-text {
    flex: 1;
    min-width: 0;
}
.step-2-invoice-country-trigger .step-2-invoice-country-chevron {
    flex-shrink: 0;
    opacity: 0.7;
    filter: brightness(0) saturate(100%) invert(45%) sepia(15%) saturate(800%) hue-rotate(195deg);
    transition: transform 0.2s;
}
.step-2-invoice-country-dropdown.is-open .step-2-invoice-country-chevron {
    transform: rotate(180deg);
}
.step-2-invoice-country-panel {
    position: absolute;
    left: 0;
    top: 100%;
    margin-top: 4px;
    min-width: 100%;
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    max-height: 280px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    z-index: 100;
}
.step-2-invoice-country-panel.hidden {
    display: none !important;
}
.step-2-invoice-country-search-wrap {
    padding: 0.5rem 0.5rem;
    background: #FFFFFF;
    border-bottom: 1px solid #E2E8F0;
    flex-shrink: 0;
}
.step-2-invoice-country-search {
    width: 100%;
    padding: 0.5rem 0.75rem;
    font-size: 0.875rem;
    color: #334155;
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-radius: 6px;
    outline: none;
    transition: border-color 0.2s, box-shadow 0.2s;
}
.step-2-invoice-country-search::-moz-placeholder {
    color: #94A3B8;
}
.step-2-invoice-country-search::placeholder {
    color: #94A3B8;
}
.step-2-invoice-country-search:focus {
    border-color: #334155;
    box-shadow: 0 0 0 1px #334155;
}
.step-2-invoice-country-list {
    padding: 0.25rem 0;
    overflow-y: auto;
    max-height: 220px;
}
.step-2-invoice-country-option {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0.75rem;
    font-size: 0.875rem;
    font-weight: 500;
    color: #334155;
    cursor: pointer;
    transition: background-color 0.15s;
}
.step-2-invoice-country-option:hover {
    background-color: #F1F5F9;
}
.step-2-invoice-country-option-flag {
    flex-shrink: 0;
    display: block;
}
.step-2-invoice-country-option-flag-img {
    width: 24px;
    height: 18px;
    -o-object-fit: cover;
       object-fit: cover;
    display: block;
    border-radius: 4px;
}
.step-2-invoice-country-flag-wrap.step-2-invoice-country-flag-empty {
    min-width: 24px;
    min-height: 18px;
}

/* ========== Step 3 – Payment (screenshot design) ========== */
.step-3-page-title {
    font-size: 1.875rem;
    font-weight: 700;
    color: #334155;
    margin-bottom: 1.5rem;
}
.step-3-order-summary-card {
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-radius: 12px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
    margin-bottom: 1.5rem;
    overflow: hidden;
}
.step-3-order-summary-header {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 0.5rem 0.75rem;
    padding: 1rem 1.25rem;
    background: #F8FAFC;
    border: none;
    cursor: pointer;
    text-align: left;
    font-size: 0.9375rem;
    font-weight: 600;
    color: #334155;
}
.step-3-order-summary-icon {
    flex-shrink: 0;
    filter: brightness(0) saturate(100%) invert(14%) sepia(18%) saturate(1326%) hue-rotate(178deg) brightness(87%) contrast(92%);
}
.step-3-order-summary-title-wrap {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 0.25rem;
}
.step-3-order-summary-title {
    font-weight: 700;
    color: #334155;
}
.step-3-order-summary-show {
    font-size: 0.8125rem;
    font-weight: 500;
    color: #64748B;
}
.step-3-order-summary-chevron {
    flex-shrink: 0;
    transition: transform 0.2s;
}
.step-3-order-summary-header.is-open .step-3-order-summary-chevron {
    transform: rotate(180deg);
}
.step-3-order-summary-details {
    border-top: 1px solid #E2E8F0;
}
.step-3-order-summary-details.hidden {
    display: none !important;
}
.step-3-order-summary-body {
    padding: 1rem 1.25rem 1.25rem 1.25rem;
    background: #FFFFFF;
}
.step-3-order-summary-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: 0.5rem 0;
    font-size: 0.875rem;
}
.step-3-order-summary-row-sep {
    border-bottom: 1px solid #F1F5F9;
}
.step-3-order-summary-label {
    color: #334155;
    font-weight: 400;
}
.step-3-order-summary-value {
    color: #334155;
    font-weight: 700;
    text-align: right;
}
.step-3-order-summary-plate {
    font-weight: 400;
    display: inline-block;
    padding: 0.25rem 0.5rem;
    background: #F1F5F9;
    border: 1px solid #334155;
    border-radius: 6px;
}
.step-3-order-summary-vat {
    margin-top: 1rem;
    padding: 0.75rem 1rem;
    background: #F8FAFC;
    border-radius: 8px;
}
.step-3-order-summary-vat-line {
    font-size: 0.8125rem;
    color: #334155;
    font-weight: 400;
    margin: 0 0 0.25rem 0;
}
.step-3-order-summary-vat-line:last-child {
    margin-bottom: 0;
}
.step-3-order-summary-edit {
    display: inline-block;
    margin-top: 1rem;
    font-size: 0.875rem;
    font-weight: 500;
    color: #D97706;
    text-decoration: underline;
}
.step-3-order-summary-edit:hover {
    color: #B45309;
}
.step-3-payment-subtitle {
    font-size: 1rem;
    font-weight: 600;
    color: #334155;
    margin-bottom: 0.75rem;
}
.step-3-payment-methods {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-bottom: 1.5rem;
}
.step-3-payment-option {
    display: block;
    cursor: pointer;
    position: relative;
}
/* Visually hidden; label + keyboard still activate the real radio */
.step-3-payment-radio-input {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
.step-3-payment-radio-input:focus-visible + .step-3-payment-option-inner .step-3-payment-radio-ui {
    outline: 2px solid #1B3B6F;
    outline-offset: 2px;
}
.step-3-payment-option-inner {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1rem 1.25rem;
    min-height: 72px;
    box-sizing: border-box;
    border: 1px solid #E2E8F0;
    border-radius: 12px;
    background: #FFFFFF;
    transition: border-color 0.2s, box-shadow 0.2s, background-color 0.2s;
}
.step-3-payment-option:hover .step-3-payment-option-inner {
    border-color: #CBD5E1;
}
.step-3-payment-option:hover .step-3-payment-option-inner.step-3-payment-option-selected,
.step-3-payment-option:hover .step-3-payment-radio-input:checked + .step-3-payment-option-inner {
    border-color: #334155;
}
.step-3-payment-option-selected,
.step-3-payment-radio-input:checked + .step-3-payment-option-inner {
    background: #F0F7FF;
    border: 2px solid #334155;
}
.step-3-payment-option-inner.step-3-payment-option-inner--error:not(.step-3-payment-option-selected) {
    border: 2px solid #DC2626;
}
.step-3-payment-option:hover .step-3-payment-option-inner.step-3-payment-option-inner--error:not(.step-3-payment-option-selected) {
    border-color: #B91C1C;
}
.step-3-payment-logo {
    flex-shrink: 0;
    height: 28px;
    width: auto;
    max-width: 40px;
    -o-object-fit: contain;
       object-fit: contain;
}
.step-3-ideal-logo-img {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    -o-object-fit: contain;
       object-fit: contain;
    display: block;
    margin: -6px 0;
}
.step-3-payment-label {
    flex: 1;
    min-width: 0;
    font-size: 0.9375rem;
    font-weight: 600;
    color: #334155;
}
.step-3-payment-popular {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.6875rem;
    font-weight: 700;
    color: #D97706;
    background: #FEF3C7;
    padding: 0.25rem 0.5rem;
    border-radius: 4px;
    flex-shrink: 0;
}
.step-3-popular-star {
    filter: brightness(0) saturate(100%) invert(45%) sepia(90%) saturate(1200%) hue-rotate(10deg);
}
/* Custom radio: even px sizes + real circles (no gradient ring artifacts) */
.step-3-payment-radio-ui {
    box-sizing: border-box;
    width: 24px;
    height: 24px;
    min-width: 24px;
    min-height: 24px;
    flex-shrink: 0;
    border-radius: 50%;
    border: 2px solid #CBD5E1;
    background-color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: border-color 0.2s, background-color 0.2s;
}
.step-3-payment-radio-knob {
    box-sizing: border-box;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background-color: #ffffff;
    opacity: 0;
    transform: scale(0.92);
    transition: opacity 0.15s ease, transform 0.15s ease;
}
.step-3-payment-option-selected .step-3-payment-radio-ui,
.step-3-payment-radio-input:checked + .step-3-payment-option-inner .step-3-payment-radio-ui {
    border-color: #334155;
    background-color: #334155;
}
.step-3-payment-option-selected .step-3-payment-radio-knob,
.step-3-payment-radio-input:checked + .step-3-payment-option-inner .step-3-payment-radio-knob {
    opacity: 1;
    transform: scale(1);
}
.step-3-terms-block {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-bottom: 1.5rem;
}
.step-3-terms-label {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    cursor: pointer;
    position: relative;
}
/* Native input: keep for a11y & forms; hide visually */
.step-3-terms-checkbox-input {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
.step-3-terms-checkbox-input:focus-visible + .step-3-terms-checkbox-ui {
    outline: 2px solid #1B3B6F;
    outline-offset: 2px;
}
/* Custom checkbox — style freely (borders, sizes, animations) */
.step-3-terms-checkbox-ui {
    box-sizing: border-box;
    width: 1.125rem;
    height: 1.125rem;
    min-width: 1.125rem;
    margin-top: 0.2rem;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #CBD5E1;
    border-radius: 4px;
    background: #fff;
    transition: border-color 0.2s, background-color 0.2s, box-shadow 0.2s;
}
.step-3-terms-checkbox-ui--checked {
    background: #334155;
    border-color: #334155;
}
.step-3-terms-checkbox-ui--error {
    border-color: #DC2626;
    box-shadow: 0 0 0 1px #DC2626;
}
.step-3-terms-checkbox-check {
    width: 4px;
    height: 8px;
    margin-top: -2px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
    opacity: 0;
    transition: opacity 0.15s;
}
.step-3-terms-checkbox-ui--checked .step-3-terms-checkbox-check {
    opacity: 1;
}
.step-3-terms-text {
    flex: 1;
    min-width: 0;
    font-size: 0.8125rem;
    line-height: 1.5;
    color: #94A3B8;
}
.step-3-terms-text a {
    color: #1b3b6f;
    text-decoration: underline;
}
.step-3-terms-text a:hover {
    color: #152e59;
}
.step-3-terms-text a:focus-visible {
    outline: 2px solid #1b3b6f;
    outline-offset: 2px;
}
.step-3-terms-text--error {
    color: #DC2626 !important;
}
.step-3-terms-text--error a {
    color: #1b3b6f;
}
.step-3-security-info {
    text-align: center;
    margin-bottom: 0;
}
.step-3-security-line {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    font-size: 0.8125rem;
    color: #64748B;
    margin: 0 0.5rem 0.25rem 0;
}
.step-3-security-line img {
    filter: brightness(0) saturate(100%) invert(51%) sepia(13%) saturate(824%) hue-rotate(176deg) brightness(83%) contrast(80%);
}

/* ========== News inner article page (from news-inner-section Blade — arbitrary colors / sizes) ========== */
.news-inner-page-bg {
    background-color: #f0f7ff;
}
.news-inner-main {
    max-width: 56rem;
    margin-left: auto;
    margin-right: auto;
    padding: 1.5rem 1rem 7rem;
}
@media (min-width: 768px) {
    .news-inner-main {
        padding-top: 2rem;
        padding-bottom: 5rem;
    }
}
.news-inner-article {
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 3rem;
    background-color: #fff;
    border-radius: 1rem;
    box-shadow: 0 20px 25px -5px rgba(27, 59, 111, 0.05), 0 8px 10px -6px rgba(27, 59, 111, 0.05);
    padding: 1.5rem;
}
@media (min-width: 768px) {
    .news-inner-article {
        padding: 3rem;
    }
}
.news-inner-breadcrumb-current {
    font-weight: 600;
    color: #1b3b6f;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 120px;
}
@media (min-width: 640px) {
    .news-inner-breadcrumb-current {
        max-width: 28rem;
    }
}
@media (min-width: 768px) {
    .news-inner-breadcrumb-current {
        max-width: none;
        overflow: visible;
        text-overflow: clip;
        white-space: normal;
    }
}
.news-inner-category-badge {
    background-color: #3b82f6;
    color: #fff;
    padding: 0.25rem 0.75rem;
    border-radius: 9999px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    display: inline-block;
}
.news-inner-title {
    font-size: 1.5rem;
    line-height: 1.25;
    font-weight: 700;
    letter-spacing: -0.025em;
    margin-top: 1rem;
    margin-bottom: 1rem;
    color: #1b3b6f;
}
@media (min-width: 768px) {
    .news-inner-title {
        font-size: 1.875rem;
    }
}
@media (min-width: 1024px) {
    .news-inner-title {
        font-size: 40px;
    }
}
.news-inner-meta-icon {
    width: 13px;
    height: 13px;
    -o-object-fit: contain;
       object-fit: contain;
    display: block;
    filter: brightness(0) saturate(100%) invert(64%) sepia(19%) saturate(316%) hue-rotate(175deg) brightness(97%) contrast(88%);
}
.news-inner-verified-dot {
    background-color: #10b981;
    border-radius: 9999px;
    padding: 0.125rem;
}
.news-inner-verified-label {
    font-weight: 600;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.025em;
}
.news-inner-share-fb {
    padding: 0.5rem;
    border-radius: 9999px;
    background-color: rgba(24, 119, 242, 0.1);
    color: #1877f2;
    transition: color 0.2s, background-color 0.2s, transform 0.2s;
}
.news-inner-share-fb:hover {
    background-color: #1877f2;
    color: #fff;
    transform: translateY(-2px);
}
.news-inner-share-linkedin {
    padding: 0.5rem;
    border-radius: 9999px;
    background-color: rgba(10, 102, 194, 0.1);
    color: #0a66c2;
    transition: color 0.2s, background-color 0.2s, transform 0.2s;
}
.news-inner-share-linkedin:hover {
    background-color: #0a66c2;
    color: #fff;
    transform: translateY(-2px);
}
.news-inner-figcaption {
    font-size: 11px;
    color: #94a3b8;
    margin-top: 0.5rem;
    display: flex;
    align-items: center;
    gap: 0.25rem;
}
.news-inner-key-lead {
    font-size: 15px;
    line-height: 1.625;
    font-weight: 500;
    color: #1b3b6f;
}
.news-inner-toc-icon {
    width: 18px;
    height: 18px;
}
.news-inner-toc-link {
    color: #1b3b6f;
}
.news-inner-toc-dot {
    background-color: #1b3b6f;
    transition: background-color 0.15s ease;
}
.news-inner-toc-link:hover .news-inner-toc-dot {
    background-color: #f59e0b;
}
/* Related News — Read More buttons (color !important: Tailwind preflight sets button { color: inherit }) */
button.news-inner-related-read-more {
    color: #f59e0b !important;
    background-color: rgba(245, 158, 11, 0.1);
    transition: color 0.15s ease, background-color 0.15s ease;
}
button.news-inner-related-read-more:hover {
    color: #ffffff !important;
    background-color: #f59e0b;
}
.news-inner-related-read-more-icon {
    width: 12px;
    height: 12px;
    flex-shrink: 0;
    -o-object-fit: contain;
       object-fit: contain;
    filter: brightness(0) saturate(100%) invert(66%) sepia(92%) saturate(1658%) hue-rotate(354deg) brightness(97%) contrast(99%);
    transition: filter 0.15s ease, transform 0.15s ease;
}
.news-inner-related-read-more:hover .news-inner-related-read-more-icon {
    filter: brightness(0) saturate(100%) invert(97%) sepia(97%) saturate(14%) hue-rotate(207deg) brightness(103%) contrast(105%);
    transform: translateX(0.25rem);
}
.news-inner-warning-callout {
    background-color: #fef3c7;
    border-left: 4px solid #f59e0b;
    padding: 1.5rem;
    margin-bottom: 2rem;
    border-radius: 0 0.5rem 0.5rem 0;
}
.news-inner-author-photo {
    width: 60px;
    height: 60px;
    border-radius: 9999px;
    -o-object-fit: cover;
       object-fit: cover;
    border: 1px solid #f1f5f9;
}
.news-inner-label-10 {
    font-size: 10px;
    font-weight: 700;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 0.25rem;
}
.news-inner-meta-fine {
    font-size: 10px;
    color: #94a3b8;
    margin-top: 0.125rem;
}
.news-inner-sidebar-col {
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
}
.news-inner-cta-ticket {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    border-radius: 0.5rem;
    transition: background-color 0.2s, box-shadow 0.2s, transform 0.2s;
    outline: none;
    background-color: #f59e0b;
    color: #fff;
    padding: 1rem 2rem;
    font-size: 1.125rem;
    line-height: 1.75rem;
    width: 100%;
    box-shadow:
        0 4px 6px -1px rgba(254, 215, 170, 0.6),
        0 2px 4px -2px rgba(254, 215, 170, 0.6),
        0 10px 15px -3px rgba(0, 0, 0, 0.1),
        0 4px 6px -4px rgba(0, 0, 0, 0.1);
}
.news-inner-cta-ticket:hover {
    background-color: #d97706;
    transform: translateY(-2px);
    box-shadow:
        0 10px 15px -3px rgba(0, 0, 0, 0.1),
        0 4px 6px -4px rgba(0, 0, 0, 0.1);
}
.news-inner-cta-ticket:focus {
    outline: 2px solid transparent;
    box-shadow: 0 0 0 2px #fff, 0 0 0 4px #f59e0b;
}
@media (min-width: 768px) {
    .news-inner-cta-ticket {
        width: auto;
    }
}
.news-inner-cta-icon {
    margin-left: 0.5rem;
    width: 18px;
    height: 18px;
}
.news-inner-card-badge-emerald {
    background-color: #10b981;
    color: #fff;
    padding: 0.25rem 0.75rem;
    border-radius: 9999px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    display: inline-block;
}
.news-inner-card-badge-violet {
    background-color: #8b5cf6;
    color: #fff;
    padding: 0.25rem 0.75rem;
    border-radius: 9999px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    display: inline-block;
}
.news-inner-card-badge-cyan {
    background-color: #06b6d4;
    color: #fff;
    padding: 0.25rem 0.75rem;
    border-radius: 9999px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    display: inline-block;
}
.news-inner-related-by {
    font-size: 11px;
    font-weight: 700;
    color: #1b3b6f;
}
.news-inner-related-date {
    font-size: 10px;
    color: #64748b;
}
.last\:mb-0:last-child {
  margin-bottom: 0px;
}
.hover\:-translate-y-0\.5:hover {
  --tw-translate-y: -0.125rem;
  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\:-translate-y-1:hover {
  --tw-translate-y: -0.25rem;
  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\:scale-105:hover {
  --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));
}
.hover\:border-action-200:hover {
  --tw-border-opacity: 1;
  border-color: rgb(253 230 138 / var(--tw-border-opacity, 1));
}
.hover\:border-action-300:hover {
  --tw-border-opacity: 1;
  border-color: rgb(252 211 77 / var(--tw-border-opacity, 1));
}
.hover\:border-action-500:hover {
  --tw-border-opacity: 1;
  border-color: rgb(245 158 11 / var(--tw-border-opacity, 1));
}
.hover\:border-action-500\/50:hover {
  border-color: rgb(245 158 11 / 0.5);
}
.hover\:border-blue-100:hover {
  --tw-border-opacity: 1;
  border-color: rgb(219 234 254 / var(--tw-border-opacity, 1));
}
.hover\:border-blue-50:hover {
  --tw-border-opacity: 1;
  border-color: rgb(239 246 255 / var(--tw-border-opacity, 1));
}
.hover\:border-nordic-900:hover {
  --tw-border-opacity: 1;
  border-color: rgb(27 59 111 / var(--tw-border-opacity, 1));
}
.hover\:bg-\[\#00a670\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(0 166 112 / var(--tw-bg-opacity, 1));
}
.hover\:bg-\[\#059669\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(5 150 105 / var(--tw-bg-opacity, 1));
}
.hover\:bg-\[\#3367d6\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(51 103 214 / var(--tw-bg-opacity, 1));
}
.hover\:bg-action-500:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(245 158 11 / var(--tw-bg-opacity, 1));
}
.hover\:bg-action-600:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(217 119 6 / var(--tw-bg-opacity, 1));
}
.hover\:bg-black:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));
}
.hover\:bg-gray-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}
.hover\:bg-nordic-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(224 238 255 / var(--tw-bg-opacity, 1));
}
.hover\:bg-nordic-800:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(30 64 175 / var(--tw-bg-opacity, 1));
}
.hover\:bg-white\/20:hover {
  background-color: rgb(255 255 255 / 0.2);
}
.hover\:bg-white\/80:hover {
  background-color: rgb(255 255 255 / 0.8);
}
.hover\:text-action-500:hover {
  --tw-text-opacity: 1;
  color: rgb(245 158 11 / var(--tw-text-opacity, 1));
}
.hover\:text-action-600:hover {
  --tw-text-opacity: 1;
  color: rgb(217 119 6 / var(--tw-text-opacity, 1));
}
.hover\:text-brand-blue:hover {
  --tw-text-opacity: 1;
  color: rgb(27 59 111 / var(--tw-text-opacity, 1));
}
.hover\:text-brand-orange:hover {
  --tw-text-opacity: 1;
  color: rgb(245 158 11 / var(--tw-text-opacity, 1));
}
.hover\:text-nordic-900:hover {
  --tw-text-opacity: 1;
  color: rgb(27 59 111 / var(--tw-text-opacity, 1));
}
.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\:shadow-hover:hover {
  --tw-shadow: 0 10px 25px -5px rgba(27, 59, 111, 0.15);
  --tw-shadow-colored: 0 10px 25px -5px 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-md:hover {
  --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);
}
.hover\:shadow-sm:hover {
  --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);
}
.hover\:shadow-xl:hover {
  --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);
}
.focus\:outline-none:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.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-action-500:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(245 158 11 / var(--tw-ring-opacity, 1));
}
.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));
}
.disabled\:cursor-not-allowed:disabled {
  cursor: not-allowed;
}
.disabled\:opacity-70:disabled {
  opacity: 0.7;
}
.group:hover .group-hover\:-translate-y-1 {
  --tw-translate-y: -0.25rem;
  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\:translate-x-0\.5 {
  --tw-translate-x: 0.125rem;
  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\:translate-x-1 {
  --tw-translate-x: 0.25rem;
  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\: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\:scale-110 {
  --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));
}
.group:hover .group-hover\:gap-2 {
  gap: 0.5rem;
}
.group:hover .group-hover\:border-brand-lightblue {
  --tw-border-opacity: 1;
  border-color: rgb(240 247 255 / var(--tw-border-opacity, 1));
}
.group:hover .group-hover\:bg-action-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(245 158 11 / var(--tw-bg-opacity, 1));
}
.group:hover .group-hover\:bg-blue-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1));
}
.group:hover .group-hover\:bg-nordic-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(224 238 255 / var(--tw-bg-opacity, 1));
}
.group:hover .group-hover\:bg-nordic-900 {
  --tw-bg-opacity: 1;
  background-color: rgb(27 59 111 / var(--tw-bg-opacity, 1));
}
.group:hover .group-hover\:bg-white\/20 {
  background-color: rgb(255 255 255 / 0.2);
}
.group:hover .group-hover\:pl-10 {
  padding-left: 2.5rem;
}
.group:hover .group-hover\:pr-6 {
  padding-right: 1.5rem;
}
.group:hover .group-hover\:text-action-500 {
  --tw-text-opacity: 1;
  color: rgb(245 158 11 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:text-action-600 {
  --tw-text-opacity: 1;
  color: rgb(217 119 6 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:text-blue-600 {
  --tw-text-opacity: 1;
  color: rgb(37 99 235 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:text-brand-blue {
  --tw-text-opacity: 1;
  color: rgb(27 59 111 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:text-brand-orange {
  --tw-text-opacity: 1;
  color: rgb(245 158 11 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:text-nordic-900 {
  --tw-text-opacity: 1;
  color: rgb(27 59 111 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.group\/de:hover .group-hover\/de\:opacity-100 {
  opacity: 1;
}
.group\/marker:hover .group-hover\/marker\:opacity-100 {
  opacity: 1;
}
.group:hover .group-hover\:opacity-100 {
  opacity: 1;
}
.group:hover .group-hover\:opacity-75 {
  opacity: 0.75;
}
.group:hover .group-hover\: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);
}
@media (min-width: 640px) {

  .sm\:right-\[5\%\] {
    right: 5%;
  }

  .sm\:right-auto {
    right: auto;
  }

  .sm\:mb-4 {
    margin-bottom: 1rem;
  }

  .sm\:mb-7 {
    margin-bottom: 1.75rem;
  }

  .sm\:mb-8 {
    margin-bottom: 2rem;
  }

  .sm\:mt-5 {
    margin-top: 1.25rem;
  }

  .sm\:mt-7 {
    margin-top: 1.75rem;
  }

  .sm\:block {
    display: block;
  }

  .sm\:inline {
    display: inline;
  }

  .sm\:flex {
    display: flex;
  }

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

  .sm\:table-cell {
    display: table-cell;
  }

  .sm\:w-64 {
    width: 16rem;
  }

  .sm\:w-\[340px\] {
    width: 340px;
  }

  .sm\:w-auto {
    width: auto;
  }

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

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

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

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

  .sm\:gap-1 {
    gap: 0.25rem;
  }

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

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

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

  .sm\:p-10 {
    padding: 2.5rem;
  }

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

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

  .sm\:px-4 {
    padding-left: 1rem;
    padding-right: 1rem;
  }

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

  .sm\:px-7 {
    padding-left: 1.75rem;
    padding-right: 1.75rem;
  }

  .sm\:py-10 {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }

  .sm\:py-7 {
    padding-top: 1.75rem;
    padding-bottom: 1.75rem;
  }

  .sm\:py-8 {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }

  .sm\:pb-6 {
    padding-bottom: 1.5rem;
  }

  .sm\:pb-7 {
    padding-bottom: 1.75rem;
  }

  .sm\:pb-8 {
    padding-bottom: 2rem;
  }

  .sm\:pt-6 {
    padding-top: 1.5rem;
  }

  .sm\:pt-7 {
    padding-top: 1.75rem;
  }

  .sm\:text-left {
    text-align: left;
  }

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

  .sm\:text-end {
    text-align: end;
  }

  .sm\:text-2xl {
    font-size: 1.5rem;
    line-height: 2rem;
  }

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

  .sm\:text-\[16px\] {
    font-size: 16px;
  }

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

  .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\:col-span-1 {
    grid-column: span 1 / span 1;
  }

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

  .md\:mx-0 {
    margin-left: 0px;
    margin-right: 0px;
  }

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

  .md\:mb-0 {
    margin-bottom: 0px;
  }

  .md\:mb-10 {
    margin-bottom: 2.5rem;
  }

  .md\:mb-12 {
    margin-bottom: 3rem;
  }

  .md\:mb-2 {
    margin-bottom: 0.5rem;
  }

  .md\:mb-7 {
    margin-bottom: 1.75rem;
  }

  .md\:mb-8 {
    margin-bottom: 2rem;
  }

  .md\:mt-0 {
    margin-top: 0px;
  }

  .md\:block {
    display: block;
  }

  .md\:inline {
    display: inline;
  }

  .md\:flex {
    display: flex;
  }

  .md\:hidden {
    display: none;
  }

  .md\:aspect-\[3\/1\] {
    aspect-ratio: 3/1;
  }

  .md\:min-h-full {
    min-height: 100%;
  }

  .md\:w-1\/2 {
    width: 50%;
  }

  .md\:w-64 {
    width: 16rem;
  }

  .md\:w-auto {
    width: auto;
  }

  .md\:flex-1 {
    flex: 1 1 0%;
  }

  .md\:scroll-mt-28 {
    scroll-margin-top: 7rem;
  }

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

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

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

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

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

  .md\:grid-cols-\[1fr_0\.75fr\] {
    grid-template-columns: 1fr 0.75fr;
  }

  .md\:grid-cols-\[1fr_2fr\] {
    grid-template-columns: 1fr 2fr;
  }

  .md\:grid-cols-\[2fr_1fr\] {
    grid-template-columns: 2fr 1fr;
  }

  .md\:grid-cols-\[3fr_2fr\] {
    grid-template-columns: 3fr 2fr;
  }

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

  .md\:items-start {
    align-items: flex-start;
  }

  .md\:items-end {
    align-items: flex-end;
  }

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

  .md\:justify-start {
    justify-content: flex-start;
  }

  .md\:justify-end {
    justify-content: flex-end;
  }

  .md\:justify-between {
    justify-content: space-between;
  }

  .md\:gap-10 {
    gap: 2.5rem;
  }

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

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

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

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

  .md\:justify-self-start {
    justify-self: start;
  }

  .md\:border-b-0 {
    border-bottom-width: 0px;
  }

  .md\:border-r {
    border-right-width: 1px;
  }

  .md\:border-none {
    border-style: none;
  }

  .md\:p-10 {
    padding: 2.5rem;
  }

  .md\:p-12 {
    padding: 3rem;
  }

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

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

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

  .md\:p-7 {
    padding: 1.75rem;
  }

  .md\:p-8 {
    padding: 2rem;
  }

  .md\:px-0 {
    padding-left: 0px;
    padding-right: 0px;
  }

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

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

  .md\:px-7 {
    padding-left: 1.75rem;
    padding-right: 1.75rem;
  }

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

  .md\:py-12 {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }

  .md\:py-16 {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

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

  .md\:py-8 {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }

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

  .md\:pb-12 {
    padding-bottom: 3rem;
  }

  .md\:pb-32 {
    padding-bottom: 8rem;
  }

  .md\:pb-7 {
    padding-bottom: 1.75rem;
  }

  .md\:pt-0 {
    padding-top: 0px;
  }

  .md\:pt-1 {
    padding-top: 0.25rem;
  }

  .md\:pt-12 {
    padding-top: 3rem;
  }

  .md\:pt-2 {
    padding-top: 0.5rem;
  }

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

  .md\:pt-7 {
    padding-top: 1.75rem;
  }

  .md\:text-left {
    text-align: left;
  }

  .md\:text-right {
    text-align: right;
  }

  .md\:text-2xl {
    font-size: 1.5rem;
    line-height: 2rem;
  }

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

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

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

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

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

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

  .md\:text-xl {
    font-size: 1.25rem;
    line-height: 1.75rem;
  }
}
@media (min-width: 1024px) {

  .lg\:sticky {
    position: sticky;
  }

  .lg\:top-\[120px\] {
    top: 120px;
  }

  .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\:col-span-4 {
    grid-column: span 4 / span 4;
  }

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

  .lg\:mx-0 {
    margin-left: 0px;
    margin-right: 0px;
  }

  .lg\:mb-0 {
    margin-bottom: 0px;
  }

  .lg\:mt-5 {
    margin-top: 1.25rem;
  }

  .lg\:block {
    display: block;
  }

  .lg\:grid {
    display: grid;
  }

  .lg\:hidden {
    display: none;
  }

  .lg\:aspect-\[4\/5\] {
    aspect-ratio: 4/5;
  }

  .lg\:h-auto {
    height: auto;
  }

  .lg\:w-1\/2 {
    width: 50%;
  }

  .lg\:w-1\/3 {
    width: 33.333333%;
  }

  .lg\:w-1\/4 {
    width: 25%;
  }

  .lg\:w-2\/3 {
    width: 66.666667%;
  }

  .lg\:max-w-none {
    max-width: none;
  }

  .lg\:origin-top-right {
    transform-origin: top right;
  }

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

  .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-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .lg\:grid-cols-\[2fr_1fr\] {
    grid-template-columns: 2fr 1fr;
  }

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

  .lg\:flex-row-reverse {
    flex-direction: row-reverse;
  }

  .lg\:justify-start {
    justify-content: flex-start;
  }

  .lg\:justify-end {
    justify-content: flex-end;
  }

  .lg\:gap-10 {
    gap: 2.5rem;
  }

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

  .lg\:gap-14 {
    gap: 3.5rem;
  }

  .lg\:gap-16 {
    gap: 4rem;
  }

  .lg\:gap-5 {
    gap: 1.25rem;
  }

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

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

  .lg\:space-y-32 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(8rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(8rem * var(--tw-space-y-reverse));
  }

  .lg\: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));
  }

  .lg\:self-start {
    align-self: flex-start;
  }

  .lg\:border-l {
    border-left-width: 1px;
  }

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

  .lg\:py-12 {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }

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

  .lg\:pb-24 {
    padding-bottom: 6rem;
  }

  .lg\:pl-12 {
    padding-left: 3rem;
  }

  .lg\:pt-0 {
    padding-top: 0px;
  }

  .lg\:pt-\[10rem\] {
    padding-top: 10rem;
  }

  .lg\:text-left {
    text-align: left;
  }

  .lg\:text-right {
    text-align: right;
  }

  .lg\:text-4xl {
    font-size: 2.25rem;
    line-height: 2.5rem;
  }

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

  .lg\:text-base {
    font-size: 1rem;
    line-height: 1.5rem;
  }
}
@media (min-width: 1280px) {

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

  .xl\:gap-12 {
    gap: 3rem;
  }
}
@media (min-width: 1536px) {

  .\32xl\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.\[\&_a\]\:text-nordic-800 a {
  --tw-text-opacity: 1;
  color: rgb(30 64 175 / var(--tw-text-opacity, 1));
}
.\[\&_a\]\:underline a {
  text-decoration-line: underline;
}
.\[\&_h2\]\:mb-4 h2 {
  margin-bottom: 1rem;
}
.\[\&_h2\]\:mt-10 h2 {
  margin-top: 2.5rem;
}
.\[\&_h2\]\:text-2xl h2 {
  font-size: 1.5rem;
  line-height: 2rem;
}
.\[\&_h2\]\:font-bold h2 {
  font-weight: 700;
}
.\[\&_h2\]\:text-nordic-900 h2 {
  --tw-text-opacity: 1;
  color: rgb(27 59 111 / var(--tw-text-opacity, 1));
}
.\[\&_h3\]\:mb-3 h3 {
  margin-bottom: 0.75rem;
}
.\[\&_h3\]\:mt-8 h3 {
  margin-top: 2rem;
}
.\[\&_h3\]\:text-lg h3 {
  font-size: 1.125rem;
  line-height: 1.75rem;
}
.\[\&_h3\]\:font-bold h3 {
  font-weight: 700;
}
.\[\&_h3\]\:text-nordic-900 h3 {
  --tw-text-opacity: 1;
  color: rgb(27 59 111 / var(--tw-text-opacity, 1));
}
.\[\&_li\]\:pl-0\.5 li {
  padding-left: 0.125rem;
}
.\[\&_li\]\:leading-relaxed li {
  line-height: 1.625;
}
.\[\&_ol\]\:list-outside ol {
  list-style-position: outside;
}
.\[\&_ol\]\:list-decimal ol {
  list-style-type: decimal;
}
.\[\&_ol\]\:space-y-2 ol > :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));
}
.\[\&_ol\]\:pl-5 ol {
  padding-left: 1.25rem;
}
.\[\&_ol\]\:pl-6 ol {
  padding-left: 1.5rem;
}
.\[\&_p\]\:mb-4 p {
  margin-bottom: 1rem;
}
.\[\&_p\]\:leading-relaxed p {
  line-height: 1.625;
}
.\[\&_ul\]\:list-outside ul {
  list-style-position: outside;
}
.\[\&_ul\]\:list-disc ul {
  list-style-type: disc;
}
.\[\&_ul\]\:space-y-2 ul > :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));
}
.\[\&_ul\]\:pl-5 ul {
  padding-left: 1.25rem;
}
.\[\&_ul\]\:pl-6 ul {
  padding-left: 1.5rem;
}
