.jvm-page{
  --paper:#F5F2EB;
  --paper-2:#EFEAE0;
  --navy-950:#0E1E35;
  --navy-800:#152B47;
  --navy-700:#1B3A5C;
  --orange-600:#E8590C;
  --orange-500:#F0762E;
  --orange-100:#FBDCC6;
  --stone:#C9C2AF;
  --ink:#101418;
  --f-display:'Big Shoulders Display', Impact, 'Arial Narrow Bold', Haettenschweiler, 'Franklin Gothic Bold', sans-serif;
  --f-mono:'IBM Plex Mono', 'SFMono-Regular', Consolas, Menlo, monospace;
  --f-body:'Inter', sans-serif;
}
.jvm-page *{box-sizing:border-box;margin:0;padding:0;}
.jvm-page{background:var(--paper);color:var(--navy-950);font-family:var(--f-body);-webkit-font-smoothing:antialiased;}
.jvm-page .wrap{max-width:1160px;margin:0 auto;padding:0 32px;}
.jvm-page a{color:inherit;text-decoration:none;}

.jvm-page .eyebrow{font-family:var(--f-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--orange-600);display:flex;align-items:center;gap:10px;}
.jvm-page .eyebrow::before{content:'';width:22px;height:1px;background:var(--orange-600);display:inline-block;}

.jvm-page header{padding:28px 0;border-bottom:1px solid var(--stone);}
.jvm-page header .wrap{display:flex;align-items:center;justify-content:space-between;}
.jvm-page .logo{font-family:var(--f-display);font-weight:900;font-size:26px;letter-spacing:.01em;}
.jvm-page .logo span{color:var(--orange-600);}
.jvm-page .nav-links{display:flex;gap:30px;list-style:none;}
.jvm-page .nav-links a{font-size:13px;font-weight:500;padding:6px 0;border-bottom:1px solid transparent;transition:border-color .15s;}
.jvm-page .nav-links a:hover{border-color:var(--orange-600);}
.jvm-page .nav-cta{font-family:var(--f-mono);font-size:12px;text-transform:uppercase;letter-spacing:.06em;border:1px solid var(--navy-950);padding:10px 18px;display:inline-block;transition:background .15s,color .15s;white-space:nowrap;}
.jvm-page .nav-cta:hover{background:var(--navy-950);color:var(--paper);}

.jvm-page .hero{padding:64px 0 40px;}
.jvm-page .hero .wrap{display:grid;grid-template-columns:1.05fr 0.95fr;gap:64px;align-items:center;}
.jvm-page .hero h1{font-family:var(--f-display);font-weight:900;font-size:58px;line-height:0.98;letter-spacing:-.01em;margin:18px 0 24px;}
.jvm-page .hero h1 em{font-style:normal;color:var(--orange-600);}
.jvm-page .hero p.lede{font-size:16px;line-height:1.6;color:var(--navy-700);max-width:440px;margin-bottom:32px;}
.jvm-page .hero-ctas{display:flex;gap:16px;flex-wrap:wrap;}
.jvm-page .btn-primary{background:var(--orange-600);color:#fff;font-weight:600;font-size:14px;padding:14px 26px;border-radius:2px;transition:background .15s;}
.jvm-page .btn-primary:hover{background:var(--navy-950);}
.jvm-page .btn-ghost{font-weight:500;font-size:14px;padding:14px 4px;border-bottom:1px solid var(--navy-950);}

.jvm-page .board{background:var(--navy-950);color:var(--paper);padding:26px 24px;border-radius:3px;position:relative;overflow:hidden;}
.jvm-page .board::before{content:'BUSINESS LINES — JVM';display:block;font-family:var(--f-mono);font-size:11px;letter-spacing:.14em;color:var(--orange-500);border-bottom:1px solid rgba(245,242,235,.15);padding-bottom:14px;margin-bottom:6px;}
.jvm-page .board-row{display:grid;grid-template-columns:52px 1fr 108px;gap:14px;padding:14px 0;border-bottom:1px solid rgba(245,242,235,.1);font-family:var(--f-mono);align-items:center;}
.jvm-page .board-row:last-child{border-bottom:none;}
.jvm-page .board-code{color:var(--orange-500);font-size:13px;font-weight:500;}
.jvm-page .board-name{font-size:14px;}
.jvm-page .board-status{font-size:10.5px;letter-spacing:.05em;text-align:right;color:#9FE1CB;}
.jvm-page .board-status.wait{color:var(--stone);}

.jvm-page .ticker-strip{border-top:1px dashed var(--stone);border-bottom:1px dashed var(--stone);padding:14px 0;overflow:hidden;background:var(--paper-2);}
.jvm-page .ticker-track{display:flex;gap:48px;white-space:nowrap;font-family:var(--f-mono);font-size:12px;letter-spacing:.06em;color:var(--navy-700);animation:jvm-scroll 30s linear infinite;width:max-content;}
.jvm-page .ticker-track span::after{content:'—';margin-left:48px;color:var(--stone);}
@keyframes jvm-scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}

.jvm-page section{padding:88px 0;}
.jvm-page .section-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:44px;gap:24px;flex-wrap:wrap;}
.jvm-page .section-head h2{font-family:var(--f-display);font-weight:800;font-size:36px;margin-top:14px;}
.jvm-page .section-head p{max-width:360px;color:var(--navy-700);font-size:14px;line-height:1.6;}

