/* ==========================================================================
   אירית מירושניקוב · שכבת העיצוב (Click-In, 26.10.2026)
   בסיס משותף + סקיצה 1 "בית" (body.ir-s1: מעוגלת, לבנה ואוורירית, שחור וזהב, Noa Shalev + Birzia).
   סקיצה 2 (body.ir-s2) יושבת ב-ir2.css. כל הטקסט נשאר בווידג'טים נייטיב של אלמנטור; כאן רק קישוט, פריסה ותנועה.
   ========================================================================== */
:root {
  --ir-black: #0B0B0B; --ir-ink: #111111; --ir-text: #2F2F2F; --ir-muted: #6B6660;
  --ir-gold: #A6850D; --ir-gold-d: #7E650A; --ir-gold-l: #D9C48A; --ir-gold-p: #F3ECDB;
  --ir-ivory: #F7F5F1; --ir-greige: #D5D1C3; --ir-sand: #E9E4D8; --ir-white: #FFFFFF;
  --ir-line: rgba(17,17,17,.12); --ir-ease: cubic-bezier(.16, 1, .3, 1);
  --ir-metal: linear-gradient(100deg, #8E6B2F 0%, #E2C98E 42%, #B8924A 68%, #8A6629 100%);
  --ir-r: 28px; --ir-r-sm: 18px;
  --ir-head: "Noa Shalev", "Birzia", serif; --ir-body: "Birzia", system-ui, Arial, sans-serif;
}
body.ir-s1 { font-family: var(--ir-body); }
body .elementor-heading-title, .cki-pop__body h2 { text-wrap: balance; }
body .elementor-widget-text-editor p { text-wrap: pretty; }
body .elementor-widget-text-editor p:last-child { margin-bottom: 0; }
::selection { background: var(--ir-ink); color: var(--ir-gold-l); }
html { scroll-padding-top: 92px; }
body .ir-auto { width: auto !important; }
/* decorative glows and rails never widen the page (clip, not hidden: hidden would break sticky) */
body [data-elementor-type="wp-page"] > .e-con, body .elementor-location-footer > .e-con { overflow-x: clip; }

/* ---------- small pieces ---------- */
body .ir-gold { color: var(--ir-gold); position: relative; white-space: nowrap; }
body.ir-s1 .ir-gold::after { content: ""; position: absolute; inset-inline: -2%; bottom: -.06em; height: .2em; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 14' preserveAspectRatio='none'%3E%3Cpath d='M3 10 C 50 3, 120 2, 197 7' fill='none' stroke='%23A6850D' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") center / 100% 100% no-repeat; opacity: .75; }
body .ir-eyebrow .elementor-heading-title { display: inline-flex; align-items: center; gap: 12px; }
body .ir-eyebrow .elementor-heading-title::before { content: ""; width: 34px; height: 1px; background: currentColor; flex: none; opacity: .7; }
body .ir-eyebrow--roof .elementor-heading-title::before { width: 40px; height: 18px; opacity: 1; background: url(roof.svg) center / contain no-repeat; }
body .ir-eyebrow--center .elementor-heading-title::after { content: ""; width: 34px; height: 1px; background: currentColor; flex: none; opacity: .7; }
body .ir-stars { color: var(--ir-gold); letter-spacing: .12em; }

/* buttons: the icon rides in a small circle */
body .ir-btn .elementor-button { transition: background-color .4s var(--ir-ease), color .4s, border-color .4s, transform .4s var(--ir-ease), box-shadow .4s; padding-inline-end: 10px !important; min-height: 52px; }
body .ir-btn .elementor-button-content-wrapper { align-items: center; gap: 14px; }
body .ir-btn .elementor-button-icon { width: 36px; height: 36px; border-radius: 50%; display: inline-grid; place-items: center; background: rgba(255,255,255,.14); transition: transform .4s var(--ir-ease), background-color .4s; margin: 0 !important; }
body .ir-btn .elementor-button-icon svg { width: 14px; height: 14px; }
body .ir-btn .elementor-button:hover .elementor-button-icon { transform: translateX(-4px); }
body .ir-btn--ghost .elementor-button-icon { background: rgba(17,17,17,.07); }
body .ir-btn--light .elementor-button-icon { background: rgba(17,17,17,.08); }
body .ir-btn--gold .elementor-button { background-image: var(--ir-metal); background-size: 180% 100%; background-position: 0 0; box-shadow: 0 10px 26px -12px rgba(126,101,10,.7); }
body .ir-btn--gold .elementor-button:hover { background-position: 100% 0; }
body .ir-link .elementor-button { padding: 12px 0 8px !important; border-radius: 0 !important; border-bottom: 1px solid currentColor; min-height: 44px; }
body .ir-link .elementor-button-icon { width: auto; height: auto; background: none !important; }
body .ir-link .elementor-button-content-wrapper { gap: 10px; }

/* ---------- header (shared; sketch 2 restyles it in ir2.css) ---------- */
body .ir-header { transition: background-color .45s var(--ir-ease), box-shadow .45s, padding .45s var(--ir-ease); }
body .ir-header.elementor-sticky--effects { background-color: rgba(255,255,255,.86) !important; backdrop-filter: blur(16px) saturate(1.2); -webkit-backdrop-filter: blur(16px) saturate(1.2); box-shadow: 0 1px 0 var(--ir-line); padding-top: 6px !important; padding-bottom: 6px !important; }
body .ir-logos { position: relative; }
body .ir-logo img { display: block; height: auto; transition: width .45s var(--ir-ease); }
body .ir-header.elementor-sticky--effects .ir-logo img { width: 78px !important; }
body.ir-s1 .ir-logo--light, body.ir-s1 .ir-foot-logo.ir-logo--light { display: none !important; }
body .ir-nav .elementor-nav-menu--main .elementor-item { letter-spacing: .01em; padding-top: 10px; padding-bottom: 10px; }
body .ir-icon-btn .elementor-icon { transition: background-color .35s, color .35s, border-color .35s; }
body .ir-icon-btn.elementor-view-framed .elementor-icon { border-color: rgba(17,17,17,.22); }
body .ir-icon-btn.elementor-view-framed .elementor-icon:hover { background: var(--ir-ink); color: #fff; border-color: var(--ir-ink); }
body .ir-icon-btn.elementor-view-framed .elementor-icon:hover svg { fill: #fff; }
body .ir-hcta .elementor-button { min-height: 48px; }

/* ---------- footer (shared) ---------- */
body.ir-s1 .ir-footer { border-radius: 56px 56px 0 0; background: linear-gradient(180deg, var(--ir-ivory), #EFEBE3) !important; }
body .ir-foot-big .elementor-heading-title { letter-spacing: -.01em; }
body.ir-s1 .ir-foot-big .elementor-heading-title { background: var(--ir-metal); -webkit-background-clip: text; background-clip: text; color: transparent !important; padding-bottom: .08em; }
body .ir-foot-cols { border-bottom: 1px solid var(--ir-line); }
body .ir-foot-h .elementor-heading-title::before { width: 18px; }
body .ir-foot-nav .elementor-icon-list-item a, body .ir-foot-contact .elementor-icon-list-item a { transition: color .3s; }
body .ir-foot-nav .elementor-icon-list-item a:hover, body .ir-foot-contact .elementor-icon-list-item a:hover { color: var(--ir-gold-d); }
body .ir-foot-nav .elementor-icon-list-icon { display: none; }
body .ir-foot-bottom a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }

/* ==========================================================================
   SKETCH 1 · "בית"
   ========================================================================== */
/* ---------- hero ---------- */
body.ir-s1 .ir-hero { position: relative; isolation: isolate; }
body.ir-s1 .ir-hero::before { content: ""; position: absolute; z-index: -1; top: -120px; inset-inline-start: -10%; width: 62vw; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(closest-side, rgba(217,196,138,.22), rgba(217,196,138,0)); pointer-events: none; }
body.ir-s1 .ir-h1 .elementor-heading-title { letter-spacing: -.012em; }
body.ir-s1 .ir-hero-p { max-width: 560px; }
body.ir-s1 .ir-hero-sub .elementor-heading-title { max-width: 540px; }
body.ir-s1 .ir-sign { margin-top: 10px !important; padding-top: 22px !important; border-top: 1px solid var(--ir-line); width: fit-content !important; }
body.ir-s1 .ir-sign-img img { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; object-position: 50% 18%; box-shadow: 0 0 0 3px #fff, 0 0 0 4px var(--ir-gold-l); }
body.ir-s1 .ir-sign-name .elementor-heading-title { display: flex; flex-direction: column; gap: 2px; }
body.ir-s1 .ir-sign-name b { font-family: var(--ir-head); font-weight: 400; font-size: 23px; color: var(--ir-ink); }
body.ir-s1 .ir-sign-name span { font-size: 14px; color: var(--ir-muted); letter-spacing: .02em; }

/* the arch that holds the opening film */
body.ir-s1 .ir-arch { position: relative; overflow: hidden; border-radius: 400px 400px var(--ir-r) var(--ir-r) / 340px 340px var(--ir-r) var(--ir-r); box-shadow: 0 40px 80px -40px rgba(17,17,17,.45); isolation: isolate; }
body.ir-s1 .ir-arch::after { content: ""; position: absolute; inset: 0; z-index: 1; border-radius: inherit; background: linear-gradient(180deg, rgba(11,11,11,0) 55%, rgba(11,11,11,.35)); pointer-events: none; }
body.ir-s1 .ir-hero-media { position: relative; }
body.ir-s1 .ir-hero-media::before { content: ""; position: absolute; inset: -16px -16px 24px; border: 1px solid var(--ir-gold-l); border-radius: 420px 420px 36px 36px / 356px 356px 36px 36px; pointer-events: none; z-index: 0; }
body.ir-s1 .ir-arch .elementor-background-video-container video { object-fit: cover; width: 100% !important; height: 100% !important; top: 0 !important; left: 0 !important; transform: none !important; }
body.ir-s1 .ir-hero-card { position: absolute !important; z-index: 2; bottom: 26px; inset-inline-start: 26px; width: auto !important; }
body.ir-s1 .ir-hero-card .elementor-heading-title { display: inline-flex; align-items: center; gap: 10px; padding: 12px 18px; border-radius: 999px; background: rgba(255,255,255,.9); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); box-shadow: 0 10px 30px rgba(11,11,11,.18); }
body.ir-s1 .ir-hero-card a { color: inherit; }

/* ---------- quick lead strip (vider style) ---------- */
body.ir-s1 .ir-strip-wrap { position: relative; z-index: 3; margin-top: -78px !important; }
body.ir-s1 .ir-strip { border-radius: var(--ir-r); box-shadow: 0 24px 60px -24px rgba(17,17,17,.28), 0 0 0 1px rgba(17,17,17,.04); }
body.ir-s1 .ir-strip-t .elementor-heading-title { position: relative; padding-inline-start: 18px; }
body.ir-s1 .ir-strip-t .elementor-heading-title::before { content: ""; position: absolute; inset-inline-start: 0; top: 6px; bottom: 6px; width: 3px; border-radius: 3px; background: var(--ir-metal); }
body .ir-form--strip .elementor-field-group { margin-bottom: 0; }
body .ir-form--strip .elementor-field-type-acceptance { align-self: center; }
body .ir-form--strip .elementor-field-type-acceptance label { font-size: 13.5px; line-height: 1.45; color: var(--ir-muted); }
body .ir-form--strip .elementor-field-group .elementor-field { min-height: 52px; padding-inline: 22px !important; }
body .ir-form--strip .elementor-button { min-height: 52px; }

/* ---------- service tracks marquee ---------- */
body.ir-s1 .ir-tracks-wrap { overflow: hidden; }
body .ir-tracks { width: 100%; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
body .ir-tracks .elementor-icon-list-items { display: flex !important; flex-wrap: nowrap !important; width: max-content; gap: 12px; margin: 0 !important; animation: irMarq var(--ir-marq, 46s) linear infinite; }
body .ir-tracks:hover .elementor-icon-list-items { animation-play-state: paused; }
body .ir-tracks .elementor-icon-list-item { margin: 0 !important; padding: 12px 22px !important; border: 1px solid var(--ir-sand); border-radius: 999px; background: #fff; white-space: nowrap; }
body .ir-tracks .elementor-icon-list-item::after { display: none !important; }
@keyframes irMarq { to { transform: translateX(var(--ir-marq-w, 50%)); } }
@media (prefers-reduced-motion: reduce) { body .ir-tracks .elementor-icon-list-items { animation: none; flex-wrap: wrap !important; width: auto; justify-content: center; } }

/* ---------- about ---------- */
body.ir-s1 .ir-about-media { position: relative; }
body.ir-s1 .ir-about-media::before { content: ""; position: absolute; width: 74%; aspect-ratio: 1; border-radius: 50%; background: var(--ir-gold-p); top: -28px; inset-inline-end: -40px; z-index: 0; }
body.ir-s1 .ir-flip { position: relative; z-index: 1; }
body.ir-s1 .ir-about-lead .elementor-heading-title { border-inline-start: 2px solid var(--ir-gold-l); padding-inline-start: 18px; }
body.ir-s1 .ir-belief { position: relative; border-radius: var(--ir-r); margin-top: 8px !important; }
body.ir-s1 .ir-belief::before { content: "”"; position: absolute; top: -26px; inset-inline-end: 26px; font: 400 120px/1 var(--ir-head); color: var(--ir-gold); opacity: .9; }

/* ---------- help cards ---------- */
body.ir-s1 .ir-cards > .ir-card, body.ir-s1 .ir-cards > .e-con-inner > .ir-card { width: calc(25% - 13.5px) !important; border-radius: var(--ir-r); border: 1px solid rgba(17,17,17,.06); transition: transform .5s var(--ir-ease), box-shadow .5s var(--ir-ease), border-color .4s; }
body.ir-s1 .ir-card:hover { transform: translateY(-6px); box-shadow: 0 30px 60px -30px rgba(17,17,17,.3); border-color: var(--ir-gold-l); }
body.ir-s1 .ir-card-icon .elementor-icon { transition: background-color .4s, color .4s; }
body.ir-s1 .ir-card:hover .ir-card-icon .elementor-icon { background-color: var(--ir-ink) !important; color: var(--ir-gold-l) !important; }
body.ir-s1 .ir-card:hover .ir-card-icon .elementor-icon svg { fill: var(--ir-gold-l) !important; }
body.ir-s1 .ir-card-p p { font-size: 15.5px; }
body.ir-s1 .ir-help-note { align-self: flex-end; }

/* ---------- Russian / third age card ---------- */
body.ir-s1 .ir-ru { border-radius: 40px; position: relative; overflow: hidden; isolation: isolate; }
body.ir-s1 .ir-ru::before { content: ""; position: absolute; z-index: -1; width: 520px; aspect-ratio: 1; border-radius: 50%; inset-inline-start: -160px; bottom: -260px; background: radial-gradient(closest-side, rgba(166,133,13,.35), rgba(166,133,13,0)); }
body.ir-s1 .ir-ru-kick .elementor-heading-title { display: inline-block; padding: 7px 16px; border: 1px solid rgba(217,196,138,.5); border-radius: 999px; letter-spacing: .04em; }
body.ir-s1 .ir-ru-img img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 15%; border-radius: 300px 300px 24px 24px / 240px 240px 24px 24px; display: block; }
body.ir-s1 .ir-ru-line .elementor-heading-title { font-style: italic; }

/* ---------- process ---------- */
body.ir-s1 .ir-steps { position: relative; }
body.ir-s1 .ir-steps::before { content: ""; position: absolute; top: 96px; inset-inline: 10%; height: 1px; background: repeating-linear-gradient(90deg, var(--ir-gold-l) 0 6px, transparent 6px 12px); }
body.ir-s1 .ir-step { position: relative; z-index: 1; flex: 1 1 0 !important; min-width: 0; }
body.ir-s1 .ir-step-n .elementor-heading-title { letter-spacing: .12em; }
body.ir-s1 .ir-step-icon .elementor-icon { border: 1px solid var(--ir-sand); box-shadow: 0 0 0 8px #fff; transition: background-color .4s, color .4s, transform .5s var(--ir-ease); }
body.ir-s1 .ir-step:hover .ir-step-icon .elementor-icon { background: var(--ir-ink) !important; color: var(--ir-gold-l) !important; transform: translateY(-4px); }
body.ir-s1 .ir-step:hover .ir-step-icon .elementor-icon svg { fill: var(--ir-gold-l) !important; }
body.ir-s1 .ir-proc-end .elementor-heading-title { color: var(--ir-gold-d) !important; }

/* ---------- calculator ---------- */
.cki-calc { display: grid; grid-template-columns: 1.1fr 1fr; gap: 0; background: #fff; border-radius: var(--ck-radius, 28px); box-shadow: 0 30px 70px -36px rgba(17,17,17,.35), 0 0 0 1px rgba(17,17,17,.05); overflow: hidden; font-family: var(--ck-body, var(--ir-body)); }
.cki-calc__inputs { display: flex; flex-direction: column; gap: 26px; padding: 38px 36px; }
.cki-calc__row { display: grid; grid-template-columns: 1fr auto; align-items: baseline; gap: 10px 14px; cursor: pointer; }
.cki-calc__lbl { font-size: 15px; color: var(--ir-muted); font-weight: 500; }
.cki-calc__val { font-size: 22px; color: var(--ir-ink); font-weight: 500; direction: ltr; unicode-bidi: plaintext; }
.cki-calc__row input[type=range] { grid-column: 1 / -1; -webkit-appearance: none; appearance: none; width: 100%; height: 6px; border-radius: 6px; background: linear-gradient(to left, var(--ir-gold) var(--p, 50%), var(--ir-sand) var(--p, 50%)); outline: none; margin: 6px 0 0; touch-action: pan-y; }
.cki-calc__row input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; width: 26px; height: 26px; border-radius: 50%; background: #fff; border: 2px solid var(--ir-gold); box-shadow: 0 4px 12px rgba(17,17,17,.2); cursor: grab; }
.cki-calc__row input[type=range]::-moz-range-thumb { width: 24px; height: 24px; border-radius: 50%; background: #fff; border: 2px solid var(--ir-gold); cursor: grab; }
.cki-calc__row input[type=range]:focus-visible { box-shadow: 0 0 0 3px rgba(166,133,13,.35); }
.cki-calc__out { background: var(--ir-black); color: #fff; padding: 38px 34px; display: flex; flex-direction: column; gap: 10px; position: relative; overflow: hidden; }
.cki-calc__out::before { content: ""; position: absolute; width: 340px; aspect-ratio: 1; border-radius: 50%; top: -170px; inset-inline-end: -120px; background: radial-gradient(closest-side, rgba(166,133,13,.4), rgba(166,133,13,0)); }
.cki-calc__olbl { font-size: 15px; color: var(--ir-gold-l); position: relative; }
.cki-calc__pay { font-size: clamp(40px, 4.6vw, 58px); line-height: 1; font-weight: 500; position: relative; direction: ltr; text-align: right; unicode-bidi: plaintext; background: var(--ir-metal); -webkit-background-clip: text; background-clip: text; color: transparent; padding: 4px 0; }
.cki-calc__meta, .cki-calc__save { display: flex; justify-content: space-between; gap: 12px; padding-top: 12px; border-top: 1px solid rgba(255,255,255,.12); font-size: 15px; color: #CFC9BE; position: relative; }
.cki-calc__meta b, .cki-calc__save b { color: #fff; font-weight: 500; direction: ltr; unicode-bidi: plaintext; white-space: nowrap; }
.cki-calc__save b { color: var(--ir-gold-l); }
.cki-calc__cta { margin-top: 14px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 20px; border-radius: 999px; background: var(--ir-metal); background-size: 180% 100%; color: #111 !important; font-weight: 500; text-decoration: none; transition: background-position .5s var(--ir-ease); position: relative; min-height: 52px; }
.cki-calc__cta:hover { background-position: 100% 0; }
.cki-calc__cta i { font-style: normal; width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; background: rgba(17,17,17,.12); }
.cki-calc__note { margin: 6px 0 0; font-size: 12.5px; line-height: 1.5; color: #A9A396; position: relative; }

/* ---------- reviews (deck, brand touches) ---------- */
body.ir-s1 .ir-thanks .elementor-heading-title { font-family: var(--ir-head); }

/* ---------- office carousel ---------- */
body.ir-s1 .ir-office-car .swiper-slide, body.ir-s1 .ir-office-car .elementor-carousel-image { border-radius: var(--ir-r); overflow: hidden; }

/* ---------- FAQ ---------- */
body.ir-s1 .ir-faq .e-n-accordion-item { border: 1px solid var(--ir-sand) !important; border-radius: 22px; padding: 0 24px; margin-bottom: 12px; background: #fff; transition: border-color .3s, box-shadow .4s; }
body.ir-s1 .ir-faq .e-n-accordion-item[open] { border-color: var(--ir-gold-l) !important; box-shadow: 0 18px 40px -26px rgba(17,17,17,.28); }
body.ir-s1 .ir-faq .e-n-accordion-item-title-text { font-family: var(--ir-head) !important; font-size: 22px !important; color: var(--ir-ink) !important; }
body.ir-s1 .ir-faq .e-n-accordion-item-title-icon { width: 34px; height: 34px; border-radius: 50%; background: var(--ir-gold-p); display: grid !important; place-items: center; flex: none; }
body.ir-s1 .ir-faq .e-n-accordion-item-title-icon svg { width: 12px; height: 12px; fill: var(--ir-gold-d) !important; }
body.ir-s1 .ir-faq-more { border-radius: var(--ir-r); margin-top: 16px !important; }

/* ---------- contact ---------- */
body.ir-s1 .ir-contactsec { border-radius: 56px 56px 0 0; margin-top: 40px; }
body.ir-s1 .ir-formcard { border-radius: 32px; box-shadow: 0 30px 70px -36px rgba(17,17,17,.3); }
body .ir-contact-list .elementor-icon-list-icon { width: 44px; height: 44px; border-radius: 50%; background: #fff; display: grid !important; place-items: center; box-shadow: 0 0 0 1px var(--ir-sand); }
body .ir-contact-list .elementor-icon-list-item a { min-height: 48px; align-items: center; }
body .ir-contact-tag .elementor-heading-title { font-family: var(--ir-head); }
body .ir-step-h { display: block; font-family: var(--ck-head, var(--ir-head)); font-size: 26px; line-height: 1.2; color: var(--ir-ink); }
body .ir-step-s { display: block; font-size: 15px; color: var(--ir-muted); margin-top: 4px; }

/* ---------- thank you ---------- */
body .ir-arch-img img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 400px 400px 28px 28px / 320px 320px 28px 28px; display: block; }

/* ---------- entrance motion (live only; ir.js adds .ir-in when the element is seen) ---------- */
html.ir-js body.ir-s1 .ir-reveal { opacity: 0; transform: translateY(26px); transition: opacity .9s var(--ir-ease), transform 1s var(--ir-ease); transition-delay: var(--d, 0s); }
html.ir-js body.ir-s1 .ir-reveal.ir-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { html.ir-js body .ir-reveal { opacity: 1 !important; transform: none !important; } }

/* ==========================================================================
   Tablet and phone
   ========================================================================== */
@media (max-width: 1024px) {
  body.ir-s1 .ir-cards > .ir-card, body.ir-s1 .ir-cards > .e-con-inner > .ir-card { width: calc(50% - 9px) !important; }
  .cki-calc { grid-template-columns: 1fr; }
  body.ir-s1 .ir-steps { flex-wrap: wrap !important; row-gap: 34px; }
  body.ir-s1 .ir-step { flex: 1 1 30% !important; }
  body.ir-s1 .ir-steps::before { display: none; }
}
@media (max-width: 767px) {
  html { scroll-padding-top: 76px; }
  body.ir-s1 .ir-hero::before { width: 120vw; top: -60px; }
  body.ir-s1 .ir-hero-media::before { inset: -10px -10px 18px; }
  body.ir-s1 .ir-arch { border-radius: 260px 260px 22px 22px / 200px 200px 22px 22px; }
  body.ir-s1 .ir-hero-card { bottom: 16px; inset-inline-start: 16px; }
  body.ir-s1 .ir-hero-btns { flex-direction: column !important; align-items: stretch !important; gap: 4px !important; }
  body.ir-s1 .ir-hero-btns .ir-btn, body.ir-s1 .ir-hero-btns .ir-link { width: 100% !important; }
  body.ir-s1 .ir-hero-btns .ir-link .elementor-button { width: 100%; justify-content: center; border-bottom: 0; }
  body.ir-s1 .ir-strip-wrap { margin-top: -54px !important; }
  body .ir-form--strip .elementor-field-group { width: 100% !important; }
  body .ir-form--strip .elementor-field-type-submit { width: 100% !important; }
  /* help cards: a swipe rail instead of eight cards in a column */
  body.ir-s1 .ir-cards { flex-wrap: nowrap !important; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 14px !important; margin-inline: -16px !important; padding-inline: 16px !important; width: calc(100% + 32px) !important; scrollbar-width: none; touch-action: pan-x pan-y; }
  body.ir-s1 .ir-cards::-webkit-scrollbar { display: none; }
  body.ir-s1 .ir-cards > .ir-card, body.ir-s1 .ir-cards > .e-con-inner > .ir-card { width: 84% !important; flex: none !important; scroll-snap-align: center; }
  body.ir-s1 .ir-ru { border-radius: 28px; }
  body.ir-s1 .ir-ru-media { order: -1; }
  body.ir-s1 .ir-ru-img img { aspect-ratio: 1 / 1; border-radius: 200px 200px 20px 20px / 160px 160px 20px 20px; }
  /* process: a vertical timeline */
  body.ir-s1 .ir-steps { flex-direction: column !important; gap: 0 !important; }
  body.ir-s1 .ir-step { display: grid !important; grid-template-columns: 70px 1fr; column-gap: 16px; align-items: start !important; text-align: right; padding: 0 0 26px !important; }
  body.ir-s1 .ir-step::before { content: ""; position: absolute; top: 70px; bottom: 0; right: 34px; width: 1px; background: repeating-linear-gradient(180deg, var(--ir-gold-l) 0 6px, transparent 6px 12px); }
  body.ir-s1 .ir-step:last-child::before { display: none; }
  body.ir-s1 .ir-step > .ir-step-icon { grid-column: 1; grid-row: 1 / span 3; }
  body.ir-s1 .ir-step > .ir-step-n, body.ir-s1 .ir-step > .ir-step-t, body.ir-s1 .ir-step > .ir-step-p { grid-column: 2; }
  body.ir-s1 .ir-step .elementor-heading-title, body.ir-s1 .ir-step-p, body.ir-s1 .ir-step-p p { text-align: right !important; }
  body.ir-s1 .ir-step-icon .elementor-icon { padding: 20px !important; }
  .cki-calc__inputs { padding: 26px 20px; gap: 22px; }
  .cki-calc__out { padding: 28px 20px; }
  body.ir-s1 .ir-faq .e-n-accordion-item { padding: 0 16px; }
  body.ir-s1 .ir-faq .e-n-accordion-item-title-text { font-size: 19px !important; }
  body.ir-s1 .ir-contactsec, body.ir-s1 .ir-footer { border-radius: 32px 32px 0 0; }
}

/* ==========================================================================
   Sketch 1 · self review round 1 (26.10)
   ========================================================================== */
/* centered sections shrink custom widgets to their content: give the deck and the ring the full width */
body .ir-rev, body .ir-ring, body .ir-calc { width: 100% !important; max-width: 100% !important; }
/* reviews: only the front card shows its words; the cards behind are just edges */
body.ir-s1 .cki-rev__deck { width: min(820px, 100%); }
body .cki-rev__card:not([data-pos="0"]) .cki-rev__body > * { opacity: 0; transition: opacity .3s; }
body.ir-s1 .cki-rev__body blockquote { font-family: var(--ir-body); font-weight: 500; font-size: 19px; line-height: 1.75; color: var(--ir-ink); overflow: visible; }
body.ir-s1 .cki-rev__mark { font-family: var(--ir-head); color: var(--ir-gold); opacity: .5; }
body.ir-s1 .cki-rev__avatar { background: var(--ir-gold-p); color: var(--ir-gold-d); font-family: var(--ir-head); font-weight: 400; }
body.ir-s1 .cki-rev__score { border-color: var(--ir-sand); }
/* calculator: two equal halves, the saving line stacks, figures read right to left */
body .ir-calc .cki-calc { grid-template-columns: 1fr 1fr; }
.cki-calc__val, .cki-calc__pay, .cki-calc__meta b, .cki-calc__save b { direction: rtl; unicode-bidi: isolate; text-align: right; }
.cki-calc__save { flex-direction: column; gap: 4px; }
.cki-calc__save b { font-size: 26px; line-height: 1.1; }
.cki-calc__cta span { white-space: nowrap; }
/* FAQ: Elementor's own title border inside our card */
body .ir-faq .e-n-accordion-item-title, body .ir-faq .e-n-accordion-item > .e-con { border: 0 !important; }
body .ir-faq .e-n-accordion-item-title { padding-inline: 0 !important; }
/* step form: the progress fills from the right */
body .ck-form .e-form__indicators__indicator__progress { direction: rtl; }
/* Latin and Cyrillic: Birzia has capitals only, so emails and the Russian lines use the system face */
body .elementor-icon-list-item a[href^="mailto"] .elementor-icon-list-text,
body.ir-s1 .ir-ru-kick .elementor-heading-title, body.ir-s1 .ir-ru-line .elementor-heading-title, body.ir-s1 .ir-ru .ir-btn--gold .elementor-button-text { font-family: "Segoe UI", system-ui, -apple-system, Arial, sans-serif !important; text-transform: none; }
/* the belief quote mark sits inside the card */
body.ir-s1 .ir-belief::before { inset-inline-end: auto; right: 22px; top: -44px; }
/* footer follows the ivory contact section: no second rounded edge, a thin gold rule instead */
body.ir-s1 .ir-footer { border-radius: 0 !important; background: #EFEBE3 !important; padding-bottom: 60px !important; border-top: 1px solid rgba(166,133,13,.25); }
body.ir-s1 .ir-gold-btn-fix { color: var(--ir-ink); }
body .ir-btn--gold .elementor-button-icon { background: rgba(17,17,17,.1); }
/* sketch switcher (review only): on phones it sits inside the header, between the logo and the menu */
@media (max-width: 767px) {
  .cki-sk { top: 14px !important; z-index: 100000; }
  body.ir-s1 .cki-rev__deck { height: 600px; }
  body.ir-s1 .cki-rev__body blockquote { font-size: 17px; }
  body.ir-s1 .ir-footer { padding-bottom: 130px !important; }
}

/* round 2 (26.10): phone calculator in one column, plain gold phrase that may wrap, FAQ head stays put */
body .ir-goldtxt { color: var(--ir-gold); }
body.ir-s1 .ir-faq-head { position: sticky; top: 110px; }
@media (max-width: 1024px) {
  body .ir-calc .cki-calc { grid-template-columns: 1fr; }
  body.ir-s1 .ir-faq-head { position: static; }
}

/* Birzia draws Latin in capitals only: domains and emails inside running text */
body .ir-latin { font-family: "Segoe UI", system-ui, -apple-system, Arial, sans-serif; }

/* ==========================================================================
   Sketch 1 · expert QA round (26.10)
   ========================================================================== */
/* the arch really clips the film (border-radius + overflow lost to Elementor's own overflow rule) */
body.ir-s1 .ir-arch { clip-path: inset(0 round 400px 400px 28px 28px / 340px 340px 28px 28px); }
body.ir-s1 .ir-arch .elementor-background-video-container, body.ir-s1 .ir-arch .elementor-background-overlay { border-radius: inherit; }
body.ir-s1 .ir-hero-sub .elementor-heading-title { max-width: 660px; }
body.ir-s1 .ir-hero-card .elementor-heading-title { gap: 10px; }
body.ir-s1 .ir-stars { margin-inline-end: 2px; }
/* header: solid enough to read over photos, shrinks once you scroll, sits above every section (the 3D ring painted over it) */
body .elementor-location-header { position: relative; z-index: 1000; }
body .ir-header.elementor-sticky--active, body .ir-header.elementor-sticky { z-index: 1000 !important; }
body.ir-s1 .ir-header.elementor-sticky--effects { background-color: rgba(255,255,255,.96) !important; backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
body .ir-header.elementor-sticky--effects .ir-logo img { width: 64px !important; }
body .ir-logo--short img { width: 92px; }
/* lead strip: the consent checkbox is a checkbox again (the input rule gave it 52px of height) */
body .ir-form--strip .elementor-field-type-acceptance .elementor-field-option { display: flex; align-items: center; gap: 10px; min-height: 44px; }
body .ir-form--strip input.elementor-acceptance-field { min-height: 0 !important; height: 20px !important; width: 20px !important; padding: 0 !important; margin: 0 !important; flex: none; }
body .ir-form--strip .elementor-field-type-acceptance a { display: inline-block; padding-block: 12px; }
/* help cards: list items with a gold dot and a hanging indent; titles share a 2 line slot so the gold lines align */
body .ir-dots { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
body .ir-dots li { position: relative; padding-inline-start: 18px; }
body .ir-dots li::before { content: ""; position: absolute; inset-inline-start: 0; top: .72em; width: 6px; height: 6px; border-radius: 50%; background: var(--ir-gold); }
body.ir-s1 .ir-card-t .elementor-heading-title { min-height: 2.4em; display: flex; align-items: flex-end; }
/* process: the dotted line runs through the centres of the circles, from the first to the last */
body.ir-s1 .ir-steps::before { top: 74px; inset-inline: 10%; z-index: 0; }
body.ir-s1 .ir-step-t .elementor-heading-title { min-height: 2.5em; display: flex; align-items: flex-start; justify-content: center; }
body.ir-s1 .ir-step-icon .elementor-icon { background: #fff; border-color: var(--ir-gold-l); }
/* Russian band: the Cyrillic now comes from the matching webfont (core), no system font and no fake italic */
body.ir-s1 .ir-ru-kick .elementor-heading-title, body.ir-s1 .ir-ru-line .elementor-heading-title, body.ir-s1 .ir-ru .ir-btn--gold .elementor-button-text { font-family: var(--ir-body) !important; font-style: normal !important; }
body.ir-s1 .ir-ru-img img { object-position: 50% 40%; }
/* gallery: visible round arrows, larger dots, RTL */
body .ir-office-car .elementor-swiper-button { width: 48px; height: 48px; border-radius: 50%; background: #fff; border: 1px solid var(--ir-gold-l); display: grid; place-items: center; box-shadow: 0 8px 20px -10px rgba(17,17,17,.4); }
body .ir-office-car .elementor-swiper-button svg { width: 18px; height: 18px; fill: var(--ir-ink); }
body .ir-office-car .swiper-pagination-bullet { width: 8px; height: 8px; margin: 0 6px !important; }
body .ir-office-car .swiper-pagination-bullet-active { width: 26px; border-radius: 99px; background: var(--ir-gold); }
/* FAQ: her subline under the heading */
body.ir-s1 .ir-faq-sub .elementor-heading-title { font-family: var(--ir-head); }
body.ir-s1 .ir-faq .e-n-accordion-item-title-text { text-wrap: balance; }
/* small type: never under 13px */
body .cki-rev__body footer small, body .ckw-who span { font-size: 13px; }

/* ---------- phones: the film in the first screen, the call to action above the bottom bar ---------- */
@media (max-width: 767px) {
  body.ir-s1 .ir-hero > .e-con-inner { display: flex; flex-direction: column; flex-wrap: nowrap; align-items: stretch; gap: 14px; }
  body.ir-s1 .ir-hero-text, body.ir-s1 .ir-hero-media { display: contents !important; }
  body.ir-s1 .ir-hero-text > * { order: 10; }
  body.ir-s1 .ir-hero .ir-eyebrow--roof { order: 1; }
  body.ir-s1 .ir-hero .ir-h1 { order: 2; }
  body.ir-s1 .ir-hero .ir-hero-sub { order: 3; }
  body.ir-s1 .ir-hero .ir-arch { order: 4; min-height: 0 !important; height: clamp(150px, 24svh, 210px); clip-path: inset(0 round 999px 999px 20px 20px / 150px 150px 20px 20px); }
  body.ir-s1 .ir-hero .ir-hero-btns { order: 5; }
  body.ir-s1 .ir-hero .ir-hero-p { order: 6; }
  body.ir-s1 .ir-hero .ir-sign { order: 7; }
  body.ir-s1 .ir-hero .ir-hero-card { bottom: 12px; inset-inline-start: 12px; }
  body.ir-s1 .ir-hero .ir-hero-card .elementor-heading-title { padding: 8px 14px; font-size: 13px; }
  body.ir-s1 .ir-hero-p p { line-height: 1.6; }
  body.ir-s1 .ir-hero-btns { gap: 0 !important; }
  body.ir-s1 .ir-strip-wrap { margin-top: -40px !important; }
  body .ir-header.elementor-sticky--effects .ir-logo img { width: 56px !important; }
  body.ir-s1 .ir-card-t .elementor-heading-title { min-height: 0; }
  body.ir-s1 .ir-step-t .elementor-heading-title { min-height: 0; justify-content: flex-start; }
  body .ir-office-car .elementor-swiper-button { width: 44px; height: 44px; }
}
@media (max-width: 400px) and (max-height: 780px) {
  body.ir-s1 .ir-hero .ir-h1 .elementor-heading-title { font-size: 38px !important; }
  body.ir-s1 .ir-hero .ir-hero-sub .elementor-heading-title { font-size: 18px !important; }
  body.ir-s1 .ir-hero .ir-arch { height: 150px; }
  body.ir-s1 .ir-hero > .e-con-inner { gap: 10px; }
}
@media (max-width: 767px) { body.ir-s1 .ir-hero-media::before { display: none !important; } }
/* QA 26.10: the whole hero pill is the link; consent rows in every form are a comfortable tap target */
body.ir-s1 .ir-hero-card .elementor-heading-title { padding: 0 !important; }
body.ir-s1 .ir-hero-card .elementor-heading-title a { display: inline-flex; align-items: center; gap: 10px; padding: 12px 18px; min-height: 44px; }
body .ck-form .elementor-field-type-acceptance .elementor-field-option { display: flex; align-items: center; gap: 10px; min-height: 44px; }
body .ck-form .elementor-field-type-acceptance input { width: 20px; height: 20px; flex: none; margin: 0; }
body .ck-form .elementor-field-type-acceptance a { display: inline-block; padding-block: 10px; }
@media (max-width: 767px) { body.ir-s1 .ir-footer { padding-bottom: 112px !important; } }
/* the zoom finale uses Noa Shalev as it is (it has one weight; a synthetic 800 made it look like another face) */
body.ir-s1 .cki-zoom .cki-zoom__title { font-family: var(--ir-head) !important; font-weight: 400 !important; font-synthesis: none; letter-spacing: 0; }

/* ==========================================================================
   Re-check round (26.10)
   ========================================================================== */
/* reviews: shorter reviews sit in the middle of the card instead of leaving a white gap above the name */
body .cki-rev__body { justify-content: center; }
body .cki-rev__body blockquote { flex: 0 0 auto !important; }
/* reviews arrows: › and ‹ are mirrored by the browser inside RTL text; draw them left to right so prev points right and next points left */
body .cki-rev__nav button span { direction: ltr; unicode-bidi: bidi-override; display: inline-block; font-size: 26px; line-height: 1; }
/* lead strip: heading over the form, one line */
body.ir-s1 .ir-strip-t .elementor-heading-title { white-space: normal; }
/* about: room for the hanging quote mark above the belief card */
body.ir-s1 .ir-belief { margin-top: 40px !important; }
/* gallery arrows: a clear dark chevron inside the white circle */
body .ir-office-car .elementor-swiper-button { color: var(--ir-ink) !important; font-size: 18px; }
body .ir-office-car .elementor-swiper-button svg, body .ir-office-car .elementor-swiper-button i { fill: var(--ir-ink) !important; color: var(--ir-ink) !important; width: 20px; height: 20px; font-size: 20px; }
@media (max-width: 767px) {
  /* phones swipe; the arrows sat under the cookie button */
  body .ir-office-car .elementor-swiper-button { display: none !important; }
  /* the cookie button waits until the visitor leaves the opening screen (it covered the hero buttons), like the chat button */
  html.ir-js:not(.ir-scrolled) #ckc .ckc-fab { opacity: 0 !important; pointer-events: none !important; transform: scale(.6) !important; transition: opacity .3s, transform .3s; }
}
/* step form chips: one full width column on narrow phones, so no label stacks four lines */
@media (max-width: 400px) {
  .ck-form .elementor-field-type-radio .elementor-field-subgroup.elementor-subgroup-inline { grid-template-columns: 1fr !important; }
  .ck-form .elementor-field-type-radio .elementor-subgroup-inline .elementor-field-option label { min-height: 46px; justify-content: flex-start; text-align: right; }
}
.ck-form .elementor-field-type-radio .elementor-field-subgroup.elementor-subgroup-inline { grid-auto-rows: 1fr; }
/* chat close button: a real 44px target */
#ckw #ckw-x { width: 44px !important; height: 44px !important; min-width: 44px !important; min-height: 44px !important; padding: 0 !important; }
/* 3D video cards: isolation on the ring itself flattened its depth sorting (a back card showed through the front one); the header z-index now does that job */
.cki-ring { isolation: auto !important; z-index: auto !important; }
/* process line: Elementor gives every container ::before width/height 100% (its overlay layer); pin ours to a 1px line through the icon centres */
body.ir-s1 .ir-steps::before { width: auto !important; height: 1px !important; top: 94px !important; left: 10% !important; right: 10% !important; }
