/* Site fixes loaded after the theme. Preserve the existing Elementor design. */
:root { --sinjo-ink: #102f43; --sinjo-green: #006b30; --sinjo-green-dark: #004f23; --sinjo-muted: #526174; --sinjo-border: #d5dee2; --sinjo-radius: 6px; --sinjo-section-space: clamp(3.5rem, 7vw, 7rem); --sinjo-container: 1240px; }
.container { width: min(100% - 2rem, var(--sinjo-container)); margin-inline: auto; }
[hidden] { display: none !important; }
.sinjo-skip-link { position: fixed; left: 1rem; top: -6rem; z-index: 999999; padding: .8rem 1rem; background: #fff; color: #102f43; }
.sinjo-skip-link:focus { top: 1rem; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible { outline: 3px solid #e68a00; outline-offset: 4px; }
#main-content { min-height: 45vh; }
.sinjo-brand { display: inline-flex; align-items: center; gap: .65rem; min-height: 44px; color: #fff; text-decoration: none; }
.sinjo-brand:hover { color: #fff; text-decoration: none; }
.sinjo-brand-mark { display: block; width: 42px; height: 40px; object-fit: contain; flex: 0 0 auto; }
.sinjo-wordmark { display: inline-block; font: 700 1.1rem/1.05 Rubik,sans-serif; color: #fff; letter-spacing: -.02em; white-space: nowrap; }
.sinjo-brand:focus-visible { outline: 3px solid #a6f0bb; outline-offset: 4px; border-radius: 3px; }
.header-main .logo { width: auto !important; min-width: 12rem; }
.sinjo-home-intro { background: #f0f7f3; padding: 1.5rem 0; }
.sinjo-home-intro > .container { display: flex; gap: 1.5rem; align-items: center; justify-content: space-between; }
.sinjo-home-intro h1 { font-size: clamp(1.5rem,2.2vw,2rem); line-height: 1.25; color: #102f43; max-width: 48rem; margin: 0 0 .5rem; }
.sinjo-home-intro p { color: #334155; max-width: 44rem; margin: 0; }
.sinjo-actions { display: flex; flex-wrap: wrap; gap: .75rem; flex-shrink: 0; }
.sinjo-button, .sinjo-inquiry input[type=submit], .sinjo-search-row button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: .7rem 1rem; border: 2px solid #006b30; border-radius: 4px; background: #006b30; color: #fff; font-size: .95rem; font-weight: 600; line-height: 1.4; text-decoration: none; cursor: pointer; }
.sinjo-button:hover, .sinjo-inquiry input[type=submit]:hover { background: #004f23; color: #fff; }
.sinjo-button-secondary { background: #fff; color: #006b30; }
.sinjo-button:focus-visible, .sinjo-header-cta:focus-visible { outline: 3px solid #f4b942; outline-offset: 3px; }
.sinjo-header-cta { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; margin-left: 1rem; padding: .65rem .9rem; border: 2px solid #a6f0bb; border-radius: 4px; color: #fff; font-size: .85rem; font-weight: 700; line-height: 1.2; text-decoration: none; white-space: nowrap; }
.sinjo-header-cta:hover { background: #a6f0bb; color: #102f43; }
.sinjo-mobile-cta { width: 100%; margin-top: 1rem; }
.sinjo-breadcrumbs { padding-top: .8rem; padding-bottom: .8rem; font-size: .9rem; color: #334155; }
.sinjo-breadcrumbs ol { display: flex; flex-wrap: wrap; gap: .4rem; margin: 0; padding: 0; list-style: none; }
.sinjo-breadcrumbs li + li::before { content: '/'; margin-right: .4rem; color: #64748b; }
.sinjo-breadcrumbs a, .sinjo-result a, .sinjo-content-section p a, .sinjo-product-inquiry { color: #006b30; text-decoration: underline; text-underline-offset: .2em; }
.sinjo-collection-actions { display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; align-items: center; padding-top: .5rem; padding-bottom: 1rem; }
.sinjo-content-section { padding-top: 2rem; padding-bottom: 3rem; }
.sinjo-content-section h1 { font-size: clamp(1.7rem,4vw,2.5rem); color: #102f43; }
.sinjo-results { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,280px),1fr)); gap: 1.5rem; margin: 2rem 0; }
.sinjo-result { padding: 1.25rem; border: 1px solid #cbd5e1; border-radius: 6px; min-width: 0; }
.sinjo-result h2 { font-size: 1.3rem; }
.sinjo-result img { max-width: 100%; height: auto; margin: 1rem 0; }
.sinjo-search-form { max-width: 46rem; margin: 1rem 0; }
.sinjo-search-form label { display: block; font-weight: 600; margin-bottom: .5rem; }
.sinjo-search-row { display: flex; gap: .5rem; }
.sinjo-search-row input { min-width: 0; flex: 1; border: 1px solid #64748b; border-radius: 4px; padding: .65rem; }
.sinjo-inquiry { color: #23364a; scroll-margin-top: 8rem; }
.sinjo-inquiry p { font-size: .95rem; margin: 0 0 1rem; color: #334155; }
.sinjo-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.sinjo-inquiry label { display: block; font-size: .95rem; font-weight: 600; margin-bottom: .8rem; color: #23364a; }
.sinjo-inquiry .wpcf7-form-control-wrap { display: block; margin-top: .4rem; }
.sinjo-inquiry input:not([type=submit]), .sinjo-inquiry select, .sinjo-inquiry textarea { display: block; width: 100%; min-width: 0; min-height: 44px; border: 1px solid #64748b; border-radius: 4px; background: #fff; padding: .65rem; color: #102f43; font-size: 1rem; line-height: 1.4; }
.sinjo-inquiry textarea { min-height: 135px; max-height: 400px; resize: vertical; }
.sinjo-inquiry ::placeholder { color: #526174; opacity: 1; }
.sinjo-detailed-rfq { border: 1px solid #a5b7ac; border-radius: 4px; padding: 1rem; margin: 1rem 0; }
.sinjo-detailed-rfq summary { cursor: pointer; color: #005f2b; font-weight: 600; }
.sinjo-detailed-rfq[open] summary { margin-bottom: 1rem; }
.sinjo-honeypot { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.sinjo-product-inquiry { display: inline-block; padding: .65rem 0; min-height: 44px; font-weight: 600; }
.sinjo-map-placeholder { min-height: 220px; padding: 2rem; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1rem; background: #f1f5f9; border: 1px solid #cbd5e1; color: #334155; }
.sinjo-map-placeholder a { color: #005f2b; text-decoration: underline; }
.sinjo-development-feature { padding: clamp(3rem,7vw,6rem) 0; background: #f6faf7; }
.sinjo-development-feature > .container { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr); gap: clamp(2rem,5vw,5rem); align-items: center; }
.sinjo-development-media { margin: 0; min-width: 0; }
.sinjo-development-media img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 8px; box-shadow: 0 18px 50px rgba(16,47,67,.14); }
.sinjo-development-media figcaption { margin-top: .65rem; color: #526174; font-size: .85rem; }
.sinjo-development-copy { min-width: 0; }
.sinjo-eyebrow { margin: 0 0 .7rem; color: #006b30; font-size: .8rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.sinjo-development-copy h2 { margin: 0 0 1rem; color: #102f43; font-size: clamp(1.8rem,3.5vw,3rem); line-height: 1.12; }
.sinjo-development-copy > p:not(.sinjo-eyebrow) { max-width: 42rem; color: #334155; font-size: 1.05rem; line-height: 1.7; }
.sinjo-development-copy ul { display: grid; gap: .65rem; margin: 1.5rem 0 1.75rem; padding: 0; list-style: none; color: #23364a; }
.sinjo-development-copy li { position: relative; padding-left: 1.6rem; }
.sinjo-development-copy li::before { content: '✓'; position: absolute; left: 0; color: #006b30; font-weight: 700; }
.sinjo-inquiry-page { padding: var(--sinjo-section-space) 0; background: #f6faf7; }
.sinjo-inquiry-intro { max-width: 760px; margin: 0 auto 2rem; text-align: center; }
.sinjo-inquiry-intro h1 { margin: 0 0 1rem; color: var(--sinjo-ink); font-size: clamp(2rem, 5vw, 3.4rem); line-height: 1.1; }
.sinjo-inquiry-intro > p:last-child { max-width: 62ch; margin: 0 auto; color: #334155; font-size: 1.08rem; line-height: 1.7; }
.sinjo-inquiry-shell { max-width: 920px; margin: 0 auto; padding: clamp(1.25rem, 3vw, 2.5rem); border: 1px solid var(--sinjo-border); border-radius: var(--sinjo-radius); background: #fff; box-shadow: 0 12px 36px rgba(16,47,67,.08); }
.sinjo-footer-grid { display: grid; grid-template-columns: minmax(15rem, 1.4fr) repeat(4, minmax(10rem, 1fr)) minmax(12rem, 1.1fr); gap: 2rem; }
.sinjo-footer-grid .footer-link { min-width: 0; }
.sinjo-footer-grid .footer-menu { margin: 0; padding: 0; list-style: none; }
.sinjo-footer-grid .footer-menu a { color: #d8e1e5; text-decoration: none; }
.sinjo-footer-grid .footer-menu a:hover, .sinjo-footer-grid .footer-menu a:focus-visible { color: #a6f0bb; text-decoration: underline; text-underline-offset: .2em; }
.sinjo-footer-grid .footer-title { letter-spacing: .04em; }
.mobile_nav { overflow-y: auto; overscroll-behavior: contain; }
.mobile_nav[inert] { visibility: hidden; pointer-events: none; }
.mobile_nav.on { visibility: visible; }
.mobile_nav .sinjo-brand { color: #102f43; }
.mobile_nav .sinjo-wordmark { color: #102f43; }
.mobile_nav .sinjo-brand:hover { color: #102f43; }
.mobile_nav .close_menu { color: #334155; }
.mobile_nav .sub-menu { position: static; width: 100%; transform: none; }
.mobile_nav .sub-menu.expend { opacity: 1; visibility: visible; }
nav.lg-nav .menu-item-has-children:focus-within > .sub-menu { display: block; opacity: 1; visibility: visible; transform: none; }
@media(min-width:1280px) {
  nav.lg-nav .menu-item-has-children { position: relative; }
  nav.lg-nav .menu-item-has-children > .sub-menu {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 40;
    display: none;
    min-width: 15rem;
    margin: 0;
    padding: .45rem 0;
    background: rgba(16,47,67,.98);
    border-top: 3px solid #006b30;
    box-shadow: 0 14px 30px rgba(3,20,38,.28);
    opacity: 0;
    visibility: hidden;
    transform: translateY(.35rem);
    transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
  }
  nav.lg-nav .menu-item-has-children:hover > .sub-menu,
  nav.lg-nav .menu-item-has-children:focus-within > .sub-menu {
    display: block;
    opacity: 1;
    visibility: visible;
    transform: none;
  }
  nav.lg-nav .sub-menu li { display: block; }
  nav.lg-nav .sub-menu li a {
    padding: .7rem 1rem;
    color: #fff;
    white-space: nowrap;
    font-size: .95rem;
  }
  nav.lg-nav .sub-menu li a:hover,
  nav.lg-nav .sub-menu li a:focus-visible { background: rgba(0,107,48,.35); color: #a6f0bb; }
}
#main-header .current-menu-item > a { color: #a6f0bb !important; }
.mobile_nav .current-menu-item > a { color: #006b30 !important; }
.footer .current-menu-item > a { color: #a6f0bb !important; }
#scrollBtn { display: grid; place-items: center; min-width: 44px; min-height: 44px; color: #fff; background: #006b30; }
.single { min-width: 0; width: 100%; }
.single .entry-content img { max-width: 100%; height: auto; }
.top-header { background-color: #006b30 !important; }
#main-header .glink { color: #fff !important; }
.page-id-12 .elementor-icon-box-title, .page-id-12 .elementor-icon-box-title a { color: #006b30 !important; }
.page-id-12 .elementor-element-a78f078 .elementor-heading-title,
.page-id-12 .elementor-element-6040af5 .elementor-heading-title { color: #006b30 !important; }
.elementor-element-96c79af .elementor-heading-title { color: #006b30 !important; }
.elementor-element-ea44346 .elementor-heading-title,
.elementor-element-03dbc16 .elementor-heading-title,
.elementor-element-53cff9b .elementor-heading-title,
.elementor-element-c801157 .elementor-heading-title,
.elementor-233 .elementor-icon-box-description,
.elementor-233 .elementor-element-271db5c .elementor-heading-title { color: #006b30 !important; }
.elementor-233 p.elementor-heading-title,
.elementor-233 .elementor-element-d6c7449 .elementor-heading-title,
.elementor-233 .elementor-element-ede5008 .elementor-heading-title { color: #525252 !important; }
.comment-form { min-width: 0; max-width: 100%; }
.comment-form textarea, .comment-form input:not([type=checkbox]):not([type=radio]):not([type=submit]) { max-width: 100%; box-sizing: border-box; }
.comment-form textarea { width: 100%; }
.elementor-509 .eael-creative-button { max-width: 100%; white-space: normal !important; text-align: center; }
.elementor-509 .eael-creative-button span { white-space: normal !important; }
.elementor-509 .elementor-element-56a7295 .elementor-heading-title,
.elementor-509 .elementor-element-9830e54 .elementor-heading-title { color: #525252 !important; }
.elementor-icon-list-text { min-width: 0; overflow-wrap: anywhere; }
.depicter-1 { overflow: hidden; }
/* Keep the homepage focused on capability and development CTAs. These
   selectors target legacy Elementor sections by their stable widget IDs;
   the original posts and URLs remain available under Insights. */
body.home .elementor-element-1b086f0,
body.home .elementor-element-271c55f,
body.home .elementor-element-6bc9b37 { display: none !important; }

/* Unverified legacy market-share module: keep it out of the public layout
   until the figures are confirmed by the business owner. */
.elementor-element-4ab308c,
.elementor-element-6530d9a,
.elementor-element-3cb3c91,
.elementor-element-711ec05 { display: none !important; }

/* Legacy market-share bars have no confirmed source data; keep them out of
   the public experience until verified figures are available. */
.elementor-element-6530d9a,
.elementor-element-3cb3c91,
.elementor-element-711ec05 { display: none !important; }
.sinjo-legal-page { padding: 1rem 0 5rem; background: #fff; }
.sinjo-legal-content { max-width: 860px; margin: 0 auto; padding: 2rem 0; color: #243447; }
.sinjo-legal-content h1 { margin: 0 0 1.25rem; color: #0b2239; font-size: clamp(2rem, 5vw, 3.25rem); line-height: 1.1; }
.sinjo-legal-content h2 { margin: 2.25rem 0 .65rem; color: #0b2239; font-size: clamp(1.25rem, 3vw, 1.75rem); }
.sinjo-legal-content p { max-width: 72ch; line-height: 1.75; }
.sinjo-legal-content a { color: #006b30; text-decoration: underline; text-underline-offset: .15em; }
.sinjo-legal-intro { margin: 0; font-size: 1.1rem; }
.sinjo-legal-updated { margin-top: 3rem; color: #5d6b78; font-size: .9rem; }
.sinjo-capability-page { color: #23364a; }
.sinjo-capability-hero { padding: clamp(3.5rem, 8vw, 7rem) 0; background: linear-gradient(135deg, #f1f8f4 0%, #fff 70%); }
.sinjo-capability-hero > * { width: min(100% - 2rem, 860px); margin-inline: auto; }
.sinjo-capability-hero .sinjo-eyebrow, .sinjo-capability-hero h1, .sinjo-capability-hero > p:not(.sinjo-eyebrow), .sinjo-capability-hero .sinjo-actions { width: min(100% - 2rem, 860px); }
.sinjo-capability-hero h1 { margin: 0 0 1rem; color: var(--sinjo-ink); font-size: clamp(2.25rem, 6vw, 4.5rem); line-height: 1.04; letter-spacing: -.025em; }
.sinjo-capability-hero > p:not(.sinjo-eyebrow) { margin: 0 0 1.75rem; color: #334155; font-size: clamp(1.05rem, 2vw, 1.25rem); line-height: 1.7; }
.sinjo-capability-hero .sinjo-actions { margin-inline: auto; }
.sinjo-capability-section { width: min(100% - 2rem, var(--sinjo-container)); margin-inline: auto; padding: var(--sinjo-section-space) 0; }
.sinjo-capability-section + .sinjo-capability-section { border-top: 1px solid #e7eef0; }
.sinjo-capability-heading { max-width: 760px; margin-bottom: 2rem; }
.sinjo-capability-heading h2, .sinjo-capability-split h2, .sinjo-capability-process h2, .sinjo-capability-cta h2 { margin: 0 0 .8rem; color: var(--sinjo-ink); font-size: clamp(1.8rem, 4vw, 3rem); line-height: 1.12; }
.sinjo-capability-heading > p:last-child { margin: 0; color: #526174; line-height: 1.7; }
.sinjo-capability-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.sinjo-capability-card { display: flex; min-width: 0; flex-direction: column; padding: 1.4rem; border: 1px solid var(--sinjo-border); border-radius: var(--sinjo-radius); background: #fff; }
.sinjo-capability-card h3 { margin: 0 0 .7rem; color: var(--sinjo-ink); font-size: 1.2rem; line-height: 1.25; }
.sinjo-capability-card p { margin: 0; color: #526174; line-height: 1.6; }
.sinjo-capability-card .sinjo-product-inquiry { margin-top: auto; padding-top: 1.2rem; }
.sinjo-capability-split { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(2rem, 8vw, 7rem); }
.sinjo-capability-list { display: grid; gap: .7rem; margin: 0; padding: 0; list-style: none; }
.sinjo-capability-list li { position: relative; padding: .75rem 1rem .75rem 2rem; border-bottom: 1px solid #e7eef0; color: #334155; }
.sinjo-capability-list li::before { position: absolute; left: .25rem; color: var(--sinjo-green); content: '✓'; font-weight: 700; }
.sinjo-application-list { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .75rem; margin: 0; padding: 0; list-style: none; }
.sinjo-application-list li { min-height: 4rem; display: flex; align-items: center; padding: 1rem; border-left: 3px solid var(--sinjo-green); background: #f6faf7; color: var(--sinjo-ink); font-weight: 600; }
.sinjo-capability-featured { background: #f8fbfa; }
.sinjo-development-cards { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.sinjo-capability-process { padding: var(--sinjo-section-space) max(1rem, calc((100% - var(--sinjo-container)) / 2)); background: var(--sinjo-ink); color: #fff; }
.sinjo-capability-process .sinjo-capability-heading { margin-bottom: 2.2rem; }
.sinjo-capability-process .sinjo-eyebrow { color: #a6f0bb; }
.sinjo-capability-process h2 { color: #fff; }
.sinjo-capability-process ol { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1rem; max-width: var(--sinjo-container); margin: 0 auto; padding: 0; list-style: none; counter-reset: sinjo-step; }
.sinjo-capability-process li { counter-increment: sinjo-step; min-width: 0; padding: 1.2rem; border-top: 2px solid #a6f0bb; background: rgba(255,255,255,.06); }
.sinjo-capability-process li::before { display: block; margin-bottom: 1rem; color: #a6f0bb; content: '0' counter(sinjo-step); font-size: .8rem; font-weight: 700; letter-spacing: .1em; }
.sinjo-capability-process strong { display: block; margin-bottom: .4rem; color: #fff; }
.sinjo-capability-process span { display: block; color: #d8e1e5; font-size: .92rem; line-height: 1.5; }
.sinjo-capability-cta { display: flex; width: min(100% - 2rem, var(--sinjo-container)); margin: 0 auto; align-items: center; justify-content: space-between; gap: 2rem; padding: clamp(2rem, 5vw, 4rem) 0; }
.sinjo-capability-cta > div:first-child { max-width: 700px; }
.sinjo-capability-cta p:last-child { margin: 0; color: #526174; line-height: 1.7; }
@media(max-width:1023px) { .sinjo-capability-cards, .sinjo-development-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } .sinjo-application-list { grid-template-columns: repeat(3, minmax(0, 1fr)); } .sinjo-capability-process ol { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media(max-width:767px) { .sinjo-capability-hero { padding: 3.5rem 0; } .sinjo-capability-split, .sinjo-capability-cta { grid-template-columns: 1fr; display: grid; } .sinjo-capability-cards, .sinjo-development-cards, .sinjo-application-list, .sinjo-capability-process ol { grid-template-columns: 1fr; } .sinjo-capability-cta .sinjo-actions { width: 100%; } }
.sinjo-content-page .sinjo-breadcrumbs { padding-top: 1rem; padding-bottom: 0; }
.sinjo-content-link-cards .sinjo-capability-card { min-height: 12rem; }
.sinjo-content-link-cards .sinjo-product-inquiry { color: var(--sinjo-green); font-weight: 700; text-decoration: underline; text-underline-offset: .18em; }
.sinjo-content-page .sinjo-capability-section p { max-width: 78ch; }
@media(min-width:768px) and (max-width:1024px) {
  .depicter-1 h2[data-type=text] { font-size: 42px !important; line-height: 1.15 !important; }
  .depicter-1 p[data-type=text] { font-size: 18px !important; line-height: 1.5 !important; }
  .elementor-8 .elementor-element-19e3219 > .e-con-inner,
  .elementor-8 .elementor-element-44dcfd8 { flex-direction: column !important; }
  .elementor-8 .elementor-element-19e3219 > .e-con-inner > .e-con,
  .elementor-8 .elementor-element-44dcfd8 > .e-con { width: 100% !important; }
  .elementor-8 .elementor-element-44dcfd8 .hover-card .e-con { width: 100% !important; min-width: 0; flex-direction: column !important; }
}
@media(max-width:1599px) { .header-info { display: none !important; } }
@media(max-width:1279px) {
  nav.lg-nav { display: none !important; }
  button.menu { display: flex !important; }
  .mobile_nav { display: block !important; }
  .header-main .lan { display: block !important; margin-left: auto; }
  .header-main .logo { min-width: 0; }
  .sinjo-home-intro > .container { align-items: flex-start; flex-direction: column; }
}
@media(max-width:575px) {
  .sinjo-form-grid { grid-template-columns: 1fr; }
  .sinjo-actions { width: 100%; }
  .sinjo-actions .sinjo-button { flex: 1; padding: .65rem .5rem; font-size: .875rem; }
  .sinjo-home-intro { padding: 1.2rem 0; }
  .sinjo-home-intro p { font-size: .95rem; }
  .sinjo-brand { gap: .5rem; }
  .sinjo-brand-mark { width: 36px; height: 34px; }
  .sinjo-wordmark { font-size: 1rem; }
}
@media(max-width:767px) {
  .sinjo-development-feature > .container { grid-template-columns: 1fr; gap: 2rem; }
  .sinjo-development-copy h2 { font-size: clamp(1.7rem,8vw,2.3rem); }
}
@media(max-width:1199px) { .sinjo-footer-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media(max-width:767px) { .sinjo-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem 1rem; } .sinjo-footer-brand { grid-column: 1 / -1; } }
@media(max-width:479px) { .sinjo-footer-grid { grid-template-columns: 1fr; } .sinjo-footer-brand { grid-column: auto; } }
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior: auto !important; }
  .mobile_nav, #main-header { transition: none !important; }
  .elementor-invisible { visibility: visible !important; }
  .elementor-element.animated { animation: none !important; }
}

/* Second-pass visual system: one container, one header hierarchy and one
   responsive grid for the public capability experience. */
:root { --sinjo-container: 1320px; --sinjo-section-space: clamp(3.5rem, 6vw, 6.5rem); --sinjo-card-radius: 6px; }
.container { width: min(100% - 2.5rem, var(--sinjo-container)); margin-inline: auto; }
body { overflow-x: hidden; }
#main-header { z-index: 60; }
#main-header .top-header { min-height: 2.5rem; }
.sinjo-language-switcher { display: flex; align-items: center; min-height: 2rem; }
.sinjo-language-switcher .glink { margin: 0 .25rem; font-size: .84rem; font-weight: 700; text-decoration: none; }
.header-main > .container > .flex { gap: 1rem; min-height: 4.5rem; }
.header-main .logo { min-width: 10rem; flex: 0 0 auto; }
.header-main nav.lg-nav { min-width: 0; border-left: 0; }
.header-main nav.lg-nav > .container { width: auto; max-width: none; margin: 0; padding: 0; }
.sinjo-menu-overlay { position: fixed; inset: 0; z-index: 45; background: rgba(7, 25, 42, .58); }
.sinjo-text-link { display: inline-flex; align-items: center; min-height: 44px; color: var(--sinjo-green); font-size: .95rem; font-weight: 700; text-decoration: underline; text-underline-offset: .18em; }
.sinjo-text-link:hover, .sinjo-text-link:focus-visible { color: var(--sinjo-green-dark); }
.sinjo-development-feature .sinjo-actions { align-items: center; }
.sinjo-development-feature .sinjo-actions .sinjo-text-link { flex-basis: 100%; }

/* Keep capability cards legible and visually consistent with the restrained
   navy/green palette while the original Elementor content remains intact. */
.elementor-8 .eael-call-to-action.cta-basic { min-height: 100%; padding: clamp(1.25rem, 2vw, 1.75rem); border-radius: var(--sinjo-card-radius); background: rgba(255,255,255,.96); }
.elementor-8 .eael-call-to-action.cta-basic .title { margin-bottom: .65rem; color: var(--sinjo-ink); font-size: clamp(1.15rem, 1.5vw, 1.3rem); line-height: 1.2; }
.elementor-8 .eael-call-to-action.cta-basic p { margin-bottom: 1rem; color: #334155; font-size: 1rem; line-height: 1.6; }
.elementor-8 .eael-call-to-action.cta-basic .cta-button { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; padding: .65rem 1rem; border: 2px solid var(--sinjo-green); border-radius: 4px; background: var(--sinjo-green); color: #fff; font-size: .9rem; font-weight: 700; text-decoration: none; }
.elementor-8 .eael-call-to-action.cta-basic .cta-button:hover, .elementor-8 .eael-call-to-action.cta-basic .cta-button:focus-visible { background: var(--sinjo-green-dark); }

/* Compact desktop dropdowns: bounded, readable and never a full-screen
   overlay. */
@media(min-width:1280px) {
  .header-main > .container > .flex { gap: 1.25rem; }
  nav.lg-nav > .container > ul { align-items: center; justify-content: center; gap: .1rem; }
  nav.lg-nav > .container > ul > li > a { padding: .75rem .65rem; font-size: .9rem; line-height: 1.25; }
  nav.lg-nav .menu-item-has-children > .sub-menu { min-width: 18rem; max-width: min(24rem, calc(100vw - 3rem)); padding: .5rem; border-top: 3px solid var(--sinjo-green); border-radius: 0 0 var(--sinjo-card-radius) var(--sinjo-card-radius); background: #fff; box-shadow: 0 16px 36px rgba(3,20,38,.2); }
  nav.lg-nav .sub-menu li a { display: block; padding: .62rem .75rem; color: var(--sinjo-ink); font-size: .95rem; line-height: 1.35; text-transform: none; white-space: normal; }
  nav.lg-nav .sub-menu li a:hover, nav.lg-nav .sub-menu li a:focus-visible { background: #f0f7f3; color: var(--sinjo-green-dark); }
}

/* Drawer layout and contact details for mobile and tablet widths. */
.mobile_nav { left: -100%; width: min(100%, 26rem) !important; padding: 1.25rem 1.25rem 2rem; border-right: 1px solid #d5dee2; background: #fff !important; box-shadow: 14px 0 36px rgba(3,20,38,.18); }
.mobile_nav.on { left: 0; }
.mobile_nav .close_menu { min-width: 44px; min-height: 44px; }
.mobile_nav nav { margin: 1.25rem 0; }
.mobile_nav ul li a { min-height: 44px; padding: .72rem 2.8rem .72rem .25rem; color: var(--sinjo-ink); font-size: 1rem; line-height: 1.4; }
.mobile_nav .expend_menu { top: 0; right: 0; width: 2.75rem; height: 2.75rem; border-left: 1px solid var(--sinjo-border); color: var(--sinjo-green); background: #f6faf7; }
.sinjo-mobile-cta { margin-top: .75rem; }
.sinjo-mobile-contact { display: grid; gap: .35rem; margin-top: 1.35rem; padding-top: 1.15rem; border-top: 1px solid var(--sinjo-border); }
.sinjo-mobile-contact a { display: inline-flex; min-height: 44px; align-items: center; color: var(--sinjo-ink); font-size: .95rem; text-decoration: underline; text-underline-offset: .15em; }
.sinjo-mobile-language-switcher { display: flex; align-items: center; gap: .5rem; min-height: 44px; }
.sinjo-mobile-language-switcher .glink { color: var(--sinjo-green); font-weight: 700; text-decoration: none; }
.sinjo-mobile-social { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1rem; padding: 0; list-style: none; }
.sinjo-mobile-social a { display: inline-flex; min-height: 44px; align-items: center; gap: .4rem; color: var(--sinjo-green); font-size: .9rem; font-weight: 700; text-decoration: none; }

/* Footer uses all available desktop space and becomes a single readable
   column on phones. */
.sinjo-footer-grid { grid-template-columns: minmax(0, 1.45fr) repeat(5, minmax(0, 1fr)); gap: 1.5rem; }
.sinjo-footer-brand p { max-width: 25rem; font-size: 1rem; line-height: 1.65; }
.sinjo-footer-grid .footer-menu a { display: inline-flex; min-height: 44px; align-items: center; padding: .25rem 0; font-size: .95rem; line-height: 1.45; }
.footer-title { font-size: 1.05rem !important; }

@media(min-width:1024px) { .container { width: min(100% - 4rem, var(--sinjo-container)); } }
@media(max-width:1279px) {
  .header-main .sinjo-header-cta { display: none !important; }
  .header-main > .container > .flex { min-height: 4rem; }
  .header-main .logo { min-width: 0; }
  nav.lg-nav { display: none !important; }
  button.menu { display: flex !important; margin-left: auto; }
}
@media(max-width:767px) {
  .header-main > .container > .flex { min-height: 3.75rem; padding-top: .5rem; padding-bottom: .5rem; }
  .sinjo-brand-mark { width: 36px; height: 34px; }
  .sinjo-wordmark { font-size: 1rem; }
  .sinjo-home-intro { padding: 2rem 0; }
  .sinjo-home-intro h1 { font-size: clamp(2rem, 8vw, 2.4rem); }
  .sinjo-home-intro .sinjo-actions, .sinjo-development-feature .sinjo-actions { align-items: stretch; flex-direction: column; }
  .sinjo-home-intro .sinjo-actions .sinjo-button, .sinjo-development-feature .sinjo-actions .sinjo-button { width: 100%; }
  .sinjo-development-feature .sinjo-actions .sinjo-text-link { align-self: flex-start; flex-basis: auto; }
  .sinjo-footer-grid { grid-template-columns: 1fr; gap: 1rem; }
  .sinjo-footer-grid .footer-link { padding-bottom: .5rem; border-bottom: 1px solid rgba(216,225,229,.18); }
  .sinjo-footer-grid .footer-title { margin-bottom: .25rem !important; }
}
@media(max-width:479px) {
  .container { width: min(100% - 2.25rem, var(--sinjo-container)); }
  .mobile_nav { width: 100% !important; }
  .sinjo-actions .sinjo-button { font-size: .95rem; }
}

/* Native homepage layout. These rules reuse the capability design language
   while keeping the front page independent from Elementor markup. */
.sinjo-home-native { background: #fff; color: #23364a; }
.sinjo-home-hero { padding: clamp(4rem, 9vw, 8rem) 0 clamp(3.5rem, 7vw, 6.5rem); background: linear-gradient(115deg, #071e34 0%, #123a54 62%, #0d5b4d 100%); color: #fff; }
.sinjo-home-hero .container { max-width: 1060px; }
.sinjo-home-hero .sinjo-eyebrow { color: #b9e5cf; }
.sinjo-home-hero h1 { max-width: 16ch; margin: 0 0 1.25rem; color: #fff; font-size: clamp(2.4rem, 6vw, 5.5rem); line-height: 1.03; letter-spacing: -.025em; }
.sinjo-home-hero > .container > p:not(.sinjo-eyebrow) { max-width: 50rem; margin: 0 0 2rem; color: #e4edf2; font-size: clamp(1.08rem, 2vw, 1.35rem); line-height: 1.65; }
.sinjo-home-hero .sinjo-button-secondary { border-color: rgba(255,255,255,.72); background: transparent; color: #fff; }
.sinjo-home-hero .sinjo-button-secondary:hover, .sinjo-home-hero .sinjo-button-secondary:focus-visible { border-color: #fff; background: rgba(255,255,255,.12); color: #fff; }
.sinjo-home-about-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(2rem, 7vw, 7rem); align-items: start; }
.sinjo-home-about h2 { margin: 0; color: var(--sinjo-ink); font-size: clamp(2rem, 4vw, 3.2rem); line-height: 1.1; }
.sinjo-home-about-grid > div:last-child > p { max-width: 72ch; margin: 0 0 1.5rem; color: #526174; font-size: 1.05rem; line-height: 1.75; }
.sinjo-home-capability-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sinjo-home-capabilities .sinjo-capability-card { min-height: 100%; overflow: hidden; padding: 0 1.4rem 1.4rem; }
.sinjo-home-capabilities .sinjo-capability-card img { display: block; width: calc(100% + 2.8rem); height: auto; aspect-ratio: 3 / 2; margin: 0 -1.4rem 1.25rem; object-fit: cover; }
.sinjo-home-capabilities .sinjo-capability-card h3 { margin-bottom: .65rem; }
.sinjo-home-process { margin-top: 0; }
.sinjo-home-applications .sinjo-application-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sinjo-home-text-cards .sinjo-capability-card { min-height: 9rem; }
.sinjo-home-brief { margin-bottom: var(--sinjo-section-space); padding-inline: clamp(1.25rem, 4vw, 3rem); border: 1px solid #cfe1d6; background: #f0f7f3; }
@media(max-width:1023px) {
  .sinjo-home-capability-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media(max-width:767px) {
  .sinjo-home-hero { padding: 3.5rem 0 4rem; }
  .sinjo-home-hero h1 { max-width: 18ch; font-size: clamp(2.35rem, 11vw, 3.5rem); }
  .sinjo-home-hero .sinjo-actions { align-items: stretch; flex-direction: column; }
  .sinjo-home-hero .sinjo-actions .sinjo-button { width: 100%; }
  .sinjo-home-about-grid { grid-template-columns: 1fr; gap: 1.25rem; }
  .sinjo-home-capability-cards, .sinjo-home-applications .sinjo-application-list { grid-template-columns: 1fr; }
  .sinjo-home-brief { padding-inline: 1.25rem; }
}