.jvm-page .services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--stone);border:1px solid var(--stone);}
.jvm-page .stub{background:var(--paper);padding:26px 20px 22px;position:relative;display:flex;flex-direction:column;min-height:250px;}
.jvm-page .stub .stub-icon{width:34px;height:34px;border:1.5px solid var(--navy-950);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:20px;}
.jvm-page .stub h3{font-family:var(--f-display);font-weight:700;font-size:18px;margin-bottom:10px;}
.jvm-page .stub p{font-size:13px;color:var(--navy-700);line-height:1.55;flex:1;}
.jvm-page .stub .stub-code{font-family:var(--f-mono);font-size:11px;color:var(--orange-600);margin-top:16px;letter-spacing:.08em;}
.jvm-page .stub .stub-link{font-family:var(--f-mono);font-size:11px;margin-top:8px;letter-spacing:.04em;border-bottom:1px solid var(--navy-950);align-self:flex-start;}

.jvm-page .strategy-band{background:var(--navy-950);color:var(--paper);}
.jvm-page .strategy-band .wrap{display:grid;grid-template-columns:1.1fr 0.9fr;gap:56px;align-items:start;}
.jvm-page .strategy-band blockquote{font-family:var(--f-display);font-weight:700;font-size:26px;line-height:1.22;letter-spacing:-.005em;}
.jvm-page .strategy-band blockquote span{color:var(--orange-500);}
.jvm-page .strategy-band p.note{margin-top:18px;font-size:14px;color:rgba(245,242,235,.65);line-height:1.6;}
.jvm-page .progress-card{border:1px solid rgba(245,242,235,.2);padding:22px;}
.jvm-page .progress-card .tag{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.1em;color:var(--orange-500);}
.jvm-page .progress-card h4{font-family:var(--f-display);font-size:19px;font-weight:700;margin:10px 0;}
.jvm-page .progress-card p{font-size:13px;color:rgba(245,242,235,.65);line-height:1.6;}

.jvm-page .car-ticket{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--stone);border:1px solid var(--stone);}
.jvm-page .panel{background:var(--paper);padding:36px 34px;}
.jvm-page .panel .eyebrow{margin-bottom:14px;}
.jvm-page .panel h3{font-family:var(--f-display);font-weight:800;font-size:26px;margin-bottom:14px;}
.jvm-page .panel p{font-size:14px;color:var(--navy-700);line-height:1.65;margin-bottom:14px;}
.jvm-page .panel ul{list-style:none;margin-top:16px;}
.jvm-page .panel li{font-size:13px;padding:10px 0;border-top:1px solid var(--stone);display:flex;justify-content:space-between;gap:12px;}
.jvm-page .panel li .tag{font-family:var(--f-mono);font-size:10.5px;color:var(--orange-600);white-space:nowrap;}

