/* Synergy Spray — Divi 5 adapter + site components (built on Concept 02, ss-concept.css).
   body gets class "ss". Divi wrappers are neutralised so sections/rows behave like the concept's .section/.wrap. */

/* ---------- Divi adapter ---------- */
.ss #page-container,.ss #et-main-area,.ss #main-content{background:var(--bg)}
.ss .et_pb_section.ss-sec{padding:76px 0!important;margin:0!important;background-color:var(--bg)}
.ss .et_pb_section.ss-sec.soft{background:var(--soft)!important;border-block:1px solid var(--line)}
.ss .et_pb_row.ss-row{width:calc(100% - 96px)!important;max-width:1240px!important;margin:0 auto!important;padding:0!important;display:flex;gap:48px;align-items:flex-start}
.ss .et_pb_row.ss-row+.et_pb_row.ss-row{margin-top:8px!important}
.ss .et_pb_row.ss-row:after{display:none}
.ss .et_pb_column.ss-col{margin:0!important;padding:0!important;min-width:0;float:none}
.ss .et_pb_column_4_4.ss-col{flex:1 1 100%}
.ss .et_pb_column_1_2.ss-col{flex:1 1 50%}
.ss .et_pb_column_1_3.ss-col{flex:1 1 33.33%}
.ss .et_pb_column_2_3.ss-col{flex:2 1 66.67%}
.ss .et_pb_column_3_5.ss-col{flex:3 1 60%}
.ss .et_pb_column_2_5.ss-col{flex:2 1 40%}
.ss .et_pb_module{margin-bottom:0!important}
.ss .et_pb_module+.et_pb_module{margin-top:20px!important}
.ss .et_pb_text_inner>*:first-child{margin-top:0}
.ss .et_pb_text,.ss .et_pb_code{color:var(--ink);font-size:16px;line-height:1.65}
.ss .et_pb_image img,.ss .ss-image img{width:100%;height:auto;border-radius:5px;display:block}
.ss .ss-sec h2{color:var(--ink)}
@media (max-width:980px){
  .ss .et_pb_row.ss-row{flex-wrap:wrap;gap:28px;width:calc(100% - 48px)!important}
  .ss .et_pb_row.ss-row>.ss-col{flex:1 1 100%!important;width:100%!important}
  .ss .et_pb_section.ss-sec{padding:52px 0!important}
}
@media (max-width:600px){.ss .et_pb_row.ss-row{width:calc(100% - 32px)!important}}

