.elementor-kit-9{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-9 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* Microsite Kit v1, Global CSS */

/* A1) Token layer (:root variables) */
:root{
  /* Colour tokens */
  --pc-accent: #2563eb;          /* Required per microsite */
  --pc-accent-2: #0f766e;        /* Optional per microsite */
  --pc-bg: #ffffff;              /* Optional per microsite */
  --pc-text: #0f172a;            /* Optional per microsite */

  --pc-muted: #475569;
  --pc-border: #e2e8f0;
  --pc-focus: #ffbf47;           /* High-visibility focus ring colour */

  --pc-surface: #ffffff;
  --pc-surface-2: #f8fafc;

  --pc-info-bg: #eff6ff;
  --pc-warning: #b45309;
  --pc-warning-bg: #fff7ed;

  /* Spacing scale */
  --pc-space-1: 0.25rem;
  --pc-space-2: 0.5rem;
  --pc-space-3: 0.75rem;
  --pc-space-4: 1rem;
  --pc-space-5: 1.5rem;
  --pc-space-6: 2rem;
  --pc-space-7: 3rem;
  --pc-space-8: 4rem;

  /* Radii */
  --pc-radius-1: 0.375rem;
  --pc-radius-2: 0.75rem;
  --pc-radius-3: 1rem;
  --pc-radius-pill: 999px;

  /* Typography */
  --pc-font-sans: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, "Noto Sans", "Liberation Sans", sans-serif;

  --pc-text-xs: clamp(0.8125rem, 0.79rem + 0.1vw, 0.875rem);
  --pc-text-sm: clamp(0.875rem, 0.85rem + 0.2vw, 0.95rem);
  --pc-text-md: clamp(1rem, 0.98rem + 0.25vw, 1.125rem);
  --pc-text-lg: clamp(1.125rem, 1.05rem + 0.6vw, 1.375rem);
  --pc-text-xl: clamp(1.375rem, 1.2rem + 1vw, 1.875rem);
  --pc-text-2xl: clamp(1.75rem, 1.45rem + 1.6vw, 2.5rem);

  --pc-lh-tight: 1.15;
  --pc-lh-normal: 1.55;
  --pc-lh-loose: 1.75;

  /* Shadows */
  --pc-shadow-1: 0 1px 2px rgba(15, 23, 42, 0.08);
  --pc-shadow-2: 0 10px 28px rgba(15, 23, 42, 0.14);

  /* Max width tokens */
  --pc-max-w: 72rem;
  --pc-max-w-narrow: 60rem;

  /* Layout tokens */
  --pc-gutter: clamp(1rem, 4vw, 2rem);

  /* Focus ring tokens */
  --pc-ring: 0 0 0 3px rgba(255, 191, 71, 0.55);
  --pc-ring-strong: 0 0 0 4px rgba(255, 191, 71, 0.7);
}

/* Optional modern token derivations.
   This makes --pc-muted and --pc-border adapt automatically if you override --pc-bg or --pc-text. */
@supports (color: color-mix(in srgb, black, white)) {
  :root{
    --pc-surface: var(--pc-bg);
    --pc-surface-2: color-mix(in srgb, var(--pc-bg) 92%, var(--pc-text));
    --pc-muted: color-mix(in srgb, var(--pc-text) 68%, var(--pc-bg));
    --pc-border: color-mix(in srgb, var(--pc-text) 14%, var(--pc-bg));
    --pc-info-bg: color-mix(in srgb, var(--pc-accent) 10%, var(--pc-bg));
    --pc-warning-bg: color-mix(in srgb, #f59e0b 10%, var(--pc-bg));
  }
}

/* A2) Layout primitives (Elementor-safe) */
.pc-scope{
  font-family: var(--pc-font-sans);
  color: var(--pc-text);
  font-size: var(--pc-text-md);
  line-height: var(--pc-lh-normal);
  text-rendering: optimizeLegibility;
  -webkit-text-size-adjust: 100%;
}

.pc-scope,
.pc-scope *{
  box-sizing: border-box;
}

.pc-scope h2,
.pc-scope h3,
.pc-scope h4{
  margin: 0;
  line-height: var(--pc-lh-tight);
  letter-spacing: -0.01em;
}

.pc-scope h2{ font-size: var(--pc-text-xl); }
.pc-scope h3{ font-size: var(--pc-text-lg); }
.pc-scope h4{ font-size: var(--pc-text-md); }

.pc-display{
  font-size: var(--pc-text-2xl);
  line-height: var(--pc-lh-tight);
}

.pc-scope p,
.pc-scope ul,
.pc-scope ol{
  margin: 0;
}

.pc-scope ul,
.pc-scope ol{
  padding-left: 1.25em;
}

.pc-scope li + li{
  margin-top: var(--pc-space-2);
}

.pc-scope a{
  color: var(--pc-accent);
  text-decoration: underline;
  text-underline-offset: 0.14em;
}

.pc-scope a:hover{
  text-decoration-thickness: 0.12em;
}

.pc-container{
  width: 100%;
  max-width: var(--pc-max-w);
  margin-inline: auto;
  padding-inline: var(--pc-gutter);
}

.pc-stack{
  display: flex;
  flex-direction: column;
  gap: var(--pc-stack-gap, var(--pc-space-4));
}

.pc-grid{
  display: grid;
  gap: var(--pc-grid-gap, var(--pc-space-4));
  grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--pc-grid-min, 16rem)), 1fr));
}

