/* Synergy Spray 1.0.1 – UI refinement: one type scale, compact rhythm, aligned components.
   Loaded last; changes sizes and spacing only. */
:root{
 --fs-h1:clamp(2.05rem,3.3vw,3.1rem);
 --fs-h1-home:clamp(2.3rem,4vw,3.6rem);
 --fs-h2:clamp(1.6rem,2.3vw,2.15rem);
 --fs-h3:1.2rem;
 --fs-h4:1.04rem;
 --fs-lead:1.1rem;
 --fs-body:1rem;
 --fs-sm:.94rem;
 --fs-xs:.78rem;
 --lh-body:1.7;
 --sec:68px; --sec-c:46px; --gap:22px;
}
body.ss{font-size:16px;line-height:var(--lh-body)}
/* Divi reserves space for its own fixed header; ours is sticky, so remove the gap above the first section */
body.ss #page-container,body.ss.et_fixed_nav #page-container,body.ss.et_fixed_nav.et_show_nav #page-container{padding-top:0!important;margin-top:0!important}
body.ss #et-main-area{padding-top:0!important}
body.ss-page #main-content .container{padding-top:0!important}
/* headings */
.ss h1{font-size:var(--fs-h1);line-height:1.1;margin-bottom:18px}
.ss .hero h1{font-size:var(--fs-h1-home);line-height:1.06;margin-bottom:20px}
.ss .page-hero h1{font-size:var(--fs-h1);margin-bottom:16px}
.ss h2,.ss .section-head h2,.ss .split h2,.ss .banner h2,.ss .detail-layout h2,.ss .prose h2,.ss .ss-c > h2,.ss .narrow h2{font-size:var(--fs-h2);line-height:1.15;margin-bottom:14px}
.ss h3,.ss .card h3,.ss .link-card h3,.ss .problem-card h3,.ss .mini-panel h3,.ss .aside h3,.ss .prose h3{font-size:var(--fs-h3);line-height:1.3;margin-bottom:8px;letter-spacing:-.015em}
.ss .prose h3{margin-top:22px}
.ss h4,.ss .feature h4{font-size:var(--fs-h4);line-height:1.35;margin-bottom:4px;letter-spacing:-.01em}
.ss .card h3{margin-top:4px}
/* body copy */
.ss p,.ss .prose p,.ss .prose li,.ss .split p,.ss .narrow p{font-size:var(--fs-body);line-height:var(--lh-body)}
.ss p{margin-bottom:14px}
.ss p:last-child{margin-bottom:0}
.ss .lead,.ss .page-hero .lead,.ss .hero p,.ss .split .lead,.ss .banner p{font-size:var(--fs-lead);line-height:1.65}
.ss .card p,.ss .link-card p,.ss .problem-card p,.ss .mini-panel p,.ss .feature p,.ss .aside p,.ss .faq-a p,.ss .faq-a li,.ss .accordion details p,.ss .journey-item p,.ss .highlight-box p,.ss .section-head p,.ss .bullet-list li,.ss .finder-results a small,.ss .discovery-response p{font-size:var(--fs-sm);line-height:1.6}
.ss .eyebrow,.ss .kicker,.ss .journey-item span,.ss .aside .kicker{font-size:var(--fs-xs);letter-spacing:.12em;line-height:1.4}
.ss .eyebrow{margin-bottom:12px}
.ss .crumbs{font-size:.82rem;margin-bottom:18px}
.ss .small,.ss .muted.small{font-size:.84rem}
.ss .tech-table,.ss .prose table{font-size:.92rem}
.ss .tech-table th,.ss .tech-table td{padding:11px 14px}
/* buttons & links */
.ss .button{font-size:.95rem;min-height:48px;padding:12px 20px;line-height:1.2}
.ss .button.small{font-size:.9rem;min-height:42px;padding:9px 16px}
.ss .action-link{font-size:.92rem}
.ss .chip{font-size:.88rem}
.ss .accordion summary{font-size:1rem;padding:16px 22px;line-height:1.45}
.ss .faq-a{padding:0 22px 18px}
/* section rhythm */
.ss .section{padding:var(--sec) 0}
.ss .section.compact{padding:var(--sec-c) 0}
.ss .page-hero{padding:52px 0 54px}
.ss .hero{padding:40px 0 76px}
.ss .hero-grid{min-height:470px;gap:40px}
.ss .discovery{margin-top:-38px}
/* same-colour neighbours: no doubled gap */
.ss .section:not(.light):not(.dark)+.section:not(.light):not(.dark),
.ss .section.light+.section.light{padding-top:0}
.ss .et_pb_section:has(.section:not(.light):not(.dark))+.et_pb_section:has(.section:not(.light):not(.dark)) .section:not(.light):not(.dark),
.ss .et_pb_section:has(.section.light)+.et_pb_section:has(.section.light) .section.light{padding-top:0}
.ss .section-head{margin-bottom:26px;align-items:flex-end}
.ss .section-head p{max-width:720px;margin-top:6px}
.ss .grid{gap:var(--gap)}
.ss .split{gap:52px}
.ss .detail-layout{gap:44px}
.ss .feature{margin:16px 0;align-items:flex-start}
.ss .feature .tick{margin-top:2px}
.ss .card-body{padding:22px}
.ss .mini-panel{padding:20px}
.ss .aside{padding:24px}
.ss .banner{padding:40px 46px;gap:32px}
.ss .banner .actions{flex-shrink:0}
.ss .prose h2{margin:34px 0 12px}
.ss .prose h2:first-child{margin-top:0}
.ss .prose ul,.ss .prose ol{margin-bottom:18px}
.ss .prose ul li,.ss .prose ol li{padding-top:4px;padding-bottom:4px}
.ss .prose-fig{margin:20px 0}
.ss .actions{gap:12px;margin-top:22px}
.ss .hero-points{margin-top:22px}
.ss .chips{margin-top:14px}
.ss .video-grid{gap:20px}
.ss .footer{padding-top:56px}
.ss .footer-grid.wide{gap:28px}
.ss .footer h4{font-size:var(--fs-xs);letter-spacing:.12em;margin-bottom:12px}
.ss .footer a,.ss .footer p{font-size:.88rem;line-height:1.55}
.ss .footer-grid a{margin-bottom:7px}
/* alignment */
.ss .grid.three>.link-card,.ss .grid.four>.link-card,.ss .grid.two>.link-card{height:100%}
.ss .link-card .card-body .action-link{margin-top:auto;padding-top:12px}
.ss .problem-card{align-items:flex-start}
.ss .split{align-items:start}
.ss .split.checklist{align-items:start}
.ss .ph-visual{align-self:center}
.ss .narrow{margin-left:auto;margin-right:auto}
/* WooCommerce shop title */
.ss .ss-shop-head{padding:44px 0 8px}
.ss .ss-shop-head h1{margin:0}
/* tablet */
@media(max-width:940px){
 :root{--sec:54px;--sec-c:38px}
 .ss .page-hero{padding:42px 0 44px}
 .ss .hero{padding:32px 0 60px}
 .ss .split{gap:30px}
 .ss .detail-layout{gap:32px}
 .ss .banner{padding:32px}
}
/* phone */
@media(max-width:660px){
 :root{--sec:42px;--sec-c:32px;--gap:16px;--fs-h1:1.9rem;--fs-h1-home:2.1rem;--fs-h2:1.48rem;--fs-h3:1.1rem;--fs-lead:1.02rem;--fs-body:.98rem;--fs-sm:.92rem}
 body.ss{font-size:15.5px}
 .ss .page-hero{padding:30px 0 34px}
 .ss .hero{padding:24px 0 46px}
 .ss .discovery{margin-top:-22px}
 .ss .section-head{margin-bottom:20px}
 .ss .card-body,.ss .aside,.ss .mini-panel{padding:18px}
 .ss .banner{padding:26px 20px}
 .ss .accordion summary{padding:14px 16px;font-size:.96rem}
 .ss .faq-a{padding:0 16px 16px}
 .ss .crumbs{margin-bottom:14px}
 .ss .actions{margin-top:18px}
 .ss .prose h2{margin-top:28px}
 .ss .footer{padding-top:42px}
}
/* finder: results in a row under the question, no empty column */
.ss .finder .discovery-content{grid-template-columns:minmax(0,1fr);gap:20px}
.ss .finder .discovery-response{padding:20px 22px}
.ss .finder .finder-results{grid-template-columns:repeat(3,minmax(0,1fr))}
.ss .finder .finder-results a{height:100%}
.ss .finder .discovery-response p{margin-top:12px}
.ss .discovery-response p a{display:inline}
@media(max-width:820px){.ss .finder .finder-results{grid-template-columns:minmax(0,1fr)}}
/* problem cards: links line up at the bottom */
.ss .problem-card>span:last-child{display:flex;flex-direction:column;height:100%}
.ss .problem-card .action-link{margin-top:auto;padding-top:10px}
/* narrow blocks keep the page's left edge */
.ss .ss-c.narrow{max-width:none}
.ss .ss-c.narrow>.accordion,.ss .ss-c.narrow.prose>*,.ss .ss-c.narrow>p{max-width:900px}
.ss .discovery-response p strong{display:inline;font-size:inherit;margin:0}
.ss .problem-card .iconbox{flex:0 0 44px;width:44px}
.ss .discovery-nav{display:flex;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
.ss .discovery-nav::-webkit-scrollbar{display:none}
.ss .discovery-nav button{white-space:nowrap;flex:0 0 auto}
@media(max-width:660px){
 .ss .hero-visual .floating-data{position:relative;left:auto;right:auto;bottom:auto;top:auto;margin:-28px 14px 0;max-width:none}
 .ss .hero-visual img{max-height:260px}
 .ss .discovery-nav button{padding:14px 14px;font-size:.82rem}
 .ss .problem-card{padding:18px;gap:14px}
}
.ss .ss-shop-head h1{font-size:var(--fs-h2);color:var(--ink)}