/* ---------- prose (preserved content) ---------- */
.ss .prose{max-width:860px}
.ss .prose.wide{max-width:none}
.ss .prose h2{margin-bottom:22px}
.ss .prose h3{font-size:21px;margin:28px 0 10px;color:var(--ink)}
.ss .prose p{color:#3f5463;margin:0 0 14px}
.ss .prose p+p{margin-top:0}
.ss .prose ul:not(.points),.ss .prose ol{margin:0 0 16px 20px;padding:0;color:#3f5463}
.ss .prose li{margin:6px 0}
.ss .prose strong{color:var(--ink)}
.ss .prose a:not(.btn):not(.card):not(.chip):not(.link){color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.ss .prose>.grid3,.ss .prose>.grid2,.ss .prose>.grid4,.ss .prose>.table-wrap,.ss .prose>.video-embed{margin:24px 0}

/* uniform point lists */
.ss ul.points{list-style:none;margin:16px 0 20px;padding:0;display:grid;gap:10px}
.ss ul.points.points-2{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px}
.ss ul.points li{position:relative;padding:12px 14px 12px 42px;margin:0;background:var(--card);border:1px solid var(--line);border-radius:5px;color:#3f5463;font-size:15px;line-height:1.55}
.ss ul.points li:before{content:'';position:absolute;left:14px;top:15px;width:16px;height:16px;border-radius:50%;background:var(--blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='white' stroke-width='2'/%3E%3C/svg%3E") center/12px no-repeat}
.ss ul.points li strong{color:var(--ink)}
.ss .soft ul.points li{background:#fff}

/* tables */
.ss .table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:5px;background:var(--card)}
.ss .table-wrap table{width:100%;border-collapse:collapse;font-size:14px;min-width:560px}
.ss .table-wrap th{background:var(--tint);color:var(--ink);font-weight:650;text-align:left}
.ss .table-wrap th,.ss .table-wrap td{padding:10px 14px;border-bottom:1px solid var(--line);vertical-align:top;color:var(--ink)}
.ss .table-wrap caption{caption-side:top;text-align:left;padding:12px 14px;font-weight:650;color:var(--ink)}

/* figures, embeds, gallery */
.ss .ss-figure{margin:20px 0}.ss .ss-figure img{border-radius:5px}
.ss .video-embed,.ss .map-embed{position:relative;aspect-ratio:16/9;border-radius:5px;overflow:hidden;background:#0b2d42}
.ss .map-embed{aspect-ratio:21/9}
.ss .video-embed iframe,.ss .map-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.ss .gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.ss .gallery-grid figure{margin:0}.ss .gallery-grid img{aspect-ratio:4/3;object-fit:cover;border-radius:4px}

/* page hero (inner pages) */
.ss .et_pb_section.ss-page-hero{padding:36px 0 64px!important;background:linear-gradient(180deg,var(--tint),var(--bg))!important;border-bottom:1px solid var(--line)}
.ss .ss-page-hero .ss-row{align-items:center}
.ss .ss-page-hero h1{font-size:clamp(34px,4vw,54px);color:var(--ink);margin:4px 0 0;max-width:760px}
.ss .ss-page-hero .lead{margin-top:20px;color:#3f5463;font-size:17px;max-width:680px}
.ss .ss-page-hero .lead p{color:#3f5463}
.ss .ss-page-hero .actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.ss .ss-page-hero .hero-photo img{aspect-ratio:4/3;object-fit:cover;box-shadow:var(--shadow)}
.ss .ss-crumbs{margin-bottom:22px!important}
.ss .breadcrumbs{font-size:13px;color:var(--muted);display:flex;flex-wrap:wrap;gap:8px}
.ss .breadcrumbs a{color:var(--muted)}.ss .breadcrumbs a:hover{color:var(--blue)}
.ss .breadcrumbs [aria-current]{color:var(--ink);font-weight:600}

/* buttons: our anchors and Divi button modules */
.ss .btn.primary,.ss .ss-btnwrap.primary .et_pb_button,.ss a.et_pb_button.primary{background:var(--accent);border-color:var(--accent);color:#fff}
.ss .btn.primary:hover,.ss .ss-btnwrap.primary .et_pb_button:hover,.ss a.et_pb_button.primary:hover{background:var(--red-hover);color:#fff}
.ss .ss-btnwrap .et_pb_button,.ss a.et_pb_button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px!important;border:1px solid var(--line);border-radius:4px;font-size:13px!important;font-weight:650;line-height:1.4;color:var(--ink);background:transparent}
.ss .ss-btnwrap .et_pb_button:after,.ss a.et_pb_button:after{display:none!important}
.ss .btn .icon,.ss .link .icon{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2}
.ss .link{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:650;color:var(--blue)}

/* cards */
.ss .product-card .product-media{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;background:#f2f6f8;border-bottom:1px solid var(--line)}
.ss .product-card .product-media img{width:100%;height:100%;object-fit:contain;padding:14px}
.ss .product-card .ph{font:600 11px/1.4 'Courier New',monospace;color:var(--muted)}
.ss .product-card h3{font-size:18px}
.ss .product-card .card-meta{flex-wrap:wrap}
.ss .quote-link{color:var(--accent)}
.ss .badge{position:absolute;top:12px;left:12px;z-index:1;background:#fff;border:1px solid var(--line);border-radius:3px;padding:3px 8px;font:600 10px/1.4 'Courier New',monospace;color:var(--ink)}
.ss .topic-card h3{font-size:19px;margin-top:0}
.ss .topic-card p{color:#3f5463}
.ss .link-card{display:block}.ss .link-card h3,.ss .link-card h4{font-size:18px;margin:0 0 14px;color:var(--ink)}
.ss .compact-card h3{font-size:17px;margin:6px 0 12px}
.ss .kicker{font:650 10px/1.4 'Courier New',monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.ss .chiprow{display:flex;flex-wrap:wrap;gap:8px}
.ss .chip{border:1px solid var(--line);border-radius:999px;padding:6px 13px;font-size:13px;background:var(--card)}
.ss .grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.ss .grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}

/* spray pattern */
.ss .pattern-wrap{display:grid;gap:24px}
.ss .pattern-wrap.multi{grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr))}
.ss .pattern-figure{margin:0;background:#fff;border:1px solid var(--line);border-radius:5px;padding:14px}
.ss .pattern-figure svg{width:100%;height:auto;display:block}
.ss .pattern-figure figcaption{margin-top:10px;font-size:14px;color:#3f5463}
.ss .pattern-figure figcaption strong{color:var(--ink)}
.ss .table-note{font-size:13px;color:var(--muted);background:var(--tint);border-left:3px solid var(--blue);padding:12px 16px;margin-top:4px}
.ss .table-note a{color:var(--blue);text-decoration:underline}

/* FAQ: Divi accordion + preview details */
.ss .ss-faq .et_pb_toggle,.ss .ss-faq details{border:0!important;border-bottom:1px solid var(--line)!important;background:transparent!important;padding:18px 0!important;margin:0!important}
.ss .ss-faq .et_pb_toggle_title,.ss .ss-faq summary{font-size:17px!important;font-weight:650;color:var(--ink)!important;cursor:pointer;list-style:none;padding-right:28px;position:relative}
.ss .ss-faq summary::-webkit-details-marker{display:none}
.ss .ss-faq summary:after{content:'+';position:absolute;right:0;top:-2px;font-size:22px;color:var(--blue)}
.ss .ss-faq details[open] summary:after{content:'−'}
.ss .ss-faq .et_pb_toggle_title:before{color:var(--blue)!important}
.ss .ss-faq .et_pb_toggle_content{padding-top:12px;color:#3f5463}
.ss .ss-faq .et_pb_toggle_content p{color:#3f5463}
.ss .faq-row{align-items:flex-start}

/* closing CTA (dark): explicit light text so global heading colours cannot override */
.ss .et_pb_section.ss-closing{background:#0b2d42!important;padding:56px 0!important;border:0}
.ss .ss-closing h2,.ss .ss-closing .et_pb_text h2{color:#fff!important;font-size:32px}
.ss .ss-closing p,.ss .ss-closing .et_pb_text p{color:#c6d6e0!important;margin-top:12px;font-size:15px}
.ss .ss-closing .ss-row{align-items:center}
.ss .closing-actions{display:flex;flex-direction:column;gap:12px;align-items:stretch}
.ss .closing-actions .et_pb_module+.et_pb_module{margin-top:0!important}
.ss .ss-closing .ss-btnwrap:not(.primary) .et_pb_button,.ss .ss-closing .btn:not(.primary){color:#fff!important;border-color:#5f7e91}
.ss .ss-closing .ss-btnwrap .et_pb_button{width:100%}

/* dark hero (home) + navy sections: force light text */
.ss .et_pb_section.hero{background:#092536!important;padding:0!important}
.ss .hero h1,.ss .hero .et_pb_text h1{color:#fff!important}
.ss .hero p,.ss .hero .et_pb_text p{color:#c1d1db!important}
.ss .navy,.ss .et_pb_section.navy{background:#092536!important;color:#fff}
.ss .navy h2,.ss .navy h3{color:#fff!important}.ss .navy p{color:#c1d1db!important}

/* forms (WPForms) */
.ss .wpforms-container input,.ss .wpforms-container textarea,.ss .wpforms-container select{border:1px solid var(--line)!important;border-radius:4px!important;padding:10px 12px!important;font-size:15px!important}
.ss .wpforms-container button[type=submit]{background:var(--accent)!important;color:#fff!important;border:0!important;border-radius:4px!important;padding:12px 22px!important;font-weight:650}
.ss .searchbox{display:flex;gap:10px;max-width:560px}.ss .searchbox input{flex:1;border:1px solid var(--line);border-radius:4px;padding:12px}

/* responsive grids */
@media (max-width:980px){.ss .grid3,.ss .grid4,.ss .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ss ul.points.points-2{grid-template-columns:1fr}}
@media (max-width:600px){.ss .grid3,.ss .grid2,.ss .grid4{grid-template-columns:1fr}.ss .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ss .section-head{flex-direction:column;align-items:flex-start}}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}

/* ---------- header / footer additions ---------- */
.ss .site-header{position:sticky;top:0;z-index:999}
.admin-bar.ss .site-header{top:32px}
.ss .nav>a[aria-current],.ss .nav>a:hover,.ss .nav>button[aria-expanded=true]{color:var(--blue)}
.ss .nav>button{display:inline-flex;align-items:center;gap:4px;color:var(--ink)}
.ss .nav>a{color:var(--ink)}
.ss .mega{left:0;right:0;top:100%;z-index:998}
.ss .mega-grid.cols-1{grid-template-columns:1fr}.ss .mega-grid.cols-2{grid-template-columns:1fr 1fr}
.ss .mega-grid.cols-3{grid-template-columns:repeat(3,1fr)}.ss .mega-grid.cols-4{grid-template-columns:1fr 1fr 1fr 1.1fr}
.ss .mega h3{font-size:12px;font:650 11px/1.4 'Courier New',monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.ss .mega a{color:var(--ink)}.ss .mega a:hover{color:var(--blue)}
.ss .mega .mega-note a.link{color:var(--blue)}
.ss .mega-all{margin-top:18px}
.ss .mobile-menu details{border-bottom:1px solid var(--line)}
.ss .mobile-menu summary{padding:14px 4px;font-weight:650;cursor:pointer}
.ss .mobile-menu details a{padding:10px 16px;border:0;font-size:14px}
.ss .mobile-menu .btn{margin-top:16px;display:flex;color:#fff}
@media (max-width:1100px){.ss .nav{display:none}.ss .mobile-toggle{display:inline-grid!important}}
@media (max-width:600px){.ss .header-actions>.btn.primary{display:none}}
.ss .footer .address{font-style:normal;font-size:13px;line-height:1.6;color:var(--muted);margin-top:16px}
.ss .footer .address strong{color:var(--ink);display:block}
.ss .footer-links a{color:var(--muted)}.ss .footer-links a:hover{color:var(--blue)}
.ss .footer .contact-links .btn{color:#fff;margin-bottom:6px}
.ss .footer .contact-links strong{color:var(--blue);font-size:14px}
.ss .footer-bottom .legal a{color:var(--muted)}
@media (max-width:700px){.ss .footer-grid{grid-template-columns:1fr!important}.ss .footer-bottom{flex-direction:column}}
/* Divi footer layout version: 4 text modules in an ss-footer section */
.ss .et_pb_section.ss-footer{background:var(--soft)!important;border-top:1px solid var(--line);padding:56px 0 20px!important}
.ss .ss-footer h3{font-size:14px;margin-bottom:18px;color:var(--ink)}
.ss .ss-footer p{font-size:13px;max-width:260px;margin-top:12px}
.ss .pattern-row{align-items:center}
.ss .pattern-copy h3{font-size:20px;margin:18px 0 8px;color:var(--ink)}
.ss .pattern-copy p{color:#3f5463;margin-bottom:14px}
.ss .pattern-links{display:flex;flex-direction:column;gap:8px}
.ss .pattern-wrap.multi .table-note,.ss .pattern-wrap.multi .pattern-links{grid-column:1/-1}
.ss .pattern-wrap.multi .pattern-links{flex-direction:row;gap:24px;flex-wrap:wrap}
.ss .pattern-grid{display:grid;gap:20px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:16px}
@media (max-width:800px){.ss .pattern-grid{grid-template-columns:1fr}}

/* ---------- homepage & hubs ---------- */
.ss .et_pb_section.hero .ss-row{align-items:stretch;gap:0}
.ss .hero .hero-copy{padding:72px 40px 72px 0}
.ss .hero .hero-copy h1{font-size:clamp(40px,4.4vw,64px);margin-top:6px}
.ss .hero .actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.ss .hero .btn.ghost{color:#fff;border-color:#5f7e91}.ss .hero .btn.ghost:hover{background:#ffffff14;color:#fff}
.ss .hero .hero-art{height:100%}
.ss .hero .hero-art img{height:100%;min-height:520px;object-fit:cover;border-radius:0}
.ss .et_pb_section.ss-routes{padding:0!important;border-bottom:1px solid var(--line)}
.ss .route-strip{display:grid;grid-template-columns:repeat(4,1fr)}
.ss .route-strip a{display:flex;gap:14px;align-items:center;padding:24px 20px;border-right:1px solid var(--line);color:var(--ink)}
.ss .route-strip a:last-child{border-right:0}
.ss .route-strip small{display:block;font-size:12px;color:var(--muted)}.ss .route-strip strong{font-size:15px}
.ss .route-strip .icon{width:26px;height:26px;fill:none;stroke:var(--blue);stroke-width:1.6;flex:none}
.ss .section-head-wrap .section-head{margin-bottom:28px}
.ss .pattern-media{background:#fff!important;aspect-ratio:auto!important;padding:10px;display:block;border-bottom:1px solid var(--line)}
.ss .pattern-media svg{width:100%;height:auto;display:block}
.ss .product-media.photo{display:block;aspect-ratio:16/10;background:#e9eff3;border-bottom:1px solid var(--line);overflow:hidden}
.ss .product-media.photo img{width:100%;height:100%;object-fit:cover}
.ss .notice{margin-top:24px;background:var(--tint);border-left:3px solid var(--blue);padding:14px 18px;font-size:14px;color:var(--ink)}
.ss .notice a{color:var(--blue);text-decoration:underline}
.ss p.more{margin-top:24px}
.ss .step-list{list-style:none;margin:26px 0;padding:0;display:grid;gap:0}
.ss .step-list li{display:flex;gap:18px;padding:16px 0;border-bottom:1px solid var(--line)}
.ss .step-list .n{font:650 12px/1.6 'Courier New',monospace;color:var(--blue)}
.ss .step-list strong{color:var(--ink);font-size:16px}.ss .step-list p{margin:4px 0 0;font-size:14px}
.ss .turnkey{background:var(--soft);border:1px solid var(--line);border-radius:5px;padding:28px}
.ss .turnkey h3{margin-bottom:14px}.ss .turnkey p{color:#3f5463;margin-bottom:12px}
.ss .chiprow.big .chip{padding:10px 16px;font-size:14px;color:var(--ink)}
.ss .chiprow.big .chip:hover{border-color:var(--blue);color:var(--blue)}
.ss .card .card-body p{color:#3f5463}
.ss .pattern-overview{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-top:14px}
.ss .pattern-chip{display:flex;flex-direction:column;gap:6px;border:1px solid var(--line);border-radius:5px;padding:8px;background:#fff;font-size:13px;font-weight:600;color:var(--ink)}
.ss .pattern-chip svg{width:100%;height:auto}
.ss .overview-title{font-size:18px;margin:36px 0 4px;color:var(--ink)}
.ss .type-card .apps{font-size:14px;margin-top:10px}
.ss .guide-list{margin:12px 0 0 18px;padding:0}.ss .guide-list li{margin:8px 0}.ss .guide-list a{color:var(--blue)}
.ss .form-card{background:var(--card);border:1px solid var(--line);border-radius:5px;padding:28px}
.ss .rfq-product{background:var(--tint);border-left:3px solid var(--blue);padding:12px 16px;margin:12px 0 20px}
.ss .address{font-style:normal}
@media (max-width:980px){.ss .route-strip{grid-template-columns:1fr 1fr}.ss .route-strip a:nth-child(2){border-right:0}.ss .hero .hero-copy{padding:48px 0 24px}.ss .hero .hero-art img{min-height:280px}}
@media (max-width:600px){.ss .route-strip{grid-template-columns:1fr}.ss .route-strip a{border-right:0;border-bottom:1px solid var(--line)}}
.ss .link:after{content:'\2192';font-weight:400;font-size:15px;line-height:1;transition:transform .15s}
.ss .link:hover:after{transform:translateX(3px)}
.ss .btn.primary:after{content:'\2192';margin-left:2px}
.ss .card{display:flex;flex-direction:column}
.ss .card>.card-body{display:flex;flex-direction:column;flex:1}
.ss .card .card-meta{margin-top:auto;padding-top:16px}
.ss .card .card-body>p:last-of-type{margin-bottom:18px}

/* ---------- product & article templates ---------- */
.ss .product-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:48px;align-items:start;margin-top:18px}
.ss .product-stage{background:#fff;border:1px solid var(--line);border-radius:5px;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;overflow:hidden}
.ss .product-stage img{width:100%;height:100%;object-fit:contain;padding:24px}
.ss .product-stage .ph{font:600 11px/1.4 'Courier New',monospace;color:var(--muted)}
.ss .product-summary h1{font-size:clamp(30px,3.4vw,46px);color:var(--ink);margin:4px 0 0}
.ss .product-summary .lead{margin-top:16px;color:#3f5463;font-size:16px}
.ss .quick-facts{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:24px 0}
.ss .quick-facts>div{padding:14px 0;border-bottom:1px solid var(--line)}.ss .quick-facts>div:nth-last-child(-n+2){border-bottom:0}
.ss .quick-facts dt{font-size:12px;color:var(--muted)}.ss .quick-facts dd{margin:4px 0 0;font-weight:650;color:var(--ink);font-size:14px}
.ss .quick-facts a{color:var(--blue)}
.ss .product-summary .actions{display:flex;flex-wrap:wrap;gap:12px}
.ss .small{font-size:13px}.ss .subdued{color:var(--muted);margin-top:14px}
.ss .pattern-row-html{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:44px;align-items:center}
.ss .aside .card+.card{margin-top:20px}
.ss .rfq-card .btn{margin:6px 0 10px;width:100%}
.ss .contact-mini{font-size:13px;color:var(--muted)}.ss .contact-mini a{color:var(--blue)}
.ss .content-title{font-size:24px!important;margin-bottom:6px}
.ss .ss-product-content .prose,.ss .article-body{font-size:16px}
.ss .article-meta{margin-top:12px;color:var(--muted);font-size:14px}
.ss .ss-post-hero h1{font-size:clamp(30px,3.6vw,48px);max-width:900px;color:var(--ink)}
.ss .ss-postcontent img{max-width:100%;height:auto;border-radius:5px}
.ss .ss-postcontent h2{font-size:28px;margin:30px 0 12px}.ss .ss-postcontent h3{font-size:21px;margin:24px 0 10px}
.ss .ss-postcontent p{color:#3f5463;margin:0 0 14px}
.ss .ss-postcontent ul,.ss .ss-postcontent ol{margin:0 0 16px 22px;color:#3f5463}
.ss .ss-postcontent table{width:100%;border-collapse:collapse;font-size:14px;display:block;overflow-x:auto}
.ss .ss-postcontent td,.ss .ss-postcontent th{border:1px solid var(--line);padding:8px 10px}
.ss .closing-flex{display:flex;justify-content:space-between;gap:40px;align-items:center}
.ss .closing-flex .actions{display:flex;gap:12px;flex:none}
.ss .ss-closing .closing-flex h2{color:#fff!important;font-size:32px}.ss .ss-closing .closing-flex p{color:#c6d6e0!important;margin-top:12px;max-width:640px}
.ss .ss-closing .closing-flex .btn:not(.primary){color:#fff;border-color:#5f7e91}
.ss .catalogue-nav{margin-bottom:36px}.ss .catalogue-nav .num{color:var(--muted);font-size:12px}
.ss .catalogue-group{margin-top:44px}.ss .catalogue-group h2{font-size:26px}
/* empty slot -> hide its section (fallback in ss.js) */
.ss .et_pb_section:has(.ss-slot-empty){display:none!important}
@media (max-width:980px){.ss .product-top,.ss .pattern-row-html{grid-template-columns:1fr}.ss .closing-flex{flex-direction:column;align-items:flex-start}}
@media (max-width:600px){.ss .quick-facts{grid-template-columns:1fr}.ss .closing-flex .actions{flex-direction:column;width:100%}}
.ss-mobile-dock{display:none}
@media (max-width:767px){
  .ss-mobile-dock{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:997;background:#fff;border-top:1px solid #dbe5eb;padding:8px max(10px,env(safe-area-inset-left)) calc(8px + env(safe-area-inset-bottom));gap:8px}
  .ss-mobile-dock a{flex:1;text-align:center;padding:11px 6px;border:1px solid #dbe5eb;border-radius:4px;font-size:13px;font-weight:650;color:#163044}
  .ss-mobile-dock a.primary{background:#cc2937;border-color:#cc2937;color:#fff}
  body.ss{padding-bottom:64px}
}
.ss .ss-pagination ul{display:flex;gap:6px;list-style:none;padding:0;margin:32px 0 0;flex-wrap:wrap}
.ss .ss-pagination a,.ss .ss-pagination span{display:inline-block;padding:8px 13px;border:1px solid var(--line);border-radius:4px;font-size:14px}
.ss .ss-pagination .current{background:var(--ink);color:#fff;border-color:var(--ink)}
.ss .search-results{display:grid;gap:14px}.ss .result-row h3{font-size:19px;margin:6px 0}
.ss .index-title{font-size:24px;margin:48px 0 14px}
.ss .article-index{columns:2;column-gap:40px;margin:0;padding:0 0 0 18px;font-size:14px}
.ss .article-index li{margin:0 0 8px;break-inside:avoid}.ss .article-index a{color:var(--ink)}.ss .article-index a:hover{color:var(--blue)}
@media (max-width:700px){.ss .article-index{columns:1}}
/* Theme Builder header/footer wrappers */
.ss .et_pb_section.ss-header-sec{padding:0!important;background:transparent!important}
.ss .ss-header-sec .et_pb_row.ss-row{width:100%!important;max-width:none!important;display:block}
.ss .et-l--header{position:sticky;top:0;z-index:999}
.admin-bar.ss .et-l--header{top:32px}
.ss .et-l--header .site-header{position:relative;top:auto}
.ss .et_pb_column_1_4.ss-col{flex:1 1 25%}
.ss .footer-row{gap:32px!important}
.ss .ss-footer .footer-bottom{margin-top:8px}
@media (max-width:980px){.ss .footer-row>.ss-col{flex:1 1 calc(50% - 16px)!important;width:auto!important}}
@media (max-width:600px){.ss .footer-row>.ss-col{flex:1 1 100%!important}}

/* ===================== v1.1 consistency pass ===================== */
/* headings above FAQ / related grids: plain block, never flex */
.ss .sec-head{margin-bottom:28px}
.ss .sec-head h2{max-width:760px}
/* lists inside cards and narrow columns: one column, compact */
.ss .card ul.points,.ss .topic-grid ul.points,.ss .ss-col:not(.et_pb_column_4_4) ul.points{grid-template-columns:1fr!important}
.ss .card ul.points li,.ss .topic-grid ul.points li{padding:8px 10px 8px 34px;font-size:14px}
.ss .card ul.points li:before,.ss .topic-grid ul.points li:before{left:10px;top:11px;width:14px;height:14px}
.ss .card ul:not(.points),.ss .topic-grid ul:not(.points){margin:10px 0 0 18px;padding:0}
.ss .card ul:not(.points) li,.ss .topic-grid ul:not(.points) li{font-size:14px;margin:4px 0;color:#3f5463}
.ss .topic-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin:24px 0}
.ss .topic-grid>*{min-width:0}
.ss .card,.ss .card-body{min-width:0;overflow-wrap:break-word}
.ss .card p:empty,.ss a.card>p,.ss .card-body>p:empty{display:none}
/* stray <p>/<br> left by WordPress formatting */
.ss .et_pb_text_inner>p:empty,.ss .et_pb_code_inner>p:empty,.ss .ss-col>p:empty{display:none}
/* videos: framed 16:9, never full-bleed; two side by side when grouped */
.ss .video-grid{display:grid;gap:24px;max-width:880px;margin:28px auto}
.ss .video-grid.two{grid-template-columns:repeat(2,minmax(0,1fr));max-width:1100px}
.ss .video-embed{max-width:880px;margin:24px auto;width:100%;box-shadow:var(--shadow)}
.ss .video-grid .video-embed{margin:0;max-width:none}
.ss .video-embed .fluid-width-video-wrapper{position:static!important;padding:0!important;height:100%;width:100%}
.ss .video-embed .fluid-width-video-wrapper iframe{position:absolute!important;inset:0;width:100%!important;height:100%!important}
.ss iframe[src*="youtube"]:not(.video-embed iframe){max-width:880px;width:100%;aspect-ratio:16/9;height:auto;display:block;margin:24px auto}
@media (max-width:760px){.ss .video-grid.two{grid-template-columns:1fr}}
/* images in body content: bounded */
.ss .ss-text img,.ss .prose img{max-height:560px;width:auto;max-width:100%;object-fit:contain}
.ss .side-photo img,.ss .ss-image img{max-height:520px;width:100%;object-fit:cover;border-radius:5px}
.ss .card .product-media img{max-height:none}
/* hero: compact, balanced; no empty right column */
.ss .et_pb_section.ss-page-hero{padding:28px 0 48px!important}
.ss .ss-page-hero .lead{max-height:none}
.ss .ss-page-hero .ss-row:not(:has(.hero-photo,.ss-image,.pattern-panel)) .hero-copy{max-width:860px}
.ss .ss-page-hero .hero-photo img{max-height:420px;width:100%}
.ss .ss-page-hero .ss-col:has(> .ss-slot-empty:only-child),.ss .ss-page-hero .ss-col:empty{display:none}
/* uniform section rhythm */
.ss .et_pb_section.ss-sec{padding-top:64px;padding-bottom:64px}
.ss .et_pb_section.ss-sec.ss-page-hero{padding-top:28px;padding-bottom:48px}
.ss .et_pb_section.ss-sec.page-intro{padding:0 0 40px!important;background:var(--soft)!important;border-bottom:1px solid var(--line)}
.ss .et_pb_section.ss-sec.ss-footer-sec{padding:0!important;background:transparent!important}
.ss .ss-sec .et_pb_row{padding-top:0;padding-bottom:0}
.ss .ss-sec .et_pb_row+.et_pb_row{margin-top:8px}
/* headings: consistent scale, sentence/Title case as written (no forced capitals) */
.ss .ss-text h2,.ss .ss-code h2{font-size:clamp(26px,2.6vw,36px)}
.ss .ss-text h3,.ss .ss-code h3{font-size:clamp(18px,1.6vw,21px)}
.ss .ss-text h4{font-size:17px;margin:20px 0 8px;color:var(--ink)}
.ss .ss-text h5,.ss .ss-text h6{font-size:15px;margin:16px 0 6px;color:var(--ink);text-transform:none;letter-spacing:0}
.ss .card h3{font-size:18px;line-height:1.3}
.ss .compact-card h3{font-size:17px}
.ss .ss-text p,.ss .ss-text li{font-size:16px}
.ss .icon{flex:none}
.ss .card .icon,.ss .link .icon{width:18px;height:18px}
.ss .ss-text svg:not(.icon):not([class*=pattern]){max-width:100%;height:auto}
/* applications hub (Concept 02) */
.ss .page-intro .breadcrumbs{padding:24px 0}
.ss .page-intro .breadcrumbs a{color:var(--muted)}
.ss .app-grid{margin:0}
.ss .app-card{color:var(--ink);transition:border-color .2s,box-shadow .2s,transform .2s}
.ss .app-card:hover{border-color:var(--blue);box-shadow:var(--shadow);transform:translateY(-2px);color:var(--ink)}
.ss .app-card>.icon{width:33px;height:33px;stroke:currentColor;fill:none;stroke-width:1.6;color:var(--blue);margin-bottom:24px}
.ss .app-card h3{font-size:21px;margin-bottom:12px}
.ss .app-card p{font-size:14px;line-height:1.6}
.ss .app-card .link{display:inline-flex;margin-top:18px;color:var(--blue);font-weight:650;font-size:14px}
.ss .app-card .link:after{content:'→';margin-left:8px}
/* ---------- site footer ---------- */
.ss .site-footer{background:var(--navy);color:#d5e2ea;padding:64px 0 24px;font-size:14px}
.ss .site-footer a{color:#c4d6e1}
.ss .site-footer a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
.ss .site-footer .brand-name{color:#fff}.ss .site-footer .brand-name span{color:#75c7f4}
.ss .site-footer .brand small{color:#9fb6c4}
.ss .site-footer p{color:#b9cbd7;font-size:14px}
.ss .foot-top{display:grid;grid-template-columns:1.3fr 1fr 1.3fr;gap:40px;padding-bottom:40px;border-bottom:1px solid #22465b}
.ss .foot-brand p{margin:16px 0 0;max-width:340px}
.ss .foot-brand address{font-style:normal;margin-top:16px;color:#c4d6e1;line-height:1.6;max-width:320px}
.ss .foot-brand address strong{display:block;color:#fff;font-size:13px;margin-bottom:2px}
.ss .foot-reach{display:flex;flex-direction:column;gap:14px}
.ss .foot-contact{display:flex;flex-direction:column;line-height:1.35}
.ss .foot-contact span{font:650 12px/1.4 'Courier New',monospace;letter-spacing:.12em;text-transform:uppercase;color:#91cdeb}
.ss .foot-contact strong{color:#fff;font-size:16px;font-weight:600}
.ss .foot-cta h2{color:#fff;font-size:24px;line-height:1.2;margin:0 0 10px}
.ss .foot-btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.ss .site-footer .btn.primary{color:#fff}
.ss .site-footer .btn.ghost{background:transparent;border:1px solid #4d7189;color:#fff}
.ss .site-footer .btn.ghost:hover{border-color:#fff;text-decoration:none}
.ss .site-footer .btn:hover{text-decoration:none}
.ss .foot-links{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:32px;padding:40px 0}
.ss .foot-col.wide{grid-column:span 2}
.ss .foot-col h3{font-size:14px;font-weight:700;letter-spacing:.02em;margin:0 0 14px;color:#fff}
.ss .foot-col h3 a{color:#fff}
.ss .foot-col ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ss .foot-col.wide ul{grid-template-columns:1fr 1fr;column-gap:24px}
.ss .foot-col li{margin:0;padding:0;font-size:13.5px;line-height:1.4}
.ss .site-footer .footer-bottom{border-top:1px solid #22465b;margin-top:0;padding-top:20px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:12.5px;color:#9fb6c4}
.ss .site-footer .footer-bottom a{color:#b9cbd7}
@media (max-width:1100px){.ss .foot-links{grid-template-columns:repeat(3,minmax(0,1fr))}.ss .foot-col.wide{grid-column:span 2}}
@media (max-width:900px){.ss .foot-top{grid-template-columns:1fr 1fr}.ss .foot-cta{grid-column:1/-1}}
@media (max-width:640px){.ss .foot-top{grid-template-columns:1fr;gap:28px}.ss .foot-links{grid-template-columns:1fr 1fr;gap:28px 18px}.ss .foot-col.wide{grid-column:1/-1}.ss .site-footer{padding-bottom:96px}.ss .site-footer .footer-bottom{flex-direction:column}}
/* Theme Builder footer wrapper and archive shell */
.ss .et-l--footer .et_pb_section,.ss .et-l--footer .et_pb_row,.ss .et-l--footer .et_pb_column{padding:0!important;margin:0!important;max-width:none!important;width:100%!important;background:transparent!important}
.ss.ss-shell #main-header,.ss.ss-shell #top-header,.ss #main-header+#et-main-area #top-header{display:none!important}
.ss.ss-shell #page-container{padding-top:0!important;margin-top:0!important}
/* minimum readable sizes */
.ss table th,.ss table td{font-size:14px}
.ss .ph{font-size:12.5px}
.ss .pattern-chip,.ss .chip{font-size:13px}
.ss .map-embed{max-height:480px;aspect-ratio:auto;height:420px}
.ss .map-embed iframe{height:100%}
.ss .pattern-chip span{font-size:13px}
.ss .ph,.ss span.ph{font-size:12.5px!important}
/* footer sits apart from the navy closing band */
.ss .site-footer{background:#061a27;border-top:4px solid var(--accent)}
/* content heading hierarchy and readable line length */
.ss .ss-text h4{font-size:19px;line-height:1.3}
.ss .ss-text h5,.ss .ss-text h6{font-size:17px;line-height:1.35}
.ss .ss-sec .et_pb_column_4_4>.ss-text:not(.hero-copy):not(.sec-head)>.et_pb_text_inner>:is(p,h3,h4,h5,h6,ul:not(.points),ol){max-width:900px}
/* ---------- mobile refinements ---------- */
@media (max-width:980px){
 .ss .et_pb_section.ss-sec{padding-top:48px;padding-bottom:48px}
 .ss .ss-row.two-col{flex-direction:column}
 .ss .ss-page-hero .ss-row{flex-direction:column;align-items:stretch}
 .ss .ss-page-hero .ss-col{width:100%!important}
}
@media (max-width:600px){
 .ss .wrap,.ss .et_pb_row.wrap{width:calc(100% - 32px)!important}
 .ss .et_pb_section.ss-sec{padding-top:40px;padding-bottom:40px}
 .ss .et_pb_section.ss-page-hero,.ss .et_pb_section.ss-sec.ss-page-hero{padding:16px 0 36px!important}
 .ss .ss-page-hero h1,.ss .page-intro h1{font-size:clamp(28px,8.4vw,36px);line-height:1.12}
 .ss .ss-page-hero .lead,.ss .ss-page-hero .lead p,.ss .page-intro .lead{font-size:16px}
 .ss .ss-page-hero .actions .btn,.ss .closing .btn,.ss .ss-closing .et_pb_button,.ss .foot-btns .btn{width:100%;justify-content:center}
 .ss .ss-page-hero .hero-photo img{max-height:260px}
 .ss .ss-text h2,.ss .ss-code h2,.ss h2{font-size:clamp(24px,6.6vw,28px)}
 .ss .card-body{padding:18px}
 .ss .app-card{min-height:0;padding:22px}
 .ss .app-card>.icon{margin-bottom:14px}
 .ss .product-grid .product-media{aspect-ratio:16/10}
 .ss .table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
 .ss .table-wrap table{min-width:520px}
 .ss ul.points li{font-size:15px}
 .ss .chiprow{gap:6px}
 .ss .breadcrumbs{padding:14px 0;font-size:12px}
 .ss .video-grid,.ss .video-embed{margin:20px 0}
 .ss .ss-faq .et_pb_toggle_title,.ss details summary{font-size:16px}
 .ss .pattern-grid{grid-template-columns:1fr 1fr!important}
 .ss .site-header .header-actions .btn{display:none}
}
/* home card rows swipe sideways on phones instead of stacking into a very long page */
@media (max-width:600px){
 .ss .m-scroll{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;padding:4px 16px 14px;margin:0 -16px;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
 .ss .m-scroll>*{flex:0 0 82%;scroll-snap-align:start;min-width:0}
}