.pc-divider{
  height: 0;
  border: 0;
  border-top: 1px solid var(--pc-border);
  margin: var(--pc-space-6) 0;
}

.pc-section{
  padding-block: var(--pc-section-pad, var(--pc-space-7));
}

.pc-section--hero{
  padding-block: clamp(2.5rem, 6vw, 5rem);
  background: var(--pc-surface-2);
  border-bottom: 1px solid var(--pc-border);
}

.pc-lead{
  font-size: var(--pc-text-lg);
  color: var(--pc-muted);
  line-height: var(--pc-lh-loose);
}

.pc-small{
  font-size: var(--pc-text-xs);
  color: var(--pc-muted);
  line-height: var(--pc-lh-loose);
}

/* A3) Components */

/* a) Buttons */
.pc-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--pc-space-2);
  padding: 0.8rem 1.1rem;
  border-radius: var(--pc-radius-1);
  border: 1px solid transparent;
  font-weight: 700;
  font-size: var(--pc-text-sm);
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
  user-select: none;
  white-space: nowrap;
  transition: transform 120ms ease, box-shadow 120ms ease, background-color 120ms ease, border-color 120ms ease, color 120ms ease, filter 120ms ease;
}

.pc-btn--primary{
  background: var(--pc-accent);
  border-color: var(--pc-accent);
  color: #ffffff;
}

.pc-btn--secondary{
  background: transparent;
  border-color: var(--pc-accent);
  color: var(--pc-accent);
}

.pc-btn:hover{
  transform: translateY(-1px);
  box-shadow: var(--pc-shadow-1);
}

.pc-btn--primary:hover{
  filter: brightness(0.95);
}

.pc-btn--secondary:hover{
  background: rgba(37, 99, 235, 0.08);
}

@supports (color: color-mix(in srgb, black, white)) {
  .pc-btn--secondary:hover{
    background: color-mix(in srgb, var(--pc-accent) 10%, transparent);
  }
}

.pc-btn:active{
  transform: translateY(0);
  box-shadow: none;
}

.pc-btn[aria-disabled="true"],
.pc-btn:disabled{
  opacity: 0.55;
  cursor: not-allowed;
  pointer-events: none;
}

/* b) Cards */
.pc-card{
  background: var(--pc-surface);
  border: 1px solid var(--pc-border);
  border-radius: var(--pc-radius-2);
  padding: var(--pc-space-5);
  box-shadow: var(--pc-shadow-1);
}

.pc-card__title{
  margin: 0;
  font-size: var(--pc-text-lg);
  line-height: var(--pc-lh-tight);
}

.pc-card__text{
  margin: 0;
  color: var(--pc-muted);
  font-size: var(--pc-text-sm);
  line-height: var(--pc-lh-loose);
}

/* c) Links */
.pc-link{
  color: var(--pc-accent);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 0.14em;
}

.pc-link:hover{
  text-decoration-thickness: 0.12em;
}

