/* Canonical Reactor preset palette, generated from design-presets.json. */
/* Geometry belongs to element layout. Brand colours are live theme tokens. */
.r1-reactor-preset--basic{--r1-ps-surface:var(--r1-user-ps-surface,#ffffff);--r1-ps-surface-alt:var(--r1-user-ps-surface-alt,#F8FAFC);--r1-ps-text:var(--r1-user-ps-text,#26303A);--r1-ps-muted:var(--r1-user-ps-muted,#667585);--r1-ps-border:var(--r1-user-ps-border,#E5E8EF);--r1-ps-stroke:var(--r1-user-ps-stroke,1px);--r1-ps-shadow:var(--r1-user-ps-shadow,0 4px 16px rgba(23,34,51,.08));--r1-ps-accent:var(--r1-user-ps-accent,var(--r1-primary,#0A95AE));--r1-ps-icon-bg:var(--r1-user-ps-icon-background,#F1F5F9);--r1-ps-hover:var(--r1-user-ps-hover,#F8FAFC);--r1-ps-lift:var(--r1-user-ps-lift,-1px);--r1-ps-active-bg:var(--r1-primary,#0A95AE);--r1-ps-active-text:#ffffff;--r1-ps-stripe:#F8FAFC;}
.r1-reactor-preset--primary{--r1-ps-surface:var(--r1-user-ps-surface,var(--r1-primary,#0A95AE));--r1-ps-surface-alt:var(--r1-user-ps-surface-alt,var(--r1-primary-hover,#087F95));--r1-ps-text:var(--r1-user-ps-text,#ffffff);--r1-ps-muted:var(--r1-user-ps-muted,rgba(255,255,255,.84));--r1-ps-border:var(--r1-user-ps-border,var(--r1-primary-hover,#087F95));--r1-ps-stroke:var(--r1-user-ps-stroke,0px);--r1-ps-shadow:var(--r1-user-ps-shadow,none);--r1-ps-accent:var(--r1-user-ps-accent,#ffffff);--r1-ps-icon-bg:var(--r1-user-ps-icon-background,rgba(255,255,255,.15));--r1-ps-hover:var(--r1-user-ps-hover,var(--r1-primary-hover,#087F95));--r1-ps-lift:var(--r1-user-ps-lift,0px);--r1-ps-active-bg:#ffffff;--r1-ps-active-text:var(--r1-primary,#0A95AE);--r1-ps-stripe:rgba(255,255,255,.12);}
.r1-reactor-preset--outline{--r1-ps-surface:var(--r1-user-ps-surface,transparent);--r1-ps-surface-alt:var(--r1-user-ps-surface-alt,transparent);--r1-ps-text:var(--r1-user-ps-text,var(--r1-text,#111827));--r1-ps-muted:var(--r1-user-ps-muted,var(--r1-text-muted,#6B7280));--r1-ps-border:var(--r1-user-ps-border,var(--r1-primary,#0A95AE));--r1-ps-stroke:var(--r1-user-ps-stroke,1px);--r1-ps-shadow:var(--r1-user-ps-shadow,none);--r1-ps-accent:var(--r1-user-ps-accent,var(--r1-primary,#0A95AE));--r1-ps-icon-bg:var(--r1-user-ps-icon-background,transparent);--r1-ps-hover:var(--r1-user-ps-hover,transparent);--r1-ps-lift:var(--r1-user-ps-lift,0px);--r1-ps-active-bg:var(--r1-primary,#0A95AE);--r1-ps-active-text:#ffffff;--r1-ps-stripe:transparent;}
.r1-reactor-preset--soft{--r1-ps-surface:var(--r1-user-ps-surface,color-mix(in srgb,var(--r1-primary,#0A95AE) 10%,white));--r1-ps-surface-alt:var(--r1-user-ps-surface-alt,color-mix(in srgb,var(--r1-primary,#0A95AE) 14%,white));--r1-ps-text:var(--r1-user-ps-text,var(--r1-text,#111827));--r1-ps-muted:var(--r1-user-ps-muted,var(--r1-text-muted,#6B7280));--r1-ps-border:var(--r1-user-ps-border,transparent);--r1-ps-stroke:var(--r1-user-ps-stroke,0px);--r1-ps-shadow:var(--r1-user-ps-shadow,none);--r1-ps-accent:var(--r1-user-ps-accent,var(--r1-primary,#0A95AE));--r1-ps-icon-bg:var(--r1-user-ps-icon-background,color-mix(in srgb,var(--r1-primary,#0A95AE) 14%,white));--r1-ps-hover:var(--r1-user-ps-hover,color-mix(in srgb,var(--r1-primary,#0A95AE) 16%,white));--r1-ps-lift:var(--r1-user-ps-lift,0px);--r1-ps-active-bg:var(--r1-primary,#0A95AE);--r1-ps-active-text:#ffffff;--r1-ps-stripe:color-mix(in srgb,var(--r1-primary,#0A95AE) 14%,white);}
.r1-reactor-preset--minimal{--r1-ps-surface:var(--r1-user-ps-surface,transparent);--r1-ps-surface-alt:var(--r1-user-ps-surface-alt,transparent);--r1-ps-text:var(--r1-user-ps-text,var(--r1-text,#111827));--r1-ps-muted:var(--r1-user-ps-muted,var(--r1-text-muted,#6B7280));--r1-ps-border:var(--r1-user-ps-border,transparent);--r1-ps-stroke:var(--r1-user-ps-stroke,0px);--r1-ps-shadow:var(--r1-user-ps-shadow,none);--r1-ps-accent:var(--r1-user-ps-accent,var(--r1-primary,#0A95AE));--r1-ps-icon-bg:var(--r1-user-ps-icon-background,transparent);--r1-ps-hover:var(--r1-user-ps-hover,transparent);--r1-ps-lift:var(--r1-user-ps-lift,0px);--r1-ps-active-bg:transparent;--r1-ps-active-text:var(--r1-primary,#0A95AE);--r1-ps-stripe:transparent;}
.r1-reactor-preset--dark{--r1-ps-surface:var(--r1-user-ps-surface,#313B48);--r1-ps-surface-alt:var(--r1-user-ps-surface-alt,#414E5C);--r1-ps-text:var(--r1-user-ps-text,#ffffff);--r1-ps-muted:var(--r1-user-ps-muted,#CBD5E1);--r1-ps-border:var(--r1-user-ps-border,#586879);--r1-ps-stroke:var(--r1-user-ps-stroke,1px);--r1-ps-shadow:var(--r1-user-ps-shadow,none);--r1-ps-accent:var(--r1-user-ps-accent,#E7EDF4);--r1-ps-icon-bg:var(--r1-user-ps-icon-background,#414E5C);--r1-ps-hover:var(--r1-user-ps-hover,#414E5C);--r1-ps-lift:var(--r1-user-ps-lift,0px);--r1-ps-active-bg:#E7EDF4;--r1-ps-active-text:#313B48;--r1-ps-stripe:#414E5C;}
.r1-reactor-preset--glass{--r1-ps-surface:var(--r1-user-ps-surface,rgba(255,255,255,.52));--r1-ps-surface-alt:var(--r1-user-ps-surface-alt,rgba(255,255,255,.62));--r1-ps-text:var(--r1-user-ps-text,#1F2937);--r1-ps-muted:var(--r1-user-ps-muted,#475569);--r1-ps-border:var(--r1-user-ps-border,rgba(255,255,255,.62));--r1-ps-stroke:var(--r1-user-ps-stroke,1px);--r1-ps-shadow:var(--r1-user-ps-shadow,0 10px 34px rgba(15,23,42,.12));--r1-ps-accent:var(--r1-user-ps-accent,var(--r1-primary,#0A95AE));--r1-ps-icon-bg:var(--r1-user-ps-icon-background,rgba(255,255,255,.46));--r1-ps-hover:var(--r1-user-ps-hover,rgba(255,255,255,.64));--r1-ps-lift:var(--r1-user-ps-lift,-1px);--r1-ps-active-bg:var(--r1-primary,#0A95AE);--r1-ps-active-text:#ffffff;--r1-ps-stripe:rgba(255,255,255,.18);--r1-ps-backdrop-blur:16px;}
.r1-reactor-preset--gradient{--r1-ps-surface:var(--r1-user-ps-surface,linear-gradient(125deg,var(--r1-primary,#0A95AE),color-mix(in srgb,var(--r1-primary,#0A95AE) 72%,black)));--r1-ps-surface-alt:var(--r1-user-ps-surface-alt,linear-gradient(125deg,var(--r1-primary-hover,#087F95),color-mix(in srgb,var(--r1-primary-hover,#087F95) 72%,black)));--r1-ps-text:var(--r1-user-ps-text,#ffffff);--r1-ps-muted:var(--r1-user-ps-muted,rgba(255,255,255,.9));--r1-ps-border:var(--r1-user-ps-border,transparent);--r1-ps-stroke:var(--r1-user-ps-stroke,0px);--r1-ps-shadow:var(--r1-user-ps-shadow,0 9px 26px rgba(15,23,42,.14));--r1-ps-accent:var(--r1-user-ps-accent,#ffffff);--r1-ps-icon-bg:var(--r1-user-ps-icon-background,rgba(255,255,255,.16));--r1-ps-hover:var(--r1-user-ps-hover,linear-gradient(125deg,var(--r1-primary-hover,#087F95),color-mix(in srgb,var(--r1-primary-hover,#087F95) 72%,black)));--r1-ps-lift:var(--r1-user-ps-lift,-1px);--r1-ps-active-bg:#ffffff;--r1-ps-active-text:var(--r1-primary,#0A95AE);--r1-ps-stripe:rgba(255,255,255,.13);--r1-ps-backdrop-blur:0px;}

/* A preset never changes geometry. One radius contract for every design,
 * including Gradient, Glass and Minimal. Manual radii can override it. */
:is(.r1-reactor-preset--basic,.r1-reactor-preset--primary,.r1-reactor-preset--outline,
    .r1-reactor-preset--soft,.r1-reactor-preset--minimal,.r1-reactor-preset--dark,
    .r1-reactor-preset--glass,.r1-reactor-preset--gradient){
 --r1-ps-radius:var(--r1-user-ps-radius,var(--r1-card-radius,var(--r1-theme-radius,14px)));
}

/* Preset text is derived from the common Style fields; theme typography cannot override it. */
:is(.r1-reactor-preset--gradient,.r1-reactor-preset--dark,.r1-reactor-preset--primary){
 --r1-text:var(--r1-ps-text);
 --r1-muted:var(--r1-ps-muted);
 --r1-text-muted:var(--r1-ps-muted);
 color:var(--r1-ps-text);
}
/* Only preset-owned content: editable individual colours still flow through
 * their component vars and manual fields. Inputs/buttons keep their own tokens. */
:is([class*="r1-reactor-preset--"]) :is(
 .r1-reactor-testimonials footer span,.r1-reactor-team>article>span,
 .r1-reactor-stats p,.r1-reactor-posts time,.r1-reactor-posts p,
 .r1-reactor-gallery figcaption,
 .r1-reactor-brand-slider__name,.r1-reactor-chart__source
){color:var(--r1-ps-muted);}
:is([class*="r1-reactor-preset--"]) :is(.r1-reactor-stats strong,.r1-reactor-stats strong span){color:var(--r1-ps-text);}

/* One text role for Team's job title (span) and biography (p): same preset
   muted colour. Explicit user overrides use the shared --r1-user-ps-muted. */
.r1-reactor-team[class*="r1-reactor-preset--"] > article > :is(span,p){
 color:var(--r1-ps-muted);
}
/* Card recipe: used consistently by components, blog and WooCommerce. */
.r1-reactor-preset--primary,.r1-reactor-preset--outline,.r1-reactor-preset--soft,.r1-reactor-preset--minimal,.r1-reactor-preset--dark,.r1-reactor-preset--basic,.r1-reactor-preset--glass,.r1-reactor-preset--gradient{--r1-ps-transition:180ms ease;}
:is([class*="r1-reactor-preset--"]) :is(
 .r1-reactor-team article,.r1-reactor-testimonials article,.r1-reactor-stats>div,
 .r1-reactor-posts article,.r1-reactor-contact-item,.r1-reactor-trust-trigger,
 .r1-reactor-work-step,
 .r1-reactor-icon-list li,
 .r1-reactor-table-wrap,.r1-reactor-data-table tr,.r1-reactor-product-slider li.product,
.r1-reactor-gallery figure
),.r1-reactor-icon-block[class*="r1-reactor-preset--"]{
 background:var(--r1-ps-surface);color:var(--r1-ps-text);border-color:var(--r1-ps-border);
 border-style:solid;border-width:var(--r1-ps-stroke);border-radius:var(--r1-ps-radius);
 box-shadow:var(--r1-ps-shadow);transition:box-shadow var(--r1-ps-transition),transform var(--r1-ps-transition),border-color var(--r1-ps-transition);
}
/* Explicit typography only within styled cards; media content and settings chrome remain unaffected. */
:is([class*="r1-reactor-preset--"]) :is(.r1-reactor-team article,.r1-reactor-testimonials article,.r1-reactor-stats>div,.r1-reactor-posts article,.r1-reactor-contact-item,.r1-reactor-trust-trigger,.r1-reactor-work-step,.r1-reactor-accordion details) :is(h2,h3,h4,p,blockquote,strong,span){color:inherit;}
:is([class*="r1-reactor-preset--"]) :is(.r1-reactor-contact-item__icon,.r1-reactor-icon-list__icon){background:var(--r1-ps-icon-bg);color:var(--r1-ps-accent);}
/* Trust Trigger icons are unboxed across all presets; their foreground color still follows the preset. */
.r1-reactor-trust-triggers[class*="r1-reactor-preset--"] .r1-reactor-trust-trigger__icon{color:var(--r1-trust-accent,var(--r1-ps-accent));}
/* Blog Grid cards: title links are a part of the card text palette, not
 * theme navigation links. Their foreground must follow Dark/Primary/Gradient,
 * while Outline and Minimal remain transparent as their recipe specifies. */
:is([class*="r1-reactor-preset--"]) .r1-reactor-posts article h3 a,
:is([class*="r1-reactor-preset--"]) .r1-reactor-posts article h3 a:visited,
:is([class*="r1-reactor-preset--"]) .r1-reactor-posts article h3 a:hover {
 color:var(--r1-ps-text);
}
/* The neutral fallback is only for blocks without an enabled preset. */
.r1-reactor-posts article{background-color:var(--r1-ps-surface,#ffffff);}

/* Only actual links and controls have hover feedback; static content cards do not lift. */
.r1-reactor-preset--minimal .r1-reactor-accordion details:hover{background:var(--r1-ps-hover);color:var(--r1-ps-accent);}

/* Spacing belongs to the component layout controls, never to the preset. */
/* Component recipes and common Style-panel overrides share the same palette defaults. */
/* Form decoration comes from editable --r1-form-* fields, not preset CSS rules. */

/* FAQ uses its own --r1-faq-* component variables, sourced from common tokens. */
.r1-reactor-accordion[class*="r1-reactor-preset--"]{
 --r1-faq-bg:var(--r1-ps-surface);--r1-faq-text:var(--r1-ps-text);--r1-faq-muted:var(--r1-ps-muted);
 --r1-faq-border:var(--r1-ps-border);--r1-faq-accent:var(--r1-ps-accent);
}
/* 3.3.170: accordion items are the painted cards, NOT their outer wrapper.
 * One panel.card editor maps background/border/radius/shadow onto existing
 * inner* keys. Authored values override the same shared preset tokens. */
html body .r1-reactor-accordion[class*="r1-reactor-preset--"]{
 --r1-faq-bg:var(--r1-user-ps-card-bg,var(--r1-ps-surface));
 --r1-faq-border:var(--r1-user-ps-card-border,var(--r1-ps-border));
 --r1-faq-text:var(--r1-ps-text);
 --r1-faq-muted:var(--r1-ps-muted);
 --r1-faq-accent:var(--r1-ps-accent);
}
html body .r1-reactor-accordion[class*="r1-reactor-preset--"] > details{
 border-style:var(--r1-user-ps-card-border-style,solid);
 border-width:var(--r1-user-ps-card-width,var(--r1-ps-stroke));
 border-color:var(--r1-faq-border);
 
 background:var(--r1-faq-bg);
 box-shadow:var(--r1-ps-shadow);
}
/* Only explicitly authored radius corners override the shared radius. */
html body .r1-reactor-accordion[class*="r1-reactor-preset--"] > details{
 border-radius:var(--r1-user-ps-card-radius-corners,var(--r1-user-ps-card-radius,var(--r1-ps-radius,14px)));
}
/* Navigation: all presentation panels style the actual links, not the outer host.
 * Only deliberate edits create --r1-nav-* vars; otherwise the common preset
 * palette (including true Gradient / Glass background and 14px radius) wins. */
.r1-reactor-navigation[class*="r1-reactor-preset--"] .r1-reactor-nav-menu li>a{
 color:var(--r1-nav-text-color,var(--r1-ps-text));
 background:var(--r1-nav-background,var(--r1-ps-surface));
 border:var(--r1-nav-border-width,var(--r1-ps-stroke)) var(--r1-nav-border-style,solid) var(--r1-nav-border-color,var(--r1-ps-border));
 border-radius:var(--r1-nav-radius,var(--r1-ps-radius));
 box-shadow:var(--r1-nav-shadow,var(--r1-ps-shadow));
 font-size:var(--r1-nav-font-size,inherit);font-weight:var(--r1-nav-font-weight,600);
 font-family:var(--r1-nav-font-family,inherit);line-height:var(--r1-nav-line-height,inherit);
 letter-spacing:var(--r1-nav-letter-spacing,normal);text-transform:var(--r1-nav-text-transform,none);
 text-decoration:var(--r1-nav-text-decoration,none);
 padding:8px 12px;
 transition:background .18s ease,box-shadow .18s ease,color .18s ease,border-color .18s ease;
}
.r1-reactor-navigation[class*="r1-reactor-preset--"] .r1-reactor-nav-menu li>a:is(:hover,:focus-visible){
 background:var(--r1-nav-hover,var(--r1-ps-hover));
 color:var(--r1-nav-hover-text,var(--r1-ps-accent,var(--r1-ps-text)));
 border-color:var(--r1-nav-hover-border,var(--r1-nav-border-color,var(--r1-ps-border)));
}
@media (min-width:768px) and (max-width:1024px){
 .r1-reactor-navigation[class*="r1-reactor-preset--"] .r1-reactor-nav-menu li>a{font-size:var(--r1-nav-font-size-tablet,var(--r1-nav-font-size,inherit));}
}
@media (max-width:767px){
 .r1-reactor-navigation[class*="r1-reactor-preset--"] .r1-reactor-nav-menu li>a{font-size:var(--r1-nav-font-size-mobile,var(--r1-nav-font-size-tablet,var(--r1-nav-font-size,inherit)));}
}

/* Every table, chart and navigation component reads the same active palette. */
:is([class*="r1-reactor-preset--"]) .r1-reactor-data-table{color:var(--r1-ps-text);}
:is([class*="r1-reactor-preset--"]) .r1-reactor-data-table :is(th,td){color:var(--r1-ps-text);border-color:var(--r1-ps-border);}
:is([class*="r1-reactor-preset--"]) .r1-reactor-data-table tbody tr:nth-child(2n){background:var(--r1-ps-stripe);}
:is([class*="r1-reactor-preset--"]) :is(.r1-reactor-chart,.r1-reactor-chart-wrap){color:var(--r1-ps-text);}
/* Native buttons preserve their size/layout/hover controls. */


/* Typography and icons inherit from the canonical preset tokens in every design. */
/* Light Icon Block cards use their own text colours. In particular, Outline
 * and Minimal must not inherit the page's white --r1-text / --r1-muted
 * variables from a dark ancestor. Manual colours still win when authored. */
.r1-reactor-icon-block.r1-reactor-preset--outline,
.r1-reactor-icon-block.r1-reactor-preset--soft,
.r1-reactor-icon-block.r1-reactor-preset--minimal{
 --r1-ps-text:var(--r1-user-ps-text,#26303A);
 --r1-ps-muted:var(--r1-user-ps-muted,#667585);
}
/* Icon Block owns its foreground palette. Theme headings/paragraphs must not
 * mask Reactor/Dark/Gradient text, and the glyph uses ACCENT, not title text.
 * Selectors remain scoped to this component; manual edits feed the same tokens. */
.r1-reactor-icon-block[class*="r1-reactor-preset--"] .r1-reactor-icon-block__body h3,
body.r1-reactor-styles-theme .r1-reactor-icon-block[class*="r1-reactor-preset--"] .r1-reactor-icon-block__body h3{color:var(--r1-ps-text) !important;}
.r1-reactor-icon-block[class*="r1-reactor-preset--"] .r1-reactor-icon-block__body p,
body.r1-reactor-styles-theme .r1-reactor-icon-block[class*="r1-reactor-preset--"] .r1-reactor-icon-block__body p{color:var(--r1-ps-muted) !important;}
.r1-reactor-icon-block[class*="r1-reactor-preset--"] .r1-reactor-icon{
 color:var(--r1-ps-accent);
 background-color:var(--r1-ps-icon-bg);
}
.r1-reactor-trust-triggers[class*="r1-reactor-preset--"] .r1-reactor-trust-trigger h3{color:var(--r1-ps-text);}
.r1-reactor-trust-triggers[class*="r1-reactor-preset--"] .r1-reactor-trust-trigger p{color:var(--r1-ps-muted);}
.r1-reactor-accordion[class*="r1-reactor-preset--"] summary::after{border-color:var(--r1-ps-border);}

/* Native Heading preset text is the same editable token as other component typography. */
.wp-block-heading[class*="r1-reactor-preset--"]{color:var(--r1-ps-text);}

/* Hover feedback belongs only to navigational or interactive surfaces.
 * Decorative team, testimonial, icon, trust, step, stat and quote cards remain
 * visually stable regardless of the selected design preset. */
:is([class*="r1-reactor-preset--"]) :is(
 .r1-reactor-products li.product:has(a[href])
):hover{background:var(--r1-ps-hover);}

/* Native/element-specific theme typography must not override editable preset
 * typography: the values are inherited from the same shared Style controls. */
:is([class*="r1-reactor-preset--"]) :is(.r1-reactor-gallery figcaption,.r1-reactor-chart__source,.r1-reactor-brand-slider__name){color:var(--r1-ps-muted);}

/* GLASS + GRADIENT: canonical surface effects, shared across Builder/front end. */
:where(.r1-reactor-preset--glass) :is(
 .r1-reactor-team article,.r1-reactor-testimonials article,.r1-reactor-stats>div,
 .r1-reactor-posts article,.r1-reactor-contact-item,.r1-reactor-trust-trigger,
 .r1-reactor-work-step,.r1-reactor-brand-slider__item,.r1-reactor-logo-grid>a,
 .r1-reactor-logo-grid>span,.r1-reactor-icon-list li,
 .r1-reactor-accordion details,.r1-reactor-table-wrap,.r1-reactor-gallery figure,
 .r1-reactor-tabs__nav button,.reactor-ticker
),.r1-reactor-icon-block.r1-reactor-preset--glass{
 -webkit-backdrop-filter:blur(var(--r1-ps-backdrop-blur,16px));
 backdrop-filter:blur(var(--r1-ps-backdrop-blur,16px));
}
/* Existing component variables already carry effect recipes and manual overrides. */
/* Glass and Gradient also work for native Builder buttons. */
.r1-reactor-preset--glass.r1-reactor-buttons .wp-block-button__link{
 -webkit-backdrop-filter:blur(var(--r1-ps-backdrop-blur,16px));backdrop-filter:blur(var(--r1-ps-backdrop-blur,16px));
}


@media(prefers-reduced-motion:reduce){
 :is(.r1-reactor-preset--glass,.r1-reactor-preset--gradient){--r1-ps-transition:0ms;--r1-ps-lift:0px;}
}

/* Media keeps its photo/video; the inner text panel reads only the common
 * Background and Typography variables prepared by the PHP renderer. */
:is(.r1-reactor-hero-block,.r1-reactor-banner-block,.r1-reactor-fullscreen-slider-block,.r1-reactor-wide-slider-block):is(.r1-reactor-preset--glass,.r1-reactor-preset--gradient)
 :is(.r1-reactor-hero__content,.r1-reactor-banner__content,.reactor-fullscreen-slider__text-box,.reactor-wide-slider__text-box){
 background:var(--r1-ps-surface);color:var(--r1-ps-text);
 border:var(--r1-ps-stroke) solid var(--r1-ps-border);
 border-radius:var(--r1-ps-radius);padding:clamp(16px,2.5vw,32px);
}
:is(.r1-reactor-hero-block,.r1-reactor-banner-block,.r1-reactor-fullscreen-slider-block,.r1-reactor-wide-slider-block).r1-reactor-preset--glass
 :is(.r1-reactor-hero__content,.r1-reactor-banner__content,.reactor-fullscreen-slider__text-box,.reactor-wide-slider__text-box){
 -webkit-backdrop-filter:blur(var(--r1-ps-backdrop-blur,16px));backdrop-filter:blur(var(--r1-ps-backdrop-blur,16px));
}
/* The form paints one editable surface using its --r1-form-* fields.
   Presets never override those fields on the frontend. */
/* No complex background on headings; for charts, keep the plot controls readable. */
:is(.r1-reactor-chart-block,.r1-reactor-chart-wrap).r1-reactor-preset--glass .r1-reactor-chart,
:is(.r1-reactor-chart-block,.r1-reactor-chart-wrap).r1-reactor-preset--gradient .r1-reactor-chart{
 background:var(--r1-ps-surface);color:var(--r1-ps-text);
}
.r1-reactor-chart-block.r1-reactor-preset--gradient .r1-reactor-chart :is(.r1-reactor-chart__measure,.r1-reactor-chart__source){color:var(--r1-ps-muted);}
.r1-reactor-chart-block.r1-reactor-preset--gradient .r1-reactor-chart__tick{fill:var(--r1-ps-muted);}
.r1-reactor-chart-block.r1-reactor-preset--gradient .r1-reactor-chart__grid{stroke:rgba(255,255,255,.22);}


/* Active tab colours and data labels are resolved by the same palette variables. */

/* Card links use the same contrasting accent as the surface preset. */
:is([class*="r1-reactor-preset--"]) .r1-reactor-team__socials a{color:var(--r1-ps-accent);}


/* Unified Target Style Adapter — full Background / Border / Typography controls.
 * Only explicitly authored new target values opt into the new declarations.
 * Legacy card colours, presets and dimensions remain unchanged otherwise. */
.r1-has-card-bg-image :is(.r1-reactor-team article,.r1-reactor-testimonials article,.r1-reactor-stats>div,
 .r1-reactor-posts article,.r1-reactor-contact-item,.r1-reactor-trust-trigger,.r1-reactor-work-step,
 .r1-reactor-brand-slider__item,.r1-reactor-logo-grid>a,.r1-reactor-logo-grid>span,
 .r1-reactor-icon-list li,
 .r1-reactor-table-wrap,.r1-reactor-gallery figure,
 .r1-reactor-navigation a){
 background-image:var(--r1-user-ps-card-image)!important;
 background-position:var(--r1-user-ps-card-image-position,center center)!important;
 background-size:var(--r1-user-ps-card-image-size,cover)!important;
 background-repeat:var(--r1-user-ps-card-image-repeat,no-repeat)!important;
}
.r1-has-card-paint :is(.r1-reactor-team article,.r1-reactor-testimonials article,.r1-reactor-stats>div,
 .r1-reactor-posts article,.r1-reactor-contact-item,.r1-reactor-trust-trigger,.r1-reactor-work-step,
 .r1-reactor-brand-slider__item,.r1-reactor-logo-grid>a,.r1-reactor-logo-grid>span,
 .r1-reactor-icon-list li,
 .r1-reactor-table-wrap,.r1-reactor-gallery figure,
 .r1-reactor-navigation a){background:var(--r1-user-ps-card-paint)!important;}
.r1-has-card-radius :is(.r1-reactor-team article,.r1-reactor-testimonials article,.r1-reactor-stats>div,
 .r1-reactor-posts article,.r1-reactor-contact-item,.r1-reactor-trust-trigger,.r1-reactor-work-step,
 .r1-reactor-brand-slider__item,.r1-reactor-logo-grid>a,.r1-reactor-logo-grid>span,
 .r1-reactor-icon-list li,
 .r1-reactor-table-wrap,.r1-reactor-gallery figure,
 .r1-reactor-navigation a){border-radius:var(--r1-user-ps-card-radius)!important;}
.r1-has-card-border-style :is(.r1-reactor-team article,.r1-reactor-testimonials article,.r1-reactor-stats>div,
 .r1-reactor-posts article,.r1-reactor-contact-item,.r1-reactor-trust-trigger,.r1-reactor-work-step,
 .r1-reactor-brand-slider__item,.r1-reactor-logo-grid>a,.r1-reactor-logo-grid>span,
 .r1-reactor-icon-list li,
 .r1-reactor-table-wrap,.r1-reactor-gallery figure,
 .r1-reactor-navigation a){border-style:var(--r1-user-ps-card-border-style)!important;}
/* The custom property fallback chain chooses the relevant schema (inner / legacy
 * trust/steps/contact / quote), but only a corresponding class activates it. */
.r1-has-card-title-size :is(.r1-reactor-posts article h3,.r1-reactor-team article h3,
 .r1-reactor-testimonials article h3,.r1-reactor-stats strong,.r1-reactor-trust-trigger h3,
 .r1-reactor-work-step h3,.r1-reactor-contact-item strong,.r1-reactor-accordion summary,
 .r1-reactor-icon-list strong,.r1-reactor-icon-block h3,
 .r1-reactor-brand-slider__name){
 font-size:var(--r1-user-ps-inner-title-size,var(--r1-user-ps-trust-card-title-size,var(--r1-user-ps-steps-card-title-size,var(--r1-user-ps-contact-card-title-size,var(--r1-user-ps-quote-body-size,inherit)))))!important;
}
.r1-has-card-title-weight :is(.r1-reactor-posts article h3,.r1-reactor-team article h3,.r1-reactor-testimonials article h3,
 .r1-reactor-trust-trigger h3,.r1-reactor-work-step h3,.r1-reactor-icon-block h3){font-weight:var(--r1-user-ps-inner-title-weight,var(--r1-user-ps-trust-card-title-weight,var(--r1-user-ps-steps-card-title-weight,var(--r1-user-ps-contact-card-title-weight,var(--r1-user-ps-quote-body-weight,inherit)))))!important;}
.r1-has-card-title-family :is(.r1-reactor-posts article h3,.r1-reactor-team article h3,.r1-reactor-testimonials article h3,
 .r1-reactor-trust-trigger h3,.r1-reactor-work-step h3,.r1-reactor-icon-block h3){font-family:var(--r1-user-ps-inner-title-family,var(--r1-user-ps-trust-card-title-family,var(--r1-user-ps-steps-card-title-family,var(--r1-user-ps-contact-card-title-family,var(--r1-user-ps-quote-body-family,inherit)))))!important;}
.r1-has-card-description-size :is(.r1-reactor-posts article p,.r1-reactor-testimonials article p,
 .r1-reactor-trust-trigger p,.r1-reactor-work-step p,.r1-reactor-icon-list p,.r1-reactor-contact-item p,
 .r1-reactor-accordion .r1-reactor-accordion-answer){
 font-size:var(--r1-user-ps-inner-description-size,var(--r1-user-ps-trust-card-description-size,var(--r1-user-ps-steps-card-description-size,var(--r1-user-ps-contact-card-description-size,var(--r1-user-ps-quote-author-size,inherit)))))!important;}
@media(max-width:1024px){
 .r1-has-card-title-size :is(.r1-reactor-posts article h3,.r1-reactor-team article h3,.r1-reactor-testimonials article h3,.r1-reactor-trust-trigger h3,.r1-reactor-work-step h3,.r1-reactor-icon-block h3){font-size:var(--r1-user-ps-inner-title-size-tablet,var(--r1-user-ps-trust-card-title-size-tablet,var(--r1-user-ps-steps-card-title-size-tablet,var(--r1-user-ps-contact-card-title-size-tablet,var(--r1-user-ps-inner-title-size,inherit)))))!important;}
 .r1-has-card-description-size :is(.r1-reactor-posts article p,.r1-reactor-testimonials article p,.r1-reactor-trust-trigger p,.r1-reactor-work-step p,.r1-reactor-icon-list p){font-size:var(--r1-user-ps-inner-description-size-tablet,var(--r1-user-ps-trust-card-description-size-tablet,var(--r1-user-ps-steps-card-description-size-tablet,var(--r1-user-ps-contact-card-description-size-tablet,var(--r1-user-ps-inner-description-size,inherit)))))!important;}
}
@media(max-width:767px){
 .r1-has-card-title-size :is(.r1-reactor-posts article h3,.r1-reactor-team article h3,.r1-reactor-testimonials article h3,.r1-reactor-trust-trigger h3,.r1-reactor-work-step h3,.r1-reactor-icon-block h3){font-size:var(--r1-user-ps-inner-title-size-mobile,var(--r1-user-ps-trust-card-title-size-mobile,var(--r1-user-ps-steps-card-title-size-mobile,var(--r1-user-ps-contact-card-title-size-mobile,var(--r1-user-ps-inner-title-size,inherit)))))!important;}
 .r1-has-card-description-size :is(.r1-reactor-posts article p,.r1-reactor-testimonials article p,.r1-reactor-trust-trigger p,.r1-reactor-work-step p,.r1-reactor-icon-list p){font-size:var(--r1-user-ps-inner-description-size-mobile,var(--r1-user-ps-trust-card-description-size-mobile,var(--r1-user-ps-steps-card-description-size-mobile,var(--r1-user-ps-contact-card-description-size-mobile,var(--r1-user-ps-inner-description-size,inherit)))))!important;}
}


/* Complete shared Typography target mapping for actual Reactors' card markup.
 * Keep these declarations opt-in: only authored target fields apply. */
.r1-has-card-title-size :is(.r1-reactor-contact-item__title,
 .r1-reactor-tabs__nav button,.r1-reactor-navigation a,
 .r1-reactor-icon-block__body h3){
 font-size:var(--r1-user-ps-inner-title-size,var(--r1-user-ps-contact-card-title-size,var(--r1-user-ps-quote-body-size,inherit)))!important;
}
.r1-has-card-title-family :is(.r1-reactor-contact-item__title,.r1-reactor-stats strong,
 .r1-reactor-navigation a){
 font-family:var(--r1-user-ps-inner-title-family,var(--r1-user-ps-contact-card-title-family,inherit))!important;
}
.r1-has-card-title-weight :is(.r1-reactor-contact-item__title,.r1-reactor-stats strong,
 .r1-reactor-navigation a){
 font-weight:var(--r1-user-ps-inner-title-weight,var(--r1-user-ps-contact-card-title-weight,inherit))!important;
}
.r1-has-card-description-size :is(.r1-reactor-team article>span,.r1-reactor-team article>p,.r1-reactor-testimonials article footer span,
 .r1-reactor-contact-item__value,.r1-reactor-brand-slider__name,
 .r1-reactor-icon-block__body p){
 font-size:var(--r1-user-ps-inner-description-size,var(--r1-user-ps-contact-card-description-size,var(--r1-user-ps-quote-author-size,inherit)))!important;
}
.r1-has-card-description-family :is(.r1-reactor-posts article p,.r1-reactor-team article p,.r1-reactor-team article>span,
 .r1-reactor-testimonials article footer span,.r1-reactor-contact-item__value,.r1-reactor-trust-trigger p,.r1-reactor-work-step p,
 .r1-reactor-icon-block__body p,.r1-reactor-stats p){
 font-family:var(--r1-user-ps-inner-description-family,var(--r1-user-ps-trust-card-description-family,var(--r1-user-ps-steps-card-description-family,var(--r1-user-ps-contact-card-description-family,var(--r1-user-ps-quote-author-family,inherit)))))!important;
}
.r1-has-card-description-weight :is(.r1-reactor-posts article p,.r1-reactor-team article p,.r1-reactor-team article>span,
 .r1-reactor-testimonials article footer span,.r1-reactor-contact-item__value,.r1-reactor-trust-trigger p,.r1-reactor-work-step p,
 .r1-reactor-icon-block__body p,.r1-reactor-stats p){
 font-weight:var(--r1-user-ps-inner-description-weight,var(--r1-user-ps-trust-card-description-weight,var(--r1-user-ps-steps-card-description-weight,var(--r1-user-ps-contact-card-description-weight,var(--r1-user-ps-quote-author-weight,inherit)))))!important;
}
@media (max-width:1024px){
 .r1-has-card-title-size :is(.r1-reactor-contact-item__title,.r1-reactor-tabs__nav button,.r1-reactor-navigation a){font-size:var(--r1-user-ps-inner-title-size-tablet,var(--r1-user-ps-contact-card-title-size-tablet,var(--r1-user-ps-inner-title-size,var(--r1-user-ps-contact-card-title-size,inherit))))!important;}
 .r1-has-card-description-size :is(.r1-reactor-contact-item__value,.r1-reactor-team article>span,.r1-reactor-team article>p,.r1-reactor-testimonials article footer span){font-size:var(--r1-user-ps-inner-description-size-tablet,var(--r1-user-ps-contact-card-description-size-tablet,var(--r1-user-ps-inner-description-size,var(--r1-user-ps-contact-card-description-size,inherit))))!important;}
}
@media (max-width:767px){
 .r1-has-card-title-size :is(.r1-reactor-contact-item__title,.r1-reactor-tabs__nav button,.r1-reactor-navigation a){font-size:var(--r1-user-ps-inner-title-size-mobile,var(--r1-user-ps-contact-card-title-size-mobile,var(--r1-user-ps-inner-title-size,var(--r1-user-ps-contact-card-title-size,inherit))))!important;}
 .r1-has-card-description-size :is(.r1-reactor-contact-item__value,.r1-reactor-team article>span,.r1-reactor-team article>p,.r1-reactor-testimonials article footer span){font-size:var(--r1-user-ps-inner-description-size-mobile,var(--r1-user-ps-contact-card-description-size-mobile,var(--r1-user-ps-inner-description-size,var(--r1-user-ps-contact-card-description-size,inherit))))!important;}
}

/* Social Links render their anchors with the same editable button contract as Menu.
   Preset recipe defaults live on --r1-social-button-* and a manual field only
   overrides its own property.  The wrapper remains layout-only. */
.r1-reactor-social-links[class*="r1-reactor-preset--"] > a {
 background:var(--r1-social-button-background,var(--r1-ps-surface));
 color:var(--r1-social-button-text-color,var(--r1-ps-text));
 border:var(--r1-social-button-border-width,1px) var(--r1-social-button-border-style,solid) var(--r1-social-button-border-color,var(--r1-ps-border));
 border-radius:var(--r1-social-button-radius,14px);
 box-shadow:var(--r1-social-button-shadow,none);
 font-size:var(--r1-social-button-font-size,inherit);
 font-weight:var(--r1-social-button-font-weight,600);
 line-height:var(--r1-social-button-line-height,inherit);
 letter-spacing:var(--r1-social-button-letter-spacing,normal);
 text-transform:var(--r1-social-button-text-transform,none);
 text-decoration:var(--r1-social-button-text-decoration,none);
 transition:background .18s ease,color .18s ease,border-color .18s ease;
}
.r1-reactor-social-links[class*="r1-reactor-preset--"] > a:is(:hover,:focus-visible) {
 opacity:1;
 background:var(--r1-social-button-hover,var(--r1-ps-hover));
 color:var(--r1-social-button-hover-text,var(--r1-ps-text));
 border-color:var(--r1-social-button-hover-border,var(--r1-social-button-border-color,var(--r1-ps-border)));
}
@media (min-width:768px) and (max-width:1024px){
 .r1-reactor-social-links[class*="r1-reactor-preset--"] > a{font-size:var(--r1-social-button-font-size-tablet,var(--r1-social-button-font-size,inherit));}
}
@media (max-width:767px){
 .r1-reactor-social-links[class*="r1-reactor-preset--"] > a{font-size:var(--r1-social-button-font-size-mobile,var(--r1-social-button-font-size-tablet,var(--r1-social-button-font-size,inherit)));}
}

/* Style properties are opt-in. Without a manual edit the preset remains
 * intact; no empty CSS variable can replace an existing background/shadow. */
html body :is(a.r1rb-designed-button,.r1-reactor-form>button.r1rb-designed-button){box-shadow:var(--r1cb-shadow,none);transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s}
.r1-user-card-bg :is(.r1-reactor-testimonials article,.r1-reactor-team article,.r1-reactor-stats>div,.r1-reactor-icon-list li,.r1-reactor-posts article,.r1-reactor-trust-trigger,.r1-reactor-work-step,.r1-reactor-contact-item){background:var(--r1-user-ps-card-bg)}
.r1-user-card-border :is(.r1-reactor-testimonials article,.r1-reactor-team article,.r1-reactor-stats>div,.r1-reactor-icon-list li,.r1-reactor-posts article,.r1-reactor-trust-trigger,.r1-reactor-work-step,.r1-reactor-contact-item){border-color:var(--r1-user-ps-card-border)}
.r1-user-card-width :is(.r1-reactor-testimonials article,.r1-reactor-team article,.r1-reactor-stats>div,.r1-reactor-icon-list li,.r1-reactor-posts article,.r1-reactor-trust-trigger,.r1-reactor-work-step,.r1-reactor-contact-item){border-width:var(--r1-user-ps-card-width)}
.r1-user-card-radius :is(.r1-reactor-testimonials article,.r1-reactor-team article,.r1-reactor-stats>div,.r1-reactor-icon-list li,.r1-reactor-posts article,.r1-reactor-trust-trigger,.r1-reactor-work-step,.r1-reactor-contact-item){border-radius:var(--r1-user-ps-card-radius)}
.r1-user-card-shadow :is(.r1-reactor-testimonials article,.r1-reactor-team article,.r1-reactor-stats>div,.r1-reactor-icon-list li,.r1-reactor-posts article,.r1-reactor-trust-trigger,.r1-reactor-work-step,.r1-reactor-contact-item){box-shadow:var(--r1-user-ps-shadow)}
.r1-reactor-social-links :is(a,button){box-shadow:var(--r1-social-button-shadow,var(--r1-ps-shadow,none))}
.r1-reactor-navigation .r1-reactor-nav-menu>li>a{box-shadow:var(--r1-nav-shadow,var(--r1-ps-shadow,none))}

/* Native Gutenberg Button consumes the same Appearance shadow recipe as all
 * other buttons. A chosen non-none preset is visible in the live preview. */
html body .r1-reactor-buttons .wp-block-button__link{box-shadow:var(--r1-button-shadow,none)}

/* Universal panel.button.appearance — single CSS owner for brand and manual-logo tiles.
 * Placed after preset rules so a saved user color always wins, even for Basic. */
:is(.r1-reactor-brand-slider,.r1-reactor-logo-grid) .r1-reactor-brand-slider__item,
.r1-reactor-logo-grid > :is(a,span){
 background:var(--r1-brand-button-bg,var(--r1-ps-surface,#fff));
 border-color:var(--r1-brand-button-border,var(--r1-ps-border,#E5E8EF));
 border-width:var(--r1-brand-button-width,var(--r1-ps-stroke,1px));
 border-style:var(--r1-brand-button-style,solid);
 border-radius:var(--r1-brand-button-radius,var(--r1-ps-radius,14px));
 box-shadow:var(--r1-brand-button-shadow,var(--r1-ps-shadow,none));
}
:is(.r1-reactor-brand-slider,.r1-reactor-logo-grid) .r1-reactor-brand-slider__item:is(a[href]):hover,
.r1-reactor-logo-grid > a[href]:hover{
 background:var(--r1-brand-button-hover-bg,var(--r1-brand-button-bg,var(--r1-ps-hover,var(--r1-ps-surface,#fff))));
 border-color:var(--r1-brand-button-hover-border,var(--r1-brand-button-border,var(--r1-ps-border,#E5E8EF)));
}
/* Logo links remain readable and undecorated in grid mode too. */
.r1-reactor-logo-grid > :is(a,span){
 color:var(--r1-ps-text,var(--r1-text,#111827));text-decoration:none;
}

/* 3.3.145 — One native tab UI on both the published page and canvas.
   No presets: the shared Border radius, stroke and colour are the sole design inputs. */
:is(.r1-reactor-tabs,.r1rb-builder-tabs-layout){
 --r1-tabs-stroke:var(--r1-tabs-border-width,1px);
 --r1-tabs-line:var(--r1-tabs-border-style,solid);
 --r1-tabs-border:var(--r1-tabs-border-color,#CDD5DD);
 --r1-tabs-radius-shared:var(--r1-tabs-radius,14px);
 --r1-tabs-radius-buttons:var(--r1-tabs-radius-shared);
 --r1-tabs-radius-panel:var(--r1-tabs-radius-shared);
 --r1-tabs-inactive:#F3F5F7;
 --r1-tabs-over:#EBF0F2;
 --r1-tabs-panel-paint:var(--r1-tabs-surface,#FFFFFF);
 --r1-tabs-selected-text:var(--r1-primary,#0A95AE);
 --r1-tabs-surface-shadow:var(--r1-tabs-shadow,none);
}
/* All headers have only the upper corners rounded and form one shared rail. */
.r1-reactor-tabs > .r1-reactor-tabs__nav,
#r1rb-layout-canvas .r1rb-builder-tabs-layout > .r1rb-builder-tabs-nav{
 display:flex;align-items:flex-end;flex-wrap:nowrap;gap:0;padding:0;
 margin:0;border:0;overflow:visible;position:relative;z-index:2;
}
.r1-reactor-tabs > .r1-reactor-tabs__nav > button,
#r1rb-layout-canvas .r1rb-builder-tabs-layout > .r1rb-builder-tabs-nav > button.button{
 appearance:none;position:relative;box-sizing:border-box;flex:0 0 auto;
 border:var(--r1-tabs-stroke) var(--r1-tabs-line) var(--r1-tabs-border);
 border-radius:var(--r1-tabs-radius-buttons);
 border-bottom-left-radius:0;border-bottom-right-radius:0;
 background:var(--r1-tabs-inactive);color:#26303A;
 padding:10px 16px;min-height:36px;margin:0;font:inherit;font-weight:600;
 cursor:pointer;box-shadow:none;
 transition:background-color .15s,border-color .15s,color .15s;
}
/* 3.3.160 — Horizontal tabs share ONE border along the join.
   The content panel owns the top stroke. Header buttons must not draw a second
   bottom stroke over it. The active header masks that single stroke using the
   existing ::after bridge. Vertical geometry retains its independent seam. */
.r1-reactor-tabs:not(.is-vertical) > .r1-reactor-tabs__nav > button,
#r1rb-layout-canvas .r1rb-builder-tabs-layout:not(.is-vertical) > .r1rb-builder-tabs-nav > button.button{
 border-bottom-width:0;
}
.r1-reactor-tabs > .r1-reactor-tabs__nav > button + button,
#r1rb-layout-canvas .r1rb-builder-tabs-layout > .r1rb-builder-tabs-nav > button.button + button.button{
 margin-left:calc(-1 * var(--r1-tabs-stroke));
}
.r1-reactor-tabs > .r1-reactor-tabs__nav > button:hover,
#r1rb-layout-canvas .r1rb-builder-tabs-layout > .r1rb-builder-tabs-nav > button.button:hover{
 background:var(--r1-tabs-over);
}
.r1-reactor-tabs > .r1-reactor-tabs__nav > button[aria-selected="true"],
#r1rb-layout-canvas .r1rb-builder-tabs-layout > .r1rb-builder-tabs-nav > button.button[aria-selected="true"]{
 background:var(--r1-tabs-panel-paint);color:var(--r1-tabs-selected-text);
 border-bottom-color:transparent;margin-bottom:calc(-1 * var(--r1-tabs-stroke));
 z-index:3;
}
/* Paint over the panel's top stroke under the active tab: no double line. */
.r1-reactor-tabs > .r1-reactor-tabs__nav > button[aria-selected="true"]::after,
#r1rb-layout-canvas .r1rb-builder-tabs-layout > .r1rb-builder-tabs-nav > button.button[aria-selected="true"]::after{
 content:"";position:absolute;pointer-events:none;left:0;right:0;
 bottom:calc(-1 * var(--r1-tabs-stroke));height:calc(var(--r1-tabs-stroke) + 2px);
 background:var(--r1-tabs-panel-paint);
}
.r1-reactor-tabs > .r1-reactor-tabs__panel,
#r1rb-layout-canvas .r1rb-builder-tabs-layout > .r1rb-builder-tabs-panels{
 min-width:0;box-sizing:border-box;position:relative;
 background:var(--r1-tabs-panel-paint);
 border:var(--r1-tabs-stroke) var(--r1-tabs-line) var(--r1-tabs-border);
 border-radius:var(--r1-tabs-radius-panel);
 box-shadow:var(--r1-tabs-surface-shadow);
}
/* Tab rail meets the panel along its FULL edge, regardless of the active tab.
   Corner geometry belongs to the rail alignment — never to [aria-selected].
   Otherwise changing the selected tab reintroduces a rounded gap at the seam. */
.r1-reactor-tabs.is-align-start:not(.is-vertical) > .r1-reactor-tabs__panel,
#r1rb-layout-canvas .r1rb-builder-tabs-layout.is-align-start:not(.is-vertical) > .r1rb-builder-tabs-panels{
 border-top-left-radius:0;
}
.r1-reactor-tabs.is-align-end:not(.is-vertical) > .r1-reactor-tabs__panel,
#r1rb-layout-canvas .r1rb-builder-tabs-layout.is-align-end:not(.is-vertical) > .r1rb-builder-tabs-panels{
 border-top-right-radius:0;
}
/* The vertical rail also touches the panel at its upper-left corner. */
.r1-reactor-tabs.is-vertical > .r1-reactor-tabs__panel,
#r1rb-layout-canvas .r1rb-builder-tabs-layout.is-vertical > .r1rb-builder-tabs-panels{
 border-top-left-radius:0;
}
.r1-reactor-tabs > .r1-reactor-tabs__panel{padding:18px;}
#r1rb-layout-canvas .r1rb-builder-tabs-layout > .r1rb-builder-tabs-panels{padding:0;}
/* Standard typography role belongs to tab labels, not inner child blocks. */
.r1-reactor-tabs-block.r1-has-card-title-weight .r1-reactor-tabs__nav button{font-weight:var(--r1-user-ps-inner-title-weight,600)!important;}
.r1-reactor-tabs-block.r1-has-card-title-family .r1-reactor-tabs__nav button{font-family:var(--r1-user-ps-inner-title-family,inherit)!important;}
/* 3.3.147 — vertical tabs are one continuous rail, not independent rounded
   buttons. Geometry is shared by the published block and Builder canvas. */
:is(.r1-reactor-tabs,.r1rb-builder-tabs-layout).is-vertical{
 column-gap:0;align-items:stretch;
}
.r1-reactor-tabs.is-vertical > .r1-reactor-tabs__nav,
#r1rb-layout-canvas .r1rb-builder-tabs-layout.is-vertical > .r1rb-builder-tabs-nav{
 flex-direction:column;align-items:stretch;gap:0;min-width:0;
 padding:0;margin:0;border:0;overflow:visible;
}
.r1-reactor-tabs.is-vertical > .r1-reactor-tabs__nav > button,
#r1rb-layout-canvas .r1rb-builder-tabs-layout.is-vertical > .r1rb-builder-tabs-nav > button.button{
 display:flex;align-items:center;flex:0 0 auto;box-sizing:border-box;
 width:100%;min-width:0;min-height:44px;padding:10px 16px;
 text-align:left;line-height:1.3;white-space:normal;overflow-wrap:anywhere;
 border:var(--r1-tabs-stroke) var(--r1-tabs-line) var(--r1-tabs-border);
 /* The panel owns the shared vertical seam. Do not paint a second stroke. */
 border-right-width:0;
 border-radius:0;margin:0;box-shadow:none;
}
/* Preserve the shared library radius while drawing only the TWO outer
   left corners. Middle buttons have no independently rounded corners. */
.r1-reactor-tabs.is-vertical > .r1-reactor-tabs__nav > button:first-child,
#r1rb-layout-canvas .r1rb-builder-tabs-layout.is-vertical > .r1rb-builder-tabs-nav > button.button:first-child{
 border-radius:var(--r1-tabs-radius-buttons);
 border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:0;
}
.r1-reactor-tabs.is-vertical > .r1-reactor-tabs__nav > button:last-child,
#r1rb-layout-canvas .r1rb-builder-tabs-layout.is-vertical > .r1rb-builder-tabs-nav > button.button:last-child{
 border-radius:var(--r1-tabs-radius-buttons);
 border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:0;
}
.r1-reactor-tabs.is-vertical > .r1-reactor-tabs__nav > button:only-child,
#r1rb-layout-canvas .r1rb-builder-tabs-layout.is-vertical > .r1rb-builder-tabs-nav > button.button:only-child{
 border-radius:var(--r1-tabs-radius-buttons);
 border-top-right-radius:0;border-bottom-right-radius:0;
}
.r1-reactor-tabs.is-vertical > .r1-reactor-tabs__nav > button + button,
#r1rb-layout-canvas .r1rb-builder-tabs-layout.is-vertical > .r1rb-builder-tabs-nav > button.button + button.button{
 margin:calc(-1 * var(--r1-tabs-stroke)) 0 0;
}
.r1-reactor-tabs.is-vertical > .r1-reactor-tabs__nav > button[aria-selected="true"],
#r1rb-layout-canvas .r1rb-builder-tabs-layout.is-vertical > .r1rb-builder-tabs-nav > button.button[aria-selected="true"]{
 background:var(--r1-tabs-panel-paint);color:var(--r1-tabs-selected-text);
 border-bottom-color:var(--r1-tabs-border);border-right-color:transparent;
 margin-bottom:0;margin-right:calc(-1 * var(--r1-tabs-stroke));z-index:3;
}
.r1-reactor-tabs.is-vertical > .r1-reactor-tabs__nav > button[aria-selected="true"]::after,
#r1rb-layout-canvas .r1rb-builder-tabs-layout.is-vertical > .r1rb-builder-tabs-nav > button.button[aria-selected="true"]::after{
 left:auto;right:calc(-1 * var(--r1-tabs-stroke));top:0;bottom:0;
 width:calc(var(--r1-tabs-stroke) + 2px);height:auto;
}
/* A full-height panel makes the two sides meet at the same top and bottom.
   The shared stroke stays visible except behind the selected tab. */
.r1-reactor-tabs.is-vertical > .r1-reactor-tabs__panel,
#r1rb-layout-canvas .r1rb-builder-tabs-layout.is-vertical > .r1rb-builder-tabs-panels{
 align-self:stretch;
}
#r1rb-layout-canvas .r1rb-builder-tabs-layout.is-align-center > .r1rb-builder-tabs-nav{justify-content:center;}
#r1rb-layout-canvas .r1rb-builder-tabs-layout.is-align-end > .r1rb-builder-tabs-nav{justify-content:flex-end;}
/* Tablet/phone preview uses the same horizontal shape as a narrow page. */
@media(max-width:767px){
 .r1-reactor-tabs.is-vertical > .r1-reactor-tabs__nav{
  flex-direction:row;align-items:flex-end;overflow-x:auto;overflow-y:hidden;
 }
 .r1-reactor-tabs.is-vertical > .r1-reactor-tabs__nav > button,
 .r1-reactor-tabs.is-vertical > .r1-reactor-tabs__nav > button:first-child,
 .r1-reactor-tabs.is-vertical > .r1-reactor-tabs__nav > button:last-child,
 .r1-reactor-tabs.is-vertical > .r1-reactor-tabs__nav > button:only-child{
  display:inline-flex;flex:0 0 auto;width:auto;margin:0;
  min-height:36px;text-align:center;
  border-radius:var(--r1-tabs-radius-buttons);
  border-bottom-left-radius:0;border-bottom-right-radius:0;
  border-right-width:var(--r1-tabs-stroke);
  border-right-color:var(--r1-tabs-border);
 }
 .r1-reactor-tabs.is-vertical > .r1-reactor-tabs__nav > button + button{margin-left:calc(-1 * var(--r1-tabs-stroke));}
 .r1-reactor-tabs.is-vertical > .r1-reactor-tabs__nav > button[aria-selected="true"]{
  border-right-color:var(--r1-tabs-border);border-bottom-color:transparent;
  margin-bottom:calc(-1 * var(--r1-tabs-stroke));margin-right:0;
 }
 .r1-reactor-tabs.is-vertical > .r1-reactor-tabs__nav > button[aria-selected="true"]::after{
  top:auto;bottom:calc(-1 * var(--r1-tabs-stroke));left:0;right:0;
  width:auto;height:calc(var(--r1-tabs-stroke) + 2px);
 }
}
/* The Builder's mobile emulator can run inside a wide browser window. */
#r1rb-layout-canvas .r1rb-builder-tabs-layout.is-vertical.is-mobile-preview{
 display:block;
}
#r1rb-layout-canvas .r1rb-builder-tabs-layout.is-vertical.is-mobile-preview > .r1rb-builder-tabs-nav{
 flex-direction:row;align-items:flex-end;overflow-x:auto;overflow-y:hidden;
}
#r1rb-layout-canvas .r1rb-builder-tabs-layout.is-vertical.is-mobile-preview > .r1rb-builder-tabs-nav > button.button,
#r1rb-layout-canvas .r1rb-builder-tabs-layout.is-vertical.is-mobile-preview > .r1rb-builder-tabs-nav > button.button:first-child,
#r1rb-layout-canvas .r1rb-builder-tabs-layout.is-vertical.is-mobile-preview > .r1rb-builder-tabs-nav > button.button:last-child,
#r1rb-layout-canvas .r1rb-builder-tabs-layout.is-vertical.is-mobile-preview > .r1rb-builder-tabs-nav > button.button:only-child{
 display:inline-flex;flex:0 0 auto;width:auto;min-height:36px;
 margin:0;text-align:center;
 border-radius:var(--r1-tabs-radius-buttons);
 border-bottom-left-radius:0;border-bottom-right-radius:0;
 border-right-width:var(--r1-tabs-stroke);
 border-right-color:var(--r1-tabs-border);
}
#r1rb-layout-canvas .r1rb-builder-tabs-layout.is-vertical.is-mobile-preview > .r1rb-builder-tabs-nav > button.button + button.button{
 margin-left:calc(-1 * var(--r1-tabs-stroke));
}
#r1rb-layout-canvas .r1rb-builder-tabs-layout.is-vertical.is-mobile-preview > .r1rb-builder-tabs-nav > button.button[aria-selected="true"]{
 border-bottom-color:transparent;
 margin:0 0 calc(-1 * var(--r1-tabs-stroke));
}
#r1rb-layout-canvas .r1rb-builder-tabs-layout.is-vertical.is-mobile-preview > .r1rb-builder-tabs-nav > button.button[aria-selected="true"]::after{
 top:auto;bottom:calc(-1 * var(--r1-tabs-stroke));left:0;right:0;
 width:auto;height:calc(var(--r1-tabs-stroke) + 2px);
}



/* 3.3.169: review text and author's position share the one description role.
   Author name continues to use the independent title role. */
.r1-has-card-description-size .r1-reactor-testimonials :is(blockquote,footer span){font-size:var(--r1-user-ps-inner-description-size,inherit)!important;}
.r1-has-card-description-family .r1-reactor-testimonials :is(blockquote,footer span){font-family:var(--r1-user-ps-inner-description-family,inherit)!important;}
.r1-has-card-description-weight .r1-reactor-testimonials :is(blockquote,footer span){font-weight:var(--r1-user-ps-inner-description-weight,inherit)!important;}
@media(max-width:1024px){.r1-has-card-description-size .r1-reactor-testimonials :is(blockquote,footer span){font-size:var(--r1-user-ps-inner-description-size-tablet,var(--r1-user-ps-inner-description-size,inherit))!important;}}
@media(max-width:767px){.r1-has-card-description-size .r1-reactor-testimonials :is(blockquote,footer span){font-size:var(--r1-user-ps-inner-description-size-mobile,var(--r1-user-ps-inner-description-size,inherit))!important;}}

/* Quote has exactly one painted surface. The wrapper owns the preset;
 * the semantic figure is content only, including through common-content. */
.r1-reactor-quote-block[class*="r1-reactor-preset--"]{
 background:var(--r1-ps-surface);color:var(--r1-ps-text);
 border:var(--r1-ps-stroke) solid var(--r1-ps-border);
 border-radius:var(--r1-ps-radius);box-shadow:var(--r1-ps-shadow);
}
.r1-reactor-quote-block .r1-reactor-common-content > .r1-reactor-quote{
 margin:0;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;
}

/* 3.3.169: author NAME alone uses innerTitle; the review and position
   share innerDescription. Earlier title selectors incorrectly styled blockquote. */
.r1-has-card-title-size .r1-reactor-testimonials footer strong{font-size:var(--r1-user-ps-inner-title-size,inherit)!important;}
.r1-has-card-title-family .r1-reactor-testimonials footer strong{font-family:var(--r1-user-ps-inner-title-family,inherit)!important;}
.r1-has-card-title-weight .r1-reactor-testimonials footer strong{font-weight:var(--r1-user-ps-inner-title-weight,inherit)!important;}
@media(max-width:1024px){.r1-has-card-title-size .r1-reactor-testimonials footer strong{font-size:var(--r1-user-ps-inner-title-size-tablet,var(--r1-user-ps-inner-title-size,inherit))!important;}}
@media(max-width:767px){.r1-has-card-title-size .r1-reactor-testimonials footer strong{font-size:var(--r1-user-ps-inner-title-size-mobile,var(--r1-user-ps-inner-title-size,inherit))!important;}}
:is([class*="r1-reactor-preset--"]) .r1-reactor-testimonials article :is(blockquote,footer span){
 color:var(--r1-ps-muted)!important;
}

/* Authored accordion backgrounds remain visible on hover. */
html body .r1-reactor-accordion[class*="r1-reactor-preset--"] > details:hover{background:var(--r1-user-ps-card-bg,var(--r1-ps-hover));}

/* Quote role contract: body and professional title share the same Typography role.
 * Author alone uses quoteAuthor. This scope supersedes obsolete generic
 * figcaption/description rules without changing typography of other blocks. */
.r1-reactor-quote-block .r1-reactor-quote :is(blockquote,figcaption > span){
  font-family:var(--r1-user-ps-quote-body-family,inherit)!important;
  font-size:var(--r1-user-ps-quote-body-size,inherit)!important;
  font-weight:var(--r1-user-ps-quote-body-weight,inherit)!important;
  line-height:var(--r1-user-ps-quote-body-line-height,inherit)!important;
  letter-spacing:var(--r1-user-ps-quote-body-letter-spacing,normal)!important;
  text-transform:var(--r1-user-ps-quote-body-text-transform,none)!important;
  text-decoration:var(--r1-user-ps-quote-body-text-decoration,none)!important;
  color:var(--r1-user-ps-quote-body-color,var(--r1-ps-text,#26303A))!important;
}
.r1-reactor-quote-block .r1-reactor-quote figcaption > strong{
  font-family:var(--r1-user-ps-quote-author-family,inherit)!important;
  font-size:var(--r1-user-ps-quote-author-size,inherit)!important;
  font-weight:var(--r1-user-ps-quote-author-weight,700)!important;
  color:var(--r1-user-ps-quote-author-color,var(--r1-ps-muted,#667585))!important;
}
/* wpautop() nests paragraphs in blockquote; theme p rules must not break the role. */
.r1-reactor-quote-block .r1-reactor-quote blockquote > p{
  margin:0;
  font-family:inherit!important;
  font-size:inherit!important;
  font-weight:inherit!important;
  line-height:inherit!important;
  letter-spacing:inherit!important;
  color:inherit!important;
  text-transform:inherit!important;
  text-decoration:inherit!important;
}
/* Paragraph breaks remain meaningful inside a multi-paragraph quotation. */
.r1-reactor-quote-block .r1-reactor-quote blockquote > p + p{margin-top:1em;}
@media(max-width:1024px){
  .r1-reactor-quote-block .r1-reactor-quote :is(blockquote,figcaption > span){font-size:var(--r1-user-ps-quote-body-size-tablet,var(--r1-user-ps-quote-body-size,inherit))!important;}
  .r1-reactor-quote-block .r1-reactor-quote figcaption > strong{font-size:var(--r1-user-ps-quote-author-size-tablet,var(--r1-user-ps-quote-author-size,inherit))!important;}
}
@media(max-width:767px){
  .r1-reactor-quote-block .r1-reactor-quote :is(blockquote,figcaption > span){font-size:var(--r1-user-ps-quote-body-size-mobile,var(--r1-user-ps-quote-body-size-tablet,var(--r1-user-ps-quote-body-size,inherit)))!important;}
  .r1-reactor-quote-block .r1-reactor-quote figcaption > strong{font-size:var(--r1-user-ps-quote-author-size-mobile,var(--r1-user-ps-quote-author-size-tablet,var(--r1-user-ps-quote-author-size,inherit)))!important;}
}

/* Unified panel.card appearance on table cells (not the outer layout wrapper). */
.r1-reactor-table-block.r1-user-card-bg .r1-reactor-table-wrap{background:var(--r1-user-ps-card-bg)}
.r1-reactor-table-block.r1-user-card-border .r1-reactor-table-wrap{border-color:var(--r1-user-ps-card-border)}
.r1-reactor-table-block.r1-user-card-width .r1-reactor-table-wrap{border-width:var(--r1-user-ps-card-width)}
.r1-reactor-table-block.r1-user-card-radius .r1-reactor-table-wrap{border-radius:var(--r1-user-ps-card-radius-corners,var(--r1-user-ps-card-radius,12px))}
.r1-reactor-table-block.r1-user-card-shadow .r1-reactor-table-wrap{box-shadow:var(--r1-user-ps-shadow)}

/* 3.3.173: Shared panel.card styles the GALLERY IMAGES (not the
 * gallery layout wrapper). The original galleryRadius remains the
 * default; explicitly authored appearance settings take precedence. */
html body .r1-reactor-block.r1-user-card-bg .r1-reactor-gallery figure,
html body .r1-reactor-block.r1-user-card-bg .r1-gallery-thumbs-stage{
 background:var(--r1-user-ps-card-bg);
}
html body .r1-reactor-block.r1-user-card-border .r1-reactor-gallery figure,
html body .r1-reactor-block.r1-user-card-border .r1-gallery-thumbs-stage{
 border-color:var(--r1-user-ps-card-border);
 border-style:var(--r1-user-ps-card-border-style,solid);
}
html body .r1-reactor-block.r1-user-card-width .r1-reactor-gallery figure,
html body .r1-reactor-block.r1-user-card-width .r1-gallery-thumbs-stage{
 border-width:var(--r1-user-ps-card-width);
 border-style:var(--r1-user-ps-card-border-style,solid);
}
html body .r1-reactor-block.r1-user-card-radius .r1-reactor-gallery figure,
html body .r1-reactor-block.r1-user-card-radius .r1-gallery-thumbs-stage{
 border-radius:var(--r1-user-ps-card-radius-corners,var(--r1-user-ps-card-radius,14px)) !important;
}
html body .r1-reactor-block.r1-user-card-shadow .r1-reactor-gallery figure,
html body .r1-reactor-block.r1-user-card-shadow .r1-gallery-thumbs-stage{
 box-shadow:var(--r1-user-ps-shadow);
}
/* Keep rounded image/link corners matched to the styled tile. */
html body .r1-reactor-block.r1-user-card-radius .r1-reactor-gallery figure :is(img,a,.r1-reactor-gallery__link){
 border-radius:inherit !important;
}
