/* =========================================================================
   SINERG - site design system
   Lifted verbatim from the homepage so every page is driven by one stylesheet
   instead of a copy. The homepage keeps its .sr-home wrapper; the header and
   footer templates use .sr-shell, which shares the same tokens but does not
   claim a full viewport.
   ========================================================================= */

:root {
  --ink:#08090a; --ink2:#111316; --paper:#f8f6f2; --gold:#d4ad78; --gold2:#efd5ae;
  --line:#d9d4cc; --muted:#6e6b67; --max:1180px;
  /* Heebo carries the display voice, Assistant the reading voice. Both are
     variable, so any weight between 100 and 900 is a real cut of the face. */
  --font-display:'Heebo','Segoe UI',system-ui,sans-serif;
  --font-text:'Assistant','Segoe UI',system-ui,sans-serif;
}

.sr-shell, .sr-shell * { box-sizing:border-box; }
.sr-shell {
  --ink:#08090a; --ink2:#111316; --paper:#f8f6f2; --gold:#d4ad78; --gold2:#efd5ae;
  --line:#d9d4cc; --muted:#6e6b67; --max:1180px;
  /* Heebo carries the display voice, Assistant the reading voice. Both are
     variable, so any weight between 100 and 900 is a real cut of the face. */
  --font-display:'Heebo','Segoe UI',system-ui,sans-serif;
  --font-text:'Assistant','Segoe UI',system-ui,sans-serif;
  width:100%; color:#171717;
  font-family:var(--font-text); direction:rtl; text-align:right;
}
.sr-shell img { display:block; max-width:100%; }
.sr-shell a { color:inherit; text-decoration:none; }
.sr-shell a.sr-btn--fill,
.sr-shell a.sr-lang { color:#12100d; }
.sr-shell a.sr-btn--fill:hover,
.sr-shell a.sr-lang:hover { color:#12100d; }

/* The bar itself. On the homepage it sits directly above a black hero, so a
   solid black strip joins it seamlessly; everywhere else it is the header. */
/* The open mobile panel is absolutely positioned inside this bar, so the bar
   has to outrank every section below it or the menu paints behind the page. */
/* On the homepage the bar inherited white text from the hero it sat inside.
   As a standalone header it has to state that itself, or the links render
   dark-on-dark. */
.sr-site-header { position:relative; z-index:9990; background:#000; color:#fff; }
.sr-site-header .sr-menu a { color:#fff; }
.sr-menu.is-open { z-index:9991; box-shadow:0 22px 48px rgba(0,0,0,.55); }

/* The panel is nested several Elementor containers deep, and those containers
   win the stacking contest whatever z-index it is given. Taking it out of the
   flow entirely is the only reliable way to float it over the page. */
@media (max-width:767px) {
  .sr-menu {
    position:fixed !important;
    top:74px; left:14px; right:14px;
    z-index:999999 !important;
    max-height:calc(100vh - 96px);
    overflow-y:auto;
  }
}
.sr-site-footer { background:#0a0c0f; }


/* SINERG homepage redesign - scoped to page 54 only */
body { margin:0!important; background:#f8f6f2!important; }

body.home .elementor-54 > .e-parent:not(.elementor-element-f8c8b93) { display:none!important; }
body.home .elementor-54 > .elementor-element:not(.elementor-element-f8c8b93) { display:none!important; }
body.home .elementor-54 > .elementor-section-wrap > .e-parent:not(.elementor-element-f8c8b93) { display:none!important; }
body.home .elementor-54 > .elementor-section-wrap > .elementor-element:not(.elementor-element-f8c8b93) { display:none!important; }
body.home .elementor-element-f8c8b93,
body.home .elementor-element-f8c8b93 > .e-con-inner,
body.home .elementor-element-b98fbe3,
body.home .elementor-element-b98fbe3 > .elementor-widget-container {
  width:100%!important; max-width:none!important; margin:0!important; padding:0!important;
}
body.home #wpadminbar { position:fixed; }


.sr-home, .sr-home * { box-sizing:border-box; }
.sr-home {
  --ink:#08090a; --ink2:#111316; --paper:#f8f6f2; --gold:#d4ad78; --gold2:#efd5ae;
  --line:#d9d4cc; --muted:#6e6b67; --max:1180px;
  /* Heebo carries the display voice, Assistant the reading voice. Both are
     variable, so any weight between 100 and 900 is a real cut of the face. */
  --font-display:'Heebo','Segoe UI',system-ui,sans-serif;
  --font-text:'Assistant','Segoe UI',system-ui,sans-serif;
  width:100%; min-height:100vh; overflow:hidden; background:var(--paper); color:#171717;
  font-family:var(--font-text); direction:rtl; text-align:right;
}
.sr-home img { display:block; max-width:100%; }
.sr-home a { color:inherit; text-decoration:none; }
.sr-home a.sr-btn--fill,
.sr-home a.sr-lang { color:#12100d; }
.sr-home a.sr-btn--fill:hover,
.sr-home a.sr-lang:hover { color:#12100d; }
.sr-wrap { width:min(var(--max),calc(100% - 64px)); margin-inline:auto; }
.sr-gold { color:var(--gold2); }
.sr-eyebrow { margin:0 0 8px; color:var(--gold); font-size:14px; font-weight:700; }
/* `.sr-hero-copy p` is more specific and was turning the eyebrow body-grey. */
.sr-hero-copy p.sr-eyebrow { color:var(--gold); }
.sr-section-title {margin:0; text-align:center; font-size:34px; line-height:1.1; font-weight:800; }
.sr-section-title:after { content:""; display:block; width:44px; height:2px; margin:12px auto 0; background:var(--gold); }
.sr-btn { display:inline-flex; min-height:48px; align-items:center; justify-content:center; gap:10px; padding:0 25px; border-radius:6px; border:1px solid var(--gold); font-weight:750; font-size:15px; transition:.2s ease; }

/* The "‹" character sits above the text baseline in Heebo, so button arrows
   are drawn instead. The glyph stays *inline* on purpose: turning its link
   into a flex box blockifies it, and every card that centred or right-aligned
   its link through text-align lost that alignment. vertical-align does the
   centring without touching layout. */
/* The markup already carries a space before the glyph, so no extra margin. */
.sr-chev {
  width:7px; height:12px; vertical-align:-.11em;
  fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round;
}
/* Inside a button the link is already a flex row, so the arrow is a flex item
   and the row centres it; the inline nudge would double up there. */
.sr-btn .sr-chev { width:8px; height:13px; vertical-align:baseline; }
.sr-btn:hover { transform:translateY(-2px); background:var(--gold); color:#08090a; }
.sr-btn--fill { background:var(--gold2); color:#12100d; border-color:var(--gold2); }
.sr-footer .sr-btn--fill { color:#12100d; }
.sr-btn--fill:hover { background:var(--gold); color:#12100d; }

/* Hero */
.sr-hero {position:relative; min-height:570px; color:#fff; background:
  radial-gradient(circle at 28% 58%,rgba(218,177,119,.11),transparent 28%),
  radial-gradient(circle at 80% -10%,rgba(49,55,61,.32),transparent 38%),#000; }
.sr-hero:before,.sr-hero:after { content:""; position:absolute; left:-6%; right:-6%; height:1px; pointer-events:none;
  background:linear-gradient(90deg,transparent 4%,rgba(224,188,136,.08) 22%,rgba(224,188,136,.52) 47%,rgba(224,188,136,.08) 74%,transparent 96%); transform:skewY(-5deg); }
.sr-hero:before { bottom:126px; box-shadow:0 18px rgba(224,188,136,.13),0 36px rgba(224,188,136,.08),0 54px rgba(224,188,136,.05); }
.sr-hero:after { bottom:166px; transform:skewY(6deg); opacity:.48; }
.sr-nav { position:relative; z-index:5; height:86px; display:grid; grid-template-columns:190px 1fr 190px; align-items:center; gap:20px; direction:rtl; }
.sr-logo { display:flex; align-items:center; margin-right:auto; text-decoration:none; }
.sr-logo img { width:172px; max-height:64px; object-fit:contain; filter:grayscale(1) brightness(0) invert(1); }
.sr-menu { display:flex; align-items:center; justify-content:center; gap:30px; font-size:14px; font-weight:700; }
.sr-menu a { position:relative; padding:30px 0 24px; }
.sr-menu > a:first-child:after { content:""; position:absolute; right:0; left:0; bottom:18px; height:2px; background:var(--gold); }
.sr-has-sub { position:relative; }
.sr-has-sub > a { display:inline-flex; align-items:center; gap:7px; }
.sr-has-sub > a:before { content:""; width:6px; height:6px; border-left:1.7px solid currentColor; border-bottom:1.7px solid currentColor; transform:rotate(-45deg); transition:transform .2s ease; }
.sr-has-sub:hover > a:before { transform:rotate(-45deg) translate(-2px,2px); }
.sr-sub { position:absolute; top:100%; right:0; min-width:262px; padding:7px 0; background:#101317; border:1px solid #2b2f34; border-radius:9px; box-shadow:0 20px 44px rgba(0,0,0,.55); opacity:0; visibility:hidden; transform:translateY(7px); transition:opacity .2s ease,transform .2s ease,visibility .2s; z-index:30; }
.sr-has-sub:hover .sr-sub,.sr-has-sub:focus-within .sr-sub { opacity:1; visibility:visible; transform:none; }
.sr-menu .sr-sub a { display:block; padding:9px 18px; font-size:13px; font-weight:600; color:#dcd8d1; white-space:nowrap; text-align:right; }
.sr-menu .sr-sub a:hover { background:rgba(212,173,120,.13); color:var(--gold2); }
.sr-menu .sr-sub a:after { display:none; }
.sr-nav-actions { direction:ltr; display:flex; align-items:center; gap:14px; }
.sr-lang { color:#12100d; background:var(--gold2); border-radius:5px; padding:11px 17px; font-size:13px; font-weight:800; }
.sr-lang:hover { background:var(--gold); }
.sr-mobile-toggle { display:none; color:#fff; border:1px solid rgba(255,255,255,.25); background:transparent; border-radius:5px; width:42px; height:42px; font-size:21px; }
.sr-hero-grid {position:relative; z-index:2; min-height:445px; display:grid; grid-template-columns:1.02fr .98fr; align-items:center; gap:22px; direction:rtl; }
.sr-hero-copy { padding:22px 0 92px; }
/* No negative tracking: Hebrew counters close up and the headline turns to
   mush. The line-height opens slightly to compensate for the absence of
   ascenders and descenders. */
.sr-hero-copy h1 { margin:0 0 16px; color:#fff!important; font-size:50px; line-height:1.18; letter-spacing:normal; font-weight:900; }
.sr-hero-copy p { max-width:610px; margin:0 0 28px; color:#e3e3e3; font-size:18px; line-height:1.65; }
.sr-hero-buttons { display:flex; gap:16px; flex-wrap:wrap; }
.sr-device-stage {position:relative; align-self:stretch; min-height:420px; display:flex; align-items:center; justify-content:center; padding-bottom:60px; }
.sr-device-stage:before { content:""; position:absolute; width:78%; height:34px; bottom:72px; left:10%; border-radius:50%; background:linear-gradient(90deg,#101214,#383739,#141517); border-top:2px solid var(--gold); box-shadow:0 22px 32px rgba(0,0,0,.9),0 -2px 20px rgba(224,181,121,.16); }
.sr-device-stage:after { content:""; position:absolute; width:82%; height:22px; left:7%; bottom:58px; border-radius:50%; background:#0b0c0d; filter:blur(3px); }
.sr-device-stage img { position:relative; z-index:2; width:min(108%,590px); max-height:380px; object-fit:contain; filter:drop-shadow(0 22px 26px rgba(0,0,0,.8)); }

/* This is a Hebrew site, so every card grid reads right to left: the first
   card sits on the right and the eye moves inward, matching the copy above it.
   These grids used to be `direction:ltr`, which reversed the reading order of
   the trust bar, the technology cards and the news strip. */
.sr-nav-actions > * { direction:rtl; }

/* Latin strings and bare numbers still need their own left-to-right run, or
   "15+" renders as "+15" and "13485:2016" gets torn apart by the surrounding
   Hebrew. `אמ"ר` is caught by the same selector; an isolated Hebrew
   abbreviation reads identically either way, so it costs nothing. */
.sr-trust strong, .sr-spec strong, .sr-astar b,
.sr-card h3 small { direction:ltr; unicode-bidi:isolate; }

/* Trust bar */
.sr-trust-wrap { position:relative; z-index:7; margin-top:-42px; }
.sr-trust {min-height:104px; direction:rtl; display:grid; grid-template-columns:repeat(5,1fr); align-items:center; background:rgba(255,255,255,.98); border:1px solid #e4dfd8; border-radius:14px; box-shadow:0 12px 30px rgba(41,32,20,.12); overflow:hidden; }
.sr-trust-item { min-height:62px; padding:7px 18px; display:grid; place-items:center; text-align:center; border-left:1px solid #d9d5cf; }
.sr-trust-item:last-child { border-left:0; }
.sr-trust strong,.sr-spec strong,.sr-astar b {direction:ltr; unicode-bidi:isolate;}
.sr-trust strong {display:block; font-size:27px; line-height:1; font-family:var(--font-display); font-weight:700; }
.sr-trust span { display:block; margin-top:8px; font-size:12px; line-height:1.25; }
.sr-astar { font-size:12px!important; line-height:1.2!important; font-weight:500; }
.sr-astar b { display:block; margin-top:2px; font-family:var(--font-display); font-size:23px; font-weight:600; letter-spacing:1px; }

/* Technologies */
.sr-tech {padding:74px 0 62px;}
.sr-tech-grid { margin-top:28px; display:grid; grid-template-columns:repeat(3,1fr); gap:18px; direction:rtl; }
.sr-card {min-width:0; height:352px; display:flex; flex-direction:column; direction:rtl; padding:18px 17px 15px; background:#fff; border:1px solid #d9d4cc; border-radius:13px; box-shadow:0 3px 10px rgba(0,0,0,.03); text-align:center; }
.sr-card-head { min-height:43px; display:flex; align-items:flex-start; justify-content:center; gap:12px; }
.sr-card-icon { flex:0 0 46px; width:46px; height:46px; display:grid; place-items:center; color:var(--gold); }
.sr-card-icon svg {width:40px; height:40px; overflow:visible; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.sr-card h3 { margin:0; font-size:20px; line-height:1.05; font-weight:600; }
.sr-card h3 small { display:block; margin-top:4px; font-family:var(--font-display); font-size:13px; font-weight:400; }
.sr-card-img { height:164px; margin:12px auto 8px; display:flex; align-items:center; justify-content:center; overflow:hidden; }
/* Each product photograph is framed differently, so the cards carry their own
   optical scale. These are positional, so they were renumbered when the
   shockwave card was removed: Tecar, laser, magnetotherapy. */
.sr-tech-grid .sr-card:nth-child(1) .sr-card-img img { transform:scale(1.05); }
.sr-tech-grid .sr-card:nth-child(2) .sr-card-img img { transform:scale(1.34); }
.sr-tech-grid .sr-card:nth-child(3) .sr-card-img img { transform:scale(.86); }
.sr-card-img img { width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; }
.sr-card p { margin:0 auto 7px; max-width:215px; color:#4c4a47; font-size:12px; line-height:1.55; }
.sr-card a { margin-top:auto; font-size:12px; text-decoration:underline; text-underline-offset:3px; }

/* Feature */
.sr-feature { position:relative; color:#fff; background:
  radial-gradient(circle at 22% 45%,rgba(192,138,69,.22),transparent 28%),
  linear-gradient(105deg,#030405 0%,#08090a 56%,#18120d 100%); overflow:hidden; }
.sr-feature:after { content:""; position:absolute; width:44%; height:170%; left:-4%; top:-35%; background:repeating-radial-gradient(ellipse at center,transparent 0 16px,rgba(224,178,111,.13) 17px 18px); transform:rotate(-22deg); opacity:.52; }
.sr-feature-grid { position:relative; z-index:2; min-height:248px; display:grid; grid-template-columns:1.06fr .94fr; align-items:center; gap:34px; direction:rtl; }
.sr-feature-visual { position:relative; height:248px; display:flex; align-items:flex-end; justify-content:center; direction:rtl; }
.sr-feature-visual img { position:relative; z-index:2; max-height:225px; width:92%; object-fit:contain; object-position:center bottom; filter:drop-shadow(0 15px 18px rgba(0,0,0,.7)); transform:scale(1.38); transform-origin:center bottom; }
.sr-feature-badge { position:absolute; z-index:4; right:8%; top:25px; width:86px; height:86px; display:grid; place-items:center; border:1px solid var(--gold); border-radius:50%; box-shadow:0 0 0 5px rgba(212,173,120,.12); text-align:center; color:var(--gold2); font-size:11px; line-height:1.35; transform:rotate(5deg); }
.sr-feature-copy { direction:rtl; padding:28px 0; }
.sr-feature-copy h2 { margin:0 0 4px; color:#fff!important; font:700 34px/1.18 var(--font-display); }
.sr-feature-copy h3 { margin:0 0 8px; color:#fff!important; font-size:19px; }
.sr-feature-copy p { margin:0 0 14px; max-width:430px; color:#d9d9d9; font-size:13px; line-height:1.6; }
.sr-feature-copy strong { color:#fff!important; }
.sr-specs {margin:16px 0 22px; max-width:440px; display:grid; grid-template-columns:repeat(2,1fr); gap:18px 0; direction:rtl;}
.sr-spec {min-height:58px; padding:0 16px; text-align:center; direction:rtl;}
.sr-spec:nth-child(odd) {border-left:1px solid #655641;}

.sr-spec strong {display:block; color:var(--gold); font:600 30px/1 var(--font-display);}
.sr-spec span {display:block; margin-top:8px; font-size:11px; line-height:1.25;}
.sr-feature .sr-btn { min-height:39px; padding:0 19px; font-size:12px; }

/* Why us */
.sr-why {padding:48px 0 48px; background:#fff;}
.sr-why .sr-section-title { font-size:24px; }
.sr-why .sr-section-title:after { display:none; }
.sr-why-grid { margin-top:18px; display:grid; grid-template-columns:repeat(4,1fr); }
.sr-why-item {min-height:78px; display:grid; grid-template-columns:46px 1fr; align-items:center; gap:10px; padding:0 22px; border-left:1px solid #d8d3cc; }
.sr-why-item:last-child { border-left:0; }
.sr-why-icon { width:42px; height:42px; display:grid; place-items:center; color:var(--gold); }
.sr-why-icon svg { width:35px; height:35px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.sr-why-item strong { display:block; font-size:14px; }
.sr-why-item span { display:block; margin-top:5px; color:#605e5b; font-size:11px; line-height:1.35; }

/* Testimonials */
.sr-testimonial { background:#0c0f12; color:#fff; }
.sr-test-grid {min-height:250px; display:grid; grid-template-columns:1fr 1.6fr 1fr; direction:rtl; }
.sr-clinic {background-size:cover; background-position:center; min-height:250px; position:relative; }
.sr-clinic:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(10,12,14,.18),rgba(10,12,14,.65)); }
.sr-clinic--left { background-image:url('https://sinerg.co.il/wp-content/uploads/2025/09/nurse-with-patient-osteopathy-session_23-2149146139.jpg'); }
.sr-clinic--right { background-image:url('https://sinerg.co.il/wp-content/uploads/2025/09/closeup-physical-therapist-treating-client-s-joint-with-electrotherapy_637285-9467.jpg'); }
.sr-quote { align-self:center; direction:rtl; text-align:center; padding:20px 28px; }
.sr-quote h2 { margin:0 0 14px; color:#fff!important; font-size:24px; }
.sr-quote h2:after { content:""; display:block; width:42px; height:2px; margin:9px auto 0; background:var(--gold); }
.sr-quote p { position:relative; margin:0 auto 10px; max-width:470px; color:#e1e1e1; font-size:13px; line-height:1.65; }
.sr-quote p:before { content:'“'; position:absolute; right:-20px; top:-10px; color:var(--gold); font:700 31px Georgia,serif; }
.sr-quote cite { color:var(--gold); font-size:12px; font-style:normal; font-weight:700; }
/* Three quotes stacked in one box; the tallest sets the height so the section
   never jumps as they rotate. */
.sr-quote-track { display:grid; }
.sr-quote-item { grid-area:1/1; margin:0; opacity:0; visibility:hidden; transition:opacity .45s ease; }
.sr-quote-item.is-on { opacity:1; visibility:visible; }
.sr-quote-item cite { display:block; margin-top:6px; }

.sr-dots { display:flex; justify-content:center; gap:9px; margin-top:14px; }
.sr-dots i,
.sr-dots button {
  width:9px; height:9px; padding:0; border:1px solid var(--gold); border-radius:50%;
  background:transparent; cursor:pointer; transition:background-color .25s ease, transform .25s ease;
}
.sr-dots button:hover { transform:scale(1.25); }
.sr-dots i:first-child,
.sr-dots button.is-on { background:var(--gold); }
.sr-dots button:focus-visible { outline:2px solid var(--gold2); outline-offset:3px; }

/* News */
.sr-news {padding:60px 0 68px; background:#fff;}
.sr-news .sr-section-title { font-size:24px; }
.sr-news-top { position:relative; display:flex; align-items:center; justify-content:center; direction:rtl; }
.sr-news-all { position:absolute; left:0; font-size:12px; text-decoration:underline; text-underline-offset:4px; }
.sr-news-grid { margin-top:20px; display:grid; grid-template-columns:repeat(3,1fr); gap:18px; direction:rtl; }
.sr-post {display:grid; grid-template-rows:168px auto; grid-template-columns:1fr; overflow:hidden; border:1px solid #ded9d2; border-radius:11px; background:#fbfaf8; direction:rtl; }
.sr-post img { width:100%; height:100%; object-fit:cover; }
.sr-post > img {width:100%; height:100%; object-fit:cover; display:block; background:#f1eee8;}
.sr-post-copy {direction:rtl; padding:15px 16px 17px;}
.sr-post time { display:block; color:#777; font:400 11px/1.2 var(--font-text); text-align:left; }
.sr-post h3 {margin:7px 0 7px; font-size:15px; line-height:1.35;}
.sr-post p { margin:0 0 7px; color:#666; font-size:10px; line-height:1.45; }
.sr-post a { font-size:11px; text-decoration:underline; text-underline-offset:3px; }

/* Footer. It carries the site's full navigation, so the type is sized to be
   read rather than glanced at: 14px links, 15px body, generous rhythm. */
.sr-footer { background:#0a0c0f; color:#e7e7e7; }
.sr-footer-grid {
  padding:64px 0 48px; display:grid;
  grid-template-columns:1.5fr 1.05fr 1.05fr 1.05fr 1.15fr;
  gap:0; direction:rtl;
}
.sr-footer-col { direction:rtl; padding:0 30px; }
.sr-footer-col + .sr-footer-col { border-inline-start:1px solid #2a2d31; }
.sr-footer-col:first-child { padding-inline-start:0; }
.sr-footer-col:last-child { padding-inline-end:0; }

.sr-footer-logo-img,
.sr-footer-logo img { width:190px; max-height:72px; object-fit:contain; filter:grayscale(1) brightness(0) invert(1); margin-right:0; }
.sr-footer-brand p { margin:18px 0 22px; max-width:38ch; }
.sr-footer-cta { min-height:44px; padding:0 22px; font-size:14px; }

.sr-footer p { color:#c9c9c9; font-size:14.5px; line-height:1.75; }
.sr-footer h3 {
  margin:0 0 16px; color:var(--gold); font-size:16px; font-weight:700;
  letter-spacing:.2px;
}
.sr-footer ul { margin:0; padding:0; list-style:none; }
.sr-footer li { margin:0 0 11px; font-size:14px; line-height:1.5; }
.sr-footer li a { color:#dcdcdc; transition:color .2s ease; }
.sr-footer li a:hover { color:var(--gold2); }

.sr-contact li { direction:rtl; text-align:right; }
.sr-contact li a { color:#dcdcdc; display:flex; align-items:center; gap:10px; transition:color .2s ease; }
.sr-contact li a:hover { color:var(--gold2); }
.sr-fi { flex:0 0 18px; width:18px; height:18px; color:var(--gold); }
.sr-fi svg { width:18px; height:18px; display:block; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.sr-contact li a span:last-child { unicode-bidi:isolate; }
/* Phone numbers and the e-mail are Latin; the address and the WhatsApp
   label are Hebrew and keep the page direction. */
.sr-contact li:nth-child(-n+3) a span:last-child { direction:ltr; }
.sr-contact li:nth-child(4) a span:last-child { direction:rtl; }
.sr-contact li:last-child a span:last-child { direction:rtl; }
.sr-hours { margin-top:16px !important; color:#9b9b9b !important; font-size:13.5px !important; }

.sr-copy {
  min-height:54px; display:flex; flex-wrap:wrap; justify-content:center; align-items:center;
  gap:22px; border-top:1px solid #26292d; color:#a9aaac; font-size:13px; direction:rtl;
  padding:16px 0;
}
.sr-copy a { color:#a9aaac; transition:color .2s ease; }
.sr-copy a:hover { color:var(--gold2); }

.sr-social { display:flex; gap:9px; direction:ltr; margin-top:11px; }
.sr-social a { width:27px; height:27px; display:grid; place-items:center; border:1px solid #73767a; border-radius:50%; font:700 11px var(--font-display); }

@media (max-width:1000px) {
  .sr-wrap { width:min(var(--max),calc(100% - 36px)); }
  .sr-nav { grid-template-columns:155px 1fr 145px; }
  .sr-menu { gap:17px; font-size:12px; }
  .sr-logo img { width:140px; }
  .sr-hero-copy h1 { font-size:43px; }
  .sr-card { height:300px; padding-inline:11px; }
  .sr-card h3 { font-size:17px; }
  .sr-why-item { padding:0 12px; }
  .sr-footer-col { padding-inline:14px; }

  /* Everything below used to hold its desktop column count until 767px, so a
     tablet got four technology cards, three news cards, a five-column footer
     and a five-column trust bar squeezed into 768px. They step down here. */
  /* Five badges over three columns leave a ragged hole in the second row;
     two columns with the last badge spanning both stays balanced. */
  .sr-trust { grid-template-columns:repeat(2,1fr); }
  .sr-trust-item { border-bottom:1px solid #ddd8d1; }
  .sr-trust-item:last-child { grid-column:1/-1; border-bottom:0; }
  .sr-tech-grid { grid-template-columns:repeat(2,1fr); gap:14px; }
  .sr-card { height:auto; min-height:300px; padding-bottom:20px; }
  .sr-feature-grid { grid-template-columns:1fr; gap:10px; }
  .sr-feature-copy { text-align:center; padding-top:30px; }
  .sr-feature-copy p { margin-inline:auto; }
  .sr-news-grid { grid-template-columns:repeat(2,1fr); }
  .sr-footer-grid { grid-template-columns:1fr 1fr 1fr; gap:30px 0; padding:52px 0 40px; }
  .sr-footer-col { border-inline-start:0; border-bottom:1px solid #26292d; padding:0 22px 24px; }
  .sr-footer-col:first-child { grid-column:1/-1; padding-inline:0; }
}
/* The seven-item desktop menu needs about 1000px. Below that the burger takes
   over, so a tablet no longer renders the nav as stacked, clipped columns. */
@media (max-width:1000px) {
  .sr-nav { height:72px; display:flex; justify-content:space-between; align-items:center; }
  .sr-mobile-toggle { display:block; order:-1; }
  .sr-nav-actions .sr-lang { display:none; }
  .sr-menu {
    position:fixed; top:74px; left:18px; right:18px; z-index:999999;
    display:none; flex-direction:column; align-items:stretch; gap:0;
    padding:8px 20px; background:#121416; border:1px solid #39342c; border-radius:10px;
    max-height:calc(100vh - 96px); overflow-y:auto;
  }
  .sr-menu.is-open { display:flex; }
  .sr-menu a { padding:12px 0; border-bottom:1px solid #292b2d; }
  .sr-menu > a:first-child:after { display:none; }
  .sr-has-sub { position:static; }
  .sr-has-sub > a { padding:12px 0; border-bottom:1px solid #292b2d; }
  .sr-has-sub > a:before { display:none; }
  .sr-sub { position:static; min-width:0; padding:0 0 6px; background:transparent; border:0; border-radius:0; box-shadow:none; opacity:1; visibility:visible; transform:none; }
  .sr-menu .sr-sub a { padding:9px 0 9px 14px; font-size:12.5px; color:#b9b5ae; border-bottom:1px solid #232527; }
}

@media (max-width:767px) {
  .sr-wrap { width:calc(100% - 28px); }
  .sr-hero { min-height:auto; }
  .sr-nav { height:72px; display:flex; justify-content:space-between; }
  .sr-logo img { width:135px; }
  .sr-mobile-toggle { display:block; order:-1; }
  .sr-nav-actions .sr-lang { display:none; }
  .sr-menu { position:absolute; top:69px; left:14px; right:14px; display:none; flex-direction:column; align-items:stretch; gap:0; padding:8px 18px; background:#121416; border:1px solid #39342c; border-radius:10px; }
  .sr-menu.is-open { display:flex; }
  .sr-menu a { padding:11px 0; border-bottom:1px solid #292b2d; }
  .sr-menu > a:first-child:after { display:none; }
.sr-has-sub { position:static; }
.sr-has-sub > a { padding:11px 0; border-bottom:1px solid #292b2d; }
.sr-has-sub > a:before { display:none; }
.sr-sub { position:static; min-width:0; padding:0 0 6px; background:transparent; border:0; border-radius:0; box-shadow:none; opacity:1; visibility:visible; transform:none; }
.sr-menu .sr-sub a { padding:9px 0 9px 14px; font-size:12px; color:#b9b5ae; border-bottom:1px solid #232527; }
  .sr-hero-grid { min-height:590px; display:flex; flex-direction:column; gap:0; }
  .sr-hero-copy { padding:46px 0 0; text-align:center; }
  .sr-hero-copy h1 { font-size:38px; }
  .sr-hero-copy p { font-size:16px; }
  .sr-hero-buttons { justify-content:center; }
  .sr-device-stage { width:100%; min-height:270px; padding-bottom:46px; }
  .sr-device-stage img { max-height:225px; }
  .sr-device-stage:before { bottom:53px; }
  .sr-device-stage:after { bottom:40px; }
  .sr-trust-wrap { margin-top:-20px; }
  .sr-trust { grid-template-columns:repeat(2,1fr); }
  .sr-trust-item { border-bottom:1px solid #ddd8d1; }
  .sr-trust-item:last-child { grid-column:1/-1; }
  .sr-tech { padding-top:42px; }
  .sr-tech-grid { grid-template-columns:1fr 1fr; gap:12px; }
  .sr-card { height:306px; }
  .sr-feature-grid { grid-template-columns:1fr; }
  .sr-feature-copy { order:1; text-align:center; padding:34px 0 12px; }
  .sr-feature-copy p { margin-inline:auto; }
  .sr-feature-visual { order:2; height:225px; }
  .sr-feature-visual img { transform:scale(1.16); }
  .sr-specs { max-width:520px; margin-inline:auto; }
  .sr-why-grid { grid-template-columns:1fr 1fr; gap:18px 0; }
  .sr-why-item:nth-child(2) { border-left:0; }
  .sr-test-grid { grid-template-columns:1fr; }
  .sr-clinic { min-height:150px; }
  .sr-clinic--right { display:none; }
  .sr-quote { min-height:225px; }
  .sr-news-grid { grid-template-columns:1fr; }
  .sr-post { height:155px; }
  .sr-footer-grid { grid-template-columns:1fr 1fr; gap:30px 0; padding:46px 0 34px; }
  .sr-footer-col { border-inline-start:0; border-bottom:1px solid #26292d; padding:0 0 24px; }
  .sr-footer-col:first-child { grid-column:1/-1; }
  .sr-footer-col:nth-child(even) { padding-inline-end:22px; }
  .sr-footer-col:nth-child(odd) { padding-inline-start:22px; }
  .sr-footer-col:last-child { border-bottom:0; }
}
@media (max-width:480px) {
  .sr-hero-copy h1 { font-size:32px; }
  .sr-hero-buttons { flex-direction:column; }
  .sr-tech-grid { grid-template-columns:1fr; }
  .sr-card { height:320px; }
  .sr-card-img { height:150px; }
  .sr-specs { grid-template-columns:1fr 1fr; gap:13px 0; }
  .sr-spec:nth-child(3) { border-right:0; }
  .sr-why-grid { grid-template-columns:1fr; }
  .sr-why-item { border-left:0; }
  .sr-post { grid-template-columns:40% 60%; }
  .sr-footer-grid { grid-template-columns:1fr; }
  .sr-footer-col:first-child { grid-column:auto; }
  .sr-footer-col:nth-child(even), .sr-footer-col:nth-child(odd) { padding-inline:0; }
  .sr-copy { flex-direction:column; gap:8px; padding:16px 0; }
}


/* =========================================================================
   Inner pages
   Elementor's own sections carry the page content. These rules give them the
   homepage's ground, measure and rhythm so the two read as one site.
   ========================================================================= */

body:not(.home) .elementor-location-header,
body:not(.home) .elementor-location-footer { background:#000; }

body:not(.home) main,
body:not(.home) .elementor-location-single,
body:not(.home) .site-main { background:var(--paper); }

/* =========================================================================
   SINERG - inner page sections
   Built from the same vocabulary as the homepage: the dark hero, the centred
   section title over a short gold rule, the white 13px card, the dark feature
   band. Nothing new is invented; these are the homepage's parts arranged for
   the shapes inner pages actually need.
   ========================================================================= */

/* The homepage clips its hero's -6% light rays with .sr-shell's overflow;
   inner pages have no such wrapper, so the rays used to widen the document
   and scroll every page sideways. Clip them here instead. */
.sr-page { width:100%; background:var(--paper); overflow-x:clip; }
.sr-hero--page { overflow:hidden; }

/* The homepage neutralises Elementor's link colour with `.sr-home a`. Inner
   pages need the same, but stated per component so the prose links below can
   still be gold - a blanket `.sr-page a` would tie with them on specificity
   and the cascade order would decide it. */
.sr-page a.sr-btn { color:#fff; }
.sr-page a.sr-btn:hover { color:#08090a; }
.sr-page a.sr-btn--fill, .sr-page a.sr-btn--fill:hover { color:#12100d; }
.sr-page a.sr-prod, .sr-page a.sr-contact-card { color:inherit; }
.sr-page a.sr-prod .sr-prod-more { color:var(--gold); }

/* ---------- page hero ---------------------------------------------------- */
.sr-hero--page { min-height:0; }
.sr-hero--page .sr-hero-grid { min-height:340px; padding-block:54px; }
.sr-hero--page .sr-hero-copy { padding:0; }
.sr-hero--page .sr-hero-copy h1 { font-size:clamp(30px,4.4vw,52px); margin-bottom:14px; }
.sr-hero--page .sr-device-stage { min-height:300px; padding-bottom:0; }
.sr-hero--page .sr-device-stage img { max-height:300px; width:auto; margin-inline:auto; }

/* A page that has no product shot gets a single centred column instead. */
.sr-hero--plain .sr-hero-grid { grid-template-columns:1fr; text-align:center; min-height:250px; }
.sr-hero--plain .sr-hero-copy { margin-inline:auto; max-width:760px; }
.sr-hero--plain .sr-hero-copy p { margin-inline:auto; }
.sr-hero--plain .sr-hero-buttons { justify-content:center; }

/* ---------- generic band ------------------------------------------------- */
.sr-band { padding:66px 0; background:var(--paper); }
.sr-band--white { background:#fff; }
.sr-band--tint { background:#f2efe8; }
.sr-band + .sr-band { padding-top:0; }

.sr-lead { max-width:760px; margin:18px auto 0; text-align:center; color:#55524e; font-size:16px; line-height:1.75; }

/* ---------- two-column split -------------------------------------------- */
.sr-split { display:grid; grid-template-columns:1.05fr .95fr; align-items:center; gap:46px; }
.sr-split--flip { grid-template-columns:.95fr 1.05fr; }
.sr-split-copy { color:#4a4744; font-size:15.5px; line-height:1.8; }
.sr-split-copy > *:first-child { margin-top:0; }
.sr-split-copy p { margin:0 0 14px; }
.sr-split-copy strong { color:#171717; }
.sr-split-copy ul { margin:0 0 14px; padding-inline-start:20px; }
.sr-split-copy li { margin-bottom:7px; }
.sr-split-media img {
  width:100%; height:auto; border-radius:13px;
  border:1px solid var(--line); background:#fff;
}

/* ---------- card grids --------------------------------------------------- */
.sr-grid { display:grid; gap:18px; margin-top:30px; direction:rtl; }
.sr-grid--2 { grid-template-columns:repeat(2,1fr); }
.sr-grid--3 { grid-template-columns:repeat(3,1fr); }
.sr-grid--4 { grid-template-columns:repeat(4,1fr); }

.sr-tile {
  display:flex; flex-direction:column; padding:26px 24px 28px;
  background:#fff; border:1px solid var(--line); border-radius:13px;
  box-shadow:0 1px 2px rgba(28,24,18,.04);
  transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.sr-tile:hover { transform:translateY(-4px); box-shadow:0 16px 34px -18px rgba(28,24,18,.4); border-color:#e0cba6; }
.sr-tile-icon { width:44px; height:44px; margin-bottom:14px; color:var(--gold); }
.sr-tile-icon svg { width:38px; height:38px; fill:none; stroke:currentColor; stroke-width:1.6; }
.sr-tile h3 { margin:0 0 9px; font-size:18px; line-height:1.3; font-weight:700; color:#171717; }
.sr-tile p { margin:0; color:#605e5b; font-size:14px; line-height:1.65; }

/* ---------- product card (used for related products) --------------------- */
.sr-prod {
  display:flex; flex-direction:column; overflow:hidden;
  background:#fff; border:1px solid var(--line); border-radius:13px;
  transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.sr-prod:hover { transform:translateY(-5px); box-shadow:0 18px 38px -20px rgba(28,24,18,.45); border-color:#e0cba6; }
.sr-prod-img { height:172px; display:flex; align-items:center; justify-content:center; padding:20px 18px 6px; }
.sr-prod-img img { max-height:150px; width:auto; object-fit:contain; }
.sr-prod-body { padding:4px 20px 22px; text-align:center; }
.sr-prod-body h3 { margin:0 0 4px; font-size:17px; font-weight:700; color:#171717; }
.sr-prod-body span { display:block; color:#7a7772; font-size:13px; }
.sr-prod-more { margin-top:12px; display:inline-block; color:var(--gold); font-size:13px; font-weight:700; }

/* ---------- spec table --------------------------------------------------- */
.sr-spec-table {
  margin-top:28px; border:1px solid var(--line); border-radius:13px;
  overflow:hidden; background:#fff;
}
.sr-spec-row {
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);
  gap:14px; padding:13px 22px; border-bottom:1px solid var(--line);
  font-size:14.5px;
}
.sr-spec-row:last-child { border-bottom:0; }
.sr-spec-row:nth-child(odd) { background:#fbfaf7; }
.sr-spec-row dt { margin:0; color:#6e6b67; font-weight:600; }
.sr-spec-row dd { margin:0; color:#171717; font-weight:700; }

/* ---------- comparison table --------------------------------------------- */
.sr-table-scroll { direction:rtl; margin-top:28px; overflow-x:auto; -webkit-overflow-scrolling:touch; border:1px solid var(--line); border-radius:13px; background:#fff; }
/* Something upstream sets `table { display:block }` - the usual make-it-scroll
   hack. That kills column sizing, so the table display roles are restored here
   and the horizontal scrolling is handled by the wrapper instead. */
.sr-table-scroll > table.sr-compare { display:table; width:100%; min-width:640px; table-layout:fixed; border-collapse:collapse; direction:rtl; font-size:14.5px; }
.sr-compare thead { display:table-header-group; }
.sr-compare tbody { display:table-row-group; }
.sr-compare tr { display:table-row; }
.sr-compare th, .sr-compare td { display:table-cell; }
.sr-compare th:first-child { width:34%; }
.sr-compare th:not(:first-child), .sr-compare td { width:22%; }
.sr-compare th, .sr-compare td { padding:12px 18px; text-align:right; border-bottom:1px solid var(--line); }
.sr-compare thead th { background:var(--ink); color:#fff; font-weight:700; font-size:14px; white-space:nowrap; }
.sr-compare thead th:first-child { color:var(--gold2); }
.sr-compare tbody th { font-weight:600; color:#6e6b67; width:34%; }
.sr-compare tbody td { color:#171717; font-weight:600; }
.sr-compare tbody tr:nth-child(odd) { background:#fbfaf7; }
.sr-compare tbody tr:last-child th, .sr-compare tbody tr:last-child td { border-bottom:0; }
.sr-yes { color:#2f7d4f; font-size:16px; }
.sr-no  { color:#b04a43; font-size:16px; }

/* ---------- FAQ ---------------------------------------------------------- */
.sr-faq { margin-top:28px; display:grid; grid-template-columns:repeat(2,1fr); gap:14px; direction:rtl; align-items:start; }
/* A category heading that follows a block of questions needs room to breathe. */
.sr-faq + .sr-section-title { margin-top:52px; }
.sr-faq details {
  background:#fff; border:1px solid var(--line); border-radius:13px; overflow:hidden;
}
.sr-faq summary {
  cursor:pointer; list-style:none; padding:16px 20px;
  font-weight:700; font-size:15.5px; color:#171717;
  display:flex; align-items:flex-start; gap:12px;
  transition:background-color .2s ease, color .2s ease;
}
.sr-faq summary::-webkit-details-marker { display:none; }
.sr-faq summary:before {
  content:""; flex:0 0 8px; width:8px; height:8px; margin-top:7px;
  border-left:1.8px solid var(--gold); border-bottom:1.8px solid var(--gold);
  transform:rotate(-45deg); transition:transform .25s ease;
}
.sr-faq details[open] summary { background:#faf7f1; color:var(--gold2); color:#8a6a2f; }
.sr-faq details[open] summary:before { transform:rotate(135deg); }
.sr-faq .sr-faq-body { padding:0 20px 18px; color:#55524e; font-size:14.5px; line-height:1.75; }

/* ---------- contact cards ------------------------------------------------ */
.sr-contact-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:30px; direction:rtl; }
.sr-contact-card {
  display:flex; align-items:center; gap:16px; padding:22px 22px;
  background:#fff; border:1px solid var(--line); border-radius:13px;
}
.sr-contact-icon {
  flex:0 0 52px; width:52px; height:52px; display:grid; place-items:center;
  border-radius:11px; background:var(--gold); color:#fff;
}
.sr-contact-icon svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.sr-contact-card strong { display:block; font-size:15px; color:#171717; }
.sr-contact-card span, .sr-contact-card a { display:block; margin-top:3px; color:#605e5b; font-size:14px; text-align:right; }
/* Only the phone and e-mail values are Latin; the address line is Hebrew and
   must not be dragged into an LTR run with them. */
.sr-contact-card--ltr span span:last-child { direction:ltr; unicode-bidi:isolate; }
/* The icon tile is itself a <span>, so `.sr-contact-card span` outranks
   `.sr-contact-icon` and was overriding both its colour and its `display:grid`.
   Without the grid the tile is a plain block and the glyph sits in its corner
   instead of the middle. */
.sr-contact-card span.sr-contact-icon {
  display:grid; place-items:center; margin-top:0; color:#fff; text-align:center;
}

.sr-map { margin-top:26px; border:1px solid var(--line); border-radius:13px; overflow:hidden; }
.sr-map iframe { display:block; width:100%; height:380px; border:0; }

/* ---------- contact form ------------------------------------------------- */
.sr-contact-split { display:grid; grid-template-columns:1.1fr .9fr; gap:44px; align-items:start; direction:rtl; }
.sr-contact-form h2 { margin:0 0 8px; font-size:clamp(21px,2.4vw,28px); font-weight:800; color:#171717; }
.sr-form-note { margin:0 0 22px; color:#605e5b; font-size:14.5px; line-height:1.7; }
.sr-contact-aside .sr-map { margin-top:0; }
.sr-hours-note { margin:18px 0 0; color:#55524e; font-size:14.5px; line-height:1.8; }
.sr-hours-note strong { color:#171717; }

.sr-form { display:grid; gap:16px; direction:rtl; }
.sr-form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.sr-form label {
  display:flex; flex-direction:column; gap:7px;
  font-size:14px; font-weight:600; color:#3a3835;
}
.sr-form .sr-l { display:block; }
.sr-form .sr-req { color:#b04a43; }
.sr-form input, .sr-form select, .sr-form textarea {
  width:100%; padding:12px 14px; font:inherit; font-size:15px; font-weight:400; color:#171717;
  background:#fff; border:1px solid var(--line); border-radius:8px;
  transition:border-color .2s ease, box-shadow .2s ease;
}
.sr-form textarea { resize:vertical; min-height:120px; }
.sr-form input:focus, .sr-form select:focus, .sr-form textarea:focus {
  outline:none; border-color:var(--gold); box-shadow:0 0 0 3px rgba(212,173,120,.22);
}
/* Consent checkbox. The label is a row, not the stacked field layout, so it
   opts out of the flex column the other labels use. */
.sr-form-terms {
  flex-direction:row !important; align-items:flex-start; gap:11px;
  font-weight:400 !important; font-size:13.5px; line-height:1.6; color:#55524e;
}
.sr-form-terms input[type="checkbox"] {
  flex:0 0 19px; width:19px; height:19px; margin:2px 0 0; padding:0;
  accent-color:var(--gold); cursor:pointer;
}
.sr-form-terms a { color:#8a6a2f; text-decoration:underline; text-underline-offset:2px; }
.sr-form-terms a:hover { color:var(--gold); }
.sr-form-terms:has(input:focus-visible) { outline:2px solid var(--gold2); outline-offset:4px; border-radius:5px; }

.sr-form button { justify-self:start; margin-top:4px; }
/* The honeypot must stay reachable to assistive tech but out of the layout. */
.sr-hp { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }

.sr-form-status { margin:0 0 18px; padding:13px 16px; border-radius:9px; font-size:14.5px; font-weight:600; }
.sr-form-status--ok { background:#eaf4ee; border:1px solid #b8d9c5; color:#1f6340; }
.sr-form-status--bad { background:#fbeeed; border:1px solid #e5c3c0; color:#8f3a34; }

@media (max-width:1000px) {
  .sr-contact-split { grid-template-columns:1fr; gap:34px; }
}
@media (max-width:600px) {
  .sr-form-row { grid-template-columns:1fr; }
  .sr-form button { justify-self:stretch; }
}

/* ---------- closing call to action --------------------------------------- */
.sr-cta { padding:58px 0; background:var(--ink); color:#fff; position:relative; overflow:hidden; }
.sr-cta:before {
  content:""; position:absolute; inset:0;
  background:radial-gradient(circle at 80% 20%, rgba(212,173,120,.16), transparent 55%);
}
.sr-cta .sr-wrap { position:relative; z-index:2; text-align:center; }
.sr-cta h2 { margin:0 0 10px; color:#fff; font-size:clamp(22px,2.6vw,32px); font-weight:800; }
.sr-cta p { margin:0 0 22px; color:#c9c6c1; font-size:15.5px; }
.sr-cta .sr-btn { border-color:var(--gold2); }

/* ---------- responsive --------------------------------------------------- */
@media (max-width:1000px) {
  /* Three product cards across a 768px tablet leave each about 230px wide, so
     the inner-page grids step down here rather than waiting for 767px. */
  .sr-grid--3, .sr-grid--4 { grid-template-columns:repeat(2,1fr); }
  .sr-grid--3 > :last-child:nth-child(2n + 1) { grid-column:1/-1; justify-self:center; max-width:360px; width:100%; }
  .sr-split, .sr-split--flip { grid-template-columns:1fr; gap:28px; }
  .sr-contact-grid { grid-template-columns:repeat(2,1fr); }
  .sr-contact-grid > :last-child:nth-child(2n + 1) { grid-column:1/-1; }
  .sr-faq { grid-template-columns:1fr; }
  .sr-hero--page .sr-hero-grid { grid-template-columns:1fr; gap:6px; }
  .sr-hero--page .sr-device-stage { min-height:250px; }
  .sr-hero--page .sr-device-stage img { max-height:250px; }
}
@media (max-width:767px) {
  .sr-band { padding:44px 0; }
  .sr-grid--2, .sr-grid--3, .sr-grid--4 { grid-template-columns:1fr; }
  .sr-hero--page .sr-hero-grid { grid-template-columns:1fr; min-height:0; padding-block:34px; text-align:right; }
  .sr-hero--page .sr-device-stage { min-height:210px; }
  .sr-hero--page .sr-device-stage img { max-height:210px; }
  .sr-spec-row { grid-template-columns:1fr; gap:3px; padding:12px 16px; }
}

/* =========================================================================
   SINERG - inner page sections, part 2
   The shapes the section engine emits: centred prose, check lists, feature
   chips, people cards and the solid-glyph icon. Same tokens as the homepage.
   ========================================================================= */

/* ---------- centred prose ------------------------------------------------ */
.sr-prose { max-width: 860px; margin-inline: auto; }
.sr-prose-body { color: #4a4744; font-size: 15.5px; line-height: 1.85; }
.sr-prose-body > *:first-child { margin-top: 0; }
.sr-prose-body > *:last-child { margin-bottom: 0; }
.sr-prose-body p { margin: 0 0 15px; }
.sr-prose-body strong, .sr-prose-body b { color: #171717; font-weight: 700; }
.sr-prose-body a { color: #8a6a2f; text-decoration: underline; text-underline-offset: 3px; }
.sr-prose-body a:hover { color: var(--gold); }
.sr-prose-body--lead { max-width: 760px; margin: 0 auto 8px; text-align: center; }

/* Legal documents are long and read top-to-bottom, so they get their own
   heading rhythm rather than the centred section titles used elsewhere. */
.sr-prose--legal { max-width: 820px; }
.sr-prose--legal .sr-prose-body { font-size: 15px; line-height: 1.9; }
.sr-prose--legal h2 {
  margin: 34px 0 12px; font-size: 21px; font-weight: 800; color: #171717;
  padding-bottom: 9px; border-bottom: 1px solid var(--line);
}
.sr-prose--legal h3 { margin: 26px 0 9px; font-size: 17px; font-weight: 700; color: #171717; }
.sr-prose--legal h4 { margin: 20px 0 7px; font-size: 15.5px; font-weight: 700; color: #3a3835; }
.sr-prose--legal > .sr-prose-body > :first-child { margin-top: 0; }
.sr-prose--legal ul, .sr-prose--legal ol { margin: 0 0 15px; padding-inline-start: 22px; }
.sr-prose--legal li { margin-bottom: 7px; }
.sr-prose-body--after { margin-top: 26px; }

/* ---------- check list --------------------------------------------------- */
.sr-check { margin: 0 0 16px; padding: 0; list-style: none; }
.sr-check li {
  position: relative; margin-bottom: 9px; padding-inline-start: 27px;
  color: #4a4744; font-size: 15px; line-height: 1.7;
}
.sr-check li:last-child { margin-bottom: 0; }
.sr-check li:before {
  content: ""; position: absolute; inset-inline-start: 2px; top: .58em;
  width: 9px; height: 5px;
  border-inline-start: 1.9px solid var(--gold); border-bottom: 1.9px solid var(--gold);
  transform: rotate(-45deg);
}
/* A merged list runs long; two columns keep it from becoming a ribbon. */
.sr-check--cols { columns: 2; column-gap: 42px; }
.sr-check--cols li { break-inside: avoid; }

.sr-check li p { margin: 0; }
.sr-check li p + p { margin-top: 8px; }

/* A check list inside a card grid sits flush with the card text. */
.sr-split-copy .sr-check, .sr-faq-body .sr-check { margin-bottom: 12px; }

/* ---------- feature chips ------------------------------------------------ */
.sr-chips {
  display: flex; flex-wrap: wrap; gap: 9px;
  margin: 20px 0 0; padding: 0; list-style: none;
}
.sr-chips li {
  padding: 8px 15px; border: 1px solid var(--line); border-radius: 999px;
  background: #fff; color: #4a4744; font-size: 13.5px; font-weight: 600;
}
.sr-band--white .sr-chips li { background: var(--paper); }

/* ---------- button row --------------------------------------------------- */
.sr-btn-row { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }

/* ---------- solid glyph icons (lifted from Elementor) -------------------- */
/* Elementor's glyphs are solid shapes, so they must override the outline
   treatment the line icons get - hence the matching descendant specificity. */
.sr-icon-solid { width: 26px; height: 26px; fill: currentColor; stroke: none; }
.sr-tile-icon svg.sr-icon-solid { width: 30px; height: 30px; fill: currentColor; stroke: none; }
.sr-contact-icon svg.sr-icon-solid { width: 22px; height: 22px; fill: currentColor; stroke: none; }

/* A tile with a title and no description is a one-line statement, so it
   centres on the icon rather than stacking left like a full card. */
.sr-tile--flat { align-items: center; text-align: center; padding: 24px 20px; }
.sr-tile--flat .sr-tile-icon { margin-inline: auto; }
.sr-tile--flat h3 { font-size: 16.5px; line-height: 1.45; margin: 0; }

/* ---------- people cards ------------------------------------------------- */
.sr-person {
  padding: 22px 20px; background: #fff; border: 1px solid var(--line);
  border-radius: 13px; box-shadow: 0 1px 2px rgba(28, 24, 18, .04);
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.sr-person:hover { transform: translateY(-3px); box-shadow: 0 14px 30px -18px rgba(28, 24, 18, .38); border-color: #e0cba6; }
.sr-person h3 {
  margin: 0 0 8px; padding-bottom: 8px; font-size: 16.5px; font-weight: 700; color: #171717;
  border-bottom: 1px solid var(--line);
}
.sr-person p { margin: 0; color: #605e5b; font-size: 13.5px; line-height: 1.65; }
.sr-band--white .sr-person { background: var(--paper); }

/* ---------- figure grid -------------------------------------------------- */
/* Seven products in a three-column grid leave one card stranded in the
   corner; centre it instead of letting it hang off the edge. */
.sr-grid--3 > :last-child:nth-child(3n + 1) { grid-column: 2; }
.sr-grid--4 > :last-child:nth-child(4n + 1) { grid-column: 2 / span 2; }

/* Figure grid. Some of these are tall clinical infographics and some are wide
   product shots, so the frame follows the picture rather than cropping it. */
.sr-grid--shots { align-items: start; }
/* A lone photograph would otherwise run the full 1180px and swamp the page. */
.sr-grid--1 { grid-template-columns: minmax(0, 760px); justify-content: center; }
.sr-shot { margin: 0; border: 1px solid var(--line); border-radius: 13px; overflow: hidden; background: #fff; }
.sr-shot img { display: block; width: 100%; height: auto; max-height: 430px; object-fit: cover; }

@media (max-width: 900px) {
  .sr-check--cols { columns: 1; }
  .sr-grid--3 > :last-child:nth-child(3n + 1),
  .sr-grid--4 > :last-child:nth-child(4n + 1) { grid-column: auto; }
}
@media (max-width: 767px) {
  .sr-chips li { font-size: 12.5px; padding: 7px 13px; }
  .sr-btn-row { flex-direction: column; align-items: stretch; }
  .sr-faq + .sr-section-title { margin-top: 36px; }
}