/* d) Callouts */
.pc-callout{
  background: var(--pc-surface-2);
  border: 1px solid var(--pc-border);
  border-radius: var(--pc-radius-2);
  padding: var(--pc-space-5);
}

.pc-callout--info{
  background: var(--pc-info-bg);
  border-left: 4px solid var(--pc-accent);
}

.pc-callout--warning{
  background: var(--pc-warning-bg);
  border-left: 4px solid var(--pc-warning);
}

/* e) FAQ basics (details/summary friendly) */
.pc-faq{
  background: var(--pc-surface);
  border: 1px solid var(--pc-border);
  border-radius: var(--pc-radius-2);
  overflow: hidden;
}

.pc-faq details{
  border-top: 1px solid var(--pc-border);
}

.pc-faq details:first-child{
  border-top: 0;
}

.pc-faq__q{
  list-style: none;
  cursor: pointer;
  padding: var(--pc-space-4) var(--pc-space-5);
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: var(--pc-space-3);
}

.pc-faq__q::-webkit-details-marker{
  display: none;
}

.pc-faq__q::after{
  content: "+";
  margin-left: auto;
  font-weight: 900;
  line-height: 1;
}

.pc-faq details[open] > .pc-faq__q::after{
  content: "-";
}

.pc-faq__a{
  padding: 0 var(--pc-space-5) var(--pc-space-5);
  color: var(--pc-muted);
  font-size: var(--pc-text-sm);
  line-height: var(--pc-lh-loose);
}

/* f) Routine steps */
.pc-steps{
  list-style: none;
  padding: 0;
  margin: 0;
  counter-reset: pc-step;
  display: grid;
  gap: var(--pc-space-4);
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
}

.pc-step{
  counter-increment: pc-step;
  position: relative;
  background: var(--pc-surface);
  border: 1px solid var(--pc-border);
  border-radius: var(--pc-radius-2);
  padding: var(--pc-space-5);
  padding-left: calc(var(--pc-space-5) + 2.25rem);
}

.pc-step::before{
  content: counter(pc-step);
  position: absolute;
  top: var(--pc-space-5);
  left: var(--pc-space-5);
  width: 1.5rem;
  height: 1.5rem;
  border-radius: var(--pc-radius-pill);
  background: var(--pc-accent);
  color: #ffffff;
  font-size: var(--pc-text-xs);
  font-weight: 800;
  display: grid;
  place-items: center;
}

.pc-step h3{
  margin: 0;
  font-size: var(--pc-text-lg);
  line-height: var(--pc-lh-tight);
}

.pc-step p{
  margin-top: var(--pc-space-2);
  color: var(--pc-muted);
  font-size: var(--pc-text-sm);
  line-height: var(--pc-lh-loose);
}

/* g) Carousel (CSS-only, snap scrolling) */
.pc-carousel{
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scroll-padding-inline: var(--pc-space-4);
  -webkit-overflow-scrolling: touch;
  padding-bottom: var(--pc-space-2);
}

.pc-carousel__track{
  display: flex;
  gap: var(--pc-space-4);
}

.pc-carousel__item{
  flex: 0 0 min(85%, var(--pc-carousel-item, 22rem));
  scroll-snap-align: start;
}

/* A4) States (hover, focus-visible, active, disabled) */
.pc-btn:focus-visible,
.pc-link:focus-visible,
.pc-faq__q:focus-visible,
.pc-carousel a:focus-visible{
  outline: none;
  box-shadow: var(--pc-ring);
}

.pc-faq__q:focus-visible{
  box-shadow: var(--pc-ring-strong);
}

.pc-scope a:focus-visible{
  outline: none;
  box-shadow: var(--pc-ring);
  border-radius: var(--pc-radius-1);
}

/* A5) Responsive rules (mobile-first) */
@media (min-width: 48rem){
  .pc-card{ padding: var(--pc-space-6); }
  .pc-carousel__item{ flex-basis: min(45%, var(--pc-carousel-item, 22rem)); }
}

@media (min-width: 64rem){
  .pc-carousel__item{ flex-basis: var(--pc-carousel-item, 22rem); }
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce){
  .pc-btn{ transition: none; }
  .pc-btn:hover{ transform: none; }
  .pc-link{ transition: none; }
}/* End custom CSS */