.jvm-page .why-list{display:flex;flex-direction:column;}
.jvm-page .why-row{display:grid;grid-template-columns:90px 1fr;gap:20px;padding:20px 0;border-top:1px solid var(--stone);align-items:baseline;}
.jvm-page .why-row:last-child{border-bottom:1px solid var(--stone);}
.jvm-page .why-tag{font-family:var(--f-mono);font-size:11px;letter-spacing:.06em;color:var(--orange-600);}
.jvm-page .why-row p{font-size:14.5px;color:var(--navy-800);line-height:1.55;}

.jvm-page .trusted{padding:56px 0;border-bottom:1px solid var(--stone);}
.jvm-page .trusted .wrap{display:flex;align-items:center;gap:40px;flex-wrap:wrap;}
.jvm-page .trusted-label{font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;color:var(--navy-700);text-transform:uppercase;white-space:nowrap;}
.jvm-page .trusted-marks{display:flex;gap:40px;flex-wrap:wrap;}
.jvm-page .trusted-marks span{font-family:var(--f-display);font-weight:700;font-size:16px;color:var(--stone);letter-spacing:.02em;}

.jvm-page footer{background:var(--paper-2);padding:64px 0 0;}
.jvm-page .stub-edge{position:relative;border-top:2px dashed var(--stone);}
.jvm-page .stub-edge::before,.jvm-page .stub-edge::after{content:'';position:absolute;top:-9px;width:18px;height:18px;background:var(--paper-2);border-radius:50%;border:2px dashed var(--stone);}
.jvm-page .stub-edge::before{left:-9px;}
.jvm-page .stub-edge::after{right:-9px;}
.jvm-page .footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding:48px 0;}
.jvm-page .footer-brand .logo{margin-bottom:14px;}
.jvm-page .footer-brand p{font-size:13px;color:var(--navy-700);max-width:260px;line-height:1.6;}
.jvm-page .footer-col h4{font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--orange-600);margin-bottom:16px;}
.jvm-page .footer-col a,.jvm-page .footer-col p{display:block;font-size:13px;color:var(--navy-800);margin-bottom:10px;}
.jvm-page .footer-bottom{border-top:1px solid var(--stone);padding:20px 0;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-family:var(--f-mono);font-size:11px;color:var(--navy-700);}

@media (max-width:900px){
  .jvm-page .hero .wrap{grid-template-columns:1fr;}
  .jvm-page .hero h1{font-size:42px;}
  .jvm-page .services-grid{grid-template-columns:1fr 1fr;}
  .jvm-page .strategy-band .wrap,.jvm-page .car-ticket{grid-template-columns:1fr;}
  .jvm-page .footer-grid{grid-template-columns:1fr 1fr;}
  .jvm-page .nav-links{display:none;}
}

/* Mobile nav toggle (hamburger) - added for accessible mobile navigation */
.jvm-page .nav-toggle{display:none;}
.jvm-page .nav-toggle-label{display:none;cursor:pointer;flex-direction:column;justify-content:center;gap:5px;width:30px;height:24px;}
.jvm-page .nav-toggle-label span{display:block;height:2px;width:100%;background:var(--navy-950);}
@media (max-width: 900px){
  .jvm-page .nav-toggle-label{display:flex;}
  .jvm-page .nav-links{display:flex;flex-direction:column;gap:0;position:absolute;top:100%;left:0;right:0;background:var(--paper);max-height:0;overflow:hidden;transition:max-height 0.25s ease;padding:0 24px;z-index:50;}
  .jvm-page .nav-toggle:checked ~ .nav-links{max-height:400px;padding:16px 24px;border-top:1px solid var(--stone);}
  .jvm-page .nav-links li{width:100%;}
  .jvm-page .nav-links a{display:block;padding:10px 0;}
}

/* Hide default theme header (site title/tagline) and default page title so pages start with the custom raw HTML header widget */
#site-header, .page-header { display: none; }

/* Destinations and Insights pages use the theme's default boxed content width (800px); remove it so they render full-width like the Elementor pages */
body.page-id-70 .site-main, body.page-id-70 .page-content,
body.page-id-88 .site-main, body.page-id-88 .page-content { max-width: none !important; margin: 0 !important; }

