/* Core company pages. All content is owned by the actual Elementor page records. */
.ja-core-active .site-content .ast-container,
.ja-core-active .site-content .content-area { width:100%; max-width:none; margin:0; padding:0; display:block; }
.ja-core-active .site-content .entry-content { margin:0; }
.ja-core-active .site-content .entry-header { display:none; }
.elementor .ja-core-page { --ja7-navy:#122a43; --ja7-deep:#0c1e30; --ja7-orange:#fe9502; --ja7-ink:#17293a; --ja7-muted:#536479; --ja7-line:#dce4eb; --ja7-soft:#f4f7f9; width:100%; display:block !important; color:var(--ja7-ink); }
.elementor .ja-core-page *, .elementor .ja-core-page *::before, .elementor .ja-core-page *::after { box-sizing:border-box; }
.elementor .ja-core-page .ja-core-section,
.elementor .ja-core-page .ja-core-hero,
.elementor .ja-core-page .ja-core-inner,
.elementor .ja-core-page .ja-core-card,
.elementor .ja-core-page .ja-core-content { display:block !important; width:100%; }
.elementor .ja-core-page .ja-core-section { padding:72px 0; background:#fff; }
.elementor .ja-core-page .ja-core-section--soft { background:var(--ja7-soft); }
.elementor .ja-core-page .ja-core-section--compact { padding:54px 0; }
.elementor .ja-core-page .ja-core-section--dark { background:var(--ja7-deep); color:#fff; }
.elementor .ja-core-page .ja-core-inner { max-width:1280px; margin:0 auto; padding:0 32px; }
.elementor .ja-core-page .elementor-widget { margin-bottom:0; min-width:0; }
.elementor .ja-core-page .elementor-widget-container { min-width:0; }
.elementor .ja-core-page .ja-core-hero { padding:56px 0; background:var(--ja7-deep); color:#fff; }
.elementor .ja-core-page .ja-core-hero-grid { display:grid !important; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:48px; align-items:center; }
.elementor .ja-core-page .ja-core-hero-copy { max-width:650px; gap:0; }
.elementor .ja-core-page .ja-core-hero-media { overflow:hidden; border-radius:8px; border:1px solid rgba(255,255,255,.14); }
.elementor .ja-core-page .ja-core-hero-media img { display:block; width:100%; height:320px; object-fit:cover; }
.elementor .ja-core-page .ja-core-kicker { margin:0 0 13px; }
.elementor .ja-core-page .ja-core-kicker .elementor-heading-title { color:var(--ja7-orange) !important; font-size:12px !important; line-height:1.4 !important; font-weight:800 !important; letter-spacing:.13em !important; text-transform:uppercase; }
.elementor .ja-core-page .ja-core-hero-title { margin:0 0 18px; }
.elementor .ja-core-page .ja-core-hero-title .elementor-heading-title { color:#fff !important; font-size:clamp(34px,3.2vw,43px) !important; line-height:1.12 !important; letter-spacing:-.025em !important; font-weight:750 !important; }
.elementor .ja-core-page .ja-core-hero-copy .ja-core-lead { max-width:610px; }
.elementor .ja-core-page .ja-core-hero-copy .ja-core-lead p { color:#e5edf4 !important; }
.elementor .ja-core-page .ja-core-lead p { margin:0; font-size:16px; line-height:1.72; color:var(--ja7-muted); }
.elementor .ja-core-page .ja-core-actions { display:flex !important; flex-flow:row wrap; gap:12px; margin-top:18px; }
.elementor .ja-core-page .ja-core-actions > .elementor-element { width:auto; }
.elementor .ja-core-page .ja-core-button .elementor-button { min-height:46px; display:inline-flex; align-items:center; justify-content:center; padding:12px 20px; border-radius:5px; border:1px solid var(--ja7-orange); background:var(--ja7-orange); color:var(--ja7-deep) !important; font-size:14px; font-weight:750; box-shadow:none; text-decoration:none; transition:background .18s,border-color .18s,color .18s; }
.elementor .ja-core-page .ja-core-button .elementor-button:hover { background:#e88700; border-color:#e88700; color:var(--ja7-deep) !important; }
.elementor .ja-core-page .ja-core-button--secondary .elementor-button { background:transparent; border-color:#b3c0cc; color:#fff !important; }
.elementor .ja-core-page .ja-core-button--secondary .elementor-button:hover { background:#fff; border-color:#fff; color:var(--ja7-deep) !important; }
.elementor .ja-core-page .ja-core-button--outline .elementor-button { background:transparent; color:var(--ja7-navy) !important; }
.elementor .ja-core-page .ja-core-button--outline .elementor-button:hover { background:var(--ja7-orange); color:var(--ja7-deep) !important; }
.elementor .ja-core-page .ja-core-section-head { max-width:760px; margin-bottom:32px; }
.elementor .ja-core-page .ja-core-section-head .ja-core-kicker { margin-bottom:10px; }
.elementor .ja-core-page .ja-core-section-title { margin:0 0 14px; }
.elementor .ja-core-page .ja-core-section-title .elementor-heading-title { color:var(--ja7-navy) !important; font-size:clamp(26px,2.5vw,32px) !important; line-height:1.2 !important; letter-spacing:-.02em !important; font-weight:750 !important; }
.elementor .ja-core-page .ja-core-section--dark .ja-core-section-title .elementor-heading-title { color:#fff !important; }
.elementor .ja-core-page .ja-core-copy p,
.elementor .ja-core-page .ja-core-copy li { color:var(--ja7-muted); font-size:16px; line-height:1.72; }
.elementor .ja-core-page .ja-core-copy p { margin:0 0 13px; }
.elementor .ja-core-page .ja-core-copy p:last-child { margin-bottom:0; }
.elementor .ja-core-page .ja-core-copy ul { margin:0; padding-left:20px; }
.elementor .ja-core-page .ja-core-copy li { margin:4px 0; }
.elementor .ja-core-page .ja-core-copy a { color:var(--ja7-navy); text-decoration:underline; text-decoration-color:var(--ja7-orange); text-underline-offset:3px; }
.elementor .ja-core-page .ja-core-section--dark .ja-core-copy p { color:#d9e5ef; }
.elementor .ja-core-page .ja-core-grid { display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; align-items:stretch; }
.elementor .ja-core-page .ja-core-grid--2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.elementor .ja-core-page .ja-core-grid--4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
.elementor .ja-core-page .ja-core-split { display:grid !important; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:50px; align-items:center; }
.elementor .ja-core-page .ja-core-card { height:100%; padding:24px; border:1px solid var(--ja7-line); border-radius:7px; background:#fff; }
.elementor .ja-core-page .ja-core-card--feature { padding:0; overflow:hidden; }
.elementor .ja-core-page .ja-core-card--feature .ja-core-card-body { padding:23px; }
.elementor .ja-core-page .ja-core-card .ja-core-card-title { margin:0 0 10px; }
.elementor .ja-core-page .ja-core-card .ja-core-card-title .elementor-heading-title { color:var(--ja7-navy) !important; font-size:20px !important; line-height:1.3 !important; font-weight:750 !important; }
.elementor .ja-core-page .ja-core-card .ja-core-card-copy p { margin:0 0 13px; color:var(--ja7-muted); font-size:14.5px; line-height:1.6; }
.elementor .ja-core-page .ja-core-card .ja-core-card-copy p:last-child { margin:0; }
.elementor .ja-core-page .ja-core-card .ja-core-card-copy a { color:var(--ja7-navy); text-decoration:underline; text-decoration-color:var(--ja7-orange); text-underline-offset:3px; }
.elementor .ja-core-page .ja-core-card-photo img { display:block; width:100%; height:210px; object-fit:cover; }
.elementor .ja-core-page .ja-core-card-link .elementor-button { padding:0; border:0; background:none; color:var(--ja7-navy) !important; font-size:14px; font-weight:750; }
.elementor .ja-core-page .ja-core-card-link .elementor-button:hover { color:#bd6d00 !important; }
.elementor .ja-core-page .ja-core-featured { display:grid !important; grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr); gap:32px; align-items:center; padding:28px; border:1px solid var(--ja7-line); border-radius:8px; background:#fff; }
.elementor .ja-core-page .ja-core-featured-photo img { display:block; width:100%; height:370px; object-fit:cover; border-radius:5px; }
.elementor .ja-core-page .ja-core-featured .ja-core-card-title .elementor-heading-title { font-size:27px !important; color:var(--ja7-navy) !important; }
.elementor .ja-core-page .ja-core-featured .ja-core-copy { margin:12px 0 22px; }
.elementor .ja-core-page .ja-core-note { margin-top:20px; }
.elementor .ja-core-page .ja-core-note p { color:var(--ja7-muted); font-size:13px; line-height:1.6; }
.elementor .ja-core-page .ja-core-facts { display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.elementor .ja-core-page .ja-core-fact { border-top:2px solid var(--ja7-orange); padding:16px 0; }
.elementor .ja-core-page .ja-core-fact .ja-core-card-title .elementor-heading-title { font-size:14px !important; color:var(--ja7-muted) !important; }
.elementor .ja-core-page .ja-core-fact .ja-core-copy p { font-size:16px; font-weight:700; color:var(--ja7-navy); }
.elementor .ja-core-page .ja-core-photo img { display:block; width:100%; height:auto; max-height:430px; object-fit:cover; border-radius:7px; }
.elementor .ja-core-page .ja-core-grid .ja-core-photo img { height:180px; }
.elementor .ja-core-page .ja-core-cta { display:grid !important; grid-template-columns:minmax(0,1fr) auto; gap:28px; align-items:center; }
.elementor .ja-core-page .ja-core-cta .ja-core-section-head { margin:0; }
.elementor .ja-core-page .ja-core-cta .ja-core-actions { margin:0; }
.elementor .ja-core-page .ja-core-contact-grid { display:grid !important; grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr); gap:28px; align-items:start; }
.elementor .ja-core-page .ja-core-contact-panel { padding:30px; border-radius:7px; background:var(--ja7-navy); }
.elementor .ja-core-page .ja-core-contact-panel .ja-core-card-title .elementor-heading-title { color:#fff !important; }
.elementor .ja-core-page .ja-core-contact-panel .ja-core-copy p,
.elementor .ja-core-page .ja-core-contact-panel .ja-core-copy a { color:#e4edf5; }
.elementor .ja-core-page .ja-core-contact-panel .ja-core-copy a:hover { color:var(--ja7-orange); }
.elementor .ja-core-page .ja-core-form-panel { padding:30px; border:1px solid var(--ja7-line); border-radius:7px; background:#fff; }
.elementor .ja-core-page .ja-core-form-panel .ja-core-card-title .elementor-heading-title { color:var(--ja7-navy) !important; font-size:23px !important; }
.elementor .ja-core-page .wpcf7 form { margin:18px 0 0; }
.elementor .ja-core-page .wpcf7 fieldset { border:0; padding:0; margin:0; }
.elementor .ja-core-page .wpcf7 legend { display:none; }
.elementor .ja-core-page .wpcf7 ol { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.elementor .ja-core-page .wpcf7 li { margin:0; font-size:14px; font-weight:650; color:var(--ja7-navy); }
.elementor .ja-core-page .wpcf7 li:last-child { grid-column:1/-1; }
.elementor .ja-core-page .wpcf7 input:not([type=submit]),
.elementor .ja-core-page .wpcf7 textarea { width:100%; min-height:46px; margin:7px 0 0; padding:10px 12px; border:1px solid #cbd5df; border-radius:4px; background:#fff; font-size:15px; color:var(--ja7-ink); }
.elementor .ja-core-page .wpcf7 textarea { min-height:120px; }
.elementor .ja-core-page .wpcf7 input[type=submit] { min-height:46px; margin-top:18px; padding:11px 22px; border:1px solid var(--ja7-orange); border-radius:5px; background:var(--ja7-orange); color:var(--ja7-deep); font-weight:750; }
.elementor .ja-core-page .wpcf7 p { font-size:13px; color:var(--ja7-muted); }
.elementor .ja-core-page .ja-core-gallery-area img { border-radius:4px; }
.elementor .ja-core-page .ja-core-gallery-area .elementor-shortcode { min-width:0; }
.elementor .ja-core-page .ja-core-gallery-area .fg-item img { object-fit:cover; }
@media (max-width:1024px) {
  .elementor .ja-core-page .ja-core-inner { padding:0 24px; }
  .elementor .ja-core-page .ja-core-hero-grid { gap:34px; }
  .elementor .ja-core-page .ja-core-grid--4 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .elementor .ja-core-page .ja-core-facts { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:767px) {
  .elementor .ja-core-page .ja-core-inner { padding:0 18px; }
  .elementor .ja-core-page .ja-core-section { padding:52px 0; }
  .elementor .ja-core-page .ja-core-hero { padding:38px 0; }
  .elementor .ja-core-page .ja-core-hero-grid,
  .elementor .ja-core-page .ja-core-split,
  .elementor .ja-core-page .ja-core-featured,
  .elementor .ja-core-page .ja-core-contact-grid { grid-template-columns:minmax(0,1fr); gap:25px; }
  .elementor .ja-core-page .ja-core-hero-media img { height:240px; }
  .elementor .ja-core-page .ja-core-featured-photo img { height:270px; }
  .elementor .ja-core-page .ja-core-grid,
  .elementor .ja-core-page .ja-core-grid--2,
  .elementor .ja-core-page .ja-core-grid--4 { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
  .elementor .ja-core-page .ja-core-cta { grid-template-columns:minmax(0,1fr); gap:18px; }
  .elementor .ja-core-page .ja-core-card { padding:18px; }
  .elementor .ja-core-page .ja-core-card--feature { padding:0; }
  .elementor .ja-core-page .ja-core-card--feature .ja-core-card-body { padding:18px; }
}
@media (max-width:480px) {
  .elementor .ja-core-page .ja-core-grid,
  .elementor .ja-core-page .ja-core-grid--2,
  .elementor .ja-core-page .ja-core-grid--4,
  .elementor .ja-core-page .ja-core-facts { grid-template-columns:minmax(0,1fr); }
  .elementor .ja-core-page .ja-core-hero-media img { height:205px; }
  .elementor .ja-core-page .ja-core-card-photo img { height:205px; }
  .elementor .ja-core-page .ja-core-actions { flex-direction:column; align-items:stretch; }
  .elementor .ja-core-page .ja-core-actions > .elementor-element,
  .elementor .ja-core-page .ja-core-actions .elementor-button { width:100%; }
  .elementor .ja-core-page .wpcf7 ol { grid-template-columns:minmax(0,1fr); }
  .elementor .ja-core-page .ja-core-contact-panel,
  .elementor .ja-core-page .ja-core-form-panel { padding:21px; }
}

/* Phase 8 correction: curated portfolio and approved service breadth. */
.elementor .ja-core-page .ja-curated-gallery .ja-core-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
.elementor .ja-core-page .ja-curated-gallery .ja-core-card-photo img{display:block;width:100%;height:245px;object-fit:cover;}
.elementor .ja-core-page .ja-curated-gallery .ja-core-grid .elementor-widget-image,.elementor .ja-core-page .ja-curated-gallery .ja-core-grid .elementor-widget-image .elementor-widget-container,.elementor .ja-core-page .ja-curated-gallery .ja-core-grid .elementor-widget-image a{display:block;width:100%;}
.elementor .ja-core-page .ja-curated-gallery .ja-core-grid .elementor-widget-image img{display:block;width:100%!important;max-width:none;height:245px!important;object-fit:cover;}
.elementor .ja-core-page .ja-curated-gallery .ja-core-card{border-color:#dce4eb;box-shadow:none;}
.elementor .ja-core-page .ja-curated-gallery .ja-core-card-body{padding:18px 20px 20px;}
.elementor .ja-core-page .ja-service-catalogue .ja-core-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;}
.elementor .ja-core-page .ja-service-catalogue .ja-core-card{padding:22px;border-top:3px solid #fe9502;box-shadow:none;}
.elementor .ja-core-page .ja-service-catalogue .ja-core-card-title .elementor-heading-title{font-size:18px!important;}
@media(max-width:1024px){.elementor .ja-core-page .ja-service-catalogue .ja-core-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:767px){.elementor .ja-core-page .ja-curated-gallery .ja-core-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.elementor .ja-core-page .ja-curated-gallery .ja-core-card-photo img,.elementor .ja-core-page .ja-curated-gallery .ja-core-grid .elementor-widget-image img{height:200px!important;}}
@media(max-width:480px){.elementor .ja-core-page .ja-curated-gallery .ja-core-grid,.elementor .ja-core-page .ja-service-catalogue .ja-core-grid{grid-template-columns:1fr;}.elementor .ja-core-page .ja-curated-gallery .ja-core-card-photo img,.elementor .ja-core-page .ja-curated-gallery .ja-core-grid .elementor-widget-image img{height:225px!important;}}

.elementor .ja-core-page .ja-core-section--dark .ja-core-lead p{color:#d9e5ef!important;}
.elementor .ja-core-page .ja-road-hub-links ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 20px;list-style:none;margin:0;padding:0;}
.elementor .ja-core-page .ja-road-hub-links li{list-style:none;border-bottom:1px solid #dce4eb;}
.elementor .ja-core-page .ja-road-hub-links a{display:block;padding:11px 3px;color:#122a43;text-decoration:none;font-size:14px;font-weight:650;}
.elementor .ja-core-page .ja-road-hub-links a:hover{color:#a45e00;}
@media(max-width:900px){.elementor .ja-core-page .ja-road-hub-links ul{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:600px){.elementor .ja-core-page .ja-road-hub-links ul{grid-template-columns:1fr;}}
