@import url('https://fonts.googleapis.com/css2?family=Archivo+Black&family=Baloo+2:wght@700;800&family=IBM+Plex+Mono:wght@500&family=IBM+Plex+Sans:wght@400;500;600;700&display=swap');

/* Shared visual language for every JOURNIE page outside the homepage. */
:root {
  --bg: #fff6e8;
  --cream: #fff6e8;
  --paper: #fffdf7;
  --panel: #fffdf7;
  --ink: #163f47;
  --soft: #526974;
  --muted: #526974;
  --teal: #168fb4;
  --green: #168fb4;
  --teal-deep: #163f47;
  --deep: #163f47;
  --green-dark: #163f47;
  --mustard: #ffb42b;
  --gold: #ffb42b;
  --chili: #e43d82;
  --orange: #df751d;
  --red: #e43d82;
  --line: #eadac1;
}

body { background: radial-gradient(circle at 10% 5%, #fff1b5 0, transparent 24%), radial-gradient(circle at 89% 7%, #ffd3e8 0, transparent 26%), var(--bg); color: var(--ink); font-family: 'IBM Plex Sans', sans-serif; }
h1, h2, h3 { font-family: 'Archivo Black', sans-serif; }

.top, .site-header, .topbar {
  background: rgba(255, 253, 247, .94) !important;
  border-bottom-color: #ff4aa2 !important;
  color: var(--ink) !important;
}

.site-nav a { color: var(--ink) !important; }
.site-nav a:hover, .site-nav a.current { color: #ff4aa2 !important; }
.site-clock, .clock { color: #ff4aa2 !important; }
.site-clock small, .clock small { color: var(--soft) !important; }

.journie-orbit-logo {
  position: relative;
  display: inline-flex;
  gap: 0;
  align-items: center;
  padding-bottom: 10px;
  font-family: 'Baloo 2', sans-serif;
  font-size: 31px;
  font-weight: 800;
  letter-spacing: -0.06em;
}

.journie-orbit-logo span { display: inline-block; text-shadow: 0 0 10px currentColor, 0 0 21px currentColor; }
.journie-orbit-logo span:nth-child(1) { color: #e43d82; transform: rotate(-9deg); }
.journie-orbit-logo span:nth-child(2) { color: #168fb4; transform: rotate(-4deg); }
.journie-orbit-logo span:nth-child(3) { color: #e43d82; transform: rotate(2deg); }
.journie-orbit-logo span:nth-child(4) { color: #df751d; transform: rotate(6deg); }
.journie-orbit-logo span:nth-child(5) { color: #7658ca; transform: rotate(3deg); }
.journie-orbit-logo span:nth-child(6) { color: #e43d82; transform: rotate(-2deg); }
.journie-orbit-logo span:nth-child(7) { color: #168fb4; transform: rotate(-7deg); }
.journie-orbit-logo .logo-star { position: absolute; top: -0.6em; left: 76%; z-index: 1; color: #ffb42b; font-family: Arial, sans-serif; font-size: .42em; line-height: 1; text-shadow: 0 0 5px #ffb42b, 0 0 10px rgba(255, 74, 162, .7); transform: translateX(-50%) rotate(10deg); }
.journie-orbit-logo::after {
  content: '';
  position: absolute;
  right: 0; bottom: -3px; left: 1%;
  height: 18px;
  background: linear-gradient(90deg, #e43d82 0%, #168fb4 17%, #e43d82 34%, #df751d 51%, #7658ca 68%, #e43d82 84%, #168fb4 100%);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 220 32'%3E%3Cpath d='M4 19 15 7C78-2 151 5 216 25 149 14 77 14 17 30Z'/%3E%3C/svg%3E") center/100% 100% no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 220 32'%3E%3Cpath d='M4 19 15 7C78-2 151 5 216 25 149 14 77 14 17 30Z'/%3E%3C/svg%3E") center/100% 100% no-repeat;
  box-shadow: 0 3px 10px rgba(22, 143, 180, .3), 0 4px 16px rgba(228, 61, 130, .22);
  transform: rotate(-2deg);
}

.top .brand, .site-header .brand { display: inline-flex; align-items: center; }
.top .brand:not(:has(.journie-orbit-logo)), .site-header .brand:not(:has(.journie-orbit-logo)) { position: relative; padding-bottom: 8px; background: linear-gradient(90deg, #e43d82, #168fb4, #e43d82, #df751d, #7658ca, #e43d82, #168fb4); -webkit-background-clip: text; background-clip: text; color: transparent !important; font-family: 'Baloo 2', sans-serif; font-weight: 800; text-shadow: 0 0 10px rgba(228, 61, 130, .28); }
.top .brand:not(:has(.journie-orbit-logo))::before, .site-header .brand:not(:has(.journie-orbit-logo))::before { content: '★'; position: absolute; top: -.15em; left: 74%; z-index: 1; color: #ffb42b; font: .48em/1 Arial, sans-serif; text-shadow: 0 0 5px #ffb42b; }
.top .brand:not(:has(.journie-orbit-logo))::after, .site-header .brand:not(:has(.journie-orbit-logo))::after { content: ''; position: absolute; right: 0; bottom: -2px; left: 1%; height: 10px; background: linear-gradient(90deg, #e43d82, #168fb4, #df751d, #7658ca); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 220 32'%3E%3Cpath d='M4 19 15 7C78-2 151 5 216 25 149 14 77 14 17 30Z'/%3E%3C/svg%3E") center/100% 100% no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 220 32'%3E%3Cpath d='M4 19 15 7C78-2 151 5 216 25 149 14 77 14 17 30Z'/%3E%3C/svg%3E") center/100% 100% no-repeat; }

.hero h1 em, .fact strong, .hero-side .stat, .map-node.live:hover { color: var(--teal) !important; }
.eyebrow, .section-label, .block-head .unit-num, label, .price, .result strong { color: var(--chili) !important; }
.cta, button.primary, .directions-link { background: #e43d82 !important; color: #fff !important; }
.cta:hover, button.primary:hover, .directions-link:hover { background: #c92e6d !important; }

.hero, .panel, .service, .control-panel, .guide-card, .map-shell, .card { border-color: var(--line); }
.hero-copy, .root .map-node, .tool-card { background: #fffdf7 !important; color: var(--ink) !important; }
.hero-copy .value-line { color: var(--soft) !important; border-top-color: var(--line) !important; }
.hero-copy .unit-number { border-color: var(--line) !important; }
.hero-copy .platform-note { color: var(--soft) !important; }
.hero-copy .platform-note strong { color: #e43d82 !important; }
.hero-copy .order-badge { border-color: var(--line) !important; background: #fff6e8 !important; color: var(--ink) !important; }
.hero-copy .order-badge strong { color: #e43d82 !important; }
.hero-copy .order-call { border-color: #e43d82 !important; color: #e43d82 !important; }
.hero-copy .order-call:hover { background: #e43d82 !important; color: #fff !important; }
.vertical .map-node { background: #dff3fb !important; border-color: #168fb4 !important; color: var(--ink) !important; }
.centre .map-node { color: var(--teal-deep) !important; }
.tool-card p, .tool-card .tool-link, .root .map-node span { color: var(--soft) !important; }
.tool-card:hover, .stall-card.live-card:hover, .map-node.live:hover { box-shadow: 5px 5px 0 #ffb42b !important; }
footer, .site-footer { background: #fffdf7 !important; border-top: 2px solid var(--line); color: var(--soft) !important; }
footer .fbrand, .site-footer .footer-brand { color: var(--ink) !important; }
footer .disclosure, footer .footer-copy, footer .flinks a, .site-footer .footer-links a { color: var(--soft) !important; }
footer .flinks a:hover, .site-footer .footer-links a:hover { color: #e43d82 !important; }

/* Keeps the legal-page mark colourful if a visitor loads it without JavaScript. */
.journie-script-logo { display: inline-block; padding-bottom: 8px; background: linear-gradient(90deg, #e43d82, #168fb4, #df751d, #7658ca, #e43d82, #168fb4); -webkit-background-clip: text; background-clip: text; color: transparent; font-family: 'Baloo 2', sans-serif; font-size: 31px; font-weight: 800; letter-spacing: -.06em; }
.journie-script-logo .logo-j, .journie-script-logo .logo-rest { color: inherit; }

.topbar .journie-orbit-logo { font-size: 31px; }
.topbar .brand h1 { display: flex; align-items: center; gap: 10px; }
.topbar .brand .tool-name { color: var(--bg); font-family: 'Archivo Black', sans-serif; font-size: .55em; letter-spacing: 0; text-shadow: none; }

@media (max-width: 640px) {
  .site-header { padding: 14px 16px !important; }
  .journie-orbit-logo { font-size: 25px; }
  .topbar .brand h1 { gap: 7px; }
}