/* Insights nav dropdown: toggle menu containing multiple articles */
.jvm-page .nav-links .nav-dropdown{position:relative;}
.jvm-page .nav-links .nav-dropdown summary{font-size:13px;font-weight:500;padding:6px 0;border-bottom:1px solid transparent;cursor:pointer;list-style:none;color:inherit;}
.jvm-page .nav-links .nav-dropdown summary::-webkit-details-marker{display:none;}
.jvm-page .nav-links .nav-dropdown summary:hover{border-color:var(--orange-600);}
.jvm-page .nav-links .nav-dropdown summary::after{content:" \25BE";font-size:10px;}
.jvm-page .nav-links .nav-dropdown .dropdown-menu{list-style:none;position:absolute;top:100%;left:0;margin-top:10px;background:var(--paper);border:1px solid var(--stone);min-width:220px;padding:8px 0;box-shadow:0 10px 30px rgba(0,0,0,.1);z-index:60;}
.jvm-page .nav-links .nav-dropdown .dropdown-menu li{width:100%;}
.jvm-page .nav-links .nav-dropdown .dropdown-menu a{display:block;padding:8px 16px;font-size:13px;border-bottom:none;}
.jvm-page .nav-links .nav-dropdown .dropdown-menu a:hover{background:var(--paper-2);}
@media (max-width:900px){
  .jvm-page .nav-links .nav-dropdown .dropdown-menu{position:static;border:none;box-shadow:none;padding-left:16px;margin-top:4px;background:transparent;}
  .jvm-page .nav-links .nav-dropdown .dropdown-menu a{padding:8px 0;}
}


/* ============================================================
   Plan a Route / Contact page (post-255) — modern form redesign
   Matches JVM brand system (navy / orange / paper, mono labels)
   ============================================================ */
body.page-id-255{
  --pf-paper:#F5F2EB;
  --pf-paper-2:#EFEAE0;
  --pf-navy-950:#0E1E35;
  --pf-navy-800:#152B47;
  --pf-navy-700:#1B3A5C;
  --pf-orange-600:#E8590C;
  --pf-orange-500:#F0762E;
  --pf-orange-100:#FBDCC6;
  --pf-stone:#C9C2AF;
  --pf-f-mono:'IBM Plex Mono','SFMono-Regular',Consolas,Menlo,monospace;
  --pf-f-body:'Inter',sans-serif;
  background:var(--pf-paper);
}

body.page-id-255 main.site-main{position:relative;z-index:1;}

/* Intro line, styled as an editorial lede with a mono eyebrow tag */
body.page-id-255 .page-content > p.wp-block-paragraph{
  max-width:640px;
  margin:56px auto 8px;
  padding:0 24px;
  text-align:center;
  font-family:var(--pf-f-body);
  font-size:1.15rem;
  line-height:1.6;
  color:var(--pf-navy-700);
}
body.page-id-255 .page-content > p.wp-block-paragraph::before{
  content:"\2014 GET IN TOUCH";
  display:block;
  font-family:var(--pf-f-mono);
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--pf-orange-600);
  margin-bottom:16px;
}

/* Card wrapping the whole Jetpack form */
body.page-id-255 .jetpack-contact-form-container{
  max-width:760px;
  margin:40px auto 96px;
  padding:52px 56px;
  background:var(--pf-paper-2);
  border:1px solid var(--pf-stone);
  border-radius:3px;
  position:relative;
}
body.page-id-255 .jetpack-contact-form-container::before{
  content:"";
  position:absolute;
  top:-1px;left:-1px;right:-1px;
  height:4px;
  background:var(--pf-orange-600);
}

/* Turn the field stack into a responsive 2-column grid */
body.page-id-255 .wp-block-jetpack-contact-form{
  display:grid !important;
  grid-template-columns:1fr 1fr;
  gap:28px 24px;
  background:transparent !important;
}
body.page-id-255 .wp-block-jetpack-field-textarea,
body.page-id-255 .wp-block-jetpack-field-text,
body.page-id-255 .jvm-daterange,
body.page-id-255 .contact-form__error,
body.page-id-255 .wp-block-button{
  grid-column:1 / -1;
}

/* Labels */
body.page-id-255 .grunion-field-label{
  display:block;
  font-family:var(--pf-f-mono);
  font-size:11px;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--pf-navy-700);
  margin-bottom:10px;
}
body.page-id-255 .grunion-label-required{color:var(--pf-orange-600);}

/* Base field chrome shared by text/email/textarea/date/select-wrap/phone-wrap */
body.page-id-255 input.grunion-field,
body.page-id-255 textarea.grunion-field,
body.page-id-255 .contact-form__select-wrapper,
body.page-id-255 .jetpack-field__input-phone-wrapper,
body.page-id-255 .jvm-daterange-input{
  width:100%;
  box-sizing:border-box;
  border:1px solid var(--pf-stone);
  border-radius:2px;
  background:var(--pf-paper);
  font-family:var(--pf-f-body);
  font-size:15px;
  color:var(--pf-navy-950);
  transition:border-color .15s ease, box-shadow .15s ease;
}
body.page-id-255 input.grunion-field,
body.page-id-255 textarea.grunion-field{padding:14px 16px;}
body.page-id-255 textarea.grunion-field{min-height:130px;resize:vertical;}

body.page-id-255 input.grunion-field:focus,
body.page-id-255 textarea.grunion-field:focus,
body.page-id-255 .contact-form__select-wrapper:focus-within,
body.page-id-255 .jetpack-field__input-phone-wrapper:focus-within{
  outline:none;
  border-color:var(--pf-orange-600);
  box-shadow:0 0 0 3px var(--pf-orange-100);
}

/* Native select inside the custom wrapper */
body.page-id-255 .contact-form__select-wrapper select{
  width:100%;
  border:none;
  background:transparent;
  padding:14px 16px;
  font-family:var(--pf-f-body);
  font-size:15px;
  color:var(--pf-navy-950);
  cursor:pointer;
}

/* Phone field: flag/prefix + input row */
body.page-id-255 .jetpack-field__input-phone-wrapper{display:flex;align-items:center;padding-right:10px;}
body.page-id-255 .jetpack-field__input-prefix{padding-left:14px;display:flex;align-items:center;}
body.page-id-255 .jetpack-field__input-element{
  flex:1;border:none;background:transparent;padding:14px 8px;font-family:var(--pf-f-body);font-size:15px;color:var(--pf-navy-950);
}

/* Custom date-range trigger */
body.page-id-255 .jvm-daterange-input{
  display:flex;align-items:center;gap:12px;padding:14px 16px;cursor:pointer;
}
body.page-id-255 .jvm-daterange-input svg{flex:none;color:var(--pf-orange-600);}
body.page-id-255 .jvm-daterange-text small{
  display:block;font-family:var(--pf-f-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--pf-navy-700);margin-bottom:2px;
}
body.page-id-255 .jvm-daterange-text strong{font-weight:500;color:var(--pf-navy-950);}

/* Submit button — reuses the site's primary button language */
body.page-id-255 .wp-block-button__link{
  width:100%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:16px 26px !important;
  border-radius:2px !important;
  background:var(--pf-orange-600) !important;
  border:none !important;
  color:#fff !important;
  font-family:var(--pf-f-body);
  font-weight:600;
  font-size:15px;
  cursor:pointer;
  transition:background .15s ease;
}
body.page-id-255 .wp-block-button__link:hover{background:var(--pf-navy-950) !important;}

@media (max-width:700px){
  body.page-id-255 .wp-block-jetpack-contact-form{grid-template-columns:1fr;}
  body.page-id-255 .jetpack-contact-form-container{padding:32px 22px;margin:24px 16px 64px;}
}


/* Fix: paragraph under "Real Uganda" on dark strategy-band section was unreadable (navy-700 text on navy-900 background, ~1.44:1 contrast). Override to a light, still-muted tone for readability. */
.strategy-band .section-head p{color:rgba(233,238,245,.75);}


/* Modern spacing pass: tighten oversized section/heading spacing site-wide, add missing mobile breakpoint, and fix uneven column balance on the Real Uganda dark band */
.jvm-page section{padding:64px 0;}
@media (max-width:768px){.jvm-page section{padding:44px 0;}}
.jvm-page .section-head{margin-bottom:32px;}
.jvm-page .strategy-band .wrap{align-items:center;}
